From 4b7a924752b34bc087e9aa3062b9c30a0784a0be Mon Sep 17 00:00:00 2001 From: megboyzz Date: Sun, 30 Mar 2025 18:08:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=20?= =?UTF-8?q?=D1=81=20=D0=BC=D0=B0=D0=BB=D0=B5=D0=BD=D1=8C=D0=BA=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/licenseserver/de.txt | 4 + app/src/main/assets/licenseserver/en.txt | 4 + app/src/main/assets/licenseserver/es.txt | 4 + app/src/main/assets/licenseserver/es_co.txt | 4 + app/src/main/assets/licenseserver/fr.txt | 4 + app/src/main/assets/licenseserver/it.txt | 4 + app/src/main/assets/licenseserver/ja.txt | Bin 0 -> 132 bytes app/src/main/assets/licenseserver/ko.txt | Bin 0 -> 126 bytes app/src/main/assets/licenseserver/pl.txt | Bin 0 -> 224 bytes app/src/main/assets/licenseserver/pt_BR.txt | 4 + app/src/main/assets/licenseserver/ru.txt | Bin 0 -> 264 bytes app/src/main/assets/licenseserver/zh_CN.txt | Bin 0 -> 92 bytes app/src/main/assets/licenseserver/zh_TW.txt | Bin 0 -> 94 bytes app/src/main/assets/obb.size | 1 + .../assets/published/fonts/gothamblack.ttf | Bin 0 -> 47000 bytes .../assets/published/fonts/gothambold.ttf | Bin 0 -> 66028 bytes .../assets/published/fonts/gothamboldita.ttf | Bin 0 -> 48860 bytes .../assets/published/fonts/gothambook.ttf | Bin 0 -> 66804 bytes .../published/fonts/gothambook_mono.ttf | Bin 0 -> 58920 bytes .../published/fonts/hawaiidigitalnumbers.ttf | Bin 0 -> 7216 bytes app/src/main/assets/splash.png | Bin 0 -> 24967 bytes .../java/com/bda/controller/BaseEvent.java | 57 + .../java/com/bda/controller/Constants.java | 22 + .../java/com/bda/controller/Controller.java | 381 +++ .../bda/controller/ControllerListener.java | 10 + .../com/bda/controller/ControllerMonitor.java | 6 + .../bda/controller/IControllerListener.java | 147 ++ .../bda/controller/IControllerMonitor.java | 86 + .../bda/controller/IControllerService.java | 406 +++ .../java/com/bda/controller/KeyEvent.java | 79 + .../java/com/bda/controller/MotionEvent.java | 151 ++ .../java/com/bda/controller/StateEvent.java | 78 + .../java/com/bda/controller/VersionInfo.java | 9 + app/src/main/java/com/ea/EAIO/EAIO.java | 16 + .../java/com/ea/EAMIO/StorageDirectory.java | 42 + .../ea/InAppWebBrowser/BrowserAndroid.java | 180 ++ .../InAppWebBrowserWebViewClient.java | 74 + .../InAppWebBrowser/JavascriptInterface.java | 14 + .../main/java/com/ea/InputMan/InputMan.java | 56 + .../com/ea/eadp/deviceid/DeviceIdService.java | 6 + .../com/ea/eadp/http/models/HttpRequest.java | 38 + .../eadp/http/models/HttpRequestListener.java | 6 + .../com/ea/eadp/http/models/HttpResponse.java | 26 + .../ea/eadp/http/services/HttpService.java | 10 + .../forwarding/GcmBroadcastReceiver.java | 19 + .../forwarding/GcmIntentService.java | 210 ++ .../forwarding/PushBroadcastForwarder.java | 139 ++ .../lifecycles/PushLifecycleCallbacks.java | 47 + .../listeners/IPushListener.java | 12 + .../models/PushNotificationConfig.java | 162 ++ .../services/AndroidPushService.java | 414 +++ .../services/IPushService.java | 30 + .../services/TrackingEvent.java | 27 + .../java/com/ea/ironmonkey/Accelerometer.java | 143 ++ .../com/ea/ironmonkey/BitmapGraphics.java | 61 + .../java/com/ea/ironmonkey/C2DMConstants.java | 16 + .../com/ea/ironmonkey/DownloaderService.java | 19 + .../DownloaderServiceBroadcastReceiver.java | 19 + .../com/ea/ironmonkey/DrawFrameListener.java | 8 + .../com/ea/ironmonkey/GameActivityMain.java | 1388 +++++++++++ .../com/ea/ironmonkey/GameGLSurfaceView.java | 223 ++ .../java/com/ea/ironmonkey/GameRenderer.java | 54 + .../java/com/ea/ironmonkey/GoogleDrm.java | 49 + app/src/main/java/com/ea/ironmonkey/Log.java | 46 + .../com/ea/ironmonkey/MogaController.java | 30 + .../java/com/ea/ironmonkey/ObbActivity.java | 489 ++++ .../java/com/ea/ironmonkey/ObbHelper.java | 14 + .../ea/ironmonkey/PermissionsActivity.java | 132 + .../main/java/com/ea/ironmonkey/RunLoop.java | 57 + .../java/com/ea/ironmonkey/SkuConfig.java | 8 + .../java/com/ea/ironmonkey/SplashScreen.java | 171 ++ .../java/com/ea/ironmonkey/WebActivity.java | 149 ++ .../com/ea/nimble/ApplicationEnvironment.java | 44 + .../ea/nimble/ApplicationEnvironmentImpl.java | 1115 +++++++++ .../com/ea/nimble/ApplicationLifecycle.java | 71 + .../ea/nimble/ApplicationLifecycleImpl.java | 395 +++ .../nimble/BackgroundNetworkConnection.java | 72 + app/src/main/java/com/ea/nimble/Base.java | 52 + app/src/main/java/com/ea/nimble/BaseCore.java | 422 ++++ .../com/ea/nimble/ByteBufferIOStream.java | 284 +++ .../main/java/com/ea/nimble/Component.java | 24 + .../java/com/ea/nimble/ComponentManager.java | 134 + .../java/com/ea/nimble/EASPDataLoader.java | 159 ++ .../main/java/com/ea/nimble/Encryptor.java | 80 + .../ea/nimble/EnvironmentDataContainer.java | 294 +++ app/src/main/java/com/ea/nimble/Error.java | 180 ++ app/src/main/java/com/ea/nimble/Facebook.java | 14 + .../java/com/ea/nimble/FacebookCallback.java | 6 + .../main/java/com/ea/nimble/FacebookImpl.java | 386 +++ app/src/main/java/com/ea/nimble/Global.java | 37 + .../main/java/com/ea/nimble/HttpError.java | 15 + .../main/java/com/ea/nimble/HttpRequest.java | 75 + .../main/java/com/ea/nimble/HttpResponse.java | 81 + .../ea/nimble/IApplicationEnvironment.java | 89 + .../com/ea/nimble/IApplicationLifecycle.java | 134 + .../main/java/com/ea/nimble/IFacebook.java | 44 + .../main/java/com/ea/nimble/IHttpRequest.java | 60 + .../java/com/ea/nimble/IHttpResponse.java | 27 + app/src/main/java/com/ea/nimble/ILog.java | 21 + app/src/main/java/com/ea/nimble/INetwork.java | 24 + .../com/ea/nimble/INimbleBadgeProvider.java | 8 + .../ea/nimble/INimbleLocalNotifications.java | 22 + .../nimble/IOperationalTelemetryDispatch.java | 20 + .../com/ea/nimble/IPersistenceService.java | 17 + .../com/ea/nimble/ISynergyEnvironment.java | 46 + .../java/com/ea/nimble/ISynergyIdManager.java | 12 + .../java/com/ea/nimble/ISynergyNetwork.java | 15 + .../java/com/ea/nimble/ISynergyRequest.java | 23 + .../java/com/ea/nimble/ISynergyResponse.java | 14 + app/src/main/java/com/ea/nimble/Log.java | 113 + app/src/main/java/com/ea/nimble/LogImpl.java | 461 ++++ .../main/java/com/ea/nimble/LogSource.java | 6 + app/src/main/java/com/ea/nimble/Network.java | 112 + .../java/com/ea/nimble/NetworkConnection.java | 591 +++++ .../ea/nimble/NetworkConnectionCallback.java | 6 + .../ea/nimble/NetworkConnectionHandle.java | 24 + .../main/java/com/ea/nimble/NetworkImpl.java | 442 ++++ .../NimbleApplicationConfiguration.java | 95 + .../com/ea/nimble/NimbleConfiguration.java | 51 + .../com/ea/nimble/NimbleFacebookError.java | 34 + .../NimbleLocalNotificationReceiver.java | 67 + .../ea/nimble/NimbleLocalNotifications.java | 20 + .../nimble/NimbleLocalNotificationsImpl.java | 295 +++ .../nimble/OperationalTelemetryDispatch.java | 11 + .../OperationalTelemetryDispatchImpl.java | 227 ++ .../ea/nimble/OperationalTelemetryEvent.java | 15 + .../nimble/OperationalTelemetryEventImpl.java | 41 + .../main/java/com/ea/nimble/Persistence.java | 556 +++++ .../com/ea/nimble/PersistenceService.java | 123 + .../com/ea/nimble/PersistenceServiceImpl.java | 190 ++ app/src/main/java/com/ea/nimble/QA.java | 10 + .../java/com/ea/nimble/ReferrerReceiver.java | 14 + .../com/ea/nimble/SynergyEnvironment.java | 40 + .../com/ea/nimble/SynergyEnvironmentImpl.java | 448 ++++ .../ea/nimble/SynergyEnvironmentUpdater.java | 405 +++ .../java/com/ea/nimble/SynergyIdManager.java | 13 + .../com/ea/nimble/SynergyIdManagerError.java | 34 + .../com/ea/nimble/SynergyIdManagerImpl.java | 239 ++ .../java/com/ea/nimble/SynergyNetwork.java | 10 + .../ea/nimble/SynergyNetworkConnection.java | 251 ++ .../SynergyNetworkConnectionCallback.java | 6 + .../SynergyNetworkConnectionHandle.java | 24 + .../com/ea/nimble/SynergyNetworkImpl.java | 160 ++ .../java/com/ea/nimble/SynergyRequest.java | 135 + .../java/com/ea/nimble/SynergyResponse.java | 72 + .../com/ea/nimble/SynergyServerError.java | 42 + app/src/main/java/com/ea/nimble/Timer.java | 124 + app/src/main/java/com/ea/nimble/Utility.java | 387 +++ app/src/main/java/com/ea/nimble/WebView.java | 81 + .../java/com/ea/nimble/WebViewCallback.java | 6 + .../ea/nimble/bridge/BaseNativeCallback.java | 79 + .../nimble/bridge/FacebookNativeCallback.java | 22 + .../nimble/bridge/FriendsNativeCallback.java | 38 + .../bridge/GoogleServiceRequestCallback.java | 22 + ...dentityGenericAuthenticationConductor.java | 28 + ...ntityMigrationAuthenticationConductor.java | 33 + .../nimble/bridge/IdentityNativeCallback.java | 38 + .../IdentityPlainAuthenticationConductor.java | 26 + .../ea/nimble/bridge/LogNativeCallback.java | 21 + .../ea/nimble/bridge/MTXNativeCallback.java | 37 + .../bridge/NimbleCppApplicationLifeCycle.java | 160 ++ .../bridge/NimbleCppComponentRegistrar.java | 71 + .../nimble/bridge/PushTNGNativeCallback.java | 36 + .../nimble/bridge/WebViewNativeCallback.java | 21 + .../com/ea/nimble/friends/INimbleFriends.java | 9 + .../friends/INimbleOriginFriendsService.java | 34 + .../ea/nimble/friends/NimbleFacebookUser.java | 19 + .../com/ea/nimble/friends/NimbleFriends.java | 12 + .../ea/nimble/friends/NimbleFriendsError.java | 66 + .../ea/nimble/friends/NimbleFriendsImpl.java | 112 + .../ea/nimble/friends/NimbleFriendsList.java | 74 + .../friends/NimbleFriendsListFacebook.java | 103 + .../nimble/friends/NimbleFriendsListImpl.java | 578 +++++ .../friends/NimbleFriendsListOrigin.java | 473 ++++ .../NimbleFriendsRangeRefreshResult.java | 25 + .../NimbleFriendsRefreshBasicInfo.java | 36 + .../friends/NimbleFriendsRefreshCallback.java | 6 + .../NimbleFriendsRefreshIdentityInfo.java | 16 + .../friends/NimbleFriendsRefreshImageUrl.java | 16 + .../friends/NimbleFriendsRefreshResult.java | 24 + .../friends/NimbleFriendsRefreshScope.java | 5 + .../friends/NimbleFriendsServerCodeError.java | 17 + .../nimble/friends/NimbleFriendsUtility.java | 65 + .../friends/NimbleOriginFriendsService.java | 12 + .../NimbleOriginFriendsServiceImpl.java | 1016 ++++++++ .../com/ea/nimble/friends/NimbleUser.java | 201 ++ .../nimble/friends/UserInfoFromIdentity.java | 28 + .../identity/AuthenticatorAnonymous.java | 249 ++ .../ea/nimble/identity/AuthenticatorBase.java | 1294 ++++++++++ .../identity/AuthenticatorFacebook.java | 293 +++ .../nimble/identity/AuthenticatorOrigin.java | 102 + .../ea/nimble/identity/INimbleIdentity.java | 38 + ...NimbleIdentityAuthenticationConductor.java | 5 + .../INimbleIdentityAuthenticator.java | 67 + ...dentityGenericAuthenticationConductor.java | 8 + .../INimbleIdentityGenericLoginResolver.java | 17 + .../INimbleIdentityGenericLogoutResolver.java | 12 + ...ntityMigrationAuthenticationConductor.java | 10 + ...INimbleIdentityMigrationLoginResolver.java | 17 + ...NimbleIdentityMigrationLogoutResolver.java | 12 + ...imbleIdentityPendingMigrationResolver.java | 12 + ...eIdentityPlainAuthenticationConductor.java | 8 + .../ea/nimble/identity/NimbleIdentity.java | 12 + ...dentityAuthenticationConductorHandler.java | 8 + .../nimble/identity/NimbleIdentityConfig.java | 141 ++ .../nimble/identity/NimbleIdentityError.java | 77 + ...GenericAuthenticationConductorHandler.java | 24 + .../NimbleIdentityGenericLoginResolver.java | 53 + .../NimbleIdentityGenericLogoutResolver.java | 39 + .../nimble/identity/NimbleIdentityImpl.java | 609 +++++ .../identity/NimbleIdentityLoginParams.java | 102 + ...grationAuthenticationConductorHandler.java | 100 + .../NimbleIdentityMigrationLoginResolver.java | 49 + .../NimbleIdentityMigrationObject.java | 24 + ...imbleIdentityPendingMigrationResolver.java | 47 + .../identity/NimbleIdentityPersona.java | 408 +++ .../identity/NimbleIdentityPidInfo.java | 232 ++ ...tyPlainAuthenticationConductorHandler.java | 29 + .../nimble/identity/NimbleIdentityToken.java | 83 + .../identity/NimbleIdentityUserInfo.java | 109 + .../identity/NimbleIdentityUtility.java | 101 + .../java/com/ea/nimble/mtx/INimbleMTX.java | 50 + .../com/ea/nimble/mtx/NimbleCatalogItem.java | 32 + .../java/com/ea/nimble/mtx/NimbleMTX.java | 20 + .../com/ea/nimble/mtx/NimbleMTXError.java | 56 + .../ea/nimble/mtx/NimbleMTXTransaction.java | 44 + .../mtx/catalog/synergy/ItemCategory.java | 9 + .../mtx/catalog/synergy/SynergyCatalog.java | 462 ++++ .../catalog/synergy/SynergyCatalogItem.java | 97 + .../ea/nimble/mtx/googleplay/GooglePlay.java | 1957 +++++++++++++++ .../mtx/googleplay/GooglePlayCatalogItem.java | 142 ++ .../mtx/googleplay/GooglePlayError.java | 55 + .../GooglePlayNetworkConnectionCallback.java | 20 + .../mtx/googleplay/GooglePlayTransaction.java | 202 ++ .../ea/nimble/mtx/googleplay/util/Base64.java | 196 ++ .../util/Base64DecoderException.java | 13 + .../mtx/googleplay/util/IabException.java | 28 + .../nimble/mtx/googleplay/util/IabHelper.java | 789 ++++++ .../nimble/mtx/googleplay/util/IabResult.java | 36 + .../nimble/mtx/googleplay/util/Inventory.java | 57 + .../nimble/mtx/googleplay/util/Purchase.java | 119 + .../nimble/mtx/googleplay/util/Security.java | 70 + .../mtx/googleplay/util/SkuDetails.java | 60 + .../com/ea/nimble/pushtng/BuildConfig.java | 11 + .../ea/nimble/pushtng/IPushNotification.java | 17 + .../pushtng/NimbleAndroidHttpRequest.java | 163 ++ .../pushtng/NimbleAndroidHttpResponse.java | 74 + .../pushtng/NimbleAndroidHttpService.java | 19 + .../nimble/pushtng/NimbleDeviceIdService.java | 22 + .../NimblePushTNGBroadcastForwarder.java | 86 + .../NimblePushTNGBroadcastReceiver.java | 13 + .../pushtng/NimblePushTNGIntentService.java | 117 + .../ea/nimble/pushtng/PushNotification.java | 23 + .../nimble/pushtng/PushNotificationImpl.java | 385 +++ .../com/ea/nimble/tracking/ITracking.java | 26 + .../tracking/NimbleTrackingImplBase.java | 821 ++++++ .../tracking/NimbleTrackingS2SComponent.java | 16 + .../tracking/NimbleTrackingS2SImpl.java | 664 +++++ .../NimbleTrackingSynergyComponent.java | 16 + .../tracking/NimbleTrackingSynergyImpl.java | 1010 ++++++++ .../tracking/NimbleTrackingThreadManager.java | 126 + .../tracking/NimbleTrackingThreadProxy.java | 190 ++ .../ea/nimble/tracking/SynergyConstants.java | 268 ++ .../java/com/ea/nimble/tracking/Tracking.java | 124 + .../tracking/TrackingBaseSessionObject.java | 51 + .../tracking/TrackingEventWrangler.java | 272 ++ .../com/ea/nimble/tracking/TrackingS2S.java | 10 + .../ea/nimble/tracking/TrackingSynergy.java | 10 + .../ea/nimble/tracking/TrackingWrangler.java | 140 ++ .../main/java/com/eamobile/ADCTelemetry.java | 309 +++ .../java/com/eamobile/DownloadActivity.java | 49 + .../eamobile/DownloadActivityInternal.java | 2213 +++++++++++++++++ .../main/java/com/eamobile/IDeviceData.java | 8 + .../java/com/eamobile/IDownloadActivity.java | 11 + app/src/main/java/com/eamobile/Language.java | 246 ++ .../main/java/com/eamobile/WifiReceiver.java | 63 + .../com/eamobile/download/AssetManager.java | 654 +++++ .../eamobile/download/ChecksumValidator.java | 44 + .../java/com/eamobile/download/Constants.java | 9 + .../java/com/eamobile/download/Device.java | 33 + .../com/eamobile/download/DeviceData.java | 119 + .../eamobile/download/DownloadFileData.java | 75 + .../eamobile/download/DownloadProgress.java | 91 + .../eamobile/download/IZipExtractorEvent.java | 12 + .../download/LocalZipExtractorEvent.java | 22 + .../com/eamobile/download/LockManager.java | 90 + .../java/com/eamobile/download/Logging.java | 60 + .../com/eamobile/download/MemoryStatus.java | 62 + .../download/RandomAccessFileReadThread.java | 54 + .../com/eamobile/download/ReadThread.java | 55 + .../download/RemoteZipExtractorEvent.java | 34 + .../eamobile/download/SpeedCalculator.java | 41 + .../com/eamobile/download/ZipExtractor.java | 32 + .../ILicenseServerActivityCallback.java | 8 + .../licensing/LicenseServerActivity.java | 264 ++ .../main/java/com/eamobile/licensing/a.java | 48 + .../main/java/com/eamobile/licensing/b.java | 40 + .../main/java/com/eamobile/licensing/c.java | 35 + .../main/java/com/eamobile/licensing/d.java | 41 + .../main/java/com/eamobile/licensing/e.java | 20 + .../main/java/com/eamobile/licensing/f.java | 8 + .../main/java/com/eamobile/licensing/g.java | 199 ++ .../main/java/com/eamobile/licensing/h.java | 24 + .../main/java/com/eamobile/licensing/i.java | 21 + .../main/java/com/eamobile/licensing/j.java | 21 + .../main/java/com/eamobile/licensing/k.java | 21 + .../main/java/com/eamobile/licensing/l.java | 18 + .../main/java/com/eamobile/licensing/m.java | 18 + .../main/java/com/eamobile/licensing/n.java | 20 + .../main/java/com/eamobile/licensing/o.java | 56 + .../main/java/com/eamobile/licensing/p.java | 20 + .../main/java/com/eamobile/licensing/q.java | 63 + .../main/java/com/eamobile/licensing/r.java | 36 + .../main/java/com/eamobile/licensing/s.java | 40 + .../main/java/com/eamobile/licensing/t.java | 40 + .../main/java/com/eamobile/licensing/u.java | 40 + .../main/java/com/eamobile/licensing/v.java | 41 + .../main/java/com/eamobile/licensing/w.java | 41 + .../main/java/com/eamobile/licensing/x.java | 41 + .../main/java/com/eamobile/licensing/y.java | 41 + .../main/java/com/eamobile/licensing/z.java | 44 + .../com/eamobile/views/CheckUpdatesView.java | 98 + .../eamobile/views/CheckingHostIpView.java | 21 + .../eamobile/views/ContactingServerView.java | 74 + .../com/eamobile/views/CustomProgressBar.java | 49 + .../eamobile/views/CustomProgressDialog.java | 335 +++ .../java/com/eamobile/views/CustomView.java | 96 + .../eamobile/views/DefaultProgressDialog.java | 106 + .../eamobile/views/DeletingAssetsView.java | 83 + .../eamobile/views/DownloadFailedView.java | 114 + .../com/eamobile/views/DownloadMsgView.java | 117 + .../eamobile/views/DownloadProgressView.java | 217 ++ .../com/eamobile/views/IDownloadView.java | 8 + .../com/eamobile/views/IProgressDialog.java | 20 + .../views/InvalidAssetVersionView.java | 111 + .../views/NetworkUnavailableView.java | 122 + .../com/eamobile/views/ServerErrorView.java | 114 + .../java/com/eamobile/views/Show3GView.java | 123 + .../java/com/eamobile/views/ShowBGView.java | 48 + .../java/com/eamobile/views/ShowWifiView.java | 140 ++ .../eamobile/views/SpaceUnavailableView.java | 127 + .../eamobile/views/UnSupportedDeviceView.java | 108 + .../com/eamobile/views/UpdatesFoundView.java | 133 + .../main/java/org/fmod/FMODAudioDevice.java | 108 + app/src/main/jniLibs/armeabi-v7a/libNimble.so | Bin 0 -> 13728 bytes app/src/main/jniLibs/armeabi-v7a/libapp.so | Bin 0 -> 11346048 bytes .../main/jniLibs/armeabi-v7a/libc++_shared.so | Bin 0 -> 571240 bytes .../main/jniLibs/armeabi-v7a/libfmodevent.so | Bin 0 -> 356124 bytes app/src/main/jniLibs/armeabi-v7a/libfmodex.so | Bin 0 -> 840924 bytes app/src/main/jniLibs/x86/libNimble.so | Bin 0 -> 5476 bytes app/src/main/jniLibs/x86/libapp.so | Bin 0 -> 13415960 bytes app/src/main/jniLibs/x86/libc++_shared.so | Bin 0 -> 968560 bytes app/src/main/jniLibs/x86/libfmodevent.so | Bin 0 -> 510724 bytes app/src/main/jniLibs/x86/libfmodex.so | Bin 0 -> 1326660 bytes app/src/main/res/drawable-hdpi/icon.png | Bin 0 -> 10690 bytes app/src/main/res/drawable-hdpi/icon_round.png | Bin 0 -> 12060 bytes app/src/main/res/drawable-hdpi/iconb.png | Bin 0 -> 25652 bytes app/src/main/res/drawable-hdpi/iconw.png | Bin 0 -> 24821 bytes app/src/main/res/drawable-ldpi/icon.png | Bin 0 -> 23906 bytes app/src/main/res/drawable-ldpi/icon_round.png | Bin 0 -> 25980 bytes app/src/main/res/drawable-ldpi/iconb.png | Bin 0 -> 8279 bytes app/src/main/res/drawable-ldpi/iconw.png | Bin 0 -> 5879 bytes app/src/main/res/drawable-mdpi/icon.png | Bin 0 -> 5282 bytes app/src/main/res/drawable-mdpi/icon_round.png | Bin 0 -> 6120 bytes app/src/main/res/drawable-mdpi/iconb.png | Bin 0 -> 7807 bytes app/src/main/res/drawable-mdpi/iconw.png | Bin 0 -> 8587 bytes app/src/main/res/drawable-xhdpi/icon.png | Bin 0 -> 17819 bytes .../main/res/drawable-xhdpi/icon_round.png | Bin 0 -> 19407 bytes app/src/main/res/drawable-xhdpi/iconb.png | Bin 0 -> 25652 bytes app/src/main/res/drawable-xhdpi/iconw.png | Bin 0 -> 24821 bytes app/src/main/res/drawable-xxhdpi/icon.png | Bin 0 -> 35923 bytes .../main/res/drawable-xxhdpi/icon_round.png | Bin 0 -> 38644 bytes app/src/main/res/drawable-xxhdpi/iconb.png | Bin 0 -> 25652 bytes app/src/main/res/drawable-xxhdpi/iconw.png | Bin 0 -> 24821 bytes app/src/main/res/drawable-xxxhdpi/icon.png | Bin 0 -> 59743 bytes .../main/res/drawable-xxxhdpi/icon_round.png | Bin 0 -> 63251 bytes app/src/main/res/drawable-xxxhdpi/iconb.png | Bin 0 -> 25652 bytes app/src/main/res/drawable-xxxhdpi/iconw.png | Bin 0 -> 24821 bytes app/src/main/res/drawable/icon.png | Bin 0 -> 10690 bytes app/src/main/res/drawable/icon_round.png | Bin 0 -> 12060 bytes app/src/main/res/drawable/iconb.png | Bin 0 -> 25652 bytes app/src/main/res/drawable/iconw.png | Bin 0 -> 24821 bytes app/src/main/res/layout/webview.xml | 45 + .../res/mipmap-anydpi-v26/adaptive_icon.xml | 5 + .../mipmap-anydpi-v26/adaptive_icon_round.xml | 5 + .../main/res/mipmap-hdpi/adaptive_icon.png | Bin 0 -> 7447 bytes .../mipmap-hdpi/adaptive_icon_background.png | Bin 0 -> 19399 bytes .../mipmap-hdpi/adaptive_icon_foreground.png | Bin 0 -> 3263 bytes .../res/mipmap-hdpi/adaptive_icon_round.png | Bin 0 -> 9823 bytes .../main/res/mipmap-mdpi/adaptive_icon.png | Bin 0 -> 3768 bytes .../mipmap-mdpi/adaptive_icon_background.png | Bin 0 -> 9323 bytes .../mipmap-mdpi/adaptive_icon_foreground.png | Bin 0 -> 1992 bytes .../res/mipmap-mdpi/adaptive_icon_round.png | Bin 0 -> 4960 bytes .../main/res/mipmap-xhdpi/adaptive_icon.png | Bin 0 -> 12094 bytes .../mipmap-xhdpi/adaptive_icon_background.png | Bin 0 -> 32390 bytes .../mipmap-xhdpi/adaptive_icon_foreground.png | Bin 0 -> 4548 bytes .../res/mipmap-xhdpi/adaptive_icon_round.png | Bin 0 -> 15974 bytes .../main/res/mipmap-xxhdpi/adaptive_icon.png | Bin 0 -> 23761 bytes .../adaptive_icon_background.png | Bin 0 -> 67813 bytes .../adaptive_icon_foreground.png | Bin 0 -> 7323 bytes .../res/mipmap-xxhdpi/adaptive_icon_round.png | Bin 0 -> 31063 bytes .../main/res/mipmap-xxxhdpi/adaptive_icon.png | Bin 0 -> 38929 bytes .../adaptive_icon_background.png | Bin 0 -> 115121 bytes .../adaptive_icon_foreground.png | Bin 0 -> 10376 bytes .../mipmap-xxxhdpi/adaptive_icon_round.png | Bin 0 -> 50503 bytes app/src/main/res/values-af/strings.xml | 47 + app/src/main/res/values-am/strings.xml | 24 + app/src/main/res/values-ar/strings.xml | 47 + app/src/main/res/values-az-rAZ/strings.xml | 23 + app/src/main/res/values-az/strings.xml | 4 + app/src/main/res/values-b+sr+Latn/strings.xml | 24 + app/src/main/res/values-be-rBY/strings.xml | 24 + app/src/main/res/values-be/strings.xml | 4 + app/src/main/res/values-bg/strings.xml | 24 + app/src/main/res/values-bn-rBD/strings.xml | 24 + app/src/main/res/values-bn/strings.xml | 27 + app/src/main/res/values-bs-rBA/strings.xml | 24 + app/src/main/res/values-bs/strings.xml | 4 + app/src/main/res/values-ca/strings.xml | 24 + app/src/main/res/values-cs/strings.xml | 47 + app/src/main/res/values-da/strings.xml | 46 + app/src/main/res/values-de/strings.xml | 47 + app/src/main/res/values-el/strings.xml | 47 + app/src/main/res/values-en-rAU/strings.xml | 24 + app/src/main/res/values-en-rGB/strings.xml | 28 + app/src/main/res/values-en-rIN/strings.xml | 24 + app/src/main/res/values-es-rES/strings.xml | 26 + app/src/main/res/values-es-rUS/strings.xml | 24 + app/src/main/res/values-es/strings.xml | 47 + app/src/main/res/values-et-rEE/strings.xml | 24 + app/src/main/res/values-et/strings.xml | 4 + app/src/main/res/values-eu-rES/strings.xml | 24 + app/src/main/res/values-eu/strings.xml | 4 + app/src/main/res/values-fa/strings.xml | 24 + app/src/main/res/values-fi/strings.xml | 47 + app/src/main/res/values-fr-rCA/strings.xml | 24 + app/src/main/res/values-fr/strings.xml | 47 + app/src/main/res/values-gl-rES/strings.xml | 24 + app/src/main/res/values-gl/strings.xml | 4 + app/src/main/res/values-gu-rIN/strings.xml | 24 + app/src/main/res/values-gu/strings.xml | 27 + app/src/main/res/values-h720dp/dimens.xml | 4 + app/src/main/res/values-hdpi/drawables.xml | 3 + app/src/main/res/values-hdpi/styles.xml | 8 + app/src/main/res/values-hi/strings.xml | 47 + app/src/main/res/values-hr/strings.xml | 47 + app/src/main/res/values-hu/strings.xml | 47 + app/src/main/res/values-hy-rAM/strings.xml | 24 + app/src/main/res/values-hy/strings.xml | 4 + app/src/main/res/values-id/strings.xml | 25 + app/src/main/res/values-in/strings.xml | 47 + app/src/main/res/values-is-rIS/strings.xml | 24 + app/src/main/res/values-is/strings.xml | 4 + app/src/main/res/values-it/strings.xml | 47 + app/src/main/res/values-iw/strings.xml | 47 + app/src/main/res/values-ja/strings.xml | 47 + app/src/main/res/values-ka-rGE/strings.xml | 24 + app/src/main/res/values-ka/strings.xml | 4 + app/src/main/res/values-kk-rKZ/strings.xml | 24 + app/src/main/res/values-kk/strings.xml | 4 + app/src/main/res/values-km-rKH/strings.xml | 24 + app/src/main/res/values-km/strings.xml | 4 + app/src/main/res/values-kn-rIN/strings.xml | 24 + app/src/main/res/values-kn/strings.xml | 27 + app/src/main/res/values-ko/strings.xml | 47 + app/src/main/res/values-ky-rKG/strings.xml | 24 + app/src/main/res/values-ky/strings.xml | 4 + app/src/main/res/values-land/dimens.xml | 7 + app/src/main/res/values-large/dimens.xml | 10 + app/src/main/res/values-large/styles.xml | 7 + app/src/main/res/values-ldltr-v21/styles.xml | 5 + app/src/main/res/values-ldpi/drawables.xml | 3 + .../res/values-ldrtl-hdpi-v17/drawables.xml | 3 + .../res/values-ldrtl-mdpi-v17/drawables.xml | 3 + .../res/values-ldrtl-xhdpi-v17/drawables.xml | 3 + .../res/values-ldrtl-xxhdpi-v17/drawables.xml | 3 + .../values-ldrtl-xxxhdpi-v17/drawables.xml | 3 + app/src/main/res/values-lo-rLA/strings.xml | 24 + app/src/main/res/values-lo/strings.xml | 4 + app/src/main/res/values-lt/strings.xml | 24 + app/src/main/res/values-lv/strings.xml | 24 + app/src/main/res/values-mdpi/drawables.xml | 3 + app/src/main/res/values-mk-rMK/strings.xml | 22 + app/src/main/res/values-mk/strings.xml | 4 + app/src/main/res/values-ml-rIN/strings.xml | 24 + app/src/main/res/values-ml/strings.xml | 27 + app/src/main/res/values-mn-rMN/strings.xml | 24 + app/src/main/res/values-mn/strings.xml | 4 + app/src/main/res/values-mr-rIN/strings.xml | 24 + app/src/main/res/values-mr/strings.xml | 27 + app/src/main/res/values-ms-rMY/strings.xml | 24 + app/src/main/res/values-ms/strings.xml | 27 + app/src/main/res/values-my-rMM/strings.xml | 24 + app/src/main/res/values-my/strings.xml | 4 + app/src/main/res/values-nb/strings.xml | 46 + app/src/main/res/values-ne-rNP/strings.xml | 24 + app/src/main/res/values-ne/strings.xml | 4 + app/src/main/res/values-night/styles.xml | 17 + app/src/main/res/values-nl/strings.xml | 47 + app/src/main/res/values-pa-rIN/strings.xml | 24 + app/src/main/res/values-pa/strings.xml | 27 + app/src/main/res/values-pl/strings.xml | 47 + app/src/main/res/values-port/bools.xml | 4 + app/src/main/res/values-pt-rBR/strings.xml | 24 + app/src/main/res/values-pt-rPT/strings.xml | 47 + app/src/main/res/values-pt/strings.xml | 47 + app/src/main/res/values-ro/strings.xml | 24 + app/src/main/res/values-ru/strings.xml | 47 + app/src/main/res/values-si-rLK/strings.xml | 24 + app/src/main/res/values-si/strings.xml | 4 + app/src/main/res/values-sk/strings.xml | 47 + app/src/main/res/values-sl/strings.xml | 24 + app/src/main/res/values-sq-rAL/strings.xml | 24 + app/src/main/res/values-sq/strings.xml | 4 + app/src/main/res/values-sr/strings.xml | 24 + app/src/main/res/values-sv/strings.xml | 47 + app/src/main/res/values-sw/strings.xml | 24 + app/src/main/res/values-sw600dp/dimens.xml | 11 + app/src/main/res/values-ta-rIN/strings.xml | 24 + app/src/main/res/values-ta/strings.xml | 27 + app/src/main/res/values-te-rIN/strings.xml | 24 + app/src/main/res/values-te/strings.xml | 27 + app/src/main/res/values-th/strings.xml | 47 + app/src/main/res/values-tl/strings.xml | 46 + app/src/main/res/values-tr/strings.xml | 47 + app/src/main/res/values-uk/strings.xml | 24 + app/src/main/res/values-ur-rPK/strings.xml | 24 + app/src/main/res/values-ur/strings.xml | 4 + app/src/main/res/values-uz-rUZ/strings.xml | 24 + app/src/main/res/values-uz/strings.xml | 4 + app/src/main/res/values-vi/strings.xml | 47 + app/src/main/res/values-xhdpi/drawables.xml | 3 + app/src/main/res/values-xlarge/dimens.xml | 7 + app/src/main/res/values-xxhdpi/drawables.xml | 3 + app/src/main/res/values-xxxhdpi/drawables.xml | 3 + app/src/main/res/values-zh-rCN/strings.xml | 47 + app/src/main/res/values-zh-rHK/strings.xml | 47 + app/src/main/res/values-zh-rTW/strings.xml | 47 + app/src/main/res/values-zu/strings.xml | 24 + app/src/main/res/values/strings.xml | 113 + app/src/main/res/values/styles.xml | 18 + app/src/main/res/xml/components.xml | 35 + .../main/res/xml/network_security_config.xml | 17 + app/src/main/res/xml/nimble_log.xml | 7 + 544 files changed, 45301 insertions(+) create mode 100644 app/src/main/assets/licenseserver/de.txt create mode 100644 app/src/main/assets/licenseserver/en.txt create mode 100644 app/src/main/assets/licenseserver/es.txt create mode 100644 app/src/main/assets/licenseserver/es_co.txt create mode 100644 app/src/main/assets/licenseserver/fr.txt create mode 100644 app/src/main/assets/licenseserver/it.txt create mode 100644 app/src/main/assets/licenseserver/ja.txt create mode 100644 app/src/main/assets/licenseserver/ko.txt create mode 100644 app/src/main/assets/licenseserver/pl.txt create mode 100644 app/src/main/assets/licenseserver/pt_BR.txt create mode 100644 app/src/main/assets/licenseserver/ru.txt create mode 100644 app/src/main/assets/licenseserver/zh_CN.txt create mode 100644 app/src/main/assets/licenseserver/zh_TW.txt create mode 100644 app/src/main/assets/obb.size create mode 100644 app/src/main/assets/published/fonts/gothamblack.ttf create mode 100644 app/src/main/assets/published/fonts/gothambold.ttf create mode 100644 app/src/main/assets/published/fonts/gothamboldita.ttf create mode 100644 app/src/main/assets/published/fonts/gothambook.ttf create mode 100644 app/src/main/assets/published/fonts/gothambook_mono.ttf create mode 100644 app/src/main/assets/published/fonts/hawaiidigitalnumbers.ttf create mode 100644 app/src/main/assets/splash.png create mode 100644 app/src/main/java/com/bda/controller/BaseEvent.java create mode 100644 app/src/main/java/com/bda/controller/Constants.java create mode 100644 app/src/main/java/com/bda/controller/Controller.java create mode 100644 app/src/main/java/com/bda/controller/ControllerListener.java create mode 100644 app/src/main/java/com/bda/controller/ControllerMonitor.java create mode 100644 app/src/main/java/com/bda/controller/IControllerListener.java create mode 100644 app/src/main/java/com/bda/controller/IControllerMonitor.java create mode 100644 app/src/main/java/com/bda/controller/IControllerService.java create mode 100644 app/src/main/java/com/bda/controller/KeyEvent.java create mode 100644 app/src/main/java/com/bda/controller/MotionEvent.java create mode 100644 app/src/main/java/com/bda/controller/StateEvent.java create mode 100644 app/src/main/java/com/bda/controller/VersionInfo.java create mode 100644 app/src/main/java/com/ea/EAIO/EAIO.java create mode 100644 app/src/main/java/com/ea/EAMIO/StorageDirectory.java create mode 100644 app/src/main/java/com/ea/InAppWebBrowser/BrowserAndroid.java create mode 100644 app/src/main/java/com/ea/InAppWebBrowser/InAppWebBrowserWebViewClient.java create mode 100644 app/src/main/java/com/ea/InAppWebBrowser/JavascriptInterface.java create mode 100644 app/src/main/java/com/ea/InputMan/InputMan.java create mode 100644 app/src/main/java/com/ea/eadp/deviceid/DeviceIdService.java create mode 100644 app/src/main/java/com/ea/eadp/http/models/HttpRequest.java create mode 100644 app/src/main/java/com/ea/eadp/http/models/HttpRequestListener.java create mode 100644 app/src/main/java/com/ea/eadp/http/models/HttpResponse.java create mode 100644 app/src/main/java/com/ea/eadp/http/services/HttpService.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmBroadcastReceiver.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmIntentService.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/forwarding/PushBroadcastForwarder.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/lifecycles/PushLifecycleCallbacks.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/listeners/IPushListener.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/models/PushNotificationConfig.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/services/AndroidPushService.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/services/IPushService.java create mode 100644 app/src/main/java/com/ea/eadp/pushnotification/services/TrackingEvent.java create mode 100644 app/src/main/java/com/ea/ironmonkey/Accelerometer.java create mode 100644 app/src/main/java/com/ea/ironmonkey/BitmapGraphics.java create mode 100644 app/src/main/java/com/ea/ironmonkey/C2DMConstants.java create mode 100644 app/src/main/java/com/ea/ironmonkey/DownloaderService.java create mode 100644 app/src/main/java/com/ea/ironmonkey/DownloaderServiceBroadcastReceiver.java create mode 100644 app/src/main/java/com/ea/ironmonkey/DrawFrameListener.java create mode 100644 app/src/main/java/com/ea/ironmonkey/GameActivityMain.java create mode 100644 app/src/main/java/com/ea/ironmonkey/GameGLSurfaceView.java create mode 100644 app/src/main/java/com/ea/ironmonkey/GameRenderer.java create mode 100644 app/src/main/java/com/ea/ironmonkey/GoogleDrm.java create mode 100644 app/src/main/java/com/ea/ironmonkey/Log.java create mode 100644 app/src/main/java/com/ea/ironmonkey/MogaController.java create mode 100644 app/src/main/java/com/ea/ironmonkey/ObbActivity.java create mode 100644 app/src/main/java/com/ea/ironmonkey/ObbHelper.java create mode 100644 app/src/main/java/com/ea/ironmonkey/PermissionsActivity.java create mode 100644 app/src/main/java/com/ea/ironmonkey/RunLoop.java create mode 100644 app/src/main/java/com/ea/ironmonkey/SkuConfig.java create mode 100644 app/src/main/java/com/ea/ironmonkey/SplashScreen.java create mode 100644 app/src/main/java/com/ea/ironmonkey/WebActivity.java create mode 100644 app/src/main/java/com/ea/nimble/ApplicationEnvironment.java create mode 100644 app/src/main/java/com/ea/nimble/ApplicationEnvironmentImpl.java create mode 100644 app/src/main/java/com/ea/nimble/ApplicationLifecycle.java create mode 100644 app/src/main/java/com/ea/nimble/ApplicationLifecycleImpl.java create mode 100644 app/src/main/java/com/ea/nimble/BackgroundNetworkConnection.java create mode 100644 app/src/main/java/com/ea/nimble/Base.java create mode 100644 app/src/main/java/com/ea/nimble/BaseCore.java create mode 100644 app/src/main/java/com/ea/nimble/ByteBufferIOStream.java create mode 100644 app/src/main/java/com/ea/nimble/Component.java create mode 100644 app/src/main/java/com/ea/nimble/ComponentManager.java create mode 100644 app/src/main/java/com/ea/nimble/EASPDataLoader.java create mode 100644 app/src/main/java/com/ea/nimble/Encryptor.java create mode 100644 app/src/main/java/com/ea/nimble/EnvironmentDataContainer.java create mode 100644 app/src/main/java/com/ea/nimble/Error.java create mode 100644 app/src/main/java/com/ea/nimble/Facebook.java create mode 100644 app/src/main/java/com/ea/nimble/FacebookCallback.java create mode 100644 app/src/main/java/com/ea/nimble/FacebookImpl.java create mode 100644 app/src/main/java/com/ea/nimble/Global.java create mode 100644 app/src/main/java/com/ea/nimble/HttpError.java create mode 100644 app/src/main/java/com/ea/nimble/HttpRequest.java create mode 100644 app/src/main/java/com/ea/nimble/HttpResponse.java create mode 100644 app/src/main/java/com/ea/nimble/IApplicationEnvironment.java create mode 100644 app/src/main/java/com/ea/nimble/IApplicationLifecycle.java create mode 100644 app/src/main/java/com/ea/nimble/IFacebook.java create mode 100644 app/src/main/java/com/ea/nimble/IHttpRequest.java create mode 100644 app/src/main/java/com/ea/nimble/IHttpResponse.java create mode 100644 app/src/main/java/com/ea/nimble/ILog.java create mode 100644 app/src/main/java/com/ea/nimble/INetwork.java create mode 100644 app/src/main/java/com/ea/nimble/INimbleBadgeProvider.java create mode 100644 app/src/main/java/com/ea/nimble/INimbleLocalNotifications.java create mode 100644 app/src/main/java/com/ea/nimble/IOperationalTelemetryDispatch.java create mode 100644 app/src/main/java/com/ea/nimble/IPersistenceService.java create mode 100644 app/src/main/java/com/ea/nimble/ISynergyEnvironment.java create mode 100644 app/src/main/java/com/ea/nimble/ISynergyIdManager.java create mode 100644 app/src/main/java/com/ea/nimble/ISynergyNetwork.java create mode 100644 app/src/main/java/com/ea/nimble/ISynergyRequest.java create mode 100644 app/src/main/java/com/ea/nimble/ISynergyResponse.java create mode 100644 app/src/main/java/com/ea/nimble/Log.java create mode 100644 app/src/main/java/com/ea/nimble/LogImpl.java create mode 100644 app/src/main/java/com/ea/nimble/LogSource.java create mode 100644 app/src/main/java/com/ea/nimble/Network.java create mode 100644 app/src/main/java/com/ea/nimble/NetworkConnection.java create mode 100644 app/src/main/java/com/ea/nimble/NetworkConnectionCallback.java create mode 100644 app/src/main/java/com/ea/nimble/NetworkConnectionHandle.java create mode 100644 app/src/main/java/com/ea/nimble/NetworkImpl.java create mode 100644 app/src/main/java/com/ea/nimble/NimbleApplicationConfiguration.java create mode 100644 app/src/main/java/com/ea/nimble/NimbleConfiguration.java create mode 100644 app/src/main/java/com/ea/nimble/NimbleFacebookError.java create mode 100644 app/src/main/java/com/ea/nimble/NimbleLocalNotificationReceiver.java create mode 100644 app/src/main/java/com/ea/nimble/NimbleLocalNotifications.java create mode 100644 app/src/main/java/com/ea/nimble/NimbleLocalNotificationsImpl.java create mode 100644 app/src/main/java/com/ea/nimble/OperationalTelemetryDispatch.java create mode 100644 app/src/main/java/com/ea/nimble/OperationalTelemetryDispatchImpl.java create mode 100644 app/src/main/java/com/ea/nimble/OperationalTelemetryEvent.java create mode 100644 app/src/main/java/com/ea/nimble/OperationalTelemetryEventImpl.java create mode 100644 app/src/main/java/com/ea/nimble/Persistence.java create mode 100644 app/src/main/java/com/ea/nimble/PersistenceService.java create mode 100644 app/src/main/java/com/ea/nimble/PersistenceServiceImpl.java create mode 100644 app/src/main/java/com/ea/nimble/QA.java create mode 100644 app/src/main/java/com/ea/nimble/ReferrerReceiver.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyEnvironment.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyEnvironmentImpl.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyEnvironmentUpdater.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyIdManager.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyIdManagerError.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyIdManagerImpl.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyNetwork.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyNetworkConnection.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyNetworkConnectionCallback.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyNetworkConnectionHandle.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyNetworkImpl.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyRequest.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyResponse.java create mode 100644 app/src/main/java/com/ea/nimble/SynergyServerError.java create mode 100644 app/src/main/java/com/ea/nimble/Timer.java create mode 100644 app/src/main/java/com/ea/nimble/Utility.java create mode 100644 app/src/main/java/com/ea/nimble/WebView.java create mode 100644 app/src/main/java/com/ea/nimble/WebViewCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/BaseNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/FacebookNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/FriendsNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/GoogleServiceRequestCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/IdentityGenericAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/IdentityMigrationAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/IdentityNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/IdentityPlainAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/LogNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/MTXNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/NimbleCppApplicationLifeCycle.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/NimbleCppComponentRegistrar.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/PushTNGNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/bridge/WebViewNativeCallback.java create mode 100644 app/src/main/java/com/ea/nimble/friends/INimbleFriends.java create mode 100644 app/src/main/java/com/ea/nimble/friends/INimbleOriginFriendsService.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFacebookUser.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriends.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsError.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsImpl.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsList.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsListFacebook.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsListImpl.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsListOrigin.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRangeRefreshResult.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshBasicInfo.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshCallback.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshIdentityInfo.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshImageUrl.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshResult.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshScope.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsServerCodeError.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleFriendsUtility.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsService.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsServiceImpl.java create mode 100644 app/src/main/java/com/ea/nimble/friends/NimbleUser.java create mode 100644 app/src/main/java/com/ea/nimble/friends/UserInfoFromIdentity.java create mode 100644 app/src/main/java/com/ea/nimble/identity/AuthenticatorAnonymous.java create mode 100644 app/src/main/java/com/ea/nimble/identity/AuthenticatorBase.java create mode 100644 app/src/main/java/com/ea/nimble/identity/AuthenticatorFacebook.java create mode 100644 app/src/main/java/com/ea/nimble/identity/AuthenticatorOrigin.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentity.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticator.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLoginResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLogoutResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLoginResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLogoutResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityPendingMigrationResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/INimbleIdentityPlainAuthenticationConductor.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentity.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityAuthenticationConductorHandler.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityConfig.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityError.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericAuthenticationConductorHandler.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLoginResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLogoutResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityImpl.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityLoginParams.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationAuthenticationConductorHandler.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationLoginResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationObject.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityPendingMigrationResolver.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityPersona.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityPidInfo.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityPlainAuthenticationConductorHandler.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityToken.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityUserInfo.java create mode 100644 app/src/main/java/com/ea/nimble/identity/NimbleIdentityUtility.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/INimbleMTX.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/NimbleCatalogItem.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/NimbleMTX.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/NimbleMTXError.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/NimbleMTXTransaction.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/catalog/synergy/ItemCategory.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalog.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalogItem.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlay.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayCatalogItem.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayError.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayNetworkConnectionCallback.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayTransaction.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64DecoderException.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabException.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabHelper.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabResult.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/Inventory.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/Purchase.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/Security.java create mode 100644 app/src/main/java/com/ea/nimble/mtx/googleplay/util/SkuDetails.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/BuildConfig.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/IPushNotification.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpRequest.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpResponse.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpService.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimbleDeviceIdService.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastForwarder.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastReceiver.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGIntentService.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/PushNotification.java create mode 100644 app/src/main/java/com/ea/nimble/pushtng/PushNotificationImpl.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/ITracking.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingImplBase.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SComponent.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SImpl.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyComponent.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyImpl.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadManager.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadProxy.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/SynergyConstants.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/Tracking.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/TrackingBaseSessionObject.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/TrackingEventWrangler.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/TrackingS2S.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/TrackingSynergy.java create mode 100644 app/src/main/java/com/ea/nimble/tracking/TrackingWrangler.java create mode 100644 app/src/main/java/com/eamobile/ADCTelemetry.java create mode 100644 app/src/main/java/com/eamobile/DownloadActivity.java create mode 100644 app/src/main/java/com/eamobile/DownloadActivityInternal.java create mode 100644 app/src/main/java/com/eamobile/IDeviceData.java create mode 100644 app/src/main/java/com/eamobile/IDownloadActivity.java create mode 100644 app/src/main/java/com/eamobile/Language.java create mode 100644 app/src/main/java/com/eamobile/WifiReceiver.java create mode 100644 app/src/main/java/com/eamobile/download/AssetManager.java create mode 100644 app/src/main/java/com/eamobile/download/ChecksumValidator.java create mode 100644 app/src/main/java/com/eamobile/download/Constants.java create mode 100644 app/src/main/java/com/eamobile/download/Device.java create mode 100644 app/src/main/java/com/eamobile/download/DeviceData.java create mode 100644 app/src/main/java/com/eamobile/download/DownloadFileData.java create mode 100644 app/src/main/java/com/eamobile/download/DownloadProgress.java create mode 100644 app/src/main/java/com/eamobile/download/IZipExtractorEvent.java create mode 100644 app/src/main/java/com/eamobile/download/LocalZipExtractorEvent.java create mode 100644 app/src/main/java/com/eamobile/download/LockManager.java create mode 100644 app/src/main/java/com/eamobile/download/Logging.java create mode 100644 app/src/main/java/com/eamobile/download/MemoryStatus.java create mode 100644 app/src/main/java/com/eamobile/download/RandomAccessFileReadThread.java create mode 100644 app/src/main/java/com/eamobile/download/ReadThread.java create mode 100644 app/src/main/java/com/eamobile/download/RemoteZipExtractorEvent.java create mode 100644 app/src/main/java/com/eamobile/download/SpeedCalculator.java create mode 100644 app/src/main/java/com/eamobile/download/ZipExtractor.java create mode 100644 app/src/main/java/com/eamobile/licensing/ILicenseServerActivityCallback.java create mode 100644 app/src/main/java/com/eamobile/licensing/LicenseServerActivity.java create mode 100644 app/src/main/java/com/eamobile/licensing/a.java create mode 100644 app/src/main/java/com/eamobile/licensing/b.java create mode 100644 app/src/main/java/com/eamobile/licensing/c.java create mode 100644 app/src/main/java/com/eamobile/licensing/d.java create mode 100644 app/src/main/java/com/eamobile/licensing/e.java create mode 100644 app/src/main/java/com/eamobile/licensing/f.java create mode 100644 app/src/main/java/com/eamobile/licensing/g.java create mode 100644 app/src/main/java/com/eamobile/licensing/h.java create mode 100644 app/src/main/java/com/eamobile/licensing/i.java create mode 100644 app/src/main/java/com/eamobile/licensing/j.java create mode 100644 app/src/main/java/com/eamobile/licensing/k.java create mode 100644 app/src/main/java/com/eamobile/licensing/l.java create mode 100644 app/src/main/java/com/eamobile/licensing/m.java create mode 100644 app/src/main/java/com/eamobile/licensing/n.java create mode 100644 app/src/main/java/com/eamobile/licensing/o.java create mode 100644 app/src/main/java/com/eamobile/licensing/p.java create mode 100644 app/src/main/java/com/eamobile/licensing/q.java create mode 100644 app/src/main/java/com/eamobile/licensing/r.java create mode 100644 app/src/main/java/com/eamobile/licensing/s.java create mode 100644 app/src/main/java/com/eamobile/licensing/t.java create mode 100644 app/src/main/java/com/eamobile/licensing/u.java create mode 100644 app/src/main/java/com/eamobile/licensing/v.java create mode 100644 app/src/main/java/com/eamobile/licensing/w.java create mode 100644 app/src/main/java/com/eamobile/licensing/x.java create mode 100644 app/src/main/java/com/eamobile/licensing/y.java create mode 100644 app/src/main/java/com/eamobile/licensing/z.java create mode 100644 app/src/main/java/com/eamobile/views/CheckUpdatesView.java create mode 100644 app/src/main/java/com/eamobile/views/CheckingHostIpView.java create mode 100644 app/src/main/java/com/eamobile/views/ContactingServerView.java create mode 100644 app/src/main/java/com/eamobile/views/CustomProgressBar.java create mode 100644 app/src/main/java/com/eamobile/views/CustomProgressDialog.java create mode 100644 app/src/main/java/com/eamobile/views/CustomView.java create mode 100644 app/src/main/java/com/eamobile/views/DefaultProgressDialog.java create mode 100644 app/src/main/java/com/eamobile/views/DeletingAssetsView.java create mode 100644 app/src/main/java/com/eamobile/views/DownloadFailedView.java create mode 100644 app/src/main/java/com/eamobile/views/DownloadMsgView.java create mode 100644 app/src/main/java/com/eamobile/views/DownloadProgressView.java create mode 100644 app/src/main/java/com/eamobile/views/IDownloadView.java create mode 100644 app/src/main/java/com/eamobile/views/IProgressDialog.java create mode 100644 app/src/main/java/com/eamobile/views/InvalidAssetVersionView.java create mode 100644 app/src/main/java/com/eamobile/views/NetworkUnavailableView.java create mode 100644 app/src/main/java/com/eamobile/views/ServerErrorView.java create mode 100644 app/src/main/java/com/eamobile/views/Show3GView.java create mode 100644 app/src/main/java/com/eamobile/views/ShowBGView.java create mode 100644 app/src/main/java/com/eamobile/views/ShowWifiView.java create mode 100644 app/src/main/java/com/eamobile/views/SpaceUnavailableView.java create mode 100644 app/src/main/java/com/eamobile/views/UnSupportedDeviceView.java create mode 100644 app/src/main/java/com/eamobile/views/UpdatesFoundView.java create mode 100644 app/src/main/java/org/fmod/FMODAudioDevice.java create mode 100644 app/src/main/jniLibs/armeabi-v7a/libNimble.so create mode 100644 app/src/main/jniLibs/armeabi-v7a/libapp.so create mode 100644 app/src/main/jniLibs/armeabi-v7a/libc++_shared.so create mode 100644 app/src/main/jniLibs/armeabi-v7a/libfmodevent.so create mode 100644 app/src/main/jniLibs/armeabi-v7a/libfmodex.so create mode 100644 app/src/main/jniLibs/x86/libNimble.so create mode 100644 app/src/main/jniLibs/x86/libapp.so create mode 100644 app/src/main/jniLibs/x86/libc++_shared.so create mode 100644 app/src/main/jniLibs/x86/libfmodevent.so create mode 100644 app/src/main/jniLibs/x86/libfmodex.so create mode 100644 app/src/main/res/drawable-hdpi/icon.png create mode 100644 app/src/main/res/drawable-hdpi/icon_round.png create mode 100644 app/src/main/res/drawable-hdpi/iconb.png create mode 100644 app/src/main/res/drawable-hdpi/iconw.png create mode 100644 app/src/main/res/drawable-ldpi/icon.png create mode 100644 app/src/main/res/drawable-ldpi/icon_round.png create mode 100644 app/src/main/res/drawable-ldpi/iconb.png create mode 100644 app/src/main/res/drawable-ldpi/iconw.png create mode 100644 app/src/main/res/drawable-mdpi/icon.png create mode 100644 app/src/main/res/drawable-mdpi/icon_round.png create mode 100644 app/src/main/res/drawable-mdpi/iconb.png create mode 100644 app/src/main/res/drawable-mdpi/iconw.png create mode 100644 app/src/main/res/drawable-xhdpi/icon.png create mode 100644 app/src/main/res/drawable-xhdpi/icon_round.png create mode 100644 app/src/main/res/drawable-xhdpi/iconb.png create mode 100644 app/src/main/res/drawable-xhdpi/iconw.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_round.png create mode 100644 app/src/main/res/drawable-xxhdpi/iconb.png create mode 100644 app/src/main/res/drawable-xxhdpi/iconw.png create mode 100644 app/src/main/res/drawable-xxxhdpi/icon.png create mode 100644 app/src/main/res/drawable-xxxhdpi/icon_round.png create mode 100644 app/src/main/res/drawable-xxxhdpi/iconb.png create mode 100644 app/src/main/res/drawable-xxxhdpi/iconw.png create mode 100644 app/src/main/res/drawable/icon.png create mode 100644 app/src/main/res/drawable/icon_round.png create mode 100644 app/src/main/res/drawable/iconb.png create mode 100644 app/src/main/res/drawable/iconw.png create mode 100644 app/src/main/res/layout/webview.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/adaptive_icon.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/adaptive_icon_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/adaptive_icon.png create mode 100644 app/src/main/res/mipmap-hdpi/adaptive_icon_background.png create mode 100644 app/src/main/res/mipmap-hdpi/adaptive_icon_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/adaptive_icon_round.png create mode 100644 app/src/main/res/mipmap-mdpi/adaptive_icon.png create mode 100644 app/src/main/res/mipmap-mdpi/adaptive_icon_background.png create mode 100644 app/src/main/res/mipmap-mdpi/adaptive_icon_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/adaptive_icon_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/adaptive_icon.png create mode 100644 app/src/main/res/mipmap-xhdpi/adaptive_icon_background.png create mode 100644 app/src/main/res/mipmap-xhdpi/adaptive_icon_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/adaptive_icon_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/adaptive_icon.png create mode 100644 app/src/main/res/mipmap-xxhdpi/adaptive_icon_background.png create mode 100644 app/src/main/res/mipmap-xxhdpi/adaptive_icon_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/adaptive_icon_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/adaptive_icon.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/adaptive_icon_background.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/adaptive_icon_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/adaptive_icon_round.png create mode 100644 app/src/main/res/values-af/strings.xml create mode 100644 app/src/main/res/values-am/strings.xml create mode 100644 app/src/main/res/values-ar/strings.xml create mode 100644 app/src/main/res/values-az-rAZ/strings.xml create mode 100644 app/src/main/res/values-az/strings.xml create mode 100644 app/src/main/res/values-b+sr+Latn/strings.xml create mode 100644 app/src/main/res/values-be-rBY/strings.xml create mode 100644 app/src/main/res/values-be/strings.xml create mode 100644 app/src/main/res/values-bg/strings.xml create mode 100644 app/src/main/res/values-bn-rBD/strings.xml create mode 100644 app/src/main/res/values-bn/strings.xml create mode 100644 app/src/main/res/values-bs-rBA/strings.xml create mode 100644 app/src/main/res/values-bs/strings.xml create mode 100644 app/src/main/res/values-ca/strings.xml create mode 100644 app/src/main/res/values-cs/strings.xml create mode 100644 app/src/main/res/values-da/strings.xml create mode 100644 app/src/main/res/values-de/strings.xml create mode 100644 app/src/main/res/values-el/strings.xml create mode 100644 app/src/main/res/values-en-rAU/strings.xml create mode 100644 app/src/main/res/values-en-rGB/strings.xml create mode 100644 app/src/main/res/values-en-rIN/strings.xml create mode 100644 app/src/main/res/values-es-rES/strings.xml create mode 100644 app/src/main/res/values-es-rUS/strings.xml create mode 100644 app/src/main/res/values-es/strings.xml create mode 100644 app/src/main/res/values-et-rEE/strings.xml create mode 100644 app/src/main/res/values-et/strings.xml create mode 100644 app/src/main/res/values-eu-rES/strings.xml create mode 100644 app/src/main/res/values-eu/strings.xml create mode 100644 app/src/main/res/values-fa/strings.xml create mode 100644 app/src/main/res/values-fi/strings.xml create mode 100644 app/src/main/res/values-fr-rCA/strings.xml create mode 100644 app/src/main/res/values-fr/strings.xml create mode 100644 app/src/main/res/values-gl-rES/strings.xml create mode 100644 app/src/main/res/values-gl/strings.xml create mode 100644 app/src/main/res/values-gu-rIN/strings.xml create mode 100644 app/src/main/res/values-gu/strings.xml create mode 100644 app/src/main/res/values-h720dp/dimens.xml create mode 100644 app/src/main/res/values-hdpi/drawables.xml create mode 100644 app/src/main/res/values-hdpi/styles.xml create mode 100644 app/src/main/res/values-hi/strings.xml create mode 100644 app/src/main/res/values-hr/strings.xml create mode 100644 app/src/main/res/values-hu/strings.xml create mode 100644 app/src/main/res/values-hy-rAM/strings.xml create mode 100644 app/src/main/res/values-hy/strings.xml create mode 100644 app/src/main/res/values-id/strings.xml create mode 100644 app/src/main/res/values-in/strings.xml create mode 100644 app/src/main/res/values-is-rIS/strings.xml create mode 100644 app/src/main/res/values-is/strings.xml create mode 100644 app/src/main/res/values-it/strings.xml create mode 100644 app/src/main/res/values-iw/strings.xml create mode 100644 app/src/main/res/values-ja/strings.xml create mode 100644 app/src/main/res/values-ka-rGE/strings.xml create mode 100644 app/src/main/res/values-ka/strings.xml create mode 100644 app/src/main/res/values-kk-rKZ/strings.xml create mode 100644 app/src/main/res/values-kk/strings.xml create mode 100644 app/src/main/res/values-km-rKH/strings.xml create mode 100644 app/src/main/res/values-km/strings.xml create mode 100644 app/src/main/res/values-kn-rIN/strings.xml create mode 100644 app/src/main/res/values-kn/strings.xml create mode 100644 app/src/main/res/values-ko/strings.xml create mode 100644 app/src/main/res/values-ky-rKG/strings.xml create mode 100644 app/src/main/res/values-ky/strings.xml create mode 100644 app/src/main/res/values-land/dimens.xml create mode 100644 app/src/main/res/values-large/dimens.xml create mode 100644 app/src/main/res/values-large/styles.xml create mode 100644 app/src/main/res/values-ldltr-v21/styles.xml create mode 100644 app/src/main/res/values-ldpi/drawables.xml create mode 100644 app/src/main/res/values-ldrtl-hdpi-v17/drawables.xml create mode 100644 app/src/main/res/values-ldrtl-mdpi-v17/drawables.xml create mode 100644 app/src/main/res/values-ldrtl-xhdpi-v17/drawables.xml create mode 100644 app/src/main/res/values-ldrtl-xxhdpi-v17/drawables.xml create mode 100644 app/src/main/res/values-ldrtl-xxxhdpi-v17/drawables.xml create mode 100644 app/src/main/res/values-lo-rLA/strings.xml create mode 100644 app/src/main/res/values-lo/strings.xml create mode 100644 app/src/main/res/values-lt/strings.xml create mode 100644 app/src/main/res/values-lv/strings.xml create mode 100644 app/src/main/res/values-mdpi/drawables.xml create mode 100644 app/src/main/res/values-mk-rMK/strings.xml create mode 100644 app/src/main/res/values-mk/strings.xml create mode 100644 app/src/main/res/values-ml-rIN/strings.xml create mode 100644 app/src/main/res/values-ml/strings.xml create mode 100644 app/src/main/res/values-mn-rMN/strings.xml create mode 100644 app/src/main/res/values-mn/strings.xml create mode 100644 app/src/main/res/values-mr-rIN/strings.xml create mode 100644 app/src/main/res/values-mr/strings.xml create mode 100644 app/src/main/res/values-ms-rMY/strings.xml create mode 100644 app/src/main/res/values-ms/strings.xml create mode 100644 app/src/main/res/values-my-rMM/strings.xml create mode 100644 app/src/main/res/values-my/strings.xml create mode 100644 app/src/main/res/values-nb/strings.xml create mode 100644 app/src/main/res/values-ne-rNP/strings.xml create mode 100644 app/src/main/res/values-ne/strings.xml create mode 100644 app/src/main/res/values-night/styles.xml create mode 100644 app/src/main/res/values-nl/strings.xml create mode 100644 app/src/main/res/values-pa-rIN/strings.xml create mode 100644 app/src/main/res/values-pa/strings.xml create mode 100644 app/src/main/res/values-pl/strings.xml create mode 100644 app/src/main/res/values-port/bools.xml create mode 100644 app/src/main/res/values-pt-rBR/strings.xml create mode 100644 app/src/main/res/values-pt-rPT/strings.xml create mode 100644 app/src/main/res/values-pt/strings.xml create mode 100644 app/src/main/res/values-ro/strings.xml create mode 100644 app/src/main/res/values-ru/strings.xml create mode 100644 app/src/main/res/values-si-rLK/strings.xml create mode 100644 app/src/main/res/values-si/strings.xml create mode 100644 app/src/main/res/values-sk/strings.xml create mode 100644 app/src/main/res/values-sl/strings.xml create mode 100644 app/src/main/res/values-sq-rAL/strings.xml create mode 100644 app/src/main/res/values-sq/strings.xml create mode 100644 app/src/main/res/values-sr/strings.xml create mode 100644 app/src/main/res/values-sv/strings.xml create mode 100644 app/src/main/res/values-sw/strings.xml create mode 100644 app/src/main/res/values-sw600dp/dimens.xml create mode 100644 app/src/main/res/values-ta-rIN/strings.xml create mode 100644 app/src/main/res/values-ta/strings.xml create mode 100644 app/src/main/res/values-te-rIN/strings.xml create mode 100644 app/src/main/res/values-te/strings.xml create mode 100644 app/src/main/res/values-th/strings.xml create mode 100644 app/src/main/res/values-tl/strings.xml create mode 100644 app/src/main/res/values-tr/strings.xml create mode 100644 app/src/main/res/values-uk/strings.xml create mode 100644 app/src/main/res/values-ur-rPK/strings.xml create mode 100644 app/src/main/res/values-ur/strings.xml create mode 100644 app/src/main/res/values-uz-rUZ/strings.xml create mode 100644 app/src/main/res/values-uz/strings.xml create mode 100644 app/src/main/res/values-vi/strings.xml create mode 100644 app/src/main/res/values-xhdpi/drawables.xml create mode 100644 app/src/main/res/values-xlarge/dimens.xml create mode 100644 app/src/main/res/values-xxhdpi/drawables.xml create mode 100644 app/src/main/res/values-xxxhdpi/drawables.xml create mode 100644 app/src/main/res/values-zh-rCN/strings.xml create mode 100644 app/src/main/res/values-zh-rHK/strings.xml create mode 100644 app/src/main/res/values-zh-rTW/strings.xml create mode 100644 app/src/main/res/values-zu/strings.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/main/res/xml/components.xml create mode 100644 app/src/main/res/xml/network_security_config.xml create mode 100644 app/src/main/res/xml/nimble_log.xml diff --git a/app/src/main/assets/licenseserver/de.txt b/app/src/main/assets/licenseserver/de.txt new file mode 100644 index 0000000..4a4b0cd --- /dev/null +++ b/app/src/main/assets/licenseserver/de.txt @@ -0,0 +1,4 @@ +OK +Diese Anwendung ist nicht fr den Gebrauch auf deinem Android-Gert autorisiert. +Bitte warten +Check-Lizenz diff --git a/app/src/main/assets/licenseserver/en.txt b/app/src/main/assets/licenseserver/en.txt new file mode 100644 index 0000000..e43de19 --- /dev/null +++ b/app/src/main/assets/licenseserver/en.txt @@ -0,0 +1,4 @@ +OK +This application is not authorized for use on your Android device. +Please wait +Checking license diff --git a/app/src/main/assets/licenseserver/es.txt b/app/src/main/assets/licenseserver/es.txt new file mode 100644 index 0000000..577e7e9 --- /dev/null +++ b/app/src/main/assets/licenseserver/es.txt @@ -0,0 +1,4 @@ +ACEPTAR +El uso de esta aplicacin no est autorizado en tu dispositivo Android. +Por favor espere +Verificacin de licencia diff --git a/app/src/main/assets/licenseserver/es_co.txt b/app/src/main/assets/licenseserver/es_co.txt new file mode 100644 index 0000000..a2ea7da --- /dev/null +++ b/app/src/main/assets/licenseserver/es_co.txt @@ -0,0 +1,4 @@ +ACEPTAR +El uso de esta aplicacin en su dispositivo Android no est autorizado. +Por favor espere +Verificacin de licencia diff --git a/app/src/main/assets/licenseserver/fr.txt b/app/src/main/assets/licenseserver/fr.txt new file mode 100644 index 0000000..a4fce33 --- /dev/null +++ b/app/src/main/assets/licenseserver/fr.txt @@ -0,0 +1,4 @@ +OK +L'utilisation de cette application sur votre appareil Android n'est pas autorise. +Patientez s'il vous plat +Permis de vrifier diff --git a/app/src/main/assets/licenseserver/it.txt b/app/src/main/assets/licenseserver/it.txt new file mode 100644 index 0000000..e35fd51 --- /dev/null +++ b/app/src/main/assets/licenseserver/it.txt @@ -0,0 +1,4 @@ +OK +L'applicazione non dispone dell'autorizzazione necessaria per l'utilizzo sul tuo dispositivo Android. +Si prega di attendere +Controllo di licenza diff --git a/app/src/main/assets/licenseserver/ja.txt b/app/src/main/assets/licenseserver/ja.txt new file mode 100644 index 0000000000000000000000000000000000000000..529ff7bed4a335f4d1aeeb5fa44b3bf33b55e933 GIT binary patch literal 132 zcmezW&!54YftP`cA=n_#z>y)3A%&rcA)g@=NFO)2V6ensr$M@bPWmE)>jtk3HX8gf z*lzIL;IqLbgL;3B(ny1D1I?^}X+8!{23-bq2GItS4VVl-rg<5(#wQy18zdNn8n}Q( Z4jL>sIBc*UXyRvsmq2niklqQF0RS4+D**ri literal 0 HcmV?d00001 diff --git a/app/src/main/assets/licenseserver/ko.txt b/app/src/main/assets/licenseserver/ko.txt new file mode 100644 index 0000000000000000000000000000000000000000..f243247cb004ee8c3804593e3fcc349b0c7ce020 GIT binary patch literal 126 zcmezW&!54YftP`cq2#y%L*Vh1$5^h$?D(;E#dZfE-{a_=EipSvj^Ej$z_9dq#JLMc zWezGZtU0jqSj5#Mn`3t&}%bA=D3Jf*dOOD$dTyh8`0st6bJXHVy literal 0 HcmV?d00001 diff --git a/app/src/main/assets/licenseserver/pl.txt b/app/src/main/assets/licenseserver/pl.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39d2e05aeece526cf4dff8c9056cdb654a63b9e GIT binary patch literal 224 zcmXYr!3x4K5Jaa35eoePZ}|fM!Lx#b{(v+&Sf!EH5SouyUzQ$r*qxo(o!|GYqdIl1 zZo11+Z@u);ldjib+{hf*4dAQ~omWJcm7 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/licenseserver/pt_BR.txt b/app/src/main/assets/licenseserver/pt_BR.txt new file mode 100644 index 0000000..a34f301 --- /dev/null +++ b/app/src/main/assets/licenseserver/pt_BR.txt @@ -0,0 +1,4 @@ +OK +Esta aplicao no est autorizada para utilizao no seu dispositivo Android. +Por favor, aguarde +Verifique licena diff --git a/app/src/main/assets/licenseserver/ru.txt b/app/src/main/assets/licenseserver/ru.txt new file mode 100644 index 0000000000000000000000000000000000000000..0dc54992f3f7c5620370e79b4baf0c65b5796228 GIT binary patch literal 264 zcmYjM%L)Q95X&Ja!Ham`{Q#A+tZSvV`vMUZ_b0q~QSkp!)4_ujW-^mxNI&lhXUs9f zl8#X?amx}dJ9-99jpitvx6!I&#X(F~?9?lBCh@f#le%ZmR!rdKPvMP=QkPh$o^ngeZ|F zUR5*B7z<~cn29YfFP}8F^4^7+j6J;$PkW9WKBC-jzBtC%z6#uDj~rJ$@ngr4vy9#7 z$5`^}krOAEwK|6V3GZ7O6ML&C<`vGFGNl`1d^O_Ft6f&JeBE`k?q$sK5M!qOi)vby zyId%V?JLFmfJIB!EPQ$OiHnSd4P>n4-TJzk1sC@e7vLS9vEq6>2)M&P7y0$Ueee2Z zt*h65RIm~EXBhK;XK7Py&DM7t`Z5+g9OYkFR_Qm@f#V{owK3Oyz`OXk00**FpbPfxLl^~19melttQHA`4s zABqoI2EUI5h~+FvEMrmPQ5GszvS_iNWr&3=7vUZVXYn+ak0Ty=4AG8pq9+S7z07h< zJ(yYifel7pX`&t1TXF1QgH0UwKe54lBr6krfQ=9FydKXN;E2RA1n=+Eu5aSqZWbtR zU{-N~6^S2#q}eQ7{DlRJ(=I3Klg?j7K33P4xaI%{nPQsDiR*MRm30&MFo)=e`rpHP ziP7%3zCW-b zpzLDcZVFe;byM7UW2EGmgPlkh!biGda#q~WLpPBMl zFCDjpU*mzY`{F)P;+Jr&AB5i{$oC51fN<&KFg=9lgx@*d2hVYx;yJ7Y*H>|TB(6jL zI&KNS#sl<+`!I=L!m)l3eyRO%m9&KNJ6>hoseHnL@#+NJXg{jAY;VF1!RYG>y3n6X z+N5+uqlPQ!Rfx5&AArk`P@g~J`Z2C=1IMMPXTHRBHY<^|40;j`pl{UQ=k;zp-w)cl z4)p=O6J9!9sSf~0vM(5}e#L0Je*<3h3rU;a*KV?}fL=RY(SIZj>sM-H!t<|Osjo?T zCt9HP(E1$FJ@q}WYX*1>^?9@t(IwG_q$_G$>ca%r9MJs_vY%34Ey8ga$4VS`;jrWA ziQ|x7ZpW)EA8;TJBhF2{j(8{AhGPu4VFXJzZIOJ8c$t;>nn(ehDc~Q;;Bg1=?h#gq z^y5txEXzNfrSLkyM8^r&YoPa3>Z1Z&Ts(~fv}sBQ&v;%Pe(0Zc$aVpJNZPv8mHG_5 z*RP9N1mzECnRp6tcwvES61VS@si;+t|wiOyB>A@#`U1lh{u}{&w%*2K>$Ox5AHynWrc$0qXzzpIHP^ra(U7 z-}vKlw5KP!ykLB546BqTjPd@=%q);F0$C77@(>ov!XTAJut*lgqFD^+A&yzmuJNop z>w(rzV2P|3+9HW1vlP~wrLr_;XXz}1WrAw5Sq{r(c`Tn5utLyJAJ9=TD`9;>N&VRX zHjoWsgV_+!%1~CuhOyyn1S@AFSp^%#Mx*Ccvazg+RkLwyJevSYoWv%xDQqgJYdV|3 zX0lmqHk-rdvU#iq)wzPL1HElxJJ=p}J-eCR#BO1?vIFcOyB)N02fLHq#qN>xcptl; z9bpfEE+1wOfi{n_$Jpb16l-J)SRGr$$FLP_KU<2?a}rz5>XG+)b`8!=5@`$NSwAgi zkU80H>^E#BgM^1>u;Ikm64u5m*?hK&t!2B}PwZztl$Y^xK9UcE4D<+MJjLVrI6j_N z@oGMmPvfImGarFoF_x`io7rl%1^sU;c*u5kCELZWMv9&6I<}8p%l-x`&u7bcHqYU? ztOdO(k7rS#z`FV?1&(&GH+XN}h#qz`e~iD&zvLH1fQS*j#b_~0Y!{D+*Tj#eTvMrO ztLd2O4bzvVi+&M)$$pi7cljOjJMSOoU+iD$KhJ-c{~`Z}{7?CR>i?ZN#GGudFfTSA zGM_X%EfJPnOPOV!Wv%5}%YBw-ET=3VTFzO13@`@_3|Jg+ZNRaBF9QPtO9STxwg%o1 z_)y?8fu9HY1?2|K2-+TWAn2{2^T8p(w&20R(}GtA?+$(`_??iTkZk;wg{%xY7;-!` zCNwRyG4!F(*TRCrx`ho6n-jJ)Y)jbQu!CW*g?$+w6W%9$O8DCFqv7vIm?JVHrbVod zxH;n4h`&aB7io@6j4Y0v6S*()`N;E8wx|VB`=gFVosW)*?jOA%dT;bY(Qn0=V}{3U ziFqkDE_Pb%kyvM3dfcqIYvWE?nKj0mX)UwPvL3L$+s)jqZ@0#7Pjve_-Y>p1eqsFX z_^0Ck*4^B_u=}j;>$*SN{nH-lJ;wFe-{WMDAA0ugIj-l{o=^2Wo6s$xG@&(NU&2cX z=MvKrhbOK~JdpT);?KPbdoAttM6a{pYcp(j*-qNdC9$NKr2M4Hq=iY_lWtDBC+Ur( z3&~;0y_3t5=OnLA-kW@1^0UeBCZ9_QN$Ha^BV|X*Ln&u^n|l}cUfTPf-XEsMq?V>` zPkkcwtu(*1^t2gi>(Y*;{cP`RZ?!*T|2e&TdU^VS^j+zXq`#By%*f1`ld(VJM8^5d z?wRG8jhXv1pUM0*%P%WAt2Ap)*6OT-S;w=^XQyRv%6=#(Ag3y4U(T7_p1BpdGjf;a zZpq!7do=fC?w7gFyr{gsd9(7izfP&D+|sQI13{RlM81R-d^}Oho2+LQRUd+xW{q6Pkx^{eRlMDw$FD(=|yvjt}S}L z=*Qy0#n%@9wWPRYUCCo5KbQR6_nUrx{i6EW`W5#Z-fv33`hFYw9qRW;zvuh?vESFA zdVj`TefbY2%s0Tl0>QV!8H z;GWD;l2W7&hs9BXBQ`}IDJ3bEXuOzYty&yCYjxap){Sx3#Zh=wx9hrXwB~M)*>=^P z%kR7rKU}W5>MGuwCcMBxyz6#x1>~q+;Kw;YP*Iw_B+got%Lnm3#U-dkoYj(Mk4@wW zJjQH^H5Hi=h>I@9>ohyJA84I1Z^nkU4J+zf=1mwdW?jq1Wi`VSwhl{3o4+7p;3TevSf?ccuWTUS&Hj|X`VQVR*45R zBt>A-o<@K;3gb|$_f4UMAtjjrV#XVLw1b;cc-rlC3&xLIz#G-IeQse=a(s6izfhQz z)V)Wq5C46Y^Yp*2;$xRqi|S=`at>TprGiy_YIc%H%E2kwxt`A1S;->lOFqoG(fP8( zTdeClaYVd^ku4o#7W228QzWP*26!#j;u5RbV&w)%qYF#y5{1HEF}tO4_ukyq3+6QM ztm>7rsUT~P^ZL<=-Qs&iq~){}=7xJni+$mBX%k>AGPuO(N15&TnGF|L{HTlO;b zCab;Jj+n7A=9KV7rm-g%-#aQ~!i#q-oR?{fCk>=;L6fMyVGid>u}R!qkdc*= zJS6kVftzYtuBn`|nkVf$W$)W7DJ`R5SyjclT2Wm;c+%}E&nVPkH0T9+`X{5?I~3?y z++LCd99gJ3WyG0gIUlz1B`-~%?!4{rj-C9dbJ}$~c(+$&-J$`p$4} z+p4_$G<%+XPI13!{X&{&iZ(}4t(e@{I9b#d^{5^sX7d4ANg^>jD^Vmlf13+FmYE4Y zMtI2r&X)l%@sPybtzV)sF+z(~w!Scyov~~2%#qc=$-rs#SKhXEbZzFOBlpfIDw$Cf zHgS93u_OAe22OUTXHIxj9DSQ_>th!g#YGt+oyyBcYg`Zsz<>o@0X>a|$^4TiPx2Wr zzUaIUy-r{(ny$qG{m3}(9-V*k4b`V9db>;S*c@|$GLbJf5YBUWQEF@`7x~U`{;l)3 zd}P_lqbH9xE|YXHgzXeVMPI#qv<=#4h!E{g=rymu_g?3Pd+wn&9Ebdds{BfdkfVR> zI6e}YeOq>PS>vN8k5XMQj}jK~3fizcxRbqPFb$TVCyQODr*MJV{XRZm(kOfHiqQ)i z4lLibXjaHwFP}XeXh~1v-4n{THZ;!@(`w>MrC=afj%$wTCbUOB<~nGPw4y!?jX=CC zSq?2lGzeNttR{18OdL9@>i;r~F~($g!2j{Qle6cZ`f2^N#_ZCG)%91-n3@-IYp!2P zqGQ-!4?leNvq!INj=AEo^u8H39CtaNev0!iZ`-uHa&*&-CAW+o)XnKk4C|h>WZvF4 zzqtQ_v%_p-_<~{iDH&yXsTmTNz_lqB{oF#BaDY3e*pncC*v&liIiC5J!}(p|lH01p z3++SJujetZAdLyLHztmvZ$zLcf&d+nNrjTa6up~MOpZbzF^fkkCX|J)vuM+hoTbA@ z?q2`U+F8>!?9VQkdxJPOBxkr-mKQgExR|ks-#bVQbgoP4C5TBv=LMR6S<*CNP{|Fd zql1wV(rCcr*WC2Z>D!-g*jF~SV(y$#j*66hCHunOyj2`{XWxnmORB`UC0UvEVqvuTQly#Reb1jhxa+=^&DAq17cH4MJbM=}yE5#Lx1*K|ca|+5CnhgTn7r5d z@>0r^%6?9V6D%8lDfkoJmLsQllm!xIBFk)oL%9TS4^Z9em;hRQ`M3ZS{|IJf&v?GwG zm@Kh_Pkj5i^M82MS4T$zfU~@(^R#mX_p5$VPcso|Ak7mDNr=sH-+rD%Y?Y@e4evwb zdx%1)j48zwIr#O%hhKl;alglq<+nT>b=v1V&m)}6H8@Tq4de*q2{MdK;gN%%B-g=79E65Z%7(xi1 zf0&X1PXu%;9!a!ViX#?lDkRPlt3d>XI&kdVm3K{@b3(n+i%w z3O9;ll>--v1A~5e_g%g;8v{coa2|-Ua4E*ZH1`NZeAJ$6>PXgBHT~e@Pi|S-uy$O2 zIoMj-_3IvLt(iYRxpzUum0J#kv~Hf1FX9p+!V?O{^bxh|XYU*lA0xW;j7XR_TP(&* zjgzD%)&q8oKxkg@|CGqD-VqDm5m85uw4YbBQ{?(yynr|niVG77$AP)h)y&r%IP&s{ z)gxYhIP}mVzSDWd=rI))e3x_GJ$FjFGsBwk9nyk7`f~^9j`L*a*+1QJ$9vAR{^AAa z2>u+zInKgezxY)_J_dbSO%xCRrj%g*)7P)Bz3T8)YhV5Pfjzq^!4iIxvw`2(K7?QI zq+twc!Ar#3D1&%Pw8>#DahRf0?3UnfKL2>#`VT+<=Hu;G@dbR^%P%{RI1ijYO=(nCLJUdEbDa;1 zxz0QJ+&%p2d-gcnf(YdK??LVQ1SiqhaEpYV(x<7SKpCWTAG(zS{hPSCO&ljGU>nuvFX-3Mih&p5hIF3 zQ8}uPIwpW-Nz4L$`yBTmAn?9x?z(5gt(BWI2IdSJnBO;lRk)w4+p4|W|fxa=9Pv>@T!=rJ*{HW z9pwN}LMihl7>9@qjHKNSP(r}5Bw=JG2pzc`8S^2V?mDn)+ivdMZ=F-xw_&Q&dCb4i zo>~xkaJ^W4_x+o?hfXh<+Q=(%ii)W2aX9T3pFrO%`?RB|PYJMUjfFUtfH`nV<&MRbn=b*l@{djR9j~r|TQDP8-fJMAX5dj~x zf6bs-HG9iz7VX?wGr!_^dF4&{g9pzWGWf2+8ywqW$M0GpR$N_K>a5#WUda~>%n>;Q zx8_Wo(gl3CCMrDo;lXF2~&Z4ElY z`6s0J$kE8faq`4*QMG$_`(q-Z{WFT^`rI{Ji$}9?lDCuXMI-|$R^~YQa<}4u$b=rp zYh=Q3%Lbm1%-h?4sU=SY1?N1JBV`vyB$Q3WW?~)3um9lK3vVwg0C;*q)~HF&zYcNqYtUKy8DAI+k8%cL0^2)0jK9e(L<=>B%WsbjlP7 zqo+)pRzJsi8&Av1%gb_ps9)W<%+PR2c^mU}93MVM$7Mq0G%r*_uLgQ-0bHS8l9U{L zJM_kpn~prV8OO%LA!P+PLhor4ZTHF3o#;A+74jt820UmR@|1nts%oo5M)db+MM0|X z#5q*|UNC>yVy%lG62GfZ{k!T@?l5$5>XY*%jfTq^a*;Q2dQBDi<0Iy2z0&!B>Xe7R z)N(CrAI2SqPAS_M{5wrb@dT|kR(6`>eO5)>DiW4m;eYC>`-v8UAlrQb{^FS_b{?mR zap}W!&~;5C=gi7aE65$xujiV1>*o)hQJ$SvIJahX$hell2_h^iETo%#fL%uNC)^#O|Tjms@u3 zyyfZQs2f3DNSg=VH4<}7P&~M~By?@;2JiX;w2)bzef;>akj1n4eCMC3SMk*L&qhyC zb-XARAuYxjH71)rJ#(tQ{^c`%m^#122eyBVB2Y$%>!NAA=+$ZLe)QgFM^3zL(x|5o z-!p9nrTKt`nYkgKK9ffCr!q{9I|bj^WV<% zS6?m53wF(xa6wP4$<-xNWH5#C(=#Rw$WQ4R@$M^27ruD1_l&#qwk5=gXy>!My#1Sb z<5Zb8lo^LI<#--VLXXK2Yy0_I{?A{2S*EA_b$jTqyx6;&aP(;L_ex{ZC62|74mM=HujolM9W3r`xU`f`7 ztdhX~mdP`snj-TG0vy4Mdi7cq>C4 zV%x09euc@)LStfrDU{R{8Wa7O_^}oC*myd}APa1VoZ+c039EKE*6pg>+%G@Fv7_-8WQDx^ zkk|8&(=gs9NqsDOrV>9%!zZe59}^OnoYzZ?P3k>Fl+V;3MkEf%pl5?c z`7BvFP@%h2gG8GEmTD#m zSxL3paCB{U-yy~6y$1HqjqO`HHq}<2bQ{mQ!+Ir+hU1(Bnzsl7^% z*wQwR9s5F$xX^%@2oa9%jJ8dLhtzcbGx#TTcd7Ow()RnS3xE6Q(H&d1IO`4_+PP&* z;@1IR4}0*)@b~lI#|3Hq;73-^7sBonDy1+`ts8PVdK#6p5XVR>W|8wvgrPBdW>nq6 z3LHDPOrO4Gdgb)gtkkTby(1I4$0zdog%!MFkvv7uD&?g!>12Jz)+;k&NKw%|Om>L2 zhlq*%De*Eeh@K0rAYUaWHaF8d^lLtk-vu8yIoH<=P->2DkO+D44NI5pTlQf^enEKw zpI2WYDi$xsDWo7pq!bq7B=Z`C42QvQCYY>_+-^-Nu@p(mNF5Pw3R+J6>i zm>KWCpWj5M_HTDfIJbf(4{CE6;CE~N(Hlgi6u_h$3_dUCh3KEET8O13iH&vIHQw^VlI_Krb`Gpr*mz z*}QSZ16ORRuJ%CE?Zz81Nz!4tTjqndGv?!Cxbx0*&CJLFg-NSIV`776Mj*60B*y9~ zAzB*-D=X|67^p9+dT-M3Mzb7`ewdnv*r<023HLfT-0R7*$1ePg^`DR45=E^GJFx8g zQr!&uE;P=9lrxx?aXw+?ghbv=>Yo3|yCn>~t*Sh|G(Ejk{JnVO$l~0j_QmVhi<^?2 zGhg9peN$8Wrecot3jpSzop2iYQ^)H~CR*{+S}nCBRHy_6;_eBJ)4RX24|J{NAD^Kj|ngy*+-E1*Y= zgH{FfjgeBUG|^~7JOiX>GH8-{Ur^o%k2=}3_pT)uAJCP`KGK8qxG{Y=D9?G9Cj)T~ z#Md6<&OtAKGkBJqvAQu7%M}S4l-bT0jR2KWTbz^R2gp?&Rw85}OzWemS54Z83S34= zhz<;(puJv4T7QWPsljtZQdcZ{@k;7`&_Yw~Wt~Y!z1Axp>RtBYL)6U>PgW9Wb-jmp zt)|U@D+qK7DO9Ud*^AD%^r}#Ftsbt=5Wmi(>OnF*QjiskNV@FB5t58$_KJcrZ$l?0 zd%T=uk^;r8-!<3}Vj(*9K`o<@R_vLiR>-E4VBs%5Cf#$OEcW=CL z#VrR~_v3ua^jmIOapR4x@=Uao2$|RhnK%|wf}Ny%yCp@J?4hjIdGtav%=*)vO;hdH*UtQt^TmJm&Z(|@YFu5n^J!s4*~=GR4f9D+_KG^X@?ahw zy}Vi!Urnbh=eJ-h0`fR?_p;w(PDWG&vfh|&U7qDb8ewuyguNr;iTrQNlnA;^}6G@A3 zX;A(yRSY@|rfLa89(>_16H|idIF7tW(xm4DG-oNvT>>;}Y)Rj-WBZnbruR%pPfzH1 zN!UdG;?biQk3QHxJ)>s=x((6O_oltjd#6I<)J0noG#*d-<}rTN$DB6_K>OL+-A2yLm$`} z+MTRJyF`(cuNB0bh49?1=Gt^eIY|(tSOY2roa1I|9t}hk4FqC6bTEl2HA}M~= zxvVe23v#+Jq=|801MPSFGNZ9z1$7{MmnBl)@m->DodPBNTk25sIRu)eyhC>m$S; zr|A|UTj~6Qk~~5+8;Jz64xTa~SA8#%w3&Oo{|5r#N{U(L&^#rgNKS;;Ws@dc0GR2Cb42)YHn`Ni4jS? zx^-`VW<;TIj2z(*g(HD2X>)|lvK=!(SO+vKp3%}~^1+r3);GHkMl3p5}BWZgu@Zk zaLVxE9znan=@VYfr}gU=q55?!d|iF?>&{i@^N9SdoocQ+bQd)@Va##B?zczs5UoF1 zp;0AH^2KA1w0|eUoQEFc=kC1o%+1cL?z|H;ZDL{QPg^i%U2>j+KIJt}vBdF_6UuvT zn>hTz%@cx(cO!NUr{tX=+@ZKw8U9s>tP&D>osd^1Fl~@95@D^`VDmI@dy-_ zLfI(6S0c${p|h2eXxU?_97*zIM{A{+rs&s`mx=PyMg-&B0-FBsK(g1kEuV^W-QO`s zH(Zj3VK(96`W>=crf5?ba+Fl*BTL{|*<+Qj0({JM&fZ}r1t|FhYWD$#TxE-Q&Q&mJ z4+Z|D&aR_Hl;q=%R?&Q5po3*p{EGx(^2s54J^AE7b4ON4ZE69j$sVhDU90x@nCl15 z8A2X8hfHgAcN{Nsy`(K=v!#5aX*SdmN}b<#gtUN=&f9LHX{j zQ9a4`di1HuZEZyF%Gc>tO_se(DU!18QfS=7S6xz0WxMtka_<}cuLmp6Ct6xC&ouDO4)r731>Oq1o( z75i*zb^rd=Xll@q*)_}519p)p>Vy7fSgA|M8#;xw-Y`y=aEIO0V@_Lo7I{VgQ94Lx z$5l9!Z>zc|v>-1d9a?GlNyo?8O?=TS$gi7gmdJ%qT5s~0*Yfl7`0#R0qY_d{hoX5V ziCh#FH)wtbFSQ($cvktTsZ#q6@93^Z5FGb7tjW4be`@Ff$)4yLO*-kdrGmhhSM@W{ z75MP1Hu*^lhw{P6kmE13j9wD0u?)!M-=hx?>Eyts4ZS|x*nmd``zBC6=}IvYfa_?p z`;K~f-v7vCA3os%y0MEFeK>|o+|an5f$_~s8dCR2+W~IU4*T%DJ9oH~@12;9UQYC+ z;Jz9-w{?-Pv?WAaphC8m_;hBkh5Bf7b+s?d-=ZmyG~7!$AF~#&a`TBIGE)aCwm-dd z6Z}Bz|DwxR8z{a12hgvZq4^^FjRv#s&uj&9Jy$68fJUmty5mWw72k;wmt9XgH0lvJ+y_Uia0{sG&ghkLjyA~H0taia&% z9+sh2));9+(`j_%c7}@RPRQ+w;gxr#V$j&0PaTTl;ipYkgSO!@>7i}k>{VN@bIwic zM}4f^5kDxJf7Is+9>ovIkC|j5>}f^xuQ^v4*-B?mW{*(RwNLZS?#}Ql-pzcsK`x?k z?6heUacb2!E?N7sBcpuPT8_ZJs!aT!>Px!WH1c)2%=*d!xl8Zu@Wa1WLz2bOzRr_^ z)?mr@)ifUErBK^)tJ#V% z1OAZk>84e?gZQOenIBPw_w34T-85c<;9|tDIIx4B1^$@$AMh19yTNRR#xOc)9Fu=m zM^TCxh~;Ag>2%_!pM-xy6@CrvztA!=;a@!-)o}fQe8?9bvVpXYt2{dSabxh?zu)5* zF9*Jj-mdXN>eQB)XuQ+(dbGY1hWs;_3z1PCLma{G`ZEfiAbq_I@k)+6KZny7>Hn1D zmvDWIcn#7w0RC)b>BnMcZHy{=G1T2zW!`E)LiWi2ZKRutd9(>ym=5Vmjt9HDk}PYq zyT5Q&>YByLkBNMZNP6*b)Up?QYpl6_xHn(UM;a6G7p8nOyiyURmmF6qQ%_QHp0wog z4_MV&KFyy&mP(1rUVQ3^@{)iX4#yrmXRZj_dj`A9ubE+uw&O&uDkQqC88q^#@;QS^lE0LvX&XXPEE3 zB!OT=B_~RIFdTJs9d1%=J*Fj3(~3de*+nfJ6jWE2Cuqczmh`_PRLZ%>jmc;wg)Ecm zgEHYU2}q^HizJZ1`jco&RpNh#H0$hv_ET#iRh=G1S$=Yt0X+>*p%kwiSJH30td@o^ z#fe;cF6ld*1S5dhgnUt3 zZlTe;$Wl}S6LATD{(3&K{U4Q;C$8tML#{sZiR}>^&-swn$dOHZ4f2LQk6R!f>nYZZ zKR#i?@$tMd)%o;ysYg=z;4d)9D%elUwx&{`2Ljb-t2p^!G@-NQNv@n<^j0@4=|p-5 zG8rT1qL7xT?UA@6C%S-XsPngmWhK&*ahrRlT4poUpBu{C8d3O!t zdQ<8bV<3M8lAg*#FFqjrrse{tpgEuut^T=2_>clin!dj>S=@GAt=+p5h z=aZ!A(`R~}P$+_xWaT{Mflx?ksy)O99(8}AX3&`QMWUIE=)zwJtlr+iy`{aa?c%?? z@S#yMcnjt^n*N{ic1tPJdBNMxu!pbuT}Rb443_N&eJiGQ*hvnIr8%lc66~r5{0H~I z(z8QNbOF$JW%RoIAa(z8osKT0ch<5SguaeeldbLnstY~;vueoF>vpsBwX${XYlZz^ zQea=RS~_}Lof>@QrbTxr-+zs7f2;ZP? zIQMEuFAKSG>0#;G2OeCvwrW)Cl`xIpWSu>qGnaj_X-D<&L31N6-@Vy zAMdt^kC(HmcMY{v`k52pnY5N0oCUmI+mivVQ^wWYL%7v4n0Hvw9RsG?c~$orsoGQg zfIlJar;up0u~c7Sb`X5@pK6sExv!HcRa^f^>&sy;>k=jp8|(yGgkpl7fxGye zCMytp&e!GIw?OER3_KNMunwgru`iH-dT~*GWgN99$rvXfCx)SqW1Q;%uRhg;oej!I zxt8CJMxLj5>u)-(kXKB${U2(bJaod~sE#_}Xwp`plc6O!j^^U!GyYP5Hb zVRqaR*V5}oTehjIlrPcb<%(i|wbgIZ{S>iRj$AuR_HTHa>D}Qnnx4O{h`PG#=2v0^ z`?dBL%nJF5_I(HhH}~r6Y7dB?6u+pUtssp3T-y~wuo&m7a!qO=*%CaAC)&sQ)cq>2 z6wfME=d1bzCBu8YD&Rsxt(W?7@JJmukacM*1<_sM`cZ<)Ep_P|RRAWelYQG{gIrJC zf#iCV4{-P}$obnnz=%<#?S9A$5ZynO=FY?ml@w$&{KlA{;Co+nyO5H$n00n^)$Gxj zTX$vKM$R7F_A4+Sb~Hqbxlj)4@T^9AK{Mcynjo8bL&e{8i%Y+AL-&c&l)c;uKpnns z)R^Ac_U@63JWy7+1)|QtPSIr{<%|0ctQ_5-BPHFlH=K+XuEdzh6;G{JaqlDI{1EF_ zCaesVOI14g`Y-_HR8@cS; z7FIzP(cY<%x9u_R=yKDckfDYh*L>5Cc3QG7G=K2T&>TR=;r0jD7Rh*A!kup_(7fEj6;PVL24t6TvO;w9 zgwTBDIyyo;p}_3q3PExWWG)S^mC{c=!T=emuaa7Nx5h%`khZ7){7$-LU%no%Vu7^WKY>dTfn$3gL**trzV0vs8wB)L3Ln2?&wGHt_vax>wF<6gA$6Mxh@_; zJ3L?mJ@_!vmMvKL4lOd)Z8l|Q_l&kBTC9Vnghni$SDM?qS4yhczj=4h$OS<`yUYo_ zw_ZDR+N99kfeFcp*WOk;k^Hr#j|{$iLVh=K&OqWXi11|eS z25c1QrcwvzHpqK0ae1ELd>3`3)BmwQxaQ$@xnALZYP}NXMamB_i^jRjTd^dkN0(f+ zWCIE>W95>VuI5O7$|n(Xq+fxhvsa>oKis(V&`i;m1d_JoGGH;xq#jqYxVg(2ghw<_|CLDu z_BVjvMybdIXMuFV)!L>M2m^gelEAmH^CwS91Q#pjiJHxrFIM|kVS%ySze;3!S&N;| z&<0l6{|syTUy*ZreZ9LUdt z*En|=fl}73@Xk;p{LWu0Jb?_u2Qu(lD6>yZ{|A-O?V zbgw7Bw9he`v7-Q+f|l$gy;3{U{)%7V`x?7|Ic*>E=fAl7ZuQ(W!|>cxs6EFQKOpl{ ze~Q+&VS@2LyJ=rP!9nf5(LU+A=N`eA*0Ws)EHR1t#mrJj`bg@QjI07&w{!V4PaN7R`{JNwkv zh8Grq4^6$Jex6C@L05BL#*5Vdpzq)l_%BiqgC6g(iTQi1rv=Dp%!~ET8z{pU>j84` z#24>qm}}CmDj&eke+2A77%8FAbJx@mRq^6+)*gFfbAq4lAgH{;~|j>_lwLJi~VkOrkYbM{u!k{nxj>F(Ov-L+58FBj$W=|s9_ zNGGNQ_B=usickGaKg7%v&NTXeUj7J93w=+)@0{U#3Z?i;4g_V458BEq43=IuYBzGt z3*KvEIjVj#D`s#vn|7CoAq48I~!yv!Q;PpiY4rxCT zU(BKXhp>m2+w5`k`ZCe>?57%or{fM^pryW7)LlVWD{duB` z{TbiKsdDafK8E&Bg>Ta>@c+pmX)%qu86lLu%^@c;9am73bord4L@{aD~ zhjTuBQqS93Z=QBV!LZ7tgO73k*zGCfN{d&|3fsK2-V!FF0_zuTSnDmym5B}@7<>C*g9BWdrcd-0k$mOd8;Y&y`!hj8dX%#GigwP&rPOw z@y!*bVrWIgwm|NICJuYd`;IjVX3$t=^dv~)98a%Rf=BUv#CRdrN_?A9>?bhIsfY6N0oW7X@ zY}VjVOGs8mUa^_?fqCwaPpn=01o4mvzC-Ls`-G6L5*Bbz8MG}KG^eq=O3&2!+AJP6 zi|_E{@YR?xUs2z{_a%6U7|EX?KFn$NrIEBuh=<%yWk6GbJq&11QS`VZRH5^(qQ0N< zudokl?p$rN(e~eXZ#}v%+_3d%$DK&2f1_Nn2j$|cEV|daf2aLS$yb2@}+fR9R zHvQcY{-oRkw2yIvQLqr{dO@E@P1CtvRKy$PC2wH`qE z6(FRO4*7oGZ>j}vh@=*De-%dGi#xWrG6YJ~v6wfbxKM4wz2G)m8I4>T8--*FNwt#5?+fsl_ura zu1fQ?72y#&G`Ektj|$P`q7w$?azdYV;j8pDv8q0=%C`EIGH7*Jr!xA%tmC_g4bryL z3%c|*@PFt|9u~gVH-Y46#^}{i*1$8phrR&fcqUde-8riigr^oW=}RC$52RxM+^`Np zYai^NK=P|xQ{^?U#poy}wwG$G58RVpwK+mT$7Z|LI19e`SD&@Vn4_=3`wCQ&L;ECf zd}Bp!F9JP+63Fz8N91Owa>oR_+`WM|o{lyw^WxVHNWs?QhGkx5LwaKWhOw{0#FLJX zdf3%sFJX;LQG1bll!QG3lQN4&k1op3Psqr?9uDn)H>~>dSM)4(nxU{}rL#VO6Fk9e zv^8B0)_4?DnZN%P)R{#-X{ymmD4Np8H!OHBfKCjv5SHO3{$f2AHz z$%POQL3>h#MZ&AxSw{+we9&)O*Hq8Uax5P;vNk_`Dj z_6-s}k}H=F8n$@6SW%GKBId0n*~(j1O{dw?rDava7bG-s6^=5UejD~l_B-$+_&r%tBBd=g(ovFRbzsMHNJ%6yBvA-Q3Ow)qA<|=S z>e!f+5DB{>If~4Z>Co22c|1kN zl8>nnc_0co(8pqdp95LpyM8Ev4q^+A!q}Ktb4oJgLMvk9&Wtc^j3~Cg6>xXJn_*GW zp$iguRYKhl;c01E&hz1U;o*7QKPb3YL_|Qy^iV%P9%1bf5)o#N2#pTnAt90GI|2g2 zgJPnBVt7_iU`SA8Ou)dHu&|ggTWDZZKvdxIJt`q0wp%x|Evzj!Bp{}HOt)^m!Xy2H!gIqT!h! z3RrS&HvH!$C+DT$cQ7s}Iy!t*YkQR{#K)A5=cxTC$WCRo`w9=?!soz3*$vUZ-qyR7R2bn*Sd8 zK#$|4_jRwIb}vrAH{`@wuJ#Y~sc&89y*-`WGEf+|3Z(KJ;(PvriF`$*r-%c~E7Z~o z;JzQ~^qfiQ0zI0*I8y$RF;lK5K!{h%I8yg~?-6=~w9CXl`BkPbp|yam8Dq4U!^AR! zmxQUv=oCQ=2j8vV4#?DR6uUtSW3P7hqZStUh+nK0#_WoZ*TT@t@@-n!pM~Pv+A1G2 zp1-e!Ev!b+mjdYr+l+~{_Vj}nhG~Ts#_pJ=BU(5F;m@>iDBI$9Q45FRd)*&s;Rt3n zM{40nh(W!9Pwq!;xDSU4lMg(}mGoS&Fz&B~P5ACMt;e9}7!x_|HcMfD)}8Ou!e%@t zKYn^{VJG-!S~!4ZngX?OAnOfXzlsx#@K!Axg7ELOa47dPUC_c|Y>NLzEgZo@%qA@y z$%4$?@J;3>$x)kG16#!E@vUPUq=#Y9k=QT-u8a!)4iOu-3Gkt-14W8EG$uh=w*7}-dwz8!)wYZxAa2K&Q z`MMdmb&J}T)*w)U%9W!+{gJqQ25A4h4YJ+entu8=d+IHQERueF6IMWK=`-@JiVrb+R!i#!%UB>+p6Njz%;U5mS>q z6Dd&j7s|$?H!TP)#QRl}$S8d+LPXh$NGN8TER!HW zahPVL%|mXgbLXOtt$=zd5!FyzEjSHPQEPpjZA9aOoXIWVE|m?nb&V}`wxNrf>*|)( zHMZJXn-BxEx3CE}ElmqsSJgDv*=lPViMkdxwKXoVH8n16Xsol<%KFK=pY z&8q`*$*pf)wiGb@zo{JSk|lNq!kaH?J&hUJlg5_>4W9T8_cqetcK&giL~x9FCX8ITBr6O8dZ6n^&Mkmw`f0U3?-vC!~XF;2!qpU?yTc?qxs^g@d#LGP1-`F<)G zuN~u12G$5?L2I3Z_R7OpQ~);Xz}&V7-|jBKKDYhAng`&^n}guPGlZ3bGRrV_4F?UE zgJD;&QDELK9mn{CDX zVn5r?_Oh$lZR`QIi+#whWY@DjYzM4Ye`U9`BkV5rFng7~!X5z?*RpHTWBvdtJH=jO zZ?ZqK*V!BFD^UGu_7;1a{RaKz8+ILgpS{c8LzDl5{gdrvi$Uj0BrP_wL!i_Zpx0(e zxvgv^ddt^rHCv1Rc?Da~*0E>Uoopl9z&5eX>>NAKp5-R)$NgdU#3rw-ojG|R4`MFP zu*Gf&59J*D{)h7jd`TdRNAnmS%j38ea@9|~8;|GR@!j;E_)bY8@5OCAi6`?E_A~o{ z_vWeiWU`&7^9-KJvv@YoVV|;Ihwd?Vk)H}ft0O1_nEsZm$+(D}`EE9=ZP@?sgkgWS*VZ5l^8$4lj{Is`EhDsyG2~GJ<`F96I(Z2i;Z7Y?=MGv% zXvNj3t9gXVu})rsM!F*gEpi7#MnYg(R-=FlS!B5JtC(NY>{pMIWt0X>g9ghe1xtgf z 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/published/fonts/gothambook.ttf b/app/src/main/assets/published/fonts/gothambook.ttf new file mode 100644 index 0000000000000000000000000000000000000000..132ac100cbffdb7b57575adf453176a76342a592 GIT binary patch literal 66804 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/published/fonts/hawaiidigitalnumbers.ttf b/app/src/main/assets/published/fonts/hawaiidigitalnumbers.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2884dbee316eb4b13509505b86dc52eff53f7df7 GIT binary patch literal 7216 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 IwCzIw1MFF1$N&HU literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/bda/controller/BaseEvent.java b/app/src/main/java/com/bda/controller/BaseEvent.java new file mode 100644 index 0000000..06eac28 --- /dev/null +++ b/app/src/main/java/com/bda/controller/BaseEvent.java @@ -0,0 +1,57 @@ +package com.bda.controller; + +import android.os.Parcel; +import android.os.Parcelable; + +/* loaded from: classes.dex */ +class BaseEvent implements Parcelable { + public static final Parcelable.Creator CREATOR = new ParcelableCreator(); + final int mControllerId; + final long mEventTime; + + @Override // android.os.Parcelable + public int describeContents() { + return 0; + } + + public BaseEvent(long j, int i) { + this.mEventTime = j; + this.mControllerId = i; + } + + BaseEvent(Parcel parcel) { + this.mEventTime = parcel.readLong(); + this.mControllerId = parcel.readInt(); + } + + public final int getControllerId() { + return this.mControllerId; + } + + public final long getEventTime() { + return this.mEventTime; + } + + @Override // android.os.Parcelable + public void writeToParcel(Parcel parcel, int i) { + parcel.writeLong(this.mEventTime); + parcel.writeInt(this.mControllerId); + } + + static class ParcelableCreator implements Parcelable.Creator { + ParcelableCreator() { + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public BaseEvent createFromParcel(Parcel parcel) { + return new BaseEvent(parcel); + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public BaseEvent[] newArray(int i) { + return new BaseEvent[i]; + } + } +} diff --git a/app/src/main/java/com/bda/controller/Constants.java b/app/src/main/java/com/bda/controller/Constants.java new file mode 100644 index 0000000..c04690c --- /dev/null +++ b/app/src/main/java/com/bda/controller/Constants.java @@ -0,0 +1,22 @@ +package com.bda.controller; + +/* loaded from: classes.dex */ +public final class Constants { + public static final int MSG_SET_ACTIVITY_EVENT = 1; + + private Constants() { + } + + public static final class ActivityEvent { + public static final int CREATE = 1; + public static final int DESTROY = 2; + public static final int PAUSE = 6; + public static final int RESUME = 5; + public static final int SERVICE_CONNECTED = 7; + public static final int START = 3; + public static final int STOP = 4; + + private ActivityEvent() { + } + } +} diff --git a/app/src/main/java/com/bda/controller/Controller.java b/app/src/main/java/com/bda/controller/Controller.java new file mode 100644 index 0000000..30f716d --- /dev/null +++ b/app/src/main/java/com/bda/controller/Controller.java @@ -0,0 +1,381 @@ +package com.bda.controller; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.os.Handler; +import android.os.IBinder; +import android.os.RemoteException; +import com.bda.controller.IControllerListener; +import com.bda.controller.IControllerMonitor; +import com.bda.controller.IControllerService; + +/* loaded from: classes.dex */ +public final class Controller { + public static final int ACTION_CONNECTED = 1; + public static final int ACTION_CONNECTING = 2; + public static final int ACTION_DISCONNECTED = 0; + public static final int ACTION_DOWN = 0; + public static final int ACTION_FALSE = 0; + public static final int ACTION_TRUE = 1; + public static final int ACTION_UP = 1; + public static final int ACTION_VERSION_MOGA = 0; + public static final int ACTION_VERSION_MOGAPRO = 1; + public static final int AXIS_LTRIGGER = 17; + public static final int AXIS_RTRIGGER = 18; + public static final int AXIS_RZ = 14; + public static final int AXIS_X = 0; + public static final int AXIS_Y = 1; + public static final int AXIS_Z = 11; + static final int CONTROLLER_ID = 1; + public static final int INFO_ACTIVE_DEVICE_COUNT = 2; + public static final int INFO_KNOWN_DEVICE_COUNT = 1; + public static final int INFO_UNKNOWN = 0; + public static final int KEYCODE_BUTTON_A = 96; + public static final int KEYCODE_BUTTON_B = 97; + public static final int KEYCODE_BUTTON_L1 = 102; + public static final int KEYCODE_BUTTON_L2 = 104; + public static final int KEYCODE_BUTTON_R1 = 103; + public static final int KEYCODE_BUTTON_R2 = 105; + public static final int KEYCODE_BUTTON_SELECT = 109; + public static final int KEYCODE_BUTTON_START = 108; + public static final int KEYCODE_BUTTON_THUMBL = 106; + public static final int KEYCODE_BUTTON_THUMBR = 107; + public static final int KEYCODE_BUTTON_X = 99; + public static final int KEYCODE_BUTTON_Y = 100; + public static final int KEYCODE_DPAD_DOWN = 20; + public static final int KEYCODE_DPAD_LEFT = 21; + public static final int KEYCODE_DPAD_RIGHT = 22; + public static final int KEYCODE_DPAD_UP = 19; + public static final int KEYCODE_UNKNOWN = 0; + static final int LEGACY_KEYCODE_BUTTON_X = 98; + static final int LEGACY_KEYCODE_BUTTON_Y = 99; + public static final int STATE_CONNECTION = 1; + public static final int STATE_CURRENT_PRODUCT_VERSION = 4; + public static final int STATE_POWER_LOW = 2; + + @Deprecated + public static final int STATE_SELECTED_VERSION = 4; + public static final int STATE_SUPPORTED_PRODUCT_VERSION = 3; + + @Deprecated + public static final int STATE_SUPPORTED_VERSION = 3; + public static final int STATE_UNKNOWN = 0; + final Context mContext; + boolean mIsBound = false; + IControllerService mService = null; + final IControllerListener.Stub mListenerStub = new IControllerListenerStub(); + final IControllerMonitor.Stub mMonitorStub = new IControllerMonitorStub(); + final ServiceConnection mServiceConnection = new ServiceConnection(); + int mActivityEvent = 6; + Handler mHandler = null; + ControllerListener mListener = null; + ControllerMonitor mMonitor = null; + + public static final Controller getInstance(Context context) { + return new Controller(context); + } + + Controller(Context context) { + this.mContext = context; + } + + public final void exit() { + setListener(null, null); + setMonitor(null); + if (this.mIsBound) { + this.mContext.unbindService(this.mServiceConnection); + this.mIsBound = false; + } + } + + public final float getAxisValue(int i) { + if (this.mService == null) { + return 0.0f; + } + try { + return this.mService.getAxisValue(1, i); + } catch (RemoteException unused) { + return 0.0f; + } + } + + public final int getInfo(int i) { + if (this.mService == null) { + return 0; + } + try { + return this.mService.getInfo(i); + } catch (RemoteException unused) { + return 0; + } + } + + public final int getKeyCode(int i) { + if (this.mService != null) { + try { + return this.mService.getKeyCode2(1, i); + } catch (RemoteException unused) { + switch (i) { + case 99: + i = 98; + break; + case 100: + i = 99; + break; + } + try { + return this.mService.getKeyCode(1, i); + } catch (RemoteException unused2) { + } + } + } + return 1; + } + + public final int getState(int i) { + if (this.mService == null) { + return 0; + } + try { + return this.mService.getState(1, i); + } catch (RemoteException unused) { + return 0; + } + } + + public final boolean init() { + if (!this.mIsBound) { + Intent intent = new Intent(IControllerService.class.getName()); + this.mContext.startService(intent); + this.mContext.bindService(intent, this.mServiceConnection, 1); + this.mIsBound = true; + } + return this.mIsBound; + } + + public final void onPause() { + this.mActivityEvent = 6; + sendMessage(1, this.mActivityEvent); + registerListener(); + } + + public final void onResume() { + this.mActivityEvent = 5; + sendMessage(1, this.mActivityEvent); + registerListener(); + } + + void registerListener() { + if (this.mListener == null || this.mService == null) { + return; + } + try { + try { + this.mService.registerListener2(this.mListenerStub, this.mActivityEvent); + } catch (RemoteException ignored) { + } + this.mService.registerListener(this.mListenerStub, this.mActivityEvent); + } catch (RemoteException ignored) { + } + } + + void registerMonitor() { + if (this.mMonitor == null || this.mService == null) { + return; + } + try { + this.mService.registerMonitor(this.mMonitorStub, this.mActivityEvent); + } catch (RemoteException unused) { + } + } + + void sendMessage(int i, int i2) { + if (this.mService != null) { + try { + this.mService.sendMessage(i, i2); + } catch (RemoteException unused) { + } + } + } + + public final void setListener(ControllerListener controllerListener, Handler handler) { + unregisterListener(); + this.mListener = controllerListener; + this.mHandler = handler; + registerListener(); + } + + public final void setMonitor(ControllerMonitor controllerMonitor) { + unregisterMonitor(); + this.mMonitor = controllerMonitor; + registerMonitor(); + } + + void unregisterListener() { + if (this.mService != null) { + try { + this.mService.unregisterListener(this.mListenerStub, this.mActivityEvent); + } catch (RemoteException unused) { + } + } + } + + void unregisterMonitor() { + if (this.mService != null) { + try { + this.mService.unregisterMonitor(this.mMonitorStub, this.mActivityEvent); + } catch (RemoteException unused) { + } + } + } + + public void allowNewConnections() { + if (this.mService != null) { + try { + this.mService.allowNewConnections(); + } catch (RemoteException unused) { + } + } + } + + public void disallowNewConnections() { + if (this.mService != null) { + try { + this.mService.disallowNewConnections(); + } catch (RemoteException unused) { + } + } + } + + public void isAllowingNewConnections() { + if (this.mService != null) { + try { + this.mService.isAllowingNewConnections(); + } catch (RemoteException unused) { + } + } + } + + class IControllerListenerStub extends IControllerListener.Stub { + IControllerListenerStub() { + } + + @Override // com.bda.controller.IControllerListener + public void onKeyEvent(KeyEvent keyEvent) throws RemoteException { + if (keyEvent.getControllerId() != 1 || Controller.this.mListener == null) { + return; + } + KeyRunnable keyRunnable = Controller.this.new KeyRunnable(keyEvent); + if (Controller.this.mHandler != null) { + Controller.this.mHandler.post(keyRunnable); + } else { + keyRunnable.run(); + } + } + + @Override // com.bda.controller.IControllerListener + public void onMotionEvent(MotionEvent motionEvent) throws RemoteException { + if (motionEvent.getControllerId() != 1 || Controller.this.mListener == null) { + return; + } + MotionRunnable motionRunnable = Controller.this.new MotionRunnable(motionEvent); + if (Controller.this.mHandler != null) { + Controller.this.mHandler.post(motionRunnable); + } else { + motionRunnable.run(); + } + } + + @Override // com.bda.controller.IControllerListener + public void onStateEvent(StateEvent stateEvent) throws RemoteException { + if (stateEvent.getControllerId() != 1 || Controller.this.mListener == null) { + return; + } + StateRunnable stateRunnable = Controller.this.new StateRunnable(stateEvent); + if (Controller.this.mHandler != null) { + Controller.this.mHandler.post(stateRunnable); + } else { + stateRunnable.run(); + } + } + } + + class IControllerMonitorStub extends IControllerMonitor.Stub { + IControllerMonitorStub() { + } + + @Override // com.bda.controller.IControllerMonitor + public void onLog(int i, int i2, String str) throws RemoteException { + if (Controller.this.mMonitor != null) { + Controller.this.mMonitor.onLog(i, i2, str); + } + } + } + + class KeyRunnable implements Runnable { + final KeyEvent mEvent; + + public KeyRunnable(KeyEvent keyEvent) { + this.mEvent = keyEvent; + } + + @Override // java.lang.Runnable + public void run() { + if (Controller.this.mListener != null) { + Controller.this.mListener.onKeyEvent(this.mEvent); + } + } + } + + class MotionRunnable implements Runnable { + final MotionEvent mEvent; + + public MotionRunnable(MotionEvent motionEvent) { + this.mEvent = motionEvent; + } + + @Override // java.lang.Runnable + public void run() { + if (Controller.this.mListener != null) { + Controller.this.mListener.onMotionEvent(this.mEvent); + } + } + } + + class ServiceConnection implements android.content.ServiceConnection { + ServiceConnection() { + } + + @Override // android.content.ServiceConnection + public final void onServiceConnected(ComponentName componentName, IBinder iBinder) { + Controller.this.mService = IControllerService.Stub.asInterface(iBinder); + Controller.this.registerListener(); + Controller.this.registerMonitor(); + if (Controller.this.mActivityEvent == 5) { + Controller.this.sendMessage(1, 5); + Controller.this.sendMessage(1, 7); + } + } + + @Override // android.content.ServiceConnection + public final void onServiceDisconnected(ComponentName componentName) { + Controller.this.mService = null; + } + } + + class StateRunnable implements Runnable { + final StateEvent mEvent; + + public StateRunnable(StateEvent stateEvent) { + this.mEvent = stateEvent; + } + + @Override // java.lang.Runnable + public void run() { + if (Controller.this.mListener != null) { + Controller.this.mListener.onStateEvent(this.mEvent); + } + } + } +} diff --git a/app/src/main/java/com/bda/controller/ControllerListener.java b/app/src/main/java/com/bda/controller/ControllerListener.java new file mode 100644 index 0000000..02ef0b5 --- /dev/null +++ b/app/src/main/java/com/bda/controller/ControllerListener.java @@ -0,0 +1,10 @@ +package com.bda.controller; + +/* loaded from: classes.dex */ +public interface ControllerListener { + void onKeyEvent(KeyEvent keyEvent); + + void onMotionEvent(MotionEvent motionEvent); + + void onStateEvent(StateEvent stateEvent); +} diff --git a/app/src/main/java/com/bda/controller/ControllerMonitor.java b/app/src/main/java/com/bda/controller/ControllerMonitor.java new file mode 100644 index 0000000..536cf7c --- /dev/null +++ b/app/src/main/java/com/bda/controller/ControllerMonitor.java @@ -0,0 +1,6 @@ +package com.bda.controller; + +/* loaded from: classes.dex */ +public interface ControllerMonitor { + void onLog(int i, int i2, String str); +} diff --git a/app/src/main/java/com/bda/controller/IControllerListener.java b/app/src/main/java/com/bda/controller/IControllerListener.java new file mode 100644 index 0000000..16bd5ff --- /dev/null +++ b/app/src/main/java/com/bda/controller/IControllerListener.java @@ -0,0 +1,147 @@ +package com.bda.controller; + +import android.os.Binder; +import android.os.IBinder; +import android.os.IInterface; +import android.os.Parcel; +import android.os.RemoteException; + +/* loaded from: classes.dex */ +public interface IControllerListener extends IInterface { + void onKeyEvent(KeyEvent keyEvent) throws RemoteException; + + void onMotionEvent(MotionEvent motionEvent) throws RemoteException; + + void onStateEvent(StateEvent stateEvent) throws RemoteException; + + public static abstract class Stub extends Binder implements IControllerListener { + private static final String DESCRIPTOR = "com.bda.controller.IControllerListener"; + static final int TRANSACTION_onKeyEvent = 1; + static final int TRANSACTION_onMotionEvent = 2; + static final int TRANSACTION_onStateEvent = 3; + + @Override // android.os.IInterface + public IBinder asBinder() { + return this; + } + + public Stub() { + attachInterface(this, DESCRIPTOR); + } + + public static IControllerListener asInterface(IBinder iBinder) { + if (iBinder == null) { + return null; + } + IInterface queryLocalInterface = iBinder.queryLocalInterface(DESCRIPTOR); + if (queryLocalInterface != null && (queryLocalInterface instanceof IControllerListener)) { + return (IControllerListener) queryLocalInterface; + } + return new Proxy(iBinder); + } + + @Override // android.os.Binder + public boolean onTransact(int i, Parcel parcel, Parcel parcel2, int i2) throws RemoteException { + if (i == 1598968902) { + parcel2.writeString(DESCRIPTOR); + return true; + } + switch (i) { + case 1: + parcel.enforceInterface(DESCRIPTOR); + onKeyEvent(parcel.readInt() != 0 ? KeyEvent.CREATOR.createFromParcel(parcel) : null); + parcel2.writeNoException(); + return true; + case 2: + parcel.enforceInterface(DESCRIPTOR); + onMotionEvent(parcel.readInt() != 0 ? MotionEvent.CREATOR.createFromParcel(parcel) : null); + parcel2.writeNoException(); + return true; + case 3: + parcel.enforceInterface(DESCRIPTOR); + onStateEvent(parcel.readInt() != 0 ? StateEvent.CREATOR.createFromParcel(parcel) : null); + parcel2.writeNoException(); + return true; + default: + return super.onTransact(i, parcel, parcel2, i2); + } + } + + private static class Proxy implements IControllerListener { + private IBinder mRemote; + + public String getInterfaceDescriptor() { + return Stub.DESCRIPTOR; + } + + Proxy(IBinder iBinder) { + this.mRemote = iBinder; + } + + @Override // android.os.IInterface + public IBinder asBinder() { + return this.mRemote; + } + + @Override // com.bda.controller.IControllerListener + public void onKeyEvent(KeyEvent keyEvent) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + if (keyEvent != null) { + obtain.writeInt(1); + keyEvent.writeToParcel(obtain, 0); + } else { + obtain.writeInt(0); + } + this.mRemote.transact(1, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerListener + public void onMotionEvent(MotionEvent motionEvent) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + if (motionEvent != null) { + obtain.writeInt(1); + motionEvent.writeToParcel(obtain, 0); + } else { + obtain.writeInt(0); + } + this.mRemote.transact(2, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerListener + public void onStateEvent(StateEvent stateEvent) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + if (stateEvent != null) { + obtain.writeInt(1); + stateEvent.writeToParcel(obtain, 0); + } else { + obtain.writeInt(0); + } + this.mRemote.transact(3, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + } + } +} diff --git a/app/src/main/java/com/bda/controller/IControllerMonitor.java b/app/src/main/java/com/bda/controller/IControllerMonitor.java new file mode 100644 index 0000000..606b27c --- /dev/null +++ b/app/src/main/java/com/bda/controller/IControllerMonitor.java @@ -0,0 +1,86 @@ +package com.bda.controller; + +import android.os.Binder; +import android.os.IBinder; +import android.os.IInterface; +import android.os.Parcel; +import android.os.RemoteException; + +/* loaded from: classes.dex */ +public interface IControllerMonitor extends IInterface { + void onLog(int i, int i2, String str) throws RemoteException; + + public static abstract class Stub extends Binder implements IControllerMonitor { + private static final String DESCRIPTOR = "com.bda.controller.IControllerMonitor"; + static final int TRANSACTION_onLog = 1; + + @Override // android.os.IInterface + public IBinder asBinder() { + return this; + } + + public Stub() { + attachInterface(this, DESCRIPTOR); + } + + public static IControllerMonitor asInterface(IBinder iBinder) { + if (iBinder == null) { + return null; + } + IInterface queryLocalInterface = iBinder.queryLocalInterface(DESCRIPTOR); + if (queryLocalInterface != null && (queryLocalInterface instanceof IControllerMonitor)) { + return (IControllerMonitor) queryLocalInterface; + } + return new Proxy(iBinder); + } + + @Override // android.os.Binder + public boolean onTransact(int i, Parcel parcel, Parcel parcel2, int i2) throws RemoteException { + if (i != 1) { + if (i == 1598968902) { + parcel2.writeString(DESCRIPTOR); + return true; + } + return super.onTransact(i, parcel, parcel2, i2); + } + parcel.enforceInterface(DESCRIPTOR); + onLog(parcel.readInt(), parcel.readInt(), parcel.readString()); + parcel2.writeNoException(); + return true; + } + + private static class Proxy implements IControllerMonitor { + private IBinder mRemote; + + public String getInterfaceDescriptor() { + return Stub.DESCRIPTOR; + } + + Proxy(IBinder iBinder) { + this.mRemote = iBinder; + } + + @Override // android.os.IInterface + public IBinder asBinder() { + return this.mRemote; + } + + @Override // com.bda.controller.IControllerMonitor + public void onLog(int i, int i2, String str) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + obtain.writeInt(i2); + obtain.writeString(str); + this.mRemote.transact(1, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + } + } +} diff --git a/app/src/main/java/com/bda/controller/IControllerService.java b/app/src/main/java/com/bda/controller/IControllerService.java new file mode 100644 index 0000000..4c1ea62 --- /dev/null +++ b/app/src/main/java/com/bda/controller/IControllerService.java @@ -0,0 +1,406 @@ +package com.bda.controller; + +import android.os.Binder; +import android.os.IBinder; +import android.os.IInterface; +import android.os.Parcel; +import android.os.RemoteException; +import com.bda.controller.IControllerListener; +import com.bda.controller.IControllerMonitor; + +/* loaded from: classes.dex */ +public interface IControllerService extends IInterface { + void allowNewConnections() throws RemoteException; + + void disallowNewConnections() throws RemoteException; + + float getAxisValue(int i, int i2) throws RemoteException; + + int getInfo(int i) throws RemoteException; + + int getKeyCode(int i, int i2) throws RemoteException; + + int getKeyCode2(int i, int i2) throws RemoteException; + + int getState(int i, int i2) throws RemoteException; + + boolean isAllowingNewConnections() throws RemoteException; + + void registerListener(IControllerListener iControllerListener, int i) throws RemoteException; + + void registerListener2(IControllerListener iControllerListener, int i) throws RemoteException; + + void registerMonitor(IControllerMonitor iControllerMonitor, int i) throws RemoteException; + + void sendMessage(int i, int i2) throws RemoteException; + + void unregisterListener(IControllerListener iControllerListener, int i) throws RemoteException; + + void unregisterMonitor(IControllerMonitor iControllerMonitor, int i) throws RemoteException; + + public static abstract class Stub extends Binder implements IControllerService { + private static final String DESCRIPTOR = "com.bda.controller.IControllerService"; + static final int TRANSACTION_allowNewConnections = 12; + static final int TRANSACTION_disallowNewConnections = 13; + static final int TRANSACTION_getAxisValue = 7; + static final int TRANSACTION_getInfo = 5; + static final int TRANSACTION_getKeyCode = 6; + static final int TRANSACTION_getKeyCode2 = 11; + static final int TRANSACTION_getState = 8; + static final int TRANSACTION_isAllowingNewConnections = 14; + static final int TRANSACTION_registerListener = 1; + static final int TRANSACTION_registerListener2 = 10; + static final int TRANSACTION_registerMonitor = 3; + static final int TRANSACTION_sendMessage = 9; + static final int TRANSACTION_unregisterListener = 2; + static final int TRANSACTION_unregisterMonitor = 4; + + @Override // android.os.IInterface + public IBinder asBinder() { + return this; + } + + public Stub() { + attachInterface(this, DESCRIPTOR); + } + + public static IControllerService asInterface(IBinder iBinder) { + if (iBinder == null) { + return null; + } + IInterface queryLocalInterface = iBinder.queryLocalInterface(DESCRIPTOR); + if (queryLocalInterface != null && (queryLocalInterface instanceof IControllerService)) { + return (IControllerService) queryLocalInterface; + } + return new Proxy(iBinder); + } + + @Override // android.os.Binder + public boolean onTransact(int i, Parcel parcel, Parcel parcel2, int i2) throws RemoteException { + if (i == 1598968902) { + parcel2.writeString(DESCRIPTOR); + return true; + } + switch (i) { + case 1: + parcel.enforceInterface(DESCRIPTOR); + registerListener(IControllerListener.Stub.asInterface(parcel.readStrongBinder()), parcel.readInt()); + parcel2.writeNoException(); + return true; + case 2: + parcel.enforceInterface(DESCRIPTOR); + unregisterListener(IControllerListener.Stub.asInterface(parcel.readStrongBinder()), parcel.readInt()); + parcel2.writeNoException(); + return true; + case 3: + parcel.enforceInterface(DESCRIPTOR); + registerMonitor(IControllerMonitor.Stub.asInterface(parcel.readStrongBinder()), parcel.readInt()); + parcel2.writeNoException(); + return true; + case 4: + parcel.enforceInterface(DESCRIPTOR); + unregisterMonitor(IControllerMonitor.Stub.asInterface(parcel.readStrongBinder()), parcel.readInt()); + parcel2.writeNoException(); + return true; + case 5: + parcel.enforceInterface(DESCRIPTOR); + int info = getInfo(parcel.readInt()); + parcel2.writeNoException(); + parcel2.writeInt(info); + return true; + case 6: + parcel.enforceInterface(DESCRIPTOR); + int keyCode = getKeyCode(parcel.readInt(), parcel.readInt()); + parcel2.writeNoException(); + parcel2.writeInt(keyCode); + return true; + case 7: + parcel.enforceInterface(DESCRIPTOR); + float axisValue = getAxisValue(parcel.readInt(), parcel.readInt()); + parcel2.writeNoException(); + parcel2.writeFloat(axisValue); + return true; + case 8: + parcel.enforceInterface(DESCRIPTOR); + int state = getState(parcel.readInt(), parcel.readInt()); + parcel2.writeNoException(); + parcel2.writeInt(state); + return true; + case 9: + parcel.enforceInterface(DESCRIPTOR); + sendMessage(parcel.readInt(), parcel.readInt()); + parcel2.writeNoException(); + return true; + case 10: + parcel.enforceInterface(DESCRIPTOR); + registerListener2(IControllerListener.Stub.asInterface(parcel.readStrongBinder()), parcel.readInt()); + parcel2.writeNoException(); + return true; + case 11: + parcel.enforceInterface(DESCRIPTOR); + int keyCode2 = getKeyCode2(parcel.readInt(), parcel.readInt()); + parcel2.writeNoException(); + parcel2.writeInt(keyCode2); + return true; + case 12: + parcel.enforceInterface(DESCRIPTOR); + allowNewConnections(); + parcel2.writeNoException(); + return true; + case 13: + parcel.enforceInterface(DESCRIPTOR); + disallowNewConnections(); + parcel2.writeNoException(); + return true; + case 14: + parcel.enforceInterface(DESCRIPTOR); + boolean isAllowingNewConnections = isAllowingNewConnections(); + parcel2.writeNoException(); + parcel2.writeInt(isAllowingNewConnections ? 1 : 0); + return true; + default: + return super.onTransact(i, parcel, parcel2, i2); + } + } + + private static class Proxy implements IControllerService { + private IBinder mRemote; + + public String getInterfaceDescriptor() { + return Stub.DESCRIPTOR; + } + + Proxy(IBinder iBinder) { + this.mRemote = iBinder; + } + + @Override // android.os.IInterface + public IBinder asBinder() { + return this.mRemote; + } + + @Override // com.bda.controller.IControllerService + public void registerListener(IControllerListener iControllerListener, int i) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeStrongBinder(iControllerListener != null ? iControllerListener.asBinder() : null); + obtain.writeInt(i); + this.mRemote.transact(1, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void unregisterListener(IControllerListener iControllerListener, int i) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeStrongBinder(iControllerListener != null ? iControllerListener.asBinder() : null); + obtain.writeInt(i); + this.mRemote.transact(2, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void registerMonitor(IControllerMonitor iControllerMonitor, int i) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeStrongBinder(iControllerMonitor != null ? iControllerMonitor.asBinder() : null); + obtain.writeInt(i); + this.mRemote.transact(3, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void unregisterMonitor(IControllerMonitor iControllerMonitor, int i) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeStrongBinder(iControllerMonitor != null ? iControllerMonitor.asBinder() : null); + obtain.writeInt(i); + this.mRemote.transact(4, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public int getInfo(int i) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + this.mRemote.transact(5, obtain, obtain2, 0); + obtain2.readException(); + return obtain2.readInt(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public int getKeyCode(int i, int i2) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + obtain.writeInt(i2); + this.mRemote.transact(6, obtain, obtain2, 0); + obtain2.readException(); + return obtain2.readInt(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public float getAxisValue(int i, int i2) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + obtain.writeInt(i2); + this.mRemote.transact(7, obtain, obtain2, 0); + obtain2.readException(); + return obtain2.readFloat(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public int getState(int i, int i2) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + obtain.writeInt(i2); + this.mRemote.transact(8, obtain, obtain2, 0); + obtain2.readException(); + return obtain2.readInt(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void sendMessage(int i, int i2) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + obtain.writeInt(i2); + this.mRemote.transact(9, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void registerListener2(IControllerListener iControllerListener, int i) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeStrongBinder(iControllerListener != null ? iControllerListener.asBinder() : null); + obtain.writeInt(i); + this.mRemote.transact(10, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public int getKeyCode2(int i, int i2) throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + obtain.writeInt(i); + obtain.writeInt(i2); + this.mRemote.transact(11, obtain, obtain2, 0); + obtain2.readException(); + return obtain2.readInt(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void allowNewConnections() throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + this.mRemote.transact(12, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public void disallowNewConnections() throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + this.mRemote.transact(13, obtain, obtain2, 0); + obtain2.readException(); + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + + @Override // com.bda.controller.IControllerService + public boolean isAllowingNewConnections() throws RemoteException { + Parcel obtain = Parcel.obtain(); + Parcel obtain2 = Parcel.obtain(); + try { + obtain.writeInterfaceToken(Stub.DESCRIPTOR); + this.mRemote.transact(14, obtain, obtain2, 0); + obtain2.readException(); + return obtain2.readInt() != 0; + } finally { + obtain2.recycle(); + obtain.recycle(); + } + } + } + } +} diff --git a/app/src/main/java/com/bda/controller/KeyEvent.java b/app/src/main/java/com/bda/controller/KeyEvent.java new file mode 100644 index 0000000..2bbf996 --- /dev/null +++ b/app/src/main/java/com/bda/controller/KeyEvent.java @@ -0,0 +1,79 @@ +package com.bda.controller; + +import android.os.Parcel; +import android.os.Parcelable; + +/* loaded from: classes.dex */ +public final class KeyEvent extends BaseEvent implements Parcelable { + public static final int ACTION_DOWN = 0; + public static final int ACTION_UP = 1; + public static final Parcelable.Creator CREATOR = new ParcelableCreator(); + public static final int KEYCODE_BUTTON_A = 96; + public static final int KEYCODE_BUTTON_B = 97; + public static final int KEYCODE_BUTTON_L1 = 102; + public static final int KEYCODE_BUTTON_L2 = 104; + public static final int KEYCODE_BUTTON_R1 = 103; + public static final int KEYCODE_BUTTON_R2 = 105; + public static final int KEYCODE_BUTTON_SELECT = 109; + public static final int KEYCODE_BUTTON_START = 108; + public static final int KEYCODE_BUTTON_THUMBL = 106; + public static final int KEYCODE_BUTTON_THUMBR = 107; + public static final int KEYCODE_BUTTON_X = 99; + public static final int KEYCODE_BUTTON_Y = 100; + public static final int KEYCODE_DPAD_DOWN = 20; + public static final int KEYCODE_DPAD_LEFT = 21; + public static final int KEYCODE_DPAD_RIGHT = 22; + public static final int KEYCODE_DPAD_UP = 19; + public static final int KEYCODE_UNKNOWN = 0; + final int mAction; + final int mKeyCode; + + @Override // com.bda.controller.BaseEvent, android.os.Parcelable + public int describeContents() { + return 0; + } + + public KeyEvent(long j, int i, int i2, int i3) { + super(j, i); + this.mKeyCode = i2; + this.mAction = i3; + } + + KeyEvent(Parcel parcel) { + super(parcel); + this.mKeyCode = parcel.readInt(); + this.mAction = parcel.readInt(); + } + + public final int getAction() { + return this.mAction; + } + + public final int getKeyCode() { + return this.mKeyCode; + } + + @Override // com.bda.controller.BaseEvent, android.os.Parcelable + public void writeToParcel(Parcel parcel, int i) { + super.writeToParcel(parcel, i); + parcel.writeInt(this.mKeyCode); + parcel.writeInt(this.mAction); + } + + static class ParcelableCreator implements Parcelable.Creator { + ParcelableCreator() { + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public KeyEvent createFromParcel(Parcel parcel) { + return new KeyEvent(parcel); + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public KeyEvent[] newArray(int i) { + return new KeyEvent[i]; + } + } +} diff --git a/app/src/main/java/com/bda/controller/MotionEvent.java b/app/src/main/java/com/bda/controller/MotionEvent.java new file mode 100644 index 0000000..81b4d0e --- /dev/null +++ b/app/src/main/java/com/bda/controller/MotionEvent.java @@ -0,0 +1,151 @@ +package com.bda.controller; + +import android.os.Parcel; +import android.os.Parcelable; +import android.util.SparseArray; + +/* loaded from: classes.dex */ +public final class MotionEvent extends BaseEvent implements Parcelable { + public static final int AXIS_LTRIGGER = 17; + public static final int AXIS_RTRIGGER = 18; + public static final int AXIS_RZ = 14; + public static final int AXIS_X = 0; + public static final int AXIS_Y = 1; + public static final int AXIS_Z = 11; + public static final Parcelable.Creator CREATOR = new ParcelableCreator(); + final SparseArray mAxis; + final SparseArray mPrecision; + + @Override // com.bda.controller.BaseEvent, android.os.Parcelable + public int describeContents() { + return 0; + } + + public final int findPointerIndex(int i) { + return -1; + } + + public final int getPointerCount() { + return 1; + } + + public final int getPointerId(int i) { + return 0; + } + + public MotionEvent(long j, int i, float f, float f2, float f3, float f4, float f5, float f6) { + super(j, i); + this.mAxis = new SparseArray<>(4); + this.mAxis.put(0, Float.valueOf(f)); + this.mAxis.put(1, Float.valueOf(f2)); + this.mAxis.put(11, Float.valueOf(f3)); + this.mAxis.put(14, Float.valueOf(f4)); + this.mPrecision = new SparseArray<>(2); + this.mPrecision.put(0, Float.valueOf(f5)); + this.mPrecision.put(1, Float.valueOf(f6)); + } + + public MotionEvent(long j, int i, int[] iArr, float[] fArr, int[] iArr2, float[] fArr2) { + super(j, i); + int length = iArr.length; + this.mAxis = new SparseArray<>(length); + for (int i2 = 0; i2 < length; i2++) { + this.mAxis.put(iArr[i2], Float.valueOf(fArr[i2])); + } + int length2 = iArr2.length; + this.mPrecision = new SparseArray<>(length2); + for (int i3 = 0; i3 < length2; i3++) { + this.mPrecision.put(iArr2[i3], Float.valueOf(fArr2[i3])); + } + } + + MotionEvent(Parcel parcel) { + super(parcel); + int readInt = parcel.readInt(); + this.mAxis = new SparseArray<>(readInt); + for (int i = 0; i < readInt; i++) { + this.mAxis.put(parcel.readInt(), Float.valueOf(parcel.readFloat())); + } + this.mPrecision = new SparseArray<>(parcel.readInt()); + for (int i2 = 0; i2 < readInt; i2++) { + this.mPrecision.put(parcel.readInt(), Float.valueOf(parcel.readFloat())); + } + } + + public final float getAxisValue(int i) { + return getAxisValue(i, 0); + } + + public final float getAxisValue(int i, int i2) { + if (i2 == 0) { + return this.mAxis.get(i, Float.valueOf(0.0f)).floatValue(); + } + return 0.0f; + } + + public final float getRawX() { + return getX(); + } + + public final float getRawY() { + return getY(); + } + + public final float getX() { + return getAxisValue(0, 0); + } + + public final float getX(int i) { + return getAxisValue(0, i); + } + + public final float getXPrecision() { + return this.mPrecision.get(0, Float.valueOf(0.0f)).floatValue(); + } + + public final float getY() { + return getAxisValue(1, 0); + } + + public final float getY(int i) { + return getAxisValue(1, i); + } + + public final float getYPrecision() { + return this.mPrecision.get(1, Float.valueOf(0.0f)).floatValue(); + } + + @Override // com.bda.controller.BaseEvent, android.os.Parcelable + public void writeToParcel(Parcel parcel, int i) { + super.writeToParcel(parcel, i); + int size = this.mAxis.size(); + parcel.writeInt(size); + for (int i2 = 0; i2 < size; i2++) { + parcel.writeInt(this.mAxis.keyAt(i2)); + parcel.writeFloat(this.mAxis.valueAt(i2).floatValue()); + } + int size2 = this.mPrecision.size(); + parcel.writeInt(size2); + for (int i3 = 0; i3 < size2; i3++) { + parcel.writeInt(this.mPrecision.keyAt(i3)); + parcel.writeFloat(this.mPrecision.valueAt(i3).floatValue()); + } + } + + static class ParcelableCreator implements Parcelable.Creator { + ParcelableCreator() { + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public MotionEvent createFromParcel(Parcel parcel) { + return new MotionEvent(parcel); + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public MotionEvent[] newArray(int i) { + return new MotionEvent[i]; + } + } +} diff --git a/app/src/main/java/com/bda/controller/StateEvent.java b/app/src/main/java/com/bda/controller/StateEvent.java new file mode 100644 index 0000000..7ea4d67 --- /dev/null +++ b/app/src/main/java/com/bda/controller/StateEvent.java @@ -0,0 +1,78 @@ +package com.bda.controller; + +import android.os.Parcel; +import android.os.Parcelable; + +/* loaded from: classes.dex */ +public class StateEvent extends BaseEvent implements Parcelable { + public static final int ACTION_CONNECTED = 1; + public static final int ACTION_CONNECTING = 2; + public static final int ACTION_DISCONNECTED = 0; + public static final int ACTION_FALSE = 0; + public static final int ACTION_TRUE = 1; + public static final int ACTION_VERSION_MOGA = 0; + public static final int ACTION_VERSION_MOGAPRO = 1; + public static final Parcelable.Creator CREATOR = new ParcelableCreator(); + public static final int STATE_CONNECTION = 1; + public static final int STATE_CURRENT_PRODUCT_VERSION = 4; + public static final int STATE_POWER_LOW = 2; + + @Deprecated + public static final int STATE_SELECTED_VERSION = 4; + public static final int STATE_SUPPORTED_PRODUCT_VERSION = 3; + + @Deprecated + public static final int STATE_SUPPORTED_VERSION = 3; + public static final int STATE_UNKNOWN = 0; + final int mAction; + final int mState; + + @Override // com.bda.controller.BaseEvent, android.os.Parcelable + public int describeContents() { + return 0; + } + + public StateEvent(long j, int i, int i2, int i3) { + super(j, i); + this.mState = i2; + this.mAction = i3; + } + + StateEvent(Parcel parcel) { + super(parcel); + this.mState = parcel.readInt(); + this.mAction = parcel.readInt(); + } + + public final int getAction() { + return this.mAction; + } + + public final int getState() { + return this.mState; + } + + @Override // com.bda.controller.BaseEvent, android.os.Parcelable + public void writeToParcel(Parcel parcel, int i) { + super.writeToParcel(parcel, i); + parcel.writeInt(this.mState); + parcel.writeInt(this.mAction); + } + + static class ParcelableCreator implements Parcelable.Creator { + ParcelableCreator() { + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public StateEvent createFromParcel(Parcel parcel) { + return new StateEvent(parcel); + } + + /* JADX WARN: Can't rename method to resolve collision */ + @Override // android.os.Parcelable.Creator + public StateEvent[] newArray(int i) { + return new StateEvent[i]; + } + } +} diff --git a/app/src/main/java/com/bda/controller/VersionInfo.java b/app/src/main/java/com/bda/controller/VersionInfo.java new file mode 100644 index 0000000..ff01122 --- /dev/null +++ b/app/src/main/java/com/bda/controller/VersionInfo.java @@ -0,0 +1,9 @@ +package com.bda.controller; + +/* loaded from: classes.dex */ +public class VersionInfo { + public static final String VERSION = "1.3.0.130130"; + + private VersionInfo() { + } +} diff --git a/app/src/main/java/com/ea/EAIO/EAIO.java b/app/src/main/java/com/ea/EAIO/EAIO.java new file mode 100644 index 0000000..eaba9f8 --- /dev/null +++ b/app/src/main/java/com/ea/EAIO/EAIO.java @@ -0,0 +1,16 @@ +package com.ea.EAIO; + +import android.app.Activity; +import android.content.res.AssetManager; +import android.os.Environment; + +/* loaded from: classes.dex */ +public class EAIO { + public static native void Shutdown(); + + private static native void StartupNativeImpl(AssetManager assetManager, String str, String str2, String str3); + + public static void Startup(Activity activity) { + StartupNativeImpl(activity.getAssets(), Environment.getDataDirectory().getAbsolutePath(), activity.getFilesDir().getAbsolutePath(), Environment.getExternalStorageDirectory().getAbsolutePath()); + } +} diff --git a/app/src/main/java/com/ea/EAMIO/StorageDirectory.java b/app/src/main/java/com/ea/EAMIO/StorageDirectory.java new file mode 100644 index 0000000..1ae4615 --- /dev/null +++ b/app/src/main/java/com/ea/EAMIO/StorageDirectory.java @@ -0,0 +1,42 @@ +package com.ea.EAMIO; + +import android.app.Activity; +import android.os.Environment; + +/* loaded from: classes.dex */ +public class StorageDirectory { + public static Activity sActivity; + + private static native void ShutdownNativeImpl(); + + private static native void StartupNativeImpl(); + + public static void Startup(Activity activity) { + sActivity = activity; + StartupNativeImpl(); + } + + public static void Shutdown() { + ShutdownNativeImpl(); + } + + public static String GetInternalStorageDirectory() { + return sActivity.getFilesDir().getAbsolutePath(); + } + + public static String GetPrimaryExternalStorageDirectory() { + return sActivity.getExternalFilesDir(null).getAbsolutePath(); + } + + public static String GetPrimaryExternalStorageDirectoryRoot() { + return Environment.getExternalStorageDirectory().getAbsolutePath(); + } + + public static int GetPrimaryExternalStorageState() { + String externalStorageState = Environment.getExternalStorageState(); + if ("mounted".equals(externalStorageState)) { + return 2; + } + return "mounted_ro".equals(externalStorageState) ? 1 : 0; + } +} diff --git a/app/src/main/java/com/ea/InAppWebBrowser/BrowserAndroid.java b/app/src/main/java/com/ea/InAppWebBrowser/BrowserAndroid.java new file mode 100644 index 0000000..cb25309 --- /dev/null +++ b/app/src/main/java/com/ea/InAppWebBrowser/BrowserAndroid.java @@ -0,0 +1,180 @@ +package com.ea.InAppWebBrowser; + +import android.app.Activity; +import android.graphics.Paint; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.webkit.WebView; +import android.widget.RelativeLayout; +import java.util.UUID; + +/* loaded from: classes.dex */ +public class BrowserAndroid { + public static int gInstanceCount; + public static Activity mActivity; + public static ViewGroup mViewGroup; + public RelativeLayout mLayout; + public WebView mWebView; + public InAppWebBrowserWebViewClient mWebViewClient; + public final int SCROLLBAR_VISIBLE = 0; + public final int SCROLLBAR_INVISIBLE = 1; + public final int JAVASCRIPT_DISABLE = 0; + public final int JAVASCRIPT_ENABLE = 1; + public final int SCROLLBARSTYLE_DEFAULT = 0; + public final int SCROLLBARSTYLE_INSIDE_OVERLAY = 1; + public final int SCROLLBARSTYLE_INSIDE_INSET = 2; + public final int SCROLLBARSTYLE_OUTSIDE_OVERLAY = 3; + public final int SCROLLBARSTYLE_OUTSIDE_INSET = 4; + public int mInstanceID = 0; + + private static native void ShutdownNativeImpl(); + + private static native void StartupNativeImpl(); + + public void BrowserAndroid() { + } + + public static void Startup(Activity activity, ViewGroup viewGroup) { + mActivity = activity; + mViewGroup = viewGroup; + StartupNativeImpl(); + } + + public static void Shutdown() { + ShutdownNativeImpl(); + } + + public void init(final int i, final int i2, final int i3, final int i4, final int i5, final int i6, final int i7, final boolean z, final boolean z2) { + int i8 = gInstanceCount; + gInstanceCount = i8 + 1; + this.mInstanceID = i8; + mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.1 + @Override // java.lang.Runnable + public void run() { + BrowserAndroid.this.mLayout = new RelativeLayout(BrowserAndroid.mActivity); + BrowserAndroid.this.mWebView = new WebView(BrowserAndroid.mActivity); + BrowserAndroid.this.mWebViewClient = new InAppWebBrowserWebViewClient(); + BrowserAndroid.this.mWebViewClient.mInstanceID = BrowserAndroid.this.mInstanceID; + BrowserAndroid.this.mWebView.setWebViewClient(BrowserAndroid.this.mWebViewClient); + if (z2) { + BrowserAndroid.this.mWebView.setBackgroundColor(0); + Class cls = BrowserAndroid.this.mWebView.getClass(); + try { + cls.getMethod("setLayerType", Integer.TYPE, Paint.class).invoke(BrowserAndroid.this.mWebView, Integer.valueOf(((Integer) cls.getField("LAYER_TYPE_SOFTWARE").get(BrowserAndroid.this.mWebView)).intValue()), null); + } catch (Exception unused) { + } + } + if (!z) { + Class cls2 = BrowserAndroid.this.mWebView.getClass(); + try { + cls2.getMethod("setOverScrollMode", Integer.TYPE).invoke(BrowserAndroid.this.mWebView, Integer.valueOf(((Integer) cls2.getField("OVER_SCROLL_NEVER").get(BrowserAndroid.this.mWebView)).intValue())); + } catch (Exception unused2) { + } + } + BrowserAndroid.this.mWebView.requestFocus(130); + BrowserAndroid.this.mWebView.setOnTouchListener(new View.OnTouchListener() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.1.1 + @Override // android.view.View.OnTouchListener + public boolean onTouch(View view, MotionEvent motionEvent) { + switch (motionEvent.getAction()) { + case 0: + case 1: + if (!view.hasFocus()) { + view.requestFocus(); + break; + } + break; + } + return false; + } + }); + if (i5 == 1) { + BrowserAndroid.this.mWebView.getSettings().setJavaScriptEnabled(true); + } + BrowserAndroid.this.mWebView.setVerticalScrollBarEnabled(i6 == 0); + BrowserAndroid.this.mWebView.setHorizontalScrollBarEnabled(i6 == 0); + BrowserAndroid.this.mWebView.addJavascriptInterface(new JavascriptInterface(BrowserAndroid.this.mWebViewClient), "JavascriptCallback"); + switch (i7) { + case 1: + BrowserAndroid.this.mWebView.setScrollBarStyle(0); + break; + case 2: + BrowserAndroid.this.mWebView.setScrollBarStyle(16777216); + break; + case 3: + BrowserAndroid.this.mWebView.setScrollBarStyle(33554432); + break; + case 4: + BrowserAndroid.this.mWebView.setScrollBarStyle(50331648); + break; + } + RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(i3, i4); + layoutParams.leftMargin = i; + layoutParams.topMargin = i2; + BrowserAndroid.this.mLayout.addView(BrowserAndroid.this.mWebView, layoutParams); + BrowserAndroid.mViewGroup.addView(BrowserAndroid.this.mLayout); + } + }); + } + + public void OpenUrl(final String str) { + mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.2 + @Override // java.lang.Runnable + public void run() { + BrowserAndroid.this.mWebView.loadUrl(str); + } + }); + } + + public void LoadHTML(final String str) { + mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.3 + @Override // java.lang.Runnable + public void run() { + BrowserAndroid.this.mWebView.loadData(str, "text/html", null); + } + }); + } + + public void SetViewFrame(final int i, final int i2, final int i3, final int i4) { + if (this.mWebView == null) { + return; + } + mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.4 + @Override // java.lang.Runnable + public void run() { + RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(i3, i4); + layoutParams.leftMargin = i; + layoutParams.topMargin = i2; + BrowserAndroid.this.mLayout.updateViewLayout(BrowserAndroid.this.mWebView, layoutParams); + } + }); + } + + public void EvaluateJavaScript(final String str) { + mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.5 + @Override // java.lang.Runnable + public void run() { + UUID randomUUID; + do { + randomUUID = UUID.randomUUID(); + } while (!BrowserAndroid.this.mWebViewClient.addUUID(randomUUID)); + BrowserAndroid.this.mWebView.loadUrl("javascript: JavascriptCallback.ReceiveResult(eval(" + str + "), '" + randomUUID.toString() + "');"); + } + }); + } + + public void destroy() { + mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.6 + @Override // java.lang.Runnable + public void run() { + BrowserAndroid.this.mWebView.stopLoading(); + BrowserAndroid.this.mWebView.setWebViewClient(null); + BrowserAndroid.this.mWebViewClient = null; + BrowserAndroid.this.mLayout.removeView(BrowserAndroid.this.mWebView); + BrowserAndroid.mViewGroup.removeView(BrowserAndroid.this.mLayout); + BrowserAndroid.this.mWebView = null; + BrowserAndroid.this.mLayout = null; + } + }); + } +} diff --git a/app/src/main/java/com/ea/InAppWebBrowser/InAppWebBrowserWebViewClient.java b/app/src/main/java/com/ea/InAppWebBrowser/InAppWebBrowserWebViewClient.java new file mode 100644 index 0000000..3b62293 --- /dev/null +++ b/app/src/main/java/com/ea/InAppWebBrowser/InAppWebBrowserWebViewClient.java @@ -0,0 +1,74 @@ +package com.ea.InAppWebBrowser; + +import android.graphics.Bitmap; +import android.util.Log; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import java.util.Collections; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.UUID; + +/* loaded from: classes.dex */ +public class InAppWebBrowserWebViewClient extends WebViewClient { + public int mInstanceID = 0; + private SortedSet mJavascriptIds = Collections.synchronizedSortedSet(new TreeSet()); + + public native void OnJavascriptResult(String str, int i); + + public native void OnLoadError(String str, int i); + + public native void OnLoadFinished(String str, int i); + + public native void OnLoadStarted(String str, int i); + + public native boolean ShouldLoadURL(String str, int i); + + @Override // android.webkit.WebViewClient + public boolean shouldOverrideUrlLoading(WebView webView, String str) { + Log.e("InAppWebBrowserWebViewClient", "shouldOverrideUrlLoading: " + str); + return !ShouldLoadURL(str, this.mInstanceID); + } + + @Override // android.webkit.WebViewClient + public void onLoadResource(WebView webView, String str) { + Log.e("InAppWebBrowserWebViewClient", "onLoadResource: " + str); + OnLoadStarted(str, this.mInstanceID); + } + + @Override // android.webkit.WebViewClient + public void onPageStarted(WebView webView, String str, Bitmap bitmap) { + Log.e("InAppWebBrowserWebViewClient", "onPageStarted: " + str); + OnLoadStarted(str, this.mInstanceID); + } + + @Override // android.webkit.WebViewClient + public void onPageFinished(WebView webView, String str) { + Log.e("InAppWebBrowserWebViewClient", "onPageFinished: " + str); + OnLoadFinished(str, this.mInstanceID); + } + + @Override // android.webkit.WebViewClient + public void onReceivedError(WebView webView, int i, String str, String str2) { + Log.e("InAppWebBrowserWebViewClient", "onReceivedError"); + OnLoadError("Loading Error. URL: " + str2 + " ErrorCode: " + i + " Description: " + str, this.mInstanceID); + } + + public void onJavascriptResult(String str, String str2) throws Exception { + UUID fromString = UUID.fromString(str2); + if (fromString != null && this.mJavascriptIds.contains(fromString)) { + this.mJavascriptIds.remove(fromString); + OnJavascriptResult(str, this.mInstanceID); + return; + } + throw new Exception("Unable to verify validity of script result."); + } + + public boolean addUUID(UUID uuid) { + if (this.mJavascriptIds.contains(uuid)) { + return false; + } + this.mJavascriptIds.add(uuid); + return true; + } +} diff --git a/app/src/main/java/com/ea/InAppWebBrowser/JavascriptInterface.java b/app/src/main/java/com/ea/InAppWebBrowser/JavascriptInterface.java new file mode 100644 index 0000000..0d84efd --- /dev/null +++ b/app/src/main/java/com/ea/InAppWebBrowser/JavascriptInterface.java @@ -0,0 +1,14 @@ +package com.ea.InAppWebBrowser; + +/* loaded from: classes.dex */ +public class JavascriptInterface { + private InAppWebBrowserWebViewClient mWebViewClient; + + public JavascriptInterface(InAppWebBrowserWebViewClient inAppWebBrowserWebViewClient) { + this.mWebViewClient = inAppWebBrowserWebViewClient; + } + + public void ReceiveResult(String str, String str2) throws Exception { + this.mWebViewClient.onJavascriptResult(str, str2); + } +} diff --git a/app/src/main/java/com/ea/InputMan/InputMan.java b/app/src/main/java/com/ea/InputMan/InputMan.java new file mode 100644 index 0000000..bf2704f --- /dev/null +++ b/app/src/main/java/com/ea/InputMan/InputMan.java @@ -0,0 +1,56 @@ +package com.ea.InputMan; + +import android.view.MotionEvent; + +/* loaded from: classes.dex */ +public class InputMan { + private boolean gbMotionEvent_GetSource; + + private static int GetEventType(int i) { + switch (i) { + } + return 0; + } + + private static native boolean InputMan_OnMotionEvent(int i, int i2, float f, float f2, int i3, float f3); + + public InputMan() { + this.gbMotionEvent_GetSource = false; + try { + MotionEvent.class.getMethod("getSource", new Class[0]); + this.gbMotionEvent_GetSource = true; + } catch (Exception unused) { + } + } + + private int GetSource(MotionEvent motionEvent) { + if (!this.gbMotionEvent_GetSource) { + return 0; + } + int source = motionEvent.getSource(); + if ((source & 2) != 0) { + return (source == 8194 || source != 1048584) ? 0 : 10; + } + return -1; + } + + public boolean onTouchEvent(int i, MotionEvent motionEvent) { + int historySize = motionEvent.getHistorySize(); + int pointerCount = motionEvent.getPointerCount(); + int GetSource = GetSource(motionEvent); + int GetEventType = GetEventType(motionEvent.getAction() & 255); + if (GetSource < 0) { + return false; + } + for (int i2 = 0; i2 < historySize; i2++) { + for (int i3 = 0; i3 < pointerCount; i3++) { + InputMan_OnMotionEvent(i, motionEvent.getPointerId(i3), motionEvent.getHistoricalX(i3, i2), motionEvent.getHistoricalY(i3, i2), GetEventType, motionEvent.getHistoricalPressure(i3, i2)); + } + } + boolean z = false; + for (int i4 = 0; i4 < pointerCount; i4++) { + z = InputMan_OnMotionEvent(i, motionEvent.getPointerId(i4), motionEvent.getX(i4), motionEvent.getY(i4), GetEventType, motionEvent.getPressure(i4)); + } + return z; + } +} diff --git a/app/src/main/java/com/ea/eadp/deviceid/DeviceIdService.java b/app/src/main/java/com/ea/eadp/deviceid/DeviceIdService.java new file mode 100644 index 0000000..b7120d2 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/deviceid/DeviceIdService.java @@ -0,0 +1,6 @@ +package com.ea.eadp.deviceid; + +/* loaded from: classes.dex */ +public interface DeviceIdService { + String getDeviceId(); +} diff --git a/app/src/main/java/com/ea/eadp/http/models/HttpRequest.java b/app/src/main/java/com/ea/eadp/http/models/HttpRequest.java new file mode 100644 index 0000000..252e899 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/http/models/HttpRequest.java @@ -0,0 +1,38 @@ +package com.ea.eadp.http.models; + +import java.net.URL; + +/* loaded from: classes.dex */ +public interface HttpRequest { + HttpResponse delete(); + + void deleteAsync(HttpRequestListener httpRequestListener); + + HttpResponse get(); + + void getAsync(HttpRequestListener httpRequestListener); + + URL getResource(); + + String getValueForHeader(String str); + + HttpResponse post(); + + void postAsync(HttpRequestListener httpRequestListener); + + HttpResponse put(); + + void putAsync(HttpRequestListener httpRequestListener); + + HttpRequest setBody(String str); + + HttpRequest setBody(String str, String str2); + + HttpRequest setHeader(String str, String str2); + + HttpRequest setJsonBody(String str); + + HttpRequest setJsonBody(String str, String str2); + + HttpRequest setResource(URL url); +} diff --git a/app/src/main/java/com/ea/eadp/http/models/HttpRequestListener.java b/app/src/main/java/com/ea/eadp/http/models/HttpRequestListener.java new file mode 100644 index 0000000..0972488 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/http/models/HttpRequestListener.java @@ -0,0 +1,6 @@ +package com.ea.eadp.http.models; + +/* loaded from: classes.dex */ +public interface HttpRequestListener { + void onComplete(HttpResponse httpResponse); +} diff --git a/app/src/main/java/com/ea/eadp/http/models/HttpResponse.java b/app/src/main/java/com/ea/eadp/http/models/HttpResponse.java new file mode 100644 index 0000000..8a5070a --- /dev/null +++ b/app/src/main/java/com/ea/eadp/http/models/HttpResponse.java @@ -0,0 +1,26 @@ +package com.ea.eadp.http.models; + +import java.util.Map; + +/* loaded from: classes.dex */ +public interface HttpResponse { + String getBody(); + + int getCode(); + + Map getHeaders(); + + String getMessage(); + + String getUrl(); + + void setBody(String str); + + void setCode(int i); + + void setHeaders(Map map); + + void setMessage(String str); + + void setUrl(String str); +} diff --git a/app/src/main/java/com/ea/eadp/http/services/HttpService.java b/app/src/main/java/com/ea/eadp/http/services/HttpService.java new file mode 100644 index 0000000..b0e18d2 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/http/services/HttpService.java @@ -0,0 +1,10 @@ +package com.ea.eadp.http.services; + +import com.ea.eadp.http.models.HttpRequest; +import java.io.IOException; +import java.net.MalformedURLException; + +/* loaded from: classes.dex */ +public interface HttpService { + HttpRequest getResource(String str) throws MalformedURLException, IOException; +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmBroadcastReceiver.java b/app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmBroadcastReceiver.java new file mode 100644 index 0000000..be68ab9 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmBroadcastReceiver.java @@ -0,0 +1,19 @@ +package com.ea.eadp.pushnotification.forwarding; + +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; + +/* loaded from: classes.dex */ +public class GcmBroadcastReceiver extends BroadcastReceiver { + @Override // android.content.BroadcastReceiver + public final void onReceive(Context context, Intent intent) { + intent.setComponent(new ComponentName(context.getPackageName(), getIntentServiceName())); + GcmIntentService.enqueueWork(context, getIntentServiceName(), intent); + } + + protected String getIntentServiceName() { + return GcmIntentService.class.getName(); + } +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmIntentService.java b/app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmIntentService.java new file mode 100644 index 0000000..ef9e33f --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/forwarding/GcmIntentService.java @@ -0,0 +1,210 @@ +package com.ea.eadp.pushnotification.forwarding; + +import android.annotation.SuppressLint; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.res.Resources; +import android.os.Build; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.v4.app.JobIntentService; +import android.support.v4.app.NotificationCompat; +import com.ea.eadp.http.services.HttpService; +import com.ea.eadp.pushnotification.lifecycles.PushLifecycleCallbacks; +import com.ea.eadp.pushnotification.services.AndroidPushService; +import com.ea.eadp.pushnotification.services.IPushService; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.facebook.internal.NativeProtocol; +import com.google.android.gms.gcm.GoogleCloudMessaging; +import java.util.List; + +/* loaded from: classes.dex */ +public class GcmIntentService extends JobIntentService { + protected static final int JOB_ID = 5566; + private static final String LOG_TAG = "GcmIntentService"; + private IPushService pushManager; + + public interface EnsEventFlags { + public static final int ALL_DISABLED = 0; + public static final int ALL_ENABLED = 3; + public static final int CLICK_ENABLED = 1; + public static final int RECEIVED_ENABLED = 2; + } + + public interface PushIntentExtraKeys { + public static final String ALERT = "alert"; + public static final String COLLAPSE_KEY = "collapse_key"; + public static final String DEEP_LINK_URL = "deepLinkUrl"; + public static final String ENS_EVENTS = "ensEvents"; + public static final String PN_TYPE = "pnType"; + public static final String PUSH_ID = "pushId"; + } + + protected boolean displayNotification(Bundle bundle) { + return true; + } + + protected HttpService getHttpService() { + return null; + } + + public static void enqueueWork(Context context, String str, Intent intent) { + try { + enqueueWork(context, Class.forName(str), JOB_ID, intent); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + + @Override // android.support.v4.app.JobIntentService + protected void onHandleWork(@NonNull Intent intent) { + Bundle extras = intent.getExtras(); + if (extras == null) { + Log.Helper.LOGE(this, "Skipping Push Notification: Incomplete Intent. Missing expected extras bundle.", new Object[0]); + return; + } + String messageType = GoogleCloudMessaging.getInstance(getApplicationContext()).getMessageType(intent); + if (extras.isEmpty()) { + return; + } + if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { + Log.Helper.LOGIS(LOG_TAG, "Error received: " + extras.toString(), new Object[0]); + return; + } + if ("deleted_messages".equals(messageType)) { + Log.Helper.LOGIS(LOG_TAG, "Deleted messages on server: " + extras.toString(), new Object[0]); + return; + } + if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) { + onHandleMessage(intent); + } + } + + protected void onHandleMessage(Intent intent) { + Bundle extras = intent.getExtras(); + if (extras == null) { + Log.Helper.LOGE(this, "Skipping Push Notification: Incomplete Intent. Missing expected extras bundle.", new Object[0]); + return; + } + Log.Helper.LOGIS(LOG_TAG, "Message received: " + extras.toString(), new Object[0]); + if (displayNotification(extras)) { + postNotification(getApplicationContext(), extras); + } + int i = 3; + String string = extras.getString(PushIntentExtraKeys.ENS_EVENTS); + if (string != null) { + try { + i = Integer.parseInt(string); + } catch (NumberFormatException unused) { + Log.Helper.LOGWS(LOG_TAG, "ensEvents flag found but not parseable as integer", new Object[0]); + } + } + if (extras.containsKey(PushIntentExtraKeys.PUSH_ID)) { + if (i >= 2 || i < 0) { + if (this.pushManager == null) { + this.pushManager = new AndroidPushService(getApplicationContext(), getHttpService()); + } + if (ApplicationEnvironment.isMainApplicationRunning()) { + this.pushManager.sendTrackingEvent(extras.getString(PushIntentExtraKeys.PUSH_ID), extras.getString(PushIntentExtraKeys.PN_TYPE), IPushService.NOTIFICATION_TYPE_RECEIVED); + } else { + this.pushManager.persistTrackingEvent(extras.getString(PushIntentExtraKeys.PUSH_ID), extras.getString(PushIntentExtraKeys.PN_TYPE), IPushService.NOTIFICATION_TYPE_RECEIVED); + } + } + } + } + + @SuppressLint({"InlinedApi"}) + private void postNotification(Context context, Bundle bundle) { + Intent intent = new Intent(); + if (Build.VERSION.SDK_INT >= 12) { + intent.addFlags(32); + } + intent.putExtras(bundle); + intent.setPackage(context.getPackageName()); + ComponentName broadcastForwarderComponent = getBroadcastForwarderComponent(); + if (isInForeground()) { + if (broadcastForwarderComponent != null) { + intent.setComponent(broadcastForwarderComponent); + sendBroadcast(intent); + return; + } else { + Log.Helper.LOGW(this, "Broadcast listener for action 'com.ea.eadp.pushnotification.FORWARD_AS_ORDERED_BROADCAST' was not found. Not sending broadcast", new Object[0]); + return; + } + } + String string = bundle.getString(PushIntentExtraKeys.PUSH_ID); + int hashCode = string != null ? string.hashCode() : 0; + String str = Global.NOTIFICATION_CHANNEL_DEFAULT_ID; + try { + ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 128); + if (applicationInfo.metaData.containsKey(Global.NOTIFICATION_CHANNEL_PUSHTNG_ID_KEY)) { + str = applicationInfo.metaData.getString(Global.NOTIFICATION_CHANNEL_PUSHTNG_ID_KEY); + } + } catch (PackageManager.NameNotFoundException e) { + android.util.Log.e(Global.NIMBLE_ID, String.format("%s>GcmIntentService.postNotification():\n%s", LOG_TAG, e.getMessage())); + } + NotificationCompat.Builder builder = new NotificationCompat.Builder(context, str); + if (broadcastForwarderComponent != null) { + String string2 = bundle.getString(PushIntentExtraKeys.COLLAPSE_KEY); + if (string2 != null && !string2.equalsIgnoreCase("do_not_collapse")) { + intent.putExtra(PushIntentExtraKeys.COLLAPSE_KEY, string2); + } + intent.setComponent(broadcastForwarderComponent); + builder.setContentIntent(PendingIntent.getBroadcast(context, hashCode, intent, 134217728)); + } else { + Log.Helper.LOGW(this, "Broadcast listener for action 'com.ea.eadp.pushnotification.FORWARD_AS_ORDERED_BROADCAST' was not found. Not setting ContentIntent", new Object[0]); + } + customizeNotification(builder, bundle); + NotificationManager notificationManager = (NotificationManager) context.getSystemService("notification"); + if (notificationManager != null) { + String string3 = bundle.getString(PushIntentExtraKeys.COLLAPSE_KEY); + if (string3 != null && !string3.equalsIgnoreCase("do_not_collapse")) { + notificationManager.notify(string3, 0, builder.build()); + return; + } else { + notificationManager.notify(hashCode, builder.build()); + return; + } + } + Log.Helper.LOGE(this, "Notification Manager is not available or is inaccessible. Skipping Notification formatting.", new Object[0]); + } + + protected boolean isInForeground() { + return PushLifecycleCallbacks.inForeground; + } + + protected void customizeNotification(NotificationCompat.Builder builder, Bundle bundle) { + String string = bundle.getString(PushIntentExtraKeys.ALERT); + Resources resources = getApplicationContext().getResources(); + String packageName = getApplicationContext().getPackageName(); + String string2 = getApplicationContext().getResources().getString(resources.getIdentifier(NativeProtocol.BRIDGE_ARG_APP_NAME_STRING, "string", packageName)); + try { + builder.setSmallIcon(resources.getIdentifier("pn_icon", "drawable", packageName)); + } catch (Exception e) { + Log.Helper.LOGE(LOG_TAG, "PN NOT DISPLAYED: Unable to set application icon due to exception: " + e.toString(), new Object[0]); + } + builder.setContentTitle(string2).setStyle(new NotificationCompat.BigTextStyle().bigText(string)).setContentText(string).setAutoCancel(true).setDefaults(getApplicationContext().checkCallingOrSelfPermission("android.permission.VIBRATE") == 0 ? 7 : 5); + } + + protected ComponentName getBroadcastForwarderComponent() { + Log.Helper.LOGFUNC(this); + PackageManager packageManager = getApplicationContext().getPackageManager(); + Intent intent = new Intent("com.ea.eadp.pushnotification.FORWARD_AS_ORDERED_BROADCAST"); + intent.setPackage(getApplicationContext().getPackageName()); + List queryBroadcastReceivers = packageManager.queryBroadcastReceivers(intent, 0); + if (queryBroadcastReceivers.isEmpty()) { + return null; + } + ActivityInfo activityInfo = queryBroadcastReceivers.get(0).activityInfo; + return new ComponentName(activityInfo.packageName, activityInfo.name); + } +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/forwarding/PushBroadcastForwarder.java b/app/src/main/java/com/ea/eadp/pushnotification/forwarding/PushBroadcastForwarder.java new file mode 100644 index 0000000..6f22754 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/forwarding/PushBroadcastForwarder.java @@ -0,0 +1,139 @@ +package com.ea.eadp.pushnotification.forwarding; + +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.os.Bundle; +import com.ea.eadp.http.services.HttpService; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.eadp.pushnotification.services.IPushService; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class PushBroadcastForwarder extends BroadcastReceiver { + private static final String LOG_TAG = "PushBroadcastForwarder"; + private IPushService pushManager; + + protected HttpService getHttpService() { + return null; + } + + /* JADX WARN: Removed duplicated region for block: B:17:0x003a */ + /* JADX WARN: Removed duplicated region for block: B:20:0x004f */ + /* JADX WARN: Removed duplicated region for block: B:21:0x0063 */ + @Override // android.content.BroadcastReceiver + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public final void onReceive(android.content.Context r5, android.content.Intent r6) { + /* + r4 = this; + android.os.Bundle r6 = r6.getExtras() + r0 = 0 + if (r6 != 0) goto Lf + java.lang.String r5 = "Unable to get extras from Intent" + java.lang.Object[] r6 = new java.lang.Object[r0] + com.ea.nimble.Log.Helper.LOGE(r4, r5, r6) + return + Lf: + java.lang.String r1 = "ensEvents" + java.lang.String r1 = r6.getString(r1) + r2 = 3 + if (r1 == 0) goto L26 + int r1 = java.lang.Integer.parseInt(r1) // Catch: java.lang.NumberFormatException -> L1d + goto L27 + L1d: + java.lang.String r1 = "PushBroadcastForwarder" + java.lang.String r3 = "ensEvents flag found but not parseable as integer" + java.lang.Object[] r0 = new java.lang.Object[r0] + com.ea.nimble.Log.Helper.LOGWS(r1, r3, r0) + L26: + r1 = 3 + L27: + java.lang.String r0 = "pushId" + boolean r0 = r6.containsKey(r0) + if (r0 == 0) goto L76 + if (r1 >= r2) goto L36 + r0 = 1 + if (r1 == r0) goto L36 + if (r1 >= 0) goto L76 + L36: + com.ea.eadp.pushnotification.services.IPushService r0 = r4.pushManager + if (r0 != 0) goto L49 + com.ea.eadp.pushnotification.services.AndroidPushService r0 = new com.ea.eadp.pushnotification.services.AndroidPushService + android.content.Context r1 = r5.getApplicationContext() + com.ea.eadp.http.services.HttpService r2 = r4.getHttpService() + r0.(r1, r2) + r4.pushManager = r0 + L49: + boolean r0 = com.ea.nimble.ApplicationEnvironment.isMainApplicationRunning() + if (r0 == 0) goto L63 + com.ea.eadp.pushnotification.services.IPushService r0 = r4.pushManager + java.lang.String r1 = "pushId" + java.lang.String r1 = r6.getString(r1) + java.lang.String r2 = "pnType" + java.lang.String r2 = r6.getString(r2) + java.lang.String r3 = "NOTIFICATION_OPENED" + r0.sendTrackingEvent(r1, r2, r3) + goto L76 + L63: + com.ea.eadp.pushnotification.services.IPushService r0 = r4.pushManager + java.lang.String r1 = "pushId" + java.lang.String r1 = r6.getString(r1) + java.lang.String r2 = "pnType" + java.lang.String r2 = r6.getString(r2) + java.lang.String r3 = "NOTIFICATION_OPENED" + r0.persistTrackingEvent(r1, r2, r3) + L76: + r4.handleNewPushNotification(r5, r6) + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.eadp.pushnotification.forwarding.PushBroadcastForwarder.onReceive(android.content.Context, android.content.Intent):void"); + } + + protected void handleNewPushNotification(Context context, Bundle bundle) { + Intent intent; + String string = bundle.getString(GcmIntentService.PushIntentExtraKeys.DEEP_LINK_URL); + if (string != null) { + intent = new Intent("android.intent.action.VIEW", Uri.parse(string)); + Log.Helper.LOGIS(LOG_TAG, "Push notification clicked with URL: " + string, new Object[0]); + } else { + String pushTargetActivity = getPushTargetActivity(context); + Log.Helper.LOGIS(LOG_TAG, "Push notification clicked with target activity: " + pushTargetActivity, new Object[0]); + try { + intent = new Intent(context, Class.forName(pushTargetActivity)); + } catch (ClassNotFoundException e) { + Log.Helper.LOGES(LOG_TAG, String.format("Could not launch target activity: %s, exception: %s", pushTargetActivity, e.toString()), new Object[0]); + return; + } + } + intent.putExtras(bundle); + intent.setFlags(603979776); + PendingIntent activity = PendingIntent.getActivity(context, 0, intent, 1073741824); + if (activity == null) { + Log.Helper.LOGE(LOG_TAG, "Unable to create PendingIntent", new Object[0]); + } + try { + activity.send(); + } catch (PendingIntent.CanceledException e2) { + Log.Helper.LOGE(LOG_TAG, String.format("Could not launch PendingIntent for PN %s", e2.toString()), new Object[0]); + } + } + + protected String getPushTargetActivity(Context context) { + Intent launchIntentForPackage; + ComponentName resolveActivity; + Context applicationContext = context.getApplicationContext(); + PackageManager packageManager = applicationContext.getPackageManager(); + if (packageManager != null && (launchIntentForPackage = packageManager.getLaunchIntentForPackage(applicationContext.getPackageName())) != null && (resolveActivity = launchIntentForPackage.resolveActivity(applicationContext.getPackageManager())) != null) { + return resolveActivity.getClassName(); + } + Log.Helper.LOGE(this, "PackageManager service is unable or is inaccessible. Unable to get PushTargetActivity.", new Object[0]); + return ""; + } +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/lifecycles/PushLifecycleCallbacks.java b/app/src/main/java/com/ea/eadp/pushnotification/lifecycles/PushLifecycleCallbacks.java new file mode 100644 index 0000000..d5742c0 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/lifecycles/PushLifecycleCallbacks.java @@ -0,0 +1,47 @@ +package com.ea.eadp.pushnotification.lifecycles; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.app.Application; +import android.os.Bundle; + +@TargetApi(14) +/* loaded from: classes.dex */ +public class PushLifecycleCallbacks implements Application.ActivityLifecycleCallbacks { + public static final int LIFECYCLE_API_VERSION = 14; + public static boolean inForeground; + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { + } + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivityCreated(Activity activity, Bundle bundle) { + inForeground = true; + } + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivityStarted(Activity activity) { + inForeground = true; + } + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivityResumed(Activity activity) { + inForeground = true; + } + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivityPaused(Activity activity) { + inForeground = false; + } + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivityStopped(Activity activity) { + inForeground = false; + } + + @Override // android.app.Application.ActivityLifecycleCallbacks + public void onActivityDestroyed(Activity activity) { + inForeground = false; + } +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/listeners/IPushListener.java b/app/src/main/java/com/ea/eadp/pushnotification/listeners/IPushListener.java new file mode 100644 index 0000000..3c65e97 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/listeners/IPushListener.java @@ -0,0 +1,12 @@ +package com.ea.eadp.pushnotification.listeners; + +/* loaded from: classes.dex */ +public interface IPushListener { + void onConnectionError(int i, String str); + + void onGetInAppSuccess(int i, String str); + + void onRegistrationSuccess(int i, String str); + + void onTrackingSuccess(int i, String str); +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/models/PushNotificationConfig.java b/app/src/main/java/com/ea/eadp/pushnotification/models/PushNotificationConfig.java new file mode 100644 index 0000000..9b72d74 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/models/PushNotificationConfig.java @@ -0,0 +1,162 @@ +package com.ea.eadp.pushnotification.models; + +import android.os.Build; +import java.util.Locale; +import java.util.TimeZone; + +/* loaded from: classes.dex */ +public class PushNotificationConfig { + private String appId; + private String appVersion; + private String country; + private String dateOfBirth; + private String deviceIdentifier; + private boolean disabled; + private String disabledReason; + private String registrationIdentifier; + private Integer silentIntervalEnd; + private Integer silentIntervalStart; + private String userAlias; + private String manufacturer = Build.MANUFACTURER; + private String operatingSystem = Build.VERSION.RELEASE; + private String model = Build.MODEL; + private String deviceType = "android"; + private String locale = Locale.getDefault().toString(); + private TimeZone timezone = TimeZone.getDefault(); + + public String getUserAlias() { + return this.userAlias; + } + + public void setUserAlias(String str) { + this.userAlias = str; + } + + public String getDeviceType() { + return this.deviceType; + } + + public void setDeviceType(String str) { + this.deviceType = str; + } + + public String getOperatingSystem() { + return this.operatingSystem; + } + + public void setOperatingSystem(String str) { + this.operatingSystem = str; + } + + public String getManufacturer() { + return this.manufacturer; + } + + public void setManufacturer(String str) { + this.manufacturer = str; + } + + public String getRegistrationIdentifier() { + return this.registrationIdentifier; + } + + public void setRegistrationIdentifier(String str) { + this.registrationIdentifier = str; + } + + public String getDeviceIdentifier() { + return this.deviceIdentifier; + } + + public void setDeviceIdentifier(String str) { + this.deviceIdentifier = str; + } + + public String getModel() { + return this.model; + } + + public void setModel(String str) { + this.model = str; + } + + public String getAppId() { + return this.appId; + } + + public void setAppId(String str) { + this.appId = str; + } + + public String getAppVersion() { + return this.appVersion; + } + + public void setAppVersion(String str) { + this.appVersion = str; + } + + public String getCountry() { + return this.country; + } + + public void setCountry(String str) { + this.country = str; + } + + public String getLocale() { + return this.locale; + } + + public void setLocale(String str) { + this.locale = str; + } + + public TimeZone getTimezone() { + return this.timezone; + } + + public void setTimezone(TimeZone timeZone) { + this.timezone = timeZone; + } + + public Integer getSilentIntervalStart() { + return this.silentIntervalStart; + } + + public void setSilentIntervalStart(Integer num) { + this.silentIntervalStart = num; + } + + public Integer getSilentIntervalEnd() { + return this.silentIntervalEnd; + } + + public void setSilentIntervalEnd(Integer num) { + this.silentIntervalEnd = num; + } + + public String getDateOfBirth() { + return this.dateOfBirth; + } + + public void setDateOfBirth(String str) { + this.dateOfBirth = str; + } + + public String getDisabledReason() { + return this.disabledReason; + } + + public void setDisabledReason(String str) { + this.disabledReason = str; + } + + public boolean isDisabled() { + return this.disabled; + } + + public void setDisabled(boolean z) { + this.disabled = z; + } +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/services/AndroidPushService.java b/app/src/main/java/com/ea/eadp/pushnotification/services/AndroidPushService.java new file mode 100644 index 0000000..abaf1a2 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/services/AndroidPushService.java @@ -0,0 +1,414 @@ +package com.ea.eadp.pushnotification.services; + +import android.annotation.TargetApi; +import android.app.Application; +import android.content.Context; +import android.content.SharedPreferences; +import android.os.Build; +import android.util.Base64; +import com.ea.eadp.deviceid.DeviceIdService; +import com.ea.eadp.http.models.HttpRequest; +import com.ea.eadp.http.models.HttpRequestListener; +import com.ea.eadp.http.models.HttpResponse; +import com.ea.eadp.http.services.HttpService; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.eadp.pushnotification.lifecycles.PushLifecycleCallbacks; +import com.ea.eadp.pushnotification.listeners.IPushListener; +import com.ea.eadp.pushnotification.models.PushNotificationConfig; +import com.ea.nimble.Log; +import com.ea.nimble.pushtng.PushNotification; +import com.google.android.gms.common.GoogleApiAvailability; +import com.google.android.gms.gcm.GoogleCloudMessaging; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import java.lang.reflect.Type; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TimeZone; +import java.util.Timer; +import java.util.TimerTask; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public final class AndroidPushService implements IPushService { + private static final String API_KEY_KEY = "apiKey"; + private static final String API_SECRET_KEY = "apiSecret"; + public static final String AUTHORIZATION = "Authorization"; + private static final String DEVICE_ID_KEY = "deviceId"; + private static final String EVENT_LIST_KEY = "eventListKey"; + private static final String GAME_ID_KEY = "gameId"; + private static final String LOG_TAG = "PushManager"; + private static final String PUSH_SERVER_URL_KEY = "pushNotificationServerUrl"; + private static final String SHARED_PREFS_FILENAME = "PushManagerConfigurationData"; + private static final String TRACKING_PREFS_FILENAME = "PushManagerTrackingData"; + private static final String TRACKING_STATE_KEY = "state"; + private String apiKey; + private String apiSecret; + private String appId; + private Context context; + private DeviceIdService deviceIdService; + private String gameId; + private GoogleCloudMessaging googleCloudMessaging; + private HttpService httpService; + private long inAppNotificationInterval; + private Timer inAppTimer; + private IPushListener pushListener; + private String pushNotificationServerUrl; + private String senderId; + private String startClientToken; + private PushNotificationConfig startConfig; + + public AndroidPushService(GoogleCloudMessaging googleCloudMessaging, HttpService httpService, DeviceIdService deviceIdService, Context context, IPushListener iPushListener, String str, String str2, String str3, String str4, String str5, String str6, int i) { + Log.Helper.LOGIS(LOG_TAG, "Instantiating new push mgr", new Object[0]); + this.googleCloudMessaging = googleCloudMessaging; + this.httpService = httpService; + this.deviceIdService = deviceIdService; + this.context = context; + this.pushListener = iPushListener; + this.senderId = str; + this.pushNotificationServerUrl = str2; + this.gameId = str3; + this.appId = str4; + this.apiKey = str5; + this.apiSecret = str6; + this.inAppNotificationInterval = i * 1000; + } + + public AndroidPushService(Context context, HttpService httpService) { + this.context = context; + this.httpService = httpService; + this.pushNotificationServerUrl = loadConfigData(PUSH_SERVER_URL_KEY); + this.gameId = loadConfigData(GAME_ID_KEY); + this.apiKey = loadConfigData(API_KEY_KEY); + this.apiSecret = loadConfigData(API_SECRET_KEY); + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public IPushListener getPushListener() { + return this.pushListener; + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void setPushListener(IPushListener iPushListener) { + this.pushListener = iPushListener; + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + @TargetApi(14) + public void startWithConfig(final PushNotificationConfig pushNotificationConfig, final String str) { + if (pushNotificationConfig == null) { + Log.Helper.LOGES(LOG_TAG, "Error: Config data is null.", new Object[0]); + if (this.pushListener != null) { + this.pushListener.onConnectionError(0, "Config data is null"); + return; + } + return; + } + if (this.inAppNotificationInterval > 0) { + this.inAppTimer = new Timer(); + this.inAppTimer.schedule(new TimerTask() { // from class: com.ea.eadp.pushnotification.services.AndroidPushService.1 + @Override // java.util.TimerTask, java.lang.Runnable + public void run() { + AndroidPushService.this.getInAppNotifications(pushNotificationConfig.getUserAlias(), str); + } + }, this.inAppNotificationInterval, this.inAppNotificationInterval); + } + if (pushNotificationConfig.isDisabled()) { + registerDevice(pushNotificationConfig); + } else { + new Thread(new Runnable() { // from class: com.ea.eadp.pushnotification.services.AndroidPushService.2 + @Override // java.lang.Runnable + public void run() { + if (AndroidPushService.this.checkPlayServices()) { + Log.Helper.LOGIS(AndroidPushService.LOG_TAG, "Attempt to register device with GCM", new Object[0]); + try { + String register = AndroidPushService.this.googleCloudMessaging.register(AndroidPushService.this.senderId); + pushNotificationConfig.setRegistrationIdentifier(register); + pushNotificationConfig.setDisabled(false); + pushNotificationConfig.setDisabledReason(null); + Log.Helper.LOGIS(AndroidPushService.LOG_TAG, String.format("Device registered on GCM. Registration id: %s", register), new Object[0]); + try { + if (Build.VERSION.SDK_INT >= 14) { + ((Application) AndroidPushService.this.context.getApplicationContext()).registerActivityLifecycleCallbacks(new PushLifecycleCallbacks()); + } + } catch (Exception e) { + Log.Helper.LOGES(AndroidPushService.LOG_TAG, "Failed to register activity lifecycle callbacks: %s", e.getLocalizedMessage()); + } + } catch (Exception e2) { + Log.Helper.LOGES(AndroidPushService.LOG_TAG, "Failed to get registration ID from GCM: %s", e2.getLocalizedMessage()); + pushNotificationConfig.setDisabled(true); + pushNotificationConfig.setDisabledReason(PushNotification.DISABLED_REASON_REGISTER_FAILURE); + } + } else { + Log.Helper.LOGES(AndroidPushService.LOG_TAG, "Failed to find appropriate Google Play Service SDK on device. Registering as disabled", new Object[0]); + pushNotificationConfig.setDisabled(true); + pushNotificationConfig.setDisabledReason(PushNotification.DISABLED_REASON_REGISTER_FAILURE); + } + AndroidPushService.this.registerDevice(pushNotificationConfig); + } + }, "startWithConfig thread").start(); + } + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void registerDevice(final PushNotificationConfig pushNotificationConfig) { + if (pushNotificationConfig == null) { + Log.Helper.LOGES(LOG_TAG, "Error: Config data is null.", new Object[0]); + if (this.pushListener != null) { + this.pushListener.onConnectionError(0, "Config data is null"); + return; + } + return; + } + if (pushNotificationConfig.getDeviceIdentifier() == null) { + pushNotificationConfig.setDeviceIdentifier(this.deviceIdService.getDeviceId()); + } + Log.Helper.LOGIS(LOG_TAG, "Attempt to register device with EADP push notification service", new Object[0]); + try { + try { + HttpRequest resource = this.httpService.getResource(String.format("%s/games/%s/devices", this.pushNotificationServerUrl, this.gameId)); + resource.setHeader("Authorization", createAuthorizationHeader()); + pushNotificationConfig.setAppId(this.appId); + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.registerTypeAdapter(TimeZone.class, new TimeZoneSerializer()); + resource.setJsonBody(gsonBuilder.create().toJson(pushNotificationConfig)); + resource.postAsync(new HttpRequestListener() { // from class: com.ea.eadp.pushnotification.services.AndroidPushService.3 + @Override // com.ea.eadp.http.models.HttpRequestListener + public void onComplete(HttpResponse httpResponse) { + int code = httpResponse.getCode(); + String body = httpResponse.getBody(); + if (code >= 200 && code < 300) { + Log.Helper.LOGIS(AndroidPushService.LOG_TAG, "Registration request successful!", new Object[0]); + Log.Helper.LOGDS(AndroidPushService.LOG_TAG, String.format("response: %s", body), new Object[0]); + Log.Helper.LOGIS(AndroidPushService.LOG_TAG, String.format("Device registration with server complete. Registered id: %s", pushNotificationConfig.getRegistrationIdentifier()), new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onRegistrationSuccess(code, body); + return; + } + return; + } + String format = String.format("Registration request failed! Status: %s, Message: %s", Integer.valueOf(code), httpResponse.getMessage()); + Log.Helper.LOGES(AndroidPushService.LOG_TAG, format, new Object[0]); + Log.Helper.LOGDS(AndroidPushService.LOG_TAG, String.format("response: %s", body), new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onConnectionError(code, format); + } + } + }); + } catch (Exception e) { + String format = String.format("Failed to register device with Exception: %s", e.getLocalizedMessage()); + Log.Helper.LOGES(LOG_TAG, format, new Object[0]); + if (this.pushListener != null) { + this.pushListener.onConnectionError(0, format); + } + } + } finally { + saveConfigData(pushNotificationConfig); + } + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void sendTrackingEvent(String str, String str2, String str3) { + try { + HttpRequest resource = this.httpService.getResource(String.format("%s/games/%s/events", this.pushNotificationServerUrl, this.gameId)); + TrackingEvent trackingEvent = new TrackingEvent(str, str2, str3, loadConfigData(DEVICE_ID_KEY)); + resource.setHeader("Authorization", createAuthorizationHeader()); + resource.setJsonBody(new Gson().toJson(trackingEvent)); + resource.postAsync(new HttpRequestListener() { // from class: com.ea.eadp.pushnotification.services.AndroidPushService.4 + @Override // com.ea.eadp.http.models.HttpRequestListener + public void onComplete(HttpResponse httpResponse) { + int code = httpResponse.getCode(); + if (code >= 200 && code < 300) { + Log.Helper.LOGIS(AndroidPushService.LOG_TAG, "Tracking request successful!", new Object[0]); + Log.Helper.LOGDS(AndroidPushService.LOG_TAG, String.format("response: %s", httpResponse.getBody()), new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onTrackingSuccess(code, httpResponse.getBody()); + return; + } + return; + } + String format = String.format("Tracking request failed! Status: %s, Message: %s", Integer.valueOf(httpResponse.getCode()), httpResponse.getMessage()); + Log.Helper.LOGES(AndroidPushService.LOG_TAG, format, new Object[0]); + Log.Helper.LOGDS(AndroidPushService.LOG_TAG, String.format("response: %s", httpResponse.getBody()), new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onConnectionError(code, format); + } + } + }); + } catch (Exception e) { + String format = String.format("Tracking request failed with Exception: %s", e.getMessage()); + Log.Helper.LOGES(LOG_TAG, format, new Object[0]); + if (this.pushListener != null) { + this.pushListener.onConnectionError(0, format); + } + } + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void persistTrackingEvent(String str, String str2, String str3) { + List arrayList; + SharedPreferences sharedPreferences = this.context.getApplicationContext().getSharedPreferences(TRACKING_PREFS_FILENAME, 0); + String string = sharedPreferences.getString(EVENT_LIST_KEY, null); + if (string != null) { + arrayList = (List) new Gson().fromJson(string, List.class); + } else { + arrayList = new ArrayList(); + } + HashMap hashMap = new HashMap(); + hashMap.put(GcmIntentService.PushIntentExtraKeys.PUSH_ID, str); + hashMap.put(GcmIntentService.PushIntentExtraKeys.PN_TYPE, str2); + hashMap.put("state", str3); + if (arrayList == null) { + Log.Helper.LOGE(this, "Unexpected Event List. Skipping Tracking event persistence.", new Object[0]); + return; + } + arrayList.add(hashMap); + SharedPreferences.Editor edit = sharedPreferences.edit(); + edit.putString(EVENT_LIST_KEY, new Gson().toJson(arrayList)); + edit.commit(); + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void sendPendingTrackingRequests() { + Gson gson = new Gson(); + SharedPreferences sharedPreferences = this.context.getSharedPreferences(TRACKING_PREFS_FILENAME, 0); + String string = sharedPreferences.getString(EVENT_LIST_KEY, null); + if (string != null) { + List list = (List) gson.fromJson(string, List.class); + if (list == null) { + Log.Helper.LOGE(this, "Event List from Json is null!", new Object[0]); + return; + } + for (Map map : list) { + if (map != null && !map.isEmpty()) { + sendTrackingEvent((String) map.get(GcmIntentService.PushIntentExtraKeys.PUSH_ID), (String) map.get(GcmIntentService.PushIntentExtraKeys.PN_TYPE), (String) map.get("state")); + } + } + } + SharedPreferences.Editor edit = sharedPreferences.edit(); + edit.clear(); + edit.commit(); + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void getInAppNotifications(final String str, final String str2) { + if (str == null) { + if (this.pushListener != null) { + this.pushListener.onConnectionError(0, "UserAlias is null"); + return; + } + return; + } + new Thread(new Runnable() { // from class: com.ea.eadp.pushnotification.services.AndroidPushService.5 + @Override // java.lang.Runnable + public void run() { + int i; + try { + HttpRequest resource = AndroidPushService.this.httpService.getResource(String.format("%s/games/%s/users/%s/inapp", AndroidPushService.this.pushNotificationServerUrl, AndroidPushService.this.gameId, str)); + if (str2 != null) { + resource.setHeader("Authorization", "Bearer " + str2); + } + HttpResponse httpResponse = resource.get(); + i = httpResponse.getCode(); + try { + if (i >= 200 && i < 300) { + Log.Helper.LOGIS(AndroidPushService.LOG_TAG, "Get In-App Notification request successful!", new Object[0]); + Log.Helper.LOGDS(AndroidPushService.LOG_TAG, "response: " + httpResponse.getBody(), new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onGetInAppSuccess(i, httpResponse.getBody()); + } + } else { + String format = String.format("Get In-App Notification request failed! Status: %s, Message: %s", Integer.valueOf(httpResponse.getCode()), httpResponse.getMessage()); + Log.Helper.LOGES(AndroidPushService.LOG_TAG, format, new Object[0]); + Log.Helper.LOGDS(AndroidPushService.LOG_TAG, String.format("response: %s", httpResponse.getBody()), new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onConnectionError(i, format); + } + } + } catch (Exception e) { + e = e; + String format2 = String.format("In-App Notification request failed with Exception: %s", e.getMessage()); + Log.Helper.LOGES(AndroidPushService.LOG_TAG, format2, new Object[0]); + if (AndroidPushService.this.pushListener != null) { + AndroidPushService.this.pushListener.onConnectionError(i, format2); + } + } + } catch (Exception e2) { + e = e2; + i = 0; + } + } + }, "getInAppNotifications thread").start(); + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void onRestart() { + if (this.inAppTimer == null || this.inAppNotificationInterval <= 0) { + return; + } + this.inAppTimer = new Timer(); + this.inAppTimer.schedule(new TimerTask() { // from class: com.ea.eadp.pushnotification.services.AndroidPushService.6 + @Override // java.util.TimerTask, java.lang.Runnable + public void run() { + AndroidPushService.this.getInAppNotifications(AndroidPushService.this.startConfig.getUserAlias(), AndroidPushService.this.startClientToken); + } + }, this.inAppNotificationInterval, this.inAppNotificationInterval); + } + + @Override // com.ea.eadp.pushnotification.services.IPushService + public void onStop() { + if (this.inAppTimer != null) { + this.inAppTimer.cancel(); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public boolean checkPlayServices() { + return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this.context) == 0; + } + + private void saveConfigData(PushNotificationConfig pushNotificationConfig) { + SharedPreferences.Editor edit = this.context.getApplicationContext().getSharedPreferences(SHARED_PREFS_FILENAME, 0).edit(); + if (pushNotificationConfig.getDeviceIdentifier() != null && !pushNotificationConfig.getDeviceIdentifier().equals("")) { + edit.putString(DEVICE_ID_KEY, pushNotificationConfig.getDeviceIdentifier()); + } + if (this.pushNotificationServerUrl != null && !this.pushNotificationServerUrl.equals("")) { + edit.putString(PUSH_SERVER_URL_KEY, this.pushNotificationServerUrl); + } + if (this.gameId != null && !this.gameId.equals("")) { + edit.putString(GAME_ID_KEY, this.gameId); + } + if (this.apiKey != null && !this.apiKey.equals("")) { + edit.putString(API_KEY_KEY, this.apiKey); + } + if (this.apiSecret != null && !this.apiSecret.equals("")) { + edit.putString(API_SECRET_KEY, this.apiSecret); + } + edit.commit(); + } + + private String loadConfigData(String str) { + return this.context.getApplicationContext().getSharedPreferences(SHARED_PREFS_FILENAME, 0).getString(str, null); + } + + private String createAuthorizationHeader() { + return String.format("Basic %s", Base64.encodeToString((this.apiKey + ':' + this.apiSecret).getBytes(Charset.forName(HTTP.UTF_8)), 10)); + } + + private static class TimeZoneSerializer implements JsonSerializer { + private TimeZoneSerializer() { + } + + @Override // com.google.gson.JsonSerializer + public JsonElement serialize(TimeZone timeZone, Type type, JsonSerializationContext jsonSerializationContext) { + return new JsonPrimitive(timeZone.getID()); + } + } +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/services/IPushService.java b/app/src/main/java/com/ea/eadp/pushnotification/services/IPushService.java new file mode 100644 index 0000000..783a356 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/services/IPushService.java @@ -0,0 +1,30 @@ +package com.ea.eadp.pushnotification.services; + +import com.ea.eadp.pushnotification.listeners.IPushListener; +import com.ea.eadp.pushnotification.models.PushNotificationConfig; + +/* loaded from: classes.dex */ +public interface IPushService { + public static final String NOTIFICATION_TYPE_OPENED = "NOTIFICATION_OPENED"; + public static final String NOTIFICATION_TYPE_RECEIVED = "NOTIFICATION_RECEIVED"; + + void getInAppNotifications(String str, String str2); + + IPushListener getPushListener(); + + void onRestart(); + + void onStop(); + + void persistTrackingEvent(String str, String str2, String str3); + + void registerDevice(PushNotificationConfig pushNotificationConfig); + + void sendPendingTrackingRequests(); + + void sendTrackingEvent(String str, String str2, String str3); + + void setPushListener(IPushListener iPushListener); + + void startWithConfig(PushNotificationConfig pushNotificationConfig, String str); +} diff --git a/app/src/main/java/com/ea/eadp/pushnotification/services/TrackingEvent.java b/app/src/main/java/com/ea/eadp/pushnotification/services/TrackingEvent.java new file mode 100644 index 0000000..67d08d9 --- /dev/null +++ b/app/src/main/java/com/ea/eadp/pushnotification/services/TrackingEvent.java @@ -0,0 +1,27 @@ +package com.ea.eadp.pushnotification.services; + +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.google.gson.annotations.Expose; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +class TrackingEvent { + + @Expose + private String name; + + @Expose + private Map parameters = new HashMap(); + + public TrackingEvent(String str, String str2, String str3, String str4) { + this.name = str3; + this.parameters.put(GcmIntentService.PushIntentExtraKeys.PUSH_ID, str); + this.parameters.put(GcmIntentService.PushIntentExtraKeys.PN_TYPE, str2); + this.parameters.put("deviceType", "android"); + this.parameters.put("deviceIdentifier", str4); + this.parameters.put("timestamp", new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format(new Date())); + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/Accelerometer.java b/app/src/main/java/com/ea/ironmonkey/Accelerometer.java new file mode 100644 index 0000000..244b53f --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/Accelerometer.java @@ -0,0 +1,143 @@ +package com.ea.ironmonkey; + +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; + +/* loaded from: classes.dex */ +public class Accelerometer implements SensorEventListener { + private int bufferReadIndex; + private int bufferSize; + private int[] bufferTimesteps; + private float[] bufferValues; + private int bufferWriteIndex; + private long lastTimestamp = 0; + private int naturalOrientation; + private boolean registered; + private float samplesPerSecond; + private Sensor sensor; + private SensorManager sensorManager; + + @Override // android.hardware.SensorEventListener + public void onAccuracyChanged(Sensor sensor, int i) { + } + + public Accelerometer(SensorManager sensorManager, Sensor sensor, int i) { + this.sensorManager = sensorManager; + this.sensor = sensor; + this.naturalOrientation = i; + setBufferSize(1); + } + + public void setFrequency(float f) { + this.samplesPerSecond = f; + register(); + } + + public float getFrequency() { + return this.samplesPerSecond; + } + + public void setBufferSize(int i) { + this.bufferSize = i; + this.bufferTimesteps = new int[i]; + this.bufferValues = new float[i * 3]; + this.bufferWriteIndex = 0; + this.bufferReadIndex = 0; + } + + public void updateOrientation(int i) { + this.naturalOrientation = i; + } + + public int getBufferSize() { + return this.bufferSize; + } + + public void pause() { + unregister(); + } + + public void resume() { + register(); + } + + private int getSensorDelay() { + return this.samplesPerSecond < 20.0f ? 3 : 1; + } + + private void register() { + if (!this.registered && this.samplesPerSecond > 0.0f) { + this.sensorManager.registerListener(this, this.sensor, getSensorDelay()); + this.registered = true; + } else if (this.registered && this.samplesPerSecond == 0.0f) { + this.sensorManager.unregisterListener(this); + this.registered = false; + } + } + + private void unregister() { + if (this.registered) { + this.sensorManager.unregisterListener(this); + this.registered = false; + } + } + + public int getSamples(int i, int[] iArr, float[] fArr) { + int i2; + synchronized (this) { + i2 = 0; + while (this.bufferReadIndex != this.bufferWriteIndex) { + if (this.bufferReadIndex >= this.bufferSize) { + this.bufferReadIndex = 0; + } + if (i2 >= i) { + break; + } + iArr[i2] = this.bufferTimesteps[this.bufferReadIndex]; + for (int i3 = 0; i3 < 3; i3++) { + fArr[(i2 * 3) + i3] = this.bufferValues[(this.bufferReadIndex * 3) + i3]; + } + i2++; + this.bufferReadIndex++; + } + } + return i2; + } + + @Override // android.hardware.SensorEventListener + public void onSensorChanged(SensorEvent sensorEvent) { + int i = (int) ((sensorEvent.timestamp - this.lastTimestamp) / 1000000); + this.lastTimestamp = sensorEvent.timestamp; + synchronized (this) { + this.bufferWriteIndex++; + if (this.bufferWriteIndex >= this.bufferSize) { + this.bufferWriteIndex = 0; + } + if (this.bufferWriteIndex == this.bufferReadIndex) { + this.bufferReadIndex++; + } + this.bufferTimesteps[this.bufferWriteIndex] = i; + switch (this.naturalOrientation) { + case 0: + this.bufferValues[(this.bufferWriteIndex * 3) + 0] = -sensorEvent.values[0]; + this.bufferValues[(this.bufferWriteIndex * 3) + 1] = sensorEvent.values[1]; + break; + case 1: + this.bufferValues[(this.bufferWriteIndex * 3) + 0] = sensorEvent.values[1]; + this.bufferValues[(this.bufferWriteIndex * 3) + 1] = -sensorEvent.values[0]; + break; + case 2: + this.bufferValues[(this.bufferWriteIndex * 3) + 0] = sensorEvent.values[0]; + this.bufferValues[(this.bufferWriteIndex * 3) + 1] = -sensorEvent.values[1]; + break; + case 3: + this.bufferValues[(this.bufferWriteIndex * 3) + 0] = -sensorEvent.values[1]; + this.bufferValues[(this.bufferWriteIndex * 3) + 1] = sensorEvent.values[0]; + break; + } + this.bufferValues[(this.bufferWriteIndex * 3) + 2] = sensorEvent.values[2]; + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/BitmapGraphics.java b/app/src/main/java/com/ea/ironmonkey/BitmapGraphics.java new file mode 100644 index 0000000..ee0e740 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/BitmapGraphics.java @@ -0,0 +1,61 @@ +package com.ea.ironmonkey; + +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff; +import android.graphics.Typeface; + +/* loaded from: classes.dex */ +public class BitmapGraphics { + private Bitmap bitmap; + private Canvas canvas = new Canvas(); + + public BitmapGraphics(int i, int i2) { + this.bitmap = Bitmap.createBitmap(i, i2, Bitmap.Config.ARGB_8888); + this.canvas.setBitmap(this.bitmap); + } + + public Bitmap getBitmap() { + return this.bitmap; + } + + public Canvas getCanvas() { + return this.canvas; + } + + public void clear() { + this.canvas.drawColor(0, PorterDuff.Mode.CLEAR); + } + + private static Paint createPaint(Typeface typeface, float f) { + Paint paint = new Paint(); + paint.setTypeface(typeface); + paint.setTextSize(f); + paint.setColor(-1); + paint.setAntiAlias(true); + return paint; + } + + public static Paint createPaintFromFamilyName(String str, float f) { + return createPaint(Typeface.create(str, 0), f); + } + + public static Paint createPaintFromFile(String str, float f) { + return createPaint(internalCreateFromFile(str), f); + } + + private static Typeface internalCreateFromFile(String str) { + if (GameActivityMain.instance.useAssetsFileSystem()) { + if (str.startsWith("/")) { + str = str.substring(1); + } + return Typeface.createFromAsset(GameActivityMain.instance.getAssetManager(), str); + } + return Typeface.createFromFile(str); + } + + public void drawString(Paint paint, String str, int i, int i2) { + this.canvas.drawText(str, i, i2, paint); + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/C2DMConstants.java b/app/src/main/java/com/ea/ironmonkey/C2DMConstants.java new file mode 100644 index 0000000..a4a1871 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/C2DMConstants.java @@ -0,0 +1,16 @@ +package com.ea.ironmonkey; + +/* loaded from: classes.dex */ +public class C2DMConstants { + public static final String ACTION_ERROR = "com.ea.ironmonkey.ERROR"; + public static final String ACTION_MESSAGE = "com.ea.ironmonkey.MESSAGE"; + public static final String ACTION_REGISTER = "com.ea.ironmonkey.REGISTER"; + public static final String ACTION_UNREGISTER = "com.ea.ironmonkey.UNREGISTER"; + public static final String EXTRA_ERROR_ID = "ERROR_ID"; + public static final String EXTRA_REGISTRATION_ID = "REGISTRATION_ID"; + public static final String LAUNCH_TYPE_TAG = "app_launch"; + public static final String SENDER_EMAIL = "927779459434"; + public static final String SYSTEM_MSG_CLASS_RECIPIENT = "com.ea.ironmonkey.GameActivityMain"; + public static final String SYSTEM_MSG_PACKAGE_RECIPIENT = "com.ea.games.nfs13_row"; + public static final String SYSTEM_MSG_TITLE = "NFS Most Wanted"; +} diff --git a/app/src/main/java/com/ea/ironmonkey/DownloaderService.java b/app/src/main/java/com/ea/ironmonkey/DownloaderService.java new file mode 100644 index 0000000..aaafe1f --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/DownloaderService.java @@ -0,0 +1,19 @@ +package com.ea.ironmonkey; + +/* loaded from: classes.dex */ +public class DownloaderService extends com.google.android.vending.expansion.downloader.impl.DownloaderService { + @Override // com.google.android.vending.expansion.downloader.impl.DownloaderService + public String getPublicKey() { + return getPackageName().endsWith("_row") ? SkuConfig.ROW_BASE64_PUBLIC_KEY : SkuConfig.NA_BASE64_PUBLIC_KEY; + } + + @Override // com.google.android.vending.expansion.downloader.impl.DownloaderService + public byte[] getSALT() { + return SkuConfig.SALT; + } + + @Override // com.google.android.vending.expansion.downloader.impl.DownloaderService + public String getAlarmReceiverClassName() { + return DownloaderServiceBroadcastReceiver.class.getName(); + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/DownloaderServiceBroadcastReceiver.java b/app/src/main/java/com/ea/ironmonkey/DownloaderServiceBroadcastReceiver.java new file mode 100644 index 0000000..750f5e2 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/DownloaderServiceBroadcastReceiver.java @@ -0,0 +1,19 @@ +package com.ea.ironmonkey; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import com.google.android.vending.expansion.downloader.DownloaderClientMarshaller; + +/* loaded from: classes.dex */ +public class DownloaderServiceBroadcastReceiver extends BroadcastReceiver { + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + try { + DownloaderClientMarshaller.startDownloadServiceIfRequired(context, intent, (Class) DownloaderService.class); + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/DrawFrameListener.java b/app/src/main/java/com/ea/ironmonkey/DrawFrameListener.java new file mode 100644 index 0000000..2cdc5e7 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/DrawFrameListener.java @@ -0,0 +1,8 @@ +package com.ea.ironmonkey; + +import javax.microedition.khronos.opengles.GL10; + +/* loaded from: classes.dex */ +public interface DrawFrameListener { + void onDrawFrame(GL10 gl10); +} diff --git a/app/src/main/java/com/ea/ironmonkey/GameActivityMain.java b/app/src/main/java/com/ea/ironmonkey/GameActivityMain.java new file mode 100644 index 0000000..02a9abd --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/GameActivityMain.java @@ -0,0 +1,1388 @@ +package com.ea.ironmonkey; + +import android.app.Activity; +import android.app.ActivityManager; +import android.app.AlertDialog; +import android.app.PendingIntent; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.res.AssetManager; +import android.content.res.Configuration; +import android.graphics.Rect; +import android.hardware.Sensor; +import android.hardware.SensorManager; +import android.media.AudioManager; +import android.net.Uri; +import android.opengl.GLES20; +import android.os.Build; +import android.os.Bundle; +import android.os.Handler; +import android.os.PowerManager; +import android.os.Process; +import android.provider.Settings; +import android.support.v4.media.session.PlaybackStateCompat; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.DisplayCutout; +import android.view.KeyEvent; +import android.view.OrientationEventListener; +import android.view.View; +import android.view.ViewParent; +import android.view.inputmethod.InputMethodManager; +import android.widget.FrameLayout; +import com.ea.EAIO.EAIO; +import com.ea.EAMIO.StorageDirectory; +import com.ea.nimble.ApplicationLifecycle; +import com.ea.nimble.Global; +import com.facebook.FacebookSdk; +import com.google.android.vending.expansion.downloader.Constants; +import com.google.gson.Gson; +import com.google.gson.annotations.SerializedName; +import com.google.gson.reflect.TypeToken; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; +import org.fmod.FMODAudioDevice; + +/* loaded from: classes.dex */ +public class GameActivityMain extends Activity implements DrawFrameListener { + private static final String DOWNLOAD_PROPERTIES = "downloadcontent/config.properties"; + public static final int LIFECYCLE_CREATED = 1; + public static final int LIFECYCLE_DESTROYED = 5; + public static final int LIFECYCLE_NONE = 0; + public static final int LIFECYCLE_RUNNING = 3; + public static final int LIFECYCLE_STARTED = 2; + public static final int LIFECYCLE_STOPPED = 4; + private static String SDCARD_DATA_FOLDER = ""; + public static final int STATE_ADC_PROCESS = 4; + public static final int STATE_ADC_START = 3; + public static final int STATE_FULL_PROCESS = 6; + public static final int STATE_FULL_START = 5; + public static final int STATE_GAME_START = 8; + public static final int STATE_GOOGLE_DRM = 2; + public static final int STATE_RESTORE_CONTEXT = 7; + public static final int STATE_SPLASH = 0; + public static final int STATE_SPLASH_PROCESS = 1; + public static final String TAG = "GameActivityMain"; + private static boolean assetsReady; + public static GameActivityMain instance; + private static boolean isAmazonDev; + private static AudioManager mAudioManager; + private static int oldState; + private static boolean sIsOtherMusicPlaying; + public static int state; + private Accelerometer accelerometer; + private GameGLSurfaceView gameGLSurfaceView; + private GameRenderer gameRenderer; + private GoogleDrm googleDrm; + private Handler handler; + private int laststate; + private int lifecycle; + private AlertDialog.Builder mAd; + private FMODAudioDevice mFMODAudioDevice; + private FrameLayout mFrameLayout; + private OrientationEventListener mOrientationListener; + private Map> mResources; + private PowerManager.WakeLock mWakeLock; + public int naturalOrientation; + private RunLoop runLoop; + private SplashScreen splash; + private int splashCounter; + private long splashDelay; + private long splashTimer; + private boolean isXperiaPlay = false; + private boolean isSleepModeEnabled = true; + private int mRotation = 0; + private AssetLocationType mAssetLocationType = AssetLocationType.EXTERNAL; + private String[] lifecycleNames = {"LIFECYCLE_NONE", "LIFECYCLE_CREATED", "LIFECYCLE_STARTED", "LIFECYCLE_RUNNING", "LIFECYCLE_STOPPED", "LIFECYCLE_DESTROYED"}; + + enum AssetLocationType { + EXTERNAL, + ASSETS, + OBB + } + + private void updateRequestedOrientation(int i) { + } + + public boolean IsSystemKey(int i) { + if (i == 3 || i == 91) { + return true; + } + switch (i) { + case 5: + case 6: + return true; + default: + switch (i) { + case 24: + case 25: + case 26: + case 27: + return true; + default: + return false; + } + } + } + + public native void nativeOnCreate(); + + public native void nativeOnDestroy(); + + public native void nativeOnMusicPlayerStateChanged(); + + public native void nativeOnOrientationChange(int i); + + public native void nativeOnPause(); + + public native void nativeOnPhysicalKeyDown(int i, int i2); + + public native void nativeOnPhysicalKeyUp(int i, int i2); + + public native void nativeOnPhysicalKeyboardVisibilityChanged(boolean z); + + public native void nativeOnPhysicalNavigationVisibilityChanged(boolean z); + + public native void nativeOnRestart(); + + public native void nativeOnResume(); + + public native void nativeOnStart(); + + public native void nativeOnStop(); + + public native boolean nativeRestoreContext(); + + public native void nativeSurfaceChanged(GL10 gl10, int i, int i2); + + public native void nativeSurfaceCreated(GL10 gl10, EGLConfig eGLConfig); + + @Override // android.app.Activity + public void onCreate(Bundle bundle) { + Log.setEnable(true); + Log.i(TAG, "onCreate"); + super.onCreate(bundle); + instance = this; + if (this.lifecycle == 5) { + Log.w(TAG, "onCreate called on destroyed app, finishing"); + finish(); + return; + } + if (this.lifecycle >= 1) { + Log.w(TAG, "onCreate ignored, lifecycle is already " + this.lifecycleNames[this.lifecycle]); + return; + } + this.handler = new Handler(); + setLifecycle(1); + Log.d("Model", Build.MODEL); + if (Build.MODEL.length() > 4 && Build.MODEL.substring(0, 4).equals("R800")) { + this.isXperiaPlay = true; + } + String packageName = getPackageName(); + if (packageName.endsWith("_azn_na") || packageName.endsWith("_azn_row")) { + Log.d(TAG, "It's Amazon dev"); + isAmazonDev = true; + } + if (!isAtLeastAPI(18) && getRequestedOrientation() != 6) { + setRequestedOrientation(6); + } + if (isAtLeastAPI(28)) { + getWindow().getAttributes().layoutInDisplayCutoutMode = 1; + getWindow().addFlags(67108864); + } + getWindow().setFlags(1024, 1024); + requestWindowFeature(1); + this.mOrientationListener = new OrientationEventListener(getApplicationContext()) { // from class: com.ea.ironmonkey.GameActivityMain.1 + @Override // android.view.OrientationEventListener + public void onOrientationChanged(int i) { + int rotation; + if (GameActivityMain.this.accelerometer == null || GameActivityMain.this.mRotation == (rotation = GameActivityMain.this.getWindow().getWindowManager().getDefaultDisplay().getRotation())) { + return; + } + GameActivityMain.this.mRotation = rotation; + if (Settings.System.getInt(GameActivityMain.this.getContentResolver(), "accelerometer_rotation", 0) == 1 || !GameActivityMain.isAtLeastAPI(18) || GameActivityMain.isAmazonDev) { + GameActivityMain.this.accelerometer.updateOrientation(GameActivityMain.this.mRotation); + GameActivityMain.this.nativeOnOrientationChange(GameActivityMain.this.mRotation); + Log.d(GameActivityMain.TAG, "OrientationEventListener::onOrientationChanged mRotation = " + Integer.toString(GameActivityMain.this.mRotation)); + return; + } + Log.d(GameActivityMain.TAG, "OrientationEventListener::onOrientationChanged rotation disabled!"); + } + }; + if (this.mOrientationListener.canDetectOrientation()) { + this.mOrientationListener.enable(); + } + mAudioManager = (AudioManager) getSystemService("audio"); + sIsOtherMusicPlaying = mAudioManager.isMusicActive(); + Log.i(TAG, "onCreate() isMusicActive = " + Boolean.toString(sIsOtherMusicPlaying)); + this.mFMODAudioDevice = new FMODAudioDevice(); + if (isAmazonDev) { + try { + Log.d(TAG, "onCreate open resources.json"); + InputStream open = getAssetManager().open("resources.json"); + this.mResources = (Map) new Gson().fromJson(new InputStreamReader(open), new TypeToken>>() { // from class: com.ea.ironmonkey.GameActivityMain.2 + }.getType()); + Log.d(TAG, "onCreate resources.json contains " + Integer.toString(this.mResources.size()) + " items"); + open.close(); + this.mAssetLocationType = AssetLocationType.ASSETS; + } catch (Exception e) { + Log.d(TAG, "onCreate exception on opening resources.json"); + Log.e(TAG, e.getMessage()); + this.mResources = new HashMap(); + } + } + if (this.mAssetLocationType != AssetLocationType.ASSETS) { + try { + InputStream open2 = getResources().getAssets().open("obb.size"); + if (open2 != null) { + this.mAssetLocationType = AssetLocationType.OBB; + open2.close(); + } + } catch (IOException e2) { + Log.e(TAG, e2.getMessage()); + } + } + SensorManager sensorManager = (SensorManager) getSystemService("sensor"); + Sensor defaultSensor = sensorManager.getDefaultSensor(1); + int rotation = getWindow().getWindowManager().getDefaultDisplay().getRotation(); + switch (rotation) { + case 0: + Log.d(TAG, "Orientation: ROTATION_0"); + break; + case 1: + Log.d(TAG, "Orientation: ROTATION_90"); + break; + case 2: + Log.d(TAG, "Orientation: ROTATION_180"); + break; + case 3: + Log.d(TAG, "Orientation: ROTATION_270"); + break; + } + this.mRotation = rotation; + updateRequestedOrientation(rotation); + if (defaultSensor != null) { + this.accelerometer = new Accelerometer(sensorManager, defaultSensor, rotation); + } + this.gameGLSurfaceView = new GameGLSurfaceView(this); + this.gameRenderer = new GameRenderer(this); + this.gameRenderer.setDrawFrameListener(this); + this.gameGLSurfaceView.setRenderer(this.gameRenderer); + this.runLoop = new RunLoop(this.gameGLSurfaceView); + this.mFrameLayout = new FrameLayout(this); + this.mFrameLayout.addView(this.gameGLSurfaceView); + setContentView(this.mFrameLayout); + this.googleDrm = new GoogleDrm(this); + System.loadLibrary("fmodex"); + System.loadLibrary("fmodevent"); + System.loadLibrary("c++_shared"); + System.loadLibrary(Global.NIMBLE_ID); + System.loadLibrary("app"); + FacebookSdk.sdkInitialize(this); + Log.d(TAG, "Init EAIO/EAMIO"); + EAIO.Startup(this); + StorageDirectory.Startup(this); + ApplicationLifecycle.onActivityCreate(bundle, this); + Log.d(TAG, "nativeOnCreate"); + nativeOnCreate(); + } + + public String[] forEach(String str) { + Log.d(TAG, "forEach path = " + str); + if (this.mResources.containsKey(str)) { + Log.d(TAG, "forEach mResources contains " + str); + return (String[]) this.mResources.get(str).keySet().toArray(new String[0]); + } + Log.d(TAG, "forEach mResources not contains " + str); + return new String[0]; + } + + public int getAssetSize(String str) { + Log.d(TAG, "getAssetSize filename = " + str); + File file = new File(str); + String parent = file.getParent(); + if (parent == null) { + if (this.mResources.containsKey(str)) { + Log.d(TAG, "getAssetSize mResources contains " + str); + return -1; + } + Log.d(TAG, "getAssetSize mResources not contains " + str); + } else { + Log.d(TAG, "getAssetSize path = " + parent); + if (this.mResources.containsKey(parent)) { + Log.d(TAG, "getAssetSize mResources contains " + parent); + Map map = this.mResources.get(parent); + String name = file.getName(); + Log.d(TAG, "getAssetSize name = " + name); + if (map.containsKey(name)) { + Log.d(TAG, "getAssetSize dir contains " + name); + FSNode fSNode = map.get(name); + int i = fSNode.directory ? -1 : fSNode.size; + Log.d(TAG, "getAssetSize filename = " + str + ", directory = " + Boolean.toString(fSNode.directory) + ", size = " + Integer.toString(fSNode.size)); + return i; + } + Log.d(TAG, "getAssetSize dir not contains " + name); + } else { + Log.d(TAG, "getAssetSize mResources not contains " + parent); + } + } + return -2; + } + + public boolean isObbAssets() { + return this.mAssetLocationType == AssetLocationType.OBB; + } + + public boolean isFullApkAssets() { + return this.mAssetLocationType == AssetLocationType.ASSETS; + } + + public boolean useAssetsFileSystem() { + return this.mAssetLocationType != AssetLocationType.EXTERNAL; + } + + private int getVersionCode() { + try { + return getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + return 0; + } + } + + public String getObbFullPath() { + return getObbDir() + "/" + ObbHelper.getObbFileName(this, getVersionCode()); + } + + public AssetManager getAssetManager() { + return getResources().getAssets(); + } + + public static boolean isAnyMusicPlaying() { + return sIsOtherMusicPlaying; + } + + public static boolean isAmazon() { + return isAmazonDev; + } + + public static boolean isAtLeastAPI(int i) { + return Build.VERSION.SDK_INT >= i; + } + + public void enableSleepMode() { + if (this.isSleepModeEnabled) { + return; + } + this.isSleepModeEnabled = true; + wakeLockRelease(); + } + + public void disableSleepMode() { + if (this.isSleepModeEnabled) { + this.isSleepModeEnabled = false; + wakeLockAcquire(); + } + } + + private void checkAnyMusicActive() { + if (mAudioManager != null) { + sIsOtherMusicPlaying = mAudioManager.isMusicActive(); + nativeOnMusicPlayerStateChanged(); + } + } + + private void getC2DMRegistrationId() { + Intent intent = new Intent("com.google.android.c2dm.intent.REGISTER"); + intent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); + intent.putExtra("sender", C2DMConstants.SENDER_EMAIL); + startService(intent); + } + + @Override // android.app.Activity + public void onStart() { + CallGC(); + Log.i(TAG, "onStart"); + super.onStart(); + Log.i(TAG, "onStart 1"); + wakeLockAcquire(); + Log.i(TAG, "onStart 2"); + if (this.lifecycle >= 2 && this.lifecycle < 4) { + Log.w(TAG, "onStart ignored, lifecycle is already " + this.lifecycleNames[this.lifecycle]); + return; + } + Log.i(TAG, "onStart 3"); + setLifecycle(2); + Log.i(TAG, "nativeOnStart"); + nativeOnStart(); + Log.i(TAG, "nativeOnStart - end"); + if (this.isXperiaPlay) { + switch (getResources().getConfiguration().navigationHidden) { + case 1: + nativeOnPhysicalNavigationVisibilityChanged(true); + break; + case 2: + nativeOnPhysicalNavigationVisibilityChanged(false); + break; + } + } + Log.i(TAG, "ApplicationLifecycle"); + ApplicationLifecycle.onActivityStart(this); + } + + @Override // android.app.Activity + public void onRestart() { + Log.i(TAG, "onRestart"); + super.onRestart(); + ApplicationLifecycle.onActivityRestart(this); + nativeOnRestart(); + } + + @Override // android.app.Activity + public void onPause() { + Log.i(TAG, "onPause state=" + state); + super.onPause(); + this.mFMODAudioDevice.stop(); + if (this.mOrientationListener.canDetectOrientation()) { + this.mOrientationListener.disable(); + } + if (this.lifecycle != 3) { + Log.w(TAG, "onPause ignored, lifecycle is currently " + this.lifecycleNames[this.lifecycle]); + return; + } + setLifecycle(2); + this.gameGLSurfaceView.onPause(); + ApplicationLifecycle.onActivityPause(this); + nativeOnPause(); + this.splash = null; + } + + private void ForceHideVirtualKeyboard() { + View currentFocus = getCurrentFocus(); + if (currentFocus != null) { + ((InputMethodManager) getSystemService("input_method")).hideSoftInputFromWindow(currentFocus.getWindowToken(), 0); + } + getWindow().setSoftInputMode(3); + } + + @Override // android.app.Activity + public void onResume() { + Log.i(TAG, "onResume"); + super.onResume(); + if (state != 7) { + oldState = state; + state = 7; + this.gameRenderer.setDrawFrameListener(this); + } + if (this.mOrientationListener.canDetectOrientation()) { + this.mOrientationListener.enable(); + } + if (this.lifecycle == 3) { + Log.w(TAG, "onResume ignored, lifecycle is currently " + this.lifecycleNames[this.lifecycle]); + return; + } + setLifecycle(3); + this.gameGLSurfaceView.onResume(); + ApplicationLifecycle.onActivityResume(this); + nativeOnResume(); + checkAnyMusicActive(); + this.mFMODAudioDevice.start(); + Log.i(TAG, "onResume() isMusicActive = " + Boolean.toString(sIsOtherMusicPlaying)); + } + + @Override // android.app.Activity + public void onStop() { + Log.i(TAG, "onStop"); + super.onStop(); + if (this.lifecycle >= 4) { + Log.w(TAG, "onStop ignored, lifecycle is already " + this.lifecycleNames[this.lifecycle]); + return; + } + setLifecycle(4); + wakeLockRelease(); + nativeOnStop(); + } + + @Override // android.app.Activity + public void onDestroy() { + Log.i(TAG, "onDestroy"); + super.onDestroy(); + if (this.lifecycle >= 5) { + Log.w(TAG, "onDestroy ignored, lifecycle is already " + this.lifecycleNames[this.lifecycle]); + return; + } + setLifecycle(5); + if (this.googleDrm.isEnable()) { + this.googleDrm.destroy(); + } + if (state == 8) { + ApplicationLifecycle.onActivityDestroy(this); + nativeOnDestroy(); + } + StorageDirectory.Shutdown(); + EAIO.Shutdown(); + System.exit(0); + } + + public void wakeLockAcquire() { + if (this.isSleepModeEnabled) { + return; + } + if (this.mWakeLock == null) { + this.mWakeLock = ((PowerManager) getSystemService("power")).newWakeLock(10, TAG); + } + if (this.mWakeLock.isHeld()) { + return; + } + try { + this.mWakeLock.acquire(); + } catch (SecurityException unused) { + Log.w(TAG, "Missing WAKE_LOCK permission."); + } + } + + public void wakeLockRelease() { + if (this.isSleepModeEnabled) { + return; + } + try { + if (this.mWakeLock == null || !this.mWakeLock.isHeld()) { + return; + } + this.mWakeLock.release(); + } catch (SecurityException unused) { + Log.w(TAG, "Missing WAKE_LOCK permission."); + } + } + + @Override // android.app.Activity + protected void onSaveInstanceState(Bundle bundle) { + super.onSaveInstanceState(bundle); + ApplicationLifecycle.onActivitySaveInstanceState(bundle, this); + } + + @Override // android.app.Activity + public void onActivityResult(int i, int i2, Intent intent) { + super.onActivityResult(i, i2, intent); + ApplicationLifecycle.onActivityResult(i, i2, intent, this); + } + + @Override // android.app.Activity, android.view.KeyEvent.Callback + public boolean onKeyDown(final int i, KeyEvent keyEvent) { + super.onKeyDown(i, keyEvent); + if (state != 8) { + return true; + } + if ((i == 4 || i == 108) && keyEvent.getRepeatCount() > 0) { + return true; + } + final int scanCode = keyEvent.getScanCode(); + this.gameGLSurfaceView.queueEvent(new Runnable() { // from class: com.ea.ironmonkey.GameActivityMain.3 + @Override // java.lang.Runnable + public void run() { + GameActivityMain.this.nativeOnPhysicalKeyDown(i, scanCode); + } + }); + return !IsSystemKey(i); + } + + @Override // android.app.Activity, android.view.KeyEvent.Callback + public boolean onKeyUp(final int i, KeyEvent keyEvent) { + super.onKeyUp(i, keyEvent); + if (state != 8) { + return true; + } + final int scanCode = keyEvent.getScanCode(); + this.gameGLSurfaceView.queueEvent(new Runnable() { // from class: com.ea.ironmonkey.GameActivityMain.4 + @Override // java.lang.Runnable + public void run() { + GameActivityMain.this.nativeOnPhysicalKeyUp(i, scanCode); + } + }); + return !IsSystemKey(i); + } + + @Override // android.app.Activity + public void onBackPressed() { + if (state == 1 || state == 0 || state == 7) { + finish(); + } + ApplicationLifecycle.onBackPressed(); + } + + @Override // android.app.Activity, android.content.ComponentCallbacks + public void onConfigurationChanged(Configuration configuration) { + Log.d(TAG, "onConfigurationChanged(" + configuration.toString() + ")"); + super.onConfigurationChanged(configuration); + if (this.accelerometer != null) { + int rotation = getWindow().getWindowManager().getDefaultDisplay().getRotation(); + switch (rotation) { + case 0: + Log.i(TAG, "Orientation: ROTATION_0"); + break; + case 1: + Log.i(TAG, "Orientation: ROTATION_90"); + break; + case 2: + Log.i(TAG, "Orientation: ROTATION_180"); + break; + case 3: + Log.i(TAG, "Orientation: ROTATION_270"); + break; + } + if (isAmazonDev) { + this.accelerometer.updateOrientation(rotation); + } + } + if (this.isXperiaPlay) { + switch (configuration.navigationHidden) { + case 1: + nativeOnPhysicalNavigationVisibilityChanged(true); + break; + case 2: + nativeOnPhysicalNavigationVisibilityChanged(false); + break; + } + } + } + + @Override // android.app.Activity, android.view.Window.Callback + public void onWindowFocusChanged(boolean z) { + super.onWindowFocusChanged(z); + Log.i(TAG, "onWindowsFocusChanged(" + z + ") state=" + state); + if (getGameGLSurfaceView() != null) { + getGameGLSurfaceView().setRenderMode(z ? 1 : 0); + } + if (!z) { + if (this.mFMODAudioDevice.isMixing()) { + this.mFMODAudioDevice.stop(); + checkAnyMusicActive(); + } + Log.i(TAG, "onWindowFocusChanged() isMusicActive = " + Boolean.toString(sIsOtherMusicPlaying)); + ForceHideVirtualKeyboard(); + nativeOnPhysicalKeyDown(131, 0); + nativeOnPhysicalKeyUp(131, 0); + if (state == 8 && !isAmazonDev) { + oldState = state; + state = 7; + this.gameRenderer.setDrawFrameListener(this); + } + } else { + if (!this.mFMODAudioDevice.isMixing()) { + checkAnyMusicActive(); + this.mFMODAudioDevice.start(); + } + Log.i(TAG, "onWindowFocusChanged() isMusicActive = " + Boolean.toString(sIsOtherMusicPlaying)); + if (!isAmazonDev) { + getWindow().getDecorView().setSystemUiVisibility(5894); + } + } + ApplicationLifecycle.onActivityWindowFocusChanged(z, this); + } + + private void setLifecycle(int i) { + if (i == this.lifecycle) { + return; + } + Log.i(TAG, this.lifecycleNames[this.lifecycle] + " -> " + this.lifecycleNames[i]); + this.lifecycle = i; + } + + public RunLoop getRunLoop() { + return this.runLoop; + } + + public GameGLSurfaceView getGameGLSurfaceView() { + return this.gameGLSurfaceView; + } + + public ViewParent GetViewRoot() { + return getWindow().getDecorView().getRootView().getParent(); + } + + public void CallGC() { + Log.d(TAG, "Call garbage collector"); + System.gc(); + } + + public static String GetDeviceName() { + return Build.MODEL; + } + + public static String getOsVersion() { + return Build.VERSION.RELEASE; + } + + public static String GetDefaultLanguage() { + return Locale.getDefault().toString().substring(0, 2); + } + + public static String GetDeviceLocale() { + String upperCase = Locale.getDefault().toString().replace('_', '-').toUpperCase(); + Log.d(TAG, "GetDeviceLocale locale = " + upperCase); + return upperCase; + } + + public void ShowMessage(String str, String[] strArr, final boolean z) { + Log.d(TAG, "ShowMessage msg=" + str + " finish=" + z); + this.mAd = new AlertDialog.Builder(this); + this.mAd.setMessage(str); + this.mAd.setCancelable(false); + this.mAd.setPositiveButton(strArr[0], new DialogInterface.OnClickListener() { // from class: com.ea.ironmonkey.GameActivityMain.5 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + if (z) { + GameActivityMain.this.finish(); + } + } + }); + this.handler.postDelayed(new Runnable() { // from class: com.ea.ironmonkey.GameActivityMain.6 + @Override // java.lang.Runnable + public void run() { + GameActivityMain.this.mAd.show(); + } + }, 20L); + } + + @Override // android.app.Activity, android.content.ComponentCallbacks + public void onLowMemory() { + ActivityManager activityManager = (ActivityManager) getSystemService("activity"); + ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); + activityManager.getMemoryInfo(memoryInfo); + Log.i(TAG, "Available memory: " + ((memoryInfo.availMem / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) + "MB\n"); + Log.i(TAG, "Threshold: " + ((memoryInfo.threshold / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) + "MB\n"); + List runningAppProcesses = activityManager.getRunningAppProcesses(); + new TreeMap(); + for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) { + if (runningAppProcessInfo.processName.indexOf("nfs13") != -1) { + Log.i(TAG, "Total memory: " + (activityManager.getProcessMemoryInfo(new int[]{runningAppProcessInfo.pid})[0].getTotalPss() / 1024) + "MB\n"); + } + } + super.onLowMemory(); + } + + public static String GetApplicationVersion() { + try { + return instance.getPackageManager().getPackageInfo(instance.getPackageName(), 0).versionName; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + return "1.0.1"; + } + } + + public int GetNaturalOrientation() { + int width; + int height; + Display defaultDisplay = getWindow().getWindowManager().getDefaultDisplay(); + switch (defaultDisplay.getRotation()) { + case 0: + case 2: + width = defaultDisplay.getWidth(); + height = defaultDisplay.getHeight(); + break; + case 1: + case 3: + width = defaultDisplay.getHeight(); + height = defaultDisplay.getWidth(); + break; + default: + height = 0; + width = 0; + break; + } + if (width > height) { + Log.d(TAG, "NaturalOrientation = LANDSCAPE"); + return 0; + } + Log.d(TAG, "NaturalOrientation = PORTRAIT"); + return 1; + } + + public Accelerometer getAccelerometer() { + return this.accelerometer; + } + + public DisplayMetrics getDisplayMetrics() { + if (Build.VERSION.SDK_INT >= 17) { + DisplayMetrics displayMetrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics); + return displayMetrics; + } + return getResources().getDisplayMetrics(); + } + + public boolean isAssetsReady() { + return assetsReady; + } + + @Override // android.app.Activity + public void setContentView(View view) { + Log.d(TAG, "setContentView(" + view + ")"); + if (view != null) { + if (view == this.mFrameLayout) { + super.setContentView(view); + return; + } + int childCount = this.mFrameLayout.getChildCount(); + for (int i = 0; i < childCount; i++) { + View childAt = this.mFrameLayout.getChildAt(i); + if (childAt != this.gameGLSurfaceView) { + this.mFrameLayout.removeView(childAt); + } + } + if (view != this.gameGLSurfaceView) { + this.mFrameLayout.addView(view); + } + this.mFrameLayout.bringChildToFront(view); + } + } + + @Override // com.ea.ironmonkey.DrawFrameListener + public void onDrawFrame(GL10 gl10) { + InputStream inputStream; + if (state != this.laststate) { + Log.d(TAG, "onDrawFrame state=" + state); + this.laststate = state; + } + boolean z = false; + switch (state) { + case 0: + this.splash = new SplashScreen(this); + this.splash.init(gl10, this.gameRenderer.getWidth(), this.gameRenderer.getHeight()); + if (this.googleDrm.isEnable()) { + Log.i(TAG, "Begin DRM Check..."); + this.handler.postDelayed(new Runnable() { // from class: com.ea.ironmonkey.GameActivityMain.7 + @Override // java.lang.Runnable + public void run() { + GameActivityMain.this.googleDrm.start(); + } + }, 20L); + state = 2; + } else { + state = 1; + } + this.splashCounter = 3; + break; + case 1: + if (this.splashCounter > 0) { + this.splashCounter--; + break; + } else { + this.splashTimer = System.currentTimeMillis() + 2500; + if (!assetsReady) { + try { + inputStream = getAssets().open(DOWNLOAD_PROPERTIES); + try { + inputStream.close(); + } catch (Exception unused) { + } + } catch (Exception unused2) { + inputStream = null; + } + if (inputStream != null) { + this.handler.postDelayed(new Runnable() { // from class: com.ea.ironmonkey.GameActivityMain.8 + @Override // java.lang.Runnable + public void run() { + } + }, 20L); + Log.i(TAG, "state ADC start"); + state = 3; + break; + } else { + Log.i(TAG, "STATE_GAME_START 1"); + state = 8; + break; + } + } else { + Log.i(TAG, "STATE_GAME_START 2"); + state = 8; + break; + } + } + case 3: + Log.i(TAG, "ADC start"); + break; + case 7: + if (this.splash == null) { + this.splash = new SplashScreen(this); + this.splash.init(gl10, this.gameRenderer.getWidth(), this.gameRenderer.getHeight()); + this.splashDelay = System.currentTimeMillis() + 2000; + } + if (this.splashDelay < System.currentTimeMillis() && hasWindowFocus()) { + if (oldState == 8) { + this.splashTimer = System.currentTimeMillis() + 300; + state = 8; + break; + } else { + state = oldState; + break; + } + } + break; + case 8: + if (this.splashTimer < System.currentTimeMillis() && nativeRestoreContext()) { + assetsReady = true; + nativeOnStart(); + nativeOnResume(); + this.gameRenderer.setDrawFrameListener(null); + z = true; + break; + } + break; + } + GLES20.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); + GLES20.glClear(16640); + if (this.splash != null) { + this.splash.draw(gl10, this.gameRenderer.getWidth(), this.gameRenderer.getHeight()); + } + if (!z || this.splash == null) { + return; + } + this.splash.destroy(gl10); + this.splash = null; + } + + public void onResult(String str, int i) { + Log.w(TAG, "onResult(" + str + "," + i + ")"); + if (str.equals("GOOGL_DRM")) { + if (i == -1) { + state = 1; + return; + } + Log.e(TAG, "No Google account!!!!"); + finish(); + Process.killProcess(Process.myPid()); + return; + } + if (i == -1) { + File file = new File(new File(str).getParent() + "/.nomedia"); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (Exception unused) { + } + } + this.handler.postDelayed(new Runnable() { // from class: com.ea.ironmonkey.GameActivityMain.9 + @Override // java.lang.Runnable + public void run() { + GameActivityMain.this.setContentView(GameActivityMain.this.gameGLSurfaceView); + } + }, 20L); + if (hasWindowFocus()) { + state = 8; + return; + } else { + oldState = 8; + state = 7; + return; + } + } + finish(); + Process.killProcess(Process.myPid()); + } + + /* JADX WARN: Code restructure failed: missing block: B:11:0x004a, code lost: + + r3 = r3[1].trim().split(" "); + com.ea.ironmonkey.Log.d("mem", r3[0]); + */ + /* JADX WARN: Code restructure failed: missing block: B:13:0x005d, code lost: + + r3 = java.lang.Integer.parseInt(r3[0].trim()) / 1024; + */ + /* JADX WARN: Code restructure failed: missing block: B:22:0x006a, code lost: + + r3 = move-exception; + */ + /* JADX WARN: Code restructure failed: missing block: B:23:0x006b, code lost: + + com.ea.ironmonkey.Log.d("mem", r3.toString()); + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public int getTotalMemory() { + /* + r9 = this; + java.io.File r0 = new java.io.File + java.lang.String r1 = "/proc/meminfo" + r0.(r1) + boolean r1 = r0.exists() + r2 = 0 + if (r1 == 0) goto L9c + r1 = 1 + java.io.FileReader r3 = new java.io.FileReader // Catch: java.lang.Exception -> L7f + r3.(r0) // Catch: java.lang.Exception -> L7f + java.io.BufferedReader r4 = new java.io.BufferedReader // Catch: java.lang.Exception -> L7f + r4.(r3) // Catch: java.lang.Exception -> L7f + L19: + java.lang.String r3 = r4.readLine() // Catch: java.lang.Exception -> L7f + if (r3 == 0) goto L74 + java.lang.String r5 = "mem" + com.ea.ironmonkey.Log.d(r5, r3) // Catch: java.lang.Exception -> L7f + java.lang.String r5 = ":" + java.lang.String[] r3 = r3.split(r5) // Catch: java.lang.Exception -> L7f + java.lang.String r5 = "mem" + r6 = r3[r2] // Catch: java.lang.Exception -> L7f + com.ea.ironmonkey.Log.d(r5, r6) // Catch: java.lang.Exception -> L7f + java.lang.String r5 = "mem" + r6 = r3[r1] // Catch: java.lang.Exception -> L7f + com.ea.ironmonkey.Log.d(r5, r6) // Catch: java.lang.Exception -> L7f + r5 = r3[r2] // Catch: java.lang.Exception -> L7f + java.lang.String r5 = r5.trim() // Catch: java.lang.Exception -> L7f + java.lang.String r5 = r5.toLowerCase() // Catch: java.lang.Exception -> L7f + java.lang.String r6 = "memtotal" + boolean r5 = r5.equals(r6) // Catch: java.lang.Exception -> L7f + if (r5 == 0) goto L19 + r3 = r3[r1] // Catch: java.lang.Exception -> L7f + java.lang.String r3 = r3.trim() // Catch: java.lang.Exception -> L7f + java.lang.String r5 = " " + java.lang.String[] r3 = r3.split(r5) // Catch: java.lang.Exception -> L7f + java.lang.String r5 = "mem" + r6 = r3[r2] // Catch: java.lang.Exception -> L7f + com.ea.ironmonkey.Log.d(r5, r6) // Catch: java.lang.Exception -> L7f + r3 = r3[r2] // Catch: java.lang.NumberFormatException -> L6a java.lang.Exception -> L7f + java.lang.String r3 = r3.trim() // Catch: java.lang.NumberFormatException -> L6a java.lang.Exception -> L7f + int r3 = java.lang.Integer.parseInt(r3) // Catch: java.lang.NumberFormatException -> L6a java.lang.Exception -> L7f + int r3 = r3 / 1024 + goto L75 + L6a: + r3 = move-exception + java.lang.String r5 = "mem" + java.lang.String r3 = r3.toString() // Catch: java.lang.Exception -> L7f + com.ea.ironmonkey.Log.d(r5, r3) // Catch: java.lang.Exception -> L7f + L74: + r3 = 0 + L75: + r4.close() // Catch: java.lang.Exception -> L7a + r2 = r3 + goto L9c + L7a: + r4 = move-exception + r8 = r4 + r4 = r3 + r3 = r8 + goto L81 + L7f: + r3 = move-exception + r4 = 0 + L81: + java.lang.String r5 = "GameActivityMain" + java.lang.String r6 = "Error reading system file: %s (%s)" + r7 = 2 + java.lang.Object[] r7 = new java.lang.Object[r7] + java.lang.String r0 = r0.getAbsolutePath() + r7[r2] = r0 + java.lang.String r0 = r3.getMessage() + r7[r1] = r0 + java.lang.String r0 = java.lang.String.format(r6, r7) + com.ea.ironmonkey.Log.e(r5, r0) + r2 = r4 + L9c: + java.lang.String r0 = "mem" + java.lang.StringBuilder r1 = new java.lang.StringBuilder + r1.() + java.lang.String r3 = "totalmemory=" + r1.append(r3) + r1.append(r2) + java.lang.String r1 = r1.toString() + com.ea.ironmonkey.Log.d(r0, r1) + return r2 + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.ironmonkey.GameActivityMain.getTotalMemory():int"); + } + + public void openURL(String str) { + openURLinBrowser(str); + } + + public void openURLinBrowser(String str) { + String replace = str.replace("http://", "https://"); + Log.d("OpenURLinBrowser", replace); + try { + startActivity(new Intent("android.intent.action.VIEW", Uri.parse(replace))); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public float getPerformanceScore() { + String readCpuFile = readCpuFile("present"); + int i = 0; + float f = 0.0f; + if (readCpuFile.length() > 0) { + List parseCpuList = parseCpuList(readCpuFile); + Iterator it = parseCpuList.iterator(); + while (true) { + if (!it.hasNext()) { + break; + } + if (readCpuFile(String.format("cpu%d/cpufreq/cpuinfo_max_freq", Integer.valueOf(it.next().intValue()))).length() > 0) { + try { + f = Integer.parseInt(r4) * 0.001f; + break; + } catch (NumberFormatException unused) { + continue; + } + } + } + i = parseCpuList.size(); + } + DisplayMetrics displayMetrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + return calcPerformanceScore(f, i, displayMetrics.widthPixels, displayMetrics.heightPixels); + } + + public List parseCpuList(String str) { + ArrayList arrayList = new ArrayList(); + for (String str2 : str.split(",")) { + if (str2.contains(Constants.FILENAME_SEQUENCE_SEPARATOR)) { + String[] split = str2.split(Constants.FILENAME_SEQUENCE_SEPARATOR); + if (split.length >= 2) { + try { + int parseInt = Integer.parseInt(split[1]); + for (int parseInt2 = Integer.parseInt(split[0]); parseInt2 <= parseInt; parseInt2++) { + arrayList.add(Integer.valueOf(parseInt2)); + } + } catch (NumberFormatException unused) { + } + } + } else { + arrayList.add(Integer.valueOf(Integer.parseInt(str2))); + } + } + return arrayList; + } + + public String readCpuFile(String str) { + File file = new File("/sys/devices/system/cpu", str); + if (!file.exists()) { + return ""; + } + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); + String readLine = bufferedReader.readLine(); + bufferedReader.close(); + return readLine; + } catch (Exception e) { + Log.e(TAG, String.format("Error reading system file: %s (%s)", file.getAbsolutePath(), e.getMessage())); + return ""; + } + } + + public float calcPerformanceScore(float f, int i, int i2, int i3) { + Log.i(TAG, "calcPerformanceScore(" + f + ", " + i + ", " + i2 + ", " + i3 + ")"); + float f2 = f * 0.001f; + float f3 = (3.0f * f2) + 0.0f; + if (i > 1) { + f3 += f2 * (Math.min(i, 4) - 1) * 0.5f; + } + double d = 0.0f; + double sqrt = Math.sqrt(i2 * i3) * 0.0010000000474974513d * 0.5d; + Double.isNaN(d); + float f4 = (float) (d + sqrt); + try { + Log.i(TAG, new BufferedReader(new FileReader(new File("/proc/cpuinfo"))).readLine()); + } catch (IOException e) { + e.printStackTrace(); + } + Log.i(TAG, Build.MODEL); + return ((f3 + 1.0f) / (f4 + 1.0f)) * 0.33333334f; + } + + public boolean needInstallWallpaper() { + Log.i(TAG, "needInstallWallpaper()"); + return false; + } + + /* JADX WARN: Code restructure failed: missing block: B:15:0x0068, code lost: + + if (r3 != null) goto L13; + */ + /* JADX WARN: Code restructure failed: missing block: B:16:0x006a, code lost: + + r3.close(); + */ + /* JADX WARN: Code restructure failed: missing block: B:27:0x0099, code lost: + + if (r3 != null) goto L13; + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public void installWallpaper() { + /* + r12 = this; + android.content.Intent r0 = new android.content.Intent + java.lang.String r1 = "android.intent.action.VIEW" + r0.(r1) + java.lang.String r1 = new java.lang.String + java.lang.StringBuilder r2 = new java.lang.StringBuilder + r2.() + java.io.File r3 = android.os.Environment.getExternalStorageDirectory() + java.lang.String r3 = r3.getAbsolutePath() + r2.append(r3) + java.lang.String r3 = "/published/wallpaper/" + r2.append(r3) + java.lang.String r2 = r2.toString() + r1.(r2) + r2 = 0 + java.io.File r3 = new java.io.File // Catch: java.lang.Throwable -> L7a java.io.IOException -> L8d + r3.(r1) // Catch: java.lang.Throwable -> L7a java.io.IOException -> L8d + r3.mkdirs() // Catch: java.lang.Throwable -> L7a java.io.IOException -> L8d + android.content.res.Resources r3 = r12.getResources() // Catch: java.lang.Throwable -> L7a java.io.IOException -> L8d + r4 = 2131427328(0x7f0b0000, float:1.847627E38) + android.content.res.AssetFileDescriptor r3 = r3.openRawResourceFd(r4) // Catch: java.lang.Throwable -> L7a java.io.IOException -> L8d + java.io.File r4 = new java.io.File // Catch: java.lang.Throwable -> L75 java.io.IOException -> L78 + java.lang.String r5 = "wallpaper.apk" + r4.(r1, r5) // Catch: java.lang.Throwable -> L75 java.io.IOException -> L78 + r4.createNewFile() // Catch: java.lang.Throwable -> L75 java.io.IOException -> L78 + java.io.FileInputStream r5 = r3.createInputStream() // Catch: java.lang.Throwable -> L75 java.io.IOException -> L78 + java.nio.channels.FileChannel r5 = r5.getChannel() // Catch: java.lang.Throwable -> L75 java.io.IOException -> L78 + java.io.FileOutputStream r6 = new java.io.FileOutputStream // Catch: java.lang.Throwable -> L73 java.io.IOException -> L8f + r6.(r4) // Catch: java.lang.Throwable -> L73 java.io.IOException -> L8f + java.nio.channels.FileChannel r4 = r6.getChannel() // Catch: java.lang.Throwable -> L73 java.io.IOException -> L8f + r8 = 0 + long r10 = r3.getLength() // Catch: java.lang.Throwable -> L6e java.io.IOException -> L71 + r6 = r4 + r7 = r5 + r6.transferFrom(r7, r8, r10) // Catch: java.lang.Throwable -> L6e java.io.IOException -> L71 + if (r4 == 0) goto L63 + r4.close() // Catch: java.io.IOException -> L9c + L63: + if (r5 == 0) goto L68 + r5.close() // Catch: java.io.IOException -> L9c + L68: + if (r3 == 0) goto L9c + L6a: + r3.close() // Catch: java.io.IOException -> L9c + goto L9c + L6e: + r0 = move-exception + r2 = r4 + goto L7d + L71: + r2 = r4 + goto L8f + L73: + r0 = move-exception + goto L7d + L75: + r0 = move-exception + r5 = r2 + goto L7d + L78: + r5 = r2 + goto L8f + L7a: + r0 = move-exception + r3 = r2 + r5 = r3 + L7d: + if (r2 == 0) goto L82 + r2.close() // Catch: java.io.IOException -> L8c + L82: + if (r5 == 0) goto L87 + r5.close() // Catch: java.io.IOException -> L8c + L87: + if (r3 == 0) goto L8c + r3.close() // Catch: java.io.IOException -> L8c + L8c: + throw r0 + L8d: + r3 = r2 + r5 = r3 + L8f: + if (r2 == 0) goto L94 + r2.close() // Catch: java.io.IOException -> L9c + L94: + if (r5 == 0) goto L99 + r5.close() // Catch: java.io.IOException -> L9c + L99: + if (r3 == 0) goto L9c + goto L6a + L9c: + java.io.File r2 = new java.io.File + java.lang.StringBuilder r3 = new java.lang.StringBuilder + r3.() + r3.append(r1) + java.lang.String r1 = "wallpaper.apk" + r3.append(r1) + java.lang.String r1 = r3.toString() + r2.(r1) + android.net.Uri r1 = android.net.Uri.fromFile(r2) + java.lang.String r2 = "application/vnd.android.package-archive" + r0.setDataAndType(r1, r2) + r12.startActivity(r0) + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.ironmonkey.GameActivityMain.installWallpaper():void"); + } + + public void onDownloadEvent(int i) { + String str = getApplicationInfo().dataDir + "/files/var1/adcEvents"; + long currentTimeMillis = System.currentTimeMillis(); + Log.i(TAG, "GetADCTelemetry: eventId= " + i + " eventTime=" + currentTimeMillis + " fileName=" + str); + byte[] bArr = {(byte) ((i >> 24) & 255), (byte) ((i >> 16) & 255), (byte) ((i >> 8) & 255), (byte) (i & 255), (byte) ((int) ((currentTimeMillis >> 56) & 255)), (byte) ((int) ((currentTimeMillis >> 48) & 255)), (byte) ((int) ((currentTimeMillis >> 40) & 255)), (byte) ((int) ((currentTimeMillis >> 32) & 255)), (byte) ((int) ((currentTimeMillis >> 24) & 255)), (byte) ((int) ((currentTimeMillis >> 16) & 255)), (byte) ((int) ((currentTimeMillis >> 8) & 255)), (byte) ((int) (currentTimeMillis & 255))}; + Log.i(TAG, "Write adcEvents file"); + try { + FileOutputStream fileOutputStream = new FileOutputStream(new File(str), true); + fileOutputStream.write(bArr, 0, 12); + fileOutputStream.close(); + } catch (Exception unused) { + Log.i(TAG, "Can't save adcEvents file"); + } + } + + public long getUtcTime() { + return TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis()); + } + + public int[][] getNotchesBoundingRects() { + DisplayCutout displayCutout; + int[][] iArr = (int[][]) Array.newInstance((Class) int.class, 0, 0); + if (Build.VERSION.SDK_INT < 28 || (displayCutout = getWindow().getDecorView().getRootWindowInsets().getDisplayCutout()) == null) { + return iArr; + } + List boundingRects = displayCutout.getBoundingRects(); + int[][] iArr2 = (int[][]) Array.newInstance((Class) int.class, boundingRects.size(), 4); + for (int i = 0; i < boundingRects.size(); i++) { + iArr2[i][0] = boundingRects.get(i).left; + iArr2[i][1] = boundingRects.get(i).top; + iArr2[i][2] = boundingRects.get(i).width(); + iArr2[i][3] = boundingRects.get(i).height(); + } + return iArr2; + } + + class FSNode { + + @SerializedName("directory") + public boolean directory; + + @SerializedName("size") + public int size; + + FSNode() { + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/GameGLSurfaceView.java b/app/src/main/java/com/ea/ironmonkey/GameGLSurfaceView.java new file mode 100644 index 0000000..fc96465 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/GameGLSurfaceView.java @@ -0,0 +1,223 @@ +package com.ea.ironmonkey; + +import android.opengl.GLSurfaceView; +import android.os.Build; +import android.view.MotionEvent; +import javax.microedition.khronos.egl.EGL10; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.egl.EGLContext; +import javax.microedition.khronos.egl.EGLDisplay; + +/* loaded from: classes.dex */ +public class GameGLSurfaceView extends GLSurfaceView { + private static final String TAG = "GameGLSurfaceView"; + private boolean enableHistoricalEvents; + private boolean kMotionEvent_GetSource; + private GameActivityMain mActivity; + + /* JADX INFO: Access modifiers changed from: private */ + public native void nativeTouchPadEvent(int i, int i2, float f, float f2); + + /* JADX INFO: Access modifiers changed from: private */ + public native void nativeTouchScreenEvent(int i, int i2, float f, float f2); + + public GameGLSurfaceView(GameActivityMain gameActivityMain) { + super(gameActivityMain); + this.enableHistoricalEvents = false; + this.kMotionEvent_GetSource = false; + this.mActivity = null; + this.mActivity = gameActivityMain; + try { + MotionEvent.class.getMethod("getSource", new Class[0]); + this.kMotionEvent_GetSource = true; + } catch (Exception unused) { + } + setGLESVersion2(); + setFocusable(true); + setFocusableInTouchMode(true); + if (Build.VERSION.SDK_INT >= 11) { + try { + Log.i(TAG, "setPreserveEGLContextOnPause"); + getClass().getMethod("setPreserveEGLContextOnPause", Boolean.TYPE).invoke(this, false); + Log.e(TAG, "setPreserveEGLContextOnPause(false) success"); + } catch (Exception unused2) { + Log.e(TAG, "setPreserveEGLContextOnPause failed"); + } + } + } + + public void setEnableHistoricalEvents(boolean z) { + this.enableHistoricalEvents = z; + } + + private void setGLESVersion2() { + setEGLContextFactory(new GLSurfaceView.EGLContextFactory() { // from class: com.ea.ironmonkey.GameGLSurfaceView.1 + private static final int EGL_CONTEXT_CLIENT_VERSION = 12440; + + @Override // android.opengl.GLSurfaceView.EGLContextFactory + public EGLContext createContext(EGL10 egl10, EGLDisplay eGLDisplay, EGLConfig eGLConfig) { + return egl10.eglCreateContext(eGLDisplay, eGLConfig, EGL10.EGL_NO_CONTEXT, new int[]{EGL_CONTEXT_CLIENT_VERSION, 2, 12344}); + } + + @Override // android.opengl.GLSurfaceView.EGLContextFactory + public void destroyContext(EGL10 egl10, EGLDisplay eGLDisplay, EGLContext eGLContext) { + egl10.eglDestroyContext(eGLDisplay, eGLContext); + } + }); + setEGLConfigChooser(new ConfigChooser(5, 6, 5, 0, 24, 0)); + } + + @Override // android.view.View + public boolean onTouchEvent(MotionEvent motionEvent) { + GameActivityMain gameActivityMain = this.mActivity; + int i = GameActivityMain.state; + GameActivityMain gameActivityMain2 = this.mActivity; + if (i != 8) { + return true; + } + motionEvent.getHistorySize(); + final int pointerCount = motionEvent.getPointerCount(); + final MotionEvent obtain = MotionEvent.obtain(motionEvent); + queueEvent(new Runnable() { // from class: com.ea.ironmonkey.GameGLSurfaceView.2 + @Override // java.lang.Runnable + public void run() { + int i2 = 0; + if (GameGLSurfaceView.this.kMotionEvent_GetSource) { + if (obtain.getSource() == 4098) { + if (obtain.getAction() == 2) { + while (i2 < pointerCount) { + GameGLSurfaceView.this.nativeTouchScreenEvent(obtain.getAction(), obtain.getPointerId(i2), obtain.getX(i2), obtain.getY(i2)); + i2++; + } + return; + } else { + int actionIndex = obtain.getActionIndex(); + GameGLSurfaceView.this.nativeTouchScreenEvent(obtain.getAction(), obtain.getPointerId(actionIndex), obtain.getX(actionIndex), obtain.getY(actionIndex)); + return; + } + } + if (obtain.getSource() == 1048584) { + if (obtain.getAction() == 2) { + while (i2 < pointerCount) { + GameGLSurfaceView.this.nativeTouchPadEvent(obtain.getAction(), obtain.getPointerId(i2), obtain.getX(i2), obtain.getY(i2)); + i2++; + } + return; + } else { + int actionIndex2 = obtain.getActionIndex(); + GameGLSurfaceView.this.nativeTouchPadEvent(obtain.getAction(), obtain.getPointerId(actionIndex2), obtain.getX(actionIndex2), obtain.getY(actionIndex2)); + return; + } + } + return; + } + if (obtain.getAction() == 2) { + while (i2 < pointerCount) { + GameGLSurfaceView.this.nativeTouchScreenEvent(obtain.getAction(), obtain.getPointerId(i2), obtain.getX(i2), obtain.getY(i2)); + i2++; + } + } else { + int actionIndex3 = obtain.getActionIndex(); + GameGLSurfaceView.this.nativeTouchScreenEvent(obtain.getAction(), obtain.getPointerId(actionIndex3), obtain.getX(actionIndex3), obtain.getY(actionIndex3)); + } + } + }); + return true; + } + + private static class ConfigChooser implements GLSurfaceView.EGLConfigChooser { + private static final int EGL_DEPTH_ENCODING_NONLINEAR_NV = 12515; + private static final int EGL_DEPTH_ENCODING_NV = 12514; + protected int mAlphaSize; + protected int mBlueSize; + protected int mDepthSize; + protected int mGreenSize; + protected int mRedSize; + protected int mStencilSize; + private int[] mValue = new int[1]; + + public ConfigChooser(int i, int i2, int i3, int i4, int i5, int i6) { + this.mRedSize = i; + this.mGreenSize = i2; + this.mBlueSize = i3; + this.mAlphaSize = i4; + this.mDepthSize = i5; + this.mStencilSize = i6; + } + + @Override // android.opengl.GLSurfaceView.EGLConfigChooser + public EGLConfig chooseConfig(EGL10 egl10, EGLDisplay eGLDisplay) { + int[] iArr = {12352, 4, 12324, 4, 12323, 4, 12322, 4, 12344}; + int[] iArr2 = new int[1]; + egl10.eglChooseConfig(eGLDisplay, iArr, null, 0, iArr2); + int i = iArr2[0]; + if (i <= 0) { + throw new IllegalArgumentException("No configs match configSpec"); + } + EGLConfig[] eGLConfigArr = new EGLConfig[i]; + egl10.eglChooseConfig(eGLDisplay, iArr, eGLConfigArr, i, iArr2); + return chooseConfig(egl10, eGLDisplay, eGLConfigArr); + } + + public EGLConfig chooseConfig(EGL10 egl10, EGLDisplay eGLDisplay, EGLConfig[] eGLConfigArr) { + EGLConfig eGLConfig = null; + while (true) { + int i = 0; + if (eGLConfig == null) { + int length = eGLConfigArr.length; + while (true) { + if (i >= length) { + break; + } + EGLConfig eGLConfig2 = eGLConfigArr[i]; + int findConfigAttrib = findConfigAttrib(egl10, eGLDisplay, eGLConfig2, 12325, 0); + int findConfigAttrib2 = findConfigAttrib(egl10, eGLDisplay, eGLConfig2, 12326, 0); + if (findConfigAttrib >= this.mDepthSize && findConfigAttrib2 >= this.mStencilSize) { + int findConfigAttrib3 = findConfigAttrib(egl10, eGLDisplay, eGLConfig2, 12324, 0); + int findConfigAttrib4 = findConfigAttrib(egl10, eGLDisplay, eGLConfig2, 12323, 0); + int findConfigAttrib5 = findConfigAttrib(egl10, eGLDisplay, eGLConfig2, 12322, 0); + int findConfigAttrib6 = findConfigAttrib(egl10, eGLDisplay, eGLConfig2, 12321, 0); + if (findConfigAttrib3 == this.mRedSize && findConfigAttrib4 == this.mGreenSize && findConfigAttrib5 == this.mBlueSize && findConfigAttrib6 == this.mAlphaSize) { + if (findConfigAttrib(egl10, eGLDisplay, eGLConfig2, EGL_DEPTH_ENCODING_NV, 0) == 0) { + eGLConfig = eGLConfig2; + break; + } + eGLConfig = eGLConfig2; + } + } + i++; + } + if (eGLConfig == null) { + if (this.mDepthSize <= 0) { + return null; + } + this.mDepthSize -= 8; + } + } else { + StringBuilder sb = new StringBuilder(); + sb.append("depth="); + EGLConfig eGLConfig3 = eGLConfig; + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, 12325, 0)); + sb.append(" stencil="); + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, 12326, 0)); + sb.append(" red="); + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, 12324, 0)); + sb.append(" green="); + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, 12323, 0)); + sb.append(" blue="); + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, 12322, 0)); + sb.append(" alpha="); + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, 12321, 0)); + sb.append(" nonLinear="); + sb.append(findConfigAttrib(egl10, eGLDisplay, eGLConfig3, EGL_DEPTH_ENCODING_NV, 0) == EGL_DEPTH_ENCODING_NONLINEAR_NV); + Log.i(GameGLSurfaceView.TAG, sb.toString()); + return eGLConfig; + } + } + } + + private int findConfigAttrib(EGL10 egl10, EGLDisplay eGLDisplay, EGLConfig eGLConfig, int i, int i2) { + return egl10.eglGetConfigAttrib(eGLDisplay, eGLConfig, i, this.mValue) ? this.mValue[0] : i2; + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/GameRenderer.java b/app/src/main/java/com/ea/ironmonkey/GameRenderer.java new file mode 100644 index 0000000..04c50e6 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/GameRenderer.java @@ -0,0 +1,54 @@ +package com.ea.ironmonkey; + +import android.opengl.GLSurfaceView; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; + +/* loaded from: classes.dex */ +public class GameRenderer implements GLSurfaceView.Renderer { + static GL10 _gl; + private int _height; + private int _width; + private GameActivityMain activity; + private DrawFrameListener drawFrameListener; + + public GameRenderer(GameActivityMain gameActivityMain) { + this.activity = gameActivityMain; + } + + public void setDrawFrameListener(DrawFrameListener drawFrameListener) { + this.drawFrameListener = drawFrameListener; + } + + public int getWidth() { + return this._width; + } + + public int getHeight() { + return this._height; + } + + @Override // android.opengl.GLSurfaceView.Renderer + public void onSurfaceCreated(GL10 gl10, EGLConfig eGLConfig) { + this.activity.nativeSurfaceCreated(gl10, eGLConfig); + } + + @Override // android.opengl.GLSurfaceView.Renderer + public void onSurfaceChanged(GL10 gl10, int i, int i2) { + if (gl10 != _gl) { + this.activity.nativeSurfaceChanged(gl10, i, i2); + _gl = gl10; + } + this._width = i; + this._height = i2; + } + + @Override // android.opengl.GLSurfaceView.Renderer + public void onDrawFrame(GL10 gl10) { + if (this.drawFrameListener != null) { + this.drawFrameListener.onDrawFrame(gl10); + } else { + this.activity.getRunLoop().onRunLoopTick(); + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/GoogleDrm.java b/app/src/main/java/com/ea/ironmonkey/GoogleDrm.java new file mode 100644 index 0000000..063d2d2 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/GoogleDrm.java @@ -0,0 +1,49 @@ +package com.ea.ironmonkey; + +import android.provider.Settings; +import com.eamobile.licensing.ILicenseServerActivityCallback; +import com.eamobile.licensing.LicenseServerActivity; + +/* loaded from: classes.dex */ +class GoogleDrm implements ILicenseServerActivityCallback { + private GameActivityMain _activity; + private String publicKey; + + public boolean isEnable() { + return false; + } + + public GoogleDrm(GameActivityMain gameActivityMain) { + this._activity = gameActivityMain; + this.publicKey = SkuConfig.NA_BASE64_PUBLIC_KEY; + if (this._activity.getPackageName().endsWith("_row")) { + this.publicKey = SkuConfig.ROW_BASE64_PUBLIC_KEY; + } + } + + public void start() { + LicenseServerActivity.getInstance().initLicenseServerActivity(this._activity, this, this._activity, SkuConfig.SALT, this._activity.getPackageName(), this.publicKey, Settings.Secure.getString(this._activity.getContentResolver(), "android_id")); + } + + public void destroy() { + LicenseServerActivity.getInstance().destroyLicenseServerActvity(); + } + + /* JADX WARN: Unreachable blocks removed: 1, instructions: 2 */ + @Override // com.eamobile.licensing.ILicenseServerActivityCallback + public void onLicenseResultStart() { + GameActivityMain gameActivityMain = this._activity; + LicenseServerActivity.getInstance().LastCheckPointCheck(); + GameActivityMain gameActivityMain2 = this._activity; + gameActivityMain.onResult("GOOGL_DRM", -1); + LicenseServerActivity.getInstance().destroyLicenseServerActvity(); + } + + @Override // com.eamobile.licensing.ILicenseServerActivityCallback + public void onLicenseResultEnd() { + GameActivityMain gameActivityMain = this._activity; + GameActivityMain gameActivityMain2 = this._activity; + gameActivityMain.onResult("GOOGL_DRM", 0); + LicenseServerActivity.getInstance().destroyLicenseServerActvity(); + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/Log.java b/app/src/main/java/com/ea/ironmonkey/Log.java new file mode 100644 index 0000000..a2cfeaa --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/Log.java @@ -0,0 +1,46 @@ +package com.ea.ironmonkey; + +/* loaded from: classes.dex */ +public class Log { + private static boolean enable; + + public static void setEnable(boolean z) { + enable = z; + } + + public static void i(String str, String str2) { + if (enable) { + android.util.Log.i(str, str2); + } + } + + public static void e(String str, String str2) { + if (enable) { + android.util.Log.e(str, str2); + } + } + + public static void w(String str, String str2) { + if (enable) { + android.util.Log.w(str, str2); + } + } + + public static void d(String str, String str2) { + if (enable) { + android.util.Log.d(str, str2); + } + } + + public static void v(String str, String str2) { + if (enable) { + android.util.Log.v(str, str2); + } + } + + public static void e(String str, String str2, Exception exc) { + if (enable) { + android.util.Log.e(str, str2, exc); + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/MogaController.java b/app/src/main/java/com/ea/ironmonkey/MogaController.java new file mode 100644 index 0000000..196535d --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/MogaController.java @@ -0,0 +1,30 @@ +package com.ea.ironmonkey; + +import com.bda.controller.ControllerListener; +import com.bda.controller.KeyEvent; +import com.bda.controller.MotionEvent; +import com.bda.controller.StateEvent; + +/* loaded from: classes.dex */ +public class MogaController implements ControllerListener { + native void nativeOnKeyEvent(KeyEvent keyEvent); + + native void nativeOnMotionEvent(MotionEvent motionEvent); + + native void nativeOnStateEvent(StateEvent stateEvent); + + @Override // com.bda.controller.ControllerListener + public void onKeyEvent(KeyEvent keyEvent) { + nativeOnKeyEvent(keyEvent); + } + + @Override // com.bda.controller.ControllerListener + public void onMotionEvent(MotionEvent motionEvent) { + nativeOnMotionEvent(motionEvent); + } + + @Override // com.bda.controller.ControllerListener + public void onStateEvent(StateEvent stateEvent) { + nativeOnStateEvent(stateEvent); + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/ObbActivity.java b/app/src/main/java/com/ea/ironmonkey/ObbActivity.java new file mode 100644 index 0000000..c38fdc0 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/ObbActivity.java @@ -0,0 +1,489 @@ +package com.ea.ironmonkey; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.app.AlertDialog; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.net.ConnectivityManager; +import android.os.Build; +import android.os.Bundle; +import android.os.Messenger; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.ea.games.nfs13_row.R; +import com.google.android.vending.expansion.downloader.DownloadProgressInfo; +import com.google.android.vending.expansion.downloader.DownloaderClientMarshaller; +import com.google.android.vending.expansion.downloader.DownloaderServiceMarshaller; +import com.google.android.vending.expansion.downloader.Helpers; +import com.google.android.vending.expansion.downloader.IDownloaderClient; +import com.google.android.vending.expansion.downloader.IDownloaderService; +import com.google.android.vending.expansion.downloader.IStub; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +/* loaded from: classes.dex */ +public class ObbActivity extends Activity implements IDownloaderClient { + static final String LOGTAG = "ObbActivity"; + static final int NOTIFICATION_ID = LOGTAG.hashCode(); + public static String PACKAGE_NAME; + private View RLayout; + private Button mCancel; + private IStub mDownloaderClientStub; + private TextView mMessageText; + private View mMessageView; + private Button mOK; + private Button mPause; + private TextView mProgressText; + private TextView mProgressTextSmall; + private View mProgressView; + private IDownloaderService mRemoteService; + private boolean mShowingMessage; + private int mState; + Bundle m_savedInstanceState; + NotificationManager myNotificationManager; + private boolean isFirstTime3GCheck = true; + private boolean pausedFor3GCheck = false; + private ProgressBar mProgressBar = null; + private long m_TotalDownloadSize = 0; + private boolean mIsDownloading = false; + public ObbActivity mInstance = null; + private boolean mhasFocus = false; + private boolean ENABLE_LOG = true; + private final Runnable HideSystemKeys = new Runnable() { // from class: com.ea.ironmonkey.ObbActivity.6 + @Override // java.lang.Runnable + @TargetApi(18) + public void run() { + if (ObbActivity.this.isAtLeastAPI(19)) { + ObbActivity.this.getWindow().getDecorView().setSystemUiVisibility(5894); + } else { + if (!ObbActivity.this.isAtLeastAPI(14) || (ObbActivity.this.getWindow().getDecorView().getSystemUiVisibility() & 1) == 1) { + return; + } + ObbActivity.this.getWindow().getDecorView().setSystemUiVisibility(1); + } + } + }; + + public void setUpNotification() { + } + + public void startGameActivity() { + try { + startActivity(new Intent(this, (Class) GameActivityMain.class)); + finish(); + } catch (Exception e) { + logError(e.toString()); + } + } + + private void log(String str) { + if (this.ENABLE_LOG) { + android.util.Log.d(LOGTAG, str); + } + } + + private void logError(String str) { + if (this.ENABLE_LOG) { + android.util.Log.e(LOGTAG, str); + } + } + + @Override // android.app.Activity + protected void onCreate(Bundle bundle) { + requestWindowFeature(1); + super.onCreate(bundle); + log("................onCreate of ObbActivity ............."); + getWindow().setFlags(1024, 1024); + getWindow().addFlags(128); + this.mInstance = this; + setupUI(); + checkAndDownloadFilesIfNeeded(); + } + + @Override // android.app.Activity + protected void onStart() { + log("obbactivity onStart called "); + super.onStart(); + if (this.mDownloaderClientStub != null) { + this.mDownloaderClientStub.connect(this); + } + } + + @Override // android.app.Activity + protected void onResume() { + super.onResume(); + log("obbactivity onResume called "); + } + + @Override // android.app.Activity + protected void onPause() { + super.onPause(); + log("obbactivity on Pause called"); + } + + @Override // android.app.Activity + protected void onStop() { + log("obbactivity onStop called"); + if (this.mDownloaderClientStub != null) { + log("..... disconnected the client stub ....."); + this.mDownloaderClientStub.disconnect(this); + } + super.onStop(); + } + + @Override // android.app.Activity + protected void onDestroy() { + super.onDestroy(); + log("obbactivity on Destroy called "); + } + + private void doTerminate(String str) { + new AlertDialog.Builder(this.mInstance).setMessage(str).setPositiveButton("Ok", new DialogInterface.OnClickListener() { // from class: com.ea.ironmonkey.ObbActivity.1 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + ObbActivity.this.mInstance.finish(); + System.exit(0); + } + }).show(); + } + + public void checkAndDownloadFilesIfNeeded() { + log("obbactivity checkAndDownloadFilesIfNeeded called "); + if (expansionFilesDelivered(true)) { + log("................Main.obb present and hence launching Game Activity................"); + startGameActivity(); + return; + } + log("................ Expansion files were not delivered ................"); + this.mDownloaderClientStub = DownloaderClientMarshaller.CreateStub(this, DownloaderService.class); + startDownload(); + if (this.mIsDownloading) { + return; + } + startGameActivity(); + } + + public void setupUI() { + setContentView(R.layout.downloader); + this.mProgressBar = (ProgressBar) findViewById(R.id.progressBar); + this.mProgressText = (TextView) findViewById(R.id.statusText); + this.mProgressTextSmall = (TextView) findViewById(R.id.progressText); + this.mMessageText = (TextView) findViewById(R.id.messageText); + this.mMessageView = findViewById(R.id.messageView); + this.mProgressView = findViewById(R.id.progressView); + this.mPause = (Button) findViewById(R.id.pauseButton); + this.mOK = (Button) findViewById(R.id.okButton); + this.mCancel = (Button) findViewById(R.id.cancelButton); + this.mOK.setOnClickListener(new View.OnClickListener() { // from class: com.ea.ironmonkey.ObbActivity.2 + @Override // android.view.View.OnClickListener + public void onClick(View view) { + if (ObbActivity.this.mState == 9 || ObbActivity.this.mState == 8) { + ObbActivity.this.mRemoteService.setDownloadFlags(1); + } + if (ObbActivity.this.mRemoteService != null) { + ObbActivity.this.mRemoteService.requestContinueDownload(); + } + } + }); + this.mPause.setOnClickListener(new View.OnClickListener() { // from class: com.ea.ironmonkey.ObbActivity.3 + @Override // android.view.View.OnClickListener + public void onClick(View view) { + if (ObbActivity.this.mRemoteService == null) { + return; + } + if (7 == ObbActivity.this.mState) { + ObbActivity.this.mRemoteService.requestContinueDownload(); + ObbActivity.this.mPause.setText(R.string.downloader_Pause); + } else { + ObbActivity.this.mRemoteService.requestPauseDownload(); + } + } + }); + this.mCancel.setOnClickListener(new View.OnClickListener() { // from class: com.ea.ironmonkey.ObbActivity.4 + @Override // android.view.View.OnClickListener + public void onClick(View view) { + if (ObbActivity.this.mRemoteService != null) { + ObbActivity.this.mRemoteService.requestAbortDownload(); + } + ObbActivity.this.finish(); + } + }); + } + + @Override // com.google.android.vending.expansion.downloader.IDownloaderClient + public void onDownloadProgress(DownloadProgressInfo downloadProgressInfo) { + log("Download Progress ...........!"); + if (this.isFirstTime3GCheck) { + try { + if (((ConnectivityManager) getSystemService("connectivity")).getNetworkInfo(0).isConnectedOrConnecting()) { + this.isFirstTime3GCheck = false; + if (this.mRemoteService != null) { + this.pausedFor3GCheck = true; + this.mRemoteService.requestPauseDownload(); + showMessage(getString(R.string.downloader_Confirm3GNetwork), R.string.downloader_Continue, R.string.downloader_Quit); + return; + } + } + } catch (Exception unused) { + logError(".............................error at 3G check............................."); + this.isFirstTime3GCheck = false; + this.pausedFor3GCheck = false; + } + } + if (this.m_TotalDownloadSize == 0) { + this.m_TotalDownloadSize = downloadProgressInfo.mOverallTotal / 1048576; + } + this.mProgressBar.setMax((int) (downloadProgressInfo.mOverallTotal >> 8)); + this.mProgressBar.setProgress((int) (downloadProgressInfo.mOverallProgress >> 8)); + this.mProgressTextSmall.setText((downloadProgressInfo.mOverallProgress / 1048576) + " MB/ " + this.m_TotalDownloadSize + " MB"); + int parseInt = Integer.parseInt(Helpers.getDownloadProgressPercent(downloadProgressInfo.mOverallProgress, downloadProgressInfo.mOverallTotal).replaceAll("[\\D]", "")); + if (parseInt >= 0 && parseInt < 25) { + log("Download Progress 0 .. 25"); + this.mProgressText.setText(R.string.text_0_24); + return; + } + if (parseInt >= 25 && parseInt < 50) { + log("Download Progress 25 .. 49"); + this.mProgressText.setText(R.string.text_25_49); + return; + } + if (parseInt >= 50 && parseInt < 75) { + log("Download Progress 50 .. 75"); + this.mProgressText.setText(R.string.text_50_74); + } else if (parseInt >= 75 && parseInt < 95) { + log("Download Progress 75 .. 95"); + this.mProgressText.setText(R.string.text_75_99); + } else { + log("Download Progress 100 !"); + this.mProgressText.setText(R.string.text_100); + } + } + + @Override // com.google.android.vending.expansion.downloader.IDownloaderClient + public void onDownloadStateChanged(int i) { + if (this.mState != i) { + log("onDownloadStateChanged newstate = " + i); + this.mState = i; + this.mProgressText.setText(Helpers.getDownloaderStringResourceIDFromState(i)); + boolean z = false; + switch (i) { + case 1: + log(".............................STATE_IDLE............................."); + hideMessage(); + z = true; + this.mProgressBar.setIndeterminate(z); + break; + case 2: + case 3: + log(".............................STATE_CONNECTING/STATE_FETCHING_URL............................."); + hideMessage(); + z = true; + this.mProgressBar.setIndeterminate(z); + break; + case 4: + log(".............................STATE_DOWNLOADING............................."); + hideMessage(); + this.mProgressBar.setIndeterminate(z); + break; + case 5: + log(".............................STATE_COMPLETED............................."); + setUpNotification(); + this.mProgressTextSmall.setText(this.m_TotalDownloadSize + "/" + this.m_TotalDownloadSize + " MBs"); + this.mProgressText.setText(R.string.text_100); + this.mProgressBar.setMax(1); + this.mProgressBar.setProgress(1); + disablePauseButton(); + hideMessage(); + this.mIsDownloading = false; + startGameActivity(); + break; + case 6: + case 10: + case 11: + case 13: + case 17: + default: + hideMessage(); + z = true; + this.mProgressBar.setIndeterminate(z); + break; + case 7: + log(".............................STATE_PAUSED_BY_REQUEST............................."); + this.mPause.setText(R.string.downloader_Resume); + if (!this.pausedFor3GCheck) { + hideMessage(); + } else { + this.pausedFor3GCheck = false; + } + this.mProgressBar.setIndeterminate(z); + break; + case 8: + case 9: + log(".............................STATE_PAUSED_WIFI_DISABLED_NEED_CELLULAR_PERMISSION............................."); + try { + if (((ConnectivityManager) getSystemService("connectivity")).getNetworkInfo(0).isConnectedOrConnecting()) { + this.isFirstTime3GCheck = false; + if (this.mRemoteService != null) { + showMessage(getString(R.string.downloader_Confirm3GNetwork), R.string.downloader_Continue, R.string.downloader_Quit); + break; + } + } else { + showMessage(getString(Helpers.getDownloaderStringResourceIDFromState(i)), R.string.downloader_Retry, R.string.downloader_Quit); + } + } catch (Exception unused) { + this.isFirstTime3GCheck = false; + logError(".............................error at 3G check............................."); + showMessage(getString(Helpers.getDownloaderStringResourceIDFromState(i)), R.string.downloader_Retry, R.string.downloader_Quit); + } + this.mProgressBar.setIndeterminate(z); + break; + case 12: + case 14: + log("............................STATE_PAUSED_ROAMING/STATE_PAUSED_SDCARD_UNAVAILABLE.............................."); + showMessage(getString(Helpers.getDownloaderStringResourceIDFromState(i)), R.string.downloader_Retry, R.string.downloader_Quit); + this.mProgressBar.setIndeterminate(z); + break; + case 15: + log(".............................License check failed............................."); + showMessage(getString(R.string.license_failed), R.string.downloader_Retry, R.string.downloader_Quit); + this.mProgressBar.setIndeterminate(z); + break; + case 16: + case 18: + case 19: + log(".............................STATE_FAILED............................."); + showMessage(getString(Helpers.getDownloaderStringResourceIDFromState(i)), R.string.downloader_Retry, R.string.downloader_Quit); + this.mProgressBar.setIndeterminate(z); + break; + } + } + } + + @Override // com.google.android.vending.expansion.downloader.IDownloaderClient + public void onServiceConnected(Messenger messenger) { + this.mRemoteService = DownloaderServiceMarshaller.CreateProxy(messenger); + this.mRemoteService.onClientUpdated(this.mDownloaderClientStub.getMessenger()); + log("............................. onServiceConnected! ............................."); + } + + boolean expansionFilesDelivered(boolean z) { + String expansionAPKFileName = Helpers.getExpansionAPKFileName(this, z, getVersionCode()); + log("expansionFilesDelivered ... " + expansionAPKFileName + "............................."); + long j = 0; + try { + InputStream open = getResources().getAssets().open("obb.size"); + if (open != null) { + try { + j = Long.parseLong(new BufferedReader(new InputStreamReader(open)).readLine()); + } catch (NumberFormatException e) { + logError(e.getMessage()); + } + open.close(); + } + } catch (IOException e2) { + logError(e2.getMessage()); + } + log("checking file " + expansionAPKFileName + " of expected size bytes " + Long.toString(j)); + if (!Helpers.doesFileExist(this, expansionAPKFileName, j, false)) { + log("file " + expansionAPKFileName + "of expected size bytes " + j + "was NOT FOUND"); + return false; + } + log("EXPANSION FILE DELIVERED!"); + return true; + } + + private void startDownload() { + try { + Intent intent = new Intent(this, (Class) ObbActivity.class); + intent.setFlags(335544320); + if (DownloaderClientMarshaller.startDownloadServiceIfRequired(this, PendingIntent.getActivity(this, 0, intent, 134217728), (Class) DownloaderService.class) != 0) { + log(".............................Should start downloading!............................."); + this.mIsDownloading = true; + setRequestedOrientation(0); + return; + } + log(".............................No download required!............................."); + } catch (PackageManager.NameNotFoundException e) { + logError(".............................Cannot find package " + e.toString()); + } + } + + public void showMessage(String str, int i, int i2) { + if (!this.mShowingMessage) { + this.mMessageView.setVisibility(0); + this.mProgressView.setVisibility(8); + log("SHOW MESSAGE " + str + " b1: " + i + " b2: " + i2); + this.mShowingMessage = true; + } + this.mMessageText.setText(str); + this.mOK.setText(i); + this.mCancel.setText(i2); + } + + public void hideMessage() { + if (this.mShowingMessage) { + this.mMessageView.setVisibility(8); + this.mProgressView.setVisibility(0); + this.mShowingMessage = false; + } + } + + public int getVersionCode() { + try { + return getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; + } catch (PackageManager.NameNotFoundException unused) { + logError(".............................Cannot read value in manifest. Expected android:versionCode............................."); + return 0; + } + } + + public void disablePauseButton() { + this.mPause.setClickable(false); + } + + @TargetApi(18) + private void setupSystemUiVisibility() { + if (isAtLeastAPI(19)) { + getWindow().addFlags(33554432); + getWindow().addFlags(134217728); + } + if (isAtLeastAPI(14)) { + getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { // from class: com.ea.ironmonkey.ObbActivity.5 + @Override // android.view.View.OnSystemUiVisibilityChangeListener + public void onSystemUiVisibilityChange(int i) { + if (ObbActivity.this.mhasFocus) { + ObbActivity.this.onSystemUiVisibilityChanged(); + } + } + }); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onSystemUiVisibilityChanged() { + ((LinearLayout) findViewById(R.id.OBBLayout)).postDelayed(this.HideSystemKeys, 1000L); + } + + public boolean isAtLeastAPI(int i) { + return Build.VERSION.SDK_INT >= i; + } + + @Override // android.app.Activity, android.view.Window.Callback + public void onWindowFocusChanged(boolean z) { + log("................onWindowFocusChanged to ............." + z); + super.onWindowFocusChanged(z); + this.mhasFocus = z; + if (this.mhasFocus) { + onSystemUiVisibilityChanged(); + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/ObbHelper.java b/app/src/main/java/com/ea/ironmonkey/ObbHelper.java new file mode 100644 index 0000000..d70e465 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/ObbHelper.java @@ -0,0 +1,14 @@ +package com.ea.ironmonkey; + +import android.content.Context; +import com.google.android.vending.expansion.downloader.Helpers; + +/* loaded from: classes.dex */ +class ObbHelper { + ObbHelper() { + } + + public static String getObbFileName(Context context, int i) { + return Helpers.getExpansionAPKFileName(context, true, i); + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/PermissionsActivity.java b/app/src/main/java/com/ea/ironmonkey/PermissionsActivity.java new file mode 100644 index 0000000..fe396a0 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/PermissionsActivity.java @@ -0,0 +1,132 @@ +package com.ea.ironmonkey; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; +import android.view.KeyEvent; +import com.ea.games.nfs13_row.R; + +/* loaded from: classes.dex */ +public class PermissionsActivity extends Activity { + private static final int PERMISSIONS_REQUEST = 3; + + protected void onCreate() { + if (Build.VERSION.SDK_INT >= 23) { + checkPermissions(); + } else { + initActivity(); + } + } + + public void checkPermissions() { + if (Build.VERSION.SDK_INT >= 23) { + if (ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") != 0) { + if (ActivityCompat.shouldShowRequestPermissionRationale(this, "android.permission.WRITE_EXTERNAL_STORAGE")) { + showPermissionDialog(false); + return; + } else { + requestSecurityPermissions(); + return; + } + } + initActivity(); + return; + } + initActivity(); + } + + @Override // android.app.Activity + public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) { + if (i != 3) { + return; + } + if (iArr.length == 1 && iArr[0] == 0) { + initActivity(); + } else { + showPermissionDialog(true); + } + } + + private void showPermissionDialog(final boolean z) { + runOnUiThread(new Runnable() { // from class: com.ea.ironmonkey.PermissionsActivity.1 + @Override // java.lang.Runnable + public void run() { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setMessage(R.string.STR_PERMISSION_TEXT); + builder.setPositiveButton(R.string.STR_PERMISSION_OK, new DialogInterface.OnClickListener() { // from class: com.ea.ironmonkey.PermissionsActivity.1.1 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + if (!z) { + PermissionsActivity.this.requestSecurityPermissions(); + return; + } + Intent intent = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS", Uri.parse("package:" + PermissionsActivity.this.getPackageName())); + intent.addFlags(8388608); + PermissionsActivity.this.startActivityForResult(intent, 3); + } + }); + builder.setNegativeButton(R.string.STR_PERMISSION_CANCEL, new DialogInterface.OnClickListener() { // from class: com.ea.ironmonkey.PermissionsActivity.1.2 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + PermissionsActivity.this.finish(); + } + }); + AlertDialog create = builder.create(); + create.setCanceledOnTouchOutside(false); + create.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.ea.ironmonkey.PermissionsActivity.1.3 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + if (i != 4) { + return true; + } + PermissionsActivity.this.finish(); + dialogInterface.dismiss(); + return true; + } + }); + create.show(); + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void requestSecurityPermissions() { + ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 3); + } + + @Override // android.app.Activity + public void onCreate(Bundle bundle) { + super.onCreate(bundle); + onCreate(); + } + + @Override // android.app.Activity + public void onActivityResult(int i, int i2, Intent intent) { + super.onActivityResult(i, i2, intent); + if (i == 3) { + if (ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") == 0) { + initActivity(); + return; + } else { + showPermissionDialog(true); + return; + } + } + initActivity(); + } + + private void initActivity() { + try { + startActivity(new Intent(this, (Class) ObbActivity.class)); + finish(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/RunLoop.java b/app/src/main/java/com/ea/ironmonkey/RunLoop.java new file mode 100644 index 0000000..33a340c --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/RunLoop.java @@ -0,0 +1,57 @@ +package com.ea.ironmonkey; + +import android.opengl.GLSurfaceView; + +/* loaded from: classes.dex */ +public class RunLoop { + public static final int STATE_RUNNING = 1; + public static final int STATE_STOPPED = 0; + private GLSurfaceView glSurfaceView; + private int state; + + private native void nativeOnRunLoopTick(); + + public RunLoop(GLSurfaceView gLSurfaceView) { + this.glSurfaceView = gLSurfaceView; + updateRenderMode(); + } + + public int getState() { + return this.state; + } + + public void start() { + setState(1); + } + + public void stop() { + setState(0); + } + + public void join() { + setState(0); + } + + private void setState(int i) { + this.state = i; + updateRenderMode(); + } + + private void updateRenderMode() { + Log.v("RunLoop", "RunLoop.state = " + this.state); + switch (this.state) { + case 0: + this.glSurfaceView.setRenderMode(0); + break; + case 1: + this.glSurfaceView.setRenderMode(1); + break; + } + } + + public void onRunLoopTick() { + if (this.state == 1) { + nativeOnRunLoopTick(); + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/SkuConfig.java b/app/src/main/java/com/ea/ironmonkey/SkuConfig.java new file mode 100644 index 0000000..a129ca6 --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/SkuConfig.java @@ -0,0 +1,8 @@ +package com.ea.ironmonkey; + +/* loaded from: classes.dex */ +public class SkuConfig { + public static final String NA_BASE64_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsPSqZyfa7iZ9DOslXqDVPiyjsIjCCCDsp1x4pcuH9gFiivyVWhIAHrfMdLlg+6UmlbUoSyKwNRUKJA+H5N/L792/PewpOe2yXSvsqtdROJ12O34q8DPC2D7ezL8M/Io3bp9x18u/D5lf2PEQq4uBNEV1W1iK3PtsdWdpmNKMvnPDQXT3vciWdKa1R0g2xRHCXEK2Ft1Tlkx38ejAAmYvpvoP2e8IqnlwH2fz89G5nxnKdmGop1mz4KTZ8REmBCnmTb07fRkSd4N7S64W2zu8lktMUUbGvCmRbt4zE48AzXEWmyHNW+mqx+IUKyK5wHObnDM9RSwKLWsDe++rrGgROQIDAQAB"; + public static final String ROW_BASE64_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjDe1oWKcLp/Rtm1ezKa9G+fHdqKvWExNR1aYuudU5VGX9gTby6w8UPKLHXeWxuOq2mS2hWxjIXVsOanspXWJbnBaqydpXmNz+0qZ0K6VlEiL7YvVL9KHNpVAck1bz4toLrmrjM6E/RyphBl+3W5+XSGOJ4Z3dabuz/TQdgNlYAr9nd1NlLg8S2Pu1FsFygy79kpwKBDZFUiCTDwzmGgLSetFnOfr0NwC+NnF/bEB6gE3REcdtT0zyFj0SR8ZWIKRvRPu5BYXe9nKguLN0AUvshXm/MjhrxKmRWTjTTKZkax+f3zFut/yq8UDxMwGA15Ex60xkCcELgCcNPBrWdFDtQIDAQAB"; + public static final byte[] SALT = {13, -1, 23, -45, 11, -28, 56, -1, -14, 24, -12, 98, -13, 49, 11, 15, -27, 93, 86, -24}; +} diff --git a/app/src/main/java/com/ea/ironmonkey/SplashScreen.java b/app/src/main/java/com/ea/ironmonkey/SplashScreen.java new file mode 100644 index 0000000..a171aea --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/SplashScreen.java @@ -0,0 +1,171 @@ +package com.ea.ironmonkey; + +import android.app.Activity; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.opengl.GLES20; +import android.opengl.GLUtils; +import java.nio.Buffer; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.FloatBuffer; +import javax.microedition.khronos.opengles.GL10; + +/* loaded from: classes.dex */ +public class SplashScreen { + private static final String TAG = "SplashScreen"; + private static final int floatSize = 4; + private Activity _activity; + private int _attPosition; + private int _attSampler; + private int _attTexCoord; + private int _fragmentShader; + private int _program; + private int _vertexShader; + private FloatBuffer vBuffer; + private final String vShaderStr = "attribute vec4 a_position; \nattribute vec4 a_texCoord; \nvarying vec2 v_texCoord; \nvoid main() \n{ \n gl_Position = a_position; \n v_texCoord = a_texCoord.xy; \n} \n"; + private final String fShaderStr = "precision highp float; \nvarying vec2 v_texCoord; \nuniform sampler2D s_texture; \nvoid main() \n{ \n gl_FragColor = texture2D( s_texture, v_texCoord );\n} \n"; + private int[] _textureId = new int[1]; + + public SplashScreen(Activity activity) { + this._activity = activity; + } + + public void init(GL10 gl10, int i, int i2) { + Bitmap bitmap; + if (!initRenderer()) { + destroy(gl10); + return; + } + GLES20.glGetError(); + GLES20.glGenTextures(1, this._textureId, 0); + GLES20.glBindTexture(3553, this._textureId[0]); + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_4444; + try { + bitmap = BitmapFactory.decodeStream(this._activity.getAssets().open("splash.png"), null, options); + } catch (Exception e) { + Log.e(TAG, "loadBitmap ", e); + bitmap = null; + } + GLUtils.texImage2D(3553, 0, bitmap, 0); + GLES20.glTexParameterf(3553, 10241, 9729.0f); + GLES20.glTexParameterf(3553, 10240, 9729.0f); + GLES20.glTexParameterf(3553, 10242, 33071.0f); + GLES20.glTexParameterf(3553, 10243, 33071.0f); + bitmap.recycle(); + int glGetError = GLES20.glGetError(); + if (glGetError != 0) { + Log.e(TAG, "Texture Load GLError: " + glGetError); + destroy(gl10); + } + } + + private boolean initRenderer() { + this._vertexShader = LoadShader(35633, "attribute vec4 a_position; \nattribute vec4 a_texCoord; \nvarying vec2 v_texCoord; \nvoid main() \n{ \n gl_Position = a_position; \n v_texCoord = a_texCoord.xy; \n} \n"); + this._fragmentShader = LoadShader(35632, "precision highp float; \nvarying vec2 v_texCoord; \nuniform sampler2D s_texture; \nvoid main() \n{ \n gl_FragColor = texture2D( s_texture, v_texCoord );\n} \n"); + this._program = GLES20.glCreateProgram(); + if (this._program == 0 || this._vertexShader == 0 || this._fragmentShader == 0) { + Log.e(TAG, "InitRender() - fail\n"); + return false; + } + GLES20.glAttachShader(this._program, this._vertexShader); + GLES20.glAttachShader(this._program, this._fragmentShader); + GLES20.glLinkProgram(this._program); + int[] iArr = new int[1]; + GLES20.glGetProgramiv(this._program, 35714, iArr, 0); + if (iArr[0] == 0) { + Log.e(TAG, "InitRender() - fail link program"); + Log.e(TAG, GLES20.glGetProgramInfoLog(this._program)); + GLES20.glDeleteProgram(this._program); + this._program = 0; + return false; + } + this._attPosition = GLES20.glGetAttribLocation(this._program, "a_position"); + this._attTexCoord = GLES20.glGetAttribLocation(this._program, "a_texCoord"); + this._attSampler = GLES20.glGetAttribLocation(this._program, "s_texture"); + return true; + } + + private int LoadShader(int i, String str) { + int glCreateShader = GLES20.glCreateShader(i); + if (glCreateShader == 0) { + Log.e(TAG, "LoadShader(" + i + ", " + str + " - create shader fail\n"); + return 0; + } + GLES20.glShaderSource(glCreateShader, str); + GLES20.glCompileShader(glCreateShader); + int[] iArr = new int[1]; + GLES20.glGetShaderiv(glCreateShader, 35713, iArr, 0); + if (iArr[0] != 0) { + return glCreateShader; + } + Log.e(TAG, "LoadShader(" + i + ", " + str + ") - compile shader fail\n"); + GLES20.glDeleteShader(glCreateShader); + Log.e(TAG, GLES20.glGetShaderInfoLog(glCreateShader)); + return 0; + } + + public boolean draw(GL10 gl10, int i, int i2) { + float f; + if (this._textureId[0] == 0) { + return false; + } + float f2 = 0.8f; + if (i > i2) { + f2 = (i2 / i) * 0.8f; + f = 0.8f; + } else { + f = (i / i2) * 0.8f; + } + float f3 = -f2; + float f4 = -f; + float[][] fArr = {new float[]{f3, f4, 0.0f, 1.0f, f2, f4, 1.0f, 1.0f, f3, f, 0.0f, 0.0f, f2, f, 1.0f, 0.0f}, new float[]{f3, f4, 1.0f, 1.0f, f2, f4, 1.0f, 0.0f, f3, f, 0.0f, 1.0f, f2, f, 0.0f, 0.0f}}; + this.vBuffer = ByteBuffer.allocateDirect(fArr[0].length * 4).order(ByteOrder.nativeOrder()).asFloatBuffer(); + if (i < i2) { + this.vBuffer.put(fArr[1]); + } else { + this.vBuffer.put(fArr[0]); + } + GLES20.glViewport(0, 0, i, i2); + GLES20.glUseProgram(this._program); + GLES20.glEnable(3553); + GLES20.glActiveTexture(33984); + GLES20.glBindTexture(3553, this._textureId[0]); + GLES20.glUniform1i(this._attSampler, 0); + this.vBuffer.position(0); + GLES20.glVertexAttribPointer(this._attPosition, 2, 5126, false, 16, (Buffer) this.vBuffer); + GLES20.glEnableVertexAttribArray(this._attPosition); + this.vBuffer.position(2); + GLES20.glVertexAttribPointer(this._attTexCoord, 2, 5126, false, 16, (Buffer) this.vBuffer); + GLES20.glEnableVertexAttribArray(this._attTexCoord); + GLES20.glDrawArrays(5, 0, 4); + GLES20.glDisableVertexAttribArray(this._attPosition); + GLES20.glDisableVertexAttribArray(this._attTexCoord); + GLES20.glUseProgram(0); + return true; + } + + public void destroy(GL10 gl10) { + if (this._textureId[0] != 0) { + GLES20.glDeleteTextures(1, this._textureId, 0); + this._textureId[0] = 0; + } + if (this._program != 0) { + GLES20.glDeleteProgram(this._program); + this._program = 0; + } + if (this._vertexShader != 0) { + GLES20.glDeleteShader(this._vertexShader); + this._vertexShader = 0; + } + if (this._fragmentShader != 0) { + GLES20.glDeleteShader(this._fragmentShader); + this._fragmentShader = 0; + } + if (this.vBuffer != null) { + this.vBuffer.clear(); + this.vBuffer = null; + } + } +} diff --git a/app/src/main/java/com/ea/ironmonkey/WebActivity.java b/app/src/main/java/com/ea/ironmonkey/WebActivity.java new file mode 100644 index 0000000..3f24d6b --- /dev/null +++ b/app/src/main/java/com/ea/ironmonkey/WebActivity.java @@ -0,0 +1,149 @@ +package com.ea.ironmonkey; + +import android.app.Activity; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.View; +import android.webkit.WebChromeClient; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import android.widget.Toast; +import com.ea.games.nfs13_row.R; +import java.util.Locale; + +/* loaded from: classes.dex */ +public class WebActivity extends Activity { + public static String m_Language; + private static volatile Runnable m_RunnableBuildAndShowHTML; + public static String m_URL; + public static boolean m_bWorkingState; + private Bitmap backButton; + private Bitmap backButtonPressed; + private ImageView backImage; + private String m_PageURL = null; + private ProgressBar m_progressBar = null; + final Handler progressHandler = new Handler() { // from class: com.ea.ironmonkey.WebActivity.1 + @Override // android.os.Handler + public void handleMessage(Message message) { + WebActivity.this.setProgress(message.arg1); + WebActivity.this.m_progressBar.setProgress(message.arg1); + } + }; + private WebView webview; + + @Override // android.app.Activity + public void onCreate(Bundle bundle) { + m_bWorkingState = true; + super.onCreate(bundle); + requestWindowFeature(2); + getWindow().setFlags(1024, 1024); + setRequestedOrientation(0); + requestWindowFeature(1); + setProgressBarVisibility(true); + setContentView(R.layout.webview); + this.webview = (WebView) findViewById(R.id.mainWebView); + this.webview.getSettings().setJavaScriptEnabled(true); + this.m_progressBar = (ProgressBar) findViewById(R.id.progressBarWeb); + this.backButton = BitmapFactory.decodeResource(getResources(), R.drawable.btn_back); + this.backButtonPressed = BitmapFactory.decodeResource(getResources(), R.drawable.btn_back_pressed); + this.backImage = (ImageView) findViewById(R.id.backButton); + this.backImage.setOnTouchListener(new View.OnTouchListener() { // from class: com.ea.ironmonkey.WebActivity.2 + @Override // android.view.View.OnTouchListener + public boolean onTouch(View view, MotionEvent motionEvent) { + if (motionEvent.getAction() == 0) { + WebActivity.this.backImage.setImageBitmap(WebActivity.this.backButtonPressed); + return false; + } + if (motionEvent.getAction() != 1) { + return false; + } + WebActivity.this.backImage.setImageBitmap(WebActivity.this.backButton); + return false; + } + }); + this.backImage.setOnClickListener(new View.OnClickListener() { // from class: com.ea.ironmonkey.WebActivity.3 + @Override // android.view.View.OnClickListener + public void onClick(View view) { + WebActivity.m_bWorkingState = false; + WebActivity.this.finish(); + } + }); + Bundle extras = getIntent().getExtras(); + String string = extras.getString("URL"); + this.m_PageURL = string; + m_URL = string; + String string2 = extras.getString("Language"); + m_Language = string2; + if (string2 != null) { + try { + Configuration configuration = new Configuration(getResources().getConfiguration()); + configuration.locale = new Locale(string2); + ((TextView) findViewById(R.id.appName)).setText(new Resources(getResources().getAssets(), getResources().getDisplayMetrics(), configuration).getString(R.string.app_full_name)); + } catch (Throwable unused) { + } + } + this.webview.setWebChromeClient(new WebChromeClient() { // from class: com.ea.ironmonkey.WebActivity.4 + @Override // android.webkit.WebChromeClient + public void onProgressChanged(WebView webView, int i) { + Message obtainMessage = WebActivity.this.progressHandler.obtainMessage(); + obtainMessage.arg1 = i; + WebActivity.this.progressHandler.sendMessage(obtainMessage); + } + }); + this.webview.setWebViewClient(new WebViewClient() { // from class: com.ea.ironmonkey.WebActivity.5 + @Override // android.webkit.WebViewClient + public void onPageFinished(WebView webView, String str) { + WebActivity.this.m_progressBar.setVisibility(8); + } + + @Override // android.webkit.WebViewClient + public void onReceivedError(WebView webView, int i, String str, String str2) { + Toast.makeText(WebActivity.this, "Error ! " + str, 0).show(); + } + }); + m_RunnableBuildAndShowHTML = new Runnable() { // from class: com.ea.ironmonkey.WebActivity.6 + @Override // java.lang.Runnable + public void run() { + WebActivity.this.BuildAndShowHTML(); + } + }; + runOnUiThread(m_RunnableBuildAndShowHTML); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void BuildAndShowHTML() { + if (this.m_PageURL != null) { + this.webview.loadUrl(this.m_PageURL); + } + } + + @Override // android.app.Activity, android.view.KeyEvent.Callback + public boolean onKeyDown(int i, KeyEvent keyEvent) { + if (i == 4) { + this.backImage.setImageBitmap(this.backButtonPressed); + return true; + } + return super.onKeyDown(i, keyEvent); + } + + @Override // android.app.Activity, android.view.KeyEvent.Callback + public boolean onKeyUp(int i, KeyEvent keyEvent) { + if (i == 4) { + this.backImage.setImageBitmap(this.backButton); + m_bWorkingState = false; + finish(); + return true; + } + return super.onKeyUp(i, keyEvent); + } +} diff --git a/app/src/main/java/com/ea/nimble/ApplicationEnvironment.java b/app/src/main/java/com/ea/nimble/ApplicationEnvironment.java new file mode 100644 index 0000000..8859f69 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ApplicationEnvironment.java @@ -0,0 +1,44 @@ +package com.ea.nimble; + +import android.app.Activity; + +/* loaded from: classes.dex */ +public class ApplicationEnvironment { + public static final String COMPONENT_ID = "com.ea.nimble.applicationEnvironment"; + public static final String NIMBLE_PARAMETER_ANDROID_ID = "androidId"; + public static final String NIMBLE_PARAMETER_ATTRIBUTION_DATA = "attributionData"; + public static final String NIMBLE_PARAMETER_COUNTRY_CODE = "countryCode"; + public static final String NIMBLE_PARAMETER_DEVICE_BRAND = "deviceBrand"; + public static final String NIMBLE_PARAMETER_DEVICE_CODENAME = "deviceCodename"; + public static final String NIMBLE_PARAMETER_DEVICE_LANGUAGE = "deviceLanguage"; + public static final String NIMBLE_PARAMETER_DEVICE_LOCALE = "deviceLocale"; + public static final String NIMBLE_PARAMETER_DEVICE_MODEL = "deviceModel"; + public static final String NIMBLE_PARAMETER_FB_ATTR_ID = "fbAttrId"; + public static final String NIMBLE_PARAMETER_GAID = "gaid"; + public static final String NIMBLE_PARAMETER_IMEI = "imei"; + public static final String NIMBLE_PARAMETER_LIMIT_AD_TRACKING = "limitAdTracking"; + public static final String NIMBLE_PARAMETER_PLATFORM = "platform"; + public static final String NIMBLE_PARAMETER_SYSTEM_NAME = "systemName"; + public static final String NIMBLE_PARAMETER_SYSTEM_VERSION = "systemVersion"; + public static final String NOTIFICATION_AGE_COMPLIANCE_REFRESHED = "nimble.notification.age_compliance_refreshed"; + + public static IApplicationEnvironment getComponent() { + return BaseCore.getInstance().getApplicationEnvironment(); + } + + public static Activity getCurrentActivity() { + return ApplicationEnvironmentImpl.getCurrentActivity(); + } + + public static void setCurrentActivity(Activity activity) { + ApplicationEnvironmentImpl.setCurrentActivity(activity); + } + + public static boolean isMainApplicationRunning() { + return ApplicationEnvironmentImpl.isMainApplicationRunning(); + } + + public static boolean isMainApplicationActive() { + return ApplicationEnvironmentImpl.isMainApplicationActive(); + } +} diff --git a/app/src/main/java/com/ea/nimble/ApplicationEnvironmentImpl.java b/app/src/main/java/com/ea/nimble/ApplicationEnvironmentImpl.java new file mode 100644 index 0000000..81507d1 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ApplicationEnvironmentImpl.java @@ -0,0 +1,1115 @@ +package com.ea.nimble; + +import android.accounts.Account; +import android.accounts.AccountManager; +import android.app.Activity; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; +import android.provider.Settings; +import android.telephony.TelephonyManager; +import android.util.Patterns; +import java.io.File; +import java.io.IOException; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Currency; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class ApplicationEnvironmentImpl extends Component implements IApplicationEnvironment, LogSource { + private static final String KEY_GAME_PLAYER_ID = "gamePlayerId"; + private static final int MILLIS_IN_AN_HOUR = 3600000; + private static final String NIMBLE_APPLICATIONENVIRONMENT_PERSISTENCE_GAME_SPECIFIED_ID = "nimble_applicationenvironment_game_specified_id"; + private static final String PERSISTENCE_AGE_REQUIREMENTS = "ageRequirement"; + private static final String PERSISTENCE_ATTRIBUTION_DATA = "attributionData"; + private static final String PERSISTENCE_LANGUAGE = "language"; + private static final String PERSISTENCE_TIME_RETRIEVED = "timeRetrieved"; + private static final String SUPERUSER_APK_LOCATION = "/system/app/Superuser.apk"; + private static final String SYNERGY_API_GET_AGE_REQUIREMENTS = "/rest/agerequirements/ip"; + private static boolean isMainApplicationActive; + private static boolean isMainApplicationRunning; + private static Activity s_currentActivity; + private List m_advertisingIdCallbacks; + private String m_androidId; + private BroadcastReceiver m_attributionDataNetworkListener; + private Context m_context; + private BaseCore m_core; + private String m_language; + private BroadcastReceiver m_networkListener; + private String m_packageId; + private Map m_parameters; + private Map m_playerIdMap; + private InstallReferrerClient m_referrerClient; + private String m_version; + private String m_advertisingId = null; + private boolean m_limitAdTrackingEnabled = true; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return ApplicationEnvironment.COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "AppEnv"; + } + + ApplicationEnvironmentImpl(BaseCore baseCore) { + if (s_currentActivity == null) { + throw new AssertionError("Cannot create a ApplicationEnvironment without a valid current activity"); + } + this.m_core = baseCore; + this.m_context = s_currentActivity.getApplicationContext(); + this.m_language = null; + this.m_playerIdMap = new HashMap(); + this.m_parameters = generateParameterDictionary(); + String documentPath = getDocumentPath(); + File file = documentPath != null ? new File(documentPath) : null; + File file2 = new File(getTempPath()); + if (file == null || ((!file.exists() && !file.mkdirs()) || (!file2.exists() && !file2.mkdirs()))) { + throw new AssertionError("APP_ENV: Cannot create necessary folder"); + } + File[] listFiles = file2.listFiles(); + if (listFiles != null) { + for (File file3 : listFiles) { + if (file3.delete()) { + android.util.Log.d(Global.NIMBLE_ID, "APP_ENV: Delete temp file " + file3.getName()); + } + } + } + this.m_androidId = Settings.Secure.getString(this.m_context.getContentResolver(), "android_id"); + } + + private Map generateParameterDictionary() { + Log.Helper.LOGFUNC(this); + HashMap hashMap = new HashMap(); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_ANDROID_ID, Utility.safeString(Settings.Secure.getString(this.m_context.getContentResolver(), "android_id"))); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_SYSTEM_NAME, "Android"); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_SYSTEM_VERSION, Build.VERSION.RELEASE); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_PLATFORM, "android"); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_CODENAME, Build.DEVICE); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_MODEL, Build.MODEL); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_BRAND, Build.BRAND); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_LANGUAGE, Utility.safeString(Locale.getDefault().getLanguage())); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_LOCALE, Utility.safeString(Locale.getDefault().toString())); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_COUNTRY_CODE, Utility.safeString(Locale.getDefault().getCountry())); + PackageManager packageManager = this.m_context.getPackageManager(); + if (packageManager != null && packageManager.checkPermission("android.permission.READ_PHONE_STATE", this.m_context.getPackageName()) == 0) { + TelephonyManager telephonyManager = (TelephonyManager) this.m_context.getSystemService(PlaceFields.PHONE); + if (telephonyManager != null) { + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_IMEI, Utility.safeString(telephonyManager.getDeviceId())); + } else { + Log.Helper.LOGE(this, "Could not retrieve telephony service", new Object[0]); + } + } + try { + Cursor query = this.m_context.getContentResolver().query(Uri.parse("content://com.facebook.katana.provider.AttributionIdProvider"), null, null, null, null); + if (query != null) { + query.moveToFirst(); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_FB_ATTR_ID, query.getString(0)); + query.close(); + } + } catch (Exception e) { + Log.Helper.LOGI(this, e.toString(), new Object[0]); + } + return hashMap; + } + + @Override // com.ea.nimble.Component + protected void setup() { + Log.Helper.LOGD(this, "Setting application to active in setup", new Object[0]); + isMainApplicationActive = true; + this.m_context = s_currentActivity.getApplicationContext(); + retrieveAdvertisingIdImpl(null); + } + + @Override // com.ea.nimble.Component + protected void resume() { + Log.Helper.LOGD(this, "Setting application to active in resume", new Object[0]); + isMainApplicationActive = true; + retrieveAdvertisingIdImpl(null); + } + + @Override // com.ea.nimble.Component + protected void restore() { + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + setApplicationLanguageCode(getDeviceLanguage(), true); + Log.Helper.LOGWS("ApplicationEnvironment", "Persistence is null - Couldn't read Game Specified Player ID or Language from Persistence", new Object[0]); + } else { + String stringValue = persistenceForNimbleComponent.getStringValue(NIMBLE_APPLICATIONENVIRONMENT_PERSISTENCE_GAME_SPECIFIED_ID); + if (Utility.validString(stringValue)) { + Log.Helper.LOGDS("ApplicationEnvironment", "Current game specified player ID is empty, reload from persistence", new Object[0]); + setPlayerId(KEY_GAME_PLAYER_ID, stringValue); + } + String stringValue2 = persistenceForNimbleComponent.getStringValue(PERSISTENCE_LANGUAGE); + if (Utility.validString(stringValue2)) { + this.m_language = stringValue2; + Log.Helper.LOGD(this, "Restored language %s from persistence.", this.m_language); + } else { + Log.Helper.LOGD(this, "Unable to restore language from persistence. Setting language to device language.", new Object[0]); + setApplicationLanguageCode(getDeviceLanguage(), true); + } + } + requestAttributionData(); + } + + @Override // com.ea.nimble.Component + protected void suspend() { + Log.Helper.LOGD(this, "Setting application to NOT active in suspend", new Object[0]); + isMainApplicationActive = false; + this.m_advertisingId = null; + } + + @Override // com.ea.nimble.Component + protected void teardown() { + Log.Helper.LOGD(this, "Setting application to NOT active in teardown", new Object[0]); + this.m_context = null; + isMainApplicationActive = false; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public Context getApplicationContext() { + return this.m_context; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getApplicationVersion() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_version == null) { + Context applicationContext = getApplicationContext(); + if (applicationContext == null) { + return null; + } + try { + PackageManager packageManager = applicationContext.getPackageManager(); + if (packageManager == null) { + Log.Helper.LOGE(this, "PackageManager could not be obtained", new Object[0]); + return null; + } + this.m_version = packageManager.getPackageInfo(applicationContext.getPackageName(), 0).versionName; + } catch (PackageManager.NameNotFoundException unused) { + Log.Helper.LOGE(this, "Package name %s not found", applicationContext.getPackageName()); + return null; + } + } + return this.m_version; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getApplicationLanguageCode() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_language; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getShortApplicationLanguageCode() { + int indexOf; + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_language != null && (indexOf = this.m_language.indexOf(45)) != -1) { + return this.m_language.substring(0, indexOf); + } + return this.m_language; + } + + private String validatedLanguageCode(String str, boolean z) { + Log.Helper.LOGFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGI(this, "AppEnv: Language parameter is null or empty; keeping language at previous value.", new Object[0]); + return null; + } + String replace = str.replace('_', '-'); + Matcher matcher = Pattern.compile("^([a-z]{2,3})?(-([A-Z][a-z]{3}))?(-([A-Z]{2}))?(-.*)*$").matcher(replace); + if (matcher.find()) { + String group = matcher.group(1); + if (Utility.validString(group)) { + if (group.equals("iw")) { + group = "he"; + } else if (group.equals("in")) { + group = "id"; + } else if (group.equals("ji")) { + group = "yi"; + } + if (!Arrays.asList(Locale.getISOLanguages()).contains(group)) { + Log.Helper.LOGE(this, "Unknown language code " + group + " in language code " + replace + "; backend system will likely treat it as en-US.", new Object[0]); + } + } + String group2 = matcher.group(5); + if (Utility.validString(group2) && !Arrays.asList(Locale.getISOCountries()).contains(group2)) { + Log.Helper.LOGE(this, "Unknown region code " + group2 + " in language code " + replace + "; backend system will likely treat it as en-US.", new Object[0]); + } + return replace; + } + Log.Helper.LOGE(this, "Malformed language code " + replace + " cannot be validated; backend system will likely treat it as en-US.", new Object[0]); + return replace; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public void setApplicationLanguageCode(String str) { + Log.Helper.LOGPUBLICFUNC(this); + setApplicationLanguageCode(str, false); + } + + private void setApplicationLanguageCode(String str, boolean z) { + Log.Helper.LOGFUNC(this); + String validatedLanguageCode = validatedLanguageCode(str, z); + if (validatedLanguageCode == null) { + return; + } + if (this.m_language == null || !this.m_language.equals(validatedLanguageCode)) { + this.m_language = validatedLanguageCode; + Log.Helper.LOGI(this, "Successfully set language to %s.", this.m_language); + Utility.sendBroadcast(Global.NOTIFICATION_LANGUAGE_CHANGE); + } else if (z) { + Log.Helper.LOGD(this, "Setting the same language %s, skipping assignment", this.m_language); + return; + } + if (z) { + return; + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + Log.Helper.LOGD(this, "Saving language data to persistence.", new Object[0]); + persistenceForNimbleComponent.setValue(PERSISTENCE_LANGUAGE, this.m_language); + } else { + Log.Helper.LOGE(this, "Could not get application environment persistence object to save to.", new Object[0]); + } + } + + private String getDeviceLanguage() { + Log.Helper.LOGFUNC(this); + return Locale.getDefault().toString(); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDocumentPath() { + String path; + Log.Helper.LOGPUBLICFUNC(this); + Context applicationContext = getApplicationContext(); + if (applicationContext == null) { + path = System.getProperty("user.dir") + File.separator + "doc"; + } else { + File filesDir = applicationContext.getFilesDir(); + if (filesDir != null) { + path = filesDir.getPath(); + } else { + Log.Helper.LOGE(this, "Could not build files path", new Object[0]); + return null; + } + } + return path + File.separator + Global.NIMBLE_ID + File.separator + this.m_core.getConfiguration().toString(); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getCachePath() { + String path; + Log.Helper.LOGPUBLICFUNC(this); + Context applicationContext = getApplicationContext(); + if (applicationContext == null) { + path = System.getProperty("user.dir") + File.separator + "cache"; + } else { + File cacheDir = applicationContext.getCacheDir(); + if (cacheDir != null) { + path = cacheDir.getPath(); + } else { + Log.Helper.LOGE(this, "Could not build cache path", new Object[0]); + return null; + } + } + return path + File.separator + Global.NIMBLE_ID + File.separator + this.m_core.getConfiguration().toString(); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getTempPath() { + Log.Helper.LOGPUBLICFUNC(this); + return getCachePath() + File.separator + "temp"; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getCarrier() { + Log.Helper.LOGPUBLICFUNC(this); + Context applicationContext = getApplicationContext(); + if (applicationContext == null) { + return null; + } + TelephonyManager telephonyManager = (TelephonyManager) applicationContext.getSystemService(PlaceFields.PHONE); + if (telephonyManager != null) { + return telephonyManager.getNetworkOperator(); + } + Log.Helper.LOGE(this, "Could not retrieve telephony service", new Object[0]); + return null; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getApplicationBundleId() { + Context applicationContext; + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_packageId == null && (applicationContext = getApplicationContext()) != null) { + this.m_packageId = applicationContext.getPackageName(); + } + return this.m_packageId; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDeviceString() { + Log.Helper.LOGPUBLICFUNC(this); + return Build.MANUFACTURER + Build.MODEL; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDeviceCodename() { + Log.Helper.LOGPUBLICFUNC(this); + return Build.DEVICE; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDeviceManufacturer() { + Log.Helper.LOGPUBLICFUNC(this); + return Build.MANUFACTURER; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDeviceModel() { + Log.Helper.LOGPUBLICFUNC(this); + return Build.MODEL; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDeviceBrand() { + Log.Helper.LOGPUBLICFUNC(this); + return Build.BRAND; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getDeviceFingerprint() { + Log.Helper.LOGPUBLICFUNC(this); + return Build.FINGERPRINT; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getOsVersion() { + Log.Helper.LOGPUBLICFUNC(this); + return String.valueOf(Build.VERSION.SDK_INT); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getApplicationName() { + PackageManager packageManager; + Log.Helper.LOGPUBLICFUNC(this); + Context applicationContext = getApplicationContext(); + if (applicationContext == null || (packageManager = applicationContext.getPackageManager()) == null) { + return null; + } + return packageManager.getApplicationLabel(applicationContext.getApplicationInfo()).toString(); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getGoogleEmail() { + Log.Helper.LOGPUBLICFUNC(this); + AccountManager accountManager = AccountManager.get(getApplicationContext()); + if (accountManager == null) { + Log.Helper.LOGE(this, "Could not get Account Manager", new Object[0]); + return null; + } + Account[] accountsByType = accountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE); + if (accountsByType.length > 0) { + return accountsByType[0].name; + } + Pattern pattern = Patterns.EMAIL_ADDRESS; + for (Account account : accountManager.getAccounts()) { + if (pattern.matcher(account.name).matches()) { + return account.name; + } + } + return null; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public boolean isAppCracked() { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGDS("FraudDetection", "Returning false for isAppCracked() since it hasn't been implemented yet", new Object[0]); + return false; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public boolean isDeviceRooted() { + Log.Helper.LOGPUBLICFUNC(this); + String str = Build.TAGS; + return (str != null && str.contains("test-keys")) || new File(SUPERUSER_APK_LOCATION).exists() || commandExists("su"); + } + + private static boolean commandExists(String str) { + Log.Helper.LOGFUNCS("BaseCore"); + String str2 = System.getenv("PATH"); + if (str2 == null) { + return false; + } + for (String str3 : str2.split(Pattern.quote(File.pathSeparator))) { + if (new File(str3, str).exists()) { + return true; + } + } + return false; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public int getAgeCompliance() { + Serializable serializable; + Log.Helper.LOGPUBLICFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + serializable = persistenceForNimbleComponent.getValue(PERSISTENCE_TIME_RETRIEVED); + } else { + Log.Helper.LOGE(this, "Could not get persistence object", new Object[0]); + serializable = null; + } + if (serializable != null) { + if (((int) (new Date().getTime() - ((Long) serializable).longValue())) / MILLIS_IN_AN_HOUR > 24) { + Log.Helper.LOGI(this, "getAgeCompliance- Stored value is older than 24 hours. Call refreshAgeCompliance to retrieve minAgeCompliance", null); + return -1; + } + return ((Integer) persistenceForNimbleComponent.getValue(PERSISTENCE_AGE_REQUIREMENTS)).intValue(); + } + Log.Helper.LOGI(this, "getAgeCompliance- No stored value in persistance. Call refreshAgeCompliance to retrieve minAgeCompliance.", null); + return -1; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public void refreshAgeCompliance() { + Log.Helper.LOGPUBLICFUNC(this); + if (Network.getComponent().getStatus() != Network.Status.OK) { + Log.Helper.LOGD(this, "Adding network observer for age compliance refresh", new Object[0]); + if (this.m_networkListener == null) { + this.m_networkListener = new BroadcastReceiver() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Utility.unregisterReceiver(ApplicationEnvironmentImpl.this.m_networkListener); + ApplicationEnvironmentImpl.this.m_networkListener = null; + ApplicationEnvironmentImpl.this.refreshAgeCompliance(); + } + }; + Utility.registerReceiver(Global.NOTIFICATION_NETWORK_STATUS_CHANGE, this.m_networkListener); + return; + } + return; + } + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.2 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + synergyRequest.baseUrl = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_CENTRAL_IP_GEOLOCATION); + synergyRequest.send(); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.3 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + HashMap hashMap = new HashMap(); + if (synergyNetworkConnectionHandle.getResponse().getError() == null) { + Map jsonData = synergyNetworkConnectionHandle.getResponse().getJsonData(); + Integer num = (Integer) jsonData.get("code"); + if (num != null && num.intValue() > 0) { + String str = (String) jsonData.get(ShareConstants.WEB_DIALOG_PARAM_MESSAGE); + Log.Helper.LOGD(this, "LOG_CALLBACK_ERROR : %s", str); + hashMap.put(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "0"); + hashMap.put("error", new Exception(str)); + } else { + int intValue = ((Integer) ((Map) jsonData.get("agerequirements")).get("minLegalRegAge")).intValue(); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + persistenceForNimbleComponent.setValue(ApplicationEnvironmentImpl.PERSISTENCE_TIME_RETRIEVED, Long.valueOf(new Date().getTime())); + persistenceForNimbleComponent.setValue(ApplicationEnvironmentImpl.PERSISTENCE_AGE_REQUIREMENTS, Integer.valueOf(intValue)); + } else { + Log.Helper.LOGE(this, "Could not get persistence object", new Object[0]); + } + hashMap.put(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "1"); + } + } else { + Log.Helper.LOGD(this, "LOG_CALLBACK_ERROR : %s", synergyNetworkConnectionHandle.getResponse().getError().getMessage()); + hashMap.put(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "0"); + hashMap.put("error", synergyNetworkConnectionHandle.getResponse().getError()); + } + Utility.sendBroadcastSerializable(ApplicationEnvironment.NOTIFICATION_AGE_COMPLIANCE_REFRESHED, hashMap); + } + }; + SynergyNetwork.getComponent().sendRequest(new SynergyRequest(SYNERGY_API_GET_AGE_REQUIREMENTS, IHttpRequest.Method.GET, synergyRequestPreparingCallback), synergyNetworkConnectionCallback); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getCurrencyCode() { + Log.Helper.LOGPUBLICFUNC(this); + try { + Currency currency = Currency.getInstance(Locale.getDefault()); + return currency != null ? currency.toString() : ""; + } catch (IllegalArgumentException unused) { + return ""; + } + } + + public static Activity getCurrentActivity() { + return s_currentActivity; + } + + public static void setCurrentActivity(Activity activity) { + isMainApplicationRunning = true; + s_currentActivity = activity; + } + + public static boolean isMainApplicationRunning() { + return isMainApplicationRunning; + } + + public static boolean isMainApplicationActive() { + return isMainApplicationActive; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getAdvertisingId() { + Log.Helper.LOGFUNC(this); + return this.m_advertisingId; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getGoogleAdvertisingId() { + Log.Helper.LOGFUNC(this); + return getAdvertisingId(); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getAndroidId() { + Log.Helper.LOGFUNC(this); + return this.m_androidId; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public boolean isLimitAdTrackingEnabled() { + Log.Helper.LOGFUNC(this); + return this.m_limitAdTrackingEnabled; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public void retrieveAdvertisingId(IApplicationEnvironment.AdvertisingIdCalback advertisingIdCalback) { + String str; + boolean z; + Log.Helper.LOGFUNC(this); + synchronized (this) { + str = this.m_advertisingId; + z = this.m_limitAdTrackingEnabled; + } + if (str == null) { + retrieveAdvertisingIdImpl(advertisingIdCalback); + } else if (advertisingIdCalback != null) { + advertisingIdCalback.onCallback(str, z); + } + } + + private void retrieveAdvertisingIdImpl(IApplicationEnvironment.AdvertisingIdCalback advertisingIdCalback) { + Log.Helper.LOGFUNC(this); + try { + Class.forName("com.google.android.gms.common.GooglePlayServicesNotAvailableException"); + synchronized (this) { + if (this.m_advertisingIdCallbacks != null) { + if (advertisingIdCalback != null) { + this.m_advertisingIdCallbacks.add(advertisingIdCalback); + } + return; + } + this.m_advertisingIdCallbacks = new ArrayList(); + if (advertisingIdCalback != null) { + this.m_advertisingIdCallbacks.add(advertisingIdCalback); + } + try { + new Thread(new Runnable() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.4 + @Override // java.lang.Runnable + public void run() { + List list; + List list2; + List list3; + List list4; + List list5; + List list6; + List list7; + ApplicationEnvironmentImpl applicationEnvironmentImpl = ApplicationEnvironmentImpl.this; + Log.Helper.LOGV(applicationEnvironmentImpl, "Running thread to get Google Advertising ID", new Object[0]); + String str = ApplicationEnvironmentImpl.this.m_advertisingId; + boolean z = ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled; + try { + try { + if (ApplicationEnvironment.getCurrentActivity() != null) { + AdvertisingIdClient.Info advertisingIdInfo = (!ApplicationEnvironment.isMainApplicationRunning() || ApplicationEnvironment.getCurrentActivity() == null) ? null : AdvertisingIdClient.getAdvertisingIdInfo(ApplicationEnvironment.getCurrentActivity()); + if (advertisingIdInfo != null) { + Log.Helper.LOGD(applicationEnvironmentImpl, "Setting values for Google Advertising ID and isLimitAdTrackingEnabled flag", new Object[0]); + String id = advertisingIdInfo.getId(); + try { + z = advertisingIdInfo.isLimitAdTrackingEnabled(); + str = id; + } catch (GooglePlayServicesNotAvailableException unused) { + str = id; + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID - Google Play Services not available on this device", new Object[0]); + synchronized (applicationEnvironmentImpl) { + list6 = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list6 != null) { + Iterator it = list6.iterator(); + while (it.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it.next()).onCallback(str, z); + } + return; + } + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } catch (GooglePlayServicesRepairableException unused2) { + str = id; + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID - Recoverable error connecting to Google Play Services", new Object[0]); + synchronized (applicationEnvironmentImpl) { + list5 = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list5 != null) { + Iterator it2 = list5.iterator(); + while (it2.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it2.next()).onCallback(str, z); + } + return; + } + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } catch (IOException unused3) { + str = id; + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID - Unrecoverable error connecting to Google Play Services", new Object[0]); + synchronized (applicationEnvironmentImpl) { + list4 = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list4 != null) { + Iterator it3 = list4.iterator(); + while (it3.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it3.next()).onCallback(str, z); + } + return; + } + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } catch (IllegalStateException e) { + e = e; + str = id; + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID - Illegal State Exception " + e.getMessage(), new Object[0]); + synchronized (applicationEnvironmentImpl) { + list3 = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list3 != null) { + Iterator it4 = list3.iterator(); + while (it4.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it4.next()).onCallback(str, z); + } + return; + } + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } catch (Exception e2) { + e = e2; + str = id; + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID - General Exception " + e.getMessage(), new Object[0]); + synchronized (applicationEnvironmentImpl) { + list2 = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list2 != null) { + Iterator it5 = list2.iterator(); + while (it5.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it5.next()).onCallback(str, z); + } + return; + } + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } catch (Throwable th) { + th = th; + str = id; + synchronized (applicationEnvironmentImpl) { + list = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list != null) { + Iterator it6 = list.iterator(); + while (it6.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it6.next()).onCallback(str, z); + } + } else { + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } + throw th; + } + } else { + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID - AdvertisingIdInfo is null", new Object[0]); + } + } else { + Log.Helper.LOGW(applicationEnvironmentImpl, "Cannot get Google Advertising ID because there is no current activity", new Object[0]); + } + synchronized (applicationEnvironmentImpl) { + list7 = ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks; + ApplicationEnvironmentImpl.this.m_advertisingId = str; + ApplicationEnvironmentImpl.this.m_limitAdTrackingEnabled = z; + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_GAID, Utility.safeString(str)); + ApplicationEnvironmentImpl.this.m_parameters.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, z ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + ApplicationEnvironmentImpl.this.m_advertisingIdCallbacks = null; + } + if (list7 != null) { + Iterator it7 = list7.iterator(); + while (it7.hasNext()) { + ((IApplicationEnvironment.AdvertisingIdCalback) it7.next()).onCallback(str, z); + } + return; + } + } catch (GooglePlayServicesNotAvailableException unused4) { + } catch (GooglePlayServicesRepairableException unused5) { + } catch (IOException unused6) { + } catch (IllegalStateException e3) { + e = e3; + } catch (Exception e4) { + e = e4; + } + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after refreshing advertising ID, something is wrong", new Object[0]); + } catch (Throwable th2) { + th = th2; + } + } + }).start(); + } catch (Throwable unused) { + Log.Helper.LOGW(this, "APP_ENV: Cannot get Google Advertising ID because this device is not supported", new Object[0]); + synchronized (this) { + this.m_advertisingId = ""; + boolean z = this.m_limitAdTrackingEnabled; + List list = this.m_advertisingIdCallbacks; + this.m_advertisingIdCallbacks = null; + if (list == null) { + Log.Helper.LOGW(this, "m_advertisingIdCallbacks was null after trying to refresh advertising ID, something is wrong", new Object[0]); + return; + } + Iterator it = list.iterator(); + while (it.hasNext()) { + it.next().onCallback("", z); + } + } + } + } + } catch (ClassNotFoundException unused2) { + Log.Helper.LOGW(this, "APP_ENV: Cannot get Google Advertising ID because this device is not using google play services", new Object[0]); + this.m_advertisingId = ""; + if (advertisingIdCalback != null) { + advertisingIdCalback.onCallback(this.m_advertisingId, this.m_limitAdTrackingEnabled); + } + } + } + + @Override // com.ea.nimble.IApplicationEnvironment + public Map getPlayerIdMap() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_playerIdMap; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public void setPlayerId(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGW(this, "setPlayerId: Empty/Null key", new Object[0]); + return; + } + String safeString = Utility.safeString(this.m_playerIdMap.get(str)); + String safeString2 = Utility.safeString(str2); + if (!safeString.equals(safeString2)) { + if (Utility.validString(safeString2)) { + this.m_playerIdMap.put(str, safeString2); + Log.Helper.LOGV(this, "setPlayerId: [" + str + " = " + str2 + "] success.", new Object[0]); + } else { + Log.Helper.LOGV(this, "setPlayerId: Empty value. Removed entry for key " + str, new Object[0]); + this.m_playerIdMap.remove(str); + } + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_PLAYERIDMAP_CHANGE); + return; + } + Log.Helper.LOGV(this, "setPlayerId: [" + str + " = " + str2 + "] skipped. Same key/value exists or the new value is empty!", new Object[0]); + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getGameSpecifiedPlayerId() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_playerIdMap != null) { + return this.m_playerIdMap.get(KEY_GAME_PLAYER_ID); + } + return null; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public void setGameSpecifiedPlayerId(String str) { + Log.Helper.LOGPUBLICFUNC(this); + setPlayerId(KEY_GAME_PLAYER_ID, str); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + Log.Helper.LOGWS("ApplicationEnvironment", "Persistence is null - Couldn't save Game Specified Player ID to Persistence", new Object[0]); + } else { + persistenceForNimbleComponent.setValue(NIMBLE_APPLICATIONENVIRONMENT_PERSISTENCE_GAME_SPECIFIED_ID, str); + } + } + + @Override // com.ea.nimble.IApplicationEnvironment + public boolean getIadAttribution() { + Log.Helper.LOGPUBLICFUNC(this); + return false; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public String getParameter(String str) { + String str2; + Log.Helper.LOGPUBLICFUNC(this); + synchronized (this) { + str2 = this.m_parameters.get(str); + } + return str2; + } + + @Override // com.ea.nimble.IApplicationEnvironment + public void requestSafetyNetAttestation(byte[] bArr, final IApplicationEnvironment.SafetyNetAttestationCallback safetyNetAttestationCallback) { + Log.Helper.LOGPUBLICFUNC(this); + try { + if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(getCurrentActivity()) != 0) { + Log.Helper.LOGW(this, "Skipping SafetyNet Attestation as Google Play Services is not available", new Object[0]); + safetyNetAttestationCallback.onCallback(null, new Error(Error.Code.NOT_AVAILABLE, "Google Play Services is not available")); + return; + } + String configValueAsString = NimbleApplicationConfiguration.getConfigValueAsString("com.ea.nimble.safetynet_api_key", null); + if (configValueAsString == null) { + Log.Helper.LOGW(this, "Skipping SafetyNet Attestation since 'com.ea.nimble.safetynet_api_key' was not found in manifest", new Object[0]); + safetyNetAttestationCallback.onCallback(null, new Error(Error.Code.NOT_AVAILABLE, "Safety Net API key not found")); + } else { + SafetyNet.getClient(getCurrentActivity()).attest(bArr, configValueAsString).addOnSuccessListener(getCurrentActivity(), new OnSuccessListener() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.6 + public void onSuccess(SafetyNetApi.AttestationResponse attestationResponse) { + safetyNetAttestationCallback.onCallback(attestationResponse.getJwsResult(), null); + } + }).addOnFailureListener(getCurrentActivity(), new OnFailureListener() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.5 + public void onFailure(@NonNull Exception exc) { + safetyNetAttestationCallback.onCallback(null, new Error(Error.Code.UNKNOWN, String.format("SafetyNet Attest Request failed\nCause:%s", exc.getMessage()), exc)); + } + }); + } + } catch (Exception e) { + Log.Helper.LOGW(this, "Skipping SafetyNet Attestation due to exception\nCause:%s", e.getMessage()); + safetyNetAttestationCallback.onCallback(null, new Error(Error.Code.NOT_AVAILABLE, String.format("Skipping SafetyNet Attestation due to exception\nCause:%s", e.getMessage()), e)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void requestAttributionData() { + Log.Helper.LOGFUNC(this); + String stringValue = PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.CACHE).getStringValue("attributionData"); + if (stringValue != null) { + Log.Helper.LOGD(this, "requestAttributionData(): Google Play Referrer data found in persistance.\nData = " + stringValue, new Object[0]); + this.m_parameters.put("attributionData", stringValue); + return; + } + if (Network.getComponent().getStatus() != Network.Status.OK) { + Log.Helper.LOGV(this, "requestAttributionData(): NetworkStatus is NOT OK. We'll retry later.", new Object[0]); + this.m_attributionDataNetworkListener = new BroadcastReceiver() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.7 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + if (Network.getComponent().getStatus() == Network.Status.OK) { + Utility.unregisterReceiver(ApplicationEnvironmentImpl.this.m_attributionDataNetworkListener); + ApplicationEnvironmentImpl.this.m_attributionDataNetworkListener = null; + ApplicationEnvironmentImpl.this.requestAttributionData(); + } + } + }; + Utility.registerReceiver(Global.NOTIFICATION_NETWORK_STATUS_CHANGE, this.m_attributionDataNetworkListener); + } else { + try { + this.m_referrerClient = InstallReferrerClient.newBuilder(this.m_context).build(); + this.m_referrerClient.startConnection(new InstallReferrerStateListener() { // from class: com.ea.nimble.ApplicationEnvironmentImpl.8 + /* JADX WARN: Unreachable blocks removed: 2, instructions: 3 */ + /* JADX WARN: Unreachable blocks removed: 2, instructions: 4 */ + @Override // com.android.installreferrer.api.InstallReferrerStateListener + public void onInstallReferrerSetupFinished(int i) { + long j; + String str; + String str2; + String str3; + long j2; + String str4; + long referrerClickTimestampSeconds; + String str5; + long j3; + String str6; + switch (i) { + case 0: + try { + ReferrerDetails installReferrer = ApplicationEnvironmentImpl.this.m_referrerClient.getInstallReferrer(); + String installReferrer2 = installReferrer.getInstallReferrer(); + try { + j = installReferrer.getInstallBeginTimestampSeconds(); + try { + str4 = installReferrer2; + referrerClickTimestampSeconds = installReferrer.getReferrerClickTimestampSeconds(); + str5 = "ok"; + j3 = j; + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(str5, str4, j3, referrerClickTimestampSeconds); + } catch (Exception e) { + e = e; + j2 = j; + str3 = installReferrer2; + try { + Log.Helper.LOGW(this, "requestAttributionData(): Failed with exception.\n" + e.toString(), new Object[0]); + String exc = e.toString(); + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(exc, str3, j2, 0L); + return; + } catch (Throwable th) { + th = th; + str = "ok"; + str2 = str3; + j = j2; + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(str, str2, j, 0L); + throw th; + } + } catch (Throwable th2) { + th = th2; + str = "ok"; + str2 = installReferrer2; + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(str, str2, j, 0L); + throw th; + } + } catch (Exception e2) { + e = e2; + str3 = installReferrer2; + j2 = 0; + Log.Helper.LOGW(this, "requestAttributionData(): Failed with exception.\n" + e.toString(), new Object[0]); + String exc2 = e.toString(); + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(exc2, str3, j2, 0L); + return; + } catch (Throwable th3) { + th = th3; + j = 0; + } + } catch (Exception e3) { + e = e3; + str3 = ""; + } catch (Throwable th4) { + th = th4; + j = 0; + str = "ok"; + str2 = ""; + } + case 1: + str6 = "SERVICE_UNAVAILABLE"; + break; + case 2: + str6 = "FEATURE_NOT_SUPPORTED"; + break; + case 3: + str6 = "DEVELOPER_ERROR"; + break; + default: + str4 = ""; + j3 = 0; + referrerClickTimestampSeconds = 0; + str5 = ""; + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(str5, str4, j3, referrerClickTimestampSeconds); + } + str4 = ""; + j3 = 0; + referrerClickTimestampSeconds = 0; + str5 = str6; + ApplicationEnvironmentImpl.this.m_referrerClient.endConnection(); + ApplicationEnvironmentImpl.this.m_referrerClient = null; + ApplicationEnvironmentImpl.this.setAttributionData(str5, str4, j3, referrerClickTimestampSeconds); + } + + @Override // com.android.installreferrer.api.InstallReferrerStateListener + public void onInstallReferrerServiceDisconnected() { + Log.Helper.LOGV(this, "requestAttributionData(): Google Play Install Referrer client disconnected.", new Object[0]); + } + }); + } catch (Exception e) { + Log.Helper.LOGW(this, "requestAttributionData(): Failed to start Install Referrer connection.\n", e.toString()); + setAttributionData(e.getMessage(), "", 0L, 0L); + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void setAttributionData(String str, String str2, long j, long j2) { + String jSONObject; + StringBuilder sb; + JSONObject jSONObject2 = new JSONObject(); + try { + try { + jSONObject2.put("status", Utility.safeString(str)); + jSONObject2.put("referrer", Utility.safeString(str2)); + jSONObject2.put("install_begin_time", j); + jSONObject2.put("referrer_click_time", j2); + jSONObject = jSONObject2.toString(); + sb = new StringBuilder(); + } catch (Exception e) { + Log.Helper.LOGE(this, "setAttributionData(): Failed with exception. " + e.toString(), new Object[0]); + jSONObject = jSONObject2.toString(); + sb = new StringBuilder(); + } + sb.append("setAttributionData(): Attribution Data = "); + sb.append(jSONObject); + Log.Helper.LOGD(this, sb.toString(), new Object[0]); + this.m_parameters.put("attributionData", jSONObject); + PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.CACHE).setValue("attributionData", jSONObject); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_ATTRIBUTION_DATA_AVAILABLE); + } catch (Throwable th) { + String jSONObject3 = jSONObject2.toString(); + Log.Helper.LOGD(this, "setAttributionData(): Attribution Data = " + jSONObject3, new Object[0]); + this.m_parameters.put("attributionData", jSONObject3); + PersistenceService.getPersistenceForNimbleComponent(ApplicationEnvironment.COMPONENT_ID, Persistence.Storage.CACHE).setValue("attributionData", jSONObject3); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_ATTRIBUTION_DATA_AVAILABLE); + throw th; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/ApplicationLifecycle.java b/app/src/main/java/com/ea/nimble/ApplicationLifecycle.java new file mode 100644 index 0000000..24a9182 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ApplicationLifecycle.java @@ -0,0 +1,71 @@ +package com.ea.nimble; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +/* loaded from: classes.dex */ +public class ApplicationLifecycle { + public static final String COMPONENT_ID = "com.ea.nimble.applicationlifecycle"; + + public static IApplicationLifecycle getComponent() { + return BaseCore.getInstance().getApplicationLifecycle(); + } + + public static void onActivityCreate(Bundle bundle, Activity activity) { + ApplicationEnvironment.setCurrentActivity(activity); + getComponent().notifyActivityCreate(bundle, activity); + } + + public static void onActivityRestart(Activity activity) { + getComponent().notifyActivityRestart(activity); + } + + public static void onActivityStart(Activity activity) { + getComponent().notifyActivityStart(activity); + } + + public static void onActivityRestoreInstanceState(Bundle bundle, Activity activity) { + getComponent().notifyActivityRestoreInstanceState(bundle, activity); + } + + public static void onActivityPause(Activity activity) { + getComponent().notifyActivityPause(activity); + } + + public static void onActivityResume(Activity activity) { + getComponent().notifyActivityResume(activity); + } + + public static void onActivitySaveInstanceState(Bundle bundle, Activity activity) { + getComponent().notifyActivitySaveInstanceState(bundle, activity); + } + + public static void onActivityStop(Activity activity) { + getComponent().notifyActivityStop(activity); + } + + public static void onActivityDestroy(Activity activity) { + getComponent().notifyActivityDestroy(activity); + } + + public static void onActivityResult(int i, int i2, Intent intent, Activity activity) { + getComponent().notifyActivityResult(i, i2, intent, activity); + } + + public static void onActivityWindowFocusChanged(boolean z, Activity activity) { + getComponent().notifyActivityWindowFocusChanged(z, activity); + } + + public static void onNewIntent(Intent intent, Activity activity) { + getComponent().notifyActivityOnNewIntent(intent, activity); + } + + public static boolean onBackPressed() { + return getComponent().handleBackPressed(); + } + + public static void onActivityRetainNonConfigurationInstance() { + getComponent().notifyActivityRetainNonConfigurationInstance(); + } +} diff --git a/app/src/main/java/com/ea/nimble/ApplicationLifecycleImpl.java b/app/src/main/java/com/ea/nimble/ApplicationLifecycleImpl.java new file mode 100644 index 0000000..b6d288f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ApplicationLifecycleImpl.java @@ -0,0 +1,395 @@ +package com.ea.nimble; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.content.Intent; +import android.os.Build; +import android.os.Bundle; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.Log; +import java.util.ArrayList; +import java.util.Iterator; + +/* loaded from: classes.dex */ +class ApplicationLifecycleImpl extends Component implements IApplicationLifecycle, LogSource { + private static final boolean RESTART_ON_CONFIG_CHANGE; + private BaseCore m_core; + private State m_state = State.INIT; + private int m_createdActivityCount = 0; + private int m_runningActivityCount = 0; + private ArrayList m_activityLifecycleCallbacks = new ArrayList<>(); + private ArrayList m_activityEventCallbacks = new ArrayList<>(); + private ArrayList m_applicationLifecycleCallbacks = new ArrayList<>(); + + private enum State { + INIT, + LAUNCH, + RESUME, + RUN, + PAUSE, + SUSPEND, + QUIT, + CONFIG_CHANGE + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return ApplicationLifecycle.COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "AppLifecycle"; + } + + static { + RESTART_ON_CONFIG_CHANGE = Build.VERSION.SDK_INT < 11; + } + + ApplicationLifecycleImpl(BaseCore baseCore) { + this.m_core = baseCore; + } + + @Override // com.ea.nimble.Component + protected void teardown() { + this.m_activityLifecycleCallbacks.clear(); + this.m_activityEventCallbacks.clear(); + this.m_applicationLifecycleCallbacks.clear(); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void registerActivityLifecycleCallbacks(IApplicationLifecycle.ActivityLifecycleCallbacks activityLifecycleCallbacks) { + this.m_activityLifecycleCallbacks.add(activityLifecycleCallbacks); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void unregisterActivityLifecycleCallbacks(IApplicationLifecycle.ActivityLifecycleCallbacks activityLifecycleCallbacks) { + this.m_activityLifecycleCallbacks.remove(activityLifecycleCallbacks); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void registerActivityEventCallbacks(IApplicationLifecycle.ActivityEventCallbacks activityEventCallbacks) { + this.m_activityEventCallbacks.add(activityEventCallbacks); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void unregisterActivityEventCallbacks(IApplicationLifecycle.ActivityEventCallbacks activityEventCallbacks) { + this.m_activityEventCallbacks.remove(activityEventCallbacks); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void registerApplicationLifecycleCallbacks(IApplicationLifecycle.ApplicationLifecycleCallbacks applicationLifecycleCallbacks) { + this.m_applicationLifecycleCallbacks.add(applicationLifecycleCallbacks); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void unregisterApplicationLifecycleCallbacks(IApplicationLifecycle.ApplicationLifecycleCallbacks applicationLifecycleCallbacks) { + this.m_applicationLifecycleCallbacks.remove(applicationLifecycleCallbacks); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityCreate(Bundle bundle, Activity activity) { + Log.Helper.LOGV(this, "Activity %s CREATE", activity.getLocalClassName()); + if (this.m_state == State.INIT || this.m_state == State.QUIT) { + Log.Helper.LOGD(this, "Activity created clearly with state %s", this.m_state.toString()); + this.m_core.onApplicationLaunch(activity.getIntent()); + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityCreated(activity, bundle); + } + notifyApplicationLaunch(activity.getIntent()); + this.m_createdActivityCount = 1; + this.m_state = State.LAUNCH; + if (this.m_runningActivityCount != 0) { + Log.Helper.LOGE(this, "Invalid running acitivity count %d", Integer.valueOf(this.m_runningActivityCount)); + this.m_runningActivityCount = 0; + } + } else if (this.m_state == State.CONFIG_CHANGE) { + if (ApplicationEnvironment.getCurrentActivity() != activity) { + Log.Helper.LOGE(this, "Activity created with state CONFIG_CHANGE but different activity %s and %s", ApplicationEnvironment.getCurrentActivity().getLocalClassName(), activity.getLocalClassName()); + } else { + Log.Helper.LOGD(this, "Activity created from CONFIG_CHANGE, activity configuration changed", new Object[0]); + } + if (RESTART_ON_CONFIG_CHANGE) { + this.m_core.onApplicationResume(); + } + Iterator it2 = this.m_activityLifecycleCallbacks.iterator(); + while (it2.hasNext()) { + it2.next().onActivityCreated(activity, bundle); + } + if (this.m_runningActivityCount != 0) { + Log.Helper.LOGE(this, "Invalid running acitivity count %d", Integer.valueOf(this.m_runningActivityCount)); + this.m_runningActivityCount = 0; + } + } else if (this.m_state == State.PAUSE) { + Log.Helper.LOGD(this, "Activity created from PAUSE, normal activity switch", new Object[0]); + Iterator it3 = this.m_activityLifecycleCallbacks.iterator(); + while (it3.hasNext()) { + it3.next().onActivityCreated(activity, bundle); + } + this.m_createdActivityCount++; + } else if (this.m_state == State.SUSPEND) { + Log.Helper.LOGD(this, "Activity created from SUSPEND, external activity switch; (new) app restart", new Object[0]); + this.m_core.onApplicationResume(); + this.m_state = State.RESUME; + Iterator it4 = this.m_activityLifecycleCallbacks.iterator(); + while (it4.hasNext()) { + it4.next().onActivityCreated(activity, bundle); + } + this.m_createdActivityCount++; + if (this.m_runningActivityCount != 0) { + Log.Helper.LOGE(this, "Invalid running acitivity count %d", Integer.valueOf(this.m_runningActivityCount)); + this.m_runningActivityCount = 0; + } + } else { + Log.Helper.LOGE(this, "Activity created with %s state, shouldn't happen", this.m_state.toString()); + } + Log.Helper.LOGV(this, "State after created %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityRestart(Activity activity) { + Log.Helper.LOGV(this, "Activity %s RESTART", activity.getLocalClassName()); + ApplicationEnvironment.setCurrentActivity(activity); + if (this.m_state == State.PAUSE) { + Log.Helper.LOGD(this, "Activity restart from PAUSE, normal activity switch", new Object[0]); + } else if (this.m_state == State.SUSPEND) { + this.m_core.onApplicationResume(); + this.m_state = State.RESUME; + Log.Helper.LOGD(this, "Activity restart from SUSPEND, external activity switch; (new) app restart", new Object[0]); + } else { + Log.Helper.LOGE(this, "Activity restart with invalid state %s", this.m_state.toString()); + } + Log.Helper.LOGV(this, "State after restart %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityStart(Activity activity) { + Log.Helper.LOGV(this, "Activity %s START", activity.getLocalClassName()); + ApplicationEnvironment.setCurrentActivity(activity); + if (this.m_state == State.LAUNCH) { + this.m_state = State.PAUSE; + Log.Helper.LOGD(this, "Activity start with LAUNCH state, normal app start", new Object[0]); + } else if (this.m_state == State.RESUME) { + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityStarted(activity); + } + notifyApplicationResume(activity.getIntent()); + this.m_state = State.PAUSE; + Log.Helper.LOGD(this, "Activity start with RESUME state, set to PAUSE", new Object[0]); + } else if (this.m_state == State.CONFIG_CHANGE) { + Iterator it2 = this.m_activityLifecycleCallbacks.iterator(); + while (it2.hasNext()) { + it2.next().onActivityStarted(activity); + } + if (RESTART_ON_CONFIG_CHANGE) { + notifyApplicationResume(activity.getIntent()); + } + this.m_state = State.PAUSE; + Log.Helper.LOGD(this, "Activity start with CONFIG_CHANGE state, set to PAUSE", new Object[0]); + } else if (this.m_state == State.PAUSE) { + Log.Helper.LOGD(this, "Activity start with PAUSE state, normal activity switch", new Object[0]); + } else { + Iterator it3 = this.m_activityLifecycleCallbacks.iterator(); + while (it3.hasNext()) { + it3.next().onActivityStarted(activity); + } + Log.Helper.LOGE(this, "Activity start with invalid state %s", this.m_state.toString()); + } + this.m_runningActivityCount++; + Log.Helper.LOGV(this, "State after start %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityRestoreInstanceState(Bundle bundle, Activity activity) { + Log.Helper.LOGV(this, "Activity %s RESTORE_STATE", activity.getLocalClassName()); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityResume(Activity activity) { + Log.Helper.LOGV(this, "Activity %s RESUME", activity.getLocalClassName()); + ApplicationEnvironment.setCurrentActivity(activity); + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityResumed(activity); + } + if (this.m_state != State.PAUSE) { + Log.Helper.LOGE(this, "Activity resume on invalid state %s", this.m_state.toString()); + Log.Helper.LOGE(this, "Please double check if the game's activity hooks ApplicationLifecycle.onActivityRestart() correctly.", new Object[0]); + } + this.m_state = State.RUN; + Log.Helper.LOGV(this, "State after resume %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityPause(Activity activity) { + Log.Helper.LOGV(this, "Activity %s PAUSE", activity.getLocalClassName()); + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityPaused(activity); + } + if (this.m_state != State.RUN) { + Log.Helper.LOGE(this, "Activity pause on invalid state %s", activity.getLocalClassName()); + } + this.m_state = State.PAUSE; + Log.Helper.LOGV(this, "State after pause %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivitySaveInstanceState(Bundle bundle, Activity activity) { + Log.Helper.LOGV(this, "Activity %s SAVE_STATE", activity.getLocalClassName()); + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivitySaveInstanceState(activity, bundle); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle + @SuppressLint({"NewApi"}) + public void notifyActivityStop(Activity activity) { + Log.Helper.LOGV(this, "Activity %s STOP", activity.getLocalClassName()); + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityStopped(activity); + } + this.m_runningActivityCount--; + if (!RESTART_ON_CONFIG_CHANGE && activity.isChangingConfigurations()) { + this.m_state = State.CONFIG_CHANGE; + } else if (this.m_runningActivityCount == 0) { + if (this.m_state != State.PAUSE && this.m_state != State.SUSPEND) { + Log.Helper.LOGW(this, "Interesting case %s, HIGHLIGHT!!", this.m_state); + } + this.m_state = State.SUSPEND; + if (!activity.isFinishing()) { + notifyApplicationSuspend(); + this.m_core.onApplicationSuspend(); + } + } else if (this.m_state == State.PAUSE) { + this.m_state = State.SUSPEND; + if (!activity.isFinishing()) { + Log.Helper.LOGW(this, "running activity count may be messed", new Object[0]); + notifyApplicationSuspend(); + this.m_core.onApplicationSuspend(); + } + } else if (this.m_state != State.RUN) { + Log.Helper.LOGE(this, "Activity stop on invalid state %s", this.m_state.toString()); + } + Log.Helper.LOGV(this, "State after stop %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityDestroy(Activity activity) { + Log.Helper.LOGV(this, "Activity %s DESTROY", activity.getLocalClassName()); + Iterator it = this.m_activityLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityDestroyed(activity); + } + if (this.m_state != State.CONFIG_CHANGE) { + if (this.m_state != State.SUSPEND && this.m_state != State.RUN) { + Log.Helper.LOGE(this, "Activity destroy on invalid state %s", this.m_state.toString()); + } + this.m_createdActivityCount--; + if (this.m_createdActivityCount == 0) { + this.m_state = State.QUIT; + notifyApplicationQuit(); + this.m_core.onApplicationQuit(); + ApplicationEnvironment.setCurrentActivity(null); + } + } + Log.Helper.LOGV(this, "State after destroy %s (%d, %d)", this.m_state.toString(), Integer.valueOf(this.m_createdActivityCount), Integer.valueOf(this.m_runningActivityCount)); + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityResult(int i, int i2, Intent intent, Activity activity) { + Iterator it = this.m_activityEventCallbacks.iterator(); + while (it.hasNext()) { + it.next().onActivityResult(activity, i, i2, intent); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityWindowFocusChanged(boolean z, Activity activity) { + Iterator it = this.m_activityEventCallbacks.iterator(); + while (it.hasNext()) { + it.next().onWindowFocusChanged(z); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityOnNewIntent(Intent intent, Activity activity) { + Iterator it = this.m_activityEventCallbacks.iterator(); + while (it.hasNext()) { + it.next().onNewIntent(activity, intent); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle + public boolean handleBackPressed() { + Iterator it = this.m_activityEventCallbacks.iterator(); + boolean z = true; + while (it.hasNext()) { + if (!it.next().onBackPressed()) { + z = false; + } + } + return z; + } + + @Override // com.ea.nimble.IApplicationLifecycle + public void notifyActivityRetainNonConfigurationInstance() { + Log.Helper.LOGFUNC(this); + if (RESTART_ON_CONFIG_CHANGE) { + if (this.m_state != State.SUSPEND) { + Log.Helper.LOGW(this, "configuration change should happen between onStop() and onDestroy(), but state is %s", this.m_state.toString()); + } + this.m_state = State.CONFIG_CHANGE; + } + } + + private void deleteConsumedDataFromIntent(Intent intent) { + if (intent != null) { + if (intent.getData() != null && intent.getDataString().startsWith("ea://socialsharing")) { + intent.removeExtra("key"); + intent.setData(null); + } + if (intent.getStringExtra("PushNotification") != null) { + intent.removeExtra("PushNotification"); + } + } + } + + private void notifyApplicationLaunch(Intent intent) { + Log.Helper.LOGFUNC(this); + Iterator it = this.m_applicationLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onApplicationLaunch(intent); + } + deleteConsumedDataFromIntent(intent); + } + + private void notifyApplicationSuspend() { + Log.Helper.LOGFUNC(this); + Iterator it = this.m_applicationLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onApplicationSuspend(); + } + } + + private void notifyApplicationResume(Intent intent) { + Log.Helper.LOGFUNC(this); + Iterator it = this.m_applicationLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onApplicationResume(); + } + deleteConsumedDataFromIntent(intent); + } + + private void notifyApplicationQuit() { + Log.Helper.LOGFUNC(this); + Iterator it = this.m_applicationLifecycleCallbacks.iterator(); + while (it.hasNext()) { + it.next().onApplicationQuit(); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/BackgroundNetworkConnection.java b/app/src/main/java/com/ea/nimble/BackgroundNetworkConnection.java new file mode 100644 index 0000000..6b5eb42 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/BackgroundNetworkConnection.java @@ -0,0 +1,72 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class BackgroundNetworkConnection extends NetworkConnection { + @Override // com.ea.nimble.NetworkConnection + void cancelForAppSuspend() { + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ void cancel() { + super.cancel(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ NetworkConnectionCallback getCompletionCallback() { + return super.getCompletionCallback(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ NetworkConnectionCallback getHeaderCallback() { + return super.getHeaderCallback(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.LogSource + public /* bridge */ /* synthetic */ String getLogSourceTitle() { + return super.getLogSourceTitle(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ NetworkConnectionCallback getProgressCallback() { + return super.getProgressCallback(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ HttpRequest getRequest() { + return super.getRequest(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ HttpResponse getResponse() { + return super.getResponse(); + } + + @Override // com.ea.nimble.NetworkConnection, java.lang.Runnable + public /* bridge */ /* synthetic */ void run() { + super.run(); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ void setCompletionCallback(NetworkConnectionCallback networkConnectionCallback) { + super.setCompletionCallback(networkConnectionCallback); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ void setHeaderCallback(NetworkConnectionCallback networkConnectionCallback) { + super.setHeaderCallback(networkConnectionCallback); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ void setProgressCallback(NetworkConnectionCallback networkConnectionCallback) { + super.setProgressCallback(networkConnectionCallback); + } + + @Override // com.ea.nimble.NetworkConnection, com.ea.nimble.NetworkConnectionHandle + public /* bridge */ /* synthetic */ void waitOn() { + super.waitOn(); + } + + public BackgroundNetworkConnection(NetworkImpl networkImpl, HttpRequest httpRequest, IOperationalTelemetryDispatch iOperationalTelemetryDispatch) { + super(networkImpl, httpRequest, iOperationalTelemetryDispatch); + } +} diff --git a/app/src/main/java/com/ea/nimble/Base.java b/app/src/main/java/com/ea/nimble/Base.java new file mode 100644 index 0000000..3ba7e15 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Base.java @@ -0,0 +1,52 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class Base { + public static void setupNimble() { + Log.Helper.LOGPUBLICFUNCS("Base"); + BaseCore.getInstance().setup(); + } + + public static void teardownNimble() { + Log.Helper.LOGPUBLICFUNCS("Base"); + BaseCore.getInstance().teardown(); + } + + public static void registerComponent(Component component, String str) { + Log.Helper.LOGFUNCS("Base"); + BaseCore.getInstance().getComponentManager().registerComponent(component, str); + } + + public static Component getComponent(String str) { + Log.Helper.LOGFUNCS("Base"); + BaseCore activeValidate = BaseCore.getInstance().activeValidate(); + if (activeValidate == null) { + return null; + } + return activeValidate.getComponentManager().getComponent(str); + } + + public static Component[] getComponentList(String str) { + Log.Helper.LOGFUNCS("Base"); + BaseCore activeValidate = BaseCore.getInstance().activeValidate(); + if (activeValidate == null) { + return null; + } + return activeValidate.getComponentManager().getComponentList(str); + } + + public static NimbleConfiguration getConfiguration() { + Log.Helper.LOGFUNCS("Base"); + return BaseCore.getInstance().getConfiguration(); + } + + public static void restartWithConfiguration(NimbleConfiguration nimbleConfiguration) { + Log.Helper.LOGPUBLICFUNCS("Base"); + BaseCore activeValidate = BaseCore.getInstance().activeValidate(); + if (activeValidate != null) { + activeValidate.restartWithConfiguration(nimbleConfiguration); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/BaseCore.java b/app/src/main/java/com/ea/nimble/BaseCore.java new file mode 100644 index 0000000..2be2707 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/BaseCore.java @@ -0,0 +1,422 @@ +package com.ea.nimble; + +import android.content.Intent; +import android.os.Handler; +import android.os.Looper; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.Log; +import com.ea.nimble.bridge.NimbleCppApplicationLifeCycle; +import com.ea.nimble.bridge.NimbleCppComponentRegistrar; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Map; + +/* loaded from: classes.dex */ +class BaseCore implements IApplicationLifecycle.ApplicationLifecycleCallbacks { + public static final String NIMBLE_COMPONENT_LIST = "setting::components"; + public static final String NIMBLE_LOG_SETTING = "setting::log"; + public static final String NIMBLE_SERVER_CONFIG = "com.ea.nimble.configuration"; + protected ApplicationEnvironmentImpl m_applicationEnvironment; + protected IApplicationLifecycle m_applicationLifecycle; + protected ComponentManager m_componentManager; + protected NimbleConfiguration m_configuration; + protected LogImpl m_log; + protected PersistenceServiceImpl m_persistenceService; + protected State m_state; + public static final String[] NIMBLE_COMPONENTS = {"com.ea.nimble.tracking.Tracking", "com.ea.nimble.tracking.NimbleTrackingSynergyComponent", "com.ea.nimble.tracking.NimbleTrackingS2SComponent", "com.ea.nimble.tracking.TrackingEventWrangler", "com.ea.nimble.identity.NimbleIdentityImpl", "com.ea.nimble.identity.AuthenticatorOrigin", "com.ea.nimble.identity.AuthenticatorFacebook", "com.ea.nimble.identity.AuthenticatorAnonymous", "com.ea.nimble.friends.NimbleFriendsImpl", "com.ea.nimble.friends.NimbleOriginFriendsServiceImpl", "com.ea.nimble.origin.Origin", "com.ea.nimble.Facebook", "com.ea.nimble.NimbleAndroidFacebook", "com.ea.nimble.NimbleAndroidGoogleServiceImpl", "com.ea.nimble.mtx.googleplay.GooglePlay", "com.ea.nimble.mtx.amazon.AmazonStore", "com.ea.nimble.pushtng.PushNotification", NimbleCppApplicationLifeCycle.COMPONENT_ID, NimbleCppComponentRegistrar.COMPONENT_ID}; + protected static BaseCore s_core = null; + protected static boolean s_coreDestroyed = false; + + private enum State { + INACTIVE, + AUTO_SETUP, + MANUAL_SETUP, + MANUAL_TEARDOWN, + QUITTING, + DESTROY, + FAKE_DESTROY + } + + BaseCore() { + } + + private void initialize() { + this.m_state = State.INACTIVE; + loadConfiguration(); + this.m_componentManager = new ComponentManager(); + this.m_applicationLifecycle = new ApplicationLifecycleImpl(this); + this.m_applicationEnvironment = new ApplicationEnvironmentImpl(this); + this.m_log = (LogImpl) Log.getComponent(); + this.m_log.connectToCore(this); + this.m_persistenceService = new PersistenceServiceImpl(); + NetworkImpl networkImpl = new NetworkImpl(); + SynergyEnvironmentImpl synergyEnvironmentImpl = new SynergyEnvironmentImpl(this); + SynergyNetworkImpl synergyNetworkImpl = new SynergyNetworkImpl(); + SynergyIdManagerImpl synergyIdManagerImpl = new SynergyIdManagerImpl(); + OperationalTelemetryDispatchImpl operationalTelemetryDispatchImpl = new OperationalTelemetryDispatchImpl(); + NimbleLocalNotificationsImpl nimbleLocalNotificationsImpl = new NimbleLocalNotificationsImpl(); + this.m_componentManager.registerComponent(this.m_applicationEnvironment, ApplicationEnvironment.COMPONENT_ID); + this.m_componentManager.registerComponent(this.m_log, Log.COMPONENT_ID); + this.m_componentManager.registerComponent(this.m_persistenceService, PersistenceService.COMPONENT_ID); + this.m_componentManager.registerComponent(networkImpl, "com.ea.nimble.network"); + this.m_componentManager.registerComponent(synergyIdManagerImpl, SynergyIdManager.COMPONENT_ID); + this.m_componentManager.registerComponent(synergyEnvironmentImpl, SynergyEnvironment.COMPONENT_ID); + this.m_componentManager.registerComponent(synergyNetworkImpl, SynergyNetwork.COMPONENT_ID); + this.m_componentManager.registerComponent(operationalTelemetryDispatchImpl, OperationalTelemetryDispatch.COMPONENT_ID); + this.m_componentManager.registerComponent(nimbleLocalNotificationsImpl, NimbleLocalNotifications.COMPONENT_ID); + for (String str : NIMBLE_COMPONENTS) { + try { + Method declaredMethod = Class.forName(str).getDeclaredMethod("initialize", new Class[0]); + declaredMethod.setAccessible(true); + declaredMethod.invoke(null, new Object[0]); + } catch (ClassNotFoundException unused) { + Log.Helper.LOGD(this, "Component " + str + " not found", new Object[0]); + } catch (IllegalAccessException unused2) { + Log.Helper.LOGE(this, "Method " + str + ".initialize() is not accessible", new Object[0]); + } catch (IllegalArgumentException unused3) { + Log.Helper.LOGE(this, "Method " + str + ".initialize() should take no arguments", new Object[0]); + } catch (NoSuchMethodException unused4) { + Log.Helper.LOGE(this, "No method " + str + ".initialize()", new Object[0]); + } catch (NullPointerException unused5) { + Log.Helper.LOGE(this, "Method " + str + ".initialize() should be static", new Object[0]); + } catch (InvocationTargetException e) { + Log.Helper.LOGE(this, "Method " + str + ".initialize() threw an exception", new Object[0]); + e.printStackTrace(); + } + } + try { + if (!isAppSigned(ApplicationEnvironment.getComponent().getApplicationContext())) { + android.util.Log.e(Global.NIMBLE_ID, "This application is NOT signed with a valid certificate. MTX may not work correctly with this application"); + } else { + android.util.Log.i(Global.NIMBLE_ID, "This application is signed with a valid certificate."); + } + } catch (Exception e2) { + android.util.Log.e(Global.NIMBLE_ID, String.format("Unable to verify application signature. Message: %s", e2.getMessage())); + } + } + + public NimbleConfiguration getConfiguration() { + return this.m_configuration; + } + + public Map getSettings(String str) { + Log.Helper.LOGPUBLICFUNC(this); + if (!str.equals(NIMBLE_LOG_SETTING)) { + return null; + } + int identifier = ApplicationEnvironment.getComponent().getApplicationContext().getResources().getIdentifier("nimble_log", "xml", ApplicationEnvironment.getCurrentActivity().getPackageName()); + if (identifier == 0) { + return null; + } + return Utility.parseXmlFile(identifier); + } + + public ComponentManager getComponentManager() { + return this.m_componentManager; + } + + public ILog getLog() { + return this.m_log; + } + + public IApplicationEnvironment getApplicationEnvironment() { + return this.m_applicationEnvironment; + } + + public IApplicationLifecycle getApplicationLifecycle() { + return this.m_applicationLifecycle; + } + + public IPersistenceService getPersistenceService() { + return this.m_persistenceService; + } + + public static synchronized BaseCore getInstance() { + BaseCore baseCore; + synchronized (BaseCore.class) { + if (s_core == null) { + if (s_coreDestroyed) { + throw new AssertionError("Cannot revive destroyed BaseCore, please utilizesetupNimble() and tearDownNimble() explicitly to extend longevity to match your expectation."); + } + android.util.Log.d(Global.NIMBLE_ID, String.format("NIMBLE VERSION %s (Build %s)", Global.NIMBLE_RELEASE_VERSION, Global.NIMBLE_SDK_VERSION)); + s_core = new BaseCore(); + s_core.initialize(); + } + baseCore = s_core; + } + return baseCore; + } + + public BaseCore activeValidate() { + Log.Helper.LOGPUBLICFUNC(this); + switch (this.m_state) { + case INACTIVE: + Log.Helper.LOGF(this, "Access NimbleBaseCore before setup, call setupNimble() explicitly to activate it.", new Object[0]); + return null; + case MANUAL_TEARDOWN: + Log.Helper.LOGF(this, "Access NimbleBaseCore after clean up, call setupNimble() explicitly again to activate it.", new Object[0]); + return null; + case DESTROY: + Log.Helper.LOGF(this, "Accessing component after destroy, only static components are available right now.", new Object[0]); + return null; + default: + return this; + } + } + + public void setup() { + Log.Helper.LOGPUBLICFUNC(this); + switch (this.m_state) { + case INACTIVE: + case MANUAL_TEARDOWN: + this.m_componentManager.setup(); + this.m_state = State.MANUAL_SETUP; + Utility.sendBroadcast(Global.NOTIFICATION_COMPONENT_INDEPENDENT_SETUP_FINISHED); + this.m_componentManager.restore(); + break; + case DESTROY: + case MANUAL_SETUP: + case QUITTING: + case FAKE_DESTROY: + Log.Helper.LOGF(this, "Multiple setupNimble() calls without teardownNimble().", new Object[0]); + break; + case AUTO_SETUP: + this.m_state = State.MANUAL_SETUP; + break; + } + } + + public void teardown() { + Log.Helper.LOGPUBLICFUNC(this); + switch (this.m_state) { + case INACTIVE: + case AUTO_SETUP: + Log.Helper.LOGF(this, "Cannot teardownNimble() before setupNimble().", new Object[0]); + break; + case MANUAL_TEARDOWN: + case DESTROY: + Log.Helper.LOGF(this, "Multiple teardownNimble() calls without setupNibmle().", new Object[0]); + break; + case MANUAL_SETUP: + this.m_componentManager.cleanup(); + this.m_state = State.MANUAL_TEARDOWN; + this.m_componentManager.teardown(); + break; + case QUITTING: + case FAKE_DESTROY: + this.m_componentManager.cleanup(); + this.m_state = State.MANUAL_TEARDOWN; + this.m_componentManager.teardown(); + destroy(); + break; + } + } + + public void restartWithConfiguration(final NimbleConfiguration nimbleConfiguration) { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGE(this, ">>>>>>>>>>>>>>>>>>>>>>", new Object[0]); + Log.Helper.LOGE(this, "restartWithConfiguration should not be used in an integration. This function is for QA testing purposes.", new Object[0]); + Log.Helper.LOGE(this, ">>>>>>>>>>>>>>>>>>>>>>", new Object[0]); + if (nimbleConfiguration == NimbleConfiguration.UNKNOWN) { + Log.Helper.LOGE(this, "Cannot restart nimble with unknown configuration", new Object[0]); + } else { + new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: com.ea.nimble.BaseCore.1 + @Override // java.lang.Runnable + public void run() { + switch (AnonymousClass2.$SwitchMap$com$ea$nimble$BaseCore$State[BaseCore.this.m_state.ordinal()]) { + case 1: + case 2: + case 3: + Log.Helper.LOGF(this, "Should not happen, getInstance should ensure active instance", new Object[0]); + break; + case 4: + case 5: + BaseCore.this.m_componentManager.cleanup(); + BaseCore.this.m_componentManager.teardown(); + BaseCore.this.m_configuration = nimbleConfiguration; + BaseCore.this.m_componentManager.setup(); + Utility.sendBroadcast(Global.NOTIFICATION_COMPONENT_INDEPENDENT_SETUP_FINISHED); + BaseCore.this.m_componentManager.restore(); + break; + case 6: + case 7: + Log.Helper.LOGF(this, "Cannot restart Nimble when app is quiting", new Object[0]); + break; + } + } + }); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationLaunch(Intent intent) { + if (this.m_state == State.INACTIVE || this.m_state == State.DESTROY) { + this.m_componentManager.setup(); + Utility.sendBroadcast(Global.NOTIFICATION_COMPONENT_INDEPENDENT_SETUP_FINISHED); + this.m_state = State.AUTO_SETUP; + try { + this.m_componentManager.restore(); + return; + } catch (AssertionError e) { + this.m_state = State.INACTIVE; + throw e; + } + } + if (this.m_state == State.FAKE_DESTROY) { + this.m_componentManager.resume(); + this.m_state = State.AUTO_SETUP; + } else if (this.m_state == State.QUITTING) { + this.m_componentManager.resume(); + this.m_state = State.MANUAL_SETUP; + } + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationSuspend() { + if (this.m_state == State.MANUAL_SETUP || this.m_state == State.AUTO_SETUP) { + this.m_componentManager.suspend(); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationResume() { + if (this.m_state == State.MANUAL_SETUP || this.m_state == State.AUTO_SETUP) { + this.m_componentManager.resume(); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationQuit() { + switch (this.m_state) { + case INACTIVE: + Log.Helper.LOGF(this, "No app start before app quit, something must be wrong.", new Object[0]); + break; + case DESTROY: + case QUITTING: + Log.Helper.LOGF(this, "Double app quit, something must be wrong.", new Object[0]); + break; + case AUTO_SETUP: + this.m_componentManager.suspend(); + this.m_state = State.FAKE_DESTROY; + break; + case MANUAL_SETUP: + this.m_componentManager.suspend(); + this.m_state = State.QUITTING; + break; + } + } + + protected static void injectMock(BaseCore baseCore) { + Log.Helper.LOGFUNCS("BaseCore"); + if (baseCore == null) { + s_core = null; + s_coreDestroyed = false; + } else { + s_core = baseCore; + s_coreDestroyed = false; + } + } + + private void destroy() { + Log.Helper.LOGD(this, "NIMBLE DESTROY for Android will keep Core and Static components alive", new Object[0]); + } + + private void loadConfiguration() { + Log.Helper.LOGFUNCS("BaseCore"); + String configValueAsString = NimbleApplicationConfiguration.getConfigValueAsString(NIMBLE_SERVER_CONFIG); + if (Utility.validString(configValueAsString)) { + this.m_configuration = NimbleConfiguration.fromName(configValueAsString); + if (this.m_configuration != NimbleConfiguration.UNKNOWN && this.m_configuration != NimbleConfiguration.CUSTOMIZED) { + return; + } + } + android.util.Log.e(Global.NIMBLE_ID, "WARNING! Cannot find valid NimbleConfiguration from AndroidManifest.xml"); + this.m_configuration = NimbleConfiguration.LIVE; + } + + /* JADX WARN: Removed duplicated region for block: B:18:0x0067 A[ORIG_RETURN, RETURN] */ + /* JADX WARN: Removed duplicated region for block: B:19:? A[RETURN, SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private boolean isAppSigned(android.content.Context r9) { + /* + r8 = this; + javax.security.auth.x500.X500Principal r0 = new javax.security.auth.x500.X500Principal + java.lang.String r1 = "CN=Android Debug,O=Android,C=US" + r0.(r1) + r1 = 0 + android.content.pm.PackageManager r2 = r9.getPackageManager() // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + if (r2 != 0) goto L16 + java.lang.String r9 = "Could not get Package Manager" + java.lang.Object[] r0 = new java.lang.Object[r1] // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + com.ea.nimble.Log.Helper.LOGE(r8, r9, r0) // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + return r1 + L16: + java.lang.String r9 = r9.getPackageName() // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + r3 = 64 + android.content.pm.PackageInfo r9 = r2.getPackageInfo(r9, r3) // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + android.content.pm.Signature[] r9 = r9.signatures // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + int r2 = r9.length // Catch: java.lang.Exception -> L54 java.security.cert.CertificateException -> L5a android.content.pm.PackageManager.NameNotFoundException -> L60 + r3 = 0 + r4 = 0 + L25: + if (r3 >= r2) goto L65 + r5 = r9[r3] // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + java.lang.String r6 = "X.509" + java.security.cert.CertificateFactory r6 = java.security.cert.CertificateFactory.getInstance(r6) // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + java.io.ByteArrayInputStream r7 = new java.io.ByteArrayInputStream // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + byte[] r5 = r5.toByteArray() // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + r7.(r5) // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + java.security.cert.Certificate r5 = r6.generateCertificate(r7) // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + java.security.cert.X509Certificate r5 = (java.security.cert.X509Certificate) r5 // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + javax.security.auth.x500.X500Principal r5 = r5.getSubjectX500Principal() // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + boolean r5 = r5.equals(r0) // Catch: java.lang.Exception -> L4e java.security.cert.CertificateException -> L50 android.content.pm.PackageManager.NameNotFoundException -> L52 + if (r5 == 0) goto L4a + r4 = r5 + goto L65 + L4a: + int r3 = r3 + 1 + r4 = r5 + goto L25 + L4e: + r9 = move-exception + goto L56 + L50: + r9 = move-exception + goto L5c + L52: + r9 = move-exception + goto L62 + L54: + r9 = move-exception + r4 = 0 + L56: + r9.printStackTrace() + goto L65 + L5a: + r9 = move-exception + r4 = 0 + L5c: + r9.printStackTrace() + goto L65 + L60: + r9 = move-exception + r4 = 0 + L62: + r9.printStackTrace() + L65: + if (r4 != 0) goto L68 + r1 = 1 + L68: + return r1 + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.BaseCore.isAppSigned(android.content.Context):boolean"); + } + + public boolean isActive() { + Log.Helper.LOGPUBLICFUNCS("BaseCore"); + return this.m_state == State.AUTO_SETUP || this.m_state == State.MANUAL_SETUP; + } +} diff --git a/app/src/main/java/com/ea/nimble/ByteBufferIOStream.java b/app/src/main/java/com/ea/nimble/ByteBufferIOStream.java new file mode 100644 index 0000000..e481940 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ByteBufferIOStream.java @@ -0,0 +1,284 @@ +package com.ea.nimble; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.ListIterator; + +/* loaded from: classes.dex */ +public class ByteBufferIOStream { + protected static final int SEGMENT_SIZE = 4096; + protected int m_availableSegment; + protected LinkedList m_buffer; + protected boolean m_closed; + protected ByteBufferInputStream m_input; + protected ByteBufferOutputStream m_output; + protected int m_readPosition; + protected int m_writePosition; + + public ByteBufferIOStream() { + this(1); + } + + public ByteBufferIOStream(int i) { + this.m_closed = false; + this.m_availableSegment = 0; + this.m_writePosition = 0; + this.m_readPosition = 0; + this.m_buffer = new LinkedList<>(); + this.m_input = new ByteBufferInputStream(); + this.m_output = new ByteBufferOutputStream(); + int i2 = (((i <= 0 ? 1 : i) - 1) / 4096) + 1; + for (int i3 = 0; i3 < i2; i3++) { + this.m_buffer.add(new byte[4096]); + } + } + + public InputStream getInputStream() { + return this.m_input; + } + + public OutputStream getOutputStream() { + return this.m_output; + } + + public void clear() { + this.m_closed = false; + this.m_availableSegment = 0; + this.m_writePosition = 0; + this.m_readPosition = 0; + } + + public int available() throws IOException { + return this.m_input.available(); + } + + public byte[] prepareSegment() { + if (this.m_availableSegment + 1 >= this.m_buffer.size()) { + return new byte[4096]; + } + if (this.m_buffer.size() == 0) { + return null; + } + return this.m_buffer.removeLast(); + } + + public void appendSegmentToBuffer(byte[] bArr, int i) throws IOException { + if (this.m_writePosition == 0 && bArr.length == 4096) { + ListIterator listIterator = this.m_buffer.listIterator(); + for (int i2 = 0; i2 < this.m_availableSegment; i2++) { + listIterator.next(); + } + listIterator.add(bArr); + if (i != 4096) { + this.m_writePosition = i; + return; + } else { + this.m_availableSegment++; + return; + } + } + getOutputStream().write(bArr, 0, i); + } + + public byte[] growBufferBySegment() throws IOException { + if (this.m_writePosition != 0) { + throw new IOException("Bad location to grow buffer"); + } + ListIterator listIterator = this.m_buffer.listIterator(); + for (int i = 0; i < this.m_availableSegment; i++) { + listIterator.next(); + } + byte[] bArr = new byte[4096]; + listIterator.add(bArr); + this.m_availableSegment++; + return bArr; + } + + protected class ByteBufferInputStream extends InputStream { + @Override // java.io.InputStream + public boolean markSupported() { + return false; + } + + protected ByteBufferInputStream() { + } + + @Override // java.io.InputStream + public int available() throws IOException { + if (ByteBufferIOStream.this.m_closed) { + throw new IOException("ByteBufferIOStream is closed"); + } + return ((ByteBufferIOStream.this.m_availableSegment * 4096) + ByteBufferIOStream.this.m_writePosition) - ByteBufferIOStream.this.m_readPosition; + } + + @Override // java.io.InputStream, java.io.Closeable, java.lang.AutoCloseable + public void close() throws IOException { + ByteBufferIOStream.this.closeIOStream(); + } + + @Override // java.io.InputStream + public int read(byte[] bArr) throws IOException { + return read(bArr, 0, bArr.length); + } + + @Override // java.io.InputStream + public int read() throws IOException { + if (available() <= 0) { + throw new IOException("Nothing to read in ByteBufferIOStream"); + } + byte b = ByteBufferIOStream.this.m_buffer.getFirst()[ByteBufferIOStream.this.m_readPosition]; + ByteBufferIOStream.this.m_readPosition++; + if (ByteBufferIOStream.this.m_readPosition >= 4096) { + ByteBufferIOStream.this.m_buffer.add(ByteBufferIOStream.this.m_buffer.poll()); + ByteBufferIOStream.this.m_readPosition = 0; + ByteBufferIOStream byteBufferIOStream = ByteBufferIOStream.this; + byteBufferIOStream.m_availableSegment--; + } + return b; + } + + @Override // java.io.InputStream + public int read(byte[] bArr, int i, int i2) throws IOException { + if (i < 0 || i2 < 0 || i + i2 > bArr.length) { + throw new IndexOutOfBoundsException("The reading range of out of buffer boundary."); + } + int available = available(); + if (available <= 0) { + return -1; + } + if (i2 > available) { + i2 = available; + } + int i3 = 4096 - ByteBufferIOStream.this.m_readPosition; + if (i2 < i3) { + System.arraycopy(ByteBufferIOStream.this.m_buffer.getFirst(), ByteBufferIOStream.this.m_readPosition, bArr, i, i2); + ByteBufferIOStream.this.m_readPosition += i2; + } else { + System.arraycopy(ByteBufferIOStream.this.m_buffer.getFirst(), ByteBufferIOStream.this.m_readPosition, bArr, i, i3); + ByteBufferIOStream.this.m_buffer.add(ByteBufferIOStream.this.m_buffer.poll()); + int i4 = i2 - i3; + int i5 = i + i3; + int i6 = i4 / 4096; + int i7 = i4; + int i8 = i5; + for (int i9 = 0; i9 < i6; i9++) { + System.arraycopy(ByteBufferIOStream.this.m_buffer.getFirst(), 0, bArr, i8, 4096); + ByteBufferIOStream.this.m_buffer.add(ByteBufferIOStream.this.m_buffer.poll()); + i7 -= 4096; + i8 += 4096; + } + System.arraycopy(ByteBufferIOStream.this.m_buffer.getFirst(), 0, bArr, i8, i7); + ByteBufferIOStream.this.m_readPosition = i7; + ByteBufferIOStream.this.m_availableSegment -= i6 + 1; + } + return i2; + } + + @Override // java.io.InputStream + public long skip(long j) throws IOException { + int available = available(); + if (available <= 0) { + return 0L; + } + long j2 = available; + if (j > j2) { + j = j2; + } + int i = (int) j; + int i2 = 4096 - ByteBufferIOStream.this.m_readPosition; + if (i < i2) { + ByteBufferIOStream.this.m_readPosition += i; + } else { + ByteBufferIOStream.this.m_buffer.add(ByteBufferIOStream.this.m_buffer.poll()); + int i3 = i - i2; + int i4 = i3 / 4096; + for (int i5 = 0; i5 < i4; i5++) { + ByteBufferIOStream.this.m_buffer.add(ByteBufferIOStream.this.m_buffer.poll()); + i3 -= 4096; + } + ByteBufferIOStream.this.m_readPosition = i3; + ByteBufferIOStream.this.m_availableSegment -= i4 + 1; + } + return j; + } + } + + protected class ByteBufferOutputStream extends OutputStream { + protected ByteBufferOutputStream() { + } + + @Override // java.io.OutputStream, java.io.Closeable, java.lang.AutoCloseable + public void close() throws IOException { + ByteBufferIOStream.this.closeIOStream(); + } + + @Override // java.io.OutputStream + public void write(byte[] bArr, int i, int i2) throws IOException { + byte[] bArr2; + if (i < 0 || i2 < 0 || i + i2 > bArr.length) { + throw new IndexOutOfBoundsException("The writing range is out of buffer boundary."); + } + if (ByteBufferIOStream.this.m_closed) { + throw new IOException("ByteBufferIOStream is closed"); + } + int i3 = 4096 - ByteBufferIOStream.this.m_writePosition; + Iterator it = ByteBufferIOStream.this.m_buffer.iterator(); + for (int i4 = 0; i4 < ByteBufferIOStream.this.m_availableSegment; i4++) { + it.next(); + } + if (i2 < i3) { + System.arraycopy(bArr, i, it.next(), ByteBufferIOStream.this.m_writePosition, i2); + ByteBufferIOStream.this.m_writePosition += i2; + return; + } + System.arraycopy(bArr, i, it.next(), ByteBufferIOStream.this.m_writePosition, i3); + int i5 = i2 - i3; + int i6 = i + i3; + ByteBufferIOStream.this.m_availableSegment++; + ByteBufferIOStream.this.m_writePosition = 0; + while (i5 > 0) { + if (it.hasNext()) { + bArr2 = it.next(); + } else { + bArr2 = new byte[4096]; + ByteBufferIOStream.this.m_buffer.add(bArr2); + } + if (i5 < 4096) { + System.arraycopy(bArr, i6, bArr2, 0, i5); + ByteBufferIOStream.this.m_writePosition = i5; + i5 = 0; + } else { + System.arraycopy(bArr, i6, bArr2, 0, 4096); + i5 -= 4096; + i6 += 4096; + ByteBufferIOStream.this.m_availableSegment++; + } + } + } + + @Override // java.io.OutputStream + public void write(byte[] bArr) throws IOException { + write(bArr, 0, bArr.length); + } + + @Override // java.io.OutputStream + public void write(int i) throws IOException { + if (ByteBufferIOStream.this.m_closed) { + throw new IOException("ByteBufferIOStream is closed"); + } + ByteBufferIOStream.this.m_buffer.getFirst()[ByteBufferIOStream.this.m_writePosition] = (byte) i; + ByteBufferIOStream.this.m_writePosition++; + if (ByteBufferIOStream.this.m_writePosition == 4096) { + ByteBufferIOStream.this.m_writePosition = 0; + ByteBufferIOStream.this.m_availableSegment++; + } + } + } + + protected void closeIOStream() { + this.m_closed = true; + } +} diff --git a/app/src/main/java/com/ea/nimble/Component.java b/app/src/main/java/com/ea/nimble/Component.java new file mode 100644 index 0000000..4667b1b --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Component.java @@ -0,0 +1,24 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public abstract class Component { + protected void cleanup() { + } + + public abstract String getComponentId(); + + protected void restore() { + } + + protected void resume() { + } + + protected void setup() { + } + + protected void suspend() { + } + + protected void teardown() { + } +} diff --git a/app/src/main/java/com/ea/nimble/ComponentManager.java b/app/src/main/java/com/ea/nimble/ComponentManager.java new file mode 100644 index 0000000..64221cd --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ComponentManager.java @@ -0,0 +1,134 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.ListIterator; +import java.util.Map; + +/* loaded from: classes.dex */ +class ComponentManager implements LogSource { + private Map m_components = new LinkedHashMap(); + private Stage m_stage = Stage.CREATE; + + public enum Stage { + CREATE, + SETUP, + READY, + SUSPEND + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Component"; + } + + ComponentManager() { + } + + public Stage getStage() { + return this.m_stage; + } + + void registerComponent(Component component, String str) { + Log.Helper.LOGFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGF(this, "Cannot register component without valid componentId", new Object[0]); + return; + } + if (component == null) { + Log.Helper.LOGF(this, "Try to register invalid component with id: " + str, new Object[0]); + return; + } + Component component2 = this.m_components.get(str); + if (component2 == null) { + Log.Helper.LOGI(this, "Register module: " + str, new Object[0]); + } else { + Log.Helper.LOGI(this, "Register module(overwrite): " + str, new Object[0]); + } + this.m_components.put(str, component); + if (this.m_stage.compareTo(Stage.SETUP) < 0) { + return; + } + if (component2 != null) { + if (this.m_stage.compareTo(Stage.SETUP) >= 0) { + if (this.m_stage.compareTo(Stage.SUSPEND) >= 0) { + component2.resume(); + } + component2.cleanup(); + } + component2.teardown(); + } + component.setup(); + if (this.m_stage.compareTo(Stage.READY) >= 0) { + component.restore(); + if (this.m_stage.compareTo(Stage.SUSPEND) >= 0) { + component.suspend(); + } + } + } + + Component getComponent(String str) { + return this.m_components.get(str); + } + + Component[] getComponentList(String str) { + Log.Helper.LOGFUNC(this); + ArrayList arrayList = new ArrayList(this.m_components.size()); + for (Map.Entry entry : this.m_components.entrySet()) { + if (entry.getKey().startsWith(str)) { + arrayList.add(entry.getValue()); + } + } + return (Component[]) arrayList.toArray(new Component[arrayList.size()]); + } + + void setup() { + this.m_stage = Stage.SETUP; + Iterator it = this.m_components.values().iterator(); + while (it.hasNext()) { + it.next().setup(); + } + } + + void restore() { + this.m_stage = Stage.READY; + Iterator it = this.m_components.values().iterator(); + while (it.hasNext()) { + it.next().restore(); + } + } + + void suspend() { + ListIterator listIterator = new ArrayList(this.m_components.values()).listIterator(this.m_components.size()); + this.m_stage = Stage.SUSPEND; + while (listIterator.hasPrevious()) { + ((Component) listIterator.previous()).suspend(); + } + } + + void resume() { + this.m_stage = Stage.READY; + Iterator it = this.m_components.values().iterator(); + while (it.hasNext()) { + it.next().resume(); + } + } + + void cleanup() { + ListIterator listIterator = new ArrayList(this.m_components.values()).listIterator(this.m_components.size()); + this.m_stage = Stage.CREATE; + while (listIterator.hasPrevious()) { + ((Component) listIterator.previous()).cleanup(); + } + } + + void teardown() { + ListIterator listIterator = new ArrayList(this.m_components.values()).listIterator(this.m_components.size()); + this.m_stage = Stage.CREATE; + while (listIterator.hasPrevious()) { + ((Component) listIterator.previous()).teardown(); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/EASPDataLoader.java b/app/src/main/java/com/ea/nimble/EASPDataLoader.java new file mode 100644 index 0000000..7471ef9 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/EASPDataLoader.java @@ -0,0 +1,159 @@ +package com.ea.nimble; + +import android.content.Context; +import com.ea.nimble.Log; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.nio.ByteBuffer; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public class EASPDataLoader { + + public static class LogEvent { + public int m_EAUID; + public long m_dateTimeInNanoseconds; + public int m_indexInsideSession; + public int m_keyType01; + public int m_keyType02; + public int m_keyType03; + public String m_randomPart; + public long m_timestamp; + public int m_type; + public int m_userLevel; + public String m_value01; + public String m_value02; + public String m_value03; + } + + public static class EASPDataBuffer { + public ByteBuffer m_decryptedByteBuffer; + public String m_version; + + public EASPDataBuffer(String str, ByteBuffer byteBuffer) { + this.m_version = str; + this.m_decryptedByteBuffer = byteBuffer; + } + } + + public static String readString(ByteBuffer byteBuffer) throws IOException { + String str; + int i = byteBuffer.getInt(); + if (i <= 0) { + return null; + } + if (i > byteBuffer.remaining()) { + Log.Helper.LOGES("Legacy", "String length greater than buffer remaining bytes.", new Object[0]); + throw new IOException("String length uint32 corrupt, longer than remaining bytes."); + } + byte[] bArr = new byte[i]; + byteBuffer.get(bArr, 0, i); + try { + str = new String(bArr, HTTP.UTF_8); + try { + Log.Helper.LOGDS("Legacy", "Read string (%s)", str); + } catch (Exception e) { + e = e; + Log.Helper.LOGES("Legacy", "Read string exception: " + e, new Object[0]); + return str; + } + } catch (Exception e2) { + e = e2; + str = null; + } + return str; + } + + public static boolean readBooleanByte(ByteBuffer byteBuffer) { + return byteBuffer.get() != 0; + } + + public static LogEvent readLogEvent(ByteBuffer byteBuffer) throws IOException { + LogEvent logEvent = new LogEvent(); + try { + if (!readBooleanByte(byteBuffer)) { + return null; + } + logEvent.m_type = byteBuffer.getInt(); + logEvent.m_indexInsideSession = byteBuffer.getInt(); + logEvent.m_dateTimeInNanoseconds = byteBuffer.getLong(); + logEvent.m_EAUID = byteBuffer.getInt(); + logEvent.m_randomPart = readString(byteBuffer); + logEvent.m_keyType01 = byteBuffer.getInt(); + logEvent.m_value01 = readString(byteBuffer); + logEvent.m_keyType02 = byteBuffer.getInt(); + logEvent.m_value02 = readString(byteBuffer); + logEvent.m_timestamp = byteBuffer.getLong(); + logEvent.m_keyType03 = byteBuffer.getInt(); + logEvent.m_value03 = readString(byteBuffer); + logEvent.m_userLevel = byteBuffer.getInt(); + return logEvent; + } catch (IOException e) { + Log.Helper.LOGES("Legacy", "Exception reading LogEvent: " + e, new Object[0]); + throw e; + } + } + + public static boolean deleteDatFile(String str) { + File file = new File(str); + if (file.exists()) { + return file.delete(); + } + return true; + } + + /* JADX WARN: Removed duplicated region for block: B:38:0x00e8 A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:44:? A[SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:45:0x00d7 A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public static com.ea.nimble.EASPDataLoader.EASPDataBuffer loadDatFile(java.lang.String r12) throws java.lang.Exception { + /* + Method dump skipped, instructions count: 342 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.EASPDataLoader.loadDatFile(java.lang.String):com.ea.nimble.EASPDataLoader$EASPDataBuffer"); + } + + public static String getTrackingDatFilePath() { + String path; + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + if (applicationContext == null) { + path = System.getProperty("user.dir") + File.separator + "doc"; + } else { + File filesDir = applicationContext.getFilesDir(); + if (filesDir != null) { + path = filesDir.getPath(); + } else { + Log.Helper.LOGES("Legacy", "Could not get Android files directory", new Object[0]); + return null; + } + } + return path + File.separator + "EASP" + File.separator + "Tracking" + File.separator + "tracking.dat"; + } + + public static String loadEADeviceId() { + File filesDir = ApplicationEnvironment.getComponent().getApplicationContext().getFilesDir(); + try { + if (filesDir == null) { + throw new Exception(); + } + EASPDataBuffer loadDatFile = loadDatFile(filesDir.getPath() + "/EASP/commoninfo.dat"); + if (!loadDatFile.m_version.equals("1.00.02")) { + return null; + } + ByteBuffer byteBuffer = loadDatFile.m_decryptedByteBuffer; + readString(byteBuffer); + readBooleanByte(byteBuffer); + return readString(byteBuffer); + } catch (FileNotFoundException unused) { + return null; + } catch (Exception e) { + Log.Helper.LOGES("Legacy", "Exception when trying to load EASP data: %s", e); + return null; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/Encryptor.java b/app/src/main/java/com/ea/nimble/Encryptor.java new file mode 100644 index 0000000..8c5d9b2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Encryptor.java @@ -0,0 +1,80 @@ +package com.ea.nimble; + +import android.annotation.SuppressLint; +import com.ea.nimble.Log; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.security.GeneralSecurityException; +import java.security.Provider; +import java.security.Security; +import java.util.Iterator; +import javax.crypto.Cipher; +import javax.crypto.CipherInputStream; +import javax.crypto.CipherOutputStream; +import javax.crypto.SecretKey; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.PBEKeySpec; +import javax.crypto.spec.PBEParameterSpec; + +/* loaded from: classes.dex */ +class Encryptor { + private static int ENCRYPTION_KEY_LENGHT = 128; + private static int ENCRYPTION_KEY_ROUND = 997; + private Cipher m_encryptor = null; + private Cipher m_decryptor = null; + + @SuppressLint({"NewApi"}) + private void initialize() throws GeneralSecurityException { + for (Provider provider : Security.getProviders()) { + Log.Helper.LOGIS(null, "Cryptor Provider: " + provider.getName(), new Object[0]); + Iterator it = provider.getServices().iterator(); + while (it.hasNext()) { + Log.Helper.LOGIS(null, "Cryptor Algorithm: " + it.next().getAlgorithm(), new Object[0]); + } + } + try { + String applicationBundleId = ApplicationEnvironment.getComponent().getApplicationBundleId(); + byte[] bytes = "02:00:00:00:00:00".getBytes(); + byte[] bArr = new byte[8]; + int i = 0; + int i2 = 0; + while (i < bArr.length) { + int i3 = i2 + 1; + if (i3 % 3 == 0) { + i2 = i3; + } + bArr[i] = bytes[i2]; + i++; + i2++; + } + SecretKey generateSecret = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(new PBEKeySpec(applicationBundleId.toCharArray(), bArr, ENCRYPTION_KEY_ROUND, ENCRYPTION_KEY_LENGHT)); + PBEParameterSpec pBEParameterSpec = new PBEParameterSpec(bArr, ENCRYPTION_KEY_ROUND); + this.m_encryptor = Cipher.getInstance("PBEWithMD5AndDES"); + this.m_encryptor.init(1, generateSecret, pBEParameterSpec); + this.m_decryptor = Cipher.getInstance("PBEWithMD5AndDES"); + this.m_decryptor.init(2, generateSecret, pBEParameterSpec); + } catch (GeneralSecurityException e) { + Log.Helper.LOGFS(null, "Can't initialize Encryptor: " + e.toString(), new Object[0]); + throw e; + } + } + + public ObjectInputStream encryptInputStream(InputStream inputStream) throws IOException, GeneralSecurityException { + Log.Helper.LOGFUNC(this); + if (this.m_encryptor == null || this.m_decryptor == null) { + initialize(); + } + return new ObjectInputStream(new CipherInputStream(inputStream, this.m_decryptor)); + } + + public ObjectOutputStream encryptOutputStream(OutputStream outputStream) throws IOException, GeneralSecurityException { + Log.Helper.LOGFUNC(this); + if (this.m_encryptor == null || this.m_decryptor == null) { + initialize(); + } + return new ObjectOutputStream(new CipherOutputStream(outputStream, this.m_encryptor)); + } +} diff --git a/app/src/main/java/com/ea/nimble/EnvironmentDataContainer.java b/app/src/main/java/com/ea/nimble/EnvironmentDataContainer.java new file mode 100644 index 0000000..9e6978a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/EnvironmentDataContainer.java @@ -0,0 +1,294 @@ +package com.ea.nimble; + +import com.ea.nimble.Error; +import com.ea.nimble.Log; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +class EnvironmentDataContainer implements ISynergyEnvironment, Externalizable, LogSource { + private static final int SYNERGY_DIRECTOR_RESPONSE_APP_VERSION_OK = 0; + private static final int SYNERGY_DIRECTOR_RESPONSE_APP_VERSION_UPGRADE_RECOMMENDED = 1; + private static final int SYNERGY_DIRECTOR_RESPONSE_APP_VERSION_UPGRADE_REQUIRED = 2; + private String m_eaDeviceId; + private Long m_lastDirectorResponseTimestamp; + private Map m_serverUrls; + private String m_synergyAnonymousId; + private Map m_overrideUrls = new HashMap(); + private Map m_getDirectionResponseDictionary = new HashMap(); + private String m_applicationLanguageCode = "en"; + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "SynergyEnv"; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getEADeviceId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_eaDeviceId; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getSynergyId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_synergyAnonymousId; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getSellId() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return null; + } + return (String) this.m_getDirectionResponseDictionary.get(SynergyCatalog.MTX_INFO_KEY_SELLID); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getProductId() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return null; + } + return (String) this.m_getDirectionResponseDictionary.get("productId"); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getEAHardwareId() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return null; + } + return (String) this.m_getDirectionResponseDictionary.get("hwId"); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getNexusClientId() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return null; + } + return (String) this.m_getDirectionResponseDictionary.get("clientId"); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getNexusClientSecret() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return null; + } + return (String) this.m_getDirectionResponseDictionary.get("clientSecret"); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getGosMdmAppKey() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return null; + } + return (String) this.m_getDirectionResponseDictionary.get("mdmAppKey"); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public Error setServerUrl(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "Provided override URL key is not a valid string, unable to set URL", new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, "Provided override URL key is not a valid string, unable to set URL"); + } + if (!Utility.validString(str2)) { + Log.Helper.LOGD(this, "Empty or null value provided for key \"" + str + "\", removing key from map", new Object[0]); + if (this.m_overrideUrls.remove(str) != null) { + return null; + } + Log.Helper.LOGW(this, "No matching key found in override URLs", new Object[0]); + return null; + } + this.m_overrideUrls.put(str, str2); + Log.Helper.LOGD(this, "Successfully set Override URL pair: (%s,%s)", str, this.m_overrideUrls.get(str)); + return null; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getServerUrlWithKey(String str) { + Log.Helper.LOGPUBLICFUNC(this); + String str2 = this.m_overrideUrls.get(str); + return str2 != null ? str2 : this.m_serverUrls.get(str); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getSynergyDirectorServerUrl(NimbleConfiguration nimbleConfiguration) { + Log.Helper.LOGPUBLICFUNC(this); + return SynergyEnvironment.getComponent().getSynergyDirectorServerUrl(nimbleConfiguration); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public int getLatestAppVersionCheckResult() { + int parseInt; + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty()) { + return -1; + } + Object obj = this.m_getDirectionResponseDictionary.get("appUpgrade"); + if (obj instanceof Integer) { + parseInt = ((Integer) obj).intValue(); + } else { + parseInt = obj instanceof String ? Integer.parseInt((String) obj) : 0; + } + switch (parseInt) { + case 0: + default: + return 0; + case 1: + return 1; + case 2: + return 2; + } + } + + @Override // com.ea.nimble.ISynergyEnvironment + public int getTrackingPostInterval() { + Integer num; + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || this.m_getDirectionResponseDictionary.isEmpty() || (num = (Integer) this.m_getDirectionResponseDictionary.get("telemetryFreq")) == null) { + return -1; + } + return num.intValue(); + } + + Map getGetDirectionResponseDictionary() { + return this.m_getDirectionResponseDictionary; + } + + void setGetDirectionResponseDictionary(Map map) { + Log.Helper.LOGFUNC(this); + if (map != null) { + map.put(SynergyCatalog.MTX_INFO_KEY_SELLID, ((Integer) map.get(SynergyCatalog.MTX_INFO_KEY_SELLID)).toString()); + map.put("productId", ((Integer) map.get("productId")).toString()); + map.put("hwId", ((Integer) map.get("hwId")).toString()); + this.m_getDirectionResponseDictionary = map; + return; + } + this.m_getDirectionResponseDictionary = new HashMap(); + } + + Map getServerUrls() { + return this.m_serverUrls; + } + + void setServerUrls(Map map) { + Log.Helper.LOGFUNC(this); + this.m_serverUrls = map; + } + + void setEADeviceId(String str) { + Log.Helper.LOGFUNC(this); + this.m_eaDeviceId = str; + } + + String getSynergyAnonymousId() { + Log.Helper.LOGFUNC(this); + return this.m_synergyAnonymousId; + } + + void setSynergyAnonymousId(String str) { + Log.Helper.LOGFUNC(this); + this.m_synergyAnonymousId = str; + } + + Long getMostRecentDirectorResponseTimestamp() { + Log.Helper.LOGFUNC(this); + return this.m_lastDirectorResponseTimestamp; + } + + void setMostRecentDirectorResponseTimestamp(Long l) { + Log.Helper.LOGFUNC(this); + this.m_lastDirectorResponseTimestamp = l; + } + + @Override // java.io.Externalizable + public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException { + this.m_getDirectionResponseDictionary = (Map) objectInput.readObject(); + if (this.m_getDirectionResponseDictionary.isEmpty()) { + this.m_getDirectionResponseDictionary = null; + } + this.m_serverUrls = (Map) objectInput.readObject(); + if (this.m_serverUrls.isEmpty()) { + this.m_serverUrls = null; + } + this.m_eaDeviceId = (String) objectInput.readObject(); + if (this.m_eaDeviceId.length() == 0) { + this.m_eaDeviceId = null; + } + this.m_synergyAnonymousId = (String) objectInput.readObject(); + if (this.m_synergyAnonymousId.length() == 0) { + this.m_synergyAnonymousId = null; + } + this.m_lastDirectorResponseTimestamp = Long.valueOf(objectInput.readLong()); + if (this.m_lastDirectorResponseTimestamp.longValue() == 0) { + this.m_lastDirectorResponseTimestamp = null; + } + this.m_applicationLanguageCode = (String) objectInput.readObject(); + if (this.m_applicationLanguageCode.length() == 0) { + this.m_applicationLanguageCode = null; + } + } + + @Override // java.io.Externalizable + public void writeExternal(ObjectOutput objectOutput) throws IOException { + objectOutput.writeObject(this.m_getDirectionResponseDictionary == null ? new HashMap() : this.m_getDirectionResponseDictionary); + objectOutput.writeObject(this.m_serverUrls == null ? new HashMap() : this.m_serverUrls); + objectOutput.writeObject(this.m_eaDeviceId == null ? "" : this.m_eaDeviceId); + objectOutput.writeObject(this.m_synergyAnonymousId == null ? "" : this.m_synergyAnonymousId); + objectOutput.writeLong(this.m_lastDirectorResponseTimestamp == null ? 0L : this.m_lastDirectorResponseTimestamp.longValue()); + objectOutput.writeObject(this.m_applicationLanguageCode == null ? "" : this.m_applicationLanguageCode); + } + + /* JADX WARN: Removed duplicated region for block: B:78:0x0273 A[RETURN] */ + /* JADX WARN: Removed duplicated region for block: B:80:0x0274 A[RETURN] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public java.util.Set getKeysOfDifferences(com.ea.nimble.ISynergyEnvironment r4) { + /* + Method dump skipped, instructions count: 630 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.EnvironmentDataContainer.getKeysOfDifferences(com.ea.nimble.ISynergyEnvironment):java.util.Set"); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public boolean isDataAvailable() { + Log.Helper.LOGPUBLICFUNC(this); + return true; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public boolean isUpdateInProgress() { + Log.Helper.LOGPUBLICFUNC(this); + return false; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public Error checkAndInitiateSynergyEnvironmentUpdate() { + Log.Helper.LOGPUBLICFUNC(this); + return null; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public boolean isFeatureDisabled(String str) { + List list; + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_getDirectionResponseDictionary == null || (list = (List) this.m_getDirectionResponseDictionary.get("disabledFeatures")) == null) { + return false; + } + return list.contains(str); + } +} diff --git a/app/src/main/java/com/ea/nimble/Error.java b/app/src/main/java/com/ea/nimble/Error.java new file mode 100644 index 0000000..25e80ff --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Error.java @@ -0,0 +1,180 @@ +/* + * Decompiled with CFR 0.152. + * + * Could not load the following classes: + * android.os.Parcel + * android.os.Parcelable + * android.os.Parcelable$Creator + */ +package com.ea.nimble; + +import android.os.Parcel; +import android.os.Parcelable; +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.io.PrintWriter; +import java.io.Serializable; +import java.io.StringWriter; + +public class Error + extends Exception + implements Parcelable, + Externalizable { + public static final Parcelable.Creator CREATOR = new Parcelable.Creator(){ + + public Error createFromParcel(Parcel parcel) { + return new Error(parcel); + } + + public Error[] newArray(int n2) { + return new Error[n2]; + } + }; + public static final String ERROR_DOMAIN = "NimbleError"; + private static final long serialVersionUID = 1L; + private int m_code; + private String m_domain; + + public Error() { + } + + public Error(Parcel parcel) { + this.readFromParcel(parcel); + } + + public Error(Code code, String string2) { + this(code, string2, null); + } + + public Error(Code code, String string2, Throwable throwable) { + this(ERROR_DOMAIN, code.intValue(), string2, throwable); + } + + public Error(String string2, int n2, String string3) { + this(string2, n2, string3, null); + } + + public Error(String string2, int n2, String string3, Throwable throwable) { + super(string3, throwable); + this.m_domain = string2; + this.m_code = n2; + } + + public int describeContents() { + return 0; + } + + public int getCode() { + return this.m_code; + } + + public String getDomain() { + return this.m_domain; + } + + public boolean isError(Code code) { + if (this.m_code != code.intValue()) return false; + return true; + } + + @Override + public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException { + this.m_domain = objectInput.readUTF(); + this.m_code = objectInput.readInt(); + this.initCause((Throwable)objectInput.readObject()); + } + + public void readFromParcel(Parcel parcel) { + this.m_domain = parcel.readString(); + this.m_code = parcel.readInt(); + this.initCause((Throwable)parcel.readSerializable()); + } + + @Override + public String toString() { + StringBuilder stringBuilder = new StringBuilder(); + if (this.m_domain != null && this.m_domain.length() > 0) { + stringBuilder.append(this.m_domain).append("("); + } else { + stringBuilder.append("Error").append("("); + } + stringBuilder.append(this.m_code).append(")"); + Object object = this.getLocalizedMessage(); + if (object != null && ((String)object).length() > 0) { + stringBuilder.append(": ").append((String)object); + } + if ((object = this.getCause()) == null) return stringBuilder.toString(); + stringBuilder.append("\nCaused by: "); + StringWriter stringWriter = new StringWriter(); + ((Throwable)object).printStackTrace(new PrintWriter(stringWriter)); + stringBuilder.append(stringWriter.toString()); + return stringBuilder.toString(); + } + + @Override + public void writeExternal(ObjectOutput objectOutput) throws IOException { + if (this.m_domain != null && this.m_domain.length() > 0) { + objectOutput.writeUTF(this.m_domain); + } else { + objectOutput.writeUTF(""); + } + objectOutput.writeInt(this.m_code); + objectOutput.writeObject(this.getCause()); + } + + public void writeToParcel(Parcel parcel, int n2) { + if (this.m_domain != null && this.m_domain.length() > 0) { + parcel.writeString(this.m_domain); + } else { + parcel.writeString(""); + } + parcel.writeInt(this.m_code); + Throwable throwable = this.getCause(); + if (throwable != null) { + parcel.writeSerializable((Serializable)throwable); + return; + } + parcel.writeSerializable((Serializable)((Object)"")); + } + + public static enum Code { + UNKNOWN(0), + SYSTEM_UNEXPECTED(100), + NOT_READY(101), + UNSUPPORTED(102), + NOT_AVAILABLE(103), + NOT_IMPLEMENTED(104), + INVALID_ARGUMENT(301), + MISSING_CALLBACK(300), + NETWORK_UNSUPPORTED_CONNECTION_TYPE(1001), + NETWORK_NO_CONNECTION(1002), + NETWORK_UNREACHABLE(1003), + NETWORK_OVERSIZE_DATA(1004), + NETWORK_OPERATION_CANCELLED(1005), + NETWORK_INVALID_SERVER_RESPONSE(1006), + NETWORK_TIMEOUT(1007), + NETWORK_CONNECTION_ERROR(1010), + SYNERGY_SERVER_FULL(2001), + SYNERGY_GET_DIRECTION_TIMEOUT(2002), + SYNERGY_GET_EA_DEVICE_ID_FAILURE(2003), + SYNERGY_VALIDATE_EA_DEVICE_ID_FAILURE(2004), + SYNERGY_GET_ANONYMOUS_ID_FAILURE(2005), + SYNERGY_ENVIRONMENT_UPDATE_FAILURE(2006), + SYNERGY_PURCHASE_VERIFICATION_FAILURE(2007), + SYNERGY_GET_NONCE_FAILURE(2008), + SYNERGY_GET_AGE_COMPLIANCE_FAILURE(2009); + + private int m_value; + + private Code(int n3) { + this.m_value = n3; + } + + public int intValue() { + return this.m_value; + } + } +} + diff --git a/app/src/main/java/com/ea/nimble/Facebook.java b/app/src/main/java/com/ea/nimble/Facebook.java new file mode 100644 index 0000000..1037346 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Facebook.java @@ -0,0 +1,14 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class Facebook { + public static final String COMPONENT_ID = "com.ea.nimble.facebook"; + + private static void initialize() { + Base.registerComponent(new FacebookImpl(), "com.ea.nimble.facebook"); + } + + public static IFacebook getComponent() { + return (IFacebook) Base.getComponent("com.ea.nimble.facebook"); + } +} diff --git a/app/src/main/java/com/ea/nimble/FacebookCallback.java b/app/src/main/java/com/ea/nimble/FacebookCallback.java new file mode 100644 index 0000000..a81c513 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/FacebookCallback.java @@ -0,0 +1,6 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface FacebookCallback { + void callback(IFacebook iFacebook, boolean z, Exception exc); +} diff --git a/app/src/main/java/com/ea/nimble/FacebookImpl.java b/app/src/main/java/com/ea/nimble/FacebookImpl.java new file mode 100644 index 0000000..eecc6ed --- /dev/null +++ b/app/src/main/java/com/ea/nimble/FacebookImpl.java @@ -0,0 +1,386 @@ +package com.ea.nimble; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import com.ea.nimble.Error; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.IFacebook; +import com.ea.nimble.Log; +import com.ea.nimble.NimbleFacebookError; +import com.facebook.AccessToken; +import com.facebook.CallbackManager; +import com.facebook.FacebookException; +import com.facebook.FacebookSdk; +import com.facebook.GraphRequest; +import com.facebook.HttpMethod; +import com.facebook.Profile; +import com.facebook.login.LoginManager; +import com.facebook.login.LoginResult; +import com.facebook.share.internal.ShareConstants; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.apache.http.client.methods.HttpGet; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class FacebookImpl extends Component implements IFacebook, LogSource, IApplicationLifecycle.ActivityLifecycleCallbacks, IApplicationLifecycle.ActivityEventCallbacks { + private CallbackManager m_callbackManager = null; + private IFacebook.RequestCallback m_loginCallback = null; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.facebook"; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "FB-Android"; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityDestroyed(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityPaused(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityResumed(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStarted(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStopped(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public boolean onBackPressed() { + return true; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onNewIntent(Activity activity, Intent intent) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onWindowFocusChanged(boolean z) { + } + + FacebookImpl() { + } + + @Override // com.ea.nimble.Component + protected void setup() { + Log.Helper.LOGV(this, "Using Facebook SDK version " + FacebookSdk.getSdkVersion() + ".", new Object[0]); + } + + @Override // com.ea.nimble.Component + public void restore() { + ApplicationLifecycle.getComponent().registerActivityEventCallbacks(this); + ApplicationLifecycle.getComponent().registerActivityLifecycleCallbacks(this); + } + + @Override // com.ea.nimble.Component + protected void cleanup() { + ApplicationLifecycle.getComponent().unregisterActivityLifecycleCallbacks(this); + ApplicationLifecycle.getComponent().unregisterActivityEventCallbacks(this); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onActivityResult(Activity activity, int i, int i2, Intent intent) { + if (this.m_callbackManager != null) { + this.m_callbackManager.onActivityResult(i, i2, intent); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityCreated(Activity activity, Bundle bundle) { + this.m_callbackManager = CallbackManager.Factory.create(); + LoginManager.getInstance().registerCallback(this.m_callbackManager, new com.facebook.FacebookCallback() { // from class: com.ea.nimble.FacebookImpl.1 + @Override // com.facebook.FacebookCallback + public void onSuccess(LoginResult loginResult) { + Log.Helper.LOGV(this, "Login success", new Object[0]); + synchronized (this) { + HashMap hashMap = new HashMap(); + hashMap.put("status", "loggedIn"); + Utility.sendBroadcast(IFacebook.NIMBLE_NOTIFICATION_FACEBOOK_STATUS_CHANGED, hashMap); + if (FacebookImpl.this.m_loginCallback != null) { + FacebookImpl.this.m_loginCallback.callback(null, null); + FacebookImpl.this.m_loginCallback = null; + } + } + } + + @Override // com.facebook.FacebookCallback + public void onCancel() { + synchronized (this) { + Log.Helper.LOGV(this, "Login canceled", new Object[0]); + if (FacebookImpl.this.m_loginCallback != null) { + FacebookImpl.this.m_loginCallback.callback(null, new Error(Error.Code.NETWORK_OPERATION_CANCELLED, "User canceled", (Throwable) null)); + FacebookImpl.this.m_loginCallback = null; + } + } + } + + @Override // com.facebook.FacebookCallback + public void onError(FacebookException facebookException) { + Log.Helper.LOGE(this, "Login failed\nError: %s", facebookException.toString()); + synchronized (this) { + if (FacebookImpl.this.m_loginCallback != null) { + FacebookImpl.this.m_loginCallback.callback(null, new Error(Error.Code.UNKNOWN, "Login failed", facebookException)); + FacebookImpl.this.m_loginCallback = null; + } + } + } + }); + } + + @Override // com.ea.nimble.IFacebook + public void login(List list, IFacebook.RequestCallback requestCallback) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_loginCallback = requestCallback; + while (!FacebookSdk.isInitialized()) { + try { + Thread.sleep(10L); + } catch (InterruptedException unused) { + } + } + synchronized (this) { + LoginManager.getInstance().logInWithReadPermissions(ApplicationEnvironment.getCurrentActivity(), list); + } + } + + @Override // com.ea.nimble.IFacebook + public void logout() { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (this) { + LoginManager.getInstance().logOut(); + AccessToken.setCurrentAccessToken(null); + Profile.setCurrentProfile(null); + HashMap hashMap = new HashMap(); + hashMap.put("status", "loggedOut"); + Utility.sendBroadcast(IFacebook.NIMBLE_NOTIFICATION_FACEBOOK_STATUS_CHANGED, hashMap); + } + } + + private void sendGraphRequest(final String str, final HashMap hashMap, String str2, final IFacebook.RequestCallback requestCallback) { + Log.Helper.LOGFUNC(this); + if (!hasOpenSession()) { + Log.Helper.LOGD(this, "Unable to send FB Graph request to " + str + " as there is no currently active session.", new Object[0]); + if (requestCallback != null) { + requestCallback.callback(null, new Error(Error.Code.UNKNOWN, "Request failed as there is no active session.")); + return; + } + return; + } + new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: com.ea.nimble.FacebookImpl.2 + @Override // java.lang.Runnable + public void run() { + Bundle bundle = new Bundle(); + if (hashMap != null) { + for (Map.Entry entry : hashMap.entrySet()) { + bundle.putString((String) entry.getKey(), (String) entry.getValue()); + } + } + new GraphRequest(AccessToken.getCurrentAccessToken(), str, bundle, HttpMethod.GET, new GraphRequest.Callback() { // from class: com.ea.nimble.FacebookImpl.2.1 + /* JADX WARN: Removed duplicated region for block: B:10:? A[RETURN, SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:7:0x0072 */ + @Override // com.facebook.GraphRequest.Callback + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public void onCompleted(com.facebook.GraphResponse r6) { + /* + r5 = this; + if (r6 == 0) goto L6b + com.facebook.FacebookRequestError r0 = r6.getError() + r1 = 0 + if (r0 == 0) goto L43 + com.ea.nimble.Error r0 = new com.ea.nimble.Error + com.ea.nimble.Error$Code r2 = com.ea.nimble.Error.Code.UNKNOWN + java.lang.String r3 = "Request failed." + com.facebook.FacebookRequestError r4 = r6.getError() + com.facebook.FacebookException r4 = r4.getException() + r0.(r2, r3, r4) + java.lang.String r2 = "Facebook" + java.lang.StringBuilder r3 = new java.lang.StringBuilder + r3.() + java.lang.String r4 = "Response of FB Graph request to " + r3.append(r4) + com.ea.nimble.FacebookImpl$2 r4 = com.ea.nimble.FacebookImpl.AnonymousClass2.this + java.lang.String r4 = r3 + r3.append(r4) + java.lang.String r4 = " failed due to error: " + r3.append(r4) + java.lang.String r4 = r0.getMessage() + r3.append(r4) + java.lang.String r3 = r3.toString() + java.lang.Object[] r1 = new java.lang.Object[r1] + com.ea.nimble.Log.Helper.LOGDS(r2, r3, r1) + goto L6c + L43: + java.lang.String r0 = "Facebook" + java.lang.StringBuilder r2 = new java.lang.StringBuilder + r2.() + java.lang.String r3 = "Response of FB Graph request " + r2.append(r3) + com.ea.nimble.FacebookImpl$2 r3 = com.ea.nimble.FacebookImpl.AnonymousClass2.this + java.lang.String r3 = r3 + r2.append(r3) + java.lang.String r3 = " returned with data: " + r2.append(r3) + org.json.JSONObject r3 = r6.getJSONObject() + r2.append(r3) + java.lang.String r2 = r2.toString() + java.lang.Object[] r1 = new java.lang.Object[r1] + com.ea.nimble.Log.Helper.LOGDS(r0, r2, r1) + L6b: + r0 = 0 + L6c: + com.ea.nimble.FacebookImpl$2 r1 = com.ea.nimble.FacebookImpl.AnonymousClass2.this + com.ea.nimble.IFacebook$RequestCallback r1 = r4 + if (r1 == 0) goto L7d + com.ea.nimble.FacebookImpl$2 r1 = com.ea.nimble.FacebookImpl.AnonymousClass2.this + com.ea.nimble.IFacebook$RequestCallback r1 = r4 + java.lang.String r6 = r6.getRawResponse() + r1.callback(r6, r0) + L7d: + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.FacebookImpl.AnonymousClass2.AnonymousClass1.onCompleted(com.facebook.GraphResponse):void"); + } + }).executeAsync(); + } + }); + } + + @Override // com.ea.nimble.IFacebook + public void requestUserInfo(HashMap hashMap, IFacebook.RequestCallback requestCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (hashMap == null || !hashMap.containsKey(GraphRequest.FIELDS_PARAM)) { + hashMap = new HashMap<>(); + hashMap.put(GraphRequest.FIELDS_PARAM, "id, email, name, first_name, last_name, gender, link, locale, timezone, updated_time, verified"); + } + sendGraphRequest("/me", hashMap, HttpGet.METHOD_NAME, requestCallback); + } + + @Override // com.ea.nimble.IFacebook + public void requestFriends(HashMap hashMap, IFacebook.RequestCallback requestCallback) { + Log.Helper.LOGPUBLICFUNC(this); + sendGraphRequest("/me/friends", hashMap, HttpGet.METHOD_NAME, requestCallback); + } + + @Override // com.ea.nimble.IFacebook + public boolean hasOpenSession() { + Log.Helper.LOGPUBLICFUNC(this); + AccessToken currentAccessToken = AccessToken.getCurrentAccessToken(); + return (currentAccessToken == null || currentAccessToken.isExpired()) ? false : true; + } + + @Override // com.ea.nimble.IFacebook + public String getAccessToken() { + Log.Helper.LOGPUBLICFUNC(this); + AccessToken currentAccessToken = AccessToken.getCurrentAccessToken(); + if (currentAccessToken != null) { + return currentAccessToken.getToken(); + } + return null; + } + + @Override // com.ea.nimble.IFacebook + public List getPermissions() { + Log.Helper.LOGPUBLICFUNC(this); + AccessToken currentAccessToken = AccessToken.getCurrentAccessToken(); + if (currentAccessToken != null) { + return new ArrayList(currentAccessToken.getPermissions()); + } + return null; + } + + @Override // com.ea.nimble.IFacebook + public Date getTokenExpirationDate() { + Log.Helper.LOGPUBLICFUNC(this); + AccessToken currentAccessToken = AccessToken.getCurrentAccessToken(); + if (currentAccessToken != null) { + return currentAccessToken.getExpires(); + } + return null; + } + + @Override // com.ea.nimble.IFacebook + public String getApplicationId() { + Log.Helper.LOGPUBLICFUNC(this); + AccessToken currentAccessToken = AccessToken.getCurrentAccessToken(); + if (currentAccessToken != null) { + return currentAccessToken.getApplicationId(); + } + return null; + } + + @Override // com.ea.nimble.IFacebook + public void refreshToken() { + Log.Helper.LOGPUBLICFUNC(this); + AccessToken.refreshCurrentAccessTokenAsync(); + } + + @Override // com.ea.nimble.IFacebook + public Map getGraphUser() { + Log.Helper.LOGPUBLICFUNC(this); + Profile currentProfile = Profile.getCurrentProfile(); + if (currentProfile == null) { + return null; + } + HashMap hashMap = new HashMap(); + hashMap.put("first_name", currentProfile.getFirstName()); + hashMap.put("last_name", currentProfile.getLastName()); + hashMap.put("link", currentProfile.getLinkUri()); + hashMap.put("avatar", "https://graph.facebook.com/" + currentProfile.getId() + "/picture"); + hashMap.put("id", currentProfile.getId()); + return hashMap; + } + + @Override // com.ea.nimble.IFacebook + public void retrieveFriends(int i, int i2, final IFacebook.FacebookFriendsCallback facebookFriendsCallback) { + Log.Helper.LOGPUBLICFUNC(this); + HashMap hashMap = new HashMap<>(); + hashMap.put("offset", "" + i); + hashMap.put("limit", "" + i2); + hashMap.put(GraphRequest.FIELDS_PARAM, "name, id, picture.type(normal)"); + sendGraphRequest("/me/friends", hashMap, HttpGet.METHOD_NAME, new IFacebook.RequestCallback() { // from class: com.ea.nimble.FacebookImpl.3 + @Override // com.ea.nimble.IFacebook.RequestCallback + public void callback(String str, Error error) { + NimbleFacebookError nimbleFacebookError; + JSONArray jSONArray = null; + if (error != null) { + nimbleFacebookError = new NimbleFacebookError(NimbleFacebookError.Code.FBSERVER_ERROR, error.toString()); + } else { + try { + jSONArray = new JSONObject(str).getJSONArray(ShareConstants.WEB_DIALOG_PARAM_DATA); + nimbleFacebookError = null; + } catch (JSONException e) { + Log.Helper.LOGE(this, "JSON Exception encountered when parsing the facebook FQL query", new Object[0]); + nimbleFacebookError = new NimbleFacebookError(NimbleFacebookError.Code.RESPONSE_PARSE_ERROR, e.toString()); + } + } + facebookFriendsCallback.callback(Facebook.getComponent(), jSONArray, nimbleFacebookError); + } + }); + } +} diff --git a/app/src/main/java/com/ea/nimble/Global.java b/app/src/main/java/com/ea/nimble/Global.java new file mode 100644 index 0000000..673ed0a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Global.java @@ -0,0 +1,37 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class Global { + public static final String NIMBLE_AUTHENTICATOR_ANONYMOUS = "anonymous"; + public static final String NIMBLE_AUTHENTICATOR_FACEBOOK = "facebook"; + public static final String NIMBLE_AUTHENTICATOR_ORIGIN = "origin"; + public static final String NIMBLE_DOMAIN = "com.ea.nimble"; + public static final String NIMBLE_ID = "Nimble"; + public static final String NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID = "authenticatorId"; + public static final String NIMBLE_IDENTITY_DICTIONARY_KEY_PIDMAP_ID = "pidMapId"; + public static final String NIMBLE_NOTIFICATION_AGE_COMPLIANCE_DOB_UPDATE = "nimble.notification.ageCompliance.dobUpdate"; + public static final String NIMBLE_NOTIFICATION_ATTRIBUTION_DATA_AVAILABLE = "nimble.notification.attributionDataAvailable"; + public static final String NIMBLE_NOTIFICATION_IDENTITY_AUTHENTICATION_UPDATE = "nimble.notification.identity.authentication.update"; + public static final String NIMBLE_NOTIFICATION_IDENTITY_MAIN_AUTHENTICATOR_CHANGE = "nimble.notification.identity.main.authenticator.change"; + public static final String NIMBLE_NOTIFICATION_IDENTITY_PERSONA_INFO_UPDATE = "nimble.notification.identity.authenticator.persona.info.update"; + public static final String NIMBLE_NOTIFICATION_IDENTITY_PID_INFO_UPDATE = "nimble.notification.identity.authenticator.pid.info.update"; + public static final String NIMBLE_NOTIFICATION_IDENTITY_USER_INFO_UPDATE = "nimble.notification.identity.authenticator.user.info.update"; + public static final String NIMBLE_NOTIFICATION_PLAYERIDMAP_CHANGE = "nimble.notification.playerIdMapChange"; + public static final String NIMBLE_RELEASE_VERSION = "1.40.0.39"; + public static final String NIMBLE_SDK_VERSION = "1.40.0.39.0921"; + public static final String NOTIFICATION_CHANNEL_DEFAULT_DESCRIPTION_KEY = "com.ea.nimble.pushtng.channel.description"; + public static final String NOTIFICATION_CHANNEL_DEFAULT_ID = "nimble_default"; + public static final String NOTIFICATION_CHANNEL_DEFAULT_NAME_KEY = "com.ea.nimble.pushtng.channel.name"; + public static final String NOTIFICATION_CHANNEL_DEFAULT_NAME_VALUE = "Default"; + public static final String NOTIFICATION_CHANNEL_LOCAL_NOTIFICATION_ID_KEY = "com.ea.nimble.NimbleLocalNotifications.channel.id"; + public static final String NOTIFICATION_CHANNEL_PUSHTNG_ID_KEY = "com.ea.nimble.pushtng.channel.id"; + public static final String NOTIFICATION_COMPONENT_INDEPENDENT_SETUP_FINISHED = "nimble.notification.componentIndependentSetupFinished"; + public static final String NOTIFICATION_DICTIONARY_KEY_DETAIL_ERROR = "detailError"; + public static final String NOTIFICATION_DICTIONARY_KEY_ERROR = "error"; + public static final String NOTIFICATION_DICTIONARY_KEY_RESULT = "result"; + public static final String NOTIFICATION_DICTIONARY_RESULT_FAIL = "0"; + public static final String NOTIFICATION_DICTIONARY_RESULT_SUCCESS = "1"; + public static final String NOTIFICATION_LANGUAGE_CHANGE = "nimble.notification.languageChange"; + public static final String NOTIFICATION_LOGIN_STATUS_CHANGE = "nimble.notification.loginStatusChange"; + public static final String NOTIFICATION_NETWORK_STATUS_CHANGE = "nimble.notification.networkStatusChange"; +} diff --git a/app/src/main/java/com/ea/nimble/HttpError.java b/app/src/main/java/com/ea/nimble/HttpError.java new file mode 100644 index 0000000..562aaee --- /dev/null +++ b/app/src/main/java/com/ea/nimble/HttpError.java @@ -0,0 +1,15 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class HttpError extends Error { + public static final String ERROR_DOMAIN = "HttpError"; + private static final long serialVersionUID = 1; + + public HttpError(int i, String str, Throwable th) { + super(ERROR_DOMAIN, i, str, th); + } + + public HttpError(int i, String str) { + super(ERROR_DOMAIN, i, str, null); + } +} diff --git a/app/src/main/java/com/ea/nimble/HttpRequest.java b/app/src/main/java/com/ea/nimble/HttpRequest.java new file mode 100644 index 0000000..a0ac49f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/HttpRequest.java @@ -0,0 +1,75 @@ +package com.ea.nimble; + +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.Log; +import java.io.ByteArrayOutputStream; +import java.net.URL; +import java.util.HashMap; + +/* loaded from: classes.dex */ +public class HttpRequest implements IHttpRequest { + private static int DEFAULT_NETWORK_TIMEOUT = 30; + public ByteArrayOutputStream data; + public HashMap headers; + public IHttpRequest.Method method; + public boolean runInBackground; + public String targetFilePath; + public double timeout; + public URL url; + + public HttpRequest() { + this.url = null; + this.method = IHttpRequest.Method.GET; + this.data = new ByteArrayOutputStream(); + this.headers = new HashMap<>(); + this.timeout = DEFAULT_NETWORK_TIMEOUT; + this.targetFilePath = null; + } + + public HttpRequest(URL url) { + this(); + this.url = url; + } + + @Override // com.ea.nimble.IHttpRequest + public URL getUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.url; + } + + @Override // com.ea.nimble.IHttpRequest + public IHttpRequest.Method getMethod() { + Log.Helper.LOGPUBLICFUNC(this); + return this.method; + } + + @Override // com.ea.nimble.IHttpRequest + public byte[] getData() { + Log.Helper.LOGPUBLICFUNC(this); + return this.data.toByteArray(); + } + + @Override // com.ea.nimble.IHttpRequest + public HashMap getHeaders() { + Log.Helper.LOGPUBLICFUNC(this); + return this.headers; + } + + @Override // com.ea.nimble.IHttpRequest + public double getTimeout() { + Log.Helper.LOGPUBLICFUNC(this); + return this.timeout; + } + + @Override // com.ea.nimble.IHttpRequest + public String getTargetFilePath() { + Log.Helper.LOGPUBLICFUNC(this); + return this.targetFilePath; + } + + @Override // com.ea.nimble.IHttpRequest + public boolean getRunInBackground() { + Log.Helper.LOGPUBLICFUNC(this); + return this.runInBackground; + } +} diff --git a/app/src/main/java/com/ea/nimble/HttpResponse.java b/app/src/main/java/com/ea/nimble/HttpResponse.java new file mode 100644 index 0000000..324085a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/HttpResponse.java @@ -0,0 +1,81 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; +import java.io.InputStream; +import java.net.URL; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +public class HttpResponse implements IHttpResponse { + public Exception error; + public URL url = null; + public boolean isCompleted = false; + public int statusCode = 0; + public HashMap headers = new HashMap<>(); + public long expectedContentLength = 0; + public long downloadedContentLength = 0; + public long lastModified = -1; + public ByteBufferIOStream data = new ByteBufferIOStream(); + + @Override // com.ea.nimble.IHttpResponse + public boolean isCompleted() { + Log.Helper.LOGPUBLICFUNC(this); + return this.isCompleted; + } + + @Override // com.ea.nimble.IHttpResponse + public URL getUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.url; + } + + @Override // com.ea.nimble.IHttpResponse + public int getStatusCode() { + Log.Helper.LOGPUBLICFUNC(this); + return this.statusCode; + } + + @Override // com.ea.nimble.IHttpResponse + public Map getHeaders() { + Log.Helper.LOGPUBLICFUNC(this); + return this.headers; + } + + @Override // com.ea.nimble.IHttpResponse + public long getExpectedContentLength() { + Log.Helper.LOGPUBLICFUNC(this); + return this.expectedContentLength; + } + + @Override // com.ea.nimble.IHttpResponse + public long getDownloadedContentLength() { + Log.Helper.LOGPUBLICFUNC(this); + return this.downloadedContentLength; + } + + @Override // com.ea.nimble.IHttpResponse + public Date getLastModified() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.lastModified == 0) { + return new Date(); + } + if (this.lastModified > 0) { + return new Date(this.lastModified); + } + return null; + } + + @Override // com.ea.nimble.IHttpResponse + public InputStream getDataStream() { + Log.Helper.LOGPUBLICFUNC(this); + return this.data.getInputStream(); + } + + @Override // com.ea.nimble.IHttpResponse + public Exception getError() { + Log.Helper.LOGPUBLICFUNC(this); + return this.error; + } +} diff --git a/app/src/main/java/com/ea/nimble/IApplicationEnvironment.java b/app/src/main/java/com/ea/nimble/IApplicationEnvironment.java new file mode 100644 index 0000000..9c241a4 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IApplicationEnvironment.java @@ -0,0 +1,89 @@ +package com.ea.nimble; + +import android.content.Context; +import java.util.Map; + +/* loaded from: classes.dex */ +public interface IApplicationEnvironment { + public static final String UNAVAILABLE_ADVERTISING_ID = ""; + + public interface AdvertisingIdCalback { + void onCallback(String str, boolean z); + } + + public interface SafetyNetAttestationCallback { + void onCallback(String str, Error error); + } + + String getAdvertisingId(); + + int getAgeCompliance(); + + String getAndroidId(); + + String getApplicationBundleId(); + + Context getApplicationContext(); + + String getApplicationLanguageCode(); + + String getApplicationName(); + + String getApplicationVersion(); + + String getCachePath(); + + String getCarrier(); + + String getCurrencyCode(); + + String getDeviceBrand(); + + String getDeviceCodename(); + + String getDeviceFingerprint(); + + String getDeviceManufacturer(); + + String getDeviceModel(); + + String getDeviceString(); + + String getDocumentPath(); + + String getGameSpecifiedPlayerId(); + + String getGoogleAdvertisingId(); + + String getGoogleEmail(); + + boolean getIadAttribution(); + + String getOsVersion(); + + String getParameter(String str); + + Map getPlayerIdMap(); + + String getShortApplicationLanguageCode(); + + String getTempPath(); + + boolean isAppCracked(); + + boolean isDeviceRooted(); + + boolean isLimitAdTrackingEnabled(); + + void refreshAgeCompliance(); + + void requestSafetyNetAttestation(byte[] bArr, SafetyNetAttestationCallback safetyNetAttestationCallback); + + void retrieveAdvertisingId(AdvertisingIdCalback advertisingIdCalback); + + void setApplicationLanguageCode(String str); + + void setGameSpecifiedPlayerId(String str); + + void setPlayerId(String str, String str2); +} diff --git a/app/src/main/java/com/ea/nimble/IApplicationLifecycle.java b/app/src/main/java/com/ea/nimble/IApplicationLifecycle.java new file mode 100644 index 0000000..39082b9 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IApplicationLifecycle.java @@ -0,0 +1,134 @@ +package com.ea.nimble; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +/* loaded from: classes.dex */ +public interface IApplicationLifecycle { + + public interface ActivityEventCallbacks { + void onActivityResult(Activity activity, int i, int i2, Intent intent); + + boolean onBackPressed(); + + void onNewIntent(Activity activity, Intent intent); + + void onWindowFocusChanged(boolean z); + } + + public static class ActivityEventHandler implements ActivityEventCallbacks { + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onActivityResult(Activity activity, int i, int i2, Intent intent) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public boolean onBackPressed() { + return true; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onNewIntent(Activity activity, Intent intent) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onWindowFocusChanged(boolean z) { + } + } + + public interface ActivityLifecycleCallbacks { + void onActivityCreated(Activity activity, Bundle bundle); + + void onActivityDestroyed(Activity activity); + + void onActivityPaused(Activity activity); + + void onActivityResumed(Activity activity); + + void onActivitySaveInstanceState(Activity activity, Bundle bundle); + + void onActivityStarted(Activity activity); + + void onActivityStopped(Activity activity); + } + + public static class ActivityLifecycleHandler implements ActivityLifecycleCallbacks { + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityCreated(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityDestroyed(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityPaused(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityResumed(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStarted(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStopped(Activity activity) { + } + } + + public interface ApplicationLifecycleCallbacks { + void onApplicationLaunch(Intent intent); + + void onApplicationQuit(); + + void onApplicationResume(); + + void onApplicationSuspend(); + } + + boolean handleBackPressed(); + + void notifyActivityCreate(Bundle bundle, Activity activity); + + void notifyActivityDestroy(Activity activity); + + void notifyActivityOnNewIntent(Intent intent, Activity activity); + + void notifyActivityPause(Activity activity); + + void notifyActivityRestart(Activity activity); + + void notifyActivityRestoreInstanceState(Bundle bundle, Activity activity); + + void notifyActivityResult(int i, int i2, Intent intent, Activity activity); + + void notifyActivityResume(Activity activity); + + void notifyActivityRetainNonConfigurationInstance(); + + void notifyActivitySaveInstanceState(Bundle bundle, Activity activity); + + void notifyActivityStart(Activity activity); + + void notifyActivityStop(Activity activity); + + void notifyActivityWindowFocusChanged(boolean z, Activity activity); + + void registerActivityEventCallbacks(ActivityEventCallbacks activityEventCallbacks); + + void registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks activityLifecycleCallbacks); + + void registerApplicationLifecycleCallbacks(ApplicationLifecycleCallbacks applicationLifecycleCallbacks); + + void unregisterActivityEventCallbacks(ActivityEventCallbacks activityEventCallbacks); + + void unregisterActivityLifecycleCallbacks(ActivityLifecycleCallbacks activityLifecycleCallbacks); + + void unregisterApplicationLifecycleCallbacks(ApplicationLifecycleCallbacks applicationLifecycleCallbacks); +} diff --git a/app/src/main/java/com/ea/nimble/IFacebook.java b/app/src/main/java/com/ea/nimble/IFacebook.java new file mode 100644 index 0000000..2dfc7ea --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IFacebook.java @@ -0,0 +1,44 @@ +package com.ea.nimble; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.json.JSONArray; + +/* loaded from: classes.dex */ +public interface IFacebook { + public static final String NIMBLE_NOTIFICATION_FACEBOOK_STATUS_CHANGED = "nimble.notification.facebook.statuschanged"; + + public interface FacebookFriendsCallback { + void callback(IFacebook iFacebook, JSONArray jSONArray, Error error); + } + + public interface RequestCallback { + void callback(String str, Error error); + } + + String getAccessToken(); + + String getApplicationId(); + + Map getGraphUser(); + + List getPermissions(); + + Date getTokenExpirationDate(); + + boolean hasOpenSession(); + + void login(List list, RequestCallback requestCallback); + + void logout(); + + void refreshToken(); + + void requestFriends(HashMap hashMap, RequestCallback requestCallback); + + void requestUserInfo(HashMap hashMap, RequestCallback requestCallback); + + void retrieveFriends(int i, int i2, FacebookFriendsCallback facebookFriendsCallback); +} diff --git a/app/src/main/java/com/ea/nimble/IHttpRequest.java b/app/src/main/java/com/ea/nimble/IHttpRequest.java new file mode 100644 index 0000000..e954062 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IHttpRequest.java @@ -0,0 +1,60 @@ +/* + * Decompiled with CFR 0.152. + */ +package com.ea.nimble; + +import java.net.URL; +import java.util.EnumSet; +import java.util.Map; + +public interface IHttpRequest { + byte[] getData(); + + Map getHeaders(); + + Method getMethod(); + + EnumSet getOverwritePolicy(); + + boolean getRunInBackground(); + + String getTargetFilePath(); + + double getTimeout(); + + URL getUrl(); + + static enum Method { + GET("GET"), + HEAD("HEAD"), + POST("POST"), + PUT("PUT"), + DELETE("DELETE"), + UNRECOGNIZED("UNRECOGNIZED"); + + private String title; + + Method(String title) { + this.title = title; + } + + public String toString() { + return title; + } + } + + enum OverwritePolicy { + RESUME_DOWNLOAD, + DATE_CHECK, + LENGTH_CHECK; + + static final EnumSet OVERWRITE; + static final EnumSet SMART; + + static { + OVERWRITE = EnumSet.noneOf(OverwritePolicy.class); + SMART = EnumSet.allOf(OverwritePolicy.class); + } + } +} + diff --git a/app/src/main/java/com/ea/nimble/IHttpResponse.java b/app/src/main/java/com/ea/nimble/IHttpResponse.java new file mode 100644 index 0000000..a562a57 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IHttpResponse.java @@ -0,0 +1,27 @@ +package com.ea.nimble; + +import java.io.InputStream; +import java.net.URL; +import java.util.Date; +import java.util.Map; + +/* loaded from: classes.dex */ +public interface IHttpResponse { + InputStream getDataStream(); + + long getDownloadedContentLength(); + + Exception getError(); + + long getExpectedContentLength(); + + Map getHeaders(); + + Date getLastModified(); + + int getStatusCode(); + + URL getUrl(); + + boolean isCompleted(); +} diff --git a/app/src/main/java/com/ea/nimble/ILog.java b/app/src/main/java/com/ea/nimble/ILog.java new file mode 100644 index 0000000..90f1124 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ILog.java @@ -0,0 +1,21 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface ILog { + + public interface LogCallback { + void callback(int i, String str, String str2); + } + + String getLogFilePath(); + + int getThresholdLevel(); + + void setLogCallback(LogCallback logCallback); + + void setThresholdLevel(int i); + + void writeWithSource(int i, Object obj, String str, Object... objArr); + + void writeWithTitle(int i, String str, String str2, Object... objArr); +} diff --git a/app/src/main/java/com/ea/nimble/INetwork.java b/app/src/main/java/com/ea/nimble/INetwork.java new file mode 100644 index 0000000..158fafe --- /dev/null +++ b/app/src/main/java/com/ea/nimble/INetwork.java @@ -0,0 +1,24 @@ +package com.ea.nimble; + +import com.ea.nimble.Network; +import java.net.URL; +import java.util.HashMap; + +/* loaded from: classes.dex */ +public interface INetwork { + void forceRedetectNetworkStatus(); + + Network.Status getStatus(); + + boolean isNetworkWifi(); + + NetworkConnectionHandle sendDeleteRequest(URL url, HashMap hashMap, NetworkConnectionCallback networkConnectionCallback); + + NetworkConnectionHandle sendGetRequest(URL url, HashMap hashMap, NetworkConnectionCallback networkConnectionCallback); + + NetworkConnectionHandle sendPostRequest(URL url, HashMap hashMap, byte[] bArr, NetworkConnectionCallback networkConnectionCallback); + + NetworkConnectionHandle sendRequest(HttpRequest httpRequest, NetworkConnectionCallback networkConnectionCallback); + + NetworkConnectionHandle sendRequest(HttpRequest httpRequest, NetworkConnectionCallback networkConnectionCallback, IOperationalTelemetryDispatch iOperationalTelemetryDispatch); +} diff --git a/app/src/main/java/com/ea/nimble/INimbleBadgeProvider.java b/app/src/main/java/com/ea/nimble/INimbleBadgeProvider.java new file mode 100644 index 0000000..a645fe6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/INimbleBadgeProvider.java @@ -0,0 +1,8 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface INimbleBadgeProvider { + int getBadgeCount(); + + Error setBadgeCount(int i, String str, String str2); +} diff --git a/app/src/main/java/com/ea/nimble/INimbleLocalNotifications.java b/app/src/main/java/com/ea/nimble/INimbleLocalNotifications.java new file mode 100644 index 0000000..33b3c0e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/INimbleLocalNotifications.java @@ -0,0 +1,22 @@ +package com.ea.nimble; + +import java.util.Date; + +/* loaded from: classes.dex */ +public interface INimbleLocalNotifications { + void cancelAllNotifications(); + + void cancelNotification(String str); + + int getBadgeCount(); + + boolean isEnabled(); + + Error scheduleNotification(String str, String str2, String str3, Date date); + + Error setBadgeCount(int i, String str, String str2); + + void setBadgeProvider(INimbleBadgeProvider iNimbleBadgeProvider); + + void setEnabled(boolean z); +} diff --git a/app/src/main/java/com/ea/nimble/IOperationalTelemetryDispatch.java b/app/src/main/java/com/ea/nimble/IOperationalTelemetryDispatch.java new file mode 100644 index 0000000..7d22b84 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IOperationalTelemetryDispatch.java @@ -0,0 +1,20 @@ +package com.ea.nimble; + +import java.util.List; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public interface IOperationalTelemetryDispatch { + public static final String EVENTTYPE_NETWORK_METRICS = "com.ea.nimble.network"; + public static final String EVENTTYPE_TRACKING_SYNERGY_PAYLOADS = "com.ea.nimble.trackingimpl.synergy"; + public static final int NIMBLE_DEFAULT_MAX_OT_EVENT_COUNT = 100; + public static final String NOTIFICATION_OT_EVENT_THRESHOLD_WARNING = "nimble.notification.ot.eventthresholdwarning"; + + List getEvents(String str); + + int getMaxEventCount(String str); + + void logEvent(String str, JSONObject jSONObject); + + void setMaxEventCount(String str, int i); +} diff --git a/app/src/main/java/com/ea/nimble/IPersistenceService.java b/app/src/main/java/com/ea/nimble/IPersistenceService.java new file mode 100644 index 0000000..6267c05 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/IPersistenceService.java @@ -0,0 +1,17 @@ +package com.ea.nimble; + +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; + +/* loaded from: classes.dex */ +public interface IPersistenceService { + void cleanPersistenceReference(String str, Persistence.Storage storage); + + Persistence getPersistence(String str, Persistence.Storage storage); + + void migratePersistence(String str, Persistence.Storage storage, String str2, PersistenceService.PersistenceMergePolicy persistenceMergePolicy); + + void removePersistence(String str, Persistence.Storage storage); + + void wipeAllDataAndForceTerminate(); +} diff --git a/app/src/main/java/com/ea/nimble/ISynergyEnvironment.java b/app/src/main/java/com/ea/nimble/ISynergyEnvironment.java new file mode 100644 index 0000000..55d807e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ISynergyEnvironment.java @@ -0,0 +1,46 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface ISynergyEnvironment { + public static final int NETWORK_CONNECTION_NONE = 1; + public static final int NETWORK_CONNECTION_UNKNOWN = 0; + public static final int NETWORK_CONNECTION_WIFI = 2; + public static final int NETWORK_CONNECTION_WIRELESS = 3; + public static final int SYNERGY_APP_VERSION_OK = 0; + public static final int SYNERGY_APP_VERSION_UPDATE_RECOMMENDED = 1; + public static final int SYNERGY_APP_VERSION_UPDATE_REQUIRED = 2; + + Error checkAndInitiateSynergyEnvironmentUpdate(); + + String getEADeviceId(); + + String getEAHardwareId(); + + String getGosMdmAppKey(); + + int getLatestAppVersionCheckResult(); + + String getNexusClientId(); + + String getNexusClientSecret(); + + String getProductId(); + + String getSellId(); + + String getServerUrlWithKey(String str); + + String getSynergyDirectorServerUrl(NimbleConfiguration nimbleConfiguration); + + String getSynergyId(); + + int getTrackingPostInterval(); + + boolean isDataAvailable(); + + boolean isFeatureDisabled(String str); + + boolean isUpdateInProgress(); + + Error setServerUrl(String str, String str2); +} diff --git a/app/src/main/java/com/ea/nimble/ISynergyIdManager.java b/app/src/main/java/com/ea/nimble/ISynergyIdManager.java new file mode 100644 index 0000000..ad4711e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ISynergyIdManager.java @@ -0,0 +1,12 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface ISynergyIdManager { + String getAnonymousSynergyId(); + + String getSynergyId(); + + SynergyIdManagerError login(String str, String str2); + + SynergyIdManagerError logout(String str); +} diff --git a/app/src/main/java/com/ea/nimble/ISynergyNetwork.java b/app/src/main/java/com/ea/nimble/ISynergyNetwork.java new file mode 100644 index 0000000..193c794 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ISynergyNetwork.java @@ -0,0 +1,15 @@ +package com.ea.nimble; + +import com.ea.nimble.ISynergyRequest; +import java.util.Map; + +/* loaded from: classes.dex */ +public interface ISynergyNetwork { + SynergyNetworkConnectionHandle sendGetRequest(String str, String str2, Map map, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback); + + SynergyNetworkConnectionHandle sendPostRequest(String str, String str2, Map map, ISynergyRequest.IJsonData iJsonData, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback); + + SynergyNetworkConnectionHandle sendPostRequest(String str, String str2, Map map, ISynergyRequest.IJsonData iJsonData, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback, Map map2); + + void sendRequest(SynergyRequest synergyRequest, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback); +} diff --git a/app/src/main/java/com/ea/nimble/ISynergyRequest.java b/app/src/main/java/com/ea/nimble/ISynergyRequest.java new file mode 100644 index 0000000..b40b575 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ISynergyRequest.java @@ -0,0 +1,23 @@ +package com.ea.nimble; + +import java.util.Map; + +/* loaded from: classes.dex */ +public interface ISynergyRequest { + + public interface IJsonData { + Object getData(); + + int size(); + } + + String getApi(); + + String getBaseUrl(); + + IHttpRequest getHttpRequest(); + + IJsonData getJsonData(); + + Map getUrlParameters(); +} diff --git a/app/src/main/java/com/ea/nimble/ISynergyResponse.java b/app/src/main/java/com/ea/nimble/ISynergyResponse.java new file mode 100644 index 0000000..409cea8 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ISynergyResponse.java @@ -0,0 +1,14 @@ +package com.ea.nimble; + +import java.util.Map; + +/* loaded from: classes.dex */ +public interface ISynergyResponse { + Exception getError(); + + IHttpResponse getHttpResponse(); + + Map getJsonData(); + + boolean isCompleted(); +} diff --git a/app/src/main/java/com/ea/nimble/Log.java b/app/src/main/java/com/ea/nimble/Log.java new file mode 100644 index 0000000..583a380 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Log.java @@ -0,0 +1,113 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class Log { + public static final String COMPONENT_ID = "com.ea.nimble.NimbleLog"; + public static final int LEVEL_ALL = 0; + public static final int LEVEL_DEBUG = 200; + public static final int LEVEL_ERROR = 500; + public static final int LEVEL_FATAL = 600; + public static final int LEVEL_INFO = 300; + public static final int LEVEL_SILENT = 700; + public static final int LEVEL_VERBOSE = 100; + public static final int LEVEL_WARN = 400; + private static ILog s_instance; + + public static class Helper { + public static void LOGV(Object obj, String str, Object... objArr) { + Log.getComponent().writeWithSource(100, obj, str, objArr); + } + + public static void LOGD(Object obj, String str, Object... objArr) { + Log.getComponent().writeWithSource(200, obj, str, objArr); + } + + public static void LOGI(Object obj, String str, Object... objArr) { + Log.getComponent().writeWithSource(300, obj, str, objArr); + } + + public static void LOGW(Object obj, String str, Object... objArr) { + Log.getComponent().writeWithSource(400, obj, str, objArr); + } + + public static void LOGE(Object obj, String str, Object... objArr) { + Log.getComponent().writeWithSource(500, obj, str, objArr); + } + + public static void LOGF(Object obj, String str, Object... objArr) { + Log.getComponent().writeWithSource(Log.LEVEL_FATAL, obj, str, objArr); + } + + public static void LOGVS(String str, String str2, Object... objArr) { + Log.getComponent().writeWithTitle(100, str, str2, objArr); + } + + public static void LOGDS(String str, String str2, Object... objArr) { + Log.getComponent().writeWithTitle(200, str, str2, objArr); + } + + public static void LOGIS(String str, String str2, Object... objArr) { + Log.getComponent().writeWithTitle(300, str, str2, objArr); + } + + public static void LOGWS(String str, String str2, Object... objArr) { + Log.getComponent().writeWithTitle(400, str, str2, objArr); + } + + public static void LOGES(String str, String str2, Object... objArr) { + Log.getComponent().writeWithTitle(500, str, str2, objArr); + } + + public static void LOGFS(String str, String str2, Object... objArr) { + Log.getComponent().writeWithTitle(Log.LEVEL_FATAL, str, str2, objArr); + } + + public static void LOG(int i, String str, Object... objArr) { + Log.getComponent().writeWithTitle(i, null, str, objArr); + } + + private static String getMethodString() { + StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[4]; + return stackTraceElement.getMethodName() + " [Line " + stackTraceElement.getLineNumber() + "] called..."; + } + + public static void LOGFUNC(Object obj) { + ILog component = Log.getComponent(); + if (component.getThresholdLevel() <= 0) { + component.writeWithSource(0, obj, getMethodString(), new Object[0]); + } + } + + public static void LOGPUBLICFUNC(Object obj) { + ILog component = Log.getComponent(); + if (component.getThresholdLevel() <= 100) { + component.writeWithSource(100, obj, getMethodString(), new Object[0]); + } + } + + public static void LOGFUNCS(String str) { + ILog component = Log.getComponent(); + if (component.getThresholdLevel() <= 0) { + component.writeWithTitle(0, str, getMethodString(), new Object[0]); + } + } + + public static void LOGPUBLICFUNCS(String str) { + ILog component = Log.getComponent(); + if (component.getThresholdLevel() <= 100) { + component.writeWithTitle(100, str, getMethodString(), new Object[0]); + } + } + } + + public static synchronized ILog getComponent() { + ILog iLog; + synchronized (Log.class) { + if (s_instance == null) { + s_instance = new LogImpl(); + } + iLog = s_instance; + } + return iLog; + } +} diff --git a/app/src/main/java/com/ea/nimble/LogImpl.java b/app/src/main/java/com/ea/nimble/LogImpl.java new file mode 100644 index 0000000..3b64f77 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/LogImpl.java @@ -0,0 +1,461 @@ +package com.ea.nimble; + +import android.content.pm.PackageManager; +import android.os.Environment; +import android.support.v4.media.session.PlaybackStateCompat; +import com.ea.nimble.ILog; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.charset.Charset; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.Locale; +import java.util.Map; +import org.apache.http.HttpHeaders; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public class LogImpl extends Component implements ILog { + private static final int DEFAULT_CHECK_INTERVAL = 3600; + private static final int DEFAULT_CONSOLE_OUTPUT_LIMIT = 4000; + private static final int DEFAULT_MESSAGE_LENGTH_LIMIT = 1000; + private static final int DEFAULT_SIZE_LIMIT = 1024; + private int m_messageLengthLimit; + private int m_sizeLimit; + private BaseCore m_core = null; + private int m_level = 0; + private File m_filePath = null; + private FileOutputStream m_logFileStream = null; + private DateFormat m_format = null; + private Timer m_guardTimer = null; + private int m_interval = 0; + private ArrayList m_cache = new ArrayList<>(); + private ILog.LogCallback m_callback = null; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return Log.COMPONENT_ID; + } + + private class GuardTask implements Runnable { + private GuardTask() { + } + + @Override // java.lang.Runnable + public void run() { + if (LogImpl.this.m_filePath == null || LogImpl.this.m_filePath.length() <= LogImpl.this.m_sizeLimit * PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) { + return; + } + LogImpl.this.clearLog(); + } + } + + private static class LogRecord { + public int level; + public String message; + + private LogRecord() { + } + } + + LogImpl() { + } + + @Override // com.ea.nimble.Component + public void setup() { + configure(); + } + + @Override // com.ea.nimble.Component + public void suspend() { + if (this.m_guardTimer != null) { + this.m_guardTimer.pause(); + } + } + + @Override // com.ea.nimble.Component + public void resume() { + if (this.m_guardTimer != null) { + this.m_guardTimer.fire(); + this.m_guardTimer.resume(); + } + } + + @Override // com.ea.nimble.Component + public void teardown() { + if (this.m_guardTimer != null) { + this.m_guardTimer.cancel(); + this.m_guardTimer = null; + } + if (this.m_logFileStream != null) { + try { + this.m_logFileStream.close(); + } catch (IOException unused) { + android.util.Log.e(Global.NIMBLE_ID, "LOG: Can't close log file"); + } + this.m_logFileStream = null; + } + } + + @Override // com.ea.nimble.ILog + public int getThresholdLevel() { + return this.m_level; + } + + @Override // com.ea.nimble.ILog + public void setThresholdLevel(int i) { + this.m_level = i; + } + + @Override // com.ea.nimble.ILog + public String getLogFilePath() { + if (this.m_filePath != null) { + return this.m_filePath.toString(); + } + return null; + } + + @Override // com.ea.nimble.ILog + public void setLogCallback(ILog.LogCallback logCallback) { + this.m_callback = logCallback; + } + + @Override // com.ea.nimble.ILog + public void writeWithSource(int i, Object obj, String str, Object... objArr) { + String str2 = ""; + if (obj instanceof LogSource) { + str2 = ((LogSource) obj).getLogSourceTitle(); + } else if (obj != null) { + str2 = obj.getClass().getName(); + } + writeWithTitle(i, str2, str, objArr); + } + + @Override // com.ea.nimble.ILog + public void writeWithTitle(int i, String str, String str2, Object... objArr) { + if (i < this.m_level || !Utility.validString(str2)) { + return; + } + if (objArr.length > 0) { + str2 = String.format(str2, objArr); + } + write(i, str, str2); + if (this.m_callback != null) { + this.m_callback.callback(i, str, str2); + } + } + + protected void connectToCore(BaseCore baseCore) { + this.m_core = baseCore; + configure(); + flushCache(); + } + + protected void disconnectFromCore() { + this.m_core = null; + } + + private void configure() { + boolean z = this.m_level == 0; + Map settings = this.m_core.getSettings(BaseCore.NIMBLE_LOG_SETTING); + if (settings == null) { + int parseLevel = parseLevel(null); + if (parseLevel != this.m_level) { + this.m_level = parseLevel; + android.util.Log.i(Global.NIMBLE_ID, String.format("LOG: Default Log level(%d) without log configuration file", Integer.valueOf(this.m_level))); + return; + } + return; + } + int parseLevel2 = parseLevel(settings.get("Level")); + if (parseLevel2 != this.m_level) { + this.m_level = parseLevel2; + android.util.Log.i(Global.NIMBLE_ID, String.format("LOG: Log level(%d)", Integer.valueOf(this.m_level))); + } + if (this.m_level <= 100) { + this.m_messageLengthLimit = 0; + } else { + String str = settings.get("MessageLengthLimit"); + if (str == null) { + this.m_messageLengthLimit = 1000; + } else { + try { + this.m_messageLengthLimit = Integer.parseInt(str); + if (this.m_messageLengthLimit < 0) { + this.m_messageLengthLimit = 1000; + } + } catch (NumberFormatException unused) { + this.m_messageLengthLimit = 1000; + } + } + } + String str2 = settings.get("File"); + if (!Utility.validString(str2)) { + if (z || this.m_filePath != null) { + this.m_filePath = null; + this.m_logFileStream = null; + this.m_interval = 0; + android.util.Log.i(Global.NIMBLE_ID, "LOG: Disable log to file since no filename provided"); + return; + } + return; + } + String str3 = settings.get(HttpHeaders.LOCATION); + String str4 = ApplicationEnvironment.getComponent().getCachePath() + File.separator + str2; + if (Utility.validString(str3) && str3.equalsIgnoreCase("external") && Environment.getExternalStorageState().equals("mounted")) { + String name = ApplicationEnvironment.getCurrentActivity().getClass().getPackage().getName(); + try { + PackageManager packageManager = ApplicationEnvironment.getCurrentActivity().getPackageManager(); + if (packageManager != null) { + name = packageManager.getPackageInfo(ApplicationEnvironment.getCurrentActivity().getPackageName(), 0).packageName; + } + } catch (Exception unused2) { + } + File file = new File(Environment.getExternalStorageDirectory(), name); + boolean exists = file.exists(); + if (!exists) { + exists = file.mkdir(); + } + if (exists) { + str4 = file + File.separator + str2; + } + } + File file2 = new File(str4); + if (file2 != this.m_filePath) { + this.m_filePath = file2; + try { + this.m_logFileStream = new FileOutputStream(this.m_filePath, true); + android.util.Log.d(Global.NIMBLE_ID, "LOG: File path: " + this.m_filePath.toString()); + } catch (FileNotFoundException unused3) { + android.util.Log.e(Global.NIMBLE_ID, "LOG: Can't create log file at " + str4); + this.m_filePath = null; + return; + } + } + String str5 = settings.get("DateFormat"); + if (str5 != null && str5.length() > 0) { + this.m_format = new SimpleDateFormat(str5, Locale.getDefault()); + } else { + this.m_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.getDefault()); + } + try { + this.m_interval = Integer.parseInt(settings.get("FileCheckInterval")); + if (this.m_interval <= 0) { + this.m_interval = DEFAULT_CHECK_INTERVAL; + } + } catch (NumberFormatException unused4) { + this.m_interval = DEFAULT_CHECK_INTERVAL; + } + try { + this.m_sizeLimit = Integer.parseInt(settings.get("MaxFileSize")); + if (this.m_sizeLimit <= 0) { + this.m_sizeLimit = 1024; + } + } catch (NumberFormatException unused5) { + this.m_sizeLimit = 1024; + } + GuardTask guardTask = new GuardTask(); + guardTask.run(); + this.m_guardTimer = new Timer(guardTask); + this.m_guardTimer.schedule(this.m_interval, true); + } + + private void flushCache() { + Iterator it = this.m_cache.iterator(); + while (it.hasNext()) { + LogRecord next = it.next(); + writeLine(next.level, next.message); + } + this.m_cache = null; + } + + private int parseLevel(String str) { + try { + if (Utility.validString(str)) { + int parseInt = Integer.parseInt(str); + if (parseInt != 0) { + return parseInt; + } + } + } catch (NumberFormatException unused) { + if (str.equalsIgnoreCase("all")) { + return 0; + } + if (str.equalsIgnoreCase("verbose")) { + return 100; + } + if (str.equalsIgnoreCase("debug")) { + return 200; + } + if (str.equalsIgnoreCase("info")) { + return 300; + } + if (str.equalsIgnoreCase("warn")) { + return 400; + } + if (str.equalsIgnoreCase("error")) { + return 500; + } + if (str.equalsIgnoreCase("fatal")) { + return Log.LEVEL_FATAL; + } + if (str.equalsIgnoreCase("silent")) { + return Log.LEVEL_SILENT; + } + } + return (this.m_core.getConfiguration() == NimbleConfiguration.INTEGRATION || this.m_core.getConfiguration() == NimbleConfiguration.STAGE) ? 100 : 500; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void clearLog() { + try { + this.m_logFileStream.close(); + this.m_logFileStream = new FileOutputStream(this.m_filePath, false); + } catch (IOException unused) { + android.util.Log.e(Global.NIMBLE_ID, "LOG: Can't clear log file"); + } + } + + private void writeLine(int i, String str) { + int i2 = 0; + if (i == 0) { + String[] formatLine = formatLine("NIM_ALL", str); + int length = formatLine.length; + while (i2 < length) { + String str2 = formatLine[i2]; + android.util.Log.v(Global.NIMBLE_ID, str2); + outputMessageToFile(str2); + i2++; + } + } else if (i == 100) { + String[] formatLine2 = formatLine("NIM_VERBOSE", str); + int length2 = formatLine2.length; + while (i2 < length2) { + String str3 = formatLine2[i2]; + android.util.Log.v(Global.NIMBLE_ID, str3); + outputMessageToFile(str3); + i2++; + } + } else if (i == 200) { + String[] formatLine3 = formatLine("NIM_DEBUG", str); + int length3 = formatLine3.length; + while (i2 < length3) { + String str4 = formatLine3[i2]; + android.util.Log.d(Global.NIMBLE_ID, str4); + outputMessageToFile(str4); + i2++; + } + } else if (i == 300) { + String[] formatLine4 = formatLine("NIM_INFO", str); + int length4 = formatLine4.length; + while (i2 < length4) { + String str5 = formatLine4[i2]; + android.util.Log.i(Global.NIMBLE_ID, str5); + outputMessageToFile(str5); + i2++; + } + } else if (i == 400) { + String[] formatLine5 = formatLine("NIM_WARN", str); + int length5 = formatLine5.length; + while (i2 < length5) { + String str6 = formatLine5[i2]; + android.util.Log.w(Global.NIMBLE_ID, str6); + outputMessageToFile(str6); + i2++; + } + } else if (i == 500) { + String[] formatLine6 = formatLine("NIM_ERROR", str); + int length6 = formatLine6.length; + while (i2 < length6) { + String str7 = formatLine6[i2]; + android.util.Log.e(Global.NIMBLE_ID, str7); + outputMessageToFile(str7); + i2++; + } + } else if (i == 600) { + String[] formatLine7 = formatLine("NIM_FATAL", str); + String str8 = formatLine7[0]; + while (i2 < formatLine7.length - 1) { + android.util.Log.e(Global.NIMBLE_ID, str8); + outputMessageToFile(str8); + i2++; + str8 = formatLine7[i2]; + } + android.util.Log.wtf(Global.NIMBLE_ID, str8); + outputMessageToFile(str8); + } else { + String[] formatLine8 = formatLine(String.format("NIM(%d)", Integer.valueOf(i)), str); + String str9 = formatLine8[0]; + while (i2 < formatLine8.length - 1) { + android.util.Log.e(Global.NIMBLE_ID, str9); + outputMessageToFile(str9); + i2++; + str9 = formatLine8[i2]; + } + android.util.Log.wtf(Global.NIMBLE_ID, str9); + outputMessageToFile(str9); + } + if (i >= 600) { + if (this.m_core.getConfiguration() == NimbleConfiguration.INTEGRATION || this.m_core.getConfiguration() == NimbleConfiguration.STAGE) { + throw new AssertionError(str); + } + } + } + + private void write(int i, String str, String str2) { + String str3; + if (Utility.validString(str)) { + str3 = str + "> " + str2; + } else { + str3 = " " + str2; + } + if (this.m_cache != null) { + LogRecord logRecord = new LogRecord(); + logRecord.level = i; + logRecord.message = str3; + this.m_cache.add(logRecord); + return; + } + writeLine(i, str3); + } + + private String[] formatLine(String str, String str2) { + String str3 = str + ">" + str2; + int length = str3.length(); + int i = 0; + if (length > this.m_messageLengthLimit && this.m_messageLengthLimit != 0) { + str3 = str3.substring(0, this.m_messageLengthLimit) + String.format("... and %d chars more", Integer.valueOf(length - this.m_messageLengthLimit)); + length = str3.length(); + } + double d = length; + Double.isNaN(d); + String[] strArr = new String[(int) Math.ceil(d / 4000.0d)]; + while (i < length) { + int i2 = i + DEFAULT_CONSOLE_OUTPUT_LIMIT; + if (i2 < length) { + strArr[i / DEFAULT_CONSOLE_OUTPUT_LIMIT] = str3.substring(i, i2); + } else { + strArr[i / DEFAULT_CONSOLE_OUTPUT_LIMIT] = str3.substring(i); + } + i = i2; + } + return strArr; + } + + private void outputMessageToFile(String str) { + String property = System.getProperty("line.separator"); + if (this.m_logFileStream != null) { + try { + this.m_logFileStream.write((this.m_format.format(new Date()) + " " + str + property).getBytes(Charset.forName(HTTP.UTF_8))); + this.m_logFileStream.flush(); + } catch (IOException e) { + android.util.Log.e(Global.NIMBLE_ID, "Error writing to log file: " + e.toString()); + } + } + } +} diff --git a/app/src/main/java/com/ea/nimble/LogSource.java b/app/src/main/java/com/ea/nimble/LogSource.java new file mode 100644 index 0000000..0520279 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/LogSource.java @@ -0,0 +1,6 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface LogSource { + String getLogSourceTitle(); +} diff --git a/app/src/main/java/com/ea/nimble/Network.java b/app/src/main/java/com/ea/nimble/Network.java new file mode 100644 index 0000000..6abe9a5 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Network.java @@ -0,0 +1,112 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.Map; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public class Network { + public static final String COMPONENT_ID = "com.ea.nimble.network"; + + public enum Status { + UNKNOWN, + NONE, + DEAD, + OK; + + @Override // java.lang.Enum + public String toString() { + switch (this) { + case NONE: + return "NET NONE"; + case DEAD: + return "NET DEAD"; + case OK: + return "NET OK"; + default: + return "NET UNKNOWN"; + } + } + } + + public static INetwork getComponent() { + return (INetwork) Base.getComponent("com.ea.nimble.network"); + } + + public static String generateParameterString(Map map) { + Log.Helper.LOGPUBLICFUNCS("NimbleNetwork"); + if (map == null || map.size() == 0) { + return null; + } + String str = ""; + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if ("".equals(key)) { + Log.Helper.LOGWS("Network", "URL parameters map contains invalid key", new Object[0]); + } else { + try { + String encode = URLEncoder.encode(key, HTTP.UTF_8); + if ("".equals(value)) { + Log.Helper.LOGWS("Network", "URL parameters map contains invalid value", new Object[0]); + } else { + try { + str = (((str + encode) + "=") + URLEncoder.encode(value, HTTP.UTF_8)) + "&"; + } catch (UnsupportedEncodingException unused) { + Log.Helper.LOGWS("Network", "URL parameters map contains invalid value", new Object[0]); + } + } + } catch (UnsupportedEncodingException unused2) { + Log.Helper.LOGWS("Network", "URL parameters map contains invalid key", new Object[0]); + } + } + } + if (str.length() == 0) { + return null; + } + return str.substring(0, str.length() - 1); + } + + public static URL generateURL(String str, Map map) { + Log.Helper.LOGPUBLICFUNCS("NimbleNetwork"); + if ("".equals(str)) { + Log.Helper.LOGWS("Network", "Base url is blank, return null", new Object[0]); + return null; + } + String generateParameterString = generateParameterString(map); + if (generateParameterString == null) { + Log.Helper.LOGWS("Network", "Generated URL with only base url = %s", str); + } else { + str = str + "?" + generateParameterString; + Log.Helper.LOGVS("Network", "Generated URL = %s", str); + } + try { + return new URL(str); + } catch (MalformedURLException unused) { + Log.Helper.LOGES("Network", "Malformed URL from %s", str); + return null; + } + } + + public static String getHttpProxy() { + Log.Helper.LOGPUBLICFUNCS("NimbleNetwork"); + try { + String property = System.getProperty("http.proxyHost"); + if (property == null) { + return null; + } + String property2 = System.getProperty("http.proxyPort"); + if (property2 == null) { + return property; + } + return property + ":" + property2; + } catch (Exception e) { + Log.Helper.LOGES("Network", "Unable to get system proxy settings. %s", e.toString()); + return null; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/NetworkConnection.java b/app/src/main/java/com/ea/nimble/NetworkConnection.java new file mode 100644 index 0000000..2c6e6a0 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NetworkConnection.java @@ -0,0 +1,591 @@ +package com.ea.nimble; + +import com.ea.nimble.Error; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import java.io.IOException; +import java.io.InputStream; +import java.io.InterruptedIOException; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.util.Date; +import java.util.Map; +import org.apache.http.message.TokenParser; +import org.apache.http.protocol.HTTP; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.json.JSONTokener; + +/* loaded from: classes.dex */ +class NetworkConnection implements NetworkConnectionHandle, Runnable, LogSource { + private static final int MAXIMUM_RAW_DATA_LENGTH = 1048576; + static int s_loggingIdCount = 100; + private NetworkConnectionCallback m_completionCallback; + private Date m_connectionStartTimestamp; + private NetworkConnectionCallback m_headerCallback; + private String m_loggingId; + private NetworkImpl m_manager; + private IOperationalTelemetryDispatch m_otDispatch; + private NetworkConnectionCallback m_progressCallback; + private HttpRequest m_request; + private String m_requestDataForLog; + private HttpResponse m_response; + private StringBuilder m_responseDataForLog; + private Thread m_thread; + + public String getLogSourceTitle() { + return "Network"; + } + + public NetworkConnection(NetworkImpl networkImpl, HttpRequest httpRequest) { + this(networkImpl, httpRequest, null); + } + + public NetworkConnection(NetworkImpl networkImpl, HttpRequest httpRequest, IOperationalTelemetryDispatch iOperationalTelemetryDispatch) { + this.m_manager = networkImpl; + this.m_thread = null; + this.m_request = httpRequest; + this.m_response = new HttpResponse(); + this.m_headerCallback = null; + this.m_progressCallback = null; + this.m_completionCallback = null; + this.m_connectionStartTimestamp = null; + this.m_otDispatch = iOperationalTelemetryDispatch; + this.m_loggingId = String.valueOf(s_loggingIdCount); + int i = s_loggingIdCount; + s_loggingIdCount = i + 1; + if (i >= 1000) { + s_loggingIdCount = 100; + } + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public HttpRequest getRequest() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + return this.m_request; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public HttpResponse getResponse() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + return this.m_response; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public NetworkConnectionCallback getHeaderCallback() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + return this.m_headerCallback; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public void setHeaderCallback(NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + this.m_headerCallback = networkConnectionCallback; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public NetworkConnectionCallback getProgressCallback() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + return this.m_progressCallback; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public void setProgressCallback(NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + this.m_progressCallback = networkConnectionCallback; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public NetworkConnectionCallback getCompletionCallback() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + return this.m_completionCallback; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public void setCompletionCallback(NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + this.m_completionCallback = networkConnectionCallback; + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public void waitOn() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + synchronized (this) { + while (!this.m_response.isCompleted) { + try { + wait(); + } catch (InterruptedException unused) { + } + } + } + } + + @Override // com.ea.nimble.NetworkConnectionHandle + public void cancel() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + synchronized (this) { + if (this.m_thread != null) { + this.m_thread.interrupt(); + } else { + finishWithError(new Error(Error.Code.NETWORK_OPERATION_CANCELLED, "Network connection " + toString() + " is cancelled")); + } + } + } + + void cancelForAppSuspend() { + cancel(); + } + + public void run() { + Log.Helper.LOGPUBLICFUNCS("NetworkConnection"); + try { + try { + try { + try { + try { + try { + if (this.m_response.isCompleted) { + synchronized (this) { + this.m_thread = null; + } + return; + } + if (Thread.interrupted()) { + throw new InterruptedIOException(); + } + synchronized (this) { + this.m_thread = Thread.currentThread(); + } + HttpURLConnection httpURLConnection = (HttpURLConnection) this.m_request.getUrl().openConnection(); + httpURLConnection.setRequestMethod(this.m_request.method.toString()); + httpURLConnection.setConnectTimeout((int) (this.m_request.timeout * 1000.0d)); + httpURLConnection.setReadTimeout((int) (this.m_request.timeout * 1000.0d)); + httpURLConnection.setRequestProperty("Connection", "close"); + this.m_requestDataForLog = null; + this.m_responseDataForLog = null; + if (Thread.interrupted()) { + throw new InterruptedIOException(); + } + httpSend(httpURLConnection); + if (Thread.interrupted()) { + throw new InterruptedIOException(); + } + httpRecv(httpURLConnection); + finish(); + synchronized (this) { + this.m_thread = null; + } + } catch (SocketTimeoutException e) { + finishWithError(new Error(Error.Code.NETWORK_TIMEOUT, "Connection " + toString() + " timed out", e)); + synchronized (this) { + this.m_thread = null; + } + } catch (Exception e2) { + finishWithError(new Error(Error.Code.SYSTEM_UNEXPECTED, "Unexpected error.", e2)); + synchronized (this) { + this.m_thread = null; + } + } + } catch (IOException e3) { + finishWithError(new Error(Error.Code.NETWORK_CONNECTION_ERROR, "Connection " + toString() + " failed with I/O exception", e3)); + synchronized (this) { + this.m_thread = null; + } + } catch (ClassCastException e4) { + finishWithError(new Error(Error.Code.NETWORK_UNSUPPORTED_CONNECTION_TYPE, "Request " + toString() + " failed for unsupported connection type" + this.m_request.getUrl().getProtocol(), e4)); + synchronized (this) { + this.m_thread = null; + } + } + } catch (UnknownHostException e5) { + Network.Status status = this.m_manager.getStatus(); + if (status != Network.Status.OK) { + finishWithError(new Error(Error.Code.NETWORK_NO_CONNECTION, "No network connection, network status " + status.toString(), e5)); + } else { + finishWithError(new Error(Error.Code.NETWORK_UNREACHABLE, "Request " + toString() + " failed for unreachable host", e5)); + } + synchronized (this) { + this.m_thread = null; + } + } + } catch (InterruptedIOException e6) { + finishWithError(new Error(Error.Code.NETWORK_OPERATION_CANCELLED, "Connection " + toString() + " is cancelled", e6)); + synchronized (this) { + this.m_thread = null; + } + } + } catch (Error e7) { + finishWithError(e7); + synchronized (this) { + this.m_thread = null; + } + } + } catch (Throwable th) { + synchronized (this) { + this.m_thread = null; + throw th; + } + } + } + + private void httpSend(HttpURLConnection httpURLConnection) throws IOException { + Log.Helper.LOGFUNCS("NetworkConnection"); + this.m_connectionStartTimestamp = new Date(); + if (this.m_request.headers != null) { + for (String str : this.m_request.headers.keySet()) { + httpURLConnection.setRequestProperty(str, this.m_request.headers.get(str)); + } + } + logRequest(); + byte[] byteArray = this.m_request.data.toByteArray(); + if (byteArray == null || byteArray.length <= 0) { + return; + } + httpURLConnection.setDoOutput(true); + httpURLConnection.setFixedLengthStreamingMode(byteArray.length); + OutputStream outputStream = null; + try { + try { + OutputStream outputStream2 = httpURLConnection.getOutputStream(); + try { + outputStream2.write(byteArray); + if (outputStream2 != null) { + outputStream2.close(); + } + } catch (Exception e) { + e = e; + outputStream = outputStream2; + StringWriter stringWriter = new StringWriter(); + e.printStackTrace(new PrintWriter(stringWriter)); + Log.Helper.LOGE(this, "Exception in network connection:" + stringWriter.toString(), new Object[0]); + if (outputStream != null) { + outputStream.close(); + } + } catch (Throwable th) { + th = th; + outputStream = outputStream2; + if (outputStream != null) { + outputStream.close(); + } + throw th; + } + } catch (Exception e2) { + e = e2; + } + } catch (Throwable th2) { + th = th2; + } + } + + /* JADX WARN: Removed duplicated region for block: B:30:0x00a8 */ + /* JADX WARN: Removed duplicated region for block: B:35:0x00b5 A[Catch: all -> 0x01b5, TryCatch #2 {all -> 0x01b5, blocks: (B:6:0x0012, B:7:0x003f, B:9:0x0045, B:11:0x0063, B:14:0x0071, B:17:0x0086, B:19:0x008e, B:32:0x00ab, B:33:0x00b4, B:35:0x00b5, B:36:0x00d2, B:37:0x00d3, B:39:0x00dd, B:49:0x00ea, B:50:0x00ef, B:52:0x00f7, B:54:0x00fd, B:56:0x0115, B:57:0x011a, B:58:0x0137, B:59:0x010c, B:62:0x0145, B:63:0x0172, B:65:0x0175, B:66:0x0194, B:67:0x0195, B:68:0x01b4), top: B:5:0x0012 }] */ + /* JADX WARN: Removed duplicated region for block: B:39:0x00dd A[Catch: all -> 0x01b5, TryCatch #2 {all -> 0x01b5, blocks: (B:6:0x0012, B:7:0x003f, B:9:0x0045, B:11:0x0063, B:14:0x0071, B:17:0x0086, B:19:0x008e, B:32:0x00ab, B:33:0x00b4, B:35:0x00b5, B:36:0x00d2, B:37:0x00d3, B:39:0x00dd, B:49:0x00ea, B:50:0x00ef, B:52:0x00f7, B:54:0x00fd, B:56:0x0115, B:57:0x011a, B:58:0x0137, B:59:0x010c, B:62:0x0145, B:63:0x0172, B:65:0x0175, B:66:0x0194, B:67:0x0195, B:68:0x01b4), top: B:5:0x0012 }] */ + /* JADX WARN: Removed duplicated region for block: B:42:0x00e5 */ + /* JADX WARN: Removed duplicated region for block: B:44:0x013e A[DONT_GENERATE] */ + /* JADX WARN: Removed duplicated region for block: B:47:0x00e6 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private void httpRecv(java.net.HttpURLConnection r10) throws java.io.IOException, com.ea.nimble.Error { + /* + Method dump skipped, instructions count: 458 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.NetworkConnection.httpRecv(java.net.HttpURLConnection):void"); + } + + /* JADX WARN: Removed duplicated region for block: B:75:0x01ab */ + /* JADX WARN: Removed duplicated region for block: B:77:0x01b0 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private void downloadToFile(java.io.InputStream r14) throws java.io.IOException { + /* + Method dump skipped, instructions count: 483 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.NetworkConnection.downloadToFile(java.io.InputStream):void"); + } + + private void downloadToBuffer(InputStream inputStream) throws IOException { + int read; + Log.Helper.LOGFUNCS("NetworkConnection"); + prepareResponseLog(); + int i = 0; + while (true) { + if (i < 0) { + break; + } + try { + byte[] prepareSegment = this.m_response.data.prepareSegment(); + if (prepareSegment == null) { + Log.Helper.LOGE(this, "Error preparing segment", new Object[0]); + break; + } + int i2 = 0; + do { + read = inputStream.read(prepareSegment, i2, prepareSegment.length - i2); + if (!Thread.interrupted()) { + if (read < 0) { + break; + } + if (read == 0) { + Thread.yield(); + } else { + prepareResponseLog(prepareSegment, i2, read); + i2 += read; + this.m_response.downloadedContentLength += read; + } + } else { + throw new InterruptedIOException(); + } + } while (i2 < prepareSegment.length); + this.m_response.data.appendSegmentToBuffer(prepareSegment, i2); + if (this.m_progressCallback != null) { + this.m_progressCallback.callback(this); + } + i = read; + } finally { + inputStream.close(); + } + } + } + + private void finish() { + Log.Helper.LOGFUNCS("NetworkConnection"); + this.m_response.isCompleted = true; + logOperationalTelemetryResponse(); + if (this.m_completionCallback != null) { + this.m_completionCallback.callback(this); + } + synchronized (this) { + notifyAll(); + } + this.m_manager.removeConnection(this); + } + + void finishWithError(Exception exc) { + Log.Helper.LOGFUNCS("NetworkConnection"); + if (this.m_response.isCompleted) { + Log.Helper.LOGI(this, "Finished connection %s skipped an error %s", toString(), exc.toString()); + return; + } + Log.Helper.LOGW(this, "Running connection number %s with name %s failed for error %s", this.m_loggingId, toString(), exc.toString()); + this.m_response.error = exc; + finish(); + } + + private String prepareRequestLog() { + String str; + Log.Helper.LOGFUNCS("NetworkConnection"); + int i = 2048; + if (this.m_request.data != null && this.m_request.data.size() > 0) { + i = 2048 + this.m_request.data.size(); + try { + str = this.m_request.data.toString(HTTP.UTF_8); + } catch (UnsupportedEncodingException unused) { + str = "<-- UNREADABLE -->"; + } + } else { + str = (this.m_request.getMethod() == IHttpRequest.Method.POST || this.m_request.getMethod() == IHttpRequest.Method.PUT) ? "<-- EMPTY -->" : null; + } + StringBuilder sb = new StringBuilder(i); + sb.append("REQUEST: "); + sb.append(this.m_request.method.toString()); + sb.append(TokenParser.SP); + sb.append(this.m_request.url.toString()); + sb.append('\n'); + generateHttpHeaderAndBodyLogString(sb, false, this.m_request.headers, str); + return sb.toString(); + } + + private void prepareResponseLog() { + Log.Helper.LOGFUNCS("NetworkConnection"); + if (Log.getComponent().getThresholdLevel() > 100) { + return; + } + this.m_responseDataForLog = new StringBuilder(this.m_response.expectedContentLength > 0 ? (int) this.m_response.expectedContentLength : 4096); + } + + private void prepareResponseLog(byte[] bArr, int i, int i2) { + Log.Helper.LOGFUNCS("NetworkConnection"); + if (Log.getComponent().getThresholdLevel() > 100 || this.m_responseDataForLog == null) { + return; + } + try { + this.m_responseDataForLog.append(new String(bArr, i, i2, HTTP.UTF_8)); + } catch (UnsupportedEncodingException unused) { + this.m_responseDataForLog = null; + } + } + + private String multiplyStringNTimes(String str, int i) { + Log.Helper.LOGFUNCS("NetworkConnection"); + StringBuilder sb = new StringBuilder(str.length() * i); + for (int i2 = 0; i2 < i; i2++) { + sb.append(str); + } + return sb.toString(); + } + + private String beautifyJSONString(String str) { + Log.Helper.LOGFUNCS("NetworkConnection"); + if (str == null) { + return str; + } + String str2 = null; + try { + Object nextValue = new JSONTokener(str).nextValue(); + if (nextValue instanceof JSONObject) { + str2 = ((JSONObject) nextValue).toString(4); + } else if (nextValue instanceof JSONArray) { + str2 = ((JSONArray) nextValue).toString(4); + } + return str2 != null ? str2 : str; + } catch (JSONException unused) { + return str; + } + } + + private void logRequest() { + Log.Helper.LOGFUNCS("NetworkConnection"); + if (Log.getComponent().getThresholdLevel() > 100) { + return; + } + this.m_requestDataForLog = prepareRequestLog(); + Log.Helper.LOGD(this, "\n>>>> CONNECTION ID %s BEGIN >>>>>>>>>>>>>>>>>>\n%s<<<< CONNECTION BEGIN <<<<<<<<<<<<<<<<<<<<<<<<<\n", this.m_loggingId, this.m_requestDataForLog); + } + + private void logCommunication() { + String str; + Log.Helper.LOGFUNCS("NetworkConnection"); + if (Log.getComponent().getThresholdLevel() > 100) { + return; + } + if (this.m_requestDataForLog == null) { + this.m_requestDataForLog = prepareRequestLog(); + } + int length = this.m_requestDataForLog.length() + 4096; + boolean z = this.m_request.targetFilePath != null; + if (this.m_responseDataForLog == null || this.m_responseDataForLog.length() <= 0) { + str = z ? "<-- FILE -->" : "<-- EMPTY -->"; + } else { + try { + str = this.m_responseDataForLog.toString(); + } catch (Exception unused) { + str = "<-- UNREADABLE -->"; + } + } + StringBuilder sb = new StringBuilder(length + str.length()); + sb.append(String.format("%n>>>> CONNECTION ID %s FINISH >>>> REQUEST >>>>%n", this.m_loggingId)); + sb.append(this.m_requestDataForLog); + sb.append("<<<< REQUEST <<<<<<<< -- >>>>>>>> RESPONSE >>>>\n"); + sb.append("RESP URL: "); + sb.append(this.m_response.url.toString()); + sb.append('\n'); + sb.append("RESP STATUS: "); + sb.append(this.m_response.statusCode); + sb.append('\n'); + if (this.m_response.getError() != null) { + sb.append("RESP ERROR: "); + if (this.m_response.getError().getMessage() != null) { + sb.append(this.m_response.getError().getMessage()); + sb.append("\n"); + } else { + sb.append("<-- UNKNOWN -->\n"); + } + } + if (z) { + sb.append("RESP FILE: "); + sb.append(this.m_request.targetFilePath); + sb.append("\n"); + } + generateHttpHeaderAndBodyLogString(sb, true, this.m_response.headers, str); + sb.append("<<<< RESPONSE <<<< CONNECTION FINISH <<<<<<<<<<"); + Log.Helper.LOGD(this, sb.toString(), new Object[0]); + } + + private void generateHttpHeaderAndBodyLogString(StringBuilder sb, boolean z, Map map, String str) { + Log.Helper.LOGFUNCS("NetworkConnection"); + String str2 = z ? "RESP" : "REQ"; + boolean z2 = false; + if (map != null && map.size() > 0) { + boolean z3 = false; + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + if (key != null || z) { + if (key == null) { + key = "(null)"; + } + sb.append(str2); + sb.append(" HEADER: "); + sb.append(key); + String value = entry.getValue(); + if (value == null) { + value = "(null)"; + } + sb.append(" VALUE: "); + sb.append(value); + sb.append('\n'); + if (key.equals("Content-Type") && (value.contains("application/json") || value.contains("text/json"))) { + z3 = true; + } + } else { + String str3 = map.get(key); + if (str3 == null) { + str3 = "(null)"; + } + Log.Helper.LOGW("Network request contains a null key with value %s", str3, new Object[0]); + } + } + z2 = z3; + } + if (str != null) { + sb.append(str2); + sb.append(" BODY:\n"); + if (z2) { + str = beautifyJSONString(str); + } + sb.append(str); + sb.append('\n'); + } + } + + /* JADX WARN: Can't wrap try/catch for region: R(24:14|(2:16|(2:18|19))|20|(1:22)|23|(2:25|(8:27|28|29|30|32|33|34|(18:38|39|40|41|42|44|45|46|47|48|49|50|51|52|53|54|55|56))(2:69|70))|73|39|40|41|42|44|45|46|47|48|49|50|51|52|53|54|55|56) */ + /* JADX WARN: Code restructure failed: missing block: B:59:0x013a, code lost: + + r10 = r2; + */ + /* JADX WARN: Code restructure failed: missing block: B:60:0x013f, code lost: + + com.ea.nimble.Log.Helper.LOGE(r14, "Failed to add " + r10 + " to eventDict.", new java.lang.Object[0]); + */ + /* JADX WARN: Code restructure failed: missing block: B:62:0x013c, code lost: + + r10 = "URL_PROTOCOL"; + */ + /* JADX WARN: Code restructure failed: missing block: B:64:0x013e, code lost: + + r10 = "CONNECTIONID"; + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + void logOperationalTelemetryResponse() { + /* + Method dump skipped, instructions count: 362 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.NetworkConnection.logOperationalTelemetryResponse():void"); + } +} diff --git a/app/src/main/java/com/ea/nimble/NetworkConnectionCallback.java b/app/src/main/java/com/ea/nimble/NetworkConnectionCallback.java new file mode 100644 index 0000000..b22e655 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NetworkConnectionCallback.java @@ -0,0 +1,6 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface NetworkConnectionCallback { + void callback(NetworkConnectionHandle networkConnectionHandle); +} diff --git a/app/src/main/java/com/ea/nimble/NetworkConnectionHandle.java b/app/src/main/java/com/ea/nimble/NetworkConnectionHandle.java new file mode 100644 index 0000000..f0af791 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NetworkConnectionHandle.java @@ -0,0 +1,24 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface NetworkConnectionHandle { + void cancel(); + + NetworkConnectionCallback getCompletionCallback(); + + NetworkConnectionCallback getHeaderCallback(); + + NetworkConnectionCallback getProgressCallback(); + + IHttpRequest getRequest(); + + IHttpResponse getResponse(); + + void setCompletionCallback(NetworkConnectionCallback networkConnectionCallback); + + void setHeaderCallback(NetworkConnectionCallback networkConnectionCallback); + + void setProgressCallback(NetworkConnectionCallback networkConnectionCallback); + + void waitOn(); +} diff --git a/app/src/main/java/com/ea/nimble/NetworkImpl.java b/app/src/main/java/com/ea/nimble/NetworkImpl.java new file mode 100644 index 0000000..dd787dd --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NetworkImpl.java @@ -0,0 +1,442 @@ +package com.ea.nimble; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import com.ea.nimble.Error; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +/* loaded from: classes.dex */ +public class NetworkImpl extends Component implements INetwork, LogSource { + private static final String BACKUP_NETWORK_REACHABILITY_CHECK_URL = "https://www.google.com"; + private static final int DETECTION_TIMEOUT = 30; + private static final String MAIN_NETWORK_REACHABILITY_CHECK_URL = "https://ping1.tnt-ea.com"; + private static final int MAX_CONCURRENT_THREADS = 4; + private static final int[] PING_INTERVAL = {5, 10, 30, 60}; + private static final int QUICK_DETECTION_TIMEOUT = 5; + private ExecutorService m_asyncTaskManager; + private ConnectivityReceiver m_connectivityReceiver; + private NetworkConnection m_detectionConnection; + private boolean m_isWifi; + private DetectionState m_networkDetectionState; + private int m_pingIndex; + private List m_queue; + private Network.Status m_status; + private Timer m_timer; + private LinkedList m_waitingToExecuteQueue; + + private enum DetectionState { + NONE, + VERIFY_REACHABLE_MAIN, + VERIFY_UNREACHABLE_MAIN, + VERIFY_REACHABLE_BACKUP, + PING + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.network"; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Network"; + } + + private class ConnectivityReceiver extends BroadcastReceiver { + private ConnectivityReceiver() { + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGD(this, "Network reachability changed!", new Object[0]); + synchronized (NetworkImpl.this) { + NetworkImpl.this.detect(true); + } + } + } + + public NetworkImpl() { + Log.Helper.LOGFUNC(this); + this.m_connectivityReceiver = null; + this.m_status = Network.Status.UNKNOWN; + this.m_detectionConnection = null; + this.m_networkDetectionState = DetectionState.NONE; + this.m_pingIndex = 0; + this.m_queue = new ArrayList(); + } + + @Override // com.ea.nimble.Component + public void setup() { + Log.Helper.LOGV(this, "setup", new Object[0]); + startWork(); + } + + @Override // com.ea.nimble.Component + public void suspend() { + synchronized (this) { + stopPing(); + unregisterNetworkListener(); + synchronized (this) { + Iterator it = new ArrayList(this.m_queue).iterator(); + while (it.hasNext()) { + ((NetworkConnection) it.next()).cancelForAppSuspend(); + } + } + Log.Helper.LOGV(this, "suspend", new Object[0]); + } + Log.Helper.LOGV(this, "suspend", new Object[0]); + } + + @Override // com.ea.nimble.Component + public void resume() { + Log.Helper.LOGV(this, "resume", new Object[0]); + synchronized (this) { + detect(true); + registerNetworkListener(); + } + } + + @Override // com.ea.nimble.Component + public void cleanup() { + stopWork(); + Log.Helper.LOGV(this, "cleanup", new Object[0]); + } + + private void registerNetworkListener() { + Log.Helper.LOGFUNC(this); + if (this.m_connectivityReceiver == null) { + Log.Helper.LOGD(this, "Register network reachability listener.", new Object[0]); + this.m_connectivityReceiver = new ConnectivityReceiver(); + ApplicationEnvironment.getComponent().getApplicationContext().registerReceiver(this.m_connectivityReceiver, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE")); + } + } + + private void unregisterNetworkListener() { + Log.Helper.LOGFUNC(this); + if (this.m_connectivityReceiver != null) { + try { + ApplicationEnvironment.getComponent().getApplicationContext().unregisterReceiver(this.m_connectivityReceiver); + } catch (IllegalArgumentException unused) { + Log.Helper.LOGE(this, "Unable to unregister network reachability listener even it does exists", new Object[0]); + } + this.m_connectivityReceiver = null; + } + } + + @Override // com.ea.nimble.INetwork + public NetworkConnectionHandle sendGetRequest(URL url, HashMap hashMap, NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.GET; + httpRequest.headers = hashMap; + return sendRequest(httpRequest, networkConnectionCallback); + } + + @Override // com.ea.nimble.INetwork + public NetworkConnectionHandle sendPostRequest(URL url, HashMap hashMap, byte[] bArr, NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.POST; + httpRequest.headers = hashMap; + try { + httpRequest.data.write(bArr); + } catch (Exception e) { + e.printStackTrace(); + } + return sendRequest(httpRequest, networkConnectionCallback); + } + + @Override // com.ea.nimble.INetwork + public NetworkConnectionHandle sendDeleteRequest(URL url, HashMap hashMap, NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.DELETE; + httpRequest.headers = hashMap; + return sendRequest(httpRequest, networkConnectionCallback); + } + + @Override // com.ea.nimble.INetwork + public NetworkConnectionHandle sendRequest(HttpRequest httpRequest, NetworkConnectionCallback networkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + return sendRequest(httpRequest, networkConnectionCallback, null); + } + + @Override // com.ea.nimble.INetwork + public NetworkConnectionHandle sendRequest(HttpRequest httpRequest, NetworkConnectionCallback networkConnectionCallback, IOperationalTelemetryDispatch iOperationalTelemetryDispatch) { + NetworkConnection networkConnection; + Log.Helper.LOGPUBLICFUNC(this); + if (httpRequest.runInBackground) { + networkConnection = new BackgroundNetworkConnection(this, httpRequest, iOperationalTelemetryDispatch); + } else { + networkConnection = new NetworkConnection(this, httpRequest, iOperationalTelemetryDispatch); + } + networkConnection.setCompletionCallback(networkConnectionCallback); + if (httpRequest.url == null || !Utility.validString(httpRequest.url.toString())) { + networkConnection.finishWithError(new Error(Error.Code.INVALID_ARGUMENT, "Sending request without valid url")); + return networkConnection; + } + if (this.m_status != Network.Status.OK) { + networkConnection.finishWithError(new Error(Error.Code.NETWORK_NO_CONNECTION, "No network connection, network status " + this.m_status.toString())); + return networkConnection; + } + synchronized (this) { + this.m_queue.add(networkConnection); + } + if (this.m_asyncTaskManager == null || this.m_asyncTaskManager.isShutdown()) { + if (this.m_asyncTaskManager != null) { + Log.Helper.LOGW(this, "AsyncTaskManager shutdown. Queueing networkconnection until AsyncTaskManager is started.", new Object[0]); + } else { + Log.Helper.LOGW(this, "AsyncTaskManager is not ready. Queueing networkconnection until AsyncTaskManager is started.", new Object[0]); + } + if (this.m_waitingToExecuteQueue == null) { + this.m_waitingToExecuteQueue = new LinkedList<>(); + } + this.m_waitingToExecuteQueue.add(networkConnection); + } else { + this.m_asyncTaskManager.execute(networkConnection); + } + return networkConnection; + } + + @Override // com.ea.nimble.INetwork + public synchronized void forceRedetectNetworkStatus() { + Log.Helper.LOGPUBLICFUNC(this); + detect(true); + } + + @Override // com.ea.nimble.INetwork + public Network.Status getStatus() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_status; + } + + @Override // com.ea.nimble.INetwork + public boolean isNetworkWifi() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_isWifi; + } + + synchronized void removeConnection(NetworkConnection networkConnection) { + Log.Helper.LOGFUNC(this); + this.m_queue.remove(networkConnection); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void detect(boolean z) { + Log.Helper.LOGFUNC(this); + if (this.m_detectionConnection != null) { + if (!z) { + return; + } + NetworkConnection networkConnection = this.m_detectionConnection; + this.m_detectionConnection = null; + networkConnection.cancel(); + } + stopPing(); + if (reachabilityCheck()) { + if (this.m_status != Network.Status.DEAD) { + setStatus(Network.Status.OK); + } + this.m_networkDetectionState = DetectionState.VERIFY_REACHABLE_MAIN; + } else { + if (this.m_status == Network.Status.UNKNOWN) { + setStatus(Network.Status.NONE); + } + this.m_networkDetectionState = DetectionState.VERIFY_UNREACHABLE_MAIN; + } + verifyReachability(MAIN_NETWORK_REACHABILITY_CHECK_URL, 5.0d); + } + + private boolean reachabilityCheck() { + ConnectivityManager connectivityManager; + NetworkInfo activeNetworkInfo; + Log.Helper.LOGFUNC(this); + this.m_isWifi = false; + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + if (applicationContext == null || (connectivityManager = (ConnectivityManager) applicationContext.getSystemService("connectivity")) == null || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null || !activeNetworkInfo.isConnectedOrConnecting()) { + return false; + } + if (activeNetworkInfo.getType() == 1 || activeNetworkInfo.getType() == 9) { + this.m_isWifi = true; + } + if (BaseCore.getInstance().isActive()) { + return true; + } + Log.Helper.LOGD(this, "BaseCore not active yet. Postpone reachability check.", new Object[0]); + return false; + } + + private void startPing() { + Log.Helper.LOGFUNC(this); + if (this.m_pingIndex >= PING_INTERVAL.length) { + this.m_pingIndex = PING_INTERVAL.length - 1; + } + this.m_timer = new Timer(new TimerTask()); + this.m_timer.schedule(PING_INTERVAL[this.m_pingIndex], false); + } + + private void stopPing() { + Log.Helper.LOGFUNC(this); + if (this.m_timer != null) { + this.m_timer.cancel(); + this.m_timer = null; + } + } + + private class TimerTask implements Runnable { + private TimerTask() { + } + + @Override // java.lang.Runnable + public void run() { + synchronized (NetworkImpl.this) { + NetworkImpl.this.m_timer = null; + NetworkImpl.this.verifyReachability(NetworkImpl.MAIN_NETWORK_REACHABILITY_CHECK_URL, 30.0d); + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void verifyReachability(String str, double d) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest httpRequest = new HttpRequest(new URL(str)); + httpRequest.timeout = d; + httpRequest.method = IHttpRequest.Method.GET; + this.m_detectionConnection = new NetworkConnection(this, httpRequest); + this.m_detectionConnection.setCompletionCallback(new NetworkConnectionCallback() { // from class: com.ea.nimble.NetworkImpl.1 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + NetworkImpl.this.onReachabilityVerification(networkConnectionHandle); + } + }); + if (this.m_asyncTaskManager == null || this.m_asyncTaskManager.isShutdown()) { + Log.Helper.LOGW(this, "AsyncTaskManager is not ready. Queueing networkconnection until AsyncTaskManager is started.", new Object[0]); + if (this.m_waitingToExecuteQueue == null) { + this.m_waitingToExecuteQueue = new LinkedList<>(); + } + this.m_waitingToExecuteQueue.addFirst(this.m_detectionConnection); + return; + } + this.m_asyncTaskManager.execute(this.m_detectionConnection); + } catch (MalformedURLException unused) { + Log.Helper.LOGE(this, "Invalid url: " + str, new Object[0]); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public synchronized void onReachabilityVerification(NetworkConnectionHandle networkConnectionHandle) { + Log.Helper.LOGFUNC(this); + Exception error = networkConnectionHandle.getResponse().getError(); + if (error == null) { + Log.Helper.LOGD(this, "network verified reachable.", new Object[0]); + setStatus(Network.Status.OK); + this.m_detectionConnection = null; + return; + } + if (networkConnectionHandle != this.m_detectionConnection) { + return; + } + this.m_detectionConnection = null; + Log.Helper.LOGD(this, "network verified unreachable, ERROR %s for detection state %s", networkConnectionHandle.getResponse().getError(), this.m_networkDetectionState); + if (error instanceof Error) { + Error error2 = (Error) error; + if (error2.getDomain().equals(Error.ERROR_DOMAIN) && error2.isError(Error.Code.NETWORK_OPERATION_CANCELLED)) { + Log.Helper.LOGW(this, "Network detection verification connection get cancelled for unknown reason (maybe reasonable for Android)", new Object[0]); + } + } + switch (this.m_networkDetectionState) { + case VERIFY_REACHABLE_MAIN: + this.m_networkDetectionState = DetectionState.VERIFY_REACHABLE_BACKUP; + verifyReachability(BACKUP_NETWORK_REACHABILITY_CHECK_URL, 30.0d); + break; + case VERIFY_UNREACHABLE_MAIN: + setStatus(Network.Status.NONE); + break; + case VERIFY_REACHABLE_BACKUP: + this.m_networkDetectionState = DetectionState.PING; + if (this.m_status == Network.Status.DEAD) { + startPing(); + break; + } else { + setStatus(Network.Status.DEAD); + this.m_pingIndex = 0; + startPing(); + break; + } + case PING: + this.m_pingIndex++; + startPing(); + break; + } + } + + private void setStatus(Network.Status status) { + Log.Helper.LOGI(this, "Status change %s -> %s", this.m_status, status); + if (status != this.m_status) { + this.m_status = status; + Utility.sendBroadcast(Global.NOTIFICATION_NETWORK_STATUS_CHANGE); + } + } + + private synchronized void startWork() { + Log.Helper.LOGFUNC(this); + if (this.m_asyncTaskManager != null) { + return; + } + detect(true); + registerNetworkListener(); + this.m_asyncTaskManager = Executors.newFixedThreadPool(4); + if (this.m_waitingToExecuteQueue != null && !this.m_waitingToExecuteQueue.isEmpty()) { + Log.Helper.LOGW(this, "NetworkConnections waiting to execute on new AsyncTaskManager. Executing.", new Object[0]); + while (!this.m_waitingToExecuteQueue.isEmpty()) { + NetworkConnection poll = this.m_waitingToExecuteQueue.poll(); + if (poll != null) { + Log.Helper.LOGW(this, "Executing request URL: " + poll.getRequest().url.toString(), new Object[0]); + this.m_asyncTaskManager.execute(poll); + } else { + Log.Helper.LOGE(this, "Could not get queued connection", new Object[0]); + } + } + } + } + + private void stopWork() { + Log.Helper.LOGFUNC(this); + synchronized (this) { + this.m_detectionConnection = null; + stopPing(); + unregisterNetworkListener(); + } + if (this.m_asyncTaskManager == null) { + return; + } + try { + Iterator it = this.m_asyncTaskManager.shutdownNow().iterator(); + while (it.hasNext()) { + ((NetworkConnection) it.next()).cancelForAppSuspend(); + } + this.m_asyncTaskManager.awaitTermination(60L, TimeUnit.SECONDS); + } catch (InterruptedException unused) { + this.m_asyncTaskManager.shutdownNow(); + Thread.currentThread().interrupt(); + } + this.m_asyncTaskManager = null; + } +} diff --git a/app/src/main/java/com/ea/nimble/NimbleApplicationConfiguration.java b/app/src/main/java/com/ea/nimble/NimbleApplicationConfiguration.java new file mode 100644 index 0000000..b5a551c --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NimbleApplicationConfiguration.java @@ -0,0 +1,95 @@ +package com.ea.nimble; + +import android.app.Activity; +import android.content.pm.PackageManager; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class NimbleApplicationConfiguration { + private static final String LOG_TITLE = "AppConfig"; + + public static boolean configValueExists(String str) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + try { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + return currentActivity.getPackageManager().getApplicationInfo(currentActivity.getPackageName(), 128).metaData.containsKey(str); + } + } catch (PackageManager.NameNotFoundException unused) { + Log.Helper.LOGES(LOG_TITLE, "Config value of key '%s' cannot be retrieved.", str); + } + return false; + } + + public static String getConfigValueAsString(String str) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + return getConfigValueAsString(str, ""); + } + + public static String getConfigValueAsString(String str, String str2) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + try { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + return currentActivity.getPackageManager().getApplicationInfo(currentActivity.getPackageName(), 128).metaData.getString(str); + } + } catch (PackageManager.NameNotFoundException unused) { + Log.Helper.LOGES(LOG_TITLE, "Config value of key '%s' cannot be retrieved.", str); + } + return str2; + } + + public static int getConfigValueAsInt(String str) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + return getConfigValueAsInt(str, 0); + } + + public static int getConfigValueAsInt(String str, int i) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + try { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + return currentActivity.getPackageManager().getApplicationInfo(currentActivity.getPackageName(), 128).metaData.getInt(str); + } + } catch (PackageManager.NameNotFoundException unused) { + Log.Helper.LOGES(LOG_TITLE, "Config value of key '%s' cannot be retrieved.", str); + } + return i; + } + + public static double getConfigValueAsDouble(String str) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + return getConfigValueAsDouble(str, 0.0d); + } + + public static double getConfigValueAsDouble(String str, double d) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + try { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + return currentActivity.getPackageManager().getApplicationInfo(currentActivity.getPackageName(), 128).metaData.getDouble(str); + } + } catch (PackageManager.NameNotFoundException unused) { + Log.Helper.LOGES(LOG_TITLE, "Config value of key '%s' cannot be retrieved.", str); + } + return d; + } + + public static boolean getConfigValueAsBoolean(String str) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + return getConfigValueAsBoolean(str, false); + } + + public static boolean getConfigValueAsBoolean(String str, boolean z) { + Log.Helper.LOGPUBLICFUNCS(LOG_TITLE); + try { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + return currentActivity.getPackageManager().getApplicationInfo(currentActivity.getPackageName(), 128).metaData.getBoolean(str); + } + } catch (PackageManager.NameNotFoundException unused) { + Log.Helper.LOGES(LOG_TITLE, "Config value of key '%s' cannot be retrieved.", str); + } + return z; + } +} diff --git a/app/src/main/java/com/ea/nimble/NimbleConfiguration.java b/app/src/main/java/com/ea/nimble/NimbleConfiguration.java new file mode 100644 index 0000000..9855b88 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NimbleConfiguration.java @@ -0,0 +1,51 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public enum NimbleConfiguration { + UNKNOWN, + INTEGRATION, + STAGE, + LIVE, + CUSTOMIZED, + MANUAL; + + public static NimbleConfiguration fromName(String str) { + Log.Helper.LOGPUBLICFUNCS("AppConfig"); + if (str.equals("int")) { + return INTEGRATION; + } + if (str.equals("stage")) { + return STAGE; + } + if (str.equals("live")) { + return LIVE; + } + if (str.equals(com.ea.games.nfs13.BuildConfig.FLAVOR)) { + return CUSTOMIZED; + } + if (str.equals("manual")) { + return MANUAL; + } + return UNKNOWN; + } + + @Override // java.lang.Enum + public String toString() { + switch (this) { + case INTEGRATION: + return "int"; + case STAGE: + return "stage"; + case LIVE: + return "live"; + case CUSTOMIZED: + return com.ea.games.nfs13.BuildConfig.FLAVOR; + case MANUAL: + return "manual"; + default: + return "unknown"; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/NimbleFacebookError.java b/app/src/main/java/com/ea/nimble/NimbleFacebookError.java new file mode 100644 index 0000000..3a9b36b --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NimbleFacebookError.java @@ -0,0 +1,34 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class NimbleFacebookError extends Error { + public static final String NIMBLE_FACEBOOK_ERROR_DOMAIN = "NimbleFacebookError"; + private static final long serialVersionUID = 1; + + public enum Code { + FBSERVER_ERROR(90000), + RESPONSE_PARSE_ERROR(90001); + + private int m_value; + + Code(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public NimbleFacebookError(Code code, String str, Throwable th) { + super(NIMBLE_FACEBOOK_ERROR_DOMAIN, code.intValue(), str, th); + } + + public NimbleFacebookError(Code code, String str) { + super(NIMBLE_FACEBOOK_ERROR_DOMAIN, code.intValue(), str); + } + + public boolean isError(int i) { + return getCode() == i; + } +} diff --git a/app/src/main/java/com/ea/nimble/NimbleLocalNotificationReceiver.java b/app/src/main/java/com/ea/nimble/NimbleLocalNotificationReceiver.java new file mode 100644 index 0000000..dff7b4f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NimbleLocalNotificationReceiver.java @@ -0,0 +1,67 @@ +package com.ea.nimble; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.NotificationCompat; +import android.support.v4.content.LocalBroadcastManager; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.nimble.Log; +import com.facebook.internal.ServerProtocol; +import com.facebook.share.internal.ShareConstants; +import java.util.HashMap; + +/* loaded from: classes.dex */ +public class NimbleLocalNotificationReceiver extends BroadcastReceiver { + public static final String NIMBLE_LOCAL_NOTIFICATION_RECEIVED = "nimble.notification.localNotificationReceived"; + private static final String NOTIFICATION_TRACKING2_LOG_EVENT = "nimble.notification.tracking2.logEvent"; + + @Override // android.content.BroadcastReceiver + public final void onReceive(Context context, Intent intent) { + handleNewLocalNotification(context, intent.getExtras()); + } + + protected void handleNewLocalNotification(Context context, Bundle bundle) { + String string = bundle.getString(GcmIntentService.PushIntentExtraKeys.PUSH_ID, ""); + String pushTargetActivity = getPushTargetActivity(context); + Log.Helper.LOGD(this, "[handleNewLocalNotification]: Local notification received with target activity: " + pushTargetActivity, new Object[0]); + try { + Intent intent = new Intent(context, Class.forName(pushTargetActivity)); + intent.putExtras(bundle); + intent.putExtra("PushNotification", ServerProtocol.DIALOG_RETURN_SCOPES_TRUE); + intent.setFlags(603979776); + PendingIntent activity = PendingIntent.getActivity(context, 0, intent, 1073741824); + if (ApplicationEnvironment.isMainApplicationActive()) { + HashMap hashMap = new HashMap(); + hashMap.put("en", ShareConstants.WEB_DIALOG_PARAM_MESSAGE); + Bundle bundle2 = new Bundle(); + bundle2.putSerializable("core", hashMap); + bundle2.putString("msg_id", string); + bundle2.putString("type", "pn"); + bundle2.putString(NotificationCompat.CATEGORY_SERVICE, "local"); + bundle2.putString("status", "received"); + bundle2.putString("format", "pn"); + Intent intent2 = new Intent(); + intent2.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent2.putExtras(bundle2); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent2); + Utility.sendBroadcast(NIMBLE_LOCAL_NOTIFICATION_RECEIVED, bundle); + return; + } + Notification notification = (Notification) bundle.getParcelable("notification"); + notification.contentIntent = activity; + ((NotificationManager) context.getSystemService("notification")).notify(string.hashCode(), notification); + } catch (ClassNotFoundException e) { + Log.Helper.LOGD(this, String.format("[handleNewLocalNotification]: Could not launch target activity: %s, exception: %s", pushTargetActivity, e.toString()), new Object[0]); + } + } + + protected String getPushTargetActivity(Context context) { + Context applicationContext = context.getApplicationContext(); + return applicationContext.getPackageManager().getLaunchIntentForPackage(applicationContext.getPackageName()).resolveActivity(applicationContext.getPackageManager()).getClassName(); + } +} diff --git a/app/src/main/java/com/ea/nimble/NimbleLocalNotifications.java b/app/src/main/java/com/ea/nimble/NimbleLocalNotifications.java new file mode 100644 index 0000000..0ed95ec --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NimbleLocalNotifications.java @@ -0,0 +1,20 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class NimbleLocalNotifications { + public static final String COMPONENT_ID = "com.ea.nimble.base.localNotifications"; + static final String KEY_NOTIFICATION_ID = "pushId"; + static final String KEY_NOTIFICATION_PN_TYPE = "pnType"; + static final String NOTIFICATION_TYPE_LOCAL = "local"; + + private static void initialize() { + Log.Helper.LOGFUNCS("LocalNotification"); + Base.registerComponent(new NimbleLocalNotificationsImpl(), COMPONENT_ID); + } + + public static INimbleLocalNotifications getComponent() { + return (INimbleLocalNotifications) Base.getComponent(COMPONENT_ID); + } +} diff --git a/app/src/main/java/com/ea/nimble/NimbleLocalNotificationsImpl.java b/app/src/main/java/com/ea/nimble/NimbleLocalNotificationsImpl.java new file mode 100644 index 0000000..c4ef5b2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/NimbleLocalNotificationsImpl.java @@ -0,0 +1,295 @@ +package com.ea.nimble; + +import android.app.AlarmManager; +import android.app.Notification; +import android.app.NotificationChannel; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.os.Build; +import android.os.Bundle; +import android.service.notification.StatusBarNotification; +import android.support.v4.app.NotificationCompat; +import android.support.v4.content.LocalBroadcastManager; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.nimble.Error; +import com.ea.nimble.Log; +import com.ea.nimble.Persistence; +import com.facebook.share.internal.ShareConstants; +import com.google.android.gms.drive.DriveFile; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; + +/* loaded from: classes.dex */ +public class NimbleLocalNotificationsImpl extends Component implements INimbleLocalNotifications { + private static String BADGE_ID = "Nimble_BadgeNotification"; + private static final String NOTIFICATION_TRACKING2_LOG_EVENT = "nimble.notification.tracking2.logEvent"; + private static final String PERSISTENCE_ENABLED_KEY = "enabled"; + private static final String PERSISTENCE_NOTIFICATION_MAP_KEY = "map"; + private static INimbleBadgeProvider m_badgeProvider; + private boolean m_enabled = true; + private HashMap m_notificationMap; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return NimbleLocalNotifications.COMPONENT_ID; + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + if (persistenceForNimbleComponent.hasKey(PERSISTENCE_ENABLED_KEY)) { + this.m_enabled = persistenceForNimbleComponent.getBoolValue(PERSISTENCE_ENABLED_KEY); + } else { + this.m_enabled = true; + } + if (persistenceForNimbleComponent.hasKey(PERSISTENCE_NOTIFICATION_MAP_KEY)) { + this.m_notificationMap = (HashMap) persistenceForNimbleComponent.getValue(PERSISTENCE_NOTIFICATION_MAP_KEY); + Iterator it = this.m_notificationMap.keySet().iterator(); + Date date = new Date(); + while (it.hasNext()) { + String next = it.next(); + Date date2 = this.m_notificationMap.get(next); + if (date2.before(date)) { + Log.Helper.LOGV(this, "restore(): Removed notification list key " + next + " from map because its date (" + date2.toString() + ") is in the past!", new Object[0]); + it.remove(); + } + } + saveNotificationMap(); + } else { + this.m_notificationMap = new HashMap<>(); + } + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + if (Build.VERSION.SDK_INT >= 26) { + NotificationManager notificationManager = (NotificationManager) applicationContext.getSystemService("notification"); + if (NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_LOCAL_NOTIFICATION_ID_KEY)) { + return; + } + String str = Global.NOTIFICATION_CHANNEL_DEFAULT_NAME_VALUE; + if (NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_DEFAULT_NAME_KEY)) { + str = applicationContext.getResources().getString(NimbleApplicationConfiguration.getConfigValueAsInt(Global.NOTIFICATION_CHANNEL_DEFAULT_NAME_KEY)); + } + NotificationChannel notificationChannel = new NotificationChannel(Global.NOTIFICATION_CHANNEL_DEFAULT_ID, str, 3); + if (NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_DEFAULT_DESCRIPTION_KEY)) { + notificationChannel.setDescription(applicationContext.getResources().getString(NimbleApplicationConfiguration.getConfigValueAsInt(Global.NOTIFICATION_CHANNEL_DEFAULT_DESCRIPTION_KEY))); + } + notificationManager.createNotificationChannel(notificationChannel); + } + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public Error scheduleNotification(String str, String str2, String str3, Date date) { + Notification build; + Log.Helper.LOGPUBLICFUNC(this); + Date date2 = new Date(); + if (!this.m_enabled) { + Log.Helper.LOGD(this, "scheduleNotification(): Local Notifications are not enabled!", new Object[0]); + return null; + } + Log.Helper.LOGD(this, "[scheduleNotification] Notification requested with: \n - Title : %s\n - Message : %s\n - ID : %s\n - Date : %s", str, str2, str3, date.toString()); + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "scheduleNotification(): Invalid title", new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, "Invalid title"); + } + if (!Utility.validString(str2)) { + Log.Helper.LOGE(this, "scheduleNotification(): Invalid message", new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, "Invalid message"); + } + if (date.before(date2)) { + Log.Helper.LOGE(this, "scheduleNotification(): Expired date", new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, "Expired date"); + } + if (!Utility.validString(str3)) { + str3 = "auto_" + date2.getTime(); + } + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + Resources resources = ApplicationEnvironment.getComponent().getApplicationContext().getResources(); + String packageName = ApplicationEnvironment.getComponent().getApplicationContext().getPackageName(); + if (Build.VERSION.SDK_INT >= 26) { + Notification.Builder autoCancel = new Notification.Builder(applicationContext, NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_LOCAL_NOTIFICATION_ID_KEY) ? NimbleApplicationConfiguration.getConfigValueAsString(Global.NOTIFICATION_CHANNEL_LOCAL_NOTIFICATION_ID_KEY) : Global.NOTIFICATION_CHANNEL_DEFAULT_ID).setContentTitle(str).setContentText(str2).setAutoCancel(true); + try { + autoCancel.setSmallIcon(resources.getIdentifier("pn_icon", "drawable", packageName)); + build = autoCancel.build(); + } catch (Exception e) { + Log.Helper.LOGE(this, "scheduleNotification(): Not scheduled. Unable to set application icon due to exception: " + e.toString(), new Object[0]); + return new Error(Error.Code.SYSTEM_UNEXPECTED, "Unable to get pn_icon"); + } + } else { + NotificationCompat.Builder autoCancel2 = new NotificationCompat.Builder(applicationContext).setContentTitle(str).setContentText(str2).setAutoCancel(true); + try { + autoCancel2.setSmallIcon(resources.getIdentifier("pn_icon", "drawable", packageName)); + build = autoCancel2.build(); + } catch (Exception e2) { + Log.Helper.LOGE(this, "scheduleNotification(): Not scheduled. Unable to set application icon due to exception: " + e2.toString(), new Object[0]); + return new Error(Error.Code.SYSTEM_UNEXPECTED, "Unable to get pn_icon"); + } + } + this.m_notificationMap.put(str3, date); + saveNotificationMap(); + Intent intent = new Intent(applicationContext, (Class) NimbleLocalNotificationReceiver.class); + intent.putExtra("notification", build); + intent.putExtra(GcmIntentService.PushIntentExtraKeys.PUSH_ID, str3); + intent.putExtra(GcmIntentService.PushIntentExtraKeys.PN_TYPE, "local"); + ((AlarmManager) applicationContext.getSystemService(NotificationCompat.CATEGORY_ALARM)).set(0, System.currentTimeMillis() + (date.getTime() - date2.getTime()), PendingIntent.getBroadcast(applicationContext, str3 != null ? str3.hashCode() : 0, intent, 134217728)); + HashMap hashMap = new HashMap(); + hashMap.put("en", ShareConstants.WEB_DIALOG_PARAM_MESSAGE); + Bundle bundle = new Bundle(); + bundle.putSerializable("core", hashMap); + bundle.putString("msg_id", str3); + bundle.putString("type", "pn"); + bundle.putString(NotificationCompat.CATEGORY_SERVICE, "local"); + bundle.putString("status", "started"); + bundle.putString("format", "pn"); + Intent intent2 = new Intent(); + intent2.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent2.putExtras(bundle); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent2); + return null; + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public void cancelAllNotifications() { + Iterator it = ((HashMap) this.m_notificationMap.clone()).keySet().iterator(); + while (it.hasNext()) { + cancelNotification((String) it.next()); + } + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public void cancelNotification(String str) { + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + PendingIntent broadcast = PendingIntent.getBroadcast(applicationContext, str.hashCode(), new Intent(applicationContext, (Class) NimbleLocalNotificationReceiver.class), DriveFile.MODE_WRITE_ONLY); + if (broadcast != null) { + broadcast.cancel(); + ((AlarmManager) applicationContext.getSystemService(NotificationCompat.CATEGORY_ALARM)).cancel(broadcast); + this.m_notificationMap.remove(str); + saveNotificationMap(); + Log.Helper.LOGD(this, "cancelNotification(%s): Successfully canceled", str); + HashMap hashMap = new HashMap(); + hashMap.put("en", ShareConstants.WEB_DIALOG_PARAM_MESSAGE); + Bundle bundle = new Bundle(); + bundle.putSerializable("core", hashMap); + bundle.putString("msg_id", str); + bundle.putString("type", "pn"); + bundle.putString(NotificationCompat.CATEGORY_SERVICE, "local"); + bundle.putString("status", "canceled"); + bundle.putString("format", "pn"); + Intent intent = new Intent(); + intent.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent.putExtras(bundle); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent); + return; + } + Log.Helper.LOGD(this, "cancelNotification(%s): Not found", str); + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public void setEnabled(boolean z) { + if (this.m_enabled != z) { + this.m_enabled = z; + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + persistenceForNimbleComponent.setValue(PERSISTENCE_ENABLED_KEY, Boolean.valueOf(this.m_enabled)); + persistenceForNimbleComponent.synchronize(); + cancelAllNotifications(); + } + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public boolean isEnabled() { + return this.m_enabled; + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public void setBadgeProvider(INimbleBadgeProvider iNimbleBadgeProvider) { + Log.Helper.LOGPUBLICFUNC(this); + m_badgeProvider = iNimbleBadgeProvider; + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public Error setBadgeCount(int i, String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_enabled) { + if (m_badgeProvider != null) { + return m_badgeProvider.setBadgeCount(i, str, str2); + } + if (Build.VERSION.SDK_INT >= 26) { + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + NotificationManager notificationManager = (NotificationManager) applicationContext.getSystemService("notification"); + Resources resources = ApplicationEnvironment.getComponent().getApplicationContext().getResources(); + String packageName = ApplicationEnvironment.getComponent().getApplicationContext().getPackageName(); + if (i == 0) { + notificationManager.cancel(BADGE_ID.hashCode()); + return null; + } + if (i < 0 || i > 999999) { + String str3 = "setBadgeCount(): Badge count " + String.valueOf(i) + "outside [0-999999] range"; + Log.Helper.LOGE(this, str3, new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, str3); + } + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "setBadgeCount(): Invalid title", new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, "Invalid title"); + } + if (!Utility.validString(str2)) { + Log.Helper.LOGE(this, "setBadgeCount(): Invalid message", new Object[0]); + return new Error(Error.Code.INVALID_ARGUMENT, "Invalid message"); + } + Notification.Builder visibility = new Notification.Builder(applicationContext, NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_LOCAL_NOTIFICATION_ID_KEY) ? NimbleApplicationConfiguration.getConfigValueAsString(Global.NOTIFICATION_CHANNEL_LOCAL_NOTIFICATION_ID_KEY) : Global.NOTIFICATION_CHANNEL_DEFAULT_ID).setContentTitle(str).setContentText(str2).setAutoCancel(true).setNumber(i).setVisibility(-1); + try { + visibility.setSmallIcon(resources.getIdentifier("pn_icon", "drawable", packageName)); + Notification build = visibility.build(); + Context applicationContext2 = applicationContext.getApplicationContext(); + String className = applicationContext2.getPackageManager().getLaunchIntentForPackage(applicationContext2.getPackageName()).resolveActivity(applicationContext2.getPackageManager()).getClassName(); + try { + Intent intent = new Intent(applicationContext, Class.forName(className)); + intent.putExtra(GcmIntentService.PushIntentExtraKeys.PUSH_ID, BADGE_ID); + intent.putExtra(GcmIntentService.PushIntentExtraKeys.PN_TYPE, "local"); + intent.setFlags(603979776); + build.contentIntent = PendingIntent.getActivity(applicationContext, 0, intent, 1073741824); + notificationManager.notify(BADGE_ID.hashCode(), build); + return null; + } catch (ClassNotFoundException e) { + String format = String.format("setBadgeCount(): Could not launch target activity: %s, exception: %s", className, e.toString()); + Log.Helper.LOGE(this, format, new Object[0]); + return new Error(Error.Code.SYSTEM_UNEXPECTED, format); + } + } catch (Exception e2) { + Log.Helper.LOGE(this, "setBadgeCount(): Unable to set application icon due to exception: " + e2.toString(), new Object[0]); + return new Error(Error.Code.SYSTEM_UNEXPECTED, "Unable to get pn_icon"); + } + } + Log.Helper.LOGE(this, "setBadgeCount(): Unsupported Android version, unable to set badge count", new Object[0]); + return new Error(Error.Code.UNSUPPORTED, "setBadgeCount(): Unsupported Android version, unable to set badge count"); + } + Log.Helper.LOGE(this, "setBadgeCount(): Local notifications are disabled, unable to set badge count", new Object[0]); + return new Error(Error.Code.NOT_AVAILABLE, "setBadgeCount(): Local notifications are disabled, unable to set badge count"); + } + + @Override // com.ea.nimble.INimbleLocalNotifications + public int getBadgeCount() { + Log.Helper.LOGPUBLICFUNC(this); + if (m_badgeProvider != null) { + return m_badgeProvider.getBadgeCount(); + } + if (Build.VERSION.SDK_INT >= 26) { + for (StatusBarNotification statusBarNotification : ((NotificationManager) ApplicationEnvironment.getComponent().getApplicationContext().getSystemService("notification")).getActiveNotifications()) { + if (statusBarNotification.getId() == BADGE_ID.hashCode()) { + return statusBarNotification.getNotification().number; + } + } + } else { + Log.Helper.LOGE(this, "getBadgeCount(): Unsupported Android version, unable to get badge count", new Object[0]); + } + return 0; + } + + private void saveNotificationMap() { + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + persistenceForNimbleComponent.setValue(PERSISTENCE_NOTIFICATION_MAP_KEY, this.m_notificationMap); + persistenceForNimbleComponent.synchronize(); + } +} diff --git a/app/src/main/java/com/ea/nimble/OperationalTelemetryDispatch.java b/app/src/main/java/com/ea/nimble/OperationalTelemetryDispatch.java new file mode 100644 index 0000000..3f458e6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/OperationalTelemetryDispatch.java @@ -0,0 +1,11 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class OperationalTelemetryDispatch { + public static final String COMPONENT_ID = "com.ea.nimble.operationaltelemetrydispatch"; + public static final String LOG_TAG = "OTDispatch"; + + public static IOperationalTelemetryDispatch getComponent() { + return (IOperationalTelemetryDispatch) Base.getComponent(COMPONENT_ID); + } +} diff --git a/app/src/main/java/com/ea/nimble/OperationalTelemetryDispatchImpl.java b/app/src/main/java/com/ea/nimble/OperationalTelemetryDispatchImpl.java new file mode 100644 index 0000000..3f182f1 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/OperationalTelemetryDispatchImpl.java @@ -0,0 +1,227 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class OperationalTelemetryDispatchImpl extends Component implements IOperationalTelemetryDispatch, LogSource { + private List m_networkMetricsArray = new ArrayList(); + private List m_networkPayloadsArray = new ArrayList(); + private Map m_maxEventQueueSizeDict = new HashMap(); + + @Override // com.ea.nimble.Component + protected void cleanup() { + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return OperationalTelemetryDispatch.COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return OperationalTelemetryDispatch.LOG_TAG; + } + + @Override // com.ea.nimble.Component + protected void restore() { + } + + @Override // com.ea.nimble.Component + protected void resume() { + } + + @Override // com.ea.nimble.Component + protected void suspend() { + } + + public OperationalTelemetryDispatchImpl() { + this.m_maxEventQueueSizeDict.put("com.ea.nimble.network", 100); + this.m_maxEventQueueSizeDict.put(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS, 100); + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public void logEvent(String str, JSONObject jSONObject) { + boolean z; + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "logEvent called with null or empty eventType.", new Object[0]); + return; + } + if (jSONObject == null || jSONObject.length() == 0) { + Log.Helper.LOGE(this, "logEvent called with null or empty eventDictionary.", new Object[0]); + return; + } + OperationalTelemetryEventImpl operationalTelemetryEventImpl = new OperationalTelemetryEventImpl(str, jSONObject, new Date()); + synchronized (this) { + z = true; + if (str.equals("com.ea.nimble.network")) { + if (!canLogEvent(str)) { + trimEventQueue(str); + } + if (canLogEvent(str)) { + this.m_networkMetricsArray.add(operationalTelemetryEventImpl); + } + } else if (str.equals(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS)) { + if (!canLogEvent(str)) { + trimEventQueue(str); + } + if (canLogEvent(str)) { + this.m_networkPayloadsArray.add(operationalTelemetryEventImpl); + } + } else { + z = false; + } + } + if (!z) { + Log.Helper.LOGE(this, "logEvent, unsupported OT eventType, " + str + ".", new Object[0]); + } + updateEventThresholdListeners(); + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public List getEvents(String str) { + Log.Helper.LOGPUBLICFUNC(this); + List list = null; + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "getEvents called with null or empty eventType.", new Object[0]); + return null; + } + synchronized (this) { + if (str.equals("com.ea.nimble.network")) { + list = this.m_networkMetricsArray; + this.m_networkMetricsArray = new ArrayList(); + } else if (str.equals(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS)) { + list = this.m_networkPayloadsArray; + this.m_networkPayloadsArray = new ArrayList(); + } + } + if (list == null) { + Log.Helper.LOGE(this, "getEvents, unsupported OT eventType, " + str + ".", new Object[0]); + } + return Collections.unmodifiableList(list); + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public void setMaxEventCount(String str, int i) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "setMaxEventCount called with null or empty eventType.", new Object[0]); + } else { + this.m_maxEventQueueSizeDict.put(str, Integer.valueOf(i)); + trimEventQueue(str); + } + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public int getMaxEventCount(String str) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGE(this, "getMaxEventCount called with null or empty eventType.", new Object[0]); + return 100; + } + Integer num = this.m_maxEventQueueSizeDict.get(str); + if (num == null) { + return 100; + } + return num.intValue(); + } + + private boolean canLogEvent(String str) { + List list; + Log.Helper.LOGFUNC(this); + int maxEventCount = getMaxEventCount(str); + if (str.equals("com.ea.nimble.network")) { + list = this.m_networkMetricsArray; + } else if (str.equals(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS)) { + list = this.m_networkPayloadsArray; + } else { + Log.Helper.LOGE(this, "canLogEvent, unsupported OT eventType, " + str + ".", new Object[0]); + return false; + } + return ((list.size() < maxEventCount) || (maxEventCount < 0)) && !(maxEventCount == 0); + } + + private void updateEventThresholdListeners() { + Log.Helper.LOGFUNC(this); + int maxEventCount = getMaxEventCount("com.ea.nimble.network"); + if (maxEventCount > 0) { + double d = maxEventCount; + Double.isNaN(d); + if (this.m_networkMetricsArray.size() >= ((int) (d * 0.75d))) { + HashMap hashMap = new HashMap(); + hashMap.put("eventType", "com.ea.nimble.network"); + Utility.sendBroadcast(IOperationalTelemetryDispatch.NOTIFICATION_OT_EVENT_THRESHOLD_WARNING, hashMap); + Log.Helper.LOGV(this, "updateEventThresholdListeners, notifying listeners event queue is approaching threshold.", new Object[0]); + } + } + int maxEventCount2 = getMaxEventCount(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS); + if (maxEventCount2 > 0) { + double d2 = maxEventCount2; + Double.isNaN(d2); + if (this.m_networkPayloadsArray.size() >= ((int) (d2 * 0.75d))) { + HashMap hashMap2 = new HashMap(); + hashMap2.put("eventType", IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS); + Utility.sendBroadcast(IOperationalTelemetryDispatch.NOTIFICATION_OT_EVENT_THRESHOLD_WARNING, hashMap2); + Log.Helper.LOGV(this, "updateEventThresholdListeners, notifying listeners event queue is approaching threshold.", new Object[0]); + } + } + } + + private void trimEventQueue(String str) { + List list; + Log.Helper.LOGFUNC(this); + int maxEventCount = getMaxEventCount(str); + if (str.equals("com.ea.nimble.network")) { + list = this.m_networkMetricsArray; + } else { + if (!str.equals(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS)) { + Log.Helper.LOGE(this, "trimEventQueue, unsupported OT eventType, " + str + ".", new Object[0]); + return; + } + list = this.m_networkPayloadsArray; + } + if (maxEventCount >= 0 && list.size() != 0 && list.size() - maxEventCount >= 0) { + synchronized (this) { + try { + if (maxEventCount == 0) { + list.clear(); + } else { + int i = maxEventCount / 2; + Log.Helper.LOGI(this, "trimEventQueues, queue threshold surprassed, purging " + i + " older events ", new Object[0]); + for (int i2 = 0; i2 < i; i2++) { + purgeOldestEvent(list); + } + } + } catch (Throwable th) { + throw th; + } + } + } + } + + private void purgeOldestEvent(List list) { + Log.Helper.LOGFUNC(this); + synchronized (this) { + if (list.size() == 0) { + Log.Helper.LOGD(this, "purgeOldestEvent called with empty event array.", new Object[0]); + return; + } + OperationalTelemetryEvent operationalTelemetryEvent = null; + for (OperationalTelemetryEvent operationalTelemetryEvent2 : list) { + if (operationalTelemetryEvent == null || operationalTelemetryEvent2.getLoggedTime().before(operationalTelemetryEvent.getLoggedTime())) { + operationalTelemetryEvent = operationalTelemetryEvent2; + } + } + if (operationalTelemetryEvent != null) { + list.remove(operationalTelemetryEvent); + } + } + } +} diff --git a/app/src/main/java/com/ea/nimble/OperationalTelemetryEvent.java b/app/src/main/java/com/ea/nimble/OperationalTelemetryEvent.java new file mode 100644 index 0000000..27b66d6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/OperationalTelemetryEvent.java @@ -0,0 +1,15 @@ +package com.ea.nimble; + +import java.util.Date; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public interface OperationalTelemetryEvent { + JSONObject getEventDictionary(); + + String getEventDictionaryString(); + + String getEventType(); + + Date getLoggedTime(); +} diff --git a/app/src/main/java/com/ea/nimble/OperationalTelemetryEventImpl.java b/app/src/main/java/com/ea/nimble/OperationalTelemetryEventImpl.java new file mode 100644 index 0000000..809fe4e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/OperationalTelemetryEventImpl.java @@ -0,0 +1,41 @@ +package com.ea.nimble; + +import java.util.Date; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class OperationalTelemetryEventImpl implements OperationalTelemetryEvent { + private JSONObject m_eventDictionary; + private String m_eventType; + private Date m_loggedTime; + + public OperationalTelemetryEventImpl(String str, JSONObject jSONObject, Date date) { + this.m_eventType = str; + this.m_eventDictionary = jSONObject; + this.m_loggedTime = date; + } + + @Override // com.ea.nimble.OperationalTelemetryEvent + public String getEventType() { + return this.m_eventType; + } + + @Override // com.ea.nimble.OperationalTelemetryEvent + public JSONObject getEventDictionary() { + return this.m_eventDictionary; + } + + @Override // com.ea.nimble.OperationalTelemetryEvent + public String getEventDictionaryString() { + return this.m_eventDictionary.toString(); + } + + @Override // com.ea.nimble.OperationalTelemetryEvent + public Date getLoggedTime() { + return this.m_loggedTime; + } + + public String toString() { + return String.format("OperationalTelemetryEvent(%s)-(%s) > %s", getEventType(), getLoggedTime(), getEventDictionary()); + } +} diff --git a/app/src/main/java/com/ea/nimble/Persistence.java b/app/src/main/java/com/ea/nimble/Persistence.java new file mode 100644 index 0000000..ea80a40 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Persistence.java @@ -0,0 +1,556 @@ +package com.ea.nimble; + +import android.app.backup.BackupManager; +import android.content.Context; +import com.ea.nimble.Log; +import com.ea.nimble.PersistenceService; +import java.io.BufferedInputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InvalidClassException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +public class Persistence implements LogSource { + private static int PERSISTENCE_VERSION = 101; + static final Object s_dataLock = new Object(); + private boolean m_backUp; + private boolean m_changed; + private Map m_content; + private boolean m_encryption; + private Encryptor m_encryptor; + private String m_identifier; + private Storage m_storage; + private Timer m_synchronizeTimer; + + public enum Storage { + DOCUMENT, + CACHE, + TEMP + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Persistence"; + } + + Persistence(String str, Storage storage, Encryptor encryptor) { + this.m_synchronizeTimer = new Timer(new Runnable() { // from class: com.ea.nimble.Persistence.1 + @Override // java.lang.Runnable + public void run() { + Persistence.this.synchronize(); + } + }); + this.m_content = new HashMap(); + this.m_identifier = str; + this.m_storage = storage; + this.m_encryptor = encryptor; + this.m_encryption = false; + this.m_backUp = false; + this.m_changed = false; + } + + Persistence(Persistence persistence, String str) { + this.m_synchronizeTimer = new Timer(new Runnable() { // from class: com.ea.nimble.Persistence.1 + @Override // java.lang.Runnable + public void run() { + Persistence.this.synchronize(); + } + }); + this.m_content = new HashMap(persistence.m_content); + this.m_identifier = str; + this.m_storage = persistence.m_storage; + this.m_encryptor = persistence.m_encryptor; + this.m_encryption = persistence.m_encryption; + this.m_backUp = persistence.m_backUp; + flagChange(); + } + + public String getIdentifier() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_identifier; + } + + public Storage getStorage() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_storage; + } + + public boolean getEncryption() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_encryption; + } + + public void setEncryption(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + if (z != this.m_encryption) { + this.m_encryption = z; + flagChange(); + } + } + + public boolean getBackUp() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_backUp; + } + + public void setBackUp(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_storage != Storage.DOCUMENT) { + Log.Helper.LOGF(this, "Error: Backup flag not supported for storage: " + this.m_storage, new Object[0]); + return; + } + this.m_backUp = z; + } + + void merge(Persistence persistence, PersistenceService.PersistenceMergePolicy persistenceMergePolicy) { + Log.Helper.LOGFUNC(this); + switch (persistenceMergePolicy) { + case OVERWRITE: + this.m_content = new HashMap(persistence.m_content); + break; + case SOURCE_FIRST: + this.m_content.putAll(persistence.m_content); + break; + case TARGET_FIRST: + for (String str : persistence.m_content.keySet()) { + if (this.m_content.get(str) == null) { + this.m_content.put(str, persistence.m_content.get(str)); + } + } + break; + } + } + + void restore(boolean z, Context context) { + Log.Helper.LOGFUNC(this); + synchronized (s_dataLock) { + loadPersistenceData(z, context); + } + } + + public boolean hasKey(String str) { + boolean z; + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + z = this.m_content.get(str) != null; + } + return z; + } + + public void setValue(String str, Serializable serializable) { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + if (!Utility.validString(str)) { + Log.Helper.LOGD(this, "Key " + str + " is an invalid string", new Object[0]); + Log.Helper.LOGF(this, "NimblePersistence cannot accept an invalid string as key", new Object[0]); + return; + } + if (serializable == null) { + if (this.m_content.get(str) != null) { + this.m_content.remove(str); + flagChange(); + } + return; + } + try { + putValue(str, serializable); + } catch (IOException unused) { + Log.Helper.LOGD(this, "Value " + serializable.toString() + " was unable to be archived", new Object[0]); + Log.Helper.LOGF(this, "NimblePersistence cannot archive value", new Object[0]); + } + } + } + + public Serializable getValue(String str) { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + byte[] bArr = this.m_content.get(str); + if (bArr == null) { + return null; + } + try { + return (Serializable) new ObjectInputStream(new ByteArrayInputStream(bArr)).readObject(); + } catch (Exception e) { + Log.Helper.LOGD(this, "PERSIST: Exception getting value, " + str + ":" + e, new Object[0]); + return null; + } + } + } + + public String getStringValue(String str) { + Log.Helper.LOGPUBLICFUNC(this); + Serializable value = getValue(str); + try { + return (String) value; + } catch (ClassCastException unused) { + Log.Helper.LOGD(this, "Invalid value is " + value.getClass().getName(), new Object[0]); + Log.Helper.LOGF(this, "Invalid value type for getStringValueCall", new Object[0]); + return null; + } + } + + public boolean getBoolValue(String str) { + Log.Helper.LOGPUBLICFUNC(this); + Serializable value = getValue(str); + try { + if (value != null) { + return ((Boolean) value).booleanValue(); + } + throw new ClassCastException(); + } catch (ClassCastException unused) { + Log.Helper.LOGD(this, "Invalid value is " + value.getClass().getName(), new Object[0]); + Log.Helper.LOGF(this, "Invalid value type for getBoolValue", new Object[0]); + return false; + } + } + + public void addEntries(Object... objArr) { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + String str = null; + for (int i = 0; i < objArr.length; i++) { + if (i % 2 == 0) { + try { + str = (String) objArr[i]; + if (!Utility.validString(str)) { + throw new RuntimeException("Invalid key"); + } + } catch (Exception unused) { + Log.Helper.LOGF(this, "Invalid key in NimblePersistence.addEntries at index %d, not a string", Integer.valueOf(i)); + return; + } + } else { + try { + putValue(str, (Serializable) objArr[i]); + } catch (Exception unused2) { + Log.Helper.LOGD(this, "Invalid value for key %s", str); + Log.Helper.LOGF(this, "Invalid value in NimblePersistence.addEntries at index %d", Integer.valueOf(i)); + return; + } + } + } + } + } + + public void addEntriesFromMap(Map map) { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + if (!Utility.validString(key)) { + Log.Helper.LOGD(this, "Invalid key %s", key); + Log.Helper.LOGE(this, "Invalid key in NimblePersistence.addEntriesInDictionary, not a string, skip it", new Object[0]); + } else { + Serializable value = entry.getValue(); + if (value != null) { + try { + putValue(key, value); + } catch (IOException unused) { + } + } + Log.Helper.LOGD(this, "Invalid key %s", key); + Log.Helper.LOGE(this, "Invalid value in NimblePersistence.addEntries for key", new Object[0]); + } + } + } + } + + public void clean() { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + this.m_content.clear(); + clearSynchronizeTimer(); + String persistencePath = getPersistencePath(this.m_identifier, this.m_storage); + if (persistencePath != null) { + File file = new File(persistencePath); + if (file.exists() && !file.delete()) { + Log.Helper.LOGE(this, "Fail to clean persistence file for id[%s] in storage %s", this.m_identifier, this.m_storage.toString()); + } + } else { + Log.Helper.LOGE(this, "Could not get path to persistence for id[%s] in storage %s", this.m_identifier, this.m_storage.toString()); + } + } + } + + public void synchronize() { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (s_dataLock) { + if (!this.m_changed) { + Log.Helper.LOGD(this, "Not synchronizing to persistence for id[%s] since there is no change", this.m_identifier); + return; + } + clearSynchronizeTimer(); + savePersistenceData(); + if (this.m_backUp) { + new BackupManager(ApplicationEnvironment.getComponent().getApplicationContext()).dataChanged(); + } + } + } + + private void clearSynchronizeTimer() { + Log.Helper.LOGFUNC(this); + synchronized (s_dataLock) { + this.m_synchronizeTimer.cancel(); + } + } + + private void flagChange() { + Log.Helper.LOGFUNC(this); + this.m_changed = true; + synchronized (s_dataLock) { + clearSynchronizeTimer(); + this.m_synchronizeTimer.schedule(0.5d, false); + } + } + + private void putValue(String str, Serializable serializable) throws IOException { + Log.Helper.LOGFUNC(this); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); + objectOutputStream.writeObject(serializable); + objectOutputStream.close(); + byte[] byteArray = byteArrayOutputStream.toByteArray(); + if (Arrays.equals(byteArray, this.m_content.get(str))) { + return; + } + this.m_content.put(str, byteArray); + flagChange(); + } + + private void loadPersistenceData(boolean z, Context context) { + String persistencePath; + FileInputStream fileInputStream; + ObjectInputStream objectInputStream; + ObjectInputStream objectInputStream2; + Log.Helper.LOGFUNC(this); + if (context == null) { + persistencePath = getPersistencePath(this.m_identifier, this.m_storage); + } else { + persistencePath = getPersistencePath(this.m_identifier, this.m_storage, context); + } + if (persistencePath == null) { + return; + } + File file = new File(persistencePath); + if (!file.exists() || file.length() == 0) { + Log.Helper.LOGD(this, "No persistence file for id[%s] to restore from storage %s", this.m_identifier, this.m_storage.toString()); + return; + } + Log.Helper.LOGD(this, "Loading persistence file size %d", Long.valueOf(file.length())); + FileInputStream fileInputStream2 = null; + try { + try { + try { + fileInputStream = new FileInputStream(file); + try { + objectInputStream = new ObjectInputStream(fileInputStream); + } catch (Exception e) { + e = e; + fileInputStream2 = fileInputStream; + Log.Helper.LOGE(this, "Can't read persistence (%s) file, %s: %s", this.m_identifier, persistencePath, e.toString()); + e.printStackTrace(); + if (fileInputStream2 != null) { + fileInputStream2.close(); + } + return; + } catch (Throwable th) { + th = th; + if (fileInputStream != null) { + try { + fileInputStream.close(); + } catch (IOException unused) { + } + } + throw th; + } + } catch (Throwable th2) { + th = th2; + fileInputStream = fileInputStream2; + } + } catch (Exception e2) { + e = e2; + } + if (objectInputStream.readInt() != PERSISTENCE_VERSION) { + throw new InvalidClassException("com.ea.nimble.Persistence", "Persistence version doesn't match"); + } + this.m_encryption = objectInputStream.readBoolean(); + this.m_backUp = objectInputStream.readBoolean(); + if (!z) { + BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); + if (this.m_encryption) { + objectInputStream2 = this.m_encryptor.encryptInputStream(bufferedInputStream); + } else { + objectInputStream2 = new ObjectInputStream(bufferedInputStream); + } + this.m_content = (Map) objectInputStream2.readObject(); + Log.Helper.LOGD(this, "Persistence file for id[%s] restored from storage %s", this.m_identifier, this.m_storage.toString()); + objectInputStream2.close(); + } + objectInputStream.close(); + fileInputStream.close(); + } catch (IOException unused2) { + } + } + + /* JADX WARN: Code restructure failed: missing block: B:24:0x00b7, code lost: + + if (r6 == null) goto L30; + */ + /* JADX WARN: Removed duplicated region for block: B:32:0x00cf A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private void savePersistenceData() { + /* + Method dump skipped, instructions count: 211 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.Persistence.savePersistenceData():void"); + } + + static File getPersistenceDirectory(Storage storage) { + String documentPath; + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + switch (storage) { + case DOCUMENT: + documentPath = component.getDocumentPath(); + break; + case CACHE: + documentPath = component.getCachePath(); + break; + case TEMP: + documentPath = component.getTempPath(); + break; + default: + Log.Helper.LOGES("Persistence", "Unknown storage type", new Object[0]); + return null; + } + File file = new File(documentPath + File.separator + "persistence"); + if (file.isDirectory() || file.mkdirs()) { + return file; + } + Log.Helper.LOGE("Persistence", "Cannot create persistence folder in storage(%s) %s", storage, file.toString()); + return null; + } + + /* JADX WARN: Removed duplicated region for block: B:11:0x002f */ + /* JADX WARN: Removed duplicated region for block: B:13:0x003b */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + static java.io.File getPersistenceDirectory(com.ea.nimble.Persistence.Storage r6, android.content.Context r7) { + /* + int[] r0 = com.ea.nimble.Persistence.AnonymousClass2.$SwitchMap$com$ea$nimble$Persistence$Storage + int r1 = r6.ordinal() + r0 = r0[r1] + r1 = 0 + switch(r0) { + case 1: goto L1f; + case 2: goto L14; + case 3: goto L14; + default: goto Lc; + } + Lc: + java.lang.String r6 = "Nimble" + java.lang.String r7 = "Persistence : Unknown storage type" + android.util.Log.e(r6, r7) + return r1 + L14: + java.io.File r7 = r7.getCacheDir() + if (r7 == 0) goto L2a + java.lang.String r7 = r7.getPath() + goto L2b + L1f: + java.io.File r7 = r7.getFilesDir() + if (r7 == 0) goto L2a + java.lang.String r7 = r7.getPath() + goto L2b + L2a: + r7 = r1 + L2b: + r0 = 0 + r2 = 1 + if (r7 != 0) goto L3b + java.lang.String r7 = "Nimble" + java.lang.String r3 = "Persistence : Could not build base path for storage(%s)" + java.lang.Object[] r2 = new java.lang.Object[r2] + r2[r0] = r6 + com.ea.nimble.Log.Helper.LOGE(r7, r3, r2) + return r1 + L3b: + java.lang.String r3 = "com.ea.nimble.configuration" + java.lang.String r3 = com.ea.nimble.NimbleApplicationConfiguration.getConfigValueAsString(r3) + java.lang.StringBuilder r4 = new java.lang.StringBuilder + r4.() + r4.append(r7) + java.lang.String r7 = java.io.File.separator + r4.append(r7) + java.lang.String r7 = "Nimble" + r4.append(r7) + java.lang.String r7 = java.io.File.separator + r4.append(r7) + r4.append(r3) + java.lang.String r7 = java.io.File.separator + r4.append(r7) + java.lang.String r7 = "persistence" + r4.append(r7) + java.lang.String r7 = r4.toString() + com.ea.nimble.Persistence$Storage r3 = com.ea.nimble.Persistence.Storage.TEMP + if (r6 != r3) goto L83 + java.lang.StringBuilder r3 = new java.lang.StringBuilder + r3.() + r3.append(r7) + java.lang.String r7 = java.io.File.separator + r3.append(r7) + java.lang.String r7 = "temp" + r3.append(r7) + java.lang.String r7 = r3.toString() + L83: + java.io.File r3 = new java.io.File + r3.(r7) + boolean r4 = r3.isDirectory() + if (r4 != 0) goto La7 + boolean r4 = r3.mkdirs() + if (r4 != 0) goto La7 + java.lang.String r3 = "Nimble" + java.lang.String r4 = "Persistence : Cannot create persistence folder in storage(%s) %s" + r5 = 2 + java.lang.Object[] r5 = new java.lang.Object[r5] + r5[r0] = r6 + r5[r2] = r7 + java.lang.String r6 = java.lang.String.format(r4, r5) + android.util.Log.e(r3, r6) + return r1 + La7: + return r3 + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.Persistence.getPersistenceDirectory(com.ea.nimble.Persistence$Storage, android.content.Context):java.io.File"); + } + + static String getPersistencePath(String str, Storage storage) { + File persistenceDirectory = getPersistenceDirectory(storage); + if (persistenceDirectory == null) { + return null; + } + return persistenceDirectory + File.separator + str + ".dat"; + } + + static String getPersistencePath(String str, Storage storage, Context context) { + File persistenceDirectory = getPersistenceDirectory(storage, context); + if (persistenceDirectory == null) { + return null; + } + return persistenceDirectory + File.separator + str + ".dat"; + } +} diff --git a/app/src/main/java/com/ea/nimble/PersistenceService.java b/app/src/main/java/com/ea/nimble/PersistenceService.java new file mode 100644 index 0000000..5e83c89 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/PersistenceService.java @@ -0,0 +1,123 @@ +package com.ea.nimble; + +import android.app.backup.BackupAgent; +import android.app.backup.BackupDataInput; +import android.app.backup.BackupDataOutput; +import android.content.Context; +import android.os.ParcelFileDescriptor; +import com.ea.nimble.Log; +import com.ea.nimble.Persistence; +import java.io.FileOutputStream; +import java.io.IOException; + +/* loaded from: classes.dex */ +public class PersistenceService { + private static final String APPLICATION_PERSISTENCE_ID = "[APPLICATION]"; + public static final String COMPONENT_ID = "com.ea.nimble.persistence"; + private static final String NIMBLE_COMPONENT_PERSISTENCE_ID_TEMPLATE = "[COMPONENT]%s"; + + public enum PersistenceMergePolicy { + OVERWRITE, + SOURCE_FIRST, + TARGET_FIRST + } + + public static class PersistenceBackupAgent extends BackupAgent { + @Override // android.app.backup.BackupAgent + public void onBackup(ParcelFileDescriptor parcelFileDescriptor, BackupDataOutput backupDataOutput, ParcelFileDescriptor parcelFileDescriptor2) throws IOException { + synchronized (Persistence.s_dataLock) { + PersistenceService.writeBackup(parcelFileDescriptor, backupDataOutput, parcelFileDescriptor2, this); + } + } + + @Override // android.app.backup.BackupAgent + public void onRestore(BackupDataInput backupDataInput, int i, ParcelFileDescriptor parcelFileDescriptor) throws IOException { + synchronized (Persistence.s_dataLock) { + PersistenceService.readBackup(backupDataInput, i, parcelFileDescriptor, this); + } + } + } + + public static IPersistenceService getComponent() { + return BaseCore.getInstance().getPersistenceService(); + } + + public static Persistence getAppPersistence(Persistence.Storage storage) { + return getComponent().getPersistence(APPLICATION_PERSISTENCE_ID, storage); + } + + public static Persistence getPersistenceForNimbleComponent(String str, Persistence.Storage storage) { + if (!Utility.validString(str)) { + Log.Helper.LOGF("Persistence", "Invalid componentId " + str + " for component persistence", new Object[0]); + return null; + } + return getComponent().getPersistence(String.format(NIMBLE_COMPONENT_PERSISTENCE_ID_TEMPLATE, str), storage); + } + + public static void removePersistenceForNimbleComponent(String str, Persistence.Storage storage) { + if (!Utility.validString(str)) { + Log.Helper.LOGF("Persistence", "Invalid componentId " + str + " for component persistence", new Object[0]); + return; + } + getComponent().removePersistence(String.format(NIMBLE_COMPONENT_PERSISTENCE_ID_TEMPLATE, str), storage); + } + + public static void cleanReferenceToPersistence(String str, Persistence.Storage storage) { + if (!Utility.validString(str)) { + Log.Helper.LOGF("Persistence", "Invalid componentId " + str + " for component persistence", new Object[0]); + return; + } + getComponent().cleanPersistenceReference(String.format(NIMBLE_COMPONENT_PERSISTENCE_ID_TEMPLATE, str), storage); + } + + /* JADX WARN: Removed duplicated region for block: B:6:0x003e */ + /* JADX WARN: Removed duplicated region for block: B:9:0x0048 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + static void writeBackup(android.os.ParcelFileDescriptor r18, android.app.backup.BackupDataOutput r19, android.os.ParcelFileDescriptor r20, android.content.Context r21) throws java.io.IOException { + /* + Method dump skipped, instructions count: 268 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.PersistenceService.writeBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor, android.content.Context):void"); + } + + static void readBackup(BackupDataInput backupDataInput, int i, ParcelFileDescriptor parcelFileDescriptor, Context context) throws IOException { + FileOutputStream fileOutputStream; + while (true) { + FileOutputStream fileOutputStream2 = null; + if (!backupDataInput.readNextHeader()) { + break; + } + String key = backupDataInput.getKey(); + int dataSize = backupDataInput.getDataSize(); + byte[] bArr = new byte[dataSize]; + backupDataInput.readEntityData(bArr, 0, dataSize); + try { + fileOutputStream = new FileOutputStream(Persistence.getPersistencePath(key, Persistence.Storage.DOCUMENT, context)); + } catch (Throwable th) { + th = th; + } + try { + fileOutputStream.write(bArr); + fileOutputStream.close(); + } catch (Throwable th2) { + th = th2; + fileOutputStream2 = fileOutputStream; + if (fileOutputStream2 != null) { + fileOutputStream2.close(); + } + throw th; + } + } + if (ApplicationEnvironment.isMainApplicationRunning()) { + for (Persistence persistence : ((PersistenceServiceImpl) getComponent()).m_persistences.values()) { + if (persistence.getBackUp()) { + persistence.restore(false, null); + } + } + } + } +} diff --git a/app/src/main/java/com/ea/nimble/PersistenceServiceImpl.java b/app/src/main/java/com/ea/nimble/PersistenceServiceImpl.java new file mode 100644 index 0000000..5d03a42 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/PersistenceServiceImpl.java @@ -0,0 +1,190 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.google.android.vending.expansion.downloader.Constants; +import java.io.File; +import java.util.Iterator; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/* loaded from: classes.dex */ +public class PersistenceServiceImpl extends Component implements IPersistenceService, LogSource { + private Encryptor m_encryptor; + protected ConcurrentMap m_persistences; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return PersistenceService.COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Persistence"; + } + + @Override // com.ea.nimble.Component + public void setup() { + this.m_persistences = new ConcurrentHashMap(); + this.m_encryptor = new Encryptor(); + } + + @Override // com.ea.nimble.Component + public void suspend() { + synchronize(); + } + + @Override // com.ea.nimble.Component + public void teardown() { + synchronize(); + synchronized (Persistence.s_dataLock) { + this.m_persistences = null; + this.m_encryptor = null; + } + } + + @Override // com.ea.nimble.IPersistenceService + public Persistence getPersistence(String str, Persistence.Storage storage) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGF(this, "Invalid identifier " + str + " for persistence", new Object[0]); + return null; + } + synchronized (Persistence.s_dataLock) { + Persistence loadPersistenceById = loadPersistenceById(str, storage); + if (loadPersistenceById != null) { + return loadPersistenceById; + } + Persistence persistence = new Persistence(str, storage, this.m_encryptor); + this.m_persistences.put(str + Constants.FILENAME_SEQUENCE_SEPARATOR + storage.toString(), persistence); + return persistence; + } + } + + @Override // com.ea.nimble.IPersistenceService + public void removePersistence(String str, Persistence.Storage storage) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGF(this, "Invalid identifier " + str + " for persistence", new Object[0]); + return; + } + cleanPersistenceReference(str, storage); + } + + @Override // com.ea.nimble.IPersistenceService + public void cleanPersistenceReference(String str, Persistence.Storage storage) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str)) { + Log.Helper.LOGF(this, "Invalid identifier " + str + " for persistence", new Object[0]); + return; + } + synchronized (Persistence.s_dataLock) { + this.m_persistences.remove(str + Constants.FILENAME_SEQUENCE_SEPARATOR + storage.toString()); + } + } + + @Override // com.ea.nimble.IPersistenceService + public void wipeAllDataAndForceTerminate() { + Log.Helper.LOGPUBLICFUNC(this); + String documentPath = ApplicationEnvironment.getComponent().getDocumentPath(); + String tempPath = ApplicationEnvironment.getComponent().getTempPath(); + String cachePath = ApplicationEnvironment.getComponent().getCachePath(); + BaseCore.getInstance().onApplicationQuit(); + try { + Log.Helper.LOGW(this, "!!! Wipe begin !!!", new Object[0]); + Log.Helper.LOGD(this, "Clearing DOC folder", new Object[0]); + if (deletePath(documentPath)) { + Log.Helper.LOGD(this, "Successfully deleted doc directory", new Object[0]); + } else { + Log.Helper.LOGE(this, "Failed to delete doc directory", new Object[0]); + } + Log.Helper.LOGD(this, "Clearing TEMP folder", new Object[0]); + if (deletePath(tempPath)) { + Log.Helper.LOGD(this, "Successfully deleted temp directory", new Object[0]); + } else { + Log.Helper.LOGE(this, "Failed to delete temp directory", new Object[0]); + } + Log.Helper.LOGD(this, "Clearing CACHE folder", new Object[0]); + if (deletePath(cachePath)) { + Log.Helper.LOGD(this, "Successfully deleted cache directory", new Object[0]); + } else { + Log.Helper.LOGE(this, "Failed to delete cache directory", new Object[0]); + } + Log.Helper.LOGW(this, "!!! Wipe complete. Force terminating the application !!!", new Object[0]); + } catch (Exception e) { + Log.Helper.LOGE(this, "!!! Wipe exception !!!\n" + e.toString(), new Object[0]); + } + System.exit(0); + } + + @Override // com.ea.nimble.IPersistenceService + public void migratePersistence(String str, Persistence.Storage storage, String str2, PersistenceService.PersistenceMergePolicy persistenceMergePolicy) { + Log.Helper.LOGPUBLICFUNC(this); + if (!Utility.validString(str) || !Utility.validString(str2)) { + Log.Helper.LOGF(this, "Invalid identifiers " + str + " or " + str2 + " for component persistence", new Object[0]); + return; + } + synchronized (Persistence.s_dataLock) { + String str3 = str2 + Constants.FILENAME_SEQUENCE_SEPARATOR + storage.toString(); + Persistence loadPersistenceById = loadPersistenceById(str, storage); + if (loadPersistenceById == null) { + if (persistenceMergePolicy == PersistenceService.PersistenceMergePolicy.OVERWRITE) { + this.m_persistences.remove(str3); + String persistencePath = Persistence.getPersistencePath(str2, storage); + File file = persistencePath != null ? new File(persistencePath) : null; + if (file == null || !file.delete()) { + Log.Helper.LOGE(this, "Could not delete file: " + persistencePath, new Object[0]); + } + } + return; + } + Persistence loadPersistenceById2 = loadPersistenceById(str2, storage); + if (loadPersistenceById2 == null) { + Persistence persistence = new Persistence(loadPersistenceById, str2); + this.m_persistences.put(str3, persistence); + persistence.synchronize(); + } else { + loadPersistenceById2.merge(loadPersistenceById, persistenceMergePolicy); + } + } + } + + private void synchronize() { + Log.Helper.LOGFUNC(this); + Iterator it = this.m_persistences.values().iterator(); + while (it.hasNext()) { + it.next().synchronize(); + } + } + + private Persistence loadPersistenceById(String str, Persistence.Storage storage) { + Log.Helper.LOGFUNC(this); + synchronized (Persistence.s_dataLock) { + String str2 = str + Constants.FILENAME_SEQUENCE_SEPARATOR + storage.toString(); + Persistence persistence = this.m_persistences.get(str2); + if (persistence != null) { + return persistence; + } + String persistencePath = Persistence.getPersistencePath(str, storage); + File file = persistencePath != null ? new File(persistencePath) : null; + if (file != null && file.exists()) { + Persistence persistence2 = new Persistence(str, storage, this.m_encryptor); + persistence2.restore(false, null); + this.m_persistences.put(str2, persistence2); + return persistence2; + } + return null; + } + } + + private boolean deletePath(String str) { + File file = new File(str); + if (file.isDirectory()) { + for (String str2 : file.list()) { + deletePath(new File(file, str2).getPath()); + } + } + return file.delete(); + } +} diff --git a/app/src/main/java/com/ea/nimble/QA.java b/app/src/main/java/com/ea/nimble/QA.java new file mode 100644 index 0000000..f4741f0 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/QA.java @@ -0,0 +1,10 @@ +package com.ea.nimble; + +import com.ea.nimble.Persistence; + +/* loaded from: classes.dex */ +public class QA { + static String getPersistencePath(String str, Persistence.Storage storage) { + return Persistence.getPersistencePath(str, storage); + } +} diff --git a/app/src/main/java/com/ea/nimble/ReferrerReceiver.java b/app/src/main/java/com/ea/nimble/ReferrerReceiver.java new file mode 100644 index 0000000..c7f4b7d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/ReferrerReceiver.java @@ -0,0 +1,14 @@ +package com.ea.nimble; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class ReferrerReceiver extends BroadcastReceiver { + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGES("ReferrerReceiver", "ReferrerReceiver has been deprecated. Please remove \"com.ea.nimble.ReferrerReceiver\" receiver block from your AndroidManifest.xml file.", new Object[0]); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyEnvironment.java b/app/src/main/java/com/ea/nimble/SynergyEnvironment.java new file mode 100644 index 0000000..5674492 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyEnvironment.java @@ -0,0 +1,40 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class SynergyEnvironment { + public static final String COMPONENT_ID = "com.ea.nimble.synergyEnvironment"; + public static final int INVALID_INT_VALUE = -1; + public static final String NOTIFICATION_APP_VERSION_CHECK_FINISHED = "nimble.environment.notification.app_version_check_finished"; + public static final String NOTIFICATION_RESTORED_FROM_PERSISTENT = "nimble.environment.notification.restored_from_persistent"; + public static final String NOTIFICATION_STARTUP_ENVIRONMENT_DATA_CHANGED = "nimble.environment.notification.startup_environment_data_changed"; + public static final String NOTIFICATION_STARTUP_REQUESTS_FINISHED = "nimble.environment.notification.startup_requests_finished"; + public static final String NOTIFICATION_STARTUP_REQUESTS_STARTED = "nimble.environment.notification.startup_requests_started"; + public static final String SERVER_URL_KEY_AKAMAI = "akamai.url"; + public static final String SERVER_URL_KEY_ANTELOPE_GROUPS = "antelope.groups.url"; + public static final String SERVER_URL_KEY_ANTELOPE_REAL_TIME_MESSAGING = "antelope.rtm.host"; + public static final String SERVER_URL_KEY_ANTELOPE_REST_MESSAGING = "antelope.rtm.url"; + public static final String SERVER_URL_KEY_ARUBA = "aruba.url"; + public static final String SERVER_URL_KEY_DYNAMIC_MORE_GAMES = "dmg.url"; + public static final String SERVER_URL_KEY_EADP_FRIENDS_HOST = "eadp.friends.host"; + public static final String SERVER_URL_KEY_ENS = "ens.url"; + public static final String SERVER_URL_KEY_IDENTITY_CONNECT = "nexus.connect"; + public static final String SERVER_URL_KEY_IDENTITY_PORTAL = "nexus.portal"; + public static final String SERVER_URL_KEY_IDENTITY_PROXY = "nexus.proxy"; + public static final String SERVER_URL_KEY_MAYHEM = "mayhem.url"; + public static final String SERVER_URL_KEY_ORIGIN_AVATAR = "avatars.url"; + public static final String SERVER_URL_KEY_ORIGIN_CASUAL_APP = "origincasualapp.url"; + public static final String SERVER_URL_KEY_ORIGIN_CASUAL_SERVER = "origincasualserver.url"; + public static final String SERVER_URL_KEY_ORIGIN_FRIENDS = "friends.url"; + public static final String SERVER_URL_KEY_SYNERGY_CENTRAL_IP_GEOLOCATION = "geoip.url"; + public static final String SERVER_URL_KEY_SYNERGY_DIRECTOR = "synergy.director"; + public static final String SERVER_URL_KEY_SYNERGY_DRM = "synergy.drm"; + public static final String SERVER_URL_KEY_SYNERGY_MESSAGE_TO_USER = "synergy.m2u"; + public static final String SERVER_URL_KEY_SYNERGY_PRODUCT = "synergy.product"; + public static final String SERVER_URL_KEY_SYNERGY_S2S = "synergy.s2s"; + public static final String SERVER_URL_KEY_SYNERGY_TRACKING = "synergy.tracking"; + public static final String SERVER_URL_KEY_SYNERGY_USER = "synergy.user"; + + public static ISynergyEnvironment getComponent() { + return (ISynergyEnvironment) Base.getComponent(COMPONENT_ID); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyEnvironmentImpl.java b/app/src/main/java/com/ea/nimble/SynergyEnvironmentImpl.java new file mode 100644 index 0000000..2796637 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyEnvironmentImpl.java @@ -0,0 +1,448 @@ +package com.ea.nimble; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.preference.PreferenceManager; +import com.ea.nimble.Error; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import com.ea.nimble.Persistence; +import com.ea.nimble.SynergyEnvironmentUpdater; +import java.io.Serializable; +import java.util.HashMap; + +/* loaded from: classes.dex */ +public class SynergyEnvironmentImpl extends Component implements ISynergyEnvironment, LogSource { + private static final String PERSISTENCE_DATA_ID = "environmentData"; + public static final int SYNERGY_APP_VERSION_OK = 0; + public static final int SYNERGY_APP_VERSION_UPDATE_RECOMMENDED = 1; + public static final int SYNERGY_APP_VERSION_UPDATE_REQUIRED = 2; + private static final String SYNERGY_INT_SERVER_URL = "https://director-int.sn.eamobile.com"; + private static final String SYNERGY_LIVE_SERVER_URL = "https://syn-dir.sn.eamobile.com"; + private static final String SYNERGY_STAGE_SERVER_URL = "https://director-stage.sn.eamobile.com"; + public static final double SYNERGY_UPDATE_RATE_LIMIT_PERIOD_IN_SECONDS = 60.0d; + public static final double SYNERGY_UPDATE_REFRESH_PERIOD_IN_SECONDS = 300.0d; + private BaseCore m_core; + private EnvironmentDataContainer m_environmentDataContainer; + private EnvironmentDataContainer m_previousValidEnvironmentDataContainer; + private Long m_synergyEnvironmentUpdateRateLimitTriggerTimestamp; + private SynergyEnvironmentUpdater m_synergyStartupObject; + private BroadcastReceiver m_networkStatusChangeReceiver = null; + private boolean m_dataLoadedOnComponentSetup = false; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return SynergyEnvironment.COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "SynergyEnv"; + } + + SynergyEnvironmentImpl(BaseCore baseCore) { + this.m_core = baseCore; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getEADeviceId() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getEADeviceId(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getSynergyId() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getSynergyId(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getSellId() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getSellId(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getProductId() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getProductId(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getEAHardwareId() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getEAHardwareId(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public Error setServerUrl(String str, String str2) { + return this.m_environmentDataContainer.setServerUrl(str, str2); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getServerUrlWithKey(String str) { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getServerUrlWithKey(str); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public int getLatestAppVersionCheckResult() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_environmentDataContainer == null) { + return 0; + } + return this.m_environmentDataContainer.getLatestAppVersionCheckResult(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public int getTrackingPostInterval() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_environmentDataContainer == null) { + return -1; + } + return this.m_environmentDataContainer.getTrackingPostInterval(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getSynergyDirectorServerUrl(NimbleConfiguration nimbleConfiguration) { + Log.Helper.LOGPUBLICFUNC(this); + switch (nimbleConfiguration) { + case INTEGRATION: + return SYNERGY_INT_SERVER_URL; + case STAGE: + return SYNERGY_STAGE_SERVER_URL; + case LIVE: + return SYNERGY_LIVE_SERVER_URL; + case CUSTOMIZED: + return PreferenceManager.getDefaultSharedPreferences(ApplicationEnvironment.getComponent().getApplicationContext()).getString("NimbleCustomizedSynergyServerEndpointUrl", SYNERGY_LIVE_SERVER_URL); + default: + Log.Helper.LOGF(this, "Request for Synergy Director server URL with unknown NimbleConfiguration, %d.", nimbleConfiguration); + return SYNERGY_LIVE_SERVER_URL; + } + } + + @Override // com.ea.nimble.ISynergyEnvironment + public boolean isDataAvailable() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_environmentDataContainer != null; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public boolean isUpdateInProgress() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_synergyStartupObject != null; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public Error checkAndInitiateSynergyEnvironmentUpdate() { + Log.Helper.LOGPUBLICFUNC(this); + if (isUpdateInProgress()) { + return new Error(Error.Code.SYNERGY_ENVIRONMENT_UPDATE_FAILURE, "Update in progress."); + } + if (this.m_environmentDataContainer != null && this.m_environmentDataContainer.getMostRecentDirectorResponseTimestamp() != null) { + return new Error(Error.Code.SYNERGY_ENVIRONMENT_UPDATE_FAILURE, "Environment data already cached."); + } + if (isInSynergyEnvironmentUpdateRateLimitingPeriod()) { + double currentTimeMillis = System.currentTimeMillis() - this.m_synergyEnvironmentUpdateRateLimitTriggerTimestamp.longValue(); + Double.isNaN(currentTimeMillis); + Log.Helper.LOGD(this, "Attempt to re-initiate Synergy environment update blocked by rate limiting. %.2f seconds of rate limiting left", Double.valueOf(60.0d - (currentTimeMillis / 1000.0d))); + return new Error(Error.Code.SYNERGY_ENVIRONMENT_UPDATE_FAILURE, "Synergy environment update rate limit in effect."); + } + startSynergyEnvironmentUpdate(); + return null; + } + + @Override // com.ea.nimble.ISynergyEnvironment + public boolean isFeatureDisabled(String str) { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + return this.m_environmentDataContainer != null && this.m_environmentDataContainer.isFeatureDisabled(str); + } + + @Override // com.ea.nimble.Component + public void setup() { + Log.Helper.LOGFUNC(this); + this.m_dataLoadedOnComponentSetup = restoreEnvironmentDataFromPersistent(true); + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGFUNC(this); + if (this.m_dataLoadedOnComponentSetup) { + this.m_dataLoadedOnComponentSetup = false; + Utility.sendBroadcast(SynergyEnvironment.NOTIFICATION_RESTORED_FROM_PERSISTENT); + } else { + restoreEnvironmentDataFromPersistent(false); + } + if (this.m_environmentDataContainer != null && this.m_environmentDataContainer.getMostRecentDirectorResponseTimestamp() != null) { + double currentTimeMillis = System.currentTimeMillis() - this.m_environmentDataContainer.getMostRecentDirectorResponseTimestamp().longValue(); + Double.isNaN(currentTimeMillis); + if (currentTimeMillis / 1000.0d <= 300.0d) { + checkAndInitiateSynergyEnvironmentUpdate(); + return; + } + } + startSynergyEnvironmentUpdate(); + } + + @Override // com.ea.nimble.Component + public void suspend() { + Log.Helper.LOGFUNC(this); + SynergyEnvironmentUpdater synergyEnvironmentUpdater = this.m_synergyStartupObject; + if (synergyEnvironmentUpdater != null) { + synergyEnvironmentUpdater.cancel(); + this.m_synergyStartupObject = null; + } + if (this.m_networkStatusChangeReceiver != null) { + Utility.unregisterReceiver(this.m_networkStatusChangeReceiver); + this.m_networkStatusChangeReceiver = null; + } + saveEnvironmentDataToPersistent(); + } + + @Override // com.ea.nimble.Component + public void resume() { + Log.Helper.LOGFUNC(this); + clearSynergyEnvironmentUpdateRateLimiting(); + if (this.m_environmentDataContainer != null && this.m_environmentDataContainer.getMostRecentDirectorResponseTimestamp() != null) { + double currentTimeMillis = System.currentTimeMillis() - this.m_environmentDataContainer.getMostRecentDirectorResponseTimestamp().longValue(); + Double.isNaN(currentTimeMillis); + if (currentTimeMillis / 1000.0d <= 300.0d) { + return; + } + } + startSynergyEnvironmentUpdate(); + } + + @Override // com.ea.nimble.Component + public void cleanup() { + Log.Helper.LOGFUNC(this); + SynergyEnvironmentUpdater synergyEnvironmentUpdater = this.m_synergyStartupObject; + if (synergyEnvironmentUpdater != null) { + synergyEnvironmentUpdater.cancel(); + this.m_synergyStartupObject = null; + } + if (this.m_networkStatusChangeReceiver != null) { + Utility.unregisterReceiver(this.m_networkStatusChangeReceiver); + this.m_networkStatusChangeReceiver = null; + } + saveEnvironmentDataToPersistent(); + this.m_environmentDataContainer = null; + } + + @Override // com.ea.nimble.Component + public void teardown() { + Log.Helper.LOGFUNC(this); + this.m_environmentDataContainer = null; + } + + private void startSynergyEnvironmentUpdate() { + SynergyEnvironmentUpdater synergyEnvironmentUpdater; + Log.Helper.LOGFUNC(this); + synchronized (this) { + if (this.m_synergyStartupObject == null) { + this.m_synergyStartupObject = new SynergyEnvironmentUpdater(this.m_core); + synergyEnvironmentUpdater = this.m_synergyStartupObject; + } else { + synergyEnvironmentUpdater = null; + } + } + if (synergyEnvironmentUpdater == null) { + Log.Helper.LOGD(this, "Attempt made to start Synergy environment update while a previous one is active. Exiting.", new Object[0]); + return; + } + if (Network.getComponent().getStatus() != Network.Status.OK) { + if (this.m_networkStatusChangeReceiver == null) { + this.m_networkStatusChangeReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.SynergyEnvironmentImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals(Global.NOTIFICATION_NETWORK_STATUS_CHANGE) && Network.getComponent().getStatus() == Network.Status.OK) { + Log.Helper.LOGD(this, "Network restored. Starting Synergy environment update.", new Object[0]); + Utility.unregisterReceiver(SynergyEnvironmentImpl.this.m_networkStatusChangeReceiver); + SynergyEnvironmentImpl.this.m_networkStatusChangeReceiver = null; + SynergyEnvironmentImpl.this.startSynergyEnvironmentUpdateImpl(SynergyEnvironmentImpl.this.m_synergyStartupObject); + } + } + }; + Log.Helper.LOGD(this, "Network not available to perform environment update. Setting receiver to listen for network status change.", new Object[0]); + Utility.registerReceiver(Global.NOTIFICATION_NETWORK_STATUS_CHANGE, this.m_networkStatusChangeReceiver); + return; + } + return; + } + startSynergyEnvironmentUpdateImpl(synergyEnvironmentUpdater); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void startSynergyEnvironmentUpdateImpl(final SynergyEnvironmentUpdater synergyEnvironmentUpdater) { + Log.Helper.LOGFUNC(this); + if (synergyEnvironmentUpdater == null) { + Log.Helper.LOGD(this, "Synergy Environment Update canceled before it could start", new Object[0]); + return; + } + this.m_previousValidEnvironmentDataContainer = this.m_environmentDataContainer; + HashMap hashMap = new HashMap(); + hashMap.put(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "1"); + Utility.sendBroadcast(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_STARTED, hashMap); + synergyEnvironmentUpdater.startSynergyStartupSequence(this.m_previousValidEnvironmentDataContainer, new SynergyEnvironmentUpdater.CompletionCallback() { // from class: com.ea.nimble.SynergyEnvironmentImpl.2 + @Override // com.ea.nimble.SynergyEnvironmentUpdater.CompletionCallback + public void callback(Exception exc) { + if (exc == null) { + if (SynergyEnvironmentImpl.this.m_synergyStartupObject != null && synergyEnvironmentUpdater.getEnvironmentDataContainer() != null) { + SynergyEnvironmentImpl.this.m_environmentDataContainer = synergyEnvironmentUpdater.getEnvironmentDataContainer(); + SynergyEnvironmentImpl.this.saveEnvironmentDataToPersistent(); + if (SynergyEnvironmentImpl.this.m_environmentDataContainer.getKeysOfDifferences(SynergyEnvironmentImpl.this.m_previousValidEnvironmentDataContainer) != null) { + Utility.sendBroadcast(SynergyEnvironment.NOTIFICATION_STARTUP_ENVIRONMENT_DATA_CHANGED); + } + HashMap hashMap2 = new HashMap(); + hashMap2.put(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "1"); + if (ApplicationEnvironment.isMainApplicationActive()) { + Log.Helper.LOGD(this, "App is running in forground, send the NOTIFICATION_STARTUP_REQUESTS_FINISHED notification", new Object[0]); + Utility.sendBroadcast(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, hashMap2); + } else { + Log.Helper.LOGI(this, "App is not running in forground, discard the NOTIFICATION_STARTUP_REQUESTS_FINISHED notification", new Object[0]); + } + } else { + Log.Helper.LOGD(this, "Synergy Environment Update object or dataContainer null at callback. Update was canceled", new Object[0]); + } + } else { + Log.Helper.LOGE(this, "StartupError(%s)", exc); + if (!(exc instanceof Error)) { + if (SynergyEnvironmentImpl.this.m_synergyStartupObject == null || synergyEnvironmentUpdater.getEnvironmentDataContainer() == null) { + Log.Helper.LOGD(this, "Synergy Environment Update object or dataContainer null at callback. More than one update was being peroformed", new Object[0]); + } + } else { + Error error = (Error) exc; + if (error.isError(Error.Code.SYNERGY_GET_DIRECTION_TIMEOUT) || error.isError(Error.Code.SYNERGY_SERVER_FULL)) { + Log.Helper.LOGD(this, "GetDirection request timed out or ServerUnavailable signal received. Start rate limiting of /getDirection call.", new Object[0]); + SynergyEnvironmentImpl.this.startSynergyEnvironmentUpdateRateLimiting(); + } + } + HashMap hashMap3 = new HashMap(); + hashMap3.put(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "0"); + hashMap3.put("error", exc.toString()); + if (ApplicationEnvironment.isMainApplicationActive()) { + Log.Helper.LOGD(this, "App is running in forground, send the NOTIFICATION_STARTUP_REQUESTS_FINISHED notification", new Object[0]); + Utility.sendBroadcast(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, hashMap3); + } else { + Log.Helper.LOGI(this, "App is not running in forground, discard the NOTIFICATION_STARTUP_REQUESTS_FINISHED notification", new Object[0]); + } + } + SynergyEnvironmentImpl.this.m_synergyStartupObject = null; + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void startSynergyEnvironmentUpdateRateLimiting() { + Log.Helper.LOGFUNC(this); + this.m_synergyEnvironmentUpdateRateLimitTriggerTimestamp = Long.valueOf(System.currentTimeMillis()); + } + + private boolean isInSynergyEnvironmentUpdateRateLimitingPeriod() { + Log.Helper.LOGFUNC(this); + return this.m_synergyEnvironmentUpdateRateLimitTriggerTimestamp != null && ((double) (System.currentTimeMillis() - this.m_synergyEnvironmentUpdateRateLimitTriggerTimestamp.longValue())) <= 60000.0d; + } + + private void clearSynergyEnvironmentUpdateRateLimiting() { + Log.Helper.LOGFUNC(this); + this.m_synergyEnvironmentUpdateRateLimitTriggerTimestamp = null; + } + + private boolean restoreEnvironmentDataFromPersistent(boolean z) { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(SynergyEnvironment.COMPONENT_ID, Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + Serializable value = persistenceForNimbleComponent.getValue(PERSISTENCE_DATA_ID); + if (value == null) { + Log.Helper.LOGD(this, "Environment persistence data value not found in persistence object. Probably first install.", new Object[0]); + } else { + try { + this.m_environmentDataContainer = (EnvironmentDataContainer) value; + Log.Helper.LOGD(this, "Restored environment data from persistent. Restored data timestamp, %s", this.m_environmentDataContainer.getMostRecentDirectorResponseTimestamp()); + if (this.m_environmentDataContainer.getEADeviceId() == null) { + this.m_environmentDataContainer.setEADeviceId(EASPDataLoader.loadEADeviceId()); + } + if (!z) { + Utility.sendBroadcast(SynergyEnvironment.NOTIFICATION_RESTORED_FROM_PERSISTENT); + } + return true; + } catch (ClassCastException unused) { + Log.Helper.LOGE(this, "Environment persistence data value is not the expected type.", new Object[0]); + } + } + } else { + Log.Helper.LOGE(this, "Could not get environment persistence object to restore from", new Object[0]); + } + this.m_environmentDataContainer = null; + return false; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void saveEnvironmentDataToPersistent() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(SynergyEnvironment.COMPONENT_ID, Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + Log.Helper.LOGD(this, "Saving environment data to persistent.", new Object[0]); + persistenceForNimbleComponent.setValue(PERSISTENCE_DATA_ID, this.m_environmentDataContainer); + persistenceForNimbleComponent.synchronize(); + return; + } + Log.Helper.LOGE(this, "Could not get environment persistence object to save to.", new Object[0]); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getNexusClientId() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getNexusClientId(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getNexusClientSecret() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getNexusClientSecret(); + } + + @Override // com.ea.nimble.ISynergyEnvironment + public String getGosMdmAppKey() { + Log.Helper.LOGPUBLICFUNC(this); + checkAndInitiateSynergyEnvironmentUpdate(); + if (this.m_environmentDataContainer == null) { + return null; + } + return this.m_environmentDataContainer.getGosMdmAppKey(); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyEnvironmentUpdater.java b/app/src/main/java/com/ea/nimble/SynergyEnvironmentUpdater.java new file mode 100644 index 0000000..82c37f4 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyEnvironmentUpdater.java @@ -0,0 +1,405 @@ +package com.ea.nimble; + +import android.content.Context; +import android.content.pm.PackageManager; +import android.content.res.Resources; +import android.preference.PreferenceManager; +import android.provider.Settings; +import android.telephony.TelephonyManager; +import com.ea.nimble.Error; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import com.facebook.places.model.PlaceFields; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class SynergyEnvironmentUpdater implements LogSource { + private static final int GET_ANONUID_MAX_RETRY_ATTEMPTS = 3; + private static final int GET_DIRECTION_MAX_RETRY_ATTEMPTS = 3; + private static final int GET_EADEVICEID_MAX_RETRY_ATTEMPTS = 3; + private static final int SYNERGY_DIRECTOR_RESPONSE_ERROR_CODE_SERVERS_FULL = -70002; + private static final int SYNERGY_USER_VALIDATE_EADEVICEID_RESPONSE_ERROR_CODE_CLEAR_CLIENT_CACHED_EADEVICEID = -20094; + private static final int SYNERGY_USER_VALIDATE_EADEVICEID_RESPONSE_ERROR_CODE_VALIDATION_FAILED = -20093; + private static final int VALIDATE_EADEVICEID_MAX_RETRY_ATTEMPTS = 3; + private BaseCore m_core; + private long m_getAnonUIDRetryCount; + private long m_getDirectionRetryCount; + private EnvironmentDataContainer m_environmentForSynergyStartUp = new EnvironmentDataContainer(); + private CompletionCallback m_completionCallback = null; + private EnvironmentDataContainer m_previousValidEnvironmentData = null; + private SynergyNetworkConnectionHandle m_synergyNetworkConnectionHandle = null; + private long m_validateEADeviceIDRetryCount = 0; + private long m_getEADeviceIDRetryCount = 0; + + interface CompletionCallback { + void callback(Exception exc); + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "SynergyEnv"; + } + + static /* synthetic */ long access$1108(SynergyEnvironmentUpdater synergyEnvironmentUpdater) { + long j = synergyEnvironmentUpdater.m_validateEADeviceIDRetryCount; + synergyEnvironmentUpdater.m_validateEADeviceIDRetryCount = 1 + j; + return j; + } + + static /* synthetic */ long access$1308(SynergyEnvironmentUpdater synergyEnvironmentUpdater) { + long j = synergyEnvironmentUpdater.m_getAnonUIDRetryCount; + synergyEnvironmentUpdater.m_getAnonUIDRetryCount = 1 + j; + return j; + } + + static /* synthetic */ long access$408(SynergyEnvironmentUpdater synergyEnvironmentUpdater) { + long j = synergyEnvironmentUpdater.m_getDirectionRetryCount; + synergyEnvironmentUpdater.m_getDirectionRetryCount = 1 + j; + return j; + } + + static /* synthetic */ long access$808(SynergyEnvironmentUpdater synergyEnvironmentUpdater) { + long j = synergyEnvironmentUpdater.m_getEADeviceIDRetryCount; + synergyEnvironmentUpdater.m_getEADeviceIDRetryCount = 1 + j; + return j; + } + + SynergyEnvironmentUpdater(BaseCore baseCore) { + this.m_core = baseCore; + } + + EnvironmentDataContainer getEnvironmentDataContainer() { + return this.m_environmentForSynergyStartUp; + } + + public void startSynergyStartupSequence(EnvironmentDataContainer environmentDataContainer, CompletionCallback completionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_completionCallback = completionCallback; + this.m_previousValidEnvironmentData = environmentDataContainer; + if (Network.getComponent().getStatus() != Network.Status.OK) { + onStartUpSequenceFinished(new Error(Error.Code.NETWORK_NO_CONNECTION, "Device is not connected to Wifi or wireless.")); + } else { + callSynergyGetDirection(); + } + } + + public void cancel() { + Log.Helper.LOGPUBLICFUNC(this); + SynergyNetworkConnectionHandle synergyNetworkConnectionHandle = this.m_synergyNetworkConnectionHandle; + if (synergyNetworkConnectionHandle != null) { + Log.Helper.LOGD(this, "Canceling network connection.", new Object[0]); + synergyNetworkConnectionHandle.cancel(); + this.m_synergyNetworkConnectionHandle = null; + } + onStartUpSequenceFinished(new Error(Error.Code.NETWORK_OPERATION_CANCELLED, "Synergy startup sequence canceled.")); + } + + /* JADX INFO: Access modifiers changed from: private */ + /* JADX WARN: Multi-variable type inference failed */ + public void loadConfig(Map map) { + this.m_environmentForSynergyStartUp.setMostRecentDirectorResponseTimestamp(Long.valueOf(System.currentTimeMillis())); + this.m_environmentForSynergyStartUp.setGetDirectionResponseDictionary(map); + List list = (List) this.m_environmentForSynergyStartUp.getGetDirectionResponseDictionary().get("serverData"); + this.m_environmentForSynergyStartUp.setServerUrls(new HashMap()); + if (list != null) { + for (Map map2 : list) { + this.m_environmentForSynergyStartUp.getServerUrls().put(map2.get("key"), map2.get("value")); + } + } + if (this.m_environmentForSynergyStartUp.getServerUrls().size() == 0) { + onStartUpSequenceFinished(new Error(Error.Code.NOT_AVAILABLE, "No Synergy server URLs available.")); + return; + } + if (this.m_previousValidEnvironmentData != null && Utility.validString(this.m_previousValidEnvironmentData.getEADeviceId())) { + callSynergyValidateEADeviceId(this.m_previousValidEnvironmentData.getEADeviceId()); + return; + } + String loadEADeviceId = EASPDataLoader.loadEADeviceId(); + if (loadEADeviceId != null) { + callSynergyValidateEADeviceId(loadEADeviceId); + } else { + callSynergyGetEADeviceId(); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void callSynergyGetDirection() { + Log.Helper.LOGPUBLICFUNC(this); + String applicationBundleId = ApplicationEnvironment.getComponent().getApplicationBundleId(); + String deviceString = ApplicationEnvironment.getComponent().getDeviceString(); + String deviceCodename = ApplicationEnvironment.getComponent().getDeviceCodename(); + String deviceManufacturer = ApplicationEnvironment.getComponent().getDeviceManufacturer(); + String deviceModel = ApplicationEnvironment.getComponent().getDeviceModel(); + String deviceBrand = ApplicationEnvironment.getComponent().getDeviceBrand(); + String deviceFingerprint = ApplicationEnvironment.getComponent().getDeviceFingerprint(); + if (!Utility.validString(applicationBundleId)) { + Log.Helper.LOGE(this, "GETDIRECTION bundleId is invalid", new Object[0]); + onStartUpSequenceFinished(new Error(Error.Code.INVALID_ARGUMENT, "bundleId is invalid")); + return; + } + if (!Utility.validString(deviceString)) { + Log.Helper.LOGE(this, "GETDIRECTION deviceString is invalid", new Object[0]); + onStartUpSequenceFinished(new Error(Error.Code.INVALID_ARGUMENT, "deviceString is invalid")); + return; + } + try { + if (this.m_core.getConfiguration() == NimbleConfiguration.MANUAL) { + try { + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + Resources resources = applicationContext.getResources(); + loadConfig(Utility.convertJSONObjectToMap(new JSONObject(Utility.readStringFromStream(resources.openRawResource(resources.getIdentifier("synergy_direction", "raw", applicationContext.getPackageName())))))); + return; + } catch (Exception e) { + Log.Helper.LOGF(this, "Error loading synergy_direction.json: " + e.toString(), new Object[0]); + return; + } + } + HashMap hashMap = new HashMap(); + hashMap.put("packageId", applicationBundleId); + hashMap.put("deviceString", deviceString); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_CODENAME, deviceCodename); + hashMap.put("manufacturer", deviceManufacturer); + hashMap.put("model", deviceModel); + hashMap.put("brand", deviceBrand); + hashMap.put("fingerprint", deviceFingerprint); + hashMap.put("serverEnvironment", getSynergyServerEnvironmentName()); + hashMap.put("sdkVersion", Global.NIMBLE_RELEASE_VERSION); + hashMap.put("apiVer", "1.0.0"); + this.m_synergyNetworkConnectionHandle = SynergyNetwork.getComponent().sendGetRequest(this.m_environmentForSynergyStartUp.getSynergyDirectorServerUrl(Base.getConfiguration()), "/director/api/android/getDirectionByPackage", hashMap, new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.SynergyEnvironmentUpdater.1 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + Log.Helper.LOGD(this, "GETDIRECTION FINISHED", new Object[0]); + SynergyEnvironmentUpdater.this.m_synergyNetworkConnectionHandle = null; + Exception error = synergyNetworkConnectionHandle.getResponse().getError(); + if (error == null) { + SynergyEnvironmentUpdater.this.loadConfig(synergyNetworkConnectionHandle.getResponse().getJsonData()); + return; + } + if (!(error instanceof SynergyServerError)) { + boolean isTimeoutError = SynergyEnvironmentUpdater.this.isTimeoutError(error); + if (isTimeoutError || SynergyEnvironmentUpdater.this.m_getDirectionRetryCount >= 3) { + SynergyEnvironmentUpdater.this.m_getDirectionRetryCount = 0L; + if (isTimeoutError) { + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(new Error(Error.Code.SYNERGY_GET_DIRECTION_TIMEOUT, "Synergy /getDirectionByPackage request timed out.", error)); + return; + } else { + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(error); + return; + } + } + SynergyEnvironmentUpdater.access$408(SynergyEnvironmentUpdater.this); + Log.Helper.LOGD(this, "GetDirection, call failed. Making retry attempt number %d.", Long.valueOf(SynergyEnvironmentUpdater.this.m_getDirectionRetryCount)); + SynergyEnvironmentUpdater.this.callSynergyGetDirection(); + return; + } + if (((SynergyServerError) error).isError(SynergyEnvironmentUpdater.SYNERGY_DIRECTOR_RESPONSE_ERROR_CODE_SERVERS_FULL)) { + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(new Error(Error.Code.SYNERGY_SERVER_FULL, "Synergy ServerUnavailable signal received.", error)); + } + } + }); + } catch (Throwable unused) { + } + } + + private String getSynergyServerEnvironmentName() { + Log.Helper.LOGFUNC(this); + switch (this.m_core.getConfiguration()) { + case INTEGRATION: + case STAGE: + case LIVE: + case MANUAL: + return this.m_core.getConfiguration().toString(); + case CUSTOMIZED: + return PreferenceManager.getDefaultSharedPreferences(ApplicationEnvironment.getComponent().getApplicationContext()).getString("NimbleCustomizedSynergyServerEnvironmentName", "live"); + default: + Log.Helper.LOGF(this, "Request for Synergy server environment name with unknown NimbleConfiguration %s", this.m_core.getConfiguration().toString()); + return "live"; + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void callSynergyGetEADeviceId() { + int phoneType; + String string; + Log.Helper.LOGFUNC(this); + EnvironmentDataContainer environmentDataContainer = this.m_environmentForSynergyStartUp; + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("hwId", environmentDataContainer.getEAHardwareId()); + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + Context applicationContext = component != null ? component.getApplicationContext() : null; + if (applicationContext != null && (string = Settings.Secure.getString(component.getApplicationContext().getContentResolver(), "android_id")) != null) { + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_ANDROID_ID, string); + } + if (applicationContext != null) { + TelephonyManager telephonyManager = (TelephonyManager) applicationContext.getSystemService(PlaceFields.PHONE); + PackageManager packageManager = applicationContext.getPackageManager(); + if (telephonyManager != null && packageManager != null && packageManager.checkPermission("android.permission.READ_PHONE_STATE", applicationContext.getPackageName()) == 0 && (phoneType = telephonyManager.getPhoneType()) != 0) { + String deviceId = telephonyManager.getDeviceId(); + if (Utility.validString(deviceId)) { + String str = ApplicationEnvironment.NIMBLE_PARAMETER_IMEI; + if (phoneType == 2) { + str = "meid"; + } + hashMap.put(str, deviceId); + } + } + } + this.m_synergyNetworkConnectionHandle = SynergyNetwork.getComponent().sendGetRequest(this.m_environmentForSynergyStartUp.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_USER), "/user/api/android/getDeviceID", hashMap, new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.SynergyEnvironmentUpdater.2 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + SynergyEnvironmentUpdater.this.m_synergyNetworkConnectionHandle = null; + Exception error = synergyNetworkConnectionHandle.getResponse().getError(); + if (error != null) { + if (SynergyEnvironmentUpdater.this.isTimeoutError(error) || SynergyEnvironmentUpdater.this.m_getEADeviceIDRetryCount >= 3) { + SynergyEnvironmentUpdater.this.m_getEADeviceIDRetryCount = 0L; + Log.Helper.LOGD(this, "GetEADeviceID Error (%s)", synergyNetworkConnectionHandle.getResponse().getError()); + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(new Error(Error.Code.SYNERGY_GET_EA_DEVICE_ID_FAILURE, "GetEADevideId call failed", synergyNetworkConnectionHandle.getResponse().getError())); + return; + } else { + SynergyEnvironmentUpdater.access$808(SynergyEnvironmentUpdater.this); + Log.Helper.LOGD(this, "GetEADeviceID, call failed. Making retry attempt number %d.", Long.valueOf(SynergyEnvironmentUpdater.this.m_getEADeviceIDRetryCount)); + SynergyEnvironmentUpdater.this.callSynergyGetEADeviceId(); + return; + } + } + Log.Helper.LOGD(this, "GetEADeviceID Success", new Object[0]); + SynergyEnvironmentUpdater.this.m_environmentForSynergyStartUp.setEADeviceId((String) synergyNetworkConnectionHandle.getResponse().getJsonData().get("deviceId")); + SynergyEnvironmentUpdater.this.callSynergyGetAnonUid(); + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void callSynergyValidateEADeviceId(final String str) { + int phoneType; + String string; + Log.Helper.LOGFUNC(this); + EnvironmentDataContainer environmentDataContainer = this.m_environmentForSynergyStartUp; + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("hwId", environmentDataContainer.getEAHardwareId()); + hashMap.put("eadeviceid", str); + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + Context applicationContext = component != null ? component.getApplicationContext() : null; + if (applicationContext != null && (string = Settings.Secure.getString(component.getApplicationContext().getContentResolver(), "android_id")) != null) { + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_ANDROID_ID, string); + } + if (applicationContext != null) { + TelephonyManager telephonyManager = (TelephonyManager) applicationContext.getSystemService(PlaceFields.PHONE); + PackageManager packageManager = applicationContext.getPackageManager(); + if (telephonyManager != null && packageManager != null && packageManager.checkPermission("android.permission.READ_PHONE_STATE", applicationContext.getPackageName()) == 0 && (phoneType = telephonyManager.getPhoneType()) != 0) { + String deviceId = telephonyManager.getDeviceId(); + if (Utility.validString(deviceId)) { + String str2 = ApplicationEnvironment.NIMBLE_PARAMETER_IMEI; + if (phoneType == 2) { + str2 = "meid"; + } + hashMap.put(str2, deviceId); + } + } + } + this.m_synergyNetworkConnectionHandle = SynergyNetwork.getComponent().sendGetRequest(this.m_environmentForSynergyStartUp.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_USER), "/user/api/android/validateDeviceID", hashMap, new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.SynergyEnvironmentUpdater.3 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + SynergyEnvironmentUpdater.this.m_synergyNetworkConnectionHandle = null; + Exception error = synergyNetworkConnectionHandle.getResponse().getError(); + if (error == null) { + Log.Helper.LOGD(this, "ValidateEADeviceID Success", new Object[0]); + SynergyEnvironmentUpdater.this.m_environmentForSynergyStartUp.setEADeviceId((String) synergyNetworkConnectionHandle.getResponse().getJsonData().get("deviceId")); + SynergyEnvironmentUpdater.this.callSynergyGetAnonUid(); + return; + } + Log.Helper.LOGD(this, "ValidateEADeviceID Error (%s)", error); + if (error instanceof SynergyServerError) { + SynergyServerError synergyServerError = (SynergyServerError) error; + if (synergyServerError.isError(SynergyEnvironmentUpdater.SYNERGY_USER_VALIDATE_EADEVICEID_RESPONSE_ERROR_CODE_CLEAR_CLIENT_CACHED_EADEVICEID)) { + if (SynergyEnvironmentUpdater.this.m_previousValidEnvironmentData != null) { + SynergyEnvironmentUpdater.this.m_previousValidEnvironmentData.setEADeviceId(null); + } + Log.Helper.LOGD(this, "ValidateEADeviceID, Server signal received to delete cached EA Device ID. Making request to get a new EA Device ID.", new Object[0]); + SynergyEnvironmentUpdater.this.callSynergyGetEADeviceId(); + return; + } + if (synergyServerError.isError(SynergyEnvironmentUpdater.SYNERGY_USER_VALIDATE_EADEVICEID_RESPONSE_ERROR_CODE_VALIDATION_FAILED)) { + Log.Helper.LOGD(this, "ValidateEADeviceID, EADeviceID validation failed. Making request to get a new EA Device ID.", new Object[0]); + SynergyEnvironmentUpdater.this.callSynergyGetEADeviceId(); + return; + } + } + if (SynergyEnvironmentUpdater.this.isTimeoutError(error) || SynergyEnvironmentUpdater.this.m_validateEADeviceIDRetryCount >= 3) { + SynergyEnvironmentUpdater.this.m_validateEADeviceIDRetryCount = 0L; + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(new Error(Error.Code.SYNERGY_GET_EA_DEVICE_ID_FAILURE, "ValidateEADeviceId call failed", error)); + } else { + SynergyEnvironmentUpdater.access$1108(SynergyEnvironmentUpdater.this); + Log.Helper.LOGD(this, "ValidateEADeviceID, call failed. Making retry attempt number %d.", Long.valueOf(SynergyEnvironmentUpdater.this.m_validateEADeviceIDRetryCount)); + SynergyEnvironmentUpdater.this.callSynergyValidateEADeviceId(str); + } + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void callSynergyGetAnonUid() { + Log.Helper.LOGFUNC(this); + String anonymousSynergyId = SynergyIdManager.getComponent().getAnonymousSynergyId(); + if (anonymousSynergyId != null) { + Log.Helper.LOGD(this, "Not getting anonymous ID from Synergy since it was loaded from persistence", new Object[0]); + this.m_environmentForSynergyStartUp.setSynergyAnonymousId(anonymousSynergyId); + onStartUpSequenceFinished(null); + return; + } + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("updatePriority", "false"); + hashMap.put("hwId", this.m_environmentForSynergyStartUp.getEAHardwareId()); + if (Utility.validString(this.m_environmentForSynergyStartUp.getEADeviceId())) { + hashMap.put("eadeviceid", this.m_environmentForSynergyStartUp.getEADeviceId()); + this.m_synergyNetworkConnectionHandle = SynergyNetwork.getComponent().sendGetRequest(this.m_environmentForSynergyStartUp.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_USER), "/user/api/android/getAnonUid", hashMap, new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.SynergyEnvironmentUpdater.4 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + SynergyEnvironmentUpdater.this.m_synergyNetworkConnectionHandle = null; + Exception error = synergyNetworkConnectionHandle.getResponse().getError(); + if (error != null) { + if (SynergyEnvironmentUpdater.this.isTimeoutError(error) || SynergyEnvironmentUpdater.this.m_getAnonUIDRetryCount >= 3) { + SynergyEnvironmentUpdater.this.m_getAnonUIDRetryCount = 0L; + Log.Helper.LOGD(this, "GETANON Error, (%s)", synergyNetworkConnectionHandle.getResponse().getError().toString()); + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(new Error(Error.Code.SYNERGY_GET_ANONYMOUS_ID_FAILURE, "Synergy \"get anonymous id\" call failed.", error)); + return; + } else { + SynergyEnvironmentUpdater.access$1308(SynergyEnvironmentUpdater.this); + Log.Helper.LOGD(this, "GetAnonUid, call failed. Making retry attempt number %d.", Long.valueOf(SynergyEnvironmentUpdater.this.m_getAnonUIDRetryCount)); + SynergyEnvironmentUpdater.this.callSynergyGetAnonUid(); + return; + } + } + Log.Helper.LOGD(this, "GETANON Success", new Object[0]); + SynergyEnvironmentUpdater.this.m_environmentForSynergyStartUp.setSynergyAnonymousId(synergyNetworkConnectionHandle.getResponse().getJsonData().get("uid").toString()); + SynergyEnvironmentUpdater.this.onStartUpSequenceFinished(null); + } + }); + } else { + Log.Helper.LOGE(this, "getAnonUid got an invalid EA Device ID.", new Object[0]); + onStartUpSequenceFinished(new Error(Error.Code.INVALID_ARGUMENT, "EA Device ID is invalid")); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onStartUpSequenceFinished(Exception exc) { + Log.Helper.LOGFUNC(this); + if (this.m_completionCallback != null) { + this.m_completionCallback.callback(exc); + } else { + Log.Helper.LOGW(this, "Startup sequence finished, but no completion callback set.", new Object[0]); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public boolean isTimeoutError(Exception exc) { + Log.Helper.LOGFUNC(this); + return (exc instanceof Error) && ((Error) exc).isError(Error.Code.NETWORK_TIMEOUT); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyIdManager.java b/app/src/main/java/com/ea/nimble/SynergyIdManager.java new file mode 100644 index 0000000..43622b2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyIdManager.java @@ -0,0 +1,13 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class SynergyIdManager { + public static final String COMPONENT_ID = "com.ea.nimble.synergyidmanager"; + public static final String LOG_TAG = "SynergyID"; + public static final String NOTIFICATION_ANONYMOUS_SYNERGY_ID_CHANGED = "nimble.synergyidmanager.notification.anonymous_synergy_id_changed"; + public static final String NOTIFICATION_SYNERGY_ID_CHANGED = "nimble.synergyidmanager.notification.synergy_id_changed"; + + public static ISynergyIdManager getComponent() { + return SynergyIdManagerImpl.getComponent(); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyIdManagerError.java b/app/src/main/java/com/ea/nimble/SynergyIdManagerError.java new file mode 100644 index 0000000..9c7f781 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyIdManagerError.java @@ -0,0 +1,34 @@ +package com.ea.nimble; + +import com.eamobile.DownloadActivityInternal; + +/* loaded from: classes.dex */ +public class SynergyIdManagerError extends Error { + public static final String ERROR_DOMAIN = "NimbleSynergyIdManager"; + private static final long serialVersionUID = 1; + + public enum Code { + AUTHENTICATOR_CONFLICT(5000), + UNEXPECTED_LOGIN_STATE(DownloadActivityInternal.ERROR_UNSUPPORTED_DEVICE), + INVALID_ID(DownloadActivityInternal.ERROR_ASSETS_NOT_FOUND), + MISSING_AUTHENTICATOR(5003); + + private int m_value; + + Code(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public SynergyIdManagerError(Code code, String str, Throwable th) { + super(ERROR_DOMAIN, code.intValue(), str, th); + } + + public SynergyIdManagerError(Code code, String str) { + super(ERROR_DOMAIN, code.intValue(), str); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyIdManagerImpl.java b/app/src/main/java/com/ea/nimble/SynergyIdManagerImpl.java new file mode 100644 index 0000000..c138733 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyIdManagerImpl.java @@ -0,0 +1,239 @@ +package com.ea.nimble; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.Log; +import com.ea.nimble.Persistence; +import com.ea.nimble.SynergyIdManagerError; +import java.util.HashMap; + +/* loaded from: classes.dex */ +class SynergyIdManagerImpl extends Component implements ISynergyIdManager, LogSource { + private static final String ANONYMOUS_ID_PERSISTENCE_DATA_ID = "anonymousId"; + private static final String AUTHENTICATOR_PERSISTENCE_DATA_ID = "authenticator"; + private static final String CURRENT_ID_PERSISTENCE_DATA_ID = "currentId"; + private static final String SYNERGY_ID_MANAGER_ANONYMOUS_ID_PERSISTENCE_ID = "com.ea.nimble.synergyidmanager.anonymousId"; + private static final String VERSION_PERSISTENCE_DATA_ID = "dataVersion"; + private String m_anonymousSynergyId; + private String m_authenticatorIdentifier; + private String m_currentSynergyId; + private BroadcastReceiver m_receiver = new SynergyIdManagerReceiver(); + + @Override // com.ea.nimble.Component + public String getComponentId() { + return SynergyIdManager.COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "SynergyId"; + } + + SynergyIdManagerImpl() { + } + + private class SynergyIdManagerReceiver extends BroadcastReceiver { + private SynergyIdManagerReceiver() { + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + if (ApplicationEnvironment.isMainApplicationActive()) { + SynergyIdManagerImpl.this.onSynergyEnvironmentStartupRequestsFinished(); + } + } + } + + public static ISynergyIdManager getComponent() { + return (ISynergyIdManager) Base.getComponent(SynergyIdManager.COMPONENT_ID); + } + + private void wakeup() { + restoreFromPersistent(); + if (!Utility.validString(this.m_anonymousSynergyId)) { + setAnonymousSynergyId(SynergyEnvironment.getComponent().getSynergyId()); + } + if (!Utility.validString(this.m_currentSynergyId)) { + setCurrentSynergyId(this.m_anonymousSynergyId); + } + Utility.registerReceiver(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, this.m_receiver); + } + + private void sleep() { + Utility.unregisterReceiver(this.m_receiver); + saveDataToPersistent(); + } + + @Override // com.ea.nimble.Component + protected void restore() { + wakeup(); + } + + @Override // com.ea.nimble.Component + protected void suspend() { + sleep(); + } + + @Override // com.ea.nimble.Component + protected void resume() { + wakeup(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onSynergyEnvironmentStartupRequestsFinished() { + Log.Helper.LOGFUNC(this); + if (SynergyEnvironment.getComponent() != null) { + Log.Helper.LOGD(this, "onSynergyEnvironmentStartupRequestsFinished - Process the notification, everything looks okay", new Object[0]); + setAnonymousSynergyId(SynergyEnvironment.getComponent().getSynergyId()); + if (Utility.validString(this.m_currentSynergyId)) { + return; + } + setCurrentSynergyId(this.m_anonymousSynergyId); + return; + } + Log.Helper.LOGI(this, "onSynergyEnvironmentStartupRequestsFinished - Aborted because we were unable to get SynergyEnvironment", new Object[0]); + } + + @Override // com.ea.nimble.Component + protected void cleanup() { + sleep(); + } + + private void restoreFromPersistent() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(SynergyIdManager.COMPONENT_ID, Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + Log.Helper.LOGD("Loaded persistence data version, %s.", persistenceForNimbleComponent.getStringValue(VERSION_PERSISTENCE_DATA_ID), new Object[0]); + this.m_currentSynergyId = persistenceForNimbleComponent.getStringValue(CURRENT_ID_PERSISTENCE_DATA_ID); + this.m_authenticatorIdentifier = persistenceForNimbleComponent.getStringValue(AUTHENTICATOR_PERSISTENCE_DATA_ID); + Log.Helper.LOGD(this, "Loaded Synergy ID, %s, with authenticator, %s.", this.m_currentSynergyId, this.m_authenticatorIdentifier); + } else { + Log.Helper.LOGE(this, "Could not get persistence object to load from.", new Object[0]); + } + Persistence persistenceForNimbleComponent2 = PersistenceService.getPersistenceForNimbleComponent(SYNERGY_ID_MANAGER_ANONYMOUS_ID_PERSISTENCE_ID, Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent2 != null) { + Log.Helper.LOGD(this, "Loaded persistence data version, %s.", Utility.safeString(persistenceForNimbleComponent2.getStringValue(VERSION_PERSISTENCE_DATA_ID))); + this.m_anonymousSynergyId = persistenceForNimbleComponent2.getStringValue(ANONYMOUS_ID_PERSISTENCE_DATA_ID); + Log.Helper.LOGD(this, "Loaded anonymous Synergy ID, %s.", Utility.safeString(this.m_anonymousSynergyId)); + return; + } + Log.Helper.LOGE(this, "Could not get anonymous Synergy ID persistence object to load from.", new Object[0]); + } + + private void saveDataToPersistent() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(SYNERGY_ID_MANAGER_ANONYMOUS_ID_PERSISTENCE_ID, Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + Log.Helper.LOGD("Saving anonymous Synergy ID, %s, to persistent.", this.m_anonymousSynergyId, new Object[0]); + persistenceForNimbleComponent.setValue(VERSION_PERSISTENCE_DATA_ID, "1.0.0"); + persistenceForNimbleComponent.setValue(ANONYMOUS_ID_PERSISTENCE_DATA_ID, this.m_anonymousSynergyId); + persistenceForNimbleComponent.setBackUp(true); + persistenceForNimbleComponent.synchronize(); + } else { + Log.Helper.LOGE(this, "Could not get anonymous Synergy ID persistence object to save to.", new Object[0]); + } + Persistence persistenceForNimbleComponent2 = PersistenceService.getPersistenceForNimbleComponent(SynergyIdManager.COMPONENT_ID, Persistence.Storage.CACHE); + if (persistenceForNimbleComponent2 != null) { + Log.Helper.LOGD(this, "Saving current Synergy ID, %s, and authenticator, %s, to persistent.", this.m_currentSynergyId, this.m_authenticatorIdentifier); + persistenceForNimbleComponent2.setValue(VERSION_PERSISTENCE_DATA_ID, "1.0.0"); + persistenceForNimbleComponent2.setValue(CURRENT_ID_PERSISTENCE_DATA_ID, this.m_currentSynergyId); + persistenceForNimbleComponent2.setValue(AUTHENTICATOR_PERSISTENCE_DATA_ID, this.m_authenticatorIdentifier); + persistenceForNimbleComponent2.synchronize(); + return; + } + Log.Helper.LOGE(this, "Could not get persistence object to save to.", new Object[0]); + } + + private void setAnonymousSynergyId(String str) { + Log.Helper.LOGFUNC(this); + if (Utility.validString(this.m_anonymousSynergyId) && !Utility.validString(str)) { + Log.Helper.LOGE(this, "Attempt to set invalid anonymous Synergy ID over existing ID, %s. Ignoring attempt.", this.m_anonymousSynergyId); + return; + } + String str2 = this.m_anonymousSynergyId; + this.m_anonymousSynergyId = str; + saveDataToPersistent(); + if (Utility.validString(str2) && ((Utility.validString(str2) && !str2.equals(this.m_anonymousSynergyId)) || (Utility.validString(this.m_anonymousSynergyId) && !this.m_anonymousSynergyId.equals(str2)))) { + HashMap hashMap = new HashMap(); + hashMap.put("previousSynergyId", Utility.safeString(str2)); + hashMap.put("currentSynergyId", Utility.safeString(this.m_anonymousSynergyId)); + Utility.sendBroadcast(SynergyIdManager.NOTIFICATION_ANONYMOUS_SYNERGY_ID_CHANGED, hashMap); + } + if (this.m_authenticatorIdentifier == null) { + setCurrentSynergyId(this.m_anonymousSynergyId); + } + } + + private void setCurrentSynergyId(String str) { + Log.Helper.LOGFUNC(this); + if (Utility.validString(this.m_currentSynergyId) && !Utility.validString(str)) { + Log.Helper.LOGE(this, "Attempt to set invalid current Synergy ID over existing ID, %s. Ignoring attempt.", this.m_currentSynergyId); + return; + } + String str2 = this.m_currentSynergyId; + this.m_currentSynergyId = str; + saveDataToPersistent(); + if (Utility.validString(str2)) { + if ((!Utility.validString(str2) || str2.equals(this.m_currentSynergyId)) && (!Utility.validString(this.m_currentSynergyId) || this.m_currentSynergyId.equals(str2))) { + return; + } + HashMap hashMap = new HashMap(); + hashMap.put("previousSynergyId", Utility.safeString(str2)); + hashMap.put("currentSynergyId", Utility.safeString(this.m_currentSynergyId)); + Utility.sendBroadcast(SynergyIdManager.NOTIFICATION_SYNERGY_ID_CHANGED, hashMap); + } + } + + @Override // com.ea.nimble.ISynergyIdManager + public String getSynergyId() { + Log.Helper.LOGPUBLICFUNC(this); + if (Utility.validString(this.m_currentSynergyId)) { + return this.m_currentSynergyId; + } + return getAnonymousSynergyId(); + } + + @Override // com.ea.nimble.ISynergyIdManager + public String getAnonymousSynergyId() { + Log.Helper.LOGPUBLICFUNC(this); + if (Utility.validString(this.m_anonymousSynergyId)) { + return this.m_anonymousSynergyId; + } + return SynergyEnvironment.getComponent().getSynergyId(); + } + + @Override // com.ea.nimble.ISynergyIdManager + public SynergyIdManagerError login(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_authenticatorIdentifier != null) { + return new SynergyIdManagerError(SynergyIdManagerError.Code.UNEXPECTED_LOGIN_STATE, "Already logged in with authenticator, " + this.m_authenticatorIdentifier); + } + if (!Utility.validString(str) || !Utility.isOnlyDecimalCharacters(str)) { + return new SynergyIdManagerError(SynergyIdManagerError.Code.INVALID_ID, "Synergy ID must be numeric digits."); + } + if (!Utility.validString(str2)) { + return new SynergyIdManagerError(SynergyIdManagerError.Code.MISSING_AUTHENTICATOR, "Authenticator string required for login API."); + } + this.m_authenticatorIdentifier = str2; + setCurrentSynergyId(str); + return null; + } + + @Override // com.ea.nimble.ISynergyIdManager + public SynergyIdManagerError logout(String str) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_authenticatorIdentifier == null) { + return new SynergyIdManagerError(SynergyIdManagerError.Code.UNEXPECTED_LOGIN_STATE, "Already logged out."); + } + if (!Utility.validString(str)) { + return new SynergyIdManagerError(SynergyIdManagerError.Code.MISSING_AUTHENTICATOR, "Authenticator string required for logout API."); + } + if (!this.m_authenticatorIdentifier.equals(str)) { + return new SynergyIdManagerError(SynergyIdManagerError.Code.AUTHENTICATOR_CONFLICT, "Logout must be performed by the same authenticator that logged in, " + this.m_authenticatorIdentifier); + } + setCurrentSynergyId(this.m_anonymousSynergyId); + this.m_authenticatorIdentifier = null; + return null; + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyNetwork.java b/app/src/main/java/com/ea/nimble/SynergyNetwork.java new file mode 100644 index 0000000..88258df --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyNetwork.java @@ -0,0 +1,10 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public class SynergyNetwork { + public static final String COMPONENT_ID = "com.ea.nimble.synergynetwork"; + + public static ISynergyNetwork getComponent() { + return SynergyNetworkImpl.getComponent(); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyNetworkConnection.java b/app/src/main/java/com/ea/nimble/SynergyNetworkConnection.java new file mode 100644 index 0000000..dd7ee5e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyNetworkConnection.java @@ -0,0 +1,251 @@ +package com.ea.nimble; + +import com.ea.nimble.Log; +import java.util.List; +import java.util.Map; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class SynergyNetworkConnection implements SynergyNetworkConnectionHandle { + private SynergyNetworkConnectionCallback m_completionCallback; + private SynergyRequest m_request; + private NetworkConnectionHandle m_networkHandle = null; + private SynergyResponse m_response = new SynergyResponse(); + private SynergyOperationalTelemetryDispatch m_otDispatch = new SynergyOperationalTelemetryDispatch(); + private SynergyNetworkConnectionCallback m_headerCallback = null; + private SynergyNetworkConnectionCallback m_progressCallback = null; + + public SynergyNetworkConnection(SynergyRequest synergyRequest, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + this.m_request = synergyRequest; + this.m_completionCallback = synergyNetworkConnectionCallback; + } + + public void start() { + this.m_request.prepare(this); + } + + void send() { + Log.Helper.LOGFUNC(this); + try { + this.m_request.build(); + this.m_networkHandle = Network.getComponent().sendRequest(this.m_request.httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.SynergyNetworkConnection.1 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + if (SynergyNetworkConnection.this.m_networkHandle == null) { + SynergyNetworkConnection.this.m_networkHandle = networkConnectionHandle; + } + SynergyNetworkConnection.this.parseDataFromNetworkHandle(); + networkConnectionHandle.setHeaderCallback(null); + networkConnectionHandle.setProgressCallback(null); + networkConnectionHandle.setCompletionCallback(null); + if (SynergyNetworkConnection.this.m_completionCallback != null) { + SynergyNetworkConnection.this.m_completionCallback.callback(SynergyNetworkConnection.this); + } + } + }, this.m_otDispatch); + this.m_response.httpResponse = this.m_networkHandle.getResponse(); + updateNetworkHeaderHandler(); + updateNetworkProgressHandler(); + } catch (Exception e) { + errorPriorToSend(e); + } + } + + public void errorPriorToSend(Exception exc) { + Log.Helper.LOGPUBLICFUNC(this); + HttpResponse httpResponse = new HttpResponse(); + httpResponse.error = exc; + httpResponse.isCompleted = true; + this.m_response.httpResponse = httpResponse; + if (this.m_completionCallback != null) { + this.m_completionCallback.callback(this); + } + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public ISynergyRequest getRequest() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_request; + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public ISynergyResponse getResponse() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_response; + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public SynergyNetworkConnectionCallback getHeaderCallback() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_headerCallback; + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public void setHeaderCallback(SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_headerCallback = synergyNetworkConnectionCallback; + if (this.m_networkHandle != null) { + updateNetworkHeaderHandler(); + } + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public SynergyNetworkConnectionCallback getProgressCallback() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_progressCallback; + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public void setProgressCallback(SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_progressCallback = synergyNetworkConnectionCallback; + if (this.m_networkHandle != null) { + updateNetworkProgressHandler(); + } + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public SynergyNetworkConnectionCallback getCompletionCallback() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_completionCallback; + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public void setCompletionCallback(SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_completionCallback = synergyNetworkConnectionCallback; + } + + public NetworkConnectionHandle getNetworkConnectionHandle() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_networkHandle; + } + + public void setNetworkConnectionHandle(NetworkConnectionHandle networkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_networkHandle = networkConnectionHandle; + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public void waitOn() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_networkHandle != null) { + this.m_networkHandle.waitOn(); + } + } + + @Override // com.ea.nimble.SynergyNetworkConnectionHandle + public void cancel() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_networkHandle != null) { + this.m_networkHandle.cancel(); + } + } + + private void updateNetworkHeaderHandler() { + Log.Helper.LOGFUNC(this); + if (this.m_headerCallback == null) { + this.m_networkHandle.setHeaderCallback(null); + } else { + this.m_networkHandle.setHeaderCallback(new NetworkConnectionCallback() { // from class: com.ea.nimble.SynergyNetworkConnection.2 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + SynergyNetworkConnection.this.m_headerCallback.callback(SynergyNetworkConnection.this); + } + }); + } + } + + private void updateNetworkProgressHandler() { + Log.Helper.LOGFUNC(this); + if (this.m_progressCallback == null) { + this.m_networkHandle.setProgressCallback(null); + } else { + this.m_networkHandle.setProgressCallback(new NetworkConnectionCallback() { // from class: com.ea.nimble.SynergyNetworkConnection.3 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + SynergyNetworkConnection.this.m_progressCallback.callback(SynergyNetworkConnection.this); + } + }); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void parseDataFromNetworkHandle() { + Log.Helper.LOGFUNC(this); + if (this.m_networkHandle != null) { + this.m_response.httpResponse = this.m_networkHandle.getResponse(); + this.m_response.parseData(); + } + } + + private class SynergyOperationalTelemetryDispatch implements IOperationalTelemetryDispatch { + private SynergyOperationalTelemetryDispatch() { + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public void logEvent(String str, JSONObject jSONObject) { + Log.Helper.LOGFUNC(this); + if (!BaseCore.getInstance().isActive()) { + Log.Helper.LOGV(this, "BaseCore not active for operational telemetry logging.", new Object[0]); + return; + } + IOperationalTelemetryDispatch component = OperationalTelemetryDispatch.getComponent(); + if (component != null) { + SynergyNetworkConnection.this.parseDataFromNetworkHandle(); + Map jsonData = SynergyNetworkConnection.this.m_response.getJsonData(); + if (jsonData != null && jsonData.containsKey("resultCode")) { + try { + jSONObject.put("SYNERGY_RESULT_CODE", ((Integer) jsonData.get("resultCode")).intValue()); + } catch (JSONException unused) { + Log.Helper.LOGE(this, "Failed to add SYNERGY_RESULT_CODE to eventDict.", new Object[0]); + } + } + component.logEvent(str, jSONObject); + } + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public List getEvents(String str) { + Log.Helper.LOGFUNC(this); + if (!BaseCore.getInstance().isActive()) { + Log.Helper.LOGV(this, "BaseCore not active for operational telemetry logging.", new Object[0]); + return null; + } + IOperationalTelemetryDispatch component = OperationalTelemetryDispatch.getComponent(); + if (component == null) { + return null; + } + return component.getEvents(str); + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public void setMaxEventCount(String str, int i) { + Log.Helper.LOGFUNC(this); + if (!BaseCore.getInstance().isActive()) { + Log.Helper.LOGV(this, "BaseCore not active for operational telemetry logging.", new Object[0]); + return; + } + IOperationalTelemetryDispatch component = OperationalTelemetryDispatch.getComponent(); + if (component == null) { + return; + } + component.setMaxEventCount(str, i); + } + + @Override // com.ea.nimble.IOperationalTelemetryDispatch + public int getMaxEventCount(String str) { + Log.Helper.LOGFUNC(this); + if (!BaseCore.getInstance().isActive()) { + Log.Helper.LOGV(this, "BaseCore not active for operational telemetry logging.", new Object[0]); + return -1; + } + IOperationalTelemetryDispatch component = OperationalTelemetryDispatch.getComponent(); + if (component == null) { + return -1; + } + return component.getMaxEventCount(str); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyNetworkConnectionCallback.java b/app/src/main/java/com/ea/nimble/SynergyNetworkConnectionCallback.java new file mode 100644 index 0000000..f1bcbe8 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyNetworkConnectionCallback.java @@ -0,0 +1,6 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface SynergyNetworkConnectionCallback { + void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle); +} diff --git a/app/src/main/java/com/ea/nimble/SynergyNetworkConnectionHandle.java b/app/src/main/java/com/ea/nimble/SynergyNetworkConnectionHandle.java new file mode 100644 index 0000000..75811f2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyNetworkConnectionHandle.java @@ -0,0 +1,24 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface SynergyNetworkConnectionHandle { + void cancel(); + + SynergyNetworkConnectionCallback getCompletionCallback(); + + SynergyNetworkConnectionCallback getHeaderCallback(); + + SynergyNetworkConnectionCallback getProgressCallback(); + + ISynergyRequest getRequest(); + + ISynergyResponse getResponse(); + + void setCompletionCallback(SynergyNetworkConnectionCallback synergyNetworkConnectionCallback); + + void setHeaderCallback(SynergyNetworkConnectionCallback synergyNetworkConnectionCallback); + + void setProgressCallback(SynergyNetworkConnectionCallback synergyNetworkConnectionCallback); + + void waitOn(); +} diff --git a/app/src/main/java/com/ea/nimble/SynergyNetworkImpl.java b/app/src/main/java/com/ea/nimble/SynergyNetworkImpl.java new file mode 100644 index 0000000..7f469db --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyNetworkImpl.java @@ -0,0 +1,160 @@ +package com.ea.nimble; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.ComponentManager; +import com.ea.nimble.Error; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.ISynergyRequest; +import com.ea.nimble.Log; +import com.google.android.vending.expansion.downloader.Constants; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.Locale; +import java.util.Map; +import java.util.UUID; + +/* loaded from: classes.dex */ +public class SynergyNetworkImpl extends Component implements ISynergyNetwork { + private String m_sessionId; + private ArrayList m_pendingRequests = null; + private BroadcastReceiver m_synergyEnvironmentNotifyReceiver = null; + private boolean m_sessionIdNeedsRefresh = false; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return SynergyNetwork.COMPONENT_ID; + } + + SynergyNetworkImpl() { + } + + String getSessionId() { + if (this.m_sessionId == null || (this.m_sessionIdNeedsRefresh && BaseCore.getInstance().getComponentManager().getStage() == ComponentManager.Stage.READY)) { + this.m_sessionId = generateSessionId(); + this.m_sessionIdNeedsRefresh = false; + } + return this.m_sessionId; + } + + public static ISynergyNetwork getComponent() { + return (ISynergyNetwork) Base.getComponent(SynergyNetwork.COMPONENT_ID); + } + + @Override // com.ea.nimble.Component + public void setup() { + this.m_pendingRequests = new ArrayList<>(); + getSessionId(); + } + + @Override // com.ea.nimble.Component + public void restore() { + if (SynergyEnvironment.getComponent().isDataAvailable()) { + return; + } + this.m_synergyEnvironmentNotifyReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.SynergyNetworkImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + String stringExtra = intent.getStringExtra(Global.NOTIFICATION_DICTIONARY_KEY_RESULT); + if (stringExtra == null || !stringExtra.equals("0")) { + Iterator it = SynergyNetworkImpl.this.m_pendingRequests.iterator(); + while (it.hasNext()) { + ((SynergyNetworkConnection) it.next()).start(); + } + } else { + Iterator it2 = SynergyNetworkImpl.this.m_pendingRequests.iterator(); + while (it2.hasNext()) { + ((SynergyNetworkConnection) it2.next()).errorPriorToSend(new Error(Error.Code.SYNERGY_ENVIRONMENT_UPDATE_FAILURE, "Failed to retrieve Environment data from Synergy")); + } + } + SynergyNetworkImpl.this.m_pendingRequests.clear(); + } + }; + Utility.registerReceiver(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, this.m_synergyEnvironmentNotifyReceiver); + } + + @Override // com.ea.nimble.Component + protected void suspend() { + this.m_sessionIdNeedsRefresh = true; + } + + @Override // com.ea.nimble.Component + protected void resume() { + getSessionId(); + } + + @Override // com.ea.nimble.Component + public void cleanup() { + if (this.m_synergyEnvironmentNotifyReceiver != null) { + Utility.unregisterReceiver(this.m_synergyEnvironmentNotifyReceiver); + this.m_synergyEnvironmentNotifyReceiver = null; + } + this.m_pendingRequests.clear(); + } + + @Override // com.ea.nimble.ISynergyNetwork + public SynergyNetworkConnectionHandle sendGetRequest(String str, String str2, Map map, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + SynergyRequest synergyRequest = new SynergyRequest(str2, IHttpRequest.Method.GET, null); + synergyRequest.baseUrl = str; + synergyRequest.urlParameters = map; + return sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback); + } + + @Override // com.ea.nimble.ISynergyNetwork + public SynergyNetworkConnectionHandle sendPostRequest(String str, String str2, Map map, ISynergyRequest.IJsonData iJsonData, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + SynergyRequest synergyRequest = new SynergyRequest(str2, IHttpRequest.Method.POST, null); + synergyRequest.baseUrl = str; + synergyRequest.urlParameters = map; + synergyRequest.jsonData = iJsonData; + return sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback); + } + + @Override // com.ea.nimble.ISynergyNetwork + public SynergyNetworkConnectionHandle sendPostRequest(String str, String str2, Map map, ISynergyRequest.IJsonData iJsonData, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback, Map map2) { + Log.Helper.LOGPUBLICFUNC(this); + SynergyRequest synergyRequest = new SynergyRequest(str2, IHttpRequest.Method.POST, null); + synergyRequest.baseUrl = str; + synergyRequest.urlParameters = map; + synergyRequest.jsonData = iJsonData; + if (map2 != null) { + synergyRequest.httpRequest.headers.putAll(map2); + } + return sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback); + } + + @Override // com.ea.nimble.ISynergyNetwork + public void sendRequest(SynergyRequest synergyRequest, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGPUBLICFUNC(this); + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (component.isDataAvailable()) { + sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback); + return; + } + SynergyNetworkConnection synergyNetworkConnection = new SynergyNetworkConnection(synergyRequest, synergyNetworkConnectionCallback); + if (component.isUpdateInProgress()) { + this.m_pendingRequests.add(synergyNetworkConnection); + return; + } + Error checkAndInitiateSynergyEnvironmentUpdate = component.checkAndInitiateSynergyEnvironmentUpdate(); + if (checkAndInitiateSynergyEnvironmentUpdate == null) { + this.m_pendingRequests.add(synergyNetworkConnection); + } else { + synergyNetworkConnection.errorPriorToSend(checkAndInitiateSynergyEnvironmentUpdate); + } + } + + private SynergyNetworkConnectionHandle sendSynergyRequest(SynergyRequest synergyRequest, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) { + Log.Helper.LOGFUNC(this); + SynergyNetworkConnection synergyNetworkConnection = new SynergyNetworkConnection(synergyRequest, synergyNetworkConnectionCallback); + synergyNetworkConnection.start(); + return synergyNetworkConnection; + } + + private String generateSessionId() { + Log.Helper.LOGFUNC(this); + return UUID.randomUUID().toString().replace(Constants.FILENAME_SEQUENCE_SEPARATOR, "").toLowerCase(Locale.US); + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyRequest.java b/app/src/main/java/com/ea/nimble/SynergyRequest.java new file mode 100644 index 0000000..204cb5a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyRequest.java @@ -0,0 +1,135 @@ +package com.ea.nimble; + +import com.ea.nimble.Error; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.ISynergyRequest; +import com.ea.nimble.Log; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +/* loaded from: classes.dex */ +public class SynergyRequest implements ISynergyRequest { + public String api; + public String baseUrl; + public SynergyRequestPreparingCallback prepareRequestCallback; + private SynergyNetworkConnection m_connection = null; + public HttpRequest httpRequest = new HttpRequest(); + public Map urlParameters = null; + public ISynergyRequest.IJsonData jsonData = null; + + public interface SynergyRequestPreparingCallback { + void prepareRequest(SynergyRequest synergyRequest); + } + + public SynergyRequest(String str, IHttpRequest.Method method, SynergyRequestPreparingCallback synergyRequestPreparingCallback) { + this.api = str; + this.prepareRequestCallback = synergyRequestPreparingCallback; + this.httpRequest.method = method; + this.httpRequest.headers.put("Content-Type", "application/json"); + this.httpRequest.headers.put("SDK-VERSION", Global.NIMBLE_RELEASE_VERSION); + this.httpRequest.headers.put("SDK-TYPE", Global.NIMBLE_ID); + String sessionId = ((SynergyNetworkImpl) SynergyNetwork.getComponent()).getSessionId(); + if (Utility.validString(sessionId)) { + this.httpRequest.headers.put("EAM-SESSION", sessionId); + } else { + Log.Helper.LOGES("SynergyRequest", "Synergy Network session ID is null", new Object[0]); + } + String synergyId = SynergyIdManager.getComponent().getSynergyId(); + if (Utility.validString(synergyId)) { + this.httpRequest.headers.put("EAM-USER-ID", synergyId); + } + String sellId = SynergyEnvironment.getComponent().getSellId(); + if (Utility.validString(sellId)) { + this.httpRequest.headers.put("EA-SELL-ID", sellId); + } + } + + @Override // com.ea.nimble.ISynergyRequest + public HttpRequest getHttpRequest() { + Log.Helper.LOGPUBLICFUNC(this); + return this.httpRequest; + } + + @Override // com.ea.nimble.ISynergyRequest + public String getBaseUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.baseUrl; + } + + @Override // com.ea.nimble.ISynergyRequest + public String getApi() { + Log.Helper.LOGPUBLICFUNC(this); + return this.api; + } + + public IHttpRequest.Method getMethod() { + Log.Helper.LOGPUBLICFUNC(this); + return this.httpRequest.getMethod(); + } + + public void setMethod(IHttpRequest.Method method) { + Log.Helper.LOGPUBLICFUNC(this); + this.httpRequest.method = method; + } + + @Override // com.ea.nimble.ISynergyRequest + public Map getUrlParameters() { + Log.Helper.LOGPUBLICFUNC(this); + return this.urlParameters; + } + + @Override // com.ea.nimble.ISynergyRequest + public ISynergyRequest.IJsonData getJsonData() { + Log.Helper.LOGPUBLICFUNC(this); + return this.jsonData; + } + + public void send() { + Log.Helper.LOGPUBLICFUNC(this); + this.m_connection.send(); + } + + void prepare(SynergyNetworkConnection synergyNetworkConnection) { + Log.Helper.LOGFUNC(this); + this.m_connection = synergyNetworkConnection; + if (this.prepareRequestCallback != null) { + this.prepareRequestCallback.prepareRequest(this); + } else { + send(); + } + } + + void build() throws Error { + Log.Helper.LOGFUNC(this); + if (!Utility.validString(this.baseUrl) || !Utility.validString(this.api)) { + throw new Error(Error.Code.INVALID_ARGUMENT, String.format("Invalid synergy request parameter (%s, %s) to build http request url", this.baseUrl, this.api)); + } + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + HashMap hashMap = new HashMap(); + hashMap.put("appVer", component.getApplicationVersion()); + hashMap.put("appLang", component.getShortApplicationLanguageCode()); + hashMap.put("localization", component.getApplicationLanguageCode()); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_LANGUAGE, Locale.getDefault().getLanguage()); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_LOCALE, Locale.getDefault().toString()); + String eAHardwareId = SynergyEnvironment.getComponent().getEAHardwareId(); + if (Utility.validString(eAHardwareId)) { + hashMap.put("hwId", eAHardwareId); + } + if (this.urlParameters != null) { + hashMap.putAll(this.urlParameters); + } + this.httpRequest.url = Network.generateURL(this.baseUrl + this.api, hashMap); + if ((this.httpRequest.method == IHttpRequest.Method.POST || this.httpRequest.method == IHttpRequest.Method.PUT) && this.jsonData != null && this.jsonData.size() > 0) { + String convertObjectToJSONString = Utility.convertObjectToJSONString(this.jsonData.getData()); + this.httpRequest.data = new ByteArrayOutputStream(); + try { + this.httpRequest.data.write(convertObjectToJSONString.getBytes()); + } catch (IOException e) { + throw new Error(Error.Code.INVALID_ARGUMENT, "Error converting jsonData in SynergyRequest to a data stream", e); + } + } + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyResponse.java b/app/src/main/java/com/ea/nimble/SynergyResponse.java new file mode 100644 index 0000000..0b60e69 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyResponse.java @@ -0,0 +1,72 @@ +package com.ea.nimble; + +import com.ea.nimble.Error; +import com.ea.nimble.Log; +import com.facebook.share.internal.ShareConstants; +import java.util.Map; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class SynergyResponse implements ISynergyResponse { + public IHttpResponse httpResponse = null; + public Error error = null; + public Map jsonData = null; + + public void parseData() { + String str; + Exception e; + int intValue; + Log.Helper.LOGPUBLICFUNC(this); + if (this.jsonData != null) { + return; + } + if (this.httpResponse != null && this.httpResponse.getError() == null) { + try { + str = Utility.readStringFromStream(this.httpResponse.getDataStream()); + try { + this.jsonData = Utility.convertJSONObjectToMap(new JSONObject(str)); + if (!this.jsonData.containsKey("resultCode") || (intValue = ((Integer) this.jsonData.get("resultCode")).intValue()) >= 0) { + return; + } + this.error = new SynergyServerError(intValue, (String) this.jsonData.get(ShareConstants.WEB_DIALOG_PARAM_MESSAGE)); + } catch (Exception e2) { + e = e2; + this.jsonData = null; + this.error = new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Unparseable synergy json response " + str, e); + } + } catch (Exception e3) { + str = ""; + e = e3; + } + } else { + this.jsonData = null; + this.error = null; + } + } + + @Override // com.ea.nimble.ISynergyResponse + public IHttpResponse getHttpResponse() { + Log.Helper.LOGPUBLICFUNC(this); + return this.httpResponse; + } + + @Override // com.ea.nimble.ISynergyResponse + public boolean isCompleted() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.httpResponse == null) { + return false; + } + return this.httpResponse.isCompleted(); + } + + @Override // com.ea.nimble.ISynergyResponse + public Exception getError() { + return (this.error != null || this.httpResponse == null) ? this.error : this.httpResponse.getError(); + } + + @Override // com.ea.nimble.ISynergyResponse + public Map getJsonData() { + Log.Helper.LOGPUBLICFUNC(this); + return this.jsonData; + } +} diff --git a/app/src/main/java/com/ea/nimble/SynergyServerError.java b/app/src/main/java/com/ea/nimble/SynergyServerError.java new file mode 100644 index 0000000..0214081 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/SynergyServerError.java @@ -0,0 +1,42 @@ +package com.ea.nimble; + +import com.google.android.gms.games.GamesActivityResultCodes; + +/* loaded from: classes.dex */ +public class SynergyServerError extends Error { + public static final String ERROR_DOMAIN = "SynergyServerError"; + private static final long serialVersionUID = 1; + + public enum Code { + ERROR_NONCE_VERIFICATION(-30013), + ERROR_SIGNATURE_VERIFICATION(-30014), + ERROR_NOT_SUPPORTED_RECEIPT_TYPE(-30015), + AMAZON_SERVER_CONNECTION_ERROR(-30016), + APPLE_SERVER_CONNECTION_ERROR(GamesActivityResultCodes.RESULT_RECONNECT_REQUIRED); + + private int m_value; + + Code(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public SynergyServerError() { + } + + public SynergyServerError(int i, String str, Throwable th) { + super(ERROR_DOMAIN, i, str, th); + } + + public SynergyServerError(int i, String str) { + super(ERROR_DOMAIN, i, str, null); + } + + public boolean isError(int i) { + return getCode() == i; + } +} diff --git a/app/src/main/java/com/ea/nimble/Timer.java b/app/src/main/java/com/ea/nimble/Timer.java new file mode 100644 index 0000000..e8276e0 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Timer.java @@ -0,0 +1,124 @@ +package com.ea.nimble; + +import android.os.Handler; +import android.os.Looper; +import android.os.SystemClock; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class Timer { + private static Handler s_handler = new Handler(Looper.getMainLooper()); + private long m_fireTime; + private long m_pauseTime; + private Runnable m_task; + private Runnable m_taskToRun; + private long m_timeInterval; + private boolean m_running = false; + private boolean m_paused = false; + + private class RepeatingTask implements Runnable { + private RepeatingTask() { + } + + @Override // java.lang.Runnable + public void run() { + if (Timer.this.m_paused || !Timer.this.m_running) { + return; + } + Timer.this.m_task.run(); + Timer.this.m_fireTime = SystemClock.uptimeMillis() + Timer.this.m_fireTime; + Timer.s_handler.postDelayed(this, Timer.this.m_timeInterval); + } + } + + private class SingleRunTask implements Runnable { + private SingleRunTask() { + } + + @Override // java.lang.Runnable + public void run() { + if (Timer.this.m_paused || !Timer.this.m_running) { + return; + } + Timer.this.m_running = false; + Timer.this.m_task.run(); + } + } + + public Timer(Runnable runnable) { + this.m_task = runnable; + } + + public boolean isRunning() { + return this.m_running; + } + + public boolean isPaused() { + return this.m_paused; + } + + public void schedule(double d, boolean z) { + cancel(); + if (d < 0.1d) { + if (z) { + Log.Helper.LOGES(null, "Timer scheduled to repeat for %.2f seconds, running only once", Double.valueOf(d)); + } + if (Looper.myLooper() == Looper.getMainLooper()) { + this.m_task.run(); + return; + } else { + s_handler.post(this.m_task); + return; + } + } + this.m_timeInterval = (long) (d * 1000.0d); + this.m_fireTime = SystemClock.uptimeMillis() + this.m_timeInterval; + if (z) { + this.m_taskToRun = new RepeatingTask(); + } else { + this.m_taskToRun = new SingleRunTask(); + } + s_handler.postDelayed(this.m_taskToRun, this.m_timeInterval); + this.m_running = true; + } + + public void fire() { + cancel(); + this.m_task.run(); + if (this.m_taskToRun instanceof RepeatingTask) { + if (this.m_paused) { + this.m_fireTime = this.m_pauseTime + this.m_timeInterval; + return; + } + this.m_fireTime = SystemClock.uptimeMillis() + this.m_timeInterval; + s_handler.postDelayed(this.m_taskToRun, this.m_timeInterval); + this.m_running = true; + } + } + + public void pause() { + if (this.m_paused || !this.m_running) { + return; + } + this.m_pauseTime = SystemClock.uptimeMillis(); + s_handler.removeCallbacks(this.m_taskToRun); + this.m_paused = true; + } + + public void resume() { + if (this.m_paused && this.m_running) { + this.m_fireTime += SystemClock.uptimeMillis() - this.m_pauseTime; + s_handler.postAtTime(this.m_taskToRun, this.m_fireTime); + this.m_paused = false; + } + } + + public void cancel() { + if (this.m_running) { + if (!this.m_paused) { + s_handler.removeCallbacks(this.m_taskToRun); + } + this.m_running = false; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/Utility.java b/app/src/main/java/com/ea/nimble/Utility.java new file mode 100644 index 0000000..6ed3dd6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/Utility.java @@ -0,0 +1,387 @@ +package com.ea.nimble; + +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.ResolveInfo; +import android.os.AsyncTask; +import android.os.Bundle; +import android.os.Looper; +import android.support.v4.content.LocalBroadcastManager; +import com.ea.nimble.Log; +import com.google.gson.GsonBuilder; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Serializable; +import java.io.StringWriter; +import java.nio.charset.Charset; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.TimeZone; +import org.apache.http.protocol.HTTP; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public final class Utility { + public static boolean getTestResult() { + return true; + } + + public static String safeString(String str) { + return str == null ? "" : str; + } + + private Utility() { + } + + public static void loadLibrary(String str) { + String unsatisfiedLinkError; + if (str == null) { + Log.Helper.LOGDS("Utility", "loadLibrary(): libName is null", new Object[0]); + return; + } + try { + System.loadLibrary(str); + unsatisfiedLinkError = "Success"; + } catch (NullPointerException e) { + unsatisfiedLinkError = e.toString(); + } catch (SecurityException e2) { + unsatisfiedLinkError = e2.toString(); + } catch (Exception e3) { + unsatisfiedLinkError = e3.toString(); + } catch (UnsatisfiedLinkError e4) { + unsatisfiedLinkError = e4.toString(); + } + Log.Helper.LOGDS("Utility", "loadLibrary(" + str + "): " + unsatisfiedLinkError, new Object[0]); + } + + /* JADX WARN: Multi-variable type inference failed */ + /* JADX WARN: Removed duplicated region for block: B:35:0x0076 */ + /* JADX WARN: Type inference failed for: r6v2 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public static java.util.Map parseXmlFile(int r6) { + /* + r0 = 0 + com.ea.nimble.IApplicationEnvironment r1 = com.ea.nimble.ApplicationEnvironment.getComponent() // Catch: java.lang.Throwable -> L49 java.lang.Exception -> L4e + android.content.Context r1 = r1.getApplicationContext() // Catch: java.lang.Throwable -> L49 java.lang.Exception -> L4e + android.content.res.Resources r1 = r1.getResources() // Catch: java.lang.Throwable -> L49 java.lang.Exception -> L4e + android.content.res.XmlResourceParser r6 = r1.getXml(r6) // Catch: java.lang.Throwable -> L49 java.lang.Exception -> L4e + if (r6 == 0) goto L41 + java.util.LinkedHashMap r1 = new java.util.LinkedHashMap // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + r1.() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + int r2 = r6.getEventType() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + r3 = r0 + L1d: + r4 = 1 + if (r2 == r4) goto L38 + r4 = 2 + if (r2 != r4) goto L29 + java.lang.String r2 = r6.getName() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + r3 = r2 + goto L33 + L29: + r4 = 4 + if (r2 != r4) goto L33 + java.lang.String r2 = r6.getText() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + r1.put(r3, r2) // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + L33: + int r2 = r6.next() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + goto L1d + L38: + r6.close() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + if (r6 == 0) goto L40 + r6.close() + L40: + return r1 + L41: + java.lang.Exception r1 = new java.lang.Exception // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + r1.() // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + throw r1 // Catch: java.lang.Exception -> L47 java.lang.Throwable -> L73 + L47: + r1 = move-exception + goto L50 + L49: + r6 = move-exception + r5 = r0 + r0 = r6 + r6 = r5 + goto L74 + L4e: + r1 = move-exception + r6 = r0 + L50: + java.lang.String r2 = "Utility" + java.lang.StringBuilder r3 = new java.lang.StringBuilder // Catch: java.lang.Throwable -> L73 + r3.() // Catch: java.lang.Throwable -> L73 + java.lang.String r4 = "Error reading xml file: " + r3.append(r4) // Catch: java.lang.Throwable -> L73 + java.lang.String r1 = r1.toString() // Catch: java.lang.Throwable -> L73 + r3.append(r1) // Catch: java.lang.Throwable -> L73 + java.lang.String r1 = r3.toString() // Catch: java.lang.Throwable -> L73 + r3 = 0 + java.lang.Object[] r3 = new java.lang.Object[r3] // Catch: java.lang.Throwable -> L73 + com.ea.nimble.Log.Helper.LOGES(r2, r1, r3) // Catch: java.lang.Throwable -> L73 + if (r6 == 0) goto L72 + r6.close() + L72: + return r0 + L73: + r0 = move-exception + L74: + if (r6 == 0) goto L79 + r6.close() + L79: + throw r0 + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.Utility.parseXmlFile(int):java.util.Map"); + } + + public static String readStringFromStream(InputStream inputStream) throws IOException { + InputStreamReader inputStreamReader = new InputStreamReader(inputStream, Charset.defaultCharset()); + char[] cArr = new char[4096]; + StringWriter stringWriter = new StringWriter(); + while (true) { + int read = inputStreamReader.read(cArr, 0, 4096); + if (read > 0) { + stringWriter.write(cArr, 0, read); + } else { + return stringWriter.toString(); + } + } + } + + public static String getUTCDateStringFormat(Date date) { + if (date == null) { + return ""; + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US); + simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + return simpleDateFormat.format(date); + } + + public static boolean validString(String str) { + return str != null && str.length() > 0; + } + + public static boolean validStringObject(Object obj) { + return obj != null && (obj instanceof String) && ((String) obj).length() > 0; + } + + public static String convertObjectToJSONString(Object obj) { + return new GsonBuilder().disableHtmlEscaping().create().toJson(obj); + } + + public static Map convertJSONObjectToMap(JSONObject jSONObject) { + HashMap hashMap = new HashMap(); + Iterator keys = jSONObject.keys(); + while (keys.hasNext()) { + String next = keys.next(); + if (jSONObject.isNull(next)) { + hashMap.put(next, null); + } else { + JSONObject optJSONObject = jSONObject.optJSONObject(next); + if (optJSONObject != null) { + hashMap.put(next, convertJSONObjectToMap(optJSONObject)); + } else { + JSONArray optJSONArray = jSONObject.optJSONArray(next); + if (optJSONArray != null) { + hashMap.put(next, convertJSONArrayToList(optJSONArray)); + } else { + try { + hashMap.put(next, jSONObject.get(next)); + } catch (JSONException e) { + e.printStackTrace(); + hashMap.put(next, null); + } + } + } + } + } + return hashMap; + } + + public static Map convertJSONObjectStringToMap(String str) { + try { + return convertJSONObjectToMap(new JSONObject(str)); + } catch (JSONException e) { + e.printStackTrace(); + return new HashMap(); + } + } + + public static List convertJSONArrayToList(JSONArray jSONArray) { + ArrayList arrayList = new ArrayList(); + for (int i = 0; i < jSONArray.length(); i++) { + if (jSONArray.isNull(i)) { + arrayList.add(null); + } else { + JSONObject optJSONObject = jSONArray.optJSONObject(i); + if (optJSONObject != null) { + arrayList.add(convertJSONObjectToMap(optJSONObject)); + } else { + JSONArray optJSONArray = jSONArray.optJSONArray(i); + if (optJSONArray != null) { + arrayList.add(convertJSONArrayToList(optJSONArray)); + } else { + try { + arrayList.add(jSONArray.get(i)); + } catch (JSONException e) { + e.printStackTrace(); + arrayList.add(null); + } + } + } + } + } + return arrayList; + } + + public static String readFile(String str) { + try { + InputStream open = ApplicationEnvironment.getCurrentActivity().getAssets().open(str); + byte[] bArr = new byte[open.available()]; + open.read(bArr); + open.close(); + return new String(bArr, HTTP.UTF_8); + } catch (IOException e) { + Log.Helper.LOGV("Utility", "readFile(): %s", e.toString()); + return null; + } + } + + public static void sendBroadcast(String str) { + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(new Intent(str)); + } + + public static void sendBroadcast(String str, Map map) { + LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()); + Intent intent = new Intent(str); + if (map != null) { + for (Map.Entry entry : map.entrySet()) { + intent.putExtra(entry.getKey(), entry.getValue()); + } + } + localBroadcastManager.sendBroadcast(intent); + } + + public static void sendBroadcast(String str, Bundle bundle) { + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(new Intent(str).replaceExtras(bundle)); + } + + public static void sendBroadcastSerializable(String str, Map map) { + LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()); + Intent intent = new Intent(str); + if (map != null) { + for (Map.Entry entry : map.entrySet()) { + intent.putExtra(entry.getKey(), entry.getValue()); + } + } + localBroadcastManager.sendBroadcast(intent); + } + + public static void sendExplicitBroadcast(Intent intent) { + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + for (ResolveInfo resolveInfo : applicationContext.getPackageManager().queryBroadcastReceivers(intent, 0)) { + Intent intent2 = new Intent(intent); + intent2.setComponent(new ComponentName(resolveInfo.activityInfo.applicationInfo.packageName, resolveInfo.activityInfo.name)); + applicationContext.sendBroadcast(intent2); + } + } + + public static void registerReceiver(String str, BroadcastReceiver broadcastReceiver) { + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).registerReceiver(broadcastReceiver, new IntentFilter(str)); + } + + public static void unregisterReceiver(BroadcastReceiver broadcastReceiver) { + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).unregisterReceiver(broadcastReceiver); + } + + public static String SHA256HashString(String str) { + if (str == null) { + return null; + } + try { + MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); + messageDigest.reset(); + byte[] digest = messageDigest.digest(str.getBytes()); + StringBuffer stringBuffer = new StringBuffer(); + for (byte b : digest) { + stringBuffer.append(Integer.toString((b & 255) + 256, 16).substring(1)); + } + return stringBuffer.toString(); + } catch (NoSuchAlgorithmException unused) { + Log.Helper.LOGES("Utility", "Can't find SHA-256 algorithm", new Object[0]); + return null; + } + } + + public static boolean stringsAreEquivalent(String str, String str2) { + return (str == null || str2 == null) ? str == str2 : str.compareTo(str2) == 0; + } + + public static String bytesToHexString(byte[] bArr) { + char[] charArray = "0123456789ABCDEF".toCharArray(); + char[] cArr = new char[bArr.length * 2]; + for (int i = 0; i < bArr.length; i++) { + int i2 = bArr[i] & 255; + int i3 = i * 2; + cArr[i3] = charArray[i2 >> 4]; + cArr[i3 + 1] = charArray[i2 & 15]; + } + return new String(cArr); + } + + public static boolean isOnlyDecimalCharacters(String str) { + if (str == null) { + return false; + } + for (int i = 0; i < str.length(); i++) { + if (!Character.isDigit(str.charAt(i))) { + return false; + } + } + return true; + } + + public static String convertLiteralMapToString(Map map) { + if (map == null) { + return "NULL"; + } + StringBuilder sb = new StringBuilder(); + sb.append("{\n"); + for (Map.Entry entry : map.entrySet()) { + sb.append("\t\""); + sb.append(entry.getKey()); + sb.append("\" = \""); + sb.append(entry.getValue()); + sb.append("\",\n"); + } + sb.deleteCharAt(sb.length() - 2); + sb.append("}"); + return sb.toString(); + } + + public static void runOnWorkerThread(Runnable runnable) { + if (Looper.getMainLooper() == Looper.myLooper()) { + AsyncTask.SERIAL_EXECUTOR.execute(runnable); + } else { + runnable.run(); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/WebView.java b/app/src/main/java/com/ea/nimble/WebView.java new file mode 100644 index 0000000..8bf5912 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/WebView.java @@ -0,0 +1,81 @@ +package com.ea.nimble; + +import android.app.Activity; +import android.content.Intent; +import android.content.res.Configuration; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.webkit.WebViewClient; +import android.widget.RelativeLayout; + +/* loaded from: classes.dex */ +public class WebView extends Activity { + private static WebViewCallback s_callback; + + @Override // android.app.Activity, android.content.ComponentCallbacks + public void onConfigurationChanged(Configuration configuration) { + super.onConfigurationChanged(configuration); + if (configuration.orientation == 2) { + setRequestedOrientation(0); + } else if (configuration.orientation == 1) { + setRequestedOrientation(1); + } + } + + @Override // android.app.Activity + public void onBackPressed() { + if (s_callback != null) { + s_callback.callback(""); + s_callback = null; + } + super.onBackPressed(); + } + + @Override // android.app.Activity + protected void onCreate(Bundle bundle) { + super.onCreate(bundle); + RelativeLayout relativeLayout = new RelativeLayout(this); + relativeLayout.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1)); + android.webkit.WebView webView = new android.webkit.WebView(this); + RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(-1, -1); + layoutParams.addRule(14); + layoutParams.addRule(15); + webView.setLayoutParams(layoutParams); + webView.getSettings().setJavaScriptEnabled(true); + setRequestedOrientation(ApplicationEnvironment.getCurrentActivity().getResources().getConfiguration().orientation != 1 ? 0 : 1); + Bundle extras = getIntent().getExtras(); + final String string = getIntent().getExtras().getString("Redirect_URL"); + if (extras.containsKey("Oauth_URL")) { + webView.loadUrl(getIntent().getExtras().getString("Oauth_URL")); + if (string == null || string.isEmpty()) { + string = ""; + } + webView.setWebViewClient(new WebViewClient() { // from class: com.ea.nimble.WebView.1 + @Override // android.webkit.WebViewClient + public void onPageStarted(android.webkit.WebView webView2, String str, Bitmap bitmap) { + if (str.contains(string)) { + WebView.this.finish(); + if (WebView.s_callback != null) { + WebView.s_callback.callback(str); + WebViewCallback unused = WebView.s_callback = null; + return; + } + return; + } + super.onPageStarted(webView2, str, bitmap); + } + }); + } + relativeLayout.addView(webView); + setContentView(relativeLayout); + } + + public static void showAuthView(String str, String str2, WebViewCallback webViewCallback) { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + Intent intent = new Intent(currentActivity, (Class) WebView.class); + intent.putExtra("Oauth_URL", str); + intent.putExtra("Redirect_URL", str2); + s_callback = webViewCallback; + currentActivity.startActivity(intent); + } +} diff --git a/app/src/main/java/com/ea/nimble/WebViewCallback.java b/app/src/main/java/com/ea/nimble/WebViewCallback.java new file mode 100644 index 0000000..0ceabc8 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/WebViewCallback.java @@ -0,0 +1,6 @@ +package com.ea.nimble; + +/* loaded from: classes.dex */ +public interface WebViewCallback { + void callback(String str); +} diff --git a/app/src/main/java/com/ea/nimble/bridge/BaseNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/BaseNativeCallback.java new file mode 100644 index 0000000..e34332a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/BaseNativeCallback.java @@ -0,0 +1,79 @@ +package com.ea.nimble.bridge; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import com.ea.nimble.Error; +import com.ea.nimble.IApplicationEnvironment; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.SynergyNetworkConnectionCallback; +import com.ea.nimble.SynergyNetworkConnectionHandle; +import com.ea.nimble.SynergyRequest; +import com.ea.nimble.Utility; +import java.util.HashMap; + +/* loaded from: classes.dex */ +public class BaseNativeCallback extends BroadcastReceiver implements NetworkConnectionCallback, SynergyNetworkConnectionCallback, SynergyRequest.SynergyRequestPreparingCallback, IApplicationEnvironment.SafetyNetAttestationCallback { + private int m_id; + + public static native void nativeCallback(int i, Object... objArr); + + public static native void nativeFinalize(int i); + + public static void sendNativeCallback(final int i, final Object... objArr) { + Utility.runOnWorkerThread(new Runnable() { // from class: com.ea.nimble.bridge.BaseNativeCallback.1 + @Override // java.lang.Runnable + public void run() { + BaseNativeCallback.nativeCallback(i, objArr); + } + }); + } + + public BaseNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + sendNativeCallback(this.m_id, networkConnectionHandle); + } + + public void finalize() throws Throwable { + super.finalize(); + Utility.runOnWorkerThread(new Runnable() { // from class: com.ea.nimble.bridge.BaseNativeCallback.2 + @Override // java.lang.Runnable + public void run() { + BaseNativeCallback.nativeFinalize(BaseNativeCallback.this.m_id); + } + }); + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + HashMap hashMap = new HashMap(); + Bundle extras = intent.getExtras(); + if (extras != null) { + for (String str : extras.keySet()) { + hashMap.put(str, extras.get(str)); + } + } + sendNativeCallback(this.m_id, intent.getAction(), hashMap); + } + + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + sendNativeCallback(this.m_id, synergyRequest); + } + + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + sendNativeCallback(this.m_id, synergyNetworkConnectionHandle); + } + + @Override // com.ea.nimble.IApplicationEnvironment.SafetyNetAttestationCallback + public void onCallback(String str, Error error) { + sendNativeCallback(this.m_id, str, error); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/FacebookNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/FacebookNativeCallback.java new file mode 100644 index 0000000..af19136 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/FacebookNativeCallback.java @@ -0,0 +1,22 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.Error; +import com.ea.nimble.IFacebook; + +/* loaded from: classes.dex */ +public class FacebookNativeCallback implements IFacebook.RequestCallback { + private int m_id; + + public FacebookNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.IFacebook.RequestCallback + public void callback(String str, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, str, error); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/FriendsNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/FriendsNativeCallback.java new file mode 100644 index 0000000..d4764e5 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/FriendsNativeCallback.java @@ -0,0 +1,38 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.Error; +import com.ea.nimble.friends.INimbleOriginFriendsService; +import com.ea.nimble.friends.NimbleFriendsList; +import com.ea.nimble.friends.NimbleFriendsRefreshCallback; +import com.ea.nimble.friends.NimbleFriendsRefreshResult; +import com.ea.nimble.friends.NimbleFriendsRefreshScope; +import com.ea.nimble.friends.NimbleUser; +import java.util.ArrayList; + +/* loaded from: classes.dex */ +public class FriendsNativeCallback implements NimbleFriendsRefreshCallback, INimbleOriginFriendsService.NimbleUserSearchCallback, INimbleOriginFriendsService.NimbleFriendInvitationCallback { + private int m_id; + + public FriendsNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.friends.NimbleFriendsRefreshCallback + public void onCallback(NimbleFriendsList nimbleFriendsList, NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshResult nimbleFriendsRefreshResult) { + BaseNativeCallback.sendNativeCallback(this.m_id, nimbleFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService.NimbleUserSearchCallback + public void onCallback(ArrayList arrayList, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, arrayList, error); + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService.NimbleFriendInvitationCallback + public void onCallback(boolean z, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, Boolean.valueOf(z), error); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/GoogleServiceRequestCallback.java b/app/src/main/java/com/ea/nimble/bridge/GoogleServiceRequestCallback.java new file mode 100644 index 0000000..150d8c2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/GoogleServiceRequestCallback.java @@ -0,0 +1,22 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.Error; +import com.ea.nimble.INimbleAndroidGoogleService; +import java.util.Map; + +/* loaded from: classes.dex */ +public class GoogleServiceRequestCallback implements INimbleAndroidGoogleService.RequestCallback { + private int m_id; + + public GoogleServiceRequestCallback(int i) { + this.m_id = i; + } + + public void callback(Map map, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, map, error); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/IdentityGenericAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/bridge/IdentityGenericAuthenticationConductor.java new file mode 100644 index 0000000..d17c3f3 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/IdentityGenericAuthenticationConductor.java @@ -0,0 +1,28 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.identity.INimbleIdentityGenericAuthenticationConductor; +import com.ea.nimble.identity.INimbleIdentityGenericLoginResolver; +import com.ea.nimble.identity.INimbleIdentityGenericLogoutResolver; + +/* loaded from: classes.dex */ +public class IdentityGenericAuthenticationConductor implements INimbleIdentityGenericAuthenticationConductor { + private int m_id; + + public IdentityGenericAuthenticationConductor(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericAuthenticationConductor + public void handleLogin(INimbleIdentityGenericLoginResolver iNimbleIdentityGenericLoginResolver) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityGenericLoginResolver); + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericAuthenticationConductor + public void handleLogout(INimbleIdentityGenericLogoutResolver iNimbleIdentityGenericLogoutResolver) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityGenericLogoutResolver, null); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/IdentityMigrationAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/bridge/IdentityMigrationAuthenticationConductor.java new file mode 100644 index 0000000..395ef4f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/IdentityMigrationAuthenticationConductor.java @@ -0,0 +1,33 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.identity.INimbleIdentityMigrationAuthenticationConductor; +import com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver; +import com.ea.nimble.identity.INimbleIdentityPendingMigrationResolver; + +/* loaded from: classes.dex */ +public class IdentityMigrationAuthenticationConductor implements INimbleIdentityMigrationAuthenticationConductor { + private int m_id; + + public IdentityMigrationAuthenticationConductor(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationAuthenticationConductor + public void handleLogin(INimbleIdentityMigrationLoginResolver iNimbleIdentityMigrationLoginResolver) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityMigrationLoginResolver); + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationAuthenticationConductor + public void handleLogout() { + BaseNativeCallback.sendNativeCallback(this.m_id, new Object[0]); + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationAuthenticationConductor + public void handlePendingMigration(INimbleIdentityPendingMigrationResolver iNimbleIdentityPendingMigrationResolver) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityPendingMigrationResolver, null); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/IdentityNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/IdentityNativeCallback.java new file mode 100644 index 0000000..f2fb929 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/IdentityNativeCallback.java @@ -0,0 +1,38 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.Error; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class IdentityNativeCallback implements INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback, INimbleIdentityAuthenticator.NimbleIdentityServerAuthCodeCallback, INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback, INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback { + private int m_id; + + public IdentityNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, JSONObject jSONObject, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, jSONObject, error); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityServerAuthCodeCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, String str3, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, str, str2, str3, error); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, error); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, Error error) { + BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, str, str2, error); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/IdentityPlainAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/bridge/IdentityPlainAuthenticationConductor.java new file mode 100644 index 0000000..3465b3e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/IdentityPlainAuthenticationConductor.java @@ -0,0 +1,26 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.identity.INimbleIdentityPlainAuthenticationConductor; + +/* loaded from: classes.dex */ +public class IdentityPlainAuthenticationConductor implements INimbleIdentityPlainAuthenticationConductor { + private int m_id; + + public IdentityPlainAuthenticationConductor(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.identity.INimbleIdentityPlainAuthenticationConductor + public void handleLogin() { + BaseNativeCallback.sendNativeCallback(this.m_id, new Object[0]); + } + + @Override // com.ea.nimble.identity.INimbleIdentityPlainAuthenticationConductor + public void handleLogout() { + BaseNativeCallback.sendNativeCallback(this.m_id, null); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/LogNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/LogNativeCallback.java new file mode 100644 index 0000000..80eb073 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/LogNativeCallback.java @@ -0,0 +1,21 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.ILog; + +/* loaded from: classes.dex */ +public class LogNativeCallback implements ILog.LogCallback { + private int m_id; + + public LogNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.ILog.LogCallback + public void callback(int i, String str, String str2) { + BaseNativeCallback.sendNativeCallback(this.m_id, Integer.valueOf(i), str, str2); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/MTXNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/MTXNativeCallback.java new file mode 100644 index 0000000..2da1830 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/MTXNativeCallback.java @@ -0,0 +1,37 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.mtx.INimbleMTX; +import com.ea.nimble.mtx.NimbleMTXTransaction; + +/* loaded from: classes.dex */ +public class MTXNativeCallback implements INimbleMTX.PurchaseTransactionCallback, INimbleMTX.ItemGrantedCallback, INimbleMTX.FinalizeTransactionCallback { + private int m_id; + + public MTXNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.mtx.INimbleMTX.FinalizeTransactionCallback + public void finalizeComplete(NimbleMTXTransaction nimbleMTXTransaction) { + BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction); + } + + @Override // com.ea.nimble.mtx.INimbleMTX.ItemGrantedCallback + public void itemGrantedComplete(NimbleMTXTransaction nimbleMTXTransaction) { + BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction); + } + + @Override // com.ea.nimble.mtx.INimbleMTX.PurchaseTransactionCallback + public void purchaseComplete(NimbleMTXTransaction nimbleMTXTransaction) { + BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction, true); + } + + @Override // com.ea.nimble.mtx.INimbleMTX.PurchaseTransactionCallback + public void unverifiedReceiptReceived(NimbleMTXTransaction nimbleMTXTransaction) { + BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction, false); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/NimbleCppApplicationLifeCycle.java b/app/src/main/java/com/ea/nimble/bridge/NimbleCppApplicationLifeCycle.java new file mode 100644 index 0000000..7a6f11d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/NimbleCppApplicationLifeCycle.java @@ -0,0 +1,160 @@ +package com.ea.nimble.bridge; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.ApplicationLifecycle; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.SynergyEnvironment; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +public class NimbleCppApplicationLifeCycle extends Component implements IApplicationLifecycle.ApplicationLifecycleCallbacks, IApplicationLifecycle.ActivityEventCallbacks, IApplicationLifecycle.ActivityLifecycleCallbacks { + public static final String COMPONENT_ID = "com.ea.nimble.bridge.NimbleCppApplicationLifeCycle"; + private Intent m_newIntent = null; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return COMPONENT_ID; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityCreated(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityDestroyed(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityPaused(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onActivityResult(Activity activity, int i, int i2, Intent intent) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStarted(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStopped(Activity activity) { + } + + public native void onApplicationLaunch(Map map); + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public native void onApplicationQuit(); + + public native void onApplicationResume(Map map); + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public native void onApplicationSuspend(); + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public boolean onBackPressed() { + return true; + } + + public native void onUpdateLaunchMethod(Map map); + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onWindowFocusChanged(boolean z) { + } + + private static void initialize() { + Base.registerComponent(new NimbleCppApplicationLifeCycle(), COMPONENT_ID); + } + + @Override // com.ea.nimble.Component + public void setup() { + ApplicationLifecycle.getComponent().registerApplicationLifecycleCallbacks(this); + ApplicationLifecycle.getComponent().registerActivityEventCallbacks(this); + ApplicationLifecycle.getComponent().registerActivityLifecycleCallbacks(this); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationLaunch(Intent intent) { + onApplicationLaunch(parseIntentInformation(intent, null)); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationResume() { + onApplicationResume(parseIntentInformation(ApplicationEnvironment.getCurrentActivity().getIntent(), this.m_newIntent)); + this.m_newIntent = null; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onNewIntent(Activity activity, Intent intent) { + this.m_newIntent = intent; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityResumed(Activity activity) { + if (this.m_newIntent != null) { + onUpdateLaunchMethod(parseIntentInformation(null, this.m_newIntent)); + this.m_newIntent = null; + } + } + + private Map parseIntentInformation(Intent intent, Intent intent2) { + HashMap hashMap = new HashMap(); + if (intent2 != null) { + if (intent2.getData() != null) { + hashMap.put("mode", "url"); + hashMap.put("url", intent2.getDataString()); + String stringExtra = intent2.getStringExtra("key"); + if (stringExtra != null) { + hashMap.put("key", stringExtra); + } + return hashMap; + } + if (intent2.getStringExtra("PushNotification") != null) { + parsePushNotificationDetails(hashMap, intent2.getExtras()); + return hashMap; + } + } + if (intent != null) { + if (intent.getData() != null) { + hashMap.put("mode", "url"); + hashMap.put("url", intent.getDataString()); + String stringExtra2 = intent.getStringExtra("key"); + if (stringExtra2 != null) { + hashMap.put("key", stringExtra2); + } + return hashMap; + } + if (intent.getStringExtra("PushNotification") != null) { + parsePushNotificationDetails(hashMap, intent.getExtras()); + return hashMap; + } + } + return hashMap; + } + + private void parsePushNotificationDetails(Map map, Bundle bundle) { + map.put("mode", "pn"); + if (bundle == null || bundle.isEmpty()) { + return; + } + if (bundle.containsKey(GcmIntentService.PushIntentExtraKeys.PUSH_ID)) { + map.put(GcmIntentService.PushIntentExtraKeys.PUSH_ID, bundle.getString(GcmIntentService.PushIntentExtraKeys.PUSH_ID)); + } + if (bundle.containsKey(GcmIntentService.PushIntentExtraKeys.PN_TYPE)) { + map.put(GcmIntentService.PushIntentExtraKeys.PN_TYPE, bundle.getString(GcmIntentService.PushIntentExtraKeys.PN_TYPE)); + } + if (map.containsKey(GcmIntentService.PushIntentExtraKeys.PUSH_ID) || map.containsKey(GcmIntentService.PushIntentExtraKeys.PN_TYPE)) { + map.put("deviceId", SynergyEnvironment.getComponent().getEADeviceId()); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/NimbleCppComponentRegistrar.java b/app/src/main/java/com/ea/nimble/bridge/NimbleCppComponentRegistrar.java new file mode 100644 index 0000000..1747e91 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/NimbleCppComponentRegistrar.java @@ -0,0 +1,71 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +public class NimbleCppComponentRegistrar extends Component { + public static final String COMPONENT_ID = "com.ea.nimble.bridge.NimbleCppComponentRegistrar"; + static boolean m_baseComponentSetupComplete; + static HashMap m_components = new HashMap<>(); + + @Override // com.ea.nimble.Component + public String getComponentId() { + return COMPONENT_ID; + } + + static class NimbleCppComponent extends Component { + private String m_componentId; + + @Override // com.ea.nimble.Component + protected native void cleanup(); + + @Override // com.ea.nimble.Component + protected native void restore(); + + @Override // com.ea.nimble.Component + protected native void resume(); + + @Override // com.ea.nimble.Component + protected native void setup(); + + @Override // com.ea.nimble.Component + protected native void suspend(); + + @Override // com.ea.nimble.Component + protected native void teardown(); + + NimbleCppComponent(String str) { + this.m_componentId = str; + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return this.m_componentId; + } + } + + private static void initialize() { + Base.registerComponent(new NimbleCppComponentRegistrar(), COMPONENT_ID); + m_baseComponentSetupComplete = true; + for (Map.Entry entry : m_components.entrySet()) { + Base.registerComponent(entry.getValue(), entry.getKey()); + } + m_components.clear(); + } + + public static void register(String str) { + NimbleCppComponent nimbleCppComponent = new NimbleCppComponent(str); + if (m_baseComponentSetupComplete) { + Base.registerComponent(nimbleCppComponent, str); + } else { + m_components.put(str, nimbleCppComponent); + } + } + + public static String getComponentId(Component component) { + return component.getComponentId(); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/PushTNGNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/PushTNGNativeCallback.java new file mode 100644 index 0000000..59cda7e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/PushTNGNativeCallback.java @@ -0,0 +1,36 @@ +package com.ea.nimble.bridge; + +import com.ea.eadp.pushnotification.listeners.IPushListener; + +/* loaded from: classes.dex */ +public class PushTNGNativeCallback implements IPushListener { + private int m_id; + + public PushTNGNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onConnectionError(int i, String str) { + BaseNativeCallback.sendNativeCallback(this.m_id, 0, Integer.valueOf(i), str); + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onGetInAppSuccess(int i, String str) { + BaseNativeCallback.sendNativeCallback(this.m_id, 1, Integer.valueOf(i), str); + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onRegistrationSuccess(int i, String str) { + BaseNativeCallback.sendNativeCallback(this.m_id, 2, Integer.valueOf(i), str); + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onTrackingSuccess(int i, String str) { + BaseNativeCallback.sendNativeCallback(this.m_id, 3, Integer.valueOf(i), str); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/bridge/WebViewNativeCallback.java b/app/src/main/java/com/ea/nimble/bridge/WebViewNativeCallback.java new file mode 100644 index 0000000..673939f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/bridge/WebViewNativeCallback.java @@ -0,0 +1,21 @@ +package com.ea.nimble.bridge; + +import com.ea.nimble.WebViewCallback; + +/* loaded from: classes.dex */ +public class WebViewNativeCallback implements WebViewCallback { + private int m_id; + + public WebViewNativeCallback(int i) { + this.m_id = i; + } + + @Override // com.ea.nimble.WebViewCallback + public void callback(String str) { + BaseNativeCallback.sendNativeCallback(this.m_id, str); + } + + public void finalize() { + BaseNativeCallback.nativeFinalize(this.m_id); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/INimbleFriends.java b/app/src/main/java/com/ea/nimble/friends/INimbleFriends.java new file mode 100644 index 0000000..9f9493a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/INimbleFriends.java @@ -0,0 +1,9 @@ +package com.ea.nimble.friends; + +/* loaded from: classes.dex */ +public interface INimbleFriends { + public static final int IDENTITY_FRIEND_INFO_REQUEST_LIMIT = 20; + public static final String NIMBLE_NOTIFICATION_FRIENDS_LIST_UPDATE = "nimble.notification.friends.update"; + + NimbleFriendsList getFriendsList(String str, boolean z); +} diff --git a/app/src/main/java/com/ea/nimble/friends/INimbleOriginFriendsService.java b/app/src/main/java/com/ea/nimble/friends/INimbleOriginFriendsService.java new file mode 100644 index 0000000..6525791 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/INimbleOriginFriendsService.java @@ -0,0 +1,34 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Error; +import java.util.ArrayList; + +/* loaded from: classes.dex */ +public interface INimbleOriginFriendsService { + + public interface NimbleFriendInvitationCallback { + void onCallback(boolean z, Error error); + } + + public interface NimbleUserSearchCallback { + void onCallback(ArrayList arrayList, Error error); + } + + void acceptFriendInvitation(String str, NimbleFriendInvitationCallback nimbleFriendInvitationCallback); + + void declineFriendInvitation(String str, NimbleFriendInvitationCallback nimbleFriendInvitationCallback); + + void listFriendInvitationsReceived(NimbleUserSearchCallback nimbleUserSearchCallback); + + void listFriendInvitationsSent(NimbleUserSearchCallback nimbleUserSearchCallback); + + void searchUserByDisplayName(String str, NimbleUserSearchCallback nimbleUserSearchCallback); + + void searchUserByEmail(String str, NimbleUserSearchCallback nimbleUserSearchCallback); + + void sendFriendInvitation(String str, String str2, NimbleFriendInvitationCallback nimbleFriendInvitationCallback); + + void sendInvitationOverEmail(ArrayList arrayList, String str, String str2, NimbleFriendInvitationCallback nimbleFriendInvitationCallback); + + void sendInvitationOverSMS(ArrayList arrayList, String str, NimbleFriendInvitationCallback nimbleFriendInvitationCallback); +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFacebookUser.java b/app/src/main/java/com/ea/nimble/friends/NimbleFacebookUser.java new file mode 100644 index 0000000..f0e0675 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFacebookUser.java @@ -0,0 +1,19 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Global; +import com.ea.nimble.friends.NimbleUser; +import com.facebook.share.internal.ShareConstants; +import java.util.Date; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class NimbleFacebookUser extends NimbleUser { + NimbleFacebookUser(JSONObject jSONObject) { + this.authenticatorId = Global.NIMBLE_AUTHENTICATOR_FACEBOOK; + this.userId = jSONObject.optString("id"); + this.displayName = jSONObject.optString("name"); + this.imageUrl = jSONObject.optJSONObject("picture").optJSONObject(ShareConstants.WEB_DIALOG_PARAM_DATA).optString("url"); + this.refreshTimestamp = new Date(); + setPlayedCurrentGame(NimbleUser.PlayedCurrentGameFlag.PLAYED); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriends.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriends.java new file mode 100644 index 0000000..f5d2861 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriends.java @@ -0,0 +1,12 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Base; + +/* loaded from: classes.dex */ +public class NimbleFriends { + public static final String NIMBLE_COMPONENT_ID_FRIENDS = "com.ea.nimble.friends"; + + public static INimbleFriends getComponent() { + return (INimbleFriends) Base.getComponent(NIMBLE_COMPONENT_ID_FRIENDS); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsError.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsError.java new file mode 100644 index 0000000..9322775 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsError.java @@ -0,0 +1,66 @@ +package com.ea.nimble.friends; + +import android.support.v4.internal.view.SupportMenu; +import com.ea.nimble.Error; +import com.google.android.gms.games.GamesActivityResultCodes; + +/* loaded from: classes.dex */ +public class NimbleFriendsError extends Error { + public static final String NIMBLE_FRIENDS_ERROR_DOMAIN = "NimbleFriendsError"; + private static final long serialVersionUID = 1; + + public enum Code { + NIMBLE_FRIENDS_FACEBOOK_NOT_AVAILABLE(90000), + NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE(90001), + NIMBLE_FRIENDS_FACEBOOK_USER_NOT_LOGGED_IN(90002), + NIMBLE_FRIENDS_EMAIL_NOT_AVAILABLE(90003), + NIMBLE_FRIENDS_SMS_NOT_AVAILABLE(90004), + NIMBLE_FRIENDS_EMAIL_LAST_REQUEST_NOT_FINISHED(90005), + NIMBLE_FRIENDS_SMS_LAST_REQUEST_NOT_FINISHED(90006), + NIMBLE_FRIENDS_SMS_NOT_SENT_OUT(90007), + NIMBLE_FRIENDS_NO_TARGETS_PROVIDED(90008), + NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST(80000), + NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR(80001), + NIMBLE_FRIENDS_SERVER_HTTP_ERROR(80002), + NIMBLE_FRIENDS_SERVER_CODE_ERROR(80003), + NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR(80004), + NIMBLE_FRIENDS_REFRESH_SCOPE_INVALID(GamesActivityResultCodes.RESULT_RECONNECT_REQUIRED), + NIMBLE_FRIENDS_REFRESH_SCOPE_RANGE_EXCEED_LIMIT(GamesActivityResultCodes.RESULT_SIGN_IN_FAILED), + NIMBLE_FRIENDS_REFRESH_SCOPE_INVALID_START_INDEX(GamesActivityResultCodes.RESULT_LICENSE_FAILED), + NIMBLE_FRIENDS_REFRESH_FRIENDS_PROVIDER_NOT_AVAILABLE(GamesActivityResultCodes.RESULT_APP_MISCONFIGURED), + NIMBLE_FRIENDS_REFRESH_NO_USER_IDS_LIST(GamesActivityResultCodes.RESULT_LEFT_ROOM), + NIMBLE_FRIENDS_REFRESH_IDENTITY_SERVER_ERROR(GamesActivityResultCodes.RESULT_NETWORK_FAILURE), + NIMBLE_FRIENDS_REFRESH_IDENTITY_SERVER_EMPTY_RESPONSE(10007), + NIMBLE_FRIENDS_REFRESH_FRIENDS_LIST_EMPTY(10008), + NIMBLE_FRIENDS_REFRESH_FRIENDS_LIST_NOT_UPDATED(10009), + NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_SUPPORTED(10010), + NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_LOGGED_IN(10011), + NIMBLE_FRIENDS_REFRESH_SCOPE_ERROR_PARSING_HTTP_RESPONSE(10013), + NIMBLE_FRIENDS_REFRESH_SCOPE_EMPTY_HTTP_RESPONSE(10014), + NIMBLE_FRIENDS_REFRESH_SCOPE_SERVER_RESPONSE_ERROR(10015), + NIMBLE_FRIENDS_REFRESH_SCOPE_FRIENDS_LIST_TYPE_UNSUPPORTED(10016), + NIMBLE_FRIENDS_REFRESH_TYPE_UNSUPPORTED(10017), + NIMBLE_FRIENDS_UNKNOWN_ERROR(SupportMenu.USER_MASK), + NIMBLE_FRIENDS_SERVER_RETURNED_ERROR(90009), + NIMBLE_FRIENDS_ORIGIN_SERVICES_SERVER_RESPONSE_ERROR(10018), + NIMBLE_FRIENDS_REFRESH_SCOPE_FAILED_TO_CREATE_GOS_REQUEST(10012); + + private int m_value; + + Code(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public NimbleFriendsError(Code code, String str, Throwable th) { + super(NIMBLE_FRIENDS_ERROR_DOMAIN, code.intValue(), str, th); + } + + public NimbleFriendsError(Code code, String str) { + super(NIMBLE_FRIENDS_ERROR_DOMAIN, code.intValue(), str); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsImpl.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsImpl.java new file mode 100644 index 0000000..f54e55a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsImpl.java @@ -0,0 +1,112 @@ +package com.ea.nimble.friends; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Utility; +import com.ea.nimble.identity.INimbleIdentity; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.Hashtable; + +/* loaded from: classes.dex */ +public class NimbleFriendsImpl extends Component implements INimbleFriends, LogSource { + private Hashtable m_friends = new Hashtable<>(); + private BroadcastReceiver m_authenticatorLoginChangeReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.friends.NimbleFriendsImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + INimbleIdentityAuthenticator authenticatorById; + if (intent == null || intent.getExtras() == null || intent.getAction() == null || !intent.getAction().equalsIgnoreCase(Global.NIMBLE_NOTIFICATION_IDENTITY_AUTHENTICATION_UPDATE)) { + return; + } + String string = intent.getExtras().getString(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID); + if (!Utility.validString(string) || (authenticatorById = ((INimbleIdentity) Base.getComponent("com.ea.nimble.identity")).getAuthenticatorById(string)) == null) { + return; + } + if (authenticatorById.getState() == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + if (NimbleFriendsImpl.this.m_friends.get(string) == null) { + if (Global.NIMBLE_AUTHENTICATOR_FACEBOOK == string) { + NimbleFriendsImpl.this.m_friends.put(string, new NimbleFriendsListFacebook()); + return; + } else { + if (Global.NIMBLE_AUTHENTICATOR_ORIGIN == string) { + NimbleFriendsImpl.this.m_friends.put(string, new NimbleFriendsListOrigin()); + return; + } + return; + } + } + return; + } + if (NimbleFriendsImpl.this.m_friends.get(string) != null) { + ((NimbleFriendsListImpl) NimbleFriendsImpl.this.m_friends.get(string)).clear(); + NimbleFriendsImpl.this.m_friends.remove(string); + } + } + }; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return NimbleFriends.NIMBLE_COMPONENT_ID_FRIENDS; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "NimbleFriendsService"; + } + + private static void initialize() { + Base.registerComponent(new NimbleFriendsImpl(), NimbleFriends.NIMBLE_COMPONENT_ID_FRIENDS); + } + + @Override // com.ea.nimble.Component + public void setup() { + Log.Helper.LOGPUBLICFUNC(this); + try { + Utility.registerReceiver(Global.NIMBLE_NOTIFICATION_IDENTITY_AUTHENTICATION_UPDATE, this.m_authenticatorLoginChangeReceiver); + } catch (Exception unused) { + } + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + protected void teardown() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void suspend() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void resume() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void cleanup() { + Log.Helper.LOGPUBLICFUNC(this); + try { + Utility.unregisterReceiver(this.m_authenticatorLoginChangeReceiver); + } catch (Exception unused) { + } + } + + @Override // com.ea.nimble.friends.INimbleFriends + public synchronized NimbleFriendsList getFriendsList(String str, boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_friends.get(str) == null) { + return null; + } + return this.m_friends.get(str).getFriendsList(z); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsList.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsList.java new file mode 100644 index 0000000..2c080f1 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsList.java @@ -0,0 +1,74 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Log; +import com.ea.nimble.friends.NimbleFriendsError; +import java.util.ArrayList; + +/* loaded from: classes.dex */ +public class NimbleFriendsList { + private NimbleFriendsListImpl m_friendsListImpl; + private FriendsListType m_type; + + protected enum FriendsListType { + ALL_FRIENDS, + CURRENT_GAME_FRIENDS + } + + NimbleFriendsList(NimbleFriendsListImpl nimbleFriendsListImpl, FriendsListType friendsListType) { + this.m_friendsListImpl = nimbleFriendsListImpl; + this.m_type = friendsListType; + } + + public ArrayList getFriends() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_friendsListImpl == null) { + return null; + } + if (this.m_type == FriendsListType.CURRENT_GAME_FRIENDS) { + return this.m_friendsListImpl.m_playedFriendsList; + } + return this.m_friendsListImpl.m_friendsList; + } + + public NimbleUser getFriendProfile(String str) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_friendsListImpl != null) { + return this.m_friendsListImpl.m_friends.get(str); + } + return null; + } + + public int getTotalFriendCount() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_type == FriendsListType.CURRENT_GAME_FRIENDS) { + return this.m_friendsListImpl.m_totalPlayedFriends; + } + return this.m_friendsListImpl.m_totalFriends; + } + + public synchronized void refreshFriendsList(NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_friendsListImpl != null) { + this.m_friendsListImpl.refreshFriendsList(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, this.m_type); + } else if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsError nimbleFriendsError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_FRIENDS_PROVIDER_NOT_AVAILABLE, "Specified Friends provider is not available. Failed to refresh Friends list."); + NimbleFriendsRefreshResult nimbleFriendsRefreshResult = new NimbleFriendsRefreshResult(); + nimbleFriendsRefreshResult.m_error = nimbleFriendsError; + nimbleFriendsRefreshResult.m_success = false; + nimbleFriendsRefreshResult.m_userList = null; + nimbleFriendsRefreshCallback.onCallback(null, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } + } + + public int getRefreshPageSize() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_friendsListImpl != null) { + return this.m_friendsListImpl.getPageSize(); + } + return -1; + } + + FriendsListType getType() { + return this.m_type; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListFacebook.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListFacebook.java new file mode 100644 index 0000000..0f2fbf3 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListFacebook.java @@ -0,0 +1,103 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.IFacebook; +import com.ea.nimble.Log; +import com.ea.nimble.friends.NimbleFriendsError; +import com.ea.nimble.friends.NimbleFriendsList; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class NimbleFriendsListFacebook extends NimbleFriendsListImpl { + private static final String FACEBOOK_COMPONENT_ID = "com.ea.nimble.facebook"; + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl, com.ea.nimble.LogSource + public /* bridge */ /* synthetic */ String getLogSourceTitle() { + return super.getLogSourceTitle(); + } + + NimbleFriendsListFacebook() { + this.LOG_SOURCE_TITLE = "NimbleFriendsListFacebook"; + this.m_authenticatorId = Global.NIMBLE_AUTHENTICATOR_FACEBOOK; + Log.Helper.LOGV(this, "Constructed", new Object[0]); + this.m_pageSize = 1000; + this.m_nimbleFriendsList = new NimbleFriendsList(this, NimbleFriendsList.FriendsListType.ALL_FRIENDS); + this.m_nimblePlayedFriendsList = new NimbleFriendsList(this, NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS); + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected void refreshFriendsListBasicInfo(final int i, final int i2, String str, final NimbleFriendsList.FriendsListType friendsListType, final NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, final NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo) { + Log.Helper.LOGFUNC(this); + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + Log.Helper.LOGE(this, "Facebook no longer supports getting friends with ALL_FRIENDS flag", new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_FRIENDS_LIST_TYPE_UNSUPPORTED, "Facebook no longer supports getting friends with ALL_FRIENDS flag", friendsListType); + } else if (!isNimbleComponentAvailable("com.ea.nimble.facebook") || !((IFacebook) Base.getComponent("com.ea.nimble.facebook")).hasOpenSession()) { + Log.Helper.LOGE(this, "Unable to refresh friends from Facebook because NimbleFacebook is either unavailable or the session is not open", new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FACEBOOK_USER_NOT_LOGGED_IN, "Unable to refresh friends from Facebook because NimbleFacebook is either unavailable or the session is not open", friendsListType); + } else { + ((IFacebook) Base.getComponent("com.ea.nimble.facebook")).retrieveFriends(i, i2, new IFacebook.FacebookFriendsCallback() { // from class: com.ea.nimble.friends.NimbleFriendsListFacebook.1 + @Override // com.ea.nimble.IFacebook.FacebookFriendsCallback + public void callback(IFacebook iFacebook, JSONArray jSONArray, Error error) { + if (error != null) { + Log.Helper.LOGE(this, String.format("Error in retrieving friends list from Facebook. Error :%s", error.toString()), new Object[0]); + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult.m_success = false; + nimbleFriendsRangeRefreshResult.m_error = error; + nimbleFriendsRangeRefreshResult.m_userList = null; + nimbleFriendsRangeRefreshResult.m_startIndex = i; + nimbleFriendsRangeRefreshResult.m_size = i2; + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = false; + if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS) { + nimbleFriendsRefreshCallback.onCallback(NimbleFriendsListFacebook.this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + return; + } else { + nimbleFriendsRefreshCallback.onCallback(NimbleFriendsListFacebook.this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + return; + } + } + return; + } + if (jSONArray == null || jSONArray.length() <= 0) { + Log.Helper.LOGD(NimbleFriendsListFacebook.this, "No friends retrieved from Facebook even though the operation was successful", new Object[0]); + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult2 = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult2.m_success = true; + nimbleFriendsRangeRefreshResult2.m_error = null; + nimbleFriendsRangeRefreshResult2.m_userList = null; + nimbleFriendsRangeRefreshResult2.m_startIndex = i; + nimbleFriendsRangeRefreshResult2.m_size = i2; + nimbleFriendsRangeRefreshResult2.m_friendListEndInRefresh = false; + if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS) { + nimbleFriendsRefreshCallback.onCallback(NimbleFriendsListFacebook.this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult2); + return; + } else { + nimbleFriendsRefreshCallback.onCallback(NimbleFriendsListFacebook.this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult2); + return; + } + } + } + Log.Helper.LOGD(this, "Successfully retrieved friends for specified scope from Facebook. Proceeding with NimbleFriendList update", new Object[0]); + NimbleFriendsListFacebook.this.updateFriendsListBasicInfo(jSONArray, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + } + }); + } + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected void refreshFriendsListImageUrl(List list, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsRefreshScope nimbleFriendsRefreshScope) { + Log.Helper.LOGFUNC(this); + Log.Helper.LOGI(this, "Facebook Friends Service does not support ImageUri refresh because Facebook friends already have Image URI information", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_TYPE_UNSUPPORTED, "Facebook Friends Service does not support ImageUri refresh because Facebook friends already have Image URI information", friendsListType); + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected NimbleUser createNimbleUser(JSONObject jSONObject) { + Log.Helper.LOGFUNC(this); + return new NimbleFacebookUser(jSONObject); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListImpl.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListImpl.java new file mode 100644 index 0000000..7da4d88 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListImpl.java @@ -0,0 +1,578 @@ +package com.ea.nimble.friends; + +import android.annotation.SuppressLint; +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.Utility; +import com.ea.nimble.friends.NimbleFriendsError; +import com.ea.nimble.friends.NimbleFriendsList; +import com.ea.nimble.friends.NimbleUser; +import com.ea.nimble.identity.INimbleIdentity; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.List; +import org.json.JSONArray; +import org.json.JSONObject; + +@SuppressLint({"DefaultLocale"}) +/* loaded from: classes.dex */ +abstract class NimbleFriendsListImpl implements LogSource { + protected NimbleFriendsList m_nimbleFriendsList; + protected NimbleFriendsList m_nimblePlayedFriendsList; + protected Hashtable m_friends = new Hashtable<>(); + protected ArrayList m_friendsList = new ArrayList<>(); + protected ArrayList m_playedFriendsList = new ArrayList<>(); + protected int m_totalFriends = -1; + protected int m_totalPlayedFriends = -1; + protected String LOG_SOURCE_TITLE = "NimbleFriendsListImpl"; + protected int m_pageSize = 100; + protected String m_authenticatorId = ""; + + protected abstract NimbleUser createNimbleUser(JSONObject jSONObject); + + protected abstract void refreshFriendsListBasicInfo(int i, int i2, String str, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo); + + protected abstract void refreshFriendsListImageUrl(List list, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsRefreshScope nimbleFriendsRefreshScope); + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return this.LOG_SOURCE_TITLE; + } + + NimbleFriendsListImpl() { + Log.Helper.LOGV(this, "No default implementation for NimbleFriendsListImpl - Must construct a typed-NimbleFriendsListImpl", new Object[0]); + } + + NimbleFriendsList getFriendsList(boolean z) { + synchronized (this) { + try { + if (z) { + Log.Helper.LOGV(this, "Returning NimbleFriendsList with playedCurrentGameOnly flag returned", new Object[0]); + return this.m_nimblePlayedFriendsList; + } + Log.Helper.LOGV(this, "Returning NimbleFriendsList with all friends", new Object[0]); + return this.m_nimbleFriendsList; + } catch (Throwable th) { + throw th; + } + } + } + + protected int getPageSize() { + return this.m_pageSize; + } + + @SuppressLint({"DefaultLocale"}) + protected void refreshFriendsList(NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsList.FriendsListType friendsListType) { + String str; + int size; + String str2; + int i; + String str3; + Log.Helper.LOGV(this, "refreshFriendsList API called", new Object[0]); + Error environmentCheck = environmentCheck(); + if (environmentCheck != null) { + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRefreshResult nimbleFriendsRefreshResult = new NimbleFriendsRefreshResult(); + nimbleFriendsRefreshResult.m_error = environmentCheck; + nimbleFriendsRefreshResult.m_success = false; + nimbleFriendsRefreshResult.m_userList = null; + nimbleFriendsRefreshCallback.onCallback(null, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + return; + } + return; + } + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + str = "ALL_FRIENDS"; + Log.Helper.LOGV(this, "Refresh API called for All Friends List", new Object[0]); + if (this.m_friendsList != null && this.m_friendsList.size() > 0) { + size = this.m_friendsList.size() - 1; + } + size = 0; + } else { + str = "CURRENT_GAME_FRIENDS"; + Log.Helper.LOGV(this, "Refresh API called for Played Current Game Friends List", new Object[0]); + if (this.m_playedFriendsList != null && this.m_playedFriendsList.size() > 0) { + size = this.m_playedFriendsList.size() - 1; + } + size = 0; + } + if (nimbleFriendsRefreshScope == null) { + Log.Helper.LOGW(this, "NimbleFriendsRefreshScope is null. Unable to process the request", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_INVALID, "NimbleFriendsRefreshScope is null. Unable to process the request", friendsListType); + return; + } + if (nimbleFriendsRefreshScope instanceof NimbleFriendsRefreshBasicInfo) { + NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo = (NimbleFriendsRefreshBasicInfo) nimbleFriendsRefreshScope; + int startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + int range = nimbleFriendsRefreshBasicInfo.getRange(); + if (nimbleFriendsRefreshBasicInfo.getNextPage()) { + Log.Helper.LOGV(this, "Refresh API is called to get the next page of friends", new Object[0]); + int i2 = this.m_pageSize; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS && this.m_friendsList != null && this.m_friendsList.size() > 0) { + str3 = this.m_friendsList.get(size); + } else if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS && this.m_playedFriendsList != null && this.m_playedFriendsList.size() > 0) { + str3 = this.m_playedFriendsList.get(size); + } else { + str2 = ""; + i = 0; + Log.Helper.LOGD(this, String.format("Refreshing next page for Type = %s, Start Index = %d, Range = %d, Last UID: %s", str, Integer.valueOf(i), Integer.valueOf(i2), str2), new Object[0]); + refreshFriendsListBasicInfo(i, i2, str2, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + return; + } + i = size; + str2 = str3; + Log.Helper.LOGD(this, String.format("Refreshing next page for Type = %s, Start Index = %d, Range = %d, Last UID: %s", str, Integer.valueOf(i), Integer.valueOf(i2), str2), new Object[0]); + refreshFriendsListBasicInfo(i, i2, str2, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + return; + } + if (startIndex <= 0) { + Log.Helper.LOGD(this, String.format("Start Index is less than or equal to 0 - get friends from 0 to page size for Type = %s", str), new Object[0]); + refreshFriendsListBasicInfo(0, this.m_pageSize, "", friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + return; + } + if (range > this.m_pageSize || range <= 0) { + String format = String.format("Range (%d) either exceeds Page Size (%d) or is less than 1. Unable to process this request.", Integer.valueOf(range), Integer.valueOf(this.m_pageSize)); + Log.Helper.LOGW(this, format, new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_RANGE_EXCEED_LIMIT, format, friendsListType); + return; + } + if (startIndex - size >= 1) { + String format2 = String.format("Start Index (%d) higher than currentsize (%d). Unable to process this request.", Integer.valueOf(startIndex), Integer.valueOf(size)); + Log.Helper.LOGW(this, format2, new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_INVALID_START_INDEX, format2, friendsListType); + return; + } + if (startIndex + range > size + 1) { + String format3 = String.format("Range (%d) exceeds Available Size (%d). Unable to process this request.", Integer.valueOf(range), Integer.valueOf(size)); + Log.Helper.LOGW(this, format3, new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_RANGE_EXCEED_LIMIT, format3, friendsListType); + return; + } + if (startIndex > 0) { + String str4 = ""; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS && this.m_friendsList != null && this.m_friendsList.size() > 0 && startIndex < this.m_friendsList.size()) { + str4 = this.m_friendsList.get(startIndex - 1); + } else if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS && this.m_playedFriendsList != null && this.m_playedFriendsList.size() > 0 && startIndex < this.m_playedFriendsList.size()) { + str4 = this.m_playedFriendsList.get(startIndex - 1); + } + String str5 = str4; + if (str5.length() > 0) { + Log.Helper.LOGD(this, String.format("Refreshing friends by range for Type = %s, Start Index = %d, Range = %d, Last UID = %s", str, Integer.valueOf(startIndex), Integer.valueOf(range), str5), new Object[0]); + refreshFriendsListBasicInfo(startIndex, range, str5, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + return; + } else { + String format4 = String.format("Unable to process refresh request because we are unable to retrieve the last UID before start index %d.", Integer.valueOf(startIndex)); + Log.Helper.LOGW(this, format4, new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_INVALID, format4, friendsListType); + return; + } + } + Log.Helper.LOGD(this, String.format("Refreshing friends by range for Type = %s, Range = %d with starting index at 0 and no last UID", str, Integer.valueOf(range)), new Object[0]); + refreshFriendsListBasicInfo(0, range, "", friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + return; + } + if (nimbleFriendsRefreshScope instanceof NimbleFriendsRefreshIdentityInfo) { + ArrayList targetedFriendIds = ((NimbleFriendsRefreshIdentityInfo) nimbleFriendsRefreshScope).getTargetedFriendIds(); + if (targetedFriendIds == null || targetedFriendIds.size() <= 0) { + Log.Helper.LOGW(this, "No user IDs provided for NimbleFriendsRefreshIdentityInfo scope. Unable to process request", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_NO_USER_IDS_LIST, "No user IDs provided for NimbleFriendsRefreshIdentityInfo scope. Unable to process request", friendsListType); + return; + } else if (targetedFriendIds.size() > 20 || targetedFriendIds.size() > size + 1) { + Log.Helper.LOGW(this, "Number of user IDs provided for NimbleFriendsRefreshIdentityInfo exceeds allowed limits. Unable to process request", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_RANGE_EXCEED_LIMIT, "Number of user IDs provided for NimbleFriendsRefreshIdentityInfo exceeds allowed limits. Unable to process request", friendsListType); + return; + } else { + Log.Helper.LOGD(this, "Refreshing identity info of %d friends of type %s", Integer.valueOf(targetedFriendIds.size()), str); + refreshFriendsListIdentityInfo(targetedFriendIds, friendsListType, nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback); + return; + } + } + if (nimbleFriendsRefreshScope instanceof NimbleFriendsRefreshImageUrl) { + ArrayList targetedFriendIds2 = ((NimbleFriendsRefreshImageUrl) nimbleFriendsRefreshScope).getTargetedFriendIds(); + if (targetedFriendIds2 == null || targetedFriendIds2.size() <= 0) { + Log.Helper.LOGW(this, "No user IDs provided for NimbleFriendsRefreshImageUrl scope. Unable to process request", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_NO_USER_IDS_LIST, "No user IDs provided for NimbleFriendsRefreshImageUrl scope. Unable to process request", friendsListType); + } else if (targetedFriendIds2.size() > size + 1 || targetedFriendIds2.size() > 20) { + Log.Helper.LOGW(this, "Number of user IDs provided for NimbleFriendsRefreshImageUrl is more than the page size. Unable to process request", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_RANGE_EXCEED_LIMIT, "Number of user IDs provided for NimbleFriendsRefreshImageUrl is more than the page size. Unable to process request", friendsListType); + } else { + Log.Helper.LOGD(this, "Refreshing image url of %d friends of type %s", Integer.valueOf(targetedFriendIds2.size()), str); + refreshFriendsListImageUrl(targetedFriendIds2, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshScope); + } + } + } + + void invokeCallbackWithScopeError(NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsError.Code code, String str, NimbleFriendsList.FriendsListType friendsListType) { + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsError nimbleFriendsError = new NimbleFriendsError(code, str); + NimbleFriendsRefreshResult nimbleFriendsRefreshResult = new NimbleFriendsRefreshResult(); + nimbleFriendsRefreshResult.m_success = false; + nimbleFriendsRefreshResult.m_error = nimbleFriendsError; + nimbleFriendsRefreshResult.m_userList = null; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } else { + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } + } + } + + void invokeCallbackWithScopeError(NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, Error error, NimbleFriendsList.FriendsListType friendsListType) { + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRefreshResult nimbleFriendsRefreshResult = new NimbleFriendsRefreshResult(); + nimbleFriendsRefreshResult.m_success = false; + nimbleFriendsRefreshResult.m_error = error; + nimbleFriendsRefreshResult.m_userList = null; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } else { + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } + } + } + + void invokeCallbackWithBasicScopeError(NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsError.Code code, String str, NimbleFriendsList.FriendsListType friendsListType) { + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsError nimbleFriendsError = new NimbleFriendsError(code, str); + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult.m_success = false; + nimbleFriendsRangeRefreshResult.m_error = nimbleFriendsError; + nimbleFriendsRangeRefreshResult.m_userList = null; + nimbleFriendsRangeRefreshResult.m_startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + nimbleFriendsRangeRefreshResult.m_size = nimbleFriendsRefreshBasicInfo.getRange(); + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = false; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } else { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalPlayedFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } + } + } + + void invokeCallbackWithBasicScopeError(NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, Error error, NimbleFriendsList.FriendsListType friendsListType) { + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult.m_success = false; + nimbleFriendsRangeRefreshResult.m_error = error; + nimbleFriendsRangeRefreshResult.m_userList = null; + nimbleFriendsRangeRefreshResult.m_startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + nimbleFriendsRangeRefreshResult.m_size = nimbleFriendsRefreshBasicInfo.getRange(); + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = false; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } else { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalPlayedFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } + } + } + + protected void refreshFriendsListIdentityInfo(ArrayList arrayList, final NimbleFriendsList.FriendsListType friendsListType, final NimbleFriendsRefreshScope nimbleFriendsRefreshScope, final NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback) { + Log.Helper.LOGD(this, "Preparing to make the call to C&I to get the pid info", new Object[0]); + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to refresh friends Identity information because NimbleIdentity is not available", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to refresh friends Identity information because NimbleIdentity is not available", friendsListType); + return; + } + try { + INimbleIdentity iNimbleIdentity = (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + if (iNimbleIdentity.getAuthenticatorById(this.m_authenticatorId).getState() != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + String format = String.format("Authenticator (%s) is not logged in or is unavailable", this.m_authenticatorId); + Log.Helper.LOGE(this, format, new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_LOGGED_IN, format, friendsListType); + return; + } + iNimbleIdentity.getAuthenticatorById(this.m_authenticatorId).requestIdentityForFriends(arrayList, new INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback() { // from class: com.ea.nimble.friends.NimbleFriendsListImpl.1 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, JSONObject jSONObject, Error error) { + if (error != null) { + Log.Helper.LOGE(this, "Server error when retrieving Pid Info. Error: " + error.toString(), new Object[0]); + NimbleFriendsListImpl.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_IDENTITY_SERVER_ERROR, error.toString(), friendsListType); + return; + } + Log.Helper.LOGD(this, "No errors when retrieving Pid Info response from C&I server", new Object[0]); + ArrayList parseJSONObjectToArrayOfUserInfo = NimbleFriendsUtility.parseJSONObjectToArrayOfUserInfo(jSONObject); + if (parseJSONObjectToArrayOfUserInfo == null || parseJSONObjectToArrayOfUserInfo.size() == 0) { + Log.Helper.LOGW(this, "Response for Pid Info request is empty. No Pids were updated for this request. It is probably because the selected friends do not have any Pids associated with them", new Object[0]); + NimbleFriendsListImpl.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_IDENTITY_SERVER_EMPTY_RESPONSE, "Response for Pid Info request is empty. No Pids were updated for this request. It is probably because the selected friends do not have any Pids associated with them", friendsListType); + } else { + Log.Helper.LOGD(this, "Successfully retrieved non-empty updated pid info from Identity server.", new Object[0]); + NimbleFriendsListImpl.this.updateFriendsListIdentityInfo(parseJSONObjectToArrayOfUserInfo, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshScope); + } + } + }); + } catch (Exception unused) { + String format2 = String.format("Authenticator (%s) does not support Identity Refresh for Friends List", this.m_authenticatorId); + Log.Helper.LOGE(this, format2, new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_SUPPORTED, format2, friendsListType); + } + } + + protected boolean isNimbleComponentAvailable(String str) { + return Base.getComponent(str) != null; + } + + /* JADX WARN: Code restructure failed: missing block: B:23:0x0079, code lost: + + r4 = new com.ea.nimble.friends.NimbleUser(r3); + r4.setImageUrl(r5); + r11.m_friends.put(r4.getUserId(), r4); + r0.add(r4); + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + protected synchronized void updateFriendsListAvatarInfo(java.util.ArrayList r12, com.ea.nimble.friends.NimbleFriendsList.FriendsListType r13, com.ea.nimble.friends.NimbleFriendsRefreshCallback r14, com.ea.nimble.friends.NimbleFriendsRefreshScope r15) { + /* + Method dump skipped, instructions count: 271 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.friends.NimbleFriendsListImpl.updateFriendsListAvatarInfo(java.util.ArrayList, com.ea.nimble.friends.NimbleFriendsList$FriendsListType, com.ea.nimble.friends.NimbleFriendsRefreshCallback, com.ea.nimble.friends.NimbleFriendsRefreshScope):void"); + } + + protected synchronized void updateFriendsListIdentityInfo(ArrayList arrayList, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsRefreshScope nimbleFriendsRefreshScope) { + ArrayList arrayList2 = new ArrayList<>(); + if (this.m_friends != null && this.m_friends.size() > 0) { + if (arrayList != null && arrayList.size() > 0) { + for (int i = 0; i < arrayList.size(); i++) { + NimbleUser nimbleUser = this.m_friends.get(arrayList.get(i).getExternalRefValue()); + if (nimbleUser != null && nimbleUser.getPid() == null) { + NimbleUser nimbleUser2 = new NimbleUser(nimbleUser); + nimbleUser2.setPid(arrayList.get(i).getPidId()); + nimbleUser2.setPersonaId(arrayList.get(i).getPersonaId()); + this.m_friends.put(arrayList.get(i).getExternalRefValue(), nimbleUser2); + arrayList2.add(nimbleUser2); + } + } + if (arrayList2.size() == 0) { + Log.Helper.LOGD(this, "No Pid Info updates were made to the Friends List", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_FRIENDS_LIST_NOT_UPDATED, "No Pid Info updates were made to the Friends List", friendsListType); + return; + } + Log.Helper.LOGD(this, String.format("%d Friends were updated for Identity Scope", Integer.valueOf(arrayList2.size())), new Object[0]); + sendUpdateNotification(); + if (nimbleFriendsRefreshCallback != null) { + Log.Helper.LOGD(this, "Friends list was updated. Invoking the callback", new Object[0]); + NimbleFriendsRefreshResult nimbleFriendsRefreshResult = new NimbleFriendsRefreshResult(); + nimbleFriendsRefreshResult.m_success = true; + nimbleFriendsRefreshResult.m_error = null; + nimbleFriendsRefreshResult.m_userList = arrayList2; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } else { + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult); + } + } + return; + } + Log.Helper.LOGE(this, "Updated friends array is empty", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_IDENTITY_SERVER_EMPTY_RESPONSE, "Updated friends array is empty", friendsListType); + return; + } + Log.Helper.LOGE(this, "Current Friends list is empty. Unable to process the PID update", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_FRIENDS_LIST_EMPTY, "Current Friends list is empty. Unable to process the PID update", friendsListType); + } + + protected synchronized void updateFriendsListBasicInfo(JSONArray jSONArray, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo) { + ArrayList arrayList = new ArrayList<>(); + if (jSONArray != null && jSONArray.length() > 0) { + Log.Helper.LOGV(this, "Retrieved " + jSONArray.length() + "friends.", new Object[0]); + for (int i = 0; i < jSONArray.length(); i++) { + if (jSONArray.optJSONObject(i) != null) { + updateInternalCache(createNimbleUser(jSONArray.optJSONObject(i)), friendsListType, arrayList); + } + } + if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS) { + this.m_totalPlayedFriends = this.m_playedFriendsList.size(); + } else { + this.m_totalFriends = this.m_friendsList.size(); + } + if (nimbleFriendsRefreshCallback != null) { + Log.Helper.LOGD(this, "Friends list was updated. Invoking the callback", new Object[0]); + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult.m_success = true; + nimbleFriendsRangeRefreshResult.m_error = null; + nimbleFriendsRangeRefreshResult.m_userList = arrayList; + nimbleFriendsRangeRefreshResult.m_startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + nimbleFriendsRangeRefreshResult.m_size = nimbleFriendsRefreshBasicInfo.getRange(); + if (arrayList.size() > 0) { + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = true; + } else { + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = false; + } + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } else { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalPlayedFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } + } + Log.Helper.LOGD(this, "Friends list was upodated, send the update notification", new Object[0]); + sendUpdateNotification(); + return; + } + Log.Helper.LOGD(this, "Even though the retrieval of Friends list was successful, the retrieved Friend list is empty", new Object[0]); + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult2 = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult2.m_success = true; + nimbleFriendsRangeRefreshResult2.m_error = null; + nimbleFriendsRangeRefreshResult2.m_userList = null; + nimbleFriendsRangeRefreshResult2.m_startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + nimbleFriendsRangeRefreshResult2.m_size = nimbleFriendsRefreshBasicInfo.getRange(); + nimbleFriendsRangeRefreshResult2.m_friendListEndInRefresh = false; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRangeRefreshResult2.m_totalFriendCount = this.m_totalFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult2); + } else { + nimbleFriendsRangeRefreshResult2.m_totalFriendCount = this.m_totalPlayedFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult2); + } + } + } + + protected synchronized void updateFriendsListBasicInfo(ArrayList arrayList, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo) { + ArrayList arrayList2 = new ArrayList<>(); + if (arrayList != null && arrayList.size() > 0) { + Log.Helper.LOGV(this, "Retrieved " + arrayList.size() + "friends.", new Object[0]); + for (int i = 0; i < arrayList.size(); i++) { + if (arrayList.get(i) != null) { + updateInternalCache(arrayList.get(i), friendsListType, arrayList2); + } + } + if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS) { + this.m_totalPlayedFriends = this.m_playedFriendsList.size(); + } else { + this.m_totalFriends = this.m_friendsList.size(); + } + if (nimbleFriendsRefreshCallback != null) { + Log.Helper.LOGD(this, "Friends list was updated. Invoking the callback", new Object[0]); + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult.m_success = true; + nimbleFriendsRangeRefreshResult.m_error = null; + nimbleFriendsRangeRefreshResult.m_userList = arrayList2; + nimbleFriendsRangeRefreshResult.m_startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + nimbleFriendsRangeRefreshResult.m_size = nimbleFriendsRefreshBasicInfo.getRange(); + if (arrayList2.size() > 0) { + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = true; + } else { + nimbleFriendsRangeRefreshResult.m_friendListEndInRefresh = false; + } + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } else { + nimbleFriendsRangeRefreshResult.m_totalFriendCount = this.m_totalPlayedFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult); + } + } + Log.Helper.LOGD(this, "Friends list was upodated, send the update notification", new Object[0]); + sendUpdateNotification(); + return; + } + Log.Helper.LOGD(this, "Even though the retrieval of Friends list was successful, the retrieved Friend list is empty", new Object[0]); + if (nimbleFriendsRefreshCallback != null) { + NimbleFriendsRangeRefreshResult nimbleFriendsRangeRefreshResult2 = new NimbleFriendsRangeRefreshResult(); + nimbleFriendsRangeRefreshResult2.m_success = true; + nimbleFriendsRangeRefreshResult2.m_error = null; + nimbleFriendsRangeRefreshResult2.m_userList = null; + nimbleFriendsRangeRefreshResult2.m_startIndex = nimbleFriendsRefreshBasicInfo.getStartIndex(); + nimbleFriendsRangeRefreshResult2.m_size = nimbleFriendsRefreshBasicInfo.getRange(); + nimbleFriendsRangeRefreshResult2.m_friendListEndInRefresh = false; + if (friendsListType == NimbleFriendsList.FriendsListType.ALL_FRIENDS) { + nimbleFriendsRangeRefreshResult2.m_totalFriendCount = this.m_totalFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimbleFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult2); + } else { + nimbleFriendsRangeRefreshResult2.m_totalFriendCount = this.m_totalPlayedFriends; + nimbleFriendsRefreshCallback.onCallback(this.m_nimblePlayedFriendsList, nimbleFriendsRefreshBasicInfo, nimbleFriendsRangeRefreshResult2); + } + } + } + + protected void sendUpdateNotification() { + HashMap hashMap = new HashMap(); + if (Base.getComponent("com.ea.nimble.identity") != null) { + hashMap.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, this.m_authenticatorId); + } else { + hashMap.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, this.m_authenticatorId); + } + Utility.sendBroadcast(INimbleFriends.NIMBLE_NOTIFICATION_FRIENDS_LIST_UPDATE, hashMap); + } + + protected synchronized void clear() { + if (this.m_friends != null) { + this.m_friends.clear(); + } + if (this.m_friendsList != null) { + this.m_friendsList.clear(); + } + if (this.m_playedFriendsList != null) { + this.m_playedFriendsList.clear(); + } + this.m_totalFriends = -1; + this.m_totalPlayedFriends = -1; + } + + protected void updateInternalCache(NimbleUser nimbleUser, NimbleFriendsList.FriendsListType friendsListType, ArrayList arrayList) { + if (this.m_friends == null || nimbleUser == null || nimbleUser.getUserId() == null) { + Log.Helper.LOGI(this, "updateInternalCache - Cannot update internal cache because the friend map or the new friend is null", new Object[0]); + return; + } + boolean z = friendsListType != NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS; + if (this.m_friends.get(nimbleUser.getUserId()) == null) { + if (z) { + nimbleUser.addedToAllFriends = true; + this.m_friendsList.add(nimbleUser.getUserId()); + if (nimbleUser.getPlayedCurrentGame() == NimbleUser.PlayedCurrentGameFlag.PLAYED) { + this.m_playedFriendsList.add(nimbleUser.getUserId()); + } + } else { + nimbleUser.addedToAllFriends = false; + this.m_playedFriendsList.add(nimbleUser.getUserId()); + } + this.m_friends.put(nimbleUser.getUserId(), nimbleUser); + arrayList.add(nimbleUser); + return; + } + NimbleUser nimbleUser2 = this.m_friends.get(nimbleUser.getUserId()); + if (z && !nimbleUser2.addedToAllFriends) { + nimbleUser.addedToAllFriends = true; + this.m_friends.put(nimbleUser.getUserId(), nimbleUser); + this.m_friendsList.add(nimbleUser.getUserId()); + } + if (nimbleUser2.isUserUpdated(nimbleUser)) { + nimbleUser.setPersonaId(nimbleUser2.getPersonaId()); + nimbleUser.setPid(nimbleUser2.getPid()); + nimbleUser.addedToAllFriends = nimbleUser2.addedToAllFriends; + nimbleUser.setRefreshTimestamp(new Date()); + this.m_friends.put(nimbleUser.getUserId(), nimbleUser); + arrayList.add(nimbleUser); + } + } + + private Error environmentCheck() { + Log.Helper.LOGV(this, "Environment Check -->", new Object[0]); + if (Network.getComponent().getStatus() != Network.Status.OK) { + Log.Helper.LOGD(this, "Environment Check - Network unavailable", new Object[0]); + return new Error(Error.Code.NETWORK_NO_CONNECTION, "Friends component cannot do updates without network"); + } + if (SynergyEnvironment.getComponent().isDataAvailable()) { + return null; + } + Log.Helper.LOGD(this, "Environment Check - Synergy Environment Not Ready", new Object[0]); + return new Error(Error.Code.SYNERGY_GET_DIRECTION_TIMEOUT, "Friends component is still in initialization and not ready for operation"); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListOrigin.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListOrigin.java new file mode 100644 index 0000000..5930561 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsListOrigin.java @@ -0,0 +1,473 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.HttpError; +import com.ea.nimble.HttpRequest; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.Utility; +import com.ea.nimble.friends.NimbleFriendsError; +import com.ea.nimble.friends.NimbleFriendsList; +import com.ea.nimble.identity.INimbleIdentity; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityPidInfo; +import com.facebook.internal.ServerProtocol; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Scanner; +import org.apache.http.HttpStatus; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserFactory; + +/* loaded from: classes.dex */ +public class NimbleFriendsListOrigin extends NimbleFriendsListImpl { + private static String GET_FRIENDS_AVATAR_URI = "/avatar/user/%s/avatars"; + private static String GET_FRIENDS_URI_PARAMS = "/friends/2/users/%s/friends?start=%d&size=%d&names=%s"; + private NimbleFriendsError lastError = null; + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl, com.ea.nimble.LogSource + public /* bridge */ /* synthetic */ String getLogSourceTitle() { + return super.getLogSourceTitle(); + } + + NimbleFriendsListOrigin() { + this.LOG_SOURCE_TITLE = "NimbleFriendsListOrigin"; + this.m_authenticatorId = Global.NIMBLE_AUTHENTICATOR_ORIGIN; + Log.Helper.LOGV(this, "Constructed", new Object[0]); + this.m_pageSize = 20; + this.m_nimbleFriendsList = new NimbleFriendsList(this, NimbleFriendsList.FriendsListType.ALL_FRIENDS); + this.m_nimblePlayedFriendsList = new NimbleFriendsList(this, NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS); + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected void refreshFriendsListBasicInfo(final int i, final int i2, String str, final NimbleFriendsList.FriendsListType friendsListType, final NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, final NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo) { + Log.Helper.LOGFUNC(this); + if (friendsListType == NimbleFriendsList.FriendsListType.CURRENT_GAME_FRIENDS) { + Log.Helper.LOGE(this, "Origin Friends Service does not support getting friends with PlayedCurrentGame flag", new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_FRIENDS_LIST_TYPE_UNSUPPORTED, "Origin Friends Service does not support getting friends with PlayedCurrentGame flag", friendsListType); + return; + } + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to refresh friends Identity information because NimbleIdentity is not available", new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to refresh friends Identity information because NimbleIdentity is not available", friendsListType); + return; + } + INimbleIdentity iNimbleIdentity = (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + NimbleIdentityPidInfo pidInfo = iNimbleIdentity.getAuthenticatorById(this.m_authenticatorId).getPidInfo(); + final String pid = pidInfo != null ? pidInfo.getPid() : null; + if (!Utility.validString(pid)) { + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_LOGGED_IN, "Origin PID for the current user is not available.", friendsListType); + } else { + iNimbleIdentity.getAuthenticatorById(this.m_authenticatorId).requestAccessToken(new INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback() { // from class: com.ea.nimble.friends.NimbleFriendsListOrigin.1 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str2, String str3, Error error) { + if (error == null) { + NimbleFriendsListOrigin.this.sendGosRefreshFriendsRequest(i, i2, str2, str3, pid, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + } else { + NimbleFriendsListOrigin.this.invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, error, friendsListType); + } + } + }); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendGosRefreshFriendsRequest(int i, int i2, String str, String str2, String str3, final NimbleFriendsList.FriendsListType friendsListType, final NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, final NimbleFriendsRefreshBasicInfo nimbleFriendsRefreshBasicInfo) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest makeGetFriendsRequest = makeGetFriendsRequest(i, i2, true, str, str2, str3); + if (makeGetFriendsRequest == null) { + Log.Helper.LOGE(this, "Failed to create HTTP Request for GOS getFriendsList", new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST, "Failed to create HTTP Request for GOS getFriendsList", friendsListType); + return; + } + try { + Network.getComponent().sendRequest(makeGetFriendsRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.friends.NimbleFriendsListOrigin.2 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + ArrayList parseBodyJSONData = NimbleFriendsListOrigin.this.parseBodyJSONData(networkConnectionHandle); + if (parseBodyJSONData != null && parseBodyJSONData.size() > 0) { + Log.Helper.LOGD(this, "Successful in retrieving friends list from GOS", new Object[0]); + NimbleFriendsListOrigin.this.updateFriendsListBasicInfo(parseBodyJSONData, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + return; + } + if (NimbleFriendsListOrigin.this.lastError != null) { + Log.Helper.LOGE(this, NimbleFriendsListOrigin.this.lastError.getMessage(), new Object[0]); + NimbleFriendsListOrigin.this.invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsListOrigin.this.lastError, friendsListType); + } else if (NimbleFriendsListOrigin.this.lastError == null && parseBodyJSONData != null && parseBodyJSONData.size() <= 0) { + Log.Helper.LOGD(this, "GOS FriendsList request is successful, but there are no friends", new Object[0]); + NimbleFriendsListOrigin.this.updateFriendsListBasicInfo(parseBodyJSONData, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshBasicInfo); + } else { + Log.Helper.LOGE(this, "Error in response for GOS getFriendsList request", new Object[0]); + NimbleFriendsListOrigin.this.invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_EMPTY_HTTP_RESPONSE, "Error in response for GOS getFriendsList request", friendsListType); + } + } catch (Error e) { + String str4 = "Error parsing response from GOS" + e.getMessage(); + Log.Helper.LOGE(this, str4, new Object[0]); + NimbleFriendsListOrigin.this.invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_ERROR_PARSING_HTTP_RESPONSE, str4, friendsListType); + } + } + }); + } catch (Exception unused) { + String format = String.format("Authenticator (%s) does not support Identity Refresh for Friends List", this.m_authenticatorId); + Log.Helper.LOGE(this, format, new Object[0]); + invokeCallbackWithBasicScopeError(nimbleFriendsRefreshBasicInfo, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_SUPPORTED, format, friendsListType); + } + } catch (Exception unused2) { + } + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected void refreshFriendsListIdentityInfo(ArrayList arrayList, NimbleFriendsList.FriendsListType friendsListType, NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback) { + Log.Helper.LOGFUNC(this); + Log.Helper.LOGI(this, "Origin Friends Service does not support IdentityInfo refresh because Origin friends already have Identity information", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_TYPE_UNSUPPORTED, "Origin Friends Service does not support IdentityInfo refresh because Origin friends already have Identity information", friendsListType); + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected void refreshFriendsListImageUrl(final List list, final NimbleFriendsList.FriendsListType friendsListType, final NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, final NimbleFriendsRefreshScope nimbleFriendsRefreshScope) { + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to refresh friends Avatar information because NimbleIdentity is not available", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to refresh friends Avatar information because NimbleIdentity is not available", friendsListType); + return; + } + INimbleIdentity iNimbleIdentity = (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + if (iNimbleIdentity == null) { + Log.Helper.LOGE(this, "Identity Component not found. Not able to get friends Avatars.", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Identity Component not found. Not able to get friends Avatars.", friendsListType); + } else { + iNimbleIdentity.getAuthenticatorById(this.m_authenticatorId).requestAccessToken(new INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback() { // from class: com.ea.nimble.friends.NimbleFriendsListOrigin.3 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, Error error) { + if (error == null) { + NimbleFriendsListOrigin.this.sendGosRefreshAvatarsRequest(str, str2, list, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshScope); + } else { + NimbleFriendsListOrigin.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, error, friendsListType); + } + } + }); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendGosRefreshAvatarsRequest(String str, String str2, List list, final NimbleFriendsList.FriendsListType friendsListType, final NimbleFriendsRefreshCallback nimbleFriendsRefreshCallback, final NimbleFriendsRefreshScope nimbleFriendsRefreshScope) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest makeGetFriendsAvatarInfoRequest = makeGetFriendsAvatarInfoRequest(str, str2, list); + if (makeGetFriendsAvatarInfoRequest == null) { + Log.Helper.LOGE(this, "Failed to create HTTP Request for GOS getAvatarInfo", new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST, "Failed to create HTTP Request for GOS getAvatarInfo", friendsListType); + } else { + Network.getComponent().sendRequest(makeGetFriendsAvatarInfoRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.friends.NimbleFriendsListOrigin.4 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + ArrayList parseAvatarInfoXml = NimbleFriendsListOrigin.this.parseAvatarInfoXml(networkConnectionHandle); + if (parseAvatarInfoXml != null && parseAvatarInfoXml.size() > 0) { + NimbleFriendsListOrigin.this.updateFriendsListAvatarInfo(parseAvatarInfoXml, friendsListType, nimbleFriendsRefreshCallback, nimbleFriendsRefreshScope); + } + if (NimbleFriendsListOrigin.this.lastError != null) { + NimbleFriendsListOrigin.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsListOrigin.this.lastError, friendsListType); + } else { + Log.Helper.LOGE(NimbleFriendsListOrigin.this, "Error in response for GOS getAvatarInfo request", new Object[0]); + NimbleFriendsListOrigin.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_EMPTY_HTTP_RESPONSE, "Error in response for GOS getAvatarInfo request", friendsListType); + } + } catch (Exception e) { + if (NimbleFriendsListOrigin.this.lastError != null) { + NimbleFriendsListOrigin.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, NimbleFriendsListOrigin.this.lastError, friendsListType); + return; + } + Log.Helper.LOGE(this, String.format("GoS Avatar Info XML parsIng raised an exception. Details: %s", e.getMessage()), new Object[0]); + e.printStackTrace(); + NimbleFriendsListOrigin.this.invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_ERROR_PARSING_HTTP_RESPONSE, "Failed to parse response XML for Avatar Info"), friendsListType); + } + } + }); + } + } catch (Exception e) { + Log.Helper.LOGE(this, String.format("Exception raised when creating GoS Avatar URL refresh request. Exception: %s", e.getMessage()), new Object[0]); + invokeCallbackWithScopeError(nimbleFriendsRefreshScope, nimbleFriendsRefreshCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_ERROR_PARSING_HTTP_RESPONSE, "Failed to process request for Avatar Info"), friendsListType); + } + } + + private HttpRequest makeGetFriendsRequest(int i, int i2, boolean z, String str, String str2, String str3) { + String format; + HttpRequest httpRequest; + Log.Helper.LOGFUNC(this); + String originFriendsUrlFromSynergy = getOriginFriendsUrlFromSynergy(); + String mdmAppKey = getMdmAppKey(); + if (str == null || str.length() <= 0) { + Log.Helper.LOGE(this, "Failed to create GOS friends request because access token for Origin is null or invalid", new Object[0]); + return null; + } + if (originFriendsUrlFromSynergy == null || originFriendsUrlFromSynergy.length() <= 0) { + Log.Helper.LOGE(this, "Failed to create GOS friends request because GOS request URL is null or invalid", new Object[0]); + return null; + } + if (mdmAppKey == null || mdmAppKey.length() <= 0) { + Log.Helper.LOGE(this, "Failed to create GOS friends request because MDM App Key is null or invalid", new Object[0]); + return null; + } + if (str3 == null || str3.length() <= 0) { + Log.Helper.LOGE(this, "Failed to create GOS friends request because Origin user's PID is null or invalid", new Object[0]); + return null; + } + String str4 = str2 + " " + str; + if (z) { + format = String.format(GET_FRIENDS_URI_PARAMS, str3, Integer.valueOf(i), Integer.valueOf(i2), ServerProtocol.DIALOG_RETURN_SCOPES_TRUE); + } else { + format = String.format(GET_FRIENDS_URI_PARAMS, str3, Integer.valueOf(i), Integer.valueOf(i2), "false"); + } + try { + httpRequest = new HttpRequest(new URL(originFriendsUrlFromSynergy + format)); + } catch (MalformedURLException e) { + e = e; + httpRequest = null; + } + try { + httpRequest.method = IHttpRequest.Method.GET; + HashMap hashMap = new HashMap<>(); + hashMap.put("Authorization", str4); + hashMap.put("X-Application-Key", mdmAppKey); + hashMap.put("X-Api-Version", "2"); + httpRequest.headers = hashMap; + } catch (MalformedURLException e2) { + e = e2; + Log.Helper.LOGW(this, "Exception when creating GOS getFreindList request URL. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } + return httpRequest; + } + + private HttpRequest makeGetFriendsAvatarInfoRequest(String str, String str2, List list) { + HttpRequest httpRequest; + Log.Helper.LOGFUNC(this); + String originAvatarsUrlFromSynergy = getOriginAvatarsUrlFromSynergy(); + if (str == null || str.length() <= 0 || list == null || list.size() <= 0 || list.size() > 20 || originAvatarsUrlFromSynergy == null || originAvatarsUrlFromSynergy.length() <= 0) { + return null; + } + StringBuilder sb = new StringBuilder(); + Iterator it = list.iterator(); + while (it.hasNext()) { + sb.append(it.next()); + sb.append(";"); + } + sb.deleteCharAt(sb.length() - 1); + try { + httpRequest = new HttpRequest(new URL(originAvatarsUrlFromSynergy + String.format(GET_FRIENDS_AVATAR_URI, sb.toString()))); + try { + httpRequest.method = IHttpRequest.Method.GET; + HashMap hashMap = new HashMap<>(); + hashMap.put("AuthToken", str); + httpRequest.headers = hashMap; + } catch (MalformedURLException e) { + e = e; + Log.Helper.LOGE(this, "Exception when creating GOS getAvatarInfo request URL. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } + } catch (MalformedURLException e2) { + e = e2; + httpRequest = null; + } + return httpRequest; + } + + private String getOriginFriendsUrlFromSynergy() { + Log.Helper.LOGFUNC(this); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_EADP_FRIENDS_HOST); + if (serverUrlWithKey == null || serverUrlWithKey.length() <= 0) { + return null; + } + return serverUrlWithKey.charAt(serverUrlWithKey.length() + (-1)) == '/' ? serverUrlWithKey.substring(0, serverUrlWithKey.length() - 1) : serverUrlWithKey; + } + + private String getOriginAvatarsUrlFromSynergy() { + Log.Helper.LOGFUNC(this); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_ORIGIN_AVATAR); + if (serverUrlWithKey == null || serverUrlWithKey.length() <= 0) { + return null; + } + return serverUrlWithKey.charAt(serverUrlWithKey.length() + (-1)) == '/' ? serverUrlWithKey.substring(0, serverUrlWithKey.length() - 1) : serverUrlWithKey; + } + + private String getMdmAppKey() { + Log.Helper.LOGFUNC(this); + return SynergyEnvironment.getComponent().getGosMdmAppKey(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public ArrayList parseAvatarInfoXml(NetworkConnectionHandle networkConnectionHandle) throws Error { + Log.Helper.LOGFUNC(this); + this.lastError = null; + int statusCode = networkConnectionHandle.getResponse().getStatusCode(); + if (statusCode != 200) { + switch (statusCode) { + case 400: + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_SERVER_RESPONSE_ERROR, String.format("Avatar Info HTTP Resonse Error. Description: %s", "The indicated parameter is empty or invalid.")); + break; + case HttpStatus.SC_UNAUTHORIZED /* 401 */: + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_SERVER_RESPONSE_ERROR, String.format("Avatar Info HTTP Resonse Error. Description: %s", "The specified AuthToken is empty or invalid.")); + break; + default: + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_SERVER_RESPONSE_ERROR, "Avatar Info HTTP Resonse Error"); + break; + } + throw this.lastError; + } + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + if (dataStream == null || dataStream.toString().length() == 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Empty response from server for refreshing avatar", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage())); + } + try { + XmlPullParser newPullParser = XmlPullParserFactory.newInstance().newPullParser(); + newPullParser.setFeature("http://xmlpull.org/v1/doc/features.html#process-namespaces", false); + newPullParser.setInput(dataStream, null); + ArrayList arrayList = null; + NimbleUser nimbleUser = null; + for (int eventType = newPullParser.getEventType(); eventType != 1; eventType = newPullParser.next()) { + if (eventType == 0) { + arrayList = new ArrayList<>(); + } else { + switch (eventType) { + case 2: + String name = newPullParser.getName(); + if (name.equalsIgnoreCase("user")) { + NimbleUser nimbleUser2 = new NimbleUser(); + nimbleUser2.setAuthenticatorId(Global.NIMBLE_AUTHENTICATOR_ORIGIN); + nimbleUser = nimbleUser2; + break; + } else if (nimbleUser == null) { + break; + } else if (name.equalsIgnoreCase("userId")) { + String nextText = newPullParser.nextText(); + nimbleUser.setUserId(nextText); + nimbleUser.setPid(nextText); + break; + } else if (name.equalsIgnoreCase("link")) { + nimbleUser.setImageUrl(newPullParser.nextText()); + break; + } else { + break; + } + case 3: + if (newPullParser.getName().equalsIgnoreCase("user") && nimbleUser != null) { + arrayList.add(nimbleUser); + nimbleUser = null; + break; + } + break; + } + } + } + return arrayList; + } catch (Exception e) { + Log.Helper.LOGE(this, String.format("Parsing of GOS Avatar Info XML raised an exception. Details: %s", e.getMessage()), new Object[0]); + e.printStackTrace(); + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_SCOPE_ERROR_PARSING_HTTP_RESPONSE, "Failed to parse the response XML from GOS Avatar service"); + throw this.lastError; + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public ArrayList parseBodyJSONData(NetworkConnectionHandle networkConnectionHandle) throws Error { + Log.Helper.LOGFUNC(this); + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + this.lastError = null; + if (dataStream == null || dataStream.toString().length() == 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Empty response body for refresh friends request", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage())); + } + Scanner scanner = new Scanner(dataStream); + Scanner useDelimiter = scanner.useDelimiter("\\A"); + String next = useDelimiter.hasNext() ? useDelimiter.next() : ""; + useDelimiter.close(); + scanner.close(); + ArrayList arrayList = new ArrayList<>(); + if (next != null && next.length() > 0) { + try { + JSONObject jSONObject = new JSONObject(next); + if (jSONObject.optJSONObject("error") != null) { + JSONObject optJSONObject = jSONObject.optJSONObject("error"); + String optString = optJSONObject.optString("type"); + int optInt = optJSONObject.optInt("code", -1); + if (optString != null && optString.length() > 0) { + Log.Helper.LOGE(this, String.format("Server error for refresh friends request. Code = %d, Message = %s", Integer.valueOf(optInt), optString), new Object[0]); + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_CODE_ERROR, "Error response from server for refresh friends request", new NimbleFriendsServerCodeError(optInt, optString)); + } + return null; + } + JSONArray optJSONArray = jSONObject.optJSONArray("entries"); + if (optJSONArray != null && optJSONArray.length() > 0) { + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject jSONObject2 = optJSONArray.getJSONObject(i); + if (jSONObject2 != null) { + NimbleUser createNimbleUser = createNimbleUser(jSONObject2); + if (createNimbleUser.getUserId() != null && createNimbleUser.getUserId().length() > 0) { + arrayList.add(createNimbleUser); + } + } + } + } else { + if (optJSONArray != null && optJSONArray.length() == 0) { + Log.Helper.LOGD(this, "GOS response indicates there are no friends for this Origin user", new Object[0]); + this.lastError = null; + return arrayList; + } + JSONObject jSONObject3 = jSONObject.getJSONObject("error"); + if (jSONObject3 != null) { + int optInt2 = jSONObject3.optInt("code", -1); + String optString2 = jSONObject3.optString("type", ""); + Log.Helper.LOGE(this, String.format("Server error for refresh friends request. Code = %d, Message = %s", Integer.valueOf(optInt2), optString2), new Object[0]); + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_CODE_ERROR, "Error response from server for refresh friends request", new NimbleFriendsServerCodeError(optInt2, optString2)); + } else { + Log.Helper.LOGE(this, "Unknown server error for refresh friends request.", new Object[0]); + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Unknown server error for refresh friends request."); + } + } + } catch (JSONException e) { + Log.Helper.LOGE(this, String.format("%s Error: %s", "Exception when parsing JSON response for refresh friends request.", e.getMessage()), new Object[0]); + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Exception when parsing JSON response for refresh friends request.", e); + return arrayList; + } + } else { + Log.Helper.LOGE(this, "Empty response data for user search by display name .", new Object[0]); + this.lastError = new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Empty response data for user search by display name ."); + } + return arrayList; + } + + @Override // com.ea.nimble.friends.NimbleFriendsListImpl + protected NimbleUser createNimbleUser(JSONObject jSONObject) { + Log.Helper.LOGFUNC(this); + NimbleUser nimbleUser = new NimbleUser(); + try { + nimbleUser.setAuthenticatorId(this.m_authenticatorId); + nimbleUser.setDisplayName(jSONObject.optString("displayName", "")); + nimbleUser.setFriendType(jSONObject.optString("friendType", "")); + nimbleUser.setUserId(String.valueOf(jSONObject.optLong("userId"))); + nimbleUser.setPersonaId(String.valueOf(jSONObject.optLong("personaId"))); + nimbleUser.setPid(String.valueOf(jSONObject.optLong("userId"))); + if (jSONObject.optLong("timestamp", 0L) != 0) { + nimbleUser.setRefreshTimestamp(new Date(jSONObject.optLong("timestamp") * 1000)); + } + } catch (Exception e) { + Log.Helper.LOGW(this, String.format("Exception when parsing JSON for Friends. Message: %s", e.getMessage()), new Object[0]); + } + return nimbleUser; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRangeRefreshResult.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRangeRefreshResult.java new file mode 100644 index 0000000..94b16d2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRangeRefreshResult.java @@ -0,0 +1,25 @@ +package com.ea.nimble.friends; + +/* loaded from: classes.dex */ +public class NimbleFriendsRangeRefreshResult extends NimbleFriendsRefreshResult { + protected boolean m_friendListEndInRefresh; + protected int m_size; + protected int m_startIndex; + protected int m_totalFriendCount; + + public int getRefreshStartIndex() { + return this.m_startIndex; + } + + public int getRefreshSize() { + return this.m_size; + } + + public int getTotalFriendCount() { + return this.m_totalFriendCount; + } + + public boolean isFriendListEndInRefresh() { + return this.m_friendListEndInRefresh; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshBasicInfo.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshBasicInfo.java new file mode 100644 index 0000000..2cc92ec --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshBasicInfo.java @@ -0,0 +1,36 @@ +package com.ea.nimble.friends; + +/* loaded from: classes.dex */ +public class NimbleFriendsRefreshBasicInfo extends NimbleFriendsRefreshScope { + private boolean m_nextPage; + private int m_range; + private int m_startIndex; + + public NimbleFriendsRefreshBasicInfo() { + this.m_startIndex = -1; + this.m_range = -1; + this.m_nextPage = false; + this.m_nextPage = true; + } + + public NimbleFriendsRefreshBasicInfo(int i, int i2) { + this.m_startIndex = -1; + this.m_range = -1; + this.m_nextPage = false; + this.m_startIndex = i; + this.m_range = i2; + this.m_nextPage = false; + } + + int getStartIndex() { + return this.m_startIndex; + } + + int getRange() { + return this.m_range; + } + + boolean getNextPage() { + return this.m_nextPage; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshCallback.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshCallback.java new file mode 100644 index 0000000..9a792ec --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshCallback.java @@ -0,0 +1,6 @@ +package com.ea.nimble.friends; + +/* loaded from: classes.dex */ +public interface NimbleFriendsRefreshCallback { + void onCallback(NimbleFriendsList nimbleFriendsList, NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshResult nimbleFriendsRefreshResult); +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshIdentityInfo.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshIdentityInfo.java new file mode 100644 index 0000000..561c246 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshIdentityInfo.java @@ -0,0 +1,16 @@ +package com.ea.nimble.friends; + +import java.util.ArrayList; + +/* loaded from: classes.dex */ +public class NimbleFriendsRefreshIdentityInfo extends NimbleFriendsRefreshScope { + private ArrayList userIds; + + public ArrayList getTargetedFriendIds() { + return this.userIds; + } + + public NimbleFriendsRefreshIdentityInfo(ArrayList arrayList) { + this.userIds = arrayList; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshImageUrl.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshImageUrl.java new file mode 100644 index 0000000..47caf60 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshImageUrl.java @@ -0,0 +1,16 @@ +package com.ea.nimble.friends; + +import java.util.ArrayList; + +/* loaded from: classes.dex */ +public class NimbleFriendsRefreshImageUrl extends NimbleFriendsRefreshScope { + private ArrayList userIds; + + public ArrayList getTargetedFriendIds() { + return this.userIds; + } + + public NimbleFriendsRefreshImageUrl(ArrayList arrayList) { + this.userIds = arrayList; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshResult.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshResult.java new file mode 100644 index 0000000..d9cce44 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshResult.java @@ -0,0 +1,24 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Error; +import java.util.ArrayList; +import java.util.List; + +/* loaded from: classes.dex */ +public class NimbleFriendsRefreshResult { + protected Error m_error; + protected boolean m_success; + protected ArrayList m_userList = new ArrayList<>(); + + public boolean isSuccess() { + return this.m_success; + } + + public Error getError() { + return this.m_error; + } + + public List getUpdatedFriends() { + return this.m_userList; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshScope.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshScope.java new file mode 100644 index 0000000..3bb6675 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsRefreshScope.java @@ -0,0 +1,5 @@ +package com.ea.nimble.friends; + +/* loaded from: classes.dex */ +public abstract class NimbleFriendsRefreshScope { +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsServerCodeError.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsServerCodeError.java new file mode 100644 index 0000000..56b8992 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsServerCodeError.java @@ -0,0 +1,17 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Error; + +/* loaded from: classes.dex */ +public class NimbleFriendsServerCodeError extends Error { + public static final String NIMBLE_FRIENDS_SERVER_CODE_ERROR_DOMAIN = "NimbleFriendsServerCodeError"; + private static final long serialVersionUID = 1; + + public NimbleFriendsServerCodeError(int i, String str, Throwable th) { + super(NIMBLE_FRIENDS_SERVER_CODE_ERROR_DOMAIN, i, str, th); + } + + public NimbleFriendsServerCodeError(int i, String str) { + super(NIMBLE_FRIENDS_SERVER_CODE_ERROR_DOMAIN, i, str); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleFriendsUtility.java b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsUtility.java new file mode 100644 index 0000000..153cc5b --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleFriendsUtility.java @@ -0,0 +1,65 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.HttpError; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.friends.NimbleFriendsError; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Scanner; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class NimbleFriendsUtility { + protected static JSONArray cutJSONArray(JSONArray jSONArray, int i) { + return null; + } + + NimbleFriendsUtility() { + } + + protected static ArrayList parseJSONObjectToArrayOfUserInfo(JSONObject jSONObject) { + JSONArray optJSONArray; + if (jSONObject == null || jSONObject.optJSONObject("pidInfos") == null || (optJSONArray = jSONObject.optJSONObject("pidInfos").optJSONArray("pidInfo")) == null) { + return null; + } + ArrayList arrayList = new ArrayList<>(); + for (int i = 0; i < optJSONArray.length(); i++) { + try { + UserInfoFromIdentity userInfoFromIdentity = new UserInfoFromIdentity(optJSONArray.getJSONObject(i)); + if (userInfoFromIdentity.getPidId() != null && userInfoFromIdentity.getPidId() != "" && userInfoFromIdentity.getExternalRefValue() != null && userInfoFromIdentity.getExternalRefValue() != "") { + arrayList.add(userInfoFromIdentity); + } + } catch (JSONException unused) { + } + } + return arrayList; + } + + protected static boolean isNimbleComponentAvailable(String str) { + return Base.getComponent(str) != null; + } + + public static HashMap parseBodyJSONData(NetworkConnectionHandle networkConnectionHandle) throws Error { + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + if (dataStream == null || dataStream.toString().length() == 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Empty response from server", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage())); + } + Scanner scanner = new Scanner(dataStream); + Scanner useDelimiter = scanner.useDelimiter("\\A"); + String next = useDelimiter.hasNext() ? useDelimiter.next() : ""; + useDelimiter.close(); + scanner.close(); + if (next == null || next.length() <= 0) { + return null; + } + return (HashMap) new GsonBuilder().serializeNulls().create().fromJson(next, new TypeToken>() { // from class: com.ea.nimble.friends.NimbleFriendsUtility.1 + }.getType()); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsService.java b/app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsService.java new file mode 100644 index 0000000..a3ff4e3 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsService.java @@ -0,0 +1,12 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Base; + +/* loaded from: classes.dex */ +public class NimbleOriginFriendsService { + public static final String NIMBLE_COMPONENT_ID_FRIENDS_ORIGIN = "com.ea.nimble.friends.originfriendsservice"; + + public static INimbleOriginFriendsService getComponent() { + return (INimbleOriginFriendsService) Base.getComponent(NIMBLE_COMPONENT_ID_FRIENDS_ORIGIN); + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsServiceImpl.java b/app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsServiceImpl.java new file mode 100644 index 0000000..c81b293 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleOriginFriendsServiceImpl.java @@ -0,0 +1,1016 @@ +package com.ea.nimble.friends; + +import android.content.Intent; +import android.net.Uri; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.HttpError; +import com.ea.nimble.HttpRequest; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.friends.INimbleOriginFriendsService; +import com.ea.nimble.friends.NimbleFriendsError; +import com.ea.nimble.identity.INimbleIdentity; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityPidInfo; +import com.facebook.internal.ServerProtocol; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Scanner; +import org.apache.http.protocol.HTTP; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class NimbleOriginFriendsServiceImpl extends Component implements INimbleOriginFriendsService, LogSource { + private static int EMAIL_REQUEST_CODE = 6698; + private static final String GET_RECEIVED_INVITATION_LIST_URI = "/friends/2/users/%s/invitations/inbound"; + private static final String GET_SENT_INVITATION_LIST_URI = "/friends/2/users/%s/invitations/outbound"; + private static final String POST_SEND_FRIEND_INVITATION_URI = "/friends/2/users/%s/invitations/outbound/%s"; + private static final String RESPOND_TO_FRIEND_INVITATION_URI = "/friends/2/users/%s/invitations/inbound/%s"; + private static final String SEARCH_USER_BY_DISPLAY_NAME_URI = "/proxy/identity/personas?displayName=%s*"; + private static final String SEARCH_USER_BY_EMAIL_URI = "/proxy/identity/pids?email=%s"; + private static int SMS_REQUEST_CODE = 6697; + + enum UserSearchCriteria { + EMAIL, + DISPLAY_NAME + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return NimbleOriginFriendsService.NIMBLE_COMPONENT_ID_FRIENDS_ORIGIN; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "NimbleOriginFriendsService"; + } + + private static void initialize() { + Base.registerComponent(new NimbleOriginFriendsServiceImpl(), NimbleOriginFriendsService.NIMBLE_COMPONENT_ID_FRIENDS_ORIGIN); + } + + @Override // com.ea.nimble.Component + public void setup() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + protected void teardown() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void suspend() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void resume() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.Component + public void cleanup() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void searchUserByEmail(String str, INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGE(this, "Cannot process searchUserByEmail request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, String.format("searchUserByEmail API called with email = %s", str), new Object[0]); + processSearchUserRequest(str, UserSearchCriteria.EMAIL, nimbleUserSearchCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void searchUserByDisplayName(String str, INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGE(this, "Cannot process searchUserByDisplayName request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, String.format("searchUserByDisplayName API called with namePrefix = %s", str), new Object[0]); + processSearchUserRequest(str, UserSearchCriteria.DISPLAY_NAME, nimbleUserSearchCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void listFriendInvitationsSent(INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGE(this, "Cannot process listFriendInvitationSent request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, "Request: listFriendInvitationSent", new Object[0]); + processInivtationListRequest(GET_SENT_INVITATION_LIST_URI, nimbleUserSearchCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void listFriendInvitationsReceived(INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGE(this, "Cannot process listFriendInvitationReceived request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, "Request: listFriendInvitationReceived", new Object[0]); + processInivtationListRequest(GET_RECEIVED_INVITATION_LIST_URI, nimbleUserSearchCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void sendFriendInvitation(String str, String str2, INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleFriendInvitationCallback == null) { + Log.Helper.LOGE(this, "Cannot process sendFriendInvitation request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, "Request: sendFriendInvitation", new Object[0]); + processSendFriendInvitationRequest(str, str2, nimbleFriendInvitationCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void acceptFriendInvitation(String str, INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleFriendInvitationCallback == null) { + Log.Helper.LOGE(this, "Cannot process acceptFriendInvitation request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, "Request: acceptFriendInvitation", new Object[0]); + processRespondToFriendInvitationRequest(true, str, nimbleFriendInvitationCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void declineFriendInvitation(String str, INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleFriendInvitationCallback == null) { + Log.Helper.LOGE(this, "Cannot process declineFriendInvitation request because callback is null", new Object[0]); + } else { + Log.Helper.LOGD(this, "Request: declineFriendInvitation", new Object[0]); + processRespondToFriendInvitationRequest(false, str, nimbleFriendInvitationCallback); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void sendInvitationOverEmail(ArrayList arrayList, String str, String str2, INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (arrayList == null || arrayList.size() <= 0) { + Log.Helper.LOGE(this, "Target user emails is null or empty. Cannot send email invite.", new Object[0]); + if (nimbleFriendInvitationCallback != null) { + nimbleFriendInvitationCallback.onCallback(false, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NO_TARGETS_PROVIDED, "Target user emails is null or empty. Cannot send email invite.")); + return; + } + return; + } + String[] strArr = arrayList != null ? (String[]) arrayList.toArray(new String[arrayList.size()]) : null; + if (str == null || str.length() <= 0) { + str = "Please accept my friend invitation"; + } + if (str2 == null || str2.length() <= 0) { + str2 = "Hi, I'll appreciate if you can accept my friend invitation."; + } + Intent intent = new Intent("android.intent.action.SEND"); + intent.setType("message/rfc822"); + intent.putExtra("android.intent.extra.EMAIL", strArr); + intent.putExtra("android.intent.extra.SUBJECT", str); + intent.putExtra("android.intent.extra.TEXT", str2); + try { + ApplicationEnvironment.getCurrentActivity().startActivityForResult(Intent.createChooser(intent, "Send mail using:"), EMAIL_REQUEST_CODE); + } catch (Exception unused) { + Log.Helper.LOGE(this, "Can not send email on this device", new Object[0]); + if (nimbleFriendInvitationCallback != null) { + nimbleFriendInvitationCallback.onCallback(false, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_EMAIL_NOT_AVAILABLE, "Email is not available on this device")); + return; + } + } + if (nimbleFriendInvitationCallback != null) { + nimbleFriendInvitationCallback.onCallback(true, null); + } + } + + @Override // com.ea.nimble.friends.INimbleOriginFriendsService + public void sendInvitationOverSMS(ArrayList arrayList, String str, INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (arrayList == null || arrayList.size() <= 0) { + Log.Helper.LOGE(this, "Target phone numbers is null or empty. Cannot send SMS invite.", new Object[0]); + if (nimbleFriendInvitationCallback != null) { + nimbleFriendInvitationCallback.onCallback(false, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NO_TARGETS_PROVIDED, "Target phone numbers is null or empty. Cannot send SMS invite.")); + return; + } + return; + } + StringBuilder sb = new StringBuilder(); + sb.append("smsto:"); + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + sb.append(it.next()); + sb.append(";"); + } + sb.deleteCharAt(sb.length() - 1); + if (str == null || str.length() <= 0) { + str = "Hi, I'll appreciate if you can accept my friend invitation."; + } + Intent intent = new Intent("android.intent.action.SENDTO", Uri.parse(sb.toString())); + intent.putExtra("sms_body", str); + try { + ApplicationEnvironment.getCurrentActivity().startActivityForResult(Intent.createChooser(intent, "Send sms using:"), SMS_REQUEST_CODE); + } catch (Exception unused) { + Log.Helper.LOGE(this, "Can not send sms on this device", new Object[0]); + if (nimbleFriendInvitationCallback != null) { + nimbleFriendInvitationCallback.onCallback(false, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SMS_NOT_AVAILABLE, "Sms is not available on this device")); + return; + } + } + if (nimbleFriendInvitationCallback != null) { + nimbleFriendInvitationCallback.onCallback(true, null); + } + } + + private void processSendFriendInvitationRequest(final String str, final String str2, final INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGFUNC(this); + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to send friend request because NimbleIdentity is not available", new Object[0]); + invokeFriendInvitationCallbackWithCode(nimbleFriendInvitationCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to send friend request because NimbleIdentity is not available"); + return; + } + INimbleIdentity iNimbleIdentity = (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + NimbleIdentityPidInfo pidInfo = iNimbleIdentity.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).getPidInfo(); + final String pid = pidInfo != null ? pidInfo.getPid() : null; + if (pid == null || pid.length() <= 0) { + invokeFriendInvitationCallbackWithCode(nimbleFriendInvitationCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_LOGGED_IN, "Origin PID for the current user is not available."); + } else { + iNimbleIdentity.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).requestAccessToken(new INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.1 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str3, String str4, Error error) { + if (error == null) { + NimbleOriginFriendsServiceImpl.this.sendFriendInvitationRequest(pid, str3, str, str2, nimbleFriendInvitationCallback); + } else { + Log.Helper.LOGE(this, "Failed to refresh AccessToken - cannot send friend invitation request.", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, error); + } + } + }); + } + } + + private void processRespondToFriendInvitationRequest(final boolean z, final String str, final INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGFUNC(this); + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to process request for responding to friend invitation because NimbleIdentity is not available", new Object[0]); + invokeFriendInvitationCallbackWithCode(nimbleFriendInvitationCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to process request for responding to friend invitation because NimbleIdentity is not available"); + return; + } + INimbleIdentity iNimbleIdentity = (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + NimbleIdentityPidInfo pidInfo = iNimbleIdentity.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).getPidInfo(); + final String pid = pidInfo != null ? pidInfo.getPid() : null; + if (pid == null || pid.length() <= 0) { + invokeFriendInvitationCallbackWithCode(nimbleFriendInvitationCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_LOGGED_IN, "Origin PID for the current user is not available."); + } else { + iNimbleIdentity.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).requestAccessToken(new INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.2 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str2, String str3, Error error) { + if (error == null) { + NimbleOriginFriendsServiceImpl.this.sendRespondToFriendInvitationRequest(z, pid, str, str2, nimbleFriendInvitationCallback); + } else { + Log.Helper.LOGE(this, "Failed to refresh AccessToken - cannot process request for responding to friend invitation.", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, error); + } + } + }); + } + } + + private void processInivtationListRequest(final String str, final INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGFUNC(this); + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to process request because NimbleIdentity is not available", new Object[0]); + invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to process request because NimbleIdentity is not available"); + return; + } + INimbleIdentity iNimbleIdentity = (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + NimbleIdentityPidInfo pidInfo = iNimbleIdentity.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).getPidInfo(); + final String pid = pidInfo != null ? pidInfo.getPid() : null; + if (pid == null || pid.length() <= 0) { + invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_REFRESH_AUTHENTICATOR_NOT_LOGGED_IN, "Origin PID for the current user is not available."); + } else { + iNimbleIdentity.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).requestAccessToken(new INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.3 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str2, String str3, Error error) { + if (error == null) { + NimbleOriginFriendsServiceImpl.this.sendGetFriendInvitationListRequest(pid, str2, str, nimbleUserSearchCallback); + } else { + Log.Helper.LOGE(this, "Failed to refresh AccessToken - cannot process request.", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithError(nimbleUserSearchCallback, error); + } + } + }); + } + } + + private void processSearchUserRequest(final String str, final UserSearchCriteria userSearchCriteria, final INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGFUNC(this); + if (!isNimbleComponentAvailable("com.ea.nimble.identity")) { + Log.Helper.LOGE(this, "Unable to process request because NimbleIdentity is not available", new Object[0]); + invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_IDENTITY_NOT_AVAILABLE, "Unable to process request because NimbleIdentity is not available"); + } else { + ((INimbleIdentity) Base.getComponent("com.ea.nimble.identity")).getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ORIGIN).requestAccessToken(new INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.4 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback + public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str2, String str3, Error error) { + if (error == null) { + NimbleOriginFriendsServiceImpl.this.sendSearchUserRequest(str2, str3, str, userSearchCriteria, nimbleUserSearchCallback); + } else { + Log.Helper.LOGE(this, "Failed to refresh AccessToken - cannot process request.", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithError(nimbleUserSearchCallback, error); + } + } + }); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendFriendInvitationRequest(String str, String str2, String str3, String str4, final INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest makeFriendInvitationRequest = makeFriendInvitationRequest(str, str2, str3, str4, nimbleFriendInvitationCallback); + if (makeFriendInvitationRequest == null) { + Log.Helper.LOGE(this, "Failed to create HTTP Request for sending friend invitation", new Object[0]); + invokeFriendInvitationCallbackWithCode(nimbleFriendInvitationCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST, "Failed to create HTTP Request for sending friend invitation"); + } else { + Network.getComponent().sendRequest(makeFriendInvitationRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.5 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + if (networkConnectionHandle.getResponse().getStatusCode() == 204) { + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithSuccess(nimbleFriendInvitationCallback); + } else { + Log.Helper.LOGD(this, "Server responded with an error (%d) for sending friend invitation request", Integer.valueOf(networkConnectionHandle.getResponse().getStatusCode())); + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Server responded with an error (%d) for sending friend invitation request", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage()))); + } + } catch (Exception e) { + Log.Helper.LOGE(this, "Sending friend invitation request failed with unexpected excpetion at receiving: " + e.getMessage(), new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending friend invitation request failed with unexpected excpetion at receiving", e)); + } + } + }); + } + } catch (Exception e) { + Log.Helper.LOGE(this, "Sending friend invitation request failed with unexpected excpetion at posting: " + e.getMessage(), new Object[0]); + invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending friend invitation request failed with unexpected excpetion at posting", e)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendRespondToFriendInvitationRequest(boolean z, String str, String str2, String str3, final INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest makeRespondToFriendInvitationRequest = makeRespondToFriendInvitationRequest(z, str, str2, str3); + if (makeRespondToFriendInvitationRequest == null) { + Log.Helper.LOGE(this, "Failed to create HTTP Request for respoding to friend invitation", new Object[0]); + invokeFriendInvitationCallbackWithCode(nimbleFriendInvitationCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST, "Failed to create HTTP Request for respoding to friend invitation"); + } else { + Network.getComponent().sendRequest(makeRespondToFriendInvitationRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.6 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + if (networkConnectionHandle.getResponse().getStatusCode() == 204) { + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithSuccess(nimbleFriendInvitationCallback); + } else { + Log.Helper.LOGD(this, "Server responded with an error (%d) for sending friend invitation response", Integer.valueOf(networkConnectionHandle.getResponse().getStatusCode())); + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Server responded with an error (%d) for sending friend invitation response", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage()))); + } + } catch (Exception e) { + Log.Helper.LOGE(this, "Sending friend invitation response failed with unexpected excpetion at receiving: " + e.getMessage(), new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending friend invitation response failed with unexpected excpetion at receiving", e)); + } + } + }); + } + } catch (Exception e) { + Log.Helper.LOGE(this, "Sending friend invitation response failed with unexpected excpetion at posting: " + e.getMessage(), new Object[0]); + invokeFriendInvitationCallbackWithError(nimbleFriendInvitationCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending friend invitation response failed with unexpected excpetion at posting", e)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendGetFriendInvitationListRequest(String str, String str2, String str3, final INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest makeGetFriendInvitationListRequest = makeGetFriendInvitationListRequest(str, str2, str3); + if (makeGetFriendInvitationListRequest == null) { + Log.Helper.LOGE(this, "Failed to create HTTP Request for retrieving outbound friend invitation list", new Object[0]); + invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST, "Failed to create HTTP Request for retrieving outbound friend invitation list"); + } else { + Network.getComponent().sendRequest(makeGetFriendInvitationListRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.7 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + ArrayList parseBodyJSONData = NimbleOriginFriendsServiceImpl.this.parseBodyJSONData(networkConnectionHandle); + if (parseBodyJSONData == null) { + Log.Helper.LOGE(this, "Error in response from GOS server. Unable to get list of invitations", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Error in response from GOS server. Unable to get list of invitations"); + } else if (parseBodyJSONData.size() <= 0) { + Log.Helper.LOGD(this, "Server request was successful, but we did not find any pending invitations", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithSuccess(nimbleUserSearchCallback, parseBodyJSONData); + } else { + Log.Helper.LOGD(this, "Successful in retrieving invitation list from GOS", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithSuccess(nimbleUserSearchCallback, parseBodyJSONData); + } + } catch (Error e) { + Log.Helper.LOGE(this, "Error parsing response from GOS" + e.getMessage(), new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithError(nimbleUserSearchCallback, e); + } catch (Exception e2) { + Log.Helper.LOGE(this, "Sending friend invitation list request failed with unexpected excpetion at receiving: " + e2.getMessage(), new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithError(nimbleUserSearchCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending friend invitation list request failed with unexpected excpetion at receiving", e2)); + } + } + }); + } + } catch (Exception e) { + Log.Helper.LOGE(this, "Sending friend invitation list request failed with unexpected excpetion at posting: " + e.getMessage(), new Object[0]); + invokeUserSearchCallbackWithError(nimbleUserSearchCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending friend invitation list request failed with unexpected excpetion at posting", e)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendSearchUserRequest(String str, String str2, String str3, final UserSearchCriteria userSearchCriteria, final INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback) { + Log.Helper.LOGFUNC(this); + try { + HttpRequest makeSearchUserRequest = makeSearchUserRequest(str, str2, str3, userSearchCriteria); + if (makeSearchUserRequest == null) { + Log.Helper.LOGE(this, "Failed to create HTTP Request for user search", new Object[0]); + invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_FAILED_TO_CREATE_GOS_REQUEST, "Failed to create HTTP Request for user search"); + } else { + Network.getComponent().sendRequest(makeSearchUserRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.friends.NimbleOriginFriendsServiceImpl.8 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + ArrayList parseUserSearchByEmailResponse = userSearchCriteria == UserSearchCriteria.EMAIL ? NimbleOriginFriendsServiceImpl.this.parseUserSearchByEmailResponse(networkConnectionHandle) : NimbleOriginFriendsServiceImpl.this.parseUserSearchByDisplayNameResponse(networkConnectionHandle); + if (parseUserSearchByEmailResponse == null) { + Log.Helper.LOGE(this, "There was an error processing your user search request", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithCode(nimbleUserSearchCallback, NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "There was an error processing your user search request"); + } else if (parseUserSearchByEmailResponse.size() <= 0) { + Log.Helper.LOGD(this, "No users found for your search criteria. Please try again with a different criteria.", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithSuccess(nimbleUserSearchCallback, parseUserSearchByEmailResponse); + } else { + Log.Helper.LOGD(this, "Found users with matching email or display name prefix", new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithSuccess(nimbleUserSearchCallback, parseUserSearchByEmailResponse); + } + } catch (Error e) { + Log.Helper.LOGE(this, "Error parsing response for user search by email or displayName request" + e.getMessage(), new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithError(nimbleUserSearchCallback, e); + } catch (Exception e2) { + Log.Helper.LOGE(this, "Sending search user request failed with unexpected excpetion at receiving: " + e2.getMessage(), new Object[0]); + NimbleOriginFriendsServiceImpl.this.invokeUserSearchCallbackWithError(nimbleUserSearchCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending search user request failed with unexpected excpetion at receiving", e2)); + } + } + }); + } + } catch (Exception e) { + Log.Helper.LOGE(this, "Sending search user request failed with unexpected excpetion at posting: " + e.getMessage(), new Object[0]); + invokeUserSearchCallbackWithError(nimbleUserSearchCallback, new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_NETWORK_UNEXPECT_ERROR, "Sending search user request failed with unexpected excpetion at posting", e)); + } + } + + private String getOriginFriendsUrlFromSynergy() { + Log.Helper.LOGFUNC(this); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_EADP_FRIENDS_HOST); + if (serverUrlWithKey == null || serverUrlWithKey.length() <= 0) { + return null; + } + return serverUrlWithKey.charAt(serverUrlWithKey.length() + (-1)) == '/' ? serverUrlWithKey.substring(0, serverUrlWithKey.length() - 1) : serverUrlWithKey; + } + + private String getMdmAppKey() { + Log.Helper.LOGFUNC(this); + return SynergyEnvironment.getComponent().getGosMdmAppKey(); + } + + protected static String getIdentityProxyUrlFromSynergy() { + Log.Helper.LOGFUNCS("OriginFriendsService"); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_IDENTITY_PROXY); + if (serverUrlWithKey == null || serverUrlWithKey.length() <= 0) { + return null; + } + return serverUrlWithKey.charAt(serverUrlWithKey.length() + (-1)) == '/' ? serverUrlWithKey.substring(0, serverUrlWithKey.length() - 1) : serverUrlWithKey; + } + + private HttpRequest makeFriendInvitationRequest(String str, String str2, String str3, String str4, INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + HttpRequest httpRequest; + Log.Helper.LOGFUNC(this); + String originFriendsUrlFromSynergy = getOriginFriendsUrlFromSynergy(); + String mdmAppKey = getMdmAppKey(); + if (originFriendsUrlFromSynergy == null || originFriendsUrlFromSynergy.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for sending friend invitation because friends endpoint URI is empty or null", new Object[0]); + return null; + } + if (mdmAppKey == null || mdmAppKey.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for sending friend invitation because MDM app key is empty or null", new Object[0]); + return null; + } + if (str2 == null || str2.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for sending friend invitation because access token is null or empty", new Object[0]); + return null; + } + if (str == null || str.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for sending friend invitation because user's nucleus ID is null or empty", new Object[0]); + return null; + } + if (str3 == null || str3.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for sending friend invitation because target user's nucleus ID is null or empty", new Object[0]); + return null; + } + String str5 = originFriendsUrlFromSynergy + String.format(POST_SEND_FRIEND_INVITATION_URI, str, str3); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("source=mobile"); + if (str4 != null && str4.length() > 0) { + stringBuffer.append("&comment="); + stringBuffer.append(str4); + } + try { + httpRequest = new HttpRequest(new URL(str5)); + } catch (MalformedURLException e) { + e = e; + httpRequest = null; + } catch (Exception e2) { + e = e2; + httpRequest = null; + } + try { + httpRequest.method = IHttpRequest.Method.POST; + byte[] bytes = stringBuffer.toString().getBytes(HTTP.UTF_8); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(bytes.length); + byteArrayOutputStream.write(bytes); + httpRequest.data = byteArrayOutputStream; + HashMap hashMap = new HashMap<>(); + hashMap.put("X-AuthToken", str2); + hashMap.put("X-Application-Key", mdmAppKey); + hashMap.put("X-Api-Version", "2"); + httpRequest.headers = hashMap; + } catch (MalformedURLException e3) { + e = e3; + Log.Helper.LOGE(this, "Exception when creating HTTP request URL for send friend invitation. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } catch (Exception e4) { + e = e4; + Log.Helper.LOGE(this, "Exception when creating HTTP request URL for send friend invitation. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } + return httpRequest; + } + + private HttpRequest makeRespondToFriendInvitationRequest(boolean z, String str, String str2, String str3) { + HttpRequest httpRequest; + Log.Helper.LOGFUNC(this); + String originFriendsUrlFromSynergy = getOriginFriendsUrlFromSynergy(); + String mdmAppKey = getMdmAppKey(); + if (originFriendsUrlFromSynergy == null || originFriendsUrlFromSynergy.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for responding to an invitation because end point URI is null or empty", new Object[0]); + return null; + } + if (mdmAppKey == null || mdmAppKey.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for responding to an invitation because MDM App Keyis null or empty", new Object[0]); + return null; + } + if (str == null || str.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for responding to an invitation because nucleus ID is null or empty", new Object[0]); + return null; + } + if (str2 == null || str2.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for responding to an invitation because friend ID is null or empty", new Object[0]); + return null; + } + if (str3 == null || str3.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request for responding to an invitation because access token is null or empty", new Object[0]); + return null; + } + try { + httpRequest = new HttpRequest(new URL(originFriendsUrlFromSynergy + String.format(RESPOND_TO_FRIEND_INVITATION_URI, str, str2))); + try { + if (z) { + httpRequest.method = IHttpRequest.Method.POST; + } else { + httpRequest.method = IHttpRequest.Method.DELETE; + } + HashMap hashMap = new HashMap<>(); + hashMap.put("X-AuthToken", str3); + hashMap.put("X-Application-Key", mdmAppKey); + hashMap.put("X-Api-Version", "2"); + httpRequest.headers = hashMap; + } catch (MalformedURLException e) { + e = e; + Log.Helper.LOGE(this, "Exception when creating HTTP request URL for responding to Friends request. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } catch (Exception e2) { + e = e2; + Log.Helper.LOGE(this, "Exception when creating HTTP request URL for responding to Friends request. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } + } catch (MalformedURLException e3) { + e = e3; + httpRequest = null; + } catch (Exception e4) { + e = e4; + httpRequest = null; + } + return httpRequest; + } + + private HttpRequest makeGetFriendInvitationListRequest(String str, String str2, String str3) { + HttpRequest httpRequest; + Log.Helper.LOGFUNC(this); + String originFriendsUrlFromSynergy = getOriginFriendsUrlFromSynergy(); + String mdmAppKey = getMdmAppKey(); + if (originFriendsUrlFromSynergy == null || originFriendsUrlFromSynergy.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request because friends endpoint URI is empty or null", new Object[0]); + return null; + } + if (mdmAppKey == null || mdmAppKey.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request because MDM app key is empty or null", new Object[0]); + return null; + } + if (str3 == null || str3.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request friends API URI is empty or null", new Object[0]); + return null; + } + if (str2 == null || str2.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request because access token is null or empty", new Object[0]); + return null; + } + if (str == null || str.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make HTTP request because user's nucleus ID is null or empty", new Object[0]); + return null; + } + try { + httpRequest = new HttpRequest(new URL(originFriendsUrlFromSynergy + String.format(str3, str))); + } catch (MalformedURLException e) { + e = e; + httpRequest = null; + } catch (Exception e2) { + e = e2; + httpRequest = null; + } + try { + httpRequest.method = IHttpRequest.Method.GET; + HashMap hashMap = new HashMap<>(); + hashMap.put("X-AuthToken", str2); + hashMap.put("X-Application-Key", mdmAppKey); + hashMap.put("X-Api-Version", "2"); + httpRequest.headers = hashMap; + } catch (MalformedURLException e3) { + e = e3; + Log.Helper.LOGE(this, "Exception when creating HTTP request URL. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } catch (Exception e4) { + e = e4; + Log.Helper.LOGE(this, "Exception when creating HTTP request URL. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } + return httpRequest; + } + + private HttpRequest makeSearchUserRequest(String str, String str2, String str3, UserSearchCriteria userSearchCriteria) { + String format; + HttpRequest httpRequest; + Log.Helper.LOGFUNC(this); + String identityProxyUrlFromSynergy = getIdentityProxyUrlFromSynergy(); + if (identityProxyUrlFromSynergy == null || identityProxyUrlFromSynergy.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make user search HTTP request because endpoint URI is empty or null", new Object[0]); + return null; + } + if (str == null || str.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make user search HTTP request because AccessToken is empty or null", new Object[0]); + return null; + } + if (str2 == null || str2.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make user search HTTP request TokenType is empty or null", new Object[0]); + return null; + } + if (str3 == null || str3.length() <= 0) { + Log.Helper.LOGW(this, "Cannot make user searchHTTP request because searchCriteria is null or empty", new Object[0]); + return null; + } + if (userSearchCriteria == UserSearchCriteria.EMAIL) { + format = String.format(SEARCH_USER_BY_EMAIL_URI, str3); + } else { + format = String.format(SEARCH_USER_BY_DISPLAY_NAME_URI, str3); + } + String str4 = str2 + " " + str; + try { + httpRequest = new HttpRequest(new URL(identityProxyUrlFromSynergy + format)); + try { + httpRequest.method = IHttpRequest.Method.GET; + HashMap hashMap = new HashMap<>(); + hashMap.put("Authorization", str4); + hashMap.put("X-Include-Underage", ServerProtocol.DIALOG_RETURN_SCOPES_TRUE); + hashMap.put("X-Expand-Results", ServerProtocol.DIALOG_RETURN_SCOPES_TRUE); + httpRequest.headers = hashMap; + } catch (MalformedURLException e) { + e = e; + Log.Helper.LOGE(this, "Exception when creating search user HTTP request URL. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } catch (Exception e2) { + e = e2; + Log.Helper.LOGE(this, "Exception when creating search user HTTP request URL. Exception: " + e.getMessage(), new Object[0]); + return httpRequest; + } + } catch (MalformedURLException e3) { + e = e3; + httpRequest = null; + } catch (Exception e4) { + e = e4; + httpRequest = null; + } + return httpRequest; + } + + private boolean isNimbleComponentAvailable(String str) { + Log.Helper.LOGFUNC(this); + return Base.getComponent(str) != null; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void invokeUserSearchCallbackWithCode(INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback, NimbleFriendsError.Code code, String str) { + Log.Helper.LOGFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGW(this, "Unable to invoke an error callback for Friends services because callback is null", new Object[0]); + } else { + nimbleUserSearchCallback.onCallback(null, new NimbleFriendsError(code, str)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void invokeUserSearchCallbackWithError(INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback, Error error) { + Log.Helper.LOGFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGW(this, "Unable to invoke an error callback for Friends services because callback is null", new Object[0]); + } else { + nimbleUserSearchCallback.onCallback(null, error); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void invokeUserSearchCallbackWithSuccess(INimbleOriginFriendsService.NimbleUserSearchCallback nimbleUserSearchCallback, ArrayList arrayList) { + Log.Helper.LOGFUNC(this); + if (nimbleUserSearchCallback == null) { + Log.Helper.LOGW(this, "Unable to invoke a success callback for Friends services because callback is null", new Object[0]); + } else { + nimbleUserSearchCallback.onCallback(arrayList, null); + } + } + + private void invokeFriendInvitationCallbackWithCode(INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback, NimbleFriendsError.Code code, String str) { + Log.Helper.LOGFUNC(this); + if (nimbleFriendInvitationCallback == null) { + Log.Helper.LOGW(this, "Unable to invoke an error callback for Friends services because callback is null", new Object[0]); + } else { + nimbleFriendInvitationCallback.onCallback(false, new NimbleFriendsError(code, str)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void invokeFriendInvitationCallbackWithError(INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback, Error error) { + Log.Helper.LOGFUNC(this); + if (nimbleFriendInvitationCallback == null) { + Log.Helper.LOGW(this, "Unable to invoke an error callback for Friends services because callback is null", new Object[0]); + } else { + nimbleFriendInvitationCallback.onCallback(false, error); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void invokeFriendInvitationCallbackWithSuccess(INimbleOriginFriendsService.NimbleFriendInvitationCallback nimbleFriendInvitationCallback) { + Log.Helper.LOGFUNC(this); + if (nimbleFriendInvitationCallback == null) { + Log.Helper.LOGW(this, "Unable to invoke a success callback for Friends services because callback is null", new Object[0]); + } else { + nimbleFriendInvitationCallback.onCallback(true, null); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public ArrayList parseBodyJSONData(NetworkConnectionHandle networkConnectionHandle) throws Error { + Log.Helper.LOGFUNC(this); + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + if (dataStream == null || dataStream.toString().length() == 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Empty response from server for friend invitation list request", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage())); + } + Scanner scanner = new Scanner(dataStream); + Scanner useDelimiter = scanner.useDelimiter("\\A"); + String next = useDelimiter.hasNext() ? useDelimiter.next() : ""; + useDelimiter.close(); + scanner.close(); + ArrayList arrayList = new ArrayList<>(); + if (next != null && next.length() > 0) { + try { + JSONObject jSONObject = new JSONObject(next); + if (jSONObject.optJSONObject("error") != null) { + JSONObject optJSONObject = jSONObject.optJSONObject("error"); + String optString = optJSONObject.optString("type"); + int optInt = optJSONObject.optInt("code", -1); + if (optString != null && optString.length() > 0) { + Log.Helper.LOGE(this, String.format("Server error for friend invitation list request. Code = %d, Message = %s", Integer.valueOf(optInt), optString), new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_CODE_ERROR, "Error response from server for friend invitation list request", new NimbleFriendsServerCodeError(optInt, optString)); + } + return null; + } + JSONArray optJSONArray = jSONObject.optJSONArray("entries"); + if (optJSONArray == null) { + JSONObject jSONObject2 = jSONObject.getJSONObject("error"); + if (jSONObject2 != null) { + int optInt2 = jSONObject2.optInt("code", -1); + String optString2 = jSONObject2.optString("type", ""); + Log.Helper.LOGE(this, String.format("Server error for friend invitation list request. Code = %d, Message = %s", Integer.valueOf(optInt2), optString2), new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_CODE_ERROR, "Error response from server for friend invitation list request", new NimbleFriendsServerCodeError(optInt2, optString2)); + } + Log.Helper.LOGE(this, "Unknown server error when retrieving GOS Friends.", new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Unknown server error when retrieving GOS Friends."); + } + if (optJSONArray.length() <= 0) { + Log.Helper.LOGD(this, "No invitations found for your selected criteria", new Object[0]); + return arrayList; + } + if (optJSONArray != null && optJSONArray.length() > 0) { + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject jSONObject3 = optJSONArray.getJSONObject(i); + if (jSONObject3 != null) { + NimbleUser createNimbleUserFromGosJson = createNimbleUserFromGosJson(jSONObject3); + if (createNimbleUserFromGosJson.getUserId() != null && createNimbleUserFromGosJson.getUserId().length() > 0) { + arrayList.add(createNimbleUserFromGosJson); + } + } + } + } + return arrayList; + } catch (JSONException e) { + Log.Helper.LOGE(this, String.format("%s Error: %s", "Exception when parsing JSON response for friend invitation list request.", e.getMessage()), new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Exception when parsing JSON response for friend invitation list request.", e); + } + } + Log.Helper.LOGE(this, "Empty response data for friend invitation list request.", new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Empty response data for friend invitation list request."); + } + + /* JADX INFO: Access modifiers changed from: private */ + public ArrayList parseUserSearchByEmailResponse(NetworkConnectionHandle networkConnectionHandle) throws Error { + NimbleUser createNimbleUserFromNexusJson; + Log.Helper.LOGFUNC(this); + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + if (dataStream == null || dataStream.toString().length() == 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Empty response from server for user search by email", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage())); + } + Scanner scanner = new Scanner(dataStream); + Scanner useDelimiter = scanner.useDelimiter("\\A"); + String next = useDelimiter.hasNext() ? useDelimiter.next() : ""; + useDelimiter.close(); + scanner.close(); + ArrayList arrayList = new ArrayList<>(); + if (next != null && next.length() > 0) { + try { + JSONObject jSONObject = new JSONObject(next); + if (jSONObject.optJSONObject("error") != null) { + String jSONObject2 = jSONObject.optJSONObject("error").toString(); + if (jSONObject2 != null && jSONObject2.length() > 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_CODE_ERROR, "Error response from server for user search by email", new NimbleFriendsServerCodeError(-1, jSONObject2)); + } + return null; + } + JSONObject optJSONObject = jSONObject.optJSONObject("pids"); + if (optJSONObject != null) { + JSONArray optJSONArray = optJSONObject.optJSONArray("pid"); + if (optJSONArray != null && optJSONArray.length() > 0) { + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject optJSONObject2 = optJSONArray.optJSONObject(i); + if (optJSONObject2 != null && (createNimbleUserFromNexusJson = createNimbleUserFromNexusJson(optJSONObject2)) != null) { + arrayList.add(createNimbleUserFromNexusJson); + } + } + return arrayList; + } + Log.Helper.LOGD(this, "Search response indicates that no user was found with the email address that you searched for.", new Object[0]); + return arrayList; + } + Log.Helper.LOGE(this, "Unable to parse response from server for user search by email - no pids object found", new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Unable to parse response from server for user search by email - no pids object found"); + } catch (JSONException e) { + Log.Helper.LOGE(this, String.format("%s Error: %s", "Exception when parsing JSON response for user search by email.", e.getMessage()), new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Exception when parsing JSON response for user search by email.", e); + } + } + Log.Helper.LOGE(this, "Empty response data for user search by email.", new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Empty response data for user search by email."); + } + + /* JADX INFO: Access modifiers changed from: private */ + public ArrayList parseUserSearchByDisplayNameResponse(NetworkConnectionHandle networkConnectionHandle) throws Error { + NimbleUser createNimbleUserFromNexusJson; + Log.Helper.LOGFUNC(this); + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + if (dataStream == null || dataStream.toString().length() == 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_HTTP_ERROR, "Empty response from server for user search by display name", new HttpError(networkConnectionHandle.getResponse().getStatusCode(), networkConnectionHandle.getResponse().getError().getMessage())); + } + Scanner scanner = new Scanner(dataStream); + Scanner useDelimiter = scanner.useDelimiter("\\A"); + String next = useDelimiter.hasNext() ? useDelimiter.next() : ""; + useDelimiter.close(); + scanner.close(); + ArrayList arrayList = new ArrayList<>(); + if (next != null && next.length() > 0) { + try { + JSONObject jSONObject = new JSONObject(next); + if (jSONObject.optJSONObject("error") != null) { + String jSONObject2 = jSONObject.optJSONObject("error").toString(); + if (jSONObject2 != null && jSONObject2.length() > 0) { + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_CODE_ERROR, "Error response from server for user search by display name", new NimbleFriendsServerCodeError(-1, jSONObject2)); + } + return null; + } + JSONObject optJSONObject = jSONObject.optJSONObject("personas"); + if (optJSONObject != null) { + JSONArray optJSONArray = optJSONObject.optJSONArray("persona"); + if (optJSONArray != null && optJSONArray.length() > 0) { + for (int i = 0; i < optJSONArray.length(); i++) { + JSONObject optJSONObject2 = optJSONArray.optJSONObject(i); + if (optJSONObject2 != null && (createNimbleUserFromNexusJson = createNimbleUserFromNexusJson(optJSONObject2)) != null) { + arrayList.add(createNimbleUserFromNexusJson); + } + } + return arrayList; + } + Log.Helper.LOGD(this, "Search response indicates that no user was found with the display name prefix that you searched for.", new Object[0]); + return arrayList; + } + Log.Helper.LOGE(this, "Unable to parse response from server for user search by display name - no personas object found", new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Unable to parse response from server for user search by display name - no personas object found"); + } catch (JSONException e) { + Log.Helper.LOGE(this, String.format("%s Error: %s", "Exception when parsing JSON response for user search by display name .", e.getMessage()), new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Exception when parsing JSON response for user search by display name .", e); + } + } + Log.Helper.LOGE(this, "Empty response data for user search by display name .", new Object[0]); + throw new NimbleFriendsError(NimbleFriendsError.Code.NIMBLE_FRIENDS_SERVER_INVALID_RESPONSE_ERROR, "Empty response data for user search by display name ."); + } + + private NimbleUser createNimbleUserFromGosJson(JSONObject jSONObject) { + Log.Helper.LOGFUNC(this); + NimbleUser nimbleUser = new NimbleUser(); + try { + nimbleUser.setAuthenticatorId(Global.NIMBLE_AUTHENTICATOR_ORIGIN); + nimbleUser.setDisplayName(jSONObject.optString("displayName", "")); + nimbleUser.setFriendType(jSONObject.optString("friendType", "")); + nimbleUser.setUserId(String.valueOf(jSONObject.optLong("userId", 0L))); + nimbleUser.setPersonaId(String.valueOf(jSONObject.optLong("personaId", 0L))); + nimbleUser.setPid(String.valueOf(jSONObject.optLong("userId", 0L))); + if (jSONObject.optLong("timestamp", 0L) == 0) { + return nimbleUser; + } + nimbleUser.setRefreshTimestamp(new Date(jSONObject.optLong("timestamp") * 1000)); + return nimbleUser; + } catch (Exception e) { + Log.Helper.LOGW(this, String.format("Exception when parsing JSON response. Message: %s", e.getMessage()), new Object[0]); + return null; + } + } + + private NimbleUser createNimbleUserFromNexusJson(JSONObject jSONObject) { + Log.Helper.LOGFUNC(this); + NimbleUser nimbleUser = new NimbleUser(); + try { + nimbleUser.setAuthenticatorId(Global.NIMBLE_AUTHENTICATOR_ORIGIN); + nimbleUser.setDisplayName(jSONObject.optString("displayName", "")); + nimbleUser.setFriendType(""); + nimbleUser.setUserId(String.valueOf(jSONObject.optLong("pidId", 0L))); + nimbleUser.setPersonaId(String.valueOf(jSONObject.optLong("personaId", 0L))); + nimbleUser.setPid(String.valueOf(jSONObject.optLong("pidId", 0L))); + if (jSONObject.optLong("timestamp", 0L) == 0) { + return nimbleUser; + } + nimbleUser.setRefreshTimestamp(new Date(jSONObject.optLong("timestamp") * 1000)); + return nimbleUser; + } catch (Exception e) { + Log.Helper.LOGW(this, String.format("Exception when parsing JSON response. Message: %s", e.getMessage()), new Object[0]); + return null; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/NimbleUser.java b/app/src/main/java/com/ea/nimble/friends/NimbleUser.java new file mode 100644 index 0000000..cc961bf --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/NimbleUser.java @@ -0,0 +1,201 @@ +package com.ea.nimble.friends; + +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.TimeZone; + +/* loaded from: classes.dex */ +public class NimbleUser { + protected boolean addedToAllFriends; + protected String authenticatorId; + protected String displayName; + protected Map extraInfo; + protected String friendType; + protected String imageUrl; + protected String personaId; + protected String pid; + protected PlayedCurrentGameFlag playedCurrentGame; + protected Date refreshTimestamp; + protected String userId; + + public enum PlayedCurrentGameFlag { + NOT_AVAILABLE, + PLAYED, + NOT_PLAYED + } + + public NimbleUser() { + this.playedCurrentGame = PlayedCurrentGameFlag.NOT_AVAILABLE; + this.addedToAllFriends = false; + } + + public NimbleUser(NimbleUser nimbleUser) { + this.playedCurrentGame = PlayedCurrentGameFlag.NOT_AVAILABLE; + this.addedToAllFriends = false; + this.displayName = nimbleUser.getDisplayName(); + this.authenticatorId = nimbleUser.getAuthenticatorId(); + this.userId = nimbleUser.getUserId(); + this.pid = nimbleUser.getPid(); + this.personaId = nimbleUser.getPersonaId(); + this.playedCurrentGame = nimbleUser.getPlayedCurrentGame(); + this.imageUrl = nimbleUser.getImageUrl(); + this.refreshTimestamp = nimbleUser.getRefreshTimestamp(); + this.friendType = nimbleUser.getFriendType(); + this.addedToAllFriends = nimbleUser.addedToAllFriends; + if (nimbleUser.getExtraInfo() == null) { + this.extraInfo = null; + } else { + this.extraInfo = new HashMap(nimbleUser.getExtraInfo()); + } + } + + public String getDisplayName() { + Log.Helper.LOGPUBLICFUNC(this); + return this.displayName; + } + + protected void setDisplayName(String str) { + Log.Helper.LOGFUNC(this); + this.displayName = str; + } + + public String getAuthenticatorId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.authenticatorId; + } + + protected void setAuthenticatorId(String str) { + Log.Helper.LOGFUNC(this); + this.authenticatorId = str; + } + + public String getUserId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.userId; + } + + protected void setUserId(String str) { + Log.Helper.LOGFUNC(this); + this.userId = str; + } + + public String getPid() { + Log.Helper.LOGPUBLICFUNC(this); + return this.pid; + } + + protected void setPid(String str) { + Log.Helper.LOGFUNC(this); + this.pid = str; + } + + public PlayedCurrentGameFlag getPlayedCurrentGame() { + Log.Helper.LOGPUBLICFUNC(this); + return this.playedCurrentGame; + } + + protected void setPlayedCurrentGame(PlayedCurrentGameFlag playedCurrentGameFlag) { + Log.Helper.LOGFUNC(this); + this.playedCurrentGame = playedCurrentGameFlag; + } + + public String getImageUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return (this.authenticatorId == null || !this.authenticatorId.equals(Global.NIMBLE_AUTHENTICATOR_FACEBOOK) || this.userId == null || this.userId.length() <= 0) ? this.imageUrl : String.format("https://graph.facebook.com/%s/picture?type=normal", this.userId); + } + + protected void setImageUrl(String str) { + Log.Helper.LOGFUNC(this); + this.imageUrl = str; + } + + public Map getExtraInfo() { + Log.Helper.LOGPUBLICFUNC(this); + return this.extraInfo; + } + + protected void setExtraInfo(Map map) { + Log.Helper.LOGFUNC(this); + this.extraInfo = map; + } + + public String getPersonaId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.personaId; + } + + protected void setPersonaId(String str) { + Log.Helper.LOGFUNC(this); + this.personaId = str; + } + + public Date getRefreshTimestamp() { + Log.Helper.LOGPUBLICFUNC(this); + return this.refreshTimestamp; + } + + protected void setRefreshTimestamp(Date date) { + Log.Helper.LOGFUNC(this); + this.refreshTimestamp = date; + } + + public String getFriendType() { + Log.Helper.LOGPUBLICFUNC(this); + return this.friendType; + } + + protected void setFriendType(String str) { + Log.Helper.LOGFUNC(this); + this.friendType = str; + } + + boolean isUserUpdated(NimbleUser nimbleUser) { + Log.Helper.LOGFUNC(this); + boolean z = false; + if (nimbleUser == null) { + return false; + } + if (nimbleUser.getDisplayName() != null && nimbleUser.getDisplayName() != "" && (getDisplayName() == null || !nimbleUser.getDisplayName().equals(getDisplayName()))) { + z = true; + } + if (nimbleUser.getPid() != null && nimbleUser.getPid() != "" && (getPid() == null || !nimbleUser.getPid().equals(getPid()))) { + z = true; + } + if (nimbleUser.getPersonaId() != null && nimbleUser.getPersonaId() != "" && (getPersonaId() == null || !nimbleUser.getPersonaId().equals(getPersonaId()))) { + z = true; + } + if (nimbleUser.getImageUrl() != null && nimbleUser.getImageUrl() != "" && (getImageUrl() == null || !nimbleUser.getImageUrl().equals(getImageUrl()))) { + z = true; + } + if (nimbleUser.getPlayedCurrentGame() == null || (getPlayedCurrentGame() != null && nimbleUser.getPlayedCurrentGame().equals(getPlayedCurrentGame()))) { + return z; + } + return true; + } + + public String toString() { + String str; + String str2; + if (this.playedCurrentGame == PlayedCurrentGameFlag.PLAYED) { + str = "YES"; + } else if (this.playedCurrentGame == PlayedCurrentGameFlag.NOT_PLAYED) { + str = "NO"; + } else { + str = this.playedCurrentGame == PlayedCurrentGameFlag.NOT_AVAILABLE ? "NOT AVAILABLE" : "UNKNOWN"; + } + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US); + simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles")); + str2 = simpleDateFormat.format(this.refreshTimestamp); + } catch (Exception unused) { + str2 = ""; + } + new String(); + return ("displayName(" + getDisplayName() + ") friendId(" + getUserId() + ") pid(" + this.pid + ") personaId(" + getPersonaId() + ") imageUrl(" + getImageUrl() + ") authenticatorId(" + getAuthenticatorId() + ") playedCurrentGame(" + str + ")refreshTimestamp(" + str2 + ")") + "ExtraInfo(" + (getExtraInfo() == null ? "" : getExtraInfo().toString()) + ") \n"; + } +} diff --git a/app/src/main/java/com/ea/nimble/friends/UserInfoFromIdentity.java b/app/src/main/java/com/ea/nimble/friends/UserInfoFromIdentity.java new file mode 100644 index 0000000..f1f4430 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/friends/UserInfoFromIdentity.java @@ -0,0 +1,28 @@ +package com.ea.nimble.friends; + +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class UserInfoFromIdentity { + private String externalRefValue; + private String personaId; + private String pidId; + + public UserInfoFromIdentity(JSONObject jSONObject) { + this.pidId = jSONObject.optString("pidId"); + this.personaId = jSONObject.optString("personaId"); + this.externalRefValue = jSONObject.optString("externalRefValue"); + } + + public String getPidId() { + return this.pidId; + } + + public String getPersonaId() { + return this.personaId; + } + + public String getExternalRefValue() { + return this.externalRefValue; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/AuthenticatorAnonymous.java b/app/src/main/java/com/ea/nimble/identity/AuthenticatorAnonymous.java new file mode 100644 index 0000000..910c4a7 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/AuthenticatorAnonymous.java @@ -0,0 +1,249 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.Timer; +import com.ea.nimble.Utility; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityError; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +class AuthenticatorAnonymous extends AuthenticatorBase { + private static final String ANONYMOUS_USER_NAME = "Guest"; + private static final double INITIAL_RETRY_TIME = 1.0d; + private static final double MAX_RETRY_TIME = 300.0d; + private static final String PID_TYPE = "mobile_upid"; + private static final String URL_TEMPLATE_ANONYMOUS_LOGIN = "%s/connect/auth?mobile_login_type=mobile_game_UPID&mobile_UPIDToken=%s&client_id=%s&response_type=code&redirect_uri=nucleus:rest"; + private static final String URL_TEMPLATE_ANONYMOUS_UPIDTOKEN = "%s/connect/upidtoken?client_id=%s"; + private String m_upidToken = ""; + private double m_currentRetryTime = INITIAL_RETRY_TIME; + private Timer m_retryTimer = new Timer(new Runnable() { // from class: com.ea.nimble.identity.AuthenticatorAnonymous.1 + @Override // java.lang.Runnable + public void run() { + AuthenticatorAnonymous.this.onRetryTimerExpired(); + } + }); + + private static void initialize() { + Log.Helper.LOGFUNCS("AuthenticatorAnonymous"); + AuthenticatorAnonymous authenticatorAnonymous = new AuthenticatorAnonymous(); + Base.registerComponent(authenticatorAnonymous, authenticatorAnonymous.getComponentId()); + } + + private AuthenticatorAnonymous() { + this.TAG = "AuthenticatorAnonymous"; + } + + @Override // com.ea.nimble.identity.AuthenticatorBase, com.ea.nimble.Component + public void suspend() { + super.suspend(); + this.m_retryTimer.cancel(); + this.m_currentRetryTime = INITIAL_RETRY_TIME; + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + public void restoreAuthenticator(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + this.m_userInfo.setUserName(ANONYMOUS_USER_NAME); + this.m_userInfo.setDisplayName(ANONYMOUS_USER_NAME); + loadUpidToken(); + super.restoreAuthenticator(nimbleIdentityAuthenticatorCallback); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public String getAuthenticatorId() { + Log.Helper.LOGPUBLICFUNC(this); + return Global.NIMBLE_AUTHENTICATOR_ANONYMOUS; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void login(NimbleIdentityLoginParams nimbleIdentityLoginParams, INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGWS(this.TAG, "Anonymous authenticator is self-maintained, explicitly calling login on the anonymous authenticator does nothing.", new Object[0]); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_UNSUPPORTED_ACTION, "Anonymous authenticator is self-maintained, explicitly calling login on the anonymous authenticator does nothing.")); + } + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void logout(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGWS(this.TAG, "Anonymous authenticator is self-maintained, explicitly calling logout on the anonymous authenticator does nothing.", new Object[0]); + NimbleIdentityError nimbleIdentityError = new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_UNSUPPORTED_ACTION, "Anonymous authenticator is self-maintained, explicitly calling logout on the anonymous authenticator does nothing."); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(null, nimbleIdentityError); + } + } + + void logoutInternal(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + if (NimbleIdentityImpl.getComponent().getLoggedInAuthenticators().size() == 1) { + Log.Helper.LOGWS(this.TAG, "Attempting to logout the anonymous authenticator but it is the only one logged in. Aborting", new Object[0]); + } else { + cancelAuthentication(); + cleanAtLogout(nimbleIdentityAuthenticatorCallback); + } + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + void autoLogin() { + Log.Helper.LOGFUNC(this); + this.m_autoLoginAttempt = true; + login(null); + } + + private synchronized void login(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + this.m_state = INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING; + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_authenticateCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + Log.Helper.LOGDS(this.TAG, "Anonymous Login", new Object[0]); + if (Utility.validString(this.m_upidToken)) { + Log.Helper.LOGVS(this.TAG, "Found cached UPID token %s, use it for login", this.m_upidToken); + exchangeUpidTokenForAuthCode(); + } else { + Log.Helper.LOGVS(this.TAG, "Request a new User PID token", new Object[0]); + getUpidToken(); + } + } + + @Override // com.ea.nimble.identity.AuthenticatorBase, com.ea.nimble.identity.INimbleIdentityAuthenticator + public void requestIdentityForFriends(ArrayList arrayList, INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback nimbleIdentityFriendsIdentityInfoCallback) { + Log.Helper.LOGPUBLICFUNC(this); + requestIdentityForFriends(PID_TYPE, arrayList, nimbleIdentityFriendsIdentityInfoCallback); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + protected boolean isPlatformLoggedIn() { + Log.Helper.LOGFUNC(this); + return Utility.validString(this.m_upidToken); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + protected void closeAuthentication(Error error) { + Log.Helper.LOGFUNC(this); + if (error != null && this.m_autoLoginAttempt) { + double d = this.m_currentRetryTime; + this.m_currentRetryTime = Math.min(this.m_currentRetryTime * 2.0d, 300.0d); + Log.Helper.LOGDS(this.TAG, "Auto login failed. Retrying in %.1f seconds", Double.valueOf(d)); + this.m_retryTimer.schedule(d, false); + return; + } + this.m_currentRetryTime = INITIAL_RETRY_TIME; + this.m_retryTimer.cancel(); + super.closeAuthentication(error); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onRetryTimerExpired() { + Log.Helper.LOGFUNC(this); + login(null); + } + + private synchronized void getUpidToken() { + Log.Helper.LOGFUNC(this); + try { + NimbleIdentityConfig configuration = getConfiguration(); + this.m_authenticateRequest = Network.getComponent().sendGetRequest(new URL(String.format(URL_TEMPLATE_ANONYMOUS_UPIDTOKEN, configuration.getConnectServerUrl(), configuration.getClientId())), new HashMap<>(), new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorAnonymous.2 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + Error error; + Exception error2 = networkConnectionHandle.getResponse().getError(); + if (error2 != null) { + if (error2 instanceof Error) { + error = (Error) error2; + } else { + error = new Error(Error.Code.NETWORK_CONNECTION_ERROR, "Connection error", error2); + } + AuthenticatorAnonymous.this.closeAuthentication(error); + } + try { + String readStringFromStream = Utility.readStringFromStream(networkConnectionHandle.getResponse().getDataStream()); + synchronized (this) { + AuthenticatorAnonymous.this.m_upidToken = readStringFromStream; + AuthenticatorAnonymous.this.saveUpidToken(); + AuthenticatorAnonymous.this.exchangeUpidTokenForAuthCode(); + } + } catch (IOException unused) { + AuthenticatorAnonymous.this.closeAuthentication(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Cannot read UPID token from server response")); + } + } + }); + } catch (MalformedURLException e) { + closeAuthentication(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Received a malformed URL with exception e: " + e)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public synchronized void exchangeUpidTokenForAuthCode() { + Log.Helper.LOGFUNC(this); + try { + NimbleIdentityConfig configuration = getConfiguration(); + this.m_authenticateRequest = Network.getComponent().sendGetRequest(new URL(String.format(URL_TEMPLATE_ANONYMOUS_LOGIN, configuration.getConnectServerUrl(), this.m_upidToken, configuration.getClientId())), new HashMap<>(), new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorAnonymous.3 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + String str = (String) parseBodyJSONData.get("code"); + if (!Utility.validString(str)) { + AuthenticatorAnonymous.this.closeAuthentication(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Cannot read login OAuth code data from server response data " + parseBodyJSONData)); + return; + } + synchronized (this) { + AuthenticatorAnonymous.this.exchangeAuthCodeToToken(str); + } + } catch (Error e) { + AuthenticatorAnonymous.this.closeAuthentication(e); + } + } + }); + } catch (MalformedURLException e) { + closeAuthentication(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Received a malformed URL with exception e: " + e)); + } + } + + private void loadUpidToken() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + this.m_upidToken = null; + return; + } + this.m_upidToken = persistenceForNimbleComponent.getStringValue("UpidToken"); + if (this.m_upidToken == null) { + this.m_upidToken = persistenceForNimbleComponent.getStringValue("upid_token"); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void saveUpidToken() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + if (!persistenceForNimbleComponent.getBackUp()) { + persistenceForNimbleComponent.setBackUp(true); + } + persistenceForNimbleComponent.setValue("UpidToken", this.m_upidToken); + persistenceForNimbleComponent.synchronize(); + } + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + protected void completeMigration() { + Log.Helper.LOGFUNC(this); + cleanAtLogout(null); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/AuthenticatorBase.java b/app/src/main/java/com/ea/nimble/identity/AuthenticatorBase.java new file mode 100644 index 0000000..b7f2e0f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/AuthenticatorBase.java @@ -0,0 +1,1294 @@ +package com.ea.nimble.identity; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.HttpRequest; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.INetwork; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.Timer; +import com.ea.nimble.Utility; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityError; +import com.ea.nimble.tracking.ITracking; +import com.ea.nimble.tracking.Tracking; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public abstract class AuthenticatorBase extends Component implements INimbleIdentityAuthenticator, LogSource { + private static final String AUTHORIZATION_KEY = "Authorization"; + private static final String DATA_CONTENT_TYPE_KEY = "Content-type"; + private static final String DATA_CONTENT_TYPE_VALUE = "application/x-www-form-urlencoded"; + private static final String DATA_TEMPLATE_LOGIN_WITH_OAUTH_CODE = "grant_type=authorization_code&code=%s&client_id=%s&client_secret=%s&redirect_uri=nucleus:rest"; + private static final String DATA_TEMPLATE_LOGIN_WITH_REFRESH_TOKEN = "grant_type=refresh_token&refresh_token=%s&client_id=%s&client_secret=%s&redirect_uri=nucleus:rest"; + private static final double DEFAULT_RETRY_INTERVAL = 60.0d; + private static final double EXPIRY_MARGIN_FOR_TIMER = 5.0d; + public static final String NIMBLE_IDENTITY_PERSISTENCE_TOKEN_SUFFIX = "nimble_identity_access_token"; + private static final String REQUEST_HEADER_PERSONA_INFO_EXTRA_FLAG = "X-Expand-Results"; + private static final String REQUEST_HEADER_PID_INFO_EXTRA_FLAG = "X-Include-Underage"; + private static final String REQUEST_HEADER_REFRESH_TOKEN_EXTRA_FLAG = "X-Include-RT-Time"; + private static final String REQUEST_HEADER_TRUE_VALUE = "true"; + private static final String URL_TEMPALTE_GET_IDENTITY_INFO_FOR_FRIENDS = "/proxy/identity/pids/personaextref/bulk"; + private static final String URL_TEMPLATE_GET_PERSONA_INFO = "%s/proxy/identity/pids/me/personas"; + private static final String URL_TEMPLATE_GET_PID_INFO = "%s/proxy/identity/pids/me"; + private static final String URL_TEMPLATE_LOGIN = "%s/connect/token"; + private static final String URL_TEMPLATE_LOGOUT = "%s/connect/clearsid?client_id=%s&access_token=%s"; + private static final String URL_TEMPLATE_REQUEST_SERVER_AUTHENTICATION_OAUTH_CODE = "%s/connect/auth?client_id=%s&response_type=code&access_token=%s&redirect_uri=nucleus:rest"; + protected NetworkConnectionHandle m_authenticateRequest; + protected boolean m_autoLoginAttempt; + private NetworkConnectionHandle m_personaRequest; + private ArrayList m_personas; + private NimbleIdentityPidInfo m_pidInfo; + private NetworkConnectionHandle m_pidInfoRequest; + private NimbleIdentityToken m_token; + protected INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState m_state = INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE; + protected NimbleIdentityUserInfo m_userInfo = new NimbleIdentityUserInfo(); + protected ArrayList m_authenticateCallbacks = new ArrayList<>(); + private ArrayList m_userInfoCallbacks = new ArrayList<>(); + private ArrayList m_pidInfoCallbacks = new ArrayList<>(); + private ArrayList m_personaCallbacks = new ArrayList<>(); + private Timer m_tokenRefreshTimer = new Timer(new Runnable() { // from class: com.ea.nimble.identity.AuthenticatorBase.1 + @Override // java.lang.Runnable + public void run() { + AuthenticatorBase.this.onTokenRefreshTimer(); + } + }); + private Timer m_userProfileRefreshTimer = new Timer(new Runnable() { // from class: com.ea.nimble.identity.AuthenticatorBase.2 + @Override // java.lang.Runnable + public void run() { + AuthenticatorBase.this.onUserProfileRefreshTimer(); + } + }); + private Timer m_pidInfoRefreshTimer = new Timer(new Runnable() { // from class: com.ea.nimble.identity.AuthenticatorBase.3 + @Override // java.lang.Runnable + public void run() { + AuthenticatorBase.this.onPidInfoRefreshTimer(); + } + }); + private Timer m_personaRefreshTimer = new Timer(new Runnable() { // from class: com.ea.nimble.identity.AuthenticatorBase.4 + @Override // java.lang.Runnable + public void run() { + AuthenticatorBase.this.onPersonaRefreshTimer(); + } + }); + protected String TAG = "AuthenticatorBase"; + private BroadcastReceiver m_networkChangeReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.identity.AuthenticatorBase.5 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + AuthenticatorBase.this.onNetworkChange(); + } + }; + protected BroadcastReceiver m_identityConfigChangeReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.identity.AuthenticatorBase.6 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + AuthenticatorBase.this.onConfigurationChange(); + } + }; + + interface INimbleIdentityInternalServiceRequestCallback { + void onServiceComplete(Error error); + } + + abstract void autoLogin(); + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState getState() { + return this.m_state; + } + + void setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState nimbleIdentityAuthenticationState) { + if (nimbleIdentityAuthenticationState != this.m_state) { + this.m_state = nimbleIdentityAuthenticationState; + saveState(); + HashMap hashMap = new HashMap(); + hashMap.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, getAuthenticatorId()); + Utility.sendBroadcastSerializable(Global.NIMBLE_NOTIFICATION_IDENTITY_AUTHENTICATION_UPDATE, hashMap); + } + } + + NimbleIdentityToken getAccessToken() { + return this.m_token; + } + + protected NimbleIdentityConfig getConfiguration() { + return NimbleIdentityImpl.getComponent().getConfiguration(); + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return this.TAG; + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return INimbleIdentityAuthenticator.AUTHENTICATOR_COMPONENT_PREFIX + getAuthenticatorId(); + } + + public void restoreAuthenticator(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_state != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_UNAVAILABLE) { + loadState(); + if (this.m_state != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE) { + loadToken(); + loadPidInfo(); + } + Utility.registerReceiver(Global.NOTIFICATION_NETWORK_STATUS_CHANGE, this.m_networkChangeReceiver); + Utility.registerReceiver("nimble.notification.identity.configuration.change", this.m_identityConfigChangeReceiver); + resume(nimbleIdentityAuthenticatorCallback); + } + } + + @Override // com.ea.nimble.Component + public void suspend() { + cancelAuthentication(); + } + + @Override // com.ea.nimble.Component + public void resume() { + resume(null); + } + + private synchronized void resume(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE) { + Log.Helper.LOGIS(this.TAG, "Skipping autoLogin for state NONE", new Object[0]); + return; + } + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_authenticateCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + if (environmentCheck() != null) { + Log.Helper.LOGIS(this.TAG, "Authenticator %s resume failing - environment not ready.", getAuthenticatorId()); + return; + } + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING) { + Log.Helper.LOGIS(this.TAG, "Skipping autoLogin for state GOING", new Object[0]); + return; + } + if (this.m_token != null) { + if (this.m_token.getAccessTokenExpiryTime().after(new Date())) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS); + verifyAccessToken(); + return; + } else if (this.m_token.getRefreshTokenExpiryTime().after(new Date())) { + refreshToken(); + return; + } + } + autoLogin(); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void verifyAccessToken() { + Log.Helper.LOGPUBLICFUNC(this); + onVerifiedAccessToken(); + } + + protected void onVerifiedAccessToken() { + Log.Helper.LOGFUNC(this); + closeAuthentication(null); + getPidInfo(); + getPersonas(); + getUserInfo(); + } + + @Override // com.ea.nimble.Component + protected void cleanup() { + Log.Helper.LOGFUNC(this); + Utility.unregisterReceiver(this.m_networkChangeReceiver); + Utility.unregisterReceiver(this.m_identityConfigChangeReceiver); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public NimbleIdentityUserInfo getUserInfo() { + NimbleIdentityUserInfo nimbleIdentityUserInfo; + Log.Helper.LOGPUBLICFUNC(this); + synchronized (this) { + nimbleIdentityUserInfo = this.m_userInfo; + if (this.m_userInfo == null || (this.m_userInfo.getExpiryTime() != null && this.m_userInfo.getExpiryTime().before(new Date()))) { + refreshUserProfile(null); + } + if (this.m_pidInfo == null || this.m_pidInfo.getExpiryTime().before(new Date())) { + refreshPidInfo(null); + } + } + return nimbleIdentityUserInfo; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void refreshUserInfo(final INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + refreshPidInfo(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.7 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + if (nimbleIdentityAuthenticatorCallback == null) { + Log.Helper.LOGDS(AuthenticatorBase.this.TAG, "Received null callback in refreshUserInfo", new Object[0]); + } else if (error == null) { + AuthenticatorBase.this.refreshUserProfile(nimbleIdentityAuthenticatorCallback); + } else { + nimbleIdentityAuthenticatorCallback.onCallback(iNimbleIdentityAuthenticator, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_REFRESH_USER_INFO_FROM_PID_INFO, "Fail to refresh user info from pid info", error)); + } + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public synchronized void refreshUserProfile(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + Error environmentCheck = environmentCheck(); + if (environmentCheck != null) { + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, environmentCheck); + } + return; + } + Log.Helper.LOGVS(this.TAG, "Ready to refresh user profile", new Object[0]); + if (this.m_userProfileRefreshTimer.isRunning()) { + this.m_userProfileRefreshTimer.cancel(); + } + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_pidInfoCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + updateUserProfile(); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public NimbleIdentityPidInfo getPidInfo() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleIdentityPidInfo nimbleIdentityPidInfo = this.m_pidInfo; + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS && (this.m_pidInfo == null || this.m_pidInfo.getExpiryTime().before(new Date()))) { + synchronized (this) { + nimbleIdentityPidInfo = this.m_pidInfo; + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS && (this.m_pidInfo == null || this.m_pidInfo.getExpiryTime().before(new Date()))) { + refreshPidInfo(null); + } + } + } + savePidInfo(); + return nimbleIdentityPidInfo; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void refreshPidInfo(final INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + prepare(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.8 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + if (error == null) { + Log.Helper.LOGVS(AuthenticatorBase.this.TAG, "Ready to refresh pid info", new Object[0]); + synchronized (AuthenticatorBase.this) { + if (AuthenticatorBase.this.m_pidInfoRefreshTimer.isRunning()) { + AuthenticatorBase.this.m_pidInfoRefreshTimer.cancel(); + } + if (nimbleIdentityAuthenticatorCallback != null) { + AuthenticatorBase.this.m_pidInfoCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + AuthenticatorBase.this.updatePidInfo(); + } + return; + } + synchronized (AuthenticatorBase.this) { + if (AuthenticatorBase.this.getConfiguration().getAutoRefresh() && AuthenticatorBase.this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + AuthenticatorBase.this.m_pidInfoRefreshTimer.schedule(60.0d, false); + } + if (nimbleIdentityAuthenticatorCallback != null) { + Log.Helper.LOGWS(AuthenticatorBase.this.TAG, "Persona refresh failed early because of error %s", error); + nimbleIdentityAuthenticatorCallback.onCallback(AuthenticatorBase.this, error); + } + } + } + }); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public List getPersonas() { + ArrayList arrayList; + Log.Helper.LOGPUBLICFUNC(this); + synchronized (this) { + arrayList = this.m_personas; + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS && (this.m_personas == null || (this.m_personas.size() > 0 && this.m_personas.get(0).getExpiryTime().before(new Date())))) { + updatePersonas(); + } + } + return arrayList; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void refreshPersonas(final INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + prepare(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.9 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + if (error == null) { + Log.Helper.LOGVS(AuthenticatorBase.this.TAG, "Ready to refresh persona info", new Object[0]); + synchronized (AuthenticatorBase.this) { + if (AuthenticatorBase.this.m_personaRefreshTimer.isRunning()) { + AuthenticatorBase.this.m_personaRefreshTimer.cancel(); + } + if (nimbleIdentityAuthenticatorCallback != null) { + AuthenticatorBase.this.m_personaCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + AuthenticatorBase.this.updatePersonas(); + } + return; + } + synchronized (AuthenticatorBase.this) { + if (AuthenticatorBase.this.getConfiguration().getAutoRefresh() && AuthenticatorBase.this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + AuthenticatorBase.this.m_personaRefreshTimer.schedule(60.0d, false); + } + if (nimbleIdentityAuthenticatorCallback != null) { + Log.Helper.LOGWS(AuthenticatorBase.this.TAG, "Persona refresh failed early because of error %s", error); + nimbleIdentityAuthenticatorCallback.onCallback(AuthenticatorBase.this, error); + } + } + } + }); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public NimbleIdentityPersona getPersonaByNamespace(String str, long j) { + Log.Helper.LOGPUBLICFUNC(this); + List personas = getPersonas(); + if (personas != null) { + for (NimbleIdentityPersona nimbleIdentityPersona : personas) { + if (nimbleIdentityPersona.getPersonaId() == j) { + if (nimbleIdentityPersona.getNamespaceName() != null && nimbleIdentityPersona.getNamespaceName().equals(str)) { + return nimbleIdentityPersona; + } + Log.Helper.LOGWS(this.TAG, "Try to get persona with persona id %d, but namespace %s doesn't match the asked for %s", Long.valueOf(nimbleIdentityPersona.getPersonaId()), nimbleIdentityPersona.getNamespaceName(), str); + return null; + } + } + } + return null; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public NimbleIdentityPersona getPersonaByNamespace(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + List personas = getPersonas(); + if (personas == null) { + return null; + } + for (NimbleIdentityPersona nimbleIdentityPersona : personas) { + if (nimbleIdentityPersona.getNamespaceName() != null && nimbleIdentityPersona.getNamespaceName().equals(str) && nimbleIdentityPersona.getName() != null && nimbleIdentityPersona.getName().equals(str2)) { + return nimbleIdentityPersona; + } + } + return null; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void requestAuthCode(final String str, final String str2, final INimbleIdentityAuthenticator.NimbleIdentityServerAuthCodeCallback nimbleIdentityServerAuthCodeCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleIdentityServerAuthCodeCallback == null) { + Log.Helper.LOGWS(this.TAG, "Request server authentication oAuth code without callback, no way to get result", new Object[0]); + } else { + Log.Helper.LOGDS(this.TAG, "Request server authentication oauth code for serverId %s and scope %s", str, str2); + prepare(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.10 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + URL url; + if (error == null) { + Log.Helper.LOGVS(AuthenticatorBase.this.TAG, "Ready to request server auth code for serverId %s and scope %s", str, str2); + try { + String format = String.format(AuthenticatorBase.URL_TEMPLATE_REQUEST_SERVER_AUTHENTICATION_OAUTH_CODE, AuthenticatorBase.this.getConfiguration().getConnectServerUrl(), str, AuthenticatorBase.this.m_token.getAccessToken()); + if (Utility.validString(str2)) { + format = String.format("%s&scope=%s", format, str2); + } + url = new URL(format); + } catch (MalformedURLException unused) { + url = null; + } + Network.getComponent().sendGetRequest(url, new HashMap<>(), new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.10.1 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + String str3 = (String) parseBodyJSONData.get("code"); + if (!Utility.validString(str3)) { + Error error2 = new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, String.format("Fail to parse oAuth code from server response data %s", parseBodyJSONData)); + Log.Helper.LOGDS(AuthenticatorBase.this.TAG, "Request for server auth code failed for error %s", error2); + nimbleIdentityServerAuthCodeCallback.onCallback(AuthenticatorBase.this, null, str, str2, error2); + } else { + Log.Helper.LOGDS(AuthenticatorBase.this.TAG, "Request for server auth code succeed with auth code: %s", str3); + nimbleIdentityServerAuthCodeCallback.onCallback(AuthenticatorBase.this, str3, str, str2, null); + } + } catch (Error e) { + Log.Helper.LOGDS(AuthenticatorBase.this.TAG, "Request for server auth code failed for error %s", e); + nimbleIdentityServerAuthCodeCallback.onCallback(AuthenticatorBase.this, null, str, str2, e); + } + } + }); + return; + } + Log.Helper.LOGDS(AuthenticatorBase.this.TAG, "Fail to get server authentication oauth code because of error %s", error); + nimbleIdentityServerAuthCodeCallback.onCallback(AuthenticatorBase.this, null, str, str2, error); + } + }); + } + } + + public void requestIdentityForFriends(ArrayList arrayList, INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback nimbleIdentityFriendsIdentityInfoCallback) throws Exception { + Log.Helper.LOGPUBLICFUNC(this); + throw new Exception("Authenticator " + getAuthenticatorId() + " doesn't support identity information for friends"); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void requestAccessToken(final INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback nimbleAuthenticatorAccessTokenCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleAuthenticatorAccessTokenCallback == null) { + Log.Helper.LOGW(this, "requestAccessToken API called without a callback. Aborting token refresh", new Object[0]); + return; + } + Log.Helper.LOGD(this, "requestAccessToken API called, proceeding with token refresh", new Object[0]); + if (this.m_token != null) { + if (!Utility.validString(this.m_token.getAccessToken())) { + nimbleAuthenticatorAccessTokenCallback.AccessTokenCallback(this, "", "", new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_UNAUTHENTICATED, "No tokens found for your authenticator")); + return; + } else if (this.m_token.getAccessTokenExpiryTime().after(new Date())) { + nimbleAuthenticatorAccessTokenCallback.AccessTokenCallback(this, this.m_token.getAccessToken(), this.m_token.getType(), null); + return; + } else { + prepare(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.11 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + if (error == null) { + nimbleAuthenticatorAccessTokenCallback.AccessTokenCallback(AuthenticatorBase.this, AuthenticatorBase.this.m_token.getAccessToken(), AuthenticatorBase.this.m_token.getType(), null); + } else { + nimbleAuthenticatorAccessTokenCallback.AccessTokenCallback(AuthenticatorBase.this, "", "", error); + } + } + }); + return; + } + } + nimbleAuthenticatorAccessTokenCallback.AccessTokenCallback(this, "", "", new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_UNAUTHENTICATED, "No tokens found for your authenticator")); + } + + protected boolean isPlatformLoggedIn() { + Log.Helper.LOGFUNC(this); + return this.m_token != null && (this.m_token.getAccessTokenExpiryTime().after(new Date()) || this.m_token.getRefreshTokenExpiryTime().after(new Date())); + } + + private synchronized Error environmentCheck() { + Log.Helper.LOGFUNC(this); + if (Network.getComponent().getStatus() != Network.Status.OK) { + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE); + } + return new Error(Error.Code.NETWORK_NO_CONNECTION, "Idenitity cannot work without network."); + } + NimbleIdentityConfig configuration = getConfiguration(); + if (configuration != null && configuration.isReady()) { + if (NimbleIdentityImpl.getComponent().getAuthenticationConductor() != null) { + return null; + } + return new Error(Error.Code.NOT_READY, "No authentication conductor has been set yet."); + } + return new Error(Error.Code.NOT_READY, "Identity is still in initialization and not ready for operation."); + } + + /* JADX WARN: Code restructure failed: missing block: B:29:0x0054, code lost: + + r2.m_authenticateCallbacks.add(r3); + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private synchronized void prepare(com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback r3) { + /* + r2 = this; + monitor-enter(r2) + com.ea.nimble.Log.Helper.LOGFUNC(r2) // Catch: java.lang.Throwable -> L64 + com.ea.nimble.Error r0 = r2.environmentCheck() // Catch: java.lang.Throwable -> L64 + if (r0 == 0) goto L11 + if (r3 == 0) goto Lf + r3.onCallback(r2, r0) // Catch: java.lang.Throwable -> L64 + Lf: + monitor-exit(r2) + return + L11: + com.ea.nimble.identity.INimbleIdentityAuthenticator$NimbleIdentityAuthenticationState r0 = r2.m_state // Catch: java.lang.Throwable -> L64 + com.ea.nimble.identity.INimbleIdentityAuthenticator$NimbleIdentityAuthenticationState r1 = com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING // Catch: java.lang.Throwable -> L64 + if (r0 == r1) goto L52 + com.ea.nimble.identity.NimbleIdentityToken r0 = r2.m_token // Catch: java.lang.Throwable -> L64 + if (r0 == 0) goto L52 + com.ea.nimble.identity.NimbleIdentityToken r0 = r2.m_token // Catch: java.lang.Throwable -> L64 + java.util.Date r0 = r0.getRefreshTokenExpiryTime() // Catch: java.lang.Throwable -> L64 + java.util.Date r1 = new java.util.Date // Catch: java.lang.Throwable -> L64 + r1.() // Catch: java.lang.Throwable -> L64 + boolean r0 = r0.before(r1) // Catch: java.lang.Throwable -> L64 + if (r0 == 0) goto L2d + goto L52 + L2d: + com.ea.nimble.identity.NimbleIdentityToken r0 = r2.m_token // Catch: java.lang.Throwable -> L64 + java.util.Date r0 = r0.getAccessTokenExpiryTime() // Catch: java.lang.Throwable -> L64 + java.util.Date r1 = new java.util.Date // Catch: java.lang.Throwable -> L64 + r1.() // Catch: java.lang.Throwable -> L64 + boolean r0 = r0.after(r1) // Catch: java.lang.Throwable -> L64 + if (r0 == 0) goto L46 + if (r3 == 0) goto L44 + r0 = 0 + r3.onCallback(r2, r0) // Catch: java.lang.Throwable -> L64 + L44: + monitor-exit(r2) + return + L46: + if (r3 == 0) goto L4d + java.util.ArrayList r0 = r2.m_authenticateCallbacks // Catch: java.lang.Throwable -> L64 + r0.add(r3) // Catch: java.lang.Throwable -> L64 + L4d: + r2.refreshToken() // Catch: java.lang.Throwable -> L64 + monitor-exit(r2) + return + L52: + if (r3 == 0) goto L59 + java.util.ArrayList r0 = r2.m_authenticateCallbacks // Catch: java.lang.Throwable -> L64 + r0.add(r3) // Catch: java.lang.Throwable -> L64 + L59: + com.ea.nimble.identity.INimbleIdentityAuthenticator$NimbleIdentityAuthenticationState r3 = r2.m_state // Catch: java.lang.Throwable -> L64 + com.ea.nimble.identity.INimbleIdentityAuthenticator$NimbleIdentityAuthenticationState r0 = com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING // Catch: java.lang.Throwable -> L64 + if (r3 == r0) goto L62 + r2.autoLogin() // Catch: java.lang.Throwable -> L64 + L62: + monitor-exit(r2) + return + L64: + r3 = move-exception + monitor-exit(r2) + throw r3 + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.identity.AuthenticatorBase.prepare(com.ea.nimble.identity.INimbleIdentityAuthenticator$NimbleIdentityAuthenticatorCallback):void"); + } + + protected void exchangeAuthCodeToToken(String str) { + Log.Helper.LOGFUNC(this); + NimbleIdentityConfig configuration = getConfiguration(); + exchangeDataForToken(String.format(DATA_TEMPLATE_LOGIN_WITH_OAUTH_CODE, str, configuration.getClientId(), configuration.getClientSecret())); + } + + protected void exchangeDataForToken(String str) { + URL url; + Log.Helper.LOGFUNC(this); + URL url2 = null; + try { + url = new URL(String.format(URL_TEMPLATE_LOGIN, getConfiguration().getConnectServerUrl())); + } catch (IOException unused) { + } + try { + byte[] bytes = str.getBytes(HTTP.UTF_8); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(bytes.length); + byteArrayOutputStream.write(bytes); + HashMap hashMap = new HashMap<>(); + hashMap.put(DATA_CONTENT_TYPE_KEY, "application/x-www-form-urlencoded"); + hashMap.put(REQUEST_HEADER_REFRESH_TOKEN_EXTRA_FLAG, "true"); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.POST; + httpRequest.headers = hashMap; + httpRequest.data = byteArrayOutputStream; + synchronized (this) { + this.m_authenticateRequest = Network.getComponent().sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.12 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + AuthenticatorBase.this.onTokenResponse(networkConnectionHandle); + } + }); + } + } catch (IOException unused2) { + url2 = url; + Log.Helper.LOGFS("Network", "Malformed URL from %s", url2); + } + } + + private synchronized void refreshToken() { + Log.Helper.LOGFUNC(this); + if (this.m_tokenRefreshTimer.isRunning()) { + this.m_tokenRefreshTimer.cancel(); + } + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING); + NimbleIdentityConfig configuration = getConfiguration(); + URL url = null; + String format = String.format(DATA_TEMPLATE_LOGIN_WITH_REFRESH_TOKEN, this.m_token.getRefreshToken(), configuration.getClientId(), configuration.getClientSecret()); + try { + URL url2 = new URL(String.format(URL_TEMPLATE_LOGIN, configuration.getConnectServerUrl())); + try { + byte[] bytes = format.getBytes(HTTP.UTF_8); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(bytes.length); + byteArrayOutputStream.write(bytes); + HashMap hashMap = new HashMap<>(); + hashMap.put(DATA_CONTENT_TYPE_KEY, "application/x-www-form-urlencoded"); + hashMap.put(REQUEST_HEADER_REFRESH_TOKEN_EXTRA_FLAG, "true"); + HttpRequest httpRequest = new HttpRequest(url2); + httpRequest.method = IHttpRequest.Method.POST; + httpRequest.headers = hashMap; + httpRequest.data = byteArrayOutputStream; + httpRequest.runInBackground = true; + this.m_authenticateRequest = Network.getComponent().sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.13 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + if (networkConnectionHandle.getResponse().getError() == null) { + AuthenticatorBase.this.onTokenResponse(networkConnectionHandle); + } else { + AuthenticatorBase.this.autoLogin(); + } + } + }); + } catch (IOException unused) { + url = url2; + Log.Helper.LOGFS("Network", "Malformed URL from %s", url); + } + } catch (IOException unused2) { + } + } + + protected void cancelAuthentication() { + Log.Helper.LOGFUNC(this); + if (this.m_pidInfoRequest != null) { + this.m_pidInfoRequest.cancel(); + this.m_pidInfoRequest = null; + } + if (this.m_personaRequest != null) { + this.m_personaRequest.cancel(); + this.m_personaRequest = null; + } + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING) { + if (this.m_authenticateRequest != null) { + this.m_authenticateRequest.cancel(); + this.m_authenticateRequest = null; + } + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE); + } + } + + protected void closeAuthentication(Error error) { + ArrayList arrayList; + Log.Helper.LOGFUNC(this); + synchronized (this) { + this.m_authenticateRequest = null; + if (error == null) { + Log.Helper.LOGVS(this.TAG, "Authentication succeed!", new Object[0]); + Log.Helper.LOGWS(this.TAG, "\n\n\nAuthentication succeeded for %s\n\n\n", getAuthenticatorId()); + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null) { + ITracking iTracking = (ITracking) component; + HashMap hashMap = new HashMap(); + HashMap hashMap2 = new HashMap(); + HashMap pidMapInternal = NimbleIdentityImpl.getComponent().getPidMapInternal(); + for (String str : pidMapInternal.keySet()) { + if (str != null && !str.equals(getAuthenticatorId())) { + hashMap2.put(str, pidMapInternal.get(str)); + } + } + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGIN, Utility.convertObjectToJSONString(hashMap2)); + HashMap hashMap3 = new HashMap(); + NimbleIdentityPidInfo pidInfo = getPidInfo(); + if (pidInfo != null) { + hashMap3.put(getAuthenticatorId(), Utility.safeString(pidInfo.getPid())); + } else { + hashMap3.put(getAuthenticatorId(), ""); + } + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET, Utility.convertObjectToJSONString(hashMap3)); + iTracking.logEvent(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_LOGIN, hashMap); + } + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS); + if (getConfiguration().getAutoRefresh()) { + double time = this.m_token.getAccessTokenExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time); + this.m_tokenRefreshTimer.schedule((time / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } + NimbleIdentityImpl component2 = NimbleIdentityImpl.getComponent(); + if (component2 != null) { + NimbleIdentityAuthenticationConductorHandler authenticationConductor = component2.getAuthenticationConductor(); + if (authenticationConductor != null) { + authenticationConductor.handleLogin(this, this.m_autoLoginAttempt); + } else { + Log.Helper.LOGWS(this.TAG, "\n\n\n@@@@@@@@@@@@@@@@Attempting to login with no conductor registered!~!!!!!@@@@@@@@@@@@@\n\n\n", new Object[0]); + } + } + } else { + Log.Helper.LOGES(this.TAG, "Authentication closed with error %s.", error); + setState(isPlatformLoggedIn() ? INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE : INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE); + } + arrayList = this.m_authenticateCallbacks; + this.m_authenticateCallbacks = new ArrayList<>(); + } + this.m_autoLoginAttempt = false; + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + it.next().onCallback(this, error); + } + } + + protected void closeUserInfoUpdate(Error error, boolean z) { + ArrayList arrayList; + Log.Helper.LOGFUNC(this); + if (error == null) { + Log.Helper.LOGVS(this.TAG, "Updating user profile succeed!", new Object[0]); + } else { + Log.Helper.LOGES(this.TAG, "Fail to get user profile for error %s", error); + } + synchronized (this) { + if (z) { + try { + if (getConfiguration().getAutoRefresh() && this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + if (error == null && this.m_userInfo.getExpiryTime() != null) { + double time = this.m_userInfo.getExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time); + this.m_userProfileRefreshTimer.schedule((time / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } else { + this.m_userProfileRefreshTimer.schedule(60.0d, false); + } + } + } catch (Throwable th) { + throw th; + } + } + arrayList = this.m_userInfoCallbacks; + this.m_userInfoCallbacks = new ArrayList<>(); + } + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + it.next().onCallback(this, error); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void closePidInfoUpdate(Error error) { + ArrayList arrayList; + Log.Helper.LOGFUNC(this); + if (error == null) { + Log.Helper.LOGVS(this.TAG, "Updating pid information succeed!", new Object[0]); + } else { + Log.Helper.LOGES(this.TAG, "Fail to get pid information from Identity server for error %s", error); + } + synchronized (this) { + this.m_pidInfoRequest = null; + if (getConfiguration().getAutoRefresh() && this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + if (error == null) { + double time = this.m_pidInfo.getExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time); + this.m_pidInfoRefreshTimer.schedule((time / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } else { + this.m_pidInfoRefreshTimer.schedule(60.0d, false); + } + } + arrayList = this.m_pidInfoCallbacks; + this.m_pidInfoCallbacks = new ArrayList<>(); + } + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + it.next().onCallback(this, error); + } + } + + protected void requestIdentityForFriends(String str, ArrayList arrayList, final INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback nimbleIdentityFriendsIdentityInfoCallback) { + Log.Helper.LOGFUNC(this); + if (nimbleIdentityFriendsIdentityInfoCallback == null) { + Log.Helper.LOGES(this.TAG, "requestIdentityForFriends called with no way to notify caller", new Object[0]); + return; + } + HashMap hashMap = new HashMap(); + hashMap.put("pidType", str); + hashMap.put("clientId", getConfiguration().getClientId()); + hashMap.put("values", arrayList); + String convertObjectToJSONString = Utility.convertObjectToJSONString(hashMap); + synchronized (this) { + URL url = null; + try { + try { + URL url2 = new URL(String.format("%s%s", getConfiguration().getProxyServerUrl(), URL_TEMPALTE_GET_IDENTITY_INFO_FOR_FRIENDS)); + try { + byte[] bytes = convertObjectToJSONString.getBytes(HTTP.UTF_8); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(bytes.length); + byteArrayOutputStream.write(bytes); + String format = String.format("%s %s", this.m_token.getType(), this.m_token.getAccessToken()); + HashMap hashMap2 = new HashMap<>(); + hashMap2.put("Authorization", format); + hashMap2.put("Content-Type", "text/plain;charset=UTF-8"); + HttpRequest httpRequest = new HttpRequest(url2); + httpRequest.method = IHttpRequest.Method.POST; + httpRequest.headers = hashMap2; + httpRequest.data = byteArrayOutputStream; + INetwork component = Network.getComponent(); + if (component != null) { + component.sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.14 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + nimbleIdentityFriendsIdentityInfoCallback.onCallback(AuthenticatorBase.this, NimbleIdentityUtility.parseJsonResponse(networkConnectionHandle), null); + } catch (Error e) { + nimbleIdentityFriendsIdentityInfoCallback.onCallback(AuthenticatorBase.this, null, e); + } + } + }); + } else { + Log.Helper.LOGES("Network", "Network Component was null!", new Object[0]); + } + } catch (IOException unused) { + url = url2; + Log.Helper.LOGFS("Network", "Malformed URL from %s", url); + } + } catch (IOException unused2) { + } + } catch (Throwable th) { + throw th; + } + } + } + + protected void updateUserProfile() { + Log.Helper.LOGFUNC(this); + this.m_userInfo.setExpiryTime(null); + closeUserInfoUpdate(null, false); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void updatePidInfo() { + Log.Helper.LOGFUNC(this); + if (this.m_pidInfoRequest != null) { + Log.Helper.LOGVS(this.TAG, "Pid info update in progress, skipping", new Object[0]); + return; + } + Log.Helper.LOGVS(this.TAG, "Updating pid info", new Object[0]); + try { + URL url = new URL(String.format(URL_TEMPLATE_GET_PID_INFO, getConfiguration().getProxyServerUrl())); + String format = String.format("%s %s", this.m_token.getType(), this.m_token.getAccessToken()); + HashMap hashMap = new HashMap<>(); + hashMap.put("Authorization", format); + hashMap.put(REQUEST_HEADER_PID_INFO_EXTRA_FLAG, "true"); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.GET; + httpRequest.headers = hashMap; + this.m_pidInfoRequest = Network.getComponent().sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.15 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + NimbleIdentityUserInfo m4clone; + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + Date date = new Date(System.currentTimeMillis() + ((long) (AuthenticatorBase.this.getConfiguration().getExpiryInterval() * 1000.0d))); + NimbleIdentityPidInfo nimbleIdentityPidInfo = new NimbleIdentityPidInfo(parseBodyJSONData, date); + if (Utility.validString(nimbleIdentityPidInfo.getPid())) { + if (nimbleIdentityPidInfo.equals(AuthenticatorBase.this.m_pidInfo)) { + Log.Helper.LOGVS(AuthenticatorBase.this.TAG, "Update pid info succesfully, but nothing change.", new Object[0]); + AuthenticatorBase.this.m_pidInfo.setExpiryTime(date); + AuthenticatorBase.this.closePidInfoUpdate(null); + return; + } + Log.Helper.LOGVS(AuthenticatorBase.this.TAG, "Update pid info successfully with new data.", new Object[0]); + if (AuthenticatorBase.this.m_userInfo == null) { + m4clone = new NimbleIdentityUserInfo(); + } else { + m4clone = AuthenticatorBase.this.m_userInfo.m4clone(); + } + m4clone.setPid(nimbleIdentityPidInfo.getPid()); + if (Utility.validString(nimbleIdentityPidInfo.getDob())) { + m4clone.setDateOfBirth(nimbleIdentityPidInfo.getDob()); + } + synchronized (AuthenticatorBase.this) { + AuthenticatorBase.this.m_pidInfo = nimbleIdentityPidInfo; + AuthenticatorBase.this.m_userInfo = m4clone; + } + AuthenticatorBase.this.closePidInfoUpdate(null); + HashMap hashMap2 = new HashMap(); + hashMap2.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, AuthenticatorBase.this.getAuthenticatorId()); + hashMap2.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_PIDMAP_ID, NimbleIdentityImpl.getComponent().getPidMapInternal()); + Utility.sendBroadcastSerializable(Global.NIMBLE_NOTIFICATION_IDENTITY_USER_INFO_UPDATE, hashMap2); + Utility.sendBroadcastSerializable(Global.NIMBLE_NOTIFICATION_IDENTITY_PID_INFO_UPDATE, hashMap2); + return; + } + AuthenticatorBase.this.closePidInfoUpdate(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Fail to parse valid pid information from server response data " + parseBodyJSONData)); + } catch (Error e) { + AuthenticatorBase.this.closePidInfoUpdate(e); + } + } + }); + } catch (MalformedURLException unused) { + Log.Helper.LOGFS("Network", "Malformed URL from %s", null); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void closePersonaUpdate(Error error) { + ArrayList arrayList; + double expiryInterval; + Log.Helper.LOGFUNC(this); + if (error == null) { + Log.Helper.LOGVS(this.TAG, "Updating persona information succeed!", new Object[0]); + } else { + Log.Helper.LOGES(this.TAG, "Fail to get persona from Identity server for error %s", error); + } + synchronized (this) { + this.m_personaRequest = null; + NimbleIdentityConfig configuration = getConfiguration(); + if (configuration.getAutoRefresh() && this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + if (this.m_personas != null && this.m_personas.size() > 0) { + double time = this.m_personas.get(0).getExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time); + expiryInterval = (time / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER; + if (expiryInterval <= 0.0d) { + expiryInterval = 60.0d; + } + } else { + expiryInterval = configuration.getExpiryInterval(); + } + this.m_personaRefreshTimer.schedule(expiryInterval, false); + } + arrayList = this.m_personaCallbacks; + this.m_personaCallbacks = new ArrayList<>(); + } + Iterator it = arrayList.iterator(); + while (it.hasNext()) { + it.next().onCallback(this, error); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void updatePersonas() { + Log.Helper.LOGFUNC(this); + if (this.m_personaRequest != null) { + Log.Helper.LOGVS(this.TAG, "Persona update in progress, skipping", new Object[0]); + return; + } + Log.Helper.LOGVS(this.TAG, "Updating persona info", new Object[0]); + try { + URL url = new URL(String.format(URL_TEMPLATE_GET_PERSONA_INFO, getConfiguration().getProxyServerUrl())); + String format = String.format("%s %s", this.m_token.getType(), this.m_token.getAccessToken()); + HashMap hashMap = new HashMap<>(); + hashMap.put("Authorization", format); + hashMap.put(REQUEST_HEADER_PERSONA_INFO_EXTRA_FLAG, "true"); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.GET; + httpRequest.headers = hashMap; + this.m_personaRequest = Network.getComponent().sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.16 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + Map map = (Map) parseBodyJSONData.get("personas"); + if (map == null) { + AuthenticatorBase.this.closePersonaUpdate(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Fail to parse persona information from server response data " + parseBodyJSONData)); + return; + } + List list = (List) map.get("persona"); + if (list == null) { + AuthenticatorBase.this.closePersonaUpdate(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Fail to parse persona information from server response data " + parseBodyJSONData)); + return; + } + ArrayList arrayList = new ArrayList(); + Date date = new Date(System.currentTimeMillis() + ((long) (AuthenticatorBase.this.getConfiguration().getExpiryInterval() * 1000.0d))); + Iterator it = list.iterator(); + while (it.hasNext()) { + arrayList.add(new NimbleIdentityPersona((Map) it.next(), date)); + } + Log.Helper.LOGVS(AuthenticatorBase.this.TAG, "Update personas successfully with new data", new Object[0]); + synchronized (this) { + AuthenticatorBase.this.m_personas = arrayList; + } + AuthenticatorBase.this.closePersonaUpdate(null); + HashMap hashMap2 = new HashMap(); + hashMap2.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, AuthenticatorBase.this.getAuthenticatorId()); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_IDENTITY_PERSONA_INFO_UPDATE, hashMap2); + } catch (Error e) { + AuthenticatorBase.this.closePersonaUpdate(e); + } + } + }); + } catch (MalformedURLException unused) { + Log.Helper.LOGFS("Network", "Malformed URL from %s", null); + } + } + + synchronized void enableAutoRefresh(boolean z) { + Log.Helper.LOGFUNC(this); + if (z) { + if (this.m_state != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + return; + } + if (!this.m_tokenRefreshTimer.isRunning() && this.m_authenticateRequest == null && this.m_token != null) { + double time = this.m_token.getAccessTokenExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time); + this.m_tokenRefreshTimer.schedule((time / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } + if (!this.m_userProfileRefreshTimer.isRunning() && this.m_userInfo != null && this.m_userInfo.getExpiryTime() != null) { + double time2 = this.m_userInfo.getExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time2); + this.m_userProfileRefreshTimer.schedule((time2 / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } + if (!this.m_pidInfoRefreshTimer.isRunning() && this.m_pidInfoRequest == null && this.m_pidInfo != null) { + double time3 = this.m_pidInfo.getExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time3); + this.m_pidInfoRefreshTimer.schedule((time3 / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } + if (!this.m_personaRefreshTimer.isRunning() && this.m_personaRequest == null && this.m_personas != null && this.m_personas.size() > 0) { + double time4 = this.m_personas.get(0).getExpiryTime().getTime() - System.currentTimeMillis(); + Double.isNaN(time4); + this.m_personaRefreshTimer.schedule((time4 / 1000.0d) - EXPIRY_MARGIN_FOR_TIMER, false); + } + } else { + if (this.m_tokenRefreshTimer.isRunning()) { + this.m_tokenRefreshTimer.cancel(); + } + if (this.m_pidInfoRefreshTimer.isRunning()) { + this.m_pidInfoRefreshTimer.cancel(); + } + if (this.m_personaRefreshTimer.isRunning()) { + this.m_personaRefreshTimer.cancel(); + } + } + } + + protected synchronized void cleanAtLogout(final INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + boolean z = true; + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + try { + NimbleIdentityConfig configuration = getConfiguration(); + HttpRequest httpRequest = new HttpRequest(new URL(String.format(URL_TEMPLATE_LOGOUT, configuration.getConnectServerUrl(), configuration.getClientId(), this.m_token.getAccessToken()))); + httpRequest.method = IHttpRequest.Method.GET; + Network.getComponent().sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.17 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + networkConnectionHandle.getResponse().getError(); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(AuthenticatorBase.this, null); + } + } + }); + if (this.m_tokenRefreshTimer.isRunning()) { + this.m_tokenRefreshTimer.cancel(); + } + if (this.m_pidInfoRefreshTimer.isRunning()) { + this.m_pidInfoRefreshTimer.cancel(); + } + if (this.m_personaRefreshTimer.isRunning()) { + this.m_personaRefreshTimer.cancel(); + } + this.m_token = null; + saveToken(); + String pid = this.m_pidInfo != null ? this.m_pidInfo.getPid() : null; + boolean z2 = this.m_pidInfo != null; + this.m_pidInfo = null; + if (this.m_personas == null) { + z = false; + } + this.m_personas = null; + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE); + Log.Helper.LOGDS(this.TAG, "Logout of authenticator " + getAuthenticatorId(), new Object[0]); + if (z2) { + HashMap hashMap = new HashMap(); + hashMap.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, getAuthenticatorId()); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_IDENTITY_PID_INFO_UPDATE, hashMap); + } + if (z) { + HashMap hashMap2 = new HashMap(); + hashMap2.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, getAuthenticatorId()); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_IDENTITY_PERSONA_INFO_UPDATE, hashMap2); + } + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null && pid != null) { + HashMap hashMap3 = new HashMap(); + hashMap3.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGOUT, NimbleIdentityImpl.getComponent().getPidMapInternal().toString()); + HashMap hashMap4 = new HashMap(); + hashMap4.put(getAuthenticatorId(), pid); + hashMap3.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE, Utility.convertObjectToJSONString(hashMap4)); + ((ITracking) component).logEvent(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_LOGOUT, hashMap3); + } + NimbleIdentityAuthenticationConductorHandler authenticationConductor = NimbleIdentityImpl.getComponent().getAuthenticationConductor(); + if (authenticationConductor != null) { + authenticationConductor.handleLogout(this); + } + } catch (MalformedURLException unused) { + Log.Helper.LOGFS("Network", "Malformed URL from %s", null); + } + } else if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE); + Log.Helper.LOGWS(this.TAG, "Logout of authenticator %s while state was going. Premature interruption. Check for failure.", getAuthenticatorId()); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, null); + } + NimbleIdentityAuthenticationConductorHandler authenticationConductor2 = NimbleIdentityImpl.getComponent().getAuthenticationConductor(); + if (authenticationConductor2 != null) { + authenticationConductor2.handleLogout(this); + } + } else { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onNetworkChange() { + Log.Helper.LOGFUNC(this); + INetwork component = Network.getComponent(); + if (component != null && component.getStatus() == Network.Status.OK) { + Log.Helper.LOGDS(this.TAG, "Identity resumes after network recovered.", new Object[0]); + resume(); + return; + } + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING) { + cancelAuthentication(); + } + if (this.m_state != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onConfigurationChange() { + Log.Helper.LOGVS(this.TAG, "Identity resumes after configuration changed.", new Object[0]); + resume(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onTokenResponse(NetworkConnectionHandle networkConnectionHandle) { + Log.Helper.LOGFUNC(this); + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + NimbleIdentityToken nimbleIdentityToken = new NimbleIdentityToken(parseBodyJSONData); + if (!Utility.validString(nimbleIdentityToken.getAccessToken()) || !Utility.validString(nimbleIdentityToken.getRefreshToken())) { + closeAuthentication(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Fail to parse token from server response data " + parseBodyJSONData)); + return; + } + synchronized (this) { + this.m_pidInfoCallbacks.add(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.AuthenticatorBase.18 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + AuthenticatorBase.this.closeAuthentication(error); + } + }); + this.m_token = nimbleIdentityToken; + saveToken(); + updateUserProfile(); + updatePidInfo(); + updatePersonas(); + } + } catch (Error e) { + closeAuthentication(e); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onTokenRefreshTimer() { + Log.Helper.LOGFUNC(this); + synchronized (this) { + this.m_tokenRefreshTimer.cancel(); + } + refreshToken(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onUserProfileRefreshTimer() { + Log.Helper.LOGFUNC(this); + refreshUserProfile(null); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onPidInfoRefreshTimer() { + Log.Helper.LOGFUNC(this); + refreshPidInfo(null); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onPersonaRefreshTimer() { + Log.Helper.LOGFUNC(this); + refreshPersonas(null); + } + + private void saveToken() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + return; + } + Log.Helper.LOGVS(this.TAG, "Saving token: " + this.m_token, new Object[0]); + persistenceForNimbleComponent.setValue("token", this.m_token); + } + + private void loadToken() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + this.m_token = null; + return; + } + this.m_token = (NimbleIdentityToken) persistenceForNimbleComponent.getValue("token"); + Log.Helper.LOGVS(this.TAG, "Loading token: " + this.m_token, new Object[0]); + } + + private void savePidInfo() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null || this.m_pidInfo == null) { + return; + } + persistenceForNimbleComponent.setValue("pidInfo", this.m_pidInfo); + persistenceForNimbleComponent.synchronize(); + Log.Helper.LOGDS(this.TAG, "Saved current pidInfo (pid = %s) for %s authenticator to persistence.", this.m_pidInfo.getPid(), getAuthenticatorId()); + } + + private void loadPidInfo() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + this.m_pidInfo = (NimbleIdentityPidInfo) persistenceForNimbleComponent.getValue("pidInfo"); + if (this.m_pidInfo != null) { + Log.Helper.LOGDS(this.TAG, "Restored existing pidInfo (pid = %s) for %s authenticator from persistence.", this.m_pidInfo.getPid(), getAuthenticatorId()); + HashMap hashMap = new HashMap(); + hashMap.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, getAuthenticatorId()); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_IDENTITY_PID_INFO_UPDATE, hashMap); + return; + } + Log.Helper.LOGDS(this.TAG, "The previous Exception in Persistence while getting NimbleIdentityPidInfo can be safely ignored. A cached value for pidInfo does not exist or was stored in an older format. This value will instead be retrieved from the server.", new Object[0]); + } + } + + private void saveState() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + boolean z = this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING || this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE || this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS; + persistenceForNimbleComponent.setValue("loggedIn", Boolean.valueOf(z)); + persistenceForNimbleComponent.synchronize(); + Log.Helper.LOGDS(this.TAG, "Saved loggedIn value to persistence as %s for state %s", Boolean.valueOf(z), this.m_state); + } + } + + private void loadState() { + Boolean bool; + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null && (bool = (Boolean) persistenceForNimbleComponent.getValue("loggedIn")) != null && bool.booleanValue()) { + this.m_state = INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE; + Log.Helper.LOGVS(this.TAG, "Loaded state: OFFLINE", new Object[0]); + } else { + this.m_state = INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_NONE; + Log.Helper.LOGVS(this.TAG, "Loaded state: NONE", new Object[0]); + } + } + + protected void completeMigration() { + Log.Helper.LOGDS(this.TAG, "AuthenticatorBase complete migration called - has no implementation", new Object[0]); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/AuthenticatorFacebook.java b/app/src/main/java/com/ea/nimble/identity/AuthenticatorFacebook.java new file mode 100644 index 0000000..4251598 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/AuthenticatorFacebook.java @@ -0,0 +1,293 @@ +package com.ea.nimble.identity; + +import android.support.v4.app.NotificationCompat; +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.IFacebook; +import com.ea.nimble.INetwork; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.Utility; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityError; +import com.ea.nimble.identity.NimbleIdentityLoginParams; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +class AuthenticatorFacebook extends AuthenticatorBase { + private static final String PID_TYPE = "mobile_facebook"; + private static final String URL_TEMPLATE_FACEBOOK_IMAGE_URL = "https://graph.facebook.com/%s/picture?type=normal"; + private static final String URL_TEMPLATE_FACEBOOK_LOGIN = "%s/connect/auth?mobile_login_type=mobile_game_facebook&client_id=%s&response_type=code&fb_token=%s&redirect_uri=nucleus:rest"; + private String m_overrideBirthday; + + private static void initialize() { + Log.Helper.LOGFUNCS("AuthenticatorFacebook"); + AuthenticatorFacebook authenticatorFacebook = new AuthenticatorFacebook(); + Base.registerComponent(authenticatorFacebook, authenticatorFacebook.getComponentId()); + } + + private AuthenticatorFacebook() { + this.TAG = "AuthenticatorFacebook"; + } + + @Override // com.ea.nimble.Component + protected void setup() { + Log.Helper.LOGFUNC(this); + this.m_overrideBirthday = null; + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + public void restoreAuthenticator(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (Base.getComponent("com.ea.nimble.facebook") == null) { + Log.Helper.LOGIS(this.TAG, "FacebookAuthenticator is disabled since there is no NimbleFacebook component", new Object[0]); + Log.Helper.LOGIS(this.TAG, "To enable FacebookAuthenticator, please ensure the NimbleFacebook jar is correctly linked", new Object[0]); + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_UNAVAILABLE); + } + super.restoreAuthenticator(nimbleIdentityAuthenticatorCallback); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public String getAuthenticatorId() { + Log.Helper.LOGPUBLICFUNC(this); + return Global.NIMBLE_AUTHENTICATOR_FACEBOOK; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void login(NimbleIdentityLoginParams nimbleIdentityLoginParams, INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGIS(this.TAG, "Facebook Authenticator Login", new Object[0]); + Object component = Base.getComponent("com.ea.nimble.facebook"); + if (component == null) { + Log.Helper.LOGIS(this.TAG, "Cannot login with FacebookAuthenticator since it is disabled for no NimbleFacebook component", new Object[0]); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new Error(Error.Code.NOT_AVAILABLE, "Cannot login with FacebookAuthenticator since it is disabled for no NimbleFacebook component")); + return; + } + return; + } + IFacebook iFacebook = (IFacebook) component; + if (nimbleIdentityLoginParams != null) { + if (nimbleIdentityLoginParams instanceof NimbleIdentityLoginParams.FacebookClientLoginParams) { + loginFacebook(iFacebook, ((NimbleIdentityLoginParams.FacebookClientLoginParams) nimbleIdentityLoginParams).getFacebookPermissions(), nimbleIdentityAuthenticatorCallback); + return; + } + if (!(nimbleIdentityLoginParams instanceof NimbleIdentityLoginParams.FacebookAccessTokenLoginParams)) { + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_INVALID_LOGINPARAMS, "Unrecognized login parameters")); + return; + } + return; + } + NimbleIdentityLoginParams.FacebookAccessTokenLoginParams facebookAccessTokenLoginParams = (NimbleIdentityLoginParams.FacebookAccessTokenLoginParams) nimbleIdentityLoginParams; + if (!Utility.validString(facebookAccessTokenLoginParams.getFacebookAccessToken())) { + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new Error(Error.Code.INVALID_ARGUMENT, "Invalid Facebook access token for Facebook token")); + return; + } + return; + } else { + synchronized (this) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING); + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_authenticateCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + iFacebook.refreshToken(); + exchangeFacebookAccessTokenForAuthCode(facebookAccessTokenLoginParams.getFacebookAccessToken()); + } + return; + } + } + loginFacebook(iFacebook, null, nimbleIdentityAuthenticatorCallback); + } + + private void loginFacebook(IFacebook iFacebook, List list, INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + synchronized (this) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING); + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_authenticateCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + } + iFacebook.login(list, new IFacebook.RequestCallback() { // from class: com.ea.nimble.identity.AuthenticatorFacebook.1 + @Override // com.ea.nimble.IFacebook.RequestCallback + public void callback(String str, Error error) { + Log.Helper.LOGPUBLICFUNC(this); + IFacebook iFacebook2 = (IFacebook) Base.getComponent("com.ea.nimble.facebook"); + if (iFacebook2 != null) { + if (error == null) { + if (!Utility.validString(iFacebook2.getAccessToken())) { + AuthenticatorFacebook.this.closeAuthentication(new Error(Error.Code.SYSTEM_UNEXPECTED, "Facebook SDK gives login success without a valid Facebook token")); + return; + } else { + synchronized (this) { + AuthenticatorFacebook.this.exchangeFacebookAccessTokenForAuthCode(iFacebook2.getAccessToken()); + } + return; + } + } + AuthenticatorFacebook.this.closeAuthentication(error.getCode() == Error.Code.NETWORK_OPERATION_CANCELLED.intValue() ? new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_USER_CANCELLED, "Facebook login is cancelled by user", error) : error); + } + } + }); + } + + /* JADX INFO: Access modifiers changed from: private */ + public synchronized void exchangeFacebookAccessTokenForAuthCode(String str) { + Log.Helper.LOGFUNC(this); + try { + NimbleIdentityConfig configuration = getConfiguration(); + URL url = new URL(String.format(URL_TEMPLATE_FACEBOOK_LOGIN, configuration.getConnectServerUrl(), configuration.getClientId(), str)); + INetwork component = Network.getComponent(); + if (component != null) { + this.m_authenticateRequest = component.sendGetRequest(url, new HashMap<>(), new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.AuthenticatorFacebook.2 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + String str2 = (String) parseBodyJSONData.get("code"); + if (!Utility.validString(str2)) { + AuthenticatorFacebook.this.closeAuthentication(new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Cannot read login OAuth code data from server response data " + parseBodyJSONData)); + return; + } + AuthenticatorFacebook.this.exchangeAuthCodeToToken(str2); + } catch (Error e) { + AuthenticatorFacebook.this.closeAuthentication(e); + } + } + }); + } else { + Log.Helper.LOGES("Network", "Network Component was null!", new Object[0]); + } + } catch (MalformedURLException unused) { + Log.Helper.LOGFS("Network", "Malformed URL from %s", null); + } + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void logout(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGIS(this.TAG, "Facebook Authenticator is logging out", new Object[0]); + Object component = Base.getComponent("com.ea.nimble.facebook"); + if (component == null) { + Log.Helper.LOGIS(this.TAG, "Cannot logout with FacebookAuthenticator since it is disabled for no NimbleFacebook component", new Object[0]); + NimbleIdentityError nimbleIdentityError = new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_INVALID_REQUEST, "Cannot logout with FacebookAuthenticator since it is disabled for no NimbleFacebook component"); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, nimbleIdentityError); + return; + } + return; + } + cancelAuthentication(); + ((IFacebook) component).logout(); + cleanAtLogout(nimbleIdentityAuthenticatorCallback); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + void autoLogin() { + Log.Helper.LOGIS(this.TAG, "Facebook Authenticator AutoLogin", new Object[0]); + this.m_autoLoginAttempt = true; + Object component = Base.getComponent("com.ea.nimble.facebook"); + if (component == null) { + closeAuthentication(new Error(Error.Code.SYSTEM_UNEXPECTED, "Cannot auto login with FacebookAuthenticator since it is disabled for no NimbleFacebook component")); + return; + } + IFacebook iFacebook = (IFacebook) component; + if (Utility.validString(iFacebook.getAccessToken())) { + synchronized (this) { + this.m_state = INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING; + exchangeFacebookAccessTokenForAuthCode(iFacebook.getAccessToken()); + } + return; + } + closeAuthentication(new Error(Error.Code.SYSTEM_UNEXPECTED, "Cannot auto login with FacebookAuthenticator since Facebook SDK doesn't have any session existing")); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase, com.ea.nimble.identity.INimbleIdentityAuthenticator + public void requestIdentityForFriends(ArrayList arrayList, INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback nimbleIdentityFriendsIdentityInfoCallback) throws Exception { + Log.Helper.LOGPUBLICFUNC(this); + requestIdentityForFriends(PID_TYPE, arrayList, nimbleIdentityFriendsIdentityInfoCallback); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + protected boolean isPlatformLoggedIn() { + Log.Helper.LOGFUNC(this); + Object component = Base.getComponent("com.ea.nimble.facebook"); + if (component == null) { + return false; + } + return Utility.validString(((IFacebook) component).getAccessToken()); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + protected void updateUserProfile() { + NimbleIdentityUserInfo m4clone; + Log.Helper.LOGFUNC(this); + Object component = Base.getComponent("com.ea.nimble.facebook"); + if (component == null) { + closeUserInfoUpdate(new Error(Error.Code.NOT_AVAILABLE, "Cannot auto login with FacebookAuthenticator since it is disabled for no NimbleFacebook component"), true); + return; + } + Map graphUser = ((IFacebook) component).getGraphUser(); + if (this.m_userInfo == null) { + m4clone = new NimbleIdentityUserInfo(); + } else { + m4clone = this.m_userInfo.m4clone(); + } + if (graphUser != null) { + m4clone.setUserId((String) graphUser.get("id")); + m4clone.setDisplayName((String) graphUser.get("name")); + m4clone.setUserName((String) graphUser.get("username")); + m4clone.setAvatarUri(String.format(URL_TEMPLATE_FACEBOOK_IMAGE_URL, m4clone.getUserId())); + String str = (String) graphUser.get("birthday"); + if (Utility.validString(str) && (!Utility.validString(m4clone.getDateOfBirth()) || m4clone.getDateOfBirth().equals(this.m_overrideBirthday))) { + this.m_overrideBirthday = str; + m4clone.setDateOfBirth(str); + } + m4clone.setEmail((String) graphUser.get(NotificationCompat.CATEGORY_EMAIL)); + m4clone.setExpiryTime(new Date(System.currentTimeMillis() + ((long) (getConfiguration().getExpiryInterval() * 1000.0d)))); + synchronized (this) { + this.m_userInfo = m4clone; + } + closeUserInfoUpdate(null, true); + HashMap hashMap = new HashMap(); + hashMap.put(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_AUTHENTICATOR_ID, getAuthenticatorId()); + Utility.sendBroadcast(Global.NIMBLE_NOTIFICATION_IDENTITY_USER_INFO_UPDATE, hashMap); + } + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + protected void cancelAuthentication() { + Log.Helper.LOGFUNC(this); + if (this.m_state == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING && this.m_authenticateRequest == null) { + super.cancelAuthentication(); + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING); + } else { + super.cancelAuthentication(); + } + } + + @Override // com.ea.nimble.identity.AuthenticatorBase, com.ea.nimble.identity.INimbleIdentityAuthenticator + public void verifyAccessToken() { + Log.Helper.LOGPUBLICFUNC(this); + Object component = Base.getComponent("com.ea.nimble.facebook"); + if (component == null) { + return; + } + if (((IFacebook) component).hasOpenSession()) { + onVerifiedAccessToken(); + } else { + closeAuthentication(new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_SESSION_EXPIRED, "Facebook Access token no longer has permissions")); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/AuthenticatorOrigin.java b/app/src/main/java/com/ea/nimble/identity/AuthenticatorOrigin.java new file mode 100644 index 0000000..9bc5117 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/AuthenticatorOrigin.java @@ -0,0 +1,102 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Base; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.Utility; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityError; +import com.ea.nimble.identity.NimbleIdentityLoginParams; +import java.util.ArrayList; + +/* loaded from: classes.dex */ +class AuthenticatorOrigin extends AuthenticatorBase { + private static final String DATA_TEMPLATE_LOGIN_WITH_ORIGIN_PASSWORD = "grant_type=password&client_id=%s&client_secret=%s&username=%s&password=%s&redirect_uri=nucleus:rest"; + private static final String PID_TYPE = "mobile_origin"; + + private static void initialize() { + Log.Helper.LOGFUNCS("AuthenticatorOrigin"); + AuthenticatorOrigin authenticatorOrigin = new AuthenticatorOrigin(); + Base.registerComponent(authenticatorOrigin, authenticatorOrigin.getComponentId()); + } + + private AuthenticatorOrigin() { + this.TAG = "AuthenticatorOrigin"; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public String getAuthenticatorId() { + Log.Helper.LOGPUBLICFUNC(this); + return Global.NIMBLE_AUTHENTICATOR_ORIGIN; + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void login(NimbleIdentityLoginParams nimbleIdentityLoginParams, INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + if (nimbleIdentityLoginParams instanceof NimbleIdentityLoginParams.OriginCredentialsLoginParams) { + NimbleIdentityLoginParams.OriginCredentialsLoginParams originCredentialsLoginParams = (NimbleIdentityLoginParams.OriginCredentialsLoginParams) nimbleIdentityLoginParams; + if (!Utility.validString(originCredentialsLoginParams.getUsername()) || !Utility.validString(originCredentialsLoginParams.getPassword())) { + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new Error(Error.Code.INVALID_ARGUMENT, "Invalid username/password for Origin login")); + return; + } + return; + } else { + synchronized (this) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING); + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_authenticateCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + loginOrigin(originCredentialsLoginParams.getUsername(), originCredentialsLoginParams.getPassword(), nimbleIdentityAuthenticatorCallback); + } + return; + } + } + if (!(nimbleIdentityLoginParams instanceof NimbleIdentityLoginParams.OriginOAuthCodeLoginParams)) { + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_INVALID_LOGINPARAMS, "Unrecognized login parameters")); + return; + } + return; + } + NimbleIdentityLoginParams.OriginOAuthCodeLoginParams originOAuthCodeLoginParams = (NimbleIdentityLoginParams.OriginOAuthCodeLoginParams) nimbleIdentityLoginParams; + if (!Utility.validString(originOAuthCodeLoginParams.getOauthCode())) { + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(this, new Error(Error.Code.INVALID_ARGUMENT, "Invalid auth code for Origin login")); + } + } else { + synchronized (this) { + setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING); + if (nimbleIdentityAuthenticatorCallback != null) { + this.m_authenticateCallbacks.add(nimbleIdentityAuthenticatorCallback); + } + exchangeAuthCodeToToken(originOAuthCodeLoginParams.getOauthCode()); + } + } + } + + private void loginOrigin(String str, String str2, INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGFUNC(this); + NimbleIdentityConfig configuration = getConfiguration(); + exchangeDataForToken(String.format(DATA_TEMPLATE_LOGIN_WITH_ORIGIN_PASSWORD, configuration.getClientId(), configuration.getClientSecret(), str, str2)); + } + + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator + public void logout(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + cancelAuthentication(); + cleanAtLogout(nimbleIdentityAuthenticatorCallback); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase + void autoLogin() { + closeAuthentication(new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_SESSION_EXPIRED, "Cannot auto login for origin after session expired")); + } + + @Override // com.ea.nimble.identity.AuthenticatorBase, com.ea.nimble.identity.INimbleIdentityAuthenticator + public void requestIdentityForFriends(ArrayList arrayList, INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback nimbleIdentityFriendsIdentityInfoCallback) { + Log.Helper.LOGPUBLICFUNC(this); + requestIdentityForFriends(PID_TYPE, arrayList, nimbleIdentityFriendsIdentityInfoCallback); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentity.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentity.java new file mode 100644 index 0000000..3684375 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentity.java @@ -0,0 +1,38 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +public interface INimbleIdentity { + public static final String EXTRA_NIMBLE_IDENTITY_AUTOREFRESH_VALUE = "nimble.identity.extra.autorefresh.value"; + public static final String MIGRATION_PERSISTENCE_ID = "nimble.notification.identity.migraiton"; + public static final String NIMBLE_COMPONENT_ID_IDENTITY = "com.ea.nimble.identity"; + public static final String NIMBLE_NOTIFICATION_IDENTITY_UPDATE = "nimble.notification.identity.update"; + public static final String NOTIFICATION_NIMBLE_IDENTITY_AUTOREFRESH_CHANGE = "nimble.identity.notification.autorefresh_changed"; + + public enum NimbleIdentityState { + NIMBLE_IDENTITY_READY, + NIMBLE_IDENTITY_AUTHENTICATING, + NIMBLE_IDENTITY_UNAVAILABLE + } + + INimbleIdentityAuthenticator getAuthenticatorById(String str); + + List getAuthenticators(); + + boolean getAutoRefreshFlag(); + + List getLoggedInAuthenticators(); + + Map getPidMap(); + + NimbleIdentityState getState(); + + void requestServerAuthCodeForLegacyOriginToken(String str, String str2, String str3, INimbleIdentityAuthenticator.NimbleIdentityServerAuthCodeCallback nimbleIdentityServerAuthCodeCallback); + + void setAuthenticationConductor(INimbleIdentityAuthenticationConductor iNimbleIdentityAuthenticationConductor); + + void setAutoRefreshFlag(boolean z); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticationConductor.java new file mode 100644 index 0000000..5b9223e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticationConductor.java @@ -0,0 +1,5 @@ +package com.ea.nimble.identity; + +/* loaded from: classes.dex */ +public interface INimbleIdentityAuthenticationConductor { +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticator.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticator.java new file mode 100644 index 0000000..fbde5fd --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityAuthenticator.java @@ -0,0 +1,67 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Error; +import java.util.ArrayList; +import java.util.List; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public interface INimbleIdentityAuthenticator { + public static final String AUTHENTICATOR_COMPONENT_PREFIX = "com.ea.nimble.identity.authenticator."; + + public interface NimbleAuthenticatorAccessTokenCallback { + void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, Error error); + } + + public enum NimbleIdentityAuthenticationState { + NIMBLE_IDENTITY_AUTHENTICATION_UNAVAILABLE, + NIMBLE_IDENTITY_AUTHENTICATION_NONE, + NIMBLE_IDENTITY_AUTHENTICATION_GOING, + NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS, + NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE + } + + public interface NimbleIdentityAuthenticatorCallback { + void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error); + } + + public interface NimbleIdentityFriendsIdentityInfoCallback { + void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, JSONObject jSONObject, Error error); + } + + public interface NimbleIdentityServerAuthCodeCallback { + void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, String str3, Error error); + } + + String getAuthenticatorId(); + + NimbleIdentityPersona getPersonaByNamespace(String str, long j); + + NimbleIdentityPersona getPersonaByNamespace(String str, String str2); + + List getPersonas(); + + NimbleIdentityPidInfo getPidInfo(); + + NimbleIdentityAuthenticationState getState(); + + NimbleIdentityUserInfo getUserInfo(); + + void login(NimbleIdentityLoginParams nimbleIdentityLoginParams, NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); + + void logout(NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); + + void refreshPersonas(NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); + + void refreshPidInfo(NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); + + void refreshUserInfo(NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); + + void requestAccessToken(NimbleAuthenticatorAccessTokenCallback nimbleAuthenticatorAccessTokenCallback); + + void requestAuthCode(String str, String str2, NimbleIdentityServerAuthCodeCallback nimbleIdentityServerAuthCodeCallback); + + void requestIdentityForFriends(ArrayList arrayList, NimbleIdentityFriendsIdentityInfoCallback nimbleIdentityFriendsIdentityInfoCallback) throws Exception; + + void verifyAccessToken(); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericAuthenticationConductor.java new file mode 100644 index 0000000..d6fe53a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericAuthenticationConductor.java @@ -0,0 +1,8 @@ +package com.ea.nimble.identity; + +/* loaded from: classes.dex */ +public interface INimbleIdentityGenericAuthenticationConductor extends INimbleIdentityAuthenticationConductor { + void handleLogin(INimbleIdentityGenericLoginResolver iNimbleIdentityGenericLoginResolver); + + void handleLogout(INimbleIdentityGenericLogoutResolver iNimbleIdentityGenericLogoutResolver); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLoginResolver.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLoginResolver.java new file mode 100644 index 0000000..0b4b81d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLoginResolver.java @@ -0,0 +1,17 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.List; + +/* loaded from: classes.dex */ +public interface INimbleIdentityGenericLoginResolver { + List getLoggedInAuthenticatorIds(); + + String getLoggingInAuthenticatorId(); + + void highlight(); + + void ignore(); + + void switchAuthenticators(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLogoutResolver.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLogoutResolver.java new file mode 100644 index 0000000..2a2b073 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityGenericLogoutResolver.java @@ -0,0 +1,12 @@ +package com.ea.nimble.identity; + +import java.util.List; + +/* loaded from: classes.dex */ +public interface INimbleIdentityGenericLogoutResolver { + String getLoggingOutAuthenticatorId(); + + List getStillLoggedInAuthenticatorIds(); + + void resolve(String str); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationAuthenticationConductor.java new file mode 100644 index 0000000..a7fc903 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationAuthenticationConductor.java @@ -0,0 +1,10 @@ +package com.ea.nimble.identity; + +/* loaded from: classes.dex */ +public interface INimbleIdentityMigrationAuthenticationConductor extends INimbleIdentityAuthenticationConductor { + void handleLogin(INimbleIdentityMigrationLoginResolver iNimbleIdentityMigrationLoginResolver); + + void handleLogout(); + + void handlePendingMigration(INimbleIdentityPendingMigrationResolver iNimbleIdentityPendingMigrationResolver); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLoginResolver.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLoginResolver.java new file mode 100644 index 0000000..952263f --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLoginResolver.java @@ -0,0 +1,17 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.List; + +/* loaded from: classes.dex */ +public interface INimbleIdentityMigrationLoginResolver { + List getLoggedInAuthenticatorIds(); + + String getLoggingInAuthenticatorId(); + + void ignore(); + + void migrate(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); + + void switchAuthenticators(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLogoutResolver.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLogoutResolver.java new file mode 100644 index 0000000..fd0b251 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityMigrationLogoutResolver.java @@ -0,0 +1,12 @@ +package com.ea.nimble.identity; + +import java.util.List; + +/* loaded from: classes.dex */ +public interface INimbleIdentityMigrationLogoutResolver { + String getLoggingOutAuthenticatorId(); + + List getStillLoggedInAuthenticatorIds(); + + void resolve(String str); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityPendingMigrationResolver.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityPendingMigrationResolver.java new file mode 100644 index 0000000..ecde774 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityPendingMigrationResolver.java @@ -0,0 +1,12 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.identity.INimbleIdentityAuthenticator; + +/* loaded from: classes.dex */ +public interface INimbleIdentityPendingMigrationResolver { + String getMigrationSourceAuthenticatorId(); + + String getMigrationTargetAuthenticatorId(); + + void resume(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback); +} diff --git a/app/src/main/java/com/ea/nimble/identity/INimbleIdentityPlainAuthenticationConductor.java b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityPlainAuthenticationConductor.java new file mode 100644 index 0000000..9188317 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/INimbleIdentityPlainAuthenticationConductor.java @@ -0,0 +1,8 @@ +package com.ea.nimble.identity; + +/* loaded from: classes.dex */ +public interface INimbleIdentityPlainAuthenticationConductor extends INimbleIdentityAuthenticationConductor { + void handleLogin(); + + void handleLogout(); +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentity.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentity.java new file mode 100644 index 0000000..0eb6f4a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentity.java @@ -0,0 +1,12 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Base; + +/* loaded from: classes.dex */ +public class NimbleIdentity { + public static final String COMPONENT_ID = "com.ea.nimble.identity"; + + public static INimbleIdentity getComponent() { + return (INimbleIdentity) Base.getComponent("com.ea.nimble.identity"); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityAuthenticationConductorHandler.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityAuthenticationConductorHandler.java new file mode 100644 index 0000000..f14a073 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityAuthenticationConductorHandler.java @@ -0,0 +1,8 @@ +package com.ea.nimble.identity; + +/* loaded from: classes.dex */ +interface NimbleIdentityAuthenticationConductorHandler { + void handleLogin(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, boolean z); + + void handleLogout(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator); +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityConfig.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityConfig.java new file mode 100644 index 0000000..ca3b2b5 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityConfig.java @@ -0,0 +1,141 @@ +package com.ea.nimble.identity; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.NimbleApplicationConfiguration; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.Utility; + +/* loaded from: classes.dex */ +class NimbleIdentityConfig implements LogSource { + private static final double DEFAULT_DATA_EXPIRY_INTERVAL = 3600.0d; + private static final String META_DATA_TAG_CLIENT_ID = "com.ea.nimble.identity.client_id"; + private static final String META_DATA_TAG_CLIENT_SECRET = "com.ea.nimble.identity.client_secret"; + static final String NOTIFICATION_IDENTITY_CONFIGURATION_CHANGE = "nimble.notification.identity.configuration.change"; + private boolean m_autoRefresh; + private String m_clientId; + private String m_clientSecret; + private String m_connectServerUrl; + private String m_portalServerUrl; + private String m_proxyServerUrl; + private boolean m_ready; + private double m_expiryInterval = DEFAULT_DATA_EXPIRY_INTERVAL; + private BroadcastReceiver m_receiver = new BroadcastReceiver() { // from class: com.ea.nimble.identity.NimbleIdentityConfig.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleIdentityConfig.this.onUpdate(); + } + }; + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Identity"; + } + + NimbleIdentityConfig() { + } + + public boolean isReady() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_ready; + } + + public boolean getAutoRefresh() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_autoRefresh; + } + + public void setAutoRefresh(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_autoRefresh = z; + } + + public String getConnectServerUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_connectServerUrl; + } + + public String getProxyServerUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_proxyServerUrl; + } + + public String getPortalServerUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_portalServerUrl; + } + + public String getClientId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_clientId; + } + + public String getClientSecret() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_clientSecret; + } + + public double getExpiryInterval() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_expiryInterval; + } + + void initialize() { + this.m_ready = false; + this.m_autoRefresh = false; + if (SynergyEnvironment.getComponent().isDataAvailable()) { + onUpdate(); + } + Utility.registerReceiver(SynergyEnvironment.NOTIFICATION_STARTUP_ENVIRONMENT_DATA_CHANGED, this.m_receiver); + Log.Helper.LOGV(this, "Configuration initiailized", new Object[0]); + } + + void uninitialize() { + Utility.unregisterReceiver(this.m_receiver); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onUpdate() { + String configValueAsString; + String configValueAsString2; + Log.Helper.LOGFUNC(this); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_IDENTITY_CONNECT); + String serverUrlWithKey2 = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_IDENTITY_PROXY); + String serverUrlWithKey3 = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_IDENTITY_PORTAL); + if (!Utility.validString(serverUrlWithKey) || !Utility.validString(serverUrlWithKey2) || !Utility.validString(serverUrlWithKey3)) { + Log.Helper.LOGE(this, "Synergy environment update without valid server urls", new Object[0]); + return; + } + if (serverUrlWithKey.endsWith("/")) { + serverUrlWithKey = serverUrlWithKey.substring(0, serverUrlWithKey.length() - 1); + } + if (serverUrlWithKey2.endsWith("/")) { + serverUrlWithKey2 = serverUrlWithKey2.substring(0, serverUrlWithKey2.length() - 1); + } + if (serverUrlWithKey3.endsWith("/")) { + serverUrlWithKey3 = serverUrlWithKey3.substring(0, serverUrlWithKey3.length() - 1); + } + String nexusClientId = SynergyEnvironment.getComponent().getNexusClientId(); + if (!Utility.validString(nexusClientId) && (configValueAsString2 = NimbleApplicationConfiguration.getConfigValueAsString(META_DATA_TAG_CLIENT_ID)) != null && configValueAsString2.length() > 0) { + nexusClientId = configValueAsString2; + } + String nexusClientSecret = SynergyEnvironment.getComponent().getNexusClientSecret(); + if (!Utility.validString(nexusClientSecret) && (configValueAsString = NimbleApplicationConfiguration.getConfigValueAsString(META_DATA_TAG_CLIENT_SECRET)) != null && configValueAsString.length() > 0) { + nexusClientSecret = configValueAsString; + } + this.m_ready = true; + if (serverUrlWithKey.equals(this.m_connectServerUrl) && serverUrlWithKey2.equals(this.m_proxyServerUrl) && serverUrlWithKey3.equals(this.m_portalServerUrl) && nexusClientId.equals(this.m_clientId) && nexusClientSecret.equals(this.m_clientSecret)) { + return; + } + this.m_connectServerUrl = serverUrlWithKey; + this.m_proxyServerUrl = serverUrlWithKey2; + this.m_portalServerUrl = serverUrlWithKey3; + this.m_clientId = nexusClientId; + this.m_clientSecret = nexusClientSecret; + Utility.sendBroadcast(NOTIFICATION_IDENTITY_CONFIGURATION_CHANGE); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityError.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityError.java new file mode 100644 index 0000000..0ec98f8 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityError.java @@ -0,0 +1,77 @@ +package com.ea.nimble.identity; + +import android.support.v4.view.PointerIconCompat; +import android.support.v7.widget.ActivityChooserView; +import com.ea.nimble.Error; +import com.facebook.internal.NativeProtocol; +import com.google.android.gms.appstate.AppStateClient; +import java.util.Map; + +/* loaded from: classes.dex */ +public class NimbleIdentityError extends Error { + public static final String NIMBLE_IDENTITY_ERROR_DOMAIN = "NimbleIdentityError"; + private static final long serialVersionUID = 1; + + public enum NimbleIdentityErrorCode { + NIMBLE_IDENTITY_ERROR_USER_CANCELLED(100), + NIMBLE_IDENTITY_ERROR_UNSUPPORTED_ACTION(101), + NIMBLE_IDENTITY_ERROR_UNAUTHENTICATED(1001), + NIMBLE_IDENTITY_ERROR_SESSION_EXPIRED(1002), + NIMBLE_IDENTITY_ERROR_INVALID_LOGINPARAMS(PointerIconCompat.TYPE_HELP), + NIMBLE_IDENTITY_ERROR_REFRESH_USER_INFO_FROM_FIRST_PARTY(1101), + NIMBLE_IDENTITY_ERROR_REFRESH_USER_INFO_FROM_PID_INFO(1102), + NIMBLE_IDENTITY_ERROR_BAD_CLIENT_ID(1500), + NIMBLE_IDENTITY_ERROR_BAD_CLIENT_SECRET(1501), + NIMBLE_IDENTITY_ERROR_INVALID_REQUEST(AppStateClient.STATUS_WRITE_SIZE_EXCEEDED), + NIMBLE_IDENTITY_ERROR_INVALID_OAUTH_INFO(AppStateClient.STATUS_STATE_KEY_NOT_FOUND), + NIMBLE_IDENTITY_ERROR_MIGRATION_SOURCE_INVALID(9101), + NIMBLE_IDENTITY_ERROR_MIGRATION_TARGET_INVALID(9102), + NIMBLE_IDENTITY_ERROR_MIGRATION_NOT_AUTHENTICATED(9103), + NIMBLE_IDENTITY_ERROR_MIGRATION_NO_ACCESS_TOKENS(9104), + NIMBLE_IDENTITY_ERROR_MIGRATION_NO_URL(9105), + NIMBLE_IDENTITY_ERROR_MIGRATION_FAILED(9106), + NIMBLE_IDENTITY_ERROR_UNKNOWN(ActivityChooserView.ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED); + + private int m_value; + + NimbleIdentityErrorCode(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public NimbleIdentityError(NimbleIdentityErrorCode nimbleIdentityErrorCode, String str, Throwable th) { + super(NIMBLE_IDENTITY_ERROR_DOMAIN, nimbleIdentityErrorCode.intValue(), str, th); + } + + public NimbleIdentityError(NimbleIdentityErrorCode nimbleIdentityErrorCode, String str) { + super(NIMBLE_IDENTITY_ERROR_DOMAIN, nimbleIdentityErrorCode.intValue(), str); + } + + public static NimbleIdentityError createWithData(Map map) { + String str = (String) map.get("error"); + NimbleIdentityErrorCode parseErrorCode = parseErrorCode(str); + String str2 = (String) map.get(NativeProtocol.BRIDGE_ARG_ERROR_DESCRIPTION); + if (str2 == null) { + str2 = str; + } + return new NimbleIdentityError(parseErrorCode, str2); + } + + public boolean isError(int i) { + return getCode() == i; + } + + private static NimbleIdentityErrorCode parseErrorCode(String str) { + if (str.equals("invalid_request")) { + return NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_INVALID_REQUEST; + } + if (str.equals("invalid_oauth_info")) { + return NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_INVALID_OAUTH_INFO; + } + return NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_UNKNOWN; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericAuthenticationConductorHandler.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericAuthenticationConductorHandler.java new file mode 100644 index 0000000..d0d2e2e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericAuthenticationConductorHandler.java @@ -0,0 +1,24 @@ +package com.ea.nimble.identity; + +/* loaded from: classes.dex */ +class NimbleIdentityGenericAuthenticationConductorHandler implements NimbleIdentityAuthenticationConductorHandler { + private NimbleIdentityGenericLoginResolver loginResolver; + private NimbleIdentityGenericLogoutResolver logoutResolver; + private INimbleIdentityGenericAuthenticationConductor m_conductor; + + NimbleIdentityGenericAuthenticationConductorHandler(INimbleIdentityAuthenticationConductor iNimbleIdentityAuthenticationConductor) { + this.m_conductor = (INimbleIdentityGenericAuthenticationConductor) iNimbleIdentityAuthenticationConductor; + } + + @Override // com.ea.nimble.identity.NimbleIdentityAuthenticationConductorHandler + public void handleLogin(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, boolean z) { + this.loginResolver = new NimbleIdentityGenericLoginResolver(iNimbleIdentityAuthenticator); + this.m_conductor.handleLogin(this.loginResolver); + } + + @Override // com.ea.nimble.identity.NimbleIdentityAuthenticationConductorHandler + public void handleLogout(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + this.logoutResolver = new NimbleIdentityGenericLogoutResolver(iNimbleIdentityAuthenticator); + this.m_conductor.handleLogout(this.logoutResolver); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLoginResolver.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLoginResolver.java new file mode 100644 index 0000000..3d930d2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLoginResolver.java @@ -0,0 +1,53 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/* loaded from: classes.dex */ +class NimbleIdentityGenericLoginResolver implements INimbleIdentityGenericLoginResolver { + private INimbleIdentityAuthenticator m_authenticator; + private String m_authenticatorId; + private ArrayList m_loggedInAuthenticatorIds; + + public NimbleIdentityGenericLoginResolver(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + if (iNimbleIdentityAuthenticator != null) { + this.m_authenticator = iNimbleIdentityAuthenticator; + this.m_authenticatorId = iNimbleIdentityAuthenticator.getAuthenticatorId(); + this.m_loggedInAuthenticatorIds = new ArrayList<>(); + Iterator it = NimbleIdentity.getComponent().getLoggedInAuthenticators().iterator(); + while (it.hasNext()) { + this.m_loggedInAuthenticatorIds.add(it.next().getAuthenticatorId()); + } + } + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLoginResolver + public List getLoggedInAuthenticatorIds() { + return this.m_loggedInAuthenticatorIds; + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLoginResolver + public String getLoggingInAuthenticatorId() { + return this.m_authenticatorId; + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLoginResolver + public void ignore() { + Log.Helper.LOGI(this, "Game decided to resolve login of %s by ignoring", this.m_authenticatorId); + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLoginResolver + public void switchAuthenticators(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + component.switchAuthenticators(nimbleIdentityAuthenticatorCallback, this.m_authenticator, component.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)); + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLoginResolver + public void highlight() { + NimbleIdentityImpl.getComponent().highlight(this.m_authenticator); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLogoutResolver.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLogoutResolver.java new file mode 100644 index 0000000..a845ad6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityGenericLogoutResolver.java @@ -0,0 +1,39 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Utility; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/* loaded from: classes.dex */ +public class NimbleIdentityGenericLogoutResolver implements INimbleIdentityGenericLogoutResolver { + private String m_authenticatorId; + private ArrayList m_stillLoggedInAuthenticatorIds = new ArrayList<>(); + + public NimbleIdentityGenericLogoutResolver(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + this.m_authenticatorId = iNimbleIdentityAuthenticator.getAuthenticatorId(); + Iterator it = NimbleIdentity.getComponent().getLoggedInAuthenticators().iterator(); + while (it.hasNext()) { + this.m_stillLoggedInAuthenticatorIds.add(it.next().getAuthenticatorId()); + } + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLogoutResolver + public List getStillLoggedInAuthenticatorIds() { + return this.m_stillLoggedInAuthenticatorIds; + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLogoutResolver + public String getLoggingOutAuthenticatorId() { + return this.m_authenticatorId; + } + + @Override // com.ea.nimble.identity.INimbleIdentityGenericLogoutResolver + public void resolve(String str) { + INimbleIdentityAuthenticator authenticatorById; + if (!Utility.validString(str) || (authenticatorById = NimbleIdentityImpl.getComponent().getAuthenticatorById(str)) == null) { + return; + } + NimbleIdentityImpl.getComponent().resolveLogout(authenticatorById); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityImpl.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityImpl.java new file mode 100644 index 0000000..1ba0ec6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityImpl.java @@ -0,0 +1,609 @@ +package com.ea.nimble.identity; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.ApplicationEnvironmentImpl; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.HttpRequest; +import com.ea.nimble.IApplicationEnvironment; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.Utility; +import com.ea.nimble.identity.INimbleIdentity; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import com.ea.nimble.identity.NimbleIdentityError; +import com.ea.nimble.tracking.ITracking; +import com.ea.nimble.tracking.Tracking; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public class NimbleIdentityImpl extends Component implements INimbleIdentity, LogSource { + private static final String DATA_TEMPLATE_MIGRATE = "?client_id=%s&tuid=%s"; + private static final String REQUEST_HEADER_CONTENT_TYPE_KEY = "Content-type"; + private static final String REQUEST_HEADER_CONTENT_TYPE_VALUE = "application/x-www-form-urlencoded"; + private static final String REQUEST_HEADER_SOURCE_AT_KEY = "X-SOURCE-ACCESS-TOKEN"; + private static final String REQUEST_HEADER_TARGET_AT_KEY = "X-TARGET-ACCESS-TOKEN"; + private static final String URL_TEMPLATE_MIGRATE = "%s/connect/migrate"; + private static final String URL_TEMPLATE_REQUEST_SERVER_AUTHENTICATION_OAUTH_CODE = "%s/connect/auth?client_id=%s&response_type=code&access_token=%s&redirect_uri=nucleus:rest"; + private INimbleIdentityAuthenticationConductor m_authenticationConductor; + private NimbleIdentityAuthenticationConductorHandler m_authenticationConductorHandler; + private INimbleIdentityAuthenticator m_mainAuthenticator; + private INimbleIdentity.NimbleIdentityState m_state = INimbleIdentity.NimbleIdentityState.NIMBLE_IDENTITY_UNAVAILABLE; + private HashMap m_authenticators = new HashMap<>(); + private NimbleIdentityConfig m_configuration = new NimbleIdentityConfig(); + private HashMap m_pidMap = new HashMap<>(); + private final BroadcastReceiver m_authenticationUpdateReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.identity.NimbleIdentityImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleIdentityImpl.this.onAuthenticatorStateChange(); + } + }; + private final BroadcastReceiver m_pidInfoUpdateReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.identity.NimbleIdentityImpl.2 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleIdentityImpl.this.onPidInfoUpdate(); + } + }; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.identity"; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Identity"; + } + + static NimbleIdentityImpl getComponent() { + return (NimbleIdentityImpl) Base.getComponent("com.ea.nimble.identity"); + } + + private static void initialize() { + Log.Helper.LOGFUNCS("NimbleIdentityImpl"); + Base.registerComponent(new NimbleIdentityImpl(), "com.ea.nimble.identity"); + } + + NimbleIdentityConfig getConfiguration() { + return this.m_configuration; + } + + /* JADX WARN: Multi-variable type inference failed */ + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + this.m_configuration.initialize(); + this.m_authenticators.clear(); + Component[] componentList = Base.getComponentList(INimbleIdentityAuthenticator.AUTHENTICATOR_COMPONENT_PREFIX); + Utility.registerReceiver(Global.NIMBLE_NOTIFICATION_IDENTITY_AUTHENTICATION_UPDATE, this.m_authenticationUpdateReceiver); + Utility.registerReceiver(Global.NIMBLE_NOTIFICATION_IDENTITY_PID_INFO_UPDATE, this.m_pidInfoUpdateReceiver); + for (ApplicationEnvironmentImpl applicationEnvironmentImpl : componentList) { + if (!(applicationEnvironmentImpl instanceof INimbleIdentityAuthenticator)) { + Log.Helper.LOGW(this, "Invalid authenticator %s", applicationEnvironmentImpl.getComponentId()); + } else { + INimbleIdentityAuthenticator iNimbleIdentityAuthenticator = (INimbleIdentityAuthenticator) applicationEnvironmentImpl; + this.m_authenticators.put(iNimbleIdentityAuthenticator.getAuthenticatorId(), iNimbleIdentityAuthenticator); + } + } + String loadMainAuthenticator = loadMainAuthenticator(); + if (loadMainAuthenticator == null) { + Log.Helper.LOGD(this, "No existing main authenticator. Will log in anonymous authenticator", new Object[0]); + loadMainAuthenticator = Global.NIMBLE_AUTHENTICATOR_ANONYMOUS; + } + Log.Helper.LOGD(this, "Main authenticator is " + loadMainAuthenticator, new Object[0]); + AuthenticatorBase authenticatorBaseById = getAuthenticatorBaseById(loadMainAuthenticator); + authenticatorBaseById.setState(INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_OFFLINE); + authenticatorBaseById.restoreAuthenticator(new INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback() { // from class: com.ea.nimble.identity.NimbleIdentityImpl.3 + @Override // com.ea.nimble.identity.INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback + public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator2, Error error) { + Log.Helper.LOGPUBLICFUNC(this); + Iterator it = NimbleIdentityImpl.this.m_authenticators.values().iterator(); + while (it.hasNext()) { + AuthenticatorBase authenticatorBase = (AuthenticatorBase) ((INimbleIdentityAuthenticator) it.next()); + if (authenticatorBase != iNimbleIdentityAuthenticator2) { + authenticatorBase.restoreAuthenticator(null); + } + } + } + }); + Iterator it = this.m_authenticators.values().iterator(); + while (it.hasNext()) { + if (it.next().getState() == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING) { + this.m_state = INimbleIdentity.NimbleIdentityState.NIMBLE_IDENTITY_AUTHENTICATING; + } + } + } + + @Override // com.ea.nimble.Component + public void cleanup() { + Log.Helper.LOGPUBLICFUNC(this); + Utility.unregisterReceiver(this.m_authenticationUpdateReceiver); + Utility.unregisterReceiver(this.m_pidInfoUpdateReceiver); + } + + private NimbleIdentityImpl() { + Log.Helper.LOGFUNC(this); + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public List getAuthenticators() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_authenticationConductor == null) { + return null; + } + return new LinkedList(this.m_authenticators.values()); + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public Map getPidMap() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_authenticationConductor == null) { + return null; + } + return getPidMapInternal(); + } + + HashMap getPidMapInternal() { + return this.m_pidMap; + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public void setAuthenticationConductor(INimbleIdentityAuthenticationConductor iNimbleIdentityAuthenticationConductor) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_authenticationConductor != null) { + Log.Helper.LOGW(this, "Attempting setAuthenticationConductor when we already have one. Unsupported. Ignoring.", new Object[0]); + return; + } + if (iNimbleIdentityAuthenticationConductor == null) { + Log.Helper.LOGW(this, "Attempting to setAuthenticationConductor with a null conductor.", new Object[0]); + return; + } + if (this.m_authenticationConductor != iNimbleIdentityAuthenticationConductor) { + this.m_authenticationConductor = iNimbleIdentityAuthenticationConductor; + if (iNimbleIdentityAuthenticationConductor instanceof INimbleIdentityGenericAuthenticationConductor) { + Log.Helper.LOGD(this, "Setting the generic auth conductor as our conductor.", new Object[0]); + this.m_authenticationConductorHandler = new NimbleIdentityGenericAuthenticationConductorHandler(iNimbleIdentityAuthenticationConductor); + } else if (iNimbleIdentityAuthenticationConductor instanceof INimbleIdentityMigrationAuthenticationConductor) { + Log.Helper.LOGD(this, "Setting the migration auth conductor as our conductor.", new Object[0]); + this.m_authenticationConductorHandler = new NimbleIdentityMigrationAuthenticationConductorHandler(iNimbleIdentityAuthenticationConductor); + } + for (INimbleIdentityAuthenticator iNimbleIdentityAuthenticator : getAuthenticators()) { + if (iNimbleIdentityAuthenticator != null) { + ((AuthenticatorBase) iNimbleIdentityAuthenticator).resume(); + } + } + } + } + + NimbleIdentityAuthenticationConductorHandler getAuthenticationConductor() { + return this.m_authenticationConductorHandler; + } + + INimbleIdentityAuthenticator getMainAuthenticator() { + return this.m_mainAuthenticator; + } + + void setMainAuthenticator(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + if (iNimbleIdentityAuthenticator == null) { + Log.Helper.LOGW(this, "Failed to set mainAuthenticator with new authenticator because given authenticator is null.", new Object[0]); + return; + } + if (iNimbleIdentityAuthenticator == this.m_mainAuthenticator) { + Log.Helper.LOGV(this, "Skipping setMainAuthenticator because the given authenticator is the same as the previous one.", new Object[0]); + return; + } + Log.Helper.LOGD(this, "Setting mainAuthenticator to: " + iNimbleIdentityAuthenticator.getAuthenticatorId(), new Object[0]); + this.m_mainAuthenticator = iNimbleIdentityAuthenticator; + HashMap hashMap = new HashMap(); + String authenticatorId = this.m_mainAuthenticator.getAuthenticatorId(); + saveMainAuthenticator(authenticatorId); + NimbleIdentityPidInfo pidInfo = this.m_mainAuthenticator.getPidInfo(); + if (pidInfo != null) { + hashMap.put(authenticatorId, pidInfo.getPid()); + } else { + hashMap.put(authenticatorId, ""); + } + HashMap hashMap2 = new HashMap(); + hashMap2.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE, hashMap); + Utility.sendBroadcastSerializable(Global.NIMBLE_NOTIFICATION_IDENTITY_MAIN_AUTHENTICATOR_CHANGE, hashMap2); + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public List getLoggedInAuthenticators() { + Log.Helper.LOGPUBLICFUNC(this); + ArrayList arrayList = new ArrayList(); + if (this.m_authenticationConductor != null) { + synchronized (this) { + if (this.m_authenticators != null && this.m_authenticators.size() > 0) { + for (INimbleIdentityAuthenticator iNimbleIdentityAuthenticator : this.m_authenticators.values()) { + if (iNimbleIdentityAuthenticator.getState() == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + arrayList.add(iNimbleIdentityAuthenticator); + } + } + } + } + } + return arrayList; + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public INimbleIdentityAuthenticator getAuthenticatorById(String str) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_authenticationConductor != null) { + return this.m_authenticators.get(str); + } + return null; + } + + AuthenticatorBase getAuthenticatorBaseById(String str) { + INimbleIdentityAuthenticator iNimbleIdentityAuthenticator = this.m_authenticators.get(str); + if (iNimbleIdentityAuthenticator == null || !(iNimbleIdentityAuthenticator instanceof AuthenticatorBase)) { + return null; + } + return (AuthenticatorBase) iNimbleIdentityAuthenticator; + } + + /* JADX INFO: Access modifiers changed from: private */ + public synchronized void onAuthenticatorStateChange() { + Log.Helper.LOGFUNC(this); + Iterator it = this.m_authenticators.values().iterator(); + while (it.hasNext()) { + if (it.next().getState() == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_GOING) { + setState(INimbleIdentity.NimbleIdentityState.NIMBLE_IDENTITY_AUTHENTICATING); + return; + } + } + setState(INimbleIdentity.NimbleIdentityState.NIMBLE_IDENTITY_READY); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onPidInfoUpdate() { + Log.Helper.LOGFUNC(this); + HashMap hashMap = new HashMap<>(); + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + for (INimbleIdentityAuthenticator iNimbleIdentityAuthenticator : this.m_authenticators.values()) { + NimbleIdentityPidInfo pidInfo = iNimbleIdentityAuthenticator.getPidInfo(); + if (pidInfo != null) { + String pid = pidInfo.getPid(); + hashMap.put(iNimbleIdentityAuthenticator.getAuthenticatorId(), pid); + if (component != null) { + component.setPlayerId(iNimbleIdentityAuthenticator.getAuthenticatorId(), pid); + } + } + } + synchronized (this) { + this.m_pidMap = hashMap; + } + } + + public void setState(INimbleIdentity.NimbleIdentityState nimbleIdentityState) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_state != nimbleIdentityState) { + this.m_state = nimbleIdentityState; + Utility.sendBroadcast(INimbleIdentity.NIMBLE_NOTIFICATION_IDENTITY_UPDATE); + } + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public INimbleIdentity.NimbleIdentityState getState() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_state; + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public void setAutoRefreshFlag(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_configuration.setAutoRefresh(z); + Iterator it = this.m_authenticators.values().iterator(); + while (it.hasNext()) { + ((AuthenticatorBase) it.next()).enableAutoRefresh(z); + } + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public boolean getAutoRefreshFlag() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_configuration.getAutoRefresh(); + } + + @Override // com.ea.nimble.identity.INimbleIdentity + public void requestServerAuthCodeForLegacyOriginToken(String str, final String str2, final String str3, final INimbleIdentityAuthenticator.NimbleIdentityServerAuthCodeCallback nimbleIdentityServerAuthCodeCallback) { + URL url; + if (nimbleIdentityServerAuthCodeCallback == null) { + Log.Helper.LOGW(this, "Request server authentication oAuth code without callback, no way to get result", new Object[0]); + return; + } + Log.Helper.LOGV(this, "Request server authentication oauth code for legacy origin ocs token", new Object[0]); + try { + String format = String.format(URL_TEMPLATE_REQUEST_SERVER_AUTHENTICATION_OAUTH_CODE, this.m_configuration.getConnectServerUrl(), str2, str); + if (Utility.validString(str3)) { + format = format + String.format("&scope=%s", str3); + } + url = new URL(format); + } catch (MalformedURLException unused) { + url = null; + } + Network.getComponent().sendGetRequest(url, new HashMap<>(), new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.NimbleIdentityImpl.4 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + try { + Map parseBodyJSONData = NimbleIdentityUtility.parseBodyJSONData(networkConnectionHandle); + String str4 = (String) parseBodyJSONData.get("code"); + if (!Utility.validString(str4)) { + Error error = new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Fail to parse oAuth code from server response data " + parseBodyJSONData); + Log.Helper.LOGD(NimbleIdentityImpl.this, "Request for legacy server auth code failed for error " + error, new Object[0]); + nimbleIdentityServerAuthCodeCallback.onCallback(null, null, str2, str3, error); + return; + } + Log.Helper.LOGD(this, "Request for server auth code succeed with auth code: " + str4, new Object[0]); + nimbleIdentityServerAuthCodeCallback.onCallback(null, str4, str2, str3, null); + } catch (Error e) { + Log.Helper.LOGD(NimbleIdentityImpl.this, "Request for legacy server auth code failed for error " + e, new Object[0]); + nimbleIdentityServerAuthCodeCallback.onCallback(null, null, str2, str3, e); + } + } + }); + } + + private Error validateMigrationIds(String str, String str2) { + Log.Helper.LOGFUNC(this); + if (str == null || str.length() <= 0) { + Log.Helper.LOGE(this, "Source authenticator ID is either null or empty", new Object[0]); + return new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_SOURCE_INVALID, "Source authenticator ID is either null or empty"); + } + if (str2 == null || str2.length() <= 0) { + Log.Helper.LOGE(this, "Target authenticator ID is either null or empty", new Object[0]); + return new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_TARGET_INVALID, "Target authenticator ID is either null or empty"); + } + if (!str.equals(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)) { + Log.Helper.LOGE(this, "Source authenticator must be anonymous", new Object[0]); + return new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_SOURCE_INVALID, "Source authenticator must be anonymous"); + } + if (str2.equals(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)) { + Log.Helper.LOGE(this, "Target authenticator cannot be anonymous", new Object[0]); + return new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_TARGET_INVALID, "Target authenticator cannot be anonymous"); + } + INimbleIdentityAuthenticator authenticatorById = getAuthenticatorById(str); + if (authenticatorById == null || authenticatorById.getState() != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + Log.Helper.LOGE(this, "Source authenticator is not logged in", new Object[0]); + return new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_NOT_AUTHENTICATED, "Source authenticator is not logged in"); + } + INimbleIdentityAuthenticator authenticatorById2 = getAuthenticatorById(str2); + if (authenticatorById2 != null && authenticatorById2.getState() == INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + return null; + } + Log.Helper.LOGE(this, "Target authenticator is not logged in", new Object[0]); + return new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_NOT_AUTHENTICATED, "Target authenticator is not logged in"); + } + + void resolveLogout(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + if (iNimbleIdentityAuthenticator != null) { + setMainAuthenticator(iNimbleIdentityAuthenticator); + } + } + + void highlight(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + Log.Helper.LOGD(this, "Game wants to high light the just logged in authenticator", new Object[0]); + setMainAuthenticator(iNimbleIdentityAuthenticator); + } + + void switchAuthenticators(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator2) { + if (nimbleIdentityAuthenticatorCallback == null) { + Log.Helper.LOGW(this, "Requested account switching without callback. No way to notify caller. Aborting...", new Object[0]); + return; + } + if (iNimbleIdentityAuthenticator2 == null) { + nimbleIdentityAuthenticatorCallback.onCallback(null, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_SOURCE_INVALID, "Attempted to switchAuthenticators but source authenticator was null")); + return; + } + if (iNimbleIdentityAuthenticator == null) { + nimbleIdentityAuthenticatorCallback.onCallback(null, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_TARGET_INVALID, "Attempted to switchAuthenticators but target authenticator was null")); + return; + } + if (iNimbleIdentityAuthenticator2.getAuthenticatorId().equals(iNimbleIdentityAuthenticator.getAuthenticatorId())) { + nimbleIdentityAuthenticatorCallback.onCallback(null, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_FAILED, "Attempted to switch from one authenticator to itself. Your from and your to authenticators must be different.")); + return; + } + setMainAuthenticator(iNimbleIdentityAuthenticator); + if (iNimbleIdentityAuthenticator2.getAuthenticatorId().equals(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)) { + ((AuthenticatorAnonymous) iNimbleIdentityAuthenticator2).logoutInternal(nimbleIdentityAuthenticatorCallback); + } else { + nimbleIdentityAuthenticatorCallback.onCallback(iNimbleIdentityAuthenticator, null); + } + } + + void migrationFailed(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) { + Log.Helper.LOGD(this, "Migration failed for %s.", iNimbleIdentityAuthenticator); + iNimbleIdentityAuthenticator.logout(nimbleIdentityAuthenticatorCallback); + } + + void completeMigration(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator2, INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGD(this, "Account migration successful", new Object[0]); + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null) { + HashMap hashMap = new HashMap(); + HashMap hashMap2 = new HashMap(); + hashMap2.put(iNimbleIdentityAuthenticator.getAuthenticatorId(), iNimbleIdentityAuthenticator.getPidInfo().getPid()); + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE, Utility.convertObjectToJSONString(hashMap2)); + HashMap hashMap3 = new HashMap(); + hashMap3.put(iNimbleIdentityAuthenticator2.getAuthenticatorId(), iNimbleIdentityAuthenticator2.getPidInfo().getPid()); + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET, Utility.convertObjectToJSONString(hashMap3)); + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_MIGRATION_GAME_TRIGGERED, "0"); + ((ITracking) component).logEvent(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_MIGRATION, hashMap); + } + setMainAuthenticator(iNimbleIdentityAuthenticator2); + getAuthenticatorBaseById(iNimbleIdentityAuthenticator.getAuthenticatorId()).completeMigration(); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.identity", Persistence.Storage.DOCUMENT); + persistenceForNimbleComponent.setValue(INimbleIdentity.MIGRATION_PERSISTENCE_ID, null); + persistenceForNimbleComponent.synchronize(); + if (nimbleIdentityAuthenticatorCallback != null) { + nimbleIdentityAuthenticatorCallback.onCallback(iNimbleIdentityAuthenticator2, null); + } + } + + void migrate(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator2) { + if (nimbleIdentityAuthenticatorCallback == null) { + Log.Helper.LOGW(this, "Request account migration without callback, no way to notify caller", new Object[0]); + return; + } + Log.Helper.LOGI(this, "Request account migration", new Object[0]); + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null) { + HashMap hashMap = new HashMap(); + HashMap hashMap2 = new HashMap(); + hashMap2.put(iNimbleIdentityAuthenticator2.getAuthenticatorId(), iNimbleIdentityAuthenticator2.getPidInfo().getPid()); + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE, Utility.convertObjectToJSONString(hashMap2)); + HashMap hashMap3 = new HashMap(); + hashMap3.put(iNimbleIdentityAuthenticator.getAuthenticatorId(), iNimbleIdentityAuthenticator.getPidInfo().getPid()); + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET, Utility.convertObjectToJSONString(hashMap3)); + hashMap.put(Tracking.NIMBLE_TRACKING_KEY_MIGRATION_GAME_TRIGGERED, "0"); + ((ITracking) component).logEvent(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_MIGRATION_STARTED, hashMap); + } + String authenticatorId = iNimbleIdentityAuthenticator2.getAuthenticatorId(); + String authenticatorId2 = iNimbleIdentityAuthenticator.getAuthenticatorId(); + Error validateMigrationIds = validateMigrationIds(authenticatorId, authenticatorId2); + if (validateMigrationIds != null) { + nimbleIdentityAuthenticatorCallback.onCallback(null, validateMigrationIds); + } + String andValidateTokenForMigration = getAndValidateTokenForMigration(authenticatorId); + String andValidateTokenForMigration2 = getAndValidateTokenForMigration(authenticatorId2); + if (andValidateTokenForMigration == null || andValidateTokenForMigration2 == null) { + NimbleIdentityError nimbleIdentityError = new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_NO_ACCESS_TOKENS, "Access token is empty or invalid"); + Log.Helper.LOGE(this, "Request for account migration failed for error " + nimbleIdentityError, new Object[0]); + nimbleIdentityAuthenticatorCallback.onCallback(null, nimbleIdentityError); + } + if (!Utility.validString(this.m_configuration.getClientId())) { + NimbleIdentityError nimbleIdentityError2 = new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_BAD_CLIENT_ID, "ClientId is empty or invalid"); + Log.Helper.LOGE(this, "Request for account migration failed for error " + nimbleIdentityError2, new Object[0]); + nimbleIdentityAuthenticatorCallback.onCallback(null, nimbleIdentityError2); + } + String uuid = UUID.randomUUID().toString(); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.identity", Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + Log.Helper.LOGW(this, "Attempted to save pending migration data but persistence was not available. Not saving.", new Object[0]); + } else { + persistenceForNimbleComponent.setValue(INimbleIdentity.MIGRATION_PERSISTENCE_ID, new NimbleIdentityMigrationObject(uuid, authenticatorId2, iNimbleIdentityAuthenticator.getPidInfo().getPid(), authenticatorId, iNimbleIdentityAuthenticator2.getPidInfo().getPid())); + persistenceForNimbleComponent.synchronize(); + Log.Helper.LOGV(this, "Migration object saved to persistence", new Object[0]); + } + makeMigrationNetworkCall(nimbleIdentityAuthenticatorCallback, uuid, iNimbleIdentityAuthenticator, andValidateTokenForMigration2, iNimbleIdentityAuthenticator2, andValidateTokenForMigration); + } + + void handlePendingMigration(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback, String str, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, INimbleIdentityAuthenticator iNimbleIdentityAuthenticator2) { + makeMigrationNetworkCall(nimbleIdentityAuthenticatorCallback, str, iNimbleIdentityAuthenticator, getAndValidateTokenForMigration(iNimbleIdentityAuthenticator.getAuthenticatorId()), iNimbleIdentityAuthenticator2, getAndValidateTokenForMigration(iNimbleIdentityAuthenticator2.getAuthenticatorId())); + } + + void makeMigrationNetworkCall(final INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback, String str, final INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str2, final INimbleIdentityAuthenticator iNimbleIdentityAuthenticator2, String str3) { + ByteArrayOutputStream byteArrayOutputStream; + URL url; + Log.Helper.LOGD(this, "Starting migration network call", new Object[0]); + String format = String.format(DATA_TEMPLATE_MIGRATE, this.m_configuration.getClientId(), str); + try { + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_IDENTITY_CONNECT); + if (serverUrlWithKey.substring(serverUrlWithKey.length() - 1).equals("/")) { + serverUrlWithKey = serverUrlWithKey.substring(0, serverUrlWithKey.length() - 1); + } + url = new URL(String.format(URL_TEMPLATE_MIGRATE, serverUrlWithKey) + format); + try { + byte[] bytes = format.getBytes(HTTP.UTF_8); + byteArrayOutputStream = new ByteArrayOutputStream(bytes.length); + try { + byteArrayOutputStream.write(bytes); + } catch (IOException unused) { + } + } catch (IOException unused2) { + byteArrayOutputStream = null; + } + } catch (IOException unused3) { + byteArrayOutputStream = null; + url = null; + } + HashMap hashMap = new HashMap<>(); + hashMap.put(REQUEST_HEADER_CONTENT_TYPE_KEY, "application/x-www-form-urlencoded"); + hashMap.put(REQUEST_HEADER_SOURCE_AT_KEY, str3); + hashMap.put(REQUEST_HEADER_TARGET_AT_KEY, str2); + HttpRequest httpRequest = new HttpRequest(url); + httpRequest.method = IHttpRequest.Method.POST; + httpRequest.headers = hashMap; + httpRequest.data = byteArrayOutputStream; + Network.getComponent().sendRequest(httpRequest, new NetworkConnectionCallback() { // from class: com.ea.nimble.identity.NimbleIdentityImpl.5 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + Exception error = networkConnectionHandle.getResponse().getError(); + if (error != null) { + Log.Helper.LOGE(this, "Request for account migration failed for error " + error, new Object[0]); + AuthenticatorBase authenticatorBaseById = NimbleIdentityImpl.this.getAuthenticatorBaseById(iNimbleIdentityAuthenticator.getAuthenticatorId()); + if (authenticatorBaseById != null) { + authenticatorBaseById.logout(null); + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(NimbleIdentityImpl.this.getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + persistenceForNimbleComponent.setValue(INimbleIdentity.MIGRATION_PERSISTENCE_ID, null); + persistenceForNimbleComponent.synchronize(); + } + nimbleIdentityAuthenticatorCallback.onCallback(null, new NimbleIdentityError(NimbleIdentityError.NimbleIdentityErrorCode.NIMBLE_IDENTITY_ERROR_MIGRATION_FAILED, error.getMessage(), error)); + return; + } + NimbleIdentityImpl.this.completeMigration(iNimbleIdentityAuthenticator2, iNimbleIdentityAuthenticator, nimbleIdentityAuthenticatorCallback); + } + }); + } + + private String getAndValidateTokenForMigration(String str) { + Log.Helper.LOGFUNC(this); + AuthenticatorBase authenticatorBaseById = getAuthenticatorBaseById(str); + if (authenticatorBaseById != null) { + String accessToken = authenticatorBaseById.getAccessToken().getAccessToken(); + if (Utility.validString(accessToken)) { + return accessToken; + } + return null; + } + Log.Helper.LOGE(this, "Authenticator Base was null!", new Object[0]); + return null; + } + + private void saveMainAuthenticator(String str) { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + persistenceForNimbleComponent.setValue("mainAuthenticatorId", str); + } + } + + private String loadMainAuthenticator() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent != null) { + return persistenceForNimbleComponent.getStringValue("mainAuthenticatorId"); + } + return null; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityLoginParams.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityLoginParams.java new file mode 100644 index 0000000..5ee723e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityLoginParams.java @@ -0,0 +1,102 @@ +package com.ea.nimble.identity; + +import android.support.v4.app.NotificationCompat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/* loaded from: classes.dex */ +public abstract class NimbleIdentityLoginParams { + + public static class AnonymousLoginParams extends NimbleIdentityLoginParams { + } + + protected NimbleIdentityLoginParams() { + } + + public static class OriginOAuthCodeLoginParams extends NimbleIdentityLoginParams { + private String oAuthCode; + + OriginOAuthCodeLoginParams() { + this.oAuthCode = ""; + } + + public OriginOAuthCodeLoginParams(String str) { + this.oAuthCode = ""; + this.oAuthCode = str; + } + + String getOauthCode() { + return this.oAuthCode; + } + } + + public static class OriginCredentialsLoginParams extends NimbleIdentityLoginParams { + private String password; + private String username; + + OriginCredentialsLoginParams() { + this.username = ""; + this.password = ""; + } + + public OriginCredentialsLoginParams(String str, String str2) { + this.username = ""; + this.password = ""; + this.username = str; + this.password = str2; + } + + String getUsername() { + return this.username; + } + + String getPassword() { + return this.password; + } + } + + public static class FacebookAccessTokenLoginParams extends NimbleIdentityLoginParams { + private Date expiryDate; + private String facebookAccessToken; + + FacebookAccessTokenLoginParams() { + this.facebookAccessToken = ""; + } + + public FacebookAccessTokenLoginParams(String str, Date date) { + this.facebookAccessToken = ""; + this.facebookAccessToken = str; + this.expiryDate = new Date(date.getTime()); + } + + String getFacebookAccessToken() { + return this.facebookAccessToken; + } + + Date getExpiryDate() { + return this.expiryDate; + } + } + + public static class FacebookClientLoginParams extends NimbleIdentityLoginParams { + private List facebookPermissions; + + public FacebookClientLoginParams(List list) { + if (list != null && list.size() > 0) { + this.facebookPermissions = list; + if (list.contains(NotificationCompat.CATEGORY_EMAIL)) { + return; + } + this.facebookPermissions.add(NotificationCompat.CATEGORY_EMAIL); + return; + } + this.facebookPermissions = new ArrayList(); + this.facebookPermissions.add(NotificationCompat.CATEGORY_EMAIL); + } + + List getFacebookPermissions() { + return this.facebookPermissions; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationAuthenticationConductorHandler.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationAuthenticationConductorHandler.java new file mode 100644 index 0000000..60efd1c --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationAuthenticationConductorHandler.java @@ -0,0 +1,100 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.Iterator; +import java.util.List; + +/* loaded from: classes.dex */ +class NimbleIdentityMigrationAuthenticationConductorHandler implements NimbleIdentityAuthenticationConductorHandler { + private INimbleIdentityMigrationAuthenticationConductor m_conductor; + + public NimbleIdentityMigrationAuthenticationConductorHandler(INimbleIdentityAuthenticationConductor iNimbleIdentityAuthenticationConductor) { + this.m_conductor = (INimbleIdentityMigrationAuthenticationConductor) iNimbleIdentityAuthenticationConductor; + List loggedInAuthenticators = NimbleIdentity.getComponent().getLoggedInAuthenticators(); + if (loggedInAuthenticators.size() > 0) { + if (loggedInAuthenticators.size() == 1) { + NimbleIdentityImpl.getComponent().setMainAuthenticator(loggedInAuthenticators.get(0)); + } else { + Iterator it = loggedInAuthenticators.iterator(); + while (true) { + if (!it.hasNext()) { + break; + } + INimbleIdentityAuthenticator next = it.next(); + if (!next.getAuthenticatorId().equals(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)) { + NimbleIdentityImpl.getComponent().setMainAuthenticator(next); + break; + } + } + } + } + handlePendingMigration(); + } + + @Override // com.ea.nimble.identity.NimbleIdentityAuthenticationConductorHandler + public void handleLogin(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + INimbleIdentityAuthenticator mainAuthenticator = component.getMainAuthenticator(); + if (mainAuthenticator == null) { + component.setMainAuthenticator(iNimbleIdentityAuthenticator); + } else if (iNimbleIdentityAuthenticator == mainAuthenticator) { + Log.Helper.LOGI(this, "Authenticator %s, which is already mainAuthenticator, is currently logged in", iNimbleIdentityAuthenticator.getAuthenticatorId()); + } else { + if (handlePendingMigration()) { + return; + } + this.m_conductor.handleLogin(new NimbleIdentityMigrationLoginResolver(iNimbleIdentityAuthenticator)); + } + } + + @Override // com.ea.nimble.identity.NimbleIdentityAuthenticationConductorHandler + public void handleLogout(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + Log.Helper.LOGPUBLICFUNC(this); + if (iNimbleIdentityAuthenticator == null) { + Log.Helper.LOGF(this, "Given a null authenticator as part of logout proess.", new Object[0]); + return; + } + if (iNimbleIdentityAuthenticator.getAuthenticatorId().equals(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)) { + return; + } + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + AuthenticatorBase authenticatorBaseById = component.getAuthenticatorBaseById(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS); + if (authenticatorBaseById == null) { + Log.Helper.LOGF(this, "Unable to set Anonymous Authenticator as main authenticator as part of logout process.", new Object[0]); + return; + } + component.setMainAuthenticator(authenticatorBaseById); + if (authenticatorBaseById.getState() != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS) { + authenticatorBaseById.autoLogin(); + } + } + + public boolean handlePendingMigration() { + AuthenticatorBase authenticatorBaseById; + AuthenticatorBase authenticatorBaseById2; + Log.Helper.LOGPUBLICFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.identity", Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null) { + Log.Helper.LOGW(this, "Attempted to check pending migration status but persistence was not available. Failing.", new Object[0]); + return false; + } + NimbleIdentityMigrationObject nimbleIdentityMigrationObject = (NimbleIdentityMigrationObject) persistenceForNimbleComponent.getValue(INimbleIdentity.MIGRATION_PERSISTENCE_ID); + if (nimbleIdentityMigrationObject == null) { + Log.Helper.LOGI(this, "No pending migration object found in persistence!", new Object[0]); + return false; + } + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + if (component != null && ((authenticatorBaseById = component.getAuthenticatorBaseById(nimbleIdentityMigrationObject.m_currentAuthenticatorId)) == null || authenticatorBaseById.getState() != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS || !authenticatorBaseById.getPidInfo().getPid().equals(nimbleIdentityMigrationObject.m_currentAuthenticatorPid) || (authenticatorBaseById2 = component.getAuthenticatorBaseById(nimbleIdentityMigrationObject.m_newAuthenticatorId)) == null || authenticatorBaseById2.getState() != INimbleIdentityAuthenticator.NimbleIdentityAuthenticationState.NIMBLE_IDENTITY_AUTHENTICATION_SUCCESS || !authenticatorBaseById2.getPidInfo().getPid().equals(nimbleIdentityMigrationObject.m_newAuthenticatorPid))) { + return false; + } + NimbleIdentityPendingMigrationResolver nimbleIdentityPendingMigrationResolver = new NimbleIdentityPendingMigrationResolver(nimbleIdentityMigrationObject.m_migrationGUID, nimbleIdentityMigrationObject.m_newAuthenticatorId, nimbleIdentityMigrationObject.m_newAuthenticatorPid, nimbleIdentityMigrationObject.m_currentAuthenticatorId, nimbleIdentityMigrationObject.m_currentAuthenticatorPid); + Log.Helper.LOGI(this, "Sending request to game to handle pending migration", new Object[0]); + this.m_conductor.handlePendingMigration(nimbleIdentityPendingMigrationResolver); + return true; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationLoginResolver.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationLoginResolver.java new file mode 100644 index 0000000..e30e742 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationLoginResolver.java @@ -0,0 +1,49 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Global; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/* loaded from: classes.dex */ +class NimbleIdentityMigrationLoginResolver implements INimbleIdentityMigrationLoginResolver { + private INimbleIdentityAuthenticator m_authenticator; + private String m_authenticatorId; + private ArrayList m_loggedInAuthenticatorIds = new ArrayList<>(); + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver + public void ignore() { + } + + NimbleIdentityMigrationLoginResolver(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + this.m_authenticator = iNimbleIdentityAuthenticator; + this.m_authenticatorId = iNimbleIdentityAuthenticator.getAuthenticatorId(); + Iterator it = NimbleIdentity.getComponent().getLoggedInAuthenticators().iterator(); + while (it.hasNext()) { + this.m_loggedInAuthenticatorIds.add(it.next().getAuthenticatorId()); + } + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver + public List getLoggedInAuthenticatorIds() { + return this.m_loggedInAuthenticatorIds; + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver + public String getLoggingInAuthenticatorId() { + return this.m_authenticatorId; + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver + public void switchAuthenticators(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + component.switchAuthenticators(nimbleIdentityAuthenticatorCallback, this.m_authenticator, component.getAuthenticatorById(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS)); + } + + @Override // com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver + public void migrate(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + component.migrate(nimbleIdentityAuthenticatorCallback, this.m_authenticator, component.getMainAuthenticator()); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationObject.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationObject.java new file mode 100644 index 0000000..7d7b2c6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityMigrationObject.java @@ -0,0 +1,24 @@ +package com.ea.nimble.identity; + +import java.io.Serializable; + +/* loaded from: classes.dex */ +class NimbleIdentityMigrationObject implements Serializable { + private static final long serialVersionUID = 1; + String m_currentAuthenticatorId; + String m_currentAuthenticatorPid; + String m_migrationGUID; + String m_newAuthenticatorId; + String m_newAuthenticatorPid; + + NimbleIdentityMigrationObject() { + } + + NimbleIdentityMigrationObject(String str, String str2, String str3, String str4, String str5) { + this.m_migrationGUID = str; + this.m_newAuthenticatorId = str2; + this.m_newAuthenticatorPid = str3; + this.m_currentAuthenticatorId = str4; + this.m_currentAuthenticatorPid = str5; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPendingMigrationResolver.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPendingMigrationResolver.java new file mode 100644 index 0000000..20c6ece --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPendingMigrationResolver.java @@ -0,0 +1,47 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Log; +import com.ea.nimble.identity.INimbleIdentityAuthenticator; + +/* loaded from: classes.dex */ +public class NimbleIdentityPendingMigrationResolver implements INimbleIdentityPendingMigrationResolver { + private String m_GUID; + private String m_currentAuthenticatorId; + private String m_currentAuthenticatorPid; + private String m_newAuthenticatorId; + + NimbleIdentityPendingMigrationResolver(String str, String str2, String str3, String str4, String str5) { + this.m_GUID = str; + this.m_newAuthenticatorId = str2; + this.m_currentAuthenticatorId = str4; + this.m_currentAuthenticatorPid = str5; + } + + @Override // com.ea.nimble.identity.INimbleIdentityPendingMigrationResolver + public String getMigrationSourceAuthenticatorId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_currentAuthenticatorId; + } + + @Override // com.ea.nimble.identity.INimbleIdentityPendingMigrationResolver + public String getMigrationTargetAuthenticatorId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_newAuthenticatorId; + } + + @Override // com.ea.nimble.identity.INimbleIdentityPendingMigrationResolver + public void resume(INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback nimbleIdentityAuthenticatorCallback) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleIdentityImpl component = NimbleIdentityImpl.getComponent(); + INimbleIdentityAuthenticator authenticatorById = component.getAuthenticatorById(this.m_currentAuthenticatorId); + INimbleIdentityAuthenticator authenticatorById2 = component.getAuthenticatorById(this.m_newAuthenticatorId); + if (authenticatorById == null || authenticatorById2 == null) { + return; + } + if (!authenticatorById.getPidInfo().getPid().equals(this.m_currentAuthenticatorPid)) { + component.completeMigration(authenticatorById, authenticatorById2, nimbleIdentityAuthenticatorCallback); + } else { + component.handlePendingMigration(nimbleIdentityAuthenticatorCallback, this.m_GUID, authenticatorById2, authenticatorById); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPersona.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPersona.java new file mode 100644 index 0000000..dfe85af --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPersona.java @@ -0,0 +1,408 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Log; +import com.facebook.internal.ServerProtocol; +import com.facebook.share.internal.ShareConstants; +import java.util.Date; +import java.util.Map; + +/* loaded from: classes.dex */ +public class NimbleIdentityPersona { + private String dateCreated; + private String displayName; + private Date expiryTime; + private String isVisible; + private String lastAuthenticated; + private String name; + private String namespaceName; + private long personaId; + private String pidId; + private PersonaPrivacyLevel showPersona; + private PersonaStatus status; + private PersonaStatusReasonCodes statusReasonCode; + + public enum PersonaPrivacyLevel { + PERSONA_PRIVACY_LEVEL_NONE, + PERSONA_PRIVACY_LEVEL_NO_ONE, + PERSONA_PRIVACY_LEVEL_EVERYONE, + PERSONA_PRIVACY_LEVEL_FRIENDS, + PERSONA_PRIVACY_LEVEL_FRIENDS_OF_FRIENDS + } + + public enum PersonaStatus { + PERSONA_STATUS_NONE, + PERSONA_STATUS_PENDING, + PERSONA_STATUS_ACTIVE, + PERSONA_STATUS_DEACTIVATED, + PERSONA_STATUS_DISABLED, + PERSONA_STATUS_DELETED, + PERSONA_STATUS_BANNED + } + + public enum PersonaStatusReasonCodes { + PERSONA_STATUS_REASON_CODES_NONE, + PERSONA_STATUS_REASON_CODES_ONE, + PERSONA_STATUS_REASON_CODES_REACTIVATED_CUSTOMER, + PERSONA_STATUS_REASON_CODES_INVALID_EMAIL, + PERSONA_STATUS_REASON_CODES_PRIVACY_POLICY, + PERSONA_STATUS_REASON_CODES_PARENTS_REQUEST, + PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_GENERAL, + PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_HARASSMENT, + PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_MACROING, + PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_EXPLOITATION, + PERSONA_STATUS_REASON_CODES_SUSPENDED_FRAUD, + PERSONA_STATUS_REASON_CODES_CUSTOMER_OPT_OUT, + PERSONA_STATUS_REASON_CODES_CUSTOMER_UNDER_AGE, + PERSONA_STATUS_REASON_CODES_EMAIL_CONFIRMATION_REQUIRED, + PERSONA_STATUS_REASON_CODES_MISTYPED_ID, + PERSONA_STATUS_REASON_CODES_ABUSED_ID, + PERSONA_STATUS_REASON_CODES_DEACTIVATED_EMAIL_LINK, + PERSONA_STATUS_REASON_CODES_DEACTIVATED_CS, + PERSONA_STATUS_REASON_CODES_CLAIMED_BY_TRUE_OWNER, + PERSONA_STATUS_REASON_CODES_BANNED, + PERSONA_STATUS_REASON_CODES_DEACTIVATED_AFFILIATE + } + + public NimbleIdentityPersona(Map map, Date date) { + Log.Helper.LOGPUBLICFUNC(this); + this.personaId = getLongFromObject(map.get("personaId")); + this.pidId = map.get("pidId").toString(); + this.displayName = (String) map.get("displayName"); + this.name = (String) map.get("name"); + this.namespaceName = (String) map.get("namespaceName"); + this.status = toEnumPersonaStatus((String) map.get("status")); + this.statusReasonCode = toEnumPersonaStatusReasonCodes((String) map.get("statusReasonCode")); + this.showPersona = toEnumPersonaPrivacyLevel((String) map.get("showPersona")); + this.dateCreated = (String) map.get("dateCreated"); + this.lastAuthenticated = (String) map.get("lastAuthenticated"); + Object obj = map.get("isVisible"); + if (obj != null) { + if (obj instanceof Boolean) { + if (((Boolean) obj).booleanValue()) { + this.isVisible = ServerProtocol.DIALOG_RETURN_SCOPES_TRUE; + } else { + this.isVisible = "false"; + } + } else if (obj instanceof String) { + this.isVisible = (String) obj; + } + } + this.expiryTime = new Date(date.getTime()); + } + + NimbleIdentityPersona() { + } + + public long getPersonaId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.personaId; + } + + public String getPidId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.pidId; + } + + public String getDisplayName() { + Log.Helper.LOGPUBLICFUNC(this); + return this.displayName; + } + + public String getName() { + Log.Helper.LOGPUBLICFUNC(this); + return this.name; + } + + public String getNamespaceName() { + Log.Helper.LOGPUBLICFUNC(this); + return this.namespaceName; + } + + public String getVisible() { + Log.Helper.LOGPUBLICFUNC(this); + return this.isVisible; + } + + public PersonaStatus getStauts() { + Log.Helper.LOGPUBLICFUNC(this); + return this.status; + } + + public PersonaStatusReasonCodes getStatusReasonCode() { + Log.Helper.LOGPUBLICFUNC(this); + return this.statusReasonCode; + } + + public PersonaPrivacyLevel getShowPersona() { + Log.Helper.LOGPUBLICFUNC(this); + return this.showPersona; + } + + public String getDateCreated() { + Log.Helper.LOGPUBLICFUNC(this); + return this.dateCreated; + } + + public String getLastAuthenticated() { + Log.Helper.LOGPUBLICFUNC(this); + return this.lastAuthenticated; + } + + public Date getExpiryTime() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.expiryTime != null) { + return new Date(this.expiryTime.getTime()); + } + return null; + } + + public void setPersonaId(long j) { + Log.Helper.LOGPUBLICFUNC(this); + this.personaId = j; + } + + public void setPidId(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.pidId = str; + } + + public void setDisplayName(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.displayName = str; + } + + public void setName(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.name = str; + } + + public void setNamespaceName(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.namespaceName = str; + } + + public void setVisible(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.isVisible = str; + } + + public void setStauts(PersonaStatus personaStatus) { + Log.Helper.LOGPUBLICFUNC(this); + this.status = personaStatus; + } + + public void setStatusReasonCode(PersonaStatusReasonCodes personaStatusReasonCodes) { + Log.Helper.LOGPUBLICFUNC(this); + this.statusReasonCode = personaStatusReasonCodes; + } + + public void setShowPersona(PersonaPrivacyLevel personaPrivacyLevel) { + Log.Helper.LOGPUBLICFUNC(this); + this.showPersona = personaPrivacyLevel; + } + + public void setDateCreated(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.dateCreated = str; + } + + public void setLastAuthenticated(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.lastAuthenticated = str; + } + + private long getLongFromObject(Object obj) { + Log.Helper.LOGFUNC(this); + if (obj instanceof Long) { + return ((Long) obj).longValue(); + } + if (obj instanceof Integer) { + return ((Integer) obj).intValue(); + } + Log.Helper.LOGES("Identity", "Can't convert object of type " + obj.getClass().getName() + " to long", new Object[0]); + return 0L; + } + + public static String toStringPersonaStatus(PersonaStatus personaStatus) { + Log.Helper.LOGPUBLICFUNCS("NimbleIdentityPersona"); + switch (personaStatus) { + case PERSONA_STATUS_PENDING: + return "PENDING"; + case PERSONA_STATUS_ACTIVE: + return "ACTIVE"; + case PERSONA_STATUS_DEACTIVATED: + return "DEACTIVATED"; + case PERSONA_STATUS_DISABLED: + return "DISABLED"; + case PERSONA_STATUS_DELETED: + return "DELETED"; + case PERSONA_STATUS_BANNED: + return "BANNED"; + default: + return ""; + } + } + + public static String toStringPersonaStatusReasonCodes(PersonaStatusReasonCodes personaStatusReasonCodes) { + Log.Helper.LOGPUBLICFUNCS("NimbleIdentityPersona"); + switch (personaStatusReasonCodes) { + case PERSONA_STATUS_REASON_CODES_ONE: + return "CODES_ONE"; + case PERSONA_STATUS_REASON_CODES_REACTIVATED_CUSTOMER: + return "REACTIVATED_CUSTOMER"; + case PERSONA_STATUS_REASON_CODES_INVALID_EMAIL: + return "INVALID_EMAIL"; + case PERSONA_STATUS_REASON_CODES_PRIVACY_POLICY: + return "PRIVACY_POLICY"; + case PERSONA_STATUS_REASON_CODES_PARENTS_REQUEST: + return "PARENTS_REQUEST"; + case PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_GENERAL: + return "SUSPENDED_MISCONDUCT_GENERAL"; + case PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_HARASSMENT: + return "SUSPENDED_MISCONDUCT_HARASSMENT"; + case PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_MACROING: + return "SUSPENDED_MISCONDUCT_MACROING"; + case PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_EXPLOITATION: + return "SUSPENDED_MISCONDUCT_EXPLOITATION"; + case PERSONA_STATUS_REASON_CODES_SUSPENDED_FRAUD: + return "SUSPENDED_FRAUD"; + case PERSONA_STATUS_REASON_CODES_CUSTOMER_OPT_OUT: + return "CUSTOMER_OPT_OUT"; + case PERSONA_STATUS_REASON_CODES_CUSTOMER_UNDER_AGE: + return "CUSTOMER_UNDER_AGE"; + case PERSONA_STATUS_REASON_CODES_EMAIL_CONFIRMATION_REQUIRED: + return "EMAIL_CONFIRMATION_REQUIRED"; + case PERSONA_STATUS_REASON_CODES_MISTYPED_ID: + return "MISTYPED_ID"; + case PERSONA_STATUS_REASON_CODES_ABUSED_ID: + return "ABUSED_ID"; + case PERSONA_STATUS_REASON_CODES_DEACTIVATED_EMAIL_LINK: + return "DEACTIVATED_EMAIL_LINK"; + case PERSONA_STATUS_REASON_CODES_DEACTIVATED_CS: + return "DEACTIVATED_CS"; + case PERSONA_STATUS_REASON_CODES_CLAIMED_BY_TRUE_OWNER: + return "CLAIMED_BY_TRUE_OWNER"; + case PERSONA_STATUS_REASON_CODES_BANNED: + return "BANNED"; + case PERSONA_STATUS_REASON_CODES_DEACTIVATED_AFFILIATE: + return "DEACTIVATED_AFFILIATE"; + default: + return ""; + } + } + + public static String toStringPersonaPrivacyLevel(PersonaPrivacyLevel personaPrivacyLevel) { + Log.Helper.LOGPUBLICFUNCS("NimbleIdentityPersona"); + switch (personaPrivacyLevel) { + case PERSONA_PRIVACY_LEVEL_NO_ONE: + return "NO_ONE"; + case PERSONA_PRIVACY_LEVEL_EVERYONE: + return "EVERYONE"; + case PERSONA_PRIVACY_LEVEL_FRIENDS: + return ShareConstants.PEOPLE_IDS; + case PERSONA_PRIVACY_LEVEL_FRIENDS_OF_FRIENDS: + return "FRIENDS_OF_FRIENDS"; + default: + return ""; + } + } + + public static PersonaStatus toEnumPersonaStatus(String str) { + Log.Helper.LOGPUBLICFUNCS("NimbleIdentityPersona"); + PersonaStatus personaStatus = PersonaStatus.PERSONA_STATUS_NONE; + if (str.equalsIgnoreCase("PENDING")) { + return PersonaStatus.PERSONA_STATUS_PENDING; + } + if (str.equalsIgnoreCase("ACTIVE")) { + return PersonaStatus.PERSONA_STATUS_ACTIVE; + } + if (str.equalsIgnoreCase("DEACTIVATED")) { + return PersonaStatus.PERSONA_STATUS_DEACTIVATED; + } + if (str.equalsIgnoreCase("DISABLE")) { + return PersonaStatus.PERSONA_STATUS_DISABLED; + } + if (str.equalsIgnoreCase("DELETED")) { + return PersonaStatus.PERSONA_STATUS_DELETED; + } + return str.equalsIgnoreCase("BANNED") ? PersonaStatus.PERSONA_STATUS_BANNED : personaStatus; + } + + public static PersonaStatusReasonCodes toEnumPersonaStatusReasonCodes(String str) { + Log.Helper.LOGPUBLICFUNCS("NimbleIdentityPersona"); + PersonaStatusReasonCodes personaStatusReasonCodes = PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_NONE; + if (str.equalsIgnoreCase("CODES_ONE")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_ONE; + } + if (str.equalsIgnoreCase("REACTIVATED_CUSTOMER")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_REACTIVATED_CUSTOMER; + } + if (str.equalsIgnoreCase("INVALID_EMAIL")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_INVALID_EMAIL; + } + if (str.equalsIgnoreCase("PRIVACY_POLICY")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_PRIVACY_POLICY; + } + if (str.equalsIgnoreCase("PARENTS_REQUEST")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_PARENTS_REQUEST; + } + if (str.equalsIgnoreCase("SUSPENDED_MISCONDUCT_GENERAL")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_GENERAL; + } + if (str.equalsIgnoreCase("SUSPENDED_MISCONDUCT_HARASSMENT")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_HARASSMENT; + } + if (str.equalsIgnoreCase("SUSPENDED_MISCONDUCT_MACROING")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_MACROING; + } + if (str.equalsIgnoreCase("SUSPENDED_MISCONDUCT_EXPLOITATION")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_SUSPENDED_MISCONDUCT_EXPLOITATION; + } + if (str.equalsIgnoreCase("SUSPENDED_FRAUD")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_SUSPENDED_FRAUD; + } + if (str.equalsIgnoreCase("CUSTOMER_OPT_OUT")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_CUSTOMER_OPT_OUT; + } + if (str.equalsIgnoreCase("CUSTOMER_UNDER_AGE")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_CUSTOMER_UNDER_AGE; + } + if (str.equalsIgnoreCase("EMAIL_CONFIRMATION_REQUIRED")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_EMAIL_CONFIRMATION_REQUIRED; + } + if (str.equalsIgnoreCase("MISTYPED_ID")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_MISTYPED_ID; + } + if (str.equalsIgnoreCase("ABUSED_ID")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_ABUSED_ID; + } + if (str.equalsIgnoreCase("DEACTIVATED_EMAIL_LINK")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_DEACTIVATED_EMAIL_LINK; + } + if (str.equalsIgnoreCase("DEACTIVATED_CS")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_DEACTIVATED_CS; + } + if (str.equalsIgnoreCase("CLAIMED_BY_TRUE_OWNER")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_CLAIMED_BY_TRUE_OWNER; + } + if (str.equalsIgnoreCase("BANNED")) { + return PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_BANNED; + } + return str.equalsIgnoreCase("DEACTIVATED_AFFILIATE") ? PersonaStatusReasonCodes.PERSONA_STATUS_REASON_CODES_DEACTIVATED_AFFILIATE : personaStatusReasonCodes; + } + + public static PersonaPrivacyLevel toEnumPersonaPrivacyLevel(String str) { + Log.Helper.LOGPUBLICFUNCS("NimbleIdentityPersona"); + PersonaPrivacyLevel personaPrivacyLevel = PersonaPrivacyLevel.PERSONA_PRIVACY_LEVEL_NONE; + if (str.equalsIgnoreCase("NO_ONE")) { + return PersonaPrivacyLevel.PERSONA_PRIVACY_LEVEL_NO_ONE; + } + if (str.equalsIgnoreCase("EVERYONE")) { + return PersonaPrivacyLevel.PERSONA_PRIVACY_LEVEL_EVERYONE; + } + if (str.equalsIgnoreCase(ShareConstants.PEOPLE_IDS)) { + return PersonaPrivacyLevel.PERSONA_PRIVACY_LEVEL_FRIENDS; + } + return str.equalsIgnoreCase("FRIENDS_OF_FRIENDS") ? PersonaPrivacyLevel.PERSONA_PRIVACY_LEVEL_FRIENDS_OF_FRIENDS : personaPrivacyLevel; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPidInfo.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPidInfo.java new file mode 100644 index 0000000..dd7b214 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPidInfo.java @@ -0,0 +1,232 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Log; +import java.io.Serializable; +import java.util.Date; +import java.util.Map; + +/* loaded from: classes.dex */ +public class NimbleIdentityPidInfo implements Serializable { + private static final long serialVersionUID = 2; + private String anonymousPid; + private String authenticationSource; + private String country; + private String dateCreated; + private String dateModified; + private String dob; + private Date expiryTime; + private String language; + private String lastAuthDate; + private String locale; + private String pid; + private String reasonCode; + private String registrationSource; + private String status; + private String strength; + private String tosVersion; + + public NimbleIdentityPidInfo(Map map, Date date) { + Map map2; + Log.Helper.LOGPUBLICFUNC(this); + if (map == null || (map2 = (Map) map.get("pid")) == null) { + return; + } + this.pid = map2.get("pidId").toString(); + this.anonymousPid = (String) map2.get("anonymousPid"); + this.authenticationSource = (String) map2.get("authenticationSource"); + this.country = (String) map2.get("country"); + this.dateCreated = (String) map2.get("dateCreated"); + this.dateModified = (String) map2.get("dateModified"); + this.dob = (String) map2.get("dob"); + this.language = (String) map2.get("language"); + this.lastAuthDate = (String) map2.get("lastAuthDate"); + this.locale = (String) map2.get("locale"); + this.reasonCode = (String) map2.get("reasonCode"); + this.registrationSource = (String) map2.get("registrationSource"); + this.status = (String) map2.get("status"); + this.strength = (String) map2.get("strength"); + this.tosVersion = (String) map2.get("tosVersion"); + this.expiryTime = new Date(date.getTime()); + } + + NimbleIdentityPidInfo() { + } + + public boolean equals(Object obj) { + Log.Helper.LOGPUBLICFUNC(this); + if (!(obj instanceof NimbleIdentityPidInfo)) { + return false; + } + if (this == obj) { + return true; + } + NimbleIdentityPidInfo nimbleIdentityPidInfo = (NimbleIdentityPidInfo) obj; + return this.pid.equals(nimbleIdentityPidInfo.pid) && this.strength.equals(nimbleIdentityPidInfo.strength) && this.dob.equals(nimbleIdentityPidInfo.dob) && this.country.equals(nimbleIdentityPidInfo.country) && this.language.equals(nimbleIdentityPidInfo.language) && this.locale.equals(nimbleIdentityPidInfo.locale) && this.status.equals(nimbleIdentityPidInfo.status) && this.reasonCode.equals(nimbleIdentityPidInfo.reasonCode) && this.tosVersion.equals(nimbleIdentityPidInfo.tosVersion) && this.dateCreated.equals(nimbleIdentityPidInfo.dateCreated) && this.dateModified.equals(nimbleIdentityPidInfo.dateModified) && this.lastAuthDate.equals(nimbleIdentityPidInfo.lastAuthDate) && this.registrationSource.equals(nimbleIdentityPidInfo.registrationSource) && this.authenticationSource.equals(nimbleIdentityPidInfo.authenticationSource) && this.anonymousPid.equals(nimbleIdentityPidInfo.anonymousPid); + } + + public int hashCode() { + return ((((((((((((((((((((((((((((527 + this.pid.hashCode()) * 31) + this.strength.hashCode()) * 31) + this.dob.hashCode()) * 31) + this.country.hashCode()) * 31) + this.language.hashCode()) * 31) + this.locale.hashCode()) * 31) + this.status.hashCode()) * 31) + this.reasonCode.hashCode()) * 31) + this.tosVersion.hashCode()) * 31) + this.dateCreated.hashCode()) * 31) + this.dateModified.hashCode()) * 31) + this.lastAuthDate.hashCode()) * 31) + this.registrationSource.hashCode()) * 31) + this.authenticationSource.hashCode()) * 31) + this.anonymousPid.hashCode(); + } + + public String getPid() { + Log.Helper.LOGPUBLICFUNC(this); + return this.pid; + } + + public String getAnonymousPid() { + Log.Helper.LOGPUBLICFUNC(this); + return this.anonymousPid; + } + + public String getAuthenticationSource() { + Log.Helper.LOGPUBLICFUNC(this); + return this.authenticationSource; + } + + public String getCountry() { + Log.Helper.LOGPUBLICFUNC(this); + return this.country; + } + + public String getDateCreated() { + Log.Helper.LOGPUBLICFUNC(this); + return this.dateCreated; + } + + public String getDateModified() { + Log.Helper.LOGPUBLICFUNC(this); + return this.dateModified; + } + + public String getDob() { + Log.Helper.LOGPUBLICFUNC(this); + return this.dob; + } + + public String getLanguage() { + Log.Helper.LOGPUBLICFUNC(this); + return this.language; + } + + public String getLastAuthDate() { + Log.Helper.LOGPUBLICFUNC(this); + return this.lastAuthDate; + } + + public String getLocale() { + Log.Helper.LOGPUBLICFUNC(this); + return this.locale; + } + + public String getReasonCode() { + Log.Helper.LOGPUBLICFUNC(this); + return this.reasonCode; + } + + public String getRegistrationSource() { + Log.Helper.LOGPUBLICFUNC(this); + return this.registrationSource; + } + + public String getStatus() { + Log.Helper.LOGPUBLICFUNC(this); + return this.status; + } + + public String getStrength() { + Log.Helper.LOGPUBLICFUNC(this); + return this.strength; + } + + public String getTosVersion() { + Log.Helper.LOGPUBLICFUNC(this); + return this.tosVersion; + } + + public Date getExpiryTime() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.expiryTime != null) { + return new Date(this.expiryTime.getTime()); + } + return null; + } + + public void setPidId(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.pid = str; + } + + public void setAnonymousPid(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.anonymousPid = str; + } + + public void setAuthenticationSource(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.authenticationSource = str; + } + + public void setCountry(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.country = str; + } + + public void setDateCreated(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.dateCreated = str; + } + + public void setDateModified(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.dateModified = str; + } + + public void setDob(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.dob = str; + } + + public void setLanguage(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.language = str; + } + + public void setLastAuthDate(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.lastAuthDate = str; + } + + public void setLocale(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.locale = str; + } + + public void setReasonCode(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.reasonCode = str; + } + + public void setRegistrationSource(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.registrationSource = str; + } + + public void setStatus(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.status = str; + } + + public void setStrength(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.strength = str; + } + + public void setTosVersion(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.tosVersion = str; + } + + void setExpiryTime(Date date) { + this.expiryTime = new Date(date.getTime()); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPlainAuthenticationConductorHandler.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPlainAuthenticationConductorHandler.java new file mode 100644 index 0000000..83467ba --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityPlainAuthenticationConductorHandler.java @@ -0,0 +1,29 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Global; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class NimbleIdentityPlainAuthenticationConductorHandler implements NimbleIdentityAuthenticationConductorHandler { + private INimbleIdentityPlainAuthenticationConductor m_conductor; + + public NimbleIdentityPlainAuthenticationConductorHandler(INimbleIdentityAuthenticationConductor iNimbleIdentityAuthenticationConductor) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_conductor = (INimbleIdentityPlainAuthenticationConductor) iNimbleIdentityAuthenticationConductor; + } + + @Override // com.ea.nimble.identity.NimbleIdentityAuthenticationConductorHandler + public void handleLogin(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + if (iNimbleIdentityAuthenticator.getAuthenticatorId().equals(Global.NIMBLE_AUTHENTICATOR_ANONYMOUS) && NimbleIdentityImpl.getComponent().getMainAuthenticator() == null) { + NimbleIdentityImpl.getComponent().setMainAuthenticator(iNimbleIdentityAuthenticator); + } + Log.Helper.LOGD(this, "New authenticator %s being LogIn handled by Plain authenticator.", iNimbleIdentityAuthenticator.getAuthenticatorId()); + } + + @Override // com.ea.nimble.identity.NimbleIdentityAuthenticationConductorHandler + public void handleLogout(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator) { + Log.Helper.LOGPUBLICFUNC(this); + Log.Helper.LOGD(this, "New authenticator %s being LogOut handled by Plain authenticator.", iNimbleIdentityAuthenticator.getAuthenticatorId()); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityToken.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityToken.java new file mode 100644 index 0000000..a5479a7 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityToken.java @@ -0,0 +1,83 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Log; +import java.io.Serializable; +import java.util.Date; +import java.util.Map; + +/* loaded from: classes.dex */ +class NimbleIdentityToken implements Serializable { + private static final String NIMBLE_IDENTITY_REFRESH_TOKEN_EXPIRES_IN = "refresh_token_expires_in"; + private static final String NIMBLE_IDENTITY_TOKEN_ACCESS_TOKEN = "access_token"; + private static final String NIMBLE_IDENTITY_TOKEN_EXPIRES_IN = "expires_in"; + private static final String NIMBLE_IDENTITY_TOKEN_ID_TOKEN = "id_token"; + private static final String NIMBLE_IDENTITY_TOKEN_REFRESH_TOKEN = "refresh_token"; + private static final String NIMBLE_IDENTITY_TOKEN_TYPE = "token_type"; + private static final long serialVersionUID = 2; + private String accessToken; + private Date accessTokenExpiryTime; + private String idToken; + private String refreshToken; + private Date refreshTokenExpiryTime; + private String type; + + public NimbleIdentityToken(Map map) { + this.accessToken = (String) map.get("access_token"); + this.refreshToken = (String) map.get(NIMBLE_IDENTITY_TOKEN_REFRESH_TOKEN); + this.idToken = (String) map.get(NIMBLE_IDENTITY_TOKEN_ID_TOKEN); + this.type = (String) map.get(NIMBLE_IDENTITY_TOKEN_TYPE); + long currentTimeMillis = System.currentTimeMillis(); + this.accessTokenExpiryTime = new Date(getTimeFromObject(map.get("expires_in")) + currentTimeMillis); + this.refreshTokenExpiryTime = new Date(currentTimeMillis + getTimeFromObject(map.get(NIMBLE_IDENTITY_REFRESH_TOKEN_EXPIRES_IN))); + } + + public NimbleIdentityToken() { + } + + public String getAccessToken() { + Log.Helper.LOGPUBLICFUNC(this); + return this.accessToken; + } + + public String getRefreshToken() { + Log.Helper.LOGPUBLICFUNC(this); + return this.refreshToken; + } + + public Date getAccessTokenExpiryTime() { + Log.Helper.LOGPUBLICFUNC(this); + return this.accessTokenExpiryTime; + } + + public Date getRefreshTokenExpiryTime() { + Log.Helper.LOGPUBLICFUNC(this); + return this.refreshTokenExpiryTime; + } + + public String getIdToken() { + Log.Helper.LOGPUBLICFUNC(this); + return this.idToken; + } + + public String getType() { + Log.Helper.LOGPUBLICFUNC(this); + return this.type; + } + + private long getTimeFromObject(Object obj) { + double d; + Log.Helper.LOGFUNC(this); + if (obj instanceof String) { + d = Double.parseDouble((String) obj); + } else if (obj instanceof Double) { + d = ((Double) obj).doubleValue(); + } else { + if (obj instanceof Integer) { + return ((Integer) obj).intValue() * 1000; + } + Log.Helper.LOGES("Identity", "Couldn't get time from object of type " + obj.getClass().getName(), new Object[0]); + d = 0.0d; + } + return (long) (d * 1000.0d); + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityUserInfo.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityUserInfo.java new file mode 100644 index 0000000..265fe00 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityUserInfo.java @@ -0,0 +1,109 @@ +package com.ea.nimble.identity; + +import com.ea.nimble.Log; +import java.io.Serializable; +import java.util.Date; + +/* loaded from: classes.dex */ +public class NimbleIdentityUserInfo implements Serializable, Cloneable { + private static final long serialVersionUID = 1; + private String avatarUri; + private String dateOfBirth; + private String displayName; + private String email; + private Date expiryTime; + private String pid; + private String userId; + private String userName; + + /* renamed from: clone, reason: merged with bridge method [inline-methods] */ + public NimbleIdentityUserInfo m4clone() { + Log.Helper.LOGPUBLICFUNC(this); + try { + return (NimbleIdentityUserInfo) super.clone(); + } catch (CloneNotSupportedException unused) { + return null; + } + } + + public String getPid() { + Log.Helper.LOGPUBLICFUNC(this); + return this.pid; + } + + public void setPid(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.pid = str; + } + + public String getUserId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.userId; + } + + void setUserId(String str) { + this.userId = str; + } + + public String getDateOfBirth() { + Log.Helper.LOGPUBLICFUNC(this); + return this.dateOfBirth; + } + + public void setDateOfBirth(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.dateOfBirth = str; + } + + public String getEmail() { + Log.Helper.LOGPUBLICFUNC(this); + return this.email; + } + + public void setEmail(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.email = str; + } + + public String getDisplayName() { + Log.Helper.LOGPUBLICFUNC(this); + return this.displayName; + } + + public void setDisplayName(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.displayName = str; + } + + public String getuserName() { + Log.Helper.LOGPUBLICFUNC(this); + return this.userName; + } + + public void setUserName(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.userName = str; + } + + public String getAvatarUri() { + Log.Helper.LOGPUBLICFUNC(this); + return this.avatarUri; + } + + public void setAvatarUri(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.avatarUri = str; + } + + public Date getExpiryTime() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.expiryTime != null) { + return new Date(this.expiryTime.getTime()); + } + return null; + } + + void setExpiryTime(Date date) { + this.expiryTime = date; + } +} diff --git a/app/src/main/java/com/ea/nimble/identity/NimbleIdentityUtility.java b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityUtility.java new file mode 100644 index 0000000..7eeb206 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/identity/NimbleIdentityUtility.java @@ -0,0 +1,101 @@ +package com.ea.nimble.identity; + +import android.annotation.SuppressLint; +import com.ea.nimble.Error; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.Utility; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.TimeZone; +import org.apache.http.protocol.HTTP; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class NimbleIdentityUtility { + public static final String NIMBLE_IDENTITY_DEVICE_UNIQUE_IDENTIFIER = "nimble.identity.device.unique.identifier"; + + NimbleIdentityUtility() { + } + + public static Map parseBodyJSONData(NetworkConnectionHandle networkConnectionHandle) throws Error { + return Utility.convertJSONObjectToMap(parseJsonResponse(networkConnectionHandle)); + } + + public static HashMap parseRedirectURLParameters(NetworkConnectionHandle networkConnectionHandle) { + String url = networkConnectionHandle.getResponse().getUrl().toString(); + HashMap hashMap = new HashMap<>(); + for (String str : (url.split("\\?").length == 2 ? url.split("\\?")[0] : "").split("&")) { + if (str.split("=").length == 2) { + hashMap.put(str.split("=")[0], str.split("=")[1]); + } + } + return hashMap; + } + + @SuppressLint({"SimpleDateFormat"}) + public static String getTimeString(Date date) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); + simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); + return simpleDateFormat.format(date); + } + + @SuppressLint({"SimpleDateFormat"}) + public static String getCurrentTimeString() { + return new SimpleDateFormat("yyyy-MM-DD HH:mm:ss").format(new Date()); + } + + public static ByteArrayOutputStream toJSONString(HashMap hashMap) { + if (hashMap == null) { + return null; + } + try { + byte[] bytes = new GsonBuilder().serializeNulls().create().toJson(hashMap, new TypeToken>() { // from class: com.ea.nimble.identity.NimbleIdentityUtility.1 + }.getType()).getBytes(HTTP.UTF_8); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(bytes.length); + byteArrayOutputStream.write(bytes); + return byteArrayOutputStream; + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + return null; + } catch (IOException e2) { + e2.printStackTrace(); + return null; + } + } + + public static JSONObject parseJsonResponse(NetworkConnectionHandle networkConnectionHandle) throws Error { + Exception error = networkConnectionHandle.getResponse().getError(); + if (error != null) { + if (error instanceof Error) { + throw ((Error) error); + } + throw new Error(Error.Code.UNKNOWN, "Unknown error while parsing network response", error); + } + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + if (dataStream == null) { + throw new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Cannot understand server response, expecting JSON string but get invalid data"); + } + try { + try { + JSONObject jSONObject = new JSONObject(Utility.readStringFromStream(dataStream)); + if (Utility.validString((String) jSONObject.opt("error"))) { + throw NimbleIdentityError.createWithData(Utility.convertJSONObjectToMap(jSONObject)); + } + return jSONObject; + } catch (JSONException e) { + throw new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Invalid JSON received from server", e); + } + } catch (IOException e2) { + throw new Error(Error.Code.NETWORK_INVALID_SERVER_RESPONSE, "Error reading server response", e2); + } + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/INimbleMTX.java b/app/src/main/java/com/ea/nimble/mtx/INimbleMTX.java new file mode 100644 index 0000000..c4ac0f2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/INimbleMTX.java @@ -0,0 +1,50 @@ +package com.ea.nimble.mtx; + +import com.ea.nimble.Error; +import com.ea.nimble.mtx.NimbleCatalogItem; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +public interface INimbleMTX { + public static final String NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED = "nimble.notification.mtx.refreshcatalogfinished"; + public static final String NIMBLE_NOTIFICATION_MTX_RESTORE_PURCHASED_TRANSACTIONS_FINISHED = "nimble.notification.mtx.restorepurchasedtransactionsfinished"; + public static final String NIMBLE_NOTIFICATION_MTX_TRANSACTIONS_RECOVERED = "nimble.notification.mtx.transactionsrecovered"; + public static final String NOTIFICATION_DICTIONARY_KEY_TRANSACTIONID = "TRANSACTION_ID"; + + public interface FinalizeTransactionCallback { + void finalizeComplete(NimbleMTXTransaction nimbleMTXTransaction); + } + + public interface ItemGrantedCallback { + void itemGrantedComplete(NimbleMTXTransaction nimbleMTXTransaction); + } + + public interface PurchaseTransactionCallback { + void purchaseComplete(NimbleMTXTransaction nimbleMTXTransaction); + + void unverifiedReceiptReceived(NimbleMTXTransaction nimbleMTXTransaction); + } + + Error finalizeTransaction(String str, FinalizeTransactionCallback finalizeTransactionCallback); + + List getAvailableCatalogItems(); + + List getPendingTransactions(); + + List getPurchasedTransactions(); + + List getRecoveredTransactions(); + + Error itemGranted(String str, NimbleCatalogItem.ItemType itemType, ItemGrantedCallback itemGrantedCallback); + + Error purchaseItem(String str, PurchaseTransactionCallback purchaseTransactionCallback, String str2); + + void refreshAvailableCatalogItems(); + + void restorePurchasedTransactions(); + + Error resumeTransaction(String str, PurchaseTransactionCallback purchaseTransactionCallback, ItemGrantedCallback itemGrantedCallback, FinalizeTransactionCallback finalizeTransactionCallback); + + void setPlatformParameters(Map map); +} diff --git a/app/src/main/java/com/ea/nimble/mtx/NimbleCatalogItem.java b/app/src/main/java/com/ea/nimble/mtx/NimbleCatalogItem.java new file mode 100644 index 0000000..f3004cf --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/NimbleCatalogItem.java @@ -0,0 +1,32 @@ +package com.ea.nimble.mtx; + +import java.util.Map; + +/* loaded from: classes.dex */ +public abstract class NimbleCatalogItem { + + public enum ItemType { + UNKNOWN, + NONCONSUMABLE, + CONSUMABLE, + SUBSCRIPTION + } + + public abstract Map getAdditionalInfo(); + + public abstract String getDescription(); + + public abstract ItemType getItemType(); + + public abstract String getMetaDataUrl(); + + public abstract float getPriceDecimal(); + + public abstract String getPriceWithCurrencyAndFormat(); + + public abstract String getSellId(); + + public abstract String getSku(); + + public abstract String getTitle(); +} diff --git a/app/src/main/java/com/ea/nimble/mtx/NimbleMTX.java b/app/src/main/java/com/ea/nimble/mtx/NimbleMTX.java new file mode 100644 index 0000000..5f31db8 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/NimbleMTX.java @@ -0,0 +1,20 @@ +package com.ea.nimble.mtx; + +import com.ea.nimble.Base; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class NimbleMTX { + public static final String COMPONENT_ID = "com.ea.nimble.mtx"; + + public static INimbleMTX getComponent() { + Object[] componentList = Base.getComponentList("com.ea.nimble.mtx"); + if (componentList == null || componentList.length <= 0) { + return null; + } + if (componentList.length != 1) { + Log.Helper.LOGFS("MTX", "More than one MTX component registered!", new Object[0]); + } + return (INimbleMTX) componentList[0]; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/NimbleMTXError.java b/app/src/main/java/com/ea/nimble/mtx/NimbleMTXError.java new file mode 100644 index 0000000..b53dacf --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/NimbleMTXError.java @@ -0,0 +1,56 @@ +package com.ea.nimble.mtx; + +import com.ea.nimble.Error; + +/* loaded from: classes.dex */ +public class NimbleMTXError extends Error { + public static final String ERROR_DOMAIN = "NimbleMTXError"; + private static final long serialVersionUID = 1; + + public enum Code { + BILLING_NOT_AVAILABLE(20000), + ITEM_ALREADY_OWNED(20001), + ITEM_NOT_OWNED(20002), + USER_CANCELED(20003), + VERIFICATION_ERROR(20004), + GET_NONCE_ERROR(20005), + NON_CRITICAL_INTERRUPTION(20006), + INTERNAL_STATE(20007), + TRANSACTION_PENDING(20008), + TRANSACTION_NOT_RESUMABLE(20009), + UNRECOGNIZED_TRANSACTION_ID(20010), + INVALID_TRANSACTION_STATE(20011), + UNABLE_TO_CONSTRUCT_REQUEST(20012), + PLATFORM_ERROR(20013), + INVALID_SERVER_RESPONSE(20014), + ERROR_GETTING_PREPURCHASE_INFO(20015), + ITEM_UNAVAILABLE(20016), + INVALID_SKU(20017), + TRANSACTION_DEFERRED(20018), + TRANSACTION_SUPERSEDED(20019), + EMPTY_SYNERGY_CATALOG(20020), + EMPTY_BILLING_CATALOG(20021), + ITEM_TYPE_NOT_MATCH(20037); + + private int m_value; + + Code(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public NimbleMTXError() { + } + + public NimbleMTXError(Code code, String str, Throwable th) { + super(ERROR_DOMAIN, code.intValue(), str, th); + } + + public NimbleMTXError(Code code, String str) { + super(ERROR_DOMAIN, code.intValue(), str, null); + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/NimbleMTXTransaction.java b/app/src/main/java/com/ea/nimble/mtx/NimbleMTXTransaction.java new file mode 100644 index 0000000..0a5d951 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/NimbleMTXTransaction.java @@ -0,0 +1,44 @@ +package com.ea.nimble.mtx; + +import java.util.Date; +import java.util.Map; + +/* loaded from: classes.dex */ +public interface NimbleMTXTransaction { + + public enum TransactionState { + UNDEFINED, + USER_INITIATED, + WAITING_FOR_PREPURCHASE_INFO, + WAITING_FOR_PLATFORM_RESPONSE, + WAITING_FOR_VERIFICATION, + WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT, + WAITING_FOR_PLATFORM_CONSUMPTION, + COMPLETE + } + + public enum TransactionType { + PURCHASE, + RESTORE + } + + Map getAdditionalInfo(); + + Exception getError(); + + String getItemSellId(); + + String getItemSku(); + + float getPriceDecimal(); + + String getReceipt(); + + Date getTimeStamp(); + + String getTransactionId(); + + TransactionState getTransactionState(); + + TransactionType getTransactionType(); +} diff --git a/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/ItemCategory.java b/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/ItemCategory.java new file mode 100644 index 0000000..aa214d3 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/ItemCategory.java @@ -0,0 +1,9 @@ +package com.ea.nimble.mtx.catalog.synergy; + +/* loaded from: classes.dex */ +public class ItemCategory { + public int m_id; + public byte[] m_regularImageData; + public byte[] m_selectedImageData; + public String m_title; +} diff --git a/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalog.java b/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalog.java new file mode 100644 index 0000000..a91e2d1 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalog.java @@ -0,0 +1,462 @@ +package com.ea.nimble.mtx.catalog.synergy; + +import android.util.Base64; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Global; +import com.ea.nimble.IApplicationEnvironment; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.INetwork; +import com.ea.nimble.ISynergyEnvironment; +import com.ea.nimble.ISynergyNetwork; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.SynergyIdManager; +import com.ea.nimble.SynergyNetwork; +import com.ea.nimble.SynergyNetworkConnectionCallback; +import com.ea.nimble.SynergyNetworkConnectionHandle; +import com.ea.nimble.SynergyRequest; +import com.ea.nimble.Utility; +import com.ea.nimble.mtx.NimbleCatalogItem; +import com.ea.nimble.mtx.NimbleMTXError; +import com.facebook.internal.ServerProtocol; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/* loaded from: classes.dex */ +public class SynergyCatalog implements LogSource { + public static final String MTX_INFO_KEY_CURRENCY = "localCurrency"; + public static final String MTX_INFO_KEY_METADATA = "metadata"; + public static final String MTX_INFO_KEY_SELLID = "sellId"; + private static final String SYNERGY_API_GET_AVAILABLE_ITEMS = "/product/api/core/getAvailableItems"; + private static final String SYNERGY_API_GET_CATEGORIES = "/product/api/core/getMTXGameCategories"; + private static final String SYNERGY_API_GET_DOWNLOAD_URL = "/product/api/core/getDownloadItemUrl"; + private static final String SYNERGY_API_GET_NONCE = "/drm/api/core/getNonce"; + private static final String SYNERGY_API_GET_PURCHASED_ITEMS = "/drm/api/core/getPurchasedItems"; + private String m_itemSkuPrefix; + private int m_itemsLoadingBinaryData = 0; + + public interface CategoryCallback { + void callback(Set set, Exception exc); + } + + public interface CompletionCallback { + void callback(Exception exc); + } + + public interface DataCallback { + void callback(InputStream inputStream, Exception exc); + } + + public interface ItemCallback { + void callback(List list, Exception exc); + } + + public interface ItemSkuCallback { + void callback(List list, Exception exc); + } + + public enum StoreType { + GOOGLE, + AMAZON + } + + public interface StringCallback { + void callback(String str, Exception exc); + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "SynergyCatalog"; + } + + static /* synthetic */ int access$106(SynergyCatalog synergyCatalog) { + int i = synergyCatalog.m_itemsLoadingBinaryData - 1; + synergyCatalog.m_itemsLoadingBinaryData = i; + return i; + } + + public SynergyCatalog(StoreType storeType) { + if (storeType == StoreType.AMAZON) { + this.m_itemSkuPrefix = ApplicationEnvironment.getComponent().getApplicationBundleId() + "."; + return; + } + this.m_itemSkuPrefix = ""; + } + + public String getItemSkuPrefix() { + return this.m_itemSkuPrefix; + } + + public String getSellIdFromSku(String str) { + if (!this.m_itemSkuPrefix.isEmpty() && str != null && str.startsWith(this.m_itemSkuPrefix)) { + str = str.substring(this.m_itemSkuPrefix.length()); + } + if (Utility.isOnlyDecimalCharacters(str)) { + return str; + } + return null; + } + + public void getItemCatalog(final ItemCallback itemCallback) { + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.1 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + ISynergyEnvironment component2 = SynergyEnvironment.getComponent(); + if (component2 != null) { + synergyRequest.baseUrl = component2.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_PRODUCT); + HashMap hashMap = new HashMap(); + hashMap.put("masterSellId", component2.getSellId()); + hashMap.put("typeSubstr", "1"); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("ver", component.getApplicationVersion()); + hashMap.put("uid", Utility.validString(SynergyIdManager.getComponent().getSynergyId()) ? SynergyIdManager.getComponent().getSynergyId() : "0"); + hashMap.put("sdkVer", Global.NIMBLE_RELEASE_VERSION); + hashMap.put("langCode", component.getShortApplicationLanguageCode()); + hashMap.put("includeOfferType", ServerProtocol.DIALOG_RETURN_SCOPES_TRUE); + synergyRequest.urlParameters = hashMap; + synergyRequest.send(); + return; + } + Log.Helper.LOGE(this, "[getItemCatalog prepareRequest callback failed] Synergy environment is null, unable to send request", new Object[0]); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.2 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + if (synergyNetworkConnectionHandle.getResponse().getError() == null) { + List list = (List) synergyNetworkConnectionHandle.getResponse().getJsonData().get("productData"); + if (list == null || list.size() == 0) { + itemCallback.callback(null, new NimbleMTXError(NimbleMTXError.Code.EMPTY_SYNERGY_CATALOG, "No items retrieved from Synergy")); + return; + } + ArrayList arrayList = new ArrayList(list.size()); + Iterator it = list.iterator(); + while (it.hasNext()) { + arrayList.add(SynergyCatalog.this.createItemFromMap((Map) it.next())); + } + itemCallback.callback(arrayList, null); + return; + } + itemCallback.callback(null, synergyNetworkConnectionHandle.getResponse().getError()); + } + }; + SynergyRequest synergyRequest = new SynergyRequest(SYNERGY_API_GET_AVAILABLE_ITEMS, IHttpRequest.Method.GET, synergyRequestPreparingCallback); + ISynergyNetwork component = SynergyNetwork.getComponent(); + if (component != null) { + component.sendRequest(synergyRequest, synergyNetworkConnectionCallback); + } else { + Log.Helper.LOGE(this, "[getItemCatalog failed] Synergy Network is null, unable to send request", new Object[0]); + } + } + + public void loadBinaryDataForItems(Collection collection, final CompletionCallback completionCallback) { + String metaDataUrl; + if (this.m_itemsLoadingBinaryData != 0) { + Log.Helper.LOGE(this, "Error: items already loading binary data", new Object[0]); + return; + } + for (final SynergyCatalogItem synergyCatalogItem : collection) { + if (synergyCatalogItem.m_additionalInfo.get("binaryData") == null && (metaDataUrl = synergyCatalogItem.getMetaDataUrl()) != null) { + try { + URL url = new URL(metaDataUrl); + this.m_itemsLoadingBinaryData++; + INetwork component = Network.getComponent(); + if (component != null) { + component.sendGetRequest(url, null, new NetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.3 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + InputStream dataStream = networkConnectionHandle.getResponse().getDataStream(); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + try { + byte[] bArr = new byte[4096]; + while (true) { + int read = dataStream.read(bArr, 0, bArr.length); + if (read == -1) { + break; + } else { + byteArrayOutputStream.write(bArr, 0, read); + } + } + byteArrayOutputStream.flush(); + } catch (IOException unused) { + Log.Helper.LOGE(this, "Error reading binary data", new Object[0]); + } + synergyCatalogItem.getAdditionalInfo().put("binaryData", byteArrayOutputStream.toByteArray()); + SynergyCatalog.access$106(SynergyCatalog.this); + if (SynergyCatalog.this.m_itemsLoadingBinaryData == 0) { + completionCallback.callback(null); + } + } + }); + } else { + Log.Helper.LOGE(this, "Synergy loadBinaryDataForItems failed! Network component was null, unable to send get request", new Object[0]); + } + } catch (MalformedURLException unused) { + Log.Helper.LOGE(this, "Error: Malformed item url: " + metaDataUrl, new Object[0]); + } + } + } + } + + public void getNonce(final StringCallback stringCallback) { + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.4 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (component != null) { + synergyRequest.baseUrl = component.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_DRM); + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("uid", SynergyIdManager.getComponent().getSynergyId()); + hashMap.put("masterSellId", component.getSellId()); + synergyRequest.urlParameters = hashMap; + synergyRequest.send(); + return; + } + Log.Helper.LOGE(this, "[getNonce failed] Synergy environment is null, unable to send request", new Object[0]); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.5 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + if (synergyNetworkConnectionHandle.getResponse().getError() == null) { + Object obj = synergyNetworkConnectionHandle.getResponse().getJsonData().get("nonce"); + stringCallback.callback(obj != null ? obj.toString() : "", null); + } else { + stringCallback.callback(null, synergyNetworkConnectionHandle.getResponse().getError()); + } + } + }; + SynergyRequest synergyRequest = new SynergyRequest(SYNERGY_API_GET_NONCE, IHttpRequest.Method.GET, synergyRequestPreparingCallback); + ISynergyNetwork component = SynergyNetwork.getComponent(); + if (component != null) { + component.sendRequest(synergyRequest, synergyNetworkConnectionCallback); + } else { + Log.Helper.LOGE(this, "[getNonce failed] Synergy network is null, unable to send request", new Object[0]); + } + } + + public void downloadItem(SynergyCatalogItem synergyCatalogItem, final DataCallback dataCallback) { + getDownloadUrlForItem(synergyCatalogItem, new StringCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.6 + @Override // com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.StringCallback + public void callback(String str, Exception exc) { + if (exc == null) { + SynergyCatalog.this.downloadContent(str, dataCallback); + } else { + callback(null, exc); + } + } + }); + } + + public void getPurchasedItems(final ItemSkuCallback itemSkuCallback) { + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.7 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (component != null) { + synergyRequest.baseUrl = component.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_DRM); + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("uid", SynergyIdManager.getComponent().getSynergyId()); + hashMap.put("masterSellId", component.getSellId()); + synergyRequest.urlParameters = hashMap; + synergyRequest.send(); + return; + } + Log.Helper.LOGE(this, "[getPurchasedItems prepareRequest callback failed] Synergy environment is null, unable to send request", new Object[0]); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.8 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + if (synergyNetworkConnectionHandle.getResponse().getError() == null) { + List list = (List) synergyNetworkConnectionHandle.getResponse().getJsonData().get("sellIds"); + ArrayList arrayList = new ArrayList(list.size()); + Iterator it = list.iterator(); + while (it.hasNext()) { + arrayList.add(SynergyCatalog.this.m_itemSkuPrefix + ((Integer) it.next())); + } + itemSkuCallback.callback(arrayList, null); + return; + } + itemSkuCallback.callback(null, synergyNetworkConnectionHandle.getResponse().getError()); + } + }; + SynergyRequest synergyRequest = new SynergyRequest(SYNERGY_API_GET_PURCHASED_ITEMS, IHttpRequest.Method.GET, synergyRequestPreparingCallback); + ISynergyNetwork component = SynergyNetwork.getComponent(); + if (component != null) { + component.sendRequest(synergyRequest, synergyNetworkConnectionCallback); + } else { + Log.Helper.LOGE(this, "[getPurchasedItems failed] Synergy network is null, unable to send request", new Object[0]); + } + } + + public void getCategories(final CategoryCallback categoryCallback) { + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.9 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + ISynergyEnvironment component2 = SynergyEnvironment.getComponent(); + if (component2 != null) { + synergyRequest.baseUrl = component2.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_PRODUCT); + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("masterSellId", component2.getSellId()); + hashMap.put("langCode", component.getShortApplicationLanguageCode()); + synergyRequest.urlParameters = hashMap; + synergyRequest.send(); + return; + } + Log.Helper.LOGE(this, "[getCategories prepareRequest callback failed] Synergy environment is null, unable to send request", new Object[0]); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.10 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + if (synergyNetworkConnectionHandle.getResponse().getError() == null) { + List list = (List) synergyNetworkConnectionHandle.getResponse().getJsonData().get("gameCategoryData"); + HashSet hashSet = new HashSet(); + for (Map map : list) { + ItemCategory itemCategory = new ItemCategory(); + itemCategory.m_id = ((Integer) map.get("categoryId")).intValue(); + itemCategory.m_title = (String) map.get("title"); + itemCategory.m_regularImageData = Base64.decode((String) map.get("imageOff"), 0); + itemCategory.m_selectedImageData = Base64.decode((String) map.get("imageOn"), 0); + hashSet.add(itemCategory); + } + categoryCallback.callback(hashSet, null); + return; + } + categoryCallback.callback(null, synergyNetworkConnectionHandle.getResponse().getError()); + } + }; + SynergyRequest synergyRequest = new SynergyRequest(SYNERGY_API_GET_CATEGORIES, IHttpRequest.Method.GET, synergyRequestPreparingCallback); + ISynergyNetwork component = SynergyNetwork.getComponent(); + if (component != null) { + component.sendRequest(synergyRequest, synergyNetworkConnectionCallback); + } else { + Log.Helper.LOGE(this, "[getCategories failed] Synergy network is null, unable to send request", new Object[0]); + } + } + + private void getDownloadUrlForItem(final SynergyCatalogItem synergyCatalogItem, final StringCallback stringCallback) { + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.11 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(SynergyRequest synergyRequest) { + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + ISynergyEnvironment component2 = SynergyEnvironment.getComponent(); + if (component2 != null) { + synergyRequest.baseUrl = component2.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_PRODUCT); + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + hashMap.put("ver", component.getApplicationVersion()); + hashMap.put("uid", SynergyIdManager.getComponent().getSynergyId()); + hashMap.put("langCode", component.getShortApplicationLanguageCode()); + hashMap.put(SynergyCatalog.MTX_INFO_KEY_SELLID, synergyCatalogItem.getSellId()); + synergyRequest.urlParameters = hashMap; + synergyRequest.send(); + return; + } + Log.Helper.LOGE(this, "[getDownloadUrlForItem prepareRequest callback failed] Synergy environment is null, unable to send request", new Object[0]); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.12 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + if (synergyNetworkConnectionHandle.getResponse().getError() == null) { + List list = (List) ((Map) synergyNetworkConnectionHandle.getResponse().getJsonData().get("infoData")).get("fileURL"); + if (list.size() > 0) { + stringCallback.callback((String) list.get(0), null); + return; + } else { + stringCallback.callback(null, new Exception("No urls for item")); + return; + } + } + stringCallback.callback(null, synergyNetworkConnectionHandle.getResponse().getError()); + } + }; + SynergyRequest synergyRequest = new SynergyRequest(SYNERGY_API_GET_DOWNLOAD_URL, IHttpRequest.Method.GET, synergyRequestPreparingCallback); + ISynergyNetwork component = SynergyNetwork.getComponent(); + if (component != null) { + component.sendRequest(synergyRequest, synergyNetworkConnectionCallback); + } else { + Log.Helper.LOGE(this, "[getDownloadUrlForItem failed] Synergy network is null, unable to send request", new Object[0]); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void downloadContent(String str, final DataCallback dataCallback) { + try { + URL url = new URL(str); + INetwork component = Network.getComponent(); + if (component != null) { + component.sendGetRequest(url, null, new NetworkConnectionCallback() { // from class: com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.13 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + if (networkConnectionHandle.getResponse().getError() == null) { + dataCallback.callback(networkConnectionHandle.getResponse().getDataStream(), null); + } else { + dataCallback.callback(null, networkConnectionHandle.getResponse().getError()); + } + } + }); + } else { + Log.Helper.LOGE(this, "[downloadContent failed] Network component is null, unable to sendGetRequest to Url", new Object[0]); + } + } catch (MalformedURLException unused) { + Log.Helper.LOGE(this, "Invalid url: " + str, new Object[0]); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public SynergyCatalogItem createItemFromMap(Map map) { + SynergyCatalogItem synergyCatalogItem = new SynergyCatalogItem(); + String str = "" + map.get(MTX_INFO_KEY_SELLID); + String str2 = "skuAlias_" + str + "="; + String str3 = (String) map.get("desc2"); + if (str3 != null && str3.contains(str2)) { + String substring = str3.substring(str3.indexOf(str2) + str2.length()); + int indexOf = substring.indexOf(59); + if (indexOf > 0) { + substring = substring.substring(0, indexOf); + } + synergyCatalogItem.m_sku = substring; + Log.Helper.LOGV(this, "[Sku Mapping] SellID=" + str + " | SKU=" + synergyCatalogItem.m_sku, new Object[0]); + } else { + synergyCatalogItem.m_sku = this.m_itemSkuPrefix + str; + } + synergyCatalogItem.m_title = (String) map.get("title"); + if (Utility.safeString((String) map.get("offerType")).equals("Subscription")) { + synergyCatalogItem.m_type = NimbleCatalogItem.ItemType.SUBSCRIPTION; + } else { + synergyCatalogItem.m_type = ((Boolean) map.get("consumable")).booleanValue() ? NimbleCatalogItem.ItemType.CONSUMABLE : NimbleCatalogItem.ItemType.NONCONSUMABLE; + } + synergyCatalogItem.m_description = (String) map.get("desc"); + synergyCatalogItem.m_metaDataUrl = (String) map.get("packUrl"); + synergyCatalogItem.m_isFree = ((Boolean) map.get("free")).booleanValue(); + synergyCatalogItem.m_additionalInfo.putAll(map); + String str4 = (String) map.get("binaryPack"); + if (Utility.validString(str4)) { + synergyCatalogItem.m_additionalInfo.put("binaryData", Base64.decode(str4, 0)); + } + return synergyCatalogItem; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalogItem.java b/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalogItem.java new file mode 100644 index 0000000..004d9ab --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/catalog/synergy/SynergyCatalogItem.java @@ -0,0 +1,97 @@ +package com.ea.nimble.mtx.catalog.synergy; + +import com.ea.nimble.mtx.NimbleCatalogItem; +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +public class SynergyCatalogItem extends NimbleCatalogItem implements Serializable { + private static final long serialVersionUID = 1; + Map m_additionalInfo; + String m_description; + String m_formattedPrice; + boolean m_isFree; + String m_metaDataUrl; + float m_price; + String m_sku; + String m_title; + NimbleCatalogItem.ItemType m_type; + + public SynergyCatalogItem() { + this.m_additionalInfo = new HashMap(); + } + + public SynergyCatalogItem(String str) { + this(); + this.m_sku = str; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getSku() { + return this.m_sku; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getSellId() { + if (this.m_additionalInfo.containsKey(SynergyCatalog.MTX_INFO_KEY_SELLID)) { + return this.m_additionalInfo.get(SynergyCatalog.MTX_INFO_KEY_SELLID).toString(); + } + return null; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getTitle() { + return this.m_title; + } + + public void setTitle(String str) { + this.m_title = str; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getDescription() { + return this.m_description; + } + + public void setDescription(String str) { + this.m_description = str; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public float getPriceDecimal() { + return this.m_price; + } + + public void setPriceDecimal(float f) { + this.m_price = f; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getPriceWithCurrencyAndFormat() { + return this.m_formattedPrice; + } + + public void setPriceWithCurrencyAndFormat(String str) { + this.m_formattedPrice = str; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public NimbleCatalogItem.ItemType getItemType() { + return this.m_type; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getMetaDataUrl() { + return this.m_metaDataUrl; + } + + public boolean isFree() { + return this.m_isFree; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public Map getAdditionalInfo() { + return this.m_additionalInfo; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlay.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlay.java new file mode 100644 index 0000000..320b086 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlay.java @@ -0,0 +1,1957 @@ +package com.ea.nimble.mtx.googleplay; + +import android.app.Activity; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.net.Uri; +import android.os.Bundle; +import android.provider.Settings; +import android.support.v4.content.LocalBroadcastManager; +import android.telephony.TelephonyManager; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.ApplicationLifecycle; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.Error; +import com.ea.nimble.Global; +import com.ea.nimble.IApplicationEnvironment; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.ISynergyEnvironment; +import com.ea.nimble.ISynergyIdManager; +import com.ea.nimble.ISynergyRequest; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.NimbleApplicationConfiguration; +import com.ea.nimble.NimbleConfiguration; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.SynergyIdManager; +import com.ea.nimble.SynergyNetwork; +import com.ea.nimble.SynergyNetworkConnectionCallback; +import com.ea.nimble.SynergyNetworkConnectionHandle; +import com.ea.nimble.SynergyRequest; +import com.ea.nimble.SynergyServerError; +import com.ea.nimble.Timer; +import com.ea.nimble.Utility; +import com.ea.nimble.mtx.INimbleMTX; +import com.ea.nimble.mtx.NimbleCatalogItem; +import com.ea.nimble.mtx.NimbleMTXError; +import com.ea.nimble.mtx.NimbleMTXTransaction; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalogItem; +import com.ea.nimble.mtx.googleplay.GooglePlayError; +import com.ea.nimble.mtx.googleplay.GooglePlayTransaction; +import com.ea.nimble.mtx.googleplay.util.IabHelper; +import com.ea.nimble.mtx.googleplay.util.IabResult; +import com.ea.nimble.mtx.googleplay.util.Inventory; +import com.ea.nimble.mtx.googleplay.util.Purchase; +import com.ea.nimble.mtx.googleplay.util.SkuDetails; +import com.ea.nimble.tracking.ITracking; +import com.ea.nimble.tracking.Tracking; +import com.facebook.FacebookSdk; +import com.facebook.internal.NativeProtocol; +import com.facebook.internal.ServerProtocol; +import com.facebook.places.model.PlaceFields; +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.TimeZone; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; + +/* loaded from: classes.dex */ +public class GooglePlay extends Component implements INimbleMTX, IabHelper.OnIabPurchaseFinishedListener, IApplicationLifecycle.ActivityEventCallbacks, LogSource { + private static final double CACHE_EXPIRE_TIME = 3600.0d; + private static final String CACHE_TIMESTAMP_KEY = "cacheTimestamp"; + public static final String COMPONENT_ID = "com.ea.nimble.mtx.googleplay"; + private static final double DEFERRED_CALLBACK_DELAY = 0.1d; + public static int GOOGLEPLAY_ACTIVITY_RESULT_REQUEST_CODE = 987654; + public static String GOOGLEPLAY_ADDITIONALINFO_KEY_ORDERID = "orderId"; + public static String GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASEDATA = "purchaseData"; + public static String GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASESTATE = "purchaseState"; + public static String GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASETIME = "purchaseTime"; + public static String GOOGLEPLAY_ADDITIONALINFO_KEY_RECEIPT = "receipt"; + public static String GOOGLEPLAY_ADDITIONALINFO_KEY_TOKEN = "token"; + public static String GOOGLEPLAY_PLATFORM_PARAMETER_APPLICATION_PUBLIC_KEY = "GOOGLEPLAY_APPLICATION_PUBLIC_KEY"; + private static final double MAX_REQUEST_RETRY_DELAY = 300.0d; + private static final String NOTIFICATION_TRACKING2_LOG_EVENT = "nimble.notification.tracking2.logEvent"; + private static final String PERSISTENCE_CATALOG_ITEMS = "catalogItems"; + private static final String PERSISTENCE_PENDING_TRANSACTIONS = "pendingTransactions"; + private static final String PERSISTENCE_PURCHASED_TRANSACTIONS = "purchasedTransactions"; + private static final String PERSISTENCE_RECOVERED_TRANSACTIONS = "recoveredTransactions"; + private static final String PERSISTENCE_UNRECORDED_TRANSACTIONS = "unrecordedTransactions"; + private static final String SYNERGY_API_VERIFY_AND_RECORD_GOOGLEPLAY_PURCHASE = "/drm/api/android/verifyAndRecordPurchase"; + public static final String TAG = "MTX Google"; + IabHelper mGooglePlayIabHelper; + String m_appPublicKey; + private Long m_cacheTimestamp; + private ItemRestorer m_itemRestorer; + private boolean m_reportingEnabled; + private boolean m_restoreInProgress; + SynergyCatalog m_synergyCatalog; + private TransactionRecorder m_transactionRecorder; + private boolean m_verificationEnabled; + HashMap mPendingTransactions = new HashMap<>(); + HashMap mPurchasedTransactions = new HashMap<>(); + HashMap mRecoveredTransactions = new HashMap<>(); + HashMap mCatalogItems = new HashMap<>(); + ArrayList mUnrecordedTransactions = new ArrayList<>(); + + private interface CatalogItemCallback { + void onCatalogItemsRetrieved(List list, Exception exc); + } + + private interface GetNonceCallback { + void onGetNonceComplete(GooglePlayTransaction googlePlayTransaction, String str, Error error); + } + + private interface VerifyCallback { + void onVerificationComplete(Exception exc); + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.mtx.googleplay"; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return TAG; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public boolean onBackPressed() { + return true; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onNewIntent(Activity activity, Intent intent) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onWindowFocusChanged(boolean z) { + } + + private class JsonData implements ISynergyRequest.IJsonData { + private HashMap data; + + public JsonData(HashMap hashMap) { + this.data = hashMap; + } + + @Override // com.ea.nimble.ISynergyRequest.IJsonData + public int size() { + return this.data.size(); + } + + @Override // com.ea.nimble.ISynergyRequest.IJsonData + public Object getData() { + return this.data; + } + } + + private class ItemRestorer extends BroadcastReceiver implements Runnable { + private double m_requestRetryDelay; + private int m_retryCount; + private Timer m_timer; + + private ItemRestorer() { + this.m_timer = new Timer(this); + this.m_requestRetryDelay = 1.0d; + this.m_retryCount = 0; + } + + public void restoreItems() { + if (GooglePlay.this.m_restoreInProgress) { + return; + } + synchronized (GooglePlay.this) { + if (GooglePlay.this.mCatalogItems != null && !GooglePlay.this.mCatalogItems.isEmpty()) { + GooglePlay.this.restorePurchasedTransactionsImpl(false); + } + GooglePlay.this.m_restoreInProgress = true; + Log.Helper.LOGD(GooglePlay.this, "Restore pending but catalog is unavailable. Initiating refresh now.", new Object[0]); + Utility.registerReceiver(INimbleMTX.NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED, this); + this.m_retryCount = 0; + GooglePlay.this.refreshAvailableCatalogItems(); + } + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Bundle extras = intent.getExtras(); + if (extras != null && extras.getString(Global.NOTIFICATION_DICTIONARY_KEY_RESULT).equals("0")) { + Error error = (Error) extras.getParcelable("error"); + this.m_retryCount++; + if (error.getDomain().equals(SynergyServerError.ERROR_DOMAIN) && this.m_retryCount < 5) { + Log.Helper.LOGD(GooglePlay.this, "Catalog refresh failed with restore pending. Retrying in " + this.m_requestRetryDelay + " seconds.", new Object[0]); + if (this.m_timer.isRunning()) { + return; + } + this.m_timer.schedule(this.m_requestRetryDelay, false); + return; + } + Log.Helper.LOGD(GooglePlay.this, "Catalog refresh failed with restore pending. Skip.", new Object[0]); + } + this.m_retryCount = 0; + this.m_timer.cancel(); + Utility.unregisterReceiver(this); + GooglePlay.this.m_restoreInProgress = false; + GooglePlay.this.restorePurchasedTransactionsImpl(false); + } + + @Override // java.lang.Runnable + public void run() { + this.m_requestRetryDelay = Math.min(this.m_requestRetryDelay * 2.0d, 300.0d); + GooglePlay.this.refreshAvailableCatalogItems(); + } + + public void cancel() { + GooglePlay.this.m_restoreInProgress = false; + this.m_timer.cancel(); + this.m_requestRetryDelay = 1.0d; + Utility.unregisterReceiver(this); + } + } + + private GooglePlay() { + this.m_itemRestorer = new ItemRestorer(); + this.m_transactionRecorder = new TransactionRecorder(); + } + + private void createIabHelper() { + this.mGooglePlayIabHelper = new IabHelper(ApplicationEnvironment.getComponent().getApplicationContext(), getAppPublicKey(), GOOGLEPLAY_ACTIVITY_RESULT_REQUEST_CODE); + this.mGooglePlayIabHelper.enableDebugLogging(true); + this.mGooglePlayIabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.1 + @Override // com.ea.nimble.mtx.googleplay.util.IabHelper.OnIabSetupFinishedListener + public void onIabSetupFinished(IabResult iabResult) { + Log.Helper.LOGD(this, "InAppBilling helper setup finished.", new Object[0]); + if (iabResult.isSuccess()) { + GooglePlay.this.m_itemRestorer.restoreItems(); + return; + } + Log.Helper.LOGD(this, "Error setting up InAppBilling helper: " + iabResult, new Object[0]); + } + }, new IabHelper.OnIabBroadcastListener() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.2 + @Override // com.ea.nimble.mtx.googleplay.util.IabHelper.OnIabBroadcastListener + public void receivedBroadcast() { + Log.Helper.LOGD(this, "Received PURCHASES_UPDATED broadcast - resolving transactions", new Object[0]); + GooglePlay.this.restorePurchasedTransactions(); + } + }, this); + } + + public static GooglePlay getComponent() { + return (GooglePlay) Base.getComponent("com.ea.nimble.mtx.googleplay"); + } + + private static void initialize() { + Base.registerComponent(new GooglePlay(), "com.ea.nimble.mtx.googleplay"); + } + + @Override // com.ea.nimble.Component + public void setup() { + Log.Helper.LOGD(this, "Component setup", new Object[0]); + if (this.mGooglePlayIabHelper == null) { + createIabHelper(); + } + this.m_verificationEnabled = true; + this.m_reportingEnabled = true; + String configValueAsString = NimbleApplicationConfiguration.getConfigValueAsString("com.ea.nimble.mtx.enableVerification"); + if ("false".equalsIgnoreCase(configValueAsString)) { + Log.Helper.LOGD(this, "Receipt verification has been disabled.", new Object[0]); + this.m_verificationEnabled = false; + String configValueAsString2 = NimbleApplicationConfiguration.getConfigValueAsString("com.ea.nimble.mtx.reportingEnabled"); + if ("false".equalsIgnoreCase(configValueAsString2)) { + Log.Helper.LOGD(this, "Transaction reporting has been disabled.", new Object[0]); + this.m_reportingEnabled = false; + return; + } else { + if (ServerProtocol.DIALOG_RETURN_SCOPES_TRUE.equalsIgnoreCase(configValueAsString2)) { + return; + } + Log.Helper.LOGD(this, "Value com.ea.nimble.mtx.reportingEnabled corrupted or non existed in manifest file.", new Object[0]); + return; + } + } + if (ServerProtocol.DIALOG_RETURN_SCOPES_TRUE.equalsIgnoreCase(configValueAsString)) { + return; + } + Log.Helper.LOGD(this, "Value com.ea.nimble.mtx.enableVerification corrupted or non existed in manifest file.", new Object[0]); + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGD(this, "Component restore", new Object[0]); + this.m_synergyCatalog = new SynergyCatalog(SynergyCatalog.StoreType.GOOGLE); + loadFromPersistence(); + Utility.registerReceiver(Global.NOTIFICATION_LANGUAGE_CHANGE, new BroadcastReceiver() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.3 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGD(this, "refreshing catalog items after language change", new Object[0]); + GooglePlay.this.refreshAvailableCatalogItems(); + } + }); + ApplicationLifecycle.getComponent().registerActivityEventCallbacks(this); + } + + @Override // com.ea.nimble.Component + protected void teardown() { + Log.Helper.LOGD(this, "Component teardown", new Object[0]); + this.m_transactionRecorder.cancel(); + this.m_itemRestorer.cancel(); + } + + @Override // com.ea.nimble.Component + public void suspend() { + Log.Helper.LOGD(this, "Component suspend", new Object[0]); + this.m_transactionRecorder.cancel(); + this.m_itemRestorer.cancel(); + } + + @Override // com.ea.nimble.Component + public void resume() { + Log.Helper.LOGD(this, "Component resume", new Object[0]); + if (!this.mGooglePlayIabHelper.isServiceAvailable()) { + this.mGooglePlayIabHelper.dispose(); + createIabHelper(); + } + synchronized (this) { + for (GooglePlayTransaction googlePlayTransaction : this.mPendingTransactions.values()) { + if (googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_SYNERGY_VERIFICATION || googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_NONCE) { + new PurchaseTransactionVerifier().verifyTransaction(googlePlayTransaction); + } + } + } + this.m_transactionRecorder.recordTransactions(); + this.m_itemRestorer.restoreItems(); + } + + @Override // com.ea.nimble.Component + public void cleanup() { + Log.Helper.LOGD(this, "Component cleanup", new Object[0]); + if (this.mGooglePlayIabHelper != null) { + this.mGooglePlayIabHelper.dispose(); + this.mGooglePlayIabHelper = null; + } + ApplicationLifecycle.getComponent().unregisterActivityEventCallbacks(this); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onActivityResult(Activity activity, int i, int i2, Intent intent) { + Log.Helper.LOGD(this, "onActivityResult", new Object[0]); + if (this.mGooglePlayIabHelper == null) { + Log.Helper.LOGE(this, "GooglePlayIabHelper is not created or service is not currently available!", new Object[0]); + } else { + this.mGooglePlayIabHelper.handleActivityResult(i, i2, intent); + } + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public Error purchaseItem(final String str, INimbleMTX.PurchaseTransactionCallback purchaseTransactionCallback, String str2) { + GooglePlayCatalogItem googlePlayCatalogItem; + Object obj; + String currencyCode; + Log.Helper.LOGV(this, "purchaseItem() call with sku(%s)", str); + if (this.mGooglePlayIabHelper == null || !this.mGooglePlayIabHelper.isServiceAvailable()) { + Log.Helper.LOGE(this, "IabHelper is not set up. Either the GooglePlay app is not present, or the billing server was not bound", new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.BILLING_NOT_AVAILABLE, "IabHelper is not set up. Either the GooglePlay app is not present, or the billing server was not bound"); + } + if (purchaseTransactionCallback == null) { + Log.Helper.LOGE(this, "Missing purchase callback", new Object[0]); + return new Error(Error.Code.MISSING_CALLBACK, "Missing purchase callback"); + } + if (isTransactionPending()) { + Log.Helper.LOGD(this, "purchaseItem called while transactions still pending.", new Object[0]); + synchronized (this) { + Log.Helper.LOGD(this, "pendingTransactions: " + this.mPendingTransactions, new Object[0]); + Log.Helper.LOGD(this, "recoveredTransactions: " + this.mRecoveredTransactions, new Object[0]); + } + return new NimbleMTXError(NimbleMTXError.Code.TRANSACTION_PENDING, "Another transaction is still outstanding."); + } + if (this.m_restoreInProgress) { + Log.Helper.LOGD(this, "purchaseItem called while restore is in progress.", new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.TRANSACTION_PENDING, "Can't purchase item while restore is in progress."); + } + if (this.mRecoveredTransactions.size() != 0) { + Log.Helper.LOGE(this, "mRecoveredTransactions.size() != 0. Resuming transaction.", new Object[0]); + for (Map.Entry entry : this.mRecoveredTransactions.entrySet()) { + String key = entry.getKey(); + Log.Helper.LOGE(this, "transactionId: %s", key); + GooglePlayTransaction value = entry.getValue(); + resumeTransaction(key, purchaseTransactionCallback, value.mItemGrantedCallback, value.mFinalizeCallback); + } + } + String generateTransactionId = generateTransactionId(); + final GooglePlayTransaction googlePlayTransaction = new GooglePlayTransaction(); + googlePlayTransaction.mItemSku = str; + googlePlayTransaction.mTransactionId = generateTransactionId; + googlePlayTransaction.mTransactionType = NimbleMTXTransaction.TransactionType.PURCHASE; + googlePlayTransaction.mPurchaseCallback = purchaseTransactionCallback; + Object[] objArr = new Object[2]; + objArr[0] = Utility.validString(str2) ? str2 : "not set; metadata is null"; + objArr[1] = str; + Log.Helper.LOGV(this, "Setting metadata... %s for sku %s", objArr); + if (Utility.validString(str2)) { + googlePlayTransaction.mAdditionalInfo.put(SynergyCatalog.MTX_INFO_KEY_METADATA, str2); + } + String sellIdFromSku = this.m_synergyCatalog.getSellIdFromSku(str); + synchronized (this) { + googlePlayCatalogItem = this.mCatalogItems.get(str); + if (googlePlayCatalogItem != null) { + googlePlayTransaction.mCatalogItem = new GooglePlayCatalogItem(googlePlayCatalogItem); + sellIdFromSku = googlePlayCatalogItem.getSellId(); + } + } + synchronized (this) { + this.mPendingTransactions.put(generateTransactionId, googlePlayTransaction); + } + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_PREPURCHASE_INFO); + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null && sellIdFromSku != null) { + HashMap hashMap = new HashMap(); + hashMap.put(Tracking.KEY_MTX_SELLID, sellIdFromSku); + ((ITracking) component).logEvent(Tracking.EVENT_MTX_ITEM_BEGIN_PURCHASE, hashMap); + } + HashMap hashMap2 = new HashMap(); + hashMap2.put("en", "mtx"); + Bundle bundle = new Bundle(); + bundle.putSerializable("core", hashMap2); + bundle.putString(NativeProtocol.WEB_DIALOG_ACTION, "begin"); + if (sellIdFromSku != null) { + bundle.putString("itemSellId", sellIdFromSku); + } else { + bundle.putString("skuAlias", str); + } + float f = 0.0f; + if (googlePlayCatalogItem != null) { + f = googlePlayCatalogItem.getPriceDecimal(); + obj = googlePlayCatalogItem.getAdditionalInfo().get(SynergyCatalog.MTX_INFO_KEY_CURRENCY); + } else { + obj = null; + } + if (obj != null) { + currencyCode = obj.toString(); + } else { + currencyCode = ApplicationEnvironment.getComponent().getCurrencyCode(); + } + bundle.putString("currency", currencyCode); + bundle.putString("price", String.format(Locale.US, "%.2f", Float.valueOf(f))); + bundle.putString("eatid", generateTransactionId); + Intent intent = new Intent(); + intent.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent.putExtras(bundle); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent); + GooglePlayCatalogItem googlePlayCatalogItem2 = new GooglePlayCatalogItem(); + googlePlayCatalogItem2.mSku = str; + ArrayList arrayList = new ArrayList(); + arrayList.add(googlePlayCatalogItem2); + getGooglePlayPricingForPendingCatalogItems(arrayList, new CatalogItemCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.4 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.CatalogItemCallback + public void onCatalogItemsRetrieved(List list, Exception exc) { + if (exc == null && (list == null || list.isEmpty())) { + exc = new NimbleMTXError(NimbleMTXError.Code.ERROR_GETTING_PREPURCHASE_INFO, "Failed to get prepurchase info for item " + str); + } + if (exc != null) { + googlePlayTransaction.mError = exc; + googlePlayTransaction.mFailedState = googlePlayTransaction.mGooglePlayTransactionState; + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + if (googlePlayTransaction.mPurchaseCallback != null) { + try { + googlePlayTransaction.mPurchaseCallback.purchaseComplete(googlePlayTransaction); + return; + } catch (Exception e) { + Log.Helper.LOGE(this, "MTX_GOOGLE: Unhandled exception in mPurchaseCallback: " + e, new Object[0]); + e.printStackTrace(); + return; + } + } + return; + } + googlePlayTransaction.mPriceDecimal = list.get(0).getPriceDecimal(); + Object obj2 = list.get(0).getAdditionalInfo().get(SynergyCatalog.MTX_INFO_KEY_CURRENCY); + if (obj2 != null) { + googlePlayTransaction.mAdditionalInfo.put(SynergyCatalog.MTX_INFO_KEY_CURRENCY, obj2.toString()); + } else { + Log.Helper.LOGD(this, "Currency information not currently available; using local currency instead.", new Object[0]); + googlePlayTransaction.mAdditionalInfo.put(SynergyCatalog.MTX_INFO_KEY_CURRENCY, ApplicationEnvironment.getComponent().getCurrencyCode()); + } + GooglePlay.this.googlePlayCallPurchaseItem(googlePlayTransaction); + } + }); + return null; + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public Error itemGranted(String str, NimbleCatalogItem.ItemType itemType, INimbleMTX.ItemGrantedCallback itemGrantedCallback) { + GooglePlayTransaction googlePlayTransaction; + Log.Helper.LOGV(this, "itemGranted() call with transactionId(%s) and type (%s)", str, itemType.toString()); + synchronized (this) { + googlePlayTransaction = this.mPendingTransactions.get(str); + } + if (googlePlayTransaction == null) { + Log.Helper.LOGE(this, "Could not find transaction by Id to perform item grant, id: " + str, new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.UNRECOGNIZED_TRANSACTION_ID, "Could not find transaction to perform item grant."); + } + if (googlePlayTransaction.mGooglePlayTransactionState != GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT) { + Log.Helper.LOGW(this, "Transaction in unexpected state for item grant. Transaction state: %s", googlePlayTransaction.mGooglePlayTransactionState); + } + if (itemGrantedCallback == null) { + Log.Helper.LOGE(this, "itemGranted called with empty callback parameter.", new Object[0]); + return new Error(Error.Code.MISSING_CALLBACK, "Missing callback in itemGranted call."); + } + googlePlayTransaction.mItemGrantedCallback = itemGrantedCallback; + if (googlePlayTransaction.mCatalogItem != null && googlePlayTransaction.mCatalogItem.getItemType() == NimbleCatalogItem.ItemType.CONSUMABLE && itemType != NimbleCatalogItem.ItemType.CONSUMABLE) { + Log.Helper.LOGW(this, "Game called item grant for SKU, %s, and indicated NOT consumable, though cached catalog data indicates the item is a consumable.", googlePlayTransaction.getItemSku()); + } + if (googlePlayTransaction.getError() != null) { + Log.Helper.LOGW(this, "Transaction for item SKU, %s, granted by game, despite an error. Clearing error from transaction.", googlePlayTransaction.getItemSku()); + googlePlayTransaction.mError = null; + } + if (itemType == NimbleCatalogItem.ItemType.CONSUMABLE) { + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_CONSUMPTION); + googlePlayConsumeItem(googlePlayTransaction); + } else { + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + deferredConsumeCallback(googlePlayTransaction.mItemGrantedCallback, googlePlayTransaction); + } + return null; + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public Error finalizeTransaction(String str, INimbleMTX.FinalizeTransactionCallback finalizeTransactionCallback) { + GooglePlayTransaction googlePlayTransaction; + String currencyCode; + Log.Helper.LOGV(this, "finalizeTransaction() call with transactionId(%s)", str); + synchronized (this) { + googlePlayTransaction = this.mPendingTransactions.get(str); + } + if (googlePlayTransaction == null) { + String str2 = "Could not find transaction by Id to perform finalize, id: " + str; + Log.Helper.LOGE(this, str2, new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.UNRECOGNIZED_TRANSACTION_ID, str2); + } + if (googlePlayTransaction.mGooglePlayTransactionState != GooglePlayTransaction.GooglePlayTransactionState.COMPLETE) { + Log.Helper.LOGW(this, "Finalize called on unfinished transaction, for sku, %s.", googlePlayTransaction.getItemSku()); + } + googlePlayTransaction.mFinalizeCallback = finalizeTransactionCallback; + if (googlePlayTransaction.getError() == null && googlePlayTransaction.mTransactionType == NimbleMTXTransaction.TransactionType.PURCHASE) { + String itemSku = googlePlayTransaction.getItemSku(); + String format = String.format(Locale.US, "%.2f", Float.valueOf(googlePlayTransaction.getPriceDecimal())); + Object obj = googlePlayTransaction.getAdditionalInfo().get(SynergyCatalog.MTX_INFO_KEY_CURRENCY); + if (obj != null) { + currencyCode = obj.toString(); + } else { + Log.Helper.LOGD(this, "Currency information not currently available; using local currency instead.", new Object[0]); + currencyCode = ApplicationEnvironment.getComponent().getCurrencyCode(); + } + String sellIdFromSku = this.m_synergyCatalog.getSellIdFromSku(itemSku); + if (sellIdFromSku == null) { + GooglePlayCatalogItem catalogItem = googlePlayTransaction.getCatalogItem(); + if (catalogItem == null) { + catalogItem = this.mCatalogItems.get(itemSku); + } + if (catalogItem != null) { + sellIdFromSku = catalogItem.getSellId(); + } + } + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null && sellIdFromSku != null) { + HashMap hashMap = new HashMap(); + hashMap.put(Tracking.KEY_MTX_SELLID, sellIdFromSku); + hashMap.put(Tracking.KEY_MTX_PRICE, format); + hashMap.put(Tracking.KEY_MTX_CURRENCY, currencyCode); + ((ITracking) component).logEvent(Tracking.EVENT_MTX_ITEM_PURCHASED, hashMap); + } + HashMap hashMap2 = new HashMap(); + hashMap2.put("en", "mtx"); + Bundle bundle = new Bundle(); + bundle.putSerializable("core", hashMap2); + bundle.putString(NativeProtocol.WEB_DIALOG_ACTION, "purchased"); + if (sellIdFromSku != null) { + bundle.putString("itemSellId", sellIdFromSku); + } else { + bundle.putString("skuAlias", itemSku); + } + bundle.putString("price", format); + bundle.putString("currency", currencyCode); + bundle.putString("eatid", str); + Object obj2 = googlePlayTransaction.getAdditionalInfo().get(GOOGLEPLAY_ADDITIONALINFO_KEY_ORDERID); + if (obj2 != null) { + bundle.putString("fptid", obj2.toString()); + } + Intent intent = new Intent(); + intent.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent.putExtras(bundle); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent); + } + synchronized (this) { + this.mPendingTransactions.remove(str); + } + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + if (googlePlayTransaction.getError() == null) { + synchronized (this) { + this.mPurchasedTransactions.put(str, googlePlayTransaction); + } + savePurchasedTransactionsToPersistence(); + } + boolean z = !googlePlayTransaction.mIsRecorded && googlePlayTransaction.mError == null; + if (z) { + synchronized (this) { + this.mUnrecordedTransactions.add(googlePlayTransaction); + } + saveUnrecordedTransactionsToPersistence(); + } + if (googlePlayTransaction.mFinalizeCallback != null) { + googlePlayTransaction.mFinalizeCallback.finalizeComplete(googlePlayTransaction); + } + if (!z) { + return null; + } + this.m_transactionRecorder.recordTransactions(); + return null; + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public void restorePurchasedTransactions() { + Log.Helper.LOGV(this, "restorePurchasedTransactions()", new Object[0]); + restorePurchasedTransactionsImpl(true); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void restorePurchasedTransactionsImpl(boolean z) { + Log.Helper.LOGFUNC(this); + if (this.m_restoreInProgress) { + Log.Helper.LOGD(this, "restorePurchasedTransactions called while restore already in progress. Aborting.", new Object[0]); + return; + } + if (isTransactionPending(z)) { + Log.Helper.LOGD(this, "restorePurchasedTransactions called while transactions still pending.", new Object[0]); + synchronized (this) { + Log.Helper.LOGD(this, "pendingTransactions: " + this.mPendingTransactions, new Object[0]); + Log.Helper.LOGD(this, "recoveredTransactions: " + this.mRecoveredTransactions, new Object[0]); + } + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_RESTORE_PURCHASED_TRANSACTIONS_FINISHED, new NimbleMTXError(NimbleMTXError.Code.TRANSACTION_PENDING, "Can't restore purchases while transaction is pending"), null, null); + return; + } + Log.Helper.LOGD(this, "restorePurchasedTransactions called.", new Object[0]); + this.m_restoreInProgress = true; + try { + this.mGooglePlayIabHelper.queryInventoryAsync(true, true, new IabHelper.QueryInventoryFinishedListener() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.5 + @Override // com.ea.nimble.mtx.googleplay.util.IabHelper.QueryInventoryFinishedListener + public void onQueryInventoryFinished(IabResult iabResult, Inventory inventory) { + GooglePlayError createGooglePlayErrorFromIabResult; + Log.Helper.LOGDS(GooglePlay.TAG, "restorePurchasedTransactions onQueryInventoryFinished", new Object[0]); + if (iabResult == null || iabResult.isFailure()) { + Log.Helper.LOGES(GooglePlay.TAG, "Error with GooglePlay purchased item query. %s", iabResult.getMessage()); + createGooglePlayErrorFromIabResult = GooglePlay.this.createGooglePlayErrorFromIabResult(iabResult); + } else { + createGooglePlayErrorFromIabResult = null; + } + ArrayList arrayList = new ArrayList(); + if (inventory != null && inventory.getAllPurchases() != null) { + List allPurchases = inventory.getAllPurchases(); + HashSet hashSet = new HashSet(); + for (Purchase purchase : allPurchases) { + hashSet.add(Utility.safeString(purchase.getSku())); + GooglePlayTransaction googlePlayTransaction = new GooglePlayTransaction(); + googlePlayTransaction.mTransactionType = NimbleMTXTransaction.TransactionType.RESTORE; + googlePlayTransaction.mTransactionId = GooglePlay.this.generateTransactionId(); + googlePlayTransaction.mItemSku = Utility.safeString(purchase.getSku()); + GooglePlayCatalogItem googlePlayCatalogItem = GooglePlay.this.mCatalogItems.get(googlePlayTransaction.mItemSku); + if (googlePlayCatalogItem != null) { + if (googlePlayCatalogItem.getItemType() == NimbleCatalogItem.ItemType.CONSUMABLE) { + Log.Helper.LOGDS("CatalogItem: ", "CONSUMABLE", new Object[0]); + } else if (googlePlayCatalogItem.getItemType() == NimbleCatalogItem.ItemType.NONCONSUMABLE) { + Log.Helper.LOGDS("CatalogItem: ", "NONCONSUMABLE", new Object[0]); + } else if (googlePlayCatalogItem.getItemType() == NimbleCatalogItem.ItemType.SUBSCRIPTION) { + Log.Helper.LOGDS("CatalogItem: ", "SUBSCRIPTION", new Object[0]); + } else { + Log.Helper.LOGDS("CatalogItem: ", "UNKNOWN", new Object[0]); + } + } else { + Log.Helper.LOGDS("CatalogItem: ", "UNKNOWN", new Object[0]); + } + googlePlayTransaction.mNonce = Utility.safeString(purchase.getDeveloperPayload()); + googlePlayTransaction.mReceipt = Utility.safeString(purchase.getSignature()); + googlePlayTransaction.mGooglePlayTransactionState = GooglePlayTransaction.GooglePlayTransactionState.UNDEFINED; + GooglePlay.this.updateAdditionalInfoBundleFromIabPurchase(googlePlayTransaction, purchase); + SkuDetails skuDetails = inventory.getSkuDetails(purchase.getSku()); + try { + googlePlayTransaction.mPriceDecimal = Float.parseFloat(skuDetails.getPriceMicros()) / 1000000.0f; + } catch (NullPointerException unused) { + Log.Helper.LOGES(GooglePlay.TAG, "Error: got passed a null pointer when trying to parse the catalog prices.", new Object[0]); + googlePlayTransaction.mPriceDecimal = 0.0f; + } catch (NumberFormatException unused2) { + Log.Helper.LOGES(GooglePlay.TAG, "Error: got passed an invalid float string when trying to parse the catalog prices.", new Object[0]); + googlePlayTransaction.mPriceDecimal = 0.0f; + } + if (skuDetails != null) { + googlePlayTransaction.mAdditionalInfo.put(SynergyCatalog.MTX_INFO_KEY_CURRENCY, skuDetails.getCurrencyCode()); + } + googlePlayTransaction.mTimeStamp = new Date(); + arrayList.add(googlePlayTransaction); + } + HashMap hashMap = new HashMap(); + for (String str : GooglePlay.this.mPurchasedTransactions.keySet()) { + hashMap.put(GooglePlay.this.mPurchasedTransactions.get(str).getItemSku(), str); + } + Set keySet = hashMap.keySet(); + keySet.removeAll(hashSet); + Iterator it = keySet.iterator(); + while (it.hasNext()) { + String str2 = (String) hashMap.get((String) it.next()); + synchronized (GooglePlay.this) { + GooglePlay.this.mPurchasedTransactions.remove(str2); + GooglePlay.this.mPendingTransactions.remove(str2); + } + } + } else { + GooglePlay.this.mPurchasedTransactions.clear(); + } + if (arrayList.size() != 0) { + if (!GooglePlay.this.m_verificationEnabled) { + if (!GooglePlay.this.m_reportingEnabled) { + GooglePlay.this.mUnrecordedTransactions.remove(arrayList); + } + GooglePlay.this.onRestoreComplete(arrayList); + return; + } + new RestoreTransactionVerifier().verifyTransactions(arrayList); + return; + } + Log.Helper.LOGDS(GooglePlay.TAG, "No restored transactions to verify. Raising NIMBLE_NOTIFICATION_MTX_RESTORE_PURCHASED_TRANSACTIONS_FINISHED notification.", new Object[0]); + GooglePlay.this.m_restoreInProgress = false; + GooglePlay.this.broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_RESTORE_PURCHASED_TRANSACTIONS_FINISHED, createGooglePlayErrorFromIabResult != null ? new Error(Error.Code.UNKNOWN, createGooglePlayErrorFromIabResult.getMessage(), createGooglePlayErrorFromIabResult) : null, null, null); + } + }); + } catch (IllegalStateException e) { + this.m_restoreInProgress = false; + Log.Helper.LOGD(this, "IAB Helper not setup. Check for Google Play account", new Object[0]); + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_RESTORE_PURCHASED_TRANSACTIONS_FINISHED, new Error(Error.Code.NOT_READY, "ERROR_IAB_NULL", e), null, null); + } + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public List getPurchasedTransactions() { + ArrayList arrayList; + Log.Helper.LOGPUBLICFUNC(this); + synchronized (this) { + arrayList = new ArrayList(this.mPurchasedTransactions.values()); + } + return arrayList; + } + + public NimbleMTXTransaction getTransaction(String str) { + GooglePlayTransaction googlePlayTransaction; + Log.Helper.LOGPUBLICFUNC(this); + if (this.mPendingTransactions == null) { + return null; + } + synchronized (this) { + googlePlayTransaction = this.mPendingTransactions.get(str); + } + return googlePlayTransaction; + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public List getPendingTransactions() { + ArrayList arrayList; + Log.Helper.LOGPUBLICFUNC(this); + if (this.mPendingTransactions == null) { + return null; + } + synchronized (this) { + arrayList = new ArrayList(this.mPendingTransactions.values()); + } + return arrayList; + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public Error resumeTransaction(String str, INimbleMTX.PurchaseTransactionCallback purchaseTransactionCallback, INimbleMTX.ItemGrantedCallback itemGrantedCallback, INimbleMTX.FinalizeTransactionCallback finalizeTransactionCallback) { + GooglePlayTransaction remove; + Log.Helper.LOGV(this, "Resuming transaction id, %s.", Utility.safeString(str)); + if (str == null) { + return new NimbleMTXError(NimbleMTXError.Code.UNRECOGNIZED_TRANSACTION_ID, "Null transaction ID"); + } + if (this.m_restoreInProgress) { + Log.Helper.LOGD(this, "resumeTransaction called while restore is in progress.", new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.TRANSACTION_PENDING, "Can't resume transaction while restore is in progress."); + } + synchronized (this) { + if (this.mPendingTransactions.size() > 0) { + remove = this.mPendingTransactions.get(str); + if (remove == null) { + Log.Helper.LOGD(this, "Resume called while transactions are pending: " + this.mPendingTransactions, new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.TRANSACTION_PENDING, "Another transaction is pending. It needs to finish and finalize first."); + } + if (remove.mError == null) { + return new Error(Error.Code.INVALID_ARGUMENT, "Cannot resume a pending transaction with no error"); + } + } else { + remove = this.mRecoveredTransactions.remove(str); + if (remove == null) { + return new NimbleMTXError(NimbleMTXError.Code.UNRECOGNIZED_TRANSACTION_ID, "No transaction for given transaction ID."); + } + this.mPendingTransactions.put(remove.getTransactionId(), remove); + } + if (remove.mError != null && (!(remove.mError instanceof Error) || ((Error) remove.mError).getCode() != NimbleMTXError.Code.TRANSACTION_SUPERSEDED.intValue())) { + Log.Helper.LOGD(this, "Resuming transaction that failed in state " + remove.mFailedState + " with error " + remove.mError, new Object[0]); + remove.mGooglePlayTransactionState = remove.mFailedState; + remove.mFailedState = null; + remove.mError = null; + } + if (remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_PREPURCHASE_INFO || remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_ACTIVITY_RESPONSE) { + remove.mFailedState = remove.mGooglePlayTransactionState; + remove.mGooglePlayTransactionState = GooglePlayTransaction.GooglePlayTransactionState.COMPLETE; + remove.mError = new NimbleMTXError(NimbleMTXError.Code.NON_CRITICAL_INTERRUPTION, "MTX transaction interrupted before account charged."); + } + remove.mPurchaseCallback = purchaseTransactionCallback; + remove.mFinalizeCallback = finalizeTransactionCallback; + remove.mItemGrantedCallback = itemGrantedCallback; + savePendingTransactionsToPersistence(); + if (remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_NONCE || remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_SYNERGY_VERIFICATION) { + new PurchaseTransactionVerifier().verifyTransaction(remove); + } else if (remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT) { + if (remove.mPurchaseCallback != null) { + remove.mPurchaseCallback.purchaseComplete(remove); + } else { + return new Error(Error.Code.MISSING_CALLBACK, "Resumed transaction not given purchase callback."); + } + } else if (remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_CONSUMPTION) { + if (remove.mItemGrantedCallback != null) { + googlePlayConsumeItem(remove); + } else { + return new Error(Error.Code.MISSING_CALLBACK, "Resumed transaction not given item granted callback."); + } + } else if (remove.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.COMPLETE) { + finalizeTransaction(str, remove.mFinalizeCallback); + } else { + Log.Helper.LOGE(this, "ResumeTransaction called on a transaction that can't be resumed: " + remove, new Object[0]); + return new NimbleMTXError(NimbleMTXError.Code.TRANSACTION_NOT_RESUMABLE, "Transaction not in a resumable state."); + } + return null; + } + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public List getRecoveredTransactions() { + ArrayList arrayList; + Log.Helper.LOGPUBLICFUNC(this); + if (this.mRecoveredTransactions == null) { + return null; + } + synchronized (this) { + arrayList = new ArrayList(this.mRecoveredTransactions.values()); + } + return arrayList; + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public void refreshAvailableCatalogItems() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.mGooglePlayIabHelper == null || !this.mGooglePlayIabHelper.isServiceAvailable()) { + Log.Helper.LOGW(this, "refreshAvailable returning because billing is unavailable", new Object[0]); + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED, new Error(Error.Code.NOT_AVAILABLE, String.valueOf(Error.Code.NOT_AVAILABLE)), null, null); + } else if (Network.getComponent().getStatus() != Network.Status.OK) { + Log.Helper.LOGW(this, "refreshAvailable returning because there is no network connection", new Object[0]); + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED, new Error(Error.Code.NETWORK_NO_CONNECTION, String.valueOf(Error.Code.NETWORK_NO_CONNECTION)), null, null); + } else { + networkCallGetAvailableItems(); + } + } + + public void networkCallGetAvailableItems() { + Log.Helper.LOGFUNC(this); + try { + this.m_synergyCatalog.getItemCatalog(new SynergyCatalog.ItemCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.6 + @Override // com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.ItemCallback + public void callback(List list, Exception exc) { + Log.Helper.LOGFUNC(this); + if (exc == null) { + LinkedList linkedList = new LinkedList(); + for (SynergyCatalogItem synergyCatalogItem : list) { + GooglePlayCatalogItem googlePlayCatalogItem = new GooglePlayCatalogItem(); + googlePlayCatalogItem.mItemType = synergyCatalogItem.getItemType(); + googlePlayCatalogItem.mAdditionalInfo = synergyCatalogItem.getAdditionalInfo(); + googlePlayCatalogItem.mDescription = synergyCatalogItem.getDescription(); + googlePlayCatalogItem.mSku = synergyCatalogItem.getSku(); + googlePlayCatalogItem.mTitle = synergyCatalogItem.getTitle(); + googlePlayCatalogItem.mUrl = synergyCatalogItem.getMetaDataUrl(); + googlePlayCatalogItem.mIsFree = synergyCatalogItem.isFree(); + linkedList.add(googlePlayCatalogItem); + } + if (Base.getConfiguration() != NimbleConfiguration.LIVE) { + GooglePlayCatalogItem googlePlayCatalogItem2 = new GooglePlayCatalogItem(); + googlePlayCatalogItem2.mSku = "android.test.purchased"; + googlePlayCatalogItem2.mTitle = "GP Purchased"; + googlePlayCatalogItem2.mDescription = "GP Purchased Desc"; + googlePlayCatalogItem2.mUrl = ""; + googlePlayCatalogItem2.mItemType = NimbleCatalogItem.ItemType.NONCONSUMABLE; + linkedList.add(googlePlayCatalogItem2); + GooglePlayCatalogItem googlePlayCatalogItem3 = new GooglePlayCatalogItem(); + googlePlayCatalogItem3.mSku = "android.test.canceled"; + googlePlayCatalogItem3.mTitle = "GP Canceled"; + googlePlayCatalogItem3.mDescription = "GP Canceled Desc"; + googlePlayCatalogItem3.mUrl = ""; + googlePlayCatalogItem3.mItemType = NimbleCatalogItem.ItemType.NONCONSUMABLE; + linkedList.add(googlePlayCatalogItem3); + GooglePlayCatalogItem googlePlayCatalogItem4 = new GooglePlayCatalogItem(); + googlePlayCatalogItem4.mSku = "android.test.refunded"; + googlePlayCatalogItem4.mTitle = "GP Refunded"; + googlePlayCatalogItem4.mDescription = "GP Refunded Desc"; + googlePlayCatalogItem4.mUrl = ""; + googlePlayCatalogItem4.mItemType = NimbleCatalogItem.ItemType.NONCONSUMABLE; + linkedList.add(googlePlayCatalogItem4); + GooglePlayCatalogItem googlePlayCatalogItem5 = new GooglePlayCatalogItem(); + googlePlayCatalogItem5.mSku = "android.test.item_unavailable"; + googlePlayCatalogItem5.mTitle = "GP Unavailable"; + googlePlayCatalogItem5.mDescription = "GP Unavailable Desc"; + googlePlayCatalogItem5.mUrl = ""; + googlePlayCatalogItem5.mItemType = NimbleCatalogItem.ItemType.NONCONSUMABLE; + linkedList.add(googlePlayCatalogItem5); + } + GooglePlay.this.getGooglePlayPricingForPendingCatalogItems(linkedList, new CatalogItemCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.6.1 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.CatalogItemCallback + public void onCatalogItemsRetrieved(List list2, Exception exc2) { + GooglePlay.this.onGooglePlayCatalogItemsRefreshed(list2, exc2); + } + }); + return; + } + Log.Helper.LOGE(this, "GetAvailableItems error: " + exc.toString(), new Object[0]); + GooglePlay.this.broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED, new Error(Error.Code.UNKNOWN, exc.toString(), exc), null, null); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public List getAvailableCatalogItems() { + Log.Helper.LOGPUBLICFUNC(this); + synchronized (this) { + if (this.mCatalogItems != null && !isCacheExpired()) { + ArrayList arrayList = new ArrayList(this.mCatalogItems.values()); + Collections.sort(arrayList, new Comparator() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.1SkuComparator + @Override // java.util.Comparator + public int compare(NimbleCatalogItem nimbleCatalogItem, NimbleCatalogItem nimbleCatalogItem2) { + return nimbleCatalogItem.getSku().compareTo(nimbleCatalogItem2.getSku()); + } + }); + return arrayList; + } + return null; + } + } + + @Override // com.ea.nimble.mtx.INimbleMTX + public void setPlatformParameters(Map map) { + String str; + Log.Helper.LOGPUBLICFUNC(this); + if (map == null || (str = map.get(GOOGLEPLAY_PLATFORM_PARAMETER_APPLICATION_PUBLIC_KEY)) == null) { + return; + } + this.m_appPublicKey = str; + if (this.mGooglePlayIabHelper != null) { + this.mGooglePlayIabHelper.setApplicationPublicKey(this.m_appPublicKey); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void getGooglePlayPricingForPendingCatalogItems(List list, CatalogItemCallback catalogItemCallback) { + Log.Helper.LOGFUNC(this); + if (list == null || list.isEmpty()) { + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED, new Error(Error.Code.UNKNOWN, "Empty catalog item list for GooglePlay catalog query."), null, null); + } else { + final C1GooglePlayCatalogUpdateListener c1GooglePlayCatalogUpdateListener = new C1GooglePlayCatalogUpdateListener(this.mGooglePlayIabHelper, list, catalogItemCallback); + ApplicationEnvironment.getCurrentActivity().runOnUiThread(new Runnable() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.7 + @Override // java.lang.Runnable + public void run() { + try { + c1GooglePlayCatalogUpdateListener.queryGooglePlay(); + } catch (IllegalStateException unused) { + c1GooglePlayCatalogUpdateListener.onQueryInventoryFinished(new IabResult(3, "Billing is unavailable"), null); + } + } + }); + } + } + + /* renamed from: com.ea.nimble.mtx.googleplay.GooglePlay$1GooglePlayCatalogUpdateListener, reason: invalid class name */ + class C1GooglePlayCatalogUpdateListener implements IabHelper.QueryInventoryFinishedListener { + List mCatalogItemList; + IabHelper mIabHelper; + final /* synthetic */ CatalogItemCallback val$callback; + + C1GooglePlayCatalogUpdateListener(IabHelper iabHelper, List list, CatalogItemCallback catalogItemCallback) { + this.val$callback = catalogItemCallback; + this.mCatalogItemList = list; + this.mIabHelper = iabHelper; + } + + void queryGooglePlay() { + ArrayList arrayList = new ArrayList(); + Iterator it = this.mCatalogItemList.iterator(); + while (it.hasNext()) { + arrayList.add(it.next().mSku); + } + Log.Helper.LOGD(this, "Making GooglePlay inventory query for skus: " + arrayList, new Object[0]); + this.mIabHelper.queryInventoryAsync(false, true, arrayList, this); + } + + @Override // com.ea.nimble.mtx.googleplay.util.IabHelper.QueryInventoryFinishedListener + public void onQueryInventoryFinished(IabResult iabResult, Inventory inventory) { + NimbleMTXError nimbleMTXError; + Log.Helper.LOGD(this, "GooglePlayCatalogUpdateListener onQueryInventoryFinished", new Object[0]); + if (iabResult.isFailure()) { + Log.Helper.LOGD(this, "Query inventory error: " + iabResult.getMessage(), new Object[0]); + nimbleMTXError = GooglePlay.this.createNimbleMTXErrorWithGooglePlayError(GooglePlay.this.createGooglePlayErrorFromIabResult(iabResult), "GooglePlay catalog query error"); + } else { + HashSet hashSet = new HashSet(); + for (GooglePlayCatalogItem googlePlayCatalogItem : this.mCatalogItemList) { + SkuDetails skuDetails = inventory.getSkuDetails(googlePlayCatalogItem.mSku); + if (skuDetails != null) { + googlePlayCatalogItem.mTitle = skuDetails.getTitle(); + googlePlayCatalogItem.mDescription = skuDetails.getDescription(); + googlePlayCatalogItem.mPriceWithCurrencyAndFormat = skuDetails.getPrice(); + googlePlayCatalogItem.mPriceDecimal = Utility.validString(skuDetails.getPriceMicros()) ? Float.parseFloat(skuDetails.getPriceMicros()) / 1000000.0f : 0.0f; + googlePlayCatalogItem.mAdditionalInfo.put(SynergyCatalog.MTX_INFO_KEY_CURRENCY, skuDetails.getCurrencyCode()); + if (skuDetails.getType().equals(IabHelper.ITEM_TYPE_SUBS) && googlePlayCatalogItem.mItemType != NimbleCatalogItem.ItemType.SUBSCRIPTION) { + Log.Helper.LOGW(this, "EA Catalog failed to recognize " + googlePlayCatalogItem.getSku() + " as subscription. Updating item type based on First Party response.", new Object[0]); + googlePlayCatalogItem.mItemType = NimbleCatalogItem.ItemType.SUBSCRIPTION; + } + } else { + Log.Helper.LOGE(this, "Could not get SKU details from GooglePlay for SKU: %s. Removing from results.", googlePlayCatalogItem.mSku); + hashSet.add(googlePlayCatalogItem); + } + } + if (hashSet.size() > 0) { + this.mCatalogItemList.removeAll(hashSet); + } + nimbleMTXError = this.mCatalogItemList.size() == 0 ? new NimbleMTXError(NimbleMTXError.Code.EMPTY_BILLING_CATALOG, "Billing platform returned no matching items") : null; + } + this.val$callback.onCatalogItemsRetrieved(this.mCatalogItemList, nimbleMTXError); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onGooglePlayCatalogItemsRefreshed(List list, Exception exc) { + Log.Helper.LOGFUNC(this); + if (exc == null) { + Log.Helper.LOGD(this, "GooglePlayCatalog Updated.", new Object[0]); + synchronized (this) { + this.mCatalogItems.clear(); + for (GooglePlayCatalogItem googlePlayCatalogItem : list) { + this.mCatalogItems.put(googlePlayCatalogItem.getSku(), googlePlayCatalogItem); + } + } + saveCatalogToPersistence(); + } else { + Log.Helper.LOGE(this, "Error updating GooglePlay Catalog: " + exc, new Object[0]); + } + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_REFRESH_CATALOG_FINISHED, exc != null ? new Error(Error.Code.UNKNOWN, exc.toString(), exc) : null, null, null); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void broadcastLocalEvent(String str, Error error, String str2, Bundle bundle) { + Log.Helper.LOGFUNC(this); + LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()); + Intent intent = new Intent(); + intent.setAction(str); + Bundle bundle2 = bundle != null ? new Bundle(bundle) : new Bundle(); + if (error == null) { + bundle2.putString(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "1"); + } else { + bundle2.putParcelable("error", error); + bundle2.putString(Global.NOTIFICATION_DICTIONARY_KEY_RESULT, "0"); + } + if (str2 != null) { + bundle2.putString(INimbleMTX.NOTIFICATION_DICTIONARY_KEY_TRANSACTIONID, str2); + } + intent.putExtras(bundle2); + localBroadcastManager.sendBroadcast(intent); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void networkCallGetNonceFromSynergy(final GooglePlayTransaction googlePlayTransaction, final GetNonceCallback getNonceCallback) { + Log.Helper.LOGFUNC(this); + try { + this.m_synergyCatalog.getNonce(new SynergyCatalog.StringCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.8 + @Override // com.ea.nimble.mtx.catalog.synergy.SynergyCatalog.StringCallback + public void callback(String str, Exception exc) { + Log.Helper.LOGFUNC(this); + if (exc == null) { + getNonceCallback.onGetNonceComplete(googlePlayTransaction, str, null); + } else { + getNonceCallback.onGetNonceComplete(googlePlayTransaction, null, new NimbleMTXError(NimbleMTXError.Code.GET_NONCE_ERROR, "Synergy getNonce request error.", exc)); + } + } + }); + } catch (Exception e) { + e.printStackTrace(); + getNonceCallback.onGetNonceComplete(googlePlayTransaction, null, new NimbleMTXError(NimbleMTXError.Code.GET_NONCE_ERROR, "Error making Synergy getNonce request", e)); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public boolean updateTransactionRecordWithNonce(GooglePlayTransaction googlePlayTransaction, String str, Error error) { + NimbleMTXError nimbleMTXError; + Log.Helper.LOGFUNC(this); + if (error == null && str != null && str.length() != 0) { + googlePlayTransaction.mNonce = str; + return true; + } + if (error != null) { + Log.Helper.LOGE(this, "Error making getNonce call to Synergy: " + error, new Object[0]); + nimbleMTXError = new NimbleMTXError(NimbleMTXError.Code.VERIFICATION_ERROR, "Synergy getNonce error", error); + } else { + Log.Helper.LOGE(this, "No nonce in Synergy response for getNonce.", new Object[0]); + nimbleMTXError = new NimbleMTXError(NimbleMTXError.Code.VERIFICATION_ERROR, "No nonce in Synergy response"); + } + if (googlePlayTransaction != null) { + googlePlayTransaction.mError = nimbleMTXError; + googlePlayTransaction.mFailedState = googlePlayTransaction.mGooglePlayTransactionState; + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + } else { + Log.Helper.LOGE(this, "No transaction record in getNonce error handling. No callback to call.", new Object[0]); + } + return false; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void googlePlayCallPurchaseItem(GooglePlayTransaction googlePlayTransaction) { + Log.Helper.LOGFUNC(this); + googlePlayTransaction.mDeveloperPayload = generateDeveloperPayloadForTransaction(googlePlayTransaction); + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_ACTIVITY_RESPONSE); + String str = IabHelper.ITEM_TYPE_INAPP; + GooglePlayCatalogItem googlePlayCatalogItem = this.mCatalogItems.get(googlePlayTransaction.getItemSku()); + if (googlePlayCatalogItem != null && googlePlayCatalogItem.getItemType() == NimbleCatalogItem.ItemType.SUBSCRIPTION) { + str = IabHelper.ITEM_TYPE_SUBS; + } + this.mGooglePlayIabHelper.launchPurchaseFlow(ApplicationEnvironment.getCurrentActivity(), googlePlayTransaction.getItemSku(), str, googlePlayTransaction.mDeveloperPayload); + } + + @Override // com.ea.nimble.mtx.googleplay.util.IabHelper.OnIabPurchaseFinishedListener + public void onIabPurchaseFinished(IabResult iabResult, Purchase purchase) { + GooglePlayTransaction googlePlayTransaction; + Log.Helper.LOGD(this, "IAB Purchase finished: " + iabResult + ", purchase: " + purchase, new Object[0]); + NimbleMTXError nimbleMTXError = null; + byte b = 0; + byte b2 = 0; + if (purchase != null) { + String developerPayload = purchase.getDeveloperPayload(); + String orderId = purchase.getOrderId(); + synchronized (this) { + googlePlayTransaction = null; + for (GooglePlayTransaction googlePlayTransaction2 : this.mPendingTransactions.values()) { + if (Utility.validString(googlePlayTransaction2.mDeveloperPayload) && googlePlayTransaction2.mDeveloperPayload.equals(developerPayload)) { + if (googlePlayTransaction == null) { + googlePlayTransaction = googlePlayTransaction2; + } else { + Log.Helper.LOGE(this, "Multiple transactions with the same developerPayload found! Using the first one. TransactionA: " + googlePlayTransaction.toString() + " TransactionB: " + googlePlayTransaction2.toString(), new Object[0]); + } + } else if (!Utility.validString(orderId) && !Utility.validString(developerPayload) && googlePlayTransaction2.mItemSku.equals(purchase.getSku())) { + Log.Helper.LOGD(this, "Found a matching SKU for pending transaction without orderId or developer payload, this must be a code redemption!", new Object[0]); + if (googlePlayTransaction == null) { + googlePlayTransaction = googlePlayTransaction2; + } else { + Log.Helper.LOGE(this, "Multiple transactions that look like code redemptions found! Using the first one. TransactionA: " + googlePlayTransaction.toString() + " TransactionB: " + googlePlayTransaction2.toString(), new Object[0]); + } + } + } + } + } else { + synchronized (this) { + googlePlayTransaction = null; + for (GooglePlayTransaction googlePlayTransaction3 : this.mPendingTransactions.values()) { + if (googlePlayTransaction3.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_ACTIVITY_RESPONSE) { + if (googlePlayTransaction == null) { + googlePlayTransaction = googlePlayTransaction3; + } else { + Log.Helper.LOGE(this, "More than one transaction record in WAITING_FOR_GOOGLE_PLAY_RESPONSE state found! Using: " + googlePlayTransaction.getItemSku() + ". Additional transaction for: " + googlePlayTransaction3.getItemSku(), new Object[0]); + } + } + } + } + } + if (googlePlayTransaction == null) { + Log.Helper.LOGD(this, "Transaction record could not be found for purchase", new Object[0]); + new ItemRestorer().restoreItems(); + return; + } + if (iabResult == null || iabResult.isFailure()) { + if (iabResult != null) { + Log.Helper.LOGD(this, "Error purchasing: " + iabResult, new Object[0]); + nimbleMTXError = createNimbleMTXErrorWithGooglePlayError(createGooglePlayErrorFromIabResult(iabResult), "GooglePlay purchase error"); + } + googlePlayTransaction.mError = nimbleMTXError; + googlePlayTransaction.mFailedState = googlePlayTransaction.mGooglePlayTransactionState; + Log.Helper.LOGD(this, "MTX_GOOGLE: Purchase error. Purchase object is: " + purchase, new Object[0]); + updateAdditionalInfoBundleFromIabPurchase(googlePlayTransaction, purchase); + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + if (googlePlayTransaction.mPurchaseCallback != null) { + try { + googlePlayTransaction.mPurchaseCallback.purchaseComplete(googlePlayTransaction); + return; + } catch (Exception e) { + Log.Helper.LOGE(this, "MTX_GOOGLE: Unhandled exception in mPurchaseCallback: " + e, new Object[0]); + e.printStackTrace(); + return; + } + } + return; + } + Log.Helper.LOGD(this, "GooglePlay Purchase successful.", new Object[0]); + googlePlayTransaction.mReceipt = purchase.getSignature(); + if (googlePlayTransaction.mReceipt == null || googlePlayTransaction.mReceipt.length() == 0) { + Log.Helper.LOGW(this, "Purchase has an empty signature string. Setting to \"xxxxx\" for test.", new Object[0]); + googlePlayTransaction.mReceipt = "xxxxxxxxxxxxxxxxxxxxxxxxx"; + } + updateAdditionalInfoBundleFromIabPurchase(googlePlayTransaction, purchase); + if (this.m_verificationEnabled) { + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_SYNERGY_VERIFICATION); + if (googlePlayTransaction.mPurchaseCallback != null) { + googlePlayTransaction.mPurchaseCallback.unverifiedReceiptReceived(googlePlayTransaction); + } else { + Log.Helper.LOGE(this, "Transaction missing callback, cannot notify game of unverified receipt", new Object[0]); + } + new PurchaseTransactionVerifier().verifyTransaction(googlePlayTransaction); + return; + } + if (!this.m_reportingEnabled) { + this.mUnrecordedTransactions.remove(googlePlayTransaction); + } + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT); + if (googlePlayTransaction.mPurchaseCallback != null) { + googlePlayTransaction.mPurchaseCallback.purchaseComplete(googlePlayTransaction); + } else { + Log.Helper.LOGE(this, "Transaction missing callback, cannot notify game of completed purchase", new Object[0]); + } + } + + private class PurchaseTransactionVerifier { + private PurchaseTransactionVerifier() { + } + + public void verifyTransaction(GooglePlayTransaction googlePlayTransaction) { + Log.Helper.LOGFUNC(this); + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_NONCE); + GooglePlay.this.networkCallGetNonceFromSynergy(googlePlayTransaction, new GetNonceCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.PurchaseTransactionVerifier.1 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.GetNonceCallback + public void onGetNonceComplete(final GooglePlayTransaction googlePlayTransaction2, String str, Error error) { + Log.Helper.LOGFUNC(this); + if (googlePlayTransaction2.mGooglePlayTransactionState != GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_NONCE) { + return; + } + if (GooglePlay.this.updateTransactionRecordWithNonce(googlePlayTransaction2, str, error)) { + GooglePlay.this.networkCallRecordPurchase(googlePlayTransaction2, new VerifyCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.PurchaseTransactionVerifier.1.1 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.VerifyCallback + public void onVerificationComplete(Exception exc) { + Log.Helper.LOGFUNC(this); + if (googlePlayTransaction2.mGooglePlayTransactionState != GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_SYNERGY_VERIFICATION) { + return; + } + if (exc == null) { + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction2, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT); + } else { + Log.Helper.LOGE(this, "Error making recordPurchase call to Synergy: " + exc, new Object[0]); + googlePlayTransaction2.mError = new NimbleMTXError(NimbleMTXError.Code.VERIFICATION_ERROR, "Synergy verification error", exc); + googlePlayTransaction2.mFailedState = googlePlayTransaction2.mGooglePlayTransactionState; + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction2, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + } + if (googlePlayTransaction2 == null || googlePlayTransaction2.mPurchaseCallback == null) { + return; + } + googlePlayTransaction2.mPurchaseCallback.purchaseComplete(googlePlayTransaction2); + } + }); + } else { + if (googlePlayTransaction2 == null || googlePlayTransaction2.mPurchaseCallback == null) { + return; + } + googlePlayTransaction2.mPurchaseCallback.purchaseComplete(googlePlayTransaction2); + } + } + }); + } + } + + private class RestoreTransactionVerifier { + private AtomicInteger m_transactionsVerifying; + private ArrayList m_verifiedTransactions; + + private RestoreTransactionVerifier() { + } + + public void verifyTransactions(List list) { + Log.Helper.LOGFUNC(this); + this.m_transactionsVerifying = new AtomicInteger(0); + this.m_verifiedTransactions = new ArrayList<>(); + if (list.size() == 0) { + GooglePlay.this.onRestoreComplete(this.m_verifiedTransactions); + return; + } + for (GooglePlayTransaction googlePlayTransaction : list) { + this.m_transactionsVerifying.incrementAndGet(); + synchronized (GooglePlay.this) { + GooglePlay.this.mPendingTransactions.put(googlePlayTransaction.getTransactionId(), googlePlayTransaction); + } + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_NONCE); + GooglePlay.this.networkCallGetNonceFromSynergy(googlePlayTransaction, new GetNonceCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.RestoreTransactionVerifier.1 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.GetNonceCallback + public void onGetNonceComplete(final GooglePlayTransaction googlePlayTransaction2, String str, Error error) { + if (GooglePlay.this.updateTransactionRecordWithNonce(googlePlayTransaction2, str, error)) { + GooglePlay.this.networkCallRecordPurchase(googlePlayTransaction2, new VerifyCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.RestoreTransactionVerifier.1.1 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.VerifyCallback + public void onVerificationComplete(Exception exc) { + if (exc != null) { + googlePlayTransaction2.mError = new NimbleMTXError(NimbleMTXError.Code.VERIFICATION_ERROR, "Synergy verification error", exc); + } + RestoreTransactionVerifier.this.m_verifiedTransactions.add(googlePlayTransaction2); + if (RestoreTransactionVerifier.this.m_transactionsVerifying.decrementAndGet() == 0) { + GooglePlay.this.onRestoreComplete(RestoreTransactionVerifier.this.m_verifiedTransactions); + } + } + }); + } else if (RestoreTransactionVerifier.this.m_transactionsVerifying.decrementAndGet() == 0) { + GooglePlay.this.onRestoreComplete(RestoreTransactionVerifier.this.m_verifiedTransactions); + } + } + }); + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + /* JADX WARN: Removed duplicated region for block: B:39:0x019f A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public void onRestoreComplete(java.util.List r11) { + /* + Method dump skipped, instructions count: 465 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.mtx.googleplay.GooglePlay.onRestoreComplete(java.util.List):void"); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void networkCallRecordPurchase(final GooglePlayTransaction googlePlayTransaction, final VerifyCallback verifyCallback) { + Log.Helper.LOGFUNC(this); + updateGooglePlayTransactionRecordState(googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_SYNERGY_VERIFICATION); + SynergyRequest.SynergyRequestPreparingCallback synergyRequestPreparingCallback = new SynergyRequest.SynergyRequestPreparingCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.9 + @Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback + public void prepareRequest(final SynergyRequest synergyRequest) { + Log.Helper.LOGFUNC(this); + final IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + component.retrieveAdvertisingId(new IApplicationEnvironment.AdvertisingIdCalback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.9.1 + @Override // com.ea.nimble.IApplicationEnvironment.AdvertisingIdCalback + public void onCallback(String str, boolean z) { + Map playerIdMap; + ISynergyEnvironment component2 = SynergyEnvironment.getComponent(); + ISynergyIdManager component3 = SynergyIdManager.getComponent(); + HashMap hashMap = new HashMap(); + boolean z2 = googlePlayTransaction.getCatalogItem() != null && googlePlayTransaction.getCatalogItem().isFree(); + hashMap.put("transactionId", googlePlayTransaction.getAdditionalInfo().get(GooglePlay.GOOGLEPLAY_ADDITIONALINFO_KEY_ORDERID)); + hashMap.put("price", Integer.valueOf((int) (googlePlayTransaction.getPriceDecimal() * 100.0f))); + hashMap.put("currency", googlePlayTransaction.getAdditionalInfo().get(SynergyCatalog.MTX_INFO_KEY_CURRENCY)); + hashMap.put("restore", Boolean.valueOf(googlePlayTransaction.getTransactionType() == NimbleMTXTransaction.TransactionType.RESTORE)); + try { + hashMap.put("receipt", googlePlayTransaction.getAdditionalInfo().get(GooglePlay.GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASEDATA)); + } catch (Exception unused) { + Log.Helper.LOGE(this, "Exception creating JSON body for /recordPurchase", new Object[0]); + hashMap.put("receipt", ""); + } + String itemSku = googlePlayTransaction.getItemSku(); + String sellIdFromSku = GooglePlay.this.m_synergyCatalog.getSellIdFromSku(itemSku); + if (sellIdFromSku != null) { + hashMap.put("itemSellId", sellIdFromSku); + } else { + hashMap.put("skuAlias", itemSku); + GooglePlayCatalogItem googlePlayCatalogItem = GooglePlay.this.mCatalogItems.get(itemSku); + if (googlePlayCatalogItem != null) { + hashMap.put("itemSellId", googlePlayCatalogItem.getSellId()); + } + } + hashMap.put("masterSellId", component2.getSellId()); + hashMap.put("hwId", component2.getEAHardwareId()); + hashMap.put("signature", googlePlayTransaction.getReceipt()); + hashMap.put("nonce", googlePlayTransaction.getNonce()); + hashMap.put("isFree", Boolean.valueOf(z2)); + String synergyId = component3.getSynergyId(); + if (synergyId != null && synergyId != "") { + hashMap.put("synergyUid", Utility.safeString(synergyId)); + } + HashMap hashMap2 = new HashMap(); + String string = Settings.Secure.getString(component.getApplicationContext().getContentResolver(), "android_id"); + String bool = Boolean.toString(z); + hashMap2.put("eaDeviceId", Utility.safeString(component2.getEADeviceId())); + hashMap2.put(ApplicationEnvironment.NIMBLE_PARAMETER_ANDROID_ID, Utility.safeString(string)); + hashMap2.put("advertiserId", Utility.safeString(str)); + hashMap2.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, Utility.safeString(bool)); + hashMap2.put("aut", Utility.safeString("")); + hashMap.put("didMap", Utility.convertObjectToJSONString(hashMap2)); + if (component != null && (playerIdMap = component.getPlayerIdMap()) != null && playerIdMap.size() > 0) { + hashMap.put("pidMap", Utility.convertObjectToJSONString(playerIdMap)); + } + HashMap hashMap3 = new HashMap(); + hashMap3.put("timestamp", Utility.safeString(Utility.getUTCDateStringFormat(googlePlayTransaction.getTimeStamp()))); + hashMap3.put("bundleId", Utility.safeString(component.getApplicationBundleId())); + hashMap3.put("appName", Utility.safeString(component.getApplicationName())); + hashMap3.put("appVersion", Utility.safeString(component.getApplicationVersion())); + hashMap3.put("appLanguage", Utility.safeString(ApplicationEnvironment.getComponent().getShortApplicationLanguageCode())); + hashMap3.put(ApplicationEnvironment.NIMBLE_PARAMETER_COUNTRY_CODE, Utility.safeString(Locale.getDefault().getCountry())); + String configValueAsString = NimbleApplicationConfiguration.getConfigValueAsString(FacebookSdk.APPLICATION_ID_PROPERTY); + if (Utility.validString(configValueAsString)) { + hashMap3.put("fbAppId", configValueAsString); + } + try { + Cursor query = ApplicationEnvironment.getComponent().getApplicationContext().getContentResolver().query(Uri.parse("content://com.facebook.katana.provider.AttributionIdProvider"), null, null, null, null); + if (query != null) { + query.moveToFirst(); + hashMap3.put(ApplicationEnvironment.NIMBLE_PARAMETER_FB_ATTR_ID, query.getString(0)); + } + } catch (IllegalStateException e) { + e.printStackTrace(); + } catch (Exception e2) { + e2.printStackTrace(); + } + hashMap.put("appInfo", Utility.convertObjectToJSONString(hashMap3)); + HashMap hashMap4 = new HashMap(); + hashMap4.put(ApplicationEnvironment.NIMBLE_PARAMETER_SYSTEM_NAME, "Android"); + hashMap4.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, bool); + PackageManager packageManager = component.getApplicationContext().getPackageManager(); + TelephonyManager telephonyManager = (TelephonyManager) component.getApplicationContext().getSystemService(PlaceFields.PHONE); + if (packageManager.checkPermission("android.permission.READ_PHONE_STATE", component.getApplicationContext().getPackageName()) == 0) { + hashMap4.put(ApplicationEnvironment.NIMBLE_PARAMETER_IMEI, Utility.safeString(telephonyManager.getDeviceId())); + } + hashMap.put("deviceInfo", Utility.convertObjectToJSONString(hashMap4)); + hashMap.put("schemaVer", "2"); + hashMap.put("clientApiVersion", "2.0.0"); + synergyRequest.jsonData = GooglePlay.this.new JsonData(hashMap); + synergyRequest.baseUrl = component2.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_DRM); + synergyRequest.send(); + } + }); + } + }; + SynergyNetworkConnectionCallback synergyNetworkConnectionCallback = new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.10 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + Exception error = synergyNetworkConnectionHandle.getResponse().getError(); + if (error == null) { + Log.Helper.LOGD(this, "recordPurchase response: " + synergyNetworkConnectionHandle.getResponse().getJsonData().toString(), new Object[0]); + googlePlayTransaction.mIsRecorded = true; + } else if (error instanceof Error) { + Error error2 = (Error) error; + if (error2.getDomain().equals(SynergyServerError.ERROR_DOMAIN) && error2.getCode() != SynergyServerError.Code.AMAZON_SERVER_CONNECTION_ERROR.intValue() && error2.getCode() != SynergyServerError.Code.APPLE_SERVER_CONNECTION_ERROR.intValue()) { + Log.Helper.LOGD(GooglePlay.this, "Transaction " + googlePlayTransaction.mTransactionId + " failed to record with error: " + error2, new Object[0]); + googlePlayTransaction.mIsRecorded = true; + } + } + if (verifyCallback == null || !ApplicationEnvironment.isMainApplicationActive()) { + return; + } + verifyCallback.onVerificationComplete(error); + } + }; + SynergyNetwork.getComponent().sendRequest(new SynergyRequest(SYNERGY_API_VERIFY_AND_RECORD_GOOGLEPLAY_PURCHASE, IHttpRequest.Method.POST, synergyRequestPreparingCallback), synergyNetworkConnectionCallback); + } + + private void googlePlayConsumeItem(GooglePlayTransaction googlePlayTransaction) { + Log.Helper.LOGFUNC(this); + try { + this.mGooglePlayIabHelper.consumeAsync(new Purchase(googlePlayTransaction), new IabHelper.OnConsumeFinishedListener() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.11 + @Override // com.ea.nimble.mtx.googleplay.util.IabHelper.OnConsumeFinishedListener + public void onConsumeFinished(Purchase purchase, IabResult iabResult) { + GooglePlayTransaction googlePlayTransaction2; + GooglePlayTransaction googlePlayTransaction3; + Log.Helper.LOGFUNC(this); + if (iabResult.isFailure()) { + Log.Helper.LOGE(this, "GooglePlay consume item failed, item SKU: " + purchase.getSku(), new Object[0]); + synchronized (GooglePlay.this) { + googlePlayTransaction3 = GooglePlay.this.mPendingTransactions.get(purchase.getNimbleMTXTransactionId()); + } + if (googlePlayTransaction3 != null) { + googlePlayTransaction3.mError = GooglePlay.this.createNimbleMTXErrorWithGooglePlayError(GooglePlay.this.createGooglePlayErrorFromIabResult(iabResult), "GooglePlay item consumption error."); + googlePlayTransaction3.mFailedState = googlePlayTransaction3.mGooglePlayTransactionState; + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction3, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + if (googlePlayTransaction3.mItemGrantedCallback != null) { + googlePlayTransaction3.mItemGrantedCallback.itemGrantedComplete(googlePlayTransaction3); + return; + } else { + Log.Helper.LOGE(this, "Transaction does not have a consume callback to notify game of the finalize error.", new Object[0]); + return; + } + } + return; + } + Log.Helper.LOGD(this, "GooglePlay consume item success, item SKU: " + purchase.getSku(), new Object[0]); + synchronized (GooglePlay.this) { + googlePlayTransaction2 = GooglePlay.this.mPendingTransactions.get(purchase.getNimbleMTXTransactionId()); + } + if (googlePlayTransaction2 != null) { + GooglePlay.this.updateGooglePlayTransactionRecordState(googlePlayTransaction2, GooglePlayTransaction.GooglePlayTransactionState.COMPLETE); + if (googlePlayTransaction2.mItemGrantedCallback != null) { + googlePlayTransaction2.mItemGrantedCallback.itemGrantedComplete(googlePlayTransaction2); + return; + } else { + Log.Helper.LOGE(this, "Transaction does not have a consume callback to notify game.", new Object[0]); + return; + } + } + Log.Helper.LOGE(this, "Unable to find consumed transaction to remove.", new Object[0]); + } + }); + } catch (Exception unused) { + Log.Helper.LOGE(this, "Unable to construct a Purchase object from GooglePlayTransaction. Unable to consume item with Google Play!", new Object[0]); + if (googlePlayTransaction.mItemGrantedCallback != null) { + googlePlayTransaction.mError = new NimbleMTXError(NimbleMTXError.Code.UNABLE_TO_CONSTRUCT_REQUEST, "Unable to construct Purchase object from GooglePlayTransaction."); + googlePlayTransaction.mFailedState = googlePlayTransaction.mGooglePlayTransactionState; + deferredConsumeCallback(googlePlayTransaction.mItemGrantedCallback, googlePlayTransaction); + return; + } + Log.Helper.LOGE(this, "ItemGrantedCallback not set, no way to notify game.", new Object[0]); + } + } + + private String getAppPublicKey() { + return this.m_appPublicKey; + } + + /* JADX INFO: Access modifiers changed from: private */ + public String generateTransactionId() { + return UUID.randomUUID().toString(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void updateAdditionalInfoBundleFromIabPurchase(GooglePlayTransaction googlePlayTransaction, Purchase purchase) { + Log.Helper.LOGFUNC(this); + if (purchase != null) { + googlePlayTransaction.mAdditionalInfo.put(GOOGLEPLAY_ADDITIONALINFO_KEY_ORDERID, purchase.getOrderId()); + googlePlayTransaction.mAdditionalInfo.put(GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASETIME, Long.valueOf(purchase.getPurchaseTime())); + googlePlayTransaction.mAdditionalInfo.put(GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASESTATE, Integer.valueOf(purchase.getPurchaseState())); + googlePlayTransaction.mAdditionalInfo.put(GOOGLEPLAY_ADDITIONALINFO_KEY_TOKEN, purchase.getToken()); + googlePlayTransaction.mAdditionalInfo.put(GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASEDATA, purchase.getOriginalJson()); + googlePlayTransaction.mAdditionalInfo.put(GOOGLEPLAY_ADDITIONALINFO_KEY_RECEIPT, purchase.getSignature()); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void updateGooglePlayTransactionRecordState(GooglePlayTransaction googlePlayTransaction, GooglePlayTransaction.GooglePlayTransactionState googlePlayTransactionState) { + Log.Helper.LOGFUNC(this); + googlePlayTransaction.mGooglePlayTransactionState = googlePlayTransactionState; + googlePlayTransaction.mTimeStamp = new Date(); + savePendingTransactionsToPersistence(); + } + + private void savePendingTransactionsToPersistence() { + HashMap hashMap; + HashMap hashMap2; + Log.Helper.LOGFUNC(this); + synchronized (this) { + hashMap = new HashMap(this.mPendingTransactions); + hashMap2 = new HashMap(this.mRecoveredTransactions); + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.mtx.googleplay", Persistence.Storage.DOCUMENT); + Log.Helper.LOGD(this, "Saving %d pending and %d previously recovered transactions to persistence.", Integer.valueOf(hashMap.size()), Integer.valueOf(hashMap2.size())); + persistenceForNimbleComponent.setValue(PERSISTENCE_PENDING_TRANSACTIONS, hashMap); + persistenceForNimbleComponent.setValue(PERSISTENCE_RECOVERED_TRANSACTIONS, hashMap2); + persistenceForNimbleComponent.synchronize(); + } + + private void saveCatalogToPersistence() { + HashMap hashMap; + Log.Helper.LOGFUNC(this); + synchronized (this) { + hashMap = new HashMap(this.mCatalogItems); + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.mtx.googleplay", Persistence.Storage.DOCUMENT); + Log.Helper.LOGD(this, "Saving %d catalog items to persistence.", Integer.valueOf(hashMap.size())); + persistenceForNimbleComponent.setValue(PERSISTENCE_CATALOG_ITEMS, hashMap); + this.m_cacheTimestamp = Long.valueOf(System.currentTimeMillis()); + persistenceForNimbleComponent.setValue(CACHE_TIMESTAMP_KEY, this.m_cacheTimestamp); + persistenceForNimbleComponent.synchronize(); + } + + private void savePurchasedTransactionsToPersistence() { + HashMap hashMap; + Log.Helper.LOGFUNC(this); + synchronized (this) { + hashMap = new HashMap(this.mPurchasedTransactions); + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.mtx.googleplay", Persistence.Storage.DOCUMENT); + Log.Helper.LOGD(this, "Saving %d purchased transactions to persistence.", Integer.valueOf(hashMap.size())); + persistenceForNimbleComponent.setValue(PERSISTENCE_PURCHASED_TRANSACTIONS, hashMap); + persistenceForNimbleComponent.synchronize(); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void saveUnrecordedTransactionsToPersistence() { + ArrayList arrayList; + Log.Helper.LOGFUNC(this); + synchronized (this) { + arrayList = new ArrayList(this.mUnrecordedTransactions); + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.mtx.googleplay", Persistence.Storage.DOCUMENT); + Log.Helper.LOGD(this, "Saving %d unrecorded transactions to persistence.", Integer.valueOf(arrayList.size())); + persistenceForNimbleComponent.setValue(PERSISTENCE_UNRECORDED_TRANSACTIONS, arrayList); + persistenceForNimbleComponent.synchronize(); + } + + private HashMap filterForResumablePurchaseTransactions(HashMap hashMap) { + Log.Helper.LOGFUNC(this); + HashMap hashMap2 = new HashMap<>(); + if (hashMap == null) { + return hashMap2; + } + for (GooglePlayTransaction googlePlayTransaction : hashMap.values()) { + if (googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_NONCE || googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_ACTIVITY_RESPONSE || googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_SYNERGY_VERIFICATION || googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT || googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.WAITING_FOR_GOOGLEPLAY_CONSUMPTION || googlePlayTransaction.mGooglePlayTransactionState == GooglePlayTransaction.GooglePlayTransactionState.COMPLETE) { + hashMap2.put(googlePlayTransaction.getTransactionId(), googlePlayTransaction); + } + } + return hashMap2; + } + + private List findRecoveredTransactionsWithItemSku(String str) { + Log.Helper.LOGFUNC(this); + ArrayList arrayList = new ArrayList(); + if (str == null) { + return arrayList; + } + synchronized (this) { + for (GooglePlayTransaction googlePlayTransaction : this.mRecoveredTransactions.values()) { + if (googlePlayTransaction.getItemSku().equals(str)) { + arrayList.add(googlePlayTransaction); + } + } + } + return arrayList; + } + + private boolean isTransactionPending() { + Log.Helper.LOGFUNC(this); + return isTransactionPending(true); + } + + private boolean isTransactionPending(boolean z) { + Log.Helper.LOGFUNC(this); + synchronized (this) { + if (this.mPendingTransactions.size() == 0 && (!z || this.mRecoveredTransactions.size() == 0)) { + return false; + } + return true; + } + } + + private void loadFromPersistence() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent("com.ea.nimble.mtx.googleplay", Persistence.Storage.DOCUMENT); + Serializable value = persistenceForNimbleComponent.getValue(PERSISTENCE_CATALOG_ITEMS); + if (value != null && value.getClass() == HashMap.class) { + HashMap hashMap = new HashMap<>((HashMap) value); + synchronized (this) { + this.mCatalogItems = hashMap; + Log.Helper.LOGD(this, "Restored %d catalog items from persistence.", Integer.valueOf(this.mCatalogItems.size())); + } + } + Serializable value2 = persistenceForNimbleComponent.getValue(PERSISTENCE_PURCHASED_TRANSACTIONS); + if (value2 != null && value2.getClass() == HashMap.class) { + HashMap hashMap2 = new HashMap<>((HashMap) value2); + synchronized (this) { + this.mPurchasedTransactions = hashMap2; + Log.Helper.LOGD(this, "%d purchased transactions restored from persistence.", Integer.valueOf(this.mPurchasedTransactions.size())); + } + } else { + Log.Helper.LOGD(this, "No purchased transactions to restore.", new Object[0]); + } + Serializable value3 = persistenceForNimbleComponent.getValue(PERSISTENCE_RECOVERED_TRANSACTIONS); + if (value3 != null && value3.getClass() == HashMap.class) { + HashMap hashMap3 = new HashMap<>((HashMap) value3); + synchronized (this) { + this.mRecoveredTransactions = hashMap3; + Log.Helper.LOGD(this, "%d recovered transactions restored from persistence.", Integer.valueOf(this.mRecoveredTransactions.size())); + } + } else { + Log.Helper.LOGD(this, "No recovered transactions to restore.", new Object[0]); + } + Serializable value4 = persistenceForNimbleComponent.getValue(PERSISTENCE_PENDING_TRANSACTIONS); + if (value4 != null && value4.getClass() == HashMap.class) { + HashMap hashMap4 = new HashMap<>((HashMap) value4); + Log.Helper.LOGD(this, "%d pending transactions restored from persistence.", Integer.valueOf(hashMap4.size())); + synchronized (this) { + if (this.mRecoveredTransactions == null) { + this.mRecoveredTransactions = new HashMap<>(); + } + this.mRecoveredTransactions.putAll(filterForResumablePurchaseTransactions(hashMap4)); + Iterator it = this.mRecoveredTransactions.values().iterator(); + while (it.hasNext()) { + this.mPendingTransactions.remove(it.next().getTransactionId()); + } + } + } else { + Log.Helper.LOGD(this, "No pending transactions to restore.", new Object[0]); + } + Serializable value5 = persistenceForNimbleComponent.getValue(PERSISTENCE_UNRECORDED_TRANSACTIONS); + if (value5 != null && (value5 instanceof ArrayList)) { + ArrayList arrayList = (ArrayList) value5; + synchronized (this) { + this.mUnrecordedTransactions = arrayList; + } + this.m_transactionRecorder.recordTransactions(); + } + this.m_cacheTimestamp = (Long) persistenceForNimbleComponent.getValue(CACHE_TIMESTAMP_KEY); + synchronized (this) { + if (this.mRecoveredTransactions != null && this.mRecoveredTransactions.size() > 0) { + Log.Helper.LOGD(this, "Recovered transactions: " + this.mRecoveredTransactions, new Object[0]); + broadcastLocalEvent(INimbleMTX.NIMBLE_NOTIFICATION_MTX_TRANSACTIONS_RECOVERED, null, null, null); + } + } + } + + private void deferredConsumeCallback(final INimbleMTX.ItemGrantedCallback itemGrantedCallback, final NimbleMTXTransaction nimbleMTXTransaction) { + Log.Helper.LOGFUNC(this); + new Timer(new Runnable() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.12 + @Override // java.lang.Runnable + public void run() { + itemGrantedCallback.itemGrantedComplete(nimbleMTXTransaction); + } + }).schedule(DEFERRED_CALLBACK_DELAY, false); + } + + /* JADX INFO: Access modifiers changed from: private */ + public GooglePlayError createGooglePlayErrorFromIabResult(IabResult iabResult) { + GooglePlayError.Code code; + Log.Helper.LOGFUNC(this); + if (iabResult == null || iabResult.getResponse() == 0) { + return null; + } + int response = iabResult.getResponse(); + if (response == 1) { + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_USER_CANCELED; + } else { + switch (response) { + case IabHelper.IABHELPER_SUBSCRIPTION_UPDATE_NOT_AVAILABLE /* -1011 */: + code = GooglePlayError.Code.IABHELPER_SUBSCRIPTION_UPDATE_NOT_AVAILABLE; + break; + case IabHelper.IABHELPER_INVALID_CONSUMPTION /* -1010 */: + code = GooglePlayError.Code.IABHELPER_INVALID_CONSUMPTION; + break; + case IabHelper.IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE /* -1009 */: + code = GooglePlayError.Code.IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE; + break; + case IabHelper.IABHELPER_UNKNOWN_ERROR /* -1008 */: + code = GooglePlayError.Code.IABHELPER_UNKNOWN_ERROR; + break; + case IabHelper.IABHELPER_MISSING_TOKEN /* -1007 */: + code = GooglePlayError.Code.IABHELPER_MISSING_TOKEN; + break; + case IabHelper.IABHELPER_UNKNOWN_PURCHASE_RESPONSE /* -1006 */: + code = GooglePlayError.Code.IABHELPER_UNKNOWN_PURCHASE_RESPONSE; + break; + case IabHelper.IABHELPER_USER_CANCELLED /* -1005 */: + code = GooglePlayError.Code.IABHELPER_USER_CANCELLED; + break; + case IabHelper.IABHELPER_SEND_INTENT_FAILED /* -1004 */: + code = GooglePlayError.Code.IABHELPER_SEND_INTENT_FAILED; + break; + case IabHelper.IABHELPER_VERIFICATION_FAILED /* -1003 */: + code = GooglePlayError.Code.IABHELPER_VERIFICATION_FAILED; + break; + case IabHelper.IABHELPER_BAD_RESPONSE /* -1002 */: + code = GooglePlayError.Code.IABHELPER_BAD_RESPONSE; + break; + case IabHelper.IABHELPER_REMOTE_EXCEPTION /* -1001 */: + code = GooglePlayError.Code.IABHELPER_REMOTE_EXCEPTION; + break; + case -1000: + code = GooglePlayError.Code.IABHELPER_ERROR_BASE; + break; + default: + switch (response) { + case 3: + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE; + break; + case 4: + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_ITEM_UNAVAILABLE; + break; + case 5: + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_DEVELOPER_ERROR; + break; + case 6: + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_ERROR; + break; + case 7: + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED; + break; + case 8: + code = GooglePlayError.Code.BILLING_RESPONSE_RESULT_ITEM_NOT_OWNED; + break; + default: + code = GooglePlayError.Code.UNKNOWN; + break; + } + } + } + return new GooglePlayError(code, iabResult.getMessage()); + } + + /* JADX INFO: Access modifiers changed from: private */ + public NimbleMTXError createNimbleMTXErrorWithGooglePlayError(GooglePlayError googlePlayError, String str) { + Log.Helper.LOGFUNC(this); + NimbleMTXError.Code code = NimbleMTXError.Code.PLATFORM_ERROR; + if (googlePlayError != null) { + int code2 = googlePlayError.getCode(); + if (code2 == GooglePlayError.Code.BILLING_RESPONSE_RESULT_USER_CANCELED.intValue() || code2 == GooglePlayError.Code.IABHELPER_USER_CANCELLED.intValue()) { + code = NimbleMTXError.Code.USER_CANCELED; + } else if (code2 == GooglePlayError.Code.BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE.intValue()) { + code = NimbleMTXError.Code.BILLING_NOT_AVAILABLE; + } else if (code2 == GooglePlayError.Code.BILLING_RESPONSE_RESULT_ITEM_UNAVAILABLE.intValue()) { + code = NimbleMTXError.Code.ITEM_UNAVAILABLE; + } else if (code2 == GooglePlayError.Code.BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED.intValue()) { + code = NimbleMTXError.Code.ITEM_ALREADY_OWNED; + } else if (code2 == GooglePlayError.Code.BILLING_RESPONSE_RESULT_ITEM_NOT_OWNED.intValue()) { + code = NimbleMTXError.Code.ITEM_NOT_OWNED; + } + } + return new NimbleMTXError(code, str, googlePlayError); + } + + private String generateDeveloperPayloadForTransaction(GooglePlayTransaction googlePlayTransaction) { + Log.Helper.LOGFUNC(this); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMddHHmmss", Locale.US); + simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + return simpleDateFormat.format(new Date()); + } + + private class TransactionRecorder extends BroadcastReceiver implements Runnable, GetNonceCallback { + private double m_requestRetryDelay; + private Timer m_timer; + + private TransactionRecorder() { + this.m_requestRetryDelay = 1.0d; + this.m_timer = new Timer(this); + } + + public void recordTransactions() { + Log.Helper.LOGFUNC(this); + synchronized (GooglePlay.this) { + if (GooglePlay.this.mUnrecordedTransactions != null && GooglePlay.this.mUnrecordedTransactions.size() != 0) { + Log.Helper.LOGD(GooglePlay.this, "Attempting to record transactions", new Object[0]); + if (!ApplicationEnvironment.isMainApplicationActive()) { + Log.Helper.LOGD(GooglePlay.this, "Main application not running, ignoring record", new Object[0]); + return; + } + if (Network.getComponent().getStatus() != Network.Status.OK) { + Log.Helper.LOGD(GooglePlay.this, "Waiting for Network connectivity", new Object[0]); + Utility.registerReceiver(Global.NOTIFICATION_NETWORK_STATUS_CHANGE, this); + return; + } + synchronized (GooglePlay.this) { + Iterator it = GooglePlay.this.mUnrecordedTransactions.iterator(); + while (it.hasNext()) { + GooglePlay.this.networkCallGetNonceFromSynergy(it.next(), this); + } + } + return; + } + Log.Helper.LOGD(GooglePlay.this, "No transactions to record", new Object[0]); + } + } + + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.GetNonceCallback + public void onGetNonceComplete(final GooglePlayTransaction googlePlayTransaction, String str, Error error) { + Log.Helper.LOGFUNC(this); + if (GooglePlay.this.isCancelledError(error)) { + return; + } + if (GooglePlay.this.updateTransactionRecordWithNonce(googlePlayTransaction, str, error)) { + GooglePlay.this.networkCallRecordPurchase(googlePlayTransaction, new VerifyCallback() { // from class: com.ea.nimble.mtx.googleplay.GooglePlay.TransactionRecorder.1 + @Override // com.ea.nimble.mtx.googleplay.GooglePlay.VerifyCallback + public void onVerificationComplete(Exception exc) { + Log.Helper.LOGFUNC(this); + if (GooglePlay.this.isCancelledError(exc)) { + return; + } + if (!googlePlayTransaction.mIsRecorded) { + if (TransactionRecorder.this.m_timer.isRunning()) { + return; + } + TransactionRecorder.this.m_timer.schedule(TransactionRecorder.this.m_requestRetryDelay, false); + } else { + synchronized (GooglePlay.this) { + GooglePlay.this.mUnrecordedTransactions.remove(googlePlayTransaction); + } + GooglePlay.this.saveUnrecordedTransactionsToPersistence(); + TransactionRecorder.this.m_requestRetryDelay = 1.0d; + } + } + }); + } else { + if (this.m_timer.isRunning()) { + return; + } + this.m_timer.schedule(this.m_requestRetryDelay, false); + } + } + + @Override // java.lang.Runnable + public void run() { + this.m_requestRetryDelay = Math.min(this.m_requestRetryDelay * 2.0d, 300.0d); + recordTransactions(); + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGD(GooglePlay.this, "Received network notification", new Object[0]); + if (Network.getComponent().getStatus() == Network.Status.OK) { + Log.Helper.LOGD(GooglePlay.this, "Network status is OK, unregistering receiver and attempting to record transactions", new Object[0]); + Utility.unregisterReceiver(this); + recordTransactions(); + return; + } + Log.Helper.LOGD(GooglePlay.this, "Attempted to recordTransaction but network state was not OK. Aborting and eating my transaction.", new Object[0]); + } + + public void cancel() { + this.m_timer.cancel(); + this.m_requestRetryDelay = 1.0d; + Utility.unregisterReceiver(this); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public boolean isCancelledError(Throwable th) { + Log.Helper.LOGFUNC(this); + if (!(th instanceof Error)) { + return false; + } + Error error = (Error) th; + return (error.getDomain().equals(Error.ERROR_DOMAIN) && error.getCode() == Error.Code.NETWORK_OPERATION_CANCELLED.intValue()) || isCancelledError(error.getCause()); + } + + private boolean isCacheExpired() { + Log.Helper.LOGFUNC(this); + return this.m_cacheTimestamp == null || ((double) (System.currentTimeMillis() - this.m_cacheTimestamp.longValue())) > 3600000.0d; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayCatalogItem.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayCatalogItem.java new file mode 100644 index 0000000..213c47a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayCatalogItem.java @@ -0,0 +1,142 @@ +package com.ea.nimble.mtx.googleplay; + +import com.ea.nimble.Log; +import com.ea.nimble.mtx.NimbleCatalogItem; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +public class GooglePlayCatalogItem extends NimbleCatalogItem implements Externalizable { + Map mAdditionalInfo; + String mDescription; + boolean mIsFree; + NimbleCatalogItem.ItemType mItemType; + float mPriceDecimal; + String mPriceWithCurrencyAndFormat; + String mSku; + String mTitle; + String mUrl; + + public GooglePlayCatalogItem() { + Log.Helper.LOGPUBLICFUNC(this); + this.mSku = ""; + this.mTitle = ""; + this.mDescription = ""; + this.mPriceDecimal = 0.0f; + this.mPriceWithCurrencyAndFormat = ""; + this.mItemType = NimbleCatalogItem.ItemType.UNKNOWN; + this.mUrl = ""; + this.mIsFree = false; + this.mAdditionalInfo = new HashMap(); + } + + public GooglePlayCatalogItem(GooglePlayCatalogItem googlePlayCatalogItem) { + this.mSku = new String(googlePlayCatalogItem.mSku); + this.mTitle = new String(googlePlayCatalogItem.mTitle); + this.mDescription = new String(googlePlayCatalogItem.mDescription); + this.mPriceDecimal = googlePlayCatalogItem.mPriceDecimal; + this.mPriceWithCurrencyAndFormat = new String(googlePlayCatalogItem.mPriceWithCurrencyAndFormat); + this.mItemType = googlePlayCatalogItem.mItemType; + this.mUrl = new String(googlePlayCatalogItem.mUrl); + this.mIsFree = googlePlayCatalogItem.mIsFree; + this.mAdditionalInfo = new HashMap(googlePlayCatalogItem.mAdditionalInfo); + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getSku() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mSku; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getSellId() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.mAdditionalInfo.containsKey(SynergyCatalog.MTX_INFO_KEY_SELLID)) { + return this.mAdditionalInfo.get(SynergyCatalog.MTX_INFO_KEY_SELLID).toString(); + } + return null; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getTitle() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mTitle; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getDescription() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mDescription; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public float getPriceDecimal() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mPriceDecimal; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getPriceWithCurrencyAndFormat() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mPriceWithCurrencyAndFormat; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public NimbleCatalogItem.ItemType getItemType() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mItemType; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public String getMetaDataUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mUrl; + } + + public boolean isFree() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mIsFree; + } + + @Override // com.ea.nimble.mtx.NimbleCatalogItem + public Map getAdditionalInfo() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mAdditionalInfo; + } + + public String toString() { + Log.Helper.LOGPUBLICFUNC(this); + return "SKU(" + this.mSku + ") Title(" + this.mTitle + ") Price(" + this.mPriceDecimal + ") Currency(" + this.mAdditionalInfo.get(SynergyCatalog.MTX_INFO_KEY_CURRENCY) + ") PriceStr(" + this.mPriceWithCurrencyAndFormat + ") ItemType(" + this.mItemType + ")"; + } + + @Override // java.io.Externalizable + public void writeExternal(ObjectOutput objectOutput) throws IOException { + Log.Helper.LOGPUBLICFUNC(this); + objectOutput.writeUTF(this.mSku); + objectOutput.writeUTF(this.mTitle); + objectOutput.writeUTF(this.mDescription); + objectOutput.writeFloat(this.mPriceDecimal); + objectOutput.writeUTF(this.mPriceWithCurrencyAndFormat); + objectOutput.writeObject(this.mItemType); + objectOutput.writeBoolean(this.mIsFree); + objectOutput.writeObject(this.mAdditionalInfo); + } + + @Override // java.io.Externalizable + public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException { + Log.Helper.LOGPUBLICFUNC(this); + this.mSku = objectInput.readUTF(); + this.mTitle = objectInput.readUTF(); + this.mDescription = objectInput.readUTF(); + this.mPriceDecimal = objectInput.readFloat(); + this.mPriceWithCurrencyAndFormat = objectInput.readUTF(); + this.mItemType = (NimbleCatalogItem.ItemType) objectInput.readObject(); + this.mIsFree = objectInput.readBoolean(); + this.mAdditionalInfo = (Map) objectInput.readObject(); + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayError.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayError.java new file mode 100644 index 0000000..6b67a15 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayError.java @@ -0,0 +1,55 @@ +package com.ea.nimble.mtx.googleplay; + +import com.ea.nimble.Error; +import com.ea.nimble.mtx.googleplay.util.IabHelper; +import com.google.android.gms.games.GamesActivityResultCodes; + +/* loaded from: classes.dex */ +class GooglePlayError extends Error { + public static final String ERROR_DOMAIN = "GooglePlayError"; + private static final long serialVersionUID = 1; + + public enum Code { + BILLING_RESPONSE_RESULT_USER_CANCELED(1), + BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE(3), + BILLING_RESPONSE_RESULT_ITEM_UNAVAILABLE(4), + BILLING_RESPONSE_RESULT_DEVELOPER_ERROR(5), + BILLING_RESPONSE_RESULT_ERROR(6), + BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED(7), + BILLING_RESPONSE_RESULT_ITEM_NOT_OWNED(8), + IABHELPER_ERROR_BASE(-1000), + IABHELPER_REMOTE_EXCEPTION(IabHelper.IABHELPER_REMOTE_EXCEPTION), + IABHELPER_BAD_RESPONSE(IabHelper.IABHELPER_BAD_RESPONSE), + IABHELPER_VERIFICATION_FAILED(IabHelper.IABHELPER_VERIFICATION_FAILED), + IABHELPER_SEND_INTENT_FAILED(IabHelper.IABHELPER_SEND_INTENT_FAILED), + IABHELPER_USER_CANCELLED(IabHelper.IABHELPER_USER_CANCELLED), + IABHELPER_UNKNOWN_PURCHASE_RESPONSE(IabHelper.IABHELPER_UNKNOWN_PURCHASE_RESPONSE), + IABHELPER_MISSING_TOKEN(IabHelper.IABHELPER_MISSING_TOKEN), + IABHELPER_UNKNOWN_ERROR(IabHelper.IABHELPER_UNKNOWN_ERROR), + IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE(IabHelper.IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE), + IABHELPER_INVALID_CONSUMPTION(IabHelper.IABHELPER_INVALID_CONSUMPTION), + IABHELPER_SUBSCRIPTION_UPDATE_NOT_AVAILABLE(IabHelper.IABHELPER_SUBSCRIPTION_UPDATE_NOT_AVAILABLE), + UNKNOWN(GamesActivityResultCodes.RESULT_LICENSE_FAILED); + + private int m_value; + + Code(int i) { + this.m_value = i; + } + + public int intValue() { + return this.m_value; + } + } + + public GooglePlayError() { + } + + public GooglePlayError(Code code, String str, Throwable th) { + super(ERROR_DOMAIN, code.intValue(), str, th); + } + + public GooglePlayError(Code code, String str) { + super(ERROR_DOMAIN, code.intValue(), str); + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayNetworkConnectionCallback.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayNetworkConnectionCallback.java new file mode 100644 index 0000000..209abec --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayNetworkConnectionCallback.java @@ -0,0 +1,20 @@ +package com.ea.nimble.mtx.googleplay; + +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; + +/* loaded from: classes.dex */ +public abstract class GooglePlayNetworkConnectionCallback implements NetworkConnectionCallback { + String mParameter; + GooglePlay mParentGooglePlay; + String mTransactionId; + + @Override // com.ea.nimble.NetworkConnectionCallback + public abstract void callback(NetworkConnectionHandle networkConnectionHandle); + + public GooglePlayNetworkConnectionCallback(GooglePlay googlePlay, String str, String str2) { + this.mParentGooglePlay = googlePlay; + this.mTransactionId = str; + this.mParameter = str2; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayTransaction.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayTransaction.java new file mode 100644 index 0000000..ee5ea86 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/GooglePlayTransaction.java @@ -0,0 +1,202 @@ +package com.ea.nimble.mtx.googleplay; + +import com.ea.nimble.Error; +import com.ea.nimble.Log; +import com.ea.nimble.Utility; +import com.ea.nimble.mtx.INimbleMTX; +import com.ea.nimble.mtx.NimbleCatalogItem; +import com.ea.nimble.mtx.NimbleMTX; +import com.ea.nimble.mtx.NimbleMTXTransaction; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +public class GooglePlayTransaction implements NimbleMTXTransaction, Externalizable { + String mTransactionId = ""; + String mReceipt = ""; + String mItemSku = ""; + float mPriceDecimal = 0.0f; + Date mTimeStamp = null; + String mNonce = ""; + Exception mError = null; + GooglePlayCatalogItem mCatalogItem = null; + GooglePlayTransactionState mGooglePlayTransactionState = GooglePlayTransactionState.UNDEFINED; + GooglePlayTransactionState mFailedState = null; + INimbleMTX.PurchaseTransactionCallback mPurchaseCallback = null; + INimbleMTX.FinalizeTransactionCallback mFinalizeCallback = null; + INimbleMTX.ItemGrantedCallback mItemGrantedCallback = null; + NimbleMTXTransaction.TransactionType mTransactionType = NimbleMTXTransaction.TransactionType.PURCHASE; + String mDeveloperPayload = ""; + boolean mIsRecorded = false; + Map mAdditionalInfo = new HashMap(); + + public enum GooglePlayTransactionState { + UNDEFINED, + WAITING_FOR_PREPURCHASE_INFO, + WAITING_FOR_NONCE, + WAITING_FOR_GOOGLEPLAY_ACTIVITY_RESPONSE, + WAITING_FOR_SYNERGY_VERIFICATION, + WAITING_FOR_GAME_TO_CONFIRM_ITEM_GRANT, + WAITING_FOR_GOOGLEPLAY_CONSUMPTION, + COMPLETE + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public String getTransactionId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mTransactionId; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public String getItemSku() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mItemSku; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public NimbleMTXTransaction.TransactionState getTransactionState() { + Log.Helper.LOGPUBLICFUNC(this); + switch (this.mGooglePlayTransactionState) { + } + return NimbleMTXTransaction.TransactionState.UNDEFINED; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public NimbleMTXTransaction.TransactionType getTransactionType() { + Log.Helper.LOGPUBLICFUNC(this); + if (this.mTransactionType == null) { + return NimbleMTXTransaction.TransactionType.PURCHASE; + } + return this.mTransactionType; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public float getPriceDecimal() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mPriceDecimal; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public String getItemSellId() { + Log.Helper.LOGPUBLICFUNC(this); + List availableCatalogItems = NimbleMTX.getComponent().getAvailableCatalogItems(); + String itemSku = getItemSku(); + if (availableCatalogItems != null) { + for (NimbleCatalogItem nimbleCatalogItem : availableCatalogItems) { + if (nimbleCatalogItem.getSku().equals(itemSku)) { + String sellId = nimbleCatalogItem.getSellId(); + if (Utility.validString(sellId)) { + return sellId; + } + } + } + } + if (this.mAdditionalInfo.containsKey(SynergyCatalog.MTX_INFO_KEY_SELLID)) { + return this.mAdditionalInfo.get(SynergyCatalog.MTX_INFO_KEY_SELLID).toString(); + } + Log.Helper.LOGW(this, "getItemSellId(): Unable to acquire sell id for transaction with SKU: " + itemSku, new Object[0]); + return ""; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public Date getTimeStamp() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mTimeStamp; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public String getReceipt() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mReceipt; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public Map getAdditionalInfo() { + Log.Helper.LOGPUBLICFUNC(this); + return new HashMap(this.mAdditionalInfo); + } + + public String getNonce() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mNonce; + } + + public String getDeveloperPayload() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mDeveloperPayload; + } + + @Override // com.ea.nimble.mtx.NimbleMTXTransaction + public Exception getError() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mError; + } + + public GooglePlayCatalogItem getCatalogItem() { + Log.Helper.LOGPUBLICFUNC(this); + return this.mCatalogItem; + } + + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("GooglePlayTransaction: SKU("); + sb.append(getItemSku()); + sb.append(") State("); + sb.append(this.mGooglePlayTransactionState == null ? "null" : this.mGooglePlayTransactionState.toString()); + sb.append(") Receipt("); + sb.append(getReceipt()); + sb.append(") TimeStamp("); + sb.append(getTimeStamp()); + sb.append(")"); + return sb.toString(); + } + + @Override // java.io.Externalizable + public void writeExternal(ObjectOutput objectOutput) throws IOException { + Log.Helper.LOGPUBLICFUNC(this); + objectOutput.writeUTF(Utility.safeString(this.mTransactionId)); + objectOutput.writeUTF(Utility.safeString(this.mItemSku)); + objectOutput.writeObject(this.mGooglePlayTransactionState); + objectOutput.writeObject(this.mTransactionType); + objectOutput.writeFloat(this.mPriceDecimal); + objectOutput.writeObject(this.mTimeStamp); + objectOutput.writeUTF(Utility.safeString(this.mReceipt)); + objectOutput.writeUTF(Utility.safeString(this.mNonce)); + objectOutput.writeObject(this.mError); + objectOutput.writeObject(this.mCatalogItem); + objectOutput.writeObject(this.mAdditionalInfo); + objectOutput.writeUTF(Utility.safeString(this.mDeveloperPayload)); + objectOutput.writeObject(this.mFailedState); + objectOutput.writeBoolean(this.mIsRecorded); + } + + @Override // java.io.Externalizable + public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException { + Log.Helper.LOGPUBLICFUNC(this); + this.mTransactionId = objectInput.readUTF(); + this.mItemSku = objectInput.readUTF(); + this.mGooglePlayTransactionState = (GooglePlayTransactionState) objectInput.readObject(); + this.mTransactionType = (NimbleMTXTransaction.TransactionType) objectInput.readObject(); + this.mPriceDecimal = objectInput.readFloat(); + this.mTimeStamp = (Date) objectInput.readObject(); + this.mReceipt = objectInput.readUTF(); + this.mNonce = objectInput.readUTF(); + this.mError = (Error) objectInput.readObject(); + this.mCatalogItem = (GooglePlayCatalogItem) objectInput.readObject(); + this.mAdditionalInfo = (Map) objectInput.readObject(); + this.mDeveloperPayload = objectInput.readUTF(); + try { + this.mFailedState = (GooglePlayTransactionState) objectInput.readObject(); + this.mIsRecorded = objectInput.readBoolean(); + } catch (IOException unused) { + } + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64.java new file mode 100644 index 0000000..cda380b --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64.java @@ -0,0 +1,196 @@ +package com.ea.nimble.mtx.googleplay.util; + +import android.support.v7.widget.ActivityChooserView; + +/* loaded from: classes.dex */ +public class Base64 { + static final /* synthetic */ boolean $assertionsDisabled = false; + public static final boolean DECODE = false; + public static final boolean ENCODE = true; + private static final byte[] ALPHABET = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47}; + private static final byte[] WEBSAFE_ALPHABET = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95}; + private static final byte WHITE_SPACE_ENC = -5; + private static final byte EQUALS_SIGN = 61; + private static final byte EQUALS_SIGN_ENC = -1; + private static final byte NEW_LINE = 10; + private static final byte[] DECODABET = {-9, -9, -9, -9, -9, -9, -9, -9, -9, WHITE_SPACE_ENC, WHITE_SPACE_ENC, -9, -9, WHITE_SPACE_ENC, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, WHITE_SPACE_ENC, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 62, -9, -9, -9, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, EQUALS_SIGN, -9, -9, -9, EQUALS_SIGN_ENC, -9, -9, -9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, NEW_LINE, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -9, -9, -9, -9, -9, -9, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -9, -9, -9, -9, -9}; + private static final byte[] WEBSAFE_DECODABET = {-9, -9, -9, -9, -9, -9, -9, -9, -9, WHITE_SPACE_ENC, WHITE_SPACE_ENC, -9, -9, WHITE_SPACE_ENC, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, WHITE_SPACE_ENC, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, 62, -9, -9, 52, 53, 54, 55, 56, 57, 58, 59, 60, EQUALS_SIGN, -9, -9, -9, EQUALS_SIGN_ENC, -9, -9, -9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, NEW_LINE, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -9, -9, -9, -9, 63, -9, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -9, -9, -9, -9, -9}; + + private Base64() { + } + + private static byte[] encode3to4(byte[] bArr, int i, int i2, byte[] bArr2, int i3, byte[] bArr3) { + int i4 = (i2 > 0 ? (bArr[i] << 24) >>> 8 : 0) | (i2 > 1 ? (bArr[i + 1] << 24) >>> 16 : 0) | (i2 > 2 ? (bArr[i + 2] << 24) >>> 24 : 0); + switch (i2) { + case 1: + bArr2[i3] = bArr3[i4 >>> 18]; + bArr2[i3 + 1] = bArr3[(i4 >>> 12) & 63]; + bArr2[i3 + 2] = EQUALS_SIGN; + bArr2[i3 + 3] = EQUALS_SIGN; + break; + case 2: + bArr2[i3] = bArr3[i4 >>> 18]; + bArr2[i3 + 1] = bArr3[(i4 >>> 12) & 63]; + bArr2[i3 + 2] = bArr3[(i4 >>> 6) & 63]; + bArr2[i3 + 3] = EQUALS_SIGN; + break; + case 3: + bArr2[i3] = bArr3[i4 >>> 18]; + bArr2[i3 + 1] = bArr3[(i4 >>> 12) & 63]; + bArr2[i3 + 2] = bArr3[(i4 >>> 6) & 63]; + bArr2[i3 + 3] = bArr3[i4 & 63]; + break; + } + return bArr2; + } + + public static String encode(byte[] bArr) { + return encode(bArr, 0, bArr.length, ALPHABET, true); + } + + public static String encodeWebSafe(byte[] bArr, boolean z) { + return encode(bArr, 0, bArr.length, WEBSAFE_ALPHABET, z); + } + + public static String encode(byte[] bArr, int i, int i2, byte[] bArr2, boolean z) { + byte[] encode = encode(bArr, i, i2, bArr2, ActivityChooserView.ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED); + int length = encode.length; + while (!z && length > 0 && encode[length - 1] == 61) { + length--; + } + return new String(encode, 0, length); + } + + public static byte[] encode(byte[] bArr, int i, int i2, byte[] bArr2, int i3) { + int i4 = ((i2 + 2) / 3) * 4; + byte[] bArr3 = new byte[i4 + (i4 / i3)]; + int i5 = i2 - 2; + int i6 = 0; + int i7 = 0; + int i8 = 0; + while (i6 < i5) { + int i9 = ((bArr[i6 + i] << 24) >>> 8) | ((bArr[(i6 + 1) + i] << 24) >>> 16) | ((bArr[(i6 + 2) + i] << 24) >>> 24); + bArr3[i7] = bArr2[i9 >>> 18]; + int i10 = i7 + 1; + bArr3[i10] = bArr2[(i9 >>> 12) & 63]; + bArr3[i7 + 2] = bArr2[(i9 >>> 6) & 63]; + bArr3[i7 + 3] = bArr2[i9 & 63]; + i8 += 4; + if (i8 == i3) { + bArr3[i7 + 4] = NEW_LINE; + i8 = 0; + } else { + i10 = i7; + } + i6 += 3; + i7 = i10 + 4; + } + if (i6 < i2) { + encode3to4(bArr, i6 + i, i2 - i6, bArr3, i7, bArr2); + if (i8 + 4 == i3) { + bArr3[i7 + 4] = NEW_LINE; + } + } + return bArr3; + } + + private static int decode4to3(byte[] bArr, int i, byte[] bArr2, int i2, byte[] bArr3) { + int i3 = i + 2; + if (bArr[i3] == 61) { + bArr2[i2] = (byte) ((((bArr3[bArr[i + 1]] << 24) >>> 12) | ((bArr3[bArr[i]] << 24) >>> 6)) >>> 16); + return 1; + } + int i4 = i + 3; + if (bArr[i4] == 61) { + int i5 = ((bArr3[bArr[i3]] << 24) >>> 18) | ((bArr3[bArr[i + 1]] << 24) >>> 12) | ((bArr3[bArr[i]] << 24) >>> 6); + bArr2[i2] = (byte) (i5 >>> 16); + bArr2[i2 + 1] = (byte) (i5 >>> 8); + return 2; + } + int i6 = ((bArr3[bArr[i4]] << 24) >>> 24) | ((bArr3[bArr[i + 1]] << 24) >>> 12) | ((bArr3[bArr[i]] << 24) >>> 6) | ((bArr3[bArr[i3]] << 24) >>> 18); + bArr2[i2] = (byte) (i6 >> 16); + bArr2[i2 + 1] = (byte) (i6 >> 8); + bArr2[i2 + 2] = (byte) i6; + return 3; + } + + public static byte[] decode(String str) throws Base64DecoderException { + byte[] bytes = str.getBytes(); + return decode(bytes, 0, bytes.length); + } + + public static byte[] decodeWebSafe(String str) throws Base64DecoderException { + byte[] bytes = str.getBytes(); + return decodeWebSafe(bytes, 0, bytes.length); + } + + public static byte[] decode(byte[] bArr) throws Base64DecoderException { + return decode(bArr, 0, bArr.length); + } + + public static byte[] decodeWebSafe(byte[] bArr) throws Base64DecoderException { + return decodeWebSafe(bArr, 0, bArr.length); + } + + public static byte[] decode(byte[] bArr, int i, int i2) throws Base64DecoderException { + return decode(bArr, i, i2, DECODABET); + } + + public static byte[] decodeWebSafe(byte[] bArr, int i, int i2) throws Base64DecoderException { + return decode(bArr, i, i2, WEBSAFE_DECODABET); + } + + public static byte[] decode(byte[] bArr, int i, int i2, byte[] bArr2) throws Base64DecoderException { + byte[] bArr3 = new byte[((i2 * 3) / 4) + 2]; + byte[] bArr4 = new byte[4]; + int i3 = 0; + int i4 = 0; + int i5 = 0; + while (true) { + if (i3 >= i2) { + break; + } + int i6 = i3 + i; + byte b = (byte) (bArr[i6] & Byte.MAX_VALUE); + byte b2 = bArr2[b]; + if (b2 < -5) { + throw new Base64DecoderException("Bad Base64 input character at " + i3 + ": " + ((int) bArr[i6]) + "(decimal)"); + } + if (b2 >= -1) { + if (b == 61) { + int i7 = i2 - i3; + byte b3 = (byte) (bArr[(i2 - 1) + i] & Byte.MAX_VALUE); + if (i4 == 0 || i4 == 1) { + throw new Base64DecoderException("invalid padding byte '=' at byte offset " + i3); + } + if ((i4 == 3 && i7 > 2) || (i4 == 4 && i7 > 1)) { + throw new Base64DecoderException("padding byte '=' falsely signals end of encoded value at offset " + i3); + } + if (b3 != 61 && b3 != 10) { + throw new Base64DecoderException("encoded value has invalid trailing byte"); + } + } else { + int i8 = i4 + 1; + bArr4[i4] = b; + if (i8 == 4) { + i5 += decode4to3(bArr4, 0, bArr3, i5, bArr2); + i4 = 0; + } else { + i4 = i8; + } + } + } + i3++; + } + if (i4 != 0) { + if (i4 == 1) { + throw new Base64DecoderException("single trailing character at offset " + (i2 - 1)); + } + bArr4[i4] = EQUALS_SIGN; + i5 += decode4to3(bArr4, 0, bArr3, i5, bArr2); + } + byte[] bArr5 = new byte[i5]; + System.arraycopy(bArr3, 0, bArr5, 0, i5); + return bArr5; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64DecoderException.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64DecoderException.java new file mode 100644 index 0000000..374c2e1 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Base64DecoderException.java @@ -0,0 +1,13 @@ +package com.ea.nimble.mtx.googleplay.util; + +/* loaded from: classes.dex */ +public class Base64DecoderException extends Exception { + private static final long serialVersionUID = 1; + + public Base64DecoderException() { + } + + public Base64DecoderException(String str) { + super(str); + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabException.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabException.java new file mode 100644 index 0000000..8de151c --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabException.java @@ -0,0 +1,28 @@ +package com.ea.nimble.mtx.googleplay.util; + +/* loaded from: classes.dex */ +public class IabException extends Exception { + private static final long serialVersionUID = 5626567164828265535L; + IabResult mResult; + + public IabException(IabResult iabResult) { + this(iabResult, (Exception) null); + } + + public IabException(int i, String str) { + this(new IabResult(i, str)); + } + + public IabException(IabResult iabResult, Exception exc) { + super(iabResult.getMessage(), exc); + this.mResult = iabResult; + } + + public IabException(int i, String str, Exception exc) { + this(new IabResult(i, str), exc); + } + + public IabResult getResult() { + return this.mResult; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabHelper.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabHelper.java new file mode 100644 index 0000000..aced720 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabHelper.java @@ -0,0 +1,789 @@ +package com.ea.nimble.mtx.googleplay.util; + +import android.app.Activity; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.IntentSender; +import android.content.ServiceConnection; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.os.Bundle; +import android.os.Handler; +import android.os.IBinder; +import android.os.Looper; +import android.os.RemoteException; +import com.android.vending.billing.IInAppBillingService; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.google.android.gms.common.GooglePlayServicesUtil; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import org.json.JSONException; + +/* loaded from: classes.dex */ +public class IabHelper implements LogSource { + public static final int BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE = 3; + public static final int BILLING_RESPONSE_RESULT_DEVELOPER_ERROR = 5; + public static final int BILLING_RESPONSE_RESULT_ERROR = 6; + public static final int BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED = 7; + public static final int BILLING_RESPONSE_RESULT_ITEM_NOT_OWNED = 8; + public static final int BILLING_RESPONSE_RESULT_ITEM_UNAVAILABLE = 4; + public static final int BILLING_RESPONSE_RESULT_OK = 0; + public static final int BILLING_RESPONSE_RESULT_USER_CANCELED = 1; + public static final String GET_SKU_DETAILS_ITEM_LIST = "ITEM_ID_LIST"; + public static final String GET_SKU_DETAILS_ITEM_TYPE_LIST = "ITEM_TYPE_LIST"; + public static final int IABHELPER_BAD_RESPONSE = -1002; + public static final int IABHELPER_ERROR_BASE = -1000; + public static final int IABHELPER_INVALID_CONSUMPTION = -1010; + public static final int IABHELPER_MISSING_TOKEN = -1007; + public static final int IABHELPER_REMOTE_EXCEPTION = -1001; + public static final int IABHELPER_SEND_INTENT_FAILED = -1004; + public static final int IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE = -1009; + public static final int IABHELPER_SUBSCRIPTION_UPDATE_NOT_AVAILABLE = -1011; + public static final int IABHELPER_UNKNOWN_ERROR = -1008; + public static final int IABHELPER_UNKNOWN_PURCHASE_RESPONSE = -1006; + public static final int IABHELPER_USER_CANCELLED = -1005; + public static final int IABHELPER_VERIFICATION_FAILED = -1003; + public static final String INAPP_CONTINUATION_TOKEN = "INAPP_CONTINUATION_TOKEN"; + public static final String ITEM_TYPE_INAPP = "inapp"; + public static final String ITEM_TYPE_SUBS = "subs"; + public static final String RESPONSE_BUY_INTENT = "BUY_INTENT"; + public static final String RESPONSE_CODE = "RESPONSE_CODE"; + public static final String RESPONSE_GET_SKU_DETAILS_LIST = "DETAILS_LIST"; + public static final String RESPONSE_INAPP_ITEM_LIST = "INAPP_PURCHASE_ITEM_LIST"; + public static final String RESPONSE_INAPP_PURCHASE_DATA = "INAPP_PURCHASE_DATA"; + public static final String RESPONSE_INAPP_PURCHASE_DATA_LIST = "INAPP_PURCHASE_DATA_LIST"; + public static final String RESPONSE_INAPP_SIGNATURE = "INAPP_DATA_SIGNATURE"; + public static final String RESPONSE_INAPP_SIGNATURE_LIST = "INAPP_DATA_SIGNATURE_LIST"; + AsyncOperation mAsyncOperation; + LinkedList mAsyncRequestQueue; + Context mContext; + OnIabPurchaseFinishedListener mPurchaseListener; + String mPurchasingItemType; + int mRequestCode; + IInAppBillingService mService; + ServiceConnection mServiceConn; + String mSignatureBase64; + boolean mDebugLog = false; + String mDebugTag = "IabHelper"; + boolean mSetupDone = false; + boolean mSubscriptionsSupported = false; + boolean mAsyncInProgress = false; + IabPurchaseUpdateReceiver mPurchaseUpdateReceiver = null; + + public interface OnConsumeFinishedListener { + void onConsumeFinished(Purchase purchase, IabResult iabResult); + } + + public interface OnConsumeMultiFinishedListener { + void onConsumeMultiFinished(List list, List list2); + } + + public interface OnIabBroadcastListener { + void receivedBroadcast(); + } + + public interface OnIabPurchaseFinishedListener { + void onIabPurchaseFinished(IabResult iabResult, Purchase purchase); + } + + public interface OnIabSetupFinishedListener { + void onIabSetupFinished(IabResult iabResult); + } + + public interface QueryInventoryFinishedListener { + void onQueryInventoryFinished(IabResult iabResult, Inventory inventory); + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "MTX Google IABHelper"; + } + + private class AsyncOperation { + private String m_name; + private Runnable m_operation; + private boolean m_runInNewThread; + + public AsyncOperation(String str, boolean z, Runnable runnable) { + this.m_name = str; + this.m_runInNewThread = z; + this.m_operation = runnable; + IabHelper.this.checkSetupDone(this.m_name); + } + + public String getName() { + return this.m_name; + } + + public void run() { + if (this.m_runInNewThread) { + new Thread(this.m_operation).start(); + } else { + this.m_operation.run(); + } + } + } + + public IabHelper(Context context, String str, int i) { + this.mSignatureBase64 = null; + this.mContext = context.getApplicationContext(); + if (this.mContext == null) { + logError("IabHelper initializing with null application context!"); + } + this.mSignatureBase64 = str; + this.mRequestCode = i; + logDebug("IAB helper created."); + this.mAsyncRequestQueue = new LinkedList<>(); + } + + public void setApplicationPublicKey(String str) { + this.mSignatureBase64 = str; + } + + public void enableDebugLogging(boolean z, String str) { + this.mDebugLog = z; + this.mDebugTag = str; + } + + public void enableDebugLogging(boolean z) { + this.mDebugLog = z; + } + + public class IabPurchaseUpdateReceiver extends BroadcastReceiver { + private final OnIabBroadcastListener mListener; + + public IabPurchaseUpdateReceiver(OnIabBroadcastListener onIabBroadcastListener) { + this.mListener = onIabBroadcastListener; + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + if (this.mListener != null) { + this.mListener.receivedBroadcast(); + } + } + } + + public void startSetup(final OnIabSetupFinishedListener onIabSetupFinishedListener, final OnIabBroadcastListener onIabBroadcastListener, OnIabPurchaseFinishedListener onIabPurchaseFinishedListener) { + if (this.mSetupDone) { + throw new IllegalStateException("IAB helper is already set up."); + } + logDebug("Starting in-app billing setup."); + this.mPurchaseListener = onIabPurchaseFinishedListener; + this.mServiceConn = new ServiceConnection() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.1 + @Override // android.content.ServiceConnection + public void onServiceDisconnected(ComponentName componentName) { + IabHelper.this.logDebug("Billing service disconnected."); + if (IabHelper.this.mPurchaseUpdateReceiver != null) { + ApplicationEnvironment.getComponent().getApplicationContext().unregisterReceiver(IabHelper.this.mPurchaseUpdateReceiver); + IabHelper.this.mPurchaseUpdateReceiver = null; + } + IabHelper.this.mService = null; + IabHelper.this.mSetupDone = false; + } + + @Override // android.content.ServiceConnection + public void onServiceConnected(ComponentName componentName, IBinder iBinder) { + int isBillingSupported; + IabHelper.this.logDebug("Billing service connected."); + IabHelper.this.mService = IInAppBillingService.Stub.asInterface(iBinder); + String packageName = IabHelper.this.mContext.getPackageName(); + try { + IabHelper.this.logDebug("Checking for in-app billing 3 support."); + isBillingSupported = IabHelper.this.mService.isBillingSupported(3, packageName, IabHelper.ITEM_TYPE_INAPP); + } catch (RemoteException e) { + if (onIabSetupFinishedListener != null) { + onIabSetupFinishedListener.onIabSetupFinished(new IabResult(IabHelper.IABHELPER_REMOTE_EXCEPTION, "RemoteException while setting up in-app billing.")); + } + e.printStackTrace(); + } + if (isBillingSupported != 0) { + if (onIabSetupFinishedListener != null) { + onIabSetupFinishedListener.onIabSetupFinished(new IabResult(isBillingSupported, "Error checking for billing v3 support.")); + } + IabHelper.this.mSubscriptionsSupported = false; + return; + } + int isBillingSupported2 = IabHelper.this.mService.isBillingSupported(3, packageName, IabHelper.ITEM_TYPE_SUBS); + if (isBillingSupported2 == 0) { + IabHelper.this.logDebug("Subscriptions AVAILABLE."); + IabHelper.this.mSubscriptionsSupported = true; + } else { + IabHelper.this.logDebug("Subscriptions NOT AVAILABLE. Response: " + isBillingSupported2); + IabHelper.this.mSubscriptionsSupported = false; + } + IabHelper.this.logDebug("In-app billing version 3 supported for " + packageName); + if (IabHelper.this.mPurchaseUpdateReceiver == null) { + IabHelper.this.mPurchaseUpdateReceiver = IabHelper.this.new IabPurchaseUpdateReceiver(onIabBroadcastListener); + ApplicationEnvironment.getComponent().getApplicationContext().registerReceiver(IabHelper.this.mPurchaseUpdateReceiver, new IntentFilter("com.android.vending.billing.PURCHASES_UPDATED")); + } + IabHelper.this.mSetupDone = true; + if (onIabSetupFinishedListener != null) { + onIabSetupFinishedListener.onIabSetupFinished(new IabResult(0, "Setup successful.")); + } + } + }; + logDebug("...Starting in-app billing setup."); + logDebug("Binding service..."); + PackageManager packageManager = this.mContext.getPackageManager(); + Intent intent = new Intent("com.android.vending.billing.InAppBillingService.BIND"); + intent.setPackage(GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE); + ResolveInfo resolveService = packageManager.resolveService(intent, 0); + if (resolveService != null) { + logDebug("PackageName = " + resolveService.serviceInfo.packageName); + logDebug("ClassName = " + resolveService.serviceInfo.name); + intent.setComponent(new ComponentName(resolveService.serviceInfo.packageName, resolveService.serviceInfo.name)); + if (this.mContext.bindService(intent, this.mServiceConn, 1)) { + logDebug("Success - Bind to InAppBillingService"); + return; + } else { + logError("Failed to Bind to InAppBillingService"); + this.mServiceConn = null; + return; + } + } + logError("Unable to get ResolveInfo for InAppBillingService intent. Cannot bind to InAppBillinbService"); + this.mServiceConn = null; + } + + public void dispose() { + logDebug("Disposing."); + this.mSetupDone = false; + if (this.mServiceConn != null) { + logDebug("Unbinding from service."); + if (this.mContext != null) { + this.mContext.unbindService(this.mServiceConn); + } + this.mServiceConn = null; + this.mService = null; + this.mPurchaseListener = null; + } + } + + public void launchPurchaseFlow(Activity activity, String str, String str2) { + launchPurchaseFlow(activity, str, str2, ""); + } + + public synchronized void launchPurchaseFlow(final Activity activity, final String str, final String str2, final String str3) { + startOrQueueRunnable(new AsyncOperation("launchPurchaseFlow", false, new Runnable() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.2 + @Override // java.lang.Runnable + public void run() { + try { + IabHelper.this.logDebug("Constructing buy intent for " + str); + Bundle buyIntent = IabHelper.this.mService.getBuyIntent(3, IabHelper.this.mContext.getPackageName(), str, str2, str3); + int responseCodeFromBundle = IabHelper.this.getResponseCodeFromBundle(buyIntent); + if (responseCodeFromBundle != 0) { + IabHelper.this.logDebug("BuyIntent Bundle: " + buyIntent); + IabHelper.this.logError("Unable to buy item, Error response: " + IabHelper.getResponseDesc(responseCodeFromBundle)); + IabHelper.this.flagEndAsync(); + IabResult iabResult = new IabResult(responseCodeFromBundle, "Unable to buy item"); + if (IabHelper.this.mPurchaseListener != null) { + try { + IabHelper.this.mPurchaseListener.onIabPurchaseFinished(iabResult, null); + return; + } catch (Exception e) { + IabHelper.this.logError("Uncaught exception in listener's onIabPurchaseFinished: " + e); + return; + } + } + return; + } + PendingIntent pendingIntent = (PendingIntent) buyIntent.getParcelable(IabHelper.RESPONSE_BUY_INTENT); + IabHelper.this.logDebug("Launching buy intent for " + str + ". Request code: " + IabHelper.this.mRequestCode); + Activity activity2 = activity; + IntentSender intentSender = pendingIntent.getIntentSender(); + int i = IabHelper.this.mRequestCode; + Intent intent = new Intent(); + Integer num = 0; + int intValue = num.intValue(); + Integer num2 = 0; + Integer num3 = 0; + activity2.startIntentSenderForResult(intentSender, i, intent, intValue, num2.intValue(), num3.intValue()); + IabHelper.this.mPurchasingItemType = str2; + } catch (IntentSender.SendIntentException e2) { + IabHelper.this.logError("SendIntentException while launching purchase flow for sku " + str); + e2.printStackTrace(); + IabResult iabResult2 = new IabResult(IabHelper.IABHELPER_SEND_INTENT_FAILED, "Failed to send intent."); + if (IabHelper.this.mPurchaseListener != null) { + IabHelper.this.mPurchaseListener.onIabPurchaseFinished(iabResult2, null); + } + IabHelper.this.flagEndAsync(); + } catch (RemoteException e3) { + IabHelper.this.logError("RemoteException while launching purchase flow for sku " + str); + e3.printStackTrace(); + IabResult iabResult3 = new IabResult(IabHelper.IABHELPER_REMOTE_EXCEPTION, "Remote exception while starting purchase flow"); + if (IabHelper.this.mPurchaseListener != null) { + IabHelper.this.mPurchaseListener.onIabPurchaseFinished(iabResult3, null); + } + IabHelper.this.flagEndAsync(); + } + } + })); + } + + public boolean handleActivityResult(int i, int i2, Intent intent) { + logDebug("handleActivityResult..."); + if (i != this.mRequestCode) { + return false; + } + flagEndAsync(); + if (intent == null) { + logError("Null data in IAB activity result."); + IabResult iabResult = new IabResult(IABHELPER_BAD_RESPONSE, "Null data in IAB result"); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(iabResult, null); + } + return true; + } + int responseCodeFromIntent = getResponseCodeFromIntent(intent); + String stringExtra = intent.getStringExtra(RESPONSE_INAPP_PURCHASE_DATA); + String stringExtra2 = intent.getStringExtra(RESPONSE_INAPP_SIGNATURE); + if (i2 == -1 && responseCodeFromIntent == 0) { + logDebug("Successful resultcode from purchase activity."); + logDebug("Purchase data: " + stringExtra); + logDebug("Data signature: " + stringExtra2); + logDebug("Extras: " + intent.getExtras()); + logDebug("Expected item type: " + this.mPurchasingItemType); + if (stringExtra == null || stringExtra2 == null) { + logError("BUG: either purchaseData or dataSignature is null."); + logDebug("Extras: " + intent.getExtras().toString()); + IabResult iabResult2 = new IabResult(IABHELPER_UNKNOWN_ERROR, "IAB returned null purchaseData or dataSignature"); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(iabResult2, null); + } + return true; + } + try { + Purchase purchase = new Purchase(this.mPurchasingItemType, stringExtra, stringExtra2); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(new IabResult(0, "Success"), purchase); + } + } catch (JSONException e) { + logError("Failed to parse purchase data."); + e.printStackTrace(); + IabResult iabResult3 = new IabResult(IABHELPER_BAD_RESPONSE, "Failed to parse purchase data."); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(iabResult3, null); + } + return true; + } + } else if (i2 == -1) { + logDebug("Result code was OK but in-app billing response was not OK: " + getResponseDesc(responseCodeFromIntent)); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(new IabResult(responseCodeFromIntent, "Problem purchashing item."), null); + } + } else if (i2 == 0) { + logDebug("Google Play Activity canceled - Response: " + getResponseDesc(responseCodeFromIntent)); + IabResult iabResult4 = new IabResult(responseCodeFromIntent, "Problem purchashing item."); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(iabResult4, null); + } + } else { + logError("Purchase failed. Result code: " + Integer.toString(i2) + ". Response: " + getResponseDesc(responseCodeFromIntent)); + IabResult iabResult5 = new IabResult(IABHELPER_UNKNOWN_PURCHASE_RESPONSE, "Unknown purchase response."); + if (this.mPurchaseListener != null) { + this.mPurchaseListener.onIabPurchaseFinished(iabResult5, null); + } + } + return true; + } + + /* JADX WARN: Code restructure failed: missing block: B:18:0x0035, code lost: + + if (r1.mSubscriptionsSupported == false) goto L23; + */ + /* JADX WARN: Code restructure failed: missing block: B:19:0x0037, code lost: + + r2 = querySkuDetails(r0, r4, com.ea.nimble.mtx.googleplay.util.IabHelper.ITEM_TYPE_SUBS); + */ + /* JADX WARN: Code restructure failed: missing block: B:20:0x003d, code lost: + + if (r2 != 0) goto L21; + */ + /* JADX WARN: Code restructure failed: missing block: B:23:0x0047, code lost: + + throw new com.ea.nimble.mtx.googleplay.util.IabException(r2, "Error refreshing inventory (querying prices of items)."); + */ + /* JADX WARN: Code restructure failed: missing block: B:24:0x0048, code lost: + + r2 = querySkuDetails(r0, r4, com.ea.nimble.mtx.googleplay.util.IabHelper.ITEM_TYPE_INAPP); + */ + /* JADX WARN: Code restructure failed: missing block: B:25:0x004e, code lost: + + if (r2 != 0) goto L26; + */ + /* JADX WARN: Code restructure failed: missing block: B:28:0x0058, code lost: + + throw new com.ea.nimble.mtx.googleplay.util.IabException(r2, "Error refreshing inventory (querying prices of items)."); + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public com.ea.nimble.mtx.googleplay.util.Inventory queryInventory(boolean r2, boolean r3, java.util.List r4) throws com.ea.nimble.mtx.googleplay.util.IabException { + /* + r1 = this; + java.lang.String r0 = "queryInventory" + r1.checkSetupDone(r0) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + com.ea.nimble.mtx.googleplay.util.Inventory r0 = new com.ea.nimble.mtx.googleplay.util.Inventory // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + r0.() // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 == 0) goto L31 + java.lang.String r2 = "inapp" + int r2 = r1.queryPurchases(r0, r2) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 != 0) goto L29 + boolean r2 = r1.mSubscriptionsSupported // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 == 0) goto L31 + java.lang.String r2 = "subs" + int r2 = r1.queryPurchases(r0, r2) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 != 0) goto L21 + goto L31 + L21: + com.ea.nimble.mtx.googleplay.util.IabException r3 = new com.ea.nimble.mtx.googleplay.util.IabException // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + java.lang.String r4 = "Error refreshing inventory (querying owned items)." + r3.(r2, r4) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + throw r3 // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + L29: + com.ea.nimble.mtx.googleplay.util.IabException r3 = new com.ea.nimble.mtx.googleplay.util.IabException // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + java.lang.String r4 = "Error refreshing inventory (querying owned items)." + r3.(r2, r4) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + throw r3 // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + L31: + if (r3 == 0) goto L59 + boolean r2 = r1.mSubscriptionsSupported // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 == 0) goto L48 + java.lang.String r2 = "subs" + int r2 = r1.querySkuDetails(r0, r4, r2) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 != 0) goto L40 + goto L48 + L40: + com.ea.nimble.mtx.googleplay.util.IabException r3 = new com.ea.nimble.mtx.googleplay.util.IabException // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + java.lang.String r4 = "Error refreshing inventory (querying prices of items)." + r3.(r2, r4) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + throw r3 // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + L48: + java.lang.String r2 = "inapp" + int r2 = r1.querySkuDetails(r0, r4, r2) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + if (r2 != 0) goto L51 + goto L59 + L51: + com.ea.nimble.mtx.googleplay.util.IabException r3 = new com.ea.nimble.mtx.googleplay.util.IabException // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + java.lang.String r4 = "Error refreshing inventory (querying prices of items)." + r3.(r2, r4) // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + throw r3 // Catch: org.json.JSONException -> L5a android.os.RemoteException -> L65 + L59: + return r0 + L5a: + r2 = move-exception + com.ea.nimble.mtx.googleplay.util.IabException r3 = new com.ea.nimble.mtx.googleplay.util.IabException + r4 = -1002(0xfffffffffffffc16, float:NaN) + java.lang.String r0 = "Error parsing JSON response while refreshing inventory." + r3.(r4, r0, r2) + throw r3 + L65: + r2 = move-exception + com.ea.nimble.mtx.googleplay.util.IabException r3 = new com.ea.nimble.mtx.googleplay.util.IabException + r4 = -1001(0xfffffffffffffc17, float:NaN) + java.lang.String r0 = "Remote exception while refreshing inventory." + r3.(r4, r0, r2) + throw r3 + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.mtx.googleplay.util.IabHelper.queryInventory(boolean, boolean, java.util.List):com.ea.nimble.mtx.googleplay.util.Inventory"); + } + + public void queryInventoryAsync(final boolean z, final boolean z2, final List list, final QueryInventoryFinishedListener queryInventoryFinishedListener) { + Looper myLooper = Looper.myLooper(); + if (myLooper == null) { + myLooper = Looper.getMainLooper(); + } + final Handler handler = new Handler(myLooper); + startOrQueueRunnable(new AsyncOperation("queryInventory", true, new Runnable() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.3 + @Override // java.lang.Runnable + public void run() { + final Inventory inventory; + final IabResult iabResult = new IabResult(0, "Inventory refresh successful."); + try { + inventory = IabHelper.this.queryInventory(z, z2, list); + } catch (IabException e) { + iabResult = e.getResult(); + inventory = null; + } + IabHelper.this.flagEndAsync(); + handler.post(new Runnable() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.3.1 + @Override // java.lang.Runnable + public void run() { + queryInventoryFinishedListener.onQueryInventoryFinished(iabResult, inventory); + } + }); + } + })); + } + + public void queryInventoryAsync(QueryInventoryFinishedListener queryInventoryFinishedListener) { + queryInventoryAsync(true, true, null, queryInventoryFinishedListener); + } + + public void queryInventoryAsync(boolean z, boolean z2, QueryInventoryFinishedListener queryInventoryFinishedListener) { + queryInventoryAsync(z, z2, null, queryInventoryFinishedListener); + } + + void consume(Purchase purchase) throws IabException { + checkSetupDone("consume"); + try { + String token = purchase.getToken(); + String sku = purchase.getSku(); + if (token == null || token.equals("")) { + logError("Can't consume " + sku + ". No token."); + throw new IabException(IABHELPER_MISSING_TOKEN, "PurchaseInfo is missing token for sku: " + sku + " " + purchase); + } + logDebug("Consuming sku: " + sku + ", token: " + token); + int consumePurchase = this.mService.consumePurchase(3, this.mContext.getPackageName(), token); + if (consumePurchase == 0) { + logDebug("Successfully consumed sku: " + sku); + return; + } + logDebug("Error consuming consuming sku " + sku + ". " + getResponseDesc(consumePurchase)); + throw new IabException(consumePurchase, "Error consuming sku " + sku); + } catch (RemoteException e) { + throw new IabException(IABHELPER_REMOTE_EXCEPTION, "Remote exception while consuming. PurchaseInfo: " + purchase, e); + } + } + + public void consumeAsync(Purchase purchase, OnConsumeFinishedListener onConsumeFinishedListener) { + ArrayList arrayList = new ArrayList(); + arrayList.add(purchase); + consumeAsyncInternal(arrayList, onConsumeFinishedListener, null); + } + + public void consumeAsync(List list, OnConsumeMultiFinishedListener onConsumeMultiFinishedListener) { + consumeAsyncInternal(list, null, onConsumeMultiFinishedListener); + } + + public static String getResponseDesc(int i) { + String[] split = "0:OK/1:User Canceled/2:Unknown/3:Billing Unavailable/4:Item unavailable/5:Developer Error/6:Error/7:Item Already Owned/8:Item not owned".split("/"); + String[] split2 = "0:OK/-1001:Remote exception during initialization/-1002:Bad response received/-1003:Purchase signature verification failed/-1004:Send intent failed/-1005:User cancelled/-1006:Unknown purchase response/-1007:Missing token/-1008:Unknown error/-1009:Subscriptions not available/-1010:Invalid consumption attempt".split("/"); + if (i <= -1000) { + int i2 = (-1000) - i; + if (i2 >= 0 && i2 < split2.length) { + return split2[i2]; + } + return String.valueOf(i) + ":Unknown IAB Helper Error"; + } + if (i < 0 || i >= split.length) { + return String.valueOf(i) + ":Unknown"; + } + return split[i]; + } + + void checkSetupDone(String str) { + if (this.mSetupDone) { + return; + } + logError("Illegal state for operation (" + str + "): IAB helper is not set up."); + throw new IllegalStateException("IAB helper is not set up. Can't perform operation: " + str); + } + + int getResponseCodeFromBundle(Bundle bundle) { + Object obj = bundle.get(RESPONSE_CODE); + if (obj == null) { + logDebug("Bundle with null response code, assuming OK (known issue)"); + return 0; + } + if (obj instanceof Integer) { + return ((Integer) obj).intValue(); + } + if (obj instanceof Long) { + return (int) ((Long) obj).longValue(); + } + logError("Unexpected type for bundle response code."); + logError(obj.getClass().getName()); + throw new RuntimeException("Unexpected type for bundle response code: " + obj.getClass().getName()); + } + + int getResponseCodeFromIntent(Intent intent) { + Object obj = intent.getExtras().get(RESPONSE_CODE); + if (obj == null) { + logError("Intent with no response code, assuming OK (known issue)"); + return 0; + } + if (obj instanceof Integer) { + return ((Integer) obj).intValue(); + } + if (obj instanceof Long) { + return (int) ((Long) obj).longValue(); + } + logError("Unexpected type for intent response code."); + logError(obj.getClass().getName()); + throw new RuntimeException("Unexpected type for intent response code: " + obj.getClass().getName()); + } + + boolean isAsyncInProgress() { + return this.mAsyncInProgress; + } + + void flagStartAsync(AsyncOperation asyncOperation) { + if (this.mAsyncInProgress) { + throw new IllegalStateException("Can't start async operation (" + asyncOperation.getName() + ") because another async operation(" + this.mAsyncOperation.getName() + ") is in progress."); + } + this.mAsyncOperation = asyncOperation; + this.mAsyncInProgress = true; + logDebug("Starting async operation: " + asyncOperation.getName()); + } + + synchronized void flagEndAsync() { + if (this.mAsyncInProgress) { + logDebug("Ending async operation: " + this.mAsyncOperation.getName()); + this.mAsyncOperation = null; + this.mAsyncInProgress = false; + checkAndPopAsyncQueue(); + } + } + + private void enqueueOperation(AsyncOperation asyncOperation) { + logDebug("Enqueuing operation " + asyncOperation.getName() + " to execute after current async op, " + this.mAsyncOperation.getName() + ", is finished."); + this.mAsyncRequestQueue.add(asyncOperation); + } + + private synchronized void startOrQueueRunnable(AsyncOperation asyncOperation) { + if (isAsyncInProgress()) { + enqueueOperation(asyncOperation); + } else { + flagStartAsync(asyncOperation); + asyncOperation.run(); + } + } + + private void checkAndPopAsyncQueue() { + if (this.mAsyncRequestQueue.size() > 0) { + AsyncOperation removeFirst = this.mAsyncRequestQueue.removeFirst(); + flagStartAsync(removeFirst); + removeFirst.run(); + } + } + + /* JADX WARN: Code restructure failed: missing block: B:46:0x01ab, code lost: + + return com.ea.nimble.mtx.googleplay.util.IabHelper.IABHELPER_BAD_RESPONSE; + */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + int queryPurchases(com.ea.nimble.mtx.googleplay.util.Inventory r17, java.lang.String r18) throws org.json.JSONException, android.os.RemoteException, java.lang.IllegalStateException { + /* + Method dump skipped, instructions count: 452 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.mtx.googleplay.util.IabHelper.queryPurchases(com.ea.nimble.mtx.googleplay.util.Inventory, java.lang.String):int"); + } + + int querySkuDetails(Inventory inventory, List list, String str) throws RemoteException, JSONException, IllegalStateException { + logDebug("Querying SKU details."); + IInAppBillingService iInAppBillingService = this.mService; + if (iInAppBillingService == null) { + throw new IllegalStateException("Billing service is not connected."); + } + if (this.mContext == null) { + throw new IllegalStateException("InAppBilling application context is unset."); + } + ArrayList arrayList = new ArrayList(); + arrayList.addAll(inventory.getAllOwnedSkus()); + if (list != null) { + arrayList.addAll(list); + } + if (arrayList.size() == 0) { + logDebug("queryPrices: nothing to do because there are no SKUs."); + return 0; + } + int i = 0; + while (i != arrayList.size()) { + int size = arrayList.size() - i > 20 ? i + 20 : arrayList.size(); + ArrayList arrayList2 = new ArrayList<>(arrayList.subList(i, size)); + Bundle bundle = new Bundle(); + bundle.putStringArrayList(GET_SKU_DETAILS_ITEM_LIST, arrayList2); + Bundle skuDetails = iInAppBillingService.getSkuDetails(3, this.mContext.getPackageName(), str, bundle); + if (skuDetails == null) { + throw new IllegalStateException("Billing service is not connected."); + } + if (!skuDetails.containsKey(RESPONSE_GET_SKU_DETAILS_LIST)) { + int responseCodeFromBundle = getResponseCodeFromBundle(skuDetails); + if (responseCodeFromBundle != 0) { + logDebug("getSkuDetails() failed: " + getResponseDesc(responseCodeFromBundle)); + return responseCodeFromBundle; + } + logError("getSkuDetails() returned a bundle with neither an error nor a detail list."); + return IABHELPER_BAD_RESPONSE; + } + Iterator it = skuDetails.getStringArrayList(RESPONSE_GET_SKU_DETAILS_LIST).iterator(); + while (it.hasNext()) { + SkuDetails skuDetails2 = new SkuDetails(it.next()); + logDebug("Got sku details: " + skuDetails2); + inventory.addSkuDetails(skuDetails2); + } + i = size; + } + return 0; + } + + void consumeAsyncInternal(final List list, final OnConsumeFinishedListener onConsumeFinishedListener, final OnConsumeMultiFinishedListener onConsumeMultiFinishedListener) { + Looper myLooper = Looper.myLooper(); + if (myLooper == null) { + myLooper = Looper.getMainLooper(); + } + final Handler handler = new Handler(myLooper); + startOrQueueRunnable(new AsyncOperation("consume", true, new Runnable() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.4 + @Override // java.lang.Runnable + public void run() { + final ArrayList arrayList = new ArrayList(); + for (Purchase purchase : list) { + try { + IabHelper.this.consume(purchase); + arrayList.add(new IabResult(0, "Successful consume of sku " + purchase.getSku())); + } catch (IabException e) { + arrayList.add(e.getResult()); + } + } + IabHelper.this.flagEndAsync(); + if (onConsumeFinishedListener != null) { + handler.post(new Runnable() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.4.1 + @Override // java.lang.Runnable + public void run() { + onConsumeFinishedListener.onConsumeFinished((Purchase) list.get(0), (IabResult) arrayList.get(0)); + } + }); + } + if (onConsumeMultiFinishedListener != null) { + handler.post(new Runnable() { // from class: com.ea.nimble.mtx.googleplay.util.IabHelper.4.2 + @Override // java.lang.Runnable + public void run() { + onConsumeMultiFinishedListener.onConsumeMultiFinished(list, arrayList); + } + }); + } + } + })); + } + + void logDebug(String str) { + Log.Helper.LOGD(this, str, new Object[0]); + } + + void logError(String str) { + Log.Helper.LOGE(this, str, new Object[0]); + } + + void logWarn(String str) { + Log.Helper.LOGW(this, str, new Object[0]); + } + + public boolean isServiceAvailable() { + return this.mSetupDone && this.mService != null; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabResult.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabResult.java new file mode 100644 index 0000000..0e80822 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/IabResult.java @@ -0,0 +1,36 @@ +package com.ea.nimble.mtx.googleplay.util; + +/* loaded from: classes.dex */ +public class IabResult { + String mMessage; + int mResponse; + + public IabResult(int i, String str) { + this.mResponse = i; + if (str == null || str.trim().length() == 0) { + this.mMessage = IabHelper.getResponseDesc(i); + return; + } + this.mMessage = str + " (response: " + IabHelper.getResponseDesc(i) + ")"; + } + + public int getResponse() { + return this.mResponse; + } + + public String getMessage() { + return this.mMessage; + } + + public boolean isSuccess() { + return this.mResponse == 0; + } + + public boolean isFailure() { + return !isSuccess(); + } + + public String toString() { + return "IabResult: " + getMessage(); + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Inventory.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Inventory.java new file mode 100644 index 0000000..c429739 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Inventory.java @@ -0,0 +1,57 @@ +package com.ea.nimble.mtx.googleplay.util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +public class Inventory { + Map mSkuMap = new HashMap(); + Map mPurchaseMap = new HashMap(); + + Inventory() { + } + + public SkuDetails getSkuDetails(String str) { + return this.mSkuMap.get(str); + } + + public Purchase getPurchase(String str) { + return this.mPurchaseMap.get(str); + } + + public boolean hasPurchase(String str) { + return this.mPurchaseMap.containsKey(str); + } + + public boolean hasDetails(String str) { + return this.mSkuMap.containsKey(str); + } + + public void erasePurchase(String str) { + if (this.mPurchaseMap.containsKey(str)) { + this.mPurchaseMap.remove(str); + } + } + + public List getAllOwnedSkus() { + return new ArrayList(this.mPurchaseMap.keySet()); + } + + public List getAllPurchases() { + return new ArrayList(this.mPurchaseMap.values()); + } + + void addSkuDetails(SkuDetails skuDetails) { + this.mSkuMap.put(skuDetails.getSku(), skuDetails); + } + + void addPurchase(Purchase purchase) { + this.mPurchaseMap.put(purchase.getSku(), purchase); + } + + public List getAllSkuDetails() { + return new ArrayList(this.mSkuMap.values()); + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Purchase.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Purchase.java new file mode 100644 index 0000000..43e08b2 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Purchase.java @@ -0,0 +1,119 @@ +package com.ea.nimble.mtx.googleplay.util; + +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.mtx.googleplay.GooglePlay; +import com.ea.nimble.mtx.googleplay.GooglePlayTransaction; +import java.util.Map; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class Purchase { + String mDeveloperPayload; + boolean mIsAutoRenewing; + String mItemType; + String mNimbleMTXTransactionId; + String mOrderId; + String mOriginalJson; + String mPackageName; + int mPurchaseState; + long mPurchaseTime; + String mSignature; + String mSku; + String mToken; + + public Purchase(String str, String str2, String str3) throws JSONException { + this.mItemType = str; + this.mOriginalJson = str2; + JSONObject jSONObject = new JSONObject(this.mOriginalJson); + this.mOrderId = jSONObject.optString("orderId"); + this.mPackageName = jSONObject.optString("packageName"); + this.mSku = jSONObject.optString("productId"); + this.mPurchaseTime = jSONObject.optLong("purchaseTime"); + this.mPurchaseState = jSONObject.optInt("purchaseState"); + this.mDeveloperPayload = jSONObject.optString("developerPayload"); + this.mToken = jSONObject.optString("token", jSONObject.optString("purchaseToken")); + this.mIsAutoRenewing = jSONObject.optBoolean("autoRenewing"); + this.mSignature = str3; + } + + public Purchase(GooglePlayTransaction googlePlayTransaction) throws IllegalArgumentException { + Map additionalInfo = googlePlayTransaction.getAdditionalInfo(); + if (additionalInfo == null) { + throw new IllegalArgumentException("Can't construct Purchase from GooglePlayTransaction without additional info bundle"); + } + String str = (String) additionalInfo.get(GooglePlay.GOOGLEPLAY_ADDITIONALINFO_KEY_ORDERID); + String applicationBundleId = ApplicationEnvironment.getComponent().getApplicationBundleId(); + String itemSku = googlePlayTransaction.getItemSku(); + long longValue = ((Long) additionalInfo.get(GooglePlay.GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASETIME)).longValue(); + int intValue = ((Integer) additionalInfo.get(GooglePlay.GOOGLEPLAY_ADDITIONALINFO_KEY_PURCHASESTATE)).intValue(); + String nonce = googlePlayTransaction.getNonce(); + String str2 = (String) additionalInfo.get(GooglePlay.GOOGLEPLAY_ADDITIONALINFO_KEY_TOKEN); + String receipt = googlePlayTransaction.getReceipt(); + if (str == null || applicationBundleId == null || itemSku == null || nonce == null || str2 == null || receipt == null) { + throw new IllegalArgumentException("Missing data to construct a Purchase object."); + } + this.mOrderId = str; + this.mPackageName = applicationBundleId; + this.mSku = itemSku; + this.mPurchaseTime = longValue; + this.mPurchaseState = intValue; + this.mDeveloperPayload = nonce; + this.mToken = str2; + this.mSignature = receipt; + this.mOriginalJson = "{\"constructedFromTransaction\":1}"; + this.mNimbleMTXTransactionId = googlePlayTransaction.getTransactionId(); + } + + public String getItemType() { + return this.mItemType; + } + + public String getOrderId() { + return this.mOrderId; + } + + public String getPackageName() { + return this.mPackageName; + } + + public String getSku() { + return this.mSku; + } + + public long getPurchaseTime() { + return this.mPurchaseTime; + } + + public int getPurchaseState() { + return this.mPurchaseState; + } + + public String getDeveloperPayload() { + return this.mDeveloperPayload; + } + + public String getToken() { + return this.mToken; + } + + public String getOriginalJson() { + return this.mOriginalJson; + } + + public String getSignature() { + return this.mSignature; + } + + public String getNimbleMTXTransactionId() { + return this.mNimbleMTXTransactionId; + } + + public boolean isAutoRenewing() { + return this.mIsAutoRenewing; + } + + public String toString() { + return "PurchaseInfo:" + this.mOriginalJson; + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Security.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Security.java new file mode 100644 index 0000000..2641b39 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/Security.java @@ -0,0 +1,70 @@ +package com.ea.nimble.mtx.googleplay.util; + +import android.text.TextUtils; +import android.util.Log; +import java.security.InvalidKeyException; +import java.security.KeyFactory; +import java.security.NoSuchAlgorithmException; +import java.security.PublicKey; +import java.security.Signature; +import java.security.SignatureException; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.X509EncodedKeySpec; + +/* loaded from: classes.dex */ +public class Security { + private static final String KEY_FACTORY_ALGORITHM = "RSA"; + private static final String SIGNATURE_ALGORITHM = "SHA1withRSA"; + private static final String TAG = "IABUtil/Security"; + + public static boolean verifyPurchase(String str, String str2, String str3) { + if (str2 == null) { + Log.e(TAG, "data is null"); + return false; + } + if (TextUtils.isEmpty(str3) || verify(generatePublicKey(str), str2, str3)) { + return true; + } + Log.w(TAG, "signature does not match data."); + return false; + } + + public static PublicKey generatePublicKey(String str) { + try { + return KeyFactory.getInstance(KEY_FACTORY_ALGORITHM).generatePublic(new X509EncodedKeySpec(Base64.decode(str))); + } catch (Base64DecoderException e) { + Log.e(TAG, "Base64 decoding failed."); + throw new IllegalArgumentException(e); + } catch (NoSuchAlgorithmException e2) { + throw new RuntimeException(e2); + } catch (InvalidKeySpecException e3) { + Log.e(TAG, "Invalid key specification."); + throw new IllegalArgumentException(e3); + } + } + + public static boolean verify(PublicKey publicKey, String str, String str2) { + try { + Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); + signature.initVerify(publicKey); + signature.update(str.getBytes()); + if (signature.verify(Base64.decode(str2))) { + return true; + } + Log.e(TAG, "Signature verification failed."); + return false; + } catch (Base64DecoderException unused) { + Log.e(TAG, "Base64 decoding failed."); + return false; + } catch (InvalidKeyException unused2) { + Log.e(TAG, "Invalid key specification."); + return false; + } catch (NoSuchAlgorithmException unused3) { + Log.e(TAG, "NoSuchAlgorithmException."); + return false; + } catch (SignatureException unused4) { + Log.e(TAG, "Signature exception."); + return false; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/mtx/googleplay/util/SkuDetails.java b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/SkuDetails.java new file mode 100644 index 0000000..e93ff52 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/mtx/googleplay/util/SkuDetails.java @@ -0,0 +1,60 @@ +package com.ea.nimble.mtx.googleplay.util; + +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class SkuDetails { + String mCurrencyCode; + String mDescription; + String mJson; + String mPrice; + String mPriceMicros; + String mSku; + String mTitle; + String mType; + + public SkuDetails(String str) throws JSONException { + this.mJson = str; + JSONObject jSONObject = new JSONObject(this.mJson); + this.mSku = jSONObject.optString("productId"); + this.mType = jSONObject.optString("type"); + this.mPrice = jSONObject.optString("price"); + this.mPriceMicros = jSONObject.optString("price_amount_micros"); + this.mCurrencyCode = jSONObject.optString("price_currency_code"); + this.mTitle = jSONObject.optString("title"); + this.mDescription = jSONObject.optString("description"); + } + + public String getSku() { + return this.mSku; + } + + public String getType() { + return this.mType; + } + + public String getPrice() { + return this.mPrice; + } + + public String getPriceMicros() { + return this.mPriceMicros; + } + + public String getCurrencyCode() { + return this.mCurrencyCode; + } + + public String getTitle() { + return this.mTitle; + } + + public String getDescription() { + return this.mDescription; + } + + public String toString() { + return "SkuDetails:" + this.mJson; + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/BuildConfig.java b/app/src/main/java/com/ea/nimble/pushtng/BuildConfig.java new file mode 100644 index 0000000..9e3c13c --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/BuildConfig.java @@ -0,0 +1,11 @@ +package com.ea.nimble.pushtng; + +/* loaded from: classes.dex */ +public final class BuildConfig { + public static final String APPLICATION_ID = "com.ea.nimble.pushtng"; + public static final String BUILD_TYPE = "release"; + public static final boolean DEBUG = false; + public static final String FLAVOR = ""; + public static final int VERSION_CODE = 1; + public static final String VERSION_NAME = "1.0"; +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/IPushNotification.java b/app/src/main/java/com/ea/nimble/pushtng/IPushNotification.java new file mode 100644 index 0000000..178d0d6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/IPushNotification.java @@ -0,0 +1,17 @@ +package com.ea.nimble.pushtng; + +import com.ea.eadp.pushnotification.listeners.IPushListener; +import java.util.Date; + +/* loaded from: classes.dex */ +public interface IPushNotification { + String getDisableStatus(); + + boolean getRegistrationStatus(); + + void sendPendingTrackingRequests(); + + void startAsDisabled(String str, Date date, String str2, IPushListener iPushListener); + + void startWithDefaults(String str, Date date, IPushListener iPushListener); +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpRequest.java b/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpRequest.java new file mode 100644 index 0000000..e89f23d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpRequest.java @@ -0,0 +1,163 @@ +package com.ea.nimble.pushtng; + +import com.ea.eadp.http.models.HttpRequest; +import com.ea.eadp.http.models.HttpRequestListener; +import com.ea.eadp.http.models.HttpResponse; +import com.ea.nimble.INetwork; +import com.ea.nimble.Log; +import com.ea.nimble.Network; +import com.ea.nimble.NetworkConnectionCallback; +import com.ea.nimble.NetworkConnectionHandle; +import com.ea.nimble.Utility; +import java.io.IOException; +import java.net.URL; +import java.nio.charset.Charset; +import java.util.HashMap; +import org.apache.http.client.utils.URLEncodedUtils; +import org.apache.http.protocol.HTTP; + +/* loaded from: classes.dex */ +public class NimbleAndroidHttpRequest implements HttpRequest { + private static final String LOG_TAG = "NimbleAndroidHttpRequest"; + private String body; + private HashMap headers; + private INetwork nimbleNetwork; + private URL resource; + + public NimbleAndroidHttpRequest() throws IOException { + try { + this.nimbleNetwork = Network.getComponent(); + this.headers = new HashMap<>(); + } catch (Exception e) { + Log.Helper.LOGES(LOG_TAG, e.toString(), new Object[0]); + throw new IOException("NimbleNetwork unavailble at this time."); + } + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpRequest setResource(URL url) { + Log.Helper.LOGPUBLICFUNC(this); + this.resource = url; + return this; + } + + @Override // com.ea.eadp.http.models.HttpRequest + public URL getResource() { + Log.Helper.LOGPUBLICFUNC(this); + return this.resource; + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpRequest setHeader(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + this.headers.put(str, str2); + return this; + } + + @Override // com.ea.eadp.http.models.HttpRequest + public String getValueForHeader(String str) { + Log.Helper.LOGPUBLICFUNC(this); + return this.headers.get(str); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpRequest setBody(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.body = str; + setHeader("Content-Type", URLEncodedUtils.CONTENT_TYPE); + return this; + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpRequest setBody(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + return setBody(str); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpRequest setJsonBody(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.body = str; + setHeader("Content-Type", "application/json"); + return this; + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpRequest setJsonBody(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + return setJsonBody(str); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpResponse get() { + Log.Helper.LOGPUBLICFUNC(this); + throw new UnsupportedOperationException("Synchronous communication not supported."); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public void getAsync(final HttpRequestListener httpRequestListener) { + Log.Helper.LOGPUBLICFUNC(this); + this.nimbleNetwork.sendGetRequest(this.resource, this.headers, new NetworkConnectionCallback() { // from class: com.ea.nimble.pushtng.NimbleAndroidHttpRequest.1 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + NimbleAndroidHttpRequest.this.sendResponseCallback(networkConnectionHandle, httpRequestListener); + } + }); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpResponse post() { + Log.Helper.LOGPUBLICFUNC(this); + throw new UnsupportedOperationException("Synchronous communication not supported."); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public void postAsync(final HttpRequestListener httpRequestListener) { + Log.Helper.LOGPUBLICFUNC(this); + this.nimbleNetwork.sendPostRequest(this.resource, this.headers, this.body.getBytes(Charset.forName(HTTP.UTF_8)), new NetworkConnectionCallback() { // from class: com.ea.nimble.pushtng.NimbleAndroidHttpRequest.2 + @Override // com.ea.nimble.NetworkConnectionCallback + public void callback(NetworkConnectionHandle networkConnectionHandle) { + NimbleAndroidHttpRequest.this.sendResponseCallback(networkConnectionHandle, httpRequestListener); + } + }); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpResponse put() { + Log.Helper.LOGPUBLICFUNC(this); + throw new UnsupportedOperationException("Synchronous communication not supported."); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public void putAsync(HttpRequestListener httpRequestListener) { + Log.Helper.LOGPUBLICFUNC(this); + throw new UnsupportedOperationException("Put requests not supported."); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public HttpResponse delete() { + Log.Helper.LOGPUBLICFUNC(this); + throw new UnsupportedOperationException("Synchronous communication not supported."); + } + + @Override // com.ea.eadp.http.models.HttpRequest + public void deleteAsync(HttpRequestListener httpRequestListener) { + Log.Helper.LOGPUBLICFUNC(this); + throw new UnsupportedOperationException("Delete requests not supported."); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void sendResponseCallback(NetworkConnectionHandle networkConnectionHandle, HttpRequestListener httpRequestListener) { + NimbleAndroidHttpResponse nimbleAndroidHttpResponse = new NimbleAndroidHttpResponse(); + nimbleAndroidHttpResponse.setCode(networkConnectionHandle.getResponse().getStatusCode()); + URL url = networkConnectionHandle.getResponse().getUrl(); + nimbleAndroidHttpResponse.setUrl(url == null ? null : url.toString()); + try { + nimbleAndroidHttpResponse.setBody(Utility.readStringFromStream(networkConnectionHandle.getResponse().getDataStream())); + } catch (IOException e) { + Log.Helper.LOGES(LOG_TAG, "IOException reading response body: " + e.toString(), new Object[0]); + } + nimbleAndroidHttpResponse.setHeaders(networkConnectionHandle.getResponse().getHeaders()); + httpRequestListener.onComplete(nimbleAndroidHttpResponse); + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpResponse.java b/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpResponse.java new file mode 100644 index 0000000..76e63bf --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpResponse.java @@ -0,0 +1,74 @@ +package com.ea.nimble.pushtng; + +import com.ea.eadp.http.models.HttpResponse; +import com.ea.nimble.Log; +import java.util.Map; + +/* loaded from: classes.dex */ +public class NimbleAndroidHttpResponse implements HttpResponse { + private String body; + private int code; + private Map headers; + private String message; + private String url; + + @Override // com.ea.eadp.http.models.HttpResponse + public String getUrl() { + Log.Helper.LOGPUBLICFUNC(this); + return this.url; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public void setUrl(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.url = str; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public int getCode() { + Log.Helper.LOGPUBLICFUNC(this); + return this.code; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public void setCode(int i) { + Log.Helper.LOGPUBLICFUNC(this); + this.code = i; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public String getMessage() { + Log.Helper.LOGPUBLICFUNC(this); + return this.message; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public void setMessage(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.message = str; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public String getBody() { + Log.Helper.LOGPUBLICFUNC(this); + return this.body; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public void setBody(String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.body = str; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public Map getHeaders() { + Log.Helper.LOGPUBLICFUNC(this); + return this.headers; + } + + @Override // com.ea.eadp.http.models.HttpResponse + public void setHeaders(Map map) { + Log.Helper.LOGPUBLICFUNC(this); + this.headers = map; + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpService.java b/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpService.java new file mode 100644 index 0000000..b8b0cd7 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimbleAndroidHttpService.java @@ -0,0 +1,19 @@ +package com.ea.nimble.pushtng; + +import com.ea.eadp.http.models.HttpRequest; +import com.ea.eadp.http.services.HttpService; +import com.ea.nimble.Log; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +/* loaded from: classes.dex */ +public class NimbleAndroidHttpService implements HttpService { + @Override // com.ea.eadp.http.services.HttpService + public HttpRequest getResource(String str) throws MalformedURLException, IOException { + Log.Helper.LOGFUNC(this); + NimbleAndroidHttpRequest nimbleAndroidHttpRequest = new NimbleAndroidHttpRequest(); + nimbleAndroidHttpRequest.setResource(new URL(str)); + return nimbleAndroidHttpRequest; + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimbleDeviceIdService.java b/app/src/main/java/com/ea/nimble/pushtng/NimbleDeviceIdService.java new file mode 100644 index 0000000..c7b4e8d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimbleDeviceIdService.java @@ -0,0 +1,22 @@ +package com.ea.nimble.pushtng; + +import com.ea.eadp.deviceid.DeviceIdService; +import com.ea.nimble.ISynergyEnvironment; +import com.ea.nimble.Log; +import com.ea.nimble.SynergyEnvironment; + +/* loaded from: classes.dex */ +class NimbleDeviceIdService implements DeviceIdService { + NimbleDeviceIdService() { + } + + @Override // com.ea.eadp.deviceid.DeviceIdService + public String getDeviceId() { + Log.Helper.LOGFUNC(this); + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (component != null) { + return component.getEADeviceId(); + } + return null; + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastForwarder.java b/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastForwarder.java new file mode 100644 index 0000000..7c21006 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastForwarder.java @@ -0,0 +1,86 @@ +package com.ea.nimble.pushtng; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Bundle; +import com.ea.eadp.http.services.HttpService; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.eadp.pushnotification.forwarding.PushBroadcastForwarder; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Log; +import com.ea.nimble.NimbleApplicationConfiguration; +import com.ea.nimble.tracking.Tracking; +import com.google.android.vending.expansion.downloader.Constants; +import java.io.File; +import java.util.HashMap; + +/* loaded from: classes.dex */ +public class NimblePushTNGBroadcastForwarder extends PushBroadcastForwarder { + @Override // com.ea.eadp.pushnotification.forwarding.PushBroadcastForwarder + protected void handleNewPushNotification(Context context, Bundle bundle) { + Log.Helper.LOGFUNC(this); + String string = bundle.getString(GcmIntentService.PushIntentExtraKeys.COLLAPSE_KEY); + if (string != null) { + String replace = string.replace(File.pathSeparator, Constants.FILENAME_SEQUENCE_SEPARATOR).replace(File.separator, "_"); + context.getApplicationContext().getSharedPreferences("PushTNGStacking_" + replace, 0).edit().clear().commit(); + } + if (bundle.getBoolean(NimblePushTNGIntentService.EXTRA_IS_DELETE_INTENT)) { + return; + } + String string2 = bundle.getString(GcmIntentService.PushIntentExtraKeys.PUSH_ID); + String string3 = bundle.getString(GcmIntentService.PushIntentExtraKeys.PN_TYPE); + if (string2 != null && string3 != null) { + HashMap hashMap = new HashMap(); + hashMap.put(PushNotification.KEY_TRACKING_TYPE, Tracking.EVENT_PN_SHOWN_TO_USER); + hashMap.put("NIMBLESTANDARD::KEY_PN_MESSAGE_ID", string2); + hashMap.put(Tracking.KEY_PN_MESSAGE_TYPE, string3); + PushNotificationImpl.persistTrackingData(context, hashMap, string2 + "_" + Tracking.EVENT_PN_SHOWN_TO_USER); + } + if (ApplicationEnvironment.isMainApplicationActive()) { + try { + showMessage(bundle); + IPushNotification component = PushNotification.getComponent(); + if (component != null) { + component.sendPendingTrackingRequests(); + } else { + Log.Helper.LOGE(this, "Couldn't find Push Notification component with Base, unable to send pending tracking requests", new Object[0]); + } + return; + } catch (AssertionError unused) { + return; + } + } + super.handleNewPushNotification(context, bundle); + } + + protected void showMessage(Bundle bundle) { + Log.Helper.LOGFUNC(this); + } + + @Override // com.ea.eadp.pushnotification.forwarding.PushBroadcastForwarder + protected String getPushTargetActivity(Context context) { + Intent launchIntentForPackage; + ComponentName resolveActivity; + Log.Helper.LOGFUNC(this); + int configValueAsInt = NimbleApplicationConfiguration.getConfigValueAsInt("com.ea.nimble.pushtng.notification.activity.name"); + if (configValueAsInt != 0) { + return context.getResources().getString(configValueAsInt); + } + Log.Helper.LOGIS("PushTNG", "Could not locate target activity. PN delivered to launch activity", new Object[0]); + Context applicationContext = context.getApplicationContext(); + PackageManager packageManager = applicationContext.getPackageManager(); + if (packageManager != null && (launchIntentForPackage = packageManager.getLaunchIntentForPackage(applicationContext.getPackageName())) != null && (resolveActivity = launchIntentForPackage.resolveActivity(packageManager)) != null) { + return resolveActivity.getClassName(); + } + Log.Helper.LOGE(this, "Null Pointer found in pushActivityName generation, unable to get class name for push activity", new Object[0]); + return ""; + } + + @Override // com.ea.eadp.pushnotification.forwarding.PushBroadcastForwarder + protected HttpService getHttpService() { + Log.Helper.LOGFUNC(this); + return new NimbleAndroidHttpService(); + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastReceiver.java b/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastReceiver.java new file mode 100644 index 0000000..85ee98e --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGBroadcastReceiver.java @@ -0,0 +1,13 @@ +package com.ea.nimble.pushtng; + +import com.ea.eadp.pushnotification.forwarding.GcmBroadcastReceiver; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class NimblePushTNGBroadcastReceiver extends GcmBroadcastReceiver { + @Override // com.ea.eadp.pushnotification.forwarding.GcmBroadcastReceiver + protected String getIntentServiceName() { + Log.Helper.LOGFUNC(this); + return NimblePushTNGIntentService.class.getName(); + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGIntentService.java b/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGIntentService.java new file mode 100644 index 0000000..60e2c32 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/NimblePushTNGIntentService.java @@ -0,0 +1,117 @@ +package com.ea.nimble.pushtng; + +import android.annotation.TargetApi; +import android.app.PendingIntent; +import android.content.ComponentName; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Resources; +import android.os.Build; +import android.os.Bundle; +import android.support.v4.app.NotificationCompat; +import com.ea.eadp.http.services.HttpService; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Log; +import com.ea.nimble.tracking.Tracking; +import com.facebook.internal.NativeProtocol; +import com.facebook.internal.ServerProtocol; +import com.google.android.gms.drive.DriveFile; +import com.google.android.vending.expansion.downloader.Constants; +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Vector; + +/* loaded from: classes.dex */ +public class NimblePushTNGIntentService extends GcmIntentService { + private static final String DO_NOT_COLLAPSE = "do_not_collapse"; + public static final String EXTRA_IS_DELETE_INTENT = "IsDeleteIntent"; + private static final String KEY_PUSH_COUNT = "push_count"; + private static final String KEY_PUSH_TEXT_LIST = "push_text_list"; + + @Override // com.ea.eadp.pushnotification.forwarding.GcmIntentService + protected void onHandleMessage(Intent intent) { + Log.Helper.LOGFUNC(this); + Bundle extras = intent.getExtras(); + if (extras == null) { + Log.Helper.LOGE(this, "NimblePushTNGIntentService onHandleMessage failed! Extras from intent were null, unable to process message.", new Object[0]); + return; + } + String string = extras.getString(GcmIntentService.PushIntentExtraKeys.PUSH_ID); + String string2 = extras.getString(GcmIntentService.PushIntentExtraKeys.PN_TYPE); + if (string != null && string2 != null) { + HashMap hashMap = new HashMap(); + hashMap.put(PushNotification.KEY_TRACKING_TYPE, Tracking.EVENT_PN_RECEIVED); + hashMap.put("NIMBLESTANDARD::KEY_PN_MESSAGE_ID", string); + hashMap.put(Tracking.KEY_PN_MESSAGE_TYPE, string2); + PushNotificationImpl.persistTrackingData(getApplicationContext(), hashMap, string + "_" + Tracking.EVENT_PN_RECEIVED); + } + intent.putExtra("PushNotification", ServerProtocol.DIALOG_RETURN_SCOPES_TRUE); + super.onHandleMessage(intent); + } + + @Override // com.ea.eadp.pushnotification.forwarding.GcmIntentService + @TargetApi(11) + protected void customizeNotification(NotificationCompat.Builder builder, Bundle bundle) { + String string; + Log.Helper.LOGFUNC(this); + super.customizeNotification(builder, bundle); + if (Build.VERSION.SDK_INT < 11 || (string = bundle.getString(GcmIntentService.PushIntentExtraKeys.COLLAPSE_KEY)) == null || string.equalsIgnoreCase(DO_NOT_COLLAPSE)) { + return; + } + String replace = string.replace(File.pathSeparator, Constants.FILENAME_SEQUENCE_SEPARATOR).replace(File.separator, "_"); + SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences("PushTNGStacking_" + replace, 0); + int i = sharedPreferences.getInt(KEY_PUSH_COUNT, 0); + Vector vector = new Vector(); + for (int i2 = 0; i2 < i; i2++) { + String string2 = sharedPreferences.getString(KEY_PUSH_TEXT_LIST + i2, null); + if (string2 != null) { + vector.add(string2); + } + } + int i3 = i + 1; + vector.add(bundle.getString(GcmIntentService.PushIntentExtraKeys.ALERT)); + if (i3 > 1) { + Resources resources = getApplicationContext().getResources(); + String packageName = getApplicationContext().getPackageName(); + NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); + Iterator it = vector.iterator(); + while (it.hasNext()) { + inboxStyle.addLine((CharSequence) it.next()); + } + CharSequence charSequence = getApplicationContext().getResources().getString(resources.getIdentifier(NativeProtocol.BRIDGE_ARG_APP_NAME_STRING, "string", packageName)) + "(" + i3 + ")"; + inboxStyle.setBigContentTitle(charSequence); + builder.setContentTitle(charSequence); + builder.setStyle(inboxStyle); + } + ComponentName broadcastForwarderComponent = getBroadcastForwarderComponent(); + if (broadcastForwarderComponent != null) { + Intent intent = new Intent(); + intent.setComponent(broadcastForwarderComponent); + intent.putExtra(EXTRA_IS_DELETE_INTENT, true); + intent.putExtra(GcmIntentService.PushIntentExtraKeys.COLLAPSE_KEY, replace); + builder.setDeleteIntent(PendingIntent.getBroadcast(getApplicationContext(), 0, intent, DriveFile.MODE_READ_ONLY)); + } else { + Log.Helper.LOGW(this, "Broadcast listener for action 'com.ea.eadp.pushnotification.FORWARD_AS_ORDERED_BROADCAST' was not found. Skipping setting DeleteIntent in Notification.", new Object[0]); + } + SharedPreferences.Editor edit = sharedPreferences.edit(); + for (int i4 = 0; i4 < vector.size(); i4++) { + edit.putString(KEY_PUSH_TEXT_LIST + i4, (String) vector.elementAt(i4)); + } + edit.putInt(KEY_PUSH_COUNT, i3); + edit.commit(); + } + + @Override // com.ea.eadp.pushnotification.forwarding.GcmIntentService + protected boolean isInForeground() { + Log.Helper.LOGFUNC(this); + return ApplicationEnvironment.isMainApplicationActive(); + } + + @Override // com.ea.eadp.pushnotification.forwarding.GcmIntentService + protected HttpService getHttpService() { + Log.Helper.LOGFUNC(this); + return new NimbleAndroidHttpService(); + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/PushNotification.java b/app/src/main/java/com/ea/nimble/pushtng/PushNotification.java new file mode 100644 index 0000000..5f06d7d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/PushNotification.java @@ -0,0 +1,23 @@ +package com.ea.nimble.pushtng; + +import com.ea.nimble.Base; +import com.ea.nimble.Log; + +/* loaded from: classes.dex */ +public class PushNotification { + public static final String COMPONENT_ID = "com.ea.nimble.pushtng"; + public static final String DISABLED_REASON_GAME_SERVER = "game_server"; + public static final String DISABLED_REASON_OPT_OUT = "opt_out"; + public static final String DISABLED_REASON_REGISTER_FAILURE = "client_register_failure"; + public static final String KEY_TRACKING_TYPE = "trackingType"; + public static final String NOTIFICATION_PUSHTNG_COMPONENT_SETUP_COMPLETE = "nimble.pushtng.componentSetupComplete"; + + private static void initialize() { + Log.Helper.LOGFUNCS("PushNotification"); + Base.registerComponent(new PushNotificationImpl(), "com.ea.nimble.pushtng"); + } + + public static IPushNotification getComponent() { + return (IPushNotification) Base.getComponent("com.ea.nimble.pushtng"); + } +} diff --git a/app/src/main/java/com/ea/nimble/pushtng/PushNotificationImpl.java b/app/src/main/java/com/ea/nimble/pushtng/PushNotificationImpl.java new file mode 100644 index 0000000..392dc6a --- /dev/null +++ b/app/src/main/java/com/ea/nimble/pushtng/PushNotificationImpl.java @@ -0,0 +1,385 @@ +package com.ea.nimble.pushtng; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.app.NotificationChannel; +import android.app.NotificationManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Build; +import android.os.Bundle; +import android.support.v4.app.NotificationCompat; +import android.support.v4.content.LocalBroadcastManager; +import com.ea.eadp.pushnotification.listeners.IPushListener; +import com.ea.eadp.pushnotification.models.PushNotificationConfig; +import com.ea.eadp.pushnotification.services.AndroidPushService; +import com.ea.eadp.pushnotification.services.IPushService; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.ApplicationLifecycle; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.Global; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.ISynergyEnvironment; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.NimbleApplicationConfiguration; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.Utility; +import com.ea.nimble.tracking.ITracking; +import com.ea.nimble.tracking.Tracking; +import com.facebook.internal.ServerProtocol; +import com.facebook.share.internal.ShareConstants; +import com.google.android.gms.gcm.GoogleCloudMessaging; +import com.google.gson.Gson; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.TimeZone; + +/* loaded from: classes.dex */ +public class PushNotificationImpl extends Component implements IPushNotification, LogSource, IApplicationLifecycle.ActivityLifecycleCallbacks { + private static final String NOTIFICATION_TRACKING2_LOG_EVENT = "nimble.notification.tracking2.logEvent"; + private static final String PERSISTENCE_DISABLED_KEY = "disabled"; + private String disableCheck; + private Boolean disabled; + private long dobFromAgeCompliance = -2147483648L; + private BroadcastReceiver m_ageListener; + private IPushService pushService; + private boolean statusCheck; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.pushtng"; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "PushTNG"; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityCreated(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityDestroyed(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityPaused(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStarted(Activity activity) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityStopped(Activity activity) { + } + + @Override // com.ea.nimble.Component + public void setup() { + if (this.m_ageListener == null) { + this.m_ageListener = new BroadcastReceiver() { // from class: com.ea.nimble.pushtng.PushNotificationImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + if (intent != null) { + Bundle extras = intent.getExtras(); + PushNotificationImpl.this.dobFromAgeCompliance = extras.getLong("dob", -2147483648L); + if (PushNotificationImpl.this.dobFromAgeCompliance != -2147483648L) { + Log.Helper.LOGV(this, "PushTNG received AgeCompliance birthday update", new Object[0]); + } + } + } + }; + Utility.registerReceiver(Global.NIMBLE_NOTIFICATION_AGE_COMPLIANCE_DOB_UPDATE, this.m_ageListener); + } + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + sendPendingTrackingRequests(); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + this.disabled = (Boolean) persistenceForNimbleComponent.getValue(PERSISTENCE_DISABLED_KEY); + } + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (component.getProductId() != null && component.getSellId() != null && component.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_ENS) != null) { + onComponentSetupCompleted(); + } else { + Utility.registerReceiver(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, new BroadcastReceiver() { // from class: com.ea.nimble.pushtng.PushNotificationImpl.2 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Bundle extras = intent.getExtras(); + if (extras == null || !extras.getString(Global.NOTIFICATION_DICTIONARY_KEY_RESULT).equals("1")) { + return; + } + PushNotificationImpl.this.onComponentSetupCompleted(); + } + }); + } + ApplicationLifecycle.getComponent().registerActivityLifecycleCallbacks(this); + } + + @Override // com.ea.nimble.Component + protected void cleanup() { + Log.Helper.LOGFUNC(this); + Utility.unregisterReceiver(this.m_ageListener); + this.m_ageListener = null; + ApplicationLifecycle.getComponent().unregisterActivityLifecycleCallbacks(this); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks + public void onActivityResumed(Activity activity) { + sendPendingTrackingRequests(); + } + + /* JADX INFO: Access modifiers changed from: private */ + @TargetApi(26) + public void onComponentSetupCompleted() { + Log.Helper.LOGFUNC(this); + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (component == null) { + Log.Helper.LOGE(this, "Synergy environment is null! Unable to complete component setup for PushTNG.", new Object[0]); + return; + } + String serverUrlWithKey = component.getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_ENS); + String productId = component.getProductId(); + String sellId = component.getSellId(); + if (serverUrlWithKey == null || productId == null || sellId == null) { + Log.Helper.LOGW(this, "Synergy environment startup requests finished, but data is not available", new Object[0]); + return; + } + Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + NimbleAndroidHttpService nimbleAndroidHttpService = new NimbleAndroidHttpService(); + NimbleDeviceIdService nimbleDeviceIdService = new NimbleDeviceIdService(); + if (Build.VERSION.SDK_INT >= 26) { + NotificationManager notificationManager = (NotificationManager) applicationContext.getSystemService("notification"); + if (!NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_PUSHTNG_ID_KEY)) { + String str = Global.NOTIFICATION_CHANNEL_DEFAULT_NAME_VALUE; + if (NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_DEFAULT_NAME_KEY)) { + str = applicationContext.getResources().getString(NimbleApplicationConfiguration.getConfigValueAsInt(Global.NOTIFICATION_CHANNEL_DEFAULT_NAME_KEY)); + } + NotificationChannel notificationChannel = new NotificationChannel(Global.NOTIFICATION_CHANNEL_DEFAULT_ID, str, 3); + if (NimbleApplicationConfiguration.configValueExists(Global.NOTIFICATION_CHANNEL_DEFAULT_DESCRIPTION_KEY)) { + notificationChannel.setDescription(applicationContext.getResources().getString(NimbleApplicationConfiguration.getConfigValueAsInt(Global.NOTIFICATION_CHANNEL_DEFAULT_DESCRIPTION_KEY))); + } + notificationManager.createNotificationChannel(notificationChannel); + } + } + int configValueAsInt = NimbleApplicationConfiguration.getConfigValueAsInt("com.ea.nimble.pushtng.gcm.sender.id"); + int configValueAsInt2 = NimbleApplicationConfiguration.getConfigValueAsInt("com.ea.nimble.pushtng.auth.api.key"); + int configValueAsInt3 = NimbleApplicationConfiguration.getConfigValueAsInt("com.ea.nimble.pushtng.auth.api.secret"); + if (configValueAsInt != 0 && configValueAsInt2 != 0 && configValueAsInt3 != 0) { + this.pushService = new AndroidPushService(GoogleCloudMessaging.getInstance(applicationContext), nimbleAndroidHttpService, nimbleDeviceIdService, applicationContext, null, applicationContext.getResources().getString(configValueAsInt), serverUrlWithKey, productId, sellId, applicationContext.getResources().getString(configValueAsInt2), applicationContext.getResources().getString(configValueAsInt3), 0); + Utility.sendBroadcast(PushNotification.NOTIFICATION_PUSHTNG_COMPONENT_SETUP_COMPLETE); + this.pushService.sendPendingTrackingRequests(); + return; + } + Log.Helper.LOGW(this, "Configuration data not loaded. Push component not initialized.", new Object[0]); + } + + @Override // com.ea.nimble.pushtng.IPushNotification + public void startWithDefaults(String str, Date date, IPushListener iPushListener) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.pushService == null) { + Log.Helper.LOGW(this, "Nimble Component has not yet been initialized.", new Object[0]); + if (iPushListener != null) { + iPushListener.onConnectionError(0, "Nimble Component has not yet been initialized."); + return; + } + return; + } + PushNotificationConfig pushNotificationConfig = new PushNotificationConfig(); + pushNotificationConfig.setUserAlias(str); + pushNotificationConfig.setDateOfBirth(new SimpleDateFormat("yyyy-MM").format(getValidDOB(date))); + startWithConfig(pushNotificationConfig, iPushListener); + } + + @Override // com.ea.nimble.pushtng.IPushNotification + public void startAsDisabled(String str, Date date, String str2, IPushListener iPushListener) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.pushService == null) { + if (iPushListener != null) { + iPushListener.onConnectionError(0, "Nimble Component has not yet been initialized."); + } + } else { + PushNotificationConfig pushNotificationConfig = new PushNotificationConfig(); + pushNotificationConfig.setUserAlias(str); + pushNotificationConfig.setDateOfBirth(new SimpleDateFormat("yyyy-MM").format(getValidDOB(date))); + pushNotificationConfig.setDisabled(true); + pushNotificationConfig.setDisabledReason(str2); + startWithConfig(pushNotificationConfig, iPushListener); + } + } + + private void startWithConfig(final PushNotificationConfig pushNotificationConfig, final IPushListener iPushListener) { + Log.Helper.LOGFUNC(this); + final Context applicationContext = ApplicationEnvironment.getComponent().getApplicationContext(); + this.pushService.setPushListener(new IPushListener() { // from class: com.ea.nimble.pushtng.PushNotificationImpl.3 + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onTrackingSuccess(int i, String str) { + if (iPushListener != null) { + iPushListener.onTrackingSuccess(i, str); + } + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onRegistrationSuccess(int i, String str) { + boolean z = false; + Log.Helper.LOGD(this, "onRegistrationSuccess: " + str, new Object[0]); + HashMap hashMap = new HashMap(); + hashMap.put(Tracking.KEY_PN_DATE_OF_BIRTH, pushNotificationConfig.getDateOfBirth()); + hashMap.put(Tracking.KEY_PN_DISABLED_FLAG, pushNotificationConfig.isDisabled() ? ServerProtocol.DIALOG_RETURN_SCOPES_TRUE : "false"); + hashMap.put(PushNotification.KEY_TRACKING_TYPE, Tracking.EVENT_PN_DEVICE_REGISTERED); + PushNotificationImpl.this.disableCheck = pushNotificationConfig.isDisabled() ? pushNotificationConfig.getDisabledReason() : null; + PushNotificationImpl pushNotificationImpl = PushNotificationImpl.this; + if (i >= 200 && i < 300) { + z = true; + } + pushNotificationImpl.statusCheck = z; + PushNotificationImpl.persistTrackingData(applicationContext, hashMap, str); + if (ApplicationEnvironment.isMainApplicationRunning()) { + PushNotificationImpl.this.sendPendingTrackingRequests(); + } + if (iPushListener != null) { + iPushListener.onRegistrationSuccess(i, str); + } + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onGetInAppSuccess(int i, String str) { + if (iPushListener != null) { + iPushListener.onGetInAppSuccess(i, str); + } + } + + @Override // com.ea.eadp.pushnotification.listeners.IPushListener + public void onConnectionError(int i, String str) { + Log.Helper.LOGW(this, "onConnectionError: " + str, new Object[0]); + if (iPushListener != null) { + iPushListener.onConnectionError(i, str); + } + PushNotificationImpl.this.statusCheck = false; + } + }); + this.pushService.startWithConfig(pushNotificationConfig, null); + boolean isDisabled = pushNotificationConfig.isDisabled(); + if ((!isDisabled || pushNotificationConfig.getDisabledReason().equals(PushNotification.DISABLED_REASON_OPT_OUT)) && !Boolean.valueOf(isDisabled).equals(this.disabled)) { + this.disabled = Boolean.valueOf(isDisabled); + HashMap hashMap = new HashMap(); + hashMap.put("en", "settings"); + Bundle bundle = new Bundle(); + bundle.putSerializable("core", hashMap); + bundle.putString("type", "opt_in_pn"); + bundle.putString("status", isDisabled ? "declined" : "accepted"); + Intent intent = new Intent(); + intent.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent.putExtras(bundle); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + if (persistenceForNimbleComponent != null) { + persistenceForNimbleComponent.setValue(PERSISTENCE_DISABLED_KEY, this.disabled); + } + } + } + + @Override // com.ea.nimble.pushtng.IPushNotification + public boolean getRegistrationStatus() { + Log.Helper.LOGPUBLICFUNC(this); + return this.statusCheck; + } + + @Override // com.ea.nimble.pushtng.IPushNotification + public String getDisableStatus() { + Log.Helper.LOGPUBLICFUNC(this); + return this.disableCheck; + } + + @Override // com.ea.nimble.pushtng.IPushNotification + public void sendPendingTrackingRequests() { + Map map; + Log.Helper.LOGPUBLICFUNC(this); + SharedPreferences sharedPreferences = ApplicationEnvironment.getComponent().getApplicationContext().getSharedPreferences("PushTNGTracking", 0); + Gson gson = new Gson(); + ArrayList arrayList = new ArrayList(); + Iterator it = sharedPreferences.getAll().keySet().iterator(); + while (it.hasNext()) { + String string = sharedPreferences.getString(it.next(), null); + if (string != null && (map = (Map) gson.fromJson(string, HashMap.class)) != null && !map.isEmpty()) { + arrayList.add(map); + } + } + Object component = Base.getComponent("com.ea.nimble.tracking"); + if (component != null) { + ITracking iTracking = (ITracking) component; + Iterator it2 = arrayList.iterator(); + while (it2.hasNext()) { + HashMap hashMap = new HashMap((Map) it2.next()); + String remove = hashMap.remove(PushNotification.KEY_TRACKING_TYPE); + hashMap.put(Tracking.KEY_PN_DEVICE_ID, SynergyEnvironment.getComponent().getEADeviceId()); + iTracking.logEvent(remove, hashMap); + } + } + for (Map map2 : arrayList) { + String str = (String) map2.get(PushNotification.KEY_TRACKING_TYPE); + if (str.equals(Tracking.EVENT_PN_RECEIVED) || str.equals(Tracking.EVENT_PN_SHOWN_TO_USER)) { + String str2 = str.equals(Tracking.EVENT_PN_RECEIVED) ? "received" : "impression"; + HashMap hashMap2 = new HashMap(); + hashMap2.put("en", ShareConstants.WEB_DIALOG_PARAM_MESSAGE); + Bundle bundle = new Bundle(); + bundle.putSerializable("core", hashMap2); + bundle.putString("type", "pn"); + bundle.putString(NotificationCompat.CATEGORY_SERVICE, "aruba"); + bundle.putString("status", str2); + bundle.putString("format", "pn"); + bundle.putString("msg_id", (String) map2.get("NIMBLESTANDARD::KEY_PN_MESSAGE_ID")); + bundle.putString("media", (String) map2.get(Tracking.KEY_PN_MESSAGE_TYPE)); + Intent intent = new Intent(); + intent.setAction(NOTIFICATION_TRACKING2_LOG_EVENT); + intent.putExtras(bundle); + LocalBroadcastManager.getInstance(ApplicationEnvironment.getComponent().getApplicationContext()).sendBroadcast(intent); + } + } + SharedPreferences.Editor edit = sharedPreferences.edit(); + edit.clear(); + edit.commit(); + } + + public static void persistTrackingData(Context context, Map map, String str) { + Log.Helper.LOGPUBLICFUNCS("PushNotificationImpl"); + SharedPreferences.Editor edit = context.getApplicationContext().getSharedPreferences("PushTNGTracking", 0).edit(); + edit.putString(str, new Gson().toJson(map)); + edit.commit(); + } + + private Date getValidDOB(Date date) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); + simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); + if (date != null && date.getTime() != 0) { + Log.Helper.LOGV(this, "getValidDOB(): Using valid DOB from PushTNG: " + simpleDateFormat.format(date), new Object[0]); + return date; + } + if (this.dobFromAgeCompliance != -2147483648L) { + Date date2 = new Date(this.dobFromAgeCompliance * 1000); + Log.Helper.LOGV(this, "getValidDOB(): Got DOB from AgeCompliance: " + simpleDateFormat.format(date2), new Object[0]); + return date2; + } + Date date3 = new Date(0L); + Log.Helper.LOGV(this, "getValidDOB(): Default DOB to 1/1/1970: " + simpleDateFormat.format(date3), new Object[0]); + return date3; + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/ITracking.java b/app/src/main/java/com/ea/nimble/tracking/ITracking.java new file mode 100644 index 0000000..3f0812c --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/ITracking.java @@ -0,0 +1,26 @@ +package com.ea.nimble.tracking; + +import java.util.Map; + +/* loaded from: classes.dex */ +public interface ITracking { + void addCustomSessionData(String str, String str2); + + void clearCustomSessionData(); + + boolean getEnable(); + + boolean getPostEnable(); + + String getSessionId(); + + void logEvent(String str, Map map); + + void removeCustomSessionData(String str); + + void setEnable(boolean z); + + void setPostEnable(boolean z); + + void setTrackingAttribute(String str, String str2); +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingImplBase.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingImplBase.java new file mode 100644 index 0000000..5ce5a29 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingImplBase.java @@ -0,0 +1,821 @@ +package com.ea.nimble.tracking; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Component; +import com.ea.nimble.EASPDataLoader; +import com.ea.nimble.Global; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.NimbleApplicationConfiguration; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.Utility; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import com.ea.nimble.tracking.Tracking; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.ScheduledFuture; + +/* loaded from: classes.dex */ +abstract class NimbleTrackingImplBase extends Component implements ITracking, LogSource { + private static final int DATA_VERSION_CURRENT = 3; + private static final int DEFAULT_MAX_QUEUE_LENGTH = 3; + protected static final double DEFAULT_POST_INTERVAL = 1.0d; + protected static final double DEFAULT_REPOST_MULTIPLIER = 2.0d; + protected static final double DEFAULT_RETRY_DELAY = 1.0d; + protected static final double MAX_POST_RETRY_DELAY = 300.0d; + private static final int MAX_QUEUED_EVENTS = 50; + private static final int MAX_QUEUED_SESSIONS = 50; + public static final String NIMBLE_TRACKING_DEFAULT_POST_ENABLE = "NimbleDefaultTrackingPostFlag"; + protected static final double NOW_POST_INTERVAL = 0.0d; + private static final String ORIGIN_LOGIN_STATUS_STRING_AUTO_LOGGING_IN = "autoLogin"; + private static final String ORIGIN_LOGIN_STATUS_STRING_LIVE_USER = "live"; + private static final String ORIGIN_NOTIFICATION_LOGIN_STATUS_UPDATE_KEY_STATUS = "STATUS"; + private static final String PERSISTENCE_CURRENT_SESSION_ID = "currentSessionObject"; + private static final String PERSISTENCE_ENABLE_FLAG = "trackingEnabledFlag"; + private static final String PERSISTENCE_EVENT_QUEUE_ID = "eventQueue"; + private static final String PERSISTENCE_FIRST_SESSION_ID_NUMBER = "firstSessionIDNumber"; + private static final String PERSISTENCE_LAST_SESSION_ID_NUMBER = "lastSessionIDNumber"; + private static final String PERSISTENCE_LOGGED_IN_TO_ORIGIN_ID = "loggedInToOrigin"; + private static final String PERSISTENCE_POST_ENABLE_FLAG = "trackingPostEnabledFlag"; + private static final String PERSISTENCE_QUEUED_SESSIONS_ID = "queuedSessionObjects"; + private static final String PERSISTENCE_SAVED_SESSION_ID_NUMBER = "savedSession"; + private static final String PERSISTENCE_SESSION_DATA_ID = "sessionData"; + private static final String PERSISTENCE_TOTAL_SESSION_COUNT = "totalSessionCount"; + private static final String PERSISTENCE_TRACKING_ATTRIBUTES = "trackingAttributes"; + private static final String PERSISTENCE_VERSION_ID = "dataVersion"; + private static final String SESSION_FILE_FORMAT = "%sSession%d"; + protected double m_postRetryDelay; + private ScheduledFuture m_postTimer; + protected NimbleTrackingThreadManager m_threadManager; + protected ArrayList m_sessionsToPost = new ArrayList<>(); + private boolean m_enable = true; + private boolean m_isFeatureDisabledFromServer = false; + private ArrayList> m_pendingEvents = new ArrayList<>(); + protected ArrayList m_customSessionData = new ArrayList<>(); + private StartupRequestsFinishedReceiver m_receiver = null; + private BroadcastReceiver m_networkStatusChangedReceiver = null; + protected boolean m_loggedInToOrigin = false; + private OriginLoginStatusChangedReceiver m_originLoginStatusChangedReceiver = null; + protected TrackingBaseSessionObject m_currentSessionObject = new TrackingBaseSessionObject(); + protected double m_postInterval = 1.0d; + private boolean m_isPostPending = false; + protected boolean m_isRequestInProgress = false; + private long m_lastSessionIDNumber = -1; + private long m_firstSessionIDNumber = 0; + private long m_totalSessions = 0; + protected HashMap m_trackingAttributes = new HashMap<>(); + private boolean m_postEnable = true; + private int m_maxQueueLength = 3; + + public static class SessionData implements Serializable { + private static final long serialVersionUID = 465486; + String key; + String value; + } + + protected abstract List> convertEvent(Tracking.Event event); + + protected abstract String getFeatureTag(); + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "TrackingBase"; + } + + protected abstract String getPersistenceIdentifier(); + + protected abstract void packageCurrentSession(); + + protected abstract void postPendingEvents(boolean z); + + private class PostTask implements Runnable { + private boolean m_packageEventsOnExpiry; + + public PostTask(boolean z) { + this.m_packageEventsOnExpiry = false; + Log.Helper.LOGPUBLICFUNC(this); + this.m_packageEventsOnExpiry = z; + } + + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingImplBase.this.postIntervalTimerExpired(this.m_packageEventsOnExpiry); + } + } + + NimbleTrackingImplBase() { + } + + @Override // com.ea.nimble.tracking.ITracking + public boolean getEnable() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_enable; + } + + @Override // com.ea.nimble.tracking.ITracking + public void setEnable(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + Object[] objArr = new Object[1]; + objArr[0] = z ? "ENABLED" : "DISABLED"; + Log.Helper.LOGI(this, "setEnable called. enable = %s", objArr); + if (this.m_enable == z) { + return; + } + if (!z) { + HashMap hashMap = new HashMap(); + hashMap.put("eventType", Tracking.EVENT_USER_TRACKING_OPTOUT); + logEvent(Tracking.EVENT_USER_TRACKING_OPTOUT, hashMap); + packageCurrentSession(); + postPendingEvents(false); + if (this.m_currentSessionObject.countOfEvents() > 0) { + Log.Helper.LOGI(this, "Removing %d remaining events that couldn't be sent from queue.", Integer.valueOf(this.m_currentSessionObject.countOfEvents())); + } + this.m_currentSessionObject = new TrackingBaseSessionObject(); + if (this.m_sessionsToPost != null && this.m_sessionsToPost.size() > 0) { + Log.Helper.LOGI(this, "Removing unposted sessions.", new Object[0]); + this.m_sessionsToPost.clear(); + } + killPostTimer(); + } else { + resetPostTimer(); + } + this.m_enable = z; + saveToPersistence(); + } + + private void logEvent(Tracking.Event event, boolean z) { + Log.Helper.LOGFUNC(this); + List> convertEvent = convertEvent(event); + boolean z2 = true; + if (convertEvent != null && !convertEvent.isEmpty()) { + for (Map map : convertEvent) { + this.m_currentSessionObject.events.add(map); + Log.Helper.LOGD(this, "Logged event, %s: \n", map); + } + saveToPersistence(); + if (!z && ((this.m_postTimer == null || (this.m_postTimer.isDone() && !this.m_isRequestInProgress)) && isAbleToPostEvent(false))) { + resetPostTimer(); + } + } + if (this.m_currentSessionObject.events.size() >= 50) { + Log.Helper.LOGD(this, "Current number of events (%d) has reached maximum (%d). Posting event queue now.", Integer.valueOf(this.m_currentSessionObject.events.size()), 50); + } else { + z2 = z; + } + if (z2) { + killPostTimer(); + packageCurrentSession(); + postPendingEvents(z); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void logEvent(String str, Map map) { + Log.Helper.LOGPUBLICFUNC(this); + if (!this.m_enable || this.m_isFeatureDisabledFromServer) { + return; + } + boolean z = false; + if (str.equals(Tracking.EVENT_SESSION_END)) { + Log.Helper.LOGD(this, "Logging session end event, " + str + ". Posting event queue now.", new Object[0]); + z = true; + } + Tracking.Event event = new Tracking.Event(); + event.type = str; + event.parameters = map; + event.timestamp = new Date(); + logEvent(event, z); + } + + protected void resetPostTimer() { + Log.Helper.LOGFUNC(this); + resetPostTimer(this.m_postInterval); + } + + protected void resetPostTimer(double d) { + Log.Helper.LOGFUNC(this); + resetPostTimer(d, true); + } + + protected void resetPostTimer(double d, boolean z) { + Log.Helper.LOGFUNC(this); + double d2 = NOW_POST_INTERVAL; + if (d < NOW_POST_INTERVAL) { + Log.Helper.LOGE(this, "resetPostTimer called with an invalid period: period < 0.0. Timer reset with period 0.0 instead", new Object[0]); + } else { + d2 = d; + } + Log.Helper.LOGI(this, "Resetting event post timer for %s seconds.", Double.valueOf(d)); + killPostTimer(); + this.m_postTimer = this.m_threadManager.createTimer(d2, new PostTask(z)); + } + + private void killPostTimer() { + Log.Helper.LOGFUNC(this); + if (this.m_postTimer != null) { + this.m_postTimer.cancel(false); + this.m_postTimer = null; + } + } + + @Override // com.ea.nimble.Component + protected void setup() { + Log.Helper.LOGFUNC(this); + this.m_postRetryDelay = 1.0d; + this.m_threadManager = NimbleTrackingThreadManager.acquireInstance(); + } + + /* JADX WARN: Removed duplicated region for block: B:100:0x02f4 */ + /* JADX WARN: Removed duplicated region for block: B:103:0x02fe */ + /* JADX WARN: Removed duplicated region for block: B:111:0x0329 */ + /* JADX WARN: Removed duplicated region for block: B:114:? A[RETURN, SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:117:0x0181 */ + /* JADX WARN: Removed duplicated region for block: B:11:0x014f */ + /* JADX WARN: Removed duplicated region for block: B:120:0x016c */ + /* JADX WARN: Removed duplicated region for block: B:131:0x0086 */ + /* JADX WARN: Removed duplicated region for block: B:144:0x0144 */ + /* JADX WARN: Removed duplicated region for block: B:16:0x017e */ + /* JADX WARN: Removed duplicated region for block: B:19:0x018c */ + /* JADX WARN: Removed duplicated region for block: B:78:0x028d */ + /* JADX WARN: Removed duplicated region for block: B:79:0x0295 */ + /* JADX WARN: Removed duplicated region for block: B:82:0x02a8 */ + /* JADX WARN: Removed duplicated region for block: B:85:0x02bb */ + /* JADX WARN: Removed duplicated region for block: B:96:0x02e4 */ + @Override // com.ea.nimble.Component + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + protected void restore() { + /* + Method dump skipped, instructions count: 824 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.tracking.NimbleTrackingImplBase.restore():void"); + } + + @Override // com.ea.nimble.Component + protected void suspend() { + Log.Helper.LOGFUNC(this); + if (this.m_networkStatusChangedReceiver != null) { + Utility.unregisterReceiver(this.m_networkStatusChangedReceiver); + this.m_networkStatusChangedReceiver = null; + } + if (this.m_originLoginStatusChangedReceiver != null) { + Utility.unregisterReceiver(this.m_originLoginStatusChangedReceiver); + this.m_originLoginStatusChangedReceiver = null; + } + killPostTimer(); + saveToPersistence(); + EASPDataLoader.deleteDatFile(EASPDataLoader.getTrackingDatFilePath()); + } + + @Override // com.ea.nimble.Component + protected void resume() { + Log.Helper.LOGFUNC(this); + updateFeatureDisableState(); + if (getEnable()) { + resetPostTimer(); + } + if (this.m_originLoginStatusChangedReceiver == null) { + this.m_originLoginStatusChangedReceiver = new OriginLoginStatusChangedReceiver(); + Utility.registerReceiver(Global.NOTIFICATION_LOGIN_STATUS_CHANGE, this.m_originLoginStatusChangedReceiver); + } + this.m_postRetryDelay = 1.0d; + } + + @Override // com.ea.nimble.Component + protected void cleanup() { + Log.Helper.LOGFUNC(this); + killPostTimer(); + EASPDataLoader.deleteDatFile(EASPDataLoader.getTrackingDatFilePath()); + } + + @Override // com.ea.nimble.Component + protected void teardown() { + Log.Helper.LOGFUNC(this); + NimbleTrackingThreadManager.releaseInstance(); + this.m_threadManager = null; + } + + private void saveToPersistence() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + Log.Helper.LOGD(this, "Saving event queue to persistence (cache storage).", new Object[0]); + try { + try { + persistenceForNimbleComponent.setValue(PERSISTENCE_VERSION_ID, String.valueOf(3)); + persistenceForNimbleComponent.setValue(PERSISTENCE_CURRENT_SESSION_ID, this.m_currentSessionObject); + persistenceForNimbleComponent.setValue(PERSISTENCE_EVENT_QUEUE_ID, this.m_pendingEvents); + persistenceForNimbleComponent.setValue(PERSISTENCE_SESSION_DATA_ID, this.m_customSessionData); + persistenceForNimbleComponent.setValue(PERSISTENCE_LOGGED_IN_TO_ORIGIN_ID, Boolean.valueOf(this.m_loggedInToOrigin)); + persistenceForNimbleComponent.setValue(PERSISTENCE_FIRST_SESSION_ID_NUMBER, Long.valueOf(this.m_firstSessionIDNumber)); + persistenceForNimbleComponent.setValue(PERSISTENCE_LAST_SESSION_ID_NUMBER, Long.valueOf(this.m_lastSessionIDNumber)); + persistenceForNimbleComponent.setValue(PERSISTENCE_TOTAL_SESSION_COUNT, Long.valueOf(this.m_totalSessions)); + persistenceForNimbleComponent.setValue(PERSISTENCE_QUEUED_SESSIONS_ID, this.m_sessionsToPost); + persistenceForNimbleComponent.setValue(PERSISTENCE_TRACKING_ATTRIBUTES, this.m_trackingAttributes); + } catch (OutOfMemoryError e) { + Log.Helper.LOGE(this, "OutOfMemoryError in saving m_sessionsToPost to persistence! MaxQueueLength is %s. Exception: %s", Integer.valueOf(this.m_maxQueueLength), e.getLocalizedMessage()); + } + persistenceForNimbleComponent.synchronize(); + Persistence persistenceForNimbleComponent2 = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + Log.Helper.LOGD(this, "Saving tracking enable/disable flag to persistence (document storage).", new Object[0]); + if (!persistenceForNimbleComponent2.getBackUp()) { + persistenceForNimbleComponent2.setBackUp(true); + } + persistenceForNimbleComponent2.setValue(PERSISTENCE_ENABLE_FLAG, Boolean.valueOf(this.m_enable)); + persistenceForNimbleComponent2.synchronize(); + } catch (Throwable th) { + Log.Helper.LOGE(this, "Caught generic throwable while saving to persistence! Discarding attempt to save. Exception: %s", th.getLocalizedMessage()); + } + } + + private void configureTrackingOnFirstInstall() { + Log.Helper.LOGFUNC(this); + Log.Helper.LOGD(this, "First Install. Look for App Settings to enable/disable tracking", new Object[0]); + String configValueAsString = NimbleApplicationConfiguration.getConfigValueAsString(Tracking.NIMBLE_TRACKING_DEFAULTENABLE); + if (Utility.validString(configValueAsString)) { + if (configValueAsString.equalsIgnoreCase("enable")) { + Log.Helper.LOGD(this, "Default App Setting : Enable Tracking", new Object[0]); + this.m_enable = true; + return; + } else { + if (configValueAsString.equalsIgnoreCase("disable")) { + Log.Helper.LOGD(this, "Default App Setting : Disable Tracking", new Object[0]); + this.m_enable = false; + return; + } + return; + } + } + android.util.Log.e(Global.NIMBLE_ID, "WARNING! Cannot find valid TrackingEnable from AndroidManifest.xml"); + } + + protected void addObserverForSynergyEnvironmentUpdateFinished() { + Log.Helper.LOGFUNC(this); + if (this.m_receiver == null) { + this.m_receiver = new StartupRequestsFinishedReceiver(); + Utility.registerReceiver(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, this.m_receiver); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onStartupRequestsFinished(Intent intent) { + Log.Helper.LOGFUNC(this); + if (intent.getExtras() == null || !intent.getExtras().getString(Global.NOTIFICATION_DICTIONARY_KEY_RESULT).equals("1")) { + return; + } + int trackingPostInterval = SynergyEnvironment.getComponent().getTrackingPostInterval(); + if (trackingPostInterval < 0 || trackingPostInterval == -1) { + this.m_postInterval = 1.0d; + } else { + this.m_postInterval = trackingPostInterval; + } + if (this.m_sessionsToPost != null) { + Iterator it = this.m_sessionsToPost.iterator(); + while (it.hasNext()) { + TrackingBaseSessionObject next = it.next(); + if (next != null && next.sessionData != null) { + Object obj = next.sessionData.get(SynergyCatalog.MTX_INFO_KEY_SELLID); + if (obj instanceof String) { + String str = (String) obj; + if (Utility.validString(str) && !str.equals("0")) { + String sellId = SynergyEnvironment.getComponent().getSellId(); + next.sessionData.put(SynergyCatalog.MTX_INFO_KEY_SELLID, Utility.safeString(sellId)); + if (sellId == null || sellId.equals("") || sellId.equals("0")) { + Log.Helper.LOGE(this, "Sell Id was still null after synergy update", new Object[0]); + } + } + } + Object obj2 = next.sessionData.get("hwId"); + if ((obj2 instanceof String) && Utility.validString((String) obj2)) { + String eAHardwareId = SynergyEnvironment.getComponent().getEAHardwareId(); + next.sessionData.put("hwId", Utility.safeString(eAHardwareId)); + if (eAHardwareId == null || eAHardwareId.equals("")) { + Log.Helper.LOGE(this, "Hardware Id was still null after synergy update", new Object[0]); + } + } + Object obj3 = next.sessionData.get("deviceId"); + if (obj3 instanceof String) { + String str2 = (String) obj3; + if (Utility.validString(str2) && !str2.equals("0")) { + String eADeviceId = SynergyEnvironment.getComponent().getEADeviceId(); + next.sessionData.put("deviceId", Utility.safeString(eADeviceId)); + if (eADeviceId == null || eADeviceId.equals("") || eADeviceId.equals("0")) { + Log.Helper.LOGE(this, "Device Id was still null after synergy update", new Object[0]); + } + } + } + Object obj4 = next.sessionData.get("synergyId"); + if (obj4 instanceof String) { + String str3 = (String) obj4; + if (Utility.validString(str3) && !str3.equals("0")) { + String synergyId = SynergyEnvironment.getComponent().getSynergyId(); + next.sessionData.put("synergyId", Utility.safeString(synergyId)); + if (synergyId == null || synergyId.equals("") || synergyId.equals("0")) { + Log.Helper.LOGE(this, "Synergy Id was still null after synergy update", new Object[0]); + } + } + } + } + } + } + Log.Helper.LOGI(this, "Synergy environment update successful. Removing observer and re-attempting event post.", new Object[0]); + if (this.m_receiver != null) { + Utility.unregisterReceiver(this.m_receiver); + this.m_receiver = null; + } + if (this.m_isPostPending) { + this.m_isPostPending = false; + resetPostTimer(NOW_POST_INTERVAL); + } + } + + private class StartupRequestsFinishedReceiver extends BroadcastReceiver { + private StartupRequestsFinishedReceiver() { + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, final Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + if (intent.getAction().equals(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED)) { + NimbleTrackingImplBase.this.updateFeatureDisableState(); + NimbleTrackingImplBase.this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingImplBase.StartupRequestsFinishedReceiver.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingImplBase.this.onStartupRequestsFinished(intent); + } + }); + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onOriginLoginStatusChanged(Intent intent) { + Log.Helper.LOGFUNC(this); + if (intent.getExtras() != null) { + String string = intent.getExtras().getString("STATUS"); + if (string.equals(ORIGIN_LOGIN_STATUS_STRING_LIVE_USER) || string.equals(ORIGIN_LOGIN_STATUS_STRING_AUTO_LOGGING_IN)) { + Log.Helper.LOGI(this, "Login status update, TRUE", new Object[0]); + this.m_loggedInToOrigin = true; + return; + } else { + Log.Helper.LOGI(this, "Login status update, FALSE", new Object[0]); + this.m_loggedInToOrigin = false; + return; + } + } + Log.Helper.LOGI(this, "Login status updated event received without extras bundle. Marking NOT logged in to Origin.", new Object[0]); + this.m_loggedInToOrigin = false; + } + + private class OriginLoginStatusChangedReceiver extends BroadcastReceiver { + private OriginLoginStatusChangedReceiver() { + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, final Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + if (intent.getAction().equals(Global.NOTIFICATION_LOGIN_STATUS_CHANGE)) { + NimbleTrackingImplBase.this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingImplBase.OriginLoginStatusChangedReceiver.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingImplBase.this.onOriginLoginStatusChanged(intent); + } + }); + } + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void addCustomSessionData(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + if (Utility.validString(str) && Utility.validString(str2)) { + SessionData sessionData = new SessionData(); + sessionData.key = str; + sessionData.value = str2; + this.m_customSessionData.add(sessionData); + saveSessionDataToPersistent(); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void removeCustomSessionData(String str) { + Log.Helper.LOGPUBLICFUNC(this); + if (Utility.validString(str)) { + Iterator it = this.m_customSessionData.iterator(); + while (true) { + if (!it.hasNext()) { + break; + } + SessionData next = it.next(); + if (next.key.equals(str)) { + this.m_customSessionData.remove(next); + break; + } + } + saveSessionDataToPersistent(); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void clearCustomSessionData() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.tracking.ITracking + public String getSessionId() { + Log.Helper.LOGPUBLICFUNC(this); + return ""; + } + + private void saveSessionDataToPersistent() { + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.CACHE); + Log.Helper.LOGI(this, "Saving event queue to persistence.", new Object[0]); + persistenceForNimbleComponent.setValue(PERSISTENCE_SESSION_DATA_ID, this.m_customSessionData); + persistenceForNimbleComponent.synchronize(); + } + + protected boolean isAbleToPostEvent(boolean z) { + Log.Helper.LOGFUNC(this); + if (!this.m_enable || this.m_isFeatureDisabledFromServer || !this.m_postEnable) { + return false; + } + if (!z && !ApplicationEnvironment.isMainApplicationActive()) { + Log.Helper.LOGD(this, "isAbleToPostEvent - return because the app is in background", new Object[0]); + return false; + } + if (Network.getComponent().getStatus() != Network.Status.OK) { + if (this.m_networkStatusChangedReceiver == null) { + Log.Helper.LOGD(this, "Network status not OK for event post. Adding receiver for network status change.", new Object[0]); + killPostTimer(); + this.m_networkStatusChangedReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.tracking.NimbleTrackingImplBase.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + if (intent.getAction().equals(Global.NOTIFICATION_NETWORK_STATUS_CHANGE)) { + NimbleTrackingImplBase.this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingImplBase.1.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingImplBase.this.onNetworkStatusChange(); + } + }); + } + } + }; + Utility.registerReceiver(Global.NOTIFICATION_NETWORK_STATUS_CHANGE, this.m_networkStatusChangedReceiver); + } + return false; + } + if (SynergyEnvironment.getComponent().isDataAvailable()) { + return true; + } + this.m_isPostPending = true; + addObserverForSynergyEnvironmentUpdateFinished(); + return false; + } + + @Override // com.ea.nimble.tracking.ITracking + public void setPostEnable(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + if (this.m_postEnable != z) { + this.m_postEnable = z; + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getComponentId(), Persistence.Storage.DOCUMENT); + persistenceForNimbleComponent.setValue(PERSISTENCE_POST_ENABLE_FLAG, Boolean.valueOf(this.m_postEnable)); + persistenceForNimbleComponent.synchronize(); + if (isAbleToPostEvent(false)) { + resetPostTimer(); + } + } + } + + @Override // com.ea.nimble.tracking.ITracking + public boolean getPostEnable() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_postEnable; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onNetworkStatusChange() { + Log.Helper.LOGFUNC(this); + if (Network.getComponent().getStatus() == Network.Status.OK) { + Log.Helper.LOGD(this, "Network status restored, kicking off event post.", new Object[0]); + Utility.unregisterReceiver(this.m_networkStatusChangedReceiver); + this.m_networkStatusChangedReceiver = null; + resetPostTimer(NOW_POST_INTERVAL); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + public void postIntervalTimerExpired(boolean z) { + Log.Helper.LOGFUNC(this); + if (z) { + packageCurrentSession(); + } + postPendingEvents(false); + } + + @Override // com.ea.nimble.tracking.ITracking + public void setTrackingAttribute(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + if (Utility.validString(str) && Utility.validString(str2)) { + this.m_trackingAttributes.put(str, str2); + } + } + + protected void queueCurrentEventsForPost() { + Log.Helper.LOGFUNC(this); + Log.Helper.LOGI(this, "queueCurrentEventsForPost called. Starting queue size: %d", Integer.valueOf(this.m_sessionsToPost.size())); + if (this.m_sessionsToPost == null) { + this.m_sessionsToPost = new ArrayList<>(); + } + if (this.m_currentSessionObject == null) { + Log.Helper.LOGE(this, "Unexpected state, currentSessionObject is null.", new Object[0]); + } else if (this.m_currentSessionObject.countOfEvents() == 0) { + Log.Helper.LOGE(this, "Unexpected state, currentSessionObject events list is null or empty.", new Object[0]); + } else { + addCurrentSessionObjectToBackOfQueue(); + dropExtraSessions(); + } + this.m_currentSessionObject = new TrackingBaseSessionObject(new HashMap(this.m_currentSessionObject.sessionData)); + saveToPersistence(); + } + + private void saveSessionToFile(TrackingBaseSessionObject trackingBaseSessionObject, long j) { + Log.Helper.LOGFUNC(this); + String filenameForSessionID = getFilenameForSessionID(j); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(filenameForSessionID, Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent.getBackUp()) { + persistenceForNimbleComponent.setBackUp(false); + } + try { + persistenceForNimbleComponent.setValue(PERSISTENCE_SAVED_SESSION_ID_NUMBER, trackingBaseSessionObject); + } catch (OutOfMemoryError e) { + Log.Helper.LOGE(this, "OutOfMemoryError occurred while saving a session object to file. Exception: %s", e.getLocalizedMessage()); + } + persistenceForNimbleComponent.synchronize(); + PersistenceService.cleanReferenceToPersistence(filenameForSessionID, Persistence.Storage.DOCUMENT); + } + + private TrackingBaseSessionObject loadSessionFromFile(long j) { + Serializable value; + Log.Helper.LOGFUNC(this); + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(getFilenameForSessionID(j), Persistence.Storage.DOCUMENT); + if (persistenceForNimbleComponent == null || (value = persistenceForNimbleComponent.getValue(PERSISTENCE_SAVED_SESSION_ID_NUMBER)) == null || value.getClass() != TrackingBaseSessionObject.class) { + return null; + } + return (TrackingBaseSessionObject) value; + } + + private String getFilenameForSessionID(long j) { + Log.Helper.LOGFUNC(this); + if (j >= 0) { + return String.format(Locale.US, SESSION_FILE_FORMAT, getComponentId(), Long.valueOf(j)); + } + Log.Helper.LOGE(this, "Trying to find the filename for an invalid sessionID!", new Object[0]); + return null; + } + + protected void removeSessionAndFillQueue(TrackingBaseSessionObject trackingBaseSessionObject) { + Log.Helper.LOGFUNC(this); + this.m_sessionsToPost.remove(trackingBaseSessionObject); + this.m_firstSessionIDNumber++; + this.m_totalSessions--; + fillSessionsToPost(); + saveToPersistence(); + } + + private void addCurrentSessionObjectToBackOfQueue() { + Log.Helper.LOGFUNC(this); + this.m_lastSessionIDNumber++; + this.m_totalSessions++; + if (this.m_sessionsToPost.size() >= this.m_maxQueueLength) { + saveSessionToFile(this.m_currentSessionObject, this.m_lastSessionIDNumber); + } else { + this.m_sessionsToPost.add(this.m_currentSessionObject); + } + saveToPersistence(); + } + + private void fillSessionsToPost() { + Log.Helper.LOGFUNC(this); + for (int size = this.m_sessionsToPost.size(); size < this.m_maxQueueLength; size++) { + long j = this.m_firstSessionIDNumber + size; + if (j > this.m_lastSessionIDNumber) { + return; + } + TrackingBaseSessionObject loadSessionFromFile = loadSessionFromFile(j); + if (loadSessionFromFile != null) { + this.m_sessionsToPost.add(loadSessionFromFile); + PersistenceService.removePersistenceForNimbleComponent(getFilenameForSessionID(j), Persistence.Storage.DOCUMENT); + } else { + this.m_firstSessionIDNumber++; + } + } + } + + private void dropExtraSessions() { + Log.Helper.LOGFUNC(this); + if (dropExtraSessions(true)) { + return; + } + Log.Helper.LOGD(this, "Failed to drop enough sessions. Dropping sessions without checking canDropSession.", new Object[0]); + if (dropExtraSessions(false)) { + return; + } + Log.Helper.LOGE(this, "Still unable to drop enough sessions. Remaining number: " + ((this.m_lastSessionIDNumber - this.m_firstSessionIDNumber) + 1), new Object[0]); + } + + private void dropSessions(ArrayList arrayList, long j) { + Log.Helper.LOGFUNC(this); + for (int i = 0; i < arrayList.size(); i++) { + this.m_sessionsToPost.remove(arrayList.get(i)); + PersistenceService.removePersistenceForNimbleComponent(getFilenameForSessionID(j - i), Persistence.Storage.DOCUMENT); + } + if ((j - arrayList.size()) + 1 == this.m_firstSessionIDNumber) { + this.m_firstSessionIDNumber += arrayList.size(); + } + this.m_totalSessions -= arrayList.size(); + saveToPersistence(); + } + + private boolean dropExtraSessions(boolean z) { + TrackingBaseSessionObject loadSessionFromFile; + Log.Helper.LOGFUNC(this); + if (this.m_totalSessions < 50) { + return true; + } + Log.Helper.LOGD(this, "Current number of sessions (%d) has reached maximum (%d). Removing old sessions.", Long.valueOf(this.m_totalSessions), 50); + ArrayList arrayList = new ArrayList<>(); + long j = this.m_firstSessionIDNumber; + while (j <= this.m_lastSessionIDNumber) { + long j2 = j - this.m_firstSessionIDNumber; + if (j2 < this.m_sessionsToPost.size()) { + loadSessionFromFile = this.m_sessionsToPost.get((int) j2); + } else { + loadSessionFromFile = loadSessionFromFile(j); + if (loadSessionFromFile == null) { + continue; + j++; + } + } + if (arrayList.size() == 0 || isSameSession(arrayList.get(arrayList.size() - 1), loadSessionFromFile)) { + arrayList.add(loadSessionFromFile); + } else { + if (!z || canDropSession(arrayList)) { + dropSessions(arrayList, j - 1); + } + arrayList.clear(); + if (this.m_totalSessions < 50) { + fillSessionsToPost(); + return true; + } + arrayList.add(loadSessionFromFile); + } + j++; + } + if (arrayList.size() > 0 && (!z || canDropSession(arrayList))) { + dropSessions(arrayList, j - 1); + } + fillSessionsToPost(); + return this.m_totalSessions < 50; + } + + protected boolean isSameSession(TrackingBaseSessionObject trackingBaseSessionObject, TrackingBaseSessionObject trackingBaseSessionObject2) { + Log.Helper.LOGFUNC(this); + return false; + } + + protected boolean canDropSession(List list) { + Log.Helper.LOGFUNC(this); + return true; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void updateFeatureDisableState() { + Log.Helper.LOGFUNC(this); + if (SynergyEnvironment.getComponent().isDataAvailable()) { + this.m_isFeatureDisabledFromServer = SynergyEnvironment.getComponent().isFeatureDisabled(getFeatureTag()); + if (this.m_isFeatureDisabledFromServer) { + Log.Helper.LOGI(this, "*** FEATURE DISABLED FROM SERVER ***", new Object[0]); + } + } + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SComponent.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SComponent.java new file mode 100644 index 0000000..e77a4b6 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SComponent.java @@ -0,0 +1,16 @@ +package com.ea.nimble.tracking; + +import com.ea.nimble.Base; + +/* loaded from: classes.dex */ +class NimbleTrackingS2SComponent extends NimbleTrackingThreadProxy { + static final String COMPONENT_ID = "com.ea.nimble.trackingimpl.s2s"; + + static void initialize() { + Base.registerComponent(new NimbleTrackingS2SComponent(), COMPONENT_ID); + } + + private NimbleTrackingS2SComponent() { + super(new NimbleTrackingS2SImpl()); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SImpl.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SImpl.java new file mode 100644 index 0000000..e2aa74b --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingS2SImpl.java @@ -0,0 +1,664 @@ +package com.ea.nimble.tracking; + +import android.app.Activity; +import android.app.ActivityManager; +import android.content.Context; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; +import android.provider.Settings; +import android.support.v4.media.session.PlaybackStateCompat; +import android.telephony.TelephonyManager; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.IApplicationEnvironment; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.ISynergyEnvironment; +import com.ea.nimble.ISynergyIdManager; +import com.ea.nimble.ISynergyRequest; +import com.ea.nimble.ISynergyResponse; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.NimbleApplicationConfiguration; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.SynergyIdManager; +import com.ea.nimble.SynergyNetwork; +import com.ea.nimble.SynergyNetworkConnectionCallback; +import com.ea.nimble.SynergyNetworkConnectionHandle; +import com.ea.nimble.SynergyRequest; +import com.ea.nimble.Utility; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.TimeZone; +import java.util.UUID; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class NimbleTrackingS2SImpl extends NimbleTrackingImplBase implements LogSource { + public static final int EVENT_APPRESUMED = 103; + public static final int EVENT_APPSTARTED = 102; + public static final int EVENT_APPSTARTED_AFTERINSTALL = 101; + public static final int EVENT_LEVEL_UP = 108; + public static final int EVENT_MTXVIEW_ITEM_PURCHASED = 105; + private static final String EVENT_PREFIX = "SYNERGYS2S::"; + public static final int EVENT_REFERRERID_RECEIVED = 106; + public static final int EVENT_TUTORIAL_COMPLETE = 107; + public static final int EVENT_USER_REGISTERED = 104; + private static final double MARS_DEFAULT_POST_INTERVAL = 60.0d; + private static final double MARS_MAX_POST_RETRY_DELAY = 86400.0d; + private static final String SYNERGY_API_POST_EVENTS = "/s2s/api/core/postEvents"; + private int m_attributionDataCheckRetryCount = 0; + private boolean m_isAppLaunchAfterInstall = false; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.trackingimpl.s2s"; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase, com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "TrackingS2S"; + } + + private boolean checkForAttributionData() { + if (ApplicationEnvironment.getComponent().getParameter(ApplicationEnvironment.NIMBLE_PARAMETER_ATTRIBUTION_DATA) != null || this.m_attributionDataCheckRetryCount >= 3) { + return true; + } + this.m_attributionDataCheckRetryCount++; + Log.Helper.LOGV(this, "checkForAttributionData(): Not available. Retry Count " + this.m_attributionDataCheckRetryCount + "/3", new Object[0]); + resetPostTimer(5.0d); + return false; + } + + protected class JsonData implements ISynergyRequest.IJsonData { + private Map data; + + public JsonData(Map map) { + this.data = map; + } + + @Override // com.ea.nimble.ISynergyRequest.IJsonData + public int size() { + return this.data.size(); + } + + @Override // com.ea.nimble.ISynergyRequest.IJsonData + public Object getData() { + return this.data; + } + } + + NimbleTrackingS2SImpl() { + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected String getFeatureTag() { + Log.Helper.LOGFUNC(this); + return "S2STracker"; + } + + public boolean shouldAttemptReTrans(com.ea.nimble.SynergyNetworkConnectionHandle r5) { + return false; + } + + public double getRetryTime(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + int resultCode = -1; + double retryTime = 1.0; + + // Парсинг resultCode из ответа, если соединение и ответ существуют + if (synergyNetworkConnectionHandle != null) { + try { + ISynergyResponse response = synergyNetworkConnectionHandle.getResponse(); + if (response != null) { + Map jsonData = response.getJsonData(); + if (jsonData != null) { + String codeStr = new JSONObject(jsonData).getString("resultCode"); + Log.Helper.LOGD(this, "getMessage result code " + codeStr + "~", new Object[0]); + resultCode = Integer.parseInt(codeStr); + } + } + } catch (JSONException unused) { + Log.Helper.LOGD(this, "Failed to parse result code in TrackingS2S retransmission check. Defaulting to retryTime of:" + retryTime, new Object[0]); + return retryTime; + } + } + + // Определение времени повтора на основе resultCode + if (resultCode <= -21000 && resultCode >= -22000) { + // Специальный диапазон кодов - используем более агрессивную стратегию повтора + if (this.m_postRetryDelay < 60.0) { + this.m_postRetryDelay = 60.0; + } + retryTime = this.m_postRetryDelay; + this.m_postRetryDelay *= 10.0; + + if (this.m_postRetryDelay > MARS_MAX_POST_RETRY_DELAY) { + this.m_postRetryDelay = MARS_MAX_POST_RETRY_DELAY; + } + } else { + // Стандартная стратегия повтора + retryTime = this.m_postRetryDelay; + this.m_postRetryDelay *= 2.0; + + if (this.m_postRetryDelay > 300.0) { + this.m_postRetryDelay = 300.0; + } + } + + Log.Helper.LOGD(this, "S2S retry delay result code is:" + resultCode + ". Delay will be:" + retryTime, new Object[0]); + + return retryTime; + } + + @Override + protected List> convertEvent(Tracking.Event event) { + Log.Helper.LOGFUNC(this); + + // Проверка на поддерживаемые типы событий + if (!Tracking.isNimbleStandardEvent(event.type) && !isS2SEvent(event.type)) { + return null; + } + + // Инициализация переменных для хранения данных события + int eventType = 0; + String eventName = null; + String keyType01 = "0", keyType02 = "0", keyType03 = "0"; + String value01 = "", value02 = "", value03 = ""; + + // Обработка разных типов событий + if (event.type.equals(Tracking.EVENT_APPSTART_AFTERINSTALL)) { + this.m_isAppLaunchAfterInstall = true; + eventType = 101; + eventName = "Launch"; + } + else if (event.type.equals(Tracking.EVENT_APPSTART_NORMAL) || + event.type.equals(Tracking.EVENT_APPSTART_AFTERUPGRADE) || + event.type.equals(Tracking.EVENT_APPSTART_FROMURL)) { + eventType = 102; + eventName = "Launch"; + } + else if (event.type.equals(Tracking.EVENT_APPSTART_FROMPUSH)) { + eventType = 102; + eventName = "NotificationLaunch"; + } + else if (event.type.equals(Tracking.EVENT_APPRESUME_NORMAL) || + event.type.equals(Tracking.EVENT_APPRESUME_FROMURL) || + event.type.equals(Tracking.EVENT_APPRESUME_FROMEBISU)) { + eventType = 103; + eventName = "Resume"; + } + else if (event.type.equals(Tracking.EVENT_APPRESUME_FROMPUSH)) { + eventType = 103; + eventName = "NotificationResume"; + } + else if (event.type.equals(Tracking.EVENT_USER_REGISTERED)) { + eventType = 104; + eventName = "Registration"; + value01 = event.parameters.get(Tracking.KEY_USERNAME); + keyType01 = "username"; + + if (value01 == null) { + Log.Helper.LOGE(this, "Error: missing event parameter \"%s\"", Tracking.KEY_USERNAME); + } + } + else if (event.type.equals(Tracking.EVENT_MTX_ITEM_PURCHASED)) { + eventType = 105; + eventName = "Purchase"; + value01 = event.parameters.get(Tracking.KEY_MTX_CURRENCY); + value02 = event.parameters.get(Tracking.KEY_MTX_PRICE); + keyType01 = "tvalue"; + keyType02 = "fvalue"; + + if (value01 == null) { + Log.Helper.LOGE(this, "Error: missing event parameter \"%s\"", Tracking.KEY_MTX_CURRENCY); + } + if (value02 == null) { + Log.Helper.LOGE(this, "Error: missing event parameter \"%s\"", Tracking.KEY_MTX_PRICE); + } + } + else if (event.type.equals(Tracking.EVENT_TUTORIAL_COMPLETE)) { + eventType = 107; + eventName = "TutorialComplete"; + } + else if (event.type.equals(Tracking.EVENT_LEVEL_UP)) { + eventType = 108; + eventName = "LevelUp"; + value01 = event.parameters.get(Tracking.KEY_DURATION); + value02 = event.parameters.get(Tracking.KEY_GAMEPLAY_DURATION); + value03 = event.parameters.get(Tracking.KEY_USER_LEVEL); + keyType01 = "duration"; + keyType02 = "gameplayDuration"; + keyType03 = "userLevel"; + } + else if (event.type.equals(TrackingS2S.EVENT_CUSTOM)) { + eventType = Integer.parseInt(event.parameters.get("eventType")); + keyType01 = event.parameters.get("keyType01"); + value01 = event.parameters.get("keyValue01"); + keyType02 = event.parameters.get("keyType02"); + value02 = event.parameters.get("keyValue02"); + keyType03 = event.parameters.get("keyType03"); + value03 = event.parameters.get("keyValue03"); + } + else { + return null; + } + + // Создание карты с данными события + Map eventMap = new HashMap<>(10); + eventMap.put("eventType", String.valueOf(eventType)); + eventMap.put("eventName", eventName); + eventMap.put("timestamp", Utility.getUTCDateStringFormat(event.timestamp)); + eventMap.put("eventKeyType01", keyType01); + eventMap.put("eventValue01", value01 != null ? value01 : ""); + eventMap.put("eventKeyType02", keyType02); + eventMap.put("eventValue02", value02 != null ? value02 : ""); + eventMap.put("eventKeyType03", keyType03); + eventMap.put("eventValue03", value03 != null ? value03 : ""); + eventMap.put("transactionId", UUID.randomUUID().toString()); + + // Обработка специальных событий (запуск/возобновление приложения) + if (eventType == 101 || eventType == 102 || eventType == 103) { + if (this.m_currentSessionObject.countOfEvents() > 0) { + queueCurrentEventsForPost(); + } + Log.Helper.LOGD(this, "Logging application start/resume event. Posting event queue now.", new Object[0]); + resetPostTimer(0.0d); + } + + return Collections.singletonList(eventMap); + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected void postPendingEvents(boolean z) { + Log.Helper.LOGFUNC(this); + if (!isAbleToPostEvent(z)) { + Log.Helper.LOGV(this, "Cannot postPendingEvents (!isAbleToPostEvent())", new Object[0]); + return; + } + if (this.m_isAppLaunchAfterInstall && !checkForAttributionData()) { + Log.Helper.LOGV(this, "Cannot postPendingEvents (Attribution data not available.)", new Object[0]); + return; + } + if (this.m_sessionsToPost == null || this.m_sessionsToPost.size() <= 0) { + Log.Helper.LOGD(this, "No tracking sessions to post.", new Object[0]); + return; + } + TrackingBaseSessionObject trackingBaseSessionObject = this.m_sessionsToPost.get(0); + while (trackingBaseSessionObject == null) { + removeSessionAndFillQueue(null); + if (this.m_sessionsToPost.size() <= 0) { + Log.Helper.LOGD(this, "No valid tracking sessions to post.", new Object[0]); + return; + } + trackingBaseSessionObject = this.m_sessionsToPost.get(0); + } + if (sessionContainsAppInstallEvent(trackingBaseSessionObject)) { + trackingBaseSessionObject.sessionData.put("install_referrer", Utility.convertJSONObjectStringToMap(Utility.safeString(ApplicationEnvironment.getComponent().getParameter(ApplicationEnvironment.NIMBLE_PARAMETER_ATTRIBUTION_DATA)))); + } + SynergyRequest createPostRequest = createPostRequest(trackingBaseSessionObject); + if (createPostRequest == null) { + return; + } + createPostRequest.httpRequest.runInBackground = z; + Log.Helper.LOGD(this, "Event queue marshalled. Incrementing repost count from %d to %d", Integer.valueOf(trackingBaseSessionObject.repostCount), Integer.valueOf(trackingBaseSessionObject.repostCount + 1)); + trackingBaseSessionObject.repostCount++; + this.m_isRequestInProgress = true; + final NimbleTrackingThreadManager acquireInstance = NimbleTrackingThreadManager.acquireInstance(); + try { + TrackingBaseSessionObject finalTrackingBaseSessionObject = trackingBaseSessionObject; + SynergyNetwork.getComponent().sendRequest(createPostRequest, new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.tracking.NimbleTrackingS2SImpl.1 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(final SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + acquireInstance.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingS2SImpl.1.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingS2SImpl.this.onPostComplete(synergyNetworkConnectionHandle, finalTrackingBaseSessionObject); + } + }); + NimbleTrackingThreadManager.releaseInstance(); + } + }); + } catch (OutOfMemoryError unused) { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); + ((ActivityManager) currentActivity.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryInfo(memoryInfo); + Log.Helper.LOGI(this, "OutOfMemoryError with " + (memoryInfo.availMem / PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED) + " MB left. Dropping current session", new Object[0]); + } else { + Log.Helper.LOGI(this, "Out of memory. Dropping current session", new Object[0]); + } + NimbleTrackingThreadManager.releaseInstance(); + double d = this.m_postInterval; + removeSessionAndFillQueue(trackingBaseSessionObject); + this.m_postRetryDelay = 1.0d; + this.m_isRequestInProgress = false; + if (this.m_sessionsToPost != null && !this.m_sessionsToPost.isEmpty()) { + Log.Helper.LOGI(this, "More items found in the queue. Post the next one now. Queue size: %d", Integer.valueOf(this.m_sessionsToPost.size())); + resetPostTimer(0.0d, false); + } else { + Log.Helper.LOGI(this, "No more items found in the queue. Wait on the timer. Queue size: %d", Integer.valueOf(this.m_sessionsToPost.size())); + resetPostTimer(d, true); + } + } + } + + /* JADX INFO: Access modifiers changed from: private */ + /* JADX WARN: Removed duplicated region for block: B:11:0x0078 */ + /* JADX WARN: Removed duplicated region for block: B:17:0x00ad */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public void onPostComplete(com.ea.nimble.SynergyNetworkConnectionHandle r8, com.ea.nimble.tracking.TrackingBaseSessionObject r9) { + /* + r7 = this; + com.ea.nimble.Log.Helper.LOGFUNC(r7) + r0 = 0 + if (r8 == 0) goto Le9 + com.ea.nimble.ISynergyResponse r1 = r8.getResponse() + if (r1 != 0) goto Le + goto Le9 + Le: + com.ea.nimble.ISynergyResponse r1 = r8.getResponse() + java.lang.Exception r1 = r1.getError() + r2 = 4607182418800017408(0x3ff0000000000000, double:1.0) + r4 = 1 + if (r1 != 0) goto L24 + r7.removeSessionAndFillQueue(r9) + r7.m_postRetryDelay = r2 + double r2 = r7.m_postInterval + L22: + r8 = 0 + goto L6d + L24: + com.ea.nimble.ISynergyResponse r1 = r8.getResponse() + com.ea.nimble.IHttpResponse r1 = r1.getHttpResponse() + if (r1 == 0) goto L57 + int r5 = r1.getStatusCode() + r6 = 400(0x190, float:5.6E-43) + if (r5 == r6) goto L3e + int r5 = r1.getStatusCode() + r6 = 415(0x19f, float:5.82E-43) + if (r5 != r6) goto L57 + L3e: + java.lang.String r8 = "Received HTTP status %d. Discarding post." + java.lang.Object[] r5 = new java.lang.Object[r4] + int r1 = r1.getStatusCode() + java.lang.Integer r1 = java.lang.Integer.valueOf(r1) + r5[r0] = r1 + com.ea.nimble.Log.Helper.LOGE(r7, r8, r5) + r7.removeSessionAndFillQueue(r9) + r7.m_postRetryDelay = r2 + double r2 = r7.m_postInterval + goto L22 + L57: + java.lang.String r9 = "Failed to send tracking events. Error: %s" + java.lang.Object[] r1 = new java.lang.Object[r4] + com.ea.nimble.ISynergyResponse r8 = r8.getResponse() + java.lang.Exception r8 = r8.getError() + java.lang.String r8 = r8.getLocalizedMessage() + r1[r0] = r8 + com.ea.nimble.Log.Helper.LOGE(r7, r9, r1) + r8 = 1 + L6d: + java.lang.String r9 = "Telemetry post request finished, resetting isRequestInProgress flag to false." + java.lang.Object[] r1 = new java.lang.Object[r0] + com.ea.nimble.Log.Helper.LOGI(r7, r9, r1) + r7.m_isRequestInProgress = r0 + if (r8 == 0) goto Lad + double r8 = r7.m_postRetryDelay + double r1 = r7.m_postRetryDelay + r5 = 4611686018427387904(0x4000000000000000, double:2.0) + double r1 = r1 * r5 + r7.m_postRetryDelay = r1 + double r1 = r7.m_postRetryDelay + r5 = 4643985272004935680(0x4072c00000000000, double:300.0) + int r3 = (r1 > r5 ? 1 : (r1 == r5 ? 0 : -1)) + if (r3 <= 0) goto L8f + r7.m_postRetryDelay = r5 + L8f: + java.lang.String r1 = "Posting a retry with delay of %s due to failed send. Queue size: %d" + r2 = 2 + java.lang.Object[] r2 = new java.lang.Object[r2] + java.lang.Double r3 = java.lang.Double.valueOf(r8) + r2[r0] = r3 + java.util.ArrayList r3 = r7.m_sessionsToPost + int r3 = r3.size() + java.lang.Integer r3 = java.lang.Integer.valueOf(r3) + r2[r4] = r3 + com.ea.nimble.Log.Helper.LOGI(r7, r1, r2) + r7.resetPostTimer(r8, r0) + goto Le8 + Lad: + java.util.ArrayList r8 = r7.m_sessionsToPost + if (r8 == 0) goto Ld2 + java.util.ArrayList r8 = r7.m_sessionsToPost + boolean r8 = r8.isEmpty() + if (r8 != 0) goto Ld2 + java.lang.String r8 = "More items found in the queue. Post the next one now. Queue size: %d" + java.lang.Object[] r9 = new java.lang.Object[r4] + java.util.ArrayList r1 = r7.m_sessionsToPost + int r1 = r1.size() + java.lang.Integer r1 = java.lang.Integer.valueOf(r1) + r9[r0] = r1 + com.ea.nimble.Log.Helper.LOGI(r7, r8, r9) + r8 = 0 + r7.resetPostTimer(r8, r0) + goto Le8 + Ld2: + java.lang.String r8 = "No more items found in the queue. Wait on the timer. Queue size: %d" + java.lang.Object[] r9 = new java.lang.Object[r4] + java.util.ArrayList r1 = r7.m_sessionsToPost + int r1 = r1.size() + java.lang.Integer r1 = java.lang.Integer.valueOf(r1) + r9[r0] = r1 + com.ea.nimble.Log.Helper.LOGI(r7, r8, r9) + r7.resetPostTimer(r2, r4) + Le8: + return + Le9: + java.lang.String r8 = "No response exists in this post!" + java.lang.Object[] r9 = new java.lang.Object[r0] + com.ea.nimble.Log.Helper.LOGE(r7, r8, r9) + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.tracking.NimbleTrackingS2SImpl.onPostComplete(com.ea.nimble.SynergyNetworkConnectionHandle, com.ea.nimble.tracking.TrackingBaseSessionObject):void"); + } + + protected SynergyRequest createPostRequest(TrackingBaseSessionObject trackingBaseSessionObject) { + Log.Helper.LOGFUNC(this); + HashMap hashMap = new HashMap(); + hashMap.put("apiVer", "1.0.0"); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_S2S); + if (serverUrlWithKey == null) { + Log.Helper.LOGI(this, "Tracking server URL from NimbleEnvironment is nil. Adding observer for environment update finish.", new Object[0]); + super.addObserverForSynergyEnvironmentUpdateFinished(); + return null; + } + HashMap hashMap2 = new HashMap(trackingBaseSessionObject.sessionData); + hashMap2.put("now_timestamp", Utility.getUTCDateStringFormat(new Date())); + hashMap2.put("adEvents", trackingBaseSessionObject.events); + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + if (!Utility.validStringObject(hashMap2.get("synergyId"))) { + String synergyId = SynergyIdManager.getComponent().getSynergyId(); + if (Utility.validString(synergyId)) { + Log.Helper.LOGV(this, "Creating post request. No synergyId in session info dictionary, inserting synergyId value %s now.", synergyId); + hashMap2.put("synergyId", synergyId); + } else { + Log.Helper.LOGV(this, "Creating post request. No synergyId in session info dictionary, still no synergyId available now.", new Object[0]); + } + } + if (!Utility.validStringObject(hashMap2.get(SynergyCatalog.MTX_INFO_KEY_SELLID))) { + String safeString = Utility.safeString(component.getSellId()); + if (!Utility.validString(safeString)) { + Log.Helper.LOGE(this, "Creating POST request. Missing sell id.", new Object[0]); + } else { + hashMap2.put(SynergyCatalog.MTX_INFO_KEY_SELLID, safeString); + } + } + if (!Utility.validStringObject(hashMap2.get("deviceId"))) { + String safeString2 = Utility.safeString(component.getEADeviceId()); + if (!Utility.validString(safeString2)) { + Log.Helper.LOGE(this, "Creating POST request. Missing device id.", new Object[0]); + } else { + hashMap2.put("deviceId", safeString2); + } + } + SynergyRequest synergyRequest = new SynergyRequest(SYNERGY_API_POST_EVENTS, IHttpRequest.Method.POST, null); + synergyRequest.baseUrl = serverUrlWithKey; + synergyRequest.urlParameters = hashMap; + synergyRequest.jsonData = new JsonData(hashMap2); + return synergyRequest; + } + + private Map createEventRequestPostMap() { + String gameSpecifiedPlayerId; + Log.Helper.LOGFUNC(this); + IApplicationEnvironment component = ApplicationEnvironment.getComponent(); + ISynergyEnvironment component2 = SynergyEnvironment.getComponent(); + ISynergyIdManager component3 = SynergyIdManager.getComponent(); + Date date = new Date(); + final HashMap hashMap = new HashMap(); + new NimbleTrackingThreadManager.BlockingRunner() { // from class: com.ea.nimble.tracking.NimbleTrackingS2SImpl.2 + @Override // com.ea.nimble.tracking.NimbleTrackingThreadManager.BlockingRunner + public void run() { + ApplicationEnvironment.getComponent().retrieveAdvertisingId(new IApplicationEnvironment.AdvertisingIdCalback() { // from class: com.ea.nimble.tracking.NimbleTrackingS2SImpl.2.1 + @Override // com.ea.nimble.IApplicationEnvironment.AdvertisingIdCalback + public void onCallback(String str, boolean z) { + hashMap.put("advertiserID", str); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, Boolean.valueOf(z)); + setDone(); + } + }); + } + }; + hashMap.put("bundleId", Utility.safeString(component.getApplicationBundleId())); + hashMap.put(SynergyCatalog.MTX_INFO_KEY_SELLID, Utility.safeString(component2.getSellId())); + hashMap.put("appName", Utility.safeString(component.getApplicationName())); + hashMap.put("appVersion", Utility.safeString(component.getApplicationVersion())); + hashMap.put("deviceId", Utility.safeString(component2.getEADeviceId())); + hashMap.put("deviceNativeId", Utility.safeString(Settings.Secure.getString(component.getApplicationContext().getContentResolver(), "android_id"))); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_SYSTEM_NAME, "Android"); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_SYSTEM_VERSION, Build.VERSION.RELEASE); + hashMap.put("deviceType", Build.MODEL); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_BRAND, Build.BRAND); + PackageManager packageManager = component.getApplicationContext().getPackageManager(); + TelephonyManager telephonyManager = (TelephonyManager) component.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); + hashMap.put("carrierName", Utility.safeString(telephonyManager.getNetworkOperatorName())); + try { + if (packageManager.checkPermission("android.permission.READ_PHONE_STATE", component.getApplicationContext().getPackageName()) == PackageManager.PERMISSION_GRANTED) { + //hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_IMEI, Utility.safeString(telephonyManager.getDeviceId())); + } + } catch (RuntimeException unused) { + Log.Helper.LOGW(this, "Can not check permissions; Package Manager has died", new Object[0]); + } + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_ANDROID_ID, Utility.safeString(Settings.Secure.getString(component.getApplicationContext().getContentResolver(), "android_id"))); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_COUNTRY_CODE, Utility.safeString(Locale.getDefault().getCountry())); + hashMap.put("appLanguage", Utility.safeString(component.getShortApplicationLanguageCode())); + hashMap.put("localization", Utility.safeString(component.getApplicationLanguageCode())); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_LANGUAGE, Utility.safeString(Locale.getDefault().getLanguage())); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_DEVICE_LOCALE, Utility.safeString(Locale.getDefault().toString())); + hashMap.put("timezone", String.format(Locale.US, "%tZ", Calendar.getInstance())); + hashMap.put("gmtOffset", String.valueOf(TimeZone.getDefault().getOffset(date.getTime()) / 1000)); + hashMap.put("synergyId", Utility.safeString(component3.getSynergyId())); + hashMap.put("jflag", component.isDeviceRooted() ? "1" : "0"); + if (component != null && (gameSpecifiedPlayerId = component.getGameSpecifiedPlayerId()) != null && gameSpecifiedPlayerId.length() > 0) { + hashMap.put("gamePlayerId", gameSpecifiedPlayerId); + } + String configValueAsString = ""; + if (Utility.validString(configValueAsString)) { + hashMap.put("fbAppId", configValueAsString); + } + try { + Cursor query = ApplicationEnvironment.getComponent().getApplicationContext().getContentResolver().query(Uri.parse("content://com.facebook.katana.provider.AttributionIdProvider"), null, null, null, null); + if (query != null) { + query.moveToFirst(); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_FB_ATTR_ID, query.getString(0)); + } + } catch (IllegalStateException e) { + e.printStackTrace(); + } catch (Exception e2) { + e2.printStackTrace(); + } + hashMap.put("originUser", this.m_loggedInToOrigin ? "Y" : "N"); + int size = this.m_customSessionData.size(); + if (size > 0) { + for (int i = 0; i < size; i++) { + hashMap.put(this.m_customSessionData.get(i).key, this.m_customSessionData.get(i).value); + } + } + if (this.m_currentSessionObject != null && this.m_currentSessionObject.events != null) { + hashMap.put("adEvents", new ArrayList(this.m_currentSessionObject.events)); + } + return hashMap; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected void packageCurrentSession() { + Log.Helper.LOGFUNC(this); + if (this.m_currentSessionObject.countOfEvents() > 0) { + this.m_currentSessionObject.sessionData = new HashMap(createEventRequestPostMap()); + if (((ArrayList) this.m_currentSessionObject.sessionData.get("adEvents")).isEmpty()) { + return; + } + queueCurrentEventsForPost(); + } + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected String getPersistenceIdentifier() { + Log.Helper.LOGFUNC(this); + return "S2S"; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected boolean canDropSession(List list) { + Log.Helper.LOGFUNC(this); + TrackingBaseSessionObject trackingBaseSessionObject = list.get(0); + if (trackingBaseSessionObject.events.size() == 0) { + Log.Helper.LOGE(this, "Trying to drop session with no events", new Object[0]); + return true; + } + Iterator> it = trackingBaseSessionObject.events.iterator(); + while (it.hasNext()) { + String str = it.next().get("eventType"); + if (str != null && str.equals(String.valueOf(101))) { + return false; + } + } + return true; + } + + private static boolean isS2SEvent(String str) { + Log.Helper.LOGFUNCS("NimbleTrackingS2SImpl"); + if (str == null) { + return false; + } + return str.startsWith(EVENT_PREFIX); + } + + private boolean sessionContainsAppInstallEvent(TrackingBaseSessionObject trackingBaseSessionObject) { + if (trackingBaseSessionObject == null || trackingBaseSessionObject.events == null) { + return false; + } + Iterator> it = trackingBaseSessionObject.events.iterator(); + while (it.hasNext()) { + if (it.next().get("eventType").equals("101")) { + return true; + } + } + return false; + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyComponent.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyComponent.java new file mode 100644 index 0000000..2f74645 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyComponent.java @@ -0,0 +1,16 @@ +package com.ea.nimble.tracking; + +import com.ea.nimble.Base; + +/* loaded from: classes.dex */ +class NimbleTrackingSynergyComponent extends NimbleTrackingThreadProxy { + static final String COMPONENT_ID = "com.ea.nimble.trackingimpl.synergy"; + + static void initialize() { + Base.registerComponent(new NimbleTrackingSynergyComponent(), "com.ea.nimble.trackingimpl.synergy"); + } + + private NimbleTrackingSynergyComponent() { + super(new NimbleTrackingSynergyImpl()); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyImpl.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyImpl.java new file mode 100644 index 0000000..87a9276 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingSynergyImpl.java @@ -0,0 +1,1010 @@ +package com.ea.nimble.tracking; + +import android.app.Activity; +import android.app.ActivityManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Build; +import android.provider.Settings; +import android.support.v4.media.session.PlaybackStateCompat; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.Global; +import com.ea.nimble.IApplicationEnvironment; +import com.ea.nimble.IHttpRequest; +import com.ea.nimble.INetwork; +import com.ea.nimble.IOperationalTelemetryDispatch; +import com.ea.nimble.ISynergyEnvironment; +import com.ea.nimble.ISynergyIdManager; +import com.ea.nimble.ISynergyRequest; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Network; +import com.ea.nimble.OperationalTelemetryDispatch; +import com.ea.nimble.SynergyEnvironment; +import com.ea.nimble.SynergyIdManager; +import com.ea.nimble.SynergyNetwork; +import com.ea.nimble.SynergyNetworkConnectionCallback; +import com.ea.nimble.SynergyNetworkConnectionHandle; +import com.ea.nimble.SynergyRequest; +import com.ea.nimble.Utility; +import com.ea.nimble.mtx.catalog.synergy.SynergyCatalog; +import com.ea.nimble.tracking.NimbleTrackingThreadManager; +import com.ea.nimble.tracking.Tracking; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Random; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +class NimbleTrackingSynergyImpl extends NimbleTrackingImplBase implements LogSource { + private static final String EVENT_PREFIX = "SYNERGYTRACKING::"; + private static final int MAX_CUSTOM_EVENT_PARAMETERS = 20; + private int m_eventNumber; + private Map m_mainAuthenticator; + private Map m_pidMap; + private String m_sessionId; + private final BroadcastReceiver m_pidInfoUpdateReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.1 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, final Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.1.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.onPidInfoUpdate(intent); + } + }); + } + }; + private final BroadcastReceiver m_mainAuthenticatorUpdateReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.2 + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, final Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.2.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.onMainAuthenticatorUpdate(intent); + } + }); + } + }; + private SynergyIdChangedReceiver m_synergyIdChangedReceiver = new SynergyIdChangedReceiver(); + private List> m_pendingEvents = new ArrayList(); + + @Override // com.ea.nimble.Component + public String getComponentId() { + return IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase, com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "TrackingSynergy"; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected String getPersistenceIdentifier() { + return "Synergy"; + } + + protected class JsonData implements ISynergyRequest.IJsonData { + private ArrayList> data; + + public JsonData(ArrayList> arrayList) { + this.data = arrayList; + } + + @Override // com.ea.nimble.ISynergyRequest.IJsonData + public int size() { + return this.data.size(); + } + + @Override // com.ea.nimble.ISynergyRequest.IJsonData + public Object getData() { + return this.data; + } + } + + private class SynergyIdChangedReceiver extends BroadcastReceiver { + private SynergyIdChangedReceiver() { + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, final Intent intent) { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.SynergyIdChangedReceiver.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.onSynergyIdChanged(intent); + } + }); + } + } + + NimbleTrackingSynergyImpl() { + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected String getFeatureTag() { + Log.Helper.LOGFUNC(this); + return "SynergyTracker"; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase, com.ea.nimble.Component + protected void restore() { + Log.Helper.LOGFUNC(this); + super.restore(); + Utility.registerReceiver(Global.NIMBLE_NOTIFICATION_IDENTITY_PID_INFO_UPDATE, this.m_pidInfoUpdateReceiver); + Utility.registerReceiver(Global.NIMBLE_NOTIFICATION_IDENTITY_MAIN_AUTHENTICATOR_CHANGE, this.m_mainAuthenticatorUpdateReceiver); + wakeup(); + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase, com.ea.nimble.Component + protected void cleanup() { + Log.Helper.LOGFUNC(this); + sleep(); + super.cleanup(); + } + + private String generateSynergySessionId() { + Log.Helper.LOGFUNC(this); + String replace = Utility.getUTCDateStringFormat(new Date()).replace("_", ""); + StringBuilder sb = new StringBuilder(24); + sb.append(replace); + int length = 24 - sb.length(); + Random random = new Random(); + for (int i = 0; i < length; i++) { + sb.append(random.nextInt(10)); + } + return sb.toString(); + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase, com.ea.nimble.tracking.ITracking + public void setEnable(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + super.setEnable(z); + if (z) { + return; + } + this.m_sessionId = null; + } + + private void resetSession() { + Log.Helper.LOGFUNC(this); + this.m_sessionId = generateSynergySessionId(); + this.m_eventNumber = 1; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected List> convertEvent(Tracking.Event event) { + SynergyConstants fromInt; + Log.Helper.LOGFUNC(this); + SynergyConstants synergyConstants = SynergyConstants.EVT_UNDEFINED; + Integer num = -1; + HashMap hashMap = new HashMap(); + if (!Tracking.isNimbleStandardEvent(event.type) && !isSynergyEvent(event.type)) { + return null; + } + if (event.type.equals(Tracking.EVENT_APPSTART_NORMAL)) { + fromInt = SynergyConstants.EVT_APP_START_NORMALLY; + } else if (event.type.equals(Tracking.EVENT_APPSTART_AFTERINSTALL)) { + fromInt = SynergyConstants.EVT_APP_START_AFTERINSTALL; + } else if (event.type.equals(Tracking.EVENT_APPSTART_AFTERUPGRADE)) { + fromInt = SynergyConstants.EVT_APP_START_AFTERUPGRADE; + } else if (event.type.equals(Tracking.EVENT_APPSTART_FROMURL)) { + fromInt = SynergyConstants.EVT_APP_START_FROM_URL; + } else if (event.type.equals(Tracking.EVENT_APPSTART_FROMPUSH)) { + fromInt = SynergyConstants.EVT_APP_START_FROMPUSH; + addPushTNGTrackingParams(event, hashMap); + } else if (event.type.equals(Tracking.EVENT_SESSION_START)) { + fromInt = this.m_eventNumber > 0 ? SynergyConstants.EVT_APP_RESUME_NORMAL : SynergyConstants.EVT_APP_START_NORMALLY; + } else if (event.type.equals(Tracking.EVENT_APPRESUME_FROMURL)) { + fromInt = SynergyConstants.EVT_APP_RESUME_FROM_URL; + } else if (event.type.equals(Tracking.EVENT_APPRESUME_FROMEBISU)) { + fromInt = SynergyConstants.EVT_APP_RESUME_FROM_EBISU; + } else if (event.type.equals(Tracking.EVENT_APPRESUME_FROMPUSH)) { + fromInt = SynergyConstants.EVT_APP_RESUME_FROM_PUSH; + addPushTNGTrackingParams(event, hashMap); + } else if (event.type.equals(Tracking.EVENT_APPRESUME_NORMAL)) { + fromInt = SynergyConstants.EVT_APP_RESUME_NORMAL; + } else if (event.type.equals(Tracking.EVENT_SESSION_END)) { + fromInt = SynergyConstants.EVT_APP_SESSION_END; + } else if (event.type.equals(Tracking.EVENT_SESSION_TIME)) { + fromInt = SynergyConstants.EVT_APP_SESSION_TIME; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_DURATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_DURATION)); + } else if (event.type.equals(Tracking.EVENT_MTX_ITEM_BEGIN_PURCHASE)) { + fromInt = SynergyConstants.EVT_MTXVIEW_ITEMPURCHASE; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_MTX_SELLID.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_MTX_SELLID)); + } else if (event.type.equals(Tracking.EVENT_MTX_ITEM_PURCHASED)) { + fromInt = SynergyConstants.EVT_MTXVIEW_ITEM_PURCHASED; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_MTX_SELLID.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_MTX_SELLID)); + } else if (event.type.equals(Tracking.EVENT_MTX_FREEITEM_DOWNLOADED)) { + fromInt = SynergyConstants.EVT_MTXVIEW_FREEITEM_DOWNLOADED; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_MTX_SELLID.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_MTX_SELLID)); + } else if (event.type.equals(Tracking.EVENT_USER_TRACKING_OPTOUT)) { + fromInt = SynergyConstants.EVT_USER_TRACKING_OPTOUT; + } else if (event.type.equals(Tracking.EVENT_PN_DISPLAY_OPT_IN)) { + fromInt = SynergyConstants.EVT_USER_SHOWN_PN_OPTIN_PROMPT; + } else if (event.type.equals(Tracking.EVENT_PN_USER_OPT_IN)) { + fromInt = SynergyConstants.EVT_USER_SHOWN_PN_OPTIN_PROMPT; + hashMap.put("eventKeyType02", event.parameters.get(Integer.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value))); + hashMap.put("eventValue02", "Yes"); + } else if (event.type.equals(Tracking.EVENT_PN_SHOWN_TO_USER)) { + fromInt = SynergyConstants.EVT_PN_SHOWN_TO_USER; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_MESSAGEID.value)); + hashMap.put("eventValue01", event.parameters.get("NIMBLESTANDARD::KEY_PN_MESSAGE_ID")); + if (event.parameters.containsKey("NIMBLESTANDARD::KEY_PN_MESSAGE_ID")) { + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_PN_MESSAGE_TYPE)); + } + if (event.parameters.containsKey(Tracking.KEY_PN_DEVICE_ID)) { + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_PN_DEVICE_ID)); + } + } else if (event.type.equals(Tracking.EVENT_PN_RECEIVED)) { + fromInt = SynergyConstants.EVT_PN_RECEIVED; + addPushTNGTrackingParams(event, hashMap); + } else if (event.type.equals(Tracking.EVENT_PN_DEVICE_REGISTERED)) { + fromInt = SynergyConstants.EVT_PN_DEVICE_REGISTERED; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_PN_DATE_OF_BIRTH)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_PN_DISABLED_FLAG)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_PN_DEVICE_ID)); + } else if (event.type.equals(Tracking.EVENT_PN_USER_CLICKED_OK)) { + fromInt = SynergyConstants.EVT_PN_SHOWN_TO_USER; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_MESSAGEID.value)); + hashMap.put("eventValue01", event.parameters.get("NIMBLESTANDARD::KEY_PN_MESSAGE_ID")); + hashMap.put("eventKeyType02", event.parameters.get(Integer.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value))); + hashMap.put("eventValue02", "Ok"); + } else if (event.type.equals(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_MIGRATION)) { + fromInt = SynergyConstants.EVT_IDENTITY_MIGRATION; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_MIGRATION_GAME_TRIGGERED)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET)); + } else if (event.type.equals(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_LOGIN)) { + fromInt = SynergyConstants.EVT_IDENTITY_LOGIN; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGIN)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET)); + HashMap hashMap2 = new HashMap(); + for (Map.Entry entry : Utility.convertJSONObjectStringToMap(event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGIN)).entrySet()) { + hashMap2.put(entry.getKey(), entry.getValue().toString()); + } + for (Map.Entry entry2 : Utility.convertJSONObjectStringToMap(event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET)).entrySet()) { + hashMap2.put(entry2.getKey(), entry2.getValue().toString()); + } + this.m_pidMap = hashMap2; + this.m_currentSessionObject.sessionData.put("pidMap", this.m_pidMap); + } else if (event.type.equals(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_LOGOUT)) { + fromInt = SynergyConstants.EVT_IDENTITY_LOGOUT; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGOUT)); + HashMap hashMap3 = new HashMap(); + for (Map.Entry entry3 : Utility.convertJSONObjectStringToMap(event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGOUT)).entrySet()) { + hashMap3.put(entry3.getKey(), entry3.getValue().toString()); + } + this.m_pidMap = hashMap3; + this.m_currentSessionObject.sessionData.put("pidMap", this.m_pidMap); + } else if (event.type.equals(Tracking.NIMBLE_TRACKING_EVENT_IDENTITY_MIGRATION_STARTED)) { + fromInt = SynergyConstants.EVT_IDENTITY_MIGRATION_STARTED; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_MIGRATION_GAME_TRIGGERED)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_JSON_MAP.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET)); + } else if (event.type.equals(Tracking.EVENT_TUTORIAL_COMPLETE)) { + fromInt = SynergyConstants.EVT_GAMEPLAY_PROGRESSION_TUTORIAL_COMPLETE; + } else if (event.type.equals(Tracking.EVENT_LEVEL_UP)) { + fromInt = SynergyConstants.EVT_GP_LEVEL_PROMOTION; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_DURATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_DURATION)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_DURATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_GAMEPLAY_DURATION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_USER_LEVEL)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_SOCIAL_GROUP_CREATED)) { + fromInt = SynergyConstants.EVT_ANTELOPE_SOCIAL_GROUP_CREATED; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_ID)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_SOCIAL_GROUP_DELETED)) { + fromInt = SynergyConstants.EVT_ANTELOPE_SOCIAL_GROUP_DELETED; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_ID)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MEMBER_ADDED_TO_GROUP)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MEMBER_ADDED_TO_GROUP; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_ID)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_MEMBER_ID)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MEMBER_REMOVED_FROM_GROUP)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MEMBER_REMOVED_FROM_GROUP; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_ID)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_MEMBER_ID)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MEMBER_REQUEST_TO_GROUP)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MEMBER_REQUEST_TO_GROUP; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_INVITE_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_ID)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType04", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue04", event.parameters.get(Tracking.KEY_ANTELOPE_MEMBER_ID)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MEMBER_DENIED_FROM_GROUP)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MEMBER_DENIED_FROM_GROUP; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_GROUP_ID)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_MEMBER_ID)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MESSAGE_SENT_TO_GROUP_CHAT)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MESSAGE_SENT_TO_GROUP_CHAT; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_MESSAGE_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_ID)); + hashMap.put("eventKeyType04", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue04", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_TYPE)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MESSAGE_SENT_TO_INBOX)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MESSAGE_SENT_TO_INBOX; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_MESSAGE_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_ID)); + hashMap.put("eventKeyType04", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue04", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_TYPE)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MESSAGE_SENT_TO_WORLD_CHAT)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MESSAGE_SENT_TO_WORLD_CHAT; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_MESSAGE_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_ID)); + hashMap.put("eventKeyType04", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue04", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_TYPE)); + } else if (event.type.equals(Tracking.EVENT_ANTELOPE_MESSAGE_SENT_TO_P2P_CHAT)) { + fromInt = SynergyConstants.EVT_ANTELOPE_MESSAGE_SENT_TO_P2P_CHAT; + hashMap.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue01", event.parameters.get(Tracking.KEY_ANTELOPE_MESSAGE_TYPE)); + hashMap.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue02", event.parameters.get(Tracking.KEY_ANTELOPE_PROGRESSION)); + hashMap.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue03", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_ID)); + hashMap.put("eventKeyType04", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + hashMap.put("eventValue04", event.parameters.get(Tracking.KEY_ANTELOPE_RECIPIENT_TYPE)); + } else { + if (!event.type.equals(TrackingSynergy.EVENT_CUSTOM)) { + return null; + } + String str = event.parameters.get("eventType"); + try { + int parseInt = Integer.parseInt(str); + fromInt = SynergyConstants.fromInt(parseInt); + if (fromInt == SynergyConstants.EVT_UNDEFINED) { + num = Integer.valueOf(parseInt); + } + parseCustomParameters(event.parameters, hashMap); + } catch (NumberFormatException unused) { + Log.Helper.LOGE(this, "Error: Invalid format for eventType parameter. Expected integer value, got " + str, new Object[0]); + return null; + } + } + for (String str2 : hashMap.keySet()) { + String str3 = (String) hashMap.get(str2); + if (Utility.validString(str3) && str3.startsWith("${") && str3.endsWith("}")) { + String str4 = this.m_trackingAttributes.get(str3.substring(2, str3.length() - 1)); + if (str4 == null) { + str4 = ""; + } + hashMap.put(str2, str4); + } + } + String uTCDateStringFormat = Utility.getUTCDateStringFormat(event.timestamp); + ArrayList arrayList = new ArrayList(); + if (num.intValue() != -1) { + hashMap.put("eventType", String.valueOf(num)); + } else { + hashMap.put("eventType", String.valueOf(fromInt.value)); + } + hashMap.put("timestamp", uTCDateStringFormat); + if (fromInt.isSessionStartEventType()) { + if (this.m_currentSessionObject.countOfEvents() > 0) { + queueCurrentEventsForPost(); + } + resetSession(); + for (Map map : this.m_pendingEvents) { + map.put("session", this.m_sessionId); + map.put("step", String.valueOf(this.m_eventNumber)); + this.m_eventNumber++; + arrayList.add(map); + } + this.m_pendingEvents.clear(); + } else if (this.m_sessionId == null) { + this.m_pendingEvents.add(hashMap); + return null; + } + hashMap.put("session", this.m_sessionId); + hashMap.put("step", String.valueOf(this.m_eventNumber)); + this.m_eventNumber++; + if (fromInt.isSessionStartEventType()) { + Log.Helper.LOGD(this, "Logging session start event, %s. Posting event queue now.", fromInt); + resetPostTimer(0.0d); + } + if (fromInt == SynergyConstants.EVT_APP_SESSION_END) { + this.m_sessionId = null; + } + arrayList.add(hashMap); + return arrayList; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected void postPendingEvents(boolean z) { + Log.Helper.LOGFUNC(this); + if (isAbleToPostEvent(z)) { + if (this.m_sessionsToPost == null || this.m_sessionsToPost.size() <= 0) { + Log.Helper.LOGD(this, "No tracking sessions to post.", new Object[0]); + return; + } + SynergyRequest createPostRequest = createPostRequest(); + if (createPostRequest == null) { + return; + } + createPostRequest.httpRequest.runInBackground = z; + this.m_isRequestInProgress = true; + final NimbleTrackingThreadManager acquireInstance = NimbleTrackingThreadManager.acquireInstance(); + try { + SynergyNetwork.getComponent().sendRequest(createPostRequest, new SynergyNetworkConnectionCallback() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.3 + @Override // com.ea.nimble.SynergyNetworkConnectionCallback + public void callback(final SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) { + Log.Helper.LOGPUBLICFUNC(this); + acquireInstance.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.3.1 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyImpl.this.onPostComplete(synergyNetworkConnectionHandle); + } + }); + NimbleTrackingThreadManager.releaseInstance(); + } + }); + } catch (OutOfMemoryError unused) { + Activity currentActivity = ApplicationEnvironment.getCurrentActivity(); + if (currentActivity != null) { + ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); + ((ActivityManager) currentActivity.getSystemService("activity")).getMemoryInfo(memoryInfo); + Log.Helper.LOGI(this, "OutOfMemoryError with " + (memoryInfo.availMem / PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED) + " MB left. Dropping current session", new Object[0]); + } else { + Log.Helper.LOGI(this, "Out of memory. Dropping current session", new Object[0]); + } + NimbleTrackingThreadManager.releaseInstance(); + double d = this.m_postInterval; + this.m_postRetryDelay = 1.0d; + this.m_isRequestInProgress = false; + if (this.m_sessionsToPost != null && !this.m_sessionsToPost.isEmpty()) { + Log.Helper.LOGI(this, "More items found in the queue. Post the next one now. Queue size: %d", Integer.valueOf(this.m_sessionsToPost.size())); + resetPostTimer(0.0d, false); + } else { + Log.Helper.LOGI(this, "No more items found in the queue. Wait on the timer. Queue size: %d", Integer.valueOf(this.m_sessionsToPost.size())); + resetPostTimer(d, true); + } + } + } + } + + private void clearAndRefillSessionsToPost() { + Iterator it = ((ArrayList) this.m_sessionsToPost.clone()).iterator(); + while (it.hasNext()) { + removeSessionAndFillQueue((TrackingBaseSessionObject) it.next()); + } + } + + /* JADX INFO: Access modifiers changed from: private */ + /* JADX WARN: Removed duplicated region for block: B:11:0x0078 */ + /* JADX WARN: Removed duplicated region for block: B:17:0x00ad */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public void onPostComplete(com.ea.nimble.SynergyNetworkConnectionHandle r10) { + /* + r9 = this; + com.ea.nimble.Log.Helper.LOGFUNC(r9) + r0 = 0 + if (r10 == 0) goto Le9 + com.ea.nimble.ISynergyResponse r1 = r10.getResponse() + if (r1 != 0) goto Le + goto Le9 + Le: + com.ea.nimble.ISynergyResponse r1 = r10.getResponse() + java.lang.Exception r1 = r1.getError() + r2 = 4607182418800017408(0x3ff0000000000000, double:1.0) + r4 = 1 + if (r1 != 0) goto L24 + r9.clearAndRefillSessionsToPost() + r9.m_postRetryDelay = r2 + double r2 = r9.m_postInterval + L22: + r10 = 0 + goto L6d + L24: + com.ea.nimble.ISynergyResponse r1 = r10.getResponse() + com.ea.nimble.IHttpResponse r1 = r1.getHttpResponse() + if (r1 == 0) goto L57 + int r5 = r1.getStatusCode() + r6 = 400(0x190, float:5.6E-43) + if (r5 == r6) goto L3e + int r5 = r1.getStatusCode() + r6 = 415(0x19f, float:5.82E-43) + if (r5 != r6) goto L57 + L3e: + java.lang.String r10 = "Received HTTP status %d. Discarding post." + java.lang.Object[] r5 = new java.lang.Object[r4] + int r1 = r1.getStatusCode() + java.lang.Integer r1 = java.lang.Integer.valueOf(r1) + r5[r0] = r1 + com.ea.nimble.Log.Helper.LOGE(r9, r10, r5) + r9.clearAndRefillSessionsToPost() + r9.m_postRetryDelay = r2 + double r2 = r9.m_postInterval + goto L22 + L57: + java.lang.String r1 = "Failed to send tracking events. Error: %s" + java.lang.Object[] r5 = new java.lang.Object[r4] + com.ea.nimble.ISynergyResponse r10 = r10.getResponse() + java.lang.Exception r10 = r10.getError() + java.lang.String r10 = r10.getLocalizedMessage() + r5[r0] = r10 + com.ea.nimble.Log.Helper.LOGE(r9, r1, r5) + r10 = 1 + L6d: + java.lang.String r1 = "Telemetry post request finished, resetting isRequestInProgress flag to false." + java.lang.Object[] r5 = new java.lang.Object[r0] + com.ea.nimble.Log.Helper.LOGI(r9, r1, r5) + r9.m_isRequestInProgress = r0 + if (r10 == 0) goto Lad + double r1 = r9.m_postRetryDelay + double r5 = r9.m_postRetryDelay + r7 = 4611686018427387904(0x4000000000000000, double:2.0) + double r5 = r5 * r7 + r9.m_postRetryDelay = r5 + double r5 = r9.m_postRetryDelay + r7 = 4643985272004935680(0x4072c00000000000, double:300.0) + int r10 = (r5 > r7 ? 1 : (r5 == r7 ? 0 : -1)) + if (r10 <= 0) goto L8f + r9.m_postRetryDelay = r7 + L8f: + java.lang.String r10 = "Posting a retry with delay of %s due to failed send. Queue size: %d" + r3 = 2 + java.lang.Object[] r3 = new java.lang.Object[r3] + java.lang.Double r5 = java.lang.Double.valueOf(r1) + r3[r0] = r5 + java.util.ArrayList r5 = r9.m_sessionsToPost + int r5 = r5.size() + java.lang.Integer r5 = java.lang.Integer.valueOf(r5) + r3[r4] = r5 + com.ea.nimble.Log.Helper.LOGI(r9, r10, r3) + r9.resetPostTimer(r1, r0) + goto Le8 + Lad: + java.util.ArrayList r10 = r9.m_sessionsToPost + if (r10 == 0) goto Ld2 + java.util.ArrayList r10 = r9.m_sessionsToPost + boolean r10 = r10.isEmpty() + if (r10 != 0) goto Ld2 + java.lang.String r10 = "More items found in the queue. Post the next one now. Queue size: %d" + java.lang.Object[] r1 = new java.lang.Object[r4] + java.util.ArrayList r2 = r9.m_sessionsToPost + int r2 = r2.size() + java.lang.Integer r2 = java.lang.Integer.valueOf(r2) + r1[r0] = r2 + com.ea.nimble.Log.Helper.LOGI(r9, r10, r1) + r1 = 0 + r9.resetPostTimer(r1, r0) + goto Le8 + Ld2: + java.lang.String r10 = "No more items found in the queue. Wait on the timer. Queue size: %d" + java.lang.Object[] r1 = new java.lang.Object[r4] + java.util.ArrayList r5 = r9.m_sessionsToPost + int r5 = r5.size() + java.lang.Integer r5 = java.lang.Integer.valueOf(r5) + r1[r0] = r5 + com.ea.nimble.Log.Helper.LOGI(r9, r10, r1) + r9.resetPostTimer(r2, r4) + Le8: + return + Le9: + java.lang.String r10 = "No response exists in this post!" + java.lang.Object[] r0 = new java.lang.Object[r0] + com.ea.nimble.Log.Helper.LOGE(r9, r10, r0) + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.onPostComplete(com.ea.nimble.SynergyNetworkConnectionHandle):void"); + } + + protected SynergyRequest createPostRequest() { + Log.Helper.LOGFUNC(this); + String serverUrlWithKey = SynergyEnvironment.getComponent().getServerUrlWithKey(SynergyEnvironment.SERVER_URL_KEY_SYNERGY_TRACKING); + if (serverUrlWithKey == null) { + Log.Helper.LOGI(this, "Tracking server URL from NimbleEnvironment is nil. Adding observer for environment update finish.", new Object[0]); + addObserverForSynergyEnvironmentUpdateFinished(); + return null; + } + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + ArrayList arrayList = new ArrayList(); + Iterator it = this.m_sessionsToPost.iterator(); + while (it.hasNext()) { + TrackingBaseSessionObject next = it.next(); + if (next == null) { + removeSessionAndFillQueue(null); + } else { + HashMap hashMap = new HashMap(); + hashMap.putAll(next.sessionData); + hashMap.put("now_timestamp", Utility.getUTCDateStringFormat(new Date())); + ArrayList arrayList2 = new ArrayList(next.events); + for (int i = 0; i < arrayList2.size(); i++) { + ((Map) arrayList2.get(i)).put("repostCount", String.valueOf(next.repostCount)); + } + Log.Helper.LOGD(this, "Event queue marshalled. Incrementing repost count from %d to %d", Integer.valueOf(next.repostCount), Integer.valueOf(next.repostCount + 1)); + next.repostCount++; + hashMap.put("events", arrayList2); + if (!Utility.validStringObject(hashMap.get("uid"))) { + String synergyId = SynergyIdManager.getComponent().getSynergyId(); + if (Utility.validString(synergyId)) { + Log.Helper.LOGV(this, "Creating post request. No uid in session info dictionary, inserting uid value %s now.", synergyId); + hashMap.put("uid", synergyId); + } else { + Log.Helper.LOGV(this, "Creating post request. No uid in session info dictionary, still no uid available now.", new Object[0]); + } + } + if (!Utility.validStringObject(hashMap.get(SynergyCatalog.MTX_INFO_KEY_SELLID))) { + String safeString = Utility.safeString(component.getSellId()); + if (!Utility.validString(safeString)) { + Log.Helper.LOGE(this, "Creating POST request. Missing sell id.", new Object[0]); + } else { + hashMap.put(SynergyCatalog.MTX_INFO_KEY_SELLID, safeString); + } + } + if (!Utility.validStringObject(hashMap.get("hwId"))) { + String safeString2 = Utility.safeString(component.getEAHardwareId()); + if (!Utility.validString(safeString2)) { + Log.Helper.LOGE(this, "Creating POST request. Missing hw id.", new Object[0]); + } else { + hashMap.put("hwId", safeString2); + } + } + if (!Utility.validStringObject(hashMap.get("deviceId"))) { + String safeString3 = Utility.safeString(component.getEADeviceId()); + if (!Utility.validString(safeString3)) { + Log.Helper.LOGE(this, "Creating POST request. Missing device id.", new Object[0]); + } else { + hashMap.put("deviceId", safeString3); + } + } + arrayList.add(hashMap); + } + } + SynergyRequest synergyRequest = new SynergyRequest("/tracking/api/core/logEvent", IHttpRequest.Method.POST, null); + synergyRequest.baseUrl = serverUrlWithKey; + synergyRequest.jsonData = new JsonData(arrayList); + IOperationalTelemetryDispatch component2 = OperationalTelemetryDispatch.getComponent(); + if (component2 != null) { + JSONObject jSONObject = new JSONObject(); + String str = "BASEURL"; + try { + jSONObject.put("BASEURL", synergyRequest.baseUrl); + } catch (JSONException unused) { + } + try { + jSONObject.put("API", synergyRequest.api); + str = "POSTDATA"; + jSONObject.put("POSTDATA", new JSONArray((Collection) arrayList)); + } catch (JSONException unused2) { + str = "API"; + Log.Helper.LOGE(this, "Failed to add " + str + " to eventDict.", new Object[0]); + component2.logEvent(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS, jSONObject); + Utility.sendBroadcast(SynergyConstants.NIMBLE_NOTIFICATION_TRACKING_SYNERGY_POSTING_TO_SERVER); + return synergyRequest; + } + component2.logEvent(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS, jSONObject); + } + Utility.sendBroadcast(SynergyConstants.NIMBLE_NOTIFICATION_TRACKING_SYNERGY_POSTING_TO_SERVER); + return synergyRequest; + } + + private Map generateSessionInfoDictionary(String str) { + String gameSpecifiedPlayerId; + Log.Helper.LOGFUNC(this); + ISynergyEnvironment component = SynergyEnvironment.getComponent(); + ISynergyIdManager component2 = SynergyIdManager.getComponent(); + IApplicationEnvironment component3 = ApplicationEnvironment.getComponent(); + final HashMap hashMap = new HashMap(); + new NimbleTrackingThreadManager.BlockingRunner() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.4 + @Override // com.ea.nimble.tracking.NimbleTrackingThreadManager.BlockingRunner + public void run() { + ApplicationEnvironment.getComponent().retrieveAdvertisingId(new IApplicationEnvironment.AdvertisingIdCalback() { // from class: com.ea.nimble.tracking.NimbleTrackingSynergyImpl.4.1 + @Override // com.ea.nimble.IApplicationEnvironment.AdvertisingIdCalback + public void onCallback(String str2, boolean z) { + hashMap.put("advertiserID", str2); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_LIMIT_AD_TRACKING, Boolean.valueOf(z)); + setDone(); + } + }); + } + }; + String sellId = component.getSellId(); + String eAHardwareId = component.getEAHardwareId(); + String eADeviceId = component.getEADeviceId(); + String str2 = Build.VERSION.RELEASE; + String carrier = ApplicationEnvironment.getComponent().getCarrier(); + String applicationVersion = ApplicationEnvironment.getComponent().getApplicationVersion(); + try { + hashMap.put("timezone", String.format(Locale.US, "%tZ", Calendar.getInstance())); + } catch (Exception e) { + Log.Helper.LOGW(this, "Failed to get timezone abbreviation with error: " + e.getMessage(), new Object[0]); + } + hashMap.put("carrier", carrier); + hashMap.put("pflag", component3.isAppCracked() ? "1" : "0"); + hashMap.put("jflag", component3.isDeviceRooted() ? "1" : "0"); + hashMap.put("firmwareVer", str2); + hashMap.put(SynergyCatalog.MTX_INFO_KEY_SELLID, Utility.safeString(sellId)); + hashMap.put("buildId", Utility.safeString(applicationVersion)); + hashMap.put("sdkVer", Global.NIMBLE_RELEASE_VERSION); + hashMap.put("sdkCfg", "DL"); + hashMap.put("deviceId", Utility.safeString(eADeviceId)); + hashMap.put("hwId", Utility.safeString(eAHardwareId)); + hashMap.put("schemaVer", "2"); + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_PLATFORM, "android"); + String str3 = "N"; + INetwork component4 = Network.getComponent(); + if (component4.getStatus() == Network.Status.OK) { + str3 = component4.isNetworkWifi() ? "W" : "G"; + } + hashMap.put("networkAccess", str3); + hashMap.put("originUser", this.m_loggedInToOrigin ? "Y" : "N"); + String synergyId = Utility.validString(str) ? str : component2.getSynergyId(); + if (synergyId != null) { + hashMap.put("uid", Utility.safeString(synergyId)); + } + hashMap.put(ApplicationEnvironment.NIMBLE_PARAMETER_ANDROID_ID, Utility.safeString(Settings.Secure.getString(component3.getApplicationContext().getContentResolver(), "android_id"))); + hashMap.put("aut", Utility.safeString("")); + if (this.m_pidMap != null && this.m_pidMap.size() > 0) { + hashMap.put("pidMap", this.m_pidMap); + } + if (component3 != null && (gameSpecifiedPlayerId = component3.getGameSpecifiedPlayerId()) != null && gameSpecifiedPlayerId.length() > 0) { + hashMap.put("gamePlayerId", gameSpecifiedPlayerId); + } + int size = this.m_customSessionData.size(); + if (size > 0) { + for (int i = 0; i < size; i++) { + hashMap.put(this.m_customSessionData.get(i).key, this.m_customSessionData.get(i).value); + } + } + return hashMap; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected void packageCurrentSession() { + Log.Helper.LOGFUNC(this); + if (this.m_currentSessionObject.countOfEvents() > 0) { + Log.Helper.LOGV(this, "Preparing for post, generating session info dictionary.", new Object[0]); + this.m_currentSessionObject.sessionData = new HashMap(generateSessionInfoDictionary(null)); + queueCurrentEventsForPost(); + } + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected boolean isSameSession(TrackingBaseSessionObject trackingBaseSessionObject, TrackingBaseSessionObject trackingBaseSessionObject2) { + Log.Helper.LOGFUNC(this); + if (trackingBaseSessionObject.events.size() == 0 || trackingBaseSessionObject2.events.size() == 0) { + Log.Helper.LOGE(this, "Trying to compare session with no events", new Object[0]); + return true; + } + String str = trackingBaseSessionObject.events.get(0).get("session"); + String str2 = trackingBaseSessionObject2.events.get(0).get("session"); + if (str == null || str2 == null) { + Log.Helper.LOGE(this, "Trying to compare event with no session", new Object[0]); + return true; + } + return str.equals(str2); + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase + protected boolean canDropSession(List list) { + Log.Helper.LOGFUNC(this); + TrackingBaseSessionObject trackingBaseSessionObject = list.get(0); + if (trackingBaseSessionObject.events.size() == 0) { + Log.Helper.LOGE(this, "Trying to drop session with no events", new Object[0]); + return true; + } + Iterator> it = trackingBaseSessionObject.events.iterator(); + while (it.hasNext()) { + String str = it.next().get("eventType"); + if (str != null && str.equals(String.valueOf(SynergyConstants.EVT_APP_START_AFTERINSTALL.value))) { + return false; + } + } + return true; + } + + private void wakeup() { + Log.Helper.LOGFUNC(this); + Utility.registerReceiver(SynergyIdManager.NOTIFICATION_SYNERGY_ID_CHANGED, this.m_synergyIdChangedReceiver); + } + + private void sleep() { + Log.Helper.LOGFUNC(this); + Utility.unregisterReceiver(this.m_synergyIdChangedReceiver); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onSynergyIdChanged(Intent intent) { + Log.Helper.LOGFUNC(this); + String stringExtra = intent.getStringExtra("previousSynergyId"); + String stringExtra2 = intent.getStringExtra("currentSynergyId"); + HashMap hashMap = new HashMap(); + hashMap.put("eventType", String.valueOf(SynergyConstants.EVT_SESSION_END_SYNERGYID_CHANGE.value)); + hashMap.put("keyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_SYNERGYID.value)); + hashMap.put("keyValue01", Utility.safeString(stringExtra)); + hashMap.put("keyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_SYNERGYID.value)); + hashMap.put("keyValue02", Utility.safeString(stringExtra2)); + logEvent(TrackingSynergy.EVENT_CUSTOM, hashMap); + this.m_currentSessionObject.sessionData = new HashMap(generateSessionInfoDictionary(stringExtra)); + queueCurrentEventsForPost(); + hashMap.put("eventType", String.valueOf(SynergyConstants.EVT_NEW_SESSION_START_SYNERGYID_CHANGE.value)); + logEvent(TrackingSynergy.EVENT_CUSTOM, hashMap); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onPidInfoUpdate(Intent intent) { + Log.Helper.LOGFUNC(this); + HashMap hashMap = (HashMap) intent.getSerializableExtra(Global.NIMBLE_IDENTITY_DICTIONARY_KEY_PIDMAP_ID); + if (hashMap == null || hashMap.size() <= 0) { + return; + } + this.m_pidMap = hashMap; + this.m_currentSessionObject.sessionData.put("pidMap", this.m_pidMap); + } + + /* JADX INFO: Access modifiers changed from: private */ + public void onMainAuthenticatorUpdate(Intent intent) { + Log.Helper.LOGFUNC(this); + HashMap hashMap = (HashMap) intent.getSerializableExtra(Tracking.NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE); + if (hashMap == null || hashMap.size() <= 0) { + return; + } + this.m_mainAuthenticator = hashMap; + } + + @Override // com.ea.nimble.tracking.NimbleTrackingImplBase, com.ea.nimble.tracking.ITracking + public String getSessionId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_sessionId; + } + + private static boolean isSynergyEvent(String str) { + Log.Helper.LOGFUNCS("NimbleTrackingSynergyImpl"); + if (str == null) { + return false; + } + return str.startsWith(EVENT_PREFIX); + } + + private void parseCustomParameters(Map map, Map map2) { + Log.Helper.LOGFUNC(this); + ArrayList arrayList = new ArrayList(20); + ArrayList arrayList2 = new ArrayList(20); + for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); + if (key.startsWith("keyType")) { + try { + int parseInt = Integer.parseInt(key.substring("keyType".length())); + if (parseInt > 0 && parseInt <= 20) { + int i = parseInt - 1; + if (i < arrayList.size()) { + arrayList.set(i, entry.getValue()); + } else { + for (int size = arrayList.size(); size < i; size++) { + arrayList.add(null); + } + arrayList.add(entry.getValue()); + } + } else { + Log.Helper.LOGE(this, "Error: Custom parameter number %d is out of range of 1-%d", Integer.valueOf(parseInt), 20); + } + } catch (NumberFormatException unused) { + Log.Helper.LOGE(this, "Error: Invalid format for keyType parameter. Expected keyType##, got " + key, new Object[0]); + } + } else if (key.startsWith("keyValue")) { + try { + int parseInt2 = Integer.parseInt(key.substring("keyValue".length())); + if (parseInt2 > 0 && parseInt2 <= 20) { + int i2 = parseInt2 - 1; + if (i2 < arrayList2.size()) { + arrayList2.set(i2, entry.getValue()); + } else { + for (int size2 = arrayList2.size(); size2 < i2; size2++) { + arrayList2.add(null); + } + arrayList2.add(entry.getValue()); + } + } else { + Log.Helper.LOGE(this, "Error: Custom parameter number %d is out of range of 1-%d", Integer.valueOf(parseInt2), 20); + } + } catch (NumberFormatException unused2) { + Log.Helper.LOGE(this, "Error: Invalid format for keyValue parameter. Expected keyValue##, got " + key, new Object[0]); + } + } + } + int max = Math.max(arrayList.size(), arrayList2.size()); + int i3 = 0; + while (i3 < max) { + String str = i3 < arrayList.size() ? (String) arrayList.get(i3) : null; + if (str == null) { + str = "0"; + Log.Helper.LOGE(this, "Error: No corresponding keyType entry for parameter number %d", Integer.valueOf(i3 + 1)); + } + String str2 = i3 < arrayList2.size() ? (String) arrayList2.get(i3) : null; + if (str2 == null) { + str2 = ""; + Log.Helper.LOGE(this, "Error: No corresponding keyValue entry for parameter number %d", Integer.valueOf(i3 + 1)); + } + i3++; + map2.put(String.format(Locale.US, "eventKeyType%02d", Integer.valueOf(i3)), str); + map2.put(String.format(Locale.US, "eventValue%02d", Integer.valueOf(i3)), str2); + } + } + + private void addPushTNGTrackingParams(Tracking.Event event, Map map) { + Log.Helper.LOGFUNC(this); + map.put("eventKeyType01", String.valueOf(SynergyConstants.EVT_KEYTYPE_MESSAGEID.value)); + map.put("eventValue01", event.parameters.get("NIMBLESTANDARD::KEY_PN_MESSAGE_ID")); + map.put("eventKeyType02", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + map.put("eventValue02", event.parameters.get(Tracking.KEY_PN_MESSAGE_TYPE)); + map.put("eventKeyType03", String.valueOf(SynergyConstants.EVT_KEYTYPE_ENUMERATION.value)); + map.put("eventValue03", event.parameters.get(Tracking.KEY_PN_DEVICE_ID)); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadManager.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadManager.java new file mode 100644 index 0000000..df82d89 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadManager.java @@ -0,0 +1,126 @@ +package com.ea.nimble.tracking; + +import com.ea.nimble.Log; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/* loaded from: classes.dex */ +class NimbleTrackingThreadManager { + private static NimbleTrackingThreadManager s_instance; + private static int s_instanceRefs; + private ScheduledExecutorService m_executor = new ScheduledThreadPoolExecutor(1) { // from class: com.ea.nimble.tracking.NimbleTrackingThreadManager.1 + @Override // java.util.concurrent.ThreadPoolExecutor + protected void afterExecute(Runnable runnable, Throwable th) { + Log.Helper.LOGFUNC(this); + super.afterExecute(runnable, th); + if (th == null && (runnable instanceof Future)) { + Future future = (Future) runnable; + if (!future.isCancelled()) { + try { + future.get(); + } catch (InterruptedException unused) { + Thread.currentThread().interrupt(); + } catch (ExecutionException e) { + th = e.getCause(); + } + } + } + if (th != null) { + if (th instanceof Error) { + throw ((Error) th); + } + if (th instanceof RuntimeException) { + throw ((RuntimeException) th); + } + Log.Helper.LOGES("TrackingThreadManager", "Checked exception thrown from Tracking thread:", new Object[0]); + th.printStackTrace(); + } + } + }; + + public static abstract class BlockingRunner { + private boolean m_done = false; + + public abstract void run(); + + public BlockingRunner() { + Log.Helper.LOGPUBLICFUNC(this); + run(); + waitUntilDone(); + } + + protected void setDone() { + Log.Helper.LOGFUNC(this); + synchronized (this) { + this.m_done = true; + notifyAll(); + } + } + + private void waitUntilDone() { + Log.Helper.LOGFUNC(this); + if (this.m_done) { + return; + } + synchronized (this) { + while (!this.m_done) { + try { + wait(); + } catch (InterruptedException unused) { + } + } + } + } + } + + static NimbleTrackingThreadManager acquireInstance() { + if (s_instance == null) { + s_instance = new NimbleTrackingThreadManager(); + } + s_instanceRefs++; + return s_instance; + } + + static void releaseInstance() { + s_instanceRefs--; + if (s_instanceRefs == 0) { + s_instance.shutdown(); + s_instance = null; + } + } + + NimbleTrackingThreadManager() { + } + + ScheduledFuture createTimer(double d, Runnable runnable) { + return this.m_executor.schedule(runnable, (long) (d * 1000.0d), TimeUnit.MILLISECONDS); + } + + void runInWorkerThread(Runnable runnable) { + runInWorkerThread(false, runnable); + } + + void runInWorkerThread(boolean z, Runnable runnable) { + if (z) { + try { + this.m_executor.submit(runnable).get(); + return; + } catch (InterruptedException unused) { + Thread.currentThread().interrupt(); + return; + } catch (ExecutionException unused2) { + return; + } + } + this.m_executor.execute(runnable); + } + + private void shutdown() { + Log.Helper.LOGFUNC(this); + this.m_executor.shutdown(); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadProxy.java b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadProxy.java new file mode 100644 index 0000000..30ae8ec --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/NimbleTrackingThreadProxy.java @@ -0,0 +1,190 @@ +package com.ea.nimble.tracking; + +import com.ea.nimble.Component; +import com.ea.nimble.Log; +import java.util.Map; + +/* loaded from: classes.dex */ +public abstract class NimbleTrackingThreadProxy extends Component implements ITracking { + private NimbleTrackingImplBase m_impl; + private NimbleTrackingThreadManager m_threadManager; + + protected NimbleTrackingThreadProxy(NimbleTrackingImplBase nimbleTrackingImplBase) { + Log.Helper.LOGFUNC(this); + this.m_impl = nimbleTrackingImplBase; + } + + @Override // com.ea.nimble.Component + protected void setup() { + Log.Helper.LOGFUNC(this); + this.m_threadManager = NimbleTrackingThreadManager.acquireInstance(); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.1 + @Override // java.lang.Runnable + public void run() { + NimbleTrackingThreadProxy.this.m_impl.setup(); + } + }); + } + + @Override // com.ea.nimble.Component + protected void restore() { + Log.Helper.LOGFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.2 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.restore(); + } + }); + } + + @Override // com.ea.nimble.Component + protected void suspend() { + Log.Helper.LOGFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.3 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.suspend(); + } + }); + } + + @Override // com.ea.nimble.Component + protected void resume() { + Log.Helper.LOGFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.4 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.resume(); + } + }); + } + + @Override // com.ea.nimble.Component + protected void cleanup() { + Log.Helper.LOGFUNC(this); + this.m_threadManager.runInWorkerThread(true, new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.5 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.cleanup(); + } + }); + } + + @Override // com.ea.nimble.Component + protected void teardown() { + Log.Helper.LOGFUNC(this); + this.m_threadManager.runInWorkerThread(true, new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.6 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.teardown(); + } + }); + NimbleTrackingThreadManager.releaseInstance(); + this.m_threadManager = null; + } + + @Override // com.ea.nimble.tracking.ITracking + public void setEnable(final boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_threadManager.runInWorkerThread(true, new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.7 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.setEnable(z); + } + }); + } + + @Override // com.ea.nimble.tracking.ITracking + public boolean getEnable() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_impl.getEnable(); + } + + @Override // com.ea.nimble.tracking.ITracking + public boolean getPostEnable() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_impl.getPostEnable(); + } + + @Override // com.ea.nimble.tracking.ITracking + public void setPostEnable(final boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_threadManager.runInWorkerThread(true, new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.8 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.setPostEnable(z); + } + }); + } + + @Override // com.ea.nimble.tracking.ITracking + public void logEvent(final String str, final Map map) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.9 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.logEvent(str, map); + } + }); + } + + @Override // com.ea.nimble.tracking.ITracking + public void addCustomSessionData(final String str, final String str2) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.10 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.addCustomSessionData(str, str2); + } + }); + } + + @Override // com.ea.nimble.tracking.ITracking + public void removeCustomSessionData(final String str) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.11 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.removeCustomSessionData(str); + } + }); + } + + @Override // com.ea.nimble.tracking.ITracking + public void clearCustomSessionData() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.tracking.ITracking + public String getSessionId() { + Log.Helper.LOGPUBLICFUNC(this); + return this.m_impl.getSessionId(); + } + + @Override // com.ea.nimble.tracking.ITracking + public void setTrackingAttribute(final String str, final String str2) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_threadManager.runInWorkerThread(new Runnable() { // from class: com.ea.nimble.tracking.NimbleTrackingThreadProxy.12 + @Override // java.lang.Runnable + public void run() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingThreadProxy.this.m_impl.setTrackingAttribute(str, str2); + } + }); + } + + @Override // com.ea.nimble.Component + public String getComponentId() { + return this.m_impl.getComponentId(); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/SynergyConstants.java b/app/src/main/java/com/ea/nimble/tracking/SynergyConstants.java new file mode 100644 index 0000000..b1847fd --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/SynergyConstants.java @@ -0,0 +1,268 @@ +package com.ea.nimble.tracking; + +import com.google.android.gms.games.GamesActivityResultCodes; + +/* loaded from: classes.dex */ +public enum SynergyConstants { + EVT_UNDEFINED(-1), + EVT_APP_START_NORMALLY(10000), + EVT_APP_START_FROMPUSH(GamesActivityResultCodes.RESULT_RECONNECT_REQUIRED), + EVT_APP_START_AFTERINSTALL(GamesActivityResultCodes.RESULT_SIGN_IN_FAILED), + EVT_APP_START_AFTERUPGRADE(GamesActivityResultCodes.RESULT_LICENSE_FAILED), + EVT_APP_RESUME_NORMAL(GamesActivityResultCodes.RESULT_APP_MISCONFIGURED), + EVT_APP_SESSION_TIME(GamesActivityResultCodes.RESULT_LEFT_ROOM), + EVT_APP_RESUME_FROM_PUSH(10007), + EVT_APP_START_FROM_URL(10009), + EVT_APP_RESUME_FROM_URL(10010), + EVT_NEW_SESSION_START_SYNERGYID_CHANGE(10012), + EVT_IDENTITY_MIGRATION(12000), + EVT_IDENTITY_LOGIN(12001), + EVT_IDENTITY_LOGOUT(12002), + EVT_IDENTITY_MIGRATION_STARTED(12003), + EVT_APP_END_NORMALLY(20000), + EVT_APP_END_ABNORMALLY(20001), + EVT_APP_INTERRUPTED(20002), + EVT_APP_SESSION_END(20003), + EVT_APP_RESUME_FROM_EBISU(20004), + EVT_APP_SESSION_START_EMBED(20005), + EVT_EMBED_OTD_UPGRADE(20006), + EVT_SESSION_END_SYNERGYID_CHANGE(20007), + EVT_USER_SHOWN_PN_OPTIN_PROMPT(20008), + EVT_PN_SHOWN_TO_USER(20009), + EVT_PN_RECEIVED(20015), + EVT_PN_DEVICE_REGISTERED(20016), + EVT_OPT_FULL_PURCHASE(30000), + EVT_MOREGAMES_ENTER(30001), + EVT_MOREGAMES_CLICKTHROUGH(30002), + EVT_MOREGAMES_GAMESELECT(30004), + EVT_MOREGAMES_CATEGORYSELECT(30005), + EVT_MOREGAMES_OVERLAY_APPEARS(30006), + EVT_MOREGAMES_OVERLAY_BUYCLICK(30007), + EVT_ENTER_FULL_GAME_OVERVIEW_SCREEN(30008), + EVT_LITE_ED_GAME_DEMO_START(30009), + EVT_LITE_ED_GAME_DEMO_END(30010), + EVT_MAINMENU_BANNER_CLICK(30011), + EVT_MAINMENU_TICKER_CLICK(30012), + EVT_INSTORE_BANNER_CLICK(30013), + EVT_INSTORE_TICKER_CLICK(30014), + EVT_FEATURED_BANNER_CLICK(30015), + EVT_MOREGAMES_CLICKTHROUGH_FEATURED(30017), + EVT_MOREGAMES_CLICKTHROUGH_SIDEBANNER(30018), + EVT_IPAD_UPSELL_MESSAGE_DISPLAYED(30019), + EVT_IPAD_UPSELL_MESSAGE_NOTHANKS_CLICKED(30020), + EVT_IPAD_UPSELL_MESSAGE_OK_CLICKED(30021), + EVT_IPAD_UPSELL_MESSAGE_LATER_CLICKED(30022), + EVT_UPSELL_VIDEO_CLICKED(30023), + EVT_USER_TRACKING_OPTOUT(30024), + EVT_GAMEPLAY_PROGRESSION_SPGAME_START(30025), + EVT_GAMEPLAY_PROGRESSION_SPGAME_RESTART(30026), + EVT_GAMEPLAY_PROGRESSION_SPGAME_SAVE(30027), + EVT_GAMEPLAY_PROGRESSION_SPGAME_CONTINUE(30028), + EVT_GAMEPLAY_PROGRESSION_SPGAME_QUIT(30029), + EVT_GAMEPLAY_PROGRESSION_SPGAME_COMPLETE(30030), + EVT_GAMEPLAY_PROGRESSION_SPGAME_TIME_SPENT(30031), + EVT_GAMEPLAY_PROGRESSION_SPGAME_SCORE(30032), + EVT_GAMEPLAY_PROGRESSION_TUTORIAL_SKIP(30033), + EVT_GAMEPLAY_PROGRESSION_TUTORIAL_COMPLETE(30034), + EVT_GAMEPLAY_PROGRESSION_CUTSCENE_SKIP(30035), + EVT_GAMEPLAY_PROGRESSION_CONTROLSCHEME_USED(30036), + EVT_GAMEPLAY_PROGRESSION_CHARACTER(30037), + EVT_GAMEPLAY_PROGRESSION_MPGAME_START(30038), + EVT_GAMEPLAY_PROGRESSION_MPGAME_QUIT(30039), + EVT_GAMEPLAY_PROGRESSION_MPGAME_DISCONNECT(30040), + EVT_GAMEPLAY_PROGRESSION_MPGAME_COMPLETE(30041), + EVT_GAMEPLAY_PROGRESSION_MPGAME_TIME_SPENT(30042), + EVT_MULTITASKING_USER_APP_MINIMIZED(30043), + EVT_MULTITASKING_USER_APP_RESUMED(30044), + EVT_MULTITASKING_USER_START_TUTORIAL(30045), + EVT_MTXVIEW_ENTER(40000), + EVT_MTXVIEW_GAMECATEGORY(40001), + EVT_MTXVIEW_ITEMSELECT(40002), + EVT_MTXVIEW_ITEMPURCHASE(40003), + EVT_MTXVIEW_ENTER_FROMCTX(40004), + EVT_MTXVIEW_FREEITEM_DOWNLOADED(40005), + EVT_MTXVIEW_ITEM_PURCHASED(40006), + EVT_IAC_MTX_ITEM_USED(40007), + EVT_MTXVIEW_ITEM_PURCHASED_REFERRERDATA(40008), + EVT_MTXVIEW_ITEMPURCHASE_SLOTDATA(40009), + EVT_MTXVIEW_ITEDISPLAYED(40010), + EVT_IGE_FREE_CREDITS_EARNED(40011), + EVT_IGE_PAID_CREDITS_EARNED(40012), + EVT_IGE_GIFT_RECEIVED(40013), + EVT_IGE_GIFT_SENT(40014), + EVT_IGE_FREE_CREDITS_ITEMS_CLICK(40015), + EVT_IGE_PAID_CREDITS_ITEMS_CLICK(40016), + EVT_IGE_STORE_VISIT(40017), + EVT_IGE_PAID_CREDITS_PURCHASE_REVENUE(40018), + EVT_IGE_PAID_CREDITS_PURCHASE_LEVEL(40019), + EVT_IGE_FREE_CREDITS_PURCHASE_REVENUE(40020), + EVT_IGE_FREE_CREDITS_PURCHASE_LEVEL(40021), + EVT_IGE_GAME_START_CASH_DETAIL(40022), + EVT_OFFERWALL_ITEM_REDEEMED_STORE_EAL(40023), + EVT_OFFERWALL_ITEM_REDEEMED_USER_LEVEL_EAL(40024), + EVT_OFFERWALL_ITEM_CLICK_EAL(40025), + EVT_OFFERWALL_STORE_VISIT_EAL(40026), + EVT_INGAME_AD_CLICK(40027), + EVT_INGAME_LEVEL_FREE_CREDITS_COUNT(40028), + EVT_INGAME_LEVEL_PAID_CREDITS_COUNT(40029), + EVT_USER_LEVEL_MTX_ITEM_PURCHASED(40030), + EVT_IGE_GAME_START_FREE_CREDIT(40031), + EVT_IGE_GAME_START_PAID_CREDIT(40032), + EVT_INGAME_EMAIL_OPEN(50001), + EVT_INGAME_EMAIL_SEND(50002), + EVT_INGAME_EMAIL_RECEIEVE(50003), + EVT_MEDIAPICKER_OPEN(50004), + EVT_ACCESS_BT_MENU(50005), + EVT_BEGIN_BT_SESSION(50006), + EVT_COMPLETE_BT_SESSION(50007), + EVT_ACCESS_WIFI_MENU(50008), + EVT_BEGIN_WIFI_SESSION(50009), + EVT_COMPLETE_WIFI_SESSION(50010), + EVT_USR_ISSUE_PUSH_NOTIFICATION_CHALLENGE(50011), + EVT_LANGUAGE_SELECTED(50012), + EVT_MENU_PROGRESSION_MAINMENU_SELECTED(50013), + EVT_MENU_PROGRESSION_MAINMENU_SUBMENU_SELECTED(50014), + EVT_MENU_PROGRESSION_GAMEMENU_SELECTED(50015), + EVT_MENU_PROGRESSION_GAMEMENU_SUBMENU_SELECTED(50016), + EVT_DEVICE_ORIENTATION_CHANGED(50017), + EVT_ERROR_BLUETOOTH_WIFI_BOTH_ACTIVE(50018), + EVT_ACCESS_INGAME_SCREEN(60001), + EVT_LEAVE_INGAME_SCREEN(60002), + EVT_USER_GAMEPLAY_FUNNEL_EAL(60003), + EVT_USER_TUTORIAL_FUNNEL_EAL(60004), + EVT_USER_TRANSACTION_FUNNEL(60005), + EVT_USER_MESSAGING_FUNNEL(60006), + EVT_USER_SIGNUP_FUNNEL(60007), + EVT_USER_GAME_LOAD_FUNNEL(60008), + EVT_USER_GAME_DOWNLOAD_FUNNEL(60009), + EVT_EVENTS_PURGED(70000), + EVT_GP_LEVEL_PROMOTION(70005), + EVT_GP_LEVEL_PROMOTION_GAMEPLAY_TIME_TOTAL_EAL(70006), + EVT_GP_ACHIEVEMENTS_CHECKPOINTS_EAL(70007), + EVT_GP_XPGAIN_EVENT_EAL(70008), + EVT_GP_EVENT_USER_EAL(70009), + EVT_GP_APP_START_USER_LEVEL_EAL(70010), + EVT_EBISU_EMAIL_PROMPT(80032), + EVT_EBISU_PROMPT_INPUT(80033), + EVT_EBISU_REGISTRATION_FUNNEL(80034), + EVT_EBISU_OPTIONAL_REGISTRATION_FIELDS(80035), + EVT_EBISU_REGISTRATION_ERROR(80036), + EVT_EBISU_SIGNIN_FUNNEL(80037), + EVT_EBISU_SIGNIN_ERROR(80038), + EVT_EBISU_USER_SIGNIN(80039), + EVT_EBISU_USER_FRIENDS_COUNT(80040), + EVT_EBISU_ENTER_EBISUUI(80041), + EVT_EBISU_FRIENDS_VISIT(80042), + EVT_EBISU_FRIEND_SEARCH(80043), + EVT_EBISU_FRIEND_INVITE_SENT(80044), + EVT_EBISU_FRIEND_INVITE_ACCPTED(80045), + EVT_EBISU_NEWSFEED_VISIT(80046), + EVT_EBISU_NEWSFEED_TILE_BUTTON_CLICK(80047), + EVT_EBISU_NEWSFEED_BANNER_CLICK(80048), + EVT_EBISU_NEWSFEED_UPDATES(80049), + EVT_EBISU_PROFILE_VISIT(80050), + EVT_EBISU_LOGO_YES_CLICK(80051), + EVT_EBISU_LOGO_NO_CLICK(80052), + EVT_EBISU_RECOVER_PASSWORD_FUNNEL(80053), + EVT_EBISU_USER_SIGNOUT(80054), + EVT_EBISU_LOAD_FAIL(80055), + EVT_EBISU_FRIEND_PROFILE_BANNER_CLICK(80056), + EVT_EBISU_FRIEND_PROFILE_GAME_ICON_CLICK(80057), + EVT_EBISU_FRIEND_INVITE_REJECTED(80058), + EVT_EBISU_PROFILE_BANNER_CLICK(80059), + EVT_EBISU_PROFILE_GAME_ICON_CLICK(80060), + EVT_ANTELOPE_SOCIAL_GROUP_CREATED(80070), + EVT_ANTELOPE_SOCIAL_GROUP_DELETED(80071), + EVT_ANTELOPE_MEMBER_ADDED_TO_GROUP(80072), + EVT_ANTELOPE_MEMBER_REMOVED_FROM_GROUP(80073), + EVT_ANTELOPE_MEMBER_REQUEST_TO_GROUP(80074), + EVT_ANTELOPE_MEMBER_DENIED_FROM_GROUP(80089), + EVT_ANTELOPE_MESSAGE_SENT_TO_GROUP_CHAT(80075), + EVT_ANTELOPE_MESSAGE_SENT_TO_INBOX(80076), + EVT_ANTELOPE_MESSAGE_SENT_TO_WORLD_CHAT(80077), + EVT_ANTELOPE_MESSAGE_SENT_TO_P2P_CHAT(80078), + EVT_NEXUS_AUTHENTICATOR_LOGIN(80083), + EVT_NEXUS_AUTHENTICATOR_LOGOUT(80084), + EVT_GAME_ERROR_CONNECTIVITY(90000), + EVT_GAME_ERROR_GAMEPLAY(90001), + EVT_APPSTART_NORMALLY(10000), + EVT_APPSTART_FROMPUSH(GamesActivityResultCodes.RESULT_RECONNECT_REQUIRED), + EVT_APPSTART_AFTERINSTALL(GamesActivityResultCodes.RESULT_SIGN_IN_FAILED), + EVT_APPSTART_AFTERUPGRADE(GamesActivityResultCodes.RESULT_LICENSE_FAILED), + EVT_APP_SESSION_START(GamesActivityResultCodes.RESULT_APP_MISCONFIGURED), + EVT_APPSTART_FROM_URL(10009), + EVT_APP_ENTER_FOREGROUND_FROM_URL(10010), + EVT_APPEND_NORMALLY(20000), + EVT_APPEND_ABNORMALLY(20001), + EVT_APP_ENTER_FOREGROUND_FROM_EBISU(20004), + EVT_KEYTYPE_NONE(0), + EVT_KEYTYPE_GAME_SELLID(1), + EVT_KEYTYPE_MTX_SELLID(2), + EVT_KEYTYPE_MTX_CATEGORY(3), + EVT_KEYTYPE_SCREEN_NAME(4), + EVT_KEYTYPE_EVENT_COUNT(5), + EVT_KEYTYPE_DURATION(7), + EVT_KEYTYPE_FREQUENCY(8), + EVT_KEYTYPE_FEATURED(10), + EVT_KEYTYPE_DMG_SECTION(11), + EVT_KEYTYPE_GAME_PRODUCTID(12), + EVT_KEYTYPE_DMG_CATEGORY(13), + EVT_KEYTYPE_SCORE(14), + EVT_KEYTYPE_ENUMERATION(15), + EVT_KEYTYPE_TICKERID(16), + EVT_KEYTYPE_BANNERID(17), + EVT_KEYTYPE_MESSAGEID(18), + EVT_KEYTYPE_BANNER_POSITION(19), + EVT_KEYTYPE_LANGUAGE(20), + EVT_KEYTYPE_USER_LEVEL_DATA(21), + EVT_KEYTYPE_FIELD_ID(22), + EVT_KEYTYPE_LOGO_MESSAGE_ID(23), + EVT_KEYTYPE_FIELD_TYPE(24), + EVT_KEYTYPE_SYNERGYID(25), + EVT_KEYTYPE_JSON_MAP(26), + EVT_KEYTYPE_LAST_ENUM(27); + + public static final int EVENT_SYNERGY_CUSTOM = 4; + public static final String NIMBLE_NOTIFICATION_TRACKING_SYNERGY_POSTING_TO_SERVER = "nimble.notification.trackingimpl.synergy.postingToServer"; + public final int value; + + SynergyConstants(int i) { + this.value = i; + } + + public static SynergyConstants fromInt(int i) { + for (SynergyConstants synergyConstants : values()) { + if (synergyConstants.value == i) { + return synergyConstants; + } + } + return EVT_UNDEFINED; + } + + public boolean isSessionStartEventType() { + switch (this) { + case EVT_APP_START_NORMALLY: + case EVT_APP_START_FROMPUSH: + case EVT_APP_START_AFTERINSTALL: + case EVT_APP_START_AFTERUPGRADE: + case EVT_APP_RESUME_NORMAL: + case EVT_APP_RESUME_FROM_PUSH: + case EVT_APP_START_FROM_URL: + case EVT_APP_RESUME_FROM_URL: + case EVT_NEW_SESSION_START_SYNERGYID_CHANGE: + return true; + default: + return false; + } + } + + public boolean isSessionEndEventType() { + switch (this) { + case EVT_APP_SESSION_END: + case EVT_APP_SESSION_TIME: + return true; + default: + return false; + } + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/Tracking.java b/app/src/main/java/com/ea/nimble/tracking/Tracking.java new file mode 100644 index 0000000..f01a3cd --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/Tracking.java @@ -0,0 +1,124 @@ +package com.ea.nimble.tracking; + +import com.ea.nimble.Base; +import com.ea.nimble.Log; +import java.util.Date; +import java.util.Map; + +/* loaded from: classes.dex */ +public class Tracking { + private static final String APP_RESUME_EVENT_PREFIX = "APPRESUME_"; + private static final String APP_START_EVENT_PREFIX = "APPSTART_"; + public static final String COMPONENT_ID = "com.ea.nimble.tracking"; + public static final String EVENT_ANTELOPE_MEMBER_ADDED_TO_GROUP = "NIMBLESTANDARD::ANTELOPE_MEMBER_ADDED_TO_GROUP"; + public static final String EVENT_ANTELOPE_MEMBER_DENIED_FROM_GROUP = "NIMBLESTANDARD::ANTELOPE_MEMBER_DENIED_FROM_GROUP"; + public static final String EVENT_ANTELOPE_MEMBER_REMOVED_FROM_GROUP = "NIMBLESTANDARD::ANTELOPE_MEMBER_REMOVED_FROM_GROUP"; + public static final String EVENT_ANTELOPE_MEMBER_REQUEST_TO_GROUP = "NIMBLESTANDARD::ANTELOPE_MEMBER_REQUEST_TO_GROUP"; + public static final String EVENT_ANTELOPE_MESSAGE_SENT_TO_GROUP_CHAT = "NIMBLESTANDARD::ANTELOPE_MESSAGE_SENT_TO_GROUP_CHAT"; + public static final String EVENT_ANTELOPE_MESSAGE_SENT_TO_INBOX = "NIMBLESTANDARD::ANTELOPE_MESSAGE_SENT_TO_INBOX"; + public static final String EVENT_ANTELOPE_MESSAGE_SENT_TO_P2P_CHAT = "NIMBLESTANDARD::ANTELOPE_MESSAGE_SENT_TO_P2P_CHAT"; + public static final String EVENT_ANTELOPE_MESSAGE_SENT_TO_WORLD_CHAT = "NIMBLESTANDARD::ANTELOPE_MESSAGE_SENT_TO_WORLD_CHAT"; + public static final String EVENT_ANTELOPE_SOCIAL_GROUP_CREATED = "NIMBLESTANDARD::ANTELOPE_SOCIAL_GROUP_CREATED"; + public static final String EVENT_ANTELOPE_SOCIAL_GROUP_DELETED = "NIMBLESTANDARD::ANTELOPE_SOCIAL_GROUP_DELETED"; + public static final String EVENT_APPRESUME_FROMEBISU = "NIMBLESTANDARD::APPRESUME_FROMEBISU"; + public static final String EVENT_APPRESUME_FROMPUSH = "NIMBLESTANDARD::APPRESUME_FROMPUSH"; + public static final String EVENT_APPRESUME_FROMURL = "NIMBLESTANDARD::APPRESUME_FROMURL"; + public static final String EVENT_APPRESUME_NORMAL = "NIMBLESTANDARD::APPRESUME_NORMAL"; + public static final String EVENT_APPSTART_AFTERINSTALL = "NIMBLESTANDARD::APPSTART_AFTERINSTALL"; + public static final String EVENT_APPSTART_AFTERUPGRADE = "NIMBLESTANDARD::APPSTART_AFTERUPGRADE"; + public static final String EVENT_APPSTART_FROMPUSH = "NIMBLESTANDARD::APPSTART_FROMPUSH"; + public static final String EVENT_APPSTART_FROMURL = "NIMBLESTANDARD::APPSTART_FROMURL"; + public static final String EVENT_APPSTART_NORMAL = "NIMBLESTANDARD::APPSTART_NORMAL"; + public static final String EVENT_LEVEL_UP = "NIMBLESTANDARD::LEVEL_UP"; + public static final String EVENT_MTX_FREEITEM_DOWNLOADED = "NIMBLESTANDARD::MTX_FREEITEM_DOWNLOADED"; + public static final String EVENT_MTX_ITEM_BEGIN_PURCHASE = "NIMBLESTANDARD::MTX_ITEM_BEGIN_PURCHASE"; + public static final String EVENT_MTX_ITEM_PURCHASED = "NIMBLESTANDARD::MTX_ITEM_PURCHASED"; + public static final String EVENT_PN_DEVICE_REGISTERED = "NIMBLESTANDARD::PN_DEVICE_REGISTERED"; + public static final String EVENT_PN_DISPLAY_OPT_IN = "NIMBLESTANDARD::PN_DISPLAY_OPT_IN"; + public static final String EVENT_PN_RECEIVED = "NIMBLESTANDARD::PN_RECEIVED"; + public static final String EVENT_PN_SHOWN_TO_USER = "NIMBLESTANDARD::PN_SHOWN_TO_USER"; + public static final String EVENT_PN_USER_CLICKED_OK = "NIMBLESTANDARD::PN_USER_CLICKED_OK"; + public static final String EVENT_PN_USER_OPT_IN = "NIMBLESTANDARD::PN_USER_OPT_IN"; + public static final String EVENT_REFERRERID_RECEIVED = "NIMBLESTANDARD::REFERRER_ID_RECEIVED"; + public static final String EVENT_SESSION_END = "NIMBLESTANDARD::SESSION_END"; + public static final String EVENT_SESSION_START = "NIMBLESTANDARD::SESSION_START"; + public static final String EVENT_SESSION_TIME = "NIMBLESTANDARD::SESSION_TIME"; + public static final String EVENT_TUTORIAL_COMPLETE = "NIMBLESTANDARD::TUTORIAL_COMPLETE"; + public static final String EVENT_USER_REGISTERED = "NIMBLESTANDARD::USER_REGISTERED"; + public static final String EVENT_USER_TRACKING_OPTOUT = "NIMBLESTANDARD::USER_TRACKING_OPTOUT"; + public static final String KEY_ANTELOPE_GROUP_ID = "NIMBLESTANDARD::KEY_ANTELOPE_GROUP_ID"; + public static final String KEY_ANTELOPE_GROUP_TYPE = "NIMBLESTANDARD::KEY_ANTELOPE_GROUP_TYPE"; + public static final String KEY_ANTELOPE_INVITE_TYPE = "NIMBLESTANDARD::KEY_ANTELOPE_INVITE_TYPE"; + public static final String KEY_ANTELOPE_MEMBER_ID = "NIMBLESTANDARD::KEY_ANTELOPE_MEMBER_ID"; + public static final String KEY_ANTELOPE_MESSAGE_TYPE = "NIMBLESTANDARD::KEY_ANTELOPE_MESSAGE_TYPE"; + public static final String KEY_ANTELOPE_PROGRESSION = "NIMBLESTANDARD::KEY_ANTELOPE_PROGRESSION"; + public static final String KEY_ANTELOPE_RECIPIENT_ID = "NIMBLESTANDARD::KEY_ANTELOPE_RECIPIENT_ID"; + public static final String KEY_ANTELOPE_RECIPIENT_TYPE = "NIMBLESTANDARD::KEY_ANTELOPE_RECIPIENT_TYPE"; + public static final String KEY_DURATION = "NIMBLESTANDARD::KEY_DURATION"; + public static final String KEY_GAMEPLAY_DURATION = "NIMBLESTANDARD::KEY_GAMEPLAY_DURATION"; + public static final String KEY_MTX_CURRENCY = "NIMBLESTANDARD::KEY_MTX_CURRENCY"; + public static final String KEY_MTX_PRICE = "NIMBLESTANDARD::KEY_MTX_PRICE"; + public static final String KEY_MTX_SELLID = "NIMBLESTANDARD::KEY_MTX_SELLID"; + public static final String KEY_PN_DATE_OF_BIRTH = "NIMBLESTANDARD::KEY_PN_DATE_OF_BIRTH"; + public static final String KEY_PN_DEVICE_ID = "NIMBLESTANDARD::KEY_PN_DEVICE_ID"; + public static final String KEY_PN_DISABLED_FLAG = "NIMBLESTANDARD::KEY_PN_DISABLED_FLAG"; + public static final String KEY_PN_MESSAGE_ID = "NIMBLESTANDARD::KEY_PN_MESSAGE_ID"; + public static final String KEY_PN_MESSAGE_TYPE = "NIMBLESTANDARD::KEY_PN_MESSAGE_TYPE"; + public static final String KEY_REFERRER_ID = "NIMBLESTANDARD::KEY_REFERRER_ID"; + public static final String KEY_USERNAME = "NIMBLESTANDARD::KEY_USERNAME"; + public static final String KEY_USER_LEVEL = "NIMBLESTANDARD::KEY_USER_LEVEL"; + public static final String NIMBLE_TRACKING_ATTRIBUTE_PROGRESSION_LEVEL = "NIMBLESTANDARD::ATTRIBUTE_PROGRESSION_LEVEL"; + public static final String NIMBLE_TRACKING_DEFAULTENABLE = "com.ea.nimble.tracking.defaultEnable"; + public static final String NIMBLE_TRACKING_EVENT_IDENTITY_LOGIN = "NIMBLESTANDARD::IDENTITY_LOGIN"; + public static final String NIMBLE_TRACKING_EVENT_IDENTITY_LOGOUT = "NIMBLESTANDARD::IDENTITY_LOGOUT"; + public static final String NIMBLE_TRACKING_EVENT_IDENTITY_MIGRATION = "NIMBLESTANDARD::IDENTITY_MIGRATION"; + public static final String NIMBLE_TRACKING_EVENT_IDENTITY_MIGRATION_STARTED = "NIMBLESTANDARD::IDENTITY_MIGRATION_STARTED"; + public static final String NIMBLE_TRACKING_KEY_IDENTITY_MAP_SOURCE = "NIMBLESTANDARD::KEY_IDENTITY_SOURCE"; + public static final String NIMBLE_TRACKING_KEY_IDENTITY_MAP_TARGET = "NIMBLESTANDARD::KEY_IDENTITY_TARGET"; + public static final String NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGIN = "NIMBLESTANDARD::KEY_IDENTITY_PIDMAP_LOGIN"; + public static final String NIMBLE_TRACKING_KEY_IDENTITY_PIDMAP_LOGOUT = "NIMBLESTANDARD::KEY_IDENTITY_PIDMAP_LOGOUT"; + public static final String NIMBLE_TRACKING_KEY_MIGRATION_GAME_TRIGGERED = "NIMBLESTANDARD::KEY_MIGRATION_GAME_TRIGGERED"; + public static final String NIMBLE_TRACKING_KEY_PN_MESSAGEID = "NIMBLESTANDARD::KEY_PN_MESSAGE_ID"; + private static final String SESSION_END_EVENT_PREFIX = "SESSION_END"; + private static final String SESSION_START_EVENT_PREFIX = "SESSION_START"; + private static final String STANDARD_EVENT_PREFIX = "NIMBLESTANDARD::"; + + public static class Event { + Map parameters; + Date timestamp; + String type; + } + + public static ITracking getComponent() { + return (ITracking) Base.getComponent("com.ea.nimble.tracking"); + } + + private static void initialize() { + Log.Helper.LOGFUNCS("Tracking"); + Base.registerComponent(new TrackingWrangler(), "com.ea.nimble.tracking"); + } + + public static boolean isNimbleStandardEvent(String str) { + Log.Helper.LOGPUBLICFUNCS("Tracking"); + if (str == null) { + return false; + } + return str.startsWith(STANDARD_EVENT_PREFIX); + } + + public static boolean isSessionStartEvent(String str) { + Log.Helper.LOGPUBLICFUNCS("Tracking"); + if (str == null) { + return false; + } + return str.startsWith(APP_START_EVENT_PREFIX, STANDARD_EVENT_PREFIX.length()) || str.startsWith(APP_RESUME_EVENT_PREFIX, STANDARD_EVENT_PREFIX.length()) || str.startsWith(SESSION_START_EVENT_PREFIX, STANDARD_EVENT_PREFIX.length()); + } + + public static boolean isSessionEndEvent(String str) { + Log.Helper.LOGPUBLICFUNCS("Tracking"); + if (str == null) { + return false; + } + return str.startsWith(SESSION_END_EVENT_PREFIX, STANDARD_EVENT_PREFIX.length()); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/TrackingBaseSessionObject.java b/app/src/main/java/com/ea/nimble/tracking/TrackingBaseSessionObject.java new file mode 100644 index 0000000..7cf0e99 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/TrackingBaseSessionObject.java @@ -0,0 +1,51 @@ +package com.ea.nimble.tracking; + +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* loaded from: classes.dex */ +public class TrackingBaseSessionObject implements Externalizable { + private static final long serialVersionUID = 1; + public List> events; + public int repostCount; + public Map sessionData; + + public TrackingBaseSessionObject() { + this.events = new ArrayList(); + this.sessionData = new HashMap(); + this.repostCount = 0; + } + + public TrackingBaseSessionObject(Map map) { + this.events = new ArrayList(); + this.sessionData = map; + this.repostCount = 0; + } + + public int countOfEvents() { + if (this.events == null) { + return 0; + } + return this.events.size(); + } + + @Override // java.io.Externalizable + public void writeExternal(ObjectOutput objectOutput) throws IOException { + objectOutput.writeObject(this.events); + objectOutput.writeObject(this.sessionData); + objectOutput.writeInt(this.repostCount); + } + + @Override // java.io.Externalizable + public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException { + this.events = (List) objectInput.readObject(); + this.sessionData = (Map) objectInput.readObject(); + this.repostCount = objectInput.readInt(); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/TrackingEventWrangler.java b/app/src/main/java/com/ea/nimble/tracking/TrackingEventWrangler.java new file mode 100644 index 0000000..5d8944d --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/TrackingEventWrangler.java @@ -0,0 +1,272 @@ +package com.ea.nimble.tracking; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import com.ea.eadp.pushnotification.forwarding.GcmIntentService; +import com.ea.nimble.ApplicationEnvironment; +import com.ea.nimble.ApplicationLifecycle; +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.EASPDataLoader; +import com.ea.nimble.IApplicationLifecycle; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Persistence; +import com.ea.nimble.PersistenceService; +import com.ea.nimble.SynergyEnvironment; +import java.io.FileNotFoundException; +import java.util.HashMap; +import java.util.Map; + +/* loaded from: classes.dex */ +class TrackingEventWrangler extends Component implements IApplicationLifecycle.ApplicationLifecycleCallbacks, LogSource, IApplicationLifecycle.ActivityEventCallbacks { + private static final String APP_VERSION_PERSISTENCE_ID = "applicationBundleVersion"; + public static final String COMPONENT_ID = "com.ea.nimble.tracking.eventwrangler"; + private Intent m_newIntent; + private Long m_sessionStartTimestamp; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return COMPONENT_ID; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Tracking"; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onActivityResult(Activity activity, int i, int i2, Intent intent) { + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public boolean onBackPressed() { + return true; + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onWindowFocusChanged(boolean z) { + } + + private TrackingEventWrangler() { + } + + private static void initialize() { + Log.Helper.LOGFUNCS("TrackingEventWrangler"); + Base.registerComponent(new TrackingEventWrangler(), COMPONENT_ID); + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + ApplicationLifecycle.getComponent().registerApplicationLifecycleCallbacks(this); + ApplicationLifecycle.getComponent().registerActivityEventCallbacks(this); + } + + @Override // com.ea.nimble.Component + public void cleanup() { + Log.Helper.LOGPUBLICFUNC(this); + ApplicationLifecycle.getComponent().unregisterApplicationLifecycleCallbacks(this); + ApplicationLifecycle.getComponent().unregisterActivityEventCallbacks(this); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationLaunch(Intent intent) { + if (intent.getData() != null) { + logAndCheckEvent(Tracking.EVENT_APPSTART_FROMURL); + return; + } + if (intent.getStringExtra("PushNotification") != null) { + Log.Helper.LOGI(this, "Awesome. PN launched me", new Object[0]); + HashMap hashMap = new HashMap(); + addPushTNGTrackingParams(intent.getExtras(), hashMap); + if (hashMap.isEmpty()) { + logAndCheckEvent(Tracking.EVENT_APPSTART_FROMPUSH); + return; + } else { + logAndCheckEvent(Tracking.EVENT_APPSTART_FROMPUSH, hashMap); + return; + } + } + Persistence persistenceForNimbleComponent = PersistenceService.getPersistenceForNimbleComponent(COMPONENT_ID, Persistence.Storage.DOCUMENT); + String stringValue = persistenceForNimbleComponent.getStringValue(APP_VERSION_PERSISTENCE_ID); + if (stringValue == null) { + stringValue = PersistenceService.getPersistenceForNimbleComponent(COMPONENT_ID, Persistence.Storage.CACHE).getStringValue(APP_VERSION_PERSISTENCE_ID); + } + String applicationVersion = ApplicationEnvironment.getComponent().getApplicationVersion(); + Log.Helper.LOGD(this, "Current app version, %s. Cached app version, %s", applicationVersion, stringValue); + if (stringValue == null) { + persistenceForNimbleComponent.setValue(APP_VERSION_PERSISTENCE_ID, applicationVersion); + EASPDataLoader.EASPDataBuffer eASPDataBuffer = null; + try { + eASPDataBuffer = EASPDataLoader.loadDatFile(EASPDataLoader.getTrackingDatFilePath()); + } catch (FileNotFoundException unused) { + Log.Helper.LOGD(this, "No EASP tracking file.", new Object[0]); + } catch (Exception unused2) { + Log.Helper.LOGE(this, "Exception loading EASP tracking file.", new Object[0]); + } + if (eASPDataBuffer != null) { + Log.Helper.LOGD(this, "EASP tracking file found. Counting as app update.", new Object[0]); + logAndCheckEvent(Tracking.EVENT_APPSTART_AFTERUPGRADE); + return; + } else { + logAndCheckEvent(Tracking.EVENT_APPSTART_AFTERINSTALL); + return; + } + } + if (!stringValue.equals(applicationVersion)) { + persistenceForNimbleComponent.setValue(APP_VERSION_PERSISTENCE_ID, applicationVersion); + logAndCheckEvent(Tracking.EVENT_APPSTART_AFTERUPGRADE); + } else { + logAndCheckEvent(Tracking.EVENT_APPSTART_NORMAL); + } + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationSuspend() { + logAndCheckEvent(Tracking.EVENT_SESSION_END); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationResume() { + if (ApplicationEnvironment.getCurrentActivity().getIntent().getData() != null) { + logAndCheckEvent(Tracking.EVENT_APPRESUME_FROMURL); + return; + } + if (this.m_newIntent != null) { + if (this.m_newIntent.getData() != null) { + logAndCheckEvent(Tracking.EVENT_APPRESUME_FROMURL); + } else if (this.m_newIntent.getStringExtra("PushNotification") != null) { + HashMap hashMap = new HashMap(); + addPushTNGTrackingParams(this.m_newIntent.getExtras(), hashMap); + if (hashMap.isEmpty()) { + logAndCheckEvent(Tracking.EVENT_APPRESUME_FROMPUSH); + } else { + logAndCheckEvent(Tracking.EVENT_APPRESUME_FROMPUSH, hashMap); + } + } else { + logAndCheckEvent(Tracking.EVENT_APPRESUME_NORMAL); + } + this.m_newIntent = null; + return; + } + logAndCheckEvent(Tracking.EVENT_APPRESUME_NORMAL); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks + public void onApplicationQuit() { + logAndCheckEvent(Tracking.EVENT_SESSION_END); + } + + @Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks + public void onNewIntent(Activity activity, Intent intent) { + this.m_newIntent = intent; + } + + public void logAndCheckEvent(String str) { + Log.Helper.LOGPUBLICFUNC(this); + logAndCheckEvent(str, null); + } + + /* JADX WARN: Removed duplicated region for block: B:15:? A[RETURN, SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:9:0x008c */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private void logAndCheckEvent(java.lang.String r9, java.util.Map r10) { + /* + r8 = this; + com.ea.nimble.Log.Helper.LOGFUNC(r8) + java.lang.String r0 = "com.ea.nimble.tracking" + com.ea.nimble.Component r0 = com.ea.nimble.Base.getComponent(r0) + com.ea.nimble.tracking.TrackingWrangler r0 = (com.ea.nimble.tracking.TrackingWrangler) r0 + boolean r1 = com.ea.nimble.tracking.Tracking.isSessionStartEvent(r9) + r2 = 1 + r3 = 0 + if (r1 == 0) goto L34 + java.lang.Long r1 = r8.m_sessionStartTimestamp + if (r1 == 0) goto L1f + java.lang.String r1 = "Pre-existing session start timestamp found while logging new session start! Overwriting previous session start timestamp." + java.lang.Object[] r4 = new java.lang.Object[r3] + com.ea.nimble.Log.Helper.LOGE(r8, r1, r4) + goto L26 + L1f: + java.lang.String r1 = "Marking session start time." + java.lang.Object[] r4 = new java.lang.Object[r3] + com.ea.nimble.Log.Helper.LOGD(r8, r1, r4) + L26: + long r4 = java.lang.System.currentTimeMillis() + java.lang.Long r1 = java.lang.Long.valueOf(r4) + r8.m_sessionStartTimestamp = r1 + r0.setSessionState(r2) + goto L89 + L34: + java.lang.Long r1 = r8.m_sessionStartTimestamp + if (r1 != 0) goto L42 + java.lang.String r10 = "No current session. %s will not be logged." + java.lang.Object[] r0 = new java.lang.Object[r2] + r0[r3] = r9 + com.ea.nimble.Log.Helper.LOGE(r8, r10, r0) + return + L42: + boolean r1 = com.ea.nimble.tracking.Tracking.isSessionEndEvent(r9) + if (r1 == 0) goto L89 + long r4 = java.lang.System.currentTimeMillis() + java.lang.Long r1 = r8.m_sessionStartTimestamp + long r6 = r1.longValue() + long r4 = r4 - r6 + double r4 = (double) r4 + r6 = 4652007308841189376(0x408f400000000000, double:1000.0) + java.lang.Double.isNaN(r4) + double r4 = r4 / r6 + java.util.Locale r1 = java.util.Locale.US + java.lang.String r6 = "%.0f" + java.lang.Object[] r7 = new java.lang.Object[r2] + java.lang.Double r4 = java.lang.Double.valueOf(r4) + r7[r3] = r4 + java.lang.String r1 = java.lang.String.format(r1, r6, r7) + java.lang.String r4 = "Logging session time, %s seconds." + java.lang.Object[] r5 = new java.lang.Object[r2] + r5[r3] = r1 + com.ea.nimble.Log.Helper.LOGD(r8, r4, r5) + java.util.HashMap r4 = new java.util.HashMap + r4.() + java.lang.String r5 = "NIMBLESTANDARD::KEY_DURATION" + r4.put(r5, r1) + java.lang.String r1 = "NIMBLESTANDARD::SESSION_TIME" + r8.logAndCheckEvent(r1, r4) + r1 = 0 + r8.m_sessionStartTimestamp = r1 + goto L8a + L89: + r2 = 0 + L8a: + if (r0 == 0) goto L94 + r0.logEvent(r9, r10) + if (r2 == 0) goto L94 + r0.setSessionState(r3) + L94: + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.ea.nimble.tracking.TrackingEventWrangler.logAndCheckEvent(java.lang.String, java.util.Map):void"); + } + + private void addPushTNGTrackingParams(Bundle bundle, Map map) { + Log.Helper.LOGFUNC(this); + if (bundle == null || bundle.isEmpty()) { + return; + } + if (bundle.containsKey(GcmIntentService.PushIntentExtraKeys.PUSH_ID)) { + map.put("NIMBLESTANDARD::KEY_PN_MESSAGE_ID", bundle.getString(GcmIntentService.PushIntentExtraKeys.PUSH_ID)); + } + if (bundle.containsKey(GcmIntentService.PushIntentExtraKeys.PN_TYPE)) { + map.put(Tracking.KEY_PN_MESSAGE_TYPE, bundle.getString(GcmIntentService.PushIntentExtraKeys.PN_TYPE)); + } + if (map == null || map.isEmpty()) { + return; + } + map.put(Tracking.KEY_PN_DEVICE_ID, SynergyEnvironment.getComponent().getEADeviceId()); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/TrackingS2S.java b/app/src/main/java/com/ea/nimble/tracking/TrackingS2S.java new file mode 100644 index 0000000..0bc5083 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/TrackingS2S.java @@ -0,0 +1,10 @@ +package com.ea.nimble.tracking; + +/* loaded from: classes.dex */ +public class TrackingS2S { + public static final String EVENT_CUSTOM = "SYNERGYS2S::CUSTOM"; + + private static void initialize() { + NimbleTrackingS2SComponent.initialize(); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/TrackingSynergy.java b/app/src/main/java/com/ea/nimble/tracking/TrackingSynergy.java new file mode 100644 index 0000000..981f404 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/TrackingSynergy.java @@ -0,0 +1,10 @@ +package com.ea.nimble.tracking; + +/* loaded from: classes.dex */ +public class TrackingSynergy { + public static final String EVENT_CUSTOM = "SYNERGYTRACKING::CUSTOM"; + + private static void initialize() { + NimbleTrackingSynergyComponent.initialize(); + } +} diff --git a/app/src/main/java/com/ea/nimble/tracking/TrackingWrangler.java b/app/src/main/java/com/ea/nimble/tracking/TrackingWrangler.java new file mode 100644 index 0000000..1ed2224 --- /dev/null +++ b/app/src/main/java/com/ea/nimble/tracking/TrackingWrangler.java @@ -0,0 +1,140 @@ +package com.ea.nimble.tracking; + +import com.ea.nimble.Base; +import com.ea.nimble.Component; +import com.ea.nimble.IOperationalTelemetryDispatch; +import com.ea.nimble.Log; +import com.ea.nimble.LogSource; +import com.ea.nimble.Utility; +import java.util.Map; + +/* loaded from: classes.dex */ +public class TrackingWrangler extends Component implements ITracking, LogSource { + private boolean m_sessionIsActive = false; + private ITracking[] m_trackingComponents; + + @Override // com.ea.nimble.Component + public String getComponentId() { + return "com.ea.nimble.tracking"; + } + + @Override // com.ea.nimble.LogSource + public String getLogSourceTitle() { + return "Tracking"; + } + + @Override // com.ea.nimble.Component + public void restore() { + Log.Helper.LOGPUBLICFUNC(this); + Object[] componentList = Base.getComponentList("com.ea.nimble.trackingimpl"); + this.m_trackingComponents = new ITracking[componentList.length]; + for (int i = 0; i < componentList.length; i++) { + this.m_trackingComponents[i] = (ITracking) componentList[i]; + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void setEnable(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + StringBuilder sb = new StringBuilder(); + sb.append(z ? "ENABLE" : "DISABLE"); + sb.append(" tracking"); + Log.Helper.LOGD(this, sb.toString(), new Object[0]); + for (ITracking iTracking : this.m_trackingComponents) { + iTracking.setEnable(z); + } + if (z) { + ((TrackingEventWrangler) Base.getComponent(TrackingEventWrangler.COMPONENT_ID)).logAndCheckEvent(Tracking.EVENT_SESSION_START); + } + } + + public void setSessionState(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + this.m_sessionIsActive = z; + } + + @Override // com.ea.nimble.tracking.ITracking + public boolean getEnable() { + Log.Helper.LOGPUBLICFUNC(this); + boolean z = false; + for (ITracking iTracking : this.m_trackingComponents) { + z = z || iTracking.getEnable(); + } + return z; + } + + @Override // com.ea.nimble.tracking.ITracking + public boolean getPostEnable() { + Log.Helper.LOGPUBLICFUNC(this); + boolean z = false; + for (ITracking iTracking : this.m_trackingComponents) { + z = z || iTracking.getPostEnable(); + } + return z; + } + + @Override // com.ea.nimble.tracking.ITracking + public void setPostEnable(boolean z) { + Log.Helper.LOGPUBLICFUNC(this); + for (ITracking iTracking : this.m_trackingComponents) { + iTracking.setPostEnable(z); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void logEvent(String str, Map map) { + Log.Helper.LOGPUBLICFUNC(this); + if (!this.m_sessionIsActive) { + Log.Helper.LOGD(this, "Ignoring event %s because there is not an active session", str); + return; + } + Log.Helper.LOGD(this, "LogEvent type(%s) parameters(%s)", str, Utility.convertLiteralMapToString(map)); + for (ITracking iTracking : this.m_trackingComponents) { + iTracking.logEvent(str, map); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void addCustomSessionData(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + for (ITracking iTracking : this.m_trackingComponents) { + iTracking.addCustomSessionData(str, str2); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void removeCustomSessionData(String str) { + Log.Helper.LOGPUBLICFUNC(this); + for (ITracking iTracking : this.m_trackingComponents) { + iTracking.removeCustomSessionData(str); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void setTrackingAttribute(String str, String str2) { + Log.Helper.LOGPUBLICFUNC(this); + for (ITracking iTracking : this.m_trackingComponents) { + iTracking.setTrackingAttribute(str, str2); + } + } + + @Override // com.ea.nimble.tracking.ITracking + public void clearCustomSessionData() { + Log.Helper.LOGPUBLICFUNC(this); + } + + @Override // com.ea.nimble.tracking.ITracking + public String getSessionId() { + Log.Helper.LOGPUBLICFUNC(this); + NimbleTrackingSynergyComponent nimbleTrackingSynergyComponent = (NimbleTrackingSynergyComponent) Base.getComponent(IOperationalTelemetryDispatch.EVENTTYPE_TRACKING_SYNERGY_PAYLOADS); + if (nimbleTrackingSynergyComponent == null) { + return ""; + } + String sessionId = nimbleTrackingSynergyComponent.getSessionId(); + return Utility.validString(sessionId) ? sessionId : ""; + } + + static TrackingWrangler getComponent() { + return (TrackingWrangler) Tracking.getComponent(); + } +} diff --git a/app/src/main/java/com/eamobile/ADCTelemetry.java b/app/src/main/java/com/eamobile/ADCTelemetry.java new file mode 100644 index 0000000..74ef045 --- /dev/null +++ b/app/src/main/java/com/eamobile/ADCTelemetry.java @@ -0,0 +1,309 @@ +package com.eamobile; + +import android.os.Build; +import com.eamobile.download.Logging; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.util.Date; +import java.util.Queue; +import java.util.UUID; +import org.apache.http.HttpEntity; +import org.apache.http.HttpHeaders; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpUriRequest; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.params.HttpConnectionParams; +import org.apache.http.params.HttpParams; +import org.apache.http.protocol.HTTP; +import org.apache.http.util.EntityUtils; +import org.json.JSONException; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class ADCTelemetry { + public static final int CANCEL = 4; + public static final int COMPLETE = 1; + public static final int FAILED = 3; + public static final int RETRY = 2; + public static final int START = 0; + private static ADCTelemetry instance; + private DownloadActivityInternal downloadActivityInternal; + private String pathToQueue; + private Queue eventQueue = null; + private TelemetryQueueThread queueThread = null; + private boolean downloadStarted = false; + private String uniqueToken = UUID.randomUUID().toString(); + + public void onCreate(String str) { + } + + public void onDestroy() { + } + + private ADCTelemetry() { + this.downloadActivityInternal = null; + this.downloadActivityInternal = DownloadActivityInternal.getMainActivity(); + } + + public static synchronized ADCTelemetry getInstance() { + ADCTelemetry aDCTelemetry; + synchronized (ADCTelemetry.class) { + if (instance == null) { + instance = new ADCTelemetry(); + } + aDCTelemetry = instance; + } + return aDCTelemetry; + } + + public void sendTelemetry(int i) { + sendTelemetry(i, ""); + } + + public void sendTelemetry(int i, String str) { + if (i == 0) { + this.downloadActivityInternal.mDownloadActivity.onDownloadEvent(0); + } else if (i == 4) { + this.downloadActivityInternal.mDownloadActivity.onDownloadEvent(1); + } + } + + private void loadQueue(String str, Queue queue) { + Logging.DEBUG_OUT("ADCTelemetry - Loading queue."); + File file = new File(getQueueFileName(str)); + if (file.exists()) { + Logging.DEBUG_OUT("ADCTelemetry - Found queue file!."); + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file), 8192); + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine != null) { + Logging.DEBUG_OUT("ADCTelemetry - New queue line: " + readLine); + queue.add(new TelemetryQueueElement(Integer.parseInt(readLine.substring(0, 1)), readLine.substring(1))); + } else { + bufferedReader.close(); + Logging.DEBUG_OUT("ADCTelemetry - Done loading queue file!."); + return; + } + } + } catch (Exception unused) { + } + } else { + Logging.DEBUG_OUT("ADCTelemetry - Queue file doesn't exists."); + } + } + + private String getQueueFileName(String str) { + return str + "/queue.file"; + } + + private void saveQueue(String str, Queue queue) { + File file = new File(getQueueFileName(str)); + if (file.exists()) { + Logging.DEBUG_OUT("ADCTelemetry - Deleting queue file before saving the updated version."); + file.delete(); + } + try { + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(getQueueFileName(str), true), 8192); + TelemetryQueueElement poll = queue.poll(); + if (poll == null) { + Logging.DEBUG_OUT("ADCTelemetry - No events to save to the queue file"); + } + while (poll != null) { + String str2 = Integer.toString(poll.nrOfRetries) + poll.jsonEvent + "\n"; + Logging.DEBUG_OUT("ADCTelemetry - Saving line in queue file : " + str2); + bufferedWriter.write(str2); + poll = queue.poll(); + } + bufferedWriter.close(); + } catch (Exception unused) { + } + } + + private class TelemetrySendThread extends Thread { + private String jsonEvent; + private String message; + private int retries; + private int state; + + public TelemetrySendThread(int i, String str) { + this.jsonEvent = null; + this.state = i; + this.message = new Date(System.currentTimeMillis()).toString() + " : " + str; + } + + public TelemetrySendThread(String str, int i) { + this.jsonEvent = null; + this.jsonEvent = str; + this.retries = i; + } + + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + Logging.DEBUG_OUT("ADCTelemetry - Inside TelemetrySendThread - before web service call"); + if (this.jsonEvent == null) { + Logging.DEBUG_OUT("ADCTelemetry - Inside TelemetrySendThread calling sendHttpPost with retry = 0"); + sendHttpPost(createJSON(), 0); + } else { + Logging.DEBUG_OUT("ADCTelemetry - Inside TelemetrySendThread calling sendHttpPost with retry = " + Integer.toString(this.retries)); + sendHttpPost(this.jsonEvent, this.retries); + } + Logging.DEBUG_OUT("ADCTelemetry - Inside TelemetrySendThread - after web service call"); + } + + private void sendHttpPost(String str, int i) { + StringBuilder sb; + try { + try { + CloseableHttpClient defaultHttpClient = new DefaultHttpClient(); + HttpParams params = defaultHttpClient.getParams(); + HttpConnectionParams.setConnectionTimeout(params, 450); + HttpConnectionParams.setSoTimeout(params, 450); + HttpPost httpPost = new HttpPost(createURL()); + httpPost.setEntity(new StringEntity(str)); + httpPost.setHeader(HttpHeaders.ACCEPT, HTTP.PLAIN_TEXT_TYPE); + httpPost.setHeader("Content-type", "application/json"); + Logging.DEBUG_OUT("ADCTelemetry - Calling web service."); + HttpResponse execute = defaultHttpClient.execute((HttpUriRequest) httpPost); + int statusCode = execute.getStatusLine().getStatusCode(); + Logging.DEBUG_OUT("ADCTelemetry - Received status code " + Integer.toString(statusCode)); + boolean z = true; + if (statusCode == 200) { + HttpEntity entity = execute.getEntity(); + if (entity != null) { + String entityUtils = EntityUtils.toString(entity); + Logging.DEBUG_OUT("ADCTelemetry - Received body string " + entityUtils); + if (entityUtils.equals("OK")) { + z = false; + } else { + i++; + } + } else { + Logging.DEBUG_OUT("ADCTelemetry - Received empty body string"); + i++; + } + } + if (z && i < 5) { + Logging.DEBUG_OUT("ADCTelemetry - Send failed. Adding event to the queue."); + try { + ADCTelemetry.this.eventQueue.add(ADCTelemetry.this.new TelemetryQueueElement(i, str)); + } catch (Exception e) { + e = e; + sb = new StringBuilder(); + sb.append("ADCTelemetry - Received exception "); + sb.append(e.toString()); + Logging.DEBUG_OUT(sb.toString()); + } + } + } catch (Exception e2) { + Logging.DEBUG_OUT("ADCTelemetry - Received exception " + e2.toString()); + if (i < 5) { + Logging.DEBUG_OUT("ADCTelemetry - Send failed. Adding event to the queue."); + try { + ADCTelemetry.this.eventQueue.add(ADCTelemetry.this.new TelemetryQueueElement(i, str)); + } catch (Exception e3) { + e = e3; + sb = new StringBuilder(); + sb.append("ADCTelemetry - Received exception "); + sb.append(e.toString()); + Logging.DEBUG_OUT(sb.toString()); + } + } + } + } finally { + Logging.DEBUG_OUT("ADCTelemetry - Telemetry was send with success"); + } + } + + private String createURL() { + StringBuilder sb = new StringBuilder(); + DownloadActivityInternal unused = ADCTelemetry.this.downloadActivityInternal; + sb.append(DownloadActivityInternal.DOWNLOAD_URL); + sb.append("androidContentWS/cms/android/gameasset/application/telemetry?"); + sb.append(UUID.randomUUID().toString()); + String sb2 = sb.toString(); + Logging.DEBUG_OUT("ADCTelemetry - Web service url: " + sb2); + return sb2; + } + + private String createJSON() { + String str; + JSONObject jSONObject = new JSONObject(); + try { + jSONObject.put("token", ADCTelemetry.this.uniqueToken); + jSONObject.put("status", this.state); + jSONObject.put("errMsg", this.message); + if (this.state == 0) { + DownloadActivityInternal unused = ADCTelemetry.this.downloadActivityInternal; + jSONObject.put("prodID", DownloadActivityInternal.PRODUCT_ID); + DownloadActivityInternal unused2 = ADCTelemetry.this.downloadActivityInternal; + jSONObject.put("sellID", DownloadActivityInternal.MASTER_SELL_ID); + DownloadActivityInternal unused3 = ADCTelemetry.this.downloadActivityInternal; + jSONObject.put("language", DownloadActivityInternal.language.getCurrentLanguage()); + jSONObject.put("is3G", ADCTelemetry.this.downloadActivityInternal.is3G()); + jSONObject.put("device", ADCTelemetry.this.downloadActivityInternal.getDeviceString()); + jSONObject.put("firmware", Build.VERSION.RELEASE); + jSONObject.put("textureCompression", ADCTelemetry.this.downloadActivityInternal.glExtensions); + jSONObject.put("version", ADCTelemetry.this.downloadActivityInternal.getAPKVersion()); + DownloadActivityInternal unused4 = ADCTelemetry.this.downloadActivityInternal; + if (DownloadActivityInternal.MIN_ASSET_VERSION_REQUIRED == null) { + str = ""; + } else { + DownloadActivityInternal unused5 = ADCTelemetry.this.downloadActivityInternal; + str = DownloadActivityInternal.MIN_ASSET_VERSION_REQUIRED; + } + jSONObject.put("minVersion", str); + } + } catch (JSONException unused6) { + } + Logging.DEBUG_OUT("ADCTelemetry - The following JSON will be send: " + jSONObject.toString()); + return jSONObject.toString(); + } + } + + private class TelemetryQueueThread extends Thread { + private boolean running = true; + + private TelemetryQueueThread() { + } + + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + while (this.running) { + try { + TelemetryQueueElement telemetryQueueElement = (TelemetryQueueElement) ADCTelemetry.this.eventQueue.poll(); + if (telemetryQueueElement != null) { + Logging.DEBUG_OUT("ADCTelemetry - TelemetryQueueThread creating new TelemetrySendThread"); + ADCTelemetry.this.new TelemetrySendThread(telemetryQueueElement.jsonEvent, telemetryQueueElement.nrOfRetries).start(); + } + try { + sleep(1000L); + } catch (Exception unused) { + } + } catch (Exception e) { + Logging.DEBUG_OUT("ADCTelemetry - TelemetryQueueThread " + e.toString()); + } + } + } + + public synchronized void stopThread() { + this.running = false; + } + } + + private class TelemetryQueueElement { + public String jsonEvent; + public int nrOfRetries; + + public TelemetryQueueElement(int i, String str) { + this.nrOfRetries = i; + this.jsonEvent = str; + } + } +} diff --git a/app/src/main/java/com/eamobile/DownloadActivity.java b/app/src/main/java/com/eamobile/DownloadActivity.java new file mode 100644 index 0000000..89305fa --- /dev/null +++ b/app/src/main/java/com/eamobile/DownloadActivity.java @@ -0,0 +1,49 @@ +package com.eamobile; + +import android.app.Activity; +import android.content.Context; + +/* loaded from: classes.dex */ +public class DownloadActivity { + private DownloadActivityInternal mDownloadActivityInternal; + + public DownloadActivity(Context context) { + this.mDownloadActivityInternal = new DownloadActivityInternal(context); + } + + public DownloadActivity(Context context, String str) { + this.mDownloadActivityInternal = new DownloadActivityInternal(context, str); + } + + public void init(Activity activity, IDownloadActivity iDownloadActivity, Context context, Object obj) { + this.mDownloadActivityInternal.init(activity, iDownloadActivity, context, obj); + } + + public void onPause() { + this.mDownloadActivityInternal.onPause(); + } + + public void onResume() { + this.mDownloadActivityInternal.onResume(); + } + + public void onDestroy() { + this.mDownloadActivityInternal.onDestroy(); + } + + public void onWindowFocusChanged(boolean z) { + this.mDownloadActivityInternal.onWindowFocusChanged(z); + } + + public void destroyDownloadActvity() { + this.mDownloadActivityInternal.destroyDownloadActvity(); + } + + public void setAssetPath(String str) { + this.mDownloadActivityInternal.setAssetPath(str, true); + } + + public void setAssetPath(String str, boolean z) { + this.mDownloadActivityInternal.setAssetPath(str, z); + } +} diff --git a/app/src/main/java/com/eamobile/DownloadActivityInternal.java b/app/src/main/java/com/eamobile/DownloadActivityInternal.java new file mode 100644 index 0000000..9e1db9f --- /dev/null +++ b/app/src/main/java/com/eamobile/DownloadActivityInternal.java @@ -0,0 +1,2213 @@ +package com.eamobile; + +import android.app.Activity; +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.wifi.SupplicantState; +import android.net.wifi.WifiManager; +import android.os.Build; +import android.os.Environment; +import android.os.Handler; +import android.provider.Settings; +import android.support.v4.media.session.PlaybackStateCompat; +import android.telephony.TelephonyManager; +import android.util.DisplayMetrics; +import android.view.Display; +import com.eamobile.download.AssetManager; +import com.eamobile.download.Constants; +import com.eamobile.download.Device; +import com.eamobile.download.DownloadFileData; +import com.eamobile.download.DownloadProgress; +import com.eamobile.download.LocalZipExtractorEvent; +import com.eamobile.download.Logging; +import com.eamobile.download.MemoryStatus; +import com.eamobile.download.RemoteZipExtractorEvent; +import com.eamobile.download.ZipExtractor; +import com.eamobile.views.CheckUpdatesView; +import com.eamobile.views.CheckingHostIpView; +import com.eamobile.views.ContactingServerView; +import com.eamobile.views.CustomView; +import com.eamobile.views.DeletingAssetsView; +import com.eamobile.views.DownloadFailedView; +import com.eamobile.views.DownloadMsgView; +import com.eamobile.views.DownloadProgressView; +import com.eamobile.views.InvalidAssetVersionView; +import com.eamobile.views.NetworkUnavailableView; +import com.eamobile.views.ServerErrorView; +import com.eamobile.views.Show3GView; +import com.eamobile.views.ShowBGView; +import com.eamobile.views.ShowWifiView; +import com.eamobile.views.SpaceUnavailableView; +import com.eamobile.views.UnSupportedDeviceView; +import com.eamobile.views.UpdatesFoundView; +import com.facebook.internal.AnalyticsEvents; +import com.facebook.internal.ServerProtocol; +import com.facebook.places.model.PlaceFields; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.Hashtable; +import java.util.List; +import java.util.Properties; +import javax.microedition.khronos.opengles.GL10; +import javax.microedition.khronos.opengles.GL11; +import org.apache.http.HttpEntity; +import org.apache.http.HttpHeaders; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpUriRequest; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.params.BasicHttpParams; +import org.apache.http.params.HttpConnectionParams; +import org.apache.http.protocol.HTTP; +import org.json.JSONObject; + +/* loaded from: classes.dex */ +public class DownloadActivityInternal { + static final String DOWNLOAD_URL_CONFIG_FILE = "DownloadURL.indicate"; + public static final int ERROR_ASSETS_NOT_FOUND = 5002; + public static final int ERROR_CHECKSUM_MATCH_FAILED = -11; + public static final int ERROR_CHECKSUM_NOT_FOUND = -10; + public static final int ERROR_CONNECTION_UNAVAILABLE = -16; + public static final int ERROR_CORRUPTED_ZIP = -12; + public static final int ERROR_DOWNLOAD_TIMEOUT = -1; + public static final int ERROR_FILE_LIST_RETRIEVE_FAILED = -15; + public static final int ERROR_MISSING_CHECKSUMS = -13; + public static final int ERROR_UNEXPECTED_SERVER_ERROR = -14; + public static final int ERROR_UNSUPPORTED_ASSET_VERSION = -17; + public static final int ERROR_UNSUPPORTED_DEVICE = 5001; + private static final int ERROR_ZIP_CHECKSUM_MATCH_FAILED = -4; + private static final int ERROR_ZIP_CHECKSUM_NOT_FOUND = -3; + private static final int ERROR_ZIP_EXCEPTION = -1; + private static final int ERROR_ZIP_NO_ENTRIES = -2; + private static final int NO_ZIP_ERRORS = 1; + private static final String RESOURCES_PATH = "downloadcontent/"; + public static final int STATE_3G_UNAVAILABLE = 7; + public static final int STATE_BG_VIEW = 11; + public static final int STATE_CHECKING_HOST_IP = 15; + public static final int STATE_CHECK_UPDATES = 8; + public static final int STATE_CONTACTING_SERVER = 14; + public static final int STATE_DOWNLOADING_ASSETS = 2; + public static final int STATE_FAILURE = 5; + public static final int STATE_INVALID = -1; + public static final int STATE_SERVER_ERROR = 13; + public static final int STATE_SHOW_3G_DIALOG = 10; + public static final int STATE_SHOW_DELETING_ASSETS = 16; + public static final int STATE_SHOW_DOWNLOAD_MSG = 1; + public static final int STATE_SHOW_WIFI_DIALOG = 6; + public static final int STATE_SPACE_UNAVAILABLE = 4; + public static final int STATE_SUCCESS = 3; + public static final int STATE_UNSUPPORTED_DEVICE = 12; + public static final int STATE_UPDATES_FOUND = 9; + protected static DownloadProgress downloadProgress; + private static int height; + private static Activity instance; + private static boolean isInitialized; + protected static Language language; + private static int width; + private String activityAssetPath; + private boolean activityUseExternal; + private AssetManager assetManager; + String bgFileName; + private Bitmap bmpBg; + private boolean callSetAssetPathAux; + private CheckUpdatesView checkUpdatesView; + private CheckingHostIpView checkingHostIpView; + private boolean configLoaded; + private ContactingServerView contactingServerView; + private DeletingAssetsView deletingAssetsView; + private Device deviceFallback; + private DownloadFailedView downloadFailedView; + private DownloadFileData[] downloadFileData; + private DownloadMsgView downloadMsgView; + private DownloadProgressView downloadProgressView; + String glExtensions; + private InvalidAssetVersionView invalidAssetVersionView; + Context mContext; + IDownloadActivity mDownloadActivity; + Handler mHandler; + private String mLocale; + private NetworkUnavailableView networkUnavailableView; + private ArrayList overrideDevices; + private CustomView pCurrentView; + protected int percent_downloaded; + private ServerErrorView serverErrorView; + private Show3GView show3GView; + private ShowBGView showBGView; + private ShowWifiView showWifiView; + private SpaceUnavailableView spaceUnavailableView; + private UnSupportedDeviceView unSupportedDeviceView; + private UpdatesFoundView updatesFoundView; + private WifiReceiver wifiReceiver; + private static String[] STATE_STRINGS = {"", "STATE_SHOW_DOWNLOAD_MSG", "STATE_DOWNLOADING_ASSETS", "STATE_SUCCESS", "STATE_SPACE_UNAVAILABLE", "STATE_FAILURE", "STATE_SHOW_WIFI_DIALOG", "STATE_3G_UNAVAILABLE", "STATE_CHECK_UPDATES", "STATE_UPDATES_FOUND", "STATE_SHOW_3G_DIALOG", "STATE_BG_VIEW", "STATE_UNSUPPORTED_DEVICE", "STATE_SERVER_ERROR", "STATE_CONTACTING_SERVER", "STATE_CHECKING_HOST_IP", "STATE_SHOW_DELETING_ASSETS"}; + static String DOWNLOAD_URL = null; + static String MIN_ASSET_VERSION_REQUIRED = null; + static int MASTER_SELL_ID = 0; + static int TOTAL_SPACE_MB = 0; + static int TOTAL_SPACE_MB_MIN = 0; + static int PRODUCT_ID = 0; + static int TIMEOUT = 10000; + static int NUMBER_OF_HOURS_TO_UPDATE_CHECKING = 0; + static boolean UNCOMPRESS_ZIP_ON_DEVICE = false; + static boolean CUSTOM_PROGRESS_BAR = true; + static boolean USE_OLD_PROGRESS_BAR = false; + static boolean DISABLE_3G = false; + static boolean USE_INTERNAL_STORAGE = false; + private static boolean FORCE_WAKE_DURING_DOWNLOAD = false; + static boolean DO_NOT_OPEN_STORAGE_SETTINGS = false; + static boolean DELETE_ASSETS_ON_UPDATE = false; + static boolean UNSAFE_ASSET_DELETION_ON_UPDATE = false; + static boolean REDOWNLOAD_ON_SCREEN_SIZE_CHANGE = false; + static boolean ALTERNATIVE_DATA_FOLDER = false; + static boolean RETRIEVE_FULL_SCREEN_RESOLUTION = false; + private static boolean isDownloadRange = false; + private static int pState = -1; + private static int pStatePrev = -1; + private static int totalDownloadSizeMB = 0; + private static long spaceNeededToDownload = -1; + private static long spaceAvailableToDownload = -1; + private static String resolution = ""; + private static ArrayList mErrorList = new ArrayList<>(); + private static String[] EXPECTED_PERMISSIONS = {"android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.ACCESS_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.INTERNET", "android.permission.READ_PHONE_STATE", "android.permission.WAKE_LOCK"}; + private static volatile boolean changingState = false; + static DownloadActivityInternal mMainActivity = null; + static boolean unknownHostExceptionTryAgain = true; + + public static String getResourcesPath() { + return RESOURCES_PATH; + } + + protected static Activity getInstance() { + return instance; + } + + public static DownloadActivityInternal getMainActivity() { + return mMainActivity; + } + + public static boolean isInitialized() { + return isInitialized; + } + + private void printADCLibInfo() { + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("[ADC lib info]"); + if (Constants.ADC_BUILD_LOCAL.equalsIgnoreCase(ServerProtocol.DIALOG_RETURN_SCOPES_TRUE)) { + Logging.DEBUG_OUT("\t[WARNING] This version of ADC was built locally and should not be used in production."); + } + Logging.DEBUG_OUT("\tADC build version: @ADC_BUILD_VERSION_DYNAMIC_VALUE@"); + Logging.DEBUG_OUT("\tADC build time: @ADC_BUILD_TIME_DYNAMIC_VALUE@"); + Logging.DEBUG_OUT(" "); + } + + private void printDeviceAndAppInfo() { + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("[Device/App info]"); + Logging.DEBUG_OUT("\tDevice: " + getDeviceString()); + Logging.DEBUG_OUT("\tBrand: " + getBrand()); + Logging.DEBUG_OUT("\tAndroid Unique ID: " + getAndroidUniqueId()); + Logging.DEBUG_OUT("\tApplication name: " + getApplicationName()); + Logging.DEBUG_OUT("\tAPK version: " + getAPKVersion()); + Logging.DEBUG_OUT(" "); + } + + public DownloadActivityInternal(Context context) { + this(context, "title.png"); + } + + public DownloadActivityInternal(Context context, String str) { + this.overrideDevices = new ArrayList<>(); + this.deviceFallback = null; + this.downloadFileData = null; + this.mLocale = "en"; + this.percent_downloaded = 0; + this.mDownloadActivity = null; + this.glExtensions = null; + this.bmpBg = null; + this.callSetAssetPathAux = false; + this.activityAssetPath = ""; + this.activityUseExternal = false; + this.configLoaded = false; + Logging.DEBUG_INIT(); + this.mHandler = new Handler(); + if (mMainActivity == null) { + mMainActivity = this; + } + if (this.assetManager == null) { + this.assetManager = new AssetManager(); + } + this.mContext = context; + this.bgFileName = str; + Logging.DEBUG_OUT("DownloadActivityInternal.init()"); + initScreens(context); + } + + public void setAssetPath(String str, boolean z) { + if (this.configLoaded) { + setAssetPathAux(str, z); + return; + } + this.callSetAssetPathAux = true; + this.activityAssetPath = str; + this.activityUseExternal = z; + } + + private void setAssetPathAux(String str, boolean z) { + String str2 = ""; + String str3 = ""; + String absolutePath = Environment.getExternalStorageDirectory().getAbsolutePath(); + String absolutePath2 = this.mContext.getFilesDir().getAbsolutePath(); + String str4 = null; + if (USE_INTERNAL_STORAGE) { + str2 = "" + this.mContext.getFilesDir().getAbsolutePath(); + str3 = "" + absolutePath2; + } else if (z) { + str2 = "" + absolutePath; + str3 = "" + absolutePath2; + } else { + Logging.DEBUG_OUT("User entered an absolute path."); + if (str.startsWith(absolutePath)) { + USE_INTERNAL_STORAGE = false; + str4 = str.replaceFirst(absolutePath, absolutePath2); + } else if (str.startsWith(absolutePath2)) { + USE_INTERNAL_STORAGE = true; + str4 = str.replaceFirst(absolutePath2, absolutePath); + } + } + if (str != null) { + str2 = str2 + str; + } + this.assetManager.setAssetPath(str2); + if (ALTERNATIVE_DATA_FOLDER) { + if (str4 == null) { + str4 = str3 + str; + } + this.assetManager.setAlternativeAssetPath(str4); + Logging.DEBUG_OUT("\tsetAlternativeAssetPath(), mAlternativeAssetPath = " + str4); + } + Logging.DEBUG_OUT("\tsetAssetPath(), mAssetPath = " + str2); + } + + public void init(Activity activity, IDownloadActivity iDownloadActivity, Context context, Object obj) { + Logging.DEBUG_OUT("Calling: DownloadActivityInternal init()"); + this.mContext = context; + if (instance == null) { + instance = activity; + this.mDownloadActivity = iDownloadActivity; + } + printADCLibInfo(); + printDeviceAndAppInfo(); + loadConfigProperties(); + loadOverrides(); + checkPermissions(); + checkLanguageChange(); + checkBackgroundImage(); + if (downloadProgress == null) { + downloadProgress = new DownloadProgress(); + } + if (obj != null) { + try { + if (obj instanceof GL10) { + this.glExtensions = ((GL10) obj).glGetString(7939); + } else if (obj instanceof GL11) { + this.glExtensions = ((GL11) obj).glGetString(7939); + } + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while trying to get GL Extensions:" + e); + } + } + if (this.wifiReceiver == null) { + this.wifiReceiver = new WifiReceiver(); + instance.registerReceiver(this.wifiReceiver, new IntentFilter("android.net.wifi.RSSI_CHANGED")); + this.wifiReceiver.updateWifiInfo(); + } + if (!isInitialized) { + boolean z = true; + isInitialized = true; + if (ALTERNATIVE_DATA_FOLDER) { + this.assetManager.useAlternativeAssetPath(false); + if (!this.assetManager.assetsFoundLocally()) { + this.assetManager.useAlternativeAssetPath(true); + if (!this.assetManager.assetsFoundLocally()) { + this.assetManager.useAlternativeAssetPath(false); + z = false; + } + } + } else { + z = this.assetManager.assetsFoundLocally(); + } + ADCTelemetry.getInstance().onCreate(this.assetManager.getAssetPath()); + if (z) { + if (shouldSkipUpdateCheck()) { + setState(11); + return; + } else { + setState(14); + return; + } + } + setState(14); + return; + } + setState(pState); + } + + private boolean shouldSkipUpdateCheck() { + Logging.DEBUG_OUT("DownloadActivityInternal shouldSkipUpdateCheck()"); + if (NUMBER_OF_HOURS_TO_UPDATE_CHECKING > 0) { + Properties loadAssetInfo = this.assetManager.loadAssetInfo(); + if (loadAssetInfo != null) { + String property = loadAssetInfo.getProperty("updateCheckLastTime"); + if (property != null) { + try { + long parseLong = Long.parseLong(property); + Logging.DEBUG_OUT("Last time checked for update: " + parseLong); + long time = new Date().getTime(); + Logging.DEBUG_OUT("Current time: " + time); + long j = time - parseLong; + if (j < 0) { + Logging.DEBUG_OUT("Time travel not allowed!"); + return false; + } + int i = (int) (j / 3600000); + Logging.DEBUG_OUT("Number of hours since last update checking: " + i); + Logging.DEBUG_OUT("Number of hours needed: " + NUMBER_OF_HOURS_TO_UPDATE_CHECKING); + return i < NUMBER_OF_HOURS_TO_UPDATE_CHECKING; + } catch (Exception e) { + Logging.DEBUG_OUT_STACK(e); + return false; + } + } + Logging.DEBUG_OUT("Property updateCheckLastTime not found."); + return false; + } + Logging.DEBUG_OUT("AssetInfo file could not be read."); + return false; + } + Logging.DEBUG_OUT("NUMBER_OF_HOURS_TO_UPDATE_CHECKING not defined or invalid."); + return false; + } + + public boolean chooseAvailableMemory() { + if (ALTERNATIVE_DATA_FOLDER) { + if (isSpaceAvailableForDownload()) { + this.assetManager.useAlternativeAssetPath(false); + Logging.DEBUG_OUT("Memory space is available in main location."); + return true; + } + if (isSpaceAvailableForAlternativeDownload()) { + this.assetManager.useAlternativeAssetPath(true); + Logging.DEBUG_OUT("Memory space is available only in alternative location."); + return true; + } + Logging.DEBUG_OUT("Memory space is not available."); + return false; + } + return isSpaceAvailableForDownload(); + } + + public void checkServerContent(Boolean bool) { + boolean z = false; + int updateDownloadFilesData = getMainActivity().updateDownloadFilesData(false); + if ((updateDownloadFilesData == 5001 || updateDownloadFilesData == 5002) && this.deviceFallback != null) { + updateDownloadFilesData = getMainActivity().updateDownloadFilesData(true); + } + if (this.downloadFileData != null && spaceNeededToDownload > 0) { + spaceNeededToDownload -= this.assetManager.getTotalSize(this.assetManager.getDownloadList(this.downloadFileData)); + } + if (ALTERNATIVE_DATA_FOLDER) { + this.assetManager.useAlternativeAssetPath(false); + if (!this.assetManager.assetsFoundLocally()) { + this.assetManager.useAlternativeAssetPath(true); + if (!this.assetManager.assetsFoundLocally()) { + this.assetManager.useAlternativeAssetPath(false); + } + } + z = true; + } else { + z = this.assetManager.assetsFoundLocally(); + } + if (!z) { + Logging.DEBUG_OUT("Assets not found on the device. ADC will try to download from the server."); + if (updateDownloadFilesData != 0) { + recordError(updateDownloadFilesData); + if (updateDownloadFilesData == 5001) { + Logging.DEBUG_OUT("[ERROR] Unsupported device: unable to find assets"); + Logging.DEBUG_OUT("\tfor resolution: " + resolution); + Logging.DEBUG_OUT("\ton server: " + DOWNLOAD_URL); + setState(12); + return; + } + if (updateDownloadFilesData == -15) { + Logging.DEBUG_OUT("[ERROR] Failed to retrieve download file list"); + if (bool.booleanValue()) { + Logging.DEBUG_OUT("Ignoring ERROR_FILE_LIST_RETRIEVE_FAILED and going to STATE_SHOW_WIFI_DIALOG."); + setState(6); + return; + } + } else { + Logging.DEBUG_OUT("[ERROR] Error from Server: " + updateDownloadFilesData); + } + this.serverErrorView.setErrorCode(updateDownloadFilesData); + setState(13); + return; + } + if (!chooseAvailableMemory()) { + setState(4); + return; + } else { + if (getState() != 2) { + setState(1); + return; + } + return; + } + } + Logging.DEBUG_OUT("checkServerContent(): assets found on the device."); + if (updateDownloadFilesData == 0) { + long time = new Date().getTime(); + Logging.DEBUG_OUT("Saving update checking timestamp: " + time); + Properties loadAssetInfo = this.assetManager.loadAssetInfo(); + if (loadAssetInfo == null) { + loadAssetInfo = new Properties(); + } + loadAssetInfo.setProperty("updateCheckLastTime", "" + time); + this.assetManager.saveAssetInfo(loadAssetInfo); + setState(8); + return; + } + if (updateDownloadFilesData == -15) { + Logging.DEBUG_OUT("[ERROR] Failed to retrieve download file list."); + } else if (updateDownloadFilesData == 5001 || updateDownloadFilesData == 5002) { + Logging.DEBUG_OUT("[ERROR] Assets found on the device but server returned error code " + updateDownloadFilesData + " while checking for assets."); + } + setState(11); + } + + public boolean useCustomProgressBar() { + return CUSTOM_PROGRESS_BAR; + } + + public boolean useOldProgressBar() { + return USE_OLD_PROGRESS_BAR; + } + + public boolean is3GDisabled() { + return DISABLE_3G; + } + + public boolean isAmazonDevice() { + return getManufacturer().equalsIgnoreCase("amazon"); + } + + private String getResolutionUsingDisplayMetrics() { + Logging.DEBUG_OUT("Calling getResolutionUsingDisplayMetrics()..."); + DisplayMetrics displayMetrics = new DisplayMetrics(); + instance.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + Logging.DEBUG_OUT("displayMetrics: " + displayMetrics.toString()); + width = displayMetrics.widthPixels; + height = displayMetrics.heightPixels; + return width + "x" + height; + } + + private String getResolutionUsingUndocumentedMethods() { + Logging.DEBUG_OUT("Calling getResolutionUsingUndocumentedMethods()..."); + try { + Display defaultDisplay = instance.getWindowManager().getDefaultDisplay(); + Method method = Display.class.getMethod("getRawWidth", new Class[0]); + Method method2 = Display.class.getMethod("getRawHeight", new Class[0]); + width = ((Integer) method.invoke(defaultDisplay, new Object[0])).intValue(); + height = ((Integer) method2.invoke(defaultDisplay, new Object[0])).intValue(); + if (instance.getRequestedOrientation() == 0) { + if (width < height) { + int i = width; + width = height; + height = i; + } + } else if (width > height) { + int i2 = width; + width = height; + height = i2; + } + return width + "x" + height; + } catch (IllegalAccessException e) { + Logging.DEBUG_OUT("An IllegalAccessException exception occurred in getResolutionUsingUndocumentedMethods()."); + Logging.DEBUG_OUT_STACK(e); + return null; + } catch (IllegalArgumentException e2) { + Logging.DEBUG_OUT("An IllegalArgumentException exception occurred in getResolutionUsingUndocumentedMethods()."); + Logging.DEBUG_OUT_STACK(e2); + return null; + } catch (NoSuchMethodException e3) { + Logging.DEBUG_OUT("A NoSuchMethodException exception occurred in getResolutionUsingUndocumentedMethods()."); + Logging.DEBUG_OUT_STACK(e3); + return null; + } catch (InvocationTargetException e4) { + Logging.DEBUG_OUT("An InvocationTargetException exception occurred in getResolutionUsingUndocumentedMethods()."); + Logging.DEBUG_OUT_STACK(e4); + return null; + } catch (Exception e5) { + Logging.DEBUG_OUT("An Exception exception occurred in getResolutionUsingUndocumentedMethods()."); + Logging.DEBUG_OUT_STACK(e5); + return null; + } + } + + private String getResolution() { + Device device = getDevice(getModel()); + if (device != null) { + return device.getResolutionString(); + } + String resolutionUsingUndocumentedMethods = RETRIEVE_FULL_SCREEN_RESOLUTION ? getResolutionUsingUndocumentedMethods() : null; + if (resolutionUsingUndocumentedMethods == null) { + resolutionUsingUndocumentedMethods = getResolutionUsingDisplayMetrics(); + } + if (instance.getRequestedOrientation() == 0) { + Logging.DEBUG_OUT("SCREEN_ORIENTATION_LANDSCAPE"); + } else { + Logging.DEBUG_OUT("SCREEN_ORIENTATION_PORTRAIT"); + } + return resolutionUsingUndocumentedMethods; + } + + private Device getDevice(String str) { + if (this.overrideDevices == null) { + return null; + } + for (int i = 0; i < this.overrideDevices.size(); i++) { + Device device = this.overrideDevices.get(i); + if (device.getName().equals(str)) { + return device; + } + } + return null; + } + + public WifiReceiver getWifiReceiver() { + return this.wifiReceiver; + } + + private void unregisterWifiReceiver() { + try { + try { + if (this.wifiReceiver != null) { + instance.unregisterReceiver(this.wifiReceiver); + } + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while unregistering WifiReceiver."); + Logging.DEBUG_OUT_STACK(e); + } + } finally { + this.wifiReceiver = null; + } + } + + protected long calculateDownloaded(File file) { + long length; + File[] listFiles = file.listFiles(); + long j = 0; + if (listFiles == null) { + return 0L; + } + for (int i = 0; i < listFiles.length; i++) { + if (listFiles[i].isDirectory()) { + length = calculateDownloaded(listFiles[i]); + } else { + length = listFiles[i].length(); + } + j += length; + } + return j; + } + + protected boolean isSpaceAvailableForDownload() { + long availableExternalMemorySize; + long j = spaceNeededToDownload; + if (j <= 0) { + long calculateDownloaded = ((TOTAL_SPACE_MB * PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) * PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) - calculateDownloaded(new File(this.assetManager.getAssetPath())); + j = calculateDownloaded > 0 ? calculateDownloaded : PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED; + spaceNeededToDownload = j; + } + if (USE_INTERNAL_STORAGE) { + availableExternalMemorySize = MemoryStatus.getAvailableInternalMemorySize(); + Logging.DEBUG_OUT("Using main location: Internal Storage is " + availableExternalMemorySize); + } else { + availableExternalMemorySize = MemoryStatus.getAvailableExternalMemorySize(); + Logging.DEBUG_OUT("Using main location: External Storage is " + availableExternalMemorySize); + } + return availableExternalMemorySize >= j; + } + + protected boolean isSpaceAvailableForAlternativeDownload() { + long availableInternalMemorySize; + long j = spaceNeededToDownload; + if (j <= 0) { + long calculateDownloaded = ((TOTAL_SPACE_MB * PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) * PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) - calculateDownloaded(new File(this.assetManager.getAssetPath())); + j = calculateDownloaded > 0 ? calculateDownloaded : PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED; + spaceNeededToDownload = j; + } + if (USE_INTERNAL_STORAGE) { + availableInternalMemorySize = MemoryStatus.getAvailableExternalMemorySize(); + Logging.DEBUG_OUT("Using alternative location: External Storage is " + availableInternalMemorySize); + } else { + availableInternalMemorySize = MemoryStatus.getAvailableInternalMemorySize(); + Logging.DEBUG_OUT("Using alternative location: Internal Storage is " + availableInternalMemorySize); + } + return availableInternalMemorySize >= j; + } + + public boolean checkForUpdates() { + if (ALTERNATIVE_DATA_FOLDER) { + this.assetManager.useAlternativeAssetPath(false); + if (this.assetManager.assetsFoundLocally() && !this.assetManager.checkForUpdates(this.downloadFileData)) { + Logging.DEBUG_OUT("Assets on main location and update NOT found."); + return false; + } + this.assetManager.useAlternativeAssetPath(true); + if (this.assetManager.assetsFoundLocally()) { + if (this.assetManager.checkForUpdates(this.downloadFileData)) { + Logging.DEBUG_OUT("Assets on alternative location and update found."); + return true; + } + Logging.DEBUG_OUT("Assets on alternative location and no update NOT found."); + return false; + } + Logging.DEBUG_OUT("[ERROR] Something very wrong happened: assets have been found previously, but cannot be found anymore."); + this.assetManager.useAlternativeAssetPath(false); + return true; + } + return this.assetManager.checkForUpdates(this.downloadFileData); + } + + private void checkBackgroundImage() { + Logging.DEBUG_OUT("Calling: DownloadActivityInternal checkBackgroundImage()"); + if (this.mContext == null || getBackgroundBitmap() != null) { + return; + } + try { + InputStream open = this.mContext.getAssets().open(getResourcesPath() + this.bgFileName); + if (open != null) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inTempStorage = new byte[4096]; + setBackgroundBitmap(Bitmap.createBitmap(BitmapFactory.decodeStream(open, null, options))); + open.close(); + } + Logging.DEBUG_OUT("\tCreating background image"); + } catch (IOException unused) { + setBackgroundBitmap(null); + } + } + + private void checkLanguageChange() { + Logging.DEBUG_OUT("Calling: DownloadActivityInternal checkLanguageChange()"); + if (this.mContext == null || this.mContext.getResources().getConfiguration().locale.toString().equalsIgnoreCase(this.mLocale)) { + return; + } + language = new Language(); + this.mLocale = this.mContext.getResources().getConfiguration().locale.toString(); + String language2 = this.mContext.getResources().getConfiguration().locale.getLanguage(); + Logging.DEBUG_OUT("\tLocale: " + this.mLocale); + Logging.DEBUG_OUT("\tLanguage: " + language2); + if (language.loadStrings(this.mLocale) || language.loadStrings(language2)) { + return; + } + this.mLocale = "en"; + language.loadStrings("en"); + } + + public void onPause() { + Logging.DEBUG_OUT("DownloadActivityInternal.onPause()"); + if (this.pCurrentView != null) { + this.pCurrentView.pause(); + } + } + + public void startWifiDownload(final boolean z) { + Thread thread = new Thread() { // from class: com.eamobile.DownloadActivityInternal.1 + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + while (DownloadActivityInternal.changingState) { + } + if (DownloadActivityInternal.this.isWifiAvailable()) { + Logging.DEBUG_OUT("checking wifi: OK"); + if (z) { + DownloadActivityInternal.this.cleanState(6); + if (DownloadActivityInternal.getTotalDownloadSizeMB() == 0) { + DownloadActivityInternal.this.setState(14); + return; + } else { + DownloadActivityInternal.this.setState(2); + return; + } + } + DownloadActivityInternal.this.setState(2); + return; + } + Logging.DEBUG_OUT("checking wifi: FAILED"); + if (z) { + DownloadActivityInternal.this.resumeState(6); + } else { + DownloadActivityInternal.this.setState(6); + } + } + }; + Logging.DEBUG_OUT("startWifiDownload"); + setState(15); + thread.start(); + } + + public void onResume() { + Logging.DEBUG_OUT("DownloadActivityInternal.onResume()"); + if (getState() == 6) { + startWifiDownload(true); + return; + } + if (getState() == 4) { + if (chooseAvailableMemory()) { + cleanState(4); + if (!this.assetManager.assetsFoundLocally()) { + setState(1); + return; + } else { + setState(8); + return; + } + } + resumeState(4); + return; + } + resumeState(getState()); + } + + public void onWindowFocusChanged(boolean z) { + Logging.DEBUG_OUT("DownloadActivityInternal.onWindowFocusChanged(focus == " + z + ")"); + if (instance != null) { + instance.getWindow().getDecorView().setSystemUiVisibility(5894); + } + } + + protected void initScreens(Context context) { + if (this.downloadMsgView == null) { + this.downloadMsgView = new DownloadMsgView(context); + } + if (this.showWifiView == null) { + this.showWifiView = new ShowWifiView(context); + } + if (this.networkUnavailableView == null) { + this.networkUnavailableView = new NetworkUnavailableView(context); + } + if (this.downloadProgressView == null) { + this.downloadProgressView = new DownloadProgressView(context); + } + if (this.downloadFailedView == null) { + this.downloadFailedView = new DownloadFailedView(context); + } + if (this.spaceUnavailableView == null) { + this.spaceUnavailableView = new SpaceUnavailableView(context); + } + if (this.checkUpdatesView == null) { + this.checkUpdatesView = new CheckUpdatesView(context); + } + if (this.updatesFoundView == null) { + this.updatesFoundView = new UpdatesFoundView(context); + } + if (this.show3GView == null) { + this.show3GView = new Show3GView(context); + } + if (this.showBGView == null) { + this.showBGView = new ShowBGView(context); + } + if (this.unSupportedDeviceView == null) { + this.unSupportedDeviceView = new UnSupportedDeviceView(context); + } + if (this.serverErrorView == null) { + this.serverErrorView = new ServerErrorView(context); + } + if (this.contactingServerView == null) { + this.contactingServerView = new ContactingServerView(context); + } + if (this.checkingHostIpView == null) { + this.checkingHostIpView = new CheckingHostIpView(context); + } + if (this.invalidAssetVersionView == null) { + this.invalidAssetVersionView = new InvalidAssetVersionView(context); + } + if (this.deletingAssetsView == null) { + this.deletingAssetsView = new DeletingAssetsView(context); + } + } + + public static long getSizeDownloaded() { + return downloadProgress.getSizeDownloaded(); + } + + public static long getRealDownloaded() { + return downloadProgress.getRealDownloaded(); + } + + public static boolean getFlagLastReportDownload() { + return downloadProgress.getFlagLastReportDownload(); + } + + public static void setFlagLastReportDownload(boolean z) { + downloadProgress.setFlagLastReportDownload(z); + } + + public int getPercentDownloaded() { + double sizeDownloaded = ((getSizeDownloaded() / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / totalDownloadSizeMB; + if (this.percent_downloaded < 100) { + Double.isNaN(sizeDownloaded); + this.percent_downloaded = (int) (sizeDownloaded * 100.0d); + } else { + this.percent_downloaded = 100; + } + return this.percent_downloaded; + } + + public boolean checkLocalAssetVersion() { + if (MIN_ASSET_VERSION_REQUIRED != null) { + return this.assetManager.isAssetVersionCompatible(MIN_ASSET_VERSION_REQUIRED); + } + return true; + } + + public void setState(int i) { + try { + switch (i) { + case 1: + this.pCurrentView = this.downloadMsgView; + break; + case 2: + this.pCurrentView = this.downloadProgressView; + break; + case 3: + if (checkLocalAssetVersion()) { + Logging.DEBUG_OUT("onResult assetPath = " + this.assetManager.getAssetPath() + " result = -1"); + this.mDownloadActivity.onResult(this.assetManager.getAssetPath(), -1); + ADCTelemetry.getInstance().sendTelemetry(1); + try { + Thread.sleep(1000L); + } catch (Exception unused) { + } + ADCTelemetry.getInstance().onDestroy(); + Logging.DEBUG_CLOSE(); + return; + } + this.pCurrentView = this.invalidAssetVersionView; + break; + case 4: + this.pCurrentView = this.spaceUnavailableView; + break; + case 5: + this.downloadFailedView.setErrorCode(getLastError()); + ADCTelemetry.getInstance().sendTelemetry(3, "MINOR ERROR - error code=" + Integer.toString(getLastError())); + this.pCurrentView = this.downloadFailedView; + break; + case 6: + this.pCurrentView = this.showWifiView; + break; + case 7: + this.pCurrentView = this.networkUnavailableView; + break; + case 8: + this.pCurrentView = this.checkUpdatesView; + break; + case 9: + this.pCurrentView = this.updatesFoundView; + break; + case 10: + this.pCurrentView = this.show3GView; + break; + case 11: + this.pCurrentView = this.showBGView; + break; + case 12: + ADCTelemetry.getInstance().sendTelemetry(3, "CRITICAL ERROR - error code=" + Integer.toString(getLastError())); + this.pCurrentView = this.unSupportedDeviceView; + break; + case 13: + ADCTelemetry.getInstance().sendTelemetry(3, "CRITICAL ERROR - error code=" + Integer.toString(getLastError())); + this.pCurrentView = this.serverErrorView; + break; + case 14: + this.pCurrentView = this.contactingServerView; + break; + case 15: + this.pCurrentView = this.checkingHostIpView; + break; + case 16: + this.pCurrentView = this.deletingAssetsView; + break; + } + Runnable runnable = new Runnable() { // from class: com.eamobile.DownloadActivityInternal.2 + @Override // java.lang.Runnable + public void run() { + Logging.DEBUG_OUT("DownloadActivityInternal setState - Making a new runnable to init."); + if (DownloadActivityInternal.instance != null && DownloadActivityInternal.this.pCurrentView != null) { + DownloadActivityInternal.instance.runOnUiThread(new Runnable() { // from class: com.eamobile.DownloadActivityInternal.2.1 + @Override // java.lang.Runnable + public void run() { + Logging.DEBUG_OUT("setState: pCurrentView = " + DownloadActivityInternal.this.pCurrentView); + Logging.DEBUG_OUT("setState: before calling pCurrentView.init()"); + DownloadActivityInternal.this.pCurrentView.init(); + Logging.DEBUG_OUT("setState: after calling pCurrentView.init()"); + DownloadActivityInternal.instance.setContentView(DownloadActivityInternal.this.pCurrentView); + Logging.DEBUG_OUT("setState: after calling setContentView"); + } + }); + } + boolean unused2 = DownloadActivityInternal.changingState = false; + } + }; + changingState = true; + this.mHandler.postDelayed(runnable, 20L); + pStatePrev = pState; + pState = i; + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred in setState:"); + Logging.DEBUG_OUT_STACK(e); + } + } + + public void resumeState(int i) { + StringBuilder sb = new StringBuilder(); + sb.append("DownloadActivityInternal resumeState: "); + sb.append(i == -1 ? "STATE_INVALID" : STATE_STRINGS[i]); + Logging.DEBUG_OUT(sb.toString()); + try { + switch (i) { + case 1: + this.pCurrentView = this.downloadMsgView; + break; + case 2: + this.pCurrentView = this.downloadProgressView; + break; + case 3: + if (checkLocalAssetVersion()) { + Logging.DEBUG_OUT("onResult assetPath = " + this.assetManager.getAssetPath() + " result = -1"); + this.mDownloadActivity.onResult(this.assetManager.getAssetPath(), -1); + Logging.DEBUG_CLOSE(); + return; + } + this.pCurrentView = this.invalidAssetVersionView; + break; + case 4: + this.pCurrentView = this.spaceUnavailableView; + break; + case 5: + this.pCurrentView = this.downloadFailedView; + break; + case 6: + this.pCurrentView = this.showWifiView; + break; + case 7: + this.pCurrentView = this.networkUnavailableView; + break; + case 8: + this.pCurrentView = this.checkUpdatesView; + break; + case 9: + this.pCurrentView = this.updatesFoundView; + break; + case 10: + this.pCurrentView = this.show3GView; + break; + case 11: + this.pCurrentView = this.showBGView; + break; + case 12: + this.pCurrentView = this.unSupportedDeviceView; + break; + case 13: + this.pCurrentView = this.serverErrorView; + break; + case 14: + this.pCurrentView = this.contactingServerView; + break; + case 15: + this.pCurrentView = this.checkingHostIpView; + break; + case 16: + this.pCurrentView = this.deletingAssetsView; + break; + } + this.mHandler.postDelayed(new Runnable() { // from class: com.eamobile.DownloadActivityInternal.3 + @Override // java.lang.Runnable + public void run() { + Logging.DEBUG_OUT("DownloadActivityInternal resumeState - Making a new runnable to resume."); + if (DownloadActivityInternal.instance == null || DownloadActivityInternal.this.pCurrentView == null) { + return; + } + Logging.DEBUG_OUT("resumeState: pCurrentView = " + DownloadActivityInternal.this.pCurrentView); + Logging.DEBUG_OUT("resumeState: before calling pCurrentView.resume()"); + DownloadActivityInternal.this.pCurrentView.resume(); + Logging.DEBUG_OUT("resumeState: after calling pCurrentView.resume()"); + } + }, 20L); + pState = i; + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while resuming State:"); + Logging.DEBUG_OUT_STACK(e); + } + } + + public int getState() { + return pState; + } + + public String getStateName() { + return pState != -1 ? STATE_STRINGS[pState] : "STATE_INVALID"; + } + + protected int getPreviousState() { + return pStatePrev; + } + + public void onDestroy() { + Logging.DEBUG_OUT("DownloadActivityInternal.onDestroy()"); + unregisterWifiReceiver(); + cleanStates(); + isInitialized = false; + instance = null; + downloadProgress = null; + this.assetManager = null; + mMainActivity = null; + language = null; + } + + public void destroyDownloadActvity() { + if (getBackgroundBitmap() != null) { + getBackgroundBitmap().recycle(); + setBackgroundBitmap(null); + } + unregisterWifiReceiver(); + cleanStates(); + isInitialized = false; + instance = null; + mMainActivity = null; + downloadProgress = null; + this.assetManager = null; + pState = -1; + } + + /* JADX INFO: Access modifiers changed from: private */ + public void cleanState(int i) { + try { + switch (i) { + case 1: + this.pCurrentView = this.downloadMsgView; + break; + case 2: + this.pCurrentView = this.downloadProgressView; + break; + case 3: + if (checkLocalAssetVersion()) { + Logging.DEBUG_OUT("onResult assetPath = " + this.assetManager.getAssetPath() + " result = -1"); + this.mDownloadActivity.onResult(this.assetManager.getAssetPath(), -1); + Logging.DEBUG_CLOSE(); + return; + } + this.pCurrentView = this.invalidAssetVersionView; + break; + case 4: + this.pCurrentView = this.spaceUnavailableView; + break; + case 5: + this.pCurrentView = this.downloadFailedView; + break; + case 6: + this.pCurrentView = this.showWifiView; + break; + case 7: + this.pCurrentView = this.networkUnavailableView; + break; + case 8: + this.pCurrentView = this.checkUpdatesView; + break; + case 9: + this.pCurrentView = this.updatesFoundView; + break; + case 10: + this.pCurrentView = this.show3GView; + break; + case 11: + this.pCurrentView = this.showBGView; + break; + case 12: + this.pCurrentView = this.unSupportedDeviceView; + break; + case 13: + this.pCurrentView = this.serverErrorView; + break; + case 14: + this.pCurrentView = this.contactingServerView; + break; + case 15: + this.pCurrentView = this.checkingHostIpView; + break; + case 16: + this.pCurrentView = this.deletingAssetsView; + break; + } + this.pCurrentView.clean(); + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while cleaning state:" + e); + } + } + + private void cleanStates() { + if (this.downloadMsgView != null) { + this.downloadMsgView.clean(); + } + if (this.showWifiView != null) { + this.showWifiView.clean(); + } + if (this.networkUnavailableView != null) { + this.networkUnavailableView.clean(); + } + if (this.downloadProgressView != null) { + this.downloadProgressView.clean(); + } + if (this.downloadFailedView != null) { + this.downloadFailedView.clean(); + } + if (this.spaceUnavailableView != null) { + this.spaceUnavailableView.clean(); + } + if (this.checkUpdatesView != null) { + this.checkUpdatesView.clean(); + } + if (this.updatesFoundView != null) { + this.updatesFoundView.clean(); + } + if (this.show3GView != null) { + this.show3GView.clean(); + } + if (this.showBGView != null) { + this.showBGView.clean(); + } + if (this.unSupportedDeviceView != null) { + this.unSupportedDeviceView.clean(); + } + if (this.serverErrorView != null) { + this.serverErrorView.clean(); + } + if (this.contactingServerView != null) { + this.contactingServerView.clean(); + } + if (this.checkingHostIpView != null) { + this.checkingHostIpView.clean(); + } + if (this.invalidAssetVersionView != null) { + this.invalidAssetVersionView.clean(); + } + if (this.deletingAssetsView != null) { + this.deletingAssetsView.clean(); + } + this.showBGView = null; + this.show3GView = null; + this.updatesFoundView = null; + this.checkUpdatesView = null; + this.downloadMsgView = null; + this.showWifiView = null; + this.networkUnavailableView = null; + this.downloadProgressView = null; + this.downloadFailedView = null; + this.spaceUnavailableView = null; + this.unSupportedDeviceView = null; + this.serverErrorView = null; + this.contactingServerView = null; + this.checkingHostIpView = null; + this.invalidAssetVersionView = null; + this.deletingAssetsView = null; + } + + public boolean isWifiAvailable() { + WifiManager wifiManager = (WifiManager) instance.getApplicationContext().getSystemService("wifi"); + boolean isWifiEnabled = wifiManager.isWifiEnabled(); + return isWifiEnabled ? wifiManager.getConnectionInfo().getSupplicantState() == SupplicantState.COMPLETED : isWifiEnabled; + } + + public boolean canFindHostIP() { + try { + Logging.DEBUG_OUT("Getting host name from URL: " + DOWNLOAD_URL); + Logging.DEBUG_OUT("Host name: " + new URL(DOWNLOAD_URL).getHost()); + try { + BasicHttpParams basicHttpParams = new BasicHttpParams(); + HttpConnectionParams.setConnectionTimeout(basicHttpParams, 5000); + HttpConnectionParams.setSoTimeout(basicHttpParams, 5000); + return new DefaultHttpClient(basicHttpParams).execute((HttpUriRequest) new HttpGet(DOWNLOAD_URL)).getStatusLine().getStatusCode() == 200; + } catch (Exception e) { + Logging.DEBUG_OUT_STACK(e); + return false; + } + } catch (MalformedURLException unused) { + Logging.DEBUG_OUT("Not found: URL is malformed"); + return false; + } + } + + public void startWifiManager() { + try { + instance.startActivity(new Intent("android.settings.WIFI_SETTINGS")); + } catch (ActivityNotFoundException unused) { + Logging.DEBUG_OUT("[ERROR] Unable to find an Activity to open Wifi settings."); + instance.startActivity(new Intent("android.settings.SETTINGS")); + } + } + + protected void start3GManager() { + instance.startActivity(new Intent("android.settings.NETWORK_OPERATOR_SETTINGS")); + } + + public void startDataManagement() { + instance.startActivity(new Intent("android.settings.MEMORY_CARD_SETTINGS")); + } + + protected boolean isConnected() { + NetworkInfo activeNetworkInfo = ((ConnectivityManager) instance.getSystemService("connectivity")).getActiveNetworkInfo(); + return activeNetworkInfo != null && activeNetworkInfo.isConnected() && activeNetworkInfo.isAvailable(); + } + + public boolean test3GNetwork() { + NetworkInfo activeNetworkInfo = ((ConnectivityManager) instance.getSystemService("connectivity")).getActiveNetworkInfo(); + if (activeNetworkInfo == null || !activeNetworkInfo.isConnected() || !activeNetworkInfo.isAvailable()) { + return false; + } + if (activeNetworkInfo.getType() != 1) { + activeNetworkInfo.getType(); + } + return true; + } + + protected int is3G() { + NetworkInfo activeNetworkInfo = ((ConnectivityManager) instance.getSystemService("connectivity")).getActiveNetworkInfo(); + return (activeNetworkInfo != null && activeNetworkInfo.isConnected() && activeNetworkInfo.isAvailable() && activeNetworkInfo.getType() == 0) ? 1 : 0; + } + + public boolean testNetwork(int[] iArr) { + iArr[0] = -1; + NetworkInfo activeNetworkInfo = ((ConnectivityManager) instance.getSystemService("connectivity")).getActiveNetworkInfo(); + if (activeNetworkInfo == null || !activeNetworkInfo.isConnected() || !activeNetworkInfo.isAvailable()) { + return false; + } + iArr[0] = activeNetworkInfo.getType(); + return true; + } + + public void updateDownload() { + this.assetManager.prepareSDCard(); + if (DELETE_ASSETS_ON_UPDATE) { + if (UNSAFE_ASSET_DELETION_ON_UPDATE) { + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("!!!!! WARNING !!!!!"); + Logging.DEBUG_OUT("Deleting assets without any additional checking:"); + Logging.DEBUG_OUT("!!!!! WARNING !!!!!"); + Logging.DEBUG_OUT(" "); + setState(16); + return; + } + Logging.DEBUG_OUT("Checking for asset deletion:"); + Properties loadAssetInfo = this.assetManager.loadAssetInfo(); + if (loadAssetInfo != null) { + String property = loadAssetInfo.getProperty("packageName"); + if (property != null) { + Logging.DEBUG_OUT("packageName read from AssetInfo.indicate: " + property); + Logging.DEBUG_OUT("application packageName: " + this.mContext.getPackageName()); + if (property.equals(this.mContext.getPackageName())) { + Logging.DEBUG_OUT("packageNames match"); + setState(16); + return; + } + Logging.DEBUG_OUT("packageNames DO NOT match"); + } else { + Logging.DEBUG_OUT("packageName not found"); + } + } else { + Logging.DEBUG_OUT("properties not found"); + } + } + setState(1); + } + + public void deleteAssets() { + if (UNSAFE_ASSET_DELETION_ON_UPDATE) { + this.assetManager.deleteEntireDownloadFolder(); + } else { + this.assetManager.deleteAssets(); + } + } + + public boolean startDownload() { + Logging.DEBUG_OUT("DownloadActivityInternal.startDownload()"); + this.assetManager.saveStateDownloadStarted(); + if (this.downloadFileData != null && this.downloadFileData.length > 0) { + totalDownloadSizeMB = getTotalDownloadSize(this.downloadFileData); + Logging.DEBUG_OUT("Total Download Size: " + totalDownloadSizeMB + " MB"); + boolean startDownloadingFiles = startDownloadingFiles(this.downloadFileData); + Logging.DEBUG_OUT("startDownload expectedResult: " + startDownloadingFiles); + return startDownloadingFiles; + } + checkServerContent(false); + return false; + } + + private boolean startDownloadingFiles(DownloadFileData[] downloadFileDataArr) { + if (!isConnected()) { + Logging.DEBUG_OUT("[ERROR] Connection unavailable"); + recordError(-16); + return false; + } + int i = 0; + boolean z = false; + while (true) { + try { + if (i >= downloadFileDataArr.length) { + break; + } + DownloadFileData downloadFileData = downloadFileDataArr[i]; + if (downloadFileData.getType() == 1) { + if (!UNCOMPRESS_ZIP_ON_DEVICE) { + Logging.DEBUG_OUT("File to download (ZIP): " + downloadFileData.getFileName()); + Logging.DEBUG_OUT("Files will be downloaded using a ZipInputStream: will NOT be ale to resume"); + Hashtable checksumsHashtable = getChecksumsHashtable(downloadFileData.getFileName(), downloadFileDataArr); + if (checksumsHashtable == null) { + Logging.DEBUG_OUT("[ERROR] Unable to download required checksums file: " + getMatchingChecksumFile(downloadFileData.getFileName(), this.downloadFileData).getFileName() + " (" + resolution + ")"); + recordError(-13); + return false; + } + if (!this.assetManager.isFileDownloaded(downloadFileData.getFileName())) { + Logging.DEBUG_OUT("Downloading file: " + downloadFileData.getFileName()); + z = downloadAndValidateZipFile(downloadFileData, checksumsHashtable); + if (!z) { + break; + } + this.assetManager.saveState(downloadFileData.getFileName() + "\t" + downloadFileData.getVersion(), null); + downloadProgress.setCurrentFile("n_" + downloadFileData.getFileName(), downloadFileData.getSize()); + downloadProgress.fillCurrentFileDownload(false); + } else { + Logging.DEBUG_OUT("File already downloaded:" + downloadFileData.getFileName()); + downloadProgress.setCurrentFile("n_" + downloadFileData.getFileName(), downloadFileData.getSize()); + downloadProgress.fillCurrentFileDownload(true); + setFlagLastReportDownload(false); + z = true; + } + } else { + Logging.DEBUG_OUT("File to download (ZIP): " + downloadFileData.getFileName()); + Logging.DEBUG_OUT("Zip will be downloaded and uncompressed on device: resume is possible"); + Hashtable checksumsHashtable2 = getChecksumsHashtable(downloadFileData.getFileName(), downloadFileDataArr); + if (checksumsHashtable2 == null) { + Logging.DEBUG_OUT("[ERROR] Unable to download required checksums file: " + getMatchingChecksumFile(downloadFileData.getFileName(), this.downloadFileData).getFileName() + " (" + resolution + ")"); + recordError(-13); + return false; + } + if (!this.assetManager.isFileDownloaded(downloadFileData.getFileName())) { + Logging.DEBUG_OUT("Downloading file: " + downloadFileData.getFileName()); + if (!downloadOtherFile(downloadFileData, null)) { + z = false; + break; + } + z = extractAndValidateFilesFromZip(downloadFileData.getFileName(), checksumsHashtable2); + new File(this.assetManager.getFilePath(downloadFileData.getFileName())).delete(); + if (z) { + this.assetManager.saveState(downloadFileData.getFileName() + "\t" + downloadFileData.getVersion(), null); + } else { + recordError(-12); + break; + } + } else { + Logging.DEBUG_OUT("File already downloaded:" + downloadFileData.getFileName()); + downloadProgress.setCurrentFile("n_" + downloadFileData.getFileName(), downloadFileData.getSize()); + downloadProgress.fillCurrentFileDownload(true); + setFlagLastReportDownload(false); + z = true; + } + } + } else if (downloadFileData.getType() == 3) { + Logging.DEBUG_OUT("File to download (NON-ZIP): " + downloadFileData.getFileName()); + Hashtable checksumsHashtable3 = getChecksumsHashtable(downloadFileData.getFileName(), downloadFileDataArr); + if (checksumsHashtable3 == null) { + Logging.DEBUG_OUT("[ERROR] Unable to download required checksums file: " + getMatchingChecksumFile(downloadFileData.getFileName(), this.downloadFileData).getFileName() + " (" + resolution + ")"); + recordError(-13); + return false; + } + if (!this.assetManager.isFileDownloaded(downloadFileData.getFileName())) { + Logging.DEBUG_OUT("Downloading file: " + downloadFileData.getFileName()); + z = downloadOtherFile(downloadFileData, checksumsHashtable3); + if (!z) { + break; + } + this.assetManager.saveState(downloadFileData.getFileName() + "\t" + downloadFileData.getVersion(), null); + } else { + Logging.DEBUG_OUT("File already downloaded:" + downloadFileData.getFileName()); + downloadProgress.setCurrentFile("n_" + downloadFileData.getFileName(), downloadFileData.getSize()); + downloadProgress.fillCurrentFileDownload(true); + setFlagLastReportDownload(false); + z = true; + } + } else { + continue; + } + i++; + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while downloading files: " + e); + Logging.DEBUG_OUT_STACK(e); + return false; + } + } + if (z) { + this.assetManager.saveStateDownloadFinished(); + this.assetManager.saveDownloadListFile(downloadFileDataArr); + this.assetManager.saveAssetInfo(generateAssetInfo()); + this.percent_downloaded = 100; + Logging.DEBUG_OUT("[FINISHED] All files downloaded successfully."); + } else { + Logging.DEBUG_OUT("[ERROR] Assets download failed."); + } + return z; + } + + public boolean checkScreenSizeChange() { + if (!REDOWNLOAD_ON_SCREEN_SIZE_CHANGE) { + return false; + } + Logging.DEBUG_OUT("Checking for screen size change..."); + Properties loadAssetInfo = this.assetManager.loadAssetInfo(); + if (loadAssetInfo != null) { + String property = loadAssetInfo.getProperty("width"); + String property2 = loadAssetInfo.getProperty("height"); + if (property != null && property2 != null) { + try { + int parseInt = Integer.parseInt(property); + int parseInt2 = Integer.parseInt(property2); + Logging.DEBUG_OUT("Device width: " + width); + Logging.DEBUG_OUT("Assets width: " + parseInt); + Logging.DEBUG_OUT("Device height: " + height); + Logging.DEBUG_OUT("Assets height: " + parseInt2); + if (parseInt == width && parseInt2 == height) { + Logging.DEBUG_OUT("NO screen change detected."); + return false; + } + Logging.DEBUG_OUT("Screen change detected."); + return true; + } catch (Exception e) { + Logging.DEBUG_OUT("Invalid information."); + Logging.DEBUG_OUT_STACK(e); + return false; + } + } + Logging.DEBUG_OUT("No information found."); + return false; + } + Logging.DEBUG_OUT("No information found."); + return false; + } + + private Properties generateAssetInfo() { + Properties properties = new Properties(); + properties.setProperty("packageName", this.mContext.getPackageName()); + properties.setProperty("width", String.valueOf(width)); + properties.setProperty("height", String.valueOf(height)); + return properties; + } + + /* JADX WARN: Removed duplicated region for block: B:92:0x020b A[Catch: Exception -> 0x020e, TRY_ENTER, TRY_LEAVE, TryCatch #2 {Exception -> 0x020e, blocks: (B:30:0x01ed, B:92:0x020b), top: B:3:0x0002 }] */ + /* JADX WARN: Removed duplicated region for block: B:94:? A[RETURN, SYNTHETIC] */ + /* JADX WARN: Removed duplicated region for block: B:95:0x0206 A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private boolean downloadOtherFile(com.eamobile.download.DownloadFileData r12, java.util.Hashtable r13) { + /* + Method dump skipped, instructions count: 539 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.DownloadActivityInternal.downloadOtherFile(com.eamobile.download.DownloadFileData, java.util.Hashtable):boolean"); + } + + private boolean extractAndValidateFilesFromZip(String str, Hashtable hashtable) { + Logging.DEBUG_OUT("Extracting files from Zip: " + str); + try { + FileInputStream fileInputStream = new FileInputStream(this.assetManager.getFilePath(str)); + Thread.sleep(1000L); + return checkZipExtractorResult(new ZipExtractor().extractFiles(fileInputStream, hashtable, this.assetManager.getAssetPath(), TIMEOUT, new LocalZipExtractorEvent())); + } catch (IOException e) { + e.printStackTrace(); + return false; + } catch (InterruptedException unused) { + return false; + } + } + + private boolean checkZipExtractorResult(int i) { + switch (i) { + case -4: + recordError(-11); + break; + case -3: + setStateChecksumError(); + break; + case -2: + case -1: + recordError(-12); + break; + } + return false; + } + + private boolean downloadAndValidateZipFile(DownloadFileData downloadFileData, Hashtable hashtable) { + String fileURL = downloadFileData.getFileURL(); + Logging.DEBUG_OUT("Downloading Zip:" + fileURL); + try { + URLConnection openConnection = new URL(fileURL).openConnection(); + openConnection.setConnectTimeout(30000); + openConnection.setReadTimeout(30000); + InputStream inputStream = openConnection.getInputStream(); + if (inputStream == null) { + return false; + } + return checkZipExtractorResult(new ZipExtractor().extractFiles(inputStream, hashtable, this.assetManager.getAssetPath(), TIMEOUT, new RemoteZipExtractorEvent(downloadProgress, downloadFileData))); + } catch (MalformedURLException e) { + e.printStackTrace(); + return false; + } catch (IOException e2) { + e2.printStackTrace(); + return false; + } + } + + /* JADX WARN: Removed duplicated region for block: B:45:0x00b4 A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private java.util.Hashtable getChecksumsHashtable(java.lang.String r8, com.eamobile.download.DownloadFileData[] r9) { + /* + Method dump skipped, instructions count: 192 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.DownloadActivityInternal.getChecksumsHashtable(java.lang.String, com.eamobile.download.DownloadFileData[]):java.util.Hashtable"); + } + + private DownloadFileData getMatchingChecksumFile(String str, DownloadFileData[] downloadFileDataArr) { + for (int i = 0; i < downloadFileDataArr.length; i++) { + if (downloadFileDataArr[i].getType() == 2 && downloadFileDataArr[i].getFileName().contains(str)) { + return downloadFileDataArr[i]; + } + } + return null; + } + + /* JADX WARN: Removed duplicated region for block: B:33:0x030a A[Catch: Exception -> 0x047e, TryCatch #0 {Exception -> 0x047e, blocks: (B:31:0x025d, B:33:0x030a, B:35:0x0326, B:39:0x0330, B:40:0x033c, B:42:0x0342, B:44:0x03d6, B:45:0x03df, B:47:0x03e5, B:49:0x041b, B:53:0x0430, B:55:0x0438, B:58:0x0440, B:60:0x0448, B:64:0x0453, B:71:0x0469), top: B:30:0x025d, inners: #3 }] */ + /* JADX WARN: Removed duplicated region for block: B:72:0x047d A[RETURN] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private int updateDownloadFilesData(boolean r19) { + /* + Method dump skipped, instructions count: 1166 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.DownloadActivityInternal.updateDownloadFilesData(boolean):int"); + } + + public void recordError(int i) { + mErrorList.add(Integer.valueOf(i)); + Logging.DEBUG_OUT("ERROR OCCURRED: " + i + " (total: " + mErrorList.size() + ")"); + } + + public int getLastError() { + if (mErrorList.size() == 0) { + return 0; + } + return mErrorList.get(mErrorList.size() - 1).intValue(); + } + + public int getNumErrors() { + return mErrorList.size(); + } + + public void setStateChecksumError() { + recordError(-10); + this.serverErrorView.setErrorCode(getLastError()); + setState(13); + } + + private JSONObject sendHttpPost(String str, JSONObject jSONObject) { + InputStream inputStream; + try { + CloseableHttpClient defaultHttpClient = new DefaultHttpClient(); + HttpConnectionParams.setConnectionTimeout(defaultHttpClient.getParams(), 10000); + HttpPost httpPost = new HttpPost(str); + httpPost.setEntity(new StringEntity(jSONObject.toString())); + httpPost.setHeader(HttpHeaders.ACCEPT, "application/json"); + httpPost.setHeader("Content-type", "application/json"); + HttpEntity entity = defaultHttpClient.execute((HttpUriRequest) httpPost).getEntity(); + if (entity != null) { + inputStream = entity.getContent(); + try { + try { + JSONObject jSONObject2 = new JSONObject(convertStreamToString(inputStream)); + unknownHostExceptionTryAgain = true; + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused) { + } + } + return jSONObject2; + } catch (Throwable th) { + th = th; + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused2) { + } + } + throw th; + } + } catch (Exception e) { + e = e; + Logging.DEBUG_OUT("[ERROR] An exception occurred in sendHttpPost while trying to obtain the file list."); + Logging.DEBUG_OUT_STACK(e); + Logging.DEBUG_OUT("URL: " + str); + Logging.DEBUG_OUT("jsonObjSend: " + jSONObject); + if (unknownHostExceptionTryAgain) { + Logging.DEBUG_OUT("Trying sendHttpPost again..."); + unknownHostExceptionTryAgain = false; + JSONObject sendHttpPost = sendHttpPost(str, jSONObject); + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused3) { + } + } + return sendHttpPost; + } + Logging.DEBUG_OUT("Already tried sendHttpPost after failure."); + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused4) { + } + } + return null; + } + } + } catch (Exception e2) { + e = e2; + inputStream = null; + } catch (Throwable th2) { + th = th2; + inputStream = null; + } + return null; + } + + protected String getAndroidUniqueId() { + String string = Settings.Secure.getString(instance.getContentResolver(), "android_id"); + String deviceId = ((TelephonyManager) instance.getSystemService(PlaceFields.PHONE)).getDeviceId(); + if (string != null) { + return "androidId=" + string + "&imei=" + deviceId; + } + return "imei=" + deviceId; + } + + protected String getDeviceString() { + String str = getManufacturer() + com.google.android.vending.expansion.downloader.Constants.FILENAME_SEQUENCE_SEPARATOR + getModel(); + try { + return URLEncoder.encode(str, HTTP.UTF_8); + } catch (Exception e) { + Logging.DEBUG_OUT("getDeviceString Encode Exception:" + e); + return str; + } + } + + protected String getManufacturer() { + try { + return Build.MANUFACTURER; + } catch (Exception e) { + Logging.DEBUG_OUT("getManufacturer Exception:" + e); + return AnalyticsEvents.PARAMETER_DIALOG_OUTCOME_VALUE_UNKNOWN; + } + } + + protected String getModel() { + try { + return Build.MODEL; + } catch (Exception e) { + Logging.DEBUG_OUT("getModel Exception:" + e); + return AnalyticsEvents.PARAMETER_DIALOG_OUTCOME_VALUE_UNKNOWN; + } + } + + protected String getBrand() { + String str = Build.BRAND; + try { + return URLEncoder.encode(str, HTTP.UTF_8); + } catch (Exception unused) { + return str; + } + } + + public String getApplicationName() { + try { + return instance.getString(instance.getPackageManager().getPackageInfo(instance.getPackageName(), 0).applicationInfo.labelRes); + } catch (PackageManager.NameNotFoundException unused) { + return ""; + } + } + + protected String getAPKVersion() { + try { + return instance.getPackageManager().getPackageInfo(instance.getPackageName(), 0).versionName; + } catch (PackageManager.NameNotFoundException unused) { + return ""; + } + } + + public void startGameActivity(int i) { + ADCTelemetry.getInstance().sendTelemetry(4); + try { + Thread.sleep(1000L); + } catch (InterruptedException unused) { + } + ADCTelemetry.getInstance().onDestroy(); + Logging.DEBUG_OUT("onResult assetPath = " + this.assetManager.getAssetPath() + " result = " + i); + this.mDownloadActivity.onResult(this.assetManager.getAssetPath(), i); + Logging.DEBUG_CLOSE(); + } + + private String readUrlFromFile() { + try { + File file = new File(this.assetManager.getFilePath(DOWNLOAD_URL_CONFIG_FILE)); + if (file.exists()) { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); + String readLine = bufferedReader.readLine(); + bufferedReader.close(); + return readLine; + } + Logging.DEBUG_OUT("\t\tDownloadURL.indicate does not exist."); + return null; + } catch (Exception e) { + Logging.DEBUG_OUT("\t\tException while reading DownloadURL.indicate: " + e); + return null; + } + } + + private void checkPermissions() { + try { + PackageManager packageManager = this.mContext.getPackageManager(); + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("[uses-permission tags]"); + Logging.DEBUG_OUT("Checking permissions for package: " + this.mContext.getPackageName()); + List asList = Arrays.asList(packageManager.getPackageInfo(this.mContext.getPackageName(), 4096).requestedPermissions); + boolean z = false; + for (int i = 0; i < EXPECTED_PERMISSIONS.length; i++) { + if (!asList.contains(EXPECTED_PERMISSIONS[i])) { + Logging.DEBUG_OUT("\tPermission " + EXPECTED_PERMISSIONS[i] + " is missing."); + z = true; + } + } + if (z) { + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("!!!!! WARNING !!!!!"); + Logging.DEBUG_OUT("\tOne or more expected permissions is missing. Please check uses-permission tags in AndroidManifest.xml"); + Logging.DEBUG_OUT("!!!!! WARNING !!!!!"); + } else { + Logging.DEBUG_OUT("\tPermissions OK."); + } + Logging.DEBUG_OUT(" "); + } catch (Exception e) { + Logging.DEBUG_OUT_STACK(e); + } + } + + private void loadConfigProperties() { + try { + try { + Properties properties = new Properties(); + properties.load(instance.getAssets().open(getResourcesPath() + "config.properties")); + MASTER_SELL_ID = Integer.parseInt(properties.getProperty("MASTER_SELL_ID").trim()); + TOTAL_SPACE_MB = Integer.parseInt(properties.getProperty("TOTAL_SPACE_MB").trim()); + PRODUCT_ID = Integer.parseInt(properties.getProperty("PRODUCT_ID").trim()); + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("[config.properties]"); + Logging.DEBUG_OUT("\tMASTER_SELL_ID: " + MASTER_SELL_ID); + Logging.DEBUG_OUT("\tPRODUCT_ID: " + PRODUCT_ID); + Logging.DEBUG_OUT("\tTOTAL_SPACE_MB: " + TOTAL_SPACE_MB); + String property = properties.getProperty("USE_INTERNAL_STORAGE"); + if (property != null) { + USE_INTERNAL_STORAGE = Boolean.parseBoolean(property.trim()); + } + Logging.DEBUG_OUT("\tUSE_INTERNAL_STORAGE: " + USE_INTERNAL_STORAGE); + String property2 = properties.getProperty("ALTERNATIVE_DATA_FOLDER"); + if (property2 != null) { + ALTERNATIVE_DATA_FOLDER = Boolean.parseBoolean(property2.trim()); + } + Logging.DEBUG_OUT("\tALTERNATIVE_DATA_FOLDER: " + ALTERNATIVE_DATA_FOLDER); + String property3 = properties.getProperty("DATA_FOLDER"); + if (property3 != null) { + Logging.DEBUG_OUT("\tDATA_FOLDER: " + property3); + setAssetPathAux(property3, true); + } else { + Logging.DEBUG_OUT("\tDATA_FOLDER not specified in config.properties"); + if (this.callSetAssetPathAux) { + setAssetPathAux(this.activityAssetPath, this.activityUseExternal); + } else { + Logging.DEBUG_OUT("[ERROR] DATA_FOLDER not specified in config.properties and setAssetPath() was not called from game's activity."); + } + } + String property4 = properties.getProperty("TIMEOUT"); + if (property4 != null) { + try { + int parseInt = Integer.parseInt(property4.trim()); + if (parseInt > 0) { + TIMEOUT = parseInt * 1000; + Logging.DEBUG_OUT("\tTIMEOUT read from config.properties"); + } + } catch (Exception e) { + Logging.DEBUG_OUT("\t" + e.toString()); + } + } + Logging.DEBUG_OUT("\tTIMEOUT: " + TIMEOUT + " milliseconds"); + String property5 = properties.getProperty("READ_DOWNLOAD_URL_FROM_SDCARD"); + if (property5 != null) { + property5 = property5.trim(); + } + if (Boolean.parseBoolean(property5)) { + Logging.DEBUG_OUT("\tWill try to read DOWNLOAD_URL from SD card..."); + String readUrlFromFile = readUrlFromFile(); + if (readUrlFromFile != null) { + Logging.DEBUG_OUT("\t\tOK: DOWNLOAD_URL read from SD Card"); + DOWNLOAD_URL = readUrlFromFile; + } else { + Logging.DEBUG_OUT("\t\tFAILED. Will use DOWNLOAD_URL defined in config.properties"); + DOWNLOAD_URL = properties.getProperty("DOWNLOAD_URL").trim(); + } + } else { + DOWNLOAD_URL = properties.getProperty("DOWNLOAD_URL").trim(); + } + Logging.DEBUG_OUT("\tDOWNLOAD_URL: " + DOWNLOAD_URL); + String property6 = properties.getProperty("UNCOMPRESS_ZIP_ON_DEVICE"); + if (property6 != null) { + property6 = property6.trim(); + } + UNCOMPRESS_ZIP_ON_DEVICE = Boolean.parseBoolean(property6); + Logging.DEBUG_OUT("\tUNCOMPRESS_ZIP_ON_DEVICE: " + UNCOMPRESS_ZIP_ON_DEVICE); + String property7 = properties.getProperty("CUSTOM_PROGRESS_BAR"); + if (property7 != null) { + CUSTOM_PROGRESS_BAR = Boolean.parseBoolean(property7.trim()); + } + Logging.DEBUG_OUT("\tCUSTOM_PROGRESS_BAR: " + CUSTOM_PROGRESS_BAR); + String property8 = properties.getProperty("USE_OLD_PROGRESS_BAR"); + if (property8 != null) { + USE_OLD_PROGRESS_BAR = Boolean.parseBoolean(property8.trim()); + } + Logging.DEBUG_OUT("\tUSE_OLD_PROGRESS_BAR: " + USE_OLD_PROGRESS_BAR); + String property9 = properties.getProperty("TOTAL_SPACE_MB_MIN"); + if (property9 != null) { + try { + TOTAL_SPACE_MB_MIN = Integer.parseInt(property9.trim()); + } catch (Exception e2) { + Logging.DEBUG_OUT("\t" + e2.toString()); + } + } + Logging.DEBUG_OUT("\tTOTAL_SPACE_MB_MIN: " + TOTAL_SPACE_MB_MIN); + if (TOTAL_SPACE_MB_MIN > 0 && TOTAL_SPACE_MB > TOTAL_SPACE_MB_MIN) { + isDownloadRange = true; + } else { + isDownloadRange = false; + } + String property10 = properties.getProperty("DISABLE_3G"); + if (property10 != null) { + DISABLE_3G = Boolean.parseBoolean(property10.trim()); + } + Logging.DEBUG_OUT("\tDISABLE_3G: " + DISABLE_3G); + String property11 = properties.getProperty("FORCE_WAKE_DURING_DOWNLOAD"); + if (property11 != null) { + setForceWakeDuringDownload(Boolean.parseBoolean(property11.trim())); + } + Logging.DEBUG_OUT("\tFORCE_WAKE_DURING_DOWNLOAD: " + getForceWakeDuringDownload()); + String property12 = properties.getProperty("DO_NOT_OPEN_STORAGE_SETTINGS"); + if (property12 != null) { + DO_NOT_OPEN_STORAGE_SETTINGS = Boolean.parseBoolean(property12.trim()); + } + Logging.DEBUG_OUT("\tDO_NOT_OPEN_STORAGE_SETTINGS: " + DO_NOT_OPEN_STORAGE_SETTINGS); + MIN_ASSET_VERSION_REQUIRED = properties.getProperty("MIN_ASSET_VERSION_REQUIRED"); + Logging.DEBUG_OUT("\tMIN_ASSET_VERSION_REQUIRED: " + MIN_ASSET_VERSION_REQUIRED); + String property13 = properties.getProperty("DELETE_ASSETS_ON_UPDATE"); + if (property13 != null) { + DELETE_ASSETS_ON_UPDATE = Boolean.parseBoolean(property13.trim()); + } + Logging.DEBUG_OUT("\tDELETE_ASSETS_ON_UPDATE: " + DELETE_ASSETS_ON_UPDATE); + String property14 = properties.getProperty("UNSAFE_ASSET_DELETION_ON_UPDATE"); + if (property14 != null) { + UNSAFE_ASSET_DELETION_ON_UPDATE = Boolean.parseBoolean(property14.trim()); + } + Logging.DEBUG_OUT("\tUNSAFE_ASSET_DELETION_ON_UPDATE: " + UNSAFE_ASSET_DELETION_ON_UPDATE); + if (UNSAFE_ASSET_DELETION_ON_UPDATE) { + Logging.DEBUG_OUT(" "); + Logging.DEBUG_OUT("!!!!! WARNING !!!!!"); + Logging.DEBUG_OUT("\tUNSAFE_ASSET_DELETION_ON_UPDATE = true"); + Logging.DEBUG_OUT("\tADC will delete the entire download folder before an update"); + Logging.DEBUG_OUT("!!!!! WARNING !!!!!"); + Logging.DEBUG_OUT(" "); + } + String property15 = properties.getProperty("REDOWNLOAD_ON_SCREEN_SIZE_CHANGE"); + if (property15 != null) { + REDOWNLOAD_ON_SCREEN_SIZE_CHANGE = Boolean.parseBoolean(property15.trim()); + } + Logging.DEBUG_OUT("\tREDOWNLOAD_ON_SCREEN_SIZE_CHANGE: " + REDOWNLOAD_ON_SCREEN_SIZE_CHANGE); + String property16 = properties.getProperty("NUMBER_OF_HOURS_TO_UPDATE_CHECKING"); + if (property16 != null) { + try { + NUMBER_OF_HOURS_TO_UPDATE_CHECKING = Integer.parseInt(property16.trim()); + Logging.DEBUG_OUT("\tNUMBER_OF_HOURS_TO_UPDATE_CHECKING read from config.properties"); + } catch (Exception e3) { + Logging.DEBUG_OUT("\t" + e3.toString()); + } + } + Logging.DEBUG_OUT("\tNUMBER_OF_HOURS_TO_UPDATE_CHECKING: " + NUMBER_OF_HOURS_TO_UPDATE_CHECKING + " hours"); + String property17 = properties.getProperty("RETRIEVE_FULL_SCREEN_RESOLUTION"); + if (property17 != null) { + RETRIEVE_FULL_SCREEN_RESOLUTION = Boolean.parseBoolean(property17.trim()); + } + Logging.DEBUG_OUT("\tRETRIEVE_FULL_SCREEN_RESOLUTION: " + RETRIEVE_FULL_SCREEN_RESOLUTION); + this.configLoaded = true; + } catch (Exception e4) { + Logging.DEBUG_OUT("\tException while loading properties: config.properties" + e4); + } + } finally { + Logging.DEBUG_OUT(" "); + } + } + + /* JADX WARN: Code restructure failed: missing block: B:51:0x00f3, code lost: + + r0.close(); + */ + /* JADX WARN: Code restructure failed: missing block: B:53:?, code lost: + + return; + */ + /* JADX WARN: Code restructure failed: missing block: B:54:0x00f7, code lost: + + r0 = move-exception; + */ + /* JADX WARN: Code restructure failed: missing block: B:55:0x00f8, code lost: + + r0.printStackTrace(); + */ + /* JADX WARN: Code restructure failed: missing block: B:56:0x00fb, code lost: + + return; + */ + /* JADX WARN: Code restructure failed: missing block: B:60:0x00fe, code lost: + + r0.close(); + */ + /* JADX WARN: Code restructure failed: missing block: B:62:?, code lost: + + return; + */ + /* JADX WARN: Code restructure failed: missing block: B:63:0x0102, code lost: + + r0 = move-exception; + */ + /* JADX WARN: Code restructure failed: missing block: B:64:0x0103, code lost: + + r0.printStackTrace(); + */ + /* JADX WARN: Code restructure failed: missing block: B:65:0x0106, code lost: + + return; + */ + /* JADX WARN: Code restructure failed: missing block: B:69:0x0109, code lost: + + r0.close(); + */ + /* JADX WARN: Code restructure failed: missing block: B:71:?, code lost: + + return; + */ + /* JADX WARN: Code restructure failed: missing block: B:72:0x010d, code lost: + + r0 = move-exception; + */ + /* JADX WARN: Code restructure failed: missing block: B:73:0x010e, code lost: + + r0.printStackTrace(); + */ + /* JADX WARN: Code restructure failed: missing block: B:74:0x0111, code lost: + + return; + */ + /* JADX WARN: Multi-variable type inference failed */ + /* JADX WARN: Removed duplicated region for block: B:89:0x0129 A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* JADX WARN: Type inference failed for: r0v1, types: [java.lang.String] */ + /* JADX WARN: Type inference failed for: r0v4 */ + /* JADX WARN: Type inference failed for: r0v8, types: [java.io.InputStream] */ + /* JADX WARN: Type inference failed for: r2v1, types: [android.content.res.AssetManager] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private void loadOverrides() { + /* + Method dump skipped, instructions count: 318 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.DownloadActivityInternal.loadOverrides():void"); + } + + public String getRequiredSpaceForDownload() { + if (spaceNeededToDownload > 0) { + return "" + ((spaceNeededToDownload / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID); + } + return "" + TOTAL_SPACE_MB; + } + + public String getAvailableSpaceForDownload() { + return "" + ((spaceAvailableToDownload / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID); + } + + public String getSpaceRangeForDownload() { + if (spaceNeededToDownload > 0) { + return "" + ((spaceNeededToDownload / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID); + } + if (!isDownloadRange) { + return "" + TOTAL_SPACE_MB; + } + return "" + TOTAL_SPACE_MB_MIN + com.google.android.vending.expansion.downloader.Constants.FILENAME_SEQUENCE_SEPARATOR + TOTAL_SPACE_MB; + } + + private String convertStreamToString(InputStream inputStream) { + StringBuilder sb; + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream), 8192); + StringBuilder sb2 = new StringBuilder(); + while (true) { + try { + try { + String readLine = bufferedReader.readLine(); + if (readLine != null) { + sb2.append(readLine + "\n"); + } else { + try { + break; + } catch (IOException e) { + e = e; + sb = new StringBuilder(); + sb.append("convertStreamToString Unable to close reader:"); + sb.append(e); + Logging.DEBUG_OUT(sb.toString()); + return sb2.toString(); + } + } + } catch (IOException e2) { + Logging.DEBUG_OUT("convertStreamToString Exception:" + e2); + try { + bufferedReader.close(); + } catch (IOException e3) { + e = e3; + sb = new StringBuilder(); + sb.append("convertStreamToString Unable to close reader:"); + sb.append(e); + Logging.DEBUG_OUT(sb.toString()); + return sb2.toString(); + } + } + } catch (Throwable th) { + try { + bufferedReader.close(); + } catch (IOException e4) { + Logging.DEBUG_OUT("convertStreamToString Unable to close reader:" + e4); + } + throw th; + } + } + bufferedReader.close(); + return sb2.toString(); + } + + public boolean canOpenStorageSettings() { + return !DO_NOT_OPEN_STORAGE_SETTINGS; + } + + public int getTotalDownloadSize(DownloadFileData[] downloadFileDataArr) { + totalDownloadSizeMB = 0; + int i = 0; + for (DownloadFileData downloadFileData : downloadFileDataArr) { + try { + i += downloadFileData.getSize(); + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while calculating download size:" + e); + } + } + totalDownloadSizeMB = (i / 1024) / 1024; + return totalDownloadSizeMB; + } + + public static int getTotalDownloadSizeMB() { + return totalDownloadSizeMB; + } + + public static String getTotalDownloadSizeMBString() { + return Integer.toString(totalDownloadSizeMB); + } + + public long getTotalDownloadSizeForNonZipFiles(DownloadFileData[] downloadFileDataArr) { + long j = 0; + for (int i = 0; i < downloadFileDataArr.length; i++) { + try { + if (downloadFileDataArr[i].getType() != 1) { + j += downloadFileDataArr[i].getSize(); + } + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while calculating download size for non-zip files:"); + Logging.DEBUG_OUT_STACK(e); + } + } + return j; + } + + public Bitmap getBackgroundBitmap() { + return this.bmpBg; + } + + public void setBackgroundBitmap(Bitmap bitmap) { + this.bmpBg = bitmap; + } + + public static boolean getForceWakeDuringDownload() { + return FORCE_WAKE_DURING_DOWNLOAD; + } + + public static void setForceWakeDuringDownload(boolean z) { + FORCE_WAKE_DURING_DOWNLOAD = z; + } +} diff --git a/app/src/main/java/com/eamobile/IDeviceData.java b/app/src/main/java/com/eamobile/IDeviceData.java new file mode 100644 index 0000000..24680ab --- /dev/null +++ b/app/src/main/java/com/eamobile/IDeviceData.java @@ -0,0 +1,8 @@ +package com.eamobile; + +import com.eamobile.download.DeviceData; + +/* loaded from: classes.dex */ +public interface IDeviceData { + void onRetrievedDeviceData(DeviceData deviceData); +} diff --git a/app/src/main/java/com/eamobile/IDownloadActivity.java b/app/src/main/java/com/eamobile/IDownloadActivity.java new file mode 100644 index 0000000..70b227e --- /dev/null +++ b/app/src/main/java/com/eamobile/IDownloadActivity.java @@ -0,0 +1,11 @@ +package com.eamobile; + +/* loaded from: classes.dex */ +public interface IDownloadActivity { + public static final int DOWNLOAD_CANCEL = 1; + public static final int DOWNLOAD_START = 0; + + void onDownloadEvent(int i); + + void onResult(String str, int i); +} diff --git a/app/src/main/java/com/eamobile/Language.java b/app/src/main/java/com/eamobile/Language.java new file mode 100644 index 0000000..2769d28 --- /dev/null +++ b/app/src/main/java/com/eamobile/Language.java @@ -0,0 +1,246 @@ +package com.eamobile; + +import com.eamobile.download.Logging; +import java.io.DataInput; +import java.io.DataInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.Vector; + +/* loaded from: classes.dex */ +public class Language { + public static final int ASCII = 1; + public static final int BTN_3G = 23; + public static final int BTN_ALWAYS = 48; + public static final int BTN_CANCEL = 49; + public static final int BTN_DOWNLOAD = 5; + public static final int BTN_EXIT = 6; + public static final int BTN_NO = 18; + public static final int BTN_OK = 2; + public static final int BTN_RETRY = 14; + public static final int BTN_RETRY_TITLE = 13; + public static final int BTN_THIS_TIME_ONLY = 47; + public static final int BTN_WIFI = 16; + public static final int BTN_YES = 17; + public static final int CHECK_UPDATES_MSG = 22; + public static final int CHECK_UPDATES_TITLE = 21; + public static final int CONTACTING_SERVER_MSG = 38; + public static final int CONTACTING_SERVER_TITLE = 37; + public static final int DEBUG_DOWNLOAD_TITLE = 52; + public static final int DELETING_OLD_CONTENT = 45; + public static final int DOWNLOADING_MSG = 20; + public static final int DOWNLOADING_TITLE = 19; + public static final int DOWNLOAD_EXIT_CONFIRMATION = 41; + public static final int DOWNLOAD_MSG = 1; + public static final int DOWNLOAD_MSG_NEW = 50; + public static final int DOWNLOAD_PROGRESS = 15; + public static final int DOWNLOAD_SPEED_TXT = 36; + public static final int DOWNLOAD_TITLE = 0; + public static final char END_OF_LINE = '\n'; + public static final int FAILED_MSG = 12; + public static final int FAILED_TITLE = 11; + public static final int INVALID_CONTENT_TITLE = 42; + public static final int INVALID_CONTENT_TXT = 43; + public static final int MANDATORY_UPDATE_WARNING = 44; + private static final int NB_STRINGS = 53; + public static final int NETWORK_3G_CONNECT_TITLE = 39; + public static final int NETWORK_WARNING_TXT = 24; + public static final int NETWORK_WIFI_DISABLED = 40; + public static final int NW_UNAVAIL = 9; + public static final int NW_UNAVAIL_MSG = 10; + public static final int PRESS_BACK_FOR_3G = 30; + public static final int PRESS_BACK_FOR_WIFI = 29; + public static final int PRESS_BTN_3G_FOR_3G = 31; + public static final int SERVER_ERROR_TEXT = 34; + public static final int SERVER_ERROR_TITLE = 33; + public static final int SIGNAL_STRENGTH_TXT = 35; + public static final int SPACE_UNAVAIL_MSG = 4; + public static final int SPACE_UNAVAIL_MSG_NEW = 51; + public static final int SPACE_UNAVAIL_TITLE = 3; + public static final int UNICODE = 2; + public static final int UNSUPPORTED_DEVICE_TITLE = 27; + public static final int UNSUPPORTED_DEVICE_TXT = 28; + public static final int UPDATES_FOUND_TITLE = 25; + public static final int UPDATES_FOUND_TXT = 26; + public static final int WIFI_LOST = 46; + public static final int WIFI_MSG = 8; + public static final int WIFI_MSG_ENABLE_MANUALLY = 32; + public static final int WIFI_TITLE = 7; + private static int fileType; + public static final String[] strings = new String[53]; + public final int BUFFER_SIZE = 8096; + private String curLanguage; + + public boolean loadStrings(String str) { + InputStream inputStream; + Logging.DEBUG_OUT("\tloadString(" + str + ")"); + if (str == null) { + return false; + } + String str2 = DownloadActivityInternal.getResourcesPath() + str + ".txt"; + Logging.DEBUG_OUT("\tOpening file: " + str2); + InputStream inputStream2 = null; + try { + try { + inputStream = DownloadActivityInternal.getInstance().getAssets().open(str2); + } catch (FileNotFoundException unused) { + } catch (Exception e) { + e = e; + } + try { + try { + if (inputStream == null) { + Logging.DEBUG_OUT("\tCouldn't find file: " + str2); + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused2) { + } + } + return false; + } + Vector vector = new Vector(); + DataInputStream dataInputStream = new DataInputStream(inputStream); + fileType = determineFileType(str2); + if (fileType == 2) { + dataInputStream.skipBytes(2); + } + boolean z = true; + while (z) { + try { + vector.addElement(readTo(dataInputStream, '\n', true)); + } catch (Exception unused3) { + z = false; + } + } + for (int i = 0; i < strings.length; i++) { + strings[i] = ((String) vector.elementAt(i)).toString(); + } + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused4) { + } + } + this.curLanguage = str; + return true; + } catch (FileNotFoundException unused5) { + inputStream2 = inputStream; + Logging.DEBUG_OUT("\tFile not found: " + str2); + if (inputStream2 != null) { + try { + inputStream2.close(); + } catch (Exception unused6) { + } + } + return false; + } catch (Throwable th) { + th = th; + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused7) { + } + } + throw th; + } + } catch (Exception e2) { + e = e2; + inputStream2 = inputStream; + Logging.DEBUG_OUT("\tException caught: " + e); + Logging.DEBUG_OUT("[ERROR] An error occurred while loading text messages.Some messages may not display as expected."); + if (inputStream2 != null) { + try { + inputStream2.close(); + } catch (Exception unused8) { + } + } + return false; + } + } catch (Throwable th2) { + th = th2; + inputStream = null; + } + } + + public static String readTo(DataInput dataInput, char c, boolean z) throws IOException { + StringBuffer stringBuffer = new StringBuffer(); + char readChar = readChar(dataInput); + while (readChar != c) { + stringBuffer.append(readChar); + readChar = readChar(dataInput); + } + String stringBuffer2 = stringBuffer.toString(); + if (stringBuffer2 != null) { + return stringBuffer2.trim(); + } + return null; + } + + public static char readChar(DataInput dataInput) throws IOException { + if (fileType == 2) { + int readUnsignedShort = dataInput.readUnsignedShort(); + return (char) (((readUnsignedShort & 255) << 8) | (readUnsignedShort >> 8)); + } + return (char) dataInput.readUnsignedByte(); + } + + public static int determineFileType(String str) { + DataInputStream dataInputStream; + DataInputStream dataInputStream2 = null; + try { + try { + dataInputStream = new DataInputStream(DownloadActivityInternal.getInstance().getAssets().open(str)); + } catch (IOException unused) { + } catch (Throwable th) { + th = th; + } + try { + r0 = dataInputStream.readUnsignedShort() == 65534 ? 2 : 1; + dataInputStream.close(); + } catch (IOException unused2) { + dataInputStream2 = dataInputStream; + dataInputStream2.close(); + return r0; + } catch (Throwable th2) { + th = th2; + dataInputStream2 = dataInputStream; + try { + dataInputStream2.close(); + } catch (Exception unused3) { + } + throw th; + } + } catch (Exception unused4) { + } + return r0; + } + + public static String getString(int i) { + return getString(i, null); + } + + public static String getString(int i, String[] strArr) { + String str = strings[i]; + if (strArr != null) { + try { + if (strArr.length > 0) { + int i2 = 0; + while (str.indexOf("%%") != -1 && i2 < strArr.length) { + int indexOf = str.indexOf("%%"); + i2++; + str = str.substring(0, indexOf) + strArr[i2] + str.substring(indexOf + 2); + } + } + } catch (Exception e) { + Logging.DEBUG_OUT("Exception e:" + e); + } + } + return str; + } + + public String getCurrentLanguage() { + return this.curLanguage; + } +} diff --git a/app/src/main/java/com/eamobile/WifiReceiver.java b/app/src/main/java/com/eamobile/WifiReceiver.java new file mode 100644 index 0000000..1ca38e2 --- /dev/null +++ b/app/src/main/java/com/eamobile/WifiReceiver.java @@ -0,0 +1,63 @@ +package com.eamobile; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import com.eamobile.download.Logging; + +/* loaded from: classes.dex */ +public class WifiReceiver extends BroadcastReceiver { + private WifiManager wifiManager; + private String wifiName = ""; + private int wifiLevel = 0; + + public WifiReceiver() { + setWifiManager(); + } + + private void setWifiManager() { + Logging.DEBUG_OUT("Calling setWifiManager..."); + try { + if (DownloadActivityInternal.getInstance() != null) { + this.wifiManager = (WifiManager) DownloadActivityInternal.getInstance().getApplicationContext().getSystemService("wifi"); + } else { + this.wifiManager = null; + } + } catch (Exception e) { + this.wifiManager = null; + Logging.DEBUG_OUT("[ERROR] An exception occurred in WifiReceiver while trying to get WifiManager."); + Logging.DEBUG_OUT_STACK(e); + } + } + + @Override // android.content.BroadcastReceiver + public void onReceive(Context context, Intent intent) { + updateWifiInfo(); + } + + public void updateWifiInfo() { + if (this.wifiManager == null) { + setWifiManager(); + } + if (this.wifiManager == null || !this.wifiManager.isWifiEnabled()) { + return; + } + WifiInfo connectionInfo = this.wifiManager.getConnectionInfo(); + this.wifiName = connectionInfo.getSSID(); + int calculateSignalLevel = WifiManager.calculateSignalLevel(connectionInfo.getRssi(), 3); + if (this.wifiLevel != calculateSignalLevel) { + this.wifiLevel = calculateSignalLevel; + Logging.DEBUG_OUT("Wifi connection: " + this.wifiName + " (signal strength: " + this.wifiLevel + "/3)"); + } + } + + public String getWifiName() { + return this.wifiName; + } + + public int getWifiLevel() { + return this.wifiLevel; + } +} diff --git a/app/src/main/java/com/eamobile/download/AssetManager.java b/app/src/main/java/com/eamobile/download/AssetManager.java new file mode 100644 index 0000000..476a838 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/AssetManager.java @@ -0,0 +1,654 @@ +package com.eamobile.download; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Properties; +import java.util.TreeSet; +import java.util.regex.Pattern; + +/* loaded from: classes.dex */ +public class AssetManager { + static final String ADC_ASSET_INFO_FILE = "AssetInfo.indicate"; + static final String DOWNLOAD_CONTROL_FILE1 = "Downloaded.indicate"; + static final String DOWNLOAD_CONTROL_FILE2 = "Downloaded2.indicate"; + static final String INDICATE_FINISHED = "COMPLETE"; + static final String INDICATE_PROGRESS = "PROGRESS"; + private String mAlternativeAssetPath; + private String mAssetPath; + private boolean mUseAlternativeAssetPath = false; + + public void setAssetPath(String str) { + this.mAssetPath = str; + } + + public void setAlternativeAssetPath(String str) { + this.mAlternativeAssetPath = str; + } + + public String getAssetPath() { + if (!this.mUseAlternativeAssetPath) { + return this.mAssetPath; + } + return this.mAlternativeAssetPath; + } + + public void useAlternativeAssetPath(boolean z) { + if (z) { + Logging.DEBUG_OUT("AssetManager: using alternative location"); + } else { + Logging.DEBUG_OUT("AssetManager: using main location"); + } + this.mUseAlternativeAssetPath = z; + } + + public String getFilePath(String str) { + if (!this.mUseAlternativeAssetPath) { + return this.mAssetPath + "/" + str; + } + return this.mAlternativeAssetPath + "/" + str; + } + + public String getLocalAssetVersion() { + Logging.DEBUG_OUT("Calling: AssetManager getLocalAssetVersion()"); + try { + File file = new File(getFilePath(DOWNLOAD_CONTROL_FILE1)); + if (!file.exists()) { + return null; + } + Hashtable hashtable = new Hashtable(); + BufferedReader bufferedReader = new BufferedReader(new FileReader(file), 8192); + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine == null) { + break; + } + if (!readLine.contains(INDICATE_FINISHED) && !readLine.trim().equals("")) { + String[] split = readLine.split("\t"); + hashtable.put(split[0], split[1]); + } + } + bufferedReader.close(); + Enumeration keys = hashtable.keys(); + String str = ""; + while (keys.hasMoreElements()) { + str = (String) hashtable.get((String) keys.nextElement()); + } + return str; + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while getting local asset version: " + e); + Logging.DEBUG_OUT_STACK(e); + return null; + } + } + + public boolean checkForUpdates(DownloadFileData[] downloadFileDataArr) { + Logging.DEBUG_OUT("Calling: AssetManager checkForUpdates()"); + if (downloadFileDataArr == null || downloadFileDataArr.length <= 0) { + return false; + } + try { + return isVersionLower(getLocalAssetVersion(), downloadFileDataArr[0].getVersion()); + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred while checking for updates: " + e); + Logging.DEBUG_OUT_STACK(e); + return false; + } + } + + public boolean assetsFoundLocally() { + File file = new File(getAssetPath()); + if (!file.exists()) { + file.mkdir(); + } + try { + File file2 = new File(getFilePath(DOWNLOAD_CONTROL_FILE1)); + if (!file2.exists()) { + return false; + } + BufferedReader bufferedReader = new BufferedReader(new FileReader(file2), 8192); + String str = ""; + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine == null) { + break; + } + str = str + readLine + "\n"; + } + bufferedReader.close(); + if (!str.contains(INDICATE_FINISHED)) { + return false; + } + File file3 = new File(getFilePath(DOWNLOAD_CONTROL_FILE2)); + if (!file3.exists()) { + return true; + } + BufferedReader bufferedReader2 = new BufferedReader(new FileReader(file3), 8192); + ArrayList arrayList = new ArrayList<>(); + while (true) { + String readLine2 = bufferedReader2.readLine(); + if (readLine2 != null) { + arrayList.add(readLine2); + } else { + bufferedReader2.close(); + return checkFiles(arrayList); + } + } + } catch (Exception unused) { + return false; + } + } + + public boolean isFileDownloaded(String str) { + File file = new File(getAssetPath()); + if (!file.exists()) { + file.mkdir(); + } + try { + File file2 = new File(getFilePath(DOWNLOAD_CONTROL_FILE1)); + if (!file2.exists()) { + return false; + } + BufferedReader bufferedReader = new BufferedReader(new FileReader(file2), 8192); + String str2 = ""; + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine == null) { + break; + } + str2 = str2 + readLine + "\n"; + } + bufferedReader.close(); + return str2.contains(str); + } catch (Exception unused) { + Logging.DEBUG_OUT(str + " is not downloaded."); + return false; + } + } + + public void prepareSDCard() { + try { + File file = new File(getFilePath(DOWNLOAD_CONTROL_FILE1)); + if (file.exists()) { + file.delete(); + } + } catch (Exception e) { + Logging.DEBUG_OUT("Exception while cleaning SDCard:"); + Logging.DEBUG_OUT_STACK(e); + } + } + + public void deleteEntireDownloadFolder() { + deleteEntireDownloadFolderAux(new File(getAssetPath())); + } + + public void deleteEntireDownloadFolderAux(File file) { + try { + File[] listFiles = file.listFiles(); + for (int i = 0; i < listFiles.length; i++) { + if (listFiles[i].isDirectory()) { + deleteEntireDownloadFolderAux(listFiles[i]); + } + if (!listFiles[i].exists()) { + Logging.DEBUG_OUT("\tDeleting file: " + listFiles[i].getAbsolutePath() + " (NOT FOUND)"); + } else if (listFiles[i].delete()) { + Logging.DEBUG_OUT("\tDeleting file: " + listFiles[i].getAbsolutePath() + " (OK)"); + } else { + Logging.DEBUG_OUT("\tDeleting file: " + listFiles[i].getAbsolutePath() + " (FAILED)"); + } + } + } catch (Exception e) { + Logging.DEBUG_OUT("Exception while deleting download folder:"); + Logging.DEBUG_OUT_STACK(e); + } + } + + public void deleteAssets() { + try { + File file = new File(getFilePath(DOWNLOAD_CONTROL_FILE2)); + if (!file.exists()) { + return; + } + BufferedReader bufferedReader = new BufferedReader(new FileReader(file), 8192); + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine != null) { + String filePath = getFilePath(readLine); + File file2 = new File(filePath); + if (file2.exists()) { + if (file2.delete()) { + Logging.DEBUG_OUT("\tDeleting file: " + filePath + " (OK)"); + } else { + Logging.DEBUG_OUT("\tDeleting file: " + filePath + " (FAILED)"); + } + } else { + Logging.DEBUG_OUT("\tDeleting file: " + filePath + " (NOT FOUND)"); + } + } else { + bufferedReader.close(); + deleteEmptyDirs(getAssetPath(), getDirList()); + return; + } + } + } catch (Exception e) { + Logging.DEBUG_OUT("Exception while deleting assets:"); + Logging.DEBUG_OUT_STACK(e); + } + } + + private void deleteEmptyDirs(String str, ArrayList arrayList) { + try { + File file = new File(str); + File[] listFiles = file.listFiles(); + if (listFiles == null) { + Logging.DEBUG_OUT("Error listing files for directory: " + file.getAbsolutePath()); + return; + } + for (int i = 0; i < listFiles.length; i++) { + if (listFiles[i].isDirectory()) { + deleteEmptyDirs(listFiles[i].getAbsolutePath(), arrayList); + } + } + File[] listFiles2 = file.listFiles(); + String absolutePath = file.getAbsolutePath(); + if (listFiles2.length == 0) { + if (belongsToADC(file, arrayList)) { + if (file.delete()) { + Logging.DEBUG_OUT(absolutePath + " (DELETED)"); + } else { + Logging.DEBUG_OUT(absolutePath + " (UNKNOWN ERROR WHILE DELETING)"); + } + try { + Thread.sleep(10L); + return; + } catch (InterruptedException e) { + Logging.DEBUG_OUT_STACK(e); + return; + } + } + Logging.DEBUG_OUT(absolutePath + " (DOES NOT BELONG TO ADC)"); + return; + } + Logging.DEBUG_OUT(absolutePath + " (NOT EMPTY)"); + } catch (SecurityException e2) { + Logging.DEBUG_OUT_STACK(e2); + } + } + + private boolean belongsToADC(File file, ArrayList arrayList) { + return arrayList.contains(file); + } + + private ArrayList getDirList() { + int i; + try { + ArrayList arrayList = new ArrayList<>(); + File file = new File(getFilePath(DOWNLOAD_CONTROL_FILE2)); + if (file.exists()) { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file), 8192); + TreeSet treeSet = new TreeSet(); + while (true) { + String readLine = bufferedReader.readLine(); + i = 0; + if (readLine == null) { + break; + } + String[] split = readLine.split("/"); + String str = ""; + while (i < split.length - 1) { + str = str + split[i] + "/"; + treeSet.add(str); + i++; + } + } + Iterator it = treeSet.iterator(); + while (it.hasNext()) { + String str2 = (String) it.next(); + if (new File(getFilePath(str2)).isDirectory()) { + arrayList.add(new File(getFilePath(str2))); + } + } + Logging.DEBUG_OUT("ADC Directories read from Downloaded2.indicate: "); + while (i < arrayList.size()) { + Logging.DEBUG_OUT(arrayList.get(i).getAbsolutePath()); + i++; + } + bufferedReader.close(); + } + return arrayList; + } catch (Exception unused) { + return null; + } + } + + public void saveStateDownloadStarted() { + saveState(INDICATE_PROGRESS, null); + } + + public void saveStateDownloadFinished() { + saveState(INDICATE_PROGRESS, INDICATE_FINISHED); + } + + public void saveState(String str, String str2) { + try { + String filePath = getFilePath(DOWNLOAD_CONTROL_FILE1); + File file = new File(filePath); + if (file.exists()) { + BufferedReader bufferedReader = new BufferedReader(new FileReader(file), 8192); + String str3 = ""; + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine == null) { + break; + } + str3 = str3 + readLine + "\n"; + } + bufferedReader.close(); + if (str2 != null) { + str = str3.replaceAll(str, str2); + } else if (!exists(str, filePath)) { + str = str3 + str; + } + if (exists(str, filePath)) { + return; + } + File file2 = new File(filePath); + if (file2.exists()) { + file2.delete(); + } + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(filePath, true), 8192); + bufferedWriter.write(str + "\n"); + bufferedWriter.close(); + return; + } + try { + new File(getAssetPath()).mkdirs(); + } catch (SecurityException e) { + Logging.DEBUG_OUT("saveState Security Exception:" + e); + } + FileWriter fileWriter = new FileWriter(filePath, true); + BufferedWriter bufferedWriter2 = new BufferedWriter(fileWriter, 8192); + bufferedWriter2.write(str + "\n"); + bufferedWriter2.close(); + fileWriter.close(); + } catch (Exception e2) { + Logging.DEBUG_OUT("Exception while saving state to SDCard: " + e2); + } + } + + public void clearDownloadDir() { + File file = new File(getAssetPath()); + if (file.isDirectory()) { + for (String str : file.list()) { + new File(file, str).delete(); + } + } + } + + public void saveDownloadListFile(DownloadFileData[] downloadFileDataArr) { + String downloadList = getDownloadList(downloadFileDataArr); + try { + FileOutputStream fileOutputStream = new FileOutputStream(getFilePath(DOWNLOAD_CONTROL_FILE2)); + fileOutputStream.write(downloadList.getBytes()); + fileOutputStream.close(); + } catch (Exception e) { + Logging.DEBUG_OUT_STACK(e); + } + } + + public String getDownloadList(DownloadFileData[] downloadFileDataArr) { + String str = ""; + for (int i = 0; i < downloadFileDataArr.length; i++) { + if (downloadFileDataArr[i].getType() == 2) { + str = str + getFileList(downloadFileDataArr[i]); + } + } + return str; + } + + /* JADX WARN: Multi-variable type inference failed */ + /* JADX WARN: Removed duplicated region for block: B:38:0x00a3 A[EXC_TOP_SPLITTER, SYNTHETIC] */ + /* JADX WARN: Type inference failed for: r1v0, types: [java.io.BufferedReader, java.io.DataInputStream] */ + /* JADX WARN: Type inference failed for: r1v13 */ + /* JADX WARN: Type inference failed for: r1v14 */ + /* JADX WARN: Type inference failed for: r1v2, types: [java.io.BufferedReader] */ + /* JADX WARN: Type inference failed for: r1v3 */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + private java.lang.String getFileList(com.eamobile.download.DownloadFileData r8) { + /* + r7 = this; + java.lang.String r0 = "" + r1 = 0 + java.net.URL r2 = new java.net.URL // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + java.lang.String r8 = r8.getFileURL() // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + r2.(r8) // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + java.net.URLConnection r8 = r2.openConnection() // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + r2 = 30000(0x7530, float:4.2039E-41) + r8.setConnectTimeout(r2) // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + r8.setReadTimeout(r2) // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + java.io.InputStream r8 = r8.getInputStream() // Catch: java.lang.Throwable -> L87 java.lang.Exception -> L8b + if (r8 != 0) goto L2f + if (r8 == 0) goto L2e + r8.close() // Catch: java.lang.Exception -> L2a + r1.close() // Catch: java.lang.Exception -> L2a + r1.close() // Catch: java.lang.Exception -> L2a + goto L2e + L2a: + r8 = move-exception + com.eamobile.download.Logging.DEBUG_OUT_STACK(r8) + L2e: + return r1 + L2f: + java.io.DataInputStream r2 = new java.io.DataInputStream // Catch: java.lang.Throwable -> L7f java.lang.Exception -> L82 + r2.(r8) // Catch: java.lang.Throwable -> L7f java.lang.Exception -> L82 + java.io.BufferedReader r3 = new java.io.BufferedReader // Catch: java.lang.Throwable -> L78 java.lang.Exception -> L7a + java.io.InputStreamReader r4 = new java.io.InputStreamReader // Catch: java.lang.Throwable -> L78 java.lang.Exception -> L7a + r4.(r2) // Catch: java.lang.Throwable -> L78 java.lang.Exception -> L7a + r5 = 8192(0x2000, float:1.148E-41) + r3.(r4, r5) // Catch: java.lang.Throwable -> L78 java.lang.Exception -> L7a + L40: + java.lang.String r1 = r3.readLine() // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + if (r1 == 0) goto L65 + java.lang.String r4 = "\t" + java.lang.String[] r1 = r1.split(r4) // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + java.lang.StringBuilder r4 = new java.lang.StringBuilder // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + r4.() // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + r4.append(r0) // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + r5 = 0 + r1 = r1[r5] // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + r4.append(r1) // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + java.lang.String r1 = "\n" + r4.append(r1) // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + java.lang.String r1 = r4.toString() // Catch: java.lang.Exception -> L76 java.lang.Throwable -> L9f + r0 = r1 + goto L40 + L65: + if (r8 == 0) goto L9e + r8.close() // Catch: java.lang.Exception -> L71 + r2.close() // Catch: java.lang.Exception -> L71 + r3.close() // Catch: java.lang.Exception -> L71 + goto L9e + L71: + r8 = move-exception + com.eamobile.download.Logging.DEBUG_OUT_STACK(r8) + goto L9e + L76: + r1 = move-exception + goto L90 + L78: + r0 = move-exception + goto La1 + L7a: + r3 = move-exception + r6 = r3 + r3 = r1 + r1 = r6 + goto L90 + L7f: + r0 = move-exception + r2 = r1 + goto La1 + L82: + r2 = move-exception + r3 = r1 + r1 = r2 + r2 = r3 + goto L90 + L87: + r0 = move-exception + r8 = r1 + r2 = r8 + goto La1 + L8b: + r8 = move-exception + r2 = r1 + r3 = r2 + r1 = r8 + r8 = r3 + L90: + com.eamobile.download.Logging.DEBUG_OUT_STACK(r1) // Catch: java.lang.Throwable -> L9f + if (r8 == 0) goto L9e + r8.close() // Catch: java.lang.Exception -> L71 + r2.close() // Catch: java.lang.Exception -> L71 + r3.close() // Catch: java.lang.Exception -> L71 + L9e: + return r0 + L9f: + r0 = move-exception + r1 = r3 + La1: + if (r8 == 0) goto Lb1 + r8.close() // Catch: java.lang.Exception -> Lad + r2.close() // Catch: java.lang.Exception -> Lad + r1.close() // Catch: java.lang.Exception -> Lad + goto Lb1 + Lad: + r8 = move-exception + com.eamobile.download.Logging.DEBUG_OUT_STACK(r8) + Lb1: + throw r0 + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.download.AssetManager.getFileList(com.eamobile.download.DownloadFileData):java.lang.String"); + } + + public long getTotalSize(String str) { + long j = 0; + for (String str2 : str.split("\n")) { + j += getFileSize(str2); + } + return j; + } + + public long getFileSize(String str) { + File file = new File(getFilePath(str)); + if (file.exists()) { + Logging.DEBUG_OUT("File: " + getFilePath(str) + " Size: " + file.length()); + return file.length(); + } + Logging.DEBUG_OUT("File: " + getFilePath(str) + " Size: 0"); + return 0L; + } + + private boolean checkFiles(ArrayList arrayList) { + Logging.DEBUG_OUT("[checkFiles]"); + for (int i = 0; i < arrayList.size(); i++) { + String filePath = getFilePath(arrayList.get(i)); + if (!new File(filePath).exists()) { + Logging.DEBUG_OUT("\tChecking file: " + filePath + " (NOT FOUND)"); + new File(getFilePath(DOWNLOAD_CONTROL_FILE1)).delete(); + return false; + } + Logging.DEBUG_OUT("\tChecking file: " + filePath + " (OK)"); + } + Logging.DEBUG_OUT(" "); + return true; + } + + public boolean isAssetVersionCompatible(String str) { + String localAssetVersion = getLocalAssetVersion(); + Logging.DEBUG_OUT("Checking asset version:"); + Logging.DEBUG_OUT("\tLocal asset version: " + localAssetVersion); + Logging.DEBUG_OUT("\tMinimum asset version: " + str); + if (isVersionLower(localAssetVersion, str)) { + Logging.DEBUG_OUT("FAILED"); + return false; + } + Logging.DEBUG_OUT("OK"); + return true; + } + + public boolean isVersionLower(String str, String str2) { + int compareTo = normalisedVersion(str2).compareTo(normalisedVersion(str)); + return compareTo >= 0 && compareTo > 0; + } + + private String normalisedVersion(String str) { + return normalisedVersion(str, ".", 4); + } + + private String normalisedVersion(String str, String str2, int i) { + String[] split = Pattern.compile(str2, 16).split(str); + StringBuilder sb = new StringBuilder(); + for (String str3 : split) { + sb.append(String.format("%" + i + 's', str3)); + } + return sb.toString(); + } + + private boolean exists(String str, String str2) { + String str3 = ""; + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader(new File(str2)), 8192); + while (true) { + String readLine = bufferedReader.readLine(); + if (readLine == null) { + break; + } + str3 = str3 + readLine + "\r\n"; + } + Logging.DEBUG_OUT("Existing Text:" + str3 + ", new Value:" + str); + bufferedReader.close(); + } catch (Exception unused) { + } + return str3.contains(str); + } + + public Properties loadAssetInfo() { + try { + File file = new File(getFilePath(ADC_ASSET_INFO_FILE)); + if (!file.exists()) { + return null; + } + FileInputStream fileInputStream = new FileInputStream(file); + Properties properties = new Properties(); + properties.load(fileInputStream); + return properties; + } catch (Exception e) { + Logging.DEBUG_OUT("\tException while loading properties from: AssetInfo.indicate"); + Logging.DEBUG_OUT_STACK(e); + return null; + } + } + + public void saveAssetInfo(Properties properties) { + try { + FileOutputStream fileOutputStream = new FileOutputStream(getFilePath(ADC_ASSET_INFO_FILE)); + properties.store(fileOutputStream, ""); + fileOutputStream.close(); + } catch (Exception e) { + Logging.DEBUG_OUT("\tException while saving properties to: AssetInfo.indicate"); + Logging.DEBUG_OUT_STACK(e); + } + } +} diff --git a/app/src/main/java/com/eamobile/download/ChecksumValidator.java b/app/src/main/java/com/eamobile/download/ChecksumValidator.java new file mode 100644 index 0000000..5f21923 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/ChecksumValidator.java @@ -0,0 +1,44 @@ +package com.eamobile.download; + +import java.io.FileInputStream; +import java.io.IOException; +import java.util.zip.CRC32; +import java.util.zip.CheckedInputStream; + +/* loaded from: classes.dex */ +public class ChecksumValidator { + public static boolean validate(String str, String str2, long j) { + String str3; + boolean z = true; + if (str.contains(str2)) { + str3 = str.substring(str.lastIndexOf(str2) + (str2.charAt(str2.length() - 1) == '/' ? str2.length() : str2.length() + 1)); + } else { + str3 = str; + } + Logging.DEBUG_OUT("Validating checksum for " + str3); + try { + CheckedInputStream checkedInputStream = new CheckedInputStream(new FileInputStream(str), new CRC32()); + while (checkedInputStream.read(new byte[8192]) != -1) { + } + long value = checkedInputStream.getChecksum().getValue(); + checkedInputStream.close(); + if (value != j) { + z = false; + } + if (z) { + Logging.DEBUG_OUT("Checksums match: " + j); + Logging.DEBUG_OUT("File " + str3 + " downloaded successfully"); + } else { + Logging.DEBUG_OUT("[ERROR] Checksums do not match FileChecksum:" + value + ", Server Checksums:" + j); + StringBuilder sb = new StringBuilder(); + sb.append("File "); + sb.append(str3); + sb.append(" failed to download"); + Logging.DEBUG_OUT(sb.toString()); + } + return z; + } catch (IOException unused) { + return false; + } + } +} diff --git a/app/src/main/java/com/eamobile/download/Constants.java b/app/src/main/java/com/eamobile/download/Constants.java new file mode 100644 index 0000000..8e7cd77 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/Constants.java @@ -0,0 +1,9 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class Constants { + public static final String ADC_BUILD_LOCAL = "@ADC_BUILD_LOCAL_DYNAMIC_VALUE@"; + public static final String ADC_BUILD_TIME = "@ADC_BUILD_TIME_DYNAMIC_VALUE@"; + public static final String ADC_BUILD_VERSION = "@ADC_BUILD_VERSION_DYNAMIC_VALUE@"; + public static final int DEFAULT_BUFFER_SIZE = 8192; +} diff --git a/app/src/main/java/com/eamobile/download/Device.java b/app/src/main/java/com/eamobile/download/Device.java new file mode 100644 index 0000000..db50636 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/Device.java @@ -0,0 +1,33 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class Device { + private int height; + private String name; + private int width; + + public Device(String str, int i, int i2) { + this.name = ""; + this.width = 0; + this.height = 0; + this.name = str; + this.width = i; + this.height = i2; + } + + public String getName() { + return this.name; + } + + public String getResolutionString() { + return this.width + "x" + this.height; + } + + public int getWidth() { + return this.width; + } + + public int getHeight() { + return this.height; + } +} diff --git a/app/src/main/java/com/eamobile/download/DeviceData.java b/app/src/main/java/com/eamobile/download/DeviceData.java new file mode 100644 index 0000000..d9d3c82 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/DeviceData.java @@ -0,0 +1,119 @@ +package com.eamobile.download; + +import java.util.EnumSet; +import java.util.Set; + +/* loaded from: classes.dex */ +public class DeviceData { + private String brandName; + private String deviceName; + private String glExtensions; + private int height; + private int width; + + public enum TextureType { + PVR, + ATI, + DXT, + ETC, + S3TC, + _3DC, + PALETTED, + LATC, + UNCOMPRESSED + } + + public String getDeviceName() { + return this.deviceName; + } + + public void setDeviceName(String str) { + this.deviceName = str; + } + + public String getBrandName() { + return this.brandName; + } + + public void setBrandName(String str) { + this.brandName = str; + } + + public int getWidth() { + return this.width; + } + + public int getHeight() { + return this.height; + } + + public void setResolution(int i, int i2) { + this.width = i; + this.height = i2; + } + + public String getGlExtensions() { + return this.glExtensions; + } + + public void setGlExtensions(String str) { + this.glExtensions = str; + } + + public EnumSet getSupportedTextureTypes() { + EnumSet of = EnumSet.of(TextureType.UNCOMPRESSED); + if (this.glExtensions.contains("GL_IMG_texture_compression_pvrtc")) { + of.add(TextureType.PVR); + } + if (this.glExtensions.contains("GL_ATI_compressed_texture_atitc") || this.glExtensions.contains("GL_AMD_compressed_ATC_texture") || this.glExtensions.contains("GL_ATI_texture_compression_atitc")) { + of.add(TextureType.ATI); + } + if (this.glExtensions.contains("GL_EXT_texture_compression_dxt1") || this.glExtensions.contains("GL_EXT_texture_compression_dxt3") || this.glExtensions.contains("GL_EXT_texture_compression_dxt5")) { + of.add(TextureType.DXT); + } + if (this.glExtensions.contains("GL_OES_compressed_ETC1_RGB8_texture")) { + of.add(TextureType.ETC); + } + if (this.glExtensions.contains("GL_OES_texture_compression_S3TC") || this.glExtensions.contains("GL_EXT_texture_compression_s3tc")) { + of.add(TextureType.S3TC); + } + if (this.glExtensions.contains("GL_AMD_compressed_3DC_texture")) { + of.add(TextureType._3DC); + } + if (this.glExtensions.contains("GL_OES_compressed_paletted_texture")) { + of.add(TextureType.PALETTED); + } + if (this.glExtensions.contains("GL_EXT_texture_compression_latc")) { + of.add(TextureType.LATC); + } + return of; + } + + public void forceTexture(Set set) { + this.glExtensions = ""; + if (set.contains(TextureType.PVR)) { + this.glExtensions += "GL_IMG_texture_compression_pvrtc "; + } + if (set.contains(TextureType.ATI)) { + this.glExtensions += "GL_ATI_compressed_texture_atitc "; + } + if (set.contains(TextureType.DXT)) { + this.glExtensions += "GL_EXT_texture_compression_dxt1 "; + } + if (set.contains(TextureType.ETC)) { + this.glExtensions += "GL_OES_compressed_ETC1_RGB8_texture "; + } + if (set.contains(TextureType.S3TC)) { + this.glExtensions += "GL_OES_texture_compression_S3TC "; + } + if (set.contains(TextureType._3DC)) { + this.glExtensions += "GL_AMD_compressed_3DC_texture "; + } + if (set.contains(TextureType.PALETTED)) { + this.glExtensions += "GL_OES_compressed_paletted_texture "; + } + if (set.contains(TextureType.LATC)) { + this.glExtensions += "GL_EXT_texture_compression_latc "; + } + } +} diff --git a/app/src/main/java/com/eamobile/download/DownloadFileData.java b/app/src/main/java/com/eamobile/download/DownloadFileData.java new file mode 100644 index 0000000..d58ebdc --- /dev/null +++ b/app/src/main/java/com/eamobile/download/DownloadFileData.java @@ -0,0 +1,75 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class DownloadFileData { + public static final int FILE_TYPE_CHECKSUMS = 2; + public static final int FILE_TYPE_OTHER = 3; + public static final int FILE_TYPE_ZIP = 1; + private String fileName; + private String fileURL; + private String language; + private int size; + private int type; + private String version; + + public DownloadFileData(String str, int i, String str2, String str3, String str4, int i2) { + this.fileName = str; + this.size = i; + this.version = str2; + this.language = str3; + this.fileURL = str4; + this.type = i2; + } + + public String getFileName() { + return this.fileName; + } + + public void setFileName(String str) { + this.fileName = str; + } + + public int getSize() { + return this.size; + } + + public void setSize(int i) { + this.size = i; + } + + public String getVersion() { + return this.version; + } + + public void setVersion(String str) { + this.version = str; + } + + public String getLanguage() { + return this.language; + } + + public void setLanguage(String str) { + this.language = str; + } + + public String getFileURL() { + return this.fileURL; + } + + public void setFileURL(String str) { + this.fileURL = str; + } + + public int getType() { + return this.type; + } + + public void setType(int i) { + this.type = i; + } + + public String toString() { + return this.fileName + " " + this.size + " " + this.version + " " + this.language + " " + this.fileURL + " " + this.type; + } +} diff --git a/app/src/main/java/com/eamobile/download/DownloadProgress.java b/app/src/main/java/com/eamobile/download/DownloadProgress.java new file mode 100644 index 0000000..8973860 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/DownloadProgress.java @@ -0,0 +1,91 @@ +package com.eamobile.download; + +import java.util.HashMap; + +/* loaded from: classes.dex */ +public class DownloadProgress { + private FileProgress currentFileProgress; + private boolean isLastReportDownload; + private HashMap progressMap; + private long realDownloaded; + private long sizeDownloaded; + + class FileProgress { + public long downloaded; + public long total; + + FileProgress(long j, long j2) { + this.downloaded = j; + this.total = j2; + } + } + + public DownloadProgress() { + Logging.DEBUG_OUT("DownloadProgress: constructor"); + this.sizeDownloaded = 0L; + this.realDownloaded = 0L; + this.progressMap = new HashMap<>(); + this.currentFileProgress = null; + this.isLastReportDownload = true; + } + + public void setFlagLastReportDownload(boolean z) { + this.isLastReportDownload = z; + } + + public boolean getFlagLastReportDownload() { + return this.isLastReportDownload; + } + + public long getSizeDownloaded() { + return this.sizeDownloaded; + } + + public long getRealDownloaded() { + return this.realDownloaded; + } + + public void setCurrentFile(String str, long j) { + Logging.DEBUG_OUT("DownloadProgress: controlling progress for: " + str); + Logging.DEBUG_OUT("DownloadProgress: size: " + j); + FileProgress fileProgress = this.progressMap.get(str); + if (fileProgress == null) { + this.currentFileProgress = new FileProgress(0L, j); + this.progressMap.put(str, this.currentFileProgress); + } else { + this.currentFileProgress = fileProgress; + } + } + + public void reportProgress(long j, boolean z) { + if (this.currentFileProgress != null) { + if (j > this.currentFileProgress.total) { + j = this.currentFileProgress.total; + } + long j2 = j - this.currentFileProgress.downloaded; + if (j2 > 0) { + if (z) { + this.sizeDownloaded += j2; + } + this.currentFileProgress.downloaded = j; + } + } + } + + public void fillCurrentFileDownload(boolean z) { + if (this.currentFileProgress != null) { + long j = this.currentFileProgress.total - this.currentFileProgress.downloaded; + if (j < 0) { + j = 0; + } + this.currentFileProgress.downloaded += j; + if (z) { + this.sizeDownloaded += j; + } + } + } + + public void reportTotalDownloaded(long j) { + this.realDownloaded += j; + } +} diff --git a/app/src/main/java/com/eamobile/download/IZipExtractorEvent.java b/app/src/main/java/com/eamobile/download/IZipExtractorEvent.java new file mode 100644 index 0000000..6ed9be2 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/IZipExtractorEvent.java @@ -0,0 +1,12 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public interface IZipExtractorEvent { + void onExtractEntryFinish(); + + void onExtractEntryStart(String str, long j); + + void onReportDownload(int i); + + void onReportProgress(int i); +} diff --git a/app/src/main/java/com/eamobile/download/LocalZipExtractorEvent.java b/app/src/main/java/com/eamobile/download/LocalZipExtractorEvent.java new file mode 100644 index 0000000..4ac3313 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/LocalZipExtractorEvent.java @@ -0,0 +1,22 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class LocalZipExtractorEvent implements IZipExtractorEvent { + @Override // com.eamobile.download.IZipExtractorEvent + public void onReportDownload(int i) { + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onReportProgress(int i) { + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onExtractEntryStart(String str, long j) { + Logging.DEBUG_OUT("LocalZipExtractorEvent.onExtractEntryStart"); + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onExtractEntryFinish() { + Logging.DEBUG_OUT("LocalZipExtractorEvent.onExtractEntryFinish"); + } +} diff --git a/app/src/main/java/com/eamobile/download/LockManager.java b/app/src/main/java/com/eamobile/download/LockManager.java new file mode 100644 index 0000000..dd5dcb0 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/LockManager.java @@ -0,0 +1,90 @@ +package com.eamobile.download; + +import android.content.Context; +import android.net.wifi.WifiManager; +import android.os.PowerManager; + +/* loaded from: classes.dex */ +public class LockManager { + private static final String ADC_WAKE_LOCK_TAG = "ADCWakeLock"; + private static final String ADC_WIFI_LOCK_TAG = "ADCWifiLock"; + private Context context; + private WifiManager.WifiLock wifiLock; + private WifiManager wifiManager = null; + private PowerManager powerManager = null; + private PowerManager.WakeLock wakeLock = null; + + public LockManager(Context context) { + this.context = context; + } + + public boolean acquireWifiLock() { + try { + if (this.wifiManager == null) { + this.wifiManager = (WifiManager) this.context.getSystemService("wifi"); + } + if (this.wifiManager != null && this.wifiLock == null) { + this.wifiLock = this.wifiManager.createWifiLock(1, ADC_WIFI_LOCK_TAG); + } + if (this.wifiLock != null) { + if (!this.wifiLock.isHeld()) { + this.wifiLock.acquire(); + Logging.DEBUG_OUT("LockManager.acquireWifiLock() successfully called."); + return true; + } + Logging.DEBUG_OUT("LockManager.acquireWifiLock() - wifiLock already acquired."); + return false; + } + Logging.DEBUG_OUT("[ERROR] While acquiring WifiLock (LockManager.acquireWifiLock())."); + return false; + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred in LockManager.acquireWifiLock()."); + Logging.DEBUG_OUT_STACK(e); + return false; + } + } + + public void releaseWifiLock() { + if (this.wifiLock == null || !this.wifiLock.isHeld()) { + return; + } + this.wifiLock.release(); + this.wifiLock = null; + Logging.DEBUG_OUT("LockManager.releaseWifiLock() successfully called."); + } + + public boolean acquireWakeLock() { + try { + if (this.powerManager == null) { + this.powerManager = (PowerManager) this.context.getSystemService("power"); + } + if (this.powerManager != null && this.wakeLock == null) { + this.wakeLock = this.powerManager.newWakeLock(6, ADC_WAKE_LOCK_TAG); + } + if (this.wakeLock != null) { + if (!this.wakeLock.isHeld()) { + this.wakeLock.acquire(); + Logging.DEBUG_OUT("LockManager.acquireWakeLock() successfully called."); + return true; + } + Logging.DEBUG_OUT("LockManager.acquireWakeLock() - wakeLock already acquired."); + return false; + } + Logging.DEBUG_OUT("[ERROR] While acquiring WakeLock (LockManager.acquireWakeLock())."); + return false; + } catch (Exception e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred in LockManager.acquireWakeLock()."); + Logging.DEBUG_OUT_STACK(e); + return false; + } + } + + public void releaseWakeLock() { + if (this.wakeLock == null || !this.wakeLock.isHeld()) { + return; + } + this.wakeLock.release(); + this.wakeLock = null; + Logging.DEBUG_OUT("LockManager.releaseWakeLock() successfully called."); + } +} diff --git a/app/src/main/java/com/eamobile/download/Logging.java b/app/src/main/java/com/eamobile/download/Logging.java new file mode 100644 index 0000000..6467263 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/Logging.java @@ -0,0 +1,60 @@ +package com.eamobile.download; + +import android.os.Environment; +import android.util.Log; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.StringWriter; + +/* loaded from: classes.dex */ +public class Logging { + public static boolean DEBUG_ON; + static OutputStream out; + + public static void DEBUG_INIT() { + if (new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/debug.enable").exists()) { + DEBUG_ON = true; + DEBUG_OUT("*** WARNING: debug.enable found in SD card root, enabling debug output. ***"); + DEBUG_OUT("*** ADC-only debug output is saved in SD card root, under debug.txt file. ***"); + } + if (DEBUG_ON) { + try { + out = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath() + "/debug.txt", true); + } catch (Throwable th) { + th.printStackTrace(); + } + } + } + + public static void DEBUG_OUT(String str) { + if (DEBUG_ON) { + Log.w("DownloadActivity", str); + try { + if (out != null) { + out.write((str + "\n").getBytes()); + } + } catch (IOException unused) { + } + } + } + + public static void DEBUG_OUT_STACK(Exception exc) { + StringWriter stringWriter = new StringWriter(); + exc.printStackTrace(new PrintWriter(stringWriter)); + DEBUG_OUT(stringWriter.toString()); + } + + public static void DEBUG_CLOSE() { + if (DEBUG_ON) { + try { + out.flush(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} diff --git a/app/src/main/java/com/eamobile/download/MemoryStatus.java b/app/src/main/java/com/eamobile/download/MemoryStatus.java new file mode 100644 index 0000000..70256ce --- /dev/null +++ b/app/src/main/java/com/eamobile/download/MemoryStatus.java @@ -0,0 +1,62 @@ +package com.eamobile.download; + +import android.os.Environment; +import android.os.StatFs; +import android.support.v4.media.session.PlaybackStateCompat; + +/* loaded from: classes.dex */ +public final class MemoryStatus { + static final int ERROR = -1; + + public static boolean externalMemoryAvailable() { + return Environment.getExternalStorageState().equals("mounted"); + } + + public static long getAvailableInternalMemorySize() { + StatFs statFs = new StatFs(Environment.getDataDirectory().getPath()); + return statFs.getAvailableBlocks() * statFs.getBlockSize(); + } + + public static long getTotalInternalMemorySize() { + StatFs statFs = new StatFs(Environment.getDataDirectory().getPath()); + return statFs.getBlockCount() * statFs.getBlockSize(); + } + + public static long getAvailableExternalMemorySize() { + if (!externalMemoryAvailable()) { + return -1L; + } + StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); + return statFs.getAvailableBlocks() * statFs.getBlockSize(); + } + + public static long getTotalExternalMemorySize() { + if (!externalMemoryAvailable()) { + return -1L; + } + StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); + return statFs.getBlockCount() * statFs.getBlockSize(); + } + + public static String formatSize(long j) { + String str; + if (j >= PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) { + str = "KiB"; + j /= PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID; + if (j >= PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) { + str = "MiB"; + j /= PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID; + } + } else { + str = null; + } + StringBuilder sb = new StringBuilder(Long.toString(j)); + for (int length = sb.length() - 3; length > 0; length -= 3) { + sb.insert(length, ','); + } + if (str != null) { + sb.append(str); + } + return sb.toString(); + } +} diff --git a/app/src/main/java/com/eamobile/download/RandomAccessFileReadThread.java b/app/src/main/java/com/eamobile/download/RandomAccessFileReadThread.java new file mode 100644 index 0000000..813a900 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/RandomAccessFileReadThread.java @@ -0,0 +1,54 @@ +package com.eamobile.download; + +import java.io.IOException; +import java.io.InputStream; +import java.io.RandomAccessFile; + +/* loaded from: classes.dex */ +public class RandomAccessFileReadThread extends Thread { + private DownloadProgress downloadProgress; + private RandomAccessFile file; + private InputStream in; + public boolean killMe = false; + public long timestamp = System.currentTimeMillis(); + public boolean reading = true; + private byte[] buffer = new byte[8192]; + public int sizeDownloaded = 0; + public int currentFileSize = 0; + + public RandomAccessFileReadThread(InputStream inputStream, RandomAccessFile randomAccessFile, DownloadProgress downloadProgress) { + this.in = inputStream; + this.file = randomAccessFile; + this.downloadProgress = downloadProgress; + } + + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + int i = 0; + while (i != -1) { + if (i != 0) { + try { + this.timestamp = System.currentTimeMillis(); + } catch (IOException e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred in RandomAccessFileReadThread: " + e); + } + } + i = this.in.read(this.buffer); + if (this.killMe) { + break; + } + if (i == 0) { + Logging.DEBUG_OUT("0 BYTES READ>>>"); + } else if (i > 0) { + this.file.write(this.buffer, 0, i); + this.sizeDownloaded += i; + this.downloadProgress.reportTotalDownloaded(i); + this.currentFileSize = ((int) this.file.getFilePointer()) - 1; + if (this.currentFileSize < 0) { + this.currentFileSize = 0; + } + } + } + this.reading = false; + } +} diff --git a/app/src/main/java/com/eamobile/download/ReadThread.java b/app/src/main/java/com/eamobile/download/ReadThread.java new file mode 100644 index 0000000..e49d0f8 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/ReadThread.java @@ -0,0 +1,55 @@ +package com.eamobile.download; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/* loaded from: classes.dex */ +class ReadThread extends Thread { + private float compRatio; + private InputStream in; + private OutputStream out; + private IZipExtractorEvent zipExtractorEvent; + public boolean killMe = false; + public long timestamp = System.currentTimeMillis(); + public boolean reading = true; + public volatile boolean pause = false; + private byte[] buffer = new byte[8192]; + public int sizeDownloaded = 0; + + public ReadThread(InputStream inputStream, OutputStream outputStream, float f, IZipExtractorEvent iZipExtractorEvent) { + this.compRatio = 0.0f; + this.in = inputStream; + this.out = outputStream; + this.compRatio = f; + this.zipExtractorEvent = iZipExtractorEvent; + } + + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + int i = 0; + while (i != -1) { + if (i != 0) { + try { + this.timestamp = System.currentTimeMillis(); + } catch (IOException e) { + Logging.DEBUG_OUT("[ERROR] An exception occurred in ReadThread: " + e); + } + } + if (this.killMe) { + break; + } + if (!this.pause) { + i = this.in.read(this.buffer); + if (i == 0) { + Logging.DEBUG_OUT("0 BYTES READ>>>"); + } else if (i > 0) { + this.out.write(this.buffer, 0, i); + this.sizeDownloaded += i; + this.zipExtractorEvent.onReportDownload(Math.round(i * this.compRatio)); + } + } + } + this.reading = false; + } +} diff --git a/app/src/main/java/com/eamobile/download/RemoteZipExtractorEvent.java b/app/src/main/java/com/eamobile/download/RemoteZipExtractorEvent.java new file mode 100644 index 0000000..812c8de --- /dev/null +++ b/app/src/main/java/com/eamobile/download/RemoteZipExtractorEvent.java @@ -0,0 +1,34 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class RemoteZipExtractorEvent implements IZipExtractorEvent { + private DownloadProgress downloadProgress; + private DownloadFileData zipFileData; + + public RemoteZipExtractorEvent(DownloadProgress downloadProgress, DownloadFileData downloadFileData) { + this.downloadProgress = downloadProgress; + this.zipFileData = downloadFileData; + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onExtractEntryStart(String str, long j) { + Logging.DEBUG_OUT("RemoteZipExtractorEvent.onExtractEntryStart"); + this.downloadProgress.setCurrentFile("z_" + this.zipFileData.getFileName() + "_" + str, j); + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onExtractEntryFinish() { + Logging.DEBUG_OUT("RemoteZipExtractorEvent.onExtractEntryFinish"); + this.downloadProgress.fillCurrentFileDownload(true); + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onReportProgress(int i) { + this.downloadProgress.reportProgress(i, true); + } + + @Override // com.eamobile.download.IZipExtractorEvent + public void onReportDownload(int i) { + this.downloadProgress.reportTotalDownloaded(i); + } +} diff --git a/app/src/main/java/com/eamobile/download/SpeedCalculator.java b/app/src/main/java/com/eamobile/download/SpeedCalculator.java new file mode 100644 index 0000000..4398065 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/SpeedCalculator.java @@ -0,0 +1,41 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class SpeedCalculator { + private float smoothingFactor; + private float currentAmount = 0.0f; + private float previousAmount = 0.0f; + private float currentTime = 0.0f; + private float previousTime = 0.0f; + private float averageSpeed = 0.0f; + private float currentSpeed = 0.0f; + + public SpeedCalculator(float f) { + this.smoothingFactor = 0.0f; + this.smoothingFactor = f; + } + + public void reportAmount(float f, float f2) { + this.currentAmount = f; + this.currentTime = f2; + float f3 = this.currentAmount - this.previousAmount; + float f4 = this.currentTime - this.previousTime; + this.previousAmount = this.currentAmount; + this.previousTime = this.currentTime; + float f5 = (this.smoothingFactor * this.currentSpeed) + ((1.0f - this.smoothingFactor) * this.averageSpeed); + if (!Float.isNaN(f5) && !Float.isInfinite(f5)) { + this.averageSpeed = f5; + } + if (f4 > 0.001f) { + this.currentSpeed = f3 / f4; + } + } + + public float getCurrentSpeed() { + return this.averageSpeed; + } + + public void forceAmount(float f) { + this.previousAmount = f; + } +} diff --git a/app/src/main/java/com/eamobile/download/ZipExtractor.java b/app/src/main/java/com/eamobile/download/ZipExtractor.java new file mode 100644 index 0000000..8aacd01 --- /dev/null +++ b/app/src/main/java/com/eamobile/download/ZipExtractor.java @@ -0,0 +1,32 @@ +package com.eamobile.download; + +/* loaded from: classes.dex */ +public class ZipExtractor { + private static final int ERROR_ZIP_CHECKSUM_MATCH_FAILED = -4; + private static final int ERROR_ZIP_CHECKSUM_NOT_FOUND = -3; + private static final int ERROR_ZIP_EXCEPTION = -1; + private static final int ERROR_ZIP_NO_ENTRIES = -2; + private static final int NO_ZIP_ERRORS = 1; + private static boolean pause; + private static boolean pauseDirty; + private IZipExtractorEvent zipExtractorEvent; + + public static void setPause(boolean z) { + pause = z; + pauseDirty = true; + } + + /* JADX WARN: Removed duplicated region for block: B:60:0x0132 A[Catch: Exception -> 0x021b, TryCatch #2 {Exception -> 0x021b, blocks: (B:18:0x00fb, B:19:0x010e, B:21:0x0112, B:24:0x0125, B:27:0x0150, B:29:0x0154, B:30:0x017c, B:33:0x018f, B:35:0x019d, B:36:0x01a8, B:37:0x01ac, B:39:0x01b2, B:41:0x01c0, B:43:0x01c6, B:47:0x01d3, B:52:0x01d8, B:54:0x01a2, B:56:0x0206, B:58:0x0129, B:60:0x0132, B:62:0x013b), top: B:17:0x00fb, outer: #4, inners: #7 }] */ + /* JADX WARN: Removed duplicated region for block: B:63:0x013a */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public int extractFiles(java.io.InputStream r22, java.util.Hashtable r23, java.lang.String r24, int r25, com.eamobile.download.IZipExtractorEvent r26) { + /* + Method dump skipped, instructions count: 641 + To view this dump change 'Code comments level' option to 'DEBUG' + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.download.ZipExtractor.extractFiles(java.io.InputStream, java.util.Hashtable, java.lang.String, int, com.eamobile.download.IZipExtractorEvent):int"); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/ILicenseServerActivityCallback.java b/app/src/main/java/com/eamobile/licensing/ILicenseServerActivityCallback.java new file mode 100644 index 0000000..51ceb99 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/ILicenseServerActivityCallback.java @@ -0,0 +1,8 @@ +package com.eamobile.licensing; + +/* loaded from: classes.dex */ +public interface ILicenseServerActivityCallback { + void onLicenseResultEnd(); + + void onLicenseResultStart(); +} diff --git a/app/src/main/java/com/eamobile/licensing/LicenseServerActivity.java b/app/src/main/java/com/eamobile/licensing/LicenseServerActivity.java new file mode 100644 index 0000000..a1002f3 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/LicenseServerActivity.java @@ -0,0 +1,264 @@ +package com.eamobile.licensing; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.Handler; +import android.os.HandlerThread; +import com.android.vending.licensing.as; +import com.android.vending.licensing.bd; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; + +/* loaded from: classes.dex */ +public class LicenseServerActivity { + private static boolean H = false; + private static Activity I = null; + private static int N = -1; + private static int O = -1; + public static final String a = "com.android.vending.licensing.eapref"; + static final int l = -1; + static final int m = 13; + static final int n = 14; + static final int o = 15; + static final int p = 16; + static final int q = 17; + static final int r = 18; + static final int s = 19; + static final int t = 20; + static final int u = 21; + protected static final String v = "licenseserver/"; + protected static g w; + private static LicenseServerActivity z; + private r A; + private as B; + private String C; + private Context D; + private String E; + private b J; + private d K; + private a L; + private String M; + public q b; + public bd c; + byte[] d; + String e; + public String j; + private Handler F = null; + public Handler f = null; + Handler g = null; + public Handler h = null; + public Handler i = null; + private boolean G = false; + Bitmap k = null; + private String P = "en"; + ILicenseServerActivityCallback x = null; + ArrayList y = new ArrayList(); + + private LicenseServerActivity() { + } + + protected static Activity b() { + return I; + } + + private void g() { + if (this.B != null) { + this.B.a(); + this.B = null; + } + I = null; + z = null; + } + + public static LicenseServerActivity getInstance() { + if (z == null) { + z = new LicenseServerActivity(); + } + return z; + } + + private void h() { + if (this.L != null) { + this.L.b(); + } + if (this.K != null) { + this.K.b(); + } + } + + public boolean LastCheckPointCheck() { + return this.c.a().a().equals(this.M); + } + + public void a() { + this.f.post(new n(this)); + } + + /* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */ + /* JADX WARN: Removed duplicated region for block: B:13:0x0025 A[Catch: Exception -> 0x0010, TryCatch #0 {Exception -> 0x0010, blocks: (B:10:0x000d, B:11:0x0021, B:13:0x0025, B:14:0x0031, B:17:0x0012, B:18:0x0018, B:19:0x001b, B:20:0x001e), top: B:6:0x0007 }] */ + /* + Code decompiled incorrectly, please refer to instructions dump. + To view partially-correct code enable 'Show inconsistent code' option in preferences + */ + public void a(int r3) { + /* + r2 = this; + int r0 = com.eamobile.licensing.LicenseServerActivity.O + if (r3 != r0) goto L5 + return + L5: + r0 = 15 + if (r3 == r0) goto L1e + r0 = 0 + switch(r3) { + case 19: goto L1b; + case 20: goto L18; + case 21: goto L12; + default: goto Ld; + } + Ld: + r2.J = r0 // Catch: java.lang.Exception -> L10 + goto L21 + L10: + r3 = move-exception + goto L38 + L12: + r2.J = r0 // Catch: java.lang.Exception -> L10 + r2.a() // Catch: java.lang.Exception -> L10 + goto L21 + L18: + com.eamobile.licensing.a r0 = r2.L // Catch: java.lang.Exception -> L10 + goto Ld + L1b: + com.eamobile.licensing.d r0 = r2.K // Catch: java.lang.Exception -> L10 + goto Ld + L1e: + com.eamobile.licensing.d r0 = r2.K // Catch: java.lang.Exception -> L10 + goto Ld + L21: + com.eamobile.licensing.b r0 = r2.J // Catch: java.lang.Exception -> L10 + if (r0 == 0) goto L31 + com.eamobile.licensing.b r0 = r2.J // Catch: java.lang.Exception -> L10 + r0.a() // Catch: java.lang.Exception -> L10 + android.app.Activity r0 = com.eamobile.licensing.LicenseServerActivity.I // Catch: java.lang.Exception -> L10 + com.eamobile.licensing.b r1 = r2.J // Catch: java.lang.Exception -> L10 + r0.setContentView(r1) // Catch: java.lang.Exception -> L10 + L31: + int r0 = com.eamobile.licensing.LicenseServerActivity.N // Catch: java.lang.Exception -> L10 + com.eamobile.licensing.LicenseServerActivity.O = r0 // Catch: java.lang.Exception -> L10 + com.eamobile.licensing.LicenseServerActivity.N = r3 // Catch: java.lang.Exception -> L10 + goto L4c + L38: + java.lang.StringBuilder r0 = new java.lang.StringBuilder + r0.() + java.lang.String r1 = "Exception in setState:" + r0.append(r1) + r0.append(r3) + java.lang.String r3 = r0.toString() + com.eamobile.licensing.z.a(r3) + L4c: + return + */ + throw new UnsupportedOperationException("Method not decompiled: com.eamobile.licensing.LicenseServerActivity.a(int):void"); + } + + protected void a(Context context) { + if (this.L == null) { + this.L = new a(context); + } + if (this.K == null) { + this.K = new d(context); + } + } + + public void c() { + } + + public int d() { + return N; + } + + public void destroyLicenseServerActvity() { + if (this.k != null) { + this.k.recycle(); + this.k = null; + } + h(); + H = false; + N = -1; + g(); + } + + protected int e() { + return O; + } + + protected void f() { + h(); + H = false; + N = -1; + g(); + } + + public void initLicenseServerActivity(Activity activity, ILicenseServerActivityCallback iLicenseServerActivityCallback, Context context, byte[] bArr, String str, String str2, String str3) { + if (this.G) { + return; + } + this.G = true; + this.M = str3; + if (this.M == null) { + this.M = "001"; + } + this.g = new h(this); + this.C = str2; + this.D = context; + this.d = bArr; + this.e = str; + this.F = new i(this); + this.h = new j(this); + this.i = new k(this); + HandlerThread handlerThread = new HandlerThread("waitting thread"); + handlerThread.start(); + this.f = new Handler(handlerThread.getLooper()); + h hVar = null; + this.b = new q(this, hVar); + this.A = new r(this, hVar); + this.y.add(new l(this)); + this.y.add(new m(this)); + this.f.post(new o(this)); + if (I == null) { + I = activity; + this.x = iLicenseServerActivityCallback; + } + try { + InputStream open = context.getAssets().open("licenseserver/title.png"); + if (open != null) { + this.k = Bitmap.createBitmap(BitmapFactory.decodeStream(open)); + open.close(); + } + z.a("CREATING BITMAP IMAGE"); + } catch (IOException unused) { + this.k = null; + } + if (w == null) { + w = new g(); + this.P = context.getResources().getConfiguration().locale.toString(); + String language = context.getResources().getConfiguration().locale.getLanguage(); + z.a("Locale>>>>>:" + this.P); + z.a("Language>>>>>:" + language); + if (!w.a(this.P) && !w.a(language)) { + this.P = "en"; + w.a("en"); + } + } + a(context); + if (H) { + return; + } + H = true; + a(20); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/a.java b/app/src/main/java/com/eamobile/licensing/a.java new file mode 100644 index 0000000..c2b623e --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/a.java @@ -0,0 +1,48 @@ +package com.eamobile.licensing; + +import android.app.ProgressDialog; +import android.content.Context; +import android.view.View; + +/* loaded from: classes.dex */ +public class a extends b { + ProgressDialog a; + + public a(Context context) { + super(context); + this.b = context; + } + + private void a(View view) { + this.a = new com.a.a.h(this.b); + this.a.setCancelable(true); + this.a.setTitle(g.a(2)); + this.a.setMessage(g.a(3)); + this.a.setIndeterminate(true); + this.a.setCancelable(false); + this.a.show(); + } + + @Override // com.eamobile.licensing.b, com.eamobile.licensing.f + public void a() { + super.a(); + a(this); + } + + @Override // com.eamobile.licensing.b, com.eamobile.licensing.f + public void b() { + super.b(); + try { + this.a.dismiss(); + } catch (Exception unused) { + } + } + + @Override // android.view.View + protected void onWindowVisibilityChanged(int i) { + super.onWindowVisibilityChanged(i); + if (i == 8) { + this.a.cancel(); + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/b.java b/app/src/main/java/com/eamobile/licensing/b.java new file mode 100644 index 0000000..ccb43ef --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/b.java @@ -0,0 +1,40 @@ +package com.eamobile.licensing; + +import android.content.Context; +import android.widget.Button; +import android.widget.LinearLayout; + +/* loaded from: classes.dex */ +public class b extends LinearLayout implements f { + protected static final float c = 16.0f; + protected Context b; + + public b(Context context) { + super(context); + this.b = context; + } + + public static Button a(Context context, LinearLayout linearLayout, String str) { + Button button = new Button(context); + button.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + button.setPadding(15, 15, 15, 15); + button.setTextSize(c); + button.setText(str); + linearLayout.addView(button); + return button; + } + + public void a() { + c(); + } + + public void b() { + } + + protected void c() { + setLayoutParams(new LinearLayout.LayoutParams(-1, -2)); + setOrientation(1); + setGravity(48); + setBackgroundDrawable(new c(this)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/c.java b/app/src/main/java/com/eamobile/licensing/c.java new file mode 100644 index 0000000..bb7e059 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/c.java @@ -0,0 +1,35 @@ +package com.eamobile.licensing; + +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.drawable.Drawable; + +/* loaded from: classes.dex */ +class c extends Drawable { + final /* synthetic */ b a; + + c(b bVar) { + this.a = bVar; + } + + @Override // android.graphics.drawable.Drawable + public void draw(Canvas canvas) { + if (LicenseServerActivity.getInstance().k != null) { + canvas.drawBitmap(LicenseServerActivity.getInstance().k, (canvas.getWidth() - LicenseServerActivity.getInstance().k.getWidth()) >> 1, (canvas.getHeight() - LicenseServerActivity.getInstance().k.getHeight()) >> 1, (Paint) null); + } + } + + @Override // android.graphics.drawable.Drawable + public int getOpacity() { + return 0; + } + + @Override // android.graphics.drawable.Drawable + public void setAlpha(int i) { + } + + @Override // android.graphics.drawable.Drawable + public void setColorFilter(ColorFilter colorFilter) { + } +} diff --git a/app/src/main/java/com/eamobile/licensing/d.java b/app/src/main/java/com/eamobile/licensing/d.java new file mode 100644 index 0000000..754adca --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/d.java @@ -0,0 +1,41 @@ +package com.eamobile.licensing; + +import android.app.Dialog; +import android.content.Context; +import android.view.View; + +/* loaded from: classes.dex */ +public class d extends b { + Dialog a; + + public d(Context context) { + super(context); + this.b = context; + } + + private void a(View view) { + String a = g.a(1); + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + if (licenseServerActivity.j != null) { + a = a + " " + licenseServerActivity.j; + } + com.a.a.b bVar = new com.a.a.b(this.b); + bVar.b(a).a(g.a(3)).a(false).b(g.a(0), new e(this)); + bVar.b(); + } + + @Override // com.eamobile.licensing.b, com.eamobile.licensing.f + public void a() { + super.a(); + a(this); + } + + @Override // com.eamobile.licensing.b, com.eamobile.licensing.f + public void b() { + super.b(); + try { + this.a.dismiss(); + } catch (Exception unused) { + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/e.java b/app/src/main/java/com/eamobile/licensing/e.java new file mode 100644 index 0000000..7fea0ab --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/e.java @@ -0,0 +1,20 @@ +package com.eamobile.licensing; + +import android.content.DialogInterface; + +/* loaded from: classes.dex */ +class e implements DialogInterface.OnClickListener { + final /* synthetic */ d a; + + e(d dVar) { + this.a = dVar; + } + + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + try { + LicenseServerActivity.getInstance().a(); + } catch (Throwable unused) { + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/f.java b/app/src/main/java/com/eamobile/licensing/f.java new file mode 100644 index 0000000..2e7b3f8 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/f.java @@ -0,0 +1,8 @@ +package com.eamobile.licensing; + +/* loaded from: classes.dex */ +public interface f { + void a(); + + void b(); +} diff --git a/app/src/main/java/com/eamobile/licensing/g.java b/app/src/main/java/com/eamobile/licensing/g.java new file mode 100644 index 0000000..f1de99a --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/g.java @@ -0,0 +1,199 @@ +package com.eamobile.licensing; + +import java.io.DataInput; +import java.io.DataInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.Vector; + +/* loaded from: classes.dex */ +public class g { + public static final int a = 0; + public static final int b = 1; + public static final int c = 2; + public static final int d = 3; + public static final String[] e = new String[4]; + public static final int g = 2; + public static final int h = 1; + public static final char i = '\n'; + private static final int j = 4; + private static int l; + public final int f = 8096; + private String k; + + public static char a(DataInput dataInput) { + int readUnsignedByte; + if (l == 2) { + int readUnsignedShort = dataInput.readUnsignedShort(); + readUnsignedByte = ((readUnsignedShort & 255) << 8) | (readUnsignedShort >> 8); + } else { + readUnsignedByte = dataInput.readUnsignedByte(); + } + return (char) readUnsignedByte; + } + + public static String a(int i2) { + return a(i2, null); + } + + public static String a(int i2, String[] strArr) { + String str = e[i2]; + if (strArr != null) { + try { + if (strArr.length > 0) { + int i3 = 0; + while (str.indexOf("%%") != -1 && i3 < strArr.length) { + int indexOf = str.indexOf("%%"); + i3++; + str = str.substring(0, indexOf) + strArr[i3] + str.substring(indexOf + 2); + } + } + } catch (Exception e2) { + z.a("Exception e:" + e2); + } + } + return str; + } + + public static String a(DataInput dataInput, char c2, boolean z) { + StringBuffer stringBuffer = new StringBuffer(); + while (true) { + char a2 = a(dataInput); + if (a2 == c2) { + break; + } + stringBuffer.append(a2); + } + String stringBuffer2 = stringBuffer.toString(); + if (stringBuffer2 != null) { + return stringBuffer2.trim(); + } + return null; + } + + public static int b(String str) { + DataInputStream dataInputStream; + DataInputStream dataInputStream2 = null; + try { + try { + dataInputStream = new DataInputStream(LicenseServerActivity.b().getAssets().open(str)); + } catch (IOException unused) { + } catch (Throwable th) { + th = th; + } + try { + r0 = dataInputStream.readUnsignedShort() == 65534 ? 2 : 1; + dataInputStream.close(); + } catch (IOException unused2) { + dataInputStream2 = dataInputStream; + dataInputStream2.close(); + return r0; + } catch (Throwable th2) { + th = th2; + dataInputStream2 = dataInputStream; + try { + dataInputStream2.close(); + } catch (Exception unused3) { + } + throw th; + } + } catch (Exception unused4) { + } + return r0; + } + + public String a() { + return this.k; + } + + public boolean a(String str) { + InputStream inputStream; + if (str == null) { + return false; + } + String str2 = "licenseserver/" + str + ".txt"; + z.a("Opening file: " + str2); + InputStream inputStream2 = null; + try { + try { + inputStream = LicenseServerActivity.b().getAssets().open(str2); + } catch (FileNotFoundException unused) { + } catch (Exception e2) { + e = e2; + } + try { + try { + if (inputStream == null) { + z.a("Couldn't find file: " + str2); + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused2) { + } + } + return false; + } + Vector vector = new Vector(); + DataInputStream dataInputStream = new DataInputStream(inputStream); + l = b(str2); + if (l == 2) { + dataInputStream.skipBytes(2); + } + boolean z = true; + while (z) { + try { + vector.addElement(a(dataInputStream, '\n', true)); + } catch (Exception unused3) { + z = false; + } + } + for (int i2 = 0; i2 < e.length; i2++) { + e[i2] = ((String) vector.elementAt(i2)).toString(); + } + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused4) { + } + } + this.k = str; + return true; + } catch (FileNotFoundException unused5) { + inputStream2 = inputStream; + z.a("File not found: " + str2); + if (inputStream2 != null) { + try { + inputStream2.close(); + } catch (Exception unused6) { + } + } + return false; + } catch (Throwable th) { + th = th; + if (inputStream != null) { + try { + inputStream.close(); + } catch (Exception unused7) { + } + } + throw th; + } + } catch (Exception e3) { + e = e3; + inputStream2 = inputStream; + z.a("Exception caught: " + e); + if (inputStream2 != null) { + try { + inputStream2.close(); + } catch (Exception unused8) { + } + } + return false; + } + } catch (Throwable th2) { + th = th2; + inputStream = null; + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/h.java b/app/src/main/java/com/eamobile/licensing/h.java new file mode 100644 index 0000000..9597e66 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/h.java @@ -0,0 +1,24 @@ +package com.eamobile.licensing; + +import android.os.Handler; +import android.os.Message; + +/* loaded from: classes.dex */ +class h extends Handler { + final /* synthetic */ LicenseServerActivity a; + + h(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // android.os.Handler + public void handleMessage(Message message) { + r rVar; + try { + LicenseServerActivity licenseServerActivity = this.a; + rVar = this.a.A; + licenseServerActivity.a(rVar.a); + } catch (Exception unused) { + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/i.java b/app/src/main/java/com/eamobile/licensing/i.java new file mode 100644 index 0000000..0414001 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/i.java @@ -0,0 +1,21 @@ +package com.eamobile.licensing; + +import android.os.Handler; +import android.os.Message; + +/* loaded from: classes.dex */ +class i extends Handler { + final /* synthetic */ LicenseServerActivity a; + + i(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // android.os.Handler + public void handleMessage(Message message) { + try { + this.a.b.e(); + } catch (Exception unused) { + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/j.java b/app/src/main/java/com/eamobile/licensing/j.java new file mode 100644 index 0000000..d28b4d4 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/j.java @@ -0,0 +1,21 @@ +package com.eamobile.licensing; + +import android.os.Handler; +import android.os.Message; + +/* loaded from: classes.dex */ +class j extends Handler { + final /* synthetic */ LicenseServerActivity a; + + j(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // android.os.Handler + public void handleMessage(Message message) { + try { + this.a.x.onLicenseResultStart(); + } catch (Exception unused) { + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/k.java b/app/src/main/java/com/eamobile/licensing/k.java new file mode 100644 index 0000000..fcf8770 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/k.java @@ -0,0 +1,21 @@ +package com.eamobile.licensing; + +import android.os.Handler; +import android.os.Message; + +/* loaded from: classes.dex */ +class k extends Handler { + final /* synthetic */ LicenseServerActivity a; + + k(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // android.os.Handler + public void handleMessage(Message message) { + try { + this.a.x.onLicenseResultEnd(); + } catch (Exception unused) { + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/l.java b/app/src/main/java/com/eamobile/licensing/l.java new file mode 100644 index 0000000..d808f69 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/l.java @@ -0,0 +1,18 @@ +package com.eamobile.licensing; + +/* loaded from: classes.dex */ +class l implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + l(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + if (licenseServerActivity.x != null) { + licenseServerActivity.i.sendEmptyMessage(1); + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/m.java b/app/src/main/java/com/eamobile/licensing/m.java new file mode 100644 index 0000000..18e265d --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/m.java @@ -0,0 +1,18 @@ +package com.eamobile.licensing; + +/* loaded from: classes.dex */ +class m implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + m(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + if (licenseServerActivity.x != null) { + licenseServerActivity.h.sendEmptyMessage(1); + } + } +} diff --git a/app/src/main/java/com/eamobile/licensing/n.java b/app/src/main/java/com/eamobile/licensing/n.java new file mode 100644 index 0000000..6cc2341 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/n.java @@ -0,0 +1,20 @@ +package com.eamobile.licensing; + +import android.os.Handler; + +/* loaded from: classes.dex */ +class n implements Runnable { + int a = 0; + final /* synthetic */ LicenseServerActivity b; + + n(LicenseServerActivity licenseServerActivity) { + this.b = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Handler handler; + handler = this.b.F; + handler.sendEmptyMessage(1); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/o.java b/app/src/main/java/com/eamobile/licensing/o.java new file mode 100644 index 0000000..2ad3c7b --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/o.java @@ -0,0 +1,56 @@ +package com.eamobile.licensing; + +import android.os.Handler; + +/* loaded from: classes.dex */ +class o implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + o(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + String str; + Handler handler; + Runnable sVar; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + str = licenseServerActivity.M; + switch (str.hashCode() % 7) { + case 0: + handler = licenseServerActivity.f; + sVar = new s(this.a); + break; + case 1: + handler = licenseServerActivity.f; + sVar = new t(this.a); + break; + case 2: + handler = licenseServerActivity.f; + sVar = new u(this.a); + break; + case 3: + handler = licenseServerActivity.f; + sVar = new v(this.a); + break; + case 4: + handler = licenseServerActivity.f; + sVar = new w(this.a); + break; + case 5: + handler = licenseServerActivity.f; + sVar = new x(this.a); + break; + case 6: + handler = licenseServerActivity.f; + sVar = new y(this.a); + break; + default: + handler = licenseServerActivity.f; + sVar = new s(this.a); + break; + } + handler.post(sVar); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/p.java b/app/src/main/java/com/eamobile/licensing/p.java new file mode 100644 index 0000000..61288ad --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/p.java @@ -0,0 +1,20 @@ +package com.eamobile.licensing; + +import com.android.vending.licensing.as; + +/* loaded from: classes.dex */ +class p implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + p(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + as asVar; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + asVar = licenseServerActivity.B; + asVar.a(licenseServerActivity.b); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/q.java b/app/src/main/java/com/eamobile/licensing/q.java new file mode 100644 index 0000000..7f51a9f --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/q.java @@ -0,0 +1,63 @@ +package com.eamobile.licensing; + +import com.android.vending.licensing.aq; +import com.android.vending.licensing.ar; +import java.security.SecureRandom; + +/* loaded from: classes.dex */ +class q implements aq { + int a; + final /* synthetic */ LicenseServerActivity b; + + private q(LicenseServerActivity licenseServerActivity) { + this.b = licenseServerActivity; + this.a = 0; + } + + /* synthetic */ q(LicenseServerActivity licenseServerActivity, h hVar) { + this(licenseServerActivity); + } + + @Override // com.android.vending.licensing.aq + public void a() { + } + + @Override // com.android.vending.licensing.aq + public void a(ar arVar) { + r rVar; + this.a = 0; + rVar = this.b.A; + rVar.a = 19; + int ordinal = arVar.ordinal(); + int abs = (Math.abs(new SecureRandom().nextInt()) % 1000) + 1000; + LicenseServerActivity.getInstance().j = Integer.toString(abs) + Integer.toString(ordinal); + this.b.g.sendEmptyMessage(1); + } + + @Override // com.android.vending.licensing.aq + public void b() { + } + + @Override // com.android.vending.licensing.aq + public void c() { + String str; + String str2; + this.a = 1; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + str = licenseServerActivity.E; + str2 = licenseServerActivity.M; + if (str == str2) { + this.b.g.sendEmptyMessage(1); + } + } + + @Override // com.android.vending.licensing.aq + public void d() { + this.a = 0; + this.b.g.sendEmptyMessage(1); + } + + public void e() { + LicenseServerActivity.getInstance().f.post((Runnable) this.b.y.get(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/r.java b/app/src/main/java/com/eamobile/licensing/r.java new file mode 100644 index 0000000..1e0ab4b --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/r.java @@ -0,0 +1,36 @@ +package com.eamobile.licensing; + +import com.android.vending.licensing.at; + +/* loaded from: classes.dex */ +class r implements at { + public int a; + final /* synthetic */ LicenseServerActivity b; + + private r(LicenseServerActivity licenseServerActivity) { + this.b = licenseServerActivity; + this.a = 21; + } + + /* synthetic */ r(LicenseServerActivity licenseServerActivity, h hVar) { + this(licenseServerActivity); + } + + @Override // com.android.vending.licensing.at + public void a() { + this.a = 15; + } + + @Override // com.android.vending.licensing.at + public void b() { + this.a = 15; + } + + @Override // com.android.vending.licensing.at + public void c() { + String str; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + str = licenseServerActivity.M; + licenseServerActivity.E = str; + } +} diff --git a/app/src/main/java/com/eamobile/licensing/s.java b/app/src/main/java/com/eamobile/licensing/s.java new file mode 100644 index 0000000..b2db4f8 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/s.java @@ -0,0 +1,40 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.au; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class s implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + s(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.a aVar = new com.android.vending.licensing.a(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new au(context, aVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new com.android.vending.licensing.o(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/t.java b/app/src/main/java/com/eamobile/licensing/t.java new file mode 100644 index 0000000..17d0c15 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/t.java @@ -0,0 +1,40 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.av; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class t implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + t(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.b bVar = new com.android.vending.licensing.b(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new av(context, bVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new com.android.vending.licensing.s(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/u.java b/app/src/main/java/com/eamobile/licensing/u.java new file mode 100644 index 0000000..c0c076e --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/u.java @@ -0,0 +1,40 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.aw; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class u implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + u(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.c cVar = new com.android.vending.licensing.c(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new aw(context, cVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new com.android.vending.licensing.w(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/v.java b/app/src/main/java/com/eamobile/licensing/v.java new file mode 100644 index 0000000..ff963bf --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/v.java @@ -0,0 +1,41 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.aa; +import com.android.vending.licensing.ax; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class v implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + v(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.d dVar = new com.android.vending.licensing.d(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new ax(context, dVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new aa(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/w.java b/app/src/main/java/com/eamobile/licensing/w.java new file mode 100644 index 0000000..330cab8 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/w.java @@ -0,0 +1,41 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.ae; +import com.android.vending.licensing.ay; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class w implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + w(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.e eVar = new com.android.vending.licensing.e(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new ay(context, eVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new ae(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/x.java b/app/src/main/java/com/eamobile/licensing/x.java new file mode 100644 index 0000000..c2275e9 --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/x.java @@ -0,0 +1,41 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.ai; +import com.android.vending.licensing.az; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class x implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + x(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.f fVar = new com.android.vending.licensing.f(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new az(context, fVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new ai(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/y.java b/app/src/main/java/com/eamobile/licensing/y.java new file mode 100644 index 0000000..4eeed2d --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/y.java @@ -0,0 +1,41 @@ +package com.eamobile.licensing; + +import android.content.Context; +import com.android.vending.licensing.am; +import com.android.vending.licensing.ba; +import com.android.vending.licensing.bd; + +/* loaded from: classes.dex */ +class y implements Runnable { + final /* synthetic */ LicenseServerActivity a; + + y(LicenseServerActivity licenseServerActivity) { + this.a = licenseServerActivity; + } + + @Override // java.lang.Runnable + public void run() { + Context context; + String str; + String str2; + r rVar; + Context context2; + String str3; + String str4; + LicenseServerActivity licenseServerActivity = LicenseServerActivity.getInstance(); + context = licenseServerActivity.D; + byte[] bArr = licenseServerActivity.d; + String str5 = licenseServerActivity.e; + str = licenseServerActivity.M; + com.android.vending.licensing.g gVar = new com.android.vending.licensing.g(bArr, str5, str); + str2 = licenseServerActivity.M; + rVar = licenseServerActivity.A; + licenseServerActivity.c = new ba(context, gVar, str2, rVar); + context2 = licenseServerActivity.D; + bd bdVar = licenseServerActivity.c; + str3 = licenseServerActivity.C; + str4 = licenseServerActivity.M; + licenseServerActivity.B = new am(context2, bdVar, str3, str4); + licenseServerActivity.f.post(new p(this.a)); + } +} diff --git a/app/src/main/java/com/eamobile/licensing/z.java b/app/src/main/java/com/eamobile/licensing/z.java new file mode 100644 index 0000000..fb49ebf --- /dev/null +++ b/app/src/main/java/com/eamobile/licensing/z.java @@ -0,0 +1,44 @@ +package com.eamobile.licensing; + +import android.os.Environment; +import android.util.Log; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/* loaded from: classes.dex */ +public class z { + public static boolean a; + static OutputStream b; + + public static void a() { + if (a) { + try { + b = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath() + "/debug.txt", true); + } catch (Throwable th) { + th.printStackTrace(); + } + } + } + + public static void a(String str) { + if (a) { + Log.w("DownloadActivity", str); + try { + b.write((str + "\n").getBytes()); + } catch (IOException unused) { + } + } + } + + public static void b() { + if (a) { + try { + b.flush(); + b.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} diff --git a/app/src/main/java/com/eamobile/views/CheckUpdatesView.java b/app/src/main/java/com/eamobile/views/CheckUpdatesView.java new file mode 100644 index 0000000..4dd4747 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/CheckUpdatesView.java @@ -0,0 +1,98 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; +import com.eamobile.download.Logging; + +/* loaded from: classes.dex */ +public class CheckUpdatesView extends CustomView { + protected static final int MSG_NO_UPDATES = 0; + protected static final int MSG_UPDATE_FOUND = 1; + Dialog dialog; + public Handler handler; + boolean updateFound; + + private void showContent(View view) { + } + + public CheckUpdatesView(Context context) { + super(context); + this.updateFound = false; + this.handler = new Handler() { // from class: com.eamobile.views.CheckUpdatesView.3 + @Override // android.os.Handler + public void handleMessage(Message message) { + if (message.what == 1) { + Logging.DEBUG_OUT("An update has been found"); + CheckUpdatesView.this.dialog.dismiss(); + if (DownloadActivityInternal.getMainActivity() != null) { + DownloadActivityInternal.getMainActivity().setState(9); + return; + } + return; + } + if (message.what == 0) { + Logging.DEBUG_OUT("No updates found"); + CheckUpdatesView.this.dialog.dismiss(); + if (DownloadActivityInternal.getMainActivity() != null) { + DownloadActivityInternal.getMainActivity().setState(11); + } + } + } + }; + this.context = context; + } + + /* JADX WARN: Type inference failed for: r0v3, types: [com.eamobile.views.CheckUpdatesView$2] */ + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + this.dialog = ProgressDialog.show(this.context, Language.getString(21), Language.getString(22), true); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.CheckUpdatesView.1 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + new Thread() { // from class: com.eamobile.views.CheckUpdatesView.2 + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + CheckUpdatesView.this.updateFound = DownloadActivityInternal.getMainActivity().checkForUpdates(); + if (CheckUpdatesView.this.updateFound) { + CheckUpdatesView.this.handler.sendEmptyMessage(1); + } else if (DownloadActivityInternal.getMainActivity() != null && DownloadActivityInternal.getMainActivity().checkScreenSizeChange()) { + CheckUpdatesView.this.handler.sendEmptyMessage(1); + } else { + CheckUpdatesView.this.handler.sendEmptyMessage(0); + } + } + }.start(); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + if (this.dialog != null) { + this.dialog.dismiss(); + } + } catch (Exception e) { + Logging.DEBUG_OUT("CheckUpdates View clean:" + e); + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } +} diff --git a/app/src/main/java/com/eamobile/views/CheckingHostIpView.java b/app/src/main/java/com/eamobile/views/CheckingHostIpView.java new file mode 100644 index 0000000..8d16ad8 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/CheckingHostIpView.java @@ -0,0 +1,21 @@ +package com.eamobile.views; + +import android.content.Context; + +/* loaded from: classes.dex */ +public class CheckingHostIpView extends CustomView { + public CheckingHostIpView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + } +} diff --git a/app/src/main/java/com/eamobile/views/ContactingServerView.java b/app/src/main/java/com/eamobile/views/ContactingServerView.java new file mode 100644 index 0000000..cd31abf --- /dev/null +++ b/app/src/main/java/com/eamobile/views/ContactingServerView.java @@ -0,0 +1,74 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; +import com.eamobile.download.Logging; + +/* loaded from: classes.dex */ +public class ContactingServerView extends CustomView { + protected static final int MSG_DONE = 1; + Dialog dialog; + public Handler handler; + + private void showContent(View view) { + } + + public ContactingServerView(Context context) { + super(context); + this.handler = new Handler() { // from class: com.eamobile.views.ContactingServerView.3 + @Override // android.os.Handler + public void handleMessage(Message message) { + ContactingServerView.this.dialog.dismiss(); + } + }; + this.context = context; + } + + /* JADX WARN: Type inference failed for: r0v3, types: [com.eamobile.views.ContactingServerView$2] */ + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + this.dialog = ProgressDialog.show(this.context, Language.getString(37), Language.getString(38), true); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.ContactingServerView.1 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + new Thread() { // from class: com.eamobile.views.ContactingServerView.2 + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + DownloadActivityInternal.getMainActivity().checkServerContent(true); + ContactingServerView.this.handler.sendEmptyMessage(1); + } + }.start(); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + if (this.dialog != null) { + this.dialog.dismiss(); + } + } catch (Exception e) { + Logging.DEBUG_OUT("CheckUpdates View clean:" + e); + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } +} diff --git a/app/src/main/java/com/eamobile/views/CustomProgressBar.java b/app/src/main/java/com/eamobile/views/CustomProgressBar.java new file mode 100644 index 0000000..d73a53a --- /dev/null +++ b/app/src/main/java/com/eamobile/views/CustomProgressBar.java @@ -0,0 +1,49 @@ +package com.eamobile.views; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.RectF; +import android.support.v4.view.InputDeviceCompat; +import android.view.View; + +/* loaded from: classes.dex */ +public class CustomProgressBar extends View { + private Paint paint; + private float progress; + + public CustomProgressBar(Context context) { + super(context); + this.paint = new Paint(); + this.progress = 0.0f; + } + + public void setProgress(float f) { + if (f < 0.0f) { + f = 0.0f; + } + if (f > 1.0f) { + f = 1.0f; + } + this.progress = f; + } + + @Override // android.view.View + protected void onMeasure(int i, int i2) { + super.onMeasure(i, i2); + setMeasuredDimension(View.MeasureSpec.getSize(i), 34); + } + + @Override // android.view.View + public void onDraw(Canvas canvas) { + this.paint.setColor(-1); + this.paint.setStrokeWidth(0.0f); + this.paint.setAntiAlias(true); + this.paint.setStyle(Paint.Style.FILL); + this.paint.setARGB(180, 120, 120, 120); + canvas.drawRect(new RectF(10.0f, 1.0f, getWidth() - 10, 33.0f), this.paint); + this.paint.setStyle(Paint.Style.FILL); + this.paint.setColor(InputDeviceCompat.SOURCE_ANY); + canvas.drawRect(new RectF(11, 2.0f, ((int) Math.floor(((r0 - 1) - 11) * this.progress)) + 11, 32.0f), this.paint); + } +} diff --git a/app/src/main/java/com/eamobile/views/CustomProgressDialog.java b/app/src/main/java/com/eamobile/views/CustomProgressDialog.java new file mode 100644 index 0000000..fb644db --- /dev/null +++ b/app/src/main/java/com/eamobile/views/CustomProgressDialog.java @@ -0,0 +1,335 @@ +package com.eamobile.views; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.view.KeyEvent; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; +import com.eamobile.download.ZipExtractor; +import java.io.IOException; +import java.io.InputStream; + +/* loaded from: classes.dex */ +public class CustomProgressDialog extends CustomView implements IProgressDialog { + private static final int WIFI_LAYOUT_ID = 90; + private static final int WIFI_LAYOUT_WIFI_TEXTVIEW_ID = 92; + private static final int WIFI_LAYOUT_WIFI_VIEW_ID = 91; + private static final int WIFI_LEVELS = 4; + private static final int WIFI_LEVELS_ENABLED = 3; + private static boolean alwaysSwitchTo3G = false; + private static boolean showDialogSwitchTo3G = false; + private static boolean wifiSwitchedTo3G = true; + private AlertDialog alertDialog; + private Bitmap[] bmpWifi; + private int[] connectionType; + private CustomProgressBar customProgressBar; + private Dialog dialog; + private boolean exitConfirmation; + private Boolean isLoadedBmpWifi; + private LinearLayout mainLayout; + private int max; + private int progress; + private float speed; + private TextView wifiTextView; + + public CustomProgressDialog(Context context) { + super(context); + this.exitConfirmation = false; + this.connectionType = new int[1]; + this.bmpWifi = null; + this.context = context; + this.dialog = null; + this.customProgressBar = null; + this.mainLayout = null; + this.progress = 0; + this.max = 0; + if (this.bmpWifi == null) { + this.bmpWifi = new Bitmap[4]; + } + for (int i = 0; i < 4; i++) { + try { + InputStream open = context.getAssets().open(DownloadActivityInternal.getResourcesPath() + "adc-wifi" + i + ".png"); + if (open != null) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inTempStorage = new byte[4096]; + this.bmpWifi[i] = Bitmap.createBitmap(BitmapFactory.decodeStream(open, null, options)); + open.close(); + } + } catch (IOException unused) { + this.bmpWifi[i] = null; + } + } + this.isLoadedBmpWifi = true; + for (int i2 = 0; i2 < 4; i2++) { + this.isLoadedBmpWifi = Boolean.valueOf(this.isLoadedBmpWifi.booleanValue() && this.bmpWifi[i2] != null); + } + } + + @Override // com.eamobile.views.IProgressDialog + public void initDialog() { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(20)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setId(1); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 2, 10, 18); + textView.setTextSize(1, 16.0f); + textView.setText("..."); + scrollView.addView(textView); + this.customProgressBar = new CustomProgressBar(this.context); + linearLayout.addView(scrollView); + this.mainLayout.addView(this.customProgressBar); + this.mainLayout.addView(linearLayout); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setId(90); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(19); + if (this.isLoadedBmpWifi.booleanValue()) { + ImageView imageView = new ImageView(this.context); + imageView.setId(91); + imageView.setPadding(10, 0, 10, 10); + imageView.setImageBitmap(null); + imageView.setClickable(false); + linearLayout2.addView(imageView); + } + this.wifiTextView = new TextView(this.context); + this.wifiTextView.setId(92); + this.wifiTextView.setClickable(false); + this.wifiTextView.setCursorVisible(false); + this.wifiTextView.setTextSize(1, 16.0f); + if (!this.isLoadedBmpWifi.booleanValue()) { + this.wifiTextView.setPadding(10, 0, 10, 10); + } + linearLayout2.addView(this.wifiTextView); + this.mainLayout.addView(linearLayout2); + } + + @Override // com.eamobile.views.IProgressDialog + public void dismissDialog() { + if (this.isLoadedBmpWifi.booleanValue()) { + this.mainLayout.removeView((LinearLayout) this.dialog.findViewById(90)); + } + if (this.bmpWifi != null) { + for (int i = 0; i < 4; i++) { + if (this.bmpWifi[i] != null) { + this.bmpWifi[i].recycle(); + this.bmpWifi[i] = null; + } + } + this.bmpWifi = null; + } + this.wifiTextView = null; + if (this.alertDialog != null) { + this.alertDialog.dismiss(); + this.alertDialog = null; + this.exitConfirmation = false; + } + this.dialog.dismiss(); + } + + @Override // com.eamobile.views.IProgressDialog + public boolean isDialogValid() { + return this.dialog != null; + } + + @Override // com.eamobile.views.IProgressDialog + public void showDialogContent() { + if (this.dialog != null) { + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + updateWifiInfo(); + if (showDialogSwitchTo3G) { + ZipExtractor.setPause(true); + showDialogSwitchTo3G = false; + String string = Language.getString(46); + String string2 = Language.getString(47); + String string3 = Language.getString(48); + String string4 = Language.getString(49); + this.alertDialog = new AlertDialog.Builder(this.context).create(); + this.alertDialog.setCancelable(true); + this.alertDialog.setCanceledOnTouchOutside(false); + this.alertDialog.setMessage(string); + this.alertDialog.setButton(-1, string2, new DialogInterface.OnClickListener() { // from class: com.eamobile.views.CustomProgressDialog.1 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + CustomProgressDialog.this.alertDialog.dismiss(); + CustomProgressDialog.this.alertDialog = null; + CustomProgressDialog.this.exitConfirmation = false; + CustomProgressDialog.this.showDialogContent(); + ZipExtractor.setPause(false); + } + }); + this.alertDialog.setButton(-3, string3, new DialogInterface.OnClickListener() { // from class: com.eamobile.views.CustomProgressDialog.2 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + boolean unused = CustomProgressDialog.alwaysSwitchTo3G = true; + CustomProgressDialog.this.alertDialog.dismiss(); + CustomProgressDialog.this.alertDialog = null; + CustomProgressDialog.this.exitConfirmation = false; + CustomProgressDialog.this.showDialogContent(); + ZipExtractor.setPause(false); + } + }); + this.alertDialog.setButton(-2, string4, new DialogInterface.OnClickListener() { // from class: com.eamobile.views.CustomProgressDialog.3 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface, int i) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.CustomProgressDialog.4 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84 || i == 4; + } + }); + this.alertDialog.show(); + this.exitConfirmation = true; + } + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.CustomProgressDialog.5 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.CustomProgressDialog.6 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + String string5 = Language.getString(41); + String string6 = Language.getString(17); + String string7 = Language.getString(18); + TextView textView = new TextView(CustomProgressDialog.this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setSingleLine(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 18.0f); + textView.setTextColor(-1); + textView.setText(string5); + CustomProgressDialog.this.alertDialog = new AlertDialog.Builder(CustomProgressDialog.this.context).create(); + CustomProgressDialog.this.alertDialog.setCancelable(true); + CustomProgressDialog.this.alertDialog.setCanceledOnTouchOutside(false); + CustomProgressDialog.this.alertDialog.setView(textView); + CustomProgressDialog.this.alertDialog.setButton(-1, string6, new DialogInterface.OnClickListener() { // from class: com.eamobile.views.CustomProgressDialog.6.1 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface2, int i) { + dialogInterface2.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + CustomProgressDialog.this.alertDialog.setButton(-2, string7, new DialogInterface.OnClickListener() { // from class: com.eamobile.views.CustomProgressDialog.6.2 + @Override // android.content.DialogInterface.OnClickListener + public void onClick(DialogInterface dialogInterface2, int i) { + CustomProgressDialog.this.alertDialog.dismiss(); + CustomProgressDialog.this.alertDialog = null; + CustomProgressDialog.this.exitConfirmation = false; + CustomProgressDialog.this.showDialogContent(); + } + }); + CustomProgressDialog.this.alertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.CustomProgressDialog.6.3 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface2) { + CustomProgressDialog.this.alertDialog.dismiss(); + CustomProgressDialog.this.alertDialog = null; + CustomProgressDialog.this.exitConfirmation = false; + CustomProgressDialog.this.showDialogContent(); + } + }); + CustomProgressDialog.this.alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.CustomProgressDialog.6.4 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface2, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + CustomProgressDialog.this.alertDialog.show(); + CustomProgressDialog.this.exitConfirmation = true; + } + }); + } + if (this.alertDialog == null || !this.exitConfirmation) { + return; + } + this.alertDialog.show(); + this.dialog.hide(); + } + + @Override // com.eamobile.views.IProgressDialog + public void updateDialog() { + if (this.max > 0) { + this.customProgressBar.setProgress(this.progress / this.max); + this.customProgressBar.invalidate(); + int floor = (int) Math.floor(r0 * 100.0f); + String format = String.format("%.0f", Float.valueOf(this.speed)); + String replace = (floor + "% " + Language.getString(36)).replace("%1", "" + this.progress).replace("%2", "" + this.max).replace("%3", "" + format); + updateWifiInfo(); + ((TextView) this.dialog.findViewById(1)).setText(replace); + } + } + + @Override // com.eamobile.views.IProgressDialog + public void setDownloadProgress(int i) { + this.progress = i; + } + + @Override // com.eamobile.views.IProgressDialog + public void setDownloadMax(int i) { + this.max = i; + } + + @Override // com.eamobile.views.IProgressDialog + public void setDownloadSpeed(float f) { + this.speed = f; + } + + private void updateWifiInfo() { + if (((LinearLayout) this.dialog.findViewById(90)) == null || DownloadActivityInternal.getMainActivity() == null) { + return; + } + if (DownloadActivityInternal.getMainActivity().isWifiAvailable()) { + wifiSwitchedTo3G = false; + int wifiLevel = DownloadActivityInternal.getMainActivity().getWifiReceiver().getWifiLevel(); + String str = " " + Language.getString(16) + ": " + DownloadActivityInternal.getMainActivity().getWifiReceiver().getWifiName(); + if (!this.isLoadedBmpWifi.booleanValue()) { + str = str + " (" + Language.getString(35) + ": " + wifiLevel + "/3)"; + } else if (wifiLevel >= 0 && wifiLevel < 4) { + ((ImageView) this.dialog.findViewById(91)).setImageBitmap(this.bmpWifi[wifiLevel]); + } + this.wifiTextView.setText(str); + return; + } + int[] iArr = {-1}; + if (!alwaysSwitchTo3G && !wifiSwitchedTo3G && DownloadActivityInternal.getMainActivity().testNetwork(iArr) && iArr[0] == 0) { + wifiSwitchedTo3G = true; + showDialogSwitchTo3G = true; + showDialogContent(); + } + if (this.isLoadedBmpWifi.booleanValue()) { + ((ImageView) this.dialog.findViewById(91)).setImageBitmap(this.bmpWifi[0]); + } + this.wifiTextView.setText(Language.getString(16) + ": " + Language.getString(40)); + } +} diff --git a/app/src/main/java/com/eamobile/views/CustomView.java b/app/src/main/java/com/eamobile/views/CustomView.java new file mode 100644 index 0000000..71b0167 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/CustomView.java @@ -0,0 +1,96 @@ +package com.eamobile.views; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.drawable.Drawable; +import android.os.Handler; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; + +/* loaded from: classes.dex */ +public class CustomView extends LinearLayout implements IDownloadView { + protected static final float TEXT_BODY_SIZE = 16.0f; + protected static final float TEXT_TITLE_SIZE = 18.0f; + protected Context context; + protected Handler mHandler; + + public void clean() { + } + + public void pause() { + } + + public void resume() { + } + + public CustomView(Context context) { + super(context); + this.context = context; + } + + public void init() { + showBackground(); + ((Activity) this.context).getWindow().getDecorView().setSystemUiVisibility(5894); + } + + protected void showBackground() { + setLayoutParams(new LinearLayout.LayoutParams(-1, -2)); + setOrientation(1); + setGravity(48); + setBackgroundDrawable(new BackGround()); + } + + class BackGround extends Drawable { + @Override // android.graphics.drawable.Drawable + public int getOpacity() { + return 0; + } + + @Override // android.graphics.drawable.Drawable + public void setAlpha(int i) { + } + + @Override // android.graphics.drawable.Drawable + public void setColorFilter(ColorFilter colorFilter) { + } + + BackGround() { + } + + @Override // android.graphics.drawable.Drawable + public void draw(Canvas canvas) { + if (DownloadActivityInternal.getMainActivity() == null || DownloadActivityInternal.getMainActivity().getBackgroundBitmap() == null) { + return; + } + canvas.drawBitmap(DownloadActivityInternal.getMainActivity().getBackgroundBitmap(), (canvas.getWidth() - DownloadActivityInternal.getMainActivity().getBackgroundBitmap().getWidth()) >> 1, (canvas.getHeight() - DownloadActivityInternal.getMainActivity().getBackgroundBitmap().getHeight()) >> 1, (Paint) null); + } + } + + public static Button addButton(Context context, LinearLayout linearLayout, String str) { + Button button = new Button(context); + button.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + button.setPadding(15, 15, 15, 15); + button.setTextSize(1, TEXT_BODY_SIZE); + button.setText(str); + linearLayout.addView(button); + return button; + } + + public static TextView addTitle(Context context, LinearLayout linearLayout, String str) { + TextView textView = new TextView(context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setSingleLine(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, TEXT_TITLE_SIZE); + textView.setTextColor(-1); + textView.setText(str); + linearLayout.addView(textView); + return textView; + } +} diff --git a/app/src/main/java/com/eamobile/views/DefaultProgressDialog.java b/app/src/main/java/com/eamobile/views/DefaultProgressDialog.java new file mode 100644 index 0000000..3c090a8 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/DefaultProgressDialog.java @@ -0,0 +1,106 @@ +package com.eamobile.views; + +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; +import com.eamobile.download.Logging; +import java.lang.reflect.Method; + +/* loaded from: classes.dex */ +public class DefaultProgressDialog extends CustomView implements IProgressDialog { + private static Method mSetProgressNumberFormat; + private ProgressDialog dialog; + private int max; + private int progress; + private float speed; + + public DefaultProgressDialog(Context context) { + super(context); + this.context = context; + mSetProgressNumberFormat = null; + this.dialog = null; + this.progress = 0; + this.max = 0; + } + + @Override // com.eamobile.views.IProgressDialog + public void initDialog() { + try { + mSetProgressNumberFormat = ProgressDialog.class.getMethod("setProgressNumberFormat", String.class); + } catch (NoSuchMethodException unused) { + } + this.dialog = new ProgressDialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.setMessage(Language.getString(20)); + this.dialog.setProgressStyle(1); + this.dialog.setProgress(0); + } + + @Override // com.eamobile.views.IProgressDialog + public void dismissDialog() { + this.dialog.dismiss(); + } + + @Override // com.eamobile.views.IProgressDialog + public boolean isDialogValid() { + return this.dialog != null; + } + + @Override // com.eamobile.views.IProgressDialog + public void showDialogContent() { + if (this.dialog != null) { + this.dialog.show(); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.DefaultProgressDialog.1 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.DefaultProgressDialog.2 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + } + } + + @Override // com.eamobile.views.IProgressDialog + public void updateDialog() { + try { + if (mSetProgressNumberFormat != null) { + this.dialog.setMax(this.max); + try { + String format = String.format("%.0f", Float.valueOf(this.speed)); + mSetProgressNumberFormat.invoke(this.dialog, "%d MB of %d MB " + format + " Kb/s"); + this.dialog.setProgress(this.progress); + } catch (Exception unused) { + this.dialog.setProgress(DownloadActivityInternal.getMainActivity().getPercentDownloaded()); + } + } + } catch (Exception e) { + Logging.DEBUG_OUT("Exception here:" + e); + this.dialog.setProgress(DownloadActivityInternal.getMainActivity().getPercentDownloaded()); + } + } + + @Override // com.eamobile.views.IProgressDialog + public void setDownloadProgress(int i) { + this.progress = i; + } + + @Override // com.eamobile.views.IProgressDialog + public void setDownloadMax(int i) { + this.max = i; + } + + @Override // com.eamobile.views.IProgressDialog + public void setDownloadSpeed(float f) { + this.speed = f; + } +} diff --git a/app/src/main/java/com/eamobile/views/DeletingAssetsView.java b/app/src/main/java/com/eamobile/views/DeletingAssetsView.java new file mode 100644 index 0000000..68395de --- /dev/null +++ b/app/src/main/java/com/eamobile/views/DeletingAssetsView.java @@ -0,0 +1,83 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.os.Handler; +import android.os.Message; +import android.view.KeyEvent; +import android.view.View; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; +import com.eamobile.download.Logging; + +/* loaded from: classes.dex */ +public class DeletingAssetsView extends CustomView { + Dialog dialog; + public Handler handler; + boolean updateFound; + + private void showContent(View view) { + } + + public DeletingAssetsView(Context context) { + super(context); + this.updateFound = false; + this.handler = new Handler() { // from class: com.eamobile.views.DeletingAssetsView.3 + @Override // android.os.Handler + public void handleMessage(Message message) { + DeletingAssetsView.this.dialog.dismiss(); + if (DownloadActivityInternal.getMainActivity() != null) { + DownloadActivityInternal.getMainActivity().setState(1); + } + } + }; + this.context = context; + } + + /* JADX WARN: Type inference failed for: r0v3, types: [com.eamobile.views.DeletingAssetsView$2] */ + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + this.dialog = ProgressDialog.show(this.context, "", Language.getString(45), true); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.DeletingAssetsView.1 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + new Thread() { // from class: com.eamobile.views.DeletingAssetsView.2 + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + try { + Thread.sleep(300L); + } catch (InterruptedException e) { + Logging.DEBUG_OUT_STACK(e); + } + DownloadActivityInternal.getMainActivity().deleteAssets(); + DeletingAssetsView.this.handler.sendEmptyMessage(0); + } + }.start(); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + if (this.dialog != null) { + this.dialog.dismiss(); + } + } catch (Exception e) { + Logging.DEBUG_OUT("CheckUpdates View clean:" + e); + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } +} diff --git a/app/src/main/java/com/eamobile/views/DownloadFailedView.java b/app/src/main/java/com/eamobile/views/DownloadFailedView.java new file mode 100644 index 0000000..bb87cb2 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/DownloadFailedView.java @@ -0,0 +1,114 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.ADCTelemetry; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class DownloadFailedView extends CustomView { + Dialog dialog; + int errorCode; + Button lskBtn; + LinearLayout mainLayout; + + public DownloadFailedView(Context context) { + super(context); + this.errorCode = 0; + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + showContent(this); + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(11)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(12, new String[]{"" + this.errorCode})); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(14)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.DownloadFailedView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.DownloadFailedView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + DownloadFailedView.this.dialog.dismiss(); + ADCTelemetry.getInstance().sendTelemetry(2); + DownloadActivityInternal.getMainActivity().setState(2); + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.DownloadFailedView.3 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } + + public void setErrorCode(int i) { + this.errorCode = i; + } +} diff --git a/app/src/main/java/com/eamobile/views/DownloadMsgView.java b/app/src/main/java/com/eamobile/views/DownloadMsgView.java new file mode 100644 index 0000000..611a187 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/DownloadMsgView.java @@ -0,0 +1,117 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.ADCTelemetry; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class DownloadMsgView extends CustomView { + Dialog dialog; + Button lskBtn; + LinearLayout mainLayout; + int spaceRequiredMB; + + public DownloadMsgView(Context context) { + super(context); + this.spaceRequiredMB = 0; + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(0)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + DownloadActivityInternal.getMainActivity(); + textView.setText(Language.getString(50, new String[]{DownloadActivityInternal.getMainActivity().getApplicationName(), DownloadActivityInternal.getTotalDownloadSizeMBString(), DownloadActivityInternal.getMainActivity().getSpaceRangeForDownload()})); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(5)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + ADCTelemetry.getInstance().sendTelemetry(0); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.DownloadMsgView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.DownloadMsgView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + DownloadMsgView.this.dialog.dismiss(); + if (!DownloadActivityInternal.getMainActivity().chooseAvailableMemory()) { + DownloadActivityInternal.getMainActivity().setState(4); + } else { + DownloadActivityInternal.getMainActivity().startWifiDownload(false); + } + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.DownloadMsgView.3 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/com/eamobile/views/DownloadProgressView.java b/app/src/main/java/com/eamobile/views/DownloadProgressView.java new file mode 100644 index 0000000..d40df5e --- /dev/null +++ b/app/src/main/java/com/eamobile/views/DownloadProgressView.java @@ -0,0 +1,217 @@ +package com.eamobile.views; + +import android.content.Context; +import android.os.Handler; +import android.os.Message; +import android.os.SystemClock; +import android.support.v4.media.session.PlaybackStateCompat; +import android.view.View; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.download.LockManager; +import com.eamobile.download.Logging; +import com.eamobile.download.SpeedCalculator; +import com.google.android.vending.expansion.downloader.Constants; +import java.util.Timer; +import java.util.TimerTask; + +/* loaded from: classes.dex */ +public class DownloadProgressView extends CustomView { + protected static final int MSG_DOWNLOAD_FAILURE = 2; + protected static final int MSG_DOWNLOAD_RETRY = 1; + public static boolean downloaded; + private static Timer t; + private LockManager lockManager; + private IProgressDialog progressDialog; + public Handler progressHandler; + private SpeedCalculator speedCalculator; + private float timeSeconds; + private RetryTimerTask timerTask; + + public DownloadProgressView(Context context) { + super(context); + this.speedCalculator = null; + this.timeSeconds = 0.0f; + this.progressHandler = new Handler() { // from class: com.eamobile.views.DownloadProgressView.2 + @Override // android.os.Handler + public void handleMessage(Message message) { + try { + if (DownloadActivityInternal.getMainActivity() == null || !DownloadActivityInternal.isInitialized()) { + return; + } + int totalDownloadSizeMB = DownloadActivityInternal.getTotalDownloadSizeMB(); + int sizeDownloaded = (int) ((DownloadActivityInternal.getSizeDownloaded() / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID) / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID); + DownloadActivityInternal.setFlagLastReportDownload(true); + if (totalDownloadSizeMB > 0) { + if (DownloadProgressView.this.speedCalculator == null) { + Logging.DEBUG_OUT("DownloadProgressView: creating a new SpeedCalculator"); + DownloadProgressView.this.speedCalculator = new SpeedCalculator(0.05f); + DownloadProgressView.this.timeSeconds = SystemClock.uptimeMillis() / 1000.0f; + } else { + DownloadProgressView.this.speedCalculator.reportAmount(DownloadActivityInternal.getRealDownloaded() / 1024.0f, (SystemClock.uptimeMillis() / 1000.0f) - DownloadProgressView.this.timeSeconds); + } + DownloadProgressView.this.progressDialog.setDownloadMax(totalDownloadSizeMB); + DownloadProgressView.this.progressDialog.setDownloadProgress(sizeDownloaded); + DownloadProgressView.this.progressDialog.setDownloadSpeed(DownloadProgressView.this.speedCalculator.getCurrentSpeed()); + DownloadProgressView.this.progressDialog.updateDialog(); + } + if (DownloadActivityInternal.getMainActivity().getPercentDownloaded() >= 100 && DownloadProgressView.downloaded) { + Logging.DEBUG_OUT("Going to State SUCCESS"); + DownloadProgressView.this.progressDialog.dismissDialog(); + DownloadActivityInternal.getMainActivity().setState(11); + } else { + if (message.what == 1 && !DownloadProgressView.downloaded) { + Logging.DEBUG_OUT("Going to State RETRY"); + Timer unused = DownloadProgressView.t = new Timer(); + DownloadProgressView.this.timerTask = DownloadProgressView.this.new RetryTimerTask(); + DownloadProgressView.t.schedule(DownloadProgressView.this.timerTask, 0L, Constants.ACTIVE_THREAD_WATCHDOG); + return; + } + if (message.what == 2) { + Logging.DEBUG_OUT("Going to State FAILURE"); + DownloadProgressView.this.progressDialog.dismissDialog(); + DownloadActivityInternal.getMainActivity().setState(5); + } + } + } catch (Exception e) { + Logging.DEBUG_OUT("Exception here:" + e + ",DownloadActivityInternal.getMainActivity():" + DownloadActivityInternal.getMainActivity()); + Logging.DEBUG_OUT_STACK(e); + } + } + }; + Logging.DEBUG_OUT("DownloadProgressView constructor"); + this.context = context; + this.lockManager = new LockManager(context); + } + + @Override // com.eamobile.views.CustomView + public void pause() { + Logging.DEBUG_OUT("DownloadProgressView pause"); + if (!DownloadActivityInternal.getForceWakeDuringDownload() || this.lockManager == null) { + return; + } + this.lockManager.releaseWakeLock(); + } + + @Override // com.eamobile.views.CustomView + public void resume() { + Logging.DEBUG_OUT("DownloadProgressView resume"); + if (this.progressDialog == null || !this.progressDialog.isDialogValid()) { + return; + } + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + Logging.DEBUG_OUT("DownloadProgressView init"); + if (DownloadActivityInternal.getMainActivity().useCustomProgressBar() && !DownloadActivityInternal.getMainActivity().useOldProgressBar()) { + this.progressDialog = new CustomProgressDialog(this.context); + } else { + this.progressDialog = new DefaultProgressDialog(this.context); + } + this.progressDialog.initDialog(); + new Thread(new Runnable() { // from class: com.eamobile.views.DownloadProgressView.1 + /* JADX WARN: Type inference failed for: r0v3, types: [com.eamobile.views.DownloadProgressView$1$1] */ + @Override // java.lang.Runnable + public void run() { + try { + DownloadProgressView.downloaded = false; + new Thread() { // from class: com.eamobile.views.DownloadProgressView.1.1 + @Override // java.lang.Thread, java.lang.Runnable + public void run() { + Logging.DEBUG_OUT("STARTING A NEW DOWNLOAD >>>>>>>"); + DownloadProgressView.downloaded = DownloadActivityInternal.getMainActivity().startDownload(); + Logging.DEBUG_OUT("DOWNLOADED in PROGRESS VIEW:" + DownloadProgressView.downloaded); + if (DownloadProgressView.downloaded || DownloadActivityInternal.getMainActivity() == null) { + return; + } + Logging.DEBUG_OUT("Failed to download assets. Internal state: " + DownloadActivityInternal.getMainActivity().getStateName()); + if (DownloadProgressView.this.encounteredFatalDownloadError()) { + return; + } + DownloadProgressView.this.progressHandler.sendEmptyMessage(1); + } + }.start(); + Logging.DEBUG_OUT("DownloadProgressView before background loop downloaded=" + DownloadProgressView.downloaded); + while (!DownloadProgressView.downloaded && DownloadActivityInternal.isInitialized()) { + Thread.sleep(100L); + DownloadProgressView.this.progressHandler.sendMessage(DownloadProgressView.this.progressHandler.obtainMessage()); + } + } catch (Exception e) { + Logging.DEBUG_OUT("DownloadProgressView init Exception:" + e); + } + } + }).start(); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + Logging.DEBUG_OUT("DownloadProgressView clean"); + try { + if (this.progressDialog != null && this.progressDialog.isDialogValid()) { + this.progressDialog.dismissDialog(); + } + } catch (Exception e) { + Logging.DEBUG_OUT("DownloadProgressView Clean Exception:" + e); + } + if (this.lockManager != null) { + this.lockManager.releaseWifiLock(); + } + if (!DownloadActivityInternal.getForceWakeDuringDownload() || this.lockManager == null) { + return; + } + this.lockManager.releaseWakeLock(); + } + + private void showContent(View view) { + Logging.DEBUG_OUT("DownloadProgressView showContent"); + this.progressDialog.showDialogContent(); + if (this.lockManager != null) { + this.lockManager.acquireWifiLock(); + } + if (!DownloadActivityInternal.getForceWakeDuringDownload() || this.lockManager == null) { + return; + } + this.lockManager.acquireWakeLock(); + } + + public boolean encounteredFatalDownloadError() { + int state = DownloadActivityInternal.getMainActivity().getState(); + return state == 12 || state == 13; + } + + class RetryTimerTask extends TimerTask { + static final int QTY_RETRY = 10; + int numTries = 10; + + RetryTimerTask() { + } + + @Override // java.util.TimerTask, java.lang.Runnable + public void run() { + Logging.DEBUG_OUT("Attempting to download assets (attempt " + (10 - this.numTries) + "/10) in RetryTimerTask"); + if (this.numTries > 0) { + DownloadProgressView.this.progressHandler.sendEmptyMessage(0); + if (DownloadActivityInternal.getMainActivity().startDownload()) { + Logging.DEBUG_OUT("Download: Successful (in RetryTimerTask, after " + (10 - this.numTries) + " attempt(s))."); + DownloadProgressView.t.cancel(); + DownloadProgressView.downloaded = true; + this.numTries = 0; + } else if (DownloadActivityInternal.getMainActivity() != null && DownloadProgressView.this.encounteredFatalDownloadError()) { + DownloadProgressView.t.cancel(); + DownloadProgressView.this.progressHandler.sendEmptyMessage(2); + this.numTries = 0; + } + this.numTries--; + return; + } + Logging.DEBUG_OUT("Download: Failed (in RetryTimerTask)."); + DownloadProgressView.t.cancel(); + DownloadProgressView.this.progressHandler.sendEmptyMessage(2); + this.numTries = 0; + } + } +} diff --git a/app/src/main/java/com/eamobile/views/IDownloadView.java b/app/src/main/java/com/eamobile/views/IDownloadView.java new file mode 100644 index 0000000..f31377a --- /dev/null +++ b/app/src/main/java/com/eamobile/views/IDownloadView.java @@ -0,0 +1,8 @@ +package com.eamobile.views; + +/* loaded from: classes.dex */ +public interface IDownloadView { + void clean(); + + void init(); +} diff --git a/app/src/main/java/com/eamobile/views/IProgressDialog.java b/app/src/main/java/com/eamobile/views/IProgressDialog.java new file mode 100644 index 0000000..aa443df --- /dev/null +++ b/app/src/main/java/com/eamobile/views/IProgressDialog.java @@ -0,0 +1,20 @@ +package com.eamobile.views; + +/* loaded from: classes.dex */ +public interface IProgressDialog { + void dismissDialog(); + + void initDialog(); + + boolean isDialogValid(); + + void setDownloadMax(int i); + + void setDownloadProgress(int i); + + void setDownloadSpeed(float f); + + void showDialogContent(); + + void updateDialog(); +} diff --git a/app/src/main/java/com/eamobile/views/InvalidAssetVersionView.java b/app/src/main/java/com/eamobile/views/InvalidAssetVersionView.java new file mode 100644 index 0000000..c943e7f --- /dev/null +++ b/app/src/main/java/com/eamobile/views/InvalidAssetVersionView.java @@ -0,0 +1,111 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class InvalidAssetVersionView extends CustomView { + Dialog dialog; + Button exitBtn; + LinearLayout mainLayout; + + public InvalidAssetVersionView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(42)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(43)); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.exitBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.exitBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.InvalidAssetVersionView.1 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + InvalidAssetVersionView.this.dialog.dismiss(); + try { + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } catch (Throwable unused) { + } + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.InvalidAssetVersionView.2 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.InvalidAssetVersionView.3 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/com/eamobile/views/NetworkUnavailableView.java b/app/src/main/java/com/eamobile/views/NetworkUnavailableView.java new file mode 100644 index 0000000..26bdcc2 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/NetworkUnavailableView.java @@ -0,0 +1,122 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class NetworkUnavailableView extends CustomView { + Dialog dialog; + Button lskBtn; + LinearLayout mainLayout; + Button rskBtn; + + public NetworkUnavailableView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(9)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(10)); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(16)); + this.rskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.NetworkUnavailableView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.NetworkUnavailableView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + NetworkUnavailableView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startWifiManager(); + if (DownloadActivityInternal.getMainActivity().isWifiAvailable()) { + DownloadActivityInternal.getMainActivity().setState(2); + } else { + DownloadActivityInternal.getMainActivity().setState(6); + } + } + }); + this.rskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.NetworkUnavailableView.3 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + NetworkUnavailableView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.NetworkUnavailableView.4 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/com/eamobile/views/ServerErrorView.java b/app/src/main/java/com/eamobile/views/ServerErrorView.java new file mode 100644 index 0000000..10b14be --- /dev/null +++ b/app/src/main/java/com/eamobile/views/ServerErrorView.java @@ -0,0 +1,114 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class ServerErrorView extends CustomView { + Dialog dialog; + int errorCode; + Button lskBtn; + LinearLayout mainLayout; + + public ServerErrorView(Context context) { + super(context); + this.errorCode = 0; + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(33)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(34, new String[]{"" + this.errorCode})); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.ServerErrorView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.ServerErrorView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + ServerErrorView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.ServerErrorView.3 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } + + public void setErrorCode(int i) { + this.errorCode = i; + } +} diff --git a/app/src/main/java/com/eamobile/views/Show3GView.java b/app/src/main/java/com/eamobile/views/Show3GView.java new file mode 100644 index 0000000..ef7e3ce --- /dev/null +++ b/app/src/main/java/com/eamobile/views/Show3GView.java @@ -0,0 +1,123 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class Show3GView extends CustomView { + Dialog dialog; + Button lskBtn; + LinearLayout mainLayout; + Button rskBtn; + + public Show3GView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(39)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(24) + " " + Language.getString(29)); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(17)); + this.rskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.Show3GView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().setState(6); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.Show3GView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + Show3GView.this.dialog.dismiss(); + if (!DownloadActivityInternal.getMainActivity().test3GNetwork()) { + DownloadActivityInternal.getMainActivity().setState(7); + } else if (DownloadActivityInternal.getTotalDownloadSizeMB() != 0) { + DownloadActivityInternal.getMainActivity().setState(2); + } else { + DownloadActivityInternal.getMainActivity().setState(14); + } + } + }); + this.rskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.Show3GView.3 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + Show3GView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.Show3GView.4 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/com/eamobile/views/ShowBGView.java b/app/src/main/java/com/eamobile/views/ShowBGView.java new file mode 100644 index 0000000..17639c5 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/ShowBGView.java @@ -0,0 +1,48 @@ +package com.eamobile.views; + +import android.content.Context; +import android.os.CountDownTimer; +import android.view.View; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.download.Logging; + +/* loaded from: classes.dex */ +public class ShowBGView extends CustomView { + public ShowBGView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + Logging.DEBUG_OUT("ShowBGView.init: before calling showContent"); + showContent(this); + Logging.DEBUG_OUT("ShowBGView.init: after calling showContent"); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + } + + @Override // com.eamobile.views.CustomView + public void resume() { + Logging.DEBUG_OUT("ShowBGView.resume"); + } + + private void showContent(View view) { + new CountDownTimer(1000L, 100L) { // from class: com.eamobile.views.ShowBGView.1 + @Override // android.os.CountDownTimer + public void onTick(long j) { + } + + @Override // android.os.CountDownTimer + public void onFinish() { + if (DownloadActivityInternal.getMainActivity() != null) { + DownloadActivityInternal.getMainActivity().setState(3); + } + } + }.start(); + } +} diff --git a/app/src/main/java/com/eamobile/views/ShowWifiView.java b/app/src/main/java/com/eamobile/views/ShowWifiView.java new file mode 100644 index 0000000..6ad6a05 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/ShowWifiView.java @@ -0,0 +1,140 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class ShowWifiView extends CustomView { + Dialog dialog; + Button lskBtn; + LinearLayout mainLayout; + Button midBtn; + Button rskBtn; + + public ShowWifiView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(7)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + if (DownloadActivityInternal.getMainActivity().isAmazonDevice()) { + textView.setText(Language.getString(32)); + } else if (DownloadActivityInternal.getMainActivity().is3GDisabled()) { + textView.setText(Language.getString(8)); + } else { + textView.setText(Language.getString(8) + " " + Language.getString(31)); + } + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + if (!DownloadActivityInternal.getMainActivity().isAmazonDevice()) { + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(16)); + if (!DownloadActivityInternal.getMainActivity().is3GDisabled()) { + this.midBtn = addButton(this.context, linearLayout2, Language.getString(23)); + } + } + this.rskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.ShowWifiView.1 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.ShowWifiView.2 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().setState(1); + } + }); + if (!DownloadActivityInternal.getMainActivity().isAmazonDevice()) { + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.ShowWifiView.3 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + ShowWifiView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startWifiManager(); + } + }); + if (!DownloadActivityInternal.getMainActivity().is3GDisabled()) { + this.midBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.ShowWifiView.4 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + ShowWifiView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().setState(10); + } + }); + } + } + this.rskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.ShowWifiView.5 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + ShowWifiView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + } +} diff --git a/app/src/main/java/com/eamobile/views/SpaceUnavailableView.java b/app/src/main/java/com/eamobile/views/SpaceUnavailableView.java new file mode 100644 index 0000000..99e99a7 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/SpaceUnavailableView.java @@ -0,0 +1,127 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class SpaceUnavailableView extends CustomView { + Dialog dialog; + Button lskBtn; + LinearLayout mainLayout; + Button rskBtn; + + public SpaceUnavailableView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(3)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(51, new String[]{DownloadActivityInternal.getMainActivity().getRequiredSpaceForDownload(), DownloadActivityInternal.getMainActivity().getAvailableSpaceForDownload()})); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + if (DownloadActivityInternal.getMainActivity().canOpenStorageSettings()) { + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(2)); + } + this.rskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.rskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.SpaceUnavailableView.1 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + SpaceUnavailableView.this.dialog.dismiss(); + try { + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } catch (Throwable unused) { + } + } + }); + if (DownloadActivityInternal.getMainActivity().canOpenStorageSettings()) { + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.SpaceUnavailableView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + SpaceUnavailableView.this.dialog.dismiss(); + try { + DownloadActivityInternal.getMainActivity().startDataManagement(); + } catch (Throwable unused) { + } + } + }); + } + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.SpaceUnavailableView.3 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.SpaceUnavailableView.4 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/com/eamobile/views/UnSupportedDeviceView.java b/app/src/main/java/com/eamobile/views/UnSupportedDeviceView.java new file mode 100644 index 0000000..03356c9 --- /dev/null +++ b/app/src/main/java/com/eamobile/views/UnSupportedDeviceView.java @@ -0,0 +1,108 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class UnSupportedDeviceView extends CustomView { + Dialog dialog; + Button lskBtn; + LinearLayout mainLayout; + + public UnSupportedDeviceView(Context context) { + super(context); + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(27)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + textView.setText(Language.getString(28)); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.UnSupportedDeviceView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.UnSupportedDeviceView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + UnSupportedDeviceView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.UnSupportedDeviceView.3 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/com/eamobile/views/UpdatesFoundView.java b/app/src/main/java/com/eamobile/views/UpdatesFoundView.java new file mode 100644 index 0000000..bce7ebc --- /dev/null +++ b/app/src/main/java/com/eamobile/views/UpdatesFoundView.java @@ -0,0 +1,133 @@ +package com.eamobile.views; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.LinearLayout; +import android.widget.ScrollView; +import android.widget.TextView; +import com.eamobile.DownloadActivityInternal; +import com.eamobile.Language; + +/* loaded from: classes.dex */ +public class UpdatesFoundView extends CustomView { + Dialog dialog; + boolean localAssetsOK; + Button lskBtn; + LinearLayout mainLayout; + Button rskBtn; + + public UpdatesFoundView(Context context) { + super(context); + this.localAssetsOK = true; + this.context = context; + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void init() { + super.init(); + createContent(this); + showContent(this); + } + + @Override // com.eamobile.views.CustomView, com.eamobile.views.IDownloadView + public void clean() { + super.clean(); + try { + this.dialog.dismiss(); + } catch (Exception unused) { + } + } + + @Override // com.eamobile.views.CustomView + public void resume() { + if (this.dialog != null) { + showContent(this); + } + } + + private void createContent(View view) { + this.localAssetsOK = DownloadActivityInternal.getMainActivity().checkLocalAssetVersion(); + this.dialog = new Dialog(this.context); + this.dialog.setCancelable(true); + this.dialog.setCanceledOnTouchOutside(false); + this.dialog.requestWindowFeature(1); + this.mainLayout = new LinearLayout(this.context); + this.mainLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + this.mainLayout.setOrientation(1); + this.mainLayout.setGravity(16); + addTitle(this.context, this.mainLayout, Language.getString(25)); + LinearLayout linearLayout = new LinearLayout(this.context); + linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout.setOrientation(1); + linearLayout.setGravity(16); + ScrollView scrollView = new ScrollView(this.context); + scrollView.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + scrollView.setForegroundGravity(16); + TextView textView = new TextView(this.context); + textView.setClickable(false); + textView.setCursorVisible(false); + textView.setPadding(10, 10, 10, 10); + textView.setTextSize(1, 16.0f); + String string = Language.getString(26, new String[]{DownloadActivityInternal.getMainActivity().getApplicationName(), DownloadActivityInternal.getMainActivity().getSpaceRangeForDownload()}); + String string2 = Language.getString(44); + if (!this.localAssetsOK) { + string = string + "\n" + string2; + } + textView.setText(string); + scrollView.addView(textView); + LinearLayout linearLayout2 = new LinearLayout(this.context); + linearLayout2.setLayoutParams(new LinearLayout.LayoutParams(-1, -2, 1.0f)); + linearLayout2.setPadding(5, 0, 5, 5); + linearLayout2.setOrientation(0); + linearLayout2.setGravity(80); + this.lskBtn = addButton(this.context, linearLayout2, Language.getString(5)); + if (this.localAssetsOK) { + this.rskBtn = addButton(this.context, linearLayout2, Language.getString(18)); + } else { + this.rskBtn = addButton(this.context, linearLayout2, Language.getString(6)); + } + linearLayout.addView(scrollView); + this.mainLayout.addView(linearLayout); + this.mainLayout.addView(linearLayout2); + } + + private void showContent(View view) { + this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { // from class: com.eamobile.views.UpdatesFoundView.1 + @Override // android.content.DialogInterface.OnCancelListener + public void onCancel(DialogInterface dialogInterface) { + dialogInterface.dismiss(); + DownloadActivityInternal.getMainActivity().setState(3); + } + }); + this.lskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.UpdatesFoundView.2 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + UpdatesFoundView.this.dialog.dismiss(); + DownloadActivityInternal.getMainActivity().updateDownload(); + } + }); + this.rskBtn.setOnClickListener(new View.OnClickListener() { // from class: com.eamobile.views.UpdatesFoundView.3 + @Override // android.view.View.OnClickListener + public void onClick(View view2) { + UpdatesFoundView.this.dialog.dismiss(); + if (UpdatesFoundView.this.localAssetsOK) { + DownloadActivityInternal.getMainActivity().setState(11); + } else { + DownloadActivityInternal.getMainActivity().startGameActivity(0); + } + } + }); + this.dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { // from class: com.eamobile.views.UpdatesFoundView.4 + @Override // android.content.DialogInterface.OnKeyListener + public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) { + return i == 82 || i == 84 || i == 4; + } + }); + this.dialog.setContentView(this.mainLayout); + this.dialog.show(); + } +} diff --git a/app/src/main/java/org/fmod/FMODAudioDevice.java b/app/src/main/java/org/fmod/FMODAudioDevice.java new file mode 100644 index 0000000..bba1050 --- /dev/null +++ b/app/src/main/java/org/fmod/FMODAudioDevice.java @@ -0,0 +1,108 @@ +package org.fmod; + +import android.media.AudioTrack; +import android.util.Log; +import java.nio.ByteBuffer; + +/* loaded from: classes.dex */ +public class FMODAudioDevice implements Runnable { + private static int FMOD_INFO_DSPBUFFERLENGTH = 1; + private static int FMOD_INFO_DSPNUMBUFFERS = 2; + private static int FMOD_INFO_MIXERRUNNING = 3; + private static int FMOD_INFO_SAMPLERATE = 0; + private static int NUMCHANNELS = 2; + private Thread mThread = null; + private AudioTrack mTrack = null; + private boolean mRunning = false; + private boolean mInitialised = false; + + private native int fmodGetInfo(int i); + + private native int fmodProcess(ByteBuffer byteBuffer); + + public boolean isMixing() { + return this.mInitialised; + } + + public void start() { + if (this.mThread != null) { + stop(); + } + this.mThread = new Thread(this); + this.mThread.setPriority(10); + this.mRunning = true; + this.mThread.start(); + } + + public void stop() { + while (this.mThread != null) { + this.mRunning = false; + try { + this.mThread.join(); + this.mThread = null; + } catch (InterruptedException unused) { + } + } + } + + @Override // java.lang.Runnable + public void run() { + ByteBuffer byteBuffer = null; + byte[] bArr = null; + int i = 3; + while (this.mRunning) { + if (!this.mInitialised) { + int fmodGetInfo = fmodGetInfo(FMOD_INFO_SAMPLERATE); + if (fmodGetInfo > 0) { + int minBufferSize = AudioTrack.getMinBufferSize(fmodGetInfo, 3, 2); + int fmodGetInfo2 = fmodGetInfo(FMOD_INFO_DSPBUFFERLENGTH); + int fmodGetInfo3 = fmodGetInfo(FMOD_INFO_DSPNUMBUFFERS); + Log.i("fmod", "FMOD: AudioDevice::run : Min buffer size: " + minBufferSize + " bytes"); + int i2 = fmodGetInfo3 * fmodGetInfo2 * 2; + int i3 = NUMCHANNELS * i2 > minBufferSize ? i2 * NUMCHANNELS : minBufferSize; + Log.i("fmod", "FMOD: AudioDevice::run : Actual buffer size: " + i3 + " bytes"); + byteBuffer = ByteBuffer.allocateDirect(fmodGetInfo2 * 2 * NUMCHANNELS); + bArr = new byte[byteBuffer.capacity()]; + this.mTrack = new AudioTrack(3, fmodGetInfo, 3, 2, i3, 1); + if (this.mTrack.getState() == 1) { + this.mTrack.play(); + this.mInitialised = true; + } else { + this.mTrack.release(); + this.mTrack = null; + i--; + if (i == 0) { + Log.e("fmod", "FMOD: AudioDevice::run : Couldn't initialize AudioTrack, giving up"); + this.mRunning = false; + } else { + Log.w("fmod", "FMOD: AudioDevice::run : Couldn't initialize AudioTrack, retrying..."); + try { + Thread.sleep(1000L); + } catch (InterruptedException unused) { + } + } + } + } else { + Thread.sleep(100L); + } + } else if (fmodGetInfo(FMOD_INFO_MIXERRUNNING) == 1) { + fmodProcess(byteBuffer); + byteBuffer.get(bArr); + byteBuffer.position(0); + this.mTrack.write(bArr, 0, byteBuffer.capacity()); + } else { + shutDown(); + } + } + shutDown(); + } + + private void shutDown() { + if (this.mTrack != null) { + this.mTrack.stop(); + this.mTrack.release(); + this.mTrack = null; + } + this.mInitialised = false; + } +} diff --git a/app/src/main/jniLibs/armeabi-v7a/libNimble.so b/app/src/main/jniLibs/armeabi-v7a/libNimble.so new file mode 100644 index 0000000000000000000000000000000000000000..139665a06e21408d464ea4c19fd0506baa933d11 GIT binary patch literal 13728 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

{j|5I z1vxig>#?~jT)S{Cdfza{Y1xtUWIHJe*~80$w3}6)V_T8BbfBm%omF0!mQ0tPwd%o- zT;}Uo&b~0pfl;PtMszgRHu@G_G36XURd06s`6l^zxsx9I&YXN3IzFMY z#{IHh-|3e1(DQNKvT82n#vymh>c%3}d7|6-cF@K9oSRRTV`ZD z^w0d}=xnvJ$w=pxe*438(n`h|qxUjK0}lXqUqjrZo}{${sCkjDNtY5Mz>HBJOSMZ6 zlfAzsx`TRNtC%ISOLfYgZE?xI@@RM;@7(nS>0#RcAJF;q=+{55scrjtt@d@?*g1|h z0L5-zj85XOFT_7Dn>J}BG=FO7T8te}YXM5n zWcP~Ff2qfx8uxSd&7wAy!HqZF(A7c=eDw$ER^{I#U1z+V)+t+@_FTzsKL}dkd$vh- z`}4`$_m7xb!@l$yt#K@7TvQ#XH*g5~sZYr^{1SPx&#uk&aaYX#=il_d4=pDa18p{z zYx`9xYx>n(z~5f-?{B;I&;5Jau1op+3vE|>gtq(TcaPk5Tgcm|{n51DZ3DF3w|F;} z_S#E(g{P*h0^rIk57n6iwaAl{WXd#WE~~f)ny0FdC`P~nY)N7GS$5;kiY{^C(qG~{ zGh!gz4liyTcX$khK*{2^!3lUSwhTV~{+n&+MaW$4Im?}AL0}jd21bEVU;(fISO_cx zmHe7PuDJ0^E>X23!PO)YZy; zEC06uw*a>Sw*q%yo83{esOu4Av=ifj{pv&gbscEf7RDEaxv0jPA?$6E%soi5)UEo{@dxc+{j!AZ5{jh%lczrQhF)I8d2JI_Z4?avQOb6MGu zLH5^nIcIB)y1dike-Ipg%7Wbvys%hqdO!?^t(mq19X4^S@)QUfpB`fA!vhJNRF5Tgti-<9nvZw_qp7FNSYpT=I*l#6#E)2rW)|AqRUcNF#e zUHZuN8*vo%yC|c6@gMj4r0r$gR$a>I2d)m+8=DG!8odQQ*6Xiv^fb+Fu`wRv69wKO zK2a4%iC21*c!fua7sh_6F#sJfl+QQPDHIDLi}q1J)fojhZ9Kkv<&S#X*Y_pc@u6Oy zG0BbWIC>Lw!B^7Jhn_#a_blEsNnd-=wU6AOB`JqpPs425>a_h z=AHHtw8a)4jDIJ7zVQvk7;|y3O@?a0adhmcyFPx6@m}-4S>Ag;{@oPgeKzkaz4z$V z&ieXgyw`emnK8e6=ni+CMswv~wk55W$@o&gk+kZ7D<=^P@3o{AdoyV*1kS@QbURlz z&;2>I;?1jnY5gc5Jq-SM;_o><<=(jlYJcswP)u6Q!)AIhjpY-NM;p}yG_RK3JMP5b z^kt37H|qcLFBHyw@EdjOp2vQ%c}DEm)8Qju{)i`M@_wfA{=qQ^4!$?jCap*rxMc?J zaipbo)ZE+WN%gx$E>G@}-?a0*pR*X9c_B3S=Y}zO@}QsRQS#)mJa5~ii{jHxH+&4Q z8-OmEzKbus)i+&kyvXUR|6{sLg)Wu!RgFXO{{y=CGD`e1mHlZ`@ul$X9>buE|2~sn z3c*!O86S5sbdd~u`r;FMv>rXUp0yKXnbOS$H`~Dd`)K&k8`s=)y}hd7wqeI_Gwk@E z_2_LSQk_k#ZD?&o^PpDjmwt?g64qzU_FY37Ym78rQGQZEM88VT$3W{N3bvypT($$H>mdZ-C--d0^ zqR&*4zrWrSh+4};N6Y#~`*eJDWn1ud7SUFF+Fmxsk`(3g-)GjRGgc zHPwWCD|b5bMRIdG|NU~|Pons>p&#te=_&Jc&X0MxTNUq>{UiDK)6_=!zC`wZ#o|u2 z`|GTM66@LNp6}9T;=HmeKYccBDPO$&qDJhM7O*b;6V~JP?lkY+@!q@RdDmLx(vN-P z^*&Fk{+VY>CaAyvKC}MXOJbfaxoZzR3$2Gycg@)f;a!zm{xoU_)#Y@`%{lDd=UhDe zvKO{by;Qz+^0B*+v0%c)ly%YTNoy>y`_-hiFGd_%o@WDp^Gecs`LdKXl;?XdO<9|E zC9PKA!#r;U-opKC;APww0RQrbr1g(WQdSSocL2Z5{TkqP+?N4|aG$4pVA%xjU*;ZY zuCvLvV4pV*X$&f^t?ke`>Vv3XAcb8i%6!As(ISN>(tmS$`|qd$`bajo*#_=X=%zTs z{@9?ko;W(?0nX}-#~V6!M;kg$B?g4_yi=`j5Ua=8yJ*;y7vcuz+BEyq&(IGK)6dY+ zyVdvQ$4q`*ySeso$@h0Jm*2<57uEUAUDd(f`t3Tde;H5;ZmEGg-K*cMWU^~!jmE!^ zbPjgv@ZejbAMr|vD|R<=Ufgl`ea>HbpYv3FS@;xr?c>=#w`)1~U+krc{G}bGAmGbiQSW9|qjr6`x9;3FQ&* zM6ZtwK_|K66Rw@pk1Z_yYc}7v)%3<6)^~q@_0agkmEh>PuV4MicrX2{IOF}B#(T+; zu=jp2{YmtBgZCECbpDJ_uK<1#vPEfKPqy%wv9?E>M`-7c81Ldd7yaI79qQDrmN@cp z^pFWWuV(HdU8*RTxh?fRgYQze9bV@ou?I5iyvZoDbj})ZROei;%#RxHRp;s6d!Huj zjQ6T@nfKnW^LKe)$g@JlYVh_)4tmz*#}V~SjA!ni$2@TI44ktE;MqOsYkLfR?V&ea zy<|4@7{?fyHF8`>0vojU7G?#a9b;HKy!&2gA9|eqeXKjOUKXAowpGvhdJg^d|I_-9 z9ViMv79_OJt+n|>`&OpjIcR`##wlmqDCbuxr(}ot6o03VtHuR-_Nts74GO_8H1PM1 zI&koPraaFEH`~CyjkI@@mY?>=K5TI&fYz;CdCuxb*Ow;+oM*KO*6DfY=i7=-*lOs6 zFOskSJ~Q9d;I1}sD^(}rK51V4`iA3s!Zq+>ys4|@X8Eby=*@MVGkzEsotTfvHe$}9 zTZ`uI8kPG#$op5|A)Spvz7dtbmU0*WM{ju~-=dTuYLwx-MtSKo#CUM^cF7WzZU1Ss zX>>ssdj`7qqL1x0^s#)(ueu6Hx{qigT;-#461Ez+ON@Ln>9PjgH3n{$=t6uYVuK!} z^Ad2D7&!At&wrnp-Yjru8MyWz@&Adh=vw@KPS1oBE!GHY+a8e41ixDN>YP|aUxKgm ziNh0NojHMhVd}`*E{pZwtfHtr2%rBrYq`@{*S$7Wn>P8*A}`Cx>uSp7zt1e!tLS&H z8v5N<$|b&&U8&f!EBW7wh8w`&VBlXgK-x)glLqc1UfQFvt&XU)dbB6~)KaT+Fa2D$ z-aS!bcExKulz(1ac3PeC*qM#IvGoQ3a|P+xi9}tO%Byn+YACZ}@67``vG<@~ZFmd5!gXE0bnHHd z?*CH%8&6uNIJ)0AFFgr;%lc5tdhvHjYiBuoPkx`YqCoqlr1kd2DeG4}-vC_2eF}Ix z_i^Bb+)n`JbDgy_Y2El%(i#jr9XOV&u8j2`u8V$~v>x4)v_=BY1Adw-c~Qz*4DMWD zInQIjH-K9%Oj-B;CTXn%-o^cF;Dy{z0OoSP?}C)|vtNS;{3y?3!2LVWOM!po`OBp# z>-*fV2Y!$HCBPfFp9#$6e&6|g|0})+KFsq*;4R$G29Et!ubovoruc0pv5Ue>pUnTx zd%g1m?hpDxIBQbiPLH>Ctu%1dMzUM`Hfz~md>_mpdaTl)s{IuS;jJG->|3*ZQx&owXF? zlXQ;%pKJXeQ9d>Q^R@oBmkzwvf7!Q4*O9;dul1La_y1(Qco%v0x7I%bUQEDKC0uQ1 zr>xoMZ~;yGqj)R`k7dP~>p@pvuW`;(HRk*)!#eNC9pf{{wQOt&*#_>YF6nCQLBKz& zgtWtToCA!HlIC^NbN}<*oSs+xJy){J)EC;ZUOPub@o?y~-M?5xOdl^#jfZRCU9Fw@ zy71=*D3k2JwFYi_H}j~-iIhS6O7O*Gz3ufMs$87g5;+r_&?D^KbK|d5KYXV~+MA)R z-Ved9pnZS7ZH4k(E#E5NE-T;H^S33fd}#Z}t<2ktQ&#gYkkP__Z z%Us*1xf3%Jx@RS!J^bd=ehXvy7Go^Gcz}AQz)cyrk5NyD_A^}CKXR8(`)Y^wSM)*q zUnuVU{E)L}@C^1XO~2*v`A-G;WS%)Q{||@G`3k_1?8}e3bGFYJ?=}Akdhh-D&m7~u z_+l@7r0<7$-`~RfS9$iT!CQA=SBb52Z94i!GD)&F7)`ZTvOXz3bLzuBuWAPH8JpPi zwJKzqcQ{n3o)*@ehn_7ex`_gd?buY_c+;vfu) zF<#@Z>i7A4_&nd>^9c^WX;0nZ=l8yiYZrz zKLf9v-m5psmg&n^pSHUx<8GsjUBmnC%gB>RE4Zx&?oCd88oTzM9Ox-fAMk7-<25GK z*TVmo$5$F;H_5gRBhF$n+?7~2E9Ey52--Ba+QnsA?_YA5Pyqmq6z4Pz& z*bQ_JuRr!SI`weh!%K&(Q!fEm=kWTt!yOu~U>-$`VXiCAKcOeYeuCh-WI8u=mYv<* zoDPLT_KV*58wyxeh>-5R(>7kx`tBq4uii!e)F&PJLtYNwzEm&TjDT-@%a~8T`9{9C z4^YOpnYU~IuV2Ql4)viGUGr)blb!vw^gFfRPVjabcsDp{y6-dV-2!flfxAO#vRAhx zhRw#%W0K${4ZMj1@Wfnj=Nh;_RhsYvJ{BEkOb+yvkiO2$^~+lUeuaTwMB4uQ%<@LT zjT*RXNIQ>x_gb&DR{h-`LHYq~B3Au7_TVbnNH~`=Qfg;oBgt}XCgBYl^X;jdK5JjKZXSFawSO4Owb#+sefg> zwd>~CwcBn7x5!=}$~(v#cd?i4-pJkdm75;1tJXbY=e|464(+>#jv=9a8ZkTg=d6qjdNKJ{f0aL@7Z*w{kOaK_tc|boKfDKJ~L8ikC<^5bj!9! z6k#JPA7@XR(_&Aa-(pW>FUG_1 zFW}qpc5Frq<<7Q;ln-ZrOtyVZ`B3(QfL9)1?_7yJnD2*%hO-yu5_o6=dqOy4G<0`5 zP;_@XD{^Rs@ zg+KeL#JA)5W?(({N#IwwPXN#1z7%){FmHUy+Vy18Y8!_v^?cps!_l8_1`NW|y?nX18kt{~vtlRb% zMzFKNXp~KqZ`eC`Boh8zPzWjvjPQ}L_^?}KqZj9_&Y&GnM z=PKZm591w+nhvJt$GG#;|EQPl$cZWG8*4sq~ajeo01}_^~S8e9|@N*W!&m z^==Fq%evp0XKQ||b|25UnHl@_?~nAxr^VPAntSTuv0p#_(xI_m<$t06DjL-Cj`inu zrJuw1PF&SiHwJu+xY+SiNA_$%Ptkin?mT_PiT$ecN2N#VogWYS9L7K=9yHINSml1_ zze65H9-(eSRvj95cVDUE1_> zyU?Q_=ctAnqleS)dq(*YX(*${WhSq1_z+ z9p6`n`aI&}?#D+RpMIx~eq1T}`h+9sCJ|Sc;rn%dYyiGpkgdK8&9Ycu6U}@YA)5}) zp*63&^V0`l;~GJPkj5)9)T;Oc3uLNGecT~^XI_Ckiv00TG z^Qc<#t~K&L(J5!&bG=Mo(Pb(paTaEr>-v-Y^35TR{1xxc4K#Iq3^}Q_i#&K;eq4d@ zq_!Uxg*w+2Rdr5080ThUhj?Yi2O2sQw@f;60RB{+wN85zJ_+BZep&}oU9?AHTuENf z%gp}*dmB2wlK5uFjskCPSCZRV2p1!2M7-Za> z(LJQcU!%;W%mLz;sqF$*Yo}GBwejm5J6bk-{+#|x8t2oOMPK>gSe!?hjh*Gai0h|z zCBA513B2Zvsq$Boe4Z3)87^J_O5~yXHGH*AW5@@{Z!Ggyl~r?D={4f*oh1#9ZWpj> ziO+b~9+i6#@06cxk1BWZ|FYaZEyY92zI>p^FLQRFk*13uM}Li!p=WDvaQ2P{=d3fQ zFW`q%2@g#mX2DcoT>KQ54YZf<oJTwb^W|lFJoIC&>V&KLM+$W)f`l(`xn|(D3Uev%lhcx~7nKI>l z#_{(J8{=BiET-R=L>oHfA1fV1^a*1(UU5S&t+(^tcJzep-nTxj8=>_W>;valHKk9+ z4ltU&9bo=;d{I++YA4~#eu3Qb{S|_==b>w@R=0dS-7{wx`xyiG1)gb- zBlFb$=c0?4Yqn>}-#~KE^ZPgh9qx?{tev008vSFe(E~5yek`#2QEZ&Yr>r1_*#5O9 ztB`9agY%n@B(3eE@f~QvcL4Zd?B=t%YWV*K&$b*#S`U*J@E-1KfR}P#0elVn=}AAw zx0L^dTnFvcab#SKn0-e7UCA6v=Y&hYQXgBM)Bm_N58QbM?g;T1JUi7$uNs_c17`v0 z`R_A%wiMh_1NXhx6w7CM*Yo>^^x&uBjL~QOn0fg~=H=^|mxr0h|A=`!u%3JL1Iw}P zL+6o_)94Gu`1VNu^6RYeTk|yS!|=y%Q+~~)kIgjt*!7gxf1g?2GH}Zb++R^%$*(BB z&AYDe?Nj;S<&Wp`aQ!|Nll(${n)Lq%{qG+}zrA1p`tJmHr-A!0`QNs#IjuIRV(cla zU!E>sMNCj^{{6*__}W6*R^{vWgfsSPJt2f0N3x-~s16_OI{fMD(tevcvWxQ2_R!)RpdQ~ zbJ}JM!p=1aT0Cy&6g_5_R@J31m{FI$a1J!#JLxCGBahn8cs4!lHDJ7V*2`pHv#^Jj zK|9TN{5Tt^xYil)Y#zM2>xc00h?MmwY*TBwTKNAEe7qDmgLetwAnx}JPg#$zgU^AB zc|I3d&V3B%^R?DOR(gD0g?^nKdCV@UhmQ1be=O6Q_8p8{8pq}`p54j+TCS&gesC)c?g<^Bl))a1#7+S?@jOR7meU*&e!PS`~Bi^;#7`7 z&P$&^8QwS^*{}21Poa%e_Gg(_#EMvpLwir zJ^zuHvYuOuoCS9OENLC!TFHOk_9q&z^=KT7vmd3__oFy8mWcdGe3~zTzIQ_FrNAUt zc5Eg3Qm;>G<{2gzJGAZF_agHQlgIEG&Qpxx`K;+hmpgGY7laqI1x9_NP2<`l2Cbbo zgw}q%XP?%;h1OaRlwO`k-;i!TD71ok*~B*K?3sGHbo6|upDa&T&MBo|Fosu^**Wux z7sZ%76dP|Sw8M!#V-X7|NM8;|j%RFcN{5R^+q zq%RHafBbtJx&F2x|F5AvBzt{%Bw6_~I4>JGPm`YiK2u(0`hb3j^n7_$Ura1LWM%-` zbNX7kV%rCa<lqQl!lOT77f65}iu(c;+?3 z)%PYAwY-?M3SSxg1a$v7)@#b(9e;iI)6QIn^{{P}f#>HKCl^?{z#<(pzwt|=f4=|SY_N}>$J#&q* z=N6|e`|ewn;8q&Auj0p79BV|E=}oT~oMHp#YSQ!HXSQV!T*X!J$Gxqjr@dgJRZipq z#^eXm8v8^ywPC2}frDdU1?wdm11GcIqxMu=4q>dh9J^08`s`4x`$Sr7=4rc5ENV_a zeUBZX4w|H2s4!p7K3*ot5dWA(!6NVTR_0mi3D+tA0sZ zvCoEkz8)I4WZyZ1zLpna?D|i}t{n8Q?=vm|>$y(?KMITmQ`Yb`NozDPm-~G~@fH0Z zIx29V7jr#CzijdKuo_nn4JPjE(%#roV~ukzbK|+jI`5x{s6Y0-CR+(^rGb09+7O)MEyf;<0BdQ3iUzYz>9)u3 zowlMqn0IH6Bg)&152g7czSEsC#sh2%n0wuQm0B;DYRI$iP+#Hby<6YjeU+K}HBX|x zLB<4)C5lgZ@^$XmO{aACYcePI_iXy($@AE$CSgDH^WTH~+hfST1q0-t=?nKB{<>pp z7}pXji09n9?!AUI&App*Nz;Fy*@m^?)*AW$ku+!0hVl{LajjdQ&&w8*SWX_j{snQq ziyPlv=j741U91?~VgvUD2k%)koO9unOYGJvw>;Ew)6-r$?4_!&Kt}oZR_HDpo6joQ%#0&KMPr9Os-vxA==kuTRL%6_Sj@&MO%wUGM>9)ty69 zR@Ha$&j(K7z8LuKcd#4*Z{+!e!6_@meHi$KCz4h@*Q?pcL!NC0)~Aq%z`MAg4ZM*1 z3BV66PcwZJcOe<#qFk3nRkba(l-XC-=lM$d&;HI6^Cpw}Nx{%Vpv zBY)NF4|fW9;_;2(SyA`BY>7bwXAC%!Bg8f1Jfd)y6<*k;Z#M9a=`;73(m=lTp(0p*dmh{FxbAG0|nK>`>=VboecLVdK4aVH+oWYVC z?%X(2ZY04?8n|omV|3LIJ$zr5!|kNMup=5?*s(iW*U?y( zb#Q()2;MPmTmjwFm$Z&z+PeH__pC-or~a3I3!4=1TiCOLTw(qnEzb{z_L)2|-DqE* z=ijS6ln1UfaQfqczw?dB1Met}et6(7yz_bBJdX$Vk;l>S{Hy8dU z-=|bogXc#WIQ`Z4r+j19cazfSr@oK#&adw~q^b@AJGippx# z_W=W^zxqz*8?(NXltw@Gy_9!;eZS__cfwKDH;?-I`yqnIuxAA+__xkRA=1q!e709dWxQcfv?j;lZ zl0jNq=x=XS_~X5Mqf}PO$D=80$pB?NbAYmrH_D1mbBMe|ULUe1;FO#FR(lKcx@X?fKSW30rVyIQON6+ME@ps2Rds($v{HuJc*;6tg}&CM&w^gi(~yw-4qsrprFy z()G~uZ_B*rio59V`O-cr;eOc5-}eptB(x6J%7;a97v1x3M^RT~z+t|DKloT)kNntW za}1(CjLPs09LYCIf28LdI1=B$)86QnC(ge264FjIbd7(gH|FBQLx&wX=3)Zh4QLjK zPHOYdo)aIZC{r1HRz|tXqHZ0|- z^}Pdg`M-npts0=-`@T2d^OaN54Ho%fk0HhdEm|X(+C59+%GU z9nF=`{}}5C#Pid-Qdc2R`4sbCe#P3WrnT)e%MbJfNVkN&%#Qp+7O0=gFR26{n^LYa zE@;vf!!N0VtCIhm<=YkKe>HF>Fu^`ut(X08zV+KhbdbEcVjj@dAt#k@3~vz9Z`T3y!F+? z`@@aMzeD;1eAlh?oIWzG{Yd>`r z+IK2;s;P#ZYBB9Q)@y&-3ZDBznznefzq=k>&+ zIv>-W^Z#sQpeNzQ6w_Gk$1h%re~B-WcBThK z#=Raa=X}i~Y)(~N^YP1^!TNd8Q}&?pQoEw+LVNHG`D%X99uyjCFD#Gpf1I6Nb%tGA zp2gn0arUYB$&4$fzn9|^#+-Q{{ZDHH8cY0p+1mfqfdA>fX6w64u@M2MKhwM3t9ZOl z{1)Vst7nVG4IP)9{IA6W&5tVnFykZT7>le>TOCPfJ(lr6N0YCYXJjk=e=B3dR>pE) zZ;&qv=R_UkDe>HT@YZ`cdf#pJ&vQ$_U1H$Q;_T1S_+FTP4UQee!1*2N`R_A%xRUfL z4cs{C$ybGO8(Ug!$I_3Y!+G|Q-QP}Hw_*3IwVSQ4+{3y)@SJ+~nE=n?J`8;QZuX_5 zkACj>%$IB&PwhP z%7ILG%4wb}lI_Up8#);mnBTbPmAAmZEe8Ld1h0?O{EjhXykMMs$y>436l2~UTW)mD zZy|$j#bx&7dB{1B#W>@HOu94uzLxC74}^7#fPts7h^|^kP#tylidlZ~lGe^7|9!c5 z*%D$Q_B2~RTf}-|cQ60cP#^J6p~fZ0cP-vIf%6^1@PNBlh;uX4M)0xk*C!o9eC_+? z`Qz1*@T8M!ep>&X0VhXg_J?(H>{JY9}%Oe4WdeD?i?2^~6K?qM<))Zs^;k)}vSd=U4V) zE2-;fyDrc(8T-@gz$<}22VMpI!@apZ*8vOpb``jJ5qK@yMmnj^z2oZe*JDl=Z|Ha* z=yoE{|H&h4*k)r6`F1K zXx4g+Xtt7AnLf?tLbFznW}AK8TE&l!7DosWAo8XR?b>#atYPAxp& z%^sQl=(Lq|ws>^fdW`6Fhhk@Xyfq#=ZT0A+Glh@DTeFWboyHGOb$$jKY>q-N`rMWh zl_AwGp3|NMjd{5o<$q16VDRvV8It)`QoPpjYmGp}c(N2?7-L93IG zF|E>XBd<>4*;;&d`lHj!&}pYfrgblC%4c6)T$bByRRmi&CW1fa_vk1o59 zf-X~zF;lGM=?9`?%Rlni!$%p>5w;%%4d3}hZ=c&sTzXSq*`v7g=r6u6 zpXMH>zS8EsH~sEjAs&4h`ex56Ruj1zxIWJ{Gu~uBu4%Hqz7lwKlXdF@#Ot}L z$+~U@bN$LD>!JHND`aYub;0taRmYk~aU*dwtD3AcmvOGF7fUJ-W87r^7I6LbBLAel zrcPYw?1hMVJ#wY!pWiW&6lt}P$<4S7xLWX+Z7ZoD%Yup+O5 z7xc!drQF|)EqWm~$3&>nIn%YSyfJ+Xc1WG+x@bn@;b*!M=jNB24*KFcv5!{Vq5V0z zcC|-mwPEId;bQ9Jzt61C4#x2v#{S;#Q=g|o`22bKT!?*q+&Og}$&%i)k{dPur%oTu zsMC$y`*c$|GUJPf2B7N}%CW^LN1aF4sUK|YYGV$ry|%lf$*w)nco#Ii6*`64A218r zh1pX$sC>MA8}!V^ZmKvm*{qq#H&H%;lZqa>8b9Z&Cq^E*I)Fc*6>4DLVMF@30QK1P zxE+Uf=WI)+&9Z04@_yyL{&^xZmiP54JN%Hlsn}_ki`l1N7UCS|bwzf05$A!d3))%h za_rW1Zu!QsmgD!oYV?I_!>9O3^6jtfO2I8Pa4#a?ZLImJK6O>_7Ccmjt^4AlWV*aO znO-zUYabuN9&OoyD$5=;$FfhG(U2~vYDk|xry-3^$!S-$T^r+bo8cGytpUoh8QjeV z?ikA9lmUJgf0wb|axvv7ryN#!uEX1bs$9yEYoA8m1)NcRI^~dDk}q?npIgk3Pu1jA zZRGU@%H_Y$*J<1>YW#CL0fcAHSd#8c> zIO&P@s$*NUwnH*=YDG>@lJW1XOY1n-!9DNX-v>2^x|=qy+h}{!=5-6S7-BWx+t7e- zVI%uF6_+C3S;3jOj{KVM$*;&ob{+h6EA1T%U1&>=EnhZfYm2Jq zAlADFN3!fd{b_b!U4b1~bt>lwSdlI04O@(LqW^xkfBsK_n=){}uhzO7gd+cJs#Vri~l~8S2Nc?D?DDcqE_ee1r?pcnEOR(#}f1}`6Ih)vRfxz_hsT& zz1nOIVf@Sk-UXcfO0#w0m+&VBUIr}K)olIc3+!L}L$me#7m3*ooX>qN@G|ZTfPb0C z`t zT1KtX=w~hCPTr|M$-j8>7We;r;L)sQWbbUYHqdv}f8;;m??03MF;I(67E86?vOA|o zHW}$D0V~>3V?EuqhI`rnui-4f$yU=_vbP7LE5-z(-xw8)E*dj^Bt9nS=IUG3H`nb6RGyvY2WYKzdY3$Czi-K z?8w=1&QRtGbB*T8PcG_;aux8ukgJ3%##O;p$u*Db4z4@7UjM@Wo?66GCC%CPvT%HYUF%FsB<<>8e;$5{B2dnX3e*XI} z&*>2l`eW=|#?86LxcPC?_1|a8=1OoY4cymAcP42`4(uUaQ*SH)x4^)?igf+=ndw^K zS_ba(q^r5arx=?QgG2sX{Y%h*vvxZ5K}Qb-0;$e5tPx0uN_lfT`R@G) zT}5*+`nWT1(wxsCt^n(itkI>~oAJ#N6z;xGtH)2XiZspniS``&^OMP;5=VzqEXRPx zbH?&X%o(y6&wam|a&%h1-fG9OjMZa}v3jUM7uFRIo;Abx8*+6D_ZvVoO;!mo^bBOy;kILyEXR-J6J@#3i#xQ@QJ^NOLnW- zo(wpivPB#B%vV2AB zlaAi&=d+$ZzuxHcmy=I_^E=rdml(KDkx%?)#(8ABpI)XM`=HYE-e;COQ;z*m=_x({ z`o+6rIdc=)CsAxC^{;DlW$k%Bk4H ziaV@$#EL~6TX#M_R848cAD+0W)K)zvt-8ROXGr$kL3(!>>FxP@|NVSAxYG^XTT~Zx zFtw59@uH72m)~}lJC|oqde*iaXYLZ^+o zeF5+oJQ7q14UxEvh@{t(Y?WX*M>aX#Ud@Phw7 zvtKrX+i2ka{FkoYVudZns)ml}$coONOg>c4(7B7Vjc?8$fTt_KtuSzZMEb?p8~ivE zDsLe;g$B+C#JipkPiA?u!Ob>sA0$1+p^zNebJ7Vtq9J2bXLddPa~1oKHD6fAKHyDF zY0;WC?9AE59^hR~Y0Dt$OHgwmoiU-d5-AU}G zNyBdX2z99AS)K9hgOt_vt%`SE!*^@5+6$WMYr4~o@4ii1{`*WGC;_*`z|9v= z(T33)?G?rjezSWnVHiBE#a#Ut?GJM2&hI?#t|>|O-1uYixY8ZFoj%#e_?_7wkG790 zy+ES3kBjfbZ?YNR8fi@5hI~}~3+%$SaIq7!N8aN*_|MRr9bWq`v2dn3bHwXASqlo8 zYd^dDSo?W{wVzM5^{ofIkG}D~VVj&h0PnpF?#l-5llV_&>H(QH*mIR$KYD=HdRH3h z{XprV2WWi#N90gFU>>;h4BQh3;EBxGj>||lQxC|r$qpW%oMG|~8+m`-E2sL~iNxePQahOKj-_Ih)+`TFQ3am%jMj`_kpz_oXFM=JDM;Baas{^Pq32Oz6&$ z%oq|=$Rlr4p0j2kx(QEdmXKzNk>*Cy^yOG)zsv(S&%iy8G%JnuoNEpom@xvoX9YUK zF!YMyoTuRH7Mz*1OET?Z;_xU=&&5^PQCT;T&9=N~MY?=O690C~zL4}}yY=;sa?(79 zXHJ>0t@`C&f=DEBOI&6si7YHP}(d9WXUCQA7n8SyWU*&4_Dk_Xwo{u3K} z1?S6L#`V;JS**c6-)uel@uam8*vx$$@LKMxf!Ad88_8fDyTbQc>9{}F@ z^JeRoo3Y0NujIZ2xIaOB2jGvf)4sv~EzdSv_uoVuG2p%2&jU{4z7lv5_hW(G|AD^r z40;&Pw*yykp90>_eH?fS_XWVA-0yvw`Q*o#PXZs~`AXnz+|LER2W)F4@0m$!1JJj> z=Am~LVuw`BL+M)*dd_MTxn5eJ8f0h{`3oJ8Khbn9K#rI0Nb8RrjG!-rrTe zj(Hhl`>op;(|0vG^*>r2AtzMK`cEz~>4tIUpF96Loq1I9vyEMiH#c^zgzwHkZ0kNeo>Ay0zR$!;bXn2&4QzPQf#rj<3|Vy|>+xF0%ld4z zBkSgI9a+=HcbMhz^&CA5*Kke+zPS1E+O9gj{nJO8oBfQr*$n1pz-I32fW#BCs)19u zF9yE*5&SWLf9LtDPqGfgeGBjaaQ9~9Vl{FR=E5i|4OxgPc}<*dfA3lm)244p3}_lQ+%&9d_G=#?Ut@*DM!jHhiKQA zJt*2oo{Nk;{W@)6-nnEXw5J>!7`MwuTHS*C@JrDej_*_BpEIVp>XLTLS;JA>F6P?p zi@4X`O~vohIg$Q3T}r1W?8csT{&TN1^*`*@*ZH5dH2KQGPwl+WelQ)=Xs8NW1#eEj#B<7sC6(!0n<>1vLxHP8`bygg8k5C3#; zj@@X?vFqM)=hzyn+;b7!HB4vygZ)G7eWvafX`1_=G`H3og!Xlb{@Gsn{W*3mwz^uw zR`>E>_V;A22UJs5*|ZDsYxmO$k`A^CCtucEoc&*peLN$7e;?pY(^(&Qg7tyxSRVlX z9r)_w$lhy_y}I-jLv!qaz*=}BwI?R_1eich(;d&`#fp#y8q1Nb^lpkyzam2k6+iqgKG^Q{1Wx? z`8ku1>cFitaR2;VFTYw*_Nw5Q=+i=dVJ7%94gACaw31(|Vs*%-p>={?q;2x(ZKDs} zrzaVueR|>p_M>zRvg+Pap5np&c(lOb#Tz~?{C*SnVpPBnyODKN|o=q7% z+d?^|Llj!i^~;~WZ*OM*=PD~lIy^e-C(YJ*@ManCVPNA1=09=fKfvqs z95{sgJm50m9gj6z|8Wi90T1$W#$4p&S9|RzW}79jDE5Ti9;QnNQdd~xQo`HKV>1NtvGW`v|Ge9{r{S8m@%BlIu9Ljm5bs5of z(z-7kv=8iMUbfemmwjUZnr{VntAYFe&-eG_t~$#W-9yAHUgyLt&OEpKMEk{0$!|;N zdOzXVRmyh#j(NlH9J^5YCjRdtzWcW2=~>;(E4Dpt7r%SEUAAd?`quiL>D%6IbZk1) z$$Pqycl7|}ECIK~!2J#7lpUkEdyakPs!!Ps>&~?`o{46^Lg)1Nqp7bS3wyD@@75o? zb|Bk#7_$9L%APsT`~hV=d)1ZBy4iZp+B|1n?!h*y;rkln`xE)z?}wTFVk)>(4cuj< zd)BI{_H1lJOV@GE=PK8C8C_(TWTs;$Mwi|)!nHTZW_}a6ffzdfIv2N!_@1qtUs;X4 zO1`|3VNdf8-IsmO)?_`ajisK}7(S7HT*+MR%06sS8FZ?LmsZXL2>so$y&&>(UG zbtnv-ZJ)&VCl%pWL0z+`_i*N^Be2(*ej(35i$KhJ)}c)-HBD(C&knIoyE@OI`zSRx zihFBgS{HZL|6*e=_w8Tuf7O}Y&B*7vN0}d9&HNB}4fmzMEbfEA1Hj#nFdw{%`5^Ei z?w0~*aGwC)$o&Lhi2E?`6<}*iv-QoXj1R!`xz7jw@k(r04`cfRRst{L{a9dk6}GP* zH(Q_K`E=lT?hAom;{8nCn`du1essxHd&!!i#DQ>mO1@8pv}fTsF0V~}Ki;$P-5X83 z{rtpA{Mn|ri~oY(Y3>T8n%~TxMhv2O^P3tAHAX0%5I!=4qs%EwQl0nAWjw8MeGrI4 z5Xp|!;X`*r`(GFj#iN#WH#+Ox*bMIO8VjBG-TUO8Z1T~VnQg7W9Wj2~aK6(RJq+7P z@1Em^F8LVV`{g{x*YGaoW4Yg1HFtMSwC;XuFyFn!m>VFDg#7lL_uf0wcFNoCl%s!N zzCU>HOd`qpAN%gG!|XyE(M!zp9|qG8`;#Y);QD7jNZ0y0?Ugxx-2u)WhMx21KlMM(P6v0o zfqOgYIqMz?V!=Z5{~FDiA0^FQXJKDa8^~`=XaCeS4eRlBpf{n*_I21`ufPTie1Q8q zfmPhcfvc%>tiuN!}H0%cJA#lgesI?^9z&zhrG9h*JY+IuLOHUfH?d$HVkUjKWs z`jUCt-+8Rk(jK;Bm6rB0AFH&qfBaabrG3N4DlNqVI96%BOdpm!SWB9IoQ7kScIp_G z)1RLnsV`|PF2VM@eCC1f-J_bU)erUBReSamgN=9gae3WoF6m6_@7M|hntv-^*htyq z7;|Jl+lXIfas|1XK1rzuxdh)!G^d!$!rY|d>5(|BXI-EBZJ9ChFEg{wkWvOlG`p{_=oGrbG{XvU5 zuyM2(SkhmtqA>UR&mM)YEXtWzvZ$*Zy*3z*w^_-Cu8H?i#-xRq{z#{6BzKQYwJSf- zDnz+2Q@$zcSL@b~G`oWd-cv@|9ME67g$E90t8NeR4t+x=Nr`jE{6`5b*)qX1%Z06{?+Jaic8ppZH6?U!B8vJUPf8&2FFS^5i6>p z%c>2MC%#!J>c6m}b7(5nUYP}LY8RpN;kWPCJ%R5Q`>>>2RKquefzl}!UVES?pFGCW zcE#|FVlxK$@6$ibJJCOnbWS91`4knZofC@tFs=PK&OZ>H{Cq5EoXsWrqkokTfyNUT zK;K%?x4QEJ>a@h5@17~p7TPIY@yE zK99HfAB-2^_&&f_` z)e={hwUbjRH}#+`ZfGA$dHnVt5*3{%whb-u+CNVF$7z3{)BgNdKj>}$#aZ5ih9|h_cv9{VjAC+bB(G6<9nqEHoUb-pN|6d_!YuOr&DI}vicrzGb1yQEB_9jI+ZeuryO}= z1sz`c(BO*B%yOIjGzEUr7$kn0H?3EOD7J870DcORm&OTSzL@eoz&q(5h0Ia4HtC<| z>(gWnG~w*|?!Ci%W8P}L!9N?*JR421IY%3IlW*?T+|Kn^%%a`R7@zx?i|sS!V!@|n zN9U{&bQ+bDIW_nV9iL?Vbujzh^1Si~OYR#JD7kA?uw=oQ!Rr5#2Tt457o+%`A|r_R z)U_d6*VO`DHZp(T=#1+}-Up@ldjFf)egm!T1qdU-ro9+bh|ZP z{foT%Pvg8l#nH@0R!hf~jpA6?372|y4avL4uypfj(C$9$64Q=@u9y#RkUb4}JV zjrZMJ;QFJ;OKVY^y>D89Tevn-M|0l1fjUaB)|!_y=V!fJ`t=aTp@+cDBMr5Yc(a@H z-6r?3Co>r)rW?E`nlvWdx(&_9XONMP)+mqVo=mfhvq$t@#?_Q@C1n)-Q~$?h9QIz{ zWn4=c*HA{aw;M;!S*tmuz5ZQvy!phw%h*a8H&aIOmK%@k-&@9cxU+Xr&FW`#$^fCs6utGA3xv@8j5l z+g3GO^MY2lIrs9)C z_jha0MBn4bW^gwfxOY6|o?o68T|K|^ezRr)W97=85}(TzKL;NI^u+$Amvz+V*bruCkx-@P!W(Ze`4rF`|qrg zOv2adoqFQn=0%|;tgj~1&(j9JFL|uK**kG`bX!LF|KfZ=ba5gYO;P>)6Cgko-iMLUi2d`5Hao$SEE;`*||=b3Xaj z{+?shwmqnaN&o><8V>J#&ovLhj!1f?PMBv&DPhevEiqMc`?CU=O@A zX87ZT^l^<7uQERP=`Ld5jA9G<_g`So7G-trbI3<|Z{QhpIpo>fJfjV}73-d2TC>Pc z>3j*jR3bRv{l;Ie`AVE1!4S%v}QE<~O6*73gE# zdiFMR6#v;?@4wou037-$W9-0uBN?T=$2!~HpI50KzdRp*t`*JJ*Un>Y75I7XtAVF; zUkrQ$xMex}0zQcUK5#MjbAjdD$AE*l-_zJ^Jzm0DlE4q}JRA6%b2&3|8F5*7z7{x# z`x@ZKxvvBs&;3~78^A61lm0oR4}2cD{yy%{<{lWnC1quEy?--j>v%q9vZp%pz8Lef z_@TbuZ^NJFIoDx$wiNn_H#6l)rawaclalwnK7Mz@TV|Ydw+|ocKa~rg!^QpjPtnHC zd(+1+_qRF&qQ(9ad$Oy_mt!+YrspwcWf5;2U-nKb^g;W>5uS4{gU-{L#MvsN=|e&F zq0r;D-;bu#emu8=C{;cTlJ49p&O0aFNkyghvsJF|g3bd9M83hwwtM+;sNQu z)@(bx^c3Gg_7V9?(EOHsBVO3P^s?iM+4KBOVj>l>E)0AgxW0jyM`sfA2zU|qV}Xws z(pQ(VPl)F+;CSx8$aN?G{XV9BIAz}2dUk?-7Gv$g>1)0F{nxYicD=Fp_5#XV+K*q^ z5^$FoxDQj8;=~HhwCGK5E;w@yoN=V*zt8NumEcwyxZfhZ3Z;ciPQYhF>XYfvs$_cj zx@0;WUdZ`W*hUkaab)C|M;duX8iNNY{~mPYJ%*0_b+7!sA009{vK^f52F{<~?0@}# zEx2n9+}lY{>;GDd*_3xePj={0I~d`t;v)7YmlIcjm|?M^96MGXLcdv<4iqg+XO%BZ zOYimdS(TxhbgPYYcTfiZeI^Y{!7Vj#t5m1>@WlBRO|$8t0Ayr*buVGDP`g&J(^wKK}d6a%<0V*vRM4Ki%K6ls5DCvn#!~ z(UspebnK6lp8q~Gy&d50FmPWZJ%9gLvG^u~9~5JHt${z)p>f|bJaZoL9BGRm{IaO5 zvq^8ZkzUyVWvu|W!oYphE35ns1C;eJAI)t>?2KKdw)Cn=n=Y{ZIc^2=b{M{BdH9{> z;(ylKM-0+0eB6yedfu;ddhTSs0>7j-=Zq~chUiZjQ!j4{>aL8UQjRJ53)T^_U;P@^JZO54>^Ymv68dM%~24Hz&)VuFSTDUfZ; zz1LE_O)Dy;*rH;k7A-2Rl-f2AZi9*0($-e$weWv`z7NS{A(3mny}#G%pI5%G+3(DJ zXU@!=IdjgLGiR80qHX2u7hJQZs{7iFRo!>9cD%Jarz`Jx@s#LI=_Bb+;TsG7MEt2k zWS3<+Q~a)`KUgk0{eDqj$|p=ue{%Nx$%4KenVLs*aOO-ZykLt zWvEWIaUT5FJWD=krj5Q%*TrRb{sU9Nbn;HO@)ps?WypvcpL4>z=vzW z3$1~oSpj%{Yygt}nLhCg|H(SP>|Sgl&%`E@@CM$;6NY(@5Oxsms>P=43~b5>SMk1p zu#ER|!V`EuxD+1abn+2CP5eWIck#Y}@H4zmBP`%ON_Z0Q@6W>TjTpUJ&&4a}j8a3*|neT!t0 z5dLs;@P!-3m*~9no076Wba-iej27#@Qh1ffD~G!x)am+iUA#Yi{YgL1vx)xj=T`dM zj53d-);vCg{?Od~au^?Uz~i6szZp3>y`DFi8*f^ku}4A=0-n2hzjY!0WIq7SB0Pn6L-;}==ZLE~??X6_@H3=OBlK-w zX{%#%Wf<2FBgZXZ-uUt>c62|1y-dZS*g4y6*IRvy)b!zE(ez7WVr&i{E}fznr3< zp$D|J)7f(^PqeGgKkfAS^-iC2Cv3q`%H7ZUJ2#4bDz+2ve8{z#$OpH%Yqi_)(O%@P zqZ*%BQS+&p&~fg2Jaq!P;zH)U_CvTgl{nV5nS2E2ve(^$YpRxw!`+bT`-_xh!Tl_x#n%Ae| zRp?u%KZjZUNqm9UGQnNRp6CeL==eD#A>!RF;E(y;UYmydZCdt3NZ;xF?Nve3>Gz5D ziF*9{!F!0t|4uSLeI)(FX^f5Z_oqUKVx{M!mpRYTQ=A&Ea%k#lrB&V7q*SESrF7pA zb6@M9{-yhd_`?>DH(~DNL6>gN=FUj;$$9Vd{<~BgGu*90x94%(tZ#?1|J~kkTI2#EloG(&hAG)`engT{y+*!=taMA@YW-yerg) z@s)l26sE5ggDB6J7J>Kl-EnmQLy#%4{a@$kxMMuRniunl$pCph*w!K9VN+d$q^1mdN%;I%>^t>Dt4u zd>c~_W9~i~+P?tWpAYRPyzM0T(fPa&=bi9e-t!3CPK1B_GJXKbH~K610VMq(@qZ+J z58=0Xe~8eh6Pn+%k*P#GzuxWY^8a|Bbp3tT$SBH7TQjiV6rS-O7Bi&t^{sm-^$+(s{Wb zKMu}%dtcKR_wIe2$Nijn(5YOHe{%Ka|GfXXkhk{*&jU^B^%br;VR#qsA^TQ$AFbC{ zxYldYvK)(+0aF2ytc`trh%4V;;YH%ivA8wI4z(TXN|(RBM*F9*?=m^!?wbXp-1CPo z^kB5=#Mu#idB+>Mzowdb`Tp$J`RijKnrMFpd$x2sneKP@MPT;zo#}KT-S6&HjU{~{ zyEW}qtT#kT1_)IR)P8jtAneC>G+ zX6Kih%*qq+M@;y0!sfepKc08OlX!pU-;fts@OKkx&!GN!(`nDwLFgLLqt^yaeOq8y zLr361RZA2ap?yTwVD{$Ry~N#wukuJq?yvdyk>aeHD;GzgG3oRCtH0<=zwCLwZr9Q2 z<%oZRUf$%@2TphTFrrN9`F$4m!uatcGy31>^l1@I?eT;2Y7}`c%DF+^K~=H{Ux-z& z%YUi*4?i+B!KnK0e)?}wPyfaEoHgIv%Cmr{foB7c&cA67;xu4e=Kap*uGUAs5C01< zzrc$dMBIOQaoW?+H@U=p$BWZ`h99@Vi<{=fg~`|C#f|sk1{1f&i!1ixg2b)x; zWbQ>LQO)xup4)h4^L(6VI?ps7Uk>nnQ$##^@7oudv@zFOpfxKPlWyHzS4Cq=pa~@w zP567O=GW2J-Sjp3j>j~=diNF&XZH0U@?Ly1jPU51_Mx;lrTG~2;32}+$25+qbg^Jd{0P!c5-x ze-XKD2x~H-=GdL=V{09?=efoSKAtq!4s7KM{m)H*jD7z{r_?re@4vycH~$ehJ%p^r?d?v8_ig z%m7x|*_-gH?!BZ9k`BAz0rrFM@18IbxvdnqQ9huGJ zh1_}Gmlsl<(y54lQ9rxrj3)hrzYhB{nm_LgfveDxgI=Hw5#l0N z+*QCjZ_r9~=iHeQrtk4nKNp#90`>shYS*(5uQUGgdpV)VmGRFIRzAT*w z*$j=`Y|+SOr|*s~t2L0f!OB~tzKi#j)$SzEomQT;l-HlEmab15PIT=cRLWCmAwmQDgUHe2JEpHg;cDWKx%x;-dqdXrK(44jrmwt3l{I9Qms( zBQ>ZZGgSpXEi6N}tEhJTa=gkMdDWt`w*zN?GFke$^EWmllf@d7i=WHs%FTCuMSbJ9 zoVA38f*bFufAj4Dq*F`R&B;dSi_qaE(BWSU#@FWOo6MqcgQ+1L%=>}QHJM-K;M^0ORr_+Z2YdY8d#iP@? zZ1~qaXr52!M86MQ>FUe!n0wI3_B-K~jFFEi`FMxMkw^M8txW?xKFxFJevEs5>4#t? zv<;d+H!k|($_Se4>GzLx{9g3MO;6|34}w<*Exfu3Tq#E07*dJ<0zVBi9bkUnQ@H77K%J2oQeOS=k#+uF0Hqq<}tY78wRkk%) z@PpJabcCBvf-c{#bz*UgV1%X*>M|PC+oEj(2=M6H~yX%ps z7uGuZg+buh9Bfmv!9ha5ePm{juz0@ZaEqXj2H>dcS>tG~DX?{-{d_xB ztd-1~)gm3ek4xfD0+gY=XMj_|O7>^siB^9uYObc+guU~-{^#m8=Bj<)&s~hG=4vBr z`#F})^IGz)wdQmOWh#%_kv{*^eTv*fncLunmZ5hMFI0$~-_SDIvNd#{He^ZLIYsbH z@IVub#-&^yDKix;7}?_=8=cV8`DVv65mWt)cvs;res*F{)6Wmx!ai;W`?!Q(;C(vb zNZ!W~+I;zMcII?V9{~-Bz{i~@T982YxV9B}IzKoDz7BejQL?Z_dmV3x&)dGR*6OS1y zBOUr2t7ty8FibjiPGr75SM74&;h9o=5=C6UM$%aa zO1$5s2coX8qRePUOGYFBJu^=W9>NxMMetVc`5Doy&!O|kLDw6B50L)A--`r}Nsb=D z-**6~gqNoF$EoG?(-pL32XwIv9z**+d*E}Y0B4}={FJF+pMf~1J#&_KUpD8WRH!tV z%BBrZmo}#ayY%U&v#+q1GIsK<%8-0u%5=_ldG}=cKzq1q`wlPv$>`p7R=3YNUFD~~ z$rTr-vdHh}WnZh}Yo}JVeHB~O3G5>~G_h=X_aypM_t!p6KRG&m%JlV5!W-!u^7bF< z)Hpcr=u-T7l`swa)d!;M!?pIrg{$w64ov5{v&;>x_#7%Q@a^J}w09(VRqIL?=cIG- zd+_;juAGuin?sDx7H@BV`eb}}R3W3q>RYr{Pnq46%#Js83_?D_?^QThF242s@%Iu! z?#lMye(h6kJ;Av2v8(&Y9=os!*k#!SwEVVz+2bMdK4j&s_<<*T#8*2qx^#bu@?Lwp zbie06bILwCZ$68%ZNKM}C_7lWIw}6#rjP0N4x61akIu`a+dG`&z)N0yI_x}ua=Z2* zYh1pIF?D@UnOI%&lx^8v-;s`u`S>l33;f3(2OARY8q=lUY#=Z9jxhID(!86*dp&aKtZb1$55qzv8=Psfhews~_(XkZF zw(|W0Jyc=&njV`;Y>W%0Sm~9N&jx^D+d`# z=ghK;uv0}=(w$d=U3XsjGPUZRW|eo=0Pv5o^8JV4r%!tC(A7Ox=spU#=ZbrD{qs{< z__)&@RsQ`{{v8dn5%cfj0fs)d3ADH8Y^~&N;Z&euY1<~&We2aorzZn9wpOAi*~xmf z9r;&ukngzbJU{iZ8(m+H@}n*Lst`2MKUZ=1@Ylb-d2GTw#1rGW?r^;scQgJ*57nDo z!nX)ty$N5s|EM?3gx}`9hHwV&vk2cgKVc5Uo6IY`-}g?vsVBUg@WX_E{_lG87k+Of z{0iaugd0l8fA!g~7ovA6_Gnw6k~Ih#?E62*>ue?>*M8Q*FQ=#&* ziZ19=Uh%t@cO-lRm6uO>zArm}eVpfwk;dnyALn%4=$*aW4vzZc_5J%8r+A{Z>Zj<- z$`h@=eX+xnLN{70Je`E5$z4Mlpx<@)OM-`BEf`EYb?0A3adlfc^tc3EweuY?;r7IFSGSk& zjc9Vy(ji^qa~&4S+x&exflPo=U7;@DoC zm&zt>$ox9&d7tkdTJU`L$fA*{ICJ=>`HkHp(Ffnm9q8GmH>Cy@+?0yOurI_mFc?X+ zM#DEVPe-N(k^kiR&~&~vrK8|Q3Cl*O!pvP0K0TEWy)P*EEp+3ql=$**R+OX$mENA3 zSoEP(%bfF4Bj+=hfGvyoQQwC81wmb zcUEPtZi(#Csf zG19(9TA`IT+DjWl+LuU^OeR@=-qUM)_B**##PLsexykM01HjkE`~+LoWAVlM9QVMz zS6{4SZusBT#}v0fx}0m}_bZd{vqBN~u9b+lH)!9@nf+VW z@2hh*jrB2udF|UeXpKC;*{%cD*{=KcY27)xth0-}yR5vS?}_hRnY=UJkPLa>sLb^9 zZeONMKRtadOF!@S7jViTJC#&or(&(Ww^H}5R^79mGLJ4lrQeF{aSL+@um_oV~y`(J(8Kz$8XeP;|X zK6A-C*UFm!HjR&bIK_DO9va>i+K5~bY2hwU&i!rGzAopT19i#bVRgyzgfX6U7z!!3 z&?+};02mH(j_aUxj_d1!f&QLt_4ljfdDY7Er(a{c?WL#p_ZISQvGU$Vd9%p79e(4k zGhCbhDbP!`W9-}Ox;MjXH1llXQ9CZ|T-SZkKHV|s;iVu^@7lNUYybOh=L`;e3zCIC%l>UXHd(i>X-?gW zto7M7I+HV_-L>~xY56)>;`uu0-$u(_H~QLQeRksk_S|l0|LoQSDf~Lo7c-o@QDpn2 zH8!6%b02A^&OEE14xPw;PGCptbnx?f@Nz~evMI7+tSFarllYOx9y7q+Wd`<`?R+N(&zDwpPt^w>Hewy{IF#FRmqp>&p3Enj-K`! z_`z%80nM75QfA}LDYNxcoRg;ih1-llf-$%V{2mit$G!9Gx{GL6Rruo6!h+IN3GG|N zJ+8X~`f)IN_zIkMCIWjH58ZC zb)Q|qxX_;Oq64`EoAvK-m*z(9>h{k#ps$`3F^ey2@Xl$x8}HW~U6s;;D6Q&GdoJ3(Z`D9Lu~_KCP9m zt>6;Rw@Kgm9t*hVNZt)T;mb^PF8*EG8t3PCO}o@^XXaq|lLOQ7ZFc}!f$;G^)tj}1 zb9k>L{1op~2#51tNH~c1H?HHJ%0Jed?S!`xUru-`@1qGj2zOn}dAL-)Nf55$eF0$^ z@8yIi@&3*=*eiC|o85#RguBYQgW!#NvxV>x-d7Xe!uwppm%E6+it}ro^=27iG0&QR z4DMs!I958S2>Yi|<^^Z5f{`8cdlkN9v1wrpCi9#}Iv!N8)2wbwOh-2hKdgO->5s4N z*{jihl;oXp(31bDydzt+W07N`$CxkA%a)S)o6^<=- zD7yGWY`~Hwz&8%~#+4sq|CPIE|B!dV&tCbLejiZ&6+ZiZ?9%06Ki=0zXxu~0P5FGe zRQAl+f9w~%*> zmA7Vq`WwmHXywiD>Q`SEdVMXKV|@7@XH7oc!x`-v3um(EFZm)8zjARAdz0Ydc(Wr( zJ3B8T{sJ#fxM|PJ(bPNIs`rx?j9PE}xvjNS?epiQWTA9l#=qR?_JxakE`9LvZWrt6 zF3S$(GOM2Sv3Q8Q4_SGCLb=RWD0jIwbh%( z%Q^4gUT-E79?yF|VaIFmOCN1ApXdEf-oL?n74NCmdh_OG=zNLaL3pU8-UJE%Lj2yz zP3Av%-$Zyd?_&x7{QG)ya1!Mazl(4U?+L=IDQ_(0Eh1kH-`_!bGYQY&y_nFpYcbGb zjji~t@z77L-Ok>i_!HLf!`M(Bjdrsja6Y`e{VYPsSU+l8deOEkbm6eVU3#fO2 zRqux_I7{$7Av$y`dF;Dd&nJ&hCyz!OV&somWqxyj`U}ZhXyrYHvQ4>UIhVF-t{d_g zD^DHe`RVEHNw?n}M0w+&b@Q;FxD$I&&FK@J{)89c-lQP@q%CS>o-oXNgm4h=Z^V#sUPZ3Uo))peo7zYrGJ+6 zbbE50^LS^^p+0kFEZ^Dw8s6N~|J;s{H)7%A=hYA8uHRgLEta3hH!V8bLV5k+>~8Yz zw(?d`-m&29Pp*0YaCQ@A1&oWc!qxABV+|kSF4f-N>dlaL3If+?h=t#TR*F-)W@_cjRkM=|1kXS?R)^VlRET z_x(Q7({=BS_li$*^<4SrqI1zp7ZOH!B$xQ({{}kgH!PiWobmV5(`nXD^6s?q?tAD^ zR|#b$&><(IuI{NB_#&LSzYN_{WIp!Tz%UVAQ@XxQx;E7_p_a2B9$&bC@)ua;UorqJ z>3-)P2bM@deoF929~LS}v^IM%JpfF(mETCF&^PLgll&`;LAMnwL&pi6S?I+k>>HaZ zDqYu|JqKSk_yCh^IcW{{ksI0b_TWp`$)5;(zCOa~D^CW>f_Cje-@V7uch>`-@)n1s ze=Ki5pSsVXZajcEde!r&Hy_?6yk==Cj*Ol$|BTexz&Hupmutc=c4wB3NR?x28{T?v zYQp?r>e_-AyBEs`!gJr~j+JJo!W-+@XU|C8U4YHZzEP>b+oz`jooC7~LP0sOlv}WL zyqpHN_z++Mw+f2MTWsaM3AkmylMn1e(E)4S7*cd`O8R8^d;%L&>{{h((3Fix$={%vKQdLbmGPM~3ftOG zrzVFFq&`}DAhie^poK*fQW@dPQg@e5NJUF8N=+!eEOj}1{ia}4>REhanDEHdgtBI* z?cXNNBMKlrs{0;xQ;G?9;5!z);(^2?)#}-&)K$Nk<^~6WgC`@ zPto3aJrDTid9cZrWDaBQr>D>B^gDiE`%ibB@NM;kL*poKoK@Zo%Jb9H%gZBgo|Shu z<(0#ugbxny3U}h?X&-(v!{?-igopHuNtiKl$a^Xb#?zzh4nkl(mw%Oz&( zba~wW8Zt>A45739>$vfW4`v7f@ROF_#-unHdG7HIPpOXs?(2oaMzYkjL z_t(6B-163N=A=ub_!!c3tsYu|u~)osMsmg7kB8e|Ra4 z23WMKfqLz8a&hVv?Gk+&T3hFoD;jlu?Tg(*_tmopRFs%{Pr{HFj#abo!|ZlFpLRb;?be;4jnpdof~|Ba_|JnR0iS@#LENzWw=qg%g#XV1m>uqAHOhw)*{ zH&uk4=+n<9Z8K?SDnD`iepPQ;N;$JYp6P@mc^^YqM81_gx#a!IFY8TwT$4Fx5Aq=4 zS-eLGfA?~|dF?~^A3#4pin8bN`$Oa@BJ7$^Lf6R1%IgD@*Dm+l>tr_ zMwchKJJ>njj(xPw?X`ZEG?gtFzO&Z-{Tae5JvgLiFyNc^BgG?2CiZQ#wp?)R?Tt}S zdVA}ww)pM6NU%nG+q=Zd(_eef=Nr4d=c$Z-+Iu!>etSRXwfC%JZ12wVkG;J?>Pc_! zbyi#a_P%{(-}aVSdHQSb-}uIE?_X6$KkfY!X?}ap^V<7I>NuA1-Fx1#w|6J?q__7Z zt1W(ee=Jz7@f~XA>94(8`NnSV4^>7#?R}IqzrBB@Z2f-Z7~8wQg!WE#&+tb$E7D-u z>h{PT4eng_Jc6yrlN)wf>5@B2ymVjg*kPqh z?$Et0`rem2wviqrE@<)Wch%5Op4>4H9)B+T>kA00JbvHjrPKN2i7)mqcQnJ3Hd{RD zwtsi!4()kA`vF((z;{R(sl5Anczp5q@{wh*GtYp>%qUyMIe`nDb#daxv8iX)NJok- z=010AoK5+&t@2L;mj3wq7-Uoq2d38o1vL-hbE~8$`*7*eS_BywaGsorahit6v z;q7&nA)U7$lE&MMuOG5+X)j;j3146PX?S~=uiwUg$~J31CmE5XFW~l>$UFMeEp^1yZjgn7tZH*4t4-Kri=h9UWqYb6?A--aA`- zp74j*?P~91ExhJh(${+Yrk{Q>=~c&QfADVn^*hs!(_c$0b}uz7)^wv+=h|oFRN+C%kzvzPo0GEe;!-kR`U;wuR+<$W?? zrFYkh?x9$1t-*Qpn`1WtO_%(ZzIWM3KleB9E5XM~3m=El&$)5QgS|GC>3fbz6Z2!ftQm^!ET7NrE zao69etiQtJ2z1?F<2Uf#1`E%wNXJR|DcKB2UsgrlDl6~P)ZwqIgOTyIt`0`d*Sad7 z=JwjE`ZRx}Gt;^%+0B;>$IYu~%_c4Tj zdkTBAGmf1nZ!bHNCqIAnkuv75$!GKAAGGrH$CLk(Z)~1?kILwWC*Mt)_!G&Pkq6!1 zFHpy^$RN{Cckif8_rIb!<;VHHX!4;ICE%^&!yLK$V+X$e*MNyQXT)P(ynG7EXO8?; zg}k^21Uq<(??>iMqWzJ-4DJe5aqcV5erc?xP3z@w*iU2Mk!U@UZ&dz?<{o79y5x!RXOmyp$eFzozKObWuFgDWmT)GC z@@~6*c-I1OP;EH)Qf}9sioH5+;P>Ow(Y)1U_WrHOJXF|dHehp9%nmsD}7~R$XK+g&?{4SqzeYlZoDQNiRop!f84e6d-J~D zGb0T;v%|iTU!KbO<^bhPw945;IT8B$sxs^+2|Ee>bFe}1z*Hq#6Tp+7SdHDBe3$6V zR|S4js@e>`inJ$QT+Y}wFs?Dib=b-d(LdQ(2v>6%w@~HsU@Uo<_726 z*=0$v;Dgyyp53qI4(S=GIc9p8TKx!ZPpee58Q(T*?l9_{#K zv+esf)EPy=|N3CpudU$vm2#Y&Ht6Uu{k+sK`w^v%wV?mo}Y2&ZgxZS$|#h)=w-g4A%nn@Rs?4BOFu z%O{|RRf*PN#7!tz(Y->xRmxU!PGJRS5ZLSBO#8$l?%k_c*&U2=)~j}Rck$L0-I>@J zmP8wq)1F(=edWFt-Q%M7C$D;Y1%4JXQbX3f)b01<&#+g-7ou}E;EDq3XTKx>j!wJ+ zTY>P(?khT*k?*-ZUMru4ZlG@Ll zFrR%o&Kg&+FBmO2gERhvQX>j7d;BbH-}q>1N~c?Itl-hqcM8U&rmXSaNsDzh57l{v z*c!rG!yaFhy&m>!x1NFc=G2{jpVQx0 zdN?_faf!?iq&`%H4r$-!)KL1)@xeeS+qsN_g^vFpbY*>Ta~Qb!yl2xX{JRp|Bv0pP zbQ)7PHm9a?-leb~T=l;buJT>#O7QPW;p%e>Q|o|L{Wlj_)z6wwfzl$*oY2Q*;BIYh z%9IY~ymk(IrXy3Cz?n(=CxX8dHgbR4R(!*6UD_SkxU@TC&C+iB{DLuKC;jHQD`Hwl z40c{Y9@bFDC#t`nkPlszOnEfk#^-sQI~ILEYF^%1Q~L5Y3;qOe!+rty0dKR!;cZyk zdU+fCqJ(%NJloF5?Ha^dF1{v$?r`$)gW5kk{G$$xpXT@G$aeN5s@if%%dXs>yjc6w z(O%uXd^Z`&xu|k@*PR}3@bvE7uDS2V(^MXvr`ZfVIv+6>o@Q*cFHdtC?HujZF_Pau zgucd7O(u`0vb)L5`@&lD+Be@mT*&VzdqPn{rTKJqgU5^b{hbMo$cTG%B9>_V3T+8b?%b$F@&;%7axg@=84#e9nUzzKCeg?I_da#IZApQU6a;7?bD1V zJ%E2>&N(NGd1SXP`}J`=7QS5;-r7po^MP1o*ugw z?emOXA->_7Ku~*kFSapYl(tTL} zM0)z(@1Sk?9$@X04d)18-NcxD{{XZ+o@kAKMs@~?_J?_wtRC>%tnCT;HxSJdV0;`@q4JI}o41UfU7&fqBT%I*%h8z0)aAOqA#3Hc7HU6E zd1Mpf;GX4&z8JhI0Vd&*V0u5`@y`ZHA0l}#&x2ts{qt%1NB$htXGQF#tIy)ZZDYRn z*Jo3JZ?e~C!fpDfPoE8Xmp+4cA%CLvfOw=de#(!pS+dsT72r>v=d?%bP2Df*&EGfU zSBLN_o_Qy8mYwGg;)e5nCE=PE>dmitcI7vjUDa#N_PgQHkFvKLpsninGl0XH4?jLytnF zk0WjzG+p#bb~BXY_=HlwMA*v~t{s@-`f%NLVw3qrbG`X4I?V47ew}b0&luv5W!zTN zr~dw>KW-fl^y*6b8@C7e&K|e>dGBxB?z6`21=^=^TSj;+``NBMSfbi%@6 zXpw`@v|sa4Fr?E;_dJ^mU+`Zf&PZ)cA6|Zv|>RZW)M=L9uR+j&sUY6qRvQ%#|aZcHuuTSygLB>t` z4bh>J?q25A`{pBtQJ(tz3B#U79DaydPuW`)$esUf*w%uX~pNrm|7FUE(|6FP>9;_4`#; z^nENV|9vb=YoFGJ)8-8CeD%w{I`XBSU#o`h!JYLylJQ0N&~34`!J6sOCCQM|cP&ZJ z+?n8*F|&3L>_~8xCY<7*dJk=DE>rxa8tQF`QXT0Y&>po_Hd*J zSKA9K@jd^)?C00-WATXEgOn~-etwaa+wKIW5OC!F3*b;a!a>0yInjp$*}v^t;P7P) zdwx#y^b!8tgWqYpm%QR>9bJ#5M?hX|%R^qv=h2z^(VRnktLQNM2Iy%5I~?9fG&iw_XFRQ*Oe(pqzVwu~E}Lr@=>w=)Lx) zL|2TtvHcwQ{z;^X?-Fj2uOJUOS2R|<_m7{IuPZlAJe_p=-r8HBGpByOi?J^>5&2O} zwEp6=+zDsaB`=HYCa>%N?eYfwzOg;fU`~Lq>og78W6|1hgU1*4-c#VNh5g@Cu#2@$ zWr;8MVH4cGoFTXy27o(e!97@Tt9|rKiEAUJRj_{`&uoL$DucnWM#-JSdCLiM%OiUXCof-4{_TvMzs;)1{QgIm*VF&AL+pps_iuk2I~MwWBH_QH z|NrsR{^x+*|MRT=ANv15|NmkDxb6Oz-Lc*Of56t_X#M|MHut{M=kvdXy%FJ4-=zP& zd#~~;UHX#`JrWHHvRST^v8(D^vdWt};&H}3E*OgT4Pvfw-&le6^}hma@htADd7oiha15{=#17Yo zO)^6|Y`+Jl9YK5qCHnT8`b_itg+mlXT-}}V=-vi5z490%_`!n`? z9e4(wE7QGx5-clUIMiqCuLd4`n3<7+$6Lb+#ZNS#TNdoj-u#WN&w&HQ>@!3Xb#2;f z2$=_+d8_qSe*MKuXuaL+z~iRba~IyTK>H1TzH^=Ne-PePe8e@2S3~{dmZE@cqTVa?-l!d_8ka{Z`?O$$0n~&6RP$sBu?2FQhHS-*ngW?8-!II8ooCwR|(Mi-#5NRGDX- zan*RACte5mG|t+y0&e%cioOPR)!9ZrzgDUJu?pvV;huEK8j~P)H`|>wY;K6xm~W2s z_U%gQRh_C^^@hl=z6fD|qcT)4XGaTiu|Wyp~~z=dAe``ewh1?xj!HWz2k>~+2<7#0qk;_TQktDiznVs?G#};HMdP7y*}dc4 z>D4p`x7<4meLg+R_s{-WIET%d({9=8^to-%Qix^X{%rp_g|b?99LZd3Sey z_LW0&ox5FTw*K7ezx+e%O*Z{<9DUTMUlQ0_#9TTq-R~e%(RwX?GY!0)w$S4(s+u~+ z3a7j~J|s`bSA+HuN<6%+ar(!-1H`6R$an?v)!^(oczH9Nep=Hr|7b&4I=HXCOFuQJ zpBjWuH#&PnLFTb=Eohb|M>_q)yavy5C`&jcTH)g2(j-KT{|6mB^wW`dz(Y@e4Gbaq zWP*mG2O#O16C}Hvh}wjmpwgrIeQkR%dOzvco}j)L{)&%!bgbk{-HBY@x*0sqP1Iu7 zc0=nQtTDLy`|N?ev);7u{P97~UJ`z5b?9yRsQqqU9iff+tOJ|zGl4&Z?kB_&ww3V>2%gs>JzPx#Z7_2zs0zJ>5FJnL7$v!?C+6f)n7?x;Vp1~bq5tF%-F?06X zHShQ)Na)(@$nOt!0FIuOxffl2qV9taMHikZI8=5I9~uL9p{#BE z-0?-1|J0i1=p=wseH%ira^yUB=e|47^}Fvp7oQ=X^hX!;&U4W%SFW4k%=7FRaL9%g z7{)MO(idrMvClJVolm#XNG$8Mv5@?qPaci^DN%5jwP&@JuJ!gE@JQ+Y{%?bouJ*Nf z>BoED*N~p>Db|f zB1@osj$W&e|50duAHSKDlXUy$dgqQYx2{-QKDNC>h3|+Z(?0PxZZ4gYrXl!{q^RphuN1Ve3|f9JY$IW^{@VZiq47$;+nU;_5^>v z^vHeb2~OYbap0k0wDrg{;N5&Tt7q;ub-cm5U_9Cx@cpD|Y-Hm+rq2ES2kJPMed*1A zU2n#K^S?U%aA)qY-ATjv<&M}6ZB96MruutES|3&$t*O1XQ_^|f&zR<+Tg{I*LXWT4 z+=Vs@m*0K7T%KV@>z|<=D#O>$YOm1O&th}c)>(*t)|)>L{*$hID7Xi)tzBurT8VD; zwVQf!KmD*R$!9@FLH#r>JXl^q$^Yn2zi43gN-K!B3U%;k$U2o;Yu>;aKa;e;?}9 zp2rpRgF-z%zCBbEC^U=PZl+JiIQ-{~R?dJFJY?Zg zvxQ5W!IvAz+en!FnCYsraH__`sb!>HMV?A4ZJw9Lo!M<4C2bt#kB__fJ`h~v)8Nu~ zK90vMxF%EXdF0ie$WMSPV%4p+%57(L+ZgglH!K`*#@0)dAL$XK`SZZ%wRMgnP{nvR zBw8!3JGT2%=3|faUhhxYdkHkE(xrc_Y47`ewy&1C_owVuJwo({=0Y26*lE32ydL?#+}CG#eO>T>(AUMa_2xpJs?>V3g=Z6eK4k)Z z?de<{`T-pl%|SmAu8Gt*ceIL62*6i&6hM=pFYr;$exRwue*<(*`qLuvJ3MThbk-Xa zS>njwK|=9h;|E(P=+Ehj{;NjB|#7 zvjnqlbnja7>G&+@_-VVJ?g*%#tGGw;TbvUvPqa>j-xQx!l*yiMOm~i|-R{}ywS}Cc z&+WCnykxuXlX27OJ9J)*2YKP$3+9n`o|X4;=8EiuRi^9}s#t^lZzU6!lfT@`f5rf1 z7n8Tx%9~KxtYIBJ$fS-gSYxk#b9F3ky2g!l z&`Gy-#kvES!+Ztho{!P1Xm2iUS#9^vDfG|a-v0UPPY!kY=|}VrdFNSqzd#!rC@T^P zpx18bkRIbg&TR%l%!&L&`+2ty=~CZmjO>0JM>*rHa`sZEpPpW49(nVuyw|GVVmj~M zJH`hK@Ldt^ZNm=A^V8GI+e6+xR^Ce~uUz90!~TtaUH01Wt}UhP5kza+Buhv~s5?Mz z_}q}L4SXkET3!QsBE~_wtofUAyBg*WNZivF z<9C$bQxbL9*w?W)QI~w{oq%C z({VhX@AIuTRS(dgZ=Q^A)|}qHI)rVoV+&6`QS>*XBRt@GR%`-1Wu4@o_L68_az{f| z%Z@l_Nzng|<$W9vx|q@u+P#!Ma@tNAPtzXaoO8ru36~}~Uj$7YOWR9$L?`A@9InS``j$k6@#ar42&hfI+i(Oq7z#3 zD%T~mN+!2F4SY|5^T4%6bW>}32ykdJ=C_67Y~UGldZbI~2F z!?wo7G2xbQO87Keb>|O^OC#R}mtMmU>}%G2Yk&H2|8sLYdAD16Z#xPuMURF{ad4?Y zxHO{&m*A62)qhL8@jj2X*m$&rb867&&goxbZ-jXze9GV~x^QY7cw^($8>NT3miB{F z`M_)A)GNWG{fct?!>76T!B;h~evUgh@SRUUXH+U4L?47}p`D0r2=HXOh&)d9;d)#t&5{?>+F$ndd$H8NsF+4xW&+V$Fyn$$9C4HM)Ufbr=Ma>7%Ytf3W zH|=O0OF1Px<9OCno{dYQu|Cd-zKh0wlJW{-_q2_TL1S-vR(AKDg0H}zXO!c^S4(;O z@qOjPSCB@t^C@qN2Om09hizgVLECr|tIFVusl`A5Oib>BG>Pj&V%Zuz;|@kIZ4I-b1at-O~CPvIrz4hvx) z3g2ROci8wj(jR~5Oq6E~PZ;>$Vb8}O|B-3qA7#9DUhLwh^mbaeRgORY&9{S}l;hAY z!oQv5;V0v#HBjYg{I#zm{8V|5Q(lyFuENje+ke`FpV6bh*G7493%+O?e5X=g!h`Qr z4?dOS!}sGa_J!|-H274W4WG)Zr@T`=_GDt4Sve z^348Zqgiz~ezN|s-jpq(KEmdt``o(_|2?m*H%V*$ab=P_?FTV+0 z|0ZNh@xbEwUfk9{|4~EU8Y}PA<*sZn%_?s$dFEPqo}fHGJtIy2)7iZ#R^AU$p3Ws0 z=7#(&#qbF{nP&=*zr|leMm22>HyIQ0w_asMTGlt{hzhJ*lz$j@<@4`cCQT z{V02+*;d|UgJ|r^K5`;wfVTQ|`*n=vJNqumYX_(!{qBxk)FEH}st0+ctubV}Zenc< z(mwzGSoLd*_5iVo@bT+nr(ciWj&0=KX61c^I&@#I?@LYPCCGz)Oiy{IQ=Xrm-Y>ep z!@h5(iSp!Y?bj{Xm;;K!ml&8W)q&z`#8c=csGPEddxZT*8G1J{_<7Jw`x7*`swNAZXxd$D{l_vHc(a^p5`rdZ-Gcdht?u! z#nwnPfXvy@k%4@>Fr%t@@S27vGS}4gsk@T$Dy{M=2dF#!{^3sKYQOG4Tsol{?IWqz zhh1|fO8HT%{Fwuk{|m1|n!c9;74F4+` z;Ff%?K)*Rc;_MqHBlwZGVc9_W8?5p#8~~Oo@>W@Szh}eZ=)YoZ+PfcZ%tpJ8a=t6K zzAGG{j`Vx^R#L}CeAxudUD7*mRo`k11Cb?d8pnXSR^zyRaJb=lwOQ>~o7E?3zuorq zyTf-vZ+*Y5T5JEdwSU~*K;8`&O|Jwl(ZU$`>(lS_HKL93{Pc93Oz^mJI#*M+yxX$aqNP}jaaGP(W3tf}(vtnoHs z{3eB)PYt5C*WJodXtnhBqSb=umRoL#8UEHhc=AWMNADvSTyV!nJ_Bu?_G@VHzd?fu zkK_H#z0mYKq3MJV5I>Lba^9yAUch@k;UDgR&wT|xnD}Lc6}-m@C-FXp@Nc)nfBkB` z`7ZGdgrDGjHsQy3j}Z>#J&$lO?+1Rl-u(EB*sl|A`A^PPEaScfp6kdnj<{^natWU$ z+_VQCt`Z)OQ2Jh-%^v3M&--UZY@3(NDs)Z9@Cie$J8E;`coWzpTeJ{isu zPaIj5lzh@X`EbwO38xb;`?67dZ=$Xb4%zSDVSOum=8*Y@qmS12zqP*a&!#4y@@$)$ zlT^OihaCgDu|D@IoIsk&m5$)LYWMdr!hvjRe7}_Om)4uS-}m}6)cy@?KKi<;ZFwcg zQYGj=7s{XQDajnZFOC3{qkFDtkz9Gx(nF5!S@|RbZ&zOO6qA2(nrzFr zj_$eG3_funxz(}t&O?ttJAAow+!1o;y5w6Y^!D?^?C+^w}}m-Z=+=p8ZMmz>7)} z3ytb5Nt_ojcRP5&{AjPDKXXkD`#5#UZvwNC@5%<@*GF3hMH8*J(9eS^m$pcs5aeCs ze-m-C!LN@-mwLZ_Uip*bF2ECF=)WXE>@GQ zGTKkANq$iJHOkYsvLE#8o~G@e%Oad>DNkUBb4_a?ZXVFt0UW%v1j@~*r>bNV zdSdIdl?k0uDhQ$bp`H7}kyy)<<%!lOIg@%N?-}6E;!5UYWNAwV_!eMZ{r6b4LH2J` zoUvQTxJz%(+2iD!UYcw|HLi=Dy@6_MwVnBl9eAuIBhKD3^=&U<{HY@py_@lnjrcV7 zfLhpNPq3yfB<`B_h0(;qP~>j<>e|*o6r74Ig7#FiCog?ZqJ5!LFZbO!IEAcUNtxwk zEm_q4BCuqY-_s&kgfm&du*-w5CcfB#Ib0rV(K?{~&yXgZder;}I7L}KIOWQod>FlFRb#y1ztGM3-9#8N-u2i!bUG#?S%<1+~9=|dEqj` z=16txX79aOpwodEvw%)otIq0Dq6X2cb{Ke80ot-OCrUw=l3B(H5_a&0eVa zDqUw}95zwjIq3v+LiRXApoh8fd)fk3?)sqii{3$F+__#39p%yf^{B{M_Uj`br9T|Mq4*&yx6_iU>J+P(RwR>#rN5w zI)6*~W7OWb+WVN(Ue>;XSCNBWwd9}=KQ20abiLme^4j;SKgzwQQI$zMjd{G|o=o?C zf{#0EFz^B69L-(my4IF?w8_4s$gf9m%%<$w791xJ07s0x^7rn`ZVx#3udZ_LNLcT| z5CsO!HPss|PqfC*)$f1rn0;KR{qS*Dw;w+DYTj3LXkE&PHg{ye8wXf(kQ=sE)0bH# ziPoCvy5yc=Zku!l!atV*`wc zglnTbp03cpcYsa$t{l=`da)SZ+_Y=X&(FiY0a;eK@6ZBhh{4x!6=NzKeK-6RK9qqE zzO2DqH9whMZ#F!;-rW8v5}DheLl5AmxlwX=(W8#oLe80f@ z{%)r(@fSzx=Vy|4rj_>}wc;}=v(m+H*}ARf+4dLw+VlOn)LEa%VO}w32gzP;NpkjT zcTcB;IqlFClK@?oz`nY53fB)}i*hj3i@%>30H!_U-DBn53rv!UuQ;x*ZFHDoR$QYqMx4=O-j#U%7<_sY;{N4#pq06V5gs4M zGzN{7(`c3Rk4O8*!AkO0T6w=josx|k%3a_0I!j#T;o$?cCy%iZ&g4^f34DR>sLk3g ze!Hea>&95(L@#AW)<~M-#}T*M`#k|3BjNp?O#BA#_Y{6VKtm{NC&RF6XSo#1GW8MZv2Drg{GY^G%+H{aPm%n1%Z_ zx2ogI+Hyw-7dCfV}lh4n9hUj3mhEH|MxZr2$+;)%7k2o!0x1NM=z^LlQPBJS8TWHl+seRA_XDv3XI|A_ET04<5TLUFO=*W&J zf1SfG=SMY1Yg%MuTBzU5p$mQ)>WXWg(Z&OJh5|SNspXdaG1# zS>JXj{d=Te44$dJQt(cE1NuJZPNF@=-S1QQ9YZJGLf=nj?5FX5tKdn{A4O}r1L2HR zp7uYybIlt6{pkGnTYCgsH;Wb?eSYmAFFsCsc(1XHzcat$iFWF1)7Wq3nHhgRIi0#C zqkeFo&JdTk52LPSe80^4e$fzc9N6{kO!K^x{{vqBEb^!Chh%ng)|I-{#|{q=Pj>iy zdMkZX0)Aw8{Ti_P^;2HI8f?DRuO~+?16Jwlg(C~Q&lHX})ZybH(K>^?)PWwtv};`a z{;Vp&7MDKdaqN6FhsM*!G4ypI_0EL{hKJG*!oTBr z&kxrd(PQbJ0@11t?TrV(bN!yJ--NOO43uo|sB_-8cNlEFZsm8?xl^5Voy+w5>>*F~ z6>W6p5OZ5HSPkf*I@(Yd7Qto=EX z^8}ydb;^UTF#d`5MI#q)k3{Z&CePgeOn&_SXU<>^R=%;Ny6bjD$0Y95$zt7~#2q87 zx9vfAgRFuT4_`L_0`6p8@$lsE9jVJI&P!#_S=T+e?EKWEaC0gkf91$;m?hN({!Iie@*oSQCog@G3c<+UV?6qjfDFckR z{QqpW@~*h&$njo$n6<_mZ`K>;R-#>F?vJ;0q#FO<4RP>-eUWv^JjvS{ryjX}MTg}2 zs*J_kL)Z@(`uM%}+ehfH(U0T*=UQmYW4-dV&V%ayOP|IFf22nVREfqs-k~-KcUA(E zc&8xqN%F4XTu$6>@$gaEJ2ZA=L>oIquO|e`<&$Nj)-CC!v^U-8=wHg)tLY2L$HBPD zd8{K+n*)#J&bjovGPeFebMELmpo7f0gVvlI%NX3w9(yRflzW^asWYKP;={IwpGZa4 zM5yD&_M3q>WG-*h{?n~aUn475vF~5bof7QjpTl1M?2U}Ub0bop+Sx=jy=cr=iGU46?XxJ!^OHEsXbC!$TvD01b&0_x^FsC^nuhR-@=9}oSOzNd}@zA)uaWxm!PU%h=Q^LHwB2I94C!Gh(_XB91fK0C}q z9&l>kl8ow>U`0cBR#`)Lc4O4_7hf;Lk&c4{yy7ti&mwVA4D<$3`I+8-?KRy0!!LPwdAo z;S$$QVgBTEF23(l&Ho>Pzlld#Gp}LIB=mKivH_E>)5M?`9)3AE9C@rm<02m7CgJc1 za2Wi~h=SYD)>*`9U#WsIaPZQ?Z>2TaLk8eV2-n3}Ve9A1xzkqx~{p?r6yUua&cvUjS7{(Yw zeW&};pv7Aac7T37bGTLURmWF12g{Z}kyX0k3*hPkA$7(v2H>+$k-!rad znJH72k=hY%28Uey2^jOTtrtAA9Gi|u)|-7-)tiD>1>_m}d6>8>SX=(~aZ;h*8(_h(i(_gI9?;uGC<-__Hdf#o%A>vMiLlkpP2 zBcChIna*<6b-m|Dxc6>8jjQysI{zsi$UXn*rc)0#5|j&mOGmG<)820CkKl(_9{%td z_ulee*7@K8%9H;xrRzMYUmx?XGd<3))Atwc*h=z^`cQkD;0g8CwcYW&(~qyqPn{c& zUm@=Lz=zR^q8$$J5rv+?H<=Rl2MOihLvzO0bLOId(Hj45YkF=>b^OooB>-=nK9qmz zbia%K-2p!T=dWk-b(0Z?4l(C7H+-J?qO*_WnHSGLl4mX^pNaPJ%nPhM{qf9W_{Qd$ z&r})o`O)lmMv?Y+Wki!UP_AfMgdn3bo$ z_P)V4c6+;2MnCQCAkA;@nO=L7)Nw5BZGO17y&1mUuW%WfEgatTJU9$)1>-J$;dk+U z(K$PMi^|0}#mEprLyryrR(_NKpf}j_0Lf;qz0nH#D{P zKy!~x#um-Z@N57(uE5{kruF6rQ=qkkN1HdS&(54du5j$+KFiqoa;D@*jpLRt_s*IA z@MCrwetc>G{P?7WA5Gwe>iGCE;zz@GX@}=uR(x#)9J$=zKLSUzH=Wg>HvO<8rxHFP z@*p;7k0+zi2f1HtX>xRQX>x4I(&YF`@o!6$C)}UYb)9!EW<7f>)z10y`j%j2LvleG zd;77b4*58i?>n6jc)#`~LNWP+zrpnl=GB92K>5@it8!>=R!r^a-CsJ$p3y;TEr z%s~$q9iBq-1bUwZUhX099xLysu@_Wc*&bw7i7(yKAzG<5FA-mkF3c1>#5WIF-@I&< zFMiYaIT+x#sa%cUMAMnR=QY)}Eu64So& z0?uNClQq&A!FS|;hw*_A7hfqKu{!rP^1f`^S>ApYV;Mweru{G7hbW%r4C4I$5?n2$ zwOIRIs|J8;8+o@`d1ZfT;;Z|fLm^MX%5yj6^?MG5ybG+n|G=J9XF3A8b#2r3=ErFQ3&C*R6*Bjx$&>ErPx`%!ON`%y1b-ek&( zJGj=EEU$%L(cjl>T;6@{n&sUpe<$DUw7!`z0K6N>yTQu)|M7PA@ljRR-anH}$YcmG zKtLQ(2Z$OYYE-N-q7D!>Mv8+1Vx-<^tx_)4*iy@--a23qOd$jfijkMx`bLq~*wV_S z*hZzjl%mC!S}(QjWX36&IH$C=t)&Xj_jg{BlaWN)r_b}p`Rwzu&)#dVz4qE`uf5jV z-=qBC?oxQ}+VtejO_{)M&O2>D_S{`yPHJh&?D@zVWwhCFmc2&thoA43KS#3I^5U?P zdMZ8jjP3`f2zeu(ypITnz*7z!7Xw2DaP8Uty!n&u-nG(bbFKx)Kw$6bySGMS^Dv-C zZ+YaK_Ba&IvT?nQyxTl^7ph)t9>pKaW5lT_Fz{kg{*xW7B?Lz20v<(c#rgznmb;ht?qko zTP1J5%|4X!NuPTe?HtYja~(dcIrbY(oS*DGV_=FLoJbvvtxUf~``;x!#O0Rlt@G)A z>RjNdbByYYYFyZT{S1mfAjDgLwfnZ(h*6vicI! zUp;~AQuCE+dprnEU&wfcd18um2~j;8tuN^w{Y7xFVaz*ftz%+ZV}-{R)fjJaD$()ZY7^)a)PT)W3+2-;*ADWoUC3{65 z{%$$jU(LwoX$oyV7OkAr53S6_U&y7;N0#)a&tbITB>GNuhUvG$aGCJZ5##w~d{T<= zxl>ztH%V=p8$$ma9%RBBJ0}|JEqeJ>k5M@oNxzLB`LK=}Xz97!m0yu49iCIx&_cWe*c8gNDkMq-T)&NoSJ=NYxhYcL|Q8!=3+`!=?JJ5{GE7_}|B^i^a2j ztqsW{bVDxRe#uwU@eTIAYLVS_mba@LyZ0-c)5#U!GPv%$3ZI(I_*-6ypA6}#Jo`y^ zUxCl_*V&)q{T9+iJjY3Q-Mi7)!gVh1i+D~}qEFw%9vRB$^YaAV<>xMgV`Tj`z7*m)pPyvGGP2K;(}jFx`1<5vt<0WuI?}1+A)6; za~AVa@v4F@+5P!r9S5{GI-U7K^Pc))33dmG`xK{!d9wD=^qc=i%;1>Lt(s}e@=@vc z{xvba0#3ZochJ`?aO&~LmRT~qYda>GBpb~>6NK z?YxrV15KJc|NDT-wPg6HEyD-+C*b)f=_#La&|8MDRqS)4^C15m^!!uf)MN17g?kTq z_IUE_@s#VGBdH_2iM*RUd9Sp}qby|jk;w3p4J58w11$p-7om6ExZ3rG33z2 z&!rq!c7K(3E}n$P7~f)^IyUtK&v^2V_v9Tbcvu&*Cz#weZDdyyV>{0MnjatOlI^2p ztmUMNuc7uMd{}X&%E>1gO1fLcz=dzHhFd~DY)`Ov6MtZS3+q|736cSHFBw3o{txh8 z|0!;`aOLKej?c~89M%8-8rt;YZ2T$UVQ>%a-P8}x0^|*N^8O+Y&Z3X?vTJ(xlXt!+Z;fyWJmtW1G4NCX&rds_H(%@Yu6Ir~$6Ig=2KJtMODLSbI?ZZ3(hOn+~H&gj-U=FxP5_=E0zsddhd9QHmM{$fgY{KIC}Bu%ZU zL#$0g;UQ*8@Lb|tuFSOEWb^!5c$~GjZrOyzQVTWLvd&4fui`6PdmxF8@sZMv$mVTk ze(3(>36cAg_n*H!QGNOS$w}4h%`vv6SAka8M~WfOvrkg}@T=|BjxBO^+lHMLHg2X= zw@rK5k%Pf)btPp+%I;6f*T0KBu^X{jvHb%jN57Pw$+O>Cn+1UD86AOIID_c`%p24eZ4Ve zZpB#k`6A|$iXmnk{M;YB%)Ap>OR{FDbf_trMfw!UHR8vzF*5eQnmL*E=CmBy{ISQx zH`&t#kh7Fm-`%{!$)`LvUwa^ZG4U?7rz@T&-HiC(1j>2v?xq9Sl=-CRd5%*ixJ*q9tr#uFc1)u27@091-V;jW_uGX4J{_91avf3y+;CVjJ(|(nG zgH!esPTBOWx9p&BJ;v&9o35lA6kO=D!;*mvW8{=A=zUy#H&b7$=Xr#uKK9eKhV88P zd|yufg`VdE@)z}t>)?d8qv*M#$z1AOY1`)Su~PrmO_rfi(Q(fOa|i50G$ z^9AN8c-&aliqU!Jn_nRED) z_@9h7WixVD%|P?6>OtmR=y`I8vz!~uGkrmSHw=_p^Ud&O=1be(v+OJ0XK%@ck9lIh zfv-!PwR^ks{Sa`74~s|s4g2Bt!+$oVgOgrCx}>`(OM003$Ok^{741GWZGP}_>`T!_ zaFsvl=XDQUj15;GGc)xwp8MiQvd4DkrafOj(zVI+ z{7L#v{3tJ!z#b%;3=O%fqcumoacIYj&_XDDiUn^|#i^!j#AkDnCdWr?{SD7nTmobF zs~I19o1D&9Gru6#tY85@@LG6&7Ox%e)bH}zXMkxm?_4@AabOZZ(_GTst}Gt*F1jA~ zpGPPo;dws6DZ|;f3v2G3%3L@S8WqeX;952h!;v?HPv*u+lKs^__nZ*zyG|u<{%+z* zL{}y`Q{*7Ab>TmrbDHSeo_VhRok8GCdgMq1JuKr^Yb1@^kF&9jfKS=J$nHh+NL0Kn zO4*bz8=On^T<1KKr`*EJ%#`X8o@Jly_VM-L0@^@6v27y7gZ6m7@5Sy@@epj;YV`r( zxmY$SeavUgo_{A&wqn(|b-hSgq91GSG1ljeGxjn>W4U&}%}nLjwsvg&@Mv(h=by7E z<69pd?QHw}M&n7YiCo{i1lyqv*bY@-J4AXD&rwqSuf8jQr$~NL|JBluM(H?oUD6kh zGhMkSr8luQ-pM}f{fxIzDe_XqQ1cteJCd~|XM5!y;YWSum3wTOtx;a= zqx+Xr>SZs)*?-m^Abq~DmyYPhj&FW=lz0%D=Ph}odrj(HQ|dc?*2|tHTdy<#+!TV7 zTyS%6J+{afqu(JtRJYOi0^eqHe>(5RlU`0*ybhbfi?Att9Q{l=w$P+s<9QS5qdebB zTFrBe^eUdmlOF!WD#IW>!23Nd8;lm7TS>3yxtw$W&xNGFB5i+cgVA{5Dx;b7?fLX0 z=`Sx>WjuZUDq|Jt&7_x*21&cPwx7p)(wj+7B{j=d8NcWL`=rm1-b^})Ep{XTPA_}194;PWQ$dmW| zd+of|o^4ZaeNXvfbmgJe)LZDg-sDPfi5|24Yi`Z158fpDVXTL<{cGM*edv7LJxi6h z7Jj;xy#&|pej4Su-!1q(Dynh<5kOtG3S=m2ZaCe5nH!o$vz%k|HwY@rLnCzW$vE9YT=5t zs@50<^ttRFPpjq(fmZb1tT$p!vT3#KJ*~M*yxng!SZ9K2eIlOju1`LWFXZ9t=BNLQ zqv(%Xv8}XtHhiY#k<6gYk63HL!P_6ns4adEjHzd`XwB&>wIu-`b=z{Y+7eU0+v|9h zBi|eM`|FhBe)IOZ%4zlFn`-s<8mnE8?-|KH1N#;5*O)J#4w}W@ISINb(8T1|4i+ zjO-w7=ZZjMnx_Sa==^Q$HC;H?0EhQ`cAFKG(#<;rShV&IMp`?{pmmig9rOh5<-b!- zT29KlWbi$EkMJD&??iB;e+q~V>Z_m+=V`tn4UR+B{dFc#L!8j+M~LV6MkZAKMrQ21 zJaYtlD`WAg3iEw2>-nNZ$j8iEBg4PWi~@!t#?IH~<(gxWJBO9NfgeCV`zbl*6Jeh@ zrowMNFmEg}W-wPpKexS1p9`+Hlmpzbx zXAk5jXR^1jg1vnCBwWfjl4jD)Ge5U{8Z|0@oRQ`_1XAjGK5jjC45Z z?$cHo&vJh&={V9iiusQ-#zJlEuffx0D|xIl^G+N0QG2Kbby}nCvuLL;d#DKidF|y+ z<+(3=xs&)N`BSznH{EUDpGbN<_HywDK57po`%kU!B$wsK;hoGAhOzB{)}HU48b}}H z+QYSr>kE?CT3#?8X}~6a`*+PXn>S{1kP{2z$enfA);RX-w_p$az~p6#oY(_NU+V)& zKk-BT6-Ai=;b!(_i!xJomzk6I;}ZzY6ow1ULF{)P%br|#kj;LG7&1o7kIjZ9!~x5R zCjz0$WMQN-8H!dC(~9^}vE@l-pNzqpE~j)Y`<)kmbVW0 zmSwXpyVV@p@24(5^r!mr8EZy(P3Fw~XEV+o$}DgAENi;v%$d8#o0G!l^NzaMZ=YOx z0q-AU96rdpY792g6HMdqxn^KjAorw6lEtJ>XW4q-jI+ZkubB12yh=_iN{!v3rI2Fg6hP z3}z1;9%r2~X89jrQxE=$`)58dY*~V$I)b(E5&Q~+Tn|}x_puaf4y#|QV#|_2Y#M#h z*3_x=@$5T{)SNFFDXl$)4~_e(%^K(5F{`#?U%t7mQST;gZ)^Ml_3z%k)f_;qHfwEz z&02ma-fr0_ZXSq^Rcp-#uBDj>dterf*vcIMhHRM=g^n@%=zX|FEvj_w`K_~zpij|h zfHufiMDl+W*d_D$qRSKG>y{@k6K%#?Q);s}UXwp`g0(L4G3PH{Bi{>yc?BLET$b?x zPlR)rkkdO3IXEfxlp7zmJmIU2CJSSWlc!VufbfXS;OY^X{NRX;{HljkjL77bj(}?KYSmZclowi2=uMaxfitopj zcD&GV-m8(=6~H_zwI81iE0*I**+GLdmscT!cJGBokqNMu$OU&fG2zdi%O)TLOz^}y z?RZLdILF>&43RhF$$Jxan94hvc(^v-z;6|MZ$DRn%bF{hi{JM6)&97j^4rPV?#VmF zEg%1e5H=)pL$AX}r>FkSl4)%CxAMsz6*MNF=FJ6dGek>dF7O){U6~a#=ej6Jbio5{!cOgc;lWf?FU|iyo!D5 z%F{=&tsPD5(x}rv7JiX0-uC#8+- zLgcMLL&Tg9U%r?7IM-B1r=a#```TSdeeU<{{>iqrevbMSbG(xB21QysTK{0nSU&nS zA77As&hU*RXQz3D|mMOKE8)d(haAsGA1tBU<6NDh3U}-kJ{dWL^aRom?!)HdBy287pBat+3TX|`wWN=d|6cM{lP^Yk70=^I50lRzJ;3`t zan{2;w~{`}^Sz|iJjY1A>rFTAbs)GJe#ZE2#m~;sY0f}rD4O|ic-Pr2Yb=@+E)&pK z!b4xlCq?VWrkx$+-QmeQ2V4dk&NR!TYls2dW5c+PeCs^zn;$;BGi{9Bp{soXYn( z;G0E7r*vt)I>}WtQnLHFgm<2Oyx`Wj_L{dabd z`P67l4Muh|f@92f<{-`QteiZ4~Mxm#=7u%&1uwDA{2IFzQ$9cY$_jhrB z8EGZY-SewwEr1-{K_5dqJw8QaB0cK?$?KBa>ps`B9&mkZP9UEVvA;{dafc^QUu%Zp z{Nr6S3{x5Kr(^jP4d$D>W|(%TeP2j=JZpxji+cR+T)*I);NzK4sSi2$yJk`B@pP1U z*Q27uG!DN&Kg;LUPr5W63g?-|yywlzh6_#UN&Wn%{f5Bi5;Ldbd~?A5vF6LjySXik z&D`+gnU^ZqFWFv(?W#><&`XPaTdI-ee4ag;$q2HDh$+STQ#}JW53=edu3@@;v%Q{Y zkFX{X#2*K_Rq?nrkLliBqoR9eA7yD~lH^4E)s50MnF#cM8}#S;@m7*&H+v?%{anN5 z-%hn<@hWU4t=J~C$rr{hBY37I8~a%MYK-Wt1bFZ??x+0z0Q+INjDm)ThfC8}f~n|KLTX8#6EOwsCecFdxg7bB_hH zj~L+3V@p}a+DkY&(}G*`gwNTN(7GKsEtsDY%nqCc3j@xjnJ0iT5d5mOS0$XPollbQ z8SDLG%3PWu4rZtJIn)My9|TP!9|F5_j_BWxYn9KY?ziK!zjMQ3R3LIz=2(d zV2Ds|#8a-X9~g9o)d!yW^2@-WHH_j)C_e0eI(2KGMse4se2%lXt(aJ>(aWSaLAK%& zuic6MRPhG_yjKhY)=XBMpYQWtb1Hl+_iU>TGgFK==E9iLurJK|uv%;0N3FGw*1tKW zk75tQn!Dz)jOJw@^Tg!vh3sqQLRUU$_@lPPB@R6XH2#QnWBKL7^QDg!jAt+w-)D|` ze@u^GzZ+j_ID4GhhkuXn@A3UTXC8CE59Ist#zlx6XWSaiMb_CSoVP0;CtOOuY{%q4 zhtK>TDAOLSWT8pKEN)FjeZ(iOGoFb0u4gVbp2%l^^G)WcoKS8;^2{$-Yf4|8OW$c9 zbX0?Eb*}H2h#r*xU*ewil<{rp!mxkD1phkvMbFk58kQ}49=aCs4qq8`7*QN4+Ygud zxzkz$^WMjM&ImGd>#j?L7O{>DZvB_T>Oi;x9$?#28@1Tlm)d(` zkL?T~J6>!CELqz+`*=ILh|Zgen5VzQJUyIwn)Ijaw>--=;~w^Sc(;SJVHk5W>2tjQ zD%S+=y>hU4!N7C+{6j zok8?js?$1qhPr%plae}{ctD+KP-oYR24m=joVsIn-G0jRd&+yQpSrXC>8hN%d(~Sz ziI`+FJCMn#7oJpW*Q<7J!oFvd$1m;Mp1Qzi_c~pD>Byd&C9^N&zlEOvO0B-UAvG9z zw!2R`rzRiz#%^iaf;*3-5ayF_Q;T0Y;8`y%tIu-cmaKDTBdoS6$$PtCi8WiYlD!uG?g5vdHIcW;llKkEwREVIm5tB& z~ftB(Y~&PE&Kz+Vjfw?V&^$P%J+og?Fe7hJ}eD5K7@VlJm%S4K&4&f?zV zls#&5Y@HP2ua`~=ocGd6X-yy*#a%BSLbg0Kj?0lR-MVqMBgXjgl^JzlWNqE6?w@Aq z!-zl9xsSYCB}>MyOZd=b%pHpi`l$x+)tVZQoH-skE#cByv=|@AeTvh{`!~n%593Vl zPqBO>nPZSYk&ocrvt%zD)c&C810E8t3SMjmgK>|{xFn%+ed1{m>WbL1SqZ!e)_6ec zRoiw{a#~b!4Sb4Ri6aWTe_jiBKHcX;M7H9(`Fo^1N)-y0|t#{JjYV&;BY_MK!n=beh{HtqvM}&Tm50&sM z8FAT?B?$u@oJCx%P!sz#=y+W`K-b{~$nxrc;h=rvvH2BqRygL#cM0v6J*A6-JZB!% zy8>qp=Ujz$_QYPT!tYY;!#f8V%5I<9Dw}rgVZZ0JF%n;%^f~QhJ-&Sc?L_7_{w;*= z=L;K*VMEXrk^Y@D@%atLHwP2{k#rf)^GPdsj*<@K`Ow|$H4kF1nRFxX>q)QVc`9j& zbXOhnY$5V2>6b}s@7iFTGZ2}UbRc`r2iSLR`W)wO@$J1kId?0_Kcx4QXD;a{c%Ddl z7SAEl-xT0ONB&j(_wQUq+`mGeO{Dkm?OxJ<=Q&1t3eUx)?|v3JdjNJ%dB8c3SWEf% z+L1oMJ9oY9o*SSsYU{Y{IcYg~91yi*C+0TUu@iG*#MR)vz1HrrZOV>~e-(W!c}rs& zI_#F$G$)Owk4JlSlP`V2o{R1HiH{u6I{W1=dmcWGe*@@^ES*$~kG)jZDK$A}Zs`(q zO6VghzRNl^Vved9|T4yp|-Teml-S7R_)ZKxuGM9cO9l{<&7yAay+`D_F-Tg)1WcQb! z{*f*sx7O*exVOK0bR&C!eUC@i`l}6n%TAlfyUCMxX0QHgw)$(9(_irKpl}(Qr~TLZ z#FUfklj_$1c$B{EAUNy~cj)6k9(URY&Bh(?E(d4Dw_~5^!#?pd8;rH=r##0sn|H^n z)7=vOs809qcYIW*`!(`0Uv!A4iO>Aelcz78?gswx>U7tu4BBxlo$h0NQ`s5||2x;d zf0Xoibh-;~>%C?k%$hmj*ed#<2Xq-7v*W~}Y;Enh#<5wPM8C;qF+a+8#aM5uWZtpY zxqI-<+T-!fidnSc8QZkMUFU8h? z*UI;2$w$aNk~en24~4fKjJrMD?>z>8+=MUJCj8c1eZD+U8L`Jth(Fx`MRzpkLn)E_x5UA7O?!aiK#Rd zxQ(*r^poV9icBY6r*JO$M00r_c)$1;KE@ko6?3ou&U}NsPMIOv;|s6{H;TQ9R$`-E zJE%+cZ<^1n^NBcTM`t4Vf!B?V@`PlGh8N5ikyoUHDXRmw*gSCtL9!~gGC64&I;B?n zH{O~W&A+s}Q+9QdA9C>7m!3Y*6i@iVj}ebk`qIbn*Ch6Zr7wLf6WxCSv2!2GOzynU zEW}o45c?a0gM*K$EB*C}+HdfoOI^-hg=~_>qiZ|IEFdmv0kILT-fdt{g?vLflRD4u zx2)ZsvgV+x5&!UmN6C4X&m?eHfm7*-3$Ys<#JFm+-jrXRy$o- zjtB0(%6^)%ZC}lrjysSkLeQ7&4mD10!iL~}Q%ml(Xc~FgrRn^rXu27i)_!oaL({VBYj$Y5`M7Ah#6ySww=_M%Q`QRf zDjNR<(91tg)6EV|lUg+0+z(BI1Mo0_cK6kPpRnkTJQhti6SGG&-P}zZg7Mfi-BY$p zN7*!e>OWbw`b_;NIQoJ+V9~S(-!%O+yx*ni#%T_Zj<$AK zXTTkUrWZof0eJM5mQ&%;KQPN$S0*F1&@;SR{Mi?SKeOKU^5+mfGm_uMpKn7qQxK0c zul30C?z~mS7zomCBe)h^t%XmO!ME0C3M}4oo@LJ%;9k5)JWjk$d6g$<@j&vzx0FY= zkK#w-bK-Yx;6Qm*zVd4w;r&Nz3irS4@^hT>{lwY{QhqVKTJT$ZlsX>sl&!pO*=~Nt zt5AN`Vex1FQTqgs+9r6^R>2;$+SVFr0??0+b|EX;K>*dqR-ya^m{CaLT zjm+#=oyGUq-|nW7JP(buJA6<24evaTJYmtugBIU|M&Nf5=%g2o)Y>$n{ed!cD`jK3 zoPAbz&DO-aV=w$yy!R{kmU(T%7Jb;;HtZh!%p^aB(9O8C_5o|!0S>JN!IN<0r8P^Y z`4}8!)57u4+6adpRKAs;y8l(QcBIOtW0h^urBn95g4PaDwwKmahnLob!+!;>y-Gb! zJOqo@mOA>L;aVepdV}$!qm9NM((f7A;E~?R^8(VJl5V|qgR$gDqp_Uyo}sIZ0qBSl zH*PRS@qHif+PR{)Y%u2Eyupag*=O%eRQ1}AfI=gIop$`uXU!M zf4u9=T$O<=eynxo(UCpt%*#Jx-+xFQ$Ft51&FZloQhZ)t_@PX06gtFq-UvSA*bl6R zFFfSf53J4vuqXP6{Q&lKyBci!mK@7|K4gvpX4wV$u)*_HGnZL*KExQW(A>5rlT*Vy zhyB4xVSE(uuXbaNv(IPQ(-%e`PY+kSwP($GQ1Z3nUvM&@83?|BehA%AL)$6Bm1Qg5 zfb0!_7|^gWv#s7^Ywy^qDUPmeailAh?YgUrksqMeR>klw>pT;+KeUxIJEo_mOD4mg zqAC{0?jE0f_|P=UpS|q(?e5nAi|p>%JG1TX;W_==-D_Pw%d)#akM;zy^%Y!YvU@63 zEWV}#vf06h2OEyIM#WD#12~Zf*=sOT?WbOqDq+7)em95EsSK;e-vB!>#Y6E$CMD%F zkAB?pJtv+?V@@?OMQSDx|9yg)Lk##}bv!ery3L%c^KR=D>*RW3H5;3a8tf){-(F+e zZ(UK{)>v6XnZ&&nugs|-7JW@FJ{6~7A7x~8mWdTFg>v3yj&R|T{kt36+yK|IqiiRB zi{xt)IBjL<{i!P@`MrT%mfWG3_D(+Q{8{qt z@Z`Ije3s1Z$)`P3mAA!{?+)@=YfVqSwNAcuo_wDopQUR=H+BJY&J>+L>-lFF>wF7V zrQ{K;F~Mp*3)YYKwX$`y$CuZR=YD*7B^QLIzIbrOB_lgq+aK>fFWEX5x$4D(AAWye zXBoZ;fi~72^i6&ZdjzyW`xC-3Yv|yp2z*F=M7zSYt1dP(DP2k#_6TmCa@PL7NHj5# zGrxzDC*t{5;(Qy=w;w|J%e0DO^H;^ozh=OzQtZ?s}{OXpL7>?ys3$_hp3KgPrVQl|83s?$$hu!&Bd z=|lEuYUS4ge~3hr8aryc_T|Tpy+6Tohf(`5x{9S~KdGNIKpG-WP=Nc8CCgrK>6>zH zU6wdjdv;NGL5_VExlvb7-HN~Z0B{hmkyLRT6{{y?;H!mwo~vti=c-Y(UADp+KiTJt z>wF8n*BPWC^kVW2@H_8r8X+B4&-vnC{yyi6BcH3?g;DmcXd~-o=vlGdkVosVli&(* zeGi!7W5f{R8JX^iQwF5&IPprxLOgxvhykgsp?37D@uX}p2Gq5u|58D0wlZLe^ypl3 z%Yc`%CR|F~AoSCM^QHBLU3KIOp#KR))~BsJ&|Uz18fEcxVJuGlaqxniNk6z}6$`#^ z0aH2Ul%wx1kJ#l&Und#yWZGKd)Dhu+8*;?faT|^0T&)H>3S)`S_{8JJTfg|*(G}c} zV(+DiRNvim#dktG=YykM#j?;`!dMy9hE1V!uDF-4Z3ExJtzwP0Tl8e>VrKx`4B&9} zh?%uVy4>%~oxS#1%E(*h$t%0#ZIrdu(J}Z8W4L{`0{oma7M6828uO>I$JNW9~Ww-x1mI$!=Tk7Vu5626XQo^L4yiV2wNWaveSIZNPDx2aa}N?#pK&O5Ug^ zZv`;V1!nmRbdO6TYVY&<7DKOBB;5ESnxB6T?At!c{?H74jy)NvdvtYOU z&!WsHyk}j>__p!A4!M3E^zPz&bw98#B(LH$xOoRUuwT#ItFwkgW3sWAJ=ZPpegoMi zgb(jjWEh=qd`$&0$Qs6)E^cyLB8n3mE}`5KPq}s3FgW}*kGy{JYJ9pdbk4VNJ(oTy zK=xS>5pSYz!o;gXMl)K*Sas|J@B2J>zahI0;h+B`C$y2b&6D?a>QLEpqs`qhlm&OT zf6ipeJXSm-l{ud>=X=WBL79r{^M|M9JI-E`BZtXfK>aNHf7$*kF6{~Q`3F<+!#UV! z>?M7ezF$asCC^hy&*iy@GI zYc#fyx?@_g-P|#y@#4;rE`BrziPtO;%(AzjJ}*8DXwdM`;Lb<;9`A2~kGDMdxD0$) zxQMl;EZ>ycL`q|4M;!m8I?8PrV+P`@68Uu-541I*-)YjEg&!>Qqzi+_K|W(mdabAW zs2ljLJX&{-aq7(GF;U+Gls!{+ahuiFJo0{rSk3B}c4xhkIC`|k{brrDam|YdeMLs6 z=raXgcU`>!3+_f^9qCtjt|PsfXD?3G&Jce2ZM0GJx5d*==1}Y+6DhTK?QyjCv&Yfi z^uHgQryi@l|8b1==7C$Qt?Xf|olnr7col2sw;PR7(9V6s2eMZZPo7jXuro^fWuBG( zz)45&-aFTc=eqoMb_ky*4?SGiM|;FGCXjc6C+~Bfc72oB&>ADwx=%b8+SeTS3^1;^ z3Lm{xqftxhj(y=>W9#C@_PFtmFUwa6p5wyoohw460r+_VYe##&$o65%>j(acz(3Ig z|9!yU%?rX0TD(9!Ar!`jr8H!U_euW#a?t2J0Q`Hd#CI^+Xta|4GqC;Uk-o=eHf*zx z6SmI)+cm&e224jf8Vx_Gi(`v_Ft@6|#b0y4xr?_s;KH?|&_2}*7Hr4%)v)9<58lqR zU|W;X8gQx&bO_Pd|SY``1lrN>o%@lG8_FNzVD+i+%sL|x8{e} zox<4HSl9h>xGHWg$#oRT@Gk1;XXNZ8Q``MobLZkqmh`r!FU!NH<8}V^KGQ=ye2;l@0vPwANC3{ z&X1DJ0I$qm*L;AT?*|?`-xp|mU+bD|`{(m48e(13w3o7POtD_aoE|!AYE7xV(&hgT zG@|vn7vF2CbFHV&mTY``S?H!H}y!jrdAxPcbb7dyoR8aThDhmNd$r9ya@Y?Jq$XndRV-r8vUi}Ksbr~Ny@ zi@%z+2Ji_tW6^Uf?#;dEn$BoJ_l+J~d$z@;&6(VJW6U!vw9h-nEalxK_T=37O*?~I z6~pN@@y{PtY&9!`ZSwg<--=&s#S8N9?i@osr`I%RD)H^hBX(3Su}n%RSL+Ye{}MV_ zAMv4NLpyzsbm?m|P0m{NO!8@6GM0J`e0^V{jx#H4f6+10_u?yjdUf-!1B=?saTWVA z#nt;Vk9>S?^<^%$G3rNO zc!~LAXI?T&e?VNUt>)EX8_(#|r)h08siMuix}t5ccoBMRrqk&u)^B#-Yp%6@W%m0k zp10~$8LAUnuXf8;neqvuzcyc3x-r8(XJ>nZ4I5*9|M|SjDJ`+;*T3NPX3@S2lirE; z&mf;$KJdLJ{40Lm$@Jq{o0~IR!H00M?L;FL!2j>Z&UjK?S2x)0!nbhRZs$F7L!0Qs zfQGk5>eJ&J=<`w^ag#2#_Ef$dviDP}!{v;xi}4rqnP+XbV~h0oR~m-a?aq0>m%qAa z>g6quJ$Bi1%puK_kk5XNd`5Z+&k<7dtw!U$DC>6Kx05#V+)R2o&&8yF{8gjz{^c8t zal8+ZzOld2cR%eL+4Race;RFAGRp8bfw_YH$2XAUN$aNC@y8_d-9t<<>3g&v zV?+v5i;61gqg9Fhrzu7vYja}n6oLCABjB6T=fWF~%tVJ58c2K(?s-3m`@3@3L#S;{ zqr-HE#zu7>WRZrpDYF^5#fY)o4B@cwQ+5Y)u*?S?%-m=-crHFS);uja&yH=|bCxb+fc(tetlyMRwwP|d?)RG>H=3V$yj#}m>)hM#aMoL% zvA*Zr+cM6*ExUhMpv-gbEo};*ceeD_q|!mpkJP8<0=wqWI`FS~4ZT1wI|1nwq@#3g zy5%daHf!vA+e`cVZEvpg-P=w}CqkXVg?q+tYYaO|d@!aO%(Z-z?Syo0iRjYgFsCns zpP$T;-p$UVcqet_(fd3n&nuqq$k@Rd&iBF2_wRYW!&8Dx(ZlWKA!`rfebxbUBgC&_|3UJ$boR2#`uR;EXwnzb>PS)PNVjWe=Qq=_Wf7v`913k zE_Zz)`28_tI@(Z(Oe8o4zGR)VZ1vBX;I6;(s>iwKRYz!VWXZ5VWa)?<(AqZWPO@-2 zV^Od&UV71;MK2z@3pjN5kB&3RT5g}YXI9^VFPVF0HU2Wa==f)r4Rqh*cDM80OUFO7 z>@RwcVYf~fk6JqjhhDu<_PXr3hqBg2v|saV9yF4@E;|$3e2rVlWx`)MGTFt*=oQ58 z67SgqP3-aT?6uitd*t*@XW=+vt;yioU5K|Iaf2+S}w`SPm*5lZ%u6>ZQ~k8 zY?WfJQm!+&#Lo^n`c&2^#yI-Rpr6d2HX1k3XA>_V4jK0$Qg1wjUDCD3i3KLP5}u}Z zYyLGt%dzq9%_p+wr-d=?6aQ=Gr#frT`Qzurs#eumlNt?dm7EJaN3lIwr!(GD{-KW^ z&=?ln;?af7FM-Cn6Et>Y&;0NR1ihyAOU9q>ij|0ljAv1P(lsvEgxDs5J5e#Uf# zpMNVkL(>?uB%!j7b`9)e?!@Mqe8%#0!~@4@;Fxe6aF~?Q9~=<}j^ZphMtk7+wFi!3 z;84u_(b`wP_QivrxL{=GTN``qD(bZ_%=muhy8}C)=F%R#`WOA3?`u4(E!O^w6Aw}{ zk1q<3h_!a4PDI~Pi|&qjNb(wUb;qOQM|SDFbj2c-O;iv(+qMe!STUe)=}N?Bvd>gy}xGl0VofFx3;46b{djJ+bW5OP#ZKV z+Ki`Jy90l3zZ#WKyinV(hW}ZY01NgIT#`$A%9w7IA>Q2|%=CBAwOPon%Y7dz+h8o@ z68#7+;nPjs`N-mdQQ;N40j>a72s!*BQ}M}KJ0i@>)YW5C;>3xcAbF-$aXE?2(?smn zsN_oOfi~sGQWE9dTCVY2mx#7%wLWoTB-ceP`6WNn+A#&Z>V1Cf0mip&M>8IoM)oW! zr;2~E??}prxdfTTh#RTm+Lh_mODY*x;E?Nr>vL1`@x4A)nbJ8~$mYqChp*_s z+)SSNKjK?*a4dbJ`uLWJPC{0S%KpVZbH08kJe)e!hQZXUe1f|qBATL4YoUp{$=$FQ zxvZERH@t++(!6iQzm9Y~#gQFHR_P?YuO601*qp|2+tAH*M8l0L&r zFa5y2#0z`G3wsZ}EdLnTS9)N7wGg;Y04^h%DsgDXFn}wx48F09b$D+Ya`Y~xEhqX? z=hB{w)E;*nSnXka!vnh8BO2k}`- zcNjO!S1Xe_%)N?dFIZltoW91c%ExvN`#*e1Bl^dQ;|6T`#sdl7%b(M-my;YMS$f^O z=-P}1D=yuEKXJyG_@pyG$mZR)cU+cir(VD3TVeON2a^A7;fM3jz`4$z*ago0wGGVg zu?}>OEq-FW`(q7!e}J-Qb}%+7@PAFT*TJLe#G`IVT}WFC1&70%C{bv(Cj}zSF-e)E?%$0B2|z z!0K;W`nCll@cr`W(NgBSq(9n_o;K=1XZJuhV(raob|lF!GZIJe&H;m>?QreS=kNe1Q*V_W5andW#xI`6fFMGvbP17;IZJ0 zF0=4idV=t|tT#SAbl~FCrGo(G!t|ibpU8Xp2AAf_-v!zxUuX5p-$u*!WCSmbc#pi$ByupB6sZ zU)A|92Lj*|*;aaf>P`)SzC_=mInme;-MXU7j!9#?sVm@<-7kGbf2lm|do3D!wXiTX zb;y)dgl`tlVa$t8b7;F_?a20ZJO5j2k5w-o^sXtT6YzlxjLB zGG}@oe6}>0+FV*~mrcCHrkwl)9Ys6>yZi+zzZSk=EK7uH(S36n@JsaGtot1P5wrP6 z9_4?D^7G)Cfrk1_5qbQEZLicFH_3C3lWckF964R_OMSFMYb>wMQL!Ptaf+|LphxEz zg~u-(7wW32B{mcFe35%gmmNb6x7On8N8qn!=`WYFUeVd9$h66K!Rx!|$SpbEs7u{R zdvz9&=t4MT&4B!}GI>pLh;?f$bvt{e;wzdL_CCbEa@{pa)(^?z_{!ur&`-(^PPC)7 zUH}}N@F`$wX)~*glPoyKQof!mLno!trKV)#aRTkoJHg39DyX)|zghmDOJ{}HOAyV( zQp5PBvZcFug7>b@RBJMouQQ!g?!*XnF@H%1t9h*M$q>HN_W87`C)(0RwZyID-Z{(F zl7o@C7$da1C7wA=G(?~JWP9HPO*yvr`P8L(tH2qvzdry?#OW)i|5Yx}sbGwMTBD2! z{NQNEdj%S=oI_N*JdxL`zO~m+J-m8-`hChOaCu;y`GmQ}Xn7zb+^RorbM#)t)bEP{ zD`gkczi(T8J+q?~{}kas{r~5&;FP`*zW&I)t&6pFgDy=KLkHh99yu5?Rwlm*4QLL> z20l5a>qyt9(T_fVzD-|WK;QZnYinfNq{@*_Tjffxd@}tY`Bwe&S@LaTO`gX$>3}Lc zeRQiwuPs}7^~<5B?DB8o+quATuCeUk9O`}8sh2r4xPW>U&&t)M3!et%y1H~?L|OX; zZk>Y1rHlXZ))}Wx>ixM>XFK1ng%@0FEI-IS{K7DfvKRI%u6NkCd+>i7jYqh@hs)(j zb2L8bH}RwLcAY)^`QZU#Jq(GlnQbadLAxi&3#%Iio2Vg%26L*IM^8tnDNG>wedGoFZGA|H988 z{vduDjOo}l$zbcML>YZA-9`!HB1payp1gDG zES{Tt1O3B&0Gi>v$)w)B@=ORmx%QySE{+UL=kZQ>QJbF?ZIfR#ulEDW@MUK&B%(2Z zJR1Rq0pQCQnw*&Ai*@W}3`mb1h^A>x8q36%;2vCCyv!e=O|mJYFEro0MtfB6YmCVp`r>BjRL?i_Z13OIS++Xj z(^j8`S}eZKyw^>CFP~?Rt;6((>I{?-lMEguo~-(pULu^^e7em8i*S5Bu()lMKIWHQ zM>wlIp1k(mBi(*gnwvxLAYas`bCq>QMtkn)pq+BZSa&hj#w}T8 ze5#K!1W#+mhO5jx(&_p^TIWpFYRsUArXO;EPdL)J^M@X>@B~i7g3tm)T*ZSP zVvI?KELkev;o8ZgvknKK>73A{#L!dk>i93kCor0H&U+a8=u{inW3+UetP3sP_B-A7h!@IM5V9Barn)E1*M_`vfXdXOj%oyM=LzhQP zpfTsQF3x4%Jt@H16FziVA!73*Tb5APc&JY8_T1mF-buHun1u<}$-^S{ez@>z&d{Epokx4_W#rL&#<{g;{yWci$x%9I zN8jB&_uqKFYwmd8nctxa>;E_Sevo$up#gi}XXAl)zkIYyICAh4-plvBp6|DQ^+@-3 z?XkFaY2tko)c=$ni7ZYtFLkct-*ujU-~2b{U-DRa!H4p~qr(fyyU>%j%2N+x9z95p zouh0EW_a?xOt}_*q0wS=Z!Vp`H;QvSwz60GVx!UV?MCBP(xL2$)$;zP@8F+CdW83W z(m#>!%@eTq<#`LKJ16)V^C9?U3F)bOUpc@&6R}(2PjQ_=~k4!(V=CzC8y_-ACo* z^`6-~lCp!FFJaBpoc`SYjhQmao>1GwyfmZZd}uxN6ms(yH>M>E%4a7qlW`rBU%Fj? z9&O8KoJ%hIN+0zCgOx{e&*7VG888N(LXO`ib5eIaWp8=&j-$NadCI$-{pVTHk1XjZ-r)mNZsEe%V@9 zV`nMc$R53<4Cj}pe+GUTRwQO?{WDy@oK#1>)k`URo?EFt!9JlHmIk) z02;@!x%CXrnqw59yaGvRvjDrT`er_@lNaEwf1 z^Jios#SFWA0C2z$LYyZj*+}imJ}>V_s>h1^XzQK)=vUl&##7IDPd!nmo`TYEn>VUm zyC1WBW@Xzvi+*rzz+Vn-H77ZC&69)BEB4z4cBYEUtobt^xCE2#2U+)qiF}bN2or;k z@r3rv)cQtpqRzs}!DjtVtpWIU`+xzd+mUMuVv-M^vg|c1xt;w}?Ln)|6Mg9LxfhLz zzJkOh3AC&s)=7nPZs$PDURpM?IpqI+p5QT{Q(Fgcb@&qGa>i4O&kVFIwfZO9zjt9j z{gdtA`^QhwKj658J{oN-P7iH(Fq3`WrfhA4zkK2nk-ThfdESoA?WONd-*zd_ml;N6 z@A~L7(3r=H0~w6p67DX0X!Fy zc9HHKy204+jYi{1(r=Tl4Q()P--5q7sVfs}u9pp-HP=U-xt_ih%~|6PnhSVn?i35p zHeb%>`#J;Kd+y>|;Taw-Ste@n`__)1eq&@;a64xyZf=5qoMqmzdt>G^@R(pQXzqbd zH8wwm4R-tf=gn95+t1XqNd8;37F`T72SFoR)BlXJe9)3&Qu?Yj=da0BioX!oSn+PA z9478!&HBt0o$^^2!x^$e`iv)ewN}_$OZCqOlqh##Sv{id@5%k)>O4>0aw%SZitp z>$00h@gx%GaIoJrKW*fiIXh zU`MAlrux~KcQ9H>JH7T%iq+(=W3GcINEhI%ZS9D9&K|9TKU8`6!$|1U{hrMqvd?*K z!UnpWvLd0S$;bEEvCE|s@KdILESFQR8*eV1I%?^GH1?ln{+ZRVCUXPx$ceQ7WzlyF ze#Ox5vm?=S*R^&G=lvvjg80K^_=M!P*_+p7FJiC}%5dBW_`Yu^Te4q|Y=*X@0A=<|kt4f{RhylVNg z>|C_f#K+5$xpd~-B;dHJ+V*!Ey$IQ%Vyk&osr?*S^nw{-4TX=+v@x9Rd>M7;;{$Xl ztHgo1|Q)U7Y4%|65`wZeMfZhF`J%+MltNZ}i$5YlhElrsl zDE|fK)tRI*Y-_jeM#kUXW=`k%yNnOT8;Nee#QY@BGfptjQ^gb4!1HxJdewf`G~4aD zY!7P^<^r2GwtokoxQ&^q`|W4>G)Y$0JYBuNZCV9oeUURwL*bLHa>QE-_A|$oo^0Nn zW1#y&_r&=k7^PIl-G4JRcNlW(z4OBt{l@7hQ zG+=#aZg@IJdP>_j>i~4HCm;Fm31l_W=SZ6e;G6X|e6vVD^MgiX5!c(?yYwNueV0CF zHPDCjBZrms;%8qPVejSsmiLqBSFI^0gFo@Jn$l*ApUrL{#&Br`vWeY?EdF{`!=S3dUyinOkUo3~0_|W^z1{b5j zi}a%3yNR;VqjvoLXGgncKtr>^lg@yh0ghb1Akpzv|J7)W2S0~5 zHW~)$|A4P8xf_f{JjY4pb9|XIhG#Kf=5)_p@vOP4iT>cbHFw3GxeLE%YwjYo=B_5@ zuD#COCB2H~EtQE3Un<|y#XY{7751Dpxx(Q~;qRCyQ~o4iaObTPHE)$NZ&i5btz70Q z@-dg$b5|2{7rwWS4D4MSe}b~?c?&t9*Sxiad20#t){=~5BX_QH$FQ|G#F+52#*v)l zV{EwmTXWM?3h9 zn)aslS+pfPAnmD|45#^~vSnX%+O_t5iaL%b&hVxW*LTYpve#Pc(eX&$C}xh0w_}4*#@O2t~bsY+2xNm!)t6khv3LQ|LR`gaKC4d<@dqw`<}7&73>6G8xB? zLq0*v!Fi4&zi98sz*c4d3GxNE?Ss&X2W5w)^`5IE$zzPVx)aV*dyP5TWGHsx^KY)8 zKIw_)M{WCg+Qah<$B!8uh7n_r!1Ckn*Z(G$wr2a?2sa;`rkH-C%m}&}+0{uVy9OFB zqo0qgMHfT*%46sRKUi=#@M!%`f)k z>5Jyi<{vN3k5?Ie(0mEsT$-N?t?T~u{sNOJB1U$&p%$Lp}ld^YWh&&xl|7n+_7 zuvZJM_VRacb!eP^@0Cw$5Ur&`(#`O{>mTpFn?JWl|JC&W5zdcmj|Cs=qW{@6uyf}f zJutfK1tTPzhkEt~u(jX{aba(o-2SDbmfe!tD?Al)dG%2GUwUL~t;Bku1pK^N$5}n> z7fv;PY4K&*73=~RiP~k|b_L?IZ%!2*+j(SHu!%f+KLnc4oW0lcU3LYU*Yw@BE7;}v zj(lXr0?_xM^M5oVePS@tZ_>j@8P`<|1hU}smK{t7to z8Cp|eAHrO=?)~+~a}Q(Z$Ncpm>9eFya|L*Rta0tDwdb+Zfl=^XdGy2XF|GMYV`+`m z7JDA+YrIb4Kks;r^4!;Woya$Lyxt2h(0v8z@yt>FzpiH+h4vEjq6nSoWnaR!G3(it zKLSx?F!(99f!mE3XEuA}yxZt6Z>-!uFX>y(%Z`WDK}DZz1XB zq{Y1dBl+I{6MW&5XTLLw{g)!_9o5g`3Bui7_lUm|lZmznXE~(U&IV_J<+{YJhQ@~+UcPF}9PYxM7* zV?8Dvm><27kG;8h^hG=R1AnOPRN7gI&|SutnMvD#wi5iZ7)NAu}Or!A*@z6%!` zJNoY8;uOz!;o?1LP~Tl#jO2T^F6+=IUp#ovd9o>AgKQE@afWs9?bt`*)fmf$H^)<- z;N9xf=fZoqTI1MmkKmQQ)(h_+J>LcIz0P+R-cG*H=bcxtFL;T$(kUIxwo{f~N(`(^ zZ@>NN%ijCLdLw^jqw&pWv3*<7XuR-Dqwz)VYk6-lE`~S47umbakmnWl7{0~*{6DTY zD*1i``D@909%(-Roxy$Eq2rrlKlkBB=hz)qyZWDF=klL-j=h8DzUJ6Z^G&oSx%>%m zu6xn_@yxNUzweo2UAaoJu0qb7+xo?$ouk3A5B<01-auKq#j^_e?#85&9Jb?AJ#nHW zgOx#h7Jq@}Z5}t%{-0O{0oLS&k^1ylqyC`iB0yfjtb8lgPUx(H_o7et{W9JkPHh ze5d@>V7{xbTv+FLzVlAH=}yTN?)Mp<@5o{BTiec8aIOH4|H)qYU0kU{(+5a&I$=efFtqL@t-vj`Bm?;CaO4J;+D}@TJath zjQZ$V6YJT_?dz?5Mx+x1)93Z((n70ja*bXG)A6+?sk69HnT>PUm2*wxigHE9Q07p+kteErTvc3qx%P1-xZdVE$Yl(peA3Xc zb}P~l0|Lxl3Zb++@olWQ;6KCU;p5?n>VW{~>1TpkkQUUaJW zn*a38Ppa<$Qmx-44+kRn@mX=X7Hc0Ie6@2<3+>|j@zkw4Tp8Q4eUIAvPCoIg?6qVW z>#4Gx)ca5x+Y8o~4pQ(qzg%FN#mrqk=B#WB~@&rI?^W61*FZS3rW|K#z|XA z>q(y^T~4}*w28Ehw3&1(=~~ilqu*J)n)$7B3)R?$0!lqbIll@BlMrN_wDcl;}T z3@q6OeVF*FJBHt5|8QqJ^BH4P<5x6S*pBZSWAe7hiewDBtL4(TzKyiMF{v>g;GbiS zaf5H}82^7ccKtUz-YwI+^#3E;X#0XqPfc_BZ^nG&+!+2hb<$tXv|>dOo9`VX&ist- zQ89#ajiv7lv}E?ah+5KXXn{P9@Uo*%mK9Dlq{;l}mx5=_6f{5*U2gZur0dg9a_Sa0lJ z!d~|8di4BSSGu+YMr~`i4sg7DJ@KmSls$-P>tW&mlkX!ad zr|dd(lEXA#QI2Rv`t#c^dfeD~_2Wi>G_F+Za-#=tKErre^G{(Jx+nOE=z=&zsZm28 z9-;H!i$brD05?PNTLX93i%x@AM1BtLt`kk=BCGoN-*+YNhMjv?$JfSUj}=aZ6?irVnuVAC-dSC74n8^o6_gcEkLI^OLP^kEL3}A(ia5B^M2}RBQ=&Wc!l$x zvVzhvRLQo*X~QRE2j_w7efrFPn#0ejPYwd-+CK}is^F)6jj z7xB=E%Lim57oK#Mn=GV(c%Wf8FodbeA2E|AXm@EvIuaM4Qu7lPOz! zd*z%RH>#Gi?c(Z_S>i47e|^Vj^3IJ9ICJA8$glEE`aj&g51iCh_5XiocXoI74=})j zxFQU?>V_+fxzdA z7maQO{vnMm#NVJCaHMaw4hi354!zUDm&V(6_QGuU?1lNM^Id>E_8hswnImmj3!Jtr zlg|%6nZ7ce=Zc?HBj-Y~9_!M_O#03{))rCEB2PWz2N`R%zqNmWxWz?h^yjmG;GBtP zvR7*YXW^RuRq)pwV*b1Q>D+z$o)IpwOzy`cykzb&@-e6P6oPZt*GPMC0{C^v))q!S z7p+#228gvWl{Rb7uKawU(Jq^IE+h6K`@n-sMg)S(A=@L%*V;oIq}^?z$HYjJr1MFeN#!Ra zJw|IXDbj_c(qk5pN{>m9wvpD6t|zT0l^&BMZ6|Fe-Avj-x`i}F+CjRObQ|gYq|$5J zNIOZ_lfFW_fpiyXN6AxNyN7M=>fqks2eOUSPr98nK-x(fBvn7TwEmmD`x-@OR@@c% z)0kQIn6Deh9#ZH+>t$^Z=l7Pfp09PMr}rw3^T0a(Q+u_Jclg+!k2&wfE5rjOqi)!X zoi#G{eDU>{zsCAZXRBGY7{49TT<&-M5t;5rVtH`g!~ctUS4En`eSq{)($pW|{a=Om zllmN)q{7nAu{VsWNr%w?%c-+`Lc677OMY?v)a1Jq%<0G=W64Ji9u+07tLA;17i)ZF z@2fh&8ejJNZ2p_Quj-zt#yq%2Hjpiux$}UscQ7CC@XW`>gOt62yc;}umwCz-+}QMx z5AF3R)l=eGyQ<^cI?uO%xlwb-q1Udm*KI#XJt|jifR~D|Ba;vl2pPZ~^T=RNs!t_D zUb%=pUN5(rp*P@nM7odkm6ux0kG{+vFVZ`?UraiK`zUD$owJ-v{o>m9_PFzQL^15_ zHEyq*CcH~d&_3_o=(^$;yWx#59zPoWNHhq}Im@pqY|~m^DAjca<>w%qh{x&v2X9F} zv1JmSBjm~_>hlip<=ylCUlzXXyxD!ej=bwUxE*idi@DXo7jWi=e06!+Hz*wa7P-i+ z>qxTD8_rmJ5*fie)*iRk%nv`-9&z4#$J&pOp+5`GXTI2K%C6^33{rP(OnX{fUAo-Y z0q)QXW17dK>3QHoqys<)|1{(nj~!_Z6;k$+CsX4G)3A@x|Vb^>HVZzNIQyu-qk_6 zZMbYwci?|o2cN%#J%V-c`8zVZl!tUTsc=3HoXb`<)xmiLoD=^E{yWREXUIm-Ea51 zuR<$PWJ=1(<}0)D-wV=K@f3HA$VQ^^7ocuiZd>NaZ7r6JDV%8D(AckL?7Qc=>kQY) zUxMHKmUZ7Ru-+OOMXZ*b72v+4E3B1Z5B>yu`ew%;Yo|#VB z#H#L5d&I|Fo1MmEnDYg`JHN2E)YZWlSKsD-JaW`n_u0k@_E;tRT6sRkea0BPi~FZH z+Onh%*=uCunm*Z`E@02_&(Q6(e|YE=d}}AN&jsIaoyn}TmRz|^GJ(54`ds!cC%J2BI2WB{X(9zFzzL5NZYtYYqMfeEg3!u5dt<#;mwNKaWQ}uDU@z%a8X?MAc z2k><{_csD#rTfgm*DRh_xX-}X$FlHs9p7Bz;Oj{TUpm`qKfZulXDoeM?FUxb72NZi zurGiwAMpxoU%EN)H}RX(kb5hUw}#J1_64UT`)Zy!y?@fg=Du?`hWkg%#s9x2+4s>0 z-rt|U8vp+XI{JzlJNkyclH4{&zZz{q4#QvLRypMCPCiXuuV@!X}l%f5R8AI5MHmtvWh7IeJ%w z@p+z9+mNYVkR2*W-I8TAUQU4Cy)u&g?UJ53@Wro42RXEil)Zj^DZY$e8L61D*cNSm zW!I+)d*3*9VC%Pue>7tz&aRg2)yOlnJz4mA>1rEa;%&FP_$q?-z>~E;09^b3J9u&V zP6PSlGL#CynhTz}Le`VqOk>*LfrzqliF zN~673T=W@U-Q0IM&#PSc9!U0G%Dvh#)qVC1{Xu_zjOW$vGunFr_s=|I^G|FQGiDTh zxc~GaiS8L?Q}^@D3yy|wt~NUV%;KFz^qb|o%4BKLr-O6$lvry-u1!F5yT(8TFuZo0 z(cIK?693=kKfJu>1pe=_{wF$RGf*Fj9zcA`b;}(M6wlKYV9>&GOVsUCj>uXUX%Q+dCKJ2F|@=7jwHXjwv!{}lU%Gb ziC2`3?g^eX;3F#^hW}UKpHqfEI&FBiwYVobb)XGyAMAE~riFjw;6E5FxA-ajjUUJV zH~QdY`e5aU2jF-6;Qs~q|8}h12iMXETc@y2=!wzmOE3x+wO!a8ivss4Cexao{#p38;J+qa(;Wwj#U#B_>pLHN zgEgHv{~05!Cztsnc08oNI=;@vG++a1z+a~!%s6!8QCWh@a&@>zni9>j(Pg{QaJTeRGhn(*}Md zeo+!9-YQp+>qEaT?#(CuuVSzg12=QgvH9tRBhH6!B{J9XjURhZ9`AJqUtYXD^DuJw z;e2y`bliY%&PNvi^S(J@U^<*{&fT=t_074L|MJZ#U30J5b+7H46CqsyPPbkB_kFLm z5<`Tw&E2GW@5;Zgz>C|!k@(|Vv_~;DkE2f6h>(ZVI!{J)Q%+jJr5GHQq+zZqE`y!$ z=Bo>PHw2QIy`M&(;y!}!y?o(hGhOw15&Qk@`)~4pKD-#4Wp|QynoF8VTe$AwN^z~_ za?gAm`=t`rxJ-I|bTfKfB)x(9HgRp|elzJ7uB}`hTrV2i7mU3&R&2-htUdk*c0E^C zTj2QTxb0SZA9vdO$LHT&doLZNy_a~}d-1z$Z|4{P`Sx!9z}@C6*e_jqPVHL{fAU%5 zUb<;&IKF|n8l=*)^~x?R`o~L)u|GR4e?sY|JIr6Kv3)Az|9wTnIZyYI{!=Y~UR$=0 zOl<3C&o2jn-PHdidwnN6KE2ZQ(D5vt3!U$xF!p#1xjg}JrE)n$C%q&57wnhF8)eAB zl$J@u!r z1pR<9wQc^ zFzMyoPbDqlK1dp@yxZ(K1Ac#@?N`4gg1neu4{%hvT5Z=v`lu}luZY>_{Aq3P{k*YkZ1NeG#~{e9GxxZ$I(BOnKzv`wafWnrmg>zlK;gZvH$ckII>P6y4`c7DT(E$UI4A)RlMmfd>+_vdo2^pB*j{O;0zb5Q)+j<4_1wCGYk zxbr-8`PTJ^r+Ldq)RXsmaB(8`h&FtWPQo@J8nxnLOhk`Hj&1$Jz8>i-kAsV~KWjB# z{KP7=h%_6vlmnY==w8^Oz~+s+ux$|7D#=^vf$bt-6Fh<~6=F>ac)sSqb0Y8rfaA9x zr;nZ(*l*$nzk~SH+3a;V zop)|u!-E?;MT5+(_Pmzp7C%;*=fjI#zEn<`diGbIDei?UyJ;M2Oz$7ZQO0fbS!?|M z;Htvj8=$R4Q<8n*8SD>6UOX55@_O{UFT-=U4o_w}&>zMkzYtHlTjO4J_^0IbkDiEs z%M_c(6AR)Z#g)v(z8)YhVIeUJj_YuE0%cYKPe~~-P>#luV3SNFzMygiqskr1H*TB| z(QS3b-R70acblQWBVDi@m?mp1z>mB*W32r5>GH|pxr;aC0Ly2{mBkf@e@h&m5rJnU z6jSx`t~=dh462`Z$+B_K`f` zEa#j8#lg#gM?+&9h2KlTV@Z5PcY&GH^%Z#gmUwe!YoeL`Q*(%;o*KE`Y#t^0t|AVT ztIsTiu3H{&HQ$}bd`CL>O4ct)FXq0KG>7{z0+B19$>wB@1L*fu#=#A%6{BLpe%pC5 z_FnN4#jlxGX4}@?u>j4n_jA?4t2r|Rd+_@joBJj{13!Z2 zi}n^nM~gkO&60(O-|IhzymLHx-aVcn(gW(xUf2HcAoXXjKRrbKnqyR_<`~)M6vr&RV_%QzRejbo z+1B{|?uu1r)23F_IA@hfl758ya?-zE&U(|Mt>$r_uOFJV#CJ2B z_XdN{TKuLo=%5;7)A)I#U&%%v$7*Br;V5KkJy*A8W0>l)0w))q(ZL zx>rTR23*UJOyf^$cmeM1HNLvcMCeL3j7e5nYuO&%Gi7=n>9j$3x$A7JZ-X%N{6L_!s5x>gGMYs3uAiv@>xMTJk_$;b# z;4@`I@xf4BsMn|9|5}!?*54)*7tzwQSd((s(iCSpOe{so`&*HJl)jF9vJU^WL&+!7 zH*`i+5M4uax#r-yk9%p7Sh7cuPl7t144T|}1e$#P+2Yn0~ zYpt7W>!cr@f$n=vUH_BUpo`9MaC8m2=ry)3`q68^(KXBZ%BS4kmpdiY|HKr#O!0F! zCK0y0#>L1Ct_)?bwcXq)nh;KMk9@g&Ls!j7Z(=+L_}1o84H;~7;KueJl?-M3A=IYV^ZZflccNL*uwq)d zV>NP+&BdX+qHLRsVwuiKuc0h#v)aqMQFD&`o?o~Ozp0_ z`o$&0qI(Gcw^{hVk-9Q=sbe>hoV^ttQ}zUKf-S+6Ed?i%k#vTyp21J(>jC-s4e%;C zcef+Eeg@pS?+=>OoxEF}yq)LS@^ctIUzt?B#80zmTW8lLM)=JV=kB)G=0KMkg z30j*v$2v1+I&$2!tLbm653xZh4|-2vmSVBZPM-y=pPa{hltT9@H1u<0XLzFYHr8TG z8oOnm(m0IZYv3b3t70noLil}zQ(YgLJiNDr*cAc3^936_Ep-lE<(6^wcV^-(^xG!Z z);AHuf0MPArkK>mzl7LKBl>-TMAsO_zTn$^{sen3ke>wuWt2M4tuhr`2i@pMW$COo zl_Ngej{HH|UHOc34#@#c-OoG?4+vr-p*^208rJJe)N`iSoUWg6MwXv_O~S`Y%P(wT zPffi=qle$ilyKf_?h>9v!#6^2t}HxfeXIE_v{Xr27G1U91}on%$-F`Qe5L!DDZ~Vx z=AUbn zTR&Z}wYayq1NuNFTRh=zGm~q*W2dos)GX-&Mbd5eyd}RH%YMTn&V7UScl~2uk9xRP8| zu|<9}<-ph?ZR8Pc1e|_&*7IJxvDta=##ngD^B(?Ew8(j%?|lCl?-%fF0dt@FRlMas z=1F&dnv3&TleItXUE@3q&MU#Wbf>ES3plUz;Jp6ogK@qH-k6Q^MIM~VelML(IL~u% z7Wcdt&Zj!>U7RoQycfq*{tcQoz?PtUV=#?gJW70SbbpYrc7$E zv4dk9{+RE?3sr_<8~%vlz5cnke(iC`|_G%S%JOwR;Sz~S2c)iq;8}R?^ z;k@7OJf7>B`Z6~vpUU67axMA~`Re8V#QUU2>0H7S`Q}Xe`$SXUEjglyXYw6AF|sA|d_MI!^G+W4 z^5O<^-Ke_mvgCxj=u@4GX|J1zuH2Y-vJ0xr-vx__DGMGF8oRTty;IraP2V$@*!1g> z3${r&1kMijF@?jl8@pmjJLetJ4rIA>zHjL+Jr`XKHMi{=My$-Ga1BS(|g+M+U{EocopO|T`? zVfnVq>Vh~Y3YHSqMz@;!j7cqFZE4A??*|_7)>a(tb>pvjF--PgO7JSx+qZlbK4Ue*3M_fpV+}QKka>jw?vjf{6aNcX5KC+YtH(Bixt$h;NNct;tBY3y>FZ#_2 zY}oqtP7ALEz-imi2KF~nPLV6eE1&9c^SRHj{w%i1Z{KS69DBFfPRG`KZ(!cgIfq-K z&}jl2QC#27?y9299ZB{m#Rk@Lx25cJ>Exp?ddmYY;Z19>FMnRT;=z8u@N_GW#^L4X zq9bBA3`cH(-gK5%Epl|TwWrS?tb?RD>xX(J!`~hl1}@&4n6V}72g-xyWvA0v*P5@3 zmn+Z3=Kq~mGwB?3p3p7Or@ij`A^OJEsfC|F(jCWFq)$`-MDAb>g}ETXJP?C#+}Dhr zI#+&?W!kf>^zr#;`Srw)H1eG z>42|pr}V)>^g+v)i}5O*M6^~CTyEJEp_eIs>gC+rjG1s#r(k&w7({O>qr{>|&Vgp# zfA`Ig?Q+}shUkEH`WTB_;ah%lMc2tW7O$qSZ2qY?chr}3Lw$;3GsYM_5J7@y>mW{yn=@xvVkLS*TK4P5fn79M_5Z_@haj?aqk9vzf zG++5S$G4R48GDMc01oHaeFD$0$76kl7#H+)i#296@7iO=ejk93OmN<7thn!W#$O9YP;ZdlwAvMp;2rY0aG`McNQFyb(C)`{97`X>cxM<`c^dWos-8vA7jCd_^|$$ z#@Qog@z^c_r{6-}da`%+3Pm+w+`nQ|`Bp zeefRcZG0dTOBQqb?KGaB;xj#4C}W6I#+gnTH>(WrvfeyTTcTII^Tyfbbe|mkeoiUo|)_LcV#D(4YF?BCW5^@?77v2omw$mh##xK51((9}2Jl&XtUrC( z@S1c2JZt^BhIi9O)}-U$S9mXS@GTq{Irw&Qoro1@;#>*v%e5cZzbh*4O;}^{-Qzl8 zDC?iZb%HjhPKxsLu;)?<5TkHaA-Tlvy|uAEz|b)3g5_v7Ckec zTDnCxO@AGn%U3}3EMEcPT)qO~q;&fMUx7#h+;J~o0nxT_9mv9U7#v5qLiV*E*Nee* z=%2*3<4@TcHa2@B0+Sh)Zj|b<`qr%(4yd+B7V@LJv!8nicZTzUdJrsS@*N#ty z=1J+~t{#tlV54|(|Ig89>6h&N>rwhedn3Gir#m9@Rlq((e~iu_w%;!WIpVPMtWWPc zY#GKo-@4DjYq4cVI5Tb9Dl-8&@Ab1e)8oEY^V74i3z06xkL>$XSkrIioPZCpH=Xo+ zo*gq48`8a;o58zXq$7E^=k8YXhYzx!oz(SDmTg>nAhicjYi=K4eOA6vvX}et|JXrH zBiGhFjWc^9Q?x!gOR-SOUE2TixvWu6ar_DAa^BcndyTSY zE^Bym6Rc4ttu@NS+27^s@NVqyRi6C0%opNQhqAxd)0eLO9XZClU3ja> z^$F2{bjrh>8(_=#mvw26h02rsB;8dyq->aZ*txc$6Aq;f@s!@rwbm)Gjkjd#qV?F7 z-~kcj<>7ZC!`pT#$pIzcBM?JR;XCPzlIQnOhyRupJAL@n6(O_zh5I=5NCsaRtUo~h zz7{>!mB0V|)PVfG5czYu2aX!xn0FL#{DCqCgJZe_$IL7^YCLc}>w#k?a8&6VWSAr2 zxZ)`D1yvU~l$<_>Z^RSEg8K)lS8}#BHZOi`SMiY1J$~rN9ZNUJ*B>98#mVBH8@b&0 z1a54CmCkx&Tc`s%BW4@r3+L8447O^m!Tcz=+oD12DrGTj;Ig~=q7iIXsq|CvMCVh` zTn>8I1oR`V^{k*jWos1wZ?JHSj2^T7u2*0rl|G=hoU6K|uc|)Iukk0)U084Mnd!{C z+E2&-;BKqksyh&)PISW@=&+o+h(}W<{r;dyV6K^NXGC_vi91+yXD; zYP+M=RNu)(>aMS;-+U3;46MM^^(hO7z#h}ReAX`mAM!o8WF-6$Id%l|u-c8SF!VF< zj1Nf=e1vb!_`sX&gFf(8Kpe*ctxo`tY(?_N5&c@WXKamnhW>5Y8~ym>=v&zxX+yWl zU~ZyMZ99eR*pi=--w&`)qCcbO9Jro=PDkC%)V=IgzttwYew}rXq6vKn_tu^-t4ssV zPS_7eod=HP-Q))b8*b{h@>AylFyvY=9AXcq)faYMvL^_BDnH;`jpb~;!^T}J@YgxG zLtkg^jA!v>UxNNgq60mDbbIB>&;IB4%H8xQ^wqfN;oq}YZu#rQ)>_I}RgcBL{`dCE zt(&~cJj7+185dkrZ*MhQ{F0{;<_v+m@zr(kt6h)Glx86}Op0&fSLCI=gJU z#mMxN^8XAcN9BZWJ4SIKU4PeqCyXNofw3AGU-SLnhw;^nZBJqBFvJeTV<|AsIRcEX zY?K2Z{PiWKx12uG959;ryXvR)6WY71xVqS{#}GqzY$O2uAfF+7B_{ zPde{X_WE;%Z}lni(MfdXh@Knq#X%0Au9$wSAL-AVu(!ASvC`h4&i!W3M`3ZuI`i9# zRY%MV$?u#q_^}f%EbRS&WBa1dN8(@09L2cwZSK-pW0GTCc(gajFP|9t*WDMVGKL?b z41K5ZJsSB~ekj>vO!GG5yljm6k9_C|-dp1k#*yk}XoeJB1y%43~F zRK%KJcN=Fij>W!O8nbPztb4;li3=S^@7eFG_|L_K4o0=^$h;ntT)=u_jI~C}EhR+; zN{`jO-t$h+weC2EKKLm(9txhMH+uKeFdjE*jeyQ9Y8%C#y1W4!QUY8cAM|LA(Tj&9 z`I4S|Z%rNWiKgCMXgTlP5H|KO=cqV+i9(8;-kj0CQ_aICai53(sq4o$!I)i@-A>_$r&pauky$3dVFy+a@z%k z_%w8Y3%fniLAI&1mz-*IVJ z{%#{esq|Kl?XNSI!2cxGbYKFQqmPCnNsE0=tW zvhsx&Cy25AW@r!?QUan3}-Dm|$~eCNy0XqW@CRFg(H(t%fh$0$;dgKM$23 zx6X9dT*Y|!F>8m6%ht>((2L8P%c*yiGqyj%e?NPR+_B6$cVqUMrXA?X9Ufn?{{SAv zvJ)P?G$}s2j=bwUdD9=(dhTlWgxrz&@_N~NEMIGM5}hNn8Ga|fiY@Rc)8me1;2x=G zDqHiM{4#d?wse`IyZTOZeBRwNs4C!%?GyL!VTV=W=fj@y>BJKa2DR>npOdrhcCHm; z)RreiPg?Ign;4^2;I-P~6*s{fu*(@zc!l(1S2o!3=#lxrSm-;O52$@_D~>5Y`ECDk zB6h{5R&(q7*hfwJ0_ld8>>H}U#z^{M?n9*gr>rt>e6!UY!}GTru}7ZFcckCsd7SiY z?rTVgDPKdY`PoUU%ofrV*N@9Ndz|!Iu4OgkBfXwyV@c2b$SO01XRp<_nj83L9_d8h zg-K6diA}{56Gd`^#!WC;XRl$){ziXjPl5?S|Gv6ig`(XAad^2-d;yKoYV8k* zN31h^3!vFk)9+Y5odwb5oxk`3H0;O`iYY7mkII?M_x_k-Q7mWQqJ7@wiY4FK=}#=r zn1o?(RC8wclA5$)^J^cxY!K{^>4I-f47&Gu_0}3|Nn(iw1GL^FczmH~=Q*?Bu~Eac zG27b1uneCM)vLC=(S9K8beA5`_D|&8jS2ir=L>aU33h#M&x|I)@I0m(ow>{`6%Fj<|yF*RTliG7ufI@ zkt$xyq1qt)yKV55*LUZ6+Hkb+Hy;K3tB(Tyd$Zv8`EB^~4gtUHV(vOX{LR(-eLY3@ z*P?6tqM}pR=3M8jv(M^$0{Vqt5oern0quO+f!(DU(eMgrAV4Y_kUxv18)0V@ug?pm zx;{%=^03v376galJ1%~G^?p4@Flf)a?FTJgU;gLveG(j+H|=pF7_O#%l_C9M&tDHL zBYc!)MBOrGKDMj;o5elrDaXqT^3kj2$R-b5mhY&A8+bW;gM8)-BY~+*F*ox)dc>Gw z`JhG9*uz=-Y3e@ztzo^9Sd%rs*6`o8vAJd3PZ<@#Ciy&ezlKl4YbLSF@^3WpG;uJI z=QV!7Cp=a9qVkP>o4pUz!TBE>g$wDB+rLGuk3>`Vwl6A<2EL-K!~L*vO`m*F6lX#- zIh}pA?porh;IoFgf_9`U_}^1x!%aR5ZrMG>!>*VV#IMwrUB>ZFwrZ`L-oSIo%WA7+ zgo-%pe8_rJ;}>?T4wXGKr2S7#nd!hJ7|vN7>>XBgT%W#~{s6E%&^AuGfy$JvwvhTB zuL}0MFj9tvXUZ=V?D|Gy(d8r1NH24}j{VC>zon6Dy}&j`AAsZ6pG03t+55J~Aos5Dt==h{QiZv& zyMw+`AAQ#8A0K?>1@NqT%UP$EAB6lRRF2NO)jEgz>{-z@{VN*Nvp_i2)%1;EujtAh ztJ1OEdM@^q|MX$X$A6$* z)}2q``dc;q@0?{TUM)T?m;#|@OGc7TVnUa6O6Lle1^R!cu^&T+00u*h(=E;(S?2Nw zdAFOuc_(X}(#eE(^}|D_Y5&o7cz)EfKi=bv zB{$CxJnzw|ixSRzSMT~S&wIf=-+4dUsiT$mwLDWiB-JVZoAd9p&;GrDGb#lCab1T#OJvIn{<_$I;l9rSMz8&;oxF;F;^w`w+KxY=c7)l> zxp|napA%QU$Sp&4B>B#JzV?bRD?-t)E3aq5t*k1^W4a0NJwx-ki6V`sB%e9{yD zm6+%n8#d3IZLMuf<`dn*u&fvbJLm`Rc@B5dhHU%%F~I6=ceY^xEWo;KA*G$!79<6`e>=cAsAkeNX)=@xGw%AnEI* z+rQFkzB7uw#-x+EFD3m)=_+GL-{N`aqE_=m?$?vLc5%^BrDzxYh$ng5oV^b5u|e8g zPn+vKZT`gvZF1Eu{BR!gSPp6*go_dB2(r&F2m3#6wIPLa1?UpVu z3>e<{GPZ#c*ak??xCoz3;&2Aq;054+8{doH-5<5}Qt1|=3$1y3*K&%X-@(>$B>QL6 zONuhztFqjFk$rM7A0P2A#b{~n*xS} zEdPxt^Hz|#2YM23jd8B!xtxnCUKj{*7L#?B?ebAN?^L>5P~#@1I<4462lS^!NAMhX zpPFJus2rOf2lmm}^mzDvG&VhE?H{sq@TTsIIG1lJ@Y(Y%_U{mT0xcLdHN4d{;f06T~hGLIpZu|X^Rpt|<)yO_GdA{3;TkPHcn-fDX zh)Z6JqKB9w;p>s#ztc;MTG@jvn}Fucd<(bRtoCUg(Rv1sTIQD^)7sBR@mz4B`*oM# zH)ev%EE~}}%9{tiHDAj|?fcwI&KrxIhpuhOd91Tw`%HCxmv<^#wuqh7ssH~)dNg~3 z+u{RlRO~X>mu@U`vu*#fV~lNPZEmw?ZEnHUhd)OyMc$MrZ}*ux!=X9Tj_v*gVwX)q zPiQY{+aD7R8Fj9E9tJ%AB}1%~haEfriNx>l5!>cOZ2I&i`bR3g655&YOmpARioLzV z;>=|+?9}K=yYU4p2odi%*YrjjAL{?k1CH-3>v$JzZ0nz~u?@3LG=1JTmNUiw&gvJf zanIb?hI(YT^EKAwUh~9^nlwl|w~%*>C-41EJFowO_UJ{em^3G_wh}3_^&a$E_Q?#$ z%_+W5dA=VxNL`D`yV#Sr$*D_n4g;X)MDTGUJ_XIf?KAfJ54NI>-ugn65%QGrx7gwP z@NL%D-uA4oeZi?u^2J=*r@ojjoHn-gYaF}y+rf7`Jm39+I^6f!a@7X%Zt&!tLmi7K z%Ux$afw9rg+Uo9rtrLvT!e4^#6Q1v%9Hc$-$UD!I_bjJ98_{bgu@-DLPUwGux?XW( z-3gByZ9LM(iwy0(5c`xDpFzqDddmE^r~Ux2yS@c^{4d4cU)Z?BI;-;8tuxQE&nz`& z8*6>rJZpW&0GH}ee&JN#h{vrb-+E8JdQV;1cukTw>B*bpv{iau0NbE=^+%ZNy=|G# zH}gH;#0M!qLSDt!bmifmDtmlq>u@pJ?X4rocR|m0mk(0MYs^!xdGy5RojQb5`Q_%; zv6obHf+ZvT@9A*!fXjP!@5!_w%Co2k*6#qTx82peulBq@c93?LlDE{8_co{9CQFC= z{P%1f4%)!}YRAk7?B6?mpzbESykZqqQ9czlktQC?z zNZS1QR`bcCRb~O{c;5SY{%h{HbAKW4!=!r)c~1IAo^Sq7)-<_qA-#(G8q$9R&;dzb z=lS+)(Gj^{M|vCgi%8GoekSQ;?n_C#3)oBXxmNQzo<~VP!2MLx4{|@2v?m`M*EI*q zx!LnnwhsK$s|NZadz{3XU*jGfs@lQz2V^t*CA21manK z9v-JyT`FVCgoDdi0;t7TjZ3z z@DOF!J7vRY(Fr;%ePlgxSTE2#<9t_hi0{7Yd>8S+^nwSbDGp4E$tO5~sZ8Dm4J@`c=a}LEW3z1xBYMsxZ23u=E+;(z-99eTjoOs zoBJ5Bjb%QM<|Ki4mLD(TJqL<@(yw8l05e2 z=OvHfmjR!*d`Rh+6LX1!P9Of(M;!D|x0*4(S#7>azsC80HqUBE$8+x|{k4HV&xap5 zXHKc##gDcTM@i)>p4xuf0(5MhT}nR-Hnl@Gb@`^dIJ=s51mOdEpUrb4?_cfUq>E+x{B`xAUNcv6E_$Q&y zy-lWubSL*)Nmp~9BK6XsHSc?9a3-+K^uW>%+=n}3u!6igU&n=eiux3si{30g>d@K? z)Vty8R%<#pn5qBZrA__>RF^-VS$_YQ);Y&gbv@F&}H+h1(k@`b<=rvANe zHyJ;v#^#s&`1U%yS9Te}lo0(}Ygp`+an5f;PC3BF27Me5cfz&1A1Pl2G^6$&DW5ye zj+9S!K$V9b>;U*g^O7qpKIX9ny3eLQzj{BP`l+)YaM4X!djVtOP2eKVnml+>J+g%o z>%{V*5Dqj~yY`>Y=div@p1-qJ8%SVJ2;G^HElYk4J5CDrYTZ}gD-U~VkPCRvyT9`e zIm;@a*ek5%-@#fwd?CSFexxaL#X{c0FNveHzptJhTas2^X>80KcP?eh|HrnC%2xp& z7WSrbh8{Mua>h}F|216GS+ko-TFb@$i0)Z0;tv4~!jsDbUE7WPb5xe>H-2ohvb_Xl ze~pQ+T-G%d99#BT;Ulv`;ZvV1yd=h3u9 z>woXn`h@z@+gIwJSGRM%r?ZxN)m!khPqdm5|7bE}NL@abQ<^kVj*M4Y`R%nfBZ=y93{^<4D~M<*$qqCBS)bG5lo@yZ?F-?YRtTiOoB#Cd! z7_8(9^S_F#n*SCbBNhEbNyW#!?H-HnI@V(w>bP=%hVsCXYfH1}3BFbmdnm)6<(_Oi z(fQ!O@4R>ADB)Fl?N$%3+TbZan?~;^@BN;n|vxU4Z9@@QX5ID2t%oizF^MQEM6~o&z74S~^)=2h6ok?(+k$-D4d#+%O{ePNF zJL!+1&lb|paDOf7-$-}NX*CbL(PY|4zsvnf(z)EnNH6BTiZqA&0I9oTr88ULufGp`wXHvY;IVITO$LgPF2H{Pz!m85{a@DJN&H{D?l;pLzf-;Bw9~n834Tb3^@0X88N_%XmK{um8juzW$*z z>e$o7emZz)HDfBsndqkRk^bpZY`$3n?MH|sBAR5KrKprPj7ijWN3_3*b%|1RbG@5H zT#`}DC5+4NODS(8`P`T#*i&9oe(`DX-jRIst1P}Xm9>Sbp0$O}xdY=jo2JH)S9_jZ z`Fk#X@0|nwQgi4z;J;nIg4>zwPOIhh~Js$WVXqH!_ClH~Qj`co%I*zVhPUm9JXByKwGpbC7lf zJ?$7iNSj}S$G+y_vEOvsT#bxY0WD}BukDX$kJVR@lOz|bZ#4$8?Tv3u_Dl2|?QMGSuT7?THtPm|X)+5)ZzPS?5;t=x2fM9Gm^C{Kee|< z_z)~N0LwgJmW;HaFufp%bA%g7%VA^mIwyz#!C{lNCffbi4nd(Zhm)`YPcFrsBUi#zW-j#YDXHR?l>CBi& zL$^22!sV=k4q=XtHFO3NYj&2>4#gExOrZc*30IKosUZc}MC*u4m`Wc*JFiX1mQmjw zCtVoD7cGLX5plKp;XR9nQXcgILud8Z8ZvX58Z5iXJkr?58!{_NlU&XGZztW%wT1t0 zknZ7noBtK78Zwn!;ZHPV=8?v@=JS8y*Bdg6hBjmtbJeLH>Zs#?J(n?^=_K!)xmv#d zbS6c*mg|15Hm>zt8@SrJHgj#^+RD|zHFH=)=5IqAy61d@`nY0Tzu)#wZ%$rkx`qGu z+}x1SS&k`E--J|p?Ny}U!o;^^_Wr7&dmVX#F<-ikbUoJwu1#F+l)L#GPiMC9e=Ao9 z*ETMLFOI>_b18d2Ui(NxX7^;;&-46H!_E@Q$qzRWTZ%N;u+w*q){q)@26P{9*jehN zl}^5}Qobu!O8$^i@>eJ&f0dKYR2pvB84df=x#X`2`O-P$pLTo--M(SxbmP;R^gC;v zbe@yWchZ=XE>H^IKlSL|-a4NzT?lV5iM7y9O?P?Rp9yh|<*MeY;tF$Ba+MlCwlqKO zW?h7Pzb@!U`$|hmk%2AW#|qL)t}xF{u%UA$Hi0^Ptm?y7oM+ZvUl^4eJ7+Za#J*V? ztPd?2_3NS0bRzylMzQ4P9ItrAsr0~6~ZZc;<{O3F%p?XFCMGU~Vrh@p@0{)Cr->|>=8DrWu~FCSZ$)}Br1`BCh39?diQZV5}# z%SLG}su?&;>gk;=q}IFbF2Q(@OY@=iz=)q<;+9Org7KU~!uWtyFKZbVjFRhY z7-jE%^W+0zT;t?5$TtVW*zCYqH%e=w_Y1}dJSg(?&UJ@?vrTZOz)NW3emGNc;quUM zCJume^#O2h&4Tm#{cx^61e~iKI2%W8vS56AXCZBM_ej0*_-eC=tMg;6X7S8cvupgl zrj2Vl*I4}@cdx1A+U@vxMu`(6SztY7t(#!?hd)faO!H2yspJHg{>cPy177=_S?yg{ ztS#h#jT={d&hRW3}ZX>=&|8 zZXN$n#vi&pBm91*3jN#SDV&K%ncF5eXSO@}IajB1S6gxKJ>xZ=?bxGhhuQnTUD~_f z$y)}j^-eyOlcbzxPdUG(oI1We8rT;dWxm)^=Ii)`>V0qMwfQ|POLSj1?qPU~P4_D$ z>t)e>J$Uody}nuGe53I_<>SQf^o*0mS^4LU8|b_FLl5k`1(s}C*ZFG4EFP~|1aCcP$7R^fdfkQ%S@9H1Qs`nBwBjO_wC= zSv%oeH^uv9&h-z!174FAa~NKnrhM%^ae1--mgPIWF^5&AY*3ZSRK}kQT4f(kxq&$U zW61f3ie((RCG)IRuFhStd3?TN8M7z22w6z6jIB7o$gh=73}F^6r}&v4$~`fJH(71B zZIl)a!IWj&#~#W!Yk5`A?xpPk#oVN<5~nP9))eYZn+Z!gIoE@ArTXsgQI_(%bGla- z&3EuP>tDd*E&nDw-uNEi@tUK+&&))waz4j*JIm1@LVmg|26os z)}^iWVDfqQ&`M9Ro;!YaSHFXg6l>R8zEa%NJ}zO!eDvC*9z46S_nv}eX3H?_BG_cy z^(yfV>C1sQeHLY`m`8SMJgaZ;H!PBT60rJHI)iPGlnn3nYg|-o+oklL`2d)0+ZW@n zEZeW~uk5qY8APSA4sdc=+7~k;Rd?M*kARO_D-OHhkWEas;Zbw<5gRgrY!tQ5qsccB z_!vGY!>;R6{#1_OUS`XDl*bxX(H3MBU+|=EW9mD#mLlEOwX=fL+qgPq*T$!Xc3zgY zWH<8Y*^ggj9dIh^fZJIIBz4!TEt)2O-RIY%V_znjmKcF~Ry<=1rq~@8OfEdi!?}al z{_e2ak-lP}9jZ@tyWhKYXg!?g*4m-y#M%o zdm>xy$vD1TIb`ZL4Nvtu>_=R&^C zr>^VA=3D1V6_A(nS2G1+ofXPikd$ldnM*pWgBNy(ALblWp1bpM7(YbUexUxfWGL#a z_T*8#C~qFo)a_OtokL~M?}wt3mE_iuOKmaY=88I;x4GlOIZT z{X~5Yt<4K!A2D^zG03RUd{v0^U4nI;;qY-*939b%tt&G>!GB6j!LCx;3*R|FXXY#^ ze4x}$dk$jGEnA6?Kpu6~R}tUA@fFAo-`puX_C9>Ty!mtazC7CM)FoS ze}YbrKf&>o@3uj4szc=UnF#HRrk|s4^P!cSg){Jltn!Tf*q`S4_sfdX?Zjq!pln7u z=`)>*gSL6t=B{mxYx+b(@E+!2XwMm^I(tvCgk0Qe4%9wK;Zgn&;yu>`w>M9=JRm;^ z}R!9C}M8IpRdxg55ik>Y6!ZEjCx3g)*nBoW9SE z@m;bd6H4GGn~=`4Iy3M1hckuI>7Bu_{5q#~axO*}bg)`+lCJ-i?5?XFo2G0;)3CcX zbQYOZ*Av9-4kb7%FU&dB*k6@jbhE(u#&Eu29=u$6WP??{0Xys+j_q*yC_nLxfAjgJ z#69AD(Q<2zw-o&&2b+M8dU8za35_2^OjY>=)DBsinSuX+`sIB3r562H@w<#!+9`f` zt@PpO(oSN7WpWuC@Oz7QDVChzzWSn)-s$c^@se_)PH&OpZnhGI}csgJ9+Dzyx*Yjl-Hg&h{;8JE1_@S z@FktT;Wu^GP0%{c67ahWx~Kl5^dk=ew{%3C&Mvd!RO#&4U|jgrI(BuxXv7y^(JlI5 zekEPPnulof@~+v)SMDBg}H{*!?S(NBE#J)wwqRvaY zd}Sf-m-JNuFLud|@*mSWvm4V~d*|J_5-zT~_9E-?+&wes_lghe$@iiYw{^$+Z#7Y_ zzu>=c_shtdA80j?|GLSnJ+sw(@%bjRi1aG%Ye+|MKZdlqiWo5bpHF&8N0Zt1{#KKI zuF2d_ddIKugYd-A$VsrrKVs2HS8~s&UabxJ7{|Z+`>5W3a2_|ZHG6JS=}lk8R)ZX` zvn=aFq+#-@|B0lhNFoDky*8Y+n-G6f;+)02NR>k?ts)qf|OfpGrr&&g9f zxCOu`eZ39XT>ts8?Z#~Q)`4+ByluMD)246n-BX@6t#}XG^vB=+Yi&BiY156KHeLHm zW8S!Lz-FU!)1&5=SJf9eDR3OW)!HLa0ABxe$_bn!ZQFyH+sbe{>lx$le#!cxDbD8X zVt+wd{&3a+;6w7o3x-6KN!BVAdwba~^@;ZILX)h8$uB=KYCPvGDt`E*tcgpml%A!t zO*PKKJRbtRSCX2@w9YD0*16Ja=My&~#<@lbou$q`h7ddvyGkYg^%h+)_9VM}>HFBH zLW#~r%wxzg-Br+yEsGKpJVd$lw~4kh?-8#wv={s5oxAjZKL5jvLB$_Ot|C5}<}H)7&)2M^{BWo>a{+ZJrhw>I zu#E$*8lH_sK2yv|;r|49srCzKpN9BVC@lJ();X5%Su5?VOcrNyB9YDtrNCEC%A5*5 zbp9l;I{26@xDvn>Lmo@mXN2l}MU(t_rV?Ilo%cf?%;O!gLhk`dmzAgCW$-lx7>+Q_CIp{8J(5o58e-%B`js2v5B^E@ z6_`*be8*bXsl)G2_zqxa)S9E_`byFHw3eMZUlm8EBE?P2C#J3D3B_jhS@O$l_>Fy@ zv*zKSY_<0t&n15;HUNDqU0UCo1o~0}`6eF09|YQqtmqDss*lt^B}Vc+G!LzAd4Mq< z6))4-9j0g3ENCJMjdKQ*XbpL(OLQoHr*jiTFQ29E&CGk8$7IP#%;V{T#8W#(YiipV z^DHz>+(^Fp`I*=vkI*+y0>h%K?Xfk}2&d8XDYUB-U9A#%eZ$Me_)*)>F(HYsF^*m-e)3EGf22m2dUCbUtOzj1Z?N*wkGaVvI+KH3bX{S<9*>ullY^^Az7`Zp!eT_TA}z z7yoPV8%#_hhB>}Q3H*#=e%4`q_nH!}nHc=5r?;AQ{GXb8ues;cRujv)*Hn^jn>gUR z?TyQmn}Gj-b6*Uap>NJq9{^7Wb-A&5L?@z+@yE*NeH*Y?aY>8xOf-JJ)raOIOiDn(t{bJX2D z^UhIUnfcz#QOgC_QO;3c6%34hcaHk9bMMYShnk}rDgQ`(a0z*iW{$dneE-{X)Y6mQ z{Tvn4*n|)Kt8>(N+WT(jsGmM_^mEkl@YN&rO&Kr@Hb)J6>FDODmB8hlqrS=gLHsMK z`Is{@dFReizZhfBQOijG-E-6*??3z;^)bOqpB`?G`sMo%Jx5LDJ9m!y2>&%l?Kp*) zG_T+{oNhApdx@p+cB`p+tJU1U6|bOa%t!p6|4ysfQ{HOoc~?&w=E}Ac*P}y>MK+O) zrE^IHAM$Z#b5tAX6K2`UTRM#A<49Ns`%;8-2&qk4jbPh#HtS<9PPQiW{ z1Y;%jR(k5)^|34%ncEz`QWhX@z?1irz-YAxy~PKdYF9Znhj}5+xkmoi9>N&ud@j}1 zQO0>QMFaSFc96Q(k$0UZ@A;m(RL|a%Qt1lns-><4PWcJGNqD|_D7$<|cat1DkG%6d zc_%yg25$P2bCc*#OYYiW^IF+&eT)l(4Moq-=J{6nZ8&lL8mqPDZTGF(N^F&k-&6jr zgTT^xEH=c#0lbtru#AZ`akir^|NVqDD{uMh`DVT6o39R1ev-UNPu@4Mt=a2-vS)W# z?ffp~hoKXblI*T?OXyGfv?`?-^2n>C*yuAmzH8gU$&0P2DRb`l{B%5cPFgydd;q@2 zcd~`w7|h*o3$G$y_3`+ara1dBa#LqGsx=4BPoTWKSfn#T>Ps%~o=%#>IR>(=fx{^g z;E~PD)#DzcZt2Q}j;_$Y2ps@_PMu?0!#9$pBc%DERM&Li6YnZbwq~w;+CIy+hG+Sy zU+j#aC#Y?80dx(%@rNZ>uG#rIyiKx&JC9a-bTl9Gv+%G17(VjB!rsy`N!A|FGkNy4 zzWm-Xsn$#=+=L$?dOY=)(-uFr%}|oIq1X9MBeuS#?oa^W^tsBF%&)aqy;qD?WO(bnYzyxDa12~VmUri|{wg1k2)M0D2*1Q0k&QGyo%JQz zT`!kyVzt_P4EWG{*$F@0woHD?5VV4#T&E*FX1<0>8&)u%mYW13q0z-uDU**qpn=z7}jP zbDX%}Ew2i1vK!=@`d5oB+_hM^RX^Ie<&0_zxAhKgTP(Yc`~KcZg}pP-!TpUt>K|Lw z+Nbl^#Cv47iCBAr=2&qq{PK0-ISK=DvP@4EzNS^4GYM~-$$AgZDm>3dG6sWXW7unE z>5`d^9h|uvVJ!xIvmO7i<3FVMG2jP!`tU2GdaHlXoLOlYkKnI5bX;b2B!qncpF;fC zec`1e{NW{|#>5ldI*ZPPR%FITbWUdCJ;QG_)YPr|C3oh;QeCTq6FS$Khj&$SKGQmr z+O>%o8Jn&$xk6aRmn`AGxOTPf4_QawoAqL-2t8djvR>hVeW4IGbl$c1zwr?&MXzY@X@eBcL{$ zU}w6S^S3k~wUFM!H5Qsn5wF@>ONY*@hiJV7`EN*FW(xk1kN+3Cz&MlE`F{b{w6!*? zxmUPfjGrm`ZAPi=LW}WDv1kPzH5jj}j`e4~S`tUwj_WXCCpGVbuIEP4H$X;JMrk(wjC$Lxbr|eZFUE93ceChEfGl%~t z^Q@Azfcw`b5WnCt;uny9m**=<=W-t-J&t=r`m0T>7lm5QqdZTMexCb)SS zP?`%$xvm4xvX@FfC_x4~30l$|&AGUi98u0U!=Tx*__z?~L+5m5CQz2_3o5TXzM1`4 z_@;2lN99VWl?wlq->X;{ zL#WRWU8}9vpT~L|G$?swxD~s+Ha*-d-z9su___FrO@HrB{&MXld6eU|>5InI-b&i0 zInx~n*|r(s_(bw(ox{zeImbIz)SqQ4hqce$H$S#(QIK^@t_rSp)*@YhPxY_LXc^b8 znEqq@@V2_44`uR@*#w^}S2B)z>yR<@Tx(bIU3B-!jDfCX>uA>+t;$2kO2zEhyw`t5 zcDPpJF}1>*SO*FrYk)V=k#}v2ciqyFmY$Sv`4cG5k>>e8OznS<&IC|@LK}TuTGM2o zH?)z)w?$_^+h^|DzKO*3^2mtGU)6jgo4fEN_-z@{_UGg5%FLbMP;)eK1xPP*WIubZ za%I0-=BrxId{sJQZ|`)TP4_%&#$G306N&_Sw|rfGE0?E_p-k6@Rd8g-&B>u0_dPNa zG;90RAa9oKVeIVj#2Hvj`O+KwA?)bl2M*VU?v_kvA%)YmG1G5HpI^8MOVem4BsF+*okru0*lTNz5?`?bVsgU&$G z{@i-Tu;$JM&Ur_55bgSNKfFtg7i4<4e76bz`QejVD2c<7>_Wvf*1lka=SYb;S7eG&#o;t8?fvDVz8eJU2;O4z(h{?6}~r)*)ZO>&#$^lY9I02bis z*#Q4=;Wog%$#cKNf-luIiq0q`-nlPb0A2WE z>vzgOUGs+@dAQ!^r{AVY_fMZd|Cj{hguV$RbJ_0Q~8tR2{^7_BFctW)km`zBX(=0QW^8zyo~X3w{@e~dlI4zDq>EN!Cyy;Hg<`|&gWhz}WTiK9af>^&$3cWSHV9hGg*JA=o5&mpG3hKpBZHgQQ- zYag~Evo|l5?!0J4<`u48T)Vm6;My~EMaJ;{^`ZE@l0U!|b5(HFa?RnI$94PW zcY0&P?##sae>8Kq#qWl#$SmM;Wt7dsTFr`eP3G+HH<{>|3DE(EX+V2e{n!_^C(Z z3;%xUv?Gxl%Tla)4~eQA_bg$@KjHaeYpwT6)q~!p?}&+znPwVZ&EvaQ;pMiCVfp`I z?|i_cs?Pj>CYg|7h%jK#7*ib;Yf7VzN|hq514gAvbwCt!sU0nKSxYrqYN=&)zyOg= zYJi|XLmeyIT1zdqsMOUqD*mZUTUxDJYulL&(_msE?OLm?$nWz#_g-={CIOY*-?Pu} zm*=_9&D?wL`SZT-dCz;^e}{Lxci$;?Kz+)>?+24Ze(S#XuM=KBW8Y~qALptcw%$C< zwY6-$nR;2TzmxKO$hY0gDY{WHq_O%;gtJ)wK^&Y(GXCYOtbhDw-szlla(QH?G9M;Y z@_+dDZj-FAFX_(r;Rv(M&bY>l_NQ?ep>EK z_(mW-slDYy+Dj>SeLZV0a$}4=2zvnWxd8LLk?(CA^dYi5(4$;h&BVRJd$NJ$rUyPg zR=(Jc)E`W?<<0UG`Is)vz6MOjQioz>13DAjcP_5hVEH3@=iRf{gZ62`re|RTLMcn4UD~!SchiDtMj297%u5n|3We8OV-$Sz8tBXCXJuc8 z&wDY;;IgtX$KdI-@4YWnG zLGCqNr}NBk@42hV{FLV#O7Rcn{{`H4op<~z6`R<5#?#rY?3rdEgA@}NC0G*cxxD@| z#VB2rJs!AkPGPf2>in-;GxFox*nCG`XX}RQRwF+|JyRM zjVxk3vJ15?lpXNhb-aG|zU!!S>j;2r*}m3YOZ-{_d6#~_0G;mow?}rCGVWK0tT!)x zt1sWSXVRuQ`)c@hY&fD@o7X4#)BEwJ2x62FTl2)YDdZAAHBj!$ti!C`PCleh}gP!{V1_ zdB*xalRHs4{A9lY_+H=!@3}$@WovtkrH5-)b)(B>i8}F~WR9xG!;I zf;FaRM>=B@y&a7&yPoO)uloMqdp{f&y(pP6MnsAT+|-q={D!=Z%s6wC|S{@W12H<43ZpZDzN{}A13k8zQe z2gJiPx8}I>LUq*gf9^cW@h$WMowl%#yWQ^HF8)TSYmRi$j9+zVO;H@8KX&u5>Y-h; zTwc0n_;Z%F4SiJ{r}#NChvnOUr(YgV63?0k|C+A8u*bkxvR~xG?8e1Ac+x zS+iG4#!o26SZM2r=j{A)zD3_R^^u*wF2$!9_~`$$L#A_Bnz>p;UcPUVmyf$AZ;e9+ zkj|#u9mk9SvU_5EzW!e6iZ0D2h`W(Jt&A9L^lH`yf`6vf3)YZxs%Ew0>nFd=P%>rD z2iJM(jI(o|%}Is7Ap7 zC8bZ9p5wf6V4!{6%2)Kg?1v%jFKo^n+a7U2!k^-bgv-{muu$}+hC3V_hNA4lnB(GU#Qq{L#@mOu z&&nxNl;nNl`5klETX2>)@vlz)_do((5&LyVN&JP5Ao-=pYhPJH8RkeFF-7h>-hQhT(a{ve#%{*<`StWRu$_tD?% z_#7~F`s2*OKonUo_IyWC{I`4iGlVjNv0^-mkn6;^_}!_toqj2%_iWp*FVfzN*Rf90 zH^Jvfw_i5jL5zMG^~;`_?Z7E^Ch~*xOmIRLqhHVOxN>j5d~k|xci}YM!YR}TP8a&% zl%PLx+n<^ACt#*z=B^~SCvneOziphcY0c8NN(-x~+IMj0!K&DOCRi24c%OWB$JOi$ z99Ugw`BfkZ?@#=?qiQny{Wvm0{5fEDk2Z^z5nD{{6vzr`O}Jnb1N<>(I;|LE!6 ztKl1dy?c<~6Ym&iW9Xb1>V5MQlU`?e=vHEmygk|LUs`8w#0C@#tT$)Ci>tVY*Q1j& zoRNkt=m_jU+n!r*+PKQzX*Iicx0)3H&*xge|9|;$lUe*9*qr!1mFrY&L=*X4^&9eB za&3HZy-9N!a+p4SB=Quv(AiFsH_X^(d(NgAo9b4+dgXKVWLBFiGzl#>v+g37uwG`T z1mI7|CYn=y<&l&lkHq1V?4b+gk)Y&}*v&;Xu~c7q1iq)bJb6U8k01}3@LJoyfn*Wr zbj8+#dSwyC7KnBg`?c%5M|R#j!jUn&HBI|k<@=WHA`oXhS8FZ1IQuEui!EY4amHiK zo#^3dTk^N`1W}jf4EcZsE7_foBraTX(UFy@?w`3bAoJv<+B)>mKKWWQkm#$bR_D4q za<_jS=l@DiPFjOsQ4KQM)PBA%<9qMOd zkgTY9lQ?ofD6uY|WY4ViADO0dm#f!&)zxd>K|j3rh5gv(mVMeSdl>zgMO`0x!jUadxC!&2z#GJcP)T;F}zx$C>j@jIGSIj*N-!usw*#;#}I za!OC-rR%#VkNp_u3UKxSv|3bI)bq4UtAUg`GhixmnrFg6Nt8Nc#9Px=kxAzayczp$ z`!Ajkcg5jv8l%zkRC=Vo6Wxl32|k>~QK|D(^qjS{Qs?(d52P5~>sONkPs#XdCO~Q$_}uCOZP(b;Pi9_~~qKo#vJdKA8^Bf)1qXk#1)WbkgF{ z2)Oj}BfrYIA=}73sj+-KNt`qNj3hOl|DH2LB}bM(J3)MoT)MC^C_h=Srwd(R=gY|V zFZ<;CL!goEJlpPjcH5z{pQf|-@s0Wk-G+nlCGDP`(vvao=DWLn-xX7r;zJvK&u*r! zD)^Q5?Du|gPuEs(jSf23wPuK|Tk%2u{55HCDY}!+u!KHH$NUZSkji_Zxvq8Lh1;6U z!*8{k<*Uix&3z)*c|417f2XC%e3UElw^sAUN_-;TXf^k6-^BfotJq&~FXY8Bc!c(P zR?ihj22M$qaB|mt7CAo%zMOdWUR~FG_6+lVXH0LMJg}}SLD___>?eVVVCm_)&Q=@H zh4fvrC&-py()V|iGtcFB5=M_VCMwx{dTz37SCEYU33Om@&qrQ~GcTIa<>O<@yy%R{ zUXn&HkG^FmMFu!#d7$vyb|WS>OO)=)FF%f@rl{u{tyqdWI(tQqr9_7?1)yH;U9+`6dALAr}&y|qM^v`u8-L=!DyfRJe!Bw>iI9pqJL*D$k#L8 zZpcp-R16<=+%G&bKfJi{`+%M7ex6U=_vxRBug)*3Ta=MrXAJzV^jq~A`FF@SG-}>L zcfF#!cZau*$YR&LVBbaq8ifLK&hyr5cbs~y#ua_daFb&|UmInmY|rC#zYg~-QD z&ZxZn4cPZvf2HsziM6t{>d-dhW>2m>2Tkp}tiJ8H`620acHZTj-|oUude$>^9t8Mc zUWbLh(&_ck=>2;_DF|V*c3r3v%Mww{`Yi?^jk!`EvKAoj$I;9sp-rAI*Z|GfZa!y^P=Cs}4pwHmj z>{RA@;aZ%7pFjQAR&(2mCezA2&UGZuo^Nh45Ay74?kC=jKiXef%~QAHkH-CmuX85E z)9cNwKew9MTwmaKjQbHy>}%w&;pSh`USlfuW$jHQ=Ux5LzUw+!n{6&8$@j{~6(GT(#1(fZq?JM6W?YMyC+3}lA|zTsU{ z9@$y`sZeL(TB_&6dH#O-{m=hH{a$%)|NU;{`Ci>@BAvB--K_3#)@w({E;^N-(>a6W zLhEBMyl5Y2A`f;b4}xgc<`zyau`x29jr>H$r~GipC)OWlzSf4iW!OEJbd*59T8nml z`jMS`kViZjqE@m)8Xn8s7jFotodo(J)(XwBYS!>ETs2&hX-}n%V(fzOg8b)?7-IE@ zKa8|xw4N*1!S6e<`N89~zM@OZpm)kiU$e>lDtje4qO?b4URKIKubR2y#7s<=PvF?< zT1OwF{y*{X?k<(Ve%WrznMvq9>NDzRc|^7?)2aG4k=M$rtH|90dvOzd$NXIsp>LxV zOCUX}_8zKF-^l+(`5#Qe=F7>+2PTk|jT(JMRPoB>(xg4LnSLYIdOqV-sLANYo6Z8mQ7l@agQb$%#yR>Pz6{4T~XvWEN!Bm1%I2rRhvoXa~wR8PoX+KEMLQAQd{#iDRN3tpZ4s(pzd9)MfzX;3DB3H@ysOg zLrI*Ce&Da*Fp+y3J{5>w30x1)mqZt5YKVUbL>8-l=w(u-Jg)elnK{KpRdK0L=&{@7 zYvI9RGkqfe7WhTC<*tJP=%Na`z!%oa9MXN8c$<~I6fa**JjK7$pHlj#Jy=OJoxPLa zUMxNE4*O&2;REHggBYQ^JgEgc(%i>y{I|?9Jz|{X)*YLJ9~u>9}vHh>V#r$4ot3Q&ju~|SL>n1 zReltBZgbXa`Dz3bi*jYb#+}&t+pF8y`$6Z!&8nRm-*C>Yh=3cxVq+EYK)^wCfD952 zkn=+Op@3<_KSAsLg;vHRPO80#`7b!0!ulflUgKe&^37|8)*Km9Y{M)Tdpp?vTA;&55}>EKZ7r&p$?pp5*APo|8g@4FfQmd00G%`aFhr?6*A zbhVnPv)7pvgyZ+sb@(iKV-nB;*pWBk8!@% z(#Ylx`6ODI3SWP%Y4YV2JT*^atV#Ef>u7JAv}1X8TYL-=l5(GgimMmku#*%>EExShO#xjvUeRUz0Pg4Spi3mRD0rq(j|!pO5Qw(_PqD-E9lgbYb9rHqpWmE zUfE@|mzcI1|AOB7Hc@7iugqJYbaYMXPhowHlx_5t{gUcK29^HgG5T79zUc=1e}uUAPITJ?R>?Z84Zv!kO^e8W~>nFlN^ocD$Gr74^Cm5o_gv{;|c zo9Jf%Sd;(Xl8z>*s3vptAkp zL-vpwU)d4#LAuC=7oe9|7w++oO*W8_uk1~OjBN*cBKhZdeRyk>@a&9j3S;y3Mev%J zG*01qu(1xLXJo#S$wl^g^drn^`O?S-Kt9Z0sptHwj#e}FX7&QyOZolkpIXgBi}6?H z{vgj=xnITaI`04Ao+0w--bMHeaQ_~^o4H@c?>XF$<98YNmr|75(Q1CFa@-g5yMeoB zpRZ-?;t3JScy^A-MvNSVpR)Lpe{T;fX1-AtyS?N>Z;$Uin{g37bMDz8+PgHn{73a$ zpSeVR<`eh=c={3PF-7x^e@K013chkl^xK|qMZ9v;`I;|}x@SvXY|Oc55X+@JwDPlq zcV{Na*N)#_nNL$j{V_>mmF44}5RaRd)qc_b&wfxgT|N5;vXja#aDCxz8NQQWx0Aom zDP#T1>csz@+?}G^LfvJ@C!||=w@pKQX$vsk;-jz2p)c&hxucPZJpTv5pEX(W$oDA5 z)vgiIOl|>k*SsjX&7$lv_&>#^KHp>a?sguBb^ffLT}iyg7JMEa#z#-SgaKseE%?r* zSZg((kp24LlR4f;SED>S)>dTK9%HV#smaV}Z#75Xh;KZ1Z=d1$L#BQBwJ>6>^!)M! zqt}^(ulwfUH!Y0%pWE9hyWLl|0vH8j)E7zT7TowF_7>^fj=(Bta;BwKiz}YV*F`pQ zJ-7Jen|jLYw=Ki>whT1wm67gpIkUnl)8D*g@d6!SCs?;vPmdk=+;|xODtw+iy4Ja>PP|hlM+{MW12UoLL3nTE z|7NaZeKaAPg5H4;OA{U~1dQakXY$Q1O%%>?@D?t`hv8Xt9q3T-S#Zkh*)MnoOwq&i z&V4<{AOBrBCeMRrVp(+H3yIC+?x!8u!W1)Q&(4NswvO1IFN%wHtnM`|xhfbLmI?v`@$38Gko?mR1(m_Y0M{;Ptaw_Ym z_^$ZeKPJk@&v{21d*uk=QCaOPcl}7#81l1L;S1)~Q|5dB3iWvJ3hUVkO?&Olp`P*x zzHPMsqsz5ka*ncHFI((-Y3zE*+4bl)i&!rQT0<^@HcU$X+q1Gy!M`-`N|J(|&mKU# z^L=xvjXp}QQ2+gX6mLpU*1!Hvpr7JN0So8V9iClaA~2dE9Rz;2!PIE#nw33`XBBq> z?>g{By#L47-O()@acG6>qv?bFoA5x5U9fMZKlZGPg8tCAz4qS<`Vlj0c1XUHd?+}6 z-hk~0Li(|XKRk~;*qQ+tZWws2nf@4JH&TDl(_8|xWzX-jtydtWj3zA2nTTY}Bc zTU#Ej+|=`_@TOl#22&1O@XnMMZ<>|e4qWXz4Gg3!EY$fK^YocqlOO&=tND+wHJR&f zXfj{oK9>8lTw8umMDkbJ&v2i@bt?a#!E^r{2r&n?c=CBO_)Dd;e+fa~ap6)lJ|lNZ zQ2d(p>4f{><0)Ke9thKLeaJPw&82?zdl9uZSxOSK6g#uoP?~W;n$Bu7EUZ}9|b%_f8r-sl*sP? zyd8&pp5CU6o)2@&TKiqvk-S=MW%+`YM&*lAQo^2k{D_4H6i)ZlNvCE-f z`l~f^4Q1B&%KYYZr%Zoybv|Y1`^sK`?rbCV9fgc!+Pn$>o1(q(|dELeG=Zlclqx^grunD$Wj!SK(pruzn zW%|Tn)>FRTSH6L|2a5AdQa0%;TSVRRkM!z(3%_lDzsFO4ys!MVgY>(cvgN+AUFg3y zqFb5j+i$-4A>vFA>V?B+sLy*}$cvw&>~p@dFHm2t>H-%@@xhU)d@a`$uBlwIV+#l7 z+0k8^2OEJ`nsV2T9@6EVJ0lvar`~#By%Xt!_r9AwwiQ<e$}V)rDZQ`u-u1i}uh>i(M)OG6S|lo-lIBvu41T-YQi-Eqpq7c4N%R=M9_H>n{d-pHjA2YOTzUwn3+SRv3z&C)LsQ)!5o}wPsoK8c|9Qu*H zh}`DDCmUkzY>4T+$_sPJBGyvYQLU>wyHW6)UF6gud_6!NYS&xq=F*n>Mt!-@vp4YC zZKRx^f6O3<*$iI}v&$z8%+F(#jrq#{Zuq%E6ePupPeFO22UF0m=<;z+26!nRJ zh<6NOpB=`BZ1_FR-LrwAcdpCp?6>WnML2#4y^OmqZKSS^zPe5vWE>5YZSa--F6|Dx zXKasn;V^vEhM}YJ`YgIjQa9Odd~6;O{hTU8;NfJt=IZDXZ6& zJhJ)Ed%CKd*XN`3!6-i(_$xMReKN=`t_*@40WHd=ijPl&E}igzHfd>J>L65o;{wj<9%g6Mg6v3`n@;)+E;gk@)2M8Exx)n$GtoT;t8{m z>jKP;>gc0+d|NwTCTH2prM=@jfwt5yl~GxZMP)UHEtK8jEBj4fJB4Ftp=^t< zXvyDq%+RhcGv6acPwd6*(_aC%;5Aw&+#X2ZwVAm%V^*DlgZ5QH^MD-_<6&Q%&c6E6 zJJxsYRdSQP>dQ^`&x|d@vyAUq$3c#L?2mk-IwdCtlhQpodohn@#xwTuzOm1su2$-5 z_0{zpbzKcCVq=}X5c`7MIluGO>&hJP_sSCRgpb-!lGKs()$vK{ox!sizGpw7-dWT; z&aD@_VD2Q<3obQ}EUbZZG$~lmbm!6SzIn9Fokz+&;q=X!M}x0h@;i6t(M)$9Il40s zCY$k7+wAjG8$sXi=Goo8XSdS#fI&_*Pv-qRxPfvFzH)|dz4wK5r+Aw=zOpw^=SIdl z)y0wMcnW2v_{zLGUOc$}{qz{hj`5YflKNy@5x*+>$RT^>RMl%JtMlkRUhzEj4kX9E zj6d4T#K(AL6Vxj?wj4Xuy;tw)dirXun@)^@SBKiz$afok-#s!&8x558&KDBzI?ZiE zeV5;say3c@3`Wsib61`e?T@eiT%gPGhugP~(ciZy?L~ckyUo`(Xm~Fl63*mDRi1S6 zsqDh8w998#I!OKGz3NsOZw=c{x$VAkH~Q)?q=Su=-RLX(W|`)e^4btf6?O8dXspVo zB3U~cTi&kRC9=y3CKg6f^0$&>HOBAi7;+?KbdH2_eyUuYdvk6IdUI=E@}cHx936AW=QFQ$0~>fYRJSVMAYCrw5bh0fT7XzA zE1Sg}`EKh=ttP<#p}J;UR(=iYpFzHnoM+3@hU*_z`NBW;biVNACZl%s?Ad=PZ^(sK z2Np2V_EZ8t3(5o%>D)H%)Bml>+(-F`@!uWJ|1sJ-?km_)xWB~n%x_!G1=ly3aomge z9pe69++TdL)qHz?6EP*N=5~HBb8 zf7|n|=IhsyqlUZTSq#UUnb#7-@?5J4*Wpvly_DatK8ua$8p?CO zmFM%hPv-X&?x*m(g8QGYrrfVv%}kz8B!u=2b(qwl096vdpZ{&Uhzf;^l%I^sGU(W^B+h~vH zo4DV|?|SaX(612v@oZ1htyR0awW2sW$0YkBaGiK6?|zIxqh1KT1OPkt?+g1^Xa~NR{?$=d^OpJlkhMic)7g7( zh9}i&-Z^@%Pa%`YPe^MA^BtQEx=EGc{bc5FkXWJ$^tM6tvWKF_jiA#ViT-xfRW0ax z@%ODfnYgS6dd!5A(DNSCQ!X9vgv~ueRTlkinBUk7e-R2xuWowEE9<)hmlpK|u43%x z>i_!gqO0mHYy_jT9y-awr*>Ve=j?ko1l)Vc{F-`H=QY8dtcQ za*pm8x%k{If&tIrLpl%Up%VHPq%TDiKH4*+k}*se+7p;S-4mSn4tU(9@$h}b(cjlI ziP-sIn7)mz?;b+Gg`MbD z^@MnDaSN=9E;T*HR}t@WZZB@NKFfYthkg34D}cijz~OS>z}?fmSHTyikb?*uW^0iZ z95~1qr^Wha<9{<+^&B^GPgjum;bQQ)0iU_4#P|ufcQT%BM>z9Q{)al}?$2lKabjsw z2X;TQ?V8*3+mFhjdHyhv{qipWvo`2F?2XGg0H_ur#@}sm-PEN2^aQqTl-~pUtp7e9*4o zW_`zyhtOFJ>^Bymf1b~s%6a}{+Ov7jUrQ2a`#5sJXPeA9{9nWWqxipq`=-ZQ&AQ8) z%bgCDipD8n~3pU0}iZ= zojXqS(@#H-8w3X9eRY1zg@I^1f*cQw&^!0aBJ`)zgX<{jG`??F@vZdRQ|Oc9FEcY^ zOmgxNlWh0$v-W9z8wUox z{KkR7!2CvYppefbkZsC*dqBp=U)^M5rcA!|GsI7~wVDslZZgmOQu9b&UD}u5 z$cJRSE8}mwRlK)}xhx;5S=r^_DFoc=v3tj^K*z$GNe;nG1M^$+nKeIGgREA8oGm?v z@@Sf7*(9Xzy99d#e(5Rp*y*+TTH?jVOxT0IHj%^MVfkotX!c{g*K-5iY;gCUF~;fU zu~Z(OvG^EsULW3AEXS$X4yC;<@F8`_hq8WWs%OdeBC*- zL%Hoz?sovl`V9sW@r>ldl4v@+cGK>zIlM1PEF)fwoD$Hl=96M4<&Uj;*Hc$0uq5&3S3G| zA^8ZJo7xqt=Hww2j?py}d-h@a8A~@1lOg-dn!J2Bq(^*X)*;AKx8=7aygY*!**qyz z)@>qJp637UwyfyBi?T!6!vvLk}lc?PQkYWKTPb`lPf>gQyea~d8oXY z_4v9?=f~^=2p6Cay-V z%!RSvIMAvv7wX0%;9GTSvqOXw|pG>iEyrlNl9KI22KAPM6{9FSY&kx zekUchkrgEyxWHi`mRvG=JAQoQto`t!Y^QJmU3mE!WE%^lpy6il2b^o8x964LN(7 z7%<1Qr`+)d=$ALPz4{3Fl&ND+*R{Lrpoa3U`6o!GpPmDc4@nm>(VmaZ9F3%NZNnby z8P}H1tymb%{N|J35dT8Y2M}I+>C{hX9k%g}4~f=>1Xg#kd7j>zJ9%7`wyrxWGw(y3>mL1;#&7Wxfk$iaSss1CJ`;Y3|7gGd z#Ii0Y2IF@4O=0{6W1zk{O-}qpFv=bwqHz(kx;OsfK{x(F^0{Q)Wx$v?YzJ2 z>C%|I_PzaUNH9!-U*pM@j$T3e6f?fPYYDzUUc5K;(r4(@q3=rNQ+(K0_NG$VIacQn zqTSKI8Ex|npeM?CG%0wRm~v!67wj2}<#VNHE}e)j)b}BL|Fxa$mH5_KPY=x6TtdBq zgZ8r>7n1Mh0c7v#O(xCVFMEg5i`v`B)ooIgAF^(z@LQhHym4$!$`_-!;1bTA(V5Dk z3;nL3T<1*I8p$E`CVuDx)K9&dF5fh2tP z{0ET-;BDYjF__{H#|UQe7WC^gvQfb%4Zll?C$Ppuw1;3%O1W+1PuYH?l@To;iA9^) zuTHmlf&4rfT;(J~95mkHza4w_EDtdMYog?sF{2cJ?8+GHt&CxP(%D~z5=#uZJv-Gm z(T6vlKJz60?s@Vmuz1x+`=_5g@H}~%vQPWU-an*wo}BmGXv^Ehd%PU-=)0H`%##>2 zmsrJocFsMnh4*f|tR=sJdkH)kIPT@=%9SNL1l|X9&S)-rbLOWB@{azf)m(Q0c}KbL z#WlP{`mm@gKeCn}`@`!K>8#`x=~|z;_>ivp8#jv%;O8^5#KVUpm!eCZhQDhP`741u zgg!yKgiuPn%#n4}{(tbTei!DX5FN=EUG*t1*I34%q@1UF*bLl-Q_<|RC&{k^ zrc!03d$<6+%%aR^f8@kdK|_@T#^DSgGxewI9DT2J%YnW5aelRD&!qw2Ala->{#WKv z@`vam&u=n^1LGL6AE8Z6?Xx@{9oPIw*mD|^zCGRy#yP`BUu*1G9hs?+XU8ZT^OYTC z$Bf^oZ=V~8r&npsRm|Ke^rhlHY#vjwd2H&%`515=U=0?J493A1YrBoXV_)aj{gGdz z{krqz$GRT=h%c4h|6Rmdy`G$o2T&J*PG4=c$M=so(Lx51jk zyczhs4NGIZmtIG-D7}tx+q&>V##KjKtZDY_L3H-YlTvK@+VhnwOY(S8I-M zhsL14sAPY~FRjEauQs)Yt4*)W_9NHipR+z))3WRh#*SkR+CD=0L!3SANV90CAO1Ec zhSnowgK`T8_PYt4)6KbLHh0F7(URc>r*g_jPgKFZDycHJxn-7)j&g3AY@%bLoSjyu zcjP{?-!DTZ<3QYobgo7#h-ev&!77Gm~8(2^PyVG*80ls3aV^x-lUJZZ76S& zA;woZ9+V>-8v^k}iQF;B`rli}`3$La?w)nZsl+~<7$NP|#Us_9o%j-KpS=UWVyyww z>5uomkS}g^%eJ{?x6vQ`K{{qYN8=VKj$n0OXFzBk>l_I6!=3{%)MVI3WdF!MAj#ah z#D&{gWe$vHq|uw4uRMS=Y;FqqnAA#!W^Rv(uE=ZMv1iI43#p9qkSeD{8?bS71d?~s z+1IPex;9;a4_mX1-_I3A-LtXkwBFy*ks#;646dS7ef!kZu>78nv9I9F%Sve4%S*7J zZdiUH*L*JFc;511T}kkO>_aTvuzV%-E;!BS{}S4)ppCH`cawW^N&5nx%`2#H%e7Br z=Tg@^t~p$@sdFZE&Z8{yOm?nY=N#_howApx&I;8@{J`AAu>6*5pUlon9?tr8IOp{q zo*xoDD`R4lGLM1p$642r0oTdSSsaB&@}0_+@W0ABXNE4#%%ETCJ-cn*3zao0$NL0j zmvL6EWXb!Yk;ta#qa*nael;nQFvCXAvvoLm6XsA>`)&67+OH8uNZusIvd~v%enA=G z`!vd!sA11+ax)^}CYjDfkE+czo?MH~hQ2gAHmy*SxpjCMb4&ijtmD98K@xm$&F30Q zJ+r|@q|U)XnOX75!;xQEya-ZjmS!`Wvnhz!gBB-zILkfj18 z2H|Z8FrSkemjCYec6Z$puLq{YvG9JA*_xe4n;!m3qO}hGlEUA`S=QHe`d;{3$G0jM zu6317hXM^FW;K=e5^)p&t1usjjnB z7y0{yi_MomF(@uHmpojYHV7_${*E)3RQ7lm4<8ft{tk&#lb`G0SC|X-9YnU zo(~7xRF1juL2*#FA2=u;00%{h4}ybXJ{)}E0O8Ut^8{=96RG~! z^f#9EmBE$~OOMX4v+)`ymQ!m?5wk`T_8` zX+Q9I#s|P-Y!Ey?`F8Jo{O|$73%#SV@uAyyTaj#QExs%@1C4} zBK1u4@x*8WPdoxX)_wQxt|NRr(W~bt1w66J!;iZzsV+ZHR9(MUT`o`j$v$`@evf<33@xH$4;U;kd{N$OFow;4}gyw`oYKV4t3^CML%=q z3hH^&hmVSaIdcef9%WpI_~wjP&jST>=7Iuzs4oAUQC$($<>KRkeasm@K8gmx#~K$O zPanO~Y~TtV<>2G5-`W59Aw8IE{w3(9`qLMTb8!-eA9&^F_oFiyTZosm!^@U|7wzrL zkfxoXbW{F%aH6;|og@66QWKt!e)~0iZluqVK0Abt=v92_6bs#jKiy`tJv)`>uUlP~ zbN&i(G1!WmvD0qPR`EYN^8Aaw_gi>g&U5MIWeZkpO@jZWpOU_3E$6?@sXH89fb=Z~ zE?zBRh}%IAw!v*j=Lyb9&<^mDel$iO4wRpw+8P&c>eJq*ITv6WC562Cnr4mTs!lcK<4MMfTsozW*m#~@ zw*;RhWD&`q^N}m3qSM@rJ}JnY_Vh?YTv_FTbQ?LG)&qOT&X2yRGUMt-Uv_n)=A*<= z_{tROQn$F}H@oG(if$)Co6=1!0KbxZOOn##rgP((7q!o&k58g^n#X;P{!dG;wZ2?d zSJl8eru}7{aadkn=jcNkkZYNXovlZ%G%w#oZXog#Ngr8cmbF`*B;%F+MC+jRR}-Ou zx4yl*Yq?p5|CaKwAXB5W+f>(P>u+T~$<89ZYjTva>#y`wqW!t_UHN!}v9mIdC-Egj zw}tQCI?2sDs8egT)Vuqe%zn_oSAlawKlq;?Yii#B{#C#5pW(bg;dC(kOSdWf%^3v$ ze}Bu71D>l|Y33ci(s=luS%B~NtE0XhSj=Z`dF#zW=B4!5z4?FF=QmPjU$n48<=j}87JfatK-b`-gG>0{lh>phkPYEYXh6Ci=?1j#J(Mwfx`rQKyEU71 z&km5SM!9VS_iZlE==g~2_3{I8V+B|z+%Z-vw~fl)?Uub9J&nrFvVJ28@~W(W&)Ks8 zD;wOh%5kGU{Hm~Cm(Q_3uAJkRRgN2#J&$^4QLm*_=H?j6N}pb56jzbX71FBcSoF%C z*zzrpUPl3&LV6tn-%3CaThp!P#r>e$|NQp?x{W)0OLW`%S>Wu>4f#<>hPeNlJzaIY z)Bk!G00*0RwlA8-kI&Nd4`^>7o^}>A9Z#$$1{Xiv!&aI#TpnHDsqcJzOy%A$ZD(%Y zH{HHKnStn5x_j}kF)rPDI$pmW?0bCg(XDj5qFe1fM7PrIiVpsTF-a!z^u-TByTA!w zxYhZIadNdMHAWk!2I^HPR$~Egup2O*-rG zYbx)fW4(XBbbP{o(DAX9nE_tJf5mgfe`WWu_Csh`bbMX;!0Yf^i~C=P9huG1NBP%b z`N};o&Rv5UC+o81Y2t696VXKBI_%L#JunjPUZzbyZD<`X0fzGrS!p)iv~PLrHefu^ zTCBWm-denPKk!W7ES?t)g6BiQv+Ro=j;}Ak@%zQ^1HfTl>+AO^Q;1*LRQ&k;`@sX_ zcToX;Q>o?co*ci+&i!}eSZmb6B(f{G6izk2hty5VJe5dgo@&CcD^rhar)05 zPT>!dkC(VOeYM4UF^-HKmyBKCF8i?d?&6iQyO&1O*`t8zEe88=Kk~JBpXROj z-$DC%mTP z+<83VUpa4XU%Vgr#L~|~(ZB%vvr*6wdWO!aBUhTX+sNyE3OZHpH=az6257Gsnx5y< zkheE`zkFgNaM>51xQjA{d_p!SKmF_)H87v}3g7p)*WYCG@9mp@8p*S#`Pty+>njc0cqZd3opRR-^09^Y%?gd%iU=9X&j(myWvT z?VFA~8KRRq2co0Y8@o9d%yjM=-phObpz=N$;{DRi5&Ji-L6GTnRlA!Tj`UPFI+ydl(k57uwxZ;z!f}qU^*B|9a@k6 zbpSe0{ZEqzuO#NIN6!r3_kJI_-tv>VgV4b{e|6R)oXk33En8`3ujD+k6Y=Hde#8mz z6z&J}`^6Ql=E>uGdCY|_tsIDTYNg<2_gx3(jGcY)tm|p7kY~v*=cm2LM-I%h&K-dE zYRIeCAMI()TjN{vLgd~P&kEY|oV|VQJ6+!U!ZmLPdErzxLykDDkJHi5HB;Bzqe9kq zPBdI(nmhW)!O*O?{`uEEk6t~#RZ&2%TK7b+HQ-uT-8lo(tGE9B>dt}r);RSYx>f%l z`NF>WmZzV3m^ugIThpP}DRFf1(2ML<-kSFVedFU@DkJ`-a_>hU*?rT#*S;N;DWoIW z4*hg=5_F_Jaf!Rf9%uVy&uiiwLe}x{N)sU;pI}r*Za(372J~RdxzFDwPn@1Viyq^I zhsY&^9PI7qV{U!S^-95G{;lL!s^Q#o?q`3L{7T%<^E-pw zl}FE;AA9{k;mrZ#`hmiOJv#R2_DN`2GFu_-{tIpTd96pg^S=(=a%JrKbN$Qy9_=1I z2<>hlFP%rb!}o)By*2lsL1_1`*PS(YZfWnD8z`XL_q*m!+7Egi-w(aYw(6(XB@u`3 z*?jTf+>h@vzL$@PhiAn&Yyr=TZxDXxlk396Z`ifZJOqBVci$T8-Mf4GNDtRqd-sL! z?i>5Z_pC}KO8aan*pH-lY*Q`(#;dup@~VCFDsQj1f;tD{RmXwv zF)8v@B;Z#`{Ii*7+V^=pYq7rd@hp`U{#D-3v-GWe!1ew9_<{cfSnX>Kyq_|%+e&{U z-HrH|?77nA$d+3S9ZckzWTIktmtugtGkzI6`oum_ zhuR1)AKx<`I#t|P2pC`U=AKHy9(db0@u}>$WQUMHJ!|ko^3j*w`U}9RFlS-9c%>=7 zg}iegZZbO?TFvug$l=F*3Rg0)(mc1c)#Q#L&mZ^OjwUbH68gpe)q7T$;z{Hq_LUCfIlgN$DiqAy9o^oT~gjb8d6tO?`Rxbjs zI(4S+L|=ZUO~<%#C~?h?zPXTOhbX6fxv%_3&|3))LH6Tu@U8gj>!%#jrSn7Dg6lau ziZeuPoXs@ZB*zkm)vj~!O!Fe}K|EE8c&)f%ww#yJB#h97*q!{W4WMNq8uyO0LkMH@7CFtjJ>mzvqnlS3`MWd6*MloMR!OY5&I1LhRuH;j4Wx_ zx5}NNb23$jc(fM>#{c#k_*b8N`S2WUCgfDmw-M)D%_7@&3vDlXC1}Uwv>#*~Fgf^{ z!%vxGZa?btNAK-Ny{{ij+bK^UoPN``El-<$`XIVgpZ$H%{Lq<}UR#RI)|hF$&$q~) ze7m&Iw+`&q)Bk$tPxatqvfar);N|g%6OU`anau}?UX*r#Hn}qL3 z-cU{)$&gR@e2kA`Z!W&0y^a@8_VPm3JjP^_@Ida88O1+T-bnbe>my*F)LS~{Fn`Q z#rh7Re;X9@9mU?sIKK8x$tO!~9*~2eAN5gZA`5P+`^k;et2K;1Fe%{Oj_q7)7BRb= zue+rEr?jne+;ryj)H=te5x~F1)M*UV$z8rB;`j13xtunKVC#a8s8{D5J=NiTe;e-> zewlMvx!(Q~xoPKfarfqLQJj9$PvsRkh5l4q9=q=x&{g|cF0!BHf=R_}UYyfhRn8yD z5XxnwIs0B?rIjZ|agF~8eJSsTx0c#7?^296E#5R8e=pX6Bx^*1JPa$=btp#|^j~=_ z_!eGEfprzM@Ci$Em+0K=a5-lMD9>0$^WL+>2AwY<#i_IYkpG8qIqQ$`qBLTJ{)ti2N0U&G3d4 z=RHC%rSW)%J|aIq*Kx!8-RQ}G(^1#_+MnQc+3WdTXI}dgbeFYj8L_@0;!l-VgS@2h zto3%D%Lcvk1$3qG3h@xix;ZBuztD1*hxGd2ENS1yIBh@SZQ|)VU%dp`SY_bp4+%c1 z>oJuRuOSbFM?Vt<*EDNKDxKv#pS)mN#eEEysY7;w$Cip;CzX%rV#PgA5DsLI^Z0Z# z^=dsB0{^7F&bP_KC_7#N9xHsH zVvY~GUIi%c@sWY{Qx9LwS;y>mAK==`weyRuCeA&`{ao%#xn7*d|3k^U&ohr7Y26N_ zm}AZ9?5Y=rbXB?e4g}|F`)OYO zLPs`NJ<5q7USwkAp=)Ih)M-v57c=f)ydFMuaaQ^BG&c-+LzO#J=L>mb4$_WCvwU|j z{G&2W&Kt>q;uRsg7ZuM+XFv4aVb-r`q}n0(kG?Z?x8x_8Ti{uy@)g$k0Of5iN4J;uGv?$nij6~7h27jN08$$IR2HYP0T-F9ZI5W zNYn2WIn(HW5T0KYcl<4sf9tY0#7~t2j`e{46w_w}@6M3RQ=t{hQ>CL3PhDh|>=fKW z=83)VDvPZ{#uF^rpG1}`wxHe0wD9#4|54smRmU^dXZTA_@|on^pMI4!rCIP4-fqc{ zarYXAc8>yfW#;#`KPSaJn{V?6d_P1vIvLCT-w^CGIq{+)f%*=O ztD13z)UTAs4L2PGVO<~4;SSe{h7|bgr7zh=T%RIg-Z){k(YB? zJ@BC}-#4NkTYufMcAaC4OgKR~bc&qwEG7gQYw=NwGk4O@gjtTSK6(-CPQesBk@ZXT z7DNvlT9N7~Q@{9Mx!uYl%jt*8q%zXK1j&gb*oM%tczEA7w|746503MH?H|Y9y7@tI z{J`HG9DDwe9*)oU;TW9m3?*(M-}f!#-MJ-S&Q+n``@r+Ze0V;+A3Wd7*xoCiD|~qV zriD#Q2RTYU5T1`40M8X40MB0ju0R|b*4#xlf)_0hnp-(Lw7Da&E0sYeFjKf@bJcON z4>A$x#UxheUpRAE*9n~adIGtSq=QgCt~&Ub_SBmrTP-j1o;&&#XU{1ejmmoZju3O_ zN$P^PvS;D^9rno5B}zuvzD{$`(LstY6xOGDcEwhjnitm6(c@n^Xp`n6-)6YCp?fyX zuV`N+UD9Lb<_vnn(PeEb59M6fteNu2&MNdj9zT0OdxY$Q|9g9cYk`e_kMKo)@9!Sr zkI%igJ;LLRbAR>-KUTT_hCRYE>V2fBye_1liZwzxL6y{=d3M zSaU_IS>Cs z>=9o6OaC}NP$|E>Q$!Y6z_eW{YH70Ny)a>WbH!1 zH2V|wK3|EFLo%kE?C2}FbZ(gPFzIaeAonlx-FWPR(p?7v*cI&irNq9V6X(p1A#v$~ zm*(Fop&ov#zKHn_d3@QYHc+nY`#EEvuJwFp&kCXaaVhji=s%?E__Bp>CKn7ebd)8q zWu%s}#|!3=$8)y-hj3nLoN+Q9*=!B^PT31anq{vDHX8&deml8Mr^#l&PBydS(CbR? zqVbI+rZ*8^+Fk`*L@Xh*afD3x%WH^zsxW$$v%=c zrB@078};i17dD3R2LnsdyEwMKk6V4v+WZsWADUY=&B#8ItGbiC!qehbHx!yA-Ovoh zUUKF@3o*IWTlXw|vNoeB*V{VCIg<}eT8ci2ob*v(?zUskaHDSlnAEv z2E3f-#TH%~7kQT>w@Ci%td4TllDVZl0IcMD5KQ*far)sFN?|{VOa7Ua1Lxsj8aOBF zbw)<66k96wQ=jt7I(oxb=c~?3Y#wpLIEE&f57vh2*sw%LvgP#Ju$HzTPCtbAA&lcS z?5D!J{^$G)i+BAG3|zb~CGT>5p5N#j=!0ye=-FgXd&%lUm6Nu9uRhEhi~Orh-OBtE zUmThXq@bJ2r%(=hPrRVB<$#ZkR|~H?$`F^ktlb*ce5y2H*Mrk~bkHBjFS3YL`M@J0}S8Cn{qv`A& zw>kU|TUEFmy^Q)H{b5;b4dpf8r8jM8mwhQr`S!nRt&}c#rfgxTV{gw_aoz(y#hp=} zkFheO&25YAN#&MhqP!o*d-X}SjR<=62s&E9FIu!{=ValK^O0%{_M>Pz_gUc(I@Nof z`4Qv_ap`-LkR2O48siG2@n^yQ1ij%?v8-LN(D(nQ@0)>*YZKhujD4wDHo;rkO|!#a zg4{KJ)vH_pV}S#@c5H2KI}!Pk{H#NLEr%yX%v0F79KCNT8Gj(q%)HVV`2X4zzHDpqWl=p(Wdw^rba8uGlsw$z9q&({diV5JGyIHU zo#>)~S0aZ`6fQcz0N<~X=$`~5`AK=_$N2rEu2@U1|0Mkbcj~9~-n%!C?kZE?>wqOZ z1O!_9i|S@vgW6ueF~u*ob89PlHjP=6NII3S~6F9iX2M>K8zEi+@iPjtXDwwN|X~gKH^84y@fN#9>VG7&w zp5Hx?eT~u#a=W z*P;J#L!`kuPYL?h`ttQJIded?$XvkgL$0NS_~gv&Sjubui#LjvOoa2kEKM!7ej>81 zlTSWhmR#Dd`u%=|CGbL>N1=T2q8YV4m<_TF-dKt))7rG?gY{d`H}F{5%uA!rIZ!v! z-v;vL8)S|k{M7_*!Io8@*Ev$QpYR*C`&Zy4U9<2~F1#?_&Cy4J!>#bPMS0By0NXj^ zQRFpXC?E7-j5FV&jI+&y>EgY*T*u9uNs||1aA#;4{{fLf-!tpV>gcq#ujnr!Ajt{3|Ow@ zk}Z5Cms5`OV{Ew)<;r<39$mq`f_oMBs(#8vc^>8Y817@ZS97oKr(6xsW3iR_ap0)N zzNgQzW%+T?GUuBRi_@}``P*3}p2|4HlWO09*G4ox?_53PNSC&s0v3W#8$4olGV0K^ zY!9w2bT+bq{1(RJYfv6T7J#P~0XxZR$FVOPFMo4Wm%9YG#o*Y^e}F#J=8lfyveig|yQ z%2K9=@=FSGr1LGl8j~V5OukQC&fX7PHqp2Dip$@x z8W@*fD!}EhRrUbja@2m{a_IZO<=fZ38<#Vfm*b)J;$~>wHzy}sJZg{Z%*krX*fo=R z$UL@lQa)SyR{j{8t16>C_Yrq`^AVb5KHB^^?tGN3Ncj+Tws9ct%*T3nK6ZU(4}MJe zEEg}>UZYka`-r7bn&Qinv+SDrA#gF8Vcql-`Y7@YnnzYuFsp3R-fRTlk!DK z1Mg~I8Sxr#j(PL;cFNef3Y_m{PO4pRPEPTacjlx6_vL;(y0Vha0}L=`PhOI5zvLxH z#+2>>e|lm-BCKD+^QWl;naNqZ3S=kwE|;2tWhco^>Z4y~iXdA>cwWxEoO=cL3hvR! zb{jhqjXar;A!|vt!Y60HWvkeJ%2vlQo<6cwkt17K-)*0KC3*FAmp*5>O@O3T|aQ=>?7^{*ry`; z;nN3>RHx%FJ^0y3+iB}AukXop_8Uct*-7WV$+L1B=jgz#s0bOc8Tl}o%BPWqTP5ex zhcxn*_Uu90MVCUK-(NpA;wK5Ou`n444ARJ3f)5P13slI2u0ab)h*5611x&!lf9STX`GBnK47n>4lI4jpUMvmRd|;!30V z_(m6x0tcg8B1`bwUP7LQ)%i8aC46IbAAR<*#o_~u(ThI~B~|}{@sU-#p1x%ZymbqE zKZlQzn{~AEJ2>yPACs<2Wu>!gp=^t<>`SlgCcne#eB;Pa&d!@?TZeF>xz&9GJlKuL zQf!m_2FKvXT<(rzi;WZMrHjq*{=wp3HoEWq@v`4xt+?>_*l**lX2{Epri{C{mln>} z(Dwj1^Tt|umgBL5jJ5DA$2;7yYHZ&{7V^d!!w>74h3|C!Gwn}3qt#UYuF*uf@9hWe zD~`ah=eBV4@xBdF)*trLcf)_RpLTe#L(A`%*6R|Rna>xY-{)L-;Sm~&psUk5B7K40 zNq?(7wYSb1`Y2d=aGDC9r~2^xyYhi^e#qag+E?}>3#XR+@XPn0&vatwuD_l0wG9A(G(%KmxhZe&>S4&91Y&z=+NJO+4# zfWz}I!uKY&njZj{7VcN@doFhm9-@mEsY^8K=(iM`kV5|PTCmI2DfxBRMYG?nyFUL1|Gm2Fk2U}A(_Ozhq19|Vy*JKM zG&6kn9(*>CzmbzYdWo>d`P{#lu6o(dlIh(1r0lxs>;mo!xl&x`%r#vbD0de3t=wz4 zTON|A&u`BoX*(Y8n`xawQ;@7^(I$29f)yF<(kX&(vd07L8{L`$$dWeR-Po4K80#yb?~9_TjNT=9_X*z3>gQdWcc=31?tb3w;@ye7d$XT+ z@seiN7SlQ9*mt+r%)6s_x2B(W8Qy`6&Yk_diw$YEw!-lres`TI-eKeEZ0P6RcHWin z?!|uIMN5GjuviG}1h@I<+83~AkS$;#|EJvlO%%HKz0+_1d&xEt`0EB@9V)LfoptyM zNY}0NzeVds%q__^yIv1tjpW<)>85T!QvH z>xsLbLc4QsC0^QHV~$nX1cCx3~>Bbt#=i;SNT63KD&K&BM3%62stFP<~ zbT;EDJDPK^)kfs1NRQ;di5tS4)g9_dx$TB%SIUz7Z^5*U}zIr2+jrhv8 zQm^;Eu-?LR>JOpbX6j0k?<_*DhU)Mg-9^#n4i_H}MPh+majdxm-EeksQEJn$aPuQN zBS7+TWJ08;>zRu3TD`@yh#qB7gt0eLkEv zc;6WqyS{rE|36l_*}jW}N1e|!@6;LV0dil-w;~v>@7DfAd!eF#d*oH|Q((;B4Yj8~ zi`;r@tLgbwqj~*ft>zoQZZs+G=kt38_cQrj&Hat-jpprft!BO}FVe=rmd*=)OYW@l zY{c-9Ine!FE|r}_S>5Nl_igTdwtM&Uy$Wv~ksVENillZRCp+r`{crg8+CF@;s-N=g zrS{6A|8&~0&RGTDOrc%T{k~*}iSYORDJTDp{V6A(p8Y9Tv7hD2+;WV!j|>Ek;03_W z^7P(4rT5H}f3)8n5A8d$-uC=I?Yil&82c?Rk)A=%-GYd7S801jXKK7 zCnCaL-HF>pM~a`4iJ=cmpiiumUPp1(lQW)gj`})|{*9-e@yH3|qt1A>S62Mx9gJIh zAHm>T{C_|D(YwRz%|fm;v+C)g>&=2CYt4=a|F&m7|3@!qH4C`w{dSkPr-0YyQ_ zv~@4-?()hg4tzXi^xQjRV5RRp{4-qTz9){#*0J38UNm6b_aof*i+R5b{Og(NKwi)?NL>9_WWM`vs<7B6LA{ zwcv=XQaOhAV|?$=jBwtD`@T@dGL$vGvXAT_Pa$Pj%nm^xiQGE+;C-vQUqtW!qA!m_ z%^-DertD^4*>AgbKcTvlj$eh=l#*yV`$xtQxhm8%3c0KVS!_z>Nz9=|@UDk@ge&!> zHq!F%>_P9um-m?@btjMJa_jfv^-n_wsyd7zzfD0s3HZ2I7qGwQc*$>(N$s(yU^gur z8H-F9NsU@G^7720QHwJl3$N%twQ@!GBxGh&S=3WrS>H_`Y}q5&;+gP+J%QLHc+`d1 zkI%%<0iTYTIhZ<&iessa>Q!AgpY*v*e8Q$4)p_&Li!(=2=TT!5N_#z%!NugUr}P9SEbcjtzMly^PNV;m#-7|$RB3t+@xcW@s+TnG z)Je(Ak;uy$uWYXM_}Uy?`G1%@7x1X6bMNoT1tvp;0Rx7SV+V{HW5iKojVamzqKy%8 zP*hB*9W7dlv_?x?%CY?h2oPeTL4!pCWvu9@)V8sQww8K{ik0G})LQi*Z6`BEV&aTw zt$JF8@Au!AWM?GE={Y^;o9Efj+OzlC>+-I5z3aWLcioomwEM*v*2<4L!Sh^Vb$Osy z?;SX>&7_yCou+OtIH2Ei#`i;?Vs*q*v+0YIS9|P<58yL=w=vf%Gh-dPYw7}aOkZ5S z!MOS9W~1?qX5$*t&m^0TncTm2(gx$tJDQE{q_^>W9qDrZ&nNvf|EG{1+tqA*tEbs` zpp5%Ov+?u2+@H9?_z`I**R!S2XIsA|8B%m(2C}0E{1(n0&)91Ie&gnk`V!L3fa@mC z^KAPoq7^TKPnI53{#ejw{0aQ%l~+I`<6ZT9H<$HB_wvKMp8qEAkG>n5eM+(a-~&y6 z^Xqu0wM;g(A3`T|{}s{;?K;G_N;eXA=};VAv-5-j9n%pm!@b-m@Eq&0iV7%+? zTuTnwFx=p5c8eZL=FoS~d#!g93#_z$#v?reFFF8tw+X;^0=OpG#yyvmXXdw}Ca*ern0gs&?>NnRKn?LmUXCy<3 z*6v)B=CI!Qm)kVwmVTP!pL@j?Z;S%~D(}&@erU9H2P6!`P zaN!&@%*4&-$!7!yc>H5rd8D5|7+&t=8#iA5MrBAQJqTVt#XAQt^KHC*k~$6tFH4Uj zRyBAi+%e$|EfL)@e9Nr00o;*ZQtf`=F|lkzdSVsy&ZfT_1MxCXR9Und{Yu?5@;kH}9)x2|XpnzWgZWRPZ(|U32W~Wp8%cNc@uN{Cg%1{S#x^wBD0vTzMC?f2U-e zO2*kRma)z*=R!~7YfcMp9{)@eW{hjV2=flVU{3;mEE!9}znxG0H|eC$qLWVl{mhrCHY^$MKzZQy^vMfuPfxD9 zJzWltom{mcJ-K#68XDGH%DYnjdzMVf6b62u&h=fLIil?M>5)~xPZ!qiNgq+SCp~h( zo^%oU#!|*A=HocZnY3VdriikRts9;h%lGlJyv#Vtyr;^@+*@m8rZ4z3Fthl8>bf&B z!+7oikMntF;&RopbWW`cr~irkLj^L6+7b?gG9F)!*2%%VgYA=U#xOq-!Q7Bea7(g5a|J#x z8jGi1z3c+?kqP#tpj$(q7~!3K)Cxl_-7`ATH?*=p3Z8#%v;bS8vF!tN2wL0T43fqz z9+veeC0h0&?~JQjx_^O;DE{Vq%&i!@h6ubezVO`*+?SI!l9rN64^cw8gA`xY?(L*u z(oWJTq#dOA?&24+u{%h*nN;yRU{5-$AdxN&XUM{64q6f4FER zYkY1Lomm83v+et$vhow~=ZseYK!3K*VJv6!~a6cP+79g z`3%dht1|LC(GU2>rwaq))BdK_=@Dh)v9owHzN+!*+}iQ!oI0*rZzi|SndYp+v|-=uZaujj7+-hap_o z+(@v8R`Wx9Mm0xFeO$iBly9dZ-$KWFH7Ba;mv@)icA~spEoR(Q-u26p(nZmpu5xfE z7Z~M)S<~w^KP?@P8L!Zm{U!JB93dUg!R?26=nC>&d8-rB@!Zkombu6>cclH$ zihSQ4=_jim%1muKEtA^>?eaaAadgJvrjAD$vn`$QQ=RZromu=;GxFOc`sTDj;~OV$ z+|H*q-gSsJntYlo@6oi;A1KbKo%um<0T>t2Ue+>rch)>;kLoaesc4VmPvz(dHcOr) zpQ9uA`_G$=#CYOH{;b*9O8V%_&Bila69OBI%Xv42XFlHfNhkAs9#=E>j_>m@>D8g> zr@=k=ZJBbt_wj<~bwp-eUQ zWl*oz7bCUw znYr*2zwvD~W$W{O9nXiAFEBcjZ(#d1W1G%atVf@xbv1MEiY~>39wxmszTwY3JL9v$ zyAZOe7h8CB7+YN=o|+Nj425tt{Lv-ov}l(4G7G4HVz(O-{$dO~m!@2Yk^ z9+2)^db|F%)%oDR@`d;CskF6MeAMH1d#BP~$^V74Q|-0W;OScl$*khv& zLTgz|dZ^!|v0H%kw#PC(>w){uUrIlLT^Ia~1OMF*nlP6?X%4n6!B+9(wSU9EWdN4` zCH~C#zk2(opidZ1JEE(QWteY8JgX=+Qhb*%dXYo@I=l{#%`mmz@6#IWp}3MZ@D3(GQP6@ zMtGN|%$9&Jlhbs4rr>XrGWQ1xGC94I4_f93yG+B^lqm=VGqJL=Ow4y8I>S>k%j!zu zS5L`!7EI3MRE^Ap>qcfChjvd}Fe-CFZ$~Cp<;@h-!C?(8KaSu!{RT)6z#7tS1^{rbRFK&e%^&G6r267@Iud5#w?$v{1eT z8fT5UWCD$|$3HDOpK;6yPD@_w^QS%a%agOJ{Ky}dq|Pey!*hl*l>vWxmd{9IXWw=M z@1~qHDpgzp5Y<6h?+IZCuca4Te7jwow|7jI1$(U-Axj1zT@TR=)(#)8~T z96z7(+F1JJx>$Phf>>HQHPNY1u(kUewaD!rbT~Q75+f<6kaF_sCZU@qU2rTs0?(HC z)AItm($|*lNfT=Uu9@dzXz^^{F2?Zi!$ox5%gF1gDxs58^P;#S)J5-ZPmW#HTGYw+Bfs=y6VjM z+TW$`hR)pWn}!U%D{WLA$UGJJMkY}AyL5QTnI^q?+*fbf8YTwj;p;O!Gk!^HIvALi z3HWxUll1#8uGa%rdsC#>2CO;~b?*Y__cC7!?3<}NUt6*@(^a)Eb9dmX%=oI`rLXZ> z&sA5q@7>J2B^G`WbUE`hZI0Gi@9*_p#e8}@v$8Cl`5f)uyyT3`T?jqYw>ncE#_x)?e)9S?>Afo~`Xk+gX=`8am+w#@LVXceeOFPRzEeJ{K1)Z9ycH-X zZ@DY)tJGIQ+x~VbJWot~#1*Nc7;6?+G1t}5j&J&CPyLGIH@0j_6JsZdRz2g1YV9k? ze74VvU&Su7@A>r29~f`)19`!C*I)mRe*%2uES`^nhUEL!vTlg(+4eR^r)sRd2fpO4 z8rC56rP#?#e`M@rYmo=hexNVad^>}=^=amrqpyB^n?-{dterK!j!Xf25wW*z(;EET zgu>Lb|1v#wH!wR?-6xS>Yg9Eb5N~usRvUa}C&7Cy9pkTEoAy^7opIVyK|73{lT5wH z)GGSKI%HCq7%^Txj~7~B98aD1tHQqfLh#J2+53t6 zoEsvx$U}vFGuEF)xs6HxmJw#37?-ZiHcv0O!@qUaKRC|K#U15UYT>)+_oX*~5(26GVpr4H6xi5VYcL1%Y7@cnTjrNxoDp7tsp~ zhW~kgXj4B-ed>Fj18c3v=sz9$sTh4mXS}N#`o~;LX|9IC8=#*y4^4l3!3ONs1NK|m zyn8v^89f?A=(y)rd}F4Oe4#m^4fpA&rpECY?<>hjb2Ul(Xh^{>2CAQ$8?$ zz}3pNtf!Ip?78i34z5Apw2ri~yR}t*?^kqT+eS3Hg7Lr8)}^dAbtya?G+%(BHDACl zw=N|=fvmuIw6->)*V)*;E8IxDuUKMND3)wv9M{3`wD}uJ8@uEDk8|Ha+CjRNbSvpY zqz{pHl6I1AC*4lEgLDV!NaOaNJ&gBAVpi;-AJRRIgwC$FW629QJ&Bo5j5G$~s~xV* zY1{IT+nfr1_i>w32l>$Pb>&ls?7D_44*&yPAGe1;z&CE2(+^b!eL9%k@&EEpWy|ih zm$G$#59#699Xq@O^wbl!iX<>wjr zk7Tvv?0V~LKC2Ix>&!2+536QP*Xzx`j>u@=t#Id# zy(7)OKMtIv3lY4;!$M-c;JQt7n+%W0e(qKAlk2;qoRNVqWY_tZpvU0da%0yJ7Erb zFUjwe(<@y@dYQ$0t4z+p2oT?|HxylO#-8%je=f=T41F;kJ$v9l zT@AX9d}AeY`>JFDU5NBclL7{~u)Z5UY^QVpf`bP?Q|2mZ{P&s{$ARzCFPsjXVpl^0 z$UiI`OPoxbM*y30U{g&y3xUmK`X`?$AFw$W`FkkXShzhp^N`)AGx*M<_S!Ju{cf)d z24~_IlOV2y+G@^s+O-F~j6ur}hqnlUzj-cRRX8kulk3spcQ+ev=5H{z-G!eMslzMC zZY10mO)G9Ct_HYM2Hphk!jCX&;z&wo;}p%(**Lc*G{=U;VhO)*9r$65CHRRv;)jQ3 z?7_7~f8F1Q{h?QUk=^dVE9j1850F33k>I)W&W-2Xb6$+aAKr>zu7Q0+dWBoQP0Rsg z2f;@3`_sP0{<%#I$8G3u6#r}6UdC1U?umwzMm(NcdSj#6UhyZ2pE(>Ii`tk7uI;|} zJ$!sAQ#zLfc;$(nmvr#R@U3{x6OTVBUuAp&@b?Lr@}203;6p6Qoep0V$=zU_v#HrQ zI^H}8rp_Lue%QvbrSWYIWA4A$g6&dpZ5MPmKeB1BahqZu0^gWmX2$Fb%(eZz+e@MM3;9@fTJ*{jss=>&A8)t5ImSC$P6XiC*?OYhAcZ z=j@oc1AI+7*%uUD2q%|by=)NP2;Ws#f;f=H{dlvExq2S@^K<*_z(@Q!vkvHrg*Qiu zcKgiw7-#iG_ye8VnQbeQY`D*}!T8h0X5+WtZ#FLBs<-z%Fb_?;QBD}RN3^zB>qoYY z_!1=u49XM)MFTT8_=qH zWR9mdAj=+TH6NVh+Q2OtsmI)tvwX@()j+7JrpWW zx*5@%O6a6?EIQY73VT>?zmjupcy>5EglnA{B-?6j7Hk~<0O=m&PrK)yvAxCD-#Ms% z&;Aeh@ALnp{@ruW*go|!aN>yG%C8NabFmek3I4guh{d~h8BcUYjSALkKgk$rl}FwgMqU~Rk&dpBo>lFF~7lC+vMNE#+BA)P{6 zN-95>Vp931M2%(1*~k`_F5@m+m$9^GS7=$XHGUiV4B}#vPktcH+{>p%J}n;GpQVjw z@~>G(T0$Bp4U%?{P9WV%D*u^>NQ+22Nu|r#PKq89e;nd{l8%t>AxIyHB{?T}L2?B8 zlw8hPHT@+fv7hN*hNWH|cR}hlPY(Ro#nK&@8LXx7ZHdkt^ddZOT@y?!17|&cBUd~= zI=3~F1+O+`F2%NnZ$}4nA^1Jle?hV!A)N{~*BJd{?T-?xFj|kD5Sd>6osS$OJDB## z&EsD2TooI$m{f7;f}~SOOGqn8OG#&thDd8jD@YYvuaY!E8YYdBMo8z9&L*9sv~?q? z>fo$V(rZ1x?77x+ch5JCJGqwk)Q49k70a@bcZvnrOxhZc4H}11_24rohYgFNb^W#o10H6pQB3BQO1UzQRskT#;W8mk)QHn$PTno zajaL5{z^iyk$o-?9T9*YSB$=SUtrH>z49`S@IrZ_NAWfjpJZ3OUTul+T^QY9Jv#nQ=2mcL*S_Gh zUD3!Y&WBykUQ}X%Gp0q{7ja)qT1*-w4U(3SmXMZ`mXd}@L!=d?6{MAOep#{-Khz5J;FauC*PIV?FZvK6olUxxa^{fE;eV7g zN;;2pJJ08n&gcKl=x}Z}Zt00(9}*4-X6&C0NS~aDHYbC5Z9P8LkBPuBuU_XI%P#fF z`eARX@v1%()wp$*K+Tjo?$au4-2_YUl#erMP}zK1$RJBQjsJ(K=Bd#Gn||8M9=8lKx= z%;AbNxi&nz!KkRY(}*v5|3D4*dq!_CW{~Q=qss~dw=V%V$)?|8jmwS!P)N*x5b(K? z@&!ZL7M{I!U_W$=y&u{s&-87htRiG}Zh2UGh_XeFN6U)qh`x8N7{ zPJ4e})kn3uBImAKTPjAJ=~9TNBc?%x|@H0Zz>Jd|NLf`F1<)b)LIn$i1mMk-Q%^+xflM z!~^C9<6Y;SY1pwoE;r+qI`j1a?R@R+cH@N>bQgB)RU<+>qgFdTv=d!K7rGVSeA+m_ z-fH9Udg9*ox6$%ZR2yZNRU6yQHh$c9QEgNnwecvkjd#43$9>RjpXik-lLzF-_IcVC zrfrk|o7=YNFxs~755hgGZM!N3yTNUHj5clF*KXX_JfQQ@d7|cC?kMnU%^v3~y6S-8 z!W*y+$BD7Y{5v9s%n2M7FGBK(bC%37U{r&SMR3x*sWIDYoipPeZ`STWi7Vfev|0Kx zXUtEpGN2*Y<9H_ASGgZB$DDFcJ4CrJy7K+VE?4V-H^>>)lxyH$kXJ>V6m%?4qMOgJ z-I$hcUj9uv_!11O+lcPJ!}K|Ms%$I1I4iW5!u;>4U6Gzv*D*7vZUu7~T49#cW|rd_ zR1Wc5ta6@L*;Y9XD#!fqscld>&*#)Nq$~XRY~c$j-ot~v?ta!92gg5ntKE2uak}?r ztRSQ_NgZ4_@jDXlngov-imqjDTI2km#rHq6^WQq}XfR!K+D+9myG1vC)7QP&*s#G#+V8BgirqO6M!eSL&>IPcxKf=n2gLf$E^yl1LC z$c(1Xs!gwhQ1V=t}(d%O=Pre;T}1^T&BJP7nNhRO}1LgR-zaW^{%#k_~O7?;sfUd(?RPAIt|rbKwXx7 zf0{9QAdQY|H99WRZ}ERFX&L`Rq_2{8zS(Zv(%5XYkveumbNnI}Es%|2JmWVHIyx_E z(a~YiO?&6oD-MBl02aTNPhX`U6&*d_#4GE$8~)szd8D&?%Iw?P*Pb~;I3;*o+9h5~ zHmoCQ*9U#=#_Ox_D{-BpwdC%h*ZgnXG_dBsa^--`t2InEt~pA>tYI|*v%fN;8&D<9t8N^@TL`_d^XZKcT=f0n zXiHK)c8YmjN_m=d!rS3N_?PELan`oZ+Cb;be_{dlmGWP-<~Z730lr9pV!Ah4|N)#{Pv*Lpl##*{p02j_{Gwm+fHpHto z>s=(Z2ppO-2_7Aoi8g6phQ{Ohrx_2s-s{LyiJe+{8{uUi@36hWLq<~bc!y4?rxbYW zJgrvF0NhjL?<&~vx_y$sqeS0`Yt+1eVfMm z`{vqs?(@N;G<6(vE_IgLb)L^R4F{=nt*g#3dFHw5RC}C0o^_Bqmr-ZfopPA) zg*r#rb)L>Q#RsW#v8&E9@`!hH`l}#X>is3O;_C|cHJ6J1NmC#U6vo^H}U0Pcy|%! zEL~)*>fye>?&{ulI=2P=oJ> zsVm_O3eA1-^B&fN3g(*;?CcJ?d_yMu3V&F5VFUgpk4xurIsEWf?Xk!9>66V_XD7(+ ztU2n`2cOBBOWZ@~ru4qj1$&J1S+n<wk^zfIMQ>HU#_SBinl)-T{u`=$c;wf6+fGB? z2nimn(a>zkA$j%a8K_UR`Al?^(t)b|_#F7c%uVvMPHx&;$-L4TcPE)+Xu(u^O5t{4 z(4mzLoZUtoA)Z_N0+%uuV%_<)*_;EmZ>)3n>L;yTMfN(u_de-xJ?PGy_;`i%eIamh z#=>Wh#odg>V&-8{tR*R25^dF7|JJWZ!OvUm#E;J>8?NT3Xlonq92#&t?{sEVVUTk$ zn9D}Y(xJ|Q4k+HZVB>A2Eqv!`jeAxxALl;2!RT0nz9Q9bY-29YL4Q)o^#U@|i^+Cl zJJ&0`>$gFN<6Uv%&~___hy5fN72=D!hj8Yh}LIBX1$o{r`Gq;0?5Q z(786Aq0bC-%PXQq9me)9hnAs>X1+EgSGM>}{iMh7%R>j}=-i}_xphoo%7~fpNqvJo z3ay58yN%F}M&?93C0mzhk8EFt9f$A?=55hPAHKfv)ZS6kQwFrGko@FJ7RF=dIlaf) zaG$_jm%Rph+_hNrBZ&Vev`R5C3!?F^A0Xcv_3W+Z43Rui#m~&+-iu!f`^UQ28yHw7 z7(^_7PO^vWIHDP{yBtS7Ud}-E23H_gT`HRxaw%n1m*z__ zxUrj4S$ng;!EblaH}_|KGY%LQM1)VXQf-Xg_n@QMWlYJccU@K)?BDG#L-x6cRfeB3 znZMdQs`5t)=Il{4amfgqxD-c5Fe2bm1Y9CDafy53QjU#Fu|wd}ZM0+ki3KU)$?9Nr zY882fOTrfupMsp(3eGq<_41c|@DCSv`J>f3x3bJ2&W#tlas>NGFx1jL4I8g;7`q*? zzhn^XCG)yrf4Lh5A^D|$9QJ2reN*fHhVjB5xgSo7vsDmw;50qy2{P`26RZ<#gW#WGvO3I_?)YuUiDS*QD42mhGg!zrAcSrO~baTc_rAOU;P-~ z)nxUfIIADiT>UV|yT2c<@$T;j<8AiC9&fuJgT{M^evEVV!y9Ta$8As_7(_sl`BpRs2S2K_DFXPvn`S!0g>tgcf{7|cq9XE6p5&Am%g zj1{)vfw}kcrOZ9}4|FbFLFQoj{}2rRK)vp&`jfw9owiPZz^PY~IHJx`(qCufgm#F?A_V4H?m53h2y$!SZ@ansE4 zG=diW(purrFyZgw{orrCkuuwV1M?XgrZyY(%V__yZr|lcK<6&$N_}y93c7XBxiHC| z3pXBQzGu_A3AE9@&RDc=Fn#EX+|4HyX!iJ~0zB0DXnsC+$%lcs| zSbF{N681cy?a;iz^PPR6gXa6Iv+el~Zfd?mC;R&|B<*%^)}-C6as9O0TH_9fcKw^k)h+z2f*>B5uB$2<^i5YCA{cs!ho2aF8% zj_3^d68eYyZqkRmdI$Fh=tEw}o{#mcOT>xEBQ@70?zN5&(1(VES3XSmIUS5X+-3J~ zg{Q%!5n7+rmI>jO?kk{c=Gn}Ke1cY)bWE{FC)m18*#)0y;yelVyGkGO)|Ijq$sbBQ zEc@%=i}Sb_Zvzqc$-hW^sASgV8c)|dhes_mRwQrIJN6yyyLI4vED!n!Q=j1{h0o6B z+t<+!$!kY)?u}B}&Yf86@+DC0k(|+wr;M^+^!pvl2U+Jh>ZotbsY%V=DozlDNeDju`wBO%X6Z|9ah^QSNz|*U`ZZzI{UC(#` z%l9y@6*R`y7Ih(F4c38dl^RE!@at7_M>AUbxzLhmx z5ia>aD({Y4EnC13um#AsNj8E-D}Xa~)vra*fgYutx$_tLD8CHp$c_b0HS5`jM)`uv ziIgvWkH+nI?(g`%HO}Poh4J&$JQI(Q&v=A6lUmh)tP;hpIH+;o$y5C za`h$9+E~0x`BmItJuZ%2Nj9h{qC(ylIVtNeW|S$udWeLxl;R*%jw%6-U^$-QCvVe&@sF#WO=dQ$98 z19Ev|Vi@_nt+C{AzAdB-hc-s&uV`bQ!QL9+(Bx@M2)Alt@~_1YVg2f~aL2P{by~Pr zvYhzsw_7$};ZeE1hwl=-C}(Vs0~fKOcHPW=6hGf-4&?Jrczx+=A7_JLi{jo7EnfNs z?e~%2s_6Dg(v{3wAa%FQTu_uJ6;X`raVVR`k10eV4fEOCF@YW2x`+w!LSJZSQ%7I<+4B(60AY zzMFTDdW&84zCfO8SG{Mr>V4)Q_2yHr>a*w{_80KxqH9i_!oNRJX9%3pm^?t9 zg|0f)9;eQG>^e1;rmZL1()}Roh`#$i?@lr9=s5*j&nD^=9=(Sy`6aFu=##JE`V`jz zd|dvG>vpbLT&HsF!w%z+26*Q@+tcKPpUJni!JERXWPMfr_c z<$u#IA038S{+mOTKRc`Z-3KXu{TP2=D69M{?ee{L`4GT^w*N!Um2kKJiG!5CjPhSO zb})R-v&%2E%YS8v@^$uxyZkK&DSrXw$2i+Uymk?EvlO_>CRWP+i&3oerR+U0$1{X& zAHJhVv3=kr3}b3SYh;+c2J%hUn)&2{1AQfw;p9^u*2NV1tZl)&u~m`Z8(x`|ZL~DX zIfOCdz{GD&;IG+R%3AItZz+8-@sach{+IBr$B3aXv-mpk9_6&nM;df}SCREy$n_nv zG-VEaCtXQN5L~9so>tBsxQzXc^iA~Nlhe9a{Sxn@J}rb^iPrcGM}|?C#7RQN-0(-|6y!BYy{gdf5Q*$AI!%pH26atjzItzqsle1E^$}me@8logZs(_5-%ZH+?r6UIH9ljvaoxam7T3{SDg4@==DL;Z+gww* zO1WOZuk3iP_f~Q~E|(#{I&jjGr*yA4sNU3*WX_D6{sC*@6)ua#?@9IZGA#* z1rO9uAZvJyETrIla%L$fBj@U zS(MfGafi|N3tVlF4$FdjWH6qH9~7RPO*<=HGXGfGUg?6n+Ar9%mm?X+9;okr;A%f} zYY?92um)+a$$w)y?J11G6N2j@aNBP@gl9Ipgb}>ek%Uye#4R>qV3mMaHtrDk0T4YJRG$JI!)dn)7gc z{jXUc(PQCL846vH)VPbboc8!fePI`EsLY}b>c{)kBii7Ju1=PQpdA|Xpyqq`%45q+J!*Vruc#Cmi-lurhPkSeZBLjGh&Xf_7 ze(w@f2KEXL8b4rvI(ocf;H-7@lfKK#`VL>k?oS%~#lTQ-a@G#{Lb}%ujqUaSjrb8h z4E*?X7Ji)e58}shhlw8n%9kIe8$ZUn@MFjL5q*-|-S}~z{ojorkCLyA=Lf@&n4RB^ zA94IS-1za8{}1tF-^@?OkGw0q8w;0m-dQI;UcYKJ7LqnDV86hB z95}G`v^$M3|Jz6x%x8}n#>=+Qokq!{?ZzU~kR4mx6Nb-$R_75v96MK2o^fk3XLRdc z&%Rg!9h_0aHJ7WN3mFH~40AHFw!4~fo{UaAf$KlH z-{tgs!^!m9KEKT5+Y^i>eP_=taWDmgF{vkv<^BCBD z-Oc@A#6Nug@w*oey?6JE^xN6Hdo}my$a{-!-(d9IX6@arAYEL@`N!wHe;~1DgAshG z-FS^u?;V&QHIn#RzzZEn*JJc&0{;fK=8$BvY0S|Y=A}0p>u%&bt?d=$twe{s zfIc*n?jIXZ?Y}ghntr{nZ!GQGO1_7<9_H%g+Rn9u>shW{k%sOB>1$j)T>H4*<@$ij zxB-1UmzT@W)luKjb=fF<|40>!G|00Ou2Qb>4cogzq!nD1TvNDabJg*DuBU;0aq@j; zzXYqn>j!jYZ7owjjboq4u zn)>J2?aQvehqbW>JaFm{Q~zA@iqCug9PglhZ71(`SKf|8^eax@xGQg&-7l4UlV@C? z;QLj4FWqok#5apv->l0nAKGH`N`VM@Bd)w-O#l2g;%-><{VZbdRkB|%%9%7(Wo_wM zwQJH5&hPUCN-`JMtufER>hyy*fn4?s=4U1olS;5NDA#b6`>pIYxW;Y|W4FgOc5naM z8au5;XH)+a)ldF&%=%lYpS^-+{lrZJ#yeC${HW80Q|&f1Q*N`X+{kJ}-Oh{h?U00DJqs&W5C~ zOmX5KWS{1PoLBZ>rjosqXVKTHvWB!`f;u>$*q|DN4#uFvH3s7jF$T@#ZFc2twZ}kk zpS1;;H?^jHfwIiS>vfJPXG;(V{$S@|T=_LCcBB#bdFEu==bV24f3VvqYa~8Z6TShf zGhy01m9|eKk9dbfkhq6a8ql%c)}wQCY|}xt9IOwN`A_Qz+{!{>#o% zSw*`3G2%a#WUA`euM8d<;GuKY?{C--O*~4|Pk}QyW-7krRN5$94pWA3JCC!=rY&d# zmc-tqjA6vupF+9eCBrgj^W5+qmpPZS0jk*-dk%Sqm7S1TPTM?Oejjn-1Du0x$CC_` zVt+O3!{#(nz7Pe(`txuNC!hAX!tC_s@Ljd~ZpTjG8NZ6@uZ}uDd=j|g2RHsS6CC+z zJ4_q+=kM&6PS3p;K=djnir$3vLpZH5&yHt$=i5Wmtn7HEM>6IP&ARJsZ{HkyuBcqu z7$>-B;d07#-e=FH55T1lT)6ZRI*|xvNe(YA8aIemy-3~{U3tGsxegv@mz#~xdns2m zUbOHm!=i=k)9U|T?QWp_23Pr)W|!}xg;Dal_j3Q1^3|6ADlPO=uHV&$itIKpj?Oyv zCUodc7ajVs-N*kbE!;r48(ifcNgIZug^S6%*p;`1Hi#D1UO7Mu>+u&l6a1X;V7t*f z16yH7yYc4>Iro|LHvX?8UB&-}q*eS6lb*o;LekwAu$Sy7?Z(|aZzR2p|8q${#s56g z7iyc0SANXe%-9Tv2961^-Y|b0KOvn>V#ZM~dyI3oZnNf;>-;14St~kcWjJvyHFun~ zUbMCnzFDy%Dk)!d_bmA|LD#Cv254*!^GbBKAkdQb`dZSyvX=A=d#r?8+57n)-8VGu z7J~zdpX2Zc(h~}I@pnu5>k2YYtg!s1gl{{_IB&>j#d_?7_UUXVW6NV1oj)^mi%na2 zKN)&5y~+B|bHqQ325e>gwz|e|-67i5O5Rpi-Z8Yx>r;&Djp>3iVoK0HAMqiM2x70I zZ60D@=adDBBOT1-0hfGWG7Q+%Ku6DqHrAH4rA6-wh#jEV!XEM%yw4$D&w;UhLEAUW zk}D148OFNfNA1RU&xea8J)Qr>q_5Yoem-E)z6tCF3v!ikm2$bq($Z7Hw=srJ|7++| zjjK;{=zkb{o!)2DloIlmxbnV$&ZLsOrau$1*2K97dQYcq#kA%1&(WqI4)BcT`B~IE z-^K~nF;mX1gzv59s^OZ!<(z?#2Tz55HhCQU8s|a0AwO;Rc@PWXW9FN3LtA%!#Nuhd zGkZ_mEOSp>E_gR+pLRrguS-)2>`3nO8;Dta$UXfp+V9+xRSdr}*=yp8Tk2fx8G5=*6nhaHcrVN1L5 zFxMV%XvRnDjArWVxz5+Cw0xnJE+g##pM>M?{a4}%9sI5aXRBQ}8-HtPS{@{C(3Mwu zLeX-`LqEU#K<_2AtMdMKW7xUSW>SYn9?ra4X4ZRn^Xfxz!#%GyQunLW*?Au^JF1(F zHd1HLoe%nK;$Ar3HJ5$(l5r|*KUMjwZRVM?c8Lxr@ViK0GjM3@+(W?QVe&rg%KMVp zE@G}xZhFoEblWeQaE49?&deO>bLwJ`aA4wkWS}i=>9e=BrO(+(4D^5J z{33YY<2aM;g20LJ)2-0m6Eicaxa|2ACN`G={WZ)OF2`nS;J43*->!w{6wG#@>)(MN zhXb=ww9)z2-A3#c0r`b&cI917TeTLnK+lDf_#Fmjc`Uf?&yODouX5zRob97S9&4`W z^WK5wpX~8eKab9_##Z-j+&lS4xblB3Zy?X(uKWD_f#;8KKgX`$16`R-y`P51{s}zx zWY#3bu<68C@d5sKuD4_ed^~o)^9pc`#=G3O)Cr&4>Ed&LlNow$Z6NOkSKjG1E{Rv0 z3NF1l-r(FQ&W`Y}Ol%s-enZX?HsCMRo^aJ!#N8jw*e%cOAbykLD}@8ry6O77a41}`=^(Qzl)^sgAKUL zewO^ty7D(1qHNg|?sMhc|Aa+v{`FF;>`9DI#2zaP&!E-7E5_NPiVLK^)!6W$ueo8* zc6?=6^N4kSw&X0%!@Q)782-p!mw?kc7fP|pF5z2;X9C}LU(C2yg9jeY2oPP@dVDeP zQ~6qxo$uWJd>2~zu8UUI9-^PS$h*sxce~xst85rP!@QkLo77jeOK??xHO`#pw}m|o zz4m>b#@lH-ao2Ziu6Te6dlP#Vlic_6u~T#o#&qaqDRlC^>CMK6|F_-vEp&4$=@0ln ziu-r(Z8x5n)@c z__LHr>a0DAHzfWzg_OO}RrafgC_9@!yp*z? za%KOO&O>K7XpQ{rsv~>Nd*q#VU=#a6yD{^eW@9$#XZc@3`p((F^sa%mQ)kr(W|9@$ zvUv@2qsBEietL*DmXNo^mABk(W4}I*vZceA+=NbU8~T|o(utj9>Sr9BCJGQbxq^P3 zoP1edalz;|>UZ*H)BJ21qR__gYVcb$O}OpEqlYKmJ-%!cJU)7kz%s_%=q+Ndo?Qza z0|%r_$*Vmnb1LmUr>-r13hR*0e9*bJxwV|VQ^i@fwFPFpv1w%$nNw?_bLdG_R){%! z8u@i5j3YB>PG~-~GY&D}J`?!QCOw+}2I=!tu(`zt_zCec#qh6=j6h!l;swRy?_up& z6kW^OE9hT%80wp(>+Z5QqO3+;VnQ@io&&kV!}b8u)P zb88AZx3d}Fa~S7yUuMnnS!;i78E3#Ew_Z?H%GshJ&Y0!Dd(8)K=R+g4<_mt>ZVD^q?1@*EqN84*Yle5nv*wyZ#TK{?Y%cO-w)0&&LQs{SKfMHrr3l>06)dF6W#ZL zQ(6ZN@jRTvgd}3gm&lem$e0s894uc7M}7!QTfg6KTv^5W)1*%Swa3Znzx1r;Jf-hp zTkgi^)1+_0^P_-4Co;K7Z& z9XDKJ@d=xdXZ`336kAsF-kI~CVjS}}q9dwg&TMEmesxx}5hwi`{}+)y&HD#v!WN*q5I^vBN<58T-Di_F8{#BKo|11HNG5=fzWhhQ2%dq}+HQ`912&_jCF^%yZ{nCtj)i zGIieFMfk|OFO|DEhP;%vXj?@;vx7C&ZgTAcxy2@SX%J+4<+)?b?P}%0W zqnsT*3jB7~dh`Z?DXwq2DBF3L4d-H4zPUCms-xE2R5>3a3p(TV+w3;FVET$HU#(q^ z*Yr1nw}Gb@Z8B^ahtO4enWv|gtx2DToy?i9(wB{9zWSN3W9X0SZ*Z0SlkECkFp9eJ zmDw=DH!Ud`#e$Y!9izz51*~Ta?_y2{ zMr7u2X7LqVbzBbKtM0k3GQW6;K32N&?WS%McNt&xqh=dpMBmQey(V3|bB#GJg|7VP zAEHk^$Xrg}w^Ocs-m2r^7kv;;2oH?F$0*! zKJnkeyP|Ea>>F(Bjzq2atAfoOSKeaE)O+wIs-R#QuRoZ3p=g@5VIfy@xj^?}vuK8TT6ZvK<{&0S*k$4c1uAl7Z+y$OV z_9I4Qs+IqRz@Qp`fWDM)ppkebetcI9-$mfN=)5C?%?z|Xhurx5OkcxuQ;-$&q5T?L zXIw90jrMXT(?#%C>f5L$;`~vE*1&!6G5cKW>@SDtqiFTBP@gTm&Oa=4tKA+JSVVx{wopjEEf3cl)k@fJ#GnD z9tkg70Boh-$c3NXe;jiTo0jw-vY&^`tnsKWBQ`m3m!3>#S()bxAd8Ruj|08VSpzy# zQT&)-^%gLB@iz1zlbenENS)ZvK44R6mmUe73@|hGZrqnkK12qp zwe4x=H}%`od_BMS5__So`?Uh>?ZiYl^It7notM6N)(44?JpgN+A-2cPAG7nHM1JWR zU*dVAqa)ebntp-*caFq2X~78kikxNZz1ZL8tETMEofd2!XI;dwR0n*B#b7-n-oVah z?fa>cO@JABdbK97zrEL;mw8gFJWhTbC~O&CFd7cwIZhk(LxJmRi{yRLl{fJS{`icG)-U-G z$#*DB`y^9o-bto%+jWOA|JFsV{dm$n;R}}>7QHp`ZiIfo8_TA%vcTxu$G3_b*Y}>_qFbYE}3eGoBpR0~Fbt$4l#(LJ7EfdYNtqXhw z=2_qeI~)5x6Lupq&+P2T%mYsIt}s&hwyxWu)4*!?7kH=V^34!UA0dCQEoCOHGu98- z=LFYmK4Y_%{I~Q%mjjDd@vh8Og!X)J3%bcN_9>9wdJ=jT(rNs!Aw7lvMWo3Sn~k0p-t&AB=`{Y= zkfum?G-GEdg+C&qxgZaUhHA5aActysdEo?s($S!pGTb@WRgj& z<;3((N?-jI@+iM}+q$eaW!p>I57DN2>eXHkhqoK6HbrO?{h!M_wL$MLq(0Rv7*tcA zWTXi8IO*l~p_99aF{@~5H*$_=?=k7T+GgYT+&{Fs-B@`XC$o{hc7C(*S)P?}|4s?G z)YxuBc;?p2iHD82)~-d-R`l`q`h~4Wdif%JW5zQ^TN{}3i>x><(#t*2=A6?s*zPWy zavd=EB;EW=zp`}m@4P->bMHehU;P_z-`8#37X0dHVwE1vx}R*n1bacu@dcPe+-xL! z+7M(sOXpc_QH<^2X8FCyA3(k)5om>VUWn`g6=u7v=NA36d^eTyjdNI?i*Lprwy*tf% z?=a`(FZ=7Y&P)@%);@vkbH%le>fDFRp@~zVe`V0Y$GA4H!dLd#X5)13i@D!D2^;)M z?D{<0O8Q;?H;|6v|GO)&?N4MaC2i+egQ>j)}8oeAGR(u0QC?w-`7Y@jJUiVa^5RTmi-2%4d8pgSHgn`)59*K0TjBJ3PkN z6gGcsA{Guy$N3t#=+ygXvtH|+d+cPp=yc_)Q@xZS{dp+ZlH7TW(U-)}!drj5f_(A9Ss70lu|MHZo`bm>%i- zBlGr;gU)TsqYQsli_Tn|sc$2QK1pIBq`gTCY$mz(`)h8{LYEP5z^ z+=eK)j-JCg&r>~&ajH~#6jjQ%U$>;U~)|>|>vbPwV zk{;ZQ*Tx+F2ENpSn==lATeeO9mDfa*K294n{@FJ9i-#EhYR13XHU3i$G5!w^QJ;JK zEA8>G4h%j1k`MN{#`Ipw9cug^BCp%GDmcXWuVehzxyHZs5aZuu_T$jwKg=HgG4#V3 z|6$CH?o33PM9!)uZw;N4y{@l-lQ&9SdVna4q7CGN!|Jo+Q?cUB&) zBhueV-YGQv*w9v(`n?5wGa&zL+WQri0qz~_+@WiDr?NGd@A z)vq6Se$=NkAJGw~JoUt$iZ+-yUd;aBDeRq=ANvHJ1-VMNO1a9}Pt4v{@>%U=>FguEfM>EXi6&?t@iJ#0aXt33NUXb&a-4m{bLbCTL;pVFQ=|4iV)8u1^)Oc_ z*LJQQT+ecu`-n+jWP&7!CL%wRO)q%zYTvncbJ_OvFL^Fh)RQglnQ< z!WV1bz@g7c)cG+^U!K}E(3h5fpf5G_rJBA-4w>=4+?P{_@9!U%8~%a5MCr?1`ZABc z%==&Hi(8h<-YfW7Y|762?6o<2pV%*dVd*LHKTO5{GGOHg}9i6go%qsh9pHTL-2Pyk1SJ?|D4z&B0tg@Rvq3mS` zDf>H={o5jBp>MSt%Z_BPAgNn#B;RD&_dKog<-|4@vGj$~Z4`iCiivgI;sbp;2U4+z z%Ao^#=M8aYV`%vpZ)oY*eB=%J6N@gCi?;~I70-sVBk>IjnlTo-WqS^Td!i?ws6&ma z4)bhO#?9Ivq&-Cz9T?ctq4Sd5Ji~a|e5P|xJB!%&5?$4Q z?y1(jya$AbRvyJ*j*~~vkx9(BT_65%;C&(Q<%6X6#1=8%zw3Grf8?8=_5GW?pTn~` zE}PH<_H@XuHEYYLKH@d8hdbUilY8N*+V8|?zny**hgy=O*sHz>`&v2UC&I3|4=ytH5wwe-uw4+5JnyI^xD zxcmiv_kRK|%l^r55pH}JTbdg`rU8SAP56ed$4;MxJD2lr()xz9Y!vdxcYIv}tAuBf z)O_g84&(#Hun`TFd?37D1*}cq9rEZr)B8pb#B<)PaR^!bd*cM>Q2jK5js zLT`Pg;Os1D(SeoLGtQkd<5hd(19kbRYoV(y;)oB5SH0R*SA(lABToFeXiN8ayFO^1 zS>H|6m$K_)ABgY6Ap0$|`WB%~(KYqIgFKQK#AArx`>Lxx&SLNHTiDambIu2&`aWgD zei-_NFlUp-sqbmKzRl!sJ4k&MuKI}i?px%lPjlaarQqYhQuR%uKGkE5s}+kI`1Hzm zW5zeyjW7C%sc{N>BuPJoE~^#aqK6i>8zb;3>cbD_ey-JA)3_#ay%s`#;5wLm;E7t} zc|5dBRg!4OlIN8LwB4@VZ* zaQ(oV_TPO5>EAaFeFo_ad#ury{!`B&{l;gk_>Z!Q!WSLZ8KgymHM&3d8KkrRg#F2! ztN-{Jq&{;DE&LFFpqOs|TW64709+is*BdJ=x-!%mq?g@4^ckdI=bba}hB|}vOy*xH zb5(RA`wY_Z^EVjf=xW~mTD$RSWbYS|)wgoZME;KOEX*|z9CiH7BxmIj2Ohx*8&5=M ziU%q~$e7@K1vEo`E~34;%mvz&`q5m*l6v89eDGO(i_aClT>NMLBa5*orRcGB#^T=% z$aLcCOy3pis%To1ZrthZQ=IAhPE?(-gs~of2g>>OuCaZ`;KM1N>^Du8Ulir;4)^Z` zjURc1XFKA4Jf$^5c5O#)boRBm`+}_^u*mL9{XzP&M16@^_@lk;6-{f?R}Im&i-%}i z$kn#}bEpc*@qAHaG3jl25N}a5+_L)3U$G_g8zm&Z{~d z-{uC>rsly9HK(e9{WR8o4aEkT?q#pyb?j9fhCXM(fWE`j>(LiSmxI2;)aS6@#wVW4 z0LBiz7CjX$z3Bb{dM$gBL3{Ol+k*X{sMGoD=LggAclkdQ9pA@0m8*I~tP#4;Q1{`` z@fW{x_QoI zKloPfwRS(}`t}_1c#U@C0G&h4o_W{zXY#Hv(%!8$EOeD2zVKmJ87Gs^?<(VXR~h0T zitI8zpH;>WU1iArU+gMltg8%5&$y2BZ5%ygV?u3;P@Z@T-7Eg?MJk_u4AL`3E!@9= zcTWFrW}I|?{wIu=sei?fF#KicHvV9<@sXE|>-YmB_Z&HA^vB~#)p>TAYs3lkDT1zB zw!Rt0OXf4ln_+n8L}X>Zys7rjH(_Drk-QnS`D>poPextuC2!{0?;Uw_j_bYT%^n*r zqwMb^ywCQ1iV+LK(Y1*FW$$g<^C#ih!S($cD1U>CR$lgRwyz)XdFT0oy$ULKF?koe z^8We|<<2JWY**f}U2e@=V@*GvI{aot7x!G-ZoK7bHjct~<~O8Cd}DOg@O*kMG?Vl_ zo_}~vyU~{eUrhRa{%po-~3F1r87GKxh8kG(G)`ZT9lD^n)p06yqwXs|D^1eu8 z(r87;5oR46eaBwOvsyDXeucoVy^4!sC!XlUH4*aGqP{NCoo?veSqq=&Uv?D z+Q1hM@n}R^Mm0;j5G8erM`N#i}rj{nez@a-<-qDH{&q# zg%2}dh278p4*jucgvncS_T3-;&)D8KUs=~5ck`=?yIJ!{&w05cdi_Q?`4!1wb_`nm zzs7!l4)4$As-I!`;}y!zYRpcRG7j<;n-V3S8{>*0#b=&P0#1p?D`t!pdwT-0;V)x+ zO6_yzi8C9}cg|Q!r{;_$`sw5aq>L}9f&;qSr;(tZo9}3DJeAC|E zE1>h>>PR#1?9@_YMGt5Gbc?pC%shVwwi=xw8G|3wJi-p(s!!$bHT9&XUqni=nDe;2 zTqbSpFJqQj#wWFzxoYmQm0cyfF2~2O^Qv|u!R6T7Ju&(f=CWx>qrcIFKkKy42=992 zOvb2H?`gkiPCb5wjC(%z=Q8ROk5>@oJ^eB`H%)rmJW|0`x;8KOh4@xw>)i5@HAIIT zJM|~c_rm&B$>HGVJAxN&5N#6;5zdIl4Y%>;N3^%mXiONb*sG%GcsX-g<0<>4*-pMw zz2I+uY%HB?Z^YwWWivRxh&IpoCUdGjp7McLmG$>@8=VGm?~T-R<%Oxu(c!6U&l{Gi zc!Idd^^6tQKF$pFcdqE3amw`6XDf(tdOhdfcCJVc3syVaxH`+w@Xtz2 zy)oW(1~8aF9*x(<^j&+#EAhWsKfWM!=lJu%sml_boO9ml@t8DSI?}tnM&Fd^`h%Bw z8|`qFdA7#C9vQEGWp_c&szecKG5T+(9n$5FAioi0{DZ5y^GNeZ75BR^r2WLPWMN4E zS9SXtL*@Sq@K-t6XYNg*-KFGLfAMc)zR0$>vU~WLSfc3vv3EZ3Q59F;zng55WeKog zqA^lkC2CBgt{OF_R2PUEk?NwTNNJy~rIjMBsnSZ7M;8cxBt)a4K#;PvsMJ!$O4Xw6 z6DzjXYSsFuwA!ahmMuukmRhSmRp9;p?w@3`CLy&x?fZT{@8^@7*?aHYnKLtI&YU^t z%sHeb;F9!y(*G&Ww_R@pTlGjH?I-n#5q~CUBriX*SQ;7Ycn4{wVzct^H-++U`<_hfP;Ptsl`T91`u9+@QWxzAnzS&lTm~-6Ow|OiK0C)t}p;@+T2jB#A8gH*byTe8sJM z6!AwTuT?&q#)9+1TOP`cT6SZX%I7;f=IHlXuMQvvrt+oxf%{wo?w!Yc816^2;C}kx z9=KoO9qSu(K4$CM`ht5saQ}P&xUH6lGeuc&-wE8sF5G+jf%_8%+|fSZUX}%S*ns=q zLBRb@;Qr$Pa35&E{3>S&!Gi;ufcqd9?%(iC{gRC*e@^t^$*S@X_xJQHxaSgs%EOay z4Fc{u;C{%h+r|@OUYdB~#ic9(&N|NS-2lER^>Fz*?tc!9dM5a<;r_j&KMd!I2Ap3d z&o*LDd2pU@!1-m~^@SIQ0_Uhw;^-o4Qa$5>n+}~0{l3@jpBOUfSReHk8TFn`o`_NJ z2}Zq9-t|?lrFxk^nlGxC^I3)FUwP-v!_W6q_s^)i zG7B#*q;8G#!9j;c2&N+$FX?DJd=PCL@4_b9_BJs+v-{-%12)mNm+`sb^~!g!TI^)Y<&X1xOpP;o}ag9sCUBT+nxfhssb;M0NggGgm` zQ&Y#;qz>-)$Gh$r@pUK0HFIl=;1aCiWTK<4US~()b;uWvDs~sTqd&0s z3A;MtP_q5^$oBPIvaiS6;2{#L(^34cSk_eSrz^q{&YZw^jKwFabm}9lr8}jUuJZUj z_y~=gcoXp=uT~B1#P%P4Z?(biP3`9Q)CTc;M`J^#vd6|&yX7wGUGDf~yY?*F%Uj-Pm+kFG72nI*bFNK)n|6z@^+laH(!{V$-v-{v zX8lHDJl3(s7v2Rv#+@-8!f)YZS&aD91`dBtI2<|Gwu=~zO$4!*oVd6l=Zvs;h*Re5 z>r{E~eTVX5&UvuE@jDyGFW*mD!t=Mz#U=(>y{Sj9yTMtTJ_!veI^x6g{6}gBZ57-{ zkmqgWc-}n!4evY}MEuG=Y43M-yYz3FJI~=^LeQWJx84%ITaW%;^TOkuv{zh7*>!Hc zird*>)VtZJS8+Sl7wQ|)FY!)xjO18TdM0#VaPK1~sOI3;tmd6xBTh0gLU#q-`oGQh zmDI0Tvu6F*P>04?-``H2LZki_M*XsPQvJQ^jyI*pxOFe)z2?*++T3-$1CR9Nt;hxx z@7}9ZG;Eqtr|bxl$P>K27Cc^G%Z{K|oz#b{Ii2s;i4B2W=XKP14mQ@uaE-#w_APXK z(($d}dW_#|xQ^m?KGzleK9}n@bb(iM6>#m~nNoa=0^ zT&~n8bn@pP`^M-^O&y9cDjvEzN*up>NALFw__h_S>%`KtWiH~652HPbsZ|%#Uavki znX~GeV~V9Gdn{~$>@wo4^|F5uJ(PWeiBQ!cpARJ?5n%nI;OjI z5InHYF<;R~9eI7!@f3B;&Z^@^w~n}5$B2IFsP3bVH#Nty@MeyV?yRR;B>zL`*@jtA)ea(+VA9ZZ$qmFB-V`^3%r@M8`cI$va z?XwQ~jmU1tclxN~3)JxeXFX-ZQ3*Y&PByXL^^Os)c`duDYGS*O4e5-*xVGm;7p9&a zJt^hLpR6`NV_=a_d-X?IvwHGQZXW}TfyA;7!BgH0jfrwLjeI&kI0RZy9vzx)Jaw=A zjbrzdXqyNRm20iqsrQOitnwBASLKhn(i?MPQu97Pl5GFEXbJF1hAkMS59td|t@nT2 zx38vfILdYPWs6JJ|+5@g-FFDt(GJw|-(@49iaE1iB$ z-Nl;defOiR?;bS1yFcr@9~j@YW_|a#@!gNJzI)X8?pImg{lfTeYu0y98sEK|_1$lb z@1D>4?$^e5?OEUb!T9d?S>OH6`0mZD?{*sBrL(@OHH_%4Ta-24u{rTaT4b~^LS9lyUD-wn(9Zio?gJl}rT^IaZ1!Z9P4TYtd@?^UjE zb2V^H;yQ`z{So;4;<}$}CD(s&P2d{J_5SeX){|VDxaM+wmTL@G0oMV;NV!slJ@$HG z@dmLZdl>8nqO9j}*6nrB*Lufx_zZq)E^D3?gp=)`&9!X)Er)&!f%DqyNcJTex2*$# z{||)GfkYND4|>}i=fe-nuG;Ru&>gmHERScNeq-4@<~?J9d_PFo&0UM#`**k(JhC;> zyjuOO5w@*_bO(nU@a4JidF6ThPp#TmFZ!iDN0Utp{qRHOv7zi&h)qmtMTxUcnuD$h zIBOK6S#7p$j@eh;a{@XoH_rNopzODL;;i?IT^?(-<+l0owd%K(_w4DMhm29b#VZ{| ztl(RDW<{)2U1&+i<`ZjeTB*I;-s$^~r=0{2TjmWtSG@TC+Cab7DE7Kd-zfW=2K>9T z;=~UG|K-5C6`7q0|79-xlYqbOq#pQxJqY;g`+&c+k1@!G|11Ok>VE+KQ-QV6fd63n z|3sd}fL(2}`~Bo(YTY1UAJ+%$M-2k@gACXk28w&1g*yS@oQmAh>-!^tJ(p)wvS6d-My!CJv_Vz`xsza%&#~dpPsM?M*C{>lw|#d1bZ0>y@K+21{;3B18}bGZ|2e=qkNtqx|HlA- zt=s=Ivig71AmG2C5BLuo1pMU&{JS}4Gg!KRFtBcgNB7`A6!?o=_-AIppBM!ENAv;z zk%NH$z2kf4Z*?~O;*a6EE4eI#_J~J*V?A^e_`N-T8SroCnda|o7k<4H{frs#vvvl{ z*n3MZmqQ$E_=GK5OSO*v1z5~|!>i=w>}Q9SOr{FsiHSVs{Tko?A45wnuNa_dT)6dpecJA8z0~>H5aCS)qnD z!MKh-A^)xmit|%n7xn9|!U+W{C4c^m(!HVz}Fek|Z)luKWag zP|`-)F&r32!>jx!d2~Lu5V*e-%1K=pnvl}@s^drcQ*%e3MSJ*tfWN!$VSJ~U@WW_Z zQ9WnvD6b#}Z$s*fFY2fy&B1m>JdWk`qdkUSqfRTzUdufjP%>WahsVL5r#wm-@Iqyz z;<3cvYV3#6FL_pjy?4q>ZrxE9YU-#&cG~7+o-j6=D=%KeIYi_~fw=gu$*DZXd^GiX z_~8RT)EBd;Up|6EVfIfk$&n=YzjdcmFx0tlLVK`x2bQ7qD>v_`Rwz@7X2mJqWCto?HIifL~bmMi}0-nNjw1no^aZ5AyEjFe5% zGFvw>ADg6A$7S0jwWNo{=~rweWS1nHm=V@W*Is5NvUlVW*vn}Ck3-j?eTQc=vxu@} zW8&x@JR1|f39ken2Cy+1Q1>7klaPb=>{*|yFl<)W)A46}DjF!!TP>DZgRk0skv?9)8EM8Rjn6vkeIcan|x z;>d!jZ>e3E&f3@8wuHiK;jDa!Kooa5KKv)!XZCdtXoPh*K3U}#EzuqtabdvRj)E>1dv>+5 z_xk`JOCKOJ(!Ni0XZ1^>A8pTWi7R`G=F=8`(!5Hfmqz z1maZ|vKGk(ae}pAr`|C>Z?M*2$HE@LTKon!koI0%wtO1T>==oxS@wJLj5Ga9A8O6j z8Y>#F^%kEITt#-99oW^j2=GP>crP2EZP~HgU%$8SwiR+7UTrJ+7qzW~HjU;AbJ;i( zXN|M&q21U(+E-6|W9XX9*z89Q(B4Y&R+J?!Zycb^R`N_Knw|ysX1+E32FC_~yP3SrMm^66ZfuCPzWkxR_c+cb?`$J) z%>d=rk=Kj`x7jH7Pn26i9l|;LOpW_nV_U*^B}N^GQ%Bf+pFOs3Gsnz$hHI!p<=)=9 zx3kLqhIKGF)+qmJzIoc1YeOjCd!JqYdh(hv0v1xf%9RcNWzX-mZSa4~oO=A^HP*5h z8?9#2h1}01J%#(Rq$hD-Li(o{8m%|0;Q4sIiS&Bz8%VF?K2CZZ_f@0^aR1&(_#=M4 z(R!BjF`g$$zsCI>(o47>OB&=pMEWl2>n9Qi@z<0~>d9yQp<`Ws!C4R0w@Gj`Y2fHH zFZNH9=8<=vk+;?!Kh{p>%$cDV7`w@-v#b~B-q-HOtdrssmgy4{UyIG;Ma_t|aPMBYutocJYm=$uP--xj*%FNAk3GV01cM^;5$-uvvj zvd@v-PhEDowCC=1dpl>t`@Rn@x1B(&&gUAf&7@b8PK^*NoYq)b$0gE@*Uwvrb=pgILqF zz4bWS`3&tOy^{MWq(^XHPU@}sc6(XxWdo?SAAVPR0Q)?u_TibmqWQO{qs$?_(^)z3 z?}PpR9?n^4C*uRA-DFe~s}3aSUQT{u-yok?+O(_Sg7ryN{$x@84fzDSZ>Q zR&GD8b6>Z=KJD2qrynLAyT+>dB|MXR#`m9r<+?$@@-FfX!7@J!me+uxwG#Y(y0IG{ zBUbYp^2M3QSV%tNgFjipInZcSapEs(XRm4Fkate0mHasg@-dbLjFW6x6V32CQOAd; z-PmIfB073UvPlvt>BQ)q8~)}+UFi6 zcjI|bxRKBJ{RxysA8m*T<*@JUY=?bHcK6Ks(;0NcW3hg!d zqV`WB7mQ+O>FoQ~roUgodcir3`zj`~hm)*GXMvD)k!sw{eW85d74lp%rVy#@1d95| zSHg3h{g8|dn@;v7Yq>sLo@^5wKS`V=(wdRuZ>yrcoJq1}EvHuu?IhOFE$)5TJX#ES&s6gW8wjs@; zPY&+_KSdo5E$U659Gd0OC;jeCpJeMRy0hqv9{Pj~CK#w^{IF?Ky=idK-d~4VXDnx5 zDZ5O`jzq86f9w+dDS)<7Pel}YzGPe4dw(Ox>P+x1Kc+Us+TW!tyKL)hn_lVrYvETO zc@5tE=rz_2e`vJ+`we)Pqu|5)@$KrXcleFtfm6Kf2NOT+E92Z%Jw7Bnf3I(m5BWdq zg9F=mBaikt>dS0@uNl5EeLQuk492XN9|qtN{eFXYDqA{h#9&RHe>)2B+9fpHj zPp|Ir9iw`t?5Cas{(*W@UOnvX9{FopDm5oh4^YE5ueL0RAJ} zqpg!u(h~#>KYHrxBK9W8V>`4r@qD)SHK&HY0A8qkV@`EH`v>bR`55Z#-bd0-Ujo>g zlkK-Yyti|-8#6@o!`{an-m{nS=GFV(f&Y)LN|(e}G44~^b#5l`9mPgix5GafzaTNq zeP{o#a%9t(7p9I#GIgnNwBDH`%*Rr{&Hp$wQ1V2Jvmk!10GGG7@>7rGw)ms8_oKu4 zE(vZ7i>VwB2OXL9=Pq$#zD!mWgNzZ%S$u^=r`z%k4ACKp9ucQXh(^ zE2_UEU6P=`;1@ql*>hbyu+RsoKTqb_O!l}zcl_l~VB0ysLtFIzSl$aR%Eh)VF^V#a z@x3Sbh=XcX=$-s#`r%!oIfyg6NgF4oq~t@vhRc>Q zH>9Bh;8JfN2=d1OoP6JatiyRPT=U8|zt>vq;Z}Az-t&@gtg=!+ZM3?$?mT>r)p`W9 zn$+7z*mFCozIJ@3Wcxdqe{{BP@&9gr2VV!?!TLKedAV$Tl=yg!f%YN&>7^vMaCAAh zyZW5lZJkawe=AvvqZhf|)r}Bak+QS%m65Mpe2{z@*!z$CHmw!n@mTv)hiWW@%g{lG zSH@Q?J&XJS@8L&+_j0DhC!vw{bhXJ3h;~myRPFW^Zlo3!n0Uo&MyG-Cyu`(@oezzZl5d~RG*BE;fDlTnZ17bn!%BzO^4clK)+h`tJB{P zG6&t)$~WtIZ!C-!|@qWczJapl$r&@FiAGn{?EmU)=a-L~d0 z!EOp%j7onke{+7jZCVrjA%8j$6PzD?%q+%CZBX1It>fBL9ge-mcx&}e%Q}<3pWl`b zOst`-)#AnEw?}@lB)eIaE=(-tJM7ot`LpSVzEj^K2im26W5tORsR&kxOS^Z62Oe#R@vIC^WZw+B=Vhq3Tr zjt{dJ(x2UZ!{2=P^%O0Wj!e%B*71Te>e{+a?_U!T|-TIR~AIEHIJ2 zU}S#kTL+wF+t`VZ(jKO;zBOHkp0qh)+nlv)&S*a@-={irT6<-2r~JkV?iZiOM;ZBK zYa%-{JC9_Fk%b+S8z~M)sGhk-TYb!1*)PJkY!SRa1IB8~sSa_4o${mu5^s4dZ7+B0 zi12$eeEICR@Yl+fWD#8Ymo?U=D^^*fzx~d>Dt=Ez$5u_M_ud|@o<18-pPh#O+}yiq zebIflE+8r!g*!Rvsjj`}@4^uA}XU4xcuJfQQ)KqNbN>`cnYTV~|_*1A2!)0QqQ z+5R;C@g)0y{vmW32jb`dhv+Iu2dX>UhiTgYb=OjNtx@+h)eW30sMk+?);!|S<`XwJ z8hnsgv=3&+S3F1z)dphY;?uOEp-Zq`2yE5Bln-o$S+GU2`Xw8-9|K#YpMJ@P?Id8+ z9_FjS767&(z!uyOY>xoboyFMJJ=kc~lbZdO4O_Nu>DB>Yi_mWoqu&Z$*v;g|JW%uCU#qtE)VU)FEl)+1A!Nj}-? zN!B&|>7Lk1m+@SC`h)l$eieD3L-#H>zP;4`c8#qY)%zEx^!Vt#fOno>)_kK3@uL?T zWz><+^vl|6lrfHXo?q6#o!JA2$~e;~<5cpQepw$d%82l8wCme-dsZ1$Mj1zuFKqaB z{kBoYVZ1AI%XlfPj4?(TFn#u#pX~$odA>1y!2Vigu#fE}dyG5s%x8G#^>uKC^ZRM) z7)bW$*`?c|xqUU|jr|j6TdG36|=SjzuOmX*jnx_$LpdyA1 z)Henww~)L#L+h<6e_ktEy&`=KWxj`PgJd6mXks2T(F)$um0#1`<;OR59&r?{iM~ue z{;92LIT>qKZYDsC#395*49;rm^4cMIHdD@K!){~p0Pr-Ex7o=1D;J(T;8E;abN%oI zi2Ye}OP8+%-*3P)1ehievo;7!6Q=oySqogiZTXE8nyl-wdUE?|n8sy_39m8hIB{eh66YwwKcO3S#&M@zGA71Z#*dQ5wudD~4pE z_%63f>4OUTpoW;1^ug2pYta2 zJ8{wv1(p|}+43JEn_bb9e0N;xU6}0l1!*5`tfQ`TCN_6XoYvfxOSwVX?57^pn`hTW zJ5@Gy6j1hD$~MdVEM=Bs`9wH{*Mrb?fz1%M+oyL8fbR+ZlAfA0N zVvY68_ZzJjNE>+mAH1*S_b8r~knSVhKAdvyqa4zDo>^Sg{Pxxe`M8taw70IJTTlBE z+FLqy9xFJ5vx0Lw9{wzST0BhOw4k26^+w(ta6xmUoctxsQP~kH4ygF60IA~D`+`kf zzuQ&ZjbApMpqz+N&K1<@;h*-8o=vjkJ$}X~6nhvxd{KvFmmfekk@r`WE7^A4&lQ{f1)INx*Y0KOvy^X^8sD5o`Mqp? zpz+$1<}v4HkavcW_aVx+^RllKyb)wAqgrku9yYO~$s0BDjv1ib(c~R%ZLe7DK??t1kZ z@6|5l@ygGpt$+SSRzHE0%FDi}bT(zqHp={pJq|0=@4SlMDQH1csx!Xe!I`T|@x@1s z@2l)I!SjcC9?pbjg)-t>K3xl)3I^=oC)mG-WIVi9A7|U2J_AhN`)u6U2@Tw7(7;+? zx+u7=OZXisUD0*G#1&oEtiv-SD@do6Wk%Jk=*qeFn2hFyReBk;XiVm;irtwrgS#{S zYXh0wX+tvpic5j_9OzSBCO24@DX2Lmb9lwcnf8g$tqN%8#HOy+(i5RwCqd7ex^hKJ znM)IxOCFA?9aDg9iUHfI0s1yV-iVQRl=?Qfs%s2=s2J*!HK-4dgT{LE(OP!69Yg&C z_}vc-zWRFV@$zK%*EaHQGxEN-##uA8PG}!!1(#+*rJ>Am@V=sp@=YbXq}N8A6Sb_W z32bRC#nJxj_ZqEjg~SEk&}eNWy@C4~q(^XHPI?gc9}I;?-V2Q+eT3(ClFs73p7cMs zuO%JDeF^EGNnZ|f2I(I1k>1Sx9MbXJ*O9(Y+BO7Rq`TRllAgqU3F)8KW3L*(UX|yY zNU!IU7vju|8RVT|Frf^N=n$8vH(zq25Pp1CT8RWbl zI86UOc`kc5zIl^p^B5mrSU$ih8(m>OJ_iF~WIl0h(;1&wT;qOGO69WWLuO*@;B4KP za6vW;(rsx>obwmXd&vrs5s}}K6Dyx|Y+gR^`P^$)SyQ<@nSgLIJ67tGKktbzdM#xZ zA)~U-yn_pB`~G63hUpufXA!Sjh78fA@4e*ytl7Qg{xQh~Kb}~r9=%b2W%H%eXq)#w zn;y-D?#(sm-peh}BgVv}qtnSV-N!6QqQhJ{!?Us z>T70RC6V2Rg^!n{%7H%;@9~lOWo(eD!KX+R`AovWE7?=HI&k-F+M+k;rvckx<7n1A zlCFCM--YVMk6k4Cj9jE=4)*=cB`KZPMD~nMhAY8Y>cp~iD7p+ePYZKjFve0P=rH)c z*F0Iuz3PPDbNu@*P?omOWyVE$@l|b7e^H;77wBhWRpJ7CaXi z@SNWVJf{p2p8H*Rs``OPzQn6tc*gbt&m`dS^b5DmQoqDfkAu_k!|}5i1#f7(`cgE~ zx~a#v<3r?8d>iqJqSv3`9riZ%o@gWQytAnE+0Og_;FOCkcQ8U9-wnRcb?bVHXNuLB zU00euksYoF&+DuWUR^mxT|dgI>o&Kp2i&^u*W40KaqS92QJn>ulF~f)0n7tzlfR{jAY?jBEEG z?fi1aeb~-#@=ZN5Nzcyjy(qj(xW~?~&dB4)+CFUO_cq^1*5>s0x*dO28MMEbtgT); z&}93cd8aug+2`>$JHNZAV<1_Zrpzy`yx-y*0r^ikcsPrFP5>Fu zPWD3!*t0Zz&|=Nu+Q=0mrcYoKWk!?jEy?ww9?RlTg^Q<863M21A z>|u5O?=zR9)6+f|+M_b(kZ+EW@9ii1-&e=TEBjbamh&~r)Smeh>`63d6^C0qRV}G# zlj7S;H#`acDTEyD-Ibj8`+JLZ-yQ7BNWaVdQqqgLpHAxW!a6Ul_UnwRQp_2>Tbc{1bu<@5OB{pHg-DP7%!FBR{a_q86IU)BaY zj@0Iz!Cen=X$&;p#9Q(`z`b}0JNA-cgXv2!Uz?Nd|J{m@%0bx4p0E;rJNnV=WN$tL zx&uuYOaaF4_)}B zw`~(rdrxK$$DUI-UPM}g&4KVd%-e=PoOY_vo zI}4nsjNie2si(Z{v~{~dGhU}W?|pW8t>kSr@?K1NUi{O$cNDw&7oB%l$UcpBv)5+h z06rsgiQisa>Do|>*YIFgo9ZdI-YEC60opW)ypxQ)C#y|r4|0e@U*h~%^eNlcMS6kT z80Wd~v{+}|3V%g9f%|gOcWyz>^|u!5zj(f$^eXP>l6rQAA!Ph*t_(_N88tpRjExC% zGd>EN@oVVO+M5P|c{X`x8+ijR%yTGPGIsTk`e73JCK>s@MVa3F?6D{(Z@H28uXiw) z7~2Ro(O#S{l^Gykz{oelF4K{bXP3Dh--X-pcj&e0zf~sk=NH(cOnjGlLHR`nypNOr zaU=g{DBF9VUG^&St}^oeg0c%kcYse#9Ve-5bVJsxhci{^yiPzzbn-;*k=34vZs?S0 zYmtLhA-6p_laD+#A3aq*da6p~x5pyKJq~$p_B@GDU&N^Ir~$^Oki3OP-XyRIr(}l{ z<=XZq*3aJ~hYYo)e7l;va{k`j6}S%@lV`9oY2i7zzKT8Ha`uOJk|w#b;n{?5#ZCA# z^!heu0C<*@ce#;wp5USHXBd57Po8=sPv(g|o!zP^f^V+WYrJu?ysHn*#f@3p&`aO?+&+nt(cjCiv zCw>pTc0LVU-n_|%OL1Vf8hOXN{T^s}H*-Du0ITAW%-${Qx+Fh8ciC?A4Y#LTOPyHN zKE+>Lwkb1y+3xesMfZ}+9JkG14YPtTxy5cKDEPZ z(?IQ+35+uh7*`C?o?7zO8hMAiVL1_-y%kMe(CL9>U)2X zSl6W$nP};dOl#?nGLlc{TFEDKtmI3g{qIBj19m(leB~k!-tF7kUI~633w|9}b#!uSGiUN^|@=|_$@uUwx#Gkmm0dy$^qIqgS<10 zy!W_m^s#o_{NldOkAfd1lv!ewSvWxbZ=+j$+t4j8R{hLtZ@m?MWb0VpYwdqM&epMB zMS0$O{6xCAa|q+)o4B?sz&J^FZ_($$irdi}paYu*O-08szVu}DW$5{XKF09D%oFbX z0vE59p5?SpBirSjKlnr5J9BRlIN*(iw{~UQsyqYS{muJqTa{XO9JGcX%Q*O4-r)+H zcd)GNy0U!(JupCB*}B+c+`97U8{zM1=vAs~(4*OF%I#e>)38ZE?{o!tpI4gG-R7e# z>lxwl#L`b^CRLoCIj80f^pV(4XYprq(YMYu^sP$=fNctSrxXlD#3wc8E@J795;*9wevwfyG!#}y659gyXmLrqu*BE^S}e; z|4hY$cK$%krp!6mX-vXKVP zx2yr(`>puhYuFjRE6{nVyJrE%gR=9GJxKFajt$Eu)**c-JD%-dE$mFXvbX*1ue9z? zMIIlLz7t;oH~;J#XAFg>+x>Qn_0#4?Yb)s^@OF2S&f>nF^o!irksiqXXwm}i-~4Nf zwdH2~CXimi^BC!&+?SEQrsr?9SU25-?+emK?(0cU=f0NoucX`l(qi4ygie)o;d118 ze{Qi(X~dTfX)gCWGcDG`%kbqx`Vh}ok$#!`*`)82wso~w_uq()lynT`1t{lLzI%Ol zi}e!aK1#Zn`{ksUb3ci+l>0F0&3r$H@5b|e9qC_5x4j8GOM!=UI#+2rxXY6zmcZ9a z*V320c&+=~v=aHXV=I2v){ky0ek$aIR z2mMnoTl5|1wEL=0_4pzSI=nqCGGTkK+iPDNp{_7>k=NVb&Y`{#^?9~X!llS$a7nTW z>(+Em9NBX0<~Do3=ju|9WKHwM&+PD7?|^f$)Cb7H1IQNgqG!RMJ%T)ny-0W*GSMkI zbJ-$0uP@TiA>;!2;beP}Vx(K+@ZY9ny~B3i zdGf}e+ww-o-)3Q4XDGz~H>EecIs#j1&9zvn5IviCD}1W>wtz#&u^0W;eT~+oT%$y@ zTv^XXci$=b+5*OpeT5wppon>}3c9E`X=Usi%aPyZ<5!dOqNz{hSX-h=*+Vl}JB0B_;dp(foFFfc80ER|nYO z>HzzX;SHP3R=@XoQ?IW7`RSg{I@+(gWUnpxpX!pI+ z-&`r#lRI^-HheYS=(cOMEf3W>DaTe|HGLMNKW~(tk#?=NZ3MjcUR~%?)4@ct{oATb z?TfEX*G4~PJ!;a4hg=CQn3HTu*K^I~O4c9;4y{cq=5>Pmc~(=pfpjTXAen4m;(Kt1 zVrEF58f7 zyer|i@=wXiH=TSM(}rkMIuUP5PgyKK9P4(V?{&*sgzRT+dTC7gVk!LG1f@4!@`dId z?3L{~_Zj-oTle)|=LNLBucz(};kD`Y+*bqp22#!dq^p=`iAYn&S@^lt`F!LgZe5Fu zms0jwwhSuf_^xHHcz#e+w(_4$s&n@mXPw9AIpf^_+52PM_vYFAGUk=ay527HqSTFc zna(+$o5;`oF4|$YufD+Q+z?m)U7UIzdSTZ6E9nLYsM|T?jV-3;yo;kh&C)xLb<6%G zWvTt@XXs$*v+Pe~|1R2-{>dKB06Oo?y{2${gOM+O>z>X;RQWDVMJSi|z^mAqjy#zA zUGt3m&r_~!S-pBj#H}Z`&;OPq%%gDQtGPTe0U^!N> zfJ4|Ib;MY24uh=GR^e?s zb^#SJc%`z?0(3jT0AEl`Dt;<^-q-P5=kq3!auzQgBMrIv%=4&IcwWTwsifjTrjw5D zBVU~7;!S3dia(i2DjubtRC4Y)q*bJINyV?sBOObcAdQkXkk*neC9NYBye91dKX>`* zWBKoRtM{1o(yNoNmwstF-?+FxV7}NO^VP;x-o>e*S@eQ^%z$$?;?e~24Z`l_QptbG zH}JYs2F&GAr+u0SrhNf8#ov^ab9UJA^Pux(@KnIrdtF8p*2`u=-|3vJe8~7Xi;JyL z`&)bV;pboUtvB5foqvYBFG7FBj|ivXRZ@$mfS=q~MO)K%+AvOW`|RWOIq`amJ=_iW zU%bB28cO>6|7^5g;`cJr8%WP1ok05cd5zYu_}xNU#UAfd*kXD-mVBCc`n0=VDHxPK z?Q_i^U7z+?^`8G#ecFGW>FCoQQa%4-eOmL}Mr$?K_Saji(SK;MV*ibv{CM_5edsRl zpBETZU+4T2eI5T_?&}$DUr+rv^mW-ajn=VTb6;z*HgWBw&!fln-PaSLnS;?2-;15j zN7WPO{V(_R5Vx=QocgcF>qo!QXg$GI`1=;CmMcMjzg$UQ57H)UEikvm8suBWwuh2k z)SC?-w#m9pZ6lA~Ywwvd@<>lAThMIZYd7K6cY~Yvhv2eZE`1@t z&Eg&88_f#d!FdcvKM_SofJJCyJd_XpuS0N-a0q$9jY(7DjhZKb#xv?=a6M1 zBlrW9=e^H{ztGJaaPuypylToC^?me>@Y;-jsrRj5m7ZQ@>-@IL{>zsB%a)#Ac^`N4 zUg4G@uSP#rWR!Mr<)s0q!^bGF( zq;Fk?4D{6&>(4yjOnMjh4WzemKb7<>?qxq=+Qf|YDzF?aV{Hp{1batGv*cGF_;n*sh=NS^0Pm}}cGsk!L5bO3G`mKJS zii}=;DS5s6{WkjDd!Id~Rc_vhn|B!fu5wEXE%^RR+VSzWh5aIY)ysBW`d-gpy;csj=ZvAFv?m78?) z%JyG*KQ}fDc_b` zgh}nbwRux#TwAl|$R`G<^G-MKD!0y+Zu`%oKGEKiP(E#??WE$%L!^?U7gDdr_lufG zjIVIfhg`$5wsy~t!dF_XLo^3oZn1t{kDQ-$&DS}*N_rmmRiqQR50JidWuvv>CG;9R zpGP{2`zq22+y_YC`C1R3Tj|Y_X6EJk0C=d_$W0xxVYjC1thr>8$<)fp#huQ+!nWCm z#`f^+?0f9}gW80S$(4`w>@V1dd}x0WW*;LNc3EgOGV2?=*8qgXTSRk2Uqo}TcS_xo zQ_yB5lfvU&vE;H2ee1&y&hiWK+ZRu?$)97CJ&17qI_63Mm9rBA!`WvfeHZlE5?o3ELsIP8)s5{nEx%4-IEG z^NGjGw`{Wg%gfobp<~^B^G|lJc(KL08v0W4)kf(ud%5@ag@xiL!8P;~wtnOFY4RoG$P=!P;ln2;y!&|0xrL!; zWg+a2U0xIh#im1(zOydv(V|;&^4c^$@*`V)3%D3hriL`*FN!{l;geovNH&sh@UH0p zyLngPlj3Pew<6lJ?9smYR>~_?9?{@@dk%sFjDgOpYkWN3ROQK@+$-;!gDCH<<(kv0 z($~UkCXmjRaol)%08CYY*X-|9Q&y-kI~sg!lK9ud)&^71-rJO8Jt} zS0iWgaHQoMs`1A8k zX(v|R7CT0u&SXawM`lV2J>nM43-o`?wJ9lx(Uz^_7{3@g7skJgyu>GkFHE+h|LgSO zV=e$L$VVIgy0_?zbq)3aqq#i1_V`kr2hM2;bWU^a9;)g4LgrQ&pI2pSw~LF|`u1KE z6Iv5}ZQ3X4Z1JWfV+2kz&v!{aC!W=Z&$}@FFvM!!5sf{HVx&W8qHGT+xD! z)S-UXUNVnzROZ|-6@n9*t5emFTRc2i|Er$!0-EPD8E=0KUua?3|KHpe4*dw4l<1Hz zK9$b~13pT0ZnCYj(YXcmxA-1x=r~}MVoB>eCmyNn@Ab~}_r@98j#l*KgzAY?owp-!0?mTgS%z|gSlt1<&MqFfuz>I$semP z%KL#)|fe7=RSjePju7cW%9$x_Wxo} zCH^c>FWP9YE%v@j?bP1ef`;|Cr;;yk!LJx%;s-@@u{B{|vTnzt;dN=*4Bd00*1DM1 zF!D}G&9@fepL|hTu`omj{h>{)eL9nskdO6Us!x2N-igmp`8#Nn)^C09_*IopRrtzY zWlXlq*dNS3zVXg-X4mCC-?X*Gdh@B?>w?V_XiazMdt1xFLsF{`KF5~bH2Zw^S!4N7 z$0wcbYtUXJXp^6{qAxwCVtq)@Sx729XNa^fJ!cWmrROXmm7Y^RHT%+YhIuYMr{rYP zbIOOd^qdh=={c)NrRS_Bm7a4fsq~ytQt3HsNu}qkBbA;rX0Lg@eE|ER0rDx}@ks&U zR)R5)azt!-u`s2aO1-ZkNdNcH2vw`G}7wVMzS7$WG=jq zc&OPU zdhgjtwnB%#MxXtLwoG;Rz;$88h?sBNMM|C|S|<5NJ?R{-xm*dZ2Ck)C%du5#=32qE zifa?Ll1ZMg=i0!vkxO=y*2$~7>rG_YO#aZV-(qg*{9irgXg@cHbS_tdtAT4N*YXJU zajoE5#kC20$t2I$b8X<-$fY)fNS*VsPW^MLu%mR(5!caH&GU`WK-D9f?tG&&x`R7Y zE4&X8TV~}*_6U8HeWzQt%C*8yxuH-QII;h=*(*Ci*_%%4fm^na9|zpC=x@RPm)`|< zP3fcje-`!&-12`%`EQ@tqbr@wJhy%LC6n#+nkavcW_t$P6nzM0mFq(B<$%9q(MEEvhd|NX>J?Np*g+|`ZS@mScFZTLb^=#uj zZvDt+(YCI8F{~=aw#(!!v9S; z*!^xlUDclqcIF`SNZ^BB@-aVch*0)5S8&D?xk6t)oHpQ- zW<5S@HUig1eEYcbu$O%keb&p)OMZ(!F8QE0M(W$0oR!>ZoRwTPK;Ld9?^Yx4D7SB| zL=t;rc$)-%g1D-=M#tfWc$ObS_7q*zfxWx-0X6Cy$yV&x5a85%!{FuM)%=#@CuHU| z#3im@x5H;G>8Pr2LLQZDkC1BYs*y1jFn3oTFTMVfHrdSPC4RBPinMVS$o1(Ino9fx zc)=z?1Z$A!x&W?Y_K1;l=FOp2%oRi#coRbWJAKv@yxz|eGRwM7SCGrcs z7F)^Y^lWf}Gpx3p^Dv*a#VbQN*vxm$#&_@ju>U${lXtd}_v>yQ!oecOsf24ZS7AN8 zJarbtg@22?@vqP#jx}u;zjLW@FXrGLc(UuHlO8&w=puA3=-_Y_I3dGixb?J(Q24cpvp#`(yt1GHr`c{dw*Pj}lgmHwJ;_gAc4`x&$R z?DL-+2Pi-L{O3_BAH1Gw&F>fj{vJWu(ixY8c^1DVJso;$flv9-Gm$k;QH+-s;mKpP zSNSvtOZeV7pR%~E2%ISZuQ+G0OE_+|o)r>~UJR~&4xU)w`uXPj?)Umu^Bh?>{r_UI zFC0CPXPAA=57C#!@_i>8mfNwdthZ#hKpgAe25p=TFkTuf=@D*wA-^+DUX7z*N`9ue zb7sBZx+HZNZSvc4rkLz8nWFf_p+7}8oU;zd!|k&UOVT!t<-Ozt-uql@rEy+jiF;n+ zA1fmi7cBp{4Xx;w+Q2`%4VuH6hv+d%Y0EB8x1~Al$TTiVy-i;?pyzBb&Q%@_PUzb? zJfCAczh`mJywbdz&im=c`-2C-rE2n48+mV|EX{54I(K|wFMCkN0=UM!nvb0366ssI z$05LPy;I(Uc@JLg+KujLH#$&f53p{>-yhu5DSMCY#mX~tglJq9-SCB5@el}?h z_fgU@+y_Wsy@d0TkF{8j@jOZTHSXt-UdVklX+HObr0*)^V&x10G_?~aEtZx3mUCwNgucnm`E?()eC0(d@q^EE{mh{RPvC<#n{(SC9Pvw3z>8|t88T}CWd7dO)%>8oGUt)9U z>5?X~M~PXtyrFrXlLTMtZ?)Hd&CQdR9^UEmt=OUYpm{4EvIH8bd#$a~i50MRDzt`URjI&N86u+A_J}msVYB+b*i@#|dik>E%XqyYIuZ$8iB+U6V z@C`mFUC6pj{NQ zm-S5YHfZHtsuw=NYR0EeNHR3eI>C?1CdO)R0K6!^+WnK$$Y{+SK9<_WF@ zaK+J$C595qd1$(l%WD34y0ZCPf4b96wJA6CeRK^cUKQ(MfDlZ9N z;Hx9<>8s?s#Fky&c7m1ig%@{NCqz@txmKGm^qcM1)Iabi)mLDJ+kD`d;_!)X3l{?Q z*d8R<>(Ec%S^}PrTLqrm`r2T*b%@PFOUCEeDMjIHFS2<|hqpu4d8{Lgn+9A(QRxk* zq!d$2-&zUQ(FA--eY7n=>WePv2$5=xG(LsavTlB;nD%P!dA#_}$vwP~a82vE@US4v z{uw+H4sEX7)43H|S^z&J9P>dt3*d=_Yie7G^&B|t?7a@S1Aj&P8JiF=%>9Bhw?`rjUN;=eE!9*#l3wrCxCCD^krc3#CfuOv8p#{VF+DC}i!DFFiA_ zAD#ajV=QdkV%qnVMkC-k`NsmM;u;CgT;P^0KjOACPkpRs$giuQ*mRABIIFIZRST_T-x|I(t+tqTZT?^-F*17W-=+UjeIeTRr**}hZSXRF zWM3L1`UUV~x!?qN0<4m;BX_miK)!v4TdAj!xkYK4@`F#Mapr#9;HS1cAX%34Ugh{% zdz4pu$+6@eYvirMW?pvFlFJ;@TFiXtDYt~YB}U%$l=|prJoEZc@)2H^= zX-kY}F$3nmEOgEeLOWAAllQXbiB2|kB;Uv17V!G(1@px&%y$^P{bHB5|Ho|kMC0K- z0P$iM<~!_h@?e$?lj#$)7MM5kY$Nm9>*uY&EPA7UUUO!F?f*sP&BR7lw1%_2E`Ph& z-J|rjCscolE|~tM5k>G8p|kS2@Yy)lfKrCtL@rlHoPHNL_5T%Yu-6~J<7KCdJX9# z>@mB@9lI&+*g5mY8@p!4so5B(SMJ}_*}$^~Pto{|um5iO>5$@W0H@7b7hCLtV zg2~iF_xD_5x{Wc!FYm6u()Zi$!KcZ1e43CR&3z&1TjSu*?{2Y98`cx^&Ks8w#zkwc z)&s$}6`R6sz^=128XK)!-(ZiUcUs3=K9g_HY1J$K+4SQ+)b7jv;|b8-58;|w_ubU3 zdNSuy2jiwbqD<;=#zXqw{f(FUP;^u_2-$t;J%49rV|NUV9DEo?Jsn3h*}loOLt6^0 z$PFDHG`1pr@Uj(M{|S7G6;^H2Glw4gp__h#ZeGmTE01V!Hr;FkkJ}79egPRs5xA-| z2Zz1nl-mLYw3RsXo%s;rLBjxYMj> zJ>RZ3zJ2Ql{f|e2ya^-kY`5PIVJyV+C0swi4Xz*HrKFm_g{-lgLR-_zUA=gY8(-^_ z%(Kw?7VE#y;GE}o@ktcLClTpl?w6D1a=-H~d>oyQk0a7GJWr6G$NdyiZ$B&hH{oT{ z!^;HmxM@3b=XUMiUOV6MaUxi*IdWq*BJvg)d0(V#?F}lEk}){?Pwfu{Z&8%Jw#)BrXaB$5l=Ti!M=N<-jl7RiN4ObT zU`#lBV~2Ph?eQ&qpUVFWap=P#_OGEerT_ZTIc3$qlyAc!)$Paz%Ynt)ld;}xk*uJe{?j;~am;W#URdk0M>2QM z*weYdSJW9AI_^z-j43xTG@NN2`iLEe>V>0+oA_C(voit1@8Odhd+;|KpSH8^Y&X`O zPYa)7ccfpvBha~gW^?*w(&hkisLK|mt8x}W6P7&?fDpC?tyEOD1LiF^8JSH zGTfAo))Nyrj*cqc)KQltW^gOMgW8(XQ=289Ta~V!?8p}`I!|Z%@D~`t?mf)>vz)bE z>-;t=(3!-y*JyhVeLUya%HgxL_W56Evd_Jo&pKB1ofa$S)5xAl-z9xLiJ$zj_{k?- z$9)6o>D$z_r{bLQj3D>q*x1NSCK+?;(pF~>9eVDX> z`#0~zCt)?RaMA~OzJl~J?q`x-!u?p%Aon3sZ%-n-LG8(P4p)3{0sUq%hqbTz_5{w? ze2hF$68_Fxa|*>fa%Sl7jD`05N%)7b%PXSHg7!Onqi{QW@7MZ$(SpAD%ItV1Y$cdM<~be>@AuFJBl92b_{K4AH{>hRk8v!Dahp}}<=zeql5 z1s6O=o1aiWARkLbU4OGy@R8xX8^$}|6Ye*xiPL`Oz8{Bw((yH$J`aBF(r@oM`?6=e zI(Uzt;Z5hMe`Uks3lifpxWMUu+Wn7=Sq|fvV~k@C-vp5^nbfM*59vjUzuxH5R$`gg$@0QP_ZdjQyn@N9_jY>3w$;u|VP;kb$j zc!*B{=7CkpT;aK|LeGgkY|o8_^f~=*Jj)?pF3)m}XSqD{^UQBN^Ybi^XL-i6Jf7wA zEZ=yR&$9xa6&TM7coyJUz<3tm*$|!$F`fsJR4~|8_6@_k13ZHtycWR$!R6>;#^{i^=80c>8$ve3GxI&ZAj(-n`neqnc#> z)_$gQ64LRt#g}x93hQizBNJM9wdBK29<3{nlSi_mJU7pE#(VMWN%#G5_x;tzd-3fJ z?)!ZA{S~~Q!?QUCKYUVTFZ*)NGtiHZJlA(WhS{Tc$BO(n^ra_@P+vZN)rb3XBRp$% zUq+0+P+u-5kNR?`+ZW}=d-Y|#``+uzu<>4fDgPV#-s{T}-q-T1*5H*dsOssGCi1*6j%|=fQio#TIwtrQ}$D zxJr2G==s!_(gotqjfUr!=$S(Mvi|gF@J7pu|^!*XuS$A_eN!-HH-A7i{P($zNxvzdh(O- z{O2}WYe^4<&s%~m$Y`E>w9wH9+IsMx_eH!@xzdqOVIJuBDAK|Bb((QgPdoae>F)ub zXi?YJzG+b<<55mOE3Q`L-$0AJ{eo!G=BqzUi`GM5vuV*VyZ?LWx<{8iT9jwJ*Zi63 z(rs`4?D=}nx}fA)t9oB6V7^ld7trKeL32F@Ac(fyw8p& zkKUqtjeP3Uebe=7`m&0?97~(V#{TtmUGe+Wm(b19DSgoOTIg#wUBBG!iype}(Pgi% z{=;~$zLc*p&2{hnCB}R8<(tqCz4!X^eBQs#v)7G1?#y|6I#F2dvg6{#lBsgHuPR9+ zT>GQ7!quqzO)Y8NAin8~KG!#4FIP?sd2HoAN4g9e-OTUTm$z7DT&Et5-Vb}Zk))?X zt6TWp+}L7mTh?NA9@%L93ER1+NZ*1+-_7q@o)3mTKRo8c^f}M&$ARhdgM4Sw=S|%A zN1r$HPU9f@{3d1VxA1;2^m*%2+Hvl&ZeQa{lnQnc@0K+m%DIE_xLby`Z?wwbRyF$wXcHFOV#Gg^!2l8BPmtXT|4V}>a)ZgEj z%eVOkBX2qNms5Y}+98<(spB|ch%qOGU#jCE>c|5(eHG|5T>pkcvHgFiVqMq$;GY-k z>U8`JhAKv8v`?0;Tp+@nY-#GM=gi1q*e!TICqG3#uWtl<7bt z|AQT#`tB8C07a0mA3z@}E}BIwr-NvV;J5CZpHV$e^X=2dw_h5dkHj;rH}d|GdJYOw zUg^WcIimcEii~f|5gEk-^KA)cX3`I#;K+>E?wrG0(M=`W@1*T*d-q|B+=KV>Z5}hq zo&X%)`)s_gByXjWSN4ai?^9cEPY1V@XF~NoIIsSPIlGs!d4C~wc*{o`=< zKKB|Ie!&`AHuOVn*fV^eJ${qGS>bq2#o?Ku6$`*;N9H;V`RNlAH)Y1*(^G51xM`a* zftu#7tu@Yj&U8I9WLk6AglWz_^P$w5_DDwlq;lAw`FxUjH>77U)=#gGRl z)}~DDEJr4*-`?|F%Ju5teP+U}P3KLRcyeY!%_$lGw1u2CRGh_RYUD)fo>-Of*W_gm zp17{dKe0SBq-IR!$%zg;*xXHw22ackCx2lnILSA|pdrJ^E16+ya1(LOknti1f6|p1 zYd%g0y0Y&eG30EyVgvOxq)(z95(9tv%U_NX3yZ0J;FG7qTa0Ec-Zh3jDo0z3tFsa4sEnvApHf;HrOO-B65+wb zTNn$c-_Z+~S`#11=)8e9jvDu;-1iz&#@m*~>$mq@I1j5p{>nE|#{bDu zC%*YV zdM3(RJ{&j;moZ1_uVH*MtY%$TovjyReiGx;)6wX=@$UR&o}Ond^JRR*k+awri;s0| z-<&ym;UUbq>pACBiY*|iH&*%Z%ROV2lexecE9srQy6S+<(YG0R?T*nCLFbvq$kQc# zBpp*r!scBE86|A~K~|NlO>r~jp=laB5tT=+dM80;Q{;f%lZ zb~*IDpE1Z0O{CAI8yxD6gV!em^?!a=|G#uFI?;LPL`%?#l6pF5_5Uh&zd}5ZbWRjm zmgb6!f0A38Hq24l9{{KN!oOfr%KlV`M%r;_r#_u2UT9{Bv8 zfzS6)UaiU^uCM$P#OR;N_ceE2(Bj1Om2J&z>=hJSDZv$R_xBpd&6Ks-C~LUg4rl+L zU2nD>?NWOjS8$Gsvzxo|r3gI}|Lwc4!sfXZTgKtz0-2oqhGh1)9}fjfGhz068YB4; zdWkW4^g71oAjXDtA@?&$PvL$n=}_)>U(334AnOOIw`VS4+&)Tdz}F8GUiQQW{NU*i z`@ZQfHsIL3!S2|ASFwf%)X&)3&o0hSO&ICK2E6d#{M1)NXWKeOh?0ZX(J$K57vaO` zC)A@o{-gO@+v7Y_d?oSSIu9}K8?PRfpBhB@cMnj$pYlCAtMclYcQI^; zr^JQ#4$Oi#pYvFrZ%6pdpf|twhsTAsueFQYbyiE|$`%_M9GuF$(>^1Qvu)GqgPZpR znd8n}+h3WUd~<*KJlWm;@_Dl7{pIuYW&6vgv8(5-&6e8YU7NaAS|Q?E-whslev$6d zIM)4S=P^$QyPqk~o$m87Jojj?XZt>farVv%lzw+lpE@w6iak0S=vps*4*W;2 zbG{|@-RF=ua| z{TBf~e5WE0=lodgUoQ*y<{f=fnr)9Y;jaGAc4gaR{p6d@*)HgceFpV^K7dxb^v|=; z`eTT7>}vKwBiIL#?qmL#Hs|6=G&gL2PtYy#BQe(dDY9XUkK>%?#i=>iyP7b+3}5lG z!B-rZ4Kp?iuH9_uCh~4F@-_pr%BrUP?_V4IKis_wcvRK7$Gs<+kYNa6fJEa+bm z;jwfaSu56l2YkjI*^687HKBcUrot@G_y4@N|Mr;(>_iXj^-lY|ajcOxY8Pi;2-T;T z6b8D)&jjJ|1_W*Wnt1T%YS$p&4K%+HMCK13Z|T~Os$9hHk?@X-Y~C<^HxKcgMo_qjZky)Sg-4vj6r zo=H0>Z}C(U))PORvrAqj9So^c~xhW37GP5&$9Z)sxhQxUQ|sdrp!FU2IrHT?pAZJ)nOe_6ct3gjNYa|Ul5 zyf_mzbyUmTtk#=X&KlB-?=AaGIER7X^4C`%xbW8i|1vQor5k>k6NWY4w3k`;t3Epf z|Dag7{}Z;zKtLL0@UdDJkTB?zX+X6^_sO3AEir z`0q)P#f+&~_aM$QEQ%yj6C-nJ;{^MK+2cm4egE=()O_=v5lGwj#E?b7r|YuPg7l@O z=cJ>Yf2+8m_P%^0e{R0ft1_%I50a-9A3*s!XQT!=BXuJ25ESc3ZSqm;cM)*DL?R{o zW>KOwb2aUwSlCZ7_9_^AUO(b5o~w7U^xfECwnT^Mx@sHY#_?W=xf*XKIkT}YgU3yt|Z`EBXZ zesUWA6kK1&Zg(D+%cIDa<&QCkqWCZn3qgF{?Dg_3*WPgZjE^$Lkj7ky{o+NDqZxOD zh|MY*GDzpj;Inh^IART~dG*jI&A0J~x#mUwg*?qajf_m6Y(zW*cgX1-cwd-oDAA#c~uevk5w3h#;OC#<~t z_H{mHecS&&+*Qtd@19uk|E^3Pg2vDC@Gj%E{xDCp*2J-u#67l>?8^Svnq1$Mug|pC zn$N#oXwjsntuZN{r8)J^GFzVi8PD9cOXV4qXL!o{%^}L$hHYb;$F_04Q(lOhYXOgpKJ4Y>WfLi?b!Q*dJF#%wXl>Y$-O#{FafXzx_CK?5aGozQr)lY4@3B*w>C) z)tU{nuT%b=QS#GxsQe{+Y~gq0|1Nu?bY9|hZiUy8O|jF_2REY+6Z|p22iD>rzqKtJ z+}MV_FWG$*&wMSLvPMr^wt_tJK4`-Scc3{$Hp!Mob9B!@bMyxR^TA++SsW}jhXjX^ z@1y3kPTs8Vv*kDgp3RDI#2gC##n=}^)MW_# z(=h5)8g9*&RJLZ12)1UuylCz|*z0I__kAu;F%$l9riVYw;uD4{B2CP|RK!=GR@}!} zq%{?M*u4$49p>2^S7y&%yE4mOy3|qdhDE_zv#9cO=%Q?& zhJpxwoang&;2H$yfwisKXMUpiq_$kH@v@8cYnO+=Ip+{~zX~11F)-*9?AXgZ(vs` zz^+2NlC*hRyK%9f^Xf=xUwJ&Bo6IUX7_deRSnsK_?GftoWp~ke$hvtsyHelO4u%j3oqwuj9 z439b(-bZ}tV8-L-|7QMD@8-cqx&ZoN81uW-9=_@2*b!Gy=cU;J&>CZUzL__@z&y8+ zeL2vKb88Lr+{t;Se{H3izcyeNtQ~0nI@n>lb^!Dslh39PMpt4l<#`QtlRv_I%CXAm zdD8ssR{Ds%R0rS2g!%GD$NseOadW~(+x~RHMr;}m?OxA#U+)?3-# zwtdD3C)Q_ul?#vq7i2XbiZvf@eQM_$L&il7qh_q;10-(!uk+Z?_Eq+?`55=4zb5UN z%Duro={_AH<2%ZFl^1o!xl{Ldsn5Hf`kZam{opo$O~7vQ!2Zmt`{K;A7Om;C19Sk_ z;eo3>M4k(QUFd;*z{yj*c=R^Wu)ch!0XxkDTXKke>w&HJz~1KME7~L--#e|PJ+IJ4 ztG|LxcW;X^pY#Uqv^E z_id!wQ>HyIZtBuyAM{r8h~!Jjd-Fr{(FrwMapSNFcfbC3bWYG{27eDJ`^<@{18=W0 zwkm;_ygM+?dw5eLG>`RE=UL3NVy{TP4Dh=sPW-bRIkNznSLd#~I*yN&H97mB5Z$`; zB&$j@1xH+S_Y~jgwDwneg`uI%NC7;?L z1|4mIC!{{|0oT|a5J`65I_iJ-Jde!%Z1 znaeMZ!tTg5Y0~Y+0}!isKYO?FcE?gulHE5P#CEwF+=Q3bV&NvdgrDqK z{oxjk*k>hGgNLvBrc@2-ca8(EYVfKAFYdiKsV>5Est31+f3wtxfLpHKRk4-SW{Rn8 ztsn3<*wQRNZ1}}+MUL)Id!bz3ZxsHYqdfkfd+(M{wEaGp_bmao!~^>uO?KR$>L%g@ zG3Kf?7m$HV;?fJqUdlc9-vM zmu0{%^T1x_;G%vRk!)prv@#~pA2DBw?BA(8^#8(B@l%T0@Mmvp&0O}mAil!3&T){& zeZMhN7NqjXi~RS+Ows&P3}dzBp}%c8;9JEjcVif9FNMkt&<44&R;pO{RBmpp6`osr z2Hk#aL&wqP(Q&lWcGmtiaLet-8Nkl)z!uVW>}xlJ$f$#`!HjnN!qD5A5pdHULHQmf zYHi;Bv_|}WYRgUVojj(IJ?^!(e1Uy^I{dxmN{l8a;IbnANfyhL1#i9oh^15;PkTO{-=+$W5ASx@6q6`xgxoAc%$$?!wlCh z+UGw?K3nB`$z13e#`_~DFUr>AqgH?qXMQ-(l-(&54w>>@dN$mF{Ba!qY(vepzg4>| z%hn@rbq3d%Vc>?7udmYJck@19JKAWK+V9BPMQ;YCcbFxWo3o|0o7wlg8Gon_b69xM zn^An`Mu*RM%cxvKnIqo{VE@Xi#8;}33%NIMGV&iXQ$9X*^^Iql1(SIeyaqfLW%GlD z*4Y-3T69p2Cz*-LJTo6V+3}Trb0oNwfs5K`BK;JHZYbVEC_K#4FN`@==cp8;ceymZ zd(ZxQ%=h=$y2SqUn7f?!UR`4^zNzv{rQZzMuU`3ki?Mn#GQ{7IAxOt^UqSk}_gakI zUm|`8&)=Rz{E&BBj80N_ZI!)9>+2HwS2_mEW)#DZBZ%K8WA-@4oqp?VHJ@=!`WWtq zMu(t>vEQQv4MvWG{>E*cs@5Tmi|>7<&xW8_mF08GZ`$_2H{lW(Kv`?{p@t zzIES6HJ@YWrhLYG7LC{~{<;YsHhNB1H8F9mIM$KTth3fx6IML`=Z}yNtL;M&)YHzWUl1Px@9;HvMNT z#y|6Vt~magQLd+vYv03X@Kvs}kkedykn6MZJho5ygxEGdd;jSLPspab;!ldRZSzcb zl=`Y~9u}ycQ(8cuXx))6kXXRhnq%21_+7%fzHfiG#U~tw9q(UgZ*li`BhQ6P&|Q^` z?AuqZ_7|^o4*JR5`WCi+vie4-@4nao{~y%X^>u>g?~C(U!Pux^+{r)AoDQIr`BX@kLy8al284PH8p%iT7Lty>iaj3^+WN_E_h|p(o5^jkixzj>ho%(!PCs z;xRO5hJQsikj;#jm_@%tpVk5gPh!2d?9v_>+3!VTa`$3C!8hK$evc~;55r;39BrX^ZL~X*7y6uHPTn#mpw53)ps`E zcA;$MUNc;%1Mm$Q9-*OvBd`z1bjj=x9SC&2H4|0Vn$t0e{+IG*%$ zu%`|jBci?HQ8{x^^DDr<1$-xvGwt&R&KAWPoKHA%g-x9O+JMVHv*}>wr z6ou@wU_;D}P<*a6pO6<0?H|ZGp!hFCfcu}GyX*Rlil(^nZ9C!z#>$XxJaO9YTjY0YJ=zH{F*7qM=#oU1Jd+>B(;qlHN zK~IKk;L1%3E;w)6I&U0;j&6E@GHtJR`H6HxUdwT=? z-i|G?h*U7{7@0=It$sa(?2j09JAOw~NQ)Tn6e)6;zKAbOfc4^DB>Ps7GbXIA%% zPXv6ph#8fVu0}c<>1U?!+l!0pCj52}@5AYy&ZWk(ar^6M z9zDm>rTyz?76H4+13Pqvt)Hnl4E;5egQV zW#}<9euoEbJ&F7iq;pa1yI}AHD|T+EanYNllNY^-uH>zP_T%3gh_2*F^bxswlBSo1 z-?Ho&M^91)%uq*9BHe_$Z;u8!naLv0<&(a4xy zU#}x&--7SxPe(GudGFPc1Rc3k`jJon5j!9>A+;SlU_-lce+E4X>1EtcA^ke(`19CD zn{F{8r2DO97eTWUj&39l&k%F<3&gZT|8Roz3-NQ%FZ>PK7E8POg@Wk0T@?q>FG%Ko zWSI5|Ez7_^aK@CYUzlsj;s5;Vht~OTg7fqK0S8uau6{vlH0J|CAESS?zn{}pMa)~* z2I8ha`n;`Yc#Zb7d_9r*UH?+aOT(}1)6={J%y{?$$uAo7)x2|M{$E)#|B{{Z^<>>m zxibH||2>5Br$p0{`H`3P9lrFwwY2@0ceNP4;H^gYz*~(me?CyYe+Bz(uDpBcW1mdk z{l6gJU$A@c0refi`8c0MpYeZ5zCWLOyYhYgUt5fO0?74aI8zDUcQbxd>qZ|a|5d=h zDwf4Z$$!|DQsa01@5z5(`fO=W)0#fM*_Ho34u0kTOZc7fSzG@5@!DX|rYHMkI`M%9 z`)tJ<`6Ha02G0~=k4eDN1MTnEu6gUq4cbecJcvBi#{ABer=I?@bPRp+R1+`-(2WB4 zY|(%xJntn>O?2M7^3+c}?bRwVOJFiZphWq|> zBGtT8zS03TU1|S5jr4GIK%2kVR}b;75#)4huTo6*Xyyg=vE+98Pd2+P@G4t8yvm;! z^}mNY*U#=7-=GdniX+sw?l3$FxZvPqnv@Q74uEL+Ty)Em? z@4~kMe6?59?c3)Lfv@79m3v^na1eYI15I{+H@`;?f$w(4+IG*lI$8LJmRfsRW`VQ2 z_qtJg=o^=08}RE>+#{oQ3I38xvZGsS;OovX6%Q$Zt!wnE&zJ+*Yai4e`-AxYW3PGA71sZ7~{1 z&*r|I^qt?g81H|9xF0-UPkJZ!%SdnMekSP{?i)y5{i%E&4mN%^(I#G>x+@RS9}ffj zu&4cgKkdNrBbw3XfjR#W{V@Yr`53r;_e=8A_}ROL@e?FI0qt&7ay1^0ZL}>r27krT zjf!cIk6&Yn#UtNO8ylXs-NpV`##zsW)W4>VIQ?5%i~#9g((RvbHy(Sv#aKh?+8q4M zG0{!6O{g+pYCoW8qsD6PTqv{J=HRyZ+_`Wkb&>z>#n`hfe@y%Vh?n%KX!!ACxIbnb z^e8mhz=lhH$PX$r(2}rXHB~dF<@e&Y%LjL9PTS=c@SS_ci{_)wzC4aSgq(xiWAL5f z`R*F^5AXG@VBC6j(e7QIc29Zo&z>8z zVn|@Sds+1+hQ|c?!B4d20&Rgms_I*etfF}!SxImWnm_!;)@Oak_Y)K^Bmj)Q_cI@4 zCqU`MU(Hzgp`J;fmeH4gd<`3CE$8Rbw@K2gxt~UQ1@}?XV(v>wE!_yZ&=8j!Ge5%b za;^$4D<*cB{f&$@caH$iE<$TaTp-Rt1jbLQZv&)?xo?E-!VgBz@3QgIuehN z#%y?Gsih;d)*ae@D7rV{tQZNF9`3?Z|1_cl{Ud9J#yJS-Qk3D~<0zcIQUvY@M6(d9jZJKOEKhOfm0+O|jEONXm@p)pYsnxFAow)AAWnl(ss&fP1kS$EIy zyN!ih_#ONXd7AV(?kAC+$bA**vE2JffBV}OW6N3X#`d9i8!vJ-IdPPh zdH5O|hpx06V@31DjkBUY@V0;MdjHcqHC_(h{<-V@scQfD65?do@aj+5*Ee|jXeIf% z?{mlB1HeAufjx@+rjVER8JGV7KUvyb^jY`TS|3Sv!*^QxS*=OddPm>6Yo2TW?QF$A zG@4Aiv0e^K4^RJyA6`lOHh+fwCcmNmNiXEShBS}+0O`5^Y%%WZZ82`-chIXP zt~J2ccwp~!aCKt{sqSUKlzCu=lb`!O7uR=*b@{F*)@3XCDaMd+j9c_-F>!|Mb@?LJ z=ZlF0pfYmfeSUC<#`wY8H%S>uPZ={QW8eoTn^nL^*S2LxZ-j5!3J=a+wcrOq^A*%LGShy6Mxn*y{_i>ZQ_wn&Vl>IQU4|`xgt+E*-XAzImh_GJ3yX1vNe6KjPJ zZq2MC?c|#3#Ftgy$(K_yYYjMPEx8pu-S@fUL%y7X4LPs{;5mi7v@b98mQ7D4K~L7> z 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ⅈaggn`Ut*sJVQw(1lIQEbqYZgs&UliYj(!w=#7h5NE zBVHVr^3gtVDbw2g`G&sO{md!Gk#iC24ChTS=bG<&bV|`JN8`@%=er!<+yEYGzUz5b zFkXsH5&WC)cJnQ{iT(V(4wmbEXxU zPJ5;=?~d@SCY1wI4SdGQB_n)zB$rf4MgX1&&vM|YrhdV*3V6z)tvchj+=rtqiJU-v zQBoZ#!5EHL`+>IAuG*_7UdOdp9%!$&sm=C3%2VyJf62D@5bdeYlVXe=?b`iGwA;|x zW@+VE@Nj&`{kcTq{@ld){ki#(d7DR4c6>)$c1)rzH#V*_knY-CL%GRKt8>Y8TW$(z zDoL_nJ?|B#Kghuv=Uf`_Q?O10R;^F*iW-;2+;&TsD| z-X&;nY*Bl6Q0G{`y<_!VpuO(~+B>SB_RjR%JKS$?IPF#X?H$9r&B)9n(b3(wiY9)6 zI!F5L)lx?B1g?MFXwy5chxqNqig@G*zs;e3n^m-#|FJihAL3mLZ5H$8N!083awBD? z1lkllZZ1#o+brhG>tgWbxX+h~2R@oMf8n=zJm2W<^x`%@7-&;tr&t@;Pr>8b)Yt{_ z$H@XeENXKYZGPWxvxaY$V-qOG*&_mN9!QyVpiRN!+N>;YQ}_cd-b0(x@h#p$*Bo!y z1>PPpnL9br$ty^&UPQdiUFgn~|3{n;Oy~{Qs8;&E`9#+ex>U zHk)7Z{66Wk==hIcnl`nk-C-i6$1h2n+a@)e&8OaBHjoY|X~xCZY&KllZ03ZT&6k=qpEaR7Hks|soh>jq;!|wu z;5h}Z=i-QDTM)mJt!5GWNh#l71kEYoc`1B9#=FR9KJhp{;oNdUp=iXJim^IowgSyICFD1z5vXxMG z&)j~#b?<`T9?!Ru7p2?hjxV?RrSyK;q^0{~yX<4@L{6}_%y)Bt)K}Lc7jaL(=UN77 zk7oBGc%*d=h4ZvA-A^Vp|&R3-Q z(YK*EF@M;9LrtTzcT)%B2p_yuXF<#FUM@=NoNVj;jlIO?$G5OtX zgYqrdD?CYEtwS^(msmf^lE_Qe=5c@YrQGgQGTo0fl;;=4TkScIYr&nhp@OX} z@x?cK^ODpjym9l~f!zX~v3n8U2-gf})XqvS%(bvDMs3aF>CN;0osU;doe{sz>H(@# zeBj9vvsd5TJh}1U3?fU5C_ijii8)-~m6dv9Sq2^ykLAsbrOM0&=BF9+NsK@84Du*4 z7QbD+Y4SDKbD3w2Rhs8OjMXc@^wz|;nSa;TLl>mY!tuRKI8tPw+4Ty<`r0G~S=G_}$m$ z?d;mKK9)8uqzA?|o4WG~>&^N2bVpApskN8relPH7u6}h_VgI@0a}=%c zi_l9sbDHx^q}S^{C2;Ftc+;>J_>snF5>NT}BfdX>uK&B*|Ltgy^;d%%+ov#paoKtv z%elQ_<0HD?@VbK;DDLI*_J&DEIrU)fFvqqg|Ms9LV-?GEWwF&rj+Z~L8o69COc9do zd6S@xqMMT=1H%Uf^4vtri@^i=Ja!?I%jdBZx!d{9rZHzp3xA^fV#c9?vDG@(yLDIZ z?ekd0x5Yk>d7XWI9?K{rJaGDcTOeOPk6C`c^LczZkS`iE&CegqcuQWof&9t5n_OC; zrP~M^~J$@Q6OKiZt(LR ztmDYnS>Dg%2NCS@&pde7F6e8!{`s9C1I^A`VwLNXUq`iuYKW1p58H>c%eA5 zUW9cinNIkswRy&W74D54MwuwQTJxi^zLY%1)zZB%d1KWU^o(_$n;2#Mk;mmz8vg#m zzLenIv2UUeJmR;{e#mh3Rm>AK(a{Sx53Hr(RRMZ&+(CQOiwB_>cN6PyuU{YM>xb9C zH;VgH5$Mkr%DDI-_2=k7e-v9a#qSSrrmt(? zNY-%c;V$yrda$v1KK=klE)~F^OTeGnec;b6TfvRt&E{ItbFZa(ee;^%Ok{aZc3<7U zsd2csM*4)OD=ew^VpKl!f+xRiNlAWJj86;ldrNj9V8z50q;mP-q+|!l zTvn!g*ZP^{TG}6e3_Q}s5*$Unjr6fT;l-dW{toBP(a&mNsF6$(f#w*`=N0sG4~3?w z&(}XPuyI#v`!;yPgFTh`aM|Ge)tp;e&)kNX7txfih2ebt^;MifEdI1~)3O<|;}D1P z-UBQSOJ`gjGG^^r1=-rlmGGn2pQoSkG=2-@MBu-i^NT9^|DE(zI_zocYg~4?zwcg9 z7e|I9-|v|cE^b6~uXxU~I@4W3+$FN@@X0Yd23?a_L!~j!mV}>_(g)T@_wjdlymtt5 z*}~eW1gDWXb)RufRbp*!WV|K&d(Hy3cn2^~I{5sym38{9}9X z8fl@P${2Ukn2WHVNRGuXh(1u2_!V`gva5^g9D8%&tkE zv&HNj7UFy)8wB@(Xb*^DJH`-~uX8PQriEgGmTzk}FO?$a`TG-Il>SE_HlM!tK7<4? zmnPxAP4HO8^_A0^!!$8M;Dg3P^0DG4Dq`BJ(f53c?@{kW!}%0Z$}`TRI?x>r@M1UC z*%X7!oi?5#LL0`1)3R3k?0JBDuX2iYKhS(3A76zZsb2XATMe zlqVNRmZ)Pc%7{bO{~>dIca+~H{QuqmgVuRSUbM0br@w< zAb&_M(b_tVJo@R$ALPkT6zM>pqAhb!`{rH856#b_PSGF5WUEfv1vR{Lm567_9v1QU zH&90L+|o}@27jfC2(APB$p;^YYo0}W@ptvi@cZH3Y5#pxeMuDhBHFWQL!mGD+QKH# zm$E=#Hj(FiUWXy~WU$9ip)ZF8WAu&j&OwT@zGK{{u_!Y`{cn5Q)dD<>}6ndNRMKpWQ ze2-p@Wjs${?m-}{v+4JmtM=B}9_RaFJ!r%$eRVe3ywsM{gZ?d$FFk06pYQabVS#+{ z@T8v)J+ORcF!>4IB|_peo*r}s^dZ>4k$(RgDHrVDvwr`^)1Tu4{nPKNe)_kIc`okX zmJNOTw}CS1-w+?Zu0X!}r+v4|cm4ZaAYc7k=I6Wq{fhhryjuW$bNxG-{%Owtj2+J5 zNH9Lz;fJ%+>h~yUws4Es5$uq6=46Le9B5Ux-E2NRZ8}K5UY9b9KFEFup3NsTn~V6r zf%l`rc&%aKY+!@X01)dK!G@A$ce?0Ge(Jq4OATcQ&E34c%+|FB#X{ zAJw02=p4Qa+J?qx-u7V|ij$}D6)jDH8~XoDp6|pqRDBwEIQaWI&KmjlF^X>OI$k-H z`LMLW@*ppE(8b2;j41KV1MuaJjlm;h-oD5Uo8T=a1s*w=I>aN7qM-n%hFM~#^|MJ)WfqfK{z##)(>a0A)90qx$V!5?9PdsvL zv^6(A`i$k1Z=Ckd`Q#}2GKS>fmQ8HxguZ-IJkssG6R&i_-lrb>4)dAk8F4^o$+~599>GX zlgf{evi~A7A{*B}Y3W4Rmq+<~MO@voNA*{?_?hEh9U=4`Zx!>$CMgEanmpT^54 z9i;K+&+~W~af*F-n0{yaq482}%@A_9C$XEYn`1!7XQSztpZd!ncT~Gfs?`JcQ4lf+uIDg~V z-?Jy|wxY{F)WW z7k(D+bw~yBg`Z=J@bf0}8+jMp>u}Whg}n}uKkn(7v7y~8`#{>vAkBX+Wg@X=^Y1)A zbab=%%!$N4yq~=e$X7<^$D@l!h{G*mEDvT(8{Pr_IUV^tWb;~J5ueui3tE3VTXH04 zK{{E&pxY-q1M|v!CRtlv47Oz8!aek!Z?v#C3fsfGwnu55YW}a4enGpsgFc7{m-u+# z?W>#6g`dRQw2Sw#ltH_SY0tj}=0>z8V*ZBF4_6!c>Yi=L*^BwI8 zk-vm@O9Hg#>My=&X-~c22FJ^U>(YY*`vKXnXUEgqJ94r0|I4Nq^7oiE!M7x zc1p@@RvGQV)Vgvqcjkn&`Oh^e^S2MM@0jORBd~e$e--cJW$-}X24iI#=Js0P3_&wS z5;H0O=;(`N?clzcA4zt^A5@U**hfLELJa;qnAio~yL}=&T6e3XFJUg80!c$p$%IUv|z5M%XzV6OE(?F zZ{c6Dk6ZZ%kS7=<%bpJo>;EdAcbQ9UUoGus9^*c4DMm)?)a`Mb@+x}W@oDqM>Xe!O zeq=zNm+_oLn#lW6qzia=48M=%`3U;n_~X*%GXY)X)4ndUtFcHIiD$Y-f{&#s>{Ur@ zQcanzKQ;E%MFe+66yI!2JjYl)OnS%#?BS4(VG_tEd}H~TKM#A`;0iMJW@G`k=c5k1 zH)-*(yK<#X9?#VLyR$B2XR~KX#GxVnS(U$9;pq#9k+%|GXtADf=K6x3Kukt>3BFUO zCtN|E(-Q`fCmU5X>Dhsj*rP;`c3lj8Pu#-O)1MYcQfamCAufBg2} zi3MhU6boDeJRAMBtvijlzt`F&BRmH&PpV%ycEjyDU$BiBDftpOg8+NqAhUW?1U*A> z+vO(SSv@oT>hQpt3H(pMNFx5PVp))K3sQ~D?WU7 zt}^qp+~CyDpqsOq0~3}VwA_y|2JfG6HcIvL3Hs>bf+zWN%$Ydh&gkBA{LF6)bIh4I z))wRDI7^%nzYmS4uV9IoIR&37){Wf*>rtFLCx#-nDwH_Y|w8{RZKK4by z`F}j$IJViWC9QuS zeiisi^V0=inmc#to2+ZW7Gf?!$QwT&fe%gdmXHl{9d3-o!P?ItS{sVQvmyMCVd9(| zK4?FrcP{}r5`zwK$13}+vZDVhsY~CLn3Q}X_D2|oS*@X2qle>nM1>o&xgzOs2wzKXfmx(dpD zJAcz|LR$)Y$8O5WUUV02I2&B?{_0b=czVY);L-l-wv+eXU;PyI*t@QiEzFDaop}4I zZ=w8K=^M@`-2!Y6lN=n-KC5pCx1|4fqQgpe-2ne}Hs)*RKr_HQm8oZ5-l_a?`)~V~ zKU{pwZGrs$Fm;504qxk&C3oN`|8Oh0#gGH|$ydMeVtG|+i zmG5MjvjX|*uj0#t-=9W)ig!BCOE{-^qOSAkZ_?{8K4sfi$r<#W`C@N1{Z}2X|J%XC zXYzY`CZm(L9L>IP(ieY>Y=ORhG0$TUV_*2u>8Fv`z&cBJ2sFM8h) zn1hN2PgfC~4eQ#?j%eBpTA4C8{555|ev~qQ-kCC|@qd!{y?TBeyC-tKT!v*=wgZi42sr5ekYftZ$yk3J1RKAlS?kNty;vTjX z(XwC+MkLBUwj{9{=v#{I@WyTbV!Lg8Nkn>FU%l1dXUaI}K2hQMK+KWiAZqEiT`%K3 zzfq9J+rB5E34Y&8S%Z7^zsdFgQXeMC$U3iOW={NAGO%=M$zvM#N-IO_ETfs|dtScu zXqRu#c8EZOiu$iRTxO^OSc{$p@yz+w3}anmR@lBH*IPO!9xNJB z$(Tf=+*ulH%j*24d(QXbH@V+$b6FI5i&UGq8-1e9;)m|g83-J4XYuI#wV<8kw{~C0 zzU?Hx^z)sKM01bdq{q=RC$qZqLbSHUr%H&qK}XpV^7(aD^abBOMjyeGD7dKDC-EkG zu8;UO@1<*tck6u>crE-vwhb%BrMFJ_UsYn?^*MR3=@;!LO6m_*?PXHkf>-wP(su!` z)-5<6wr~Tp=#9oD*bnt@U;XH9>mBxE`wQ)67U}K!k)a=D@1h@~7t;5gEm>nPxm{!L z`dFhmppVslAKjd2++>q=?OC~4{dtRdcJnfczHENJz1Qc}9}dl;?(%opm)byIH2$tH z#W1^i-zm(p=`91^@d216J4b!H zb7!pJdvJZ8iyRscP~Q{SyizgA@&)EOs3o3 zXO_aw!#=7J*xW=@X0ooFjUjUlHU{)1(In|iGqE)gpVg!KKFl0S{<7_12P;d-KHdV| zAB&wrXT0!#;4A{25fk$FrPtAxA0J|O;d3~lOMk21>_yt5D7_m`75w}!hNNmYlX z%>t!E)8^>^g}FQNpEP%;{GD^Rw(YIw?(laoch&E5?tVa<`FdL*4=8g^LMPftKMer9$xVF>+b8c?bgjZS$7|Ki@BRYUN!Tzk@;G1 zF#ckmwLH)HUzod#{z-Fp>EAhb|K0l5>+VDEVD3(RmvgtCHutsehB9}Pn5%ly`eA94 zJcz{8=^%d%)Ch*XD>on=9}I_Sfd@{cJN?)MiG1v(4qm!ojgk z2ijbOEvmn<-C4eWYsJ}&|E;>&Jp7Gz(*Qj_i~m=$#$P=cUnI|)d2V2>SM!|4^U;Hv z%`Vpcg*@l-+%b&%k9a!0MRdU4`v?t40=MK&tu_1t=oc@rer3b({AuHnZC9P3v(%s& z3HJMKlAfa2@l5xRd0)qvINh>8zogSO#t$WSc4a}=5dEpVOXs9`?LUr;E4s6ir}iUs z@Z3(?fggS+&tol&ExA?5x{tT${&sBU=mR%(^sRI4omKhx-%;n+{5n&9%&_XNqi#25 zf_DvgwHZ5x;FMnG?VA{wJ;t53-hr`0tslU;)(&7@YX-2cIC$5APVCv>@gtz$NoT5% zZi1d1icA2iX3?AYhs5Ftc>c#yGn2cHh)Do$-LYAfoS8elWN_Zbxlo7B2<*Uy zU1rBJWql!B3zpk}Up36Q$xf>He$m{4pphNi!BV{+IOgJPiuc9#zOTThH7IR1RH9qI zm@?D&UH>EE0sM2{C7*?mwS-q+K%V*j=-v76jAd;xAI;4BaVNp2BJ5SdPB^~F^EXZR z?ZO)G$9;Rf_8E#t>O1LY6VXQ|qIbA?dr!q1d6)0`NBsCs%Ib`~SfK1Z#MG%?&eq8_ zaVD0F1qDxZ#tyiW>D~@Zp~&cLDK^4Ob>2^Oel|4hPR^3LwUgL3lOioAjpU<2k+Ge_ zj{IELg9k~^yQ52Zw&O(lMZZTS)46XRsXpGF+jL`yGn2Ik$BUh=gO``#w@auHRS*L-hB#vGh6gt?UElNL=&ViTV^3~Aj##}=b;r~e=UtQ{Q%c5E z-CCbxz-^69gOB^=l+%5m=lb`3p6TEBc_#OL%0F3V^OtWslRNX=S!u{0&kZt@y0kuZ zhEXt&J?}58UF3(}cB7PAC%ppvSKD6X=9!iWgHom-}^SPi*nGs#kTY z4)-m0fu8Y^Ov*Hrrp@aQFv~pWRy3Pzd9yj1=Oa8_tggFbqzoL{j(j$h{tI7ZQ`VWb zBmKG2oZ##XuLrIw&bAa>jXqpeoP+s3#zteQavJLnTh4?3xZZO2=ZF*OEvI-8jg=eg zs9#Rw1QPc&*)j0i`nTROIGpxP&lK{oe^@vU^7AVBjtS|JEb7K?Nbh%yT}R(>cVjn7 z^a?+ubd0XDW^)^98R<&Wf05crj^~s?3re^Lb1ctQ%wvf4ExI5cpuGgo`|Eq1SzzPQ zz{&6i|J_FaT`6N)PkSYSJBD>;CHUVZUuQWuaW!y@2g%m|)p1q%Rq*X^u)l01cagt` zIUhwi&4J|Xk?4tWaET}Da$&AMT8Qtl@Fa-&A-|sSlK-O$d{^Ha61*eDNQx)B;uDqm z4czNp#X6>}tv?n6NAVdw9{E+*>`DC!%O z8r?~sa&gj{OsaEDTE3XeHAZKQ1dciM%lTqHM7z9W-yXDv=Nx<`j9bqn?!QxpLeC?BJKRcvTcjAN z`%3O4fPZOzg;$4xgTmby|7$J}rBAmphgD6pvxhRz4Jt!DRt6*Q(9|>VR_2uyC;gK8 z24|SlwBotF`h@@5qp0P+M){8M;P5z~5Iy6M!`H#o=4-m9J^ zmZ|HJ&-RZGB|bg~p66*>_)v@ou8d@)pHfEWpotcWk1GyXve&1^ROJWq?6Qf-rS!jd zZa)60-K-<8-AdZEcY4IwBgOi4XKb{dr*kuq4;bIoCwn+o!vBu%3SQ&$U6tDjE!A9! zc09fZ{05&ihIR~M{qwR>altUrm;I1IY`jd1A1@>P^kgJ2UdGFp4^nhd^(&@Ad{Oze zeqE1pery?euCDLy*14PeuIn3qez2|wIlpSdTx@o?w3-O1^Ue8Y1L?d_vl&EMZ<@`{ zJuPPK8}rSF_oPgSR7!HZQgpr&c`FiKfLyG7QWJEKH}(y50bmwRC=Rj;`WuR#ZRrRy zA93F)>+3%9%E}&BuDqz6=#9!93hwBhTGgewsK>t6!Fd1o$1Cj}VC;j>R;xYWz|Ra1 zY{_+~exBlA&OT=S=n41%|sa%n%D-^E@_(vX|H02I?!V?F*ni3JPAq8{Pj5|0agK52VfTx-#!SQZvf{G1k z{NbBDbHC%oFAlDM`>txU`P_hidEVKn+1VP8q`pvYk4 zMf>UR|7~;j$K*e0&U}6iz3#)W2l>2xU%Vgw7k2YgECaarC-ug;> z|5P2*19F7u4{=e$T^a3_6HUgiW_eQcn+4g%lbfKOtoI;)5)O$ki3T{BE+U4#7?yQD z?<{U(>fhPMAOEs<8>^tJCGhuQW2^Gg@g(;i!2iKMjqj(upw6KFNM{gFTgM(<*QZ+o z?TLnO#DC}cod({|rgbz>cEbJjK`nah&7RmdIeXyi1sZrh@8mnj|21yyd{@udN!Rf7 z3%-kZd{aJT$0Lz*d;Q08>Im9hRnI5qBEO}q?V9_=W^o1_YZLyXyALJf=`KX=2mR<3 zmH8>?E~ZIxdO^>`7G&-D(hIlDkX|^`-)l!X){W{qlzR|Uz$=-|>2}iLWDjt@vZHK{jt0he?M(xV z?TtY@<3oRHF-QJ)%AC2O;FEFoG416uY3|FIX!0HAUfS|(-gB`*%q6DC!_lRil14Uf zFJJnOvtwib89tS=Qv+pRUWd)Q>E7HV-rx0!nU-#AP9{88m49x|QfxDc?xCXV_*7+6 z6iw9p{ACS#H**;#zufYng}ER5adzv}#et6lloW+_1&l1=W4oGDWJEApP5oM3~ zSJ_X-x7)E{T>H7!lGm>H;gA0&H>gQ8k^9V=GQ)m6cyPW>cuKqMtpW$xOFm?9{@4S! z4}>yhCUub30#?thXm;B=!cT6iOWvQW2e#@6F~Hgv&79Qm|FiK_=d&5v%qDi%@_R^l z$X40T)UOumceb<7UM{^*a-_Exy2ZDhjla;doz);;%63-GvzBriFZsO$-?6NPIlkQt z8;^~pk=?8zhAk9ZiOOkh$W~Iac~^cr^Q3pv&#mg6Gx7D!thvp|$8JvZdtUF&FP_s? zl$9*)%3h;6)%?S&NBKUJoe_RV@94rlk9wWxK9Z;Q@=6!eIY&;%TJVPORb`KYj`0%aqIm?e2!#)+m--crk zj9+{0wegE)r_9LL=9`LHDO1IBH0N)9u3%2bXZrGL`9c3t?Y<^n##-1&zg(=*K*=s^ zBc9Et9Nbwi9v2 z|Ha+)!v;paaC_kfLRR6p+wKVPIh|ttmH>T76zr1!LXuX$ACfcy-z(GANr()~-N@0w>I7=@+L_Fjy?st;C zehj>4Ec%qzR$1UIrE12thH~~vpfZZ@li$KC-A}UupXLh5JLEZk zW(D?jd^Ncr;LlY1I;WZT*?Y=(lIlo<5~Dd6iF&}hXHu!oXEKu0CRyJmGFEmLIOycF z3fh+3Ws>-xc+T?WGq(?nvs#eP+OoAg>&O?+mv6H?n(2D#X31x5)~~5=fx-7{wr5k& zUdaiXbJ5_%xm|h5EP7XkpQ%o7@RohAz)^Eh&2gUsE(IyQ;I1Xl{1`yXeRD z5Apt}hN}FD;RRd8`;GdBjx77D@Ik&c%|qn4$TkBl)Hkxls@#;Q=Pzz_WdijdM47{H zNg4CXeDjN&IE!_|eDl4VQ)U6rPx5;z&mBKXo3$i|H`X>1|NDJcZOh-xt8bG>RQ9Y* zw_AI)qlu~W{j;{A+x^+nc7e|Z8L=!NCnoMG*uBEG~QM5Mq&KGgaS%GWiJbLVAE~rt%FqnS88oGnM`zo2k_y$d_Iz znOwHu4L1~QrutU*=Xo|$Vk?Vmrq9M@GhJY9rtceFm49Yqd475o^a@$}tz_>i^nq$% zbTYj3-k=N*zkfnwBON15IgNjOPRrJyzjG({B*pPo@~z@{iTAcPROE@$W0+g{NlJ{T zW20DM543hx8&jomw*Hx-`6RBlhg;0Hp6evy5(OG ztjE5?`7gGQ-m%oPk6wX&b5Rt0YAWEd==ScXkqf~E!G9rTZi1$04G8BB2hWiup!e*X zu=de~xd!GdanM3+r0fT2g3c$~b6X-o8|nSlMtYWSBPEvliEmDahW~cHx%~4fljQkf ze%JH->-Er--^@41K9@4(qz^rd-IVm|Gbyw4<&N>&8yJaLUZ@>>EL z0sK1?EjiZ*@#|guHWONM(*J|{VG?=rA7#T8osoU$`PcXKG|ua*hyA~5J3eyaKgV{w z<`K_!{J;^FJuBO}M|0hLv%a;x*Jk?N3S;lp6aEBc-=O~X5Z^gmu(}X5dL`dEo2c`R ze9*t&wU3+>Ux?4O6=rh8-5+7tQSJCi76&hG4hewLcg zV`DRON?5}kiRMn(rZtD+KdsdDv5Q1w+H1hNe>5zI~5=&)OPV`_X zeXERdrV(~F(d)0RA^sbA!O`v#_Ru}Ry9&;KQ>=Ys4Et2m*`4Ce#(cQ*S>Td=ufyEd zDIaGjp?KVjtqo2-KEdT|aK`|j>Jfb6+47g-U+&3Be*!lB7HrCkWbC+i*9f*`2l2g` zt{K1)gAVHd#_0XIoA~X{m6rVupIxq=RPM_ntJBCKDaj$1S$LwrGdloJ2zYo0|IuB0 z?YY^$O|bep?~JCpCdnT&vr(S)WinvTt0-y!mA$V>q2g`yV7@Xr48Of1;e^m}uOKdDwAgRo?Cy z@a>E8U-zxMCA*PtG-hgFbt^92l~LWoKh^y*<(ys7m|Mo|+Wo>=TYin6POAOIeDmVv zttR!te6#&|^mLM=4O%C2o78hx(xXpOw*DvnDD#5wcXkp86X8xrgY7 z<1M#?Tgln&W+U(i;a&7kfOq6Ogm;DyZxTO>_~D7~sq9%ktKBpLvx~oxJ<9D5JFTV4 z+I1vLA+Llx7#saBJ*ggfFL(z~{(ttZCzVmQjCCjZLu>CE?o55Wi9Py>1?Vs{vs(Yc z^$kyXa-U)VobDoeb!$gKcNs$4I?wmmUfsouwEv(y#2NYz= z@~|gU{?3;vzw#;k=g;9kzZU;F&tkvoO7O%xGeToDu;*H=0uT7}TAAny;`sy{5 z6ECd7pMK2|W!+c3=iF|KbLat=46Ep#cF0HAUy;gP$p2R#axQW+douY}=fg~ja5idF zhmCD|KkHWeB#AqRZ#8GjxyP6InD8p*bWIc=SQB?Ur}1@0&+Z(Q{3vsLiF~GurNhrSyhC+tj;xVA zJiu$@Qw`#k#^lS4fwjfl{^aIw{jebSXb-<>x-<98X9jnN(&+qGjqQ#^;f;ykN{3;d zEKd*LHNxNzo|!cx;@x+blmf@EHhv-by+3GuN{_Ed9^JW<{qWJyy<4pXX~){Q2txR^eM({P&`hb7xTaN*7Lua*acl5E?!#}&2$|?zg71{zKLcQ1IOjv z+)+QgDt0gBW%EE*h|JC^9;=e_lU^K#9y&W)=i>qVse4NT{u)nNK3~SOl4SRVrDU_j zr#1my3^+m=&WmK9qxMIJBCXc{NE=<{)^;&7tG#Om+#1Fhs;^<@!6atl_W)L&f>-Aa zm-Eev>va}SD{|OOU>2@Dv*}@UK5IK?KYukzazPExC}pb6E0pujeXoh%Z}-q?O%ij3 z%;fpgM>398QRWo9&{O(i8F5#kPW6|LdLt7y`y>$p2Tj;R>fx1_gl%o)s9)E zdAiq!=-EFQ$4oPHpc$R?souPutLB?Uq@b})6wO!O->EM?D13*pn5&p4M2 zV~m2Y1(o#u7{RYrdT*87{1M>XY85%S~q}`sE9q4(PPae5!meBU`pO=pF5TZI zT|Gj)fbu7XFN-u8|b*%fsAYE&wsM0pMLCu2gvp%KBMvSVn_CmZFQ;#mv!_Z1xkdrQN+6 zJKCzgcKb4a|NW6`f4WILL%KlON3jvW(?rV#LC2>aO6+h&LC!q)FR%CJgR9|SobedS zjtP|Q_?gEaRVI!fSh~v4;Rol-h=q{tJI43g5BX7^YVRuA3%0$BJ^H)K3vIveE!tjB z+4X_45BhD#Lu+kceo7nL!KH7qCvU|u?B7OalKw8cxaj>h_EI|8blwNwPA_ZCewpzN znN0V~(DES6Dd0#2;COwRwq7~&VUc*vZC>k46b?6JZL@+SbYE14|D!U)tvjcjvjvcwzK8Kz+Vs=K4Kf% z!nUWv-zVczim&6ti(9s8&d1>ExD$T- z#UH(%N9WIq4+mq!r{3emh>rzc#fXoY?$3Y1#fWov2QlKOXm2I+C!4^aC~^_=x7FHo zF7CGNOMVEC*fu)6{0PN|N1N^^F39d5&pBU*d>gA%1z(5a#Y^#ZV52z$8%7^r#~;qu zUUbP**h_fI*TMSe(cCDe=i~gp zCh2x=4*p-*BNbk0s!8rs0*>G<=L~HhU!07A=r!$8^d%`K$3N%)-75tKN zCl=w-GHgc6urWD(a{OE1Qi`&vK-tyUaU=%^@wSav2(7oDvv+C|{Hl1p9TZq^kJ2{> zx9C|AZe%5U2KQHixrDKn&qsDFoi|Y_|BvOJMSIkS$^JG$^kh!(tR8%A))z3H=OWT1 zDjzdv!PXOBEzeJ@MJ|>+sI}+&>L$izM& zcWdfQ@(!b&Qt+|~-<9gC2L6%y7GKa=zAxw;-xqXFz!${5%;yDZ%oy5`jor;v*Pr)I zW1^Ie2FhOH&y}N##H`r+5UngITLLf%Pv-xT^~IbD7wz1{`u8(pBVY~KSZZttl-Ih` zobU|V3u4#{$^z%KxN*51*=-*B{1JzK`Yic~@{?0$?N8>L2d*Gap6BQIJ(1^8{I2I& zzlyU2E=!rsKbmiTaB0e{5C+3^*B`Fi(dEtFL{rfka%q3hh!%{hP#W_L$lJE&0W|E}kq!}bP z2Cnb##>aG$Kj!`Un2z`J`tvc>`FZcu$5irA%Jh6QWgfV$Srwdq&-e9qa$h zH=mCER8MQ^k(a z^`s4*saz-THqvtbC)u0oB13YYhn_WV92C$^?a){l7_}RtWV~pFH~^H*Wo$gs~Gc=q*#bH##Qo+c+{6^lXp4UH{f5nHh4L9sGb#fa&A?6>85B} zGTH2GEl>G-6yq(KtSp-8I{mY+=UdI}PW4US5<{L{4lJtoCgdE&`-EefFYfGpd6$io z5KnA~)1DdK8ROYVLQd=Mh&Oj?uOWQ#j0RwA;adme#lXnBTuU@%&ukKWwbZYA(T#E? z(Ud*2NoPJbq_OEDX9=dps26K5m@4t-3HEP2^}3B~(f`rt{kgC6y8)PD{4d;)&r$d+ zJa)dvAFh_XM5avEpOK}P1zbbXq7HAdki>k1fEzLav$>Kn@H z{YJiRjWl<9=Vwmn`hGMLSss0A7}dkIuJg4A0}vYBkHg zKi|wcv$fZrS1o!L7hcL<4vwV2XP&b6c4l-w?Sfp`-wXRJ>*v{YVf|39&-(c;?dx0V zH>%66pScN7r_uVBPNR5G)vxi9Jyp8bzccRc+&FzpERfY{gkK3{3ay{Yn74i=p0-%;N!etlQ|jr*;s^8^1MdFKNsbyfBMJNt(nhDC>E zk#$*R)YWj^a@ExcsRl$vMI8)fRjN@*$tcI9qM~+yU07)sRs|%2n2O5G3JY^JdR&!~ zjEd)xihSsCcg9iNWj8A7AyoLiKi@yQ-yL=VALn^~P_Nf~U*GS1@BN;8@44rkd+xdC zo_mtNV-hf3f8}YH80&0D;l%5+v5zrK_C>E<(eLqDo^}zF|k*Vv;?kD-@+THfi{~!JlbCnH;`Yj*) zeE)vSU#2faBVK=;I{bBlJ_rxRjM+;^2*B@?Qyzpq;)coMkemDSZ z@7%hPF}KlU+X(C#cy2w5yt6!c>oz;~PUMi}4@OPwqfN;ZieBej>$RMbZI1!imjZs` z3Hl<8m8^yMtF&&zJQ|wTyjikVGTowSXhHt7Of0SRz4%SYt}nZgeF$Q?@3zp7M1I^^eiM1)* zM!|g?+#~-OzvPc>;ausfpk4W#xb3W`o$4!JO#0Khbe$(Hmv*`E!xl|WhnI;pPWfts zAHO<{doEpKiRx3&p7+33*{@(5dHwRZX?u8?`Tk{bvyuC6bpOsWv*6OWY2f}U_pJ{t zGY?OSn+@E1d}W|7H*Vo;N3lP6;m6+k{@}XL7k13t-)OcJ_Rhn-`>%qEn@BybeW|GP zRA~F-*q_u7r-OqtvDa4Pe`l7Q)*bmne&-K7wl_NXMcIgaj-NbnT*ryOWrNdtneMKQ zMRM1UX=wZ7wsrK{t}MNx3fonrH^!@EwBj{gK$-F*mmSduzq$LVYncxwSr; z(ci2wcML9V=;n0QuCj6K@SAV3)+llVIo$>y`iZPFJX30~PYh#D;jX8gfCGZ|%j7zB zKwq`$@Bya|vafmLm#AGPglvF@w68*b^|E8i?@9K`#g`E0{#(n;xQTHS=01}DZ+vr^ zd42+ROztPFh?|=h9coh)j`FZ6zB9w77(~!la%ID3{ZtQL8FTvhtdI1xH=i`G&w9{F zJ6e0<4sZ1Vq&9kBT8wjHpe$luZOktVYhzVJ_HUgOzACixn1=Ck`w#EuX` zjxlb?7LEN1n_gXd8n&K1^L6^2vEQ20FvfG&*c#+6dXWDE^e_Tlp@{EBaOQe)IkH3Z z(zcIECMQylkaq*uMy?hveXnmN8{?x{+oF6|zAov)*5IUP%HlW3`-UfP-ZRo&G!G$m zya(n^^6m8G`xG$U^h}s7c7x~SS5kZF!RQEc* zt@C_)Gv&DHndR&u?;cOy-^!)}Ea^qER}F(UO1=rc=!4zNsijW_ow!mO>vpSsymQZO zR=yT+dsh)-Z;Uf|Kf`+Eou<2aonl3yD@C!5t#0Wa+`OzUc#~nzbW8V4^7`@pnrPy? z{88e)V5=-)Of8P7FRxFP&^Pwn)7G8v$8us{zct-&5V5*dKj98tjPX={Xx6#krLuAD zITc)-(A(!j!Q0Ecd)f1@3H$`do!lJ?H6+7~8P+;2zOltsoOyf=@I#4|;@(eU{Fnp{ zhPgttrHnSHEukLYmABWHN$AFcmkqoGqtvgNah!U}zosyTy-4yDU*KHRjIO%KvRNZz z8H-n1daCpbjq|!QOfgo|uT98N@L3J*`{T>n#>Se`r>eAavj8tgMKQJK)K zRi3RIFQVK-%L+%Dl2zD=gyVe5U6apz5Fa`9L2;lPRfFIy#N2!IXC^#$QW>6?$F4XW06LniSlM>1X|JA9EH@^ zrjZ978d;o{P1dH72Q3=Wf6<8UE{&*P%A@u<8M1+gjz}B!8B%^nca~qKO&fj72uGWe z+Or|tiY5tGZqbHpj&Ged7A13l!yLTbJ=ayVp%`?k|B-29dWwB7;6pV1Aae@M_xi7Q z`(*s@Yz{NS3*b^B%h&bf?VC$Kg!InYXw zKMSuh@X9rrD@eYN6x+C*!#dee2fxCN@c8MI2c;uxwtIEe;nVQr0`ha z#UrpwxWt%H}cKmeZYf1(Wf8UyuEBt>XzY`TeK-0 z4$i>gU=I#|JjFwc4i3ZMaJ+-Va29bGOo)cEGlm|C9`6?(gU~_|FQhSciOr@ zIrY%m)K7C6qx#VWqLJn484kTivqbONq@&4>PUE)Y%)I{FF^hK0blNfN7;Hz~Ieq)1 zX@GXjr5$secFa8n+o68ojKOqG75>$XMH?!xtwCSXUDWU4m@VhFm2pD~UpVGfE46-18QLelhqyMNq`?+16<$0FQ~ zqORW`k1d{hew+F>a=(fHQSR^Of4SAz9LvV{vsD-X5?9v3$|xYq%6(AVP@&g;N=12}KUBF;<3^yRxN2H?A9_^#36yXIha zYyjDmgVWy8w;hiT(2iBKW4Y6gRmWgEn$NP^QH&gs+-SMH|2gVp+A+y#$K+$M9b4JY zA^GQyOKhO)cYKY|jwwz%BH3yO^3NZyOJ++hO)<>1nSVx@$L=fd+pc=eZTrz1YT#3Q zjrRujS=OeivM12T@p674_z z5;6aH_d(vhAs<27D_g95WCqDjh`)^Ngd1q{BQbkCkS#YGb!;ZSmzR!yG3P+1Yg3}W z!+pbAM`RNxu3Z^>L8<&9OFS{jcE38X-FYv52YWq!2e)gj5u5WQkIi`pd3Jd6>;Rsd zo@oo-NZyT}yw?G5Jh1W@w>5s9&iEs|{A$GOos*&WaI-z;+iUYHUvtNNdwqV9vp&C4 zcKCkB{r+rxgXnuhoDad&+)O?a<buDphbgL~pV8FqXwFc*`o91n6vV0tKR>#d$_8)w0RowjH zLHrh2Yp-Fg^c&0LgyM;tcd(xLk^AGOcq%?rUyPfD?;ytLl4a(iv)He}{Q~}%aDU}Y zbeMbDC&K$_-1nEGzi|Kk(%v;!#m@4DMPHW9KQKoAeN{UD)z(U6CN6mL&AE@g=fnpP-3S+!p51`md%orCfdYtr-C(VO zj48C~t5tF=j2w%^v9;OXhJGs>~yoW%o7b zU9$FFsqc}?hHvdU+wTvptNp&2^C72kxodukS5Sf-Bqy3^p8*bii9~y}*^Vhc7(d{5 zgO{=e_>jlfy=r1wYg&~K**4X7*31L4@4j-Y-DhW8II``q+mr1xogMpFtEt;n9M*U-&03eqL%xXagd53N%a4R{LNY=!Rcnwo z?aL@v_T|}Q zEBnf`{Go}|?a-7f&(h;;I=kg9(AloGe_lG<6klex%wJ|6fxdQ3Vb3eiHIuSSXC-fe z&JILHlgB=tjmn_2OHWLswhr#4v+qr{>Fhb)9qqVz%|9`nP5a_96RlllCPQDbE90h> z|0NT%OJ`rSXeW|78vShMaYASFSM-%hivHwjDZKgT6tFb zPfTZZpIv5}Kex=pp|8ZH`0ew5)qDH;`)aKWdlB$Fx!!^Hc!S*4W z7q+56Ye>(;B@5k8`gOzenXfc3@0DM(>mPd82Xr=*>0r*%&SZwqR#-lzT5oG*&aw%6 zk3XWdx9hc6m2~`|gPaXu`KQ(c_sD)ltr6Kdm#4=Lv*$_jXCB5}N&6H=o)b6AKi#{> zJsb1t;9KCQzklfX&<}=Z@Y6)}gUtoK{50zodtUt%?~azAF8i;4Ub$TjO@%+R%v8fi zk%@7W;D2mfcIEb`E!sIc{b0s%LT8_Sps(D%13Ihl(Ah@{ZMl8sTcEQ?{`k*JXIt+< zADFYuY=gdby`MO~JlBlvrL*2W?#;x~=(Q8Me(ka$m9utI?pZro+di=0yCJXfls(r8>Kk16^iGO2uZ#Zzf(3k?$-F^z{GD3AAe$t z0he*9Elhk)`84{1CU?;g)0xnF?0kxOqWwDZvy&ZAW0=>!EP=gE>lzw=?6tDD=Z9{^ zUpqTD zYkiZx(H^(M^-*C|b;*v8OCz>sUu=5vr{LbTmtKBC+*IDpI!PhxB-|h1KKHI==CUDi zGllye;-LmNU?+C=;>-i@ivPj>jO4qfvo{_6N&90J(^2}9VliuPO(A#=^4|ofwoSO( zin)u=itU$O0zK{<$G935FQI!!v2O#Tz_+L^$Xzk=3i&n&3|}N{#iLap?VquqebbBD zWDB1|e-C4iyirIR}^)>$7#nri>D%~IxGJ2)ZroeUuF1MJLs<*mEpoR73^CLoNvLu zq*QQ+b?1*L?5qQ(z8|QrM}o1pSm!1-CBJ+F`iN}b=y=;a{i1zqb;Q`rv-H@^y;0vx z|BUanPWKzy*n+=9w)lNR7GbRcRwA|>S$lmuE=Pg9sCYCxG_UoQd^5fMHE3StsQp@( zTTj0TFZuY3Kg6D}81yLroNVDoK1OaPp-eijX`1ATNtwve7hc<0lic)zAF6qM@T2N z^)u$g`IBsi&*WlY)Yj&@mbpG z@mV_fLv&T@<%=a!bNHr`J+yJInql%8nTqbQV#K`Qiu_@L`_OIfL$|rFD_n6ty3KuE zirt{IFQi*YhY5}=vha<+ zI^|ZKA$e7@EVd#&D7vgo{u3v?h)#wdz=0K<2dS8ZA@pT*mlr4l3v>&)%ci>L;z%A(qZrFhv@W3s0;0F7F+vvbO-vhU-AGj3`+(HlB&Dgw!hgQdL z&f907cHk0^rKitA{lG=0TYXjzT+RPP57;3}b(XYX&+Z5IhaK4Y9@ym$>=^!eMbLzJ zB!-XPt{*j;M)ou`bDzR}Jog~?mw(u3ww={v8o4)fujXF!n?|$a(MGfP%qCN2Y&pQ$ zQNHbkg&l58LB;y13|r$>3ZK(JlzPgqN^Re=L-Go}2l-~j^pbpQ?HgZ6XR5nrdXC{+ zH_prx&bP7$M4h%+K3B~3Rd(FcD*h`j#{tfmsgAP8m`i)XiT_Wm2gWzxC5$FG<1L39*?9GsE>Nz$)`ExOMT;r|7}YnwDfDI#nQ-JF$+4eGo}q z1aGxDG+P~3+^l77r4H?hX5WDwMtm*0bkmDGv?>2;S0~i?yN0}LJnLSQb`ES~)!D&w zJ$e6aL$AFq#<=UA8Nzy4sm{@ry~C};pMP)jmTZ}sJmu;q;w@v?+wJhotXtz|DpzV> zt=V$(GPCl(Yt0(&zrO|l;o!f6A8etb59h3(DbUNhDE`ansy^W8+&DLF25H3O!#9;! zbBsZseDNUbd-N~5qnl@@^5Cz#{sX2b&FvTUNsx5)iSV|O_HFdw;_v@CFy5NU+w933 zbMSW0Il0(`A}QHQynP}c-dUdfFC7NJpP*=rh1|RtHbG~*^vMG`B z#&xFO)4_}UodNcRm!k(&1r5C1l>S06%$jUGeGdOW&$D!U#Q-ACL%M|+$hLp$iu8z= z26gHj^AI|fVlWqAJ5*mOF7wag@wT5O6z{esrP$2a+O2rZ4fLrSkNM9R+VPmxXNte9 zGd-Y_j=~AhWSE%De3!$VL-49e7k(5oIzNhQq_iS_J@t$o? ze?F=8gze-}-;2+S!<>zj zr2lcSfHU|c+ZgX$*@nL9ja&HCiv!P#Gv{yb`2k}>r0<@kIl!Ca>z%iK7kC5hS&EQ1 z;>mj^@WwOO8VVkzPd+)Xs8c$K+96uJW~}4?r*@F1MBm1sP2m>bd5agop<(Vf{DehG zf2^Lk_VwxKtJ#~zUX3e9FG^~^hGbFYu$5`aC*8GfSLs`XykK32Z{+80udns`xidB& z*3TWAiN_vMr2) zK5K5+-#H5U6wR{6W7!WxpQFOhrPoaAKPI>v>qX`Lgfb*U-0{{A9xExc(qn%qg@(L& zGVL{rv7hJ3|G@X{{L*nJH?t<3(7uQp+d1DU&<4#|`z*quleOtN5o7}ValU9ODqT!x zB--PCi9LUh#~>uJbhixAu?Z z)zq1b_tcuu2bP(R?pm|wx@Bh8$xSA~{Re-lHFLP%s`pN;!g9%K==JW46u-&C3o+={ z!wc@Y7&;THFX7<;hC;(pvMsT5JB(QrDp8 zl(6Q%NAf&w%W{9S_|qPzE`e{S!5dc`DCjJMhcp)KzmR<3;Ia#CKAK3H_C}dzcmw{h zc$xct=BwIkEZkg2UTeIhucVXAN#ILJKU#4v==b3#EJ?nfw)@F{<+)4XJMkIggT-5l zH|X-2p2cTNNMGde*}yuDJvQ`>z30`5Y(9N!-&=kG;c3ao;4QzyTiF=1LjQ|=T5^4z z*)Xlne0z7TX}orsxuLVx%;3If1mo0I?|iLfLsQb#qn2EF^m^0@^x2X0sP9i3SdaS4 z#3Sob!zjbmqrUy-k@cvL?>Krr>eWYVJ!+muFU!=UZUmm2p2=&OdejTRo8!@=W__-& z9`%O9GoMmBB1f-B%{~90PmkI(wazSlt=7z*Lj31lwI;i@XAF^ScJ+Pv&S(sgzMp5&=^~w_ z&78P*3^|!GWHNNx-}#Z=G2{-)_z87##}Ics^VVY`d9=nQ`KfxiW0~q9IjONM`2me( zi>-QS-sz4ZrRa5M9YsAZr3}qoy?Whj%AD;P6W0G;=X3Yw$)xMdG3ONMTKT2dWsV`! zoiU^Y_+MPIuB*RsbBJnnz zHz~aNiP^68z6AUw+n02>fyS9{o_BnWGxGf_bjF5kj5Fm~gr#`yIi7PVSt_0!-V@n9adEye7zV{2)D`VHhm=U{I) zcx29~HRu1~{`6QP)oSW@Wz#3rAFQ+HC|~>QLCe;q^}}CHGM#qZ!|9aQw2OWAmai;r zuwou6<{+xv_lSV)5e5w*Bet*ue=2v}t;%$oGALFXy z+RUZB`ijl+o!1#J8CPXL=-h zaI;fi`@OB_){#%TZ@rb*IDR3+fhE68(TQly>(_z2>=TPw;6nSnq ziab{zMV?7Vk>}#0$aDTtE=RAJ-hQFz#$1MNF~NF9xNUF6>Cpb3)1ihbd0YK z&(@i1<^#mgd0>PuQeTu8SvX=4K0kkD42Xa2-nP7mR4 z7vECqSAegl+WEJ0{hbZId)v&Qx?MUqz_n=)PN>b(Q-9(6zhftM?b^cA$Y^2b4Dno) zaTs22iHgUTwQb_AwTKb;+_dsscgtq@l5+&W&t~(@^cKqd`PBWL4V=5y$koiXoNE== ze_dt!=C(|+W9Y~xzNw(^9b=43B%}st>m@su-fM~-#UlqNV=rf+_Xpeq=q*;B8+dv ze`@UU5x&In5q@=FL648H=2BxrjJ1rrnj_^gcFP}d+WYNzq~5bIg@+xC;nE>?GVaRX zMS9Ec**hqoK&?;wPtS?T=3J=e+;!G`&uzEkwIBh692HQ|Wym@awe7T=CNIwlZZ74qm+pvmw?%p=c>Zc9T z*T*<*s5}PSu!C6c-Zs3upEgXQ4PmDZla9eQlw`DFP(N+Z9IVP|L-jG(h8kkgd;8(H z;}4Zfnv;%o+A#hYY{M$z(0kjkzMnQsp$(IrHcUAN+pvR}^WHYx(@z_w(T0fAhH1xO z8%i?TFtMLD%%BZ5P8((%gKelG7QMG0hV|2inY1D5v|;8k*oIZ7_iaPl#fS3rJlZhV zX~Vo@unjv{lk@h&5Bh1tY}zo(X~XPeuni>{ZTMn8ZJ0wFVon?8WUCEtV?9rMJFImj z><`}cJokMO^Zgs&7dLA-XXho(u{oXVqZboLeq7w_eGf6>x#DBv=J|KC2ZZZG7sbs( z7qXA2nl!Ga3;6DQ;>>g1bsq0M>$>h*$<~_-J6&6e_HtC8v@TtZects;Tlky(J?WYL z2SM@%J$c{!#{SMNv?c7@X4zh>Sa6(O-d)Ps<$;#&+bWiK`6>+idmrby&WdlM7$*7n zCQSSYe8c*}Sk?%A*7{r`)kt4G-psm9jQHvQF;wfttpC|-bn+*-#eUa*+Dg{$Sicxb zzJEJ0o_uC>eX<~wXs?qmKKXxLTTj(*NS%cpWryrSlv8wYNN3PzKcC2RoAbVq=Mv}r zV4jWhJc#Fz^PJ1`WaruN9C4oCJTRoQ#(Cb)bJThMZ=UBm&wF_u!?V_!{>*dOd5)^h ztQ+Msr#gjxaO=5?JZ?SHJiB#E^6b{_C7#{7?c`bT)y6;YEckl<9nWf`%6)-n)nCus zcvju?{C?`-w(EJ`yKQ-n=cof`vy)#ipXOQh%%#q(5wq5sNNwVs>MM9p@a*FC$2_a< zdjBJy-MVk!`F-kR>|w&=g~RN96SKIX6Nb0BiH+bjbB*C-WuC+Y7_*u>K zn8U!mpLEqh@RsqcGF1OYp10GcLC}rbw$SAkGy%FycapVF&JN% z*1%)kqI;i7JX`16{Ii8K*;~STvY#^FNtvypMV`fvoAC+S?C}X&N11MVCO;;~oABg4 znKD~|RpYExv$v{LZ6kITYw-5|-4sieW9?eARy-}Ue!do%DQ`r23acdiJj3 z%KLlXk8$414y?TY!Mn4acfTPo{$9u;n;wNLC+i(+$)&HbE-Y9V`|!)+ z{@xs8?}z6M3`kNZJgPro?+ zU+p*F24B-ZmoK-+S$B*TUw?Nse0>@|;PjL2H)GW;;FdS`0%!k46ut~GRz$^@H%P9) zm)E8CLQfUJ?eOK)6n;hU+I6Wv@$MYnA^+gV>r$QkALHcVos|cgee!JUo%nF7e1CG? zGDV;6vw_D%Q>%u>({-n{rZ42Yo9$JK>G6RS`>B`sTH!Z1i2=Wk#xyKK@z}FzbX0l_INwTI&`JBblNKcHG}5%!7vEd!yQiGAV(1T<)}j5= z_{&;pEj{0@O(X9+>a6nYv`2f&cln3AknyRslCE~&A?>|INQdxiw=wBfI|k! zecU%Lv}4Zfh%&Cm6{{}M{#mP@E3N(XePYfqehz|uOw5j1pqMktAH0S0sGM&M^s2Zs zk_$63@|QdLCzC(w$zMJ|{xMGeG31}-v?^VIt)PrWMzle+X*k17Xl z32@)%sYlfS^{968N63G^Cx7(-`Nu*F!b=VL&+_CSD>>H>UaFn^QSz61@>dU#zskuk zyqw_VSKNpgc-cK)cxg)R^57-k$)orPm4Z0{UdA|ZX90KLbK)uOjY*`&3{a19Cw~?B zcRTqNONjkG9kZy1{M+|<>XCBts2++VG*CUXw@Ubn0rz*FdRY6Y`@x^aCFLJW{^y-wkOleLwA~hj@RWdPo)sZisI;dg@{M==W0(_G?-B=aT;+Pkw7(SU>qC zGXy_O{xwd1$&DVqar(*Sw;W^31y^s$Ju_~uDvz5B&Okn#9ye!jxiLwsu@8B$JdX#{6tVh51?jndEWboz1&*co*W` zDxW=n&^+>Mjnoqy$-YzaHy<>KTn$LiUz=VxG{@SDuDP+TPxhXFsk$F-A3F82(q*@h zOw-;;M59%o3#k7!;6rm7>F3ga&mg~D_uo?Y-y+&0sY__vXFc`Xv)8WQ9|zm@`waCP z?}4Lz^V!;axf~n`zo$F(I@|mf{Mq#aZ-EbZ>h-)+ug9HwO{HEZdFvHcy|S|>T6)VK ze2rZ{Y|)ezV=A0zA5DGHkxC2ES*54@v3W@zYHXA*$&|}&nv_4Q`aGXJ@3ZDfR_qJu z87bMDbUv9I`-n~qoZ!SkdIzvu7>fmaqkL67urG9ApGyAi(6wG_x-$X~$fj=Vy{wWT8(ff9MTomVp?{fJr|0hw~HdKusr#5L$ zAm5u)rx$jt{_@H1g5is_6#p!gOk6H35`2(Q=Z0I^Po&t_I(Jh#yv5t4t@NdAS-F&9^&@x)o_JS# zVxsCa-Qs`6Es&qDbYWDECsh~u{#IM%Pt!ZAZ{xmu(-CkSq#W&^EePYw3|)#>6<=EA z;M;7Kv+FXOR^ZEk=B|RtzEP{KdCWaD|ImEoV7Z@IyYZyePN$9RYiP?04pX~dR=Z7v zwjp=bHsoEK;<%tULt6KxKYZ?>)ThcXr;ZW!<7)0XH3gmZiN!!2tTq|iBl)$RJ>i3? z&!jgG690+43KO)ay#E*us`p>0qxety`|@GhPd+t;yj&u>TTgp6$41};1oM_R?AR~O z;A%M+xa+ucV}561XmeWcG>2Km{c!up3Qa@uw^o^nlr@$Rhaj03H#e8X&GwM?>|STh zZ-!dDabFKFP>1ISdw2tRd8NwJe8LCrHQ#mryL7!B`I<|6NY5ob-;K}n_Ye2-guYSi z9@iKC>X)ug`l6!OMEi@)`#Z~HS6Q()+<99;h&ld)&iEzUXyU>22fqXkWB8=~3Og(G zAo(o163rCY@7jMge}Cr($alf8ZRu)kygt*+oE@B>$eg)Z-*Ap4-wom2Cd&OOwph^= z^k@0p=W~{-=;ARa&FCA_H^1N`#?WQf9OgH9eaA`75U>ZNyibl8|3*Tlq|(u(`CBc|BuS0%UJwJz<(iu{uG zEp{Ym#?pVQY#m%U(07V6Cf!#uB6#=mbgd`9SNHYim+q_lW5|DxC%;$s_2wVz#vbL}Q~gKZ z;m7yiI_ci=eVb3`5;vu1P{(=TT=;&URYx1&GY*6AHt-$gyU8AWpX+H~)NLPg9xpy- zI`}97A7^;-&m18CEGNJ4J<^kZ)&TiuJNYBzAL7YBdw~2gCw~q34{jE%+4K?{ApaaE zf0X=x_2i%9=FjNQm+8+o=vR8qJo5ES_1sL&$aUgAp%e@K6L;RikW=MIp6j*~w| zc~d?4=eYSZa5x?uj&*Q28yv>K;n@xjXM1q?pV(%-a^>_R;E+koA@hb2;Be+C>sY6- zZ9r$cxcdn4bNa&_b&(9;7s0NQtrug<_deSz zD<-*h%jnZE--s_le80<+KRiJG@lO6Q`FDEqj~^hv>?(pkm;Bp2`Frdt88naw4QP!_ zvIv_=T5&CZ!Pu_;uJX{pO%4qVj-Z>zr31=8eNp-uO9vb{ZpV{Ox_69u4E)a;)oWw? zmQ_z=5wy_9*5Jw_>Lgn5PsN{;_Eqt%XknH0olOfp_J#~vu>DwVTELc|_;%?>t@dfp zsw*ez)2CbQ>-D?;R*q;`d2HIU;|AI3I%E8+PP*D9+Ee3_q0oH!xtLO^5b!R1Yu>1q4LxldHLjN~8b%=QS|05Z7aQjy@uQ``Z z^SyBizt~S5K1&@$Q`cpb+eo<$o^l&KOL$~_2KW&9D&AIZ$E^_?xbAN%!|O9Lb;aj2y|6L|4yTS-EwO@{rj6N zl`ERr1gvS48*$pZoN}8fx7KOza!Gp;E?uy%%bO}9ph<&#&{$ytqSi+kHG6bECCq+fDx~?=1ZkzSKR)T{O`ET$^Tk;qD@@CBJ}` z_P|Yg;JWF5jykrGKuF$corQ!!S_uk$Bji(y#E&O zg~tZ!>%#b&2gX+&7~kc)Px#_SeP2!4GiY;-)8;kM$13RKe5cK8JoJHX+lL>{IYOJy z=%>x6Qnv7T60mGM-y}O!K=kox)!%9FJv>|E0PkZwi(eVrEqa-)eCVb%eCOuB!;^oe zlV3bvQ4%)?IFmr__y>00nY1k~t;)v{ijU z%oe`8KJ{+Ouy9O!##2A54m`hy=ZMqhi+FbX_yV4-IWBpwr5&mpdZpFB9mK;`ns9bD z`2<(bXYuU9J%eW#Ziwd+r;Jm0RvF`g>6TT(JJCxnwx_dHUtkUAooG+C#<2743A{5r z=MqcV!Uy>V^De|Y`GvUf@_6UA)yK12rvrP3bT%$R$49?b-Q>rnGOh0X54*nQ+qRo`s@o9f|1SQk4w$=O>s~lX2adjd$$_J`?c`bZK&^kfF(B?Z zDQ+qb)S7pWh?`g5s5P$-kDG^IuQhjbFXCQM6gOY}N3C(!9CR*#Y=^DJj&VZSr8>`H zrq9-`W#@Zy^T2*+Ve*DOc|Y@I{Lq-Ixp8ge9rtNXyr68$Mi;RfB*jesIqSqE3Bc$+)qe=qJjye7ugv=5woSO`Q8@_&a0=j1yYEE=CXBbYuSTUBG zcM0wU=vv=3(mr>MEO>CKk$pV8pE%asH?!9IUY=bW`AgRnc9yf=Bzr(hNd7y-HsRjN zrG4I;xo_c8ydv4pYc@Cb@PNDi`(0oN$FhmHL_{0F;EoSvQfF3g=GtPt=j>7H_sq40 zom*Jj^7_+{I^#g6wZEJBrPfupzzdt918GKenIFngqD^?q%N+UO`*yY3nrFTJP+g?&TNw=dk>O+22anT-xQQw-ZClZI@`u z3)6kSBPVXO9^?82$v085Feg&j*~&MP4dU_4_>)gOJFq;=j6Zn+z5^}T?Ib53xNEWH z_oO-1!%f5`1paBrh%u+hugJF72)EZZ7FuT{u~?VFmjImLTLMigf24?bV@Pw2(}htx z{_AGo3+7|b4eFFVU3Q;gf&OFc_WBbpO8Sri!n4K|WL1ZrB{whoD`ORMYY#r5kI%B} znPRN2g9ZxYz4g=@YB_b)8M3Myezk#_@Sy4<{+mFWsgjI|q+TFxO3s66>YuJT{lRou zjCHCwax2!9KJmrE&Vsf2P41j!lP(Vb*KYdAqSA7Juf= zjv1|-)ALBL+)rSiM>yv+?dshbt)ZCbbH#r$(9aJGuFr#6nR4YL3@4bK)z(6 zbe}}K?85RXI|2Ds*bLv3e{+1fB@@0vozjPH`1* zh*Rh%wx41c=AkQWCZFP1o`Gy!&vT_yr#F7uTPMp$@NL#aZ zxaY>)M)|zc7}G90QXO$z(ZxHqL|ALb|K5Uy|G8k7lP=v%V@yE^|LFJW+?aan+!%dJ z9_!o~e^pbm5!ohvL46^e6+0!i63h3b{iA-yIQ1tweLnKJT>d2Zz4VSx^~oElm#g0^ zj~gf6%_AR=2zkaZR(WHdzQ#Of-zV$LPOb&af!5qZi@4_gWvO+!Ja?>*8T&u=X2;y0 zG@A9_>Xo0z@|f}KPuXL}`d11%Hb03!);Ak%{mMCOV21b|8j;_F_)WZ=6Gc~uCECv& z&6xsb6mzCn>PGsSH7NMg=27fd#9of$zh!^xPl)b0BT4T=Ytw-$_A8w3NAG@c*Vqt# zAi)W3)sa!@s;af=r-Qe)RfpwYJ{2Ds&Toq(&RYcB$I7Zv>FUrBWYQ&V{;Dh5#s-I^pN%jdU_TZ7 zwOW3vHSgUI+)-(Ku-YyE65yI(LtB6{yYY!Z2f=1<`GU1yt-SaMRFc0wIG?e4YWt(1 zU~og|>0x|3!k7ucN;70c$ipvVGWbP)V@;!o{qD&#HY1Ppv^w&*cvc)^%a;Wn)EsyW z<-0t{9QaAApTPTP_{Oy_xV!@%EuW+LR~2?nhR>xpZVzrwOZRGFp0kO|nm2LZ%%!={ zRxZuCcW_BBbI&wDe*4gKhe(dgXEFW+XB~1TlYc{#rH@}q8DXak``cx0DogO)vRZ+e zS&qsOOxj}UxjF-^4A^^|vj|<=M`Q~6Ovc{s?~Lwe%ss~EaxAnUhFAmaZ?mM>hR+3)$<1e;Q{|GHx(-s0_^$ z`}nDg9aHK`sP>t?5sc4NA4(i}{J-L8*I2PeNZ{f7ysZsoO?hW}Ue< zgl}XA(wHLPx7IE-zwdP7LYwqaCwrXeYcn`EB zyHg08talE%4V`A2XTRo{)`91ckC68fPu{Py7c0TLQ0S^;i=)qv{s;7lP9K18x0~(Q zChYmD{`;9ru}?0kxs>XzIPCA*thr(D9Pd|u8q&$yScmdy4~p`A>e)e--9=;j{6U4C zhm$vjob7TqI1zvO=z}MKr*=z^@V0w5`pRyPJ+I@bf!n=BI*=#tOxnGPcRJ_9ZFl>= z1DzMKce0>#ZO=Z%o7uPZkze>bmqY)dI5NYbed!vHJny&iOFrqFP-1O595}CA`iAU* zfmql&V^4b2b5V4qX32{itaFT|KS^JbUbzUEuD&!<^hZ0TFKIkm08a=92J>c=tRB|8rU$y4*JV!g0ns+T?4=DFr{#a{vaOTkD*Opq>ot(+#jw8}%UZ&mK z{+H(M_S`x+>8YT9-Lpqylq4fnI47L zPlnGlhWL<4jj_$__u8DE6RS(l<(kJ8=c?m+;M3%bCfavv{e$r=$ox;^*>3ig2Lq<062N!K0`x)pB}ALGk4%0E@_{LfOBUK|Et>bCm-Sg^QJIoGDo=i8Di7In zNLk=ASr$ajhZMs-(LUw(^7Cge0R5nI&^0gAnaRSx>M;bEJ`=QTxjxg1f2-D#K7j37 z>p6?rw}B49xAs{U_=8hd$v=H7z4&lzLq}U@?cWiN1cS@dvhjYq)YdP1Xe0!UaFx*q zB@T_09fLGd0!=W!zb0By+lM;+<)shC%tQK2^Z~v*>frr1SSbBD=L<<+5RSD6Ugu`Z zPXYUKc4#EQ{L!Hi&AFcaolPSehu=DlEa{g^7k#f%$mJU-D zfi}3RxlSsv&lj!^Hl;s_oD;43(S7HfJSg??5tpSZv8zk(oi(B$HFNZ(mfkxUy%+y9 zbY%7fv42NAQv#1~dqVn~ZO<%buX-K=-XuG`cx@$J^8?{^ z=IB8dUNx7vCs>gB$N+fNInOR$10KA7E(5R2J$OAK1Fx0fb&P}8%3~C-frwxjstz4t#Yr&Wc`x%-dz(tmawsjuXj0_&xhOMY|`Wi(=QY z=4dA-e%?c?XJ+7Zrw6A`{K27B%91~KH8`zua9Vwg;xs>Tc$|*)(5n?YB!gayNk7q{ z*E^Ww3a^`>*SkgzO5HNza!U@#j{OPb!knVZt+}vQCY<1*-4i^t`^%QTGGTO}S0;Se z#j_(5#)Idv4xYy!qj)|X-M(~EuS_WJM<)D)^zxH?=~gyKFWnBOPi`J-)9rAFZY5)f zM|$b@Ga2}t<-zBW417)kpJ4}|la51te#wK+;r-zA4$^mw?8WEs415-W&jJUZMIL+> zdGL8g20kD1;PdeveaEaR;B&Hr&nd?tKHu%Z=SltGb2#aZ#N~74>PZ>+905Lm^lqCz zM|ki#!h_G>Jl>bz|Lno%Z5jBS20kMWKBpar_)LxH<#%lFhv)!Lk&etvN|s6w_&Boj z6DQj`mDby0d@~4L>*K=)ac)^F`?7n-{{oK;{agl4-!r6FhMtgt(;48j#=+@~;}EAy zJvbfN4^HnSeYbPYr|>#5gGNt+MgtCwp5&p?lRPwfRt7#l>%r%f%>BH2>P+w%b?`a! zIK<~T4?au!!RJY&%NFeNd`SjAM}p5EUu5(ANDn?odhq!lKkm!(Pk8Wodj>vdgU?wG zK4%|?_tP7XiWNI20s7c!DmqhKIekZISxMO9*6k6 zAAHH?pSkAVl3Hj&?F-GWmlm20|FzIm?p$d0zPQkA`oqHBwLENWzOeLOd);D82)tJ% zm{01Q&}D7%Yd8s9D;?WVKxuy^zZQbWbJMiu|8T}==F(}?Rb6Oy7WA35%HMp z5xw@p0@h;j+tnpcdRh>mxm05&Uo<&$?S%f9qyZAL5{8$LT zOGe3l?6nR1ByW(7is_`aghFR6!F@OFtBvNse;s_)UH2$<);oxL!a6~(&$A03TX^Y1 zj7<-D)}T!KF5i-oe5<-3hf3?nTj$AJ+@v$YnFGa|(^DeyWu4xxJz(<^bxD77 zQ*vlrviQOD;1E78=w^957jpM=*V?4ude>GAuq2biRf=D1+sos;s|#8_-tDXvR7ii0 zGpFCT_laxJD^KjN~@Li4<<(c`c(`c`<^<7(-b6aJj^#x6Ceez(ZU}k=AuLA)i z1dPyvqP)<2cDS$}ltmk&Vy>#qN3!`Ba!#vo`2)rQ*{~Z~TXNS!FTS(ZgnqTubkC|a zd$%s_S?6^9W#aU6oz-Vk+gX>W@SFKbwZry>nNJ_E*M+m2RS))DF$QX13TM%RL;1$c z3n_*~T{0&)wQT};6VAr=;Eb`(!nyX#u2JO&e*$}4tqj?`A%El|)^&b)N3GfL{8ID9+iOi7_Y%tc@~cDo zoOf%*QHu}@&xv?!@g{-pyu-vhhM zfgM9{60T%l)w#Um%NkAm!AA4)s7BMUjEnmu?yf8BPd@YQyk=sv!L!A2;v9suZV_(t zhbH3Bab5cq{5C{imk2jeWLflzHh)a(A8Oa{)Ay*Z!QZB1i9fxfb=|x8A2WY?g%Eb_ zd|2v>u1s>?bJ7Q|>pW%fk-89>C3=NEQZZ;%_t#&s=`;kbi&pGCU|Jg$FHW#{RB^_y zpgvW|=e&scd0Ct2@JkfwJ^o9Vn~Z)0hd#UF`OJLTy48)Hr9MNU2BccXgf z{s*TX<(_)D-~Na5?N#qFo$ugVwMBb6p_|e|{;OY16g<*rdXF67oOST&tf4T@SuxwR zE_6SABzzNT+me&=N%1@R7?1E1S!~7WY#^V;TVz}y6KCId>N+N)uEOWHtu*|I@af&N z?5DeO|Gm~c{hM0zeXbmy-8~3Vc%Hp}$r561=Tfinj~yhg812y5i+|tH4T<(y%7g6u z#JfySn%A#TYcBZY-mcBh+m+kZwxQ&)HqrgZb+JD zXbavI9hA}*tubkDp6Jid^$u`SW$}_|u!%Uzwmn&6ulVF-@;`U}{?3!Zp?H8XI4PX_ zL!?EYOAk3sz6QemRP|k-xOzTtuW~CWV?21MVcygFp9NMd??U8?WS8XoM(Av#M@Lxn zW65_rJyV}(CU3JRulW-4J+h+D-p3^mbq z+edsvvFQxbmZfS3xGqs$Vu_Ts#>8At__fEl`tTVccD}9U7+FO>#H`$8kSqwbE63xHWeWGq`LD8UhubTTl@r#9~ z^Ojn(ZSzv|)o86*&;2X>k8{6<|I@f{Skf!c%S4~h(CbBooq2KiI*ja%K%>z_dznL< zk~fNNna5SgRSVwMIP@v{D|6^mI-%%u6!;zueU1{3^RC!gI~IM83O|>=4WAdw2hE{R z$q?^4tjb$J8Hz{i>KuM(vXU|@J^qgEk7+FK&67!&dF0RYdlhfe=8YCB@48pTBa*{UQ4cpgvkuFh zyy6k%eGhfOM-|^g#iUHM|9W~+XEC&_@lAdyw+^>y`9D=|9R7zsC9g!wd8Q$4({clJ zjNf3iA>DQ&G#rJ7&*gtydh{ytK*y(vSEUEL&kLaCdeR%Tj~sn;6*AA(&+V~j73Ij6 zrXh_Sx6(yl(%-H0sAx7j_L0Kody|71Ki4x}mW2Q3yx_|IOkQx`hn`z#rhmBBjDKdS z8T6rAQ^>upq0wx5da3y(|C_mg@q_F)%8=D#;f14>)tkWok!1CZ^9GjHiP1-v)lX4| zE32;;U4-RhI<`t5@7>%j$U^c$u=g0C;YCCcI2pJs)^;JhJ*E=-Vr+ zA1<=#`wX??Ey(J#MCajuE?GTi^Fs6f8MUVTsio#GH?bG#-;sTZXGZM4bPo8BCY=5RzX9w8%pU@Nd?WpF#m-eM(N)Bc zZ^l=AYWq2)nGk0g@jS+o({}&v^z`p`r+=?j|62VeI=}|PSz>vSI;)>Ys*g4Ipf7#s z#(AOoG~*z0pD}~}w#SIKw)fdEPRaK+n)tHl#iEnR!1OaWQoDYMydO_J2ZcCSfN@dd zp=<~5U0}yww*1`D7j^*3oYI4%k+1z&u2D$%1lhStxE_07ss-OpDZ|Z%<{;`1@7|OD3!2+-?(so$iTQnL?qzWG#T~sg zH?qner#{QOe^r_*eqyN^^CTB^H@3dkH1L0YU8A|^7^Au2#|h2lX3*RYXpW7gJ#y~3 z3v8O($-945noIn6soD7WQquyhZC+4oig~VC&}hE=`(sPaefnL;hn%}T-dE0PY@Otx zxxu4sntT7hFwIqNTx!CPvF8k0i^OY9g8zka_8_o-gH-2a8HcIk0KPZws;(`C@p za1TBG@=2SXPWTt5r&&K(YUXWNY8s%U#?RN9o&1k|zR~>hx5t(Yd#LjGkYTI7*jI+_ zMqYjTx4kl~@FIKMyqkCbsxoZvBTJ3{`>d-&cO{>#HM73A)Rcd=(Y)&zqq!l+3C+F! zg}yYGKa};_?Y%TtlW)`9cHaG~(p>!ErDpkeiO&SBt^YK>GyD&I;{SHs{LDGWhYY(T zgPt_sywpQa6Cbh1&G5f4Jykul)J*ygGz3jeo5Ol3|KlI~zon;C#qmK;FU;#JpSD6z zkG{|=pPJ6J<oU%I?Y1ao#OVjttbF)Lj%Lkm8|$juLo3qpocnf}(8RWa@D;=# zm}bQTl>f)Hv-fu@k9@6lrYYkFqOXpWefnr0(7I>$UvT!hPfVZ^v(DyT@;);Clnd;@Uvo4W7L7 zIS({5uK#lKEcfL3>mvjEe#OWe^W^$&TlRPA>@WEa1w%HC3>4d6 zF}pk!?OJK@z1Ms){zH3`ykg^bMEWQ=6@UOsBX;m%(Zy;{huzzzv8R- zSB%5Ig8MrD*Kxm&|25nfa-X$!sk!Jq_ziK75nnR6fit1yCkLO@!|#E6z6?3;>MZMuAt-Zj!(Pf z$6x=GGd}QTl@GSdn>x#3^tNYTRXJ_=tobNk@UMmkcH@&Qxp*b8!qBaJK=*Ddf_CgR zebJU;0DI5V7-7+tot{ZshP>YMG?vBpcWwrje0Q|I9H$JOUoiRn0?stD&*Elp#*)0? zvZV3d_o~@5zm5MU%r%3Hvy{xRz=|&al`Y-FD^_$Bm9FS29=D<^95}ywLg@wFd4a0# zywdZ!3Gvf$YG7TLg}!D&-$sGRVT_am}Ch)diY%Xyc3==bJTY=UiZ)E^T<2TlXpcecfiaf5;Jz0aEx=GbE5Ufc zfuTNPA4NwFXO64v9O^fUeOI%|TSgpeS5;u6NQDAA3f$Iqk;C7cYo^mfTvxqY~-d~NcwkCg^GXzEEA*8PVJ!WRQ3Gpq(+vl6jgpXdF=dYQ>bUByDpD*@uiHW^!`jS^GOL zKd~-Z#+h3ot}A&S!@ZKroiB`;**AXm3d)+|%u@tkvQ_X^j>>RhkD;uO9RWV$d(XV2 z^)_UAhL7{w3ky3B5G&U5b8g1pKSsZYiLXU}yYVC}zsWE%mTN&CF=U+h9NI77#*>hL zzvd>2CviG;QY;B~Pm1O#^7$Vb{(1WLV(155UHnlDydc-M*a~n}PrIfQU)ntf=t1-) zofW*;(H$Q|*4pR4+kWbHx}Wr1_(cAZ@>4IM4oWYMNl%~d?B9KRunsr(6rOGbC*K2y zl9w*-PNr|fKVIBjK)z|nLJP;>>ty;moDzSbf-QS-PM7+k^SIqB)HqczN<{S+Y?=p z-fiLThSZ)O+`YZHg4vuO9*ORL0#01t;=QXDnr#m*G#ghg?Ab#seZkt-8cwwT_i%$A z62Y(7lvX1vC3~u51F4cdXjz-~v|a-KEV*f#M})cdntIO0v*o__(q3_4VaLq&FPWVc zjYj95gt_*j|G5682a)ZreN!=dgI{`Q*L5%1a~H+xlx())o6>0|>(bNwy}rMD9unQJ z?a7llFR3Jdr6>PKzhLKYf#<7Y_pyigK8pwPf}D3nY~Q@#;t};4V(r;E;d&~W1(Fm2hCeoC?;>37z75C*_&0LLK4P13xajr46VGuaizP&i#_|3iS z&DMB(Z@Phdkb5KdV(!hzx8+KUafU=F(l&7cv3}7#%FVsW9C%uF_-hWZ=p#3;_M~o! zF`vYzyCiaN`toxZBo*V;e|mje8UI6}do{KPd?CKCx}UzoubF!ucRzPO_d@PLY*mFk z2icFRdFEg7x2~iv;rL?y-wU3mrUb7fvX(LFF=#>WR;0^mqx4wQthl`$xC~P^`-39D(KpJI zOPzE!sY^rr?+6jkOf)JQ{xCFD?D^k@olJE8%!&EX^^NV5edb}oQ4AKr@khZUdV=E5 z@~&g&h+bGzfTi@Uo_AXvc-mw6L%~cSm%&jy+>|_T^|mgR6{yJXjADyXoqqT(mCG2Q z{suPz-l^ZkbF2LMo%%2PjQeix;QUV4rk7upXg`ZH-hF}9U1iPiPQX6zXo%0e_@&jq zu;TP9X6BTK_jHdBaTW>itD&`=X69$+iL~}D=LH`FR}iuiSmu|>%a2ryDr|31$XgK zQ?j5c(f$?A3LhT>FA3slqYL@Ni`eg~x!-l|*i`h5nO5(e;+t_rN*W~acBn_@T~&}``C`Yet?)HjG=DqnXeu=*dZAqoLe#ic_|rjc=-@V zKE#m^apXh13;JQNxvfVrzB>B(N=rXi{iL6}XXIwXP8`L47yQyscjs+uvSI){a89k6 zyL73USiu<*+#4I0nyb#PHKk)}%|Wi`-+_&nckbGmFAQ!X$ju81JICDpSX!}K==W0Q z-yJ6Qp!NR@+Ef^YwnYEngb4@xrnL7+u~rsYb`wAQ$iyesJ~F5Md9=TaK9W4q{Kaj* z7e8qyUGo<=-7UABG>uK_BQN|N(zUQzdiAYA=vy(@R-BOR-In$_{qFb4cCy;ClWhuV zzq4IW(S(mQ?e7gU4&;8x-?^83djC3Ye7HHk^V`_A->6vEWdhAzQO12!8tOhTu%s)8 zu|e1QrAxZ@23MzV_+?RN6nW$uza&{;?%!2l7VZ+PzwsVGUH&D_U4vIQcLhsJyMuv} z?$qh%o8bLE%9v9s{WRVdE?wQFn7D3P6Dn4BO&qrxJFp-A8r&To7eGEP>6%cng!fCj zzQ2?6zNwSGiH6svXTbyC;oXej+Vr>2UEHRz<(W`j+t)^8m##3~Pg92Swgy_LgRfid zdAhWvdlK!r6u7JTHd;j+ul#ZMiROV_!9Z?zu+-PhS<$S&Eocjl<1B~L9LCBP#>$rN zXRt*-JFcaB0ygMNO3%lh9qP`jV9W$ZIpljf@F;mVTCzRIn9l_R!@5_}Zk-8n9&Hug zeSvuQWt9J8-+@lmNA;UaJxT&=yCT7+xB77m{TO!O-U{3*=UFjS!jZM<5ArVLypxQ+k^iy}sU9J4I;NR1 zns+{PDe(~)zp1+q`~);?|+I5y}i^I4OOCne8aysJIJ zpP}wP>fQp~>D@_-IX7t-bjow_Y0x3#-5B2G3_FwcYtBFAxx`67a3OP-P@?^2-UYbt zHrfNLSb>RQ*n@{fj2R_7jG6E_W7@R#bHIaH@_2V)RI*<7_8Vl|v-nuwyS#iE@>Bd~ z0u9}T5uNXdY#0~pz7V-3z0qgcB^EJu$nG#OUo+lV>0Z9p*educucwS?ZyB<+nXt}u zpVqz|-dCGnUgYm=2(L=lnPRJbngis8;>nx$)c$SV==wrd}tWUh44I+JJPwh8^rkq4VS@?b2obdX1u-hTVH-tUz$dB~W_vPDO+Q{TNI zof8Ic5sfX=!A(>8Q^Ik4c{(?+sw=-@Raai=s;)ufR&|9}v);4h0(jy<)@@dH<&Ar= zYeH#N_jwg7yK={!Z|R-SGRA3)j2iQNF6k3XS9axJ`C!*2W1w1uR%#3H1;C@2Ej#SqC4=~bsuVXmaqqH%@so6TXU zND{ZQ;$u`~WJFlYrjlW;!X%~IcDVt&Y*FzkMUd~~`Tnu{-enBLRrvkmz4z|>ectEC z>%7kE_jw)GOTSSA+Q*E#u%n1|lZ(t-G=X;$Ms(zi%IPScP}^R}?=k%D%l`$=yMFwi z?>s++|8w=ca0Iws3lF3`w4gu#zniujoc_L@L_xX0qJs6@S7neD4D>8#SZ%u>I2H5k zQpRUS1v+x+OCNrl(mwdcYTE<)e^{U+kFt6EuX^+@pLc$K3&!lO?I_^4&+|UOZ&P@G zdmu!P6sJrdJrnMS?X!w+c#!p!1;?Sj54Ws8e0Y?2kj{6|+}49vVQ|Cm!420pAw6F> zAs?k^i}Rru*AhRpeQ8Mmmpw)dTJMOCD%1er|Ppzn50G``aFD zzn}M_J9-~Du)4i)$sgPER{g$x8PENX{T7EZ&jZTm0!CA zSUpzL{_)35N8Tpxn|vLCRWmejNxp8I(AIqEUgp>>c$9ha0OlEYRR{E9WHVM}}+ z2RI+L82hTuQ#r){W&B^k|FVe>=YQp{AI-g(dizpu)R8;nt2OX`*+fi8xi{h|Yrm~y zYen8~S&9E609-02ZvdWd-qA(C_u3ZGpn+dr)S3spOq5(uI?XS|H_}US5xaY_uI65>YkM!&)zpi1+2@Rrx222UV-d1s&wgU@ zmVFbS+&y#Jp|*WjEi*I2%R2LAeef_bp4j}}|BHe)*JohKlHiT_mU8F#uxmZF9Qt2x zKo>U;7`oB`%77ymgCmx`7T>n=8%Yo5cT&2T@CH4vFc^xo%17@D5d#%Xv58rTNcVm#r{oEy+2e?Z|Ddx_(cIbujThv%FQZ9YVWz3>u;(4=uhVxLdn+D-A$o>8h z&sonA{+EAdEcfwTlek2e)Rts=c(Ij}LbRf4V#cqV1MT!jpc_{G%aNM`9agRiLyih7 z_hrqX@#w{qu+Ir@Md+~Tr>*1BVWnr=c`cL&GE+Wh$-U6HDak?b{}3=Ai|#y@^97Xy za_TvG$!pIUmsBpu7L2Qt5Mfj6<@O_Y5-dywHv($((s6 z`?$AEdGT)k7{RPIcTZG4s1hszggkpFr=A9b-OAGO*Py_Rij5_2M4RX%FYYiRx0 zA@K=l1ARUp{Heen>g{vlB<%BOr_Wkv>h~#I3fg9k&zzg+m+uI8EA}-EKDoYO=?llA zljRoeI(9kXOmFePfKyjC?x8=RQyd-ld={?a+gYS|rVRcGM>VH z5UsM$bza1|)5Qjx8EeJ|o%qE;=y<)}L%)%&P1P!B1Q&AQ2-+*4-aawjvmOj|PkCG| zn+WxJ^Y3cCh>ip(QydeWjkf#^*+KbedJAsKwJY68IoH)s$x*`b0J@I!&jO1tENNZO zm=>8u&8B_{JZ1?oZ;Rm(OFHxNTI1nc$u|43wYc=jJp+21Vl~5pNoLI&0T+0c z_zk$_4?|bN^9K0Camexgj9>5Z(YWtDbVqWjY~qqX%eX>ZHFsRLdmJGq_Xdpczmt7prGYj&Of z*#n#l{9x+5vk#_KrWO3I@U#>5v{S*i6`pSw(vJH+yB*P2zo)E^c2w^mY>;Yai`F^6 zgA=ghMeI0L*-Ec`W`Je)iL653f9#=l|EAUL`RIfz=Gw7vSFXCaW5Q#jJKjOLP)I&p z<-Z~({tRqrrElvHO%Dz$MTY~{$dRl0PXDX!{_}M1GB6zWL`MO(%Rng?_PK!UmfU5# z?2G-u6b|k1l@3LJ4_fx9U}=ATqstEoSvIGfcMY+0(joPB-ErDj0Zq8BAF;uosxyUs zi9_Q4SMJ-Yh$${6rkJ~%SN0>X+p_e>pDAdQUg$pm$$6als<_+rP&CzD=4P4?+ zjoi0zZRKj>QeIN!tDQL}!;eLeDu&v;P5Q9LEnj|~dEJWn=B%6D{!lG#5bq98X$04` zzPGUUZ2dAL*T8FfbInndzedWh@ z9(|ZL6}Pt!{P_wwFZZ%%)++-@53%fetfyZMFHSc&GLPuZwlemC6lZA2{6r7?Kq$N3 zQ}*yI#g!r#v2ML_rQZ5$_@>75&FwwZAERu{Q+AhAf7@T}SkiYw|GagNr2I%v`KdkB zT|(IsPuV7??%z>&u0w~tb?@bj%DqJyxLndh-CHQT#Z&f2PTiZSyMVe&e2PIJHYJ)! zK3cTqBIJs2{^a`iKJt0;rB|)lHM*)cHIgf*eqn2*9)GcCer8kmY){>1^w5uKl%3`& z`;gO*RZc%%A(r2VZu=NCslOS}a#a>QALV=c*U3+EdT1+7*|?|dY_%2B`K2~r6K+*f zrqWZUV~x!>#51yaOoXx#PuUsNCmWUIP4Uss<>(yx+SbebCLP8HQBfsXW@_@6j3L)N zxCa>*y)a759XY_wf;~39JG%YergvTamick<^y`uY=;BYiKKUc+USA5%7iM7cBx862 zS-IpWFf68gv8Vj^DDTc^_Lz5bp5*R6nYz#G28LTHv(-~(bq_FHOWC!avZrOi@Er~e zAHvryzj6g|)Hwgwg5jz?Chmpd5(kFzE80FqTNhr1e5xG6OB~jNw7)8{ol*z!Mif!kI^i1$)F33wBcv@VlF`cYDgd%$}WW z9Gp&>>7FuI^#H$-lpX0Q`z-Z&aqth|g>Y~$@fcnlEa!P|(Tpx?v5n{}Rt^-W^5en6&HUxjuqVppIl#%^H za-hz=;7t3}6VV2Is!w(dW}W&BzEbMUkB?~{&RyqKZ%M?Px6uC_)^Hv^DHzKr!F-9v z==A5Wuh72QtFq5qUQ!=#rr&Ly{f=k)E!o=bJDYCPapL3DZ}nIG_V#xM@4D;n7WFrg z>2G0GroYd|;?2+2tG`pN{(i~n?*dPMfA01-YWH^mK7G-O;Z?+FatROR^U(YRXeV4x z{ATHa^n9}rAHIDCy5@2{FfGB?zkxI1i(1z(e(fO<&&vb96qDvHBcI)al-UZeEsm?))Z|*qt^Fo@$j-KG z*Ord3LTiO};!D`;JWVVR_M9&3d>XO-({eLwWa+2HpNTnR?0Jmoo}D=vSXHrhqxRY@ z2#@PryTn(nQu(tSSn0dW+FjTzSpDF38&)bOSe1BSwfHz-B^#a>R`AhH>Zfr0L%>2j z?9(5`Z;Tk*URBI>)ySdgBe$7-KWeVw^=6dhj z4x|^G`5Anw&*0PD`1%wh>f+PW^F8>K4WpQiPcT9YM!%8-)|pMYb4&yG%XnVF{khkxP1DVF z<{`eD{joYTfpSsqSMYl{_XCtO+~@Ip2K99K$aQopIRkZWCYPz?+fR@mRsZYRO`Pk& zHU49B%**t#;p26tj=ENGU&`+)?jPXySnkhqUq{`K=djo6wmNh18FS3TX!1^=P$3CL(#Ygg02WzzqUpwnCsW?0FEWOX+ zo$40-xb&m;|AzZjPCs(3HaIVx@BNgsu=q0;;`=XZ-#YW2iCs-0<5?EU$yxSSK0OCG2?3ZNS)cau6tN-Ms_&%$XlKfCwsQmR$nPLu;@(gV_Au#`%h{7Ycei+>+ZH_2iUUxaGikGeHnZh|+H;H3 zJIbLseCPTeX8-F*oBhe|dnn5q!^CdJAfC9@@t-J9*2(5SnT~F!c~Bl8@ubpj#;~0+ zY;(q-{9Y&97#_iwr7>)E#<1s~N8(a5V<0CA>*U&`@^PJPW7vUg;GKt!-Hc&3W7z48 zVfRTmhQ=!76lfOqF60ZvXV@}}6-R@-BARh9WS<{((W%hh7`7JTg=H_4Ja2#Fo*T6g zJq~>Vxda)dO?92ra(nNnnU$+7`$$XOAwN6um#Ji%&w@Y5M z^po1w$DcirzRZg0U~g=Qy~@O<1wso3y}}+o_GPCIqAwjJ22$T)8|^u!BWBxx>~)ga zzfeS|+h^=JEx_L5^_FE%J!FI=+weR`<1`kYC zR&BZE)!uGmS9bd{@Os|UUN&qSDck5NdxZ;I^eNgd{IC;OqnI6c{?$f;?-HKxHh9_q z4?4#LeeA@KGZ@QDj@~I8iaI*vIXs`_{6CccM?3$Y#s3l7iFn#M%QJQ_K7}Y3@|3Ih z^e21F2ccWaDeB@=p)+RTQDli7f7={glgIoO>|;Lji0jjsw(Mgyy9(VQ>LA5%)J%AXxWX{?CRe`JL@UC-h(Gg)lLYyi(H_w?PTuy zvB#)?DYU9^DLMX@w@+aIQ^~01?LQ+nTlw7-pM53!Hq8?4YYMS1FxYV^`<^4iE@Uqy zdjy9K=otO;B8y(y`St9am^veHw5RP|4`t{;Hje5%bnColXG}La@R0nn!C6D{#d+7{ zUhsOa2d{tKL;YJQyTw!XN~eBzeX`z5y>%xjFI$YeW;XUv_iW0}_LP0MQ}@gC+sYRS zT@&Ax-SiXBvVW8H5K!zqymtay*l*E({@n~R}4nQX!zn|P?Lylk0?9bDQOzj%+c7iiSxuJMa?oG(8b+!d`>{GwtP zg)0r*yNh4krWnSMNyaajnB1=aop{Dcr)T!VxU$z2>JGB@P0Uy^QSmz_T6PoJP-Hie z{iK1bk!uUrR<0(lZCu-9@Ede1$=bILElx|`_Sz?Y@_&bj=OQi=8OLy)?6wJwM`Lm2 z?R}-o%%?v%r*o~kFdN2Lo3h3_kFjcg-b!(x#(*QIfFsPIE1xg8Ix}832EPH?^9hLg2L@%??rL*YoO!Nc1BN< zEGj+5)-zo@zWrW%7Nn=UFjqNuua;%+hwsQ1cv%a)WNe-J=bzyw4VIn;#eqe(JWEn?(*+HGI{YbDnhdQT7c7fi=#x8%)4(^g$l+SfDm-4tOFShn!Y~^y# z-EifW_l9(y1hfy@<E!C$A&-m*~B{pDr&(JVY$f-$%Q$ zw-T!Z?Z1w=NV|+;Yfjh>8&kj7hZwT=z*Yf6*Dj>~$cEY*_D0F;?7ba?y?>BoAlU#G z0q?!6zujD$%kJv}`#r$E6K+-?ZC)u|&xPGiWF(#Wu~4uBMlS6BQ+DeaURcq7Z|Nki z-CD2`oYr50y@IR$^!tqV9l872WwQ{T8pT&xb7jZp2H0mVdQQF=KrwkBe67&UOONrh zaC=BNc1_YBx}W#g49o+cwt$mcJhIOx{I6MYz2H{MEqo&!X@WlcsatvNCBFn>YG48_B~?9hTfMi9Ss7^x=&R^&o&S2*8F()Rcg&@AC=?{=^c*z(xVN&H}k^2nR78* z9U@z{bDtOdwc6B-BL3{fYBQYsffuTgFpfO`;%U}dljsxk1%KDP4McV*d@9XiUmw{@E)IwXN;D%&geEw6ouj z{s;Q~W_b0LSJ-*j&)P`dk>X`$M>^AY!TVEZU~>Qu#9NP+8=bY;I-d9Cr^v6?oD7m{ zT{3jBuhE)s?ctpbT->=-y(5pa-m%o%&r`2p4X#>o5~{bHdR@8D)yv18S)3m1_~zXh ziOTP=Cp6SmFW-v}x*NJ8db1ZAbF%rhrw#3DN16GzBW(-&8H3_hG=}{r;TTp9={kmY zk2!J-2N}aF&KM4!gk#tq>N*BrH)HTmhBkxung@UXlMk2Nb?Mp~{`rA9W)xTa{d3Hg z(VXw#kyl)wy5yB6eBVCSt8&_HN4D68KRgf!F&|ljGZGl9#XpgoWWPDu8D+)2=JS@@o@%>M#1}XMEopOKw>sQrg$GhsxW6u*e$o|kH^4$r>qi9NKjk+K^-WuJE12oB+_JZN(c zd;4T(sfyIL>YNeL3CW6&t;o0bM2Svp_#001NkhHoX0m^?S(+NzhebC^q z_TeiRl-9QF(~ax_Z}jW|Pu~aL@NA>!*(a!5bR$v)F0l@^-)G~70iAtQ-tGS4@E zpq``keFkM`c*=fAeP@kpPvV|;4Y2m&MVL?JNB%PHD1UIDVXNDBvQIZa4$;C<&0X`Zr0 z&fLc6gL@t%`>b0V2Nk5(+>@7{US`;*8gDkw)wh3%-_NjDT6yhP@_(iKZdHBz3Vsh_ zOfz^^!dR?t(9ch09R1rkC-T4p?E{y*&|b3Y1>#xi$!qH)XHQN?1LuqUa+4i%1Rj!4 zJJ|75k@9I5bqt_B*XA&k4WIcFR<}>O{{0;Jpa)B3BgEWMcAO7}9BksYs)+flZd zhQiHu&ZXjeTkxrYPqr^=3u99K@<|QE1_^ZWn^#K z#(n|p22Kp`nqB(~k#Fm5xojon`q2LYpF5aduX4x%BnC*z=A6Tr9*_L2`EGoORiWC{ zEH3eJ!S;Om8)GdMV`I?1W!VQRW3{Om*9UBZ#bDPxT{Gg})vc#5q?$by40r-$p*@`kSar-(Wx1n%_o_v#R>qR{gK%(A#96 zF!`%^9t>xm=kWZWzk4km@yzG=tobbF+_)k5RfuS;^hvUo+PrKV=S6tF z$;K1Oa2N88E9Wggbhywf=hYrMOiqWzt-~m@$RS8|`g?&ylGU&6ihscN&EKDl;O;njX0b1$0~zEsN}qjiRjt~YF?viGUZ z-l$9V&)%v__Tb*CYbWxic-XOg4)W0*Pr3hu4?}y@$BjAEw(MU^P1Em|cE%&#?ZhLV z`glQ`n@jN%rxmBm<=bGb%XcsO==$!xv50QW;f8-^VjNsM{d=jyigAfjhvnDnx=+)M zHFSOSR}U^uZ^^R7elz{niY*i!c5Sd#z+~LpGjVnnT%yQ%jMI&wR2+}?EZxpH1?w(x zg^>p=TcvcME!gCGL+|lN#LK57;q|>9$M%tPZ9B6YuQuHAi`Ow;*_A@3C{+#*k`GR6 zLi~3+{CB#C|6aQ6=y8T4DLc|rc5{q%4lCblXkqHuIMz9ZFrCFAq9lO5k*(L+0m zPumH7bY+6C($03Cm4|9O+quhW=K|Vk)Of&gWAR~Rmil;W5Z;kn*Wuiw{`(kuwx; zRuCK0T*6&3XwSrvFA|b3rXe$$Q946=5%}fG6<5+W$#j`C!u3!$@gtL+r-o^h1 zqjpT2>Q+pfRX1hxDC5c(zQBR>5+_%W>f!83E2b?Jp4i&J_m&Ttv1|X4zWc+S2h-)q z5Bgv4Bv)+XnSuZ7_vODWO6!~>H}EvzsVYOMoJ#@|-b0^QH@&CCz8_xZya`qsu;>=ere`%d{x#u*5z~e8@ zfj>rpZ9VnJfCcS5d@Xn#(Y!~KioH;rgA1b%OerQ;uJk$^&vl-%TQ)j?oYLk~%2`}$ zB8%mJNvhxO*|VF%S})P$zYZTR930QosTjZt>K#nIdjD76s~;8&d5#{{qUYqED4djo zo`vj3Td8S7vHQi55vyub7k#CeoErA`^vCxnPcCkLwiZ`#y5{AmsAz zA(wM^W5!%K$_J~x_lg^n4_0!e_TazSn690%&N?hUn>|M}n4_b`bY;&`EBe0T&a!>5 zGuNG%4|W@Kq!>2I#&$gCzjuyYUt#tfxzF!pZl;yM3)aI6xVw6iE63h&Dlw4E&kl0Y z3!jM7vU~>E2e7l-ymJD))0Ool*OW_M@T`eq;O)N8wku@scUSEj6xo`Y?o%zytt2wQw&Ros2Dcr~NY!a6nW8}tB@5Gj9(~{$l z=W^%aSaiXK^Rddk8NQ~tvgY?6YMVh^*63$4{9!9|Al`N|jPK3x!2f-}9e+0GI|Xfv z+LoH>Pj{a?>7G%!$CW$D_mLCNQ*~n=bgasjkpfz~k>1S-cFO=echYrg=Rce~DfF#s z^A4_Arx2seHGCkpr<<2{>iBmJd}I3jqCFWI%cX;tQO6t6=dUk0QlJ0+uD7l}KNgr= zLf*(O`~kiYVw~Cf{5_2Gt**~sN3Kl8jkz?}#e+u2e}ikN@J06GkAPO8zmoUrzUDzS zItLYf7~Wv%Ye(S^u6%T7Fayt%UH|y(=tFJ0|FYDqXvnOMlUe_mFxu8XLf(YZ7U~>7u4F0=D6x!|$n_hA58?)){{N#}~y+8BJwdqZM{@6CXG4%ad zHocK5gN`MeUi^uSO|RhV+X_zg5sSn10XtQHIxS z4;H5@q|YD|^yEw0ip|^gC#|Cn*BABm6Zn26-@AT@(T*R&XKWvY_OnP=Wk0qRUtrnZ z`QNhPC+v6&`R3(AF9Pq>Z|!TB{a*I)2bv4gMcCs@g0-pe83owdYl#(UX!+P#`N>b7 zeg$$*JauFL{NybqS6HzZiqQyCwlLa2?A~hYoQnMVG0n2s`{IjR%el*DkDfV7K5_Qd zTe^CI zca_CzTV>wryLWO1TZQ2~a{Z>hd+={m#7~E&U!N?mI-TWgmuTYPBzt`QRXW4>A!}cyKe%vE zAQ}fB;wkcSwJC2C-!(UIwx{Ty&Hx_Bxi6|y->QzIeXlY>eD7PZhlR}Pse%M{KzN;x z_Cvv<)JF~<-lRH!Gyb{^+{I_*Q&7xfcX0Pn-t~W|oNSYBIrsUDoH{d;%UvfWtdr?g z%TqbAL`y8eUe*-;&RX9oe4c?{a<1A%eLq3 zzy>D!kbGF%hS+{p?Bjh*h8V(9U;o z?dWH<=2~UDp3y45qaWDD5)U&+YB!o3Pq_f+nrd9XB+s_;V&#X}v*xkaeey$+Iav3s zBdzZZ{6Fb2;SzMBinA?#QACVVB6$VR94O%HAWsL|JcLm zt&!$P&UG!HW6c*#esGuKM_Y{IUrk3rPEB(|>664&KFJxEMeSN^dEmS7OlK}BmQ(cN zqqHespX>82OVB1)h->ek3ew805{!Ay^oc?D!?wLY5c*is5(p()YJf?NS<)=H>f4G4K41EzdaG{A z#E}KV_;mSh&nFJ1#dq|-c#3?!*UdcG<2gHm;b!{iXN-!4Z45q~D#-cXu0ZHseEg@U zin*(esngmoooDng4ZBV)Wyz z&DbKzhnD}kU}(HK5F&pfJO!hFVL?v)F4?sea~ft|#H)3l&2X+2$LN<}QA5AfcEJGZ zjoh0m=5qU?{;4mV4KT`GW4l(7C-G3NS@m$WNpKH-VV>DNd!7j%tTiQE2M^R*Hky6N zwLwR&-G+_7kyxiKRpLLH^OXM`XP^f?XP~Q1(Q*9R?4z-L1bOgdd_AodjQh>l$#n+# zsUr`yMYiMr{Vp`dGv4hd;duA{k#&#EE4}!Q`X{9Cy!_rn*17B7TU*c;eQ~KN@9unu z1nZjpH+dHQS<)I{KZ@4l_h{SH>mB^A9)85R-F;$`E3EUoTi!u=6NHCbXN$vsxvQS8 zXNw~|ETe^Txerjk|ioroP1%&Iu+a+`1_0`7^Zk zB(wI$JouxM8+s>(bNUd*5Vdn|ihj$t_`Pn%ak8I7eDjsauB;>Xyu!Q?G3V#lKH9C3 z6{*{9O-r2d+*+*9@f3oOIv-%Qt_g&oA z{NU@aBKJn&@uCs-oNDfwpzzaMexTbWhgT&F(mr3oM} zscz&FYkvlNDN1MZ9Wt5aJIJq=??Cdq;-*a76y71;i!G5P4XUPm9B8KeG} z%vy;YTIrEP2hZi4F6Vu=%o?F=#8dYEskZOmjh~26xBMl2*OL<`#vY5fE%%r4+}g_r z%?7TF`%RpyTcvSK)BYmV*$*fAQ>c9s>pk(4yY993aY!~s*JEy{CI10!$Hz}hApC)` zgR_M}&PWtY{|wIc;awH=RC(&Tp7FV5eoq;-Czu7OL*odLD~o#2SM9R_3z#FzPT=GT z`oro2>9ehT_FeM=DaY4#=$hcnnP~1@blIzK)r(wSOze#6Ebc|R<;DqQ>GEiG>T-Ik=G7Yi8qu zt*1*S*1SpAcHs0V(;d-HFWpi9U7u!x z^P+0GTs_#2UB#QXa{{u1i(B`yzFgeVnki;&6?@j!>+z%GR(78KyMevxJ%34k`wy=m zP9kR6G#!35zg0GlN1c57g8OZ!%+J|UxW2=%7y6d7?rRl{{K0#347tax{e+J0+lRfk z+84SlD0(=#WeR=PnKz=A$C)Ak+!B7_8s;(4US2_UC;_#Wc#)BRQJrdtp{J_{Luy0`J?()@ygbDw%BS` zuuiPG#%}tJ83%jxStv%gh<+%psw85crP+@h<2}bW*R;O=61q7tgWj_=Z@cZb$c}fM z68R-~y}qN?R4>85!96l#o*B*+Zm%^XxH|bgu#{}tEV~47ws0OEVxXhPiedWyHUIYF z5r^7V{u1AJVri#8;c;ib%k^LHntyv{?csDeYu}pdAq^G`_n`yq=hB{+SGXVa=md{a zuPd{=u@QGsN2BCj@W7RI|M{mQW%iRjuamzUnZ2=_aU6`fxt*paGr67K+?hCjWTM`( zgMQ}nBW3nmhT1Z_S6=rSa*R0n%-~O*`DX6^N3~h~hpsa9z6f%xugT&mvUQxhIFOz$ zxfePl-G=YmhVX2X=b0<#&sdU?^8?QuTh4#w57@Dw3(6CH-``mOT(0dyIOmH(`&jcA zGfr&G+AG_spA>|!O*vyVzHO=7=AfShUla{bVvlR_g_Kw2nwC7qpl9M~_$~&T{*9@p zv_|-5W6;AF3Lj{<_#XU0Hf-?-AA9IK!1)H~o#>5t*fQ48GH9kN^ISFO=>C7@?wsK% z`|OA8cyNPEH`uVCtset-G+){~F=^r9whhlNHM{rJcGAHo9XdGp(Spu>f4BE3w$3sX4Lp{w zR`wFtKC+*>UAapz9Z5YSnOEkn+q{C=xq4lj$W?{PH*4=}Sm&wpZqa4x-FgDN?akO7 z6`%XcyAQR+=*uIkGGo*kBPZIQv3#rb@6xXbm_E5YNO@>= z=CkFGLVl7hLHXSz>tUypY-IU+AOD=KOKXlTxg<;sH#AM>SIRFg9eM;Zd3UiHu5VRx z*I&11Y!Ke{)QG%o(Ix1?`QW9SGpRfI_VVhZ=Typ;ZyT;5ULBoLIV5rmkx{AtqQd#@ zwvKD(dkB=S@Az4vozH~*Y|k0b@3F?bBso1tva0N5j9}YH@->Vn$C5#7QWsL@ zTIjgS+qju2huqm_N`HvleB?W~ZG4&6!~ZRrcro?j*FmH+b{pzRMs2r4^ysiJ`R_wtn+RLY{&y?jS zH_%oAZD~zv+=l1kEACj_zQYWFQw{lyoN~a)h0#nQSJ-(vQLj|U2AQ(xa|Y(UfjMB zI_Bc`YxndHZjYqD?*0((`qG+z3ECEM&Ow)+u64DxA|Z}3Ur z(YfxTnRTanluP$m>#o12Z!XPkgkP#}Hl9pQzRy~B8J^q>&1v@V*%@Cr`aY4(l-=wp z+e)m6VjQ$5#a(x@=V`nl*>#4k@3@G(z?zq*oVAx@%#x={?R5z4dCm;`VMllGuzhcF za}4$6n}*UKbO?tS$M0kp7jC+EiJY?OBJv=s9ru}Gomu60ru&^=Aoi=d)|@+=y*%7q z__($J?-?iAd!o(;CaxSq|Cv|YUI}k4&E6BW8klSZ9izW zxz-H$Jhm9_UYS#PHVK`fah21LT&oT8p7FiboorC9%sBmzjQ4}@+*7umbu1Y>&KT>- z0T({LJu1_pC%#AJ35|&{2&UjvukTUWlxOcz`HtH85ARW#eRs8)&(*Y})&zj@GS=tH z3o?57uktgpXH&@5za@hz?}YU42JVeqTe!Tjf?Ix)iIH^m@RihcQ1WLqk!*@KA}`<9 z+|yZC;zz=RZxe#I~iwojQZA>jHza$Jp&nwtVB#)0%>fmi;YC+pf)dqSK~pbJm$DuFZL@^X^zSXSWZxk%Q<=Pd`MT z>u=3Vmlw$nsPklP+?FnL!MBRq-Y9%RZxBAGdf-#{BhD3NJ`|f`!3W&4a_+`#8Yi7V zaroOkK9Vt?7az9c0JHh<2Fh;ml>PAs#fOi~g*t?}cI&Wg5`4GJ^Ib&`ZOowT3{Tmw zI&DmIQPcU%jTFt(bmqTb$v$`~2jgXaJ9y&yithR0B55 z@S0t={bye0%qC)Ews37FMlldv)~Yj`wsW~Qpak`rZ5i8|wcfGe^#v~QVd9SxEt|iP z&zWUTj4$g)HoIpUj%5d}X?GcC^L z{T=^&wbR~I&YlGq|6Ja&fVy6B_GfY>vX5CNAix8A^vas zTUUnI#=P$1jJ7VYVLoqWoY^wOj~S=%=&hW`D!^E~@GNkui{40X&k|2w(+BS9L2o1$ zWS=J%dCJ^NeeU~g{pf*(yQ=%MF>5&c??m*_6FM7{ zxP{(|6?1bgydAh~z1jBLPBOoz{%Df(+Y2}2A8(E>XdM8K$$l!n^T?&rFYPiVlzD_Q zdYbt)y{a(oyzl3{U*>r)J9?$_o_#e|8#TPo&i%Rf<;+={n#0k2Guq>~4>E`D z*^Jq9sQB)|p0Z1rLybGzmayrO6Pv>wAy3>4_CUezSpMICN8F6&aKueV&Y^OnWY6Jw zo;lDQ`YEG13_5dgw&%U(a5u7w-n(;ny63&-Q28_T-krmNywA34osX?%k7EyzZt$oh z|LpPT1~<*>MmLCcwb{MLu^m*Q54`=8#HRd)*p!*XrZm->7jH-Q;l705_1xF}y4L*k zX`9R9N@~c|&49~Z6-~D{8d2L3ud7iVwUf@2DdmYylp5O7+ zu6{uAJ=tV@F$_i-k3J(n)bobHql`6_sdCJ~5se63|`#(0XL~=`?M$?|s9SwXo9Pq}Yr z*XgnA`YG%8lzlsO%3sxo-0}hP-;bF<{&;f8`%8y(6q4iq((CKnb4yLf&74<|SDMq& z;MlnFL0!MwiTxc;A3n_c{e29w;(}&VSkYlh>(Rk7zNxd(`FzZ`=K7UB50dw5ehS-Y zTfGr4jVA9WhoANvxn~m95tpg;=f*iM!Ea*Yh>bIXk?In@jD&UyU)DMJ687NBx*qW5 zedvp>K1g3)a>rx&*Rb!Oi(dIN^h)WJ??Zod%MwIz{T{|Hf1K#3=&Z)(?ZYX@*#~zG zxNx{C3l3Li!C@S5kdOcQty`azzWH|OWHB`5rQ4vt&()fj*HoL!KFayp{Qu8e$;I{y zp7E}MdmX=5a9_ypncPS5JHq{2tE52SjTt?CZOES6a_Gx&Xrt|Sp3E7obGyWrxW0e&b07T+Sur!c zvqwbv0p!yej2tXmzhV|e2QeQNKG$r=geZ>XvBE&xSmvbZ=e3=2EL)v8mfM&w*EUcl z8Xu}pm9uxx@(V$a48Cqxhqdhy#3?X;eQ1Y0Go>;5AXr(kT-dcVuY$#7;Hti84P#Si z5v(bXJjC3qUTCj;HD%1H%1Qndt**c?CH|{^4}c$ww#ncA$RO-Sk7d@D{b7%Bk06H?S;o_Pin)GjUCDvS;E+8+uAp*=fUd-Tkrl%E?xDjJXAy6Jvn#7 z;M0=Y_D{dabMQ)gNhC8V1~P=muOm=zZVg&wY&FA#!{i)Z_ z0p|2w> z69R9nISWw-bD+J(%rk!e`v;8(&b92n;AW}vW4SnI*^KC;C66_9?WgRtMNQNNF6f(m zp8bo1u{DccC=UC7_RaY}p9xwq`W4P|?cEQmedfoC+YpWg>z!N#aqDbq?SWJsbN*)I zs&WI51TJe<6{H)$YvGjedG^czdG?4!Vf`u>UDp{>dWt>Z*87Fv^vg>74+)=-c#x#9bo zOR5&60^xbB20NnmIuo~I<)u(A1izLIGX&YF*L~NH*n5Gb1KO(wp8Kww8R(?RS|55RK4R-T*Ca1u4H;s&-fQ_NHg@#o%qGQ^79lT7hZoNJ zO5>b$M7-B9!~1x9!!SFp`gI1j zRX^ujYtO?B=eOb9DYc{T+_sAFk4)ly?orx$jkdI|h>Nx2P%i>@qW9LChbBojxW za;@3q^?Uphf}9;S#VdM+`g)Bub)NSm;;A@{3_G85cPP+ zsycFxQpW*LUs^qN80v7>xcH_;b4A-&8}Naa2(;%L(*o(Wto^mrZ^<^$lD>ub+<>R_ zFwrBOm1Tx4Z#SdvN2jsR&3cMwKOe^bi*!tOhX<_O zCz1oKxRFl2{6I=FROjo)}`WIH!?)bAEW2Yyz4yJAa3>_t1GC;JuIXZtRcBiQjh4A#DP5c->EE=aiD|dH)$pR*!XDvUc%)YDMxo5EJ_l_i5LmlJ+yt!Uk7@6+SKeY~5TJcynfLys3+d{O%hDQoXj+}`^%1bsn!OcnwU_k4%n zJTIC@# z%G|Ths-{&jm%`x})J~P=INlth{>?Gl#>@Od+ZV70LAgil{Z+E5=7sF}tzr%rIeVi+Q|>Xm(hKFBWV-S>>Insc4zw{D**iIL&j)Mdz~;ShPexWp^|^uPXe*x>_t@PU!oETrqW_9yXyC}YwY zo8^v;`!4Kn<rF{12iM(>6{4aCk}ngj37BmaeR)0x-;$rHE4b9!!s<-(hRd*7 za!rqN3~gHPz4D8dt51EReaTtk|Ka$6GVtLCHk+c_c_H2FYG+giR|>-qMB)VGLdi#*SM?bIh5!6$ASz`l({^0S?D zl}JiQR_-$8)|CH9d$Fy4hZ4zOe_;Uns0}yq_?g9=CvCxPY7&11GM}BNz=o6NPC4OR zc`rNvfSrrNeXnnAd2xZ0XYh@E9|1=z=)8X0ChQQD)up~uQkIa;m_gz(nS11--Tv9wA7r!yZ!v{ z#`-H?p%3`fbB4KeFTrE|M+4~^&NKJ3CcSnW6MG<47L&~en{PCc3|aDJSG!z!^qa`T zvR$&~qvV6+D&`7um2eH_D&q=~AElg}uFIm&rq=I$H9eU2hR4yB>d8aLyhvxLr;Kuf zuHe2hxG~Xh{xAxO#jkETS74e;N+)0lsiZ*a=b8Tzt46Rx6GO!MHMx1gp z_+t-2?-uUvtv%a=W5WI3$%8qZeoCLn0~bfoZ!aGa?0y1#G=KUZ-O{qpm7&jiVfZj* zuJ}rRvH*ApexLrz<;-bq>Z9zl)1JC~o|^==Okn83E8l_F!`;9uO#SlNXpCWWFMEx@ zIr{UTgxRM&Fw?#p;b=C@CQ(Ltj|HbsICvKT?>@;s#5)FN@a;0;+aMd?`griIj|0Ce zyMfOEg%tY!drD$Kvl0U3)dx zq-Q`wzP+L#E!&6qo@n?7BR)%p`6kczT4$3xwnBe=cK}=zy^a8<(NP;t5#ZGuc;>DZ z;&!ch_pXy)|Dqt>Hx_TzdFnCbzd!{E@i zc4G0=NBMohE#r~}Rrit8k1S8J7lS)1Q(Myq$R${gE9cKh|K` zu$1fOu-~w!zh^o)o4Q2<-F)ZSZBOI9_<`EJ^|S(ukBEPW22Oq3iaNy(axz6rWkoVeyt-c6GR@-Ndwfds?_z-%XMetU z9Q{#yF1{QMPU$TfICV#ZyTB=n2D@;|_4MoZYequ&v2run`t8S=k4nk2RnSUPn|g=i ztEu4s0?Jl|63N20SIG;#uoW6<$&;Gu#QdMKo=3~WKsXsO!v~_D}y`%4S?aPt53%mAXENzl}Mz#fX zUwAU`pIT(n>Wg@U_{zT1i2X0H`JZI?rMDAD?!4zaU}F0a(49-SQg*ASY@QX*jDDkB z)X@a8r_FDNSJ^tP&Ws3gDfjf>p0)Xc<`*5*lHqS3ba_%booLUek+EDkwVd~wU&*I} z=?_jNE(F|ApEWmnw&%s-^fdZ8&4DTFp-|6y!UgHkY5L)gPvbX?$#}*zv4`>RI2Bt& zeg;-gTQSO(UkU%n(Z~KcZNhh2HSXIfCm1NV#!YW?a%=F;9doWTX2IpIZpQsB#yFjE zPxp*l&yF?jZ)c5rFk>0)8B5gn$-Th%(xeN#!ZZuC1Z6r=d);2^0LN#H9DNe zUFpoZ`0(Xt`IA!}Jx+Ydg+ai9!Fw5htjhM=DYr8*oS1QJ+fKF*%qqvaA@?U`x~>!9 z4fYG`IW*70DXryLv<4q(M&`(-9m1Cz8AAwomm%v)o>N`Q%O~22&1(ST7_l{y@Ld^Gya~Be4#$r zw8Co_7te9!JNePw@ptzu+iv*7Lp|FKzw5mB+6^B&gx%27PIjHQAHx=TYd5yY7`Dj2 zeVg2ThO;3bn`;igzuN3f)SAafSDTI84|CtShTj+Sn|lGj_kNjNbfbtv=RRp|wb}lS zOupC=*da|^alQBt5{Z_v!9|_0lbn&mnM~yAyYK>J)Dcz=4;!wz!3nMX&$^@KE1UyR zAvrdpeVErLIjbX8&NZBC7<_q^>6=z8hSp|r{esrZ9X=D_y>vi7_hPP>pC*qf^jGo$ zYbkZPBRdxJzvP5*(B04PdNn-`*-`%fagk?JB~`?n25mcq%AEJ3!ZdQF71w+p`a=o0 zI5iGyDh$9$IME`XnH~CY|n4a<6MDPfb%<$5%0+A>!nBO>w5ZH=IQIDS$!Qt zU!(MOjMLXK-SpLX`dXRQSFKm^Md7ge`t_{7YFsY=ECbgC1D$rhnEzFBQ7iP^#Bx_E<^|n7B2B(DU zp8k$MN`KFyzs4Rhto~->P)SyQd%~gZjmO5J zqJJX})!vuEq0MJyaA@lrz#-veZfHX5fD7)h^d-@;@jm%T&4phbN?cR$-j;G?_j2fi zcE%S(c5=9+b1 zo@-*O=NiN1#%EcvZmf-&26_oT=fsd%;)#~1Gv>SyYbTOuISu{Jpf5_sxsrFnedUIh zO~CaH$!~1=j3dZ7_+sAqb>izx?e4zRp|j28%ayG_I@o>RBp0mHe`L|ZH{x3p-*n?K zvi)H0^R=^=nz8T@E8g76XJz@g7@G-lrcpg-CM4pm!FuRD@=Xc%!CWS?5;$^&Gy zzv9?Ddu$XtAUnGHeRfvAS6-9pxB4qwk}Wx({wZ~_}VxND8$V^xQUVb?g0WjkL?J*)>{=i1JhSLPA> z3A!VF)A>WgG-n}V1$8!rsb7%ta|O7HLJAsJijXt4w=2+T(zNeoNhm~fV{V4t+{i8YGuAvn1`8gs&R zvtWsRz-W$wwW%xQk8^T|di|T&AXE8O4VFCcLI*L>9-IyUSMR!1TQjIvIU`-XSAGL; znI>RzBV{&t%52Um(?FT2l#$+~c{`SEPx^ju={Yf{F5BkO)kdJcfD4v9C>crPmCZx8 zBfS%!I^%b?4bA=iHh#Odv15%R(u?C5*^70Bd$F#HUaYG(_aSOe!qN88to^OMk7hA3 zcWzuu;I5@+{L;*Ri?=y@5ihGPK+jwb&8biQV(Ni5H>Teg5uFnMwcq`Wcp>4Bc#Y!l zm);oYEUSFZZu$SaG7sBilZ9WxJ?%BrHx1PP>~p#4A?$B?4|^Qkyr}Hieo1-1w3kNb zSB|B;_B9-ammUr#z9!rC&(8W;%VB?WuCGk}x!32XAK#x6NMH1h06dHQcF?+p8GWsN zgQCgBLC)JxMWjN9swY&HHTy z-^OUS)Mt}GnB+a12W~J=fQwfAO3Mt|8V!8&nN!ie zN`AX^PxE;Y{puk5AY{*#Pvr6*<}*7lV8g}aX5jl!JvKgMmvFqcweekcT@9bI;|nz3 ziZ4(MK{@l@ zw9(WI+UDfFp-=3;d!W6<*&io*@g8zLn8Gmol->pH_(8{e3TxV(oXnST9@n_>)SF}R zxkN6%^Mv0IH5FUy>jCaQWK2s3S!(Zl`|-J)UAnl|eDa)XGmCq=oE)$V$@hIW`M$X~ zq0G$w)KXK!wSoVoPtEh2Hu-6`g&MHwE>CU8r{UFOtbOx}=b0N!$Zb%2yS~=r4#o#(?Emp&GhyU};AHBBK&-t0sSN|rvq0_Ih zd6@Xham^;Oki5oITCPyv^}U(j`F%j&^PTKreq`o<@;yYgP5mVHxX^HJwqzakLHy$& zaJTAk?8}lt^vrF)fI8F%jZJ#>u+BE^{{Bs6)t;kQGwwF{6f)O!?2o67h~TU?Gh_U7 zR{iRui2*z2L49VuTlCR|$##{GEojx4W#3a-!O>4S&70OX6#jTGpF9F|tbkD^p z6XoK4z^C(^7F+s=D;K*y|118S$=BmEV_JRShR#uco&$~jI>W@be3#jGZ!^AVGXus^ z4inu*!{vEwNrX4%S@RYhxELIm;@J5_ugvM_Wknf!ReGEFk8KB}nlAij2k{0wtQY~C zwyhX-Anlv!*q-7G&?C?jwsR`QBd|clisrNMV?LOyQVgM|iiFMgUXA(ZB|2d4!FB=16 za&<|br%eBhJ{|CN)jb5)D}kltqnX%SDnk$8r_g-aehM=LdF5Te99Vh%6uz?B)_j89{?r~@f zWw&_B<_d@UCz4fak3NqnVZOP`51=uq-$R}{V2yV?N_x8^CDJmBlPHp=O1xu>rmVq8aC8-}vR zQ}+4ybzK{-ue-ao@uQ#GzHW{8YSw|)#x=xNMVz&86~6AVZ_BI&`Mce<5MV8cKSjZR zt%Vr(2p7LQ*TTjeV&jhspO0J%5%4j3T;CqK7NUF`bG}^#tbN!Ix?2nCe|Kwv=j1dt zZLjOx7Vu#^{6oCpTf~o^2>xHl{G&ItsSefm)f|%+E(otf;FIdC1fOPrPr|dA);rDv zb#TnWY2ha2yTh~e)#Rieg8c8`n=hP5&hf0dn}LDXH^`dmlJn|%XRI3Mb^0IwtNOGZ zd#Z1CZR;CZ?~-r-)pq>r-NkFI=VD?uiajwK4^$o~|dJ1@79ADUK`6Ga_ z=(lLrq!{aa46x%8KREc4l@zCCgc#QC<~`SuSMo#}oJsQ=xq0iLIR3C?=wXF7V|bdMhR&K~AxBxOf> z%6=1js+VW?M3=tE94Q7Tn=U1?=u*Jp(b;sVfibOT9yBKn+!I{S0dQ|L*35=c(JAInf%``V>vDeA|-@r7?6jKRiFC4E4&BoZFfp zMo0M%?t60g#i42wnpbN&&ScNjTyo|OCTHH~$(eT=d1|=7y_CFrUtoU~&zoo0ntz>9 zZFatCb{~27 zfpjQ>t&jDqvIUgMbIPl%e0+NEW8bR@{f0Q7$f-OZWX!!m=4MdDs?YYM1imtBmI6!-5B}lD{h;`$Y(S&itKzMyboy=X>&!GzK1WP{tvaF zi1&X7iT696Z|7U|1zE9EKO4`t z!#(p`o;APnceZTK__b!g z8X;SqiQ)Sz1z%}X^3*}(tZW(~`XL(8h_6xf!KD?V9ikO3oe(Vs_R0KsqUEV4y3&e% zJlEV!imy=X=;{A6MJtDMSbmV8H5Dj5?Jl1%gbmg@UX*xLriH z>gZOi+Q6hu+cZsNiY=55OR#Yr zogv*JnG`I`XdfQyVy|vzeF~kx^Emf%@rW9)EN|XFMleN*$ur zHu4P)=!_KYCmo$pmUusMwaDrW*^oi%Qn^y zUe8s&1UL^zX9(v-;5wGhXr#<8eDu4cH)*~iUtierp{pkX=m~O?Sv?_K2J{5=>wm4O z$PU)L=R<#ct&c33z1vwwl}^Mr)TP|>b#ZiS`WXDGH{n+$J}Nc8Q~Fi96(89a$?k*T zt@qe`T`J?~)|So^>Mn&&$YQU`Nw41PmQ^|FRX=@rW_9Wgvu5T(>JyBT{Tl428lU}i z?UmAF&ii6LW{PaBeQ!J1w_kb;{k2be3|r;}SC91!=&_p$p8wph$E3rg%Nml79`kgT zeB~yV&3n2``_!bz>KLE4p~JfVHW>Rkx*j@o&)xWS*r9r8{5tGV`${@Y=QFDB)hD*^ z6ZAd(Z+VRVDq&3Z_r2Dx-bsJzy~fqu1AV_5pW|(XwK1pfRZe{$bIYn+ao_XI_Wf@9 z-qWR}@Sk6o($^0PKIyNH?+xnH`Ty2oR(zVgI9zv6CFgvKb9E}NGfTKmqoqE_Fdpwp&G(_)z4^>d@py zVlL1L3G6to8m@W3FI!!9T}@<)W2@uaoaNf;3;9;I`eJM_Z|__!K&A=v>Y^4*$O!UaWBCeRN(tl%KTDIi6S#{L_bwi5i2(7dvz4I*wvzJRT@1 z;sM!IqUBWR7clJq=iCC%UVqP&>rBljI?PMuoGI|}!E;oDy0u)MPDL3@ z(SLS5Gf8YVF;wq+&KX}K(6%1`)D=nXUB-t?UQgwv)^~B=clu_o`;EpSeKYUufbCO# zBOjN>4CSaj`_hBGsqeR$#TTzPbGbjiaJ|u*y2h<5kP)>bx%Tob>fPyXUCMtvB<3-V z%z)pdIPs3)D!E6`IOnl3K6q!c2|n2hUwHpt@dqNu$)^hCs~!78>o<1X0lxG9G@WtP z^v1YHR8D26d!yA0{5Hgwp|2*J7S_MCkBD=ZQ!Q5C6z>7Sw@yq1?^0{gk6K4kULEC2 z9qJ<_6e=8ylN*Ef#3%BlNf*3QrdUnK?@bQSaFBU~;*y>C%NFOX_*6&X#i>WKPA41S zjmfq0M#pdt-K!uRgsbwVv=koJ8rmo_@jdswUnU-4uR@%C2k&KUsJW)YBpz)W$latk zvH<<1_>{+Xkhd`@{?~ew*5$~Ha&UTIMO^WLqSr#3qgeQQkQLK7+7cyXN zEh{%VXH0Xb+q*yetRpveeUti|6-ygmUC{U|nF&U=+5VINhPh#{+VkTkUhK9wi`UR2 z_=&weNAi;l*0I3)fTZt6gBkrgn7^i|Eie9O|3?{b|Fy%M+cI`e$ajyUjHi2SOfr4Z zfb7r@`APJNiIUrqdA4X5Fh}NRMahE*eu3zZkc;LVxxI5H zM$B(Co7Y+zYizwGX2Txsw}~3|&QZP=`Kq&ZNp3FAJHDkO^L0b&T1`%vp>-kuy=7+8 zo>+|h^~6M0iYL%V^^#xYHqO0)tC1_gwUFxyF40%~H-DErW_HiZC0&1nclEuuk3{3L>_zP(SxkGs+ELb5&wJ(d@ak7gxmSNhQT>XK zE-k8G-+T2p`0Afe{r^S%bv#p_jfOk9st>`v4&1#y9PL~6O)=e+e_pxBlV;*I##pefeY2{|De4b?IM#{y`soDtz=IuWatK zlodZIAMCOZF#cY+ejuOmHE!JB`&O0pdNQo|J@HnhYzQmA&K~PQo_EG4@q9*h0sbZN zpmgKK&%Dx?_VGM=7LZVxxzy|~5t7&e%&Pn-m?9wJY6ilrv zltl5pQBHoQre7;J^ICk!vcZVe!4BO=?AQK(8nmUo@l5%oJz0Pbj(%i3XTsa-=^n|$ z4vhgxhkqp#U!)E3)}VfH6ch3@A2Q~An)-$tbFQI1jXfXdz3TPkPve2c98Ye(@@f-#h1(44XXZ@)-?qb% zp?9qu+fFEs6%H~M!%Nl51uhzIkLsI6P6d8T4@(2~;VGY9!l|$EmR08J`Rh%o$@GL&9(&?P_@_)%F(Wq~H61+v zFJPQB3XHYD_|&=hh6iAr!C1VZ@UY;FWoAx_e(5Nk-{JX;6)$Mg*b~7GJpp9eM9xQ^ z?H4eob=vo*BvQmUQ~7^ae7zY-#wX_Hu~YNK%^m87N6Hy z8Cji^ojD-Wamn;TE7M_O65%VxE_6r?nM&S>tXx9;v$;z?L9b246lNv|JCBF|)vms? zv4Xxbdghg@f)5lc$9%L4nF&{#ww#qYW8uzEHf`)bYr`&XW6pRZdf`UoZBQ>THlH2g zn*g|Zx}oagQ+%0_PJM>Hb?%ScH}?AZ)21b_0ev{ z>jkH`bOyjZFrB!)*ly_BI^dt!_o2Zxze@E@!qK(Cm^0tj{-+Xij@7v*O6Sh1$ZJpX z+Qseo%SKIMPfq@fbRpaqj#a`5JSfY`jy?u@fG%^Pnhm zp-H#(OvX;3U&1Sqze)NwDIH3Gq|t})Qy_INvU5&nnc7aO?Mu7LX!|2>+iTpm&w)3z zo-AC2XE-W2-bWlNJQ4_X&IT6$d$sF-&pa32uz6{mv*#1aDYXjzXkiU?RUya~;xbu> zZlY%xx`}>)xN^Od=hKcGd?S8fY?ur!FB5;n_|5-XqbvoEpn=Ymxq(? zuN&Z-$1gi{Op(7yV@l63I$kp3>G;Qa?;lfM0hWh`8B<<--WgN&^M0f;1%2D=%yY2e z7{4?Y$R}iVD&rNh94H=R7OQ>WEP-|!hki}{^NZToyPwg%?oaW4v@vEOm|ghiCiD2W z+Dzo&Yp*@=rzX?L|DMj1TuIjj@xv*uNRac z8}wHa-Dc7&%f+uL@kRDb?ZXQZ4^Y9SwRr{<^vK{|$|vu4d_D4IllQgPB=Jeb*^hX1 zd0zWPu;n{%Ir_Z3!^?qA_WVv3eN2RWMZgo7-b~yt^GbM*c*m}^>Ps>gNoj6odUu_} z*cI3LXT&Ju6ObJu-+=gwc@%me+w~#nRcc!BF#)G|E4!;(<6UJso+~$tyH21T$#x`J zh2N>F5CXoC_PLq|;lpz~E2DGK6UYj>!dv^2j(i{WPG)X`%pz~|>{_|}t~Z{-x|g}E zYY*eA^rXs`Q05(O`4VV>&4?U1>*TCuTfaVM6U@|i&+=U)O5Uub&LF#(x+Rxuo|nIB zvbkkX#@x8a>MdXsJRx_DX|}EZ79TthhQ2NXUiG)l5d+M@40Y1T@+&;P9r*zcje%+8+61tR z0&A^oSp7PQ{>#vRT$=N0+$f3Df9{@Jum8Mtm8Vr-lKG9>fAOSq=0||}Vldfi=b9nz zK}(a?LMb%)EHr_iZT|%`k92!$6H6~8cl;v8|AigqxepGt0|IHyFZ}xIQpe889)+H| zv@2q`XP6gd)~yU7GaA3d6ZWiD^Qx;T33GWdG8PfxMG!x;y;JL4d5L6#s-VVBsQs7Ra)-9R*=@ho>ZAyAi~fKX!|SGybQ64_z04;|c65|-5=cjxhKPTPwGeMr;DJA^poaKvPFaGM_gNU(B9m2afb;m;7p)IhpE4)!}`I7 zoBQH-Zws0ma+9WKx&!;t*iX0yxv*VKiYvxt*TfQ=3TIze)^|E{h11Eq;LYJvvIEg$ z#dCXS4XXvZYfiD+&iAFiWoIIL;ghKgUEQl^wb+;5{Qj-#bIQOYm<0OPncI8y$w#oX zZI!ua?s_0o-Yv%e7?`Y4ii&Vltl|^eAlWDIq%5%Gx;p}e>nk|K> zwU62c?4#6$MdMZiS^%>r9~yI3Ll2EPPkhVaO$d!$EFT&3(YW$qbO77Ju79JCvc$@; z?v~eh9Z3?i9A_+o#zE>VPu$fVOrRsU%Hzyu`97#QeOkW0#fl3$yIkXJM79%tM%sMA zZIks@Yj3q)IXGUMql1wT!a3!bTrHuFFBCN`&RP|iTeMbVoY zlXkj#vpl_~Q~Ml)&`SFfPZKXgzr$J!NUlb{&}Res>(I5B??E$XEns1n)&kT=CP6+D zi?iYwWM=`3XlHfU+T5r4X7!{s%+c54E8{!|)|wPAU78jzEX=<|J?x9bw?;*?ELCv=5QZ>XQ|O!`!MARyYAp?<#L+Er%ToS{Cnhv65$|7yU%&2r>F>LK{pimfTK~Vaem&>B4zm+p^n3;_ z_zW7eZroOq`AdfRGUJluSUN&+@`{;n;QIM}Wqqx)7`NcxMq;;=4@!QG2L6}bF^zBj z4VqkCaeHAJdRDQric^&je_CP}KASXWDp4Qr6%Vbk*^A$m|M4q7D8>Jx`1H}&BN2XJT>cCAHP6-mN4Yr8Pw^dB1J|v*->&_?aRg{P# z9J6AY8@Q6ZFK3PFDfTcwb;|99h8S^pZ{vK1x1F0;-v(pp!i8s+=0Ems@=D9U#qSX1 z=Tpw+jUtv=eW>_7;j@u_&|Y8a+y?cBa1{+s{X64&p08hL4%4r1;r#*kj341Pv#4Jy z>DM3s?<;-E+ccl|m2O{(SB2Y7od*OS9)7~>&)@(1@@l1UN;v&D%fktHJXzegjkS9p zPTrZko-7^%P8o1I2007?zhp5$J;xx2UcZTN_qDRGA(h6*;_#*L45it3lP2CWHKp*- z-x<$mz{A6{Y8X5p;C(`SiQ|q;Ru%Q#QQ&zAcpl~U-BI8tToh-jzO#6wFUSd(5V*CD z8=v7~Gso63UkBbmAe(Q{J`Z?Fdv)u%2Mo`+S0vZwTF8+uoU2`Y#aH4x=_TzaV!sLc zmVG1q-^l$l)VWZ()uBNHHe|I+gGTBubcC8xQA1~$1{`B z9OE+9y-c;91vB5Vzd1iQ+>kzod4~4?ZRsv&4efMnAigE1MmkqZ{k62Cx&tO{b(-RS zoP8zCQR3tW0Z*+B2Ps#Q&UV!$hzAFr5@_7}vsdiiKjEd{&;Qo(*@qI@uHW-+j&Nfw z+Rn$Lz=hqba-v6NMst$OG&igE!z+9Rv%d9UmJdO2IB{JO#oP^vdtokPaT2Xrn~}fK zw&B&Ku~774Zl6~iU87-a&k!RWr)&y;?v-1*6^EcXk=Aj|1f4mWE%nxckpqFp$;&b)72CF_L`LMW+nNf@I`d&p7g+HLJ1Z;Wp~PhI0GHvri-sqshX};I);# zI?7ojKGl8*^=rHK@9qC z!aMEdJ6svix35PAgwtp;U}KlajJK7F&I%|AXlV_-?WGMTX~}xv4OD_Kn^0 zi=T?j@?EYmgI%4)E~g&tVN~4%dX7A=6)8ubORpq&udz~PzV)P|-x`5e&+hpR_96Fs zd9M8|>R0LbvZ$lm!n~7it4eRS@L1jEgRNourow!1(6^JOZve&xUB5*yc=99vVqk>) z7s8{sZ$(SdMf%G8SLr~W%+|z8lQ?U=S#d#!*>TZI^B)VYGpRGzo9y|V37NRgWMk{i z4(2=uE?jAzn~zVAd(Y|X&4F_}%(BLnCiC77(|W;5Q;*hNTDRUT;d%(=805ZtOPiVb z+a}ZU9`-BFUuj}2q$WU`GPQ@4;cO+!*uBwN z>GA~{Z#ma^us!7EL2qyB(Uet;rhY%0fH$%(Z)D*OuBqY;?&6Kc^GD_l{8e`COS~Z( zcK?UN7qgh-74t=f#}`?LFP=SqC|~@F-&=uwGgnqPjKCM0kySrmJVu+t@x|6Sb#Z0W zoZI8_#a1KQIDF9xU+_M+j5&>;FY=t>SIie@!xtvYxxnzcl?m__k8F5wV!YAf>(dp! zz6#J+;*ER3ZL@C-&q^=i7xdO`#T#Fz%;>zaI(HjoynXYd@x_-Y=kdiN@kNo&sPO5G z`24Z>g4l4EFRr9s>5B;Ss$#yF;_-#6FBTQ?#R7gWPj#R#ItnYeM&gTQMSRgfo5S(N za(H4H*9!Qe`@bE1vE0WOElGF+zPOrsi=Qw4aTvbX&NJa7Uhw#$VuC!;>g(@JQGbgk zP64lFzA`I{%7`asQ)VolsG`hxc;X1kc|7stMThdl3?EO-egF7*;<^%ES~rhWyZr3>nP{( z#0A6f#55mI#2UuW6PHr2^n_uqRLm1c6!F9bMLcmXzqMDqj%&^+Ji&g~A>+r{v^gA4 zC?}8RMRVYZ-#p>yiI|Tk>fs6A=N2<>@$n|u8JC35v=sdADcLZg|!xKTuc|7sR2hbB~*QQ8oAGLB#1MNk z>)4xNY_4LP;(zaUc;Wzahhm->7(3FAP4P%{sGj%{zboj!5LblD<_=|TxKwMKDXnc@ zDm&@y5IkZ1QSxtK$J|ewWm)(z?%0|d$4Y=r@vK@mjbzak@I(n~lg=6|`Do#X66{Uh z=fn?4_UDGdfSK&aI=&czEJ^%6aRRSD)QsE`Hy2ru|)V&@ z%sb~gv;3VMX3pC?%-iQ(XBywpVWM+7%<1pB&LsY!!&IErVNT_A)9vnXi|#t7n;_J?-KZXpo4tr$^jt0lW$i1-@_WUiEEy-FkhM^)-$VI zvDk8=KYXBk2byzwbB?zHe-M47JO$Q=9d+h8@>z=a>bRSPbEfu5@Y)>O)!bxm^tQqY z{0=7IIj)esYmNElLt;#(Qr^#dZ=y}hdr4<+iugi&WRm2T33lvx@NqAugu1b1r-FNs zHFR=^<-|u7;ydcp9Op}nMV#YlaS~sb@Vu92b=bb;{4bssPyX&ZrPh}+_8e#E{x`KR zzlU;Jcz!13F!1w~VhjIz7d{SO8O6f*%P5v%KV?SCL!fC>2_&%Mq(6oYRrIBieWwvJpJzKME#lY~ytPrP%>g`vJ0)eZkdskc=63ceA)h=0U0 zQSQ6_SGM^97ld3+SUIx z(c21}_r_(Y|&V+OJX>Xe)jeO&dI#GLH~VXS#NQrD@8gDfbdPk0cK@ z--%Bb`RKVH-<8%YM9&xC?bct~B~)_dp~!**X@b%Zq=opB(XH74B0JX3t3{`AI#0}qV1Uk@D<)US&76wIt& z49R`!;h;T4ejK3DAvi#zUVokd;jTSIWAV&u-yEA~{!AG!mwU~rG+l&iq+I4Ow?XP{x6bEcsiYj8G}Ksoy4->l*KA#H?- zKdV7zKEiwDOVN4mpWtly(`THEpD|rHeMVXSpE=)Fdo9W-tNi`ttU22=RHIIuXGw~& zBSOx1e2XW*vpVZJm~re2(XlKZ?*uk{Nl$fu@TadZ*8ZY9mHET(1Hg3=zfsFO}(up7P=&AF%Oct7@vt7|F{$OZ1i+c^1_LeC=*6*7u18?Xz#D@MD^+JDO zcXVLX7vrjakUmgf2tSP%lFbnGP>iy2t7#tv?{j*7>nr5=NKzhp2oLF-x}^4M;lK6a zBwOX9v|E?Ft&lOB_egft&ic2!nRTCy-7e2p<3jD#o>2XUmSOR6DgE~fbT6B(atmy} z`(+yAqaC@_nYR~G$iDQgiFOo}t4caJ2%J~&ygUl8p%WI-FCHyLKiPy8T$NnI*_omn zw&D;w^B9+IWiH)bh%%?}ejP%j1ZaKlLIJ&`oCr)fP`qai&dt-$4k6%Wepn$K_X*{tXW#RTNFM;KpPm)?w~D!=BLI^50mv&IAs{K!R^R@D}{D?B`THM^R5H zd$punjulN!r(N$Z4YaVn!=6R(3kklo+WMefe^#upV)o^`3`F6D1>fpcJ__k)^PexuyX?AuHokTuR>D9A?QT8v+UfEd= zoC(vmCje~~lN?O5wulZQ{ui9K6ha%)-4%k1|CJv|duKHd3kA~bA#LV)v!!v!{BVHo zmB$YszsWj%+j!%^cYOMdiv#}#buqT|7RQ0#_Y)^3QTCB|XSg`W4AA=gv4 zsjrCt?&Q8xdj>P)i1GG-uR=FD@!&_$4`x2OsgNCStg>T&Cd+sYFJ|cDIP)FumHOY^ zb2_(~{Fd5#Mcj+xinOK`h%najjbbM>7K4Y?#nK1fTyMuW;91^lf3o%lBe(W!M(I82 z-V(n15V$fn=E}_KPMz5&9USI)8D{`~QSs>TMqpA)&#aW) zKU6~dniom08hGdywVigx&tRHwcpl;|Ib)n-?*Mv>wo6Sbb+sTfTEp1gJ=%OId+izDx$IcDx&e6 zdG6Si#g_veMHkVTant%eyt6z%?4z^t=amar?xM5kDLMzlQ;b)Z&O9qi|G3+v*A<%0 zZScx%g;}&&mYmngT%({E{~GS1YZYbHCU;9)ug!V1S&~K8;*LK@^c8IfY{YCw;rZQz z_J~8@UENjj4r_~RUa~~vJ#Bkqn{1OnbZ{+3{do@Uc>Wd9+wWfyy+sSb^bX3&#`kDm z_vS&G+r8>pxddF;XJ`F@!Stiu^L#ui{w$?^ z@u&7Z8fYk=qxdwKY0Y`ODt`2M^(NXZ6R##jL->?;YA;G(Det80@^{c?JNu7x2C3|4 z@oUihxVtn-Tn9WWJENR$#J8;;-%{Ubyt|Qh$HTjAqKR}^G8-`L$MkqOeN2a`Dp_y5 zJqDH9Zxm&}QS^tjD;v7mp05SYy{$ptSb$CmMmIcfZ6s_QPuJV?x8lGI+{!V+ba2SH zNBDzT!L^a=Nv=w0V3L~(e@OwK#g#ZRsa6-Swz494-|qIg zV!(-*mnoBz+^wZCPS2WSMy41J7>e)w~ zan;Eo`LvY_v?Jgk930czVyBHekFJ5{g7Xl=r2!}C_hB+cYck2;k_MS z_j&F#oBDdX9fzD4$u+sJ@Qo8A*dvwY_S86jBJaYN`CFbwZ-19 zw$r2AV!x*C*K3Q_Q}1Z}s&kT&*%o{xX<9=ikwi2tCDEiLLUvHGdsA zv-}r-ARhTbXT5c&+0di$)Y=k>4a83%m&ke$dnRP}OOxBhG_w}6n&+}PTCwlQ!K1#Q z+)nmNgyPs@i8MLxop0nr3vuRGkg_)CtzCc9Z>?QzvTJ#QPrlPP;{Daw@hnFA@8k%ifLekiQY^PZR6%spI(yEl3=xgVtG#*?S>BY&R8jg6~JBXD?rJ5P@)&--}hc~Aa%@LT0h^nYKBo91}rxI1Kymx3u;xOQ=g zFAVuDR(>4buzuWhLGvuF--(wvFJP-41-8Y&*14at#Et9F-uxi?#p;@j zbc}o=@{Kri*MNB+^1F}U3+x$RCGw%MMy7cqvU;|)6VPLxziiIG!(-@AQExsO32c*wmWm^B(HgINzwXIlp!gt6#+p)34?`NDdI2ODeJiR=% z{}+6c83q0r@IU?1AP)zlKP#9R>tytY-8=e!#LFKY1;!W7TV)!2Fp9=n|kfvk7>)F{Wz$<`EG#!mkz#@YK@Kh24CBA-mo z*t}(%3RT>db8nXY&6&UMnbPQcmSQ&+$mzoSjl>C%i;a8jFy(&!ALQwvO(&1grb1mB zUwNF^RLQR5k>bP-CFgb4ahE@qF zL9+3H#Ee+GiZS^3Hy!L-0j~OOZ6?-0kL8){0{MJjO#O9?n76gL(`mOpep{gdANw5i z%oS~hb?O%OdUq6h-p#(0g!CL|fnBnzE11o8CGqo_WM_T}_ZoaXI~H|z#VD&X3ln#7 zR!kOpc5t?GOK$g%Ug^_*@nDAhg65lrr;Z@L0l1D&oQIygp>zAi=XKR4%Aqa!cDP5l zD)gIcmMJeplj{mqiP;4kE5moe#Fez^`1Wd&U*TLK=l@y!UrX6K)_h}JbGYX6yPkWT zd(y0$QYuS92}pN^vdYTF$kCE6vry)ymb*mEqdRwV67$a?f(VgZrJ_@8Q0U z`*!X-xIe^wC-;B*SM+)^+jZn=CH4%NPx8C-G_6rPXX}Kp6--oig=`A!3H*S`WJ_U5 za${kM_4!_6&*@R#H`#>b_bN=Wb|=1N)-h#UJ9g(_T-apyy+6jRK6V>t;a!lcBCq<> z@W|6=++Jwax+wCX{lMCbKR2Ry)0O#HjC)k^)bJ*Bj{mx}ubvn^>1^7z`x+U;hV0v> z%`mXpeU1Ko!O9Jg692+Cijn>2^m)h|dw=;~agNe83xVfI`rNMDGfqk_N{|V~X{vn# zEK9S4@=)uOhv@a39|xReDeWhAWrBD|?QIVd#~7q;jTfr>@|naszS;YIL+5nlV-e5v zUOw#|KMjo`AFFd$0f*#Sv9*$6$+P^jlH(_7>rfm9_a(j4hr^vd90b4M9e^L17EFS_ z#jW#H;FN6Zx%zAxu%GC{uC?QJ~r$?nM7*yJCz% z;{T*u@4o`;V*b}V@&8f4e-+R4TW$PgO!!-Kp9O}BEc?TeUoSU_){i6ul4bGG#gy4W zI~v0^zE*>u+NT+U7y}Nqw}>`$uVf66Zu7T) z7VpG!Ui->p>~DVt<^PxVpQp?dbrqcX;J~0VkDqo9b5Q7WW;QHBh7-$P@-vL09@M`O|Eym7#y_7wA9#Ta$49$rha zwif47?r?LnJp+&&dDw;v^XD=Cy&%3$GR`Hj@ifM9muzT^dkUBwUc!!JKady8AY8pz zhHukei7O+cjt|I4yOkm0M59g~mNfNi?D@(J_OJ54cvU=cG;*?)XEt`&j?p(eF~-hV zUd=e$EBm;S`cz&zeP#palqawkcrH8Hd%lslLD_ZJ-W}}I{uC4QVDGdx;mbc6ONX@N zZUV>f-Pp)+&qihq8=8q$+S_Sqmmr3L-^0=98Xt|UT>-oUcJVNJq&`cWv)S15A!yJ5 zKAx;<{JDf@^6^B8p)3DbS>Fqy1M|$DGaQ_ChFb&vz&X*|$i3#w!9&<;75E1e*tDwa zA#iSlN5-~|4&BSrNFAf^L21pM557ORYv`Op@@mIz(JSuEC#1V%H)&5IeTwZwya#$w z`sG;a@a7UvS-$bnY=pVQG-z`V^zh~qqF0z_Tlu~*-I3EC){VRup9gHdq1(F?&`A4b z7IW8_F8uWUzm1zlhvqaGn?`GM0r2~bXq5DLiuDofP1%^!MI-M1eKih!)((tKzqoCb zvB^&#>`G^@byLryM;`3c*yPbC0)2kOGmoD>b9I^Jw+0_C)xb;It0i8tF%&*tQavaC zo$2%)@H|y?ihFcI_KNAm+|=2Bbcyv-`EBs^d@nund-h+fz7Y(I7+xrnXYy?||A%um`|Cw`KS6ffxe-|hZ;%3MqC_cyo5bqk?Tw(*=8F4 z&}L@y-10<{IW>6xLEl3ExzJ5>K;f(TuKefnJ=iluHK#^DbDlNx!VKfff*Hi&R!^e* zz&WA`#ofrKJN!AKpDa=A2XV&0thl#2bYlawl+OB^_T*u&pMcLmYaXHKrkVJxj|@du z&s;&Q@N)9!rimR+lOtF4s~ycX1Ca%+gQN>~e#vj0wWzsgO+s_SH|D(2D%x$p4>jeC zgLds{vw6(My#553pJfm8WS#R1&nmZ$0XO*&A9-ME-!z_U9u$tTZy?cCxc{_3eyiyP zR`RSQvV~*MxCnm^`zt6T|Ec^ChM1gz*c|?kaP2l<0k4iiEB&wWRO<-ON55Kl99!#g z>WIeZlj!8ariy1*9cS!5 zx@pHmZy~}Hi zdA`5R?9Xu?0at8Nhskp1WNq_h&PiSFlUdPH^G_?c@QAm^RD2@&?U>FP$k0N+B@4$O zx2-&rUC_w--dx^^hb6;$uQ8w=KGT>WxmBOYcT@^3B)_WXcaM%&eh>90j6EK-=9-|z zi+2`{2XXuv+1m=$&{Jcl!NzcWaEq)D4!?$_r)P^Ls6)0GYdXDE&~0g;!|dwnF#9=s zd@=WX46y<}I@&qB-~M0@FI;sNZz=l$-wDm`^wCjv+1q)hakMesk;_n*+73b|(Np%t zT!Ze*^4_J}hH=yF(EPFEq1zeY{8iB{;f)WhKS4Lqt7;fq16~`#gOgnzL|^mcFRk`=0Q1 z=FVb22;8$q?#(~q1f$1G1;PmEUaAJ=o z{WOTvEiO)4FPsG)slT%a-Q9D>sl7pD?%YAjo6V&L;a=}HqB2R;=pJ{JS~^S(Y3J{Jyy&x7N@=L+C? z@*736E3%!khkVx5 zN5JQ}VR#OC8PY$mZW**44Y*tlE-h0vcKGHZ!|a{ zaNYsTbtB+B96uKKU%RjWYQbkt>2>BQa)6J8Q>Ba37l8jxa^iV7Nw%&n>Obkf{Ex@h z6{~^em9LLqwu*7N%!f;7fi?ZVwwuT}aH(=}nGf90lXK3G%Q?f~vTYo=TnsFaybfH7 zb@_=dF4E=u544-3O0F}zpKmj}UuDd7bCwVIM~0EFSuRd9fWN8;rz47Rl6);22TsQV z(}odn8ctUf-(&Gy)WzwyM_{{>Z_n!|>5O0V zOus$fh;Vw(IB@C#rYlCkX*iuxjMGCtobLE@yXoWH_RYCAlSY>A2^Ha#9BM;ojZb>v zE?{pVr=5Pw)|OuQ8qbRLg5Jx&5E&D%HMwsA*C!_h^5Hc5UZ$LrH(BEK19#eaW5~>R zY}jm;HCXw>JD|PEcLo~rp^WBHU&Ch7{PJY`JZX4NyA{l#0s+k{96v{d-&$*}5dBh~ zZFzH{Han$ol=Llk>!0DSwSzec`HeJw4DPL13Y=O$&>TAf?J7RlW>zTAxPSa`*Pvui z+j&gZSw|~1H}`x9Iwi=lSK`v{P0;QVo-M?_mi;xCy6l=~_O=3ZNINetw!!tSiFXu! zuxq^Ym&38cSLZGS*B^duD6Q~qSs&?)1vAN;1 zIT?*PH}{BVj)Wd_$&cspm)5wZiogD0Dlur;uCLa!z5uN>)_x8ejBb0c$sGe6Hwce} z*XPV9TpMUWX5yahO^&3ZKL5jJr_b>>^!Ds$3@sS}7wqhsxHERjuc3bW-BiX<^5=Q| zEm?VnXBt2CEE{9|ba8qAn7FLY^#IEi!X@tEg73`5B|41F;K={r+V4YruX%)Y+P;_C z%|)C;zyG&wriCQtPr7-*Jv}|pN8nX!=Z}Mav~PmL9ptO?blP#?b%*eZ8fzP*W;fx_E$J@0~BUn-l)lWa`;~ z7x!{3d28Ln;3WP0USO{(!slH+eCEHkA@9xgzBvwjE&!hY8UY`jM^)S}#beHKE8WrzmdF9ULVb%k3u|CK1}(4=1`A(JHz=b z0s(k3(T2`;)`_kJXRVdQQsY@KIUL_lOYUzsm-YQ@J3PRe+mjWY-GZ_aC72socG!m>e1O+PC3p^qn!Nzsz>XA-hM29 z4kWej_;VEl)KX|WsB;uXhGC`q-Va05!Pk19>TfqU{iVqSxj%of$;{c?ZqDL<^$Ykk zUTHEb`r6HR4m6oNd)tlS{@k8+bMebfCd7R!XEV>~X*a*;T;^nVyLlV;+TXXEH|=l2 z=S@!W0zCG|CNuYW^xI36$+w%0FE*KtxpvdDugUD}qAl((bYjO5v)_u-ElNL;gP{cDVtdsW zep+j7pqqRi;xB!#eY@|V8TTVeC`n+j#buaIx25JACFGa^6LGHd>Ad($D0VKU11k?68HPmIm|!d_pQ)Mwvdh zyvmkA1HDK01GjU2I?q|#YmU(WGu4ke``gO&9zPc_SrQHl=GrqDAE#J=}FByq$?#S(sdeNYr&29 zU`N-b9vRSe%8eo(^y|9b?;Wb^3OpN4*J=O#^}uz?Fns^(BOSii{+B`Chj(1wKlRp$ z@%|Ecz|Z?h&W@72eh7Fx9z6B)O(yc2cJtfiP3HOM+Rd`xH=BR`T$4%g|C@PM!@d34 zc9Y@S_Ds9^z@8@a?awrs%}=+RtClsHrQF}i?yJc_e3dH8+zI6Rc%3f;A%Dz^4>-G@mpmBF1b;!<`20qgHrLk=0`Gm;)%znY;@`Y*t4X8_y4Pak)e)B;BVI?eyRL|K8jp|i z(e97UW7F=13DWL`zXR=FaA~*iMC`m_=r#%5=aN@P^t-f(b_bx{t1j(?n`o!Ir5*o^ zc7ecCwy(c}jToS=&1P5O1Ai&&`|GQYKGB#H^^Gmgm`+{(XKBuVFD>hg^WB|iO(jtdmzqxfzEi)W*bS7Q1h44KI@zL=V`hftU9wNk z=_&79@JZ!|ZyS~O?H>FI@O}+281ljNeOP`W$Cl9?#H5LZ-#xW2m~!Q5+Ra_WQsgqn ztp)A{1F|QcvoJuLD73BNs^zNVin{V8JeB)Nww7#cE6XF)XXRidd_E~zzGPHc*4&I7 z(YeZWM`6!@0)J9+ZDYuoL#!Eu+j9$IN(2o_r$|KzH8yP z^b`gVwsVG<9Y=@R=fnK2bl;0NKTRKNyu`+}_Wi?ErZ0lN(YV-?maZ6`K658XpSjRS zIgCcsv*V%<^JDl^cDl|%o;!VGp`QGaR!PzoHZwS>j_RyVc~nv zIPk5XAinkBt2xAk@J%}7N<|X;2)ygT_qo~V#iVaMNjl?+rxzsy)6xCp{n)devdghe z^=!p-@-Q+6iDu>Q`^~&hxbGMG-Ur3xZSn zuH(L#`^y)V^-V?hS0vb<0`Hv!JxY)l&2h=2QHXHKFQNQhoc%#wu8zVtZY0KpH4gcA zG>)C*`cS<6;V1I#x!YgqJCS{KnuAFHX#M8IyU5HAFJ)nxx85IWx^lc9IMr5iecQ(6od->~IiJw>hq65R;*!HKF%b3?+kgJJuF6lo^ z?bCTH^3!IB%fMzYRL(S%PY|bV9_yv-oHTp8crU;1m(HHb892oEXXHP2&i6b59ecd> z!!GEG($3>Q#WxpY?Aoa{gb%V#W2zZwdnZNTn=9eDo{>W@JUKxQr}!^AKY;)7WxF=A z2%Ff1C&e|ktm+J=+B>%;f7!Jy^(*FZmvr@0ro#1APKs+zc5xTybXUV;y-z&e_#V|8 zFy};eX0jah?eKukbQcdOzmGExwC0}8D38_W@{dk3Vc{MLoBkuKkK4O5yrVx5j`r^i zf4{#b+_v{_aG!C;)V^EDJ1-jE!dl>e=v;7UbO-M$cxRH%e6#68qA7HVXS-^m+W+9q zDKBAO=FBP8zxO_0-q(_B)0*9=bD%e5J{ezAxD>ej^T|hcF&E1?b4l6mw@qa%_qM=ZVUhZ3w(p&kKX0%y%4?Vm+XI(qY2Z*Jw-HH`7-8gD+O`FkWLScwxd z8(wwyqG)YzEdSLUctLOalPh&X))6^Cd}gNa3TCA9Esb+I~se{VCPKh&!*H zwxJ7|%-#5&X8QPp?p)q)lXKn;eXRMR#uN2x3}3>p;FCFV^^wh)M1PJhL!RzC-2QBh zw-qMJ6aN0VkN%Nv(E5vXMF?H^95^{^Fj@MLI4;Y_PTmTKXGh0zqVS1#=ETXDF%J2V zzMlv$XkBa$<4!CwrLY9N>*C_A@%3f9JB}T0U$)biTGN{t{1e09(hu3PdvqtDXVm90 z`fMV&j5^OB$K2+&Tb&pT#nsr{&EO@N6#FKAGUNqz_ER}$TuO$em%X*%SHDP3SmNKX zQF`z2#Z%Qq$g7ZMJ=IJ>_Na%wK-w=gC&~Gh=!3nJ+0V{eq5jwUpW@wmcovNvW1s0P zz(_QkU;JRmu~Uld0RMdOWnlPM;gQlrU3~^uORg5%_oTY#ZN4qaC?>v?gfSL(Mz< zy!qpUD|@tNt@VhKs1qBZZ;u2&uMY{E86^kLq5I6``?WUQh_qRo+XikmqD|bR4K{NU z+9anGP7!Um+dXsKy?y!G8!W%Nd;=|f@8vFdE-;ifiX9%H4{@j3S2!o`>g zY$eg)WayLPnbx`W?C0Mdt6y7k&9tq(aubmcJMO{LbK|4l&tn)83w zWKs{co6~;UWbXN1yXknW$!z~do7si{WFBND{S)4k139t{zczfc#kE7^U+MY=HXbr2 z-y3$)&$pOeztG%Ud!9E(c8%Oum|RLa%*~XHRXH`tv_w=o!pOm^5JgL%jVxoOWqPTe@K+Q3R(l2b+Qxd zpg6Rv?tO*%ngdfD`)-SSZkK4>dbl(m2OnD+qZ=pcCqK0*sooze%Wk>4S&MiCoHxJM(JN=ATUpvOQ>yVQL58u4?0CQ`% zjqe#>xHYipVpz=^66X> zJ$^OwsE;03l0SF)`}0A4!`k$f)KMDQS@`&|rTOiVovdS~b4w_vxmQ`n*#n_9jGEb| zFNt3D=E_&2t29^k#z?h&I&C@n<0f~WxCZ_loG0EsZTRPD{M;TbhLxRh@Lb&10gYKN z9)Q8>Fu^bwcOacob(PZ}^dYW>q599@cc)*8=e(iw^!v;E_T#5^_VTAK?vCx-JnDSB z3LR6MWoL*YndX4>>-UIlyu{wm~L|eyV<;zZG9m z=Og`PQ72cZ^;LrF$JG|P zTF+Hh<&>ZEfU^(4;<x)k6yQ9uJ*!L9A zp7K4rxs;qH)m8n}&31tTBtZl3Yu{C{3}TmL-1lU*G+Wp=-Qzt_Ti zKPdoS1XgqT_2Jw1>iti`+wC*T{CA`}(yz0Q6+bTBCH|94eFoTm=#~o^^Nh!Lw@=oY zc@7UwBA9z{+2v&FOHR1K}!twnj;f}pMvmF@U?!teq3;&O%gQIjUeG(_uJ+%J&F9e_L$nCq~ z`#sN2J1-9VneeYpsL%d8`=+o*=fFHs457xGI!ry+3t4iQZ{ohO!#u=Qk5F&qenz6n zRDQeN9Q;6&G2GegW+DXk&*$>&SDR-#&K$(*2XsU7U_3~Gb2G3s*RG{d1dR+sJ1gLIynBCW7pZWZMKOr!k|9{c)wL zlRdoQDDv#HZH8OVewnt^pYQtS7=1PlTg9>STM9OJI%_wtK1R$XR}YtWeu3pF_(^N; ziUT>0c8A0%?etmMCXS5I4IU~hPdO5khd4)ZvDXTRJ#|ON~JcCpuCf|yvm}%2& z&LcDJA{z(x8hdy3zxoAH%D=|{@(sMkIk!>WL!J2=-77ltwcM49>7iQk9;UH@;Jh}fIY{SSD-(6w3v@_UUUcd4qzW1uB%-bmbftdFL3D` zZt?SC_u0iRT=IPcQ`xS65PTW(dYWg*4G0~;Q}eS>%sJ0f_F6EC-Seej-zAh8>HP;b z2Kz1@<^A`0zj&1Qt($^<3*Gmkxn!suepmY+r0q&zQ(vi%g1}oA&vtF(Tt3l4_78pQ z+EcCWI__p`PiY-c_S9u=-HgMmJ8UUv{#y2M=|GILhZ{JQhzCDR|9J3zi2qs7>&@QP zZtgv|$+UC-{QKEg#{DRM@Be1I$-R#_n~P4{Giw_$$;^`{F<;L3=F2e__K#;*KM2k2nIq_F**VE5b_W+WM{Y6qh58?P(cEzv|EIW? za$U`}oM)}vTe#9(E4bQuHlKR~S3TDpF3yK14wZOQt|~6&LX#ZUaLwgvwNqO$5yCvZJs@{5z@p=1X?=x!+(-}Xc`VpZ|UrbY$!Bhw%G2R=C(a)9BuC& z_Exftb|s8s13XUoglLQ$AFi(;kS13sdTRxGMKBcL3*Emm&AFe!y%rmC(g-%>*87{x zHC%7w3UWQUebAR_&zDG~txr>RuKku{2TI>ReDBo0?fedaQvkb1cH$rTeJ|HYHsaNM z6P&1x$oIj~{GH>7v-E5h&(<7rew_~=e3SVffY0ZP@U%8>961M{5VX~qc3vIQ)qF?H zi1I=X>SFX)btSN?A8dK_v41{l=~ASNYevw;qs>Q8^y%Vr?i#9#U+;W$ES;?R=oEK8 z>et7b2iQ4j6u&xrV{vZ$e$SDNo!+4$JTz2`r;t)Bpx-pDD?v$|-0|KQNEZIGVt95S|z zM$apK^!&p&U+L4FT>Vyl81wrJipDto_K$I*=lflH{?r}cC}YRBS@KsvPj7sy!PgN9 zSM=A;-dK45gB$S)EWjSPc);)R?vZHn%t$nO*SKl&qK_tby-u1Cn=xeEzp#iV`t7F) z@9V$9EsH-UTye@N z{l(=con6}>IOX{MA>-&N>AeB2NoS|`PUgPEtpohRCVZ-`qx_WGet)}$dW>6-d`1If za(HN6OWnFOcFvv6etN+lyRnd9EU$}wiSc}uGoD9Qb}uU`8yTgnwRxDQTHj6zn}!R! zBX>3TC0ql(9sW;qt>9YDWqmu`H*#gT+PSQ6hr7*x!M%Y?XZy_M(w@m$t{SdkeLFml zb16r+-?t;Z5yd8w&XApreFIMq-G9Q^(sjh7LA&Ur3TK@A->J_1tBiLaIIhKx$NTXW zMcV9oNIr7Spl+ye=P!Y_bpO@&miNV>ndgfX%}4VW%NHr%&al2DVADImz z9Kx5U$j8}^k8`&5ao#&C#9AAB7fiM*3Exfw_T&U@Ue$G~%jey${C|eKe5GOW^?GuH zKogx;k*q%0yU)#~QVLJ&yh1y7j%T}Wnp)C#q3bV_{cXaV_DW9v!1$)Ms<)i75gl*( zU(h`Alt>iq}>dSfZfm08%N8fpmErzU9H)R>8tCv%Dxv%W**I2vPd7-8w z_u(g|6Az)h70$dT7|qO7&h=n4J+m^hhI7rxZNk}JT3ggus$B3|+ajLxuww2*3AM9G z^Q-D(=&$YIxzobBAir%kFvT{^48&F)8H_d0tc<2c$HQgHD zUaA*PAvd)9zPKN>{%d??uc9C7mFoihp9`!m%twE!Uiv%S=>Go^@eu8&rgPRLG9E}-#x$5jE9)J8@(S+zX$jAFx``qta*WGIAH#{Fd zNm=Ej^VWsmWa;Ouv5PL}TmJ0GZCFg47JTOTv=`;)6Pt0DU3VVj-LEr0m;E);evvP` z@0B}A`c3xFE%*tG;coz@1|LjIM}a>|*{HAV@BgO$AA~>Z!vD$l4~4%G_?atCSoS=g zx(3|taCIg7U|D;%>j3ayOMx5_R)?xheD%GjF~{@xa=UqQCj2?$Ecox@%96fkk4Wbp z-f}y#li6E-SG4~^p51e-!3Ub|Jii*=vCkv@;!UmXhTEF^e}ez-{=06sdV6Qv{r%^) zF=s%BpWn9a199Hze^$c|;oq&LbJVRsFjxmvI1b3o+nd{67(#lB#gzdVjkg`~ZHzk{<5jx0wV z8FKuD;mXYtenu!8QE$ba0gC(!rEtorgV~*cPR- zEtGd`7<_OjTYM~DuVYOgJkR&9<;U;BzffHb%!lG3_=QVjTg%?ZksHr;Km8qFeD{In z9cIegSU0%2-TdIKO=cJORot(>solK&Eb=#UKZkqmrgrn^Sd)2mBk#}TJ@>csyPmt} z!;+nEZ6|cT?3D+xG5q#QCG&}5dnJN@=kmI;-ubD)vy-((A2gf;PJQK!Ga7?i_*V0~ zH2LM^N0V-q&-fExgKsEn{xR99y6|;eOj#^zA>n-)gR3!?*HB zew1(P*w5N|$zK^CSLddD+z_)P-A6nk`^P>UJ=hz`tuwD)+h(5XT4&OqYa3XvoZ+^A z33Z6xI{Vj8n<;J^AFyq-L;}VbRThCst!dBJy8f!jAT-)2hPh+$8E~cp~ihZ{<3J-Hnaj#8iyk68LKZfiV z&SrOGwN^`yj=9%y8G9$w)UC3z`4m@mz&C#Uj5Sd2J+e2%<|~euy5O&`*chqhN#qNg zDw>jgxJWi~m~+zis14=P2}M>HX495zGxg0KoKp;d#yXYdTN}s!__s@)Ts!0F51lWe zecFy4Jh5|cMSJ>`wawA@sCxaY{#OpyDqn801*7!;e&YA{`*L#q^wr_}zXTYH`yXbt zYvDVnV~4Mfx6z*V1>EC%c0cu2V8j0Ds};!4qI{IO!t2E=Nu5bwoyUxVS3PCxePuTt z2403bjIWN@h#B0E4{Cp4(6+qZ#p_`gubRWa>rU#t(^qGKcD(*9me&@_w)o2a(_!E> zpE~CI>i7xm)$^?0_v}0uuNz#vYR8F}WPe3WdTwK3dDNZLBA3WjkK$uOQRZ#-tghyn zQ_&j-*^?<59gm*#^h)G2#B{p)LGxwp4Y$7;AEu+Hk2;lcvZLKRb~5W?+%Gt#$;7z7 ziQluhAI1IE^}Iic_uRix%X&WdPxE^@_xJF-hWkq=Hkku$?dE@YzMcCPerLIVl;4fq ztN9(}{xbLH*0q}-y`{082V7!pMA|0f0R`EgQQJyi@Uh#+0zI*nuw}pHW8VjqAb>d3?#IuFeH;=mCP2Hh1 zu^UP9mXd?RJDXMUYnqoR=S76;vF5VArHse;-B|0Aj&sgumCjQP;*4lEf6Z54>6^jc z80kU}mKo%|D1DK>^2I1=4~9SfTJ8Kd_3N8|0k*5a%f=Vs*Lh(>^FVCGJ?^@ZVydKj zv)s3G-N7Y#X#KqoURfx*WU^fi%!ToX^dhFcG?!`s{B)Jc05+@w;1Is`BpyRchbhIIs+`J@tSpB`bx3ZA;vg^UxRgD z*5}v2W1O$XJ;<2>`tJ5=o7{R=57g_`c_MXcy;%Kc(%G(PvZJu+9l(_Ia$+4CgC29? zIf`#5(dN=KZZ8N=^}q6O%GLr`JAQ7qcYONbzNs?Y*ADKZ`E2L9bsOqdtXrj9H){m! zQ@yQ_jzL3T-D<0a-^=11xit3`T#BDi{3!qD5T-&4->k&1Ef|y&wQy>Y;P*CPX^Q=7siA8<%lLh(`B`CBn)R8qqfcux z9fgOXvv{ld0`lFQ4xh(a*X6hRP5r#l_L-w+GJLz4dKBCE+6?%0jQz?J#YJ$n#EG#0 zwr%jFU{id%U=v(czJW<_O1>qZo_>^E{Bj&HPPD%SV;UIG1jdL9qenl%D448l0;gaU zTpo=7IS%+H%8!C?1@M&v-_FCJ;p%a~I8m7sjLU(s^Zc^D=5Ks* z+tZQOToNDr1x>&TJgmns|6<;>Gn;>!Gsq&HEjh(^hB9gV?Tk4YV2or7 zU*uerFGjxDW5=rzV4bLZh=!7nkGZf4zTMEWG762E+fI%uzS>7Wo(Z70C| z6T5P!{6wBDl`gz>#^n6BIajvLe35lN_J;FabZ5E{jDDpspL!j;ioHv+*UnI`4QJ2X ztEVtF&}JO_wjtJG?Yaia$NxX_-UU9cs@(fulTMOp8e~#Z2qnOPQFBVf0i(v6qeF=j zX*>=XpkmcQ3s$T;Xw`~ACy=zcG%{cdrM8Fhh@Kwp@l-{r1vO&1sHjEpa=cDvI<{nJ ztcpik3jKe7Ywz9crb$|w`1+pzo6l!|c4qIj*X6mdXFcm#T+Qf;X71P?xz;rC!sJnr zJl33FdPKOM8D$^)KRNoWE#|f}0Y5ZP5q_~Le%~_1?^~z%z3~5Ga4Q?M5?L)9v;&y? zZBWTX#|F*hTX-Mi0uKdjMr>wcO1PH<1|An~JUqM=_zTCA*{Q<+|91F$_L<^pWRHm# z$wxoe>YR#i6RXvkZM5sb=Z$a%AM4dyM!daV5d5zM|C4>ZxBA88a0ia!!L}%P0KeAW z;J54}@naXXueh8*$-wUA{2#J#X75r8JFfodcARL=vl)+9Ziwz%V$2g_(7+Vs&(B+( zdCIy5hyJ8f(u~F0fzX%cE26iiGMIHX^;CY(ojnInh zeZ_t?a+Q?0^EnHz%uwo9ZwKtePF7441A2tF{!BRRfgbq3yA6gv+?4*yxlj2AIAN8Z8(D%mx)9K(x;bl7b z(bH!&S{I*WzFxt)*0N9CU}7=hqTQZNbhP>7RB1kIn@wEsfaL=}?NiUtmtTb3jP{QyxtD&cakQDLz8m zcMqm#0MpDZoW0ET%dXX?j%#)2YV+IGM~Cq7#;o`c$f z@pJoT19<)7yo!7Vy7|I9_FRT9$X>u+$XiMR*^|D4k31?lqP54Hj;g!0Zfwk_>{$)R z(-+AhoxeF19TcOEseJ#Bw)@+r*#D`{JE!Vn>X>5xQ&arDYl`3ZO!52GQ~dsTj*=7g`JPa&^7Q$~D$653{wLc36|K@gQE_XML#=#ea~Ck8!jk`;+<~`Ms38#`#gk)^?OSRbNAl`7n7Ur5_5?o8TmU1oQN^(8h!aR|7wWgXL)AkyE zuc5uwl+zsg2HIV2j^3`|yPJAdXPCOjt5QVt3;c z!T-b@c2;2%wtPE0E4Z!Ux9B{GjlVof{uQ^K)jVI3UYOeiPs#4@ajrx2GLs%Ce60@L zM?9WlJ<{^jjfZ$jeb7Gfsmkef^mQtB!lo&HFL-_&Sc(^u_*aA{!AiVnVQBH=;As=^ zlb^2@T*<$}ZwphwUVc5{P_VlO*mWEQkAmMndhFu)*D&@Dav6)~UvN6-m>i|w9{rui zcjDI={uRM&h3IY)nDqdk6)wy~?}C|N$n!&VSs4Yk!2V=Qdyd?RLYsGIq<{+zy^j{5Idpmo5B%&iAe2U&e!b6W@wb2Gu(%AzUi&Mv-Rly>y} z@!EZvDfZzX&3|ivdtIFTBq=8k+owNPUPPzmKHhid9@(mkzz6y*_c8V-==WlNqxW*y zfUF6ov<`|4VP9ViTOrPsah|vGTr}NA-Ce0!g}*LW%3pJ}^rD(%R>yovQd*{n5uqj>Sh?oe!L7bkp^UyeFdr|PRoZ7*z~ zj&)oauCr8ET<3x~b;IK_sbebN zPu174N&1JmS}AjuE%e17Ln-{;0A7U`uZ(;X{xYJw<&+T~y)v0GWyD|ap-hjjOnOWi z@$ow-qc$sDIu^}|{zP-H;hlWLqN94=i-s!L&+yLb8TqZ`={+Z0lK=3W*I6Eh4htU( z&&b~pUSMexd`Ax7{4D6sFEi5AT~FQNFPM=E%DtXEo7yYO`U-gj$c;ohA=-K6 z>E-#z+y(HgQ}_InTWsAk`6fgj7X15#nbh5rfOn{~j2!-wBZ2s;oaBh|yq`ht#t?iX zcrZ7ybG@0gt+_-g`_IHXk6qDco_s%N7F`67#&iyJS8hX$`Y4ZVDU?StLy|$_lh3c) zS1jkecgY^fV(D1vNy)MD)b?G&&odS;z$zym+f&?kR6GUf&(ZMo)Q5@NWnZZ3mHa3r z&-~A+TW}SO)&A;~Ba;Q+9h48R|33p?bn#*E{W5KP@CEk68#yO>9#@ugqQB4mOWaT7 zTK2}H!@DiMvGDq%z=Ok9`;_aJazLH*K|4Hq!Z zq^BbtdrLa2!c2Il%Mc4qM(^G+|>^jy1heW3*{gr&Bl+i;e}&-@n<8OfA>NB*jyKUh`lZE=`?MhyV2ZzZKrwc?W@hY#jDMKzxM`X`!GS? z{F(IC>&NrP>&F=SR(aJoV@zN4JOG_bE*)y`Ijr*r$-8`o_TtBM#yh^P*g#?XYoODF zL#G>v-w>UOUPY&(S33{qcbhA(C!$s5?%G0qvITm$R&f2tnUW)upL?C0B8`Z~lL^fQ zjz2bLs&aO!bS_-H13YNn$^0t6L32ptir}xkH5vVmxN}NZ7Oaair{w=TmunwQDu?V) z>`kHmwDNrP^oy(wC_6ETjabTi*@3S-Bb3jdeqp{eK3I@U*}%1o=NaxjG3KkZw_y|Z zMlzNSq*vuCGI#DOF>lTXQhm7!Xhbm|rLG-=Otp66Cum>vGZQ;;19%XBDp$H^4~j0% zzD@Sv%IvZ<_8$H8Y(kAmai`_+2X|dv>C6?w^jXh4=#%7Kit8HM2$4rd_7bv@br@$q zmgbDIH+5Ed8Eu^C&J|CLGgpjY?;`7!<9|g|bH)YPP1L14p_{qSh{dv!ubMNKF(zcP zofm8Vul8S0o5+?da(zhrB3plR205NYesedm?_1kMZK$p0$DMhi>=n%uoA?b~ve!(x zS2q@x!cUqbCTM4A%;sOsE#aQv%EXwHNAW4h_6a*Ml>8U$ereZRCg&l^mii3q^QlSf zjbq3;l`za36O+svkD-nw)G;A19>e!br}+J3HjmD-`r`+WK5zU3WxRPKv{B)oH?mf{ zO)^k)@*Bz>ZBFu2%80+OeYLahvjIP%=6u4n=Nm`nTA!qBkRGlTT$wOyQO<80FU+&t zY+?^7n|l*9K_8%fPoEvRrYQX&Kfr{z7^8Dkp0ORa4*kE~57_9A|0>rPJrf+rXNDZh z*I-8pmeO_W;7z}-ll{1b=aQ+CHZzhL-Umo?~vC++S@n6I?2(_<(#UX5I!Wg zr-D=I%c*=nRbAQY+H}g}aJ1ORiEO$UaA;<}qS!o=Kg^SjC?8A=o-wf$a+$ir?mFcJ z=e%eQpd^BRbmR0?M+7>VkG)s_7WOYMyTP7n7mX3tdpZcIPZQ^rx+30>9+3;N#RO-~+q< zFnrX359NBT!Nz_BoP^$egL&kd8_bqV`MtRFsQ4*4PW<@$@sGw&3-qBFz!nl@#u?jm)#uH{rmMcA@txom));*8^nQ3b-z%P2yuNa1Y`j+~-&c?M-h;LC?Zk1V z_-^M$$9yXsrL5eFJA8i(I3GI~RUIAEP>0ih&PK6g_n(b2D(7m(^nZoh?(wc~E}!D} zi>LT~Lf^-j&&4LOwU5C*TS7gGU7CtMU+VTn@lR8!XBqVX&^}ie1$VOyr*k61OTFPIlKzlEk{~VE#@1JMSE_l~>(ho_+ghyy|jtu~cL0 zYhF-qoO9gkxJUT?YLuJet{B|CF zNuMb@@9_B4-%$S}#0Z!K-%(dt(jT8XUhb8DcYTAmyYYFej;Qk?>eRYjFhakXyS#$^ zR?UoOviYQZ=`~4WDiW+eG6xZ^zeYWc#CplUuJMX*HBR{qqx=pqPQ`U;{EaghZ_KeR z8iD0_dqlkWoja-5^VzFj)wzS%0LA6XU$1s-{oK9!YgK>BsXuD#hjuMYMY|46g)jAc z74>T#DBLtMZo$=$BhBeT5$dM@?4K-bET!(WcTV#iZoR#S>UHS;$md=>)q7~qTUWhA zxf(J~KO1a6kIcPus6ML`)y{bF-%hSm^;LU#)K(b0#NDyU=kNyo54~udYdCMXB>^57 zZwvF@CV01%d2f?D{wR0hP4kczu2%Zi!WDy0E+8+J{92(X`}Xi#RJu4lZ*GM>kHw1* zo~yAX9XQp~mpe~9k_I)lN%wIagO8|Ha%Uphd<@^qrk=|8niEXrd*S8}uPle>Si|Rk z;Y9fGfc%AH9@j(l` zy6i=FTK*PqwL&YR1<{732k;-WbRmDKv#(gb%4Yf>a_QoWT0cy<^N0!7L}HYm3Jm{W zr=jLS(coft-oE;{=I!;+ah>Z&Imyo37h69{Ju=q}dVUnQ?ql|&EVh1>X6Ee;)Ln_3 z#ZPmD52eBNp`2P~$hD6CAC!K(jCi}_YgcthpG!XrF3QCjjJthT9H=$HR&4zDVJqS^P^}kF9fp{igC& z=)LF1!vA97J{ipK<6K;|c|7&|;e2SU6UkAMGH!#M5SdE(^u`dB}J z#uLGJQ=8gYs7cUA?c23u>l$}#)}QY8VStyZ?g>2>Jm?G*@ff<&+B(iRN8`)G_s2EF zSR?y8&NEcMH_xa8F5Wyta!zt-&U;7q$3tL20O?k$jQ88VJ=BtX8(D%e^tBK0s-0A==OmAN6yHW z_!8}U=hJ%M+-ArPO;;irReI0$*IJOX5q&8}! z&b|`c7Vm1g)J_feYHVZ8@wn_-Y-yBr9e&&ST4JE^Vdcv_ihtbZHJ`{XJ%)HF6YHk^ zN$jFysKfforqBmFr=P<2)zJQgcHJ@b-=oKHq|a2orqg`zbnfM*ZgjCL$Ue?NAn?>j4@#${6XP_+4yeI$bl?&}&KkqE25^RDKpc8$s zZ}m-Wa#b!6>&nHHiy>sP@bJ)|4<6iBMy_$|UnHNb7e8ES$Wx8)pai)epdE6Z=H9Xl zzD}$p|Mg`z?E9#uY!i89Lp)b}s*^vpm-6v^DdnXn zLv9{*mC^Hk)TzBAI`?PO>3!xvZQr3>?pqHYw0!romzNKp!5q-bNflI?05f>B*I| zwkZ6UksmM+yOcheitlC>$6|&Rmm%NDGTTNwxLz4H;h)bzj?6LP!8t*AI27AhsE@I4 ziTbYIGP9Ttn(W|-siAkjoS0*tRcCr~qQUC0&Y-<)Xf}3VZMZuZ4nq&f#2KcWT+rRX z1(}dSKifKq%Sm+QO30huNX$x@-2WP{iDdE{-{Z{n%ZS5?(#J~Z=Y6N0kpKGW#GaeW zvX;KdHBw1ETDyD$GF$DdE!ig%wP#d5sWz_=joLQ7`F=`mCWzmm&0wM%+6DI91)ECF zG!mSi4~&2h_~{0|tnZlzcL`_J{H|eaVftAM4~OC5D*C-HNq)Sf;>%a%@Fh5Pa`)<# zAL4no&Q-oTA3CDWO6?>g z?YpXJqb7WNL2|L0XQGW7XtFlli=4e;=$BT;Z7ihCT6{w7Lub-|oyQ&|m-(oiYiBh+bSrE>R+uFCmN@cSNc>k2H%#!9+(n}9<<9v%cMefKBo z`71eXiDSOxpC_Yp$IT`WldYaYy)ojmj%plwLL>1 zmeaW$oCnhv zlRK+IHqNr9i1L+V%75-? z<@t^nslv0ORbT(_ILdcnz6$%r+|HGL2Z#qi-m3*gu zP1H^;?`wHKQF{%%Z{U5Ddz5=4_eSnb+?%*Jb8qH8IHq53SHFztN;!5`6}IaAAb3sS zdmWVCxIE99LcTKgY!TvGT;JCOaTM}5NVnSTW=2zYOk5suhoTH z=~oT?GHKD<;`|lI)hEZ^ur|-wK7Haw%WujH@8ySs%n$3+Xn%SO?;8WhQ5fxD+z%D5 z;r$Hg{!QGGLHSF#mvVn2cXUP`-877x&m$X$XbGWu)*&uTAlHOebWOOC+^tbd$x^ot=y7)`j8l@%Jmh{VHhGPBuiWR(* zUJ6{2%9e6IO@&#v+e8**1JMh!Gt8w!!sRl`2~OX7_FzS&Szoy4#btTP$zQ*4VP5u= zKlfAsxj&2@<;i2&o{f#=*c{@Mc%I(@*|IuwLT61#@2gCdvnoT_@t)2MVn>(K_7ZG* z*&%m_w^R1!EYh_QZzvr6NZf_jP3C8El7rTHN-(nAGd|u9; z5dHr>bzxHs>sh^TjF0y@xB@nIj9xoleX3^(V_ja=N6*L+6lGo!0XKurm~{@{cg>Ai z!}*kzgSVbiJHfc88#nj5{T>fD&Gh$S4m2)1gqzv<`-K~wp&7pQ6w%RCann1ExLGj) zZf-mV+&p~kjpnHn|L?+0`y{x@(BC%t`&@A|-Sl(LBz;^)AGbbl@;-WYd(gAnGd{aL z+=boQcgSu(VJWt>wKL&A^o~icFU*t-MmEY0K1aNVoviauWcQZyJIKCt>zkZlt%SMc z119w)y;1tOJwKT~u1t0BRGqSi)prx~ z+uG}Wwsv1`%mGZg4?DWAU;@3&2l@)0eD~nC7`SQP(u7a58vk7h@CYQ?`#}sv z6Mi3^NsmtFEDa|r&B-&aI4L+|?l>*LI`oAA%tHA{Q} zrR>=^WWi=*6uB@Pioc#Y(PcwTtgDa*YrW=79liUCD#seikk+b{Pr!tGvK7?*@Nf1N zXCZr4u9WxJxn)(Z6uE@2iFx;0iPdWLAm(CjX;j}>qXYTke zdp6nE#(BslqnMPNv+w*2dn-5_SvuVD%Rx)br)r=j&3kLPYn~V3E<3@0#+-Cu9nb5z zqFjw!Opfi_JPI$kOZ@ll}`?(wVW`pmW zZ%tDF3d*kVm2Fb}G5U%vDLP!rJbH<>X*zS&N#sD{f^4Z#e&x&aVSXzHr_}mkpmS(b zYYPV4oeuuXBB^YI`sLfIi2w_5BA@n|?8mnLhU6gd&kR*T+e>Ii|1XWKDV)G>`9n0< zuSAAL+;;1@tKE9;*dg;H@S49(qc+pIDN?t1{V%`X zSL~WYyb#aSw^{USglAeKj8P_%U=LFg{)t?WEsI~26~BsC)#fcdPPy_(W=LfnUR{|b zh9dV{>JYE0oOpGmTUO=9@+!|PuM)#BDX-!m$?d!bU!85s;Z^zIJl?~G*;a|4@Yj^_ z)50dsUEJh5ckxw|&_WkwyL@H8hJVqcg*Nch3LS_B=7JO9UbGYI+b zB0l;Vs}HmvZQ)UAY-MhNOJjA3QJJ=w^|Zyla~D4|Yhsz!MA;@^+0#U4$TacGT@m?S z2XeLFsIqkIZzIHaA>VgBleDpuvk`at&PFWpwXvNxgvS}QAsOS!+KL!5Rk{+r2v5dO zY64exQO{khf-(v?!T;AZ9ac@huO@%kuxM;&sD=a?_6JR?YhnE zD0udv@ck0_Qv6-9YF{x++$%b3NHRmR>&=htBcJJGmM+Nc&6*4PgmNmQ_oCCduMEUe zA)dxhj{hT!4c?vAHwRXd>jhgz|0`DXX@1KOQ5(6%=6}(d+2~np@66EOc&ED6hgbZ} z`Twu9@dmda$OYP1gI*fVv8%Poz09rm&KVuA&aX_vC)lOPKX8To>MRRcT5Uxqn&i(4 z#g{ObNJvLsA%8}NVnG`+RYfM}!?U@|4%4}lLn;@~47FIE<6GB`(%MXrwMV-il<2l_ zs*Y>DEDb0wISK#7+!FjJrPwAx)>KTwIX6~t*EbpqwifolC9D;s3eXL)Q7f@!v>t&S zh>SV`SgiZu!Q!CK19o{sd4zSIEjAD1>deuP$B##z+BFaQ0zmCqxJh_C>5~;7sMud@ z=UKb&*`I$WA4dou)Ijc4r7d}#ty%{@p8cPFMcpNzQ}EHC&P)Xs{_~)9X6k>YkNwP4 z&zE?#^Mk8nl3nfg{Nx~g5L}1}KyOLMU{CpICFH&j@m}*fk9I_l@{1{ES8#FgpnAFs z8>~NTVqLYyeec&*H_N|8TY44*hpN|W>*t)&`q&40%{5y(%(Cj$=F?y9Fe&cddivSF zbL@E0?tbP83!uLQ{S|!gDcN6)W5-1!@G9_>%{KRg!D1}jmAm%(V6iDB-JBWfSrshm zo#sgwt_&9AtQDGYFu#F3RC-<>$qapn=SkKrq3yi*4Zg;1$PC@^YG@qXJ#Su+IAz0{ zC$S*lTWhANWQ#2$TU4>c4O~&KYhMy9z9vX+V*Zy+B>G?uSU7`kwRWp|6OlCq)%^y_ zE@3?C=hbdMf6o}a^H#MsSO*P#@~M5p9!w;^0x9|!=W^e7AKXVS7|m;lKL^f9)~C8& z{Y)_sV$M{<`ptcz;-a+jCa~U^$P7hd*z#%0vbI?smCsb>ctP&1_k@ZO z{Hpsa+w)I?SFf&T?+w}9(Mz|54)ybi*{jWFE-&6jeSVMG4}SnZ4|4_H&5O(5WG6*?n z*AGT{A!E<3|NTbd1)k|Op07`1*fP!-)=x5qZU4YA{MSb2_pRUDojkXExa&Z#c^~(& zesTHn{eE%Jzaqbs@}ft$uXc5c^hvV`6;tR0PanwNTL-Q$JJ-<{wa?pMtmT>XNStSj z_%;xMHd5ov>4~q6==)Sxp`NROyo$dcMAky@Pe4ba@9-h{G*EZ~y4AC4_nGMXFIUeh zhLH{WhPCP33(-B|>FN}@?4WPvpM@H(72sh9a$P!C^UoJDSJimLud)SRz&ADB`-(5X z4%R$X`dE2IUXXgIka+Jb;s%(LR+y2&^;<{6*K+UU?z5-I&d1dDM`-g0^iO@$Z{*FP zzIpw+lrrJ@r;dCuT%KQ6^*Z7ol&>UZ=SGUR{a{TQYY~Ik9VyO;mM;pMfgF0WVP{5= z3w;B77G67RbS{!Y|8UhO)_|8T@Wh;%^Bf)incCU*l?myb%iX!i)ap7K?COC_E&SSX z>IuLee#GAK?~A(QY+|vV?lldc={1d2orm%0Bk-srH)OA0hE1=yEDr`#n~z1NQ66a> zMYf^NNq6F}gfGPnn~L9lpwbyP{QJ!f<-=|JdQENRsNB8Zjko&fi_3?-_$bLI$zRqf z3U!fN3$igATpLpMj^O#c6GBB(anDG&A}|u0d-q6q|DQ&XyR4C?2c4!1$?D()braU6enpSoXK-;4G8t8jjRayR{?e>9W-Y0qe^tw&?^(3tAbdZ}=wyr2HHRna5%CVLAV9WMC${UMI6 zIgz46BHJs&&QHSoWD;Trdg826UzoEWw? z^9u`$(|MMGU$co-x!K@W^dUR&(>pZpb;@Y2m7hN@n7VS4Ky|V zKdmx?{tMq)(>gKJVIKZd?;&`ErEh^pExJ4+o(3j8*uBCpF%)wG(VJ!mqp3NONPvCN zRg5#hyXmpbq$?U|Q$CF?Rhr8WJix((`gr~ZRsbq(}bR`S{$^x z%X=2(*++i%bkT#GC;vq=DQLy9&!*q*o6J`GKyuVpyL5f|@Lhidk0qlzS$*sJJNB(% z5<7CC+qZ`G&RlTMyz=1?{d+91+6?o5rSJ(&d2v!>=Y#)$(Cuq8|8MK|yM8peZr|X0 zKb~%1<9k1zZePv&@pO9wdi;&^j@0cJ^X&h$ZvWnW$FAFVefsaK+aEdDZ+^eN!~A~s z4dxr%zry`jTunS5eB#)2`>#_+>h^gSPm}BRpYxqxxBraa6Y2IxdFSc&svkT5|Clz8 zMYk_{rvETqCf&Z>=STX&)8)mj@*|Ok9Ku$R%}~iDTSINh)~Ls>cxq3j)_(9!ZhTyE`a!P0 zhh5>Vb4-UF>#Rvw`+x4DtFYtQThwNLZsok}f7#~Q_{u}}zi|BNA4*0zWn}-?Q%28A z8M|z;Px;4NT0qlS5ZD+1B_u<5m zech^W#`HDmYfF7y=eAYuwzbsvUVZIw-+O&c_};6p3HQC%*G0UK^DOS`D|@1>KgP2= zUb>ETjNx9h>FIuR?`<8JY8_@R_x;bi!5rkO=J|pB{pLiT&EnnTYdg%p@O-H*o{yck zX^nEM{hs^8kvx8$?fc|B{#(BD^Z0N0JrR%pl6S(B?DraYTmS!@HjahIm+xa7?*1ds zUu^wE{~)_nydS|f)flw)Bww$d)%l+#_}#)N%m0G z$?J?9u>P=1U;0cje7za@@Z3B1n25=%ew}}kIjaR*oViM0WF%R^yY)>Y;kl=dXbwBJ zUHRM8=JP7<9g%GL&fKjdsz=|Oit|Ro^TH#aEn)79Z~1Ms^Y(dn?ok_Wn}6q?l6g%d zfr`k;n|U6X8y%TZ5gjSzoRr}DfjwpO2KJQe%oP5gSuwDug5R^aYmCbiX>!IYkA!?4 zmk%v~*739DOh#+1HVy(mvi6iZv1wt~w6hG zg2kX>8OQjPfA~n{Ym9mL{`GgkN@$<@?vY6vzuZ%&#RX>RP-S7 zt0hLhBd!>i@Ye8F&cz_#csQBL-7fqCYxW>LeqZ>}p;kk=-1G3Owh&|bt=OQY`PSrV>@^-JoLiCJQ%?Mr{CiEbGgz@@uEeug#_tJONf-s@Cf&N~mRUC;SG z&V3QrkEm}m@r$#8y9aZv55^7elh_Kt*MoTvkQ}m#`O3KS5 z+&-8Dr)lBz3Z1t*U-Z8U90<0zF+Pruhxzn{4Js%e*6jUpQJw(+&%m~ zRURq^E514+914G`*JMWVN3`-tcz$@~=X<~-akiuUWtAoTvE5!=rdd zaBBsRe%{Fvm+0Zq;hh1?JLBPTD`mI(;w5(mCdT6$%C7O1eVdENgG-+-#$x2D1vXLo z*3Pwv>ku9@qj(g&JUo`B*w@S$^^I_;?>t=UU8LQ?WqVw)n%%iLch&31inVCs3MMl{yWdh?Y$rYwxiKV|MbKly zYZL!V#+(6df1dH2f$VAInQ*82zIDlVOZQs4*ulkGijDnMtab}mE7zmcZTTr7o^a}J z-R z)qG&JQno}olTVcl?2Z95!OP==P}+f2jbIh)$s&Z#jZWh^n|>~4EN7E%ppIvj#;NNow?23XPGNj)ies@jpw31v%QfkW*yf#w-6`!WWV{{&BR>(rQgKdtMY@L zX7>j=%{zJC`saRg@+Uh?E%)Vra;}!^I!)`|e$$-nH1&Tx+`g}HZJTfeS(C&!9oE?; znV}_ipM?{TGy|M{0NPBXz)wQ9O;4`YrO_n`Vvo3%a#fpw!e6f}FE(h;Mw~b)ek=Ea zczG%RiCtvN@SDcI7TEeq!S3Q6oLr#Ds=f#|OpqPknWG}=g7bRvD z+PNNLFF;)PgyiO%>4(m|TbS#GP6S)g;Lm7(5qiyJBsXUjdeMR9=s*@k?+4CY$@|lv zzq6pTXWBE;g?+h2+{3h49zh54jd&wGH#Abqv+&%Cky7gKrOzu(Ultf4PdTpv-L)l& zJcS2Z(B~fgf9Q2j7ZZF}ofy@POMSE@+eW4J`MxskjJ=)rlGSnUvS)6kjm_vu;exWn2|Bp& zbcN=|amGcijGT0YM`B1RZcsghc9Y@@s11pnKENW(GXKAST zVPKUAQ*U5^7*^^9K7v^=kr`6VjO51sMXLiW%~oa{Sheu3H0H$c#Q49J>vgoFJrjbL z#_Z9q^o80J?FL=iZQ+^VB|g~JISMbW>qw4TJfzV1T#L9~qA~DXJSJGHZs9?CLhw@E zdp{<=SY>gst@ELwXnG*`6uMe+Q1F@=<&KQ~&1)yu*P>swhrM(NW`fN+;5Fpx>@e^W zt~_`NR?1N$czqanRVI6L^BJ4kZRDN$8Rg!@b>PkA#U;|$aYtXzcj?O07fpP#jj=RA zSB=Jj)7G0F7}EOdeaw|2Vd~*t_xw8x4g7z%V!0#4ZK+P?t?IvIhVW7n&Qz%n%H5^@ z2yepGujzwuB>EFB)Cb|oqd)awgYAQ(*SFsE;7|nm+j{9JJhiV&cRI%yH`aDs^>@sp|>R3g4+u_FML- z$K;D~{SS-qJ1pWG;ZwAG;=z63&3Rt}zx(|Ujg)QlmF@khXlQLAam~{V&fGnxRE_yfk@#M{9djIW|lN{IlM&}ozj@*v zoo4&v{id3;0RMadeu zEqouI9~cRxKV2}}&L621@2o#>B#{~5Y_~hu@6?wIz|Z6q%A1tK_o=Y4^il)gElHv0 zxvJLB+B19GtUXKlfB&NL;*&ZzEs1WRz8Y5!NDqh?PKIZ;Ucaw+GBRxm&%TaKQ(bZ4 zpLdF}UKD4~19CyKQF(b5rO@?UajqQoTV0-Tbh+x6eio0*=2ZQkwe_z=X3nDi2dzF{ zf`3LbRc(mo(k)LH_x0V0p1^1Dg;$P**1u{*c*QOtgwEOq3;g&Mt%$yUNBgx)o&ALJ zw;OV`MWJ`eC*+dV+ZP5y_^M7Fk=_o^pF3iCKZD(#LSJ*qt~z_z(baSLrjj|U`X#*} z7{$3uKm0pw-R;^ zjNmc8EE&5G_QOBHr$|}#_s>tu=2%-efbXZI>O1*g%{XA^sBMB#3c93E!m;oaOR?{l ztA*>;jHe#|jr5-2tbON_Yc2dQ-7%Z;2R^#5I2#UzS~CE6Y+dEV1Jtn zd)WZ0OK=zbMXw(L?hVK``OrMOGRkwkZ{Xg@b>Ir%fL%G(kH&X}#^m9CH2G;f|BL)+ z$ne6J&cPwkug>xi-3GDoy?JTCWbzNiQ(3`Wu-EzFg8f4&?GZ8ayP-!9H@~7E!h>Ka zcz3)0E_m9cmpJQA=v(SonQP`QJPE$i@#PWfgBCsojC;r*M;&?9Q48H~Nem7(1D81d z9l_b7{f`6d23IGD=9RD3ll77rg3+V&2{`3ESj)zr@4`D|K8-x!EF|}ty9hg z=9RIo+!-#dM0h5A=`4ggt_*cPEZZo z^?ggjapqTBfO8GcEglp2gSZ;GdevW^i>9O8Rd*wI(X)78bze-~wa~QQ-*?pmL-@RN z&Df=WJN^~GX6E|&cFyGa1nb7YM`KcZjNuS`{!$`2aOxpB&;a~H2?tJ+1;UkZ_9(i& zhH-dy#UOr=L2M+?uGn`#vcP$dem=~u*g)A0zOo-ArY%g_z5Aao2CzNdIxFN$)qH3F ztOLbP=}WEeRGc;P3Hj*zQX?PdS**{AukNV0^K||{gIMb`$k9^~Cs&8suj#wx&>Bbs z?Kb$@-7!fY$L@u_*zIG6K5CDG>Fc2{UuTbk(>^xIl_7jczjW=f$FQBW-XvZ_uML}u zZ;fns-wpCkJ{8M{*h?z+qjt$=2eu!B{$9`6r|k*M3yqlh zp^@@=tVzuu*mK?=pqWYdKz^7L!LuiqWIuWPRwb9f&o=nh+C`<5^K^;I`Spm(AtPQvlBawtLAEaEct%(-A{CwO}T#a;g5Hi4(@B-*=e>8^_$Juay?w}Y`H#tw*L>m{&_lbN9}V8=H}u91s|oN@R!9r_F*8^ioBJs#wLeXBhxmHcnW!K!jA zyUU4XB@YccK>5y^W8`p+ZY+E!{EloxT={1%8Pa~m06A!G45zYPZXTL9EnqH6o8me9 zt+^m8`*$#UV^(dJMTkYDU*Qb@2iNberCyzX(L&wL5!#Pjn5~GmWSfwu-%VwP?q?kr zUAkWK{ih$%e2liKLu(dJ-itogBR3Y_{R1cOh04v~{lh9t8S!#YxHF5KANq169NrT7 zP8Hu0dVE0`9XqGS*5j-TMJVgnk=k<=g7@luWujxsg!p~%vQapHiFI9XUMCsR>MJi9 zAy^CUf94x6M~#O^_Gn8WdnI4|^6hd4k z$=(9i=E{{5HKv@X&RNd#e@ZXOHuwc?%Kivqd(fBR@Kui8p`5=a(PMq%LGGo%FJyYG z{qbSoSc=U-9^gW0=D}SWug;tn4Q)2~86wzgarKw}B(c%?Hs;3ACwZs#4&Qg_?X_OX zdZ+egGp6LqLXVAEuz6?f-uO%KUpTrhQz(@au%Uwg5^Ha=cP&OOD|7{$uFYkGE% zF>A73K5EJJdl+vRTP4VPyYj4h@$#$_Tm31x1o=jDxug#tzx+kN+3~>P`z{meUtDuE zXaA<`gL=1*z!Dvv8Ttlm{>)4BrTniw6CPfbb5--zD7sC&skx18fti0UFGj518;vPf z+=gPtXPDb|oA4#s3qBxxnTiI+BOJ~X4ynsXZ_-wTxbyOo?yTa^>-kQ5<4uzN@!&_f zwdw??6n0^Z-zjnjbA`A}n%vRY05cQNOJ*hXa;1C+tkHJoym{0@wMAd4z|zZ#82+f3 z@)6UQShvo)8VYh3Pb;UfU@-jQeZ?}?)wPG)(h4yUVRFuwrMB-nY=8NXP)Zp1v~gXaL#%_0Z(EY{=k_s7%+ zhd*^Dg6Pm&6BxnP2{NY;FKIotjnpPYU)$EG)Sg6mYj_8K zp&j^PJo~(AKRKazCf|(r>=t6vz)8N1xp*r)8cjO6h#I(yrZkrnT{X74Jd%;zfp>sU zDYT_|s{E%Oo|gk#(N>6d8lbI4m$o!-Q7$4o&ml*Z=xM2?rM33|wg~a1@qxlSc@_m$ z4d7P!h?+$ksSC1A+?5Zzk-PX=u+-egYxi>6CGT8Td@cFWnBlxFXtJ5h#J6*Y&ZsvE zZK?mSr=6wvdOZ44KB5+$jb~Gj($31PR6I<-B; zlf$GdcM>pB>~J)u{KA*J{NTj5d9)bBXA|_r+`Mn!zT#8(C7!~U;?d#=@sW2$x^tSF zN_Oo1d=+`?L<_*~Z{P-)pJdkT7T<&-YwSM5P^4>45|}LmcFXahE|2wE9)L#=%SB-M z1>d`ui=Z(k__Vuwu1EKn&2sr_qC6kt@m*vZ>(Us+!;&$Io5}j(Th0Pz-g`$kOa3@H z?e3%OeZI1aJ6@)`h>gr>e;2Z;;f#{vWH?GuN6J@6soLY&a^JIV>b)BrRl7J^1&)+I zOgOrF5*&4aqZQyNMW0gt036j!BaSA6VH-Z8HvBRkP2c?#_BzjEzGscVa62%pbYb{% zU|8wGuzC_0_5i~!V7M9>uKowWFg%Sgw6vLW>`w9O3dV$OlXL00qAMjnSd4BHXR zu-;9s*H`8KbSZX{Y#{MI_F{nCJ+j3ep1sZPbC%vw40FuN-08{xw!%o3IQa!0ct<5M zJYBgPXP!`8;yy>FkiKhtyMbI1N7xNZ&=+kP)p@1eW8Io$zNfiJ8hFLfH&wUq^6VSg zFcESCyyQW}316OoB{2 zg5QLzfs@2Pzq7+EeUzBr_u^;S(Qhta)?pTNzk+-7kNZu z<^EajJwNO>?|XNLSTH3bLs(fgavmQhc`5$pIz1M}Bbe+`+4~&-IQ%U4%8ds8dJ4`e}M? zUb5;mz8moJ%{xkp7qZt_v>b}u=E7y=oMzzSmmSX+jYYX-xhk;8fGo*f}kOz`e z?|K<=49L7Up2%Duo=k*0XQwYg79eAlyU*bv&gHRr-&QHN1oJG;<$?bMU+E5=(c|cr zRjzKi-Rc(az1kIzs2@L@PY$mnGCRrKfJ^aX8SvMUB&WVY%J4oz z-{mW_eWs6g9&2?j-_ge)dP4rWN2y;tA4uTuv+(S7;mMo_cxoNYfv3*LlCJJ`;Ylon z?|p>%@^sni;tfw%nR|N8`_J{h-+3)Ny_1rz3qJ3A|bJE1!#4XFD+5=}Nswz{F}|cFw6i4H1x##TCY|R*rjf22r?IZ(F09I--$#&XkN9NTuD@!Y zGd?UgQFfEB>{Y;WnaWBhh0!(8pXNFyn#sTVbmlwwQdjeS6E>2EyJgg|%vZ+`XisJI zek|@*3cvbU`EB{2yDdhx*O*~hO zxb(H&p>x^yd(-X}k*?giJeU3B=?nQUKD2<`iSWMqH<{gv95}*mRb5`+h1V!;M}7Uh zZj!N8Qnu1pwumogF>tD&Ka0R&I<=;-fw4+vFNFtGe-^)U7C*B$*LpMctE|d6uygZz zQ1(8`-sda(Q|gaXf1)as{}!#%uBG7Ft+=85*g5&X50RnQ^(#kflPQhT(Q={#g}X!dQpLQ#CIk$Cq0 zv%pcrAcil^S4I?{B6)mMu4J}Dw@crME~32S3)fn@;}0)O^BwY7GD7nBz1Oi;GW(8Q z;WYS5cV}ORY*+uQQ;J)_H!dB79G0(IKC<^wujc8}BZ_|rTzca!%{fhaRUt6DJ8RJ0 zWx6ASD@`Z;?<9_~lk&G)S+BFP^zAxwnH?EBe|^ini4K$bE;jnxvC+A|pL_fL$kn$Y zSGgbLzVkcS^l!zc=l(%{FXH|}em8Kx>}SN){TFK!EQ;OEvyQ=jbMa#K26BG|ziYV< zzlA-4-#%PMmm#CQoG$Bpdwt25TOnB8&-z9Lza}y~Ux$w~jh|8LYvicPr6b*iSjnYB zYhvBx%*3ZlnLEf^ejPB6@{MFkUvXdY4)Zhny?EkU%9)DW_H1O0Ui(O2FmLUiC6t}J zeyxo;2+T7)>)s>!9Gk!U%TJ28$B&g7o4@-UOaE&N7he#xw)i5xTa#H^*pPOsfNh@ws;bP!&;>HwXEcGy8`RG8CN&s>V~dHdGPzhLcD+WP4kVpzD0WqZ@&^= z`6j&bW_X4BOZZ*QJ-3Lt_kI25t2|%F{ThBRG)d-@=-t@Y%|}jY~cq+2Ec}0X!a-t5>#cllx6G_t-IfV|71mEq1?4a9?r^ z-zhh7-2JAV`ywuw@v!~{`0eG0Pz=52$M>H7_=*m5_qKj>~{Ak!Yb6In_b@+k;=s)FQ^ms`86NlC} zKo^;WXk&D}TW3Y1gjvg%EOc@(+uY;G0nNYq-oP3@>&K<6;d8#}T-70*OJ3XsJWA<< z&XnGSfAABOUClG$?`U{S9b-AqzCK!go;`Q8a>C)U^v{zUN2|}9OC7CTqYJm`@O>%& zOkF}e>6{Dh;jUD)h@SHNpU@)v7`k(p`EaN>3@1mLgG1$C@o=aZhv!jtvRr4cc&ii7 zmE=6_Q&yD^FaKPx>G~RU%Xx|?Y{?8=<>saR=_%#IKjAuB4Au9Jp^Sg78;HXT8Aldt zygDbX)YXCCZFBs8))q}Ow@R)r1Y=ypJ-m#vGZW$?_AF}7s@RT8WhbkSmDbPjRehgA z$I6z4hxk8VI=d%pQu58OB<_Xtx8n=4rIF0gJ?|3__TXn&$=>o+xo~1-t{flsF5sKC zXQ;Ike+yqpMutUm9&b7M%@rS`_MG^bD=cr>v(cDKt4|^9Vy(-TTR!Z|ZL(wQE0mV> za=x|Bt{OcP&5n!jyfcVxoBY;!Zah0ej{H5&x_lS#5MN3D33mRoE<2v>G@*a%HD$+e zo}y&c628CS6mS8qi8G>JC!csT&uW$TBjV&FIxHt>ocWC6SBU%B@)>eyxp|9ab1VK= z^=kfAN&M>F$U?sitf9RZs6B9ha8a4HV+}Gmi0^|wURzuCs=;{_mYPBtN6@ zC3Cgj9>5M{-@@aDc_$ME`1ZElCnTJB+DpE}dNKWzepUZUS>JEt znS6lKvyobI&(OcxR9E4^$@r-#JMQ>XsX~PD+c+?2t<=(x6Hn*)`9Q1+s#%U6zlArzfxWbmrC6I3kQMM9wn# z7Hm#X=CFoKdBGXK?fYn6^wAt*vt(Z&LuGTw=5zdh&U?jJq3`W`e-5$f?0b+lnOfTU zz@Oc_m+Sf7H*}Z?wEfhV*{l6c^3P;ObH&v|=Q;;ZJ|oe37~9qQQT9lG6RQLb>HL@X zKtm=W`8j(2%jT6;@R%9CmAhz7dpoaEIruMPeM)?LXdUIq^Iupaf>)03{FgP*ssH>J z&HWWu@$!=n6zk}BE%PnW*{PH(O-f$hLtBnt+c^hj)$ZfLndT~zS0U;Z@5wi^?O;_A z{X9I@AGBvLIm6+*I^TTZy${IG?0mPG?>w6b-!$_Pr)~tHjcx%ut}^*&=LiRa^FTrQsuf>o+lRj2{EQRZAh^lr@<07m#X1YO z%awDf!p0;rRtHWxyC-eGb!dC?^=Ex6pSSef@qAy0eNi1A$i4Kp(htr#*+)Cu#*2ZV zJ^DTx^HOekZ{k=p;-@%UTa_kJEWijZ-BOv>sSx%fo7d}yoY(O^$xY)xlA}CKLKs)*~dQW>{tFc&+WPk zv4zroqB(LB+xkE|70bysWVp8*jLFH}*zOy656=?<;md7y93` z4PMK$3VzFGKXtBa8)Ui)f2}4j4rRx+4e&q7Hjqz4c4#Rum0xGs=Jwgw!n=3$ zn(Tk{n?;;8ci%d6txH3jU0tg+$v}b}IN^I7T8fK4F3CrLZyhp6Yq?rGd-BCj9w7f( z?qXow6cawCC$>-Ri5JgD&ern(0qjP#EgIA~Kl>%tci|!JpJ;>*6z>}4YKpDpeA{l@ zk0#D%bLOX`GS`v$6U$u39y*2{$8Lyl zuje}d_2tFIvKgV}2>tZ(zSQ%-*6HT(%}=hy*B2Ye&0%kT9nTe~G>3DMDs{dZ@2jat zWy9QwZz`Nlor+n)2DN9pcri;efyqQMOV|j&h`Cg1(CU$UKDggG+a>1kR4F{A^*+DM zQk!ScR>UXQ>c^CkjWmZcl_>|tsD`=8cO02#Hi16K#zu4EN*4V5p2KtE#werbrHonf z_(#6?(qFO>_1?=f`=IZ=ozuJTp$+@}w|GC+HhkHapJh(A4tYJ0dnacR)+aX>oVeX9 z@=pBy?Y{W?Rc`$KbBp`Xz7tR1)34z!^oDYEXiU;e=Zz3^&aU5vtQ9|0OfmeI zS>K4h^Wry>;8?U0q-+aw+N&sA$Ni71MswXDmk#ays^#4x$|!ch^TXJEdDgeGGIt5@ zHo5gbSDQ0HJD$!k^j|ikXh62L_x#DVy{35!9?!e_&A-2VA?sSD95=>$6WVjzBlKd`rV5{vpFe%{^VVa4&pV$Z ze3ncBJ{sFp;nO;e@R@TA@Hy={!l!l$@X^?&3ZL7i5k5bB-O=UGPnSM7`STcc9c*Hz!YGkag7HX$@MnPLD7xYpZSJw?#3xT?44`7 z<5!$}>&qptcp2rAmrv86|1?kb%5G=vxgA}iJkGLXfL%qnFTKY*w>JK-q2hr!Hf;i( zwcg34YBH?lki#wf1v8?Y;AhSWkzv&LrRU*{mg9$@8|1q(zFToesCYhc9zVes<&A4D*$l9YWrkh` z>;g&jaVnEPA>Ct6Zj%`22EJg9GhUkUK52Yvz8)`HWY&d*zoPQn+m+{{7t3J0mw)~>%4?bqQ-d4vP zwu-(OleK(?FLYSvS|sp~d3OD)h!Jb&S-bDqz4((Ho2xyqI%NNa64-vO-&g&^FvMSa zxNWO%yqJb>H)6})-f#L|+QGJVXpXhu@D_Y_(3|Yn_9V0hYz5b5ckWS6oyy@@YnL9n{^S=+!@Akx+LKQJ?gB4%1=a@2=`BfwJD>f@I_bhVYbQ1q% zhBpzfRXumjp6^sR`Ean=e^p)4wTBH`!)D&sI0yB-k^9}VP>IL8(p0S7v%!s&tqT^{G`W9D35onz;Y-=$9P{n$E{^XD<&eD0sAvr_&F>Xbj; ztMhKk-R&#)CF=CvkF7IJ*|e{0y``nKHcwaB&6V^z(UY%!og2Bt_swmS)E}d4%vUz- ztN%6RoE+@i0$%PJ3G@x{zk?U(_gCkF?;7x}b2Yr@^!-ZV>l|`MoCV(7<7?RGK05B- zz!$&q@kP?&$9X??+&YtHtFP=Z=SIp;RprJ74!X1?8c8tMVa*0Pul_oH#D{f(beVi1 z(uJ0Ov}VDdV&;DM$Rpoe^vd5|a3*{egr9zLK5Koq^_!Q%Up3tSa9)RbVl8J#@q9b? zTlu|?dq2OE++WS_7VhWpJIwueQDR!x^qWudd=6TW$0pyiv z0)bDw-CE{g4y`ssSW6ju{$R{Ie{gzynOd8Pgh$t3wf>-Ib-rg>3shg@>~Aw^d|a$= zC|{)fQEh1_FLRuGE7x0E%8O4Z7auZ6IU&8=ldb$OnmCznPQ6CCC%bZOJp1}B+lOMQ zg}HWQiB~6Q8MEIl%{r=bPxjwEs?I2yP`h&LqRXM%? z`YjI)ksBkon0@B*pQz8lsNj9)uD!(HE8kuC$`YHyOL@g~R?PkLwvtED*`H_DBis7U zMz_kxF`7dZxwfr>HeW@5;z{5FJW8lr{kV(sMwC}J7G_@?IVh!Xm0vz&?G@)Nh3d#a z;l`iISJp-DJr9;zpJ0uOa&fK@b#G!%iC`&MM6E8nIUDDH!SY<%d+_Rg#d9qzmFI~4 z_SE&QTesVBindz0nkcWn3P-}1@bsq(mFG}-5ZI5%U3CjbvKa(N)%_J)celmUx5z8s z1RQJG-y+|)ACCVD9POS_cfEtWH3j*Wyj+JGliFhphu{SM@>c?<@cf#QPV!8~ft7N~ z3szd|(fMHW1)t0)e42T#aWrv{aSc*u8o#sPqcM8$iTU93aTh+#JQIAr^?~h{=NcJr z;#d2NP1p^}!yzARz+kt=INO7|+qkwTQrYck$p=d!dS!v@jS zYNIsj(CTY}ag*y)6D=w?lpn@|%R2hglp2Mx`Wdja_*Hubgz6Q1O$z#nF&-}EpHpt> z-#-SdIoqSrrA6{8*mcNy?&SY3Tut3k`L5&S0y5;NaA`5h|DqY$@y};G=Mw|hz%%v7 ztLrNlKA^m%tbc$vu1nQV$~Zji)FqsG@KIeS*}BBTX z!{xx|S@zT@e}=c-799f{`RFg9O?>d9^p{~xk>}qSDK8G7OE~i)XG*=?+s>I8!j)pe z1)tl2Pl&U7PC?gsI;S0-qc{ci!yqpO+fPEX?0K90P|NjXL$J@8;@v!=D=(on^$vV;PyMf=UfnOCoELsvx zK{MnraL$sEED`)J0)CU>NHKc58H?~R8J#P}@^_T;W9l=I}c z%K7ED%1NKepZR^t#awx>a!o!tuW~WB+#uzm*bqVAz5(xyh(*<%rux=?Q+HCQc_iI$ z8fSN!WjFVmrCd*iJ5BtP{pJy_%_kC{H!y0q%NFqBiP|EL?cNM6wI|Yr8zVPnOR74v zvRwnd{FOVgS$Fzu*2wNr`xZN>g7q)U3&^61{{%N>Nq8}S4|%1VMr4O?=6mswH&R+fb>S-)PeeGQF2VR>RjEP?SL<1+ zLK}B~|BqPfnWXgQ?Ocnv7LV!o z4(#w9K0ExTN&3B+vdV+!!ReWMHSfK>@Wa~5{3EAdn2%tKYmOggkB&Eo!*)kUb`>Hn ze<`j=w)vatJ4{o5zxneE$-mjxZ}Kl9pE~#3_`QMq75r}IUcv7$_i}ze(c5pfy`aMk za=)GD9o#SGcbxl0{BGdBzmBya?!V{x_8#ndey`*1?E~=k!ZZVywg`I>@H<$3yhLYr zN!A*>-$nj~N^3W*eVo`KyAG=yn_a-5D=OVU9Bc%8CW73IYfYNCQ{q!+MD=`OZV6>2 zf6*o617ppHwiFK^2rtNfab89K3-d0{U%%}w6DGmy@NAA zvB%Mi)=ras5Vie$3>?Mt_@CIj!TK-H&*$94Hsd^(PgJ`9QNGu=dN193mhamaQ$~5F zWhdx;|8=9^zmRv8@lRX$4EpMj{So%nA>UTmSI70fI_B`saNeWhnJP_~c6uzGevSGT zyRcQB;k#8oeW>M3d2%1-b*8-R5RHEe@4UY6rCt61CGL}*Piphn}w@{_Ovdpea#(68ZwD={!nyg|zWYfv+u{IF#-s*EOa(hAh(^T(cU)xt)!~c3Nx(pEW z{bQbaXKhNSjNPBs_J`5;V|73~b+!BS+k@MHXUvIRS57n=6G8lXIJ$;@5~l_~&tP6q zA17BGIUAJYQ1R>$?${dh>#;5TG421sSiP9`y~t{BtdX#CBa&YRSyRuY*ml{=vZ)#( z8w=|hQzi04&%(5M8^4pvtI6DjF+zK{(U1R+ymtYQt19>Z*CdlG|Ic^ry_=mhy{OT1&hP&`+0V}Gz4p4i>s{}9@2mZwxsO_C%hD*y zYcCVsN|~E>6eG8yr?cN{4X{?xPxjB7bhx}q%3UBoTFs^U_YkzMF5!$@c$fW%bAF`i zmrsCv6E!b^1M(>@8Z^FKGQ7S;cN+G`udyKbyA)r0r~lASJAQn=4;TaE!amX$L#FQ( z<5B1Gg(cJxb@{?RAO8i}_cC9D@wI(rTCxes*mbhxksXy+Ej6#qUTPw&mkjr0{XA0) z&DwGE67#(i@qOc7%QY{+iCEJd-L9uE51Cu7zFcFqc*}l1*SDX4IWN3*cpLTC;{%1m zid!mA&d*A3J(cgK`o0@29Ok{gRT;1TfxN{+U;P8u#X#P|s7~q=9ju9_vyw-K{bgT4 zKCunS=4=gnTuIDXlciDYACbQmHrc&!S!ehYp@Mvw^=+E{_uMn&|FS$U-G4eEpO3ce zUiJd{SYCLve88vMSkaS#b9q9zFf?(JYEyn=>cgDVl&dJy^@+dkD|ov2^G{%(nGbJL z18t5~1-bS0FNz=;tH+1Nnx z51aYm>H?li&)tHaE0dcM#x_ei`FnMk^o~gB{2i6V;+!u0<~#Z5hwv*@{$kCggYWt+ zd{=CEpPp|h-fK@+83tlRD?)dhWK-*Wrk=O5bpQS#w(dAynU7M-0m zGa(wwH-d@w3iwCIx6m28^3p(0?AZU27?Xqf(VX-y$){>_Xz^ zCZlo)VdKRYmT1k1KA`99qxH?%XWt300-aE-@JH1j%ac1X!d~A3;IH&(|Bl$eWKwi@ z@Yul2Pv@IEu35YvzOol8#>MUvG4Z9?B1}c@QTP@1!qLUCTVE%8isB50Z>G#csGnZ>A*CsB}LX%jLA2kd=fAZy(LJLLzUN{nyE6P(aOPP=hDR` z^eAD^{wJN0pYLFA>=!pL9;Z8`zKWKUn+IAad#mW(?hiQgrTx@tr+?dObMsH;n|fgS ztI*-sfX6ckza|}xEC#OqjJCy3i_b?E13wm^3(w>p=Xs6jF7v3q^o#MtZ(H{0F|QTY-me?g{e z0q|4~|0usFpi@*H|N0Ct$Mtj?T_@vT|IH0uoB6$kYg1-J{&T=XI_dYG*FXM5 zdRxV$R&rPVYa3Goe<;1KczE<#{o+s7tDk9PK=o5&rmdQ_g1GX+`a!n z#I6L+#T)tsL}|7s}<{P)k-Ny7aEc%Mq=I}NsQcp^^^ zUgPS)`{>i+>^JG#HsCS_e7_u62@VrA?qsIxog0ESCh;Bo?y&NcgA@DP04H{U|J#zy zv~fvp2ki~T9#PY=92+D)57CL8!&(1PU>Y#9x)e`0A&XoBEJk!HPgMe%i7x}|C=i{L z)qLw&rPdDp4&Guqq(|dUrri^5TfX%gVQP*F1 zCLTm}m791ZU{a&z(9VYW$c<^yHs+6cl-^SF88B1fd3r6Ji36(+xp?fwDVLkY`*HRx zAI`GIyXRifcMgT}j>@i~7*OG`>eiUHyx+lLaM8BQT3`%6*-p8viFLyNVJD-!p*(uh z>?74dn>!}LbJH7wDl%?9DkpC0K>S^p{o4d*fA##m zYtzmgtsrLbm!pXNgI2}oE-{@qVVA#pvDwHqWyw5qlJr80(FuLBPxtQW-3P|;9{n5a zlE@KLfxF^(KU3zc4}To*L!Wlycr)BZOErhrsT{QNe=3f5O7K4)$Gfq2@HpOA@f%c( zhChzC>3e-~ybtl6Xb9^$d?aza+o^A09PfwR`Xr+jKjXylj@Um}hmPa@P*49j-r#5d z_r&qm!y^!*lb!f;@dp2I#_`VjuX(2Y7cJ(;M(bIw zpvy}m$0A3IkCr@Lp49JuF6RCl!taE44$uPjIh`rgmfbWTJwjsee9yhan(Sn6-3=b> zPH3;S`ksC~Ci_)C9#dx!50(6{*ePfSm(0C)VXMoI?)YSS;`*+=JkL1ym==1REsHs z2k>-n4bYF7$Qj68WvG9W)8_JRsSBT= z{Fn{~A7bz|F2SeM${TC8&jA)M@V}mG{3C$Rl|0)LL6+m0>i_#$_{Us@j`%QRxPFi^ zC`Yx%Ae)b!=Yx#lT;CY{xrGjxW8WB*TS#@jmHvwN@y2j8V|X*qbauSvwubh#-$KUt zGKZTBga3o+b$sLH!dP)YE)3!`vcU}NiCh@9w4=HYmJ1`qdrt=b(dFWMbmpt$`?P+J zlMCaAJU{YW7=3-at6~MYFr;@Fx?C8uTwBF&ukFi)(J^hQxtA;bktHU<{lPSO1}{e* zK@e>|A6w5g_!n@$>vQ-foVV26@!=)rTJFDx7kY&%q44AI?LOhE9(~yDEu>{)X&xamQ?V?M26TZsQdyIaS90=?= zm1$=WLsu6rHvjs$Wx}hG)TMn|ShUtMi|Ej2QT&#xOMJB4{nWV4leTiZoqhkSAoVKJZN>euNEBhjKnlyP^Gb`~e zQSO|}x=!MozZ9R6OUDzT(doKy?lA0TjU5-|4XP-IvTB)Nw(bs z&*Y#Fwv6ohKT><)+kwmap0lb~>?${_wuOk7QB0f8u#Qwmdj4?CYxu}Hec1-DBRZwF ztZb~YSR8S3O3{9|&W-MXc6;*`r5`G@mgj4I&(~P^AxrvTx12J|ePt^6)_Xq?b}7oH zd}WtVUwIPP;qM@yK5)&#E-@c}+>bkYmeeB6lKX@K5Si zJ}RyI4Fk$O?3Sx#orsUresQ|BBP2w(z}MyYv^f7Sb?ayuP{%jiI%GHT>R9R45#U(> zn9J6nx{9ewJ{nWqx~BN*GD*c*EbIKDTi>SS6QebkT93+;x_Zl=?$mc$%&e)4%~bAd zA8j!~?sK`Xf3U?ga93NhRe822?Qv=LI4}NHa6Trw8T^KCMjw48{o54X!taZ6N&014 zzt>X~zI9jes#|x3bZ&b%((^g`6AHhL|3h|7(?-{gJX5^o#_C6UI>L|G*b>nJ$$n|( zGs!*>8Czlf?~l2%)XIeNZzyLxnitW!8rEQqZw;Qpy7Auo*Ntf1E5Pd&(?=K9JRmxb zJ&f^en^}&35H>OTr~O-X5A^9Ap}Hxf_fFk?XC(~u>1^@U{omBBan_u-de`xnt=^T4 zwq@h^f}e2BYGT7y?@Gklvd4~Hy{mfs>RrKV(^Eo>U+H+$Q%U^j=&^0Pjv3#!OE75x zChXO~T(KIQgOVyOD9%B!07ph`!tYNy?#;;YlJ(?=E&JGqUTZSbKEOJ9m372@IKO+} zzr_4#ZOs?d=f%D89<3@MUsN;pBgUoU1AafjW=UBR&gUz$ni#N{=Va3X| z?fUu$OQHErKHxa>Gn%}H!b|_SWRu(!>0tc*@zvx1zVxFY=V1s>oxQ?a2OZQWUhdj= z6#)CQ-h+`_fx+}q+V6L|xB%}E-W?TQT$Bq&KW|}F z0{$FuKF74ZjKQ&^pd_&0_wwCt;d8{{fr3%(<+6LUk5+yrY__B28z#E*BVZz4Onnm1 zCmn;Ai(E9q^Sklu681j}^sO1?ahvB`Gc&hB=iK)L*UU`H&h(Xi27kwL;POhcuf7SC zncyokh5A%R{Tx_d6=kb@Wq(9{qG{H~4t$3*4&_X}iaJU;he_it2R6i~+xjG%`(eXA z)~)%M9Ol}4v^FdZRhDn99qc0?D%~$P9&Ya&$}`Yj0Y_dFZUEl}=w!+&=9%VM#82*N zGF9Av_tz$~^K$&QUuiNMx!=a`JGgsmQoe1!ifqmYqGPhZQa&AEgq&e*0>~xUmR#YxU4Y~x;oQGS2z3`n=Q|#`JPQ-p0&;=d{+E&V{S9~ zA;sTF|0ey~Cac5hAJ^@TE%z5-^WG)qTYqjc>$v~B{AfqMMScKjbT;si@Wh^8=1BZ# zi@tH7AMM}n6Avfe%k@Wu*Y=!_AMFNy z|8Mo9eJAnNem~mC75{hrXcsYGhx4QTFUnXQFMhP;^fYyBQ*jI@i>+fIs zB<;^kXnz_SpFOoFStzqn>%@^G#h2Ys&6zmiK0fYVa=v-*2d<+8WfQ)#CutpV?w{g7 z?EcVkD?HP!*0-XJ{Tp82`c{a?sksr~ikRb@A21hN--_31|CVnB&-G0FdU2Bf@vXRl zaeKZM@~O7I74ctgFEP(=mnC`ZU@bi^h7#v7D7LtZ%Fz zJ;Ye&Qg*Jd?DlU-eqpQ~ow@SPcJ|Qr{D|13&SBJWRsp1mq5Kh5!<|NmeC_FB57(9FTz~@CgpZ=*LVzXE0 z8^OQEII+WA;}W+cbL$-QOLF5lS9K`-ZW{j$xV)S*hwCG^6LU^~qt3bI9pGOu2EP}( zd1Nq_9$ks=T~*>%e46JE=~{XPzV=-&OOB%5Kzshq_F`g)Znx{X@Mq4yO0DKh8Li(L z#1~3W*qv2mt*lfbe@9$1@=C}@^W5&N7hsIHu4^9^POk^F7VTP z4?|PUoOOre(4Bkmf&Y-B8ZD-j&0#5zk8K6GPo{q3Uy8K)pZN?kK@@m-?I_a|98&r6`iWZ zhHGggaQ@&adkeb-XLs+fM01w8sAJ50rAgnIk(Kj{lW?g>@<3y?O$^ zT55OOr(U(~3SZK3XAkJ&Oj~CUXl9K&F$Up=q1^+F&J2xay0$WYO<65$G3I9Z~yoLwgaBk_?}%)edXy^VkLWXk0UhL;$(20Q@^)E^ z=itJ$V}rSKtES|t+M%)d`ZkU#!I!rKyIMNi$a}knh?g1%4Yu)U)JdFqUUtMP?#jC` zhBzm!!Q`h(@riWsNV3|&?W&6pu&c_Rr}!_y;n3e6cuuBl#>$hbZ=F47@cir=LlONS zn4g{J&;Wh!_|9o91fqSu>4M>#fSY$7%Nf{@HSf^8esT(OH#D%noZ`_Bzy4qHxaWf> znkhTHM>7xhT(ooT-|-(H=dSiW3^$gaa`5^R7q3_Na_%m88936PgZmpe{p}yyA{)*` z`X^eeHl<6D9!#(W*{%I(pxl2UxHt{jeVR{pfBODCHfM?Kvsc|%!T*BqCAoN}9UbL? zbyo6yrSJRk)G51W$oK3a>YUAb8H`?Qt$$%}MPXVJ88@T850x$IlH3>mE_t*sCTN-F zf!}^Vjn=>K>;A+ao6O8hID_*K=$yGr*<`kIKl*cTk@DLVhph{$swoi*nafelGV3 zv8AR^K<|A4ad6#D=3(w%;&+<+)%?De`;Ip*HD92exwLmF-+O$$^6mXAaaDo8;qT47 z{{Jnms{L)~$hrJ*45Y!kcJd0J`5L+H9o?e#QyU97rZ3lkbnwz2OhqqHiH)u*xf0*y zM$W>4p4=(kX3h5CbbKHZ7d1@I(9ty8WMYnZu@Zji~Irwv%{5>ufFhlC}f4sA*@Sr z8P|M$j<+l}o6cUcKkn+YZd_ab)za>5T!)Km`}H7YBzfs3$aqWK5L zzZvGO7MOZA1JTWqBghd(o$^P5Uj{Foa|=iC?4U7i#7W5)R=9reoBQ^?+3*juYM{sM zj{J4{HRO#dCw75#Gi{di}89Q9T#M)66{G_vSmftpX!h!Bm7^=c&73HTRwr@ zoyp{erIGD2_v+kF_?7;u?tIcCCDisJNq2ye+z99`%T$kJiX19 z<+sUn5O>s)jqpt+R~6TZe5>!O_$ES`dU8YPn?RCS6n>AT4t*!tJxY1iRm;7OtDdWY zYaG`E(}I0?QFiU@ja`$H8+kvR_rrUAsD@t?MSDce8jRI3--w%y0-7ovr@jl2L zl;Wd0fjPMIri#P%;cn_z`|xR2_8!>&eBOs?Uu}PcGU`VN8}-L(N^{qZa{7UdDL+~L z8hti?$7%d((pj%B!{|!`efh5==*vyC)c|gIdye9KR$p5|KCr%LvXQUkS>&4X!i0A6 za3)x1$;HyOcAdjJ;k|e>;hONTfh$41^Qu_aDR7zop95}de-o}shCQ2adJ}sJXR|Jp zTeO}z6dZ>|d6)QU{?3!aTa?3pRg9L@}e&b7O>$N$E+PvjUYz zWt@+9L^qGEFp)zC58n3Au_FGoBaUARbnn?c(0%%&{s&tfUPEiGx1kt1*q>h&>{tiT z*4w~^K0bBBhsz82!8`D3UufYq&4rizaHS_vT#Rz|1Q|;Ly`Eo1j|;8oB6g4g-L z>n`ARKJbzr<9uK=f&4BO_kfx3sS%h7j?lKQ^&j0=m=HgX^?zJmXVXXr;mHW%pZ2_y zFqA4zn$|6!70k? z%tH9Xt~W4d>@it8S1HF&`v%%l{o-jO5!%Zz?sn-v9o@-H-fKQprja?1uokt3^z4H7 zIkaOs&mA3WhqZTT-Jt)sxMI&NjElc+6#t3L*Vn(hDsID1Te?KYPn$Jk&nzs@IP3jT zdNGZo2s|997vnj$0M4Zzvnn5{z*ZEU)H$hWde?KD8=-xwoLm6%y=dM>zP9CDcVR2) zT-G_Pojf#|Wt|h^=Vt>W)16^pseMWFHKIM!75xSIKrJ0=?1}$ z)Y;@Zn2613Mi>5UtAryjT}T`w?@NG*$|y$^G9Pm5>ilV6-BZA>)~#}7ynn_mt8!(; zlH*IjS^`g_zsMt#{H{E@nsz=<9rHUo%}wO7JvdF$JiUoEpuC*JI-&23A(R2XQti~y zo^QVyKi3YAddFsZabG-o@|o==@!zlp9e60t zNHp59nfl>z5&f8C;lVsGmKj}jgS3CL?Q>uInlrEcD}3$C?>)f&SYq3M;gId4R{;)v z?L!>Hq&WsA{961wXP~Zeslheef!31Jw#Z~Cct`TO$Um| zjSL@9%3Mu>zSTq1>kdNyKl6_M^j~E~FNFKGKKifyL@`+t-bh}axM;-C@OAMatV`qd zbXOm1B&R%b$I6LI%<}WoX4{msnZnfzVSD8bi_M(nE#?Q$H<|ZcIM1BRbw1Zs7ZAhd zp7C(7c=aoP-alUbslOr@CAAOqojW~ZjuQvF`$K*4>W`}&>*aqcUVY{6SO4SZPSm9;oAK)Rb7tVI&$pPPe}P@&Ozav@W7pu`%DtWYk2hn_ z;O@n%d*>-diLEhd%QssYWA0P%s>q8|;p0sF*?jgd-deT%P+0u&$*fTW{T=46RmG^j zpmMC$EjE^gZ{Y`}>n=72o)K?(_J1<2dcN@67q8woP#gSTE2>R z(s|I=TzbU$xuc>^KJ%+fOLJeNoa3`2aOHi!Jw-?k+_T)KX} zZ%DP|V@dQM$W-GJ(zzU7mp)W_bhWAWka?=hu>q9(Y=dw51^yTAdw65U?%34D>nMg} zhtJ>i-n%&?RAnP3S37b_E{dF8$Gp_>>^qNOlXv&9;kKSWor&5VD3kd8RPl>CqB!um zRzKW-9{l#jl>6RqU;M}+Vz!Sucb-{$ON&{usmY{H=UkQlZZcE2d+RA3`1}sxe+U`J zBo&w7@NQ1u)7HmUYsQG*B;GS*{k^9vAK6%yjhOk_U|<1pQ}cI}$LHt83yGHxMb;wk z$nKJM&U6}sjkFy5d}Mm(qvTxg7B(>F!mh;*r%amGSIw(>y=L410Jx{E~SnUz9@jkUR$NAkS9p z3Yz1Ff%iMX`ylp;NTM=do~(o)o7h>BJ_ng&W*2k6O7x^-n&V%iHP(wyi6e6?KqrCj zG=q;4Yf$oyWDk`OQSLkLH}b!M&RF?}xE%Vx+Km2kba6C(OmFmdY;ZS4dd=d|G1jnn zV))M7o!1sA4{|PM`k#M2HF4VY}tGr3Ljxw!z+o#pIa3J^!xCOipnk z4Z;EVhZuM7T<(Q`tSC&OztXdwu@gQ9xGUd&EjV5OZ-9?{v9ibQwQXwND`|6FhO=iZ z-M%a*Ilb7d^7(PJzUwES#>hJTZTa?#a3#M(rRJH^8qs2eUnI=5fyr$#M+4k=kap2kZSC2*Z8R9t}N1L%I z{+qEr-@90pvqfSK&iQ@s1f$KDl(KJW9Uj3xitmqb=ChB1GvG@suJ492{#m@y40{f| zH)rqz(E9#y(8{A%>x+55ka-$-M&8rtV-%MbfR+hw)$f;X4%@S>8=~?dyvX_uYtI3{ zyX#|LKo@qgja}3l{oPIF`^&P2cLxKvZWoN|@rA`_c$EAc0%lUD^dRv-qx2x-rQfTJ zw`Ha46OSbvm99_v-}OQAqa{{Da|E+Xy57UMwC8&KM3VRm|JfVWjLCaHke?WMM&5G9 zDxOLGMt017?_uJJXp8lk)44E#r1_3?DKWK~7M}rb5c{(hyd{qf{S?2Y*d_Kf?(#$P zdG-)i37Aix*?O z{qiG~Cl{i7xWxLFXk6mwB+Dtsoc6pD^vUJeuueOTGhX8CTS=Wo<@mE0*G~Z*9?QHx z&!ce&zw})Cb7`v&4Hx%WKA^Hcf#Q-1UP-zjH^K^6|3d3D90`6}wbml*u1^61t9 zGsP*^Khk#|Z6mx-AO+u(Bpz^CS>dC%I`&7|FQSY~`V_%eyr7=d`kqa(`qb&UY3wC6 z70+25e0RW9pW{2X^6Y?VJ>GpciFYf4fzI}zv3Yj1-r55J_Lu3o0B5TcL-C!aKRI&O z#OcEdZ@O?;;SGslg>n4f2~CH8a`L6{8ye6xd?Djv&z6kgu1V-lI(vEV=l;Cr#CCYe z`Po}fPgCzjxxL_pp5NiCXD@XlE9Oi(&AQ{ zl)$FVKCir=%76Ph`Vyp{0p5?`|0%xuv#Otdb}jhF`-yEfTgkkZx8s`|#qO7O&j;hK zTwcLcTRz7BpQ$S=Y>~{%{Kytm$@sNrixz8bjN;p4&)ZWNg$=zP-MVZ@T6d~j^^QtE zk*`Z*bK|Pzx{CVHITEuv+}0%}Lv)h9kc z?QXhYZ{aoG>3_YmG(Fjt|I+Q^^+XRGzgh9Det#d?j*|4@%x?OjI>F!iD0;`3_Ji|n zZe-0_k%31@9cO)w>(b=Uq3s6l_@N&x>d~G@yLxL7s;qt=Ylq=b&P1PZ?N`a)Jz2|A>Q> zj~wLr$b+;yYLMpv=m_-8iLH%RX1ZPv{7;QMm5)|sx}xQou2cBGmS^%; z)VvG^BjMm+&-dfk0dsI*`C$9vY#==|`z-W8Hkz9D)%hs>H|>i%tqm=W&j_;IM&2K| z7dUYpdak`kcq7^=!P)2^cn7nipW5 ziSBv(Gx6rw3miYT{W-SLcOSJDIh4J?07GNvO!Fz)#|3_eFF2~;(5dBqZsFzq`6 z8v?n|umEM-kh{gZ!H@9Wl+N<~-|Y7#qW`5s+<#AwuT=l3|AfHid>}16O5}C}pL2Y9 zasca#rh4VB-DB76(%GX$oI!d{c)_l2aI+@xEMwROdV*`B}-3YmftbLQctgG;| zvclHPf@~PRM{#rUqSY^NWsmNJrz=gpyPqvn_U-$o%9gnzFZ-^_IC_PJo#H+I@})h6 z;fz7$q!(D@mQ^{=mWdsc7@qhsJcA#eAL%p;MqB-YON)ia9=-;^SM3vjJC#0m(x>(n z`4JuOwzkSK*ye^2>&HF3^v&#%v^Ro2=!`9Lpmc%4`*TKXjp&)R6{c8^$>*_IIySmt z*w?Uog#$@^M&g^dmqvcM9opmCEHAZuUcmB^eL165*9ha-3U8nt*)0A2G2{;#5qo#1 z`lCET{rZFLl6|AEKT-M-I-^0E;c`#AgoV(CSQvx$7?#P^%98Pl&w5tLB9IceQwTvhwfCOr_)q^6-hdD(>QCCF9%-?G(-N=qEXY9$La#(0}3_=udL};dIW89&oOYcw)&>PyZZ0 zk_7s`$ah&w)6qHLcaQv;PC94ayd&(Ld4s`5y#dczFIOIx*mKIL~jnSZ;03&?`}*1^?7n%DBz4!a^K{m zo3r0Ig>$QsNjyGKKK6dvL*CfzZz!|XS7zIQGCL^qEM=x~e-QnR1HYm1zmMCw7@E4q z(eERHUHuTYS>=OUbO79Hf!8A7raeeGoMwHXtb1i>@qT}KYz+m2oOo<+X?GRZ;r!*j zy*&UPY5)Cq_`;W-t93rOFZ{h9nr|L1?d!kz80qfCqluphf$xVqXT{3_5=b)!jf3@G zV)4E?8yd-Pc%W=8GD*AM!N<14*QS=|hb1*$&F>6k4EP3kIult)+u{)yLZcMlypVPH zMa~LXlr87~2z#39_v>r)y>u5Dvz+*Ve`d|iaN>CAlXMO2!RR(PpAH&X=IUC0Zu{Sy z4;3x$3?{j=zI(~-;L!nZ{zC9CwaFEEc*bt*0o%l1{~4SR&4uoD?V+E_9p>>}iU$kE zfi+9$j(tx?jE+-&&LD`usV}ZM*bJPA)|^pC$aH z&ev+rLw~B*VY^#5hRe0zdGSym`fur$yQThkJrx=r2>JMYl`!{M%=@<2mrp}SnIl9=`m`V5u$JS-f-63yz zyoj?wuvG~U)QTi7m7&Mqu|?^^Xd_A zA7UL#XXU{{djNc=9UD40WRyNTm-d1HZK=G<1;Mv6WSPgUEYp}%ZVB5jyH|L2+y37R zmz}-l@Hwn$%clqHUyrvR*L|qP{Aq2I`5V{$qd1?ra*0WEA8frzr`WR2I&V<=Kh5)D^_doyjy_ZC z{$OkD&nK4^T1-o)X>ZPJjhVn={05wLCR(BI)Gq63|Ng5yVO}mgtIwmn){*iH3a8aS zXqnC51<%B~LdN1baKfGmj&oIU)o?+ZavO`LD+_jGr z3n)Emm&XfUcz=^=IC_aG`bLupaW8P+Jc2V7@58@_djuXav=)C6ayI($RC}t%yFfI+ z2d4-&k%;w~aqNcAl559%KM+nkp}RX>dM+E|h3*)pFosZT`>tX4weJeAYTu>#_vT?> zF4jk=-+Mo>{yV7u4qyFmrT&QW0iv4_9gJ6x?TL@A>xqX?>q#;mogJPSo8C3OI=$CUd~1B)E;t1Iwt_EPefYBPjy^n_ zcnCZjh@aOUqKy{XXz{i2JGH@BR#5-p@Jwfmmy$Cw0%$gehPlw z&;3Szr@3Fq?*{Hg{0?#7&V5t)60_=F;@G+0%*H?1Nb)@LkKZwZ3P|fnzkXARCL4 z$Dj2$`?*)aV@Jjk9t?zgvBfv%{XjgQP2Gw+^=$Q@rEbZDV_%eCo8NE8$&IId+gtww z`3LX$$-p@@9GlbEusMY}xBVV+dvgCgzgKei;4gk(v4Md&_LyCLaT)L~w2l1EURA>L zgT@GQ#+i5(n~V0|NH~bz>}_$y?=ZIJcoE?@g21%!RII8n{5n$c*~Y-h~ITd=M21h z?j=$3x6_X1Zo_2f{IGg{v+rhg2Aea$#p4GATBX@4dzew2--&Eeop3Q|V zCmYCgY*W0R>|xTmhOm#Qe);fWi_Vs#V~=pH*;foLMPJQ(#i8gtya`ESXlPe^`vhpb z6MO!z`S?VKP`^=5Up-mM>erD)ycj&4VUZu>$e|^c|LybLK8G`XQ+r#?gkgO?XUaP1h{~krRGH*L>13b<$|tZ0JBN7oKK|(i(T9|G9uf7hUN$H1h9-fN zsRef4hGNb)H}+X`;H0G@P0yE~Id$V&|&9!Liw`^_A3-B)6-#D-+&uARB_ zpZ&JCaNyj%-JQEJ?%e6@w_cS4mRc_+jjRI=@t=33JVTZr8!&I;`|Vj%{pM}K0rU1b z&0E5ow*}VTEB@{4i}wx6tL^~4+ko#*#`<))3ZVEg9>(>M1_>&q>CIN7QyE*jD3`k)=T{P_mv$mXY%zb9+1 z@4O>)FLupIXSygq#>&43&og(d`(C1aLPI{@7?NiOVoDzpBFdkVdxS;*C-+n`A|G6i%^h0~~EuRYQKgWI18uAMjk>BXc&J>t(LaE8N5+@c5U#y#`oOH?C`_N zh0w&flYu4XO{?K~x%+vkgPkd$Tv?LarjB9ni%CyKZq4Yj&IcwsdQogV)#ot2dbeEN zfO7Y^<)i~c4(XEKX`1EH4m?w!7r3acozebn-R9O&@2jJg7+S$Iz%$We|Cs_O(I?3o zs_WhXb=~aNCBN`q_CoP5vJpmnxH^|_=lbSn67%D|A2>galx_5teHcFz`7(d_dF}h~ zUIFqSzyk^wrSrb-;XU0o7q^(ujux}~BF-JIFt7=-l^RZ-fz|1Ml%Qa zmG4fh%J~-vWp>X@I6zvVG zZr>H7&G6XvUGeY(Jrk=R0PdOGq_Mg?@iXFIj^Yf3a?TSN!8r!}yzJo319u1$<1MIb9o5vV}V zUY&H|44oMzxW(v4B`}OZQ*|yyaC2L>ciAI5n$vAr^-(fbBYl&8w}rkn(?=5*&oVTz z13_#w+FwlSi+TAmD0dk?Md;qeXE=BmjH0t8XKFB-9^K12(VXmd*UeDOMKAT$u+F^w zY$-HwsgDN!1s_K5{lGObhq7~gWm7A)w<|uTE&Cw+UR{{8LpVR=G|m$#;hd3p_{^TM zoGDUz+3H;rs~dVIjXev!Su6jy?wT~Vb=Pf-{o&sdm$wSN;on-#^|zBZkoz~jNW9+O zR`dSbn#^qO-d?9OVCK4XGcpF6neb>Pxvs*kDg6|;bf|xfffy&s4h^^~pmm3^7>3&q>s_N=#;Zm_gPyv#ECaKkID zX43K|GnIR<8#^t%oaI%S*ICDKMnh8e49+KHe5Fz3?)O(%-CQW;@c!cQJUyCVZ{VY} ze+VXykAou@$R6P6-Y!+%mhcApDqhsH-K~$V$rnY}Z2t)OpmiaBQL@E+;x>tA%qyRO z>J0kg(2j!ssy*#TUVEYw+bs{TeY}yYPsS|oSBDdKcDO!6x2(>s7nlufOFB0_-|*K~ zv+h-3c;Opgu36ib_2SZslE}Gn#+c4@{rtu~?BVHb99RmD>5A71-kCkO(8joATQ(kH z?~kHKf=?7|j{QK9mEW|_w|tv85M(&z^cfd*_=f*Ptd;!m1KI=IGr7fc=nphGnqVEK zWXsER#gQxS+%7qDbzbsk3;%1~XuW9Nz*FV?d$V{N?ah{V0S*RTn19_gUQZj;Z}oAE zduo#0((H%X?WN@LqI?oR!9DmnkdG_E^Q}A=4H}1jF+x8DKTp3HC|a;XJ`&m_K_Hj!T_E8caVsjz(YYTHlKJ#jDnO_Ixm^4Jf_)8niitp~r|mc8YW z>&L@YKfXf)SOaRmg*DJZES`fK#nkQBX9ikuNR!rdjFJ#BWDw!laNhL zI#oUQ@5STTqtoyLqDLEy=i|k^F*ow@sy`kdFYyaQWJgqc^e0=ic2A)UnA8wM3Qg%c zmA=*{7G?4M><;3yP;74BA)E;k4@|?)B}h zZMH2(Coymz-bC3=zOrSsWy0U(Ls8>8qCR23)i>QuIQ5hDR?RIq?bk zw+u=v8eb7DH{Gx3?xT?b=uI_xA>E}Pvb5tc`CSSR_t!~Z@;mkh;4Ar5bEN&_wo4s* z!aVNUKctgBU*+iY|5SdLXzo9s-{r2S2hZ>Fe8++LU1qH4%kOd<--)I`hmI(}%j48H zFu%)Ww?5&>Z`V5cUApt$Tpc>U%jBo}=XdG6{C`h=7wHhC%Rip883ZHtYy7qxxm`96 zhrajs?fqwU=*LjE$A9|wbJ?w&kR1U-*?@*?M1if%;42YN);b;hS+ImY2Hm1fV2 zvad(RMmXoQqNnB@#Y(Tpr`ZF_eKbEPJ*kh5zXAO6-Vdb1ozUSLf#hkeTy)J@YOYZnw z3$l5k)x3F8lNrbTM1BXkKeMpOywJ@Yod3p`tJWe@q%&Re<=mZ6P8Iq0;ID;`op{Ef z;0t!b(`X+!oGz{N2+M7;{Tv#dR2(0GV?X$6VZspBSx0QX@S%h?sN6Ds|Mv#kJE0mG z13a%ukaGlm6L}fJwe2n06759^)_+R)G{fZ&oj7LMyBz-T;Px(ue)NxXR@|jzDe;FJ zjun4+Nte!d7XR3L{v$hnd2w0y?iXA3`-p$W^$~C1R@%Lc>u^5e3n}C2DazyG)f*Kn zxZii|aC7eYcpa{sd_#qoLxGRtnG`QQLw&b$d;i?;j;;kiZpJaKvAnSE=y2hEi^GMw zCE>#5+|S~^<+;*Apk{a>aq4i+xj~=2t+X(e^)5a^JY)(V=n2pXV{OKsKa1lx^H$2% zQZ~SxsH}2?mKuDFqpsYEJgI*D7w7MedjY!zmlvB?M}OMs&)eunkbb+R~^p;lP2n_p&tKu()2rOad4TBK6-vR z|C;VyeLL702%*#Z&Oq34QCaua=UU9hZGE~y!Mge1*f;4657xJ?I;U@sU4(rJe7QMS z+8w8V_4Lovb=lZW`dGuBr#;|ptf_n5^HAOn&mZ}e{N?adjw+9V%5ZjaRQWHE^WC$_ zf}Bl;O*or)FLZMV<#%U3!2zqkxg;k&&QQ=7;WD(iyAFO&G7r4)Ljm%d)=|IY6;G#9 zn_8Y90i7rA;>ikp?alz#x7`Vzwi5^11>DI4t=zfjsBA7>_UT+0`VveNXHoRs?c@(Z zm!No@ z+uL(~Hr!Yl>eVc3SmkN+0D9NX`U4I%?aj11!#4;2+P-(__}7KmcQE#kfAYw2?>m=h z&vx{3ZRk_{db!1xM?Sb-d%pYLua}z#4_&)qi7Dsme0+&{rK{E4&wVae<(3vx6V+O{ zNOtLp;_sGqd+W)@?G1J2@@z`y+PK>R21v$=AR&j!U|_Cte5qz$t7tHs4lLq&WB46DQfc z_MhdOQgYunRTSHt`(>0|JAm<;E!yT zFVY+^FKapTub6kWyem$2oMUAAD~Yd&qsVgISsxg|5>-_L6GJpn7%`&w?h?wTm40VeTFdT?+n0 zRv}A+L+`F$+avsuEUozwKFOv6UC)PfRU0c$j{~0~>6UDOJQ_!v_u@yG>ADWO75DX7 zwgZ2k70*>ThP~glVS2WDLt=!=-?o|>u2+7%#N72#tGR<~GH2qAAXgN@&N z?&*0wzdqrtbT%5d+7rK5!g@J}|HrZSj~m0q8W!GqF`m*H$!F``;B}NW|A)>#8(y0E zlm2xl&vpynp#ul-4oPe(n&V{OScigt`^YDh%aeM2JgJFl9=UuxspfAnyl*hB`TOVW z9u@}Jy$0GnyyuBcE%t24*55aojlY7gc6Hny+^4}y7bV$qQV#4-2i{um>9^wZD4S)J zcnA8aJ?80VovE~iz9#HB9onxxMLCtxd+~-p@s)wNg>62zr1GmpklPk?>YMBNW)^dz z|0NrITy?Mpr%B>5ub*a~v*VVZz)I@r zOf1Zfba6_3YO&*X%E(_)K8ku?>Xu3S-pfxw|mZtl->uIEc!8=vc&d->Q%&tTVF9J>Ut zQ(r9X&?$DbuE)1+1-w$<^Gfju><6Q;A(bS ztp1LDX7>)t4AWjQwxUP=D!s^iD_FNrZ7P44F{w#@{!}rAb?~S7kXxEiN8Dg>1|BA^ zK68#G{VJy275A_w!Z&&Q7X3m_;e756_M%ix3e^F2svdM^_ZQ(EHQ%JPD5;7oUD##t~$Q&TxbuDrE&N~`dUHUfch#P_2eVyquP^=QSpQx|IjR4cYS3f z@5n|Vd8Y<=6{o?Yc4$D7{4T&!v<#lVI!5lu+cgVr?eItEx(}rcitL^0yoW1{>SL7=)(xD0asqH=Up9Fj7w`P1?)yJ zPcd*=JUr#`b?V5Ej}+yaB9q|(>{-0|>xKKronvj8S_>C4m(j{|bBaBa9!%?~o;r?V z4r>zNL5lww>rVV@cl!KmUm%xF6j(s8yP@wnXfkay=6-JF+e>o4<(uE}PB~&#&V%>; z)N{YDp7VjX=w4)1sON;zU|~7$Rkr4Y+Pi!BTCO2LT`b6JVH~S>xU9QxF#Ia*!=kQt5Ju>Ez#I3z$4LA;nb94OLLz9 zrw+g;x9`Y^;Z5*?n_M1HaGc`e6Z@s@zhL1X!(EiW%UAvpcMMw@LtTQtx6@}}C>=uy zdaeoF1M!8~TINr3sdNOAO$BdHHvKB&5^v(krc-^g>4X&ZFsI|Vdw3ywJjvq4A_p(p zf4W`%XTpmJeN%Z4FPguxkGfPfG zpI8MA9(cxY;$%mM96=6{j0XGK+m>9P?Ef19!lSNVF|~%5lt(ay*(;?&IJsIi$1No0Wq#2yUso?4#0)$_H6A zNAy@a5YtX>hBS4VcV}bVp&`(+UP}u&JFa?ICf*rHkP{Tz?BJ%8H(5CJ+DLGd@s_wW zYwkpJO>xnz=4?Y8{s(*#?GHyCy@}TIml`DdH(R|)IK5$eiTUD=amnNI4Xg{vp3?0a zGpVzIGongOyfYS~J>)WI;~6E<`8I}RCA?`Qs(jeQX3$0+`y_Fe*|%_}aSS-r$EYtl zJa3|tJA+B-Rxa%t$GMfm*z~lnZln(?S3vpFYrdS|iyWRa791Qo>!Ml#TV$AEg$Miq)epKIDKAW|ZdUTt7 zCMDYmUoB70I1K+=yzVWwI;R@&r6%R<{qkW|-WmDS)kHj-$iEhQUXv7!8k!gl#nF3v ztLUpYj{%$8azXYS=1^+`dT8(a+`A`NzU3u+R32$D4Nt;nzQ^%_@O)6BDZAFY%JJW< zO2QAurJF|QNPSwPwX8q!XyU^nw8Q$!!uRUTnEWRy%W_wYJU3Uyyl5Z1f$xIwV&|-0*@tLC3028A@zZ3uhQZ#x>vVN?b~V>S($Y*eN+i}41b<|_f~w>qHS3(=0Wie zz3l(cDjSRa#_u>frm32D&Pw{?R?nBJ@2sR3ra69ZKjJREi*$o+DhJ-*YxxM_j3Z+Y zc2<(jUHwnSWPgfr_+zp)zZ%z+8~53Bj3VHU|12XnPnXMoFL3$qgZnVSAHjbQ)Z;nv zHSn_4;y*UC{x-92JlXvC@9!zt++@CIt96#BF}Y}@ExR{31%8`6aNu8@eeKh~;>;!M zyW5t%`>ULRV0~FG$)$N$$-1&~YXW^MIa-k$Mus8_M$32j;&0oN{nGl>?{#@e-adI^QBg_0>f`fa$^OlK+|Y-8~?N zyTAY0%~p0e_}n$Q@BRK~pBlvf%xi1i7Wk7>h_}8HKIW&b=G@u%sdD%B`w7rn`3_?T zk@l+szs{?vU+dkI$E#ADLF2A@t@pn~ zoU^JuI&(F=_Q#IxJFEH=Refhwi_WP1QrZ`N|I3w!Z+|cK%f2QYWG#e+&-x#{gw7;J z5yx0vd(4`A?WtU){dKr0&Y-MK;Li@7jK&x9-6haS?@XdTox6j32cPG`)@Y2gG3soc zob|yy#&x(gQZt0O@12GDkK#Ug0r$sJc(D8yHshV-H>qS!L}NBSP*$i+dgs?Ymw)rG z9a^h(8{&KI6`wf2!p)o8e@%M)$;G@Etv*@bCdoVK&v^omP;3_Nkln-P$|J{to!c89X zbLqGAr|S2&|6W{3Ggo)K=-@`tU7WQ9Y&8zityKwPK~wM+8Nqml9gBCi4}2771d`K~ zeNp)|wI`KPujI$FxcJC*;DP^)!2Ujm+7|-gpLo&w%wp`#tX*IoONl-l$v!tUzK?2C z?P;${v%jZ(d-*BA)O*i9+fP3@i?XwPW!C`fx}@rI&KK62QoUj774I-GFWd;~9vDw@ z3w3C2z8OIO!u$x&)_;|AsC<2V4SDx9pMBu9bqDX`3zU7qSN2otBX!AV{^Oc!`ufAa z@9W1ae4le_{Cv=ZoLM7Xd|!SQ&f2zXTz1lh`4YSL9{e1+zuEdY3*E&(;m0e~dBKZK z=5nr%4Xx(vUp1MnC$^Y{vzpA(j#l#_?$dtUYN{_sr@(zUzk7ewYM#4{a@-&1`Mumf z#qW9CfA~J~#POYHZw!EcqIJrXBAvj;?n7sn&>1P;wR3Vha~bpbgUf!t!3U>%EKKEJ zo5&5E_Y7q-zOrL1OmDMiz{TO`MH9y6USrOj?}b-4@XZarZ@7#x5o6nvsQ(#8awj7eJ1*#eL(i% zD*7+kUjBdW-`LZA$A}gaJibr9wYI9b<_G(5l6gx=j!5KYP={i`i#by$MEp@C9O+5Z zrhMWR-z|I8DCp8yW1cMXmHD*##W+M`qTrqSF1*usk;?*ntC)dDdP1$yo<~=$M;F&; zBaj_=w{Na$?OY9RBiKyY&Azf<#+RoqzC8c4)^$CRy?^K#!+8^GTY7sF&E%fF_tgT= zpqI<@vb%Zxs>JWFj6D`#fcyM?k$ush10`^XzBE!+ezTrz(xkr7&XxDQ%06Yf3oC-? zLYy|$m*?n{;<^?GXvjN?$2|7_@P$QdMSRh+&z87;q1!Yrypon ze%ogcv@3T~j=prM5897nzA`YCkWTQ1y~}S`-pV(AyYjD92jd#duKYajRJVBD*Zr6C z|Fg7lBzEQ05BmIPMMtG~i3vZgT~_>$&M{RE!2UeYKzXdz^)DF;zNcmg>k{s1J#Ia> zth?&|K0oHI|BsIKE9asMWV~0tP}*JpjTUnS_rvOcUA>RujAQKePTb4pyw21Kn1~|> zxzAOXCtrr#XD10ap<~2rhojKKNiUEWEsac>#9oJQoM_Y-mo{iV%F(Atry@PTO-Gd# zv@gjHA)VY9cqQQ;IuFZdMOnkDKZ?Jc^mWnXPxDJ-rG@1&zKJ?(O13ARJ7TDBFR_aA zpbr|uBJ9RDP|oU5qMYTVGUz-*v756d=EN67!UXy@ zA?nnperZ3*y-8;{I?sN`|KCRj@3?)5S~KenaS ztmLjT-rke~R)2lIw6KHmI6nC%H}#|``+a*PPm89`!XH1$|FhAb&CxSxSozmm_SbWZ z;#7F%)w^XtecoPX>tWnl)3amL#s9VqzFmKB%YHjW#?=c1fUj*Yu000Y9_h@rFbDIH ztEI15%KzCIi_H=WIzyO(qS?t|9UBs0<-*>`FFm)_}qXwewf zeGP4tF)oe2{`R2NKNR!3lD?{+T4zO^?Hx)xv}RNMi}{U-Mc`^sqeg4#zft zed1bRbUo!}12_4BPsV4&^8*+BWXmp2by)b%d_y32^}5o+q538Hb{lo8U+{mHM>cLB z{O$jkGP0qlUG>4Up=eG;r~Nh*^+W5dgnqo|=(g;S$u)GiK0NOBK``<3tAq7pHRa^< zsY;hl+us$>Bs6L=*OMZ-vG`{r2M!C@WtSN;pdCwUMe3#T&bttZRmJ( zZsQ5Gvklzo<#z||?2Hc`PAVQiF!jzG-3$#vw`uif{`ozZahv0yTXAfhy!XyA)%w(0 z9tA#buh%)I&Dl9TtHD2Kl#4H;QXBGfQ*HShxaM&+P}llur>+|)JIdvo=DBr^q^>R0 zHIlmK@~qxh*GTGWp^j#*rCejEE9KVJ?5j)ryZWWN9(C)|{y$+rT`Q?$IoBOrBdDv+ zt!ufjt~-2neao$DCC{b}sOw(pxQpw4u2;ilh0bH0G2Z2?>waHdUvlfZmuIu6%bNp@ zaXodc<9e8D2X(D<>sm)y5B3kcbqV$@)Fs%j=h?Nsx&-@;)UknU6W6oUm2m6Y;Hzts zudYwJb#3I?Jl_~q*9+9Kg=;I)JwDZyvY0bqV$#q^@_hcjh#gFYsJrE183w ziOeWm5dra%kwbcV6{S>~~YN-dugmp=^Yairext8GB&Up2AGl`!x1Z zeJ5Sj$};c@zkubhbN1?O-^g>Fj7jN7v>#a;~&ehq&-YANZM21#2E}hH&4OIwAG7DAe{T9%79-QBK(tYpecb-7r^7o^he)QtQs`=cBKdX4J6!W>w zeb(td>%EzBZXfTXkIFk0vM|zlxQphO1 zXj(-40q3xA5AnVcx*^5v%uklt_ruaL}Q9XCX68q>_`8#yZ!PDZ#1oD$t$b{QQS{2RAsyWx z#%kRx=#10HVDgFW6M(nIQiq*O{A4bcR5m$3ud6X%NZTjkRQa(G1#i&ikg`1i5QzOLMh>a@OY!TQ>czw$Bo2$B$Vug?o0gV)ANj`-$9! z#C*n&p3?Vzg0F9)$Ns)47OsxIHS%0|aX8)K7Pl^y+v=-}HXnjd%FYu%MSUB5R?g8p^#ux!JyQ*A7xnIQVnQ#fFe)9yf$_3Aa4^eDr7N+P~Ifwj$q8c>rD5 z4?kySbH%t`d+2j!BiC}SBv(CG;=We%fpeQoE%%Y)oi%C z)okKQ-`i@IosHiv_sb~b`LHSGX6t}6RKE4~{%5FE{nD`q`*WVXce3OA^)Bx6C%~qh zAE9!rZ_lTomi27?ztZx7#r~BhZz_2@gzNY+K}Ynv|5++pb4PL}$BV21zyFtfKjr^5 z7Wx-Sv}I4m4^{R|{~2;?(a+xxy%w!rmuR;AfL8VMpR#)z>({eyRwcAHhsK{EO}p{~ z8_RhCDcS4kulC@JfVbi~rvgWldN%*?GY7)^Z<8E&=eT>mb`Po?@DAuZ!PfLY_eB16 zg7rTOXbNNV3fVf-*KUJr~r7;DG>0F2eH#w^}-;Q4cBeREI2doMcej~m#D z{oa56+_&fBKcTwNo$al}Z;$;i#N25PAG&={LHBjqpQFq3Yh!A2dM?eLAzyI$g)6Us z|4i2i-(Gd*k^Aipr9Yl{3Gv?Wv5dJ-hb9;qeoHnGpJw?t_q}vzZ=k$q!|>~c2j+u2 z(ej=L_tScv``+)5H&Xt1zI8UR&MOa7=jDUcdFdg1{MLU9AHRKz%+zl-nR_PSSFi>; z_;$|T;O_bPH9!jko$x1t_8m`6D9@SpOxLCf({h36)XqsdqqW#@mVBZMxQvy280u)t zR>hvmM>B0U7J&R~`EsrhS2%_~A70`Q=8heIK;BS&sw;%Qh1Pn=#5+sk7j)XQU#T}p zy_}Cbc0p1+3ig$xDIS5({D@@c)?iA{F3p)vWLoB=v|?drxmj#^p<=Cn&PM%FsS^ia z@H-01rz0A7`dm^%{H^I85xAw(1m<_1#Q(wt@&s4w3>4&I>{gksN9wSL1{UChkI%~d zX86|WIcOoiAWmIs?@`()4J_=81Qzcwf#%MT!8fOKb-palSQ*m@b9Sd>o=`N?wZlBH zBVgLImE;H5VZMT0;TNo>$MSz+-hyfR$oD4D!nhaj-}^j!vU0UYlwPR<9Z-n@R#C>3g7$HRxV}TbE8txX^T8V4AApxSK*7T*rdjh@V%p)*u@Cn2Kg?6?oRrH6W>g}lt>@XDSuu+ zU#C7iNSl+d!w)>MeEU%CAED$q*-hZV%fN6`LNsS+_N5K1dBL{`xcYflk5(RzFZE=f z!t4NDTMpBsP@$zTcBh5vPG)5qn3@JoG(slXm7h$VYlw zc*U;!g`*kb4-@pKI@(iJJ%1PNbO$o6S-n?%vY|@$ojQK4&0`w5uc+s-vFm$YX>ZH# zjJM@q<8E%{`|+lyh4QkO4jWH?=dq)DzI2LXH(f^GPYti$C0lD9HeuPu|TCDAGLo?zUG0Rz>}vde`>A_Se>@&rCq0BN1pi5A9~U+p4Rikc-NNOeNxZlCr!_! z`~J`~>BXaa9_=31^Z1kN$U}N&&$JsK=y}hRz1W%?IIGA^mY>rTybDCk+S(oxQZiM3^)u6}#Z@Nl%}nz8Tf**X4gJ(`oEvC*F5@zI_- zo=>E|lP)7KHvO77e(eeB%cSuC$KLzLM_FBY{CAQ`G8uwQFlY!t28jt+D8h(wW4ho1UWo+%%rM9K5T9#@Xl`5s;(pFnbwVlj3 zB_(D`ySfFX@_m1vc^-HO2_{{;-`DH=`u_3cW}bVWd(S=h+;h)8_uO*|?YH0~XKKS1 z{9*IHVasVP)Y|R0-6_P_|BT8bzJg;ONP_?8N7GqkmlH=v72&}h98|{ zt=L{V`F-bDfU*Hs+2^s*dKen7m;6dQimfJoC|@Bd=2DzIPhd(W#a>eHiyy$=q}c3R zMV?~acq*5qJ)Sr=GP|w5oDDpl8?b>sv%F`$RYv-_S)3WBzO$Y>M)LlC-q(R2=l%WK zr}DmvadPUFt)Wx5huF|w@>d0E)2_2<{B7wX+V-Kx{OcJ<^Hgu3!Q_=Mn?seUpp5o! zXVnOdK8n zzcQ(G)|wm90>5(es$+N*{vg~uDh}No;ZX~09uZZB^k6JZU9u)&e z@F(#m@u>e({uDD)%WVEs7IyKc*r@~Xr&gOkT{kHHwEqk@f4c4ne_FPBY5H&HQLWjb z@~CO>sNKl_w-Q@Ve!KePQ4!6>BRs0LA0Bmdf60FHg!@bQzm@Mkv)Ijk!{Jfi{;6V- z-kWoHR5!m*%$Kgsw)V@HuFZb94_|t`nz-D)qjTw;{}`Art*7jISJ{WK85Li0cv3xk z0r8}V%!}51)mh0J=C0`=Bw@1ot-tT(u3 zR3XM#`zZXE|Dh-}mG$-NY!bOA#MnyqkS??qIYRb1bp|-k83JRs;7~XCA~d z9#xmbcY0WS@FVOG?;Qo)BiXBAhWqZ^vyk4Q3ZCxh9mMBmKo4I0q9;7x+3StV9~$d> zV7(2~ic!M1-a!x28)E07{aiA4GiiXdDu~S`JQn)N%?o0~Lmvz4=Kn5UieQb$ZC@d@ zA($%BcDA5y-p!td-lS-yVp9mbMn1G&h?N( z6>F#n0ie?}r|Vx1AKvEBXyK0BtS;TrtPg5Eo|66{c8fZ5m@*RB{de_#;2dbTeri^0 z+v*}uT5_fbIqFf$c|*H%Q;?US&y0a4O+#|5X*mBhkGZPLG{mt@jAyWmoh&*=a7Fe$ z%18e24txaU9>+&sMmE{b{L=h+DEedY6v_UIdgIK4Ao8&0f#7S8cI4tbD|o6*NA97b zvYsurKAf`5lY*V?3jWu4j^mqYbq9OKu@`LT-MHxXoZeY&F}}V~K}OM;(i++?qTL6X ze=*wCoL0Nld>7U4Fl(+2OD*qe8CSs+gnp&Vmu&pTg%~|x-O*wx`J}45I zMJdhIR9B2tdZC-C!w(+cJY9F266rzX_}go7y({9~a^8hq?}~YM8}H)4sxzk;eO)9OJ2(ZO6qlnPxV8)aVELo? zCGe0o`D4>DNgnv2MQwcpSpTzmeJ@`F&FMdx*KR5Dr=+zj(q&@nN?KymLtani&-%zo3&X=qqlfUAO*7xSaq_qm*-W8uR;<5v`1-jOZ>-x%QCy z1^vOxJ;ABz_uKSW6>f*#$%FPh+$)j)Dap3zSGPGd>zs91zoA#j<>Ix@8K?G<+gY>J zjswq%KJZlW`wdT7kM_Tsa}~M^2n{=POmoMXXa7Yxoh7e;7H=9=k_E^3rMfKp$vApD z=yWD_gx9Yr%l@nFduEc)W7|M58Hx);ZnP5Ph}satbV)U za$wr*g6WeknAEOdx|;LxPvXl=Fla6bCcz>(*nwrvAYge|IAY8sGyG~J=Rm-9C*KLj zQQ2U-{Op{5-eTih!#%fix#xB__isoazl-}f=Wzdq^p3{GCU$4ST=bsBriIkI;a1bV zGGSihadg_!iO9F!7E;||H*tJKfbYiSR?h74u^tj%Tc4{A%2!?_eI{f7fzy2ODdu|- z@uaG!W|JN-cLv}Wz#UGl%mm`_fLJ(9UD>dy!S=t#S`W&gEB1sn;tQHblb8?UyJt|R z2R(3-^~Gyucl`-IUje-Y;u^OIe&wJy=u^$^1M;ajD|-Vz)jaUaWNbO#MHGi@ z@hO{l{JSPtWArVYRV+od#82APtcQNhguk zkt)7TJ!vy(Bk3mON%7SZ@cz{a!uvJZ5|ap+z@AZc@EjB99911G^i{YKKXr5y;+eJN zIlp~|K6NH@Uoy!*R7H@f!rZ5dVk6Vpk!$Vj$b8AH>aL5$GmH2id+OZ$Fm`}Z#)5KR z!k5q_$~N&`vq{2pJ9xLMyCQHOHs!3dlwTjfp3<-m(asvu@gFkU@A!Vcns;yT?kD$sKkp-6StWT-e&hT3a({W=@AqR1^BweMNA*6s z8@K^HNS|i7L-6~_o47v_&->8vl%wPEBbOA{jL#Q0OyE8t_x@@gN6+>+_B4+ZQw`em zR}zbRWZrm}bjhy9zMb=uE#1$V2e1X$&3HX&*@9^hd$|~#&qn5Oe7l<{I1o-q zg%=<7NbY!kyl}G2#>q4PpTdbHAHZ+F1aGVdcaAK=iN!W-l(L5pm-Z|NPvz#)wC<&j zqg;7dG_w|-@yK3ph_!+95`SbWGQVO+T%-N$2Au`!eDYRsS7z?rE8b-JNH&tK5|&@! zpDrr+`ZDI$sVc8BpQn7WS<_w8M~32CONPQfH7R>Kbc|kj`&dw{G>EB0x=?nH;Av=GPo!>-S!FSE10n#vO6=@4;HR&|cTGE-M zLDC3m9ce3RJ?U)HM$);YA<`)6B+_}LO{DWln@Jav2H=m2NW~{_CVhGC!Jhv-c$6o; z#P3J>?dFNU;N2G94TUFO18yCjc*-DnqVVkSMd3M617B3C<*+=Sr3wTA3QEDg=~mH;DbC%2aYVL_o z%FnEP&PsQ2G4xo1{3SW2mbIisXSJtV=eDov>_q!36Yhi;b!6U{<0F>&QTb4EvqRq= z=v(z)PJNQeym7@jaP%IEf3nWfd-%*U=&dy?y4N{;F{x$GgzUl#OAr1!zHVN({oLp* zX~TmDd%Aho?Rr=9uUePaLMumoEbH7-`qvWRr~^mx!|dEm*FL&J>x_Q|Yf&ISJ6O@P zgYvtn!$f6c^0Qo1bEWm}CEn@xB>Q*T{vEP^ciX=k?ce+D-}UzI1NQGa`?v8F>I>Sx zefIBKemi=umEghgJMhhGkzr$u74@tNAKS;I*D&AL=FZ@ZOZ`(noj!MR-(LM)&o{n? zmH9OYcY*2L%V*tI{}szmvFl{-TFQBfRe!Wk{iTDbpY~P1V&s`6Myx;XR*JDZ)BcHH@QCd2zE+4f@^c9 zn4jk)XaAP*a`ZVSY0ZhQJ-qwC7kydHw|F#_&E7mUTN>QGS7&Zz2iSKd`t1pjaC>P1#p+fT7>7!!PI2j#2mbC@~Q z>*z-C>9EaQJi=<oKYo@vC z7n;Y1*%Ji7uQMj)8k2Ydr@rL6W9D44Z1D6_ZqtcqD)=enftAm~*Gv za}j=Di4Vgu4!!;Z_>tWC?A5*_zFcMtXW;@3AHyrag~LDlt{LJrRqzVchhFHY zEYX4Al#bph#Cy_uqcZ=xf&B+MWX*NU*2}s-+rN%j>*>6Y_>PO+^1&MX^88!El#X6( zDo7oh7R!$d^H}?84>VOwUy35BF7-w0uK0ekMDt`FYs0!@)&}JtSsTdL*gHJC?_4wu z%dPdn<6qwE_%3<3VYvTqfx(WIDw`C~%eMZ7{yX5knslU5%{GoiNI;ca{Hm-@1|WwBC3ryNI%jTxEYv-KsYY%(>vPFh?jGah1Ko zRc{IOsWTtJEd8YFC{L{Jm0mW;cR|;8opu}QgUSdN!EGpKT; z=Nqb%`t~!o#2?UsW&Ff-cXTEx`jaFtO`hh}ni%@1FuD%b=mTH$A2T*9sC$L0?hz+| zV;*Jaxyr5t4#j;}|FzEhYF78wM;w{;8qV~`BTE*1%&Fhf_sZ7ZkyC4_uhv!H{s-6( z@Gjtb7o!cyo!=c>h&L=uvBi^*yD z!RDxO+s58=cD~Yk{+?HQC+^$W`yO;Lf$4$#d5KqgLwoRF!F&&&cCcr&pLq1l5i5T| zATK^JnfKy%Dw9-fjSc@uoDA>~)|mrmZv5YjJxv4Oo;{}_eOVwm`wvYo&(E*9B5xMFhxqlM&3oG}$j9d_%wLKPQ^tQ?QPbbdHH*Egbe0}1J`NZb;=a zksrbDjr=Sq-%I}MuKe}nYd@#=%I|gMttKxRSz+nXlvhHToGX7N`BB=o&SuD0+poCt zmypl?(t5A&f9c9=BQFG8%2%G+f8LdU6Zx?|Z9n76UqHUv6-@g6N3Oh2*m*h&Q{Glr z-dyt3riD-PzC+$@`%GZ}9Zz)sX2cb!vL{U~9=X_bFG`rl0-Ohsexs7}0Md`~dmibP z{GLQw#BU$zUr1m6e8PNr#A5Rx={@|ug>*W4~bN*YUJ-2Y@MtfAsTLrIGY>1XH=OaARc*an-bhu%@Q@z;HSn^F7W2t(7 zWYtUDNZyYPKa-Q4{p&Z_@j+&-L}$ibg3!{8bKZH)Lin$K1DEC(`l)P$cPFw5(3#;V z;IME34vP5Z`hQ2ZL%t6OIx>peRB6ZADT20qz&))48)bAOJCM&t+xr8~8%BkQSH>Qz zayVlewsj|^@P6ra9o-4*}uS#dn`mp5q_I+g6@#E3A7EqQb^8MEQBe0`WPiSfjF zB8(Gj68qX*MT-3^XV5WhjvDzL5B(Z?xjMUmw#NDI?cHJ9akB2rDMv@Y9Y0!>%SgW> z-O~*Rz&rTS9acZMI*I;N0pl2(27;`?wLEn^-vvgEkr&CW&?3vso>d@W)CZ0{ID^;K))g>BI`#SehT~n=k5*8iR#CBRXB7qyB zJ@Qnh9Q-S`rRc6?{G0gRTA9)R%F|fC_?d$}H@n_xEO+xxXHmAy=GVD`GZr4kLj7I~ zT=efqT%ayuhDetp8VCt*jDhw96)DxzkrPeG-bAqLo`m9zJiUs0lCE}|`m`gwET$dN zjn1Z^6?6@k9I;zUa?U4v5bZ@*7kh|Xv6MaOHC^rK13tt3oc3F|$G9+I7V)fayVV3f zbJS0#Vm4{*cl(<>3mR-@oV>uOc!087)>z5E*c)S{Pm5%yKrfPsiffYW1J1MjLcXcI zXkqWvSEn+$VN-8lfydIh753Iow`Ed?d_DScA z-iUS!?_{SU8;>Ax-jClV!MR?3&|Gl-)Q0mv0xw$oXZ~357P;VkUS*K!0?0Wf)Dg6F zflnOK1*$#4x&s)s=R5;@QNinBUdSHxA>ga?FYT2~sI^D&TI2(C>$-!M{-yEpxI<13gD)F@n*|SJA-g5vPyKTAlIIA2F29+5afhCC&SpDS zUk!bYONR;GHV5!E!rCxp&A#&; zX^j>7h<$=rW5t-+V^#1&R)|j-e9G}Mip2At0S&R$i11vLhnfkk?iI~?4B8wYpL8E4|D?3ALXa-G5} zI4OhnYPl~}>-P2h<$>=y9$-ElfR{RZ!$p>j4E_(Lo^C zVfD|_o4Wiluogkn*owfz#K&Z-AlXBIT6cxi<5^!QTF(`U9@^}CcnUl@T!@Ec z!o&gqhhEZ>pvq9UNp)RUBVVxXobB>HwS8|afQ<|71o&M=T18q-T1^@x4U*Q8){)ke z){}-vL!^^PCy_RhHjy@yHj{=)!=x>wEu_;(r;*Miok zG)g*;bROw^()pwdNf(mFkXvOZlOz`NLe9Jwy3V{M%L>QeKo?vQ*~r=VTJEH@TIaZ4 z(Y@#nnk%trws6<&=-s*Y%&p)w$$IXk4&9y8xE12sV>4`h!#OZ`EenRZ&#*M}e#*Cd z+Ob<$+HH!KVYjgK$Q@6OuWX310jj~?bD!$5VBp4N&j6p~9D|&MW@fHZ;%6<=d*GDcL+CI& zshBwF(8_xA@7C`}idw9_!~Ny~Yfs>1{!O6XEgRC%is;m2cTi@Hc`#Q3-2{^G8lEbi z8qr-m)ipsdP*!^Tc6jo5XtE;CxdbxHw$TTBb~RQoA53;UdkE3~a}%d#-+XTi=ZMfH zu#HddAYOW^>t9ayVI!w;D~yZym|Nac`=e=7>FK~I+IPeAKYxKw*mr2fA5RA^!64W~ z^Ajk)4tNC11k-N8@(6GUZp{(ZHzCQInM`%H4gwanr+F=S&T!y~f*&5mVf{Jzx3C6i zZVH|=`oL31dp7}(SA7PiIvb`*z$6=G!BdB=?RkTMHsNC4*@HdoEn`g+cA#Nxpn}pQ!zFY2V$p_JL|YH{qS> z;%@5Ke!}r7vg4W+W_Ap@`*ZjX;R*5V{wyi+#C%)W7liSNX8Gx5UlqY00QhiXfm^nD z(lfH22&a+(C39%)(OIl?vd;SozSY_{ly5|f^240CsB&NOhQu*2#s6P~=~EZMZ-DDJ zPnPaGbp26&DoMw_yHl&W@dOy($-Dzeu?*{?|T1dp%#x*?I8| zUqdh-SWt`){F1zH!RdKl+ZlPU|G)D^)6dJBnqu^R)Tuj~=mSmLX!L>aL*H4PudM0l zz0Cjq{Htx7ddq6A&-*4%$Oq?4ppLry$>{ogHDT;MI(kP=@8}KUFSl%t$p;she6*$| zUpCpBpT<7ma_)Z>w@t{G_@nvKhG>3#o5>gZTd=L0f-cpYzurG3e`&)d`I0sdXWy6P z$2YX(E6^vN&z7DkMA0r!*Aiw8%5U4$JO54I zC5caue*Cqazw2GL=Xbr5bIT*`@a4i?fg7l|jJ;j?>exp6?sQ5f-JtLKfA}d7JYcw8?I#R8}o6#^Y0v=FQ;CAA_{G-?VZVfcRu>#Qud5x zH9Yh~bmV6&WG|!j$WMQ37>_&l&CgGZZ_Eu#EW{V}#@s)?x!;QM{Es`g%Q+5JGVTqdpd=&TkjgX753N-&6i$vN@F+2zUQ*R9=n8n&t+&al)t^_ zoV;LLwX>eH1<}I#Txm)&K_n}E7xb`CcKy4an|V=yvm)u56#H3g=hyCIe?nQEHR*k= z{k|^7e1yI_-u!HS6}S=|?Z)R}75jM)>-S0G3#31ze#u{I-|S5GdiErHi}odZixazh z|Ivm;a1dv=W`VWGLEq} zKP}8JX{*nB=1jEip10I|K7ZL{&T$wY4}E=hdMv-ZEtEG6|D6A(|N8uP?%s#}7vwLg zxiSCE$@8!QIxqjth8yxx=-{%+@6CULyH+FlM^m|XzP5KFwnk4+-kQIy;oSUE|GD|fIU9SI)ts9jxnN^&d&5cj zGp4WUUG6_ApQ<@2KLWZD{dgHKuf}`&#@^!TtOcwQ#k5yBhjn8Ccm~(fc{x5XYr!q| z$o3iZ6~f~oUqd6tJu$~=Lght zzx{5#{qBRV??>C;GuPRp7w!i7%!*uL-8j~tWi|V$o3W2rOWdL+Yfc^;yGU!p&E&m? zJog&%irN?48-O9ryR_?F4KO%s#(~GxhgM6+;*GW=Z{Z&ex`PMdv$U|TGy*4ndiL4p zK2Mwd!EE)!me#k%mxotT_bON2U!=V_@8Yg^Z-18iPiNf8wf&8TRy@&Ff z5kKj)+wJ84aO+1B<`e(ZWAUzlxujS%`{(^ zFf(3nGxemW{CAsqn6f|M+x4W&_~v!eV&1<*`V7AveV7vmNOvc=|G}QXB;xGrC11s_ zZ)bmxz5w1(Wxk#(LhdTwu=+?`pte(x-~Au3&XRQ(;0ye=cn5oeg6{GO^u6+*iA^20 z{+2GaW_fQBHYCNQUeX=3i4I|#_M4ZD;4B>;XxKwa_ho4NE9f&7&r|<9b|+5EDZw6y zq8krOX1G@Vmbkd{81wvCI3s=FoN2?k3|n&t&NzE%2Ufx9tBLoP<9EPmH%8os0D2lP zYs`|slH?LkJjs6eZfu~}s*LnD@09QO1FS}_{aa$2^o)W}gD)qx$*>T94NNQ(-$6%Z4&wN z-yYj!3UCb++vH*3ablZ%oBtKtK)m~cq?WO3dQrU0u zelW2kCS7_oc0{A}cuDSMVq0Y5(wX0xetu$E&qC~spxtb3cm;O~B_9ztLjN;1b)@w? z#;ic+wIWj;{(7!qj29c~6`3uU@8~*<|9A6$XLv`hj{h;U&H8}oowfrrDFav!pU`$HwzcbDWUc#6WG$~_W}TDk(2@r8qye)lC?_F@ipdBRV=D*JEQ z4@j?}b6yX4kp5A7iEDpG>;~i{-L+FpRNa-8?k5n_x!`(i$JK{-=RUjQBEDO7Iri$3 zPu=$F;zjh+I&Z{7AUc zxuwQh=b@U9I=37N9oL}m5FQ=br3M|)j?+$TL$7weK>cOrQub7ZcAay0!QsF#i!wnM z49*$61B1@W|5T+j_;&QUR&06c^D|?C;p>Bd;Tq~^PO!$IN3(fNbyWV^FSYbOwfr9v z9%Kh#<6(RsJOqJZH!uW&LAog6LNEl;y(}9943jK8pnGw(FP%?G^3sgj50Edp(P>{k zY~AB9hW5A6{up~4)V5@vF|_}wL9}1x!od+*pk2YB_V@p}wC5pPFE|h#Bx&EF1GTUD zRYUui4Wj+msbBb)-c-C^_*dJ-cK>&i-{@+8LZAMR=bISqkEj3Ae>(UdPy1&MqWu@B zzdssq`oD$zEy#op{`(vMh&}#J+v>l@zjP4oKSKQleS0$ZbP^dP%2`@c=V^WKlYAsQ ziTMp27QH$;T=zYfrPSpUtg*tJb#%CzFBXo$)fvF5x+kzU3f>9Wt02c(Iu5PJY&@;| zDScyF{`nsKn<6i6b;*l2VPhgaXY1kO9`4$}r{T}^-2~Itn*HL~6Y~N2vtA_p15ZJ= zKB`A4$kxZo&f;H=jI~vRW zjER!R&AwrzT1)Gp**z*3Ar7T=uBvrq;8^zZ>4q-UI^So5U4#6U9jq_oYc*cPTGra7 zJC|CokbN?%=h(6AW8Ak4Ykj%K)~T#@=~VusYzH7g# z^Q=DlZMTi*X57MrdAzWm4@M)nmC+x%vWr+;6jrxM?H3bZyn ziaclgGKJ?uKbm{22RF7`I5*&3b~?BIskFz>{WqNtE7p2E{`Pw6 zd&qwGp#84PRiEU_bAM3TKDY5cy9ILI-coB6%pzNewRFLJc@ z92pN|IIPqhu{+Y4mTcZw6SGx8_;E;k3G4>~*d_#5=5$xh;sMy{)^R>wA6d)zU)Oa3 z-wlsL4`Ig3ic_EJ%0N$L*ty^<8o3lbE<9B@7jKoXNc39PSUP7E!!+Mca7NJ|eY~6Y zEROBf4;hQXxLniqQ~ockNutA*z>ohiQrT1#;6LiWsQ~}b&TAZ8I=UdAJ>O<>)>af{ z?-v87@SJnOm1LoxRURK>IQa47V+=n_Ie2Q9=BC!TQ(a}GqqNR6Sr6SYhM(q}xzM22 zM^9kW-ltRt^QFHS!#^ZXb<57+ZR*zlkCP52#&E@yW6v37o94(g$h7bpcyJPVB)rl;luTK;&!|3I zXTIEjlKxD;``$T|4$XZ}`JBp%o@(hcvFkng4(<|perdr_0$h6k*N(y%s4mIYoO$&; z+NVs_oyV5>2xYd}Wmtc#dgL4YiTctb_vKby&bk)o-k71ik8`IqWwPeuS7r}?o4bwR zK;xSX;wwCCvO(rvDvbSy?VmM>{KA~(%nyBC5P3U-t#1o=3}X2F4=jTh5u1>>KTa8q zuT?HZ>>SDkY}n?|Mp|ve>^5Tkw^61x_;#Gy2zO+5(}wuvPhD+D$K#Y6MY+S+pN#x4 zb&t5xfv{$IhbI#|oo}X1U)QVe zu9&l~*E8MZr!QF7TV(0&xeE>Bx=vsz>#y z9@VFMggY~*h_e@buW%;quIm))+H&JM{2$(v+ggeJAAaO?M#dVmO?W`w&X#zRdqo$* zul)P85razQWlQXQGsSaF*X!J?w8omT1^*0hl5AFOi5LSKfPOLe>1>Wgj;hu(K0Kzv~@z z;;##Ks3<$U0?U_X%1UYxai1Gbn+OQ$AY>d@9Z$;;}$=D}0U zYp+d@@AOSQ_b_BveB>Smo7%fyX)`y6xzF=*o0&&?>mJez6XyJ1x0xo=8Kj|R&SqX} zGqt40$hc9hvv=i+!r(JfSaUx`AManiDR)@>HI~X6_-lD`(_Wg|=Rs~$9A3>WV6C|s znvhOGbn@ce=tJy0_q-C0T3zKL(2e$2=f9;`ZP#^8$9L-E#QgJ^7<~M?${ezX{`bNg z43Dpnj^g(yr+&5Vb=CRU3EI{gz9?w9Pg`ZLkIWbqg?V#LYJjgz6Z zQIFYtADZ#A7F+9wbSA??*px$)-#wJ=F;YiYB6(`d^~e*9>m%THD={D)UX1=?n~9sOHv&Iqd=KAw zWws2StT|N@gfGWCa-(QV-)X#^Z>M;!vv{(z7k1=o?SU(}Kdk*yAh{Y`Uk6UXSDgB7 znfQ)kW5qzKh$=RUcpULgh#xcsdmqk=u>pD)_Ds|%Io{Si)VS?@3iI?>{gldyjtVmG zN4kCi-RV5dz27(@r`r2M$KT$O80kq{Zi}S4ezQ_G`MTqz_3GCaEkWBg)yPR}Oh@Ls z>9IUi&jzZs0%84g5Y`;zr|C| zpdM>&ioLsQQX{r?MsGMW`dm^nUl=j-6!FzPO@OzUyFNwtM=%Jc(-KLg6-p+?2FJr5*>aLn-6FG z`|@1}d)j%|?s|6`W8lCa1%9m$7N5WtS^Esp0mN7%7#8yFLf5wm>TBj*v+JFo`Xq-Q zrmhOztKFRJE#JVMC-#>9gzlod&mHcy&byGQth28_zlP1L^rGNbYnOBGP|yEbqsIif z*L0H39hPR$n_^qe9SZQ}3z8T9aqdqSLqpJyqcf6@(5*94+i%due7nqi@Jl%};W%Abt$F2d?}1W4Qw!uJPwj;|_Qj+s80>u&dE? zu!dzDgKS_=92MGm!^hVJ_&N%h9opu`b12a?%LKdLHlQx!&FRDcOo} zuK~Pz8H3B-EQXeTVztM7LdGb>f}l-X#<<6#Q;kD`P6wxNSs2!szI*ay0k#v%KMoIr zx1Lb1=wWP|kZ0UJ#R|50&s`{+EMwlBy7w1t=DGJJ%!Z%0nH1>^($EFSGCxC>A$?{y z`I8c6-dVSr5&Zx9`3bY<`8Ja#eTy<_@|?S1TBj_VUfJ-5vA2eQj3iF9_P5gAD%Ohl zNmU;{Q|aO}lPerPBN@oyGws-|iqEv$Jf@>tcX_Tq#QIJDbRW#!uOoKZ%vJYYNc1W- z(~woPPi#RSCS8=H5Bu(L$xHN}Hfbw98OKNHS z4R~I#XrBS|Z?W~sf@co0Rr_O{uK<_kWT)Al+u~^_rZzVAz^?o5|5j<>)8X_;>V-!p zoO-F#T08L_RpXQm5r6hf?zKqA947`LYj;Gn)C*`67}+7OIW~4Vz$!#Mb0mqib@rvAvIWuF1_yugT4iugNV;65|*+MJs9A ze3kaPfpdSXJ@Vl)9g7^4UZKqHN$6b`RifgfQ!!*_S^GVhvvEV(Er6bsgvJVt_f2%>?(W3 zCs`L+V2a@p}t)-tXQySyN1KUuVlSN8|4lWSV;{yK#r-x_NSm zO?Q$vt-EgY9ed~+h;g5RcT1*lz7u_7H&rv2HDIo54OmH^BD{;Z-j&mT$s%t*T8Vud z`)T&nnnPhf@ts(=r{D+I&zdGbPt|5kZUQo=bd|bque%!6)}9sJC1o`poa@;0q7dhL zyE_?BkAL$+7ex&vRo;dsEWUA|9zZX8>snjjLQ_q;z zkLR(+)j7|2;S=bR!uaBjVw2AOJlW6t9w_+I_s-gsD~V{2ePnO#mtBbVV_FB!uV9>G z{I4;UOc~aFy=%Mvd}Pm}yN(6@yt6;_(vIYHWOa+5>fAcT8H;s(WuJ8$TRwc>XySJ> zz71-Jvtw(27F(H{Vpjg4gztz+xDOeKHkXk{zMbdz$?US=82F6q*LJ>J)^^}r_)MGm zXP(Z6ggLD{X9&G;z_k0F14@Ukk z=0R-O-*+A?sxHif`D*9?cpl7qy3PC(&(^ch(eW&-PndWc^WZ}h|4_Y!ShVn*zr}X< zkY9Z{YP(ze$nmzjrv#7{g0fHHd^C#AjYqb-bN_Ix?d~bIJ(pvp}zD?!Lg9Ubu^RXZm{Vb{2)?CkK0&;Kp2WNV?`(_{zB*+a!D?N8-SMzh~ySCwK|= z;Ka>E4i$`70oOpbyH5a*W4qhQ|FYekU4DmYkuglHchjWJ;`G5UX z?k19|jAOgo%G&U=@0Ira{=CYbR^)QwNAkE&F*dN12x50p5d=n_Djt60OG7@N)58DLcxLi620Qt`GiQ+5Umd;TNSn9YcEJt|&$`+Uh6?Qo2B%HI!uwnu zPc!+)w9C6NkGoyL?QT0t+ed7W!`d5c%C!Wv1{G|fqzhBb)V2!jhIn7g{|WxrUC=wCZ>YuMMi)hVk z&s}8Gt!xMc>xGQvhoOxN(T8wGvhM=>yAr$G4OhV zSErv!ac+<@6q!@lud#>l6YE;@tcY>&<0HNx^YBef`^c&3GRCfizLl$Q)Kd~!Zt)CD zZUh(7SxLWq65pFxd(Q7!p7uuCbAn%EZ^5q^4wUs;@=QB@kgW#s#-htI>bGKQV_n)i27+I<$}(s7)KZVu0B>+c zM&~g)r!?$;i2u{&O%LOH`8CoRUPopeJj<6>T#GMdhV7;-^Hpu*$9mt^afu^5Fc^(z z>iEtRNp+pW94W<55A&zS;#KSs>i;po{wyN?=9fPw#iSG69{|QcxZp=g_jL-op%nLm zW^wGAI$866B5T|E=sA4BJ2M^wJy+hf*R%h&^j2fc2T6p zs@XRXL#g}Jg!wBmlv+vunY8nigz25Q*ff&PBV9i#VO}A&l9zOjVk}i9%&&>D^zz9G z6Cs^Ox}#ySd1Pe5TuvGY!fz#e*!0QR9i`7efj&hO7Jb6|9eanD0^@SxWjeQ(U6J^u z?#E!GVA=mFW`gdAYhC;o)=t@#`zpsl&(J9{g4TKA@DlK+b2Q;gc+)y3n8ce03sVu_ zF=w{Tqkg^_6iipyFs_8>WZ*f$0|mz~mhQOeHorrlwKjkkbZ-rz>rk=JQQoJk<;UQ~3~J z^4l@BOv7xLBBzYY`3DJ8i49YnZ~EeC_W&>r8v;xf zHcT&5|FA*AlrAsuf{Ig*hv^#wz*I2=n1aRBz_e@tn1&Alrju-# zUZ;L^+k@f->ui|ns*lIh^#j0k(hy)8VZ#)s{*wj?(~UMvTl#^ic>tJ33<0Kq4O7MF zaXHK{2sm|pP}ctN@!m>wDcrjv&NQjha9VAS3HcadJrZ1lU*xo-cs2&1LqivX)slR%VFdZhQr}lRh{lK(y0GLJ(0j3%o zrY*Iba-#^>qkj1x7z~X+YQyyUnB!rJ4*=7cA;45? z!?d3I#|#oC;)z*fH@_d4J~{wQwL^eutPN8I_16v(rq9?gyMZReZ5H2&J{{qurxLx3r0 z!!)1z#|;vuL)<$QFKFrqre_C$DL4d}#@jHxTut1hLBjMa8>WZ(rZ1kpG5}2DhXB(A z8>R^Lj~^sV-?d>1_5;(u4FJ=GA;5IH4b%2hH{~V_5~dCtrZs%i7f-VXfa&xhz*J|$ z)I|NK4-%&NHcY;LV0!NWFx3qKrZa4q9>#}I-5_C_YQuC3-}J@PNdv%i#t>jS(}pQX z{bvjkrqgVg_K!Lqra#=)KQB0Q2r!*x!?cF_&m1I72TKaPU|v5kZ65%pvxWduy$zF( z`p+69OfT3ly~Le^zGJs(0GR5B0MpqvOt(;f{UBlbwhhzFeqd@F0H(8t08@hv)Bck; z<<1@?ObHvNPQK}jr)vg)sbL5(y~l=W9`!d25~feuFiq+QrqBQ|y=Mq8HQF$}gx%(Q z1_@KxhDm;j`r>KW05CNU0VbWRNoPNk`Wpuc(-<2j#ntEw)9;rQc!ADZrgPS!a~GYr zOdJAC=h!fHR&L5o93)Kt<1O$4`K7|QAHLVt(JOT)zEDQK9%fQTXP1%#ROV_|J~;D-?0o5?lt06j&$*|+%FdTQ zUHMbV*S$Nh%Vu@kw6}X4draZ#NzPP*oSi*=_F}WDGGSUs4+IkCiF)FVk-m>~_lSh~ z;aQ7KGwBCNA37;v9zK(J6{M$=#)l`&zn`(#yjGDgXOqq*eYkG1**=Wlq#@F;pN>x< zf5Oz0`bhs{0&y?O$tO+w_&t8HnMryY>DID@Src4r>PUx^CQI>6Ic~8zRFW`npSIY{ zC;bBH3tr9&$1XNu(oc~-T%0g_YZsep(ua!hYq^no2mD@3+Wy@((>n&3dGFW+T>rZd zWtze>Ec@D`h|WM$U2oM4>)F9M-a%65UXWMz>gL9iIS8(iO>LxeM&_Glb@w;9e-be> zGB1r8)&tJ*Ga`Q#-_1?p?9gYOiC>bIO^ED4ESr)dBU_O!4|W!lkSVL6YhzN`Rx^xv z6EiZ;P>*a$wtLLBt&xt*gGu>5SeglO2C29jjigCni^OK|KAzEips}0qw zI-jxY46Wl#oO;WX;A4QgH&VCy@4HrIBU#~Y9A%+_>@?1ag%fB-cQO3$wehVx7@Bhy zu7mih2hTfzQ{Rsy&%tvi?;SjA-m9G>IF5qja7S*-hG9KTw4rZl)1x+_E9}{6-{6ag zyNavmv)U3a)o<<}TJ+=Y^U6Ws@dmrEYD>J#>Dx5^KXi6sto7dM8)rgYpKYHq;`|I1k_UT(QeZwx@>KiuP*)aW3Ke^99T$aLn{omfoSc5B#g<$kX*rh zT2I|x%B~m|IS!d?uzka&c_n1KeG$!qy*Xj@TkS+QJ#y5%kIb>ld!uoaqKcf(77kxE&D5992;t$ z&>H+7$bUoXF2?jO#(ia`Jc>*kzz=Lpwx;s^u$=jMjn=)%0qkqVpG+{7efbsa0x4U9 zUvB)E=X58rZ~^VIT~lx*YhkwI)P z>ApO%rL=dQ)n1VHG#}Mor`=u|?Nvn!?NyVC_OU&-+WQ3UmCzn`#MFy!(%hFTNfp{8 zt`IQXm#a^;=NfrJJi5oLwtfAyJ;~Mf1Fp8~qp~T+Hw3BL4w*vREq2?D{0`XdHt~NI z|2LCXlZHuaNn29wxoJEzd5*v!eA~F@uF&L&3)f53ezJh;0P|jW5)3WL0=}n_&ZKUw z9}_H`uS`$lx7MvP^OL=;{6Cv#E>Dp5kF=Sx#yGn(7EkY_e&O9m+fmwHPW{4r3vKIr z!?>xA8=h|HQ8gsp{9f5p38+bRB;C0RA`c%dKQgB&+EAErCvG z26-&do}16Jkf#oMn*iUGJUS1)8l!#nb3J#U6c?ZlKIl)~S+Mb?Zms$IXALXF_=~5r z;A1}yM@@d07V@YK#qrLg;(H6>{86M2K+~9==tG|YM zS4Ww7maTIn{Zy1W7L~1Y;oi2!w$!$De)eU?JtbUmx0Cv;x}j@NGMv`>Bs}Z_$I35{ zC6GgAS@+HtQdaV*>iRi#lzI~Bh2VZ(3S5IrZ+!Wy^JCB^xNS;pBIeG0IpJ4)*b|Ls zG(L6o?}=*R@7k^uHqKt&IlQpxz)ExIjg=-y{OC?%MLT!t=3(O~{?Zo?jpr8NXa!D3 zhMsG~=&Tc>xgS%e#Z_jeUB+1_G$-~@M)wVzdbAgI%i@~1Kch^Qt4wX5GU6*cDC2dN zksmX6Jps!6NM-1^?rA&xRPhg+W5oWAuoeoJ(1O)x#-&2_#knJ^x{T(Qb@y{y`Fkp| z&D_VhaN;!4NH$q?TY5rqVSbs=YWxFTEgMnn<5%a3@qJhvPkqM|yp6bZ+$X_?m^-4A zg%_<=>bGO(iOo`%C&*qhc-vPz{n(zC9b>OO55 z-{HTjWV_4pVJcswwQ2rSFSiozrv5@ifC81xSkZhO{B6Od{^22ue6^q z@q2TH7--jYv3J^BjZ9b#t_<+!ego{R(W|+7=l>8znK41d6g9bwQWnl^CAmNAGC=zN!9&3w={x zpnYo`tKe7G`WqrPH8334kMPlcxa+&u!dIa_ANNYWhu+7TKe`{w96&}OZbfoQrYI#D zLt_=mN;dFoEQlYk`xaVruuo>Z;@_3czRJj+Uhhi7S`W=;`Ro;slJ7~aJ=a;dQhn4> znBR=M*<4N;Yu+IDf=AW}Xd!04%ABzF9*p@um0@l3OYT(}!NGhJy;}E7s?m=)G!eCN zrgprP)A+gZrhQ&nDAl#x!kg|mYy6jzG9Szi_~eQsuf_7*3H|9g6 zU4n4_U1|62J?~7rXZF{R0cdxh>SLa1p8sFd?n4%?{{FQ49UEuwM7u8mkK)svkalhV zA)YvJGbgn^>8|@C=v=&Wz44^k4`kM;&7|^~Z^=|P${nt9@LURikd8xZo3&oRyL4A@ z5&p$=Ur_UXJY`FmubP`#d`f5^3g7E`i#!t%PrHUW#hrQho9fVALbZ7}ZCY?7@zs$G zroG5K+Kb4)g)`?Yeq_PTU5+?>Aq7A3w0HaB>=$^v==Xi_sx5bI$`#o%y7o-k6KTI> zkX^;MnActCjjTOV5x)h8`hOQNh^LB|l^_^uuT(@{-@VeLLr3>Y{q2*g;v3jQ;4=~! zw1zl)1$f|O$umxSUl5+{wzN-@EUtZ$_GQjKX*6xAuiBec8}jUZSsnFjpHv@bkHiz= zsfV{U^4`;@UG-J6miU#^_I2v3`fazby^`A1UMXY>dxJOMI?&S;Ok~t{Bk!8$z^(Q}>aX@gYIi2}YftnFZI+pV_e8CI3x05F6N<7x7FrX)RA3Pd!f~&l1z#t#S78e+ADs zXlHJO-{7f+7-#h{&qz_bkC+0cZw z2kwM7XnceN_)w4UV#OB5hi{i;EB1}tYfZkg+^pFPPHdTRku8(_^&;Jc#NSf{-411M zX8+iNE;1Y>E}O<5TuC1sLe_fd>u>c`#EC5w-O4${irlXCf9)y#)8U?`5NA9=%BG}$ z00zEmO3la}%Pe!u%%dvF6w<7n3 z1NaP}>}%*DUqcTmpDiBzYJLH@q%+VxH0577s<0;~F6FjqH{p|x`>(`fz4eh#g*T~QNbYD+>()jK|2j0lJr*+RX4E@lj zAUZ|CNxv+-Kf+k)J-jL#piXz*F7hsfe$cyRZh(fMovt9~bm~hmh@O=;0^B7NKBc43 ze9}DfCeh>ZuCs_(P#VK<+!}Xcxa6K^>{Btp)Y_%7`nl_#@@5-nw{TZgy3A_uAEIsP zGPMq$3T~?HvHLt_q{|e|OP4vxg|~&|iN55EsX3^94Z6%|NA3^n3S%;l{BzB^?sLuZ z?oT2^7Zoiw7aVRgqj)Mki%kU0&?2+ge3IYJTy*vaI!D%gQ`|Ad8#{%$DLkCdJf5G@ zJep&jcg@-A$C^h`?#I8Rd30@7<7LgG)yu7UZiKvA#h+*?9rpkH0Ogx^ATo4`Z)6vJjXi5$lYzlAb!1v2`zv)FVBD;-h_@ z@>Q<9T01XD-a_)cuDl96FF@WW$rJBzc=+ot;p>B#-GMCyU4t)zKPUD>l8MAi0v!Ta|g)?66oT^+A<%E|`@YJOKAhVU?p6O1#;m*9u zo}+T4+W$NEzi+kuI=uZA;%wMHP2%AAz*iWv@c(YTI(%^8_3Dqm8hE|xChz}xy_)m( z;hwn{7S^k#^wISy{mbR%)%40EchQBDI>z79gGHeGpnR!crFg^JSbNb&>}C#JWy#@Z z-NU*B&42ojhkNRRN#r}mm2obK+?KY!!?!^Za<+UwXndSI>c}+PRKA{eij1Yp(%yWt zGiJKW-3afHKNax>$CnlI67vk07+;V1IdE8hwXA#YUwX66Y~p#DzBu&!PVpT+!uX}3 zLwKIGeh9{gE;~NH!3(^UuS ze}C~EE+bEMYYkg=dBMMV3+Z6uJ2d|8sH`FW=EQd>j?iuxejepvK3O5;*XX5enGe$D{?5up-72)^J(4SM` z+p=F-LHp1{wu*VIeriuIxn>3Oy4G)mwwd?x#59lWb?}||#tiz{mv3yi z^mx88MYsSb!jtf`+Er#CzHuSnxcNr2h0p%^MiY6eTYTeYc#{5qAL(HD#_M}l8uimT zUvc{EGk0VvLU&;IbqD(#$&&I}Q`qy!X7Nq#Icbfxe9YoU$+x>BWBKB+bv5$0GCztx ziZFB%K}Jr>HwAMkUckZTtH$&*2a{9w;PV)!u@QDoDq@Lf60gKF}%KdPl~$lSRx^iTZO3tl;s=;F+B&j*21xO=~N zcC^4lo$vI`N%l9?k-49B;eL26`ti*A^N+5>@|QMB{+H-qJ8OpaC2wH=cPtFpi%{R2 z+=H=TKp#5SDtjmVV0Z4L`)_^2V**)bqJQoU_$MW=G^)H!d*$n~(uULGb-jmKXV&GK z?Y68~C3bw5t0a@8;DPau+$GSE8wRznyJi*-vA>lMEC2Z9-f)oE6X2S?*=G5v{s6S) zCl-Ou80QC}*MNLb&B~6qWgbM7>^$)3;Hq>^u@)Pbw{@2`f_86KASFlH$ zi#(@&*Bk$%^(&G^HuozIo95p%@}?p4X-!laOAZMw$$5EvJUPB`{Ofh|e~kKGCcgWh zcyc^*Us`D*KS-FF|CungJP(7^me*IB3jVL-eUQiSY~PkJTX^>x&usp8_5|`FWbv$c zs_Vuz%;%^xpRcuK5^Fxk*5yi>&tBF=&1dNI=zNYIKcB_J-1Awog7}Y*`OE{KgH9yzx%H}f=9e+?P~>ICEooKv|JS2v{(FHXM-k$Z!w$qv;X~CePqqoN+Xx1ip@0- zAlqy!4*iljdNnR|z$54L;!o1SsXs~PNRs-JwC&yxZ9gRWIF(fy#W57jr`dChxFY^$ zdu}z6*TnY&&8?I8rq=$xlK;0uC$~I?KdMI)W<5{D7}LFfrCFi>c|Vhnuouy}iDb44^t_k7aJU#781^p;CiJ20{Gc*DHD118< zwdTta9jR;-HQpcp%3D2(p-Wp?%^`iK{@0`18Uaq~rQ4#c?vO6TH@4=D;kW7@-TP+G zLi7y!|NH>@D88SkcnZ+BNvYgyOD@s>-uO1~Iy-v^e9q?^4}8@Jz0YTyq!X-1kN6OL z*wP8YGesMvN$4H8i6d{V%Yygim*`(?eQpl)qBZzhXhr=lAZH3245QCxpMF=tH_K5LLOM)$kcpx?gMW`4%=4?MGZF6}v9FKEoqfH{(tzSq$M zN(VMrJ>ZvqfllcJdceBKR*PPzaX#;jtjPW9F7&cJhkJ^lQTQ2S#8@yc#o=8!FZ?xV zseh2`(!Hw8}RFlqc$i%n@4TWssrsg!W|9rVPOqB_l*OVja6A}89cbaM;tpV)isGatn)_?XN;WD=%-hMzeFUzS{B`3zTdO`J~}Kn4123aQWKeyt|Qg?AMH{$9%5{RdT^H{m&5NinS*TDlC;WgrKn)4>w$yjNQujw8!?O@L|?se<8c)UNj zB;)5@6W{B;_axeDj?S=j?BbD4)a8lC(QRzBz6puHKzGgYVY$!0U51b2!a0c6bjj)9 zfPG45R=BeEF2V_RnMJ@W-tu1CCu6fwn$dn6kPcV_dio86z$}w5B_pq7088{I-ya z54CW&N_@z|UzGDbV5T4FIN=NYueo>dX9a%Lf*jq9j1{JS>;6yb=v@0FI;TV2k#=xf zo?McVT=56qt3Nth+p(yuCk(&Q{Syx`ghJZKPDwWgd6ycND@J$PL|TO1!6c=?^)RvL z1e4$sT#}6(xPD>7H7NjZgD+|xi~krKF2!>RQ}+(R;P5$qZ|Aq}n~BFY(vJ9YJ*mZ) zN!4x>?K*90&+WANnA(iSE&hEBFFw-d8073Rxo^N6WPIDI?m7Q)VEVd=8oZooKR^ z@3lsrh$g3l?{;)p8UxXy@O>%o9D1z#8|bkK*ao7C)uu z--)MY={1t6uI`Bkd+LbuSuelt=oP=WbA-k3>%zP<_i`qwGc7AV={D6}VpgO@zdxCY z4&J=5S9=|;TWUwPlIWwiIr?r-EY6LB-#4@WRi0Zf zlH%KDY!IXuxw5;U7rFQ9pBO+mI&2eJGq95Tr_}<)j?GZw$Z1IiBy(Y?@J*qR_ zYh?>i6OL)WeqC2tg!>D`>X6Ki?eyek^rq3M;vyDwYr|vg1z$o#oT)O9!i0*~&MLUgZb;kDboGo4=MY?GGkQ zE6)LFAo>5W_b%XZRptKwnq-npCxK4el*UkS7Xl}ih@%z^JwbObK!oa{_yAfb~E-F(ONaX-G@IR_#Wr| z9~r;(??|ulVG=$$WEFaIn|QuI%8u7(h-KIGD%3&o%Jf z|KNGzF%*-4OeOl!T_HNl&_I3J@T>hZW3fbc#b7@@7+q8GJrRd9V_C-O>+aJ36x$Q% z?lb?()7@28?ZG>!x05wGzr2k#iv7mw@zUu7UA_aHsC-zL58{W^_AJ_rp~s^e!moJT zo~L4&Zeots;X|SxzB5=Y;*R1L&_7uNvUO<hw7`e^XM-1 zZD)utZQS0L?vpJM*9-#j!-MdTs=mW^5J*8FrrnNPm@kBXeW74AIp2{lbpawkY?iS!FUC()E z_}ySMO&>fBlo75ZBad_7%{##tGLpuTC4N-qX)ff9<=4?ikl#g8fBvNIY+8Y8qLXvc!p2qTowysGl!bysap- zvVO7WV)s|>0bqvqYj`i3`Tfha*JtS?4jU z58IE}z!5pZ+Gnw81hH=o!1OKPZ4H%4GFOs|N6K`UzCsy$hSZmxQMrlr*$+&Yv$j6|i>2mVp3U%zO?Mzme81P^c!K!G4){hR^B75kpNwbARxF-q zh5I6{k4}4t_>)?Bu*mHDb7E?N36_Da?lcB2eAH|SgRaU^&Wy{H{@W7b)Br8gU_vsF5KSh|Zn z&#p6giTFvKXn;9y$aYtD{%&NAX?%*EQ5#xk(yw%uN^ps<33t+ug89@sW2|#n&tlZ?o|=KLRF| zk)KTE!Z9|d&)GG`re9?#lc0Rps2CgS+8CRJshiva-1CU%PcaXg18avj5%}T=J-?b( zdrN~GLXBC!gdgl_`;#Zu7j`x8S`GyKL{7tKii6%F(P) zGCH@X+zYbZL>y$E`L}FWYzQ>TUdH|jZ#IeLc0E<7ABn7`Eza=G?*b>Z6{@5AHf{Up zD%H>#IG?FKg1fH7_h&-ayHCWo(`IDg?YX6_uuaWJPkKPbPoaOcT=_=3?rVvhVu{O-;oCJdbey`yuQ z=lc}RNxz7xToRf?cDa-J7ku9T9v`04)nI)BoQvDBH4hF|j(z_y8=rA<`Ca;?4R?98 zJU;7|C12F(yl*B?%51ytrrUeh!HM{Sc#&jz=99V7{p>xZxO+^&_6fY&leHhbc!}4q z;$xVUX4TQ&a&S-&89H3&8NYl@hO?K@CFeq~?cuw06#P?L>V8?B6K#BdB)7c8IXo+Kn0&sh z{YC5fiw}8njoMOtd03u39e8U~`QokluRy2Phi2gk{M^BwuXb*-?Q~UiE=%{p)eAmP zo{tCn32R}C_Wli&ZL&Uia;7j}nls5FF+Kx2i2mouULTxgh~$7dfnPDrT)2D(wx~J6 zt~HrKX$ue3$;+O9c?5dade71^Hnl0R= ze?~qC7n(YyI34ms$vu1UjPi#5EP%I~`8H|loVw#KE@r&q_Q4zSg@U7~rdAM{G%njFO$tSGes zd!1QT5H3ufoI>u3iu}%Xi3J5{B(6OoYWrPR8Al!AqYhXF^NwdkkNgg;tKD%L5B;jn z^Zq-PmmCw!OJKu^xb#P#x@QR*ZCl zNA^6n1<}t==`qlqgWhTB9-G~-ZQtHK(poP=(zT!|)s4lo=E;BWF}39N(f%1R6U%oA zMo0H>Uom9@vRbFix-ScNO^H?0?YmvsDE+C#QtJ?PB9$T)BG$EkVp z>U#YI?WvvIxU7jW-oQ?R^{rz1(O=x$4&8$pF_X$V?v2dVy31ALz;Qcm&gHv~dgO84Z zgK&HL-T@98zXA>zdo(HAkcR_}T{yVgEVuLD(0|1gjXU6{Q`yJ0heRT42DFdIh?mfM zuQ7ed4eABdLisKn$a9&k)BgjdcIJ2rV;nFAMA82uetJwuN(!<_l*CTrg zu(PHj^zX9ow8A_4`Csr%1fCYlvzJwxQsUhkDzlIqV`=1ho>*47&5(EUZs9@pCND41 z$@1k{9b*NsshtC9C#+j|d$Ji^o$>UfDEfr1D3+jwcnPg*#VsgSp&xuYdjJyWt~!TsFT76zwt(++e5=RolujWsB-j^R_zsZ1qaOCCJq5V`oB7UK>L{&~tp~i#9 z+6vXrJAEo<6wU;VhBp$iyx9qi*7QPGT3BJp&q-dGRJ{DAgSbPQHsm)EABY)zDh}sD8L#&27-x(d%nk6yzDkz5T5Ga1 zs7};;jrGt~x)&JFhFeA7&<`|HI)gEHVn;!~D7Vm$ z!#mNR#c4KQo==-CdDad6iKg@}GL`z^{CM8!+}Wz(Gt!**#a^TH)DdUh_PKnvIrPU9 zX;@Ai8J}j|_ICQ{;JeObM;fvvm(O{?@*ZI6N&!ngUlttdLwk2R-&J`VeWlaDk;xZN zqr83(;Ar*XSTPI-=OtM)8MW_Ry*sc?8E<`rTZ;JxL$u@qLN@2aXH)Tn`*8 zvt5G@pO10oTj6Rw5JftVcQy*HJdyd*!SU&THUe>OOpYmz^KQ4U5#l9Ijqbs|hJ)@glQ~Bxx@E66S0gHFm z-8-YJSUSbob_zDpuq(YfRh~DYm$l>R)^jKDZkl)>_DtG|Sh*!%o)_t@%y^w+l58-8 zc4m+7E!}mf8G0H$S2Ar4<9bfIt21Ipe1UUOSJMAe{Qi3IxQ%w$v&&DVdn+$Do1r}a zW4jt!`8wM@jdoVjrbAovUT0gv%RKa8hc=-X&aZoTsRl1iK3=Bs?(N`1bhmBXepb&2 z=zhT$_wHP?&Z-6YmQO?Y4#%r4r2Pc`(eSzE$OW(eTyvz2`^E+PUYu)w;eKz7JCXaM z#w{fz`};BO`}pUZ@4d2i_&1fQ^MCIT{XS*ie0j^2wL`}dE3Y%O!5(L0u=C2R;o0@I zj#wv_pSQEFX7F_INY?u~u;|RFd??!cHfMigd4zl}o3s7J0`KG}Gx!&Y*(=Ep^If;U zI3vBm+DR8-i>%EM_v0$oCR=FbGpV+i?-st_=LY#v7L+A(D&DD!H5>Q_Zl!-4|Co~O zP+#eyjVSB!tP}Ckr8aJFO{v}PQX8Kwysv>a#DD6XeDO1blFhmc8lR1$#Fx4W*pf+N zrnL_{j2V7C@8rMeT&Loe$_+XAAHOT_f%vWRD=1!k9dJmd6@SzjQH_14jh7f1yUvno z>@(qki3~Cz{8{>09d;LoHmuxh$K6-CC(C&F?H_Vhf+a z*e~$q?UuABZ##Up@?QK(`h1N;j3#4Wi5)^bPIaABUrF|Eok4LU;Er;^_!}61Tjqq) zwfI2xrF<-jj6oZ+vHh@RzagEe3f4?3GM3g%VE0gr=O=}mP?^!^JB7#7HIJcqqaY@3 zq@AA9BFZTLL(rFv9Sij(`R-pR6NeU9yHB;VSHx*sXOMpMvKfjqru}OoL-$?dozd9x z+$%#5&)AQBz}lPRck=sTj8A)S`yXBz`T=#0uZj%6$GpM(jxY#`OCBE~dD8Gm~HfC8t=OXpp-dR3@eJsN7&YEJx|zj$5vB z*A$T3O3xi$H?-hvY?Hz{^ik!I`!De*I*@s%bibYcIaSA(_jABK)rb3|@W%mUX!NBr zI()pBclczGDJARYiyOv8hGgTG-I4tbnR$i359iRUmX+4LElZy#+I?7i@Kdz4+r8!^ z%PG5Xk9+o0Y2~a{f4kZDKdm-S-eVh$(5HNLPodK^_OmXhc`|b(oh`Qkv*d1keLLi@ z+sAC!k+7euv8{0Cb^_xM^&cU26T`wTv76GjWTUKt4umHg&+Ow!vP#74CmoSG_YTKE z!*e*ZfQ^efQDmXvdd!#n5zKLU069#_pzw-K4D=_K_r?+C%Qkvu|W& zbNoP=c#@e(;8?|62K&Za=uWcAl?M zUwgG^&e9pMZw4QmY^?3bo^9zY-CuN>s}%FF$hn5N5zaO6R6#R3%Tbq}h0aW#2<*@I z=0$T0kP|!`ndmMouUsk|(5Liq%|llf+dFh8`6S7s^{=_8WzJf&^_BNBZ>xM6#m-y8 zlTl`{PsfP!VNZa+Y}|e@bH+aI$tW35Mv?p=p4Y->8_!w(n6=-xB^1Zujd|-R8BK9A zT3ZRl6XrHp|FGngag0;)hSr?qzBJ30d|I)+Y* z(U8pco0I-BBpSbNw9Jz2t6Xu=Ytib;($T=%0)84S-}mUSZ4^z*uJlgL=WEdPbjpaP z_e9UrDD#s?Jl+%D6OwQ8_Jq%1N2mht1DuE7*;Y4{ItzIqvcksRL?^7MtT>ZB-_`nC zP{xkW{$=-k_>J{5S^t4#7vWO!ko8ZQl=UaUx9xk`iG%mIv;VX<8unA@5}FJ4AJH!N zGL#(P4dfrm)78w)7q`Q!;88nSC*AC6jCVNK2fWM1A?!50llP3Tm8DzkYe?A=#ba-!mq7@>0LE_wv&5iT{t}CH5Wh8SzHRyw&{QJ^@^a9;EkP)?+ps z{4w)Ja+O*6CY3KP#(yLkM|(5AoaRN0cM&+yUMya@av#|?)>W#~`EnaL5uHi~lnrh* z@ktTvF74o5=crq#+Y+k#9qLw7FL?iz|6FP|@l1v0@_c63^_n(h`{cA-<)i53K|F2{ zFRQUg4wP;1=ldCW_QuLSte;?gNmhId@?Dfq$#=)H7J}H@uGPqNe*A3`nXa0#GKOL# zL;Wl|k9%EZ&7YxP+MCK=pnbbG$-5Lh)a|QGLe>v>#7CfS`LMQJjvb6PmLO9vIS0A` z&w`~ovSL8*mCsLcTn*gmA~{<5M!rd%_mgYy{rJ4lElX{Qu9EhYT9Yr{4ZSFqEs*bb zFJJF^Ua%pfI;U7$V8l%EM3s0azf1S2p?u8&D@*Ko+@I1{dJy}ijne~1 z_-(K?j*K(d!H{=PtbE0p_>SmpuZ$a^q#M z%~vEVim%8Yto$-pQzzgn%KIw50w1${r5?RqcB8+QuSEBPufS`^Wm3j0)G zE4W^^0(i|UFPNcAu@wo9NmVBP7yh61SMUGv{C~g0Sy|-kngfuZ;K`DW{&k@l>Oilx zxo7bM{~kS8_FCzUvWbXKvrm*}U)=5epY7son|znxc%N=-+nCCp*9gv~XH11AnzHOS z^re0}X-jfgY0Ask6}&U)b@27u{j<-vajsc={v&6;IQ-u7b8COIXPcVW`(<@^w#vSr z9GIPID+j-$?F&-5$_0KI=@;{O7Udq+zF3t05@8(DNjei=+nMtoYj=R!WM z&#{Nqn)N$0&$`RSEab}Polyl1J1S^rBq!X-XeR}6> zq%#m}T0Voe6|et2J|lci?3vJSr=z%8du{dNLk zx~|}BVa%3q;G3Mg4Eqgj|L)!58|#Png?mHt$lbsfmPhI)thamh9sC~1BmIUw`Yf0nX2;8^QTkX-hae+Q<2A*nM6L=j-j+=U3yrZ8tc-0UOx= zB%EI{3g;JuaDM)7aQ@j4&OcB2+n?V%`u<^vzKNT&xGt^s=z9USn%Bbh4B2y_|IzgQ z6WSPyzOVitM&Iumg=^vkhvjX>(vL;ohlOx`IOV6ZUpHkpRNljP`HZxGv^agGA^b6- zt3WQ*Stpg#`h17l*n|AtGODe|_s|wO0QcC|gi&qXvxm0+-nfPcdy(+a$@s;?Yk(=m zcx3|(e9_WFZn+biTBuB5a}CNU=J;!r3HBQKHDm*dB<5o$%wlKr;wc*ZcnX{QpWn29 z>kOUZv){})Xmk#EF?u+k^3BkWJ)05X|Hc&g8ju6D@9Q1qIEUuleOwE?oM$V|0|wcp zP;=seJxBb#BQkP!BXL=;dGldQ%~O57=BIC2YF6`^;`zw*rKW|?iTpOOy4O6`y3{;J zz()3x9`iVtva~HHj)ng>WqU?)jyb@Y^;D;<%o z>{0k|=iM>zgO^8Spt-)kq%DcB#p$cu{wFiki7iNVw=o9MBzso5Axq3lf_~^vxod=P z<*rfQnzu1#^rw>Y^jt_8?I%^7J^MnUx-5HTHSbz^S4~cmw*3AT*}^67=x$2M!V$N- zBwbs!WMmwBCQi2Qz<)7CI87_II15df!A)oEdL~Z3PMwLXaq>mUQqs-8Tk`JhkW5{Z zxp#Y0s;|_F{q#KSrjk!I4#^e`=u%_(V#9PbiT*EoE51|Om+U$<2_2BL)Xi|d$C*l~{h9uAPH*LfaSs#~gR+jf z6P-MS9k7NmDxO3%xY~W7avASr)0T~U0rS)9&{q0{QX6n+A2+7JSiEt+xjI5w(Wk{_ z9GmDKeVng1?q#Lh3*YkOj=z@&3}6=$4p(ANZRqbSJ&7Gkdqc#{4*NJ8s#XukU*FnK zo;UEYkGXO{KA?TLzg_cPt9cB;vA4FEm@B@64?}Ze8hu;L)?I8d$n0b4Op@jIe6F#( z)YU&?JAS+i8!pe|OM6TQ%r)?VTYFi`Tf+mXY$eCD4cR+B(esV&$!2yw?Q31PlSh+S z!_w;1R`EJ(N0Yxib^eHNG&nb5^2opBV@r_ht^v7sD(C)X51I}R68Qb`Ys;;xR|@LbEN8=Ik-*ba&~!z@qxZlnv@mrKu^eE!r8bYx#1hF0k6V zGpVa{KtX?;`;otR z(_2%k;CuLlS%cDPqKQr0wLe+-(XoR4N$?}P!~3(PaT>qN-AxS(%8IMAXGo|+nYiR* z!M+vPbsto)=b(_z9M9Q;@tnsC_KSO-f3+=D^zf~wv2CdGkxT!O4fT(-AJ|YE&h6Qi z#$4>hT5Iq<@ptAp{vPrr1#uwXC1+9!UyAkB6K@bn=v-;O_#kws&xXm0Ie)bcH{AcD ze*dDq3qG>Stp5CK!*E~-hIPQ8`$-=nUSL58hOhZBa8PuQFf@RJ%^?_G`0y$d3&9ZN ziqM|eU>>%ys0|6?%MT$IRk&dtw$CSqmEXjJV&Gl4oeqw*-i71qX@60wt8!lpIn}Vg z%U550A3muc2mbVtSO=}mrNFMw+kstkBitl`>AZ`2hv#QBT(hvx3$DSI5x8dT0WOXE z^T4$LxNZo+^{ac$(4QXm;Cjg26|Mz7TvvtQTK~BoQ@C&>K33;hWsjA7@yUz4SfZ~# z=AE5?3-r^TUR!Y;?mgg)pUzyt*5dG&ayzjc_WTiNkYYTo*&O=>`ZargB&T!Hrz#d@ zrp_$M->Loh0N|H?JdS;ybvD?F+~6>-kKu=aKMxN0XAp>&W^K|g^`d-g-;d!d)H=Pb zpnbompj_HD`TMpD?|kN%!XI&qkB`wYDG8s(P6QuWXhHZ7Xh8NH(Yazc zL<9Q+D|Au%=;_Rjm0@*3*+2i zCy8Pw3F90YaTlET|6l~?HQ-qI9_Qn`V=wT1+8Fq@@N;j*2I4g`Ul^e!#abdq7bVM0 zV?OfaV5rUVKl^XW+*Da@9>Z^%nuP2;oR4U+YtP}8m!$a2NH$+sq)_~`)yp$j2y8C`TEK@m-tXVTX?n-bFek97>k9&@u1z%d>|LUlRhPDYt6_G)Xlny zGB)!W@2rmGbe+|aoW6+lsk=TD7pirlH5YX_&-NR|T=W#Q&xPYcHSXK-lM(;O{A}EQ z?+Jf__4+XvSuf_I$<^37Z^I{f^DEUQ|>m_j~8=s-l*76#f%2=OpO`FP2C`F zqmJ?0apy+Hjg7#MukiZ);~m;V`zoTNRz8DqH=ge41+8f>7F02zZM>I!D4UeVyNU4z z_ok~Z{o0rcjrVcZyz~x@H-T*3%a|o+U+>3N?3>gbK)iRE_vZa<%tWBGj*gcQKi&?U ziaQC)$cHAmA&B!7?tV>~vGk9ijQHcDlnG)%+m(YU)XofKFWKcDqD;Uy9(nE}bDN&? zd(CE^{y$t~`p@e%TX}-m=@@a+-HL@a&^Y^%K5eX~{~7q2xaTTv@g1)T&b?IM*);q`wl$C!{{^*|{=G}j`h_x9Z$Flfkwb?Mx zh;FEQO{o(~XR@ENo=f8CvRQY$)yv_m^{U^Z$$arg7mzEOeN;Ycqu-HbNH@lI;^p*G zKIH-Mg8ka&Q%1((9r`v7M z*8VNoq8{6#(SFYpjP<8$mYTbGzRn|9}gSPTDNd(cQ6v*p9vA0Rx%RGZc(ca3mAGQ%S`_}h*b#5+oB2&+|2M{X1UNJfX9k%| z*&Q^GFA+l&_`7A-crAN_ax(>RN1ea@9Mn9Qv*(QK^|bL6>p}L0dEhwF-&fLo1zHzj zdqW#`1@5{jIlNbnec2nd#|8F=EccFv;n-VyLxU^W_iS%K)*RE`AQ@Ej_ABJsfY+Z4 zt#5;`PvG;Pc#gPyskxA6-{Y5>N6zgv=Y6urJcrO1tOw;uGR(h?AIf;~(Vv8_>eBh5 zlhZw3-^HfK8Y3QBwyM?6FKUR1uU^jFKK_;mu;ooFR2hdj&Rp?dsaFL*{l=#L40ujMX*^}5Fpn$=mhGtiI4+e|)R&U3G`>~xY1ZcATNsd2M~er!IHV`YCJUOavq z?btmDSxYj!NG+I$HA%R|KfK6J20`}cp=Ye#lqwWC-lzL)OgzN1anSF>^ZPvHSU zJ7@X7C80^lSd62DKhDb2W70qt8h{Q?g9daqXo*W+oOHHufkVE|ykyfZ=5@YoFY#`t zyRd}wz{=gb{Ge>1mGi{xmp)yvC$bmmoU!inYlCM-($EEMDE=M%Ko`gt(0CQ}E!(hY zW5xGt?O9FHejJ=@-ecfW@dqmN5O?&oWmdo=^U4)9n7e}WpgGY=FY@zp)(rjfNd8mb z<0y9k^I6ON*MdiMGBvLl-v_pfhHU(XbG2fTnM*I$baC>E-QV6-_|aD z*`C*V{HMrcY2bxMShDfQS1XU`Rh3@!BvBpDT zS?;fZj@F|0tyg}7fR3sntjC4Lyp@YYpV*eo19lu&ahFOab4?}7oGeLSQ#mh%4>vQn zu-IHvIV;IJO&?pRsiYX@G}fq(e4BRQ=dx-nViiYLa?n)B=qkEEDS@sE6ujqCSlMY5wuF9Dsrv;}=Q z<=u zxkwJNEqeDD@8l1VZZHLTKt8^RT`O{^=I{(?;XC>WLGaW<9J$lx_GvImUkKAgZq|p6o09i&u>5Dd5GsW+6v;_f_P1v z-!$v3n}|<`_$F=6f%h@y;NCyYgJj_A-!hVi6o00T{g^{J)|-7Vo$Ja_nL{X}dg9UF zA5xx1&qpOcWGsChYloPGP<{1tNvOW`e&rPzec$NYs1v?7@Nl)kn%gB$X~vURrt?lP z2)0j7_wEgB<#TWHl-~Zy-Vwi>D?We?#@fETJ2C(cpCi10zBR80=zr`qft~zK*4E9r zCVX%gZK)j$%GHc27xBw|j=68pK0{m3SG-kx4IA=1`Q6?hEM1%al-B~DXL(|T^Z3}O zD)wHEvGUhu$DZFufBEY9Z3*E%nBN~!EwyZOD9 zI^p^KuG-km{NBR5V19p3+xotV&%K%7C(j(QRRy^(f;j6K{4R*Iu4n%Jv%VR?J* z#_cXXmnG@7dP~Sfe+#&WHH!oy6#Xh==9q-5A8?obw7cI_sHlRJ(N1Ddw*bTiL$~*Nf7(VXPi|Bq& z^b+W}H-CKZ$NTaVuO9Eb&{%@;{(*Ag@y-dA+1+@5N1gC^pH&;X8SfzPg7HrG$2&kD zdo$kKKgM|Xf~Oqg&s{%#1#=wi8RJ9aA!f$X!gmF)KgXJf+E5v-A%lNXFn^DIHP|!6 zYl1!F-$V7)&!7HjgpQ^Zx`<@K}`#^rTtdpEeens)&%e-6z0zV0<} zIUEPScsICA`}{fOt(O$=tKCo0S0Rg?$YCuoM(HZIhsLRWTI=egf|oLSFI@g-s0?RA z!R1v}&-r)=mq~t)`8mW-3e{IXUk=qjlyVK^5Z{I^TkU^8)Q0x(gx|*OQEgliYQw|( zt8xa~#wvf>(Q0Ef-qRi*IEr`bUvqsv_}2G#?Iqq{IAb?>&yKw>j;F8DH2mSv zc!GVgM({cwe8T&}P#MwcHs}7L#&-57oCP%e$6t)p*SL-e)!!Yh{vYauX?3UC7>%=x zC-*$fJM}Nv+I(6aq>nwV`+!!rp1${d?r!=C@TI=g=fu!h0zUUW!Rq5n;~f_&v%B$r zhdSZ$ZdMz+8Sf_E1>@aG+xq^k*BEcW*B?pm{djxmXY_au!hF_aH!1g z#(O?>!s9(pZR}>eOL!NIce6j<&+O%RpZdt&kM{)n89m->Lt_cXJ4>*J#=9m|W_RN~ znmXa}cBqZrjJKV4!FbQ}$9v>nj`z6_@BMhk)6eMfemFFiV7xVgH8kFZp)$K0Z-hGG z@fx+UoAJK%_{exW{PF&oKK8VJ1A2~Xy#5{Ko%7L0a_lW`-kz<(epjr{dV5M$I$vD& z&Rx$~VUHP(Yn=ig6MVJUX>^XPhI~`9Nyz6Pm7bHBT~huGVgbqdXP#)meju3{y@zJ3 z4r9+9YQ1kFw}4{fg&WD1J5RV{VErFn8SG>a&|S!#$jT$O=#AU;Uh$}kx0u2E8DqTv z)=lIFqD^culZbbmypuajj{d?@b3Bjpp2tyZK*6o$&l;)y8h-{{r3x^nN?@uJ23tcK%Nrng1ZpB!PX1*a6-D9UlOv1K?C~ zcwwBkqoX|hvAUs0c()HUBAdVVTIn#2pCHFWx(grEqN4QNY}JN=r?HFfM4zckzPAw0 z?|?1qTI~h%8H37tHg`=F9aVL8CnvVolG?zR z%-Z*SOY$qLj`Z|M=KSk`3>OyC#CtbPDtflYn9Z@?bum7kQ2gukwUlX=s+onN3 zKWG>Z^yFbUR+Pjm1GwqimZ#5MV5sJI!5oIc8*>-q_4?Y^uS@5<)CGss-SsT7hr12H z-{s>D8@%ru58_LM`TBp6oB3SPDSQMt0C(5i%rD(?vAO;IJ@~4F+{}~8cVl~3Ug9d} z$|)1U|0&R0pi>6CX|?Zj+~jP7rcSi^xtTBal|F21$~)Fqxh1iack^{Ob#vN}FNw%L z0u1+%zxSRje2Q~J)3B2$2BC-f4&r7$_8n{`(5iuEWvA`|CUPk^NjMSFBN@ z63t@E!^RddozN{dHhoX*WUjovWAZ(ue(9-UB!u|h2E|cT;%o9$$_`jbgq&NTf@Px(c=kMSNuROYEo^bqA zugw$Y(08z=_l74_=yP{Gp_w^eeNwMEji=$nUb9xu{D1I-|1EL?GRUgY_ak(gvF`;~ ze9;?sFThE(g`8vMsPNqgAA%OeQ;^rJoFO?(arD7G1Ny$;=8H}Lu|2~vjt0M&=_ig? zcO!7OhVBR0;lnwELY4-#FU6k+#O7-ETee+O*sL^@~m8 z+<(xn^usD-=l{RzXMYRr*1mzX`^O8$rrlS5_S&@DcGJb?%vpaw?LKzFf4{u<)VKe8 z3}~jzP7w~AASEV^4`DF=kDaaFY@mC_x75zc&2u8E=kXE*cJV} zyE-REY+YG)2v^E|+(8<5(vmOmhI_o7Jx+Ztu_VB$qvdg%U<=6vWeRs}G?3y-~#=jdxaL=ay;rnya z*q(C4U+~2AnN{v`9@!W28p8*44%Eh91aV_$`|!to__Mp{+_Yoi-}S88K0f@4a~1r% zyCWw;Ob>Aw#N>MMVzL7%c0Py~17BN&PvP=R;0WTyo;#Ktkvzd1{ZF|g=TATV+waJE zVw1Oy{+2s(#)IG8-H}tGJ!iI{ zmp|U79I)i@;GD}z%olO8c78;=I{TqJgGINh7t7NZbE`6q4)Lf-?zbn#tA;#3?Wz4M z_Uumr8s|K&F|!LZINx7m+(I&`yhGeGVLR~F*5y%`&GJ!@0t zWUKm+UsmO0rm1BK&ZkY**$vstYQRHlh;Ad$t>)nS%tbO(rhQZy z(fTcv3Gn%!*!+ULs#*&{Ze`_c&|0u_0e-(ionXHHA>04&knN$NH}r17`+nldH_+m% z?AIOni_LBAd$v{mgRcHTS7Y5-`Sv}~Ro53UHkl*$Ojp7F671QsWyo*efKLK{L_z*r z*+aM=xVh8+F5l804^*DJwZsE^s)2X^cH0X>Gw_q>yW*=V{BQE|P2`LAdr&9S zRhXB$ntW57LouJz8O>(h6L0qu%05E9o%kx`vrs!fQ#-!T+QDa{yVd0z)cgP9-Mmx} za9&&aT=GADt9_%+QLY~EUJ;Y)s~oBFj6>^s7;bX+Cup-Kv8-&{4`Ac>CVtmmqF4l# z(RcX;Ys|KagU?T~2oDG*+C-PyrOhVUgQ(Nw=YZ1QJXXKt!!3V@Hso&!_K(!N$_bEonj#7WGf9k@@;Q^N6)bD3fZZcBJLrL4>-v6AlqUsauKu<*BpF` z_~%Z})X2B3JKCZt`KA}*ACw%v7CMzY#itX~1i2%zHkl>)+{~ zI0m_n9ID7wM}09S{jOYIKd0O^p{ua$^lU+Auyi(+GgHv~3UHJnM#N0-uRLt`TomQpqnBTyh4uUN zl6ht6t{R_y*BLptrf-MV#5nR5SsLKHX03718`g*pn#Zv|+u#S1=N~~2zMH;vwti}= zuks(9%@QuFjB-Jc<5lfAo3^)ccD#wRCefsFh!eZxJXrkolju+BRm}0iqT*h3ze{U& ze`w)a@;+Qk3{YobtQerwe<^mCyQLiVGRlQxfPRbaQV%?$nQGo2qq3A~p#106{_w z$5XUHIo*#U-7UDotr|Skn(l(~bJTL)O!t$iEyYQwy!1t#tvi)-d^!sl=vqNeiXfMr z#+s)8I_B^K(PmclQspClTG^O?K-M8Vr*O^*m68m1cb%Xck(btkO`f}-OE`7~?1N$0_HUfNT zUZ#Q%w`Ri*tu3vmsVUYUzn{sOdadd3TI|=IP<4j2w6J&x>sxDRRp=~s!;zd1;|X|_ zZxbs<)0-+0;W|}-{=kEOHX7V*IqL9Ox!gLZyk_F^!ap-E zeA`JRHaT}rU_3rQSur^S?#|K~_E)Wi6_t+ERjh>-yj$q61<7Js3*G)&;G7n7EO@-N z;Jw#<*xp)L2d+onpGRLy#^}pUtf9L$dS;6&cOpu)w$>z_D8{UZ=Sof zXh(K*4<<9S1vpmua9ju+O|&C^MvnZ-Dr}3$E`zuEHua_q_esOYrt&GfxaiF4Kfu(! z3p_o<^?C3#m|s-(C6~$!v$c{;DtACv#RVqa`K>dTbNSxEr(N?2_P@lkiO2zyJNez^ z_j!EI9pinJy-ad-)U33)J)=fvCH0$I3h0vD45o>vaQMjHAiJ>}$?Y(C@!yk+XR^*} z-9?4t_&n;sSa~aZO}S}Kx$PYrE4qj9-Qc%6d3iy3WwY>SJ4fJa7INsseHJK=`-ud0 z-U#bg@?ck_tB{?rqM&t>gjQ<6WnE%Lp~E59GWWH&CD*W4Pn1mf#AkrHGjm+2)0|r- zmuIuu*17ky_+9ni%BN&<=|Bl&n(dUC_^B1h!6z4I0^)FfIkCdQDXW z(Jk}nanda%bL~8zJqH<8GHt|o@;b4kTe7*0m7~x-E=a*=n3MB}{T!FOyik+6ypYUz z`bcdWxevV7xi@S-%~4*6S>!05h5wtjoxaL6;-T$aINaY0Eb2$_1bta~BxZnPL6Q7d z!#dKR%YxlZY7sq*wdzf61j<%-CPLUxv9-nGyvd92z0I^hw+x*GXGB}Zu8 z-vw@RywhBdrK?@Y`@D3u^syz|AN15etY4mN^-IA3oo>mETUMAxjui2;R!4ic#ZO#! zB#HhdH%JZ>AO5JuosulU*xBDD1Bk!1^7&HY#i7;YSFyR0fJ^kEx%|cnb?^sot%&Dp z-{?J8>x=Kea3SM-hPn&JsC)gWx?iAPm0$1E)cXzfoH6QMHmcsIs8{XRJDqwzq2ANv zB^eECc2vEOP%rA&!>84JH}!5Cquysm)tgT}=Ejci80vk8dR=4GTRf`X9O~8j^{3>yV+-+LOuclUi4~Y)S2qa;s!$OFW?~njH`w z>3*(;6!xqHvHmXd3j6xp2(nua`({@3c&g1Yr0>z(ZR}~MDo#EgO`%InyQ)$Z$!#Bp z4saO!F`6eIQ=a^{^pQZH^!S>W_g4N%LtdB$mt5r7OK^}h%k~?GepRmLN74t-p(v-{ zmOajW)O>dFyK+B9%$;TNrhDu8!+PCf_*h#We=qGfC6V8<$`=Dp za_n34>W13-v4!9hZIB)X|8S7CBIYz}CwcN+&up+5^xyIeLy(aUs?RD_@8s1e?CMG<`F(?i$^BBOW9CE#m&2Mcl>X&G*LbcfDWdsJ-{h3o^fK>)t&=GblSFRJKF8 zASs*0=B_fExZftItG0EwPeZ8uH}=rB?)DkruA2akL;SX-CyVB;p>6U?m2QTIcOXa3 za77CX%gFNNj$FsR*VuW{O~jw8Il}{uU~l-_bTG*v%E^W-)cjd;)`}-bXji{|n*P1J z9hm^N3;#@M3 zeVgsj4C?=?WT9B?F2j$XEkrV$M@nJi&7;>)UU_PR9JR7THIQFP>rwm8T{j`?r?p>t z@iu3E%sZPBF)K>#j7@842A^8H9mYGOqFk-%2PN;XD75oiG=J}Q?URhJJOe)P*bC#m zJf$u&TwXZweEuE0BPIYCiMM5s#b#If0sW&-a`$b0Wes*K?W5Jk+dG9z+2Dl7tv{z+ zj@TPl_h@~lWS zo~=>ks(C+MWhv7@`JPetxl-4+4RlWq@~}b-*jPrNH(XWvB;!*2gw}=DLL<4_8vPt? zk{1Ww_u}yT(d%p{d-qQAss(G|4D6xp@Dbsm`bFY8#=t=n@J`(W4xW491#~G72PzlF z!KzU>*rBqNnK}jzsB3XB)x0(i-U1G8-}gnEZ_QnTY-60#40BKAs;|d~v?nRgr|i{n z=1a6X1sW1fI(fSnRa*EIZ+#Q(JjK4P^`$*#3U!1V*<_>OWIyVB511QrJ*EAS{~VQ} zE$ISkZ@>K3N_Y*_(4J^sdFs?wK-aPpsjaWk)_$UY-tU*cx6+X$A1%2*gEgc1`|^~( zvW{&YWb4a(>el#hZr(6W1hg(#s_Azsdz$u)U`o0y)v_m<{ihh(EB8n|G z#=0A^$98jH_&RjeZpyqd_aApaueIzI@EyePV+*GF)@SEU-}p=-Zk|olRh8ZNZO?l5 zTr5L|WnW2ryreS3_Y`LN{u|&$l6EMBTT|YMFko|A8oyxPt)iFo1W9`XSES|N7`3dBR1;|12=LKu^Tx^f= zpMUv|haYBUd;cC`FscexAWO`aIg9756?G?4(c_B z{@{Gm#^=C0E;2Vey=Li_^G)`^k-GulvFL2dM=sx%msbTd zwasg}<<8-Y80NMG(+VD$UyUtQYQ?@Mh*z_0Z)`Z)+pPJ6?eN+iptzkg`Y zm49qiRbnVg{=t~?4kqUyBb`*1K7G{LjPuMnZFm49QH5wmhDl8dw3Xc z#5t%?<@j)*<4ISpMwTMy`%L75LG3GN(TCO+etY;?Y7(@AynsJq)bHdRY}Q$Eoh?ld z%f%bFFOvOzxSd>OhC_SOlbz+|8L}7pu?5~9M*c+J*Rh{u{PvN9C!_xI#m+2+3w`&NEL9^}o?rgC!!w0W2hvp2@qhIxq( z^Lb;y>;m&#cMY~M!MvdS9Sifw{p;VhFyUJUC*skbeb{?1fAiP;_kvmPZC(e~-qruS z)SNc8*OX^2H8<^#ootLeVv)4yCRIKZI+Lv1djH6IeC^{k{C4i-k=zWD5y#3Gcrf+C zc^3}i{~$(!cwR4tCF8|Y9LPJht3BYu`+0d6rt-NrXYE%vb3Zn?)Ou@!F66^O{<+)Q zM8+6jHRDsxQjPI_z;1I5P*458_so%T1-YIE?gMVe8@J$V4~<>9o>WhGIpeXByjMwn z4{{DY9;&Z$t)cqDv2r~LFKXv4q5f^ICqG}~eWTi#5^7_2_`jPvVf^2vHt1)pe2qWg zo%+}K{z}{WemkFgga3v%jquR9DdxcyZr>RHLx&#&;`v8jpAV>sJQsmn;9&2PToCwX zWEX$*E6Qs;QYJB~jBNN1QAX=2%xBRbiyHGbb0@rcVR5I~S`_WXsIR<|u{8T%4w+E) zWcm9tp8U+BvGOzdQ%j4%zsf5f*vmyZ3*Nt?Ap6&!n|GC=PgPmkRZPsQWoR#F2mXP{ z(KIn&8RD4CcPmq~%5#3zNW4H!Fq~SH46iw#OPk8KEE(SBTsG?8%Ng>7-@nRL^ZqE6 zrT?jv?;Rz>Q`eVYyC%0f-PjSY7?_cKv@#>PwbGiDUGb8E4&>f;DYAX z0z0zelmgnWHfsjpf#_OY0}T#7FrHY})8k@!+2ix&2gwKVAmfluEZth`rH4LMuS9=p zUwQ%kS9*M3)6~;FeK?kuuL-|7pE?hqeMfPO=)A=Z_m12pqPnB~UQNIuU21o5Xl(~@ z^aF?Wc>#xfRskIA@f*lb&_w@&V=ABWd4=KlLI{r5WH1$u& z;M##l{w~q_SpF`T-{tQTeR?#=S_t{WL_>iLyri+$JUxlM+Rq6YalvUyvg(QQjjtMg zes~^)l;&B&GlNHVPLo|%S@7vv@&c{ro&)ZqG0UJ^=DY8XfebQ?7y)cHUNB&b0m?bj=&l&l}zK+%dAA`CgzHyLjvd?63Ka+oSWn zxS?R&YDZ_0Y8?7VV*k-tGko`O(j0Z=FX5hYD}M=Zz2K!6S)V-Xbd)=#DY-L&C&dVlx zBIE6=d;~orZaNDS_eqsc!zZb`TvD07l60sl=0$o`F0!m}1OA_EBwNUyzN#SGi)5o2 z%&B5wJF}hW@ZP-}!5Y*%{ibpg8N2F;M+CnUqY=^n@bbY|z2kS`Yjj(&bbf-`6OQ|_ zU&qs|t2{n^+7RDWdt3Nj`>^IcqB4BfUiepXi>u5J`Bb~smIsXTqY6&h6FalVmOAst z!>_&i0jzo#C*}uV=S;o(7H!Cu7sYeb5od2Nu zkey$AKA1b%vXW|f7wMern`Q{xuc=e)7}GkpYeyPP(zjV-f2TlJMy z`v-|HXhBY$i`ZFSN%{^AFNISFvBvj*aIRn%+9Ust&#N1HCVLJtUZlS>#M z@gw|3TsU_TM6%1uz3kDF9kLN(f{6>B>EmQvin^)%gziW;u?SrS>(ix-##{yO?j|m! zoAz{fO-(vq9KtqXzq1}xCz4ubV|IgfJE>=F!PyPOr!N#gd?KP4V%iv)?=I_S4PapW zakZtjq;}p#8{@!p9kBfl9Iy=y)?_?dQ9CMQ@j{;KHttETrJP`T0zLOP@U#Ruk7AoN z7hc@>2wzkl_O8;Lgzi0(J+n|o&OpW`4n}(wa%qc0+zH=BCyl=MhZJ2#`i5%kq)x}R$G>&>N}=Dfc1${Zv9UuTVKhL@t%`?aY#HM9KZuVhSaUW`&9BqO zIn258FJWIcIo4oSv1+0vzULIX#d_kCn3u|l!Ye)!#k}jzZLP=Aamw-!NAumK>Rdnm z6OWHM)Qu7sHkHpvx~J5_r_N;SPA%5TOxfnOR%D-7zwN>q@DUqVfW`*TTQCx@tavqz zNwMQ~j^dR)+2H4Qd-r3=9$%NcXFK;M5pQ%t$;A(%@@iMM^iNO1FAwi)bGSnd8+R*Z zu&onwm@l{F>RBuG_yIVJWaA@e6>dGCw*1TePAK=o{}mIZeNX$k&drv${Mp*r13h}Q zeOCs>b`E@F@DC*x-Nf>ddUR%14n|d z_uoAmhWc%#nq?$>AIU88PUQpnLg3cEDRcl z`kKtA@U1?C*IL^C&;)oH-!(`2e_S$OyzHa(Ls?=cfz8Swl2wc2>xYEz1aSg7Q-v%5 z4gc-^w&CkhKa$noJ*w|0eb;8lpH2U;yuE%c(3~Ss^3SeKhFL9KI+o4jd(a#KTD9&MbDb|gMFM6 zZ&B7B5}xXs4cbv}VI| zA^4s|C(=9zxGrnYVw}M|3)fL_aGSI1Jb%I;f6^cS@xVN~ZMEA)`$5|ejnVc8)Ajh! zSbOjoyM|cbO%A@9#O%VYZ)J@idP4b5#b;INEKRETZtxVyDyNO>HEEvDJ$=5p=g_6* z9G)Y1UOr^0x$edD&4q*Ko44@X{lfXC(z4Win@4{Ezm@Hv>e9D9ljU<>qOW4IT0`DF zuu=9D#iMIp6YSRkpOF12%qQ5-OZ(oSeR8CX>=@xP;x{#vX?LY}EwuZj_>FNne+UnO zrxNRt9p>*%?n-+GrwLvvzS;n9`9(7UdrI>QsNFDX&-@_$l?{ zX}8eIr_P}y`P5ky@%L8x77q^idp~`c4D;>t_idjW$-B{(p&iP$@~QcR_f_hc-;dno z#G z`W@bMfQ{$yaH+mN@MIkSbgDchqPT=!d}PACcNgSCOEy+g>Aq5Xwy*T(OE*4Km)W=- z+c)cpdr5{ghE(~l(2C?ojcXHoqxMe4c-A=i;&uDh54nCUfb7JQ18R8xJ$^?IVDIwo z`APws_|XE!dzu6PMt=X=2kVDgUF}u)s@#0!Df(3zkTKZgut(FD z)4h>8<0W|7($e*=9f+omEy!-H{1Gr5dp_hBcfK&BccPWxY>0HyL$TLuK7~u-n+8RH z!q3BgdHr4k{i%%BdyqqdcvnQ$Wr-+fyhIBDoUf*X4VCG@*+T3@Fm{bMJbsNm828b8 zG4B0nFX66Y?Vehkrm-{bwv_JQySCCu9Bysq7=Qey6zhF^`8AA3?=?1+3CCJg8b@#- zSwQon{bsdaM`KqV;i3*)gz>=d77vYkfro*OwcOPTuCmbhY}R8=>k(PQy}Y12-J&u5 zCiy_IXBQ57bgbW`ABc_xTNK!a_VMZ0Z$mn+=q}3pScrzDW2sO0L@A(Q1J6;uo{ygf zt>@q&=2w-@`c1?P*j&M=>f;KId9Y&Z*)^UjA3{4Sqc#Me!~Y9`FQ|tfINmwS+mkGe zj7f0b8Nf-~*k6WW{0+Yc>kPWHFb42Btg+`=V?o>T{Wm-_tA5jg?4N^XrvuKsKfO<7 z*~{x!J)_+6)St|H6#gc?^w(FK`!gF^OUxO(A?bSO2_tUS%4)hFd$#3u3yKri!&(coS7ASqedHkG>zg=h)XrJjChUW)i7B>h4RhphCLqker&8vf&~$sK zOmbA2Hp)z=Orw0~#Ph3ddnT8?*UAw!k|P!rf6g2ivy>i*A1fGeeYJuOYaQ0!jW>iOu)>;>^E-XFqeHJ^ve_E&%PGY$K%eWri^ z&Ce1;JSf`^=VwZ9)7jdLc+$cmvD1{ldO+v18D3{A+Fj6I`cw3#M0!JI7VXF5>g%>=)$g74o1abm`TwxSM4#qv$@_Y*|3{bM{hZch z58H{&y?`%=vb5p-=J5>XtGUx}^IX2yrsV7CDkabx6)*HL#*sijYn1%PSf=)SV~Hiv z1C#R@&q>Ai`QwT9_f_UIo}hfx5pB=HMulyLF>TP8;IFadhRVMHi*TTQWNv^1c%sG} z=8Mt9)&Bm_Gugt$c$f#vuY-QVaMh#*)5*v_BRGx$*I^;JVx!3L{dOmDUu6d0MMI()=ApTve(f`SdUIK?x$JpHv}5T2 z98`n%s!*TWD}^iJLih^y%hCPTq$RU?{d#?_+ijnw{*q@DgBIx6?K=OOXaCE3@j%=c zUkLPWLmcLjT1$*UYwb+*1g&f7NK07TjVXTT9lCB2dY=GKZ63}0ls6!fxD)+kepzSh z+g-OL*_&9MYsI^?$9$AC`0cD`*_tFn>)Zu)%fYo6{sJGSV|mo3O4Lyd&TQ8CiOT!2 z<&dMI-nrb`N1e=1Dmu%e^NrYTCbSb9<)3Mpsd$!Iz&cm!+?5@N zm_*KtHN3BG=mo~OPnPuyT$2AZ)|1{}H>C4NlEcKGcRVax*Qxdn+eBsqXZs{8tsSUK zA5-vTrIV@a`L!?mq1HA&Qb#;N>p;2J^Tl6IB#w-^7d}P*U4A*y*{-xNf3{?!uF1+B z7RW|A;~fdfaFS`u8>Fj@l#yJgGC_<%19u_cZp#?V|!$aozA&Pbc?Ra;^AE?56a9wUkk=jCRiR$)_j#YWwpm%?p28IgAh8Z!a5Jqfu^|brsRZEySxgx{7fi zzJYZ>y;v*n0-D#FfZmGjDR&~YO)3|&N^J{vjq66v^|g~*Li(fDg=nAHy}{LNMgi?h zkJUUh9X99bnb=Bo&z;~%smo_RyHJzYnZgr$hji?KUqrx-(+>3h4$*8{ zYx!Op|j!}==3@?n2N7tUhq%pm{5r?s}F!%B8FJc{*y{`%UXCD@IGYtiFm^mf^f zWOLPgHB$a+;UllSeqE)8ob(3D(Vp58{u(n|D~+^;9|xYGlENQ+q3D z4?Dj-W73$pr_z$_D?MlM{X!dRQ})w06Jwolk!Ls$*~&Qs@r{WgFsxu^A`F+Hp?jKNoe^&?zv zrA%PE5gdDK2h&=n4{HZIul6G2Jh##;LyisRGi=8}ZbL5dV#?(Q^zAysxjv?5!8wn^ zBOY=IFv)iQns$|ZZ>c(qT_x??Rj6N!?Yx!GNUEol->?t1 zl{E91(S76j;(LCMZH4(inoqVD_@nG9*I2vC1+1lSnX9Z_aXMHkDV{hjU%nP%_w1pgYdEmttA& zmIr3xO8eU**axKp3TEk6(yPE{v)#wgqqHWZNA0v@TOgm^mL1^pzkciKt;h>;ja{@K zqrG=S`_|^-YK?e)diAG0`h&a+^g(1}s}H*F3Bx*TBHA~wWf5gu;b#H%@L$2lQj>m3 z9}i($ur{eIF#`$Nq&(ZoZC83W2hn;>k~z$6+}@GH*1!{ie%kZ(m1&7R+gY^F{P{ZW zdUlx`eDC;G6rh@d*R*FF}nxO zgx_jT)yFA5Y@_WMQ5%Ej$t-)e=d3J!7ks3vz&Z27dKWsKh_&somJ-+`8xz-5YE#Gg_+E%y=fy%E#F+G6<5QWiZRc!ouDww< z3GvP;ep!{%`VY%({O0eCy{}=@T3PxWutwm4|AOt&F%M{OF9&PI0dCncw4brB#_Rq0 zCPpFNhVMdn6P;?064~&NO zeIZzp_v2?GPX@4lG6X9zDzAd|gC}D*O?mtTd_{<<-^HHO^81yhm8X}ppEo>mzHxW1 zG^cXjvs}Puz_YAjsX3je5q(1W0;>{k!T9GOh}-`5tw+~d-^4GEJfXa%x}o5ZH^eyb zn#9kb3Egp+pFp_@%G=Y9p3y+eH~P(%@Hu!Zi)1}nM0@flz8DM}A^3eOl4}AVu4q~9Ev7xmA@b!my7!Pj7&s%lo{4(7p0lIC6v-er5z{L= z3GDh>UvZcA^BXE>`13x6-&(MDst?(_#FMtg}k{@vLY0J)lk2B0OpRjzcU@ zT3^Xy^LjtDc}U`etOEz0JfEC@+~<*5R*dH96B-WoxzYY$;bH@0m)}lh*mL62e*@hK z`P}ArS}Xjpwly~GBY`Zl^W_W8dNQeAhbtrDz}A0$cn>ewWOn z-z&lq@^d3FXszqag_Wt(YpJ_;aUUPhIIYa@$pvG@eaxp!IPPP2u@S-jbC--;YCg~N zVV===Id2p${;)mH-QK&$#X;aA$$Q~WxDxFIxDqa#d9U~z;qa_FWLI=G#b}%xTWZeW ziSM6-N5QM=*I3(}>|_yaVBvMC_@}CV+AU~p61&XWTmY^m>RLV`8CUjfJ@x)sU#G@P0QCA}ZOasAN=Qq3ssdfXgzAkOP7e zNsOiDTP-nB$se^T=8sG%e`KaLJHxc=j+&M40wwuAU+2E>-Ft@xP3ir4eE&F)d*(jp zK0mH=o$Fk`&UJ>zm*J~?X7_RA)g{^U6F=)2Ztmy_roUGTM$vnuTG&561>bk7wT-Ax zEAN&cJ^HPv_-I|`$sf^vvC^w*Ya&!^MK4YSslOyI&LHeT|=%1VUzXP9M`3~y4A0xvJ?-KlcYstMs zz{a}G0{gh;7F@Rb?6mxs4jfs$Fk*O7nDQJKJx>NbvR9j!0 zjDyFtcP8zbI6N_JMdBGN=hgF6TMdSB8Tv|Fk`L6$KNj{n>ceOGTDLvbuQ3b1tGj@CM7+Il8yvT|zOXmK{0ctz zfa7)GL?pPnH;nFP9PkPz`Og~i_M@SE3bqUGzA{7k6ud$i$EV6n-1vQ&f%it;`q zPt_TLXZN|pjkyZkC4-z#p2ZD*2YL4jzJJ7E=z9g-SdDSkX8_+y)z5hQePF$^r-HM7 z9f5p@r4t^OMrWI(&vE*m&2{fH^7J3@{UbFA>PZO>rxZ_sZ$Z z`hzbFoRv>c>$G%7{cmP}ZB9*w-*Dv1YWk(V>%HCyhvWw?9>f2Bcq$jrdWIhN?UKj) zYQCwgs}}!R)u-}7+6cw4r(^36Bu=n?9QrT2lFD?U100?^k$q>Tc!awcW3e_)UNYDH zu=RC4MYgQ|eu=)%MNj%s=DU{iUZ3>-boBVm_(BgiC+3?O6FlrL{=$lbB730l06uDr z;M#0DM~{u#cccCVPRKVzy0s{JU~Kc8@mp93@vKAdE*ks{zH+jU45v+o`kllb zzmr%By^Vpkq_dn?S;_avexfI=!vJerG|8id)m*v_Fle<_Hs^p z6LaWqXiu>R)LxwW!?d@;wzo7t(QU6f{YcL&Xmve%qes8xGc6w$^km(i27dDC2`4)9 zW24yD;rE1pHpV)00=|Za$AMdFV^1(G9W`gvpdZrfdiDm%ujTXrXtv!EU)q*aY4F5eIBcb)5O9t%%uJnwW;J?q*)oEy;Ff(eoxAYK z;R#m26L98>|K7f%n1=!Oh5;Szy3!fouGPn|PN(KrkMIRri_oKRtfIWu*rzEk{aiFk z92W3bG8D21zZVrWU;8iz9`6zC&Y0Hc2l$Txe`jo$QPF|rB@EVK$ud#bpSg*r)uU3U z_IS~WtI@Mbw_uhrvKRV1bgNanozAZ$~VF*WMoSd zq>C49RZlJ7-muB>ZBsjzzesCMKiDH0A-%b1hsAl?tED}ETY`<(R^OHAm~-j8Xrf0~ z)z0`V^^jt@<)!7etxl`&Ra?@x*O-Ul=Q92L9J_Tds2L`F*j% z3D&*2ow0J3Fg2z$Aw33uds1F&A3wwXb$<$V$sbDVe!w5fiPd`z?P?zseNek6yJc0b zvTeWrQ-e7fJaPCgt#`pE6*(Dx*MW`bf%f3Lz(Mg|TK5eJ^!F*pZ*3^pyni>aX{~_G zA#V{j(#s1zr2D3T2Gw?#Y30BY5@9fBJ80l)->}AE+5PHmhbWGEW^m# zmwwg8Xougz9mUxl7NI;(@fB)IYx~waw{iAo34F1$wuiH>wa!ILwEhK?NIZ-Dfb2`rYIer2@sVz3*t2on#*k zf%7k6E8dg+rU{wrkMupn+SU=Q_N|F?5#NsCY?F;;41p#&FOaqSMsYhmr3AB9(T}`M7uPXH3mBmaFxuh zxvWk9vZpESv+*Sz8Bn%5JBPF{x!>QGH-~Ap6?fW_PE`Dy>`iLR!HHb=p|&l~h0&I9 zIf{K(a<_0XDqP^b`sl5@U|Q!iXTb|gU%9q7p|j1DzlOpA~0KOa8*IQENhLi#-F{%=sqZCfax-{rA@J z_@pa;@eBgf7~g0O{}-@TEWz>ox9ch;8vM(iiTrOS#YtnSvo?uNEPW+(nR_N^Te6yT zNTSPXS9_A^vf5pyc5@C*mK-MfC^<~+sy?l+588GeIZW+p-wc{ZdZO4&B!>w;;w`kM zhsU7B%&qQa)H)a6EB$;m^ISpy zy~%~d21nl){VsAedgf8*ac*}R=XRInJ-Jdk-o=4)^FivVN$VWrtnTzR%ksywo--@v z=7ke1rBdg#dwPPAJ4(TnVoBq}8kg>2M!(McsoNDBfV*I#lt<_7tZ#?!JcM;7-$hU7 zt@(M_Ew8fL$CdA=cf7aj&7kuR)A!C%mm-tj&Yn$-B>Gg3U$X5__C%M?oM!u?efcN0 zZg{aleR1TwH#kdcMz4E8dT*80{(Ze$UVRy^z5o;TMdyz_y|=$VnZR6po|hH`OYI55 zBh88MD8syDR4=gk9=1R|4?qv2Zvwf6#Sl8f^onKq6M*m1g%{+9GZvkX$xL$Ln{eP8 zltljMzu8I$0LFJzx&g`?fEY5ZSyzth-6)Aj^s$dRCgoNZrRI1dHmrGX28apxcy3%(|e zT_puR1IM%NnedYf!VlrN>@!_C?rCx9pXfw-(z3j0y@&7e#}>X<^LaU-;6?K)}pAo>%GAbTY}*w5^yUW*UgH)_3cH^-p%+pT@)co+79 zm51l*$BXVa>aX@z56@L@U=9ZQL*w;RC@Y*o-{?OLBx}yE1dEv0msB4_UVU<-MzU!9v z`k?&5bZej=(Z~{bM#=Y%jOOj}p3d6pM{?{*>@iI_=~3Zn^i0B!@@!7U*ay*@M739D zOPNL3;)_CCg3!~TeTW6zd&{Pq1S*(1plU9)Gm8HeN+;cb-f zs%i5)#)KZr^1Q(ucTVNdTacu;7?;|geR=C9-oGX zAa5McAZ>{c(40=OZDsNe*%Rz}Py^iznumI{{|bi$tA@0AZNV+wt2M2=PGqkSLz6!a zUNzI736cHL&#ZNLZI@OGr$lQ$L>nq2TB&j#T~Zz2WKOj7XCE(dJC`%&LG+Sa-p+uybmm*jJ_t+9FgplD*PTVC%~ zzOoOzvwav#AHwDYduCR9kIv0@>1=$J$vgPf*$XdXd2{RM5Od@;>Dvu+@Di~w_M{_d z0^T#2zdiA@@*ST-84r&){|es3jR&RkLos|sWT!X8J38Z)Z~bq8J352RSKNJH2M&98 z)Q8-6H{T{Yme8FX;V8K9=xq39U;#f_tczzX|9gPO5EY(4=ab+ON#}Oz=*wn&Bcuz^ z8aRNxSUwV3Pqmb7;2YK7V3q)L__^eRrS&(P@~Rl$0DIwn2z*g|c0+ybe~6S9;CG-g zjG9492Ik2%e5reXOEi6RBq+eVZ6{>Qleu zpY=uhqj(r}aN|qyL*Luo>BR*!MFI*zNpv;0_;u?uAzXltHQvLR1WS!)|6`!TtX<`?#=}8;Uo;n#3(F_D zF1otZN{kiRIYu4)mhIySGI<+~}Xy8Pu;m*SWPBGa%@r%P4zfmmPY ztXGueW1~1m)w~O$o2g-cdkj8ZWAxSnw7dWJ1g9?isFqK~XFTP6OFsg6aPUi<6Z~(IhhG;x!=07bWBbmi z>GO|a{BG8Gvu}-iV+gwMZu`mLHU7jItZ~L87}Ui(>>6jU7+B-ThSKNBe}2Ce==+dg zwZ0YqIS3cbGmkQ%^H6Z)R?^mc8|T5o1*hAH8ek_axG1NdHdlYHyjS?}-SW*LH8y4f7YK%M0V(CIn;?my9yx01lb5Do4`Tk6QdmS!ah`8~N7SgWTZ0X`| z2flgZXs3<3F8rYRuYRbl0CN`QsrI6A$LBp3r@eT(uur_bHxyY`ux&C|igna`H{+&V zuN|$2CKpz$Ijh&Ni=?-H{q`MJ7b!aP#P1?~S-$gs6CL84FS_46_`671-%SK>XY-vG zhbW-6$GY3{l4#iKQhT&L-?$HV9F1C-SInWE%+nygEaAqiPHN4bQoKU+0X|l1G9((r zUZ&sGtlJmItS`NY-@fKXKKoxrpG8~6v2mS?g9l1pX?2a))g4q01XlIvyJ37MTa4mw z>wm4KWr|5Lty{X?no+BI#ES&fRw7$E3BQQL^VFN7KXL8ty0b7_YK|{2jfCD$;AxVR z@)LQ=W}Q3*dVp>{kk#EGj+{$hkDXu~e>#sp{8(1LPwD&w#=spAg^5x4PsSmgOda-n z%9jjxpNi&uuzEW_7@Se%_jrCwA2IY*JAx=#k;~IqDNF*BE#JQ!>NA)bvLu`j;5WfxmQ8&)UPAy(@5TVa{=5M)8wap z_bx0wdLSRV+CNw9)s3?$JKI+_sJTMlCth|fxFemMqx+=yCb6`X5=8H*v*En4vp#j@4bh;x)bT|LJmj9t9e1`ZjRR zK=@*q-{0{6A@{$|z$u2$_%#0Th9}7o^F#b|4ekCqxV@~{Kl(oo7(ML%_w-WZ=_kBk zKTo22K%b}GrnqSS-igUCA3v`>>Es5t*ID=l?P(6ZGBzg1pgwgJHc{po{QgBN{XF9e z=4^cOz|sRFhZmayE!>;+G-Xb;d;b+jnPMQyo^e#Xm>p)IyT9G~wbU(tRy(yOnh&r( zI6v38hWJ93R;JKj+eaNwPd<`eMe>no=~;|b^sX8i1Dx#J zF=^n8kk*X$DXpPe+7z!U-o?=NGx&hl;sdAsFJSOX&Ta0|-Jcp;y>lM2pniU?5uaEe zymy_G_QGuXungOq=)zRu#ft8{k8$PkuNWVhQkd4I*x}B5#l@*k+CCNX_k#^F{&PqFZ1~MmFgqo=~_{!SlAR zbo;lRyQt*Z6MPQF#{yFUh-N(d+m)JNAGe?^?I+fcJ9F z6}%Zg-@;m{j;rsE4}7A6hKaY%(kDwx6Yx*8t5{1X0Yhkj6E`Kn-B0LvJzP8N_YTj# z4jfB@L-?~<|5M?S;J0!I^GCg!vsILd!`rD|t>s(D^LX~<`8mzURZg!;^8|5xy1~ReTpov8w&P?^f>=*Vy54 z7=uYUvWV!^dstWUW6*D%H&QI1zi`G+?du&vPxzrj8C#P0PRxrZkDOu0=D?ow;o%#& z-$*#1v9@``TG75{x=QL_wl~IkEhHI_71P_C;9q*7g{N3Pz zU^R|4-fr4ouyQ1_}DZ&M0C;aLg8vw@-fHK7587oim|LM!xp1#|_zvxsl)UEEt{ z^)U9FGwa*Rn^^}}4gnVOJ!6epJYn47b3It|4x0!5WDbthMA3zbcDZYF6nPr2_Pj$y z$6~_8gpGe6i*g2$HDc?IqJNCqGawcp_Z6(OF08Y;fW;Bo(j5fO8HYqSeDx7J?^{P~ z0+U59VLo(EK_HsQ-l+1MmhCO z>kjaZcm_Qkf1+LM75_lJ)NR6w^BzI(p*9C_V=?1Mmy{PsCGroZ!Hcx;VwRQdbOtWu z;>DfIz>6gF4^7m4aRKXR;+&PRd=34$_s7Bu?2V}oA6_`IbXC`V)Da4FfESC=U2=D9 zTsX1Vw(srtYg;qFw9{e3+7HzF&ZteLj&Ru_%@koCq{qESva&ViJBo?1bKeWz7 zZ!ZuHVQp#6>z(%Dzx>yT@_g!tkL;)0FTdv2opj=8etxL>p*?Z8{#v*G>Aw2)u7>)5 zNBvC|^*`;_A9U;g+-~aEy{p1yul{3)sQ+Q`H-v4jj&nkii^Y%MbBOq~N$76j!_)5h zS7-)fE{+B7qx_DeBi9+SXbf5gygYtl`gO1M*QYw-%(wF9LMuZF+MzA+pHtOm^w8L2 ztiDQdT*8c5@D~rHInZ~%5RK)(=BFlx-J3Ec^_jY)GgN)L zL)Z@+!nd#Ay$#{3PYu`*%tzk74dJi!Yj-w;+4RS=A$*SCvLTFJ-D$S1>NH*VIW~l; z{GJ!=FwcBs>&|Ugbej6dGG+%)mGSh9P0VcySS@}MeFyV6mVHO`L-vEJD0&I#v7=*L zL|gzjrVskV_zfLq&Mle#dce6sc7+RfQ=hGiGt{=OSh}S8rH_2&haIM#`aE5o?%~ir z^WMKnSI7CiIBPG#I%b{CKC;%zcaqaO&*cth^yP}BHR6S>0XK>WHjAf%xcZ=CKa_qUd$R z=ciW7n5UWTW%+ifT#)?NZg$G5oP1|Q5A8l1CEisu{%7a=h3q$+OH}{a=e*~Rr<}D* zJmT;?@fpx}@nN2f^7-updav&X|<$RAgI5swjqS1`oUM;{aR%ZrNt zb~x+9&JViYlYblOyXU$A9dVp-34i{b`o_5R9rIg9e|+;PHGT7_)59y-Zzd!6R_dzM zw}ks%Jc?)gXma1pXRZVbk2bA3WmntBzJA&S96j5|lS^yL`@+l0?(yY!*T9=BFWrMI z_xb&5it`URfphoRK=!LG&L4fEmHDh~Wc2aYHnNZ9ftQ!|!6q`CG40MKaw2Qhvxz*3 zj`Qu>L>{28yR(VJfPrTd`7pnK0xsmT*gQx%7Td&_&<=RBM-b9gG> zqgAqr91rYHf8sx56WQ{E4zuRQ0h-1hYiXLt`%a`?6V2^)o5&2>9Y?!fJHp$cY$8YB zGGG(=_HQD6JH9`F@A_sao5(o#n?=8IaQdG!YWg1HJCDvnHH;6CrCiA9%QJbFXMd~3!4jTesEJHCu!smYJN9a@TRo@bD!y_XGKz_vez zJ8VZI3*z^(5izoLTA7C&fSw!X+!(YR?EG;3qDgb=>DRgOpwh`?N75lS>vPn zJ-x_%%B-{Lio+Iej>;B2-Rj}utPQ)~e0L{X8Nm$Lxz~LU+bR39bUszc&^r5{<1D@Y zKYnVPnfikPo?iM4tvU3omT&tZ=h`)fFVql!HN5(z!y4DW)WzN72OP2LCHWWyjxhXg zf2j-Fkc>WAYL9IxwMV;3#4)wJdVqD`n5|;pTE$&&PnPCK9iJZ7X}Fhf;@r_ZpZkkd zZo_qyV;$*to^i?E|9neTpHuEWTMpU1c)eRrzrAu#Q0~j4FFn?a!>Jgw8pmw+PQL){ zd2v%k4+OI_cz5rIpdn$=kig6FMu&!+f?S|7;!7hQe7W=8yYGDhI!mp+W=re#4*gJj z6Y$woyr705+MGz6@#Lyf+_t%Q?mKM(C!U>NQ;whVnzakoF*n*r<%8|e#$0iRJH}Z& zMRRr51YQ97Y;kD>aFXsy^iH(axmViBS4;~Obv9pc^zvW(F!xDibKR38KV=Ra9G@E9 zJ&vRN2v_2GHT7is_S#IFY!A!4zi?kl{4X?bH!TBm00aik&V# zT`>*hQ~3JXJGt-3!3W_8d4+%QPO+S&+qU?K9Z9iTk(;Pvb!h|hqw~+QVT5cwy3j;T&T*>U0BshLN4taz31aIek+~Ac;rNU+@O0*4 z;9hcPE;x$=tR)9JbK&HNi0AIi#g!JPy?n*uk#6h*oAIYe5>E(SxKqD3*YB);yQk3i zv9{hsaU9R_q&M3mW0X<+Zk>VE-L?3}heNIn_07JmLx-pMTC)AC4(IMnon?38Lexa# z$o84SiA&_)As+r#$|Q=@G{3;3e18PF7&`^}hqf=g23+tf6)vQlx@0p$o_;}V0RE>i z%yhi)c3`jlrJlMp=jx+y%EqEi$p2NiiLDs^DirA;mh|$%?J?(k|69Q$)u(+zFjGHw zH~&%QT>FB(3y*K2{cHT4&3m(3?*x}tiB9efeD&z|WY&N0hvW~$IWpijnffO}yQTum zmMC-*pD^HS@kVe)=kLODF?;Bn^Jr7SzZb@_-z9V13F?jkqwF;73n}T6WLI;1jjS(x zly|XQ@!hWy_m{j5%8kXQ8i-<(f@c-K${7f3E$HY{>5}N`jFi^dDaE}-Qw5j9K3-?z zh-rM2xoaXpJDW5H;1K8k?flkQgx882_T;P`WqU5uu8~tX+hA>`KD=J+;`P5r--UZe zP?yFB&9VE1`oxRIAoRHop1!VXfNl>T&pe9H_r2>xkCxK>0&kD@gU^k5><@YLHI6K> zzUQ^~bAJnGYgE7Vf}XD*?KIv)*?W9t=Tm2baW_-`YkzQXM|3cls1l6a^|I%^OLRdr z{>6Xo#GbgkaOwXe81|yK>-F(>n}EY}yp!*Z2b*Tbd+-o2l)v^pzH>6L$ zLwzuOuMdW|ecFNH^}xlkfr;iUE`9%B($NmS@7&|T%E+8^a~U&Xb%*)qF>U6#wHb5Y zN7~FoJn!azj^~&7KcDAqJlA|DW4?JbdP$yN9%Tc8Eg_G8a)6u)^ebbkWtNVxQeDtK&nu7mD=9%Mg9jByEpiuIBhEakJ=6Tc+4i+kgO$|Ed1OXZB2&1)Smoa{5r-`|G22F`)$)n?d1vT zi_yoJOIHp*5r5O{x>78s{qi)s$0=sJW zKZsq@1B(3ZM^cVEMgEzVh2eJA?y>VfM^uZ|eV@8cUUzmk4z zq3jl4**VnJ%(GXXZ4D2=@gV9OOW7EFib>+%63)IPem@2u!%BL& zndivx@|RwnI*Kze+_?*`{P11$3!bduW24Ht!)tHhIKI)gA8K3e3SL!7WNqlaVvuM& z;`7zl9iQ7-j?uP!qiMhUSl)|%c`ykw&Y*9cX95#1zjA)_2e3B{AArd-_)d!UN#+p$ z{@S~0$}#p@)vKaOlWb%Hf#bHxY3?;%@oww@<^pp{iBWef4`)zMt{ z<43-AzEI;7f6N};U4TD6xjtCFHngRLP2P?fUm~{Y)7*V~FkXciU&uGU1A)bkhV`W# zp@A`fmoXFng1V+z|1|B9`|sc^9WaihojI1D8opUCu(vZ09uNKYc#Z0$__0~m_f3As zoYxDd=u^tqr@tQV*yKXAe=z)q@H0T$`c5$xp{spC&p(szt_+)elETk3CKeFHFc z_(6}~%<@gv_stinr=550zIQKCkH#;WrSX50@ykz4zS0`|1x+pvCmkH#d%UvnP;#Jr z_7um0I1v^v92(?};W^HHJm)*NGLbQC;oTPByL%YJc*%Rn9fH65{mApf%l1sJ#p7A_ z4prfQ2>6c2_8yEZEFRAsvu-#;$GslU5u-VWtV?<3qpt?vZqY*UGd!L;g%8b<6_#&$ znY9x(E%^ZSBp#UA{dfFi6kkWMF-g&Ynf4rjY)yWhgzD26^$`HE#*w?EZrs1 z=+KH;%!eblYflUzw`)u~pE2uFWU;r%vuh2zYm>FTXIzwyQZZobqt3q9B^brf`^7FD z9gL;N)T5_tK(=f!3#oJO@MO{>YEC93+ijiAJog5#r~O29O!}ktWLN2@ORF6Dkau&s zBF?^-RBSs(PWJY-H`TA8pOQ{S`W5Y+f_B{czTvM{C8`2xpJ0 zDEls7S@tyUMlpSpkz*(OC`O3ujZg;%gCdzK| zmA#SrG-mN|(skH=iHB3a;NiqKY0WM?dDL58gB~vntO09cKk2=6j)Xgq!6oiagfAQ! zUiXsrsd)I-m(`BGk?emy?bz?3&uQ*J(>w7+Z;Zj7!Bcu%o`okUS9zyJ_;-g+{Q8I5 zO!~@<`NoGi2g36M{GY({{rr#c{Nqt=X6x#Vxr+A-c%IGwxja9||H(W@^S^=T6rQnF z8S};m+f0z>Cu419>=hXk=6{6eRXi80%$WClpv{cq`LiS2%;pstGo9xwo{#g~n9Z2A z%h! zYMxi{zm?|+{GZD67RIxR@!UrHYiRFc>i29R5!V(XJE}*21I+Dbxkt~F$Io={)jX29 zk)1~SK{B%0mX8bfv5_3mxauYG?_I8)B#Et6YxYj`?Ygro*9gy)WxZOuaGJYj-?{83 zJQN+lCyf5U6O)$O_2=+KoI`88jP;_vsXw1JPg*>qe~lg;v}1AUVHSU!Rirhf@Vl@T zHyu~p!0(NuO{DYouPL5)@NvZ)zpo|TK>8->THC9XSUHUf7?ccHghyAHT zUid)Xwfo+E;dRl{)uoYX_~)p@M~TmG{loBb&aCUL#_v#cU;8yYljWgw58g!JKazH| z-!6PsJ{RjsbHK%#K(=QxYc8>Qg#8{q3Z81U<*DGOEFVQ&$i`}OVm}|n9eT&Ao!{7Y zv={xGe3advPqlp1&uK4%E;_?`RZlPYBgVaecME*)j@-?-kM)gPXF)V>_yap`jTt`D z@{N-jv*0t-_}~kN9G}A{zO(Te%Nv|(`BV8>OD3*$?K_XB9p2*&bl>tvcVv*x(rerg zt=Lh1-O~SZhh3VzHtpMM&jC*Jc{ktpuK3!}`0>iKZyi6j|K7n5?Oz^#Jaqr=;kP^d zIB757$1%+18utG+zWx6&#=VSp%Y5&y+s(Lt;u|-y^(}tDQw>@d9**42xOaym;w6V# z1OI6pIl;vd`aB3nkWY5O5pN$6ef{&2D(h3Ey)?kL-X6-nWA{tGx3t*fzn`VN_OSPW zXG`A0zQ34#{}A?lp5HnYKiiIsIhpqfo}c6W=kuI;DRD{;ZZpk1J)c1N z13G?D+8Yza*^viIqD`Gg4EQs6`!s9!u32%dHQDnQ^PGY0$=dJPOOO+g&*k5Rj|yz8 zbdZV_>&fpb{n^NtYWA^Vf~Wjq9_Rih`J8V&xu(xKQ;5+KF27QZ zS$agz_xGu9)s#oLzQ13ocYJ?0;rly%Oil4?qfRL5td#tHzuItu_4maQ!Nx!dz>Jzx`9^2O{sPD%N#5=UnS! z#67_ts`;JW+RBMwlr8xVa3@imh>k z@6M_Qd!9H^d<}p4Wl`sRmgkS(@siGGt+U@k%fcz(AQ?$}?hnXQotz`WFHo@`(YHj_ zRR_WK9_XHdo&+Ls&e}~Y;_tE41lsc^L7ammx{i3ZG|pGo!sx)6ikfJyyYFo7Q|8=2 z3O}xYt>e57Y5Ub}CJ>v1KfYtD<{s^0Ah0M4-mk7)D<-ZoPMo92*QzWX!KcNJ9opL% zNkJ1Xs^z^S6MK1wkylS%;;VJLC*eZ(e5US)iwMO>6|d zUVF{H_MCGQgX1wB?rRUY47->1R=Vx|g1YQE4dzX9tasje=Zgd5BgT+Dr{T5N52N6c;8-kT=lk)^#nh|+{b$tJ2fX{JKSQ34ap$(_olo=H)c1d1uYG1_ zaX&+Q>KARzt!PL0JIss;?shouE$_m)qkHCenC5R}%&W^TF)@Cx z;py4cpA@ZRTq(X4el^F5l>;2gzY3RU@3Wry;$BnEgR5S_FhN|2TJjsGzFtmcr^pWz zd8xDTF5wL0n-?EZN|EN0BETWYcpKi$d?jduZ{Ow4*Ia%JclYO;Yk}SVoY9@fyZyQI zGKKC)u`%l0I_JliQ|IzhD@k!O{&I=#kxUm_nb&hElj2<%UgRv!tgyn89VjC+zU5{`kH~0V03W&A$(Cr*gI4ux9IHej=#QMZlbKpSo`k;9grG*fK+n!l0f(c$5IuQn3Qx$2)0<(mX^m|9-yZsy+TxKjsn z9$Z$6eCR_2}h6HB=}7!OycRyfj8#QR5|fpsK=T;Y|M1d zi+_M|=v~uKopUxvz^^wYItsc+MYNVV>)ZCAGk>xds~xSiTKc-lw(E>jHaV?J;m)1B z_vTD;l>8rsSGs>SShbvZthwUr>@Nv>z6LplnBtP{Rn8DMRdbd|k0?>z&f6c|y`pyE z;vSuk{;TRoPXWJkS0X-zb$Mke1uWFQQJ-?aj^F>fb60r8fQS0;z+pwN9~S4iu=qW7 zAeR)+1{ST*OWDZApUz#RSzwZ8o)U^>%d^tP}4d73m-zA#Flq-b?v;%2&*b6!@1?Yy)dY4%aibS~s>q zdI9@EJlCzVs#EO~8UJEiFK1K>n!|^%FAKhcM-Y;f;o6}S9 z+sSn=8e*=WKu77oUN}E^uFs{9!htj0xju`z&bV`(Si@XH<2BCVS!b>_Z<>=s_)c@J z|NgoDpgY%kuenyA)OIk+oyF>>Z?4sM;owWWf77{6FE4%5H`ml3&>W~8wej79YRhS0 z(q1vwY2REQM)?KaT<7SwFTRQ9C+yC3wdOjN>sDFSY3CXm5J<;uY$D<92<7gbIts;`{r73Ro$9zZyp2j_QDRqg1BlwV4iCdx$b4eG*_HM z=|@(@#k074WNJm}pWjgYu2U_o5g(bLjb*fzB?%@w?*QIeCkECIepk}OFMtM_7$!Dn|`VB5dVPR(v1k8J-T^;4<8(R zt3x+G@52Y}b(S8o-nI5kmVFLfcwKvoOE;<8;)2>x{SDxPcue8O;k6ErC3<TdzFYvu%;D zcB|l@&Y@k!sTxM!1o|O+;4rsM_2t>O(C)R=ExmhPg1FJFZ|_{SV4^XotpK=5H^VVO5&-*g>6KlPQzdN6Pe-U_z z?&{3-RKC|7?E`Noc->6DojG;j)lva3_2XjN7EC87&xrOqaYc1La@mog;?g5d!e1}# zoUi(nXw|ghqulL26#T^xpG|#wi6EwjvLD{Ol*l^JxAW@H;XcaD_4VN(Umxyv`{1>o4leI~!fksadEzHNK^&-0 z5KE5#eHXdyj>EPQRlCqd|JVz?17km!GRD{LPV&65H;|{Xd+kO7%X@Ek+Z|=?CIjQ; zf8VKYyIJx!qFbqKceAhEC6rl(ZpDLnx3ArFWxMdBSGn!BktaIp!I}Ski@$>(_+^)v ztxGR4;WcgM>8sFzkd~3=k%p6AxDvbl#ToP1vNrQ$(oE7vNPXzdm%h8rymVQc`8DZ{ zgYY5eIfwM}f!Nf)oH1*@gb%r^Ll&R)D0+clLhIK#1HH*C-g@hw9J%?|i;RtHGQSPl zp41+B2Ra3JkM!$W*dssibz=7V_Q(aUeOkO(yY%kR;|%iqSjx@w<;{2VTFERh{NT0LYJiRG54(%+UhkF@4E^QUgstqO7%dC}SckjBNjh&+qQE zgSX>X<>Xh{K4?$3K68y@DLd9z_KCkMe#2V%`4#@LHel(K5tZjSMI~`wBFbSn>hCLxX+$GdJnK^qHL3|>@vXyIC^&m%%yGgIE5dCOu0Ue z-*Q^}*^J^G-V@vF1@TJohVB`>cGvfG_qHqW1zr1q-AcZx!VUQWe}=rTcrq1n(`FrTtQNlyEJstPF?slV$^_bb;?z5qHdW6}e9ygo(u);M z7JUUWr=g#US3Z%s8h*`+9>qx9hjPOwId=+q`mn#ZiuQ1ip<>H2f1$)Re2d;Rx3(0Z zU419JtJ(`>;XSzTW#ZI5Do)_cXX=k768Qv#Mt@=hs_he?&ip&Jp_P%yU$8 z432m(+iDznH4i_hwyxeoTU~BhoikL~{oS^%b$!ybX4n2vaX671r|W#GvsbQm-z}fv zyb~WFSYVeaNQM(UWHXU$-TUhuWx-E-qhP4Lu@3)n$=QNuT=y*n3~TVz?i-P}JskYn z&Q>$~Yx^Kesx$taYUOeWIxwiD) zr?!==4@wtgpQ@&xXFTex8`-`@3v>^F=23l@4@oGZ_gJu_u6@b3mPE%#g1g%PtEq2& zBfcEac~6eBG!UNAli_9m_|4a_NwLPPUxttGQCYRqhh5RXUjGcu_wz^CTq&}1uw6VZ z`T^g-7_^pxtZngK5&9lV$`}S1&abLl>J=^!5=BRyT+sYHcoot?cW3Q(ksw)c$dn1U=ICz(>uBc z=3m)>6Eh&rKCzeXf%)mhZ~Y#a9}%11y9ee*e!rc2VAj!I?Z0skOqO;k?}53DcmDmP z@*bEF=c~N@%Dt=d9+*X%D|i_384W*k?t$6&_FeCRX+5yEyf^NF`7GlHZ{N{9FjE-6 z{~nkV-Txk4cVsRq*QcTGf%yn!{x9!=Iqq+)zkl-{m@QXH zo=Ox?hi<=Fg&d8YeHE>qv>uu)m|7)%3qC-~a){JJD7 z2GY6iG;%;YI!MU^$dgAv^9pJ4K~~O8+Zg!LUj}5WrhkEiY}HQO6zMRnJ_C8^srjrM z`mVBR_z^3ICeaNbZ(6*H=DPpD94X%)hu^Oc%~Qt$c#!HqM?Rgx-w7VaIj6V8*6G+S z+ijmb-rS2t{iPklu)A-ee4=B&Mptph!;=jcQJ3SR)<9jtXRodmf`{m8<@eNM zm{UhiFn!CgzlsO)c=>ypJIyB2XQs57EYC(1&huEa3!>RliuTj^zxw?-1#`{ip7ha6 z>5E?oD$voek>z}&A=*(v4VQP#yHJ%tDI<&(}tF!P^RVUf`dCvKbUBGOxW z@T-(f0<`a)Mexgb-n*wb6IlC7t9fyH#@zLCtLftD(G$(}`qu~6&Isz7&AOQlj>`_B z`@`T3kkO={(po2H{=M7aM0PbSaTsh3}kTws&G7I&Dd|9o*Io z+LFy=mThbA*iEKF7w0CjrFmJ!w>hQzC}7%}ZpZg#75+klX>iKYVEV^-)PC_Pp6?-H(Is8dnSBn(7-@hH+^h7^pzFeK(5`>}JNL}!JLjH~dTaR8G-&r_fCzl?X4mH#W?KUYDcua zHp*Rp1?<9%CrW+#Ume5G=;#sUR7D@AxP1t{!#*?((TD4Y=tJLx5#?788w`gd+&%=~ zVIOkX=PKc_c!)kcOdmGUmh2#!yL-Q4%5&+H{KA{i>!IJXezZZiUz!_EDxt3(m>UoF zy1%uu&AGldo3JSf{{K8`gykaww0RBfnIYQi%{%y@_6`}Uz4-FNquANTB^-Zk&9(OH zsTJ+%-5+T0TI_M0YbrEF!O588r>yZ|v$B4(@}(ccekdE3^mMvMbzF8t>GPMpX8mW8 z8H$U3OrMeicZ2DERKZQ-*LO9vm8XnwP4H=oEiLF>3K+}BL%$XORNrar-gi&HB7^`_0TDz8U8G=BK`I#<|~|G{iTIzrSxc`@R|Pelu~1Z=e_b->mn2 z6LY`$;1J*FoP`I2mA-E#xZk{oZ(hM}ra80o;m(`p#o}gmIlj4TOJmabz}whNlk%E7 z>Bu#o;wiQ-eXXoAUVfatMDO>dy?H6#lP6ue&Ul9KQ`7ungYDH^X`Vy})kl5vd0!uu zUmK(T4?{<&BZz)J0IgJAiXStPep|g;g1*v!OaIbtzthX{GhJH}9;V%X>z-e)-=gKe zqTedx<*VO%-~FR7{*SyL)bGr0`>k(2HblRFMZZ-?WxvJGdi_?P1?Mp?eHFc37P*VK zQPbdG#1FD|;9&yrOM3S@;}+aSGc+D=t*v1!@-q)R@)r;BobZ*vOYig@ak{KNR{gz! zF)GeZ7+t(GFN`n6n&msqjcAB}ZuCu+Z;YW>hov(s86$x)+;(Q#bK~9~ruA9P9`YzY zIhHSCJi7Dhp*IHZyn4XqIeQGWvA7w39q+qmE53W$_uUf}-~E>FPWn=tdGL$eK}9;5 z^tX9!<}uR6q{*ZR>G?0Tng1azB0c^2HghB?GZ)*T>%TKj`)ypf{TpyLVSOv_d)nE1 z<@YN3{qdiN%UhX4ow2KrIxy8d%E!Eh{CS^zz5Eceh<=M^7NE1LOZ)9c-g|Q6i+>82 zZ}9zp##e5Y?|p%Cl7qbO9`lu(?|c6Y<>vbSZ}yd&;d}oWy0lvKDUqm zjTqiroI9a@eIEW`q)(9EN7|RP59uH0wwcj9U*ox*)J@8h9wIFu%^`i3bUZ0~e8#N! zSWTamxm|xDE32fzwQR2Yk0r$sck~XD3kCOahmc%(*10QbeNTPgHvC!8UnjXk3SVoT zI|yB~zNGtmgVW@9FF1*3cWi00nQMPGv0U*hE5YNGaNFK(-x!QbXW+zQvUG;nnL(0b zXnJcnNIQ~|h;e6Qq9CI-=9m-N+l2GZ***Db;NQC5(ZyY$cC7t(CU<&wmL{3b7pnR0 z1$1emWAYWU`EH&UKd;-;w!!hf{PFO9@8;|5xYm|rS+Ae-{?uwNB6S^?G22MNmW;_< zxp=T#=)$_;GW-YL0<3@f!rO=SyZ*zlKG22rzW)zkZT{G5hLdJ|Dr1(Bu0DbLuU8Mi zx(OQE4E~CaP5^%;Q;H6TV$L2t#$4JPFblyc?AlRqHSL@smi_`7*;oZ`1=F{KBeQg; zS~wJ2RT_54O8gn7cS|QH`ca?7cR80vj#*d~?XdOZr)DDfIHlH<>XP_|gXe5Kjho09 zZ=o`euMln$qmH)q?&0s%l=Xa+_d(tVOjl95Yw;e$ZexGUb$=KQME*vNs?$)H!FNu3y82%QOe8Cck5&Cze}adH&#{kj zmrVeVwY7`Qbg%i4kO8Yalr8lkS41 zUhU{XU7vF4<@`S7>c@|1TfBRNod@|B?ZH2Ok;d)#+S_w*gZvtn6uwJcnlJG- z_3`Be`Rc15r;o0+Z3KXeZHMo`tKv#yj+NdiOZndWfnOecNur1ClHPY__mRwF2Km^l zYk1nJ?*y;D>_B}%>id{m-$$wM<{|0>4;ss+eWx1LA$A^w$4Xi=-g3w zO85JyBalLFia*^`8+)#277#?HrS#r4!-;_KLBoIQ#? zyD^LJUe@Qkx2j(DTqmFP#(EKMJAOX%C~N%+S-Mv=?2oRbH3!T4h4%Q;ur z035aU1?P*XBa+a$!o~eQhT;u~IkQV$pM8_M&K|NZ#dvGCb0>N$-&=2t*M2f%T1l^; z*=FAL`&P5#V;S?y-?f@Yd4AxtZRXHtTTSTW8T0frt>(Fj_zAlARhu~S7&!63LBoqp zqgsk4`6O*Pakj3w&=do)_JX-EUR+Td$OocNY`r*n%b(>7UK2SaU&UJ2dAF7%_fDjx z_jlq0tm(s6ec_rO*$HF^kUlw>i02hYS21Y=hTrH8MK?sps-wB?!+?j@h4z|gNK0OYe-&+4F$m^rH4R(e8(Ls;vPB?WUxym)2RF!sgYY`w^? zb@b-IpeA`}UTZxX_|6NGS9C`2doQrguerTP{E=)FIyT8f^2wP7zeShfNq5+HH=g3Px&=W~7Dbi30d?DNFt6FdT(mxx_jsEc(nR@v7VSr~=P zef{)bb`LA}=CGqD7Si8e^yf7lJ>VBEIo)KzgJfqx_zgWP1~`vl^*fx&xB-|3wRTg` zKE|r^7{MIn0!w;A^hJFC2br^A^gE?1rWy7N=03@MOp6z*7+cN4TYE&0bne*1)|4I? z$-WX`Ux`1#w=;^uHNDe#^gdf{^4eGC$DMs8XrlQl`ekt~ikuQ%NUV}v_b}mF;40vg zDFqfT=~4Us_H;j(`llG&!&v*oNP-6zj6WkeY%TMM-{E(Vy%yy!V~puw=L_E6>8+K1 z9Yz9r25mT#zE;O)<>7zBlhF}>0^Ad?n2t`$3m3Eou<@5CF)q$&-xbIKhitAGK5KQ) zaKSdUx<_yoT|LFZ(&{m8wD=RB46T}945rehSLwUz6FxY&g)E2*yHK(FFEn^d5T0`6KRR6E4dq<0B>2*X*{*94jXIjWsFZ;xWvF&bvD? z3qI(UspVVf)m`9qfwM1t-uMF1yzUez2Xkus^lsvBgf&L#TdVo6a$5J5<2~Tt9Is-Y zYrJYhgw!Ry|ob1?gi$`^Acz&=5_9Q#cQ`V=MJ z4gJ(S{C)Yh@^Hp#dGPc{pn>K_(Im~~i{$CO#)PbOm%h>aKfCXN?=_mw5y0Nd`;(W) z`)a=N>iWI=z9x~oRrQ$^_U#<-PrLIR53z2z&mg&GtNNvSA9cUMc6wJZ(NYM;k1eUb zAo&mY^1|>=*bI&hL0?q2%NV%d{yA1&Z&SWz~}gUbvD->XI#p^W9QCC zg4q`MY3acR&ZJZ&1(TVI>DDNGQJupnZ|C6C_kt1w_bOXHC86?K2l5eEUW%^}td@gY z%S$Z0yQ<7d_!H%dRji4wIA`=y;CmVwG=(fp+}9<^rTHalgS9ID1b+L*Kzt!_Kv(w! zN3HJZ^x#Kd=+CW&cWJ&+`Pxy7d(wO>8pV0NyY#MxH4(@yEQTp($Y;&>)$*M;*fC2>=q8}bB%%Y!eYpU131}d>o(L+JAwzYHQOCy0UiNpwF3|E4Ve1jG0q2% z5b&s?Y%Sjbk4FTL5by}4v5`+&%w7e)v4+{lyMHFy3v7v(K|Ek^Aq(xzH50dN8vDBZ z3o@j9@sJDCdFaW&_~V=%N^@q3{tFK@hFahFvD>(K(3uy17xeHT?%;v?BG@SpI3SyA zt=T>2Mijn%0qQrvLGVx+=@^7-!WWfu;4rzM{iZ9)n!J$q4eNiILl=Y>!3zb48O0jv z_TUhtY;~k1UvrJ%Fs*n$@ad;ruAC)bvY7OTmTw%8VYCLF^GlZ_7jWOH^z_IxA-C)b zx9$IB&Z6}F)}!&0OfN4O#!weWFPI>nH1ler(z$`-NqBt{vHnVby}*sbrg<{UO9#Lo zi}%!e)3_S=M)fy9^Ti7`Bp)obFE-^>G5Q%5J#*;auo%29^?iP01RJ9>hJV!8mgiGW zyh|jyu4KzF_7MBJ&fM0qH$|Z18Xr2GymwAVee9uM6RBq+{P4u6Q=j@J`D;4;8Sl1n z3cv4!?!-rTntD>|lb4ulLA<%6khju{&4!;8ch>X!#gj6ofv3uNXPV{XaUQVx#%=h+ z(~jVyHk>=N6)RJE*7ZFR;;zajNqjULFEeu(@!sB_>96P86>&Jvf0O!Dm+JKDYo@*y z>hom6x_G*95I%!iYwDByzivIo^q)DhzMIq`+!a1du>NAxb)LB~z+7wIn~n6z1F<>b zsgN&b76Xhq5_z&38ERMnxO-=Ug!A6-!*6%&cano=0egE6h`tE+S3RRV=o5A8td!PDf9SY)aqsZ6Imxf0lW>?xZ%;N%HKGS_2x_cyPN) zW09_xebKp#iuj{^>&4a7m=rHjG_f+~Cj1ETI5+pl)qHj1z?g=Lb9okhcj$Ja2p=^l z&gC~Xu9*7b#N4!TC%cHJ7hR1WZh7zjzK^(?jMt7Ul^ccKrtcZIz2~WGs5qC$``UYw zGE;qUJlofvVs2K(xxDYaYVUd4n+Cp`{m|v*p(lL}M`TR>$!+FU;CUlyDaph2V{YXx zw3d5&Z=O)oe?CvP-?7a5brX=0fcbo_Dd>)OmhYiY_tK{tw@-x&2lpvPpZ=RZdFxVrdi^nXym2R%%*E8*-ttY=X5%yB&LCd#Oad`aS?$8sN{Ra}m!hy%=%^a=_cWKl(p$ z&pW*BpnjoagSPDc-c!*T&9yyqNjcdwMKipZ0(zf3q@y2KH@dMV0^q8rgY@V^Gx)mw z!@m7ZF_BW(UEKXm_4@a>kAA+UtoTK``{aDeXpgH?T&DV3;#rlz zL|xJuSA^%@sMFH1BzMTW^)~FKdYh;xO49kBrY>L-)7~sN&X)Z<9PPRS*vv-XI(roU zC!@SQa2U87jb2)+LRTR^Nc*AuQ&Mh>^Cvs}u zXnjTW&Z`@}t?o33CXImx6|{!0xuK?fC~``SJ4x#CgC6g@mt;6Luk*=Mz1qjOU-O2= zXVIf3+PVFZU!d1_@`ZN+=H?Z*jLkpm7ybPq9%!TbQx{#1erf1F0SDWsXMc!IYcH-- z=j^-#7wN35+_9TJcyKubxai(_t%>*Yjep;K&ztN|5M8@}`S&Hsf*u?VaJs$%P97YG z0mt=jo_KW+&fdH##;kulI=fI$3^B#^mhM;jPG>*0=NQ1BcJ>tYN3jovzE|Qz>hO5= zw>n1``sN6}8~614o%jy%86LdOo785yq8Ss7 zfnUrQx?k*0xnZo4VbMssx{C6m32weiS3U!6F=4%Lib)3fjB~e!dtZXSd5LokewyOv z8Nc-CV4m>>WP{!Dj0YS&z%%~r zy!WghNU?h_gNZ zaeN^L&+{wrlTRL)F&7@S>s=^{%`plXXul9FJiY#8X#XwKO!+4E24a|%FC+bu6sR)g z>q*_DCeG2FN?J*pe$kHd_txz!uN=L-{HW_&XZ08XQ@p3@*WG{p6*>y&;|*Uj<*|m? z&cjVP8dto=87^Nxu-+ZMZ};ncm`e}*`26BD&R-&9)TQyMO2OAchlJ1aheQX~&0T@m za*3aWPJTSU#q&+b;S0rc=6N;c4e)&MrIx1?uZp}@+8Fsw_eNra>W(9OehvP&#^s&w zNOg5@1LtH%l}=Q)vnJ|_lE#v1Qi?f+UJkfE7*FRP%%U$~tjOrc;&)YOXAW&VHTw7w z+Lteu^iolt?Kx~$(A#JNe=w5f89)B++9*ERx#gu-muxF{Vo%eart(e6EA8K<_*Czw zZ;mYQ@YFgxD4yCYBiO!&GUI)G_k@ZviZgQnW#m`j@OS9OkU6IE-;o^>*2ZY6d#u~kkrPtkV5#`%_vlE+Ro8klMBMI)cZw(phEeUoD;qxU1+ zGQaiZqXP|x-28pq{6~EGS_g_VrtiaU{(a9$8z1@xKH=FYoAEiJ=68?802p#_#rD7s%RH{>Gw61tR}qmWF^lR&Xbko z1M$eY@DRkSh5st-tl_R0@JssGeQcaM^n!8mBs1_=N%x9=NX{1@=blC_@Sf-?>Fuk zz{`7lcrTpXkk}O`bLK+@8RTOzI@?ii<|G^7uIb)h-h6>6>mDKJ-9qcX@#ypDXZO#TLvL+0mw$wNWHz*#GkDG)X*{fWVAuyVYA_2myW-WPoNLyfna{L1mpX1r5~S5!IPsf;JexIWA{*B{+x zM)Ldu&+|yj>WK^S+&drdy}teqHNUs}@`oDlk9_$;0C zcYb4M`SA67rn86q;y+7gQ*#FBtoi>ro&ESV|5-ZQ3*Jox|33ZWR&zIZ79Y-Y3C~5O z8%Af$s=p54<=dq@e}Lcc@BNi@=Lui_Q0wqlzWkxq;r--S(w$F$lS?n#bsf%mC1Y-g zWX#<+wVL;FhxBTmf9LM#mr3=!-|&}rKHl}d{tiWVuJYv%HQvj8`9qC&$q?hMV!SQz za+P#;!S6C=)4tqSePgRRhB02pa~MzEn?08I4?X?P$9s;izeA1p3}60GVOFe2sJ1-70al2siIX&mHMEfQtJgPDpkBx zlNqPP1W^0Xih}ZffBT%19EO3!Tl;=K@B7F3oSC!t*=Oyw*IIk+wbxqv58Qim-|5>AF%M$B?D=SVc+vSrOVR1_bN)F=O1MX!!U-UAudR!hpR{7c&eLNf6b`7$m0DbiF z^+))amq#DvzH;H?D!1IDkD#wy_=vmZ9(`u}?z5c~zM?dfpr{9;|nlwM+ zI+^SF{Wve2`---*|T@S*w1Z@>7buUz;@yXBtjSVwsy&l-KQqYix3`ecN)Sz*VO-AcX<@^#3! z2jPD~SmpNZ&)WNNd^bAwRJ?P{H^0|lV&LrDbkdx{brjd5`~JdIb6*-H|0CsJm9Bp8 z!$Tpuy4P1;h^}t;l^3F`n<>wiJBNJBMY&Pf;h`XhYg&q){f%7u^oIq4iD#@NayCmD4J+GhE9iP2? z=JA|8Z+-bBH#5N$a7)SjN`(bdu ze;swg_;j$BM=XQyq!e0v*( zV7P(yS1f0*HO~G@%<%))S>f6@v$$~K_$l?Kv$x~H;hhEU!J$2)oq%JPJUDg%j&;a` z&fvI&_7|`>Dma9TUIkznL7iU0H~kd;FYI5E{aNo5vckW7rVr^K%qIGrkaflaA9Cty zOoWdx<09NVT-iA+-{U(!S;YAhKAiL|08cgbu3|sS!%5$~vFQU&o=uTEB@ZWkz)AMx z&fyqH`?vmS$2cj?!^!!(yZ(wEPQu0bEFQl@oXo~P(b@QP=Q}6fv^7pD3*aPsw$5Pd zz)58uPId<;*MO7V^Kh~|I5{%WIUH+f-;0l^*kz(g_nK&yh9{cUJvndPwZmI~xTy9E zN4q{W9eyLFcF%nKej{2_iT)hDrm#<{Cqvp}{uy#xr@8wl zZOX+iez^YtcoW|a{5oh0>+{b;1>D?t*GpX;WNGdmm{q!-&^RLS%=BPtHYm<+&{2doJFegU! z-7oH6C)wcbb8m0|+w;Xb%*A1&4~J)gL*dV>Bix0-srVVc!O(uZBcFy-g=>81#;ug^ zSj6VFmtTR+_u$5ad1ojohFGu!U0)-?==lnx4`jYix$+2l<-{7>{D(Wmo%!Bb-w~(A zxM+SnmiqGDE>G|dbH8$FSRXy<0nDY2AA<65DE6S<^-Z6P?xTF&j!#{g&C?M>AF0oE zv+{PX^||xPgS4%7zmB&2eR}~PLB(lmY#+1!f*rmW%GI!=wd{j#x!;${!=oqft6X|t zihquLl*AXsj8}PdM(*3t{n__0KSsAcCv7dd+ghJ5?t&uu!YPi!vG0nf^c&r{@>%LW z>#Msv@@uI4731(7^&J1-)0!`$E=~#Lht#>|&UtK$c~5r12WUh733YtOE0^8W|D8s+ z?sT{A7W8c!*UcEp4~7^id{N0Qwq$c#KgOz$<K*wL zS{mTH!bLIvm$E2Aypq0CInUF`Np1Ie2V=L`tt&r0^{p{)>=a|Ku`6239GPP5(&C3PS@~mjGxOeuKJjVu#;?IW?{l6V zGx@N|R;V+CoW3=<{7W7=`qp0FsMu(72rv!-+N(%|`$qhpbWh>y%pEz@s%I(}4vT4f z&uWe3N{ipUEzZug<0o7d17DMC+kPAUQGHt#@WxHKBOD%C?$%l6)`{8vlizkL+}nJ2 z_=huo3GzULchS=AQRmEI{r_}-`T9Gs3`AB42I+>|o*Cfuy}OGW#nP0MCxWvCn;VcB z`i9zG%KYZ(rQg3kX$JkX-W1J5pW$BdfAwbnMr_Rgs5fu^n)N96{@3yUBmU1wnpGR> zO_sWMbDu-KXQ}@>_l4ZAr(VANng5i|bC{7k=C{b3*w*r96!bjGmqY9ta5w^gTj4KX z4%AS$##i?<{C9^c4l9kUi78Kv;)Bj?zLK$#@0)Y(En_?xS#v3VqA7BoCl;*P_(Oh2 zS$oFu8DyRiZ|Hl);8QYRaX~)>4)3`i4u0D@;*G!YedX@;&Nw{7j>oobeXk2`J@2-q za~XA3$?@B1>&Py&^@!Sv0!KtKvdCj(atZQJzOg2Dbdz%86tUK*;7*^9ke;J?LG>5> zKzU+P#9obBs)qah91+83X@3Ne>!x65iWpTz&o>+8+U4{b}UA3f>N>fF0Kr`6S_>$G~x zH%O}w14n1HdT1AE_4Y2b)!%LFs!nLNu?uaLe+63IaORh%)%UQ6=F{rCJoD4)Z#Q?) z>T83#MyqYW^kr!Euxr`>h9>_$6*;@E-n=v|X%=(;4gX_n>&*xF@g>~&F8N0@PvHxm zZaxlrl}weqlS~Rmh+o(ZAAR^nbEo7QI(6ts>JdAd8Mhxf7U8*xFK$70#j?YYGpZYo zJF%>4qc3$-b~NuvCzouv107#_i`uw^c}aalc4juf@5S)7`2F=w#At@kx9hKB;D~<5 zd1nAR(JxCrvHs{~5%Dqc^xyCr%G0YIoxMY^?m>Tdq*puof5-li^b2s!d9yPz@!hqi z1lQ!PP|RM@a~<--=81{ZXZi`=o1^fCaA@r}%v;7cZ#}I~%GqHV8SxwuRk z+G#}Q(+BM6mE<-g2NTbbud*}S9DCg5kIudty3>rD&3%o&Ct8qh-$*~LPDNYFJFdME zuWV=f_0M9~>)=WH_zlaPvw=m^PwcC+-)HB-sX7}It(;FbUpDln`Al>4i|D0-tr*xe z2Wc%RI&HB!o8wonvAXiDo_0Kx|Lz0k3de4!e&`IYNx*)lwYjN(L1 zIvhF3eDRB_FB*UPQLg#-6XLZzT8Fk-H+9guV>{gbeyHH~;`+rCf>}7T zIyE$&Z#$8_2$Mlo)0NGo0^L$yQG3WK5V4KDW6;h~3Q&rp>_-kH*~`n>ElGR~gr9ywlHq z_qwJx`2C7v57}#NWG^+&g)FxFt}%YU$F-Vk3D-O>Pxi-6V~gaAcOFqO_&P#;bI&4D zPAla_(|BnAN_jZN7sbT>C^n?@3?~<-;OnS%^quXs1rb|(IcrJIz~;a3o9{Cq{_vjPJSk~X z@70_0Q%N(PyEjhf2%n78Qu^rGB&SvhuZ_7!)NlG6AfMgfxcWZY=8jdHWt^iHjD+cn za-ydwvv!8ixX7H`_?kJnqR6pLj~oRK4j-O9X76w$veeBNji1e~saxZ@Oo8?arruzjCF!%7mAh`eUU~+K# z;9ls1dk+`x&%1Td{ZU6ba4+~b!JTs9{+ka5!QK53)9TqKlwa`*7jEW~%sT13=y|)} zvAJ#7B@1%*P7B#wu=h+mDZ5je7*6a4gJyCbK_fN<_)T^PjpO(Jtog8GANz2|NPO+t zFtC$X8gw7&ERs*dp+m2%kX=E!2>*<)rENd1bHp55YQRLBqU7alEHmgN8h-gZ;+FzReIC^FfN{+(ZkaF7tdmfKCCw(T zxm^A+=<6GU>FyXTS@^}qVBIrYkHM{-j6v(>&d1>VuQ&!TZ|58SF*w;b2CKDJg5Nbi zeG_A_@Ez&s@ObEpQ!hG%p}*g!55U1sNx5_3~akQnT@D?8SXJ7X)_ zf8%A-u1-XE1Gw?|w45l)QR-TX#x+9LZF0=8p684sElD=i}v8#s7Z?rGydOH zzkiX}@4dRv@0hRO)xh1Aejh_0jj!K(((j{q_91747V7tX-*CT=%4)ULqE>BZFAd*M%JFGbap6fQpdJ;27BW-_GQl9g|p=P z*2u<0ec4*r1LiLK$qeRlrycF-4RL?VhL<>(947GvYsO!OE{eW9j(z(IYeOV2OH_NT zDcMoM+Zon|28^xFxuEtx>nvyAlr( z$A{pimQalKKpb5p)q}i>lQKiNoAlAF3zRG7%&hd2K|I6$a)fN=^5-<@2G5QvX$zqn z3_^z)k{F)RTqZrlq?TFTy@WG09)AwqA6PtHz8re_BhNGz*z`?!P{#yxT+>2$O7 zAK3{8)ktqVx~V2YZeq@M7|6Ga649n=-SJzg;$Cd^6nqz4SndFpQu5mv`XOCLG+Q0# z&ZWMa)HBfM9@w+?$la*#hvkz)zxc*%{x8Iq>*OK1uBi&#uxD<452Ez9n*XX>1T9C@ z{{(0IM%lMZlZUy{u^WzK4_36&4?AKATHRg_6s>oqx5+jo-7S)W{&uLh-IAL|-vqCx z+YP1-ziubLiAmH^|5WEJYS)ALlW$9b>=Bdp|v*h49GlGQNOWwqvZ4o634H4rNbT*h%&x0`2(GzJcHAM=DJK#uf{cj4^y(87|zQvQiONZKIgYEKfw3oQvWvj!M2x6eb-w$a;e|W{{NTFr9KO|hART@F$faHcY|5oR=nup(alMzh$}EJ6$1Wz8XYV?5-stR>GJdDoS1sqRI$kWd z^56CbSJm^w?2|(4^tBuxPxar+r>>aos^{w3-?@wFqvbQz(Z+}PnTN44 zdbx*| zBiA_RK5dml{anh}69G;q4|#s>?@>FG`#a&x1^9>uni#Ja*C)+=T;5m=xyi}({otPD zPagiQ_bcdw@Gzda$21Cd#>DC*wYf=VW=mOIx$VhGPtIQDfSqJ&-|rJ4KV>61zPTb? zCUpby=mz#LqpYXNuZ7RJY#LSUjcD&%=_=zm#wmc{P@;CD&fnfFGR*KC>gZ10B7 znmF@w7rrezE2h1>*{}END2}OtI(qKaN&CvRZ=x6mm3#5p^L*v#AtA-Vsoaa%Y@|HO zvnc$eZ%UVa;)+kL-t*zLkF}iXjy-!+A;!OT)t~Fkh8OD1+gu-h91P(s13!! z$$xX7&hYw#-TI?`C9PwDCE@yi)G#kbqVThLJ?8lJo<-j_GnOWv&MJm?Bm64<*ihq) zuXwg1J|m~IEBe$p`3VEAJ{~ZWv&Wbj@5{%!B*I*P&Kr)&pViUhqzBhdEM@L?_*M4F z?TsP%zqc7fwd0*hu;X{P&3C6cC*srPs`GR??P=}|t~{TND0mu#@Epp$1)1;dK}nY= zRiB_stz*djpAr8Kxam`?lMIQ~!sp_R-J^i1fuO~;kJOh25 z0ex+Ls;*t`s;}&a=fag{eb36qb;~LjuMdCv(R$>_^I_lrqeBmTFIxG)`k~-N`{#km z8SB7ZJ6=4QU3BfY*2$-VT;G{K31Zx!-6H4~8QvU7ai2DGo#qp*O@fTct=Dg|V-k#| zdzsMebRvpLE#>b8OMIkFAxgwQEG$CqJ?Mj^y=D z{C}QxhWo^8hmecUAd_Pke7dFAxk)prTUnuY6vIvDhIFRJpNBT@gL;>n2-PWfd3z_+lK##pp#0E>;~UQ-QPvw^n>sU z{4_&-aroZP^X^%kPQ3DV_#HhB8gA$J!xf(btyq4yJ{qSr`*~gVlY1W*uPcTjfljb} zURS%~?Ow~a<@I#W4qji_1zxYs<1Y!(RiR_k_p8l@6aT z3oThMogjQfc>R<77SB(*^8dX&UjnUrJb%?=b*9hfTehUQ8-#*iKPbfW*AcrQ+T0$` zYpyiV+mP@-m@|g!%Ixps2TwOpyf)-`0C2M>dmPG(JS(G4ez@{!w=c{uB>Jk zc;i%uS8K$#{1&e=$ElqlvV1r6U9TN)4}Qmd`tnwM`r2GaS918YLsug1b{l?u;;}Er zulq8W=g-aegufcU9&<@yem&w>4!<5nd1w5pvkSY*uk15heqDUdr(1sh1Nqt-9h@K(3*d_ZE>sq7pKEl`UCR>xo z1K%W!D|Y~60vOAIkytht#@^Yd1!GNP-=fG3yY2FCg7K~$z&HXJlS}^dc>L84V5|Vf z_a6Dr<8ky3VBE0JuS^UWw?~hjyp)a{4w?0uYr>)Mdac|49dx?i4q(3<*cU#G&c?dP zqt#`h$JPf-2fc1l3gsY0$t(8c7 zuys$QuG-SK)ZS;aLv0laXZ=*l|62E3UipTb`5rn%HFHL31ewLU2AJ#`>XH7N+FtFM z&c0BAoHLwnDbYN9Qpg(C6joLkVmdf|=YX*cRk}mu}vFDgAKq z^1sxPeM>mhI%X(kp6!t{*xJ{HHZC~9`Yb*p_i7JvN7Mcy$|E(yGxwrr-Qs@pA)fKw z)?>->v=7&-T;6zR|Cv)tAmvLGiPsY|iL%RlO;KQCd7m*sxgyEJ<_XSf|QaVWOKRPHqL#*FWKf?cO+ z?Vz*Vf{9e_^B?1v#QV~ZcOqYm;$4F^>E^hZfi09XGJxgvO`}pkm<4&+JlF!D%r13G)6!hc3RSsM?b?=@P zOgHX)Y<3{DSf0|^#LyJ5jxY_J%QPc*Ul-t<1uWQ#EneGUO@LRfDz1bJYXh(fpK4#Q zUfj1d`?EgBX9bt=`BTowJEZq<7N5!`C)nHJO)SfOUaUP4XN@}x_;e0 zUfS#UtiCIJjiCH|JIJs;MzQbJuBLO zFK;|YLwi3CAJfhc!+5s@z8OyLAf5YyPfj~brNDH$V2WbP0H&+E0Mn;@*TWZngWJIM z8s*BZwZg?$q#~Fd-Djx9necOJMM?JJ-8%SHeeme340r2E^cf1J*NwBPjqqHE?0cG zJ(DuYzzunHI7+#z-~;iAVEv`?dqJ0ibr`=d-5r_3@2%tuu-@#_;~-#r>yys;_cR|) z%L~xsp_JOA1^@OY`_I~R|~3a75D$;YGYBjRhp z_!uw_0mePL0ArEx2|tuIB8PWI*Ma7%_hL_ZpWj;Bj&z9bQGABe$h*iwV_Dke1 zQv@tp`+B~~8awOToS2dkJ$KfI^da%K+VR?uU(uMI6pu#V=%4gB>u+RX?tncRMh5Zz zp};PfJNwp-;O*?)?ZLUYymL60xp0>K2jL8N0nUf}JNSI(htd|v9pdH8=2PQ?is;!KFMY%VtD zK;}#98=$-dnu}DvkNhs!y9-2OO;5#HC&vxj5T_}gKJ<#__Fm|~$h-eO30WS){@Qz9 zF4|2w0G&AX0RE5CsinglH6ERZwn`IqP1?_+q0mt3%8x*89YY%>0m@=ia|XW-T;g&% zFVBz21aktI6N35lc9=_Dm_yrxIqtw*0?c6-=8||}nETR3sRwi1 zf!Wz(pVBGJ72Ct}4q*PhuK-fcMh{X@6g3_m7g|zFqgTs z;oo*y>7y{*_!G6$wDn!^!F|gc_&0fU?StK; zYY+BGd9b(BwGZz4PT-zi0PaW^;jZ%0$iCpMWIJ%@Zjap4xO$8-_q?{op?p`E~dVgZ8&oh?I|Ka$u=821m zDZ@T4Jt&6VCmtpq6&>RHQyqU5t-BgcUD1yYT(B-)xnP}PAG!e>|5KsG>uYIKzFk@$ z>U&S}>~j1DDq^?f`qgM{iv1th26EMK6~~WldZrQGE1bSn?*$CLNW_s8@n7d8_W>s4 z6EU&%nOg8@(9zbOfIqdtCo3VlCw5f!_JWLm_!7sjc3?vJ=;|}{0skn+$K38m(1*J& z)S1ckO?(fV204ae&Y8*hFlLmWPWAK+`LAC4(dTW-x7d@q^6gVjmS7aTP$rv@Y`R6@ zM?UM|V zOV6mzN_?yF`8w>d!@m3CiWT3f=r_>>xgLHxX|Ef(&rjFeYcO}uhpwwMG?Q<985&y4 z{**^U^T5&FE)6~2&_P41|ARF21C0UW_GM^j*DpXrpMKbN8k*_S(EQswr=b%Beup28}&(b`3?Gnq-Dz z)TA#dKd1hO_^%kj(MvbBZT<)C!uMXD+6m}gI!9ghb;TBXvJijfTtBWVF7fKS$9K@N z_BqsURb>0JQ1NFEN0&ACA*ZikMxU-!&e;c$b9z@YVEkI0ZQzsxZ^)lxcsg~b`|AFk zd}QU+C9k*SMds1>$>X0uP9R$}E;W3wG)fEs@^2u&m#0!q%hQVg8^x40u;Wrvd;FBl=tu5m_g+_;Tx)65hr`&6G89eZB< z!03$3d-6j=?kUz#dkE^^i?4EKJodhN=u$GUC-P7B(G9ot?c|*I+ROrAlkco22fg#+ zJMtk+$tqK+S{}2bq^TP)x%@FSMZ!RDQML($y`Vs9&##V3_Eq$MFG%%*yn@bavZ8Mib zKOZe37CXk=2QK6P&gQ)9TzQp%9y*)z_7MC&dMGsK?LwW-FnuDfrnx7SeaUvz$ZlZ;!j1nuuJrGUzDl$Ve(!n1Je~647ncb`$l8PNe?*A!~YWh=3GGAv7 zNavlBsYf2G-9yw55bIW5!8{W-U3 zNN?=z(5}_lx;gQ4uk@_V)YA52+{6Fa(snQRow?u4y`1}0?ji0IxR-IifO`q|)42z^ zpTNC{``f^1xXxG%9_VSa-%}iTd1NNO&g@m<8(56bF`@F6c8@hCU6LI4@P~MB zFngTZryay4-nfWUDxGV8wUuzrSHMri!FeO) zTtm2a=6muB8Uju(qg;I{1HV7V-{1o9UKPh59lVd=|Ic=F{14<$BYcL!^-bLyowLt2 zUPj*-BjHstTzK7wvCy8l=s-3O$<4iZrnv1pb}nffWc507uNI|RG&b_fD37Ib5%;<5 z6I|B5qIb_=oSeNL=L`molhzLYaT4DcWT(c-8>2q-(;FY*-9J9)^p7gXM9Zb*!Dzts}eD)^*5-Or0lhaK<=JZhSk=t2yzAV$TDNt;+3t-Spl_TTi^My4pvqjy#>)1T3o8?k606S#`7Yqc8pF zOFw#b)(>w!8*&*i(*K}2z1hb9rI0;lri~jn@wxEE9ArQ=6Nr4oH%_s7fe9bYp5w@7 z__`8(+|K0({@7Vpi-v-UddB7S=Jmj7;`ppVf0FC%@Pa$|jrYI)7=aJZbKqczw}}x* ze>~AtP20Xt_V!`~FoRCZ&mA%hL-<&(1Xm50_|n8?=N{jwr0rmGWgKi$EneOa<)+no zdU1F;y47_}-t+C{64AOI85+8ewvdUf+6St}@7K~g^7s+AkI<9tV}5(0(|+`I)YLj4 zV{DPbHt)hR#YObS_qH+jw3%#UBg&Uuzgs_O$&0xzs$pz2KFmQMMwU0ez#_lF+RuHNUx^egUP=dtF;{ojKQ<<(K#zjF8%)9$`} zM{~|?zH-egqug>Y?*ArVx#pL_dF9trE}T_^d(SR%*2>SAugT*}zKQp)tv4UYYLJB%KJ`vi*klI zU~w@kqo zSh)IXXPAX8zP_F_%);{D07nj=osm_n=3sC#=+*_fP+I4SziG=w<5kSNO^Ipkxh*t@ zfAoN8+^HiP4^l_ZOI#X%-&ZagZ-HJ_?$LO&uUs^)yznY7bKif1@})eZz2+q~3vx?5 zT8}#M&5||JZx%}auztESpcsZT?7UwF9WbBZLt2+}=)^fsNjzxdwq5#_JlDBl%8@M{ zLvq!dPpz)%&XL};Zq?*!npSTfhNqTt-)Dc$TH^lqeL3%AYP~UBy{nSuclRdEx_y%7 z3hozhozM07+3;UOhpnUnU3tlmfITW&or!-UxQk1EcI0xYhJMA!O3?#I5m%7xG%56-j?&K{K6TsXjJ*YChc z+-dGG;U?waro54RDjnc^0qCmLexGj}lg@sa`ZH%?)S`dXVq>1ythr@Hfw@KWpFg+s zwtVB{oe|&7r;cC@g9qWIhp$|GmvYNJzU$^I7vG(iSH9_Y+n$Ym;E$c0G8YrW8suA^ zZReFkq4D2x{x{b>-%gt5!;|JouCfE+lLL~bp^o#JB1uzzH})Rx3-3yr7r8dn*0<}Y zePYZFQSrbxbZ)L2zopz24>0D^&9Jj%q~nS{OBh$3ub`N8D-VzjvY{*gg!B{X?tP#s z)~VCx5{*}DCg-1f`t8X{rOSlp)l zc)EEJG~kE-Fkkx~{CCp6ms3h@a28!w{4Sh`j+ErQJI%Mu@Namg7j z*}vtz_lEDi*L?4>7m)oc@4a?s(oE(WeOS`$$u$VMyBQhm>G?K}I+|`CfgP|L{V4)x zlBa_0IA9ZheDp)|GpCRd5ho|4_8Fqk`Utbi$_(_qkO?a5mk&U79*v*zdU-rE(nKQumzRr`>dAy2UFE?TI=?2yy ztOt2#tjnL;=UAaOn6LVwziQ1c8wzWXX4QR`G7q*gcwE1q;TtEr{Sa-79;3XkvDQ53 z*`x+d>fp!K;Cy+AxhBfG#?GxB`MK_Usax9vW$nwT;5J zz9vS@EA%b>tOi?M6nj*01pC`go7!Ic<>t01wxC~|xhS( zMc!+EngSeZXB0ABW$*GXdUh5&y1b*Qgq(RD^@ruv*ZxWy^&fC^-p6cR=o6a| z`Kc=ByU$02SK4px%QvT!-@hr5+G>6DTYS)xd39N^hQ?7>I#A9X^N%c?zBzX+e%Br$Q99E z0vgu4r~LvNhJG}zr}8_WhUW%MJzyEJ?uG<+U;y+pIbeq|)b z#zZwAgA1OOyD`p;VQX-zBacp`EzzywEQQO<;BQY39Ya}>9Jk^4ya_TBFqa@L*-}$s~D6}Bn7cHzM$LLxgJzPLv^n4NR zOO~Ar9X#OD!G<3%$c;%j`zKnPkD-sw+!jOsG2~Nq{s+vZc1>BtHzqbXw4r*MuhidC zeiuiGZxPMXhHxVuSKl;-N2+f%8Z&4ALf_FGG8UXEM;Cf$Ry48#`tar{+7B4$L*LOi z-hZd0?QU?gNPf@Q($UEeWPb)9z^Rt6wMVu;^%r`6(P?m>>hx|xI1{+@L;HYe!hk{)_&1juw8MMq0I>#Yi8UJ)LC*% zq#J^hz09l@jZIli3V$@#e&ja@l3$M4X!asmdvX_k*|$LdP@a)VeK~Kvb+OZ4(=weW z6$&&-4#GR#{<()~TSA%I-cxOJKBmqslx2_0SQ+DWu6dz11AP1*%| z=_{Y9CD@~c+a;6>m%YKY=7&Jk;m0Vn*aS|6`zIv(S2})RkJmf2|L|v9LZh%d3ICp+ zrupWedpqd=KI+K!D*aG%)G*3C9=MY-@o>AI7I*ZtyFP*b6F;ypLyv*^pKWQq)&1rx zyt9_|wH=$VqZ^99cBWnNllu7_byl#J_P!~2yl+00|4rsN*>sxVIlcQR<-*0;$|1s~o@;AZPI(NJK?FT8B zZ21e{{)?$=;eYFK?zazNo&GlVhJ1WK+?&#Z}+Fn-)GO(SL=S8JZGUp z&_NFY*ZgiBacc z)cPltZa$BF0qOi@Rt7cX=H2SV94sD6%t0jGyxcq_IgD&Dj}C#(haAeqJEC>v=hXZ> zoi*3u*u2~lE7wM|j(2Po|Bc*m&H^3Ptg}E>NA@vfdT1$fPIE>vI_@%blHd^JY*^)< z40d87AE4~BBTL$*r&V^Q-D7FsJLwpCG#Z&tkmsenw7$sG$Ko?{AMl>m9hzILJ~p#s zO(A`3IxuL@uQA+^E2593_)P_wqZ$OqfXV0w>E?H6g9)ltvb51O44y^~bS#zc47!pAo5vB zd9U-kf_qo&R#*M3zTF>bSJxkDw~`KjB<*nqV&Eg4ZtjNOCz`K7uJ24PXS)Z8UvNME zd->zh^R4YdIzN5Rp3L~*bA%sIYH1*VvtKJ-~@1+5KC!tr&{*)QM4_O^_(z?{Bc z*R&IU^hfYad+6(n(a{>PwW2#LtX_~i4;qm^ZBnURDwuj-_6+i4Yyq1_di~yZF7BceOs-dYwEa^DX+TeGTk8;D6e zKJAZu0w-Z`B7D?RS8`J}c@HPT(GOg_d{g*%|A?*e(W?viSjIaZK34k96Wb9!9-{Ae zbDo%ok1+VS&&9_N!AE$vqOI_eqHZC4?Dh@gXy`f!qZ<|HigizVpPyH}CSSmiL2+8JQGiWf9iz=xM@3AeGAQ5}e#397=u# zQ!{cWbrBaqVjGK)ciPwU^7C{>rmm)6ewo_43-s|jA1;}ih-a>ynat=CVEZv-fo>S1dXj!=x zrQ3+Nl_M`;CS@aO^6Bw==m2~{8aX2=C4JaAt5Cm#jZ1jv4EcJ7hJAZ>uG@g?*L25c zb)fX%wBtV=jFZ!mw)*iM_8_c%Lg#--|1eR`iA$h|p@W66A#H}{co9AKx~92jvVVqN zCA+Jh&Ab2~YVNamuDo3GN0uG8Gy)tojh0p=ODY;2yE%Ghr60bby=Lcz(GR^_)N3Yi zj%m?Qd=L zv6;Dx25U_?I;*v3AsfBMAwkZa*KToieda)G>m4~IM0^2wgii5|v%U`+JH@z2?@yI% zYFp-`+kf5V*jubUk>}vj;@|K*?fbvhS8uxS`M>UzPsNPP%WrOJD~}3K-^^LuHHRDX z_7CgK<&V{xKN-$YI)O8k>N%I2>&7WbGl|Qi;eMiFXm{Fda1+H2j7%B=-3SlTXFVF$ zzL@Bab9=CJlB;h3K6)wloG)Th!AWHi?F3VQ;GHop4bQSPTm}sv$awNz2EX=9FzwLr zYH%akbk0QLTM2yO;@ALO`jve~dpfGK<_zG2ezm62v*z=iT$S(fTy!n^)x22}ap+gH zZRs~98^f5arC%RxLwn7FewBL(zkBGn%%k5#00QDPx&5X`P5ls#aNN%v-m+Fuk z`t9e-V0>~$d|4D|gePOo2MO;{U`x-)$j`9_dRM#7_!8eryB%_4q?H@bQcw6(y{X_= zJ~fIH)3a;9yY5qXE?=O4dGd?N4f-JX^sWb^dY9fA%CnjGd6dO!C29IG~N8_d`A{|d(Gdg3$?9a zjW{@tJ_61qOFSOXcPAEaYJ2h0&257dGunLwu0GMU&EFqevT@et8n+wo&>j!#VeA^( zmtGn$A?+zB21Da0eCr$ISU1XdQEdy)rIB>=X5@q9;b7|Pe{oH^`PzTcUfwrS?l)d` zzwuy!Z|HoTa=tNGu+f&j@t&`JJyZJ^Ze-6c0xyT*Wurb@TV17o2g47*J2oaUG@^z& z&?a=7)x4xwiXM!K{+pVa#52#N?x|V!N7!N=>F}HHebwKjRlPz(=z2RO^vBNR@m8x?~@4%d`;!12i>&L9*49%3`?c-(vBCpHhRXifIgD)4P% z8yQbjj!-poUKRVJ1Bvy*kFoUuckQ^yUFVf-`m~J{Ev>32|Ga-NpG&4mmTHdc!(BcY z>X+CW%JgBc$uKD^c-1z(cCvZNl z3*$S!lkrtdPFKcv5o^XTGQJ7l_)fjl8Q*c<_%`~+m*2tIAKS-wJmV|5=8f@B8J9tq z6L%10eA%y4Zes1($;V#fpmR2cQb*$;TeW-wqu9T}r#=7bC|l-?5A%!sm0Laf(0*u1 zim`%z{B$w^I+5(r_=sO`TG&A+(8X4Cg6~i3e0S|QkF}rp@x|+rt?oF=$B${don}5L zKr@=(Y7)>caEN~NP0`SL=u>h-w4-ODokO7=!6o=a!@;!RPd8uU!Wc|Bex3L!Zw04( zWYo6w6#G8!zUFH`$baqY|KMZBO0*h)DG1{85sw2oAWT9jz>u1|<_1Vy8 z>8>}?U$1SoY4>7F0!=FW9sO6{_{A~4ZE-MKd%qz|-znOL#za?=O`@j@j`+md!9@=* zZ`jf%e$pP0#$B@8Ys31(taSEUEk3~AciE@&^W2f2clhBBwq=S>u`p-{?eCtf`% z@4e%F?;Y!VPrP~z?~Orc(Of4y_k+egU99TZr1{C@q&bYMoNLvjq&c2zeTqG}c)hur z`_!wGW@oO+zhpn|?0WO7UnR{66O-n>vGwMEuOcS^zc0HoY3B0Vi`UW_nbISSQ4C-# zdlC41{3b`I(Ak#4^Z#5EYEym~$wTRJo=&0u3cusJZEBkZedxE~eh0YKmUNvI&!t!B zdCTpgw#$A0SNZD2eb3*a-YDPy=Y92}zUQl`r}zP{{bjy-ievSjKTo|rzW)#V>KWhj zWz^dM{=N4W`RXyqEG;_}qCJrf4{Rh-(&Ba-G2=wUama;^=(NSZ6TpUd?OzwhUI zlIyozPjKDE^#a%LxmL+uK#V1}f(MOcUHF)$Rj#juG3HI#5Vo*y{EGbaBI)eP$TDbX zB>I5~scaSS=s&-o^kO%adm;euzk>hK_bzhIXx5(4eZMsJTvqYEY$(d*@F9EO(yIco zR91chk{jr>oO6CdOTT6E?V6O~JVpLbw=snm_Qlr~z7y?f-qPL;OuJQ#vi$iJb1&Un z@=p49Fs64#yYKXMu);y^hxg-AJw9EP_Q~?acF0^|6wfnD;>+#dUHpJL-WkwWj zYCoUNlVc;I&{}L}ZdhD+MR(x)S3c0MEfA2c#mb^eXrZ;A5l!0tboOKwvpv$rW(V<` z)Z7J5p^ud19WPgea-V42L{E}w^R2y*H7#w4$Go!+?;VZYr0svHAIS3;J}84BZVWWRPi|5tK(vE~E$mWeXw1Fz(;V06A$3xAu?k~_Dw-3F|Z z9g02Q^_`N|@wDgJRyx4VhS6`xPUn=v2jJQn4|uF{Fm(s}>b``Zt=h(SiuOikW7Nksn>qUFE%;U= zBNA%oi^nvbO*@Ji{So&X_`<~JpeHhS!5f32Yti%P=}=o}D?Yi&@(FwXl{GG(=zM4! ziyC&;dS#v*iR(t$X7wQClS3|xIRv~*RS9EU|7QQL7Y80nEc<-2sY26 z87;?tfCz0BU<%zqy5)S zFy*m&^Jd!w)Aap%^Xs1_&Cj?znP_uDYMi5zhvX*U-6@Q3b=+AeU&HU=}WG@itwD@*$1Yc6(9*xUCK^LEP%%N3J$MI-xqT5HUcZ7f9S1jJu z|0~?G4}o(m{lwmw;j9`Phxi`jEc=J>(Bk${-)Z2`sc-KU=$nZ)7Bla*es&?TrCgrhlg3KpWK!woKV0YJ zFF@bVXsj;SZxcBm!K3XEN9)g)Tc}zT!H^ z`s$vtNcki?WPTO()sN**q9-S4Bd&H%xAs+ktiQf%i2aw$ki4>bm75EojPnWhx3qFv z_8{&f;@Hwz-w(r1FPag46ZcD3m}_-~eN>lz%9beoK(?}e=pf2pqC76pTe}REz1(nV z9gVM6Ye}!UYqaKvMk?9+Y1cQp*)}EfPO%obUBVe!!f&cc{?y~+ zvc1mEjY|=;OFi{-7mN3K7VqGwlKHh&`6NZJhYDwQJRKdaq}RMP($Tb!7>uo?&S>nk zruT)sv*?GcKjZA-5(6a}DIHMjEy-Jrjn<}TpGx15gQet*)3|9KD2+X{M)Adh=R4>X z2Hv;x1bkl1cO>ibeYlp=uVwgsmty-ki8_OhX8$`XIXdS(efJ!F2l$Vntc3U)?d37Q zw`PCM^TtBBJ#j1CcF)5tw7m^(ulC^i0{ z-2eK_Rr)r$H-hL*>Yw;SGEDQ=C7kW9zH2O%$459qhQXVr6`G^Xj`=ZpLcOUuh#ZB- z*PDfrM(kJ`_fwz?jXQSQn(NU|?ODyCU}Q3M7ISzfBKS@rx1j0mU;8YMH|8|IEJ>i} zHj2JZQ#@Jdw7TN#=(^*wMsXIbJ?L9Aa;37HnWcOv(5n+Kpf%6ItkVx>&niqk#Rv4^ zUMN1G5B)KYz00vll?CiPik{VNT~F5dlzoe~zGWu0gjw?_9zeN}3dIAEFA6=3b0JxG zRbW#SPQ~|Hb9w8a#Wjt&CCh{#*_lpl=A73u(*%yfH)yV6kK=}78~+^*p$e?Q1!(t)|@tn^*%dh9=H=s=bx#gY^f`Z{&GD=956g zu}^C4Knz<8Ib+%9B$k4DS_h3kx?|07IWop1obPl?G5_*S|F;5s;~Ltv@;BnxV#Rm& z+3(id?_No{U>$@lUN!?~A1g)Q>RQTJ7ioPIjMe9M5?}Ex<)#@LLmmTXS=5QiQXIuF zbe#?IVX9G`x?Gfb%$b{z6NYEJL(bsbr}&BwGEUAkwb4Splc9mR%sJp4I3$ln*ZLid zYyEthvp?L6oHOjv5U;O16X?LhGgT?tiKa3sYb$qr*tPdL2pzhd{Lm)t*kn;)D&z8@ z0uI4+&METIlz)S4*NOph;ws1TT<-?hA66_}_XsdR6N2CF55tRs2U$?*hfVMg^TDS* zO0^>%^=u?%yrXu#J<6clhazyGwXo(YZ=Z4yaE*y-4*q)1vK{(0wsq|c_Ru51mXOS6 zua|LGep2nV2hH_4`H_eQ%WKdt%w#>^iVig9e`3sQcy9TC|C5VM+d|PmBQ%f_4LE)- z`t9GZzT3sI_Nqk#YNIL*4G@>9GXy-^6%E)pp*a36__=5tL<8f1EyP%g2HqLjK?8cW z`fO*f`YoR8U5%CCD~UKXAem}uU^_l8g5M9HXh7|BMg!_YAsXO0=V^X@G*IET)dRdq z79x|aEMy*F-k4=|I?=hK(>dj3$V%jYM=l}i`R$+H+VI0D_OxOm*XGxn+`ALZScrYr zO|_=^ZykH-Hr^yInz=b=WmO~NkWM$JiOG?!sl0a5HA|z&G1CZa_3ZN&);Cp0@Jr`J zSF<{);F7K*_*JgC5Lt&j88dlJVfG4BqM%12=I8Zywyrb6?}L=e)K` zJ{XSNLr!hA4k)K?xvy^Qx6+}|F~FU4kxQtr_2^TNZ)sDGF2`nmy0r@{MxvXU`#wC$ z+AIc7PhyU!ck`QVe@$Rzd7jQ)NVlkU0D&f|_hl|NV5);#O1cZzvOyy4N;L2pek z;qTO&cixy_-aD$^9Qo!16XE`^)f3F-A?#)GJk9-Q{J)&Lf6WRFG%NSuR5SDaF!o@r zW9)hxTn6LPy@{s^vqnIFuzbjW!yKVH)+a2|keSLksj?X`ZrJe@4_eoEqt&n3iwD+~ z_~?Wsvl0%iC?AGjZaKWQeYxe(-PZC-JXT6Py5KPJhMe-+h;AHyuFE-Xe(_v=U*&!2 zAKqGW-rx@1?*EsUThnV-0#W!jaO(5cocTBmsO@+xG*RX*7;?N!N3?d>}`1pRiC zG1ML7s~fcZD>>rG%c0PZ*5g+^hTS9%t;RH8pO$rG<(&7SU7xI+;>t?w;Jhyycjj7h zx7xXEO3tBK@-6zxOMu_yt;)UKIW0iDdZySm=`NB57rL?%8vt{Tjc*F2kw0ml{P{k8 zb!4T}U&+c^>L`!9XGePBF3BkI0OuniD&^48PB1IE|GQ<)IsYG&HA4n<$eJPWOa=3d ziNh}`=na{!xn|By^8J{BeIea^1HVO!gUn*fE8dzj7_{Wi9H<}dLT`z3Z?hrFrn z`b}+0G=tRh9>|4;|B|P``V%QXC4d~nFOtbz-Fvqkx z?UIYl+U-|kcYWUdmTdi6v-n|plV?x4<;wRG*$2BlI*{T_WVf&3o7L_+5PwK{WThjC zUrrW0^bbA?>AVTqvj@8N>|=PA|E(wZ)?Mzmu-%8=-h10UfH3ecRXn zMU<(1Z!ap$KG5DR4m|itv4^KMOe}jFc@4_oS-~m&B|&=$pALA^E0TXsx%k^J|3*-E zgs<-MJ0%3)e|IJ_|j2xN7S~f-5Db{9P9-Wmt$I31FIgHBw zF%KU3JT39b*!^|@&n)UH4#tyJX%C(R@BowKQ4in|y%vH;HZig&3n!^qn*Eq7<@mNwg8b4K%Xl*=Yu z7MaSNbbU*4==ybKp~(8~T+2d_tq&g8bv=Hdz~$Ii<;1Ik>V3o;*VG(%S4< z*Zrv%`DKJhaKe5$I*jIp#@z0#scKeYQ@ZxCwZWD6M{zC~8RQY?zZ_b9FlQ6gK;th= zFd=CFN$!0|Crv-DD9=4#kSg@IZp;PR+a7|P+=4&Hv(Z%U*y~H$ZhyH)+oy-1zts?D zbWcC|CNzIc`3lPa$z3+smH2HTi(5b9zhb8454N7)T4%|pD~ui3`<8sYWXFfLS#M$c zB-T{^JDM|p@X4ob^CPm0;fHTtgh!lwGFngm^2QGTWBGH2Wi!Q3U2&@NSCDU*a_VaC z2|_25x$mL_$WAF-b*pinpSPB|8hlxpXhZ&(ZO9F8UX<@Nb9lS&wDv~@kNhH_(QFpE zcGJm8^CK?LcCJ2Yja(Fi$H9;CN)IA8rPD8GpQ(zzRSbaF-M&@0ebXBHSYO``p>Gwy z)yLmA+SWQ=eG?C;Z+GYQP0zojzFC>?%$&7GPPwp}|YmTS7N?mv}h zlDZYK;hABKk>v8?6(w!w(J#Rv-RCUit8gnCQ0_2qzgqAMuTC!74xjXAeR#!pe=EE$ z2d|HhASVph6VFXB3kTMlOP`%!lH5H%!H7#cMN#&~@rM@egd@WD&Urt1)?>GCgnNd6@B*J_bz}%fEma z5bmR!{{lSde63y^$c50(yi;yeFV^iX-i3FvvS;tiUAAP!`_=fqvnRBY@4sN8sbUW| zzc?vr&f@w5*FR6}h@VqTmt+Gptr$f+e<@E^n5z$$_NU6CcjX3`G0!3sxpEP%s^}Da zNuI$TJSBH;J#++L$c`s_o?x^7oAiIAnap;|B>JM5JLs~p>v5y9gDH2B{15EjZrq8x z(|n|OFyU8wQrf3B31Ua19kHXz2NiP1plpPAq9X>Z=nTiMUd(g(9LTP&Jxs|I?X773 z+>u?~iyhUw{@77`J1h+t?36p&V^M#KBHQk<2uCJ5H&?f5v-ZcbhmY1=IjR|Ycr(Q_ z6Pc_1^X$i?6n{A3NoV zeW-T<&sbw;D}42S#Irus)AKi|H;{T~@oYE#@9e8L#(gFnzC=B5U0s9IXnOxTGx(ZX zGxZttsuACMzw7~g^mi~vyz;R#M|g77KSz8t_lwUFry+au=ZLpjzxo_;#R*CC9j>nQ z>6RVzY3Y~f(|`hfy7O!3(;dT;=BHdA`f|IAw-qZNh-%(ju*UAuqnBtuUApSBgyNN? ztG;gOU;bH|mzv`BTj{Dt&Xca{)RC?#IVoNX!wcf&!+ho9pUd5HPggz2S1w&uF%x>9 zJyHAqK9u|YYX$4v$y?fnhU?Hh9NpmD9`eKAdOrJ5d*u7on`*8jpPXP`Lq_)Hei!#! zxn}LlTHqVN$H#MbjE@g|<%RIE##ipgN2!aCcPY=u$EkVv=T)`Zwm3tyvw%bmj-M&`TTOR zuRp@aIO_QM7HY(V2q_>8rD-JIh!1#M_)$`6S;jrak=erUk>-WlUh^8uQ_#CUU}>DlUAY4e^g= z7}qGS2Z3=vU_}3Gy`SIv^BV=R^=3N#i~I^U`_{$tchDEDyI1?_?&|hsq3eSuov)s6earpUEO4py(na{DXuXl5 ztWxkXCLf<7y&#>PyTVyZ>)j;fd${j@K)L45>wM)2%KN$HYbY2^qXPQt5f(} zSvlbBiR!mM$HWNDqcfGi;f&^^1RH!OT|9`ct6a8@O=TWy70zZd^WN`9p3-vconhrV z43BI&`V#F|Y7YdujHI(i?vIaNTDB?nu)z_(v-0yV?KQ0lojF&9u3XN$;Rv}b6UW%N z{i9CY*j8$$HL2c`+7AAe9)Hmuo2+k5U+d?63VJ+qXS9~(xy`@16>hN)Sbu2`r;=6u zZ$cML$(Flq4h!}9&)7L&(N^1M>U(;lx8GuIZt-+;lk^X8R}?KQQm=rL|;4{szVsc4e34%hC9PbAkPOD338j$yv#ekS)lxxzg6 z=*!zvT%5o^5E?21H-WftbGo(vT7O5@3yLEPM&=gde;numycO0rGiH4RS0a;EVy{@~ z$|W0r#2jG9;QNoYT+Fykr_9b_qElDjyJ{ve!NeDjFmJTudOU44rKYyyT6@S(%oeVl zI>Pk`>gc(L>qmU$!nMwvR=J1E-}%agYsGS^yeD)n+}=fbkY_=kT;0RsdYZKtltj|a zFcz|i*k%{kbHTOjjuqq_lYMVLY>$x`K0eePh)+nrnz^iP=h}W%le@Db{z%TmC$s;8 z-4Xla)^^8I{1A7`1x+dSM`s;>fUmZ9@4@BS9X*@l)Lh4!>Z<>Tz4wokx~lj1&+N|b z4#ScIEV?1)V5@Gr+LG8MWEfLYnNd<% zagAzCR4TloY1hhfelRWUnps*G&E)%ho%8wZe0Et7e{{c($M^C5xQ=Jg;QeA)j2%(!cPH#)-aH&eA`t4rJq?vvz<-<$t71Z3~7|7)$!yPaB8IS?bH~9k1;g z@FO8lkbzuD)(m$zJ=RX_toEvJvuo?K*n>j+uUU#ux3h8#xigQkF}v%KwTjtY$FUacc3hZgnhxih}Da;Nr_B7^51Pn_}bXP56L$NQR^5c%*-ZC}{s3O7BhYjFOe z)@d54k87{#QJ(Mv+o6qtT;bZ2F5in_Q+qxg)vqS;JN>fbGDWP59h-CIM<4%u`as+A z32;BuwtRH$;JL?6k3Rm`+!ZL-*wlPZ^zp~$jzGD_rsQa_yod6k>-dvD1sziCzeutV zfVyU~CL|en#FyBEF?wCE)mQk((AndWRedfe3+Ez;ui|U?#_gd9Ph4mBTA**Db>9B< z5HaD>>ARb|%m%JIzSCjO`&ahHbHA1QIIalKefc>V{Vc!HfR4@!pPr89cQ|twcy)Q8 ztd71?I{L!meA?7rM8$VXKij<$=wtb(oqk?ESU*p5`dM>M#!dNx{WvyuU-k+3*4`4W+3M`U#rW-OIHz~?u^%aZ@l5U0;#>o- z9>s2`p7(REssFzAr|28O6#Pzg2JNn)wgHwowuIZib>#Y?HbNEm!ueOMjevh%I+C>y z$%GMn!}uO}mOHY`Y=qV`xWD<^)fi9F+2ll9`GT)=<0cNi+l9wvmG_YoNn^^=m_7(^ zEzF5p0&}9TfVY`eW*q2KH@s^C@5aH+^gJnYu*p8iz^qU-tF|> zec=mw_a@HvvU8>4+vwK}e5BH!Gl>`0n$x5&R`)(>%ptr7_AP-2y9Y;k#hwNKBiP@> zoUd4Cb|L1IV~^wgq43K8D;Odk4D${F?;g*t*p2>H-yZVdjpS~r_;VuGs-nA6zpk8l zvFV>@=Sg$fbCMrj_|yKQcX@V29dIBY*ps2SM9s~xw~?DVn?bRa!T+Mk*H4OaX6((C z+fO>Lj2(-8J*_a!m)rPSKg;^X4DA<5FgBov_*A&j?{Gr2neF9g;w+G*x!$muS0wL^ zl?lyxLK3{Sqe+qR_#_^W}H9AP;f@d60ARpnmjzsYWTdpWbZtPq-SO$Euxhex*Yz%4~{R`(8O-N{Mezw~~5a^@& z#@T|{=it%G3XLJR57HltA7rd0$FbJ_E!NJt?`rBYkMnyI_ZzklzsdcL{C{R_mnq%R zF-Sk}VlUUvFY;+S2U|El`U*?ihpo=@_rU!4>$UwK_vXpSk?0TjFTU2^mQ1vkoK}gl ze*1n{jptFHuJ8ZQ&#LR1XWTlWe+M*3{@aN1PH=hU+s-T3#+DW&vrJ+sW7Nj}-X(dL z38e~|M5ld*oV9_@fFI)?b}@H=b9n?e52P-jpZry zDPqUY^|V>dIq(*q|8`}4|62q7h#aIJnTuV80!5TQ-dLuxk#a@!oWAz4gQTWsO!Ia1PMfl3U4g4=_ES#J_^h zQT_ydBUtPCPWBA3xwf7f{=0Qk_y2|M^)^R~&O*~S&+%XR0At?&zwuu&&`sX|zwlqS zO|$p^N&au*{{-)UAOF|$Kkohi1OHd?zs37s;(vz!t=|9N^Iv}JHt+v$_`i_V&JCs1?B=f~xsa=&n&hy9JTx5EF^rxScOnn47 z;O6zh^-Sgcm)tVb3O2T=hW)bew{)rQe!Z%55`4Pmr`7Q$UH2c@bvt6~yfL?KV9b3g z$g3%hy}9zc-Gx2icr}%^&yef4_uM{s>~G`0#=gd02pqDO+qZvYP5FCAyc^k+g-6Kc zkuax;SBJv5E3vC`$3VYl+kU?@&~MF!Hc@}(yxOwl&4>hJ34DZ8Rz62>QQN6pwM z`{xGw`uc)QPq3H2ebGrp|-xinOVe>1^8TIsmC!1G|~1ZW_;Tyy1r zOyAf4iRi{Z#-gDoO?2s#v1shc0?%SmW8+%F(ba$a^Mm#MTaf{yGStC0vMnSBru-6} z29LO0x;jIYoHAT?4?{Y^{>^;({#2%Le~$N|eXBk9ptF>v4inFpZ#z!kcUHt#`Zmix z;ud)05!%z)(nH&uKzlyizYvVb9NWHa)3q&F4%R;FRh+v}ZNGb%_O*|BS5mTw^{-@S zr3T(3N2cwUXrb7zhB$E^w7tA5J%H|oohqsovM|g+v)m{1!ee-p<>ACIg4|3*jcHdto-5bi}i`vt>8QCG5k+FRe^JdOVgQnJR znW@OvrCfQTc(U*l=*)iZT8$INM05+ZsKX{xzZyh~l+H`@^W9Q;h)u`x)TM}HHJDir8+Bhp={x{G-udC7sZSk_G;ODcG!!z@k}uJ^K3gV62L%x zjN52)O12`t4cg=^&;fpH0>&_V+n=2%o@FlweL*&j*Id-MN7|A1!b>AKkxr6K3FhJX z)!P02Jx{niJf{S8n60menYv+9-P&QcM7m6z%jcU=8kiCm-$lFspL!zD)Zm-Le@UI>9Y~#7 zIA>|TI4v}<2%p^S?`zQ5l`l&Ca*gOfT{x)wv=`gN`Hr$Py>G6weZucR{f(TJ%Q+X= z7S|O*@w1={c^u;T;?=yv+@p_r;72D9_55Srw?2>AJqGZY+P|81BcZN>W!PL_su`W@4Ly}9;3u`~R`?lAnu~e9i5X-@a$V(g zaCjA&tE!0)7KJu&;nrkj8 z-aJ)(gl@94eHrS$b@l0YIZ#czU}ct7^= zIb8Hyd94WpZ$0}uBkHFaQ~n7$MKFe9Hykw@82ua>l3gAjTE9p)=Y@;D;;p5~q;eeo z%85_GT@Ku)*H%WPL`&iJ!lHbjr@~jKvQ87je;kVuGc7+de)lGRYoEXPCmiR@K^woi zluz7QtV?Zf2`ew7qYC~Rj2F5y7->iH1zAdrJ+cm-Zt!^TH^9_wx(g-;ucbQ4!Lq{g zq4Ega-e1=zxg(mAGa=;5^+x=Y$|3h9%7riGQxHFjE=`_JxifyZ$5Tt~xdHE@&znNa z2XuqxH_rdXI$AsPUU;A;kt4Ul=Gw49^z?!3Yr!NtKLx_Aw8>4 z$c{6&yZG+8MU6?>YDa(Z2XG9RCF zpWcxi(>@=)BRG&FvSF?LBfm%!_JxV(%Pq&E`+&i=gItkJmEDC6T5M>~7vBjSS~m+} zPvc*)@-S?6VEc9toGszYKs&EcT^0|sikAro$U5a@GR)uVfXl?!p&QR1t3F6)Yri)A z8Xt=P1U<<7i#2tdD+t&WuN$I2*bI9c*vIW`m*w3eBC1ZZQd~YCumpt z^m5PER$2nK-HOD4W6r+k*>`I{aIIPVEb^Z5gRU)(fgZ!bTn8RrO`G#F4=!*AItJUE z^MNTMnD7OU+JbMyvz4@tEPiu#sO%){Q0%1Ic4sGvmj>)4FP2FDn@9?so@Z=i$VUf% zh10ClF@7}u)a&EapIlwJe&Z3GUBNR?765~t8y)*P-yUX8mHa7ft-zLB!QAS1w%tjz8%xRe zg8Vr?U#=gWDKr4@Xuhl09G^ZMW${?BXX4g}I(yZhmGmbfcrua)7ufx8VPuotPm7!i z#gRF)zTGQ3Me;$s7QqfOvFj8gU;IytkG0f=9GcY$UZ^YZ4SqxN9`g*lycYYL+=*w% zKU70ojO8=JjK|uE*A;4kGig?0(=wk-(0+z>rjY7gL7&*awkFftD7g47JG3#j5;*h@ zbj`5_#X6Mizlgbe0MEnm=1Z9eerM0CHxK+0bqzNU-2AqKj5#YC-MlKf@LH4j+krf8 z^;S=g{TI2tjdo0m&zBv1KJXIwJbVy7ADZ9!UvPXLAHwJFJEqF#;_pFuEktSxH4SbT&uWpTpQAz zm3*qRvWeffpDzfhr%Jw27s zG}lM@W;9pZnsmP77=3B#p?^G^P@sPa`p55WV|t3~Q~2Ie^e=T&r9A~+;^aS%XDZvx zje8o~Z>&sj&s3%`&)#m9?P0$j=j3EK13Och$2FfT#kG)Y5m%aPG1n5V3|BYTDy|&Y zhGeFa@5xj)@%y$yrm{Jaschl*R<3PaJzP7uc5?0FdJ6sh*fUuZQ(wKY>f5w-tfODH z+t{UPW46aK<8~z1S9T`WGe)ZCuK)VCgU?;pJKnlTbQiu@`RMBKXFQCL`YRJySD<{` zkUDk@sYCDhb@T-4*iIems3V_OxjUbILwY^ug?Q()C!i7W44N;?7OI1H8spFj9oxls zn(s=7$nFlW>FQOSK$O@3oez?y9no~tkh8}(#CVRrP+gy(4(SW&*G>2Z?Ah(KC7UhB z_wq}x1;$0Zw^-kKWf`xmld|_wX3tvp%Fz-G0GlJCQ*lvlV)%t9q+G0_i)>k}L zlVpyRknVT;;UCT%7~i`c8*ylS?{S}2tj?q0G|7HR*7JBr_J-&y|K|8Wx#HToy>dUU zZA_p%O!*?OyutfEO1ai==Oc@pFMnh2YyS6H_7^gL0teyPefVS)>zly`M~*jasJb{Y zjEkSQ>)o>d!o(ef8CQPH@Af}u&Ht?GFbiHw3@7(V+~2^}&hrp;wz2O*{yF_V#ry5! z%+1HJdoxvB&70+9%}j4SSNpMMu=ZX^Egy)_)x7b4Rti^-4B)Djcl6xH)h`0&!d0VJ z?&IqIK)G=B6nN41e)*3n*V=p`fUA4{_N6_@2?Sk@@V)oh5YAT7pKM8OF{3z8d2xJYA@8_HKHVQER99gwSqckApf;S zG&7A3LAMz3HETqw6MB|r@=P$Te=2Lf{^<@grFpSg&V4HPe;ma*t2}=-=yGKMuj1jM zbh#o>J{(;x36uxv;?wn_Vd(N7&}F{noX{mT3|;0Aq0793&}Bh@F3lcY^scR2GI0o9 zUI$%N9$dRid2~@-ucwZA9$n@`msEf*s#A2C@6pBlDQm{A>@fKw$pf;Y!+eMP`?wZ8 z`RdSRWB{+j(WN#}J{(>CzM?wbf^_l6%hQw(9WVd;*Jt||d2~q+LzhKE=(6x2bh#=( zmv4`E<3;bF9+~C99?b+ln+Ojb%F9AUHp9ptB0Y>8tAgbqf2HOx-1z& zm&FI6OJ{&CGd;TKU0e4sbU7cos604cG9F!2*M-!v*rUr5=#mN0MRkfUOFX*l>d%^T zw!@^ya+U%2joeS?n#yxujt$buiK^f7M0_bd!{}tiQVrF~|7!7D)yX;D3F_q21LdNR z;-^&ZkBd_R<)V-F{RYdAr+fy_{Bw0QM|cDDk^Qya>f-z8x6{KTIy^m$&Fkym_P(q+ zYdLw|Mzha``yXDj*sSCChP~jyv+W1;EOv=+lgzjhIMRdnJu64k&{+F_kS`~=@40!1 zp8ac}T>V$fTTqYwF;K4lOGc>N=g$h|yLh%MplA0!^DJ?0@*(ESJ#o=}JHCzTo`-Gl zz-rc$Rv%=~gM5~4c75{!=6`%4xbO;QF3A^9c~Pi4@ZYj2g-wV7>&-9Ex2qLI&?vYogN)_ z4MT^WFM|#{sAtC^=~xu0metpn-39s!qx4 zRiX=aXZ#OYbK24l(=!TsaG!{rTF&oPl|zpY-?!q+Ak7ChATNf>sb6*tmQzbSIpf=n zKM$0PE-A0vm(%wI%0-vyL&|?Z`DC6=4#=q=KkekSU*2~9-k?B*sbMdCe+!;{B`ym3!wd1XUyyr5P$A_5A==S*F^M!V1T}~3!t2|S; z(Z^B9XUT-UlQ$zdv)s!qO@1H{2_{^{BEFb<%OJ0-F05w4|#Pz z9H{$2d=xrIk^DmRb8anXI@vwB@%DU3(N@mBf%0yiY0ry42Y=f)pY8wd##-XlB#(%_im$Dl9(&NnCn@h^O=?-8zCC}p z_4%~tLyDaZx3iZo{;kUN^WA*ew67y3&DBy7vldXFL=KH{7I(&6z>^p z1ktN`=FiW?yN>^6+4WrU)Tk7E6W`?Vi#W=ebF zoWD%ZMgP-)Ae~Q3&N^oyhxnCsw*TtWlBdXHoYZ>koHApNv0D9}Jgt3OfoIz=@GSYW?{9RtQ(ZfF zcc=HRT?6&n`5JAgTxS9c*Yf*qx3Ex98{EHo6|d*=27zwb}A`?=v6$*)juK&M6* zPbW4np)vO`aJVtIut~C;xK?jGh_@DGCA-}_8gnyvN6$xk@5~RBYs|HI<^GtP9VpkB zi+Sb#n43wt;hC{#vRq$~jom&|`Pkf97RZO_p0f^w^-=c64TbeBfwlzeR^Ab;ilxA=3c-;qZn0<3n8&@9C_r!#JVJq3>@gm3SR z7k-CRcY`;Hj}ZMLo4LXB??v$A zs~%(pXR}o6RJ*}?(HY}s5Kk~8wxYxb>~&jSn#b=FzZdd*A-^BzH`>0mnBR}_yPMzL z{Qfn+HylPk@_~Nn?1=UG;rns7-;Z>raxnPSUa&sSIUK*0y@lISpM#DU7Eh-BxnHg; zZ_O+(&H3`#GXjvyHN2sLSo&Cgzeg*CzH!`un#B&pF6Cbh;t8Ttsbl~VZ{x3ilDF(vVn@iyzz0ZCm*3y=jrodD8FRPwEzVr84^Z3;r=DiK%6ySa` z_laCncpm3Ejc0$V#~$VWDeiZ2t@>ToJp7xi*;%{T%;4_Nq5b`E%0UoHIT?2XFlp=; z{-v6KKx;3u7v4xNAz!9x>`BKCjamOK-^m}ZIwWI%!++smxR~`{QKotoJ9{KDLcbrT zjl;<;u;|zHBe3=ruUWH4a$^KK`&3|S%ygFgbH$KJCxzj0ohzn21M+1br@4XjoP61N zV9jg4!^Ji(BT5{E_*rw4pO15M3cc%MiVyUeK4|+mcuwKRqN|=?QAaeCE%XpOtvFZV zO@3_Er};#fXU?v;s3?1JU>(NubsUOLpP=nR(#AvE*c0LK-p&`N)0KP|q*L1VVR$+% zqRgk$X6U2eA2>`pZT}zEDZLznNs})xEY$VS>)BY*y6kLh>(C_W81#99JqmfwgzC|` z%j{W>XDVY7EB7>G6HdT4)XM+1c&0QaaUExlttzqZTA9l8>0C3oW^#$HG2){pJkn{V z2ipB-x3~G>PV?}us{PbFOT4H(>~36F_m|Yen}^zm4=xWeVIw!K|UvDUgzr+ z&m~V>tJV&4!~v$XE^;xk+TG08OmwQ&5W%O;(mr5Kl{lq0iKn$UhH>ZCRI|OoHC5Fq zzHQ6pE8%?1)~z{eB+c)XVuprUt4*w_OtAH`Z`Z50UTd|)*GG}*TB~jK)+O7#bx8z> zjq7RA`qD(VRy&e97_W>?4~AGCy22mOww`=Tf-6ejZ9aOQH+psP%^9>?HWRg$x1Rl? z-KBj^?#woSJo$Vm-{dQy&&}A8Vc^idpzl3i*SGnh&O!6E)1cpJmp+dk)IJX4@Z-P* z-oy*PuQUB^lx?DHR1z7JaI#fpr+tsU2XeiA)$+kDmFdU_#V|F-xl-)k<(i4?m?3$F z4LUP!W9J9)RS0_d_Oaxzp99Lz!==3&K|Yi%AAHaMcJWnmFMl~kT&E@8$Q}d>@%gQJfF@rgKH+2c+}wiX_vp`+w9x>W!C)S!yV?W z&vcltac|&W!_~_3o^O#?YFDS(`B2t0+P*kG5$tp7OyBIST?2B{-}5J4v3d;Oc|5=y znhy=|2eE?Wiasp<&|YuJm>}H`mp}Y(ec3b<-%paWo)imNlZUU-BpwpX^2;)4}`t-T;kyjySMBNeZ^oU!11*3fF) zu_59BiHF=v-bmu5i#DbSyH)eHcAk$S2C$90NlYtD=C1P;HZ5>|lTb!ye4^{)Hjev@ zHt;Ih<)51yL4JhenZjb`S#62crO9!fzsq?a;I}bOz1&T*hcTWnK97&H9-CLcpXGNu zoMk5dM4Oj2VB4A*@X1!lHCK#^Y0^9YrcKDG<43~;6L#g@#-N^5FlrH#wv$UB{T2l;!Pj2c0k zTLlCE^*c^GcY6P&kLYu>MX>2wN^<8LV(r=t(%At6+WF{rb zxmtrvcxZP=`i?)Sy#^C6gy1phOh2zn1brILtg-vQ?!F#ApQbaEXKNo}w3Qs>^~prR zw;e-<-`JppYGy1FXsKG#9H8(T~;itzBL*2TZR~W;wB>8Ly4|ZjJs$g z`ZSuAmTx4#{)7H%?4fVKsp;F}$z|=y7q7{N7aumzruJitU!I@5uYWtTnizTZ)ajg7 zVu&;M_KMfUOU;}IAbbkWfB(XBFG`zvz_9odH@1AA>Z_dPOnD?2-nH7 z&bY1zmpYT6K#rY8o1d(U{h9gV&wxwk^Xa!_@=y6M88K)MVf%`$OPOSh{BCvV0R6s) zJWTKO+G(I2<=si}y>PBQXTncIXnila+>4vggDx)(dO$g9xFTF_OtH-Oz zFL-rD=@|Oz+ZFy@F-Y3;`DwvR9~V&f%mi^#?6+%+GsY7-o0>VwEzk8&;a!dS$#M6M ze9QmIcdcF>*YbNd{-}p{WzA))JIuqxAwBlpF0<%6T}HYk|M9;4t5_#(<^R?@*|+;Z z);z}V4EI*9Ft+k^^i>V*1^rsH<)cp$yPiQ-rnvCq-3X5S^L^yU)ZSCUUk9H)F>Yh! ziMpyz-MNasC9ydZH(4HP#it_PsuAxK^Q!N_k^S2-6Mel>Y+ zt^7_XX3NR%DG4XPCv!KcX@#lWm7gFr$JrdAocx1szYDOQF&SPJEWW&2KZZD8yO)So*uu(>_P-a!`gPvZlgU_r3%Vf= zPue`Bw0+_C>-!~-Mb}nf!v@&fmK<3Laej3x_nP=wg%VX zH+{;tZ2ce5_d)*e@cxJ3$(9&;BlC_@D`yzDaY={DuCJ%vljwg7FzA0PI6A@m@9PBV zRDUe`dgBb*osf`Dcy-P~cJjdKDcM7V+gnk39qoyRK1@>&cqdyL$2*S>qkq;wGhhF_ zT-~Gf7x9bLJ$a{lj{6MbZ`RF>zd2RigHCrj66AB@H!-um?g_{9#XC-Oa?0wSr1R+y z=$cj)P!{Ptenv%04V-J|g=IJa$h4!)}5`#_p>mi`MER(U$lpJ$v1 zt_$ct>7H+%Dc$4dAJRQ_DGO7nV7}++o~)J4Cj*yaGkx82l5jLs_oSs~^TiV=le~}& zxSYIS`rX3)onAW)v?E`SbdTgzRrlQ7Tj%K>>6yo@%-32V{zAq}9p43Yj^p$0QieXN z9$()q@pQ$X-sI@G5Ph>KA-!U4Rpge_Hy`@^bNH~GzLC#GI!gNH_k5=q9sMuzd!F>o zPqXH~-;ciedDb*>-P+Y*_U-L3AK}^TpJmN)motCip5ndMEnQ~EH@eL3&0VJbBYpcP zutwa;|HvKWNxDC4+P>Lk!rV9Cmo=NX{JFvcbWkV>?y4#<@@%+n;Zq!&j*SM4=~F9z-ZLti4tyGk{TC9Rig&zbax z>XB@D@oxw39n`miZL(*>)KPz1z=m=Bw7m30tiC_abLJt)XEBh*>nyaWN52mERr|w4YdyR2ZSD-2t9Y(&L+lR~O(b)|?Js_Y zjNlK#r?c5rkHdwdn_?4Gul5US51jlE>VxQJ{X7BM@tpIq^!=-&lXTwMt5sJ#A=`Gg z<;RzjUje>((R1D-_h!v^p6oDf_jH;CD3f;Xo0%|e1zGzhbegkMMRe4h7Z`AzE<^51D^dvrwt_uDjUY~8} zgu#CCd{~&=cb#hE0C*IarM3j4-Jfp&i>QCfQD0S?os3hsU$8+tKa+_AK#N zdY1VX&t6dc#Vf5V_`P(ZY$frCbhP6UyG9F-Fm5eB<%{yIw&O1~?auEjoQ?vQvd2`W zIz)TF4*z-Uwoa4(L3Lcpr&^PN|Dlyh<%`$pGib zQu(L5Wj}ds*QL$a^H?vJouJqv~9D9b=Twb0o*Z%MK1D|;4 z4q)@;Oo2q`t?HAv4yrSnLmA+Ru_rx;4Uo^2VmalnUR`P8&iTz1lVBepb3)EZtc0<% ztnHn~e$aXlwibHd&S_)FRN40TzsBLA!L#jWUf|8Wv8$VsuD|kQ%I;B)UG?|!cG<$q z3r+m5&)wUL|4F`5>yOm9lKr6AJ9{3w=MS`J5qmxs*(b^mx?OG4kD2+b>j&_wAGQyy zC52Pu3iDuhbCTs2cESC*A#ktvV#?$X6TFsA9^8Uca8L2zmVZpP1@rup;BU)0*yU3W z1HW{;=IqbY5BXL7d7yG{51uP_mTm-&IBiQl>TFfzD^&ZTyz|R7<*{|r_&MNj*0=VA zQs>LAjfxKMxBe{CC)kAF81N~61>D9=?2&Q6InKm-#tBx*G4W~)UcD1L>CTC6j(DAo z=TKe>%@@IWTI;CrM2htcuOE-!_4mWHQCAFWqefE5TPy457T>^HyJ!~2=O@{2a_qU| zif}b%ZUIJMNQiD)=d@?g!*kgIx}6NZ8uFQfbiDd4eJz}uWVR9yXZQZ%jk5ceGgni+ z@D?6ZY2r*_RGDaSl+F0H>b!K_Z*sg-|u4wLXB01tWrIBk%Y~M?|3iX$Kx3`w{ zSE@ZJ6q{aZNK7jv+uuM0d64bF)14f5H>IcSXMN5Lz!&Dbi|BcJFa`E&BcCp0ekJu~h0 zgM^@SIK8qW*%RT8-<&?>i&NpHI-?wcD}jUaw9Ngzik}OQ?kt4pdx+c^;r1QiwVE&I ziSJeCu{Mt@zEt>~IR-ve@Tjp}XU>8~$?^%J(S%0pFWfm{W;w$7>$%Xm-U&psTj4#9qkPb)}P>8yoN&U^=4NEUo60qnA^RveK>Tw0&& zU6H)#c(G!he}=i;7c%D|qq|Cxd;;Ik#fo|UndT8XS0GYz%br@+BA`q3I_AkW`ZgsS z4tivm&%jTi^xF$2eir#bXgj60FDx>j`qo6R?X1`KS>!g-xK>})Pu66CzAJ5aq z_Zp{rWY0iD&8-i7Lde)}rR(Z23C zQm%T{zTz)a$Vl09zMVXqn$MlZd0nGAP2-$r_y07>-WGoQc8tcAWS!OqWDm+05rSuQ zCPR}MS220?TxJ~pp*h9I*tkk4yqtWL&?|*(Gnwl~h+nN;ke?(S6Uj3#dK@)r?Q18U0Bevf<2K@ZsAFP4Own3C0StLO21vH*5YJre4LsF=iQW z)8MUaAxe9*@KNfluf51?$w_~%z3&wFejT_#eld<792bfwj*PGegSD|3bHH)>j`NSl z$B-c-Qi``zEThI{b~ocVT5CSHH)n3xYvmTO2_9_sn>8*Aw*Jor;L({IoGS!8z}%;I z>VWlE-g^ha@i`BU72~8|!)6WoT>he^1LF+5vyMBr*pLB7*j2{^6Jx5Z|5^vEHQnf$ zZuAVfDf8q@jcY_;vP>Y|3QuL=Rr+p+Pz^rL#ha z=RE+{l>@LoHq!C34{LG|tShY_K9WH9Sy<7tz1Mp=i*E)e@H1`lJa?Zve~oi)7Ji%k z1Y5G^i9539(Qgj6140?;ji9`8xo4a5Mj+pw~it8eb8R;+aL@0^=%1KVm zL8cHB$`#>~oKj4L&xh{|&~~Vtk{%?^`=D|v1)YYeZ zLB*<)Gr7&lDePuwK^&lwoH`1=>9TUm%B*|>yZ_?iv9uXWk4I0-$A9ylroeOiD(@_^+`q_%z|DuR^Y3{@_TpI?CAh;GC!;jq zmW)#TjW44lFM={ky8Cuub24h4lTmyhN!WS^WR%t0o{YLweNnsEdI!j;40Pm*a2e#2 z{Fy`LljvyYE$EkzsIF91KFtisCzD!Xi zrr%WwD2^7m2gT7w z67qr1E|bqN8uV@d0e(G{&tL0LDi8YFf6e-=a8egq*&AYSTm;){7w`FV4Bxly&o5?& zu6}{mP{x$o2GzB^)IOvx>1gGQZEx=^ z$p_=+D)=(JSmy+H&ci0x8aaWuW^*YQPKf$#KlpwEcstnKJ9iOoB$NC(%)T#on)chWX4Lc!!+!9AJvHsDlWP7jADr6x9CIlDY>AN;2g9%b zrf8=Id?KF*)_;{pXC^WvnR5F@oh%bR{qscdk0X6hej9pB8Oy>{N6N_iqszt+n9`gKNTuzt;(-aDjzeec&lJy8D)>Tl*<%|k_tL-n0K z<_Gk>jlTPIJk+djT@ltH;VJE}@7&aBHhcz|=H;jTfX)S)@xwh| z_+?$6Kd$}#^-b6oAv>nsc^*~1cYV^FT{&H}H%mMyS@!jl_Vs51J_D^y==rVx;(P{Q zp?req?akSBzLw_fs-sDMQQjBq`i4EC7H;Y6e!f3+Y)-cH5dHMW&1{{X7!PD zk}mB(JfCsv=cb&BFAe*@m_VM?GH=D+E8~y2>wzVWWs|(2vUADIa;~APaN?!RwbHUL zk=4`i%}m?UTPGj8e4Xv*lp0cJ6^P+4$!9*`>r6=&&b7YIkh#EqtFd9sjmSNGU)biV z5C79~tnu49V2J(cde_9IhtauQcJ7n85&g>*@KbVL0CxKd8?U1IV+VbQ-@sdj`HksQ zSq*l-%F>k8(0AEnk8la^g5n-O~;?(BdDU~GhD@?XlPv%b_= zkIjSG{-pzbO^TuSc?KDaO$4v7UjgH_&mW`Wo2~NofFsdaymJg~+!o*)-`6zG39Fu zVdnpRnb~sYv->~9? z0e8mkwRWEW{7`tHeq8@m`?4KfW5+|n)j5CkwPx*xs!z5JI+=`J`y>vOxbhTu$yxlM zLy<+EOp7O2&*W<1n$nJ0=(W7%rSbIB!s%jTql%@LjU_rGYwr?%BpYLTk600%ne5L=v}SMe&@z)R#`E~O z!RZ9K!Mv@Zq4-Pfkx=aAj9RyLt#}H>Udo1(y)v2S zBj|(XERTE=d&R?L`~n*r0bN&@RNl>h<=heM@>jGHi+LY(j3Uj2OCiS z>UHFjPhux6EfGWZvSM=V-rEGR3Dg%);p?UD3H+8{SF%C$*BaL<<_4<*IdZPX$E0yQ z1{}?&Ot8-jl$Yt_$0>W$$M^S7*Sv!A#GAOo^U|kNc-P@)WAFPvC7-_OQ(N*StIsj; zDH{!d*jI8ids^@nFus~o>`kMrDS=Oya@j-po5qFg8BbZn%N)kgI{P2_HcoY&$9kFG zYfT>w|5V=%<0I4@H_O`9X$VL{nOH#al;-L*|*XI%dsn6yiqV#Nc}_3L$_CUu9Dz9oc8?q(3hjb zeBKYraOpb#`7@u-nm?Sd#5~FMJXf6mi@8s|Icu)t{v)oKe!scHbaVIRk$fbf3_O7x zT6-1w^vMn3<5_ucTPJeiHxU0RrbJ_L1iaToTv0QAze~v_j?c4vH&(hfj}El^ zsXaf3>{Q954^DP=<9pQ(K1zKjdwQB#fy^@FSp#F8Tx&>K$|(2B!~=qf%~QZ}@N>2B z$=Gu7k!duXMg73Ajuo;>CO3sb>_(AC0j9mGD>)e>* zfAQ-1)0?OZUv!_wYtWzmI!lv7pC7uf?ppI`uIhV|KPgmT?Di=3f-_^JU+o#4%L>Lj zN0ht_Mfs<6o~WNsNdBp*R!&GS?5h0xQ=j^)V)5i(nc+RBKAX2qKCdS4*^iGG-z3YN z;~R}5^B@23x_)w8l+X*rPG#kvFOKqfS2k*68k?Uh#&s-o9VH(M@?Lx8&pNig{IRCD zV<&L-2J?%LF{hBtlN`tVVyv5AXilP-*hcmU&3#9#KiBSTE9nc_OV*~M?zQiXk>iUp zbjrkU*7v7*Py5pq`{3*@&Ua*wq-iH-M3USy=?uIiJNe83pRC{=1B}}5JB7L2l(?(U z*PqwY_g1fs48QM0AI-eF%fz|zhV#1?v$uEmGBf|E(*7oXuV>x4nY+q;U!meYZvbas zohiH5_NClNJ_@zre9xJR&VA@-OntuVej-e7k^e!|#ao`R|9oo9O?E|E}xv z=kk*EqOWL)eHA_L1Drn`TU$|{l(t_;&*FC_--PeawCfbmR^Np9R^Kr%j!w1Tt*adS z3t;4#d~J;>*=}<+f4<8wuVz0j^UCUeuHBoEWwFcc97eXqJA3sl?Rl~JW628` z09+4HhMi;khOMFb#vb^$)EFlR8~am!^rL8hV_I{SBz8$YRDk|J|8|G@I#&>0*<9ko zq2tQsTD>0MVs%^@@7=vEgU8i~Va646HtUNVIV@BSE)ZD$xm_rOL zEnXXU@cX~OVdE#dOyT2QW-8a_;xg0RRNBAisxC8|_0T7{tIX$RasUh(3y;9t%E>Zx z{A~Dir#b7qSl{XZwEfv&60a#uwMnM=6%xZqvQFq>L0E6W}b~s-Cvmieb$0|pGKPZ zSs6xs7ega|FKO@Q`u?kU?~rni*zw`y+@ruX6*`Fjr^X$>`ZPKVc-lM~ox|_%L!)l! zFrVwO{5571vTn=A*gINSX094j+CQJ)TfW9VQ|@}lr_}_;^o8JR5j2`09MIPwoh0{S zTuoe(ZqMICs6Ndbg;%Y4O1{X4#JXeY9Pp~~nMRJ@dTy+5>kxQEyZ=jgj`QHjoEz&GOn=>3 z*VhV6!8v4ON@q{wi%28e;bp~;%O`SGW@F{5Jp7fpzM%Qxq8xsYoYtn@e5(%GD<6jV zbMsf_({Rs`$;`{0ZjpS}JBk}?C7)}fxoLMej*P`lX>DI)ai?`@<-XLuFMm$F@q`Z3 zxgu*mdVI%#|Jh$FA4Pp(>iY(LQfx;f>(azo^}mvRg1$d_=p5aD?(0FT`@j+YoBkH` z9R2H~-@645HWBuL{75cuZW{d=#B(?SPEz<{`Ck4PeBttoj8(k-Gsv1zX+3vq|C$p^ zK76Ge+0Omu*P|bD!tZSPpwLZgXV*5(2I$X%#&%O)WH|%WY{8it%=KLYr())TZ%o&yq z#3bEgeFL+#cIn{q)*!Hr4*341u3`8*JroZA`HbH#Gh^ZNW4Ly9WzC*XXHA~Fzs4HM zfaip8?ao~5j&);0RO6UOh5Wf8ILt|x%jQBZK~In$75|J#@jYXXxMI6@6Xx#XwS|B7 z`w&;A`Xli*<2e6(OeDT^TpclF+9wk6_yAlUGJdAf;&P7j2LXfi`Fr@3zqtV!DY*Y( z$lGs-!Osz=k?O3N&(85U^xY}hr_4(^N{@7oL{IqMRb_~g8CO(GC#kNx) zzS3~)%k+`_7wBa1&KSEVS^E_QlRe*=IXY|A@ba{Y@D_gZX_N9xYw>~HbDZL}7~j~U zTGwgmL?;2e)FYc)>y<&9TYA;S;mSVLne$rnb~ynRb0ELH z;tlQuM}k8(_`+q?H8}A>`(f5`t6v9lzvJh1eJz1{{Pnw#(K>-W=ljQj??+EozQv^AzU?^gSvXEV zfMNZ~`}@?N372)5aF1I*Yz(#!EvzkS*b_2(L$7k$2uH}NF`O-H+ZR4HSJ2(AwN1?Q z+Gk!YhUF8!5&bp)2*+JJHMElm>1=Rwdnj~+g&R3A);}*;`&7g2%KgOJ27Rl_Pti#^ z4qSg319qOg)B%Iig+RQ?Of)V^RlBJF-ZKpTh34eZ<4$)(j?to|4m z%|*XD=vSw>p!k`EGoc;yf_9n0NO(|l3(>0`dTBfirB~deSA*3V8u#!4V_N+8gWEgI z7rFlJLe9&{yfm6Er>{eE_&)sMD&BpXT_b$O-5g7J`FY@-Ak7}QyZUXAW*-cEFPi-z z@cqGP_I|zz((H28aS)naN|{fyFF`B)P8}xAHhgMu%!;*V65{Ri%i4z{x=H^_Hckt% zzX!V2cywFu(QPesb9o{BwFx)QIz7654qM9V`ed$h-Ph?yDql=MLyaG3I$r0eq&&Jy z4mEyxUw>j4`;+lL-p+9X?`E%7&M>W0yS0rkC7&ILd8++dhuM2uhsn`{NnXKLmbng2vyV`dgqkDi%HU!blFB(I{#Kk7+(@|QC7k}=m|`xr;umN;Lor&0?%dBC#*eX=Rcg=P|ex0b(8Sv)ujJLcz^C>(M>5V=LY&CB`c#Icrg`3)9p|`WUxkUiXDnl1 zt+%#_V)>(om z4*I#&0M8Q`u`(RHzGOmcdd*Wy3)s(QE7!wZQyE}expFkNkBeNG#*YnsG$ea=b?MBz z_w~o{T}6`W$A#t7d0uNiyVvBg=fSmGQ}6QD)DNEj!_i}K&W?tJcy>yLpKw~v6cQh09V*C5=yym*7U zlyEb<46}~^0(|AS{ZWrDPv7g&CE@7utZf^*Bwq!(-n-r2yT=Zp-BsT6bD`bw0otigqTSjD!5_GDd_BATO^ZL|-XPlf`CASi zYv%ZR@H{b`c6|MJ>J(o;#(fVt8`b~apX|%)HU_2XtYwa9#uaD4I()>bH~e*~+ai?6>$u5uj&o_H@I_3O*ek-E4J(d`M0= zxN_|~QY?YWr5pV65t7{r#*X@pO#00W`^Qh$Gy3nI%`R`lw_gu!!;E>!LX%Q%Wwq`6 z9RM>PIQzB}vm;vf5YHo8KmDbB{ad|fI(JLYKGuP(F;1q1fidqr|L=!&Hrs{e#nh|$ zv+HYD95dJI2jRL`^Vbxxj*XrP&EEzY<%p=hfdJBNBB-XINNQz zRhqU1+7(StwCy^&hB6h#qWJr5u+6AFq`MI z9@CLEe`>-W=GpB$OY>|i-`vl)dG4R#{m=8;x4r!Hxk5SLk0QHrR&lxX5@R45uyd|C zh@G<&JEsjBXFJz?Y@BUevmr#-*>L3#QJ4I}kso7wWf%hqjqQ15jCFMR`n`5s4cIx| zo}Kg3?9NEa=~Kygjcph?I?vNzvpqf4_r-nvPr!Fc{*M42jl0vo{apXqR!6#hXx6^* zzH9fsdyMZAvI7}EbPZYL<~ri}nD=g@_wL+JFn`gz-v5=+=lV~vx>4WHDxc)x;xlg` z54dEz@BzGEx46KzkSrX)#VfJ-=CQv`xR_hMo4T*^bWqyUL0_d$_h<}yGzxogeeWJ< z6o6~xKLM`CsZ(%$gZneYqDqcGMck_Bu@ty&2QDAqqDR4dNBQ~n&f-JRW1IJ`&R)~I zfBCqh$7b(;9D4jT(C_; z7r24;;*G|%F=Th2H9%KK# zyLs=8gX#BQGWaHt>Zn7Kc_pZdpf{7 z_;T|{*#**_cCE#$;^Ke4P}O$}KbkciM|7ACAI_SU(GC;8xXZNj>}@;?bN|bz z4%2fH>&{nZ%?Dr8VJ7q5alH4`oG#Nmx65o#XU#8p$MF2g5$GrW-@*T@xL?}HSvm8% z%+8Nw&2Ra=^+Q?n72dguZ#QsF=J{DXPxJgeJa6OKY%YIYMm`psM*>+LN}wB3%D?6O z%-8`pyY;LK3q9z)M2I|9IYaj^QoQaO?NNs3qS^;KLa~?eeEIXw)%7dClgY?;1Mf2q zwD$z#xsPXM<#-Z)8{+xm#tHK6t*bPoy9<)};%6H(9e24oHc^+!EU%0pM^%`;kZ$h_ z1$RKa-DnYkXrx=ZU>jeM1jo-&6JM@>1oC zO)RhITr2TRIJO0zTT0%OjMhED)8KiV_^y|}Sw9-zyL~_o2U;(z)-lW0@nSGza@g~k z6bCo7EyXP9`OFVy&CEsFL9q|b_d)}$7f|loLX+i(N+H_-do9g@?C|Hry+Rt`}mTzcR{%T!(0*FbDDE9FGwc}_h-5b z_vcv`L9R#aKFlmsrmuPaV~IoA!FuXsrnNwJ!WL?e9!+ z&O(NL7pc`H@uy-O#QWELd1QYRwo7x8eM79Til2-<1H<3v&0No`6TZ1id0`%>zL>W* zsy$5lUb;jwT6qh#KG0ytZMO71-faP1!C6On8|8!R>n{DAcP=<0U(Rd?PpN$I%tW+b zd=fMH@-=z}-g4I8ExqaD36yhLJfXbHEiw9;T3%^|mY=ojBW|ySr>!&@f|dv@A9u} z-A{b4HPY=B`MRUGn_0H2-7qC^`Q;bS|X22A$LV-21gw=HAi% zt;an5F&3Ihmi;AAu5sDpmHX$?^##f`_BMItBfalSl&|HPzb>UY!-hH1MXZl1&K-Ee zUVKED_z11rE6&26RfGd6EH1{`ie-l@3LDu*&5wbZQPM!W&EShA6;?OqjgP(y-zLueIIem9zi#21;9BVGRR{PQZvFaL%2c=H@Ou}!-^Xx2ob~J6rO1@v*{?}p z)ET`AVe8<&T=u%bUfOapw1*`zO$EWH-1gVv8_{k<{iD}*gAhlEKMBV4!1Klv9lD< zpfTg`3u8RkHBj+mrLM!2KHXs!sBec6&*0PfN3T7Q&Z7df5}hR*?&Lk6p2B%J@Q!kR z_;hZ2gU*3*JaRBP-%edYI)6=dAB4_drp%{vg*Ns3R_=#G=i5?)ae?2qsIhnY0{ot7 zY=l(4_@g5-rJo#2PU3jJxSqIp(f_|cm94R{ry1rv#6*e4^_KRZwR9rh%F2J)Vd4wc zipR&P^M}+WUT^>Ee)4Zu?YYZX7x!Z)9(_A=5syATJd#nen{6yV@__%v5b!YOqq-{> zP#x>a$n9ttI|v)o@(1=$pJIHF`BCNGZ;G$Q#!BkFlh~6{iV|90xeYDkj_$ep!~XuI;2MKI!}pVx%lA!PqL*BfX$Fs+b4AaIG^yT>cP^Iq7U0%QRkde)UnfQ6I56ut&*9 z5cHmPTVRNQ!OLl~BJIwZM_z*ZSdCk?Z!0nQye-LG4FJS0|ESp4aqj7_68MwQ8Sxr%3P>35W@ zz0UvKaSiMhkiC28yhG$nVV;3Zq%Qx=oypiq!`aGyj-_VuM!t@|9r~Qg&eAyE@y`&1 zHqismb0RjMckmLGVm9 z$wkrlkq_?ce~S5;{tK_KfyTRdCL6T#?z;X*ne&Avr{aIgnIl#iD&;AN$Umwy8hclIvtz{A3eM; z98Qi^aU#BZdg9^o+{?qs(jhn*c^EjE7r;rQ=c60INix7I;H1vumGkKTZghkGtDjMD za<+$)XM32#qUS@S%^;j?7wfX1?x{q$maTd z#pI9=?aGz4daur&kleE8Xr#1;nX4qfh`&j)Fw<31?2~*Cq1Z~hzc88vhZe8ONvpH9 zs`ByAe?^~B9>EVGABg0cWUOSQe~!l5qa+`f7h)M?AM=l1h38#d62qw=7;nt?V{UeJ-S53Sl0)RD}=Ew24`)3jTcM@J@*34)Dw)uzso)0wAJ z^Q$XkExtPoQ;c-6@V&jaH9?*e-j`0e92@&kXHkm2AEg~XABt!s|B&W%K8=JA!L*R~ zRIg8iC+1dZFhTYS_*V=q{HSqJY~(Kd`+4~z;M?ZXh7Ph3M28UjXq3-M`1i*Gy58d7 zw-rte;9p}v`5|O`IKFfEfAC0eEPw~a0Sfn_5PR0aeWR|lJ6oh7mB61ZUe~z*PEU~A zc7Vsns;z|MadepVlSR1KgLiVXSv%-^wB_=#lfxC9E6=f?14#H&96}I(>W});JOqDN z&8gz=MR{1ZUAuUgyoun{=i#L1pA6+W>o$FG9{$}k^ow%K!)cF)xrgbOcvw0vL%+1I znm8QGzvA6+=KkKHyeqz~PjH4snsJl41z7Ma=DJH7JK|x@uY4Zphm&qDEgn{z zQ=s2uF7fcCw7V)L8*}*pABWAoy^0kRFV_Rx2)+?NU+?oX_4%@5Y5?CM{Ga0KAJXpO z@bq_t7x6(VA2O-xIUcREvu4-%>}keNTZdn&iMgv}!JYBDY4>{O4@)cB1HgQ^FTs06 zK(Ze9(sIp)67+$7$QMi;_R6rizEm@s_{*m<$WLRsx$<0(acN(pVJ;v4G4R@NZrWq= z>{-w{1+h)`{DS;)avpnY4(zQ`?&b*mu6aNWYd1P>T$*ADt26Q>!s+8#^9KPhEZS;?@LaKzkS{} z!Y}1^%q6@r$6azuV@@*tR$$jz0MZwtaYJT%?^nT-&e}97wOgCQnVG%49t;JocjhHw5BQ94*yk-LeFSS`Fp*O z-#qriy8b`2HhieO7F%aR zOK-2%jYIbGmtN%CC43w7_uLhFzW=u;?eA~IPa|0=Uk>|3Z)GgleRIKg@8I2Chj`cb z;re-d4>#Y$SO4|U`6ik!Ie5N_NtChHgnUnyhs!r{+&2%*HxcPzKguVFXYgq3032?=H*1pE zVQ&K$DZ!WY`~}vg$d?cH{%O3geRlr)s&f)_)tpr}L_78Wax8lUSc}*AQ(K&IXm!Qb z_grIoxco8LFFxh{sXh1)>EjEhJ3KV@TwhTB2jQwE;e0rnkHiz;B#|k-CP5DT*s7An z3qBqBVIP};-7uqSuZP`yr>I;iE&278cuKkBWEWoS?XT^wXkB4Sl9<{YxJdx(=$m?F zvr4b3FO9$!Nw2B=>d&%4IbRb!Enj?iO}3Z)ucavKE83IXLadki+RB+k$Q$N(=8Q1k z#@T~uCSF%iUH4K4_7?UU@3DueF}a@n6Uw(ojzrq?*Anaa?dNTm-6Bh^;8GCeK+1&X3ZF-%qxr&diMQoVjOZ0duI>S2k8s^acMzDV}2v zoxfhk!}c{zb-JX1I9a_Xy2`c|F0XrUl$c-nWRm6m;vtpsJkN7qhiLE60^V7O&6tk! zZU(zHy}B~z4p;A=DHmUh|AiCPFT6ZO+Y92H?aqJUZ14M`{i;WEd$l)_?-o*@{)fy* z%UYkW;rE`mx_b4Th3@FoIWC^d(mtv63C@K9z8T~*RXtjl^4s`m0PYCSgK#H8tM~j1 zx^IfLeaXpcbCHuTm3C5Qb!qku_5BaC=Am}vU#o8yoa9&qzdc?I@^t7lgR3T)DJA(P zfsg+6GoS6B5fd!Vuay8U&5!)CC%@Y>Pu2A&vF|m;XY;=;HnK7z!Msglncv&fnS%WH zDPY?UzBJ!%=fCC<^aCH=EtM|dlB~Ozy4rw2a|ikQyOJ5&GJWv{;3>7SSN?MO%Im2| z^MWva(OSaNG0N|ck1%;lCBvEv-y=sxR<@*iiZRxEo9sMrw(``%o1OUVmJ@GsbR~FR zi2U}-BO6LN*ze0_3inxfFS5Cv+kjPh2DEOt!h`p7z$^M&InHy*`4!AZPXK1gDV?*Y z^Yw_y^UjM56|8@S+#HW;{TSF@DjX=R1K{X52pr5;`u3dfV!*=8D-{D4;f`)Yez>us zy-brl{E3Dc{21zo;=qWd?Av@8-%mWq_c7vDb%veJ&=P(nk5ZSSAEif9@H>3$uO0b3 zC4P9XcnW^;`EDN1f_$fQk>;w;^dXk}Y~}3#hrM@?kE^Qs|IZ{dNt%W-r3r)*V4wjb z1Q;M-#UfKEP_+6?p_G7Chl`3@bkx$8%kwy;Nm^41nuQK}S0ED|IXP>_NJ ztAb849U77XRV%G>>F@p7=j_bMbfyhnzR&CTdOd&aoXI)+vi90*uf5jVYp;Dcd@cFW zUg^^(^ILO6^M`qDc-vOaG%2t2@6E(_cjxmwGoMvXJV`dm{o#w^Q4?5KYGY@xhRPo5 zmfLcXc;|kDb9@}IH%Hw6HOH}mm^uE&3HdqBSXIwL-xj@!kA%EA{)tcJ=Qy?!v&Szw zx{UXhHzA-@t37uL@m5S%`&_%Q-J{v%e5WX&ojm&K@->30=N$;cY?s&-R%nx|| z{0e86E{?#T!K3(#_LGFOgXv3x`ph_xXEJh;c$xIOlYIR=pKqK`?u#-8MlXT?axX`2 zD}7YibNL=+z4#L2_9bUQAOH7H`69l>q_6&YwzGe7j`Nc*&vEXW)ZsX!?vp#5HqwVK z!H4bq{FxfXDh!eb{Ep7x!(fV z6qj`o{3ED&i)?51qOsqW!FOcGwKiPQiq^SPMsFuBOq=oDRM}d5CN*z$*O_~F*f~AF zMF!LThMm|ZDv`-Vr@@5wQndcNeBH)Tv2##-?tg&Gy*JE_BQHF-=Y3s2O!-cWrd>bG z_TFjgN1!beD{JRoL)|Z!x3>vjk`Zl;8r35h^lmfo5m&Ik=A^uQsO7s~ zE$si=-(nsKzg3Ly%w+Kx!f(G0tF zj)3?PxYHf1qJ7JQ?YWAGcpGy>Fv_<^>su}SX%zBwn5UDNn5pNfeU}Que}?W+wTm{x zsSI|-{wL81t$#s%nE8;vr(5%a)43$~$9*fojk`{dWUdB?rHgK8?zETxk>V(oi&tU)D2p(j z;L!S6xbswHOYOII^v8H2&dG+rg>((^G11E@lp!vt!NWRdC?1C5 z;D$c-^2{1}9DQC1?Px<*&(%rr&$ST>VSyqx!yL*nQvm{;%Ely}kDc z`eA(DIHR)kgbru+XNc2&LYqS@2WRmIJDe*o!snbt&g!8$zoPY7yb1jPytsB4#hi~s zxK}2Dt-+HSn-kr+*fol^#r_)o2}Rg9CzfrHu?*sCVPn!RrA^WHVc0h!@LlaUS(~Bg zb>+EUd-x$pE*eF=SmGd~W8#BA-Kux=jB0dsf$9MYWAyHGUU^MG_l>Q{foqtw^cUK>YvZG5Ce8^I!N>{FzTTWRB^_YH01 z7O#yXy*5rN(Z)*RlN9#jU1*}PAMYwZM2kVLornf+sGAZ;|sLWSkT7j zy*8p=8}BdC#uj3N6t?knkv68%#*>E*#Z}yE<7lsq14^{9v`8EG7inWWZOkla;{#qB zO><+IWdG+J(59SEP*!+E{(aP+Wz)HV*UJ zcn7{vY<{GQv~h8fHeN#qX)S1D^LZ{WINWRFFD2S&EYik*6=`EVZM@w$v>(6m+Bn8* z1L2}*Kc2+5v=CRv7ir^Xw2>}o;~}q&W4$)mr!U&Z%pz^*1JMn4)@ScV|I`|TPR5z^c=k?o;DD1N?rA)`!hCbr8GMVfx1*cdaz896_kCZv z?-rE1$5(DmLAeKg6mzkZrBq#uyJO1hZTOp1^;erk@hfpjaWjWmU1WydCDN6D!* zU9$JzBHI9V^2O-%Q?tl1$b-6zPx{1H(dW}yY`*+Pwn4tBI^MM@>An1QW*jD7g54?X zp2@xR-0FdP&t@h2TWqZH-8Vi7*YVBLLp}C5S8m+T$c^(A505&7@R2ZO!Y5EK_N<6= zr}Q=88fkomWWSRS`qmMyZgG1V_wRW!EV8JvRi2FwqalU{ zyOEzm@fDlM*YhIvT)*b+fl6PTG6Nz%uHRUyl4NR7N~-FJf7_ z^0nEQdq}WGkn;lpC;OxF?jAh@fmpVQch4Yi7s5IbSZAAi2hF*yF>1Gov!{Z==A8~6 zC1>j$`%Kw0`Ty?Yym8>&$N9esS-T#)qa6pqx0i1$CXuHPc~f>7!F`m*0)DOWIFWB^ zs{y%J?dZ&M8eQU>->DvGh`em{1KJL>0RKX--MgXhSw`;7xA|ske(Z1Od#kU#G2YlO z<9*@SJMqrYbCwpYzn8gx4SZ{nE54 zoPO1Z|M!D?i+4*;hZPy4!wSaeByi{-BVuk;pXeK-5Agpi$-V`By2sb2BgiuiS=x@# zT3??In0zJZ}82+SZb_4E*Qh&7sLe!J7WR~ z$DETeWA3E0Mjr1l9W_{LBEAS)$%7vOTG4^H+As}~|?Tbg{_2dCE4 zVmzR+5YC8`v2+=YL!>ybXv#{OngRK+}-}&~gad@;3hX+x= z!C%r{=Y+4#$GUS`d;M2({;Uvp=lb9y{!O*+Nwx6J_QA)VQBmA|_AcN{vbI7;4)-ew zzX9l9vIzfY$0ys&H#?8ZSPNPb`MaOGJ@_~xRK4+_o#8v$2cPbK>c*yP;rqA`KKbGm z8`}>HzJv!KYZfu3`oH6~`8{NB-M3kYlUiS!=vvi^wPf2AJeKZn;ajmbJ2hs$xp^%z z{UWc;Wt3UNUS(mM+otFF!8PQ$67A)_oaLm;Noz>AlA1|1BH9Qa`BLZDw~rWlj(r>dmpaG(SH7uU+4+xcb$|bv_J?zhJ#!FyLBlxHZ}IdL zZ5775ulM!UkEgM|ep)>JRQ>SbX@swAA)cyzwW(p?#tKZdw(4H6gStFJII$W?R$SX`4r>I=G(`Y zFXelG5cy{L{@=rwFX4N?5Ba9~{xA3Ci}~K~LB1B>|9|Iy+uw-qeL3%IegD7V%jfvs z|NZRhfvxa++mDLvY>^c&L8yx%|K z*+p7OT1~pu``yV?X)dV+zBWFhb6N9xTiA2deLV6N(B5N&_f_}|)9*!9(QBB8oPRjz z`b}k9=Hr{^IE@IMH9YI}n-nGKo`5LtCm}dtKf-6(+sE``V(Bb3Yngd}?1QfTC4ej) z0H-H~cbNEYvQO2d@V6o#eBH!_(|V{gxQY$85FB?ghEf9`VPvk|8(`; zm#0~BbHwl0+R^)A^4POvA%JXM1#pme ze!!V`o$@pq8Am$VyuBL3sXFVwa`{I&zbYRVjWzz~54^Uce-h<|ck&q;K86@ztX=4h zQ?rny?o8=9w#YkMr-@4`yn$2ky7njBeR|P;kbQZ3CsV2XmwEYvtm8JXJx>9R8(%tm z#`GfjJ5aAZe`(L7>8>zfT~ulO&)WKQUQK7Sx1lr0-weG1bH`GA1jLWsGnFeVS-)8~ znSQ8^>Fj`PH2AHmZ09vsI(OB#f!9v_Hx;L5uk0_NU5C4y1L5oT84XUX5Bv<~r`F@~ z*m!HB&^q)}mT={feO?U>jK|iiJ)?7JCklQvH$+R?50~GnXiR0R()h4KFUnIJ!LJ+o z{3+$R52SB=1Ruxn#7s+kzg#qWTkg^D1(}wZVjWJ!*GsV|(??&0Pf2@Zp7D!(g!rKH z%WR=OQ`VW7kqp!oy-MdOjo;apKKwU2`CWcdDWw@dbILpUotX#q;+WYqcx- ztpMl7-`bmZ(8xn(oWT31DPz|ZD|_pVRx`du?m3mA_iwwge%*V5ZLFuDm-kNF4eQxgxx;*B!)aOJMfaHNPV+Bur@4GHKXza+d-~`}_q8j>#y>gIIkK% zc+mvFybyo8y&EI>{;FQ}bA5@tT}AS) zB5z@xY4W9``Fi~{xY(Cp@#gN2v9C({Dd{_;dq^ut-zGJ@#r+pNKS$c~4}1f8&LMU4 z`@eX`NlW?N$nyx&#r&?|Sxsu;_n%I}cEt1NJU9NGJ2H5#;W>xrGM>|T&LGX?w>f9% z`R5ux+UPgH*Ef0rAR^;Y-^QE4=8VkvTlHCkXNNS$Tx0iT*k#tY$XgB7({8u+)#}|)KovM4En9ii0 zt@UthGj-YbBWW*y>|@tK)mH@%tU;#GJ?Sf{NBqid*NaP?aNF%Hd=j$3sjij$rmEa!7RN&y!8-x{(+(G1BY;i zBEmb>kIv9@Nay3Zk#~(WcP2S$!Q{%~jh=j9;9n5U3c_0;1^)~RoA&T_aZTu<$tQOyXw=&Xv5+n6ro@A=|fsqJKgaS{Dpm*0L`n6 zVvs7<{iR0sjc30GU2I^z(0yydz3~3&knRdtmg{D%=w_{$d%lZ+) zf9=QH@A?*{F0H$^uFZ4ZdDURraM#Phu}--41c6;RbB-xJ-hxMa7|LhYrVU5C_baHM zW?oXC>K09DTt-CGJ@_VheqgShPW9}1Y~sduMENES8M9^Pd}U$TLi&xE{h6U<^-gnL zd8N||#tIKU=@4r@d~0s)u71Hal$P8$hQ;938Oovcr3d+qVnV@d(KX>ajG;qZvb*4U zg3aKP_l4!diQ96|u=jE7hq3pNG7rsmy0)PQpE$>PoV14Y2x)TT70%x$;2+NKTgP4D zoWbvDq_asaf9r5Q%5yrYir*LW{2D1vx`3qjpC(=Ar4g)4yW{(_N~|-(wO6k%-`QS0 zZff2x?YCDS^Je~iDSP!()aSQXKgs{4?A6_T(_E2`7(CPc{R`UO)!v1*S2vCrzD@p? zB7N+S=lkOCTg8S-p- zeW;9P`~E$?tuOKIF21edo7F$H7a7QaE5<|Z)q~4XjEiJG$&JF}O{}HX9<^9yJ^PrQ z&wjm5_R~^&T_@{BCu@Y&0klp8X-n&-U$2|;4r@eG!$3Ytrps9QCso6 zyrQ;@yb^JBNX>D{3Q@HeciXeFg7UiZ&(3;X#wY(v=M$Xkz}vb6?IqpzblzHZsDAP9 z2Pvc9TI2n?*IkseWt3le7304!Uz_qp^LZ`qls{Rb?ioeup5m)}3--M~95csxk<>%F z?D#p(b3C6QJwr;q*5SN*+#Kf((gc1##YTh_F5+S8S5Z`&VRV&ioU?U;+jpR>c3zL_8qO1GJt33Mt2fmNt?qnyP z$)1Pp^%ccF^WC3Jybg!Ea?E{#TX^cu%#z6x{&B-L;X%^44_xov{8%P^TVILkR z@cUv?TadE~jA=@`m!tW)BsZ6L?i^gP>2k(xOgx?aZ`P_QUf#*RyfI(iFN+??`&IIe z_wu&*@;3YOUPRtH@_vrI^&vqdCw>BY2W)5J?|AZFNZt>TcWapogJOYO82Wf;^K#$g zz(wR`Kd*l~@0CaA?Co!z9k;(c`c%SH~YB7X=SUHS0o>%YsZC+(|enXjJvsONU-Y4p|eIqI29esnBTkK$;$ zF~{JK^hvgAt)W%e9mF5C?&{8L-L0m5b948Pckj=l4v0FXQ+9{EqQ^Cch^EV;ldkqMbAO9q0Fz{63i98Bz_u6N~3N z4g6k4>VBu)x%l1r&b_p?krd{Czx>w#Ud;V1jDup=TAIMeYEbTbnm%lQt9{r$M;AIf z>u^8%SYD6u>o=>@`S+#tn^x-c>u~4rzi7UgU)5QBvpU@MA9sIG*0U= z`E~j8a<<%@e^;J|m1p@+OrA5mJmM2JkM7f2O&)(8l?C7L^}gHkDfoshuQu-TzW*HF zZ{ZNl`t#i4!SM)r)RwJF{MP0ZEZ2HLKGwt(= zzmKPmVtoG?-Upoa>?7pC-+k-};J=G{EMG65JJQ6G5MLKB)_k}8SiD#~xsV^fpE~aI z)$x}(BL}3LS)Q)-{9)|sh*)C}Aa5XyKlEN*x&8Qkhp*g5$~F1cl>gUj!D@J&d|WJ# z`y})n!JjJljfXcYo}Yi*#(85BtA4=H;T!Cyf2m+R+I{1(9v_QhR z+wl7F9Bo)0Yx@xyMn9e|=*O>i(T^v5{iyW%@%S+N5v3p2M@P04>Ehy>Godl*ke1Gl z+2ijfhKKA0JK&k(ceg=bk|p5Q&PHtOcvc9o+{0{&3ShBW!06}ibr7q^43_88v)*~x#Vy5cSj+GF0yhLm)_ z>F(%KZOKlhzG{DYW0diXxV{L5_NvM#_Z|D%(|nMfUuFF^r1B{G+t=Lp%cxWJxwd`J z#>BgYv}5f-ejAVNo9IXTDEt4z?Vs=`+=b}7L;Y2Zt#GJ(ei(wpVm)zr)nJ^ONiTIc zH$^zNK)Q`|;Nf$eB|N`QYA22V>wIVKLF`TQ+uHdw#&Kv+cYbP|MK{`mjeFzQA(&{p z)$4l`dG%d5h(NcDf7XsW_c!$J3q00#e&z2woEfAkB!7FVqp-aeuf0cTPxVy#>ZvIx zZ{Wo~BU;dS2%bjD3qL?2%C70ak;q*%%boYqu+&h4|N6g9I*KW?k`}FVfG3*b$ zmAhfVhkWub0^W-lNA**4-`G)O@-1R~;)<>2`ht8=ec+wizSjrGIq0VL{Wj*N=Dc98 z7yj_Y(HuR9_2FXLSDFO>iSVo?`SEsT47|m-Ta7jf<+!?M$@NZQ>~hM}cd~+W1L^4im^836+1*tf>LYiCC%{S?>8BH^SRRLy`{y3FKnr2JvhsC7ULL+y4~f zk99?uZ}le|e=Nmi(_J?;sjgfwjl7p?&sF1Z9OS9H9IAMlyZcN`E$*6Ttl$yZFVP-$ z18CiitF_ADiTlggUw0DJLB1f*%82xC?!bT!_IPKTxjT=!l&egw-Bg=&?U{4Iqv{lY zv$XVVKAJ4(WhAdRpE}D`uivH%GXu%+se5W#1zK=n|qKoFWYmX zneglLogm5jKgyR^b9yoBm1uHRWF2ePney#M#*;rU<4e*Q{V2SJZ&R~xBOhw*(tHiX z-MF@oCsUcnQ}PQxCwmZMrI;uS7z67UzVY|+`KPXg#%xJ$0prHGBTPn9v!|#n=UT%z zgHAXXOcAFoOuPVRGUKg#y7(R50(@@URSDYk?kd8+o>*)7`?&hlPEtHOm5EUQ8jmg% zPqWO>hW5c-pNzY}S1980%K2|^Bj#lXYc=kek$>N@(CaQCf7bh`Uin%9zZ9xPI3Za*}D}+oJyq+nalgi$}j~Bmd08e67IMN;_5-D%?+#y|%DSlrlDd z6YYpksU5*1e;47buuPS&jPfh*cIL49Uzk_^F1CJ~cfFbKT8HvD?IvIMwd5^<(|b$Q zzfAReWmLcLzpzB!S?A~Rue`#wU>E=yC+VDJnlLr&~hTkjsy?r0f z<&u*8ZsYwFp5GaZk0z;s-wSvyByE1K!}$j?Z#U0B@=Wu5gy&gF`D7&ypjwUj6^ohvKHu=+UIxNSEx79?f$;>1xvAr#qZ)*UoXiM{4Ew z*Lk+^ypZQiQjp)rlP~kD;`}1X`(l0znKyUzCrW(#9p5IG_;w%k7cKGaSCp&gTLNAr zd9UozOjf+85m`A9y{gy5g^m&vnzL*==Q)8COF zNJnkZ{SbLw>!|%Iv(f#{S(lAwk1>rd)hXX+6Xg+^ML2Wn_DEt~tovk=QZOaXWG&v1K~COOka>x~026>wd4|d%5>r`?L1D z)gMAW{lVfuI?M~d<-T8?d1j4Ty)V8<^uM_mUCpDB&;7~O)ye{ytYrBV@^uP1TKa?f zFjsq65y@yPHt`32>+J0Fz;XS}72NfX9*{zZ=RRZUU^b>(2-u@3&eM`wNXvjhXQXsj z_h+ELqpk~PkGi`u+YC-?m=70@uE<_ke_Hme+fUA(f9L7utW~fx#a@bNmU$AvPD@$Q z)gI{d!cipZ;y`}d&7uR^mmVcNn0q69v>s}ba93`HeA6CJq`DtMkZR$Q5@$Wr214iFCJCe?R@<8t5@XiqmHhYfHj*;4& zNn6d%%k(Rry^K7ZU*H~%CA|k8LVOs_w}k90an3HgarcN1H+FMiMJ^gACR}QX@%?vo z_$9dwyjSeJP*nI>u}OE-2zJr1?wQfN_|iw;+9gcVJ5L9uv>9*Oj;FI9WnNY|vCILZ z;@OFg^WEA+8?@cpa{}<1JAdH~wX8$+I!6*egSk49xp;QZp`7{DxIMOg8)wXy=0-&D zlQcGmiRi@(%z2ePnNv;Z)xSE(jmhu?dptqbYV}X&8bp7>)A&=}drgFkpOZ&(SGW?L zp3OJ#O`qdgVqBRs(46t>1!u(Mzb%(0&fcllapztFe3A#81~}u{FW5rBbc+X{U<<*o zn3M3Z=jz}od-D$Ud|sIQZtKJY0?-35s%m0)?BVivEDL&G{41rWUJB|q&Z#4cMR`M2yXRIBi%uv$$1! z2x1_JpZ5ehB{Q%WbxPepBWGws+{Hqyx@vQmeUkVMoTq5w-iM0V>E1k_X3lntcAna{ zjaUuKa+MM8#nRmnj^=rXnZI?!4PcGySH2+Mf9~Z~KG|ITbB=dr&T+?HosEA`0Sq?& zfpE-z`9qD&A=v}>Gk88X>!k5xi!a=(K8-&Psez>XV01rDrR<8(jcmX8G@M}ftF1lp z^%t0{3H9Bz|8BvCQju`&zx4@s{i)>{0(PA-)7)7?AF!L6dxaAY@>P26rfbtWC&u0I z^b>e`9%Wt!W2xRxZ29`%R_wX7N4&W6z&1lS|G@6KxC|L2!u>kfS*oIpfpbkpdBxWP z@l>`VFdv)ilHMl1vEPtW917i6+{o`rXMSHZ_rM62`$tG7;;uf{j374hU{Z2STz+%- zG=#GlM8^i4uB^SYLii*Ww7H+GjP|vb2IJz7XJ;8F%G7!HTs%HlMtn@XMRVDfap<>X zCEXDs8~Fh8P*s9Eo18bPD=uHku`%*Eol9~b0XO1xlDVADbawiS+!M;0r8#Ep(7OM6 zLZY2GFn7?8b`NhiyLdb5YVw_#72Xn*(;7R2wW6vkk2kFsfkY}>!~N;PXA|FKtKGx7 zz7O2-T-+zRc?Wz6SG&WJZ1CzUaQ7G-nKfj(hoikc9IYKTj?~vX!I4W3^eY_ez1G(+ z=0R59z%}w9vMb8zU2um z8`_=v-_Lid*jP$zKvpDO%!IM~Pm<|toldjXi*Caa+0~1$m&B+WC_}cCJQ-%Mz{=hM z=)>qqq66v^AOFn@VeVx@_KXr20=u^4wF${?p4VhfBz~dxDEcH{vqvyV_Iu>?$+SI< z->p0q$3uK89!}?C;cqcNb^qsCJ@Rbtr;+^);jtWgVQ*#Z1aCi2Yj$n?>Rx;= zd)3Dc`ro;k@wzz|OWv59l)4dqLoAQjWMs5yJ>8y+b{;S)ANQ&tqumTV6OD`}+PfRP ztOaLbzL(J+ym#!u)#wAvS&oW^fj-23piPSj&&YN!Dc&duoj9l3d67(17vVhGxi{v*%%1}g zSSoeN$8)N$5q+T{AsrZ9mG`1qVlW$7IKs1$^kwQ69g453UigEdCCydUJI2)8)*CVP zLW}Sf`CDr(Q+=Y5dy$(Io1p^yb@5Go*89E8UbOg3@w3H}$-hYZyOJe!XUzrV(bGwz zThlKy_tLKZuC?yNe4j%5>WA<%mVO8Z;YT#RFL3_xZ`%g;MK2V7_Dy%^UbwJ)z{u~& z49jXdStBQAv}S6ZjPTT2DV#O(oB4EtU^RL#bsa36CGzX#`t$SaWhCLQm*CyZ0pU|? z)T6Yo^-_4$T1i}~Ug7dq=Dk@1JY1d&E){P<^JgL7EG{2mkKdeYE`dwwF7?B}<(`7w zNoVUASK;e=@Sy%{?bjW5$3yE{YG7%(KoSrOdD@g ze$;3u%eoIexN{^Wy94t`{R%NxW<^%yX2CD)9C=qV12D)RLcS69J$J)kYq(kb*60+f zgSp1K&ite97Uy@SUh%#%@7;LTIq58RuJw#@`Yo@&cm%QVNe@2T?p($*&2x3%<<7L{ z*&iG!yMDWK@21P0AkQjNteQOQ+MQGlanDFEkuQoJwrUmYFL)GB5yPr@P2L&sOS7(c`;r&P zp3y0u%^eqBU9I5DaZb$~Nc%S;Gd9BuM2iFaqKhS6e_Y8lr=Wkv4#p0|Z;gF@9QsF= zSU!>abeMOFza&4_a_6=_-4iQ)T6`tUoNG#c)YPf*tc>8Nb~5@Xb!few; z7Ts3m>c~$_DpO84(f2x@g1rel$PDI~bZGG`!Ty{NZoR9F0^<$U1N+>7?`)EIItg$a z;~oR(NjMV^BF-5+2YyQ0|2M_;7i;6u+9JEjQF{fmXB}{|v0omwcV+hcy-qjwOX*BG6PG|Smn4(YW4p_-8T5C>uG2B1s z8>KSj8$&+byDB{fefjsx;wy6UGhLQI28p|KU-F6U0cOs#KBxFzhHfLifWJ<^>In!= zuO4{!?-SIcJ)uO2dOk}%lf8PRzo;(hN@_#xm3w}Nl9iMA4PW=xj(+)EbqD4++MNq|TAXN27F^&Z`+LU3_AwB59@F@+9uMkdrRd4p6Hlak;oMss z+nLuKE4ql}dCh!Zo>H`R6lMIhb)@PjG4~GRo29KUKvVkNG)&rBvvz0N5^k4)4x(KD}eM(?A`&<4=~J?g7?9dfI-{&h)fG z{q@n)8@@cHaCQr2{5V^#I!fT|M!s2`y$G)Kd+9K7HnV&9{k?>C3j4dp*B4787YbHi zfA9C@Db?RkQ^w!lPpOU){XLIww!h20{JOAYlfFf_Z6K^doJ8x)y@(Ak zx0Z+cCp|XbnN0HA@0~=t=S1S)Iw|1*nH;>auV&8E9mQO&>100@{M4s(CoMKSo(-fZ zu+H%82C@|#<=G8n3lZ*)q|CZMZyPug{OaB^Y%#q@rn++rkxgpZ4~V5Zc+Wl?bydb< znMR(0L|d=+e|3*DXFg3#XUUz`wljt{wN|q~o;jSgQ}X?;V5}s67rKh*trU#kDFWlC z1!L^CT-*m^Flk|2FbE^_Y9|=`pUuOl^V<`qN*2(5KzpxZS4-BF4L%sbUI|`8;Oc5% zz;7Yb#Q(w67EJ1 zZn82$fbWV$_W|DR$|pkp0MF4UYYz@V8-9Cm0Nq%0@g#Z7UJzp{SYv+<516wcz&piT z3uM>2opr$O&8RN_-i+!}dk;{TwKXjL?d48mSGyD8x%mcIGG7fx7x|-e3)ztlYsGf(vc+b6yp!=Jc+*Vy}2m1i{cG}+YY`u1xdQS>t6UG7ikS;P0{gyfyI zhPHz2ABumP_yP1=GG-O9Zu~hhcuC(sZ?@CC&wNLHP_q4QLPyd6cKpP*)t_e8gMTOQ z&OICMj{}Ed{n|0uot$CypliTY;kx_B6Z3M0Uk|EqcCQDuQJ;UUov*PdvDSW_Z{iE$ z6_0$_l`a08=Wyh)@S1jm@BcJzzX@&^Kb&6^MN9wgF}(CyckP;TbEv%^KZe|O%B)do z_;v#R&r|0;ntAHp0ptn8|HWtR8ubO*Q(Ga{D5gSxUyQjJ6aR1P)x80R|MRSfxcp!9 zbOi0ocTN0Xerw|2jbZK$&|CyQ@o(|Yr?>8&SAUlFcgL$gNgk~evL_1m7v2aDOlJH- zz+~-KYVTOih3%SGxA%U8x-74r@*KSSp?0T<^u}LjI~V^He(m{T$X7tJ2E45&5KH%* z%vre2?DeSsn)4yniwytE*4Ri)dcy~J7vcX1|4WyBdkeA0jeN2scN%-G4$ce=4{RrX!#Qd#kR$u|M~Y$V4>uF-m>y@hIEIUGK(F*o}K z#JwMb%&Gmq8lLFuW3@kD!JR_(63lNWB4xk*Lr!7Gfkda?3Ci8 zUj!E2X<_Br2<`dhS=nK>J|kP?4e;O2SGi*V-ib^Gzo-|F#NI$#V^x>>mh<7|7wmDf z;PeY8yDE=;eQX-}EsgCu?d?0cviOQke`Jjozx*ckXpLmt%>LRT-W;n*uy&FZr>ai(ZV?htQ|X}?H)X#^i10~d<<-^jVMn)KCLQ*(`pCvvJ&co&^JsT*V) z=Wf|0Iqe1ABpk$;&*W8|8Y9t*nM36N5Op>(uOxFeCc4=JUf8>eeIMgPq57cV9e>?! zVlRw{q#(|;lNozKMtoK!pY(ELv7o-3UP9#Z~~r%6V)Z02*;vf)%E7HF) z7M$D*AMxYlA#idl^IbSu#y5+Tzj01;cR2a@FmQ4zd6?(u6E{HPj~cni@`$J43y+dk zKS-LyONdG^1Ya>^z*k|S?N)}?@m@)EQ#&M^PN`Gys5~Eqg+{KcQT5#g?yGa z3T2cBi2q@2veq^*Lw#YaB~wVBy4RPdlx?7uGJbjG9Mw@mUO9_zs$28&dSX%O_f($4 zkyjG;yYh-%Cv>NY?#U=mvo1jA_(bK>?7P}KHojtb_eacLG;^TWNht;y`#;PBm6N}R z=2?_)T9Y-WG;do{yd#Y#`Ok1xcj^r1)%bUr80DPdWZ#T_h#$>)dgxj{cVd1mZ;7#9 zkT1$p^Ju)|@}|AP#R%5&7XBZR>fRL69V!X#HxVB(dsHcG6DOPdROB10J5}Uw0j(V! zinw>Ej6v2@%y9KjI8D%hcw+B#=f<7xO9{qLL(Vw6M|Y;MPAwN7_}gpS%v~uJz?Hu% zrH%8tx8){c-x~>ESH2M6`@Ou%7eZ#y+G2fJ-MdoemAos(?wyJMO$JxR?n<$Fgx8bE zW5@Ak)+y`bjBRj;k27-9;9V)lP{#6()*rPyPu;ltbEkIxoBM%cjAfj}9WWQtj@C8l zJko7K&UE^E15@D4G3Z0c1bZPvO6S2&6!}FKot%9|*3sy7tk15m8&kHQyMA7+be6oT zy5x7Jvow+gBqs#$nbSM$_{P>047c~Hto-M&(VP9qJ*h)$v&!(>lwnMU*rr(DtJQv) z$}(2k$CNx-=`5w~_E&?ZPj34``oW@4-y~C*_$D44ZMlO7;b`;0(a}qOU~u84ZIfRz zh2Ph&+`zE2eN1}}wyjZKSsEWwR%6Qfgdy;|xVsJb+dSMcH$A=4?mb90)Oh_T?p^u_ zv@ZMr2jC99cd51MN@v0kvGWbyyEG>I81sQ~t1F9Kzt3La|NrR9()a(-RRsCT-siP? zb7{KjJoHLu>koEKSJpmaVfrt`qjSl3_%wJMvOVX( zBwOD0YS=vGGpzF)#N^yt{zNXXLH{wlV>t8QiL1=n(wQhzhb|_b@wnlQj&m0L)~S{s zjd)%Vm@VIP`Ro$Px_1y{er^3=>6`IsRo{yFv@S)rbI)MQm&3+1Shtk8H>>75SJI%B zwQ49r&k3X$zbEsYLW=YI!BBUP z_Cx;i=N$uc)gEJRY<#r2ChqP7ck%2dJq--&c&?}H2GUDOc=lBGHAqz?C%!h<$M?;o zEu^ia?W89Mq*J;5{1v}BGt<8md?iVfuJ3SG-AkOy@3uQ>7Kb4F$P0NllVs&L6DvBF z?pbww-2k##&jj>U>8RC=>9vRKIS}k*U&Xm6HzF=Q8oyEJfm||qb8c1|f2+vJnPB+p zTxH@T$TZW<`2fj3j{-+MYZZ0$G?;y$iGx0-d$7+Xc}Dpp@BG-yt9;rg@XIs2W38VT zZqS*W1pB|vkHO)MxyksqPDy+It#P&O-aDr{@1(vaukB`E+nNWjBd6K6B}?7p$g_Dq&!OV$4=>ehGp zWGRmyj_(%0ah8`?`3m9Soq=NtaL8t7WxO)!(4KwR&Q0mgnq#tu1@MV9^9x$lTuU>r zB=gJ1;$NCub=~lgww&hISmsv{m^7z$IiHwA{y9}_J{h0xd*(Y`cVi3l?%8%y*aEP* z2!6rtaK~&F?X4J9H&7MO`4{*6MKI!>|2XivodA1kN_Xc!uofmD_UMQj;XG$p(qD_^NpNqaLJ`vN}eAjtV`+bW! zlQY%$j&66B2D!me3JHGd6Iofp6_Fgoa}=&UI6Pf z^6Uew<9&Hz1$icsXB2tdGfM7WbhIE(3wc81srS_rDag}Ep0|NZW4`5M5BGg)L|uQ| z%K3x-HOqwz=>|+-tv=^`>_w9bkZkcR^Z=3mF`;UEm(_TS>)WZKNBU`4*$Gx^R zZ)JC!X}&Emdj~gA*TTe-TpKAxx{@@PG>g>WE2lEDQPeX}m+@^WsgtyrbgRR+`ig-# zzo(H}N#T_C2Rm~wod&Pdd9*ZoX>7%&GVZ?)bhdG3i#-HzjLvmJ9Gijc60&{BhH)BW zCwpNvYvHscb@MIGGZY~%9c^j-c=c7;Zx(Ql#Iu{ggKJW5`B37CO`_8l;E0mOla3ZW zfa~$$CAt45FSZtJAzeAeQ+tp*Fh8$5FTEIRUnAby*T$S~c=|}n=sfqxL>K3DZ^M3x z?IS%gGl@E5q(E{}?_{3!3C59rC_aGj+(iBATa0&FlWpJj1dhtiR7P_}w4`~j^>I>+ z`bd*Ii4{iQs=30gXW?Jel94!I#FR1=ymb@uZiZ2n~z|H^QTEdZHIcL2(>D z&N=r>>P|D~+h^~~nRkBcF405BRAxWp`9I_HY495Ebn!ZgIzx$xnHW#WnZiRp)@Hw3`KEk8^e|Y=uarqPA*&Qx_AecQ|+Vi`9TrT3f&cga>Q|EL)vwwN^its50 zkDsf>iIb;L+mH;xCR47UtZO!5?@P z4xfE(`ydWy4g-gu9R?0RNuGPzuhH1-NjtLtzwdbBBgb7D9cgJa4vmt=lUgXF`769e z_pdZ_UUU5t=J$#Fx%b;18m`QKe6)+pY7dvyacHvBo$Dirr#Oka0*M8^P3aW#dwMp; z|C33Y-@&rMG09LVTwAk~I=rI;o1EhY{M zaRvRh=&BgJ9hp2oSBbR>jOxSswa|ScKUcRS_e$oqaVEvr6=yOCK5U%HuYnJ2aQFtd z8(4zQ+D$QHMo72Sx-5Qn>9rwzUtAu?7*x0VcpP|tNb8CC?K;|*&abslF$>_&tg*M{ zF6OzII<-%xdS^l(s(UHlK1JQ~71DaAJ=HUSM`vPw&C|;J)4tR0#7JB2ZgnA8LVGC z<<}!wK<7W3BkO^49&#@FH@4myz6;hCWS(Pz)x=k&4y`%RB5OW+8nDKA-eGXbnt+eX zG+>I6YDrd3iO{}$TP4#w@S8sN7sCc7Vi?OlgIp8cn|;~y@Eoqsa&I_-&eJ~Ogz zUP=-%zrPLb0UF;+ z;8TpDR(zQP#^*AXJ2$!>+)afhSgRaojJ3slHS)$Qva9fJ>_=+q@J*x)I%_MwPUsQU zTaXF2B0F-wD{F}4yc;%37peDjk*(krnXzX(GJ5Oaxvr%l&VrUhTh-FF46Ivq?r5oz z4b>m%B-mE^SA(Zj1-R0AH*53wXZlfJ&=28N{a}pxcLl%X*UeXTIDMolWU(^tk_zwn z<(_m|+W0nE+puUcD1S=EY&m_j{l1ysF~;wvPWDC{7{_?J=iQhyFe8TimaymiZv_9c z)phh(Tb=M>_oJlmt^4ba0X=uc2qa)%ILp+kc|%_tNf<{)KkW^R@fv zdu(^7ur3**KYfJY`1k7?ZT&x&L!KX_<+uMjAqV=KLnYZ^1};H z$)B&(d+`j-H}Q|fuep4K{b9pDp7x&d6UHFhe=ht>HtBPrV?F(Li!F)H+*as60G;DU zh%AmRH(A#E3+P$r+hm{6x*B5Lh8NUfm)J-1c`G__Fd?6m={=l*AFF%3ZN1}V@232> zj)vEndgCVMlK5gU;re&57YZL=Vr;X9_6z2T=7iQ7#qJT0!XAAXaCj0%~(3I@=YlqnH*@rh}3hnpW zpO@TV+YCnDyKSpJj$alq{HN?ls^8j?B->a!l43GV>(0kip1~zA>z3h<=*5z3a`$Tt zPk$QSR%7-LXjwkwiosIz70$~tc2$gFW%8Pg{DbWHX}pk!p>t#;#!WF=>iMl0E%jkn z4#4ru_@oJUW}lk;lC@m?cNO5j*qA|A;9qOWsm~!t{x6Q9jVrh1M&f@nNv&OHf^gW0 zy**lo4i0@MSR+&H1u-Y2rvxJSSAiGNvg{Dk?jAMJ9Oe7~^LE3>pXzz+z-u$>IkWxP z*T0o{?7)LE8`xWT?CbB#1Y=V(q4*Q%5OMY$wC~$$_URjBpNpKFiA1qyMo&RTI}^Ft z8T-2&_Mn7#8T-TuXH3tiSrwehXIGl$LDwVR3*qy5{+L? zor>42IyL`K@ahz=Qk~{+PJ=5!R6?vOROD*ck=JOtR@i zYI_lFi59G_Cd&Mkt;Xh2zvq!>GILRDpg9j7!FSY~lY#hxY%_CI^Rm3`Dib@2zA_K5 z>w}+q^Rc5>w0HyaQTpTHe57pY`M78(4>deSXX&N$BIB>qeBAY(=zo-_`fw(m=f|1! z@fL7qb+w8EuW)WZ;0kBmHRwKjUEypPeFb}e^PMD2$*$!Z>p%+sRo1iZMmI3=a?D!1 z6@AMgR+?G+^(_+5NN(WlB;vR6r>=gRHbbMCf6&Gse&Oo8TgdC`64(I}%roYXa3?zN z*|=>$-z$?Htb=xsLUn78qOJE8>e!M%UkY?&wkFx*L=JLN3ru}lqqg$D;PJ~#TY!CQ zWGQniE}Lq#e0KuG1OiBO9P~P9yj z-L7VcZa3ZNc2)+R|C)QwxDgosxE9?V7zF#eg8jVRof(dTy9{kZ1IDLN^?&{7o&6dQ zC7<%>yZGL0Umi9W;q~Z13E3~g%y~CH!NHXA`!ybn21m`@(#`Zeyy zb2xsD3m2*Ho#?dgod|a9V~l~uV*=wa0laG*tl#yC>^oM0e-~$rjYl6E-;hs6&%Cpv z|JKK5JF~#^_N(*zit-y-Dt?7cidWh{T1H>9y5V4i!x@*7_+5I<~!?1t1zTk+7Ml= zfxk4F7{I!#ES-HCeNN;58{hb+(9x{iB!7!Qn)%(SIX<;#t>_+qiYjEGSYUZyr30@F zPtHu7nC^)Mru8^6?L9e|CZ=Y;PTm^lYO_z2dK8+Vo+|XSE1CO?We_Wnux^ng_p)OW$+(wsZxf`;?#q$GM5TCHA$4v)_yE7>qC2DENqJGgf_5KP`;V zCj2apoZ*a}XJBWK3|#8ne+wtfMR))(OwGz~CkT!WyhmNzBRkl2C(Q$YXPG@`y?-71 zliD(OivBP5Q~e7$=k!cbADEN7#N(H*q7Tz|y>A{{uu=7C-~0pMi7|(^ryJQ=vW_07-&)zl6$&QVxPcW-~2fa%D zWUQ-2=i>bptoNej{x0nBfkn{5)j20kGV%?vuL6>t-56U|p0RVtoK0f>tYJ;=3Y$1t zJ>R14O)m!r*6{x^;JqtCyT}1rM+4!LP3+EKbc|%xTs-EKPh^fT$L=VHhkh${5VFX$ ztYq%PsYmi`5Ezez7s(DDM85fc@3w(8^hIZ(&AU6W(*vWC_x~5@ts4AlUOCW&U?4V} zeC&JW=ObBs+EH}_x=T=TF|TBeX+#f@tSq@+YmD$B8D2Jsnoe|NF zV>O%s_T*>RmM}c~gOhN_-7Qnx{;(^a>|Y0hk@s$YsEspL!0?~4Kd64q1<|!^N_qRk zqTUwh+S2U?82FTh^9R=r$y4&@LH^9jHu$s`8%Xjh=YM2lfpS`OtOdA}Qqc$jQ>Ndn%HOS9wkkHa_FO_Jf{n1MBIF=z0TXtp8ew zy#Hv~KEUP&d|!Quq4UR?!_Ff0!K~r<>O4;@9jjyC;?<>kw1-Z9^cFY%H}8yp+XnpG zG&f|&Fmoj$9`5>oh*l52bJT!h!}U3LnK2U18K;M=%)n_TY_>hUTO4#_Pmb{8DiDWf z$IRNFoeUnFfcg~Ao(jH}p3nJiaIJkp>E!NSq1*OSbR)ql|NW)FzYN?3l4pV|*9Z3} z-~#^NZ}qGMeU&^^>2!ph@QcJWUsA_DSDo%PxL^@??xlbs!B~r49(C_Fn8Ev6ctwCd z8-2sbHNLyxz5=Z0w*fCU<3O8tx4}&scj#<^=c{&;p)=|DE}gmGtN0Fm!>?{K`$qP= z%kN!(jVk7l^g!!3B|F~jkI3)J(5jhdqAliJIl51^#jobzTgV6+GqcAfdXetRUKaBU z9njt9sv4pTx%*tAm9d^~wm1GvwoYi#=y3M`yT0De)s%S~;_h^!fy~Z2(FsTHtP}N+ z&xz!9qN9CzO6f!|Q^v0oy`(yryTx>(4SdsFkzP=Ll&cfHNE^e^iDvybx{4Qb(b!C5 zoDJ1Hhla};2jH0J6 z&v=5Htm4B;_ffoe=?m}t9DgS1O$o`r#3Mv*RNJh7#zxaXncL`h1Nx3^R}IOvIrl6p z{%o8b)4W#Q!i(y!r%uI+Rh-yYs9W<>YpUwi9)@T{JVf;_GWEK991TfieRP~QbRPeC z&2iD~1GCV7Mnu@_@pMM*bzi-C*XK0_PcQB7>I|#!@H_Gtx+Df+>c_L4YaV2u{Yu8_ z`pcat&x;?J?L2t}|9kfC-O*}{J{9Wk*Br4ktsYN4KdpB7@|2?0V<_XN)uUBM30ggZ zZX4VSU2d!<` z)A*jgf3`CQx|wiUyYm;GTX_6noQ)=utQN};^uc(d^W8cd+JN5^AW1pdo;n4c6m*)GcF*oB)KQ;Cm_a??Y&A4w^ zkRS8E{KXw}Gv1MO&lQcsAMeC}V7xVcI@1?{uerWldAn?AkhirP-WL49Z0D|3vz^4O ze7|?c)2;x&g>(FuhwseOzM?S#9~ukE2#@;mlp5ztDB~aJnX042IA6>+JI*T^U;X~< zFvofI*Yf=>HO|Wz=TG^@d2Yct-^SU&;m+$2ewq*Z@|2?aRh045{C%pU1kHbsZwUmAYaJy|r%V{DbwF zwNCXE^9>y8e`M`SyI<=T=4{^JJ+qx-m>-ER=jX=m=-~v$p^yh&eb~-CFsiWxPZ}rj zz?3gfDSBw8jGrD3R~;qj;eC9w^zb>49u65MJ*@iDKSvMy`sm@G*~oQpM-X5uQv?#e8|bJwI1A>%3RtTw$Ix zx4bvJRQw0q+tp!=nS)1tdFYepLJDps@rUyefTZ7wd@D1*Wb5b<g9jcs0 zY|)(C!QQAdBHslbH#Wl1Ga}dj!KDYCWq>yNo8f^?;)Be2fBW+Bl`qOg=ovbXQlmSA zBX_y5IPA9oTMIUF0~2->!BrC>E(B*MV!$LHGYiXt60jtFux$Oqw*HmCu#|KW$?s>N zGcKFSE16_x-=tJ;&VFOxW@a1bahVG>;nBd5VsACo`!aP8)@Q%P^sTM;MPJ!ZQg$#O zV|p=TAp94e(@_lA2=(snoX#2ayV*C+SsJ)L=6)pZMfnSnp_IpwGDzmt|6Go3w9onuJ%MB>}{UY89d7nC(6 zudS=hoR<0Z3h|5?#`n6+d#a9O;n8ZR%Gt-)#>YPGo@E)ZNM~YCrbqP<+tl>6CVUg;?c^ggwFh_7!vdUh4?2@G zA?>Ng(?3)n!CAF*=ujlx^Fe4rWkTG4Si@dmDAAG8ex>#Uo8U)wKT!8?X+NEF3LDvH z%5rx+JZf4`FZW=HR^^vfPyXhJd_2!2US8_BKqP&1G`cS5gfr~fjnTMOhojnGKdUDk zNgY=fO&?91upE0<_{*$2EXwfC&O6MzUQNUSit!TaB+7*WF0u$%g|mR^0nMoVsE@c z+%)WOPW32YQr)7%K=>45A*2|q6n+@)dwkw|0~vhHqwaer{Mg{PU5yp~P!H9E;|6fg zKCS$Q4s*EwFNlv>h_M65`LPPSWA*FbDSppQ_yx6RG)^HVX+2}6ap0b@hahG%ZtN@P zTIjFFPJ1cBnZ`U2W3L)NBjx{-Z``b2UMnBC7&vEM2{)P_RbA}Ob>5Jx=N{h%vnO+o z*}Dy;I4>D_Fc(ZL>^;S_>)mk&ore+{w@fw~eiOWo&Q7Bq<*(^dtknmh2liyrlYvA2 z@%8W*H)invAm7$Ft*q(cUgrMTbVTtM*z*TJ(DEYb^5BU$EsHWvB%Mt;(&rzA)_)1k zo&E^$HAWPJrHlCx>s2{;#`3aoEJHm#D)TMc02lpDimA%~PUO)|jhyS%9(OQuTdt;y z`)0|{^+D{(oQ^MoiC;A~5M9)pR(q6fq@AYd4Y{)9eDclD1S0c^`_&GP+QAWb=SDb_ zOw5chdyw*F4u{z%h1Q+O^|ZM#=R{wmy)g#A!c|Sz8JwSZ6S&7@8K1JI#0_;-iFWux zN2Z2)!_>##evjtgEa#0^>g9hIdty*$lz;B5@Efma%tOFvbV=^@RIEKq|C&qnMb?Dl zp()K@(fE}Y4qa!8txbp7{H!74uL|`~p^TZ|%nQv8%kvD+(!4MB9@=nu+R&$^L*t8? zV!Y&k1Kg~c&RC!3nw#*^HEmSxwP&Jf!X3mi{#5OGMUbHKr0A%VW9})18I=QzpBEE5E z&%yAKu<#z4mZ~*`OLSQa%D}JZ5Xd!eu61*)83kRBK z^A6rK(KW7uKCYpUPFnDsWB7=CLo}Z%BiR28K3WYv6wC5{;UnC^x(7beuDo*@=byQg zq)dCMRf(l__`YQBr=0qwcqx*JQsFdHtve+80e|?!tlcEKw04nO3h)#VJTa~R*Y-K! zqdd^oSCitbIjJhL9Q|N#{U(- zC!X-DABP4)5q|3(g<68|+^_lbRz|HwTVA8!II^(W;LsVxy?KhAjr25oy_`&jA z6)*@lfH}Hd$z55+K}&0gV$Dsy4BX1!WaEidkws^?KRO(Gbu`H3NMGh zF3;&)hrd1bv4!?TSGJGWsgJZ{+imjNYvxHjBh%(_UjLf;U+s;jjR~X}X?$`ye)r3B zl?m`mjC33KcM|QGdcosm>Q|@ik160;k`qkwcNyQw9c$om0#9^}oaWJ3+NyA_=Kha1 z@@f7)HDvtzK9T25TO-KKv2@Q|LMk-q z%WnN}A8{es!QkFM8iSGUUjXYuJOm< z1B zZMhe*DedYmhZ@#^e(FIE(b-94lT`1XUf-&)nTpqGk3s&p-Q?R-_6=~V_$`uM))2qt zGY7cwTPDZb@gYs+F0Kt_zr3Fp8)tMddui?IMi)>_ohr(XA~sGii61O=R>me~YIzdZ zq_=@*8D}e5n~39rtOjm`kGqA_glxd6jCj9;Poj-mV$QjePvaSkz&n7+-~l`$>*IJbgp{uw&&576MNB53Rc+tnrsD+B^16?0V#vyrusS@cs`t=`jnP z?mC@4vgLk3Iq|kVsHetPPXC7s%2D3jYb1NxM}c==QZqbkS9caA5G0bsAPBF*haCC* zpS`o_*DwBm?45s{)K$Iz&+N|Z&MvDCu;_}Yqf#MlIx5=6MH_TQM65wk(fHPARM@o| z69~n+!!o-p$mZ}%5Fth-GxJ;imbhAIsAyDJTHf;3>%}j z6uS3&AN_G2pPA1&pY!8=-sgSZzs~!xf5bH3z28~1jr{Qzf9S?iv~lR=yd8)C59F7M z!(UHd;ru_(T^Sub#9yD#QS&j7rn*4Z-1;9GyPiT z)o1=OvG3PE#JXkN+5@$2`xE>AGGP6FW8Y8yVE5Sfw=;g|M6SQF@6VtQ5p$HaPxp*{ z--I0i`K;5TAz^$0owDyY_Wc52)mPjy(U>G<_BZzZb$sK}j;R;h`Yv}({WG@x|35Lv z|2b!(TOoL(|9|Gp)zSN)f!co##(e}Ie38A4{n`gzm+XKptW!Qd+GnTybdDKzao=&{ zUHQAWedFSPFVdTT9H|{jJ9D%Ro0FU_ep+TOU`{E3Z-PPLy?kFu+xlMmu@ExXVabh_960Xl($%!)kH==Kw#BEY zEfnhTz2b|1v&|RUxJ}=4j%TQJtlsa>=;eEr4eb5?*Vgx{Q{M-oDdcp)Xp;q-4>JG% zr0M^p>APgtL)Rj|VfQYO`+v1>nm+33IcCa*ebe-R;?+O#syDnkst>%nX44!Ky5OI9 zC0m6}rxj!OpLb%3kJQ;$#k)`(tlsdd`Iq~qSL>dfV>XZP8?Rg*)Uti0fqznS;Of>| zb5%|(r|I{>7iN@)4lu)Bnjjt|F(G9i9HV^~f92{hb`9=aJx*%l6IZ%g@?&2{)z04 z;=2_`z#n#f%A7kk`W1_$8Q#LadqU%|<56&infii^NqXT*bo4rJJkA<-YoW^Oi|+X- z`pi~G1&_-t|ByG}{r?d%M^zv5-T1^Dvwa+K`S3L`8`JbvJ`u%x&}ud=Jz^NPS$EE* zub1u>{wptiJ@!UhuMUi*<3@*Cs3&~@7*wG@u19}-4R-_ZP2mg2o}I^Ms4$jT>@$uX zXX%*bOEiKq!RW@q5hj__-NWd9(St^_ig71fjbh$O$1EFx>@{wzyc*gFglt{aoXI__@A|o?q4F;(Q z(g#e4S?Ptzdd9!`=pszyr}!Z6)>DTSmoKI@Bz>!5E@j$JaA0t-#(#g0@el0h_~(1Z zZ}wySvl;6P!;0e%G5+g#x2dN0@#lYQ##V@BJPBo)h-$cy(xT{1uG6*P z-TU}IdyvQf+V{J!|HJw@{%82kUH`-Bdw<8jp0VyZvN(Rx#0Pn|y{h-|pKy@Je}9kh z_m}?7_l!S6-}^iM*^Jfi8NcY?b-ddh?0x+C|2W9&zsLA%`Z@pSdB#76zV~3^kX{NtVbm-<8h_8h-w$FL)c;}`vZop&|V(cAv_ z*@Ha(*Zyz!_21v|Kf`zK`k!3U|M_3fSVtV*ef$sdu8ul-8~+IhdHnbH82{jY;{SZl z_~YF3)L;Cc%~(ebDUN@T)<5rtQ%7&(&%bn#*ME=k_j~<&#(xd>GWB=-4U9EfTO7Z& z{&^Rnj^4(9=RqF-Dem}VHvemlUp%PzU!E5K%QMh}|E=_le>V3jdB<+ zYqMkx$pZoS**(W`rfhK0S3=`|op)p0cktF@BKSih6I{jE`{v)d|J&`q!@u`Ef4Xzr z=HGvFZ*l!@l7Eqxf1}TP#{mDPe!DWwX8O7kzbL&^AJzY#@UGQ;=js2c{pkPm^uvm+ zy`TO6j;H^j{pkNn`nrvHOy2%4<(*=QTkkymFY8DDZ-0;d|C*=&R!rP}!hbq_jktYv z;Qv|Ph23|a{{QkfrSa!l`k}dX^(wkI&+D@!S$jHVT$|5*(PmTi4PsO*Z8FmjGiLS2 zn~neLv&?$^KC9Ubym6MP!y$e3na$?-IkQYkzsEG2Gj1SGkADA4vpMs6&UO#v_vmIb zaW?1w_5Nec=JKyOWg42z=VtLDiM!%m*Z3Ze)K^1S$cowf;m<_1a!lHw-=pKKVqEf z+>G>fjgBwV)jzZKa!;YV8zmnk=uL#YNZ5{xCU{u>qmj9VPf^zPdA~XPX@0Lqm*hXH z#ncULF}sg!F`F@f)qbMcWchtB@1~JlU6bXTwGa4y)C1qM{`kKOz619IzU3bHRygpz z7g%nrYcZ=yn>gh0&_wRS=J#aY*O0vM9n}kb&j3&UkmZc(am+3BUjBNT&%1P|*M8u! zeJAH|cmZc?`TfOf zW|`eQ?q!o*cOBkh-Wt+kULs9Ik(oWe8L!b66ZqFz zCQaUWk{8yxJEJFEZUC=O1lGc7ou!hGsc>8RNYSu2h*`Kl`29bfPQUY08^53E2Y$as zSr@-|^ZOz2dlB$W*S45zNTcuqx@LT{nZobkynmUed%xfde*mWAAKzZSy=W&8?QZO4 z4n{Kvn<*c4XiK>f>;u+Zh{k9>R*h=RU$LJw{eL>GS?$clkNYtf-}KDIVtzlsT+{*Y z+QBVm*C1#PhX}Ld;8plNWcn;~H}B&l7yspdIldRz6DPm=YGB{!z&=VDA9!z{^;p|c zMO-{$pSH3z{SbMW~yj5PiQGe#(XOwm6(N=zI4#L2X&m4TknS*t}d-b6$W;Q7u;Ks7E ziQmERyFQC-#C$}^-_Cz`4zv#T#bb_R4!ZN0Yde^~Jn$aO zZ}FHTfaRz|T1<#^BS!q~$j@)p@E^Eu=3SEHh4sGV(H;L;lt(A*CtdlU&gVS!Z2#ra zM=9&ll@0usJh};ZzBHi4JVcsNjt3|@i44E5;r(!u3t#)J5B>-5!#~6I0g|prGW9>} zw&QRphSEP_LQIa(;)3oH_$QwH+Z&wiA}&Q~nE0ZZ_GAb-B9>|Y^LIk{%3FGie7#~i zpo<#AlQW*2XKgMtk}MrI_!dJCcNQ_rT)dllJa-;A=iP?0Z<(~M`_S1{>%4C=ljqI~ z>&{QfjKL)GBdLZo_&eM)flrToW^|7AtF;yR>yACgiq&xPz>56W2HNLVPd=(LA36Fw z%cn^9z{^*sCds+gDCbsHUxIV1Jaw*p7*CyThuyS%igeE0^(lJuE_~J)ug=oz44j#S z{yByZ1!I!kL1V;rP^b*sXIC}GTQ8KC(YLR)!Gnux^f0xXM{DLO%4z5BMz)T zRMhGAb`JG*+V@A>axu;b%dh=R_VNnu(~@=Kku_0!jF$ILUYl9oR*)6`yf@Xy#5?h18Ir@gm-|4xVEwz%hDbgo*otSrfx z!O17@3hh{@bs5*4xWtfPzC_bR&vaHL$~+!|uEb}?=UT~ML`suICONI=qNNUmd1`L+L&CByIcMqj7PGrXkd)|mE-Lgdpeu%j}qUF zc#%_}UunLHa(CL~cv~UN@2v0v-Q6(qURHgKl{BJw`#_H#)v0f|qQP zQ%ND}lfUIw>Y5#ID;y5IXYdpaOz^yhG@Ue!6m-5HrQg({??vP575ZbM$FVRd}ZV3IaiE*cv%4ts{ zPqcdo@gN%Gz=AZM^fhPRRM&XQYFfsNWN_2L*ma^@gSn| zH=&&1-@^XKeRS5H#`ToD;n#s3Q4j4N--F(&FEeOcXNpI#XSsB_p+`B5>x-0=PiPc- zaFlu0w-3Jj4lxq#`@=p{qOBVCvdcBjw0u#aOAb6nrGYc4fpj|gGw=s-VN0B$Zm>O! zalZKUn>!8zu7c@d=}m%X+P-!{hV{g!cB>qPURv2LK<3ievTzasrq2W?oo<}LVY$k(O%x8{t<8IizjAHPK-xm1CC#E;J7ckAh=EQz|f5e zGm7!KI2k2h@n8hQGl83MQt@D}99EH^Ib@v0Q(t*BIC=PaHXK8h`6~z6a1<^JClB3E zIG)f0j?s%s!|}JID0hcR)-zm&VB=n!w-rK;s zQ>?EjF!DuP%C#=ER(z%rI#}cZMC*h{z2VTdJGzVKA2#F|UxaU-e%+@T<0*Mz3eOuUE15)XO$9%E(90BgQ~9P&Ps-HtJdbgOd2Zq9$`oUU zVb>+Sj4Y8Mtv=}n(|qwPlQd%JJEf;PNy#RL4`S6p!)d8$|Y;n=};T=92kqd#%Q>ke(+D?|9Gf!?~4*kFU_nW-dKRvh*oWW^Emvy`lOEM-c`iicCCl&p9N zWlF_T^IP>CSefzuJGoaAxv}+2#BLrm&(td+Pxlpv>17t7d#2d(^@*n~K5miZ9rPZO zbD(#WvhF&qo-H~6{>%`rL~I{N*)Ffy)VGY-M1F5F;tkK+GUC_CFC`=1O)sVloQL1p zJag^cGtI7PMH#Vyaf<(R_q=EiT|gr^`kg!Er?`x9+2;= za>@ifWkNm5)KX>~yUU_3=Q*iaL!o(h%xJj*Vw5Ikr4$-$f%n?=Wy=jOI3q zyc3;o-Hlz8W#=R3&Cgwd{b#Frs=YNlKUeN+;*NOk6r}7*(rS`q%vTR9>gmQvzKmHq zu3Syp)~C@{{s?$8@fzZ7bl0Wsyd=(E;Y46F8(&l8Pb;RI&hkkX8xH-~-g-FYpZ&?3 zI}RsKTz#@FCz(@cB~_p5I-L78Bh*t*8bumHeKuU%taE{qF$8<@xT@=i)KzopT4cUd zPJE2^wZjve3gWZ&V1HMgk^zQeXB_5{yDYhcbDHk`uo}zZw8c22$HWiUmia#OANF_1 zZno~+Q%?=$C09vS9psEHlxD0X#mzJH_4l_!Z}1BhtSDa?3pY_(wTH>=tQrZ)rAHNcY*Y47*y6~)7BpbTe3iIZ#VC{O)K@3HpMzl2Bj)HSL{UD8o}hq_#TV)}76n7^Nk z?`aSpg76LI-b(yT8@boCqNq1{On9A8tP)Z@)4uxG@9fatyUg5g>6iUc?)4?e9r)MEEnWX z{wDGFtnXs^fqbKPr}ECnJD+S{KC@vAaEYa*>qybAVo-yB$qOvqN09#`&?)$NPUNXM z9?w&2se$J(o^?E>kCE;{`1C4r%kcOG)P=qSJ$Cj^#j-?ik>Re}1oZ)5;mJGn6WqxU zr>~Qfl8u^kF`gQS^gUBaamr8Uc?~JS@7X+WBqjOX%5xDZ&F|GbGo*F=o`L_o;BY7P zkD*EsXhBs z_T;zo|5fOf+x{H>%ir4l{%F2ep7c8tfx~s=Ph_3A`OoXWg%7d(cyL9y%z8#{vgw)h zREjSu{Z=kx`Se@zlXL;hX`#%KUGGEwDo3`8gxU(_@r{N0%9WLb2fF~C^*E_2gVd8HgjSe^zt%da+_6>U$3A(m8+l~m9_6v zZ^p-LP2sK~dv>ft&H;CF!nf78bAAL|BWOye3(qjHlg!}4@=5-O5^D-oNzN5hPHj|b z3{E?$OYJmLuk=K$m3GzLK;7=$>uQ5Cu;gwQGpUYEY~g4~I~XGB_acX_)%4Na$v*7RY- z#kXk(d#>(@C!YPI(7SY?*<8W%k#lC5HKh5ZuaZ7ZI+yfVIX<3c_}!1?E+&3=@pSp{ zi9L9($vya>DbS?}z@)*$EA_^gjipQ}zN~>VrTDUwDN~9s`ygdRSHzdOe6M(id)dpD z#kl7_F8;8n+pi#wLx44_^|BG$OPn~k0b+;z6`j7y%QufXu3pX9g^L0Bg$(1~y4IG9 zF6FNG11%RN;PD^HggRfYn8$uKZ!iC@aWt?#OO4~3`!SAhF^<`u`RmQb_B>^#d&=|{ zgL*S%rg+N4d*I46VD@9mjQ5o3Ee7=?Ry_w+Zu)E{M7*xYw~zi}ptBZuE((;Eo2D`8 zF8;h9x#^fE`j(qUk>8u#RR42ZZaSI#QgTy-zOMJrGaE@CyKSafe_2s(I#@Evq2T8j z+LLX~wL@7kU^47Q;Avm+?HiW7xA^vh!Hqze`eV}3CHEQM{^5-WCcgcf-?DXfYHMHd z?N`y3NglZP_P?b~OE2t$*yhS$DZ*u z5O-30(HNfAeoNh=iC1~Xrx^EYZ#;El7cWdqrr6t4@QC~-u70eSxcb^7tnt8G+^P1` zwjEUbtaumk+Y{5a?K8%6GWALhYouMp)sOMNBH2Bre(>+9y?0Fdk~Y3+Z%1!m-5P3T zkA+{Ry}5%j?Gv0ft++$!Odh(ly(%I6xul(a+R_86e-}D5GmdN}`o9PIe;j24@E4;0 zALCwJoBzMW;{Q#oxHoVo#ooO^ZJ$q@t)?|=7!P+H7m{TQuqCGoyKZ`XyJd%V^pn15 z#+KjdPg&f?>tok;_pO14ME-L3t7hc)=G+%MWKX=UuxI*H*o&XC=4ltc7Mn~_W_NAE zCX;E8VT%;sB%V~foof#sbDnJvt_ii~WDk~~Om~}b>t37ir-TRlVH4iwoHy@o6K=KS zkPE0wHsNF8fA?h*zT5f!{n&&nnTKf}yXCQtZ0*{Fj{!%%^J8qn$XLfPZ#A(6miUBXYnK=`S;{zzSe znBzv?OZTO*4&wd_)wL*+%*C8D@~52s_FhM0=@TxZ-gJI;qAf2HD zi{5+;9;5%=d<ZS1UubHA^TZ9vhxVewOcfrdbO?_96Yk#m4Kc0 ziodQdjYqFhW)nI>t>bCxKRT3u9{|24(GSFB6SQT0f2YT032gS-EMs1q<+TffIMBT5ytnp~7skV5PlY zFd5C=vwhJy!Q^4V#AA1q&GLdTK-Yk|coensEc8=nnKVZaA=?Qig8w^vIQQoHc0AvX z;akbwY38oKHp`Rw#%r@2%DBSRv6iPRU)R5#GIgZQ@FR;zp@BD;Yfr~7au4tRoHAQT znL}?d8{bHodk?w6BzLDwiuB;Av&@v&Q|9o<-R`~I8#E0VmXg^% zMVV4E+eMTqC9|DRnFB2Y%g*)2>QLuHdzwsw3lkk>^~c}75%}t z{JF_Y{3HDQK77J`NoaOFlmD=1-wVc}!K50}H*W(!Wj{%XF0>Us?ChbkrHD5h3B5cC z_>Y7ilP`3T_o6YXPkX^gc(Xd{sU<0f;tkZNao18#bq(VgpdRfVs_Pi)l7II|#v$Fh z#x>Hp18OrcQk|kh3%DCddQDg7XzBgX9l5q9?MHKHi+GZ`1peJ><0)($u7CGsp;G?c z&AET&d&RDC`MdmMwtsgZjQr%GiDS2v^6zfWO`$HAuB9q(FpED-43DmqDdU;hS)8AB zvYA93n+Y)g@iOiJ$$}&waF#nF7d6zd(mM9T=iRvt%aegk>{{BMWJ7Fz84H zpGPQL!}s^`7e9RGVV2P#7-jniF{!-?-8Dw<9eRL2iaRfJY`oA ze#x#Pe5$_)ISL)@aCEiUEORDf+gG$NOE>>LwF$n-o-zs;>HL6n{0%W%FE4&=JijNB zV*HNtoJN|??-@KT+X}xmgh71AQodhlK_`Xu$sjv$zcr_&fS4!@xM^Y|YG7u_PX(?`xSkylgZIM$Y*^cw$f zczLFIoagsRt4L|mmq@NIezHdwUk>h0b@Z$BA@`A0fgOz=z3N0K&!si!P;zm~L_B30 zdXz!8le>&ErF8J0piIzHPj9{v=Tb&InpX#(JkI9r?`9nL_2c}RIV&E7POT z>nJmlGOeC6=^ka4QRX#gFh0eVxNcf$ergH}=s@ViFaP(x`Khmv-y1*mh0QiU^+oba@l(U;>kC~? z=4H|cQZvoE=)vcw&Ii6zXzyJ*@fbWzbYD7g?x`jodHoVcC!TTde7yoW&$;t8Ztu61 z))_U<6!G7+`F;XisR&y<5_e9c6OTK0zVfW(eFz#QnzUT;d(;ZdRQJ3`I z`D)*jy;o;UKU^F0aB$LX?^N1@AG6x3qYcSp!+5H#Fm7-u4I@)J zZPs&t^$5l*zoSt}?qelIcsGi7d+&dB+SYhQmwalEcEno^(s=dT=|d!Lw>^qygR$Fx z*ct06{;S<6bw~N#m`vd#Z|kialgrUzFSm5$?)|pX6Npy2`ldHmGS;+hYjE||8gCE130ZrhqKa!_o@evWh^~-S=64_Pv08aF-p920{@6ai$!By znZuYC=CURCU1F07KCRIf{7hO3%SbCp(u42fhG|!x*w>x1$H9+@mk^A)@&ELBHN2zN zt9ZWS9C#_^B%hDZ3+{|hyo%})Zz5h_ zJhSSmrmo1T(!&?;lnp!b#4yE7q>SW=nfbnXc#Y)?w1pgl?zecS?0vuJey8l%L+m?K z-975vXFXeTmrxI~lkeDEc|%jhyA-tc0!d6 z7x9z2d-u(nQgBM;1_(~@n=UMSlkv(Z!#xPdK(_wth9CCs-}chx(s#-JaYa!^oA$Ts z&DdkPhc$<;DT}U&^y#CCsrZMYtd?^8HhsXsm&~+pLk+okxvXDHJUP33g=N+Do**U3eKCxA1dWw7KxYIW})EJ>rPy0PcqvP~dL+ z-0<{(!qF+@2Jp8&L@Y#S{(i)}dhYZ5`CzkSHT5h)hoHJ79}JH%$BgSR%B08}CHV@O zPI=X;i~kY+Pv*B|zRiqN|EKU@GT$a-zFPcFYiMgYPfM2LDH(7C&q%yACz+&9zhf6z zG9mYOt=Kq|0uZ)!-Kk3PTntZP;HJ$uv zp8Ow?FaJMRb{ac%;4GhD@U)dPp7IaF$BaGE!sT=`yvgPHfW;5l zHZ;+v0pOqLc9r;`XshM>T*Fg)sOk~@{{DLHr78BrR;#@L`sqr(VU9V+(h41J#b&UE zeI5G2=9iSF%z>84q~jj5 zBGehmH<`zBMVahTMc_W)IyYy#%ZW9vUNr_!ihjgz<74*AM;(%X6BFMgC(NSnv~)y-Gvp3E6)hDF zmA=!@p3?xW^0U{tGE@3DMgFK3nERr@+k&}G?@|M&u{Si^{zKeDHd_5jYEFp%k`$~Z z&n>t3C*3tR16(z6@y6^~z`q8b#Giy8ke_hqH>79zy`T_`FTh^0pb#Pj<15(PRutA_ zPqp^6Bxg;m`IwUTWstRjWx$#T^vl56gfscc4qU|h2BQm{y=_53`wX!b7;C2e%}3n5 zZ2@iCdkng2_M8RmYYPf>$rb!wQIH)ssJ%4qw(HJA@!WWW<~)7}$t~OAVJ%we50A|SBDA&f?5s&}PA)Oe>L+Wt+Rr@be!R6`S-}|>?#(-SKI6J5 zFaKui-aM@j?$%RXx;L-fY(d_{e?O*mlWA9blBpkixhPXNidHc`$x1az%7wsp#(5&+ zc4g`jtON1q^`vhzhFzS45j-RZpGceHX~i$9jS-CVT;UR97QYQoof{F`RQUT(k%=;# zEl#)a9$qqz{27mCN5qgBqMRM$sk#Zq-`>tQEgSP{2{IR>o)iXZt9w#_nN0}OQ9fB?E&yvCGfTwtB#hn^PssUaXQVx0B zvQcqqd`Ttc>L^ng+gPXtw(@Zht*nj;uGprM@LuV; z(B>(?)t*1;#WY5j7Mlqh+wwrG0 z7pf~}uPN0fSO=&_@{{Vi&Z?(57mBc+$P-Qp)`I&ubWC3^|ND-qk%h>;_Iu&)X~2J& z=Uo}^PUNOQQPuqeC)z1i8>vwf4=7r*n)=w;XkwT=Z_ z^{tY*|2M{vfp_9fw9Z2hBOfb2oN13kyH!T``Q=SIhj`T9b?cRne8>~h zwKg*@m){uw>h)&jFH=^EKA$p;q?sY&NpDS=>91UG79Tpx%q9IUILl1_d1|kpi;sR? zk4}hZ-bknE-r=6iv~QP-B)$&4a-VKBq@KL-XsTO#|SU}W3I|mBU*Rh=3>dx&<@SV)&D2ZdCiMW=I$4oO2!^I zQ1R(5e5h~P^t0smCYyfh30pS(H2I}uQ$LIMg>*+0rz?`3IzM@ezc+%pg2CA9|Yu^AQDf2tr}^0UNV3}$Y_-{Jgy#;TJH z=Cyf=*L3w+qrn~RDbi=5@9B)iiayrjLAAGtCzL!UK2-b7e>`ZPw^_u0$sLuPC#~Up z!pdZ-usV|}WOy$+>(ay^W1jYGQ4X6Zev&qW;wQx$CKzivlRw$nKXqPSwucZ&cDRA` zu@!xLOhGjPm1Sp`N`K80~`A0@;$+Bd=GU|wkJQignsPhC)4ngaeRcL zZMm&qMfRh-_F{j8J;~uGFJ5o+lgiV6Tut65c-Pn2RP8z2>6<0d|j~ z|3Q3Xg5t5LL+==;Rqq1I?S{wEyIsfGd#PfItfBli$-unN^4=e{?=%t|Z{!=j*Y6PJ z&!o&Go@bFxCPhdmkzSZE z#~jA<)rwi>7eAb7HuL-;>2L2qbDt{G1WU$@WzeD9G@&L89)<>J&F2R=bOF0sAxs)U z@|(880Q#dCZzF)usYh4lg|~_acM8AHJj#w^rWkQw=eJ~|YRV3$Y;|;FVar@}BJlXN zN#S^FF2qy(x9E$@ONqxc@?{0)@~?y5Sain+@3;Lzc3>aEm2hYn{LBeCtD2H=(iFv1OOF{|UY|oMA0P2Zw`KqtdqQ zE8V_iUwj@d*;i+BB%fg~>n8hdPP5LFw(L8KvB)lkjlq(28?13<+W++d(WchyDE?QZ zH+MwnFL5ApTjE7ow=%+B5GNi0{jPtMJM1DCSZhh^QuOJjufM&c20V7xY8mg|^l|?k zcqbj~C~$8bT`YRtpmxq#E>ZM(h^L{`X*`VAq(g}FWhGA>TuxG80p z_=zD#y7wpG)&(DVrS3k)sQm`mXs;69SbMDn6V3ft=5&|UhT^(f=Oci(^bFb)4gn4t zySpcRS#VC+aMpgg?AoF%tbIiLwBcD1w)d(^zCQ%G3y-xgsQrrQGabR$N@RJ9&u-@$ zy^$ecCmWc-X6h#eNhYavjJ$)auJbNB>q4A>ZZR|`s6TP`6ZY>T>5m^?(GNcRLYHKp zK%ePDcO2Cjl{jtTJK-kZXZ zNI5@Gzctoo3nzYgziof#3>GjIyr1r1eRR%96yap>+Yn#j=NYiRZDIcJ*OA|_2Gkn zTSowkQncn=pTbutQ_4@_^Hx2Q zgAUwX1%q$4<4$%?33T53lP1$hDiwF~KAG<&v3Z_Mjq894sGzAAK{_x%&x^?#JOx%WnF}PG6jLjf_(sL-&*9ca(%2v647s zI_oN#p*|s9i>v#!bwAsPUl&Z@RtQ}Y?6U4Epp5PnNRzxgZ4jM@FD9P$66=h;^gkA# z3Xiv;&E{tVj{ax7hfmwrT?LnGj^OPoLflsnk`K0hSHbFZs_?;ushwpvJ^rfruXT)f z+M~t&(bD^5JbE9-D|u&MdY`5AO)=yIkA3NVPNOe9^*%e$*;{&_#KOMyKC#~QJ~IUq z`sV6=c3)J~iOCiz{#dq1@%XYM1`PHc`k~n0mK~9}1NHcAN$>O6RkrR<{Iv8wu59(< zgL^D}hvq?YmE^9iyep;m`67L@^ggkoT-2N1C$2F>Gx=x8)Fd>Q?Y^e@u;d>!4&*0J{cExh;Yect|??bj`sF5&z8obUDRH~Bw1 zw92aQCVsbK3sReDwJkY{c2w?L#Nye}dmUx8Azx zzYn)wHvPw~=PB#Ot)DsH9!T8!A+RWgTT}NFw~p=ww{D#MZroaOLU*}qIpZsZTi>O> zrEn`lnNqm5f-){{Mej?QOLxsQqezJ#q`KMVmu@^TGR_>@lZ^A!_Jbqid|*+iGq}FV zj3B)q8D|pxEG6TNr%Wjs=i`(qCF7hynNl*&N341dtc>&9n`{~9{!0R#@kg7?o<~Z{ zIB^_OT>s_w6C-l@y?x6#-y^>_8RyO)+A_{v3h>gnrnjfphm{F!E1pokL(OU7xw zDb#uQ!`=Oyr=ojrFc;*?Gw^B&_~dX~;co1?4LWCF5_$Pu`OE|-&I0z6WQH>~@DS`0Ztn}JPz4hjf+OT}@xEm5aZ93!U{95i(d^#h*p*})=VQgLDbMV7d zyyZ*U8?b#<;rt}N?(g5@%pm0?Z`l0X*erJu;=j74aQ-`Q?igU{{cV5UKRIPpPUDoH zryD1kcUFw#dNW{1DcTqVR(;c9{M{(y&f~4G{0dx{)zPSnoG^=Xuff2 z?(BOUUs@*?OkaKwFD~rc58}9A!Q;LUKZrdGz>V1c`9Z7z*1GqzzkU#r2b;{)yNi6w z{`x`ufM0L@=m|$2&b&82i2DT_)~+iL_s0(+MnCq)4`Seb@AiYJ;aw?t z_%8a^A3uoI8Uyn1f$)QvM9eX-AH+8P_vQz29`AeegP4bGx-UP7(R?GhR_p%f{Py}m zJjZ|658@eq@5>M3w|{x(U49V5Dc{o%;#l7G^n)16yZw=2#{t*#DC%N_a zQ${|X@;zl_^S0Kh4bxlh>D>=v_YZ9u`S`z2qA0mB~^g+_@k#o#>Jhv5QnrBwdG#h!|PkR0LGtD*YiZtQ9$jQ&P{`bi;-~IcW z{g#uzMOm*bv&#AQK*};Lz@n5abK*VwCntA)|J`!(`7_@w%j{-dYtM9TNLMkwzW2~n zZWjG5CChw?GNtzGX_Rqsa>ku0voJr?Oed|oqq{5N&8o%y)=? zrn9BrxQO$kz-!Yz|2SFZs_*tK%giRfH(4g}h%L)pM}B`~nO)ySMkAd+1|PCLbNAxJ z!IEVz0{>>vo;S8nZ?eoxY``uL{Ew7nCW1$@i|mgqv*YgfFUxG-(_NN1o$>FFEb|m!|y<^|#Zr6K& z|GnAuhVZ^OyWWX^=3c>l*!6;ZnLJ*IUl-ecAQyrv9FGJs@g(M;TrwMCyF*Kh8QX2ov8uO-acnsCzc zlNiI(K0lc(==|q0zH@z+71OR3-LWr;k8_$c37O(u9Xdx`m*KoIX&CA0lzm@^&V_#g zpCZ2FZp)2@lS7sHtB_kGBhsGg_%iR2?coU#G*Rj!Zxx9NkIH{BL3>e+R6LppGs<*@YG#@4ep zGKacHUygT z`J$QjZ=i1)FC2i5%BCS(gZx%L4y_->d)YrU2YNS}cd~(yay7u@cK*w*F$N!d(cvKe z?h$Zi9<+G|$)$CYGc^wf@_ynPa96Ts{u6=D);0e)8nOA?ebb2FliwSS`1J!ejrb4p z`$HqvuWm9MN$nq*Y2uv+pGK@tajzQfxo1LsoaHLx95;9|kNtISkU10%7~kR!?YF}y zTSL5{%09~6eZ-u-IH0@eg#)UiMKI($-Ge3Eb8#-|yszfHjeBuAt!7%iQ#91oqyj89Fnbi+Jx-;p) z)TdK9izb{_8!io$jN!{r7i;MES^CA8>bNtiPWL_G7b(9xwWD#$C(mc*=EL~tVe2Y1 z9*19ZjB{P-C55u2`g3`{oY(^T?N6`gyUX*O{iz;*%CbWFaZ5U?%tfpjV$^4JmXsJH zan74k-+e>4KR08qNzrPZ%QLZCxu2Q1y}$_g4NX&~+Su^>81NIHDVnBtr-6%lp22&? zIP{r~dC{KAF#U)qHluwezAk;M)hFy`L%scL9Js77p0ViLvVn`~=cM-EV|S~`$QQ>x z`|mR$VzQW_s@qVfVk!XJYK@~Ttn)ZJ)8;*UKcH~pxfK>X1wZ-KslS{rqkj{+osFv2 zS)qi^3SDN=eacz(OqcF|XdZMwZl6V>@13pFisywC8&zl06e~5rcvZi~`}8{I5?@!v zyS3U5vzH{E?vVY%;L}{g7$WrjG;n_e_z}U*8Ud#AJ&Gjcdx`znV`o&K)Ss~Wg3o&c zV-8YBfVSSkmsI$nx|DaQCvRJ~yfs!_r(iY&`fbze zHHD9By-@G4DELj%dByf7`jS!1!M4K3)i<8AX-~Lt7G>3^xxnEpVvOkg?OD<13aX=) z*iE7IeC8kuei37cF*la4U9LS8oKNe#Eob-&K3{r;+SOh!oA6U=FA1#qul59M?Q?>^ z+Pm6ntJR7ha#nP+VvOW=;p3_{D=4GbEV^S?Ff+T+_e7Wzek;#MnT20@+loEu`hSIK z)13pKbslw1VIzG|+$YUheOU9Q^9N^V-MMh*)2%~u>a9cL_yKjuZgZUfFw6d^wWN7i z2hOX$!|01!-zfZ3y>mOrlQ*nep3c*yEgu5i?Y(zS)BB#&^V~U2GpD35=^6*dn$z=~ zIo16Pg7Y}qR$pp>^El4pX->y+-?}}g%eb2una4AyDIar6oz|T4)LBo>soHhtG^X}4 z_MECc&8hH5XYkbC?mN}iLTgUPrJu9rG%~3;r*k@VKLuQ$P!#I?97WtI+{W9E~lue;uix~0jyupnh}hs`l_Np1`h_Y7%} zcr#@&(WaPa;Lu&n`7WQcN5h|f@k6>-&W^Ec<2_&Zt;}e_BZXv#OkB( zwZ(GP?C-BAW|xmRUBO7Q@M-F)QJkWl?wt?T`99nLbSR^x>>N`WvBa#8Y;?)!$3=oHJ#sTVA-)=`&6x8)_1qJLO(U z#Y^*nYvLs;fs=lRqRTCsul42+H{B74WNtT#*`xFHl=(C3*=H_p4_NRr)uHfGWQ!QQ zve{sr0zg^8xt7)|5GEI6i|s*MloR z<@bH_Q|22dAYbyFb^J_oV+(px_x{fqcmvLh<_(~4#M5UlUT*O`Zx91i`=R)OI@W-n zSazq))gH!P%Xhnhk>aws@`O+I@ZJv$f!ok&l9L$UL!nL755GtZ4#@;QJ7&ScN-O?e zYP;Skj=`JoJLNoyYX?}Dan@e^pm6Bs>|1vTFJpP&&opN8I~4maX4jXlnPavsZrbY~ zDL**HgVXvGzY$a&W?=pae2>7vA?1<9N04vr-vhSNXWDmpx*G9xao!~alO=`nG~|kA?{eO<-T^ory?xg%-l&FY<#24U=#6KK3d{8UM)LphuZN$Uu(@m+GD>-B=^P$ zlsu+Aw2C@T2VZnH+fcVlZ`AHA>M-EDH70n&P?B?WRv%V8OiZQw!9(IT6ze&GdJKD{ zT~{$~rRGHA9V|TYjBkm?7q!Qxv2Zre!k=2s;Z)K$6X8rxZ{vs-$KkE-8y39m`UKAh znQM1`Y^sIpV=P#yKI*XJLAFE7?x`Z4xMGBbLbnKx;32q>Fn8h)*C~9|Id_#2 zUmG%Z8TEs8rFGJ&Z|XST=;Fk=4$SOWVyg<8KQG+G*Jyvd#)2DsiZ%bXY;DC?B`&Eu z$F6*%Iq-o`>W>L+Vh-%P4v1|4El(laaMuPYOd_5oJT>cwG>W8qE4b&P(1`BytChkd z`h%=v!dq$kqITpwP;(OXZWPXzM?%SfWIy3AzYF^9(iE*f^(Dw0xpQODd3c`5obAzi zmfmF32ll-$MJOBblsyaGb2;Zo1^1JIu?Z7bGm_pmEF!vmG4m|CFsc17%BTLLz?b+&s=DYfjZ|-o*C~nzi%IN(ePMI=KzRs`S>*R}1R~>)t zDt@oIPdoXn11tYe&Ec4C>h}RU!D_((PUPSQFV86>_)Fq~pd%`Nz2B+5agJN=Xa&vIpo8|uV%cq72RC0Y?rQWhN|xa+51 zx_3i3;_p~B}fGu6WTU}TAfXW|EhUxJ&3?>&4(&vxQR`@-Y0XO~@~I}KI|4reccJ}1uw z-=f)Q*_8G{ynm7ys}?_%Fy#T{hd?5;So^BXJNi z_Equ;HJyR7x!GfQ64O3UJd2^456U`pFw_1ow+kP*OX{kHthY(hFA$@`u0w4^t-7Jn zWeci(ZJ&iYeyNUOra1@-n=FTkbTi1FPKS*1ZyHL-gH(ANZv{+xW*Az%S7{ zn_nX_JQEx=C7yB4~BBK?MUL*J24pj3HX}m+?+27ZUAS+F$Nb#YK)q5!N?y@5AlVY z2KmFuA;FNp;E&fbR=?)KfyXV@coo~khQ}>dKSlp+c-Z+t@@;tBV!>l?epL5tT-M$$ ze1JC$n)CP%9f=)58<#k+u-CNS+pwUVXH9$8ykH@C?y`7mTLy90zWd(gHMPGewzdh| zxWf7!LJZVF{!nsAZJ50-w#?e^)DL^^i~X?2y6=A2W9{C)a3lh)d8a2YLO)zN=}Yv# zG0eRt#NDcigxKfK$v&}IYghF6A}gk{WDLb>)&IWAOHcUnma4T!e#BR&CYCIlem^C4Z;2&TT$)Ys^0XZQwO8KFsX+VxWA-@kVvnv{CORw@thBZ^T)$+gCgd z*_l3pTvr>HKKIgmW8#q^^lc#Y6g)sjNc?o2lh<#HcSl|q?^yvKAbiz0R0i3wI+nC? zL@~?4(OX&9^K${StYZfFpy%T}8+-Ii?vUY{~X3HkJp z`&e@ug_l$F@Yx$iW#QrBWy;IG)geAmItJ+@YV3V^gT?nE%el|;vLAI+hrad7fKU@M zC%8(UTOVZ}1lISDl3buVk55zQMdFFdH3x3Jl)IDvx1$f(D}xLZf142Bc3YvG^>3{c zbljn^?3!(b$@EJx?&)Lx6VeyN+j7iZ-XuvG@ff0;ZSdhM3KbFfY-Fv4lhVYiUA`CkIWolh@grB6G&Wl5^YaYGSZk4F;Uw+L|4 zz{khhqbftYlBERa>UPZDgAVe*3SM|!~5A8RW-c{?!92*!3y zZqcr42gX}&1TL{2Fs3fuF&F^GmB9Fy-?Cv`8E?*>_f;FlRJNB-Q+>atp6asZti~8O zDfC3}YT7G}vt|0D51l%sW zXUWd;Bz;-6WG8!4d-c$fU7^@*1rrA^hE{bwQGI{c#_ET}}o=g77E>nGC*MOmIJFBbPc3#3*he4~f zR+w920L`~!T~^n1>3eHl<60|9x3HJA<-*Kc5ZGzW3`cLFwIsSGd)isf{C<>rhg3q8|aC>XUfgx65t%G|t*HRuwcK znis7-?|cXjzYW@D|Ap^|hegX)yka8KXL;9K_c^K7oP=F^#(2XvJ(FIvCruO1yEJXr z9G9kf<|V1QwrQH5{``53)*Jch)@Mud8v_k{9d`)yRS%Y(i)8NJa+3( zI!52K*jk4T3m5M!gN|q&YCXy~BRDkJ>pI-Z_`K^dbVU{G&0TjRx(;LA9m=|!VzmF; z_JZly{ic@}^)jD6ZqE)kpY>hswHGu}7JDE3nXSWl>5Vsc#6sv4S%;y8!LARE3+-sA zzICV8?Z<}Ry3=Ql$d4X*>rVgZH9G?n*6cigwCSq2g69NZ*ZEhJb;%wV9No6FY6A4& zing8q$HFu8&uQkI{#^`Bkl%4Q$^94XDOw|1Yv{@g;mq3K^5!ej@#< zq)vYbKHZ8bpDY|^(TrQwPm6CA4HDn#!&kr`7JM(uXH3&}WJBxQV7Q6;ir@Rg+{eTC zWg`(S5|1*FHKnmhewCc0Hf>qV;wPZt^K}LnUXA;EJo$e55;W8gZ>D-IxKhtB=~R%@ zWaoImx(ggyMZVgw_haxEdd(gNy*MI&k>*>nTnzgNd>Q;pwFUbqHszSzuVJ(+JAWg2 z7VP8ihP`yx=)f%4U*y2Pf%0+AD(g(FXo}z5;=sNI*st=y{!$0_3kz{zKZ5Thb9!NC z!``AJ7VN7X*xx~15Pw*6dnvT9X}jbmefw_MFWd`zU&h`Gq(c$kEV%2No-%OI$rs$+ zd^QLN?hApT19xKRN@hcE&0bsmu62LGAu~-Rkuq-&m}$6=cCSyJ?t&`MfJ3Zx(PN(( zl=p|**rSSjk~7k6lVL%fH+YS~eQn>S~F zxcW_WD56>N<;t`__+8uf`3Udzoev)kD-J63U$}QF`Uh*Dfq&55iT?!-iRTb6rhX-T zx4aSrPv}>5EA}2@ujXpfTBpT6nW*l3T84fmCfyfZvh|(noBYA-b#rreiKlORw}`&! zd9$Z)!YlL|7W~z>pattG?FC@%@-*gYY^znAVSH+?xj%@`#L?5qwxfO9p9Eix^ghDp zDeY1E6wI_?6Sw5lJb1d{hy-wrlhT>IWYg-f_KKB-mPv~{Bv(zXu;~f&53dG)$=Cvt z-xHbpt$G|i5%(Fv$6lU4LF0zcG-c>sbYkyG0S?IL0WLSJFm#WNpWXFa8_)VOxiD z2=f21Fz||G@}uZS`BjTMxU)>UgrVhE&CS-tZ=vl=+Xv8R$t?KRv?H5s@PU^qZ+(0G z?H%E=xv$hD=A!S{7-g%MjRxB5%a;H0BxDhC(KlHg8)@kfaV=Ih@7+4Ns{ zBAG7W^#5-c_3S@7yFU6K=(GQPOaGHT`j6h(+kfeag6gX?zt;MR(_i|`UTxX%)_MA? zxeB3A6uf<*wH<4$ezv`G1nbt7*M?}niDE<3y3*W3XItSj6~7X?iyc_}rfn1b9r_8a zF{@r+Dg3r@AR`=rUOTYeY2g5Lm-;gBKcWrjtgHRBL!HnM)+6;kGp@o?!|lL@qx0FN`4ld#&!zrx?FNH_;?#Mj4?!$g|dnybd~WrI$E`3Lk zelu>9K+cS#i>9xqTYVgd9$&r#(X3?6jE}e!;E;)+&x=FPM$c!{lS^&A7=5;R1X~_c|0?0#HO^}pU#o9H)>PQ? zme4K^m$fNg z^X;e59f{{`hZp2I96GMOr#6x-)FFEf3nz1Bv8L@K$di3{6sdtE9a_yaXs)A|taJ9% zD}2vO?*Q)GJ{oSkbM2vV)AmYD9RFI9pEYIakDvqaa3gEe+yk0U!RH}s#pfgA&PQez ze}Y_>jAli5By$F#5gS&)yCmncCM|!Tq3|5=vdapqj;zYxdgS?e)?GI0<4zc#FDn`? zUi?eQs%o=8_1{7L>W|t`pVUqTv`R9b`cT2zhi5=Pk<48S?EPuA*m=3X(tfSQ7hP)Y3;Mp+jHBHYwu!?Tmum|= zykP6_#^ugrJR#k~>KV&*f*oTwp{#`~mc5nv_x3pyPv)fK(syO_U-5?o3&HEN&iC$r z*)>$oMB55e$rB$~IdFc~=Su<`ngep27aE(>cWVD7%DDTQ z^BxvFFUp?+T<$o|nIGm_yp8xP@wW2wP(8q|bIP^v_U{-EZ`aemW66IN{WIj>F@iD` z!0A}}DS2q2Ctv;@HBP?k-_hjB7tZZMUeWip&i6NvpXFWFgI-tq zLE%UGjp=I3Z0eu}fmpucU(ZC;eT;jL+bIrS{UcR%Mvs@di*LV4brgsL1 z8lK6W&knWq*ry_A)j*#mZ(f3ZtU9u+V-#zx0bQYJL?v{VIm?Zb&t4>1_#o}8KFz1* z@_7D7D7)A8l4d?V`eW(ws~q0==~>JtFj9H7Ve!Z@<}+&B1^mqCmX(Ur0$q zH&9k{sk)x0jw)Ysw!yGp@;?$|&oZfPqoO>~Db@1MMCEhAoB+Qke3x4KpE}F;;^u55 zz5-myw2w;gWUU9-YxG@J0=o}m>G{2A9ed3N6S<{uJA16=v1!t>j&esX(t4LoTkBJI z!^tO6K3?~Qx$irCb9N$n8R=}$8%ZazA?YJl9CmWQ2^E?KraDOMt)dr_Pv|#thcRQZ zfdfbU(xuP)i~JjzYxVcn?0*q#nCh?kEj-YEEB(0k+?ufFGMXI~pI=bl+&x%*yb8J& zK_2pZbg^FcAleU5GLMm_r)`2f;*s1VNu*G1-FYHwVtk24e%6r-6m0N%K0I zj+@7R*aV$f{fg!5L_5CFCvy63JurOiHvE{Bt|+cWdw-Jb#(L45Gj{EH*vK}Fx)Qxi zl5wQrrQ&NlZ2ueP#Qd7_F-td*H7z;mAU@Hs2Y)#GJ^oA86~H$bYs+QLqwr)Q=4F01 zz+Akx;>{h~7@vMimfppG?GeN9$6)UB(#;6R(MjcAB~N>k^d|MtOa1OFyt(5-rybFE z>D{7yFM1}uTa{$1YlRb!7AmR7A9|R!$1%2x(?7vz*Ea1#FIezCO5;UOr}uyQsNikCr|-Z4 z-FIB)cLeKZi@x7NeL7np*a+6kdxJH7Q2t`_RIl279vJKQ%@(ZfHf&fgvtTVAS+I8b zr72TVM(er)oof&oKsFfd*+u`-bYU9%gvJUz9NI{q8XepgUdN8wv%}4YK6kSl$d^0p zDf=9Ll~bup=Qg*0p{#T88#BzF%Tng)*Jqe5JiF-`V%!_&@vVE(SM;rWaxr^N()O*} z=(Bz6&bIbH&MG8&_pO`n(BWw_p~D&Gj(yYOlc23nUMV=5&Su|S?vj^$Vf)s>i*-_V zuW#KnYYvtbTCQBUmp*%a>#nxyP8H_+_TgI>_W0I8)5OnxH%%~2BkBmPX) zRdK$D*AQ(mmOmSINPJeGm?SS*B?|*l67XyJ-kMe{XN-IXdc*#jvXIJ{2(jP z;rU``X9K`7XN}j+lgw4iT&m4&%xBuH+AhC5>wExvl=w4uFZc3gzo*Sw=#{>+^m2P` zQ_?%FDirlj3v<7sY=C{=q!&UbI1d1w400~O<3pTs9*e+ov|jg(9-1wk&#VWe%Ev1M+M_2_QKfJ)m!^eRO6e}4nNBn;OT{P zG5E+Zc+XxKh@YK(dTyru31}trw@Nw=t$XP-HBQaLF@k>re*pDS--r2*yeFM+K47hX zn`YKv&x1e9`a(@vU-%qoq3P884x`MW{1$9Ar}|#+4|l$G*MXO24x`;x-+b^H*(4$P zMD!5dfMu(&{X$*6Q&4x*RAU!UvR2{eeKGnT&$LG!ex9*mN0kpJw#+botMIMjC(H23 z6ns9!nCs7mFN&`1aQ9!~gwADVISV-mI7mKJ-+lSw-Yr?;Eo4N!|FTo&FS%mAWXP8XuA^#!XJ%n9P|FxG+cy^DaAMyIX2jLmS(*>~y`Gzju>6@@* zrvV0IH;n2sqnGR~8@YIAbm3`TWmhcOIqBG&b7!wQy$kug%-pkh=YZ-DcLl41T~*ap zT^onq-}Qt8CvX%0olw`4%jGxV!&l(Zt{}Xa<_#7y9~hn9=^vTiSup_^S10k``EZxH zVuaz?Wf`6Z@_v$>45I?^Ruz%fJDT0TX0pl1k%v2|64yUIon+F5qRz@26!u$ZuT=Q*QK z?>c+rsIIXS?&~U_P~KHGp{#4;1Y5=vzKbu6z@tYjy~Jes9gcR#D%@oaG457teuK`P zL91>(^5Z|-GVv_(O>|PqT>R<`Q@3QM`3TSRc*aQg#)|wQ^|1!=^93KvqqaRtHsvyK z#o<0mJ)ZnpmTWYUt;1%UI`(y$d5$r2SfN`u{NxJRHt{!Upk0>#;jsK=}!=y zTG`O0JIy^y!JSjO#JBsZ{~vef17CGj|NnEh-Ep}LxWLePTYAx%YfhVrg^TP0Q<2E7 zhDgios+fqR(`K33w>vfvC+JW>M2uCIe9;oij0|%sDUlhLnfZ6y(BUWPwe>)+_5RY8aM&QLsOV5zpLT*1yfGUM5}$74b}FZObni! zY2$xi#5^H?GUhWWFOq=%9tl0Zh^HYXpP4$vBEbs{T}!+%v`hXm9*k7%;ObnGmklA zY^!)MGogCzSsGuoV(nS^!K2s<;Hr;vv}1{Vj^q>Pjv)@cj3dwb!kkOa(b?B6P8UoW zL!bE9g^$U^IAgKd>_0GkPHjv2oZz$ReD>Rf3p0M;cP{6v#+jG+qP%bmu%ffiezLBD z6T!a^_!sOL;HZGJ8LBSGs#m4k zDt@ZZ!}NJ#_1b6hIb)AGzJ7u=_3wo<>3>!``(feWs9+x$L1(-GntwgK!$Qgy9#=LH zZmt90)p_vUgp&SchpE(^>Z$vS*LUHcv@~@-{IV;HAk0U62(qC-#ubUsV&YOFlB95*@XXsDc z>dpF3k&Ab0y=kGmfzNX&tN9$Ie01S8<_VrXQ<}^!zI&N+&0p%xTFU*&zpgCOaofJK zNL5FcM!K@dpQs0Zu-06>$1$Ed{mCMK;5S}bi?(d<3MDQ zsb^;IxinG92;lD+ygU2i&^~5ma&WlAkLSZ%c;SNciVO}PC)~*zxv}@|ckX_QRs>@BWHC>jUCnVCJXapH zXd`Dxb8p!po;sF1oi?B5yAZgign5muXh|Oe&Wg_dXr`EXPpmyT6Ao@pj|lT!@TAP> zDJ|*8E2=VwG5-lupv&QpWeV3Eoyl8Kmhm-5G85OB%!C#G%<0VqnP9NO;!nh<^o3jR zU_V_RWpKq({0Wz)MZ1TF|A>F#(sW?<(sWVqkLkkNr53Le3`a7pkpFUGrGL)N3eHFV+VE%ZL2px`=|lrQoKVElgQ&P4dNk(>w7J@FQ8Q*2sw zE{^pRD{Q_air@KE`k25u2?ewJgN~DRm*1Yf?kW0E`-)Rnzai)Q*PQQ%^1a|(Fg}Cl zag*P@(Am#N`M-t#>%g+#`~HnCufFoE+g=M zgDQNPF+pFZh_)1u?uSqDRTNOS0RF2f?WfN|_V>3%*j3rPqT!S5y@Jnm;b>v#7W5^= zI7+?=E>4f8evCOTaOV4I=l}Jzzk_vDoKKte|5EG!4g4<{5N|2oS+oJ3)slNp<+rZi zkJe24bqe2UEs^WHmN?&y`}-ve05T~zq{k)Y>A=&j>~USvZ}3PZJ~`84{xw*v|?cG_qlw{9O};T)V-=} zS9hGxk|(Fqm&RcI#0^UTi5 zdFKAt>dlggP3EFk>&-06R=)cX|5x&VkM6eWxRiLpyeRY&xx=(d9+6!~@ia?Q!4~3X z>nIb@n~Nm-ewMh1W@`;f>d<@C&F{Q-b`aZob85}(DanEeKD*|>QvtI&CELUV5rLR>c!)O!*?`bQVwsctSkIJS994o-&?to+|9i@+Z3i`-U$s z(XKoI=oc+{JYZzQR_=}7GHj{!oqReh-tb}5Cc726*U+;}IFh?V3-j7#Z#oWH==uxM z-^ZnEc%F9boFQ}Qqn$Z=bq#-cReX|NN4f^_zS1>Jh}gPnyxq9mS3MPm3WMHAFXqzbF^ zGKJ8JLh(=43FMyyx`0GFiTx(Xnz%aA$!E|_jA^s_Q$h+h~Ig6)}#5{AJ005 zcWPHW>xHk`{~tklAUx~xQ=58n9cm7hoM%h_XKn!wWxvH&2V9oVd_u?|6PUjT;a}{=L$^uIAE%4ls3Q>kAiz$mKODIbyBa{)!GRiW_ za!ToR%K5(v{j1KL9oOvoIoWg7`0^RkJTtEyTCmNKzd*W1*ZyUVg>{lH7d?EJi^oeG zm{6Xqyx^U-u2E|Wp3#~XL6`8IO64ONWU7rwX+=&k2%9|C>K#d87hp6c|Mmm^@=7!HpAZD~yKp`4FRsj2kq z(m}-u%<#~slZ$0H?OVQAzR z4lktcLQmaB#v7q6>9=l<+q#DZ1d;^MQ4OoTD?J#!O;I(vfaXgwLG)Ear`(m!e{oEv zG`c)Bsd*wiGI?9xEXzb+l-@0tobaYUBb`Jg{ZxAT*)mFNsP*1gM-rfJz*F}EYYmAf zpbzP@&R&7es<|b7W3W7P&YG6A+fE=j964@iCc0*5rfo$a6Kx)D_1#7e(l&o~J$^Mn z-z%xR(o^@7^gWoE(Hh38zN4+gx*#J)3s-Cl27{TlhabrN=3!fIW^FBf_OKSo8ACF& zg6OoIcZVTM1X$N1(JE-0=-P=s^YFbD@EG8$H5F5mi$~6FFXjDrq2KLw=8|2i{d(?$!177}~7&=Y$&)`B6sUhbL7jcNSRR^fo#Q^_&t_TXtA??R`(W-oft zV>2HPeLZ|&~wkOkS_Sx%$)Gh%;i&tXSP=dGDVvbnYK-~JSzK0l>gBKTRPLT zD%K9md-y{188b6^n=a1WjD6(hiVtUQo>G}?@&`JWv-%zQ=*s3# zXNIkrof-D$H(j}S8d<-nNcbvdvl-<)yi z%0oearW!r>oZ20kVd%?GLC2k69Y;6De1NAaVqb=ZF9wc*t=cJ>S=a5z)KsYMMHyf9 zX_>q!{!FxXGW=&0*qfD^Kf5|J`?`;1zFToZW=r)~&@-II9HyWn`V#h{Xl7XW$jqSG zmt-zvuU-$BU?8n}9TIOiZMx^4j%rmo3%N#Y^p9!t; z({EWOUSTp9hfU_0a1G=7bmnG$_r!H4W@>6bn)wXBH`leLTd?i;UTi}?J_&f4lsWo3 zlPRl3?=*WT>pM1+$9W8JE(gzUO9v|w=>m9Kf4B{qIFT*_f3Yv^_lASXHQ_1AsAM3Y zfd~6s$F1F=wHa=|E6>I((p5*yP$tBSEKWN9-S}c#eAMj zc?h3NDYsHSeM*yA@yB}8O8LF#>dk_WaZmLh>dpC-u3mB$G+6sw4!*W&Aa+aH+~8UE zH#X(9JP^LMWlolFZHdl>kDuGqzhvQe+P`>*1L?oc?SCq<+#mCIh3LQSljNUg&bFPz zj+t`#NR7w3I{;odFJ|*?MRA*N3sII-HL-W+B=a5K(c&-THvcF-uk=4z{?Q-d_wRsz z6u&P1v79-If3$cVQ9LI86IM>9KxiJK(f(mlxrg*S@hZ7Ck)My)&D{v%RnB$nIX3Sn{z*A` z>zR+sYn_CTq4>z?0Q}?kY0rJ1OFMG;$0KNO9BsYIJ*4H#S@}wT_DsE5c|wz!{o8s| zM|mlqr&5Ob9HI2`kJ7KVI5skie`Nhi%{t~1vvN~u{q(=)9fj|TdibtyXx`3y+h@hr zX2TvoKZlLKVLd*|5O@T^y8u|H!c#3%x_Y>hM<0Jaxtl01pxBMm%-zq&>ky9G#lR z7+oy5k0ooaTAZ4E;bQbLCcLwFRcdEJ7A6M|Fy777-R!B`*vEJuq|Sq$I{ysy55Fzc zZSmB-GH1M@X8a5o?}!zP(<9d`PHVg~`OQqvZ(gB&cl~qsE=t{~r|x;Qub5}aG_sA| zax!;=0FTNa>H2s45gsLgt?10~j?7?eLzAJ?!C*^T{vPu6corXrTdNZ7Q>u4ZJg@Xb zq1l7rdC$Qg;sNYN4`f>5ePs&>Rp)1(s9u-JuWiDfvm{+m(U2|(UV<-5Lpp>lsW8}( zj^Ha*R@VS7Ye>z5{?89bGdEO6Gp6D(>~)V}KYuK}R{SnBsTCS3ezyhMEq+&Hln$Xi zxEni>&l;;g>`QBG1wmgr(Bi{y%$HIw%*J3_rYRVQugmrkteAj|HX$9To{*NG2}$Fs zmwL}Ben`?8w$T5*&C+iodo-hSgCB!;O1kT=eTk6+)zaTO`QpDez`j&Eb<3T)f5Y!m zxFNL0;J>jXB_2*bP!`V+FpL5I4&F|DofWfg@pkC-f@3mAu}20Ux@+-|n}crWdddWk zC3839yTJH0zBcp_8sB*O%Y{2pSOLa z$vpHM?EjQ2E1S%{zlL^EUa+y=>^Zi{4B_);%3nTJZ+6YO#=OCksAw|F`R*R-%%QC1 z-95CqkTz;*D^7VHpT|=M`5dC$Mfvja@Q|C}At~?S^Fqp6KF2A~;BzJAoAhTW`_jGU z#W|C8;xl4N*RS9=H)Zv&(vM0{8vgUXeg%(F4_arv*FKN%)ag%0`v|}B>S))i4e)!f zcm~EJxn>>j)VId4o3{1;LzD-iqup7)FOOXI9`eXfUFPADPo8T^d0Zad<&ob>{|Cw= z-{bZVkNl0X@W}MPa_n3qxj;O!&p3GnoO~1Fk$1q$<;B_mnD*b!BVzNTO`U(Dz30T+ z^E-6c7S3_y3dK~Ez|$5`mQu=JGGg(#=)NP1M}yl(lE-*-8NU-BCtaXP$iG4PZt!6x zcL}*QBs*1;AEU<~b{TzwquKjJJG8KCMx7md=p&}BtWNzP=TM3#SDTV;Pqtv>2Ka38 zw6fjEmi81eW!YTYQF3(G@L7Dea#`$TU9RVO?nBu#q4iLHQF|?7$z#Af_c{H$d8@@2 zu4GMeV;?{Jg3iXD=s(6bsx{8cHMHU?5C{TSomUKR(YX2hQhyu z@P8c!P07RWCl6iEP-OIB;Y3>R-9Fve?(y`iz3?$d_b#boXoO&6JaDS@5+8Dr;NMN5Z}Tb2Ji=A z^nfvZC!94K&;Ctt#xN8+UorEO4{kAYlTUUzYoWE1FY7pGTx0o7Ut?pfdd8NX0sxA#V{o)^V7Oh1A*^&_8R$-tHDo4&L6ZJD)3cCI>PRdCEm z&$?d^UDbY<(T-$to3;uU%*C%%Fe)2Vlrv4N5WJYq{LdI;ggI)T_D6U7i|3e48(JU1 zQ>-eBZxioeJhvT$@tp3ChxG}cl>U84P03HFs(lriAfp{&mh z>}L@&rirvBk6?_lA)2^+?G~kO0N2{_S7#?DsW0>mR)56B6(l%EoEM*&42}{06&={Y zp4oi|;`AAt4=z6!UfNU_v9E$1^>dW^sS|IIXpex)*T-$UJTZ5vJjDP}>P!j7?groa zBb-V6H-35JF75=LZ`u5Y#_Tb!4Ye^=+M?~j%V`&To5mm>LovC6E!}4_0@xxiXJ;OL zTX`SA^;7GzG(@ouq9No0OBK?eY?7iOchhH~xxtEm(0&y{KiuE{S>rjf$;{vhjA=40 zdLmh$Mb~CI7MZ}N9lhzOpRp*`LG6kbxHMEWwS-5y9WR~q(k;bR*0AQv=|7oLaWYdW zHFqza6<(VLjf>HiY=}Bjk{MP58>@jQS6?%6X#e*>G*P$7Q+GZ7o3c;Jmrnh`cLxg&${I;d zECP?$`9yzgT8e(Mq&U758<+AGPKQU+*;}^7@^?iyDVio)q5NICw?O*LB;(%rLGFt9 zIXXPbo|q!p`Qtj<+^tyG+A)E(75z|5d0DZ6M#MTkMEghazv!htS1~WizB;e##&Djh z?DM4eqBoB&5WLzxB+|zVX4OW>89(y?UBpI>p&j`MaaNOFKOy1SS+uYC?2m)L1YfWG zG3z4~<$WPzEl4ctEC=>of1$~JjAf-W7M&SzsU^!?Bj2Bx@L^Mjo0F!-@h?-X-PDMD z&CW@ZdxdeHGpdqtw#WA!Cvh}E`MY_?`4i7L-B|LW3GAw#SaSJpUBI{&@LT;aT>Ax$ zleOw4d$kBJawit=wAPAMzvFrP|MMu_Sn{VCM{X?nQ}}XdU0M5%4ZwhKyKs}ft7HD; zzU!KCWrKOSslg;ln@n`~GS)HwS*MC(_jJ?Fm5s@r(~*-^l!mGjW+%W&oOySshhEag^`ofTd@JdJ$tvh59~ zjbhsKRgnicg3o7F8+7XI4(%cL>ugc|DBmeJyW7U0zvG;Sd&>~Ii$`!Mo~Q3Ii|4WL z0Gk@o|Jgm)m~;IQCpu%6@1)Lwk9O6+J{QNid!f$GSrpJXW6QQ||0lYg2>DvW_I)m; z#2wk^@;vLVwP{X#FuC%A;zObeY+UFd;4Kc zW?Dq+bq+AXda+I=toyW38}z`wyNEmTw#bGbo4&R9)Mj2iS6C*8*hMY(JKNGIMj8xnqk1Kew_%5US+hT<4&5M@kp&I4yJ#{7hn1&{Cs zTQrZQd-kGBnQpDG@N{3l)o-kE@f+cYVh@hjZ(SVk+Nz49^ry2!|B?g7vcG;}vSU@) zI2gk?eWt?Zp8wK>Em}bc+E-x%TN^O)^(I#`rXWf8#Y}pp|3tlf<4AX74-Ib{=&UQ+p=+QC=ne z`lL?rtiHNf`%?*Un3FF^FfZ99;N&$p{u1a`Tw_I61Fn=O$cQhBi-%;q5%Rv!rrr;# zo6kF&kE&E%cviJ_3T?<181T(+mu|z-mBjG1qmJe#y@tl@T^q^B+iHN)>)fztj&0xebz?pX>FuS zu-3-$n=FBT3tpxg;elIN?*q4mYaH(Wc*pQ8W6=J&@4S1riFd^@7YAFpGJ@~b-7)G% zHd&ox>DeU<`GKJb>$IA2^d}>KNAG||(TiC}&h4SC58xwdCUf>bf(+`tUn{{GVhuH4 zKYdB2Tj0R^)wE?=^bQzr0Y}xb5ApvyxkjfmzXQqh=$=K%?BcVEVhcKbacAA?q<`dI zJ8-XPtDW}%Spu8R1++gDoMXur$nlpI4@zEr#OX=Vf&e)3tD_5(k;7}?aT2KsqY9Jt zhn8q{{*e7T6o9v$>2Wy{PIoQ>)XbkGF7~bC17umX9XajPG&du^8 z=9)L&xNIo=wN1 zp+AoHMOz`oXZOTk2(Je?kBT7?J%8*U@F!L9Cl$ofe8A>WBHS&gdww-9)o;JJ!2}u_ zdi3XlM^|qtK21E9+7rL@L#w?dJ?*Itw>`#e-BlkVR$KlQqA6-iI;wij1sKnZtlBz| zo@yv-_-^%7Z5KOwD)d52j`w$!jD}})^zc0}6bFV_e~r%oL!uwh>V077w`vP`kRIr2 zy+=mPgV&mHSYc9nl6()W8O(&~C{cS=sye!TswK)>GFT zm%I8E!AMr0AbCr&_X*s)cocTR$&n_`h3zk`ce(!30M&s0(#QbTdv6{G;KR~UNRD@9 z`pM9YsXQ^!65wMRrC`QA6Zd^^uDR(x>~+JN%&GU*n;J@&Kay_Og+*VSH3bI0%2@S# z*}p!-8V?pcvX3!vwBEzBgxe)odUPx8f!*XLvERdc@O$8ry5bEbvP&!BI2?E=V?FP@HX?|%=Q zM;?fBV%b~Lu8-|--YG73VbCN`#i!Poc~;)P(G^S5K5YD>EAY`*TTZNPKKeQ7wWV*? znu-6jXf1Op)Be%c0@^y()0R*EkMybENhht}$!;DBhpZe5-nr-cGR+@g?zz59rjNP% zn4k3L;*r&VQ<%Kq&KRukInUCAf9XqKiYl+&XMvY-!>|Rf!4^!pmGbGK`0)KVK75qj zl$(p1%(qu#Gp6jpyHOkOmI?31Y`lx?5}xef-5TL4zR$(GbDOgA!{vXM+@~?xYvjs( z;1r7<39rt&pusHoeQ&(_h5ml$;7-x7Y4Gk(zOlE<#iKd{H@^Y>an4VO^>OFowSPn$ zxYilS)!QAx-ne)*_YCCf?e2JamnFAJzH|97&U0t+M|XECCn0dvrS(y+Bjvf&{TV}> zm!v<$+?Iq5`lCd<;7~MCFf7=4<<2*{i=xs|9-KQXy|$Lmu)kx6G?~16>P>*sUAG6p ziCViD>+*K_Q}LkUJr9&_eet4qPq#+WhR&PzcXG*G69=ZjF1n9FMy zW@+$GD*av8A3E18;Y=O~9Ud0imkxK+-Y|y_U#j=em?G%#Wrqw(UUvBDNq@xV>8=Rn zC2K~WVexd6N(+;hjIen+@qx1Gh^HIs(CI_*dmM|pEl^gY4oEn^-ZHE zAN4$u zdMZ!uXmTJ}^fKI&n_^9G`h&j(^as5Md`)jUs&;=kY<{QZd*-2+%E#c+OP%Gu=+^zL z;gZ58bJ2H+F{X6aQn*U;fcVnwql8Ce(s5Zn!@{LYbbhOBT{-J%>EU0QYttk<_ojZ2 z4IkYv{1R&tOQM`5E_d6Q%hv*7XI*u;u}H9v9vZCO~^G`qjGF~~uVtx5T{?)eUWVg>k# zwc;m6>Ed+l_vZ#`gSGY6eQej>?$P)yxV$3#z!UJ(zY@Lh)@!8RyWtgz*@FY+6>eq^ zq~p!y6$XzTm{<4!^PcvBzIlb;-|^n@3P-UAf&3=({I~Jt%ggS?`^hUzi@$qbVGwP& zyh1!Q*Ng>^xG?a3@(N=P!d#yFVwP7}UE%LqGJLL?UJb^57vVb)7k6)?slKz`L@8Z(cIo2wqfC#EY+RMCBO43-%9Ybf8f=<~oMPF7t#dNWS6J?ALkoTF3zx&L!Cgg#0w zTHl(C<7?BOPIcOlte;)E8;itVuA+~)V|$hUM)a^C-r5l-?@`1&Wa)PXNlr#5v&Ey6 zIk!OhN#z@`Z|ry*brl!j@~pqZPgJ&C^j)2o{9w3s|6mlES$BqpKWyjPi&Zss4l=ir zFS&7>?yi*1P4Fe241TB+e^U6Dfpu+u=e<|gCYu0pZQwY2teQ(X<16=!@5lk>Qb1jA zu9TI|T*OPA$XqO5%9+d7a`-7{?C79+jeW>|#?G1BM^ES{&VTe2;#-JYP(Hb0a;+#< zVN!Kf=8#%+S@7|vg-^`n2lI&=B}SJRncTdtQxkU1v`}~iF&kN3m2B_Iap+xlmlr$c z4)jEO8qJHhV_W}sqxt-D@C@ZJJ{MEEXH@v+M8PO9BfX_`mNR&y-xmCM`K@J&$55UbccRruv*83*TXI7W1JU_)AnErBp|MYJM@_~Hp z-SfHiPrd1%?8$=fi%!^$J^rq3)?I?wB*+^(n%KdSfvSeloHdI!TlfNff%I{@`$_u$ zsgb6X^x2YMVj<0C|Gu;b+lS57n{OU8*W9oadbt~Vxdb?-^x74bM_Rs;$|oy$7H#v@ z+46a{PiNSU^Ej9N^R9P0F>vjk7`PDwtoM5AuJ_cvDQCUOOJS{d@e$}mTETq@;lJ9X zWL4dZ>&T;>c8->2Cr1mp!ofR1#wUHX^27^IDi^$sOID!w$-WOF<6)!fG6`hcIB=R^ z&tmME%2srgl<1W$eWl+2=XGdxORJ>^*Z#@ACAl6KaB*-C`55+i@-b}A+uaQT z>5_ltMBYEm`=>qcH}albQ(eO8YEyQFHtMu_>eR3{1;l}hJ_rVHJtowBD0+yzHFu>C zL8hBPUShL?JiisEfb+)Kd3c*2$ZRC%sq!b}x%of7CA=5Nl<*t*$7xK5tdJgKT;|X< zP3aQy^e84`GW}1!*ggyLyOXT`ZN@o{@AbdV$PtX`xQCag^|_4i_1#kH=>Ia$*hf>3 zSf!r%9ZCE8U4`d6&3Qe3x9jDXYxx4K+B%5eMSU+=Ya+U#ywJxEy|MG#*c+rb>CbKf zkF$^6!rDV)+mBou26+L3*D!`T^y`necFgkhy$#t3H!F2)GIZLT{h{RTMxQjOTEkl;tnQ2zG~jB z(YuPp>4{FCvfFK{CI^dS@6q@sOv&bVW_+6-ueRqgiSH*)S$meo=dHu|rs$npkMX@o zJuAP5@{Rje%+0KHb^4B;%NH)sxV9n7UPKNX*FGe8^fRt);Noo_T)fw}yBiqpfg!<* z{3@UJ)cFQ`=E4i-jXz6w6P8WX#sTwEHosxx0P*3%5x@&)Q?{5pdhA8w1N3|DDGo-_ z#VF@_!RAHQ{q(XO9SY9e^RGs;=~iq+l>eZ7;h&A>;TC*-9LjmuIoCZ;;zjD5 z+~~3e<*OfHSUN=0{Ikqs-Fe-s*}wZLOmcFC4eNOk8{Q4MNZfk`1WT5kksKbvHx?`b zTaP=iCRl&m86Wwxt-LN4EP3h(*7eSLr`T{Vn190gzlQH8)!H!cts|J% zJGY)-o_d){${9|c{k-PJEX-H1cjPIybjz}3u@A0}*eg3qZ~J!biC28nmMJCEoyR`y z&z@K^vB8XcsJA`w%>I4{uJrP$febt>;#KS){{Jl4y@H%Jr zb z;435kNIqZdo8PeF&LqSC^`?6BT&B@{x4GV|ro58R(2F%yJd6H{=Zf)Jv~Uo(w~l$&dDicCYyIr^x%($u!BkJ( z5n8`Ez9n^wI>+&Dkh6Zj+k+gz|B4^3W8Ji__|$Za0(K;W?O+W*!dexl8%^f|;YuR_SKGPgN+a7;bE|^KbGd*Lvbb$SjQa9?U+wq*e|JbfOD|zSc z|0>4s?t9d;?^oW)J~P%M8FM*h{Q0b|_5IWvKUw?k<;JhmhUO^Tu=C9Zv*)i_TJ?VF zjc+>$b2;6e3wSGhw7;vI`BX8V1JP^sWn(^v_FNnD6~JDPjTyhe%RGLAk&r)mw$J2?jOCH-(3wPUTkH<_=N%s2dC6YxjewsLuE@m&PgD14Pu*cUOR*)yduMUW zTI#Iz)Jf2u`#!h5h16Z>sr%+1Y>ch)O56P7d`E`ljvmkZ!d7sx?du!9M7$(&qmOp=-G%gjzN1H!tSG$z zImyWJzCn7s;B)9Fp7ZD@PGhdfI`E^PONw9F!21oJ_n+WBK3?#_E3EZ}7qQw55wl?F znZS3a^FG(F>_OH=eS7PvkB{^FiM`tk&!Ep4o<6^?-;&?&Y0FN&p#2jStI}#mw(=S5 zvwMGvuQ~w_wDuW%emdBvHHQ0p##XON^MBW|vZeF+BYal8dVcj7?C0dQhgXvw-IbBB zSFbS@kM{75=sKGXcf3eH?jtXY^k~9A%4^(-PgiH)=110gX-)Mz;yi-HP;{BH`ZLA^Z`M)H=kr3!t&~r1Z8TRj)|-0Dr}%sy<%xVAN9poO;;j_NE8URthUx4`SM+Z4 zhQ(q{R!%Orp9A&vy8EqN{qkbDzFvm|8-3Y`?x-BtMs)AC{%u4T-TL0yh%TN>-o6xa zSOarQ3) zC;l5fBfibsi#)!~iV@58ZMJm?y>s4sbqx9N$MT)-ZEtBMuY_XAH_#WpX7IC;396Vw z2{C$-Q{Y$gOG61iF?eWLbytBB#F5IHXupC|ky-j=%f=C)b+I7*0%l&>W? zE8qG(a>UTJ@*g@bJ*c@Q{kyGs-K8FX3E{T3W?Sa<8S_2Kq>8h2VMFIZF~y?c_yF0l zhYs(b%g-|!l?L4JCJI=H15sGmyMelxw>=BNS zpZKhqtetC*DB->0`}}b`PUFbT-fsJ@Z9AT(6d6*nUv8X+WR;z?KNbC^7sj;zu52_G z{pVPZ{xin8@FcRcF=KV)!}1O1`ybedjRV32&lYW;@_hRQH=&Gh#!P?_kub;oXw^ z0}=E-X|W~THzgdD&F7&$ z6kq>d#rUaD@%S^~v&4s=&zei;qd32~Y3lsZblqud<3;J{v_}2iP4{;F#s5ItuD)!4 zZTIKXF`qWH{?e;VejV8tyzAZz`2#23aN3yO@rKezyLuK&PK=9pjU^{*ooP#PHL>*G z?vwrkf5(2zV2u>ZBiw-RX0Svws3p-J#h z1$1vkB7FqyA7i#KeP@sQ6L4zBd!K9HL#?{}ekO9AFBa_dbH>nRV+RZ;{m_2hFJapg z$ORm+b%E-0W^6;M3c4@7yVsWB>fZ&+uK#YA$A5RXqhs0`0q<2ITgpBbxBYk1UlYBE zB~Q}2vG&@7aUTEO<1`-VNw=rHwN88Y_0is+o%W9Kw0DoEJ=T05e_-r|Vd>NS^d0Y` z%?(bQLE8Lbs&75D)=Rz+8ozLekNHU#Scje|R7o7nsST#>*aovQ+CaWVKCjB^EehZf zT-nCu4{oEMX$j!31^A0Xf|!?1w?kEWGe@s12F8(p#UKk{SP&FQqjp)c`& zi@&ku?Oggj%b`Uxow_gnPW;V^RM+)ySo;Dzht-$lW%>DBe%Ej-jwMjXUEOiDd2r%c z1`*?*&pZN&1>oJ!bvy~o9&5q$a(G0WH)L)>@q$xX8!s>D@`3F6nu6$Emi+0`6U`PmP{_gVKK$=6$Fl42}IGaCH^>97=a>1p8WBE6=3mlW^eq2?EeP z@dofm(8a8;p74wKd+`Fomo~qYwNG;nEIKOLFjs~YZq)bfNocj>ce?N(jM3&dvtwk; z1C9}xw%&W?TWf5S;UkXlca3L!r&GG}qa}|DwzxxvI7j~KTI-iP8jSa| z%X7HAoMQAX+Udynx$#x2-soS3-3$zF_Tc@)o{>C8?rPxm{yT?vE9Pb*{&HE~TryS@ zpIdETR`SuZ-}d-J^BsTI{^cFu1NiH$gU1FByfs0)va+Z0C+G}?D0K#lDJ6%OSl{a` zqXP;xjAZRb3w~Wc&(B-|K6n;<@MZ7;WrVfc+@6g~^7_S<9QrI+KVJI+)0H^0TU8()g8IqQ>KN}W4p?WylrJlkGw zywryW7@zcm-gv3+X?)O2Z|=I4)LH52b2RO_?{mj@Ep@N;)V+oFWY>wKXQ~;4Eq_Ey zYBD+O3eBQz%6l$Z!p;TI+HuAa_(Q`Nh#x$ZecAInd~Ytt_lEMRIq20Xuj6xq@@srP zpR$6_Rg}l@xrp+`+4ZLVnZ|wM%k~HR?Yj>g_G_7w3;R1({O^PP&$4FYSffJLs)(}e z)dutWEAZN${1=u_Xo4IJIk3M6Sl#1+)mvFN7xn|9YtR4}zx(SrZ=s*1W`&+jjX2`U zj_+I~I%~ReedG&SPpdAu@n*rtN@t|{I#2qI=;;#rUE=At-qUX`4AxP%&Qmw@H2W2m zo@u&eJ30!#NZ}>r^V0na%ITFCT!1gEor9$m9?Rv8D`~6J)7EtQb>HXq8=!8$Q+G4{ zYHgGg&Ta2?&WG10X5s+z$n}X?@603W8Q*=hcc16H9Z!4i``qy@pzZ=s-PN==j<)u9 zHpNfJ4-fU^Z~XvpV}9Fc9-2iy{ihqv_b%feB+BW0KA-YfK8Gk@y|mtJ`3*W9zHg(v zna@ioZ{l+u<*9tGp>%nK@$d+h=;`v{>x;M>)}mFwAUp&6*4hz-)`{P(Le{I~DX3bM z8cX@*bNt;wbYEl9S$>5&mB@Ypbmox{79=mj2Jer^$0U(Di(Ebz68A0r@L=j!QD69H zaJ0>m8CGuNjzmkYxA~K?(vzX*@#=-IpsxgX)MV+LbdFiQ@GS1IndP~|X49_z@k$MK zYdm#pw7<0Fo+0UlnM>zyx$CXc(hDzmPxZoMS+^=4t>0wM#8jRbk9Z2fz%=gjRBl)T zC7UO=-v@YqH*HByUrjygBG0uZ%NRTDW7}Ais`a7A!arW;colU@dEZnD&)O>bm8HE4 z@paey7U1`;`Ar#MezTmqx_?G>H{{H3C}WcT`qRu$c7e*sqF(zip5B5z&WG@)4}Guh zDTTN1GIi*X_`al$y@<6YizzF4s(4Cy#`5?)^(sS)I)kjsRot^B9rmX+H_oAQSQ&J@ zl4rF(Jv!{x8?7}JuD12SH#mA=+a~6&aVdME{jlYa?0zuD0r$g}KhXEH*KS+VPb)sk zXT_M@h#b5;b$(=dN;yH%?NxBULFbGJ@Y>qIcj&&k2S?*&9lNICR}WpX^xv`_NdNuG z0_nf`p8Bf0uMT{H13&Lf2X5=rZ5{eZYrg&K&;dTyqqh#-Z^2>jHP9Y>5kG|@?ub@C z$YYT8rOyxLwQL(qZb#)lvh6I$5ZGb_r!Rhhy+mhV;-bHcIzLzaW;gI)!BeBT9UlF> zWFz(v!2tU?8aNusnHVkI+k|$hA>Y3R2h=a1t_=s0m1RFs`z{=~zUBSP_BP!1whMc8 z12){hz266-O^oAn9XGMp!o#j!De+>1`S+LLcYlo!`X%_5Q*QWkgW0&T(foj<%S(#h$vyZ;~%AdP5JL+6~Rw?TO23r9Jn3F5mbZb)WOp4bxr>c|Hy< zxhx#&(G_c)YpJ`|Q@1&HoLTuGypX!0m+qVj)Gm9Xd>vYo8dExOrLk|u_P^O<`#*hvvEN7C`#g2qoUyz6qV`&-)8eUfBJH{FbH_f1x^p~r z@1s5KTanitb4vohy|Vy9-Gnq-(g~b6)&PY!Q~g= z+cbuFq?0pdlOYac1@Rb>jBgWh!JBM5BEI2kiX_XLHgq(xm5s5szcVfO+fC z*A%^T>nR?_j@voWj@!X6)QZIjV$T)Nh#g3LiQ;-Rj>k9Y{^a~j5%=s3AwEelGEdam zaSp{1>T_m_loyHI=#eVhMyPl(i6owx#b~fQ&63 zBl&SN7kvH6D%aep(&6&eo-tjcyEm zD>tv#Mi*IT+32>t*EYI52Y%f1DS4(Z8>H(SVL0b*K6Fd=fyTS`813mvDQt1re`ZAG z`*3atyt-tuE&5#mUA^Q>Rv1mHusU*WK{m+2WpuP#pX#4+!i?NeH?ck^MS>#BnM_(=d zwRF~3@*CHu+09ex=2%I04je-!UCyJlFWaH3n-yO5>aN?tBkjC*<*^U^y?@>Hdg`wC z)Lr^yZ{4+gmSr0bMgC{yDZO?>gZX5v-jw}>xcsy5L;Z1(l-KJn^UDi78#&tu=ZlvFyM2vdz~@-*UIsF*0y&?5X+q0e-D_Ec>$l zeg{97>o4^dXW~F|VYcb)@O#AsdE0nD5!ktX~@5jFE*2S0W1+_KU)0W@U7H!;y zPs>u;Sjumg%J)lghhCpSZ$Hm_`q4hS{yyIMd4DU}MLshd`CW+dslLWrta0;u*Y>(k z3=TL>=Uh4&*q`` z?bv@D&PduXMgP{DW@YVd1?cArJo>pSc8F&6ZBJ}RAJ*>Chi%)?+ny+STlSHwxSLV& zB8tQD#*5f-IKAUV>^m^}_hYj4{k{E|Y+Z(8M*4}vVa;`pr^Ot5YYclUk8(pP4o5mQ zY&IQr8ZYy4*T%B7x}W0-?qzFDettB3TcURy&Ne3wXNwbuGsar8zT7^jqZZGP0EvEZ9!$vSmjqFwLW7PvkzHREVdT=c5`E`U4Y} z-b&}Fmigw!#@O+@{9dvjwz0RD^Xr|)#<;dYzhx7G#=jS_F|3yz9~0|X>e%m0Tskl1 z5!c>M?>K|Kjp0jTTG8*cXpQWc7wxg^HP+{Zy~mx!tY@8TtG$7D*vPSI7f{N!Ej|UC zx#b6k?cUyx)*DhGo?@Qg>-WSANtY97;clb41bXajY?0p^Tg1Bp!D7q26r0lJjVp53 z?jgk$@q6Rcl?<=@a;-RR`7egvnH^1f%>Z^!txub^ZdqGc$uAqsO=sd)avy#rlkqE| ze0@E+a2|mU-iyAE?@A~O&%odB7Y$|_&yN2EHn3%9zIQgTU(j|$`viQ5CmSessXrUo z6|^B-B^%g%KgWlXHFkAqZhX=B;@&ne@!36jgMc}U-xfY#9I{_aFRFOWkG1dZ4*wZG z5&Y%NOS2I_tBoE%tG{K$WB2WUc{g?M_SC)n33%+NV9}npbZ?3QS>UPj3hlY?^B9lL zrFDj=s~C`(p1SAJUJQGc^11$ClhgO{v+E4 zy8d2m_&seDMVpuM+oi=kR$LVGl-)%(=C3dpTt$L;ziid~v^k4Iime3QL~*?YIZBbMFH%d2<) z$vu`2L|y(#&ct^cP59J$6QOkX+KPdSGWS+upjtFv#lKC{ zo!s1UyaN1!O_e>_c+2qaR>eRa#QpI1+KPGO%yi(#rJ1>~)5aNZ^XPLnKi0Qh=2IUS*e>%0)~3H0sp5wB&MtH8C$Md{ z;0;qt(~YuDp1riaV^UxJ#ST@` z?TgJDSrBW)Kkw|0e*njc@7&m4K)j>uWd~zTTzb8owl!wqanYs#XItYNgika&h0ed8 zeqcItZ(M<;5AWj+fg!>boK>$rd>8ExLAM}X_!Z<=6OLQQeVUht1|_fL9@awEOuopI zO1Q&o)ajOAchK?)l>QulaVP)yhh7<2H!j{`H+@Bbv%YexNlz{w*NqQ|{HV81Qo7Iy z!^oKl&a0_He@7{6mFWDNtm*WdiOQ`0Dkv& zaoU*I4;-i6+158sJ0v_XPAg~J{o%CNzV+VWwDZQ{w{a(a8y^F=QM&Zv{nYJVXu;OI zle3CxLojI3toyK~emgrC@i@Yh@8%A}1HJd}_=7N)j?=$_2z-io(BqHqFX+ycAzK+b$(Oymzi| z`#w+k)Cp(0_9oesUK&d*(Cx$mokT1UrF$OB=vOdY36EV5?oMxxDW9=UY;1DHUU2@$1m4BZ{4M`IU`F%56#d+mCE4}W_ypfmV;Wa)f1iWF z$GqKqJG*M$Jv^qpqVp#pa3Un|VZ`#q)iQylyV9H*G{=@^Wyy@H#PQ``jCK?~D7#=ij7{ zf$(|3_j}79uB}@zk4`Q;v&!c2lm{o5$IElhsdVX4^Bm_WHj48C?zPXrU;cnjAoNG; zoFRh-T^_Ki4<1l3G;2%3ESS-IJYN3<{DgzgdfMd7?zc@B=eoHRy?%(fG-t*3{^`?N zaKl;;ZYcg`Z~7!$CHi#Bq0pzOb0>5ZdJ=`6@D%ZUm$6qmbN|9OvwWZ}S6aFR=vR~C zi&#T^AD|ODUv~VS{a*PVS>s>;S|dEDdZJ@J^_=fNempvq#f>IYS#Nf>ygSxl#UsD)h`YUfi7e{Elz^(`Q1K92RxHmz?U#B#Jv$-H%^l z(}{lqTM=OH^TYhzfrNBH=!&BYIt7;_U0I8DEQ%v5@q~EpWIXa;v296<;29Fgr?*&s z|FQv(h_oiv{s?nJr+9%8@uyOMY#!ddg!6#x)*(4ca+l78p}kRyhIcFfzQ)y>_IKA) zPjo7tVq9CdX1nd1`ppj%w?uq%0ywN2m=SgDU0g zOkfL7q#`_JJmoyfyIJ;~hMxYKlzWZu-2MkS{YnP5`fj)T9!tAXp7B);oi&si$J(Rl zlmCmVoIcy>lh36*5uP%havp2E^s%}%%Xicj!GP#OEXe|yy19YYyo*g!rp7x&e_&+AaYIni2teW<@H z+Q&HFueIpB(H_TnjAPxmv$lg`@QrXoh&>6g{`0}Nvf1j49x2=k9v@a{xfPySh|b-|>6y@(I&Gmu%k--y5!{oqA6@ zv)2=MA{-W)*LlxGaIiDaNzOb!qIoh$>pn8+zQAR~Uoh9(bM7O%!I^9Sapm@0d&j{J zYSCP4@&C|Vr(3-D3&5jzL;Fmw+Pa>(DsQLshCb$}`qK4jzKSb$dHRrPw&rn-=7IdD zxi6uuC7!m9x8`ftyPSIJQ*}jC1GJ^R%jWU4$2!>AH|>Sy;LVROTHB+WclObh8Qt&i zKL+`(xzU{dp?Wiw@(Ie-HxhqyH1Ri-E}aVq?xMCo;Yeg5V9=6>E}_qrC)j+}@-g5n zzR%^g?zz~eb+y*MZMN2AI{(kHXyK}@TBA?VPW)`_gRxaxryB8HvE=F0i2)Ps@p+vi zBQ~DZ_@7*>I6%A3C#X|J9ep2k>ip94{$$=4JMV`%?;rBKmn}-NzJ5Q%dH*BN`=fdP zvh#kp^Zo~(_mbcJan=Re-OgR4MJ5D3pWm+YayIk6o8RhxUuf0VnAU-_REjL892t_k zZ5rO%F_m{3gY>owAF%(QLiuTDp6o3kv(&Qtihk>?79+>`7?UOUvF?U^21i}~7I4Ga z-Fhy zc_M>9t;;`snEnF5gWmaL;z3qzRgCvyv!^?cwev?>JEEU^3%+b=>XR20B)726!{gDU z*4c-ip0gs|%EPR0@)^dh94&e`XvE^J$}xWNWm+dY50rRgweM%$Ry+R>8qu;fNNH*?qyc-vB@rBI` znJVJfdAOr8^$@=)b$G5alng4EldpXdPdRffGfm`2LEmNRd-l(#6h%cV zr#bmZ-kv<;=EBOAXWZ}a9m73xO^xP)NWGa!>B7G9_m;C~Zj8BTy7sRy6z$Y``7-`o zCph<&+^jX>U8VVH&ziqX{P@eB`0>M7bFHHb*Is{^b<|zwse2o1UKZ~iYrc{?D?N4m zwAWwE^0m}e4jFe3zeRhBS(bmzGeO;_&3-m3M%TWhDn|X7r+y~Y|5z)jTj{AgtBkl8;Y;+u;!-paPIRv8a(1>-i0I~77V&;P|7&uBkQi&4;i!jKF@;r9vxtK zH$JetJwC99y3ihvbzj)*5ciRt*Kw=-iNMcM&cPPO zQyFWrWJ?!5#8bRXA1{0QxN(3zSx4PVCJ6 z@y?*m3{Rcn0meI)x???cZ}yD$mBHi@W4z-TZ#D2EJHm9wju5KgUhfK%3E-C$s=(jg ziCv$ zL6qDP7#`Zpz2d*i>t6XmgWQs6_r@$kupWMac879i#gn*q7WY=Q_$$`CLPJ6rTf>&wqe=-{RgRzF$W^ zzryDklpo@ACFN0k4p2THrv86XpK{$dsec&tDP6tGIQWn8JW-w#oO@ARpD5S=O|(xu zibeP0k}YD%QlI?TZs{~W__Q4j?c^aeEj)LFShj&A#})9wl^H|uFXpOI!^z2V+l_|HmBzF9IFH2H7FqlkbOv(Ibn#<6q7D(nGWNCLhi_eg774r@KamL3hak;V&>} z=f5HT2b!GE`@i!3pE?Il-+$+G0rbuXf5{ju8S!do4DvZ#{~^W@%Z@?3_-prN$00ah zNnSbe{K6M|cn81Op|MC;%zbFvjv@C`QDj-Fl^mSs|9f!vF`-wG0VADOj>eJvt}a1+ zM}BtJ;%R;xbH?#&{vWS#c-G>Vo-sVe`-o=@FKG<)uY2Zl*W#hXt;yX41w?4?pmHvVVPel)6z*-PpR``tWb5Z`SNZ|L*S67;zKm8052qu7!PB z>bZwxo}*WIdwHTHvuK?M0gHj=+tb5*S-5i7u$I1FU10AAc}aq6%l3t*PkGkyEb6qt zU%2Zy%UQ?CeDAK~X??6?G-n-Sv=Q_0C`|*bV{U$)w|>@p9Zyo%U;0*eu1}}rM(M7UmrptQl#35I>$3D&@Kq%VzUL|Bk&c~w{ayY< zYsc&7z-wM)%dEPqUA9&2$%(Av3(#A4e}2MR>3_W!3{>!5x)Ws0WbWPTtEoGf`_?t4 zXtV7H?5i_OV|sEPb6H5=n)}_ff47I8kETt@=%$r5VvM=>Gu}$OMRoHmzHlh(C>d%H zWAfhLl=y_ddnooh_R)$PyBb^H6~$+euQ`#rgu9%+c*yCmm+6g-Z_1WJ~T$f!ClRJ%`FIxx&)i0{MM{_5zn1FuOXg!4RPkx?9MAT z@Vurt^YYgXZr9v^7j$*myARQ)h7~s>dLw;nkg>z#bghP`kWRwoDUW7u!XJVewIe#> z!iM0_3m=ltZJpsfXjoR4>*|lB$2|pI&@qQ zlGNRJZKGL6-IbKbP!{q2FC)2Q?5o86P=6fdFg_Pkx-zotYvK`%xiyuiHRcRx-h$OJ z%-zxn^S@}Y?v-AAgN-xwUUay0402+8QKw*0ynxQ!f7T4{fid*7!9A?8)x36&sfo!2WNQ3`d8k$Ji|8LS!1<$hNY=Cc!u^} z_FCYF9~5k7uB23@Ob$&A26Xad-ekb=&5YoEx0sT z&Y3G`ZOfgrskN03?a`ldKTDK*PU6eKb<^POpmE<>l?t|^zdPI3?@CXiJybjBK|A~r z`lxD6e((a$ZJqYojtMBR@+nU5_`CdDjrRRUcmO;8(A8fT(2u1jH_N2M8U^nkZsoiT zjj0{i4@h?&wRViT+;81uJzD*s57+NZ-HoXU=Em)Qeuqx43pvB`!?NBx?_3*&;u!|= z&HA(R-s_v?j~5brZhOhvMV-EAYe$)r sGPY~b@Z(lMYOT%D4y;<_Eor}$~kZ3pX<@JdfWQo0kn08)0TYP+TYyU zT@;(wsr$clkJgTx9@%z3>$K!bvdRw0p8HC0ZgCu4WGlQt44o8nSKesh)7_2erM_a% zbxT4i;v6A|dD_SYN^Ub}N`+Eb-cQriUY7fu% z!9M1j%lF+fz2lyjJmWW1n zu$L9!0qh`6mVbtLSMh_AL&f{*H{4YLT~`j~hSB2H6no2f+NY29C(j*yS~BWu?P&4& z+GV5lg-rhUh__a3hSeu+2xDJx+#x3O~9u9slKS_qR`gCstnp9~XpI;Qz7w zpU3|J%Dt3ZzT9YjJQ$r2l6Q5_TcBN^*Ee*!nNC}r#gBsJ{l1|u_?Ro6Ot^^m5&fU_ z8<)HxSk-vG^%>hA9Q-7me6Yyktg(*tXI>vq3RdEqCjZ5b7#{6@!tE*O+Y*Nk}5~~xw4;!tv(aF8#s!-K)ij3 zG3>t`<>b&B{)9GK%pKbYF>Z~?-4n?b1K~t_4Ch&LML`|8{^9do{MHTpY`(P7{4&4Z z`~;nM75`T`_q+LG;3BP+aDv4noUMK<$Q?`$7wCk=V&-3?~@DeP~51MyrqlMkC!U%GFQ2em#@37-jk8B%(4Dd1R8V}Cwo!daM5XG@2$hbO>u8b*v%yS($wE6!1 zjnn4EZTVL1i4JT1b#IaIhM)M&2=MW(asKYOS+f1zv|r$9AH3AlJ~^g3FQxqg_OA|~ z>?-oO)lEHadkESjSeLKc`#IN|_jsE(Z!1;0gedSX_ zK638eCI`7$v|VRFJ|+PVk0zK=d=CC6R(^6@k7w(dy)fouZ-;CKhp2siG6;C5hD#uNtUdjzIFcNw86aa ze`77+dnh%3;i&-s>n;=vhj`WwKZ%aNfyZ?x$${d2-6d}6gz9u=`i^=2G2>le7PRAd z1D^+O_T30A$6t#xK3L=Acj_1a`yO93=^Awhpw6_{7folf#`#{p{4O6Ca=x4VIq^EN zr0dH+D-U0OcuV*!eEFGk4BtZZ%vwvGvm$H>$|D-$Sc?(`Al|DUp!byJ#54G%J{X*sjWl>8*Ys=vB-JpZ>{4_`*9_byG{j9#yl z^%AbRl=&poUQD{aEM9%fkNqM>EeHoRZ5|r4fjxTWqyFwC&U@+H#UsIs!VA8$9AgU)Vp~lI zv8`(lVq4=_!vn#If?xU3{PCN^yI!cv!tK`uw|sxPkGx(Ee1z~hoCTh9eGXeJJ{Er) zY|-Ki5;5Uxn}0#R*ym0c^Rna``@L880Y~n0r^|KtN!z?I`KsvW$L9Yr_df7dm*xNe zeYP{U9R?g=*qo>bMa8*v8W|DUL8ne6Js>EO)v?IXD36Vbj87iMfVo&65fKUElvIRP zvq<@%)>1MuH7Y72wCx;D;O5>@St3#Xp0D?x?Y+YWXnY>O?;el$?(=@X@Av)Zy081X zuKT*L`?|0T#D*&w#y>@NOc$OO7X0vJH+qO<{jMu zewXokXy*?6T(xu$;dj(Hm+S?1POAb!9;?LAtODEoFEt?p%zCQ74>w&G?taH|! zWu12WSSyHst#fWU)4K8YA}ccc3~Ny5+pR$pZ?(>8KFb<&`)SrkW*1sRsrw_h2ds0R z(Kiw69P-5}yJ*TMt#hi*vWj-yYAxA1&MH{*Nh`8z4E9K=?uJcst)P~UL-EBYkGrQ5v z3$Ar8_woUQHa8ChXV+rB`MLa9@qLotDy!%j{GDxm(HZNib=`IN$11?@nf#y)x_wi|ZEZ=c%+)?qYCX=}s@+;_J=HnPLiXsmWa|~yC7X(^CwC3A zE!IeeE$v~ZW>=Dj*fw!wDfG(H|L5!Mw6510VeJCok3LUwmY&H@TQmcB z+TTbH^PU6mPVc)f^PSqHwY1ukfqsv}mQMR@XJaQ9L6)ta$UU~ORoMGgOd*y? zgDu^`stc@=UC(ugcC~a@Bd?TgVm@wtj=9;=J&F79)|T$!&$M)pXnwAHD)-{wH;|Tt zN24lRx=*NT=}u9%Xu`$J-I&gO$`(*^F@L{#t=?>zjZN7<>&9# zC&Z_(%`SjfJ3Q*Yr!mft@X%q7hrFVeoFG4Z3lYV`do41uJ#CUttG#F)2m;ltWl)5 zjnuScW}wH{p6qV)w-ch$7thGvO8K{g2PKrHb^lcJd%JzYy94a$w#S$CIcwAPfOM-) z9_CEw1@Z`oDqJ{beeXF36?)u#@13>zqwl@s=(PLZJ4^E$-h(rCf0xnUN%Z%N^mifo zB9WHNg7Zn~qxz;;!OnTq^?T>gr)XS#x;DF!{cY{hI`YKQ+y-zte@^(%MXhz;`{fwP zEvxms&)5)WkvUPyd*A`1;V0r%@F?*4pS8~Toeq47uVwe=8u}v} z+9~wsS>*3$6HfcLBTH{bmOk3}d1q1PN&g;o#t%9~U*G)s1ZQsbJ#X!;V+_6t_st-- z(qHP$FYcRfeoMN6w25muR}JsBW5cnYYX+BWI)XD7n-bprX%(2v^}k%T*DzOI-!OhX zeqj>Z3+87au60)|`%d~G95UDT>hh(dmp=V!8(((XI60Plo{qg^cTpc5zif*3&t%;d zalX_3NYwZ3Ksx?c_{Oi}?@}4i$ow-|YTsVodG(*Q!TFt|jw9*#z4KPB(*}S=+=WHV zfkn*i;}g`?p0wB7j!hW#m-+hhKJtm4{Xp%F=v?2d^4Ek9~!; zI_DjH-;00z{p-DZCufqc%zTCQyK~<2gL4k_z#My}P}nVFMP3;hUl|VESL1uw+goXB zSG`~68^K+_wYSouGVwJxkdz4#NvqJ02jxuy6 zlcKWeo!&8yJ_SjuNyYbq=9-Rr=I)p_5r)|?arjoa8&8qIQ=DWMc^L&!IC#T=NZM`RF;_2+t$#?H9pnW={8*u$FJ8iwE zr(ZQ;^46rYi*HokYdc0Lug>@b1Laj)FIdyJt>|eTKb_F7Ev(Z$J%D)3aM~*QX=z|l zJ1o3&F=^1XUkI#OG33-W>ra-9*XX`)@V{@qXUN-{*PpDuRfO*CiAz?5Pt!Ixc3%PV zRl;6(G~qv!*!0*z3NDiKkb}2+`Bss{K2Ndk_)zBFWnx! zvqvt_dNcPm(G4e$-k{tUwHAN@4e)LCilH37yQ=uUUI=a_kD@`{d2s(foF3WNmw&t@2fDpkMXbKyQCYv}!eHcUm$Zx_wyJ1Z)71Nix%3MgJA! zw=IXvv~4kuhkdy4I!YbLfw}R>adpTWW%Rr2m$ZX6p2axLnt! z&b{*6IP&<%sowWq<5cFp_r~cHzV{lZ{m9Vz-W#Wn@;*Oa!?tAyx`s6C?B7h}Zb#Rn zc0*+G;cPnd&ysch{DL~f z?eRT(C;d_k+k&lM0X`0HZYR%nU!HIA-9T|}^KHDxP~PBBl~qfbgDb~D6K7@zSDkIC z-EnYw>hNSPR+;Rc7D{$cuS$0J*Y5l?W6M-OZJO$9Q?c7_ug&>q$8JADo5Pe9_LcSO zgHCK-wbg59jCRi8n#FYkSAXr?!J1$PYXA?vAEeHF+wT`CTWeR@3Q30hPVV)dc@F=n zTuT{iePv9gjDhID0`e~K<$ap6Wz*o5|HP2jxu0pTwYAr)^@rlD({|P$ePfGHa^-ht zUD+$YBhQm}V1G$YS$*a9Hq8le2j0+U50iP&=e%~5b#)26A-JO@v;VFq_U)Lu*kt$C zn@xYMH&2lM8;$)AU%!yaio7C-C4KTY~53D+DIScK27>5?&p(U z&V4oM2<|IL3%TES`C{`(w%$BW>aG7by8O%DhmVVAF*n2Q*(S|L=Ilb|Ci672oO|)? z6lp3 zZI_HJ8X;WzN#z!+atd^VMwoO1a}C zT+ZJI>{)vu1AF^`Jep+&1Sl0==#9wD*!|=Qjo$I>a|IEYIDD|4`ozJ9t)FiiYz;*x8sJ>G@MIs~ zW83l+`0*Rv3x`a2QO8xGhpj-3lcylEST;(`zepw!HHrcZ`yx~ zNuAIh?QBK8J3U)ReeZupzh`APh9+93`88{Dv+l3YUc8kwbdfc#v&MR!^4ri6t4`=7 zdh=7PbEiA!=98f&_~!NE@iu%-paa@{_N1Ex=A$G)?|t#aHGNGh~4iSIL$&gm>C66CV?Q5ls<3NayS4KjI6T7yRQp zd>+~O8~=%HxiH_=TA4{4Ka zf93E%or7`snsjWErPRi1=92Or4<6WRj*SP#UEQ+B11J8e-b61UE;#9qi{UXZ!DC4G zzF2RbjS@p~cfHw6dTTp8jC`Ix%k#mwgYgmnx%D8lDxU7xijSTqWCUndws+5Zsjc%4 zCzc{JE`?St%|*Dza*e~sZ;e@+Ie4wRXPtQ3*|X-|d@jLs0jbtANzz8HCa&dNDXx`V ztGQaaHdB`Tq-^2$<6LcA?@xeJj9E$2!6DX{HtvYtII_mTc;k#&U%91~b*aYsA#gzR z+g_W}SLtxhpC)<8KC1(&&CCV@jr&U2|JEL}@G=-~MOJhC@o61v%X{e9gIpzCT5t5` zn`Zm%I~s07M?#*CEgz4)=ku;vWVTFSWOiQED?4cXn&OV_C;FU@)!0=?cPzXen?N3? zeb}Jvkvw|GJn$UB?`dpDvYGO?gS1zR%1S zC0JW0%t-ODTPRa-)bEe;TXSj%?~8dRdG?c(S!gb``CWL}tsN>ieSxzM`4Z)C$;*Eu z`2z#wzk~eC^YYImf58Cx(Rp>1xN{R6v3Y|-YmUvIXOG-Mzy0&wdw$`f`Q`+!zb4To zBiod;wq%;3T5mgaV=Q~-4*V6DJ)J$(hQD~^OdI~P$M9^@?0Fb-Wj|1vv#)oCi=HzpYTWRlC9egV5D(uinDjX7?f#TBg`G1Nr!qH z-#fmCW?+}Y_`>JPBC`F``ftg;<3Yzfze9hp_b__b1;4fTC z;M(xXrb&DKg;C_U8p&_K3HV8tDx{AS=%aVu_6)&}F&RT@pVbAPLDyC*7+Ewb1)NvL z@6D|wE}U@P>3{FOi$h=f?nV0dT^#z-_w0e{jxx98i{}UM!(y{;U%F;Vrr0dzjEBx# zq&vQXELa}Z{QAG~&y-}H-0+EEou1E0!7K=VV((|~o^m97|Ob) zm^Doiwi~93b=NJa?$GVn0Zh5k8ipOmAnZ7bC*EWYnT?IelvHG8CsqVqI?C3tD z8Jmwae1H2K>!yj9BDx$biwQkxPwDxQoWIZtZ zV^#^a8+Gi@x6i)Z8asQC^(AaPqO-5W4ukrePq!|f9kkBE*5iz3`N2tbXZc;kZ`p4Y zlR9(bzq4^_Yj%7pU4pGb>L&PbTzc8xfpfNhoKORC zJ)aKk5{>(u@4fhMt^3~7_ucAyFMZ!Q_dWc`{{G{WMYcA~F zuRVai)!VO4v2GiG9P!25V?8+E*<%$Akxuq|uW?3=_JnIVvtU;26CIHc56K?KV@yOh zg{Qlz*QQ=Vn6W8JcEnDPr`@;I=LiGN}n&$(yx7@R>{ z%GTRVTPGAwXn)F)ZM?I~$bs0{B7?;wr(T;K%l$dr&qCij%ctvZ`Zf5&v#GvkCEwE8 zvoRw)(%SvU6AQYuCoVoRYRXFX!0`uFIo2x2UPSxkC(PzuWg+XN9}{P=h_%zB#2R#P zIZAqQsP%cR!>p?H-TWRp8sBMNdymF1#G3{Gg}`4rWAX2j_&S?^kAB|a-@*g&??vzp z@$3jVIyTG&-78cU`y{Cw`=OiY zb@S=w`CrMSo8%F`4|nO_*}nHS-E`l3baRaFy-hdW_a5Cmk@xwdU#{)L!3QP+3g zS)O=igTQZ?7Pywnuw?;HsZRc74BPY-9M7FrjB{SvK8K>9+UZYt$d-z1rLA zzW3Vu58r#WSH6fDb0OVPAfre=(K*q=q-#?V*SetBzGUwE54SIQ)b96A z8*b1*d;O_3+10;1+`eQM-$Oq-ga@)O+35RrAp4RTeB-w-xkhEc8~U>^xte!2O{MI+ z7*G9vKk2d9m&DHNJ(Hw8YssvFhvz5dZ1$N23(xlmw7+sKYtO`Tj`0dw;L*luq(!?^EOQPWj5-(yl_c zU4`t?MVnhsVcmmFYRnJo=bL-E{>IfKi~7d6Ag;BvQ}%g`TQPO+pV~XV8bh_?eZDb5 z3256H{h55;ING$%muH}H%8N!PbSO1e44Bc0W88?f3gJ(ls#3utZQ?2mt(cdgJf>3^j6**Io> zPBEVz7EBV(n0$ylift8?Yy!VQ*D)OZ58$0Pa)@M)7&eN$hkx7n@}ujWbHa)@VwV$j z_!RxI$4t5-){C85k9#^K6U8pW)hD_B!#Y^7R;fPua|(u=(ZjLdX_7BbR5`RQXdY!> zj(r~DtB;iYL(Ell8;70I4>5i^b2%P(2Far`O=1ycEqeJ3x2!Vi_Lrynq$g3?Z)NQ( z8(;5x$!ABhSww$kzxUfL2I!B@o(9no2a`?6;MaHD&AQJ!%W9HIv%7k+sQ|~k@$Wfr zp4Pbe&w4fYob|fA3fUl~_rNQKyqF+PZB(&puj>Fl_S`Ft^Pc%|w6k7*{Q>?RowHuY zF$SjWmv#PE=TFp5>9WPo9jk2Lo1d@Weh3*4%UM*X|GB?x!4d z;hmn|S9JBQ#CLh>O6CUh**g=KeKpusl4K6VbtcS-?=lKm1-e9gu}h2h#&v2a50V71`6m$2GUd?R@L;T~4H31I2e~ zq&;4Imu37`e3$v<_$TLz)h;j_K&G`L8%^2&B+Y{Fz4S&Mzc*jD*i0o=9*^eDh0d)8 zR(t4=9Rr2F{^zIAoepRH>BV;m%V!UBUcP+f$A{l`{FVSPt>(UlOEFn$YP1Gjzc*S# z9GIG9W>9SLzBf)Cmc8TD%d<1=d~LZK_%_b(Ib1rMnV7W5yl~dyo;H2KJ^$tDhn}Eq z8n=0E@JGHGOSx)?+Nidu4LoDN7I>5X=be4qG$D$t6{Ss4+7wM@hDICvw5gCkJ^tqYH0i%>$hs3mqPpNP#cc!WU(`*$91DW&0zTfgck2 zh&~9e2an_WG>jg%9C=)NTZmO?UUGeIUcA>Y(wu~2^Q^rp%?;Ys;}@y(dD&q&&*5e8 z5{Do1+s>o8d=oaH*d^{kZ<#H@r-D}(a!948`@iq0db9A%#paeL>w9easzs-w=?=yJ zJHR?YYXtnmXXGPZX9(pZz6M+T@uYFCIb4FZ2V=a-b?f`nT>r->R;9YbG0yzjZJgN= zs4~`x_(9eg|GD&euCLGWBlP(@$I$1q-9CT$Z@vAM9|_qr%3tsU^t0)V#pbg=sqfLP z+p=H`9dAu4CmWz}B|0kh7?V1K6Zpa2a&yni(xsNvtQ>{S=ZKP;M*P<-+NWoc@DlK3 z^|5KtIEf#4whVE5EN9sEJ>tJ{bjNeh8^hC~ z&5oX%vf+P@-cvgM{&bV}bJrfCn*NM!6ED9e3oj3ucFtr+q|3f1H`MlPA%34ctuT@v zV_f_(HR+Cj0<|BJ$w!CKFBZ6_B5BOs@%(Ul>5qZ7+u;ZZ*iQ=22Hcb4R zKuT?(@99Ex;S56)y07#|d+u|t`yFlA51o!r$sg65S58~pGamxX1UwU8SHU}@XbN#LtNU9YzjT?)kPO;u5v$+{eV5U zs7ret{yhht^WDIEQq*I=_wPw*f5DmCefO2sm%ZSN_dc$DDeO5|D}=(#&xS}td%^HU z?IktCnd8IR2O`BkpJZ0~KJokBVqG*`Ya`Kh!#kasR~|hJQ*L?9-MM(%-MI%VL)n6w zOWHS8PRU+!e!AnH0De}?4T=?6wLHAMJuv+Hd!6rBxMi@9NI7<$rq|ck5$j{$P5YZ# zlhYo~7(lb4i!!CGdnNyB{EFElFwGOJcYk{*I;)t?hx6^Y{qnj=f& zraQXppvx(>XGT_M2wa;p*52|R)Cj#cm3GWE*5R97+V7nic=9>vB8dM4ZUmtzwofF= z(!Ka?d16(rBFP>t^51(Yd%@Qn->h1Til@AjXLI2xp$P4(an}2fsy*~Y@88aQwM#Mr zW!mzAYx6GtTBUc+T6{?^T7W-IWZVef*gPM3UG1k&tix@3bl5sv@YOo}POZaT8Nw?^ zdQADil0Oj-7TWs{m}z$37`wyhPk_3VU-^ReT5(p#Q;e6|DLUtuMa0|kWe`98bLi&4 z^pCoH@z(n8vwCatm5HSJ@YZ^BGgrmQi%l)pE2I0a&o$riIg<;f7G(;+69(Yy@HHikT|?=j7xPTg0SC7Fn5FmvO=GodxK z!LA3qD~(7tyDt~2fe+hwc^^DXycheSaLV=XlpIw?9?2b}d8au#llGR|yo)uKJ=R(; zZ%3YQ>RG#ca#A2keRiFGy$180_Q;3LaJ4C=HqoaP?M$rXoZA1pK5PQC_n3XyxaTe- z$PEQCa7J*5lQNDAH1^3E?ci@nJg^SGl;VNx$+lm_c*))<8JP@Efo^cFM)R(s23-Yn zROcNuMmqC=4YEB>@Yhkor6A*UGxKzGLTiHST>qzzPAiB`%$Y9($6P$0_WT69O=!+m z)rtL@U8ijKvBk9Om0d-Cy`sPGlZ+KVetT}JUuz!q*^VbhpRxbwQ@3cd`n;67J-Z!< zI&mm8NBYK&RKI@y#v7YduH-S>uG#IAbgub*Qn?|?Y*F>;t=YMFYv6nu<~{fL(t zfUG53rXcd-)4<;_{y*W_Q~Vx>t~L_It~`DvdI-&zmfVA(P&Sxem)jJY!hCJXtuV{l z%TkKD;iyvxFS;)yA-~}d-4>K=VZ5idN03Ptn(*E z%t>}V^yP@_ZN~@k@v(8JK8`ve;f6y?NL~DwO`YgTAUzqKeJ@Rse=5OGvd1;ZWyjNQ zL-t$3Yg4n%mTlo3!AlieLvwO=7U7^$ z`w@n-#6fHfIeU>SxA6vFh&3y0T}rT~VU*5f1n2{W^w@8)HtMsMIv%owH=h*~7~gZq zL98#r>qd$0mzkv_3ZgdsA3lq^O){MwlolN#wnPo{Ph-J-dF-B?i>~ad0*P%@R%no6w+`=HU8$w$PGji|4J{}!EhvFE;@#t826=Q_fLyXK3|=9dEd zGUDW3hX2e6u&;1zG&@H3!2Zqq(Tv2Ancez|BJ3-I&!SlxH}-ccBgrM1(bOrqPjgpm zXU9%*DeYeE!SgMTiHS9NWgOEPJMBMeKggl8*L8fepD`KBTrt2Zh|Vy;xERjCD-MkM zgxyfCASJ$#8Z|nCeQcU>1BWE<6afeEn2UgWBr1CF=6UpLjT3bJ1IXJ&=JIyQVv@s( zqv?*Q?JK;bJw!c{1qAQ=fw$T<)t)=jIl-IIzepz1x&S= zo~J*@Q}z^nQ#;CN$4l^_w}M+G;E1=z%$NU!a~}Z)PuP0p{@10R&4qksXnsi7Y~t7z zMCp5iv8Qd~Sv%1o%m1yXZ(g`v`!%#vMb!qNC zKwYZC81OOlZp-rv7BJ=#+dl;Qo2R~AZ#I^(m$H#PB+~1+pF|qsK1}MZGfQ0Ej!C)a zNrY2L`Aq56i8wlCozIakXr;h3q2JfpYjLfYfSb!>m%*cs?F>~3XMCJBJ$i6>V=(FQ zR&+99>bH4bE82bTlQrnA|QL(HyE}4vD6T zmWi%~(=C})prpOP)MeVhp=D+n`%iba2V>I5jIwEpy{BEHa_+V1n&8zRT@&3i=qm_aoO3hCN)dj zmqi5MhxZl)8uu2ES9*XTy6+NVMkAN9rz0Kvb+(?z#=kK5XXA_T@96Z@B$nis(&nYK zvxIg^7UP`CR{cf>sSG5O*qhOo$kKLOZ*ioy#MKtZ?~KOh&HDH@$R_CPI*WmU>PI#V z4N6Mx#eY!*JEOGY$4K-@vaw_=_0hlHD8TON9Q?`zQ^@P_x{THx0rPbBY3-9vYs8nD zvzB|5v)uYN!n{zwo~Ga8vqAEk;a}ft<2BygJygjjFT zFv&WK-y)i%wUH-}2O@pft;j(c+KTQ797Eo*^*e^S%sdT89a+)Y2kkxIHJJHwq`fq7 z+kWrSU!9*F4K4@|dDll5Aeejhg#JBv@0n-E@K$Y^QWuMF_u4YGb{)Gd)BecOZJAWQ z-VHXWqIk)1PVAK(`ml ziOx!zhnin{Vp5hMkaS%cOn( zJ#Smo^W6&3cb<9W+;R-xZ{T~+KB-)FF{cW^LCH=pd=@^4K3z5~pRU99+O=u;`N!Gw zuX|$OMP0#8wXdXx{ltj&d>sFnL)mXFt8w;Gla%k_k;*QKZD!8Qw0(>XWakrR-Ux4s zz-7sM(!=flDQE88=YAQE-#vCd^RS(@WgK)BHQ~E+wog-JL@#cLY+t^&9$zE{M1uNi zz0rQJ_If?}O!8|$ZH)ggr?_RKnIDNH{?!t_@m=PooY)ukUWVI7t)_orR&M36w z+ZoQ-MbWoLuFQ-yE74nLR_NUyvKYPEc5FZzBg>HB{M9I`UPQ{1LuwI#ZIeqos z`}->SeLs2k`|=K=&*RWXj``Pto^Sdq^K);a%)j36lo^0-DyGUw`}>yt3T=4B*M|5J z%HB@i?Y_Lb+_K^MjODcKX~0wP4!!nzS6zy8j5ck)K07+qk`r$)B$f=i8tr|#@V@h9 za0fb!Jq%??9&mguV2eVY5@J!7yYEG(z4sbF;hbbF(ftJNO8DA!9(`ahvr}sk)>ii3 z3bM5F+WS&^rZOyWh(bDpc5EKUH`xKoI^ZkoYxGfT3-O)Q5BkFH5P1*z@(w=&>|P-6 z3%~&*7Bmex zy+c+<&z7`hjA~>J`SZ|o?fnWr^;`Jqm7{$M2TvE-?}~i+g|Ghn<6M{_Gghv5VX1Zn zz)@#kC!JLubXYc=^}F}ojO+^9FSwL5mqa%!VzN~>l}(IalW+VIM}XfP^3L()?Og59 z25o&De80FnX7ts z8TC}#aF5yc8PC%0P%7QA{d*2hDb{U>Ir&cdx<&8!EuQ)a{n4CHnr-&8H1A5&&bun| zYW^2f&bWle-_fb4{u$ua3?E)?@Rg%{r3tmwp$|3Wt?}i(pS+?EqOaoZ|6Xx`He4s3 z94aGknJ;fCZD7oxHxBQkZtNo*+VX|}InXr$ID;RZyHCb1(2(BwlcWwW-)(L_)ggXT z!T5yfPbuH&Y^Q!ZIJs2oH)yM47bf{YxU2l-DV5SJlZ5)E0|<*I@_*!mCjBOJ~PIem*bgRqNjo>K9^{VZ15eKI~ZY3F%JWg z>6xG{!#VR&-#}|@8(7U-^(8`CnwNnv_9@I;yT9CfHnMtOL)kj-uDZl4nm>ru<_2?GbXlvZ_zgj zx-N13w$k2^-j54knTbV`nfDf&9@?jIIdl?qbZ~F`K7WL9d4aqy`11b!K4)BH+bCPJ zFH)ZB8qdA@f4f`vB=^3A_iHI*t*?v^QlGx@@(ADj{hd$#`M&(WqfX@)?NB|cTmAlI zz*JuPmw$B?GUkCuIy?RH|43fWXwD-K+ViG1-ja)Q)p4ymxu`2b*~ALYK+hT9yV~m_ zj0N9r4*#lSGcn|Yyw_PN?THLR2Pr@GD(jJWTSuL_l06=t#RpT~V9FhA>%Nvz?v6^Q z+&cD`Rc!%Shnlz0ZeHg1iY|-WFgK zp{!Z7c^16t#x28is}do2%)cbS4w%o7NEHNtdE)*#=Jg=X-=UMSN|_J~{AwKXf8ESlZjy z54w1zvD5epm+oYI{kXNnj&eyZ$I{k~lszKhoV~#w>t)SbjdvY+H22jf zY~8eO$|cF`jZN4$-mN$GKi<+u4W^E%d?!5WZ@kC*%5-q3cf7@4y)o68myx&32ZvR_ z%zK|d=KCt}^;XggvvA&+@A)xf9`8HmgZyJ2^TvFpJ?7evg1*~hzJ#&XmAlLzsAF*qVV&~lOV0?7U zA$nz|xF+4v%3K>uU$p*`{rg|P{dyPkG}BUSvcvdpSPlE$lxLzXxwn139N)d-E7NTL zR|7r=ur0+GI5NM%=XGP|N!mOsEE??OiBrGw6!hd-miaw->U`xy^U9I0pjPt8XRY|1 z%7VUy#9O@jpl{T-H1kdJA=h;7zpQ_l6woihMKHMncvKt%JT?yMg~xY}0FU1+I66GO zcnt8k=P2;d7|zRsM^PR;9QZHIe1v?`w`mNknZGrYo%kg$;J;b)@PQ}v-ocYA8(#0j zkG7C!i_gdNZ+|i{-B?N9mA<@Juj(r&V54fw>Yw>MvU(I5Gp=#Owl$4?J@4|@<>JFS z8yQRp59OCbvP~>|J?V$Uv*YRP$CW0uPD&$NT$|-wO30R%)99H~`p(vsgbZynzP3F; zKPa!WI3`^9A?>hbJ=>o1dyfXXs(4q39%P?cY@Wq;$Fn})9VgN+$yVPWpKMqpi^`|K zL*#qNm#>*RWJ7Q|Wj(SMpLmq@J#-c;N#CrV(t&}~$ER6?J&ykDBa}IpvVyT?8OeOA zOZ|X$+5K2f`y}_F^XR;WdMA)~5Z{!MmeAG`Ut9Ow>-6ak_Z#&~_+-<3=9}zww7$NJ z@8`eKVC?-#;IHS7?77U9J)QlnVqhY9O>@=Hhj!p!WQWf$=j0>cQ@;P|$7rME&amV^ z=D%pP@LGMIOTpStvE zd>EOUccLw<14H9!>v&&VPoS+@PrMBn9Qsd#d1ej%4oR=!`w65k-Cu9^{JX*YhUZ&I zmvX(Y7e5HFNrSBjE$d^8#~@)k-s^MDcKeOo$!t_&aqC7x8!0GWF*&)ssuZ#8R6$_ zU+zsO6?Mf7{Y|7h^sQicw7q|=$4Y=t5wP@RYIszo`lr2Z2M=`SNA{bV+mg$nH~bbZ zXni*>qUW~09p5>2ObB#74fg!kIuIIBDZeuQ^0a<7*h{D^=^a#-)wPGyY!+R}lk-^lH5)E#SU{^g7Z>uQ!-KujGu?fd=#F zz4c}-=`GwRNH6EUn)ILdfOoGon0dD^Ff+Iwx^013&2=jIf;|8A3jBinv%!r0dxIIx z_5F9vH)q|&eE(a6+0{~S+W*>MKK$i+Q%hRFeF^Em^n5>UUQU}xKTI99lre&`Do9r@ zSYYOHJ$~x~vytl@o`?SduBX8DR~yU(u4=B|^Znz0X)w)Ssy8XpbGQ$ae!rQyU^SRT z;Ue=O@JRuWPt*U;@!Qkg>ioQXBVYU{$FH8oz98=Cn_YTV8DR|?@vTAM(I)!czum$i z)?|l#YqIaGl#T$qbnr)W@ccp(YC{gcaQACn+f(auZBgOR_1T(~e9pN#%a~vHcBlLx zgM$O>EFIo-zm20FK8d#p*Xmd|N*5WROg*bDkS-2imee(iw$Adk_1`~!tqa+*kA89z zc_#Vte4hTy@~utA@_wxE{VSB=z0a3Z4S9_(?@g2yqpb8E_AP)E@#q558bTsL1(g&5P~pLwx+9KN5=ZGN%)?OWG%SK|{}x`4qdgK=wPJ=Nx0Pu9CKRBPLNh;vIk!$sdN=$dzuL4HcMKhBw2Qz<{^ zV=T+{>m2Ref0c);udp6^#kU@s-cO%*kY|T4&-1j;>x=rjh4)*0?g{)Adeojs0Dmxw`^L{q|sPV<- zv2~+gW%ZD(yi+t7<`1HP_@&fv>2>sMbT|zfOCGHW^{v)~vlxpnuQ}Ut@VVL=O6*SIYpR(TnT+$Hw?Tu8 zd-MN{GCe%V$LSZy`+_g;WXhI&aqiZTb?%xH>${yHVu}p2gy*+ChmSzU`J_tXQg+6z zlRBU4-m$Tu>wgu?5_%!HXx$(3WEPdRqwEdGiKpR;$2p?bkCx%E4_J;H^z9=>=|SEirCCLZ?kWm zcQ)gJ@9fS&&~(%Ms8s?@H=BNJeF<0;L*wh7X|?X8-`@?D*?#lYpDE9@+BEMb%2N!c z4ZiY5QQk-M_;Ve3>U??bUeSx|!jT%@*ZAHCkANd(+nFzBS?p z^7^%a_X~XQpQnt0=J*Wq&hX`}^YtqMPLH5p>cca@%P*@xE%@~#tGDHiL6Gu;zVd7G z+WHD>xmSE^xd)EW*6rlo?#p|!+8P%>c6@=h^1jvgK1ErgBhYc=&ZQ2>B=S!3<^9{;4!)fAtV1Vt}Kw+gy8yEqetmWWnLkC7zCQ4;=`B<4||vf3(uUa%Wy4F_Ms;LQkdW+>w` zjJZ9OIo-niRg4LHt~9qkFSrP&wy>_<;)`uDg?2;h`^d6u$+Om%=V{vO;f&@=Bkvo1 z@85ldzQ@TM_vQV8`tFXC+Ed5-I^X*<`)N-#d8&PRzMj{fa^9Ew-j6y$d-ik2d%t^j zTs-nFcPzI3!WoMs@t~8N&askPtF6-+i!J?(g{g#2S5*Q3a~KQaT2~Q&iuvpxiw7B7 z!F)XH+x%Dz>znFLV^@QjzO3HNBK;ZZL!Aw#VJSXsNEdTIm-IsJCy@>#eRUtYj7D@B zq)#ouUYqo@+%F_OiF-r(yTzz1dE> ziu<*sS93p}G{k+FbTIe(I~vT7{s%vpq-XJc8Q*`1`#Icyn0&RQBe<_19m)NHcKW)I zzLNfc=c`F?;(i|KzewBv)L4=$w{V{z{RHAJ9doRqEmvkO`5%x)T43EQf3(~#Hj?AxH@Sbh^YqH1Zic=aS73i=?w{>MH~gpH@{yUIxAqeXUX@+TtS7jK|f z^smcJ0$m$@kzJMi(I_73?lihX&MCbRm!E^X+T}yrJFkFji?0#wv*YJJd^cOX(?&9{ zIbW~3rez27yCkCDobQXQ;QjQG$Y!>kn$BQts%9@e!5J>>;N*XfMK}6g`}}i<igDY@;&LU8SveFRj_iaH5$EUu=!zY?pDX=XaHG% z4&??mC2bzD99py7M{EA_*lS(-roT0#d{4~v<-Iw@9uT-P1Q>*GVU5@vvL0z4)>Vz) zT*=O+YF+oav{SL#FQ(p0h`nydwt^pMUn=U>BYIs<+2y{npQ9b#dyRpobAdmGCSW^Q z+C0uGN^sVW@yqv}bP4V9-cN`>iVo1R*HAr=Gp8Q+okjV9uO8ure~)@Kc~|@LzMXP) zM&={WICMBj--__5tuyhCthBOw2)H0#=$DxS@IFJI3*djH(C~aey|4az{QHbaT#WH2 zSJ}mPeGc9Dt_E}QXX{NJX)*V&{Gq{Y`b@oPC0)<+M$+lr&m#3~wmpAy^1Ey6y?~F# zv6_Bqz4oPd9qyBLSEKmmPJ6shBA@)P6p{DR%X;GrGr7<+fk$yKZt#+Jo8MEO-w*2@ z+>7?~=TG+wyi>W@adkYl#QFVs(qr+%YF;?@K2Gnak6#<0k7dWu$IJ8jc-ay9c(JdK z4Q?N!$Jocwzo(C`p9qsocgzFtbe5nb`Y2=L`F(AIp3M-><1?@+6O1#yQJp<>Y=VwP zs|0`T;fhvG8zovbqeFIhqG7VzUEY=K(}u+VaT{v#+wlG;_7$`TJ4JOGcqk>rLlGX9+qS*_loh4_F3ndG-a5 zl_O6;<4s)qqAj^)=moL6WoXB~nXgi}=f7iW!io7C zV86^H)CbBW9YlTd?IijerB2SmV`tGwx!69KpY8R&{|xUA>})XGxfcAU!5C6Q>d|(c z52>}sOnS2&xex5W;~xPN*1kX}=02C7YVTahX!ltO<%$P*zHZ0;iSr@QabSk8Ti`?A zhXMn^QhhH=052}t+RUYYL$Q|$gA1P`kKkAqZp++`fEayraW1f9{u_-$f-?y_~dSd~iRz46H{Rf|!zw(j7zIsS7an2@8x9uCso+|1} zjX__SWX!=y!9(=^nr%hI&%)-DIa5fUh5h82LY{K+AUAa$e6px(Mn8EblP63b&HtTG z6oPBmcBM6MbT*xNz$F`#kZYr4+oYvLH*7l$doC}fUBbWbjug#cZh({eR`zF%b?45Q z6L-PH8ky5eGC@+6D_oMSUmU^L5#xHNSz^y;eXBWb&u89ChEw@PHPi#mJFEI%J#)JV znEB^+z@6LQqAg)}{)^wrw#S?QL+w0GnXi(^lk-KZ83Xp8dUe$|e&7%>c!YP@8q%f$ z=7i3Pc;D2XFyCzWWrKYk8a3ZUxIb7v-;CqgzUTYSeT}ox-Z=d-3Fa$vnspjyly9?r zxN8ko2~8Me2mQ#DMerAe56o{pU)oic5H7^Bv^l^T$?}g!U0$2- z^tGA&6sOH?PMgtX?YmuVhW6NPj-&wv#>r4&hO8Iv*I>9;@0;f`RDah-|4>k zc9LhRufC|SKGw2_)pvegeVn82ynp0;^LehnjhJtK&2=}|ZCoDx95vfH&({26um4B! zv;C7!Xj74^bMZfics(Hb(u*JS@C^

ch$Ja?nemgw6`5xYRw4PXn4o!g0m&ICa89Nwj$%UW`gS7V#y)R^6 zu0Z|520*c7o&i@uQM3E(VbPyHR&Tz+^;UVn9d194!~?qS=RaQ(AvzWF}a3NCNXt(@iXfYROnJrDTx1$}wI-~M4=*-*S{Iu%^Q(q5dLn1vuYBo^-QVNvJNp~$qyEIodBNrpwZvfWUDv$whh$HA`Rkf*s9gAgSFXxX+2RSC zDSJO<4YbBdQSO`J4TZ#i5N{|V6>kWViZ@idv{|t7Y)$@W)}gK-^eJ2!wj>vP^M8B! z1E4dvl+HJ+pX#4Sh#!eZC>4(&g+>!^)UG?_)~$We{`t~}sJlRQ6HCD34XV>BnQul@ zr$-C(`NJ*HP+R7Qrk+mSl7}S=OIQ2e4>`MdZ_~hW9@y??sJv7iK zyWhwBzEbpCv|M}2(C~a2S7%(sr{u3myh{7H$i!=Ucofg|j5XXE@uz_Jmir7Ix!B`P z^3NS|`=YpIZQ@O|#gpla8LQ8EeThrfR=j8vTI=Ia_xSq5m^l22b%E9*20erHL4Tu9 zCN3S-i#e46f5csn_|moXQSA$l{DtcG^@lY}FVA(`zJq6q|Em6|f6v;!U(#8R$36JN zdh;c&YYOI@^SEk|IplZV*5|Rtfq!=tM4dI%teZ@ia20(L>t*NJH9V7S5%xX1if8h% zto^kMi|3njxK88p=Jb27b7<@LclD*M(E;S^sqS;Xd|lx_`@;EsY3o;Z9Zp-z2B58f z945U&U)maiw%&a5psX!tqdWS1`K7j;9Yg;9l&de2OfG%VU})@c`Z5rWy&Br$(b(Pp z`_^gfbF_0H8asjhdo=bv{Qdzr^6Z0)O%YK zzVyawe$QvWcP**jdvgDM!_wKG{~_2VUB`>yxAf%WsWS!)gV2Ntf)B9N-ucvmC42C( zp7||x%_4n2?|#kijr^X$?_cseFt5?})3;z|slBhJeVtz+?}>&aumRZj>t38%>f)5w z7PaAVw+$nY(gyY2Ys167HhkCDhU{pvgZ;a+iP`ljK@ECW*?B4U@eOLcNk1iXzeW8Q@UG&?4LB z@mO$Zf?JN(iaHCXGd_w-!I~S>5!uD0?6t7Y49WkIa|X!vb7#NT*#@nZ^}gmfmgSuj zKH3~`Y;dO8{>K#GNV@6@VDS4P&Y8>vdx7I;4(l|&IfPO(63{GmHbB^ zOFqXJ=F#WxxY&}6{4$|)s5HLu)VUmQJhkVy!Rw1`oLoK5pXL9r?umW#UkG-3w8q=x zw9kG)Th&(Cex$I$OZjZ@#{a9>6EVI`*KiWnZ&#pJeeuv+8BxhkQ{Knx!wZ9|MkX{)BI(pLTFaabM)8XsL^1 ztL*bJ-g~Vhq(>4D6mQfXs((+#gRT0t9l2idVZC+Ef4)C(zc!F}gD>xbyndeQWqX?VD`Jh}*?pk@j{R{8HZzAqOAwt>J!lgucB%-WPm%ClAoKU+jFX z>vYDf!tUEl)>U5L?)8n^5_jANp8Fnc@X!7J#*KN1PyNPRgiB*OmQ;LNdjsOt56r-( z^3eu!?KRjflKz6U^^pei#p&4jkp6{q=MS-eoQC})skaBH^KP2I5qPM|);e)4x>3=L zv0>sT#sxuK4K!%1!*2 z>_PHyCHLfds?bza$ zq=@xq$9uaTzXY5Mg3go}{7Qz);af>~g5d4!nMm#_WL?s{`wiQ7-s8|=@iEo;0otbD z+NXcfwTV;SJIHItoS^KI=$(}3_+M4Ih4fKpWJOoKGq7r_;yI|j>_70{*`p~VgE`^-^=35bA4%I<8_bud;!lBeKG#S1{T`nC>1-f{ z9FdkRF|Fe})L|0$J8^g7_uFxI41Rq}B8qE$S$i;YarvKeY<8bHV@Ek#r(ytAS77YvAfW<2C;wEeq;%$VkgMn#`sNy!k3g{ksIU-IRsTUrOEbFx#|?320nU~3zpt>saC zHpEmWKCWrM=vhg)H5ZJ8p+!2wz}^D;yXsF_>|SC7<9mp*WOM4#s;SgFhi7wq&z_}x z<#*4-_mnF?ZYoprUvo%$QsI|qi0YQi?LGg(74;_m5WWiPI0r&n$o;+t8_e^UBWIC% z^M1MHt2F0ceXz;*d3n0psB^-=uE6f614peP#^OV8tj}lSI@*2%d0*TS>@54~aQn1ayo zr#bIC7T+nyQonpS9ZSAR$C$4!z9u&{37tiz#b7>Eo47Jlmug|ouFB~QMxDJ*T9unh zS`uBAi$%p}g@3)VAGDV+-|dfV(O3K*_9ve=iI1v14sCY$o$T0TN0g7N;7_N=zl6K` zPIRa&z7$$@ZO2de9ilH=?eo`bkd=uY#l7-YgJa^i6@gUlt1rLNb@|7clkl9PA<2y3 zba2Ig@Nqgg*N|XM%Y6)gaIe4cA9Rr?`AeJ1yGNpJ&>d&)i0%Z* z6ZH9%nEE}@o&M)mJ3jo{ef|TVUaa-`{kCsBd@N?xJcJ*xC^7nHt(H{x7@0hgQ9g-!MB4o(*F?9}Qe9xFTFy_s^vrf+zX# zjUm4o>vHmA_zFH8{4iClq00~;B*9h2%J!wh zc#WeULDycin%_T50-HbXh*eujA#B|gxw zWai0J*@FOnE54w)7t20>Ya=XhRW8{iyCLMLB=AZyN77B1TGC1B!8{iYbmWX1@C6}y zQ5jjpUWVz6x%Zsk$WTyct$RP3d(F)uUxfFkmf7^kqeYTSCq?lA!zKSy>u96q3N(N@ z-#b_2N5Vf>Ch<;lB}~6O*#|kLGT(>9IpD585A6#1&xo~BZmZ81!-fX=4;QRcHZ2mK ze(piwA9ZMvd`yY<1>?>+iaLHj%~^`4W5Vz2vZ9%^W1`?KS|l8tOP@qrHBZFbmN6f| zr_QNK=rEV;xrL(|i&(lPcP99}gjgsJ?E{~|H{mlhJ5xeiRi^S6*El%+rF+5Y$d#EH zKAbjD&VS4)KPpaqkhTfu9h>jIc<;xr+sM}+4to9_HI7rrGifupL_e?D^dB3~qPD#5 z;7jZT{F2~5(UT9ieMe^mCC?u&dsUOS+L!kt#$^I|)$hq4vn0SPB;gMWgK# zNXy}~!W($>M77B~AA1IE6W$B2%Hf4kQqeE%yNv{%KR^4mu92oO!&$k`K%x=+y-u>N zU54Zg!Mt2$#B}~O*)IG}&19a$I8%d7`=l6cAm0SiU_|`JiP5I9`#xo}R9E=x*}#HxGKtxij-k@{}gi9lxn}Xze-pq#1lNXP#*9 zyKZ-A?Rg&(t-Uul=cCML@Ly-A<)^P8wKO9ixv>;JtDsd=@#~=ZQs&as3GRJ}d*RQP zg`!t|X=-)U=7G5y(h>uWp*^Ch&YLlvPa^lsp8f7^2bi{?DXxU{QjYV<&ReK zw)*l;0~h_Y6x_;;-2}afI<&MJywTkCWChLNpUMAiTC{YgJ&%S=;d2{@oRI7;xR zAHp%sqa`VamQISpL%95MK{VBp`^~u5x|&_tK>5Kvo0h_VI!b7(${bWf*~kX(UMYX1 zEt#c0|F*(Y>3%*8j`cV09{p1rL$vM4IJPu%DtV41V~B4Y7<4o|Y|Q+HJf7U3HMn1H z0I{};-%7U1k#A~L>$o=`QxhK5tBcE9i+ehV53>fZWz9W;wRZ*S%F`B@1zd%fvL^o) zJ`^s&hXQFiR|VJDF$>K1c((GJ=;l;eOaW zH{Y%%w6Hc6e>z4+sj>E3Eo%E zfaZkk{@&Hz`k;JTA1+TYAMCZZ*3Q*QXi|7}F2Fi`KR8_!Nw&wd=Z5ZZY`DQ`OJs8U zlhTD27r^JQ?dTxB=l(J4b2^_C9c{YyCs*cP<=YbcVBAKV11Z*m39fWHTO4m{S1blk zM%I3VXv-G#_@d*>XruR@cJ+}(wcnt;E8V;S+FEQ@?+v7hg`7_2_QzM|>=@A+Q&$F` z=YAvK4l4gvyL{(;e))B7UhO|9@5^_n{8f9yss77$Y{}N|9qs0yb%e6D$E&s#`*ii| z_F5*8x|2_k<%kQf@p^7_Syp5A?C7c4ani+`XuC6COgk<)I#P_WN7L5c51n{ty}9c` ze3pKcGY_j9Oc(d9q+cD6KOE98aUUbSi2DfXdECExAGG8h1-CM6S8?Z$15MT-9KvUw|(Q(zOru`l*o}hiIr|W`hme2J>6H9}((n_2KX#@aqt` zss5`^KeGGOKMub@-WPm%C#X-*LD@WrSAUVdIWou5b?tL}ZD^w0CSSShXoL4YANOR3 zJ;#^#ZL~rA(vnj@@@%jx;VU;vUfJ+^eOpGk-uwJ=HP3YJ+shlETqg z+f;m-GQIctW#;b%yuun>d(zV=bG2Kh{DY)@<=Z&v!?D?v@4e42KOY}=QohO+ESCIH zdxXyK+K6LcC0`EX-Din)Z`e2`zVHk1r}bWJCe8<+NH6EUn)F~zJw;$c!SkIfv7z98 zBk5PTPm*56{S4Cga33MH&SM_l(_jqs)kRk1Mo^!hr_TZBZJc!JXC3pY&ezvdk1*~! zuQt|~_kQ~7je89?Oea1Y?7W)xjHmtr+EGI4=XZ+#oYtO13SS1$0Iwb5V|MJZ^Lpct zd30b&DLy-WzKnLWC$XD+yWM>WFW;le7rirA>*hr_Rrxr1ANTEF?EAKS!pT3<;p^?y zskatSPiu1d zoR^OMo;$R!d~H_i7VV+!q>Vd$ZQM+M(ED~8L%r0k@9ce4zA2)ug9GesGT!R1_H)+q z{aWAmXVb^cW|zHoZ8{H~r+E%s;Jh6)_{vY0!l&=cjivtqlgM6MpuV4k9{8l(4D`*j z&)20BDgSy+?RX^C))9$2=Pq~hey1kM+pNCTUWRn; z)xc4471cKJhl}riojK80=Y9j@G>a?FB^}0>Xa{*DlV{@aG{H|X4E^xCf#=S8*O?QV zGaJdX(T5`^0mE?v%$Y{=Hv0133mhZlReT?<&2RoDZHPN--5VH#dDQ2{dYQ{_8>UHT zt()Lp@SK}&apCFM7+g<3=F$(ra~`SS$ryHquLfVqE11rUN;lq^nM;}=j~}KZfoYRq ziX5TuiLYa?f3?4~16&bIJw4**Q>=gES7w@7|H`Mxuo^eMOS&bu{=?;6bA9^d1pNs_ z{PA6yGgCD7?6O2(Je~L9dhv7Za(eS< z|I6Pd?MIwJ9_igh12hjrYY(?Y*BZ@+n}G&&bp}DK07P^YsYznKJ?Phw-)Cylo0K4{LK%7{%KtjpjY29&kr;ZUy-&eDJvxSV|962retmo~;vNjEaE!tI)AmeRS-{=(zm!X+i*- z^JAb-$hCcRM@#8bf3#^2bLnWbY4X^CX_M%MN1NVm9XKLw3Ip3Yv_o`B^hvZyaW1qU zs2GiYSoTMsYROaUgX7=7H86dOkT>GX`$^#Fr%#i=(U(3chKom^M63MtN%X3RMnT*B zG{1)a{JiUJ!1wG5mb!n93NsmrleV0S0z66~@@7znLqAj`4 zeCTL&sxcE09sqL(=LV)zgL zf9{@vq^vcn>#xks1C(1DYO?J3R|C+5ugT{m{-a0W193C$bnq8?fefN@JRF{%hr=E{ z7*9Q-CpY-;u~xVX4LG0rC0mu!)^Ge zrP9#Ug8Os8DmUvix9rr-GZyiiLPlqMdSS-=g9JDSH4V;VoYq> zm7opq+FEE=alEf=^)#~8(@94TIFf92EpYFTepOsOF#XcL%%DiRW4JfR7~g!^YPUPb zBwKZTS^oMITN9o^d;N0Ng+1fmmu{u=@Pr&=E_=DCYnk(Wv zD}fX80`f!5UVllp7yc}$8|K6;WNo5#SZz%0nwdR|-_kD^MVU{oj#vK3YFX2;w$0X& zM!BkZwvD>B`R4vtpF)Ya!EM_r$!wBq)eqUl>Ah^P zB&X%uUWrcn%TinIc%TWVJ@6*mZbRz~wOh8M0ez!-)o#`ulG9#V^9K8}{~vYl11D8o z{r}%tX8*7(GU%c!ZaV5}o2@z7mZ+4Yq7tk+=nAV*jzvmoHZ2tB$6|Kbg$3DM6BSW% zN-94^Mad^gsjv{K=p!1H`LEp>CSXU6$^;eR_k6wYy}R!nc9+!;eLmmcJ|6dRXYW1t z{pY;TIq!4M`@GNFl^y6Qed3heGsx>R$5Fp<;I_9l%f5cvGw_}h`fA?WdrlNP8T&K) z&AC>7t=XyO-oSMWzh~h`XyAVG`|yWwcffDySeZEJ-NKO z%0|p}UM-#L%;)*cj%MeqnpsYid+N4k$Cv9Go5P@4&QL8R{(hM9<3KBBo;ZxVvDL$q z)7zjy@q%Rktjos+*d5FW(ihCr-9lAlyt&@depJ>RQeBtF7<< z!1wC+oBx5|FUI;R{&<&97vSR%-S^!ihyTBOCF3YOXzqW6akJEqKto>LQeOuvWDkf&w6c`dKkF^zhjMu;9?7>Q zCm7n9oc>b9o4Hs5zm1W{(}hieg*f$y3<~NE;w+mV2^_Jz8IWI zZX(~ndwm8ORXUOOO|;s#b>;3HWp_(vOKuAOpTxD2Z?XFWj7LQ~XW3Pg`+7;UW1V|G zwuEv@ta2`*pHF_;p9-HUpqpfGoDj>e2fqRVaG=7DYSrkrn-4~Wky3qK`RAvJ-D1TXPWOBM3np3^v z>n|Rirw1P)*CyS;tY_kIKY2wXQH59>U=O*&;^+>NEt9Pa=+> zjkUWf&U576`DJ%3rYGcQ(^#PYQl>o?XEGLT8Vhi&`f8%Rezuj;Eg1{V5gL#CZ^eHZ zo1C6pHoV8rCVAqd+Ov;eRX(Wxs6Hm>TMgsm`^I!emi%75KDL&0D=@NgeHh;l=f|ta zH}(nPi20`%rmz1@@lIC&Gt(+3;nn4rBi~w`>XM#>{-iZ<$#CU2GVv+=uY5;Z>kWL= zwbcY8ov)*Yxe^^gvQzWqjW=jsbM-BFqja{3NuSIoMoa3l6)s`OK zk1?NeCAdmxpJ-crZ+M;l$lp?t7t?Nd9e=t{yGDN^PJNFRr+)VX1Jm|aV7FSZqw{DR ze@}W_3cDuZ+9Eg5UfIXRNuRDqWH-f=otvVf>#4+&jxce0!qEbF-sjz|Z+WsL=E@S~ z*~Qn@9V?jYWT4qi3!9zmIE$q2V{Uw+)*6&|w}HE4NTGu-h4MLEfib>w z$ybM1c=@E%2Jv+DcizI+KRJDg6`v>>tvK8*R}LPBtN#24{pgRUeLjyT7oO(L%`{Sz}ChnV@$;2sXuZTZ~ z+I+PMm`&C>f{%T3V7^)j>`Dvv>^Xhs4E5=-{`ktc8zKZ+#|EFd~E*|l+cuP1DElSpit{L*>!ldC#94Z9YnA ztOw5#F+i0nG~ts=x9l52hyaK3y!41Uv`@^k3!6O7g8 zk0U;!x!F14SkC0){+@5la*n&molECnQ%ye!oj%sy<1^LVu;jDynX2!x%#FY(9^Lnu z{wMEzpXqhHlU-WNnDzKgnQ!GYowIg$?qo0j;7EL@%0KuqY_>mqa(C`2FaGIQ&}W2o zpmNHWPOW*q0D4iq>v;DYU}aZ462Vqre?7rb(Zr3u6gewW;EICoL*kkac;eQ?YFH0`&nJeW-l@GvQqs~yacpTYf)_|&^ zTj?a*Oni5*?DT!9w(Q&h%m(YMzs7G2EIU)crYzW(*#Bc}d{5toztg|?df#;*$!mWd zsAruzCE0mJM*34ZazgV$t0yN`(--MhnuBlP-in-%AMj(~I|`l;1K;J`|HggmSBT*m zOAHV96ZyY{`y)rQhyTm?e9m*_$qnFYp!Mvl-{r|zct&;k>)A7-?dkPiJhx;Dvct&P z4Q=S!%*%`L=Z@l=o;7Xi=$Dmj@ zHv==CI!9;r8T&wVE*jstVjpq5uHCndclA+~Q}5-RFTR0q6niTE z(|q<+O7U|2`xPewtJqT?b}}?L9axRi1CIrXB@%uQO@AU=ShKnHXD<9OvGV#IYraV=F^WbHC;DoFBs#dUcNTD)m3zFv~ffd=`-# zo1LRZ%yRaAj&lo#b8aE`UF6UTt?rF0%|AEnH0B!Fs9&x;@Z7M?pXog}Oz~Ti@3Vko z-tQ94NeBLw1)~@R6U!Hu{un~{aL*9?Jl{+wF3z1F?%#f+%7Fg*J45WVyi?iI4ZizX z_xDWhLpeii-StE7@43{|86)0`z8F1(IyCzb@*HUW5vg^mplE}$Jv)B9~*5}+vGQsuU31woVaVdmxNaIoJ*qI za%ZCNRGvWm26m`;R<`>5nTn5->`55EV+D45IXYD(b)SIjFS@|hF?24;GspYiwi`Qt zHs1)$9ffMobL8)34(j&HK&~18f4S%X z=RLZXyN68vf7zxL^nJRi$MgSxhBhGAReoh?g7;?nZBaWCB1qIp>N@J z5p{_Uv{p7U;@T?}KPA63@=`g>REGBa=4iL@AEaEZzq6Lov;Mx#ymRpi?PNHAv-{K^ z6AQj*mh)EIEawXDcXA)j{rlV}wj(>a>=;<($DZls<LDtXnLkkIvXQ-^Q(Pzr(j$Tln1< z_p|mbJ*{^g6?>=0&n#IgehDz{zw}^}jFo(hQTpQdqlEHHtny3gN0c)49vd9m>|KM| zhHbmevTa*v%Q(Syq%w6K=r>&23z&>`WLx;IQ2XlR3)AusF%J`e>FVyjZ|M5h-5j+= z=wQ^|($Xm(M{&o7?LN*m&udS2%xd4CzCQ4n z)Bsy!!A|kU#P|iheL1(Vt`rO{GxFtqlpkX5f4TV0+NoQ`|~pR$oY46bB5 zVaJgAtv>SuY^Ks=sw;i#{V&%QtTp(I9lqR@HJ7qVN8J7LrV(z=a(MMO&N07u}q;C39i74P}DEf;QMl9l+L z!R_zPcV(5%R~Ywh&US}CvFD9^Jo~!goE_!LxW{>4iR~^uP_*5^JJG@~cpmX&T#YZ| zVjYD)g|F1l2m9$~{J?%rvinKSv3~nm?e(+D>SqnVx6;q5yna5rr?;O^(oeOewV$>y zF8Mg`(-z{z`)x~w*OqdtEtUL!m9{XC^}+eWR$Kl?TM{15=YzY=*shUiFV02FFI?M; z_nU!{ZS3Ry4c_^->nz^Y6)ew=TQA#nIWa%WmA`t&uh$IEZ7Fs0<{vipn3pf2-#Pr3ur^T)rMeC8+vi^721Ir zZT=?I_uUUK-Anu7{q1P>X}$OImx`R$PS(y%+(1$4@$KY)NSDRnPvC>m z_UyK+_Vv5p)?VYNgEqFF$b5n9K7%!O@t@{L@!-ekpK^oAPbM7&pFpYj5kA8=J%W6L zT+q%k>|^01NE^kQzYuToz4DBm5rGzYK7n~svgykob8{LzR`h1Bbi~q^iz2D6^&@`v zim?xAcj%PRE4xl71^_y(ySx_{)w~lfsytlOc(_<);i8&n>@`5QCI%CHjOP3`)%i{E zpx8R!{;c7BAl!GYrxZMNqM!ALhokfGaMJ*IScx8K_U4%Ux& z_!Z&ci4W`}_blte&dn2aUQqpIy|}3Ga8d5zLTitri_ciNkPf513lHo+=|dNv03X`F z?&CxL%6xom+#SqqLyzkZAAk6CU%H^3{nEvQ=!!Nz&g=&tKgY+VcJ8K4(#_Ad@R3g! zCE&#OBcM~1`s;DNUtaUL=9#-`do?_DQ6OL`TM;5{LvFEovfPithRg*-?~q+{MvVX zpiUN)onXNp_XWlBYoE9DHaADN?3GLZ`}JH9nT4)lV#i9LX`Q1b9YVQjRkm~}?PpzQ z?HgM_-TwQ0eNg*Zmszk5b(w(ZH4Ma2j2Y+t|ja`u;F&wqa1 z8;wrg$D5t8uQxhj?m6yTrnCQbPouMvyT7MZbU(ww^90&I!D|0x`Z{9(Jcoe|TdE{3L(byaLDU+btuH zNVGagFh}W~ zbWQS_?r&c*4|N9q}C!~K%)8mPCy z%GYz5o0~2pe$kkW4>cX${#wxFO1tM%y<>G3zw^iHdqW(n&w@jZ)%pR(Y7^tI!5gbh z{fyPS*bgHb`l8jI#(vuKz!2MWq1T=@1GHxy?OE%!XI($-DfZek#cIzb{j}%aA-3lP zuRWUwXwO#Kv&C!A)_&Tfy#d0{saAVV>8Cw+46!}?Jl=X{fcA9Kp69*xboSGp=e+g| zx7t(GPkU}1VtbzT+Outd_UQbQ9bS80>Zd)At3AlkUF|>HF)8ZuQVd?HM<>na(}!uN z&!?KJYtcJ>KHaK5czhb=T|S@Ac*rgLOx}r4$H8y!^XhBh*-Pkt`Ssmv)psc{o6+z5 z`qoiC%r@diBw!?!&$M;yi2Vr@nbseba!MVbyn^RiE&a-@h8KzK?qK(WdU# z&T;!ZlV|ch=J)SYR()3kvzIyB?_biYPx#5NFXYuX#jB4tbwBIXm*CkNbjSSqF0$&= zx~Fn<`1Q@O>JxtQ>wERbZeOnS>Z48l%Gu}k^_8=K+Sgak{(fKo-~B!ByO;C6+d05@ z#k9xX3pp%LuJ0e`bw^Mm&|g0$9?lv#F751 z(Rt}g;z++vOwS79^SEx|s^u!@+I-(EXBAf+R}Gi%bJRKO(iI$s^QjZ)1}S$wB=@t? z3y29EJF$THJcoHXw1xW=GjB`Zs)dG~@cL|o_r6bZ&s1{Hp%<9^(Z~($LGbg2eAJ^M zoq^|kO=aGl9p0h&9-ZB*uYvmXy=)x$>}CH1oR8xB-ev0E3r>d1#}|{2&+O|kJ`wrt zd_PpIC>Qecl)6qxbr;HI#K`t!ST^!rE z{n{^)yVJ-W{HAeY%lR&tP)-nZ48A=BU#Bm#bcVWeSpZMI(EGQKgGUO&_iry&xqPQS z;twwkF(3QqZx?Z%itr;JwM%EpGn&NSWB;;ri(A9>Tj zi$4~B{fNtR4=@&U!}n*)ljw%D)A$F#$K{_KPOczVzgZ4U1G=cu9nsMeyz}Mp9lRr^ z8oi15Y4l59cdGpnIt<^a-z6Q`pnMnTNCg%``z;@t?}TO7T-NNIvaiwEw7=1Lkn6m? zjm`v~)pE5=9r}7!`i5^P<^$(2Zn6)we)oF|W}x+~d3&1*eCHVU%p6`4ZXFXxmz<6~ls!DdlYRIH z`pCRtc`~mA|ANXH1)ROlY=oId2Ht08%3+ly4R7Y;!;lP)^Sc&1`yTF3vZkZ; z#!B*q`}Y4x_*`?&L-e`aYs0URg?1ZQ*I+IixD7w^-rH?hi+r@@z(nCVMeJ^rJ2-6M zj02s2K*6Q=EhJydb<)Ld>(u$c-Xl|3g_x;QIKQl{nh+rhMzJG)A zQQo<{Bc8o3TYW5L`|tDpHD$n-S+Gl~W4y|u z4rs^J^GoVcPWQRg`M^hrQRKIBy9b`$@BSXmeyiwX*#ys4Hosw>>H8G$$2Ph!9sF*8 z;&tr`4 z@pAoC6S3hZS~mRicgs)J|N3hcuvHf9RQf%WGTVR;#hZ*zL%0kA7qsA>piIH2&U{>U zvPRNr<+44OGLyh+E(?WSzt@CITpSquB0D4W=Yto!&&Kilg`C@G;pi9-NBW(%epkiT zXCLwYS2=oryZ$%rzdbvF_qARdMG9JJs*&7$&+cnSacJay>HpCt? z>bvnw_qUH1 z^=aYLE{*8-kG8nKll2jXu3PyYR$Ty2tb2jG1mh%Qkw?|4U;>TMrmJo@rfA;};Ig&T;ql4nBtUqQif~ z7}lFHtiq1cym!adi_PiPwv`YnYc{ulxaDyym23#8E%Z?|ZoWx|zx?g^m@ECD|+< zQ2bBYTJ!mfdFRIeASW`M_u2i>jz(wMqGaW%m=~63fhUoW&)f+tPw} z0=I8>b~SZ|_#n&*c1fV`ee3@H`=94sHTs%AN3JHuWwjOKa>QMVhjHHn3hzjdG58z1 z1lT1OY&)@kVPO4rq<;Xfai00c-dqT|S(0#N=i@v#XLBT7d8hL^hB>X?KHh<4M}InB zVO(@DEwhF)IoB)m6Ye@oVXvjLr0?9F`zbu`_e1k`3Ye4y^JifE_xb(21=w3G*vs?! z`B$%>zkj`NKdJMO_wzxopWo&F61s=>nE1Y%2kC?M227{D)8EbIwORZoJ#Q=iVEli5 z@Q|R4gjL4fgW#bK*g6Y#bRHg>@$YNAKa_`uZ~Ytau#_?UPTrVS(!NToeKQ8>%O3QU zJ(iyGBC)YH?Oy8jWtjSsf^M0EO3b`{Rp!g4Kg)MIedzZc<}>RM{Z1v;-x)iH{^0k@ z1SnTDJ;~S?4HY2y6Inb5#U*)*foO3d;zI>GY+(P@d zSnXRxfBpCQ@^clit1Q@I)M4`)bZz9ui+kX;DD#BTvEBU=%DXC^*qtL;J9zjkgAR3jI!pF2zVU;2#jTm7Ot?)1^v zDh_%|Q6lvewAkH3xh+bM&3&X8KU-ZkdRwg(|IpmR z+Cn0gd6K+lr@e@O>RjSuo^Nz^MA`fC96Hp8iLLo_qjL-Q{Y~U1Kdad}<1dX)<$29c z_X~~AF5qYJT?6;#XVIZP((J5gB`${hah;7$@cd@yY2H5r{Kxn%%Ka?Ljh@4vlLh#z zf%_EYOr*Xeskf5*cFNgIeTPwRIrrV%pC8}seD@jrX54e!x13E}&Yv2cx!gONXE_e{ zSBU@a`Y8MDXvhw9m}d zL3AcWGy7JE&k&6g=jZQRts;K=A1`aqpmanxXQAvC8-}yj(>n#@#r90NG})so`{ymx zK(__SRM&f}9C#1CC&IjqjXRRHnz9IMHC#@L7;XF;rCNtVK0Fck&u`-laucK5V)79% z2ALnJK75+$BRP(<+9OQcyEnz$m_MD1s@wx*+;u*@@TzsD;xKy!!Sf=g)#S|3x5~v< z5n?@!E6n9^hH(&kZMe5@`ElCuIBi$#yV@a~ETAm4<2Kq+p>`y+=GEJd2?;lMM@2&I zSeUNl9_GFD0CRI8S_}QxSx>^>In;}v+u%=r zY~@SQIL`L)ryNAWUm17#xP?F2r$u4TqdZLGxUiGhx3uOTeQ)yWc`%<>+0d=K-p1UJ zI*`80p^>wI^Ko8H-*1P1m`elzno~bLjJp` z=ExXpu{wvM*Tz%q!VGIZUj8+AJ{D~L+#LlrYQdIYr*kNlW~<6MhXVX)e${y2%)C(H z`K{ghTpzY{g&<`Ftunr1>g)gfgHGn2PHXPjLmo1fTjJFh@aj`+zV9bj9jp0nwe{Vn zsl$Jt-=`(OF0o+$Vsf2P2mKloe+v3_{l)ovKx3xN{%zs>J)pl)nFi+VnCoAdSV?5FXWKbI?fSg4*cIf62EaD#^*~&AHMop3ay+t2(2{mt_9kt=L(+I>@3mszFt}x@6pQJnKQ4n=wK9d zuxG;mJ{?s4FVR8x9n!(0WrNF%q9M=$nWNtp9ejg22a*|oJ0; zvdh1LBzj0xx`>HwD=it_Mvkl&qxUt9W{(kVVJ(dJ$mI_7l>|QO7-yq7)5ulm<`5Vj z=e_2<&;sMX4ssV=m2g+N_E~nC8_Ree;vV8&&b_=JIO)z6Jg?+l$vw zt9Vx(Uyv^3+%@)ij}3c!Y7ZJWHbgk>`;~5Uu<~?%STXZH>mOr1A|N%N z)#yJ>Y32E1%^jVouis6$+}<-z^^8?3W7W!7wPv-Z+grvIQ-<{E!P*?)8|4Go#d%!$ zb@|WtRFj(&`QrO@3Zm#y8uz%?`D55s?72@|(W!ioI&<#{&ZN|td%=j#rgS<#g02@D z_4%%3_*`;{xi%#JYwDI}N<~>xIS#lENNF&mES;7LL>AC~fb+Co%G>2l)OsMf4?@;2A!;3&GbJ zeE++$vdrePy3BH?sq^?@ybB~dlT#LT%AcopjYG$-PE1H^EQNQ`z2tzN>zR0sc!05j zx1SGBqyojf8$lfhyyLm}BfqTTSZcJ&6MT?5N+PMQFS2eGh+SytR{tB_2AK7nxi>s@ zQK$SR!_ZafW2QJtx$#sNv0T4VAEB$Bc9rnWV)l%@hcjuQl}G$G>G`R{*lUxxh&}oj zbym}--F)x!nUCLEWS8s)(ShspS}~?N)OvV9hwwRNbPC**v0m*YQ<=gPICsE5cLzU3 za6L8y-$oK0*_tr(Mz|e$FfCJ_KyQx_s~wqtcu8d8nDG&E@5VdWyDR(a@{Ho0E2Hh% za0Iyc9b-7x^YD`R{4o=Oivl;ngR26r8o07(O6N)Sfvt0t3*{<|9xmv#e z>d@kJb+QfqoYHj-H+8XP)NWL__yPJ4<_zl`9PU`+&#+EE` z)-oQVQ|8W4hc}+dF=fEZ2NvQkUs*YK#oXt^Rq$N#`IX$m+@;S{^#fPM^Xkw=(3f&F zrn+i98Y~u_(azztEruNmucc$qqF^MK1XmrqfcD2SuhH*VoE)&p)^t5*-I{zqjENiH z-%8t-v2Rtlzrv$YVpl`Nt{NI`9TJT?u{Qeb(x_tfeHyL!AC_AlQ~r3DM#Gfr(`c1f zu1lkDzrA6~RTF%bb%l1fKO{g%3ufT6>aCSKY#xA z=~nLworbQLIdk_=^SevWLy)Jm-?zj4`AhLcCCnEAaO=za8e6YUso`>K)N0> zw;ulMtyefb7#)>Fv9%~G2#<)5jSbe}m-qJhLwqM*lkZ-3nrKt&PnsXz={%-+!Hu_b z=LGnx&zvB6Cfphu2ER7)*u-D*oVlVe9~vC-T>4Y~JfbqlJ;pcnX1!OonOm0pi~XN# zZ{~$dIo}w$*|SyKXZioI+;Ym*nt;~BDk(Qixn@o6e^_pqa;qqpbvNt`;)L;E`#y#Uyd#~@ zan9{5ND{XQyoen(TM6V<$MZ+2K58wWhkr(Xrml{{b;0<&8^WI;8%}L{mUvZSR=a&(HZ%%u0@NiLUmc1V z*<1iT^ISFvt&~9{qAAH|o0iH$M-nS=By@J9c|Q=%l>iq4uFQk;X)d4Mg22^Khitga zK5*n**ePC-tt>x*ct-XzJdr*@^E=}k2uIW6yLsT_-$jo`9)pWOXo}gZDOu^~2$cWN zk3sjJ`F;THml|i*l5XpC@L7Fq*SvoPoRIO0P4J$V!DGH3A>=)a6}vtVd|;(v=qrIA zrX-Heoq(RB=n{+#{;G@<)*6wqtK2yK1nV@}V6K#WC>pETz_|L)`s@Wq7H2+v?1jwF z$?RpLi!z@Yb74k4l;OZit_)AC&+e!hmFtMGmJ)X5k7#XJgtk-e$?VtRbP&e*w$6uc zE6gQ;)4Uf7lj}t=@^?n&r=3U=ojIu--N-|&_n(JsyDS6F9#LCY(!Oz&GYxa#Es=2U}o!JHRopIOCb5^c+VSkw4ovi&;ao2l?yssly zb7md*ssdkUzHd}cc_p3o@-GoP?)i+i@J#-uvh}o)D-doh+IhoyZ-WLzT=<=ZbSV5hrtV?S#w>U}tjO0Q~Ir z$?V+q>$6F&7Jj$!dnj<;Gfy>9k$KeOP^Z)%mE6N!s9|6I^f^TyTH8 zxX_sQ;A1GbppLnn;DW1#-!?9s&d2`8_^7B!I^i+R&NwcAPLQ8Vc{V3%PEO%}<18TZ zu%)ZTSJ0qr(RKH`aX`w8D%mSJS{T8v)N%jz@g42iaa@7uqI5Kh&2Z%#2g$|On%=pM z^^Dl!bXijK=hUv_;fLzPimcA|s9>K;C3~TYlNWY6Ve|uZe{{Cxns2W!Qv3pYyx>E@ zNPlob3p+IjKYS&7ftWYcZuHG=!OIu*3GW*{*Ehs3bqdbd?%}7H|D#9p938AFROu|n z2ccDy@G;i=M)=S-{o#Y>1|Ky;z{i(p_v*KakA*|PN1SrU^@ERb^mqIK z_{bD0AF7KF!PxjXZ2)}y(fdaD&^P_zgXabxkc?x$~hFZvLSjgMSI|NQbb?;GJm-}HwMo*R7B4FMmoWP-V6oQWl$k@n+C z-xY77Czl4pJmYu3X*6fYp_g{ef1jI+LC-PBO5>-xxRlJ%Tqs`u+mzvqv#UGH_KR}1 zv3v}g&&n?A-TO`K8hb{Tk&j_nHjZBObc#IAl&3a`&s83EG6lQxVw}^Sez~R4l&!tR z?i!Txakx2XpF?jIjM|p*;7SuI&J6ob79UH-z{hltWhB%1E{jgW9RG!k)@kazzUdjU z)1~)urj^R``}R}6UtSrkag^S|xl?}M{=j?my)Kns!aL>85S=_pH0g`G+Ej^+35SLz$zs&6gv#mMDU*MtRyC!V|nm~b%CMz{p51jSmN907OdvB?|ATn?T=4+ZuoR2e5%-CAD8l@^~L3)bddHMnutQb zVV8!d({4k<{4W}A;QxD1b@@{;TJL}LJqPk+ok-?To1nf${Wpo>yNOoj=}BT`$FYWx-LvM6J4pTXkXUnYxtsPx8Rzj)iuA zcRzW}`9^h02T>aXthEKvvEyFd+JA>vWH0dv9s9~DOkhD(ay}=e)zZrxVh{j6rJA^U2N#w zr|}s)S6=`AXk0!9pT6&(dT{!ln-1pMJo=Vw^Xa<{`duRWj{5Xn&-$ZF-)|0c_w$Rs z1!L3qMbNi=bE54a?{|5yf(xRv+4>sK3|%i70$pE1JKr#83oXk|EM5JI@W(oDseX&L zMc4SAO0zYbW8}TRl>f)G=TA8FWwYer6l=UM0H%_?f&O^kXpQ$rcxTh~Inec=z1+w} zV^_RY4*=te?8ZT6NtBOvI||46Cl|^6GjIG+Yt&XqfQytEo$PJh^o7%Pu|@ z$KlS0HqJ#eZ5GZoA8sKxc0SHuy|kCVH6O0Fa$}FS+NJr>#(A1{-I9lM>x*yJ=hg z{C6z*$K&i_RQ=V97r(6e!RMPgo)3j@p1R`TeDmEd^uvDmW+i;{-~fDcD!icg;v2!( zd~?&(zI=0n2P?RIzTuhSn+J!$H%Z#r!2UtuL%2}?eSA#d`N3q!SBHR$>!@RmhYRJU z@@2>x`nom`7ycaCUBKC19xeo9(jj^|{ zKYWbm`N8lpX$bf@kvcZ?qcd!vznk*#A)8oz{5Jj5d(nnqY<&FVirqQc!j;oG3+RYu z$H&P%-Zz5J#|h62PBskzC%Zd?xe4q==np5#gLg2T6b=C=FH*&^u)u&;DW*u|+m_x$*hUOBiG80|Ii=Yl7B=j$53k*|Z%-MPyv{x4%83qo1{c58#>Cr~#Q(WhBJ@N>7t}dVDe3k3lKWTKflS}&v zu1WlV3fFP`zLQ+q;gRegsGsGW&2=Jqw})|UB-i%0xn8<#mNUMTSahB(O&gH+%X zR*u9<;?uRqNbx=uT*2@?+4ZO6zhpn0e2;5Ci4PM0Y9Q3ysa#MFXT&N$Vj$_piy6Aa zW)3heb8n$a=`E{03XK@lcDem^MI>~qFhG8xzu~Bz?*2G7I zvA?M6t$Ox7vadqFrK^s>j@rXBH@BGUw^GbOU;Una2h{Tg{Mcdo#rlBOchZI7RM&F+ zpT=L!|JSj0W!lf0onmHWGYG%Jb9o$`^IUO+<*YkuE>_&7)=3qQi9EtwA2{}MnD^d} zy_CFHd55B`GS)4nXCUv`%d{eU>9M17>+nS@pSt|;ilfw63TN=)4%z<1H;_j~y8r## z=bN?l71>`_x^bLZ3wGP(t_5rVh1H|um&FB6;3)evZQ zQZF?-pZ{T_GiTx~=NazfxzF6+)W>fdNJ29m-%GXD+}G5RT(2gz27r|F*V+qWq%X%Pl&jD_dLE^Da+pHyjW$kZr9&F z=LNh|xoY#qOWfZr+y~p|?8nU1>}@i8%ltKmI&ZDPapY%MoZWYl*6S8$1Mkm8hcm9-*Aw^FbjF*=yv4}a*7S$QaaIfK&Q*L@-66f<$_)FqN~;q1 zoY6s?B<+o}2W#}*+r`tG<5gZ6<(5Qm&(3*KJ`_A(;Aju)??p`uw-aMZ9PHFC#qP_$ zptac={7zx&bV9@mhDAr_oQSdd9Sr@Ldd>d1(wYcsi0^-RyVe;e(KccV)1MsnX3xIY zaB{MlzoZ9TkSxq?I-B!aYT~U#m*?)KB!e3nI*a?YO9z3n*8I%8cy@>=qF!~EU3XL$CE^=yKC*udwPtMzED;kt89 z-#DOR#^)ae&f=hRTRJ$pV|!p%vU4kjVVLU%I;;D71bqn#o9-d*oC{&bY6KI*R5)^=X*1z{|n(_U6Q*sEenEDYK%zF!$2?n4h30)vGxx z{#Evkp-bpYhMxno2b}D&aB?$vdKCQmZ9ab^boWedeayvN0sQm zoU&)qu9;T5>S-6}jrFvv&}-L~dF}eUkIRlj&@K;`ou*w^!n^oysdo)+TVu8DRN7Xg zw!y2X6_A&PnD&#ABf-#5%(z1X28X4T_w--EBYYg`(AZDQykYRjxq&IWy$ijuCl568 zRC3?VjWT#Vvtm{xb4bzx9OREjI&@qj6YGjb|Jh| z8fH$VZJ*lA+P{;^xHxLV)@#FtYRlFl`wIR16)8V|#Z{73>>F-NFQyF59f21l-`k8m zqHh=Dm!$6Q4HvT~KZ>0ZZOiH`>L7QO8)V#7zvTM5eXo)CpvCMR*0DKq0!?~TvkbUU3js_A9DHmmG!QMTq%;*Gjy{DyL4 zoHaRdcaHTi_K&B!jyx=xKI+&7X^s7pRj=nlS2@P_eC@mi1?v~D<@cYmp@Me9pXw8_ zcBP`%P>5Kj4mZyRXS|v9CTPX%N4ZAhNIQrjO8*_-rs-#C^($r0?K{_np6cRzV{fh_ zCrJshC&4hWFk^)eXp{NyFk+gjLd+YSH?K1ai%Z*Io_A|uZrv&F9K-$uGsipukB5;X z+UrqE-Gy;Cw~N;BHo_mAzn9$@Rh-~enRDO~(V2L}w`tE1ZPFI$A+_AaCucD}2kYN^ z_--QYRsYnt!TMD-K)*J5{rV{V3g-3ecJ&Jx>G!LceyLCDPXM{FG0It;DfO#9^J2j5 zSBurJfZs31TK#IFU&zGn|VRA6D6X zr}4MthO>o{FVE)Vjgc4E-pT-gGMc{_J9O1lE{b zKNB{or7N59Md zrWDWgTl83f{2S)9nY?%6y?h_+c-lSDYq#*Ga$3B07Ydiu6Y=U$nfE7m6X&dXsW%5; zIWXlGjQoV+XU!ARK|aY`5h`_Fkt~!94vh`H^23&4hTrtxx0~aBy+X5ET89| zeYStyWXT1C>n4&-ckX=++Y%aQ?h$__(Npqul!>f?1wFpI?4JkYyO#9Rv`2h*Fx_Mm zaIS6=%W$>|Jk(1YcNrRR_x$g(m%o2~jZw~N2NXzJ@7-~1fp4^XzoQZib4=5KyIu#Q>M(L0yg zp4SdAo=eX^_;?=Acp8~C$arck%OB4d|8el~{De22L(w-c?-|qj%t^wrrEeZD9OL)! zW5YQgsylNR=ia>DslT|c|2g&R^k4gy{Q053IrUijG}v4t`WyqydlwbvmK}fKoZ5(N z8E{VZZ4dO1CsMBd!5WpZJ*0oA59vR9{2g=WROuebfbK`ZS!z#{b0YT=?qNTN1N$q5 zw;*@TvBI0?Sm~o0!(|rk%sd=mC6~r&R9#DG3pX8Xly@)?UA4RvJ^PM_+x*S1v8LOxQK6T zpKzhdfPee*2?uzmvekxjKkC{;`>A6vpRm8DqvEgNiM4~ys(-@|m&G<<8 z-Do|pJNEp{M4l_B&p7B`??wOmzuNj=&wtBzx{oE_%kra#n{w~r`*B{mCkL(icz(L~ zd}FcwX(KG8cRk{SBG- z265I^>}L!nT8XP`g|>aU*J}1b-aqQ@t^jTAIBp^Bo|1V39@yjQW6D{oy^{JyeF2XA z`uGrO|F3I_pAVCp8N8@{()9unnKZgIvQ#4;de9z**1UQSFJoJcB$dC58ig z7yFOzK48XMJ`UoeJ$k95FTbQOqJw3jrP*kh+&ipuX&g@newjzd4rM)c`CFVdwKRKC zCp$ZI4gRN-$gfapN#*PJ#t|;mZ*F3?%b=KSs>aM-iFhzEYAev>kZmV zVbi|$UA#^`+IP0@a`{%sSrxl~yX0~p`q;Lb5b;Yf{Low)m-{IHK5R{YTrL}AT;>8h z*Mi*~lWn~`I|JI7$@oDtT}_Oo>h{OIj&JI$Z_XN|{AysUE!Z_GpK%X#w3q5pGnbBvz%QA3M#CYrM>|j!H{_c27-W&&BC1W(+ z@s*nBkk}0w)D?5mV zixH=VFSne#<2-JBghiB_p!{*POE#*;K`~?3Yn&Nd(OG$1abAphm^^DS&qDq96Dh-`;wy!5QTpin7d^kDN((_1eHe_-{e_X!SjG41IC&Q{^0! zho9DT2pB&`@`OeXUaIsdJVqWV&Ihrp*ZQuNUxp>$}8up zjm;yYEY<}SbeC6ou>X3My~<&`U*EdzGO zn4-+Jqc6;e2UM=|2dKSYtSrj-Z6)_YmbJCC$}Oc_`A)80yJt{3R{h_muEF?0vS$S_ zgUMv!c_}ddc>Cj|a{!!_zV&gKvlxV!k8( zH7Z{Y{%XqASV$L8A7k|Snxiku)W-2YfQwIq+hTNe;h_k)ATUKS&Wb}$Cks~Ws702_ zo-K}jwA06^A)D;)agkk~P1{~+`7ll>do`6xOLeXMvn;N%L7mH>D5Bt zh0elG_%mCWdSd&1qnwNrThvM2X~iUJzm(284JB7(?;CYbHg()R*`mZmkEf>f%-1JS zj^3A0wqWeN4>#hY^XF^HvZFj$!4>Dt*E};kl^V5ZOn<&{-_KS?9OD=1ukbHg?Q=#j zI>$tOEnfU;`-uC+@XX@u0o$1`SJl*6R$L}Eb zr$5KJR8KWIzqql{S;@VT|L1bQn*S$oKb-$7xbNq_ZA+8$;~N^CwcO9=|7z~9UC;Sg zPd4@O4K^Uhrhh${i-wrj;^Y&#Ug!0uGShh0LHh$?*5~CvKtG4Cca#uYQx+#LO>Aj4 z6_?NQip)ypi$mc{6s@Ef*JaR75MRJ=ey=$TyVRRoaB^c*}jCPiM~n`-~M&aJ?C;Wt=%qKBt)Iy*^WD z=8vWL9oUO3JBj@urPKo-bmyN1`bX+oN|{ToGN)3eWa~I&YAx4zu1Lq7#NplPp5KIT zMEhkVTZxtFW8;2AxL|xFuOwTe*Ln6h{)=&ObWUVzEqCb*+P^Q}c;Qv8hpOERIu(~w znA*6VvP(IZ1z|OQ_3sgRPnQOz0z0(BlVrIUm#cmoG#>OKSyM{PyCwyLKVSEC3 zn`-6@+3a_L8^Hy^m+~UG^F?c?@SeWNoi79@+v-*iR&biz)DPdj-p!DMDX2^3ru#W_=0(M5MNtMx}GVU%_nks`jsD>vw9SEIx;8-4wQFMy1Df5TFE8&q&iIQOx~Gi&^9_|y6fms z_>EU&uN=jmwL{q6y3{h(DRdsfRb7`eZdK@O*qG_!gktfeMz&%Y z`F#8ZqJt|kl2^)kT->x^dw@L8%4KQR!PFLHX$<=s`7WLFEM#_OBK>rZZ|>wQ!t^xy z;_FYc%VM;{|Nm}uo?HIA$(i)oMkmJoz5E~I{@Q2Ig?`uM%;vhBcjLGh@vMydKe<1% zxykwV%tmJw_s!eCtIF`?^aS)8^;34JayMyBure|kzXAFc{n6Toa%l@M9CiT@^{%@PH}uli29?fX zz6ahf;}3inB|f5>`c8E2+>u{jHT8|AKFMIaz9)uQpT1Z7{4##()mJ+}eYLigah>(lqD&o5(zS6?*T-f#b+%xyXF2<0^IFm{CIS!7msDetvM@qOHtOM%D#wX8^L?{uzmiv?u)_IfeK2vA`IvLn^ zD&0`;MMr9j=m=KmE^(SoTjc{^MqiX?S9#JWJkx8}8y|j0s;hZ5F}g9%MvE$ssmtd! zE<{J)S@%Y6E^yMRPhacW5XPVH%9+xMvbQ40F!lpQPjb(dI^plw#wo24py#Ginepg# zwV`{k8$JCHeM4)R@=Ky`_MBV7S^)Z8s_TlMYX7u!orA|KMMI0sH!nZ(W^S4HJM`$A z@V8r+WZ^2-%U4-z^BZT2|K0cb{NDy_n*|%izZnL$JmLE)rez8lKeG>#_PM@_g+0EC z7~jXN@4rV~6L_ZlM!wJTy_7lTlEvvLb|^Zm_`ft7zcV`_c4sygSe~sPtz3Q=cz#$n zSFLQy^}Aln>3v~1)g>6;536x1n;>0pnq%C2+rH+Rv9Id`i@6)$ z2(qnr51Xqi_dOrS$D8mv8#`>a<>O8ag4YZGGlSO|?+~xDo5ox7@z_D|S^;c@1-sP8EAy4>Tbt_9D|^X%=ygF4y>=pZ z?em=X&mzwe&$e3g*gVQS3cSWGye7ccZ2BHg+?k!>;k7u{i&w3&m4hR}39o{6@v3uY zQ(bX`*Qq`9>aWQad*28?AFn(!c%5zVYSu}hS2tgb=2n+p`_8Reg9{qF_wBF4xwh^V z<_taLViw*(=W5OJd{Ei!+Ms=9vu`uWcDC2^G%x53J^%eJKW{Q~XYMNI*Pk)JUdjB* zeIEbM;691}W8ClHK6hP{b72GLGjo48|Ce$9$287oew3JUo`<==GL`lCN1B``dA^4G za{f!_!YyZF7E^~*z9kLKYN^QgvFJ{PT#o_m}2Xsy_xI6tlTyXVQph#~1a z=V>id?Yi{h{XKrZgW<3QnwIYaIwJufwHNj@qE`wtw-Unrl*W5j5XzH4Yqen)+(SMuz9==o6Am2#HuD2Yp#nkr5q{JSrli19P6$NFU!`Ek3c%>)RPJ`SDbV~ zM!M_m1p(qgonf1Pv?mt>Ms=p}uauy}D(+fkm7%}d<;B8nhVNB2Gz=~FmBr9scNzMr z+Eqh)ZJv=YcJ@~d&+Jremd?~rjFn`R{Peb-s5lGpOmp3Sa`$U253VPcMc+Bk_&JC2 zWw-y_mzj!@Havsey!d2%(Q)mo!cK=4@GEqEeB{6PJl6@YXie(>U+1}2Kh)$nYly$_ z;>;U7|6bUcoDP7$WrsVtb?DDk{2z`HlZL%}&*ut>A3O$qmN^Hz*NL&OgR6vV)8z%Z z6GL0X3z@T=ErsA?*u~Imb&|Zh(9ENZ%P)Y@d>4VPRynE6KkstadA>Q4oC^H^H~mlD z6OGPJ`CdFV`FD1R$93kk8*i~78-1QNbLc#bpRPQjT;#4lNBQd{Gi7%x26G>BM}B7I z$*xQyLu2h(^5!91wNBWw(~lK86#i`CZq8`M!}sRWJIdon%?;vRcW&s_om@YDUw%cF zbc=`8H_e-oh|a-oPiuWi`|{)~ucj}4A6~%6A65(@^e?z&(_YU-qQJym-YaJuhB-@j zN{@15gj&3uHUrODu1?oiXVRP}I;VYReOPNBn=Kvqk}u#N;aP|E?7#7aN13O`DK3|9 zjr{`5YzrpJcY@J-^cLn;S4WaxC-+lCFpXTsj{-uT3a^&YY`DJLOC3#m6f2_f?kuUP`}GJWE;67Sn#w zvevd`&)l?mA9-C(>|$5t5u?mrg%bMm1ZP8qOg|3II-aYGADXh%f5!2kHh^>`7p_+q z>W{7}ql$lhXL^;tzo6eaf;^13y@@{mu6fQMC*xQ9VUzRwI^svTFW~0f-Rv(7hI-)+G!vX=kl>s-UT z5@dAWy)N^21f%k$yKDQJtB)f0rPhRnW9irf?{7J9olfPb56ftqZJRFTf7uDP-`5|z zH$TeQuVSzIL~JzfXYhX|_ZKfB*64dpPQ$O}IjeA{`TkT}&nSZ)>NsOD7QQn(9(ffA zo!9xjQ%W=6J!Mjl9w)t!JdWR0{fh6>dSDQquR)$`E^y-o?#xQY>v@>xh2Hc3iQeS< zlJj}Of9}T_`R7IHjM;(|HfI8Q=ty<_VM;+xwnx~bcgC9d7B^p$=zJ^wpRJbvXUpeB z=kEJ_`Mnz0)fVg|=tAcmm&fswL`CaUmFKlbM-JxY5fmNBzgrwWFMarFpYQtSd91xa zdwU}#8F1U(K=}<;`QN84`TIytrOq-lcS&wV(>jMfMLDdO_tfkAe_cN5J0I^IR|4JF zXZA*hQ}uHB^jWh?rmMp4IN}J+buv$hU!_k-SGwf-LSt8!#iaibd(0SXPeLiRn6j3QCdY4Rg|TZNxZ-v4L5epHjjdK9d1A_&=FO9LTl3^Q z%Plv_dB*TAI4V4RamUEu;vbU=ep&{cGFQ6vfs8S_!y4wrHP*a%4&#s{MHUN-D3*5tdSx0$$fXe1oCeWx22C4bmd<7X7l#d2FZ|{yvE{u?;F7%7$0TDsM9}qg1K;T|LviSo2Z1wM309;XU)%>a|E() z&wnx>Uch|Fec^@dGvR(2|2J^|+&>zfCnq2;zk^Tfe0*Bm{r#(~`F1@Nf_~Yr?b{W8 z{sYA@Xg_#CT(%kOEgj;AuVDkbbE?dpS?0;qPIk^UD4#U?kGvLX3LV;Gw5>F@U(1|_xyP`cFH{_ zX48Lm2G642+Qq4~b)xrM@^CNn+g@w#TXLgffBRqOcm~*KEZ8DwJPN;Suczqz-VpIn z+>L+y%GZetK6E@E#Ahsil-(e^jeV>5P6qd>2I#AgTYnza93?x(f4=OFdCsu&$osys z$@xjN(OJj6`e&?rdA8;8FJ7EJZp*K>J5hI!L`}@KBUJZ;~zWDviI84ciq5y=^TcS(Z75js+kM;-_LL3+7*XJhc3HJ<9cYynr`N{Smq<(bLRDK3~inB zN7EVtZmrULf0+0FEbBe` zU#a80AL+e6o%jAYYMi%`<8NDO?>f}4KG*v`f1K9?yWWERus6=DdA|BA@;)%utGxH_ zxvckZ?`HqH>a%HU3Ghp-a=txCoil-*X~Bjq+FC<>1!e8&zI9_oA(BoW-T@ecHO0_cm>9;{7J_3HocCHG_=vN?=!7u-`t{l_5)czH}Tq31i*i zz4vLW@~=ztxAhFB)1%3Y}zWf-ix-j5nr$OK5dm* z??qdiy!SqB1@mZY74KJB@%eW$r}(s&FSpu&ZL?rUdE-2n=W{=Veau+T_TKxnwV%9( zetD9U4Zt>7W!yAKeYL>WTCo3&y0om^OV41F%KogUk1F4mi$T5%THnP7siTuPlTIra z!?Ru;qTQ|Z=eWb#)6Wshz00FrJL*oXytEp>_ybw-X~r}*W^s*`q@I{E+X=L4+yV5i=W zZkkgM&_EgZJvz4r>G@tWB%^vVF_YHHYsAm|P+S*t-wXzaZ}`;>1BE zlHhM@rUG5wwP||&=h**dJ!>HUxzW+k-EIGl9W&s5|MvW1!u12-*dI6HIEbGiX!#lL z0LT9Od>qRc&}sRsM`~Qrc{Q%`nF}YHt1h@sIanMMC;mo3o$&!U__0*KV!ISy{>sw* zjQxsi628$ohVp$VpNVprv@vci@RVq;Eo}BZ^@#zv0NxjjPn-4BU2nDPlk~xVpWg@V z8PK_3{+#;!IlFU7l@)R_snHWMvd2ExvA+ig21k4ow7!`%7>=;%?D&@rlrP%XI?lCs z?a%r7t5ohfVAol`f?CS;-{-e`8L-PN*dI{tOv)9_#VFUeS?s;Z)!4A{FYB(-~4~vy?}WPKR(|-?#|wO=gyotGjrygGv}OHcVE4^{?s~?Af0h^oXb!HOj zLejsTQfD^ZLmWcxSCD>&XCt|0^Z!cT#Yhj~-7wO^BrzL4S7#cx*O_-l*O{Y87mUG< zb4|TDk>_Jb-)X~kpR1Jr`}6MYZ`Yfr$onkmy4Cnjj;b@~Y^yVOlfLkJojHnH?nja4b6-rl<0SOtE3rR45&Kip1>DahJ(2q{ zr0X8O!5qr};NAFcjs&h1)ZbcXEpZooMmj0yJnph!R60gCZk=J>Gv=mrkgJf( z+KdI`u6+jkAfPTbNH(BJbUWCPQ;v-V=K4UM|4(8_F)k*k9&9kQ-kF-4(qqj{+w=Ht zJG2G666##UJKlTm>>f*tvyajD`7?j^-uu@<3+G$M)R}*ARf6BSTw9ob#jnrnagNh4 z?Q;Ql73;F>rtF$A8-8K7k6-xX71C|Fd$qEcvinu6!=b!*vL(tnDk+}U7en}{Jnj)V~IqyMtm|l*NI8?jT+%eutO-qPjNE1E5DZZ13P_? zlCPrmH-sBR(DDQ3L}79@ zc9O2|rg({0;16E$@drblapu0y9?wDeE!p9f;BU>@VeM=AcCGK*yTC;hysCWVv12)V zZ@17_hab1dpJj2%jQh%*FZ{xiqv(#y^D#ckM03}~i^inDhp2 z>}a3D`edvf>iT3nvDIBy6e}hezmt7W(bg#`t+g&~KOdc}Vl6GgFGI49e8WE88Jwbb zqIEISRZD{%`!ynW#cy)XkP}_eoGpeAX8rGu4J8`1<*6Vs)7kq7FHP6zJ!OQ5iB(5z zuZ_flx;&hdI}I1}mf!Ud@-4nD*6d*Z&I1HT)up&#+0)W@^F;l|v!9ynI9 z=OKAP^vlNFP;4i~-H@$=sbL=nd}|+vF&4^>(J8op3ydWm4PFDE9%Nj~{z2b-%US#S zwq?5Ad#|-INLl{93yq`MTpRCWzk(Rn;q}lm&*nossm4H{M&lq8v-?Q;)be2BIW=d# zc5H?RW7E^&TR)|~kGSu}t6k;G(-*IG5a0NDtx}cI2d`DaJJl^1s*iK|&Vi(R;yZ23 z?iowqwY>Jq#w9m~&t?s6rM;R5f4cqs4#9kT=f9yxvDBHgN&DN_^f~+5s`KT9Ydfuc zukt?+|J*`sBCuad%g;!CD|^zy$TH$c$Y)!7FZF}vZ}jPUjSsD1dH3=>@MEY zo~Va!;a7fUg6CcW|JJgG>3VeM~n~YTugisb5wGVVsI~%|3(kF7n{XU zFt&&`$*0lv-&P+#jjqzKTLG?++9ml(cv1hj_Kg`oZ{Fi3+SBgH`G)*{qDkTn*SKf6Jo&|4 z@GtU*LpQ*?Iq+G5XogM=BsP%z1PY_X2ZBC1{3C6=`a;HTTx0i>vBj7{{Yhkr&jN#D z`w71DF3Z4n6wjqovh=erxT-#3xHK*WSCJ2{XXa+$%H{b)!4=8i3|k2oXNsxh!`aYJ z7`9j7dvvB2aiSgHTk$_8DVoEXkMTvVRgR41^116-mo-j=zwdlW@{8oJp0=jqb8q(L zi*Wv`Y<((`hcvc}NdqR@+!UD7axOMqwhZyn@}afmFWp1=iu+~r6?*08N0Kd-lrNex z2OAji(}L{?XMV1rZr3&}FDagcycKSo5ZR7dTRHJxN!lcy>zQf0I*MZOe2psS0?$Uo zjqf4(6}ko;>pR|v@SyjaTe3~ke9miRzEGw~u1*(3p*=M!`~1{eXC2POT}?XkvhTR7 zvdxnXl*$&5pt4z;+pV0sc+CyyxNb0OzfG+Fg`5*|Se+>wT4!=eAB)sE@@jaZd(K2P zJca0JsrrR}b!nOWE1a{vLw(r}Dz-)r6%5Z=W4p!PPTE16yJWs>ensn=d?VF% zeXqS7@d5Jt(4K0h4A*D=li-b3Bsl-40iLuM{a?{%@gwu>#3W}qu_BPKhQmW??%Oz2 z?~M8n^nb!x4Ren1f?en*um9`v^nXs@{15B@%FzFDRo;O9kE?9~`oG`LGlTbGOc(D% zp4@%N^WIH+pO1gvhdkES(2>z97@rla`4!En=T`+f`faBF#AkbBXpH0<=AI+hBzYI* ze2gK)3tNdZ*D4#)Lx21)_9@+U_+G|Bqt0cBFHJvt>F)L~ z8{vPlZ4~}_bWi)2739&nZ*34deD5`%=4QQ5`QFP$A@02|VBOMqf0g&>#j&eh*%od@ z*5V4IJ1HU6`358BqkF)%tT3@=TcBpKW7EjD$WLy3TgeqR_WWxR|53MM)|=?q<_M|ITpdQrTpcZ6EYUq% z-;>mbZl&2IG}n?T?PEp~ZVYgu$tV_ht77McBj^XHX9M-jf^X7)!6le}=L!9T5U~nHA#+b5k z%L2qL(|Oc)gO5GONFLd0HxmE9oHmO7sz389i0gzru9%O)gX$NrYWFXxBNNY> z=T_db{8r&N*n2FkGY34w-s6GnFLG|$@VWJ-{%PpNudoBY9(wHAa9W)Rb*CI%K?0mL zCR^^i+%yk6BClifj1cjNW7v{2M&pZekH|C4re;w~PSIcouH#?L<$TS}=_qHGgliV% zstw{-HQx$oNA=L19RV{KdDD~yLW5?)oquhxcx zyn4j{i7&Q!lH`dx7%EfQR<(GJ?69fIiOWiYNBu6K(kx6*pT$xK3Y@X2i7QRZi zu(xY@2pb2$#2eF_gwrT7VHPtEYQQ`9($Q%i%kL!!4yAL^m-U|~`YU}`CFA$)8+9%S_wi)QH8GuSm9cO7`@j2hUbbjjwG;R2 ze|o$sZd3NSx4u(WJ`;~`qK%wmnoK=OTO_Lmrnv1;yYiTKzxZElhmE(N-46TQ@<6VfbT~2%P-@T@Ew+|dn0A3Oqag8G>8X|KhSjekLfK@JjkWgg`P-Xz z`&O};EswkBZ;4Ss8~pkb_+<9#`aZKpIJ^wJ_0`vkq1Wj1foZyAM@IwC8hp>9^vz!; zyNbqgE{uuAM&m$lp%~Ruf;IzT3hJjk@_we2P5YKs4%3!Rygl7v7K08;C#tc2IjW z`@V0I2aYUl)%UmXy}i%wNBcaR1~<~qIBgUSK484tAC?ARnJo>{!xJ%@to+a;>i}-fc`8G+i?0O;*6(HmKI~5(U8EX5jo!HsOX?sG? zr?9WBb?85jG!^9=M2i8;e)Lfc(woFKYQfw*xQv-rq%}cJSy#j zEG52A&v-tZ@6@U}H=)k8;}M;b4CR+0k)e9nz<#o^<@YU)#2AmBUhc?znRsxQI6BI{ zY3c>ud;dP6@H(02)6sday!)V^AKwqT_iE1XF2bgjbRcQzRoI6-T4(O!|J+&i=F&oJ zU`fvm)tPeM^;j2}ucD`ib5^0~sEv7d5O@qSj|@>9Uoox zQXgraNk%9)ze=OyZJ)u~sr>bb6vltVuTv6?OC%sZ(yrETouaf5k zlk^3a#%9wj`+PwGxcExFIXj=Vle7me;O%RGOS0+*4c;0V(HfL&>G+2Bjx#*|&i69w z&i^!Bwr%OFjoEFQ;kD@*+a}s`-}IjA{-*y&+M~YFI{Ce$3Ok-ZiL-Gd+%u-6ce$5m z|Kv(?{i^$2G9}++N8eyv{g?Dk4F|}+a$k7Q-p``7eb7S=NhDhyxSVlHeNSHap`+_q z8p-Q8IUed5h5xGbOC{(xqzfEeVREJakbdJ=Lv}ho)4G4?{aw!g_y=xkbvWPrw|oC4 zX*2u$-CzGp{K-rnTC1AqG8EB77n!T&$yKAhkBb^B;9DTE#b!xfq*;ClB zO|Nq0zGgKoq2};>n_JXCxCwr>2=&s zCmqLq73r&{&NN+y&FHRLvyRm2WV>TQX+4M$BV++>WnO;s{hi%*M5pj)4oa--;eaZy?ddvjyN_*pXFJlz7^ldo{IlF>31jcor&F%K7xEY15z>N z1JYXnL;JFw@RphNH3Cm9Ud@fus2J!C>7m5C)1L5uB9qz}sGo$bosEgo&w***Wk$=V zICf-N`f05zdcN_$ZZP+ASwAC3zZ{i+1N#?=jIHDE=eu&_Nxpt~foD4zmw`y84`tWn zoD&yIIQEThU)+^`ioEIv>3X!6A)fw5`a=45yFNX!6a71V;o3XW7udUgl6~=U@Mryx zvUwo;e8}~gxb=>22xClV&j!F@g7moWYi)yfWc=yA<{p>7EJ3D_e}(LjrDIb0#Q949 z`L=&|lq4CCjp7;ZWY29{%cb=D^VhMr7j@5PO0Y)CN8y}{T^|Mi`l>#c4+HCC`zn0C zwQg&k`~;g?XN`CE*sxm<*AM*rqrr~5Udna$@>JfW1Dm&r$H_@t!kUWBz3=;>U(EPZ z`0JDGI>wi8mFl4^)un!Z^=RS|i60@K>d=3cUF`cNw1=|W@WHliSm-PJk197IToYT6 z_O1uFvda$gUw%1-q_U}%tSq})Yf~$Ihu~Te$F|7h%l0PAsSfKaflYN;FtIwl(Wx)l zGBbb;46=DpwsH~IUakrInIJYcibEZ&NDMBC)Tc}Fdnh&a!1KxY#<=ZXksdxtV}aPT z3HpceaR4!RRR{Wo!N^j?-)(>eyn~oMjy|xZJhD*!3&=&};S6EoTn^+cL+oGoF4I;- zU7g~-tSy#ieG>F9yRElzPGDbcok?5cUR!7U2W_4Czu4A+W<{I)Jk&?Q$Z~A8<_`=; z8U{Dw^RfJ*#`N;D6TF+8a_Lz{&Zl4YsQa|KEcU`3{T_TSd*lsip7UMbGB$(7c`yAy z5PIU+IznHv?Ue;@8}mcFvc_cD67~{muuq7JmYwhErvCHzY1uK-vh{H9Ubv%U1H9}8 zA20j03YQLxc5+rq>v@OPw?6z6)-(^+`@R9J!0Dc`S518C-S=}`{Pv9}cb{dl(@x<+ zvW4A~6And_v-N1d0oLp@5+?XyE#XW9!Mex?>+i2){KxPO@Xq<-yfAOBFC6^RC9ds_ z{08%h2h2EWapyaBE@ARH^L^ny&G$lV+cnPI`JS;=7tPP^dmDrGqmD`J6dYQ#FEmAC z$j!Is7;^G|DTR;7L(Ws%rEA?6`c~}tvQBo+p0hqQd3-PZpw^9GB-$+AQ8qe1eZ+t6 zT+h9K;cOoB;5ONdLXWcbYMXfX8{VzI7$2?oYt4Bd)S3|K4z7pZt2JMHx7N&^##z3k zTQ9(`>z!J&nY8?(dh_6pTGPlos}pzlwMN+u!Q;lThvzH|Ya3kz?6N&F75FrCs2`p|7O!RsJN_ zDXX*Z(KqyoG0W1q^ifU}UQBrPc%UFODtK5X7KF9W+=8u)_-_+`DgE{h(5M=HGsU&j z2`5`lc+2&5Iha&-M8TS+>2~F#d^i4s+GqV;8t`|Kt+{;18fY_ioAg<>&r47`74n#x z8|hEYN%_3&9xKDy`-gl~>#Pv+Q2$LW9g zY0XJsf!`H>tBdm-ZpH5mTIc#WOl~Q4J*wMRHJM>m<5Zz>rbo?466Xrp0W&3y0hF~ThNlbHLa_SxG=FHIcZ@pD( z66e*MtKY2cmSG*6lRofOpM|e->T8Z;n+lHd+q@!uJ9dTZ2tG-YLLYhF*BsU_T%bGa1=YY-kj0}uDtPObv2Kc=`0ZT8Tm$S zkgl_Ha-L($sdk@`K+ge?FqMLxvb>sQ}XYs!)DO2=X?MTo=wZA2HE$!IiO8PZr5z{v^1y&IjPU1-i=PZTw${Q^if{aW&8;c}ob(n? z=dZj|*`m>h9PZj$Z=sHT@oT>Mtc<=^JY)r9()E|xoWAg_8{P?E7c5#l#(ORwA*(Yi z^qzfRurXGl#i0oNz^}g%bm>A3XM{$v7mGP-jAJjRwL~^uvgMMGf6bFdXVjlILh3gC=naO%Vdq`Z3USLUD}R~!1X zPgO&{LU>=<47f1_bvD?7R#Sm~8Qo;KMt=0{{Y1tQ1N&TPgn3Lb?)p)%V-)3#3Ufu= z@}xf#Z}t`1JKU?|D*ivp`qMmWzS+Qq-LxqrU7MU|!hhJZYr{$N%|!NnHL_etU#dByKUJIO0())+ewr1xr)L90PGrrt;wE5jCgwtTKIgb3(xqHO zxWwB>@F5+>MGWS21?fnxQT&gRR&rJGKSo;3HI@Hy(ivPc`Cn7fL>-Cr9Im%ffvv{J-AW`x$$JpLWSlK(QcpgTDg!si%}nXMc*X>4v|;2S5M2;pcxh z{QU2RpZ_&sAN<@4#>yEtm{Gv~?D)*SyLjW7#LdYb<3}+^?w5~eDwc?Ke+QvXWg$ok7w~@svr1c zKBV$ux56uNc1#=|maCAfg0bAMBGEdRz1g{kGuA2=rY}1opS5YBQ`g1{VpfbSNS%A^ z87Yl#bd~AzxUV~bxySzy-v;?66mJs0@5B-KJ}`{*;919iV!ySQd-vb*;9C!TLp=Df z-{}*+Lf|W+jIX&#o{9ozf9P^xa^xf6D)itg^ue`&x~1T&z%|>0>+8%ji?1xUU$QpV|Q21s-e#KG=?l*O4|lIXt6p*Fdn_`|nPr8b0`Is%co@Kwa zlK+J~uOcngf1a1~eEsqBO_1jsNE^6jes0UIRe6{j4Hv2+>;(iQbeh5q}D? ze5SU@msk2K=>v71?=a2~$d8`htaEnpzr$zEtdxASj6T!*yhyS|dF&ax1=RW45j*hN za?dOd@_vz*SNVcjXY29|)~-H0%-l5CwJCIc+Qj?zgmZE0*7d=TIPtE96X8QRusBg1 z?B4Jpy_UtrKZflc7r&v7ie7M0L0fg^b#J&hoA&9waG^YYT&&E(#c5t%<;%te&m3Hg z+y`9T1Dw+fddEc-&-aFlAMOJ#7E?#G7hFVXYh@p}=tukXUbs*mKQ7MC!iDkjDql7( zc;?`uavyMU5pXKDb#LRMlIMHF#jJh6#p%=$>jf7v+FIQQE}s1z=X-m&P#!-nO0sbA zgqK(OvT?yP2N%`*fQy5HvzoZtz2PFt^S$BXsC~di4t2zP!9|?5&gcUd3u&L;Yg{Og z9~ZwH){|ab@8wm#Y+Ufn!NrVyz{M*+M8~T=^q6>&3~fesDMQvzT?37(c@JAf-s%2I zXkTO)xQn{9)#33>vSrJsiaO+Dt31kk3Hd&NM-1^!Jm^l|BUeC&W2tGplmB#ag#Glu z(zXj`@vesWh32*NdDK_!)py;8yF#D2VC^wuJ%!0eV38HxR?6A&o=Q_r9*2z*w9eyQwwL zuCeH(N?B)TGbiRS&I_Vv^jKr1qu99l-44CaXU-^(J7;cemJTE6%^Bs>8v6q;ukvNj z8J;* zR9DoiE1C=}pst3~>&>#8>P#)yaIQkGCl}Y5d$^X}itSz{@u_biuJmd6tS`k@e_Xw3 zxS9BlV>#dPn{{SJwBB5}q|ThgHRZ-Sb0XJ{MRn$7t~)8C;`8<0aem$suN+Ob%tj|Q z7oCv9BRe)W^IJ_s@qwgMiNagCIu+uvw?6O?^fjzKSeF-?iQMbYGmAX;kSFHLGc_v@ zXArfnAWzhnrz$JYMDpB9o(f-{QCWG$kY^EjBECGsv+|Ua=Nse+GA0y%=-cn~Z=YCA z{2?#y&CjF@sd}Pq|E~wzEiYXx|IoN}t*)K3^r21Af+psiBiF;zZazJ;tJUYLC!N{Hs4@Awi+rz;!CV&E$F!L^1qh!=Kr+)3z9 zBB^}sO0C}eP4wRI)$NW=l-IuJkx`#VRI%q_4kJYu*@DZ~n&fO{BMRzk>8&?hWaW{!oklGh?d|{N~Y}MXzPfIMZ2C zx!^A+4&PD3IVmp%oc67spnZ?V^xFfRed_d1Qq8NJCEx1QeEA@-RO8p%L#W5!EWzH1 zX;=KZ^}g}&_PIMcJ_xw9GJC!$hTYA+yjN@Nfcv+VADwj05O*I-`qkW(-|GC#&jKAo zk6}%%V4vIEMhvk9Z4tAy^&5w}a$5)Qo0dG%6@KsUUD%vV3x`U(Oz4izK-nFg=(t;R zM%>XE4L#g7w(Q}qaU&k?%ER9+h_72dK5scgBdsb67~8`mO1t!5`=5y?I6H)Lg8UDU zKBy~aXcO~&Y3uYC+`6P+SAE!4!lq45$-XNXTHXn-l*%hxPT9+yItxcH?^L}-e`Z9lg# z$Hn#D@@bq6XY2*P`NSKF=W!q7WbuiddGPyMGo94ZRQcRH=ixCn)c?6r#tCCZV_--` zb|;+UhTc^ASUcCQqtA85r1Cg@&N%Ycow7>uR{HY({nK7vY+RIIb_Gc;Y;&EmvtzBt zv&;6;@9bFXf1zyc>sk7({m3!k^RlaVbX3ACjA<0ECexqV@5b&XslB?#(heO(=b;#4 z0W+x;)vz~r`}W^sE_Cm;**RQ_4u^5ru64nfWGdRoTuLTWV@LyuWU7)>^hh?yeBZ7- zdarxE*L{Ss9_1dmiA5ot-06&ai(lct5PrT8{jbIUfqTHwR@M@~zw9y(N75xmB8q3E zzA~vuU}9=4{J+-UAr-6BUHBTQf98X$0_vDBBHesRZz+Bu5yM)}HnZBo`a z^NocP@|O7Wp1+Un+~Bpd>Lau>o92z#hjuQfoob`ndURGhXF?Ze`sm_)duV6&UiPQ< zv7Og@?G%5J-JkFzbYCo2db?bWLHZ_;v$Rcpr9M)>&2aiD(mE!rIW)=Hr>x|;cuLJN z+2{T4LCMNf*;hm_NxnjCuw34!-s62-yFB@QXw8$XYUPC4th=*)>+Uvm8=6PN({2CZ z?`qBRk@&i9t~E1B&*Od+X+HPGq@N`%IlkVszF2G8j;l9cBb`fn=5K3FIq7>Zur`w3 zLc09edUG-FD@g}(UrIXq`C1dL$n0B%Su>}4bT9{cpBsn%MQ%&ON3;}HU}vMXfi`zw z_ZLPcSHCU+cR8VNb?%4Hb@8;-o&CSEy0Z}9>mvDHkI3r^jVB!)=rZH;@xxx&85q5= zGiUrl-rd=mGn(tMPj>}EcXsBs5A8A!9MN^!V|iWC_WZ7K4+OgUg+9~OKh(b~6bf}U zz4vg}Z{OSCta&-cTptdFyXL&`E^F5QT~T;ytzpGWR(J0A7hqVqy7Oz-;tToQqg^KA z(ig3*n)_$54r%R;Mwh4eFT1%bFyff5evb|98awTnuF#T8y2h6c?aB!q-L>E7SMKPFu0X{6QtM*V=tsKF8oj;pkr8Z=Ql@L zD+A%7t%3NU=5ts_b4QQtIz6-=Q?*!X?2@-gC#S}}r~4_X+)zbV6>Ds9dqvl2OV%Iq zV(8(nCJ#;*SBG>R?cmD5C)^BNobL_3MDtA9PrBMhoXq#1qaPw&=aijHKONRZkk>9V z`f%_c=@MLHr>*Zg4cNv3YjoQBL&iF=Oiopn@q7eum+^eW`a>#tcN*^k@Em3u{02Nn zF1*J%^apEoyJDV3kn1Aen0IBmHQSho9WmDFFzdATA?M7gGbb}nha8=;9oU<##CMm3YIK2Vozcc6VEe6@25jmAFe~u!i(zD{(vTRJQaBf55Ir z|Cf>Oi>*YwJj280Fds)*z9iw!z1+r(pVXC{W2dvtU3=({XGgx$Y47CJw@C}kUEX?E z?W}hubT>TZ-Spwzee#ox>5#Rv1aXet`C`_j#lAJ^=on|;@ocW|*$>dc425UaS}Z~B4pW;giT zSeM#->(al^+0n6uXIp&FzCn2t87G>LTC+Ftev|M0TYO{RGY6?7BY!8!tG!Rl$9#pd zgloYge2YE_=R{TQ3X~1+s-&Kr5yQLUlreDt_6eax=cKYk=eZ*ioxS0|it?*`<-Y(d zV|XU}8e8XCS?~|z{V?DArai!K$ZLFgM^lzy6x@O_28`8QQ@N&dsa@E9mEjB0o^6vV zIu=KUuYxXAK^LmB=)#fE1%0n^AlrI(U3F}Q;lp~`!bhMVIUb*1H@nWv;|d*mv}o21Y1d>!d++^-9#O(%Y_n^$m0f zg^7$`r|8Hps8jZds&gyvZChUxEETMIJpZes>%4=#24G7duf&(8ulllJjip}Z-EiRh z6Fiu{6Pt8a@}o}N|k>{Gz6Z^#>(#rPc_Q%o9ggPvF4t`aUhSY9B{M8>&nEHw{* z>VxNL-U(*K9hLuti2+k|Y5My!iaPQ`@KDr|LtRawja|^aLmmS*E{?*)Mah)UcYvCTf70#0`XoN4}M#`Pk%qyF(53NQ}J<^roV7Ve(Fnyo`F1^NMFs_ zHrJM(fiFNJefhwG)ENi4HhPu(zv2LFHFzH8TaA-&O;dUrJ_&u<=&kri#zyam^FF?f z-T}bdmyKRMc(68l4g7zYKG`~8zS+o?q;K91&o}1l^USOVx9m#t|9*7gYf1Iq>UW1D zciaj79>nHf@kxa<^_hIlZF^}mdIId&u$vpg6>-ug$Nud3&u4VSi?i(J?(~%z#y*D2 z84r$4A7!WxTb}9~5^>9{q0F!s)89msE#lQm9UZpp)Dx|Wb6X`XquZem@;hBHSo-Qb_=aaF+xpsSZS==Yf;SJ@c+{ee*0;kxvu!SwZh&@6w!2g7 z4`W$=d|b%#4d9{yd%{h~@(t-QysGWX(hBTWn}nb9Qf#P&Ofzst#JAl}OrTf`GA2BC z;;`IEa;Wk60nsDH0x2dYi1?eZbGDVvEt{mX*^lLUGjI=*t)a?NKKUc)KQTwzd#f8A zom)5cg(Ir_+!pF=2}b501`ImxN3aHGyfTSDI~!M0}^KIM~JPNU2qG+KC6yYist$m8u= zGhF|1?JG`l+Ft;F7k)0>m0Px~v#HFLwOIR?D3&&Bf6GqV&eUoj(u5wmg7Tolx|e)c z8ovX&KrG6r)|)Aguaf+aisOux$en{-zwAYW3nT0=GnSy2E^f^r5BDzYrl#KcK4$8- zvxnl1u|b$A^7|+#)kF%+7~_Kbw~9_*B)zWq77F5x3oAAryWtXWl~CO zd}*u!e970F^`{1380L1VbbN7lPiJ51ll&2Zo_zm%(oalD$%jU97;N9^JWrF*n8Jsg ze#@aA^tr%*ZVPxqz#*SJXFPDP@xb^!&W>I6g`VX{9X;3x*SBX%3+uac*49MY>$Zt9 z+&wUKA7(@madP$}Pnh@@PDUwTDF>!J#n%9@=$Ziv4Ls z<0+C%O;-DWK{`;)(V~dv*48=7A@OwNioe$iF zWD z?Bmx{7}XgSoH3(v*#``RU(pCV2TaXM^u3dsn+7oc!UhtA{XA=Y9&Il+OIia1>0A2w z)$h{Jf@W8bSd3G=ZHUB)$^ zGR{jCMp-|i4Fe0K3kDbSTr{Sbcj3tV);#)5dyB>663xK`FgNP#S-~{b8Q(5XtMg~U zk>l5i&YX1jF$PV-_pF$A;l`WbdnP;O76QBGfYopBZ9X$*92>)bsE@#b8`JK5M<1!Z zR<*YPouu&f1MnnXGLo~T&Eza(&0Ydrq8l3LqA8jaoJ-d0oM3;B=eBPwebSmNU!vZ4 z#aJ)A;t=oI=br7!D_&T;JFmFEH;+Z@{Ji3~XvhAn`{EO?fln0A_;|RfC-(RF#QyM!n>+jF6Z^wM&Vf%+yS^3s_}M_~)%))Co$+1_?uNoM4G~|@eDL#$#qe`s zt_?$*obxuCkI(Q^OSAaGu&)e#r*iDKmhaShzk)KZ@9f{rV_XLwWsC4e4Yml_C+J*8 zjf?U=#>J>!#zoM3_6T^;T(L65A8U3W7trQjWr)GxTCtt23{lN^xN0zV{EUG*z6pkj z_3ZV39{nHNL;v3bE^PlF{2%mx@gDmBI$!@^&;O0;|2+DaOa1>rkp7=V|F7Ay>wf+x z*q2;Ks`s}46{GZKaCA?X+yA16w(o48iS~tQyZWy5xJ>`wp4I=2*=2ZRDGdK_%TgJe zkG;XX_eQ4wcf8^D|1A37gqC#{mbvn1?uf?D0K9r0d}PxIcV8M^@Y%WOrzCe?GjPFZ znhCZ0NZ&lBPr_veUa%2e*s)zfr#`p*u_4Mw52o_{`J#KtxANqo)Q5xJadr18r=<$T zuQP5$Kl+=S+Z@@5|E|A~NmUK1Ohvd?J$B5?w!o25maxCT`Xio2ynstj-7|-)LhHK@ zqs24zmU#AI+I%m6?MxniuGPNICDnbI^MzS zQm6JG9lz5y#V(f~qltaYxtA1m;z!Q4}rroKN{dTu*S0B?GeDA;66TU`l zI~-e>x9CX2Uf`?V1AGDC%hnYggRGFVgy%K%8EdWDWc5guyxWORM6m|^ z?Yb}v@8@&>D_^^?B@J!Ho-?~$$NJj!1@f$CzuC6yY+t*^@eY6A9(X^5cKwm@FZhIi z;r(Rr{ypl|Ge`H+OPwXYI*HX0D)-eXcx+!k!Mp4_1Hz?rLmG$FA-&L#p)E_iI`J6{ zH6ONnJ9iAsjIW2t(}Zr`wo~xfI=|OToq6%1j^Y|uw?>}?zD<3?y=*zM`{zjd$EzUetA9E<$3*5iZ)lYys zdtPYo;8YJ+oO>PGG<0`dt@G9S8}h70_ib?{cx;{OyX-perp_4S(-{-=lhxa)o%y}s zs~`9(Sn1;GH19h*)`#-05Il-Uk{;BtXMslV@4-)u(NIY*@Xz(Z&-rnox8WTu{CE4{ zZ|(*DD}*zRFZ$3KUn|!iBAw_zy4*3%9(Cw`be`Gs=we@;za!6LU!8)-;_SIz>YPZO z!7Q91FB2E~?o(I{Py5X!b>=~?leiA#djH}&^D5U}T-R}}h;t4(*Q$%KJ>@!vXZ^YQ z@xSAXb>?2K`CL|q?Zmu*c1sS&xdBD(dBPqjyt+>=;eN#oz=`U z-OIOLW$J8-vwoY0-bwS!wPO`OAArBNwywoyQR|!3tuer@%JE2k!vj-N3V8c(J43x9|?#2Y7#(1#js- zz`N21?+W%0d&RF0-lf1MUrLML1A%uj&%#;ozVqVV@q1Smyoc@syjT0+eaqo>dl?Tt zcrO7q*{fQ34*}lkJS)k9_t*OX@0D5b4%!EJ$NAuO_X73|?+L)By+RA`K;W(5S!ou$ ztM>ukQ?uYL-UoOO@WGpOl zxbv=NuP`rc9Z3C7tO)j?s=}PzI31d^Ke22ttTS!>>&+O_QKW09VFSNky%|LMN-?%M z7if=$vjtwv>mfUR9GUt{n|jJli>}&TcIr!}e)`_tW$G)!1sR!oP(kXlfoD20^=XIZ zr)o+n9ofn+Q@_8xf1i6VCnG0Vnd<3@A77?^6j=L`sSg7OcJJi~{!6A_x3k_PxRNlu zO*`;AxR}^R%kYKee>wZKHKclPWvY=TnK}vFP3-93VfUY{OszNwk_!|A!OGU6b=rq9 zVOK7wh%`BJLIfFl7}s#FaxTeE!6R-kiBP7l`YajjvwhU*$aKUlkUVZ8hS=()70Fc9 z;gzY13hLu|glEIJhI5tceb}wDaTw?CQm2i#qy1UQDO+biHxpWmZcFDhvJS7sKigZB) zeI{`YtxuZxlkx*IK52Qp|D%^z`SP-SSb2uJyFMH?iw8G5>;ByyFOTd3ALsCv_~l4` z`aJi4cq1d9z+Z<-J^4gucUbx9)NqEs{VaK8FDqM3_3d=tS^i@%N=hxzJ!kUToK-qtC2Y@KTzo`*V-`HCa> zCBa*0?>YD4qK+!QQ621iJ35&_JQ?78Zil}v2rc$xH~BKfQW@FJ#SKDU=w=^oBwGeO zdBegfn!R)X3~nS_%1+k8IoJoMD_i!&P5O&P9pA~qjg>76_W`~cS@6yBczi#6o3r4X z=!375cNUMm!S@94eWMTfih$4H4<_8%aWDBKw1nqz$(Fohe(QZyxRcKq_ZoNd?Kr{f ze?1$;eUo_YtTAwp4|e3%knDUcZh!8BoqFAI7xRsQ*wXYv(~+&T_YVxz6QEDq5A^Dl zd{XK0_kMge`0A8=qP5x9DR?ZtT=}GDf7XJpW1TsN%<7X*=u@M1mPZx?i;FYnfP)j^ zL-yr=?{Mb>aq>csO9sfo#YGmbxQkQm39Voqwy<6AgAKb`7av)3;?KZG-@t3XmfpoY z=;^PR-(11oOt(!4w*3P8ut#dmF_Yo>x#s9yRv>WdJdBO!Idq;eOnj9Z>7&?Z0e^WhcqHh4 zVXPq?NU|4^WDlGFLr8}u8tCJO^l;!0#=gg%?RU}tFHMi+%#K-+9oGIW zE+w=8mpS!wdR5r9Zw96dn$Wm2im^ru` zZsfYh1h3@1+kt%sGKj{y+AZ9u?ZS)NU!I)MD*R}EhJddC{H)z8PHt@d2Ib}xdp$zk z!bN@(pB3;?f_)^!DKD`%CT-yv6FRFJUco8hc9zOEP^Y)W&emz%y zV&^vt9~Kupb8x{p?#4x47A^wL`N&IJCjqZR7ZS{E=!EE%VE5BZ(TKKomqsX$Vm6ld zLcgl}XV#aUuK?%)3AQDVk^r|lfK<^fg~peMF9hyM?BAF{frM%P8?&HfK(~+06Cj zbL!0Cp_~I9sWZ2nRcEf|vh-=XM^8$iPeb;BK1G<{sWs3OcOO2bzActLrBA0I8<)Q* z4|tGW%i^*O{fd8#`kvW``hITf!wzW5SAy-O)M<4y;$15o8CtZrr+r$~doKGlD~}a= z&kkX%Yh2j9rBl9wd?fl6SFE_jj;-P#_DVEf)Kdvjje%vqw)uG_NVCN!1y!ijj#9bSYE+55!a?%dK@PX9Ob;=x}tYndF+ zw{w5)JhQc7%dR>6j|@R})id%~d1#19rv7;axB_PFF$zCc9+He<<)9Kz#;GdJ>@h9N zl5ciw%aq~BG{7pEM&J7Pm<(lDn~G}sTlSM$cXPnMkC}h<0Jq)|hCG z@!ba6K0M-#6PJF|j}M^_7vHSdA49Q850mc!@|nhjeA-%q3EIQuo+Cp%BIcK~&S2-l z{xo~ntgmtUG{%)!D0`0fVmD876nh8R4?zcVpK7Pv2C4g`}+ z(-*%$%r~B0%DwUhOjAnyK@j^k_33f!=@mM0fzNNjj=0+4;^e(e7m%=sS7Gt&J#1oxk3 z2HO)QH<*`6Ma$Kf@V5ckX9mN|(gU3RU1+ZMUp<~zc5BRC$M(nanwsB>nNOlwzgw;O z$$#+#jm&ZSEEpHhY)aez({*&>FM6({vu5tTjvm;@I=T)R{p;v~ zS?lNl^pnazz*|QTU>$vZYv1eWFxC^hjy`5 z4JmQg(N(E>Q!!zlS@n%AyQ=vAN(pN$sq)x$w460!D7ZQizF?%cj>;}a^ipe~#+IYs zlim(pV$HzHloO+rcUG4u9b$YyW_=|#OOKeShuX5yV{6RU99QYA)vCu|hZDQiU#{w; zY(v@p`6ON8Oy-r*ypo)0Sa+ zzas2bU7d#JNR`i);p@D!{Cy$sw3ijFL2ik-whUjHTGSEkg~u;;^b$R70nn+Gg|X9g zVRqpZ>}(qLfO|CePx;_Jk^3feh}m!-F9ENbqXGfE4$b1$JL?2Rn(J*h}A>f7)Kr|iD179T@o(rUNScA zWrL&c^EW*GkA1g}cTw?M=*6@iJ@9fN{kOFBe$wo6eoo$pSkp)G{vmiTr6$QadaS*R zUU7M^>)^fg{V4dlFnpHm_=gZ@Up9T>pNU17jz%Z6j*PhDM*R4s0U9%I{BfAPj!1Mx zdKkK9*`N-9uhQBVG4yp3dq%E8u2O6g6!)+o5p52{7Pq3SmP|TY>w?xyjoTYnu`a~L zS0cy_VeUzu`2q^w8XXc3C36d5>B(E$==TX+bo**WuSx7lN zPyT9~%2rt_Bh0fBY=pP9sa`ZGs~A^GVK|u=g~x~${!hJf1LhR zf7}WmsrVZ5y9;h!>cn_yf8C`EIvaY{(B0?O`JoI=m`)t>^Pt7@RL1h z!b=+G{<#%3%@Y{wFL-sH!#AdvI!F8JJcB&V&}Cbv;IVa{+Dn~BQs-gbJPC&mcI-G# zpw9JPouB8M<)tP>Tg0v z^z9M6*L=9zG`3xBZfqN-xov93{nxlUb0OEoW9!VRTz}*G1=k&?)S0hx9mh40YxC#p z%zCbhew#S4e)1ZXWrg%ps4SmwS0`^}R<= z<>*iJzQ6bWM&En!K$1E1KIFZ>f%g?WtANK7bhA4oLI*I~t* z3G?8RTJy-5I3iA^<+ytyrToXUc2l{@_1L|(-gGhrKK9&Q;l` zO=aFlE*4FZ?58n2t0*J;Y26vcT$M~HoZrMdJBD5Rv=!dI7IoLS^50p^okG6RIQH*r z$yct~t6MfgZOk9(*lgYE>$7}yKTDox>2F*2SA2Cp$-7+6v2*PpSEOYJIr{vfjzhEd zHpI{U(yNp8v0Ja_ud~8eCwt1yxU_W&9^2jrd#Ur3DeT|Gy!{(u^WE#rQ)Aw{8-L=i zgt>ZjojIH9yU3T#q)lAk;QAt04gPkrr`GsWJdh#CeGz09zpN=g4b2rJKCIg=2${o2 zuN9Yl`$}vS92s(oBd4e=D?<+R$&k|d-%DPNi5m28yIT6Umlxd70~YP$|0l3K{Sjcf z!GqownxZ-(c3hz<*teo$R0kz+r zjp)jhclcz=g{=|tHvm^OXJK0+un4`+!fv@zc#>TCcVKykF|Bfff`Mn!n_zp`Ue%si zSERT7IDWq#$*PXWQaG z`@`>7JTAxdY1=YCm9cHvzw+bTwiw{;%eLi8@L+9QuI9gJW%bL%VdqLRsAv4C-rPTC zo+-Iz%dRm0WBJ5fC)InqKQPR21~B+ze5N)=n~>$uKXNT=?cXsBI$F$s(eN;7372Hj zQqmz@5iaR_wFgj~n~^~mc`~T2BfISDKVsSIb9R?Oo%6I}8gHCq$K1+^>%ZcqElo?t z+gi^WkP!dz3ga*4$e}N>zBJb??&d$VZe3R>{=>~9{$m4q^c;PU!=qf|doP;0!h3J| zk1zY)Yrg3GaDC5QcD}!u_p^95E0EzoeslSbjzrFK;)I>w0$;%X3UdVfbADBNNPHoB z%S7v1$_SW}R5)b1@{{bJCKu+&r$1PB2X@>mu~Bf>ZL=iMRX}^glrP>!`(o;^znr32 zZ*CrFPLH@EZ$PV+w~hW)-s(ZvJrd(ja0Dw{AF*8gYaRbhe5EVC#Qqp`2OqfB0&_vj z%gklPt_(oS^o`)PbqSW`l$P!9;8%YP{42I5%$E|x zEFragL7`{M^`>|lV6{3L*+*#}9L891ZKX24CW})UTPc*xp~ap(kmO07 zvIm-p4N@M@)o%j|GW?EfZ-dW6lj~~|4KHnLsV?gHO{k}>6y(XVS9%&>9mSK%?ZwXh zN^s=xso>&g9*;IoV;R0ix+TRoy#UzNF6|rl=ELx`4{qs|{5}jR-dR2k-rLd7_~HIB zaIend4b?9zR=RD8^Noc?^391JEW+XR!(2YqkHh4GuQ;4h~nUU++j?`+y6R)z3(OHPC}ceiAQDuJ`2w(A3V_0 z-Qbx8JX5?n9e5sCe+W2ef2Y;$51ngM)k~e1`s%!qJi~o;3Le`Z35Rd)IgZYu&XcqH z<7=#WUwFX9!EulE!~x^9?71awYyjrlG>!W&5Ql91lJ#8^z*_)#$Mb9g&+-_5`NSA4 zKrSl8x1xf%R_MhTYx3IE0ZfwLv+;PeuT7ju+e3aI?`zYmwoMV@{7HU?-b;Qzh<4?A zusgVXZ2cjdX&3!#jyd_3Q=UDRy?(A`pCz6)R|WsWTpKH}Ddzed*TGzcylXoK`(bRC zO+_>M*GZ{+KRdtqsmKE4L)M7U8pVNXzvs~U<|o4on&mSmS{5D==z6k@wFUpYywQ!F z1>+k#bH5qs|JaA;7M_E!X#)nR||SJ&6C_R^ldp4O*xPy6xq>^67p zy0v-qPkZup(=OeeuOl8^WrL}<^UTD{x9p1ZfAI$iGlNv`Y#$^&e#`19 zv<8SjQhdprgu7;mMrv)&j)As$jMgW~2wrSjZ*NWOQxN(Tl#at&o5yp;ruIi|{Mgyh z1$^CGUpQZb9(Z=j^F4xco+NL-msQ`5UVLh8v;nHjmdEIY$gn3TjENmZ2{<&<4D zVnmk{lZ|+6lki7XOg7aaUB$EXy{%&wb+CqZ!!5a0FsiKVcxmvX?K-co(f54|I-)TDWCQmBTrVQY6euMCZ2j)>aRm9Q{mRiRB;pX9`9{zs3Fbdg&)2Doq65$&d=I| z%&z}EXs!GxKFRurQ@?+oQoh%sfyEJGN5`Qd(2-o?$mP}~TdKuFptIKccs%;-2OkKf zOe6L>51`AAB8L%grYMnUmfl43Wh68}vPlK>K=X9L=b)L2NyB^S0W{F{f!6ZIb&DH*ngt$)iY!}`K34EM_JamUq`s#*f(-{mWw@N zF?yb&evvN8V1j+D^zESlZK!T(>WAMY-DS70BR!0M&z7T3%z|%5FYw))1z)8PzF+JGzFUDW(Fc6; ztKJ)Y{j=bEz8C)d`Yia?`S|m@_5$CRfp2Ob@QJ_n!#6Aoe-Z9q|68Vihj2f#7x>Qg z!8edRB|iAB@xceLv75|tD)1d!=JoH0)tyHJYoP3~E`RKU-u$h#MoKQQ^0(p+{|s0) zPGtAnn@lj=2dC_Q{d;<+``~o#e%<(zewm;ISo3|jR7^(`8tTM!M2_f|4H}PNPk^h4 zYx^*KmbotF+Icwsgj_SYD!J^M5Z>bQ>kBU?Hivh1Obz?j4n1am7e>D2(70I@I)~TQ z_su4C*M!@g^LT^d+tLZvfI`v+QqjS}$g;t1+_d_^S`W6oIj?)JuNAFljyJ$tx_pk} zYiXU)o;G$%@PmQyB=qHpH1xF0A9HUOdlEHq*1> zr(|H+#?3+hJ!^SpU*n7bd+@+*@$#b9v8pH9MuV#ga8>B-yVL;hY}%5;nnK$J*N9?M z-&z9?>)Jll!`~|2Q$71o=+j9xR@ndd+UlMUQURW3MV6;$0Y^@FQuCA}urWB|^pr!} z*-MqZ=Luim*--<`&R!1q5$~xrypUA*lD|PV{so81w*GyyqUg>N?A^q4o=SDgXMkfv z3DplR=SO|5zBcM0>?t4O^V zv*Im3VC@Pfu-Bzuw9abHmOQ97%jV-MGqo8L$_~h;IR&nZ4pU}@*D;${zn-2#s5peeiyesbu zY8ExCpC|}BJ$EloWj#+B!N8*CCj1Swm!h)-jJeS%54#ZdWfs!kdgkuoNH^MZA8&E% z4$82$?OQizbeh7+$MGAUDwuuz_MD4$m&5zhN65>_RoEu`$1V@vk-?#DeCD;x-pa<$fBe0b z?*nUJdn+a2!0xRa$bb0_kNG+KCR|B6I`#zie23378z*ns^}*xy=Iu8U#_&wisrpoJcAXnf=%X%RQGL^?&+g|)<`g}j`7!8u%%d-R zqu-VLm`~$Rv0=|0kId|YQF{>omtY)0p9s$HeKFV`-#*XS^`wwFs(m)}fb0dk`gG}_ zjvkrk?6+&J+J7qZ4_;d|{c{HslVpM$S3AnLfky05O5L^&fwpOV&52`E#P<>IKVyh1 zT_Zm_?E3ld#`lwrpW>C)4r0`n>FgTC*d896&}w6BE1s_AqUgWouwZ)s+q>}hz}}Ak zd68txv*!n?!?h*cTYp9p*lh4!fe)TwFYsUo*bPr#unaex5eCmPoVqzX589Ya4GSNP zO)M9Fb;GzcexmZJfR0s09Nkh6KI0+i@R-aPD;shkx}GDsIM>&~A$mEjAMdUFz{OdO z^hz1L%>>TteCJ{YcwcQcQJ*VYS^R!IE1x0X6y<{!*t{!&h5XJl?Q39n89Mwmm%miL z+qhrxX~hi3-je>1&QSevt8nSze=&LH9FU2(u}-+H&>9#^L6P8v@5JBY&UA#cA@@6{ zs3Q`2&A|=j2d-z`D)8$2FL+f$U4@KCe_gXFPqAfGULARwvCq{SCtNM_)paHBY+Xt0 zYYvNP%*9f&@f%(-p>+my^o=cU+ZuSb3R~dpx-Rh5C3xog>iU|muGv|26?k=B?bUS^ zb^Xq(i`aIdO6tnS;VG17akzv$!+dpJ=&Oq}ExX$#96o+FIIQt-NPH{cZ2yT@7xXyP zjNNW_U5ESX`Z{@xv3)N0vphTrmb1BkiT%cGT)ncZ zu)AL>$+Lm|MvJR=cxT7<=XvMH)wYQm+wM5k*glc59rNn@HTap@OI=U+>LP|zXq2z6 zzxe9e3iM z=kN68bZDEUBbMeIO}|X5fyU4u+3&{jPV2&jykGkvIQG_td-$K7m-u)4M2k=KXmM2^ zv{-BYM2{B7dZESD^r6GQ;+vm-)uj!{UQV2~Z2X<;!{4vSvljW^;_n(C{(hc?zs+Yc zF2b6xo0*Is?<+v(^VvgP+94;0$mg;;+hOoB;(r`HU=8a^(p|f(|0et8WmW7& zY2VC*H#_|Z&rueDhKytm8Di|{ENNH2ux8u)|ByVY@h@9e#WBwKKTY)dpdDP8+f?RV zjvOrf+4`nZw!X)n8kr2c9Ik-*0{qomPTh)qQzYB|m~8teOHVwSe9r#5Ba;KyR~udV zFwe95TYCw8iL5RAe*8!r-l~MOAfnjfOPzi$`4O^LOg?9e@ZIBG?CEVa1K;!L-O4oi zo%5lCHI1~%JrDFG`6qg7^FZcOlrai@M5n)I+bG7gVibi`F1&-BLE@#nKlpdw zWAr)R?QM+S0?*Rd82#Nt?D;b`V@(Nj+m*GZ0-aZw>wzmci|Q8%vx=)^Q%2{beHHC{ zO%aWB=qcwOz>@`HLtAz3xaNWOg*GEAY|hWn%NIxPKo{b^N3X}87CJ-GL-MX8?>b-J zs-hhoN$%Y<&0Qa7>DY>b#?|+r3k@PC%3k`5;PC?Ul2aB2OCei_V2D$0+*j@o_5i~e z@{aN4JrWoydVwL|gCPLzE;cWqA9Z2*9B@>5?L+RvFCsPw-m%ONPcd~A`|7x95Ad`h zC$!~d@Ruui&@+#5^nfwP53v zEo2p~5%uete{pw>5dT`~>CK;`KIuzcev&g($(W1K_5+a&h(0V{Wcajrt_ckSW?6JkN#FMx5`wu9oN}s zFPDO6`#u}b*=H}`2A)+{^ogAvpQc^X>B@dZI@s65Cvh*{NwT+VyW+l=-u92)d%qop zY`ARQ8UtI9E4C0T$?__S0Of$M9%ISS9Yv( z-fKwh<(|E+cBDe*Sswqjr#lvW09$)t#8A$_UEej%=?6FdJ}8}5%08yv+w(Zd^J2Ix zj9nCaCcvrrBp795{b61*_1>YxSOJ&9Z+U1@=UV@Qn#mSB>u# z>9yQXCH*w_<)l0KX3OIV^T5NJ z&wY&aRPKk7{)2LN{xo5V9;!8G6cKZpXOEI+70`tokv1Dw*)`~3ut6P&R-(sO;~$sbg{Ww!3MlxN>(!&yz< zYG2+%C~r1p2~PQmJ$uov_6yHr4E!Wv`k%|0*rffqf9ny(%Ou7N>5qB7g7iz=&mz5y z`zq1{xF14l`^fTH;<2iUIVE~I*}UZN6&27VOMiuv>~-c^2PeJrS`pUeNHEjh&U}|X zTiUz{+UzfTCvb{m6XlxYl!R;Iex#YD1E5lfG}q zQICC}-4AogJJ*-@aq5w-J*+Vep2%Mo=e^dEUqKh_`d$j&?D`HOd#vjtDRZQ+%)_YP zuC3YihshiE(11=vY@8iC_3#el~_t`wLhG7W(3h<~`cl7#erY0alP~Z4d6{`^;IU3_Gaa&v(Y~MhPHSMr(V0EJKgQfW zeZ@Bc`4Yi>Z)MT(z>>&)Y7_C z>VwLkMFS#&L=B3FC2eU->%UZ~Qi~NWDpgdf)S^-iiIJE9qNRwH%KQD@KiSD82?)G> z-sgGu^SPhdd+*$H=bkxp=KPy84nFXAR(kNX=d-Q{VGi|R@^Fr8J3y9=y7A?)il>_U zBUkva!ddLG8kuP7Ld1%GX`&g5jvR{825g6pUD(tPxY(@ht~Cz+x6($|M6y47^On|2 zJ`T4Y-*078X^7`cH8Pd#bc*Sj-PEnfz}GGy#?%xHg?@Z^=-&IvZ~LW-Ss&rWsyJ&G zfjNWuS3IyTx)N9yVrz81!PTG8oup4a8rj6X3!GfrN#<!|%)6gUrR$$d;}1l( zI~e<;_MEr{T>JLN6K}(|gI+G3PWt&R*dZC8$gLMNp00N(ZZ)D9j!08DjlPe57BUs+ z?%4VC-?DXPCuQrL>exEz=XUv0zN+`6w00t09|iuBq-*EYTInn&mx=aZb?uv?dHIg@ z9dA6irF9y1PPIXK_|?Wb;*=%d$?tveAAsw{zAzu;NWYaWu^YJRN8GOBX9{??ANx|7 zQVf&qtGAFFL*D>Q${xH=_Fvfzm+;OW<`&jfSAl!tS8E>=dyIPavx5v*Bx-W3Wv;4IOCk)$h?LmL&*T6?aw|0)uAM<_7 zpm*U{^xvO&F7bNh7Z5G>;~By4=jAr*M{cv5D#M+wJ=pMiX6?ZZ#CPm&j?nMZuFlpT zyzxM0?ZKP;*V=>1dncPH$I=(vwFhJ8Og2M5pJ0~8)@+aRf7=UbQ$(pcevHsi##YNv zXdn)5;_jOAY)Y*s|JQ4MT1SGHqEgeSJd$}!J-o0dhvti7%53uK6|&D-Hfz}`&|{-K zSHw}m5#uQ37|c<|5$7;bU`uA@*$U1pIT9RNn;w6DqDlO5Vq07mzIP`_n%~xr+W43M za2w}6H_<%!6!VfdM+}Buvy$-1gggIC(EifW-%{WcdOQezD8IVmMd0Z<_pEaLru*@K z@xj<(@T2(g8;ZLLZpZLDTDEFD8nQQQqa8EwZU{s;Za`!h%8$K05sV2qFWzQ#&1aB4qgtv7A< z{mLcG1+gdx_e(f-=2t#|@9@X-`5u1iv1`^sbJ+p>ETNsQ{WQ_Y`u3bO^y%Z~O?`uh z8*F-Qepeqa-#gRwy(+$-nC~J74K~q??=>d8gID6VkrmK^yjW+gqqpn%ZGH5UG3IuT zheuFy*fb$oL^$?oH!lWpU5fq|LnhF7lw!|C&T028Hm*0n zu686Eh3h#T;QI0auKk=(;*Aq`g6lqe8P}I>9%D}Buz0~*=(9D>_v#y@`&L2=l_sNO z-F(a^ZTEw^r~EjI8};?Ee`mS6TQ2rh$z_TG9DHlI<=r9J8y4WxiDPe|^ke!oPnonM z3*m#UT|0GUpH_Dd-(il;JGYwr;*2YelNq0X+M1WdkDFpWYFspSG5gOuV^^`w%r%o6 zx|yloy2~$?TUPc$ctk-2dyKbk5c#X?e6+INIy9XW&*y;Gl#y$3aB5mpoLm&~B)Ry& zspNlq9LOGEkAv)lzGd&^N*(OwzzF%gfEW|ytS*Eu3%!2wZQ3iy=i-b(>LjoW)qadk z?`IjCkL2ibY&{{ypuR)AHe%693H(%h-1>e0>CvqH^6m%eM7gdcWB7Hig-)`mYuQN1 zwdxMzy%ov3@h80Dz?0oY z?I^+Ks{GTXyeEd;H4@i&*!{h|OXF_NLFux-ey9IWoQe$;9AAA3Hc-k_IWMC8_-oip zf11vWOYkM$myit!KA~@~KsLyQ7wzg=66xd`*Sq_C70-(g?(Xx70WY$iSG)7zsXge= zuEvApO7V?@U+vS9ha6MMk>nWtyG%@WcrV~bbhIb%{JiywyZ6cY7lvCl zFPUgckfq`rm5Va#kVHSSTNF9EdP3`V3hH8vLGb$^{2*vs_}Z_L{S)q3*EouJ<59ds zx})eQOHR&)FUTID{|gy|H5@LCrOv*_ZF8hYYvtZp)Hu{$H=^g-2kHtN~&;R7H_{q!eSR8#pxMkGuCz@K0MI1}(c7H5hy0HCN z40kdX$!X_|MdicQSj=Y}h{x{fSj@M^Vwka5XpP0?8zz|M%QO8i+SYiC@4;M^-a}qm zz6ZQibIsJ3`?Sz>%d=K$|IPDwz_(YR_sN=R3?*Z=jv~Am0^l4d*?D5`%Zre6_dr4?5lkir_Jml!7 zDR=HXmib7wfQnyjX{}FGF;}>2MrD`3XY&^F@40gBfz*@EeG2tdNB3pJxZSEFJFwyg zuq~rcMVRBJIBP9W=9v-T+|}9VuRBRF(6tMrcQmmlOQRD5L3?!n1nvp8)~){dpYH$T zDbMxVA>CH%X8$fyVPD4{#>^sz(HiHA#rkKj)IZ93mxAykdSB_;JrEDe2?Q#8p?u}#nxoaxRxjvfz zT1S}Ut*OjmP2~Y)ov*2U1NljQcEwkJ_t@QEQ#q9Ob+)GR>0f5nR6fgp#otG!OlGg4 z$)?s2i$l5fg9&D2;hODhZsr=ks(MP@_t#XGBmb;AKiqm2-;%F!3XUX?yE*{&Kwj}jL+_{voq`T?rOwtiZ=LYzy>Er}zBp^F7RSlK=6!Fr zx5wq5WXI!oK7Dy@!x(cBM-TqLPbs-L4xQM(LWlq5+~MRi*%#lplUt2^YJJJ87CPB% zjGUa_@T`|l4Ic9w?i=#^2fZeDXRlMx1?cEI#G)qoD62;rT>tKBb&j;sbB|qCKD5a^8-7s) zSx3;;&Un_H;J{x8KAZnq2cAyj|KJeMs+ly|ls8Q1!)a4asr!E4l+ho* z0(UR*Em4nW4aVoJF;D`pigAd4m5Oh9yk`kAiU0hJ0Pp(!7l1PsIQD!c-s7yXNm3?U zds5JsQ1yyCre)u9_B2dod^q;yo{4!f?Jz<4@nTk2TJGUxNGyeHp8M zzW33LH|f@WJM<-VuOEzz?a!OPes_$S!r{xGdRI_BbNTWxPmLGXI zu}8`?Jf|reSdp}w7kD!~(6&2m3iu<)+1=9fj;eJba{uO#tN1E&N|P7Z>rb(2lC#K6KkNjr>PEY`0FWbdMxvJO^`47dBJVIl;_p0ThN{_ ztvq)}zSLQs$O!GS^F%5)J9*si=xH8lk$_2ikD?@278pX0JPvrX3JLgAJ zR%G~5e`0x3G3G;jR$nw%WH;K_89(|V-|q9HG5lYoIcof5v+72d9~DwAs-Iw@1J-O` ze#2xl;y2{rqSSqV{Ak~)o55KL{V2Mg033~lpPw0KT)Vtq`wF^i=Um&+$lql6(d`~T z3VUNoG&{1|rCt5^-y_(vu{(2|MgOczZX0jw|J(&JDM) zPmnuatQ;`A!o)^3Hwyn_tTK_$Qa_zK{P$w5u~8|KER}@$uL5Uq1fj*H1R{IEog!KK@PPCY#hd z6U>^(n(g!WpT96|YAIDGhFqasNF$)5kBC>O^ysLEM@LzFgW_;CKOB>18Y51Om%C0V z54#L@QuY?E!mm)<_^H*F3TQ-hhp!BparYpp``s%a?4a1O;%t$uHU8N4t;3ffhnYZ2^9U9_!&wk`P8?)&k7 zu_80~cI3zJzo~0K{xRJ5Wn6#m4f^qCp3=1+ztZ#L7k-%WE$_$w-SsU${E_QhPJlPb zra|BGaCGgV;8nWD@Mzb*CBJ+BJK3`ji4WYoxZ`7|2y*I|JSK|*N^{|)niP5 zj-&oI#`Nas%8&od#tg3i$p78N^_??aT$gr&YsFy?_HbRc6I^FmxbDc0e@y__wjY1S zPH$DbzIdE~+MscL82KRIo1gLP z$dVD}|oir_CeJKQo2_$g~oFZrjBvHa8K%dUTVTXaYN^z5Ia2YIxsKK$?SPm2zU znQKG`F?cEdWb{*wq1~s0Si<#t%jYe5LG-ZbwFzd?+Y{RH_ucV#mv-XsUJPGYz|oPv zTYFTf-zzz!ndvjdN9`#d*Y6=7>-G?jWB&tqJmPs*$DMapxTRtq zK0uBdj_lPFOfGAhKW2@tFXxD^gwu*W;CBo65GSMm12_@CT>D&~meKct501@mOlaqm z_VG}*2V?Yq3LfTzhmmt9nsFTK|Joi8`UcU1j|Yw2FB&H|>Oa(Kn@VhV^rZ$6Mw0gKgW?dTl3P6*A^GH%GGCft;-A00J)i&MXQxderSALw5-e4X=YY4Re2a9x?Wgu_oOJ4$j-R-aST)~Q zthwIt7lV&-4(w0lsbk$pj6A%Q!#R>1BRNKKq&UWMjN_1hc=O#E8&uk}LHTX?ssHX* z`#OC!=~egrNqjsbIVxk58%BA4pA_X-j&U4iG1q@x&i@JyCok|)H!tvT&W-o(vAo;Q zOEs1_1odC2u(t7!{mvl{a3=A*_zf8Q*nkQalTT)`l~3mNL!`&t-&Q9m|5sDL+Nxjq z$rh)6EMDDiO?ZlWDXZR7z%BRWg&@pI>Q-8HPXwmq89%3uVlGO^>w480pR|^w_t*M@ z7L%@REKc`sD&Z*NhyWu-9mz0P9N4|xH|RSzvvz*7wRZmAoqXpC>aVcs_xHaO+?A!$ z4R!3hp*VPS!JKSz#C0>(*e7pM+sK=75B`s8XC0T~LnNnG0j~_)>lxuU9(C9D{?^>o zJedCJmW37Llwbs9ICw;!2_44bj_42c~c(hHQS5#N??M_}j z+Iz{`pU~b|;+zKI%GA2J(i+ulb1(N@8^Ho#N#CypuIO^x!HVN|?+3>~+N(R>t9u>q zHq>oD24*(=^6MG{_qUCKSeo@t9Hkuoej(jcuCMjy2Xt>untPkG<9g@N#;8MMH6E=x zwp8e>#-UZo=uRvX{i{6A`L#2fE;o~#i{mq!HhJ@pavduEKSQJKpVd9}Ur+Q-t*O-- zksy46r&=8UF#NTUF^~`KU(Og14)t6y=T+AGgx@@muAjnYC%U$2x;ylF*AFvv4Sa{L z8JF$oT0A7ow~4NOnvU1@Mn84wS@&&SM{tBQ;=mc-?sw^%dUfzkjMsK+y7b&f_(MzM zg1vWWTXt(_pC57?kuSNx_m>_tV2lZ0hpnR@wvHdC%?tg>{YH5M=V{8xw~jFJtL|;q zd(>`F=EN$>Hlg>4M*p_IX$|q6ii6PgcXL_ebq#C0db7rhauVkwDUaiPFy$c5xBU>C zaSpagN`F2NGoNSIPHtFg?r3HXTpQ^zmwAYF0153gHO%4P$~j=nw5IL`d4^n0h(;|s z&!=AQ8S?qd{+0$tx;fHga&ulH-K027J?H0d3sc|D2L;J6mfPop+8g(i;8Hxpp`VD} z$(|NFd6#&5uq~1a6!Yi9aodlNc_sPaXR)s9c4F~oX5w9n6^{zP34xPGL+7jw#g$jd zr7O{OFi+RaXy-YV($IC*Q?Yp^S}nBy~nwb*=}Ve?Lgaaq3Dx@W<3Yh;c0g zmOU3}o#&zDpS0#Dy}1C|DooC7QtsF&ht?V7rCb?9aXHb#?yZ}lS;+^Rz*BY%S;4sb zOomLl@o;lm90}?rW;UJtgAo2wmsj?NRwO%g%wyT-o_F{>R2yK2rfsDy%Wx&*|@u{Xa$2RqT%6Key38;$s)yyq&lfZ2FAv zLA-n0)r{XBj9*HB{I<#C?BTI1^7w}beKC1_6m8M`x-)tFP2ldTJbsZwe>=+KH=n+1 z^7!QacP@|rZYSRvl*f^4qFQjbgPK?L*$UAfR81pOc&EWsVTpK|tdHk_3a^O{I^PO(&kxLon zIF@UhuS}bUEb>hrnvuu-IZQF-+Q(V4i$9MoWNun$%}tjb*zx{slCi3&TV>UK^J8e7 zb=}Gpb>u; z7rT|@Gh{V=tN)$ahhwm%+aKn9XUBR$&<-$P-zmKyQBD4SU#B0o_6cY;7C)z<7}-j; z56LasQ_YtXvccI(PfuUr>FGUruU#i7%PsWkFYxN8dAI7vQnHt^ceAg5c=f8hdLJF2 z`Psc6ggMfyoAl~_ADCs-wdF(E%kCS}`TVTCz9nykldi2`&VJonP4(=ibeLSu#1kI^ zF0##B&sH#;^?C*~FY28_3G8 z-7k!7k#^Dt>|ubcESX+?urs@$V>e*GOZnW-vFrv{G2SY_n>Gd8QzlBe<~wQA%Krx` z=YGyEk(76FKAiFl&i8#3ITm3&$>ERD5>JQH_z0ylJZJ&7&IOk3^b}~>*R6uIoThHt zs=N3jWa+qcCs+2CelU_cBdt0|I%A__**s3&xK(!n@N8SM@*#=89j!ellk{O+{dlpH zCyBg9dz>33ES;|wo>}eULpckvA+?}yG%7CN+1okJnBb6Ju6i}_GCN22$A#o-PO^3l zIBD*sEk2jxdlrKm?Fk}U)Hv{QD_jky{&1`QyTJ1A2XPeg9x*KOL;x`6XoRP!OR)$w%0kUr2KG^aVOmzmR?9bvr(|8vbv z4Y@JV(goy$fG(}QdRZs2cJp8>h3r#G4ZskBP>q>`g8^!~p(lKQ+;I5$(&NoUC;W-gCbSJjdQJZO_#P zp8JWOo7km3Vfcm$s!$-DPPr@iTZH<&B&tDUad2l=42x^taRI+y6?L zk(B4_I%O8;*_2-+$LfdtU-hlD`Pru_vyk#-a;nbeIG*eIoWH*{W!8@%PxM1$Ov8g? z%q`R#&H2e(k5kr+&-m;1)V`ND7TVm`lHn`i5ZK z_sA~3VGX+e8cWxIXCv|qd-zD6Ssq3HI$w7CS@qJ7OrvBk?O&53R>76M@CiFQUOxVS zdB6(uob)Kkc2~aV%U8`i z-}Z6Jq=sQn`3Rb#Jc9FF%C|N_cSEtK{CJ}IF83<RtwHeW$x0 z0ej#?weISUrf5I%pGBWRt~LcFJX2yl^KuYAZSv%|f^6z$TXoO$+CH2*-N5D1j*RHy zRj{=`aJ?1p^LQ7qmr!?!RX1kA4g=fCG4J)6VAoK;#;QNR3)sOJrTskE>d#{G@UPqu zYNH3it^jt01$$Z$wuN);6YvsH>@w<>S#_6Ku+^V~ z0fmjAxcv&kX1SesG_YnHJ8qH`d5* z?e||92kdbc>}~mh@o&+~Q0fk~>Rt!zj>c#{^pfY%OK?xE_k!>(dI|2S^=%998l%Yo z-q$b(ud(Lfm%D(yn7WItx@TIj)u(3#U{_PW+N%F}7qEl-oy0uY6-nZ;651c?;*9CLclK_TUMgNCUdX(%R=IQU<(>X@o7Zc;RUPeZzpwg$ zJle7|Jn&>6)>NSf!|zY4>(iPam)&UZ#P;MSr;^iW*xFUt=Nx}~N^8rf5F3Tg4sT}9 zQrA{XnalD1kHW2^kV&u+t(88XkF8qsu~W*u1t6(wOhqj$cRJI;-yW>s^_w*q+a*Q)AU>1)hK3rd!$8Q`Ajab*}(k z6j;7rpf}?LdT6-s(e14f=)kcJM_qc5|CzlZo!Bn+hiqVfNbX~=NjR|_?71lU6k1dX zeMOve_kKBRh2zA=RUi*lcwIUd-d{<5&0}n?Jv4Y<33!^Si)* zg1QN-?ta2Q-#{EUzMtB)4{dHQa}`s+*s4FR3)o@mhON3;9_+LS`-V^2!(M|dy2g@4 z$8-UEF?APPbz58AcF*u&Kewel>}u*)TlFvP0`_R?j<)Kq@?ih%O6BE9G?s&78{g&B zFSqKS-UaL^b)#0@r##qmymoKj+P>Xekt?@aa%D*uuvbxcl~wnbf}NCpR@=DraP*tY zrqZYEIfIU)F`$^d=iil{qrBy*#`2KH1~Hb5i#A;+IkRCJaK%4+L|t9ysI|VX!?;4% z(e>6ZD>p#Kmlu?`KOfjR4=4qGsnzar9!_oq-`zXFcW@utbzQ&??n8Td0N=-d)*j!% zeP~y90Xw)4?b#l_Wm}zgn2+z5+u{3a3*TEDUbG{=6UfarzF)215#K|PYme_J&qOU* z`)6IWdmHlPHcOr?wCJR{$ZvOhIw`Z-{q;`TT?bsd-9PQ1-IoXGB3F5=e4y@`(~(ZniJI~>?j4dIR1wAF{`>a*{PEmuR%Gwe;54_l%r>O{owD{ ztT`y?_xgNa*(t-YxlIXk7`?=KJj^bf6Zf`XZp0xxra{$ z{+h%1e}pxtqJ>_-?H-_okVOlhThEaXvhm;AUp9%nkw*Sa;)~*la2Wbg?WslPt+niM z3&E@8lMwQ9&_;JSc=W&LyL^xQ>H2=z_=PjY8RN=s+XKdsJ3_uH(Yt(A{(dV4*n0Q- z(CMq|QfATFX>-&2DKm|766Yf+kK=qW<@uDQXCdFRn`$=YKPXpMAm6@+d`o!`=i@2Q z<~%|9RnDW78yiz*^O5dLHFTgU6VEpE$<+obzer zX>)OX%8a1Ai1WdeJvh&$ypJ+{I{Ti!i+z`Jf6fi%EAQaTl2My#0mLEwt)hZ^52JyQiKfTZOB;3ijqgY>>Gb+%$IqdnI*O zT6MqU!4_`RcESJ0`R(B^;F$&1Gb@Ae86Un)F-_gHRrhQMK5dP-cn(Efo8lboioQ*8 zD9;SFo>?4(Pn&$3VvM>mtL||fw0}+jKVhB;ThG*X0l$8K=&W}JmjxDl*<0VqCMU3k z`^D5>Y}LOt2;0I<4Rvd*y4^a#jcsoo#WSO=SagdFu_}*TdoWTyGk|@z$ZAwvLGJ zJ)4M)`_TpHBsrPBI8#@M!l zkPrK2-qp8@cde%GYOC(8>IaWE=snAuWk1f0-#Y5oS@pLL=$tpqpzaK-?vFa?;}msL zR-N~N*I6G|Qn%8o`)#j}HP8C?fv?lgar*h2hi+}HpfBUqZhsbWy_>1|Ky!0O-l+2A zjn3C@KsV@$?bir~6X4xkLY#*yr|nC*_&~4f2e*<7 z?r+-H{J9Chj%^}Dn*`ll9MpnHZeQopNe|{e*61`<)Vga+6)Q=M%G%%3{#DnIGdDSZ z9dc|-5Qma|=h23rb1yqVY-LLEmBU=$p(EcYSEANYxw0L0oC3b7rHXdQJ}7)%LVL$q z=Wo%bu*17AXgreliw@pA1Ug7V2hf7@#2(J|Ze~t^4yJi@Ks*sVP~*ytOJvMBa@I6_ zK%xUzzG}N)Ejkzq?p->N-GBWL-EVHD-_=I7^;p`uhI7B&bq?;-XUo_x5?x(5h}W)l z=%E_=bm(Dd;|I`#?u#Ze^x&?&6+O)8qxjVM>!x|{nj3(tbpdYsZ*A9pfOk@9osT}XyEgX4`+ycXOef?_hB}H`l8B zWv7qsZpw4`68Q_#^l#)|@=D#&6dQ7f^Bwib0QHs(Fh2<2nn#yVcZpSZKfzDj%RK7h zTH-t8RDTl@SLJ$7e1+GS}-5*`Bu4XZmAr#ME!^OCF29 zXEr8Sw`tF3o0!`-S#$e0yTHc^>aMWr{`Gyy6~c!bYb$)zQK!zTbEbn2_kIu`GpIYm zs{0J^%2;187~b*?aH0JMgd6RpA^h|{v2UyLA|zwe*dO%H=ANucEc0k~Z{Wzm3v>Qh z)|rYPM^NgU)*~~lw`7L?UEpXrb(dRpX9!2|idmPt_PVbF&!=aHeyCq-)&HztfZi>7 z98cZxR^1Egypvq16q@E~_@$1pkl;HA#@iC2gZxxC)JpUr)jCn*1S=Dz0HuQ>BqEik7w zCHX&VP0EZtHEm9N8=nm2QJhC8-+3!#-a932Ugi2C%9}W!MtLpg!zmBvyo7Q9=Ucyq zj{7D$F6CofpF?>i=c6ev;(Rb=56*KbKcQSx#=iEe(N!t$;e0&h*_@?U>L zx23$1>&dSY2g-RVrQ`$$Kg`iF4)6w^BztJ?UI0C1wpXWSHjD(G`lV;oo#!XL z?b}cBV{$DVV;_-{UY_ieX>*L{VpcmY=%UTJ)XlZ(zN9uY23|>SXaDp>Vul)6i;x{Cxmsd>A$@xdd&$N5vWKBq}`eBns(N~_+?*zs@a2rtQ*4P$|; zxzM-cpVWqznkMbbtLvX01zzHk88ZAX&U10AJ-wZ_cg*h!sat5(ono~;yOXy6!fN}~ zowR)=J_5V#IUTh9MYWxAX4Bz3o||X+7S==pyvLer$5D5jRrg}2Po>YhGLz=mg-K!$ z;>f}DZ-V*>tNwGqmOokJLA*7{i;AgVY}G$S@S*eZmR%<3+o%Jke?JH>=-W6Fcw>PT z^L$B<-yR}|sXG^{&1#d{9n5!h&raH1jc>uucNFpZG-ZwVvD6uB`5$fqrhh-!ZuvJ7 zR^4syZD}0^EWh2;Xm=zhd*i^IIm9iJN0+!omnIX9OLOWr?wd2siC>HWCt|_5f_M6K z8+_+_Z2jvkTmQSfQ{&awi5Jpmzr0+!YKHEY^2}1}nRA2iE!vq!-Fa5s7aaJ&@@OX% zb!|a*>`IDfQr0sk1mSyhB)O`Rx|LSlM*{7Sp=&REPPVK}`=dM)wVpY^f-jxJp99eo za~v5mDjD+5ru~?k`ojA+pPV+&zL7G^DIa4Fm_vCb=c6gV%XtOmK+X#(@1sng#M;fj zGPmHjsI&YQRcfn)2lAit4$-0B11+}MGQ0DQ!F4{@InUKLiVigPm**_n82Q&n8!K|^ z&Wjuw+4#>Fw!*7e*Og)o5HgJc$Er7u{LAI&lyT{m9N)Z}y&PzhY_0Iiwpfu0{%f94 ztjK4#p$pUIK~dsGs9PSD9y+UDF(b;+BVCNV5)G3>H#LXM)ygm#6QplJm^*v|O{$gTCvu=B8eR$`IPni4+77R=J|CzzhW@! z<5s0iEu|0VjsTpQ7M$q;IJW|4EYBVftSsQ9PfVLxl$XAaO`iW*l*_+@{6jhQwUoJr z@)XKPIBHIS#{Pm&fbx9KODVHB&!*f?`Ce(-Ji0Pv7E_+ec@gEuuOcTMpEe(IeHG=; zIA2J)Kj((>l~=faT-rR%^#zna;(Q$CHJlHnJcRRN%9mb-wqw}%S776({66cEkLMV~ z^=-$J=i;T5SxNZ^?$=WOkn^#WH%?*?b&l`cxWd`(WykWgH< z3s;|2-r5q&C)KTQ=j-i)`+84klx-6I5FJrEzs5oF<<(7JhBs7LI_PTRtyf#I+bw;R zo8Hw?gS=jQs4cSUj^rJ2>Pk+kd=nm@s$J_pEB#~!^=DZ1U+)68@@9^*>Yi)CK2flv z$XAS6*&jBs-`Ky`hFWwkJFEDUu5IPoyMMyZbvS;mXW^@qH*%h&Jcjd9%7Zu$Q@-{L z{73- z9^svCY>#PNcrf~SR(WGb@jb7+kzLJ5jJl5;2akg=v&S`o%b(dRp zM|tqGH0GeSP{efm%Xi(pM7~ekkJETE;F~9Iqb*K@+^Tec#;32n?Ji?{mNOpvGcNNf z`*Oay2svpfa~9<}T#r%q=lqqYnO6>l-|~M3<)xe_DW4lS#@x!$%K6Ge(&i_BWZt2? zjq?=cDV`nhsD;<>fZV68=izjW}^F+Ws3#qn0%sDmGu-=>foeSh)b?uSSW4})eB#ux*En6^w9maC%e9%aFM33ysRSVF9{@@X)S zt^E??&BkYN%$(FkdxK-@21JQmg(Sf$iT9($YNY&a>(ccKT*+n~hR)rR+ST zV#qw${o@JEp_eokalME$>-aHzKh2JQ9CuB+e_uQ?`~qk==R_l9Q#YbAD|m6jc7BHtgPzNscp zBlUvuyPwr>X&snTvmviw_6EgO$ESaJ4rfEPI2s1MUP0= z)mp*YwO96?l4a5>o2G0DwdQ`Sy6I-hyb0A!lT`w9>2z0bd>w~Oq#%D|WFP$Byra5j zR(%LPYXy4Nou|%f*lzM0!?BzDSAXM>dQ))MhRCH^8=pNA`akmEjn8^8=(|gw_4LrN zF)y0LlzPF+V(r4m%pJd%tibmR)*5U*lKWO)C;u3GrA63_GKI~K61k^e$eh_w!T(TX z6ZbD@+=k52vpQZMO5EB2Joz$DR{WNHC6XO~eI+qmN!A>iH2NXF%qv}AVTd~ANnleC zTs8HIO1^b<+lpyhT6>wP_2rzazj~SH*A17B3GNP~kIQMJ+8V#uZDaQY^Le5+6iR-* zA!N4jOu}iG^t|q=Gx!E*FFJ(xe*^!TnX9%P%R6*m@`H2V45`*No3^T6 zPwp3abycq?-$6V0w!iEfipB?W4U(H2p{@Jcvc^K}JPR#5Piyba$7vOHtE{?LKv$A) zui2Ni*|Z@_o8(`)inZF&6yHMsD3494`X&kP!BLF=&sV4GpHH(-GviFTsTK3jcbtsf zyWv*gM!9eTz!AjJGX3Uoo1$hH})juKJ^;v$VopOyX+EdI6e(X)_UR}TZ!eOKY0FuaobyC z>JxXJBlC@GKj`M!4{~|uezY;_)uC-U#a12Y=t<#3-_w_RzAZxaY+HotsXtZkQ0k2U zUV?QFK2HQgmMnvcv`^;8@uIn+Zba0TUzkjjn5Rge1vbgA(9i>_#65x!o5L9 z)@%?>?F+9-#>nAP@a2vETso*gYpq>B9yoeSIt69UHe{h~mMruYa0Omk?q`o}=^{QK z?#{QZrtWI1ZXLMNyX0pc$UL3L{@Ftcj@xK*CT}zaPi%}IS-0^Sk4LE;LyoL_MRv2( zXx9|x^sMQ8+w{8g>@gOU5&L&B#)i|L;Z}QQ&>oF3jg9g{gynPH)#y$`fG=^*Fl2%Q&Udod?Bbm zU1qge`jfr(d$QHuqdIBtIOIRs=KS`)zshfKP16Xky}zWr>hEm&(4K=u|Gu9hV zx18sUS$^6P$WgfmvbOy9tSvtPo7a=ryeKDfUZr!&y27-XzL<4llmkYOF^6zO_fMPO zeSeI(k7Lpk!~_=*6Z|;-N6PX0rOh~wzx^&{mgMv7BA%suK;*OVdX)0zE6FXx;pYG}@%D0EHF9yaB^O`T1zl)wp3zp_H{XGl z(M@HGQvBMzf0r*JYoo@Q#+>?mm&V$WU)H!gFH+EdqxR-G=CkcB=l>SlP9FBkI_#B{ zzMNX*<$!Q(I`Dt>Sqk1Np1Oc>vA`N@C0%?=n!3uN@9RUq^uDE{y1HrfcU)Ov)X(NO z<;3N%i07}vLZ@GBjC=aRLjGFGw^$dCB6#HZn1 zu8oK9@pEeHo4WCCW4-H>UZ3DIbzxo)Og{#TddwO4H%r7DGclLglNfuhygBJMd;n?Y zg_LUp>gzn?#$74@wL3R_vA8UaSuCmDLnfUC)$8=%Z-%Z% z4It+I5n|pci#Z1Je-PJSc$oPAe&pnT2zx(e&i-S}D+OcB1Kjt=fgc+mV?2b?v@eeD z!--AJ*oEexSIn{WicwwQRQ~R@O5IYc?km9a zZJp|mOOGNKIk<}=t7MaVMRe1vpc+{s?as^SG%kJane5Vwxz(p5hezO7w)18j+67M1 z)JeuhpUwf^91Gqhz_Zs2KjwTlYan~GCuNd;rEe8ac_`PFE78>2_Uoyh{!M%U^Sbb| zE3rX6sx=me$$nih6W%C1Yu^7^VE!hTTig77pErLi21oP$T+QFrw1xHv){V5U*Yx|L z!Al)JycpShu_c?&1t;L5P0o}|67*pY1Q*?~3!yO}1GlHSaljjA!JFDepADt%P^+#1 zZUxu&iIPVU9;EqZ!Vu+H%#8CA?w454{ICo7+0@Op>Nc-ooTrH8gr+wi3Qb?;#t%tf z%5iAgjUT$k>DvHJr)D-RLpOn^wZ#uz1CMq2rE3rGNxP4QrVYA72t7i!ilx(C+t~rg z`1W^<2iAB?&nfHTJA!#DALlzNdDhKQqcyvVX`b2CFKoyItNBlRbukaX4_^8XwgLKD z^l!_W%%RLvZY-KFXWH%C#5}yok{R;4XrJ=^uCVIfEic{rpfig5i%YO855-}@&4<)jQ^D!nv;G7f4>Ym)Lf_WJA(Fp-Jwf2N5!xnru7@v zea&%tF3fWmaNQp(GXi5}nl)CY1jb5LV4e=zrC;yaIsXaTrOy=(l8Pg)ZCoWiqJuTo zKUkUZ!4!8yb4l_^AuEXHWDn4IcnvzWX-?NKKe)aAQ_eHxmVEJxF4`TXZq%xKkk@xv z$eYu@#h&Pa_yXZoGQjHryuNDT6@9|dA;g1dd*e&s^;+h4_JuQtKZsA6@=(s%XT`kn z0I`RC)8;a+ms9rVJfAXo8GG<>%;&tSPug7g8=j{;pYu}6EY7njze*Y12Os%D?7_L@ z>HRhKV9K9xzJT&C+f(K?uBG^Y3fIahf55d9IR3=>!ru6`e}!M0viYcq=1{I>^Z$)s z(ykor$dr}6(x%`Syod52>V~=g8t1DypZl+rlmF7s+a}pWdl82cwQD~ZVC2JG3vD{S zWcA}TWHu9nAJdoeD{4+1bF*TO63&`p^{wa_JFBxNj;@RUhndHU@=T+i5zKwK7Ds*) z%(4z(j__bgR`y}0&^Ml9Y-s*b-m&PV6HI#a1he9j38wkw2_{x?^at5>@D0`>%Ac%n z(D$71QD%<5mG>TizT?|5rZBdT=Kiv*>ZY;SfbYtgzo8Uct-+RX1lJ!%-tq0MH^2iA z;o2i}t2aa`|LoaL8TxM>g$=hmZL8zne%8GQ`lerdsBik&iNH0;Ovd7=R|a_MYG`@2 zMa%1YbUt1eQFoD5_j2r!@&oM(PrdGP@l<#37Mo|vUpm@?`9c@(ub^&)Rd)#Qmmeq` zReoW2?)&4Z?dQJWSbd}m_(31gmw+E)Ueeqr-2q8!V?A_Z+cykzdBv+4*$%pElkM8_ zJ|t!~JQ&a$9)gd#JSn3$`~aRL9LcX5CO#>K-^b_4tUt*ST_amKc8ey9caYbPdl}#A zT6o8mS6&%sS}@oAoVc4F#NGUixERWs!zY>#`M;_=u{%FyEK~kx+F1Ud#A$vb z@jd3|_pG`3kS@MyDRq}xb?5QUMO<@f65RxzwI4Jod>zaC?qy6$&QYFfR}Rd`+CiH` zxQq9W;2k5Z_f8Zp@xh{}HdGuU-6Ip{UHgjY)0NY{MH^)6%tQCkKAw_+$OqMs4?OWW z$zy7B_cr=upQsoyCtQCn>e8q5W*c8Y+u|8Zq+?b_)5C?DnHnjH8ihCt{v*&%gy6*P)GPm z&TPm7p5_r>#`rxvz?U&(2hjEF!I$PGe_tu#UAhRmN4v3%zR{+O+~bX9$)wUn?q)3e z&#ehOx7vD6d8kFp{&VF1YBBM`Gmd3E=Y`qxV}8mscOwq4mbf&^n>e3F`AyE_lzlkQ zqdfGYF{Y9K%d?1?`w9MG%3obL#$3a36xSo1zjHsaa-p;daqThc%;Eo)TpLX}h5Xg$ za`?DP{3^!w21%i}B^}Y;M0{@{V(R5qloNcX-~L+lg^2LUz~OE|@!;+pq9o z2IuzYiJ$c6_VNoSm<1yzm`xY3_xbab=N$b(K686Syf5wLm5pb3UliUHwRlrL^ryYX z)W#rh3i>GSd{f_;SvzwYbSC>;bsjdjeRSNVLBx#m7(63VY| z{_(xU6aRaXd5QmZloL6xqU@=<+a{Tx%t0riyoc-KDbMCSLFxM|%4s{Y13U$}1X>lI z+&#CQ{b<|ej0-t^PhI5?#-`-wj&pc4*S7ATiOqH79pF0h4m?b7dxHN2_K}2TAKBl* zYsX_gXm^?I;I*b{&PB*O*n*@JeqJyiyBrk}+ zE8ny$uVlu@3i!|piw|ufw~sGl2m5*NHU1}_??&ixz=5S)}8tGCkM9I z=YulbZ@Xx7P=-5-HV<%o!mL$5_Hb+xtedHoT!l@-mlGt9oaMCNl@+e&sQt(a;<2`@ z@NirE+5dyKOIG+{p#5b$Q)cnb$z8NxvRl4Y_p`rg{MIymexc$t-JHfgJ&1-k!Hcv9 zvpZhque-Vn*ul8K_dM9^fGzrEJ|NC9LyHT5t-V5g*cWvHJ562XJ@@Or?7?mq%gQ^j z1Geqi>B~Z61F}%cl7)T{kcCEDG8FPuJK5__>$zEh=WgdY``dzXe}!FqTQF|^ZtvTW zFB?ObkS`M*&x`9jnelB-g|8KTHpzT^H~jEllgtD6;LoM}Hs>QL@7Rzs=Ws2?|IcS* zPoZ3~9!np`J=7WhDZG*E3Cg3m_F-$v{EhP^TPK<6HNc|0k@F}V; z;Q9B1@Pf9$BY@}UuTg&cBl>F|yx*|{$Zx2*C;wpLACcMRyAppm{iTdeKsrQ6zC_LC zntQrOUB0#uUgFyX*h9yO(>SrPS8H}$vfvlbv(VQYH?mv#e#l+XA$&iiqeFm0`DN8k z$z`Hj!8;L}DTGGexdUC`pOehrpqV9<(>brEyoK}8lqYi@r)(iN+2b6(UZA{PqN@S& z?ZsI)COZ}LoAgn|-gI+xy-fcNg~tuGc-+^zpobWBV^-ZK-q_Mw#I@`wb{xJ(G*$Z5 z_H$ge?px0s)&>0cpr!XLTAB}h%@OMRmC%7bM?CYQ=)j#HDmtPA=7(C~+4IBUZFInT z2k1ca!~4*I&5Kezld{_IX(%)Pg7jQT-Ab$OwX`=2yO!|X&70rkcadCCtoE}e+NWdD zx0yb3!z{i-ei`W~ihml~|L&%J65LDF{v~9_G3$riffhpFW_2~^6k^fYsc{f=kq?EWUjs)TBe){O@EEUw*&ifqi`#HO8>R{ zEokq&t&4uEpx-L2e(O%Zm2u6M)owc3wUrzXZAqpa;>(jq;!i`SJcaYnk!EA)$o4+R zt@O)QOXmMx7wuR@-BniI#=k=E*h3}LEscs^GJAb=cj(=XPm_OX2YD{BV+_UB7EQ?3 zBz}0L_#QMN8>m0$?@A1XZ~ssX1u^r?t;n${AzYYxW*szs7;_}dubJMOZ zqLAx*%}<|_PBq+F<11flF0jjKQ@PcqWwaB!j;j;bN+%xP_zx#m=+efYQUBN6^L1l= z_v6@Bk13er_)!LNFKBZ)fp2_BJ`vvM*Xz!6YvBEBEZ+Z1-U|gaxuC#QL*9beW5c!N`O;3SzfG$W}q(rOo3N090|UPBY7ZrrN- zuT{zea1U{$)lHvXyR|jNcPqYDbE~gg^6hV#xzjc-o$JytIK1?#x%1IW!TH=LHgb;M z`2_dfSl#&Cx>uIxJhd@0H?r}PYUteQ!%G!gpA(ephS65hp4P1>-ppSYC0qt|gjZ>+ zk0;@A20YGQJ9JtXcnr#QOMoRi$4OVQM)KtS(3u?@x0}NXzEV-E+?}Fl#whI$N7D`8 z+%)N*^AEanZ74RR;jT$HL6_fX{1Lpm0jhiykj^vXOH6hDqi}x3b=u^81`8C=chngz`|%vnk)0hR=5WB=b7g z7gJ8D#3mIb{s@cp*udTm#` zjo0q7NRdM$yV~}1X?wW^+i&}x!amV!`y$%joSkXA{Men@y>_+D^MPq-v%enNv2)Xx z8hctBQ5RjwSh&#lu{VbC7a94CI3A5`;-0(CCdqgWMdq&yCEPV1&!y7!&!x5A;~R|! zv(7_0(=CzAI*$i0kuMlnN%`$(Hr>KH59XE@!8;vVF~kBOBO*UVn!;)3J7_3mDu~e( zP4VAa(04R>qn+K>qjKxs*PGdA~{z6p}TJdF8(vMm&w=h_p;`uUh72Aai7#Wky*Uk zUmshUVsF_L_%XMTUqjyjOiIbW*^Kj^!2L4s>|t)H4|6Ww(!;#4&VT+&?k#DaWM*)b zt(#<)>3DyVIhOwWPxsx|{zH8?WHIT)I|mg~-`77vapWp!R<2Yt;tl-Gk z9F~~fbl;(2+CRIwhe^Bp48o&x@vrgTrU+$(GLMq=tq#p+i{{Ba6N=u{kR6@OHRdYh z^m+Og#_giWGVfd5>zd{TcP?O#Vf~_L*N3CEADVX* z-?l_;O!1$0FvbeP@v4R}`;oC0mZ2&Uh%2HU zoyTLp>D`yTP;;teWxt&@<5T8-j^_GFCc1W#SqKlTJAOi!W5CwM{eF1*%w6k;Z7X-b zA1?jB+z;RO`r*R=hJMJsF=h7UNWMGC%;6|{ZxZ>Kh;{IC;>g|+bL2nK^U5aaKgz*{ z-j);hu1lu%Ws_|0+WX_&@%2x5VpQ@A<1jnTTJt0^De-Ae?AZRy4VvpDN7?&vobiot z>oRz!XkYT!{?MR!y4KuCHY(s5!7o65l6|Kj`9jl0`-NL;V$R%&eCNhDcZ<>H@nTavaC79!qX~vbw2}Mt1Ep{eXSQ+gq z15O!jbK*sTr*>(q|BCjMc<=ZP|DRy&L|;yu%`1qp`)sUP0B5e?|C}#RFyWDJZ{Pe< z+QjkiY^78kf4;5+SARHIYlXp0ymswMUxlF_#va zD)#fMV%=wLT(BXctE@ zM+rxaLv5+xUar@sQmzf=DC3B8lyg*Y$Tz>~+zI&pGc-9En#@XKKTg0K!O?}p`N}@s zcUg98af;Y9zA=~o;!Wb6*s-vUjTxZ43;Ea+`doNHo?n4(3FmJH~+4 z?TTiUtNbb2>DwRvMxAlsQ@m1i^_IRN=JJ27H^tW0oEznv(yY--&1||lPw{t&My)qh zj!|cwDZJL#qhp?3<8AKS`Zn)rx979p*1sP$#yrL0kA2};_;qamNf+Ob|0#px$N0ay zIKJgOE{=;k!LjU{B_57rJHhcMwO!+QWEVJ|yb~Pv+sioqe(@M{4u?OsgkR{z@h7S; zdqSf_p@E@{FVTQxh^e2s{zlzL?!=xeo39)H6Qgd-s%x0%O2HlDy+Lt0F((HR;}Ltu zNf(D(T7OJz|7zlB#u7(E>BqD=cI~vI+hUVJKfj;c?g{C%!-yrq{#(r+QO4DGXTJ2Q zYX?rjL*uG*G4ZsnEtvR%J&H+_tqnhAK?FTSaKQ)qbl3Tx)kcS=lMc^pWZq~T9G})y zO0LQ>gwZ13biD3!cKA4%SK#usrNZGbvM zv8OFKoH6*uq_#OBTXH9KB0X+R^}kw6B9c4Bb1!h<`+kwQr#F@G&I<3p=qVrBG@p6d zr>Bqq#Tqg1evqCv)5gsfJ&k@9TP%Gs*!zF77p7 ze6i=NobkQ;&&#G+WW8VQ&V#S+Y%EAl5YIStUZ0k{EfY*7N0K9P#)LNfg!ck|BkXW^)2Msu6~FJ{aw;E=5-!rn=;cLm2_8FQJ& zkj9U1lh55noBaRuF?ia2eOjtNo?w=9tl?O3TBa}jF}NrA`JX%nKbz~0!PJ4_mefZR z%tDSO91jlJ{W19MAGaTa;ZDY&bQg`mh&KlF8H0IyVGQPbV=!!u!PN&(Fhlt!e_V*B zH4goL*BJYvb4wZ+e*Dw!JYUZ9yURN@x6GK^r)ATJ=);>Pn9Zk7FrUA(eO>VTN^Kuk4j>XLRZL*zU1%>(lJM2;mpCoS-M=ds~<-boGbI=4c`hvH&kLCYDe2U{J zb>AP0703Yt!Pj8n2bw(!IFb*)GAN9$$@_GjcgpS~yN=`s>FzO(QjWnK?EBjk=O~A# zIkF}5e%|^CZ8oQ=0h^Qmu88-p{rB))3tKbmw;cNs{T)iV_M;m5C?C6w>@gFc#=Zev z$OdyG|6N~|Y)Fc)8Z)3$`cx-2B;_3RZAjOm)60f57<@>M3fhq3%oW0k#(kVQqZ@LR ztskAoxgRfvtX|;6wH%y@S@w0utdMcrm{K3OvGKH(J{aSyH>#WG+D3?f%8Bv3zD>3+ zJ+E&(U@6~AJ2ejUy!5wR(bX@I{#y`=l7Eu8 zEE8SYE*|;A$F#SK@GtwUWD4xL#QJQS^;C1*!&?h&H+Kr=Jx#r;Wfu}ny6+r((Yb}8cX6GXG6p8K8vg?r_OL_Shi@5qpQSA9K0kN@8VuJa}VR_9%rq!Z_ho7 z@gyI%+MiubTX-&1T^qUuy3Bq&ZMI>vTlV}U(*rxj0&Esl90#U|N9J0DqxMDYdD!qH zb?`FJc3X*_mX-8)9dM83JJqHta9q#YD-(5drE09b{xmspJX!ZZ>Zy-!P+w3-_ceFD zXw^ZXME4_a5B;1=Y>x8M>Y3|!W(41%|LWHtJN;RW?dy&v&9Tx8#W!?+4EF?Eyz{q9 z-T&86p6j(kd{O$P@|9}d@Yft{LJwa3C%*UmqdzF*d*z#zUsii73xBeEjUs+@lodZ( zx<$58HwUxm!e5i3cl1ivt}Tf#X0Oz$2I#V-lxIt=XMgh|xqiJm+1U0}&wo#Zx)G~x zf%P8ft)0DgJ>!496_;59T$5CsXJ)O-O6sh%>hu7fe?JKCLFzte)lCC$lwd_nW5s}S zN1o}o|90Xj-R~A&g0ZF>|EYLO_kIxm2;kd!1x5j1I2@eJzzfEjz6CrV&l*=go(0=P z<}{5;O>WTIp9rucR@*NCb_shK=~>nB@f%#9_N)az*xnWJlNF(it+Pz{1s^#v`WM*6 z31X(PA&B-wb0pO?W|-SqE-;t<_MBK0<&Vj!`YCIP;DyTTs93S_V-&lk@$SY{ z^L=eO8|Tq3|GM2S{yTN_zI@t~Yi7R}VjRehf9A|Sj5+sx_}dG7ys4j*Qy|a!mZ~nk zdlTbr6SA0ihU_Yz|C#TO&uO>jDHyk(0$#cE?j8LKb-=5$;I#nHwbQxnc6j3XPc;vk z*{8+lk3Ub6Lx3@P#$~LPp!_Q5QOb?qW*>)VCy|T_-vi}OIA1_{8|Nv?Q#dcD{3_>B z%7$+d7w`-*rd(f2c{}Gdl$WU<<#C)hax7mu$=p4H^%sLtE(HdZ|lEba@)G#Zr8T5UqQHKS^WevingjhegB|*M!ORm z@NPmu1wi_Fed=Q ze|vi_|BK#+E+|#Ur;jpZ#6{q$Ot^uj9|o4_YY_bvacC~1gXy|#tE=D1=vdXBj^+2C z;(NnM=F7C?wTqp7x$!GI{&UUscP;z0H5VVC>vtLE`S@mAdm`-KoEQUt1(&*tuYJkNhSD>!JDe(ac^pzE1S%a?hVOlXd+b{NNgx zB|N*t;%`T9ChrW_Y@YYfa+l|okn1+?_`2qx)3X0vd{2E{@<;CY-EF=?r`_$p+4s?h zN8_XFJ;v1jfi;!GSyM@Q;Wx#9>3dN-t{TtNAy%X+vNxQ?iX$u z@igz_@M&pxdBK`%+Vg^K`8)E0NGH6Y?7a58AQIpOec=Uy-`C>>ec=WB_w77RXwf|x zUNB_q?(>4QiEeB5>(%=C39^|m z&getM>O|4&OQSQ1!~A@ zI<>yj*BSD7XDRZWsTKc2m#=2bq>&4e?=)7zk$W9|{&09zC~;;($ovzWxqEixB&iqw zdVLA2n4NWUQSI9?bZsvbU&(nxoPM6$)IExgm%SH^8GV?t2;e&1ac5n?fYjPxJrth0$(7Ac07tgHYdwjX;#5t~B3Qx=#1wYJ95UW8w@x$&s zv)~We-rl*1M&*^1Pgph=&703~&(}+zbM(@Co0b17H+pYVt(n<8HHX~Q4lSXR67S*Y zq^a7_lhExizrz~to@3129Mdl+7gVL2`*0|2P(PNSvq>Lw`7$wf#D~jw=f>7$^lWTo z4Og7YJ{r(%P;Pqb&l$NXUDKx}y?TPFc``#c!*}CdXY;O(WVENfcU@WI^0~JMgL%xh&c%ADwh&*%v$FbAoU4xwZRr&gX7Gt{d;*dRBeU zPj;WrZLRE_&wZEn_4`P{spr_Ho%d_O0@y}g3}vDYS5=sLf@=%LmO^eqH=eJ4Ll_whTT+tPBZs%T`r$#yGQK@l>t!qN zamVU@{LelZ{g<)k+d*ZQ`TdjGZE(bEh=s~|kG|J9*4X6_u*5J zJ+!nJ_Ru7HM~8OV9`$9|WqtohvDY5)h0%oqQAKKQScIUD`$lSL`>I)~r){`xc9rX$}}8rl^c z@rtKEa^u~ED_iG=#}r5o8e!Ev>G>^g3~kJtTbLiqqN}h?x-s$lkv~pryJUCIjlC?J zrIQDGA9(3L(U+Ufg5Lc()u0AcRe>cfgbNG1L+w$H7?|nsgxqR^6f#H@>yf4b(#|t{T1GW^C*4#O)@d#*< zy}8VNu{R$=6SES2)0&LNEN3nfxJeP^>8;5;k`RC+Sd}PPI6OFqxoyk|W zJ9dUXUf=!hPPgxlr0<&lGQo_5-|guf_R;9}b6CHDJI-N)I+4{cIH&y_HYgyg4~*6} z3jRP(Rv(D0{--YHus<_L`*YaE|J?mK>`dC#nXLXO?eXWZ-|=5_*z)_+W*$fJ3U?0M zG%szIg@`pNeS7;n{*QhMJ3OW8_~TP^*z@~l=CGx}(s(`}UBnsh;7qi4Sv@Bfr}GQqqbTnF$6+T{DiUh?;)LZ!gZU4+WNA@zU+dfg8dENG*jS*uS{<-o8h%ayCjE*^B<9X7xv$)S`>oQ{=>CJ8F zv-PCMqu8vnZFQzneMon$SaCJQc3iKs#x$7zEf21Y7uowo&GYK9(=_*%eXBV~5o_I3 zn0sFgt_HF@|BCG*y&uNzye~SUd+WEB8I`0k^L(u_3)Z&3Gpyr*b)dQXE*sX*M@RGs z-Z#d0yAM3L%xEUL=XLe0r(K zN8MjmMH_vtM3QqV zyotH|R@~?8v3yfWoCUu*7sHJE^bz;z8J0QjbJK=&+~&$hS3y_7^Qz&Vk|oGw+Acuz5V;>c5=OU<}F%d*a-fd^~T$&N8`Z` zXzR>dYJ!#Fl=$;0V!-13`QHuOkreaCNhtrt5w z80#20px>;hy}{)-tAgM6@5}D13e$cV{p$FtD)wgfRmrb5)Aj9_pHxf^_q1sZ1pGGG zek%E=O7K%TzA4UN!uR(=@@p5SeN)Fz;ViE$oaHr{v%J2#%n1G{ty2%Tujr3IvTTHV zzHIp$MvV4$Px(4F4Z2`Bza5{0nSM)fnLDwyTNRtYuyy+v;Zl?y7q~F$tSE zU+`?s7bJK3bh!1;FR?>}lbea7Q`;$@xBGE;d6D=z&ofNE_sPCI{E`nIjxb(?(r1{A zcJpuuTY}^xjfFSdYj&gi`8!8pf2jUZw!d=}{?0dxGq2gT-j?=vR>8AFJ;P);aAop$ zehzpXf9K8omcMh#TKJK)<`K)^xnNDi*!{*5BQXBA2Yvir^6)aFf?VG?G#1~k16K~; zwosR7^k7-;eEaLi(|qgrJDvKS*k(8HHo=cgE`Iz#7T)d8=ieo!S#s=*wa$7_sl6Vg zyFj%D^po?`W9%dK#2wzvxzA@3!$`g!cpdl-H;*4>^Z3s77LT6=kN^5BtO1eE;J3r) zf3Gn%03QAxW9&4wGlVhrwQIAFv6DVK_!xUUZ99I&T+VBJnl>|yv47!RIXv>}UGT}B z$P0M|xidGu5Pe<_|4Ns-=fX9QrFlxadLuk);1`;PP3ZW9w0A*%XT=c9P6*=9`PDSm z8u+jAcQ7B3Vq0_h&b0UY#kAh^q@{bMcaK^>qPy)L&NJGW?$^&X-b{a@YwbvHw==(U z`dpTw&*4Xh*5`ZvPJKSx)#q2gG@?63f4u|rd8XZGr@uc#_YFkj$9JUl+^sggK4h15 z!uZD9>4yJ@!46gyDl~K@$2Kj zm1+EX<`e1h>nHry_|>)|Vlm5Y~uIhti?8y>l;UZ2N}O! zVSULNzjjlX#;?DW4jgl$cTT*Cv)|F&>&RSqI!Q4njgO@1%>BuI>@cUD$Lx06^JwRd zhuP<7?*Y=C8ctlD6VGxPG*T?frR#L=d3s+X8_25stk;cL*RuCR-znw(3TqGKWPa;= z_qVnBmUS4Nqg7pJ#oSfkFJXUdTyfZS)H97WGGg`OoaGfSF>dFa%v-ypPj#n*_U^3v zvNfOQ48gM9e&Q8r&xwQ4oc%4qV6QW>c3<`o`q7CysrZldT>cm4deNO-e*6K7f!RsS z+Ma`@J>%{Em2$5|VBPj(ehe>MZ?}nFGUMd>$GW^in_9C_U!UO{#mPBs3La-2;0Jb_ z?wFg^9%~J52k#V*DBhEq|JZ9`V-x9j?W{|Y!nW_c*ttspy{_|(Zvb8oz6Z5^F8bVw z8PXnH(qF`g{y$Cwd)>mHOt0Tp^Yoi z`y-tDE?A&rFDys%yV`~YekrRS0G72bSlHuJcEE+hZ@OS9ONiL&xsy&>GD{+tXti@d$m^c`h5EyvjLssQe<-Vv>{u13gjQgSL`F-kxyY`my`z(If zt=qM?gx_cL`}D_l?LDJAy0_t#=-v-J7u`E~)2_V%^lmZl7nYCgIbu_EZ%qWfxGuW) zqUV;RMm!kZJN=aprAq&@YwvTLZcYvB-nF-ka*DrhXV0QZ&#Kzg0nTiGrzn;nmD5;I#8%diBXLg0E~;YVS4sdwgX^ z%6RONlK@+J*zaEF-KxuV-$y~})-vw%n0!j=){D`lWyhtq0++Yy zxYQ2vX%`=tdY1gxr1K{EQ-zcLsgtT&_ntyJ{bF!Rs+rWfw{~*t-a7Jna?#~!yC1&m zic&Mmw*Sm1JB52iCZ?Kc(|LClH2Wm~Z@q3(YS?xEwYRWrVXEZ|C#M!%{@UJ^4~|Hc zJa+Him79)8mA*p0t~@22dM`gU6);+pEf?3Mrjf6xx-K=HykPRe)R?l?y~`(kIu+#q z@{5~Nje0-ngw#CpTPL58Dy9uj)v2i?`L5^-pG$>!zWTYk)B^HvTz7419M4x?etN2j z{}UfOITa@VT3I-?h}?7C*{Q|k%d1XLjpw_GmtUV^ts&uk<;;{9xtK8d%v69ee!^eQ zNO>onky?H6nW?XJpPBmR7v7&5UbQ4OandcR6D~h1HSywQsfm0$eDc!Nm#F&$>Yd2< z!!NE+oj~0sUznUae)7$!W2wC0IJzq4W1sY0g*_qdgK*s=vgw|C&e?R&QKWl5{KE6kf4J=BMy;Z)(I<5ExB^)ZHD zURw1Xvt48I!`zcvkmA1kZj~vWygfB`60iZ&lT|xX1y#qUj7i*E156`;>4z?u&IKmU zr|vGDZ1usoSl<<-p0dADd(-%ab64$qqYOiL*Ess}U)GE;=eEBbj{n7_$INkE`XL0r znEH!zaYNSHSS9&X&M%m55C_2Ta#D5Zf#eUE3v1n}=ZhnH{1NNE3Y{m=@_yZ!6YHqq zyIN8msh-q8`W*K44(i#ivSIFGzjPS$qF7>^UDwNB9>(6@SYoUGqZ1-m59`r*?}^0{ z=QqE@z8vlEDZN}a^F7oT)LoF6gm;_!{8Xp* z`5Qs)F`r|`63PBkY_4E2-(j1|@1f_~U*7wi^UD=)d7a&F>N49^f3+v3_>@>;*oSEQ z_Cjp^SR%xCYZ&hw-%Ej)I}c)<105nZ!HmCYF=0?lzieymBh)@cFZ&d+88L(V!sXt_ z2z=&y_ufToFLA76_8o;ieta+gdJE^Q0-F=7wEbJeBs`ctt44Ps>g@LNz)JIc188lo zTYmt0m}}VBFj~LV8usFVx94$ef6-gG{($XsmMx?HH~6`O`D(@(#<>R0w$NIl=p|lj z2tSkj#?8>fUVAE{ug=<&a~_7^{32~=j-+!l%za9sD9coH$DlCG^CGSZ!iRS3qETm^ z>!EXJbgoA!ZEH?(n&=i5j5@2B@r!yz)Ax;tB@W;x(Rd~~I{7Q`n{-$&fAqb3vSJAQ zQ4!FY`LT`!_&am6RsTMI?*ljAp*``S_{@Px@LGI!x5;PDbK&z8`l|D9D}wjJe~lfA z6W3W4Duengo5*|X%>FqYZxbVKot4{Y+U2^N&`UqP`0UD!HSyQavHguY1NOc}M%Suk z#vYQRTgvSiU+IZ@{;7*pa1Lt)?ak{5(%#G)xc?%?{@w7FPW*n|T2B{#1*;`9 zmnBYxC#UjGXIKbMzBA8nYTURi;fd-jAYh3~=V@*|H-X$BN7k9Xx?2FeAt#yd5zyWg)kQ_{WEyVy z{2h2clm%}2`Ned$B%0{lgY>y8I`>!ab^cB!nkcTUsnb8UUzgiVGP9y*QQR#a&J>XwDL-1ndB&>0jqh6G1-?t#=T0n2%$az8V(O?^$A$tA zXR8^7f4c82cn4YMtSzlQ%U`2-AkJGQF@B(XW$SP+&RFin8C~jMK2~t3ZYS0(XhdH( z;g0AmoW>46a6GkPOY$jrMrS-pjvalXxJ}MfR=-&H-hj@%WQ?hA)V|u$d%u3qN_hRZ z^M2MC$*gFhaWCHZ7I%Le+~*POkbIU0th+>h56>41Z>C%|cGOU2`c=fugtm0fG=62` zM}D6M__3XPwML^Sr6)Ar{`lW?UXb;T>_eS1t>?O*LErqq^`?J^TLb2@Y$i`5qOv+rN`kEssf&*B&B{yORUedui`CVk(GC%Q&4 zo}GMp*x0&+7+=z-j|>}Me<5s~PrmRB{6hSG>Wh72X`lBnx5wtt+){Rrv&M5c><*pt znM?mCnC%~)GtjH;x)clE-%fJysON6`t#SxuDuz%dWVF4WPdv5PZc}_)4sK;fDW00M zVB`Bgq= zYjW!n@mdAvX(|3o=V_HQ{yI2y^CmK1HhdSlQT0nV+ILp=KC}1w=h|lFVQ6zD{kL>< zFu@#Mjr+2j{|y?+PS$?=iLy_2T4l;30q)$Jm#E`= z!>t&pv9FRBa4akwEV7Tj4Mu@dbH(t{i3fham)Dg%@{BFUHyDp7TlRMA{Nbz7{1CF zdv!^rMxecdTyusl#xZPy(>-CvaqgASm?oT>^C9|+?K>IyGVg+Q&Otm;IN)6geBlE| z`TJN8NP6jS1+W!?`{%CEdf-a)%pq^=>CWoNy-7dvSEu$lXVIKDan@oj|8?GCJ-OPd zr7h_Rr>$}u-$k^=`j^>OExGuq-mvCu-=-~{ugIDj^3A^Gh|cGErc-Mag3Y{d34SiB z6Ay0b3}5pW>&(&x)|rMnk5F*|&Kyp6QI^qewd-OFxp>OLVOp+Uo|2X;@lSK8FaMZlUcf(YUj7_??B(UyGo3ms)q%ghA8eW{y+Ruf zzyFRH*ZV(5>@q3%*=5F#Mazs|-_&<4VJLe(&ITswQzw3LF7br@*Ag5Y?LIHq_kG%h{^B$FRWygz{Qihl={+Bten0d* zA728tOnW}||4Vw$$DjGFJs)eXi5T-q+pZ?=>lxy{{`|_pdHi0&dd+-ty>s-pv**Ln z**cT4Ac8&&(vJZ5G|{(xS_?rR)rDK2G5cM~8%VNsrjQ3n(?~v21*wu$P4bf_kZMSZ zFE^sHuQ-Uq#nWnl6 zs~CJwqfX)cMfzQgYzO$iY-CBIIQ(?yvXK`iX7b;I`~_*hku;AKA|8AJc~hh%*&Kc< zS$Y}c7vs{dlJ-u$^HQI~rw2B2hsF)8t3i96mFwW>P0i~gv5sJ9J9j#uXTtJ5%r(an zaE7noF8Z6{Zt5#nAoFvw-c4-;?@D?DtEl79{Al6OD)h|Uj^8mR$yZ^7qRB?~lX#i) zOExuUYDAxXYBy(n2JYpZWY#>_i*?<$*F|H^6*Z?SG+JI~ewlSXskw^gI`UTtZ}L}o zW2TPo_E48_AzfsIgcHVVew)v+@r$F<*G5&>_$|q<(?}yNf1Y*j%$CmYuKRP35v80B zyX;ZH-aP(o&M5_U`Zv#S>73F!=4*AgjxMcRKDJ2h_-NCJCFUW^;;BaR`J{S3`)mw* zpAB;Z(Wsbu-L@Az*XMlU`9ZZYCt=OC(|$z3-rqiU`w@AM{d}oe?jid4kljD&`-ANo zdw~;KaQhkc{r^Ba*+GI$_DY1Z5m(vIeowp}>o})nM32X#eqNfWHHIhUudO2&zc-K{ zpp4p@!f)ZCp1ejW!g<31;y%z%8heX?b2n}5cD3;`@JaUEaJgo8j#bO{%A57jNa;4b6Nd~j17SlKE5a9}(M*w647-8wH?dg%n= z#E)DA;5AYM>CVa4*dx2`1bC!@d=GqY_Kk1lA31CO{+@}9MY8oK!e40~Ha|gy|Q&#(~Z;AJ=wV%8FHdmqJv&q9RKJadNh#uWn9&UgZndIRB zev&mdZ5(-M$RH2rKpXL`Lz^e~KbSl`4Sa*i!{dAt>_@-9QujZaOgJzeir>wH9rZ6J zUFRl#g00}lRs8^Rb%jk!$yL2ASI>^KXnCeBSMOZDzvoO_uFgcRj_M~@KY4gyx!Tp% zSFS#q1MTLDb~atUY|GVu1NVOe%j0%^8>nZat-HpnpYQQ_;=sEATwib6Z`c*UJYp7W zkc^8)FxH{5@s@hs?=dG4Fz%KAdW>a9-;=DUi^S)ZS$0`t74d+R(l+m`vyGk^)Tw>D z8yTmhXD*@t>NE8ug;OIEO>X5kHc$dT5qo7dwr)rULmSu!b9*vUu)MvRadxn=waB5!?7mo7+++xvK9TVm%@Z-#0Q} z)V#tVPCz;n8@SBvf0Zqx7y`X3;a#sCnZbtfL!Ux?!sXnxsWXxnP~J!0L|#GOOkPPI zCa)%6MD8bFOg@2p33&~9gj{!bwvgA6uOY7|Ur*jZ9wnbb-bNlE-$*`=5@@?ev$VJQfT6nC1AJVwo0No?-+;Y=K7Ou43=JnfilkvBA zc2cv|ZLmXG(64$gk6QoFVOdo@?={`qjujQq?p zs%&*)I51hvI2G z^vM%^anIGz47m7yb_ab|pAtpDUb={N`7rCY;g@^+Fr067wt~kzC#bRGP2lB!wffA>2L!ul6MnI?)?72Wt=${?6|paunlvINCvmU&jc9a<*}u)|pKoeh{&Ll= z{@u;90z-4Sd(e&eG}>=ZRx$>T*f|y6n4dTfxID%c9pq)@lpDc#if^k!xWgX>T)zVE z7F^g-9q;RfYggySS@JmoSMVj)eJr?!0~bCUV7GWjct_4m-jP2>bqg-9p7DEx5%75; zu`%*jy!h9HRm1ziG{TtLK0lPv3z~qyk>4q_~#TL&Y9xN*V(Pgp+s@%RT z`Mccytmlvk$d`Qfp|htFnx-5+UhXD&Y_ zFe6^?$5)9zMZU_TxZB6{Q?foNKgt>3;tmIVcKRJazE9=9@GN{6(0(oL*N`R%j-bwP zpJT3R)zYSWt?pRbEDA^3CGYCXgfQho!|@xc+%x1e;!~)%!9Ol3*ehsf8t|F&3~V0Y z8fn5Jf1kBBR}TzszYO=u#*e2R<<1#J4z7f!3Ut%Kv#c|U)W>??@Z^mZ#ffXjpKG2` z^a*~SHrhI)NM{$_RB5d>o#rb^e3s`1{yCjd)Id2O_^GKIm#hU|{N3CMz6pDBQ?kH+ z9`Q{p+8ct5|Dp@I=n^0=h8Fm-`q1LHz~l8<>nrm{So0ANZLqh@oX<=FX8d8M|I2`f zM2A}NR71NzeUMmG^UQnj<=>S2G5>G-hUI?|ugm9k&UZ_C0^mu!PWxq!&+CE>%;|aV z%<-S%e*-p=gWCYI(;v6b1FQNh`Z@icK>Pmw{SG<(o@@5I$Q+ki%=3oCe_y4ZV!O{x zNA&Hp`fB!>ej7FqI{m$k{`u|xPN2VE;{R;BzxV*n{ua{TdSLJ0-!l5A=T3juqle9hWGAHJSQT@GKbAD-^B;uNZ(u^;+s zJ;9-|)93fm$AC@aY4mwC|B)rLZq36le(PY*ukN>a+>8eR2dltA?Eo}y1qXWW(0ury zI9M4U1Kiox_N80O_$CNW8i7;#dYbIT&`L8-agApKB zoPJ+~E|$)f4@fdSoifYk?q@xt#pHj(U`>KG(MsNLvimC>7t!B~>2GyFJl?4I9p=95 zU!q;bUcU*;CnYh%Hq`>}0p-C)y1aui&B&Ua?6Y(|wws1}Ba_|1fQt`Z$!< z$L|`4LYBNvAveb%atF`Cop^OJbvm-TuOy9UjX{0%aj5V3b24~!k3T2!{~^jhbR_9S z)pJ|>_V-(UwQZl*9tOs7_EYKpX7difI{2avyCi0ByW9=wNuhu63E9hZ{)f3|o_^4a&1PO$Ls)Y%puc7ASfJj5ug_2T0S z2FF7uFxMgP8t;S$bG(8dGLBa{;Nf8x9x82E9GheyesFa6ztV5_c=dJuzgn~<`RZ8G zL<`kHmQ5}ex$sbH!;%XgK0&|T zW7t*v-{<9i$qEvF6UoIJ^%fqw@GA@^7tc~wcvzeR9{`1=keUtPllEEE|&+|O^(PhSG zVqv3!^h45Bq_?kQ-v-Z}vzeT;=ycDvd`bmjd|pB966EASW+%6BC^+roGHM(<1b?hmeS&gUCFS4`-U*Lc}?vl~1I6X)o8@GICvv5wnZ z<<-t>uJZVf%gTLUVeN>zUFGFF_Sxl^^(+5#SNVy2S7Dcb>*{p-(ixR@`Gx(;|G-tA z#Y^-N`|g+vS$Bo6X&20&ri{)Q(QnbgUduZN2j9HU`n`ZW+g;(# z8E)GyJT#h3p{@Qj`;x0a4$aOGy#6%JR=B=#)9gVP&fGLR&Q)GCyU|tNO|wm|@@|@q z?pOY5S9v$h*15{NX;#p${47`bOf-9ER$rR^KmKQ;*`Imm(Ch;?&EBGoTxj<8`G-cc zpVL-SuJV~^wt+HkIg6@}405)fcMi>-r*HbbjyxBdO`CRTG`pI%`qS(? zuKqYQn#!a(bSEY56n`YBpb{yFD< zUG2Tw8P*)7jd>7py?$bOd8U0;x?8u#XeGwBjX9X&F6MNc0^Osr)$v$lb$okhb=((i zjkg#t^Uk`T(yE8M|KK03gOzg@%n?=5y(1nV3b4;o{Fk(kp`>@oWyS^gML=ntk*0TloOW5R& z4Ozz?!_w{C>$Ounv&4*T_O`>z!LKHRfv+ZOgLfv^&sy1Dy^}rE!P_|l?tb>_-HyG& z-W31sB=(_zCy#NXc@~a0$Xt^1aE!@!?421PmY?%yjI!fXo{R6;TW~pP(gw~Snvklk zW8OMxVk$`eD~`LhU2)&l)K}nN*>04r;F}eEyJBy7-3pTqs^6RkQh({ruOwBs%GL(j zDBsd<1U3T)@c1^rUJ&?3CpwY2@ygfB{VQ3^vEY+Fk(`#-eZ_=PunC@-&|2_1FbdvU z=D~u~gpo2UMicj?XZSVEGg~;P$5R!dd}J?YvRnJt`<-{=tn~-OZDYYd&0jidHZTP5 z+mbAcZRsrMObrjbGLdKEnd$QLn7n1K=~UISZ@ditkU#mS>?d*FF&{Adp)!S(DRq5! z0lvB^X1!tdBk-O7ZtlEh{#|!FF>JRdrv-^0^WVYwn;VE_ThU$}(HSvQ+XEZ4uaSGf zZz}GI4l8KazQyC)DYZiDSuJ4Wmo|!g0rcc`qPvrLG0vnzt2cD=6 z&s7#YI|NU0LHjTRyO{Cm--G)tUJkE@moM$$UbS9c_I-Gn@z+-t8vpT|g~q4Jk0YOA z(_Z^&9UUniFo>g5e9g={CvN_Z%cBHUdFZ(9? z_|J_O@!W}RFyli)FYUP!U&&jhuVhY#=-|PZSWJ9KabQ=c7d&d;EipXu)$>m4%(KjW zxBTz+?2L85XXgHpa(jOWz8zv|1Xob8GQDtZtphILEr)OA4~D-@*zm<$u!)~}Hj;K& zZ|qR)iee2M*yNM4VA}<3FZO|rKK6l4{JM`j1XW+Tk5~{xu^=~$;d!B+UpJ$Wvz>M& z<+Jx0qY{6nj}<#N62r1F$yuk}$=kxlERwV5Z1!s(i5Et-X2W_$nDeF3_m@$J5r`%) zRUV8c=O_=fAo6h-bMprkp#!L)R zVgY%xZ$`Z4sbc)y!?6=sD;e!IV>#uY_lzovS1TV~Z0_sbGC=%e1#Qaj^{2NBd%B1j zS9{_a%@>IUM;9)SYi(QmvX~zy6ayh$rSl8D{;f%s-7<0`^oYcxc}>`-j?2a1#e@tmA!$j zX4^lee#x}p{(u=Bk!`yuj(ydM|r{ZsNjN5#8LEt%L5F8tKD9UHB1?` zU=+O!>ZMG_nNQMIY^@FFCcB+=z3o)m?QEeP?SIq09rds4wPJLzMJp3`1JFdz*L{8>t4<9xC*#qI_8eG@X&KwB$qJcGwXO)aq-;92xjE%F2(d zeyI=MI@WILW|-&Ji5|j#G(007)%WyI@ectr$zNpI1KKCs^lSRe8eBHG8}K;^#sU4U zImAfHudKL?eCjawx8(uDHt>~C`_Vjca8{eQ=SMH;9JydZXSbcs{~z$5xTu8AUO9#T z|H=O%{!7=L#Q#V5FFjhs|B3wnF8`$?hV!h+hYo;G&~5NKv&D1Tu z)q!RPBJT@bAL)T?uR+A zsE)IWNagxp=}y9B>IZ?u9AC-bCrMVOxuP?k`olTRNx1 z)0|xt*K^iW_k^H{*;WSmpB|PRU24+X%RMI9z8y%f>-$>hT!TMYV;f`VB-MxRj@Jt3 zVfGuUA3nS8)1a5R$5Qli?Xk4!bD+ z`F|C!FqAUlFP$5qy@&OY*5t|Jt$@X6HT<3~e>;5FgpNOAm-M6MhhF!u#XTW-S+t%R z7@n2ZlutCGbAs@Qc&w3p9;v%f_ldGz8{>=u+LFw)oW@-&&~IB9y-xj6V&fz?^U>$^ z=Qzx5o0&(fEFYvu-;}Dy-_^6V^cFw#mME*oSoi9>I zOp5rW%pdER{@dc7nedRMA6RerR&mc};@?c$2K`~3SGCfNTlt@Frg>|AC_8U8!=DRc z8qch_$OX{T9lNJK{1-3_Pm5f5xWU9jnz!fvJk8rLy4nwC;q5x=6c1fNUBcZi>=O0e zw6VakX_N5Z(fR0X#unMPGvdGfesRwtWWHC=4xlF`8>;^T!5!6kL$O4dHl|ZvwvS}O zZTrXuRsB)k%jPj{A^vZ}@1Zk%)vjX$E$01VbG^*6_fC?$L>znX-S)2FSp2_SRu)HX zUK+rjmyS{&mjs~~vB(ANVRvlL-~XwwrxCp*87ctBQSdJON5H3pf1?gOo3`liWD9te z4Z4``9K6fUlq|UQR)n@%NYA|_-plR-U6Lp6TPVLIVCmnX+OCm2VK`j6@{bxL{h9YC z?P2WRHt`nY@egq~z?5ainDt@f@eeFBW|AaRq2P1L8=$E}&n2gDwguyid;aFkC!)|& zb0X#qanW-i`n3dS#HVuBn&_+Zp633Oo_%b~OtB~V&Lc$2gKt`Nlx}QCMy2CK$3@V} zkxh+JP1qlfPIPo&gy$_JH;vtN+_QUdxm=W|Oh_&l1^#cyD|yseH`2MK_P8m%YWyAOs4*^IIv%cZE+2V%^ncQNaX0(>4}}i>b)q9ju@?u| zhyRqL(>n4U*W}~52>LCS|G^(ioc4TikMvtEbA=Cz?qO@LVA?Z`d+zbClDf~(Hz8}D z*c^Bzd8+=$mx!_k{#MS*rtI;2yQXGKuPyBG zm1Qs8n~c<1b3(_~HIUobe-6$!!92%N&2xk3-@pFR;(OWY@*kA?E&q3+;PP4HhQ<%U zH<~%vV0L$7o^WYwYXq*BTyV`~f55g#t7)gmFD<>;=u>XZ*-ZZizoi?4_V_lR-}BLn zE7(IIoICT0|NQ0PeVCW64>`mL%SSRVki|yHp^mINF^BS5Wh#gA3m)JAXOY z{W0{*j7Zpcr^c{+@WEJOTC_EJoUyK}G`J4`=sJA*tWWa0(8jOq#68%Fo5AaP@E47y z@he)zz~vg|)*Hcpn{v`-QjF9VWKM@(l5JUrji|M&qB`bowyp7d*4eawO8!Kz-&)r? z<2RDCRq<`1%zo{8z$5$ge%j|+w$art$CKeKhN@6^+FE(7gPJlDn72fWMOlj{n(gi`L;aE zi|^Xtsg0z~B-s!R|6SNq?;n>8G7diQyW*Z0&$H<;`M+Xe>6F8_F2f?lkk@4j{8~dx zuggqi&4aki?u|={v%dwM@x`$5!p&jB^SQ9m^jYpoy$KsdHj@#|xMtJ!#L(7k+^`I| zW)rYv)m&#V*KD+=Z>$!zJ1?(O0eaTTr%;+ZNP1sm2`f$hY-PAlC8diRfNGespBXAYQH1#~ovwLnS-O$8Y@G+(Vez z7auyw(tY9~jb+kt(s^z@w+($K{TD+gO4my78BzSA=+w35+LDdK0es=AH>AO zJ`pd8hr~Png4Ql)jOIM`*@-jvPuS zw1MMh>_BV&W}VwC-5?t1-Vn*FXyMRdyZPI)Tf`5J{ND3-pvCsXLW}%u=6rY|U-=a+ z&vnsqhs)b5{@rU1&Rox- z1J+C2Q(&(dq04^qv-CVZ6d+z9!x;FFpi7#rj%^oVT-H2RwAA=q1RckkG|V1LnRRT=!KY)6&CKUB>f;>h$ZF5! zP(G_Z&!PMu*Lr&*Keb{Zhhx*F_`ihziiK4CS~vd}^Ix%$#C(2VCr0n-w9JKqnaBV4 z8c)s~{1WDm!r2xZPr}(|8-K#t^Q;j$IFpYy6E8~#Z4b*HASc~#<4(A;)_^VC30LLt z^D^+}%tHc3K`X(cP=IA@fr+ikr<h_wUhmhqa|V0f2D3x*9k(Tim9%}T&5K&! zKbhZ(+tIv$*lG5Iao#X~+*j&B0YWocZ+-4{Nv1V&W!J_ zizTkkVLel^{`sz>Y@|;s!Rz=>GEe$M*l^@Z_LgGZn`2fCy5L?A#YT<+JLAgdfmw3d z(@lIlc9?vRM#vifF()_TY@z(<{Ngl*A&4GK9#Zh9rp>s3%y&N8r{CGq1W6y~1 zG9q1)twx@Eu_YCczsp$OrL`9Ek9fc7?0ujH(aT=sF4 zoMg5mpU$>0@^hkbWcQn(s8Qrs9k>+2%Xj zkPXL%(_Dvm^DfQVOL@MX-0{Jj?^i=3-g_PWz(7Oyg$eJ4)dZuu?Ht%myi5-*tlzM z*tq`EuyN}w)-+~^jiVaF#@UyIjlCZW8^?b%Y%IMfY>b*=&5KIl9rwKGjh%nLc~MuV z#kaEElKhVO$M?>Qr0Zq7$p&nWGDgL)2}9hMguNp>t~ok9xgf;Y8*5F5wp(+H-P9pF zZ;$Hn$>x(?WQ`w+5!5_mJ@vuw=DxxHa|^}GM5%WT^=_lyZ87E+q^ye*J9hE*`gHb2P)#|bVtwz+&&xxjHBaOiv(Hyl^maO4s@ zR6^SY*s%>-TgH}^uUK*YTbYL_p5KYnHuxsW|K{k7_;zyPW-Bta6`9i60E+QdjIGu# zQ>^i5Y{@pq5)R&L+tbmvLmjjH(DISr7xt6~*P6Zz{7MPoQaVaDWmCYKuWlvga{<5K z8s`Pqk+|aCujV_Gw|qPI=saQRIh~nj1gv`|8ciSLD$exFJZ}^ZwLd@8-h9EapEd<& zD{#u+A{g~ta1I3H&s;FxI0%d<+c0hoW#)GW#zyJz3}*-kp66-Tl&_HP1-p#7e{0ep z?m=V26~HcdH{v%EkB+VbckrkwpZphZ3a3sC$gBT8_o}>@aEP9n?vm74h&EJv?{Hy+`2&L zoV)dv?4}yi_q00R7S3N6{DgK*-m&>cyt0k;xb^Ud+HDJ1XOgWEfAHTuK8ruZFYASm zx>&~=a&Tj=7t3d+^*Hs{iM>3}wJw|~CM+wxb6AgB1HZKe(P#KY2OMj1sAGLLp3R|r zR-VtHyy$UYk0r;Y{PuJAjN^}qNnU}^)W-wRL$r`zbQCfx8aT45_2z`R4wF3=W=fvx ziNc-kG|UJ8hXa4xguejxBKX_GT`lm$fN@09hl&x_o+Y24 z>ll+m`Fz(ytiEF}nSIweq}JXlr|-4a(=8UjWjlV{6 z;d~h4`Q3gpY*nN38s(f{8!ExxBA2Re#9C^$LoAQ z>s(nq&sTqBrBx34Co8RTC@&c~3K^-uW|rM{kp2II*?*2+8csQlK^nuO$Bxfw40rIX zFYQ|rXnR6vLG%(c|)Hhk7~>V>j7 zv)`kq`73u@B=2V)^-4!!kNg7aQ@MffEnxZGqzij}ZXwI()@ZaQk2*3vkG%?6bNp`o z=dl_;KBxHfs55@tW8-vfFHS{=Y(BR}WLNEpX4`>tqn~&vANP!Hq27>1E5S6-+2WRt zpiNUpsLg@)H>by6ok=UXu*$vrta3fiD*IOo?{l)=U#R{lzD48568a;YYpmXR;&@_U z?D=?>`JduuG(S}AjK*%o);r^g>|Ijtn!NTpUa51@2iY5uRUhUse#%DO3?F5**K)v1 zRvRLR@>$2D9Li_asX3Hi01iUzZ5Iyav)(9v^+Mkk`IDjXX8861d!DlSl*C^x+2-as z&_eC%jLu|xVb69~+y9kA+uILA+uLdT8QR_|TgvYD_j71F>)J&Q{U(+o<9x$?o`K}g zZ3_tJ6+GK=4*K4A9%ole-#dC@wmD7|^jjCU^h0*rUUrACUt1b4mVq1eSK{#uXYab# zhaCU=0nRO#jA!E=)h)O_Y1bb*g!=bTzx*QE>UZqjk5Rwqif&IBw6QT@?K4@A?rNsL z1N*F4yQ+(InDcSwAM(2>#)bW)<{ZP(W%9Y4X|9)NAN%r+xz(Ip=j&wDSIeZwFU_jQ z^PQJx)i*h`FM7Q3nstuz64oHJ)?)ej)9W~HUea14{#|p-FaoSI23q4j?V$tbzxqLO zk7$#P{^G5CeHr=oSv>x2`YicbueA>PWZGHi8fQN1?z1C5weYuiE?fT`{=VDB=>gWS zRewZdafbSZ(+D_KjKpYoS>v(RY!y$p9GuFxn5|9WG$I|5$6O>|oT}fKtIu`VAmg_r zchc{cAa+O{b_KH9Tu012_uVw}U$|aCZjeXGh4Ur!m&AH)Ym)OWURVG9l+m39Yk2PQ z$3_V+9|9kd9PqK^J;sO6*pw`S9^A!f-s3U`+{nJiUQcXw#S*A*+4S8K`btXU#q4{m zWjQ+Qk`JTm^u z-?ScCor10r9wlQA9v%F-@g-l=Fmt`gTH6(GmV-mh(dG(wVP}r^?s>0pm$mOX%r~?0 zQx4^2*VfT@^Xxl6{(w-dW6~XrTO+o>EAj_K;@Zoi`#l8jKx+wlo^|aj2Rn00$nk5- zUesMDZhO&v*Gb=br3ur>!EHu^d)DO(7f)+GIvt*M?wQh=S-NM6F(q+6I;zFiQQiM# z=_uJ`CNEINy^br~b?{9P{jNE^{3r9Jqw6Br!W&qdvF;Eve4L$S-XnIODQ6bU@4h!k zXD`TKtoM@B#mK1k8)+PH@9U79iZ3Or;?qUsB$Myt|JcDfm8wJfupyfH%)qQP%R!ed z0w4MMJO5F1$0LKpvOd5XLN)yj`0h>mMlQsTy(AGUkpC=LcqCau@GbwD0s|_2Mlg8DA zjYZV0`lPEw)ARcArk*#4X(OcEiaDLkHwD;qQ-Eo`58co2DDM`BnJXY~i{LAG%sgX# z5xHOulat~*wWbH}>D)@iAZYwJ4!#oaWwX7oMNIzHeg^46@o6b#7dtT^|XEV6Bf|9Ca6-*nc#bdU6$^p1PX z^T1mg^Q4p9`bhM2YzVjg&|e?5J^r_+^ZzAXG+^va4*K}!Q`6@_E{4X=Igp=aJkwZp zwoUJkjLGkeN9h`kFUPs~NB1zkY1^LSBZq%vd+Hoq$95XX_LNR>+nv%6C4UE=kv!$A z8?xGOInXSt{gy*{&8rF-Q#f3;Y)XvzI=|=fTfVvDSa)i&bxxF6M&};1On0DVdR~kF z(z##nYlX%n=WadSXQew5O?zg%&MsY!-PXdGX!-f1Gl%&tUh&%Jw{BxU?P-i}0pT8a zr4LuJr*29>@xhJuJ%HKIEXZVoy5Xc9P|}#b2Qc8=18CQswd*rSa+IDHCA>N@=a-I zWzrX0nXDjHlB!95W2L!n@llm$F4y1QR6E*3a)I85tu?%v;OkudXB-XDo);T4-PQ`b ztrf}g*ovf&b-WT}>Wq7&hgZjC16VYB_qj%u*b36~*aO^i^zJ>yZrf9GE?vJQ+!`l} zB1!6lz-fo(5o4moJv*3N6bI7qVgp!niwt-3Y5bMVMxI5l345fKk#eOdI^l=;fTPK8#?Y~@VXzXcu1-^%WBqus|5nrKcx5yrG#vNz8 zanIEo?0ulxi?4CXu}x*CI(F%&9{bzdDu=@+&3D{5-1;_Hbolh`$BT@r9~2wijnI4D z1avNRE^*Pk7Mf?WRr}khE%1b6qq=!P_C|j@wfoV(J?;N#r=HevxOs06dg*YD^_+)Y z<%jn?$1~?9eT?**Qc<^kr#0 zP2cxB*xB)iR^~Ni(A~}}MMihYv0-B)W3gx|cdag*t}+g_eh;2PVpl`Z>F_fE^EPsafcWYb?zV01t6tA(bXzW3K@ zet7#3_#tu#dOEV>pL+U^9Oj1qXg0zHhfz;+?qt=&oQFJ^PEOr#>ExlzRS#7!n{#bf zJnUe)d=>jf-DQ^N(4WWb{%E{2hB&8n_e=FG(7DrY{W?JGull0coBn$WtUgLl^u3>c zdJcVA{Ws{#>3@U1jHNFNe!SFp^O>c_3FE>>kX&Qm)h}DRPH~2r)`u?R8|Pf%b2$G& ze$s6IbFBgC%sJszwye&Akk8e;KZ;yqru_6Hmd>iS?f9SIhmjv;qhj6AA<{Xf{~lkB=F8GGI$xvzT6663G)9nAE z59~9CQ9s>`etHL5|8BG;w->tT{U&?b4=25A|4DD=xRKsTl2=aCzAKQ$c?;PA*}OyfaRw$4Azt z7!RFsQ0ojDGZnk<#U{_T-tdu!{;6w+B6~~C`$P}V`tDlhwO=RhYB1URZS3&N-b&W$ z54Y@nDu=#o{TuXU*59BnXVaH^OT)&OOTxyJMPZ}J8#XR82G=X$zd`?SejIjMWt#)k zG1h!*Qdy#w{bmnNx;SC@rnXNV73Qm5owqtYwu?Tl0 zeZ*_z8wdZt{p^mcdm?l2tG3y5r=i9nIBO_FEx$R>_MJThLv26n9_bwL=for(A$cOc z+?wkW5A6@cZ$D=_cGzrlkC>iIKJ407F)vQx4^``kZnopVjA-L-}oa z_CMcqkj?wnq0LZvNVE;n2hrcWo3J14-Fi{qx%ZZC&gSpS0eAWCbIj^9&7u9Qdy#V} zAIY=-OY$tgIM4Eyyl=GE4A%6{yWBLN){o|kXtO?WZ?Z0E$$f3;Ue?UfA6a}Q&V4)m zbw@Z)_~++YeqNsC8}lq5%(MK=Jj+kdv;4F?%Lno-pRd2NA za9py;XzZv!mndde>zn!573HCpJ*w}Gg9ocrzt&fasJjMO6{G9*2ioiK4=CQ}mLhLY z^{yH5eYZW)weMr6yk5PXJu)QNrAJ z9CIuquqNri;_;u0--2^{cyHn*!0+JhJ*RR8%UkrzL;prlAN!dSMWJ1tMd24aON_Z4 z`*>H#H>?x$Ze_g4nANf0d`3JKb(Kd0K96zpm=kGJupMi|#{FkyThG{%EcZ`scf;o8 zyGmdaJc?iLg@+huPv~XfnQOyyXEQe17{1lsuL=BCY}RPXyl}$)p3%mtxSwaE1J5KYxHG$w zn0;S>`$tG6MxecdoS4{-ZC6oOGnWZIq}N3fnk`jvfao3VS%SRtE2Z4bIw?*c7uWTQhs~b zr&`PZ0?ucsCs$jwv}M+3xAos%+M=%|v{e_PEN#`27tvO|VfDFaL7obz?|(Pp*ln+g5C z@$$cuZ*E^y(o?H8fT@%|3#O?nN|2F_)E`XHpR#?>aUVFF9+K>AOzz_UFZllq|7%@s z)c0#caQsYg*s^;06W89E9hBm#- z&u99h$zV8|tTk>=E-#3*SBJFMH2WThV&m@4jC$xwouiTcJfz~l>dt*@(t2g4^h(I3 zSCHM7qrn64svSbCfi>1~i;0_Hg3xR8zwTjQ%rm!cf&2-{Y8iBL%kZz~Aj8mB`xHIK zY*V)!CEXHS)mOLhjoy!@jY8V@gm>@x41DM47TI;4FfqR&>6MqjgQZ)B@r|il!mH5- zmTrMh&@Hn&$|L9b=F>j%1Me(O6a}|*)&x0QAp~EOPY4Z9-ax&Q>k-i1ksp5)nI=sj z8SrcabRNN+WP-0X`ANQ$T$lTHCT}{XAaVVe^Abg2_zNG(jiZVa*NnR$;RQd;VUl0; z6((*Oa{)e@Nb(5E`ze1!bZ4>*oL0mn^Uf}j7v8@JaK&YeK=>2!e_n!+bT_X9Gev@qJ?6JBaziA8kN=nX)Xm1nkasE|W&Li@5Kiyd#Q(R}P zV|O96K(@;2ELs2fq_=vUwUgSgbPsY550wIENpKo6Kc{1fVQiAVxs|&0t=iODi(yP{ zH+-wxYZ*6xzIZ<;bZRedYkXt|Itun@=*vi(j%OZOY|`;@-_DLtjxA1{dh`Ve(QpAY zynYlkbm%w!e3O2nzvwq&0Q!k`qM>N#4F}@;uHJ$U4|YJG(>=k}&~Z+})Z39&@#27` ziyXbp`6|6M{i<-y`y$aaVAGVmgg#4eOBSbshZ3X3q-ja?sm|(Pnx;hq&~zZ3-9kGh zkx08_U;HH)gjeZr>F)YSYw|>smM)zg7A?`)&{Fj974)TL*GVo~0+U0_qLAn~x8ro^ zsCGsTNXL~X9sdP7iuPwhOSMr1OhxwhqPg&*@!s(NVk~3A`*??A+A8n(`K&)dXXWA8ltAenFFO9)xL1)S6sqk7m>#^w14(Z<_ zp51c8{+^k}Zj+`H_)a>10^jKyy_XCva(#nMU#92M#hcIc_LkK+Z=Q`DQk~GW@Nq5mRQNe>!L-dZ zK6ADvx>5SEnEMfqH}36{9aQSS6CJT)bg6&k*h*gu?^}}9v|k-;G3#NhD=P&SkM9!3 zrbrU_%=^g7Iio|cm7>E`&q%)WnmiLk|E)|8H|GU+5_1_%s=wy9_WM%aoAvO&-1XiY zY{M^Q^@Rf{d;4$~+vNTp zojEQX-gEF^9~|Dv{7?Lr35Turdp8c(96Z=tcMmvp>i%B8y1z3>-46^<_x;pe4WCyt z57AsrduE^dBD@Z7)q?9%__PkY`QMLUXgsufso|Sx@v3)>^sRrp$xmE_gresb|d4S6kj9eF)@1Njv40QofX>EtuXgXE3m^T_9uhsYO@ zH<34!YcD>@yp#86%>~fk<&sC}D47}Td{eK@A4B!S3YV;Xvv=CC@G2bv?!(|*b16qx z8V2}5=1qSHZ3;))ziGk_o>J8|>>voe83%E|3sI= zD}uY_SZpSEKxYm~P83JEFICi2h|X%}oey5qbJ17tyuP+%m;FA-`%3%0=OeIxHf_IvTO z^M0fKzKM6@Z^^O`x_tfD3yqDW)uhjpt|fhhbPlPWbOPxZ(vhThUS4Q8{HO8B0}W+c zG0BH!jG1+9$s&KOW6CcN_V^g58y6>@p+5T~QwRGPp6>7?#iIHvD4v*zgIKFgHC;x;r2perJBT4RL;1U?p|T zWgoo8gS*VJQFfK=3-zhcelFeNJP+ef6&$}~OcRXK(Hc+Y;l~mm6=Ao}H`c_v4i@%I z@#(!~(@*2Q+oqq+H{%T5Tb1^Uxosn7t<15FYI6LpI>+zio7?x1C%TTga76e0Tbc1= z3m&l@8x@)w)1TMNR}-lyVmKS*SK4A5%XPcGJH2>l~y79tI!E|lU8AK z-c4GC-oBfJzl*$@+)wT&pFlo=yoS7nyq3I{ypFt%yq>(Cyn(!ddZ*Q z^6BK$$!C(!BoC4Y$s5TV$>)*JBcD$`pFBh!B40qhfV_#kiM*LSj32F;-{H`zxN!9l zycIPzb(P@XpCG(Nko$;uKEJV2y3-qxEk4KQ`M&mGn&jhwmLIPD6t6iK+pTs?8Jvp@tW8ce*1ldux!19GJ?Jru$EnwTN8Pj$OmvuV z^wmM7yu-J_y2GmEZ|wK7&mCRl_ya1AT4)?iYPw~q5hI0GFt^+F#a>^y&lx{~TexP- z>tOtg%eN_?%3bG-=qV2{hK5Dg#sta`o73VoWRZD8o2eV6_pP~Cn+;bBYc0~9a}zpy z?6G%wWL&m3EU%c|oNvyQ=F_Ry}z9oe}3+j5?lFIj3lAHl&3^RyLeE3 z4AsA#|E#+tJbv-cZS6lgvaBaY|E;;q^5n*T->>iY{Udz8#P$86e&09ozra=hxA=aZ z>-(VVdt=QLmDBjo_|pr|7QU}{ea|;t^X^${Ox%sFMP5rPQ$!QR~l{68YY93fYswA0n zKXUm2YDsmZ`Y>}p@+l+(n^*D~;P*6=IR_*Uk{U_#Nb|!j$rr}&@44ZK!o+Q(%Mn?p&r5{IpO?6w=UaL95V@y3me|2>$?i_-d5ZLG zuqC;Rw41c!h^IPcl@3pQl{#PLKmM!a9#R+S4N}y&FL`ZoF~0WJ4^|> zT!imfYgqCEX`3p2KxkjEy)OY ztLOJT8`c6~ZOQ^$Q%Jh+(Coq{aI1cs?b`M0_W|s4wRNx}mUxTb#Yb@dpAEB(OVv-n2Oy!fW0;nw6N z#sKbYO&X!8?YbA1H4Kg8lh-p=$^YuC!=3*B3VVuu5&YvuccjGD%d8c((boECEBimp zb50p!ce0)@U+JA)$Kw~BcO*KS|I*PX`IpC!;hFx+PFP-3)U)37Z(8=cVvF7Oy6z1+ zjds5-xWmxdgd2M{$UereQS zx4th8_ldy0k7r(B^>|{5u)j4Psw2_o1*9gD`V^-=3$uLz4qVS^DOp$@l5U?y>2<)zG&`c~)xoElA%2^esT2rje%GeG39pBWWJ# zeL3{)NnkrGkG|dM>RV0!zQy|TTba#otLcY9-}GPnroOGtXfr*Dc!nLw%` z>DxN`R8MLky>{YYJh?8u4%j5OCq@JD1Euh0$l*=&t4+UNxe7XRHOJ=7b*8Uhyg8qG zifoyh>Fr0q0sDAY*GK8kgo<<@B~usiO#M(y%C;Qfznpe|Cb)wR+|29y!|l=s7T>Mw zm8nx*wArk+ZrNyq=mI}5E*g{OJHb7UXSyFzva@thxYx#OX*bp%-?lE8;OK%d_zqg@ z{Eob6t|WXLlrORI{f5?cGr`@f3-0RrV|ahhQ=`*x9}nDnd8T!l7p9aap8wE!jHg!p zm*vohzy7tbXJLjuoSZ`+eolF(4|O^A;Yr{vb@gEqeR!N_f?H#U>}g*eYXCXG|5MsO zCj0d`Y*X25B%$SrZsFm`@;!?$?Tf= zy|g4Z(3@6>V<{I?i-gH z4?n-q*muKHnhE}M_L+>BMWd~#a9cYN#R;NS7BvtAb;^%qP3 zXsvH|TiSR1-|twy>-MJ#yB+i%e&*-dZ%$-R z7R-I^b(ihG8&HRQYz1vLX1!-^7jxSGPu}~$NnO?Z|7Uh*|1c~tz}m$Xb<{Q2ZLLw) zLN4hbtKo_|DjIS9)>u?V1XEHHE;#4{E3r8!B61<-mfei3uq?f1wI-R@FZ#tUm6_dU zXP8`foljJXW-8z3>wG>Rc7WYw74GkTf8Q^U$KlL=KIe1(ywCf*-|zE&zt8*lHjp9f z8U}vJw!H&gp@%5fv-y6Hz;6zh4vDVLJ4{+8dMMs^*mRYCX#M%~qB-%`(|~JX7_j!~?82eoJ&bxRoQA4n z7<2Yt1*gI2QGj*o!_TKjug@IO_k(x7HF~u3FzM0G5_&XbUBj3M(W9LQ(4${4CZ8Tf z8QWW-M?>~!81zVEJL2?6v`91w-r~}uq0bWxIfh}tbY~1ZA?wc9Wy?0ZBZ+LReu&SZ zQ=I{A7vI6Jzpk0R7P30_m|L^ok5r<&N)>iu`+nB^3c8GsP9hT!eTHU*c6of7@r*Sk z-+f)*5lcD9cP=ltzQv*JGHhY#O!sr2Wj~a`^)cc3rH(oHzU&?Br*t-Nd!&CqX#F#i+%JyZ z>!(Mf?@6n!59Q_WiG6WMA6I*yMr0~y?^Dd9d-h&uXGbJ6-D)RjZE^eGpXR@__k-Km zpDXy*zu(uruk8kFJ6msc>Dr^ZI`*0Q>*2|_V3(A>MX2)furE6 z`tdY0Pc{PK#>rQY=nHqD56iaa{uJKW^QZ8ad(egDV*GupxwEGwv8gZ}*=0u8roye} z%RTyjCN$pKQ@YvCe?@d96-ShR%puNv+C|I9s=cqr1ptUDrBO8l7B!yfP2&A$L6T*qBtlSw)dh*Md zgYPAL(8I6$!7tgA?EW`OpJFb4odSMo{nVJWwNGQ$?vLXzz`ZJhyYR?8PkN~P{q~Pj zF4(F5f#4(9d>GgSf$I;!A3J93jjt|mGmAdfea*)}BRj4y6CQjAiux%V zZA#w+mSq<*kLt&9c3loWhthNC+l|0YdWwB;^Va2WC%ACaJ_p!Q=W^R8E4Lh?Kjqdw zt@X0JVC~1rcn=x@3tE;w-Q-RYIJxIRQ#&1Hc8420{wt9@J_{M>QH0pqehyB@Cl z{=3gcp0;CwR3thf3CZ8H}QT}S^*l2TmPZXWLWFXltWW$(3nncpst?B6ZXOPE9 z)|Nqjt6AM6JD1v=^C8j3I|{#`ZqZi#{w2S~g9Fed@vvvYKd1hyy5G$>wxu>>3-0H` z52w)+rw8W4g?}EJ4~tJ;gKkiKc!cMdBOC5OeE65csOu81F4>cBe`$aI`)ha;Hjv!S z6(jmA?dFWe&9BTi*UnyQuG$0N@y>I?qq?VfI$F^Wgci_ZWnn6~F%cMdceyr%i7Eqp zDiWgij6aNz2uU{mFnKL$0?GQ2g#WdF?P?tzFW!0CzL+EuDuw&^$S^NXlw zo!}c=Sh76OH)U?R@ZGC}eeeGYIOoEWQnfyk+39bc~na7#T*XK1~$f{+OEsvV<{;(-A|tyqR)eWE8kpwTfHWg9TC&M^?nOOOaBj?%VEgmCaH5S z=sBPr5l?SX%Q(WM2_%z|E^D^+kqY7?H`ti;T)xbM;?<4PCw*{8eNrUJIUU=kc$7U~ z3T<6EWSctgJ!qT57{C0evGeC@p=oD?Lwz;$VYqG2Gyis2ZOe~tNMG$?z|6+Z0G9`x z|6zPD_}O_rj5;*$!kIzmVHo|eICvO+2&8oWc~*YBrO89!#Bll||GJWR8Xx$B=W~^k z49NM!IC2?lPvZ?h%l$prZ_P6n2CuOfneN?vtumiP*3h|U(V2!=XF+Fly5G z_zsE>eB`Ill{9>wcU>{gu4HbZzFV{Sa6#Krxf=csleBNDC9kC(`F>Uy`Vz_Hw=oA@ zq+sS7g~!R)y;R<}{a9#q0)H!`GjDEeiO2aZxnVrty!Rb@`o?pPavRTN#}uC{<9Ptu zHa_!M;maMb_jQE@PuI8PappRJzpQ`0Q*E!O9ZMGm*azr&Lrig54&Ec^U38RqiFm;v zI6Mq}*X|mRAEkYMbnyN_ZQ+laZ(<+j%C!6MMceRumF->qKu&tJE!l$tK_Dck}aqI%*GlI=2isQl~xN73lbDt$%Gi z|BQLY?t2ypSH_~7VBQnZ6Vc$6M~&!fpibm%tNU0ukvo&|#}AC9-4a={inb3WOB(j5 zlDPujoC*)8BwSfuxcFXVO>ia`qJI-Fm)y2qXEnQ%vqtpYbBxaDxP7>SK5XP~`NsOP zuWcWDrk(o%_H24Sk8dPnXdlyK?(69>U+sC7{8gK;A-}0799fkc5e4_guICI|3ZM2( zg@z1!=0Mu^<*7O4eGRI|>r0frXg@ds|3@EprUGNFp)dc0xk|Dg^p0^?#eG?7C9>2? zPnKHA+F6M#CHZ3|x`nTMvK0FT)=2vJ<=y+sQUgEFg!cN4Y_WT~W&yMymp zT)f@iudv?hgW@3wAGz~z$bGctM1Gz_&DmznW%RtYKEU2i?Nn&*r2U{L zFM!{@2H2}!j_q?kaD8E3gt-H!?D@oiOBbITdnY)5+4!Flr&{mq{6vtuqS^evwT$k& z`e^XWo8t$LsqBlF{QZ6YR(TWdLjUL1H=6syp7YjI8RLFt%;TE3ZvG4X{U+qV+3CV* zvx9v<`saQ*@MWG);`ytI^@Z0H9fgy5-?_$>?L^BY%iXb{&ieF7)_d*8;8Q|4gx-QR zE_fJdrIq_AUqSf_#?bVE%D!Fk4*AFrDX$pzKANWi@nsmiNwT9!EHCV&Uus))-^z~k z@w`)pmK`;RSr1-sxBXpwAE3=Fu(L8_Bvq&dNEd)+U(jrpUJ8vXk`$L@x zO|t$E2S)5&b4g@6`4RqjRH)C5_cy%rs6IZuUHCi~@8B%X;q`yfVSc|*-^XPqL*_UP zT+=+r5A$&9s0J^4%nxlH)1Vt#QzvUpL6;w9o?Z-?zK4-7wDvasp@O~7@lln zvK4(6ri}MRWQ*O%7^>^dqcZsvb;+-?&08;a?SwlE?WDClOOx;=E_9IA^Xwk-yGa?+ zM$)}JyOw+o>1xtUl5{lFNmEF^?j}mP7Sb%zJdz1-C?t3vC&fsj%M+q&3R*vBA{+F~ zBgRY^8pC`Au6NG~-Mh%mmn?R3(afhl8|=FWzeJx$f1s|i?>XSIpR6#1o=mi9w`hxd zMkOSez7$zsm_c9S@R_FQ?Zo}KnR|VasUpjsw{jS;hc@RWkIDYnMEgy|)|ady8^)K% zW5b9^2Ai4Jedf~fTD~`cJw&>(H!G+s!dx7Gk=>tk%!KL1}8kb-py>P4K z01u9Wq2P6%2g6dhDIS>47yo{xi$9<7@aR+zuO0x;v@R?S_h9{A@au5-LM^_JzI?Iy z=*qq>=3uQEu`f1_50}U=;LdzbO1|`Rn%Ff#muM=2v=`(tWJj{v+)` zzq*^oNRDdHU2}|JApO_dm)BevpkwoN3ftyfw;!Cx($lM;jf-gBuCH<5?v*qCIN0^|M`}*mLaBS3u+NEh7(_Z+LsXgY^-9 zoo_s(^B~xHBh(qobbsa^`obR8?F)KxyGOi<_FR2Ce4BB*{c-rVj5c3=_h#a!5Ic~u zw7~Br7sUBn>wCJ*89QU1cXMT5Gvgjg=POvM?cY#$xyBR8w_d0!i4nG^Oosa!MlB9{;&#{FCJNIQS)o#c{*-fzhtlNf7N z3R#e`N*4xi$?LA1qZxOL@Hdjl&*SeHzZYfrmNbVp+sL2&lPgzJU*Tx#ZXQ$W+GCwbLP)9pyHR%_si@B$twl2wDq7CAWs_WCXp7xyN zu?d-Nh4vWdn9$oL;uqPo$v&>HI6cMQ-j1Vt%SvdFVNFuUia?5aq3!6(toY~Gct@O8 z`>u@Vsngx(n|N-|t9jp)mwdC1cT*U{IByKs((gH>d89kN{sZ^IIAAf4d>gtzjbSWx z2o~>S3}c~lk{ib|h7NG4o%(d1xeb^qX5u39vGG)HA-UobR&Xw?nKJ&~a|!KKcxOSb z^>lgCqb&qK+hP|1XVx_1ZzDJ8I@NwV?Q}#o6+Sa(Pv0DV>)EyZ{VD!#7T(aG1UL~S zN0!aCMUH_kAhYsY_m%42K+%5D`9y{?q*Tr>cjlr-a{}LKN&{*Z6&ex6wkhthiP8UVm<^@pU=(XS!o&JOA}=@2Y#8= z2b9seIEgX~OUkqzP)6&ojxwT|_x)RWpX{y{=Tn@?zm0hS_LhzeVE>9U$9h*4NI!o# zbD?^wmZhE#5QD;{SwqJRKQNwonH#er-~FcIi)FBvyL5bsJ07b8Uj!bv0Eag6)pef! zlX!Nb@xpP*)UvI&ftP<g3p7GUGz6*GpAQT& zsa=ENrk?w2^c3X8V8owG&ptlD8byrWPfk+2Viz9=hH;R7_-)9ydSJjAD#X7fPJWN@n;XZcvyk$EP?GzxCh_0JXf-la8K)c zPMW)-!9A_}MQQMj)JA%vXwS~(#BO zKVy#|`pEZICb*V<%^}SrJxUwc>2jYp3`n#P!6PtJGR zFD+y)#GBg^7rDGT{)DyZiLQ&cuKTFVTV>}HZ@rDb@zu%2HRdE^Nb((gbvpE72Ji?* z;kmr4rr+YNq8&Q#IWvx&N}55MPC8?KrM2~Ge-ue$*BgMo`)g=oM&li1?=-+VI&i-+ z9k?W7%x8?Xdl>c1pq|6|K7N?r&pgcUhvNA)*c&E+8*`X+9uX{Gh<0V%u<9=Jo(k@@oKDG?n zsrG<7G*dndrnlzZZKmmhrKUT+z#Qr>%n9x8U6^(b-(p+pvuLAq4*SMzd0&4YW$(BB z6W_!xDVEF3;TmJNKJ|^$|loFNH7uqW$nq`S6v^SMZhHxgWkG4uCIm zM(?E7>&$bkrWqGrXBM8b)I4`CKDg`&7;E;bqbl-O9(8^`79gfwAduA^F@dlt|H;kX zouhBDy@O$VDBJY@e){`hV&|oQZ2r8s@ZJBLq3)~Pc>*?I^!z&a-NgKfrW4N{{?6JT zLgrRK2J4HSt3R?4R#-gQzdve6@BDq=fb!Y^bjF@{D6x_I^$aQZy@h)G`=buGKlUE0 z6gtJoa!p`1-1|77zxFY~N z|4y&N?U#$|gYShkcVPnzO7K%S?%##=w)qcr47SepU-JXe)S>q-wFmUqZD(-1+kmts z_TPI~*KNJ{`|fak3)`XF+h;5=4U?9duU^m}Gs5cak$11D#V(LQPiLg7BSqMgL`jLx z!bS2+9?C8;4B6Tw+V`EczP>ip8x5@~o?f@6ct+!zVk~r@GqvtM=e)-I91}_v19hol zS!1fGa|ynUC=f>`r=PM5y5~?X(|P&E8f?7P)(=R2F3Spvb&HQ0`a7M!TV`nt`(y7c zJ!O#_WFHDfu#qBvmW40NUUf2j?Bw(FQ@wkN#lx-$8qU69iy_{Y_Lhpf6(p}FR~>er zgnqj^vgRl^j{mZw)DLTW^6r<2oAe8|-^i?r!P!DTB5R0)%^5(QH_#bCAFiws`Y7Aa zW$aBUk@Cw>< zhI^t61=EyH|D-!xJCG_1HnEAHRd3?roqB^{uoH!{54VLbO5k?7ql7 z|26GD=bNrmIVAHXi;+nfBpNN(Hr%G_aX#+ns95z16^F199xeTw|UDxV}KA?2HZQ8d*F zeDDv9P%f3q3BN=Kns}}|))wAa*;m0c=?Y}C|JlDt_qse6iF zSD#EQcls@vK9cFo*}D0=KGB)0C)YkMLLP};lv51FiD~ZLASdNw!OkAdvHDt_CJx?O z?i4pe>p<1^1aICkQx9w3=Hs^Sb2#xZzmFW|_w|SQz2+eQeSC}YR}ro-hxVSkD6o?* z+QJ-oYc3j+oz{j{&$|d|B1v;DJr3}Hp$52bzuld8%NGZjb3KnB|7fiZ2=igs^96I^ z)u43@gYOIp_hEcLB;1Gbz2LqaxF=6MG~Ank^H4BfaJVqP@nHSLKzJ^gyZ4t2GIztM zXGpjYHy=N%DlVP-VPi%Ri;V{?dkZWZaeemVH)$dwr zo*CC>o?N!Td@8lT{C(+yeLVEB8(cn;|6V^IY4-R?AeHI<-S_(W$TRw#K(43;Z)5P0 z^dNjB?edZBDi0rdofxCgaI5FGd<5Ph8CH-ArvcDj56Iwrm$+9p03c9Ydd<3sX-_=|Xn`nw(*qG;Wr_Vsoj zGZ;<#h}PH8_FTKKIE?RyG&(9Av4~LqA->exvPyc@%{*k!&%kX^s@3DKYL2L%Y#98@!-Gi_H=a_TR zzPphpMEkT?-?!%YTQar$1B45KXePh=i-$fRtTnB5@=w$)T#|idI`t2RPd*;We@p9G za^YC$>DE|Bj%U^%Kb)weqbzWmX0@=}woX){Z1;GT`e3(U)l7MS`e*O~kmh->QUMI>uTm!thU zw&zesxP$vp&`CtlJE4PlyZ|1i^&bE3H29oES3`_L-S^T+d8_kC@SeTB!OznAx|6%Q zp%nTC_P6-jsQyx2Kn3=uKU=+o{Lv4s?Hec!9dqN*%+p~Ha^g^;#yZ5-X=N_cL z9i}5|(%dzG4#Wg>k4t+&dW{k4C*P^vmx=e{$7s+!U6X8#2KL&-jnMiFn6RzC#d|J2 zmmeP{>^-}r%8kcDT_Nq|=WoSNAfYvguVaicvwk^GnHMZ&Q@3|6vp&P5@6gW>wl>K@ z3n^30`mM%~VBXP{`A<%8?-ZWSUBlPZUSRzxMo?Dr(THSMq2ZHz`qEK&O~myr)c(Ib zO5drs{yn4n7I`rm?z#-q#mR0A42oulbB+g8aLIQ5ajI+Hn1MQ|OAitd1#qPJgV-HQe7&s(1SE z0N?97zYdk%{r)y%HCNlrEm} zTDmyti5Gvc8g#n6@=MftMqwDGBL&3?P?H0O1b?vY&gox0KdUe=?tL+#+ry>&HCio65- zSWTWLof||ZCtuIAjpUD@*X;`3Z^wfSwm2Lb>-?pX7~CP_tgYKze8hX#X-sSC*(aUU zYfm|;-tEq}>)z#bHf}D4=Z2lm(B|TI>qaOxLg-RaIs-n~%g*4tJ01Lsq9 zTb~ll%IcOmr}Cb^FPXYws*~FCDd&!bfxhSn?g3(4g=5NX+h3$@jcL)`&BZ`t#Ce9k zrY1K!Rf{(jr`AQB>dC(^j+p)XV&&pfoE4Kl=IETxin%8{WwYlwH_yG+IjgR-Sl&3_ zX`b9!EDL?w3D#{WmbJdeDW83s6QizWb*DNl-s^?iZXwIa;Xy;3- z#yDTvFv|H_>q6&ip`=qq`O4O2=cL9noGR*FvG{st#q7^JU!(37)K~S|xlSbXMW|YTI-X=ch@~xjJ9?bPjBo*@Bd`6c`^7r7d)QLI71trOodK;ioR+tpQ;A`t^Xuz zl)1|X1D!poi0dzuLAKFd2V>4I?@R39zQiy6_{HFkP8&mE!MK|zZ@BBOpPYH-nLqu+ zCq8lRhP#eF7xG}9+`j#s&~HwfvhAUTth6=7aloo8^q^B4-T|GtEFTC(n8$R{grbgV zJl%*#85@R3Fj-x`15Ol@@Wjdzy>Jv)WkRXaYdx&2+7W19Zsp6c)R z@3ln(#P^!Dz7mYdu6_2V@C@l^Cy-A?|2`euw7PWuo|yP%;pOkRa@h&TkM4`4+U-3A z$Y|XUJ?q}>+CaG`Qk2w8nnd~ncYHobJ%7}<$xQd(U#rH~ER)Z9b&Wb>L|+Sk|EK;= zWV(MyOd-jVflMZUCGp|p$0b=Z&hKyl9uslz($cf5y!TW2eJsBv>wT5q$5Ur5b`|kw zm3!s&YVLw}b;W-x8)1J}unxzRyT6wlm&yN`=UQK)D+YX4d7b0ZIk#29zR8#nFQb~RqvQ36fi+xuzzENBJq)={nlUg7hIvS6wQ zeFpMHihGRKT6n7ux_fktXgIngY>)UEy}i4bn~^OsmV@iAbdHtzasb>9s7VDT#|TjS>EV<)(GpPfV7lFQDdtZ-Jo7p3$44(?DogZYr` zrFC@8If_F@T#bGBvHx9Yweh!(AGI;vZI|iJ1HVt5>(;-U-@Ad$^Im&T^Y_#I{c+wK z?j)4lDZG`vNd1?MOV1^j`p-4qk1+Od4A@||uD}*&?R(6zzJYRtKFE9buDvU}UqxP2 zS?Mq(D`|fbWZc1s?hfQWOyKOt0IQ8&XS&8OH4l^gb8j^st&u#~Ow6WVf=|&@EwL_Y zsdH9$oH}PWHfxeW~JUSi$&52Ot)ORn5sozVEN z%8%r|?*4Pv)e7pAf7Rgk|7}M$R$Ypf=l6~A)m>ZCp9MqoyQQRD@72Od`RHW2zx0L| zj}0Ga!H~P%=*QZ^24L&&f98x@YNlGT_QbrT)J~@{|Ao`D_Zs=`d(w!?NZ;T5(`E)aoKo#>9_VK zee`X|$ff2d-GZCDfU;`iP81^m)Y4P=f85q?d%a?xor(G{=n}eZD+sa z)jh+qvp0Zm)31TfB{n}l!~7aJ#%(;+NvxeLzUJegA6h@+oo8OQr_V1_OW(D=^!#YA z%)3h7Yk&Sa_^J1!z4s@Tycey=dhh)c_zT#-7RWeIe>?`$y)C{Y0-WHxBH382k&PVps-lPUyuK3h=WF0F)$d`hB3n@3G4hi{tARW?J z`ZWbQH-)}UiO^Pw4yld)H1ST)Zshj^iod*PsoC{1en#)S&fJaQF^S(V&bqu407p^<}|gLUFG!6YxkxD^iU5E(!SMcMQ_U4wxj)R zYaSc;duo)nX{VVqi4-HXkf!r)2D$pL_IJIj&CH>FU#8UlwG16r2RVBGLRl))-7-(` zysc1~5MPPoySDzQfcflr;-Az7k{9Fx<`v$@^RFXwOhE3fjC~-BEx9{P?73hV`8+Ze z9pKDv=+p-3XijHd!pJFA;7F}}?>N7NjyJ2bw@a?v(}yhBt8zi!ztbzLa@cLNcE1sM z`Y84!@8B8xj%DFmv-~Le7)c(I?78TiU|&Rgm>6~wWYB<#W!XRED@4E1m;Lg@5&7*6 z7v{^TFFa;Jcji3pL)`t2Z2YDB9o^ym`7HZqWOUX|0Zn75g}8Ae=v(X`iDgGjIN^n> z1Ks>Q0VDgSr!KO6(VprQ`qHBFwF&Gk_{vm(Kg3w3Z&S1QLKT2ZzJdHCdpG8)edoNV z&?df!S>&AFJ&oEU$Mau9=6$#k-@>?bB#No%$`&8Hq?&!C_tO*j{PRs9kqLCLZm#v>zy;6|%MMj< zu=A2kqRYzo(-~JwRQ3-7O@nWULi&tju=|e{CRXO2B#w%Nj7tC+S5MP`5`{RU&_NTWou4UO; za}(zV1)ss^`1L=O_h~$SnHY1mKOS`C{z{qZ6fp#2oX2OZkJbt9ow-NI-8;_v*T(b2 zqkGY;?LjA)d(otNjLGC@06YD?`Izdy32D1`&fgs{4@J2LLG)8~P0z?*0X-44R{ji} zlasxz@Z$8%g%_`7FBiKt`?pn_i&~4v0gnY9ZoJOeU!{!BXDHU9$_Y--U0mI#^ADQe zzfwkXq`ksxJooVeMQKR583iwdt5cX$=@XjyTekb24KDuS%Pk+#@l#Ev9E9qf5piQY zN`KHYv$`)XKax1QiKOst^YcEw1Q?6_%Nj_6LzKLkWPS1J*9o+*cJ&=}#mdlUd*jkG z`S$wb5^j8>WK4>~tucvS{JdmL(2ya=v~pv0Uvtuh3vC1p<563o6n)5i0Gjrig_&rY z)>c)lHCrzn@^F^T=Y}fUeA6f<=cYo4e%beymaWWcE?dD_(I5J<4{!gX^3D21J>7lKT=2vih@q&YK z;Gat1rC51B4t%i$UV`ILIB>x~SNDyoI|fvNPSD=e(AMKB7}umY^T^+)dcWb)5?;*y@N7--|9>H7FOLutgAn>t`3B$;5P-B#z^QudcjNM!!zvl z88}-0yO$UPti^nb))RWLN$APYQ+A^hX>7n>x0yJ;T5l#rLRTq$Wi=@R?GgTsNOC4R zwi1>#Gas}3XZb$cSUt&5ma*uuP%YD_c3$hi^(1>|}ao@R*Rzm+aNM8B=-j|`3cN9d!>-Wih9oZ`8 zbnoTpDiYvBEF)c1ugZ&m{j2wl$_p3uUNq6_4Lv!qKD^e-f%T@H+|`!_b*_QFw$N9t zk?H6L8n7dkmDrIo4K81+eRFT9{e;aHE~RqSs2T7y;H9yTq|6+2Hojcd$UC2Z26-pB zDw4$Zid;-1-%mt>E^hb28Pon$jdUJ{S0=l4+ zc((V71!l`v=bP`5-$n|4Xo2|wX+E*%o~CT@wI$|m(hshre!lVd&;A*x8Tet8rx<6F zu_Ro%_$=0o#WJ2|&+NZf$JYmRyu8GOXPovz^;Y)&u}t?1^}5eRh8IDE1n-xI%< zbVn{4xhNMQ-lq0uiv6i?P7R1Yx%;)?hG3s!xvOsY9X5cW{kUh)w(5AhK1?%W9ngDs zO~2hbqOtYx4bDBKS!d9qAJK1(C!9d1BDo!Y%-%U?((d1q-?ewFjJIcJU>^xUkHVSr zbB5>oPO>BGDZlPc;06y=|C++22=7V3Bs9~sKW}}LxU0q0ao$NivO%tte2ECPzm2Mz zzxBSF_uz$nUutJ_V|#xveO&~=`E1z@i)Y2=Q z1)QLXg&EvuE&AU~S<#kL!0~4EN!l-nXZiIs$9`db$`xNeN?NG8z)S5ZRG0P?T7z1f zs%wI+rz6+I^XAy&1-{Gex(-^%JJHrql(N{w)b_Jwuk_WxtMyy&0+jg`&mO!29eiB6 z{a;y}JBfMDBCD_$&V6Q-*1!8)@}K2F#~w<-Uc)kahXS=I3AF z?}OHNOtKBWE4=gja5C#!zw;MqeY@?r>)XAPNpwK=y9V&Y-?K^vDc!RQeir~Ioo&~? z)i0<0N@+RG*%ZnNuN6;6xV?Si4D=E!a)I=Py^d;z(g`O0iv9Y)YuWN_*Uh6~rRdDrbnO( zc%0^I0y%uM@bvG>`_>{GpyTNlZXXXm3YUf7qT9!TPoHIOb>`|gXr=J`xcIh$@V-_$U*3%Xx9$EL91dQy zzkSNZ;T0B#AFdG&yLKz#aAlG?P4ADx(#f4oTZ)yc-?HUT;_rcQSnr#8=i~4~a96+2 zusH0t*c- zg}as1mzI6DuEXok4A#lv@Kg0k{hL95juebEp9mG`NmRG5vt#X-z^Vz{9|NqyC1oaP z&6kv!NSR8?Xx;3-_{Tk`oH)8S^$z@M(6xt=gEI1a1P7|vGrRLFUG$NfXVvBQT{ijB zerdm(eU^E)_q%_v+s?CRmt+5rEZKj*yL_haqO2VQ`g-3^aIt3}`_$L_ea{pJIly>C zht#(0m%*{^_>!=fg)S_^?|LqE$>w9ETY#>~=fWh{v0v__zaQ-WINz9zJqy-d9pl_i z0=fe|G8uekNcR39)S~msVS=)ee1OErH+Y3a4ssx%v43 z<1w*Ytgj|`8rFxT|e^`x#Kj~f%a^qY(-BhupC;nVqcu+inQjf-_QKsUTB%;d%Tgk zw?4FbVjsx7RTb38^r(B>gG;)r7xcC%)KZ6 zm7aO2O@;TwSN0_Ndtz!OzrWJ6nr9KSk~23e3w6v-Lu94p*G*CSO8=U>=xdg~rnpxq zc}s34?TdfL$!C!s_-%RL)siztT@Z;F9WKbA5p*Z<2*S>?fY%7=iM&p61=vLJD}}jX?qfF*U-kXCG8(e z+fMM%ZEvLh#9v2XuVM;qEXwhEt%d+W5K?^-zfjn7_lFB7RJ42fu(a_ zJyE)%ZOB@>qX3!!-xZExmrx8hOFOYu_EqBJYoFJx#Rqtqb1b;&%M9Qk|6(mKj%_p9 z>g!B9$@k^zh~dMP0#_M(06H?wm@TW*%X9Vgt?F**oZywrbpND=c<2c)w&wu%LFoKP z8eXs#T^4dIwo228J~Efq{hLYuuBLug!uT+o1U<5F0d8H2 zQvrS`-UH{&bw8Y>GmU;s)q(F#PO+ys963jLnBsn-Cg`y-S^DkD_OgAIsUK0|E5yi?nfxEl zcKaHHCQhVZ@0y4%jQLgBAi3eL@M?1PY4$%>_9<_QVXLQ&>lmA*-En-szM;Eoh8|b@ z5g1oHXAYad3(=4=&50dPHebeA;Nkf%-&0{>uknQG&nwt3x5m1(zPfGujOV^@R`lsN zIuUo?Z5_m)V4U0FN7|2sW9~U%Lp_}3)_KAn;qfJ7Ds9Z?X2!1hT z(}I45v*<};@F#&~Z1A}IE{-1@k6+IvANan@qviL=8q|3ylkj8b>8?M;&RYq6>5rXP z&Y1Ll5dR6q2b#c|6uo0D9~37K-e}|Gy|mzU>nr_M>sBA7OOjl+Z!9+EU4Nfw*Y?L< zulwIm{&v2RE$3T}p?sJzZE0-feAv|NR4-mqXf!yTkk0QaPfs`Won&X2OkQ^*%q0KG zSKYf0&i;8tUp3=76i$n7RMVG%`ve z1H1;*`5kaRSFl57-7o%fTe5>azxJSm)G>_no58Suw>@{^!NYDlS9jrE;oV<5_*~Y+ zuxBOktAWs_y zJ?UoZo<0HE5aWInGjg9iQ_pYl>7yxs(%&S{wC8mHhx7$Uqw9FNtfH?88@Ru}s>jA! zy1$YP(?Q*(vP@~aALrf9f9P-5mu38RCCgOM?y+9GP54wCOS``rM!R#Vd!n_&#`BBN zb7RZT1%QdameCF8Ov?RR@^kzf*hMp&pO?J|I@cRuPgu|Qftd8e_8#lHDDgH#Kbz>Y z^h*EMCcgsNTKD(Im)uk1m96&5%I{eHiNd$#qb^@48#5dIo@>K3S?0d`+<@64nj@Qo zou?GMn$$!(nlXi-k>b-!crU*WohkizxGaA|cv{}xtHav7U?S&A$9-Vmxl-}?5veZr z7CH|Bzr^RMiCBpNY%C4rio;z`uDzq?O8i7^zwvAM0PDJfy<AB7%H`eoXkRcMXwa3J>$Q^j%tuRkW{pC~d!izcnvvSN+y{ zRlDC+yYW<3dc=C#ZJuLSPB;R8~{tfQ7|hVhu}CE4BG~PpAdc6;rEeY!fz(^ zKa5V_hhG)&yVQfzsLdbn^*$BnzsPIF~fvkkowzc z+lSvs;J3Hc#lNK<{3_Gnw5LBCXsw1l7*@xJ#=}a=`MlyA=#EQy#n;dsi+;TEtMb0g zn|pgLO@+Qq49jmO&VJ<<_ABVB;EO|@16UoqtB}U`Md!UNe@=+z48fm=BP%4@cd0({ zXVvfX=e5vspFgjMKi@{*+j%yqEHI3=Qu;o|neUi8?g3?_Vbs$`J*mU2!=HmTZw?Lx zd+i_mJ^Z4oHm(Z1&OEsHb7t-D@dF@zfAM^?i2M^@oNwBmTVg&sX@Ti^-vU!d`tExd zm}k#gV6G?mdR6Y#v*!-RXZrQ3vV)5s$q#0t;cjPa^Y!Q=BN6U?j>$J>rhHb|&f_DD zFNzyavt4#^tAia1cj{y4sxrt3;Ea5Y#VfSmHK~4?LGp*rc1nf_@;+jS2}ut9?-h>- zV5h5(p&RABo(JL=AUjxldfkiKd&B>FJf5>~Ljw0@*?EkgiyDRZ&;FS69lbYqi>?jNZHL`u+o^F5#8E+ACY>wd>0w(KP28 z7-ux)^1WvAmv*``iSz`LNtzgUsZ0X@JxCsrZb9;h?rRs1sz`eB2tIJGJR+Yo$vv)2 z5~PgJTc4pl?M>OcWa)qJ{rI!Vk4=7J4T+I+6*;wS zX@n;q_;S@ZsHXzCL^_y>@y=X?v1+`M4=VWPMR=O{>8RwgoW`-?LRT))JIN*M_*=ea z;`fqEB!j4JwWszqKbjkGX|nq5w|k4)jis`REgCh9 zE*+cT>BC>+(|7*(E*k)@f?p|Y*L%G7`~zS*wFIV;RfY@G=3&6Jk-Fb&-Ax^n*>M2GdOn`a8!H3N!g~Vll^OdAl&>lWqtYO<^$xH z8<#CsN) znWXveUSO(7C!V&zJleFtjcenbW!8D1$9?+}a#=NJfyxuCd3a(VCBEp={2FkrhPW4+ z8}XbmU)1?im*%r(LfGn{|HR=CuZ+p2XL_^DWfmK}|IJGL+Uz&H_v_t8nQbLy{z|vVEA0@m8&)ttFUdBqep#{_!^@q zBb|cES4S8RI9bIvvayx7ZYr9(O+~#6G;S*X!(7gg%wAu-VDVO`Z1N^zv!t9d;^dgn z2~I`b`l4z5p;JN3nt)=a%*9r>xWXx~o5XM9v@9-j%-mawfyK8J%j#|^&dRwlK&~Q> z;DaF_TO02ig~ph9^UX_7Ein(xCDu3j1D~F6Hj>Zf?yPc_(ui2nC$7P?^(3T>VG9SV^o0VlaiBH7~tP9Hf9_Rz2XHOxbrb$AM6X zqwnoJ*PY;$Q_mFam+x=vES|&Jf_hID)L66VkFw~J{IO1Ctp580*WAODeYm9TI>tJY zy6jlN^(_6*Z&duSofcM6)_+H2ZDBRG_>Gi9x7!^+b}hfOt}hU{!`hhqGuD#3OXpw~ zZOtlaYtQwf1q07PGi94g$|k)zaCMX)%m?D;QJtCn9&0Huu``!t4op-s9(WP&Ec`0q z-VYGK=6(t|Sk63i&gBX9^_}46RA6~_>n83tAg0tq&CVoXd>*ilZ8+1JJe%KJ&T>YE z-sOx4jc`Jt(17!FiZ@T18{vT=F4p_0$IL#}nL=GA)aaZ;8|BPbMO_*3i;S}eJ7$+R z-_X)W6^E|cu9diG>q7w(L-&d;AJ}%_qoDrYdr4j2#xSw_c_zC-%ig^Y?O zM@LUSkrW}-lN#cwg6u$1QZs21X-Yf=F5Fd^8F6Eg$j>>Q>cn3dpB?%mAE2h=U+J5k zg#I!wE#&g4o6-- zYqyPOy0cfgcg9ydv9?(G?Al`UhE2t@wrnb{oaH{BHQUW)m-yp9_5c1)e*0@eYi0-f zs2#}m{+hWI-1OfcxMuF9?7byr{~evkMER3E^h2j5u?CoHUwIY&E$;mc*beM|@(R{Y zGO2ZRg#47iZN-TZU-;1n_a9G~K88#Bc+3#v(ca-j>v!Vv{yQ`taBVv4Uv)1#09M;5 zFT0=*tKblIXDFK~DZA9GTQV2xH6Npm7S^$N^jb?h_xB5`2(2yhE?0@&Uwtvqx&U3zPj%f47*ESbN_8#k8 z`0Q3^1 zbPr}j+W|h*{b_s~O52>`)icSfXTuO}PVmasdSz? z1OMp?{n(KWRd7j~Km9QfPIa4F>|zs^b*ucPA9L4R<(6L;tDg9E@z`f~7RQ387jD?? z=zZ%$yB*;`BeK6?@~td{p~ID@IhKzyy&5+&P5wy&bOe)--I3y z#51@3#pRiz#qT0UAhGJ0udzulSS532djP{$7v#8BW&joQ5LLoS>?!?^YL-=S&$lXFIrg-muq z%$OUe{cg;^pZlIq%{R5%mzdlq=bN7Yxx`GncD`vK-}8z2=Jh9*m~ZhsP5xp2oh)RX_^qw~$Hk1a8IJttqs-y6v{{+xRFoh1M8HPlc3 zKK_1v+Y-~8m~S4WjPJMR%V!%i>?q@o>y3vJomqC}yllU(M?y_(QqjRec|8qfn zq6|Hmc)=?(kQY*%O#$EF*_KEB4 zC(wEaJa=7j>V{_gyzW3&T33ucbS7~j@38!Q1UNA=G;&aWex`>*lDSjRKlALmVxV_j zvFtVSCsNLfQP(%5op*oUj9*0>+bO>%JzUYJy^G|X6#QCr@k@;58hCvTGC@t_sZN{t zL#P2c;e+`aVp&Qbl}fG{XXOU;FK?ay7+`_ct_#R>_SoAT)TUl_$48lEwaR%ctqp2MKi z5e!Enmj#FyE#4n6UC27ppV<8{Yms}+BH$hK>7J|8+Gk#YU3m46d$#}a2D83`eelID z&M1at82MT>LpW7S*)WMd*tSJaE4U9W9LMe)L+_1G{QGDhzl5AUw@5j~y{smeKfA`E zKB6n}>>VlOQ`eVS=Lstrk7%{@>?(ICJ5CLL4{9@yy{j~SqRypMCxn|vM&2#GyG&!1 zpNw=IdpTM;Y=e7fZRoP%n_t#w6Eqr5*;P)u} zK0Mk@+<;xGQ#M?Cj)!$6-YtAn%u2~}uHS!0E@H>sQ5a$SB44wPeSZI;nBdXx_wS!y zu|Bp5y_1hL{Y6HSzoO1I1kAX6Fk)j!)CD3x<2`;X?14=5HuRj>jDWT1hIDKdX3Y!I zx1d)n)bNeg_-=S7K0CQ!On!`RoS`6apR98^$%|}!V%1S)@X3c}X}w$7^d#aJV?#MK z{UYuJ-I@w)7XBwx!k5#acKgC=cBZ8gR~ox#+vjA?RC-#+(r| zz4DFLJc=g2pT9%qwina~%|{46p>|b9{6Ka)?9H|vo-wcPe5##M%mX$`(Rn++Ix83U z+N$6i>8(baO)u1Ub>>DB14H#{-c_&K_Uq-@e)ZBO^f{Fi&ZtiHoj4(1hmz8&r0d#ItHa4{r@!HWdd=qSa)w{y4(a^+_E3&;iF%>FSV?HMzB-g|ig z6t?eWzo?);^40hGFibk+pIg#gx3SI@TUzC`&R=p~?we=#pZ+;W*Pig=-?5QV=1;uW z_kr*u%pYf)pgA?*ig>-X)iPhSzn{NMKz}oK-J7bh`np~J+1Zz~CmemlzWB6SYg%8> zr5;yTdwKo@Y#gpUvZ4 zc72Oo+&tgI&9l`Gd{y5m2K-cW%L^5J$33;Z0ce-@#rD1T&YpdwPu=3r$gZ;ciH~W$ z$flq*r}KBe_1Ov|Fwnf$ijJ{P?~gnJ?g@{V6?9(fc;5N^ z-qPhbIwb8D__Z2I}Y?o<}sH>_)uCOt>06%HrvD73FbcI6x4lK3jLx+fTs zZR&F2Jv>9SYkA=e`X;&pZlT9oZe=p{)AB*aA|BDDzEj8j;cZ^u-RG`M+D@HXH_L5V z6W9Le%DiM(?a{Q(P}_w9;V?AG<(H*<#{+4N=JSK}opsx*H5`K{$aW`wa7|Hb%JtcD z+uXk&>T7j`aYUEzqkozYJ#V>cp;`S5Yr)$;iQmOV)03Q)N(oL^<(XKK{-b00+cF1K?8`I9X-xfZw$D=$UNj zuh>{jm*;m|dbJk6g#LN_(~Isr27rO)u@9Q4dD6Etu3Tu=|M~`lEwsnRt2g8GkD62# zoH?p2a{E7&%E5jg!RNkuaGrkjLMwL#p$ptsMVt@e-&NgzqYuIXpXcbVg4z@~m4TP0 zB@gR->a6b1(x1oSHKjD&rQz}XCwaG3I#GCt;!fNHUsCMdZ)+?`;ZHpOVajMef(hwH zpa&*1HW=Ot&$w*7aEd!(yS^3xhJ8Tm@wR*wJ-kD?!Al6_IsC@wfF6>=MSWqvyA4g^iH@{ zR*ny_m!I|o^fRsZz$*=XOKvCxVYAd$vJjBe5*D4 z5^K`GvrM#Ca%LrTtD5tMH6-z_t-riszc~0wXheee?EUMf9U0|H>yNBGf!2uRG08T8 z@MX}sl-BHiaqOjgt6W!|24r< zvhFreXQ!ppAeI&}dK+uv`0yal ze*phJ@l)cz^}x^I-B+P=cYQ**15ye8rfh+^nEd*y=bH?_w|||uOI|Gdqu)Oo z`#5U`{P3U2CQ^e8s2Bp+5TIL^!9&@hAvZ{ao>AP>|ymtaQj(vlF|0(-WyGM|IqxAmM`Si02nN0GY^qN;p z=)dc9!9P^7pXwrpntSJIC3l|o;SWF9ou|)_?Z5MM;pc*H`_9vk)2G4iJl*jEap5d4 zxi$MA{C*G_VBzgc&2&AVxihVB8~6mi zML9=j^>=Z6^k#Brpy0GmUm~4qd+sl^b8pa~$2R$`@pj2u`K{rWe1iB2ch|NT?g_RR zQ`tO{o4Lt(64Ix zb#LtsXxwFa+tbyw@j|Jm;sEL;>ly@PYxLG6S2`}o`N&wVzH4@bIK_E5SQ zwIR_Zs#+vZFNq= z-{`2XbmmU0Yj7%#Wt}|nfTKAZ5g|@3zD}*&b$Qz4h%>eBZ0EGr6P@#BpXp4Se7f_Q z)__yNou}oCPoR#E<6HVse7+O-cn6*H@$vplXqq#vF6Oi}PIb!XmOH04);pDRS38xV zQ=Ib_pXpRip5v?tC7ko?&Tv*Vp5Ro@KAAg0BTi-ODb5P&`sU&YzE&S|D)C)yz)!hh zagh9c=T`iZ$1Dywm5nDkm*I;SU))(76FSeiocl#rVL$zLaHoaM)}ZT`y$TrG`GCfc zAKjUIbdC6m3qKejwp;hNVEr&Yiw~FhEIRWzOFamz*Hd)BTM-{ga#?>i<*JeO-a3$LSxt0A8{d#e*B zKd*HwWuGiQ`s{S)V*Cv+!O!~9*(023tz(??@msrac4x6=%Wh{nWm1%BZS5?|XHs~P zdgwyOY`N5VC*v#i$2-u^@`sGie}ABi`Z#`*kC*sOMj4;#Ps3OL@!#ZU5YMy!3xxx& z4zKik%WJPu%n5Lff1mioAJ0iqU#g_OiPTqvEg+7~WZb(ubKxlG7an@D7-T$^__uYT z+tInjr$4sG#-2*>ekObI@lUqrw$`>=+A<1z%qVO{N#0%jRC~_<*X(q08+DD@ zaG?_jw`a%nj&z8HmOXDS_ZHVZU7Xq)a>gGEe{bYY=E>C-H*`IPY zCOQkFC(p+(u(SBW+}+$`+*y2T%T}k6H4t3-qMLEcWPdLrPY$Rmx$X(L~4;G4|n$#XdmFuAk%PH-~X`Xu-HK3P1Y z?n&;b?kt|R_{n1J6P?9(Z|E!@*VtM7+4xubTEKUorfD52PTAG)bDxgYfT#ZZQanRO zuG4*ak_Y^R2E#%)KPjAAP@@#xE$w!md zl9x}yhjYUc^TYSfHxH9bKj8CR=~{zv`U3Ao&bIdY{9}7LKjg0UQ&}gq=(rT?N481n z1ZCrtUr;4-x$KbA15`)uuzHm0$nv9_!o<+mevdIn(H)9@*mVhA_H_#fu1oiP{*~63 zsr24l;mA-nOkykTvl+_%CR^I*U+nGEy{hWhuhDgu*7r;4VbFI-&!PR8Yr}ElJL=wu zC%pHiHqoC;2g*04&#FB;rLRwz0v!FgipS#TAikRW0I>?7dy*;8Bg5-iS1b4QO#+rt z;M)vb^{zUK4k~){xa#P#qbfv4tt^(YvCX9KkAfGINVO3wmtlWg%h@s)u7}duO!D9$ zdu1scTz%l+aIo`pz?csl%X43T`(ueP7UHfJ#FOg(8^!{wLcfpiC9>>2!GC2QOkQ$r zWm-DfQww+3zQfLqY$ckvvRRBZ!@OB|&c-KC_I9h|_3Z7dUT|@BgT<}TKHReUT=p5O z3b*i$)(`8f5K1BIYOdq1KWlTGwUuJ7m1l@yMb5qzdn9r>&-IPLf4QE%1e3C>-E zUjgn(AMPK_vv`5~oh5z_D?LAlw-(o4acM=Du+i1oc|d=s^tHsVjy@>|ZC=H9;^ z0WV@C@H0J|^Mjnrh)v#2EY?)EyY5vd44*x(b+=O;YscSdc`k-s>E_03oc766o#m}l zIoI%rlbZWE=jPd;b8c!RpM0HjbL&Fq=EYxdR&IH(GZtRC{E7EEH?KOw2~U2kxMIT@ zPUfLAoc6h2aF$bk+~UWIaro+Gl)HS@iek&pRuv8xTZ_A2eiucR-eba^&#kQXe9sO)R5XE+w%;dXHM7Np9l?sQk37#CvirOd^BxN`BQC_Z9DZL*KJTPdA<6HBq%pi(#NTb#r3xwX_VKAg2ftU7()?a~CViDW zA{`q4zO`k`Ip5mScrN+5g4fpiuEMu#y9#d}g)O=^Rp_cu6}FKcC+#5ZUiS(4-r z6Iz43bQ|ZZ*06874V*mLDQjF)47A=>)IKvfIaMqR&2cJPQ=C6e6{pQDb7JfZr?M}s z44uq+>MB+d$2TxHRgAFTEL)r^ejpTd5_J{M1&!rSHRpUs)TN4{M)$n0Z(G(Gb@pT3 z_aLK}#jvTx(Y>WsWWRhxpl{N#CLchSzZ*F|kX(^9?AbebUOo9fr`daFLdg9(_uQzx zpJ?ZbtUU`doAV%%_UvV$r;Cbx8K1kR7@_}Vi|;62j@&=4k>{;zimAqrIxXllgW;PB zm5e1Yx86CCz4i&A4{*lmWheaFpV>P%u-882sq)z;KNV@MdMYxv;;BFl_rlM;saV!} zQ&D~>_Utr1#|Bv@mS$*M%d+f&fM=}hD}}PIyPp?*Xo-G>^UIvsj<$23=vVMPX)j>AstaQm^7Xty zU=brd(~171ME~0e+?z)sm-5V)RfEi({L`(R#k@%mlZttMeel0e^pqiYx%Xa37JQUC z1JK|K_5cQ&JhiSFywbU5oyA2jF`Kiu8_se9t4`qjvvEezW{Wq^BUZ6rv-^AISm)1H z-EZe+6z6)?hJ4{-o(%a-+IjPG`s;lw8C2g&1{D1dH-?>;c9-?Zjvr(VNe||aNpiQ& zas9X7QH>lXet0N(($|q3s+`6io&MvVnW53Wkq7#H_B7t-{x2Qx(V@|O8uOPs%X_0g zJiyk-xF_k{V*+}g1~1UH)+TfwJC&P2J{7yobm)n-!SMIQ#5W6zJJHpGXaD-fsJ=+5 z-R{jKpPc(|ZVa>r$~BRqq-N42()HNp9;BX6>)T|e`+u`{KJZaiSKhyqOp;*;I6$y5 zP3wSBQ=~er)KaADpiv`I9TbpKyB(EnSt>YEwxvkypaFpe9WnfoN|{>iy3}oHMMc-P zp|#dpY-ww|)Vem4aSA48YPbHO*2??+-RF78lMq6RZg+j(cRruzbDw#h``kb0o_p@O z=bU>^`qv?1AZPQRa?4s98PwUp|Eu&rna!Q~9B0~DKLXio{%P)I+aP}Mm)x)WE%OOk ziudd{?)y0J@8n+lr#rd7i!!UCErkmA+alr4hzGriZI&Da=%)9t>h_kK=z3}4AN(o1&l z^JME6r|)%c-zm%1ss8D_Q)?7m??mbzLA(gw)sSxmyqDWtx=-9LH07=$e^xuNH z`04THt%)Z;jyb6FHA6<0c1F3s;=mBQkMwxa)cwq(Z-Q5@zZKC!(V@yXwqY5@Ed_4T zm+`>Y@-Qj(3|x|}z5jcqoz_MsNj~5_9=x;t;$Hp#AbtONo^!3~HSHh7-b{8k8Z+VB z2UCv~KJjP9gY`uF)iPi!AGd!0NUHY()FHcS&u6kpX4q%U81W(UtB!a5oEWq0Ni06a zz&UJn>P9)XI^UyijoVm_TS{$|KCyeek41O!z-sAico!!IQY|pLlM55_;)dO9E}ONBfBD`{eCn3zGZQ zTW<^U*lB&+f*cDC5zc2RP;4ZoU7FZcM62SCw{n`@rj7Jpk|E?DxE91GUHbzugAtCg5oK zJFU|h*7nr@ZX2M_(cYu60g5s2wJ+*z12oZnuJz2b0SdX#hU9wM0KIqBp*BF0$yt6F z9>Q+}G>>);!p2ATKcB7*a?WB+;UBBcNA`!@YWjc?K+$t z&`;XB?SOv9J#m>kR$OzvxtuEtleumF^=9197n^MG*9R`={+TaggGZ|O-n>eiY(BrT zwDUCd@`~3i*wjW_?LH@h&Rlz)D$;5$_5ZA@EN4pb(ZyBIC3~Rs@fYS}ydTH^(?^u% ze{uXd`SJXZ^S^Ay=S@Y<^SoY)84b(_VT}h ztC8!;iL{sJ3GSzH&E(qjA!6Ah6Bitk{GZJ=hpTs+FaIiS2G43EtyaG2@#*qg6GCn^ zrDMSd0v5!{CocI!j@>4&z9(n*{^iA@~qYO>;Y^{)94qPoihiy1m#C8f0(dmgsR

9tn#?P}k*qbbjO@8|i!=bAa>o#V@U2lc4jYSDN4`x)x7a=MiMUzWd!|55ZOzb+W` z&g%;IU(OgOwfA)LtNvQbto4;yLj8yH=O<%(fW>i8%O>aLjD-sy~f5rl|7QD zFFcYwPvi6)z5rF%S$6y!{5y}aiPL8f7c^FB?4{B^d#MfB^?2`l(ck~>h8X_8 zWBK1*8~Oe3O0elJ4W!c{%?sKnn4>Ek2@M!dd~V57th}q%jq@xTVZs}`f@8i}e4xhj zaT+a_U>n3d>OH{cq)2tMA#D=>L$1*L9WQ zGplmbx~>b+g9fpq8oG5|*9FMM%kh~Nco-X~O`+msYy;&3Gq5$(uOG~R_^s=&R6g_Q zM*yF$2A@~*hZ#mrUrBq1(C(qMzpr-7&vl)zjW1paZt_e%>Ab$AgeNYXLKD^#yK!CD zpvn06LYFcen1yHI_X{11^eBFqMW}Nabq}WvRosu{{#fq&YRA3EMec=%@#_2u?T}wD zzfaaICV-Er!P`|AD%b&uoOIN!6=sJoWB zBh>pY>K*3wpE|W}y_@>`f>ht)p ztHSWaOCG_t^OZOU9hl`; zNpicB(7M4GSbHj~qa&YWum|(WCJo)4 z*Uz|kNBXFB-N9q|dD2-(oh|cZNqwIsQ<)LYW$h{*+VRXC*Byji!<#H~2R1M&_q{ij zcC4UW&mN+hF==r3488Xk3HP~we^Ki`d-*?m?k`5(bm;!#n8WNZraw~Jd5pWi_y_hA z+Fv}vxdQL30s9KO@91mKG1T323}w%;>%)iNb39(wz2}(z$)n$MoJU&^x99jKF!0VE zZ0G)4>^b6BU2m$mvW8iD<@KiZ2aCob;Mu)BN0j?Iu6i!*2cFy1y&qWBYd`P?u<^?C?*p_4P}x1o0^TYwLwTMK zB?MlWG;u3@yk-mSYw_9leCi6>);n=Qd-E@n1M57XN5^v?VC{%+#6D8_9sd_m?%!C4 zZV#RCpc>8rU^@_*6)8sM;xiOqpV+KFCtXW<6yHej115v+1$~QGhIo2=1{_<^Ylh4> z(^5@lbS3^WNxgkWtw(b*4$aZLmpy0d5o{r$H?p_VK2-EbGDv7oL9$}(4mp!AIWYV| zf;|MdEdR)|ZKzZl#Rr`I@4T;zu7p1#t~Rpu`p8Q19oe?iv&DQXWNB)bbamp>WD_Sl zRCHDCwaoj3I5V8hj<;~= z`3-h`9TDdn8wXiu`vd4JUMKdp%2OHoHe>ZWJ->DIir#o`v}>jGpjPippB%X3Z_d|7 zjfW%O9hkmQ`1G|JVyJ>sTWcnxe_z#JVa|2V{ss&@^{m`{&i)Fg%Q)AL4u}1n!-F4b zZFSC^Pq*i^Rgc;Rj)vuTN&3?Yt7B|#U-NLcuF1@AGRF*_Z=RZm|K36K%~;Yi!}ECn7^ulW(=(^beWHHR3VuzaC-dz#+91%x{eoO{Nr4cas4j!!<7 zCmFr^Cc6~TP@O@?uDE>$eG`xIV&k{>-4__zQMay}7ufzb>BEU`A8rf`?NmSZHUfEukuTJsnDbYQyM z6DafTa7O;q?_^*4$?kLTzj*!s>%fE?THjVgR$vFiIk_l0bmV1^?Rb0Xz#gEz1J!{Y ziJnin`G1a{H`5QTqw?ia+p8UaOL~5#*AD3U88?=8w5(x0cm0LESz7-4j~|(qfBO9n zEnkN1PH$TNwFC1^=E^2>{TuTR?ki=t8BBKjmJuI)DtNtvHD(9viq;s>#%&pgPI|fw ztudl^T4R1>+jS@(tu@A@iRaQT@lJzW-;A<_>#M8>22j@f-Lhndc9HF;p(I@}!TDR_#oHW_JZVlQ0|JSXznXjtxfXFP;YxEgbFJW7&6VN2R4B6A`q^vY|3#0AJZ0~pujsO%&DM_|XRo=Jy!eg3EA3D@Dc6tp zOyp_adESL3l1(J?%_S}Hq=^y8$ZI?w&C&&*@~r7xQX;-Kk)KBS$yjr{{yRRT*X)zO z;gfzyo-4^iTqD_=1Y6gm564!z75nUjX#Dh?n#giNc9EW|d)Vx#e z7f-Lfk#r6^Q!O68w|%kazx`gFheVFzoeRH*b*4w(&^d_r0QMHX|3d!N?mhL?7-VC{ zr@MRoW7xE~@BRBS!R#4iPR}5J@?^E2jd7Nfyw>gvI7=4feXFv!lYhG}f1#hUGvv+q z@_xcsc64e6KgkXbl?gWVS8&rh?(eH$cMWZL7q;$yPBW+AA^h#>t)tu7PkSP?C*o_* znZEYajmi|F!<;s8hJT-fV~ndWMu%`#w&dshfH)NBNV^^LF0*d?>6K-dt#=K8^os3)dsd*(;GHsvKYq zjdSK7v6x()-{H^tdpbYad-tBFz5N`F16F|)GGfl`Ap=KmLfnTRzup;(a}GVTne#|$ z!!(_%=A3qm@0@nCdrtfCx<`jj^wc>jR#YQpg_#SLS!mG>_ZNcMb(|rXnTztg6(1B0 z|G>KQPl~hd$r~J94RfBkru%Mr19d=Sry+k3EuT7qy{6@*t!(_q@c7m)e^#yw9AkcV z3_|8CAGN5tI>PB}t~I#%`Nk6YdYqXX&9}g=L$cw@?B>Fh;r6V*l~K#zYvXYIcxKWT z9>FB*SDeeVxU{o*BmucP8k}zq@%LIrnUYt}FE^b|ebe$P%PU7d7Lld6F?E_pHkMFV zWP|8?`|;T1#~6!xiw_^Q`kqpAyKgL3y1oi-x3X>7Lpge2D`SUduPmHt;WXXa`grAj zgBZ!N6y@46zRVrtH-8piG~+f~pQF?0ZELa+yPAbQyP6wkz0x^{XLEedO0khI2S>)5 z`+;{NU*?u4-0{l0nDM#*m`ffmKe66(`dae=`}}sRcktk$xg=X3um5$xwLXEaDY~Zp z1biy%{aYD(!Sj*6mbRhSvh~P6e&hJk&N{QXu$L&@u_;4xmo-;M0hg6LzS7H8iY8ml%ryh#7{ zC!#S?w zZKU^+ZoCv($M5HvX432UpCmnx|5HfINh?V`y|nCK18LTaOg4Ag)!@qjVn|%_-lLBp zvF(@GYow@;{(_Hhc?^l|?T%mYdsL6r@&D~&NX&j=o|(tBBLRH59+}=`(qCEJC#?Vd zJwpcs>sQAfJ*=nyH^cg)F04QDKLG3f9rH|}6P&)d$ux7da#h{g4ePPq{!qBhJZ>r3 zQ3!zJL5JTE4}e}{Qk(Y0@=rDi8FuNl#D&1#f>`yrMD(V@Yv^~ex8VEDg^k+ZTD`R6 zV|owv&U<|J&X3KMj8b}Q=ZwC!FN3eK{7e?Q#U49>zjv6Mj=T8wF5kBknNRvwc?@|~ zhVnY}`ry8#W+C4#^nG_K-@)TypHBPWL+^lRl@6Xd$4LLa5gyfKvDMMqNxuWpMBDcg z@GS{L7WT1%0pFI>**JWDw(3z`dMft%VkUP%md@#fj(w#*>B(MJAzd-7R)dkTKmBCU#L z<-~Q8eQ#!TOJVHyP3K+2{qH&cT*^j?b2Swr?DI?=Kt3+u+OlEOSd| zP}y7HM~Bz~jCBGYa7oF!LT2>3!ux+=I$OBkI9xifsX47d!Wr$cgfGGOfiH3V>tIKe zh~8-N#oxAPu!VlcXAAw|e%iK!ygPh(A9UM>A8zVSGthpr3c-*|M`gQNGbK@HD*dZOgruHVp(%gS0K^Yg@DW zB0P->PuGH{#9`=xr#FBbe;uBV833Nf27ssI27srU|ALj^lLcPF6Rnp|Bcp1#^7cYw z$?e!vCUV~Z*6Tij%@KWF6(<(qwad{>KWN8KxcUQnu_>$$`IcBA|4mVWA4D%WIi;feha!i1}h|=&YYh#aa`OcA?^SGF~cA zd8Dh93`cRNrK6S~a^b$!;ea2iPjlG9l({`AFfE5a$O$-V#8&>-wv5v#LvcntJ-PZX zpP1^?On7LG&v~~0jts2#SUNtkx9pXCNO@aN(LAEOc%~4CCv9+a?m0HR*xcabf^|r8 zORrBl6E~86iC?B~Bk3Di6VkmO?3?Dd`lj+^D`v~I{h5*Lpg+PB*)s`OJ$t5d6YpWq zG?jcFPu$7+y89#8YCk{Ew2;mqy`1za(#9#+VDFn}YDs@cdhdlzX7S#6CQbTj{wGL( z_q%!Kg~?6k>!jOB@45iql>0@bpDfHX6G<=Re}wdn=jNF`jZJ1R&+jGO#Qz{;x&dy6_8^K?z{9=^Eq2sqPKEQIyXGjy+BxW4hL;Nd> zb#@Eq`AmoG9u?a`{?Qzrq1~4r)ZP7ThQ{g8G38sENBgXgFqYoFLUPIgFcq8yV;d*J z+KNrj-D}KNmF3uK_N?c@0n~H4S5JboG3jN{6-S0r=C(z+eYY*gdG5zSe|tw!PPtjP z*IQS<%^st#vex>_(j4;E6X9HWY~5aGJ-Jalik(Y>MObCK@4PY-ksGb8xi=sA{vhn$ z7z6BL?6V@Aza)04)&yiiV`K*_{zX2x4D$3Cbtq3|40~7PS^@Df(BeQ;d<-$UqM}cd z7i=z+xV+4r+wgUgVvc2?)yQ2WOR#HRhWdCO$i~|wM+j5SSAQ;kW&?P!vQ4~<P7l;XiY*KuUd^WV9Gj2_#wOB`ntO4zyWxnL-F8*0hGDLEi**_)hCs$bx!3+CPa!S zV8?w1`^|df`|@Sxok=@~d02lQ^S^zb`Dq(-`LbOUu6oJh z+q>Ys%i{2giHG)vz?qOajyW}*IV;^2YY}@2*|YZ6Ke1khL(C6H-?Y@xH?bZE7=y~l z+JcpBCe{?@-~&IHKt_1>mV$6Zc%X4_1`k#44WxP>a^EYzmq+gx>wR2&yyoPz{8hG1 z&fY}xQ*a*)jxfJFdh3p60RJ7V&pUkbuwT6gcvDuwT>~Va6n)S-?Uh%{vjA=CtzY^f z-zx47eYATEeV5?;4mRI4S5wc`zIq-ZuXr2m{yXH4XW~?cPbf=l*;@vTPNQvOd9Him z^)~XWT$QJNiyK$=;Jz;ySq5*BE{vu;+3s0-ndaNH=;cf+ORFUIa>%8XmwkghUq*CN zK4-Mo;XCN0_I#p|+Vg!JJkk4dd~vHU6vUXSZ23c4)_$ceV_6{tZB$%7=@m_Uxh>D3 zi#)UAGS!vk^^Xrpon`XTovY7=2YGg$xfEJ+%74N)#GB0T`Ts9m3GNqiz4DuR=Jm5U z7xoN%2I(yRKg`w2{mrB;q<$X40FySxp=G#e=qG)ZLicRKGZ$A#sCCo48`h+0g&J;{X z-O#48enS~{?FDC(B`XRI^r`V|#e+YZ_-50r-Mq>WjI~xzp$($tvMoQ6vHC9cN#|pE z*^9ru@1@g9JMNux-NCa?O|E~F)t@gt7(*lgE&zv|2ZP@BjW-Jpnj`Mq_}}j1<9gaV zP&*NCPE@gGYs>>#`k5vsI&>|Vy0svFTKhD?^vN+boq@oEdx_};{OuV4>z~=N({^;A z+HZx}yGbv%l-Q|S$3x}^2V><`#-xV>?^rh?kyXTza^lj;cHv8>4e6{+@eG_Y;E{ND z?bS{_2!G;wn3dQ$tc3UaPuqs~fdi4G_I%JR{1lcCOIumhD84Bdjidc1@0L8c&F(kL z1I>HYmre8~q_(6ru9xOn-{5nJQ>e8*MOjhKVod!O^J2Q)YdXGxppWtm3p`d?ShP^q zvO-{LGcchn-#3cGXUm62DTSBNKFso{)CJA3^Q3gt4Q(T6XTq$4|K*%gochzOVF8sZ ze|PvRzcszLQtjeiu`DYk8-$jI0_irBk*~0&7M>xq^B|19^B~$IjkSAK(YM`&kG=SX zmjlFe*SzU3cGH%h3SNo47rW`Ziw-?ki4DCSBk?DGzbyy;t!M0}bB-_1FF4-u)iQrr z`602J?n35tIG-(xULDf82;Ge6bJ@(JKR@{jZ93ff$t&oqcYbm<_ln(Q#$0cnde8MH z%Y+|GnqIxwyzrep2lmuoZ|c#%JVUDY-ucP#;NE9}(NF2iSlMB)PEU!-PaAvFXd0Z+ zg>DW1Bl5vKmj5v>`Df9Y#}!w0)2CZ{ouPc#EmQNMKFastxXK?(xiPMBT&hd;c;_`$ zW<6zoH^APB^JCv8_1dcP4Chs*Eb8{}q&(Z*=jZX zI^&y8$Tyz&5J%S30-xOC(k&%2>LU+3A7nsr?tn7p~Gk~8%U55KQCZUS*hI75HV)>!e3S)04geZuj7 z5QdMg3|AIgpZ;d?$)|hr(kIzI4k@1YL<#Y9HWo6eHQ24_eD=n|4(O`t6D?b-HiWko zODe1K!A;*RO4qCNDDh3(h7Q4Bgn?(5PvXECT6+`dV;?WzBO;u|5By->w^45;KCXik z@ZB(ZU03;Bd`8gLz^rv$@@Fj{)n)MN>&PFiX)0#JJMq8pYVpgfVnxu|`k5FS{$o+) zC@;E@S;3k=7IW@@#%|WAnkS1Z@VguhKgqYR6u(UTsFlRBSxT90uCL|KQ%8BnsAB1= zD~iF_MinbIC5vTSlf{yUlf@wq|8sH3)>XwJPpmFp46Non@rU9?PyeBK$HYMA8AHq~h85(*Mci&ljJc)l}@9yQnw_f8!?- z=jNPQ+lqr`l^5%X)zg4~{Xugph<&xKxN@;6o)dl%pBBW&VoX+oqi5H=SX?=#ytuOF z?BY3Nbbn5<0pI#7Co~ir@TtFY^0~#6h^3?WKku2frfbaHHC|OE!c-Xv+wmRhus%ds(xOc0s$GSVPf3X?MIE`7}3=pUw5XCwEQx z@E3kD&&)of$-MvP^UQeC>~BAF@GN3A^V;F5))q>bb6Qh{&+Ln^vAK4H_~yD4F;n36 z<+uLSS1T;O!#9L4k76H}bY!|EQO;!vHm%#onuH8>T>%@UegFEYP^WX&5`RvqY@iJq|2_5&cXH|6ne}-O4fm)1HS}=4 z&-z+JJ>O?Pd9vpkTKw#xYbd&eKG)Dw?_@S)(E${7dj z$1z4KPw>|m-9mrs+&b2BFW+ZRjlSO8!}a>8>&^IOi_KjR?m2J|_iYz7nR`j~&Rds= zy3!)*H1pp&W}v+0B94?#YqqEB_Ue)^%Rhi@jW^T22F3||&&ihM6zbMkRdcU(Xbj(cn0m*Un>ZUU8LH+y z&l5i^Wab2k)v38Q!}>a7P3Wkey1?wec!9xQv|W7Umg6(by`}B9o|b0bU6My%UZdwx zS6(7N2El0B&AT=ih)rt0?F%=M_cEI|zjxmL@%DWA30^5+6y?mb+H__R85VHWbNN6QO#Se@fV`n$#~08mSa^=~!Bh09 ziu}*-dYSX<%Pl+uM&Cb1*$!;A#)qQLoE(BL5cN^MX5_~~d!KsRQ3w92E%o5?F_yP+ zY@>n)W5oA7zwVD!15P8K>gk8wp?R0NHnDH6EDKY{tc-REuDxOTF5uG}euAwZhWoc7 zM>!sx><5M$2MEJQ{^3v<#;9+s3&Ysk5Qe*e&yisGFXWl>?*3tT{s3Y4={{gM9vF^u zVL1M62*c|J0K*yNseD)eFns051Dne=eZVjd3@5rUjK2+GIA#DaEF;gZclHm%y9Wrv zAI&~=E;j;oHjrhF6sk@31B$Ig<;}t2*VWvfZjQ=SWF#PV11~!-TR~|Z-7XibCE({mF4Pp4le>w78 z{t0<1ktO#B!}$Y*;o3f6m`-vY)54JRm6Gxw42NIoaMpc5NPvN`SN72oVMt!b{nfAhq9#j0Ib%i_GYhTCn2J)Tg z=KIUz-T9`IZ#?-Xk?-msIrq|~w0QSXlaG#?VtpfS;+g7gdUrN|F5f9GRfICFER6bZ zD;Z?p>-!4!;vZ^t^6URh?st>^ESk-Kv~*DChaWBJjMFBgHnCqtW`eC6vKRWO{eIvS zeSD(AU#2Xfvs&f{YI~tHjxwe>flJTaqx&Qip39{SW zg($kkK){5*IoNc5ix_eyo6U{G=3elXtWYv#>5e6@3`Fp282tlnz9j!TvLlniwmx}N zdkHe93h76YM`_%2mQu2q=fCRU8Rwdj;h2uLX~=)EkqKabvIlyn@su1zGOi%0{7(uO zZh9O!Y({!y*-cuXlQlNhM=&L55Y!yvH zcDU0={E%_eT=*>GFFg6@Zxct%HxGm>-aMG6Jc(>><4aB~KiMrj@B__*^>!XS#BhrXT3RmZ=_wdYGaBs3b`S6-c`G8e$LvNJ2KW`X8AtZ ze1@<=s!T1X4bGWy#&^U}#;XLF$Ywtn;a%z`hRWvpYy*2-G=i2k~WF9ynzpN$*?P38FrAl>EMj~dM__rEBeMW;g#1m*_Aprk;@DJ z=)RX7s`q|2byS|&WTLg$&rcu**Sng`)m-;Zy3TC>+~OWFx%SD9jrBz|R{eGC*xs5o zX07d2@3iTK1}6Z$){b$d!@m~*=AMV7esYn6*-*m=+T+QY7*p1k$GyvH0byJ_-* zuOS!bH6PnvL5IiO6b=u0QRmka#9!6fwL{AdXuhV`G4D)A@A!GIzMJyXvWdn23-Hi- z3tb+ga{>5{ESPkYO`$ueQN+4TsJN z4>WFzM<`yRlZW$y;XBBq=Of)b3w-aTpG&*%hq~|Q`rgaVY_|K}tK&-EPvhA%^r9Z_ zRo?U}zF5VZE^BxDGDdi>@%cN(#({I(fit!OfBy~a4n{PYI<60XeV*Brns0`Yp7|rr zyK|oz-V^3F1_JQ-GrUW)#R2R9Xxpp&4<*5il>8pguzs9Hr?noO8~qt@x+H&IYDtIe9Xy-} zfeQifqB4bknl=u!9ph++*62gqq4mu1t-NqQb-6S_eslt9%HLViSprQ6LKEm1>ypFk ziDwmmoSf?M)#suweo?q(`SUX7OCY`+{(PEnXM$q5s~(R(4``mHq{B|5W5&*?SGi^Y zU zyrs2!d?6->jPL7-zQ-3H>5wsd{4ja_xWHO+$e3O48#CxzNAm#S{jOf{7K}A+9-KdT z*^%MAgnI8xmUfPKHq?3D?d8yP=m+bg2m8kNa#mnylUYQXK~AB0ioHhQ=C&aR?IX?q zgRw3>8yxvx6E6@jDa#}5=D+qz0cg8;%d;LC)Y-~<SWJAa$CQR;^0Q@!$clK)X({zrP{-_|StZ^@ta z<=^PbkIirO>R$POLH;Ga{IUyfIfYo|bLX2B=^U=FbKgKZk*kIKYSIYT=ed7j477@C zHutThJGjp0zJ+u(*L%62Lz?7@a6gfB9M>!VINwA_LtIaD|J-|6kKJ`hc7cbpr_*=| z&twPe&DoIq?6vRrw5O|?2Tvwjs3d%199t;p#R$gQfUDw@E0e5eT-Xs7X5H!d$J6?x zHDZKoyCZp})(i0_Dt|a@isVMalRqrH@$!MrmKg1cLg&dNT2dN=SEjt5cMj=XVqt$v z+b5<3I~S5qHu;B*C5rq{yio60q6ykHk#Z(7MiZk>--TGuEx+JKW2j?v6jR z59GT1y$j4;Fffn4)@1g5e6g99*>fPpedc878>#Ymb2@FZ`Jdw3rykzC(Zz)xw&}=? zWS=g1!}j5=R$i1o?ZUjZPmiYQe_MV$?~~lmCY{4|HJ5NH`ho6!$a2?yFXj5^6tAnb zS2lSjDPDI*{vCE*>)(D%GD^|qK5f4~p*`93e)nV=djpTIeUi23BsRv7ZQ0yD##8+_ z_;L_EP|VToqv z5B;dj$}jzO#dsg{egB-Vt}@{o{FC@s)hnMhwcsIgq7K7%#`oRFsCVPA4R$P)$AeQF zJ}cUgD?0Rl%idkS@_YB?5%NCb%X^;6WbE$cc@%nP%iwIJd_KnLQ^~4jUCs0<&c0Lg zPd*#i-x8ZwvU~84G(wsnjgn3yts|XDT2JbSLvJ5)clOiHdfHR(YiF$s^Of#+UWWa2 zC3)bxEZjdPxP#07`d(yBd=a|r!DYFxzP{i-G2y^nyhE$+yT8bLCCur##Ina4|;%)j$4 zOFEzb3rTz1Mr#kLHAZ~c#XAStvsl4MGddsV*<_wo1G|v#ne4P1b`I*O9o1wixn7U< zU+#z8alSj_2~$6ve4d!aI3>uj^P_0!gj0td*&jk>EU}IAPCKjOR>+VhL-F@z2{i ztS@tX>&wP-4^NvL$lKt{JKUXDX=rM*a1ogkF^7p`*HY+xW~+B>-|MNzJJZ!0-(P?h zzu=?A`;YUT*`lrl`iFDp5;u}`Jbt=WUlnl*#qasfoz~n-IrsX?xq>?Tk~?Zm>%B(( zhB_U2Cj3gop1EjGMBy!C+5GMQ=B#tyVGU6m-v1*uv1eFZPN(EFS=tmw=`SckrWxPZsA~nBM7}cN+Si_N@^^>5qIwE%ZIR znRZv=n=P4aZm*i4xWzN`Luy*OMsg-iv3Q4$Y3Vw4R^M@GE5psi0dD4uU2_+t23d#G z7Rf6ZpNl5DkKR|BOGwz;qmLieg`$kWn@OfeYOHSqK zzJBY*17>?-PXE$8Qyst`)E)SPGEL^koAFahdOiP}NiXC7MA9(-Bc#6}Z9TBW-26rS zHINSG|BG)dF~8b0&pbo=&pc0&&fx#$q<&=d?!$xmedr4$!+fLTC z06wCB$+9`emW_|-IKE>CP?p*g(Lf)u*X@RU~1WOD)$9wit5zfjrkqE8r+iXR6ZM0W<~oYUt%xM9Dea5-`=UM~eib_D!TN*1`rZ?Jwpp zlFOb`nVM7ThvS3Qi6JT)F59{a=9T)t#P)kdVUTT$@NUIH9}(fW;Bi@Ax-0xVbn6om z@OHqlDk)op>AC+7{EYZ$LA8$-)Y9gQX>$_z{dd)Ee02+69vu?AVlJMEZ}#M8<&x#V z7evB?III4h;su;Be|(d3cD}J@+fPjReMN(xfDNy`+_`W=WoPTA`->+`-eS+;oA7sw z!v;@!VWGLDedjwLEXKEPyU2teC_cW``F>JOtT=hhwqkt3HrDd{i;ZKp{X}Q-&*D9(n?rUprMK2dX5(%8O7|EqfKt+tR;mPHW-9QP-JY+=`FMmzJ32nR#Y4 z>5crKLwW}PCz5*W<UF@XiT=bGd*Mb8Sv7Jm$y+4{lMHMum*+=CGHT)bzIS)aq*uE#X|McGx#ddc zTZc?ntKl_deOvPYgaot^b%uc#a%h`T}@O zM|Yw1b$1S#MK52iUJM`kSgeX+C&60n_>j6Z7hs;3CbGHD@a>(ewsZm8yver7_mkr@ zB78gkzjqWXM&SdqW^Grf#uO`RZs-!d6uraW^%HI^8^!2?cPBnAd=@e!=vcZCwRGZ! ze))g&5*_j-c`>PhUa=3damht9#KV7u^Y|6R*6o!&hiIAPwa`51&(eO&Retf|qOCT* zHvh{a@wQ3BR^h|)vK)34V}j`jWjcQOf{fuoe!q{i^%a42d#$`jbw_)htsj8BTE)_3 zdj;PrwJQ;Cud?z))qfa$%K*wW>19se7}ql3RTe#`?d-s1IpTFqur}4BZY``xt}QgD z))qq8X-E$w-CQubek5zi@L+WL$TEEHv+oM;NZ>Om$^MPKM+JVKW&d3UjxD!-of#L# z$gU^WxAA2;_?8K8<++F6{!XtMe&fU5oR?n~`D0NG0mTb3$SaMR)F#-mRy`46-c?04 z_s+J@m~T&Lj(tkL9QY=}JN>VUZ7f_zED`ZQRY}>d{`c`%Rf!eWF71V9n@k&*)ls=~ zQ!x^pJ+kZ<9XlH0#}w+gWb^xtc6_m=@hgKpi*%m}Y?!K(vJsx)+F`!AGbXi^6{T$1 z?lv;^U)vPU$FkUe#j$VSG?_Nx@B1Gd+n;9a(9N*r*00->#Oubk)|n^AtcQN2+cU>6 zhnJmd_oA9VI#)8DJv8$;7k2Fi$H^~dD(&p25A&ULLow$&JO9Ism*)T1>AT82()Y@v z`96+)x1GnThrPwEr>T98j||#m{azsVLdJq`Vq_;3)MM?XfrFvXOOmjY!~o#DvGX_t1x$ zTI7MUFY)-@ht9&UtNR{W(Sw)W5AP$}5-;!RRm6KDZ(WqwfYe>jI;z-!eAi)^Cyt$) zW4{+m%6|j4tl+-(ZaWe;wO2EbMN@}l*c%4c@0I=h$;hR2FaB6~p*Coqi{6eYAx0VH zh~7G72^a0&c7g{($(ZF^O)^9J4Gs&Rd)nAb{;v1dMqgVUldt3p0wa$5clMguEYwyuW z-bP>E-(Zs}y+VSqjhJ8Bdc?6pP(%+s}5l{+i{_mmaV`KBzo z(jPJ5`eXDy`*LFGbbot$u zziopr#6Zmn$ktCNhQe#Q2H|Hej4a z<<1GWIdYDsUUH7l9dk>&Xp8(Dy%q8fjk#auQCjoeUvU)vLr7CfM1?;8FYH$z9lBy zjQ)l+^Axs)d(fS8eegzNg#2!a=~#*m2T9L^H$dA-=kh;A`YHZTA+6zmlyvMbn@l6$ zd;8B}^?}Zo5Hy=Ty=OB}$+L}(nZk_wyKS5Uz_^^}S)K>M7x_#RpXDIh6HeNgu`Bqk6CC_RedY!5KMU&aTYwR!hV-eC`n=m8dLnAOrbP-cH5H^EAzW1 zPRXA=8b7S1C2jHrcQ^LygXGh8?gRLz&2$BTT?kpL_D1K_ybph`nXd5UOxM}r7<$-D zSNY;m#fF*>6w7BtixuIMi{*3ieTu%jY|Q(uPWD6SZ_6i-D~^Z$mxs%X6VT=MrE}i& zkfU>sj2TwcnUglo*)~Vn?=bFF@im1nF!mw%j*6OfU6rYIg(qt(iT|^%u&Z_o`%U<< z67Y4^(qblH+Dy%Z#m|MebnSF~v$n3fzc^`?D-T|Ute7%CO+WE5TQu0KgEfs$onXsV?{v>C{ z+}ag=AAHlM(xU8aKO4Vo-)H0LeX;0G?TNNE=uy`0J7)5RF6}{UW9$QnRnd@KQ;5@s z##U^4S#ujBH}6Zv*0jHa`wDa8z7+RL#Usn_@*vh`t#{h*@?Cp9eHzTO82`1;eJ5i! zWYe0i@jQnn=a1+AG5k01jwQi0*4L`euxA;or#m?Z&3@v^7b?-~Y$)t{0lWgP7cgdt zG`a-(9LTI}*PePD_wu_axC+L8m}_h!(RGCi@YCYuP~qiAbNIuY5QFvxeY6)|&P+qk zy<#G@J8vEIzg z6dt~>=Xx`j=UJYYac1m8#E6N5U!T1KI72hekPpw4E1Nr}Z@$!%S9-DuE2~U+vWdRG zv39F{$R>6E)5;}}@V#Fa>G0i$=UZ%CWoV7~mNMh;-N+xDb8D_0zhGt0LoiRYwrcIf zz7ATDMn>1nIr?VKXEw9XySwmi;ALXauwBqF`mk%)lzeG)Qrp=JvbhbFXJImAOBOi5WT&B{XpGxEgBga`DQ9YMnmugBY*ju6NyjAV{1Ta^*?Cm-#0ynjp zk{jD3)0JFR>wAScuT3)lK#cFBH?k+qvwak+I-R4f8#~8;PnLF6Q~wg`KX{&zwKpJq00!!}_LpVD zmH`9JEBWOhX6A7CG{!^rbw8jD%sKKhUP+$WaTMI9=45vhh+^B7;(d&m6tSBMLDC>; zh%`hRA&rn$kyepblU9>PNu#87q;;hAr1hjR(irJD(s88YNyn2;B%MeaCrz*~k8__u z{sF$_ek)x&ebLxiK8>+cKklOKWr1aFt>C&TQM|`)f7Z6me4{uJR=@7j>q_8Ln$G4* zfRT6&ljU3qb;OZ3gu%~{xvx+fVQyvK2j3^TY$I`a&>7%^BObUU2j9O*dkPan{uKFW z+s;fjH)+@nZGns_4X|zmGTB?@r{N*mT4`1tw1N1z;0!GF?R~&H*mgl%33XpYnP*zP z$z1x1emAT0G4P$kR<;dN{us7Yec3{M0b2;*v*8-qLOAE-MOS3EBwL6acNJ;c2?CKMnTYBlWR= z%WM3gWuA{=#1X&|WG;gBB%M^?v4cJ;? z&%-zy_5l6j@bQ9sx7!yLBO_*u`|T7@nrD&Uf<&DzX$!4t(W44&}O^FRGJ41C244B0y>&e`Pgnn zE@``pI-eX{nV-a3vuo^>e1Lt_ttEjrqV#r^C|*WnQhNZn2d+%RYh?3fld+ecu)b^3 z+;Qyf)_27hpI$sW{7>xfPAXOqFTyN-pqQO&ia(s|$bstvW^x1j!}aK_&t>m-2e$I( zut&7(J^RVf)=|aKrqRX84{s|rZZgHvt&!q650?;=;yuN|HG_-cnlLiuZz5ZE$^)L* z?+zp5{iXpduib4y!z!uyM6Zl-I{5(E}#z=((cgHrx(jR z#uY=aeV`axwV+r|EWyy$R57Ww0Uj>_Pa8=!16$;5`if~nNRdYqT>bUB;VqD|6#&b>NigPi~ zJ1UHHblLo~=mo_CiqD9FN8`B0b4}!ma|yQ;D@k!XBV1Kn)m%}oI<9)I1hiIq0NW;L ziuAjQXaIYV0C6$`v~wNx259R#+7O_<=ov|4yc^3^&$R;EwGevUD9>wC0erp%3ROIh zaGB^jcud(C*CX=(Ef@TbHg38zQ$r8W2mvN+IoIhwDtV<5u48M8oug$_QCYuQ~*c% zPb&S+c+$$(D!K-DRCI-(u3+E2abJa5y|3(viZ0=$nQ%MuWMb)nXJ*1CJNM3+5Gw}4 zqrmaox+WphEe)6QKhVRT9bVqrvzIcrFTUTAm4xV5u%?2zDvnndmZS0z?l2| zaTJ5!Z!*o_YclEYcKe+$anW7u`4aF#&~wSk0`M(?$l35K*%4K-l99h>ZIqo&xoLS` z^A{dqjQF2mRJiTku!b=ZDTR`{g~sIAff2);z6|^cPZ?7@>La61t8dDUGQo z=XTDx&)Z2{Hj~X=v0c8_q(_>T=iG4El|`_pR=l$2!Vt=^@li)@DQtK3)v^(ly~`ON zdIkTP$VS8;(H|?1rY!x}-lr|~rX&Klb}%t_f=i~h?8 z+$m}geGxuszo&Llu6w4bnb7C!Y;0)uk>JX-e5JMRT2_dcIKBp>d}H@yJXia57TU%= zg;vfOS(cwZ@?3PE4y`Ps|Duy?CZNN!@SVo|aeWr59B@qUP=4i;4S0o_nZs_5eABGl!M4llza@?+t}x6(ObA@s&AhbU!;xWkv~bMH9qR}S?jN8NI8A? zVl58hemnc{i4Sphmn#dOGjm6ise0#Plm5t_13~T|d2Wdbk?Ost102WN_D*0nPB4n& zmyB`*rxbnj%AR6j1ivcY61t@Iu#U8zYb=-YOLi9j&ImGxnYoo@Z z4PLOhP-dE+m#;V3#EYKGuKaK5+oBP8$_7mSEh^F93#R{deOYIz*}TuT%l6lyQOZ|K ze&u=I&4Wz#dE0mN3R+W!)y+3=oG`!Jt~oBc0M1%EC_doY{AlRT6nKI}8k?tt;_DzA z!R~2kNxH2zCEGQv`^)-W_u&ay0}f+1GJw5hMPdcti#AIaDw=t1UUc8KD}haM+-uh~ zr(H>}UHzZgD>wbv(+)r`Q668mSF&G^zDl-dvbPpWla74P?oqK5a$w}zsvIV6)}9m4 zQKJ)6tXGZM62>f;(H@$(T=C6?M|khO`zPL+VVj>fNv-1pl))s#PfT~)(*JnXM>a6d zTC=B0J}{;hJLh_Ag@WwcO?Ihc_i!3K9`XhMnM9Ru<#WT9K3_>}+DM#zR$^&S9O>gb z`wji5PHMjb(!#eIT*JodP}yi7IL$uG%5f^;89n)E z1^o{uSL}7#v?LF|AD&{{H2q+kR`+OA|M=v!>1gGTK|B9v=&U+&J-7eI9La9X@#9!- z99~Uh>3r|D^@!j1)PEhdy_#!N`k~SD&8b}8I%dGxI@U??1ijZQ)~fdRNsma|tG|x*S#8kT%sDRN2iI{vbt$^L z^mFjg2kZVibw_-4*Z1=sxMaWkvRm)z)Vrq>-H@v@Oq$F-la^n<>C%&0xubWUt54jx z_y*Ra{?8a!!N*spmI24ZtS ze40~+U2_=E{%BQ@{PKYwB9-s+O43Tw2x)}0inNM!pygGQzxuDpU(24UHVMy5`+o}D zvSt&qqv^Tv!i}`}J7QVdecI8Ft;LV@TYw*LvW(iab8gq-2V>Xs-0mjdx!qOmH#64F zf!S>)v#JnGt}2+oN_14K4$8(o+qM>$e)wa%v(F4~bf1e~k~|~j{(sLlXYcU}db0pL z@dfw`otbdxKv{wq>n5A~+W4ULlh(*Lq74mE?E}zF===n^Un>8J*h%*bZ)np5@>+O%{)7LprYFo-`(Vyli+0bSqhPM`1@jDThsOri z%b}I%%2SW+{prO)WPqZR>=kHdC?3y6)5(#!CA-`Sv-~Z|^?Z z7svZx z@r|naruP1BKRhMO(UQ0$r`{|ZV`TH2z{ru;1ux! ztT))8!kapBFMIZi{YX``+ZVfHR>_7_c2$ynlr9>|x{-iZXwRU%9CCQ%BhGnI_zCED zfOl)~E3LB?q9@DcV_Nh)O5J?(Pry$8yhY-gqU+M&AC4wd~nWr{ATE`x6d z!Bl+_ygPtrB{aH{_1IZYx9oj5vA-iRe7=d@w}e$#_B^t;Te~k5yR9(7XDct6m*|5X zGhmQ@1DP1KOy~G`&PBX&Yb&l8BhDCV{r{wEGw<08hG?7ThsfSDz8=qVu#No> z4kxw^=hG-leHP!R`aUn29Q=P7bvfhb$i@d$e%vX4t;(nUwjY!!zTDsTFZI**D&Q#p zejXgXdOry~L&N5qec$ZH^@II#>wT~f*geBJ=HB(cqo4YZ1iPFMc7m5+giMQZb>O7+ zZlLh<_Gq$w3Z&t0;@H_aHkrglcl_nZ?|Z4)0M1P!R>V~H9;Qa)uldsUZw_y%c@eR? zkZHL;!qYR?J5&yc7nZDS??<#g!2|ElZMkyPlmQj^FQvapA*4@@mz5(>pLVN zza(}HbBbB7eL`arJ92X#{*+{24xf<1z9qWO&gX6TFx1#Zm_J(I>nUd}SB%Ra+n_uH zFPL5lFKB(^O^}{UZPWby@jpWovf}fcxMRt?9GzAGS=iVtdmjB~v6L#k9gW^x@owr}-u7rz@?j`2ZD=#L!>Q#NBW3qVyS8_iFhMRy{V+xv* zMjyc0XV1^|l(@qOHIgQ{vV8j}XV;`dXryk>&vkuO5M^(903Xw| zTQqwx;}Rgg1bkjiz_eoLDS6hV)_zj5;u6XckLKVfWl~0?4=#yba1m`@M&A^dO?%(5 z8OE9`#uZG04@u!W>jC9RXF9>wf4;>D?C!DYP>dGdMb{(4%jV>hS9q}sSO_nwDW{ez z%H_w43ib#Uap*`^`-EBUK4EhqOxuMU4Z@9dHpgbQO?W=@2KflkK4C?BZJM@`kF&Q0 z(KMYo5S)T3VyNA#y~2t%oedDqioY$(JifQ^D*kPJaL_q$t!Ey7sQ>49_+j_WGjcxy zKZb)J!8EX;tp{;~zNo%N(gfFWeD?^t*Zy$hA==dgH!?pcv`#PWT)}tsN!kg12nPha z67;6R1M$<+KUE_0l+Q!G)B3Ew1*u;+QVni+{saG7+|ap+{%}Kmd}9^37vEeMn{Z;C zNtPr#VsD;VJ!%g)Hn;zQZz6GQkVdDJr2ifryU^2(o+?xpvy z*0-z!wX6for@Z3WNMEA&RlHM~!kuaO)v~mURCYh&t85G?+Nm|AhQ4`ww7;A?&%CsC ziJ8si@f(3S?V(NB;^vWwuL|Oet7KSaZ{Wo=^bPeN*X3L(t{9hSqCr9mC}=a8Y=mc`W`#W$`UGHNtglXjmh_b4S<2o<;UE(rbz)s!e~bEsS_$>F_nD z{5Cn>bN@Ifj>=f}R?eJ#YvUuRpfg`^hJu`Yb!v zH(O7gThG7JC#_v-8#=0hH>YU4?emv;FZw9`mFALXe=HtUHptr|tvS6*xv@tSW6!RK zNymp}8F0`Vaz1{1V(`^E&+r;+e#qj4qoJ4y4xHatfBWn$R`zMibo9f?!Y5Zv!b}O=G*ws99CrhKMj2FJsl}BwjI{qE{Z)zAF$aLeF~Vl@IjXk z?ZVzJyHmFD@&^~dCRT9}tPI2~Zn*p_OUyNYH_u#LGT&T4T1PsX>+w6gc>%#vKI0{4 zaqvj8U*Z7Mzt#$H1G=nv1AA2?o>4Y6qN(0I@OTMpCu{L_s?KVR!QPy8Y#HOBIW9YM z*?h{@oLC;D!Y#+L!kjV&X(&tSji<1P}E~F!19z^!n)#crCeMN%WkyuT5Z1OqhJ|Ts>y`Ls_^@e)A=h@a9!nbTa4RCIK_fbI}fblI+yEQJA~?mPR=9F?`$J zZLE1(7q^pYp6<{ZNZLwTMfxadHR?1f*MCz;o4+P9tXcy2fE zCP7;Uah@#dzFFum&3$TXbEMhUnI@m=Y$jEmD@avmhE#R7kgCp&q^k1{(vu>) z3tx>q>C|1aJGad|o=a0NXV43E)VX1L6nV`K?oBN2n%{kR??$!QZ z@{?(#iaR=!G(wsrtsv{T)x{%Bgo5 z@(r)vXbQeCll_^kH)HNwX;#{LqkN-!>qu2EdtF;^j8yfGBUQcZfo#1KNmcLm(Lc*Y z;StWGe({Uj>z>TT=`YG*=*#+pv=+Mcw1*2i3(%W3%P&h1y2099)9TWoGU$%Qso3U1 z3;2k9xMQ37RjvgZT+Oo(`JqiU9-R{1;eS{-Un&|Dg+?0laH-%O%kC5%Q+XS~Pvw0H z+F`;E7HM0Dmmj+Kgq#1HrF<`3HRkNL2)-;MI`;rQ+gY=Nb3042R-Abe zVNc69LHe&fX?cwAQ)>!8EXRKruvts0JyV8M^!sK~@er#?z5S#&-zK{A&Do=2^Pf?< zI*$fVA9Lb%J2IKu?OIsU$MXsBdcB`NT>76mjr|3{X~x}U`5{T<9jWE*p)@kAcs4)% z?sMTez)jj;NxMW_BIp9JeRk-lwNYIL{emBaCP`lJ&@e}~Aep;E!;tawUNRDghT#k1 z|4{cn@KF_4|Nm^VAA*)D+RKHX!m)yH;u`P1?26su24u z82*-MR1`!lYfD>8ZH*Q!Mcbwp{}!!nwNUEQCRw&XVz$=$ua?U1{keaV%aR1z`h5HP z?dx@4v-jS)bIzQZIp@roGiSIT6xxy59Ns~DtYy6P@-SlPAY&{zR=kYnppSKQ%|A{4 zh3FPG-+X^zdikd6Jc0W9urr883ql9}q(1T(u^rsDab>}itr)*>b?X3Qxb`Hde!^T`!`ViwHD16n&4q%gx zU|*7-j$+NYYYpz4Qn>n(;0m79$J*n)A_T87n!{?2aPS`Q>C5anjiEj0d-$$Uk2tWv zN4_8OFLQlYa(z;AeNkK=lQMiw%J4NAueKk%1DQqa670_7Lr+;{ZXWv-&z5CWk3H03 zu~`HAux0&|s-Gq6FSBI5@Bt6zIQCuw*&XZ{>Wv*IgS+@>+}h)I?qlx9$1AJIBt%j@%dg1K{QL1;6sx!t|#{+P>iWA1kwc!7s%}Ji&jBEA-_aU+}ls z&(a)WZW`{j-&p4x!duq=vUkpXV&n+s+=;&D+$G@H-<h8|Dm+@b|;MafkMl+o& zMMqh)it{78Z!il^*m)qz{}$F*t4a0VogYl3zpaC2WA<~#E4nCk>6ss^zB<>hic5ao z(WiRnQpBdU=IU-aBRt>toCU~twjYZ9{r)G3uSA*BU);I1`hU5l2ih?RW#3ZV2Uj1C zo@~c$6mLWZFvqp$IP|m9+<4_%54_nWeQ*$QeDaAyq%msPBj?H?`SI~xC)?txe^W*L z^0mY-Ka=?7q;9-Q?TbyhJRaPT*;Xuu@3Us7vwA8h-<_vmm)aGY?aTgU0&#z zE&1b93?$BnvEa@QWfNg+(~O5(*;{z0`CrCKEWMMu>}KC9A~Rh^EIiTuc;euNB268~ z5fd-Kp1I$%cU61pem{-+OgcU5XOCS8v38D~)YM%{TpcSmMz|>xr+nEKWKTd}=qMm| zkDq*l$Wt};t*)>G^D$sbZyvfHc;KM5g%Z{}N<4A;c27`zc#Y*l>HP*a|2I4_@UDQ~ zVQ{b6)RG+|oTr7e<0g^L9+MqQT>|sRS$kyz!B1uV3(v~>r=7_@+b?Is^FNp^TzE$I zJoXN@%|1OF)jfM|{kz6x3%2HG3wPyZ&u5?SdAodB|5hJm6EkX;;oJYp4%sv$dmQx} zx@ly9(X4gsCsqYTXUf5}}Q+5?)hX+r~4hs&;4h;@HXx}CM)Y^CX`nQCO z549n=1uL_8lP0tG`E%Kd zcTdXJaBjl9_0xepB)i?&>-@xXo3n=fm%gz1x%Nr6PI@FeeNqeik!{ zm~*XrXOB~hq zu?Y`l^Cwkh&kMGo4#d(^R=q|#Gd=ZP-Cvg0{?3n1dMF$0jAYMU-*Ws5hqTM_*#|9J zuqRveW%(k(ggx(@K zU4`xBD8}_H*}<3xzh=c%U04n4QWLzb+c)i2_T}Ej z9#{6k&M&7OZe>sIZQTXIE3<(~$?p7xW3z*&CA)*Olilae_hqYtQ?t>91zCTvm3U_3 zvf&Bk#3cJbwqRkhd(ix3cbs#mE|`#?J-^gX-%G+fl9ZS1w&r;`adf43mcRq^;^<)T zC#wymYqL(<%6@g1Z@zv~|K~j1LtgE*ck|Z0M?X#6!JG!)SBEbo$&>Wt`2*#-?{oR^ z9P-Zbs~q4^^jt0CDzI+-tF-{wlD(k^b|X}M>! zJ~#mGxo5MUB;2jN4(Kn_hxOE1<*tTTuJ-WCy9OvXH&*IVPPy!->Nu5hU7uW)n;R?j zrUBY63=Uxr4*&Rv-FDMGZRaPC-;?JHl;^(BZM!yjy7zq6eUw+Nvfxi~`dRc=&Q-mV zGgTLJro#xGy(Rx6TXtv-_yLbRm@xp}E6BUTllPax8{K(2b9=YEI`Y(c@=UStw%_OC zT|?d)Pu|BYyvgg}9Rt@|u321ja_}zZ+hWhRCk}vj?m4aZ0Vj;zM{xwtocPW`?YJEq z;&#@9+;KG`w_NNI()9~y^ZUtrzbEfkDOa>D$CjkI?}r&D%BwjZJa3q2G&s0e=ggHZ z;M)bBZ{M!yf2_yI8}sD7Msx>`wVpxw`Ib)A)bZ*}of&y=hI{lQ+jm4dh1Qln08YpM z@a?Xme{rorZD;BGJ^c0H^@iSe#@u~cy-D8IU@ktj-qey_$bE$Ly;JIqpY#@d?8(FlTNvjD4;@eW(Aq%~jib=QgiZ{_As_ zc5v-)ZZjPkxO1D2@&94wHjjUW^VzvlNaq)CywOy)-C)*@+N>IiIaL*Tt2}u>z2BZw$zERoyl>IZwf6ZW@Lk`!|2eVV z%w5%B&KO^BCX%}Lm)M4eI-|pJq1p#Y{}*I`{CF7J^VTfPLdt7JhCHKjy+6y z?)%*Ga?csBq`VmRU+F8KM>eyL+o4#gh1e_HGA#KI9;-cg+%*7Ko*0M>pmMvbO^+A^of>}X1-m}IV2B1^!`L1vM-RAW-eefOTfCrb`hFoa# z$c3wO%LOM_R>|k-aZlbh$`y{1O@o8z!0;k>PVCMr%0t_*J9ADj-+Iq`ot_JaI!m@` zKA(Hu>r)Q?uB;+92lM}?jwv&2StUQ@&8#D6E~4{kiC4+{-ZNFuIZG86SnCAR_pSAE z=Y7B|%V3YT-m7oB?*}>ZPjXMZQ!;Qfd_?<$1jE}lk26*j1KO4MqXwv3?mFKsPTfAn z8l~iI5B-?GjR%fvFYIDWy|}W$eC-4EW+Um{+$Tvd=DwEnL)@2_*{Hw2^o1Y8JNm zme`BTJ@6gJ9(W?U{j6&?WC{}-_DnZBtoGEJYK{6BzLq1AQ=*Y*eCBIfQ?>JGO|^nN zdVZ>t=VZ@&t*I6{@7*=kah~_|nV|O4==(v=_oI2Qb=o#hyX=_%4~r+ddge2{f5!9v z+vEG^ha1Ve(UW%!?Is(O_-+Yyri%EQjBHIkb|%&y=KSMW%l|}pMUfFc&IJ>lg5WD2 zE*3!IU+?RA@9G7zR|ROB(PPksGWF)oaJ@N!^k}XHOVL?qyIRt* zyssd2b&{Lkwsn%PUzp#ixujR_ST=HS2|+ilTljz}yS2S`p|Rb_epdUP@Nu8(tapDO z&+)(M@b&Th1N}T7-^X)T?z(uoK6RqM)^2>@E7>i)TL_^bY^+ozCu z1|7LC++A51dDz|~?4|dS)(QD`C?2sH9dyWKjkTs9D2oc$`ZiAjcSuPAYMCO}-W0CtV3#0WFN z<=9P@W78}kMwkA}mU25|=Qd)PG0&%5m7%lGRfgi5O)Whu+Y{St{X^Mj*L!3Ag|f$f z9T|sxtYz1R?&qC%mt*hqmEK9RC*bIMkgO>D6V#3bCLve$G6l6PmOK6h4j2=V`d z!65O$in6Vp4`pBIJh*(HRsOK7;*9yGt)o27V_(03^43uv=d{18^44`vUG=5xcZf?k zymWZ>etb^)ic6TiPq>=w^A3#XgPV2U=nJQSZ-BV)zS%EBo0e?e{Fl3j1%H7piMWKs zV9T2@COfS3xorMyoe94^Ta6ucD)v+}U-1o}#cuM;Y?8Cq6^m`q{0|Xl5gbd;%qpg$ zY%Jm6-0Yarx!JMP%CjGseKoe%@!9c{#sf$68Iujq{%Cg0!ogYpB+h4rX5+A9m6u+b zEtowOyKP=}(4@ScJVg4ZeA;gI)7^QKmUkCG*MjHnz}~#3JAYbb*1!G^?9SMAHr>%( zSh}XWa4YfaIF~(dT9CR7$+k|jeOln%voGBGP(cT_gV>wfY-=eRnwHSQQ|(?4O-#|`%(82uB9MY~o3?`&(`yNWs&1;3iL)~DD1BpbjcJD4+a2k+AR5!rd7N$GL?ABrvQ z_-tr4eVaOe%A(cqtYp?W{_DJ4%dWhYls4RiNaP|0i_QRe2DVNBw+~ym4W-<{{1vU;s0eb6=cuKOjuLmoJ9OlMkvvmK3u#CY`9nStBbW?eRzDzvPGifrUMDDMKI7 z87#%jUrW$AymMHsF%Lzz&>FVd03CKfpV1=6e@}6>Ri6ACrAxVbjr{kRFLeC)EBRe< z;uZco<@-J5%lBM5j>=bTz;9B%#+%ysneX<_wSVULX)d6BT=`R+V2%{ky8C6=zfCZn zWSuaky&~+nk8Rj9D=wct&FisULW2Tyd&x`rL7!Is7JCrw=Ztyg2=<(V|5hIP-GBET z`Npr^eGKcEg~WYS3|{$if42m?(4q$Om1EGa9b0_LH1E?~R&f@NrM$V|G8g#5MSI-m zG~@T*EL`mN5H1>5!llT<#eSZPi}J|7V}*sw9lNEE+4|sR?OnnL``HQL;|HJDkM6~% zIELN;J|)mdIE@CUI&iA<;52stoc4?peFnzqDhDUcUA6B_xXDksfcDtu;PzE$lvvnc zt^hY{?ZQ3hAcj9i0^JQ9)z>})e$SxSt9=y1&?GfK*sy2I82ik(w>Mz_iYu>uZkyW9 zAG6z!x!fr7kFb4llcVf-gX+U}oTVcC2<2a(vkU6_fHB8`@dpo#bHQgI81nbi*bs~` zzKVij#Vup6n~CGANPMP1a&d-uGnAutZeeUI-a|6OT2rS#EMG=D7G{tCp(no5*|Mbo zLuW0hys&TazH+CmBFYJbDNk{zEndNz6=fDvrhIG_v#GB#KTDay+gqk$RSLh{GG%*E zyUNF0IAdP3_8A)Du4rzoZ?wly{L7`U#)eA={onqT2J;NpJm+%#r4*ONBy4{i+Ko27 zEd2oG@5ZiCNV!(~$L#ihX{_D;*Qsrq?e-sQ;jDTnrUh*u>uvj1vud-$bw7L@j+-FmyuiId;X zW$nbqFQrX8KFBQFE19D9BDRg= z`@Z~$eBUXDy=DLhKR!>@f+^bhp~*@xWy6@^xv zXV}l-iTKySPpq>!dt--^-#r6d{Yd_bZ)2aihc zPCjtbl@z<_D-GE3EuP@4`zGM2G4u)g>ICW~UNSh&_tZ=An`ASz<1*1!*b1!JO!P^W z@1>pWGJm1{T>ap%x|6jpdq%r-r-6LlJ`cW@?{G7A-Z=c#ia*qtkqo!+WLycZb*_n{ zR~(K8XaE0<2B-WpH1PNVx_jzmb5-muAN!!i$KACw@0wZ2XRn$4{N97t%+lu{x@M+5 zlIl->`ighWY#ew7oi(#-$s@aO03X;dj4HHZz{-#I+!3sw9d(}N131`OCmYNi-f`fS zPZ3XwHOn?qy?5ldm(a%~(XzW-MYs{?U zx`!(TT+uYi|3yw$z4Rz5m8O*4Pd}Ul$+2 z6i$Nc;wAXGxHbG6_!NPUtGi5x59Y&D@)EL*VrzsxzXzW=g*JV>_^__pAzVxd+@P2A z<6?6k>jm&Iz7_3ef>$8?Rcmc2msT6&+cMw8?*A>;O}-u8X3?%cy1BdxSylSd(VTNT zsCNzGjd0&{9mY>-3wc{Sc|ZTA^epsh^zW+BUF=o4D^rnd${dHzSx#zVQ`#y?^N?{3 zSKE80eCP<$9SXy;W1C6ktjB0h=f8Mq}77i0hg~Mc0`12(8JRAh`Ou?x%k<&;|yzSmkS7!RDyoL{Ya2)7~NHHK%ueI(FT9AjTaO#Wi> zOXb{F>Q)d*wf}O*P%EZ{bOzRq{;Aju+T&RTe90bY7Mx7|4vtB%tmAm%DhPO)-mvKDftI8F!0 zT5zoW590XfBX9SM;~a3D1&-K6GV%W)j=qcgr{g?uoC}V1;8^z`z;P~c)xX%&7ZeUo zUn|Y^*Lv=Rx4PW-dE|9%GU8L^%(2SzdU;y)8*d^5D2wr-eelVJi~;%-a=K&thu^Z! z5Dg^MUuQV|)z;gIlj5xLl9&Ek(9>Ug^?JL%_Ui5G&kN#fGuJ29TJy8>!ENT!f^;I* z*fC@2dFTfAyi&Zk(b7FO>`7v05FfdNI=Sz2>lAnL&T;Y%r%sxqMw**5RVkg#emU!` zCb)olUeCN;`+AsvP0)UW1+=MwKWhH(C-ut?K&rj#+LISBw>f7$EFmR+33IH3T}E3} z=Qad@w*fvtFJy(q3qHWZER$NZ@ z;C8;~PIeL5@Jg&B#{cXX(eRj+u|0US1us5>1!s^?aFUW3C5C%phm9Dv)c1`e~ zF~I(SQh!wOQD)ln1@tUqbY|a5`tHh}Sfqa7h}Yt~p!xMt*v^UL>cr$k-;w^MwNAC+ z^!t%@q*1|PKCAC^4&W5Ca$f=8VTB#Nrl&|(OwAGg5wZFlBpF8F%$Xnsbd&Xb!TS<}^ z9U&CL76AQ-Z;9^>XYi1k_>{IH(mZJT#sb@)!I#pRB*Z5Q+xm|DPoxvL`cCl;#3e!B zc?KV7D_%?3)^{|AI0n5!{v#&VYRSq#78^5gB{xH1;(>9`xdZ#8a}!3Rv1n-^eftNzpvHBS2qo=?>fzFa7wjZfsElKt|;!^B;wfoJkD)7?1=%urU_V7&f zw&H^@7kY3eI*&&;DLX{xSkdt|Fzxt%_S{_d1y_H8=37M*(W9GuMe!Bb`%>vhh`vtw zs;h+`xRr4|L!OQJC({P#$4%D$XyK+_}@CqK5z;83Hn-GZFc8w6UNp<9@$B>uA#Pkhd!_T;(N%0;63yw)h~ta-auK6 zyj$^4l%@P`S*xA0nknnEl$D^I1#!ig``6cOREA~01lQ{+-(6E_07eWLu3Qyw^6GfB z)j>L*^can+!{w7sb|m>~9K41DS7!rBC;V4saP)mFYvTJ@R^)vw%l6THe{>d?2Oh31 zC1X$g>Cm2i&2#TqXnp`sU-#(-bG5JD)RFqRy0+DuFL13{ag8a)e`)D^*f$;f;1b1U z#7A}YRAP!a&y=UZdA^M2uKbocpkkHTX$?-QS|j1IAIs2~*%<)q^EmCk(Al`S_4rslQqN@G&# z^28AQdWR5)hwsgkq!)Hfrrc;)G22*21x^Y0>A%bGKgToifAI((ytV1lKvyMmMt3e+ zZboNZUXCo@syM8RfU9!dJk=h4Z|7Or@kR0!#qGW6US6*{seY={MdVpM8eX4JjKd*4 zyuO_OlBweL-Rs2bmv>a~%!}t~(Wf(?It;Gj^)X<$Z5*Oa2SMK=QrQg@*HCtYV(tTr z9C;qK<+=2b0%(p+{UBRHnDPoj&^*o>eMqqu*aLw*K>na6-fGcSZL4-IhPInad+A+( zd>ziS5dE)+Ht}(uv5T8xeE333+RDI5xT*faO?ZTPR?a1Skb?)|v;WIBKIPzoUeFN+ z56Q}2T*hX88%mz%sn1bw&Gf3SsK`Yhbk;+e-%@ba~0Hy58M&#JkY1JW)lEjmbtc+A128ay=i zH0G@FMtf+CRf0zZI4uqh+;R5+_wKmUKIFRVPNnt` zA6Q2|(b>%>+n6_>`it`2OuiydJ~xiD;$Ese`mdF*k$jU=vdfKT4gk)~S%TpH+t0$E zslRxXXci4aV=l!lt%z~{yIBGbGtw2IC7BU9@|}4qbBaUf*!tGC3vsrelgC{jv+PE^ zkH+kI`})ft=AQHOi$om0h4cHHOABp{w{on}7taNmS3i?6xyhHmzg!y4^KlrMr9n}v)tD?a1dFFQE)wncB3XNVtoWv)GbS9RP$ zTU+ho$nQe(dF3~A7x>17);M3~w@n9m-mA^Ecgg$yz4XCjU;A(M-fi=@c%K_PVZ_(}-lf=$yYU^#ZIf$h6K{J+ zUv}F>bF6CYapJ`_*ahED`u$(DNwsGT?w@jKd%TJbF1I~4dFZM3(7syHbGS1GzwUXj z_Goe5yS#Y4=e@?@8t1*+9=Gwnk!P~sivP=w^z7Vst+AzjwUvnrJJvMc)X|u_sY5*3 zkIoo~V}pxf(@3V$6-o44>EZDqnHAJ;b?A2SxAp?ZUb}*^V&d}WT(cLxypM6&DH*Gn zIKL;Bk;bsMjCGW8Pfi)@`Y1zsjmmh=DZ`gsfo*D5dY5IhQ=H+OdTffn*Q&KR;oA(2{FR)hDo-{Zo zGvxm(vl`4h(^xO&n$G`umo=D0uh-#vUTqrohHtpJ^$Nk8_dS@Dd*!2=Iv~qxoC5}`4wqve!UsW{}|6pZnF0rl*T;FRAV)cg@OZ>+s4zFC3`7rn2 zcI5nEo)zDk*OiA&IDn7Avx8r@?5~y$2tQrrSO56ye+9alx!0N2?z6EUVIF0{i>2jn z`9%kgd{gy&4EJ&88^j+2MA@)8Rk zdFGKvYv;ort~UX$oe%Z;f-3IiMCROz2`KvffHn0WodXSG#DRA3MQ)S^(18N1W4rzT z>SN#Pa^Hi`LF+NQ(OY(V^p-Ykh|}Y14%)l_40)dMB6@{R!E?e`xh{e>^p!GV~~Y z?~|O1^E`XIwjy=v+nKDo@`3rCj%YZn@HvLY};rQLg+?g=eAmh|+egtF~lS z?yKlOuX^;Krw70{S67u88y#eq~kT>DU zd!q2Sa93Pf#T8_K4tzYc%CI*foDEG1WxoS#@nd^D6AyaTn&TqqSfTZSVOmRCH$Tu7 zT2+z_^GxzfdG$O%Ti(h$wX?>wx1H7QZab^ZOK59%T#9x((Jgj*VtZUqo!s}iZL*oX zn>~47$2KvYHu)L*Gt@4pmfG!Nh(V;XbK{#_IY7JQ#y9yrWk0j3B|9rYydB5aUS-yR zLyZTA>6Gcd&&9W#yyc#}Pf_MP%8I}Xp8V?D*50YxClD8-^oLn9j(HP%o z-jnvyY9ERAuS^ZLT&%V_3wpnZuBH6St2WSgr}6xoP9O4{)QGLdjGhZ^)TRsQQ{Qsl zDZbuh=ecx_x6ZQV3NoZr?WlJHwd1!Y1>kXZx%&Q3Ip6EuK;PfV_by%+^L?FDmT0^m zU1q;Wm-*{4{jaU>B=1g7-g;=Pa_xQ8vGj*1+pY8D*cy1!jHAxTfp-sO+~X-@#{lrI zC-3#1yq7re=JC80J}>#BHo16mz*@HerbTX#W`@Q zfD>koS#gi$i+T0cS4R!M&vm1##MmeOYMm)39nHNVeF3aq`WSIPc)o`8Q{2xZ{UrC* zq$9a6A>BaQcyWWdw6o64BE5k7O44`tQ4Z;!dH&Kx4d(0I-%q-n`#RD|+($`Y|6aZM z1J@6@UpF0F{9fLZUdH`o(jfOC(tPgsUdaCKJ$2@B(q#|Sn@hPiaNjr$_1o^- zlXl<R{`A_tet9rWe1_VQX60zv58P>EqS9reJAQ8R0267vE}6zSSx#c2`eq0pX{$YqvfJj_x})hU)G2y3;%}T z=1uT%{_9yFLhM!g2;c4UN3H+q{4i%N5of^Ot9D5{e$t$Sb*avuer^piVI6S(Mj4uS z1=LQ&OwvAPl@s06@`69w{G{xnl=Cz6s&@SIu~F8hlV;RjN&2 zN4cAvSO?!FJ$2Pu%#X2jE%=|d$^LKgxf~gJ6YZ@$%IobnYRg<1`HxOyI&_~-yDPuS z3s7FbBS*hLdG7n%^0W_Ux5w9NALUh3R<15yg+3cW|5Ti57dOGmjR96W0PZV*<&6RM zLLa#2#sG^BfP1b_*;WU4#n80y_vqu+Tms!n^9ky~dJ|`?6tKoas}gwm|yrnt}U<5?705^XX`wqW4EKT_%a zRe`Qq$el|{Vo)}s#e#9K@-}B2XkIUxz{`h#xPOQ0i0eDRWcXy2f8nE`TqT}jBewRxZjn`0V zY4(mY0@kycXF^A7uBbjeYShhSq29W#bbgN}Ku z`b^mN&yb!!ihEbLf{*p+lhw}mqDu|mTi-Zk1UzL}IwJS3zFOtXC$R+tbk3r_Q(u*x z;obiVbnd;6m@!;+T;6!QiYH%GZs0AJk74P=2s#%1u`0YFqxi+ri}S%>{%mV*l`OUQ zNzs>)?a+WYx;Bqz+^~1I<+dBl&Ij3J;G7*Y&($HI+qXowm_0{2+Gm39Tt&R2mN{3g zXU=ursQ%|N5%NYnd4Ia^P#Z)sd5S%GPN%&7Y!I)(BVY6I$nR2KUp9!^Ffse#8MELG zUfj3v{T9#nM-PDe8uG63zbkZ0hwe4`Bb&e8a1ozrwp$JaXf= z#r@AYwvcy=CvOaVHRrgW=iWKMMSZ}@l^Kr@0B0`c&Go?fpaZ8i2hN$m(O6QyzJ_{g z{>FM|ht|2puO;Uq$dHMow0*~iu)!&RCH$(0vNX&Uat^X-=gfRh_D^3QwiHc-qhFPv8``y=~Y9s00;`LOi) z^9KW6%D?;cKvxOni9Wg)eRfhFwwX@<6x;TXJm}mXwf{@*iuP6XPx%*=bIHHK^}CR+ zAvrC%yh41Cwg}TsY8w+qR?|Lyc+z_xNTn~C8$joUA0dwwPhih0b!PiH4QBoC>r9Gt zE%yzi)3}e3p3HrS^bfo0%7|JYhFa%*vy^|E?^M z?DUzb9R-Xvl;4AR5BqSF*Tm2Fp24ZT zXh);ttDkAlzw8L3$iMTJH@imR$Hbod%&7R28TE%0{W9elD|O9pcdg-GYd;dGZS;fefrz1;SfrN^Jt~Vh8VH z2XD7b_e@eRE#9n$7Rdd+aOf-lKJsfF!_6-obiS=iyOH3q5*&1Xsc1Jc2Z!Q5={JH;u=%N<>z|l6W5p)t~##e>+4PYzZy)K%Llwx z+Cu$F?b7q#@i{DNCB9VK-I?!%TQm2QZ&Rc-^WC=A%mb~h)*fnoch$sRUqmYwf%;=o zxHe~Io>hSV)tbzVv(BTRUD7sn3}?aQ2itrpgL*SNeHLS2RcKY4)dtkV$3Ema)R#Fe zbJaC_HTNVYK=2v#ronN?wrj;{SjM^_XG=m0jgu8-**@)=ke~5bzANCFbUj}}KFMnj z@<~?w4%vy7*FAp~WUyVpPw`0>E|-CW;&}=;(=2`TmNwsrmH4~a=OP9y9aVd=*0J`u zY@eTRg^SwM_2t*RT=@SIIKo}Jdxrme(YIf{dZAgs<;GqqL7$6QW961MM(aU)a-+_3 z?a6h|^awc5{&2I+r%6p4wNp6;wMg@2|0aAdZqXL%a2gUZR%IhNWS#i z_oH#9d7A7ZS_@YB-t#X5?C)3;;hV60`}htzTIX@Zn=+3+IRp3h zS(WQN=Zpe3QANj1TSme_-yy9yrUK{kAUL zatEGx?t5n;m-$YxCq^iPt0uCzBg$A49>v@%c9G&1g}KVPD!3}SbpD3{w%|oP@QVHq z%75{y-gvr-TOfJ!c$WRhjBD*nn10|*wrJl=+yu_740DE~6*FP!s0zkNIpaa|vdWk} zr_=n+>o3o^JIG(YC}#U8y&wMVf-C(~^Pv5-@qYS^Xf1h^Kk_a5k^LT(oO!;z9!`HO z-AUe^p1e2y>CLWk^0LpSLu33$b=s?8*S+A>xB9I6LHj}f19g|(Wg@hn%oRXi(^~c) zf61Kv4Cd@FFlQ$9vjT=r;5?NHCOgzQ6X6RZZ`#^3H;0GFKfp)3yY!TdYxdCS z!4ab8q4AAG&pPtfdGelQ(esYXDa3KB#6~JRQo;N+-KS1i(>-Du=Sfa#?ye@j+sN6? z-REKt^iNyUtvGvw7HZv*{Vt_rIJ>}P3rq7j6U2_8<}>D8)$tbUw%~N^5YJ>X|R2dzWerQuX=_6nR>{0CCl~x9=1&7cBD31s7O#?Yr;nW$v=qGe64W z)2P045wQ}d6DLu1y_gt@Zao!~QT2=li8sjk3_j|{h{)a*+(6tn)z6ND$2i%AUTN8j z-I%4?|FQ2V*;8ZfjF-{{z!pzVjD=@LkUi?_d?UWOsL7TSS>yzA-m)>QCH|@EjXWw< zS)HD;B2HO~yOUeiJg2PRd&+vsigy`HzwDHSGJ;NN%fDYq=AoAfx7}k7Ew9!o?`g`5 zFs>vgf6jj^P789JHqVck#)6-~>qSf9yoUGQHj>J%)XXcRBEV;qlzvc$Be=%oakv>4W;?CZEi_!}RvG(Q0S+{rzd?gg$oRN+u z{2npGh|!fw|AzUwXg;3t=<*cNC64VW?y)`HX3@WIo->)elRbHhEc)M(IlXjkcO6I{5qyDxr|MR`?!_Cw#{tM2HIV`mo5s>iTZcO18b zy0lT36m@A$Ek{SS>!YAq zwwQU-(tSgqL0>-L%A@#6mMmo)d;Px);^Nu0>H8>Cai+dRS^+<+@bI%Jbo?T7tBAwD zBk`pLqI=c)weVZJ?}zv%USUOLxbV@ z1@L@dX?b=iywH^9XYaB2UqKK5LyqhcZ7ZRx<}B0HN1T2WTz^t_ywi88^_)7N{4QsS zv41@=LNS}Pc6dpeID(}mJkx*nX&>ba-PtbRN6`h^1=q9wKjv!`!Dl_cJK77GwexF-D7DwRcZNRboJzh zJ&d!?i4L4{{uevXeJbDiFBvSGQm!q@wIj)ILu)&-CCPrIIYKZ(KWuKww0=@P9haq# z2c|csg>Z0Vd#RnZcVQGTH^=Py3;qMn|HHxmtp|QscC3hP$I^O%@YnzjKI$+Ly=ahU zT}gflr#$?Lb4J7S3_R|IXYePeWbJ}<%gNk7$^A*}04=-GB)C>{ZQxxa?=F2Bp8(Pn z&uX}~bJdL|A6FayT|K18<2#5vZ9(WtJLzicGaHgLJBaWPoBpTr*y}DF0{j%B9FUREKk6hIFETBKsk+;s1_ipf4S>=|F5KG4y z*Rf5vc3-mo*6vGJ-P$b~5#<}rmt8$zaBlh3S#;GHDI>4WgK_iTzn&0a{nZk?}oZ)tPSd3cQFt(tGk1~`1x zn(m#BuBE;^3?DX)pN(-l-cNtysNCtt>cbjK>c_1S>_&_!mD_zqpz9k?z1fw#s;Db8 zWXh|73G&-|G}}7lhgn;fZ)EL0mDc)ck$iE`kJZPY-#-1EW9ZBKPvp#q`4b=bjJqHo}7r>izFobYFQ(e>|3+1SMD`Ba!==k+h@Ys@o=!! zSaPq?k$VT9cNCgW3~l&~{0>yE_`Bcfhde;vwPTlh``1^7;nPW zm6xk~ew^~$_qpZe>YmS2UJSVxiLvjIJ~{eKbVJ%}ARfMy^>mkqdwHm3(}ss$Oy3h- z!Ogat4bT?y1@k-o?-xI#Kb1F_J6r3_J*4j(eWUpT&uaNUmS+{DCvfj4{q;}l%+7JW zXWisSd+qC=0KZ)O`bk#=I$fK%>=ZuwnfjY-6b1A%ovr1M+x<*y%ennbbT;&n{`%Ru zR$sEt+3UAYHPDs~p0?aK6kkl9B|OhQYxODo3gVW2mp;!b*FG;yxbEV7P}xCjTxVG8 z;L-HZ3i!0+g zH2e$gsZU9toS|`AdJJPo^pd_QUZ-&>nAqe>pVPbocwSvp@0c@|N_SBicHbE|PSBC| zG3gBMy3}>_n>k~#0sI6T0O>DCTgK4meoUVub=QOv)K&7=vTay)p;%frz~V4A6LfCH znZr-)AbS;K?I3%V{GmnD!{rlww0<<^!J+6e3wv-_@c$SG--AQDgvXc9$nUHW9@r4Y zw{vNt^Dos0L=WT8qc~K4M0NdVY4XbVhjy;}*r7D}e}%*2-?wRUIy5N;4_8-{%}6!{ z*`IT5@&m=m{M!m!cXMs>$DVQIaWXIe%n`)N8$@SE-$A(W$+@=AAd;JR#?LeC3lZS*L;QYtue(K;);tF_SoBRaqR7Gc`E0E z0m^yKQ%;m}T$`tC!1`8x@is41Z0sZC2{G}6_b28^$@^HA=q0};!*~mLXy%>;aLwrl zpR1_)OCHI_F@rIp_(a;{Uc*_Kiq|mC+_5*;=3fcVtia|h{XcSqcJE?j-TOta!24KM zwR};=(GSogRBz26eG%DHH|$AYj{XzI@7A!s1zp%vf*&@16mctNJoTB$x>4i%;zJm+ zbe8wWhp^a@R}+wHUppy4Y%F^Zf5jK=J?-wfVfYaQOPD|Ao-J1PGCpCRv&G&)x3T8y z&_d&+*z;aG)+^3?ci(7{=RG=ju+@1#$obySd+jxC@#ss5Gv4ajI0hShP8%%grwzi4 z8J+Q`KE+vDP8C^62^L4h?_cd9OCO-g)n~!FN6H)dq8%_ih_}L+^Pu-J=IS^Lb)GqQ`3v zxp63Kt;aT)pKh)*k1nh?cag5ZF1(KaB|MK5-DoOG8q9}(P-hn3P;W+&`mvK-#s4+O z^sdQF^sLEP=if2TRHrMz$+aIy&rM-_OnGdN#Y5iea^L69eHzHy;K_UQACXCnN!LeF z<;BSp_vA5@=f2M^Py5s-d-5)%yuN%Gz56I#+yqPe)V=3KXM+9X-lp;9vDbXE58Str zXPYO_uPCoS+*9ODdGcQ9;EoSNhin{Cj~}DEmvRU?y+1C#|ERS_fiFPEEvMP%b!r}H zpV@g6eBbu#mal+(#|(CDomu)sCHqIjuM*LJB`_u`m-|q4y!X4=7or=q-If-jy6dd_v zum+KK$EDVuFRKu5bmlyH>X&QVv71`^(3DR$7;GQbzR}$Mg#J_HbN!MvJ}0OS*xEkm ztg{Ygjnn19KGs_YPiX8OL!J*?@Ys*df7xgmx21zUHm3k~27R~t!~p9Gw*Q~*#dCL_ zs=2uAv5lFtfU9}EaMIpJjVIn6g%AEH+G-SSHA>%k@ptz^{e~oZy{aA{c6(Ba6g^2l>0F0G2HJTg$?Q}&goJasJaJz zFT9nf06c!?;Gub>)eq=H&(rp5Kf%!VUf5;MxAgnq!+a}wO`d@8zLNXmKI&5I)Me)v z*?Z<$|CU{}ueprY3G`h4MQ(eRIM1G1dhlH4Pp2L_mnqUX2p<~rfBamep{lETu zy>prqhyCkwniBBrZ%%U)^>^nq%lOY;|IVs{8%=;qbDHUX{(qV^&$T-aypw;UXP+0Sjv{<|LR`#oEZ$P46nVQpy3qJT zy=R!L%<(B&+fTVF&lg$38Kaa#`^cY2zC^Cy&_>FAV0f=RWHNY3=NErepOxQ$Z1Dlh z-wyv!`k;5uNeO;(&t7GpFQzfnxoK$UEXs8IZ}eX%?-8fG9h>Yq`SersI|G#Io?)Un zdCQgHnG|okEtA)bjXf?r;RB(&h|PS>QP}6<=jY>3`!@YLmfjD44^Xc`u?y(qo8f)T z&%#sMh)*V-zFv036KUHbV$~LgvC|Mg)|e@6oN>}7z3SSXZ*~nqcDVM&GAFO{6|k2L zyBz!Oel-f(9L+Pt*WysftRQ8NWmLAVUfkgIrDf3-wjUpRV@tnZXz{RL<8$x|^a>?d z69ymAz7W{Ue^rS6S+X>iewIA)Mb(TQe;@q_xCz$0;!T-( z;Xs%C3G}_ra@Kdgc*^%E{rKcdeCxuNe4OWjjSojqI-v`DsRuT;J{vZ; z3wA3$4PQQUEs5jX!)SHn%LIyllXN)e#*HmM}_cQF$8RilZ zo2Tf^vLNwYtg+F?*l4wV;==03jE&cddhNsVx5(vh`SjUmoaf?i3Ha+h&iyToHg9_i z{L2}m51v9C+L%2Ck`ZuW%xIs{d-zh}mztK{GC#6mk3WKa5Sv&ij6YbsF>|h2g1>31 zJfXV*?4xjnhibSc<+Re=hQO?w;Ix z{>JD2XxqtmqC06!y#(J^IR#<$s||awtgz;0&wa&1=x^!Gn+kdMzgC|rpg(WqTjftV z-|D+>@}1)5Rfd{6ZfGg&ip5!L1&3SjE$o_@xDY)u)qXSo6+2Nl6Gzb+yC0&wubDgL z6VvfElf*w<`&tu{oz|MR;CT0|Z?o3bQt6mcY|EyOtG-sq+HNe(INMr&D?UN73p>L1 zv9=v=>WBeXX9fmS`2R7UKkW2>ctB9&TWzQ@E*^054)7#amvE~Jjka*pc|<|-Xp9U# zk9cDImrdXmaEK|!XEbTmF%}(?nF1czu5~t-6=!hX1JqUXC*rOj=fK@Yze~_Zh|}6p z2A$MD{FJ%s#X`!q>GBwPVzjYnsdo7`@7yuJnRlX}Vo>Vbjb_H(Cm8R-`Fp(k80U%EHCutk2-#%pE~~H zw!^pMM|0{}Ge8}yJ#}n!>NxcX>sVe$J38kNY@@G6Qi{pf#CU~Q$5QQ4_(3(-WG;=_ zYws!SA{JxEHKbaXQcQY{6F=t@N@w_Fo+;HC1GCJ99j|g0+^g`OT8(LVkLDL`#9nP1 zZ1YC(w_|@I*^x@mp?rOF9=uF^=kGqVRd6EB^l$W7?S)2<)A(lIxw50eN>_E%!HZ_W zo65Pzmz?wRn&e;JAs>8qZ`Pc!%_qfU3V&PJRp;=dc@95%z-LNh;3RyegP-`r`bXdD zs^%GI0(DqEH@vHcF5r~$C6gUBN$O2`G45-*W^o@Uoy#?k|3&&Xq!_I1aV3TKTQXl` zP4Uz|_wqZOC)69;xI#2y&xGOzAaAxRc53yN_|+?gFGZsF68{!nhQ8&Golibn=aNnN zxh2GoCEuVhaWlzl>s*a(qTkWKwRJA#6VLytlUMl)a&#`9SvnW>95v7$=?Y*S2X0jX zn?93F}x_BjMO z&!E&&a~lS>)aO4@2VjVnfgR-ovU=tRv&f#%S(rE=jSLl4&HMQQ|B1< zP(IaJdEGiIe(pUvbw1C@t9-e2=9yJz`s!ip{0(q(`=IpmzaSH$&7bsY>ge#Vy{{Z*?Ph*RZM%x6(hm6&E z$BY~4K$FTmF`F+I%(!q#wuR!r0A?|%ADAjnvh**DwNAFIO)ykX@kzgVYEPK^a;^%l zIB@3zx5|N=3$xM#^K@VqB&j2CRlZ;fUN}y9TouWcnU@@xDqk=KZ!Z118rshsRgj)B z>OAOud0P~_TC>mBRt^8eA2a_7VlGA#Y9F=7@{FG=z!go|?Xhky=fm_vmm*^EichL7 z0v@`U_;TqF?S4|>sq%#PcO4uB!^JVg|6;BZt{5=Y78L`)Ec3wZ`lPolY?#Gy8>Y$= z%$s}K!iH&@ZQ6u+U(Qv*6$h@`V)IpYT@P)G-g>?OOmACQ^|ac8^5T@2T%Nh6r!Byx z`Kdi>|0wMcLC&b}OHQpinb;7qrjB{YAIVDb+slUiy(>angrdMhk42vjM&q`U zp^AwOGbmQm=FX#sI`ilmz|;ExWhjq#9(^C{3fNXVKf(M#viD=}9SDA${j~19`h4eG zeV04-d1j4$+GkYU;vse%jCs(?D}PG3-w0h|rLYz&cP}me%L&0!K5=u zPwK!%{f|ZF+RxOR1%7PWSJ#_leuJ5lhn?EjVCuM@F%71ctL?y|o_(F_SBi_;icWbX z{o^#Jf9#)iaR2x~PXEw(;I95#q`6u%u|?<~dC^pRWQ=6GYyq{bRa^ER@kO8I?|M4( zP3j&9+h=PS`i=HxYCoyuvvh%}no}q4%se@CaJtM_llDVD6Wc+VGc4cn+fO%XUwC?7=_TV<=2NxA)ctqMUn{(%EOJ_Px7~?eZ;Nzei`K4}%`^RWBsw zy1|C#$L{7c{6{yGt}R(99`vQ8ZJ&|tyF4kI+^n?b;Bn0pc|QlciP~N`?~=X2nP2;T z7Mym@j1Gp0ABHWCF?30LzTh%eB>SY>;iup8O+9gRPrsLS%qxf~z*YD6MdtNS)SGAC z?QKi%oH##Dzf4Fzi)PsWDO-KffOA{Yo)@d{N``;z`QAC>Y2?#0$<6C->77rV#B<3A zj^gd2t*q}fzM`IQ!`8QV(-!tQdl^q&!8*&67iJ0Bpe=meo@cLU6MpS{qj|PHZZ_;` zQyIDQ?6`Ca>>9iiuEL}21^fRlU<@?RcK0VY{tdc0^RqJgXA%8O{bThtv{@?EzG8~} z4HWkoJ16k`#An^hTDW{IO5#nKqny}{e&Ev|Mud=4tYKw}lT95hzLzu8tv=5DjrZ!~ z$}<@|)MWa1h}$zw-1q*|oy7qsCMjFhls~ z%0DxLzg;N2l;@YC!{PHCzN3Kqf(GC<084n;ecrB{_EoCvY1aO`*_wj|?}U!4YXV(s zNL4QV$+o9PQ|&*~`EbYbW~Z_TKT}wG;i|=HBsO_uoV9M5jCb zS7SwXqDWu;7aa7yl6PuLjkP-Zt^Q9qO#cmuhhSIU_STV&`^%mFlBas+jQdMG^{gSE zA%>iAc>628V_f6*0#Ck=kWaX0J$W?#KH|x97I^}umk*>pc~#z-p1c#tTNJz7g8RFi zd?$JGiMND2WxkM;_jpg<{&>rCeB+Asa!($$%??kV+_q`( zw#{d9^8V11x4*Wzif_Da^C^|lPupCo<3lOl(9jCMkEYt? zgOnFbwJRn>QR^*j35##dVBOgEVUWHeo>^p4K0iE`3z^+y`5=kEv5x~@J;UN}SFm1Q zdqJRUj@HeswLFKvQU1#6fHlrP2=5LsmbEARS9|Kr|IVy8CvdG?!=8fIkF5W=GJOd2 z$n8I~Jv8^q^d(KbJj|8pf4{M}PpQ9L==nBRroZONtNs%8GZ4GU@U%m{`yn@(*l7)leA+8*S?j^1txb!aZy{o3$`3(1J z7s(;{(8wqCui7(o;VJt{T4;C54ii65Wvb5p1pgzP6&#jq`MCUnO7-6#d6+yO*ZM9# z`s_y4eqfRz8PhQ2;#W%Zjog+IHQ^&{L*BhHiaf>xSSL_!* zSAfeTZ>L}0j_o*#O~`vz5H=dxN^*AJfA`vf&?`D43EQvIhpoUQw66fXNejSVF@exq z+E>sfIxEP}eL?fndjvcD+9K1)6=q#ebYL$$q)6p^ef1-ZDbY&nnzl}G@Y)}Hle!wl z+iQP+Dezl<|JRSt@7x>i^>KIQx4qXsh7S>KNV$Wl%LCBIE_cJ8uRX`SKF+#1?JfCq zzWNw-P`j$`ck*8E47lX3?NpO@E@kRF$?S9WZEpWe*yWyM(ZZJ5|3kl2`Dc@AKfd}( zQHXYc9@29Ps9!bpb7l5-RuPBn&x=fm%hf%tn9C_>7#D7{)6z@)(K|WkZJFjwoa@Vl zPF1*gjWstJMBmcc&ThRbphKLxt#sn%uA5T?CA;Hws7Js zY%L<+V!rKS{jKoU#y!5oa_lRYwWsNOhWWSZqi>2r%QEu$D%3e?z_a#u2#j zb?v0>@d;aI(Xh;!=XmSrQ~i>v<0b7);HmlBcY{IZZg*xj1*fG=jB|Ly_&0>A+X}){ z+oqh6YQNnC+op~s9+Syy%j4W>)?U|JXUl?v+Unie)SEU{AJrUAef9?N;RN%FsOD{# zwaZ^EY}t8idrXD)$~iOuZ`MAScSNZ}$djieCy(rC9}+0kWZyfLJP~Lp8;f;k2xc>SKYuB*us4exUVv++DvRk#^f!ZQAG)I?H># z<|acZ$Fj*xwfnWoyPx_-qO~1@8;LEo;!BCPqH8#B-QEK8(KgWrdu1DAru}sC!}mKy z8`{(2dn)HnmE)8l{1tmjxC~~_D?i_`^mK42;C}`4fP-ncwBygz$I|7UJS91K%4Dxm zdwI%HJW6jlI(PDa$)kD{U<0?$sa|Krxbo#C;Xf;|4fLK5?)ER)7xJQvUF_)c8~g+~ zTH`6n*h#`4xdL3K8M@G)oORX~(e3VZeC&>mRdnG(1eUI>t zu@)nHSgg@HPt8wS2tD1nY3DS^mvbpN@;v$Eo)GYgxk|V~z%2&utFc4jY8_qh@CWaK zm-N63Iq-@dc=$AtKh-|Yfmh7E;Dv!x&Q-w`23|Svl6}B~e@v?M!1}ZY7Iqitd#_c$ zumi80RQn|abC3hGoO?g{BE&PZY=XeYFSGp{>NDhX$A5X(BJ)7!A~TuGm7Tt3Xd1Qo zz--z{G1Q{IyY|XXJ19}ZIKK><+CER6i*z>jn!U2sdhN6y`lZ$>Y=0-UL7S7WkoHj@ zaDAQdqe3Pv4$&r~{BihVLbjGiX&2diWZ$Xju@9pgtk*brp0Yyla@#%(Pd8Jr0WG)2 z?6JUQ40bA?c+C?|-ePpTf*ja9vtZLc7VI#v!@w>d0QUDOPdbTU+k41+VZV!g1AUUg0gjs6P4-a=-*vhE`g6HCBBi z(cy(dTzv+)6vrouJ~SwtYJXj46DNR`L|y>1;0Wcz7Ro!Ee0WeW4g~!0&d8zOk`Jo)C&|0gtZa+=8uyyKWypudjM~oSd9qoV#BG@;>j$Sbrpm6Ykx#W{ z2eoZkjxBTyw$RY>4l^d2zB4bM@$swOUy92Xir;mNwvUf%6R!{Z?%F50B>nH3FJlY6 z?~y(7yOvHe92#r=S24&6qfy4gdj79>Y@)U8w3}rU^+V$b{ZeIL$~Wby_15>Yi55lf zB0u~X9uvaP06P^nUi=<*72#tgzXRUUezZ;6FIpy(R@^^7X@E=crIQHvwwlBRO=spL;Zctd$f*b{l6x; zN2x^@AAF0rgGCY6BRMa_&pE52Rlq#a6RXia*A@Dt7GpDA4BkKMc{ee0us&&;=@0Rh z9lj{|P>ydz(&Aq}Vg-J07UPK+mgtr3KcLRWw59zi^7)qU3D8EGuV}vL58su!{Sss8 zo*F~ul4v@Qx(!ad@nrdq{7dK%*jXAuuprEp-=ei`PO>+ z9(w6rnfx(J+M20j(!X+_D~H@MGg)IMseJUoBz+q?6_H}I%@}lW^{rRX4T91QqONXG z+oKy4#HC}1U#id9`woj(-%`K59hlGwdTXs)e&m!*D)}Uvtop_Wp?4u`-Ln4{CZF1) z^1?~{Z@9|2LaDpxUw2vXC5MGW9yImBD|6so=YglQqXkdrN()}OvEh}feW|ZthIuBK zktF^+Tvc4*=w0Xu$U@aOE?6@y9ba|RoT<`*HAk>ws&^7TWa|j(=frEU;Bh82G5d9f zbgKOyH!zME7t)0yJk$7)exm&U_{RZjUnYIh@=N?1_wM<}1@yTp)fxWh`s!3NRxby( zd-k#Nl;`A;UKt~gd+xFF$Zx}2j`Ye4RE{$*38Wb>o_z-q%kF+lTkam}$M1_w?xB8W?4kP(@WZrtn(AAWfNos)PiF$)GFZM;p{C3iMiny7n=+p-w)Yua ze6&CPacA$e_7rQML4bV*jlUyqT7>y@So$e#0X;1nKIJ9v>)mHCH1A*EXYk%-{qHmQ zEcJEw8PxG#aZO)+sll{zrHnDfN~>-#MW5Mmp!GMzTYGPj*+#1OuK#qgNu|F6ot~pE z+83hOrSkpP9NzW`hUa5 zi66_Qx)pONMyg;x4sNdQCB5rK`d0!yWI+L^CR^!#{YmZ9_;gR zX0}VtsytVhy56Hp5f!Rq8tohB{aoPvJ1|s+3uB%KMjbFt2S$wdwf`mzmEppe<$*B= z7$v}n^1k}tgrPEA7&RUk(}8hdCOm~_qCfV$gXr($USnE1sdSPeY>3R}6weX9uFf<%@noiu z{p4DI*7xpQ-|}zw@MOV!1304Fncz!a%N7GavUr{RR$0>}esWXh1@aAohY1()u`eAv zD1F+f3#@$F!v{<|{9wPEJ^s!Pu*RJ+h7 zxoeQ~pX^=#(cDaQA3;8NSG&vquk_@R9a?_Fxwg%rd?VYtzL#yYNM-b6+YIndWosT% zL)#eh7nP8pbsZY7;!+c85 z*Dcc?;+L$kC|bw{^a9_zw9uU8c+a=}(c(G2@zUa1mC+9^p5&ciTXTJf7C#5ZK(r{4 zeu3Xh#qWCcagBB95zNu(XSR+ZI-E~EUK(SsPfVfzs@+VAF`mHgo9rFq>K}m=V~VSY z>u)piyI!L`#T#?n_6-crcCNNWQT##tn1oFVtR(94-e zKm$i#(^y-*omgB45@y8YdQ--=ea9lRjPyLNR{pR4#o_l&xZ~{{=#x9%Zr*n2cson| zBiuXQmU{B^*T+uh8*d+rsEmI4SS9a7TlKLz`j-ArI7}aN$J@5w{&V9k4_I!U-SKvb zr#{~C_W066$J^^)?xlss+f>iD{m~-JH(pwFtBihVv5$8yElzT1u?HAOGTyeleDHYl za|W?B) z!z=4Y0(UL==o}C60WUryQ%`1o&HD4<7xgwujc;RPfkrs<`0!Vfd8fFBAG854NbLL_1@faTWNm81XTsgGBVcHVTT91W`;4lTs{5}t4SqeU6tcxf?OW%NUfV|eG% z;xdO8qYgt0S8q+caIhThPj4N6f~~jS&UtjXdaElxbM@8>KYp;@>Xo0;TO~ic7D#>` zs<(asy>$@h${mT`dJ%BEdh2{}{7>qwFaNB;#NSMqqt0Mo^Xd4hKEKF(ivLag5Agrx z)+5(jZ-qW?-*d-X+s_UiZ_CN&_A&L*9iBY>^|71y#@ol1sEmI4*jISx_OYMPfAznC z^hm~A(e{6Cyww8Bt+PAczTv5lcf1YjW4u+X9-i^G#`A4|w21PJmlo%!jDBeGVcxm4 zSme;+zYaqScf6Tj^p3ab%oFD|A_vfI0!hu2cA|5{(j(YIJB?Tsl2Je897V~gO7^8# z>ke_&HXXTE5oa$fS2>sDSV2_ zA(!OeLrmV%7W1q2t49{5wT_POb7>{}St_(whV^;b<%h6$Xxq8$^NHdcPv3g)TE#pc zoyiL~vW7=KYrVXY{i+vsT=cZPPOtJ>&@tSy@+4-2m_Q!EaF+o;Mo`-HfvxKy6L znZ;hSp^9x86%MS2#97B{Ue+PKOFk{=WcV~3ydHBJ_4kL9ZDHb@RYp12Gu)IhDSHm8 zb%`SU*!hNMw!LXAxK;vByr?2PI&(bt+N-PbE7A8x17GuR;UKueBgB0%m*Atfbci1A zdeCqO{zmjZY;zroUnc!rYd@vHmYyTn;*)z2i>~x< z)k$khqUU$1Qx#>p_2jI|j&Jcy_zS-3pmEoPj2XD@jUA7Gr@niMbC@KLio#7DinH%y z47qm4?dWvdb9B0V?2hg}i}_YPo?+iTwpPc!nY*r4#G3eeV5ttuqcs5U`WS24_^xU1 zOtPcd%BQhs`)8FiX1wcPT1#9`9`!G;P37vJ5c6zVok={q$UMBX&YXE_z4>@Wy(v9~ zb5FTio?c|;aSh@B{gw6R^poq&15d%T4zstywXXmq^6FEI z57iIXsUBflSC)Rb*YjjjS*ygPj#^&qf&$xX30c=Twh}WaB{~i8UFrHMd z#+!J$?5ZX{Mf>Fa?z2$}Mtcu8D)H~BVZ%M{66@pZ{( z!y1NUL=*7Jfv5k9f3uSNe9j>(j!{0aOGs7!vj300_koY9I`jX}OeV=NOmL8(G_rQk zs5D|76)R0~9Uvk`w1Wo4)NRL>`Uhh>D%~Q`I%xQpiVcc@_=mB&U6=mD7OkbWjf#Kj zs%zD%b=z)|aRd|R*0$QU)-B)n=iGafO9Z5?-PdnluOGgycXIE!=RD^*&w0*so_~kC z`Y)c2ufQ&S{gV2cho|S5yLr|d`a34aolAW(nMbMr)>kj5ZpD}RJWjm)Ql9Ni$7B6} zsh_%fwMP{nmam8ANrTPV=*FAr-FoaXhQ7$Yl7io9o%i|ObMU+8hVVPtS+;pP;7j3m z_fsZB-CCE#)1?QF!pHUO1Kitr-;O@GeTY8z5WcPTcpzh9^9cocn|yyV^g(#``J~nz zzl`{#=tpBXUE@bzf;@2R_ZOQr4=pk;UDakj0qn-iQyqJl?>F$Sl0FND zXW=FKy_);J@V;!}WX06j-+*q1; ziXT5p{zQCnCCf*67qvWa7QApZU79rtTL^Y8`CXC6Q16rajh|HVdfuNo3fr^wsnz&h z^4UN1hcsu9op~P9dBU>ezk=PrGF#|r!pB^GxDC9!?`+rK&CkOuAMU#jcz3SmjK%TK zEqt=|te}i|$bm_Bp3VrokMq9Gd++CJP6ytre;Mz6!ux&_@6$X>SGlsBWVS2QDCF3cT=zB^BRXFb=xyymyB-0A5C^ujUQuGw|F#h zuGkk`9=37&O>aPN-g|fregSSg47jM9L)kfjvZH>gvTD1Nez-mZCSB<1dIlc>##eYB zxdERQ+WHA~`Sq&ZTI#9|)U{|Y?Y@p(;Pt@Sf^R!E5kaNcJ~<4 zmuTJ6_*a-+b0H6>ZPBmJoY7dhXB!bmV$ajj`O@zDV9sLs*sBk80NOQu1>h+J;F$^R zEj()pJbMBd@z=KSP33INL=N~0;_2rQS0cF91#&bm_i{9o#{;;ucDr!dbC9riEH4q~ zK=bbT-KshQ7XBeygD6NCL!zsR*&Hy2ng@?Zf+7M8jCHob)J zHKy`A#aA>de^KhU^JN))<(wk_t0S(vFAL1sy}*15Fwflwm~Fe%D}H8UV=R3v_vm9N z{MOHqa(kzvApK89)|(v275>BD?|I(oT!1lwvd4S$KXl$b+C4b$j=Ra7ck){fw)-41 zm7jA`yzADzv^(@%fCGojyQ?bR>Q|nA@BJL2 z`Ov}wj~3`agZy(uoAX5vjDN~3dDV|)k0v(5ztE?^0~Je_g9dVYp@C{>U_ND3r^#MT zU01)VbI=4^oZP#?`sOF`-%ZT2b+c9t_%jKoqG7*3z6=&OS6dkUzdwFOn|b2Li_BuK zub$gx{;mE}b20ZN+^^=^@uNlNgw{4QmV4ivHuL)Zi_A}We<%0L`FjEPr_SLV#2+p) zm+*In`$zbDGWVaHO}QUXZZ_q(pTgf0xWC=fW(@ZV>e)d#-;YJSIi2M^TzGm&YY}U! z*3oOx(_K4X=TVZ^A;8|f7{XVN0N!`E{Jj<@{;$Pb9 zUGW)reGd~OH;=lS@ITWUuXdFKK7+qoi}gu!;fMoA{OPz6*xH_vrw9ub=*-9V78Q{rn}IdwuUBvwdEh znallC+<$q`BJ;wkAbl9#+-SXWDlb=l0tcSczS8C>4d+b1C_6dD z`A_t_=|aypF`}khp8qV=QNwG zM>^7XWIAsuwG?C@!7r6q)G4%?n0Jt~;tS;O>8NwsPafRgEuO8tmi)K1ceCdx4D8uf z|5o`7+~>%P1N#Gh+cLsY4Z3LU3x)|kzCV<5{x_9gIqmQ)jqD1KSU5PFdl%fiyRH-Vp|0 z*K^oD)N{L6kH%z7uh-yeJMW`x$(4 zv%-tJClOvG8woEF3xoT7C|*=XW1F`ytQ)`!0-u$;efsn3`t9qYKesN)BKCY+_PEeK zvI?-`V|)LE>xp?-QreHXuR0fP1#(tp$BpGrUK8$@ZqYv9kau!ZG!OB`@A$rx=iK$jHn?Zoc5S%F znXzH>Q;D~K>!deqK11;7Tv6X|U;E~Fkl)|&>`0Q|zXiPh`yjmH1jTJZHE)d5NqwE;-2J6&SXC*`rJWYF z{y?I^^U-alGdGo*ES=2mnFj20muxJ}y=+jHI&by6=Z`NhF0{Dc{rpiG&7VKuLn+zY zpFc-v+yisbuj|5nsH^DJCD~%UoAh1b^q(6->a5Qihy5V2urJOnLj5ago?nS2R^fq%K*E`=~UvOHR*~#_tw-=dbn%m5B zuC{M2GL5IUnKbwBjJnjkSaYd)fxqwn<|4Cc2Kxxlrd7q-m}YJK;L{In$0pdL^=KaB ziJre_t^Bp2F=#@v+bHO#Zai@5jCSSZie$0h662jrO-C=c79GVkJL=5=(7mfW`X==7 z%>aGH_Ckv*D61TszMiQaTuDEI?Yj5b+7bP!BzpLi@^N0jBN3}~5_J(r?Ik#~DN?tl zT**03RgG)PQ#Ks$Ox-lm5zSBQNI5<%De70;n_vI--|Tr_#3>sOls#XtP~XkK5oO&R z#<}9LhR$+2cDFO7?rvvl!`)6z-KugN8^DN$Rb>-fS8l*&pqLEBV3>vu$26{VO!EpS z96N+FrdE}sjjPJB=2hj2ScMabMVv0`d7#dn=iqr^B9?GI*oH197IMbG1G>C-6~?@j z#P=Y0_Sc^|4ETj1T#3BLc~OmXKKkpa ze>#P;o;EEq-=5xPws8MEf46Wygulmg_vNYy(g{N=3GxEP^IQqFJ%_oms&oo-PG^^h zmXWjAm%A}B$xh{7=Q(%T>Xi@iQgXJ8&D~l`vW6%Z%TatQzNtP)f2BT&C#x?SOLPR@ zej*P|64%8Xs!fVtx^qeSW>roylk^Gx9znDl+#`q|`?+7n!i$r@Q2kfMp`Byn(9{R* zceKvP)~2;mvF(x_?mCrNN$%0S@?OsAxu1C+jOUV`qB9Tg%nkCv6`gzLgOi|Lp9j&e zU1Thu4{pH+E^cmo+4dP;BRju%jdb?fS1Im?{H)lfHg2!S4yALCW3Igpbf@A69ZPqelo zv4XfWWN+C4(1Gs9nA<%DGKS`W@-X;07$m#cae{xUUz}?ME}&uVqFGlz>h6QB?mvLL zO6&&YBd+shoPD8l(Y0bFZ7v9pMwNHMr%}PZa|Zhzv!dJP*UGk+OlT#tnwx`RnBe3) zwM+c(KwhxWd*I+H>ioZigCGALaIotC7!JPl7vR8;?G2@&j|{Rr@?CxQMr`}04_)`m z5qKc<(m&qHUuXCH5&E%tO}sp`+M7qx&_DF$>Kj`IWDWAZ*1f?RT$2;+`LV*p-y7^_ zUvzzYCeK6G>y-YnrAR(P^vY{wGl8cqK`+!^LI+j1g|&RkI4*BJ_kF8I!b2;86B_|O z4CG5Az01z0^;|X< zl0qPxNG5J6`t`_u6h(FtAMtTPt`F)#Uq;{H8Q8dZFP=j^(znBF``mSUDe<-PN14;} zka!05qBD2lvNn$P5`6ky-%CCMPK!(JLsY+bnP0!{m-jtw1@z>*!r`wwPrtdq+*!~IJ zQ(SIre;4C0BtAdIxr1Cup4U@OvHIpu3yi&cYwBd=$dB(|(cjYL$_W`{1f655T%lvT z^SyQ+QHRbV+>)Ygeox>^aZTi!l%iegj`KUgrLzvlB=Yz{UWbnOS}QZ$fBj-}?b{1X z#LxzNRkc5tXa3$K%HG6}t+jg-v$_<9&&ZA`xkYQEXtQF&&E-U6)XMtg!;6JC-CXY4 zbdRHbGPK$nf5G(MiGGc_-EB5?mTkVPY&(9GmS&l+vqmvz>Z&>4^%QT;8MC_QdFsm1 zR<2@j-;nb5Wv>(C-Zky5zC@jIB%@2#f1vI@yYDbtzwd-NtF{V0U}8(0dd`ZCCcfI6 zuKSo{LaVo%*Ozps+0V`4%5q_iF$=h`Puh!YoX%GHSh9D}KA`Sm_)6?v+YTo_I@qH6 zI4#AA)@^pkROd{sJI3xa5S;t;H+-+p)G78m>4?Xj7TfGh;XCo=P{TM!e^0eAyEtM# zwr*sPq4)nDbN3*Wc`8wt0H^R*1^0qF8D!=@dN+XU$$;3ZPlH@%DOu7+`H+^XBeBSgwK7!m5=t0NBhmwr-guqzS-?|#cdNS<} z9lv_Yn@xKfzs7wYzvjUBZMx`h8^7iu`<mBe#fG820tB1G_)d-ZsX5TrnN+h^>NGI?4YznS8E!%Cf(is4?NU-XXhM zdWz=3J6D|RdCKCKWn)U`YmDeiIMHQu8Y$jG@h6HKt;oN3|C02t5?tE;<=p;VYWw#> zDVKHockw{~&K~R^vYGl922ShS^&b6u7?^`OL@i$UW-E1cv6oXl!V&p#>o}jI&tH3` z7qs-8(Re>?=NocsERlp?q*kMsxv^A{yt>;z8v&fYq_bVB!7pdkjIK04ANXdx_ssu(7OlHOzWtVoS@Dym~d4*F;>oLG&X2 z1x-lT&^yUIjO-yF*j1&ICK6x79mZ13@5emix5iCl{4)8tjvk4Q6Fs|hSu?2bp$+o& zm28nI9!{Ni-i;n53vXbIl&@$^VtH>>ve5I-%g~8aMr+dyvpg)hA|8N;{Y&gdzSVc@ z`R*?7yNd$fy{PXxI?M9O^4o-$#+G~EW%w@Zeb?%J*O}#;4QqkX^vMPo>lp7m_nhf} z*_Ur(on`T-704}Qu5~0EY7O1OSv$ivG&tIeO>p-VR_<}v!W+x%aqL={%q}IL%%D6| zPx<#_J^VpnJ$&VYzyEr8%U`e_n%IY&^YEb(-h6yr1iofo?)v8&^Ma-2cE%H zuNt~N$-`fC2>#H)mCS}c$rB&lXL;h{0RGngh4_=5D<}`1Iz*n(-$8i-UfMcS>p9<{ z7v2i3nV))c1!earSBT!mvL_DW(LLkI#UK1NX1w=*CKsA;Jpw$}L%*-Fr`a~a-7o5S zl;;QY{6(HW7I+@!`52yWpZXG`3j!D z7Zgi2W=w4m1LR8pImHq{L^CdO|JP|pMR&# z9CkE*Tx;;xI*RiT{@7;zi|dzMzujkdoz56rV?S72;ES z(TAI4VHCO7Mw5GOG<&SkmEOCF-aGb%quCR3Mq_@oUvK}uVn`mrzTMR6*QI=b z@2U@6tIpTDt{gZ&tsFhw_wt^yLk+)PH7k2J!|_e_Leaj_Eq>(!i%t1xW1jz zNg;nD2mfWhpBf9DQSsf5n!axa;OqSV5PVtyf1?&3 zt9t+I=h8>s`l=s~8BO7npSouMXleOtG$$V!nAd_-o3ncGdJ9$mlla^t1!rluPRyxBnMs0jlg+)_;}HV&h6)GEe9 zaoq0SOKZ{Q!1v8V+w$-Nuc_1Ax;9XD8*PoHt(sJ!Cri2XNc?igb(Us?WIKajBHxN< za-Oxd^GYWpxmGkH8CN`2IDI&VZ-$45pw8Dmo9X(}UHBo+8oPE8#{D*vX?*5nt$5MJXf4oBbFkXxU!@XynFf1~ru?oVN^WgL6j(Cq~NqQyWUvuYYm9CEh zd+{-~;4qPt{`{-mwX~Js`!B?!eZ1Ro9;bEt{qSkCHiI6)&coTo3mJn6Bd9B(_;>Lt zmmanp;@U=81N!dteka-gO6LzgiVt&co6aOvJYIc<@!%4#(>Vp=cVmF{{or}^b}#$> z@XuP07dO!77tfbp*2e8K&GWX;^7noW8Ld0BtapF-jBu&FQkXr7UqeuVe_cY*g>TXWv~8t;7{@3TBpoV!2Y&TRfezYpsSzOlMF#zpg3v7a_y zi(Q8{Zogu?=H}qI`F>xOlpRCaF@bu^KXl8EMJKo~^SB$j>JH4!IYZkD%wxrUD(>Cy z!!xus7P$VFc`Q6XJ1p9Nkw@R6ZPowd;qX#^KNN`)Cs!zrH`{F9X3e9nFOjR0t7+vT zb54Dm*{<_6xqpxQ-CUbjEHWDp!=}&uOrFo-ejI;~;r_~@_|`68WESigoHPF16Ta~I z9+>-K__?L`tVi$M-w%2hA5(wSm!OO~$&)*W=B{q?o(E;rg!k-^pWanQ{XqQPGV1U> z$f)N|spwZeF!9>9(N$KLp!{JM*H#tJ-`~w)J&l}VZDU=TH0H^qF=W!!D{A&All}+t z!2;++^7eWCf4xk4I`B=Ro=MQgq@-J)XhZgy`{=hXlm3w3_aKw5SjZW@`Xgxh8SR|1r(g#3h;XoqGr6)a66u)W^JbB;(9P)>U6Jw9~>hhilNTMZNr; z=4!Hc7amt0b=$c%(9UEwAb8zK0y=*s>mkc6^%niI?N~)ZrBa&s63I-t%cZ56)S4jlI4U&LHFEB%k0@ zn79$U_+{3ouqDTtLC7fbDQx^owcStRD-b&mdX^uV`eFS^f$LwtU5(F?>o4>=WhR4v z@kil)8}C?`k*hOBe4G?#wnMpSq?hb6t9IP;r|SNA&ixiRLf!P~cOPyu&v2#KH_6U0 zUh=so7u1r|M{SRIh5YU07*V}5!JT~5#Gex6&xw;eCqa%Oo0Ek*XVS9%tBv<(t(MP_ z56AP*48k!5IDC082#59uao|v{hC|s;2##nHT-*5GrK2YzkED=IL<^HLt{laBx(hv2 zux1ARt>RvPTp4_D@1}KlZ+o|+RWIYJvjydcC|s^+`~&{u!sYDZ7RD&J7u<{vdT;gJ z<-HHa)o}(>A9%2JudjY;4(Y|rnHPv4>!yU&3KNG{Zz z|J?E#S0>EfT1tzSh)s3ZL^u93!ntwozV|PSGj{15nGD`|?ywQe1GnG9WBg9C9|-t# zs_a~zM>5QZL}zJo_8#^vmDbN}jP5yi&t1#!YJ39ix@juqGlQ>(d}{W=htkI5yZ(3sl)Zj0^+qTg36za{_0B;CziUXnL*?zod#QJ*y#0s! z+%f(08;Vnqo`l#Y#%?CEWDR&)&N$d}bm-5)i)-xJEz&W#ylvn03tGE(x388jmH+$- z=wi;77Ma68K-?|&gZSHUe`*Z+-o=Z|Lp;BW`#55H{fUh4fOWrHyQ*Ln4>Wqic9H9m(hCi0V3TP9m5-nWRk@;>s54E)IVE1R4} z&dRST%_%7N!r48CY8)>^hRcu#h}h=nYTxgAfCtvS1s|w}cGTZr6yem-HI=2=ED(OzzoIX%cEb+JsLCpeCa zX@7BmZ`}tB{`(*d(j(2G?3_T^V?BI}4_h33{6{;Uc(%s+`!9m-vWpg(4<-Zc+-`0ACZ6 z8?Am_vRei1OK0+*{i- zBahwt`%YJfJIB)}(AY;E z=^ST{#P-n8=!EcF%QWQ6vts%3nRWSc--b8)A3Y)7|AFCCUfa&^ZTyZO^aCe8{JYMS zPvDdGiD6FkV?S^n_{0_`dgOPVX~Q==wUm{AR{WB?ZU4f1k>7Ww9pt`?H{R_$O4$bv`o1%@ar2L@Z{LRT&XnfOKNdbB z*ujMh*%wWKHT*17Xvw*dvmbHZY z2l+d~{h3jmpZ>)~<_4ZG;69zdXL4W8z3rcg0o$J#Fzz4Z?+Ev2MpFI@fBpP@@{_yH z-?(Y&)%+c0Wo38%u6cBUc?-RQpI2gX4*hjnw%v1-V>Q;6=bW0%U~K5z?4DyozXV?W zScf356Tj8mSNzW(?^UeJIveYvI6aM@d=+)BuVP)4ub@c3ADh3(+?znh#n?%|Abucy zLGTPK*+dIpzjDCOxL`V84W)_YA%iZ~yUJ*-c-+G7#_0%lt%q)$&N(jZoPl`+u*ZS@?fnM#si6#f5V+iU5!E}(%_l_; z6!~~--$IUAaLySy+!ZfG?kL+n`RBa-p7c2ARM?+IlEkN=C)iUipH||uwC5??HVEYskPFeBPNua)+hc@l8M5<_@b8-fZremY(r^GvoYs>%b?$M~3Ra zr+i~j$1NSW^va^agFIULXyCnc;O{_ZdhhGNj|se2|0L(?{r=wfAL9MfJbOC8D^@rC z0lcrbdlZea&9|X^4EVI3LY_zEN~tpKUcL?TIR^4736Jlk>!BWU^9VO?J_fff>L({z z#LKs#wK}LTf*r+lHmk2Ac>Ofjjx-8;QRn50Oq%Pgnl|%+m)gux+|R+DRQg4m`Q~NF zxZasb5qLt>;|a0@X5k6h%pgygvlpJQpy$1L!W;LvJmFXPF^Uho=JA350G=&5;@RTF zz`hT#%-#oBe&)gQ#dmgvWg4)I2bKeX#n&flPU|d$EU_$uaW8+{8F|tn`FcUc#Yz^G zUNFIYU-B`08lgeE&U|f9uPHd@|1ZMvDIX5jlH;l>`WD;+nygBhDpc&g?0}N16<< zAY+(B`}Q=yE8ySyo#FT7Jh1V*h2QNdm1{?Lf-kT z`^?zy7xO!xY_h-edQP1w^d^!=D<~UEq`RjOa~g`zDv}$rLH@p>gH#W`6rztT_6f>Q zqi380n>lS^9&#O-5l2siG`8G6sS#K%}4$&10hv`mYMGJ)@ zGE85N94WSZp}BWrQat9&o=VyW$GyV2>Aad}twsEb>*^`5w!mR`7cxL7V`y%+Y`L*Y zU{`yBcM5H)oM3kAWM7y?R?AHtfcq35?%eL-o~b&3xiYk@dm^?4JNBK+ZT}<4DHb;1 zdJ4G2`+VJiPj8BCugC#Y>Smh_jExz}?a z!+kt=;ye0k$fck>3-QRrM66}(?p4$WIvu0XdIUbwCtnP;5J zg@*hMD|o)599~En+6_^z0w3uxWh2C&RL%=IlXA#Q)Kf{>D#}*4v8eLfZ-`(Mj$n5& z`FzRR6f_T#neGQWnFpPk2j|*(pmUsuF&8usuKFnR78*2^jW8#XxooUdD3k7%E~=8T zTlxw1V!W@+EFYM^HqMgytGYUyp+1mp^aBr;~Z@Mb0Whqr{Y+c}G2chTb>% zb1ZDm>iN^ootv)Ne@XXv@{A@jOL{A^Q@f+|bwYykUK48T9G8#a`(B^uD48U3esVdy z3tb`Y5tG~9m8Sl*aHkksbV=^Sj7%_{k}j$7x<4 z2Od?vI=6BFkAh8nQ1wotzDQ^#@OG4vdEl{opXD#t=lGjkNTKZ6y+4DOkSl5zTo_<9 z?D>?(#3ZJ`A7&N*kvTlM(B3P4ZDFzfmF{azY1pjJ?c#~7^L5zH`b0Of*O?6V?~L|3 zvx^_1uj1pAL_^F&{B9d9Ull#k-%wsSnPcfGN*gglJJ3`Aq+QnmL;d0*!S&#`t=@XD z8@{S~{y-h#tI<$^uV!}Tt3I4R2On0?&Kd!I_dEjKsE-Lt&u(0xPZKG4)5K&ac9&W5 z0j!85jvYh=5OxOC|fhW#H17?qZ~SN$=E9zWW;VSl6HYYx$y+zOCBPI^9>tA zIFUuG0vfJ>hjZO68oQXbPN95c%98GrngS^Hjd=45 z&;_3g=dKqz@XZPIEm~-kIPI2n% zraSeqlN~ef(Q>Hu(Q>%)QTP&d)je9SialC>9^8MFdLQum_Yv#_k<8TYQ0ipj;La+> zQ-#~Z(AJ05$42@%>$-tHKGf*<@y6{B{mp&6e3w2x_#S<%_zU|ONnJyq@Z*NZ{`pD1??P0zl`eb;8{zA9*Ox;*w``Ag-AuglZOpH;tWRpF@do()^{fXs zl&67@%6T`iru@1*wc!{i(t1NV8v8Zt%dgAf<{MZOt}j>B9qNp0Jltt&KEbK13p-VO zmu#$b!sIAAq%rJFX}H_zYINh8rq*pf16y!ksPQ)9d!M0=+sY3$rkr8(ZnNuBxcRnn zxbB&9wDq=fY~gLJZ-+YD8jo=*S!d#Px0S0KDya7u=;>a^bP<0>ykZ)-Lc|Ow8uoV* zjR|6p%|Lu$kT(y+bYT$~`>w4S;N-S39GoiK656~v~ZKk3sMlGg_G=9BOxQ0}S7)2n)4$ByyJ z{{Ic%JV*X$b<-)I-n7|S{U|aF`f{!NhCEFsc8rs*BW@R+c9*!o#|93cfiV+Bk*wv#nwBLoF|dnwOWut;>l| zXRbE5b)si#ou*jtKs|$sMb=5n9Q-EcSDBitk0qulXjM@EHiI+v7c^W=8Q^Y?}dXH0?oPK71- zP9p~!0Me70ETFJM_1`Rm_xBV>(GxJIUsak>2i;h{Fw*jcKcNc?<%nOT9%4whCYeuR z<#Izm9^@11Q%Za?30=^i@kwZ*Q0S3wyY?KO|G6s{vL>4hI(OC&*3FoFVB($91#6F( zVP9t&5J>tYQ|e3@J>zdH6W2@jLAGJu^d;%9m5H<9F)JCy&6!?>4C9~Gvh^dbOsuk2 zMip)5fHCdL#F1p7r)!R6Ib^}KaOCc3$J4fC2G#R0byS6xBg>J4EY1Fj{gOd8R(+C% zwLkM^7|k1lTo|$W@RiFeQ~Xcnb(*slT=|*r)nC3-tf~BQOo2ULA>XSpVchH<5Pr-Y zVxI@Dlw(qG)OKngNGvk)NhADA_?ra&D(Qa>_CWC|@hGjy@xb2=_@zj;A0vDPa4G*Y zlXY>av(zju^Lv&DFZ6J!vZ~MQ2A7wDOT7=`((Wt4WsE*tP90HjsoZRw(?i^pV2~ch z#ijPWEm_&h&$jvdg)_IUb6I=bK7*UOqiB1Nee&pIpikguD18VP(dx1L(5Ff7(WetV z`q-sU(8n%)@?>$*hvF~fdv&h-g493om8Ac}koQGPlKGhzTO}_F$95i2#^bjG^Pp8fOzi_`3W_7reA72Jvs3tr`b2<4{p?wsPscvra^Jo7G|Syh^uU)fs? zew)aDJA*TBg8Zu~u@YE)eDQ8K_!6#sJ>dxh_#&Sy^;!NUd}Xya#J&i=PPF(UH*_|L zFV*epH>X;Bt#t8~T?xJf!!i$F%4IBktt_d3S~o*xI<$XI&y(OnI1+y3r&OI;+8w2T z*2fWih0qC{5}K_%k6T^d@2&&VrTBYZ=>I#iw->iDV<~)2sq0NR{$~BF*l+(zt>Bi$6?RB*me9)6`r!{Oo!YtKn|NajhoSaWyzx^(wNF)n5wU1UyJ<*$Ddk z(5JCE!wcjSG*mvBA^9XN{s>J_k96dbT%l*p(NSd8f8D(1V^6f15+qzrI zp)B7b-IuiPcU@9upjA7Ecek?Z?^YwxC<~X$o56d-NMgp9V6; zsg!+CG(aCTFI^hwga*iSyN@)$w^LfYzKaH=hdNR)2p)K91l_A_93gbE;fD2P(Uo+? zmFQwa^VXuTc)mOZ-HOipLuc9j2>KC&o+c7|zHAy_C_gM+3Hq9N zD!grfo_j?+SxDPzOaJ*@i_8ioxt8tzsYa0n|!;|&UW+d z9tf;a(?OmW;7$tmW1KPQhb7M(fR1;}MC2ayn&MXz6YxvcZQbQ>F_ALXK9p_WF58gF zw{O=vs5NC6{nwsUwxQ5Gev`95+5jH3pGOZJYX&b1*Ox2MCx^6`Tgd)pUcM~5lFFLa zeA(KP^m}0*7^$~mEqW&MfiO<8CxwM8-VbYDi@xGGCj`Etjl36rV^gU!?1aIUiFK8& z9m=cA+NSiI_G$zZx^d+$BO6IMMc-nq?cajFqMXwzyN2eejpfgf#~R;(+j&<>-q%PH z-wYOYtuMadkTDNBxh^x*}tvNLKL`d-bvn#W&agnF3bKc`RKro z8_Q>5$5BqR6!4i2eCo*gk6cp6z8i7ls;k`kTHzh84}@Qz{2>m+C)fAOo5P1HE1%Cj z;odEz(l8O9F1xog`x8JS$~StB@u*`;CG3aX$1(WXhSE={4$ z82%ve58M8799Q@0&{M8!EGgSjQ`y@!v#` zScyJQe9g38U)Fd=(EC}vVZ$@!`AO!i@)ANzk;c__d`;uimN$ms`!0`LUG~RUeDAN} zaf#T-FS90JCY{2t*>4WmDSR0^oRu#wdYc0LzmvJf`XPBh=fg(0;#}yB(GRi5O(4(Z z-95h63V)C9&T;S^*q7RT1zC4rs&RQQx$c2unIk!1p{(k&a$OFX0(P%QTa+7~y-;TP zfE=v3;>&eUP)8)R9GMu|9=R-{^@JP(s!uYV_*cf;mue5^=OT-F{KoFr65Yily8bva zYlXQQ}sescgiTSJf}%)oSRcD#^Kd z^h@unvV;B7xhQ_W*4jE&V%J{Y9YJ1&7bCj@2k}IzQ+^~ikEP&;JzBZTT{0dnFAY2 zY;E}=bg^-CbJBxI=PG@t^q__{F18Sz9r8l9^>rtTJP>PqzWl3>jpZqguD>ucDf8qw zE4v=jIt?B0<}ybjETl8N;^hl#CT~8!_CNffpOBCswyu${J@y>N9~ovHI@-<7P#QqiXlUg9O62h=9h;pK zgm37jH8>M}|F@>Xw`@ zdloR5xjc)qPn-))w=x$+*9m0whZ@P>haD>duEGuN&g^D#a6*gQnA4iu(>gXk6>k)c zY{ovgwwy$^o7OtfQEouxV3MA+vh`}_`DUk*{?ebVi{)F@y1HDEVvfwap?q@dM;tTn zZs%d<<|E!*gbrF4P_D6cqb)aL;rE=WvJF$dvUM5dzdulRdh6z=q?@j8J&Zbj#&yTJy zey(=9&1v>o@|(>cbu#+MeCcv>Mttrc-24$I^ZcJbFde-GxyQWx5z1*c?YnR8F@MBK z3kUN@Jn_Y{-*t{##@;yY@q%Z>4voZ>8>F5=HpZX2P*HEymm>P~XiQ~yBT za(+h>*Y?_W_^r0yn17|2KwBvAQvg z`D2CuQoot;qaDw_9UeI2W4!ci(7Vn<8j~gubDnu%zACw~^bY>v;RLdJl6`ebdxnkM zIrE1-nso5_UUd4%sD+-XcfLh@o@9BqkFt*h`zRmDgMh&XvPAaq~aeway>Cc=|S4C zz9kv_Nudq3qc)DBFKfv=F_yJVy1*Ln5lWE<`%rRCF&8S#t>{eHpK#fnXJ#q=Am-3-dx?O)hNax8K5_|1; zZVnG*20IsS=I`C*=DO~W)iyU**T%M8;z@_*_RCWNLEi7@1R9zv zC<85vhJ(3+#(K}3%&xqD#M|%Y{phBxUQoKEU_Q$;pp6mmZ{-TgQO5fJk{9PJ@&?Tx zeTwD#^T}oTxdUCkKa<}Vj&b>ZjmP(E;QJ4g3#${p1%32X(uVX5Hcut{*asF2^8GV@ z@z?YHlYn(ke18)-@cI6?`2Ah@{hO4b zQ2!reUzvq3*}NN_g`Tuo)f>(idQQHjx<8X$1rLGe@LT7Li6$e7^)}bctIUryI>7y~ z+e}E2r;j-&9|YNO#j8@(GqeBC{eMDsjmK`q)^{sDOi5=%19$c%(S}3pc?>$|P3OJo zthf8=mnjsmXWv@dtlv5OsrY@berMd@!l!UB$uE<2eBJh6&T!6zFtG_vq+umGsg?K!t}MTG^B~UNV7;>_oKV1`=NcPyUD9NJ*4jM1?t|so4Owh z)QwKr^@)LwnD@Qdxl7Pe@7BIQb5`K3^c&h5@0Wpw^jki7`}1y)hQ>oDq9JmBcX%`eErmOvA?PT9O(6tLMak71 zi^VJ*?amfrY@L*ab~Khz=qG0B=SXr+tSpa)ehz?sE(+l4v%A67O?$!>cmh|w9XEyh zv*@g5u%^a*-#%>q_bqVOkp0m!bsoamjX7XQuzyJsCu#~khcUmc&Yt-_j50ZV1tn`p zCbM%tC3ysSjCU1g{f>ANUXViPtGxD3-re47;L~q! zB4utN-qi2out0l9?WVn(y!H17IG(+he0Tr01lj{1u_utN{r>$d(B7fDY43cmy|G?<2hrYe5q4wJ*$?zBH_N;8;j8(!y`=V&=x=_)bJ?Kr500t4zOC&BhQvj^1{{uno)g^D zUEqa#D6zU%_)T)vbB*W9g0nY}7v3<}?)WV_kuhof81uJMm+Dat8DbhToaLNc(S3C| zZ`&8H1j9!5c=6CR-5JS1IoYNe@pOo*3Y$V_(Mcsu}rFF-;zNF}_*aO^zU+$`2*3Z&d z{HG;j8GheyX#iV}eMYVu@h|wCc&7MjJNB{+ZK<8LbKc#~XO7#ojTCL9sP{2Xb`G|2 zpMAD*yMO+k-v(pSuYTv#x0c%TvQuP=E3&M0S|@-nmsr(%$86I-X5OvkM2B%cu#h`) zPlEL`F|X1Y*?4RDl!bRY`#0ZOZbmmN+Gs{U+l(G~I{Lq+=DX3Wb(W?zy65s%77E)l z1yf3=O=)u8lqO{jv}Z~Yu6Tnf4{tQs-3{`cDObk~e$%ELS!l`?^Gq2Uf_{vlj~1>k z0hiiSzvT;_U`YDK%3*!F5g1$wo5F2SmTY&**_aqeo9&VkCbcU0%C)- zeu!q#TNW#cyVBSW^#$K@3;D~ATVy`Q{WSgNdhOUn=7pQv>@z=3-tKSHZeFU2ENgL& z^){n9nvqW(_Wwf9ou|Lq-<@yog|E1FcAov795FM^bC&NOPdTmM8z`qT;`iF4E2oTK zW&&jle(8GmT6ysK;p%(lX81{=rz7xvCEvdk_+I|han6de{3=rOUC*?b}<>+Z)E@=ma6U$*sT_xA$sr+a;5 zA5I(Onc{olTRFk3&Hz8_ca9$P9p4vxW@u|DJ~syX>f>{|;7tzVb8VnZ5TEPIyT|88 z0^bXt%L3mI#pmmvcyD|jNqs?lHmLqR;PY_a`S`rR!)N_I;`5syUS#BR5oI2RjO#Cg z4*2eGG{lM-a=UD5Xf7Uz?!1$=LA>&i3U|$m*NrSIR%m#`Nc8Gw^~4%S!e>U7_iN>E z_|1rU+_49mc@<7H87f7%Op-W;=1{r1HAIYOsGOyK@=7%Ny6E6qo?tDP{@LWAC-h$O zPyHS1f%as`qpz|$IcDn*oNp|Q70u&!JHKJiS=)_ntrOpaIi|R2VYBOdl$z2VO-i43 zR`CP+J`KOmvX*tyuQ0YV!f=hOcar&hfL{**o?5<@64}h^-;un))5iddud!5AHa-{E@l?%46R? zp!`7JBxhpmfU@jZ>6cD&M%0bqEc6;@cQ(-eneINNs^NgL{7xg(anXj$osV~1W^Jsd zVWsnL#1DnvKFW!{bcl0TUDOHpeR#KZz3A0t*q=n%m*g8h!mUR;ruir* zH1EUMT1GhO))C~1+RvFfuf}P9iTqTJ`#Dk8i=TSFjE{4VwpKZ(Hey?lt-19cr`fYl zrui*9%c(E9?`FKTdBnqB+chsGoiBj@aW&{Ku+NQYJfNH{5W~uuEy8Q6`2fz*W6w<- zhQUTjk%EeA_j$DY13Y+)@>{eCSTr07&*2lJ$4{O|3KD>Eb zdHljP<=%x`h>3RNr#=*Wu3XXZWVyTU4eZKKmWQPZQ-nX0x}j82_hh*?wW`$F7hyUsQr!#&A8$-SO?J$L1l8qYn&J;i+@_levm zaTouZ#P2LJ!xzkLJJi+}(A^a2o8n#sx7M<#7Yi+z-~5oDzoP@cnvPOFtaHLU2K<`; zR{iUBr?E~TPx!XCZ@;nc`d0_oeEsW%i9!AAMYYw%iw}0s61rq;qt9djxAd>||FGD+HP+R?PU2p_c!BBs z_VYVmK4`Id;^akU2Y0>q^{<`K*{8r=CwO4Z=sA~qB#ZnjeVgOyUv)NXQ2*Mb=h$$X zw1+|;J%js9%CvBw!*w3N=W@S@OLW}E-+6wwbFJV~{nFo_*LtOi95HC0yVBF)`mhO} zE2fA0LpBel{EJ2wkz-?vJ^3kQ%qZ0poJ$eb(@w3Y1h?^*T}(n-&RU(R5yZ%V8xu@}@A`C8848eu?wqU5<2iTSjfo=0{U@MDmtZ%bDGdcE70Jhj( zVEfOPtNYL218mWKfUR{1Y%6vH+ap6@do2K4Q8ez&ouPQ!0&Ibh^)Gkr zx@qvbt6jIfchUHY{-$gPwxc;c;wM>jUvt?vH?j83P;QV+lV^XPO->Eh{`}`t-|W}> zNV3qQGC})u^R3E1$6C%m?Qbh7^E6}5lJ?KiEc{ptks zFQri(OW!p=+bJ90;Lh78I=r<3ncQ!81Mg3YXwN8n=hsV9_>DcQ80x4hSEZ$^SXO#6 z9xu+UnTBrkP790TO2qU1I=)UFFAm>W`a(kIJkKhop?7q_!2i|m#fiu5`X+v$ao$2X z#dYk7_OoVH@5Ymbas4-us+v@4bX?T9{+CSr>k-C+&>qisS}# zZ?k#;xPkM?d)t#8^lu6Blzh?2qrlzI%ZeUjG_kb%6DKj6IoG$Nj`Qb`Uv|U>b+nSt zzEolQA&R~{b?1@E_ms2ss)*@thXz~3Pp~D-;jS2r^SB3dwnn_1t&!xC(e20?l6ACp z$3Cq!=(OG__n~z1PmGJoe9m<4_?%g>V=QpU-(GTIth3NFnctFMihK*7D}I6fYu>Ev zm48s&EbmQnSKSi|$W{4#Z#u)-E8u)`a#e4PdMg>vZ)1~rYZ!BzwO{_~8VilPV)tL> zxht!>Jm2SUg6Z)07-OvoI}fk0eXFL<&%ej`N{9M;mG{<=@fus?uwmIk&kE!tbgORe z-DIBeU1o9JL|NfF&0V+_?UE-QnJ>RT<31XjMBo2>war{`!38Jf(RG5O?z2Z%7H5w> zxtJ!_sWTMn9!tBjd(_x*T+2Fy%t~ED>yESD+4^@G$CagYmh#w7M2iu8J!u0T_Sc;~ zGFh->^SzbeZgO^2=~7D*XZKu>o?=GsG{s^P$%2rT>6nx->k?0{wwLv&^26b zbx=QbBeRny%!ea8yi}iG**k-Kn(MQa*?b@{dF%??TyPmTKefe zz;H43tNn&R`+nQgc{fRIr`@(20{z#z@FCiM<&-!3KZHM=+W!0@q2iO1<3-JrYZ|5% zpEz+EK17tuZY$mC!BU$WlofV|lam8DN$m!valF6lfI*m2Ltr`@m>vM8qk&02d_G)0 zOrc{6#iM~IzYn-M#KX;m-N3Q)u!{cr02~vBz;PsSYy^%YfkU|<{IL62`sma9;DNw1F(orKTMm8f#t&|H#>pn!_e%<_5q$>(U$1tr~oX2Bb9aM%nx{9D_A^wJt_c;=yd|HoC_=yJbJ}g zWnoFDnk=mdKNHfAmd5M@EL&+yc1poBfSVlrl`GA)miO1z4$?{xFQQ-J9?n`%=zu5;i0UVt0{LMHdwtwF3pUTcxdqZ>qEq;5nwS+P{r^0XRvOrr418pT}YbtFm9@4+dX!n-uILC(T zr(U~XuGlk_>@d4{G>N*KKPTgJB&78UDam3 z;kA1{->t#FWoUoL1lpZLnfZZsj}NpvYe>6Qv^!-;e`nC{HMDu1*XC@#8NZu0|8)Hz z4b7xXG|;Bt@yGMzA#Gkso7v2-p#O|y=Fo|>_ZiyzpKII9WnP=N@y*ltxulVsd^!@{ z{+c#@oy(1s(K*CEeg%);=5=11(vL~cW74jF)aG87ZkF+0eBPDu+IK7k2JL4hv-}D; zj>xx}YOdS(J@b%7=8mtlnMvaonJpchQIT9^>Un3l9=WQ`e4VT13eK6~`VF-CA6z$b zeSxcaWt*9N@FMg3$1gFLtl*rPe^_KL<@xDc^L~1XnKO2g`R25o$#A_hHD}gyrMX_7 zk~1r~CUE(>!Zy$5hMz^RbcACMtYRO|{y2ktQporIqsM1uJCK~Iydd?$D=zjeR96Elz6vwz1@m(Bq`jrt_#NZwUl z(no0R(E6adeq-xeX64`$GmjuE7J9~nX`gr4QIK;tZvP(V-}>i)OXg8*bx;=|_)n)D z^$QM7W4}-$p2N%=w(v#QG~4I!^37-$4`NS2{0X1<$$ON4`ClwtQWPWc*tprEwcCA|G~be$)uoHp$!;;bsC|p_4OA~#wq3p$!?1b%j=$v-3|@Hv^OZ=jRx5Ys(<27^>z}80Cw@gW zS+*F_4dZafHA7srd-qr-2=G=J_h5tp; z?wK%}pDqt0b{=13#nt=sExEd{@9uR+CXZe(ZvL9MLn+a%K6oY6l-9 zeP?njOH<6sS1b9B@#et*uzjl)~3 z8Gp?I!Kpl_ngg;`i`P^$2V}24l|H%WO<=FiqI(PNYOl8a;akoUuH&470e{@N@YgV7 zJTZ^{i@dj%zouRPstW3_01s=?8&&-iaa@dDBW+jkdt&0W-YMA2G#9Fq&|Zpj6y)=m zIjA%qeT;JDh#y4K;s@`~-X?1K!PyoUYDYL8pJ7i+JN4K)e4bECj=M_mkxHw~Umg=S zmHK>olh27{%5Ak(w$H)-nod`aoJ_xcIaF)&fyZiXUfKKHi&5(XD!dKn`JUvFddd!6 znHpjfRS#p)u<}vVj zt<5*!(-mP(NYCJ|%}aZ~Kdz#G74#uKq4-APlK8!AteuY=f6g^|_UeO2xc(@TM?;xH z&y}x*k?U@@dZ1UnP7GrnnGM(^Q~iRt#gUv_ExAXsqu`eQ(GU+9AvRDs8eM(f-?kq% z*+MayMK{J(Vb<+n&h~tUvH0NUYFOW_+}bPpJ@xaPWemMY7wP701fDE1t{E%rNDBddy+k97TfE+iInOQH)|H{VO#U#TkH1^wS->0i7^ zvam@#Q~H#*CsNJ}*>5D%YpwT{ z1V=EgxmtLHmr9OM-zC@Bb4;*TMDZ&MQQqgRd*ZnoH{m`~V2*g>r}Zy5e#&_g4vZmx zSA@Q@1<)EDQf)Ivb+*wb^8Q|&wUY{a-F2hGi@IFG!yvtj4Hn?(}$se>T*F=5i z^vIs9u`lwC%Bdcg4^JW1eHr^kVnd)6a5_LEFM4HFPH+WjgJ+gDu)mG=bqnHcLEQrV z*s6Z2kH^!$u?1ktcDw5kx!-^(Cb^pUdFIKPR(GHrz-mYHgz-Yo&Gf{wQwU2;1E+Fy zK%bq=*KFaKP;MD>3fwaPbZ&t1eeMpoZ+{TnrU!BRa+)*5(;K&k*l);AEEwY4t32F_ zc5b5YoQG&}Th+O3uekN+;kA3g?Tc#|EBdcF7MzDy4Z*RSbBkPPlpD+|@NQiHj+nzB zuAM*c9KiKU^tX>##IDdHGuN>9J?*Gh$826DUe_c39_bX_k@tlwoYOPrMjpE;_o(?d za+Vf~pY99Wn9&!mCa)oXf0DnO&|8Z}L;Nj!o6bD7@;mzw+2GkrGY-TtCD$PTaOM-X z>L|AAc(T2eHA|3XmzD6L>eHNrk94QmE4cbZQ^8=PTUtXoa5>FEA~zChdW>PyIskzS|n^gZ+m;NSN? zsm)`UH}&-GkFUC8wBZc5UvKjFUFe1Xl79UqV|4f5p+DsNEk3G#K!>l(Z&YhB`*YDi zg;~Bsv=>b*Fa4M@&!H>YYu|Fa(qC}QOpaWUS>=mVjyu{S@5b)vaDmrHlOr}Vn}@F7 zO^fiDz0#uA8NUtDY>+1X=XV{8Z!1^JF;|+}@FG)4aaQoqJ$7fI=l(bLO`j28|JUm? z=B59>`i#$=?&>o>t#>k%Xm$f~ z73eZdRXg*ceL!DDYy|i?rzoA)AK0UI?+EuP&xvF<;*{8GOJ}pXG}6=WD|YFHeJJzP zK9qTQAIkV^ny=5jPr9_c<@4|la`}g*Eshv_>yV; zA%>4!WNwbn-~0o<_~JA0Bk6Y!qz=2*@mu=v1Nioo{)(G(BB zeskujd)Mu%&EL|Fc!8e-=$jMJaUPo6<@{dduTj3HN@O1SmW%FOo~5&z(YrH_mB~U+ z8J?x*uFmXin}4=e{o~5v|DK!a>iV??+I&-Kt>J#1%3p4E$^&&uHhj_6iOg^Ha9*A1 zrNn?P-L+2YTG&p`wnw7Kj>L|W(@*o^s{hB{+knYcRQdmPdwO2dnS@Rpkd2@NM$IB1 zZ@wXDPdEL`Fypki3$D7X`F*~1@140B5)xN;|G#~n|2$7UHGOa0s#B*6IYQqOempJNL!{q$Hbl|sfA2l!*MInc z#kseZK~}J)k)PK8tM`~UzvXX#kNGjzX&>mPmM7FP&ZF-!uMWKz{f@rJ{J>{MzSkOS z^gZVP&im2#n7{vdo$>tNagX_VJ6p}Zm)gu4(r3C_&6(-d<^$x{f3?+&<^ShiY#WyO zv#{~i7|#1^j=G+GMta6R{ABh;J-pK>vfkhTAE7d#LR9w@ThB zP8s*Z=DJEvdfiIP4TDHtA1dswf&GSR`^KK4{M)-pKINV z49QP-Wha}BEXlI}KRch`x06|4m_e@fC%l;TJZt1Q{o}j$(1v(XwZE31V&V4In~5ar zOvdtP=qtrUa+@6YIcYwf4Mm$s&px1GV6*d%3h z(2xB_cHL!t243vM&6EFdsqC?vZ6Ch|Pi;(L7f!40B}MIhRhTV`O^vMM9#ymcd2hXi zY(UOe0-t9~v9ajD*ZPvT-jYpdUsLs_)@`%T9JU zSZhP|q-f8Cem@?9b)sNR9t`WxL;g9lEv(-DC9)UXdVTsF^J90Y+I<{Q_yntRFDklgpI zHZT6J%~X80)jV-stNC_ktJy^UY4X#^k0JlnXIjmZ{J)9(Q0t_+MC7RUeILXQ^IzTf zb(x>gHe;8@^4JqZxGUH1|=D z>{qw54q76+GV363?n*Be&v4?4*vHMnA6YB&JBTad`5atqeOaRDwwec${j&W8`-|A6 z3PTN^ek}cU;naUT2#%}%2jTcp0LQ}n`-xIIu-6^&Mfm!$vb!*^@G%KuGHE?hODrYb zC4?*mSBr?*%R0gLsmC5RS@_U-Yy3e9;suf&qABsfFz%!~k9`b!Q~emO~K zI@|rXYI81U2_#$oe4^x}7yq`2e7c*p_!wSuz@uDn)QIe9ayOT5bSkhTb62opP)M#X z(!En24M@&BTWJQ*Dn$lex4obkfVMocU3d8Eu1VoZd%$N>Msid15#|TFE1-ihSeom! zF{)}4$Y|zljIy#5Ke`d0#?*NQwe=(ZH%7h$Iwy3qJx7b*Q^V4PcaAohCXOTD>nyEo z!}It)iENhLReQP>!hya|BJYs6j~v#9WWP<^!G|q{_U7-}4&rwd^|2 z+W+N`B3X1zhkPxyuaUBMb2p;PX}zhnXO4F!;qjeme6M}hT4JM{s?Po!e^NcT)b;3x z`W^JGf&WAea@1DTtwJG_^_c!?OHCAIcWrs9I2Nnwt=N0~wd~|(Z zpuEa_jk7{uGaLGK)<@&`%#vz+33J6RY%iK`=sO&f;=T%#pS0__2r*;X7vYSQbgEg5 zpT7Aq-=Oal7eR+lvDY#^+gVV3^auKR2?cgbM; z^Kr3aukDGvv6+JOeJYUn}^Y!Nz`z-!JOkLw&^z{f{!I>Jr_hS-{|Ohg-y1 zyWcf8SsJe8d4zqu8khY+%FUu3`0;?%AsJi!cHw1a>e~H1m$42>`e%2N%n9)HN!nvC zuJ2LiX47NdJ+RToItwold+|~qf84JVTZ#|XXqx|l=AuvYS5c+~T_>Q!qUL78qxlbo z=ukBOlc%8hq=ygYp7R0pmoxmfR#EmvS2RB|zeMw24YhR{Wn@bZ+S(UtYgwqRc(k+s zmY-A)PV;@XkM(`<7t!7{zde<|PVGTA!5q_ATyNX+V5EF(b*R0&LhTX%Z+MQ0RstHi z%%>5>kQ9x0G=FXXY^$po^Za7`<4Mbx;PXuS@P(_*1*95M|Dx6Ai==g=;zg^?w|N%k zkxmZ0rtv+3zec(|ThM9HqSiy+9We6M(w@$C(gya4h>=2GM_xx>PhL+BUW<+ROf_P6 zZ%S?_ZGiu8FKw=_WX-gpw8gw~K0Z<;UIYBz<$KnIdrTI-nL>t8XQlR&p>a>2;JgrJ zm%w9P_JS%c&2Gofg8#Yiu+q74{}?yd_Ym(JGh1m}=hDo8i@m*aZFc|WYGdzDM7H$p zhc*NK^B_5$|6ECTwqyGv?tf>gg8Fm@h$y28!tGuRu(>>8m$nPn%(dbGynq6?x#OG;PSAL-3{&EE|594hU zY}`Z1O2sFHmSA`6ZMMbBCT_l2jr^-ld(Uoo-%0r!B2_(AHwa&s7O}?0x-$5Z&#Wnn zrpG6VznAvn7mwwCcz0pKL%sU94=OHH?iz| z(hU_WD}oJx{oR>rm$fMC!|itL^!vJmd}zG0-_Zo$$60H`+oR+)_&Uk=R_o{cjyHo@ zml%5S&O!$~Om&>kGa_{i)i-x@pULK-HRdy8=k4s_PUkKC_cAuO0&^zaUAijST{@Zl)1Gu^X?IfoUEBKWc`m#jgS-?? zXpHv(qhz7tASE~54SiXfzec}3*}0@R-@-T{e>O7Lw+$$sesdCk7w+#UrI2X`eQzcH>~R}=Xov9)8yPqQCdM>N4}E0o;*V?{qZXDM)Eb}(j#?#@B-k!fc_wV z2V`f3w(`BiI+FYb&Wa1zGnUQZe-ak8m$WuBZ~#6vFJ!}L;ViZ65HsL4btzAVy7zr& zA-bwr$ehw#(mcAA{)uM@Pj3Rp!oTpoZ|Cmg$d7Bne!e*Yy|}VHVP7%p`?oP>lCgHK z;rCMGZk~)k%ETJC-O^1B_0)*3xEJDMiY=Nk3$GV!tXk%14YvDSqO;)kt}pavtUmy} z_NM+?#xovYUr_94@v?E~5rV0QvN{8yn3Us*Tl!h_&d)L)PSSjIsS!*^L9<6$4q4Kd zLVu_YovpL@3$1Z1ug+@^r?X#t`eyE-Kh#<%Tu%I_GhB|CYG&q5@CWWAjlHEj*7EC{ zhGyG4pR&yBwU!TaXC?RM+)u2vbwk?Q3Stg5Cb8+{xtF0=wk+;OgReP>3&?X{5MPTV z#G|?ME@8f@F}^A4=5LCc9^>4)U$KY+`D1!-WSnj+)w)S^);uzYZ#wS3S217b^uaqd zC#T-JUv*Y6zOu`WM=roO_h>yxdv;wI$n`16CB=(#l05hO7g=zVy^~7!1xC0(P`iVaEeTX}p z#4}|p)*U+9C)1v(WQKvhz4h!O_I`4G%PFgvXYq{gY?mM1jU|_RgqqwNOHN`oYdq}B zo*h_tll_#OHJ&T{T~fU9)D!Zo0edRGptCZ|igUq*^xoz8VM^AVDIFq3tN@-#cU~%A zYGM$Zt}bj39t_pOAMbTWX^fB0D05it1%5{O>-N2#dE@P`T_~J4N6k8Hq;&> z$jMxo|6!K-o;AE)DjSf!o4m%~E57|$&xcEPR_m9R(b&Sf((+r*BYQ=-q(4xEWaF-+wb{gJ|d=8BxpgTAs(r#Kr_2e$OOWsJ{NZv%Agy%N#e-hh(5)fgmr7dSckhhV ztL>McWBZSvR0aF>Y57aB&kEm?KZ*E65aU*H#^!5If>Yv56e8g0>(^8dwjjSHzwY9H z`G$zr@pZCmx-9h91kY6rucmBgp)t{E{fgyZthuH2;pbHcyjyzS=MGWFXF_$9S+^*5 zV%+uo<22tzV`_5_*(en2tep1Nq>6Qx#6Ho2Y}4LI5bNw+?X>HED>>w1p8zJi zH@=2<@L6cW+C}Z0P~DBtV3Kpb^Pi|5{Jp=1ib;Rs9JAo~9eSp|!J;+{i`LUW@?l{O z9=i|w#b{VsLa=Dx=vM3(0W3>Gut3DGfaOGBdD3s!!ot~K(enK5J!Oj0@=2rjE1 z(T?gCuM|z*_IUN+qER#{SQh%U5r#!)98dCL(OgL$0+yRXuuP5V1p=-6&-5To();SfyP#W))=TGdZvkm&&T8`rX?J_8*-UCC#Ynea z(`v3Jx$9cF%CFUIUE69tMv9W2%kqpn{lfPZnppOHhi6Xc4nv1$5uQnZ3+^?H@XX$O z9C{XwWgpSEm7!;qJkz&Tp=VV*6W^BZWVmZNxZB<|WX~ry;RR~jX})3Tfo5-A=QL-} z=T6uQ>^h%&mLHtyuOnw>&!5}eb3t?_^(?qy=z9yi=g|e(N9GX^xN-sYaL?r4W#043 zW!Xp0TF~=o)iUe_tGKUumG``ARrV3xAsOXaum8-f%AQ{t1BRGaMmVVA_k;d#^*_q* z@A<#gca`7k|5m?M{`>y#;XcQii>$S@ehcfko*v-s7c#7|6~Fdu?b2VPrpuN!!WkfK~l_J&;XQ1+y^1Dgl$679psbSHvYBz+{;2T^jSeTnsJ;GW?IljKZh(mRv$ zPU_VeP3bwT`O&X(eG7Odosvb>oz zM*IUVvG$&*J@?}I^Q&A1dN#^)1NO!N)=KvGTl{aeP8ENySi6=p3*J51*ba!((^(pi zEnqw}(ZqM+ofp5A7*}sStLV6?{2XjeH&%?vJ6+PtFSYvXwdUHqaiMQ?bMepnCwV>@ z`qsO<1%8%fjfIY`ang8x@2y_UsOn66UVW#sVIOY~&0KWC?G%-%>m*LTKyJi6C&$-@q0bUcf$%{$F0>CQXXj@;WL9d;!$TKbLjrXTVy zm{X!c=pCob8@k3m~*Vvu-6Dqd;zVDMy@tQGd#EO zAN&rTqM?R&!F>+nefaUWjXecFh^I$jR~w%Q!OmIbn0z<_*tdmXFIav6?C@a0-V0B- zRA^%Q{W(o^L-Kj!*2!_Kky0DM9M*^D|qxQA8 zAfB59X7RsD`Y})TIr@<}%6>E+Ww|=PJ@Hf7#?hb9E7q6B3PyelZtPcg?H+wXzTWF? zJ?z~u)~`N3@@*2lqKA4*Z}=$i|1|C}1+D?pBb%V$mp?7>@A1NKia4u{9nISQkJNT!nll}K`=?XK-w{Kg^%>@QI)|;!gR2_cB$0(l=7VIR{ESci z)=R^*0=+S|9?rG5Fom+Z=Qb$&Rs6J@=-0T6r|bXmm*cEYrD#ujRRZ}KXFSfQ-G1bV z=N9SUyr026|QJdyoI%p{lyrSPa@Nj}{cZ8;nKLSnRb75&N?2{VA0P^URJum7F z>W4-TqFLeL)o4~@7SyM5K|A&tbgQ#4H?Lrg`@=S~;Qg&8Mc(wwkPjU=cc7yda2bJ) zW}!c8|Dck3C7&9>LlbGb5%&%E? zY!+D>_Uc(nJ!?7V@13PpJ)-sCtb}OUp?$$I%iC8w0t{P_1zSqXEexW4#+3fnz8>23 zd3g)A^;x}&-*S;xSDyaluVJs`8sZLIga6iYzdz6s-=6hXe0w%?KJYJ-o%Ij?JdLNQ zn|^70zhuYOqi^xTv+Nxai;8EP$24yyeV%9Y{d*!lC;T&>iNyLs79F4my-&QXo&Po0 zJIFPE;bs2Z%T5+=zK-W{@-A}m_|4??6NQJ+XngCw{B7WPGY+{Nt=tRwCe|jpO7eM&^FGDeEh*p+Aaus@byt%+Xl$zJN^InR*4JN8dxU-vwJY=|Re$Lp=k z%?185`ZPJ=c;hHposD-E6uVyXV?;sZs zyN+Dr-9@hP-b}9X-bOx!{8n;}dyZV=eml9w{Z8`ffN?JPXT?^(cRpc~O|r3-I4IWqVd@5XQM9y(@I_fX|5GaQ3YzGNA< zyQJ^du;zRWA6((><2-*W{u;-zzwj>&o}CPNuxxh2+wFKhO#P&Sd~teXcXJ&VIl^d=>sVd^>}-_xbI@ zOrDUFv$=LIuf#CgU8qgU56Ds?|Ydv`^93BfD z#L1cag?%qc#6iA=*?$m_dU3k0(MjjsYn z2W2}#W$zFi(Be~Zd>J-zNA>p3p+h8{9#8}Ki^onaPvf`Y?{$~8 z8nd^}Jo?^N^VIj+%zOW_)tvF6R&(3QtBv9JSf0P|K%4o_yIaj(@@n$me7DW)c~`6H zCI9sDRGy1@%VKp8hiR9g1tf+9W9*J5>};60UUp&O%FKONmPb?3`>;fAJHGbJyDVhArH? z3SH@&hU`$q%&q2A%}pNViwt#5Z-8H6P-I&k}=cn7`6a zcs+F=W$z1>y@YWW-;}QZ)}M-hd$M16*0b%$d2s(VIFSB+COCNb)K|xWIRXyOVT`8l zX)}LX0?#J5=V8DB<6faPHF}yIZ)m`-w}bb3cl=4nPw*z31?6W<=qj~1;4+@fi+0pU z(T~P3Zi1$`%JOlZYpr77+S6^7K zq;kcz_^sC<1H^9?msj5hXRIV|Jm1K*lY8P%_Q}V&XTl@+m3d<%JC$Q57Ins2^VD%4 zEDAUBuc~LgY!b*8mvcJ6z`AjOJ(K4Z_rj$u`EM(>V-s~YrXI1eTW4i9mm1US3$nGz z2MN1=v+husWpzib8RWkue^B;H$ZN>87lc13?+#v5_BhX4zrQ;6RC=5r_GvFnUdDZu`z_08g!mG{{ z33t><+i}ZpC7;4E$Vb~#HAl2p=lLcc`m9}`14yR|=rnlN0{zIop?Yeu7eYJec%0V< z?g+LG@w4fP8=vEBo3(Sm11w((WQ1&q(G=e^Uy-+VUux4gqz8C?c?0!nyuJN8(X?z; zvMXp^)cO1grn_HujT)D|CF}dUe)4qIS54qUawU<{TE)tqgKWjj$AfIeH7T{X#E+df zVq4Q(kj|-fq4dVl_FDPiXwD`&?(ZMRd&!~KSO0!czRs%er^xfL{r3rE`m5FVkpDig zp{c#^Te&)7SF z0q~`UtNHHg(02t0Z6C%%>`YR_cEQhdW6C$`re`{(1w7IAm% zAAA#Qh^!~?dMsR*7CnEUTS_%u@*CBjzvm|*Ju%9CRjN;Oy+$xmXEX%IZNM+u)n1zB zfWGO+M$sR#Q5+AfQPxMoyV?@of5><9kxNPD!#w7J-qj?y=PGf{#G1s~$(6zhpTO>1pfX?Hz)PK-A+pfMMGN3zq*x8wUailYw9L7P$f8V&XJz4WUlE%~CjckqAv zzxaq3vqLcro(Zkpf4=^uL1c~f1u0)UZqPe_(mkZ}CpvdByI~hLitf^!=3Q3y*0P=% z$J%IobLUVOd%fT(){->Cj$-Rr?xo;&m*s!*FYSgO zLVL`+!<{h~{fj@>K&#$-yw;zOx7hipGaH((nuD}weZIYNqho}6^H*yIl@Hb^$G;Pw zwQsbUADrK69^Tbvdhcm7OZolY3tG)QemC&kC4VRRjGi|0=kq8}{-cGhrswNzW*xsf z$O9c`c#WO(Z4&Ud`ET>r*lE#xs)*b_XpKE_qPNC=Jh=`SALhImVG#>00e2)st*Km9qie!~So`+-2O}ap-zN z>uc(HJg7(Zh&X&)cQFL|>tC{t6Tch1j*~vwee$cXT^`qafBjYwvNLHNX!TJRb^$zL zeLB#~Ia`2?2Vc^y;WbvbCeMUBlW&SSM-!UAn#C z(p(D96Y0Kz-W`-V5}#CCsx$a5tQ!T-&O5i&B<_OF&w(Q;wnMj6R62qU1d7^WX z_>VQPw>c2)h0n(CD^(_D=jT#~1n}Hxl5H0iBhxnI*#wSNCiGh}@)~5>R?;=-SJuB)bx1Fe4rcx9uyZLEs{Bvb z`}N?I?aO}e!Kw2k0q@lL6_0ne7p8!tn#lURJx79m80~E@=(jP~(HB4V9KO4OZdHqJ z+7vxzUHw>!F|Z)g{-n7WzJM>xg&2d+5UI z{82N;$^q&9I{z*hrT@#%OKUgBj)(m6u4RpJb7^|lwd|3RXFCdww52tgVhJ~)FQB_N zbeZk__1SY7lf`|qt;r`(yi_sj)UL+l@N12Be9~zjIMjAsntc`jyCco7=}Fxka*6fb z(ESrNNzL6LR^!2UP}~XbH6E_Bseg0IWn4E6$7`(2YRoPv{*Jytj{~a5_JL>Es~WhM zV!(yh2v2qFG0P5FPkzuIJioQ}HqYQEQ-cTlvbp%e`blpmEN&` zd6!~^$w$cZRjFhyiuR=+xL-eXtTJo}wv5K@)@!r|+VY(ClrR3n0c_Tn^bHDL&eL2m zuhlI6a+{em_u!a6y}%R!CfVCGUzq2y)xfnn=fR~rTviOj<=Gnrm-KMK^{1~1F7G+8 z4BO%am&ypPk6F03KBsj~)Xnu>1Z<-50bmRCfS&=^eP3!bJLdr3A@C)cy&Jf8hwydR zFkG+1*HacQ@A+uBgj2zl0xqqqX8-#ED|_(OM9+C;T@M^ZU8nnX3HQzPFSrj#u_c86 zGwEL={hN50{{5x&aO+XPR3D;;HUDuiJ-in<=H0=*&g?_uTW2#Y9fa^bLIhEOwK79~8vpOcqug-Z-##8?>&HjpNrvN5Ho)`5@7^DJFI)QPc$Du7y+`MKMLf!j zct1KG5*Yu4>B1Re0bZD)>wKUw)H5E*nd~-uwPY=#14DvCn5hU`qcZs zv`=3N`o!MVC!dH682T0XUi}j>!tI)c^;PifXk&u?Z;eA1$Xh4t@!3FM?TB}vr?N)S zoX75cCU`Sl(v8qpyU@|FeJk#q_;)jOTy2o6Y2L%9?Og`s-dSbw?Stb2cnjYvo|aR) zpFVU{$2HU?`>EtIXQs?-d)DSmXa;>{lg{W*uc05nZL*xF0}j=719jDO*)<68 zNOz%~5G>m)EL%$9I0CXa2e5P>1Pf~`?g*qg?uB6=i}s?bJ4>5dZ{)~1*Cd?8GS}us zFV)~KZth^*(Ic{aFW+PGIH`{HQ$4v$Y9uxBJ3&5!)Iv&<=8@);Ql!Ns>8V<8%g(0Q zQsXS`yz)K|i$7~aS9~ea*TMHE=>5vCkLmUHd5Y8)-xxUkaaYug&zO(!y4K0Rn{*LhY+jW{}uQYt;;k~zheqmH%SMgX(>!A=b>^G1+}`>B1TmbF8|~O?9>mQ~ z#+J2vb`$VuY@rQO9W+u;?vffwP5e%f&mgsslB9X0`J@zSF-d!X;jv|`?YK$z)!gy+ zMzCGD?0bS2YimtuFLZ-l!;c>0pq%!qR%XGQ9c$u+j2`QpH`X>bkj9y@bdov)NQ@i{ z6KmjLoWb9HmHzw|&$e?4nJ{XMAAG&$xHqo^M<7>Z2a14ujkET1zfWD2E_?(S)u*V& zIjwo7v0lfVf<`l=#u^($)!0jmw=&j;8fV#G7~8%&###FW6{|UP`;V!ov```XuZYdYOo!VSlEZT$r|1I=3FD9dWV`an9 z`F+`NkSXNyt(Tp~$`n)`ux%Qek zw?h55l$Pd@MfRO+c1h+A@j%2k&A0YfgR5x#o>BAx{*xYkM04lB8^jx-5ys4MMI#p$ zqpoBCaT=*7B04c0_RQ#;MJK{NFnK)N(;b`?cYGMnN43S$2{G$Z@XZ`^4SQLXx{SNk zfjgk;P8r(vk5LUyH`&*S)9@95j2pBiHv8+O_X|Iu6Du81pE6KyhrP!^>aP zj=8k~L-X|x`clvSXf_V6miC=ZzvaI}{2Y58(QIYckd|6mUK%xP{dv-+_1?P5OveK)w9h`)#Am>mn~(Mis;@l2wO#R}m> zeN1iymqA=4)vJBL?$YHN%glyS%-NWaCcXQ{)V^oK&laRpj4|EMOOKCY;}vf1htD># z?-U8e6bo>?9NgNoUCCVEZ$D!O-|pWTP5hOZQv+=Ex#F42qjrzM<1@SWN7HpBWF>Ki zth{?J+6ynp)1RER@jNddczjo_54@Wt=5ZJF&Tsj`%Rece#IG=g?_`D;Vmy-%lIT>i z|Lc*@(-XuSNa}1k^F77c(iE|SGM?X2wBnln7V40`NUT_UmZOIMwHK~)+&aq{gUk6;wkg| z=dxoB@8kK;cAqF(9yx#e)T6IFe>)bPUi}n*3!lHOV@${T=WpN7eVWog@8$e$YrL{} z`Q)=-appGWpSg{3=62zE;|_b~cGLMIXKr8fwTi(ExDc*1cPkRtTl%VDpU1G~s6}6l zXEc`?cjkC-SA<}#0lveXx&0{pZo-xz+sMcG|8DH-zghnY(@V-3V`|CwJ@;`l<264$ zaBur3Oy+BC=00-057y|5;YS_dt9#)%?oRh?^RiQU_v&dqWH^JLEzO@akNq#s$B`J@ z(mXvQrASlaS^VjJIQ^Q^5* z?W#?|a>#ZQv`ac{yTGKjUD^)jT)@}T&{`thY5n@7+c-JTXFYoc@qklae2`D_zj&$W zMf4TK=l(}ziTo23@98(}8~%oKM&j%8lhU(G&-7w=oP&O(y6S1CE{hLCmwf5lZES{0 z#@6~cxcD%wskU)Zbq8c6zrRi#g#@%B9&{o!A>Z3NSN9pFv?tjNUJ7v+9fkhQpj?!^ zg?u>nrNL*#WGAveI2pZ|SQU1SlD~K|@hT>tRZJ?*g5w~A(1Y>E`{ZKTZt&kyn}?`V zHVDBIwmnGC3gR9e$?hOuIVY24uM52rTuuN#>=TJM?)eb$j}jU1l7@c}BULg$mnD6(4LSzyHtq)q`G{R8g^l+oy6~6#NR0I>#lPUU=n5JZEHfYz6)$YF9LU1@G9m zh4-f{Ugi6zxKufOR+8VX9$cXPdEV9HYe3wc#y=pyMG%_} zJfp+piYahkv#EV(v|RbT4=a0boKJcsZpMai!+u;W1*`#XnnJL002x?EaP!CSR1a1# zP8K)#`zv_4`elSpUq|8b;XzBMw>Oj0;!?UM24nd%AVlGbVS z@l~?+UH^Qf`su){XW++V+}=_mRzDyqTyE^rQ{Yheidh|$4Yj}j_ ze-ycl3@TLd?c1=WS-l;6$$wfgzbIdv1x<_on=9jFKx3+7aim&y)C`dz+Zk=tY67s-^Gm1}}jg`5y~C+P;mkSOYDJ z|Aptx%1pJr!(4D~r_9pOyjjn?V4mJ&Y0KBg zY=kaf{`4ozRc~)Kvp&;iK6P5FnbOi~UVa;~zGk$VZJXLm;=5~1mOP-*8PMnpuc59a z_(wNt0{^P-17E5bYyy{!#6GVC$4{T>-NPvSL2(9=QwFm_#n9v1leHl{Rof17o(OP^S0;PVUrr$6p(-r6Cc=k>{P_Fe+@ zXP@7n`Tys@U}KtlnX-c8V*Gyfmj<3R&@&%l~vca+vtjhyj&^Os*5T+Or9p=aOtg!asHeZM(2GH7zSKKZ-P zN49C*WrDc;5Qh1gyLonPhO>#!G-Vvb~Tee=xS$jiwkrz>go{xNQ@@9$5LFX&|E z19LaEF<;ZA`4sp8dUiFfxi6=lTJR$MKbgTc&6vs_5CMK{1cilNT4xczWeK#z+M+VW z{bgOO@6&?sV(}98_F1byQ^@Rsy>}|Uu4HoPDWmX$O~Bqibrt8bD`{KfH}s{K23LlD zf7r*zox%t5^n82&)WP@->X{Mx?w8cl6#Bi~uSfHfLOxRfsbM*|9?S2C6v{GT%+|L6WTZ=Ou^ z=ZX9RbtYrYzrs3({w3FgTR=80@-nkU%V z3bXuq(tF|GZl0_`R|shG1aPuC^!s)nAHSM>HhMpLo`lEc?bM@rl3<=_Of*ld zt&@48dV_f)Td2mbWzm0qp42BLKNkD;UixVFTp{!5iA@k$M2O@SX0~r*IA?JH9j%H z2Nh%GqYp)f&kGt?W6oJfgMJPC_{Z$2jT6JKcU{3Pcrrn{edNv0U|Z&X5`0|cHyceL zLlQa1N#-V)gzgODj9hXvwk2YuC+6iV(8F2p7Vs~e>G@P+&tktf@cFICQa5_DNyt9x z!BFYLa4axzCqW_kpkIdeYp}67^xy6mrWd1cVrxtRgIxzBCy0?8C5D}1C&ZJ;{EU1@ zxmzT2PQD_sF|YeY)D~;3J?alcI^ck(2)JW$2oGHhPQ7y{#?k{Z;$6j|G!I2x;rqhA zh{^3jM$+aS_I`B+ka+Uof$xNiUA9aj_do@Exz@IvVBeOu)UFeE(O>8CyrX2};?nm& ze?M2Wwvq%k8WJ%r`)kSLq&kw~PAR6^6#l<&VsGEciQZC@|L2kHKA?XVUplhqOQ!R( zCidrl(Vd4LJre7J*vWD3`q19UBE@iIF9Lb~{yF)UOp^8gYmm9G^a+npE}7n1_&xL{ z{lfaWajs3gLC+c22Jz7%ZMlA1@~sNDHJ;zj1aJ_^=4;Yw|FVMli1yvJN8#xV(nX_g z*K@M5{r=Ap&W+q$NTts%$ah-x|A_h}D+Qza_CtPq{MP&ZJ$@(s_w~Gw($^ZluUeng z(yrsI%^Q<0m@DNMdhB8QTSwc6>aU&${rxiSX@2R{re+p6&RfT9+q97p$+l zIJ1H6z{%=&syGdpJR6G6pj>I=RBkzU#D)T0#$G&ShmFUgHEUo)aXwTHp2fdYR{wwM z_>sFxkK1n#kZq?OKa1JSeu4-b}Op0Vdlz7 zC&9xVY#B}(+GUT8c|h*P!k~=(E!f{dTYnGidZ#k7k>7U+*q>NE0{fdNb886p-|{Yi zopxUV`#Zl~J(zc&wf&}zisOL$T))kqunygKi1zLYwf8V(?hLi}WT-vP6~3aq+rU*| zS84I>D&O|)D(d4$%y0jX?Jwunr*r;6_|fkGcT*}%!^c8put{)6=auD74wcKZR&}WF zWXg%==e-?#rLi~g|7`wO8&i^6uZ*-alkXp8eY+36_fc$}%H5gR*^-P^3R_}yEw;oi z=3M>+%{6R_9CPsQzWdjGk--;|y?yaymiJ4FmEgVdBIY6Otv}IVYh6-E!dDd=SvG}z zz&9nydMGLT3N}*O(Hh#ATrtnuO3xggNq)d@_9&LnKHwJ(+VaqGwVUgE;vJpDWWj~DnXMv0rj(QG(qicN}xx$Z=&6~*DyyW|0+7ph#c)2}IkeLSM3N<@!EKn_2^!tamo%W#ITQ z&qV*i)pwz%j;nW+vR%NO>nyws-b$N}AF9q=pC@k4z}fRX{1Mx-mT1VUXilx*wfVZbuQmw)0#os#M>#Uz2)#C)wPQ9 zZlberIqhq073>i-Fm~eYsz>DlUavX>Uf%$`Dx>$}^}>PR)%@rHCfEN~vP*SqUGt?7 zthGE>{h9-+S8&R1ExZ`u{OCV(_W?X!^{XA(%#F|MU*x!3E1uxla1VW_aTEAHnsRDa^E$?OznttWea+5YkKg@$h~ItZ zZQi^P&3v2x>yoP9(~Yo!*#1sneoHQ7!HeXA@YAF3pbzoPf8zhq-<;s{1kIgb?=0(= z{|vCyBy&Z{lhJY{{X_UbhP(FgQBmDl%C1Zk>xtij@oIh_>bnd1ZiZjxqm-G&|B@vu z7z@?&VV-I3e}K84Tj}XSQ@V&vl0hb>y*pUvLzlwsxr~AOC>~km=K8(`4djLQoTszQ z=Dq5y;{8*+3+B9Z7tJ-~OQ8`unC|ioxCj4*DEX<-BX#th%G_DudbrbEoXVbzzEj(L zXK^0Uniu}1HczDdRA7tF$ByE|pm)*a^?99(31E!^>vaLF)Fr*V5;&u@u`>kc*dxHX z?OWA@FK0b?Xa_aIv)7G=k=W0iCFJZr^}n2aw)Cbk+Rv2kvbeZ{zB@@XX`SvUeM+6c=>!!{O|ks9z0$F@4TCRi_y5SvSU|puSzBBY}vkaZk z{s2K^nj z@p``7$-7h7V?TvEJNSR#>wcRGRwH@_Fup<@dmy`-wwAy26KHfI4b`LGoApPBbN)KLZR| zABH~4D850|r>Q^kF6jT$7KY9Eb)c*GIRCoe{*$~5`p^FZ_dLX&Fe&A?{d3-LX0KX$ zMbNhTe?RrF^xOV1Wv&Xf{dB19ec`s%cVtDE-}VE%^L#uu^gl@3Z+p7cyoU74U$mNU zlRieem{d*L|MOOJJ?RS4b;VYbAdi#2^Rrg-dD7#*ZZ*dixXY@q)okGXD$*3viN9(! z6M46Y{C&@2&;D?m`QhtY&9YzeJ#o|&GwlKRr($R5?kdZFxI;5+-wVeljii~g8PAq< z3bIn;@axxq%FB0b{d%SU39N^cj=enL6pdhaDyP7IZiufEQrFdq(zE&4d$gky_7 zraIUMI8v< zzq7f%-c8&~3=g+)En=JBy)U-=J^cTk?-;Y7k~^Liw~NTi_eUg zE97q*&wWAmYkcUwx%SF$?2i&J&T(fKBFLPv;9v@69qh&5OM$2NugllQwhqyTjivd$ zOl~%OeUa`b)jdWpB8N1GYi1I2CzG9Q7W{MB+FiGQt6Y5o_V0=;-`_Y?%eao&bK_8w zn58u{pTM`ar99@LF76Xk}WtV%0R8&uu%ceD=(@lw+&9hN@OgEhm@tlvfNS%8d)& zSB@@=lw;gE9$hfC+_?RHd`|w5Ou{`kfW!6CbK5H|-f;uG%@iT-i3QJZ|RH^4O=}Sl$^+msd2rtz7ZY z_;PHZx$F?5^?YLf)p8H^39&ilW7PJ7X~cFtwR~3d+sZo^%qB(3mp5d}4-l*9OZ@)w z0;haOY&J1UJlr-dm{YEzOa`X2adE{`E5QVlVYV#G(%SkHrAs!v##mkrs$ zJ~oc=!j`cI8+?JeQZx-W4aaZB4!%?SAD%7a!oGh;UR&Ckur43p?v$-Akic#+p=Wh4n)2{{c*GTQ=|5|p0kiBLd(XY*VBFi$(cC|($!SyleQs(Z_o&`;&E)6h|;l`EU45qokto^OLLKP~*ZEGqVd*1S335`(N;D?Oj=( z=(uYO6HmFKPyFqR*gA#JYV>r=Gr4Ic^EBbDGGc=pHN#9N|u9@V#1;4wG!t;{o z`sntxJ8v4Q-E{NN-h_N|*+XOhA&!18-QQ{6Iux0?6}{UGWVhCz=PbJ!nu0zT+&nY~ z9u--2vv(&o<>#(C4H|%7EsK_`mQ|H|mw97!R*btA6S>)HD+-LVe^$V6)95Ji?B`0g z+q+m}gDv1ZSA$|jdDN}d>aru^Dxv6hcF zzqYJ#k{lDBWf!;vzrd+~>K<}8Jv($v?3D7f?avNPQ7o-xTZjH`X7`Y@YU|LPJ^xTX zj#x~0vet>TZ5^8X(8tR2c7DA4mDm_!Rquk{J=i@S6)&IJAfCpYYUp5Iol;)g+*DrM z@P=|WHod$qHntpVKDoR$7Auc!IJq3$>8Lq3C)V?*uWtZFy>FU3@t>KnPna2 zV;W9DPTn#UqwaBxMJ;ty%sjC?p0N<$7}qea9NqMRa>e#HB9q3KBimz#toxUK-A&tT ziKX{B%dgqfY?ug~4{Y~vhP`Qz@yE+)eiJaCj9htRIl?$Ov07x!cd6Sedj@3#-CR8#7 zK{kmln{OVDac+4ze7uf1qr2fPFHg)VR7|}lFI#nFDl*AMCb`HY@`GfOi%hbyL$lm@ zfls{a$tA62#Jdz@J+i%XsG7NS)G`U$3H0+L$uG&jv@gG+k98JaxL)VNjd|qZhfg=L z??4O47U-b~p5^Fll$As4pbhS!Z-_H*Q|!r0uhagP`DR#m7XQ<8?pe7*a*H#PUwA$I z=+2B6$9$prnH^{R%46GDL*&yN3lm-D3F~6%%*+2?dbC$Y``c?Mqvy?jnZ=>^vdss& z@_7IK!q9uhD33H(shrtA#ItpC%XD_wj-yWKn2Uh`e=X*1vb<0|v1 zAGMlW$S)^Plj?aM=KZ?&#;zCWx77jYv-E%qqzBAIm(HR)H;*ZsF2&$%NA7bjh_*PV zkk?(Y|Kii`>6EYFcR;_;@lvj6V5${KPVhrOKnLG0p@0 z#vbAMjDpX;U({=Df^SWFBX|tXig`Xfs_R$OAwN-*!B0Ky`KjBpdickxPWdB7vCGT@ z9}YH|I?js`GqUd8~*jHhGR9l$XnfWg}nkF17vQJzAy&QV51Vf zNS0K(l9` z8(!->v#F;%i!s+aMX?s^#1EKPE_!Msru&&O7PQrF7I7piy{-myMnmTf~$9@$6NCU4lFoe7=O;=sSVYADfKqG z_<}+M5%!T2?gY-xP2f!3gi@TokYUE<8*Ztl8k8w>yYL2Q@nmD ztuOOC9;>i2T=G0lIV;1rSCk#rkg6}jdNPjun6R^RXyP8$U4GrFFX`7OT|xETQH^i%ZSZOr$hm0d|_q9()__AYBPcacWZ# zjlbF&3rreYo%_|khFJhztup0k8eY2$nn-q+BG96EY|R4bW0|+kzYDl@zleBx3jJ3+ z{Z7Vs=~2%6(PKP%Z0G#ivsLvb87E+wl0eTg;M?si?V4f+WjB>f_!|Ffd?VPDG@f>S z;g6%nw#MIkn8g@cc$t&k@L%E~6da!>z^C?Gt=&N9nSwnHjqjo8BTO47g=k~EXagLI zPYI4jXye44-9slq8}IUI!_o|6F@|w?E#uI@IEXGJQ^K?{g}L~5%*ErFi!-R_t<-ZG z^_=V1lgYyCsYg6rbxokIiPR+?avb$l3Reki_aS<#qt40Hc`S9#3ei=5p$E5UdNkZ` z3c)R!R$Bo*TiQ8FxL@bjV`UKa2u{^C2DlY(`*W{T*!;i zdGK7iyL2-9|GIxWm&AW1nd`ef&0YuJ$QMFqJCDKMUq>!l)BY1@9`^vF&H^>W(62hO z+D}=kGcqy7vO|s$-}caP8}=D*@8w9k{$Defe)YPMx%5l^KbpC8Ies1g9dqd->J9kp zJA9fv)LiO-zl+ZvYA)6O1#{_Rem$=?m)xV6OP8NB!lTE%%3N9&f_wB_8b>?sQO>3L zem#eqOH+?xF3kew|9>uJvDaZ4L1z!nCB9-Vo&Toi>wC~`(KQl|)?!*u9vrhlclqkM z{KbQN-D>=2=S*h(1Rv5_Wf%GM!S8UM1|Eh?E7m4i3#D>>$Hvh^T>K;8*|qSK8WMNX zm%jXOkwL{Q*BT8wZ0T6mQd$E_UP<;%<{Q;N*_U0D(?2Zr%^WwlIl(tB`U7ReXKfq? z>O21Qaf4Ue_2l*WySgg|ucF+m#%f3(I#xqBaLuBgS->{S_4+Qjw1-&(Jk$L)#`6ES z@bg_fkNeL_HEmaz+l?_-&;5j%a@)sE$4`E8po#zYu5L5a$yFwZ5ieX#0ax0mO3WIE zzdG#*PvAL-jhUcKE$iMmsZKfNcl}&zIGveh{lwXb>DR0ojsfu*KORHShU$K8sBYDz z`c*&`j?=Z@+Ijp~Xse-l^vQzy z7J&wxE{~>u_onK>M4ELQI4<-5p<+k;1O1iH9BW_eGpGEKlRY0a?7@4Q(BCu%1UL4v zQoIYD6+G{tf8y&^F1l9=e-H2?oYc{0WaY5ELt|u8p1s4yeK>@zL-7~_TgNtVW3tRI zjSuxfh6DUAhRo)4B&9-wcwj&?UcyS#KF{ad)co#8G zs8{w5`K4%nI{4jm(Pz$I_WjW60l6Z2UP-vv5{*FFJnZ#s_!@aUz?FG zaWiQoCczsRqh!MK<7||EoyhgE7LYBoFa_O8ZPf#>r9sg?>oVC9&p2IuN)_tmugv_0KLcgX5KM2io2#6I4kQ?njU74aj*kHS0iZnCtW?ks(($E*7a z-g!O@9sT@2Fx7AK37)T@O~o1s+7u2xOTG1eoBu+Yd7(B1PtfLr;WlYcz6!gWmIrc7yR1hL7nPHeHXDfG9Fx%L;q)u0Iceh z;xjt_H-cX{VZXbeam7#bsP_oer(=LC93yh9h4U|qW8kK+6*4B`A0Of@-|-iCyh*h7 z=}E@=q>RN^?}bI(jJNIyT0&XR-}c%%GgzPU&Q|^je-4$=nV9!8zy9EGRz>w9vt%p3 z;CGS1cQfDa`s5n3dwv_cx2sJ49Be(l-WB+)*m;nGW}tyx^{i9Uc{^73p`#=-S$x;B zrH4t6k@Dd4PL;tn>pIc}ws60*Wcrp;6S?Rv>@#rwG3|xvR}#MwxL@-g;v4XP>azBd z`o5U|my(wAJ57Eg^)@-1OFdWawe{@g*}bIuNUZ4^umhGBhiGljR$>rPUTsQ->s+Y* zXZ#xyl$A~y(B+I)?xUita4h~m$lhPV*;~qiC(+c@IOiMxAy*7y1S_s@nzVwn5_yy% zUB&-vNLf-BX)|dXX)kFX>0#3MCK6j6x_*rR1{(Co&Cm56u+$pQw|oZk zj2Kg;MiRDc#dr~aCbluM&Zl>sqY!_WZo2>+9_^l&_+Fq>f4i{CWOI zjg1o|d9V0+8s8TF_k3&^JO0-iME%v6{^B)%*%$`Bo4aQOXC z`7J#3Eb1+ZUQ#JyjFXm<{!DD>bc*>+TFH22NTRE&_`QadC3TTDleUrelJ=1vCOtI4 zpX2<0H2rvraz7`@PbS#+axxyj)!myFS*=0wZ|UM$9G=SkKH77vNlB+%(&yRVhzk_w z&P;n3;`*bqzbPJ*?j%aEM=XE%L|$>@4in$Dm-x25#2RvMCK2Bj7!-SGCH}>;_+};d z-099z)u%o)29v};br)5VF`nc5XuLa^orW8Rr0a}XfUTdsUZPAVBD-{iUMt12!_-fhQ*vX}cKI}0m#j$aXStFyG+ z``^Y?mFzR{8TG3gnD0dQ2`$Dx(X(r-%wU@JQNT-9vJMb0;ojfE zX}@LNXKk^_eDI|{w@iiC#OLI{+8itHY+g{DO{^Y!XD{nZXa;*Na}s?_v8KiE1e4aI z=Yii~jWG|Jl3p0xih! z+=^EOx`Aj+`uuO$!xVmm*S7%EZ+w3AR{mE%;wkh<@G0EOZlv$U<14{!nw$i^c=$g5 zFt}E%(;YspPX^cCy}91{SorX8y}t0va%6DQc*Z}aIk80dmd0iPcZ=wZJyrRF0@R*` z{EmXpwQ+n5ooqf8C+FHz5Pz0T(tQch6m-S>l5VDX#drZ` zs`z_!*IM?+=W(7V@IT@nil@=t21Y;U9<61kG?)CGfKh=I* zE+z&>3pfvGCd_{#qxg^J%inR<>}v3|nm+6Ir}$rcPZ?q&yq>nB&~_!XUDdpKD7k7E za%%I??6zIy*s{$-b7H?Mk6EyJXfFPOXW?gA$GdsWyUKHC?kY!DwGUOcwGUOr_72s= z+K0w8w-3d*k3O;h--2b`L(x^-m$_h9xuUIm=&WVC%2lyvht8({%7$l$&Y}J^b=S>o zAG)mJcjd{{acslhq1RAnJ$1fzLHkg{vi6~|^!IvVOxLH`mj=!;z!(Eo!Lc}lz75`& zyU2kA`VswG$yi1gY#FLtwq;0r*j1~x3`N+#c2-rC4Rt!y8KDjCzbmyh*o%k6X;@?QC7j1fk*r708k^1FR%4%b zkZq(DqzU8kPk=s}953#xWWqMi&Tp$7;q#~5B$?p7XFLyDD_%v}t3qYJ^1+t|dzs&w zH|~{N?fCu*`E<#S&ccM_JbKi;9^>Zv-pL-dWU^o@Mm*S}z+^}@q+aIKGw23E+k&l@ z_G&}z)w~L9{jcK=*0Ce~SO;v*UGNS1(hL8PT~T(7H-+H%Ja7bi`1f1AgthHt@4Rw` z`Cw&Jf-|r2PVU_4EL_F>$&eP4mXd-s${PMhpI}Z{-fDTB=Hf2uTz-^u#bA?&PUtQz z@6+6xolj52k791FZ@ih4Pfmhg!F#6?AC;KwMdZ`=9_Oca4sLYtYv!8{+Nqz-ImA=- z{o=lCzO&SxU`>@}&RcwQM~2RlTfMm5@)gbQAY^Ue|ve&nj~8CjQ?B zERF6~?AKd~N4>R_<9DQsJ#d%y8Q(jBry?%jn7dgQYC;eX8x+Rl?_{G(G+c;9XR_nDJ{-+#deF2%VPQ7t| z3_pDC6X0CNmZ9K$33}bKg$A5ee15;if4crh?+oa`#jA&U-sTVKCY_H z|G$&WB-3fyPNCHjkWL{;3`GX58e^4d8%iierZhmUCO?epu8G^MkP^A!F5c7nQZ&=j+^ilbdOh*4Ewq?Dz5g z<38@pz2~0uKJWAXb>8QF-bZT_DxcwZv-A5wez!QkMJE%OvrT}ee8@@R(F)zuuUIi3 zv0{(2hH<`w=S9Fe)4}sqeBFR z;SfCIn=o{$vj$u|2eO%*;QOz_wQxyP_7Gglwh#=Ge?I)S31s1T?DbidSLJ3h7Ln9_ zMd_6@61+#Q``FWQF?~zHPaTo_isI?yMEG~wdgw)C--_%U9w+FQAvnQ~9KyT8!-`q! ziyM*s*Zq3E$uTm4d3^?*aM}mf57>bdtQ`kxpVRw|2i5}rkt4U?-U&?wWA_?(1he3f zToGSOw#;{7iXw}RY_Vl=mtc}?$$Df)T%ixpWvL?&=X@WRkzL}CyoNu~VmnNTb zBwbtuEUtclS3^l~bL&K4nsqNWr&nILI`aBx{)A43;HccT6Hl(D-W2tAOuM((dEvc= zH`B&bei{Dc)yMJ;=>1dw~KcfobAxeMC)TG+F0$7mC1>2ev_OmV(Z|g`WI3>+ zOY+g1$!+@tI(h-QJ7*!+lk~3#_~XDI)7sNoBUkqLzF)kxtUoK-JBq9E!PY+4kx${T z^(W9l7j_go@5h&hUt!Cp4nynPrs?cW?IW{g)E?&7qN(dtp9dGh&5BtYimP)Qs1v<* z{f1)4g&U}E1NCj7z70-&8_Mc?x_FuDqEG7MqhWN$h4hQx^XY5se)>G^zT#uxqLKf5 zGOTN5m_MP5&Y<6QPareek!zdqQA9Jjha;@}(SPYy;jSu~$!+O@7E+9P8vO9R{(l(1foSn~=0-mB?K8(&)|!QF2)>n*L-v*H?>!ce#$xz1@QeOd z`b1%1@V82XKWsw;nIZ$;k}o*fU|*HTa7Bw&?!V*y;=5N_fA@Tw^;Pcf`incq$A)5#lqoD{tSe*8bGcVAUPhxxQa7cs*3dq_3y;z^9K@~SC5Q&t!G{S?bwF0gCzs7x}-H_?+%*4`{!I`(ClUv&ePg&KuEdFKHi@`s9mb3RlT*mau&ng8x&@>-A3ax5w$L zeqY0SYW;E2rHcsQ z+>+~Syz{P+{gR4Bd&*NbxP%-D$qwduc8rR~?s1)!jxDYFBaEH==Co)2ld~S#GUy`{ z9|WO^>d44Gvib^}4#aPMaOC=b<(FCo4d~ez@aFo+z`MsUwLbp{_z-U0^{27lXMa)s zD(ms5+N`IzyS^&z@o{ma`Mlt-QJZPL#V0Vs_fI^#vXH`l>ImNf9o|u_UvOFxKRa_B z=$*1P_$TBW#3xXAio5=6-{`Db_A+-xOEZnXeL*h395M*)kefCyU$(tpCv|{WirzqX z2hYJ5G^0HLZNSg`fPUjg1<&5SS+|Tm+^6T>y;(C=2HB!-Z{yn_bUWi_t%;BW8@)Hv z=laFgA5eWd>q9Y9ABNf}x51)wL7xe@*N+eHaa9;2i_p z!@>-_)xa&71+RQvHq6sX0qvzY4w%Ku4dBZn7oK>+AO0~sInAtzC_jM4Io8!!GBm(C z1$e8SIn6#R33|eQm9MwmjHSKzwVkw-b}mJ&!+d`%JQBZeV4ORT9C_BqyfTaLy+$%8 zN*oF~G&D})Q41KvH?h!#XDWBoYo#NG*WQkv^?^fpqgQm{+kOvfkvaADd-}DUeHda&}-XIBx*wp)maQP-%9kGw}$nzsU3O!_D3?g?~TJ3%YXUK_3R1$&$!=S&v;mTMtuLH z@Xie2tx3pV===|>i*KZ5OFfX%f7Tp1~Uez}a4y(k;nmXVJz7hq1J^9sSK zbanlvHyK}D5F2z>?VFH?pJVUGz5IR$w6-88xyYPwSb3;ir0U}`?&Wf^PWbT3#kjp^ zH4wqq4j#lWf%t~3t0TQ~@j|{GA{Q5U<>I%EJe%N95%1$ilzVU$a2DtB~&%ORx_&TKZEt7Yj`M&GFai6*Io02QqFWxA73;NU< z!8LK^H{Hy7vi!7Hfbf%C} zZq0bM;E(Oxzhc+UVkmQ07G>0{IyE=^8|r;1(UQ}CzsXjxcx1wa!tE0-Ax<+`9G3_d zr{Gg_VMX56HUgh)Guf5D-#C0f=o4{@tPN2ArycmOp&jidjFA_}TiW&(G z53O51B6!2pFZ`;F8J;%2F+v-hAvVy)g|xAgHSRNvov#?to4G!H>eujtud~*%M}hpR zan@9kKdD(7Yxsq6k7A2zzrE&Jb+pYLdtzOlvc|6X*{_g&u@qySGUp(om+bQp;h`vH z6U~P?ugvx<2f$Mfx>Jr9wG|1&Ga2kWkoSLKk?A)j(Sf@{{x$Q@zza)x5j zSG#$@m#THNU~1FFiY4;#jn>xntzu~LE%fTVp#ZtF{rDFAd~0#8cMW|Dg3Ip#GyK?V z#dKzzuDIsa@WWNCsb?f(!5d>h|Ai0H^A7bhl`{L$b=ITuo2sw6Tl7`9@zrDs5Br|U zDYoCrjqMAMo%PyfwOjjJ8kE;%Td`*>{dUgkv-4w+r)fL=++Ic|mr}Lvf3rvsxY_jykg?zupT9ef|si_5Pva&BGMGjK# z%EDOT6MwjyHv;^=BEeB=BivdVt9; z=i9yxTYeodh(7cUF(G^-ye<@upo8g*t8k>X1D77uFWdIF>7pk51?p$NV)$y}YOK)2 zsW;{BKL!3y-;om@eE2(bW-)nh_6C4Q->MFH$o#gr`xuw=9emEAj+y!nyuj-w2kMMt z;Orfv;0#$cD$WePGB&=Lmki*G!9ZWbUm4MkjW^*;crxEaY}~mxtNL?rW(j9kLtpSv zcrHA;t?0#@>A!=w?|?V)n9n**a;J7W<0Jk%2in#%=)d+5@mAVb)EZ=;3i!3G9q{@_ zVl>%%!q_PfRf;{esRfb;oMof=4(G02M*Di7LMPN@&|TI>6BDF0S#wqnb0NvNn#etq z!JM)$2K}i6__KSh@DB16!aLZjI!F2HcLfTwr)6?iz3bw_=E`8! zmy-Ru$ehvG>74Oi6T^nZmKC2pQnc+@H|L0Ch4hfhcx~BlRUhvAN^Pic31_(OuANtq zO`GMD zfEVGnI@tk^H-j%1zsluk`x8DU{8CPF`)O;zM#jH{aKi~Qg7RC2&q z<4Z73^bZ(wjpD7i_5w@B5(*cb5RcJ^|a zeJ7HQ!rKJ;7hnv9AI2kB3ywr@!UecDzF!v?5z4CXR-(huQxKiYI$*Ck*NAp!)9&3q zUsky=n7eLQy;V+q+HX?BT9q#x%lg7=vcAY1$}z`r+J2)-dq%eu?+D*v;^U;xHExPg z@!Fa4S-Ekd)1}XV*-A5y2LIyCF;*;FFJ6VWw@Jo!J;d4dpD)HZmt;G>ohbeS>G}k= z0{Fz!cBJGj2JlvPg%_G z(Dwe>4dmOLhmAq}ZY6QFZ>EfY_d88)vo|YuNdviac<1I!yu##IQrb;<4?;XtWDI&YI#p^3sL*ALjQY?vuDr;XZ|XgnNX09rrr!_1x>Z z%ZELQK2EUK9SB>WC(kwfyj!-0J^l&tx5EQV8B6g%9rx>Ak#BWTZUwqaI>>@X4DDD} zzR~gV`1f_2J%d`Gm5;#nj}uSzW9i+y_{K}qnma9G?xZ}mvN2^-LYvGJA5wfIc#~~t z$3HKCrdJRXC)s%$^enqi@vf4$yX5ZzCgOzh{s^!|MbENVv(UM0@~!(V>J!hc=+m6T z_V-p<8<3IqJZmiDBHlR_yerp+Up$e?6kNNE_luDuy_WM_{I7adPUThBhY!n*9mUq& zt^7^GlVT)lz^m+z`J31i%r|lTL#@n(PwBd^-_}{j-kamMIu);q4ztggRUByz{!qo- zYOW?+Nft_n#>{!>7Pi5Mat||R@IZksfDfxSgKs~>zRHZ_-`Bo9)F2ojIG?mO;gATj2(FaYhB>65}ey>K=vF}XB{u{tQYw3)4Q?1f^*pTUt&K4R#moK zPk=M)&ENcS;|D*p%=!q|!z6lY zh0j2rmL56?)@4)QdJZXd%Qfe`xvWXGF*fqdhS5mSa9bJyn1z#a(_!#HN~J@}mO zvHhPh_ObCiu&@I^`DFa$lkquEJ}y5w^7aYE*94&rPlZw0<8>iZ0BWaIelB6c6t#=jg#KUS9YW5p=_xYg5-hn;@ha-98m zW$aMdQ{(mf#qs;4@pZ%`cd*AI=rZJPhQ1lU7WAWWg>Gs$*6u8B3=R7I&hH%FU*@Om zQpzs%l>O4Rw%@O^>+}7czdq8J0!JhI|Nfp>19Z-jnk13tl!eVfg+bZ)>-C$|aq?U1|EYILBUb;}hJCEEn#oD8JlO{^b$sW#2??i>KUT z>ScWcAC+V_{A}IA{z&`Wp_%w*rI$6|BPU}qm|Txth5r`0Enl2?Uw#|yceQ4-e}(Ur zgMN*bGV3&aS4=r`aMuT?xtaWM;$L4avFM?7{fBanA1;CpV9wKfwB;Rh2S%ziU$91^D1iLra=JeFqqg{%0;`_MbD~ z4Dej@si!N;=kx2B&-zE9~9y)P)V!#Bof$8Xsv zbrJBvd)XZ0Tc zW&T}xw$^7)VSV-#)@M%{vOZhEnE}3ru_dcvTUo08;@k71FW@76!T3nY zfsg$?Ew7w#;xC)8)@G%yzQuY%{*`0Y78*PTN0=-KVpj$$_-j2OQ>G#@zMC zrs$LCME=?-KP&_#xR?8SC{7TfiuP5tuKcDerT0h%Dk1oSWlx)`L1d!dPY zZJK}{s-X+fgx2e|Zm%`_iiYz_vl`AQ#XK~zXn-c}g(e35=Gdu6)5I*%1oIteLVPtm zO^^fDLlcbyG|@2%O}t=e;(V7TkTrh^nvl*2rWKRZK~AsXX+mXup$=$*a)u^42590& z(L`*}Zy$g*y!vAZT|jU0L7TWv;E!fK0DtsW?_SlY<3a=K7%haoY!tofML+G-YF(ioc<( z*9R?Hi!&#w@#Ngyu&d2lj(ywor8XnB+{Yid9zhLalKL zZp~*G7G_+yX>#MlO>D7QI59xm(F+yV!}BLLPj0+$Gvj$Jt`e)(Y*(Nf2M zWX2YrRotjAhK*xv4cm8gA#zRr4CUR%{|S7V!nNF$&s}k<)!<7x-QUEX=!F-tzcp;f z8q1ck$fN4(>hAxH6Qip2oogAZaD-U9iP~EV-TT_J@`-3)vvB|3-`M%d9lLc%YynI$ z#IL75F+uA+ULTNPk2rHm#eI7HA@ULHyb~*>@sTf{bD%TG3*U?MIbQe(uwQ;tXMW)o zo%yS8@8mq1U`ezu*wxnuh_S@4mh(Qlk7qhJX#T`)#TgfFBcHObD$`*mIZGV$)HV{I|&bajriuR=ekem$J^R^KW!E)wlykOuU&}=l9eX zXh5*bPwGovl2=S!Ao9@un)t=&flaUa8GGqnD}wEhtt=c7lQNlk{ae_ZR3MMuvx1`q zz2$|2^BKomq4$+*|I`Gr$c`KvET0TZ^VA0KJU z`LBlebmv{)sO)UB?=%4pVjA0c;hl^neyse*i8ZeG*=u^5UzW%1-qWG^m;D~vV;x=g zuu|tJl z+LKK7#@HC$f?eUp))*X7-tZ#yE!sYJdz)4BA1kewwvi|5jg@Keo^u>>aCVGx4qb zZi=#QF%6s4wofZV?2YD}9QmUqKjohDp-u}Ol{~Dv?#hY|p*r9=A!TIImgme8caJH1edBe%T z>Etjob7EKa(&riQQzLqUaW{K3ztY88Wg=79-8IjwxmAVt?DsP#Q=k3Nq{`bqeday* zaFt7A7Bs zp5yo2+h(2d`;}Jj7UJh$UulVEDte%e2y$rRKJ^7TY3IOk<(FhvO*E4`&m+I!f4h8K zGE4Ttg2F}6xb$Y@H2N2wO`jHM-^boK^Sn$CatC`d9^Q~|mCusji?|25C%A{XFX29k z`%>;xxF@+sxZldXj{6Gk_1sh3b*^@rdyM-Q?#+wNJ7uKfaze4N#w^BHb? zm*42&hoOZ>MLSMD6=FU2S}BV-giPVcT~`#wC7_v`)B9g-I^6dLu^Zwy@t~FJE#9oZ++RgGpXy3xa#?&+g7xp6x+I%bm&&|; zp}(){{G;oNmDN?E+?&r_mme3m{odQ1x&)_NSCKN3zgkN_@b4?FuX4@j^4d(2Oa7$o zv#FpiUqZBcP40B)wAy;}tJR!kYu4~N*RLuvD|^-CK;f#%mlsa?&4T?;0Pp=%*Jj4ZV#$ajP+W!;fnJaezxV}n8@{ztf}MFyis#9>W?zWxy276h5zkMo zc&0O3lk76<@l|O%hI$O|f6jY-KPIsuD;}k>f%pftlU4oF<0n;R0nX~z3 zn*7~bFB)!6AsagC@?-*fND8OqLW4H!ImLpUd_v+$cMhYrjErWiYT$MG02Lo+VkOl+ zu@-`txmuHKHqofRi~J?q@9D4FeNX?7&|x~WV|)|OYVGqntS)r+c5;X9=3EZuA7hw@ zgcN&#?^Ae_tzd}|vS^f?J;*raSCD+3#Ba&xDcmKWBitpQ z>$pok*K?PAcK6arCf38FW{(IqlAFg#Hl7xUK7m^ zkyrHJmxg{slPUVbScsN^ufg`)uPa(<_%D_6$d!8r{3bqpCbqw%D(g!~t}y=KX?=J- zG6lU5v1Q8BKZhTa;GO!FQx#B6P7+_tmK(DD{^dUonYg`X$6w-)ZNSeT!q2brt{efr zNX*pz9Cfa@*0avMuIP^er*8u?WL>e#>dIR9zVu&kt3BIKvTmRcE)LGn{5Atz3E3>j zkU04+<6T9qf#9PJRne9!4{i$W7Vo}KJ!F@LGuz&O7eZgqN8$So&+6yIq)h!<%H zfHV1tYG_k&bBd+XJLHntBgFiQn3Q|>OJ1HsSra3|_&mw@`qCPk4{6O1Sxk&MbgQws z-WeB_Ro%ml%U?4tdavw}KOV>Nsy9cbQ1vd~)l0kg*@nk9y~{Xi7Gto=RG33@)D3s`5cqTm_dC+D$p{u6us z;NeQf2tUx{(x;s1`Z#p;P$g&a>dXbL*=bEsy4$tS1bd8i2#o`4fa5hEHgY(dF0ScW zlf9s6Xa9KmUNeh18D)LsArrpL`NR!-#xuUTO3o@io3-ioSbH{LWpkBLF8T$nJW=z+ zomu~aJF}G*{=n=y`n)mkk8RYv8kz8E6DMsY?k)x>?`yhOdCzKN^WIsq5??6Bh#eB& zG&k)T9}rz6h;^onmDp08MNFjL&ElQfmkbLeumQoT)_L~Jrf1Ki=?naVZ|gvqeUK)0 z1v#uWYw$#WCz|>HaPM7w$WF6*G|pN}kUwlkfOx2J?{C=omMDHH?dg)w!W{?EzQ*9m zsTEm`!IKl7%t^+fQ)<<&c+m1~%o=8+v)}qVe#+wt#P5dfampp3B`hZztQmKdQD$jN#+W4SOCJ%}CzNW^8R7 zbq?TY4(ny~Vfa~R>mT0lXU)JjPiLRC7Us;G!8zc2#(xl+#owN*Y?@*4 zlS-tr<73&}Q&)840t-5`Ro8cBtyo7^I>^tuAhNU2yjb|T&BjmU9&Gql&VS>ad%@H8 zu9Eh!%%+UScJ5;65g6r*sE({P_3+%_r-$>t?~L7i40BRn_JjF3wR=kX zM&*66JM+*pe%aOnXH`ENYkCOy78c-}@ra?q?0Njpwih{Xe7rx_UaW-o!%dS)+Ur;m zYPaL>(6_9wVQTVrOe&Ef|u{L}WG{gnyoVUI=>edXE<{xrF^ljO^wtbEaG!E1o1K$3I8waz_Jx`wzN!NRz(s8Wj_=v^OKpACf5`zxf2lA_%O z$W_*WIFDA}`#HPQhrHBxjBhVKbIz2cte&&R>*IN>_I;%%cJC=YLwvKwl5#J#ASYE< zOYNRBb$+RDZ`7O>9EkC)HK}+YhrX{py=0|ii%u%O!hh-A8By}|MD8=|j{eM~;{CJX z6X;X+P&m9cFC6+~-z{31wZ*f-zbx)K>zBlpeYg0H$aizW6#F5FO;Mhm8NjM_PWc*r zk%ifCiu`Kv?&6a-mo~$zo|K9olkT+ z^^b>4nP7T-w&hB`b8OW{^rLK5*+^$oPj$umY$NT@V7wFq6nNn8_6s(D?EA&DI6HRF zDZp<1z}QOP2>$??M?4DO)^PWy*%K8fPhdiQk*$`>&!8^kbzxptYPTLulBmQ{jN7{%SP|W7u|Ni33L#0apKbNFL^Kh9D{#?o;5^Z8gg!m)q}o9 zuLdKViyN(tS*r)S^?hN#&QW>c{|ugu;-3BBgTJtaG!{A5dYP9hN3Pa~HD_i0mHBoc zF*`eVO(r+1Vv%sPT{@8oEB1JY@o5N8p94PeD!wwa&(MnS9etkde3Jnu@^#q$m#stg zWeBhGpKYbgc;Pr{uSe*6J>TSf>*7u8*Y@0|Bfph)gB6<3bP)T?CHOgybznb-WDW3H z*gDZjs%UZfxs+dteLlt4&+d^wBj@T^=5j?FADf{a?Fmtgp3b#k4M1%W(-kq#?=IGH zm+q;o{e1r<_I&t}!9m{F^Sp+*f^o#5jc@2c?kb*Mb!lx-bpazbmG&i!GdMqbUxMbu zqpfi$r@M5dJC5?7v`9xXmi40HIPqW?SNCx~L|*gvr}(Xy9@!S`S!3P!=2P2|W%W@z zzfOIMy{u8_6*|_rL{p&MAm2TrI+FG}!`FwYW22{zUo+3wImN8$An*0P>alI#+4RT6 z_OZuSzJjW=1rPBG{J!-Za&glJXB+1g6JJfcpPEa%&bOLhwoc|eBKoDh&S~CZZ$Pv5 z`j*;I-O5vx@^v3bY^m=1q2rebVWY>o_ME9QPoo#~%_@&k^nu#@E6U9Gv={cYcb%ub9{lO|J8gZ)X=@Q}DR$4_MLy;2$s|b3>QC;tvm9svXrm zDPq&*-n*;&?kl59mD%RdhZh!zB=mj<7V%4R7+7|DU^#^{aStrweHWIoyeo%gE3m98 zqf4J;uha>&sq$7rHV-jE4sB|#J;j0PG=9G_?P&b0^T32I2t7rfeHT9ucwmxWpd6-K zfXU7+#{4Id0UY1~hB)*ZWc(DDForR#Pe=~ivTPdl=(+acYX83Y`Pb8``}9n(3(jW2 zSw>$U_Q0uetOL#fbSL?;!ULz~GA=#GkS&)2vKgfeGfPVBYw`%uE^0azQY3}ws)wLbwn4&D?Bj%%EJSKF#?R0;7oP9 zJpN1gKx6wQ^2%-C`o`tUtb4d7b+=iEHnv$^Ty0!$e74Q{1=s2>^80iB_Kr5|d9DOk zjO!zpEwkRw_2j%|)&pFwk3#zAO=>g7p10o%XP& z=Y#)XFFA>5J3zZtyEpZZe`!>bUB;rgKHPW^grf z&BPXoac|~o;gU^a@8x^6G=bQHkYWzl7wP&ET)(Vxp~z>in3boyY<$Sx@S*>SmoYqW z7BsBiE{{mIycODW-%Iaxpo3#&JhHjDx=;Qt(UEw02|C!NzklGJD__LR;t|d)V$J8C zqU7-Ho2&c27;8~X6lpVsHrd*G9Ps~ZNs-_9ANKiOS=4}23m@X78fr@xmsRrh_R z488&V1`Q4;t8bJo3lEIzLgv8F=`ig>)3Qgq`CTsC|Az8kV~@Ff;$PF5<=j6pk@Hu> z@qCE$6vnci6ozNz4}G%X(UNq4bU_8OZUQ*c9J?7mO)NtkR2<%+Eww+Nd6jJE5beq) zs*Z53(7b9BXQy~P6kT64bBGq^Q}X$tV;WfV%{PZTiqo+*>ajVhoZJO5mC^im)6r`i zcQ|Vs4L`N#ZYryKjoxJr=1bXYPMW(%|NT&(-jkOh>(0YkDC^GK-$flU=3jUCHe{Qb zo2V}>^jH0v4m|b9kxK1-rk`p#S5~z`E0HcoRyp&9)#%G#I&H4wn=R;P zd?5ois^&)XsMlT#iWev!y4BOB;Bnjhw9}@siBs6b*u`%_M@z1Ll6O~dKI;`$=K+2j z9eqX1GV21aM=x1sZR488<>Ts_yUc3i`rXCLte1_@ z&?81yhRIoA^d)_;nkq`OLgX%R`f*cvKde|@Fxh>H<1@?L@Ag5tT>R`2mF?li!-c_< ze9;xX_?)Rfw0m=ZWs%^hE`{(Vx9lLdNf4VkU z8iVh;WqYzTcJJo?u?=_kU%L0^(glmxF&>jkHP3GDuOY7RvS)88jeBV``4aB#pa0UQ zN|*QETADQgH~RGi@sHgF{)w{!|MJtA7+r8J+-nSM{Oi4q`&7e(lI+^{&;)S*0mdLY zfd4=JxS}ughpqirgg$`ZlKj&zjW6wbc3f%K-kQ>`-J#O1?PE*3x}c@5|J`5j;66Oi zhpi{shpna$@)aFTKU<4ec<3iZtabYzg1~-}>4Qr@&jG&$+`yh!3|3Vnlly_585&}5 zbuIgw7(c65^z(rM`g!@V%|ngMKg>87`XNTn@WSx)W1&xc*pRXxEBAKv`=4bl`VwdH zB#1#m25MhG7+I(IG}($4_Me|iaXj)zxv@M`_amMFTa-bkj`G0PfIX_h>4j%Ow6V5nalGJmiP4pc-~8M!;jZJ z#Y;WoW%zx&`2D?%7r9a$e!syP8^JrF!5N<}jZNdg*sLgr_c+GJJ;z@1#H=~>C@vV^ zT#r2lRji4~PpGk|B8P|7qxrl&CjKb4v2ry5nR{zGGoLwIKC2%tDj%nUa+X?89|MD-n^M;7(b>PrE`%(0; z;=o-vWGAijz`+_+Xq#tV{eTA!`8^FB^uy~b+6*k>JJ|*DGh6;lE}1yOu{QVuz=sVN z@L`__K6joioANhrv2i3nMV(+P)7KyMz{ci)klzE_-+ExvI=>f3itCilUMAR*E^OBn ztRS!@f5f&g+h={N_3K|57_IgA$y2!_{uD6YK|kzyjti@J!XNuV(Ov8Rt^@b)Wkbl$ zC>z_T2kwKEY4z9{mwVuT)wMG`WBX|L(6J>aMQ?HDGV6O>f5kPI>nHD9W__Kjj?2&G z>N?TpOrM<(%|Z`;_~7k_eVj|;2R|*&bDj6+#*9yLo_*{PzJA8$Fz`g+fwlMHqo+?A zvzpj?t;^?-xdr*<#Shqu>;cDb%=O*pEBeM^%gX*G{-Sv6l&Zpwr(D7w>Qr&rn*)U# zC(dQeIluLk>caJ>&NZ@9@mKOU*Ccz2Gg}Y$rK7+c!FHx@#i~_C?;`dI`|^x&eJd=x zKi^wj*_Wi8a+)hYpee)Ji*j6B@N-QZ9#1MJiujVq>}&;g4K%n{@IC^Jjnvb~I5aX| z$`>cUk$i;H=(}RQ^{kHH@y?Yu!_nmDM3YJJH}WQ#@rfqC(74R{4A+1y z2dtN?pV*sW*^JQH4<|Av*kUf8R-87j&uaPhf&Lv8oK172*Ns=wUM%G{vhdG{)~pn9 zEv(B-BF@2z&cUWzSU8`toYRhd7DXRM+lv*%RavxAk;*&~ZnCgz7Zqx-pOqV1XAUS& zcBl!vcphegvc#F22UxNOKQYb|lI7 zt36BFlc)6`({J@zeAz%O3g5`Ksf?*jVrz(NVjVp{Y~Q-*8~v-;p6=H=sJj12cHbxY}z_&RaGfdI~)7rVCk&T#idZwFZ+WHzwAG|X=UlG zc`HgkX!um=nR&OC&T6``w4`ZnDb{q@wC@A%K-<24bWrc5i-EQ6=F)@nZY<^J%`JVg z;i*zf)64w@r~N~~da>s}eDti<^i6OJPIx}M?OM7z- zObiP9$e*Sj_doGA&k-X751|*E9-;s5q>j4M$B2~)hbECzE>JqFf%7BTA7#~I8#mZ~ zUUz?G5+48dd)9vgAHhY4%pv;*dej{;7b}suYQp74*wU3nM z60cydKSB2@8{%x}$Oht!&=bge#U0;5*{W%G@ArlF_1Cm9-&(b~e{St;eEuPC>{U7&FTXhLIzohgr=rRI* zWmfr0dD?p>bX!U7JVTp3O`k$mT%Aj=npjFVoKi|JK2>=VUWzm=DXpD%Luqc)#f;@F z%GtEpGw-ly{kZ@!GyFDVhdud{`yT#!=>}|ZWMD4PlgV8Vja6qexioW|*u3|Y5{t=u zw|i1)E@Mk>cjU{PN`CGZ_|*9jZxNyVL9oeQSPRfMb(A5_-j?Hw7=|^uc%Xnspg-LZ6 z-S*XXkQ{rNiWK`6$lr&KuV62`Vqj%Ql>3%k87lp_TDlvVE&UxyXx@~{&tfh$1Dzb? ze+^fdYZBMxpReefAv-2c{_Ec==7YVwbw~PU8vVa>|9oS|r1D{M0&8D-iaP2N>x%VU z)48VLC!0wfUw-?MK6f4>+Rwaxn-zU#aKB84p?7ogEhvhY{US%*;}}Z>xzlR~%mX*;&GY zckhI$pSsDDJsQ_8I#=*&o$N|9$E8`I+2jq{kN5Qje)0_%==@XViqj zoKcxiAMR5f47U@C!Vr_iaEd3f+ z9+Fi4ZH_J662~9RHJ=OpTeKL%2dPtZN%`X2C@Y(9KEGv$)<-gh%x?~vd{e}n;BO@k zDgG4rV-6cre2IyVs9i!GOFVFWQvC?i56Y>G-4DTL_hTmIXL`!-ztk@O@d+LII@)Lk z2f$Ql!A=o=tBHYXiGjxyG31$ce1VG!^ZDP*MI1}hd}!00@9EIyvp-@!kWOVqpQ1tS zp$SCrH!=qExtbY=PtdObwAf;eEe2xW-#RJez5qj*Wgg=j@$cY>A(aoSK!bPF##Fe|2sdaZGA=A?>J~+E-cSaGr;Dn03}wumD25Nz#Rd1zP_Jand~l&Un}rj~3Vzjj7In@g zeqXqnoA_Sw;}>=08yP>X6{tStnEcgY4?e&}3pg<`TIfyTgEhSEn#WIY@KGJ{;$xk` z$A`hkSn#28RlN5*Wra7^8?y58T9F?kCt`2n86jfr;YMrhu74Isy8}WrE#&i%?bBLib+>s~dJ8zr7VcOES|DpEy_K7|p?Jh37)wF~CH8z}Q zY}w~Qp4>3!;lPUlXn?ioCeaP!8`4}zd%q;RiNEPpUXp6(nS4o=N!};^_bb=o7qa&d zUXzor%Li{(#ecHDD)!=jomYSzU5j00@FTmVinwW=g&;W1-ZE=W*k>hA-Ay}!5x7E= zlE4)wcW)YAPG6i2vIpoKVAGyby;t9=!Dj$i1s`zt`ogo2b@nqV3c+hRU-bD`KFR!2 z@X^1V;Pyp14=c8B|B6rUELJ7%%2p`wG|_jHFK)qep3axqr^us;!2>)y0@dFC{q#HxxXcX4CPW@muCI;DKE{33U|;K zlRr4lIZVhJ$px>zx$!yW<(6#G*_F^Sv^oYksCZ@kEwAXA74JchaZaiD(~4!44>w?N zxT$#OSz`)6di#8INh%wja8oYh#P{-k2tSLj1c%xa-7EG+d!*!#_<#c!v4F)HTr;^Y zQn?s0#kBtc_-ZEi#uUPx)_>@7e46r6}lMcYXZH+C0X4-o$9Ch>-NZ^KbS~te^7S%fFIEKmXH_qwx6dW8m?{e>q7!PCtG;{wrE}m}K`$$Z>1RE8OI><-Km2{# zuMhRTAG=Vo^zTnTRTO`j7*5{#6XcwQ?^@uoX0G{MOH^mvwq3+)vNHqFpJLZlU(nPi zJ45x!&RCz{GiE0;0b7>$vNL}8JLSN|zCbQD$5lVPEm`n&4{Ye7!plV)z7Ny37cUF=KOA08bMWHg z;@4AbzoB=YsJ>j{eD9S}^siU6NG#!qxP5`R7{R4@X6X|zOc2SiFdZ6W*XP0{d*dC! z;o%xP3|#1L16O{SdLqQ_klkO|}fJ+nTj(-!oN4BiFPJYcWYmD z-)OeDVp(qgAw2SN>5h2eP+%wa5d4cTM0VVy9@}=Sacno}65H)slW#$L30>O_p6T`4 zZd$XfgnneZebQsQ$#39GxVGEAA-0>bi9EKO@Em<&rM2**oMFOUZPhq-T$|z1MTM4i zw!MAse;hG5P#^04;|RF1aWReO!u6P#bhg?18+x-dKK``e4;Q9T-W?xfqnC}5_|iK@ z`y2&-B$d~i+|H?+bH3=T{N1;&p^j?` zf53)RejmMK{7nuCt!b;h>H3~NXfNH#)FW8cC&Byotp6x4s`%LLm+JnK^IUxFK7RmT zpYW^qhM$0?+0eXINKL)0(86!>r}lbnnNnS_?;qbd()-wVR$8KMD`J^F|EUWuEBvOv zy6<+%E6!f=W|$awC)b8UNrq z(>K}H^n0@MCSxC-$~>i3{4HDFFMnWSJ!?LaN%&~^PrF0*`>f)>KfWG28(odROu9|_ zWD5Jb-dQuQuQ@KAd6ni*_@M0dW$=lv8me35cXNGiv|-+ReQx?z@72bMd@s2v*v^Qg z?YZy&b+Czt@V$NHa9>MIW6^4CNcrvTes?(iCMFR&mHlM`9b3_tJHEsj9yPvt&mNoJ$!D_O|F&gTV(&_8A5ysfk(JhpJa>La3ZJw(9$snP zy`ar%2~e)EGRF${QmOI zEANosdceem?3{oOGIg#QQfFrb`xjYg#)P`%!wXX9Eo%aO*V4CRjpMb9k>s4{06uW^ z-SA_+bL#NVTfuJ}K7>zl_}Lm%Uk!8r)-Yoi#|Bf~VW;j3Hs$0y*?dtu{a83aPtutc z5oECw3+BjP>Fnwig+T?C)|!dB&@*Z;9kFzA~TZBO4zrid<7 z4~$O!Ob6x(_cBH?cwjv++dM#D&3L*p-)l>2EO!2x--re`ZL#%VCBL^oTNT{Bv=)G` z7+dz*W(vEmgWe)8d`Htp2XvtvHiG4EsTcoR!N+%^W6|!z_&!8;%6Z}A-8P1@~ zHebJ1_1iK)IfaL#zZ7juaoV_nHm*fa1)x2__m#gL{C?30->>F-7se|c7$ehn76qeV z5}b7-A)A)!7`2R}||8I5b z+%Qn5Xh!u^s-8GHf&Zc#*)-*JgT63yvpm*aJWaF{b7^ObQ*XyWy|TwtZ~xsD%z9)Mu%pYpZL08)%Yd&uJcoad?dfnaD1rT2*OL!(Q}Hg zba{7R?sA><##N)vU6!BZ_e)Rm`_xH(uW_tn+@dktzdb39Ze&ba7=xwQY42$X^zAeL zm!12UGOoc$yJJhWJ9LF^l8(JVy2++Tmo^%xN4%=BK9}Ezu%pCtlGV#&_Z7u=;)~^s z;eg!YS&DX+GLFl+C%JAlmp#rE&N$alPO{yXg6|pcYJO|Je!D;JIC?;sI+q&-;X->$MO9XaR0<+TMkO6JkIY{ z>`ILp_Glr+xU2^E;yKC3RBSAHanbb|Y%t*-og&_A`f#8x!uzkOu7u(}I`fs1`4MC* z@2wcN2ls7U2cPC_9PAwN^orA}3u&vn_>bY9tn4q%*$ho^jn>Ey@s`*qeaEMOZ1#=8v6u&>i@3_88WO6ZR z|8L@fzD4|3dC9k1FA4NDjsri)R^fuU9po!IgtaKOxgv32aU^?h2{4G}8cz8feDs!A6VJ~K5(k}m)4Ju(nX$nM)ISjlBX9{x8SztCZp5ANc7>I zo8Tv9ZgS1w+$8DFO`N(%nVX1q>4*5lz;qVAp7%31`RX3x%ekg-P2xJ%T&4S??p%fa z4JX+C(7DPrCf|!c<@8|!wvm~u$Tk{ou0q}+d?Au~^1~S38s-~&eB)+(?K#fS?-rqN zlwY%zxtX0K)XC>w;mhuL!;imJa$#YiGNt_Z(15jeRKD04b!_Kh>?^^7556~Y?`>A| z*H&6Der2Wg%fK>g>F$+8n69+?PFZHX{w03Hs~h11uDs6sT@rdDCY}+wEZ+j}ed%3C`c`N04^V$+4|^Y)zi>e9+zJnxIKJcL zDXlZ;+)CH4tU6VP>QlYytInvG&QYw1Kio;&pKDiZjvX5^$9Ctd%*Cm9o3XD)s$24@ zE@k8AFA1|vYxqVCeabg7ls*NU$%imXzg0()aW!_3sYiCu(0a5!*9`v4@u%;+IF!8_ zjobY+`<0GkY*dHjl8wiq<5OP0V693MM@ae6`~iYjF(1c*cM0%{mi{bQ)5iyE;yRyv%lZ&eBX6c9|E+0ZQ1ujzx{&q?VU$`i@%>3wxM{G zT)fty<6-6cFza_lw|T}@b=Yw4aN6E@RNMMSu^rwq)HgGc4aWB~!kFnh#XNeyTNFFJ z*c!Ke_ljl1UPrFmG0(%!=(x&1{9{VQ4vU@udx>UY=R;^0QHCVtjZE5Xg|tT&lLft)z~@@+=Sm~l^wSxe zdhAZ*P>%I2Z2DGX(@&=_R?M~Oow`S{=_?|GHa&6By?g%GZPp9-V8h?N(h6=_X+`Ze zj#_t!!aG`b*#6-^_6ZiXf1>T`d-36PaHo16i;pduwFk}&x8=~tdQS30vO@N}=AeW2 z{Ga!YXz~`u5?_e%XDJR|bnB(N5cRuj4|jYB+KYD$!Uz1`wJz7E{}I(0v;8ls)2&aw zmgT;ww4wC}VwY)4azkw@o=bgs@oL&gxHv$cnl{!Wi*28m+eR~OR6xI~Q#@n%M0CJ2 z&4bnE3)80J_u0AsyQ(u{uW5AB&TzieUCbSN;LD6JbzlncXbjGy4auia#O6Ku{T_r5 zZu#_JeZ$oyyk;U}ieGtNZB|RTm~m;`62E8%T`f8E);$v?por}YdhP3&+Wfo zbtZ=5_)+RqJ;KEn)-i==|1fx#U+Oc$3Hx(wT07de=;ENaoAWlofqYw%KkuaPjf~l7 z>x;&>LfoMb=1=l?=JrMvH*KSj$MafdzNp7chxyFaeDFl{9medRKdfu zN?;21aMq^QQaO{+H<9sAt|_iaik{XK$66Z?NOr0ZU#Hz;t#wK#Jr+B?_-GP+jSh4D z7}W`P9bovFpsJ+(zFa3iOnsu$nenm3SATBD_0b>bJ!9tY+QVe)%8brTz?WwKmz~$a zT6xEKJ8n>8dG*r6`1|blw8Pxm_QA;}N>Dc8DZ6i`_IQ)e1sTy{$}PbEX`T9*Wy|qf zg;)Bt3-~PZJBt^qGK@2E5z6-*R(wQ!w__7w%NahDEjM&s`v&T9{dPZD73hl{V_Y?+ zX=vjy?4d0w>B)FuXN?v5?8}M^-B(NzEB1N*ubq0t_%`QJe++rdco(97HOP0`$2A=9 zHAe>Z)cg20PE5PL6@BcAQcn~=P88Z9Zp-8<#;@b9<1L|1n;(u|$BUu6UHx~CaF@y$ zKj&F$BaZJ4T$=M{V$dYxtv0n+E6x>5VjppT5Zqk#vh&2M_p1@xmQgzez7=o!smGP`k5advy3{Yxl;pekPqO3p z*QkDX{qbn|_8@hK`9^jBP<1D5zW)KgH=f5hf&=l*uxpUy$hXJNq16ip=N)>kHAvkb zga!uIX)hR@U&$|~_iuiGps#N1P7^;Zp0n2<*SvD;0Bsx%_a5MOY2ypPdVqNG;)(L3h_8%g%^*7ndgNvg>H0^Ur9bb(A*98$1B}O~QF9lhYV1*KfvFFnnCU z6E?m7m3}iWF~&Jgy>VwgVf<}nbT67;PMHUvkRD}E2sFQnGNO%&aF1C#*%R)`X)VR* z@Cf#F0DFl+bHSBjUpcvhfq3vuz{1$S&DyF_1Ko*C%76`3L(qdmdWsiNt# z4NcoT6Hg5{cYpjWV->T<@OAwLwiOY{ z1<5Dv6(&BC@zB0uWS41Ad#d|YHeu62FTc%tQZkc^gJZ3eYb=Coox`TFc{}T?$N;l; zS;f1b#{zwas@XHaH*Viqe{j}XkB(<>`}rfMUH$)|epA;T>M=GQylBhsHMA@Ln^}ti z?llI6F#m<4DY5S2w`hMg-&MuD?RPlsA07ALw*L=m6CCOPSDp47kE4CjpV}8)ZoicE zz7#T%Ij_yv*yKh=55|Pq&yV)6$YybUES1K_zt`CK!m(_8!8JYIU0f&Fz-@&8YxJ9b ziZ&UuLWRqN33LxvV;bGV{kuJ~mu()r&EY{`xaXBPJSW+$xCx8>SsKR(d?)@h`+*~w z+>P{!v$srtw6A3#eq*Y9LxXG4W*yV`Kn8uh>Z|&+BCR}?NBif*b0g^~_30ttj?&K- zXKcps+pBAgy$k$Xh^aTUHjKTi@p*FL=(=Y){5FNU1@HN^m4r`>EQ!J^31}it&ZJvZ zhZ7$;OkAGgFhtxVs$?OC*;c!vP({9gQ+ zvf-?=G+sx?&5T5YUiv%AH*I)6UicBVC-i6bIW9_$ML&%#Cb;H&lz97?%|E~BvU$n2 zFV{()7lO%kj1hBoWR3cXd?;44k21`21J4L+K(3GaMEz94Q6fIJ_)Wo-w)y5^{f37I z^j9380DK|6J)g31F5}nYz8W0v9@Z~qu$ zgRg6}{<^-*6YZ~fN;aSP>e{q)1^Yof`>|Ftjz6bAjo{@L;ej!O?+c5_f49V$pK3i> zww&T7q_3qj{L${BVv}^Xyymg8?XFD{)5KlzQcKMx|DrvYSDu)w+tlCD{XJS!)I8us z`@59y7sUkQiPzz-v79IjDW?ycpyvS@G0gsvwLYu&;3n3L!RM*qerANega0~scicsR zz89SwC*^S&Bl*NMU;S#&>BR@LHV(CqbF}tFcV_(_d8~P(*C(wyRM$*!xhG1FhuD3^ zcLuHAH_|Ju^WN5Gg*UFW{?EB>)+?V~Y595fO7}`D#kGZN2G;?er?|Ftt+ZOXB3!?? zgZ0@Bl;OI!)Mm|Gv(mb%ug&`R1MKa2@RL?_^-60x*Mwr5)w61)^_ExKtf!uCv$lS} z&B{L2W}WxlHcL89cFAZw^OuqlU%SJWTjGtc=(ocgk42`ku59Z{#p`)_qk^)oA4`0& z9G(y_Ea!@0ACDn#yZA=B)#V-K=DX|Tc5IO3L}esXSaE}RWnDgn%o(k(%dL~=m;X*) z5$(4Mw`p4zFVOGg@yp`$<0mGIdp|KKiz~qQ83y0~{jzuk{Sm!Q@X%ZR+0YwwCR?Xm z7K`5G;}jjbbf@!N6@%!~mn)A&gGqA@%H`iI{m+-liYq)>nfyPU&Rv~wqB`ZX+6x1Z zq%_BlrA%Iz}{P9CY$j6Za^6JQF)n`|}j*C|l%x(EGBN5B0r| zxH`o{%I-;F`^)ZsU;OFf84m^eQXX4;1>@(n8Pwi$wDBmmL&WhrE<}H5ZPADAgq&oa zYx^VFry9x%mZQJn7gta8rscQXUcO7EnxEgy-GjuJ+)T6#9iSGwS;cEu-66xAVT>A&s6zYfp ztH&2Poofd1Wf5l|=@fW-T&JyfH17%Ncii^#Pd|4m{#-krRr4NK2Wh-zpJ}Xp+_jb> z`+8kGVCFFzJ9jQK2YXcZ*pk@DI!3ZcW6`(4hJ)`5q8YWPwkn;rB**iV>3K6_9Vzp% zdi<;M+u1(W`;Cog#(BcgG1vZj>Y>i1@yiS?7}-UCCBGE&*qXj9KMh@~xO(OMk!>n` z1f#aSIVPIP?fvUx%QnT)os9mIY-qtv?biNdT8tQw++(uBF5HB*DkFYx_}Ob(`Qy1-3M*>-MRbH;}}QHyH92eG>)R-ld0qX3*$JEaXk3;6C20njG1`Q8Ov8SmhKq-yVgFA z!HXw5hQj~Jj^Y0eytHRsMPEkyhW-7M_Barpmv=>ql}kn4_d)ELS(eV=|~JD>O1 zpZa!1kX2!HVq~3}mn`MK@`ae(BKV_aBg@AmJ9*V|n{SfHCZk`6@k=*Szuuii8x_>M zl>N)A!()qSWUS<{D}#N!TfuX+-N}8U%5b$Jn>B~;06eI1T1>WgG@&&<{sICH{b@UMQKtlUt$9gOiq zwC!iy{j@83`SQuOeZ?Bq#ac(*cWK&=k1cMdZP8pnZO1aXu9I#1IP53UuKN8c+E#xn z`0t(HX$~p7K`^#aCVd)mF>-wKJJ}Y7XNH;I$qs2@kF?%zfzD-vbi~*<%U%4kg}d~Z z^qFiCKle0uUpkX>ZBW@Mn%nxLncPKMN5@}k+B*h~xN%(m9@}3qu(z#jtZEno)mKsG z8{Yzt$o4%MKKY-{r=pu*tvxo){E{*$J4SD4+|>v^0nx!oG$R_+yJx5~`e)QBni{Fj z*QDp2dPQ?yT6290^7Xs4roCe|>F(ke&D!0%yyicq?h$BCwDLchPK5L28fSPxvV9jg z(%ApCXY9XvJ~`asVabg~aOIt|yYfRgmX1q1ysj}3zPFi+y!sX0uNr;l@bqQicNaRq z_^TqB+$F@(9Ls(^S>3aZ{&mJqj<5fxkGID5;2L|piJL0CK&+j{MPsWRo8Gb2m`XQ@ zXEmOhcSv4KZcAQ^m&7-c+wMH%r)HhS@yCq7Gv(`;uDrJS%!#=jMz@W$hACOAbv8=MCtJ^QN9LVuJxl*W_1Loi=sj?Ht{4}sZ=1cg zW&0@f++7D>;=rQZqW*|$iyj^SZP&TL)EOwV8@%+s80T0K8&vs6b*T=le))56YsX4|u| zYz^x@b>FNQQm59+wYD$57BPMbD{->dm( zW^8d+%GU2TeGJX%?HwD{)12X~fduC;r$*mPs=C4!IQQ&1EU#<%anw=1AGN%WT}j0^ zA5HgeT$kWb?$puX7;TTWzMnG6_gWuVYH0EJX-nnRkI`sLxIWf?UBNbg6xdWpG^ueK z9Y5v!Ys+!0y&)zBa)kY{@L+8#V_CizxxAj4lo@URvHG*<82uS-->L9fzR%W`Z8i^# zzR$LNud8B%?C(b3BbzLP+5Tqqy=jSIzL}mDeun2$)v2{t<)rb_vfb9vdyn;8Jn(4d z^rF5i-;b*}orfdr8O83A9TVrjY#-ULirt%1W%Wt^x-#}ycB$-{>J)Q&+B}{;$=aVO z7|Z9Kaq5vBGolUSk<}yRRGA6fs$a1GrS@O4hJV8QFULd%_g@Moa_yRYkI}H%+d1OC z%bAy-*uG0|d(*+Eci-iI^`6Tp?JIwZ^4FHg9XpseN7$3LB_-JyFI+$$YtGqe$D#m-=H7pNz;Dhk;5?SX zTX~;~FkWHKDvNLC>=f;>zKWQNHR0*eO~g#FzpY|zR&lOp#FX1cIBOpjXXF6hueMJ( zMg-ZfKHzuSuRduXo9dJ8c81w+cUivbO-K6l&W-;$9{zXbSvk(k92$C1+=a2N!|tBV zkz-P@5h3fLdj|whFpl_nQ4FZq6OyK;NpKJ(>H8UrpRs+(kVP zrbo9a1W!j9JZ?SOuR59?AYSY&`_}IN=sH=s=e5V2Jr|xm<|ErqYG-3vJ2RZII#GVJ z;T+ut;D|K?XJ`nVBj=gW{68-rhw7KEgC;`t;KZGuMUl7CN8kGTV4jIN z#62Ip;`~?7*wdX~%^8&y@a;zO^(q&PPjY78W%+}5efvO5=LCGVo#8?k@n>%UX`PBQkK zw~o4ZP8fL)@b%Phe6umx80e9-lWQX73coVr#@ zRA{I~{uv96Obe6LYgRLJJb^RLi3-w8<@f&V=Xsci!!S_Nz4!Zj-Fdy9+2?tl{p`K= z+H0@1_S$Q&eUGb09=Pw^v-eJ-%!;`DkuvS^1p9@FhdGuu9coQzEPW^$;pjOF`;-L- z^KnxDR3MMwW&6dot`zR@-?MTi>XzM$U!rJM>wQJwF}N>woIO*(>N%4Alzo7nGZI<| z5MQF`qQBd-@zjogwm!8%bR~LFIabd}xG*dJ?m^}*&e+(0&g+c9f9xCe<8Qv`*c3$* zS_chE2R(om4jyyFqlKSQjzT8eHJ{|-goJ1R8XhZKk z`XE+b=b`9g{zR89puvBnY(Fj7?+!7iQv4qAeXXP3{=*u<)7wUE)(o`q+yV>hY*b`cAw_wBzxnSvBlIg&+0B2Ryntmoo44 z_DNSe>z5|&#P8PrfBH)6^6gQ4aD(x$Lm%E=>;rvMWg{2vPIlp}AttuqOr)FXZ_W@& zHg^bC^{rqPe@(z!YpR<&#*&Ur>AiSub4NVTyi@C$;%nx_ zf^|&gFPuw`eTUyC-r@Jc;dAqQ))_*q1q%nG7@HHoQzhjKZ=)^G0*|B#@M6y%-R%rrJ1E zmhY!L{lG1|5B;z9pq4Q;EftjKbXqiurM5CZ4sThQ@TJkbj#HtouI55x=lDX zk5N4HV#HSbqCfG>96sCY9JPQ>RYq^Twwf|VG1lG*zZT5u8^LX1IgGh~Z@BJr+#SZ4 zar*bb`IMe(z8|Hng|f!^rtkTs_`ToWq1dhQ1ZQ3)9sKvoCk_MN8kKu6Ie8f0+ckuD z@O=%m{Z8ti@D9J1jpv=z@AO^Y^ZY^`(X;FH+GmGhqju^%xIM<9>;3mxIo}*;>-TI> z`lfKLOK~A9nIkG5<-a2Crpnhmf9RWg!xi*{H_zAHPV=$HzTY#?pK$JVX4d7z8%)kK zHJfLf_z!#L{Xypap_@+pOV&;M5Jpqz)v zd8!e!3iEOD81~h{)^#S}5=#$`jP};Cdq2}Du??N{=7(PmZfmwShEi-mq9wkKl@Uv; zjJmY1P_Z`7nxc4Q&U@+f{&-}&iKD+e(vx@nsftIoiuwOGTiy$@S+p+W%yQ0ui#unQ z$K7);k%Qrf#;#@l%D#qbo!j7?4X!zo&cD>WM9*yhCHbBBHK(oBx@VV9X_uWeAl{zh z?92LRcl0+?-LuPUt(`Vt*VO%ImnYjJCSlJmzfWhqC9#tviTUte)AesIykjX-`cx!! zNA9HS9UWHp!}Xgv#8}#@`MwwLW|(_EK!~_g5zfj{{3(OIrpeu(R)K7=^xKQf^7OU= zD!V?@F1VX{EkFd<@z-(?LG^9tGriKo(snx+_K{bfkXML!QD&B2fQAAh<FK^JLPtD)H z5?kBdFWk}{!d`{7F296)>Q~vJgl~fltC)5M!tuOg&w@_Fjopm(gZ8QBi|V5?=6~hP zb=3EYry-wj&3Ve{Lu_%xlyA;e@Lu*jF6%=jdgojsV$3z?ZXiaa_VZ%PYnPqw)0fFd zZgHP>E>EB7l{X)TJe1FY&W%5)OgRkxUe=dPK8)|}TJ*tW@?m@*e~0y3IYRw+i%#Pn z4?WNqXf^bD?z&BnMmQfjLJTmE*5_3APP4CaF43#RnDX-d_VS)_SxB>6$-C8;cbdu+ z|Al5xjGfpWs=g!V(CtD?w;9E*f^I7qj}G1HJXDWvoftgD;e~zDZR!-xDi-bWT{-kg zS(esBvvFutbSs+W>PWFSSM)48_I&@Io9@u7FE-|1hi5AxEH07$O5O@z-WjJjc_shEk4vM^n%z3<%@zbF*$QGF9SLFL1N#Ree zSgD8DyXolm|GY1QNi@N?`q2A}D3Tph;ueU7Wc_}-Jt|16*Mbfb;T*ZPv{o^RDU z&Oi6tEWXA0>Bf9{{KkKuXYP2Z&ZIv$&s_4GI#Wyfo$t;zZ&qGsKKf#vNqm6k&+&ZB zJoDk_>&!^fH-25mjE6W{ylcLP^X<={XBtnv&itPITX760gzIbM1V5|Qpe6j~G;$cC~B-dHN>M!PqLs`ol zLX421!8mLB^pDo{)kjAHZrK8gn1j-9o5TmJX~SO5SoeG(%CUvW1|oj%z}Awh9O1}1 zcxH#%DE=C4m7cR8TTbkE=_-oLy2Th|g2U@XPuNMUO(S4hv-{30vvjklqX_u`owlD1 zKE$^@UG}}Kci1&-XgFdX#1A0Zt~0ohC+N1fLB|U^`kTwz|Beko^{R|eYALu~kt?lU z0q-B*7Gw=L9)GTcwcuj@g|!aZ-%M`b%{Lb_chGkikp@~d$Df+*m&U%4Hpc|aN3z3- z-K}TXNy2(=GU)QWi{k558kH}|=1?CF03nk!Oly1F62T zBVaCX|LfkpV|2!v@GU%TppAh{6EW*%AivBy)hAeTz(*OK@zy7pmwNC`xBCaY`t?pQ zK#;Tx7~&2LMOO-jsSXU)&ynZy>`$@(=sfTM_!11*x8b9=TbzdZK9p+7MQKwhxC=zj z2XB+nO@+6~#hdt6_AlXIc++>POZSWi`%Y!+UVRbb92E8>bp+2Ojq8kQ*{_;&vMuc< z-eM%K`OVrLyVSqnVRVsb1=>!^CNd>^24$9}8#|&=ooh4M;;&3&l$e_3>_2^K9Xdsd z_3s21wkFx?L-fhv@VH27QAa;)k$+Y@C_{Kcr{VkMmTvn|hvLfrfI4IcSn>tx!tb%f zEZvE`$_4G%Bo;F7BH-X2!2&)!*q@N2(L$X2eCcYbp{}}idXwN$1?KbS2$OP)uSfS`n;Ce;;I|?0xSK&Rk z3;s&{+>T(vnSZDq!FZmHjv7+4^* zvmj+B3zCMoqFkk1WnAgMzYRS?6B^r5`kEBpi>|tY3%+e_QIpYSmkx#Ahj6a((0Kjh z$UF6+;(0gPz6n7Sp(OccY*>QVtyq8q@2bl1u4^P$Pz zlkp)-5)&WaTg~%}%~y9u<6pJ!ORJe9#&67hhJ2!j8=^O~(dH~Pl@%QXzP^F;IW(T8 z5pVqVp#hT~5;BXiQ%}n>U}MhspPpr&$g}B#S#KW7nInVWS7MHfV6P1@PLx;UJE-xF zJPPq0_nj%mw`fY^y7|&QUA4aZK^2+{thQ^7(dg;})*1th*V8PYbIWFIX^g`YZP^iD zS=Umw@!h{R!YMl#-LOORWZ6)$k>o-x#CdBG-acZ-Pl&mQ?0&SFy^%M8?=`u{f~L!) zkq^AXmTjLuVtLsr@ZRHd`9tKN^6UGJ?l&8GCR{Kc;S;yJ-!G;=qzl|`zt>o@F~eEw z)H(f?ON#<+k+^&b93FfdJUB#NOZSXl^?9R@cPu$|o+*B!&iraio%#0T zb>>>qNPGkNE)&m;Ujd-;h4& z{f=5*mSIl2RC)k5c@r)&jx0+&hAa!*h8#&cawNJyWWza@mR97xvo4&Sy1az3n8~hNH!(Y9`2|_}27MRVLq5;1D;VWW zlsLSp`o0~en(-+9M;fBtc0P%m4Vl|q+P;BQ_HXdwl+%_7z|)Qjw28mT&u_^a8s96} zU$SwBGrpa18Dd->Y<#mP0NqEvR_L|$i#r18CGcXmPs0J$N~X7Oqc2UGb3+oy1hWx5 z)yj`CT*}!YjG4}0FY-e$Nq)Th9?mBb%#76#GPZ>FBb&ngDMK`+Gu$K-hf&_aUI`Ci}Zz2fC> z_kCM#^V|XNc6{l6?fV`k2iv0`Q?ivt$+OVX#XQQp0(t4s$l4tZDxdGm85?27%2^sS zv_tRb@=o$JHFEt#?NJejZ-t^gyxQQO%t;t;|n_C@b@xO zbOEhztgXLo?ab;O1PM%On_=Tp=!ErdnP*m*-l~ zD|{!Lzaxu}O zG3v~R=`Tl4$WL1Gxkt|3!kVhapyb@M7w_rv-`5V`)AgaFn{7PT(TV2VD}Ri1l?B%1 z)NfNR+0(V2-x~&N{xiA#3g8fq>2G|ssXwFoXTZBwyS%H3^w?~PrJot@{9EhD^7Sw= z^r_BJ3O<_FSelV#oe-Jqyni3>wQjhZ^+pfYyMcA5@BUO^O{7=l62Pgmj2${%Y2}v2 zl;~8c`uqMr5+^p{jM;##hp|q--%We&hAsq?;kllvEXf}2yOdqQD@%F2IwYfep3lgh z5kDHLCd+9-1TXo+1@fxCBm3Jh{YGp1c z9<}kTzjn2@Hg{b3$L5Zsqj&Dyo>-H6p&lP3V16mJCfCNe9u)n`&dI-Q?idBFjlQNi z_i{b{yjSA?NS<5G?K@v5-C3DWdVTu4Nqf3p@ZEomKE4}R6{C4iK0<61#xVE&=;IB*_SI{gK5m7l zs*ksjs*ksl3U^PDs*ksks*ksms*hhFRUf}Zsy=QbRUf}hsy^OHsy=>|RDHaQRDHag zRDHaOHoeYouaDoPJx8Kn)>~X1nLbV>nmZ(;IMWfD%e0T$y{Bt7(zP|kz5&XW9YlUW(vS76!!tDRZLzwMBO|PS4$oNR_Rk92Khll#Uf()A zXOYWu{;}`N=r6%0T%5|-Y;|!i`&-K5B$M3&ez$_#E!@v!Ol&2c73ZQIsd}d!r;)$d ztawGR$VOOf7QOP%wnw-a1~0+1&y7Q95A^R^e@(Zx(S*6?1Ku|2urdnLkZ3+~18v;>xwW}tKMNkE6GKBG z=D!J2W0u0#ow@jG@=0Ga=}dMS-`CRj{W9qOsZ9F_#_V+Zzt+;*k>Q`RFZ8SD>|4sG zzHo|h%D$V95OvMucWM~>s-Sbt!E1mOJLFLL&B_iH#11t9zVMg7MY?K$>qyD%q+8b6 zz~iU!_qh6kc!PMo!yBA2AbsK#_r0IShg(^^zwRb`&FSPF#k-OWdU1<%n2)%6x$HEK z{U(UbMzrPGpI&9Y=E?BxiF>-ru@QOqpFMGpwP!MSYY%oux`f9l{i^Sq8LOh9KM1GL zrtkz`*spDjpFVY^r>!mgBknlsu_ZY=)c&@l1iZ?#1x1iovK6#GFnd9_DN z>l2zYOovZ+cI1&|^URGuU`>-bnCP|3G9&R74ZF)I|Uy+F>G4MpV2pto!;8fu0xv4|zB%Z8a z+Fx>hM*Ht&dr3)VSzgipYs+8pozlFUJ-eEFc)z!o&NE$GX}@c)D1|PHXus@WfrR36 zCN&4L_OzmCqGwI#n%j1im}%`Jfkn12t>gTSdW*Pa`9Uw*h*q`iLt;R?S`&@m(+9vwPv3ESNyG!r; z*DqoX#ajzutl71Y#*UjPBbs7uFtDhtw7wA=yy{(GyN*L&Yb}&>vt_=48qqWY)Y=(c0WGi20Su)w+_(Roz~>Jln5a>O==gcX(y0JlQ|>o%ChK zaHsXLwdH@?cfuJN9vy-q!PhW*-> zhaa)Ur^*HHeXx1o6vD<@N=K-*kv8`Yo6719HsQwMKaOwE!P+ML_x8Qvd#z#B-}3Oz zYS$m6Of)4riaPx^^oM`%8e!J#bk$B1-`zEb@z}#NoY=ru{K~Nne~kBr?*q}t=s)7_y;?khwt90N@7dqJQ)e1xUAxbBL}N|ki*?VPRzE}5=!_c4ac|vJ z<0fE!Z0&xcfe`Db8gufe5j~ZFNBA7;C!7~V8fw*=iPlivb<}Ef!dCU^W!UT*?OD)T zqZAKO9kR7r+GTB4eX6x0%R^b8us%EPSf;I=tbcdN_pHCUjXH1KS(X$%0zdE!!$-pN z=W^ih-AAIgHBcEeS@?Y8N$ZS)!^5*DAO0oy1-B98$UgkmgFkQ_OfgQu zvCi5)Quw_)$)1^dboDqmPTp$Ic^7}b30#{Lx`4|!`o{Nx>)S^H-!*!c|U6r3#}i5;IzD%wuo=F3UN$8T=r7U#^fBFb~>+#e3r zABxkC>V^Bpr20e8(?7o2%uk?yxcZ@Za8i7x9zUnF@H92svX9psn`JEt`73yzI4G}4 zdb}p(@)~r`2z+thSg^bVdm(+&HOK1@)sx;y*^Fz|voHsK=z}LLztLDO?1vKJBDsWe z9G>HEpXC$0lf3+Ac|`#DytOP(MtL;n(eKP&Xh3`&pQ9}O(bV58hX*$9)UzU_g*O`cELBA)zIVSrP<`wYzp+)hp zzH12M!h{2BMRXnPxN+y-*0$*Z(Izxul~$aGiOI z&hzBT|AfC2^&jBx^bLH?WUtg*ruMJ@Z~Hs7z!W^ci-`0^@p9S~LQh>uzlIX(*V=3o zG$Q{t(UoX0K7>6+MLjfl=ZE&NrtiEjq`^0_t-KlN$$Km`Xy@KF7E?& z`P+GI{6zumLtHotVHf?qtoqZv!!P+;2*316k9L3Uek=QiYr6EkM-N^dhoRW`lx3w8UGDzOeOQoUo&;)&EP!q0@w3juQOla{y5TK zt?jWTjdb~}CvyWSbQE;Hl>x_hY%T4{xW7e%bD_bxJ{tV{1>%EFUO#P!4<^Z*^yU2m zI99oSKDe0j@f)^hw#rZMRB$34C5mnt;R+>?v81BcD>9rvLz$XK$k+H(@{2yT2UI$7 zCEvaI*lzqI8m(VmWpYbSumuy+jhrzgy58y=7eDUAaI@t2W4&r;+vLchwp~xSumfpM;dl&Td zgyZ9)=jfi<{=8envk10I*`gRr?9rADIzjz5R^DdOTpYN5essSs^m^=d7RMbWz;ONX z{kkFvhbPG{Al=PxBi1|F_6>d{;#<-Q3)ig=O0zzgDk#Gbll*!AzP2Y0z@yOZT}AWE z=f1|=k~A3ktl7)&mjm<6eQWB>CejM7N-j^25UohRacp0b-BaKd^aHxB3fX>PU#-_p{=O7>;1M0VD;%ibFLx})O;k(ZK_l276bDo1OMl5?7S z{rypBrk>xtLzjy==ZZ{q_MI4X6a3PHT=Gx%^sONEIP2Xj?7A3s^H>JHFB@#3&2{fn z4sHHL_27S}?@awoxpC&ES4#Nq73RxYKehhLdhfpT{5#sMKDfW$tUWYZACZ5@f4T4d zdaDO#%knz2itFXSHJI`@8cglp2D5(Bwfp9J|7SzgeCxl@hPd>09(eY*fhp!goWm#kn|x7z@TUm;+tDpGj|gDH)BN~w_Q}fr7EG;TPC{HJ=KR

&fX{DA8F2msgZq;*kt;X-&sHJdv8>TJ!OIu*@SIkRjxt!1vip`)+Pzg zgs+*_X6e`~JzQxH`u#ucJxpBnZmYER>zg0mxsyHrEdgV;5-Z>?3=EzPP5baP&yycm zX-jiQAS2%lt?k)$WNh%6_A@?M-1V~&rfZz^2a8+TzmnNg=)2NZ?Hj}95+Bz#i1{$< zFk=GdiuQN&Zp+yR##du5(dmz`rn#K#S%K8AU;YI09Q!zQFva?#1X7u7zr?m3{cL=- zS{q+&AbGTAuDyEw@Ihf;Z%i=p4B79-SgX&lm%08Jo)_N%+~>P`&v3!p=D<6sbzIwE zbA|TZ0`I?DKbNx0*X9OQs~xfj^u&ZaNo7}$r#|4Mj$wj1CHug0z-(>$z&y2`wufai zC<5l9^sliAIxt7cW9b~f*dk{S8Rv9~2T#l52Nv_g6b2^Np{sz)wnsYFAd_ed#Ie_K zUP&Nsjwv#?|ld({Q7 z6Pr(CPyJwFuNUn+|MJK7(atm{HlJuG3GF1F-J!GXwBACDJ_mLm?G(b!zBb1AYWB#= z4m&N2O);$fnRX8(<8<=F4u5@u=h)RcWYhe3<7-`!di*{U;%P^QZ^#z(UBN<`+N-C% z;_^WQw^dr(cVZ%FKgv+}d_d@NPZ&6G3Z+ zh+`+50FRr14sYcEbBf0jvb8&N2GOm5y+`X`abMnZhsqAVEEk>h@XoSTdpnP!o%x3(glC7-U0S@ufLJfRW3JjLPRto3Ss;Mj`ZnU8h|KSue&Ssw1L0x*0`q=H^mR@%Kv4sZt`Ho26oFQi#pd2@3FnvzJw?LE7mv{ zJalmVWahW8Hl@IEIBT4RzCz&*|MR{=AE9l%`3g<`nKN&#RofZMN77g5>BV(s(u5wH z%D=MjhV;>Qv%Yn;nH9foA5XAr(8;AcLkaEU7cZ^NhT_XCUkSw-+O*n`d0G6d*_W?(b#D0BaUCnHXD~qx~j(h1ot`Z*yq<0b)Vh#BZtO0Pcw2Ll31kmn)U%vbX0T&@ry`3?d6Jc{drYU*8qHK<%4+TkpAe2&ACm{ z*7i@myI=Mb$4r2~r*pMDzw+1*u`Zp?g~_Y^uHpLD+@d>P>uRaC`a8NT`v%}mlAnfh zXJsQ@4e%hfWzYEHu6pumFMc%6-W}y(Z6k!Auc=1YPqL@Ao;|L#6J5=>&Ve5}@QtRN z(eUljai=`-dD)L9)9y;Qj#_@-kKEY!+j(XQSH>8#{iS&(G4@)s{;4;#zs?wZ76)#~w10jt`Z@f*5PreE%7y#sa^O3DJh0x{))H;Z_0|T#o#+GZ zVTS?tH_ zK8>zP+QfYe>6f{mNqQFdqe(p7Pl+w-HnB5F8@ns{ zod}8|nM=+{2sZjE!?^bJ^bC9KGQPN<&wqe@=WZJcVVqCi`M$i9 zfpIi>+fQeIFyj{Eea!n-eN{{TT3`OwKFY2pZ?!M)7`N;w@IFWRv)ot{mGB+W^Sx_c z+XttmV`8aqIum{{KYYxx--c#y$R8Kp z-hE=#_U`zY?cL?E?cIskhWzodWxq|#*pMF=JL`9*YE!;AHtctyF`M#5RcGb{6S=M* zmM@wS$eXH1^TlIEx`SSi`FzZX`z}iM&MnLkIpzIAH9A^J~}&^_tVY>>;@aq2|fP0ckIE( z*Dd6|#g}&;@M(N$%%P~gkN-r&&>*^&_Jqi%U3M}9t(AnEyUnD5 zU6ttELC$;7{xIbW^6j0_oBH14VcUqQBUaZ7{FRCwA%Y z8_YVMZy>#z`&!cB%18Q3(v9T5f$x`)?z4Bp_X97vacmNb`Gf9+F7M&^A^6xsK0bCM zI6jy>T}j@RzPxWm9eFBU^jP$K*{o-MPqts_sBPJu;8n2{UM1bd<&~>(P{?aP*+;#F zy!Q8Qz4dYS$D{jhTSA?Td9~?P##@B3S{cy(%oh3<`!CPW(Yw<;Qg%l{c}< z{LxLH$q!mxm%k)7FrR3;Fn{Uln!J3?r)9@Kx$A^3`n5Ie$T#TX`j+r< z`4OAg%Sn9fbhwH3P0PMr0_?E|^6y5@{j%!)dBuR5HRk>Kv81yn?#gqvt_*W5iPc3yty=H~8WpKR_fs)|D!apYb+e;RV*{E5iPi5pHhADG9} z-UMy3?E%IKV|a%gJ%7xG6OgATsJ-K8YjN!Ce96Rf@F((D&E12c-yyMPbb;n>znm!adH=$>2bU8|;Nwet zeEg3`J8~ipPo4>Xh970Uv3aO@nrsBqWe*W=W{rp`y7@gka?48%=C+19vy${G?kADP zxQ~RmgK!M0;# zGd40zr)7VHPP@V9t6j<&6s5j1D9!{Q-g`g4!9Ee&bu8z-^y`s*-vJ+YQ&y$RtB8jc z8+Vek4@!0(XdfNYk&ChqQAX!R%Gl^DV<`3A&9l3G&z4i}BsV6ccy0^tTYT?BeB-?@ zgmDge=lJs8Kv@$gOL9Hh)Y3h8bxZe<%`MPGkH30?ZxX(5c8w8D^zN@-PTq1~-r1HW zmfP|t#L*qlQEOBeI%vf(>`bvhUUAGWWQdjtjo2I0Yj;dC zFIf3}JouN6&_=w-A;>xDuF@OV6bpY&9eeY$zY;fNn z>wdqG_p^95%cq;HuX@eVvs~OZAbaM3+xetvE|uf)i~;m{2|VLdpZZjyl5#42<@5(v zDE;r9ZIA19CSdkcB|`2B$Iz3^LK@cta%d*P+leedD-bly+k*#sZlm%r=v zu2OWR(dbDRqR;#oJw<%vRP8^3-+1>Yv0pC1+;zg3wcXN(lxO0^v-3wW*ZMIsy=Yx2Q^3$dno~+RLY-MiL>YE#V4Saj=3+Y*YEO+|y zmVs}{l5bAl+m&|p-9yRLC^37~Cx^->o&Nwu>VC1P1YJY&ALpe8jF< zkXLISTC*r-&LjPL(*4ewjrgecZ)kq4{Q=x}N>9=r%$8x-n%!sP^Xd10s(0*vQS)H# zgi{B0wM8@8vDlOZ3wA45MY33QCf@D&;;3xdw)PGKM(l=uUGO3J!$Us)@MmINdG8D9 zbtQRM`tr^h*kdzzEHuTLate$5+O?X=?;Mv432B zCI5lR*)sIl501(lBfqS-&&d?m&wmSE(qm((ri^M|88-rl_r9?2BIJ$u^1c-juVJq3 z>aD;V^S)KTy$o-9*~gpa^ig&p&-;U0_UDs(k*z)OW+*e`D{~rUdhZM2oloBRzP!&+ zrtJUUZQR=xWL~d+zwz3?I({&=-=|^2P`}^)N>86Jc4Kw?V?K21GiOiX{;}CT{e35M zqMg1u(Mh!9C7!+Hd-hG>m7K$0C;PyEDb|u`VH#s}3qB*_!+rblSz6N?vHbO{zxa~e zQS#40K4^VedlKaj7-Y@!j!)N_^e-CBC9|gch7dDn(Yj&P-?Y{MX@!>O8ytdzZ)3vK!bLbzO-|1U-C|sNQ;rk9gP73{l z&UR^8YdE(g_jW$`DPny6tijCwByx;2jvhUSHR6-erB4{coQk>4N$Ar*sdDrKY$Y$6 zst5Dp>&Nqc_{5g(@z_v;Rl~7)1o9PpFF7ImOKW%oy2Y@3v?`h(boHK2Kb{M1f1?;5 zqkQ9|kv1J{EEU>o-yYzMCE4F@xpDt7s<>~j`snzxeU!VEyjy*Fce>^JZHkxQgU(1j z&Rl}n_Rzj3U&Ln$*W)guKJR@YPbgfEdy4uzoAs-~&<*{ZeowI8tov=__nZHzB>{ZkeWT@St94Xon9 zTKktgw|s)J?)jZSL;J0Jhmd(HhdBaruqW=8@G3r`HFJ%h!nj*y;y>tl!iCl&LwD_;tFZ7p39lxs`s>jOu|Gxb~sVnPD9oNRk8_cU*mGJ5LWj*_atnWN@i+<96 zHn?W33!Rg_m-KzVIOF4)h}}0FsuxYw>iiODsz-JkeyjgAmK=IwE#Atd#vD2@*{5c4 zs0wd^CrIu|$JIH6o8me{dhL!Di<6}FnNs-+h=UVKEX-+Mt};1q1Ui==NLn$_pq>5w zs8s$AOJ|a!*d&N^qw`=CM^5v`o-!ueGMq7RaG2rC;V5H3zLSM@dC#YBX)w#+@w?pf zgf#XO@Z8?~vnILEWqsYAZ)4&I`e!w@6tRxs_-9>59{Fd5 zqpi6)C-%$k^V2%^KtC<{bjeR^0Df9U%nuIcr}Z}b6g)qzo5%d~ep>T^^I(2jJMQiA z)9U2+58w?WH_bDKD`SkA@ZdbN^4M!l@WSnTcRhg57Hes{N%h|I`JE3BeRGE6pY>td zGab1jyOjFE@gufz8Lgj|;zPd9xiX3^@K@5&q~o3lbR|hYNGkaxp8N*uUbD!HFI29c zYpyFR2d+04fBj zz6-P9)&7RXF1(UiWxc?<`>p+9ef@+USO*^h)^=ch#I5((@NwOVCap28$o+7&1Ix#J zun2cEU04vV;bmtWh_`2aunZ>8TpuiX-g$TvZ!N^zBfxTpTd##>wP4}ghSlhVz_e_g z1Cxil_ftl~h3CEej`RZ0cYW}jPM%kf@4?NJK6p;<1)kNwbDdkKg=gJ{6Uu>Sgj;6| zIzsyN198yet8+1VQocF`kB5Ua?+S77wTaM9(xn|@xLpUIxNx1*{@Ts^xBm;Gomg2u zg$#>Uy*qDMr;Cn>IH`vg2R)0p|4?XKVRvCMSAg5E-a$^+FoFJzYiA8 zPe=J+nd*Z@`d}e$PX?Ca0{UWbB4=T9E{&C}JJF6okH*GO&bM8d-pB8)ryYo&QXfob zkmqjB74h(MrVpl5dVwhbOvBweJsM-2bvC(mE`mnJ_EP6-Z}yD&FOsL+SEu0dXzbcv zXzXQZ?1P(~cG@~OZ#ZF&kIp{izVmQ!Mp5r{c2%)MXO+-d4~^kN%o%;NxaM-<8N!;_ z0A$O6+;nqM$Ksy>chWgqppoCA$?~-32g$5r#CmnUhdQT6FTw+*x#Lx0D+?Fvg}M=GuJmeL(%yr0E=LyL2-`Nqf@%o8)s9hKLw&3&=y#BLj} zv0gHh7|ihea6Hp~QgQ!%{C*~9)QLAU9%7=48phvD&MQnskCVQK&d7csbc>nM0Xf52 z(gDtruBFdr={>QS&%aXpqZEsIYSzw!kRyxSSj@+L1^J!Hv@5U59L{$~)7Pr!?hBrPZ0S2gZ`fGo|&jIBiN<4uHw1Z*B{k4$RYWj*VH$6NPf|l+#Kd% zL7q*Tr}YZ`=J-D?^xcB7nM9Q&!L7T+8KE!?N3*gT3M@MdY zI4c2XXZUcYaV(r^o;S&dvr#He>zxfA&5om=6QWsXjYMZMJxSN2hvJ^k5*F9N(x#b zwY0)-Kdo$=Dq30G7D}Z%)Yl%Z)Vs7I7(PwijpPykXs8#hu$N=?BF5aJZt<6vYaKj{ zB5wei)85%piRRoi%Uf#OOZM*FEZuGvyhM84lAjQhBguFG-=m4wwDI;mUG;oBmwu~Z z9yKYtka4d0pF_8^R4#NIfktb9MP)U(WqpCNl9ZvczTqn;ML9Fwa-#LUmvxSCiv4r9 zD;qhx&+?ps_)bhuU(^w6TG%bRICm@jGKFr+@6r6$Hx1SS$nSLxnd1#EJ^3DCjZM5;IWjW`2E2YwAAv%%ay6-Ts%QsF|Nx4uXl|~ zugU3ro7xuoF_~zaP8z6R*pVbH!Y*9GURw3J#)9Em*>(3#)} zq&O=UUX9!xqkh&rK=r?Ri$nM9$8Tev&^gB`v#phJAv;%qeVt?R2UUHCDjTPp{mTBe zuWVrKy!-Q_W5rZk4FA@C5ZX+t_G&+<_TPq6?0vEAUCbPXcP&5Np>JCb^V^wxTMliP zn4a(JS+|SQ_x0>$ozD0c-O~@@q&o(^cx&pHEx@dEhrB#vg#*Thmq)z)N92k7@>CY& ziE@7*c_!#N<5hG$0s8o~rS01G6ysHVMs;Yd+v5e2@uJbI_*Syhd+*5=$$Y*481EC? zkejUE2Ddfavl-s^yu*i|ersNIy3`NelHG6X_;||#JateSho*S=UdM??aaTuH=Lk8@hXiaZ%#Yg*UlVy;?yU)k{-X< zSKse=#~RYk=_$==;WzY;Vh~TIt-}g*`Da<5_`O^2OMJHtTUSj>Prc&DlPJ5!Z72D| z+N*E!@F%Jt(jW}9zteVFSMu1v*jlja)7HH>Qzc{@kW zHs|sC1g_tYm~9^AidN1xk^39WwjVT@_woMEr_DAeSIstyNI%8(2*0mCm2bF~k;jX1 zCmyyQd(9l|<@G7q6nktoid7-|op-)T3BMI5)jzfrTkz$ZIfKLQi=Nv47j!L^CEK^g z$y{uO;>X$--2e|;L*687gc>IZb@UHxmAt!xcPn@|+V@Ut4SF|$cenCRytbaTo>zYr z>D>5-9vjflWdmYO>ffdo?X$s@VtWbDHrZ4?z93kGLmVFZG0HP3y)&JpzzVOdU#`6f zz&5S@0<{~xvtJ8*4mwi|P4&CU5Vwje#AQ;fcO&=uiC3q^tEbD?1Acmw)sMxi7pNZK z!1e?`GM#M+e14Ec0or5|H`y2{K~jgGDkfH@J^o!sb|^lU_)?TOB~jv-mSnc<5Ny8% z$68ZwvGJs9Z46|)zV70##P*YeJC6rSeq0YM(FErbP=@+R?R8@0PP2WbzSX$w56*?F zvxM`aMQw>9?7_&Xa`>0dlo3v}UaB+XiMi3KGMx4OY1wX`{fTGk?==|N@?^)8-8jf) z&lo0E>==WdKM0+mIGpab_wF9bFm^N3)Y2Wr->rysyTEGv^H_(gSy!FEaPyh@8+Y#R zN-Z4F6=@3RBdZ7GqXWjh+B)FDd`(QgiUE8T%kp7(toC7gG@g+CmOkiOzZ?GE*ujNP z)kr^Qve+H1zep{qXt093(}{Q5M&26UKQYCjla*zrE6V+kx!1W6;!WBcIb1PulI)XB z(MHjIO67|78*{Qr_}6|09AfQ<@nF}6w1!*)9mtk1`*#U=5M3njseTvxxD=~>Yqn?o zpb}cQ=jlrKrJd#VX|<_cYi#V91|H4{L1tHQL7#o@*Q`w~%O%ODIbtoT(}s5zGeP*c z#-+&tRrtfiSp$U5%H!xg)mjT&mWx-TTO_r&V2X{|p>IM_*5K^E?}ex-hhB3lk1xwr zBnA6rSw0A>jQ-$sCh}w^_I~x5;@ZWl_jFaLuXxXxw0)%V;a9N)d9{w<Va6+5A^qY@oKJW+K2zAwGj6(_IeGvcYCYMmvJX&>JW?(ugn zC9m+Jyk9({7`>bC$oq|7yk&Jh<`f;%KL1*m^gy+VF%WwSU*e}u;&T0orHhC*niMk~ zJ&``>*!CZsL736G=K5}iJv*S-toHe^G`%AFQj8ek2!Y|QzxABsi5?Ce)@IR%NoQDm zdgt!)!1|m|0+vZWzvhPbu+Gl2gzwqw_)>~i)(5xb;{YK+7 zY1ceW+)x*MFs}Xine1uL?CH`xqi`QnCFNI8euc06yM@1k?~mhq)g?Wppf1}lrIbjA>w8N?eU`ZNr^;TWljfZo?V7qRZpH!#<#+uWrwrFFj(4+a6~>gV&xVqz zwnyIH8~df5Bi(M_X|CnyI8(E)^6pIZM%mrbf)0PdB+-X z=dt(*cON&~yv|jAPlNfv1^Cb1-C({nq0TgteuU@G@_W;_@n0T~|1#<4xt~sY9`_SS z|8RbtdG%ZD0p-4ybPV?i(l>wg8MBt(jo-w#Y#jbbq{s2C;TzBYAf&b4g!X}Q4oQl+ zYrSYYnSBqmq;?*=Zg*E3=L#aftW8xi>XWbS#xHEU#jn{wf0;mdBUoh{>B(yd2p{Remw=RJQc|@vl3-1Ed$b za7f;Z=O*}G@>G4`$@cg+8uqREtF4(FvGghbGdB$2j7C>y8ot2F;lSJQ74+1NE9ULn z4`y)$O!_uL97)b_!tV;74C#KHmB5&Cb-!uwckGT<_ghS}53Tz}(EW7&qjW#5zm0{@ zJ%1Uxds6*i$7-yQAAaq0{FUk@U#4ZN`9^a&)pa_*R5A0 zkA#jjpK=@AGUt8E|};)lRj?!^K$g zjrHaGs1Fy8PVCxqsiTa%Wxl+>cFXkiv3}LEwac&1(cwN^;>?w<1OM_>-lw;w@gYjn z@AN(TFmvj3Zf**@gVoumX655?B<36H`{{1qJLig8`iWfuELZq+`xDe=`dNKmBHTms z($Up^yVp6jphNn_NWL5C`);|~A9cX&<|xYb1YR`X zw{#rM3=YOKgTcvhc+pyV6Hk{7j_1~Xrg~*V@aARmR}y}!Jv)NRYss{irZ?tHMtc49 z_9n{Ep3$gjvg;B=&`clgJR^sr67d_OSg`OIa?UB0b(o%U^c<(y18 z-n+tb8hrV_PC2Df?0D3_E6Kj;*sAUl?cWctvN1n`?C&qCT170Kv-ADf&#%}Yf!HwO z0vPsX7TLY_+HZEI-IuwVSY*u|;rdMbQ=GMB(krnSuB6SYcghA9RGdxLG@|H7!i(lk z{`oao*e>1FL~lUnT5R)*ZlRq{i+^C(_dWeJ+4h%%%jxY4(Y?su>DT{6D_`ch z;(Umvy|s?*cQlyqL%*MTU!A#%^aN6GY-?PLj#XEQrCVp*iYLjpU-YW6;nAzk`m%DJ z?@G=6^mmeVM)J0BwsfYkqde8vF)%G1L-sH93(Cf~n{wn^tayUhWUOu>n~eNWGwoN> zSB@+|@2PL0zixN?OL9>C<;cTB^_OT!x|RB?V_{L3))~D1`Z4#KABpCJr1*~VTfXRN z>X_`rER=qffu~ms2b?2b?ft%yenn5B&ooC;jApejK>5<|z+0#N4jv{tbK+~z&wL|a zZ{cV&{o?88e%#9+zmo4{XSDpzwKFRIwZ}unW2eK<uq>nE}4u5K-xMlz{>)!9kQq}S@~_ptCHyb;gHK7;OK z(z(T>{rG znfBLsr}S~@jc&Vd2EX+yn46u&+>G>G;hQvnCi|wA?@t>9b++G&S8OaX`__OY*Gz`E z7TO1uaOC5qz=MZq_ocD5Hr~*?s#bT`r^Jh=W&_B#cU3iY4qJ92mzyc7E^I9LoWz2|;h^4sQ-e^)U$)S8R< zXC>oa`m~*^C70VecQRfZl7elD^%oZYRtTn)c-~YCQ)7B|Z}jzk6FSk*5%*)CyatVDfl~Vl)k)e|9ZvFu$v=GuP2KSMYlxzrB627Vk;? z$_n7F2kv?w+_UgTz2Pw6R$P-uf$grZvcK*T$ zAKcp)dy~6IlCuiv56KeE$8|=d^2o*|ok(XzY7XeV53)urdX`_bY$WoTD?D%T_oq6x zS!1Y=I!%k#K#3nAIpRKZ)+DCdH9ZRIlr9qV@%T#Sg_XW};ia@yw&4~DAzEKQ$b zWpfgpG3lG%eT8-~&*}_NANG~3No5pc+^#3vXMF!h#tVEO+&SY;G*YKliIs&5#owN}Af z}H5He=nYN|GY~%SR(nZ|gLOOu^T`djf8zbw?-K3tLXV27x zCPk0|D}bI2>W1gkeb3-_^CTKaNiYT@`S+{gZnw`42RT)w$u^v|6&m5LPnxL)Ua zOqE_0);W&g?PblOt~pBQ=T2*XgMKYbYV1yNt_AYd*^Sf>d-!RFW)S;o#GL1KN;a0 z?6c6CaHujBr^Czpf-TdTpA?oE_vO3Xmbn_akZFI#mWkaG9R1=^%1^26BNKC9>nBI5 zEa5nkY3dN3@1YNk_y@QRB^~`<{Hkybc-cX4tg&1UPbl~CghAj$_F2)Cc;SD77vV>G z(dUk(uZ|$iOu#2kIzy$-n@d1Hl&!Nl20}j`O&n^z5=qD(WQskP&0B*g;d{*~Rdx_x z5S_a!AGYt^&~r}5=NYThZ*4FqpH^o^k~V&Yz3TiPQ&nf)L;8nP>&ys#hngGAbCtwc zyrpMcTfL0&<>?0fnVV>z%u5;RF$+6hNa>6@VgRK?_fEfn>u{7gy5=XugGNuDd<=cX zdXvV*WV_FnnDYE)&J@3m_m>?bx>g@({@k*XwZ8h>p>gN@9he)w!glSZT{N!eS?GaS z3!TB1+u@a~-1(o*Yu5bFIk)*x_>^y~bUV%eJ`TQA?$ea(@y6^2iIH}54=yITI)~(k z_NU!|&zx*ITC=TaZR`-=(;Ti;GJ&*=D<0p1o%E~t*WI#nw6%FJ&kbVkb~Ju6iuW5K z#%v&*#up}*pUDFNLwv&VO?^HjU-PSZZM}hUT;Q zQc?G0#RC%0OX6?KJG)MR4GDWkRd!LZlrPpCWP|dT6y3X{wpuon zrMYAjx{ROS#<@Uk#hgP#8L^K4l-`%jo=hD9eB+$8Nyq0+b?TjP=dbU2Uwv=>9sh`^ zY&cGx!c9MLlPH?f{!4sOMK5}%a-4V=ld}-LZI9M-^&I^##vGouI(yuuW61uYd-++j zm#Nd10S$O-r>{b*{(SO>8%(~!*k_jltLkZEjl9jbM*a)no|9TmUuq5`c;%Dq)Tz4V zw-#Xj)!!^^Q>@s>Vw;E)so2#Hz1|Pr6mQPbsM-$=iyr9T$8=7)?1(}3){Mlj*3t%J z#?f1``%wP$xyZ5lTiXu#&JDxcaG zbn_~o+9G_I_%lNT@x-w_gRB-rY1dH6gt8=h82z!F@hRWyK$`J*+u}C-e>((g@oRg# zsxzX$88)88X!={a?5Gsa;u^cMec;z+V?Hh%s&)G})9AQ*F1uHX^CpsM_?!vHz>p8=i?JKtZQk{+%YK1WqMeK!-mW#(`PxAOJ59hvz7^2iTD zI}YyP=}F=!ZWL)+Q!7aQsN(U(926@n8T#Peg-Tx2Ws zBHdfIaPd}f(q3d`x5_*mn>xOS*qP+Z`j?Z5k#(8^G`Xui72guG`>&v6PsU_smxSoG+(LUb- z1~BA$px?k7U*F$v;BVZ^?$ev!z#iVIY}I+rF6Z}OsJkz}0dGBV=Yk%6N4lTROt7(9 zlJLcZ^jAk$cmO!7-QSXpFED0b@YxOSJ4yD=-t`Lk7j5+A9r*@&cp5#dWfSA+BkgM` zTlHAotjWgpL8fq4nMp9Wo810)=tr~zUkhtrj${=&n3XN5&!OX|8tptxdSEDuy(RAG zgNox2jXUvU#Or0JQLGGaT}w6+^_zJ54Z!co1>`=m+K~$yYe8SWxBiAs1bt6(+ltN^ z+sQn`E2o}vymy7=Z1LsmqMQjT1OBBoN8v89TI-I^oKI_IUYQ>~2yO+N*2=tm&r#-u ztPcp6)9rZ_4qs-k<{;6|Al6P>S3B{Q_;%vazWXzXw*gXET|_z2vg^gVx0)N3|v<-1oL77L3C;;#w0!2DquSCe~>AiS$(Z@2!d5aYCI*Gd3ANk|GxXO$lXZ=RBgv>}~28W^#4DDwo4_4pRP^bLiy*llf zh-yqsZa)ngEQ2`fGXd{$dzK?EI-WKv~ z@#T4p@_M6Pm6suJ#+Ub8(XZq`^MKOTOIe#TozJsR{%`0QrrypC+N+r#9@j+dVERP$ z&7_Q(zB0Z^eafTv{;{I^668(z@}5Y2mC8%m8ZV{%PBb~=MP-+fzs#5aE0nD~y_LQD z-JG#-R1a=KlpP^&jB>sBq_^+gJ25&Vlpn-=t%lg8iZSNJJ|>34i;|6sqq2#ZzUzt6 z{19m?m&UWl2L)FPb+!2Fnq}MEJD;3G-Z{R!9r%7}ESDVL+|ga{__%)xx)^#!bH_2~ zVS6&S?d)%E+*w%XXv!JwE9as<>MSL1sW0#2Zk@t$4RNJ)K8@DTLnw`thzomh)tc^0 zSaTmoeEIXM?#+)U-uxtDrC&^}^h?GNOM>~TXhQb;qG69^k0A!`j;}bde-PL;FCeUa zwrn!Es%HKO&dT{6*FE2fPwCr{%-u5Zqs?D)z8%fCUB8hGT!9`u8NUa&EXfJ<3_X*a zkd13Y!+%N<7N3pNrmKCce4mPi^@A zORlaTAs%($x|YUxtDE;BH}A>No^0Tfy$R@`9v%PlH3Peb0oU=s69*oh^HL71!>iU< zpN|t};Pde$J|CO$`Pgjo8(81HAKHyu7GD`YiKXhKrjh^|U6SwSx-`tBWX=?kK zv`J;za*oHQ)goJwqelogFR*7oxY^EL0O977;7033z454xZr%-U-rwVEs_l~*3Uh_W zdu+;$M{_P3Z8%c%!oFZFJpbw!z?#8ck@4*@xWvVSX#bophi0Hzn#;Mu;DXq{u3c5~ zNxGRMrw-NE(#b`S()S{aiE{2eeec!zMb=iPzLee_0Z+n**2-i{*l!VR z49kGk#PN^Co=^mSuV+t${oeMM10QkpV%XI?3;R@Sj$WUhLY`sdS%xm}Kj*3uJT2jw ze?LRejkYVZ48t_H3~t|eT{xK0c&fKM&xKACF-R|Rzz z#v8thIxDEN!Z#<{f!)VXNAtJz(9uPl$#X>Mh`uYC`&BuSK4F4t4&+~jb>B-!WBwgQKXCCA#|BnWAo`6FC! zUf*Emkalpr#P9lfoIQ9fJ}{(b4P~CtKwNavO44IX>&!7+uV0J*#SqFPeef7;5~Me9 zzl3xE_q)D;{bDfXk!DG^&TTN?ixQ8L^lI*FNyl)XAob5P6vM8D`MT%VBs*?t%SL49 zN7^Io0TZtcHElv4NZa}H$h(NaQIE|mvvx;CqhpKrt((NOpDN7wl3aRpm}K^WatRs1 z`Sp$s<6P)fvMY|PO}IKD0~3C)@r`d^N^);%_76Ps%7Tx?bWVg<&o>XFo?)sdxe7nh zeY_}E?<->&Wq9xWa|l1IQOYP~uA+JJ$38T0U)uza{6{=^790jVZ|yk{o}G+kuZ;S` zfag`p&>GCiz!KWbern|SQR`Y5iw=*`8oJh&uyI;Dn((PHFgmazmq0I$izh}|H-YEA zeeK?^3s>Kp*V^es^u7xC>qVRIm0ezOOu`ZLfr01(gU|u6oxePA;%(iLF}HP(n>Z>z zXvS^bi7{vA&!2G)=O9(&2TUx^A2kuZV4|b*&oJgm*;5sV-Js`bT_cE|qjCNz@!OPi zwW;l&pq_rv9qaD&wWI3^x7)EzczCI@xIIu0^!L-Zgj>G%(-gV@G2na3Z1j~m^f1a? zYWs_LVLtkq;433|82y!2e?dR!CLO=LU|^T+yI!?%nfs&bjBDd+xdCo_jvGulQaw=gB*F zF7FLFH!=q<^RzM#6Mc=$=kuEy`U0tY?_3Y(?q`1E_@H?!>2p5=VmGSsbU+oI>d-JIe6UY1=)iu|f zY{|oBjxYPG+5Wfr)WGksDst$j|73adIZj|+IZ)m=jIspEdzs|b>8lSZ?~6v5-z)DW z#4*b|Pty3E@?MA+DDOl5@?P*K%Ug5lpD%AB$I<1z#VAXlywfDFMtN^E!u(!&Clkjk z?<7g%cglMRUZA}5{N+9PPnNggl3nXtWv*|?a{6o+&rIA0rT-4+n)Z#Q%DiK#7eDUv z+?)5`$5Ju}DA!5E%mG{FJIL~UCBMOu{L8pUe%~Y4llP)<>jmmT!hg z+M!0;e0%nPN_(K0HplGcH%uQUQ7-@gJ1XTg$2!3-%1K#xCq_M_aStk|8Kio@wb;k{ zo?+x~*SB%FFOufxHIo0T&F|k!J1CR;N1FFt{6MQ*z7fE0o#j11k(=j+k@egU>c=Ag zTA{$4%_H=?gSgKz7sR^;`JF!ZK+=-GWerF~?n-xLA-~&V%^B}2!}9N^&t`lT_}<## zuxz>4ILROPc=`QjrR0aQ$T^;bFZm)}|2x;B;qw2l$i16)#S_JoZ&(NO9@RB~Z<)9X z85eL4$wv@e^3S>EHy++Gc>CPpgF4R`KC{ym#G0C*pmsT*L40rQNZzMr&=Jyw7V!`rdN+<8!QE*DUIE0`CW78W&pM4Vq{D2i0aX9-p6Y z6|((xeRCo8?2@{kmWfXtmNCzf%d=-HzqR0eQu*F{ z(vVDi@@P4h@cx&&U@Olj-f=bi;h9T1B>hn5ZNq)v61idcAkH7(*f@H_fx|Lbsv7 z|4AZwNb~2xdtBBFOCIFd!%}_galFTN@_!3VwLG!Z*>J)LlX|O$MZrcGY&9&D^2`5A zaWuyogAPQN|GQ16#PVA=zQI*+{H}Y)|I#kT*|du%^LK9-<5asC%egy+b}`o9F2??k z?Lv+hZ__SD_}j%^s$GQNdzF=ULB17z+kC6xti@IV3Y?P)OXg))v|IcZ<(%H@|1EQl zGH$N)bGau=-RAlK4yGK^fAf89Gx~V?5m(jbNBGuR8tv5EMmb+Mj~nPQe`lJ+ zd6Vx_@ofO_@x1pL>N4DQGru#t+50WFt#|i%oc`l%W1sJdZLOpY=b=Q@cK20Q5*=0s z?<2#dZKJ^0JI>*6+vHcC<0X&2ZxC0)kcoMw-aNhGP9yHnVbiM@bQXIfLFky6?ejm;0Gx_5}pg6pm+p41AegLd%=_8F^Y%6)_e&6vgx5Y4DR3 zUjTQ(Pfa4^LM-4xR-+OYw>DRQTD7N5d20=O{iJ9s|!%JQ5xOKUeX6 z;TAko@jkBio~f*jP@EsFdp5zd6}L#I89q<(pQc!zI(UxaYq|ed!gCehPWWQ@6^eJm z^WX~qL1T+O5ipHZD zG!{joy-^qnL4(jhGysJnVS|ydA6t1wL9#yt1>#89AipnRB|V8J@qnuG=4mQdUhSO`}i>e76&uOk9)(Mu>FlOWf;r>i!|6Em<5Y6So5J=^U>Uc z4fZql<#yOugMAO%2peaxZ(vQZ@doRG)xn|-wgpxNJIG)iurk;LgM9`ogdJ?KO|V>8 zjKMyDWx`?&c01)rg~b_c4cD0q7H_a-;>N)aH`q%sCv3XG*1;UGBMkN&%z`BttPa*Y zo_nal9*4EVjx^ZAu#K>z40b=P36^NEW#qXI<}%n_gsXzhFxc&|GT3njD}@!pjyG5_ zEEgufYYaSt+yu*n%{16`uvFMAgDr-+U?&(X4;BYYHrVAbC+tLnT>^8!PBPeqFbg)@ zV41L9){dtb>>OA->|}$@g>8hLVz4=|CfKP4OM%tFQVn(jtO_>AV8_AAV5b@EXjmca zbb}?pa$#u(I}DZyJHud;VX3gW20H}if}LrwXjmL9-C$#2PS{xn8wqp3&NkR^m<2n> zU=CO>b6*(-8wzWOoolcV*hW~U!Q}qY1j{nmSFk!*w!wa2+*$>jXRvQ!Ww0EBJw1{7 zgXJ2mn{c_XD-6cOnI{vrz+j)lQejsb>=T#^mS?b5SR8Dj!QO>AVfhAIOF071)Cax8 z`wcW0{qi<_vwwdW+o5QnUxV0&BMBE!2>TJ}U^E6rq0#6-G|KMd7y@_U?2=4P2cku^BuR`PuA-1WX>0ls+h z&P{)x&q-MM|4}8L%+HRIxI8D@y%!pVCw-vI$(_^X+dqJE~!=&WxJ`XcS&BKhQ?t1R*^NjY-!;JnP z=V9b{@2CBCey;vJ-~3$d>fPt(HZHr$>Y0;owO&8pDnD_tm5$80hvufgHuu0Rxu-nt zw{r$R9YS9M*K-Da@Eo|FGuRGKhwEqkZg>)0KcjcRhKIDDJn~Y0QFX}=f+%|FPVqd?fgi1pdH?^VV*S~U5w0j_h;v!2Xky`6XvtP>-76F4{f%) zmtlc+vNy;2_Zzem6lfQ<6MXIB)1&uHyO?CtF2Ys2n55c8EbXGUTz-G)dp{BTKeh`w z-tDLVw*SlXw~HLrE@Ez`|4YfY60ezWMbjp_XYJlDYMcIA|MwrBTM9V;`u)TY@NBrA zd;JEU2G?`19=Hpx+m{<23qL?TtA7Cxw6EIN=UGe8P3T&51^Ndv+gh2wTz}NZ<&dtt zCo~NQ?tR&K)n>=hW_RAv=Nad3v*Z59HY>+-pZ41}`$mSZFMDa# z?tNL+jr@PQC*|{ByYud3Chty=*_Wlg{MXv-e)JPE|D)U5Nt_o4T=!*z3Exi})c5Ql zcsE?%vw!CP(+b!3>}jOm1lRZMuL)lZ*YoOM!7Jc;UcD1u1W!=c#Aonac%tGT!!zJ| z9{W9bGF;C;{}Ud#wlbRMSu@a4C;=UgCZUPwU^E_$L1X>KB2F3Nvy{^+_pjbrwy zYiAi_t1g(?$0rl66=setj)yhF%(2BWuzHv|wpd7d)i85x5l^^sm^tq<1y%$z=Upbk z@?Z(Zb$k#k3zldwCoBzS&VP)8CBe)&j1jOvAJFs)*FAa))%o|IVEd$>2^T$wUO>$# z&_DbT?du;7O8o6TEi#xk9>KMdDZinRcf7LJV)d48-rdXl_8zwJ|0r@NAPWVfP!x_F zC;~;IC}h5ye|_(wj*Lrx@VvwJY_=b7N${TtiuZ0qpq zQ3`*5&)+Ap{e|sRwxPjRr$V<2;*-T`^oZ;@wI=fy?tXp}yW|2qj4q9W9Vx=}2~?08)a;AhVXy3?7MlqywlFC>hzY^=Dxa&__B^RuvW$H8Q~D} zYxj(hOMmfK^DD>Od(J>lLh9~oRlYgfcVGSL-reu3wbxx`IcMct$qVLN=`NlTu9$Dt z9J|=cL4iK}udYq_>^9~vs4H2UaKx~x&i@?gTbuAP-~2b%CY(3&udhvbm9ztE6JBRu z)+Q8^Z^^q8C0^}Yo6vMV^Ba^Q4HlRa`v0s=IAP?#tu2dpUz^bPF6YH1?fuWK-`TCvw8B&1daUsdJOQr9 z8XMrza6Q&|1@3_Bu|^}j|Cry7HP*np;d-o52XBQZt1-)C@FsYQ;??k4xPB*mAG`vt z-{n@oi{R-ho!jBL@C?OE;2H2t#h1X7;aQ3o!sFrDieC+P!gCbQgNMWQyU@$vJC6SC zJIri&7d&63^AGq&c!A;>@J4u{;&b6O@FK-i;pOmR#ZQ74!b=oSg6F`?6h8)@4lh?c z0iFb}P<$FZ4qmBvEIbNcrT7GRD7;#6C%i9lwYx^~k??kSt>O{z7I>ZFd%+vv^@@kW ztKkib4}h1!8x`+oJXQd2Qv7>(HoRH!UU(XOgW_A^E_jRLUGP}=M#VpeN5Web-vkea zZ&Lhyc<)iG-EE4uz}w*MioXuu0Pj+~30@EHRy>jSHC6Cl#UDP5wG!~4*xlDNR>AY( z`%K=Q*N}b|eCCwh`2+A&_$SJopHeP73K~!uMA^ zjqoY(b5%O0z!Tu-DV_|EhKH#9$CJJTet=3pk?{S0TkXD3r86Dg4Zle7ICv}kV#O!I zo8Ti=`qA)O_&gPUG`s?SiQ?+ed`k5cJ}!!zLXRrnBiGW;^dEqFZqa>aid zPyY`etm>@~9uB`kh2IX}k-$4e#k=8M@GBMXfNz8!sPf+iZ-g&Y;Xi`cz^_t#BfK2G zNb$Geh49fT{bqO$e6b4uB0L>_wc-u%B=|LoKLd}0k5TE@!lU5Vs_+lPL*dscUIp(v zVzv8v#qWW)!w0B-W(4m?THrUT@D6wbe5}e(7`z(3M1>EAm%+!W@C6*V0KQCxzY3lW zU#@sAJPm$};+Mc(@bN1BEO;!uRE6i`eV$183dPe29}FL&+Tm&NUe>zaroyMd+u*k= zJ`279euv^Ncs=|emCqyLRq#7i_;`2;e5K-(;rZ~p6pw*t!6&Hn$H7zKcdPJG@I?4M zijRQD!0%Pu0gr$mtkMsITkusXd@#I+wXXLm{>wP}fB0&}cfgzBVXFSWh1bFFSK)i$ zmGB1?{}Nsde^Bvucpm%^mH$uSnec~H_*Qrd{9(o4fhWKpQG5eD8a`2_{|ejze^iBU zg!i+i^)bc2W4zQ2e_Zi8!neW?Rp~zlZ-PIe!dJs<;ZG`lAG`wol;RceBKS~M|F^?) z;ZLjZCGZURGm0;PC&QmrybvA_pQQ4CHQWh*PKD2dhr`z>ei?iRYg*STo(=DUPgd#w z1HKXdyb7NIZ-lQ?d@j5O{(|DE@N)PRmHtWaLil}pcKB;5d<47&{<`9`rqln!r>k_9 zGiP57pTW0}zWyxR>TTqkYp4%>kA6gs^{jJ2N1_wandl<409}u6Mfag6(0cS1+JwGD z|3(8}oM-KeMx#T~6f_l0LUCvsnvRY{$!IRR09}M~&;qm=U5l2Wm8cp$=+|RxAMxuU zwvVF*^d9O!U!kpN8~O?Lpp2@@~Eza79<(*Ftl8}<41HQOENXY@Ui|5oxWbu+;)CtLCM zMSG!ev^SD6N?fTwDf1|_4;qZ*c;6r?gOue5|5oZt$|+@(<4ZkASSjZ=B%b6~;z?LZ zLlig%U$Flvk}|%7UO~^J$I<=hUQ~frpi)$fmY^HZB9xEjqko`ubUK=ijz_c5u_zuL zipHS>Q3M)_2B2ToaeUQx{t(ZYciI^DQL67eiuY}0@a-zRhw#<#phI_mCZ0n026(8v zk8u`xe?Kh0b(G&ceomZ?cr(>8#>qQEc)CrT_lVPvcan-ToH&ld#<=CZkUmZ`aboaJ zRdGUzlL(jhLpsh{;-ujXS7VHynVZdq%X=an=P}|G;+>_ABkRD*;T1MrS} zGjW>W^4>@vr;Iq8@GeksT8YyGPmp&ys;+M$PH_Af_efQqH;5Anm-k3I&Q-*T!<(;; zvyM1PaCx7k6yHcgMKfE3uZxhFX z*MgT|;|;;d>pza`==wDIJbCk-#(##>36Id}y&-U_@TywU1hE`wLVi)`ZD zh*yVKY~xi?t_^r4HeMd_+VK{vGG7MogO}UHxfn0}2>JvYZxv;Z#=G0bTPbygS83y& zMw)4OSF3!az_a1iHgRU+72?&{c*o#X;MLlAN8r`rU89aQ72XW5w}~?muMMxk#v6~< zhu3K1Md5`fjB$@q=W+zx32(NEvo~G>-Ub^l6fYI8#l{Q5%f`D_mFwrx+z;WcHgWp! z%JDYYc-!!5@!D*>FY%i3u2aWqhi`&+*~Iw-uNSY|#(N(x^lxL_JvQDy@tk=oij#UExyG@+gc-44W zHeM|0HR5I4cn9IN;^o+Qqw#w1ma2SwcOY|%iQM08;`HD};^o_TZoD|W0vqphykxv_ z>RfJuXTXbW;=G5KhgWRly@gkTS7PJ6idT)dOqFXrya8Tr6X##ti#Fm_*myE0*^O6e z3qm8#f>I!eXI$t^P7I?EwoD1=~@HW_Z=i&9^wb*!P;zb-Y#$Bq)H3uF8 zZ?%bY5}pfhlZ|&gUOHZzjhBd*i+8I!)^vCgyvrue6ue5jZW}KKuO6?*#v6;*g115) zE1mP-4)3#x6G5CEcsp#oVR(*Xxlh@6A$T!(L)1K`1y6(r5BcqV>c=R?Sa_i}-nV!; zc;Pl49~AWz;oYXn#YZGP74Qg~IG^Ly;YHebALDJni?Z=H;>HL!OOAn zF2t+HyGtGGe0UW+&n8YfUNK(2jW-8R)<6~5cqied<4sWKZWHGayzZk}J7nXX&)8emKULazqlnjlcaJ(2|Dl+t8eVM^XD_@G zyc!#CFkT*Bt&L~lW#HYbj`hgR$$=as|8?Og160gz5<3Hu&UdX#jbxyv3 z_aw5m$R^GvyjHvoHr`&;VI$s~Hr`-7S@-mojc4JN;I-IzjT|ozZSu-u-y8=IK6ltb5_I=Bdjj&IsCX&rz%0JvLq`@mld#tMrz_o8Wym zaSHKj@OIdEi}A|v`fa=gc(UFpOx;g%;IiH+IPACglMC@u@Ir08^YG&F!fm`W@uKkV zSLK=m4~0kA#5oDC_ej>Q+IYv~$y%o<8!r*B3GV@Qtm*Jtc(hHNDR||0F*aTdUIAXL zjW-rA3-3X7tWoe(c)U%V2s~NmlwjjcW8C1xOSJJ0#S6tdL|uCp>Gl1Mdz4L_A4f8W zftPIKeT&zOmty0wfZe;s=^<4vH(b^@rP;*!9Ip^B-NutS$!xp~8*d}=Qt=*E$9fB% z2+y*K^D166UbczOv$csmbZjD^=`sxpRyvrtz2QLY)+s5m{i^c1)@jk0BaW>+~Hw<^!cyHou#Ot^5wlJU5fHzd#zZ!{C4G$jr+xypZcqMqDHr|tX zvW_X-#(M-$zF+vXD%bsR`F>%9O`Lo1;_xDEygTqB@uF)v+#xm%-z0;$-3F<0aU5=i+7JCE9p%@nrqdBz1kI z!e#wZl1-cw@#MRO$u{0`c)@rnHr`QqJ%_RONtNqx_$GLoO`OSiO?c@x-obdXb}7Tg zbK=Q23)iS)jf5A#vuxs|GG@=h%eL{tiI;+xW8)3Ni^p55j?pF?5(IqGo zU5MtPi_!V$9RKzL|Mu@}&qSx9S?E|a9Zf}(P_$oT*^WoD6^%fH(SM$2T?YCFZ9_eN z$^O@9EBX?3`}bw*M(wBzeT5{h#FOx%Z;^!i0*U_}61D@$u_Wy0=p*zoYDMp%4QMTT z96jUTKFD@8x(ls9OZ~cu?Lu@Jx&URNb5J@u9nD5b=qNND#i2vccoc;W@NY->_lL0k zrGdPn9@K&Ug<8-nXdQY6J%%1ZRp@SXJ1Rv*=o)k#TIAoqg6$<}zJHs^HUpiD&PFNd zcr*hgqGSB}zeS$HjYFQ{Yvw7+i-qTVLXcX(CAX|VBn@QU#oZ9F$#F5VQ?Cwu{y zIf!PPIGga~_g5Qiy!Y^8@mg%Wx9}qH)~j+g!(|Sl)h5n*yl#1pxAE5CZItJD8}BK+ z2D}&5vA$%?C36s6HgO&xj?6)H+j#fl$s9zFjaQDBf%lR+)~#@vgXpt~vlLI}Aa>Yz zg?KUt(Qo4|#h)7S(PgtE^`nO zHgV?Q$s9zajdv1WCSH_{cRXG)-Ye=@N5f?fBHAX-bUc}Zh_Uge;05Ew+ITT|@_VaS z)v?CGWey_VCeA24nS)5M@gneQ@DgpjVR&VDQ`Pk~7%p=VNj7ngrj5!R#7rA+I-dO2 zD%r;Sb_8{Wmty02@S^ZuQ)PC;Wey_ECeG)0y*ziP+jtS=V-sG6jkl3_O?a=XW4#5h zg=g8sc@?i5FWbgz#4EtdvGJb6%ffp@9qTE$%t7SY#Hqncz{|Js?#FZD71((9;DzE% zQ|GcAE^`n?HgQVv+VF~Pyd`+ecqKO8^?0>-Z>n-FhRYm8xlNqAm^YH&S5??}Wq8?m zl{Vfoyi~lm)UnRvSTYAuZ4>8AylA`{8?TfxZ8%=7jdvpP`gr#Kr#ja0aG8Usw~3R8 zw*jxg#ycFZ4zJP1n~Yb1cbGa~F>slKXts$n7B2^HgN-*5FAcB7#@i1s5$|nPu3>PQ zgJ`vh6N2Z!+hpVI9L{_V&)01>-VVHWym!>GzJ<#iM3+q*51#y{s@ulv!mGsVvGG2` zE5dtM9qVJb%t7?o#My|Kj<>_cdlS!v*Kgy!f+xSH8m6EB;W7siJnXmkw&(EV|4|6F z@t(x%!V90R+c%4G@Cf5lb-zF3F$W8 z!K4?7mto^M@hrTL)UigwWey_CCeD6%t$5isUN~MOUXG172(KFNV|A>Z5xzNyJexQ> z@bZb1Z{vM~mx)(k<88%D#+$CrR~KC7Ac}0_e1;c=S8U^bgcpogV&lDw*TZxEC#qa; z!etJk+$PQ|cujZ}Hr@+(HF%XaUOiqJ-lytVPr_vmqS_|TBY0VOH8x%qUJ72VjdwR* zJl?<5vF?BezHipX^X9+M$9}c4eb29t*owsa5XrM?Ap9owC2R|N7rlkvK`;4L&-NMg z7`hMLj&4Q8=q7Y6DnM7FOVK~jc_V|DDVBN^}LvLG#ch=yG%^5^pgoKsO+XCrtc{P~baA@}1cfx96=C|z1V3jcQTXt_S_9%gw-?CdmxB{5@ExQ|FIWY5Eb_K8u znE5TcMX(f@`7OHzutb>oExY-!SeW@OyKGn#%>0(!1+Z{fvQggiVEvQ1KN##RSP#tn zwtX6`4Q76y{!~~CEZvBE608xHVX&F7T3DvRT(C-5mcfpKmB6wMHXT*~%Q4tgSPsnm z{(CGe17?21{a{!MEZ>Mb4weWjFxY{xSXiOKB4JUmB7^M*3x^dOY%f^HQE4T1H* z$_y3^YlD>=Z0EkzAFRS)KfxMdl?MAatQJ;fuwGattlD56SP87gU|+%tV6_J0KmPRO z!0HUv2Frle8|-6P3ar6k@52&djRt!g77J@K*alb>tl40%!op!24E7?dKbG;o!Jdcp zz&0AJ9@YkHHP}g_Xd%4fYe`odQ^|!CvFp zE(aDA<@;Tn{QqoCungEfqj#~Tq?ZDlIc68T5tay>Ww2{uv9J>imJf@9?Q5iWB`h3v zq7m*gSpT7X|HfeRU_G$e2FrrA!S*xKJ0I2p8+72V{M|}98ezkYaAy#%7Iub_UMj2- zHrHUYVI{B;M%=4OuK>2c!DbLH2X?LzHxZTrJI`Q8z*1l#M*c1$y+qgnMtYM77Yn=4 zh#Lcof?Z^=@vv~%#ReM<>z~N?YmD>`fc3!U8Q~&eZLmuWwl}N=cB#R_V2!X*MtXx_ zwXpd{I15$@yUbue??e5;E;rcsumad%qYl1-<-o2m!u7y1U<(Yk1(pK4(qJ91MA(5w z{yu}n!WJ6gHo>A`R~hUBSU7Bv!QO%OAHw%%jP%}w^}rSz;hJG>u&WLB608MwjltHz z8ewCM^qzy&!mc&K)xj!Z*BR__SPATUgFOr@fDJIN)j?d-Ij|dzaQrW`o($Mnum=q0fK|dCG}usB3G5Ife<82}*h5CR zAXpCUVT1KMs6W^v2Kxb)0-I>0_bn_D_NWnV8!Q&~n8BiXc8Y>MZm>?mg~JXt()%3N zKY=wiMz~L4J+LPY)(UHbJ!PmNcVHvQs273gS0-J24_W&#r_Ph~p6)YCE&R`X=DA)@Iy8{*u zn_{GQE3BXY>ukLdZW*ix_M*XxU~RCM40b)N1vb#=o34g6!d^DQEriv=UNKlMtP=LB z!7hcBz@{4cy9ibQd(8;68;=NYU5)&{%4V0XY;U?Yw6ZiO|%<{ROb z!D?X(3|0iIgvH2j9UZ=J7|1woF5~oKc&y?P)L9<#RtL@ z;fad>XK&_c;RhP!*a3@#C8@CA!h_+-iub^K`9IH66#o+524868do!#BmZrk~3*G=v zSNubGH9SM{cj0C5tBkbYf)&EDRM=*C4m?}&7vbsf9K|=&eGeO-Co840Jxa09}SIM^~bS z=z3I!o8x3U4@pRRp>GF zEZTtHLz~fdH27-Pzo2PoDoQ|c=rA+|2|ofIg^owb=u~tDIv-t%u0q$MC1@pj46Q*M z(3fZ{`Ud@kcA}7Lm@7kJ#&$pU9Z0rOXabsq;?QAeivRDU*v>?AP$oJbore~p5>$iU zKzkPu56wZBqU+He=n?b+dKYz~AJEWinaA@ho^1j;0wtk2=NHz*xZrFHw95;nU!YjeA!xEDKhy!u~Rh_fGH%#pC5!0`C1@h*2JS-l>9D zs_;FeQxCt|IOY~uGpt&L-3;FZuTlJ8@E&-r;vd4TXub<#q`eX5fYqz8Z^5JC4T?9z z6X1=CzX(r(k1@`}^RNt9vkLnxJQuz}@h9L#@D{}%fmgtw9Rb{x$6tqmirJntmI zvsBtLN0|=KR{Y=a9C(i6U&9OGOO0c`Oc~2yc`ED+@M?Iz;?Kbw;02051#f|mGtR?f zur^qc3d?#cPcOV!@%!MxG4$bzv);=S314R9`wmzPtXzd%Lm3m{6^hFoWh%T<@yFm< z@a0C@55e+a)hg^WJo6O8YZT8VFO~3G#qS`UI`}O{+PA`*VD&1j%u%+&8x%i_w7cPr zik}YehmSYv`xIFCA@tQMY%<&l-=O$$@OXHO;)(ENc&U-^BVg&URuy(CJO{o>@k8N- z@HWK{f|tW@HPUv%s$pF!>_~V6yj$@IcniEo@x9>f@D)bdGdX9yus#)bAYp?i(pM|~ zpP{rhc)#L5z+>SF^ZASHg4PcN+P-4ORe4Q(JAVOc8d)$k4QY{m27ZSWk$FN62O?=sS!2eV@7Usc!(;1TeA#m|MuzzY;V z6P^g4VASgx%8~*rR$)^Jn+Y#bd=@+pez%do8L%Q)xe9v}yaHaK_!W$uYvGlOPa%90 z{2n9iiLi~ZY85sb-UY8wd^CIqyjJl@c=)6-?t6{2_k%^j>Q&fb@Hlvb;)CHy@J7Xh z;OX##je6y`o1Sb~vkLn?ya2vI@mT7l4DS6VgwYSk^G-F~`#lJQ%kxeHyhWw+IqA2+ zR~hB}1l9&?RbfAX_rf#GX1XNZ@?qr_Zexw0*irlsjyDkRU*7c@il}`g|9Z! zcp8=o>r-JLhv&g}DE<(<7~Ze=YIr3)%;;b5fz`r-<+rp({qfsyPZK;;@mt}o@NmV8 z;ob22jeOq(+X0JEVXuXUPoaNRd=cCUk5c>!cs%?8Bkdem5-eJUy$GHTk5N1mo&%3n z{A_q3{6Qn_Ghk(~cop_kcr`ph@de!f8sLeF=fGRwhZybt7}98iC8@Ba>FI?hD?Sb0 zH-&j_#VLoU9sZD!?}K3*VQDJtSa>5mUGXIHR|C&bd^q9D;SU>WJ77hyEEP5ko(s=b zoc82h-^F>_tzG>xgmDkyA2HJY5tabUQ(?b@N5k_K-v)QU3l!f1@1M;3L!-VsU_G!R z6_#t)vk6YS-7S9~!JFYFif@G1!5=m9{ZCjGtXzeC4PFATQ2Zr$KD<)#=iyoK$BeY; zb3JLWY8CcLxC>sRIQ_hLO;@er55OY{|G1I%Dp)A2UWL62-ZzQ$Pm13LZ-+N3eha(> zeyCC3OJI$#W)-#&UIX8t_|@=oc#GnB@Iv?#M!qkH<-%H3*m-bS%e6`I3*gD{HpS0{ z$HSjA(oTm(!@5-1)8Gzxx8f=A{#btRp!h6!H~c9h?HRC5us#*`D0nk`hvJ9B>)`#0 zr*luMgby|P?}>yhfd$L&{EYrP8lDdiReUr&3m&d`Bs>-Vw2|-qVEtTY5i0C3csHCe z!*0hM3~z-;DINrGfZPE8#JU_riFD}E8Y30|Uj zCcGB@ypiv7V3n|P74{5xF}yJo&;}Gd>cFt{-Tj~H0{_4>r!Dm2rFwyyA@}C z+q2_P`ftTQf_K4RGSYqz)(Y!WVgCtlg6~lLHFzz&U-6gV74U(^T=Y6vF)Ubq%VzZ7 zyl3#_!9x{)5}pYUSDben-nFAI8~J_^CTmBT%h@gMRqz;iq~dqMBj8br-v+nfuNZ0b z4#?9xk^WnST>@`|$0%M1-vEzQ{AzeT{8b}u-gSAZVeu;L0qkW$TONS+?u#Dk6NpSD)rH%6-&pUB&=J$3>JB4(j;3E1w32v(eNU8j^dHTS@ zcftQ@q`ejv2dh_MpN7lY&<4dHhlj!&6@LiccQC(MHtM?y)&*-;Vef%&gl|y19Nq|T zQT$eT4g75*-^*YXuvQiJCU_Bilj7IHbKz}@FM`XO(07cq7r;_rT`Fu2JOSRV_(kw& zc#qQ!_Z3LiRmge@S??ihF^bUD=qhwQlJz0i zqI`5YlJzE+Az61Jk~D=$dZy0cZ&`ye8>Oo43H&YV5@c<}F-X=a$eIUPA0cZP4oAYo zleHT1x2$hC6vVbLn=XK-258Kd~e@ECZk;_tyD;2#)ix4?p7yr=#3d`Z4vhxf8xF+uSrxUA<) zRD2zL1N?B~T73@I083I~pMqDzlNEoT`$ZW%Mezp-UjYBm$oHp=%W`08D(uUokq%E+ z{C3hvf@dgR0*`}#WTd?m=7eRbus6WN;k={Yt*)+t?-g8eWQBG_9c$2>y-7L+mVD5Kd`oQAjcF1qd`d4dF_ivAX(=%76sOX$r>x^mt>8WtQC_r zTC$Ey)>?@te~Tx5)I>B6NjXQNNF?h<5Ag5r$98YD7n1VJ@ul4VK|7F?{byvsrCvgj ztoxF5#`q=mD94av$uVW^ndI+8Bx}9SM$-RgAnB7YLi3TVpOe1)I{)?tw%7aj7qHDm zvW8G}ng4HL^N`ucpTpm>mMjfPAAd5EeqOdINcwE)yJs2ud6elIbUnHOEkk#shtQ)) z*6Rk=Nj}5=!$`c<=pJ+@Do1yrJJ9W@0*P0N9z-=r)@MGBBt2Q9DO*WT)@Z(j-azl6 zO-R=M{>zZ8$ISnH=hnb)qAgd|=EzXS24|JKEo())Wu4I(Y87@^R*`#e%L)s&?sNxP zsU5-A&F-NVzl7rNP)C`2kX5yL>dq;fL;Zdz{y@JUZumvsbkFGA6KQ4a!L;J{U|O+z zFs6ws zd3|>(&($e?3oR>o(pSUksy6rjXQ#)4U%mf;t&WsQUxn6{cEmeYyJZ{^Zk4%%95RMT z?F@C?(8063djMkyi}66X<2JX97bM+|?+17sDeJrEkw$#aLaUdw9i$V=_gN$z2kA%} z(ZsDM?IF&p&N_?V8hX=Sy=BD4;Od|i!@KSv7EYbZ=)m!2vF8Pac-sTQ-RCP`xk5;ZP-8ei+b1-SjAJYn_8IH>M2mNc}lV)_2Ex7Fxf2zH>|Osgu5nqV6vK z;^dBCS7FD1D$12f*$b;S53tfUhdWB$4$>QFReTjjxvb24+`(mQ-IjAkdr0buq<_Zd zFw43}>g}ibeI5x%eN%Tc+AYVDb~)Y&FH4!Nt--m=I~W6Qm9T>dv)vzlkX6{u7;&@Z zd~Y~;9uexO7;afN@EW9eczEV2IZr&x-bLB&aYv+lHsx}XiV_4Ra4y&{ynEh}WlhO_jk~(k{wns|2T%{cmmXwdQQk&e8*AVNT z?os4-$3Dy_@wc>@5a$gYBVg&NL){rD4Oy<0_$brW9+bMIgL>!;;dmL=?2bXk@rH1` zL1l&Q(k3Kdl9v!?)#mhE(n4uvL*2F1Lx{DsJ>4Q*tE!VQr1i#@l-$`JLF8HDg~nBF z&d8kIVP%%OGc4uuXC1q+_#!Ys@>8Fw{GtEj4)-i=Q6ITaF>K#(Jpl!OdSo`{);DY{-m5%Tvg}u zcZ9$`BV4Mq^N|_Eld$Q=_5F#|1?M)7b0PJ8?cE`sIO@`}D%`hPcXc~5%Xn>FwYf03 zw0pY0PpQ5$#1kdg-HP?y$xkn`PQHZSF5@&0}$)VkMgl}Wxz z=?_Z3iYTKkp-5zLj9~hY)cffxa%m%lOFP1$4HZRwVwE4l5HInu^hF+Zl{pTWta!Y?BeT%mr zqTEp&L(atulsmX=l{+-El>X=Db~#6b3t!t3)5N(cT;@K(TG<^Lx5}NsaT8HU?(yw| zgG#!k&I5f%49Ata4jlKVlju9D=sR5W8<-uiCd z65}dmDVDFV*}-?i;{El{`3y@m>R;{)a(??cPK0reqKq(dj-);$Pu~(w(hZ!0h$lD) z>fW1TZFCRFq+RFAJs`C+mSal)bsqU_Pc4!@*n2;eI(y>zK2M6(O1@J&M-fh#l<~uB z2K>so5pa9C^Edb5(@9UR{lI%2uh_~uBy!?^f!Z?Rhx^+L!i(4tmhXG*Wj<$i}Y8e zw}-%X@2@1D*BFun5Aj4wzg4=vJNwamD>jRHI#eY2p6$!`fLkVQOW+!z?Q{R&zD^l}T++8xZEjc_ z;)%(XHe0p%Irc5?X>vY-9V>?iSy$}GyvxYQxYCZjtvkApU%q-<1lN(nS;~0KcYTG@ zRwR75W0g1jfij1)yl9(~JPo*IeNXQ#>$?Zhw@R3vojb!q%Y4_C)Pc06D;q*6hcAsT zd?}k;1GmAcKW`iQ96pfiC)`Qi%1YhAxux#0p@Y3?evB7G{yy5dbE}8CkmE@BEGO?A zQl&mixxcMwm-C-an$qVVb1knM-OMp9{{57mZGDOY_lIEWTI#%pZF(yA9T#<8<+~;%9~p5&-DgwRuENvq~7oH*5h8(V|v_dZ@uSG=h@VG7ImJL0RMcX}Iy_J}&1!-l&5w-~+i=hCAuSf40^Rk!y^8+ELh%;27#ol<^6&GMl)!mAfNdvogl2`I?Xi#MmUf9KAT zNhk8$kji~K_h$O%GdsQai9+rZnZD~r?h|pe9jVj6J^NPjEZ5gy?h}%x+$SV`Y3tHI zOWjYslzxga!ys!(dps;Im;R#c^)2a{vpX_rt4U6-55f(m?bomW!IQ|jamm<+Ip(hn)5tXwaVnR0yv#*Mq~^}eu6 zJN{1Cz}S+!hM8kax!1TDvq`?sBwX|UeAkh($o08i+9ub>e#GJ2b)-;NVNUuF?r+jJ z$TLD>>QL{qfs3s?8ziumXM+={6G>Obf`K|2Px|s4a6IkH3VUw*{v%gy)7O=?eC+nT zAo{bgr@ekSZP^SXzVwkx2{U5(&~1_j$;ea1+iLH$dZ7{Zi|*i}C>r4OOah&R@MJ#rnobDW%yT&|B)#zKR3^CB zS?ZSmt3|?PIHmr{2j}2o&RL)h3{q{t*G`H$K29FsN#~qBdeg3c@?rMP`j@&-qV6T! zF;-dkG1k&Wrn#MMWVVo+~?_^|sUEj>P3-w#8)fT##DY5p9*aC7!eg8N(%q z)ol;-iDSu={4L`qj?u|IEi8?5BTVY|0RE1pUZwAr>uf)c6F4vXh(|o>=l6vN&dE@? zq@PYbNV>t)jf|!Gk>`Mvn5{TjUrs!s!^_w#EqAC} zo*%=)O1Gu5&84nr%N?nXq3&x5E6n$+5%_A^u^1&^9Dr zsnRy+qassx^)y=BZDxcl|+ z>$O1r$$1YU-F;~HDf`J7!gnnUZ1>Nc*>#lR16o&UMKyDSKMy4BAz&%=LKRu@$+Gmhl&V%R4r?Mt$$t ze7-#Q9q#w#9b3SU zr0mj40Aj`xVo@v^y(NZG3Jr0qXR-}|Ih)V-SH9+{SHjYK(*EV3F;&9)jc`TxWoUSxg2 zHne(?b?W)N6MrDzns+Ym<=MaEEWTHR+U{RuwWA$Xi>xy;So^d(-#YhfzE6&K1o|eO zchV>n|I~AMhmTV3%eVfHH;eu0$1?u*KkxkBv(B~kyPkEfW?w(+OySxHJnJxy>-@cE z9XjVQc{Y%HgFLsseVeZ>MY7*+^W1SH_33@?kZ~~e#@Ifr(RlWlYt;8(JpJskhVv`q z%1E9gcXGeZwZ8sR(&1joa43ZN@@BX98IWhK$NYI|VGN+3wIVr=q%CoIcKP*LYr1j# z7vcI@>vir=5@#)*JZr5X4>zV{Tj!y`Gfy7RI<7LFby9iO$@M*7%JW@P+)(!z>N+lS zws%|`<*j#_rU(5h z{^4?eS-&P<%&RbVX531@B5m?Bj+5Xo>lXYZ|Csh?IewgPoV3|n)^eV4$PfJwbN%jH z{AK+VFOEF%yt7rV7nzqh-G4lJz6`Ka{7l*l&v~8F24sy?T;Xi)r@m)T$6erV)N+JNLekv5j(r2GR*yAPK(;Nm`Oo#Sl-4#qdRxnF-N_aTet zlb~E{Kku`Zb))y$N}j8NGG+dMuJ=9{ZY}f9Y03RJYZl{m|Fcz;ai5bi40Z;$%QMz) z{XfrHQeNq+<#?y_ex%#D2gvi)DX>lS{Yft0^OcORf~=&D2=Qp zQ0C6lJ7sP(sBC#h7;Q(|O$hg9nM*O}M5mK)#uVN;(MZZK=Q@I|j2mPOCu8JKF6RDA z9m{-rBrJw@5#oAd3;FP#k7y@pO8Rj;>#W=T`6@O}+S-iv80uV}ui{*c6PUY=l`VA~ z!&dSo^UCIPpM!i2mO1_^#^_~3d8V7)5nII;NuDg%Tkc<&7{cYpk6~pxysOztO*-2d&bv#d;K>u>xN!ixf z$Z^jiE91CqEB$o7xp(&>YvWyutXXsBS;PO9Z5>^bZH2GQx5o0f-CXFvOkaN}*Sw2- z${eWFLFHAu<~R?7Te)|6+eC!4U#HBm`{paN>UYhN9zr;o8yISYk@Iqn5ynXv?|TW} zKS)?hg-tcW{@&bb|3$mct^Um4zc;t~170AnM?B}-|2N0@GjprGckY^_{Jnd2*)zND z*`@63dp7;(pSovrzxLj1WUkE0Ec*3+`S}Xpy<6tV^!+mB*Wk(6eIBfb zb)3JMAEl1vU6Z_XGVkBb$$x!*bQbxheg4<^(XTF~uPOU;^P@QpyWhY6zw@I`sn0(- zKN>+jne(F#|KEXovYv;K`O#?74=MD`k49zgx_`?UFL3|y-LsZ<96;E>eeJ*9zxO6w zk}*HJP_7f&mYyG#|MUBg=0_*`@9{F83f$xWb-ZtWbOP;kf8KXkBcI#e6xOiadp&WS zz#Mn5wvHkti2=VCSy!|RX&^JlH zWjhC1#vJ4?^iM8-|KzF)qO4oJ{V{!tv@7N;z4uT0)R9iwEp5fyrv~OClL}c+Kp!FV zktx1&^@sD3yUj%s&pQ{%);kyJ?fZT^7kM~on{$zwe_}4OHLH*J*1ma2nS+#bB=f*A z%t6Z7Q2Jqc9*}YDrHoyq-h|6@#q)n~{$)NgR?a`;N;zjysk^Rk-4{r`jV0_~nUnnS zINxx1RBXdss^Yf8c{z2Wy zGea$P6HXr~bBr>NFZ1C|Ve7ZQJaYYZ$3(|=$C3MN|9Sqd`N;+~KUr_gPu@*hb<9sD zl=`mo8lF?^<|iMj+jYG&@3!0ge)0j1`y$VA_o39=7g?1@W?L1r`Tq%TTV%b&He%o)wjZA62wLY2e zYP0`c65pstsilj&$|_l8y?g?{n^~T3y*ZQL7P7 z$U7f6sjBk-pV^(=9hOxGSae-i9dy&x$VQ_iqZ*VHlXOr}RI0(WU5j+mb(hR?)a7rG zqoN||m#O?iMukPj*R)neC8Hw4zGzgtGfu#+kQE6k6^Bm$)`CiW+{ED*{&0sAOERp1*>{5LDr!X&XUP#?bS8l(UIixye z!sZ++fbfQWW7?%qHJ^WKYOxr*T0B=k<3B;YAd$X z^@s6W-@G`v&^EG*we3lkKbqg413rCM&u>3W&-q}|+UdcxQ#g(~vim_i?+>OY1QR}D z3zO@k!*1DyP0ZRgWe+;}L2v_nCga#QtJ2u-!iQL#uVmd+U*yxP1Xtq0A#im7KD_;x zF533=tN<~x$b<1zR<@xkbcQL61N(0}(T5(2u17B;p2mysh`Rm!GCEEKI*?vkL4E4; zf6*tcHG=g@-b?-$d=LBj`UReA9jb~zUn$4-ISCy_-+Y#L6QgHjFF}_&&~4`mo;9Jj ziWb6QM=uhbH~8ARRNtYuLWkC-nenxE5${BYvSZanfGz2?In{0R0^YwD9q7IIa4)1? z^docYN6E#`b<24626B1!ea)Tz>;-M#FW3vN<9D&W;Bsi+v+*z5OFYxb(1PE_zu{{R zZe-sztRuy-MdRtKr@w2jS_l3cFSh7YK0JhYSFFDu2W@?>D7HvtE?Mft8xil@1B+<) z0T&kOs@LF4Du(4SA1s=G(|xdf$OlU$?}}j=3M{9&?bK|ZWaG^U^0vmpSFXr^S zlrkG#I@g+^ykY8l+T|zWQ*6-9_sykf1YdIZi5z5 zT+Libu6bOuxYFpPG0_*aC!5}f`=GCg>Shc@UsW0WG%3~{=qw%~MhrTe=+^Vp)rET2 z@OvWgDBj(UQ&MFe+2Ux`7d|69jWP4f7RWg0vWv3IzU;^rw*<^Xz?z+vc4Ba(-_nQd zw2b4Yui@|YH*!wvo0t}cGB}Jw@>O?xxEe8=UKXp;} z@s5+fh+LL5rSeg{8#<`r+quIWo$=g{I`%A;Rh`HjT_1;L)J_`O7H(ueyvow5{!Chd%($D%8CY4 z3CW|xd_NBl?P}X5I^D#0ZUXjA?pUf18bfcqWS><(H3#+k<@wMW{Sq!u=Wo%pc$8$F zi+y+;&pY8!a?bTWJbp;u>;;c^yLkMB507e3czh3dJRN$`-(Tjp?w{Z;JYNhhgaZ%m zCitEQH*!wPHR)-mxSjibW@W>H=|K=qBLo{Ew-<_5lb?#*%5rI`5Z zY|CFgxYUOB{%GAAy^vf$Gr6vDczwfkhu4cgSpKg1;XRcGeVMxUV-1q+DL9EZ0{90p zTI^-Xpxj*tOeF!$72z?3T&%wvSUY;$o#fKuPd{sO}9qcWL z&!Nv#azQi4&0SH5s~gJtu{S#we9*r4+p(|>y8VYn951!Szw6Un9~<(IafS3J3HKkTWfg73i*SbGMWo(D5K{`yJa@|-lLyZ zE_dJW@4jE}dk?)=E_B}`6I$G?<^450yQb2ynaKv%cJyv+mbcp&>q(5Id{h&;E0!{@ zzulNoWQATa)=z)9V7rV`pJ&gDhgs8N#Bek2k}nE-FK^%S@DGVEc45+3$v5>Ao{3lO z_g&WYl(T1|lHbPMVR01<-(hv^qe}|1OmQ613)W9|qm8+j%+x@;^<1O50_Ifo)k5t5 z!{rubcC+b7-H~>}*-0uuqKd?ONpdOukNkS#LXs5Icf>nOO8pXFYfE z1hpfX`}j|@PmI`qwXZ%YMrcd~TYnUq#ZMVbKDqh92X@+6M#)%;`(GH9JUqT5&Dvi| z-LqsH2fk+4MxNwehR;N?BH}Z$XMbL}&!jpu50aUodC7pyaqe8A7n6Je|H1?jS@@F1i zp1XMDso338Hjer$ho8(I*;IZ%zLQ+MA2CrAnZFAY#62?)(%b{YcFg1M?dOv`B)LxG zQ9+v~qqq(yhI;yaoDHp*C$k{CknxdBljbg3nP>2YFc$ZIO0=?|V-B z{ygTqTd(M{jIvFi`DgbSXh^^HPP}gH_jmN*9r~#B<6UDT{QPTNN%um=Uh=5sbux2T zeoUOPqEB`7Pjg#%6aIud(V4#U+W#%zgCoY$bftZMIXlNwzBvxQWSbJ5iN+p#U`O}G z_}=u)o9B=4O#Ir!?#Pcx-j%<+0v{)3^!{Y{HL@r1PpQ22ALto#hrK|udlJ(|S?xQ} zo_v4Vuv@mCvYKEb|O9%q;hN@!ez*-xY5ZpA1unWH7a(HQbZEq)+Spx(`VPa^7G4 z+Uq^~ne=PDU&H(6*Iw^hHb?EobK5ARSp8!AM%DcVJ^BU8#PF%5sY7FY4DUQy_K&=i zeWKVFvukI0_qDFg!rC_;T6x$rw0rgkIro!m6jwdhFs^G{SpGm=)1XDIoya8cOXUCW z6zo*Lik>ZK$tzC(p5&eQ<`cAi-QSoX^qDAk)IL)-*LwVm2umBnD;lb=kZ1}d&?uVeJE|8 z?6r*#5INS$57Ke8_O7IEkB6+|y>u|?IfBP)^GTkUnme%D-;vi|gHO9{wewtk{5ihE zCr{)IWUiy#wk`*bS=eQZ$9FOHdb-VLDKibbtT(<7_}ct5@A?|w6ysa&+N$jM-oNs& zDZ(*rpU;)xa{jG7`L(0TBggfZV>sKF>(Pcw%{RG%Kf201Jge3GW<--^Knq#V5w1j=yePlrI zOtFa**PoHC^x1D8obAxC?6=y(A$h{1mwLv?t3&o%(XQy_WZ&31_FKo#BYOGWE~h^2 zI2RdJ~&UH%xE8+ zzwp8NZr-UaKR)jO&goD4;Cy=JVMlAD1_f?)L&MmCA&5a$}-yl6zeqrSv@$0Lj&qZHlpMrACXfK7;RnzFIG3lc6^$6bH zdns}sbZkA!FB6WTo5DA$xXZ38{YtRRxlnOK%Hh&RJ{NSP6zg(g&1U(4HSg;p{7tzK z^JU2QcXm%;3}cLmbk_Q)c-#1nNW|GoA^B7~>lEF=A-*W|VRKR(xTH%+E|H$}2yg|p zmm*HShBP`yY*BU!{bl?uOeXOJdnufKF%N*F2)_kuJ?(tY{o9kj8U#zk(K97~RhhZj zN2wp*C9pYrC?v=CE;BE?nlfrbWh94LJ>0DaJ?A0D&&pBXr`!~ki)V78#Zvkm15VM3 zr5))`{H=cK8-G7nLLrQwjIVWt9_V^GqG^;d@l@x;}CJg?BKX|2}qL^j?hTwS4E%`ielo4!AEo|M&NHbf=KL{diu* zvm|v0&og-!=?Bjqj^USCeXqG!2JStY9x-4%?@5ybr{_I$s||#nmw+$Lck!RAk?W`V zcvK6qg5sItmtUvc70COu-*u_EgzM)=k_(#a$fL;H%{9IrxtZ%|o>g$IYHBrA!QaQ48jT`f3%uVnmoN$rLKQfd%6FB4CB`i zyjUcySJ)i0r3ptr2+)ri_Yn62EP~-v{4S2|_&j~{Vv%I~EnPsr!9(%BW5sDHpG7(A z3%Q!|+Mh?>n0#Sx=e(Z1o!d?kR+&(d?{TG85Jh*b-)Cd?;iRf9{T;>(iddatA8{{t4m4uRzqFI*=0 zxf}Aaq00dOc{zty%<0Kx_z2%rxa*=Rg1-lL_OuA@2IjWt;s?OG5#3e41%D9u@8{Xt zC^A)Kfz1J>cYgTK-zWUDvkwAGaopY6E}f;J7sVclj>^G}SbN zKWXfvj!tpCr89RAQyLmeEy`c^Ptis^r&vD49$gKMjY+hc=Gsfmr?{Fw%{)DrxKu8W z_QtvMsF>!~++Co#NBLb$bGwUZu0L9<900AI?V~m0lVSEoYZEk9#HV|-HiWVIsK(01 zqnq5s(h1n#9XTavBs)2@r#OhnKF4fM_Vgl}+kXHw7xB^D1fLwRM?WmxIdf(>FxUC| zu^;`|k7rftN6O@2lDW0lPspt;nUoXVg_6S-{5i0wFZ&IkFWWv)m_KdE zBc9J~Z+-dmciHcW%;JqnmF7RsCY_+~O)e6ckP8F9?FVDyjf-Ip|8xNTcmbIFd|<=? z`teg=Kh_rUfnI#fHzwZ$=8TVz4W}Q=d6tHc)wuXqAJq@pLZ%G>_8%9)UONET7y4kY zDT2K}9`;q>e96bd4hHrw@vH+LR#(Ks1p6`jgnf2)4sg`5Mk=Ri{dEqHd7YT}V!m}V ze8S^fJ9+Q%t(D>*F5mha&wK2vF5il=Hi~a`@lJe;J=9%mKiO*PYOp{4vdI{Jf9fFe zba0KC-fC7H$aAil7q*(+BZ;l&T6saM`3(0NTwZ*yVteg68iSuF;hS-IEBzI(Tlnn) zf1A(mV*WOEfc))HjUzl|Z)<5S_$znUqL)nXxzsa`b{#FOMOBR1THiRnet`+7~t9r&nd+w!^kLqK5 zh)KX6+E1@9gZ!a{w%r4L(1TqchLWUJE>uIhFH5d9k$jI6&;5_8cq!MGa$7 zhkREOIi+K4oBVp$cc{;ylyVqP$psSgoID!z7nPxxJ#3QOSDQy9?aL#_ToIj!&b4=O zJpHQSx1MQFz=!$U%XcXGBMK~Pb2N9gslExf${TI<0Bi-vtE~j~qLkz-;yS>==oGks z2BX}u$60)8f1CE0)YHaH)@={Rl0OdT*>u)z`5D8&p?8{}-)2rmeg3>X@z|Dq5AE-5 z@0{#}^^{RRJ$sV;=bo&LdWB!m(dTL@=kWm9o%}Mj%890=_k}43Pwba27hg1Ry6haY zZ@T=S?_hI6J`i52z>jG28J>+nz7Wntdmc@CG#E{uVdFH^w+iSpuuqztn|&TwOva_j z3^d7QX_9*}O+GxiK$Eg}TAEB@^8`liZ7Qb8``mt7noRg;GUMn$9!=g!zcf~o6GW3s z_}in&p`uA(u{6ou(j<3>CJT0@g=#D1*f1?krl83h2mL{PW(PJdy5~0|J#_gw z%6am}`g2=N@byNs z3vTXz(Lk8FF1xAh*hAG;Olv`k_~!XG7A(YFx*|M*y4jaVTjki+L;Ni|DK~32d$wuK zf4^;7^I!e3^Pjpc&s^`wc2g#kN5wtIVV}9s;ipb6^tN8P(BsUfo*1`eA;vA_;!yd& z)vssYN56P)bD<~QTd+P64Ddg98B%}PCd1`I0t$K`OnK^r*s681wbQoK%Usn_mLXtyHc%qfkN##L>OW&Fl)jms>`UqHJH6XH{|JH|48!fDVv zu~~ZtuscvMathyQ?YNQrLGn3?9z0*bIE|;zUr=eLuRz*xs zka(9+gmW6&i5)c~a*vzqJ4_@!va0>&gX&~cbH`hGT>>%sKtD=p17F&Lpt&(yGAzA0 z@Dg-Rjq|uNT${M+z==uRny>kHz|IAm8zQ5%WcHR2xxcG2v-4rDYA&70R+YL9dcQ3n zg5CpZSLHbhS%6W;@8G6rhTk!T(nQU9)65_ z=8X0xRE1T>^UH8ZKWNq0WwI=;@3jQke5#_*e+G*=) zCze$Fx8m*QW~-9)4cNonH6N>iM>6Bne6PG=Vg4@9Jhj=x3*QU=F67~cPqdmT`(0*M z&Eeb`cMR$ogJ1-DOTDr42deyYjxnqR2GM@;oZEGR!%OU(i@9@-yZDyooOsDMfL(q% z*4wl9w^Rh?Y^hE=vRybeCqD!pTFpHWli$$Ehgw6v5>K{z zo_2%2Ip^)Ws3J}}%vGJ4lmCismoq4cnHJ6~m~Y~nCXupxJw2JHzj^aV+6eHSM-Pi9 z!OQ$-3P9I0d0&!*ugA!}M4!~3iB_*ZPw{uq(~TX~$vMy~xqQQO@}s%NamBbMa82Th zb4}rz&Q)sWYzc9%;tGgXDsSHg{dMhvmiD6^(SqnHN#C|uy-zuS;D6v&@0w=7i@1ND z_jSyT0B5QMiSv$tJ9~COrP;2S#PZ5HZ5m_fy((~ z)V=4^+O9IkY-u#h?`}4mZrJloC7tU~nn2g1ADUyQQm2>8?9$H^a+#6Op(mGF=Q+$r z`l2~2UVi*H3%ShLlVI)e8+~QO(;Iwcj-rgsWd?3l$ITc0v*%n0#SBy>zG3CGr;6%0 z$X7>yInEyE8~^zckEssY>FXS)pYhJ?!@sFpzaQp4kQ`@Krx(^{*=z$T@E5*Wa!qbr z23bC>*kgS9-0itBu_cT*SA=<;K;MGqq+4ojWSp%`BV20V1h~!p?Ra=YTr}&%;7&Tn zUB}_iiW3m+NY*KjSpP&`u&3!yIcuc!$8yezk&g^}Mpp7r8Rd4AaDEPJUMS({EM?$Y z`k1~2ta6euI_mZ;0a?%(h@#EpLW{ZE1GvhX}f>l`+VwwAA&pYEGNd5alAcWW%m`I+e!S?u^Kb+s*srr9nQ%I zxk6l3DMz*q#WZff)Q5j&D){otVOH0o@7g;P3C`L2%GruppN(xx^+H>WQJA{L{{?@< zg9DIA9YSr_Rn8=75lO2ibOcCD~hj3Yni!Wi&y8~ zaH9H(aU%NI7hRl4KfN_6HnG*rI}Lq?YXSj%FI~HD{)ip2hd++GsK6iJ&2yb)CYt%@ z-wXWkT|Ae3x)}UYe>_p>X2nzntRhzu>sr*Z;{bj?VCv5stp$ zD>JbOM`b=7jpv=WW}H-1#{yp+CsHn~v%TDPXGfxd=P2*0-F4@fqB_3ht3zv7jjxWJ zuMVwUb#5IsMRhd!>gaDwtNF%1rXy5GKVy0T@4PWR%N^7G1~{hilM7=S#r`9GcDgHT zYc6|dH12KwCHk0u)6oMaA@|1Jm8m)wz1BVd^K9O$ZZ`@|YtyIA^O!igysznnXHM|Yb~ zM)!P^*M17$4ezh#y}mEV=(Brdbk!rfrG=e6B`VLJN(;OA%9GR)^vMr4KTj{ZoRj?? zeU%KIN&jBZ-JK42C#B*wIirND%@nOk)&r{!oqW1Le8QRnRS>CH& zk7mU~y))@VXXBr5H0`&sU*S(%U;piMjV8|TdtV8Fcb)4Q&p~^Lh{(dw*f3y}UT)*C zd^RJK%5;t=_m{<2_*Cd{a_&gc;W(EL$4$!JG~x#Jr}IdU7RTSv5gdOVw79s3hAb_H zMT_{ukYoF!#d0&bQ+wV`M=1?<9KpD$eSP~9JjY)~ z&%AOq;8<%$Ikc=bQ*#0t6kMQZK{tMVKZx!X;&~tqJ!g=Y%>|OFvE9ze29nrdXis$e zjpGzY!EZf-uIZ=;B7bL zJ>P=xSqa{-n}Kub-BZYmCw|8_;7YVn3NA;8KBD~1Z=H)&4je%Po+)!kMn1p=xnDjByh`0C$1O&`s(W zz&^jnwz+ETp1g3h%L}*k!J9NkG_K-J>%^N91zz|gV0pNRH;EU1ce=w1zt8*rcp*Hu zs~R}1ECJsY4^!SowI#mCTnrTRM(sKC^Tu1Ke_~Pl;)!3Qeciv#`@QkTDfI09&o-J> zH#M7G8@Imx;|+~w48J{Ft>#rA%{ata)8LWl@$lKHoyz@JZARuz1{o?f5?=&zX?SEl z5S&dIEaQbOrrM;gA0m3SHjT{j(vL$KY~)g4#vI!WwAW=4@Mr#B zdhn2(>^sP99d{gjy2I}R0nSNNo}tO;@8swPp1`o{SWn@p&|H9=Lno=e1o(yKrc>XV zQ;>!5e+4LGbM`=Ap_pUSMrO{79!G*N$HxSmqOHst?6c_EsTg^Rr*$4lJDS_!L=C>J zntTZOIDeaOAA$}~>!^;5g-(-&)ClCsHD9~-%|eE z^EtSBJfDoP#MATTesYvaNOa-F@L0N13_do z#v49yUC%rN@3|rH$chv=!Y1@CV1lNxwF?Kg!DHrO&z*;DVO~C%!DqrV>!A8nY_4_h$z zG`dTA{`Dc|jMgvFg!N6Q#iypiQ{+dO3(uQt`IPp-2tJK%!Z)_Xd`jzJxjC<2K9yjc ziuqL7;>F=p=R?VleMhV@_8=ZQXMC#-YJiMIW`N&6ARn;0)_ zxCdgdoCdDvy(yn>U5To1g>jTR6&{>-yV-i8tU1aT)j$=SuIvmlUVu(Zi;9_nzxj zCl~mVA%?-qG2De$#V%<4zDyr1FN8M*d8WB7zp;1}aS?Xz3qH;FU=M#{52eeWLhz>s z7iJ@##3lY@5{@sSm^W3K0&iMb1aHE}n+!ZjYf#YTO(Em(rn7p%3*WNvF3F3ZhAAUH zC7xv%bK(Onj}qL$l*6OsD-e&;`NN)FN&F%JuTfr`05Y@I?t6gE;Zf5Z9>w>en60;m zM@jDu@tt_oC)F3Vo9cr{rNA|pVo~Hbmk+R*KWQ92AIs-dSE9h5Ci(c2NzAwWDac*? zN#iK~Gz7eeKWPjliw09qy0U0N-du5ft9kLgt!5lo{c)|<-Vw#V6T+4gh(T|0@C^>o z_ZIkL5wLTZiCoAoCdq{@)yOAe;yf9J<1BHWzhUK8o!qDLD{6=EV`ncA)3Q zu>{UDjf1miJ4aoT$HmhdkT1RXfNhf;y@s`x=`VexcYUg7%Jwgqji0>=$OagPu@_(U z&w)eupAe7?JV?H3{5aArc1UhcYHS^w!V~oEg(A6G?;bhd@m06;zAs-j{(g80xJb;- z-y(Rab6MJ8&>-SS%`(ojHzn}WhqB_3ds{=+4O(MTw zldLjf=zg}9Uk~ORzpcMUb)dKO<)^OZo!5scOP$}txevsDbMdhSnd7bSQ=fJ$yeRJD zMFa3t|K*Im`>FpnKtJ^awT;a8X8hC#7r{LcKlN%CZpqyP@lzi)06+Bz;CQos>dpVv z+fSVazJ2+r(>va{pZe3kf9LqAzkAHy{nTfHgTeMwzrW?}_fs#TpPmk}jee=_-^qd*H3*$cY&Y1i|3LPx;|dunc{~hEh&^K_EUez_kDkS z?$6Zc=W~Bj{r&K{=XvMxxmtLres84xf$+I&-c|5vdVYhw`KeFv;l%H!zTek>tr@T0 zUg*E)r~am|jBxZfUm4_}UTenRy9(cr=bh)LP8ZeD;j5$APyO-p`}R{`TU5tye06B; z^82Yj=&Qr;r@pMHj-UDJ=xtH$U~qDeL*YhBD6m#SQ(xrPy|{iO8Sn z_^9JI=jEeLSKy;2|MR^`*uuV(9SM1fr*AD-x%4;A758*4W|trz;Y& zg`AtipND_?9Q!T)BxGN5&`0nOVZTy+_-MYR{PVI;1)}mz>$h}O^inQsA54+2p6~Yb zO&89({?5_Je!y7pP2=-Jr&PV);+^B0p6~jm=lA2AmhD7#6?Eo^qbp0d`UqoI@J*wW z%Qwy0AiECR(;xF@ebZ;rMqj?^(_FgwIPd%O$GjQe^!uoaLX-_=)INtBg|8mby z8%_PJW;5&OTVH=azgM+3o7eyL#(mR)Aiim6(1bq@{Y}n|68*XU;hRRx?J)Qdu?=({ zeKIj(jBg+g4bGTLti+EumttqKG#H+ct%%7lJsTRFQlP<@XmE<9!Aktd_`%Qx6^|i3 z_~v{C-{X_M-|ug>{>IXRPg>voO*UudhXF70k$q^L_SdHub2JZ z^GW++Ea2DJnip7~wC1_!_2r`qK55Z2ee6=4>x+H*q!&1}n#9JBJxla@^F)VUWdoD_ zqs;oG@7SwPdO}@6FZ|#1N#6$SvhVzF_@rCiw%_SK>B~ePQD}wv@SpmmE9kTK!n|3Z zbfk7q9{6T`()$BTUq0#bsm|Itg!ldNKx}>gu}^yYX?^>o|1!nliCcNUH=Zb;^fw=D zG?6Qt&BYIGeSH+aGgtiY_@wjiVm*ZaX}>_RujkG9q;FMyi8tnxPJ*wu!Y6$J_4ehH zz7HE%Uq0zG-STBcexFcyaD37qu=VfhlfD6XAc-EI^k}!-o^ZVVKIu=o^dVR@cLw5< z-hJx-j!*i8B3K9Flm2ZFtZ$7^`WRq(BR=WQdghP(J=iA)!zaB>^(6{+)`9q>7lM<% zeA4X)vG$K-&jVMqy0;twMBbRX^ZUqQhc7^=5q1pSO5e)hrLUn)CsK-;!!FXpF(=Vrr+c5Ir9 zvS0e`E8W^Rt9SbQTWjDQ{4H3#y)n>rrOgWzIT>4x9slPA+h2fbHDhgvCskaP=%(I| zyR(012zALnYU`rBm)mT`saKf|RjuZL&PKE3nw?#qP4?DncG|r|pXU@gkG?%0&dSf=yfYD4T!yc2sgiB%-W|rNwkn)44JpcCd^x6f;47f&X6l=S9nmnDm#=qtIY42k4~J5_uc9+ z-|M?X0bYIg0lrg=4@pBTOvHWE%AX>brWL_-v`e2MA3S@j*V0ayIj_A-%=>puDes#1 z$z~H@&}?>0Z#HW_cGVvHYs7y7^gD!ISpBsy#|tnEuJ`xb*P^lU^;O@gui`nLo!T37 zJH8Qk82DL@?`V4a&G~=7i?$<+EDR2A$+xqf@qk}=-<@=JIr)#+V=a1!wD*jkiFD*P zMN`;wuggBn*?;Z)Uc-J&YJFpK8MSYmtM;|orH@bb;G+2FziI%3g zb6)%Y#6Q|x{y`i%{6TZZ;UCU>?T>W$NAG+t+ApNK;63o7LR}S>*Ysakfbv=!C39&V z_2-E3o_D^|Xx0sFGV3dw%oqOIXujRv)H8S6SsOa4ScCb#c<$<532W>x^`1E+c_9vO zRt^oVsTGe&zfhZ;mxyjRmUo)xcF&OePV;+uy!Tq;twCCIJQz>;d6OB#<-y>@qB?8) z;jFvN{o0A{8akn94L$c{N5&I;@-2xcBR2z^vmZIY`Xv15x#p^P*m-A{cdeY-Y^L1V z+|#DVv%<&}w6C>0_g>mvLwlk4O_ooo4*Zav6KQiL@YpuMh5VX&cQViK^gUNjD?J~_ zbL2|6%l;LaY5-xxIsDnr0#pbtQ%~bn+$wAOZmvFq?_lroW8!>NIO^hCDf}p?7gUB4~z0(dG!hI1Jh6D8>p|Ii+nNpBdJsCO1)d(XzrS0^0leHr>O5hbfX5I zADCW~pAemw-9^4j#rgAB5_ur6{h{bqotndc zAF8ub?Y`OE`~F$hT_4waIWOBDTbftef)+%I3jiqwyNIwZ7Zv~OZl)qbNLVEg04ehTS-%j7yw;8`Huk!=S*lWz0 zv-#0nPsLIlPo=>$7eX?4OyFrN2%e zUA$;46{CMDG%%l7c-fHjy>PiQ-0qA&GN5o6ii)0>Z9e>aFZbZ}Ch*!99Z3IWY#8I& z+3SFbBRf{V{m`Fcm?Cfm@C(lo%hKCf2{-;Co;xfY~iG` znWjF_YO259Y+ks2rfKJ@d%eZfaAmhO_N)U>J!8lf%3P)1(5Mt+$#`=QbBUg+xz}*j zae4A}>ZIQC^)5rs^T}_Gd|hqp9UOdC4PsrIlUh&G&zP|s^*J19vvgEF?42k7hKFgaCu@zYOuI6ema-}q^IrK*9KDoW!v6OO$;IcoI_`f~S5<;N?{WNk%pb`a zf+3h>U5Eoem-05g`%uNo73|^TtIKm29FF}vg1m;jc^P)^RmgIj@6luPE{{7l?}vZ+ zik;VzH$7QivaNq_r`kM@Hk5CxTK3zpa&=A?537}&MLX7ByyYYCM$szzt?I&Wk)KYS zYZ>K6Q%-YLGO0HYr$=rAZ_abc*xq{JlC^Z|9gaEBWBx2ZJO^j z_ZAlExBn$rpabP)3Ar>elJeqf2O($3UhukGkMv~qL-kB5s%N2Fk6%y54sPofjRoLk z#d`9hGt0ZypW19z-qmd8abLnc6#lKniN5jtO&|KaT$YQ@anwffLC zokKOJ4et}|g=F2W;vCyhih0d71X`@(KBlgudnof(ey%Stk0nd2W-ecTSb6SDd|71? z$zQ4bS>cLY^TCd9tFmXFlQRSTwld|M`|#+~j(@9$daJqWxWXC5^QZgRBR{8SkNgN= zFbO9<1={QCNEC8E)Fhm<1!%|ak@xHrKm4%bq~>(UHc`R8YR`XG2K^WF7xnc(+Ng$a zD)%nDlNff*lg03xMcJ{V9GjqM%qvrFVjV-76SDOw=a_iZQ1C1s^CWFMYe1&-IkSc) z&s8~Ve<*kNti!h-k}XEMzU(nCAL7^wJRNZ2@mHC(FSVG@4KK)n8guDuj;}#-$Kd)y z2Gj5GR>(HVt9EuJ-n*y1cJf~WJ^Lx5?s|MHb0fyNyb&K?YCF`?422b^^!T*_Wsot(y$|PhZw0 zJpaYHxq|=VKa*wZncssY7q!D1#B;aYv@FlLj#=5x$_^zrP@4Ss{FXf~5TBn@eruf( zy}!9dXAtN2Hw(9{7k{Mhmp!$U+~3HM&|@%3{-6Xp1UyB$nf8ytfNaiYGkQ4c4q~%8e^F+@320ml=kc!WE-)QaDerdtKmVOBK$%kX}qaOo> z{iDDxxZh5A?K%s7$R~yzGIfM>EuBe$-P-D)>woI#pt8s7JP*lQ;@R>?$`2tK#qwuc zPWlcq3}sCeT{T&-#|8OL_Bby_V($G-=G?7~<}q^i*T3f~v*KR%#{8(#UQ#$Yfm_6a8IB`Cx?jj40@1yy~^&hO)=(4bnS%frt#eSU0V44 zhdA#jZgZVk8@%xJuK9&MvGtVGGtt>6&M53tK8)w0+b8)R+;ysq?BWOdzGYw_+dXqD zJjOSQr_eenTs*2e&{_J*t?&r%y!QV^-TM7g?t9yF?8)w-t>D7V6Qc8iJsEaAGKO$) z1n>oxrniY^R>Nb$wV~~8Nu5`MZ;ZZtRJ2j~lkJDpF54!(OJgT`^83TohxP?de%ST} zKiWwr>x{U z^hoA4@>C?#nY)0v9`LY%?AJS=lwQk)bZ>FvL2hi50J=^-Q*OsN3IQ!hu+cdY)#XC`W zD%+v!KzK}c2X>^j{MH>g(aL`w5BkAF1s+t!Tpb6^dwgfP`%X0A_Y;b~#fwC1vXO0! zJ(2fxt5?adc=%uU#trFA9(HiIN|n{jx8Y|J``F+7UA-TaPl7hZxX(X(u8@S9=x z<@-Zwus7uotQksx~90gX7rJ(s!z+6N1T|vOR!0tHS#nkCT~P}?lU7# zwJ~`okF3ajX~f5RV)A7BnuZTAjD14>o5fGPV$bIY8_pJm4zy2SHp{9}@QyfswS@H5 zlRL^%%11WM=4_O`^5&D+2SYjA{xHEm9^ck%awE@)HhmT;ysPPEoQt9jAm0pR^pz;poqGwFO5C*VWT`^vg!pnK`?JredCsC)$sh&C?UMgvG33x${u{f#V{dl*m%4rXkA0Iqpskts( zHvoJrqp#vMo^BO}j(5G#Vn&ac*<&Y7ur^D-su{-FLIGkZuww|vp~&^*1SS5G{`qZE zrytOkolm_X+XrVXWH0xZ`50wVZrh6Y-SJD)HS@@VZT8|f(dNtnwD}pg&5gh0Y#G{p zH5=&Kbwr_E^;7YMGwG}FV(rwT6Xw49sWl<#dl%qc#jrJb*=Z|=$-b$)snG4H2S(P6 zdZ5hni7OZOZmqMdZ!zpO!{KFaxgNiHe`Tm=?`7Ov0g@SJ4s-110Tapk?fJ6l7xSR! zux;u5s{PW$65{XXTtQ@P?0^a2hvvnfB#(@Cc~2Cc6U;DQ#gE}Rl6M-0-HRQdH^13_ zkUM{p&iqmSQg8lfj*sB`uYYhy_Xu)7I`c<4?iOW-M0gi}D*x3d3w%Ynv^9Skpr6s2 zKS}sX+Tkk|@za?-7|mKi%pwr7drDt<+Sd8(JiZTWkvIcXLkOK z-pBk=|9?YY{qv^=8os8Z#q2(yFn`9mwA=vQLrZ>Msq!|DE9E7#2NL+ic(0gRj}M5Znn&z*;;)m6IWb+csCSmH-uKgAmHV8poL~r0 zCyb;kz;}Db;W|Dbtuu~~?7ST9j|iA@&ZppZU)jqzH&M39S9WK*_c&h|FqPv{j-O{JV?BX!9+%WupPSRZ0rH5jC*!uQChZ^Z zIa~4H?$y5&a^L&?JIZe;+S6KT7`Fg*>X~!{a{YpDWYv+&^6h1XzMV?n%2b~BM*}OT z7BJT6HxAFQT|)UKzVbh(e-YxM>ha}{4(lx4IJ7)ebj@Cn>xN_V9XUEoEEf3PIed3_ z!yv}ajD}A#R?wULMf5F#k0a*9AdTU!Sf=EGCEYJ_ez*EVc{^8EMShDun#ztrhFcYB z?_AG&FTP2>rzp=KjJ0=a4~P73;G=RSWpv)RH`jOnbVoOHyazXwsa;H&#lAALz)chx zY;>IQ1vZ`cr8ubu!C{c$sr#uIu~Hc)Rw~Bd6S%@@+O=_0^LpZ@K0-gn@g3s`4=Th> zHC*i2xMK+?ZfYF&3B1=_lN?nM$#lMQ;*RbGikSje`gR<;*Gl@=fF0+>QYU80S;v-b ze&*XRch@ALPw-ilo@?`*%SI&`v4(qu>kwdBP3)i64%y8Qh(cTNz*PwcuMzMkJg!Q# zcP_pGy(UHMSc>=}p6^e+!tIo*AvwvI$t#BSoOdid%T^@W$n)2$UA4#g^LbB}olsOp zv0K9_Gul^XOi>x_j~PN4l{FdJa~yh!Wt?+rCveY?L{0;4;dz3u4;DATALE(6doa_^ zI*XjhH#J-luHU=g3LomfbT|1jm!QY^X-hcJ_g7y7-+?Z4p1bx?l_d&vF`D|Ggf61o z$LM#)p%2l7`q9R?3a0<2P0=(md}oxq7faW0g>$ZIG%1>xn;p%44DU4uMHA%_WP;eD z?3I=-=Gs^~eJ^@YES+pqTjVdI4XtaRfF?vUQyH@Z=)cBWV{c-#&G_vL@81PZooOA8 zkpn$Z7{|WGIz!ogjrHx6(b_1Ur+n^O7v8?b;y9+o(&#TK-VILNcZBstb-{lt{r)}44tra>wI+Hxh|2lb zaPRq3tZyqewV11CHJTLnZtm;<&|;RhHku6g_|%zZEZ5`wz5MwW^VOC{)5iUU=bUTx z^qJ;Pu1#mpH0%GT#a`Z8>FMPa*p0-`OD+7aUUb$YTSolr^{(mY>Y@!~RoPV;1G^V3 ze`twnOuY*$WtWBYx|GSIfxV_^S?)r*Ztf)7|Js-7BXdsj zOBsJ(jBIzYPqw>?{yA%d6Bn#{CQ?TFg@=Q`eSHV#VBTiu+=R?OL;A+}jv=nD3|%c%F8%91KwXs6ytZ+p)`l>jnBGO%UttdwoWvkh zBENO1yw-$f_ZyWj)|q)`Wq!t%`!wq-2oaa+%(De~=mGj=&m&_}$yi7>lkL;V%{{qO zIN2>ZnD;RoJF&=~%cL@zck-EvkBQG~A1b&a{?>^%|5ha;U?9Z^}1}YR`v=arI(f{c*1mp4Sg! z?qg5fa^O{_;dd=PcKeO8f5bAK()XS5E1a{ZzQ|7>2v26sOu=u#4Sy?^T6lS<$F@HA zl<8VXe?2@t>c+P2{8R7P*2SY79QflX?~CpkNBK^V1znH6s6NOZBiqgMb$j;VEs4#I ziT2;zTHx7ui`N40`Av(OOvl1P?1yw6(W@~x*_hS<{8;faCGe~WHUZg8LkaQUbDcbE z@HO_yT6vu_xS8{DJ4g3M*O3`*e1CgBm_VNj+?zl3YT_v1EvI!lysVyiG2VT4|2Cev zZL4mr2`|Z@WY1xW^D#Gy)Rx9)>3w@uk5$5|H(EeUFL3V@8@U^j(5J@$ZwTL z4zqTaXIDv9kni%Y{QtoJq+@z8>^^8&es@Iyh6-Tt-WS8Lk+K_oWv>GU$A6`D?p&)& z&sa`B!GUD&E6%Foz3pq|-FzEC=M;?MA1hs$B#Zp82&QW&dyTK1?CSnunnu}azOvJc zU^*3CoG`Zl(%u(h9?Q6W?6O_mvCLiUG18p5AQz4-%72Y_oGY@m zU;|m;uI)>0%%iss?YT}Z?X^x-rkEG$OzulXc&|Zkukq>aZF}j*4s_rhJ{|bq*wg&9 zFacPb4#yti(!yWQbZ7xtq8IK~QO_!0J&k*5GfmmFuWYB+ri;7VUEGB)2X`qCchhpg z6#69iTWayQ#D~9mF8-ES{K^JGzWi>>cg^r+tTl>uXy@=&0I z=(};~QnG1`_$-D3q0^P!9}i&56E59^Ge^M<4MSvUqqPmyipc47+sV}FZ{ zF?8mR#{L1z6TmyTm(1UTfAH<$UwD@dy9f8Y>$rIt_=C@Yd&Rs+{!IFC-vGZ6?pYuD z#ebCVhk*aT*6!+#qRUkQgLDp!OH~ZpJYy&wHwc^!+@<&aeOO6%6S_oIG?kUTMSMiG z8jVs8nRIpdx1EYl45If_!a(Gexp=3LG`QVq7srTt6*D%(h4Dxmy zTP?T=GH<-UHTH~M?Ji{gT|SwA$JfY-$k;X{7++x4naAbYH)nAM9wXR;(%6Gi()Z7| z_95AX@QIxyzBnJ;$=0QBAEJLevwk_*E9PUj7aR*GW0#39+l;=BEIKx-?yWCo|$d+f7L-*tN+(W7iFcZ$X1}Xq~}dqR@h7Tvw!W2MrUWg4}1+i zI*u06vHX$uP-e8NBV%*!r6UiO9Q_9E+oI$AzeUFdU8R%1{WgJ0@E|_t>Cu1ve52X$ z>lX8^&!H!CZ(Y!2F63E^-~02dn)^xZjV5<#qglJI#oX4^Xzt{GIe$;#eguCvaR2(R z(61-VG)-KOUqW4LTg+t_6C2Kb!&5D09oLmJ8_l%ew3wr)e>C^c&TTT^rH%BjTFj@Y z?_%y-?rk(bXvC)dG%=l@Z8S;lM}4iyJV#kCUrmE6-<6>AcrugL;%01e&DirC9c9_( z-#ysBOckeW+*kG!(57T6$y1`=wT#DaTX%Gy{^>RwU;DvsXZ?SSc7Dlo(Z=J*bq&Kd z*z#KQ#Ix?^{cg=CfM~OzT=W!Te9bM|6)9m&d(_ z_ws%oI-6bhTwQ0`!MnQal3H7w^=l^lX{L`qod!;kdo3^X)~`5a;=VGEFL3M@w3(Hh z`>UTC;-?+nvU+zJHjTpC<>~mIEm!-1mxtLuYhgIg-FI?3Fl!IX+`KdAZ@2P@>U880 z=Y5Fxj@{vQE01{Z)fdr+f9-P0Ira%pZn1mRpe4mR9RmHbAEjsi*p1M!-ixN^`uae< zJ$4H9fqLye;a2+K#r%2q!#~q#f={-XXJ#~-jZd_gpI+BwPPqu)!0(q6oQ<>wU(~Wj z^H+Xvc)Z2j|LI1vlKT}Y=CvD#=Eb0$jSuG3!`re)-tk)ZZeosYtVe84R%;~Zyjeeo z);fQj#uQ-k;_0WT4E#Jq+|kGCg1L{4aPmr>GAx)o+l^rvf}LA2ELszWB-^2hTl29< zAr^9Pu_J0*?J3Sn@o1jia5Q{Lx~6o`kH*ToJD{7@$+m2>g-0YksyLZ1J-@)7E+iWCHoklSJS}Ns1h8ds23XRuy$6ufBKnqc+D~6j z`&#GK_gm?^@;D>w=F8JhZSHH%c<0q=oqUBhG;iymS=r1hOpN%TxZ-}%CoE0Zrm#_| z?oh0{(#CM?Ou7q0#8NkXy_qt_(o3)m>1v_`I1OMk){l8vq^|H}9=jc8Q zJfZ<_4c$`i<#2iVjlc+qba?%_g;i?$iEH9_-{pSriiU~aN_5kJ+FgPS9lQN zl72K;`#;Sf*0l@XG+1!GG>CO=8N|9e2C=Sr@f$?PGZ+^7Ad&zN5P7V1nW#j$Vv5t*bdbey8)e*-gB3K`0JrWJK z_w1?t&-U{;`%?#phirIH?|%HUpMGfk*0}vx`wr}f^f-;hv}oGK${PBmak2YS7!y~< zuY9o%c_6B_Y1!r%Mmu{Te*a$9u{dk3*8&B&8_tbhb|nw^qoT!#kj0`Z{N7wbyxwHFEJmqpX7$O8J8QtrFh=P|4VSW zt{=KweP{ufD{UF}*u2fS+ypMQ7InNsad{{66}wf%4yB1=UN!I7zH!-HTfpT^TV~njX>T(w zcYsUDv%B7*xZJ_Kk}c^ctb6k7dTVLyn7(m3`rrai>us53n@itjobCpvR^PC`;=z%L z22;M;?c($z$r23?{}S&yfHRC`qb!yerH2J&qtJeOeCY2q*I@rAK`akKZ^NA@~FOPd^$c`PhOm2%Piac@%OyFJh*ytTV8g9ns+FT7vnPeuD)?u zhfmhSWwkBCeumL+FD~oArR+IQY{@&1Ulil=r6c#mrS{}+QeIS7kJ(_$EZcmyi_0?f zm?N)lGBdu^WbT^PWZEBUG4($sj_qyGZR)|V>~Ib5P+DDagyMGCn=#DcUsVU}>aIyB zhSu4myz;+Gx))N0TnW~8FCHg<(N6Zu$`>J9>+LU-kIvdL9sjxVwDk6$&(6-REa{#| zJ@UI~&!Fo0+y2Cpy1J!&1h>*wLmzEz^0jr%0NR>KTQ7`qV$SN_wti1rPTZ=~ud8Wm z4P}b^^{B6{83Sl*GHsoL4`;0OVes*~&ZLb=Umlz|0WV+CVEAgQUB55(>0W+c`EoSR z`pbQUf2-2lU#@cg*l6$hd96*R`M+DtMy`WenoPs$7PFA+`Q|1Q=Bj?M#mwUR^%YHK z?Wz_t_Qx$|&2oITKO#1o>-}F~Z~f&>=G&Jwne@sQllWnaxsYcQe$Zm7A80WnW;U5! z-)k{z`TOUeYck*DI*03HT$?Y&pQG!n_iU|O34P%cslnbh`crqkyGMd^M074kgt$6&w8)yH{i}>Ya@Avpj2lOKy ze}OG4zoUFW>`|o7U{Y)SdAWmxYtD~XUD`h#jLgj^Y@N#G_h$WX_zh?$k(SS0?Z$Iw zP-iHP&xZc}f;bYzK7)g-&S>y_viBvFUjTa!J`lx|?Be&d4FQ|y#DJ?4pI}ca&(7hQ z{3|+>B@kAh96wU2nY%?k+z@apwy!ENH~;+o+TTGuMp%B5Ir(<8Xlu~oQuARh{a%{i zgpW%x0LoKfQuXP?ak1%=SwN3Y43U4@)nc+4tpu@Z!wu>@_Y05#%;|# z`;tXZ6MkHn``Xv|IJb=GU$5%!`ztZ(V>bF}@U`&%;qu2sMX-UOT8 zi}x%CmgO!Sg5i4l8H3O0y}zG9%C=Fq%~y8!^}YA{olYByT^e>Vabv7wQOonrb@z0# z$1jDgvnS4AjvJ5n#&S58CpDH+a`m*OSbhGhyc@Xg_Q5roKFI$k|8ameRbG2K;RpEo z9e$wxH1l1v@4L11rwUyn8YA}z_|^7G%?$5_0G4fDnQ3q0fSy^O_L%C7a5y~7;~FP=rb@6gMMzsfst zEXv*gVq$6j8$T)OUVPj#+ec#CtiM2g&8~K23ib8+0rd3>`no12I-6p1InGdj61{0F z3XD-7jNRW8Z8>`@i)pKhvQ@sam)QQ?mcKi^o_MoN=QsaY*1h#I?Poe8+x4u|C(W%F z+-IN2zSjM)g(q(JeyqiYITl(J|4n~K_Ap=^z>>?rUd-lFk|MN(PKvm|52-Z^JaXo`LGVc-EK?Fm&Jh;q|wUubtlN%wku z4dH~d7hk#WA0{4fwBdb%ve8t2|7Z$ZrV}5yoU&egpyCIA#{R`}6$+2P2A$)Vv>0+~C{};r-w2WejER%D)eo7-RP374nJr z_v0=Co&Cf!&bsc(79i0zE!r_&XM~Bfr_CSmek2XWuyWD^Mif3x3e$jfA zc{mGrJf29LNH3lUJwGH|DSoq&Z#M9a=Ej#PclCpeQxd!~$Es4q$Owln?FyHE9FF7L zdhDekXkPTH`8p=TK4$1w`%SBO=i$x2m)Vs{Vcz{>MgQ||EoImG%ARta zGw+1U3BaKEvYVOPq94TuE6!8 z*-*}Z42Eyan!rt)%}dvj@6?!aTobvba3#2Aa%oSDXo~f*D@2_kU!D6Mw6mM@?z%R) zW#Cs`8{FTLFV?xgktMp;xWDOl*Te2_(f8l(1GnH@eH9)wMytTv3ocH+2TmURF>5lm zOm9wToFxel)pI_@Z{-|ms|ee?Qv`=2L< z`i-ybmwfeWo>Wo)+M@b5V87hp+jFvcFZHja>`GtR8Pq>I!JLD(HRnwDj(oX0=O$*Z z%Z`q?^DgDgyC{D*aP>9!juss=9uB?>b8kY66U#O_skt{d8|ALKCz(xpspekxXvL7v zwK3#&?j_v0mn7zYjx+a!RZ*Eap z-+bLOrnD_P0{Atj{quFtc|9jPgmNA~7k~Dznc~lu|C&_x^)hE(izYR%O9n8n|IRnn z;~n{ryxYX(Il7VfZ4ldP(6@Kz3ws&o4)%+5`1XrzzSfz?%h7ctV_otE(_Pn3J1h8h zh40&Q_R`Kg%FgqZ{gvC!3b&mzXs5oPcBb&{6yLWW+)F!A%0_)+S%dG zePo)-F*6;RcE)dC<17ZnqEF7T7+2ad@b}#FW!>LruUZZD9tw?!&c&~^-&bpm=uP z(z?o7s@QFKN8OTjrzd-#eJR;jarNTqqXP@_yWPJ1mK@)HnutYq~x=yxnqHI(DuY9w0@o^S+W+~bO|?i(ynkbMX~KJ zZrDe(SKN#)Dd1)y_KAv1n#@oxb1ydVgr}dLmy_))Xz6d7Jtw(1FTkDPi#go&2gb4e zZuVcq*fYW1pR48t>`pKEY);kStqS{>=Fz>6VH*uFU!lXXZk{l2tTg6P`n7`Zy?*U$ z%-d*3V;*J9rSncjcK7F|n9Sdbv6j73vWs-yN%a39;NSi27W1=@Hkviu&!Qh=xR>yE zi2FA$YBJaI`{Hl4m=iwIXvT6sqpi{WVn&l$%yl`>rhJoqC?9S#4cy1pk!y=+ z3!BWmZ?u^Aaewbv_Qvo#`+-KYWoe7~&54a>75D4;dmi`8`FjfYBlx?4`@B0^OdHqS z_cxlEOW0F0rqRT>AI{%F?$5lBxcS>#%ujfJC-=|scanSj)>c!`mAtLhOyIhb=hJRu zPs|DIq2YcC_l8?r%=T!b*|C^57IWq}*Y5h}p16AD9z~|^RIb|+=s1uRE!*?|Dz%o? z9aYG4tF@<$XP>{akmr_t95y%daLTdX+V@)jF7lNTk8<{aDvv=Jx|(fst?kb@{(QFk zsSaqMuY9&cc&D}n!|BcLZ|-}`XY0k_kG;8&ufXf?4rIST-07dPhP$UeHPS0D*ayRZVvKbE+4OU^ zZO^NJ{;vaFoOy2BR}Mwdn)dz=gWu>I2`Ja;@X? z&V{@C_k}YxHK+c6K4;+EPwwn$0v{eey>sCj7=vDCnS-YPYX3>fm+x=Y^8Rg`;)m0HWsf5--&pLR zP0;F0>I|4z$4?F|&;8-RGjg$#OlLX}=+ONA={(b|9N9LrW!_QSnY2 zKWpzjvuEUw+W38WU$5W1Ui-Dr?7j9{&wAFgp7s1&&uZZuEY`x@=eO)>SMIe?z3iEj ziEVT9O#Zw6C+P&zGgN0WcVGVI0sF4;FQFTRkol#fNk0D0w|2Mp-WPuw_TwsiJ6cbI zJY_5Nx)nO}zg^9@2lB^3*`sBX#+R-ftAnS!V)=z+y>CDNFYxM~vlEohfgKs3 z=lN(Gb%q%F=OwmZOLH~CVZzVNI?2P~ia<_{ceYnp@VGdfNuiR={TZYKUeD=Cn3`>hBv<--pu_n{vXc0i2uXfFW^3G(amPSkeOx> z_x}99YazPPiReb$Cu};jY~%C$N>Anwf1kWy&_yVPT%O>Jx@abE_aP?bryy@A@sH)i zL+OmGsN$l;^WfKlKa4L(Ia#&8`ZlNge5*P4hw_Q9m*%e>RF)^U0^jJ;!u89~&nutA zr@wPPdvuXGn~<5(lB4h^F=r#m7Hc=VWGH$kd{TVX_gnNnXG(3WJ<)}956b5C%$~yq zd_lM-2jH^s0E^%_7z}p;gU)L`*jZO<@8i_1HP*MC)cq>Jvz>Knm1U5`ztK48**hzRu z+am9`){B()n{}`4R`0j=m6R}tzE-sVJta}_UG7Ndnv#!JGO^$+c z2YO%}*8Z0K2;eIizrXVM?ikYGJH;lZ4)9Jo#H_$O#i?uDB`YM^*S>~!sT*i*6d!Q)+rHT|m%yH=T;rly>AKj=tQ}49fue7%F~K!xY{1UuzZdPt zd42)*w%NyHKWezyd@MH8jOG46+?(g$Y`%8fO!E-;8_%6(ZsNL`>lUu`m|5l?t_57a zoTal|tqm!jCYOY_)|4Hzp*7_Lc1!8iv=>}+t^kJMx;F{`i*WK&+MU4M_t!k-8@9NsCof2{dp%xBxg)4Qh%dztd=^|y z2Umhq`8cm1T$;aOU;vL*?intMDRALlm^&Oi3eFP+H*0eg`MDCCiO!ELcH=9ml_$TL zwO6v})Z@wF#d%8UYb1}0=G_>KV1Jm4wm(Zeoa@|%Y4}MJ3Eze_i7{T`*{~XW*s$P^ zRp1JfV&BXqt);#UHtV@Lh$Yxh&zWUj{2qAr&dd1y_s}<3Z(scdXCwyBESB6PzFr>J z`M#`m(2QtXb!uFKG;=0>?bmBeM8g^j<>J^M9Z!vNmZ(QJKmYGTpYf}9KSVpachN?Y zm^oK+JrR|$yuANUZi{chO@fznQGgo@p`Qj@$ zOH?w;M9vcRWfoU9Q#^HltB)Qy4j!4(+N^`|?|!U5-&$GFT{D$$=iv5j(Wh@e?j3*Z zKVLX9kkf^J`u2?@--3OkaGYy5dpq`x|2@65ZRhi|&G6nhhSnU~Z((k1AU0KU@uSs| z{3F#D<>QWPEA-?6V(rW$`@St5b_F!PyfBYgFQ?-6%%%meAs?Bx8hCoBc4=-1@ zynQfqCP`B|fBYeA+_9kPG+?3004#B;%Oi=^MS zByFsi#fN0@M<(xW=L}2Y9vgF4P1%btX>wL}1@R@FFWOqa244YuGEocOrsRo9VXY%q zcd{X8QmnI0@b-!oI|P@;N_Cb)x8d}%!h`>k>~N*>Pi6NaOZA)AxWj2$oGUX|WdFwh z(OUQ->%z_``_zG9Nc}zhe_x?2=IXhkSN#q}zen5S^RFY<)zscoDE{CNcjz35>w%Xt zZQJ=)aJ6z5tSyZ32F9)#-NuQI>B8;kigb2ak&`)VzG+{;7!OJ|*}c%)>p3$FxHb2- ze11^7vO@WXtH=xzeG!6$qSwwU}DSoW`eD^hqYhubI|A9-@l{ngZVK1HE_;cY^t6-^1vEHY_lsjmy?@ab2G|aIosu% z8pK`ek@B_geX{3T@ECL0&E?ehc8R{s>!f*U*RwUm%k}ERn*T$6sAH_ukIy{ow3$FZ z{53Jf``&9}mE-F2!8LKv=oN)ZtH%>V-=)XDch|%x&gkCfHCFb#l)Iuj)~VWTlaADgaN*}F1h;W;Csf?<3<1E0Nf$ZBGpFD9n^uFU!5 zfP^pP{qGeMs2Hl~cyj&P*cI&B6-zuDO1Iwa$|G;@9F4v_>&eIIBk<}+(c`ycE88Bh zl{HS?-M*N9`~6ZJyYO-zcv<-=7cb(MPaH$sB)E&l7Ua(8Rlc0^jKR?B0_DHul`p6K zNxjM+LHUa)Kh`Tx+)$795A)iu@!o5%QxHCVKZft4f%fk3+B<^wBE8D1zK>CU`!(JD z`Lb93Fv?qcKpryD1sRR^FY85HrtR{9q5Qb2v7Aqg4t88g{t|Rx+1f4}P?DcWK1l!h z<%6|HUq|r0_Nt5vd^375dj4C0_b|Ri7RGMz>nam%sUk+O zY8870AI6489?7n~#QosM+aE1zzn6FN!yywAM|*MZE01Bnklshz+D}}Ay`!|=jc*^q z?`KowY>q3=c4}TZqx%uxK7?-8dMRez0ZOmN= z46<+da*A?Z_KbaBoQn(2IOn^=!=ziDyQ8FiNZ^}cZ~CSocP8JsdqP~fQRgkGUjJ+t z(W3Bh0p)yI=;ljjno&1#?$C{&HJj@{Ynr*PyWz8DCHF<%?_0T>^k>aiDZAxHV!KYC zWrkgUbB{fb<($bPUJGqRLYz5Taoi2ruXD!rYvk}KC#S2+e>WiCr?VB0W8-!RX%9DSdeFx^5qVzE@1lZuH*0 z$fCjT%Ggh%*x*o7HsHygozy+Q>Ye5+lYhSiKfp`yMYSnio4IYz-;oSl!Z9p@krt_tV<;bmlV^<0%&(Af}549~^>_P@uHgQi|3;6KmI6o%lQ&0CiPeyq90eIe7 z(=#S!`>;351@A_lzP_}359`&3C-&2acOyq%U-sd;5A+;|+xOE4<;B~CZ9??389lEr z?EHP%hsVeP6O6AKzn?xRAKezO4_n`Zeb`Cvm0%xY`{{%7z-{yTka-XGVOXy|{PmPK z&uQf?L)W*o)cPLm!*$5a!EyNMe){lkfO9ThI@#+*5Oc$m{(gzs!HvK$uqGxrg66Id-YA|QQx&*eOtWxwtDs1Gu-x5r-dE( zK7RoC#(VXx_v&l$>N^yCH+I$66TXjn^=j__#>Z6YBjEQU_t=uKMyZ%RF3S*peX~$$<)n4Y@G~`ZqTzl42?7_9ugKL)u*P+H? z?!J9Pw?Ri;V_geP@PCNArK>1(WzPZ@T}{Y-iSk=iK0t?CZTbDvVI$?&_o~0;AoVY$ z{DxljZ#+o-D=5FISN)q0QvWK-ZwEJB@SEGQS85Ije&&E=JnUoinY^@&!{&=~ir@3^ z(P6X9lv8GzuMM4LvM0|nL%FW6nPt{~AYfxhKC(9U1o{AVvR{)pK%K43Ss2*GG#4L^ zA*0s1K1u2J{i}ClqfO|Ho@~h30URaD)QKV=ts`Q*~JhPAWJ&ZlOZ8t$`*TlDu5 zNDh>YuJ6(R-UKVQeq?W(d!q|p@M~?1f){-%FI?!iANw`Vi~Vxz9iRO+^*$^gJi5_C zC+JRoQsjDT=Z~cwoy}GRtQXy{m@DQGdX>&*6K+kKJzmM~JR|DYS=jt_zTA3vtMr;- zDaN-+I*xlLkwMPZ^KjhFZBvPEw_vpF>J#%f0n3a3>DqjZIX~n3_FmyEES;0I0Q-9g z7zNuChW%XVQtJPBzWdxK-Lu%_PwiKm&Zd9!T6_C9i`uuM$7;+4lfFCiVfM$xIWGWR zO=k&*Qt?a;cbzBfm~?()I+fX2FMah&Vie3s#g8oEd-eOFJq~T6r#9LB=!GTTKI~hU zt>*kD_OvzWT%pCe8t%1}lg=zXQ7~NvjVv^aGs2m4*&6i7HJo)U{EWI0AB)#UxEB4E zJTtOWpVjz}cHvIH^RT<(6;JHzs=dz&mVUd!!b(m8zPmqPV$U0L^FzA+cbL6WBEHeN?;4A~*oWaH7XbU@`~q~KaGcmsXA5;F7=O_+epdMHPbV_opDb!W6a92J zwCh|%W`c9=jpGTE(E-AjMHXmn_0#=uttJQQAF^QC-fr5gvY{ut(j>Jg2Hpm7|y)~|w}%a$EVS^1nq3%$!itL?+7 zS2ij6LXM-X&b11b)%;bx;*b7X({Riz^Chkiaryi)1nfn3oZ4aS^G(2GPRNCmUoAvO zhC7|~@%RFh?pZUYE<<|-Vs+XSvlgnAotpe5^ieW__QJ{+sQ00S{9lv6tJXg3#&+#% zB8ZsPb2nVZ{Y!~XVl`F^uIzunVr^&obu<^*RV)H5eo zBmMZbciV2IHZ^YIiIUYNH^^?a0Xy3pueh;3vMv4dvOR56d%>K355oLw59VK9wx?Zi zKh)y1J@oJ#^Usq?yYjKge-Cf5Jp2{L%f?yNBR3=$Q7X{<&yb{-*yb&0lz5Y5rp`A$$S_ifS5TCbqBqUiXH;tHhW zPK1YA{ZV^BfLT24KsuG$^Xu|s=R)vTlR_rjq;+W}xs6s9?x4=*dVa@O76vR?*%88S z`+jg59XhBplpr26Nz8Jscx2Dmz_G-O3Fp`Ts-%5D0*Kf&) z&M&HcVSxWKCy9^~#QTWJKq{p({I-n?vx8u0EqPIyBlDt*+>t3``^F zpYU5E`hbTnC;ma}QV8C(>yn?e4uGH9-%Gn?bge-S_%ZPy?KR{Ufq&8d_TA7NYm?yM z&iSC|S4qWoOv#GBht2t{gF4qLp6M4u7Ix-k6mwu|S%jL!CFReaL$^RYL{=s_CCGQDO39Z$MEbCmPBsnodE}qCU#5{crJV=j7;q%nImOMXiY$i}a1kn`nBpz6}v?)Gtn( z>3a&LDemCV#L#`reO`?1Le@}sPlWo;p=ivd2cYSd+XqxPb@*-mbKky;!ilLKVT?)LG zG|@laeQV#o=fX{O(6ZHCtn5=1S6}V9^3@tw)paI)>&JKaSl9W_qWHtYO&8`$&4sM% zi9B-Kb6q^k%T;T~mNh~&#`%9$qBr(+4dDNZYoRsxnT17dFekI+N#+_dnS5F7`}6R; zpsIwJF!c*tMI@X?Rx&Gg42Uf62;%cN#yvug1f9i;oQK?cca>8+e*p8f3LZ`j`m#cK zY@VGzeSzz6`Xa{k3wiN3!R9~<5!2|&IKUqTeruyzP-Wuq`+8)sBBqSn90Ikh$L*r^Vp; z$U^UNIe~Fe*^sG%e^$}|o;F?OI0Uaj*TRMmskB z>7Se9*F8fNUV$us;4?(UJ5{Ik!;+&3+GgEbTyS-V`{{F&wQ0EfO5FG0n><3Q_kNqd zMf^htjs^To=2NzEJbSVYNVVd<`c zHEBg_@428dr6$!XxPv(>=r{1l2I<=MTzK7BDXk~)4*R}Gd@$u5bPdH9n7S9RxZi%zCOl?c%Xrzc&SOq2B_>w1EBzszT~M)Rht>?qz0#*-pR@Gr<>f%0t5R9J zR;88}ut&6)!;|}J&O7+W9dmR3Mf%{!I0kj_aMM>A2VhU9^YhJ;jOJ}|J^#nk+4)iR zDUlsY3^VkRFN>wKsSn<}W8RJT!b|Ugm)_TbERJnBo%Po!r#?M;A$|6BNAzirr>3fe zhubUub4Ms~54f05ANxk$SqR(I??lTC5C6QdkatUzOiCCIKLa5FYA&M=;M`*$2YKk-3{zL*Du*% zQo=Pd3BEMm_YI#6BY*s!b=%6sz-9N^qZ{<*(Tx=kfmit>nCFbMJGZ-I`P{jEV7zLM z?m|}g^Hm8KlH)Z;eLm*T!_lVVCGj(CSOt3ybuU?<*es`>o<1n?n_^S)QeUixvYp9R z7Bc4%_m&}^KAmqlejauf#t*sp1mr3I+yWO5E{_y$Ts$0@S0N)D@~naAxKm#Wv*wC^ zicWCjhH7ayXg`r|`J;imiEmHmiE9T|H*RS9{XOHBw>iW#GH&`-v}i#EnRf+p0*ms+_%$x8QRpIyTR+(bLYu! z+FL4Gx&d0clXw>GeU`o=zs{epapNfD#|WNd`flV5>dSMsHWCjK?8jpV=!eFSePfnq zZRn$zkiP6ks8>Ixze4UDY!$u7Lo~h7>&K?|U_au-wgkuHj05yT^PK%ec09Jc2m5i` zi9P#a4$u$rzO7zAw!H`Y(Tu-WXaD%~TXxN;kM*U;Varb8b4Ly*?{C4WUxYnxY2k3Q>ZPc? z-`Tnuo3Q%*#DjbA^R2>0jC|A7m%C)+!bYfXp6&Vu97H4^O78FahP7F8gkYCFSvtdIz%7^sui#dH4g`0j z2lxL=SWlQnOhz)D&7jlm(*FAxa>WScIFv0mojw1E1x2QQb77EIZUE<^3_R8?SL&5h zeIrCd^rq~s5g8f_gLw*{l*u0a_i>&^F9=mGvO!HctoS-GMOcmD^p;_kFbu-Pw z_sr??P0O$N+Q*4ifTp#Ux$reu_*y^g!gu~v4MisT+rr-{SLT&-;d9IV*(>KTE|XO@ zD)`3BF9>Xt8LRX_Kku6_llp6CE4m)KllDs3n3-F+t8XpP!65dHR1#+)AL=igy5l`6 zy?BrP#d>UH&Mo^|QG14YS}s_<^;kIGy1M)9v0ML0eh=(3zAxp?xvCp;v;OL|Z>GL4 zQQz|Y)VCo}-}JXo-$d$DJm{yXPiLC>upwo%jbkr`?=QY5&{vzYpmzUpE$ZuJ>Z;ri zY^wsWee^BBcB0=KXVcdN`M-QW`qV&Q z!y1o+^!0tzHE2JuT@!$<=qRO55pXmU(sG zO!H%|g?0a`v`d!@jXY^!0$czb#AP*{hwFD z1Cq>_gwF#SbJF{FoaOO=8yewHzbovbT$xwSR$na+Syi{$`wanD4c(~?n`s*m2KO| zJ3ZI4Ql8Nt^jFr8#0!OAeT^J@yuaX_RBkfw%XnYLb8HuF>v+z%**ZgBovbH0efuQe zea~xC-x$*@`zCz)`|po|uMzK3U29`Qh}jaYK<^q`&5hEi z8@C6oRIGht-}`);QC!|(u~K|LvrTy8>@J<;QQCvI=C!ZZZ?6|F<tBiyl&T|scR3*LlV->v3zX6KSQrqndy z4;0M~$UjBwosrEfdiPPXz4*Rmt#h)uXl*SVQ`)XPfY<`_iXng>ur>l`44F%@CcxXQ z_snzcTW_v!Aikra(89HW%jzlEft4Fi@dlPYxGM+H&pL>`0LO|qm`S~gHz*?BU}8mS zUi;9Bc_%qZxqpg@DNqg_#Q~0guvh+{yWIRgYU@z>a(=2d86)3bIu4u+8PPM>i1v58 zx_;l=N!|^;f7}Io+NLk=Y3tGc?*A)&7<_@7^W^V8blTF3ddhjC!Li4ZZw6Y|TBLKy zwQs`D?`Gw32bo%fqY)#tG{LpPhPav1v zvJ&6Va9GN6m*Vq2ddRvObEi_*I~_-#|Mwn8|M}E2kU0Z3Q-3|YbG2z#e(O*Z=gl%dLP_zJ zyE5e|eCDi&I?tn=oUc0nHhR3~Kj#k!KNa6BU_-zz0Z!pTcKuA?SKvaHFTCE~o!e~Y zaiw-Gyy@r*^8I3x!L?7G9DP;iqchtWx31iB;e@*`-uZx^TW%gP7>TTMLxkC%Tz>p= z&ch?$ToZ8+u`!vl#D&CuOv*xc_T0TChmpUCa%!iXoM7^M>fAlqFMgNY-3||IE7SP! z{>xrjl`BDZklbrxzpf%y`beG;b~`UxPF}f#t-+RN=xf&+jLyHPVUB68?cR4iDh3_K zg|ntYl>OJ@O`=g7XBCrw1Nj=d@?!|kJA!y8uTIHnqgIo9X@2+FwefdQ-&(J}lNoQ- zdGQaNwyn3%G1pRe@Qi~n@5_| zv2jq>sycV?$WJcc-Tui3irQZ%o^ezyISp&?%EXRWtlWI;8cPeuNY3Lf`Nk)PHrdop4zbE%3LT>ry_vBYY+Z-EvE_+mY z?b6)fmZiDf=-r!Q%L{9lX&>HQncdN+3Q_p9d=%2poy6jNWt{l_g#0S^v<|X&*RLY{ zeB$0c`}4!_FNhxDsx9Z_Gje_Ak? z9OL#&a0_O^F1Xdt{lR`3unTVSb>f3*d;fl*zJxbn?KZ?xvhHqJ((NbcvYprW+!LyE z|HLQ3Ntdr=eaB2w#8tO*rdirP(_ELDV_ti0#+&wG)r)7Q)7eW)UbW{p$Tl>b++ZWP z&Po)q@9W~+h}gxsC+{lb_xpHG{wnsKef_w3ne^$Y%#(~!OQe~2e5dm%en+c|I-jg= z?tE$}&qflbA2FSF-6mc?I&?s%%9_a1j-S%r^ix<**^eat3~wm3u#e4D-`%0uYIK?_ zs>T zIxNB7%M@~u_F&d)y?4(k)cy+T3J&`>l;>OWQb~O}iw&SnvZc<}g6`1&-d@~`ZO?1R z?lI$gwTsMT+j%E-s&DF}-@lrnJ^NRi)c(>*`IG5`+pozz`;|&7&*Z<~FWTtp6FBXQ zJ`JwNp689*#FGR4s;5s0#tqt&o>>E}oMQWTALnec57Ca>Lf%aP4suW?f@8PP8@mI? z`hBjX&tc}2 za*g?8d@Ff>y87P4*lKQSjFali71$m8alW4%0{%EJ?i%NQ$>2CI_TW2k9JM>nJ>#f{ zsa>xyerI+1efImgoLH)^ekK@WwaNUEU%z{vUg3?i$A8{~^R$L_P<#8e z77{0cPM;Wfx}7^$-4v`)+D}Y-(vC-n6uk(41wz)*8+vcBCJf zMOHT+g`94dEbr*IxTt*;ZN!lkoET$J>)QRzlBFHLVh@SFb;o6qH`XhyJx(%)>}>3( zvG2pw>yGtGYlrjSj{uJ0z~R>8wm*{jvp3We?&qxkMDu=CVHD?1$5{(6v#{S+*v#3# zF6;{n8~ILawC(efrjD_!H(M7Kp@Y7UKH%r?)rYUyK6LNfsq^@bY>JW}+&;MP!)77v zYR&1%mp%f#w*rHYGqwL?+B^{6=Fz5j!wBY*`aVKuB76AOw~z5{E&Uw6ADrK0znz+A zkF^~)ANP|iTnEPeCEk14Kz-cP*R}_Ve|WI?%{aT`AUGQj3`3CpM0=Vu3HZl2`hwpS zm{t@L)ai~#W1+5B-F5VH4t3Y@?Kt`;yIPQ@M%wY{j&0TX9%}1g>-@PYBUtELd30Gp zVuLEso<@q9)8H0n@}LpN^F+I#Fd6`D)*eIWc7+YY)l z{ZP3p*UP3VdmAzj&nA2S>$h@LOyK_w$O~?t66AV+fH^yUV38dkd$w`4-5c-Kd4Ayg z^?Wx*|C3kJ)iwUTxfhEIuYI%+30cjBsXLw;+#J+C@A8A5c6rg0TTeF)xb?g}InTF! z2loQG^}M~ca5eCfZz&f5`O}!7G#Lyw<{fWv;#Q8fZF$|7Q8QU@(FgQ?0gI9;n zBl7Fe_kZ=ipTPGHb*hf}fjZvs@`ebGIKZyx@IbYv-o$kj_r@?5;I@=j|!cUZLvE=yk$}VswIiS+6>h(pwVlxm`*5FQ?NFYEXe8SCGs=V`XLoL?M~{t!J5B07^ss2BLw(J>lb)qDWMlPDI^(q~(WQQ3 z_eg86wCe|TeW3Db$fpv_$wVFQerfhy2!7c`{r%Jbc~oiJ)az!O5jV{-mE4#A_iVHI zv$M@(-8a=k;Ke#Ghj|`Rtc~WogZygX$&zC;*mc!Udyat@ zFJx)g;(A$!Y~8?>Eq-8G7tXKoah_b^;=KOeE}Vbd!?}DRF3#_JGtR-I`YyS=MDzh| z%N{A*iw>0kwF~#yoBdeAI&|{mHvfEwY|UeiDsA8H<=2N-RgYl&L?^OE=-f%k7~5kT ztQ;aALv0j0I&{l=UKkO_hR!-w1KxO^Q+wOs^%+~o_$+&-BXdO0z$aQB8(S*52{;q^ z4{%qU(s}lt$e&BwHIL(Kr@c3>Mfa%1#}!3x;G0^mAzU#o$@x+4rk3ZF8Nu%wF4E-ZZ=!1 zZZW66F~c`g5L3G4VC6NbaOX}olpt>p z^HZ_~at*XQ(dOonu5R=8B;`MH-*J|^eaGHjbmmEdZy@_4BcV9!f9;9*O_`qw@(V;y z$es7pr|@A;%l?M^IVSe0+<9ln7CArToY9bR5@Rx*wS8@=fzScZ zn>l|a`0g;?P3PUI-^KS4JbxEjxs$mhAN`uxW@vJP&D|&dC%>9}Y>JusUUZkGSI$AH zPKt*>&rZV4DgJbQD)V%TzA~=Ilb=oTGz;Nb$|)xpKC)eYb?QoLty@}Hh_4raAov_F z9s&NL3AJaUg-{9_gXSGmhaU!Cw|+-=0iQjCg?-AjnOKm+=bT5LAF13FT6@&aIcld~ ze#}%RM*ZuP$~(V$ht5PTG7ECz1G4Rk|2_ncN@DWI!9PlNw=Xga@KdMriXRY+iWk$| zRo(BeEb59wKo}-B26hGf#fn2<0<0@1C;G9p?fd%2)vqRx1o$xvbEaN>pib_kv==to z$A|rsHcQPy_Wd=`H|3~#c8CA{E4(&agS#USpeIKvpx7MBz?UykB`ZDJ4 z`?Re&=-6@T8S@u<@j4U!^uc5Pd|zApz_*susbN;PUmf0*t%Z-;Txw*O z;EBTf2FCoMyzBFqFFpOyJ#7 z7{6bs_%Y_a#}6BUO))IWg(Mz^FPibBEHtTHL)wF(SjGEj%jOb-zBH%i98C-cF&WA+ zbOUE7o_DN!?%(KROY@%^biR$v;H(4Yfyz@qF^iG`rj(TKTYjtk{y9O=TA0Oni0xRL$=*!p|0 zJ@yu1tEWxPt>_oRoy5bp8}O%fu|;}ilhv){n;5D&8I7fK>toE5Cj9K+s%S~7qdb)= zAaAsZR-9NO^VHSM<)nd3+_SPpBc>(ju)yp{jA?C$^CAs;|_su9>4JJg19q{&CzTc`5Z zQ_<65Nyaq3z>STq7ys)%BQQue{b*NbM{0a-fHpKfIy-Wx-jv-Y1*7mu)eTD1N<;6ieWe#if3MvvH# zX5_K;tf{5M2_b_;4vWLPVp@OQwMK0@wdp(y0_Ronym}RKgd3Mq6j{|#G;{_3b2g#; zHmsW!_)DSLwOl@zac*CN)n_8{&w&jsgK-zD7r5;%oB!Ga8Aai=l%`QtG80-FRM_)80a ziTn+$NwQ~a?}tgb{7_?o+(k|c&U;G{qsCRqrL}fE^HY3L`7SC0d@&Sby*vbOj8a}_ zat=;#UV6%{xY+OAx(G3p=8HH0e){Z+!R?Kvp%g~$)eQzH3+J$uXz!FRgHC&+o2 zK`v~2Jps)pw2n9CVhMK+(N019VhFHmKK!zny&$GB6XXA~)YCimw@=3B$;y9u25pdM zH#azm4#W4Fmw%p*d_k@j?Fm$$$JN^0A35pZvdM+al0q~tTUg)Nc@)dy&wJS=wWj(o zmLn(i14chb&xn4=9_Y!Y1shB>)f$d*E@y4Zo+IeXkzKht;~IbVnxv2g6Z$;?UZwat z#Vm4eJ=aj^d4y*daqSu8=tZAYT=hb5>8@!B>raxLlz#zxB4elDANnP<=-Dhkw&{BGME^K2;aFtsVYRdU~F)gJU(0!&7@r;SsX zN3vg{D_4_WrL7{e0^UL%Fmi!a!fV81$e7wOdgPg%4)S}^(1woUkqz*Isczm1bmqfi zl0m@%bH|WJ${D(ImtMTUb4Dl^aHD@V`BD9`g-9bYdXbK z>ej94Y#`r-_=n_#VD2&T6>=1U~Ol7o%{Q#N7i6>`k--(dVQ#T5B6atygk^5EB4a|(eWU! z4};%>eb~zS5$wa=+uuw}n&UCA4@3H@58j&JAD$h|rG`9yP`?#C@sQ^uU-8UL^VO$k zn!<*e<_s=>4M|I$vupRVLP-+YGDTiQ=bMGIKg!vt$E0#Y@K=|{(%I{W?`_w)X<9#b z6`9EJVeXlY(&;qcE(AwIcs88!{8|;0fK7+HiDDAryQ_!~)s60H?VIw4m%+#6GuC;ABcd1QmOo$8KAhj9_`QtZ z1JBo)(dhe+zGmea$E1sQo2N?-_0bl)cu&V*_OzY>_3@Pg_eu(Yta+`S*9tBYw}A z4P4u~LJ;i`uCZJbsZ0Lv@YUD>h&O0TNj|=}P>0-lAvi7?D*H$R1jt@(~=+s3=$0a!lg zy&ul|lYr$R-VbvA$#ePP;F@K8w2giKZ zpw)$4;qEcN{vcz%iL#plWm`GZ)XtrxKX=?bjcR*;b4T+k%G@cAjmZtbAMy?CF4$As zZlm7Y0`*=34D~##4?KH;wxV_pDK}d@XU`?!d(9=ky`FQaXAT+7J;pauJPMkIhg4sW ztr}h<{!va_<$<q!@>aeHIG0;_9@kuBzKk`l zUh@-h;n$;frcq{E;M+a(58TcO%8m$>z0qr@CeY4MuboGGwNp-+^1!!$I!HUMM}oi7 zZv0L0+S$r;zdup0oprt1Sx=eufp33)kakv5c4eUKN4<6y1={(?zLzaud7)Q3*HPxW zz_;H%NIP|utqYVr(Q9W!pq*`AJ3sE#&S1(64t#spLE70%JltMl=dAAs-%UTSomQUv zczeog=i9y7*+iL5fp6y?q@9N;`*5J_U#GbAwldJp!(Kc0^=juf%G?(C_TvX>XDVf< z2Fm`{Yo{*I&R4v4?tqqu^BiAJF6yljWnXsJ2<1Bapy58^m5BL2L-lIjd zP3Ju}o38hJy!SEQU&s5k#E4Dgz3{usdpGeAJT+n0l*##_Z{Q!)UN;-Fy`XT?8}d~i zc;EN2-g~X};$2$nkA7oc+g4y09Dwnc9vrgYoC}Qc8h0JMfcAEwD~QL8Lne^?^_`1L zEng6iIfwUKh%u8Kp#D71J3T*}=QY%IIDBtdbX5ud*5ct77OmNd{36Cvd5ONly_ox{ zylbMKsnnzOQ+0jYgJ~-K@rU>%M*%Z&`CWMZy7yjZBWb-G&U@uu@W<_b@4fN^YP}oA zd*yob-!JptM|rRHZV2zO6L!5{?7f%W?O^Mj&j+akpS1Yoc7ETwZW36wbDE z#pSKu@#yUbmVeezc1@t{`=MX0g()wt6?;$xGFrt$?7Oym3Hr#ER}+^U(?@ne;1yjU zd-lK)B3Z=uO$Kr0KWo4iGLsCQ})cGoXni@23Uc5BA5fJGmUd3I!x6}GwL@p z%(0tinDe+UUpLd7(>cR@nR3(Lm}|~>V1^mN{S?aoh3m&ZW1kE6o!mdjeJ_v5p8 zeXjY~${A)X_cH$9`Py9boBM!;`$C>y$9*LK$GIQH|F8dZu6gcWV&J%6+C0-dL%ZMQ z{c`@lhUc@mpZLR>=6gK9fak;b|DP*n7{k4o@&kGP7s_pTb*{Oa=PSAI`N2%{=^xEB zxA1%#{}1JPE%zPNGl}O%@O<~)x#p?mGt5Trm+^cg&%Z^vJNf@go+r5v`~FOG0?*Ik z`4Im9`#m$v-aT_oEA^lF2xI6cCPB;;Jf#Tv z1v<_Sd&6BPKMY;$Wj^Yec)>~DbJ-Ym-o5`k<~={1=bHo1tG(x^@O*vXd8POK13Z5? z@ceM^`H4JV9(W%1p3AqC3Oq0Jp1+Uh*9D%x{x27P?7NYvf#?75p0n2lyCS|L_)Ubn z_)ilWzFvDygY?NZ>{W^>X)ETATGLjV*IXm&!&@~SUCpEw>j-)$d8n@d(f^rrZj)c`!29P;o4)$$nVpF@4(G< zQ;J_NoL&WAWREJ}Mw0Q&AnuBjh;dh}1oGcV@nz}aeq6@Of5g8R*OH)DLC59q zXvhtY%Lhze8}6mCbXNWi+2Za7N2R8L_zj-dZ`d&idv~n%;@lv3pZcLVl2a~`uGQ^h zhyqv8#{e#~yJ(v|fA~Py<2QO`L2y0zC9Tou#nf}KeQWzWXRq6T(U|)Kb;mq>U+&{O z?&6z1x%j4Eg2SG9$nU%PCIUX?PpXX?#&&7pOVK!RqzWhU{}=f!y__|}<`-&?x7axn zPJ(m3FRdS)5w2of&n8ltXVch0z&kpQ#d~7_@3*M$)Gyo%kB#78w6itt;$QU@F$T6i z-V5)(?r;Y9UjqKo>)BIJd*EKNDjEl!hvkn!`KSM}-!brWXQ=Nt3XVAA2d-o%o%3wT zAW?y?eU_c zja@KQekjAep`&H!_w89UXJL=YFyCxm9=;I|2L_h=@%a;|$K8`pJRUeZjQR%Qw+km- znOJh_k6wS7Tpx@H;~@NN&gl8${oEXrYk9BwmH$-pI}~dwY=^ED2Pqt|p5$e-wlrHy z+-B0XS2X*+6_56HeyMOUSUA{xajsrIbG~0rIms(QxQXGg`xWR!x1S%|tjehm)A=UY zheg0RQFPU-4=Jw?^Lekff_>QS^}&bbh5_@}jbafPzj%h(blz;!yz^$$P-4u|MKes8 z|AS*DT5g6G1P?sfj@1W+TgK1v@Dc2%Pb-FVj-vEK_Ho&8Y%Uo1r10nCO>&s^Nd@sn zz4iOS6Z=$I#$23C?1hta>9d_{y>Rjo4<{evy%D^DaUD(06pgEoliS*FHq&5gpI?Z) za&92!MnZm8H`YS*%Gzpiz#3h>6F4+iTVsp|ebl&0?r_u|Ws%#f%87Q3RWw!&aT=?T z8`@gDZ`SwvX7_9EH=<)`IxATO`NP&jE*oO(mluxmV)fY@S)KCgxvf_{Ij}~!10~;e|lg0J$x5_fIR_`SZ51Tq-aFxL+O$Cmxnr5xyec}{`mr0DhhGxxOZ95ct< zx^r%q|C}>EZ62bd9&&6RBhhGZegAa7QuY}#KFpP7#zTB|J$J1aik(y5{Eb}7JHMGr zdE4EX5y?;5ze$WB{QhCu_48+$R66@|4YDG1fBDJW(dTW>O7cfBmm`lp5FsyCI{(N6 z7v)VdoxezBpwY7E_c+^aMXSz0apGghIe9K}*95gweS|m9VTzHDd37f38H3OiXCpZ# zo@pr}PhdZjA;wVW<&D%iNt?X01X*t)wZtKv_;gA8mgJ&>-uZJ?w7C}?xVd*&WBWJ` z;Ju!Qr}>OMZ4Zy`_T4voG_&MCyYuk)xv>8Py==yJFB_2WyB~Ma{?CzkH}dfG<@pQc zz4}pofPTCid3gG=AIj5B%wE@cXn*dnx9vaQzjB3dvNG%Byyi1&N+f6tg{L0W77Aas z?}N6`zRdTp*j&k3Iv+lm?_W7;6ep|w^~&#J5?;Q4d+*Lm^TUQfzW;Zam&PQd8@uNm zy`8)?NR$?K?GaKea96&6;1%39-~R#NUhKiG^#nTxGS^$nN%QZ(D&AcJ54Uzg_~E3# z%rH;A##A}tgfGb~iZSh-BTjL+l2so3+-x(uU+I2x z=_zkD`a{I=WJcuY>S>mr-;I4N#U5U@E(@Mu?&@g|Uq=r3L+oSm@W!{r$TVz6I`yT))(F-VIiFlTg1QGP z?oae89Q$Qeri3x~zmXiH_kMX_j&YLoAK3+YhHu@RsXBx9>BIV=>(=E>{I}FQ(Z-+L zbEC;SwT(G*V?5tf##qJvXZxJ^cmG#0C?S-?B5&h}M*${br)Hfokv zRq7l_&RL~T)mjfE@1VzLP3>$uuMWZFzgK;K zRT=8AW9XGtEVE!KCuUalGH<|JDz~gx9eMB+?LT^F%N;*tul1l##qhecVE9YqBazjI zu?PF`AnmB_-}>M6|6!+K&^~R+%=*fQ_hzpxaBkt<82Coz)s7Qc-QoYX-|mM7b#|aX ze{H|wj1T3kz6gw%EFyd1ORlcHddDt!lj5-7Z)rgLE3m_QG@x`&+cIwpT*DCV9= zcdEsc@?A9)J^(Ec)6-_+qUVIQAuWQw@1)HW-EvvAX=3QfweCJ__0ioUnsE1ELT`*y zHT<>BS;8J`{ui$g#=pUbkr57@SD8BPd&v-5gWP-@*y4e~A1iAE1aUQgo@<711$pME z(o$;^I+5}6?LyK?bS~b@dtUC+XZ#%X+dQ6`0S7wcNM|nK65{PcsI_)>&rfDgI{YLv~N*%((C^4=5cs8&cy4>J~YFFv@U*s zaEm<`MSS_#AI~s9xPPYk*UFjZ56$?$S(|lcY1q>fto<0d(U-+fWqlar$>qc0{TbFY z$uq)F(2jh=KU~@76v_){?ztt2tkx~rv)5=X)cO|igWwB}=$Y0W`5Ux9Ty?9==c%v3 z=o{DnA^lA6ZY*}sI+~;QJUh8!nPqR(TI8^<`Z`CQ2kY2gu#WX$g~wD}M$CwKjdUIR z9lYhDQu6hmG~4VvV~%N>)4K1HdVCMVW}8{>C)Y}{+vi|$2F&s~NOy48=J8qC+YK?G z$l!V9usB%16Y6&o`Oxe4M}RHftKWKeCjHj^EZc9{%3F{N)bB>yZ}q|V53HQsx^L1A zGt8D#W_QUw$f(GAt~}=ZOfm`NV_@8#boY-+9{c@BSMR&*8*aR_$e!D)2cB>J!qfS_6u;$Xj}BSiynOdHl(BwW+6j>h;GeJW zYagaK(zxU>ci*;Rgo3_t<&8a=b|m*GPf;0tdC+msM98GpXs%>KvBwLt!55jSS^2k3 zldIoKw^i)Gr60tPTEDVT)6^e(!3DWt+=u9Q>~Dy8Z&UZh_LHzhIch3s$TEWxqlm6ti^t07avGh!#K z-@2q}!;b5&eeEsvy-n>V&`;v*YpK`X$4ORZBq!2#;ZnF4PEI2KnR1Ls=h?-+zun{# z`Es#o*BN%96#MYO&3fJ`CPJ|Y(!pbt8y34bx0BdE)zjLQi;pv1sBe38VJ@Sb4RPiP zbf>mOZy)jK?TN3u^alU%=xw5n|6dl#c+%N`2IQZ2f;3X<{V;c zM(~aBDBgX~Z}+s109NtB-#uK?KFYHZEu?)f9~AzU#=?BfTkU~kUWwO;pMLa}3gvlneTZN|NJ)b2Rinn;|EawW!zcT*qkuzg_d0MBFh(+ACa;dzt?7vpbr z6UFKa{tr{wr8{vYnOT)+5@8zZB9QC}h^ zhHnb*_hMwe$p5v07@1*|@ndAhM(*o4kA1m{Lr|V)6PedJmAC{)zDIJ7)udNhJ{w7n z&WN{&-#!yhWu9r04+#4Qxu1!(B93NNp@Fee-@gegn!~amiPtp1r_|38<5~OJvt5(u z4}WaT4dX8Uq`9DYrqWnCd-d*@+ZVHETlmqpLu!}W7@A?xi*v7QT@!AJWBN$)AMJ{d z^?9{oNX4uD7#iUw4IIkNMl23zIoxOEun4l`u=vF}?LiOG=GT5&(jMzW`m$?Cul2)+ zsT^JIi@@Z^=oqtc%&^UK&47DmnrXk9Yd-zN4D zB-fM?!^WQH+=pM==bkmmxcYea&n5L^ywqlrcAAJe3pZiYO+&kk7d|7!1~Ye4Ibw_p zJE_n0QDaL$KG6BC!`NSaiS{9xyK>_f%Eyo6-_>6>Xdqas~%gHWbWAd;ak71t34&W$nN(xyv zrMxLq^CwY{aukFs+&T8$U$Yh`l}l`SL3I*e*>)TF`wO-^wXK+KCx#4x4;33tb$Lc> zE%A~qvdbZaO}Dcr^V%hx~iRJTK>e8XhS*;e{W&eihYc zbFWd4Ny4MlM|jm&WFt&sS0-nR#=k6<&ffbn@kPK^R=*%4TA{9pZ_`jez6$)x@fda% zWVY91m%&b>+)ai&x$2MXdidgrv*^Yp@+TtylT|#cf;JIJWrI!RuSb?R5IvTgCAsyq z<v%87HpgGkwc;V@Uu%kJfAPh;t?X0BSSzOTLg+xT2-`h6__W4020yB8+OGVEMf@+? z`6vClhH)(#;qH%Hu*#Kjl$-KjAMV~WcQJPwU3k3sv}9_rWyJ(fU^yP?Ou&>nr`T4?JOJrY;KTH^Le z^c>u)0E;?k9R7OFu+bR(RQc&t2lGY$`?#ULYQ+hbvQ{dda4mD{yWTg*(UDoKV=-_m zKbhpNW6mjUk9n|gK4@eddZ1`a<2I6as=JNn+B2g)B52N3bn?DJDiTlhM z=8j}It?B=L&TizmE#NSbSDd$=Nl!Qr*~xzn0YU5J>q^T17iHWVEf2Yz`sBkCKT+Jx z1pb#lW-zf=l7VbI6ENugrMy$!YWFMn8})k}_e;FCHCD1o$N66JndEZmy1TGvjQjaq zGnRO(^QxPA$Uwyb8K~P2uyIVY^z@5<&^dtIf0ZMbkxOV<$CD%1b`Bi6%;w)1edU>* zEknt*@tHF^&#iWIY=o*yI>$uTTpEg$B44G*H1*aDrW_> z)K)~!LHQ>_wRdk9PZlp=&h^N5D*fAur?cDZsRMda9w5o8>Z`G5V2o!ROyuupxjOl0 zJU$^><$0UKH?D3zCHps9f2qZZ>T-v7;aT57n>O zVb>kX?fjc-N5Yr!2s&9N6dw!EokOm-RDm3q)v8bUweOhIPI^f$)U-GkHCMtvQw3s& zs^jrS*2jrjpR3tN(Pk1UblwL0>`Y(`C87O<&L};rp!$C0wJF+qdEdTAO6!3s`eDZP zUg&LsE%S_5ri^c~gRGOyp_O^4@6|tt7*h5mw};Yd`$`)tr9PVE1AKp_olnw#diQtD z+w5=1>#y2SfB%>M`fH;;~Wn&H$4TiSP)1 z6%xT=Q5qvq$s+VLt8jai>ro7D)8-Kvs@r28cUGCif5cL|PHFgQMC1T{`OAG8L zT8Dg+2mdzyuqXwO3*h0;-nW9U8xM;PhzE4uY9}=>ANKGderoGB)K5FY$3KLR6nz07 zj+?g%d?!0lL$ZVBFvlrnktIeN za9hIqK1#FzzX+vA;CC3G*P3cLH^Z1r{`ebH8DcNH`ya<9nL-x>e$j#Y@U=ky(Vaay zSez-NA0eL(;w~Ks7U53sz(YjxGr4#b3-Ji+d7DH120REKDgz#>MQfrLm2>H0tZW(C zmLzlX#uYn6LthHuA#|hgKpr^i_VEy+Y)P~(Q~Gt`VSN7Q;K!d={(7_ajgof7^OzVh zt>iQ1fPcNRrw>@U=)`a3w^Ln`v(dF| zj`W}pcuRamVYA&gFfqS{v&3Axq}Az>HEdkFjd75EAim_2DZR=Fb%EAJ;pzm+*%nk7!jX|>M0bo|U ziTpU~5#6YNzkqJW0V_Dj>1=0T&%JjD{#m}2ZA$CpMMtFb7p!#Ju`}cxc!>dDP9mLO zS;rZ{l#BDu)Wesl!}l>BZx*&<Vah<$@x(;CTzFB&4_Y!q>x^#u_w<<$yW(oA9wNh~$ue?#x77fof zx3XVJzS0c#0gadRDCro7k0Y1le(poP=R?@1V|6Z%uPd%~TN1qqx>r4nEqBiK6p!X| z@!y>%!llIn=ZSFVbk96C+AA{YBJGoa|5<%ZGF(#?v3CPPu~e1aTLBN-M08)K8|mNrB=J<>aW`_e)_U;*&N+v+@7*pQDjTnO;QQgD z`c^(c;YGUqa&&pguA+PGzj*$OMeW)HcntGRx`gJY)>_30%XX|eB)LX=nnWA=PHVmD zQ`t;Re9|p1dXt=7PCaT%XJ+VoedFu?^`nX3JUXaLW}hrqM!9qQ{f+&{A)JXan7&z;XZ?Xzgt z$8%*bJP!oVUjfepJvi+z_4ACE=stokWDapB z%F93JxRU&}oEaeeD^J0-N0!G;&x?AJUEV ze%YW-Y~N?)J8NG^tt>pV0+{0I?CbbXUZ21?Xl|OjGQ~v=t&#&v60A`P)|nK(syMLn z`$v3pEV-MHHK|td(9Kcem7ou;gI~FY+?(FKLk~XSULR!G9{Qs%7rNh6F{ia>_G#!# z>&)d=2NDex!2{&00M4v?P8e$`ZQn@Tk@W3X?sa`dvSSLr!MxJzqxU193h(351vuY< z_hHWBU2hiid|vBGd?Oh@M6ON7f;Li`|832&`-#6^oGXfs&y2<=<3vqy@$NnC>v^s^ zTFmXOvh(ZPF#8UI->;7?rY<+HCVMvyD(}noBz-_Sj_T5y0qv0Y<#r3>Rtvj5bFKPA zUVpV-J$IkmXX4-azGt7eCKscV-(T2PzZh8iCPqeWxV)_UOr&?B%lPXYvgMn6O}-2+ z*~UM&(toz^vKeOk_vV`KT{^=wbN?d$C%K=`|Kqraa-T7KAD?TQzCYL8$Ftk`ebFT| zOoIDB{@=T1uKDvg>fpXM^BFUZ`|c;^n!PNzYYv;!l{3MQU$nN7xa4Oy7E`{cU`*nX zJH5Dk=8g6i%XX>xcKEA~jY+KF{dQyl$HpXTjcURl+}I_nDPHi&^JkcN@ockwIcLCl zvX%TJ>VF7*pu)-zu0G($q&k8rAz5dFav3a9TtSf+S5S#zt&VFNS3MVczR`R(i4}!k zEO**ZV=wY)%wOrOihHd$?%ZD+-9SI@%J|P+J6i*^Bfik+<}b1G7Iq@Wt(m%@+cxRu zHCFF&?MP3xySk2K824MZ9lt)c**xbuv!Ne$3;K(1xDW;}riJg#z`W+b&&}=ZlP2#% z%iTu}rvHAwUw)O`_R#&*7IF#3S_*GWa&2MdEv_xh$)@uy*t;ZqZ;<_~HkFf2Y*^fl zBis^C6;6uJZw=SpnQP^_sZAC3Qf9aRoV*8uuM*gHeXBb^mHav;mCkMs=)|%?-mq2i z1LPoq|D5-n)4n$?zv`9b$T5-K#6q5X6)}NL;4cpEs<>~5)^EuqcFm<9Lz2r1cm2X$ z8)Scw4iQ?maEB9b$VKqe$al3@zFPY8dUR1ixhs&-N3x#gcgvT2{OuXl^&iwBej$9n z4qRIUaBKmNorwd(QBGZ9;P~7j;MnTHv8@*zTLN%Q3&61rI5s4NkG|nO>-(@S#ZXzE zf?wja6WJ#o?zW+^SJ3XGFw94v?)<%?m;bY*{qMwCY0N{6*JAoBdytiJ_+NIlQ=Z{_ z;gq#dF&@&>r1QNS`zy*5k_r0;zp-BZxcLP)uD^Fb-i_*8otgZIU9Px#pT|3kK&#ajy#O3eZ z(pq8d@^SHFw|*y3e^*X1_}d#^US!ofiuz^8)ZVOzW_HKD%@MCjrn6Ildkehq?5~Bf z-82>QE6>e4CZ1`*kKEMH$u#4GjbCbrt-QCOy8uAENC`H)>xNF`IGeL@r-hRIw-b(V(mF427;wc>OLO{0^$Yh}BQ^ijR%tEw`gH!!#6jy! z%y`Sixx>sot+h$c>x8yTqmwd+h3;&9a&$VoykE$|sTf^-JD7Hc0H?}IpHcY+rvZLA zIXkSrf1#Eu8eGTqPbmN^oNDsUy#Z&V~}tRrz?5_UqlcwT4T7!I6oLb7AhO zqhGT+rRC9=adw9%=OX)9IahWQt?|ChD!B&#cn>*Oyg6?1uqgK(>JvU5oGgD}1WfM#g?< ztvA)mwdCXf%1^trFWy8`ZKDG7;&Shu=ESsK^eUWdo``NYCWvW+b~PuyOK!-W(+@r$ zKI+x0I^N2B_y~3SIFOFw@4cz=_S;CFR^F)+#wpdy)_TuNuKXdnT)Kkh8p5%~lfIM9 zvc{_iougWOLG{FY)ickl#~n*-M63%AW2io>PSL#Vw~eosv_16qo6Pj0Ic6I7(0$!@ zx3S(_zLv4kygU0e=5m_3Tyrk#gJMuGvh!GHMLvmsv8>3+Y-4Wf{7+&N9@)~gAh!!T z(wy1KUAgyUUx}kv+IX${CQI|Fs~a<-SJ7?e+(Gp9{(>{F33+2`9{8(=GtS|Z*5ax8 z4_dseWKOtyq{|#zE_;fl*_Fg$O7B``ZTG`8*AlKhQs)3@KS~XE&1dZ)kv}2E9oj+% zT*-dZ?r()t*(8UhF3zc*+St;Z;uq4+%2xSyV@>ZX)Fzh}&SLJ{x_Kshg5o=gK8E|)Fpmc zHgCZW2maU(yS8M|8iS5NTg}l23a`hOQ2$+-ZRjS}uWaDOiaERMC#}0#EH>=p?Cn+T z{=gq`*qU^Aw=$oh8f zn)oN?N`sTi)I>G!#^;G6ss78{qV^{2Q99pE__bpNJ)d+-QM+ty8n=f^sR#NJKCvl8 zWc%>r^h=nZI^*pJ;1xZn4SGhN=d6tXkG!{mld>xR|Ih61u*%WU-#^NpZh#q=Q`K(xenimwyMoG+N}4V-^}y9 z@LH|keXX}z+u5E|$)hlN74vnzUBlpNcOyESllP=g4T8>#&sK(PIoURz_U94S&cy_h-0ISFgMJtVo7X17s17>C|p6`)9ioY+%@7CJ)ecnuGX1_8zN7z z|FfgB0v)QAGLk)n3oe)GM)H)(wyJSfCUs76Ca)Z&$}###3R}AF#PkRjiiHp?npx+f zbBy5>%~v}xb~$4w&=*Vl608@>wEO!m_F=cuz6+g`r+pVXCr|4r3>+;zj1rRr{wyJ0 zPCAsnr4M%Bg~q%I+m~=&vCJm6wy^WO7wr7%Su8NW%xACp4cYl^&%Kv^i8cubRL1QY zaQh-eTTY^k;2=BK!cpsYOWzePTt)qk_Mkt$W)6n%U6lCds%QZI(G`VzfxYtZR`Jfk zT{(HRr{TUnaCa~l{2j~}0&C5I;2t{&%!?2A5A#)%4-NCL?(PF~){*kX3g*+0OSOI+ z%s=bHT+f~im)2DOFkhJKq+f@E`3}k`w#}{WmdG{>^9l=df4!SD@e2NVpWLCb&{}KT zXwdu!U+^W_I6c9SIk&&d_`R2Yj%Q7&ylAv&Qyp}pXKf=Jk1^i?FTA`*sxPCl`E)W^ zF7B7Bij0F)KvVffxli=X>cBU<)-Etle{q3%d?Pu*M_geNTs60oLxOA5uq(`6Tx-@W zFn4e{+B*`yBbZycJKARL2-=f7XQJt$$-8dlEWdN!_SDGrD{}G^4l*mcpbMR%v16Dk zE30HaUnoy`b5@na-jQ5U$e7!o3P+}TIz-uEsIZFXTOIzP#IW4w`AX?wTihq zztioPX#+;utE2BU_ZLKi`omO9*G8sAx5>NDx|NMZ`%NH-#7nQWvXpWys(+FxMbniJ zL~$rJ_--3nZ%s*L+{gufA1iGiM`C|gABWRFSH|^maqVJs4E3?SVEf0to;qD0-`1;- z7uY`5QKkYL@ef8wM_7@&pSzpqX?K)tNQ!xsoh6h3j;WihuS@6BmjP?(71D{W83)Y| z-M?FYVc~&fH;}8lkvY@UC`$d% z##7H2QXJX34F8NrZ;|q)?jZt?KC?l-X0&}P+z;R^qg37j!8d1uZNzCq~;o%L>d~BUQtL@+|(n>RYorI*QsZZ2-1?# z%u%Z1mZt&5C7~tRYUVWpUb9aSU4LO#dWme)VdL@tamPSYn19(NDv2wVZ0q@a z$(`S-GUsQVEU9`PkUgYq5Oxk^Is9N@>SBFcdNG(j=-UW%#nFpJwTrT0`XHJkdci(O z)|^K#B!7%@?L!Ym`y{KWjK=oO;o3*!+aZyi>!8~XZdPw(j3N4{7=4pMjxj4a2lrNZ z){3s_0o#u3I=YeY!Z@9KA+OZ;c zYehx2nSLH-mUpQy$YBdW_RUlcP^f@^!NXUA!w4>2ymc1*RK^Ba^g7qR7|uPjme4 zZvn%*un$D#57Zp2C~SB0&AO>eGe?w5KvU6yI-d!v}XmsJN!OI@=ssTZl#JH+^n0>i?8{W!Ykjha<7=S^1xJ zQA^)cpO*u{lUbJ4E@ORbf5Bp39$1V#u(%KwoPg0=`oY6G%38U;HHEE2d%se-@78&; zfqs9R-{Q{>&vve2-TSe7j$cTBAXcfDUoQgSmvG&|wTVk(RUGT~74UB0S#ECaaWF3NaDqCbf~{QSXC5nkNARrnsskXK~0kMG38 z!4sSx&!~Osw9ou_Wy!+Qdq2h)HE-XhZ;tnT0$H?zwINyb2fG3`I$MvcJChepjZkkL zm)3o~`kbWCt?0$fg@gTLNBi`Mu?crX1N4naxVoe(d%y3xX@R-(qB$n^r;=^%^~hs~ zy{~_HOgVf8LLU3WX`Vdhba1T&$xc@>2Tm3ng&bD(I^?ZO`Nqjxvn+gj%Ui#F@82(P zRR!d&$M`;kT%>#-|BSqK9{uc3-m3a1!Rr1;o$zxSPj#+_eUT52un3 zX&iX{MqniVEC0*2PY2ElppGW&0&#nOgXsLgo}b-f>m3-MUGo6e<((HkF#Y=f(;4CC zE->A3@W=80Illk6b$Q8uY~xA5tHt1E6uYM65Ahw@6-Pee`B{VeF#gle2v1@g4UVDs z@N38LpMFMohI~K4F>LH-4FBn8glCWKJ%*+IjNxB$M!1#L2ZmNe`;1}R%Gc(m6rF1# zcYtVdGql``LHpgplE!Z?}nOSAUh5 zD{M}Z-Soa9u+L*G;}D;W`{Po+2KiU9i?UB*Vc}_HGRceD<0W~}+b`z5mmER92K!zy zUp?=Azw#ZQn`w^y>oX0a4hKmzI+k0TDT+Na-)W2HtG7KXxLwwnZdn(Co zejn$GM5@i6YUO4?9#+n(38Bq=i;P{}wC90p@2ni==KAr#+SP>?aOxP&pRwmqb54l% z0afw;G54^ii2Kpp>$xArJ<9z^?oHfxd?noN@`39-pQg#_!e<@~7Y|FLBd3<;OcGl` ztL%#G4?$LvUf|i~&=FhlwRD7v9kMOQWsg}=I1<@Pa=mm_$yD`}|5E33>;>_1A=S5T zF5q9XXHgH1dOrEW&%;(n5FfnvE1V@ZfHXz+Vds;P&)3Du1HX+L)1DurhsqXDe(>h+ z%r-G#GGa9_o8;yE)VRj5uj*&;Yx)0VJG*?8x93qg>W2pA+r@?@h#j1AVybY@6?=)* z*kTk&H^8lxWv+W-vUybi0XarwO23vfy7klzW z#)ZEy2h6NJh55AjV*RUe&!;FHSpdwH6G}FXPg6!d#xnL5d@53&mv5+?ciPu9{Dx(@ za^@Pr~ZKQ_umbVw!t$v>cADE`U?o z_ZY+}!~Yl3_U5+&6Y7>9us((@A#zh8-iob1dK$T@&QuOJ{BEY9mbD>TItAGMfjGNu z(Jh^z7kC0ZQ82P^xcaHA%%*v6O+_u(!&s@xi~ zuU2r?aE+jE%c)yzjl25G{#d{Dx0i}W{joOn(q6cu`i#--Yg0^!@Kd%! z`FR}dsdJ-nK=c3CAC+=p?N4l^{P}rkHSQC>1vj0KHHeqn_(r~Y!9;kO7#hx>Gh)2m z$8tLGRBqL?MwW7`3P07SO7K%WLa@=egRmi=12&LSA2$<+qCPx9TMv)}6widO3;zh0`tse#v%H&ZbE_tS zr~JX81bNR`&kwhzvJa=^=bf4##afZ9yEw2`=FuOmORX1;e=$8FZW%wpxRZ{eu+S*+VV6ntF5x>O&O|5$w#oe-T=-52knULP+M>*eUY zY-hy2*!YVJXxp6^J*ky_+^wPotd~}efjYSlqCMH~Wp~;4N1Zdf7+ZKdV`Ki!qr2Vr zZ=*juKDEHy#Wn4}7nrQBPcASoEcy4(UB$m??yCO5x%)D3JlNdrdFIe_xBG{G-`p)d z$lU#icO#jvr6h6Yf zx*5aIz}`<;Vrb5;9hCpru+uFK8tn7LX~eG$ZtYOqUGB6wf3-RHBD~Z8b1o^f|5qUw z9*RD%rw>*>lkBsCc&*>fGy6Wiz>Kr z`Z1KO>4qK99@V=YJ;=la8*krx47iKW&0>A-hhFM8@m2VF6(gMKoJfvoJwyJfzQfkx z$wuG#kYppuLqF`8s56+)Sl=oKZHP5m8+w?wZOm&PWup3Mzh7~Fhy35rq=vZP$FY6- zSn2msd-Lhbu(5nMlCs`7*6psNy!Ivj?GMitLrKX=i9ER^8r~t9&9Bq+sq-(CRk^oN zm*hwF_iB7l?)x|Mz0HL&B#{^VHiJ`wUq{rn>%lLpdXnHJbt&J7=wlT;S@7-h+rTe? zPmyQzP4OuD|1WPUD}LkRO8i`=dzxSOlsvf?@O0aF^dCUjD8Oebi6i(-ot^-mR>tq_mz)u2Cg4V10C;m zmXeK$u{g@y0u#;cA|DnZ|7@km`~_w?G(!0pYS0733v7-BpGSvM#E~=iRhPmS74f`bfBh&<`eJZu z1UMx;)3`)GuDN_~agDF*06XhD)N_qx8?uh(MtrsmT~>2_m2eB%S5~{ZpmLoj&oYm3 z?U+8(6fT}=?&o@(YX{dixq9L#pgYoiY|e4u@D}wm?ybeJ#eZPO|H6Oz(eMuXTAW^K zX`O5W*S~94PhFa?FCV$L`0g@KN0X284(iTALj>cYs+&Gr-5dFa{Id;_+U>|bo{mJm z$A((|ckg8{kiAy&rr@Snd*VlIU9bNBx#G^KVpde&Wcqe&j=XcAe_N;1+1393h`#sg zFX#UX$^5`ewgqI|ZjE921vAb1lS<=Yyqz_|L3DTZTkAJZd!iNcD}-3Jgznp z`Quc-IXz3xo9=D&Rr&th_rIi^;HYxYsOo!p@9Nm<*FB2onZWZ${O8JpxjgW^!+$Q> zOnR@YXQTgI`tW6e=k&RII{$0j>d$(=oZzGLD%|tCd2V56b3FhfV52@;c=7uiADn5f z;QA=ne{r3|HJ$53uKY#VkhqTFa=6t>-SVHxZlZQ?qJ9ShXleC^StWg5d}=)9t0sGE zRbyJ@_cP49X5P7Rru^sN+c4KR;jH^z*)q#~?!uYoDEi{$kS64i%ZaBIjt1xTO201g zlS#aHZOrnYH}ky4w=<|8JJAsp%M9)`XuYle)vLuSaI`M)?KJ<}n7$1>Ki7YL4$r%Y zG2QR43+bWS?<2lHlDpGGd1m*sYJEgl=T2UB{kg>ThrQ6Dh#6+ze}H|bzk0PBom{yH z@-^rV$n<#=#V?Mmr18~rk8;iWpAhFQrgDl$iPG-r_2K+kb*Cd2q;}buVC14xz@2#^ z&mM6)?FH+_Pv397lc`s6v##Fr>d^g$dUBU^zY1hCwX3n(I1<{?+})0iMtP95p2>w+ z9S!Ju-$mC`-!GuI z=hdf>iRTqtEIg8~_JJd6Z4A4{uQrv>Q2Mxwc~*?gzKyi$!zkFVQkf;WKT)P8Nep^| z+*Cen#8(uvA(fVu!ALx_I3linGc-b)UWywzE1;H-FGtH0q&9KCyg;)SK z%1s=E%|_-)ZQait&3Wf6b0yaZ)?sS3xFRll7IwH4_{>$q zrFlAzu?%5-N`Jg^_#kUP)gFwi-#93LcI_E??3%3``%oMV)m5?fc8V!ZuWI=feN z5P6vTOZ^Jk8r82F;=KR(1N3+Uo$_P(r~G`LX}=u2xN?E%;QGm%W|?^NEVFM`$-dz9 zALSS?PazMp9zwuSeMBFya`Sll?DC9TenT5KHNLyR`x!u?>m$lcoO zm{~e^Qnd6Q;I4h-UL57X#@A?{y<~C8mqB0T5XnNo;6T1eaM`{O`Xa5YHsOa|#|?Y2 zJHEAdjL`c3i^lN$&=-r+B_6*%)P3#a#K28_+f()H$=fJj4)bv|^vVzq!9EMS))kks ze6;6>cV}+s>@UTg{wwzX52WvJEb#=9RB0Sq8y6m6ESr+63Y@PBzFd&sgiYJSnSU-f z;y|7o-(h9%On%NvXjTXE8g%^ZW5~gretqZ0zh%b%_vgmztVQ+Pog1%lXrEyy&UyFT z4>xO{(%!?vi5K1`Ud4R9e3{p8(MRdj+5_v+@ecN&V{>5-hioj80YwkX;G=dAY+SV4 z%QYJ^b>d&p{>?q#u*NN|6@Bgb2EHKvYH1bz;P+iR)67evGd|YmJVVyWVAjbNa7Oqd z8L%<|o+0nnVV@00GoAl!Ua)*e=RA&0EJFQylCs$3PPiIdr5U!>Y%V;{K9MgC#nuO0 zo=3-UHnuIkZOrEW@olk|Zy-C2jmp115&d*x?%K;=E)LlS?_fR4CUv0iLVdows?T>$ zwhb{ZlMp{YHy;LGmqFJgrv~GGt&Yum2DGe_{6UrEU)3|^pCji#dveds6Z--ET!oG% zUER~AfBYMd4>NYAulITA%VTrQ{zvDTK_=aW4H6zdH2)wng;9J-C#6f-)LX)9O`MkqGZFqlJbJjjn{>G?ALaT$YgfB$YNN&I2Ysldm=CW zdCw@uwKciAuto8%%xy*Vmf>D5(?zh($yS!vc^Eni!<~;2uYSj#aSiX>Gp;&j&%V%i z13^EWT^L!UL9&W?P+!~aMS^S6lOJU38ACZ|7yhshb8Nz4ADAqGeOA>}HmAP>SPDC73yD}SnFo=u64&Wa>^2C>b` zo+aB>Vph%{X{N zeBEyC@h`((pxg?LycfP({V|&9-27|VP}=*=eXtGO7eAYkr{%q;V+ z56v|Dcg{9huE>S#hu0N|`W$DkF5Xv+2v3;9-M=RuNpjlq zA6ChxC;3Nlezl(?PBIwx7H6+?AzWW(C%V7E;yUVwMQ8oj;Y*pOYio#HEu{y)P0DfyeYN<#0P0wa7!OL7N zwochXRc~$TQDO@g+IThDi|qVym(A!l>J=>!e^H&X?}`?vF4cJo_0_^B#5>eC@!Hzd zBZc3Ns_l1P9j{OuU!d-T*-13E)szve-CXT_fOEo^5NipK)w$}zXPsmIg9yA;@)+yY z#aIaEzIgH8;wI)@YvkL@&`(V!{{!Ubj(>rE|F$>0*nLOGyk2|6I6dopnhmXUN~^N-^PaI!#%Me(iJ}Nzv1rbU!7~Z_7m6f zmAPgl_Za_2i1FCQ|5^UmxUfaj2QN-SZ3q7k(&G*Oy840HZu^hyf!+wcWi8!l`|hpz z@AklHv#nR}`>UtQJn@=(sN2FrXOXq}b*fKmd*IQ3owclu+Uixr=C68YGdjGJb;ohW zq0Wrfd5ORt-fS9%Qm&42@zLw|YzdYfz5eV6M^kq6&^^jWh5pkZUea*!-fs8JYwB%? z>^Xvd4yC@jQ&w^I;wt~_#Z~s~MV-6o&Rl$;;fH&4=A!y@Vs-m7?`UX$M)j9be-J*7 zegU`ocmM{|127Ow``Q8*&N9VG@VAOI=g5HXl1oLOwJ$*QxgsfjjdPEY`*gNV-6-VB zYk+4IJ;>5#@j=BVe6=8-r{dsT4BX!DdA?5hFcjw|-gG6gZ-b+fJMee%Y!?4Zo|V7T z`7Px06pw2EFn$YUjtIHCmHSFLL*!?UjN)otN!&6qtI<=lm5H;m#G(=hZf=)-=(;DL zE2^B@u{__5LnczLmrUo+u#*pAZKzzB_aFDms$3XZOSHp8pBRpha|F-8wYCVd^zi;< zAIBp#{wEo$)|#^`P1rQgtVxt)ld)QZalr|{3$X`UgLYk$N8Ch}QwF;iepOfJ8SGo_ z@axok6F$(rYh#IL+5ClnXMOkh^^IcARp)7+33acc&WovgWN2Hjb7h>Z`0eN{iU|#pZ-jNeI zCzdgX%xS>lT)TEON2gPljro`>S@i;I`_nliDl7P4m$LD`l6ybSm`2)tH&bm~q51%x zG{{dRS~!vz1!Nw(2jkW$r9Bvml@lFOf1MtzZx!>Q_!GU;x6&EJBbNBz3J<2Y_Kr)_ zS`bW5MpkuoZ902_iBDNzK09=l`Otex@h8H8_vFLHl%b6T?N4r}E!G?N^N*1|G?m+c z962H4$&s6o_5ZZ}xuSemlG}BruJzk<&z29)k7QkP9!kEE@0+-qCvPr{;cDUcSgttN zc&-UtleiLGQ}|Z6DqGGp;nW8flz1uqYp#GEBm{fK>a&lU{+#~?`enYt8p(8?x-U|k zbg6J+U~FLH2e2-;KTLMyifAhL!Dm1F{JLXq>I}uky?)0XihqveM`Yy8j0K#Bja^U9X*#WGpYXIxY z4q#n72C%Me16Y^yJq(1MxnltPB^vOVzeFs*YlV;eX2^@(9Y2_7Hn5NEY3y#!Hux0w zFxln5er>4dnabq-=U?Wzi-ps^MA60 zHIR8u9XTj}^)OHVaj_oi*AV0%^=ZO%-Q|y?>pyTDvit4}*nKOZ%jiWLr}I4K`^(YY*#9Eg z9p5cwBfi`w`YPQm%zKq@^2A!arIwoPo7&chg6`*f!O% z*yc)4Sh-EMvq4d0;#emC!V{jZQ%PH|sgs;#_#1TII_Hd=?u6vX1hPDRU4jomeNilE z0y$8>=hH9A|kq|2~y@)BXqYOz|w7B%asKug=c>2gl>{9_2*m z{7wsh=9)GZkpo8XIq>avpuKLgPZt?a22{&T^~5hF=ETC+r54pbTJ{jfwx|q3`nelw+>nNA!Or< z$Rf#@tTWN~MLx|s@S2oO^)+iUnaO)Lja7w7mkJI869YQ1v@nx@H~PdocD-EuQ5QKS z_-*$B(pS+YjUW3%^>&-v{YLCyzk-Z8&Cz)M3Ni35O+Mc8%$mX=kry<8u z*Vk_k7f-*W-JW9*_HCwh@S6Hj%GM6fC(uVDBa_4uVk;wY!1GRjM&2(I(9-HYdYah1f z8B~`K-;1Bo%b!q#kG2c{OHent<(K`-kXxu@vz1xSxBgX+=KkmKyUjlAwI)Qr+kJV& z&21wv(r?)noo)s`SMS{PVlhp5+2O7u4t)pzclrOX=l=@yxG~_1i>X#SRjc3wwv1vT zd*^0qtd;$*ls79+oL(><`j37dqXWf5|GH0}Bk{douwN$j$=PP<5cbPNXPWd`GfjN( zER(95Wkw!D%;ah0%srF+5l7E7Zx7EhyUS;pZDq5}w?eZ_(|g%d%at{=%ucQ!HqY#d z8M-P@JU@1UzwUmy$A_U9to?C~Yf2sjVr_W&KN8qt@nu^Z?3?X+P;7vAmXQ|+=e>*i z@3c-{Pkx+^zj4kxSC2mzy48riT5yGa+1yf_S$p5O`Cu?#SZEr@`9h(Ew%=ZEDZ2*< zS)*NN3)+1^g1P2dFs))9C5tErg_m2Z6zibap<2qgK851YQu>8o$-;zlg7R;M7CtSS zKtClfg^&;O*M*DPhvc3~uKWYfw)c7V8=h_TpII1Fj=00_V14@b=Y8r^8;|v=PtP6> z)aUxr!Lyoi3+=gzE|x;^Pi`#Qrzn0km7cn9Vn6{7K2MUhZIXR z;+vu37U=n*&Q!U}()>PWsw6u)e@S2W?s}v@%QY7R`10}=zQh!LwudH(&q6#!Z$m4Pk$`W(RY%Yr(RrUQX*z@#YkHYXnolKsjr&_-Zt6!RfS9 zyf`cU|NYkihpzw!(KqKW=zGSD;;inVjGH&sZ}qo7SXOM6e~~r>fAvFseu23WF01WZ zUPs%DsJDu>>tcAm|5x_sb8Tu_V77Cwd1`Y*Q|Z)XZB;J#%i6X z7t6$+e(bjXwE#mmA{FEp8cF^Pb-Gpyj`ddvBpEmQRIg4C_?~(7C6P$6z z72}$q@w5J$n9CUU+e77tYNm|vqB7CJ7;Y`ZquzPW8edaj4r9!jd_F-N@>#TX5`H?x zR{jP%VA|R%&X*6g`bquo^NdenE0-*wbpcc4Z%ttevKKN|R(?D^$3}9ue1Y-<>X~SS zWQQ^ScP)Gu_vH}s0N5Pu!y9UgO$p)I`F6dbfBU|&H2(g!+{zPD;P1J4`O4%cJE&jn zv)55}sx2$}-k)DhzQ`tDf9TgY_d4njK51MIKV6@;FecGC(SZ<_wu=8kX1i)A{R9?Q z(+7=>-+jkcy$`ysxL-H6ZIeo4vvI=*7@OumI?aTY!odq|PCLsB6CN+@SzoLtoztPS zA;h=N`$nj^gfoyRK}fqSCsqR(OIGrzk}_Se^9o;&?eH2zbyCH?T>%ZZa0{imHVwVq#o zd)mV{WHQ#ePtSw0R{-B61Koc&wET6*UR?pa)81*}-A3?kK4V#(L-qpqBzq~ATQS{= zCpC}qbdDc#UG)8zLdxpbPXV(B;)u$iRo}0nA9R6Gl?Q=2$IoMw# zFV5nb-k-&H_33c&BhbY=zBb#WxZ-amHis+nEHVw3)3>B+*|TTknNH>3L`LC^6VouC zF{p1=#)2+7Ie72mo*zKAoURStx{yB7u^*mI+b$m&^r@l0SWL-kdA|<8l@M*VW-3 z`HCEnyw1@>xT{EJIMnhKP%nXE35DI>*1%Vb-QCJ@vSK96&P zGt|p`Nq!bAtCg!lu;llniB$H{wBSY#QvMg*G>;4EyMx=i)IY}TXzxNFZrcw+d$nJp z61e^OF~Mz7&t4j284EYs&aHv=YF-@NzWo5_tp{M$S7#I7KS6z=4#7cm`yIg7=_|yl zg0qQX@W%$d7mi-_nM2d?2I_Qk1in`X=ZLyC3bukpgmP7hOy|@79N4lpr&(#eur_S& zs08ggx+)sbR}Zh^S+mc>8AmPWUSdj048y)@>9OeTrW?Y=-hM6ipHQ#o&+6?5b+kTa z<#BrkB05eYkN?!xSA=fIqu(!heL6P}T?h$&*v`5WU!HARxb`2vz+T&mGtK7X7TC+t zJV#Gdr=jnnkB*)=zVdVIs*bNHe%g)yxqkQx{i@b`jZ-nSZ8wCwHD6x+}+JPXdrNajTItXQ)z z)BdymK3@lKL64&19@t70%UUrf{{-l(X#mZnjd;1ZkoGi+{B0b?r%CY`C1wYZs z;{s(o+x2U6uROsw!Q3m`R0r~Hf4Nt-@=kTD4>k2(?v=-A<6ya0T-@>aQKgu3;l4e? z5uCi})3V3F2WivAAqanm0&|CtDnDXJxHwI*#(Yze$aE@ChT?z~hopUOJ0hD4Te&Nq zXFJzUF2#)P;!-?(WmkkvKtCdcFIutNsz zIrY%@C%=ZQoK%^CiHRP`S$sNcQtM55qGYELy^{Yx@C;*5Qr@Ufsa->UPT(4xNA0yc z5KIsAVH*Dz!1P<}2UmZlguH!eqvwXY??ireGTyb4@sgR&Yr(Uol&{CNmf|}l8)+>% zo7_hjU+ie`G0ro1x%M_n{*o-Cb`;-P&U&dxFJiA`dk&rl4q~s>yTscgm)l zGmjMd)6<=OPVHYxySg92I$*6Mo0aT@@8w-)WT{U_^y$+G%Ku@@bHx#Uf7BQCX$1Y5 z>-Wdzno5|5^4Ja!)fcsgZi1bTJ)`~fr-Ao%f&RF>c@9Ry=+8#_GptX4hS8rrKY!J; zS=jYAIUfec`r0ei?$PQ4IQR(f?;&muy9s-cIbRpqO*B!lDW9tMVwPm*lU&jq1!i1Y zw_Y6J`T0^D;6LZXZMHJ!!1(;F%ms{gG%&8#iMht;kiyv~czRwFzoYRX$YgE#=Ex9x z_T_TUUcAB2U!$>4JnuzpO`M4wUz8Ic9|DY&!v?zs`Di-W8zO#pUS51kI4f9{(Vop= zV={T+b+b8&egBf9*+Ub@cIMXszw1?pXh5@>h|DbAMSC+covxl{GlcKx1Gv&3p2&u9 z<5xq)y+@XCw?AAtp%1Qz#|c*+a=4Nbt?nOJqQK!M+IXaVFZ->%y-pz$&qf)Sa_e^J z`8eQ_1efveRdTkh7diFllf$J*3dg)yQ?ijD5xC=tLV+Uz1uaq!k;JUcP_`wGg3qP^{#*yA4I{-T8C zIVD@jw0u(>yEgSzm^H(}xuF$i381;Purq)Y14&2K<^QkH zt-~%-5tUtoa@=*k$rS7=jE&g)MzNYp3eW}OzSgit6ie#jCse26Czj|OCHr3f z5BDBBK(}!3P;H%Q+w#`S&Ht_Sg8!U;2Vtdp^jvjGZWcTR+lnagj9xdCv!{o*Fc0z- zj^RF*t0|dgti+D$T$VWN4BIIB_9@!GsJRs$zFjzy*1V+f31SOgwXQHYt+Ps&=2Va7 zO!bDN=x0W@jZEiHACXS5G&_d>rLTe8`LOxP?vCWG=*FT;7j%-7d$e)^b#NxJ_>m#D zu37DJ?@O!1 zf8Wt(pkH5*jq6PHP>B6E*o&Yo7Y{K-^>Lv3gZ&v;miqI%Kz|fB+&r&z?n_PUBI}=x za2G7=7_Vq#V|;DllfYASENm9jSKg-|-7VT}<6-8$zB(>HKph>xL^MV7&=Of|`Hth4 zV+EIhFIaf-2xD;TP_jcXZc8%6!Q#1_C@&ms?pbf%+M%97ezJC+{`&(wAKk4eNZsd^USiG<1_KlMV(i^^6Ey-@e0?5yO4~-?}RhBP_kf zq<~3+3)sunxI7Rm-0sH;f8}A;UjqIdhYlq_&p4*o^HVCUjnc&lE0%%vkjf~ZN4Kq4 zG8eIP9)1%O2~Jh`I2DYo^YFVATPK`TTWZI%AISf&wepYEMgApwzM+WTmz`iBY;@vl z9zXPCKFNe0KRmEZD0<=OpJd0NZ0Me!SxFAD+65*#bb%T7BykWC{K5SHfSGA-_+=@c z?K0V_BGOk@;D18b;o6i=7doK5RTeid?EDz*wIoHmz1)sn=c7Zgk4!RJEHQ-GlAof( zEX=j=Tl)Fi=kFuN?6yKQitQ_k?8tpk44FTUedzI*iaRg$-jCc!j5Aue{PEk($z4~VTPnp{axyTcg_hP4$!`C6tO|14-y=7} zk3HHPr_5Nt%+LKYV<{7+OcU?o;GA@!E&jVW@=S0KLN)7KGOg&BeD}uOR;WmFo+|LE zXuYj4wpD9*YW_(2Ux8dS207nbyNe5r(KUrw?DyC#SVzefh4-Qx3I%3wq3EmJ7o;fycgC*wXcy%axe zqH_iENfZ1E-H;ex&(?L%S6?h*N3k}Rns_PpS8*W~^g+JkSQ?p+`v~fL+V>mF_98eo z#iT#1ENqB8(Misv&I)n~ZtdeYmOs<^jiasd8xJYSZ)|ah-;bnH*+(*^*ryieZwYi! z@`L7L-xt{j4z7v6#<;uKr_0ata8vaKaZ)mwd<}!5na=M$q}Zp0zQ1?~e(H(V?-@ns zZZ7W~bF%z|QtZlo31|x$Epqbnot_b3J%! z?gdZHeG~8Xo$NY-=Ow^%sSi(mOKhO@% zXEy&0|KACmH^7(ZGkLW=oD^&(#Q$nxpz#l`KI$2bU9lNfA7jjs>Ja&hH|()`S#^r| z4RTNoCeJc;43tcCu(=g|yh?cK9kC&9>K983i zScdG)OM1(aj+b0MWPv&F4V*K@HHho{pA#d!5TA5AId!WR*sJi6bvm;){v%8?h;E$!nGfovPN5%v<6eB3w8$2(u65P>w zi5~z*=kuNDm1xh@z;`|ItJo`E2}>6B?1%bpQ}R}LoM%%&$FJsmo}A<*+3G6d*i+-8 z=~MEa%;Wi^)E6tmTDh#f@NP@XOR)B2vIE1~lgWC+STdP>U9Rp%>a@CbQg-$WI)4Lw z&iXdLF#VK$wtT7~)`Y&p6I|@z{EBsjH#VC5cq^AfFQO|7an`-)0(K{OIW|W4g?N@= zcia51)xmb9q+ca^=~o{fRMM|1QY#9xzis!e!S^!xD71D{+Jl{PlMo+kpG%Itkp8KR za&GAVyHYn1AGi}ys1zbk7w`YJZa@bD>rMpOk^B1XEO4% zX%MZhh~jT~5FLU3Nl%QVmgEMRX`QSie1sQuvKOfVm~@MuRixHic_lQ5b4q#F&AaMU zrt^VIJl|}11F}W}f0?6s_JHWU z)1!!kgC8Gwjf2HlLU~J=Sm@~mK z0)G_0_VD$>&bt`fW$=d>v_xup4|k!8B5(`xZ+$DidRm$c;yRh-d}Jnw}}2Zo;`$ig@3ZG z$>z7n=P`F)+nItlQbsHhhQ$)fBC)Q zNvsFE?#5;BKYCF9cOxcRUYrh@tj+D`=NxzZN%qH(&!4WYG{v#Na-jG?bNr}6Marx1 z?pL%wvV^-|eZ@P^;6V0-FZl0+xO*G9jt<{4(_HrH*=7P)eQ1Hb?s{aV`Rs3Jn8wFv zn&tP*HM!_EVk1(F z#cwvoJ38JBy`xWe@{jp)H*I(NB#9&k^>%%6Nj0RE;7Z^HQ7+w>9eD2 zPtp(3Y4MkO?(IHZt3vjb%&W8iBs*)L2)4w6lY1+p_z^lvx`@7|jFp`ai)A{u_SuK= z(dHM>-JplG{X6n4i?%qrW@9Y^_G9THkJB$36X(-D>7YT{C!foMlo2f#{rOkOj=yZfbSwa;p5}mQI+4TUh@mQl@@SMFRONiJneK#DUPsxX)zr`0ucMv#?I-RT2>a6DWn=c(b?)cv z`8n&ng0-nws#gCTbeESdOU$6wuIN)|WHY~`xh!|a-w>oz(7Og`Rd!izQRh2}|7=lQzez(IO!a$t?&3pOr=8SQ{cfI#PMpj=O8iBn zc6A{YTDe=}`V)INPULwOe)eBOOXn!9`QltN^yOE(73&${?&zoX5|qU=ovV-qL#^;t zV5Pc6M;nn1UwZJxqI@r!&kxhKXz05$ng_++cyZGv!(IW}mh2SC@SLlTOS;kz*M^E? zkpZ@m1Qj_Cuc*TKPKQqcqUQwUlY*E_jLd2zJQ4xpCKri!q-@4uoH&in^YTdV3Qk z^J~7|h26*cO=w$qGRUmrEUL*?*AZ+ku{o|i-kq5nE)JwEJBrNsucH5n{WDDR<&T;% zFU~h#duc{bjN~M6HyS18EGfJt#wAURQcCmd`P`)2Bm()2V#4DDc-rdGC+SQr==~<< z`IMS%*>$_O{D}3{%6>?HOmCr_=Wini*T2A@(u;l76!6)Oz~l`7#c-9c*ggssZQ{&0(&zu0Cf4l_ULl| zeb655+VSLvl5HD2K4@K6&mtD)%O?E$qG7l9bHH*-gv|^2aH{ z$%U*%C-+UIZP}hJzHwjZ%Y7T>dird0t8CDVb209+IcO}}OD~!w+ixxNw8(fmt^6jj z){-6i6J^vvS&dyZulp@8So)x6)0aSx0(R&o)<#gStD((F^eqBimR_3(VO#O(-fMN+ zwS{q%welnIUJ8$NdYQG?Ko7;6uID+nFyyvdt-ncQ5l`0q-3YJFncsk4p1;M?F~0d2 z--u5be$V4K_+VoPRbN&7^A;Xg+UK60e>~&T8VKV5eDnj+NBNawc1=&S{`Mp?J-ox( z{4RQrY=x`vU3ockCh!jaVc(tSzmqL6=+m+N5^Q6hPiH{aG5g#+dT=}IO#b&}{<^vy zewN0k

9UzOfh@!nfkw_Dh{_mTy@HC2iu_SV#abv~_YXSeOE`?=>o-8j=Md11bJ znyZZ8?a$9Qb^Km))ogPu*Mz^!H{-e5@-xf_pPymg!R2I*@s4hTzoOgaDegV=YDKO- zK(i&|naZTo;vAyL z3Lm})w##|&?QMH?Z4C_VUR{V~&|7_2Xb$Up(Qd|{1|D&(XK$VChbB4xwbze{s23dK zz@b&}ItcAf`?Oni{u8v@we$DV?#q1IeK~inwHj!#rHcuVZi{ZoXH?yq>6Fi?3YrZ) zvOYt}pH-hnH}&bZWW59V4R`giLH6<+rqUeVE`TRj@9-!RjD>GLhn zXO$NnuJz07_u>4O{ONEO*yK{Z=&kzf(c3xDRAhEbQ(yTnkKSruY?wBu@DAIBefOgO zuAX-XqqhUP_Q=uUt>N2zdb`x82e(;zD?5jHRTX{*kKQiz>FsTn-n#eF3AC0D1E*zM zvHRpL{cb~tG!1oey+1IG3DRC$7qq?x8mYD&?fu~QXPRx#&NnT8o^L*K?@Y7hPxH+* z{?A@M+id1q^E7mrYteURn&O{kma_Y18}SoL~ z`!1Vp)_2Xfm-w@6a0j}(y>_8Ec#=Ry!?w?QAJFrZuK?b{LE*6ap}o*1(Qb3=&Dn5; z>6m)(^OW7%s6#HX{j@mk#Rj$4UdH~xMK)d}#6FM@09%cNJ<>MUvCW&@dW(&XfY)|@ zM19B*r;tWQ2hWt}t^&Rynb(-5&;#v>S<3I;dt$1jFY&x4v$PQ5s^h9j-b%f<7Ho`s zN-^@5juO{x^K)5#G(-IXw)keV*c-Y>j>C@?SByNil=xB`BOl?eHCt!YK63!P!ls>g zZrXxgjl`}e-(WbidAG*!OK?CrY18--wC_khg&J!g^Y}>}^h>&evyIf#)+NHrgluR7 z6Vo;_?(I#o`#OQI>>U*e(ax#pnDX7;VtHdF{m}fB(|&vCvTU?$QI`oVBwxg$o;*I9 z3wCTW4&0df!T7!j^Y!j&|7d zwa1)4&qNFJd-9^VebaAv4BLwKmnS@aCfnnwr<7SeMs|1Rsp$5Qevm^03g5-2r2~ogPEjllz8=A!b-?*!714I=$I_jZAH2Q5j|Q%8 zaK*}c+DojIIlA-7&Cr&UFTmdO_*ZWE$wt~h%N+=R4ZdZ3`#-IAQu$-HNZ~V0@1ExXnwlwER4^(2+XmN<^2Rzs13{6_{@JZTjqAXoywI z&gz|04&UB*0`^rC)7a=ob##x;nh);b7v9VM>h0rSMO@jc!evp5${?rTyE7Lp|r!{BR<%2zH(5EUY%-K~r{(OgL|z`T0cfj{V|? zt;ZilIpwt7!?%McnVxfP+}Yv}y#j70koU*$<$Rk|F1N!c*8yOjPhnEEc)nrzh?T~QcLA4M|xi&vfoMZ7=7E%V(MC{0eXhMYd6& z@PD#$8`V!g=GEev;Eg>Wt_<7e=;ZxVRtNxcm|Ou31-jWjM5E6!oN3 z7x4+L>vk*dXH#o?p(EB_*b-~cZB9X3Le~>(leIK+2mdR-!4P1kGkp#F`$hZYKdef@ z|F~+n1g{_58Y&K<-!&1Pap;|OsQAvS-#93LcI_GYa8!1jRN$rBLlxwZdzIgZ3ALcU$T$5c-!o74JL%3x1in>FgKSb2;6aUv6ij5H-B#;9esAJ_u)HB|E!O09^r}ENqoG zWaqOlbZ2=YTq3qR&Fq{ za=%r%B=m~)ExD_Pa|xt7R$?2epidRDw~o3ltA2iw{y98l&Dk~MaLn;m!7bVk+`jMU z#JKTUVtawzj7vk^cbr{1 z3*|wZ4Qxd_TOun8GwLhzjG1vkJCCf$UsdOwm3A&?#ayKac za$&U!|2%oVr4Rp6AFiOSkyhUR`|ZbH0}lny8yTO*F8Ne6+AuC)6n0|^nN%6@2&=u| zIAa4a&JVb8f-eUf=ZS%FdiI}^oqP!RaIp9S*13JJ^&{MujYj@q;Uf7wa!ugl*P#U( zzkI?Kk=qbchU=xcchOuYNew`F!$W&Mdr%@}@iZo%FiDFjnQjLjUU8ft;lN zD#r3V<6rKH36UM7DoG5U)=r9gG|pD^!nntW#G{wj))zye`;mV%M>Zc_gZfkB*9mW^ z7XJ;wKcqjlnT6uT1_feEEE9+x7Sdx_9Kdg6f%I;jwBr zGH)R?xgEGrSKu4L-PVt-r5qazvE`>|FBNm5I1$T7%ST<8eS&@_%(ACKn!7mdr-&;I zsb1M`z}c0l-8JeLzZKV66Iq6Sp)#qgNw@L5&BCeJ-moH|EM})4M~@ zrn2PhFcY|@bG35CxI`CBVs)YIl2GyO(1o`{7bM>+H(9IrH*<4uWHa!(G3%ZSE>;Jy z^SaQM)m#Zjs(@)Lb$R@keBQ{g72u0x*Z;P2;>FAePx{uUHb3!|D@^l*dGrjuJqF#3 zg1;TYv0?c6(}jo3by*Wl53lLC>4=fCN%}hHhzb4crpwQqXPPFkhWv8JQBJz)nU{pR zKg@FnH;ez+JK)oup&<#;=?0yB4UTn=j{=7n_`w)t^M1EK4#^FogJH@b-&?xCoZ38v z8jGIGPOkj5bJ35-9yix)zi4g`&1sS?GD&_g{32>!a+lhOss6a&W6$B>d<~xSKeRD_ zCjAP9O#a@`#Ln;k6&*A(F*oOqmy0`p@^bO=pLx25)@3E}v35<-@7iC!RQx4*Y2M0Q zg0K1a|M;ciEjiX0ZLj#VnYCw@ zaOHN&30F3KDD)5E$+y2R8sy2BuNP0c-p}6aH_bKoOnWV!MEc;#S5?1{C#QfHK|Fbv z@T7*d3!c2y$CKRWUoP%u-_yTij=#{)9RKZ4ho0lRZa(xJucJ(Gj&HbSrrCAzT(jio zr8)lEL%z)yeBZ#nQmv~^+&j2ryV}BiE7x|e9b7xPoIPtkc;MoVfp2F8vefp(s=|&| z(Ky+GWNT_KC?BG1tOJ?ru*%PMsC->&Q@lvFaOG`Au!z{M=I561izaI#hR<=^D zy>i;>pe@;|Hq*}WKCGW*9US}23*F7Y#?eyga#|mIFD|VQCr6#Rne&yPn}@L$ov-js zY05Jn2=eZ-JMjQE3$ffpEjS*B3MrI@b`_^~#zziCWV`trDJnmv2p7+r1ay?gZg z^XW2^T{c-U%wGLfDfIL7YH}{EF0lW{?vGLq8^s#bMdLZOrM)df%dYFHN|{1jIy>|f z{?@RS{nz3zTWq`@ylTweqI=JLp-XsjFKegaF2C%Ze%ae=_Oc)4mV)*St)g7W#Iqgb z%RvXZ+tr~q+WqfR{&$rJXrqI*n)J&~_sh1?#zyQc(w8=*(uGZN`5~rtUQgeuTBl^S zKSleB1p7yUyWn5-&UFRt1$!?%QT$hS-BeWPD|l<@31Bqnu&Md?6Kft~-c2@>Ulv)G zt%`Yb-B$a(-HqmE^uL=6&D4K9vfSa|X9PW?E_rhylvt7#tntrEUb(wIzA(3R==Zzo zBjdr>R&a^Asn6a(?Dj?ZrR057o~EUy zt*a){R)|E~3in?6fVCr4#Mc%EJ+lNH`jBGT8_uAPXpERIzI}tax$6yO%ewA;;4$>7 z4|To|7@TFk&{flMLyo=Zx#-Y4x(?3}lbTpjIE%Wg%o~~K3w4I@-G?*I`pjv$a&WsE znB0eV`abhj`n-)kKLWlFD^ycP<*}1(R6p=7cGsuXmkZfDguDjKYC4wYj%9ym70;^T z#D3J>(WQOx8gFxq*dt)qNc*Bif}e$3Y;~cWJ(w15F>>6R65O6NU-sel&}-oq_r_h1 z@AYV6wU4f7>(bh~_kjm&KYu4U(@zBP{Fd7B`7NxsX-Ar(=<%kgXd|>Za%xuVNNeZ; z^qZAsp=|01Q`9?8e#+$UKEu>;FPk;P)WeLXQ9(97&+L3`zA5r- zJ@+rnoM9qSt#9@sM3C9RXNr9GFMP$L+aLoXn^*HiU#aUKyNKQQtmjDg)eqq8Zvil54HAcETJC9Pq(gqv3M>2 zD_@p-_9)Nh@J#sw+_MLHHl1f<;RkxA_-Wz9_X;l*7h+r2{)M)cOR|bNzL4D5jl_dr z94{+2)BmGW*e6q7++9_oEobeN%)RW5ig##Y9t1o2R|f-wipc$ieH9*UHoQ|_1LfBY zMa-~kXL61L|H~)vKH5<%?P;{5`c z#KnS_V+}qVbSUb6qw0o7NuH4}#@Rl#PZu3{V-4p+9KJGCWRG@t0=@{Xw0u(SO@4=W zPMqL0f_hr$W5es{qwKDd#XWm8YlZcq7$mK?D3^4f=hDcn@IKL+Pct4*H|i*SDpH=; zS$XBW(|Hbq6YOz_W6Oo#+A}4vi&dsLD}#DM8Ekgkbw)-AIkbh}(ygGg_N)x~vs~Qy zuW8SuMJv6yk;`u`x3V`XM*bN1 zo61|A625zQ*b2H_~ za+f}7_gtq1({y1vcCc5l`ABwDUrqu)hLiW;dG_|zao@|`+V*|D>sswgq7KD&%xC|T zVk^#KjDkx=Lh=N0`}A4+Wo3u7vI+ZW(e1JO%J#UhfX}PpIB-SwDV34^X-8yDVJA72 zz%k%!Mtk+N<#v#l$=Yb(iEpNyX9HLd{(Am$#UyVhC(m|pFqn7t9?n?W!E@DP($`_{ zyRIPrkG`)Wzfnb`RL73!66%|5{qO(i-rg#6o$YJf&cndu&GO>z2d1tj)}3tXo<2~D zJAqFzF9(iogJszFvK47P%U00uw%T^nSt}GnJ zIu>13JkP0zC-UHAgU&WpyU&j5-R@`ncCVye@qf|UTV(6vcgScxOxC%w4XSInKaM#6 z-{aSJSD*T3`}HXY$oAGXg&m1Cg@3)Cw5HG~+X-|aN`DknvZGaNh+JO4P;g^?=4(PL zo-)8m_OSOLPsz7`XxV7dYh)wYx&@Cx&=183hkUqjzEs1VzD+UH$EMim!-csWzKz_( z;!P>PtYQU%xNu}oS#M61+ilD!s{J6KDIApE z(uSQ{c0=K*bmCErU--vw+5ds*O@&CTWIL1`H)I>U1(|C4yGp*`k&>(8PL4x|lD-;I z4(-YLx5CH2aZz=?9{$95^LJnL{=7+nj~VQbw8g&KZuz9Dy*j8ne7lYP2+WtG#q|VyW?D)%JK^W{B>Dlkv!hk==>>jXeUIOJ zeBht+0n4vA2>Xt;!z5P~bS|FOsLsXP!I(r_1UJDFyUSCeFNe_|(HF^<#{s+7M_=0e zr7s%4JLhK3JLj1lDC~AkDkhJ2(uJIFBb11CD!xO(`uE^sM`(+q^WV!6TPsh{;@B2{f`rOm8 zcFK6)>O1o{pBj)px?hUkw-Dd3(n-Zk<(x zjnaNm-B2F<)5~7rgADLUo|wcTJ=B+vU;`!9-#f_bYi2cPw><4Z_t+N6#S(3 zPo_@6RJIJ!N!c?*&n>MigH~dP(zk8Vw(NDIQU@8MS5A39{V~cWc(>|wc9Mavw|~1q z-1b-SNcnKZK2-fQ{m`1)#d?x_1TVKR6MoDTOein@B-n(^IN^pZ3!QsRb!~xf3TO1a zSJz~8y?BKGhi~T_n+F1X3<2Xgsj!W06Mj2;g!pDClOZM{-6j0g+82I?qNiscl#RE1 zaJCxT*PGB=V)!;pGLs+N@&2srsrO#`(@xQR?P*Xftbu-3(WkJpNr2Ba#5iK_9lbOK zT>&RTDT7<4!}Cvr@596&*U8NU`TjDBEuLRg^=6+Te*VEcg75hH*$nlHONkvlZ0gcuw@b`R2Z%L|L@tI{ll=z0E=!b=}=n|p^b{C4M~ST;tHD%iin0b z78n-QfNN2a4z|0%9ybRAC4v~!l894SYGhcWVv&c6&Y>cs&g={m>n^)-0+q}YzxU^U zo@aMh{%Y&_p4V?*ujlp5KF|H!f3EwwuYdP-UAIr?41hDw#mS8ZT$Ous1UkL;PnN(h zJe_{4;Af~SCjG(5zlmH4tfu8Asx5R1+a7+C{scUb_2e^k=#M&&OnhlS{d3wbkI^PR ziT2z`+7j%<*G(vu+opEn+S^WKLe#${=J?IBx0^3wFV^}n(!S_cKW}32((6;A`Ss!;|{qjgtmezw>9{!ZQvf1DWR#~RFCql?ls)KwW2s>?1y%Z z2%dg3K2@9m*G`K*1U-JfD8{&w!t)uq4}*&z0T%cmiYJmIzt!6AWVcI#vk&5fod8~m z`Hl3&@qMj@4_C!5XN{Blih5Z00rgorhTd6PoKCd~&-G2=bAK%5E9D(Dx8taHJTKv! zzIBzxQ-jNR*JakU%NFF%==b9G0Wsi}lph$mS~IO#+4@eWoZdfWmbX7e%!}soJJ{5} zW4_fs5?S4`tN+}tyDjEX&WcR6Zz5N(=Cdk!6=w-A%c>38jl8kQ52z}#4BzU>*#OTA z$D?z!n+>ZvNzB2D|Pl9$6H&tY_3{EqCJ|ww}1ml-+)Y2m^I40>TI+R z(T5^)CALBGlx0%6v{8O(<~|j%{tT8@J>8sn3Rph{j9cPg%Cyjrs)WXNeVcORu>Lm; zk3n}BhcB`?w*)+GBu|`Z(&E9*84qq{Ddr-T8Z3LP>McsAa(b_FTbPqA=0WPeC!=~b zFRE{odAd#Qp^tFX!S%93RqI<{YH?0&YH!GEr|-4bX7O${jv4 zC0i9*n@{tL|1acKPS z1t%iBQ@^G23irJJ;`0Qp;aQp(0QjQ%q5ofF-pC)qd9aVR?<>G>(Iv$jT)?`;U;4?a z6n%2rvTaAeiA2iI=WyE7_T0UoU)584yfF2#=e`m zZHi-mXABxkNknt2J*}tPn&=znyW06hwy0JezUbnd@Wh+j-SmAoeb=|%`m9VS76I83 z9QK*Z?ObZi=@jP~i^ukvPjDxoy2T5GTdMnJ=J)2FdYyS?E?Iy0tGo56PL=iGr#@)D zynaYG*1qRgSo2!z!Q|TfTi`#)mrr6B&we|A4xhX-yCHylLY>RuwOYrbOIKp!{*k$_ z{YU0Y?V3x`i=**4lN)_^A`^tR;m_AIPen;^gEgqJrrs;`7xkBuSLV=#ft z>8!~^!1Iv#x;^t!<8a{mOj{B2pGYpIta#52ZR8$%QfsXUc+mHpG2jI4YFv7+`Lb&e zp5U$JLO6La5a)OaFZ&TpgskSupp}Fzq%%d5S#VxJi8_h@IoT(2^zmJ?Z z&8_NEy?y7+>rZL$O8kbW$I{t}6!j&pd~t>RbQJ^Ct4e0JEMkOkoUyv*HizI6{nrOSlzu$5Huza2!F- zITueAAAjlQl1|0l6pm})pI){x33g0T#>Ay{Smlms`2WE%ef;8soi&4rJ;rw2wbZd2 z{{VV6r{MXFWjv3i+G0EtEsa3WT$@bwZuWn6lP5+rOL}C-`SNSh-lXFfPCUT$mYW#gCmI%~i&?Fk39MuN`X|MW4&+92${{z>aul6?>LXznFfe};Jv(qEH+ zW+W9;<4D*ZdCC%l07AF1kiEu5y1DU z899Ej)pg}>Aba*0?#Pnpy-RxZ-T>`*dawBUtognAr|5(99nlEEcMN?fqmSR(;OL)W z{x41ZY_DKUeo<%=dNJj-HZ_;yUp-)9EWf<>jyl<%c~iDna4Mi_+RyNzD|`Fug3qf< z(UrB1!pI#e8x{Q6CyyVwPpWwo}8dM3-?~V=eK_9RXqg)D4S6>^kv1`1Zjr}^{uk|5cON~po&0eZ~roQT!9pQU!nCcbZ5MR9WGSji~rTJ#kMVt@EJ#pcJ z9-D&YhpANC2<3Q93eM3S0t5O7XBwRIDf|C}Lzs)f&*wkN^P9&UO$Xxm5ytVk@aRDM zdB>*%^^~nIDEnc2Gs;6>$&bVbNc7;&-}C?Y)%m&aE$SQ@;@qSH8t`rCf?z5CphK{R%G80@-HX&Nrd~TIZqxd~*~Hke{1qfO4B??FiE>Zl26 zzs$*#fR4mmw7Posk-klWfq3A>z+fTYhM2P|>e9F8(}vcQ`lPe2g!6rKWocbcqL0x6 zI#nb3#8{Z4d`ZYTD_(T!u5T$OdPxTUkS~EwX-wr|{1f}osWXWe5FW^1_%!-(ES&IY zkodyymz+3fuIw{AC{v}eG6w0w$D>g-QO4O%a?;X^#EVy3Uaa*{x0L{?^{+ zINI>)SG}rV_T^Km8``D4!HwrFFd^uZev3}&J~Itn1=rMnKk*RdToq~de#2>-Ga|_U zm0VR^!?{8{H{ndKCY-=uFM-UN;0(7!ehgPF@_Kpjp6ob&OLkZNW2$a9YQxsgGZPdn z3fjQ0E6D$xi;SN+ZEzjY2LF%d3UiI&s-^C6+|`cP#*Q;@H)`uw(|jGnkxz<&A@skP zXRv~4@Zprsn;2XXNOo!dB5r;eUQXnCR^KXy!RBQV9Du9*Wt4Blgt4EJlf}=PDXmT_ zPy4S;@XOE{2QK=?%Lh*XpDW+dnpJ(n!3BTl?woXH%A5|JDQ0XXrv(zH>An4~w;wkS z2(0TWW=;EP!>f;cFjom)8hdFV(IwdETactDRwdx(#vhK1=!-dgNBI`8or&iKin;$% zyqx^;zvA2qd_vvF-bQJ}PyG!}bD>o8b;%LTj;~9rLD_Y3g6GhH#adP=wNMF>4wEMsM z@omo4DBVErd-^a)d44vO1Ix#+0^V1ZZfNX!moZbk@?rendDpGENN;#td2)UUoqpjf zL6g8KNtN&1Kk-2z;@g$H5u`BKgW7|z|xtph&X*w`}{y)aO29*xz5(dSpM z>#B-3X4QY%?(mOV(e=y*=gf~^A3l8Jgbkaz7qsY{5T~7SYHL(u*RMExexCcS5k9R3 ze>U{wJGxOYI#^-A*`~}#7@Oc^%T>A+*!}V&6TF@?Ik{`xkMKM5EZ)^iDcV>#p!gQn&L z<3j~~vaogW&5(P^1b)&jeB3r_Q%|m?0rZJBPd9;gb*IN}>W&0zyPp~B%wwc_(~m2_ z4{y%3?sQHG*OT7)2(p1#pFVIMxzYO7&2nXinIn2-R&>9dY!8nB3(1CcS`W||$zj(b zx3YGb!)R^-YgK-!%EKY~x5}-n@)&ikaO=9bpsu?M>O#h`b%_=r8wb<}(F5kMdK>&i za*bjJJh|HICcwEp$}!b@gz`CgcaIVPCPxBy4@`3!^K*L#SVCNqb6) zL!aliG4~j4%yHX57dxU2`cRDbfAR2GV@Zu^Eb;16-}Ia3dDVTWW4@X7xA|rx_u<^9 zbKh}jzS;lceDfNY=XdFy9U>jt(nt71BRpL`qE>GL9->XvK1A)i1UB+|ab{W67RX^1o!7no%c*>rEqr7BJ>_pU_ z|0&oZU&0fjYNxtF`EjD+f8<^XK>v6yxRQqjU%Tcak58HERi>Rk2guO`n$HY?zUy1|EyVS2D z+KjY_PDZJdGf-MKovwakZ*P(OenyxWV>7f(=b8qfef}wrcGr!)u=`oo&{lW-u)q0& z^si#d4`*De3!Dzj1~2@4UtHbVW#wgftUu7&C7FiYN0O7kG2#gDTb0ZtJym@W?t(AX zYOjv7SxVs)XtLafW7l65q{mREx>HSlxAobb-_an?X_4g6f~IXrn9@_JhGjeQT#F41$3 zP83Dp&CrN{JXS&;0M=ZL7}Z#lV=FMksq$MfrfKfV>#+?Pd(;0Mwl2bTzK)S zUwxdjxT(wPfZ)~+d~L)_c0#W{=bwcCTVwt-a6okX0_dt@ScM;69INcbg0Jkw{iVMs zj&)nCG237Dkz*piHO9V&n;Ycj8+v0|pdMk>h+Ga(uy`->DCRr=s&H!SNw6{9^ zZu~76JV-wj^Ksjv^a(Cwdkle^wg*Q00vE$@YQlrn9McLu2GWA$nI1 z9`qLuq)lVHlb`y{Imhd@XIuiN@6n&K}PIq}h&8xv2^53V5X2Nw_V2b+eKv)1IdW!t0-eLxrM^*d&Luue{V zMuX?$t8#@osJ!Ri9-Q*|_!GbfoV58ZBfa^>Bm*dhTQSFq{hRj1-u#U7)|BS1eW)}y zuOLt3E%!~%E%@%_oN_YylZm`ZNynD&8nI-=rAhW0vhgssIA9)^p6Tqlc{w{g+mPD5 zhPJe(B|kFfIXxSQ3?SNB*r(BjeJbe7iTdyXuMeUV5%cVc`Vppn$=9Ae+RN|Y;o@*` z(dKawZNtBaoX;*EH6MXT=+S-fh_c{KVR_+jIXQY%4?3BR9XlB=nI2r4;ouUuL(V-H zmzswmOE|WY9(?Mbd;*2*>@?=64%yR(JT?Tm>PqS1$X1hBM^=ABhTT4kH5Vc#|MbRe zUGVN~6dzm`ZHM=rzR~$=wmj$Lr3=bWqI^B&4RWQazR#X*CwxDa$p)k1A^o%G zT4D1p%qWmQ;9XJSzLgPkA^5-Kpe@MYl0BAj{+hR+Vb3#VJSzX}e;w$&^2HmX%%K;oTVC`2*kUzFP2X@pad> zG<8XClsxn4zdN!c@{*My^-MCc_A!P&R?_3cT8>^I`YgB${#)YO-@DG{GyM#95Ut$? z>=o$3-B+RyK#%rR-nhJL=#=GMPv7`h_mHv6yR1!S%46MwM=kHVyxPfOybT>-lB?7I zeAHvz6I(XPuG2kXwQ?I@-?oqWD+Y&d!bWlvI(Xe`tCM$MITl>na6$JZaItvoMcr5O zt-hN$_I=$GpA2_HPpdBnUv(C#o{OGN=Krbg|I}H11^-WR|HpO}5WZ`kL@Th>1awxU zXpzo})LDy>z*wu#{m-k1J0&kk2GRVeoL44Lo#T8;aipS z$_(UN*|@^syX4qOs~fv6M{k+@WMkJA8ydSjc#D>w788DnKfvokoOyYDNoV1DRo%7J zT~xiYOSD*hkeaTJbd`ByO76vY>8G^24B4x zMdUpBBUh)SuYm_^3iNo%#0?KQvY+*LwmNeXojKW~GcV-5bmnA?d>`n{qKzf7l+VP; zt54s2)cGmONPiZ8ar9@-OFoAF%=iMrMd7j4ZNcMwU5S+?y)!FEzAzt8q4_>KB~^{C&_@iz7S zZEiixVYRnT=dn)V-#IJyQdV$~eZw28@~4mdeo4p7-_JKI-m}02xi_HGdiu@IF!Un? z?BEfK4Jo3IA%Xk4iqYSF7GLiJS9C5hcmm94f~UYeC!Z&eR@r%H{*o>Y@aSg|G`o29 z@}BwhyYp!x&U|`v_>ZqUbErN$bGRZ8d^-Ame~@z4hQb;sw4rpn-wT$`_bZRW0iOwF zHP719EzCFj9Qdv8lvnoWoJTD$#>p9| ze1g!_F^o%k*MJ!BX~&Sy*KgZvhNhuMg_aK^erAY2w0M~Ia3!Z=XF@+|MhA(u=^O=n zc5T1%&*_$bs-KbxwH|b~nf8p!(BCUeOSXkE+1QO_3o?C6-uRXgyV24UcVWlFx5|4= zd`5?d``_MF!rAOv!^X;%p$jHi{{ZFw+QKD!QaYT-Z{@f4iiGq2!wY(S4kGBg*hsd3 zk8g&bpYT%rcG?RscWnR1k?qcYliMBh!pog%I{^Mor)>|%q%(-m&w7+xX~dD++@;Kg z=(*PKl)D|jGHe|$$|qj74xR6dP6Ui*5X0s9#*v@U`ieB?#gmnPK{zG)CEKdaYsh<@ z*CC#)_tIs0-do+Rf8^PU7&2jk*b`UBP#c@$_$npnKbQOo27_a#q1#;fozmRo!a;ol>Tv5aJ_h!(?9t<6!uGfvHPV3{gG@?5q0`=_P4NaNf$C^=r;0T z94nuqr<-=0))pU5TnbZDa^T>jO}xW9Qc5P0qtd(zz@2& zV_)U}j*9{-d(IkxH@{$z=|08Yl=hyApyi)HE)|dP_6EfloD9~hOUSxFk>%!fe zk=LaAe3Xg8W!D6Fn%(DX;q2;wvxmpL z-*_=|#oD#~QGEawxiyL0n(P|Fca>wgc>i>ZyC2qa!7nGYZ2FV>ukwAtcN1A4jGlCUgdvkJQ63qDP*(nS8Ve6RgE$+f~KkM7x+uOzSrkKX!S<|oGY_)%_-DP9o0 zhr4*dX#6W>hgV$NR%o5h+}Rdt%V#1eW z+g{Z60ooFs1}_4>_+)HnuQ0BtjXRWGtTb^&W@`|B7aEUG;Y`J*t(G14j?{rpy)O%~ z-t^v#C!Vj_@`R@k9O%4uc3Dp2U2xlE$-W)>rkt`Lb-&YleW&-pFQc;X2Yjo3jm!}_ zgLk0U;vn|=VWKzctLH1OywDyUe1!gs_F5VUY(+QZCw>R#h{#V|Fq?SJY8Ji>5 z^p7pXlV#4{^>WA7SMXDE{h!E#X!lq4*ZF#EALXu$F_Crl7`A`yp$Nv3G1m0T7wz6Y ziu&ou7uOZY7ri!9Xw(U9rqFWxzR*_MpZP!!q9+!P;X8k0%&hmqoTi%ZO6)<>ovQlD zN4-DCP>Ee*C%Ca$D4kd{vHO0_=OLvf;tiGV!YRdbl+-l3d04;#-$Y)dWCd$wDg>x>? z`OuA|JIMF66gu?z!Nuf8Pq&p(b~NQAca~uvAIW}=Vlk9^u_PYJ=$s*6Y)Q73x{IL4 zs?qs%yRbZ7^)}K>O3q$Cp?(C;U}Mhlp+b>#^(ce1}!f1=JHr(mr#lx+Jq*b#7T_ zB!$l>Fdc_qaY-EidSDqyIPvh{3VWcOu^xeD06WbGy7<^;z88JhSPw6fPcrb2@-6pf z@f_f{{u=yRqU-j`{}i8md#12_^wqBX_{FoH{2IAuBqPzjzEypSZx)WuLnbH-i^s0p z`&n`*M(E!-{BY$buiU5NoBr_SnP+3f5tCyEo8W5Ewr^0U%9c>S$~*kCF(X)A0-S8@ zb4uq+}^W&rO654~>=F3!05^6WQ{hJwLOp{EB^H+*z_kTo~# zSaVni`~Lt&+JE%s*~_`-l~FF5pHrr`piG2kg}5MG{S#%ho{=ls&LsX(YYSW03(^-N zRv3%FH`w#n$?4>L7jmXP_rS*YgF0sW2R@0WZ_aHm*B`qtvR`TpD+CM$; z{hmFBOW0#jeqFD>>ZfO8eJgdLS5()#cF{Wcre|Lj?{8o0*o$d<@NNG%e3sY$cfZ`D z!}i2&sDJ9aY#8nTR?>0kS!}z9d+nY#{6pVB$Ic*ehRqp z>cOLNQgbPvBF*Fespq{|wFy2J!#_O1e9>-SdD{` z9>aKRqx`Mea-Kh4#jzFpEe z5BXHNhsArh4Vjd)aw@)1(tG5SBwr-?A#LN@PF_r{wH^H4$+e4XH&-Uql;6YE&hLGk zOCz79{ovylft%(oj9=0iuGd`Oq`BSLpbGZ+aO$FBnsec!-K+Zap zzlwBM{P$g+Hwe1>_caGP{mDjn4(B%Vyp;JA9~~5bE`R>RC%0#*y_;x9_N)*zkG8BF z<(=VEsK33Ja*9ookAURB!v4rMt^WLu{tUvFCVPf@crZDG_n*41EcfAgrMVf)O0f&d$EG#^$>~>co(yNKePmMZ_GOd#jr}`{9*Hh# z5{|7;eX58%dgR`RP7O9{Pq2~S{fYXu|8qy$_)gaTxxfQkT@O5v83Kj=7SM+$1%sEV z7x~EM*|NC^(cQiL{t@MVBB!*Ecxl!382(Pc$>NCSW61ELPQhRH_d{F-1Z%3JLlC+$DiZ&$}5n;6Xa>pJ_E9<@XpoI_XAt; zbkV9Q?2DbuZut~#s;qdM`t}*VDfHbtgxWkwyL|BIk@Zq@`HO;C-Q7SF&8SM{dHvO z)jnW885u);)bC<&P4h6`eWu@cU(G(Xl@Xm-%UUY~IC%Eiv(O{-4m`5+944kMn#@~! zEbCJ9s+`V+Hr!#vWqJI<=FW|#+IAM$ff0fNYvTB~GUsJ+&a-74AF}O;&q6aL)2f|V zZ#x>(zu3JAzM=fJZh6HF&ki{cc+}*-ySLpS-+x9GWXnw)>wA(D#t^V8O(pmE+z0;rCiPf?sNc z3w=TTVc*&HO=`q9iTzRfh74NZpY5eh+Uu!@{x7s;<;#}N&;G{b z-0h85Q`TSxuBp=g?%|uAHGZfXEB@h#X5o}^bRuHr5DjmT~#oJ+Oc!dW7AUE+*H2W zEiXHOXq@^l8W(o`faGiPiy3pw!+RE(j>w!I-x=l7_3%df36edu#w%Sv8sJqOw=_Q0 zHV>XFS}VAT_kI$%%SNDB`iy*IiKhq8szo=2Bi{u_^j>tp2mR~o?=lZO@dYPmH81d% zU*j-@9Fh5c23@2}`$JF6HwVAHz$i91!yHm(9>|^_)iHz_S8_1Im z&%3UTy|4}1NH(^~odQk~fuOg-fA7QScwJn;eT5t5rY1^-Jzn~+oF zvoVrb747e;EOfNPmZAIxuRLXzy74S3vm2b2|Az7s{|>!$3|?4VOo6Ej(D0ntRU|Q2v#36UdFR#;p7n=x??>aW61%U?P0ge2VT% zmQ?=-f&e60ii`&1|Bf4dC*tXi)N4=8R$@J>Sv4uH( z^z2}N+mF0Y8R4q>&ieRI*&Jl!P&3{for<5(S3U!8N(yiP|Klf=U`(&aPiX3d|NUI8 zHwf;mH4}4Wx+U0Z-i%zWH>sVtY@&%wh&evhT&;&zoj6zPMAoY#cR2n4vj2MaP4;4* zlnrzoZF{*^PbF9DpJ?-Vxmt&QFn160?lI=7k!#GX2D3%i2OG>M{vXWU=l_@H?yfgD zchx7EyE&&YcQ?Pzxicr2yNh{uh`HLvweZFUW4Igco-JMS(2w6`IwuTDWN)S2S@8W| zjIPL8UrXc>@&5YrCt91aV)=;Kw)@`7&$jKtNj5gZpHAhb3~J2Q@a*(pqFu5_J-_P) zZ_U?oAIBBpn#3i$dgk}YA+B9rI{#?=6V(sNUy>UoTgngP?&n`VDi*T}+s^P?ICp`% zdgaxB&PUN7Uz?x&DcMx6cjaFj`-qPF#^Mnx;`j+g9o<#(yXe(KU_vCKd;|4*NnZ z)i%lZ&Af716t|qwRkHewF6~p=I4AVW$ODdU>Qh-LSJM*)0)uQkY9W)^EXg^z^CwPbm4MhZ=z#~c_ALgj0$)A zszcpHqeAvRf&4SY*z&F-o@DCk6~ykhX6w<1=c1c>I_Xz{=K%Iq9b3z>b<#i}(W8q> zrm`_Fi70l~bC%dlNfG;EU#$w7T@946( zQ-672)RFx{_Ymxb`^^lN=lAS; z`W>62^{o_+o=ZC!)`$AJJ9K0}SGaX+-$8jgLaYsr;PuElO$;N1~*NvA{iWeQsT}^A2XuV-`f$!y zB3~S$e}lz~bJ)6hjq~)l?E2}d`L$sxw4;BU|X+!XlUBR=vc`-GLfzcWe z{V9y4xd3?ESeO`gc4*0Y{4bk*@MAvg_D^+(n7^mVCnDQN31fBUllVr?2TpP3fb>GG zKbr@V`F)u^eCvxF=DfG+!QJD+U(S2ENB+V)^{|ld)Im3{up3-B{W`pVMU{schy5%gT(DzRjpXQ3%f;Mo*lcnI|Yrp za#UlNN2emIFX$eD{$30XO}je0^!LbWSAQp_@hW2arb2fw9VS}q&@}BUh^}a_qmZVR z7tl22+Y?O-^PT!En_eNU6@0Yz`_kNd9-411A9|}fmAUHi)nJYmnKv)5b-6=-w09D) zxnA*$xg7cLzT2I>JJE*;=bDbtjw54X68{hS^a;05XP;|qoJ{0WU&lSa>a~N_6vzzA zA1dkGM~(-RfGwpGu-%Wdqj$tQd}|H~I+r=A+&$aB$h5q56Lf*P+@Z?-cNb+wYe>HMfLmwaUndAz>=P(-}K1FiZ zDqC`Sm-k1O z=S$3V$qfOW%c`7H%2yyBP>FwZ6_@roE&mSUFU|SJmC=EAEF)Ea2)OW_AO9-ht6)_X zoto9T8(I&d2eYm!AqL?7ynd^He)=N&{tTWA_R{~h1MeO5yD}<&#r}bl*KhH7^=%j9 z;!KQ=j}5uiJUsOd6X)`52%c|38rmb+0f2z=@KvJ|S$jTXIhM`dhwWUva8}ycyI1a0 z&4;HG$fmD&ddWNEkhxUWc$`Av#qHB!ghHB*xxUhQ=`w{(ZC(_8JT}+ z-5sWZ>xl72UEPd%kgjq%biI)^sD3B<=u_8!*`fc_)i>~6veAcJzljlir#(vPJ*q>w zom9u9K6OlX>zG(j$CuqY(EV*4(!CUWP~p~5-lvX>-8wETsN+X&9kM0(SnD2~)hFf7 zJD2*l0weV)4L@^uo3m#+LiNRf5#`9S2i%YL(-kiMoB54hOUx5F1ci1Uu z*Y^V{CtqOcL|fT2?U@hFUu=0^_7=OI-1*V|v+Q@|B!F&7)<7o_eX4(|eZWH{9gls5 z9ElXOPKWAmnxGb*&X9YK4#-4p-2)gEAbj`uu zm>e8wqz>#|uKww*<5QXUF~=F_Cyz7Exvz7al7F#<95GgBU4R3~?V88l^`U24AAN8k zx;!80vp!^da`d;OVdLR}a6n}WabW$#UVd}3HQ}u7owk3@+U}jNo-y>S?c?{|qro2S zb^5Ng?ex#%Ir}Eu(X(%TLkgQ{TJ*?3vs1ZLcv4O|z_;T!p*-6=xbF<5^Sik3=E{T< z`7b7=kkt-Ug%@P8aSlwY(yrnP`AADu^MRo-$A z`O=7~J>zuz&&@aUzq#`j^6TNB1s(c!+}HW_Z~VPeI`Z58?eEsd?!%7)Ai)U{NTEAD(;-CEd<&GpU-HiQWJu=r8?%$NX#^vJ=xv`k7V|_i( zRCcZVd`ZD`eal&2Hg&G@J$H~t;}z{c#)9t(D+ zk^f~k@%CpPnMa-AkoFwpgDLxr@@_*#`pfN(PSbZxI~bGv)g@c+0FVE#jcGJvDV&?9jx&zkj6;6G8prPcgX8%17hdVC zohJG8I@z(SrRQs0((gYUbnIpp=fF3~RG!}8=?miJ#qevNX~H%YWv?dX`?q2CqEJw|%S!^c`f=X|{bQzR78Sf^8qZ3eH=*N1yh! zhI`v@wC(fE*Q)j-WUb@{^fZs?F1lsQ(2&&y~|b^FzkF9=$1{+#0;wj;>e= z>_fiC^CcJsMl=2;@uhK$v7}ekR`wrqiKeQRBp_ z*tt&NPscYiL->+&US$fMJ`T-WgFe41G%&v+J}|$OXDQ+VL$O459=LfA??S<4*|}kz zXUe`)Xl*_j9++>W{D-J(DRsreQ*C`^=8Nd9@Z!+a>?+z-8`G)tp7>e$S=1Aw?wNeo zNc>?v&tvha*`>rKPU3lp*qUVcEad!wHr6K^9+^6#F@Z_zyQ-k0(9U&U`ve)5^1Y>3$3(&&1^%WJ_S`G|71G;2Y+nX~_p z%BlY|jT8TUEp?9O_cZRipt-FRD z{wOQIj<<6@fq6b1Ke}3U@HF&G`FOo^Gmrsac)k`}Cc2yG!E5MRn!{?7XdfPFrGNKw zCMz~r`dES7g8eG5b@~)zlwD9`9K~3UKSuJy_8FsWp`P9F+q8WTG)isz;;Ed@u2TD} zX`lFZ+rIds+E>iG+Ws1C%eVXF@IAV1_Eme@c5!>fNL*IYY{a*gM!V%R$ei&=ZV7{&1EPA8of{)~$x$8?`EK z!xmY-iM1U`wT-0@S}UH6E1Qo;t3EDT#W-byf@kED&<4?i@?;`=$s+hV-w(dDG26&m zUz!F-p|PjCw4o6^tz_+9aSrEv(4S8a6pdJsUm9i&vDdLJJvF-#oBev~6+PLW9LW8i z_U){nN@$JNO&Q*NzPbJRS38r$ zxX+}{O>xo2do!Ep{}#p{qrAqxng7#_OZrhg&mQBqe0sO@T(o6ti1_?)YyLvoQ2cX- z=YG?Y8$(-rD0?Gq2nI8`?~Xvv_}0=)`nIXeSel}_Z6ii=H{ZVzoZrp3MXxTS4b9X0 zxu@eR^FRH3@0?a7+52$klsr6HZ(b{*QJT{t`mgz{O*r$ZK8~UPC1H2~W7>(WWv;dV zXm1hz&l)zd*8H!**V<5PR`VDl=1R0#biZD6OTR4rXFj6LxkK}pX6vB&(?e@5PY`Z< zbe{vfJLghP{2?CtBRoWQ;8boN_00`U&5Qmw&=<9FPwcGxbm~2d{>PyIu|oRa+(Z9M zfV1fT&uFJ13V#9K^O&d6)Gs^<)1LY>H}pY#&!^_!0ZgWD>-?v!w>A4~?i!~@GgIS;gNOL+!Z@L|D!=Y;?LFM#`GZYh z9j6oUnHahW^7&?TNxP0&XIE;@qguyJ#BLVMd8Ba88=3Q_Y!h%8?ZfVo)SNqVo94VU z?94g!u($Nvyv}ezp0cs2cHSec`D@*IUrN0p)~=lszSX=hrED_P3g4HUAUS}w0s8^_{KJ&{NS}G%LV3IHLchSjzcsrs>dd)#`Mt^6xmm#f0$=5Xh=E<7+lg*Fz(TG6T3qMK_!W?)`xaU|u{mo)emV$Ro7PHSnN zJLezc?$MD$#I-Fvr8z&E?=NJ`+E<(5&iQoi*7p=YtzESZCR5bw)4mlsyOf;xqQ}L| zHrJ&b+U~_S92lVZQ|19W zx`OXSL&#N;uZk{ZpN4!mv{wV1)#f<2O|3J5pkbhaRCv?A5W`$T()-&&{JsXxXyv*}luGIPxz zvDst8RDM9SH22qSTHCGJ{oK9vxBp)ndi0Mf?e7`(wwQ;ah-@{{+$Hd4`CwR?Mtd>n zmO9hn_SRmzwQS-0;P*l57Htu~KQpa;itA*L4;*5CDv`qzz8L4&FV1-9&>%+!HX|>n zPr(R#!qC}$6^>q4!5EMgtlyG!KJWb=_q}{93S&Gaw}_6bpR#NJGv^+7_Iue%`^G3r zMj3NKgGq6vU!G&W{q8yDUM|m$B6{@p&%I*(XFt6IS_d5E%Og0XqtG3E0WZYoou{Q!A4WLI%IC8^e8%;Ri+z z^w{{!58hgu`@LT zgU??=Y&`NyQu8nUX;r>F;pk5r6Ao?K49;!|fwzNyn12jB-pKq&UfRTS@pt8N5+08P zA4mIskl(}_lgy-ZK6X-O2j6IYY)=%(O%X?K(mWDOMBW)kZraH_r&6BW)N+K}BzmBB z)MkphD)??a>&ugyBqxyvDKFV67M*Hkr>aO(kL;xH)t+#67T>>Cex&Ra;GJZrk`!~w znpx_1NCOaKXmmS%uDZBq?uXbwAy17?DQ)<)Dz({L0 z9lbw4hVcwCUvYJ0XbkXwf<6~Rhhj;_%^I7ALmk5vUAvdx3Hi+o$Y?2_T)>e z_OwdzGg{ityJq4hoSGM!~?I+BzPx$TT|+X(A)%?f69vW~1MjjekFU_-Fg)m~U`>{J-az$y}9P zbIh6Cll$hF%Xl8=iV!>N@sG#E=cA(Ufpj=!+q1ooWW%jb8W@9_E0{%bFv=b)Xy zA!IE1t5wpk#e;9jgd(l^#lA#_IRFMbz|&}MCODVk`!Mv(lLx-I;1%Spv#jm`E`pC| z34d&vL+?>r_hvpKL{I*8n{orrwtYcHVn3`jn8=P}9-m00;s2>zgmH|fo&l-xY@-d#kK}qj zF1W4DKOaM8BGx1rO=K71pC`C20q4DbOrTxSA@TXq+?NphcRP4j0bB}UJgNYGePO)E z&L?LSyJf-&d}J7t=0`APomgEr?Up;U0M^K=7S`**4~_YY1+b2}Ynr|tK}QN#XtzeWqjF2jH2Jb$iv{BHr0P)28Z` zt`G>N+P>6sptG5LkD@i|kJ?whLiN?0#`lyf32XhX+k5b(mpYZF&_1IM<)S`Wf40#d z<+Q7baCUlJJjUsJVQxG1T{#t>qU@lb9_XAM)m%=`&5dx6$&N^VU;0x$e#04vk^>!h-^KqAV|zDA^!tRyaf58hm}{vwxtVruQ2ye; z`oZk;`jUGG;4=z;38;>6ih8gCm4aTI4Mcc??l zKLSiOXIf8scGCmIUU84{T;IyBZDAOq57@WG`(@9rN~*pa@NdUYsGx7^e_{XrgkPNP z1M{r*;SbiHTyFVsy2oY?>9*q#|M$~(;gx4MkJ7j45#iGGp8N~!ci;zR9g6pR>+l`S_m=A8ufvCVXMKqZX`QzY zqerg864v3?SR%7Esr5G__k>+{OUQNU;6Z@4EPbO-!gJ;H{2uFW`o|m}*KYm-u3ZSU|G06R^IQdk5xR6vTpikeduh&Q&}I{Gdb4!!1m_iw6pi# zn}cW|IR1LqN3C0zY#rLq@YWjnm`+&Nd))VhYmF_Jj(a{sF4;J=9lfFm`&yX0@K&@$ zvaIk{<39tKE;CDxiMRD-y?8qkyj^q<`feQhe#^Bdr|r{RygeSyY7Nw>40s~jr*xVg zS`bC<;i}~lO??~Xb~pFZ0_6a4N5cd;GN9mo7jzJ7#|R`0({;cM$mgc8^#_{RqDbQ{1R<= z0Qh>ggaM}j-@o1J(1qi{S97(WGV;kDiCtU%2j^RSAqI}|uUWY+KOhN?B!wf(vSIG% z5Ef6~^PkAvkyM-fqRu?KF)LZ%t>1kK`8Jxn^}CI*pcgD}k=?DE_@U|VSeK7Pj+9L< zKC=ke$=-ifJ`yLFaSVPE8lNc(PtH6WRSx6p+TPFRs_19~a8lV)+EIBYhw&2TX=*mG z`#@(+YOOtEUb3oWknas#*A+O6Gupu+GjMTtdf*SNkMYJq#>RJO4mMxo;OKB<5)Vel zl8GJxMyh`s^ZFyka!<|CV<|d?v5a)bGX4Z(`Q0C!v1pBI+{KLdVwGpil7XAZy{x{_ z-!?DrGVs7fZ+sBGG|bEYTLRqs%1Dy$8W@XU^dI;r1O_I%1Q*%(ekGp;?!>$Fw0mYh zwmZXZ*K0G(e4BJ8H#&?gM2uWnW@4t)+?+#i9$QSlAoj@vr!#iZBk&R#&Qz1@r=y4* zN}5wWlV756@O#mnna^X#eFeFunAir<+al;iNidNqi7m}+LigDe`)yk(Fzcp_pR&jx zl+hW^*Ra)hxEh4*P@QEa5=^I4gEwBd4x117m6)1UoKA)LqUD3XH1o)(9Oe7e+Y_P1 z$aLiGyXK|NaD?$#8CW^Fp&>E(f24BS^Z02rk@;y{G~~KmE&sEXG*)Y`iTO3G?E`aI zr_f%L#2<%y6S74a{i%N!u{~V3cF!^PFLG~0Yjqs!Fv3+!S=s!B%UT!TUUHywiCJc8 zwd&D&lPoS;l3~w6<N$^Fw_>RAUblaKjic=KoaC>%WTT3MRiO}VOwBg^#%-|Mf~ z5L|Yw@3|je4TpEO!0W_2SF?ZYoNer!4duMo8DHQ;z_VpsZRcRMm02Z=tE~5K9Pd7n z-E--!x853g55FIpIL8DZyv@8uZp_-627A>3jP;A=o0onv+gyb0T*Xy6qQPDx5zv=@cE0(|mf5Ci)osSl_1f?TbBL>!>!X9_m<^}T zF|*d+W;RxltH!m#Ux5wY7iG@Dt75afJs57v+I_3gN@#s+dp&#YR_07O`&Z>5$L1}Y z^J$DxzCod2Q&v1j=SqjMNsPhIMZCd)+uFl2W*Kl?+g{7FD&Z#2BGfY}B|WDV9A!Te zn?Yp|dm}Q!@X*?P3H8-ePI`S^xHT{TrOCE_?7SgouWKIf=kmSmr49U!^LruXqST|k zYVBRt(_Vt_8^P~IDV6d;xs;1j?>xRure&vZ&8OVD6Vy}2cpE9R zh&6MMtrOd9YGA&B|C0vWFgn~)zLj5t`Yf6Rq3KLfHW^ZVYpuV7Y`L=Qs?Q1Nn(7q| zm#>3-pB8f0I&a{vJ<$5pK)XLWQ*B7kpnz0uQ@+F(wzSbJ}BaAVPdY-mSmS2>K{Y= zl|QyDKkOO&F5Krs_$?T!%piU%XPb0a&9mlG&j;{a_@UpW{1y%J)uuyy<0dqJ#Y}6X9aCVrN1KM%5O{lkfwU1?571~ zfB7f*`LItFSf%5-;*nRoe6Agjo1Kz6*)qYN10eux)XMQ@6I;6hc=k&H_bNVxCi(@$laq0%F!k~DmP!v7blpPBzj*e)t2IfQo#YAC*c1; zzAPf1m4x3eVZTMR@&QXLh5rt%bjpaHmQ$wGEhAmSE2BE#T^;ag_zpQ+Q{Y^(nf*G> zb_73z;Ag=X$`>Z?A72&i36yRsF;b z_T>BXaM|uXCm2s?Id-?@F9wOn5YHEn0#5_>yzb!Ad=dNpoVU)rF>e01@eY*HKBhl} zEe~G;C*NW3+3-#*Gr32A?Gw-d?IoMIVAntP6^*GZmh!2uCbm?255VuAi*fyDzt?*8 zaJSf8!pg6(Ztr&X^0mkRxhAb2r_4JT(;>dAguf;1 zKK|Vq&)zSZqBDYJ7X=6%E8O3rV@>neqmDr*qK@zDp!c!vpg)=;**-KU#gSj+OYQUP zTsfi_b`H+!T;$%fE0n{+!M!H#PEKL%%ZqMleUwnA){wW4A013AH`krNMSkG&_UdiS zL%|-%c#D>QCsif~N$D_njI zdz0vlenTfaD4YAP`%J$#^4l-m>?gc*&XIXzd73@{^uFuYdtMi8FpqJy{AP}Mgv*OX z*)yMUOW;Bd`vJ7e#!%v$oXYKrtOZ?a2sr!>?;5>?PH23$dBzme)4MP zLHP4R>I}zQvyy$n^Z{FFJ^@VSrzu%C!nm|X=J8B&u=-QabNRYW3eo3qYkoOx%;bHH z=kjfuPFwP&`XOydX8Hkl`GN@s(#tfiLI0!t!;W8jq~kE>p=hl+akIYH;nzNoHsv?> zHQLZTtX)xcIPCal zN>>q1{EMw0ork+OABP4t809f4yu3M44rE^pe2F_c-4D*gkLsOM@n@Zud0M_yMSk|N zbQZ@FyLb8HTaa6m;$zU1B>w)s*%^~ulJ|2Zd^*dT-`bN-ux=Tn;oQy3MW>?JwB!6A zT?SuV#$NO?ey^e|*LeI6WZy`MF09*Igl_GNYh0{LyKmyetq7-IQ2P<~3bARJ$TGW5 z{M<`Jl0T`NZ@%zFYm92Ki0=3p(X8{8U!)dsRLeIl5i7H{6YrQF|J1 zfIVxqsk*f;)mAV;nl_%~91mLD|dUI7(j-OpwuWYR~qkVYk-JZ@}1>Gx0CXr8qV4U)3Yznv( zSMTP%)n7fmJ3$d_Y%P{aW;=7XR-EzL-`QrTTUNVaG+gfrTN{5qA>IZ-PYNy~Ky>%wP1#A7jj^9CO zzN6=ot8)kEV{j(g=86V0uVsPpqYHv()s-p(jy)E7n)M{Tb+OIYj&9UZN4cK35BPmW zD8ZfuXR}6<`P%Rfcx-@pZlkYt`b;HMtSS zwD`@v*`mS8y}td446)W`1=o76ZCrw(ayLEkZq}In=6-BE&DeOFvc;yUeXAW4@g(TN z+IuFy6EbR(<%iBu(ZKSP%HOD;nHUv;N&D*)fo-o1N{4snfhhDdV&Wl%}=NgtcX)LNv?;vwsIlkm|7QJA3F}bwwxlozIqIJ z^#`23@4{))ao}{-DZnW-putoDr!h+x^vJu?Wh_3Xi8G2MU-X%wxo6FnGQ`G#i(fud zvaoRQWO#lRc%E3&Td(vqKQzMD9|qs4zsS}E&!zEMEst`(OEQ7oAdzQ%1UUNz99m32 zgo8`aeH*;z$6Dj;w;Z*`>3E(H|FSbTCCQ1QEunT<`odGJn!*Ct*Eul)wHcR19Ptwj$Juak@> zzS|!>_Dj?)+x9~07N1p};AyB*^%fhUcbc~!od1eY{tjpsUN0JVy=)^ z9lvPx)ACXHs(9(rExo+7iQgVCy_?_1;-&Q^4JP`(Vr$x zzJ|(+$*aB-{&071zP>^}3jB|tN8+P(T(h`Dm%?0%XBJIbML*7mCY`TX0_cq5KjO!r zGkV@vPH>(%Heb=KB?V(DqzlWBF{Z-$^m{AgnZ3A|FNq(C7m3$Zgd}_Q;djUjzK|K} z@jcHj^y4qNxn@Gx7{kOABkyb`UySn2Y~h{`r}N4^R?PEl{NI~%CY|5IbLFFH=lLP7 z*SL&mGW~lv(F<$oC89~2;aid+C6@_yo5>F=oBtUf@^!xE%1_9Zfq&M<+V1YDNESPu z{a_z{0Y!{i_9xH3ubn$u}eUW={yYmpPN2So0(Moa_wJ131I6-H)y%`@Z_PnZ62MTaZQiWA0>+ z?l1T&znJ>J8GO6+W+&&Z{$ImbJbURcel(|Nk7zh!uVP$9F?@)T&3q|zMr1R=VgP_6~)AGYf3 z{!&}kv3qJg_^Hz$7d+j)9^$g3BltqBlh6`$Pwn?i%lU(E?7Rc%8S+()CAHtLcB8qe z)LD*Ch{pGG^!+;e3JkK7Sg+oG-8UXn%%E~*qPKJTDpI)_BYmBm!T>p4MIWc} zOg5Sd`z>qBUF*eWiH#2}r{6mFj5AI1yZ(XCHM+6nWcG0LY4(S-|K?+^wD%?-h20^? zN5STf>_@yvo5uEkCJxclmHXP@z2}P#-ENlt&AC=>oo(9rf8!UB;oS3ZZ+lm8U^tFfwUx$}F>$9;3zLHnQTln_sWe$9guU9$nJyM72h3^~lFE50z`h;%N z>Fr}NU+~%9{+&$kgI=8UjL^S6HOJJya=Y2gwQ9>8v+t$b&CHi?KXP9$A{!+%6@5*( z=|^97&M{34s|sOzM&@-G( zEgui&8~xgZIVUib%4t2am)cPg^6c2HFYdrc$U7tDFXi5z;>q?bj?TlN{!~d$2=0X5 zj>sM)mx9NeJl$D#E_+r6up8v&biqBUT7DJc?Q_MiEq!oum;Ut&(1w`o-;RAL$hy{V z)?h$*AReeZE-$y1bfmFWiErV12t9FpPcrT^d=Krj|0dQ$`n+sXp-G$pIIs5{Kp%b5 z*$nEV1K(*nOQK5ksvYE9yH~C6MJu3L0m-jwL+>S*942R;H&(k3PF=E-)u`Tx{f_@l zbrtK`?PK7)A*PeI;b*ju?b6!dun+5*%8=g~pOuyDJpmj3x4bMUUw~;jjYrS$Nvu|$ z(bIsHXqw7A4eV+q&-ciw&K}4QTcm%Whw$Fn=S~ZEv9mU1MJsnRhE2==eE1Wsv(3IM ziRn9v*1Na|Epc%F8XJ4w7ytao#C8uJ+_N|sa`2D2>nOqhq5_!6rd}d{3i@qr{q*aq zQ^vug}vg^cIBh4pVBl7Rr5#(HX`uEOL?%&aJ zx%#I$-VfeXArlzZi2CI-BZeF_&kWO^(U^DoIx4^!%`5*S_7j^4tOoN=c&Rcy`ZfK! z>0e7aB^Q4AgFfOXm~Zr(-Z^iio=i^pNw;$;m!R_57g5hHek&(mhHDR(bOw!YAHO*- zJb#eu5Lb}3QgcUvPEVU3aoha#o7m>2hF-l(YiY+ZWcmBQi#!Kj70UA4p_9@(BztSj z{Xu*CQII?sM8IQR~&eD3X9*3-UbMULJuQR@%7C^}v5(%%t$Cth9T)}cIV zszZ6y3hQWa>$tF>jyv5tf^Hqf)S=(U%X|G1w+`Cu>Blo}9S~2;2LylhM>(|F)TvIm zd}vXh{zTon7}XE}jSZI{zmov|Rkk_kC9EjX&U`(MZn8LTeqey?)sufC{z ze9ML116x|V0;^lQc7!#yYn6{Zz*!2)Wl+64y)Hj!jLEfURv^!`z9{>VWP9~ZI%B!H zC(BtN=zqvs)KN}dH5utE`Qx zABhelTCDNT12-*?4-qHK|Kj2M7>DBZchXNody<)ks83;M-#Np)?g?>rw%Zr!{I);z z1$&0&ze8@+{!1#S{LwmFP4s-+`~_xfyqBhrEQBZUQ~%xpEOt;oXI|U2Avo5KTG1sq zzHh8^uF)da%lPVxy4&f4`m4Sc_S2C;u|v49Q=dvkwRV+`1!nZMjM$NK&RTl$2B(j* z**WV7KE>FD7rVKH8+*9g!42Vq#v}Tvu~cdt^x2-#jeoFRldpr;sV>pG{qW<1mhWDJ z3C{dP^vrDsI=wR3e*+6CBN|)cmWdX;NA?cPa^IiszOO5IkE|Mq zxbFwM?<2eq^DJz7?JDuN>fB8BEa>MS2L1ffKMcC^vNeCc-F$cPZ1eb%*=8B{_k9OG z$5qbrS zGm+2{I(TM%!^%Rbw%^kay)TP5^KP2eW7MWE6v?QrKT$`yuQ_vwcK64S$D&L29E?k5 zTVeal0Q>Np6R(r~txvUk_$e5#V$RgQoBh(Z>5Mn+j(02L z{W|RkH^mRX_Pv)o{2%X?`PAPvr`X@*|5ATH?e_Qf?>XleUHNt&G2{!(72G{PbI&Gr z54J=3Vr~lU0JpEnVHdGJx^~YUdX23p|GnUTi}&OpsE#2E$u8!LIjPsEUMz3SC94s3x7&F_PV_loN*|dS&*{>bv|&2yI|%|Xzetj zQ!j%)Jd&>(yn#J_Y=kl9oh!(tIV)m(6{;H=D4U$}hKP0{tPXhNnWF*#F&AKU

?)k-{h86Ip~FzT}aS6u?AuJmQvBxw1Ym;hBZWa2F=R@8iMaYm8O&&$GAJ-?qT)CiBj?p~M~zA+FHP zMH~wOj|lM=uJ5;O>#A30fSHi=cJvu|hzIK{IU8{ab$jO~+V&Y+VHusDc&FRG_TT>+ zFdgYzdu77eZ=lVOokE+pxNZKH{FrL@&&y=_trLg$+zemm8u3KNCf=tp%l_v> ze`5a)98TsF(;OMs`X>YTpGJtiPKXCiSNz3T`KdJ0H;)IdpiaA&5!W+fNm+}mg^qFa zo%{`=E6R^yX$$W~->jXHv0csBmi~X#y?=a^#kD^^n{0lt23SIX7^5y4HPUET8BARthY)LLt;-s06-F4dYU{zi?86_wV_E-R3* zD~fup*DK%md!A=@XCIdAtJ6b7#udpDr*2Go~v zdO>U8$+MW$<)q`oHUI2oZB%~ihkJd(w*-4fzOWPbLR_7oODE{k>F${C0N(R~&&2k> z?0g>h6L-Xpv8FDOxD)0zz#Cy4spC-JI*IpEzcGH{=lNyCm2u};X08Q{ZBzFQ2i}WC z3+9Y#`;r*Xh*S6WMSJ#F34bXE{-3j}P3Fhm4Ze)rS0`rTJ^`1&Rf+4N?M-3@u2Jtn z58-NlH?>BVaEvS9}6Ii*b<;?vJ8I zhDK}MW+9)G28RF-rO$nnXNf9Y-gg>BH7=DqDdivI@S@%)eRnDU$aSHemdJM;p-(Jt%xBF4g+99^hS{|so8 zNiQtL_?fH1wQmDzZR&b~yf^&ibiEKl`)0Ep-#bt*tTgpP%MkhP5_1it>~Iaz^}$H09H;I}H!e1yck+6L|?19#RWpq!ktfB(C$6ct6c6itXO6AQxk;v9`|gu)>) zIy_Lu0Xm`sJr4Lbljv_R2}7PIx_`ZsGUq_eH+e3V^6gnH^^+6#LR@0fBUtnBz10AG zBayxq8Tx#2QlEc3nfe^>1gU!#C-wQfps@}KoLk{KK^8G>bhr95Jd+@ADA$Uc%J+4K2)?PJik2SG{2iP8KB)@>(S#`|)n4cG@ z$3bKI!JK>L2h;A@&~DU9>Zj(KHD5wpXD%_Sc|#N1e0^k zSU2aIG45tL*PKi0qLb6+x;Z)5+&`|?)|n!0u8)4JNff_0Q+&R)NrZ8&!1V+!AFe7~ zFTBwxw&41@^Lxud=JzS+gl{sx|9w;6^V|Mn`uu)~_TSa~p7_aYZ|UyU5#Q7F69f72WfL{Ld|aaB{E*_ z3rXFz758np7>D1E`wkEG^l;yUi#8VHR^wWREItR3cVV`hcOoR}F#u-<(!WMU_6ig%GCRef#qQQPQ(Nt%gKCK0o$?*aYf?7n6?x4=H+{D z`*i)0%ex)k(UCiETL8P~(&!g*Z);+d&k!3fQ+w;od!V1keV9GpVcZk@ToKgGMy>hp z1~=NQe$2ayiS7DP>O56|^*?;f|F}ff-=f{2e1a;hx4PYh-1f+H@Hy=&)u!Ci#)CGO zp^dSo8!?O`OB*-ZT!c2&$h*wL_v5-jUt!XZ^UYc-w4w80^D(A)Ea71cLGYo<-M!q* z-TmxvM>2Ot@#Q3pbp_TS)ZTz^z`4I8OuOPwn~|pkJ|O?m4&Z(q&tdLCEQxz(%)4VA zgR%FY$_+e(bKXa8AnXJAT+a<;t@ZCJk8cZgychd>h=-SSwngN(nrVjwLeVbBEXRjB z$-DV2p#EarZpI1wn`iA?_kWg@H}W`T4Su~LXQqsB-wM7D;BcKY<-^3^cxR|7SI^m& zE9Rin?_fR`=dK0(tn!p9R@I5lOB=*vBK5tMQP3${-R;P)=ic(fZe(e@c3_RI22Sn8 z$A|lYM@z(Guo(as@wwS}&Km0QDM9qOM2Y!CHu~7bUWzu}|D+!1=wAOn`AOgQlXGT?Ft3*o zPscS6m&z5R{JMQ|PGJvsbpPQIcQ5N@QjVB=z;(dT&+YKf=0}!&KLq_dN$O|*-UU7L zZFG5806si$|28mQfIUZhu`2*S5jHvJs36F=>mA{vA)^leA~_eRpN3jOj4j>1s}yH) zIo@|2skM>&l59(PHP$q&i`troJoa>X^%HL+*ML0rCG!2b4`;~l5EI6;X)yX)7gfGl z#pDLj>A)EvV2mAclBb?DaB@?1P^II=F zs1Lx8rLPX_tp=XV*I4F1264BJ?h4omm4HdVx)f^*?R#0HD~G(!oDxI#eIouU&l~Bu zZ1qEDKu=(-S^NIyE1CQ5_YM2*Lci2S$3maF;qxJ%B#ON>5?l5S_vrO_w8MwF z32}ZVcCW&?Le3Sto*jTWcTNC*bo;>wxT+?C{hjHDG*bQT#6v-QTSMw!l)Tq zA z_Mu_3aJ-BQ`eaP}pMJCj-wJnT8_IPq|WxrUL zUDePX?T&nDuMpk}=!ELPl!&AO>?P#&mXX#0v3ggY7#kM8MPV24ISKEQj?}jw@f}}t zq&h&oGPRrU9FM+9Tk28TLWKP@wj*r;m$YR&;zwJMdxF_)!GBb4fWY})7F4|ji^RUh`Fykud@bp z<8$~gJzI@7;U$Oni*7q~TvFc=j>9c-bHKlB%lCe6zDHhWjuLf)9liDPmdtwVJ-}9a zp)Z}u@6IT`_FC3z)Xs>^0sXljtlD@iZCGP+2HNzsU*JZYsc55Yyyj;bMZcwW$y~&* z>t~z`SlM{%Oti_yTc@Cn&Rg^|oPOhcyy7M1UPyiBH}u&I@IKd4=9kk)q>qAJaKw!! z4VLS&d1eB7s*GnQXglK!kjw>lK%eovgaf=$AXe@!pj}QqfV~5rm!fR}KUdn}{H?^a z#Zfyj!gsmGb8ROK<|r9wX#Mhg3$z93i%1{Yv;_>iDBX7F8c-lspzoI5PB|u{e<#Ml z^_sP&hzINn6OZQDQAs?SH9QtZ&>lD#c%yIG9(|_a0RIQJnZ+KFW2R4K^hIC);J!zC zPQF3Ab-=&bq#gV;>_gH2Q)|DPFIB%{CVeF6PQ6wM*DTcjjDj9ZFc&!6-@J>zF{X>U z(Jt;M?4|FC@p%vvVN8$y!HqW>xyZmn@WP{^@zx2&V;9T$G4oqH!g;+Yn?cTxl#*oOHYDt^y3=+~Rm_f2xp zj(!{c`o)%bY@wTZ52M|Pc@7~CB|+}5JRU0zVedxnO^*X@M<@G+?8v_3!F|wufQi0K z0bB3?c1!;ewndxL4E^I>*?+0oe+BxlK>wB2{y`hordR#H0+I$j%E3qcfj$>^Rbx*UoIzVS1F66CBox=49?=W7B zI7!SILS1W|8!bc*A#LX85s!WzbEe|aZpf&LN56R?bSK^s0mRU8Z!!JU38tUw3@{#z z+QPUKHs_Ul+XWtc{|Dn)EEdXrPrl22hZ5jYimMz~3GgWG0}qde$0NX_1TcsP<{*j3 z3jxDl#y6=Y9;LYRT%3-_91Rb?OFSyje^|DN(&hmktA#_xye6dHW|7O20{?^D-U0>?x*?x9v%<^m^#{CiK$nWYhen5YN_Vf5jMr>6-Q}utL zJ_2MY`pKDjy$X&~&O>Hx`j%RBWJvPD)xL4K* z20wd*gcJJy`O$Xh{7z4EtiPwDn{aB8Z%H|v0KTmi%{dd?%{gL8dwe6-1+jKnoIb+G zN9Fa7bNw(OfAe6Uqs*P?!EcP+^9&95ViXQM)1q)_2M+A#dJVtpXFgP4`glnfNh^$%W8_%B?l?DQ80QAdIF)@~ zXpWQi3FWTfHhyzc#(|?a4^yUMQTSWhYu|PbmSwc zA0-e2DC3+h1|P_8CNJ5D=gp|Qx-wo1zp@?ACIpQ9Xntdv^K&%Lc3`fG#fW8b=4nmf z-!;qPjt4!7F`Isn_zCL!9)t5hghW}tgp1=V!}!Y5$H#L>w84p^ z;>&L%1H&-(OfoP4zw0v44!vB9eC?#{dP0!hP>ygd2foYVKAh9xSuLLHQTtPfgJMm^ z+J$wiV0fqWD~xka#@aORtOjv3*LHKQ^PoLz(To}9=qYe?$$U`eukuWM!Jtn0ziRta zeBYJlw#PvS%iK8V6V^o!WBqe@7esd8zKiQ1`gV-!h^pE|k9tGhkA1%rXO=>-&pe&6 zoZ)C=u9f%s8btGdq-qsx1#HS%7-QcB-9jDD@gFRAcn@r;TP8SqJAfB+FBo?;#!Efg zcU=I+OLKrL{I}%ZEcaBu%d;eEJuSZfvz}2H>jQskOx6MVtGSmL9g6c9=66(NUVl5j z^Yb&DxeXy!6u|yUM{A@Q>jmlR^skAz1onLbsoeZ>jK31!tRvkRizm7vgGA?x)e10Pb9nS)rV-J1txs1bvgNyME)KqSM82K+dJZsW(^L@-iH}cqM z2mTIl*)HFM+T+NpG5jGTH~-VlRBpZ#&+jqYvK{us;VbxI0~@*d_znKheD@CI$7G84 zs9bT5{mb)Z%ocIWj_x6fE`c>M>_efpBYbvTZ=+4=uoO*(SZGoLn*12}zy~mCqVn?L z3;H+5t~F`G_<9Nb9`|VE0ZJRRjNf<5#rvf3-GCwY3?@NGPJ9u(mx^a`Plxubj{7UX zD-2wBfM(cV>Tbf?ku&HW{5>%`8@fE7=deP6?OPNn3UMzD`M9_QsXJG5&_t3LDnWHFkgnIAC!*==bXS#+kUV-mA`0&juz$FbFKJkpxBc7p;1V0AP!jDb?49cGa zV?kRSk(nGl7Gqt3_vsh%UAE`@Ie2$G+VgiuP&^}o;Yax{VBx(>C?~FH9$oCCDlJA{p;z!&{_+6F-z#aR2IrCp6o#lCu zd~@zV+fAf9>3M}^{uqOIn)8=8=$$;wV=nhwJ`wN4a{U-P`Y(6T4qp@V<2(d&$Bg_9 zKg3>?eTsHDX1iju-2_X!BK-at+7VWc1Mw`hFTi(8zYebqw(v^n=@8|RV47@}9DQ|r42mwaOfPvV*8o2^gQ_ z`~mwWzi}M*nE2vd^mUo+>qNBMigwtiNyD`O{Jk9Q`Fj#q&?FPS-2Yes7{wMC#egv% zF!*~W86lpGbxy;(11;|k#Jdf|7j)t?E3F2R|FP#;fp_suJBho~@uFPgbMY?6eKp?a zGlw5E@|$$_bL^KyC!$~0TFW#?lkr~K9C6Mq^E4XoZ@~MR=vIsO`Fo~*e}MPq;k`WK zY|d?-rWa1(n9(1f>+k28b9*%2_u+kxPr&ElyjJ2JBL^J%$K)g0_vL7J2>ZeOvpw4$ z0@{?b573p*taMd82&%kfc5R?A!0ed)))I)iofBY-dD!>|| z^w93F_9ykw>Ej)}v9AyxhF%$`>kHBsaG@gx^BLFZ`r(G&VLdk$8`=`B7hREhacZzm zeDd#&V#bg0UAN7sp>uPc_%p5-9%>Y)-Bc%TetM?Z&{QXWifan4GF%@u)(O{NaZVcd z3Ajpeeb7)Rp2BqpE@j7aU-c8w70dM*H~}FUkDwmJ93=H1_BNmg--;ntB5_BoQ?{cX z)Z69a_s`7pm7i*zcGeXWqXneCKr{#0zu z!*g_L)J7go4#ymSf*c05HXL@4 z{$UJ(CR>wh0|ZUNu;RcN&u3;%1QeEB8?b(XFIGr;B=Jq-3nR}h9p@FX%gpgH{-f_F zV2wmAN11c*e|9X&rzcPD^=DNoGG7s~iVq{|@^1fC0Y5K4^!mc_GaAt#ypX znC}CZA*k;#gzt0xpgxG7p7;N}-lFbKj`6>OVnqdVJwFSI^1K^GJ?`6`H;O{s9~yO| z*mz%)2z(k8FL-Yh9lRf&s;$QwJ=A%OH*z0$uZMFrDY+IfMp1})B2Sm#3@`IW|1ax% zoo8c*oq!r(Kg=Z$XbY@w?BYO&9k4 zSwm{5sW-OZ*_Y6Nq#Nr0x>mqW;@{8V_kZ5EulI*J#{W;_f9T7eO#S{I&-lBw-{0VO z)$hG#zlWRs-h*eV-(PC|uEy{0Y5lIi|KqX3y!FT_Fce&;+W9|fK zW3`ul4xBR4tOdX8^Mf%AhVC778-7>xny1n0C;0sijb1n5|0ZFMm3$VYJ;8HZsP%wx z%GeafDDj4mtML7w8e^<=fX(`s*0HMbS>L+}h1UqbpFpZ z!s#*WgNLzB=yo>kM%r1I!p?HK@4#90Wjn>*`SSZhAsE-lTNO)j?ZsSiZG|2!)a~P1 zbM3S8_?h@!w~uSgcGmf>#_!5L9)a;dZ$+_|OWvS84xe5Aoymqr`{Wv|+wgox$Fb7v z+lu2+_+7^lc7xbio#_NzX6=UrU+O`T`()e)5l=^?< zhz7Co_y+lHJg$eIYwMx%CAc?9KY~8R(qAJs^RT1$2iQBQ=K3hwnP2PLXxg&$AHJ01!)(+-DmK+m*W6z>-ZpZ z=J-~Do~x4dT&Ko|d@6l>cO5XkyABxN!*2R*MqUj09X_5pf4+!}@sHto8`PbVX9aGQ zXB<*;0Ur+IC*C>@P(Cr*iChfw7stF;#wz^GeV60nx~R8j&1lr2OxEWL`?06)gDyvI z3;m8Tc%3yAeU4?jSSu+%I1aIYqb?BrwsSB}wqbtS4k=@!kuS9{OkP^HX&=6&j<_+} z72tV|*_Q1J%>9@=($({N4Eq)z81K&y@4%iIYqRlEdx6~lXN?)=jnWR@3;A#iTE6qE zV>+VKI`51zrYk(4hZp06oT=||iPcSlW6n4C7AxHU`dVZspTjdM(guP5`oC9;>{Rv> z#QF%@LQZYhB76NB=5;NUd2XzAP8?Nk7uVYIn*i6`XMz&QSc_~3`c~&I?bIUs6Z$+@ zEwVj$wslpbxDVIlm5pLMuN95rj{{R@AgKdOAm7x74-Z7nwx^kUm)*IL2Yx5Y=Y?(K zh3)6P9ea-pcNNNSJ>9;`jdw(#CDws=m<#Iw&oExVJzV+yG3*%^1wxP?<9mOF@aaB3 zxwNpWsqC2jxd0KM#EvX8|u`^ zb0)|`e;V&G|KJep(T|#ey`%uX-HzYJny~Uc3nMx#uJ`W))-i;|eOS~hGUBl7ck&Ff zfIK{geBo{Ae>?EahrY$wleN+S3rovr_jbeqaaKgy47tGf1omgXqjJhseKq}^zUnBE zpRNNf86O58CC|#gdRMYOK63kE5|I&ll-IdtlZ?PHkRZ`f6Y(+ax>{#MWG0QnW?l-D~7KHC|{5mb4BmkBXdj93}JtY&@u z=@Aad`aw4ZpB>svT?VKa#_VB!Y4(gL{3z+hZ z{0j%(-;A>uo7;`E81RQt*RM^U#ZYwvZUAivgSG_Ww3u_YG|2PgIMW~GoFNwpclJTO zO}*p9oQ=SoEf$NUoyvFNkIT9Nh2FLZzwJTao8#r2jK2JxZg+-HRIqFBPMqA4dOh55~!TBl@h;UIKreRe|&CVdS^LW*R7dv5UI42z_3v z@uHL+@?vK?FVbgIv5+53s!N`yRJBg{t+}F;u%`HFzr#-GY>s?21h)HdeBT82nTpxe zqaH{Jo{h!55_kSz?dAWs@8X#S@;&y>dZ*Rq^>)Jk$C?;r&Km2DP;R&eFwWx$%tt>m zei|8I)*2ZASo2_CaIHJ)m{bh|_~_W{`q$JOA^z%&;O0Xc#Jtu<@dWNFpOf`PM2F<3 zNKrfNj}Yn&xeeQjxnRueE5cQR>%q~E-hLPl>zp-}6d=CP7Q5jH*i_)_OAd8L#|$|a zIVsYXk+m!fL!F@C63FJdSQXx9osdf09f6jJ7k8uXBxP3ARATNaw@U8sKwsn=_*gP` zu<%02s}J?O1!@TR@DAEm;-2Th{+}@P(~02m9sQ|`o5NMWF)y@P&T}Projg1e?Wptk z&e4^kw^Gx~>in;=>!_EP0EbL^K(!%#<{NlM`8RNqHYsX#NS-Lc{R%uU0L@4%(rwI; zg6K~M*G4Nkmf)OqC^o&g0B18hp|e7gX8FEO&>QC)kXOTT^2{2?=?E-}cyTAquwM^7 zX?&lHGFwX={3%+wuL2GHq*Y6#3cO027Bq-4rb1egAEQ_A>)kT|Iuv!PNh?{q)AwwW zUOKI|9haR}XW5|Dsl=1~h5iR9T7^>lRgC8YO#Zqa&q=c))X52!dP!E?0vSwFQuc&^B2@S8KJ_zko}KbdIvsV|*&+pkEc9oGXZ?N)$x z8^LF3v_q~cbqaY+r`=*3wA%|DvhmqY;%U;3wQV@>x@3$n@TBp$o zJbeJ2euC#NlgAoN9xDWo&44~Tdyv6b7Z1sg&KWXR>N4s(@>RdD$yZld=(YOt?DYC- z`o7+#L+sIO-?7inBcdgXv#7Y@pgGUk_S(kJ&D z=&hj^8a-e`Z~YN8Y945z(LwaqgEnY1$fS|819p|^uG00? zRW@k#9B{~{r=BF9rk=_qe{1ku$=|h_{EQcY|!ebHfYsATus@7t$l#(U5Mv-kS}FB_#t!GLN9?nJE+6OH{hcmTIjRXhRkgX z?CY(!DRZyD&dp|5RokG=_p;EYz(Sizpv{bLNt=()Oqa2TY|v&IXwzzwHVbXgCJr33 z$=D9!*Mp-72ztu)rsdy#-@X>Cbi^CTdJ{TENrMw*zV5g^b*)jA&aban6?vO zNZSc_X%pa{$#%NmLa$B>y)xNO=YU>!YxFAUNZCzRom69kUca(Iuhkm8R9x1LF)4aA z;W_O`C1Wi!P^*&&eRv%Vm zm%Aw@tqP&<`daHI5LZ)&4^(<7gfZhP!BvUptOd^X?FQ&=((MV@0(FD)qfLjB$3n5Q zNkh{&oD6%ak^F|=Y2TB6144b<=|=1><>MTp(T_2^jSCya3M9WRwXB1gck)*7Sdo)@VTTtFf9uWhy(k}rl&S(G)US^z*W&;6`m`5iM%u!JaaAf zXvimXz%yxnaS;3xGW}w}DD=T+!QByPj&S_cPl#*Q5I4pVNTXZXzu)kSu`kiHw53rL zVY|uSjG7}i3h~0@^`i22e2Y9N#OL#|uXlqG8!U3E>?$W{MS2o`3Fx>KbVO|`={r|~ zj}#r9L7Z7cTV-4I%RK(;$b>H5#ZhwTcEjQ+qFP=9yZ`6Z=(gN-X35a8&yE2}>V8 zVJ!!&F7QE#W&96A=7@HC#+9@#e!Tn(Jn{B!&Yj&=V3U>Sd= z`JV(>+icALI2+?#*XBP{3@CDiB?ja-Vr6;Mry=N5>=k=)=XVkjr>-H7KzB@OP+y@fW42AS-VNAUawjfXPXB@=-GKG6NWfl! z&omu&?)C65r9XhU^G}Lvr9Z%UenX}hbW*O&7_=r=v~6{{noOJmhFsCM4g3uGMspxf zHst7|X$JimcUH0_Z4t;4WBN*t@;n{g9}LeXM=g;HY|yY)qhZpYg3eI>fd|ji{3*om z>x$2fj`>Z2q#u2Ti_6DGo9;{bR4O)Br27Q{MZ1MbouvE%rIYfAi$6uX+IjfK+P?|W zWU=FvUyu(vsCE2a(9RFu%Qx+~eB~Ep*e|-v2JOD8${{?qqBZbE#z z3Hu)8Kjt*eH2Lpr#622@)k>Q=;~t0&8a_sxG#Zxt6m|J#3o+9M4JU$zKASWgYlDUl z+o0in8VzBe9}wdY;W_A(^yejw4mD_W18rW&^Yudw|APJp{m}xG@8rH4c-a|H>tTxb z;6uoLH^qC`Xml%p-0u1b@=j+VE8-S>W2Rn+TYg_J{5EJPK*Op`G{icn?_1KA{?wCA zhFc@kY|!vx19!O>ms|_|kYQXUxW13)cWbs(rnT_3%llXh{qRo#hkIvUT!#UkTnmHg z{si+ilt1woz^jt>Q?rbZ7nD!4a~J58AsFfSmKANIND9- zTEO^O>e{?7#;jRNmfUYFg5Y5={Qus@aF=NdrW zPkPaoqRvUh{Me_5V4{;gU^vRn2a@=@x`$A&b8)&&z^J{dU#;VH~WT7Yhn%%%Fn@om@yWj8&Gx5_Ccpl2aPt(2z zKRv+y`rxMtfK>vS%EnJ)vW%be^E(^k?;t*X@Y6gzSNt?n&28DG&T~_iyS&(T(`F;0z(Yw4vMo`$vea*wpQNkLX)2 zsoO8LLB|UUa7?bMC7b9?(wMu%{jZ?Y2V(?b!9dvO&8-8?@VhT8alV(e6Dw*J<|?=&zeh+BF?o z5S?J=o}2?diM(jH^6+0y@$$RGvEs(Yu>34`}+aK~Zc`s<8-{$KYMf-Fi zwj3mvK({CQgMJS{Ztd`1jt%v}4WO3)C4f&JvMk^fO7bLZ7ieC37}uzxo(Uh3|+vW2x4- z#oK_d%V_PtHHyxwa2nS_GqwMu^H>w;^@NpPT5gX{uUR(e)dgI#$>{UMw-0*#TBBEk zNv|1)8SB9X_&->3j?`&(>DAxjYyVuM7uMPyF}qQ0y%KwP>*_@X@7KcqzXG<}HI1Un z1`Uq}4Icsx5%Wggv9XUw-zgt-)Z=FKxl6Osur+d<4I198(NM)qb)K7q=jBIY{|367 z{HDiV88hV`?#GuJcK;x(>DNP{83 z`4Qke#2i2SRd9w_#{bnR;Mt(z_YjWqdpLH&xfgJ_)(x?YeTZf3t8I*ZKl;ix_Rolq z&(Jx;GK~EVJfEkHeVAqJLxFPxa2~3SUBMY@8T(V(*a=4;JK@X#9NOqZEn^>Q8T*fH zjJ?yw*#AU){KnX^KX0t@n$LSDo-+rYe9v|2BG^F}AznZodkxw2;h9dL2Q0Lk5p!iYt6k zo$>?qxWWyH1(tGt{Lnv z8x59_1|~mc^69R@bKR$7EO?gN@P`|i^M-vv$w%O+8%$YD^N0J0Pf-?$r`l^cpST24 zvbZ78C~9%gbJX?ex{GU@b+3KbCHs0yvCi4qBm8?=c3G^oLA%p6+GXa}oM+MP?p2`UHk@a% zBZoiFO2^j7$G|BY5AG)3K|`k{ZN?z%C0r%Ap2hQV40-8+4k(mXQ2W4oBd^@!2=o%GUfd=Q|yq^-l3cIrB{kUw5pZ#SUe?7-<>LKX<1L7mKc&_rj8}R(%UmLbS z!ymY&b;jmEFO50a*@~~BgGLY!O$RxzXcVh2L0rjVKV{NE&rddNZDl|8wO94Tq1koN z(KhH-rqL~vJ@DDdDSMy^bff*meTHjG@}hO6SoaYZVQiE1<9-!&xm`QJYD>L`zLXun zcxKn-u%#vo(Pbm1#2CqsK|ejNlx721?9Vwi==Ub@$;Njt5oe#FdotOd_v5*;Kd&w} zc#e4m)7#wX(+Ma1S&nCT+XMvfM09bll z$x5@)7MfLpUfy5Si{?qliLva5W}?~OFGfxbbbHzwcMzJrQJP&&e`tedUgB)(w@i7B zMR>kPvo$m2H9iEqGoEeDkjG(_%}-8Bm(2-n^&&h`hSeerjFde#5n}>1mtR4a+lR7V86b-8ZG% z6bs#|E@>21e&jIN;5)7fA5Vf^Zy=V;uOK z>NhK|^|R0{d~u@~c@cQcLbFV|?S9aUxwdw6+b?a{OJGl_~Y7?I!b00ja(oeJE3C9VNQ|O3D{WgNzXz__^x(Z5 zPtdSW4pVEb<{RCL=Npbp`2~k*@l^UoWggUz2j29J%FH|(!l7TnczT(|H=1qIkNy#1 zF+QREBElK~Shb)*nI)IG%#zFO%rbuV|8F+Nf3-G#6$97v+0VrDz1sNoSUShg82CRX zGM1h?52N4=v5ftD+SpYrU5%Y^UIQGSgB@ZS`w+|6pB>t_9^%-mY>fSAZS0wR!u{V* zKM$43CtMGl?f8Uy0896YGx>yf0M=%VKigT578~Pdf7y6HiZ+V()gFL8_fO&ZNNw)* zy#&rZ_W-T}&O^1iS8#?}=Kdk}1-(HUsJ#R=_k`mIoGz^4LoIVZ)H3&DZH)b48)LtZ z_=F6(&!kgBc&_WznXq-Hn>zKT!N{XF&WXpyA>+xRl0?z}!47`naudz2t zI7*imTlS}h0iKkp;DPzTj2{r*CcxwQx&z|9mOZKsS!h5U*k3l88lcf28EeyM&~u`B zzRsk99%~~F7;9SsoYmee`&DoTS;qf1VCmymaW;K#b}nG?d|kG^*`ST_v%hTPe-&-| z;(-V8T%ND%g9pX~=VEPtQt^^?{_nDkUyt{z`L6*ip0CR`|6Uv8XMfqo|BEc+pN;2} zd1kwh@w;q}|56*{|Kg&3y}J;<$Tt4HC4K7v@*(@nHvS7ae!nH&6N9_HM{CW&EoT1#LzglKcgL;uqIMk46hd!0 z&&7V(SRqPoNZ;?sv{(BO=*E2JO6-lPc%wWMh5cIUQeA)kDhutXKMQTpZvP1>+9{dm zH&GPr-ox{NcAi4l9bAv8JAMkh4;rWUr=O>I9`FvPKWLv5-fYqV@^gUx&~m!Dh6J+E zfc(S$vhmMfG#Vu1g&Gak;<@6VS%;^`3*}mD%@NANKlBZWn~E1MVE=*C9@&<28ins1 z_%Aki=19Ifjh)1Va z5EU089Imm9hgoZ++z)ut2Ep1<1^&(y7da2`z62ez#YN7_LIdK!{<6_vokoMC9TtQg zhKuWB8rR?)3gRCzo`GsY&JtxR2zx`- zc9!yWq@my4<~r%-8G%0HB+TC?&dN4BjCchM8w0wlrvma+)mSg)or&0eL%rB~h7i+k ztQS?dH{XzMCjPpSbdWKE^cqao`We?|p#kTL{bl2?XVFH{K*bAn8vF{+ zx6()U8F8XaamUfX*-qT?7wikVg*3<%cRU$z=D>E!7I&<)G4?xbjC~>TF=Z>$nt!!~ zap1mdGN%o($61iIq|M|u{N=PYzYm#WPMa=MV~LL`Q_L;hFcN1VMj@y42AqLD9cQ5D zWS67v^Y`_75o53;M}Kqot)nPMXV{=)HSzWv>r_&X{3&1AjprR&K366ky#aV1RE{jZ z@|VYF_m$U^4l<|BI0H=^Ql5jb_{uA@(17#9{<6u@KD1H1guV{Y)34#V%IVV2(FdWg z>v(2M**#{=g?=^t7g?ve4<54m%zq>vCJ)i~n|ErX*o=>rR?g1OJCi^&C-UIzLly{@n)MexuPXlkYbl&z0}j1bO2+N8fJ__MxvWHGG#Q`hmI}nl!ZQ16p%SXA&pq zDf-Wp!`f3C#V&jds<66Id^u8x9hYU#gV;ZQUvFojJ$vz!f!XEoavQXqM7+)QER(%> zBA$CoQ@T8pz4$8dwrekz0iM2|WwIBaBpnK}+l!B8p#kNP{biHGL0M=JuXOZQ59^x- zZNORC%j{Rt(rPci3s~94|1-dPAwT>08*PlA{bd{f>u96&P$nPjVLZ>|gQZMj2bi7TYV|aq~34_6*`>>L%8fsXPsPk(0CQqxa539-uR&kNS!SbPdR+k6I$9*`VQx8Vxh? zq6^Qn@#4YON4t5u*0@UixD@@!i(W5sv`$41>b3Qv`r_<#Tnsw8bM4XbRvUDT0iSF# zy`4Dw4Erj%KkkElg^On_H{!XzKh9V@d9l!pBTIkJjKwGS#lL3m?s^N|LZ={}d`-RB zh7X=QC#BOZQ?3?cC^ewnc6`UF(#9Fx?`Nf5Yh;xT+O-*Y%X3dkkL&w5v+#TZzMZE0 zn@nqBKj3}PHPK?5UIKV>O$esPP`D4weH_-A{d^qgfNyk_Sk66_SZvco|GwprI+p!q zxoy>te0iBE=)emv@LpM>~qpkD04N3h2ohkZKSzdWW< zlzbm~4p-ER`V)odoQC-038<@l6yQ_|F=sezqwir)#)I#vj=(v%BhVgq_oc`+J03iO zZ-EwWXp5}IcxitlLq2x--rGLq_p+eBTz8wl^V_=oo_v$}{|eBE-@5(`->t3{9nr@= z5|n}N&v)$ao$M#S-4SM7X2|O}FN5!R@tbF?k6i1)H@*06Nq39vPkvh!_IQ!61vL5ExJqzsfA~g$?GkZ!4RSmVZxZA1oBIBl7kwGLg72T9 zKjLWg*Br~icm%%b>csckPr~=ioWRdL;mKWJbvb(G0H*qmdk((i&hMz@Vmvv}sOG2yB|7B5pkG!lN zbk4{4XJS5QnsaM>CzmuwZE-n&>v!T?q2~AO;B$%j=x2UR@p_&^;?ms<9&&qD#|j1N zsJYk0PR87*HdRMr9~#$==uEK>*Y1yJi2B1Ch5C-O`rh3H@NI4g^AyCl(Lp!T86hth z=jy|Ak=NkI_op!))+#4op1E>g?*y?`&IiQC#qq|_j&1myakNvkHpie1f2Z!e;!@}& z^W7uydtu<0vbObG+WYM180~$0JQZ%tO4K>TH}`}aHbx747ku*;?@S{t@i%#)i!i{W z<(_5yMp%@zfX^U#ZVR3%+=^Bif4_u2E--PSyz-lpKJqx=k;m0{nQIRP%`Q4&cR6Ie z3VeyRN%Ce<2fpnIKUVmc#mI9myqDY?ZO0mhs{~iUv8laLuKD!y`SZhYr=#n#Vz%Q4p;z%9pBfy*6e$M+=LWBL59Xs9KU z13rUq2is~9YBB;A^zsMC$aNOq+BLpWw{m~XB>ezm{1Jh(3Q?BV^Q<%1xHe#+q`JoE0lb2{YE z3pt$bi!RG|gdLtYciiNs98QYnxrc|TKPZP)`1WLFh~H#1YC(MdE6C#L)sV%>QWia+ zM*+@G2=@x$y~32mDM?w($Cx-4@-@`GtHiegI82tZxE1_U?rn>7K^D6*$YQ4{i+Jw< zSwzlq&zON7(b~Pj_-?8Xy!OuiUgKM`(8KhFe7>~o_3#)HB6^Yv;%Sqd=^CNrjcyd>sLyo=sH7Wc2&TLBdp$~dWO7T7J2ZQ4F z@J#UwTvvQJLu?=R_2mAeu?Nb%Z^eOfzZ30rxj#*7a|~#$EDndSa%?S1m#aoYO_ zllwREjxP6a5XM2|{#86vaz6m_&cC;y4?A){VMt2uD~xYXMxE`5nRcLVLkR01?xnay zaG6{e3$O?8@Gpe?UBY#$#x3yuMvO^)Co<2J!8}t2gT9mu($=NkWQ`T_YpF0~@IK(5 zFPg*rEx}Dq8{?|8F|IA>Tgk=7!Hr2fgns0OkWH@T(>|npLJtNyy4M!ryX}xU%H|aO zUVbpy3>dN*T>9j$hwe++H-vkx33sdpclL29xIUY3=UL!Vmk?jC2KR%JDYzqS!ku7& zd$tL;OoLljk%C)d6K=T$?l~r0rv`WKH7U4XCG636&#%+ztLTux`)b}M;Jfl_-geo9 z`-BCq!grencldQFxNq2myVL@=cz`i)Pit`hc|!{B6E@*av%pn!cu0f$@Xu3l@3#rJ z>L74eX>iZHBL%nJCfqOY%{*@*4ep~F+_^U4Zn3}}Z}Qn}4elK;r|_L=6Ykv>xMNMY zlQp=vpO%7qp-s4REO6DlovFdy{kIg{kv8Fu0^GguG2O5`b$wQ8!lg|?o#qI3MA!T_ z1>b|`rPOPty|F-qb`=J3Zot%Od*O?=PD!6Tr7H(1oK4ubYj9mQ@vZ`F9d9*%U&IZ0 z*6}|7o)q36<9Rl`{nw}Ctzbt@*tB&?lT$Rf+wshfp8w>!bl6W|ji5f>qF@8=AtHtE zb2j1L-H{GAY{Gq9gZr8WcY{s1b1ZO`9_rBG-j$oecdbphqbzVcO?;PVaNl&M;5OTY zTV#Q|-Gtku!L83v!M)xl+-WO=Y3u&^rd(gC!5uIl1@|(WaGTes&)Wqi+;JM*9~GzI zjyeA!BrH9HjxL0a+%21ndw^-n+bu?dtyUCNn zSJ;Gmw*_vO$q#$?q}KiGj!41n!S8nDc#Z|`9uw}n8r%`y6x^*g;f}JveZhpgS%dqh z@1@}W#U|V$3*0Rx+<({L9$KA(`+!Zj+t;P@!!8rH2JtX%BzZo08)z zFHOPy9KYL<<7x}OQ%wE4OM}~WWeRS@CS0cluF^YiXmH=r{Fp5^;coq9`n)MQenNwL z`oE>{ecUG8`z&x39q!lQ{#o;5I&8vivcOe(vR#9_<(3q_OKifewZK*SVXg-EcZ*VR zn{2|Z-jvQ~%8r_;!R=~I!M)NZ+$Ywi&zsT@7iw_-xiSTJoK3h(EpYdm@-|X~yJKkz z?#VXcPP4#O{CkuJ_oekIxaBtCx^GRVgNkz$X>iZ_RSIstO}Javq{AIz>W9yIQu^W3 z-=*O0#qW0X!+jRGO8#TM~F* z#s8MSkb=9*CfrgBeU%-xO@rJ1Y6|WfHsQ9uls<3Qns&+48r=U$q~Jbb6Yj>R)8VSP z?L!*ed2goR-ft7`6D!l{tL&0h8eEt7XHqWOZNgo85V#=??nRCi+_^U4PP4#Oae~?(CWr+*X@#yPim=uY!Av2KTblQ*aw>!mYC4yVYFh zuh!uHeN+nWG@Ee0T$WDX9VXlf8r;}fDY#>8!VO#2AtlGBYH-VIQ*gaD;cl?NRs7)5 z;66Ss1-Hy5+%5}TMPHW&_l~hCxK5jJ1Ak8E2W3xwvNNS0`gNt&w*-E-qaWt9r_Y2y$j z;oTbCB~70t*ZEa8;XVYoD%X+uffdM!abh2wIgiLELOw#vjtbP~+JYPz=2yIgJM)K_ z^H|lA{%++#-hI-1_s{CxaZm0F?i4+Hn^R+QBL{=~G29D7u0!_>AwO_%^cna3u<$M$Qq+0pFo8Yx{u?^FM?oe9`kMsaBfk>n z5h%_`9$?<{AU+3t{MLP*jW#|TZBDb%=0qE9jgojv>9fj%>Wy1@@%yEaz}O^+h?OqkBv6n zHri~n(dIQ9ZJx8y=1CiE9<$Nr_cq$xYopB?8*SQcv{_`M&8;@t++?H892;$B*l07= zMw^K?+KjW&<}4d+PPNhI1RHHCY_vJdMw?WFBKj5s#a9?y)PHxyCUf*$3fM-4YI1>WfN;4S<~Xy zl{n`y@jrJKx(zt=t@wQr+I_~^E1U^}-{r_~_Nw3MhE3?lJ0&>7MLc-+s>sW;TJ*Ev ztGHP^sx9L3baYQx>%!TU)`&*R2#I8zBf6qXEVMxU_Mw+?4NfE#G#f!|EJ@oz8aR^;Is z9OzrzS=&&aQFFB8Od0y*d9@ouJ9(G%aD>7R@9mKyZ!5;S0M8dl8WoDCljqHd56}M? zxX?%LhyQi7lO9VLGTHJ9oW?;@!#@Vk}GG zxysAUXI`!cdAYdUxae2ZV-H^WO!S-S+q(Vq>**t1f_V=`=qphc4Bq!M{t|<~2ft_~ z<{Eqn8uR>Gp_C0j&Z@P0f5e_%kBFW*Kht7Qka@{}m=oqvb1vMte;0igVji4*y))+1o0!p6maHD#y6(Oc$bqg1wlSsX!7AI$%mA6gAa}8g?Mi8A>#=+uV_B! znLX+>j+?$VeRRI3eur+AzZcrvJ%0SIcq$;;cab*v;*xHj`*gc$vrUZV;qOweW7>Jx za>UVJ9SZwOYa`b>tqp78Jc~9Se@le>0zI@XNngl0&gdf!x>GWdRzq4}<4MnsP#F9ybzCJFVosFNiueU%f1pQfapXXX}jvI9`iSwbb zXKA-89-#fH^8n}U0`yU8w!wH^JO{4YK(;n<{5*SmHpdOxbL}I|xwa^qY}~skn{^(2 znRd=EV#J^m>vC*cs?E7w}HU9fp{MtNIq` z8_tu_x96}}7wR54e3M`suHWec3`Zyw8HIZ-U`@c?k83jiJ_c~e7ttmAdQsw}2kUvn z;TaQNia9WSC}~I1h7g{vmRiGQ7!$`s zStG9s_v_dz=!|iEqd;%Y3u$y1>{QZN(T4M~2DBl4_1{+Dw+Y}4KX|3whuR4N@RetD z*cluf&cR*>XuOs@cOGzHyL{lownB_X-_6+LTo+pjy201zQE=q@pwS2+Mod1N=eVK! z0OJ%BhSSp=vBGEu47BfIJIcZdW?QynJwEc0@VpND#5WYbK@HA#WB!J)K7f(~Yi$7f z9zP%A06!RQib20>{HEjp`+1uvR}0Vv>se0|>Z0F-y6CJgp~eClM-JAvvtteHBl=@g zyHWmjga^C|9~J*oPc6YZxCGCa#6|_zVSd)dCX87hD`35MNZw<+Ye{o*$4aUCvg59f0y7Y#WkTF zbBaEI zzBbmoYU&hiEu-!$MjOhn&e#8dj;uo4O6Z|cKF~jael)(u{4OsTWJ*82@D=y%CQA9P(8fnSO+2Uz-@!Xc zy}YeK-12sVSp4z~vEi)-;lriYWf^k{z=rZ;eZ^Xw54pJje4j6T*waI;Aa@&MHt@r_ z&wqBLGl%OfbR+Z~^>Qxcy3hlCi@!?(ZLviQ9^YB&VT=TRONTEE-6!W5`tA|p%=$eJ z_c+vj;XLA9%qQgq>-*~t)J+g#TkH(bO}Mwlg8mOb!0+8Z#Q#C@;Rmocz~k6UZ(oBr z2=?ql_?9}>Z`Np_OyvQ#T-&hkTEh8*K6)211vq>?0&+7H&r8r2>rvE+{udR8!fwxe z$l#=I)E{y66DxL!!17p02==V!>~MZ?T$nlyHRIP()=Gd!F4`1g?u~h02zl!0o{o8^ z4MrN~;eSPUzC*dlH{Y}JfYZG~@&N4NA=r!UQFBtlwbO$+@fmYc1o~pXxEtlS5T5~V z#2+>{=fi2v1#>ePpMu>J<{WViGX&Wx(Bq zT2#ncapn3aVZM#EpX+qA74!(MjUhj#rxI}Z8*LiGD*%42q!(=DJiL=97KIDVzN8KY z9k~t*@pi1AoA^$Q9u9m9J$HacjPEVq>Dap3^%=zUiH?Az!rNduRhd z&z6C%Sc^nY4(|Ejb%%QlWME?SBCG+Fn>^3kJNtRZ0N;zFM-kru@bz>=b5B~eGk5R8 z@Jzf+99Ni^{0Zen|{#sl!wD4Pp!qAoC_Nwgm(Nk4%aZFR#_f(1Za|nI0NW` zN_dPTVt(DQIZQjyW%6YnWRZNS^ntox*3}>iaqW2xdia79c9)_iL2kg{cfcgS_9$5Y zRh`+URC7?lIS677+?<2EFb9j0b8t84#VcUm)&Jk-F6RJ!IWd0bH(Bl3zk$Z6r38L5 z=fZ4@e3>#i7v}#)?#YxW$|bvK`xb`6nAgnq@8h7s0rqcT*9XI((^2;g7uy8V zbA~V5nX`9(m~u>9o6Jl9TmAM;?}SZRXI$LCwIi4LIFxh#rt~js1qvT@WCzzc=IT(V zP7M2s=|50+irjOUR~W+Y?Z{{H!9HkjjX7}@;u4; zn-e?^Tu?Wgc5G`T2mdQu_KsplFLfx^IIJn5u<*CWuts$|apziEh`j`^u_u8i=vO=O ze?j}RJKgBJ1Xn38H*|6da3}~+{d6%5}b zPx=arG5*D{^A^Y4p}X++T`@2EE%bAakqfH%Cgtc)&F5k0FTaC*8T`Wm`u<%nwx<9M|;j8*Av82cE2HXhiMPV^;XTbPGJpR^w_FSK1&O5P{{Y|i0xgB-oh zISa$SoEGfaq2`=fOOA5|eC6IK)}9{1AddVEIe}&H)q9q{*dR)9sXV!y&W`SJ9;5E2 zK&&svyMXrlZWUL}aZf}|%?0lNa8DfceKBz`bZ8m#^%x&?fOp*H-@+=ob)hYGj16(R5$aRJM<|u@1QQ8sB!F(*5mD9_4;(R#0h}R*$dQ)9aPhaoM&G62v zGjn=WEZ&Klr5^D9kzLR1be9z-gsVO7C~J>X4su4c$H&!p6Q{3TA1`!y6AG7p<4;QD zm9@qDO+7i0KcX#8+?+LSamVXLpq|5f)5mpD@|HS`e59S0C|Xh*vj2*Z(F25 z+zx+Z6>OHaU5Z|ZTKc*keKE&VwHNTc^!EKN?XO1rF3+>*hkHw_VkPh)sCNjz)Xi90 z+b-q_kfvYNr_=pn(#d?U2soB_jCc7S+xIu|+-rI79QhviRI$e?Rvq-ch~>T0B(Bc^ zSL5BjaDCJAZYAC=5UVu0K#ny!K5uDXZfReLSe@Sf&zAOX**-;g=JD$7|6pnFEBG>Zx zadYbu14iJTCC4OkH`OE@n@&&UZEB0(zsZxhfA-ahqMp+e{l7RfG4Km-!uds8{I_46 znkZayTVlbITN3$8UWtn(ug4!Ko1S>U6-YcV;_AfkwLeUFUK*9SckYi9{nj=njzhcS z*WQ?@T+)F5Ux^p3{TcobCJOPl3-9Of{qZvs4@|8~JWw+uQGxe=Bi}tKaopU7ME|vI z@uSy{!n@u?5&o`NTa!5Y!7~#B=Drd?X6|kH{iKBJL9cA|i1ndaq#a zNr}So4T&MHSK@hqTT%ubp|6IHcqQ(H&MmEZC7utxcxX*qylng{@p9UzjnW#a1D>*KjKm5J$d*Tk|{#u7}*#Cl1+EneZ@{`(S0l9e`eYsWOoh!a7!l%6fj-Ht#-? zaQd(=1UtGtSR(?s`b~W$J_K?y4E*MToE);LEq*9|D|*S`$^PKc!@#ct-ffGQm%S1n z=z1l7IQY^%8+?l2hL*L(kDLlQ8xJ|F0pE^jiw}0S#fLxG7WV@_?E>b0(H@|F6*V;p z@nAcCTM~A_R>&ETs)5j1{U8S}$OL)05Hdm=MA{v=)9%P0Z>;TSV7_Q4aV`rnU&}FH zPS}gph>bIc$&a}!(&p}sN3S@`CB#$MlR0zXntwjF{n0C)f_?hbR@~pg_0RqL|1xX% zQPpqbZ`g1s4~{4h-r0t0Ki)a<$+~g*}*0f%%Q$|2^g$3e4*c z{NIB)*HHp?@L~K ztLA;lOWPh?FL~(gP3t8O{q3dol6N?#$5oYk|7+5jWHL?L zX-Tn$fV&VN#sC8bEV1hJ0+dp4%B7SX)S(RmwZhOMO4Z{O(krb^OF;-?M@2>S)uJd^ zK?_zv1W!>^&i{?^_*vlDv5bKd`%&u4%3p1s%gSsikd zJ_r|t2X_3I1;&3i;~#U!Uv>u5bQfi=EST7x^!@g7ZI-d`#2v6+zQ-;k$eiJ*5bdnq2S`jV?CnQ6D=l#QFqOssZ0$W5sxWGDYLHgX7Ug@u^ z^0jdn=Y*4{bECyM;ic(9CWgj`W^c4O8d}tgTzWe4rHhZX9zLo*;bd)>Tfbz@yQn`% zuPRr7kM#9mZLqR3xNqB_{(Ef*?XL|UT+{~1(dxJ4XSG4?Q5!xoq7BcCXoKdNU^_Gi z>A&V%J!MJnX!651vQaYNOh#GK1xvKcc+P z1|&L5%&!SX0y?K^Wsd7q@b|5r4?*Apa%wR${Y>8sHHwpb0l00rpGdTwo68&e zu3;{4fAuYuny$_C=Mt-@E}{+B(9U;L=h|45_B2rMINKJr$<|9-G?ydP@3%+okiVza zzQ39t-i{xSXvf2}V_mEh`RShW`ld5&JI1!XYgjvCvC)-S(P{`Z!cM|ke$n!@GVh?Cy<%VrSD|1&|Anq)?s~<@){VY_w3teby?XjeY?dhUmhWyG3bftwH=g28LY#|o+Vq=Q2F-E zS*;PuH>QPa3YY4`cgD75CUuP7Nm=O1d(U%i;#sebtqInAlE|Uk*B8c`+xCn_hs*KK zeO|X`JI~J0w{?4V@;?#ypXPru@IS@>RN#Mx|LMU0EO6=pcB_F^hW2SL+~BM)eS|g( zkI!T*Mc?UAih4Cp6xf>UYTwJ%R77d{3oZyPRY|$-W;8e0TURc~$TA z{X>CoZ{(YUKY%aKO8)#{;QM&Kr>Q$ae&to&R|dY<^WB$c^!>eoZ#8^N&@O$~H`PBc z@cmVE*vyE!F9>}91K(AzFB6{=_%`T$^X2Sh;M*>~sZL)eK9g_u%#d5bIo6>~f*A5z zkLDib9_1c_?uD$5$-SwCxhef}BYYISlet>c6sb&$A%DiQW!boW8&xf|)S!3D?rau8 zJCm|a@xSY~a&plblyh5oI=r|hhW>^wn~aH1-&TIS4c@$LV|g0#!nCHhL0?ZmM>`hT za&jfPwx)7cU#K$k{#tljYo$I`k8ByMY;Ss?@>tV@mH4Z_uOOE!i^t-X@1D%Q>R1Td z*h7_2EDH~F;9m~ui8kHVL!CY4ni%)l;@8NsP3YKNl2>Zrna1l=Pr25!Ey=zX>Y^X9 z-g1Pr2AM*(wi@~thMtGXQ%l|u{ZRda#i89femn~Z+o^J>wLC6ec4vaKWfp#IhC+tmPIPrwwg*d zHlwn-YjP!wo^G1Ll_+@@pu^{#p3*{Or(GF*S-U1y%%X5*X6)3;D#o#P_Hh-{bu4(- zQ=XwQTh>$FKASP<>?t=a>M4(5jK{`yl+W&}t7t7F%6Qk$?kUH*ddg>8+%T0XO`FR# zeRr4j-N4@jr+UinB<nX2mx~ek1 zYe)GD+s>#=ps%^LS5;c*+xlf!RgR~B_1JMv=*=ga;{O}B^^`Bzc4npN)t>UXeUmF!lW%)pq|(f{ z{G3z@s0ZMv~?H18txt+VSn=I#TPw-0PCug10$U3+rn#7=B4ZPS>)4^*xq z{qZlHREgf-R*5bcwduL?6S31Ot+O|mZy9hZKcZc079CfqdCI9w8!(m7{l{0{Oc^ttid4qN zPOdzDzp1Qe-ZsPo`kW!(BC%Hp&r=P1AqTqbq>lf<-;$a93^REa2A- zOnlmVxovx>a!lvu@@cd~ZAdKJT)u*KH^(-Y&taU}7Huvc-NrL8JC#0N0iJ}KR#X0I zl{a^7E{_6!X~r+M47$AS1Yiig=sUhLV_T$h2H(eaPOglJom6R9G#R`MS5Bvn4$2#i z40*NM1%0@NHZEGme1K2X%&xV4iOjAW;uSN&yT$a!Z}-Vwy9M);X{YWG>R`*iv-YT(4m4`(MTr}3@ke%d`iyRpm8xIbJumGZ{W zZozxB+Wk~rB|%yB^ig~)<+Xb*?Y@w9Yb*}b?u!HMHeS0!vDK9@v}`Oi>?HaS>vAgX zl-~edJDIviQTP0=p7Lc)J>{+#{qBrZ!kwlv12|kxd6JX2;!i#e-Gueie$n@&)m7m8 zv5oL+_#O0q<|6L!E;D-+JX>X)QQ6-4Ez5s7zH|1u$P2S1Ct!=6jhrxN5wgO5(!PbX zb4i=>(q2f~iw}_2A?;yKt)!ZUHmF?}y^E*!O*y%%nYsg5StI zobPr>IF8KIMxH~#b7UTT%nk|Hk$LcqJS2P{LqD%+ntVt&`!-GanWQt>g7zw;Qur69 zk%Q2+tj+_S2s6jSnf0ZA`SZTPEODmlym!(mL&$uW@IJ#H4gbCD=_%e>p9h|me-8h1 z*_DN@nUw|omw&LzKb!YEd#ic1rZA0n+p(e5d-X^cnaaCb{>#>;{8RX^GNj+=e+U0{ zPNd(41pnnX>6g*&NgI1V~{&rxf*~`lq=4)z1}@1IS!1L*gWX(_!xeWa}sZmpE`QEJ-3_x zOWx$3H$9E>s26%Z?DlM6@~ZD+GTZS-SzofTg|MMGPPWjFuf&!gjXLOF618s|?fB*$ zM6|}I5W9D5tDe!Rwdc^pO>yt|nf5$M@dH1G(^qF)Z*pI$`bB)+%a1)En%hr)Gwabk z69PKj>peHN_ATbbH1$+OOloqr$a z2y*@TOG{09x_fSH_l_mzN&dI_uh9(2vg=m__q9~tIv%`myol|9B+#sMqIdv9*qQug(~F~+}(b(p)&goU!nF-g=WmIBAK88$Su)hcg-;V#8=ywagl~LAStbfH`r#R`PnHT?c za(&X62Osad>y2!&=$Ju$=GJSw&6l`*+m+^=^-qas3uA!IpPn^?A=?)h9yN!6$4?kj z!Q%}h;9&yr_^C}(g-87ec+>^p5w>uPSA6@|{`%qD0HYqg*xxy`Q<-a`SC>%t$a7}z z{c!cX$+wWs#6MLMUW_~Q753>ohn+N4Jf8QWZ)cGo8e{QBwD0yn-e#NTZsxJOH-6ug zYJQyA5m{b)wrnTmUCx-QZHfhVrphP({?3*?oo{NF==6s^;y%BX`{A51x#x3BOe;1! z@pFy)fyR5;>m2WQ(rcxR+j7k(wnPzCm!@)eAhSYhbo>J zIIs8%qz%RwyjOV-fKxfX`8bsam-YM^?uQ#+@T92=P0MGOn9aH2{+)txBWoSjw+=q- z^XPTZCh_vW^|Jl|4-eCJ#Ve7V5z0KatHI;3;a+$**Yf%X#;^ywynF@SeM{Q!G~7>d zWnotxu>o_~j4j{C?!>*3YZ6y;Z%@hLYRUDK+WDX0>fox+0Kcpo+eN;bl8@xC>F*<( z0zDP1B~xsreA>%cWb-ORb6@2|9Aq8ZCpqUL3(Hmc1ph^YBjyQwVUd-3drC>Jnbhyg zINejPH?M42G8BX3;mN=wNm|BfCiB!ir+aQOir>6(=s)x$*ymZa?Mt+&J>b9DF~WaS z?f(pEngeOXTY}}ZlIC{OxUoMjDK=713w~%mtlObk!So5UqOgYa!jq3pVDBv76|a%@ zb+WgsXeKXbf8y=zJzY_l;ia3zcsHcvD}8w7U+?AXK1BI%@zNQ}w|m+Tv;51vd~*&_ z{t;ffJd7t|Tj-*tN5`G^mS+?$7<$sWd4g_mpTPhg(6d-GiJINdbF{v}O&YOU36v{s^a{BeQs(d#4q zYt0;mEY!z(AN|Ol1DF(9EAX($XrxL!{m}7n6yxyz6&Nw-#|kBoo`?<`D`hXIoh9bnvjUv zCqyo?@SKEhCO9>6=gj-kH1gIV7syYvIljJh#Zk4zD~>+9SW7>&KlzF`))F6fJNqoM z#N~qT0Lxl*Jna{KFR*M3;H2Uc1nHsbIqMMZ*FKJ^q#5_5yRYGoizySoG|gMhtB$YK zLLXP#eo(jVgUW5C?JZpGTygSCwh=zG)5cTA*A_o8{_JAAa~|bnOV^OER{AXO)fe?w z>&N1&b@W9tL^MGhsvqxvj`^@wz2m8CQW}1nWStt{9XB?}e=qjVMZ`4Uyc61%2Ifie zMtqyRzP3^ibgb0Q^~*?TFm;5L4J_^-6Tp4p`O)D1jVHc5cr^4vxNrMKA2pAp!ylb| zqV(hQBj|I)2u`mreOPs7_&!Sd5_1k%+IZqg>3_s1Bi31zOLRx{M)av6t=MJ5`K{Xf z6WV6XFG-UsO4je7j`vYMGD~62Xz{o{{I|6q?(q2BLzJg-?~fmxk6!PkJDa)$$LXpw z%N~$4{YueK`lb0G7%0w0BUdxmE#zwe4}|jzNF)4@fg>j$QCEBz9C<&sj-`#~6h$|} z;E-_V+BcqEY_YhREsgf(gX}h=Q`@cWrtb>&tWcNm%7^&}J$NI_m5!oqqFW(gW0EU? z;|l2IiV^VT9qk(lW9`LRLYogZ-_*}*NHcOA{{C<9RL0>%#vz{WgJxX;QURPm4!XF7e^qHT`&JD9 z74JtluDBsl@4I65jq<)LmX-hA=cVlXjRkor^2yLX_czgAU*7!l&#y9#&t7Go{>ybk z``ZNF zFY0fEw?wnF6JGm>^9=g=`%W ztF0;2P_}5j@<=ZL-q5>ykj3ziX8$yDVN82xry@5e*_U9P>G@D%MqYcYfkRVLlOJ)V|JG?o% zm^_-J?;9stdEhyEf|u^EKQ)6bDPRno!|a1bW<_qV>NWd|<8%>uOuo)4@RfN^WQ}pfBtnpbCr4iwk782Q?56U{N$?Pb1(-jP3MXy z&5qk~2AN_BV$&oVfj_#l@Nw}@?54h~lU!L4&DWTP;W@$y$qD!mBl{xzP_O8|_`m4B z{L1!6_ru_Okna2Pkm!C3dE4V_3!{-8M01;ps|5)330e{3{*IdjdYtD18`x~l%~ z8%3T#n${6%)b2ki4RJbN2y^-)Fdz;=aT_?VcXMcm>K^}|kmY+ljHye1sF%JgeZty3 zR7*Z&cZ4=IM#O-h@|_3y25`M%}(;P5E3iv4EKF^5;t_EfO}89=aG#2Aa8e}H@r zd_?tZu9sdZdEe#fvf&*{H-4P{h^K#R?7?~Z$GmiNsV|!B!|!i1^L8`y7Tqj?{Owd} z0EXJ8>yCG6K$7P;a=PrjYCntvnt*QFYvYtaUoI;~NMq@G@3%;Enc{fGu=ouqT@+hD zi1@7a=x8UAS8;vf@ihgI$l{*(Nqev2@LXp1YK8-4C>B$Ltve;Y+9Y_riT3y6%Nk0! zevYBZj7thx6yMfxTK;InXiH>Sv&oiDz$fEsXo~Ed4*y$_IYPu3Y31I|{!YnGq7R#B zOZ%eG;2z2Mz(eCa$>}5C&3O|cwm{na{J+aTcUk-2mff|)gA;wgbhqk(>dq?{7%5qfW z>KN+x@vtQYA4#(&1s=*y5VR4nzE-%i<>f)870qb1_N8fg6JL>+e6kDs;pl*kV7-@C z>BQTEx-;*ro`@Z4Vl;ghd%20927NcQ&C2a=jHM<$hm#N4v8dv+yGK*_90s3zX@8t` z6V1Otr-J%`iV$T!cpSQv-o+Oa^l&Q;D#F)R5C)`YXfUCO$~h4yV2e|{4JX9#6Buox>Wlh83=)yY)&#!~q$X(VZ z(vVzT@by9$7r@grbBc>SRHX~(lWg0<2hBHMKh!)D?nyta9OvqXnu~&^`g(NwiPD$o z*TG`_iHBTB`TksbWZhB|y`%AG$Z3#~&wi01ABhr8_lbIU7ta`w)K zNB6jK3xr$3t4l3j={cPFHn6$W#VceI;cp#y#iAVeyQ=Wp+5j!ie9ERJm`YPHAGCX* z9UY-I34C&**KT}s;jZ3=QxEd)5|{Sdy|;6bSEbWxZDb>`n%n zeSMO259A!*CeVzo-2hy)F6O7P`bi*-?02ICJ7S>;cN2`m4?@Tx@QVmz6{g=IVh@SN zYh1N=*YEdZ8h`qr*cfr~o-{Cn|A-z5hs28`^h@_}TK#h8q|4Lb&+rJ9rMcNA7~<35 z&!JOBxv-?~O_EX7wl?qGZSX}OPk%=nf@SZ4HoV@tp?Qp-TlaXcj%9&56pt%dhv-iT z9J-#n@7J&OX&d*JzH0nHEX!xldK$Upt>AqMI0D;$L=*=J{L3ISCE&HhK8!jmh-Jlo zROISg%*}gVLH5xe4~PFP=-?sAgxuTXq)Xu+0X>q%YOdS| zp0<1VY3F$WuT^%$Y<$VjM|_7Stuct-C_a!wJ6wKqJ95wM*goMmS(o4VvBemC8(XY} z{i}aFR{Vy2?vD74ZaO8WmW z`;pch6-(A|$wu=B} zI>mJO&%xR&nW;=0WP_^Gp5c8G&D}*Be^12rl}pT>T$8?6rQ35nTgM$&xi*H)+_5(f zt(~m>B5Nn;H)>OazT_|0+FG^FV64lKU9adVJVBj(k7G~8Hej;YjLEBW(?n;!{{>{% z4DWNmm+`{S$?9v9a@gm%G~b%J_fbX+ILSuWO&X1B6dT<&*yygt_egCNTr(5viVK?0 zE(*?qZ9REpt8R}IFE;1G^_#Sru`7(G9B2URhUoOvA>0XbZ{Ye@>eIMjvn*ZNSZi$& zvIQ>22EKF>eovII`c8=xzjMOb#Yn=fPi+(qNdAaXpI{!z<@&pKP-g&6BlSSl{c-9% z6fAEbjr8f-l<1zzhxTV{Uqm|T^!Cg+WDwUjjZWjm&V~-45*;{pw)msI%a$fwl&wv; zShyOzfQNnn`gXj=RP#0Ij;Z>39^=WF6*Ygx`D2-O<2p8TZ>3%1ym7n&xN0090j}L| ziWIMjpHsvJ1^lqnd*e!MkYVGhF&!Hi)3IsS-uh0)R4~+-+VP|=*;yqMji%0njb*(v zd@N%l#!_-ojCurzKR}}nHIAz9;Nys`i!=wbiwJ&y*=O7_{2v;>!?A_FNS(f1=lfzL zpb4Aa4{Z+6fnR>PcF-~IKFqJ5!nXi!`?NH;9(f<-j!8pHJ)cCa>8XzzE7{WQK0@v} z(mf)%H7WeAuIWjJ75ufPmz?a{Po+Q7ko?j=Ib%<$96(r zi;YS8%B2|NCMy{aJ;;lTB|i(Pdre*7RVI?>#ld>P$~wc*7St8TE~e{ zpU)d#apb$QDzAALNj|Y#>q)W$X>IA$$3la1Xy2F=`Lc{{*0u3IoOErxChpQT%Cq$D zqBhY2(f&i(c88y{Dt%sK>p-7cGV*=B7&*tpo=a^hJ(nhqdTK+yHoYOQu@SEb)Ba0< zQ$6jIKA%9&3iICb@T41aOLj;nMR}BYxOU9R76+D0)Gp)7K&C%Z?W&7!s1OG_+Ss~77>J&(OxS+IFeRYSMF1zY2kOvfKFkf~EUQN0YrxXMDs{$WGt~{3Iru zC_<&>AEPO&1^sD~`bK(vn`C-^D1Rz+X`6=ck;eFDy1U#onx2R+Ll@MKfDHW~(hHb# zzU{`wzRiJSz4Rjo4rggIcky*YeoqQ7K(*in@l3xzxK>6 zD>KrrcG}~^zC9&fz&&%T&XzOJwncJCt*4&?=xu_7=A7Vg88EQ%#%V|0c-0LKvPOVy z1U$R5;D}s{4L@@;$9dqodJRwXvNt z#lIhVQ`PTO{f_Xi_JdWw)1ydd-|_8a_>S*)3SOZGz1DB^tCSb?8~qCZMML)IH~J;M zschA|n>zLU1?~s)8};e^){j(ehgvU`ou;N2IAW)dW18## zEp=>0&uyVyy{Zd4nsh|1nXJD1?}N+}YmbPL_9^&h6uKb>CjiNou zx0yECv0k7twDiHo&Q^>=@lJRW{z|T$<44plde*`?sSe43e$%@o287xjfx&y=2;74gp7sIDm|z}@4Z zVN1R*-lBde<^k)xiC$tdSJxt4IhrwpFB=D&ot2A;g}^@Ykdw-5&eg>ZYND!*iG_CgJWQ>z%C*SF67WWY`@{iAB9U(0!Y_mo^a z{o37)NtefIzDQ;xo)K+v?evQMEjzuH<*?HW*Mx%yv(q;+u7dANPiTByy{sjGi|veQ zD1eJv@0vj#;k8d6KJvg-=7yV=nj@!oo0aD;H0{5>&OG?h>U_Fb@>5oG2Y-z$^t=~d z!QJ69IhUUAn!BYG%RtkUs|t~nd*(nWzQXEak+f`Tl9OJ021{6Y$@egHUiyjl*=P-2 zbIURA+WD7`anB*pTDs0dQF)Vc?inoYS@KY?a94G=@?Ym2B)F@-R^!UZK401Mw`zUu zX}3Q4w5h&?aqGL4`qW>YebCN3)j2gwybG=*mr1(vVOaf5>%19PK2%+z-ObQ$&7)^j zSIU(SB|oc;l4+)<-1??)Px4-4aV>Sm9pXWl75S;Wo0WhbaMnyKGP1u<7Zzs*+oEh_N()sxE^bJ+q=oW6|(61xV1lpFK z=+ZXkJv3rNelE6b`2xL5_?ZR|X1KKE?fRd@r;L2xdGK1 zfnFmML0hc9acm5C&M?>(GFi?}NELr&zqzqiBFx!eB0nkLM7|Nb*5=b(?x5WhxvTvN z@L&?{m+eP5p!Waz1J$VQqSp1ux7>?}JYDSiabb3?d(Et;HZy7AJ5Q40@pP zI_HD<%!OHuiR4XS)rS41Fq82y$!zJPz^+AUdRMc~>ZW1;s7(VO(Oe#oZA;&U_bLNl zVf$TUY)POkWszk++cIs8Y#5#Hk?Hz3_| zWWKkMPrTgEcaQR=pi87xTj8YxiT&hzEBSOrg`aPOmrrTc2V|`Q>Mw>;I>P~+W9)7} z`sG2jCz4u|mmEsNW3xyr+O4+tQAS;8OMg?ERN$vk+~ zFMR$4<*L2mY|iwursTFDpzy;~9>qxE_{@QZYf0Zk|Y|nDeD0qgP(i9Hh+$hs$bt>W9HRu{G=)}n^G3S_%!hhku zc!B1mWT@-0&4x*n$hfkGzKfoJfcJZ`Wyl{zY4u+E!j*O{QET4@>5uyB#*}u)$M3J~rl;{;k^mu-Bug~_U z@$~8Moi{8st?%eIFFtpjxqE82c^}u?xxV!FZu9La-R8?&>$rUTht_IBY3%8bVowL} ztxu-5K!8rn+`}V4;y=PUSiTaHPPo;@^xaFsj&ODwp zf{U;7ulr)vj;{4jSFT`>3Vjac=x+*Im(=)P;?g>vgX@oqqa4aIf6()x;r(Io@!pD1?~kiLUP;=H zk5nN9jO^M6?WZqRe^I|RR`S6Iukn3YU;5^&W-t%_t8b$5zW(CUcvpY9h_R9noaS>Y zb4cwJ-5H6}33uRSMF=Z{J5TM|g4xhwg9l9y&u2AV;8t#2iBS$1)q z%_=@Fd~#)V^d*P+Nj|kvXB)Y?z^AM(pm)|^H84kgJx%j_I{g!`5ZzUIvZwfYWRr5= zyLJ}Q5|wq9Z8P!NfWa`E7&?k<87KdJ-yz|ere609Di`+hu^BF}_Y^KAjgR9G-+PtG zEnaHgdwRE-yK>>sUY?oE)zD+Cx0b-)ggc+*zZ4@5eFHvA@qD(_xIJ5%#Iw$*w7yL| zw_wi?B|P7zM7E^ZZK-S6gURLFbM6Hn8$ZhUrhsb}{Ojc&a{Z`uPEJVpnE8V6uei69 zGjv$zbrKPD{0R2cNU1R%L63<*|5%^re^?i5z4Es<*fAQx$@z@+FVQpSGtV`jF6X?r zkh%Vdu{HSEamIkYEA2C+xpUDL{$n>ugJXfT4rxP~vysjI%a);YAzK)W+T=O;*0}UW z?IF6jU*~{HuG@H&)@re>I9jWfZ^AUYRvTe_e{*ehtyVa@(o3s!@UIcRLGr86TJ4&N zYU51W`gz)!NS|kA&F^-oU+W9s;VyZjAq$oi+TAqV)#jZb7i&j z3U{0y8H8^XweI>O^m&z&KwkD`uY1qkQks=JuaH~gp1BvzZpb^1Ygd;pmA*DIxVoNi zjG5NhFLz-L%R)Cyw%tWeyKovb*`G)Dx24}fwls7x2?&*xY7>kSdt|!S6h=_Tay~sTycJU zeIWzhiB~QrP3f=u2It%Uxb!d0_yy^oX!INYVg?<(Pi8IO)q2TJ<`Q(d|B6+uQF;(t`$IHtPmp zo2=3V(M!=(!A@`y&-riwW}1JJXGA-155UZ)2cnfh+9~-^>$bOi6PVfgV`{^If1r{9;mH?;i5oWeR^=9w$4{ulT~`4xjm8|^uKy=dZ77s#GiGhtxFF? zmvlDt)66l^gQ?H~(H38({<7Df^56Hx<{u00GIvy`XtMfnr0tjM*Sw1~Q?RjXUWqQh zHPE-;C_i=1%A8jau5>&1l(rMY_Bi@9E9vHEyhA_#JLdy=b^bef_D+^wTCG#G<}X)j zuDE%AMw*?-&wib1k3V02;@3%={W`@rHCKN9U}W&qlKGjxv(m_nv^SK_g}z7qi@o|^ zBLByzUv0+DV*9N6e@*?fy!!K`xtwxDV^qeU_~zIDYraWdnV(v3?KUa;Z0k?0FWt{v zRoy#n8`l@E#XtR8_ALAx_0RF@|N1}n#T@lNyS|{k3WB-xm+#pAyLj+L(irL&ZC3ri z4Aj3x`Ke#_>~__irSJ6rR z^*$V^_s#><`$4bX-ax%P59F_2VxH%EUt70%7gynkh34fqcblJc{W7-D{44kOa{X+= zLi5>EyG_Sc#G#l-np3*Xuee?qx6m~3{dcY1<}R+AxTY>#V*17|H0#DMG^e(AoBw2~c^cBygbJF@ZMPeQC~Y-1tp%8u5M zq$|2M{qK+aBfjOF`-n`K#15#r|I5=NgW7*;dgWg#-}}q@Z=>wgk}dfD64#n}XV;oD z$kgDkc&z%f?yp*BrcLy*&Y^u;4*-88Q_C(qiZXN#dJD2{dweu{su|FK*?0dOu_r9^k2SLzY?B%b>`W&)_WBcY?t|(a0@8U18i>S>iQ{^bX_)0K8@Epo7SO@dh zc=ZO`vyORA+5M3uYdk5}ekdD8eW369ufB&<*#GIj_)EBV4RFNg5ggK958;DwEQ@?%wyIsJ_=RyAcK4`&h$9J1^xjx=f^+gG;$&bncYx*u+SDE;cSYG?= z8>(|!b*ewkmDM@jMmoLIyqk4mbxupB6U}{${Kj$fNp>3_$Sd708o%4Z=*&P~1Rr4g z+BN-$C@V-0zOAy6ulKj6{|&zR?fL_C>Uk^ogV6(P>%h0>#re>K!=!m@sK<|&B^aol z=ew)$Q6KeAurr6z$A2Bs$B!SRk2eMS_#Lm0A3j7MeZPf2UwZg`Ozo$STMp32Cr+s1 zz=6i`tPy>jd5}IP1AWYTeSGI(_OX#ZCKyM>#tS7~dd_*>Mf8icVY8u7Gro6sXm1vu zIAeHcQd}KemviaN*ipm;SL_=9S@YdsJJLJZ0zbn14&yf<`QdHq!w}6-x*nTuzFnV} zy+|>Ne!;b)6yeUfnD)EgDIfGB7WQJPvF`z#slJbR@7Z%<=Y?N(^Eua;d;gFbvX@!^ zrxgBMIr{5BSHL^b&=1YU=QMpgc1_uY=k;StZZlcwdMjB|TTwFEm8CFORCn|c*}Usn zBMK!I>*-?A^G?|+Wea647f=5qHp>h&3%vzhejtwjPn`9+P<&qgF?d{vb6(%F^kw|J zsgHV0mUt0dQQiIW)0Cgn*{WUIS3vpJ2i%r_w903^Vw8`}Kak5*{ToeYWy#u6xQlj1 z*_$KT@{uDo$5-Xq>t2dvpV+N@i<8pPUEeLmvatEM*V=rFVUg?q8u{eA6*j!jayBcl zYXnY;DI?fu&D*z6iysDU1oCkiOIv+9yZ7QH=3y@1ei=3=m7+Op|Mc-hOVcQ;7kFgQ zuTxoU71(;0Z{Dr7D0oYgVCmC}1aSWDE3ysG7kpy!yNae+FSct}uFYZ+ydl^g#b6jv z9@Z1oX3i*w23OPUhW}|C`$@A4epk1#XSdE=j}ZswMR<#`eU(4{@}W3feqXdN(xf(( ze)#eFqIg8}^|MH~9$oVn*u=SmC)USpvcX4aMZru?7C%)pDjzb>?z+MHxS=N|B{LkC zM;2+)nuo?MoYWpg>@gYq+%`VAJCxHqm3Nu-U6-z=ITpz#k-J>~hmhgf%m@EWli(%0 z(RGZY=20uK3hvKsNXRE=WkGvUvG*2279ZD_zVV@$_5GDRbFTajQ^Za%zoA}x_Iqqn z5<4&7g!3EtZrjT9ch%0EaQ}`{jP;s!;fS8+W_LHxCp{Avf&Bw3?Y`GoD4RE_<-BMA zYxc1rxW+Sz^?GT)WF_s5Y@~1TBxmEM*hA(_%ZJlvXYxj#KL6Wz2*CqLn!ZGm^zw!oRW6CGz&!AWR+#f=HCy}DswZhGA| zi{?d5wcS2GXq`*`CZS$rn>aWPzB0bWKfJ8Do3%FkF!!jQv+lU9kr4|A8?DLcN#=u!GApBcqcQG4smkC^`} z81EI(ycMN5^)~`H)otjT?>nQqhj}Z#(2i3 zW}x{(;_=R1YM$h}Z~8O)o?E=cWO;st%kPitn6iL*r`I3F zZq^(KCtus2i|Nl;`jeqQ8TzAsEJ={w>sLc!duh(8wZ)rGcl)I{16RJ2Sk8&*MfzBp zae7^G$!X^l4bNjJCrth^fj&P)d;C5>!}GKBIZfZDay4-6oc7GVzkOhd$)%Q>Dg5{2 zrP}zrhq)f;o<+@?UEEy@)S6%`?MXP>OC78cYE3YCKKsUooz(f3xdry=s`R^^IxQ*SZ!Q52alk7k`f?@gtt-H^}t zaDVH0miN?wAGJ=df2TKg;CamP*4?$271})z4)yJhU^}SeTNFR4`ULI9$16NORWjk-H9#Hp5>fS`9@OqRrtrr_e}h5G;Pydqm9H+*bYueX0h{@{;w|7 zP@e1oetaIaWft+m=+&tW`6=8xxU|u8fu+E{kiiG(8YK*-+^6YDsY-Y8>R{-8FznH*txy* zJT_F7z3!@)2Y2!;7z)NAVrZ=5-6(U{o+*i=N>d%|me9X;+EwGs$hUG=?2H!fCOOU0 zVzoOl^^L^5C}elB(`%^+j@7c%S%^t7k(?t9$-)>q~z>;^jf@FCw-X z^H}_QrHzRr`7A;nOGEG_C4Lbx^pJg!XFAeuJ^H3{FZS?Hyio1^#?du{@|ij`ejvk- zz>f~ z(_;^<K!H7`=zJU_5N`8hoI|LuZ$~B@;!WG&gvQ7 z-I69I7yq^AUhT6wCwr;l{1=UAwjf}+O!sZx(B?KjQrGYe~xP21m~#cjoK?6cphcP1M_s!Yv$?d!uh1}=ho)48ISYb zGZ-}%9l%<=R=yu{ilnwR34InqZGx&BX+ z=hGwdY=LIgvM))pu7f?Mg*|22&>efEKh>pY!CU58pBv%TgY;i%GzLoN>Q1ZjmOiph z01q5cI`Q)_duf$!r0&E!t2=Ri0BiN~k={|#e!TLyZWD@kn>{m^n91B*xthjD5kDqH6zl6-Rd>nk0ZZe7g^6hWtK4qF`!@%|(PPsN6pHB$) zCVBjE=Ux{t)n3K8l&wSfDZG>&S^Zo}zpVWwE#HF`HYT9;_1_MjX4jO?!53&!;vT!- zU@CRjW@hB;LhJT~z(1cqwSpJW$f0__LA{ngC0)LuHmS}jN!R~&YHoe$5{r91`6;x+ z#l0Q7Ta)-~(kAiM5c8oUfMZif;FxgzLF)1MO$%Rxd*6kx;+ulS{iIX5K0dxO0~;Xn zx8nNyGNiSWWzk#Bvn9!n!nI|>p|tcX>|$y8C;b>Yq4v6C6f$Qcx9sKrT=}OrS=!;j z1w8H4o*}`-rxS}c9!Ymj(!POD`{PJoWZw{+(v~s?j^MQkp7!{ z3D+&I%C_1|C_TRx`D3_jd$DAmrdrw)rfqMeO@hxz**3VBQ1-%FkH1G43&BGD6D-aK z4nunhk%jSr?U&C%+}a{j#WB>S_0Ta%7k@+(ULODQV3xV=@AJ|a2tI?yxUs=1d{=(S zs*T9AVMk}vx;~lyxF;x+`BZ3!ZnTe}8`Mdkq${na+|@%infB>R%$m{NW;55;+mwiJcX7z0Z3kOBIg|bgemB$3k$m^r_g49CE9t~{KSDa_IP}})flmg~ z$alk}?}QHF0~JUo_t?m)KoMdS(c;cHaJ0r>EheDmAzh4;D73%MT-AHMHhON^ak zhgdg}?LvKiJ9YW65#3e2YXkj}T}*vGRqb`$@9OjNK$-*f`6TiL``oTF4$$XTzWIH= z+UxTPhv>7vhVtM$tGw=D_~6T7|A<%ntiGt;^8@|y<*-*s=l5B#nHfkEl*1M~hnB+z zC@TnymsIuvU{T_m4~yeHSQM%Iu*Ux#ON{(CI?Ok%pKmksE+pP$Zn1nm&K&f0UD3m( z(QcFBN|4W&7Y+x8|A#jEc;mzHZ||wjDIbQPS3f+bGVtE=lq#%~Zx?DtW3hmvndb!thS{&mW?R$e~`|S#{m!9IhAN zzQilw2oFc~>!8v^6ukJ%Z5YhcV)2GRt_Z1vVdk6Alq1;^|yD*FIq zb|T;WF}unev*QnQ%(iwO9xUGF(X+pgdo3*H1p0ZhM;~7%T@V&C0%?v9;O|)hScq3d z(|225Q4HkQJb7y%|AFxQ|B@#Nv;R;T2Y}fNeDh(}Np%)@v$?3nRix)U02Gm zuJl1{(!I!SSIjEf^`z9VN_Kq-ou|64w92k4-BIJND}Bh?^W3<8wP|-<$qC){lK6)7 z)YKy6ozH%YebAEQx`wSM)mgbmv4PoVXpn*M;gj4W-V_E0|6P4&E?odjot)yyb`@pQ zYmklG$`0t1>`T#_l5~n=u8UzWT~lcBY_`aL#jlqo17>9p>-X0}WalthR|k#Kh7fYS z)<7lG2iHJfRNj=k?jd^lbP7EvrM1iz*tHdtpE9|tt%`vjq1_*)&8&gswU#OQCTxDV z+u=FR<*#i;>5ta7eAyd5Yki6&hlhce_Of7G8L)d=kjZ8L46)9oa_sZ<+1Af6M9t$vGL_botgMw|J&AR&;9An}-d4o}ttXjY#{U58B9{XXe_dpO z9h?0B+Pa7nSQmNd8h2g9`5#ypc^7>Qu8U;+bIXBEC<&bhAJ9Mg7i#`9zKW|P8XiH< zHICx;U3dhtEwN7JmJ~q8SSO_ZOG_G=o!P~012P#h+l&a`cl~T zNwT=s*XG&yFfb-;OO_ z>enTGNOb|&VR?Ze?H_LAbYXW7?eFnm2Q7eSX5hEO=vtOJ2<@@+1R@w~4-P zDn-!=ZR`Sce)%a#=hu3u=#}6Cox$cSy5Rb5`?}>Xe&^B#yH1IYFFQ4UgI1S>9$8xO zk+Gf)ivQB{r00i1YxYFZ^Vx?wVgbVL*H?>G%=qi$lkx%ff$(+f*007s0L& zWT=`XKnINM$vapJckRD|pY>04g0Vr|{R7{p?4Yh5@2Jv) zL)uG{zP+Spn7t%5*Q1j;;yYyyY%l3izxZzLB^l3N!aYpCWG@jPIFWu4R~Ng@Dr+lg z-Oe+JX4R>f z3>{pum()}5y0q3WRt(upM9a13L3R`IH@ike-VM-iYdfJl-`>7I`$;$T9*+H_OK=e$ z;L~l=Ro!^UX-iD^PcugTQ{YHbqvS^L<3Z;!>Xj_H-0H{7pMmF|$ryv(Pcinx(2FSg zx!H~#&>T_xfw?(voZg8I+c&+TIbf3!{SPJS1N~6^IAoc%K_4yrdCY3A9M_9n&ET0y z-(Gs++wNRouk0R^Q+)gtd*t)dkXuoTb2W0wPoN=-9|-TG;CrZ7xPDpjEsT%WB4jI5 zU)WJ=aiShvKaqaOMk(F@!T1i_N9>Fqy%XJVX_jwqFe%ZXOKj``|GbHa#eM7)9_~Xo z?Ak{N7;EhNXgfG!>DOY(>A+0#`MqOY+2aWEyY*Dh#Y<+YzEFx|D>;CD!FE2%Cqa07 z6ZvbwS@}TJ=APJXQq}yT*Ti}l*mVl}+T?4@-lwbnV=b~#I~5y*bCd&T;3QXvu8a4qdhLO=Db#Pu2y%De7ROOk*FBpGs)up2l9z zPJwJ10xoW@&q5|fZPWh=pvm8EuDFE)Gp#{}~_ z=9~3{Nwa@7K+6tfcU(suA@ce7kOIEG52?r)P8HwX@C;K2H7LlSa$B?1JYx&!Ihvw;7MGFI{&`Exgo?w|OOJHs8P* zMvApL<4v{2#l%cyUA1(+&N?E#so`01HWmMLENiRFPa8eho3L}e-=|mp9_#OSj2`@m z)gL$H=iJV|Y|?2xBktT&vT3lDMv)KYW1#a5;+ZTs4xe?VW1Dx+tW&$+L0hL#&J^ar z6vu^=uczJz4E%Moukid0aCh;ktb=ih7Gx7k&8L@NXQB^2v#*`!nXHo~xa+&`lh6+A z9{rXX{MlPav*+3N1wPB35d5^%U%O8ke}hJ@W-f=Tg-iYitv`mAVbdD375kLVE##g5 z|9gS*REElob5}Vkdstc2qrA^O$$ax{WFhcb^Wm$MW7i~8j4N|h^i=Vu8@X6#Do9ST z^esL&Kka(aNBO_AM&jg(cMQ1nubH%Up%rnhEppFb;w_@pyOyvRL)-7yN>oYlhzS!GRb_BJr1(-HS2#Uo7b~& zcX@ny-v95*K#Jegngd_KQ|nt!Uqu^kKc0O^S@t;ayoqPGZTRWOKV|nnUI>5rsp;FJ zwYQ&o`;w&#>VM`0cVF^3&{FMNz*b*q=w;6Y^~i5bcrF?!x+5O>&i6&^x$e?$H0QhE zm#yA>J{~y8j@;~7KjlJ-RH~=(rIqk_!}BO;j`ID8?zIlX8A+}?g7zy z*0%EVCPs>vOgyV7`1FQC>^DM>!VmW1jjpZQ*14ZDtxTtK9m;iXo)C4GPZZrwkY8gZ z`AO$dgyM6N3$w@;#ODo+on0TyX01%nkR`?f@R4uiqxgFIw5axUcb~wQp(APL7i*zb zCXqc(^4HS&ijCyfmm`gAMuMU6xtDLU>!~ew@og0Qo*Eo*sTWy^`p&-3EqfE+Hkdp2 zY%pu~@I0{Wj|)u~myZkLEy8t!+-q?m=a%V@Ir|NpX4!b`$P)3L7S{9~{e^f$_;MJ0 zf)adJn`E!LY0fM3Q#@FH)$ZD<-`}U$v#R#mm`0mKPd-(u?^V7kj?EVw$*(nA$;^`Z zLWVuxfi)iS6@Trk4xS=iKLQ^4a`?+HG56B0Y|OX}+(H@NZN;F-1RAzw_ms)9 zt8Ur7TIJF` zZ{%P6W8mVC#Z}%|d>;Jx2)M^u=Me5`{y%rAyLU+S_mM`v6+Z6$o^L+x=_~>t_pBdF z7W~VsFMaEa5tpWuKiaD~hrbVd`B#C1bJ~}hmR~Jkf7=ps@^cH!)4y0?zRGp>&lZ?j zyqm&x1DB7Zl0k)|mKWPK;<^1-(#Nm##qigL-ez;f`}<}WC1=9N2Ex#0N3<5bZ8rEc zmv_<3*4@#x{HNwYEAH@U#Y#xUrA65Q^XWsd1;Lszjd$*}h=vTps)5c7;B>UjVJmAED&Oa6n+YbJS z$BS;wn)k|}%2OH2`vc%VGOxZ@VK6*yq59^xad=D<8?(;!OD8Uo{P#)6TtsGvu4#^l zC)s$g+11D|v@J)h!uYiOH2h*W)`#$A?&`l6|56{vk|!)N@BYC8)6Tu=@dZQtRb#ma zxuO}_+{vgf+6U_L(>m56H6Nry_&$SbgJ`YahH4*%$7&R>)OotZ(QQ)MlKUms=)51% zhY0e%`14Qp=*&xE#-!y(a7n*xGdfpI!s3H<&}vJ!Dn-zP|Kj+PFhFD~&HBO7=VkSY1zl8mLF*`*Nq`!QXwaI$pPrkT1Irkmun*o(~)#&1TYknmy4z zZJX)QwjU7lTyx9LE9eA%f3eGH;~&4_%8?)c-i#+E*>w9KuhxRi?1Fvp@H?(Sv)ziHvZ9Is4PQkxw+YQ^*{jMu$Q! z5q?|(e#lo%GD`zC7606aXtvj`FUSwcKWq2C-L5{Wb37I|SI>XAmh&Gz%sI^qzmATI ze5>;xu6fhh#l>HB^-}4gCP(}z@~OXL@lkJ~{wvnF=P0;mP`dk}g1Wh65y`e+q~3N9 zU%|0qc!ErKP@FxN^burf)<%ir==OOMeU{8ESd14;pk4dx?_%m5Pus0*N!zdEe3EM$ z(XZ(XcCnKBebt0>hV@yxMw~qAYhzsd%H6)6aF~7l0CmQ_zWz_l3DIWtA6Uj1?;`wb zAjJJQ9}_-kZHP5C^r!Z$Cy}sCm%8Oi6kbdCOm)Doyjk$QS^^Xsh<>JkO%M!eN*+gv) zo~7cyU*{|_cR#woq`6=42r`Se9(p-+TIUXivXVow#R0E4bc8qnz&q9dW$5+uUxeeIvWc?t=9{kLf-A~uL{7dqUbeZje|I#z0>p0xytGXh!A|JV;2U@0htHj}99%yW& zcT8U=KJUt=K^i6*Epud5Hh&b~;7DjQHZts1Tq=kAM8=WJrAJF>tLBRObD;W8I7ofr zKz*O}>Px0w*?I~v9*J|a=;MqB%-~MN0#3;n#ocqia}{SZ!^a}@arxxYg9+YCP8;Rx+_0_;{4*z-=aMSjDy2H>8vj$!P6-z7gtXsy*-lw zeAE6v_71=F&)}So@5cjghk51D7mZCb@rQlcn-mfST*MND$xnS@a_20%K^uEh3{*3osIO>0Y5?RN`hwt6`@?Z}yEG2= z*`*S;++S>w@?*Oy;9#VN(np5*U9AQ7Lh5J7zBewhx%7`&w6-xFLVrll9A6pBZytx09 z*xBrOux2EFAsQ>#n2n=tT$Ti|+5pWFKZ9?e|G7L#_81qZhw}&R^_uiq_VQdWdVWdK zr|-;yr;HFvoD+^V@~yj&Ch6GrqaNv>u7B-@nkjn`_p@C1#+s z&=|h^wsqfsZsd6*r_ct`vb$@mepp(c6@41GsOned`=4$k9WtK%F8Q-RkOmjhHv>If z(&0txu+N8X;r}FH9!|J=hVwsFrjk0Fdg&kNvIM|P4i5=i@0y%BFY$+G@x4^SmyBNrux?-=HsW_Jd(?^s$NI(C^ zKFFwpEX*EC%>nhtmcxFQn&druLWv9VKiIBzTwdHnePgMwm-?R8p2-wz8|e-CvCJ{- zc};7nqfj@d`2Dd-`n4gaGQk&#YIEp;qNdF>#A@i91#Wd@Z{#M@Cq~SZs zTk^G;b@{Ey=lZv1e#QFg#r?z|!T*1rjni3^*1pUO?Ya;?m;*J58HGB^Q~e*Hj7WyE zonPfI05&RnEOxOgRko8W)+ASeXDi*Z%}(0mmOYlVf?thuGwZb%*|PZ$-MI)|V@AA& z^%c&S8K2vfgM7KVon231460|#tuBn;1@G5c0`PY;siqjJ&$48`c49JqR*^Lt>RVeX z%pN|jw*vo>c7q*P`I%-OA3m;O;LKbf23OHl3)kc?^0T1rK3qkoYm(T&(zoQp zf@}Jh9$e>HxHgbhd28S!_)^%uAFPkh7u84lXZj*F;p`~-6cHct^@sz(jMyJddy(Tb zP9bv^FwGqCZu(INPNCOYoH~bgeC!JK^#ay8s(7XT3U`BJO+0dUtc}Ln?z^{R4c&If z+A!8h#+q>!E=gAr9yI`48a-^R`9G{(Z}!@CoY$_&q~C*0FXYg!v}^Yp%i82nyTI={ z-s_#(RVy6aU%Q|`5%4bpj=#2DHWquV#@bokad6u;4|ttz;l+Qz&{wK!$QDP}WsAZm z{eRqv@I1G8n?uY656`-hyMs8Iwy{=L7p`Xf-orSAp_8-!??Ut9ge4~T*{jUg_AD?B zJa_W^%4e=Jv3t00xoU`>cYwE#LmNdCMGw*6Zoyu-I_lXFb>5n_9~$WIVeCmcU2p<# zeiN?pJ@GT~p7sl?d=DBH^ZC)dBdYrg#1BOmpCP|-+D z0)CR3QwS$-+l8E7tetktZpF!v-zH~_Z!=As$|2Gp+qR|rSkuFmnzqRmr)f)hTIbe^ znSCtRC(AL)IjVC@IZV1yogEd)QsMX~3n6Dt!OY%RhWGJ&VL{(sW!{aSy`{XP?ZHa? z)!$d>_X~ARz2#|5iAqh=@=9oSZ`riu)aBAua1yy=Ka2$;*4 z@wy4OKogDm>JLwRn;+AnVY}B)X(W1o4`&L8X!W#O+$@mMz=z1E>?dhzAsZr55_bJN~i)@WE;?kQ=Vu!VQ53$f>- z2R*q5`)&_DFFowb=qV++W^&Eql3i^M?=`>PRe5D_I=-?dMf@k?xzr*Hgoz!HBL-|V zA)AnCixb}9o;U>J<59|aGkHnV7LVVI4X%g(H|zgU zo@2c_Iadc?`nmM+u4*2yt~XOxFwexHdhYb<3FJ9IJ<*|h4O+_q`$((jY%QMaUhvn8+UK_w$duQ$IafWvFjzyTLDA`n&wob&gwWs^54lm_YdOs$X`VETiLL!4-ofBT+Lh#R|`Htt=!wW z5?mczQ+PL(dy;D=*DS6%yc6#EbVX~@@nr9w==QryW09ZW5V26x=5jrAINHe^o~`+_ zxg1&6TOQRp8QQVA9G8yDyjJ?~qTceDrk&*obFFT+sno`HmTNmrrGfP0`8Kv~XE{z< zhxsvic1>jhY3rZ`HOn@Zk8P@{gkxt^LW?$*N41>}9okr4-gIgu)U^qEv8jAEbFpU8 zrt-|T(<&vF;w(?^!mrg{| zxoIYiEi`>gse!hercal*do)Df1Yh_2x)N(AO}-DfXoB{=8MChH7w-9dY5jGUx2788 zP0Zui#ol}AZoZD^c<)}Sae0*Q3t0cv*ZKnb>k*nKL0`ag``xt&t-Z=0@LGKRu5CQ0 z*Z{s=cXVwr!+MMGR?k-+F;hMRrHhUtc97O9c-ESP`~l;@A zf8HPPOxk-Of53ZzgYOUcC7xMh7`U%~sreXJ4nqELbg5Z)*>&d6w?4D4o9B+>mYA!# z>$|TjPi1_*^A$7r(>G&}M4m#PIV^v`cIIY+tAk6jSN^k^p)yyFSi5~FP<8|9rRN>U zH*i?Fz*}W!DO+?P&K?lOuN1HOG_aR`YS$DT*w?-3=$jhc^JcIK5_mZ#tHBWd$)061AvbCu14|EBC`%1DA%dX|xrH0#?BBcH8(dcKrYWr~8 zmgF;JDcAt^7Gy`ImED#)2lV{BpD(Mq$2t}3oPN6^R=sP;3-Wc#%_mAF>T{DS&lYS1^J+uE<_$GXeb1LAQ_(Y0sgt@ys zQDdofPmQ+Cu`)q@8G@Vqui(P ze=2wJQ*0Z^>b70^?Gv<)hW!SgrmL{8sLlV|?Mt#oC;87wx&HAQqqhTB`BN$8h-{_c z3o=aB`fka7DtIbhi{L3=Qo&QWFB_Na``;RT#m>WMQuyb`lXY!?A>kf2GI-2@d|muG z`SfMd!*tfiJ*6+=%PoKU2Kib+6Gp+$d>g|Latq9Tqn4QWZdqWy_L&9dsk^J|m6A_t zZat~o>(L$YiH2VI7jv{8`3eddTe@~jIhAHTn>B6dm|gQQnx`q9g@>#aUtYBP4#+DW z)to@LaEQH68N@Bi;{#X>b)vH%*VmvcMLXYGk^UmNs|I;Oz7QsM8nS#x#qJ$VfO}ku zdDoz4zPC8gx)JY%&#aM@rY6=ScTu;qJg+v!W9!S~JJ**dG_5axrTvw`aBdB@Ki9?x z4Qeu$CvVyPH%}M;W6%C+AnSh8*2!wWJbH+Zs*bN( zJ#@=%orNd*`Qkz9SnZ|l@zT!o>JZE|_x(C1gJZH$e5DQhecNpOwt5P2e7}>>N{yLx zH9Ky;uU(CN?JnuZFSE0i{cSb3KKi@x&h>@88}NbWxA`B}o6my_S971&x45y2cI?l{S2b;1r>)B$jqYYTZ!3pp^S_IG6XP1|sI=#a?Z1KLK*A@Pa zZ~w3T{k}~d;`kuc$odT_aOba=l_R(^mzR!96x$ceYy0@&@%cG zT)&Y`Qez`nLl5Eo*c6V?fA9c!$C*FEk%g2czQ~Xca7SkK&sCTUkJ5ehpM(&fiPvYLpy_vhi-QnKCy@h)#_g3!h+}pV)xF@)G zaPQzgh5HolQ@JOxbx-9v$$VpAt_gx)>eD;vOJvl_{C3}Gn|Y^w7`FYS zf0=xLf{iuqG$k$y#$M?BGM2fIlU~-|^u$g12pdlb*xzt#(cj8z~k|;YT-l z)9w)c91Z;A=$j#II3e`I`dCjn%Dxljt%1%3^C`XdpD6x>Y&*WZ9?s+cvYqqU>4$MX zgMCePTf1_Tp2N-qly{+fZZN!K)Ty7@t#t+Fc{Ki%>PBD1&QyyGhs28N;zqY-2eJOhU2cWe51SV8iiace}8We~yhe#opvp|4D*n+reNt zJiTD)&=%j_qFa#JNXdF=oh#J$V5z*3=wgUvE z5$T|)nCo*pyl82pl2F^)lv@W3FQy+1z4qE`uf6tKYp?yG`m}ycrtq)m z(`at~IPfj->*}lH$S1;Sg4nA`WP18ib8`E&CwJ)_4xeu;xQeGyLL$GA4?juicaWRe z6XVd3a5|bc=8w3yL-Zs2ZcuhkCw^(9kTwSrKjispn?8g`t+knZk+GQbct$rF3Dz&h zZ;JDzZJx3$bKNWOa(KIoBOiKr(LQ6;p?$`H+uujf|6hqK#glW_bF!%h!H=(%_9v+m z+6#yVV~$)eo&4S4OSsZrbKy&CFPLSg+Sk2qLY4|bcf!{q_Q;Bt2FR0#75@_Y;h>uRIq+{Q__- zUqt4rv=2G0fEd^MhfTFz1&VJS!)N{dH(8UU(vndMd`%r{%WU<%U`eXnEA2DY1Cm|q zXW-Ry<9Zo?8v1RC}NlSkC zOtHqns?-aks=MVticLo=o7(IB)x-xxx6f6o3w5>_!G9KPa>~u0m|#T|j!7k0sXh6}U& zEh-(j>xWdQKU3P8e&NFEbaZ=DyV}qfR>`#k&5C`8&j8+H;AOq;g;g@IVCn}fLxK6h z4}kgbpL<}QysExCewAok=Ucdb)2}Wf{xRcB{7CWtilgik*18scBVHuklYFHWuk|nW zyDgzyH+Gd`5C-5YD}Ti~Br(-9J+1Roo27Zh3{dDaLilchT1&Pq^!^7r)cLTW(Vy1`PS&(PxpbIO?pKOL*?yuLm8t zcDDj#5#dy}C-+~;$1z}2TR%n_`H{7(rPgNyp|#oSbr)EsYJIk#d~J4OGkW^k_1V*~ zaZTDd8ae13D;Nq|p-{+jb=}MvwZ(iNU%uHIAKGjow{>oh{J?rDr|*V0Hpc0z)n$UEvbrf zKf(&soNXm#^FT%%RTZ#CAg>OsN@lxlfH@zltt08r$=Hp*OPpHXNiRE2dok%t(XiI( zQRqthdrC<)zPs&w+xwReT#_@wT&@jqGvBxH{5aPWT&xc= zJ9zg3=`OC_TrY9G%)7m$DX!PJ_Hpg!-2twH+`r9rh|Bn}GY+OM(ju-fS20%!?}n2` zxk|apxGH!z9-dgq{TQyXJpX8bbIz^i;2-K9THFuqYJA&kHRw_?ZZ&4q#{IS~vxPOg z^GClIJ@}GB{vfpN3_uHO5-H%eX%C&KvXn}@Twr?8i z=(AsWShkNA=otME=|NKYZ@*0{UVMmDx+^nSdLjCURJ0N#Rs4b?(kN+|w3M`%w2ZWb zRC>nYq?M#m(lMl^q+?0TNXOC63ZHZiJvgie_G%C82X7TE9UX^J@ph!i%BiPZl{1HO=2FhQTsf+vg>Ov>&WnjRQGOHUA6cJp@-TTGCC?`EjC~`&OSF11 zX|M5@)01|<19o*an03o$nO4$o@mx>(X`ZV|zeBpb6CLW(S>`&@?~pEkgXbkYlV1M# zY!l~tiM;L_;)DE~XTSGmcg#)Kzxjugd;Gjy|K@ASr?s$TKCQ$4(Ua#`{#;k_kJq1T zy2^lVj^^JS=bOqF3@x8^{JEx*9?zf4wS767$UysC8K_0_6MQq~@Xc`izG20Q z`-ZX4dN8s~B!T=9_UNm}tlE$n^Di4R?`+$U4JO&&+X}C|6+P-Daz%d9x+|;zIV66;E~Szw(*UxL13$h8LYY zZnwvI@A#r=?sW8-I;U+YvR?n4NsG98_Ff|4rc(Igo66I7m8m@5av$=PYvUc#6r>_zMa@8;g43FNGhZi$D82a4L_tJy(1{x&2h`y58mP^ptCVSGnZzmOIWmi0?pO8u52Ik`3;#wY-M}p{2sc~c|kf0 zDB3+Pd+1JcqV$6i4;;vJ_&_@JVe9lfbjLm<)@jD*Kk=T`o;LQSJ-6&UPuYEG&n@Rx z%K2+)&#kZHA97_m^wuqZiuT<4X6N7*&$;2y;jZD(-f7U@>Cj#!w0A*{_C|YXuM*n3 z0NNYfhxXihe{ur#PRi9QId>ZMmQe30)ElAR4@>iIz5nE?_k(EOZT~1wzxAbgx7@WK zP_CEe-Es$b%I!<@Zn?L5%I!<@ZaMEwJCf$((EJnZ&wQx)jO=81>g0`^ts>-%%G^9N z&L~!EeCT-kd5YO%^P5jY%h#Q{A(M(Vw-1RrYf0h$*-JEMJ9*^8J&rtjUy{r7r02Wr z1JT^~fw}KL@_av2<0bbUTY$Y@{b$d2_CSO}vDP-7X`UkPc##QfU230)HRGK(yLLs0 zZ$#aSJ9G`t$C~r60M^J-B#vj^tSi{F?L1QS|e8HaHDnFTX8>uqaWPw-hR+Jt(v^mp1k+aAK;hyr6n5+IrApAmWb_3!#GpZQ z@?K9pX4_WFZOdgjpTsiC)q2xek1t_8zJ&GolFWl+-s+N1!MGvY@gwe8^G>1MDV}n7 z9tVap@|Jn>RtuN8wqAOawh9iNb?JlF?_`bX()yp_y@H{*b8Ysdch}nUyzsHRWJ6|m zum_jlI}R+H$h*mtcSH`B7VusQEZ#OQC+~7k-qpt`cMf^yc=GnA+}S&SmldApH6O4_ z;d5uf=K|=b3eZnY*i&y!+}2TT)7imZ9- z4p{%Z?sDs&)?H@3vF8WY&-Qrponq~>^9``}g?_+V-utb@de;7CEYti`>y0D6pJF}f zeh+=ia@$_EalW-_-CV1z`6es5?MAEO-Kdr9Jl7Jgn@--4X)5f&^_1h_BthPUC+~Cd zx4KrLBNR?dEc;nerh<+=JpHeS_AKR9pCH>__1YfEUL_5D3x zvexF{ZV8=cnQh;)R`dM*P=(b3zQU2Pz1LucoyTW=i}${rH}cMzyXS>INxRCs+nZeX zMJw4n*V?qLzg4mBb5;d?qP9LtoPbA(ci^rs2ls7jPDaQVUdY?z$@?wZDtt}}eaaH8 zU(Ea_`ERJ~)!2^5Ko1u|4=ZT@iby}JsJy>b8Df5oFu#_s%&PvelsVQ@<{!Rs>~UU9 z-eOPQ8>wIQivJAV=E%e<^C0{F59ar@X)k3Si$^Km!ER69t0~jvQP;lfjFo;nop#yy zBLAbF{LdZ--X`)kdGdZH2XB&bIDxW9fS)P&ft#KEtqXP{^X@@D*tQ;@n{%!6sIz~l zzg0wEA5E7W%=NqUyqX`khgY`mhM)RENp!nW^tK=4->7vixUK-#=Ye;vw@NE}bS1Md ze5#6=*ttp`;*~`iQpXC1>c`wi9&3vp+-cz@tKi_IS-QO9@mq(Vccf{;T zg|v^wbpG~K^5?$szV^4gznroweQPsQx2?@S`zPkm7;!4}ymM`KC(o6G@r?`(vZn4? zn+?|tw8zH|-iJfR8o2Fa)}Wmgmf3TzbtdqAD%WoI&xJ!E_k54-jI z?5U`Ig7GT2jORV;vprjRuYEOBfsOriod_q}5S`KY%Kl|Ke}5ag%-0*t(~D=BUvO>7 zpx0b9%Y5xWZv6}sdGq)HwlwA;0}S#f{1kK0pGR{~+ukD;Ts{+RALrkZsf1oGU_6a3 zU!T3Ks?wT*p8oRM(bh!j53q+|5_<`}<7+f|wT{z&<0D^T9moIttMy*2>dRI|-Fo)% z+-#i}dL?^q?JO%*GtpXBHQRc=cD(gm)dcI-^5112j?A$hiA=J-6PakW zM-JL+YVcGWtr=|<0!u;d1(w!`S}SUus5w3fO=?f_X6E=2&|nlA%qLHPJR_mY0`mRp znt;~rHVtZg%|YKc$D{AdHrnfY`+HycB1YbrC+`C+`TmZ0VgHxW7!_F0Y z8)q3q+QGM7ucEKxxs~)*p68H`=6NjXd!(sX8qD{<&R8Iw&+~NBkvx}?p3L*1y$xpP zEwjvS(mdYp`)z}H>}#{k6Qn2e{?H!2f0gf~_warpX${YD(uq8mk^b>3Rvq=HqXgv%$$n>*Y(HYRlV>A7|yF_5;}86ss7rL>^59wiIBT4GN3W>y{2I2P*F3hMcfPLi?8JfdwoU7i?d09= z$@^v67$C2|`F?CLEt#$VoADOD2Oi(g_7_w6Yxrl4=btu}Paf&Lobu(*dN0+r9kZ*736V`3)_jA{@I&(4rKIC^6t_oY<2Pd-C2GErr z054m?>jS@RFm*Sfqb9wE=W(PVp2MUr&VxCe*9+I!UWDg-aICW5^x`=e8$xz3*|5XO z9G$hIw`sv{2CgewlJwP#wkx4Ivu>+3eddPDm8>U3Z?gI2+K$hc?x&>#;nhr0(}sdO z{K9l5_B1<2S5W7&;M*67-pThXhN5GL6v0De7Yo8qBp?3ijkmhA9%oJ1sZ{=7%z2T| zavu$I1_|YrL6fE22kTYdHS9Cjdi5IiND-gfj=#5z@;^9+r^+l-jDGDebn-`<=xb*U zy(;wu`q};Fr6XH^?a9}Ex#;cQ*Mj)v589Z_hPh7S65cAg#&C`0s^*%^HI#4DN!iB{ zkqzGKvt9XOgLz_igSimf!i`^=Wk$~H?aQw|in==XnA1Pw@E!FrJ}N4y13HVvme}nP zEmdw%^XnP05KZ@gYM zSFTpY-=lxgdFy*1nn^8r6MY8dd$%((G{#X}_tLMm7F-VJ{VpYQL0dbSgB8Sdtb$ zVZGle8YLzdG+3K1RT(*byy*L0{*gUO|NZAJN7pBco^JN!n+iQS`(m$258cSVQOXpL zQX7!>B0P6a_T+z(a>sd|Kh6I`L+i5JH#%}J@l^KMIBw0IX%4Q{AIuHF48GBK`RthK z!uK`yJ}$+zq+R%D4cyZS9{qG!K`Afbn1<>%rCz<%REyz%iKwN2I;Tn&NAQPs{biA;4feUCcTj764KXiAYS>- z9=S|D=->QZ&Q}Eb&^+%?GT!a}bo7}wL*F-h)&nnoP4k7rlltN&PTsgD?`7adbX*3` z+fH%fxymPP5piCbpQ+C&M}07ye}{Yi-FlpQ-i8j|_Rzrvs)w=!|IKf)7cthm?A_$w z?aAMIoU%8OcatY?#8dX?RW`iC3wIOwn>_h%KTg>R@+Lfa^E_o&Q+5%!3Zn}WKNn8M zl7Flx{{odw9({Lk-y^#flegHDcmHKQIQbZ5%g?6_9YH01A^BK)7S7a~J&G>9lIP}? ztkdOlw=(7PjV zzR+Mc&S70bdOy!e(y2U8Cw1jZo4%nD`L)O=5_~FtdU=sqL`>Z#p2goeQ;;-3s{g=2hk%ZuVM_8c^|>zp(8P0)^}ea_s#nFe9bG_Ymhr6(jiQBKBz>#DXl zfXk^X)?OUe+1p{ezXZEieq?G2*=s)fUcONWE_-s{U~EMH%DTGpIo7bO*FS&fY_t2> zhVDIvL!MwpqO4!phw$8PcMk*ezSbk` z-3Y`L2mG40a`M}_PVhglnDA0)0^c%H!K-sXg4`Do%g637&lxWH$ZUV0y>2}450a6K zSgUE>t^EmtL30mt8L}SxZs_a6sIx!pG2mTpmZwaM|>Sd3> zUmf#*%A4pX8BgwhgL(HK8T0>?FgOF3vhjIi{%-7nyIOloJ3E`Ue=Nrt! z5ax>K*iUfseDlC(e|C5*_b;a!%s5izas9s)JADMWqW^lG7sWnW``Pscb=aust`X?!GG z+eQF~{PQJmHz5Z^>GPr_XXenSd;aid*Uu`7?0pEFgKEc-*mds2^t=JgK9f)!IcHCY{@0lnqIKflXWsmU>5^X4 zg{QO+Jfp~eC-5l7xnLTVgJ}#f$wy1&jY{muOgjNs-l8tS;f^^Mj%;#SyI}bR-w$fc z#U%gqj5!xK@)?*9ELvBTxU-*8@2h{&L>i5Xuk$3udyfTs_P~*_|M&!8 zzaj_w&A{GyA91F0@CShZg|~a)@3mhg0gjO=eZZqJ_&on=@6P~m@bb;9+a<>)#S^B> z=RNdM#8EGftGugnvHN@Cp-UE$?5O!$eIefy$&QXLVhQiG#-47Up(UAG^B*wT`ziIG z{I1>ql#jVFvJif>(6cUTpiT9>tM|P71AeuxEFc(W@O_5o`yAmRr-ShWgKR&ln>i$+ z^Uub3^1e!02K}(&Y6+Gz?o(U`$3O1zyLIpAa_qM9ukrj_bDVni!pHV{)+aku4`uxu z<@ZBRGz*<*#fgLuRZXu>*tbp?Ri!vsGKQp?g0MJblkqtZ9(( zI^`dr7<>0Yd(u;fLlNtu&{E>=onrZY(e}G|Z`M7=ySuZpJG?#Mxwd}NQ`d&^MQm+b ztnbi}?!U_Y#pJWUqf2-5d|i1GPM$AuuX@x^!3cYv$|~b_(sgn0-MX=XquJ(wZ^YCi#xd&y=rZZxc2@yMG+oKwlP8oC)Fo zZg7vTxbp$Vo_LO{f5?9Mt*#c{>5NDB-Iu_v``>c@6O8niE$=zBc=Y(-l{sC5cn0&f z(K>9#;afj*&$ZZ)o?zWIgLN0_Y@R2Rp2YKT()UPH|BlV-8f;di%Sh*KYcN+_J

zb>-!O=o`vh{V%%sZ_wvv=Z~$%jT^F!+wh%kVH`tunq$OA#a9dJn^M<7C#)0G<7mSv zk$bYIR^5{=3Eh(&-+7@GDZeKh+cVl47&^}y5E@{;kn?>R0&N`4FTij2n~!zw?exvL z!~{9d3hfzTol3c(&Zrfk+{Gque*Y@%s zS)Yw;{<&gdDi)-!&sJ^zx%7E?RU_F8Hquf*YP_MNjfgjEeU%?2_AE4@KK~T59K4}Z z-!y0Go9M&v?VtHp!W!Tf_L%=W{6Ks|ajwMk^2z)0d)b@Ee-DzDGZqYE$H&+)+KX02 zS_cd@q>ZC!YbkN`zG_w1USt(U>a7X1^O;b+bqUWSpw&xxjy8_8qLGmvEi2(^TGss&mJ`9(nip08-NCgA7=A(wb9>#kKZsShLFyOim?{fo_j|( z@z=%h7tXH$ccL}Z4DR4Lk}3Tg(OqwY|M30Qdl*Cbaa>yayKJbu3Og}vtn#{~Rk;6J&2;)Q(@6s%gOg;AX48;-Z$9S*@W4%T#^U zngq@ssV&8KV3rkwH%u&F0KXV*J%WFM_`@VrD9IBX!1lq|t9ZNWXn2 zvVi@OzXs3jIjq9ZpcWp}cu%&VuF^U)6hpsL4bQnRdnU0Kcho#?-3C1_DIaN#tzDa4 z3SIi^@L{hiBrfBI?1=J0E6Tn_U!;_O))Vg${#AY^G;^lqtCg>Np5?3ab5D#2{1W_i z&}Yrc?1gJNBZ~eFy8TO^y0J}NS*hq~eVc&Jh3ER#wmrqUzGbeCCDpedjoxX$`LE1v zzR)^_KS<~ z+qoFu7v`uvvw_7=U+KHv*HV^geylt1b>$l_=lj&ZBj3~TG4fm!@xv@Y8dw@2jr3Q`bY>haw-dG$(1!)R?-wmbt!M^KTwLNBynw(08b&%<5O3XB9zX zMSFPPc#0LOt01nh;(xNow)|7@s*hWjh4SD<7g&?|SNclLoq3{3c;>D({ktYZk42(K z&0`0m>E3=E{kG@yi_eHo@!{b4C$Sqt&whrB?F6PMbKTs_RQA?Hkycsgm4E&g!pT}fY4%XQ)8TDR0`_jGiiEJ80KKlFDeXN!JBUX1zu4D~le*gMJ=1TkQPGZ*kN8FY& zHN<1`aXtcgF~~nL=H@(jr$2HgGKr6R!j@vqIdR&OlbX^C%$%+Trh?Sfoyng>zB@ss zG4|0C?^1Ms-?RO?*0A1@ABhh-znyr` zi`#Y9&e~@9MAFe``iG+@Sk&C{ZOZf&#oF~OI#E5M5AkBd`sME9eD{S4vv=ga>tA~h zcjRR73N10eoAPDYbbLqkkBu=N#PcNwt4`JL<6nb3ZJ2XJSH4IgGU&4GSB?uqe)dbp z`EHn-uFrip%s0NsFyd?Mz)ZQC;{`Wu&$D6A=RH2N)E~y@>p|(hKR+n_ek_$f{P~ILz|2U;b(FjP4D@=# zld1f$;t|GDX7IX>z~E4aFSe%L%xvyZoU1JKiyVQyxfReyWR#2)J~)l1n=%9x*94DVgikxX#jC;m-= z1iVwa_VM?11fcC8x_y7__6{y$`YvuSnz^MTkSNRqVrw#aybo92)}8?-t<~gL<=Taf zNq%xuJ27Z}NPL=KE--7jZ|PiMo=7b)t-BX=$4=4Os)BX6t*hdUUX91t;luqWX%4Gl zyupKf#Q8SNufaC*g;-nB-lxi+w6<3M*f4nuKyxPhmR!3=_)-#pXcaUvUHKVObbr;)oNQ@77!$fTL zk|&~8B61OFjC};?6yTxYcGAJ$asF-xy82)A<`ddCESyS*;>Bs#`-l546HXfs_rj^a z3f$t89E4w(@(V5Th^InNTF=&jTXYfOs*|j*z}FNn(=^=OA^d(N{(JD)@w#u(-5pQY zJZbG-y&;oNTsZkk)|o@_ptNbH-zuXBV1R#nDy7Z2)yL4BY$H{_PM%TtcY!Q zW(O+YI%MjNTzguw{++~aXD#WgTbqqFUtpaD&po^DE7mC15NB82!usNR)+E@sYk!#? z$(-;YI2SBS%Wts0r9Ru%lD*mNd%gcQ)*Y06JL^vWx|Zyjb<7{Y@JQ_q)`Q!S3;Cy! zb}G+^+R2u$ll3j{{O`78wa&St?gnJV(bj`?6Vb&WXGU&8e>9iTTYvx$w8~C}`Vrxrw5EAt$K&VAHx>#2H=+exjj zE-<&ej*aL0T+Aybnj+4m?8Ld4|D?rHCw9NPUbgkmE#!svObb4Al0is=T#9=Z#)c;w za-LbePv@KK3=sCPq6V`NFYwd)*(G&K~^5(b01$F5OkHVE>M-*=H(K z^vBfHVAVhRw$y~Du^myTK@SnGPqyExG0wWsK8vLMAXRU=a z&l&VmDuZ~Pk&=4iQjX?~zcqx6pI_vJkq`yOo-)y!mvI_YYRDXNE6X)P`babab4Zc*K&Sv7+ zBjog{sqyeU#Udsq*EY@XK{Jr|((yYn2V6T#5%$OI3&vhwhI)-*M$mTT{fOi@`4z+| zuQiPhGBlnT;aY>E{Bcl656B`^r~m#}mWaK8FXL)dcuZ9)3O28x&Tt&PPuv-6eVh zTW2{D{edYDz?X(tlI>}U-4?qYCZ19}HMJ|o*t7YC=bQ?=4ahLz?JF2t(>!gMmS#^7 zI!|~>_%{4A$AgN+!zh2S#vJe98Kj(*;?yY~v=}>y(%YPO;8QVmeWN#Z1c-+j2(QSz z`9AT{D&b2bZ|nHIdp`tOA3nr<+wGGep6E*gFMXj{I3_wR^>hR8>J4bTCVf7z5d*8e zP<;bVucJ@3hQl_rk2P^yx!Nqe({Cm^AvN;p+fw55DD3-2b1sBa)lIo!&)_L$U)%|zWS?FJqO5|ek>UP;o5N;KZB-uWm zI`fU@fu_uTpG98+Jc684szz@9i+PT=)c=qv} z)H)5^X{{zXw!kF!1(~CCj%+Z2p9_3jI$HUUd^CDm{AR-FUF&qdH}O63yP6ZLH&eL0 z^N30EjW)+y@6Aj}2&b#Se=Tq%p||B3oxwLpw%Qi(5o0Ze93|Yz?joEpPSe5q)tR@R zr_Ioc{2ty0uYuJ|JA5(DzQONGJ}`0mN8@2SzDBZ5Fh^De_;-r-42)QuQd#Ykq46r7 zGM&1`KYlkE8(Lg&eKhA3Yu<8g*7cvM@AebFgOVu054FsO>)RSCnAxjzLq<7%`B+jWbR(FKUh~;`%9V8%WGg#pJ)9JhD?4vG%Pm zE=bSh{1=@e@Wr78=`RnP#GZ;|CSJmsFGDZ2<(dJC70Q3Y?Euc9$A_T(mQjAkkAc3( zx5uY*E~abS77RP7v)a4_?&9e(c;lqpJ-jAzYV(@x@O5jlYhRb+Sa6Z#QyQAZatFp3~_i1bRwI& zU${qKBj3D%;KFByz=v!(EaHnk4XzipOP4DC7+~xP4#oDOy`A}HHRqs8x8s~SH6Ve$ z65Po)9*DNK{R)`uGYx1@f4l6k?Q7~Y+wrjx3|9(o*oc?5`zaS1Z&TSWY+=@&(kuP{ z47=vGH|O^6boEq0;UApo94xb)Gp=X%?}_D~i_hrhDN5b%KWD zbNVAMgKJ<=TI_-4)LX@4`38S;;gej<{;_?EOO5Z%8{${$-=N1QP%?9|bbQdE;zYUe zP}P@S|3~;ysQ+$gN9FU6XhnVs-S2YkJ<&Q#K7u;uukL-Ou-k56w|UqX_%8aBtl-XV zYcyUMC-){4)704;Azuse2Jv!loBiSgp0;WapyFW3A94-;nBv8fxgKE5YL3Zgj&5a6 zT=1OfT9Nzi%wavg9*mvi`g#Dn{oU)+aWiGz!rUl$B^x?xF9&9XCC2%&#v*dRcPz5+ zt2oyNor9`!-8L-rv>{0w#?yv5e4qQ@P_N2$>z(JR7rCK*6!lh;;>g=ok<0f{;Lx7? znb)p^*SYh)d>u>aUwh7CY>4LVJvH>BU@*X<7=!X#6ManPyY~A<`G$U1|G{5d)AD80 zyyTy@y2C!}1-gKiBIi(-dfM%{W!z6eS}-s^H9IE zy(CWA%%S;%@9UN^3gN}JjM2I}v&Sx{Hm$gXk}>kf-`=5hWDxq0j8TkTrG)jMsqptbUqU6>PuKx`n8s4 zz1a`lTM&JssXZGVne>XY(XZ{sJ}$jssWqUHb0N_m4s2$PijFl_Rc%c`Z?*(KlO^bH zm(-55=8}IY@e_*pe<^ynFY@ow+5&tWF170T|2v^c)+o-wxVmb0_Cd;QEuUqLs+nyq zts6l(U$7pkGuHIb?(9{Rlc+&ISC?;H5!sy`S^EX+=0?t-#I8M!?+>HPn_XLtu6V0e zQ1@{w&bL{>vzLPOa_HO*Vp0aOto6f)&_^4utj=Y+Ie3PuTz0-dJk& z-&tyX7v1c1@N-q&i`gLGSFIai4SaW$b@|Q$>wC2mt*dDJfU4`Q=H`HPbItDT+31aD zy<2E~0leJa?6cyu?X1SLtw(BZwyprqhp-D=1}#jhU7h`Tqp@xd(PnTvjel=IzdVS3 zkMnH>`SWW&PTyZ_Er;H(AfKt*il5E`d~?2RJwrcM*Wfo*yA;|OX{D+zK(C8mgiRx7 zcGE~WXIpfAUo;*SpVqYv{M~_D|F`CO$s4iUd)c^MU)NynUEp=cF7ED+C|z~r{)m&| z<(jv|1HAhq=IrRbKjLK8ds?Tv`y)=$Ka_t`Zhyo{_!fV=fB&vE*i^#b$wzciSGq{`#Uh5ZJ!rhjt>^K-1VEnC#T>j`uLlCvJSZFi3TBR{TvQcal{ z^FO+g4EDJ8Fllju*v6z$u2SwR>e++EHSd>s%!jS%)&}$;TqbPNkNS3GzBQ;dy@|NM zIvZg#=@#MyKf(9yTsydSaqZ@MiEA&{ey&4YMGL5hE6P>MwYk2j4Xs=H05NgSTd*Tj z>38PbF+Px@|??cs$|In{*zEb5KNEe8?mA zc@4B@IL}e8QtmltB2&rb;^P9htc3U1@&=7xk|Y<$31Pm;>fn{J+IyrxAcz9>x;8qp^aasjinkN31k@H*O+q8pm6j% zyh9$-+-e%wza7VJ(6Xdm`{MlO+O)5A8TuR1x2e)T0ec@LW8vOspqF}dOD35r0w<#V zFll~N``mN}2WKckllf*DV~F>O=Q|!2U9qozIM2wDlJnX`Po=HkGyzVzUVSk~H{k1G zu3oqVH{EpeAh_iFcCH;XxU$;Y=W=Go zss{7;9XRiJy$jOzIvH2e2ZzD6x7O8*6gxA~u%;z6p;hY*IzHt`-evu>PW{pL+MBklUJ#`Z!jhN9<0o^wE$f~;R_DvE$sj*< zx<0i3rTpa6`+R(cSR11|**%PMPvRZ0B*XOCF!{72Z`nHaB4W}Nd1BJt`qV+E%`Na# zPrI*E8)9n1!JanMs}0qu!UQrgd)&3Z*=+;*BfAZofoV8C!vWe5wPUR~ZIBM@(8u5E z^1}Z}F0bthJ5aZGArgFN>%D1G|uP1hLpVEg*H|8m?-({iLKAG&TRVGt;9r6 zI%QA?BCY9k;GrMk`PEK)GLuPtW-@c&0qV2QJc|Tl@CNka(4N+KRqk1*%zx=MPs0xq z;uF}dD6!ZviB%`GMr5p$255)MR$p95KcX{Bsm?(Ca~&~oTkY78+TyfBw7-4k zn#>NLX!>fc|I5Rax7`O{pnn|QzoYAqCHa^CZ5ZnX<28z{P*p^J=}ZOVje;@G-c4X+ z@zD8%Q*LTI`%Z0p75k27#@^~uohMR0gx0J4D?R1YKb=L>@i}1L^l^r>VloH^0aD>W z_KAFO@Mc;#SdxczNYnA#)PECz+1~RPOSbm|p5oZb%zKQH8MDQ!r?-jLMaNUH^OfD^@GZrj5)Hb1 z>u%O!z8JLP9rJPeqP{w%b^a!wcg$bIoMF}p7yk>>#$8F<#d~@5l zif?WkRp(RGsk&4r_8;Fe>bg2t*AK`m|JT0we1`H|d_GE^*RXrJb)`IYJ?N<`4nFV6 z;q!jpuVSzJDr{~KP+wK9zUzs(^Jw%)oPN*Kw(H2Vocdgx?(o!i72kwY_)xoxR|CCk zpW!mvIi3G(+$M9lg+ES4rVd>-+jLH!ZOT8vdCR1CaCMHJWqyC{Y;$NugZUEAmve>m z{>s^A>c?l9LcT2+LrevpTe$AHfS7U34d#X08_Wu>&s;sb+b32$se<*4FXqsh>}?f8 z{tH;9$se`EJvT5mvjvuO_0W7<_c7g`1H?l#Kj_R>>>lWR@3zkj(HN4BdPDy2IvR!; z#=Eosy#hH;dR~3MCL{Wtp3Wj?cqNn;vIVdH9SqEB5rF6)ee zOWN^6>D0bQ?SBkLHLt-lDC;3~S$oNQ-BDne?|~uK2Znm;s5}Y`b8|4<$aj_N!f-k; zh(2XsxfWRb$^D|$2?P!PK>nd0Hl8ke#e^p=KfA{jQ@bW?b z3SWKy-LE*R@C?OK>f2YM5xrAi1^CYXZ<~*+FU|rF2krHavwjXkH+p}14o@Tau5xWW ziDu}p0eqJ~t8nGo8x^BWZ4Kt=%e6O(#+6_2>K`wzM59IiwHf)5_l23*VBIh;&g zqMW<6_a+lK*O-6izT%ae%%kPTTz)!yanDWNx(L|}wQik)J=&j;|B1sBDZ-BZu^Jds z^38}M7l1eMj?{TQ=je!c>Ye1`TW0%+)&G)>0~jamM%JK@oH+VRY&l~o<$2G}S;DjI zUPn7SXA$32w(5QAeCO<(TS-sk?3|KhL$^P%_>K20#&2A&_)yLqE8n5N)meZgEeE?Q?HF>3YkxcWu1Z&uvbOGJ3;18G z-}=rm-aX`3<-U9Eig9A(Pe$H8wb{{oJ@hXOLg;jfwW>{3Qo}V_A2O<(U{o>B^S=nTqXNmy*UWYhS@xUUzWzX(hfb z8dsa%IY^n#+Vprlp7qiZe7eH)CkCMN@9}u%IM&lg8BcxuWpI-~5N;$5To>E+C)kmLJdcLkrV$Pn(by4&=*o)3Ac{oYSh&2_-XE zo?4Lp;^~(#rzJD;a@98GjdWmIONaObbFxj-IzLae)m=uhBMXDyh}I|?CsTk=I20WJa3HTsW&2`H z?QZ$webd`Gt9Bdpb{4Z9Q~yYQt>B-@{Ht}e{&mZlM;Z8ycg{sls)*7zjF$v*RARIv z(`pR;2KkG*xN}PEGFzuA8W>Q3u9klSQQ-kSDgO-j{47%+2eP|AuN&RXWH`z8}y=+gGb?tldwo=~Au9(ASND zUZoGJj&ZICsmc-ky?+sV^H?Je1_!0IQ{^6?M;z&krSis{(7#9W7YD8rsTbXoa78;^ zA27A2pK);GqrI+PLNQ-U!M97}?)yJoHrw3$%?1yMD$PH7C%NZekp*3u3jG@KF<86uKYe8XCwe+up41Quz zv%lMkHF7`yDWBw|F~n>hb0KyV_<_$bS4AB?lWYi@6XZXYPua!x{Jo*$n||h8Y$ZYa zd790C`41Kn$2Ot)ZJNFIlpaAkILWJ;N0xz?y`D9?WB|RtwaeK{wAjWeGHduL){aZt z#f$Obve$8Yee$zDK5spJ;PNAQ++N>u^dcYpufOQXe-H8R{uB83jHA@MpMMRwboWOE z&Hcy(lE095SW|obf#t`8&N$-u1G6t6e0#h6fuT{`7dXItTwq$>kZ*zHF!hJ+Gs?X5 zwKJC6GODi-pMt+|4pBb~Ry&Pi149q*$f`rqy!ZMSJsba(!c^XK~>8r|v(pbG<+ znMswuiBdSdNZee8+S; zV}C=(%kTy9gbQZA)wSE^2OBze<=*|^BE>phi|w){)42pWtyMC?j9kpCd%?Y8!7tC` zQKt6UXnm= z0o`7^g1rNmMlQB$cCs&z`b}e)eRM6E1U#%Tw8+|-+XJWlS~a=-T9etY729d7pYC+Z znQBap4<2Fbts=wia{m48ye=2czAz4sypkPK{z`Tx{$#@%*Jo$pb9GYPdiLbMlFi4T zthkD_<_0TKL#(LgJ=rC-qpZNY>#}7VZ?H;gU&&6y4=b`~eYULbZ0nRpo;wSzf^~bc zkFr;G95&g-H507Gb>pqYwZ?jem_e)ReAX)bu2yZFV40fBt?@etSjoCet*7`eSxc;( zntbaY!O=ewH|?B_m$OHAoOM?Dr>y~XoP`t_V-+>7%nsc6Gxk&b3R;P$HP`xyWAuJL zya(Sa$+DHyJC;lJ`-qVg#4pQK8B6_<8Rn}q2;f=GaF?7p0M#Et6zwCbnLGVai-qU z;we0}*V(tJGa&uMIP#TqarU2SE@NLQ@$oj6TLxdj;LcIR@)^ng>T~F~koDO;dDi4k zKj)@Z*s<0Iat`0o%Kyh)`F5G`J;?~NB@8DWNPM(lvtss~i+|(FY!Q2ALK|0R$MVhY zOVSE1_3t=RU)4F5zoy)dQDJJ!?7cOL_oG-pv8oWUw}RG$+J3|(a?Z}unORZB^8ofB z`v*sD-t8YTvfY2dsP^@|7yl_3USRLxR7^6jt!T1`-)hWDUvQznKYk9_;}h80Y<~68 z#2pil3C5iD{F6=aEa*{Z-Pm>>QmtJz?~7My-d1cJ;-+U5v%HwJgtUZoIO%ZGC@JT9 z*=w*;(lVaQNGnJyNGnOP-Dbv+%6CV)gt4URmvQhp;aa#^ae6_QtN%upu;s{ehdgbM zJ?5Ta><=HzJ`CUbck-}biGRnnFT*DubT981Pxe3V`*Vl9n7NbpA74~gc_ReiE!rO$?5f6)~C^V+q((OFx9>-&G_v*X%IH#Fhg*7P$!m#nY(&Cv-8hM9Yu zccQH+E!xvBT6D@5{=^?$*~R5eURbprE{;2P*gL6D^$Lb$v^D*`Tz&ek_ZxqU-j;8= zr;pMm(V8Cb)=#}t63L89e>NU~Q!rM`hGI;6s~M5fKA;NZ6yb!; zztBc~<>+7AqeGf9CYiMN0T0)=Xgu|FocwV^7W=G}Q1hUs_I!MSgyYhGbM&3c8}-xo z%yq)M4;`ssD2%qYl|$3|URb{r8@02Crj)$W*{ZDbDMP-8`M#wo+i%q`7?#=P$z~Vj zS^JV*T8`&<>F^2QPwluD*&)*C(lR`IXsZ{`d6T>*5XIsNN>r3p?cwhUS>;o$A!96{E%C+AeIJ<{Wi604ud&oyWw5d+P-{Hw~EPiws|9JV) zohpMi9gQE|!8esH7=B*n@S_!^$KyvDWAZJYGN;FuCs{-54bh_JCLd*C6i8E|n)9!`dwL5^!l=(SFIV!XwTCzfbU8K8M=lXxri(n`k

}n{d*AGRi%qAyU(fXilH8~N`r43~^H^`U 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


SdioLMbo`YT} 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 )tU8Q3}wsVi&gKe4voLyCdzeX-D-z-MQMK_Ss zJ6Ur+LG}g>JR?tFZ{ARr?pf)wN2sR`rH6@yW9w+kmzg^wGp@m-(h-PewsLO$!31MQ zTQv5j9ogg4jt+af+G+ZMK9qLehKxL0))=at3HtW~`g-vD*}VVfL%hG3_uuAyzqP#_ zN-(yG+smyP#*ML)zX^BT-1F1Y*^3X=xQTXf$4&RhYux(1aoc9b%}pTP zW@WII!bhNBPV*;RuK9iZkFXJrao!{4zL#CZuXv~VR2knz@BgIz9JCsH)4~SmsbuMo zX}89MJf-hU*$zDysfH3xIfTq#{o$T8`oQ_In(?tXVt4}=S3_bIwfxM2dJ9-PofSi`zie?p1c_Cs?+Yr6iP4xHM?*Df z!J0I!&p=HY`&LkA%EH?REBK2p*9{C-MB=boi~8(%h?Ac2lZiFGQ)#m`+L-PMA*)Fu$}$ShwZ;S z1PlwdKX!=sg6)s+{{IWu)*dO?9{Byiu>FYPRRrH>9wmHhzZQI-C0`Ip7rtM9Z9iC=!fs-h*GOS{T35g>i5%@{Tu#@$_J^p8AE4&k&5KM7xf|_#)PsSxeOOhrsyh ze;|yX_y@rFRkt4*f6qG#7;iZQjL)dW--2=GVm}R;J6<#-c;Ep1z1`qx(JDR-`6mXJ z4}32e7tO^{s{`^2#?Rrs_!S?2He_!v3x_tuUynz{pN9o!X&26}GH`ZanFf#Ma_oIq z7WU)PyEXq#*|7&-Fgz#tv)RL!@--s-sq;Aw_!GIT!JqI%`(eut`>=Jze*F13bsN|+ zWxKY|KAzJ)z6G9JvCqpJ9u3*1Wa8on>!Wu-&)tE}UA7M1Ss!S+19=hb}ZXHJhuO2CqHMN@n@~ILNz>LXKdwU%K+HJ*Lee!z-wM z^rJQYps(gU`SK-O%FD4!*Io~Q3x9TOXHkv45##jk)t%L*c&1p7ez~DN3vG=p*1~Kh zfGw82dP6nRD;taRs!hwVtJ+>)4edZ*Vck4jx2yxZwrp9pSB*OcjjX%@nleI|Jy4I{ z$Er@)jjR>=aw4(LDorMzF9(rq*XVBJE?kQK@Z}+rJuLq9*r?`)y>TgZm$GbH+B-Z$>s`Ad2oYYh~D~v+bdz@cTetc<@CO3?2lw7y$tI%Muiaj`Shh@ztz-l4T9{wDIPR^5 zc+L(&2br}HkFXZLJ0Emo>qEXzuJYE0E2F@Mz3lSh zf0zv8J;*`di+;gbHW``oE#*tQW>qJ&-&(PvYtSd$S_xpE?a$#;j61rl_s-dEzjw~| z^WQ7pu@@ZxNanfsU>n`@++CH>h|Ww}BMEe)f#~(s$iNRP3G^gQl)09?PkQjMciHrC#b=*B9x73Pj*(f2{x5$d|Na&>PfHoZHm6Mic>Tw^sd!Wt$_+{+qf z9cLmNtMMY;+p~ z$d7h37&~F<`_x8%zmjZK_q3U|Ox|38Cn?_aF6>gU0sSrVQ)njR{{z^C7iIl2z8Xi- zO!F=Ll*ZVT2axeHuEx*iZuSnsgdM=!cHoV867gj63|l*ghw)`Q?8$J4@n@_3;|I{X z2k!^F-ua;e&f;oM_`hY$wI?|P6RX<4oE_*E*`J*4ldB3{!uUVO_!Cbewi$nGH}gaY?qF?iXFU_w5eo;@ll}?j;eb6(=byZDh(Xp- z09d!P%yUX}eYpqcNA@q>pSbmn;ha3juIs+a)wQKV>^I+nE*4ySZF@twM$QggiysqQ z3tx!OY>44!0{zch|7~o2 z$&L`37F+pH44J$$J0DKX$zQYvIgP!5GuGC2(S*Wvl5+_UTCrT|rmNvcDGQu3qWe0m z7~hdL$NT2C0pUF9E@Usaby)r(bO*Z~yC5$dQb!-MW`n0!{;^o@bKgAs zn}uL(h;bM%!#YeEZ$3g97G>BqW!Q%)qvZ%?*pv}))Q)+&x7QBD=nFbi(-(B9eqZWq z%YfEX{xK)_xkpcXv=G3Lx8b#{PhC(;1Ir%iYQ|M_ABg7)&oHhpP5+UxpA=lYH2n$b z0Dv*kQS+r+iW(V4;(qh|DtBc*JAEtX&9nQ&AIcBq=NWI)KI;-A--4Dd4Gl2vq$iMh z$sS*FFY%Yi;!Ga#l$v|iL#f-Ez_{zI3HMF$U-mj3S@IHQ#If5aJ{`DeG}_j%YpP*vIiD4!t?@?A>>vU%P9cjr_VhM;YWx5DUJ0s9XH~mp1Co@PT|c&vn_o z`x0sVuf;DZ=9b*GzudaiUHi1||9SpzMtexpf7NMI=R2Vj+A{dPU<}j-$&Kc7jysXM z#Q3gKUT3TBm*k9kdrMVoSM=G?_J^ugaB#RKP5YIn>yN5$!&W!poXnWIGVV_6gEwjy_(!dzjG3w{YXw@$<7 z%n2c9{WQ@^zAnhno1`~lLp8Mhk?Qf_O+&I5rq2xt@$&Oa;txVK@Ts%^g3CXL&XD}| zCGUKS?5unq?4Ht2GtHa4*)bYH54&e+ZX6ItLt0WXwf4}n)YdY<3qaSmx)b<{k+ z$J?+TM9-p|ZV6cProfj*jJ>Oa9T?|QWbgW?P`$DlG`=e`HCOjH|Z)u6IF9xH~`q2Af=zXK7>wTyih-|6Y3%67r zTP8djuYMDJ8o~yz4n9ZrQ+D*csyPGD#lFw8&H>2oej@QC;>pMaq?3{EO=opv!`n>E zoid!~AvR~1)n8Yi?b9Die>pZfo%ZX@xb4g{>FA!K{lJ*)wB?7W-u-4kYwG%Vu5^Mu zRsJHQS-z3atSPj|pg*b~tmj+Z&1CJp#N=Qy4=u_nz1<}Ay-KYkK< zZ2tT0;=Oye&y&eX-s-L$)=dl>S71$iW+(nAq${?f4;o!?OYAoE$&6zPJ*$n45PDT7 zjV`$z`{N@xgNwZSYvt9xHHCU8=3;I?3 zHfDxp!z3R-loi3x5BETc=DFp0?HTBgSj(KpK>sG4l1x8bV^8{x=phHubXx3LG-`VK@kR*;KCYW?a%OB!BHHVa|e z;pz=tzx&*$3J$U&zPwjFo$p`YyhE-v1sd4Lw?;OfWgpB4R)7uKY~Tg^R?%hw#zeNR z`mgZ`c>hEE5At8K38hKzpTl3?|G?MrgRk@dFM}_^p$~VWd5bxe8n@^H>cSD zlCE6o_v_)mVy?_ebl-bOSDHmR`2IRTUiCZjUQL<84f3n|TYbwKJ(RraSEOm}3ZJ~= z2k!q@DBGMLfevlr{D|5KO?ANi9=`r~-B%Y`*PXcBdU4u;GB{gpW4yF~>zvlQDIaFc zpliWd;`?lTAUX8eVt=+j%s!e@Ug#3`0MRCOY2i1s{}(z{H?lS>wxJv%4iPsHHxM@w zHxWC;4skPaGjR)X3$gm#N*p7O5zio=LEJ{%Mm&>vCUKlNPTWDD#05>7u&}n$qiztqi`;a&L)zP^PIt!2Ppx|=0{&{fejtPL_W#VZRis}hSkavb z*J{m;`|+O$tkkYc`SGu}Yy9~0-F19l>-&8&_@v$<4|N@UZ>%rl6AsiqUyC35r}Q5d zKm0rAYNd}e_#vAsrK~O3M_++$tQBblPl)FYJGsId>;eP_S=N+v+oFd~C$9}&`G2W< zA2_S4I{*KCX6~K2Tt>O*P_rZH2OE!Je; z$iziK@egq=E4OHucG)r)ZF2EXtraPimDZhmxq&mns>i z$Ak0u-1&UYpZ9s6_j$kH=Y8Jiee_*x<}|>!H1N2Y6Ul#$=PK zS!L&4=))Z9EdKe~+p3Q(8B($QuD~Aol~XG^gKBcSsC$;>eYX?8+ex*R%_y&OM@=nf zK7YLXQ#r+mg$A>4FEL+z-7UW11@Ub56uQQh6dU%zJr3WLPx>P3obGTxE3SDCPj}G! z6d%@cR_zsk9ZjBwv~)0^*QT(!vu|qerK_zbdPc$n8sO{5l8VW5@2ha@$xlvp0P1tN zGbAtnT`w!3ccP3G1={_~&@}Jt@CO?;4)qeFaZPgdhRGP|nm025QTx&M z2om2c_#Aw1YN5+t62s1bZwGi8*SlkkMGU>YcGS(KY4kB4TlGSSo6tAnf=%4pBprmj zP23YNJt4enT`?1y{-aOFcrvhEg#InU*ILS_I0tAr2b@}1!`@7>BK=;mXLaTxKkj_a zaD8ik2KhXVB%7A(Sgd!EXC0hF#a=cczdy@!E@?JN>*MQrE+yqii%G0spdI<$`RA)! zc*?dX+o1eNM!Wvnc`Uzc9O4Y}%tN0yQkQ%PCi2u8+nkr)UyC2XWNfsPnu!5>9{UJ$ zupyw|AH#b5lC7`w*dZtizeFi^wZ&USN@LR-gHBI*zlW#uxW@Lcd z^Wo2uSLGfg|90|UM7|S`MQ)PkM)G{;UCfINw029Z=lD;?xL^0qYEx#VofGhrqX2Tn=?c&8uHNFFvC=j19&`S0k_V!sE2|3F4yYywb*C%$#hoE2BFVDeEyt z8t1cab$YyfNBQ+@q2&xIN1W#jwoOt4DMf0`5kHXUNRmrxA&t)Et7CblN#jYaq=`Ao z0mJT2^+|gL#jcxxU3g?!pruT=EMK($mF*WfRojEv)%uC)Rtt(^($zcI`JC z>Q&n{tF_+i*!Pyc2qo46=MT%@}5jUDtlKmivK=m6m|k z=F_&t6>aMNZo?W{cuC~BQ!=}pIcIuCqdTVp{(Z_v=x5fa0nvo+Nsp!cCqDD|2Ksv_ zG0JNnW#`{6F$?a#(maq{Y}yuoymw6^np5BJRr@YyOvGn`e%}5|`q|ru6@DLbE1;nj)l&!b;Q(h}MaM4kv4OtGW`EdzP+of7vmaSv za(7*6Iv0Js_w2eqS7;l!obNJDRp1kx_|gn9j1f3%U~Ez)#;B8+i~QzYFMe3t*z+#- ztoD%pHel^h81rL0?}>YwB&IidCh;WyskSG>{>H2y)%LVzxKEdNGx&{vu+2-nBz%yr zK3=w?40e9mJ7=W1W8H<|0|KwEQOk>Z&4r}35o?k_9DF24hz=>V9iEYqb{LKODOyn`(P@UBg|u?)l}N$1%@O zXMZN=&+}IHn`+Z*OM*plk2Ka-k{`ZNk&nVy#!fPB6Xyh)3LWK)r#-G!(y@rs;O}=y z_T{NR{{_F^WN~dtV=>nCY3J0Rigr$@&Zk}BRPEKe_~!!mH1=%t8``O0lT4lhzC7-R zQ9g|&2DhZziGlYd`EC>aQJ21Bi^M+X>yKL_xEjiPwbzuygtr=aR+^{$ z`LEdiN>6KK|0zxTT7!mXETnIaW9~1dK5QS{Kfu%T`G#onr{G>N&jpUK?=^*D7yQHG zNWX<6;q1AufrE8^z9EIRCCyXeNV2Vtx)T|mxnkFcBDg}2O=`|ceta~7EA16qT;=+3 zC3)xax6S~b3eMbukMF18cj9yCtQKbv7U%=*E7qFY2Y2O_@K23Ttblyxz1ACX+R(mP z6d&4`>d7ALQ4E4u0Ud$7g4qG53Gf2#+4BpF4<39d)D1W7n`dq!y+mq(Z@q`-TS$99 zyu>{6;ym+x(niv)`i-6D3#8LYlSzg6Vw1gMiJ7~5p84|Dx#lyZ*Z*m*IhN-Z>PUzW z25achW+k7hnyk+!SZ5?l#NQPT|7P96o@v}&t#M*M!s1nY;pxcx!F;PSH~06gx`@9A zvsInXw{XmE-Rb{6m*>&=R(ZAbXTUwh>Q8MRyNU1|^y^IE7rz`uTk0S4!SXn@oBL6p zuUHHDbg!}AUvu&+z5N&MiRTShKPap3qQfgAWe3B>F_ek=nKh`6LF{%3zNv1}@6-Sn zb#H(RyM9Fv7+*8^*do8J92iSK!~=i5tPc-rOKrY8(wFFX&o1=Q!C-ydMSameKEvOG z_3=l13;Q@M=;IG)`)I~H5mvuLM zM|3P%d`#YdukrNOYL8`hm-^dj@7CO~w=VsmlKf=;-79uI$~rv3T2A$R1-NUGIrY@1 zb5AC+a4C)i(TcWfS~{n@VkUzdKxeG?Y!@-^U(JAKwt) z?9Vsa%g=wR%igZ(#apUC`}bth*)xwob!&)VAFUE{|Hy!|v&aoiPUbDCF) zd&H!#bxKa|>0rG(i#6$}Qa$hOzEWMm;z{e>#B;27hu;Mbr`s49PA7F>=d^ku{$`Rl z4F-JX=)d=L^;6u36Jy;Q1E)@I=WfTn8QpeP<#()$(a5{&)56o!RmGm--W+I5XRD}> z`Uz4`9^ydm^zUxfJN=y;b=O<92kua3_>J`ea&cW%xZd?StpR3+L&j@kFkbB=6pK@EsvqL({l{y0`D(@sn(OUTI9?;I z{Ufj^6@6QhbPbdLx$lpI?Lzy2w{t(NgU(@wd)S(aU3WOxl)&pX7JsuUHQBe9M0?gw z!8um(vzW)3U38bbekohUwmmwJEIL1#`kYScVhv?V(wS%b|2-amJ#`x)hvv5Y+ObNOzs zEvO;Q8Eoh#;o{?xS}h-;vXcj{d`I{b=7$O{gR1% zAKc*>zL5>l;SIsbgkE_PThnINaLt^1rCguzKL^ z%8VtV*f;k`%#$DeLi1!jJT6li zr8$yYZOw%TAWVKQl@fI(KlR%@d)Ez$e)1 zpY-3M4V8aLb?33&XVreO>zn*tSIApCI(Knfc#L;JDF!T}G1(*P++x=w%4gcJo5BnD z+tvgB8De(qQNFpf-)rL^*mmA;`yREO_1oQeliC0tve zqsnLAF)7QJwMV=)VxN({1lTLrQ|GKkz?|kp5E^lOB7dQ0T=9$wk+5XPP z78=ZHtG6(x(OWe43bmTk=q=1Y&FOmH)iJL%r&BfS>^&gA{5kV^y5{pte?B8eVx7>e z%idRHKC{m6O5}Kdh~5&;=K*@l!10zS7i3KJ5*Puc+>N#^N77BmT0|`mU?(I`hOH>E!nx zSkya?(hm|vaF-W+bL?JJj94NgGws^@VlRq0=il`xn35Xf2H;6#*Hs^zD;|0&_e%Qm zDz%~7qnv2rf zMC7PssK!5*{YKT`_gd!(=9${FYS!;qW}BsT`G5~8f`|M=)x_0zK$o+mXF+nlZ@_`n zX7-ymzZF@AiOM9GoGP2IKTpsFnxplo>`U}zMs1{Bqy3je!n zi1ugy|GS2m{QRM7h-WVU^Vbk(gNy&uYlyD^Z@7l|`c2X$N|jg<`uM-R4_;&G;>}q@ ztfr6AHAG0?l7pH*4)ejG&u6LsS@9+L#f#_sqB@S>;!#EB4f*VxfzNcW=WoqZt0UzU z1CIOkSO;TZ7~|wumlN3YO$xt{bg@#K$(L$f+DI?wjK(F>)yLF$Ki=b{Z!V9+SKzw{O~`i}r0zv~S3YIBnT}6<3vI#}cfzUtZWR*=~b=<-&f=3i`Fm_Diy% zmVWv6ryqkm-w#mw{c-A7R{c^ve!uiS?9;}nOH3On?2{cg^a+if)-d0@@&Ao+`;XTS zKW@KZee_1-w*5m(%mbw8I!1I^gPi%k%173?k2|J2#6?R;!&!~(y6Q&uxTM=^t;fAx z$pZUgx;qLP-sOs>)6#z~>3TQ6Yj}D*V|mVF(vC^X*MgW8Vmwu5FrAF}9Q|~% zFVT+1L^>HUu)5V3!PJn?mqWPZs~~(d@|5qw#sD^*DG_Yi&lPO)MGPUisQ&R}gLd946Ok_sZ%Rw@ESmdd6Hlu{8pp#!X{xik(*9&_0&-2hRZx=^xTN<1S}H`CH#Y8>h}! z$;KI;8`FO1rL+;+LA93<+Ci0vy`zWFJlcEt=>g+-=;w77eb*>T%k^Ax|M^ItZ| ziQ>({d>$XsebL98NAqp8O9F04)a5NT7Ga^lUxPv!hNi8|K^b=`}VPBMMIKg9i0D7DqtFw6|A)it z3G9gldV>7357iTL9yTFT=o{?PpBYy&H-t~dSm$N6=7m=^&!Db}eA7GYkLHQj@4`0K zQBIj3Fpeu2zhc)@lD)NeSi8@>pJ=VJkvcNgS3v8xhR#jZSJRuTwdu`!4loxbYfYB9 zl{=ZW-o;&YnUnFExp;Uyx3cT4pS`NCThs_wct_3d9{&v1^$Ct)r ziEE(z$&z%Mwz7FHh^=y#0)qW@DHhHC^hc;D@zNKxM z{(YXx`>}_4pW*%J!@S2gFWJKT7TRe!+3&x5y5Faf*Z96PO&<}>;U99b?-!JsELvV$ zif3p$jU88b%`QVPxtVe1OpACBYkbej=(VN){(I>InaVxbThizXvf+;9n{2qFNBM2F zoaVPJ9Ksi@4OevD>MeUAwB2^8o}kX%{9cLec4YAP^FbTmri}*LkZrahs9SVl=Zd?m z`cv|4rQEAl{;niu_va{oZN9lYB?S-n@e z9B0@c4Dvlhz9Qvh|JL_^3Ci6^xgzhh)(gvhgmUYHd|Sx3k#cRK^NCB$7SeVmm&ZQ& zt6huCz5G3eZ%VKI%@SjH?y4*@yZF6>^Z==iw2ic$yi0>LnrD%B^Hn}bFTM|Z5AVkF zcN6Kt$L5&^o_XHIc<$x<`Ur5p3yvyo^2uc(;Wb1L#7w6;?(u$>}v;}P4b_+Dr`y>0+5;p2e4n&-)5>hK1Nv=dU9Al7?)%=?`d+|;py$Y>!Yy~pqKYTFTd)u^M!s>R+fR6 zr4~p2I`6H(t}}X}o=DsjR6t} zzlTc>hkFgyUlyGQdu@+=66B9ia7;<@V;uHh^xdP)R#HgM+T*qOAZCGlCS@1V+5cZt zMA>Dyp8d`v`aoKG5(GPe=GLCe_saTt8xBDGTO=U&7~i?j_Rmq2b{yn7AyaJDPsWM?Vc=jFiCn~c7Pv4)<1`% zbr?Fijp?u7Ey5Exk{?mB*N1`M_%P@Uj^2l7a0F}8$s@l5ABJ3?55tzTmY9vCaICBy zDuYcYzr5@eR6lgcc^s{eoKuRG<-j~7IFEDd^^#2`_G>tc6U=G(uj0p4ttl>-&8`x= za-G%X&}s0UyMsL`{NfmQ}#!$&Q%`wcHWt#OwfaRq#W^EB#1P*!^bs$csaoZ0C@ z$C`k?qi5d?t_$Q5^@m#-G@iA({*6;P+qIer4qA zlGGgY`G7CeOiDV+vg+~VAueP0&NGoOq&1`hX)7sgGr!IB96a0fta$Zc&lhAs22lE5kP7z0IfB#Cs0B$MoFZ=(q9JYfbm#lnHgiGuoY=iGhv~mP0pb8arLO ztLpkmuTJHH%a%#-BTu@!|6b>-V&0VF9QLtK;d|qizU~vl?xNW63DE@W9mNt5-_jY7 zn5XryUru?f&2>OKCd)dB^y+n{XTvJfGavY00=K_=5BA=mpAUS>*PDLM7`8EnZ5D5W znG}rS7s&Ht#xNI@xhE*Ii!xctWDiqj19_gJ%(S4)=OXRcy&d3E8-i~&-|(&PUIR|s zNPEv%VxA;DMVimw+jy=gZ6rx^1q{EGIBkx0AEuIn5kbh>RtvZD{rFFRMYb5r$ z+K?CMms(HSr|)+&d&9zh^@Ma0)^j@b)Urm_S(0eE6yeGJ*2Q8tkz?&v8z=^I-R!R}OZE^Ih@hg*)ja!k zzaG?Dt(JC8x>&jYI-gfL@WYXe;hdpy^zULtbK#|TeB34voz_ulTtpgum!FSF>NVV182IY(M4v>?Whx`6(1z%evUT{@rZ5mPE`$9`*m1bA<& z-gnZn(s$Vh3Gd2r=tnAf-2O|$wz26Pvz0l{Jl5UFhPh{W9+QS&^3+_iYX$Vkp*x{H z_(HFZmGh{wGuLL|iCLe2)&etYl-04++Ol!b<6hFdGp3can6!-~p5v_EuupdaX`Y1V zICaM(D~|3fR&U-n$FBMOe6@FP*w>ForOqi2A+P!##;EpIJNqx7jKeziWJ{xcWuxsR zxPMaR%vYDeCv~snko_+|bg-wmoq5Sw(j@nY5`T+v=_}tFfzwgj#7wqzkSEp59Yl9O z$a!SHFV5<8@43`-R}&LCs4M(#`C?9du|MAx|1){s-~G+~I@_x6x=ShAc5QOQzC`nw z{mw%hZ2YAm#6nNeMh$JA`;fE$JM`ldK|hAl57D1Va&IBD_KR!b7tFP9lINpAp454w zW%8_EMxLhqx>Lv6vKgUpj1~9Mjxpm~!#In_YmDI=hm7$=%3V*|PO|t*-my=8iQ->4 zP5|$j;N>#L`HTQRvUfIQ@8~a!QfHSnzV)1o@aG+O|52ZCukmi7EIx9TQ-bkU%stf+ zZ7&?}FArOR&2V|iB-K}c&M02h_yO%l@on2BuV8S1#p3EPV{TTT)^E&(OT`TIaoK;I z&0)sgjyv^6+t!_usZaak)1WmE>mc!u)au&(Ul?~Y^EtNvQO*{`xI@;CF?>mUphmDJ z&#+@|VYuMoy_a7b@EO@9q}P$qqwM}rR5z0jroA!kBZRsb@}*bDimvy<`-vN{FKF(k ziJ@$Y(zlL$=go%xzD%x{vL_sJh?NS>@8K_Vd?kos&pdhL$qJ&wD%@CC9RvCl&Rf}ZF?m3 zs2{q+O8Wr=VTnaxxhsH$No?aR9SuzPL}1bxi6(HUz6<_vA8WMw;d&+cw%$t{vCQ50 zjZQ^Aj9^_qf_#%p9py*Tu(bXnJY`W@pgN9l2|NPT(xAbpWu6Yb0K1Nx%5L4S;BJ=&k9 zH|WpXj-o&3N>01*1^U-Ms)x@3Hx_=)ll#!qxE`i=NWlKVUk;U~}+xbpc4zk#behTj4- z(>(;Zq$hHQsqEyjGix5ot_@6kUq3hjJ&!yY*>IDwe7=m|eRs?izq+jJ7kpP;s-s?Y z;On6}^z9kGrCFy%W7Ddh$6xpBdGdAcJ+L~7e1bBiwR+I}v>|)YB5IXA~<#wy99(6d8o;>4b+YfLGRcUEu5US z1imKaqYfrecSE+=b*!0dVV*Q*>;5{=Ul-P;1DH=1%oqDGPY}$=9_~7k465aRcgF+f zAnxcunCtq%yy6g;>yROey%6g}eps0Ew!he=CgfP(p?@iU8L;Ndk3ug|+}8l7-J@pg z*qg?FZJLK8Lp4q+yFoUe40#Ot1iHIuq&MdBd0HFzI!9_w4flmee>{ztny%F+R9z-J}u=nMvFUwZg`hKIj@>br1C+f;$XUear z#)%`=U{+vvUjdJ&JTdT{%;ZwsEq3j_Mt&#$_a^+mbr+i2F2h#}=5FqXoMHX%Oh&%o zT2uS-CVIEuZrb(l_M7GJ;nN50`wKSd3G#2LM>eV7KPT^U>86F%=n1QdQK2|ut9$+7 zY=0>$n>PDf_>4%V&Z@vOnt9h9`b20AH!Wg&4fn3q=Ir3T;!=it{4K$|h4fcz&HsX? zTENlj6YwEmzr=Xl6ASJdICJoNTsD2?Gpwue zG3)1uy)RW*UTvXm`CQ3Paw@;Kg5U8cEinnwu76)-wkNJMBTwXf+p>jb8U#9pz2TSM z=6?@uc*5IU>S#EOy@j;8M_9zsGZ909j zIAvU7l#{LE?mrytzCTYaui*TdJ-g1FaTvcL%rA|bYpSe=+RIzg^qaAJoxK=fvtu|i z9Y;rt!y~XCdU5?Qybfo={WH3f zhi8Fr=*aFXSzlJs6#Y@(8b~Ii7|3^3<2lawcq_{_$R6bN1nH=ZLzn1xIIx+l+V*`R z3t8W{$ia^Yo1vv2Vyjl`UHQxUv6i=j3&l5-T~@R$yeAEF-g|tH_T)mJN6~TA=h3k? zS#%fLY$_;L-DMT=@M!;P&D}5P46^!1oSoit?VX*_V#G&BFpq^E#BVn=2XUox#ja`l z(1m$l;GJkyJ{AsR9tVEWeP|mL-sE>HTW3SAt@=59x#drT9L1*1o?{06AeRTmnUzNT zW!?;1qV^t;Bg}oBm6ENo|6Y&vg|l~E%QqO^BJh1tKG`HSKdhb-yl?!>!ruKX?E^Dq z?H+b0k91dW0l%BZB73jkOR`bpBwa!0VI@x$zpRB+lV4dLoA0RZdI|e|!M_t$XK9DH z#jek*UgocVo~c-ALGRQ#R@qb)<63Kz$0d3kvS^@!GHU&NS@ zU*n>(E1)@iFS}jyQ|j}5(-g;7w5fS>|7QY!Zpt>g&>3+gkS)ai>!@~m%Swt1E}A~o z`u46aw*~FIpLXn;C&!#K9o4pczU0zQ`=nq$&J#a^xAPSI!mIi!8vlLnW$saFD+xaM zRrh==N3@4W8FZ3bVr7V@ZB2D{+4XL~ug8J|t;fRHKJx!<1&+{vR(|O6Nl&nMPyZ_; z^YX!7TiWV9(ZzetB`+&WMqIZ;e!iPt(C<(3TmHNCY4sVL1FvHymDvHmXDqRxBc>Cn>dkvX)dZ?rv&|qlRrVdP5EyE$LxxHr&Jd< zV%ElYRrNbbtQG0Nj`<+?xws3Pu+1Z#NA@?>IXtKjdq#7UrN0MF9W~qT z1rcx%en{U2^ozZJaCcrQq{qCny-{k9&L+~+?E?HNN7(NxWawk7RIs!uVY?Tp0m2bTE=Vho^NjN zAAA0atDtFD>u+CY|3|+2dkMDZ{O)2nX?@R0!@p&l{h5_X^-Tx4?JT4c@xFZON; z=4sS!0v%cZn#p|ExM{Di-+c7MbBkRrzKM!8u2@i`3+?52miNr{2KG9{Z+v~}FXNr! z4bsn2jLnDWkJ{rt*XGdoair#LHgaw}M_kg#`Dfv^fwBp2UG*%=YhFpWP)vmSb^iJ1 zWN`lZXwHqlgF4X5EM5jXH*Vv%;OlMUVT)f~In~%eQPy7Wh^q9`?1C zZ?U(Wq2JlJ+t>}RbC->WtvR~rd+@FM{&kPeddm(f9LrZu>js~9$&SGK;4r-Fzdzyg zX<{-n&f-a_)GFDE?Y_Z#e<=UFRh-x28#rXlE8m|64)b}tPKxnN zko@>5(oN+f0lzD@vCf#IePeWzmDbNux|QnqZ^~=kr2Zv?^~RGK-|ycMUnI70%!SwT zOqi9`IODegxY1G2WB8VTY)>lB{RX5aJ%jj0w3Te~HdRG08eeoubg1ArIBP(6(zxkq z&$PqGw8m&so%(&XVs+oe9ZY(kFDdqQLz;VWb2sz-W{aPMd9>GNVb354XGMI1@ZXR6 zJ7%`APKnB|0yL04d@S$lz(-8B^c?X+?f8@`u_AE)ub*L-e7qR>?3QXge?Bz1$O?Sg zHC8`<()T@VdK2OxT}B@dcZONITunaE;ecfvV>mKveU&Qlb<#I3liX>BKV!f2`Qu1v z=xos--x%X$qjy(z2)Ogtl5dvG#MXw)}T)jQapw`Pg;R4JKf#~ zD;rm;o4s@9pzdqbezSZvv{$SBP_0w7hD{JNJi#5y_1wFaXl~;UF5SQVAU;)X>>2pK zll-m;eh=k$ZSZ@1sjb@Dxue>^JNd>)P91VLvMZZDwiI-7-Lq%!`o(uh_EfE%1dAE7 zai4sGh7cd!Y0mGj8T0o2wPR@iyp8*IocG}VDatDt_xpH)%YIMH zS-wBUefNn8EA}VOTe-h|VSay{^0i^TbK3SLC$#MwdS2VUhJ|hWCR1M>^@V%Up?zMm zUABJVyI)_jdhhqIk^KO>j$R0ECw$A|vlc%m?K_+1QTx9;=3)9n-Pr2|`{Xfa0Ncs? zAD!dhW3K)>z!RUdfxE3o;B%(CncDW%;luDK_ndp|QQPt1{z-kS<(urweQPh@$2HWI z{`OD!n*#Us@RX0d#kWO?56(~fHa(q}IqP6e&unxGt;eh{BDO`*$L5m?cHOdWT%P`2 zZ0UycmevndK9PQY&c3iG{-2539^Xe1-|=Y=Ti>7dB)*nIiFNu;mR|fGi9x23XN)u$ zyk|w=ea|594t*2g{rAJb`|J>WM3eK(>@nOr$M40CG4pxOAjuC*x|`M>=q&&nS-XNYr+Z2A17J=9vfn+L*nGCFVh6 z%vPShUu`dZy?a%!)6dxf>>ATpXTH4oqqjbijh#!r5Zc3%{?<<0i%Bh{1aJ#p(SyDrJA38T$A5i6S$qCz=&%O9>PgSY-&TEi z1U$D`?0Rq*_@#b_IPlh%mRgPMlRv@gYVj)0V9Ac2Cgx8T`oh-Vm|ji1Uu^w+ciq+1 zBsg#3?^x;!mOeKRb7AEdAhEIT}F;7PN-5RtLKTN+@(#|p9X#xF+ zf!9y{Rb6F%!r0h5HgU%0iV()e`pPzJa|=e)RX+aKa{?F}p##bt0%K!92eAi(TM%J89H%;-F)1mF{{Xzg17Pj*n7DEA2c$doP-G zdtbz7Q}bgR^WZ_!R?>EozQ0O&=)Cf&TJumRdi+kiF3l5vDsxCy^+7Q zXCOZx*(#^9y@(v!?up`6 zIxB|m}wvxf+ws>AxxBNA9Zb9!hAK^}QbVzF# zibeJZG$vaz;5TUZ<)sdEm8qPIPuYXSqu)j>_AMFp0sjIQ-I})aH0j%_K|GvfjF>*y z7VN!B;*qjpAuEzPGp2p&n3-HQMf%KI(_y~2&a%=J`g;L+x2F9#_mi)-{*+x)avfF9 zL5Wb%z$FM7{ZIMbR;Uqnnt##UphGr*cx_cBgfgK@f(JmH$|A>M;; zWJad4j`teNt=P~R%j$D3_aG40|J?eRt$P*UGwF_UJ39NLS(U+;A!}--f5X#~vfI~b z4d!x3E_4Fzc7-^S?mu~%Y(D;)U;R}d*$3$sjo0UWesDZvtul$L+tAJY{qn8gSmjlJ z6ZO_PZ6(dsZQLR7AoDKw~_ketPq3qM&~x)&NOlI|yIot?VE zUo*$E;NDa0K7U_tJZ)+HtG=9|zT^a-zpq!isV~Mzk@3*nyq9O4%RUQzsyD;}UFgRc zDe`w+;fX!8%l;m7yTIC-d}FV3h_9)A2;tG+r@o&y!!?q_{+?h^f0xeVPKj(sS#}1U zje>^wKf~f&cFd*-y=ok_o|{(OR245=0e-{ZDswY5ei`pR5a1_$jE|o!S<&#?(v9FH zPii9xKaCgo`#iCX>=Dbs&z#CB*dyd?7}_G9nd;+5c8F2by@hYmrJ4d=N-)V!=wTKi!5;}CNQIt#{TThKQ0s5F|k z7u?u4Hu)TVAm5EVP2C;b1H6Z}EIwzjV1jPX75dyO-81+I|;sZNH%pu7cp9jWs-x;a%$kxZVX!*lJ3J z04D8IC4gxSb58xxK9T$*zIUzDvnGH`w6LD{8tZJ(zF-s#vQM+_e@OUR0h~_IG>C;DX-}n}A?0H&GAkX1Plc-DlMKL(x zT}g90Jcv1~@A!V%eGJRHz|AMVsk==y2G*Cnmv61%eaN?D15_KWx$}GZmhhzeHEyVl z^|TiK`!#68nE@QiYhxo&CqDcZ7RgG%(S9RuC|5yHb23-#vU9>C-s)w(EY!H_ zeOQ;iOGZ!mS6@a?=BfJBZdlj4h>TvE?x^Nm#tFS)amwDqR$c%NN-t|eA5&eY1$B)( zOkMXy>MCVA%3*z)a|7$kQQt&UtlV(i!JeJyV(?{r4}MXtC-2GJ-@YXUt*7Ou=j#X! z`Ht#MfAswjK0z7r;a1z1mCz45GsL#`waS#fTv5pQB2l`!bR+_=z zb;TWfGVl-WZ%(vyt-WCGduqGUPB#3K73m)WlX@Mc-AR#&WaU%Jy~_Jw{7*3^U+K8t@G#Z z9NvZPiw@^T+P;Kun!6hRPeixX`TGvdH{6 zXs?NHuU+fMTNA&~{ZFFl_fvl+=<~3kUF}Z^p0LkDf_8PEQrNEigsjY`&*#;^H}XE; z5Y3x>(RmHO-CI98&-`irJX7$;s^p=26`(o!@_z(+(>R7>CfkB&L3F^HiZu*+Qm{ua zx{yp@e;nT<(>!g2PaDW4OB)X@@M!}+(=2&l&&{NkRmQVs{Y&@sRiCfh{P{AblerMi zgD0skDx=f<{lqy3d$xlM$J6~R#1=wl%-<|JnbGy7*A6~ZfG4j3zp_2Y=;QmL>G!U~ zjz>HXy_*0}Pq7zdviL{jq_17-`$zCQmi-oOUuyj$8s$&6uCV7+@p1O_Q~1tm4oQyq z_n8n=0{>zBB${I`_EY3@EPdMu_DGJ4rElh*5B7n)0y;sSZ*Ptbz9}mhO!qy7c_s>L z9lqh5FK&JeS{}o?n0(Gf zPxLy<;#IQUNahXQ*2l~4A8*?E*_S-9D2ci zlPT8T`bT0meSMMHNt*n*dFHc0+jmfQ0c}6vo!_tR7yqTU=K=bw@*U)v8fkk-r0o?! z+iEuj@9sqBQkgvOrOW-0^JhQgToZqHU;i0w-=yP7zrAUm`S}{|HS3sX<{Iqyq`mhq zGUwbn&pi41VzY&`?F);{AKK@c6IabM6AvynEu?8*Tx7n$-_v>j)0Oi~+b#3Vdw8yB zn`h1;B{nZIukqY_^Sr+E+wj%aPGS!+&vgfAjAuh9IP|d5bcyHk&cp8OaStmz>sXK2 zEvYr-7V^nXDBq74XDl@9@92Lf{6@2x{U-nHcB6|wBy_KHdiaZ!cj80b$XZdlQWN`J z1AQG-ZZ!EkXo&bcl*M0$arN&6ZnJn7ooZdDcuS%iXmU$p2$a20`T%d-A=X=*QF zFu1;YlyEfz*Tg>;F7_R|h8^rq09zxlg?q|VMT5f%#MDy0?%X@ma?;j(9)07FOUB#Qcq?sV~2_q_Z`WZ|^`JIH^hHI^OHu$>gmCcE|ha?oYzw6qD#!c&mIu z98Ws-Gkaq0vwLL2(%FI(d1O;l%pApYQXCbnU1E;yW7kj7XSA z{SoLg?1y~m`}*-*Z$C!R5Ao}0Klr;l3J(*A_&~nS`fvQ67S}p=)eqr}alY{emBsrF%*)8F;}hQ&@k1|9G(eFdx;Pg>1De z%Hy;C`XkLV22IFLEZy~FXd{N-xNOO>;^TYL9_?p$S$ggBiD|PwF?ZJZcf?<3{S#Sx z(pEjOt>n8?;wM~2|to+!q04Q zQx84kZ3W%=IBqF+R9(_&Qi$W{J_yf}jVeoAPO&!4Vx14Ze0zf081F$Vq}D=5^&f3JZKWn+cWX?I!Oxz1gdCpaDSN~t6+dni zZYbOEqu=(VBYLlJ=ma=)z@d2l5ZZNvJiwJ49m!Ke9^peU9{k|Jp8Jp6T)m%olWIfz zzB*I+Wqf~n{c{wvhZN4)#Sb3rIdg=;X5ycn_|Lcazt4cCxU;(qjaBe_ET4$H5sizE z)pyZxE9r6Cd{zG2;2(TdPXrFNE&3MT-$t3g11E38?@9Q0TlR_SdC<*;k#=Rf3ELep zpxu)PY4-v3HPY_M1KJ%$yHja*RM74y+QsJB9qrQzgVeo_x<^OqK4C!J&D4DwbvFlf zH&Zv8X8r0uX^^@>Tag)6N9=>r0xdBTXZHrawp9=fcFm&11zMQ z&vOPeN;h}Ee()iU(G9c}j&l~-E&k9m-+iy z>z9$<_zTL74eEHF-`iNX{`C#>%qKt1dgLcrli8IuFYaG#UVCA&X(G92{per=>*@#j z-G195^Az7Fl4k5f*IKv8Z0T8S#(Zj?X)N@eVF~?E!~0|%a3sBiakDY2AEn)aF{_9F zb6?Er6UY~*-{KALUHZm%j(&^!%{y0VTZ*A#^zel&tF}L7Z+hLZi`0*h!=Qor4 z+q~M(?z4G`FX`;Fc$4_L=A`IiIekf^)64FqIVszX#anL2p683As}qrpFF@F<+2^UG=6jS zrQoh|`S6HGU4ZYdhuuPONVoqSFia7@%N8r1XdnAVI*Z-Pn^YRhQ+qq3c>)*yl*kFn zi8pwD;ECM@D-V&q*t|w#^GfH=XAhSr$q+MGyh(eQQ{a#5zx8s@eBjeN@h+Xa zUdub#9LAF;odq8rYZjM1_{8=* z<%@$u@!Zh=f_HY`o$(kU{11-TmF4C1Q?Q45rqX_Y+^;I%NS^h7%l!7R7iQO%#^->M zm?E*vhf4YIJ_q`vz97f%77h>ot#lD$QUmM!-n%C}bcHs24~kvq(I3{k-O8)}{FeN! zL0zhQV4rwr`-FZoqA6?>dV-jmdwyHf>)+MgaIoh!YBlXQA68CII zb#*OgLGk%D#mZykyHRaJS88ADC-jTGTI)6B^2`s(_Mee5l@CDQ3C3Hz;b&{Pm!03U z{;Af^u{d~}!S7J_L=Ia&h&kZEOLy44b+z4+ras_-7jw5lhrJVGG`zWqcGB2BK6{{s z`a~BqD}POUFOEW&rtZCxQR=~rXD^6#=WzD-1Np&vl5arO+~m5#FTrg{H3W7Nbv z67Gl#oou&jRL%%8_7%Q?V{qZ`t!pf$Pc^#ahgWmIaP^vle*M~8Pp8kfd+Uq$E;fzu z{s*p^XTCwo-O3#iq`%%h*Nm+qCrMB3UThAKilq6~xn?vSTfpy$&mBBCo@WD=_RHta zHSZ&>IcK3+@VP~1>Q&s|zH*Uitn}Sw9hIH6d2BtJ`-GN{=V{&KKW^R67ME$ z?USD^y~JVf<~QzLj7tdCzB(8v3a(8pq= zk0tu1{(k-q`WT*7S>LwE$Um{kV84bIq50$Ww^H;BQ5ycWVJNZ}-Zi(g&ptIHgB_t0 zJ`vcabhkh%gKa7!+tl)YwkhmOT`~7Q+Gz{?65$E(lEOIg1m6~E`3Gkar%hgHUcCkU z2X}E46&orK9U)tUOOu6Pcsd(*DQhX&o^&22JkyU|yPw{$qWl97yKQy_{B}l{?4>F% z`;Bb2I`<^nt)q-RM@!xm_I8? z1=RI_)91d8_TSLwJ~(sH5}fZ6&-U-2Aa)M>fv(|fC*#|QED7WH>mIWPv+M=YPKvV+ zjid?i_XE(5^fA$l_?`ChoC5nQ1>|KG{~wZkSQyumcbvaI*8UZ1yB@{GHd)SLPSd}n*4mjqep3hUk&lpDv+{*qS8CtZKLcY7up&$A z%wu~}ohz+O9cI?-)!A|vnpGc7pf90ACll~($DNGsY(gei3JEvc7Fbb_pjhUmbhi5M7t}WzfFb*{gPd1KTkD;0`gbPwzM0 zDmzDFJf){`_c8b`cC7?wsr1Tn+@9rLRZVrSD#zLLb~$6=5>HBge!`oz&j2g&XPR~Y zbHQw|F;FB2Vp(LKwM~cf7yB~vE4ttDJh1uu9kcxTOaBv|WNR1?WrICO>&HV`Ufw|d zwwe_suLd5(+3OJZ!ck~@!Zz8hI&AyYvk%xfW7<73zsSr@9_)?R+u(^e`hJLsjOg*r z*{AYpdyu`&58n)&GXp(oy4{~)O#1nu3;#NMd75B_XNqRUw?n$JXXL!#j9eZcq411c zZWrr+OFNM>a=tzAjvC({=$}_6mT30vCF!%W2b#K#_Kcj?RA2ZvY=G0h9h{N#@u4x6 zUsxWo}_ z-x;|K`m<;iIU{-{PBZpB_C9D|_dy5-8;hf;SR8Y#-Ay(x!7Vy}x5`2X@<|h&&tB)> z|LQOoOo7;WkjLwSH_UZmK?&RXmPWr4;kt&VOL7H{avFb8PzJc|3{52YvLn zWoulB?Kkm@rkwn@e7%VHBK91ebfjtERrB0GKL@p1os87hqQrj%PoBm z(_GZvP7pg|sMX5{kDY-%7QMZH%nbF_tx-Is$9v%ze^Vc?lWY|32Ro~G>-+o8>a7Fc z=Kt7zqenig_nU{_yt8_rppS!{)pPRDs3#s3%7M0Wd*C-ag>u53l>-H>Gj%rv_k1zG zq>m>I_x7bklU`|vTkI-2%M{0>%cMCAm*$KmPpvueCt!c^=CamdvCQowxSQm-Smu@y ziYX@DD1YCoQY<4I{hPz*637DGXQBOgd%s05&t4zl*=^;~^sk+`Ri=(TP3B8T$3u$h zv%g;;o~^qPG>>aeE1^$t&lBsZMxIS+#Ux!u>}dbYO;am-dg1Tj8J<=0aa`yZ? z9^C|bPJ5-M()z06zSX+LZyd|>Shsjzf;d(6=9axR#^28jV`wM_p4J~Ro%LJI*}-5B z)W%9rw%fR8Hr5?HTCwayy?SG?ri|_vF{hIE2JdxlTzq|L@b|h8`+O4|B(K2k@QnoY z0Ijf}#~B^p-%q;#aeEK;Xb)U>Ob9nqT=aE|m*tFU7_-XS;NcB^?5a;uw;QzcX?}AK zv-{ayi_KQj^`r%7Ei_XgyaM~mQ~7%fDa2)3;{hCk*I%a-&)T-9y=3X;;3mL{WR}i) z{c#WXIlYH?0f9a_7QWzN8yU%3PkIo08MZF@E?AmPE#FNW>=8oujJ@j-GnLdrijnu* ze`D=*<(5=O^%C;Pm$-&AG?%_5W@E_IVzYDkCOyB_>#WMYVJI8knVCXoa$VmC=<|QT z7dg=F;=tbmAC2lG(lgawBY7?wwyZqSSyuH(7xTL<(0ixyxAfj=JTs$~RcDZ9pSG;J zbkZ{D3%@^}^GORxi%D1B&zj@Q+--{NI3K%%>XxoI{iJ2GDOA(b!Hs8aOvqC7S9Iov z!X{##`*)AF6p)$NOBA!mjyW`8<*{4rdX4dUE$!2SY+x~Lqw@Q03UE1bl63e@)v@#` zkwvB!8B3li(#R}r@U1S7-k6i0^{fgw!OwcNwM}U(=1|V=VKHu^KjBz=)QQY$bkWu9 zcdxGg=?Z9<{-BGo#^O9%_OU&_+=7Skx8#l~;xkrc-oF9v)t>H4C2nKoKH4J&&T921 z*zeb-&f*y_Thx2?dO3BEx?#1r(tg?j$1VeRFL z@R1|N%cO4s^NcR}5={SadpVY+-=1`lzIDF!p`-4wd?UQ#8Onz=*aV(#=Wo?ROjPvG z_VRM(cDP=D^7OuVCBpxRWAo*&0>5;ai$B{|Uh1?}r#Z+dZ0f+<%(}B%bOGWZD4ag(^vCZUZ$ojSl?yW*U zvwnkR?BCU2N}lq!?pcs6&iA|Vzw17uXM*pFX%>F}A$H-be2} z1s~cotIZ$Y?ss5bpS?>oDZG5}Ykl^v7Vx5X(mxh0In?gAoAS`HEhkzXA1OPSO{_$j zsNL_^s)N2AZg1_Ed<)w@VT=F!=d^J&cE9}9ee|AVPK)L>mo=w<@xA~4i|F&61L(8o zeSP#f@#^-fN0Ke+wb}D}Wuslk6(wJ-eYsi-zG^bXt`FReJtJG}n!4K5H|ww@YiHhl6~IC1LW!siN&Fw6+~wiQha34{X2|zAex{?4Dds>rL@Q z$?MhS4E#bi#e5y}9hgjA z<*0u+a!q~LT3tR3k_oY3&Y_3k_dq;Q%6%W4hdfSjD!=qzeAT*tIcuKzHR(IZiZCvw z_-t(fJj0V}vb2?#j%{PKGxyP{kr(k^{Q5d%(%f+fey{3>-}TiNcRl^Nt6x6gZ2oAF zFDCrL^VF8`Yx&l#5AStoKm2{zISY)|R-XY@#`A3IiG!

MiA2=L=`xL3LdE)xJ5) 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Ƿp_Wed<*mQPkX3;t zqk6Bm`jiNIjYt|e($wX^&n7>@9%!o7Rk-7T-hq9->e)^CP-rD}wH8B@Tfhl*1WBBxpZ_{A%mHn?9jGxi8aM zCAj!4e+5;sCGacdK~8569$_D5*D&)~FOGe>mo2Q7xf1H5{4$GfvV~UdIl+IGY2i&% za2?MUt`Lq>N=L>|k%qoI0=_AicPOX6RiycD^)vE`Dg6xhwTb2LsfyV3^|V6%p4eZk zAS^1@5Z4gb5j&iv)bU$;TJ|1!-KiH`&=Iy`?8Dig38px(w1yYv+D*$Y%_08|m~Ef@ zoafYXXQJ2UH@cqt>Yks_xx+HxX?boQv2=1;n`PTOY01I-M!x&zPWJi1KgP@E+46ti zomAm}ZixHo1j`HI37ua%(B<@jPrm#9{{Ub6*EmN3#;;zzzbkWhiEo8OQ%TW_f6wG# zyZU)I{rz_J^TxK?Gb^7r9<7bJ|3Djay*B2B+`A-mz1X)OuQ)zi_z?W@ll0rCDbbTp zOQJ8)mT2m&MbphmjHlMk+oQ(D2TlmtSiE<<<`(oPxzOjsF$diqZ=$&Grg8qlw|YVY zLG>7ieK~m|#1UfI{8tj|&FL!Q7_qIxd9GNEPuv>**N|RETu1B>JH++G^~4Ra`+Dp4 z`9c}vR^`1hv4<&HA=@_imjmJnakeVi(ttHEQ2vzEjt zAM^f8XQMs)c<2j$G-N!srDu^=%^jSY4EL4WR4!RiyVcwy)^Eq$Kh%k>#Fl3AU}QyP z#~Jx^_%53YjR*A<605PVf{$qpP}&&%hd;v`Yn3lV+NFU!`hT&PM{OxD`$@|qLn-rp z$!YRwl|o)j#n^|^7wMx%@qd)}ANi&a^NH2}D7ry}?17>Kz#ew*s^5~miZv)?z z*5Kul56z>|$l++BFYWY8Bi?y&o%Vkz?kFrru8goZOMt&*&hC{Y|7pME%75&e%)*X8 z;zu_{{0HKV#J?vFRW0mzgSaA-&8H`SgMLzn!x|0FoJ0lZycOswE7%8JiJV@+Ilcq_ zq%%VHNI39E>r1AiD$AKfg5QKF-*i^@)ED-5Z(!f3v2^!@__JZ2>RoxQ|7Xz7N4~PV zd#U!A?7z;4E#h25a?A4E8HuN83wr_jAe^gC-Dz+r^9$`9Coevzozuzped-cUD}jIB*iLs1&+twH?N%o6fs&zL z#KKpMxW+tXeXGQ&Z#1@6Xdpz)Ll!qdct1}YD^H~VZ7z<^2*4{^7aXSp@9E}l z3+w5LpBJmJ@fI%h{e_4B%G)yNteAu4;7NKbtYU+49MuN(PRqxR{e z#^}62`x>JL+J8H{ySu@|mD-daYGjQS*s3;4t*HE&z-4;hW!O3U$D-&Vxhy_9Nlr-5x$_`hlaCZ?OOzHGSYX88{vV4(W+b z4#05>aLfW9Cj-aljsYKa0etia$D5zu&-+XzeDnv$D&PphAelD^$NP@~j{US#&Y1YJ z|E;al&703%V>Vws-K;0BCT!YvjhRW<_p5763&Ho9?)x2UWd0tXfqvw}M*Gf`)}{=< zb+4Xz?%_F-S_Yp)w?t^C-8VhD6F>3kUiK)WJJEfL{+$kv#bdMD_Nv^gfPuMelyQ4YXT*4DEiCy482V;L~`p?YsD1 z6=>V1aldWR_*t|q`u5wdqwPO_>*#%6?Dg5FrC_@s;@c{ZriE*tmi%@_)8!s5`R$%e zyDuF>ySD}U++W*Q^4&Q~+pn#2={VT-=3{94YU*Ay*sjZVf3iO0?oVzz0iRlYYYBW? z>U}$95NDr!O9s9*d*7y0ZvW@-kyO>v@xf(UBU?H?K%63eKQVGr#|+}iq}u%Z_7sw@ znkZX?{zpFd_hzP>x?f&nw*KN8Gne2Hwmf@{dHZ(bPKfeq*@<@_1&h~6RIpPP< zJ97{ZROUFGlqjjP&wk7QN$Y)ZQo-MZ2)vT64hr?9u_dylbE z@`T||XofeN;@CT6vw7~fvLE*JTnX(Z*zcykTuf7+c)56vtuv`_$->Q6{=#2e8!}SD z46%B>1oJ+TEjZYzVb9Z1&wnR=b%)-mvN~_-oRj9=T=WcM>4WOM)WVr8T4m{mS zpUPUgw)pm=$b)foT`6Q0Y!m9xOGp+Sh3>jBDP1mdZA$jq$bd=C1n_}XDcKIWZ!q=( zH4g9ea26K9pH*c$`_C+UbceHZ&bw!ErcllIYUeR*rg&F3G2g;oN17A&-q$6qPIXgf z6?mfF+?6MX3LmJxs*nhw3kh*{P9J1T@Qnewce;wb1o{96o|tv_8db>VHzSi*ldipn z*6^A%dxS*B#T9#vI@0XEgS1BYso*vANCudt9Cdkd=XI3`n`wVOhwMI++ zQ`%JhPiX9?Bac|wTVpZ=`{1bf_|?C0^NaQ-=r{S~mv2;Bd(Y{GQJDuAr{*ERP&?b6 zX)n*sh97W$44u{V{5z>r_g5Ry%WM30P*(L$!*5s&eY)^`z5UI5n@iAFqwD^a>Nh)( z?O&n{cfE~4b?3jGFe3jH-!J3)Wrz9xUwj|U_tA&>{v!{DDFGNJ_krO%UY_d$dEVD2 z&)3Ow3VtU~slC6~{y$4v3jK0Q_A~T%4gaU`Uw)eOe--~5`LB1Z^`G|@Ye#a9Hj+Jv z#*#f!w2^&fV_ft0`utM9$Jt-XE>PbY^Rh+YR%72v{I$;NKH^#bzJf zp!96>s7Le_VUE5NzHupSVXK!Ded;`N!~LSWWC8siZyr9toZ%gHFAYB=wRIMs?l~lT zw}-j&Z~F%gK9iwMA9pYF-yyH+ePWMnSKV{a?bP9?{}<`jUmbAECRJxZ@QT_R#;689 zS9idL1>2)&3w>Jb^+|J1eemxb=(lA2@z{Pu!I5m0{O@1GSC;0haHKjUi)$TRIc#fj zF?>BcxTScUSI{1F_!7*hnnD5u1od5pO0Q16^zZj!IXLpgSqi1Z!J{weRAe@99pY@u$}Ao?&Om zHzl>U*bEP!nOIv)F$Oxw!*Z*OP7c`SuPJ6HuPLq%t>KLIKUn9k$UUBzkNsF8_c(TD zoU1>0+ZUF0v_Lo7D~o@(d=^5%%bNDB@=e-EQjuHS-ZPi?UW}M z=hh6Ce+cWFBdT^J^Q)eFsYiL7+}dJ`A>aI^z_JurmReX;W~wnSC!GIaUB%w>rkvHK z%lE}2>F0C0XE6X62PCrJ)7_c@sqAC2=6=mU^-a)O1kF&PJwtf7otK9+4g4{;u z`FvTH`y|LCVW+htJ8WrjWA=%BIEfz$%fF`bjWt^DiGs6*;O^36z}ZPh!I|nD8^GB@ za3)*{Z;xc3$O(5EL%l0m6K8J)uMRV3L-2)PfRk7o@`~YIw}j4fOxH~(EbZvUEC2Pa z1^k52J1%C-zI|u3P~nWrJ$z?Vp$yx?iY#xKPv(sD++n$$__%YR+XOZo_YbJdrFX*{ zQ}_`s>J73RxF=_x84urF9ABKPch(lg2OkVMxt3uoigyj;u6ewvBaB?MH|5^(kzIT2 zHf({g$@rgC5*v-Rdrs7Q?VNEB=I!<&O>6f&af7~*ANvemZS6T*egki-=y~$C%{}$Q zf4j%IlQ-V6>p16zwR?s|f4j#-&+0j|_P2Y^9DYkrId7{EC%po@qVsCk?s2de8ZdlZ z&#=+qo(Ad4b)_PzMB zCeve@7VN?9smJ0CJj8A*eGBnTaOr+m4RAFwHrSnZe24W?{~y-6349gd7&3v0N)G() zn%!0w)9)YH-v)cNBsG^Jm>Duv@qwnJDH2pm-(ER z9Yx5wXj zZCD-l8pE;C7+rx)-T?b9ifCB$`qZ79dmP?9ac(#p8<2B)oIB6$3Dws3nCRI(YENye zJ+29mJKgz~v9xx7aj~;Fr@m=^Ef}`Y(wXQ@{W@Xv+C5d! z$NZ*sdzeG4=gFdYXzb4No-2T>oH5#ZgDZz$ft^bG4L|4^&$}*?%b&b$3w9wV^_aA| z+@v3emu@ST$_+cFav{ov4k~x%F_jBbPWS&b?@Mi-bxdV7f66GYdGR>(#h#>VEd7tb z4kB z8aze!+B{D*ZRu&}z4a$=*wXV9ILqA$-lElv|4``QBy4g{?qP3xxp3NE%bWHw?>G0C zjN|?`adWwND01L4i_?p9i*D!5gH%&Tm3X=HR8e-3M(^~o=7o7zvCKTh{&P`>*1ZOF z6hR+j=QD>jXEld4e@{T(JsUX^7|i@k=3T~o;d0+bL3h|BkI9d%Nh9B}o_YJj!YpWf zHu7p3S+yqR?qA>`kLrA?(P1Cx$Y=g_^0WPn&Yqk3R;RNU=AX`BB-_;!%Z^8D|KnTW zMQzm2zF&F@rP=*M#!b65kXEVvQda4uv(P#xs1v!N0MDw`z9K^2;J4U=*ll6ABsos| z&C`A*Ug+v1&)~OUQ2KX&$#3*B6%M-jcs4(mebfzSEV5@B+RN)cN!gNRdyMUmY+RSU zuJyQ{Z_-Ib#WQKYg0gdvk#9J`)dR|w)z|45$}7J^e(iO%KhoY=W?VzzmULQ=}gVOLR=Z|GQW2o^9N7{CMyD3^QnQZ>yrlvy3Y05n=Jx63!lzdh@x8Abqd&FA?O%D8fR!Eo*Yvkmiw5hu@vnxNu&<`^LKW zT%OL}r~L=In&_g~BJ2&&D1s8txlCw&&c2I_ z9S3ih)#`rUz=W%__~V1S@oC(WlO84Wm4!K<9t5B2Qd@tajYVcrE)iM0D-+_4E%Yws zW@1iur_#4YbHKqnlp)jBQG*|VKbd=X$&XtkE11?6Gw_&9XbJLL$tQr1)1}@%MfPQ3 zU>YBKzF3yxoCVs@cwG_N4oZ^N@0-8>(fGwU3vOoK$OoLpSa-gvlIVZp*~jX^t8{Sd z%3tlgeWrJWm{@m4kb8Bf5PtyZ1SS_G*Vs0Zg;Q~RPY=5i?XlEP{3}p? z;Mlg#@geCFO8p*9`O383o}6AN_vl)>GwI)&<1Q>017nPR_}&cq2KKwv{MMONgx}iV zR}yPaUq!5ad5pN8xSF_uxQ19dlse)#u|qtPxSn_vaRc!f;zr^Gah!NO@krtc#G{BO z5sx7jZa(s=?xQ0QJMaPM!{Rup`_5nHyLgs6e|vGAURJz>K4=bG`I1QKlxZ~B4af&32kj)$E$$-*4=@*0bqz@6}7LfG~YM~Gc~VB5q0D*n6p z;7pSL)%AW+)zTq3O*9ah%sbT3KqYY%Ax6-6*AUkc96~)o zW7|j^CyXSFBKYI@tKXHzQ9Rh6D~BD&Hg~?*aYU~b#(&7q>358AwEjd5unk^h$DtD3 z2>&rcHEA`(bp(e{PiP>mkvL8eUPlqekao!0mJnRnRJ3KK%Z|n~%h>TET4b-0Baoi$1Lg?;J9tEFUhMc zcSTRs8H4!6@Bf0Gv(7SDFMPWk>yJ@*gGR&coKe85X62-Zkv+k(U1h2d9#jbrz<$u4 zPxyWv{WC?$3R-glb|>&(>`qvdV~+HH*X7|0(0i^h-kx#G?qo9hT~n)b6>EEvcGtd| z%u43Lie51|X%Sdj}|F7yla50yp%f>bZSV&(J$fy6S0{MUq zekVOTZw#8;#eyMdFLEOF!JJgtDv$MRE$b8PX`dSda@24br-CKf-{`wZfz zBZHEPgtLSp2k^Sp0M*vG{qKSnbat zR{MJ2Lha8ZR{I%ZwU1n5+h0tq_LmZ?{WfB?zmiz(uOe3aYlzi;mRRktCsz9p5v%&FNG{P?qh{@Ts`J4Lrs zpk?VjM9b3aivG(T<^XA%f3~MPqTi&Y&5E5h(6{D-m0!d=vA0tlX>?`n=DyzV)|S?v z1K#`e73`^+y*VJd-w=9^J)C$|vTzmSBKwQkoF#p%_5toGp<`RJxu^ZX%{_CsGj`ku z+#GtKxMlDIMd^Zd&n?8>Jyu)R^Z4-1RxdO#x}>MFc1cfoiNjtq!uR8aZPFdT zusvr}-U-}OiST}h?y7~OgL}#-V<;P|9n8Ko)^j^+kl?5sKB`Bs3>pLt+cHnwILw>RPM zEgf0zzQ@6}bm8Mu+?PwPElz5eKKx#6k-4j!g65LYTzgCLW330eStomG)G($I#abN%mi9>LnP~5S_V+KU%#EZK982jqZDY3flv003v+T z+H%Ev+;__SderV`>5F)$Z$H!iHut$NDBT~j{f7SHjDI+Ze2~iKUwJPyn~?vpY<>pi zw;zHF-2-&(MXXE;E+k_Gaj~8<$HSv59Qb;i{t6fP%@8bl1L%1l7q-8FyJTq(7t|>n z_lJxA?~(}@(}$FMxCny_VCpjTOZ#=zrT$#%;lsaovFUHqjPs7^#;0xd+o8;t!9fK0 zF9S}|Z(kYlU7SZZ(#J;40gp~XG5iWZ3pKG;bYbdqYfF%$*bFIUC>p-u+$rUgqZ|k5OLA ztBmR`^YVU}yat|T=M;Jk#W#`Gw~vnjcill_-&)*yLQ8%sxT*8{ran2q>*KFM_yC9U z(V%|W`C{*?NH#FhCgBxa#3uc8*H6L0t{J7W7MDjT`!28ScY#agM*{PPKzX&>VBuZY zS);ki9Mbq}U%(jF)bsmnZ(RT4jqBbS%|`wAgO3B%B|cI^Kk8IhT>X(ByDt{4P9e#6 zBb}#9(=XtU*&k!IX>p4Te*8xElzi(u&bnh!2kbw7+oglbxb6$E=Mz7K=i)zRXhS<| zf+L=lEt7qKX?J;zzBl0aUwQm*Y481;PzoA=_B5B(ha|X49W;h^z3#Z>F67Way4LVY z_>0!?D&huWja}b)Eqc%!n?B8}oW@gk@^&>(H?RC{^bhv{5AGglO0a+8J^Q;Jnm*l3X_(IR za_KHe!=i%*=vTf6q|MMBTzu}n^QIfMEYYkvE4 zTVok&FU^Yv>auSmqc0BS7Em8LlNfK1L$8u&2H`8R%JJm(z+9>H>K0$sJPE?<&pE*< zxI;1EWbO%e!L9ixxHT91n}@&u+oAI?Sij^o=}2PCwGcY>1iEqca|rW9_jI)v(p?}s z?>xS4pc&oYsY91iX4(tf4IZ!86Ggf^_sBet-k zjWN*qQ^nX!r{w>4-Sm&bS3(|u2bXH%x}GAtbVK9 zi%;$G)+zUUAVJo6XE*v)OX}bTgd)7Za)prxOl5(qt-#H|1xTKk$27 z#|*QTFqi)y;s1Jm`+Q+G@M=5-)2$xd7VprEU89)qAG-IA?oVmllkT`jVw^XCbJ3Zv zkCPwGzG<>I52gv{;;9p^?-95|-@tKeXc7sl-GYM;#A zS73SKd*Dv=;O+Bt9nvqznft$*oZyx)$e${X5+FB z;XF*gLTTV>%jS2CDDfN4>k86Y_;bA~z8V>HH8Rv{^dYM`i&(Zx-v$83FxsxVo%efb zyAu9X37;B}cITDdzrw2|BYlc7(cIUXXKgQ&*~0FN+&1hQD>(RGCA&=W>majRSOR3E`Hnz98@VIC9l3{4q`&Ru4_nUk7fqsA^>2rE<1blY?i%tH| z{#ZBG0pHuc+hp>Dy`G+2^d{P#gkQK`+|#E<=uJ5K%ZlCIxg_VNv@3qAc|Rey8{V`X z8cP;r-)peBQ~LM6BA(@@BWPLqfO|#wgNOlJE9dRmd=K@_gdX%;>%|`aYrmqq&e$>+ zEKdRN`u;lKRIl1SFYo^Dr0r|GHe4BGWijEcE7BSG``gV|@NT;&iwFBymSJ6`{!mI| zn=D)coNDX80{zsQpmqlZ`dM%L`6b)W*u|xO%H~-*#P6yfj$2M=%LiU9;plL<_%>yN zxOiA~90nKP;G2(&*MLjE*B=EJzV2hgcyJMzWA^S{LU#4wAVq-gMKdRXfBI0+xxVx? z^53yFy}x^w<}Wyt9m+}G{zbY4(ML7;7XVwecLzIH@ zzrz$@ac3XcbxojvpSlLD-&qE9OkmaT-F+;ccV4GwN6=o)%>rZ%`0f{ znRscv^7)4FCE8M~@x5BSg*qj}ZlixS%p29^=X3jezm*F_f1Bd#id)B)WC-OONquG5 zz4_y=eC^R6^;E>E_qb(y{&OjE4sE1Nws6I}xHrjn!Kk`FWO+{;XEw|Yvj{%B7+D)% zl;oQPJR$HZc;ur1f9|f|7vwnEUE6y-z^%FN!|RXr%Kx5WPT$aEE+Fjrc9ZEM7=F*0 zRN9*!X+G$#gvRi%_m$?oKOdR`G<`n#)VBIOCkxEpoIKl`58aga@gjP7SD-BS8|;~} zXkB%DJzJVjhnp)o>I=@5S5^OE=E{Hb&4=w&Z?61?_K(CjeEem`GFJlr)x{e}abGo* zWW04x9NG(~#Jd<9=0Zd~oc)mKc=a9oyQ_6KUGs>1Gx@G>Q#c1`CJ2wBH?6aR&+$-CvEgJoIe6aRmRd!mAg{aJ52t0=STF!^<-)z7c` z=kouMIgoMNPI+z5?58f-0jd2l$Uy#h@4UyQd)3=WS&jeP+ugb2tXOCJHn44ZZeZMn zUFDQl{c9WH_T8?(Ce@MfaH2YtU-hWZudx4+oNd>>Ba|P1nDW_UD4(RP+7)cUwr@R# zvXc%|Hhv6cCs1}m8+TGe>xz@IEgi`ezRuGv9f=Ie>< zE$XE$AWeH7l@-rdzVW1KKKS+?F?7w9P1DWDiPO#V-)b`Vd}gBA^qU#xJN&-%p(eAK z-z)gNlJHf+D#8~DlL=p#(PSE%n#@HuaqN%fzxm+x<6g^`vjy3X%8vBJ5r6HDWjI%iTYG!U zzqQ_9{?5O4|KUaUtk4H*VaF}i?iq)C2{>u3chl_IMFja784>;eLe@*!T^_8@lkQR9 zEBRh-d8&UeQaoe{d}T>-oYm)Jj|IOIZ>9U#@5=i$`-70jE5%F8@GVx!8G`s{Rhk%h zwZ{2yMp!3@;R7%hkSFASRd$%Z{|eb-KKJk3@kwY5tRM2Id|tU@(Bh2&ax}OUjoR}o z@4L?bLX3e=x3278%IBv~d2xoh`5Rm)_{9YB4-HMTYfV3W?0%(07r{R6x$x+Hysu9m+m6u3rGY*^OW)MrCCAvu z@uQBtkGJ&G$43s+$4$r3$L2nLoPLBpULWY=7rj1CKE^(#E^Rgu);p~mogwZGCpdrb z&b$1xE)+J_2WQi${at(C3s3OmN!^!@v@Nqbj;h4n9ic4z5k3fywEHj4PVN3n=h*UD zSe9Y0PkhVAbS9gz`Y724>(1{ZsrH=KTkXSSL%cEFZsnA4^vipy)2@tUxW^;DE#EW# z{>$nt;FrPu*GH(|=WRZ$)>l*l9Skx^D2)$&){X5qA#(xKHr5HPq4N2lw@xbK_tOGUJlSzB-{JLZf?S+0We8^8Qykvm!&i1oy#nd}WYnS>i{f^J;)3oc$IvTA+SQ zHum#q?X_zf@JwLMYDt#%XUZdc)seuhv65UY7_^4=!jR17XG;Hrt_HqeJ0{W6;n=nI z;Cy3Zn^?D8A6C^FAwV&G%FUh|H9L`vfaa8tB==3Lzho?#5 zRcp=|#>DP-;@SKx#zE<#h22Z`bxVgYou~SuIz@ZmwDf=I7@SfIv<@Q?oVH`A%p*WdX3!@t+1_YbspHW}Vk#`ZqKxljZhv0=X}ziygW zx*KIudOL{#O;n^4xe(utH8H2>SPWg8Wn-=S5PHjluQ-3w)JC^P4USjX{cyOeab!?2aTOO)BqCbtFD@Q|r zwBggAFLU}lvZFj|BHGftx21eWXX<%lNKy->~`?{hm#eZ8jck;3Mz@aABOq z^lvfzZE-OiUCe#DgYV>}Ml_pPv<)62`^;F6&Kw5!`JaF{j;G%fjLx0s(_SJM%vR8Sre`X^8g&JGoh_^6@a>w(;NPPa#Dd?=46K&`}GJHE!9_K8CtE`8Y#|`qh z&P#%_xNKks1H%;BY*w4JAvw~vZD`wMPQ-`q(BQd>JAQ%>86SGAirxvoi z1=h20yrom~HT9R@cmMc&_yD-jJa6U>zUZJirL|(3d{wZgDDCTxJIcPU%=;ePzeQr$ z#Y10d`cm;R&YPc_VN$D^+x_XRQ=ZNmxTUj}-+9sIiO_IPIswPsk7-|e)5|3}QMx>( ziD%vO<W>{ zze@W@lE?k^Vbwd3Rr|wrrvLMSAJLY74kBC$zKTF!>*=e~gzIIq6Jx1k5WNYA>1pH8Fk~vyCbatjT zgipoV(Ijc>!rxLVvf;;So)CkAk5_o!JHXX=DeG2NV;7EI1+4_G6So}Rt`?>7l4Sl5l^?v^Y=cAD}xBnJ) z+IGj=^>J37a%Iye6PetT;3kYrBiU3o)-8d)e~R|Bw=roKe=T0$=cQ$fu&z`4p)hBr zvI$rH11PWcvx5GOpzn*(b&5^|!|_S>_sFLDF25p@O(mO4Cb4I$38nXczAFCnaXSv) z-UwTOt>+v{8;t?l@aK{B@0L;Bz>&pgIj{&GmloW)(@P8B!=(imALO(Cn|xZh$fpJR zqI!IM%=PAt=8NWy&Yo3&IsNlx^*u{O3+}wJFd#DsAJPYi7RnuX6|^8(;OMl_+Hrn> z7B-#j(L#*-F+sk<|51JZkLmM2(dYko@4qh-+jCY=E_Ue+dXRh^1CI`Js#i%2`}@kv;^)2TL7qUHlRVj0cG>=%NP2TZW2ZH7)y03ux|w2L zLNDP2>n3Bp=wkQWTf9wk;e30(ve2FbWcXHhxHT}XHE^N5kF$?^8@_#%_^w}nn)1>$ zBw3R*SF|SA#atiegUv#_)>iVriV!1I6HKbLcr)b=yY{BkuJ>jE?atGk5sx?6xBTeW z26R*ETW_0==5VH?jx*kJ-8oCM@8fqBAx6-BF|DtSjB}j1E1w3lAH&w|CIWR;wJ*=z zik?ckv{~q})DQU(t8?uB(dw_Hqp0D(_=SA+R<$qF-Ff;iTd!#a)_T_dg&lfBbKPOy zAFs2zuEV@PehhDG>YV`Fj|}~2Yb&N3XkU0RlB2R#e^+iizC?f5Ft+|#Q*SynpgLqL zsdcd>n~?^OuYp?ihZ-u`WVpE{lk)N!~y+UF<}+@sA?9nf}vd$hTH^ZU3N{OI?mh>vBD zw(pE)qj_rL*+O01y=NzTm_f+V_FZMt{5x}P!%K3iXiIeI@9m|R)|{&BwQFrHP8;}# z?)G!tJ$?;37JrW~`)$ecvhj>K{#&&x@}cS0^@Ftx|6nN$c9`Jg&`7WQO2idN8b9FrZ9nbu3NtE>Sf@aeq8hi~P@d%Cv$aEAFd z-~E16rZ_W6-nZ)x_FlRRgdv_9glijK>AB|^!p?e#WZ#C{(+pFETN)GbJ!@073iy@00 zLKYhYALirUxu^S#qvF)HeHSiVdC%p4GqJ1b&mKqng_?jZPUtRhnqtgZJ5+~cs?o?( zje-B8IJ1yXZ24h&C*QPA$k(=fWT{UhnG4NrvUSQ9QsLG38s&~L`RmDFf6-gm{w*u+ zx!|qtf%x<(53!HR0;996xT4}r?gBrGUC$!s-{idJaU@s!b@{+9kKdggWUl{;J?kRx zd9np`9xM)O=U$GPnLk@Lwfr}2;59)=6PyLuB3zdr#yd_hXwP(LKFg-435|eVADRn^$g?%I5LI#oF5B#(y@q3J% z`zU>>Y{zfGh-^M_;u_X-*$-Hs5D%l%>I%XXimZJ-(oTQbx9N_n@^QEI(NL_ZV|8UX zHxNDTz$E?8-qP{K5OYIrySwG%r!vu!i$b6B zmxZ0jqw;4i-sF#o_>Sx#{(K?ulP?`fs2o8hiKOyL~GSP}( z&Q{)PY2}^i)}p^Zs$(8iGmknKVM9oepG3)lk`EPEk2tzKIAoBuQF^p2V#+8J8Zp=u z&^zQK-v5ie|6%XH0Up(Tos;Mofo&*j;F8MN@{WoK`tV`*b%yuO&%JWsz=3}@JZ+5W zuZ~F}I6Fb#W_odd`Tp57e7hU~C$_HH^v@tFj@juhdc+4RzCOqqv%}`b{ zjx*kHzn*o2ec^iV+h_Q;2YQ)Gy{o*mIi!hZpxLgBm-cbeL|0dnHr`9SjkJ@XCDnZu z>q*>8pGCUngW7Stv=5SY8fovM{F|)v>eCIR)siOvF}u99sid7s8h2xO=iAMfB<&Q^ z)Q-+Da$b59>7r$|v&Bohg0wm>FYOJnef7S*hi^6BH|ez7y!26|Gly(F(!&b2i%C0~ zG<2X{lADxv0cnC^SOAZ6yl?07?R4@pyj?TBv@=ON!)uSBv9R2KSCd&XzsdZHkR`ml zpvjy{+8u;j2oDo>6Mo#%Wd2I{?7}9qfbbK-`S9%@5}xDtqShw!XF>$t`V)BTZ^c{V z%R4ki;bC8dx89X&2AEs_!H}k0hOn40o6tr$QeE7VJ>vHxmDRVsng@OAsNuiUC(X~( zKzjTz-^^js{jx`kgRu0itCG57Uj3S{69R2L#P7}C{~+waGPefus~x}or@i#UR-fP{{{N>J5m*%`fEFQwyU6*(cd+9Fm8GN&KY2KbmthuUu zl8>EggS_wFuhsuyf&b!TN;}hQ$Cq=&pOp?zvh9nnR#Kn8{<^%9`+eSb%G-6=PlpHD za(?~d8S00>jt_|^?76VJE?-~xptmlUjaboH=B>*c;QN~hTL=@Num254#)0IRXFXhP zC*JA(mR$3e_dAHgDsWmy&{$u@*luygu@+yaah$KUI6SNk-s`T#s~EtC2pb7~X-c$l zrbinNv6b0~MVs1>h&DOs>+)&Cry0=(ekCkTt4^P0-1V_Ud;VO|8tBi33d*TWkd{UJ z0B31m-}r6wOJ5RhxAZ^QKXa1qyDo>E$h@d=))fck(7~|pldeNPaR;#v{mMe#Yshd{ ziJg=^6}*9 zwsr4RYw$%o*#DsGP@h&lgzXez4k1bK_we?-%b-_fpUGZd{@B=OvNvkeSqJ+v;wpl3 z3pVZOgVN|}?HLGr)+uLK6h3n1Rra2i;oSBn%0+m;wVZtNl~mr=UbJt%vL74snDo5s zI>YR3k!#TJv0r2_8j9;(itF`m(GtB`9pxMENhoGWpX0qKvh%^TR1ymeqg!z~x@v8Dal?JZ*&W z`Azw#_Sli+UD!|U;Qs21v^O|5CRGV)iM%X1-g1|gF!gxcKql&FvNgYET&SJ_3pD>bR>w3}RmU(^bJou= z%>$J z5=YzK32%n~Xid`jlk_B~kS-lZD7k&-6zm%~4}e!rvA$zD`zw^Ep6e`6ztE{SfZ%KJ zN%^&*40r#_(R1;ZJ^p~@+d3h=DSUErp7+FR=_kB;a(<8*8-q6vxgcann_2i=$c0B| zGgVgtYkXWz@I(>;cz`jK+_rNZKHc&;zO6Te*V#vB$NfT|6(>CL5? z1@6LG99<4f^QM+y(%r#c90{h>ww>2<2I=C+gDHhCmh^L-6^R!+wT1{s738rn;p?D+ zb)y$YM}g@$U=lq3mtwY}pv1v(JTKu_skcb3PW>n!tdHGn(~_FIXb zL_3zAs8@B0o}z6!JDFLy)`LN1_FaD{Zjc|5D}V>wTob^JY&1g}t3J44t+($f=-m&0 ztmGFp)Mu<1bLe?melGP4GFRpVkJkK2;7D-&=D>mB$Snua{1to~*k?S)U+m!w+B|3u zrl~LW(#~WreYyUdEzC*L*9*{>E2~rz!Bi(%Q6qLU4=L5-&k(uRv?=JP@s2V!w&jCR_OU-z7g$71XObMQd@= ze0sZuas3{0Su^W%GkQB8-hcb(o^JGRT@m1$;L&6kKH?K&OEl^8w4J0|nuMp_&PW2M?jiUy_#NY)~)_wYZxOZ@&(yL%|(E}GuTx2=J1m(Z`1_{Mm4wRv^xd|6}E^2(m>lldke4)mws*ROH)`TVzp z1Ii@=bq-=|JHVm%t>(%ga5|I!HCp2cKln_Oxob|7nNrbguI2ZRxlQKt{J-lHO{Sr| z+05eqDE_DTz4Oye=1tN+M!fw~=m0;7zHdOY`6$1yBhNhYJWtx!_`QnX{#t3;-8)`( zZO`hwFI#x_zIDZcZRqntyD?l&>sm5I__?(VdjN;{dn<(d=mU+=tv{gn&PH2Wq3 z>wF;+XPp8j?ZpI7IXu$BWA{DooInl&o~gidg@p(Cg>9O~eW@LHy=@QyKK7y(UoY^^ zhR)Cj=70~ph|YX`J*#ogUE2}y@bxr#!wJE+ow?w{Hzm*eQSMxbKi{eOAYLr^G#4y< zR^GVL&eyY@af!{i8$+|gtf-ri*P5&Jf3UpRv^ecIKT{upOnaZH>5 z%)+Jku=VNI?%sixPdE7#Fu+{r(Z02PFj?!@^#0H7>snqt(Tr@IXtL1Q;&6%1W}y#| zyuSDZ_Rlfob_0LojQxXZzs+qweMZS%sAS)$Z>x*V7s6+jmwaDTX7C?DyRr?^nYT&1 z`9}3u2Q;8M9O_`dk+1tWbKCRfBAYAKQ$anlM^NANU-_>6EINE*{U1R31^Q3iXs+&% z&2E!mr(TtP_JVcAXRmefrn^VFi>PwC_osV^o4y0DpsdoOS^3L-uvput{*%1=$9VN$ z|G+0(n_<+E`1f_ik!j9^>FcN@@6KRz zF(7e8u5pmdzl<}Mbz=(i#5|~V^1jS&>~`_#1iZ1+#UIyohD?I-!sj4$zVgEEZt+Ov z75%o7f9LUTU8*~Rt*g#@jq@Bjn#4(@!G`C@uumI05?zSo{c`5cm_E7y-QDlFQFgPd zi)-G2@6>k_PU}O9^k02v&VpOd$6x>l$9-;J_iW0zJbgZGt>&KTx?+mDeB23-qV4{0 zcp~LTQJ%YFynV*q8rC6Om&4n@Nzv_mYpZ*FjC*7Jm)*o_U_PF^0J0&dgSKZ4t|-hI zd}TqnksZm$PpK%(I%6DmpPAy=)A@bkRrc;X{=4xJr}ts6#!jWZC>w@y`u4p?_jhk@ zWX#Y@i4Ha18%TR-5@}h+FTpsbG>$8a(ae>(l~uuUY_{Vl+t@SgIJ)nP&8-WLqu!dz z=5O=HQF$wYbqM(Y(89=%}}%rgLZ-%p;+_rRZ$rxrE;NAbS9-fAyTT$NjY zTo4B?Eem(Q`+{hBRZ;VI@u@)^wB|HF&hv1fyc)0P$v@MpOLZSg%d0#bEGAxE97UbJ zjiczv+UO)besezls@_E)&q4guqu~<$x;9WMKlDy`Oxi8Kd$`N5c8y+FoEz{xrF=fG z5)7J$tMHqnblE>|sV&jJ`lUP@sB6QLQawTb*|#qF;PLC4M_uAS{(SQ5yOsKUnEHb! zSV!V8bu|7RbwsEmLVm#^TxuSM?Ap5knps`keM&#$ka7FI{XF^r9=2Tu-w*gT5!{xC zIxb&Up65OT4^5SLsQBHs(@giOZ!z~0yt$VZ-D&P|2O)V?u4Q15?xxzgr~Q7y(%plW z?rsIP5)Z|$hdS?h-sPdnD?U4t{A0YjRCoCybMHZq?v@;dhc4{6?*rVsknL1^wy<{> za(7O8=Nt3qFh`|V!2Ydp7BbY1x!OChwx!*DjpQcYkG1l&;FA2>s|PXLcV34MM{-lI z9z^(O4`xy?G5@D}a*5URAlGL)&}aAV@sWe!C27m|XVt7L&Z_ijbY15kevHi%uudUO zV_;>2_I5k2;~TIY9Ch?@yQQCTyP0vTdZ_<#dvielfX5L@=wz8?`FCN1ESS=YBKyP#I}Q zo$0RoFgRge_mz<Ivxo{Ix*$?#d1P>g#WJFXp>`w~)vG{?_`pyXSi8 za{}pK9%#C6_0ner($D?yU%H#U^eKV#Z+>uZ_XIC}d?5Y0EC1L%%1a*^NZ&&J4PJVE zApH%}YrOR8K>C?ceEWLokwE(Lr{C&+6W@dC*S@n#{dynycX{bM1Ld!VVc z#d^oZhwf`~wiyjMoXaAcV#oWkWYeG0$Dj`}ly9}1op!DA;6yJG{Wxd*lYmqA5JOJ3 z(0;t>mQO`rZt`_Py4QOoe+TU8sa`&Z-95MN6r4OLTeyU}OigT>97UYU;P= zsmMe+r!fh=*Mv?&Wxe|de!F|o(Xp3BSK;ov{q&uyu$f06u!`^$x`7trPZO3Cl7!ij zW|Isxn>YFP$^$dZ(}a11^@Nj2TQ_o|sV-|a5Apxibd&iwd;cWA>+g3%jCkwH8D=*j z^EP)hi0cU3zBt3YNqFGjo6HJAmXI{fCPUmp*ub}O#6xaIzs2tmzYX!vKh|X0SIjV* z2ut{VH(}AgHJPXHBaLt?p^Z>YSTq~IY=n(}oNjiu%`iXvD7JKj6u&1C455MWpSLxc z*9bqkwaHX12d;Z(m<@#OgonvrBz*HDO{S9n`3m?>eO|r7Xdr zo(AGqXt$2vZ{Fjk8PZPj{tqVJOZo}K<4Lb1juS_S-y%Ikyo>k%?LO`OSNu2ruP6Q! zagz8Gw=|hIPMc_E{du~n{_8ZeZ&0(@Mp$z<{aZ4_q>1H=#Xr;2Z~QeO)8Eq}dknp; zvg5HeRN!C~XgUWc{Bec<5#;a#C1R@UYe`$#I7;D-__ri;xxWDdfzp-bqC4%uEXXd zcwb-rodv9`{xr?3q5UlJUTjig8<$z%=7QrtJvhXBAM$l*;3|YJ03PS-ty^>Q6>}X!H0=8-8#Jm5R|P-kL!! z%fNS&+?h_ba^5>lXUU^=A6tA`{b{0p?RW8Uj6T40jY_-sqeJ#?wCjI0lIC6|aLYgA z0APCkv+{4ThCq;Z^0(vmWGlo$%hVuZ{hM?N5Qw+Ju`ssw!6S}fPVUe z6FL77IR7|9`@c+w?&!%5DGf}b4_6*)FV1;KMPVcME@kBLX`&385R4}t1B`#6exD|G zFTmflH!l_YdS%&vp(D#{-VR3wly9WOnUTT?PNHDX{E;==&)_}19kK5H7iJ49!}*+l zN4dW`PB}syj~`nH>rPnSx!GX^!$1@*7 z&`~%6Eg^G^@@Vn5FUH_Mt-KMbxw@`X?}dp*U$W`Q1l&Pn9#W?D2fR7?1M!j=^+pJ9 z&1d~2_&ofcALw3BlKU3eRgsS?C0+h`j{NrRxKjQV#8bCZCwCb+KYx0m=AwL7vEB1V9$$;AzsXuXcThHn z)r7a3@jt>^q5fCLmKBp{R1`iv^h&EwzK${#tciD=R9@JGe}n<#!v}D2K%49kA4H~H zTa?{|);-;Mgnqaq%$~QMH6i8NBIhRtJF7+VzR2pOZWQcM>Fmp~F)B}B%ZNM> z;VfdeJ=2@%p7+@^GuM{UwDIQ0<(vcG<<6N1`vE&oymgU1fQ92E#wx^Z9MP}(BO2X8 zxh<4aA2i=mX6-JO6|B%hwEQqOkk#Nk6wrT5$GDzx)%*3@OPo1qI%|-5rlri~6+_*& zANS9fMdPyr-^j}x<&Ae>opqKwU!b|JN#1Y4I-Y%54S5ozx$6M?Cnr026zTq33UTW6 z=hN>iOm{v1#jE_i!Y`hE_PyuLT>jqUJi0!UcH7xwX-^@$u+8?j&We)x?VLSYA9ZPe zK4t#l`J}tMnormv6#nzTfoG=Bj`n`;UZ%bHW9aN>e|+e@1OMpGH{^&Y=gNie960du zBYe{s3&&+D!`#-K^5@fV@Lt9|(OkM}NQAThWyMEg?c9$-HV(|2osWU1cGrIQebldc zWBo7$=FO#jY&=_XC>xwN!x(3L-38ja!rMY5lsG%>- z58n>gpC8!Z+WCP_mihI&o#nh=FB>cAeh;1(FZa$1@LG%Qfoy?2yNc4h*q2yW+=mP& z+7^wAwgs!^xp)E!>8@WqyY#)=$+w++{yZ@4rM&)JIGjCje{&%}U2}mq!I%djV}2Hj zori9qEk7EXdJp5diM4P&;nfe|Gai|AF2Ap>oM=W6ZY1s9J0_a<5Wj+)H=b|xgpnEc zdW1T{$S<%L{XF|v!gxZ0uy5WBvx~5X@YZM9M-pZc#t=pk_I{52AmQ!EM3W~Bx}nLe z-agUv%)syWYxpPO+iBRH_-nM}pAdbJt+;&QeAQcXvGJ+(Wq@#%c#3&geU?VmRjdG zCbw}f{)&z}oCB{_qVE|nY*Aa-WL98ZQ*3=3he1uWXyuLxJj%4 zF58CSQyVI4%k^yoTNKLT|H9hG(52}*Z+dh9{Pu|h2cVV4QQ<>bfB-Mgo~w^~I9mIhN9{Nq4_#Fhq$MT6f22HBwCbHUP}=udRW`<1UZ zBw2Hz1IaL3poKxALui-%4mu5&9{&@1ke`N?AHK$92*=v)-T$I?>u9r*;N$EYC;2%0 z=WT4Z%-Pqq=vv0(Pkh>^PWfptBe48Z?qXSrI{pxAl&j;@YUr(Y5`FvW8E&$rQ_BR8ZZ2q-Rm;Csuto(wB7l;qI>y-G3-lQwtJrTXbZy!}ZL~rNPzAxjv zG6((5Zw|%jBoC+ceE0o^3f^{T-^xEJ*LF_6rbU}N55-1?>B(EEqH$tNUKEuY{A>rVbU6}+WOx|1>KgLNm?rUBha zC3y06Cl7+JO0&q?>06jsH}w8wgnsS&1nb_8L;HTb*Y}6+DD6RgTC4EBy}~zNSHb*7 z{#~(a5MwJD@Ub|y_3*yOob31Xo~>k!HQ4QyA?uuAK2aDH&%K~Mp5&s9$>;MM6Wj9G z-`V>~q4*a&!rTiGZ`Ijz9lQ(rc{n9~HnOScCJY|S%)-|Vc-Hvuh4#gR6E=@4n~w72 zw<>I%BEaB?XCwE>KdY0M9vv8SzyL3mY-RTz_P(BU7)iVLKxdE-C0^M1L2LsB3wtBi zo-xUOBeAWsJpH>)*_Iz_pLd;=!{EVPs*AM=`@!@O7*7AJm$t zepWgQ?HrsNSc|m=`|EK8|7Jf-xcxs;z3-!5=_UHs+YqQ1r9#)sAG^lPduh7abvwFj z!rM(vCVSI0W+fp(7)dyqu5I6o?mN0i%lE98FQ{A8`l)#!Iu-qzHrMCiz!dsKzCDTm z$tN?~8``@LR(+N>hY9K-W)N^3;AD^Zqc6`;wcr(mFGSc^uO3* zd5Ubt;3wEU;#1(l6AByS&*gLJ%R4@uKJeP<>@{*=2`F7KFrM|Wp6Y0%q}PSU!xNS@cqX)}-Sc503s-`1$3O z{_(Tn81QrV5%9y@w6KQ8jO)1mBK7Zj-J4z#il5jKif0R&`;t#KI?v_XB^QA|hjigk zcp3ZoaTce--`MoHGr{jU;O#8z&xe;e3y_OSc-aG9z)e^Ec6b)_pfyavU++T+-WKFt zCac#)ADx80lW_vHA3URMfp=>ylRcL8J(tq{9=d@Z#tx-?Jezmm^P&yQbJ*+ZyL?ma zxMN?}$yYU*cZDaKcGl9B%$H#M-~1=rKkX>(Z>IfqS8{e0nrITVUrqa(8^VJh2iNsj z9Q_LY6K*mA*lLEM9~ePEwmt|q=@M>aE2aIhkDL7}pA}B-FYW}VrVKw@$RD!PP#$Xw zM?3odG~d^p+2@T#@TzYSC!61Rhx~U=%q32Aac}Li+O&>5uuJofyC+eTv2r84GLuvN zFROj84$WQFvzdDIP32WKmf@XCZU)Vc&p0Kxd|QPw(~b z<~!uSqh!lp4UX#w>yZrx5nuVa3Fc{!XZdvJ%LRH5<2=EZP#bNp)f29Ma4@$c*y|4TD4Bz-Kxm>h(0d;Psj&}4+I*Zf0yA_G6a=qtB0Xtru zudMr|^zQc;B_}Nf|0NqV`IXA%yPkIKc9d7R`y%;M;6`|{Z~7i$gLXelmh5<2@mcEX z0m>PdzUM}=>WCo!@CouZ1sZPmOFAin({ajmZre zcsgrLhP^-a$uFAK*QGPXQOMqvDQwG`Uxqx$?K?y1=^gT`xU-G6)7e5Ut2-#%m&mT` z+>vs9qx$WOo;L;GVupV8jk$8r`^^JJtg?M5BYz~eV5fAHCbj^*hkT0PrGWh3hU|Bj z0{RK`5$F^2F1p_S7VSyDp!2?g)FJ!ssL`Hhc}{xuNp?;x&!Hpkw&yC^+o#XVnVaVg(oUL7CmQ^yYib-aUo)qy&G7^veMzSVej zOzBg{`am6$&*}nod_7PH%!~clp>Ix1q&}UM3YX%M6I4Gm(w{%m@q81G#4}qScYlu~ zJ{Etb_5Y`I?i?J~aEf-*qT$lJ+o#e_-**;n3-puwO?K=B$BMg3Z+p0XJoKG~nAb-)v@p-=aeLT_Y<2Kqp(m48kocZ%(@8h@n>EoO2rManb^!vDfNNL_3 zZXExkPaoGFp^vKref$l5Q-8m7jD4K@^s)Cb-A^C?>o9$M>=^p^p+0?_b%Z{q0)5PS zeZ27)`?&I{WAEdo{q%9+Vfy&{`9~ke#y)*K{|J3NH_*qAczrzk82h;K$)oo%4h;@~ zHr~GD(D`^xppUx$X;Kf^`Sl0#YAq2>i3eRC$agr}eS=7c#n#8pEDNLbDc-UVwrFVxb=N}{rgPr81vSU*FQ&z zB#|W&;@MNZcYaH6pA29RtbL8-4E4eK-{(Jj`D1=}#ot4k6nh#Yc}!<;*t$|5_sDjh z!kcoj!N|->!O&J*ML$=?3GlyzWadO^|K{KGnQQBF>MgXxc}?JLBI!t{{A!vR`!4ongx##$ z+u?_q8)uj)ghs;Czno^ad;l9Hk6tuZv+aM*scr5f%2zQ{sENVNcl<1ox1x32ba$3gqJe^AQm@$u7Q?x2GPnhHD_$Ka_3Fvj4D@r#!8!yG|9o4SsYRGHP09IsLV84c|`x4RjYUq(tkI%nZ6%zNiH_B69Uf;4qqn`!=0 zn;H9btLb}9gDw!~T0)Se-*Rn%eiCZgM@7&7a@H{uKNSbOvFE@GUNR zne7&{l zCc^F6x>%5y96|hrg87li)EW~+ZqvtjFdyW-&W{U{bpGN)AKKP4(&|h+W2e2cwkmhQ zfv4qIE6NdbBY(;0%G}xePtrP4e)g!U+-dt0tAqRT++XSXQZq-izRKbF+Waj1HFTzZ z3viYG8o`f7{NVQLf7<DGFIUCR{TQB+*Pl`kf=Q!R6j0Kx}qS#~kX6KSg&Tc{9!3GRJOXptS58Z=xJM^Kf z&Ww`)6oI*R*es3%rD9`Vw zU1M&{o&fB;ach3K%{0CHbTch8#eDaee$Ed|xibm;JVX7%Jb_^3sgRE z>0<*=I`-ik_~y0kC&WzC{T!|X=}w;fj;txHjny+Q!W+$V>^QS_f=qSCraiAY&PSV0 zH*3B#xDBg`K8w~qMB9q(=6CsE$mH?hjx7&NmNVj(6emSLz-J zUp%;M`PRTvorC;{wiV+`xF5KT9Rge)E`rNL1Hk25KDhjuIt8N#hX|J! zR_`2Ko<5Sj-25|CxLi{LF3&t#;7@)!di~nL=_pwQm&*o#%cp#Bx!;A$Cx!@@wGYxq z-x|2i4c1(&EP*WPK!*p$OKZ@1;*M{s^k3GatIe0?YdSys7QCpPbzH^ysZH^3ua4rJ z(JQ$x9s76Fx5B50+XPQ%QE`m?Tf~>e$JBmScY|K*E1h5tO6_E4jIi>I5>Qz!T0iu_pw!vN(3=tmj< z3Z9B_ApYI1y}I~B4ySC{9)rpG*;sT{KF0h-@R01*xuu%xOf-vMl^iB7#~7II2>Cs^ zd_M0qJ|69V?p>#wIixSJpW_m)edgTMTWU?59SBx#{_GOyI)&awUFxggKgNf@lEZo@ z`8vUezwhV0Gd>{DCTRl_Vy_V=Gz2|d&-B*U%u#GrJ zUOvfa|M{H%s414wJFZi&qCClH@d@dnUsCzSGCJYt1S|OFwfzsYUH5l#9f;?8GWyyF zhR!E0r=DW|xz^WDKcCoe&ES0ELbs0^1NHHOQhiK1ddT^F6D%}_U#4%mKW~sedboAx z{rJg6WS^7oZ$bYEfRp z&l0z^j1D*PyM67{Ex^0LSDkte+TD7lKE7dd?Y8b0A8s`fc#n8a2!C=DP36s6*8iCM znJDp5uqg%CI`*M;H&!*B-1GFyi;joBG%yynZh9l_wj) zZk0!W9;H8HDN}6{T$_Qb)(Gq~bl(_p);0HW-v#ie9d+_$*dnLp6xZV`ho(n1Menlz zcy`D;q#A3=U_;p=L1*-ejc z)S6nE+x{5xS-d&K7->#zzhnE+SWRSHy>%hk$hAfdelo7;8}7Jlgs#24f7sM|ZCc7d zIqu*V^2v!|;?@;r9Z7RyXN|&H%Mfll^KYj;wcgqW?UemqcC+9&9Upyvn>=_2suyp1 zmbTy*XWOQGuU*CYYmQpAX)o$iAJ&d}eDjaSJhFNGn5Z*uV-Df@@y&+v0%I0$dfZn| zNoZs?Um>hpI^=YjvQotm3#V` z`{gHj2dw4y|4sM%gU+{3udg1xs~p)Vtc-@PKg&3KbgcLH(jHy!)79Ny<-YIfjS~;- zy!MGMWSbCOJTr>*Yha*w4_fQFi8g5MT<^3FxZG`bcG>S9R#W8{KD}?|e1wPI~KUZePo2V<5p=8TlmVf@V(kdi?|KhM;MkpR03)^ga}y zlmCn@Z%JN$?#ShCPab-(E2FGHGTk}T%?AvyscBt+)E>jddF|1u=euxFYxqvSRbBWjT0K6HIJJ*$?9CWDQu4Hn z_AM)p?M5qa@OQBO(QVjQ%?ja38~7rgUKt_AC;VFa20Sf;&DpM1-~IT;9-V9S2;Ux| z46oj;_@Y6R-72Gse@~?xt;sol(^^mLKW=V-zDd4Ij%eKl8Cos>(!D5Wrmv0`s|&M- zpKnur@6SDKThH_dgd2- zcvQ;vw4QImAL)Dzk2v>P>KI6`^>n^_zC83kf1i4a_1bD*U;KSut@ir*Y<&6p>+=Kr zzhM&#Tj{lSRNycuy2OlFXOxB|m7Lv8H|9S`W5otc8C( zn*F?^p@aR9|Dz@UpF5Frw@43=?jrepL2l;Ro0Hwe_?eV=sNbByjNBs~#3P5knFQEta$0a9at72ziV{gwz&|~Bijz6`Xx0=XBii^^D z1oS5Q2}uuQ-pStUeJahoOjY=_OjRV=r9Fl^lT2+*b$kj^8WPx977bpLVE1*D5epCEmT^l8#%q{~THl0HNF9O*wv z*N{F>QW@wi_Ika0^~&{Mm0!=-a#j8mX)dXqG@rDPw1{*w=?kO|(ru(Aq-CT#N&0^| z*Dt#FcX9m^DNVYYbPq{+zRLAp(to+n{&slp@ArMv{WnMtlDjSlvjQC|Kq_&{q^4a@AXcw(zQRBsPEptrLIr%-GkM$-2cLt zzxZBo_!a4S(r-yGkp4h=k@PYtL&}oYlU^ZhAa#>Ak~WjJkX|RfLHZl%P0}{fTcm%H z4EjSEDM+d$g-B}iF!x%j{k!^3bl=~xxGES;Uw@0mB^d)@+O@2s9f#$lpOZz|L@nf z^=v_Z-u&f_-D6j^nYYjxeo{+pRMHFF>-sF|0q!5=dh*_#PTzb$0LjOMI{QeV@X2@7r(rR_psV!T0UI z`PSh3b|T-3=NIG9G1PBwO}4_y&?WhazW0)snsW%Rb?v+7n7Ky++yytvI#{~{hou** zOzS(FbnvuKJ=T8Y%*P|(kn+}BJYtO-eMC4Xea`x|r279KoAH=yHJ|2x>6U}lS5Dt1 zqK7E|mNOpTFp{yB|BartzT6%!QGcoSqidkNSU*G6E1m!T^YP6}lxQn?QA&FAhR8cC zn(q9?$H@;(^nnX`tu2Z7fScC6*T^K$YmbaW=wk&^4X5ohAQ9eADKPR>w zeC~c%GqEqXnk31S`Lb__Hnd(O8L(8PCM(d_?hKvNJmd3ezMO`?3!?S?(=mMY%I+q zX?u{^I2EoRSVekm-iv2s()04e60uB>YXG};h^zdqu;mbgWS;f4VvKU5C|~0)dysJT z&KR;MrulF?_&^!JILKA@Cw#-LT>AC}^08`1p7K7uuB$fToB@>(AEwO8sBmXh*JnPt z$@-pozDiy!FVF8x>wP1rf1op!6eFgRJl@*xQyuKhAw^w3Pqm$La?AFnAHa4TZ8!|L zcxyN1X5I$*fSGuEeld9>(xYgjEvp>A&tcWSb4EGXGc6zj&pH7Abt zeiql9INAmnR+^u7_5RPd8Fvt4fb{$q+SvBjW@d674b2Va16s42ba^WMcsuFx7>!YE z=jig;Swo}CTR11w#v%k)Dj26yba^E84@Q>}@_2L^U5pKnR7{tv_o5%*is({$e<`}W zmpntE%S%?YnpvcGnl2xhKp(*Mx0^0ktDfY})8!eA`#^NL>qgf4HP?q0eY0$m*`iRzXt?mvlY(c*(2Zv+>Rt#Jd`4xQ5 z#>cBxo4s|-dtXPV1Adavjh0{D0nRylSnOO9deXN)EAB7rul2rfVXfURdSr8{_n+l# zc-EbAYpWmG%vrdLYFR5T8}r3Y0vwA1F6hSxOtkv#I_*U-AA0ofjU&?&%%6X@?7j)O& zawU)CA5qRargY129GD4z(G5dBd(MN@vHsRJlW91IMXJ-ytorF@eI4|5MXOoz$Cg2L z!zN%{1@B+}@f~%;4XX>fq5NyS_yK>PUhG4(V~m6^P@Z2GT+DNSy5Nm`^K`+dzvbL7 z;5rmtaO}cD9IPPt7S&u4e7p8g;0~_XHHSrC+*G!LaR%oa!ow}zHAW>TiOC1<1zA&< zo);4Cfg{qF`^*i%TfN8Et-9kr**+F$BaHU}8@Bh{P`zrCaBD7c$mNe65<17jka%c~FFTsGz={0eT`lmQ2W;GpNL5Eh=1){|xgjCl$@ zMR-=>;+f*WRDuh_iTaq`Z@_*z;RE}>!3V)l`s)&_uiT{Yz;@bYTr z^gjY;^i6oVv*l}lSxw}o?8M`+(IsxmD)yo9UHXRXE2^gg-@8WO7VD7gX?AR%Ycico?qfuKL$M)`6a&bV1b^;SsZ6? zIC%57vI0GOeu+!@A3d|zFEQ`?x8RqE-wFSpd3oV~zh7dzuMFvy&-==NpZ4)f{GhK4 zXMVY(U*dmKo_LCIT{`(yD!+JsnQ-Q;v-zgBY3{lPKBoICxDLcqJlVPahMj};>C{yW z>*c<_`eFUW60kl&{fHD`y~y`(F|6N6mWK6_zA^;s|MZnn4C|b)jQ(JK5asz{eW1$k z2iE)Z&4cwhF0A((BCM~PyK}I9?fe~K{Xt(}{jiRefc2mF-w*3!eg782dbtlye!TvL zuMENZAYU29uwLjZqd!>xg!25b{;|sM2i8B}n+NNEQLpYF<2n?)u9;J?n|$T9?LA*3 zz4$eqN#)pgWwV|9UxhUQ@tGL(Ru;j=$ay-J|FLdVm@jwa>!Lniuy7_PIawAq<$-Xl zJV4t#AFgo+7Ge}w{>3~{K#CgtJdQ(aFx>OCF|uie_b8K0U$-1-;m zIs5FbDYz7ZPd>l=vJ||c1Nj}344;;x73hu2nQQaRJX-dkdx-I-y=K;*E$+zrGszb) z_`@UD6gM9G2>ib=H;VBT%#+)2&(WTU}0L>;mXNT2(!lbyMN zvwv(sCY&V3CGDu;S{-rXzDXB5gE6i)d>T;EK&-h8so8&m$*zCV>C8;AEjc3qp9aXmPR z{-XWqcO80Lejobd%|B(c*(*kS15K`z4!>t zzV}U(p_nC}Zl+ib27frOjqx$(m?c}Mm?fXbf13NZ_UC*i(t47I1#-QIc{l`Dg z&TqMfNae&+5bgpOi%a5-4UCg?u$rW^N3${J>^EuP+C(zINpY^5z}I8RM}GRTc6}pP z6I+{a0M{CYYjMt{W*=rK9LrQh>^YX5%!N+S7)%U6V~NQb_Fv{hNsY^I^2-zAX}`-S zJ6?N5d|@fiN%UsUqOm@FfyAwyJl6Y+7VA57l2RLJ-j?Ok;JzI7x4+trg@Fv8!Onc z;-?hs%fcVomxVv#9ZiP4y|iNteW}2{EWD|}zARoZK3|)Lm%8Wuc)T8afa^=_@cK77 zZ}d%j_KxNgtGcdx@8+J`H0P%RYg{TV?N?KWXzO|Ms%?4>MjgFy9dkd;`(~cYT4-GO z2d>h_neZ9!KfTi$sh*uRYGQjcM)SZSjoS@&y+-)GGOswKz5h{{_G5+cFED0&CPu7Z zV825AQgs~5zC+gIa-U;7*q4>1{v7rUD+4rtXAQ#kp(-NWU71&WQI&0F5AXDk_I`yU z#QoG>`IKU1s;(J|O?*_Cn72BAK=CYsq!6i=v91FbDmsuyi5nTuR-J!_{8`w0{$aH{ zhQx%*5UZ!#*;6(nvv#Dj$AvYsazopLG3tsFbAm)X9L@rB${r^BcS^W2Be$GuR*rT zmMwWI*<{x*xC*~K*)*5`J=r7~Sz(^+Qh6#P2)x3Qxxh*GPlq=irbWv&l)n%2#*42;ciESi#ebV(nz_G=d!@-&wV4pfR)#NFAgp~w`=>qQUZ88=gp;A`TEtmH0j=@h@0?pI-c-}S;r1)JaY^84p`c3|W3 z`}k7YKi}c^$&7`|G_&$mkKYRh9`1_Y3kFg3pY~M57ohh|$yCM`W-5JrzCNw?6!?4{ z&k>UNykO$z^8uAbo4s|!q>m2k6Y2+kI9x@C5#y{arRjs{P^se)hrlZ0?D~4#?L5XX#9e!+58MnNNX>@cM-sPi%M>$}`!!)= zevv%-_hOvP3czPm=yNX2B`f8hCtcf~Q$qWLjEi$V3Ey0ORyvcjcgK;p4UB{QFr4|_ zs;;|_L!X5vYY%a3ErM|kd8E%Sm;tQQqV=T~t`+p7uaDPK3s>*G$NMx-)m*1KlI~pg z)^^sOXLKTms>5X~Use44U=mt#_f3Rgw8FJv;Fi8gZb;U$Rtj#XJ6o|0i$^Grkt+t>6=F>5YsGcD@J9`4Ki1N7w! z8P-4IqP0DPWA_Z_ti$dpX2Ydz=4S3MCV76!{;T+`o;`m*@hSK$?Xc&`F`sw#0&5;W z_C$ww%3svOSGD;K(OLvv&H6(qf{zPHYbDwnr}AZAsIf7=?72?W+I#kqE!Y2b)xjOu zlILV^Jvl{vXWM-sdS3%C5Wi}moJLX;DNL#*)sgB+j~(_zXEWEar27x!98>;jBzA&$ z5b=Pj$3|Eei*~H1ANb$gPWx`4U2`*>FOw~g{MerDqyKHRjplT+YYD!r$=VolYL7i1*RCIW@jY$4PY1r%Usq#hu4y%)w&}h8wqH=ZKkTn< z6$M|j7RR>J8RRVIAZJK>cA{mSo1H#%u-B>sJ&V*t3eV}t*9KUV(OfN|xms(EF*>2y zoMGpI-h6%mFkp_r*gO7W56mw3@I;ft=}Wq^nQKKv^ZDWEJ?w>=DLrpNCdzX~$4|SO z!w2NA3bO8vZmapb+IG~qfAr|R;4ZvsG6&?5gBj00p?0VZH&B0!^Pyw4=ofKkyl;k_@y1YOEcH-t?-DGuh2gjO==0t*(aIBkr7RJy>sDrr+NoO(lhdbzOeQ4wd z>SMA%BWo@%;EuIx0^?xPnG0e2wlwk|F79XzKr|9et+X~o`S(SsyP4#NvERSX8)wNJ zk512b+fd=sX|t~lQR)^hHgWaFS#&zijN}gI3EI>Js4I%r+yg1 zr?KVF%YKx)J)K#!?DsEo=AI6mJIE*B%y$Ke^+#ONX6AVEg;A`}5YG(>n)Q;)HxXlAd1U+5neRGFTJ3$3b_zGvarN}@Xy_dCk*+D`&QIc-RK?j& zq!ptlo4Kz{F{?k(X6~yz$0SMLtetFLxEMX1H2WfKCl~hhYg6pYEyy}YK6T_jiSLJG zT{*JRi7~O%w(Yet(^F^LKi$SE4$#+eoQp0Vz6Jl)@M?HpT>B8%>yvSf(ZAdK516T4cTd#S|R0|V*Z?${nw@_cNzC#@i zapH1NkK#DV?#=mI>)Tv7>YetpYJdLs%1pQCH_(vepP1&xc5iyMNomi@tyW$b#fism zRwKJ6XP8xZd+TY7#_IRyV!J?w0iWuiYZt=@Ym7YIZyEp;B=Pt@rBN+gUD*D`yG30X8>L7 zwv*>DW(D0(<5YuBxadoBKrh~7Nqyxq=_{=R>MPhAL8-Y^_} zR$w!huKj_r@W=!15iZ?^Ut+*vdS8Ol8M1Dr+KT)Fy7sR|Mu~ z>S8xyUsD^}ZF!0{QOC2|2G z)uNReuHqHq{gOq?>5Ftm>B)xp-;#-S+z0ulF`bnt#D!8k54BG?Qo)$`<39zENovbq zX@maN+^;T@%9lm4XGFjS-j!2-^A`5C`FR87)fs(HD&9`DiD+L9d+}1=>I!y1-%0Qz zertYY;+OduTee$1ABa}kbq#BCLbht%Zj-)YH&L6t@|dp%PNhB*$>a=e@!}Zu&S9xr z>${?pa9I6!=3%UfVLO(7%NRu3^RJ;-3qD@ImVCMpD{6-38I&VGcstK<=NNh58dKRC zQ@32jqR~9VscY~#h+x=4T?11DhS&1bcj!ojV$ybZXa=@Y=?xky zC-wz)2HId~uk8OrkvrtePO|Z_Wqa-?=KT=n$MEEw_JMeF?~-zB2<1qB4kv`W{j_BW zvTx#U&Xv7ASnEF3YF?aFz?(0*^W~cY%$Hp~%o_`hnZ`?e&&~nD#1TWz%@$u_j5HqN zGeaGd>^~K=e1I_-0vt5wkzLrJ=Sg3%b+f){@wEir>Ah`xf3P3I_-XuW7{9UTT4Cr+ zXKtVy93?t9(b53AUXpXDg>wm)c1A42M2} zZ#`D^dbAg}w1+GjBcJ{td_rMsClaRpNb(x&75MdGGNw;i3I^ zt@rO^T{Y&eSIevK+N8K-lkvOr{Ni@_$8E!YC#>33w)WPpnGIcC*M?tvB|OG#4j&cR z9Ap2&cznud)^&9?J&PlC8m6<6yoPnUmjss{H1O zw*dbF#aC8?J%&W)Fn4t2d2V71RBr|E zq!)0ANN&6xt2?btb~E?AzPf*#VKSs0`VpfaajzdsZ9m>kd5?i3kEM`hlA9@PCgFv| zn@i;@sN2#f^{TDU46#p7^!90CCQQ3j&KkE*_%c-Md9|-kd%1lYRT0Y7kYCs816Wf$ zqAd5I`y8k%%ay;YEO$T8vRz8I`WE+IpX=#w9m&I;$>7_;&;11a?8xsG6^<+3z_+?g z1pOt#{DG_D1G0zO&TDG8hIy8cNiA3A>)5n!C1D5RTF*7Yl|2sm2CfZU6$28Ve(d0! zBgHk!HOjS_YctoeT*q=XjQ=?59|w<>jw5=yjkfpVJMVNhf=8dS`+Ksqj4>0>Mt*fZ zV)u5>N2coRBCZkO5SgEU)V_E8Zxk=?;Z5j#F8`0X_EOEi52a46W7I~@$j-&?QO0wv z?2&QlO!3@W@f7aqb5=I1cJe6yo0MOdScyK;np=b3xgI~H5cgVJm7PaxtFrId{TPf3 zV{^OsBy)GxDHdm^Unsj1>-6x@K=`!m_%`Wx$PW5#*ypSJ%1A1sF{li$WsKAw`WD5{ z2D{epsDCy-O|w7d(3<>UG?)6#kN=FXuX`2&_3Pa)-v5uDIC*t1{c!HBPMkUQX(9c2 zhO*>iRHL#ZYSSqh`KBRzjw<6E<#Mf+hJQV}JRI8>-%h($N*_lPbF7;o(mQ)@V|3547D z-?bwFn}4+K2$w1sE>*xq@DOYS6YZm4roQ<4ub4C*Y;G1DSfBRb@QM94lb3Z17Y+;e z1RN4B9Fl@Vn-30cxdns3;kgS0hgKI3t$pC|y%KQnXTv~^nrt99=Lf1Fwj^F z7iF)revm%fyT(Iy#fzKOmL>V&lp{Z{3UJ4hpI1$1o$i-Y%oeU!a(%v~&9px^#XNg< zVV-7XXbk=gUk*guvo+Bac*PtXT6lh=c)Bw`lfSn71w`io&N0DO{Hka`abRmnqWg){ z3gwy@^Le)~n#%;DDb50E$M=PQc-GlNDjOW?ts~6;9^Y?-_AT$AoHB4xz6IrG$%a_q zwhi(ts7y}IXx!vmAbZK{)8#X;WP{?SIKBn)b53{ukn+LtZqKH&!Od5N4c6j#uW!K; zOE35|j}{DTf#uEgUu~_A%I3OcgLsYns{-K(8SNLVcX{IBz+QUO-8TOc`0W|lIne9N zJlBgy!Jn?D{l)xA|NMqL9)G$L{*+;@Z)f<^G2o(~KkYvV{)q-vug9OhP5nt|O};_m zIUWs;oFSU)%b&jXzJJ($dUW_T{@rbUv>SA|c~<{)_&dgVAU^Ghgra3D6~1}y|Se*$sa-4oR4K`)06ox#Iaxhd_9DOk`zI;eqfNh!LU!wF>htJKy0G8YR-mb~I!~tTU=mvIpspx3{L}=$h_8~vak`upQ`9vNOIXe|Au#K^Sa08fb6`{@*vN?=GiF(BV=H% zESBzEJ<9ZGe}L?zb#ZtfG~%ocr(7Gryn$`c_zu_OyN`^nCMLvyd1Z@u{v!oj1bUOT z@tH&_e=zL{autk2T*do`0SCL^fcA>V9<2VWecX$O9Yo&$0u~3c{-eDb2PK}!C&7oS z(o=iqP>RE4bs75lWG(A55sjB)&(hhdKdLpo@mKB<9LTrh`E7O#s)Lc8U;DRfG4!)O z(GHCJu}chLZd}LzYPWRAIipPXv*#Azc;ElxcB{>5dkc7`wx99Ot=+Y>U9@0*XlQ$} z+|~PMPiLQvo5$0)0|{$4&6P7oW#B}BGBwYWu2Kii?1;Ory`sN$6L7vBoOf_{a6FI1 zyu1VBxp1)MoW4FT5#|``kMLN0PxvZ47GKdEYdZKZ+@Ja$*5B197w4xJ;d~2uHlDq) zrv;oBUl{NH_d)*CULEhh@kRf|`0r)@i}9c6LG_DQh$in@In}Hqd3@GSGh2bNpJx8b zbHt?~@et9_7Vyyy`D6dGu?PErZNFsX<=4Hz zI?+q)q0oFf%>L0u=qmHdgSwhY*^sWjeWFz{`O&m9=WErx3_qGhy=!WRGX~->%#G01 zO!qzUf**~EFUrd|Kgcy0K__8dPxY^xra8Xi#+06dV-`IGqqz`)`Iu&N1%Elyzn z$;hS_IC^d_i0xB2GUEJAeQ;#M=Up6$`EVrW;mE`ta3qMX+t=5sfFpNB2gVW6m2gCQ zvWFul(r@`%c{n0Jt705EX(w^yxFQ^>cX8y)Ts<6lesY^xOS*~_BW;|pBaSp_Uti4S z7acqDi|`c=ztH;oK>XtK)H_suvDP=v#r)z@%DIR6YzTh|;Yvls!4=8cV*Zixl`|Os z5Utj&f_E@C(f$0yrk;t^qx&-IQ2AlL*Sp`Z<9nm~J>Y&1>3?{SV4?q}?LoY%EW)eR zMZBjJUVZhf!SU+eZ9B(%zDRyQ@0m{>;yuHCc(wX8_QH``NT2_~6cgt9bYQaiT4s`2 z65A2SruuO#366F2l}S--tCC6Lud-i6QuF)Dqz*?Wt*0#o9GjngfcFKNG{28bk{s+$ zCjEwT)_FKa85YO5S{&mVBaI`CC8d4k^uaN{%^1yC@y87f_FfQKa_#zj}zYC6qwH z2^Pt}%ALf)ZCm@|U_S2P;3uie<84zXat1tU%PDQ<;K!zz2e@9aeUdr!JV}8l%2rAw|ux$%;%aZCo@DGe9TwQP;l_&l?5D}3J#@8;NWk_1;;cOGSYUmbFNXg}e{Vu&%BOodZ4s|r!@czP)x6hwStCjMyYh>7$`4xn z+2fVc{hLYB--WY_C@0FAmgKQ?FY!vrW%0^l9j?Y#j>^#dK>B=w{C-_da|iLRX5k9w zXC@b|+N4;4dZ+dD5Nqc;pKawwH}yPrd4YfG90BpYBlvHB{wwuQ2mh!XFcT0XhDaH@Dh#0gb=r z7QzSNKnwZgU#`5(;F;zkGx>f8`6d4yoLHHkOC5@BPz7Ez;)AC+k-_H{XSdvf-46eS z$jNP{hO`bIy!B!B0CGKi+a$B>g-ND;Y+-#V5OZvlllM0GehL3ta&_3Bgjap-vjf|r zGzVUHn$H#$N4KDCgWZcbjkzFK10IC9%I5mOG243f^3AiG!ezPR_MddG>!V)-`lx*A4|kc!tgtwl;)N3YsI;kThSqoW9ETAUdpJOl_QN`dZ)7 zPJdGCMgJy6eCxDxCUPDBRWm=X<*GSyJy&nf5`3Z0evES|+pjBhK&RqI0eFkz8i*!p zxdtQ7o)h8c)(>m0yuj``38vTsk-{gOv6+EoQ~srQ=}|692ltog2N+`wVjPeGtS2_&Jo7>aK^cT zapt}{f}JKp+mpZ~>a5Y1*iS#u(Rb*_o%F+R zx3e_n_TzKPPd_XT(#MLT_Mc1pJ^rD6<+43le`a`K!LB?HzQx)Txas&N-qsn2j?dnH z=3Ho{Wx#z7k^yz#o$yP0PmbQpbgvy>7^7KlbDbj?3)Nfs_pRMief7Q*ece*S-W^|^ zZ+Bmx=WKcP^=E(E+T9T=!1$f$>qGQ)vaim!yRXaLzIM>p=TClT`+7Bfz1dgi+uhfX zx_zBaU+bv1m~YnceH?V;*ITsyU55^#b+9VY?jZY{q{Bog+goEY30H?nr1I|)58-Nc z7_QP`t~t8zy79YsXX|IpOSFCja_E2$ZR|Nha*20Gxa-D^H%#r70Vl!>iu;luzGwQ< z{=w3HIif^gCKvVPh@!q6PG2@m-Pm)u+n2-LzO>IR^d&@JuBvk8Fyfo6ua5L|rg6-x z9)S<${<^hi>v+yj+Rqs)owqiFH9X~KO=VPVc0{WJ$-mF@ zPP$H$t9QwMCEZeEBHdYW>9m(r^QBt)BmI)RdFj!Y)mP>&+h>y1FRx%t=b}*)t$ukC z@6X$JVy}KF`@hz9YC6_hU4AZO@jxZ<2vgF5@&7Hs${?56ahZ< zqz01aq0i6;$$#xf*1FV(53bBzao}kd9#`^@pu4i9%;w!RhM?oXQ}5Z-wxiALL*8-AZ=vMVmLUN53xK?rXQt z-@fQy{iAuT^v@t|34xb``R12f-+cM#Ix%zPn_rKP>G>jQ4(QjTrB~lT{|DNCEPL?P z%0pjAy0oBozzn>0=^zaqkhE|9Y0M2tR2l0eo}4h9M$4`8XO}30S7&!gYZVMD2>pMJa+4ht`}KV9pGf!O@4@KbY;2-gZr z--S8IUyh`&9oPrdSLlE->J&{>+P;F{)U}MhR+<}o@mY9QX`b#9JcMsgkHjxx5WM*- z^$dnL8_5#`em4L=&0Fe#&p`5!?^e(K6#n7DpMmy*i56sw5Dzb@BVR8axorqKvSX(@ zmo_$0zwl%{`^A~FI6C);rSMVF^*qWe?7?ZouB!D4hbBwsnZZ7c-D%&9*!=vuUO!y- z+(2ksdkRF`y>;8YI%;3vy*ds*&>kx%2AlqA+D({wv7zl8^GxR)y%&Er!>l1KJc;vU zn%c}G<62FcwB-bJfg_2Z#`WSS*dswouA5;7lh=R$%hsN~VuQ=;P2^h;cI5S%qaAs@ zfpH%9$yQ&vieM5bJre{)sG1l>49bSdB9?KW%Z%7dE;)# z>I1>aw?kInN&g4qxwj|}V|#>42cE3<#?~L>=3;kTrK@UO#dG@`S5HodTsi&w(7*21vUQYk_guJd&p9hiGU#HIl$?KO!3@)#SQO{twW5^?U zeFt#d8F_s@KI`wayuOq+dh&WYF#-N9uS>^gD2bo_FXDkl+;P#%xAoJ@0`M${di00Q%9qGvHxBfhI zc|Go3dq!S=y~^}FGKBf{ox3o<9z`1mn_oXX8DHfg&ac-9KCZm}mhOG>nst_v^7{27 zw)JR^;pcPgqsU)zU}f(7dS^Z|VSnWI!H(RPZ1?!vFjsD$4~)`#NN)dv_6#PsF9#;O zE4Q0z^OoI^+sA^NZ-?CeI{hDv_kLM<;JssAdhq17H^zRseYHEjlG~DF;=O~7uP48U zx$^tf%7Nwg1G^xT>R*0u-BOU>o{h~v&mKql($_t^(WhNMX|3OW0@*EF zn_a)vTzj8_ea*w|8dr9Ioxbl0*`nJv77Aklx8P#(gT;D|19)P3Y}jpZOcH2(|9E>9wuhZyjE!_nlaG`(1_UUgN9t z?e6RM-M)UCzQ(B6TfZ3>!43}3RZKbUOWGmc5o=I>n{NYqvMLXE_n)%I=d1K%hOfNX zE|m9rgHzsZv{8GeZlsMN%JkxYY0X4!G#$j|A}QWkT}ts-oOp+QeNqc?&el?{-_InP zEclt2qY;eRCXUwBvn{yK-Xk-ef}`P?M1ktYQ&=GnmSUS#23 z$S~c@Hhe6$k8+)B6vv+>%2{R+Y|haevXMCcK#@~2>@8xwb8ZG7MeuGszAi0xFHM9s zpCDyujZ*XOv(zTn7v>S4FO2*cBeBKV26Ptw!S4Zo8|u~h4YkxYVY%ex$_;vVGWS{& zP`R>SzoPwlKD%@ywoE^6Yro-{8XI38Ycu!x4%HCn@HFx`=S4Vsv}H%`Th7AlN#yb3 z%&i+)@Lk&#dOJ$6P#>Xz4O0FUc<(B`tv_t% z>FtJ7ccizPFg~ts?7x9Bp|%-dFA{;9i=0KkiK$0`9FA{070j zd&x5x?tO_o9_~#Z(Ps7(-?~KYOFH&7?Qt6lKOJ6Te4F;(k#Fq^UCg3A9$l0}7ZVTO zJ-Udy<=I%m&_&m#t=(@NwEJ{%&@RC3@rgUq#Tzw+^RacFqIj{+R1CzmUgz-O&p`tf z+OEby8)Tx-%}sqxp+_g0noZPM*r9L)IUuO@c01*AF2OKd+HYvzg=+!=4{;B z9UoJGf#_6z?B(E38N6Tu`7B)Cf!G(J@E2L5$Co1J#=nTTdk#*Puk8)l+kJ5pWE-rB zDF0cx2K4qSzklD!#4oq`6~EkxL9YB-lW&Z8dFMJl1^vYA5bv73e*rGYhu#=6XNm@k zd;zaIM0O$Of51$!1I{d>;SWQ@b*F6X`LOFh_hHw6ZtBd^wEI5zqn~z<Xh9JxB7~=sqK_Y`lzy@&avZT=m`?*Jp`||J)A#lFRT5Nm-cofoDH3Qrz|Woykx8 zoH3r3i+JNeEMRNr?PrX24uZyas6Lz;x99gOJ#NRB7`N)8aXY?f+}_W)eSN~lp7*=s z_I`KV)}LE?+>4v;X@t|zKXp~;@vvKK(a$VE4v%lq=9%O z!r#V3J8{h@nn_qDZ!@rb(P(Xa<;LpUwk7!a?AKpVpA z0pkV@5vOJA* zIb+4jQ^so9;WuOi&*x=VL%zsgv=$yI|Lk(kGzgj7@E6YUloX&QM%{ds2ZLl z-CKJSCbfZmk>qR5MbKj^ITu6o&ggiZncbRG%tOu=e$=EWKdCy{GZ0^ruL>;f>X)An z0pF_T%C90I*sQzvF3@@dHMW|Y+yli{BFsfO4?`ewcp4YF|wEb_SLO+pPY^9*t=KN zk#7~M7aM$k=gi3tof*+;?%L2|{`KweX8rra_^RqW;~IMo#p3)L_Gv4QvE+9nV`%sDMl!iT^w0US1U3epf8d_K zU@Dhvu;sD8aaiPZY`AB2E;VM6^d0%qisy3W?B{bjZ{ax-eJQWFC!FP)FDGU(h(!$H zIoW_Y*Pe$oAKcLQL%8anx%y|V^G`Kp2Py0Gd?UVNc5m|O-G8c#4DE`(yuQYq-T8N5 zTx~wuNgUPcK$JZIG3M^^Uv`xzpX;jP{GHeMEPWGy(uXDkhX`R!cdvBlWC;oFv zVgHkz%gD!hUOo^5)~s6yo|Yca{oOu4D)|`(?v;TK%a6)vmuzOxD(m0mOU$R9R^i8^ z($BZJammXlQ}#B^%j}uQN%=;*bH0Agey9lCv0FT^V*G-xEerd`ay4oB+OuAlqCFiX z=$x4NkFu{{{D4?y^e?_5AB5iyBUUT%S{UkhF2Yr`ru`}1!o9@&&I1@b;jq?kgvX8# z%N?%Y`U3h|@LN}TyTiYO;@`BbR_7qa+OyDP=kvhWs13Xin98g-u61^JNS6G_ zu6aHCcg~*~B+q^1@z$`VrvMwfzaM+y4*PM}9N2e1?j`Ii`drwFqZd(re4vW=<9aqM zTP|$_H*-2GK=^T}-A_ZTTK$Wx5&!k#S}q?-UC1c$M9C?}Y=<%yQigo5B%?orZYRU*#5mACDtv1D*zv;9 z#IE-J+&$3uDSN2z$G^jUKVT2^y?PJz{muG!cHCd2zDggSm87phaQHWVcV^7fg z_43A*Dvvl#yV}0SJzQRGQF-!Dp1m9GGo{KKBK+hx zUW}6)$2j`}q$5sraZ-Ncm!NB2;f!P>Ph+Q8TIznbD_VU+C5WGDg2vC zJ%WYc*6fax@Gr7&RqldO&b}1CPB|3(D+Rar`1&)us6XC*{5>%~b^dya#%EXS8Bqe? z{Co`>^^p#d+<`(e1Zi+g(yfO{iL)Y(a$Bl*{p zho_9L%6$ynhOYBNsh6{*EY64BdgbHltv6yn=(8?-+P3Zgzg-t@-ZtHA@y@2lcCpZB zvp3Lz_=4y`cHKba&)6cT<=&F56I&&*?6aJc<;JRSw{d@^vs}&CU~9qF`F&56Kbp?f!j6HRqryCCZBpw`nrddf(rT{d>e&PQ z{yfota1K_aaIQ=f&;GULMxKk;mJj>K_TIJSf3KeruWbnHBL4NWwOhA$x4b#M*CzV! z^|PVDQ0pdwV{$9!fw2yGQEqE@`0oWc%EtFB^jC+E5A*{cy(PoFT{o-e+Q54fXKNDg zlk=X&vz8XcHf-k!3Hy$-CPlO9&NK0~PxDRp0ci3Jo@a};xmO&^a6mMj%GPqN8`++Z zaBU!+Iifw=$a5H;8$BO6NE%C;SEqBZ`9IDY9Qne`NkqG2xtINW1mzxn!p5Ev_=Gg` zPJJEW`h}RkO*b!Ov6G%KwHIf~C?`OF>8G{-$}T*Zom=N*Ir-f4g8H$CN8mGRzxsLr z?bf+ zud{`MVfX(L_+Le0+1pN*|CMvjxNPdOg_m19Zr`{_YV+Rqf7kXu!2epm(m9P@92Mc# zNXav7sGdxFJK>|9wF1&RWyu<%X;O)(2EpCJ3y*^sdqFwjs2WOk0 z8!slrrNFRZ?L6?%hqusvAD^(2c-WF_v}fQFFPN*~qWE7!#UtzoEU6dpNPE|WN3tt; z>%kM<_257XUY1y6&jb%TXT4UZ;|tK8msx&L6Iqr&9pBm-)+CvGcfK2*XA;nev*tCX z3fgbre?1Qa&;9?h5W!w+=f8;WzrUe(=s%NUUD^FtG#V|cw~7C~y54mEQQY0t{F6#f zB<^5q=cW9oxWOhxTswG~;C9DSQCsIs1|tbpB|cy-O?e`%(8mF@Uw-X>Z{-b$aC}=99l1!Lx!q9^8jf_jmE- z^u}}rW7?EB!#R_K_Wg!EVZr#y{KzlO%MN2~4`ghc(g)-lQwQY3fu;G{kxPl2JUOGY zU3IQ2__jiQx^^sU;C$CwrSdpuyDrM8&rjX7v4^$fZsn`u`{iz4<&$0u?*`Vt98J6T z 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

  • |VcqSg^bE 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�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 z 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%0A;u1>#ZonReY)A^e9ShlY;A0J%J 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

    wC0ZYs;=Ent&kONq9%!E=H!_gybvb7X70 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

    abN9j!9*r}-6S0@<eF;+Yc8zUnm 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 dK8#$1;YJ zaqohU9=|nSdHnHsMK<{3x2E{rWA$TG3cgD&M&5p>97)c{$NA$Tx^zZ7*0 z+)%oJdOqdrxpS$j3D{0_iZWeL0DNmMsckZbCpeuPn>!u zq$S&^hu?92M~tT%f3|oc{@m}JJ%K04mxBH(hWXS=V$Cr}Hl}}6+E6UU6 ze(8>1fA^LLo=v>)+_UJ-hXP&La>YnJ*g#v7VVmW*p{*;;j-Ar61L$JMecscDzD+Xm z>Iu(ESCXUmbgLhM*MY90^jY_FuHN!&h~H+9iyZg^^0$zEU&3Rr$}_v+}wA6?z#TTl#F)&d7I@oL!9IGdlCL z#0xX7XIufU@tGr2PyYgQ$1h|GCpDO}i{{c5MfyE-#>XV!`_=zL< z_nI@DQRHmiDPLSWza8?s<0ItT&32td|GWGj%!2})`hI@dy3k*4R~(t1;4--l)Vra2 zBXko>6OWMTFDqYL2pdf28N$D%D0ph7fAqg(==0C~J~n`h7;wqw7v~;zvA=0s_Ufm> zUDT{*4V>rsZx7D0{^C0Z6+5E!Ah*z0?Z^{*#P1|mgm1cdHaEX*#94DeKin5*o5%iZ z_VC#d>WA_r-u2nY?oJUT_@LX4q*178IQU4#JjNnW# zUmMO>3>?Z$o8(*RWUWVO{7!_A9B{RBr3YWqRlJJooKu{|yCTo^|G$#Qwv%`GbBDa# z>0Ztvy?cva$B+E7pF6CvlA^3h7Ao8QXNU9sES^2?|KCY|-ERH|7ejNI?+6CfCE7|S z3gJ%n-)!~EzL{@3D68{h9$pz4J{#4p=h81Ht-aXzXS2*xlR6I;_*ui!xiOk|=u-kZk2(yZCsd_w_3Df;~!{04c=rQhJb0QPX`Wbk2*K_kc@bR@5!ZP`2jq}X=l!S zoujtNu9d!n-|EAmz^i>J*8zW!$C`dx8@GO}@XZ}QH@ z`9vaI`DE)E%ysaiQ%3XASWf4EY~0m+67vx3fDm+|d43ypHG((BbBdE%Rd)G5gpO$E z9!v5LzH0+6;xUGC`O?pkFN{mX$|2U&((La|v-brX)J=P5?6q-kaFLn76{Qci?%N42 z`-?9B>)hA2>^1m83YGOK_T5o;B*mHWN#%YepIu}Zwis>lTkk|ak9_ynb{$(ZBz(&* ztjD+T^q;`h!TMQS;4_EFzxEp;c~1pM89D?W|qXPaeQ8YA*@SKi1t z(SC_D$;u(xV2_8@ugb-^fHKYiex2lc_8)4@^3@Ma|0C-}g^KdlVta>GF35o=c`@>A zQT8dN#TN@J#HTc+p}QV<9C*w{B>-9&dAL?{2;c_Dgm0{orrr>86SJO$`dzBkdQ z?t(%0Ev7ck2LpRh=l>+^f6zqfrB zeTLCl(d=18Yqu&E1z)E8bg`FrvYxncmvoHcc8DRu9w*jro_999$~5xs<(Is2jp!=b zMv|*`@2;EL8L@J)m+!P!zEF{#4(|8f#yL*vN8K44WA#Nj2Q)tNonW8a@p*t}@{Jyn z15RN2z{KBSJ1i=RP6y0wDNTY zUS-0(dyI0j*JYFRb3TxC#y`7>#1?n!6#9ianVq0t?3}s2;F2B-eh2s9S#TGR zjee*9OLud&kN+;X2jz4h{Ve!DxQ|tKtatV0w$WzX=UJXR+OMm%E9F`YzHNhckY|>5 zUO_kHGEsfcU?w(*@8gC+k=o2wjjUfx|hXQhnZt4@_wyj(~+MDhikdHXIkzxDhFg1M&-#`On) zQSnp%T`*dF_B^udOve76Kh()U@TZ)snrEwz%vrD%6@TmH;q>~q(C(km8n<$I%jU4p zv)ZqcsF(~mvfph2m$ml}&!bt!2fS+ju5uQqv@;rqvcbs@5mCa|+ z2b)*jzE}Qb=Xm@DNv|J44rkVU$m4cR+4@7;Woy}3@Fdo@k$(&B9r_ z!rDMng1U%JWuDJ7`r;(H!1ZZXCakH(^WUl}M|I(Mv&~Yj;W-9<8a_)SC3qHyhFbCA z51EwaoeL`G0iX8KB~=&WsWzDxG|85k#TwdM_+KBr6t(ZWN4=l!zXzZ8 zeb1=(t^WHN{`&=^-XH3}pYFe3JnDUu{~jdS`j?D)AM)Qb|FQ3vj(Yz>hX+4QWZz#k z>iuv1_o9E%{9hencC&Vaf45M&kl*4{*)bZ=;P=n=*7y~kV!q}18Z=G`Q-THGUEdL2SGi_nNl+++Xk8cdy?6z2^Cp{T1V^*j^7-)+eE>#DE7UeW}c{uo91z z`DRsTVFa?B{#zJThj1zS(Qo3Ok>B$;?@ak%YVuclC(tp{Lz2VFq3-2iE65My1U`ru zIBQ1E+uZ7&&0qRM9D4PA6!GHrsu>WS3OAQj62)6-^AgkuGKBImb8EF_;P$EqyWI;n zRnIjRf)QOrdD~{GzCWt()#}G{*1b|cW_T9p$1TszHaV{4Tvu^rxq>!d3;h`AM(IB3 zN8xR>ew0pBzg1S{M$2~fyIwzb*TMK&=*QOr#y~%Q@^gEK3VUk&7SQ2n{W#*B2;}J` z=y5Fl7F7k+ zgj(ki{m8eZHHg4JPr0E8Jgl<|C>O2QiNQCL4RNcxSo_j^o;IV&Ldoi_jCdIS(|Lpz#Gvbq)7W>bZ_|LQtaEbry-TpJ_|E2!3i~VQ# z+?uZPpDpyCflsS*9-e4+Kkn1D?WiF zYqIzTnz@u`v5m{+Qk~tqYc!Fpo7ZR!w0`cz*f+i9PH+7o0xfjZ&5ia9)#}h3P_(7_ z+gNqHi8=zg+)97$<6GfVy8I35pRcdAR%r9eBp3tMx+DX%wxu;RWEVO~XHk-OoBDz? zQt#{Ss`(H6 zbF~n2*5>xxvv7vzNRmI~28^V>d6@d5F|X$<$+R@`SMO?b$!*9y--dx_bbgZXG+x;N zAE6>;U3fNm{f>@-4ON|it2LK4(Rv-uV#Qm4pDT5Zmp5Pl+$Hl>eUnJuV(ps%U%_{> zouUJ&a?~sqp4LT**OueX?Sp2|XNd0tdtAC-&ei2#&l{)wd?HlNg&AunSNa@RXhNeiq4e?9NFXK1fCoGaxL@v_=f+mc_Q2ynza zSmSZ;nPAnsv0&BndRX^RpWqGZ`%~cUtAqEbiQp!bE4mGguX(ik_DSCV1@NprGt`(yj+x>3~{m8ikLN3qG)Wh9)=p{qJVJX7=rz z+?1|Z9Lc>7o=oZo)mMY7tgjne($}F^H&mmkR8ezh?3de zXMR7Q_Xb|X?z$KKIiz>`AN_x?$3qJTy0{r66i|GM2i1hoy5L>Vt;Ax64`3^hG|dl^-j-ho6?QxUiL;@ zU!9aWvlvmEMV(Q339&Nf-dLLPrY+e!u?%@r=o9{zN-VST?pWsfyNx-kKp*eczL~f= z%f6!z{I7Sb3gi^KJ8r*IeqC%v-o^dz;=GISZqo2~y>~|v`mVPSQJn_7aW=U8JyBqZ z@LT*4cQ;g(+t@MYU$W4xp6T9!T=w*UH-FSw-YssP*r9xN>pO@QKeD&D6?(`!hW&l) zn;@=QIbrp`^kqQnf$Z+#`(Zf`-Ylnub>HdCFvStIVRIDb z6-qtHJF1&#&!FF=^X&PQzTQKo+VhOVnE~d_#MFf-=N2jh#D<<*P^^Tv?$w#;s~(G8 z64+he{ReXR)af1RX6Z%Pv1umX2|vNNmd`DG+M76UD*c|)KpSe$+7rI*&_V2r?4t)x zeqsvi!-qa_^42Mx(4TR=^$6kXfkU@r3(PLd77=drOnO=Oz$e(DIZqyb&J;>3&GoxX zj`4%m6vtxB*+u2NQjCdX&MYeSL}lX4S({yK0r#5nO0$AIcGq}uWca^kWxaEWOwz`? zls$h}y0VbI+Pn(XAEWQ`|GC^x<(}aFPHQ8O&knz1H~rUKLi#(N@?!iQc!hb_y*kgh zz&pENA~UDB(S(XC+Uj! z+@`J6$hL$7#ir{Uc*^51e%pBI?Cj#Ev!)d}FRl1-_K}G06if4ef4|dfgZ+mMsXp3R zXxq@dYpgaDE2LO;hqYJap6!o|epG)9^ykp08|YJLT3^wby`rdg6dSMp{O9-l{*Z$w zYTLTVwxu=EVBQtj6`jR=_1NTgY>#~PcIcGYfyxHQ1-|vgC^!%EzwY*|TeBViN%BSOb2g zEIBN0gD%ojH`y^Plv;`D*LRYQ&8}D8`uy_L%@|FmT%vdr^nDX@UAc-jSFf8CEJkVK4!h_%$pzp%NXD8)~1N6Nqxw@E0uCjO$F2&m|^|%LS;qpW~My&tj zZn0}eQR?^RGr^h?`W!hKJP#%3mW?4!9llP0|7P&7@xII4!SG$14?FoAOp^Kr(Ai1h z)r%tx{0vk5_M*U}vDMkC8r$I9R0yU?{gGT2%$oE6Kjz*BOseY2`#q;V`lD!}kVe~< z$Z2e`!5&j+YenQ>;E+)VoY{r9QUw5T)0``+id&(r;!I{WO8wbx#I z?X}ikdu__p{i1JS4LtyhRmXkYzbRvBg+7nn3lrXAf5ADgfAB5zn&rayxI8&GW!4$ue7B1qXNNhHT-x;3H3nR0??m65 zT*V&2o?Y+1Sqq>sjma+TCd%W|*LZzu%Dyl<_nVL}vCXGhx04UjZrbUsHnK*4U%vdg z8>`Kii5Bn&?YOy?*uTbmGi_Oy;6U>V|0M|40de|&icaZYwEwgX-g7z|$hwIfVwW_| z=NsNF+D}Z}TuV$W)f7)IVV!U8`bJLi8q4cFmDfGnf6u)*T6-P(unM@e-uCkpo`~}u z;Uy1V*w-4n_FAO~Cu937-YEXd`W2K}OT{xp_i2Z7`fu#s*TlM%rfs`;UX?wm_DjvY z1MlFx72Ln2e(DlFh5IJv$h+Zv@E!0jdPuV`*+?Ha1HL|+y|KDZ_;rz6>2EqY;e!i)ab-4@SD+N{|n{~PI&|Dcuj6P*9m7)0}k zvkv(I{7PBt!O?Eg$5Yq2jE|vB_Z@Ildixke_&+~z!G9M#MR3{MILk71J8P;r54RQk z1nI)dwT27VdR+zX_qq@oK}Ja<1DX4cSTphE_PAr2a}>*b?kQ>S#!e@h2LCs|Ay@WS zr>%WzYdY!TGh@Hq#$D~x4cz76IP+W)O#44TtCLJ!=LZwwF{wZsjKwwMwSPKhJeUs} z6Y;VPV`Ar)RUa&T0A4G|E_GtOUy`AJLix05}X;5JV8u&{~MG0{O@If2^tdq4PEFwOyzpc zwE-Wn!E@So)ZyVd3QvoNe)10RXdm?*;Snq@`amHcb{wAZlE5Q41W(0jsCF)hU=v(1 zOuu~>n7B8p{oXoEJk8u0J72Jsz$eQ=X(D&2F+OQx7g-%a&8EGie&f4mJCBFlSrR6A zHWJ4unSEUMS#XYZpw7F_*WFI-H`d$v%Kyjhe6ilnWn^qfARB;_HUC{+#k-_`CKXw0`UC*jl%pxqD8v zbJBS4>zzqt?A8AB9lL58yTnm_!4I>RpWwXm8{kX2isrTWmS|cyJgwg5hYo7TCWZRqilrH!)S!Px>o3)L;2B z>Rc`?e{Vb{;;oWTM%Qd-OZYot>IpXCNqDC(nF&vog9&@f!G7=_ue0w2U&r(ouVXgz z#aZKb^fY>cZ^_}%H@GjahH_pAXxA>1dMLYV2Xp!m8E`slu{ZlAwWIx8^ z4c+Zt)H$a`)oWA^dFQq>w0AXBy_%=wve<`pKQ`_xHuE;YS`d6g)uaoIz-v>-63T0B z_|cel5oeGuzKS0l{bF7S_mUA(xw8L4y=~R=36YkR9<$E{ez~)8GP)nj7Wc&~z9G7v#_E}We-~Y; zp!FR49Cd3P-BGZ7@<6>3ZG|CPKfnvUCv;n%om|JRHO_1pQf|LVVv?2|0NLU=+Z zkUT)Ula4ig!Uo|)Hk+0l=W-|;??HyRf*te;5*y8b428Ws7xUju zojs|caCZMtnB!^Nz|FbDIsEQv9ZI)2_z4zo38nX=bNCR~=2m=|Qf1mJqpM>Z=Uljt z>@ss*LG%PqFIY+RJJ~JJ`OmHE{MgvQi3LvHcm|!Hew(^2)g9^lE#L&3HutTe^O)Zk z=xj|p`&N6&9|)(-;7>aLPk$$!ADy^(9qVPR??-396#wDhX`^MB7y{OH==$tQTI^3! zr}&lRf==)p_bp?s^-|?1{&$vq3Gz(QcVOcl0As6Ao06-=53zAzC(vAAy#_yY5?eFp zi;EkK%|P}7^|dl9S`QBRU&vm4!0s)+8tc!u{rd+-_2*7_LNX5x6(gFmN}``7!HLM# z+An}NPj0h@%siiA(i8&|SfK^!XreLAPti{bI9ln4&P0kwH5E9|Ijs1YvfZ;TnfjbdCf;zW0)5qE4r^a@KmR*z%c>;M>7bZ({7a6u zO@H%7h94Lvw#0WQ1oLilgORcuSg!hk&kB2K>XX?!DMq~QfxUh<@jH*MM)-^wlU z?m;FQ8E;jshSh$XvnAACY@d}tW}90LC8GeN;&KQN+_`7uea%D5yCKpK!Q%_$yIgcj zUmg)XkLlOL@PUD{9i;nGfpsT+`<5GI`{|$VvN@=K*t_tvpq+d<_`XH|vP-Jvi=f3- zWxssU0`Jzd)_7B0tGY80)>6HzJS$c3HeR*bOBNP*-^i`;hOfNd8#ygmO}M>Y^3<~b zb^6`rO3rjmf6LgEOLjAJXtmjM9$Rwi~6zgLu-j&(d*?uva7ap>8@I<$9Y)N&A9GZ=WU#My?2kZ z*0X!iRZ>ZBgqTBE1*+57Z)|aTy}O<3y~OlpFJYD77a!rBai7-cwLvRN>$4iocoHN0 zkox%y`7H1z+FYpq=3_cNC+MXw6S&vg25+KGBYR|{I2NW~=(o=02@iVb`&w*S=hvQ+@T$0Ff7uABp5?`H6KR7k`R%8-7@QhNo35 zLmPSR=^D9qHZpY&Wm7rvbM`k1%w5i_rGZa=GM#)+5%-mHzUumG)kXV{(zc%W@O&q^ zHz&SLU$WR|V)>dikh?r?-s4n;suSpk{O0FSpJeWD9Ryp8g}vCpe?E)s9m9rivDS$O zYiN)B@zYM({}r+L1e@wwpt|^eunc~vupCu~W#B!+vULnB#~utz{Y?L2@S^ozd(Il` zR`x%$C1fW0(1!lhnH^{BvPt@(I9JA2UQqtX=BWNDt(p8?*0|8Iei$ao>#)P%%g?#N z_1UsN&t8IU#@am3rW|AIIO7=8xt`-Js;d0|(0v)yXG7oi#FE#^9Sf;^sk*Q&6)bG) zWq&r3m7AaV&wZH<1FYxhTcnA0nkk{< z$@1=++J~$(6mFwjiGOq@+ARm2z%HMue~KTu52=w8p{P)^HE>d~Z#8 z(6cT>HX^-;_7fH{&ii-=W^2QB-fG~=DIJ(|#c@Us?6!^$lkPD7XFQAhYl*_nFv(t` zo!=QQ&jhuGLdjd+5Y*DZw|ps2_F9@)hno~@x3ZvWx11Mrp19h3@>;K>$(vXGa`Cs* z?Up=y>|RGtVGDO?>V0MK)cd`T%Pac*@!)6t-tV?lFZX^seZON>kDs>MPw~Is9bZj# zuJ&{8mhd5Gy*I&WtR{=M*0P;Htxd36s#eo#e}Xf*9~t?uueV-KkUqI2|IH~hpq7Tq-Y12 zyJ+9;xTPkZJ!M#Yntff$=q?qT@k$g1J?;M{OWeQB)5?9S+L>bLsJhlL%BT4S({7fN|Da9LG zu|*$%33;=8i6>W!JjImXD%#WA3VxKpo@GN`h&xSLxO*UMZ_T)F$H)+uS&bB^cw6mU)_nJ%VdGiPI4lHRf zdF|E#lee{=_q2D&o37{Wn-t}hUzqAO?W;~;Q2YDy>FR#kw+|oiryt(uPuS5HWVT&b zQ(S-tD-{nt&3}w>lD=(wH&iXgPI8x3TF2ZHy?xyO!NIgs=c^`$5cFd+W?ASaIm{T9 zBRY~E@KzeS-HerZSu|Egw=#PWKYss@eeFRA|1n*O?=@zhui3;0>w-r&YM%<4Z$x$& zy9XgUXW!E7L5!tu3%WDDDs?)a4c#@ltl_|#EHNhv;)~E;k^3rGH$+2P6H`v4XC0^g z>O!<`8+#N!n5t8LEAjrP;vBuI^@qB&F1J&U*2+=aSA5?jZKjIyaYi?H=_fv5jmW<) zYXhM-Y5PfV;9+;7ru@y1>LN%xXz39)F##d+lgY7`~`JcrGc>7UgxFIQ#rF_ z`e|Lbw#GU@Uzhv3J2_>eqw-DnR>XcB@{8)mmqKfm{FvnLG}hNwu*Uwr6E_|3_x;^D z%qrF~V9&&LrTH$uSQ{K`+~Rb#aVY-8|8eVq`tPXMPd)Z;Z`GOJr2%92J>DOXPi;@` z=5UhQc$f6p-%9*RdBo=|^wl{z{QjIV_Aa-a6b;Eo!*U~kef|D_TRx`U(I<0B{(%#L z8MzZ080K#9n?m8&^rP-aY?03)pW%^=$ylEoeKUSvq|25j-vWJ)?SR7b9*t$5IoN`o zkbK66jW(=2Jn|Cy$5ZihTln7szUedg$?HBJ_J#Z5Gv(m**LLq)+>#2;pJ)Z=jPDKX zndM+EcMh&%T+NvzhnQvf-Yf3cg{0|ju7{hp`D zAJ(C-Cnmswbw=QF4r~tZ!uO%#de-;^XI$q8Wy;<`*?GW_2gkzqcK(Iy&o?#(U$EvG z9G?fiFJ;VP9Lu*p?xV4h1Dp7}_^;;5V*1-4eS-Ou;M>vl^C8-EXyA;}yof)vH|o3+ z`Tv6VRjy^`TO3Ozrd{E!%>s|q-Bu_EFG_dPJfVzuXa2(})|GNF@3eV=o@T#L<_RP$Fj;p%n5U*tH2zGcdM-FgA3gP@BPI^Rb+qoL)m}&)!m$* zx|RLNvVS=FYJ!3GPr;sb_wdo-;n}ss<>Ssd=gg|dw-)$1GDQ2szxkMNgO^8s@-bg? z@9%HtS!7-x1N%2-sK6)Oq2F9d%+W8Z|86t}Z}43{Z3S%1 zUjt9F9pvAa3jU@2&e!H015I~WK{M?twxq_Ok|Ay~V^Q0~3 zznQ*vlYb>`+Qc7Snc5y&nZDOpQ$O?>(wf1O?ey0imBml04H%{XPbc%>WXsx-rFQ*OQ1DB4X>kK|};R=;?Wx{5fG4@AwjI{W7qnJi!*hBz!@u#7B_rD#9Oo%l<^dJ?)hJd!ZrQIy^vLFm@l=dhX6i|2RBI^8NQl&b%O)4W2bGWe2}c{j(-UWoS?E z-9_F6Y4pXE5gsF0Rs@=ZDl6IRTct5&Nw@K1y34dTF-X?S>dd9v8MUXm`OV^(GVju! z#*1}5kY4p+aN(e1FSSdg4HL5;y}>FlpL;iiPf)+|wUbXiNwZle7C6@9 zIdHo{ZPOQgJ2F%9w*k{~oqyPRDf3IeyJ*L;&PiU*dndoY#M9xaes}Z4p51;GX(&A4 zggtxaj?&?Y8OpJrXtnDcipq?zHmi=2Cg9>Zo-$MG-%i7)NZ+Q8i@r71>r+0}t8aRa zZF`=hIkl8^l{>e9;jz<&kKyn-^{F5`9djQ1IvNklN)9($-c;s8#n%0EmB5McZq~Jr zQpefUAzX+KdzhQtD-fK)Z`(SnnjVJt<}a)cUv@lWc&^#!SDUiyb(6OTSk$)mY`S=t zoG$x=)(Pz^Y2DF$v4+{hDY0iKe@$St)XxGuu88fsd_fg@Y@bP565L}e&S(tu)VT3% zZ=z2cNA`DKC|RYQ?M~_E*gE#c@UnlhRj}H5?(GCl_S+0@-YcBgU-zl*v9QW6j_wHW zJ11cOWQS<@pL90`&zOGa0psn!brsJ|JO%fuf;+qAg;TBab9P5*=LXVa+U|w6%^o2* z(K(uAnLZSu^};yLAl?>sr)~=!SN67ip!F|dt@W&m=-I7i^5C(=@9g@jY-i$mIq)s} znQ$q(Q68J~>Y8&FexemA!+_Jv)t*;&~qYbpoMeEIH({u=V@J@rZBmT}0R`}r>0 z%2(~&wq4TU8oq++_E7OF zL>3V)nz1t^kXeD#m;JAC*e$WYXuj!g<2$jtSkBAP>5UQI@XwTQW&uJhf*k!n0%GFd zdcJzl``B-X^1F>X6kECkZE7rR_*5e}va;L#lO`sy&BnMt-|S=HCv5N#_wzILeyZklc^~`jP<~JOmsX3uhBTt#&Hm&_sIb_Teez!}eI{hS!E7WmUnLhi|tpMI0a z*m>Z~CO>@J*c#qG)t zva>HkpNvZv>8-2%MhBd758+5_DQIRs5a)H5{PYy_P;{>Ga;Uenfc%U9;at|#J+u|` zYw_wNcYtiP>ioLHHuF&9*5!-~nS6Db;Um?ljMq`zq0&;P=dKEM)@eGM#M)B-?;rD9 zX_bTC<9vETr{;fb+QGl~{}<)sI%dPOQU&yMY+ds8Xm!6DPGl^z@V7+4`raJAyREl@ z1NIy{d6t+HdDhj!ILCuAOT& z`Bk6zzR6!&_m=!^^}4436Lzs6mVrz-=bYz&hIALGU?@wQP}> zKr^i_{4$45HjQ%&*x)8vWk2T)g_C+%OWmWxjSUT6#)WPQ=syMQ^7z0!PCpd0+2+od z$Dl9y&~!Px6Z3T&bkWT>C(Aqc{#B^2lW)@NqWxF;2%R8r;Kzw?1#7isHF`O%0j;#1 znCrD_jYAe^Sk3-CYk~1a-Z+2UzJ&E-WTEIht$wSHHh8M3SP1XDNkM!9$d~mts9pp9q#95E~v;E!( zbe71m?&8bJy_ca~WG&`t@wAJ1`orB{#ka1->LYj4wkwW^`mJ}_^#7s$F5D~aN2G!8 zy`n8}nv{JswzF;q7qSP&HXG#oQJczYeWQ%@F7a!Nvu`Q>P25VJ*?bhE!a^68PGMqc z)St1u^hVv5(rZEU!}2BLJ~NGxyCGai+7!LFz!OS57nkqpTE#vBZKj6H_oS`-Jr46l zK4zD)A9H^>vb$u!^XK>M-ZwkNUJ(3!P7k_;YproR+2e#ZdRuQH-Zs8vdE+yM40diX zPx2J?US#H$bjkCB|A~$-S>FM!FF})%_pj2EK3uM6svKO(Q#uYlumStB*xky(_ZV~O z{mFv%$0er?dUJB;5 zDW}}vUC#cU&etSz1KyM`-JreT2UZk@!Xv++y@@s4QFViN6?>-3>06fg02p&3ba_u%?7wo(ayh@%uIi85SKc|i%dWsZT;QD8VT|iU z#+7?$whHe@k=8bBeQz!F$z2>lx^7cRns%2_e#;Bc!E?xzFAJtN@Ge>uTpBy2z0=rf z%q|62ZL|@OonTSfUf|*BLlb+uco!Z!!KuD=@f57x(2)2n_M%DMq-l>ucofXBjwjrz z9pUBRzAIh$(Npc}DIE1gZJRb#uiDJ>)VCEm=>n1|mr7=7*ZCEFSN~2!-xO_14;Ahk z9OSPYv{sC0_0sG(#@pH}{Z!voMmlO-M)WKgMbF}?aoM!$Azd(P4vV%vN1n6bO*!&) z7bCcYqkpZjr$iq0`x2fp9z<)m<9{HXbt?L51zD=Zy3x(M*0th)U|(d;yX7t69M%B( z(s`|vTk;kIhu{^AR$)-Kn0DF4SAwhi$1O5;Tdk#5`ww0h%=bZecQYPe%a02; z3*X@C2hEGnbMPs+eUX0?XZ;%JR>iyq5S7KM~ zafPQoZ*iVB@e{IU4!^cq<=YdlZ_E7X^=oJ|o5{XDNdEQw_fnVi{PV%RMIR-1b%4`3 zW%|b)TFH0zq<8f2ob8%*S?llCLS?8ryJusV%wAu$oI+LetMS5KuhCu%o{{hIx#-Hj z7$);`u_JP4a=sGIBg4tA;go&Br?SG;_)%O%vELU06R}IHX~tYJLBWNOf8q|o{S-db%;{12 zVXXa2_fa+#zZy=E42=yvvfG~*Y@wgTQPW!BZ=zpQD)gbWll5k4p!HvKJ&`LvKwt5< z?5iee6FzufBQ$8c&(o(BisjGwn0Zy@mk;!ac$CWUWd3h$#NL~r9vfZUb`@`Kxv9f0 zykPXJhDg84$hSdt|E2g5b4TwNs64Vry>022J5nX_2V=Y1nl6{BdT$z@XXKR;@!}$U z-L%hdPdpwUjQq};>J(me2Z3Nn(3Y*Ug~U2wA3tMzebw>YnWuh??SsmXSAPq_$MazW zxL{3>@Q}wZ0680<;HVC4yuukg`tbzzN{hPeob@PS-d|M%lF8K9i4Kk&h?ow$^Lkk?%-<5dj5!YS@6fK z_nch}Lpz7Q>a7*;VZ5H-W#?|L+T@kZWjt$mBRsItnTP#pQo#Dro@Cr*2gE05$C2PY z!Ee^m9gLsWy>^?}3HohdGJ7xRz&YyAJryRYCz;*3+a|70qQcyy?B}V6a(e}%#aX!V z#8F68`pmb_@J+n>LF*~++vJJq?r!zV`%1N~g6)AZvd~`(?$`G84L1d?-|0hd|75i^ zyfA3JrVpQ0;)Zmf>-+px0wt)|>VJE64m+TKS;&IA8oMSqI9-X=9(? zI)w5GJn8foIRxcF8Ldc&)(#HnRz1p1U^I+qWh0S1hDezc}*bcFNrgefmZ_!=; zN@sA;T^zF)e`PP&jbFD+k-$4EuXqyn`zM&XI-cSdy(vj#o>K>g-hz5WSt z-f2-@>>7%@Fba$0&KR!7F~5^zeoJGgH9XZLeWi)pV0m|hy}hYmnL7`i z<>NkU8s~%W2v^PJK1A-fvb^UR!;c52eB#j~u0|JI%Jw8WZ zIKF)oSj(1d*4vOtw}nY-(D+3oGY3k~kR}`-M&1_sI=-+C8FHKPy<2?S+|hXNDf~QJ z+%@<J{z?_Xu+q8lEH@V0z`C-;}q)&U0zA(CDR?VjDeoz*oBFoz6QX3(cg*X;!$rm$ZD7 zmzvk_rxp+RmRrI{q2&Dvxk-MySKkc(t@~ z9q=|@Gw9vN+1WJp9M5^pyWy=3Zm&0O2|Tkf=uMxCA02c0=}TIIR0sRkmn;r$ntr|4 z*wOFZG=0ER{cD}oUN>!774AKlegp5cLE25z`@Q2j%KnMeI|A={_}E2$C-prxG=9%I72+#36ler3dTO}MdgxqnFGL`V0BpSRC|+@YRfE|CpA|`Q#G(LA;;2(}gapIB~6op=!s} z)n1x?I%}A7nat0*?APf`m;73uAWz5C0p{mWsC4P9eLQs@Bn7WwAD6uw>_jf*vpmaN z!r`Ni_mD~bhAd~k@xMv&Te@x9kuARLAB_)Qma&m93};`W*do+nv-hYo6j^@b3*jqX zlh*Wu`!a`lIkFM_(huzy%KqFvJQRMW-Y4}zed=^n&k+CRK(K3nRz5rGx4tKs2Xkks zPr6qgyC=Ao&u9X@PJK`ER6jd`CxxuPfcoWEX)!-qsk@2vHjle>6At?g*jK4vxEMZs zCi?68YPUO79bcgD^j~`aI&k6eUAPczDR7Y{{&81+D14D`ucCJ~coE*jA9e4W1??ts z_>RCIn+g*{!y|Lg`OWag6#G9XU;F6pRDL4!W`q0#z2j%YD~rkM7jh%J#UmRpU+Xts z4WBI9;jv!=mdnfjv0oyMGgv9)^ks>l)?7?`R-)uvEo(`$!(}Pba;bXS8ej4}xba?L zJi7AOBGEymV`i}jX^$Ei)SQQrkE)3a13#5rK=x~M{tmnvpImHD-#%zeSKe@d-|8M= z(dS5OG`7S`H2b@``nXQPr*M>3%LiyR>tJhPoMKv){Ziwtv9=jQ(X40{VR@^@EG5`n z#;N^yucgE|Vi%JQyMb|1{)q33fq%v)$V-a|ao_;54U=;HBQ{r>|VekDH;@G%w-fA$V|I60on?-39C z>#=TRVVB%f3Bn3Eq=DQWAzm*g1Xf^D*PF{~hpc6~wFa!KaaJboQgS6J5BjD}EB)E=AhI$42)M zSh=4wuFHa1Q>60Lo{v7f1U*G|gC)Td z+UQlDSyB4u;`fuH_j$ZO%{pfC)XRQ2&eId+`AYnLO7y-B7~;7jyE*%1hR4VACL*3)vwua)!G9; zjPP4uLk)h%tf7k8to0Jm$bI@)%jDp#M)4YRlHJmbgf5<$uWFXr=eZV!T-P? zDqcr~N3El0f?MHF^P!3LRP-*qX}{2{rO2M*$y!Sl*Y1Ac9!nqJsl%^1C%!5=Q6FMD z(7GwU8pAI>E1v##-g<%Tp@z4nU3?&%h{uYz4j+EJHcc78?#WXU8 zuf()r`UDPar&LvciHA)e*`okY@)P0iuDzQRmS=qW!E@STo%eR{yNvYh>krrhb}1$> zYq`#8nYEUEIGrt;^v}>3{SYrWkvSHh)0#saxn$a$C+bc024{4P3v^CP=ZW%J^ckmq zPD}pa_;s9^Y6w;(&j?)3T+OM!Uzs{1Sjc;?-Z`grMRGxq=UsQBU&WcMOF1vJj^7UF z!7fan5%lx>qC{ixS@M1ka^G1}vgZJJP{HlK5NN0^6;a|8m=W_<< zj-H8@>bKz69D0WK<9GG<&4cm7hxlHwte0 zB6{FF%ILYAhkqT>L#iO$(}#lSs6RZPI8aSI?IJY6w^h)F-*)g%1?^U{eP`dKOvR6`TG%{i3{rIm= zD0$oTWbendnWxOx4al)`RS$TO-;nSi+^a1%CmvT@s_%pKwuGaxFz9#E+VY!sYsaCT zj(R&KeowF0Gqx|2>UAD!Jyt^c#oPPdNja zjN^rLkDX%$(%JV&K%XUWW#%z+W3Hif&dx#iJ@|HIdDmPMFAy%_?Qhu+s_lpN-o=;g z8GWOS=4`ZITB6=V^JUW-qP>}SYI8@u%|qE!y7G4;dtX{M-`e@zxrej|brJc$MgE7$ zKPqFw+wH5%!B^F8eLkaGjPm#G|FnDGg6349`_Iqd+~`ZI#sz)w_lp}io6C7S;dWJ? zIzH(JXErMSh|b8}=xL5m0Qapq&gkaryuYy__-w<1z|Fn4bEGFF;p>zYUq1tw7QB_O zSHB3Xb`yN2$qim1kLW`(?YI8v)KNbFPG?B}j=m@0;o{v5z`VXbwr0PHekUyA6q2rf zO@Y5@+#11A_d(w#*T1cD%Sl+lUY^i1vJ2;g<;!^Akv-Ne{KvQ#zcy9gXIMQ1I#co*!`c?vJWqhJ}UBPbqD64(>N zzziH_o(X>XWtGdpMU-7knUv}-Mg3Zuurfu~_-=fe{`gzcl^2*6kS_mT3q05r_IEt) zJS_}`$t?a`_$4(`|D58wZ~}dIc}{i9$PDYk(+jjqyaB}==*!-)r?)at{W#~AuceL= z%C4vkgd@=D$jSVFnstQlBOkSbv&qwi-;>7m5_cdxOfUk+G~mdUbe3sR_0^_3!)e&) zwBP%OUq$1t`Th&i^b!39`G47V|81i)vV?Uvtg~J=e*~I1l zXZ4%5#?jUv?T`7&qcu`_^nGvrd$Rt$gYPN6C+pvh=7LG7Irv*SMK}kVoyNq08CCQyNk};1Le30`eFA?s7f` ztV@H__+4~r@U^wo+18Qa>Uy1x1l++D+1y)wLAI9e`O(aP-7dx zbW3=7z5Hi^=}j|sS|{W2za{)!{riPuzAMgw>X^+M_{sYB^T&LjGUodQ_3zTBRljiJ z@IAuqE#cDo_cQr!Xa`^Rh;~+2UFfKjG3hGyD<E@uJ;-aeNL^KDN!OQTAuW%NFc@OU*J2Bmn z=eo(y{&=Rlv=KjCqq_(41hFtq@8Vr^LNtDj!G-Y=oG81_SEx&Ow8}2^Q|A8-)(xIj zV9hCh+|xOJt4!P08qcnjs!b(qpB`yNZ<6MJvqxXiSLKhdeOdOmw;Dek+Q|$*SF@Z~ z=_hxjjU&9QEXFUikM@do!Pjd9aB8D3P_5^9XH z6?`^5YyqV$A@@e?y%3%u8!|qN83)|k;DfXATNSS_$GJk;vy<2?r&yd9KK3}T$@#cv zIo_lVH&6F&$lhT3$9#xvs_gA2pf`RZ^V6@ z!hIKJOp9ypuS}@;maF(U@(rDPzv4-;hHted4tkc4{}=UWKSK9W$p$XHN&cR)0dS{Q zt$A)A@cqo}8Q7)mVIww~;R}^hI`u{{U~D;L^5UM8~(7ul=F!qsZ}8n$7u_l=b4|ZmWMX-$&=t z>7pwunpbJ?7}N61IxU}7r{z!ZelRVcUC%T3AX@G!vFE@%fp;06th2zHgE8;79r4gj z;lz4*#g>fuykxque7>okM}4>HA8{;4aiMx;Hx&;MovB^T<;Z59_th`T++%nFKL3_A zk+G0(6R`(~>pky}vbmmP&Qq(L@}VvfdS&7fVv~yX2FXV2tc`ne%%zr61V;mDipOy^F*-~<`334?i!M3*s$# zV>foJ!RiWh;|5^d^pCsunS7q+#b7A?MY;<@fyy+_;&H7a0cm#;6@ht&Tx&CU=IO zkbNwi!Ly5hl~qhb_-FgqGFCmF$Uu0oo-iFekENk$!aKAt8ft)sj^SOjIEANZs%z&W z=;cSRrgjch_unX;;UDJ3zI83^Ws81Z$F>>M411-SgXy;Upf=N{%>#66*V`O4zmjk4UXsq-!$;w<+_6;Pp0NDw;gr(t;g3K1W8cZ$9yV3_y(d2LgfE`m z$i15B0=J?)$dvyJcT;UKi&jyK=1Yjt777h!Jpm*iZ(p0&8*3gI_H3k;S)Zt|gGan@aG0 z$|h{rQ`|=r!;!jKH_dz!-z~!Lwf21gnKVT?m0_&*A}9N{sb`HxY}OF@)aWPO&M)b^ z_5zvP%q#Z3!@qlZ_r8U|Z&7wifqTTP&0$Y=bJ$5+4!;|+b3Ms6UHoqG^ld$`fOlxE zD{JCgWIj*aE|n)Xf!Dyg3@zSgInUN?Y&YHDSbb}9wjZf=TV>(H@I%T|uk!za{F2wY zym8dMp0$s2YvUE$VJN(evqXwFl=Th7r~s@t@0boYgMk z*T$alWyKxL6J){Mb2_uJcXp9-4mu0#eIq#dif9FRu%+qx*(TOAPIfSbb~WBkZoL_syXnJ5^+EN4?{4T?Z8lY+@kE~5+hVWxiW3zZX1FH5 zWB3~K!F?7;THb;5AZth7u|0te6}&3Q%YOH zQ|X`h;%h#+j#2!Q}VZqM<;;)mOqZ{UFfnFWZ~J+OA3B9n^@7S z_C>r&vcmi7wuutui|9d@W&4?1o5GLP^I(fkgFD8(QRB|oDPNM<@k&=d$vxx^RPWS=Uz_^J+GQ7mmlyZe<&*+_ zg!X1qm-^VvIya}#AG-Yi;TOC2eG5CVWS<6bAscbFjw8{)k_qKtyXs*KRmV}JX?+*o z7h;E)Fx3un`L*HcQ_l$IT5I=M?2{!M-C(x8mi3EvCaw)#o7i69{z2749q`-(xX*J( z1vpI?RR6g_&xLEl2Dfadc$a)8d#zx8h_dnfpxyIUd$?Qn$I(`jz0I`sbl5RrLXdQH zF8yg_Aaw66d&rcZLqGLCj&JIx@RI~yeNT!HQAZ=?O&Rk1tPZcudG6Q-{vGRpZqb4q zwlI%AQK0-Vv|nP(T>4QKzIFEAV!q{r#mtRtmb+#+11VWq@#VA0L1NGk65AR19elL# zJxTl7yX5y?_CHPADwA=L#mILl9d9eitXb^h|YYPJLnz-MQBtI6Wip_S+Z?<<0mRpK5{%9W{`y#&=I91a;Atl&Jw z@=5QbA366H)^_m3K5R4jV_g5Rj%&^N5@keFV{!dINE5F0y%Ai;I37oPSC}>=_uewu zE|-C$glID`S$K%&w&+dkM3%E(3HrR&BIY@D2}aBM9eny})?Iw9c_w(O|0#Z}A1mwi zGaec76WQ-%>&4!)SGd5BVy}yVJ=Pf&n|t9f`^=_*#+Pu z?cWri;`hDOAITDCuX#r+xJHKcvxTpQJ0|S#y9)O({wwg2{wjWLPar=MUnZMGK23%# z#U%1p68;ZvD!fyd^ok^Nb>hX*+_Omg=ify0;MY9Wf99+&+vV<;h`UKU-QX$ZN``$p z91osyz-xFgc`*R&JI>J1?Zn}XXlP>o>2RXv4c`yvyYkN@kG?BSG&HgNbU3d5?f8Sf z>8{_2&{2}_ir-Xk&+izMZ=w^m^?P6zo!g3$K)sp^8YkC`cSM7NTXp=Fyu#H~?x$s~ zY)@%j0{?SZBV6oGwlfU=h-nE<6sJdZY47{yM8dO>&r`WIft9;1>~^jT7v?uX6S9?= zSfR|dwN?36GGBv9(7Iqzyf)cmo80oVliY}IekK?y<>1Ip>_(L*!XtaudOh|n;gMG$ z?-cs0ZS=8;y_Xhupn5%fineE)^`xyZfRE!qs5Qg!2ExwD0C8Ui!WGP6-IbJvuJ3zJ~;--N2@m-24wIpXO)5czij5#0KWaOh0f(fq6+JP)w-dXEN z(ALKFzEzrmZpHemHLzn-ZCb-}>1vs2r%J9{=AX!K8@XrnJL$@!^;0;xj&TrOxa8A4 z)v}|*vwaxQR^4T-JXWb3TwBlg0nr=zL^D~wtL{kW7_93YgWwTc4CP{(;brEgk!7&2 zwr1h?jLn@#ARCl8FAdCg=JH5hpbyOrCEvE!*5n%}{7HsL@LRZu{c?$4v$Y!-9O@G6 zUM4hA4{vwcBvU~n{PX*)eS$}I3m&!iXdM>K!?aWO|L(tl<)MRMiQ_p7mIs}unO|D3S(|fD zvj-0D>o#fOBxNB7z%L}XbTm&03@o&ngFXby76S)#3ZDZf!R>W8#5)e)gzvO*6W^%M z_@v0EB({5*agm%u9?K$*0^=dQP<%r+Q!D#(v(D=Lzi5?q{cBA-hW@y(De{-mvk^En zZqZoW5`M9s5B^Mj=+oAKfkkk{GS}PSfY(bd#vT*3i+=m5Lu~K-Ke0Vv_7y9HJy1*$ z^gsK;Wa9LiyDDS&{+x8vuTdJiB|M#Ww0>(2YTZupKGqIt@vgNb{{DwrWPkiUPxbvx zp3qH$E2y=$kwdeEG=k%K9apphdbAvU!SsboOu?XGgMv-5m&@rA!u^t@dk0 z7lFNk;J!9Vf40kbF!?L?@2L^ac z0Ha+5e`WC$6Yp`or-(`Uss*&+>hM}+hIwzfM_p#F8r&zB>mK5?N@(APv4?n|I6@)R_bbT9x&$*UZ<_x zFn6#{(V1TO@e9b;6?g;tX-C4tX755~aFC^Dt@RR|JJLDmnc3%LdkFF0(3V=zvGXJc!yUG``k*1R(K2Ui?r z3x$J+$WvfnL9np@?^&4*ueq7;zn=a5?_Qq?ygy`Lqj)?vw@lybiq~Uja<5m2pObCR zvd^)^XP!Rr*wn}TGX8u&ID8R%xzno0!_T>o3%HTLT=Apl!CO5>Yke%x6ZeWY9Xl+4 zg++!peJ`Q%;!Vi4;Py)z1AbFqRlMnP(;vozJjYUow&B+s!%Ij{Qy*(0{m2LS1K$_- z;TNpq!c*3b?tRz!8F0dSx#0!&q@Fz<+m2PKia4A9-49 zX4^YiKb}QiT!!o|IdPkj6V-;ke@Xjr^g*(TY-q;Uy)ej`0qrlJ@9zK}n|`Ii=>xk* z_9^a__*E0QRXj$WXKLYH@>mPJO=CDJ!?1@F%dzkT!(X&+wUS?LCi&e$Kd~!89~;Bl zsb6EaiKnp#S>TiPFh29DIy%X3m*`(+iSS}{i(Y80D-RDXat^M*n$6f+JdvaKN^TgT zEqGYFXxi)*cXO8{Z3qV934>eF7%|c5gXD%D%f~MN+uc@vTdfNo-AOt4XtiUx+V98i z+#hmwVMiDBcRBQ(w%W+omS0UD`#j|l-&MYo7@I!@t{eYExCGM#+G@g{*y%*D5f^L+ zw!Xb_yFKs;(Ps`Esn4Cm{b3s1+fJ#faTQK3tG6rJCQcI{u!f%uKUe<-PLp)g1w)yYV-=cVd<}g4zCiCFhy@dccp${SI2fKDYN!d{m#=J+k+d z8S|}G19PoI$^QuX8_2(y{IOiCJ7wA=KS3`k>=Eia{pRj<#cQnJFGkvz>9hG>#MfQ% zs@<1%F(2NR@2|;ckw=m37y?kZkSR{Y>b&Y@O9`H0HLD1{7%eylZSYa462>}grnGSQLlGt!)ib(*eM zPquEGK7Z6!YRgxeJ9hFRJjadrU=Q$ehM~Hjw*Kb1-TTg%j9)Z%x_o7&$sXJUg7x&Pw{W2VQ)9Q;C=XW?a^5Op;Clzn8=PRc?8b+KFZKSZ@<<$DWaSV;A)@PI295 zoD$u`lmAd}AejE!GcsfDnUgQeVZZu|DmK2VWM#E~_TuEe6^Gv$uCs?iWK;C?8$J3J zej2+&ot`qEoG?_q;<%*7Js5xvKl#z2>S^@l=o3XttTlXVn-H9GT?pQw)^IM!ORpEk$l!PfI3^;a+*%Qrn|0i%3u+VZr4pW2o8aV{lqC9l(1 z(T3prbLb$xujj#^M{{H4hZ1IP=Et?Di}^l!HxKW+kENIYg(=Sb@E_m7WA5BpzveaUIqjdJy(DK}Z1fZ}=V(X%t&v|$ zzxQAH#n={lDfm42-X3#?C{I1iV{j4N)?j-ZP@3X1DP21c_JP3?i?I0clDXEa$IfSn zkbUT5KXc>R7k7`|1@RpEAMx;z@2~+BkfBSmK{6)L>Aj1fy-9b5w;3A6uK*g=ImExm zz7o^I#f&Wvkw5s1Rtv>o;(JFEUIJTe}@!2mjmeO^V zZ^QA)ee32$WdwW5g;w+1!v{=z&%-~5!U}YijOIDAN5qGPAJJrj=XPMfxK3+7g?`@X zfJW68w0H+)IYUR>0NJ~sS(lh5wA&+^rT=g8U4D;})4v4oR=*?*jg*ls3q#nKqP|HM z77d>coksHM`ToVoImQ;syc4cudlG+AT^CT7_KSrxVDT;8Z&>)3n(T2&?$EId=%zdq zJZ+vy{6?(YKh#o;9Ws9VS@dl?u&FMswTg+rnt-2Qls506`uhq^?8E#^tyEYTG2V+a+TluZ_8^Vg~io@`DuSp?|)og8=T+Z zKQSM=_(Z>##E-MdWj_=jqYSa2t^BTpZISzJq;sq=zNv3yqozu6yuq3nO- z+O=M?jBjX8-|&IR;ZH)J?cDb8dHU5#zl0a9i+4WD-iY4oeUeV3ZwU+gYnJ%>W#VX2 zHj&FSp8V!%@w9T>yG#3aZZ7*tedf*&`KoH{j1OxbyyM%Tu{HV%ddd*8<;8Vg(^Th! zM?hnmi!n_vb%w*O3@ghpDfQ z6BBm~9GS5pO}LSt2SVp)UGJ~gbxOUiRBq?4XndkOSopqI@ctR!EpKPo%UyI>aJYDuAO+81e9^j4ZNm4GN^#k>&Ue#m9wO()3m#E%k zy)Um)ulT0mOAG!w?8#Zzdo!XscA-DCODBxw3-P>o&406cK#pMDN4GA4qeDAe7u(Xd z!Ao^!+b*zQpJJ~H9+DmA>|aUz2)mhkYnV&jI@u~Cm*s}SRnU-lSXb&r=5kiFLhOoL z!vx=xl#w2Y9@^eXn&vvnW^`v)$DlW(`15cku@AVf#P4!`o`$w;vy%I+m?)WJ95TlNets5qG{I*>qu?a?D0uwjwTq0bal!kw9+mw!-b}Ct zqrYP#(EDS|lM5y+s$Q~zn9b?Z9;JD$N%j-vR~7L?o4TGPO|hTxf%UA+@TeUNSTmK( zBd=?YZNnCmJuAy^>Dg{nnsbtU zZuG7p&u!d0#c8Wi-v{*vI?H^^{8-D8&81$TmJCb*1sj|+ApUyYB>Wac>+`O?XmU>N@{Q5 z%6l8Xb#CZHt1-B=5go*NZ|5>++2|IOy@R^)z;Fibx6{_wdH)Xok04Wz2R>v0qf>O< zd+KQHL9<^(-nz_T^osN7<6#BuugDhzI^g?pq&4s^exUbhS4qx^>|KY|)1jGQNPo->Spiw|B4)K7lZI~Uxt_63&9*-HMK_;2Aq%YQ5X z&nSN}8V8-fgimK)QS1cD{~~v1_zQ3^-Sc_ohVH-B7+CI5sJUVGZ|R4|;~#H}`e9jX z!%pfb1Ak*asyAibi%rhTY@`m^bmiZr@_+X=mDv=YUe|Zc9un<}<|Y3mG06TfsB5om^=h|{@8A#gBS{>s^KMTX`q6w5{j>q!$%(-|R$(3M6nFxEvH?B*tCOu? zfY|uI%x~>a+vHjA>rSS!e>=}umlNN$3$*E${eS--N$zTm_VXT~-842Q#-ynUT&WG= z=%RJWeVbo-t1n6G@G#%;(=O}`rE?U8d+O6TeFyxgtnT={{Tb01dmi-fs4TI~u&Lsk zxqeFVMq*pSfAj2rdbHEGsU|oYa%JBsLr?qHat_9_uI8UL+`5E+mw&yl;NSA1SP8-z zYrtOJccwIlI-98z{F4See2>%A4t#ZQ183^Trm4-(%+$F9#wm|p;zY2||5-maOU^YP zlj8mcmo<-=3HVTt-pk9o{MEBX=^Xg2Gp|-z_)BvKrtTX}y4UZSv#Osn2tGiU$x3M$M>sF@p+8N+A#a`4=_)%yakVi5P+0Pogs@~7!o%w{#W2h?moS0-) zVo!uk{A=&Ua_~vy+heq;{LHmUmv^JkW zUhJ$}v6qT=!Mhh^FW|nF&5S4TkCaHGF4-cbNQ*VQxX`bytrVwA+Wy5!dkppINe!W!oUm;#Db0*Ln6Auw@GWT-3 z^1;QQBuhV?a`3}Vj7L72TUl!;{1muL)9ebxv>5Jrl#X5q{b27Y ziyR7mvnMQjb<*9!qqX-(cL6haP~KzUy}FxA^rbW-_Y5QV)X(xW4vH056&|1dYGi+j z`7!aOMvnjG$(GA=IsYyE$1<>dg{-pH1MCUVM8bvlK@$&Pi!tL3+z*0h<2TQ_({|BX zNqjgOzi%_nZR~^UUP|HUEZ#Lfx7N$FF#l!uXi+)R@8ElD0iSc`TqF3@_xjlTiCOF5 zb@jhj{*gr(&)CfZvJ@r9C?F^SB=H z{omHppz=A@8P%bAF8ru(E%fU-)2}VzBI*@hV;nvH>j+2M6ZlhbBpoKk(eI&?7)RI| zwhBkO?@M!QWEef=vIs}etie&|7#xAGt(Jvs4z3%a18d0}HKXU|w`tB`V`6WK-wB>J zcd;b7A0**Mx~cGlj6RB|@nh;LaX*OaQ(fu&8?~q|Yyfe6s%MyYH?je!E^{v@KG`ki zjKgYgCu!1Wz5Z#^uMAG)%#hV(oKc0chgZnN*>i?WG~H^_n@Q7PgbyL z?=)FrewM)_^A!GT_~%oM-<%|ToA=o#-x=N9Pa zhlU>TZMZVx;o|Ge`^SLQW(7o7jC~SndIqHh6iRS7#jh z&RDh2X1|@hf!4~VVZm+qa&iviI6I|1`lv72VeYLVP5bm3+a&F?Pp)Tsf;^1JUhH}B zs_1SnWWylEJzkyl{ES^)-(Ks@C`9^p!x(+LiF(HB+iF|mL;LJ8;M)Ow?62=Fv7he! zlYB$?4vvz*9>-L)iLEj-hktVgA9C_@O&D}MkN;(i!DGygW%v>34%^4V=KKO9L+DHe z@uhW6$K3CtIG6vMy0-z7qpI@%Z*}*~bS5LzBoi3NXetmeK$MP&n00ZjNdg3e*a->Y zZM7p&vp?S&%>Fk1WY?ZBNrr4jJ1{^%*fbgyS#$>$6(i^b0z_8aAg>~5zoeKrVKwW< zU3Qn3|L1$FYNj(x0>qc+`R7SJT~l@I-gD16_ndRjJ@;JsKotvMyskiTDedsTe3k6I zLPu>6jssTWD*`u14pCFU_UXd*zc#qT*kz<$Mcqpei6=FKF;r0^OhemZsK{%b+ij_ zzGB|;uC>X%|Msu5Y@MX`_GNtv>oA`u98F zy`6XM;78*QoodIOc>Rs;6Fk#8QfsYHC=jktYGv&dJL&46Ks$7A=#9ioXss#hlm}aR zrgn;)tL9l;W{ExR4X&q7J=d7TKHb&=T?CsmmAMHrH|?z%mbof(g~lN~=a_X>>2ICi z_~R@4ZhI}+fNbadJNCR*Po2Xv9qq+<#m-)dGLbYF_9S@bg1RtC0U5`$cg`!0fCop9sE8DkmR*`GVthp6Ua;Z5{#YRk;ND zmR0T~i`NG&+%|tti8k1ys5}{rZOb#FE&O9`1mmiW2cbuS@nvzW^Qo=gmQOL2q5a%C z*3~)730$=0kqO8}*XKDhS@|#iALW%BBIV)__=(0RdkdZk_3I{nN9$_IFEh%Izn*fh z)yMWu#_l7H^UNnM?liB(CwC0xw^DuyX5Fm|-gKabp9*=eUSW-s6K_O_W+}aIf|L z`TCpn`->->&KmZP;L;Ns?b^P|EPwmywa>Jj!5nG_=W~YZ{pWE{zIyx{tn*Jh-LC%^ z_&Yn5wf-5b^>eQ^e&xWNm7a$^&YT~3JMrhp7q^7GTbJVJ>wnXZiu`i@lXq0`%~`(J zT7NA2G?&y^(m1y|2Ohpuv||n;**bxDox&0LnE`$p%rjPgG@56w9&fT&y%kw6`X2Fi zW7qkQrA!-T(#Eg0^9}J{8@j-uc;9LDS&wV2bWr9l@0rS}v~|0~Zw_1aq&3z4)@Le> z<2mDwZ&&!{s>Jwg?Yr4$Dvs%_Hu|NhPII>Qy$ofz|G@yyTb9+cl(h<$=_zeV$Q15C*5cG`dZY5EBNs-Mz}Vypxf!@9-}SjwSce|17?+ zGOc(avevD=u;#*w$$lg;dw?8Y{QWj^eLac{Q=V{BSUKUgSr=B0^vLt$?C z@4Vx}N*nL*D!6SgQ~)@d*r7prDKqTlx5A2F)zR3V)S?EVeI}Po%M(w>Nqmf zX?aBJY5cumR^~#D{hHQ(l9X$wP1V6Zv0Kz%zON{M(gbfK`A3;Y!&{mcKTRK-+!S*G z=E%r9lgFL~*E&PP>Olwp5*Rk68WdXRB>bm;qD@)l?V z%oEIpJx2noY>71c*H-`odzX=`8?67K9U0cfJ+inqJ;h$*+3d5Qwt>AT>^bJw<980f zr?zbfe6IOi3n+IMSGIdYuw==G;5_axN=dGockBG#I8NY5Y+c9OfSx+P=28DN+GU@9 zFuAxPAa-j5W2km2-}+qhxg;Ck4bH561Dt8TH_H9 zZwRL4Hw3fbiFhn3kNc5~4cXSSfvX)neimG*4UhYeK|4!R{84jgTeO&#BflYhewO8T z$?!!sCsJzr24wtlOXno?O6Jiii_R*al)o=XTyi=(c5XG{KLNcKRZjHp3&K1k_XWxP zy0Yx#B>76FQ&#JYXVO2xFa?~P4i02v%mJtKY`>Ym>TlpN>>oc=OvWiHPg&tm->>(G zqv5+4m-YQ=uj|hV;9zZ$IPLQC>fFt~m2Kj=l(PZfuk4l^gZ}*El?1l3a0w4h{Q5HA zRemJS{zxVrzwBh@Rg>gPKPfv9EL*yJ@QDe#2OE}rr0ldUFK;@byFA5fs$TtB@<2`d zF!4j3Fu}e>K0c{MJiLl@s#=!3pjFyf>HkRQci0?RdcMAF+3l*EQu@n*)E=+}HK9n_Y z0w($C9Cw->3#qc?qva9wlKE$2HdT&HD2DmQKs+Y?Ql1v8I~b z?01sPTVI{e?{*{GPQIS?RmsUDzv9aTzo+u+nsimZpgF1Q1D{{@bFxp~6L8EKtJN8^ z!B63O?zbbi(J{zkouM%&N4&n*8_Yw8ETFF%J3jd|(Semy3*^--D7V0P%8`c#z31>; z{y6F8MqoNacqj`GPg+~<^S-GT&@)a+adI2Vv&na}6x=QVo+iG#9)I8f{Hkx~MBn=4 z+lY1lLyUbF-)t&_AF6;q-KTD6)1cYcRc7CvNu|cVRv1oY<~rDWJue*Md%fSq`}v;e z*j@Fr%+qN5LNWp6Xa-uw}q)SM_Pe(y8FFr%)&p zgI_Kn>*{g$ci?V5v}*x>qj9$nM%+pN#=3+zU1PnApUpVPxAFT`yq^OdMdJj#vHhu+ z_v)M-@rH2eu*N%o;7#xyxO5+H-98aqx)CmsZNxtZi&}RNhO+YVauWG?lY6<9ecA(L zcuy>La1*ld%GMoYma}oZl$*ktq+{3PGkywHD@UE~@?U|!Cc`?Mg^_XdybJ=&Qw};B^P=xxw>AGrm(j>gVxw-zNF?1JSpl-^=`+ z@SqjnCq$2kZZX~+_HGHkihEN3Vi;0<_nx|XlKR%x!Mynp^{{7y^St31Xr(?1&Qtk& zwsJ0^bACpi68VMaz-Mv(7v=m>P9NDq*fMr~!b27lw`Jw8?4ITEJhpY>pqYBjAo&yd zO%6K1PJEvHU)%5*3~fqt`s37a-^3dt_|s;-ouhDO)rK_VEbW84NIqT07+Xc`*;rRR z#>RRVKfC!5->Xa;V~o87we7&CJd5+;0gWv?ro4w+?>Uw+;v73*lN{Hr94pijSC_8s5D@g5Lzc4tvKO_g=|6i!Y5QjraM~ z)nqtV(=S!d{8{KHiG7%|i>UX2-1I(W@60aUVr@DBI4&X zXVqH4WcJy&;jdPlTpC+KYrt-PQ!v%pyl2idow3E5E6;VlcY;0~N4zb$SZf!Wft^bYQ&F7ty3D+f>a^TkT(c&6yJa{TGfepanr#3yt?;|AP zdde%R9?o21{&iiGA&#kgHUXxpi4C2hQI(RLtm-yxB zS>}YSn-Cdc{37vft1w&}==#+l%b{X(MciQXgR z(0pXl^pfT?j|6LuZ76^JGsx9^DfxURSzZ6uHQ27?W1hOEatqh(-j1^9A-{&;RNIeg z+z*KE#7GS+BuCl8;2oKT!ENU(tR#>DKU}l0@-}ZFbCpsp3*2|HZ+A(`uuo%?UEja+ zQqGAqxvKU9Pj``t?1Md)J;Cz(Y@@8?pKSQQdy;YNOQu|4V^6gw?G5nJ)#$D1CCyj5 zcy7lz{)Zcb?c&w9NPZRr>9vJZdaIutt^<7X%{sG=_l4>dJ?C4^HO^sfpt?W6ujI7m zHfNEWQunC>qe;%IK?Z?CL27S)cYjrM`??*i-og*-l*eCal|r8XrClDS>TNgK;0*}%FscGdDC z&x(Q8_!D-FUrzkYIo2PaES*&@WJ|RIIBU+9Zqu1p6X27p(#MyX&kfhx^Hy4lK zptX-@Mf+?t4s8FTz9zh7#66h@C!GB0%9pV(5^ig`A)-YRy~(#v5o1vmLG94UFe_lYshVjC)PwQo{ps* zi;oCD!jteNya|8OsfPO$cp^3gw!5H~$O@0UCQbP`^zm6Y@pc7k&uJ{*#60DBKULLS zMc;KDy|$8S?W%m4>vs1iW$6sj;9zYeX@h=SzbO0xy?5=F&U4(K4g$|^XMlcZuB!gn z>ZFTm==ld%igt_x$*4pQSm?XX?Gt>0Yu&{S<>&KFRnc4U3AV1I*HxM#xNdWQQc=5# z$rzJg_)a{d{!71#ZlVqKKU)V|kl?-HeWJ{I_W(Yq5@Qu!dJ{0dm*@3k_0QoSonfZ2 zJ1wJeZu4etP@GkA=BB|U^LOS1hV=lmimSwBaY5Xl<31ANg8d1yovc0*P3XI&33yQd zO(yKSr3w8Xp-I^HuS7I)s7G@=#+U8CXdTmEv=SXfFX2dK@lSP(KS)_yF8U_MnZCJ? zZzNMS50gA~ytB(4PsH*#j31Gnvhvc}B-zT{FTMPr{D?n$T(VXAft*;z+#B0*(qV2< zewA#k_TtO81TV^#ex+^qBYpoGW6S^MiI<0-**n+Vx}ej%mUXWcl>Zjx`zY^5@iFZ_ z@wdLtISXTBh!x zsx7<45F3ZT6@P%8!!mXoT;82js{L^Hi+hhsJIF0FbRzPg-yLB6M`gR27leOnJ*wWP z*eF{RKQ;2Kl52NrN!n~Q#0z-6L1BmXCy^_T`jyYCf#;20sj`YQ6HHP1ll;Q8ul#CV zM_ggotrPhxkVlU7sU`T8UR$!3_?i+rd+8Qpy~#IN_#*ZTdqLS-a0_cBP1Gyj*ieCb zsq-erl%A4?yuqA?s-B#q``Ab23(`V(z#8{bxO5Uw9lB{uaC}su3>O(Ue#w-7M`!L+=(A$E09dNG$?sdSuE`pmF`(e0=yBFNV$Rq@JPH?X~5bna_^0WwU z2e@}!z9rak&VjTeE_rApF;wcCctUvn^}Wg?x0!LR{ok@57gcWaT({rb-s-xWCmGY} zx~6ARDoyS`_Lq1DTysB7zu-l@vC9lprt|jTeUBKBj4C0wGqOxt_}|NAy_z+^YX?B2Ji=76ccl9GUUs}&{ThK zO_{yQ?UyzawT}p1yrA-a__!qxPm0HK;>By>MPil2ivuAqo(eB|xk50FYdY5qt~6IW z*Gl$DD~5P7bIP2(-!iB(?Om<}K7=-Yb*_b-b9$SCl*inYU&DFb4sF`pJNat^%`X%? z++x1NoN_(zbe8XdMq2m7#yU}Bs!KQnzD92?V}LqMC-Q;w-Raxfrm%1FLut%j%w^?{JTt=M z8N#DqkH@+(&D>aH`dx>>;|$`oV?0i?_haEvG9tv^*mz`b?m_U#nw;#@6D6-sj_{cB zI7@aIk3ANTv%uqcaQAlNmQS|(4hoFH5MS~|{yz9>hEB2WyYr?~%*Ja@G5ec4%@hAL z%iJ)o)AVdP#az^PiaC{MQ+PI=XJ_$jGS6P%cNf3QzB$XBmF_f;UU`Z+^43`<)kI#9 zXg~i0_$U%ZbV`(ue_`-0%BR?y*LuW4&Oa|y_1<*yJv{sZ`*dF)|awW{fb1Uxw2a2aVk>8E-xzZ1>$of-pU9~5}-x~i}d^z;R<_Q3& z>O&u8ot$58fR>VPcM<;~d;=U!2Ia#;;Tbg)ih=UDhd(L=;b@%?M5bH;+uj#1s4x#ZIpJyoyZ zbKGUDi)#;XclB}lA=;=PhL{;>5Ht~w*5|P%M*jEBwl5oq>7lRCIt@M^szO)384vDu z9376|6nHtB@g;r}j`eryesZA|=ucjF%GN&2^VYZYR_C1@?){vc?X`K?9;2MzpG2Qq z*aNM5Y~$wcGqwb+pX#j^uH6#MW52xi+K(%Ku{^Pa{~CBSuFeB~l~+8x{ubTNiJob` zBwy4veq|%93trp{y({8n_2*v3d`oL6yIl5APGp=9eLmD3-;8V;#RD|(&8-oP;B6R2 z`GK3Lch`Nu;FIH+vn1~PsLlX4HRxY!%*mF##`08qW>cWPi{=qdz&AE8@(~^ZPRfB# z@t<2)RJPpC71rswcZH#Ap5+gU)#Ic5m<&`~1vu>k;@G zGo?y?Vo2*_Xsh)L_-C~ri@rOOapsCZWBs9$+1u~#f`4s1H*{jIntm`yf7d`|BKOZ3Zr#`=t2>{+5mh;<6cNn+s_>d)g~$Ywhmr z2yNAO(edNMv?Z>Ez9-Z71sbCXcu#bZOqhsX5Up~^1-+YKH22JgF;uJxC-^1-EGi?K zPY}&DPbzWlmWvOJdNg)F2aWZsGUF(t9HA!19^I9kYsn=Xr1{l3Gw#Z-vd`8uf06$6 z`MuQ=^i__Pt-0RdX6}WL&HVOpt>*a+{Hpz1a}NbOFJs(qV(n~zy@qAh?|u4^yMjKj z_TqOV8|91OOi5_rm{qlp(N3RtW3U-J=!Oh^cYXX%UFC!~kM$99KPdhOdkVdDy=1E5 zX-bq$%ZEO|x&iPaH*02~7_7;bx)dkBm3o|PX{O_@Wl!b}mRA*nA)8ZUw-3CiJ*ODz z9L;AE&|+MXbLW9Ya>=D$jlmZN*zd{s5pOzXH!@uG4|UNEs-sR9-K@VOT_hMyoi0+0 znC9`Deeeb>%KbJui%**8$H7;7mTw6Zdn-PaOp?sV%BF??C6C&iXZXhEsc+ulh-WD$ z`6|BwZJrJuV|m!-ZnAsKJ2j3NZ*4C4r;kVEN|l}TM}1el_%OinfW^f`m-!_3>bu_C zcXq6HL1)%OiOal@Ij~@8g5MOoR^a(+;7_I31nKrQ!A0Dk$FqIrK8xeS!Bfnmxv!bM z${!fc?{%IT>$mhVmRS#!>tq&v8EbyuE}4|?9!!B(w^e#Lq+42h`s?WSLY)nf;$1!6 z4%haO?uzZwyON#8yLpz`aYU!der=ZV%5%+g*rBUhI?YagUwZZ(=9b;>FsrtX>`DF# zcBd(XGDGt!$@n&8y_4NMC|QpTk{#BOI&DNJ4*OT&9qGigr!2HOQ8W|1LtTiyFWE*J z$+ozRoMdD(%5cy*Hu&8pZx*sm)73k16vkW zpJ$xz=UUCX7x-;)9t!!9{5_|NPr&O}sJq`hVPTUmMs$~L4s6zUB%eT`fqq71@Q!Hs;#E|;YHZQb6MX%9vVzzUkh3j6v z*_R0A#2m}}p`5sz=hg=Y{bMdWPa@0tmUVhZu-wBq)4Nydot;+isEl;Vs;|e2+}WBuawvy zi2RdGbn<>#a;(WKRX*{L7?wq+0?D?>ts_=e@8k+ zu+_^Z`3?$Ma8?ozZzwB%#ri71z4!z>Ka&682w2XfUBRbu*bvEn{XLQR8OeU#+vis9 zZ-5rmhunWAviXr89V>a31Kv~`+P3$E@gqFjhs}7n{n%gE{}-sMzW-@-VcdTsy_gx9 z-zk=vekRlK@9d}Mn*OFvv!kKYl(^!U1)KZBM^-Ra#ShX6bF_cm^bN{4qPkhT>zKZ1 zM2>w>J8x)tq-&# zQtXisJmdLpj&g}$M<^~ewj)$u-1k^M#JLmW-{&5kYgQ&YO~D!QlbnIRQk-a_ggnTD z?;^2n|E;sx#hay?4Gis+_EE_*=G)-f8b|g80#8JkvQo`X;oIbta%a z%ads_JNsMur1~20J$!=sUvn0DowfUy z?0I*2=qdJ0@fwtSs)AzI)??VmElI&KHX`}q|PyWE0%yIItFGI_^iLJ z4b(UF>0!;MsG}|SCH(D6uu<_H8DgrLGqhj_82UE{oH>oMHJKv-vvA6L@{sbp4!6@w zy}@jr3&+=i<4lQhAl%|lW-vA<%o){bytDhdiE;I~7tZAGdItI#pFOJP=t{z$UsXR9 zpQAW1pYfy^w^VL!xyd`7n5oXPXn7BH-%B4(NA@RyD?uN9$~(-t=JSo_A;gow2j^6l z(EbAW!a-&?_@`SuYks2n*$(u{jso?0mzOn9!9R2TS$r?uk5nepkq&7u@Qk{A;1vv_yKI(5;Ct%sXZJSd(1ny09_62YjA!kXliVoq zcfb2J`)#aC7N`z%39&q~{kAR9-;pj6jP?Qm{HiaK1=<%7 zj!V@oxE04F`KK|cajJ2x*gVaHl~?C-{ME|SpApR%mv3Q=WwOLkGTu{+CHV<6Is89< zDF0ftwuUSc4VC*K=0$M9zRm9H`Cr<TZi?@O$kaUm<(T;eS9I;)IaIvMnYhb;6;tVM_P(Vn(9i9Y$z#*A~f z9I8KYU(~Pvc>2J;uJU(}BwmH89&<5%*TzK(v3rpv{@IIu4Vqs#d!_b2Gjx5w&F zbe53=k2&HY7v37*Ta9TV-Ey(`20WOo_-l#fFXgP$7!f^U9y|Y4`0K3=OD%t4dvvG` z%|paHr^%Md;@hRJI3IbO5C33r{grs24kq!*Xqa-Z!Y2oVXX;_VBRmbhMm#-pn0Wf% z=f}WPUA}Jz97+yI|I0sNGJQb<_C}ZK`_=s=)|;^)NHrYK%P|45!P&y;L#@=BGTeqZy< zE3ADWd!dQv5AkdRzmhTi?$_;iu{@TZte3}{cl^%Q-_0EOin2YIh}fJ1_4?fMoz$te zH_#7_9g{(?dtVvW>#0n**E^QA@j9yVL?wVd;hj@AME_8XNt~C3N6zk}Cvh$R$NqhD~Td&Ku+Z%jdcvipj z)R}!>xq-Gn3@q{q2o}*#WAZN}_#>t{JFf7-STbowL{W11zpvid{GCD>;VFjq9sC{F z7t=fi&68PZu73K^yu^hq`U&Ws^2ozQ9vsaVWNUB7&Xymhxj-4lG&a$0;eWt@?~KMr zwpL*M*)em=MmVPr+K*vao7Q>QvS$jwB|Gh{7Qf6tinOaWaSweDe2wt6VrkdsnBQQ7 z+@2k<>*dU;-kkyt$<h(T6pq<{oyu(h$5()3 z_G2rjG=_fGE==b)+4u*$Mw){^ zs4JF#f>~qtN?>lxa$gJv?bw1=()+QTi`Vw89U9Gn)L#7@$S^k2hP|{|ViE;2bx6Mn zcdzC9w%DJ-*peJ^pozwra+;QE*p`vb7vAJ=NdT|<*^m*Ra-S#n-c#sTczrx{Z8m*- zB*XAoRG7D)s5PUc9R7Jn2!|oeEwy0A#2FM zN36qn@Rrt+p)GyA-treXg}3BS)bq55O!X93H!vvpY+t<`{J5qpJ7g36b?A2tBm10# zlvfPyd&9WeWM@IGKl4*?bxw_VQ0J=crY66H+3wehEe7AuPs^Xly!@=_lr$dWi5&jS z85BDjpNVO_D;c+fXH&3p;L2bnem9#F4!9NnYO!`=GMa=Sx-$Q1>EY2tq%a^8T?-1ui%n=6B$U{(&=_U$x~tcq)y|jbd2a_`98J z%amf}>L~^KxXAh})*R7Yz58u1?VYZ2w9}vMt{ivXj$j(sNz^%qI_C2(Mct?JeSh|* zN;iM|?cKoAUC!`3gKIYBioAad-zewwOZSy(pCHGtQ$g2eSX=kD3~rv@9o#UdJ19|Z z>(1`r<~`(6=DweAMe94bzmw}Ot^uwcTtDWUU30pFN4bBJZ=U9xGWWaNyMsOa-j&@^ z8Q@;AwWt2tH>rw0oQGLB>x;%n%GG%eA->f2M(A;ze5EdPQg;V^$=3KA9?ni=40h~{ z@J5Vyh#UIa!@cnJAovozdE$uId=Q%{Cwi05dF75kdUVY@UP7K_Yn-#&(N2u9o@v}o zMc}EkHHE`8 zvP1e#IGU^RS7gkUSm*D$Zct+r`=sLpp8S zz^8mLiK*BC)D_2jG45<#Dlb|L>#I@tTQv%Q`GerE=MRj(jelbNt%~qRjK(nj)FLfpLoOM)E$UGc>BBK|S7M8T^v`5)1C$bI0=iLn-z_h<_aIg>eTO z9Ox@~U7sK6xO6z?-T)tsHJ-n~_|SN6fX~Mo&y($Y`iMMO@joNudAjn3Fn;3tPvU#o z2O3AJ>yiHmWwzEwThKx3i()TYvfWk5jOX4pyiVKPhdgp}j4kAlaz@umw;Yy9;W{t4wmEE7hL@4Ga|WDke-4#QV=&XIEai4Xcxkj#bi zbJ;Djfn?J_pNajM?X8K-T;)}pbi1oHmT#e2> zoad7#uIIv!uqQqAMfT!bPf)H+Hf5{gN09OP^%GLWtX))m*y^97RKFkk4P=*ze}Dai z>VIFgJHH;An7N?ZDv|#iIPKai_krXzzDm`39Wb=yveXkiNZDKM`Z4>k-7SN8_GSq7 zRs6m*sZ?7{nalL7l{FcD)8Mk3XFYtsk>4U$AJ=BCX@y?m8lP-+$T8G!cD4%c%|`8p zasJZ5vOmR#jhRxVBs-M;DUPfYU80z>c4$1!>#d&BX!dGvvv^f|826dSDhKNF`zl(` z`2?{QoAXx(^0B70Za6ICS;IU)mxnnSLtRd}IvKBXA!JKPF4gOD@C$%ds}8zdQJQ1^2OhIO1<-nSm#KBe^eK6U)u5k-RXuP$xK9;n(IU zZMJs0Ph1JSyk$zCl?z{>FU2X{_FiN4qxcjad2_1vVYjp9{(E+CM|)@+`Nu-5BiEE0 zvV}78rekyZnqYc6`odjT-qF4e8&~$5jd|^me2QdF^PRlAE4?m|t(*2`->oaJMYgJ5 z*@zmGdGyGSsm~Otqab+CuR)^@-KUCo^3C~Lb86njH;z*rlppOp@T)Oo&q#2!j^eZ5 zK)K)52J5%{uCz8$*6xoju}2(PQ)_UXLD5C|x#IWgcMG&^aNNOE4*68lzG?VV^VWQ+ z;=zxSACgbMcwF-1uaQp|Bt2lzJEydwD*ub~xsO%#w`AEzZV2TQKD}*uq$FFEmkKzc^G0@uROUIRJij6=fldm(B zk69mC>Gf8Tfx+r_?G4y6sQe}xi>LB#0hefcHgN$BdDe!q#8tW9WiRa+RnEo;JaaU7 zJQ};XI4ECrJMjyTd^1&3%&U0r!=+AWwWh58E9Y*iAU$e^RM%Out)(w)-i)mFoi~fl z$3^?WcJjCQV#mrtkeB>D2#*)pN2c%k&<9$B&^O;lmO1oObpH_qUkhdA{jI6eH6y+O_bH2G&CTR5NO&8n@);Bx@C{^sTE4`UZ-D%q_y&@+Dc``H zA~|A^74lpDgFD{h$?5vGoi|OOo|V4nzd2Y5{N#9%Zv?usU!T7W}an%H~(jvqIU-Jgaz3u!gwn!?&l1 ziJ)(>Y}WdK#~e0^*4Sm+qu`O-HwG(sroVx^ zV*zxLJXBw9XKtwPXXK>AppojfdhGsIjq5Af7dXQw?xMhW%WGULsa;H)`-tP0UOIDl zj=7`qm(+W^_jtwH3AC3oYi#{$Uv0P3&h6y;!iJdSny!ho-P#_ui=WE2Yv-zJcNOin z=hWW0uL;+0{UhL7aA4C^#otYtQspa*#}Pbmw!D?K>wz&_J086D5nGeO7t$yF;-0&o{q^5A1)kgOWr3MCmoHb+AU|o3G@7TXbDT9Yt&j$ra>9hh)otu(qz>-|)9` zGU<#GQ`{6dC18kjmhMxTTf#~c&>->fjSsJTQ^4PVf;+Y2f+CM{s=H$Nd3}9A93{H)b!71>3-yNY0en>JnCmDXOmBF@8%Zr1JdGXzO5f3~$$~N8^ z@jy>?GkrV8;#V-ley+{IfwnP!GX|2-N^vy@+Q!TY>v%x0X`D$9G~#O)Pm7n&7Musz z79-=JURKL~yAi!*$6BOQ8Dq@`o~HdF{np!%k{yyGD;b*_JCZRw(p`akDULh4Dtoj@ zJt_R*MeU=ekIYFs`s}l=YG1e)cz2O~&03d{3{t$$GsKvxFR}gNKf-!OAS*TJh^4+g8$^-fQ2F$-)15zuM$nH<-#|Ll$-g4b=VD%r|ALNjAx* zNqOwudX#6_YS1nT?9I*oe01-P!3JzSjkU+G3w<&U@qvoVmfaZUcrI12{~nCtZQCiE z`y#uJ5c{PR8{EE!=jCv3(D+^Sq0X-o`xCHhIcozR1-7mE@xjepw{rD!o&FomMK7q` z$$a(>{vN>29^n2iuGzp_$}*p)KTXcsL7n9l+tI=U&%$}W>}YVHe$N&Te8owQ*wHQE zz~%q~2kcuVPYrhTmsV7}v7^)GH0Gv?*W!$N@Np&hNPw?N$hVmO!bwwXOBWtS*Dyy? zJJ}G|!lUNbzkNjQoDtg5#WS&^!F#?`;p{TZ0rucTU$9q=>XVt+L2sl1n+7|+q?GS}A}eGX^F4A0TQ zMSpIf^4zaAM-TnFZTMmCTCO>|*6Z{PzYIE3eqZ@$DwKWR&e6$@V&~|r$x!bqa@^ZF zI%RZbeK<$&4!Zf9HPm1uzeTP-uFYI+KKnp`x8HrV(m*VS_M`Q?J1Q-C#U0Kihr)G1 z6Y-??g2#K9$6_m9FPWAqbXPz1&%}Q7&023g{Mt#ZfY#hg72&KIc@HlSscaHFT};{7 zmoz%YlC>L1+3C{HNo|bh9I??WGF{b`r7nC!+k@M4+bhE5X44h?L_S8!Xs*}h^;T!1 z%iE9-(tYv|#kNN0SD&(9`=RgGc<=EIyT?WJX2#6J|CXr9%si)D4&F5y-OEPvt!fw#}yhARmDr(x;Y$|_&T;V z#XdO3rJdj6gVUINr|Qp+jLBwr;|=v=vh=>;F*)pm%ZENV_2(k93tHRrjw~GhJIruQ zhT!M>o_Eks%PR%ea$Aw(g`NZSSvr>E`4NBZJ&%RFk_Yb^=kkYK|5M3V?PU!8 zwR)E>!YlIEE?iO7-x@_Jcl34^7m|ezcx@k_;T?> z5fAh2&~8H}AwH1-l;wU%`$%=K_+W!QQzCal%oAbWgprsG<(i1?G3An|x5r``)AKR* zRz~Z(@t&Y*(K?gn!qQ1eWWgIW4uER~c-fE5BV4C)*zfp5zTNiH-f7W(9_1$%yzyF$ z_OXZhVW4t}`Qfwmen!PXNp9>jyR6-rtebn}b3c5Rx$w}cQeUt+tF@>LbT(nL$!fmD z8kU{`S5w#3)-D%*ks(7`$3w>s%S_GrB{QX`)t__@p0jJa*>G(a_?VB$kF`yCXBC65 zwcX9g+!^SNA?}+tg*HkvcB*`3@%o{GzFL3Px*&4<-D*1pOnrF%C+}mi9Fb!i{@~GHz66H+81L z>j1y~TywbeZ9LbQrm7)Y6!TK{I|iG_bI#RG-zDc1_+>n%^PC9* zU#%=^PI!GZFFpS?%}b};7Roopxur^qA-urOOItEpU(vimdn}0&p%0Uh{~vZ=+B;c# z(<{|H%9sLpWQ?ZqgEOzJ%?20n0&6Cci_BdZlj;xhrxp1#fpOi6{YhQV*yl~O>*ckt z6I}s+Xq{Sp)%^$Qr$Lrzo*-Q<-=J)1d*4~$o;jqa=Y_KT^2BUaTfDXKVi#qk;}w^= zeR!QkWo(>jDSR&;;4HM^b33dY1m}~1+o2C$hJ0J}bGVQAml^jpa$}a2Gb6=WWsLvI zUH!sgxn|F~b=D20J>}_ITnp{EYlHi~InMfuC*QQ7CSP$=k?-hVy7M+h*59_fuV{t?Al zt|Mkyaej7xvtpKuYnZ?BK6gWK1^tS11`fwu=0^6Uy%V}LMtjnlywGmV@N5J4lwG0y zXk*1<#_>XjjKze9uV5cqDi_Z2#>1y0`^)B*kD{H|6^Fj?ZNF;o$0y-4cF3D2+ByaB zl>=7of%Rqg_646fHjMk&ALX4>{D+=vyjWf>mTFty5tgy~HmmRZhJEe_yrYeN_MFK+ zOU!`JY3I%OsY*Okeett)o)s65Jk$PTjn@f0*YExR^z7b~Ip0k<{-k>b^5Cn3lJ%+L zeHP}M>)`BVp!C^g_XX}ply8{xBcJDJq5qYG*bU7>H-h#9^;j`G|7I859-l3 zdss_XUAt#)3A*#dv$C$PGh2af1eH8SU?-<|NMirlc{S*$c&ArJ=UHM@ua$+=I>YFJZg6b_3SuEJ^gj{IPKy$@O{jI_|UU@92M%mQJnH+ z_xmQtHJPi0>xKJ#vze>mgR{)<{&JT2Pp&!q{ZoE>o}Fo0xNo~^rrFBhyG7KZY{! zO%$gp-J6T=BRDSj#;@%>UEiI`d-2;$$q85X`%)XrDxI9d?porZ(|9kwkqs&M=F^Yi zZ_ts}rUc#|u2|M@QQpBEGAau$fPco&%X`brnKUP8&nsu*xwYr889sV)S9M>JJSEsD zySd6-d$5C^=h>g3AI>e^J=oY)s^qXcu=C%o{``RZW{-L^rP>d?(p8GD*IpHCPa^yA zi`nrj-CIWI?M5eQuaUJI`0f|q(q1Fh+Ub*B<1(en&v+(%-|T#SP~XJ1$9h=l;(&YK|(uJ$YBX8!azr zpUD7y6`ic?geP{#d;kugj_)I$crJd=-@g$Do=F1 zjUKO!@}146UysMb$N$LOYSn;mbdBuwK)&aIvj|V-Lm7B$y=;LWWe14|ur+Qnu!g2o$l%GQUknww0x z7b%g^{+UNuqtCJ*W_wvasrBr|Q9b>I0o&f@Iv5<_6`cQn?q@37WzS)1>bk<(1;XiA zeYEoh`1L&YL`V*e>_>_AqVU}fb#y4_(4Ekt37pz|i>%G>8pZcVi|-2|9S@L&A+N*p zeZl;C87X|T7iA;$s9tM(QLl-{QBw8MroJ0pUpR)C2WXv~YjoZ4!H{yAh~I3zQJvHO z@z;BmlT77hC&c=1-}^&(eA(UbI@b)Yr|*L2qkTG|p9tL0Kkg-g*mt%uy#eqEFid7re~)VIG<(RlLuH zI>i)v0~@EP_q&1O9Y>A6RZs;=x0KEnwuSSnS4YY ztKGR($2*Pvh`$9FVZM%r%wpy+DihjmEMyGtFH+x$$_Z&^9FR{$9@cY8s zqS|rP;evO^wu^XNZzwat*%~bMNS3UmaUlE?2 z9A_FtydWCLztjuvWh;u;gn#8-+nBkDejw|BEtmOlkjiugX|5Kowrm&c2TrhxEAKkN zCyc|sJ11Dd-yvQvgJ$5KGlV4v)_!yZzgxfSV>&Fd>-4V1ow=0wJ^8!~)z5v@49OSx zTH*fC9~tg)9o)}-=iqQZ{yO2F`A3HPLmwN#_v}N!z4T)tzGJ;&eDQU}Ct21sNAXEA zh8vy`pU58EnE7&$FvNK>9@AVYu3RSf%CVVA1RBp8pEscEG=5!|am;-@m(ZBi`p4=4 zjakn0sT;GLm03o15`$W*yu|vt#-`*^5?KEJAH%V#zc2gtf%DAls6OaB_Wtf|v*RsX zgVg$=Z0~pv@O1qh&0#$5>uqoQJ^POCykkTr#OqC4jriH-@MfKq@3=n$n5SJbl6$Tx zFFyeOP2|6Fc*eQqOhNjmK96VQJEfe~%;R#7t8$77ddSvMpF=K{?ISLwPCnn*V!pf~)Q>oi9Qtr5mWRl= z<~?>US0+XyYctmkTqVV6@I1D4p8IFtY~`B6RqroYG6o&lhw%H+5r0C{ zlKn&bZXeO5b@Ck_d}vcl1~;O6sQ3FU&-&m{&xAwuOSvNCTUWe_t3L7ffqlK&_Emk> zcjDEJ)T=ecjjV@A7fJT%nbz@G!}~JNzsmEQcz#p7z9c#+wkz~U(C&h}_r%{i8SE$C zC#mbH2VWd=2ExDFMYD|0dBFG@|7GmwZ~pPv&$m%Nw%yufyOpSu`r6Cnbtq!v7LXb2 ztsalPy|ai0L57~;nQaAp@YANR2Mn~eq74_DRi=O z(|H;v=he1)8-lm#8}b*N1PlpxL6x%~Ypqk*cjK2TH%-7->Y8LDF{)2`<)&nDO~Ucc ztfuG>aBN6rzF196y=pMA?{f6GF~pdf4A(R+>`Fs!5cz?I#=W^qI&aA5ZypaNCU@1o z!}`>bi~-pPF8Ljp3)pxH?WZahHUxd-lGyBTU>tB}Jv^lEC)qKBJr4hrc<$f}66{Xi zOq5*^+k(&>y-EKllcitTMOy;(ClTe(AD!cpwXQH%ux#K1_&4ypGaBk_RKIy!qV!p1g?uJ19vg?ktSubaK2Yfso3FORhfW8hQ7q$yNBAp* zuZ}kHd(nniBr9u87WoQ)Y5h@aG7jbcTs)MMF3*aGw@D`JU4nPB^)4U2gCFfX*=XW{ zxACrtu}RxQs`nUvFZrhYenn_Tt^qx#o`dNh*|OpZtz&DCgJj{Mbc<*+dkoz&7Hx#X z2I`IDG0NX$E`RHY+?K4-8Ee=u79S1N-D<~Dc+T2;hx-xkA(Q-dC>zV-VVjeBVmdO9 zfR6A8b4cM5`Oz%dthHjbBfI5z%Cz{3i3;Zm%A=|BqKRTTRUUg|xIANnGYUdF<>E(Z#>YAxdE4kj*`6gwsoEC(;l3*HzZ$%{ZpS-o|i_`VWH1 zRefPu`rc7x&Jyy@+JJr!rKwXe%ce;Ag|hk=mS19X3zoY^#zwjzJBjsp@FF{jb^GC5 z=L`(~^Ui|?yqA3xzt`A+f57R8O(DF=zuGp2EK@&IIq-~*q2EvCSlcmXepzb|ZeI4& zreI)-{I|V(B!4wlHhv9TDyK1Yt@UB)dF&HF7XaI}c78wnJXc1R;` zDY}!>mhYDz4y?Jg~ff)!R4I!Fd9jsqf+!V{#Mf6GQV7Rsq6p9BLO%W=Ja=p72oH_U zmmljk!7iR?v~VID>-Z=xb140H)=l6%&ss={^R|59iQH0lPeWf2`wRv9ba<)BoLP3# zoK>AJ9c$M-7SonCVU6l>wGAksqvW~Lubn7zbKa1lC^d8 zh3U~p+BXr(B=N9f&c7rXkXN6eV_s7@_&;C9FFIn&6mIs-MO-ah^S|z!>0I`_Ouk`0 z*c|i5Ce=l~q0G3%+P;kQq;#^zyME*EEDsV7_=bM`c=|51lWm!}KF!;b1FTzQY#!)J z3;8$|+uj1)L;v;i-toJj5qhG29wHt;+;z*dzDEDJW)HwW@LbCPGA?riG&x7SxWV(p zyITe?cfLFr<~-Yot-mIaPEUX@^=}&Aw{gX`$Lc&hra5I+F*8f0@7d!R)-V2FGqVpl zdXC0q$C{bs9mrh;jX3Lza*Fq1-A*ys?-u^{(bxDlVan`PRo=C=UO;_mx8HoRY;5eY z^lA8fiR$A*9`i4xt4Stmm!{@f`o;5+vEpUqb4!(=TLycfFc;nVU3`Yy0`h5*?TYr6#`d#9U7=Kzf9S3fjyi(<_zCMzp zF6<45P-IEpj$=9bU0^~;~Ye2IQ54_7!Z ze~f1X;QCtYFND3U%!%g@G5mzgTJrZ{3x|ljko z)r}e1mEk#q!ezXcHCOr?`punSCce!4{^(mYzOyykPrbGvf)4 z#mWoKoPzqW$>+ikf@khAW+L`ZMfD}4`WP46+N1j7^24+w2ad%L-`GArd<2h{dUhn&1+bqao17b7nM`{wQq#|A$EM*^W3XHiXD&pBicw_ z6k@u74}GgW28yj!jBbicdQ^K1l*hUqyIX4uEfHM+)W#^Qp2MYw&Z-a&W1d+V&1)<^ z3_06`^HKQFJjh^^H308;aIcuR@4=_~M&nKMYrVTJ!hw8FvV)IoHr2#9Y&gG^RBn=i z+=z{7*H7`Q#`BbTj;=bJs8c>yjr(|>62F&yX>B3d(wU6Sf6gXZI2JaZ<}pB&G(C=c|j;92J@jfLm$ zj)CXf>4X2yS>}!#uxYvCF{Jo^wewHqNVXkf3_Tf*p*vf3ehRq;Uc(p~iN8IxOpC`* zY)>sBCQWCg%a$l>UtbPB$d_s_Ue0(emMWJ6FK5%Dx6iM%lQZo(Gd|eEp4cae!QY)7 zAMEFPo@<}0y|X(jr^5e@`7_H8lvqO~CJjIA*zsxE1LM=W=x2O>?DOmk+OPdTzGBQ6 z3tp*m{ zA<8<2GZ`tHj?R@=AAW)S40#Q?0-jX%M*;XfOt=*X@Azh->WOW<(fl^?F!=4ia-lB$ zYt~w4p?{o~;B2(AzO0pW`0h0tT~E>j+?&k0+O^vgXltjI;H z_vDlD58SU4+at2aWRINvA#j+zF_1jG)5h(5(eiQ!JS#an5&Gxd@Jze^vG%-u){%oZ z6MVzCuX)EN%GufFL2rUnPI_zDi?&9wnYGe!i86=xRug_#g~N(!uHT)+ejL(Rxs7#F zbe8mBZ5+Ju``AD6*-$ew?8=Dd)rZ29+B|`N{oljD*JnRCg0F!(eEo#6q6;vT}i*h50U}0L#~bb#{ACOAsWYjqrO3V z^?5w~la9nrta%e1OLI$ax69I7<=-i|qw?c8gXCd&IF|8~N439sRQrDuwXeCIbhGMP z7PilL7Ytzzkhng*eX)-9_;3RGbRpU2;%a-n~h@+u`6( zF2K9;lNXZl_cy$4)^NO=wK=n;O6?b~eJ&7>y-$mmBDxJ2Hcfd^ijTS zl_|{)Wm^(lzaip@(X#Hf&KJ}V&A)^n)j^yNEGj%LX1JRJa##zF)(DQ0asVzMm$!Uc z(YO7cZ2JShjb*6pwKw>ojW3$W&cEZ{7w!D-1#GT3zqQ5dSz*0#EbQ~}VWPmdMZU`u zM*)80a~m}t?AeXTwxa0`3S9MPH})adK2Le}&dMiEO!m5}@+oMqo?;^vk1apvYM!%3 z7)TyX=9}@*L;e7(54lg}H77f-c3IBmJF#bikJEW7@I0OFP+8TtRlFFEgXZ{|d@MiL zT!QDJFP9i)^Ei0UYMy1weIFc11}bk*OiRu0WDmr&)EQf`-`e`U>*jukd*-2NVg232 z9_P;r^GzqR;5rAceJ<8e8lwI^WYZ}`#L2zu5)zi(8(xsSgI z`@e+#hdH&?f5GrM^`Ck*_le<1%Eq%WU^C=cGX}1(o^!Du!h9IQ6*dhdSY+p{@%-1} zd>PrHvF-mxcujgxaK+Esc&0hB`lokSkLn+Ds1DU5IrH|Ye_B%$ym9}+IbsagB8L9U zoWrWUpW(c!^MeZyfJ6NCpZC0IT?WpY~L=!zSVfKbLX7uwtGf8^zGe(u_XLw zYx976Cwu1w%iI1ld@i|~^q4bdC{yYUzK4HUWlsU_qmMv$Q}&pstYmb8vWckdx1zGs zD4QB^w*~sOQP(Y#LM0S~_P=cxTvs8mH(?NFRJf z<$j`a*nr}b27~{sP$)MMYxwW@cGaHRQk&n5+7s-`6_7yAS$HJxfI)rPNk8;^E5CYo z3%|{@6Wf)s{5V&8SPp{EcHz?x@p&@%RNfrn^RvpE&vW6k(Tniu_XZz{aC8jtUvOlI z&rd~VlMy~G?kRggR91G=K$i1-kwF)5PO<70E!9qfzFw-ndh|P9M+nE9-AkY{f!>1$ zaK!Q?epS9#+n*90BYRqK{~!JqZ^q*}?*9SuGgqqo`7_ARe0c7y$x42%uWrnamY?gZ z-N?hf>_frHlut2N2<2yYwT-fppMq^feuihFH_`rNzWM$|p}$S^yp#LOkX@34l5d-_ zg{_?P#oKXyjX$ldi~XO{+2FGR9xA_k`ql0GdS8*oQWt#-;|$P^R@NcE>-zP2{dciG zj^VSu4q%&sucF=#d*_!!JtO-dwu2@`cDn3N%hUeafCZDG{n-&e(CBy@eQWoyz+X0A zfHhoraZEqZc`KOZ?FxV=%@u7njWa zoBej2!3WfF5TB8JUavL&Li``&uy5Kd)3%W{yT2cazo@78XAgtkmt8nQ@2d|nr;By= ztK~3=VU6u1!6*J%{5oNiuKPs<+aHP#<+qIC>IbgEC|kVmrjQ4v)8jlUtFX`Kz!#EN zhH`L}$(&N$!Z=`JxpKxYnZ|M{!SvwFXsn7UoF26(qd^kC9k}p-Rk6}YzyqbSPcD4Ky z$BSNh@s{#jJz?$V-*>$v)|IPW@*_cq9bXA~TC&h-!8URmtBomBmRxg^1@u>A)kzdA zUD+qo+#?)eLmF>8KDMq_)p05Le!m*g2mDQZ99-~QBer2E=8w_q015EofESg6XI{BJ z0uIC{H@pJArfSmx@HGv?N3L>WOa&kFjR-!~A^85b4nC~|sa}ia`s=&x(HW{ z(|Ve(JPewD{QOYHispTPAl)Na<9TyIvKCx9S@4x({pxkXD7*e&1Y=J5wkFy20dQn} z90_#x$7H|ryp45)Wb~ZA)RwC+wA+r}(tNMoA0K>FJS7>#^Vrsp^~h_nk=pQi$=4Lm zk>ft5BReUUO9|6jOVFm^6#WF}dn}ws0e`QBQ_ltGy96h=iS1_PI6Dg6K(DJ8GAdZUp9`R?snF}$U$n)325<@e>7ZQR^C=GT3_CKp0Vd( z3dT0ULS5QpAMd4?FGGAPA5ZN60nb+U9k|DbzU6xr@7!_!VZiaD2oB-ox18@FoE#1u z!r#{pqy2A0?TZdiGoP_}2EcF3C-wcu#@rU;2VA@&*FZg=$gYa@*pnIy%>83N5&b>~ zth?deeax9-nw41#eA*iyJjb<WIXK4zsbg`UKFjr%5K3HQOsJi z?q#RQcQN+|_?n=pY=IAN$H$Zj{U3VY;FT&nfB53weRb<+d$i8yjja1Ut-quARILFX zNb|b+eUwMgj&<78SbwMWuV5c#)&9A}J!|i8$({!%cr>3QbU*5afUs&B}#s{V- z|3`PVr#L?7=I{7ypw&Dp@^_)QF!&ASpC?Wr<;d@`wwm5V>?QXvFz%J}V>QnVf4iF= z3U*VrfS+e0&*f__7V)8QFJFp$)ABR-@VmMAQ1CO#rVDYdke+IsCq#TAU$lHHt2y&W zeiz9uk8eH#Zbdica{Vy(lC8qshq#wdMQh9#aj)Ez&+~V|<5}iL`2oW575Q6U&)6zZ zPdp}j>SU6}WS{q+RZHTC{~SXlWqrO7^a~aV6jXNtVC|id9&p|WM-{!>Oem7T{>q(yN;kUoIvvU4x zp#PI~^jEH!YnP4CzmNNv{+qau>Hh`ptt=fy>v;Y9P;#_fN3%Tf?Z*U|d9QMA6Z zb%fRf5v}9zeq2ZE9iwP{_;Cayv=-fMOf~BlifN2}0uK1qIFgLFb4+CVtHplxMmUZ6 z_Vw5*4sh7@EBpYu9}A|ZpLqQ+{qo$9&VMMFVtFqc%6aPj(HaZu23c&ITr>}bciK}6 zgLL|#Af4he4+RbAxy0Tuk8s+2VK}bp#k;hQa&ArU9o~n2;gR>hv+tK;hlRc!`5EFh zm|ycwb!twZcKL>TXFM^&Zple|U*I`=`}d-!p<^RCvN%78`=!Y2v#Sl6l7q3&7?2*; zym^te`*qHqzG-*Qu1ao7r%1Pa0bSF8%rPEwdF8%*v8%breVb$+x6xe^yM^?r)vX`(?G_rkl%4sAtJXx%jRzN8GvjV!0{D9wz)ln(LS% z@#$`f>EhDb3~Wu=e>0-C`^oJq809ma%=bqh0Y0%wgahsCSSDJ~7uAE0spC?|3_ZUT zA5=EX_4m-1p51%&-+^Pw#B`F~u?p2)v_6G4MZNSReV|ENGHk>^yfnrdm^GmK(wFwWP>$q<>1=h`a z@hx-Kp5GfB!MG9KbcV}5p6&P0y}aMUwVP`?&!6L0G=0H)C~&-`gUT;E6Tfzy@B+J@>W4t zn z@B{rynezu7e?IuiT6~>af^KG2?M!e+ZZpOa`-8|)zR_H}XIz0bX?I>Z;hhogQ(&*O z@_@2_cD?$L2Ipzo+n>2HSmP_N=MwBL;yiu!DJTyvZBK?)+N)sqDdg+$>iet*hBoSZ z>07EqZc^~CwWDU9zdOQf+6)~wUZwx`l$i6;N9Ao}pUD45-TS~vRoDCfXJ%*r4T!@Z zZ3CoHsK_Ws!XzU-EGtrw4G6dzc_%Lww`(;T8Qrh<-T`)(g;-t9f05*<um%1i5Y8DvgRv8%9b=_g|NKI1= z#!+zdzt?%V8R-3j?TbA7Ti_BM^eEd~2zYFhkhqJea`cTE#NHz#JBH&dd1^xSbeN+K=JwKm& za8L57TlZUD?m1Wwe+lgUobBP(XxPVX|{~ zB4d>E3jZH%mk&elY8)g3RnLEatD*-?qW!9exuyqS!Y96g_P21gYpf2$s@M ze#`gOUehM!#ryYHyO)I8^|hn4Ye%SEHGaGJexLqptO~%#@B8-)K z*v=8meFpZ#uXdlf?*4`Of)V+;U#Hjr%`pakX!*8;r%wm%f}V_>gZ|V%);Gw_FP%=g z`K#5gw3mkT1tdiDh#u%T~z*}dPdFom( z)?*fZgkB77p{Fn}>FLAS2zA-QIrh^KzccSZ(~Nh)V%`kCALvJQz)Er>upNz_Lz}8- zNB=oS)gR2CC$9qM{?WE}a|G~Foh#Hg;GwolUPwbsk(1)z9HVjH!)J; zdXAo4l%1kyTE`;2v;Um2=KsWtBWpW~d#}b}xLtzxI9^8Q(|U`?5~sM)>_xpgQf-1gy~(3h zotfu6mCs9$j7P1{mu7I*dJJ-g47eUcIpU?OTl9G~<7afq9Q(|GPe#v1#}Y4#CAIGn zx}@E1bo3hTg**50Yz=40gF<41DHq_O^w=;SzM^{{59J35`<>K3<%mC!qmNccnThFc zeP83Hy4IL_R+IA%n?`ad@$nH4B}OH*M*?NpJKW1DKiZP++35UBzjlchRR?=>yXf}C zhnHEs`V{=R^lR`_xc=l%*qbcXQBkk%NiG%;J+hgWkGTdv&cKAISX ztv|DO45HSxC9@7D!G1lAMXa;Yc_y28GuWhW?}a~m71JNtNXpk7$pQb22mf~ZYUT4K zlczrotuO|Lb~E037{OsS{i?~Z*BtNGb1%L-lV__q7xMR-G6DQetZRr5ObEeW`g<7u z+PATtH87@s^xazr)51EKl?I;g@axbxS5t2xakne_*BZbr(VebvrS?*Xooe~boKI{A?-cB3RESTvVKw_I^C@m!5bnV`O1}ncOY3)7$5q zJSRTPy?xGGizBY}_A*-eITYE!(qd+gZP&AA0rXhEIaXheyz881`?}p6E;?O#L z;|<_p5sc5?l<~>QQWU=AYw{02i~3&eOCvgTLb)y|_r+E@SnY zxY)@%4b17*LBHT)z2(v5{kI7hS*s3Qgww*sdwAB$S-7Y&!T8mwYzP-e={}H2T!(Q{ zeQU>Nw{E9@bsfs_X?W@iL*o^kZ1wB%c+b5CA5~T~9v#wA+;t^1ZR$n0rY(_dzBK0} zz8qDZ;Oa+!(F)>Utz5petP`I}hMY!u`kQ9lRfh48kRzrmxxzW4y4ls7zU-fMk9l^~ zB42j~rlSkie;FAxg>OFmW9BsLhLrVf%`+t0hm?md8B!k0k>qH&eMq^keRlaE+%XV(j%!^dH-^x2~amz(V~=HjF6`rHo(+tj(NfgYJQ~ z{QXtvZ=<*m!&g2sU&-LE?wnAL*APEtqFMGi4+Ta>ViJJK*_c zJKdF(TL%AozjU{B-d)zq!#p087e85_eJy>fvb7tGtdmL4bmqZR#^{W_lZ1-fQ1Ud`fz%q=&k z4X^99!-OLi@r

    4jtnuDc`9JvX=TR7p5B?A4`G5Jp+El5ZPz9gVoGRWY9mn*X+1B3fY1Z@$j(=`? zaP^UMQ}xdepPPI=-sn39^yh|}o4!tY!MW+*cpqwR`YLG}ZE zU@`IU@#4>8%y-4Q3mV6gt!pX&Pi@Q3vq!e&%s^ZID?8AZ9sKv(@`e9Ac3q2OZ@wtp z`FMMLkh*FEb?v5neIwj`FHqNT>hgJ>>7#^r(GG(X&5!-#i9PafQ-}16r8B8{NcI0_ zl}o4Uk4Gt2abNSw*BJcfj|ciicN6SHzGUu*vHwxWp6TMmn=e`k=DXzTm)`im$(l#^ z$EZW)yEMyr0^?bIkod@euCh6MPH{GfZ!yujbV}3av=L;7}eyodEd zTXBoiW9H@s@aKh22YV_#Ne-8G5Y==#)bBOcC58ubI_t#Pg&nM>5gJ7 ziLO^hzU8klbDLx}<-dabyOA|CPuMvg4}RwVeM&ca^6WXscp7;|nLyJ`w#N% z62|1sBdz_5iMyS&lkr(5+3;j^9F`>CeDP%K_I)Q?D@<8iteu6b+I0tqjazpxRvYQ7 zZd!M+cG9|oiP{VLT4rqRix3~ZV%@(GlC=31+^1KVXC zteZRf>c({(Jh8Up;7Ls#2j31H(nnyuP`iwK2%4ALhO;l0YA;(nDWiKhs~|rOn>u<5 zA@a5WZ`Xnz&6B0AgnT>6j$Kr|$6+3fvj$8rElO{(>$8vK*_$=rnzGZm(lXBY+d|wg z1V7)uCQ%UWM1f%*Wh$w@itO^de|S|vB7 zGvzJL&cc>-cVV;BUD!t2X3~;_q&-C17SiVUX)*6R#=q#_mwmdRzePO0tRZ?9Er+J$ zOQL0;j&1HC9F2}Qw;oBy8R$5aqi+%}EsK6c&+yEW>^c}8&OHRt@j}|W2z{n>vZt*3 zeoJ_`vxPp>0R2jK`3^XG>0QMBlfQN3<+DR$ER+_d;}>B7X=PzTIleS3$qSpxI^r3Ilpt>j1cDpIl7oL>CA9bd$ZW8ni zEuREUe+GDDUtjcmL+pkDdQL*mJVAOE{bHxHl%TwpY)5%Iu(zf<*u&vQDD~XOnGt;l7>G-oM>0=5FIPu zbmFFiLyZCPoMfu4+yZTjzD2tc$`frz9ei_`FjJmGp6R6f^s78dH~q!`d8D_JKF_0X zlTID%BbhRSG`{gev#tA~PoKs`kGCN=>mI0NT+<((jC%t3SfVmxoHcOHC*422zl%03 zu87zBd8WPV%I6Z!=lvW)!Sr^*7UhRmvqw~WChv>9`MQet1xgFlq4!bb5!{*==FdQq zX7Ay|u3Q1z5c_qW+xYfSufL9z9*V|89pfmLWo}3@M{{nPUetYpe~JCa zi@IMD&dHYY>X)>Z)7X)INDXyG#LZ;D;$w`;=q5mlqxMr?l48 zIqWKH-AgJfPTT}*c~SUT#T+JG62Tpz4QkJY)takr=R0#|RV$d3Cb(j0bO#tCy6>WI zlwZDNEA_0Md>i^>ckUYxo@~zN>k{qkFSHd$SnKx1p(oj%9APbeNqy|gC_YXEzv|Z7 zT>f}QcHeC3KSbY;5B#ZP%;s)|Fd`-xPa> zKIU8%o|GA`yS5%~DJzZaBpcUl&ho>w3$=)eogdU`) zps^u%|0zJvqx|?JcvU~U?b*hUUN6eH6= zDvu&`c-~9?bXt2ww3G6tNna-e4T=u4JaHcSrY@!Z4fd&X=v$`Nm&4pCW*@`W+2y9O zKP_yX@B;6%3ozVCo5sGt`%ld~`%{xPlfKPMhX?Tf0`G3R=Kn3EKjft&L-PIt?`}H& zpT=qY$`*uhBRv?ccijC>U}G#qc+%vt+2>Bj@XrDNu`JGg9dIJNvQD-v`DUPvoToWP z9=qJwdaWkUljtD{m*U01a~M7^5`Ms?zJ=HH3NON^a4Vb-hSNP&E>8XNnL1~VrT*2v zy&wAgGM3MvYjWqlQ3>{4l5Nm*TiHouI4)ne?=4pQKGAYl;||(k^i}FN@n7>vOSk%e zW@+o#?m`tfyC=TN%r9MMJ(@Rppf~22Nuo``oC&SUf4@G_e|F&Wzm?p*5dYhG_Fsqp zeHZ*ue_^`E|Cam(_}~1a@V_PCc`*Jrzk>h8cvt^L=zsCQUC}?E|Ea8F@xSr4*8U}f z@IS%z*XDo1NjRagFf{*5K;NPIe95+A1+zE7SP&mfqGP-Qosp>X4C83H(d7{Tlb+6W z2YxUJ|5I7Ev!WP^uPA0>%h{)%T?nOf;(wEd;(rT)aVY+`koq+CkB9$V&e+pfmHcr$ z{O`30^U{Bl|Ft-`mXq-fj7OLMwKyAizty~p|4k=-j+ZX}H=Xo3Ub^^SE9vvRbn(Ad z(&u^U;(u!YvG||lCGo$-e_{St1wMt#KZXC@=i#)U|D83*QvZto`Qe|!{}S}Q&;MGW zH_gq{yT$)zms*iY*`t{hf+ybRtST!#OuTsFl+#_Fm~z_oxbZGeTxu=t=ZT|YmVryK z`8@H1^1lR6yy>h^|9NWC+uMqXPFd#|ImVn3NDjw0LTsmjkvXEa?JTV$Smz^;3s(If z!CETHyY5RVUb2FCd-n$hWaoHA9sVAi>Y{vx0h#;h;r>-~MeJ*fOo zyyp0K5~c{xCzQN@9^rICwO{Q%hxc?q&iDC(Ux(hukjKZZBfM0|`AzhxFMs)RzRetP z5@!+N6g)Ccf59u?WM7Fh1#>oBMY>J=?}^*mv9q9kgs#ZWLZ`!h0qzdl;I;jNw*02W zKPiN}bA_#odkWz^@-pl1u1HTIW916%A8*^Mb$Jf?G@V8s%&sWaaj!6zSz6vY_L)M6 zwc*yW+mYe&rPkCsqaMg@%&u>e9 zr4WYK3$}-n9&E`+3J*p07HYEG?T&r2uxZXu3axxsg-zBFvO$;iEo|UigFbDtfWPc< zRg}|W0dtaaoM#L8Tg|tR$>gV+{UpxZNvqau=H ze5TlCJxks z#lhYNII@vh4KDd^Q&Mcf8cgx8ed80gO# z^k>Ua`%^OcEiQc6qUqxM2xroMe|9-PlimbtK0{~5kA&_HeVB3FU{G*c|LIucLae=(6Ov@(B) zM!RC)E{KWlJyG$`NSyO`XKC@q zbbEefrk(M=6y3+w<&JE7{>FHFK1%vZ!Wf~U8_E#h+2n|>V{IQa_uGp@^rm;J~^UT5+WCZExY>n&yX7Q4w=yj6r=5#@?H~De=3)@ORKZnge1R${h|i&eT_9+VY+B z-Sn(%3rGiw`+2Ep#m&y#!}{R@`a!rqmv)OMXV7iPOl`{xuQ$dz3~sm1VeW&Uj0KmQ z8lPeQVtq?LI3B*+$lF$t7hS`{@*)_~58STM4>blhzoM)K6*if#@gLmMM z#HBYda6eSv1@kJ8@+w~^^^1ocmSarv zzLN5X0b6^zEx)z#`GT#v(fUeZOZQJHV}9vO`q!?%A>Wc>4vIfhsD*Bq#+T-oUa&mh zPB@+OoGqD|g|zkNi}+73u*Wv(y40I53fAS6Yg;2r*QI{^%eAvrA_Hw`7P~i*c5IrqF_nwH*6-ZNr!4+nGnFQr?zivhX?NwJOGl;QqAWPP=e_ zI{rKM^+uGIUa-P#Cudhv(@R5Lac~sB5LS9bO+oq;GPZKR=GND z(f1hxw_w&8!S}7NLBEVc&RRCbeo(lbHc95(ip;6L*c72G{u_SO$XS|r19E2N*dL{_ z&sea1{tTUkxR1QWQu~voPpJKZFU5Y6!(9P*^C^33^0hg)|1=Ix`R5vV<}-z*W1zRx z>he_1F(mJFz@L|=m%^8q=9j11^RnA+cyyY5Lh@nP7W%)Ua1DE(;c*A+XAm3lYlg?b)hA+?G=t!1+won64gKtl2jKg=wJ`4VkuNg~*Zxg3A@lyJ! z3mI|Kgl9||x`30S#BYU{C|-4|-)?{o($;TY+#0*0a8f!~$c$N@7w?ulqWxgi8)fZN zjSh~_yKC|;zYwmffKy{qe7hQbBIOZ&l;;NPhI}TpJl_HBidSeZ55^7fj42*J-{sNr zlhE}GjF+ZzwbKMmpnvMr!b57y5p?~(NxxV2sn#qub=vf!cwH;|Frm?H`7Pbgnz5)p z)g4sLwbJ9Ng-35nJzG%UcEz48v?Q|ShLdXY%bn%s9&3XIe+QTCV>1AilYWoo9K zv+v9M`)-!{E_ZYJI?mqJcM&tccF^XP@N&1!@1xDe))Q@*01R7Wmvatshrw^#td;o= zc({D$Wsp7FhOf+L=;N&mp5y#g{XEz7^QOhm71Yl)^f6;|lJwPL^ks%V$^h4<1H{|7SkFlK#~mKRR}fHy@b#h-tX_Cjp52~kN*TBx? zyYk3R>7B?=J%y99t@)bV6f+*f3EF|qLlQK>v9#dJsByJusTRoeVTW9vfO`EIc5)D8zAgpmP3y;@$>IuIjq;J-525yHph7 zHb_LS$o7?JY^9?~N`P%v4;h!F7PQ+KmxKhOLrB5knDpS6!XYa>J@Q=rA+^+za3Kj0 zGT_31jTNsqjVxrj2YZ?i8?4wourc;if>R%^bkn5oFe~;1Cm!>D|8wu{E(zhW-+P(Y zYu$CL&pn@e@3YU|`|Pui^?jdIUNgnM33fevKIJ!5cf66Rn>(9W)9uYP@8lHc&-oqq z&gN-vI^Mo%$J;sWvF_;Hf0{NT-qY!x;P*!GX;QDM55SN(0v48w=zFI*-b@lpAYB@7 zA`cxJli!B=z`2E(g*$bDUx&Vqt;A;(9&WPOY1yMP#0K@?TXFvH;O@z!`xNtLnEk@L zc!oK%dKb@d6Z>r@P8+B4q}8I|B6S1DnECUD2hDxqgJadFp(EgPeB=V1l`7R;*1;~m zwFzEDWG?fSW*79N?=O^|=Kp=xKQ&&FpDVKdQvnSL#vPRLrm*M17e!apG1&#pYJX>Z zUEnh-zfsx&#_}bR-Kg4#vsTNdqV?7ks@UZA0iLb+;2hw6b;B*(v()7E{hEfGznAk* zdBuD1*}grKYHU zU)6AncP~wZ{q8W=*?ueLiTd3xeA<2k+l7AjsNc$?eyfc79Ww(p`1tWt;fvqEd_OIG zi>3N1bI**%lO{Hx%bt#WlBJhXZ-5u(SG=k_48!qJhg*f#z#VrEHWgoCK5qe8y|80G zZ@NHU&bj@SdBC>uS7rxiSr_n)Kf-)o3pe^BUuD5qXHG;T%d(vRE8O3F9eGc4C25{* zzSI1E^FMd~e(el?f7N}K{p_)(TNrC<-2eW~H%~~`^>V`PCc))IocX)~o+Eiec|?aw zBc5s?Ykl-v8-BI>=YB2q6Z@^a z?QGvERvv`Ts%G1Jefb_t4FuF(q~7qqnfbY29Sn5)^0v;PT+URdwmt5vUD*So zGH#~bzjW}J|7_~#{x`QpWjG%ewS`@T-woMCkVhICm+T>HGavBfkNyp8BJDlr;WO4X zZx4~JLE~^Ufj#8ufhYXPCgOH4^&PMBAoNmoswI4VJYRN-$VL&A3v3=wVmEmzv{A@@ zGGDG(YA9x%Y$f)-O!%K{u)(;vH-z@v)joIlt<4%oHw*Qui0 zH7>8*+w7atJ(lpH(s(t;U6wmn?$$SKW_z2L6Z0qM?rQG5VE1&ag#V5iepP;NZe_Tc zH}^p=rF!1%W*@8A%^-Ik@@@>XGCmZi(Y;&9Q_cjv+%B(p$9WP)b z$Zn_3?bUc;guSMFo02QW);=EN18F(>MK6l++2MKevb`?{9EBS zG3MY_%5PP9)x9ySJ5PTN{Vm`tWEh|Nx;E&mWGCl>3jOB1G-KUbt-v49XX$^s_&dPn z-exbc3Rs(J!)qR!P8K^^bFQqd!2U4oNcX$9xj3hFqueaP6D3#odeXnOwwhUeSJ`;B zlX?0ZjY!Xo7uMGE`4Mn460_?XYYpS4Z+n~4#k9t`v~?4{WyxxmHn-GrIcFxG9m2P( z)SQt$lfK32r^()D+Zefp{&}5@<7(YA+&vQZueEP^c=lWRMmv&|$BJXsu}|)(<_lx> z-ojYSu+Jy`&UibT#^XMAtqC4`0JLGSO~)yh%w=iss#-kH|9PibHbeMzmYUP_Z!`Tf zoO!jdQ{RArVmWy&uxssG-|66H`*zNJ-!{{?KJ^W|lJr#Blum*fZM61Hw$-=mn|QEW z!q%0=&JK=F3%?>Tp2zK2b#p8H_-1jN58!9*)So0zo<8OUKkX|Ee&F>~_z7N&Em;u! zw$$P|*+$mZUl9Djui$6A2bvDNSiVUyc!T`2=`;;IC$Xu~n^pIautmuxXt*RIkWx_+q2T4HU~vVX>NN1KuT zv+or9XA)fHL;I(`C9!`dPr*m4{ZsoWmY-q&6l@oFj#^ygq1(v**$W;7W8s21ZSBnt zd7V@8%Kq7!7l9C5{Brx}&3upWAs*eT^9qM=Xa7vnzUWDGr{58dPKTQ%;O6t@+!@8x zQhcW*xM?@-Ge=K@6Uj)DkNOy|WR_S#y7;~5=d2ar=TzIL{pJO<8QDHXzr!uI&p!9w zW{x`Y#i4p0+Sv`A#Ne?p_5|Ky zzrFvVM}6B}M1H{5IYysj*do@#!?SE$KjA^m`1t*E*^g zoa*-wdcEvl>QgUms~y=piB;31@o9~X?3{LNMb=sDoF+@Z?b=Genft-|!Fnoq&}TQa zbJ~9A!hYxIxB5)~qkgN;;ydE)vU!#|4dmZ3P zd#R!)@ni95$w-UW5Zf1ComzptAK9#gpYi55@h@Ex!gfk$LGT+( zd&F7DRceo&20ya#Se+J~&+ds^efGO2>9a9(LFu&OtC3FImxE@}Yfq=s_L}mm<-ybF zwCG~((#5=()oDHERHV~Nhf5YDBM`@I@HBeuKxa_4*kScr*_W_2S>3j^tUGub{dT~e zFT09z(r?Y+KKB0i*>T2F-?RFyc*fi5x2$Kcx`U_DZwHnJb!XeE@JXxRYR@FnaZ@eh zatBYN=MJ1R-#2V_4e7Yc=%aL7_4DNNr`K;SOo5Ban-X&jTF}~yz0R%yasJnOh%KjX z;E6+LbFUL=@)g&*EZcH|c_LZR!Pmci&7IhUp}7@zPLto-`^A^rnJ4W|dAb+bCSSa> zxqWSUdaScNy?sS#I$mB^bt>ztvSEqVSf8eu3)qKGZ~N6gwdTl9Yab45$fw$el_x=- z*T^IL5;0ux=f0}(5_F85`W9Pwl>ZEC3m<6I-hA^A`oU@QsqLF(Q>MPDmU*H0tF5tD zB}2#If%1{NaoLsgu}!=1k?X>*uZ#ThlaudY%;Q`?`)DSMj_eFqjWblWK6&?SF<-iS zi+O`*HRW`!b@i#`tj@Sl&baWwu-)ea8~7`BBEBbHaiDBc3{83*4Kf!*%E7YkzsLtrjaCAN<7`trag2n!&FmN_IFI`cQx5%&LK+EO{y=g>a&972wqb&Bij zf^9qF&=@+hmD(#Ij9b%wNLn0SX+rhnb~NQLPF?t=+j!BF8b=yCfLXD3+N{_y9js>? zZG7)EI1wDAYj%3y=eLcmo4P;hlgi>BCYtOd26(c#9T;!7aEie*RNj&Nq5eACtFG3{ zT#5Wcz<;~#OXOD*#m}>`PNrCMMMo9wf8-l1+mEpcKfCP$-|POkzdjR`y|n-J=WCf;{Rg+j{IP9Wo;Ci|w!jX2S!&`6=y|R5 zlvt5B^Fs0HG#1X%@V0ky08jRupy>`^itU`3`oY*c(3>36EqqJNd(H(1@JB}t;h!Ln zzQ+sL;>yZ%6|h7utL|Nq0!sJ+Q6$9nuq|Cr(a(K0$hn^w`Pi zSHwtfC%v8YuF{UC>RMIaVb^Zje_r#nojhJ)XVWX}Y61)9Q!swfqTnbP8tj0Am14Wk z!)rxAuNGb&^oq{l802y4B+m)al|dg>J!TDcS{t8q!4T#}V15fW2EHe5;k)(&DQnmp zNrdIG7d6a^k!k5;{dS*-x;n}0Dc<{da~0?9TVtQS`R1oS74eto{+iSBMCOC#iG>!P zSQJkT?mUZl%BM5%MDkdkh%91xVqt+NwtJP@an^qE$oaJ$zG$qkeIPS47JT#q)b@#`{E?eE^Mnc?G*zih0f4w)2|#onUUaGq-h)MzpN?;H)T5YfiNv+B+9Jv3Kq` z^Ez>Gubt!HVZJ)Y_s+$~_s(&%_uPg<6LwyIi+SBYFyXI15zOmvXO8$E>6!3*4+h_# z>ptRtsDHv=dp!95*U;YOnF)X0c<{Zid&196GN0-5hf@V5DAzn6E8=MtWa zc`o9~@}PfD#{X>)Ps*f_u`~PTV%_`jq1^{;_5quHb4g_HMabSMBoA0F!#}c*ZqexxA^UYKbZUD{?~oU{de?l@;~4Gr~XYn zulslOZ1nFK*yImoZuCdHZ}i9dZ}dx<_5MirdVfd%dVe^x!QbA!!LRghVDIUtzWC-; z_fL_p&C~kbamz?;s{g0HDPT7c?`H2%ZM1$*hToDc-=K?{%CgsN%W2Q?uYt4Tb!mExfmy>N~ojs$Xn23sPI0bH|QePvkq03&~X6&ui?~(t-GcA9(kFxl> zQ9jK&A%3`-`CxTtbS15?1;xZ@iBG7uE)Ls2gZ3|>eYMU0-(;J&jys%BX;(hQ@OjSE zKOHlbCv%h~_8w)}11@8;&ffn>vZDX5d=&|;jcYuW!$!oM`Augb&oyD5KKyIc|8$=7 z&5Yq(;9~pnOUAJnxQX@@`>J)^H+iQY_f6z$9rq_%#=WIw+&3|9$wxOa=1-XKG;hq| zSCk|6ZW*1B{>yJDPhFC;7V}&1jAX7>Sms*l6f6ZZ3rl`mSn?LEBp(P@CcDeRM?Naj zIbCn$u#?-5EIr)(Z{V#^AWyE+xSalo2GkGXC+dgB7xklcZ0~C6hsGB5L%+qlZsaXm zQa=Q{pdVK?qJDI#ABDRY`a%2g(tW^aYvXspQ=B`VS5e0@-tuj^s2x48fE>a)k@#Gx z>XDwTj@RS)aqf_n+`p^7jQ5f%dUu}xSvT6bUqyGhC-4I>*h=C(Jef8AP4Mklw`?cu zrDIq5WB7Wa`vQM4F-uM6uDQki?8m3hw{Ni!T!_Gk| zzFhKznPZZ{nR|!2py>kj zIn;M!SfBKTMbtM`*8HZ?RMo#H@TaRu%7W z_VRlGsRpzFFH2qHy#mgy-%U#G>YL_)9g_*> zx#-=_ap>K`2)qaM0(L8JI!zWt$u&t#J76!C!=Nz!KbIyY%%R&2s zK>~OR4ql!;iWS3EW9|6Bm-Q#MVpr9XY)3l&S%;Iz-|Wjno9vsJvF68_H#_KipX@on zkb8GYH?tc5+s)fe^e^BO3$VFHa6wnf=b(M)RrBuQcaK(|1mEK0E5M(F@1fe@3|E7- zs3)QyFRBk*|2n+tbaVN)qq-uP=^gPYaHhUVF8L5^SRe9&Y!zMf*)fTF+CvtT41MQ_ z^<|H{N1N>x>1~tH$Hp4;nHegDv|BQ5+PC>FOS@Yet2}G>N+m=3eeE|`b2x*+c!767 z8|mCGc=v*iYCLQur=bs>o$k!;szk_-F{H+y|HA|I)a|(1fhvSz~rIk3k=4 z%Ez%oh^JDXr5l}zwi1+&^sE0!eU>hjz>@r%lNn9y*ZppjA98u&pg|$Kaj8H`TG6v@XWIiZqXNdaJMp zc<4S6kEd^`h{pr})FZ+N{nk7ZU2C1WsU%)c{0w+}f!{asJn`S(oL}!%?w+um)~Cn+ z`#EjTu1#pk}J!MQ42(X=i@gQO|GzEg!p%whHhgYmB=k6`1m$0mM^Ja%wZmitw5 zcQzMgudJT)sXwVXS;G>sx$y=3E!%Dxs&=ujBHpsec#mA?$^Fi3hGXICQrI$GyCVn<@I5?%Xlm zb_+I~Y^C#9ZJlhUQCk zcy(R-m|bPYN8VNLVPLhf@pWijXZv&>WQAg0KpXns;0LOFtp9D7qBCkw8J|mNXe09( zImGO2eu1*lepO`Wixq%%j&h9uOw~udsuNincweRWWbhl5pPktmIpyN6TLtQc<$yY&1ha~?pfVhaDY##uR5=;{8m2><8GUh+NVF%Z~Mcze^2zn zJQWPE8K+G5UC1$aq1WAoTyxi48*)o5br*Ua>Bu$-WSTB`u!GE#*oNGL%+t|-kslxA z_cm-_Jul9+_gsko;ER-haqc|)BV))w4-c;K+fy%~E510_+t2TT7w5cz_xbC4F7P$Z zM^c~kFT<8~Dfym3e%dgQB?kNi{*Og$Toe8`2Pgb*3{3cO>aOy=owJ+?e#iUY?>~($ zEj`a+qugA7_jEKK?IXl<#M3Woe4DL(QEkPc4fyx0ew#eD8`%iCt2yGE*GG8B5o6}I z5D((nz;qRl0UjoE_er)TPA+1L5{ynt#}+k;ElTh_Dg6p!@?nbt#wVv^iyFlibr-g% zlk>+&ZzsL|i^{S# zPPUV#*o9HrD%R&N=u~!klacIv=lr*|*eHoxNWIjJy(RJ&UE4kJe4H4DlDB1NZArhv zAzgmDiIdZxPmmrXJ$7>X6~siOKlJJ3^yk}2_poCLruZXeL=$g;TW+VNm584Nb2{+- zu{bDj=atqy_$KM)h=-JQO!5_MZ3GU+WGE3sXcf$bCJ6gyA112p1Ws& z%ik@`$5x8wP>d z;PyFZ8!*FW^^I+z9e4n{(ZKdO&EEv`G12q=xq9>s+j64&8_*zgmHGT^=&xMZMmyWK z1Gg8T!x!hOnV;A;Zs_@me|_rp=i4*ixBY2PePfP&yv(KHoLt*;WHEhN3=hq0z^0{s zU6u;c;Gvm9SP$!4%FAmXV2jNE4rHZ%O|U^Dox@nK{8K z25rR|qv&a!`1=5F>8*pj;jb}xdkj7u>wdpav{2^XcKQOX^+P|`_`3)c)+iMLvS~KTHJxpSPMQa?nqPY)(FQIccdj+(k$*sv$$(X|DbdmY_5_2 zK^rzTtvjySUKc!}rCA5q3%3FMx7P)K;W)y9-b>8(r!*JEe=UwOS<*t7XG(LY;$$8l zUVb+mh_}lQDfnU}_KB_tB4D6qKCj1{>H6H8V zKNraz@RIS?xrhwTTwK7fT>~?Uaaw6ab6)ls%PWB0fB2sW!~d-XhS45=BoBXxerSLE zgG*w_k?flzCph@&Y4270?~#tvrTvwBrB)_3zEifcBy#Ylt=)S?fjyxTz9;B0OL**= zA#^y!AdL2h#zK9(gLaf(_O&r+N%l4E*P{c~udw?-@+-fqDZe_!E0djE{%=drePu7W z7&w~>cO&sV)wy@tGveKWEU)kJEP8|TWU+7D!oD-Uk<6=<{2k-?AnP7e<*_n+w%S-# zRQap5_l>;2xxvCc*~NNpfbW5A4#|5h-7Qzw%vY6Tp2+Hl8>(9o0{J z$eH*(7IpU+`=83syFJI-NcfLpfBiZ!wZ0Vg?^lVb)%(*;^Lq3}(3qu57x)*{ca5L(bojR1{!edO zACtSNTfQxE;D#J#{ae)Ecy1U!JmN-DhOws3cfV`P0{7HT%E&KOIQ7ghbR<8Qr<%(s zvz*7{ad}KG&>8-QGVr&?YG`>4_OveEt9a5@zT0B=UABkxd?j@|)I8Ls`VBI={DE{fGG2hbtEGBZ6&sj)U41n+CHZ=3E)5NhREMw=;s1jj zhq-4ekHzEVnK5H`w<6Z4F`(tA2+Pc(C_nV6Bk*0tu5nQOVb{#s%_r#)~~U=HUrH{*5V zj90t7(%ISv;LIWY%4;xv*%=3c5bvmz{xr6?x-+_@S(h-X~8zp z0$a_?&(WUfR4|SBSQG;;sr5#4L~|RO5D#W<*EQGpZGA@QSM7`!7&CloUNR87zyeHWbL{I=_7cyE??GUey{BpwyLFOGOGwkG_!h%G~ZsIT@O zXl1Av)E&^uMr+3xt%zPD-;1p9M>$gv&g>mXhpf$`aPpo^+9Qv(cc1E$rS>A9te5y5 z_+(ui)eEj-}$rIpZJ@szh-1>6Aq-0C&7>IMEP~#_2bSMaRdLy@N(Yd#(OFDA!q{{-qOGr-H@&50R3{(mBv>WDK-szg!Jzw zo|`FO_C-%;Cux_5kd5g1%$9@s%x<5g&+1;r<^>hiD8@aoW_vJiMK96t87cY$R zCNI1<;ZX%Qs_>1cApnaXmgtxx7+C9>Y{?}X; ze-hderIuUltZx zkA6X2T94TGw>&PF6QBE5Gs*r)y0}X;KbyxlC*A6sli$TUC4b|Mwf6$QQREwhFV^wR z4c@8IP>%T)b;sG)Nf*dZU&Wsj(8m;Vvp5Ar?1_irtHpD+J1-}mx8#`o_me4j7>Jm1Ip-p=>q3*YC<6L;qL zFyB`R-oO!iP0GeKsodM_D&5^ofm?8u8LDVJ?B`cZTM9XWd?%bR4f%Ca@`JRIzUlHv^%fHc-kmbOwV6X~UU}K>E-uz1uQXP7%VYI)eD{pjqIecKr1s32vRyYsC#(xc zoBF0$WBPtZ>K^t9Pw0&`gZsp%h(X17Wb#SFnqu%j z3Dym0jyb?L>$8+5@A9(fB+w~3-5>JX^3zm0SE>Ck)T!_BDZx|oYj??T7M8B6+ zKf`_!cfS_ESq0ub{uyk*JDJ~{9ilzK{(q+*vbiB|G?$dHHRSqfV<6z|2H(_Bevi`! zyA~8BD=-##r}i^V&pp^q@4>#!?-Y9l1N@)4h&#!_BlgurnLTq!@R{m{7E%weU!m_0 z%q1ve^LIZm*B+L+BrGF(0PeLjDVwJ3V#>y41Cl(CAHK74d)3Jn>P`>8Q+wyy_}_Hz zom-DhTJ*Sf@B-h#)@%Ba8M;08oV)M^4%Q)jFpfL!^>q`Y4q`=`L2TLVajnHByuRlH zemt{+`=!qJpUwpN^YVLT&&ARx>zM5IvHp9pd(#)n$FLD6-On_82iYIt_j>j&wcaIq z-b3u1BmO$}I`sd)Q@f^M+m&BnulCft&!3NlgAL^PljK)k^>uw%?m7CgF02z9!9Zlc z?`ExuY%181gY(G98e6p&P&&}undjUcF`}@cVq+GK%J!JAVJ|(T7*#5>GqS0axqEUk z^q*z^kvC3W(Lb>xCfzB@o-_wWPMQO(d9%wczND7~_q!-Yqt-XkaYvPPj5^|#V2$`A zblJ-&LtEm7v--A(JO*0RJVO3SEphK}cDgU}zm6uV!3GzV{eZ*F^`xjWb-v66&sf%8_Xj!B_F)4 zwMA3bCXiWDQv9e5c1~)Z#N{i%oa(}!rE`zSfba;-lc8zd_qz(4R)TTGJDIb5#|A>a zAl>p4c!|!TYp$9~02B7KGBL`eRxrn~(O@r_o%^rY5l%UqAzklOUBl$yv%uSNx#y|C zJI`3r57Sx2_JWt^?w(1rPA><3I^VuzYEKh8B6TfFeE6RN{Xz0+iM94Sm!uo6hwt<6tp|_dKis7jta{l7-SIXI&Y`PIOL0TnSbuh7d;?eW_rAyfZedNb=is5)SP49U6X*-N-g=JChPSaU zErZ6BQ+t}9qA$zMec$K(y*HV!9_f}}ySs_gS!tA<(u`ALepLFP)vcBnE6;eyi^rYa z)h=K=h22&A1N8BP>Sj%=mCD#6-TNNLU+l3SXfvMsP<>f>H{-af2G2;vS##yL674}9 zW#0;KI(#h_(uk#w4~O{lLfV(K|3#X7Rid(AAYVIa@>7Y@KBs*#(&VEOrQJ_H+0`^R zgoiEkL$)`~??2FQo4&PigJ9t?&K1Me>!GvA7PlwNFTd>!b$QIUap%El#s7C$$5y#_ zH#vtftGa)iyaqdlbiv}8=-lF8dF?C7zck&=jjjqQ~%)+>{a}&g$?CWe-MoUUgw4K!};dh$Q`@kL%W;Q zF}rgG^Z?)ZTYd|s;2rpiKW%NSi{N#A2rn0S@ohcr>N|b_^Y9cb<3+~F82UB#u--O& z_W~H)W4|%BVC-uGz0bCO^k zEMhaUSB1}=l{qiMhITtLs^}d#H+3<;Z>HQ^%HZ?9nljRR-W!%l;MX>F)>Q3wWM{>& z(i&5FH*355B>X*By@_;#th(9CsaM;%pgJU5vmVytW!{xiy$@Quyd3Z&&9eoaj5L*} zUQ;d+mp91M=iX!WF$2tqiPF55wl5Fg8b@ETwDj8IPS(JCtn9Js4eck4)x9a=YgVd7YwWeu3lMHaLkzNw`X2gLrdxG`V9(oS#e3bqE z=zAPEC{5ormmKys%~8fD6K5U(Zot+QSe{}O*mvpx(FGf4A)h&Y1MJzgLl zaW65Jdd=QuJVk6y{7|Ab2HzCcF?>&3(zJJAzT z!8*n{&z3agqeId7(>dbEK$mU6Xi+w}+tVRV6+YMXI6O?Tc@>9Ad-oa>bLoV}nP8ml zcAW5i@K#12E0GSY8>8T6cQ%+8w|USpX$QUM_%>4C&HoADuQP=%u|$KrbC2PJGvpg! z)Smk6+=KL|Vk)(jshx8rXknDP=l9Xbl>Ol;vP!N}D==@R4-2QQal0P1xDIUX^SI6i zxYpfWz-Q9&*0Yw0?^YVKuOcsI}UUf;2i(qLxwq#^zLs8R)UlK z19d(^wiu0VS8T_$#uI0rYD`X%^BRIhc~@QcRkjhwS8}6lSx-X`r-R?Y5Plt{^~f7n zH!ih$+uiVjytSuwRDyL3T21W?<(oF}_klBFuK{D~XD>5rdG>5Nx1;_Z;40X+(XRfN z?1K$vKDM=dC7mK?kR<;Uwxf5P%Nd9cbhvYoQ7_}&(Nv7WIB&Xg(DZ8Il|FckL*w}^-igfj@T0_Um@~{zUAp;G+c?WT zs58&_%%#4E4cmkmz*D3W74)fehiJ8HXafc9uheQF=X-<~>UJ8eCG-9|s+{hYz>!B$5b z9rPXC%$@~rz(?56b@SjqpTl=P*TaK9eQw)?cnIwb(asR<3}H7Jo^$YpiwzFXwQU=o zv+-@O0s+1pfF9a4wg-Ilc>9 zk)5mHR-&(z*#FEL4Vm+*I~JI>fthy6}{+G|z2zxdIc z(-90RI#)#7qHDX?qH{&rU|&}{L^8`>IFHM-obh91@r;x`)O zO)qXTIi4bS|G5*a>-1TB!(DH)zpA>#dP9ELeuClFnExso#t37e`cPV9(!aa;WwXPqG6S;5n5_Z7PIW3|{0fioNzKu+;ub!mHGD4$MQ&T6w1K3_FM(72F5F zp3$Tk|B9b20jDyyql#okzI%J>i-?IOxaj}7{Ki97L$=pn5UYXl~ zZBMqyMVb5Op6 zbg;3vyF2_o<}6X*{SNGxUjO-ijhNd{DeiUV3C;&U;opu8r-aSrnf@m@C&S%gvrF;) z&DUJc5WC%-zB}mpZvPVB-FA*IoA@QzcS5?KdY9yoJy}Q9zjX0_?xA7br60T8?~@kT)#KGY%>(pB-{Mu}MQ*|l zq~D`&wl|ZN`%vrJBGwCAV zkykIaYkBBfL>~liCp-tf!rF|lvFm(v4*VVTPvrt0XmJzlNz%X8{kls$^4LA=(P_bn zdhOoHC86xlE`H)kb_n*XS48y!k4wV+>b1xX7b7!VlG}l;SNE|6I)dt6*n8el&0#Mv zMRa%Bc=;w7;UaejybS&c4QlSU;b$wERr1?K%;64xM|ahW$Itr_G_-BXbq&dV~vwNMbaMQh?r}N3mhkRIY+tT7= z^u4HF`kaTKYCddXJ-NI%O6-f#d6=oZ;{AJdr+wGnH{%lz9X zTtsVap~{{c_pINH&gJBXxo3U2d24Q{zLYqaMXl4=k(P2dtJb^ubuJHnS;yPJqj(eT zPXcpjia8E!+lgtYH7D{Jy-4#IpKZ>6Dt_Fg)}CmMxjfoq1ZS~|&VOQSFY+!^o)}Fx zPVK0ta|fHn>W+HB{UZG#wkfvi<>sDOXP*2lYnt{*KV5wnI)BpLUC$YKF*;W-ytXed zd%WaN%TH6J*O8TMjI}de!yUTPsq&3KqW@lQPn~<1>ZVj_^qL*@Bz#(XczN=Owv((; zl3k*8Dh`cnom$Rbo#sH2^(ewe0-Ic%bxY~3F}0A@u1qN%oV*Jg?vtrtPYQkScsuE> z@v)$>jf+ToXG=c#_3;F0t#P-Y@qWi-(Lqc`j9>q2zxlJ*sgztxehhaW?76z4?{MiJLRz3VP%=6Rb ziF9>(xGceH?IvPM)i4-4R~fIoqtW9IN3s+N%-$izV8 zjc}xSm!-@UbXX`=u??`sNXGigbUY6(*()R78D`im_*>n@o7hBCdwFl=(JY>YJOSx)=QTG~%Qhs#J)8_QeLq1h|nMS7+sO|+dM?OiQt)V=YY zq`jjh?Hj~0Ivp-#8#vV_pco$Vw_h!OYu7#bNsl%kwX*wXp?i&A`>Z)=h!_M$@(g>l zr0Wim$ab(8c|vr@eR9|h@FBN2zG5E7d$d0#+!VkOcvE|fXIA5m@s7U9hGE<*(DU&X zd>j0qAL2iv8!?4bJO+iE8Bw5hq#wstSJFZrBr zW*?q&64*kpr`dC-_6(F;o=H~kY?iX{N@Oq2cgz&M689(VX%?tkwqD`(-vN)LWHaa{ zkwp(=A6YR8o+VC36hl;Fh}Jjx|2Wy)5b$*jZ~Lc_cW)d5B`0;6uYCE zwm$vAeFEt$@%CdQ-2H_t%sB12tpfHvZ%=c_Cq>&=i60$8PMP(vg@$XZg^Oa{?^qYy z1Eq6K9oR(ey&Uly~*rCHb_zR8?uT!6cd%tX-Tkic5F4gDg&M);D z8&h!Sm-;iMz7m(QLcgYT=NJ8|s9(f&)i@YaIUpOr^_RvdHrjfC-EY##+n&HH({!h2X>W-LF2=3Hne8jr>h<+bCneCn!3 zbZ$tzUHjEGfBu1H2lqeP{J^p!Kg6Ao+w0>?g1X0-Y@hjM^`cYOb!U#~;B&eIB+K5M z_CbM762Faiy4>%zhWowv{Z(`Fge8~!8e|E?Rv&~ycGWc?Uf`;*dBP?B62_PWjxDE&otNY zy^G(gcvkal;D6a@F6Q?oJUN~|9{Eq^pv~_l&=c~~AH@4@tTpVe`>OOSW6#9e~?j_wldaPOS%aJNru-smnt*;Pb033x)Q{p4k}LwmBHz!w`jQxM~w z=6}ILHWYAz48WKpXl1cyyKJ8+1+WE?~Hdwi3(}*7QSKi+Rt-6T6T0 zx}>`l13NRYsGqC31iTgj_joDLX;zzK@@bpw@R(Cs(hK{3te7nE!tjs(h4Fwt=3gN1 zu4%C)eUADyjx~%!F)CK0yDUOS5shTQ&mz^w95vYkkDThaqkC8+=lwV8zqo)Mkn+0I z58308Y*%kLrjOI6?3m19@wwStWt13i^lu9JNn@%6W6BY0N@LO)H#??cIHuysV-k)w zgku8ssWh;wp^99wTV?~Hfwk@gkXz?mZ^^y|}kQ`x{ZF727g zmZmksXfJ7FaCYfUuhO{Xrq^D}X`J*~|9^u2b#JFfUQ0iuo4T}XF;07y*}$NKCjx5Z9{&>`II1I@NI zLHyaaHKWz6Z1=@|&DbqN)4Cf=epNB(3jf--#Ne3K(*Ll5{NDty?pBa{2OkwA zSjNsPXiseiJOch;>j~zUbi`+#Sg=pB*JtgMYu%sC@1;wwh~>e34!VKnWml7oAK6!f zv(EdQ7a;>AOyn0H%we4ui_X8ftkJ8p_$;y3w`H}ri|ox>n{!8))mq2@plp`1kx#&K^w{NVK8wus>1tb6G4N?OyBojJz0l8{%r|5b*54TP zQ#@x!2Zk6?J3jT!L$U5F!eDQEicjb&+R%P$z6gt}wra@zl+g44mK6hCjgdGYR zUY)h;)~tg(m4!|;SDnrvHnP%m_l;ocm|JX2bK#%)H>ve*=z<{M5O;PiQNMH0eQrOz zakJ)p#?Axgz+(E(|0$Jy6?r>HS>y_Mm9^7Yd2Z+_-9uBcXZeO=)Hj9v75?9MF)_h- zBDpHk|HNY*Xuvhx2~*-tKhqWFB4bRHfED}Vid*GMr&%>r8~#AG*5+}S^Z6^Q!z*~7 z$NPO@+H)(bj@Mt071PYa;C|TE9%~EvSOaG}Rxl4kznNT?F|HV?263f7*}#6o*h1Nq zZ^I#6hA$Wm;8FlC1=$;}Iteb!cdf6sEO0p#qm5qLkUxv+>kE0z@D1p7$bFXrQ}OI% zdA~h_ti2)KL9vW8(TWMcSy9Hy`6grw{9>)&bsuw6^TW0St;lava=7@J=vguxI$|vW zO=vy49KQsmDdv}h4#n96d<24hbipy{eX|JcD3I7_fd!Fq6&MTKgqb})gZ(F{syBb1y*Xj`?IG0e=6UZ>P>z2;i5`*F5tzFI$a`NiomIG+!mR zX>PX8*N6|0mN`y)`VM_q`CxdH=B|xPmwB3RmR9kl}GBACuvHe7+?g`_TapfzGLKG6(F9GhDSccJM*lcCM>`jD1%A!;-%&Zsz-1 zV(*A^l8oKS>pVo@;q1+R4e^Pm3djJ<`Q1DM89%vyq5-Pj=Qd&OL|pj%7CA1?bv0{ONV1m zGj^?qhBX%R1moMZ0AJeB{)q6dbitQ(8Tf9p@O7X?@$u+;0NPwH&-&XwE& zM*i(*12c_{Z=8WYwAkZ+`unQ66MgpD#;f>RM)Z~r?JQ~G5L<|7YMxdMyk|wgU!LcC zuP3^`7TzMi-GCm_z}@yy<;8zE2NvjWIriPqL!iruuiSRw7IQOCw2y}@3hu#WIpD7= zsMD0-T}7Up_@L~cvT^1c7zM2Sw}k##dvCyx@w?+Y^tCKZKZ7zZHq(wm30d!DTXycv zH-S5Mih;wV7sSE|&JiLzm%h0)Nqz^LwDd;VrF~?W*Z-1zj1T{tSC>s#`>*Y%WDv$4Q;kN@GcR zPxBqb)kyPpd6M{2Y8=-H=6T><;1TTMt&)r5MfS2Q$XsQ`MIEU94!mb)PIF*u!^xSp zIQs#=W!KToR&E>(_q=NkYnbYzZTU%`t@=%%6Lv5r<2^R*l(sT=9-8)`mpJn;nSZ(& zNAHoHG|gLbo{LV({y@g^8t6fF{e$%>yGrz)dWU(%;ubngNmhv3U6QBoCAH0%8H2{` z=Gdbz+|OG1)oIbdcuYRstc&?4;mNWgvo7+E7uiSWw^JU+CW!457-?Vn31F=9qDfOC zo=`bBbEmr?N6+S7YiO#2KBQS!gg5PTC^mEoTB1yi7(hM3n_zr#2zTkCIo0n{CwEmj z+!Lm?^kV8%ta4(hOs31S(OhGBgX4V&oI{J`f93Cx;rOOLNmqsD0~}J{_OrQ;O7B66stD4qjMAU&&Fzc3^?J-x>09cSx33YdkWeB&u*T0h0I+ycP?<) zjLv;-0y~u>9xUHbk8uzS%kDJ_A6io*{-Xc&jo49#euAEyE?~d$WU~tIAG7y}4FPlT zO+OO3iD~UWxSY#Y{{<_LzNr5R+7n;V9zr`~NEZYD6~&lx3!;~RpEyPKji70jkqy@^ zbvDzL&St!-JHE|{v8Q%a6YdUT4y~a9xIPy z_i*o-x!EnjtAS-=h`5MPHqU_Gzv{hGJA>cy+yAQfWG!7K{<5Xh;I7~#XUr#&jiOs6#&LrobJDE;4jsPt))u*(1|^UfM4^o7idM30m8wXWRx}(uFZ#O?+nFl9l2G z9_br}%464x?~$(i=HlF=sr|pp!Rdm`Io!;h^na=8p~qM}yv>+2N27C0@!#5F^!#Mi z7V{50(SC&1B<+b<7||cqC)yJ&L@*K$5v_#ZG6+||hdo!;WZ)6P=57lc#ci@|wN@m>pyl5j-aINnLd3d|T2 zYaw!+=v?cS)-A2Cf5#Z!N19z98CMKDyOUqXH})>6Q}N#5>nBuxK@Masm3%=P+P8`9 z>n{5>qsT$EMf$i5{H3wAE`bJwzknaDWnC`WIFC1XZ810T{J*t7E}^ec9lx&q@%1kR zv7NM6InUSN3Ac&%pqpF6zQ>@)1%6s;E`!F!(~u`l;&(n&3VhOy^4+5?*7Z0 zc6~UR{{?G<;vWjH;!#J=2K;=^o}#H^}l$Q-nzF_Zr?sP zfuD%pUiklCrSMJm(4$%FIYWRA_0FZdJ6ZcO^Du_*q?L#LLvKp=Qe*E>A2`1i_2XXZ zd4Y8|@D*Bz%)j2o3Rf)Z3i7YwQDfJ#d+c}of7Isfzebx6!;jACG>shNmYgWQ`PIhb zq`&#Wvl^fJ;AM>p>5uY!iD!c67>`T7B|OV`?ES0R5%)C4&C@goa+YLUJ7 zcEP_C$nIu}ew*i-%cu4h583s@vwk(H z;ZPs>+Ao~f%2UV%1>{xMhy#_K^_9FOt0bm~-NFA3IxTCP^}%H?so7qn5Awmy;a7!S zEAYYn!nEXb^48)x);Kdp`k3{>Js`P*{%Y<>H@QEIXTh43`cJeUeAD-F%1CCfH120? z`^!6<2MU}|itVi4XVeeb6VA)j**mqf`El&Sec}1DUi$H9C>sH@%$LI7tc|IOvd#il8Xhq5cx$~W zs?We&Wh6UDK2hBh-U0Rmc2$Q~Vw1D5$g?MWnENXp;@QhHGJ_9bW+JRVLH&=1ut5Jw z-KKhJV}dhQ6ZBK-pxStxGk6Z;`x57_9_5?P8{R>j%saU6;ttMg-@$zsCR=G7a1S(9 z_k{OiZGyG=Fz>^>kMKUi`zY_DypQod#(R>t)^F=~j8191>+7<=IG%Y(G&)LMk5Z@b zc8s>w-(4;Jy*%viD1FkoMW+A`^Y}{_p0j0c&vOQiXOu@}uWu>)dtupYDSJKnH8 z&$T>}d=TkX5&g%2d9UU`PIKTx_D*=gAD)Z<-%GYl`EbeJ*bPobk);#JSE76Ue*pP2 zhAf0$KC3-0t$pIt+W-BL?(4`Rx3#2wJw}?rpAy@V>Q7Qeun6S5O}cMv@&IkbXd^gZ zv!#LG#N@SV_vxTr{a;kO=L}UP(|PE<>d)`Bq~kw7o4}4Izi@ri*{~Qks{5d!-QZV# zFuT!A9NSOFMju|#vHFA-ECcl%!V{a!$bc(prIbx@z`F|ZT zQx@~TjYE?1xHD{}_4k+GzkL4POs5}no$6tCs^(_6*N@*5_V?NL_Yr<;Pd?E$S}jZk z{p4QPL$Py4tGCk6e=twX`~xvgqxT%T+#G%G1s0;+UTj?vUZXOnj;#+{zw(O)v1@=w ztAAO%$$uW1dDe9WzkGxFI9c?_+csR~EFXUL0Zh!`SA30Kuvy1>35|IzXCnk3!6wJ~ z3Blu1&L<_f$M#arMYM5ee7xK7p9Kz2aR%a>z(nw14ny~X2Y09O`)CLo{U(4(O>(;d z9=9^S-PjIY;G(-bcgsf?KCbhH;z``q+`QS!*?a2vL)H@yL3hJEMR-!aQj2Ie81vQk zJe_D4nYW7EHLJa)^`a}rn=<&OUU+yqiQj0v5b$2b0+#=-Vl1tOM!O1on#6LS?FeaV z!h3;rmwLIsG1qgtp_Kcgfd1clK@=a2Y3NPlDJz?ZoZD zE;8F8TJ$D3<5hlj9tMnmHRJCB7H*+L?2o(gm*!kC^@?wD9(zVO&^&Kv-Y1yz&oR%1 zE7?zS#Kv~<=j{M*2PB)Zo;Z18H=qZpOfUQTD)$2$&phx8694Ee?r(mVG}WUuOgN1d z*1~&&HE$^JTbqpdO9y4HYttGezQTG%zJ#UuKe9XkTA$}vmd@Y{N-IJav9>^GjCh3j z!u;F{>Cr17Ti~DfI{Skn4U$XRdfxA!HTc=NOZcs|Npe#zb&;R!FEPi6$uv-6&RyuIdZ@$V za0llbclc@QK9jl^Q@52{|NEydi{$QXr?nB+Ccx3@{52kL-T(V}v_6hD#do9i=JC+? z;!$w(C7uZ$!Seo=vJZx355R{+pZAAl%H-Y8b093UtEJ5Tu*@iB1ox=DU18bVDO2JZ z4a@#nOWEyV*&=1N9{gEY<|gvq%u@`@T;EdWwy?~#lo5P2FRn-bZ9U&8`jM`%`Mw4H z=dVKlkehz)%=TqpfR^l?t?>gV=0xfQ|{~r*nS+mFhZ`ovJyK9x_=@EPo zSYK9_synrRLw@v=L&~f5CPgeD$$BYlZ)xNM;WBn!iS=N(9_fuLBOXvx8;!uu??A7& zR&@{86Ep8N{|8U-{vd0_2RXYSf0Sr1AxZ2tXKGXR8}Q3ly16esb<|&$h1RMsG}m#y z)VXk^#vLBMvkn;m-l@HqfNv6OR=lTxeWa?Te1W`XK%nwQ+U8$NY~2e>3nEzi;Y=rr_^1Mv(b|`L^xEBYUqOAAGOhw(Y(Ctv#Qe zTMu5=vyN)-E5OCZ02eu(lNk+hu`$2}X^Tl)mhY{{3%#5*>9x3U)`1K9H<^D4Tx@KV z2aI3Hyx||^|6{qAYKwt)c_8MW2~KY4dBZRF$GF$|N&klKH~jQCXCwz+nA_R&v|s6d zihDW0#kLR^VIPExsEs4k`33HT{ycX?KhpE3zB{nU|Ik6!Mbal|%NKi^;U&rjWEapC+axX6#yZ_ACJ`JV?zz<1U?Zn%s3n7@?yp*f-XU{e2?I^Y@LOnhDUwQ#47->|G%=ctZaE3x>Z=lolIye3_za2ODJ%kT@l9;pF+cW${^0)ONVP0Mw+R6WgbKg#R zQxzQ%T%ku-po>zarr3O|cy#BjVu4*J8tP&Gl1Jyn`=(xQ=Ae^gTd9^@Ss^Zi%11PF zbwD%ND`W0ZNHbRlG$WsL{DPO|h=EbvKz#iTmS#GzXYK@^lld2^2l-|o?)MHbfBFBI z`y%uAAox-frVX8yix=WpE3-5daL(*D^FJ+HqwG z8`YkA+nuFq2l8x3PO@yUryTGB8=Dw;5ZgYoY_ONVIlw7t3DTCaw-ooV8)tJCr*Za# zr3X#Al36!5+zc{n3Y_x)F=WQYJ$KK!8TbHa!`6XoHx)xhEcxrYk0ED(Q*bRDJKe+Z zfxF=YcZV`*&E@7yo`&$Als-8$Qe z41nyIgWeSnXC1Wb5Ys|3WxA)#*}tN1w(YYrI z{tfU#FLRlHL+W+EW7`Vfbg%cniGKDBdRi>C!LOmGJ*)HS+(Ta_t=|8HpU%dr&PwE! z>TvylSAJwMH0i7xuDIPxeDQYenKJf+>f?c2`4MN`XoWnFO=O>e-mraShZ`yvlsU)O zx1$T?x=$^4G%Tlf7s{P&%N<@Q_m=h!pSHbDTTbg;*w44LckHz7xwhPqg>r9c@5rg` ztsJf_W{+*s`z~#5QcQnwzP6TpZKTb&WoQeTQFGPGj_?DW4~|1i(K$f$ z71|;uNlRLSG@bixjjhy9S{rE{E%`b~)1FDRzD4J7O-1WbFx~^~%{#+kA7bOx`%3c1 z#TG_L0*Uf_?HJwrTX;e4v-Ay~o`X^w+{B70Yq&0PV&- z^;!1Hacn&7%T@Q(A2-LbQ8LE-cyppOPM;rO-%#~1Ht_f;d07XDW3Z<_LB1by&*83E zsrp0iIs7592Y!ftuJm2&g7sn-@JyB~HLtX%ek50_&zNH~(t&2kKSO+iMJ4@KnIFQl zpQ#<@eVF$V-bZ*J<$aX*G2X{`Px96s>XZD|K9%CA3?YO3A#jUu6X6BhU1k^j*7n^s zZTON{ys+PYNU*SRPpg5=UH->{(@=<)={NrM@FMy<9ZqIw^HiMZ&iM!@ifyYH6<=}# z+`I)R_)Z5nd8`E|cb4tTxJ~xkjmb0MZ2cz&W*@PXH<-HTSf0wy`=3T%hiV5Ldh~7{gsn0lH zpE+|1Su7_y+tiqG9-dK}eYZU@Gt)L|`)BoY#uWAM+9LfM84LOs)}?Q@f9FtlX{i2& z`MMqR8|Kj&{nq=R%>z6;t$*XS>SxGj^)ArQ=h4ldXKqDrA03^`3>W%MU;A9G{~H@e zz(d4CSECzO6n%^Oss2QLQ$M4AsBf~jM}4(1!0C_VZ`sSFFAt-?u16Otp?gc7 z8R~AMpRTn(Ki&O=wKwZdw!>$CXWss-^OF4@J`eeBj;%LL``Q`jE79=ne*DXKg^)}Pv%e5 zSeN$2yf*0VYMZA2+q@V&;6%-ZpB^(OkgM>wk*y$W&clDst_{k=JlJ>GJ;DF6s@9b> zYoPR9^#k4WJSS(M>uZ8NM&wHNbC}=vHDy=*Z1>+ye=)=S$X9BL|1ICWvUHx{q|m}S$YWYxR3g)=@Ry7_JHScTNZA&T0chNNIt#t z&wCV{rod-g9=uk-pBKbSO9ErzT)qV!g+32J5*|hQHMJ@Q%-FUKVE#Q}ZlL)`- zdaF9~DEJ%$w*ekLJKYXmT=Ut-!O4Uvlpc?8@nh%zrtV$f+p4Za?{oC9Msh0w|C`s-{Ir90WJ-g{#dZ*(b)879&M@mczoz8so-QV~5_dDK4=j^i|Yp=cb zT5GSh_NTQzuF+%hYzZ9}ZE(;|Jxx1u!c$!*@u01^FIp!s$6m50au`?@2A&V?gx`3b z_AVPB7JjCOdEul!_6Ng7p6?1B=H0ae#K6z&vVP0FxOMLREH*-_Q zkvS2r)4IxT>M($Z_`Qjphu9*+SC!?=B;oh)M;iD7`rv0v*gT5ffc|?Kzr&;Ku4?P5 z*v)tnk5ps~9P~}^wEIV0!#?y`R(aGX@E5sLY!-h**~Fg#pYcH--(C**);%HLJ+HmV znlF93rrK}xn!Y!IRZPwtqVI3Q1K97`N2KraTlB8i42-w>{wBPF{T}|6zRPd>J;WgF z4M?3!hx+J;_^3Vs{s^8}arWr9wXR6C@@ae=E>H&>8w{&PG^hD~GxZ-WJr&hPv{=j!|?hrB1nF|_cE7#-{ zxA@VYc%DD;Tqhom#5k9^=@^wCdeJL!&K>?ydC|++annzhEBPdDx;`o&F?{0z#zy#T zA7`)?#>>2+JXty9ZO-^z&;Dc$PmEe-|<9V6OMSVLD2*C;z(1+B0x8{|TiPS!+i&nYU#=t{lT} zm|k%4XWgGv64$7+6Wku&3ZHPU()-cj^rF-5Mz2~#uiAT}8*b zCzSFTJ|+CrH!Gls%jn3?y~3fAJ=;_N5*(Srr4%LsDc zrX2ZIO3U!9dzJbW`qewaHsA5n{Cnz)Ret1W!|$o9s=UY1{`b@!BX*v5i@VepGsi7H zC1UJWSLLhs!QJZeOiz>49r1IYx9>0S?r9QS{5iN->fUYXZzYfD-b$I>N>4p%>cM`~ z+sk?7$w$q`{@Lossf&o=*N?ui-)tJ5qke=g%3-`^&K$W+`3mX5Z)NULg45mkuPShV zsJ_^u%IwY6718ngv}=*^%T*d}>4Al(6@EjWmGZllqsY0}l8@*3Pg^#nr{0(Z8c@jSk8@+GhP}c<`lZ{M(&%edu#%@ zm$_PEECtRomuhpgG;HJ1==oU!XCxo|gEcoxz12L`d07IFo~^Vv`TcXy7lNby z;E8i&uqo-4^I+s0T4{rQjtu3Kza3uqz&qJ1 z5ZWPSO1lEkI~j}G`7u8w?*hZdcR4#oukI&+GcR$E{gcGlj|~Y8#TU`}IJAg04LdCR zd|siS8oZpV1g?~s%g9ic4P_a|y`pIBohl`m!G(tJrjFZ&YFv z|J+=Z>QRo7ubb_?(92==C;Go`I#NG3J^4fCH`o(%vv*O)9>#*8{hi2APiOALw&svI zKW;x09DHzOj%tqIrl#fBss$+b7b*KkMCvPWdb9)@oTo`#Y*-y(amp-@ik?8-o8$d5fFPTdUK=7t_-piQv)NHCKhb-cx_pHA$noEyv;G^EP2Q^RPu--NM!f2B;Cg@3q27tU zud=;PbtL@0`fci$<^%l!+E80Jey4sGd|&M|-dFpR??d-rP`6gsky}|uyy*Xjkp*(b zX-eXgTI&hpZ_VS(ZdHpREAe7i7N@DStOv~3xf*t(#zdtT>#g4*>-PlfUe3?T8RM;W z$yyV%^w4bUnUD8r<`guY`t)3SD8ia0G`~&e0rZ0WC)OA7&zEPizKmX5Mz0sr&f1z& zTaRjaYwJj@T#X84CZ5C1qXB=)1oq11yCJkyhar{um4TCi34Q1Z+jm1m>y zqM^eBvymCZuT1i85Pp<=p-w3ad6#GFgeUDhJTQ}d_0@bU$>+m%O!y=p`}wj@L^m?^P$57*YQl|d!6iEv3_an zO*)|80qhIXtY5j5&i)j8UDyuzSij^9OE>v^VYiaMRsfkvZvsE4YT9d5%OVw#s-i>A(W$Hptpj}$k zen{4?Q`aqQ8hb6-I=aye@QuB0$r)&Wx^7{AVXa#dKkMYWMfvfKe|Ft!2mHwRKAi{h2kZhMOVnB`5ZdBGbVCBVSl{GWgD-s|etCgsdgLUoTc=4q2y! z-qvWXCHGUOe2?z1TfT>N+bWvIOZCQhKu`d%JJ#-E-S7WSCwKYlf1t->| zw5&I-m^RpzLv@d*`@+O?+T-c}Tn2UO%(8XC6 z?8SUm_C{yP*tf^g|ItPZ55mxAez!+icdB|ovGwqUCo*4&t(|kSH~r}WcdpPS`H5k_ zq;^i9@ILeT9SL6y@71n`*l&D3#J2{tv5-dhLTs0UT_?5;OKLpSeC{KL*enKY`&yAn z(ptHvBzl=L{!G`g|6b@aNWTVc@leja&=ZM2Ep+IsJgcM6f6Ft8L3KC38|dF%{I+;Q za8h)7w_5mGw(PD&7a?}d;!g7 zt&eF_1s*czL_g>*Im@C;vio!*&qMBzw=DW6E4EhkJ9o%gmNAjN>QT?h>nw}ziM>kp zUQU!TRh~Z|yA!=pwqo#{7&Mul7m@A<|MyGytybklE^Y0J54wsf^~ zzqJy4YYE#Lu2wG2>8^;?Z(bW{FXeWNZzJ#C zl^8iud`>;^x?+E4*$?v#>;BO(@1J~LYm3B*l6`+EQ_2@SLQiB&j8GTyy8LdB@n5V-e_}(jpH|17=y>)g zO5m*ItI@ogzxB%={I=5Ufue^KJ*%@!tTOy>_W16z{Czxp7xAsPcn=N!UJs!Aj-e}y z6b8gc$HO=+#>YZz39k>}i$LDxT-R~k&F|YuJGt)T{$A2Fmz;sKgWsD;w{xxVJyps1 zp2X*~P}xE}83%qqjN5?t3T@yLKOylE@&>euhs)*T3gI`&<>mQ$-?ycG;AnHDJ@9aa zd2L)Y_J{AZ)7}Z%KOr-}S{Y9|j&vO9cv2tf1k%$1m`BNlzy|lXNnv zpY#mUGf4fUlS$7cJ%@A(>Di=bk)B0*Ht7`7b4aI>21r{-n@O8VTSx<>Q%Pr#wvtXK zoklv1bUJA(=?v2INZUw*r00^JOBy6?BR!AwLeiO}7m%J$dOqm|q%%n`B)yn4M0yeF zEYew|7mM1^kbx9(z&D`C%uex9_c4Z zKSBBl(od4kBfX5YfNm_rSQHqGJ=Obh%xfPunC*e}*!yogIwkQiY1h%#(0zkme2+qj z^~A=1=x9K6i=F8Taq`~{@op^7#%gPiN}09t_E2uAbN%3A>Jy(XN!tsypS|qSK#&Z} zhl=?CuW`bE3Le9-_C*qff!ltoAFC@vo54AmPunR|_)?KYbBXnp-g9~fHj|1!)sDog zmHI^C@$H@KpAwwU71mpL41di2QGDpztPk5`)XzK-U9%g!tkVhuJ3F5n&_mY_Uix=G zd}qcz@>}qA<>1cFg9G2^+0IUUjjH#%xPQKS|2+45s`q=iFIMl1+>5`&taE<&j?95y zVYie8uAL%_Lpx;tOMmaK`VCqAjj&%3D-4`Zf8F%gRqb!5Mt|wI^jFSmlm6aLD$nl* zruACk@y=?0R}|J;bDH(m>hELpw=+b4eaS)Tv*Rw-x5S$j$Bl_24pKc);^H@{6xUHN&Tc}ke)&6C!I`sCh0k(Q%KJyJ&W`#(z8jYK!?xKUZO3uhj9_uIIfM9C011+ zv5ocgnt@Bc^uu=oi8Ym0e#?C;_idfqDuO3%oog!HjO*o$tKilo!7blO+|t3TI>vKn zXOD$jJ3F7M;?x12y#hYrt3vub>GPy}NcWHyNsFZ78|CGU3}T=7C1!_lr-lC$z<;W; z{RqV`Tw;Pryq&q#cC^Tt2V~6QRq&^=&J#&geHkw<@Eh8U4~5vdTVoMGr^FhhPhClj z)f{jorcOfqO4x@9t>pJgey`;B%8HaLu+lGvZ@7_f*h>g>J_NrO9|&+hNh|lQq;2TD z+Cpn9|AV$mya2&>;VWwR?&e~)@k^Tu8Fd>0%a9fP`u`u8O0Uv&=E z{0v9Wq3bAfba~=;C@>V5pr?E4S=Kf2IqcyQAH;fJy1@NYKN|a^foBtv_w&#SXkz4H zXuZs(WkU;qYmd~+IxhTZT|juC!oc@pI|pPx$^{QQ=dXYG&a~z7tS}J3He+Y(^?}_y z+Zls?RPT3j|9tiSdG7aA@Aq(Dtlk&7_u>a7<#}V`SIZei7yj@a@m-X-KjIfAZ9*k-q~EXDRA^~? zd}aSL&so2+2euwq`|w?r*w_Kz81}RK-~;+9?VYkWl_lnJUu9gPuQEQ?XYmb}vUZ97 z{cN5KKOuS;krU1-P)288<&02Y#UJUboXPu%r9SwFzRGFkzRKx2-h*@FSue)LUad?B zz*FSlFUrDez;~43A;60>BJdU=_>4|?hJx?~)wXFnD$S9;N(*I8P4rp3#Z2DG9)Re> zg~vFb-{PCq%5UK{F5tK5b1tOrw$8rFxv{=Vu+&#MufX$AUu9aLuQJ`&2Vc=wX)aS& zf;J>}R9YhNDclPmGL1G(55SkurnUn7MhV^{1|LHEX6A%%psWDr08!5@?k}Rei_3kL z^Z908K;F?l-e17)Pw-pLI12FlLVkae-`E6HE+d^t8ZPx!KHk|^nN8c~@a&RUU**yW z{ijWH3w@Q3<@zeKeAHPM{zc|!Vd&xnyh#K;g*IIhfPV?Wi*&-5lz?yNj!FT#AI`zI z6ySX>`{6tDco*RLCrGD|ev-76^fJ;yi1|nUfbUGkbVudl-~8~MJ!P4j+VGz8cFwx! zV~-D>y0pFWz*51bYlrHHPc@}|O}T`QocY0-6k28?u?r{Y+E4`ikT!}h7W=xyv*{WX zo%r?CCEqUNemR%;?cU8ZS!-+S?0x)}vqIBc;uE}s-#OCFToyk99Vu}x?rxroAG6R7 zp*b_aXOU4x=N12N+2ebPxof>ENxPO#*i0(?_7i-wPeX^|D-664ieZy*&0sMR8~7gZ z+7pSfR>Ytsv4Ne1*npPHRbB{12A=0#k#v{jA^kq-^Q5~;caauJcanaLR0}~*kQsO_SKMpif0H~}<{@7L`HjfI%9!%Oio0~M zQWv1Sg2X+Ne5?_Hy_LGs-b#ILFS6R+N<(CC#h{EaiM^b`wU;`jjver%lK)Kh<@Q?Z zl@ngW=Yvn6ol{7Kwwy&OH05mTH#CD(Xvt(!;YB7S;5+y|t^i+=gQtkVPsDguh7T#h zg9P9|$UCmHRPn(-$-Ed}AdU?86Mb^+s7wl!DyNl7mD9_-kCmV&rHVgSf*zHqOKcWP zv}FfvDbW__hV}bQ+5(^CBUZF?epwGK91H|FUypUU4caX0fbbsy)&h$sVLfkSJ(qnl zvB!9nakbV+=185k<6T)N^}DQdUrzYsqq8%_eteT+?Je7MSnyTm8GI=?K|BG*T<}}= zwY+zx%g*X^!3mic-n+W2eO6g3UmN=xGU};oYT@x7i!WU|^laIl6C#hYb{Tt^vtnz4 z?MPAPq41`ALg>5Txu1vc@`|la=QS42_ayK`fzIzN9~=m28{gd%nvX5XH3QFU^9R1q z^IfFhllP?0llEwP2Yx_0M{u6|+1xh}FG0@YlyytmP+OB;y#>wC;`85a>>)l6F*GD@ zhQ!OzfUS>Ml@rSwStmADrl2F8!n~2V78A?zj<^=QZ{zt)-UrCn%Ck@jeu(!I2DG7> z0mg-IyuL?|%K0=Qe(Us8d`yK8na#Vod=nvm2hXktS3VG62GmS=&XI5Rkb2*bWO{S%;pe z13Zwp5W}W^Y~%=MRB|tQrtsc<{Tk*Jd=Pq!LEej>;Y6O-Gro1~lgOAtE6_!)sz_|} z82pgzUl8BUFM1z|&8`vuZgL48mdk_RsAVrp8R(*l4!)N>!t)5++DWDCL`dRBp^uVr zLXRhUui4e|u@Uvxv3KGvp@U$Y#hk#)erJ^Fiq_6MqQ7TnY^ z1^u+>#%nQw+$XPBqY{2cnnSn9ck@Mqw7gmGQ{-|pV)c89o!wv z5IfXcN>?nu>*|~ldBI!4_9!&Jyl}8Euz#L+Xy3e!p|3leus{4fa?cV6aX8$Q$=8kz zv8)}F%iurvF20*mW*kBtoc+r){0gMJCSWYFcf{Vw#~GZSo-A|9KF@4sYhdIF+p`+~cV;fht_r?hg#P%o# zA1-#Ia_-e}=B3xbZz_PEPWB`i-F>YNUn^#{^qJrHNdK9O z>vPP_82SXC=t=M&pVd`%6tH=`vj{vsJ9L``4{QHo;1=-K=~xM^$X4bO?@;Ur+DK)s zolP1@b8+9wy{yL}(wU?Z&vSClI!k5P!g=b6M#|FCTp=!S(c6i? zWsWn^3KBo{bL_pu?eorzJoD(`6EI`Um|G9??41fZx#Sfz)mODpsnwq z-|VGI+*4%afrb$KT;vhl5cmo#SPwq{<4+6BfUm$za!B>a}Q)8@5=$KpJ4{N6cRQ@#UVCNo#vlvSe_9_HBS z_uf(OYi9*`G&w7vFd*wndHG4cMA|Wz`aM=04*Cm!Cv}S6#_QXR&gPm4@bp&sS^!<2 z=$PoA#pA$_yacUSaY}jf{*&eP01Ju5_~ZZe`{BuyS=)Q_h#m;I$r>xP2HY_`kw+@~ zN*gQtI73f#n?7yjpwFUB?7h)Xk&BtPoI`!s`Udz+T0S9X^#|PX*Y@6W%!AlenNLfh z37QcjzLGB>dI9z~xQ}sf<%QRH?^oIf&Xo{5-{>!GJKrlm1+7Z3R>N0mg#vWV9&1M@ zv@=~8Xnh=gehxb#{FWp69`?j{TYK|ey4D-u-T3bk7l}4E1em{kD{-Q=&TM71eF{#2;uN?+?3)57OPBdNZ~?oTT-f4`W0)TY-Ii`7QhgV~kBU_6$)w{*8G2a4eTJWg)mYZiG6d>bcgvZXEX4<7u!53!#(__*%-!_l;5u2ZTKr;OUk|8|E4*X zdvBO>r0w0r-iW?w*7d$=dh*2L7zN?xg+;r^NYSoKWuD(s^Rdt;qz2B(c| zG4D^^s9J}&P)9d9WW`a=Ad=KaaVs*mIzzUN znDZjed`i9n4Br4A#3aZ+WVT|5tVtQP-_f!T`I>ld#Y@!3idl1du~j{tyk50p!}eq{ zV)d~hd4(ENyjV?--mT`6Ck*U=9l@>`7;Dkj&1u+wIDol~fp-oR5vGd7DCtEaKI`U3XhPZFbQI<}Qx#8$=I|F)_7FHv7gO3aNpYD|0w_Dxwc z63m(l#BM6{I(PxS9@%8B@QaN*IM=(${8SJd_xwilE!xr%{uuU?GgMdc4(#6D*x_BR zRt=9;tBM_}Yb2?@Wt^v0j$DbYSd(&&w5z{2#(u!Y9T_LZTpeCKkh<(k<5z{nu1IX& z>xRLv?)_%8`?$KTyGLEwe_SnQu3a^JTwUFJT(#$qt3}ME%ZokgivAw;i;iQ*uBK17 zb8qy%ZC*v6?%-YB@Z09%INy`^i+Q`xw?%tYl<$+>#7*mdn|NV5{r|qIPi4(#gBK`I ze!ux_IH+=3cCd_pXoR)2A(=HFrN7$+{@A;1Ce3lZz_o{K7grD0bzIB2mT|?n?&Z3N z>nmKHTy6dt#0A)4J{W9N4~835GDD1%?k}maez)2X^eXJ`ReJaf%vYCML_fX6#L#*# zP;-EXZv3rk!hYP5|1$Y^m`>sf%buz5N_??# z!&!3!TZ;oetJ7`CcSQ8QBIW-HKB)kQyVX@J;kXR5q%xtiYxK}%fbJeV3vFuZ1Bc%e*v~b z4)D+mtfg-BvsS&csaNz9_PGbKA^eex7M;SrUFOss{vLHfF`(pJ<@588Sv0K2_uyb8 z2aQfc3p)!#`-%2Oj{Ql<@ww5ny8EB@TSR}?4^FsRN z2yQXc{wCGHytoRR#2O99<|O087Hb@E_4Q{h+B`l(tTt$QM_TrAiD{m&?a^zs^;cf2{lRV9iqzzP>%2kMArEV$oV_fxejGlW zvR?Y4_?INuzYg}9!hej%uTy6{T7ow#UuvT{4%+X`L6^d>n+@SjjPpUW5Wf+-#!cp` zWJ0yFPB`G>T+j_is_)nJ@de7&z1{Q_;n9Na%!5tl80bwy?{+g|B$(gZ&1P)cjQ;Ir zt8s;Lr`l9qX1nRdAJr4QocKZ8iIrEc>Y($UIC1x)o6Kj7`KpoUb*To`NDP?({;Dk! zTPXOt>CJ31pGeLJpZm;d$+>D>Y8JTMXRe9Q!k0A!ePF%7w(j!erOHUPss#3;t;S7i z1~hJJst%jK%hj}?tb27T$a?3*M)lnAM(jqfQY}%pnjV+_%}{ORafW9QcSuv`)9008 zP0iw&X3S8IZelzIAHzn}rDl@9jybl5d2s>vHCs2g;Zhgz8=JS+LVn8hv34`=UEP{` z5!*Y#s|DbsyW6G2f1oBG&M)>@?;}MU_vE=A(O#1LKkde5v3l<+z)KXgmxQnXH+Y)S z{J>&tKE+nRK2IkOuP=Ou=B%R)f`1|pNLzj*-{nv85%4$tLf>RRSn9H3s8FwbFW=U_ z(`bW>a(>D8HGG$Er48ru?W@)Gu9V;P8n`8Gf6Yysq%PsvU!_m37`RB;=yChujRvG% zcZ7DaA1=J5*iOM0qbq2CQRq6cKPU6=7L(*|&=fw5c}3}A!25nLlpp=*gUu3^EK*G(e{ zP7%A&6|YyTg1TB8*Hr`?;t1fR2UsNjbvD zEyORJNDNB$?nAuu1+E4ia zkjdze$YsP$@Ex>d2kE=WcgrW(XLnou)wGx7SxtZLjfkAG40s(l0WZ-pFLzQmZKuCQ z&XBcymtDYI`2K;icFcN@9`JxA%YSBobE7O+EO!zwk?(8rsmL7;aKO!2>(Fo+|7l@j zz`?uM6T_-CpEFna!CUa9A$8EKiyt(n_vXwQ;i+m8w#QSA1~oBB3Xt1tSUN?|#Fa)cb}xE#*)Xi}*tt?aIi^SEu#A zVK!3tbm+flL?^b@0kdTUx}T&x?6d1x6B;uMRcqX#8b+MzoB0*WoBtF%8*Lg{sJglT zcJ~T(Hf5jJ{V8=x@t5XzNRM^fJa)2pe92kV-A$fjdHdOIJexv0b$IJ@$s6GQ+oUa& zG5Wh^zH^XA_9ePAE7Z9e>f$<{9mVA_%`PT%sZvL|EzA|VPGM;g`R)@{qV1^ zIJtlFLQSWgw)G1&TK73D;6Bc;7rpd8OJ}yOBKoDzHxgGYl&usr;qMAV zPm<0KWw9yeY|c*3MNe$5Oo?r-1WL^Ly8O|ZtkG==^w*tP_5oS1>sB2NmC$GMes*qi zMb1{9NB)Smxzb)H-Zo`)M7a2FG2gZ4(07tQrd8zy%2`%Mek*OFzD?A(iTXBC_NGc} zZd0W#vI+aqO~hKwR#x!+P2^AT{k?o|$rhB?$@ihsrpj!-pPOJ0hwmfhO_g@OTO8R` z=?Kwpbd(z?V?AZ8ri?UYY^Ds(e;V8#$yOc>v9FIVCRZj7KkKrbmm>VaM08M=PRmDs zkp+&`i!P?mqTQ$JVrn|YzeE@F5OlJZ{{%05%05hO4F4N>sR<8a~-mt#v0)8BeMiI zn$!HhG#4d%ki+2RLf9<8W9uS+CN(vXw0UawZ}K{8jHTOP%@_>cO&Q24tQiCTuPD)T ztV^{JukZ#n6#N^t3Lmo7$Qxa(KP!y|s?NVgC4%@O!po&o`0^1GUWez`f~(;DyR2Bv zE_7`+53mYMB?Z&A+76CV36WEzo4@L^W#bXUBu?->*UO&oXY5!$_&kaaSQ(hT zT!mr6->I%Qj=%Qf+V51)5_E*~wZOVXq9=6GUvOqX?0TiYPWDb^4^AuFwhTY#`G>`* z6y5;Toc)WjKZ$UaelhmSNZS|gSTb5)ApGOsRQ1*pU)u6(j57YTU58(EcG7foqP;0dryaGNlWj1W)G~K4`uY55uP&G&{P{tHFET zgn*ZNz~Y2Bha zdH3c1ta)eee$y2^Y`Rlh%$EK;=)+;NK7WVOlf+aAA2u5d;$#?GOh5UX``cArzFmEz ze~BvOmk{@&N4*;)4sW-v4D>sv1+(Vq=xZF^jp)A6*`kZqiY|3D`f+rWP3nRXm-;E+ z{A`%H((P4~$Q#XkO_eggvt;`V>$KjM;%#cU`!TbA_%Go%llFDZYgf( zy@`BM$K>eSrs%fL?A~FXP93e$q-rK+>I}-B8f;h3MlV-`;p6DI?@T=4LJ|PEMu<|9**9NDlN%0-bxghJ2 z6TjshraS3njdH0paoAskcCR(&p>sH?hs;VH=vxH-b|26gRO^UT>p-_-)iIg!Ci-`n zX=A!-Vl2;#Hmf#b$^0g2pbKtPFH`;#$bXT{mrvmN-IRY(@-b8N^Oy5}jFC0}-ai&u zM&@@&?KPf5Cu-Nv9v!h6#;Muxe>Z~*Ml@^w@$zHGWK6}^+=!y9H8gcL<;hsdn8|nu zOr_s~FEw2W>wJIOzg|rYK4#*7t1eHm_Ms=K1ns)8*XaLJ@HsUG8eWQ?oF~LwU|ql8 zns@ArS^d_G7nPP=rC6)jdi}dU$~u0_Eo(2Ul{;Y+TrTimuciW%pZKG|!~@RssAo=r zNeGxsh@NA9*SJ8n^IqZ>H~1S^Z~qh~C<8tSlVsME^Fta8_AUJT&F_zbj~g5l_%s;c ze2VxlNgJm}!)X@vo(e00g~004;5p#XNf^O{^j`^#J{dm8!uc94v0?Op1ta$GJ^&-% zC|HaQ?l7Bx$9Ql?2PQ89la?w>W`HlF@q`7tS76ZuOdROSYv-1niX(px9!}tK*C=>6 z{{nd2{UPwc*203ve>(*p@M8VaCz=1NfQi6i0q~Kzqosfc^HJzE`>Y>;$ulxvfWd|S zFR2N9uY(UVkG|-i56>dM8!bFpc?zC94NSh{KcBq}_F%vb4IXFoeED;*@B)j_C|G#^ z0$A+%5Lnc3;|Hg}LU7}Y^!=3&!;R#F7H(i0WWyn~Qfb8hegZg1zZ*urq$UH0sr2_Y zbT&2&JnA=$|EVyz85n%ie=hv!4s=O>3IoRKBj?BQMJH*8%n6wrA2u)k*PrS4`ybNp z+vxX*(2bFk^j>g5OWtSod(0{QUPHfSA5HqK(|3D5*f?+%{hwgrfZcz`Df40){U76( zy*8n}f7*Y>=S2V8Gtf-vgV0W)4_D+_%SXZB%9K23pE4@>Y}z0&snLfT?X2Pdi_p%| z^g!_cD*FBpAJ%uqS8yL2iW6flb45$8R5OUvG?_krCzC{0@>>1>0{Sq)`=gBcHw5oT zSTlg9%%!7F`b>YN{Z78SnSM!sB=&~%Pu7RYQTV`9)(>P93l?|MXX#h1KiCp6pC42Y zRQvO4bq#3Z`4{NVI_VF5*$Mhaed%acHEQ;Jmbfj#D`>>W*NAb}K;1?#Yo19Pze%4? zqmAR~tByP>V|jQg|~#;K9#OX$;C)jo}-4|gK?3%YvZCbMlxQE`|xZHT>$ddwNBYH`kchnGiGn|NtDdx0{S9AVB_Kvr@1Ia`9YT;uE} zH}73McLZmsx+pQ$f_2En4e(=W_D;95Kg2Wk5RJIxt5a@t<_`8(CW_3191K5ZSnCVz zo$r56Eet$S~C4}_3sgFoaQwg%d&qZ2-fj*&9u z><%qSn~}k^XwGbo-b{Vy@`*>~=DZa>wbg8i->e$)oB#L=dgPy*Q{nZE?ycrs z#U18XdUu%h@pky*g(?7V-w}2-D(}SHTU@!srkv{udPi^S5u4Z_4XoT z!!OS%LI--Y<|V9i_4txYKR+{xvl}KY8ge1mX~=ZaKM%GyZe%`PWIpLz>M(s1Iggb7 z8Tl>dRQ8%J7}BqLY$ScZz2?Yt>0jJMA9~ab`uO-c$p6S0{wV8+;9A_Nh;gF20z9X` zcgEi~9a^NU>1)ahqCIxMGGfgm;)%^K5Mx*(vH$^C;1Uh8tZ&Hk-=yde8 zWf!_E4IS4y<3{B{$F&B%)mn5|Wo(!#RoMt$J3lA+wmF-2-;(@_x+L|sd2{?Oe$&kw4kDFC?$!Jdf$n^QBzjEBZP&R_e~m4ql4x zZ!-9=7YaiO2ljO`H!?X3=bhj@bEH?E)$h*^E{{Q{yQwFiGw&KpEDz?byjz@kPHfx; z?)n*L*mV{LmM6$3Z9;e9pj~cs7Lji9G-e0q=buv@(EH`0Lo7op1ELq=3UMDpZ{$a} zVTc|ss60XL{T}$$2J~K8b1yXB%`=_%j$lwVpc~T|Hz#xci}dToAiTcl%Xsg^?#GC3 zG$r<+;FHGqyO{rX0JE3CInCf~o3i$X#JZF7C?(dL-;?q9cTUwiCDpi+SgUmM)gH zfbkR^D}Bc_NE;Tttj@Do44ZZ4&hij@5oyLb1&u5NpD(W}Yf0voalmxQ+#(L4#07OR zzhrD&{WDa1C;J@3Ey_c`TY6j6vQFw@-qm3%>#NGn{yMd4m_2{mBIj;3_p+ZJ zJz!27nE{PDU_O<(LAe>HHT|0Epbcw=o!~&u3>0-$&-1Chx|&j8Z)pTOEnxg4d!P>e zp(9%Ge02|VNJDPY`90z6?BLTQn!1-~PiGcd^Xzu&tOK`KkXrK&9o0?TN8AB5}Uh)$=PatY7YEar_#~G%2-)v8v5_V7Ud#!eUiDFVy?!s=8e&;c@wk1!Zv^QPWItBK33?``ib{Pwa?Fs#qxQ-EMLCrRX zg}PtP)wa&+39Z3i;PfHR*CtNHnhJj0=)E(myoy4}j_d4p3@e#fS92_{n zei-{*H0QHJD;S6Q^m_&Hx{i7+_)x9|AM~6x{|xK^;+h6*u;15+;o#9GgY&?K`*sU9 zk5*v=jDX8^7F<4S`2jg=aFMVn8=)#@we-%!DRA~4lNlC zlZC*;5nK&F0X*PgWbB*t+!5e$W-Ox;^|+@DNz6sKQF@Q%1u|;Nrk9 zRPffteudz+jGc>hTX6cX|M*8@f7xZ%rwapu^Hy13V|}7u=x_|d$Mv(Y^@bJ#lYw;$ zjvW)+c@&%-%RGvO1UJ90mNOPY@0KMvo0M-vzR~usDZ8|_L!QLip(N|{3S=0qc?~x3 ztA=FW%3hK_YgIWS`2`o^Z?QgezRoP}q5VAx;m!7{cHXxnFN6kcG+R>VGpFA$pDM{4)ZqFSC_VKNccI?CF-e|xgalc<^l7*zjz?Bnyp9{V+}FIWtfgKw?`!TFa0IY9#;-?9z6hNsJ}Wr> zCVLB<^76f zPjl{w%sB@!CRgI?^uguJ|H?6|d9dKakI`zAoM#zQ&D=|z zbJ-(ov7T?|JN(#!+fTIh+oRfgE^U=Q27|N}8zvun`sqM+&}u9DXI^Yh-v;)Ksl|)g zGF4Z_&m+Mgc3`uuk%_hbhR_KW(eb`pAoJ|wU)#3$5|#!n%D%|Zy91?&|TW4~}u zC|h|plpVacQ~dQ;9Ti`Sbj*%t9V6c|@+~Lddh+cd--c?w0Qqv&de7Q7@`16@c+PKc|+=O zTXk=->rP1BTdca}xn1`bt8V%2OMbBKdDJO&hdSYLsoN#ELH)~pthbC?g1+CA04LJ2 zwx4X172BIOHPNOLG3z`b>^VZKt#}J!doK1W&r$|<8pQipJ@|*;|M6Jlz*UST=UZm~ z@u=*>oA3U9xHiVDV*q$`zBi6AzZp2oR5g`RwJl_(c0iJ)PKj zkiO9T>Od|ae({eT5x@9AV14C)Prl{hiP$*5w>~rLFL|$N4RO`_jL@)}`9B znx?tj*J`!%9!fP^9}7S5`Jw%S!{GFgi+aSC&*j@P$racL8?kf(YY%=`)w31kOwa%^ zyRqXI9MW?5{9_*@^ILp&YQ9+i{Kr2MH)ce4`ZUH>rycT*$W+>0-&Ue=Shxq>&EdPINo#6fq{N2RY#V@ePEe`dC*xHh>aItg9pow1i0dR?1-#k8uqgL z7~9b>+sC=7KK4dr9As=J25etBpW#unpy9L7#k|_ROZ8#nB|Pg-j9p6bKbq-TBEPYj zULrUsaP!8%Pv87OEdZ^dE-&_}PR97sCiZ}Rg`o$fk1=VF%oQ%*n#vz06^8BwpVC~b zwO8P;*Hkue<+w_`f0^q5*CDPx-goG0Dlx8Q`YV;?q}OpJxN_sxR5o)JxSr&CmiJQ} zYbpV*R>v!qHqx0~A+E&uHICf2~Ph`#dFx%pZ zR(-Z@@fo9RiLcVEw;rzY>Ou*R!bY^K|=S@!NGq@)6*Xj$jM-!V9p)2FolqVy9XeHuG_!bO`Jv4dxCx)O;@W+xzhbNwF z*?B#5vWy62%(u_X)aLUZIxXL7q16@Zd+O7h@za;@n|aULVbPt^N_k(LDDA1f7rxwj z&z!o+xf1-{0(}HWm_HH&896h9f9TOo6PocAzh(fLBrofY=38s6F*0YZd6Y<7w$!o? zbwX!;@s>XP-owO^=Bn9OdsrtLSW_J(#v?$?7ii+X(4!R>sf$<;HG1fT9(qHCfwwfN zhZx!Ajg>~=`bpq9<^VLBaX!R1GCy6~xS>OVO>UPqo@uNZLPMQAgHAZP*PWWfKC^~6 zDe|tYvF2H05u4zK{+C&6q#Oq^sNCAMmJPn-bLqrPA|LeMsI^~YN;z9XXpn>USZfoh zMJK>jiJQT@3GzLu6??Y!t;D%?O20#efeT z3+nkKW!3r|IBThP2;A~mZI<&pH%%fw(Rg4q$rD;R$?ID=iMq#0`-GNV#~8>QLXT-2 z0+v3$6@OgzB{Nz{V&dj1k4|j?PnO!_%6nvK+D1Nb#sh8ig4fml4BSF_;wvn_rCj2; zJf-XD0#^@na;Nyu%R7nhBI&n|{C-&a>!LiN$I_qQ{u?n6s&PfWa7-K8Q+llOhiO7* z3qzkb7Y+4L=PoY38`?vPx_IaX+TblcSS}Hl>E&{|a-f_Ze3fVWxcu4!M=$$TVd$+0 zaTOyQ2FoG&hM1qcJ4)VPlOE@KkLSM+q$}@puZ>GrT;oc>gLp#xp3F6cE5OytGvZ@d z@mPq3Au%#4b9pw8G{V)+wV11eOJbEwo?`o@p95^l^ivPK2u>~?D*Mth76YUw;KkhY zA0lRz;3x0Km4S)w+e?0YJJ7YsHyUt|w#&DSqlH7#&jZzGA#8FbCW~H{7*WumNMT@7 zxdh%6hW_wriLZ!X2C%BF{gZw8Y)m1>5YGc#t>x8~w%BTHm|qtDwX$o%%LB&gjYCt< zS~zq``DJ2+;2-bXFgTC*5#G0RX*}x)tj0!qHMY?&TR1B8LB><~aLKcnOL&YBbJKe! zYkpP6c@_Ru+9=~MF%2cgldK_joTt@{AATum#=nzz3fJe3ylTk-pT@^TGdg75;JW~G z-RAf4(Pxd3xKA~{Rr1I)$v4_R|JAh6C-?#0i>^w}TOj^MQRcLpvL}t=pL%{_^EJXN z)zil=7FfJQL%X6J}zny8@2Hueq zT2Wnh6W0BZp1`M!XU&#R&u1*3p1P_}&+W9!gM4N2Bfty-XZ!TTkSF*JEv7&4Ey6!r zK0RxW=(09ap7`|G=ONka?xet*jGOJ#^Oah;@~yT`=-JRD?Z^1@tV6C{M?QPqmG7C` z_Bx`kD^H~CiDlNBh`siD_|{hbR^;nP+ko}V#O6vX@}=0+%h?li6RQW8L)Y5j z!YyX{ zP|m%`U;D@}s^RGgrh0R|k$-U@!2@ zRc<10E4+f_7yib|$Me`nJfHUw&)ZIUUTfD=hgMv>{9l%8GdC{NTE4bO`#9IFTsf}V z_y|3DQnUH5wZxhgUpe9LT4X*zN3;Ys7Vti0@WU;8G}@;vne&juL)0dL>%`rN2|xAe zA5=d}}v1%iAju_=fLGH&CMSD`VHz#HVTcrqhG%wmCq$O_A1hb-KZ??uKG+VCZ4 zfz=LVXo)q2eR1(PwBecK`tV=T_8Q%mw%ajh9xQ*Bwu=w5&_*dkXk2HtUoqZUw2k%% z+@}C@f%ii^kCA6`OvdNI^5s?;pB{ow`w)65G-iv155$-o43uoXRAl5Xz6;U5zoUKM z`R|Lg?{PiFRpWJEO@Q|?zNfunZ!PeV_IwmQ7QR>bA*;;+JDI_o1Dv~+HgmqpkgjX~M)aqR(JiJIUF7`k*~%N< zVm6_Jj1(_cP4O+}g5EjGz|LokF$Q}zuPU*R`je`kFMYr+$EP;T6T2L2BQoDtjsC4> zV;mhOZSxvii3h>?UD3_>?rk;Y{Nbh~@8ZNy3a(dvVK&LFF=B%H#|fJfY=B;ae!TWY?5K2XOKUbkx4E=v30?QEV`xUTk2unoX&#rtDiJpxN&DdL=sK`RuWYKKF9s7+e88bz{r! zhAz7C#hd~yJqwz8HuUr&mo_Zp;s$1oV&f2(a&H9wKQ~*FH?p^|6}$R`a#4qj+spV+ zH0H^Jf4UbNi56mvXiL=jOwi8wR`W+;{B62j zsyT&SNc0M|D1L>SicNs##|M)!Y>A$yt_+W1yfn2aqv1~<0VlSaPZs428GP&gJZFFC zY4#VUMm20N=BgRPbJbOx@1dNk~(f*n0)#6uGH+qq8flnpIXn(&A&FF`*n8>zKE5yc%4epzhXSF@po7>~pPsgez2{YBPyY%v?w^+)k$u$0;a>H`*p=n9 zmS!!OkDbP<@`emP0E}O$7dtuDn}+@?m1E=v%Og|2cdcT={JPUu=^VnN`_Mq(T z700R$%GdHuDvhsasc73(b@(ZR^V`H0P;7-g*d6Spj#3r(>~@S(-?Q2wdy*Mz?^h3V z2B_E%GNyPus|M_RG^34vV{^oqdgRQkDB}%o)iKU>$!29>`_lr>)$meqGSIu<%sR!d zC^m#~K=0}%=m+%e$?@Q>@D0%GXSo-8a-6+q>6`F360@xUO^IpQ!P2<>mGjvDJa$Ms zb`JY->}d_S$s_!a=%W?SWnI1!y7PE&hgo3%%MotDZghwFy(s(uwk4c2qvWh`f$?RG zjnwljyonAkQhWX};OK^yDw6Qe;9GU0hXK(c_7yv&4(5(Q!v*zQJ`Gk=*3yvL?2ed6mBfvcb+#cX8c|9QO z{v#)30r8KNHA&z)_z&8#IgHKU{^0K}`_}LUs(a)D^_%YhuA1<9ZW_Krjm=-F#^NjT zP2#jLAy43P8@T*eBfm6%Q^lcA==hBE{#O0EijOtiKAXPepy?O%_gb*IO>i4qm)qg{ z(#HA3zyKHdy{|eaW)mB`akxZ$2z*$EZG69w4Z0KfUVRqi*_FlP>N)KF7LTy6iBF3* zvIP3wW6k?hWB9O!TIa{y1ldBOLz@dXRt)5M$kkK((u zH4t{F!0>)^O_H&PcDca4dhVxkKLz@GRuVeQxYgvdM0HHw#h#)bxC)F;z=uBVtHSx$ z=qP@IEtA-uO!7qrJ;)?q=9%n`OalLLFu=xv`AWaM%+Ev)nb^P8Jcqd>XS9~`_`%V~ zy{YR}WBd>?MXm==x0=Ea*TuJ*)4HdsX_;2l$XuU>&6_uR$h-lX?Exk?ygTh`8qY^C-zl$otn;C@N_())(8I< z8u3;2RP@X0zX$i5_lEbIUyJTH8(A;BtV2_YrP357g{I5|hsC~5_G(+Ax@rN2EpcK- zMe9{-xK2G8*VJm`Qr7K{sWr$Daz?EOn2LSvL}Iire;wal|$>0i)1S=BV)-N;`|8sM9IJH=xp-OCI39~ zA0Yp)$bX3Zzb60DYW{PuX_K?+UE21F#7^5x9_)&SWFN)FWzeUYi{%V^msVkA63oCUEk+c>fUPJ*L@4VZd=X!lhagPl)S9# zo*>`m`HdaY1K@zzn0kPDUGG-Yz&^k+0?%Mvf!$%uT#v1x*nwvA?X2ZFGXt)OeOxB# zP~Oy5bA6t95Xx1u;D+Gj8pd%0_D2t5Q`iW8-XFaM+v;2Jb6W_X;v@!x4$WDpGT2aN zg9|Nu^QIQ6+kx5G_!2%-`{$~u@IGgNUz6ke zO@DsBIfeOl7I=1cYQGuCI4rnhAek2JN+MGUZGBkN*o^`+C|ldj8A2m-#RA z`_Ik)|F6z{8Q1^J-2dD`?O1Ewzd!dUGM6Whn)@#^=C!&1>VI(VCnDLw6Z8L*_S~0w zFK1A()>f9$7tx7`eY?b7YJ#o^FCsdUbI8w`pjS^~y%$?HIe%N;P4Z{2K8^MNCB}LT zsXW7f^y<^2J5KN{r-!pwOC3Jym`EKi-j$*@Zb%)mfUTbqnt^ZB)#48#^-Ec9$`?O^ znjAtbwyVWoM$Rpk_w|&`)@r$fOSMghT(0AE` zEPYZGUaIm9b9h#hvt)f=+Oj(XYav{u6R}V==9I zi#BWy*WdvC+*^HifM-AN#b2BlltlEEm~pIc@a_WF50N2Wo_k84>8lrh=KnG8Ud)@#P%N z|DwaNd~lr5-nLoOrt3&uvInZm>X#NG@+#d4i z!MwHB2z@@+n!C@b95zv>>LM%ITy$StEttmi-Hz z@r;#(Z_YEO_WC1otH5OTo3 zh%UgEbUyaPy7G1-#}ze|jqf+7rZlx7nKd7v?Kxw=xiOzLH+5&t&8#_FQdx5={SiMq zv3V3Z$=d7eWKMMoZ-pGi9H{5H$Utu9#Unq{j;(h;RtdzgVSF6;!TZYGlXo(&3Vd_# z^~|Y_ww}6E7u;f>Az|+`gd&tnS+XA#2{5;qyHcZ%QS?tWyr2P_$m zc;2an>f1j2wZP#QNZsJUK1qua^%iL(G8}tU18pZ{xQ|&f+_~U(8@Lke-fzwXSI!4l zE=b{@4xY>^?l&(A;>%}b%{kDUOTx%-?C(vXyaM!NUu-RV#GKU;!+tn}UO>yfD|?-y zGhEI7o(KDE8BaOmO>ENlaYkeen<4QZv&M>i^~iZb>mNea8+lhhHt>f(4!in^J6;g~ zCt~$>ziD=b&sRG87#_w?;=nW+*i17X5}RQSI{PMr7%z-#J-=Ptd-Hu}V{aep8hZT9 zVY9J_?jy4eJu_p%_y|52jBDM_Ky_;JTgbCawh6bzGb2-xfdfHb~v4%v+hS%s)$STbr*E zZ~nWlX~+858RI}!;*F}!zeELq zQ-J-TKu};tImrvv)p33U+W@gB+LB}8>E@^<#2gMJW&h}I^{Hr^x+B$K`F8F#-cu?% z*5dK5P8s+#vbPbuR5cTCG2nlj^_jiyBylEz6+WNp#rQ7hWft7Ynu&1Fl6eKz))cY8 zjr~{4`dmuxLLXVxZ;?lIV~z3b)r+FGEoa$}Jeka1O{|h7lK&Otu7tm5iKqJgkKjwk z(~mCf%NGTEmNf9KTyZ-@2S%jW#5dprP*h1 zjMBz9bBQ*{7>iseG_ocae&TPmW0RR9FKbINQCh0?{M$8JVB{L@iksP|zRI@m7kk&* zIR+Z^FC=!aIrbYPvZwlB8G8rxn(#{WQSAObfrmLq@8QZiY#;tWJZk8~(B=3lqpQO{ z99xzynP8DO*)qLjOAOMvsZNX0yOr+BHb6m z`#)?tIG-hwxky=lj``W}4ETQ{$B8`mVY1vcb58PGXGC|HXQga@YchP7=y4===M=`q z&)9|Nv+Qf0&2Nb#rsF%R;|rt{_hM1}5)}#BdqA>};Yg*`s;H(e#1}qd{0=-UsfDSY zCc%SdNy@zFbO{dPm+C05DljQ6+{amHDT7aDfnQffE2B))o@oQ{ZYNc(J)4wkE zIosZy7{f*eJDDkwZI#Zw;0=7iU*Utc`Wo8HKG25wS<5~rz&EXB{5;rSnN8lg+BWRp zwpDU`a|`~#n+LMI+i>(r@;|GCQ_wKcF*il3I%f36Q_wYq$iJBPS5rp^b+nUT?0;Iz zwvJhBhUTJ|noa(BgXLbC_?* zAX=I8KJp$Q?|$-tuO=QL--Fbpa}n{ZCvK4pg1k!wAK5#=J-eq4Wwl@4Q<{Ul;dA6q zq;8s!>|%(z#(4L#)mxIyVv=!4bQLCkR_HCYF_-72!70q;^1&r0!5p?Tm#O}DoAY?r zIdHC-f$uHhsZa>n-%0pRXD+Goopw3*>ybmFKlHVlw51ijx!}+}r6ohmO~Uz2%!c15 zKbWWG`|Q(^wFtiD=dA_#NgHx6*>|?W8=WJWPVQFZ$Cl$i+n4v7D0$>#;*9uVdl~(L zww)4fUKjNmD_>_s1Gi`Jc@bj_V(5bd`++<s>Z&evwI3H(`ce45 zydS4k`mwI2AFHc+j6>2ty{8l$yQdUMT1N1a8e?C#?j;uA@%VhFagO`((7mM;uC@ApUd$-A!~$U*^nS7X!yImVLy`(%AwX?1_v1pEr&K7(eMu z%71-Tw=e`vP@VH2b!y+L%koS;n>XJbm=`3{pM%M0?rj7VW^#dKw+T97?<3ji+SLBgT!ner| z_|OB9Zn)$;q>N(T2_qUt*?49lGk@v^1Fb~7W3iADfNn%uiKje?nho2o!&Tr-o`pv`m z){G7N%>0m#v)!$BG0t;zIb{$-g>%33u|zWka`leveKUPq#&ZX;t0L?}TlrS7>O=m& z6`sLn%JDD`0r0RthfmHy_Sa$gBOGyL@UG1$`)_}*eKEeeJ?t|U`-*szUiKLu`;GXM z;!R5b?qvJR&F3B8Up#!{BN(A^aAB-#l@}8+zP$lhCcuw!Ubu z?X#@(bEN5cIs9>aF+DH6!YxkumT}G%;7`G~>|U+Vc3Uv&qs^%v3w$d-U+(wl;HRHE zfoC5HwVI8UvSj~%tgYzlsJ&{Z+H9eR7>S-@BJo++`9@5@+BOx$jv(B%tt9$Z_Oh}S z0LIR*(zPvGH^8mVNC99|dhdc;PZIlF{7ww9N2*^j_`2fJTIf>O%2m7-xyt*GwGSV> z_)zvR56A>4HH18a%Yu+^`d-(@|yUp;(JgL-}|9<=^czVX9Z}2ed-O&})M3l-aps5l!betpv&v`B#TLzq z>$+=9x|Pzo(q5`}b;{$sD^MrjSKiCdR=wKo-F>zjKuYCx7c`$}fFmo+BApy=54@|aJ z-RM6*i4TNYyjj&J7k>0+IX88KA8E@UOuF$MJggD%&LRon=3B--9y^FGHffyM6)RhI z5)t%_Te!ardlBh6E5@TA`gs$1MIUB)c69BnV)G&TxRT%1P9Ew6SBS48ef+Vh^~YjQ zhczaB#qrCm!=-TcZt6k5n0#K!piRw(QrI7WujB(gQrrto^s(`GBPSC-HiZ9O9H*xO0sZ{5=$%$9**lsc| z5p>Ea{~`IZsB7C&l>0NM)uQMBZ>{*$-HRHt8|NV&lp$ZwkvjO zYsG$H3ABzw=kOgeSU09I<1Bio8q2x%yE!L(hYiQ%nKfglzOsH8t8LC$fnVt>v7a5? zW!ga5r;`6S<~yOi$MQE*E@SAFOIw`rV!YMHV|`(~+_C!T_$XtgbzHS=)EHe>vE>lH zaPdNMd_Q&~ReNaWg7xzvZN+w!`=-kJk-ff0>rZP4ydqmp$DWV5p*RKEkAH7~)LcP^}yJ}nUL-5wS4nO^h@aTefASYrB zI_h29BFQG|S@*s^;Yj4aS?mIwaoG&+bjJXE3CORXJXF|I3PfZ_jenC!vH9v4eo)YJ zY=sWSPFMIXB)s`?`lTy*9GTNskac_$T_}~GLdR`LyoFQowZZqYS8752As-6zgYvCz z{G?D`D{HIHyL$>d$qDfm4wLp`0)4nX;>>_=OL zrTvhyBVF7Vm@^OYKP|pb6@ZPx#7ul92~LBaEe@P=51evl;=2@O$!1otD!lNv@&d1s zn9gJSob_bEmy<0Zus+D10nF?zHQ-a~QeyAQUZ#<9`#59ZkLgYEcqJcVyjjOqSz|3d z^jY8G`~}P@uTw6vBKZ`06`9Z+aE#tr*!+e2u>Zn8PXqpWp5052- zLIwx9_6JRK`mnuv82`|jK6}j=J6ru_G`JW;|y^l*WLUc8J%Hv4InoO1M#?E{=R~UYZ!4gR9Jfe84;szsMBR4Q4U^t{d<%*9s4BF0$wq z$urHa=tX8za;7UU$0T+>O?Ta6ugw7iLX0{if3+z`Z?Ynn6v<<#pUJ>o^1D$!;HzZRGRD4j)VgAFk z2fN$JZ#(_{A#ivlYl;+SQCkKAGSX1uo^dnJUt+1KA}hliW( zhkG`f8H31$`!|~10~>+KX5?raP19hr9VzpkxtKZ3d(NO==uupo_2~I_8t*_eGUQGZ zoNl)FCp%4je7*ez{EjN#?5PSXtdrujK0L9`K-AKx%kXcznMvTJMU*; zTeKJ*^dR!>)=_kQGw4v{@z)w!X->N4nvqWMh^rF}yu{+<17;kbSAv-?7iQ$g zs+BSAV~oYy6s_vO6z`>jqxa&u3kS#-bJg}IfF4jsC4E6nI`rR1LZr*5do?ffJ1V%~ zoAQ~wi}Oy;)%VQt`UcV)YrcVo8J$N}FU`0N*!SeGvai8t1$bA-D@V!&;>X<9> zs=C;3I%4pE=`Vc#l7A3B&oH=k6x`b*eA{P-2Eei4gk@Q5O0&puxVCbg!}YSRzEXA! z8{Z;l6v~K{Sx3{Xqn^XyVb;+A>j->%Xo&U4H;2F*yE)fiOT8-d2EM;$ zOON~`G2THB=S=VJu{q!g$9HcxdI{-1yAa__nGcbBBy82wP@d^ze#y%-$7Ic9}kRf&h_uJBOlLhwAM9w`gGXtJg(9Dls z3?FH=c^G`%z_%UAi_N@f5W5a^R8=;7|DE}`c@X^EM4j`It4r>&IM--oe=#o?yCP?|j<2tTdY{t~kE`N-!VO0uVb4<1H_-k#HX{vi3_sm3WIPn%e` zG3@N_&n@L!{L!(V7pCz^mnRS9oJHQVbCOr%+lYAxfSaY`vpB_hh5uaf9}}#U zEg>z|tr)AfO%*HY37!v7P6}928ImVe%hhvNu`rS9{EMl3hxQ?B>Y2($(3w*H&dpN? zsJEN<*A5kUcjuJyeXEkMKtAQ!%{#?fJp>(gsB1Ga)x9Orw?XKx%2_BHCQY`^bD%Zl zk3fD1v@h#C6!dI9J#3Si^fP*@}DeUjC|sOsBbM1 z&X!$_*C4*$hYR4M0ytkjSLjm@KHmEa;G}}Rm^9(kaQ_f^W(YhpguJH!9@_^VDu9Oy z;GrQ~epghsbQrqEI9GM`!yE5^bsc_SHZeclq-DDbq-|#2@0zl*cbEKKcXLigw_@mS z=Je*NLbg!aMxI@%LP>LZA}&4=-!9-><6(X;!*`41q+w@F@sYutNX7yE+|2yrcL#q7 z5pXGa_KF_w{{?!Iw=)OewqkK|8TTLR8^e|!`AY%$G0&_K&UX6d_L9E`Tj>7V?YaT@ zlY{UnhtYu=y&YQQcKUxi{YQUlz}2H_8h!~qTlvD^JFbeyJQG?=v{4W`X9hZTzD%<{ zFZU@k6Z+(#QR3L=dCpu5eXt&X=Zla@H$x9BMAvgY{Ll5+YAy!vtTy%e_4fUvX>ew< z-JZD^9(uDKh+k`h>GgIXvk)K4_(21&E#^8G9JY+>{9M|s;o26R0iX0@aBvWR>S1`L zAu~TCoTnIIYoX0U=HbybralecEMH?{)7P3}ei8axOHErkXznYg&D`mW%>(EXb)-Y) z!SWj8n_f$d!7%OJZnqN?Es%Q#U9s)7>4WI&Y_}US&)A{qXY6qK8M|@x8M`UJ9U5@E z-JIMG4Y=Jtl)9a9+OB=2C&oC5hbekf`-+|g!wnUhvo*F4xfS##;~370_K`iQGsg}t z6)!aiOdd*YFLiMSdKKQTzlZwZ0gEOL;AhPb4Ny0*-Im{(Ir!4jSuHq7JBPP3pWA_T z`PTy02Wamg?HzswSSPJao2O}W&olNK+B=8xQvFBQ)x&q&0WATKpe&f`!=~yjFpFQH z$N`5&9~XRz?h!n$)?O-~W1JDe=b=`?9DUOnQhYG+WWuC*$@>BF&Z)^Om^@itA9>Fs zZ>%P7>{sOVlXpIOJ8JTF{EEB*^3EZzAN+F;{ITP_7<`l+Jz>pYIr>4 zV_w~J1o^7xh?DeJye{!>s(LPz7@33;ju9m z?7_@0_@DAyE9Gk+(%fPT!QAq$lCR2htIel*J%@a;ntZX7l&3kJN4}1ld>tprr}@N} z%pm?NCeL}BDcXE!cN6#V*ZM+LT zY55O&8hxf6#M#(|p0q!-0-f4UbcYVxer)u=lO%3q&q5PIhT9aP9^|;Qa((thn%ErZ zV}y|Jj>iuWx8wlwJbde;6aApR?;%zJ?K+cl=VI`rC;A>oC*#aar#Z8SI2`eJ!zUs3 zD7s7@>{UORJkMN}mQDQm=sLaEG(f`!pwLxEU46)?Ao)u9TB(1U~Q)K8;V8a-#|KT#T%5hUr9Z>-dw>d7zA} zcp80Y@fH|c`JB=jp{3hBBZw~blPBGO)LcY8(xqEHa1_1*@$o2odGax*Evi32IckH| zzt(Bj@^aYJQLYz$ncAiKwEE$FQJ!~TI(3^m2PzE zxF{sp9%Sl_rKtzAxiqr`N_Y3yoE?3;Sc=yjU&q_Hw?`Y$iHZJz z9#7qa?#(^;jKuFCeh^!rUt77Vo;lF5u>^JTjb!R$hu$m`SPBm!;_%pAT|dbpv=6jI z_HqPRe+sxSq%)V!Ad!lk#%~oJf5B}(exuxXLV1c6|6eJuiT=q4@jS*MMVV^9bjxb# zZ7=K8^J77@?wN@bfP zzr*setu*mJ-82jOkMDbyns+|QISD#ZzVZSE+6QebU65tK>H=)M)CT#@JJDxe_Ygc0 z>RgiDCZBDk>uJZfE?3u5KJ#?uIp!}f#Tl9Wdxv@_q|4os-8r#8Kr_T!W-{YmLguH$^1;QJ3d<=-O3De~$( z`m=7XDRi6oPWqNDiT-0__A$mRVo4q>8SUQLm!8t+z*htC^>$*=|J#t|;Baq^UgC+c zG2$1Reb)7nW=2>!pYQIm`=ObS}-e-ruKsj>~oaN}J%{%o`^riZ!{#E;N zV!x#SRMW5L)sOGQ9`dvpu+~;y<#_#Zw8+ zT^-E7&RxMGa(4Qxxk>o@r!3mq!n*Sp?kEk8zH!9i86#VC{k{vov(JF{kuAD=K*8Mu z<`lvI-SAIn)6rYLJ@w;fkBU3rtAf?cv&t zAKG9ydSh94&jQ8<^}R=XH}K}+j1{45$ES77^-JpKTlGzTxEV9%09p-MXe9E2gO8vM zqS|*ZJ;n9?ti6!3o>p4*jMb8I&jk_d@UijIx#Civ>uVC6HW=yJHo+Kx>!6FM=h?sg z&A!B|^Wy7bKhyYi)4mjbo|*3(*jGhUI6MdIma%JN_=$G>&}!`5{#WB3$d4{{HrK&- zlK)-#(_M`&5^+Jm7u!m$UF4_#@DfXbn7c1(ELJjh8+fmGEj4?+#%sYd>#fE7sx-=F z)UUQ(nozt7+Do0%U-Bh@N$T4m7@$64Ku$zr551{Ow;sJePE!P|;`qN@?dm+q_he}F zjq=`u>#YO)s&!^7bzb&6tn>SoI?az*Q`8%H;q`KiI+yXQ&WA<+HqbW@{S|DU4{ZKd z*2bSd^ZQvFJFDgX7uLpx80X9r)<&e_gL~5$a;YKq253&rb<@}_WA1u!`I}3Iwv~M1 zZzhV(O9f}v%@e*Dy4%QoEMzp{F<{Jc{gey7mH=NXPXb>N*3OGht+$o{4=bUYEOa1R z68MAW+fzhSRoauP%>NSR!htv8C;6`j&T3)St>?|~Ri#-!cC}SrO;!&9 zxBltj*UPUxd0g*hfAu^G>;(JZmls$YjG^ofyxpwrtP4xvUk8V*1n=m~FP?*V5b~n{ z&uv)rW;oSb`pD(hkujh2WuRZ#x9f}g-lf?^54@}Ej;T4_cgRm*>9RyGH2;o?OJmsN zkQbjk&}+9%Z5o0;80ww4wi{cjF{SOE65lyxxpeKJ)ZNs76XSmuwCnA!2D@Flc4gvr zM?PWE<^=h}u?i0qx?1#u=xQgf4EgolQt~UGMY*DZb%xY?(c)E_*r`J>5p(O%o~OPZ zO5Iet{sMfKRrV`=Q{|(0kV|}BF;h6d=}i6SzLk?<`qDx@g&4N8>Id|KL%S5kZy?Sr zaq9w^yY0s4kI+B9!gz>jD&J6T(0%^&-F7g4H}+9KvgH@5KAAFgxw|=AuEdw;kC2he zx7*!zbLL0(tlW>V8KF<`HN5EyOgl7QBz`xsX7Q6xT@NJx1fKL~u_u0ynTMRNBRyiD z$=Nf2uQ)&L*oqxjU7A?1=%nu^|9w$-FiHIHW&B3^=Y^ynef2tXe{`kU3jZU3e#m|C z_n0=$1u@ELk8_S?ELys6MSkJxaRew={Z=25qg^txR-74-K-74h&oQLEaA(FebqFaSd zjH6q{)zPhbp`u&GxoMQxa*l4*3%09U^#W^3x>bj3bgK^Au5Q&~+tsZ)T+yw%wW3>v zu0Rhw#j0)cS5SGURQ)7!@WRsY!t%Y2ZdJn|{3X_5IOFP8H70w}U6F2;Xh`uOT>B;I!9?z`4HdCbxE!n_=GuZlQ~BQ)7$KZ%r-le+Xk-K#<$zh^Vw#1fdeC) zcMq^Xt^`kRpso}5#$#s+U_*3D5WR4neI447J;Yb!KE)p0jc#~$FMG=!rP=73$S?Ig zcwL9!0aW*!Huf6_j~DKFGyj6~srK&;;6LdC`qAOm8BJ%#kD+I&^jK^=GUDwMI;VAg zu29;rf-?zq$u_>a2gna3=YGA{NyqEMugF|!LZf@^E3r#zX5KeqL(;~4H-yNOKMNhdJ+?1> zooVJ9UoML+$s!XOfRBI-G?stS?(DZr7+!NHvem}i9(+mSZ#49M^gdRY_MW}=!|>ii zqc5U=<}tJK-?vXI@3qewyw1GBUez%CqW#JKI@8+26@9N+lo!lhV1fhW2QGu`F}v_F z5~ZA`=|v{kf1O!8eVsWo_diWNKFI>eTDK0LZ%(DX9l)&*I6teLHD~ZVGdDt8@LfY% z06U(hVeC#>1M~BK)06b#>m-K%g!9em_*0#q#P*W9XXoV)7~U=SJEw`mn}HY1^E1Pb zQ`d{GT~dkCJNv!p+wcv~ zYiUoA`&Gz5)?|8}c-hNja}I8~hq|oRIWzb!i0<53J&Vk$ z(WB-Q>7(n`=G^xSa@Uy!J=Y+s8L<_Y{h{0nd?GDpzy68+(DVvJZ1HvL@Ef=|y2!)_ zB`>Ev%5$BR|8X$kvW6BxVZfYm<=*{o5A1ZrIBW3OHUtxBR`jE?b z&CWsme)4XAz7v_t;|9M3X8*9qSd_OP*-jXr8T$uUfIqmFrCazD`@a5^xt}?GAeS<2 z`3p?ju-}Bp*A5)49vE4h8$G&CJeX4aannBSHw}C<7hkk<(LoGSPJ7hPJwC|?{iYNC z`vZfNH=Q!~jatZ=cweqFe!gi7)tMQTJGXp++PLCDL559PpVthWX5 ztDYt9amygEll;7qPTRBCrQ^fVem4GDbQtmboPUpL1)n-THQ-~-gy)h1ziZCchDPi) z(Gh!fa>S+%`!do`EBD&b@`!yc_j5+^VLFYj>mYt}d5&e!g-W{g(QckQdPeMd)4le+ z+@CoNPjvu2sD9}|joAB1Tbvtl{pa+L*x%wgF)(7EOIyy%jNms%`^|`*PWRd?bG`QK zoG)5{8T4Hpd7fgl%g;b!$c-(cSP35t?X_3+pw|RnNaGCd%0N#~e6VMm{r;=0BjS7M zc`5h8P2vx&uHbc@dsaWO-qP7pW5?Ob$DZ$TaisVXZ{s~U z86QS=ELrw1DstmXeQx}Ns=VT^6|{}B@6Vs~lok7F8Fs#N9D2MkAsU2s(UvXj6U0v7 z7v`sQzXcC~Gl=g0*E?5P3HqUXPZU{Mf_QDv7qiof)!t^Bp)vevc&*^U7IduZpuby5 zi)0i77Fk*h8ClW-XWeSY(!d`0EE>AiK9%<=>7;>U0%?`1_k`PSY|)RkyN`BL)~{-Fs;13j?)}Z^ zw|WvEnecZ$_KJTD-4bXDwLKzv5iu)>-vzC=W#aGQkx7o@Wll8K)&5BC>Sh0H&CxFC zfLU?34Jl}h7W&l*ZjRD^={}3*P#>R)C(s3^os_j4xiFE_{#!ipz1XY@KYWxps|8?y=eS^@ z&G;Bk3t9&m+Zi6{9^(I=;e`ewj`$g*pHAB8JfE&U`zn2|Ub`!_v6a> z&7pJY$7ToM-)*1x=iZ0BH@2GLFt{v|f^c7`^4%`G@fFCm6l;D~5q%~Ca_aj;*R-xZD zSCM!l@XuVO+_@6%CYX6U^QF0R<_TMDFLu_R!I%-=LXmubyWadK8tezu^SLc2@@`*H++c!>Rd2K9K+32WdC>xqYu zMf;5}E}II;l+QorZ!7aGs#B9oe)VV0LergOBx%*6LqW2g~Y zsp+JB{y?SA>eI|<%mgUgLmwN_hwxLcg+E=3aj2s%FLaC6z6YE0Ev$hU=Nv!R`lw}A z;D@y8R}`8xEnOim_GZt$@kYO31KvbgV|Zx=#~;N{PZdrz@8SVz-o4r1e%^l{>+~1x zwd?c_)+zC0pyNIGLDD%__S)4L3s!UoIB$pT4ehYSPnrpzPkis{TKMyg?mqJP_m0Or z`^Rcbonmo3i(E@^pf##}L$Ooa@!y%)$iB=^GOiY`jxR-EVgdIZ{9>md_vE*d`xL)r z{Fd@tP1~LxjxLbdS-fj|9b1iFI-}Uzq0;V zJi6aTC*irjbafIsHIEfpQLy{CK7ucctsecbQpf;V!>7LJ+C*2!O7e(96@FiYJ;9bd{zMi%=f6Xm- zKWpNVJ**STf4oa;Nw(@%=sEmIAWsHQp5WIsqImH^Ctm#VSn(FNb?{x$oj8QQTgP8P zMQ7rhUHeLBv(A19{k{_U=mPR>qKz(Y+CBAc{E?+-S4V8;L_OnLZ|#|iCBEU%51u;j6TDB*zj}D%=Tf%yZg7tE1U!s8UkxYlbw*#sH$RVetEsbER|jM3 zSN|#FeBLdaOTS}(RZ4JO!n?%@^ssrq6nwOVHY%U+*BahyeiM{9Dy28MF3H#Q>Jv`s}ZurxYoUzwwxLBxb$jj4!&kp~w37*U%zk4j|`Nor8YpwMLuRQ?)0bj0X95rEHaD;jc19-i1-lY0Tv=%38!# zd+GN6FWTZ8Jceg*qWJ7x<6FJfK)2O1alqmX$5pnMf~RbuXQCq|d#9d>RH|np zmhA!dUH^=cV$Xzd(YKIaMDTrS;hV^7p&wGgQGLMPfe7_9ez7z)?e^np^vh&3T+C8F zv~wT0w=Ynb3UH?UaERF9_%``Nd`nmTO6xm(t30nUxRkTt+2Hqv5#n+<`{nMbdBDa@ ztKadHc&2lIhjTxl``vwlr@Ni!PtbSy_fwzdRNC+0QE;f9>uI;1wKnQl7sA6!(GOUP zJ%eI-dC?#EC~>^Jk?j-B?CH^eyX=)_(RTyTeE)X&D>3A<_2+IGtN+Zlu@%shkqj{a z&`*_*=POqnkQ-r@aclo!c>nt?k;XCd9pWZ!Y zMgQJ@7GEs>T)X+ohi)F*k=-#C>&8YHegCbAtz&^a{y`JV$Lb>KvB3JBV}Ts9kLE37 zR_G<$imx$N59dVm_v(lLIPOZ;k(XF-*y#jgck=Ge(q+86ly@6=*TuWd*nk9M zck%A7(zU$1ns=K%>(U>a@wut_2%?iAyxUFw>v?wrd2S@{HpU$|ocyWB8kDVKV;rBW z>2H_@)~E;CaS>^P1^DrrAvZ{j+}HOuud*QcoW zGVX`Cm;cEFTsLqP9f{ni6gX@1#Eo3R$t$cvak5MAx{H%fk2*0gfQ4SWi`YT;7LoT= z=%6*^xvmF2&}?zs9(}FK^T;b+hJ5I3j0tB1O<#HrI?ToKt9Z8h#52YwpZm5DHY@!e z^Xb8(M*H><@d1K8o6WaaL;o`EmZvop$$QL`(Qld}>)z83pA`Q+(hXG|Y0By2Y@@M? zq-Ox1F?en0jB-X<}3w-8qCwIp{GJKj1@-*JUY)j9ipsgomt6v2f*curzTxCPjm}s z^!c386yI^4@rAB3-ZXWfFYe*&=5^8;Q~Xu?C|~ECZLHn;9CF9ZdGHm_GvmlI52A~m z%6x{gJQto~pZ#p^gJv#q5ud`gCNwBMz+AI=;40J8f0cOvz47~^p9QwDtqfgh8X22V zUjCEX%`@04?#it+4|6sRW-c)E`}yVJM~718rX+sj(}(SbfeXyfwm?_V{$Fx!9}JlA zR{WP^&m1Te#~;9Fc1JQ`?(avpd|=__N3JgpsK& z;JrUvDBYE1&btfbL$0BGUA6gkl$HuM@ST02oBa6P4#swrEb{nM$MadlPxhyF@(w=< ziJi2;DucgLj{;kwUkbpM=ot%JQw!M8o?!u3*8o?a0Q^eJHJIp9e7 zuEBOH2+Re6xkYKt!`LoD87M(F+&(}H-Y-=sl0b7FaRTY@jTJgl; z{mYj^+yeHt8ZWTvg{LMs^kwF|@E^jjTkcFFUYjopY=T3*@P^d3o$#pw@y{FiiVm<> zT>(tCA)g3E58J8q=gdU>e*>3S00bMr%!729 zU!FkEFL7Jx>h;iuUFbA+v0rf=dum^4s(oMSXPv-V*LL3Ox zhfkH-!u77H%bc{kYSQkW$~tLxA5V+OuQdBx>Q-Vma}K~RQtKd`Vl8y_l}@$#UcH)r zTU`b23$MNd9pG!T`%3Syc1*p4eYLw=_dBN=*7i=kgFX2A%JU7*_0FjqE6;_>^R~+K z?#lD7%JbQrgNI`1!&280_SS@V#Mz^yKO&m@dxYv5G(sT!DdyF*E^sTgSh<6t2yWs<}McMgkHQx;t8oiOW)XG9# z9q8k-P-F(jWTEWM#GQ6!ppOv)#$85iOTg|I#9?=~a-ZhtRA{{1n*P=&5(BIwG=zK>VFx1#u3jBdsUWZZ0y zFGBZcv5_n(5hwN{eK{050MGLH*#Lp`sABUrfJ0AqCTgk9SG0#d7bk~+|K;RAJ5KD@ z=t8IL^O!&4ZI{L4{Z;&3?+N8RM>!sBdY8u+ns?HkY8zFD^!+2ry|&HSn%L>bfF(YS8lEA3t#+@t_p8l{EwLEWN1V2CeMc%#zOaAB9V7;PZUQKP)HcPW ztE;I~ZByL3Kuwz3CVsgEkG|T6kJ2`cSG8>#x38S6ZPT=^f3ETN%yr_)DVE%RY^Y8K zo7bK0;*zh%&tXp{eqVC0eevK2OltT>Xvlr`-%TgEPnuT;-j9sA!8|{@6nZ3Rd_8T@ ztZ$C(6$#BUA9u>L%(c-EVI#QLUX%L(`gFixdape@gZ@m91s%|4E>0$)1L{l%Yrr4% z(KdI!JEI5IdEf(`sTf$TY>Fb9UR#x z{jTj$-T|JJ9*g)d{~bM+?Z_)S@a?X%oK@lZ)dMSk&bYOnkPhw*sXpNRH`=Y7^*+~b z8SMMF8XmYyOrY14c6hk>#a@K6B~~EDx5n$NWsgF{YtlMtKciRJZjmn z^ue2!KCf_iP`q3A82RCo-ELh>Y4ElavgfJ#r@*GZ$bH|PCExRJ9O-uCGso=_-y%z( z?nCT1wX%dPG6KmFBtNjA-6TKgE^fn4PI~G4;FBXq=&Q&PNRv;DUCtFdpo*^X%G=+p z^Dn-PWG3Mt4{r?+d=$J5Hq7P&n zbHi_88*^jI)la$Mx3G;7|N1xSs#NtH!r)igWcz>tPukUau+R~aEw+{HLvP@E_9y%X z#$~I`IW+k><3rEHf}i2bBVW&a))bNX-iM#?`$N#YQS_;ZBX>daPtAky6CT2^cQt)1 z>e7YiB3!;I^VsDV(xgZ#Lkv+po_+5l%u;xIL28aR`NOgIxZ&%9-SoNaD>r}kS5{uKI*qhH_* z`+wlIo@IuHT{;EYIsLuL{Tk@Zi^X$>H+DepLz z1~h5)WN9_0Ss%6(OKEE=%2s^5%leP0s(aDET+=sor- z&IA{RI0rEAE7AvyCyve#bKKn~xz#0;Z8?u=V=mj$mbnsKcvc3U9DQ9n+-EQ5{C?Fm zbUD0<_l@@1o08X>_3$bZJ;dk6*L9{5wy)#j2xVu!=WT03~yetx>atQqE-Oq-G6p!ovtzmSt|=BG{1z(U{)zkKCS znwv&fn41Pd<~@{qX7mEHZWzCg<<(}!K!cgV`Q)RN`Dl5bxg~dvd35koMzP0djGklG zP50SffPb;S>_@k6joCk#HXEq#7QS7aUu`}{`}d>cc}v;LImc%{o;*w(@lTnVgBO`y zycaLy()eNfD`orw>icvWehE5%qhZs84qq^Rk$ISPkYQXNNdB1#$9hYP$}7#h&;{mx zbcPgDv4iz6Km7r-10KnD^5>cuyq8s>&zt&8yIGN30*}K3|Hd+bXr~cBKfw5Vq9eAI z!|tB5!sXBoAIP|Kv3j`AUY2&}VmWnQG+_~uN`R(VT zjd`w}iwm5&SoQz;T$~L&9G?q(m^yQ@%9)G#@MhmU7x)B4@9KWyS2=S5FKK@A17qW+zZ}!_Hy>UPu}y!k#GX}d{(xl_po1zcKpa>FnbXHaM~ZRGt3s7gV-5b z_?K#l;F|!sh5QnPyRl739K?%|Y#l~rGDL^~4cef%}siQvEe#rIrT>HLO z-d)|-g4lfOtaTLH+<)_%bpRx@51vE^AY9P_@Hq8DhoG~fdTQ+tRi@If?R|5Z(ku9N zWrBy{<(#CfHQ%24x2Ik&w^CkJhe9~+hUz&N{3SlV;@e2~%Yrwn_%=TFGRf#7_!INe zCSQto$Yi7o>a#S?`0|0@Eq;Fx+~GyfJp??%s%*z~%9|3xB&Y-)qmyuQSbhj%rW*0lMGBr{cMTvt(00*Zd08M4Duh z9q^(XvAt>FxtZrJ@JK@3Z%Hmde^k1Ki_Hw4oAP(q4~Oudh`-#2=tpiw zzTsgH-;CVEACf;aVoTEQ9ig>m2mGlz+V=_0h{g0`Q;c41V!6d;d%6KU`C+p?N6f@D zZ6JQ)=3EnJ+jm2M5XU|}58l1x^XHkD(;jnSx{mg}7d=hJE4|NN$y&G4i&*Q(t;BCa z7uLi1dUL4GY^A)djN?}NawYSzk@?@o9=(k=`jd;z7TV*@%tV)sF~H8C0Nqg_uH}=+ zhBg5Q7jmv{iK1(b%u6(VB7v_@t9L@{@)7u2r{(tHPm;O^dhK)+*%RY(5&N-cu-9J4 zejLvK#J(nU0G|3!?3uL5+tUjVq{+0F;dNvdndsn8?CUc4s)63$IC#LU%pEmx<~7bd zoRjgJa5`qhhp8KAH;Q+DHuy_EV5E1yxWCyz` z-0wACW&imKd(TilY-Ym8yo$WLxbw@_Wsfa(`-irr%>42KL&w zpfhnZ{F)#z-Z_|n7Q;>h*lp(8$aNOiCa(Vp|6KIE;ygu=uZ7W}7=jM;LxYLVTLORK zd(%y<(>v_%mBY}c@LyO*7x%EvlHiIAx{&No;m{rST-I(ditIm!PmJU{O(=Pe36m#` zU+X5u@0R#=rY`iN-NybS{*&TxHIa8N^@eEABH%)Bc22s?3qx7>Tn(1F8PG6I*eWc>n$_J%*k5&6A z*{@g6u2p~Z3#zmx_%+NP=`9}Dz4{I~Jz~9xo*Mc#efKzLR-FMu;A41_&5C7wsLRzc zCaw8Ux6VA+<%*ZePdZle2_-)t+E@I2y`?|H|GadwYCUk(yy4%%GbrC3Lv{+MX{vYx}#@$1U^ zd`(%6l-1wwmK9c6$kRNWapYS-dNlR)M|vk+v+(m1!XG=hNIppv14jI4&*&Ct;V;5} zZ7@%cy8Rg%e#|T%J@EXY%6Y{-S47OEPQCbS>iGsRd=@hQh@<?(s#$ zc&(rOAM&fvW0~tmX_o;2T^M3dhCZ){UKC9J@IQz*p|QnRr3ZigU&THo2;2+S<$puI zGz6=926m76?1AQai|?yG;)Zn16bL6x$ zNY56>p4Ah+2OQ&b1@B_D-^-qgy~y7$ug&XoCW*3i+`_q6)tdjLI;tTE53<4Het??@28yBKE44yBFvfU z(VYAFIlhdzN;m&p@_D>Frh-}VZB++$&CVXJbEWp(gQYVl+fyl9&#GrG--WR;e(%{X z3|i>q-0HQ){E;0_UGL<*pLmMF#Ez0@=pz$hVw*(xA&(BpR>+gs=-5=FLpkP2+{Tz~ zFUfXc8XK%V;n=abNfFu=th5Vx9DY{acFn1tRj~o7woPej+b{phgG|%yyYzy6r-*D8RGRF3<6HX%A|pZL&e>*s|Wb?D9*j)%*@^UT;0e z?;yV+e&6EvO@5E_+sm(yU-itYHNF(tP`Glg*7;Lse68^_HMcrXGA2Rm>(0D@??aN? zYCa;?51cf?fYRz{Bl`;SV0?ivhxmI6{gA%O#}xAoys=l({~%*w@e4+<7oa}m8_`JQ zADsID_liHGbd}4vj(?|8hQ75TJNb5d=_%6YRQ57=PKc2Xo%b!$bJC*;@j7Sh+8kgn$&Nnd$Fx}HBz`i2wI_1sN**9qx*&XF$vzgKhZ zIN`mXuOwaYC)#`E|6YI04&`e61;{q;(Z7AYEIaz3b%_sO{7hwEfIZ)%G-wFl>Y6ms ze#*C|HZ8Gdd}Yn^DdYhs49|fdyrCw2j+-7mh4e0~@O|oeiF#g8e&p%HN?%ZuK0DIs z*!M5C3VXu7Q}+u^EVP z-bfV3kD#|yjRD*BTb3u=k`v4Ohnn)1z0LBj{Wb0T5^)r(?OX6$mUpuD?WrlRh4PNs z2Eotp)Qp+@D{9RAjFbE}p`%|8zRmiDo2%n3x<0@-EAC)JEAmr#s-mra{_Pr@Da~Cs zdDMoitIJY5e=Wz_az{yJ`D6c3^2eA%%_Zf|In6CsYv`wx`*vXBSGDo)hL4Z;p_(>2 zF*d7h?4pf~m5;VoVQfydjfsCiZ&i5rBiL#YS0Yh7B}iMXM9~)p?wpv=S?!5wZAIo`Tp(jloju$hCUM?dd>fIZO*E+{{ys9YeD!^;!)KP_t4ScV?t<}Ssg>SVVxxN&) zmDpoKr#I^yE?Joet{%?C>no?G}SUARv0a6bJ}G`QI23*be#@KLduY3L?ybb*`pCHGCJ*~Je&6M9 zk(hPbk1tV-&}fTCc`tE%J#KMe;*v>Ex8K~AsjtKh{oZ5jm2G?j+^9av z9ssA7MT6^^z25Ot@3f)$)>o|N?XReA)gfPxtxkRJS+hFcv?uiU)pDz2&h>N;bkk=T z>-D0oF45jUsPDZV*Vm)hvu*6cnUoDZ>an&=Xl`oZE;6pO>E-Mrv{DMI4$JT51h_{8Re9^U*hs#H#QFJ~{CD zzYgyOM+GrCU zs==xj<1dNqo-z6xxwYgSDvm#w=nF)aYb|YX;y1LmfpfaR`&aCt?H_a35&lN}#Hr92 zN(Wf?$o>XAsSOi;Y`*+gu#Vof<7+B2(7ff9CfX5ehCW)(dSb5>--14kvqr|l3HB4} z?FQe;pMv(-T3)X7?N0fpN^H?S+KHUA-P-diV>}*C?IC{Io>F8Cf0Bhg#7x;!Iy%%_ zYR1Omm+Y^vcVWBD-W9x}w-n26nFwRo?cdCvHr`v>h_3ra=?_|8bIJ=-4*G+oS?ITJ zw6;uHL${SqP2KitEA}FDtlKF6wzvAwW)F;Iw@w@^^pdwQ1%8;kka91i+_52SPP5p) zW9un9&jpF&cAf{|AtvCRuZAaHOyD~Pez(p~7a_?k#i{PbolLO zP}V-mTFAFn=73p1nbIloV5bqMoJEw~XSwkr3$%F+-*(ex#XGc+$#{`d`LKT=J`ZxT zc4TPsyNDeMb{Tbf?%`$DAzKWDHk!KJT;s>4C;;C!0Pow2y`hzUf>;penVtFb%vka> z$jZ9W-}#JLfqsGy8;}c-2dqLDp%dA6V{*j45FLdk_?r=UowML|w$Kmx9+KaxX8Lk! z8r=ks;(x>2w_Mx*IeopQ&&-3?@+e+v7yJ`zP%&t&LUGd9bB`VChNsUvi&&|_Tiv*p zvYU7go~J_(@(uByLxkH%Jc z8q<>hz1uWph=0h~dYIde9QJ_Z^D@8l^81)yWLU^O+L6JX8TyI6GkvaEMn8(!Z7qmk z2SR`4mn%kpo9J&F{cX?m64%d_Ni62dk3E=q;_BxryB?fAvk$m3c=h8bCN|&rH(2W@`n|5=kk+cK1>ZkzY>nH{SN>0Q z7_lEw2=ND|jw+FouD~6vSWP6_ct@JI64KL5Y zOC4~t1DUlI!mbCITAO5s8Oll%uS9Yb#=8!fo4_~K#@rIKBK=&Zo1fPGliYhFo1OIWB>5}pPjTM7%9$cKbWiC5=3KBH9=oTM#h1@@>7UwG z@)z{$-V%Cg20DE5!u(^#lPXSTL+EaSldb3*CJbKbL*^0W>d@$1y;ck7PAil}COec_ zVYX+UF{O%~2Qij<+RsiM$9^UxyOBQR&rha_7lZA{KUd1= z3$?7<6hFF7xZguvq8U|}@>c8n=ge!4tgA0Hd)-y!-Nbv<@z3ytRIXEIjxsCxny|&V z3c0c0Gi#i3Ll=uQH$LkRGE``l@TAoB8T0j_dq$eK%{9pD$G$cYO77pXDdH>81QO@atmT%HCHt z!Z-444H4rai{B{rarupsz45LDcFNh_Qeg<61LRQ*-^KhE@Dom(!>^TJ3qQ#%JNPZ- zw~Xf*=*fp;drE6!*inN6X0Yc)Jg&_%!i2%D0ywS@U%RAP@Z{^S=!1p=&pCMUj$?RH za->7>SmCQqG+Vvs2jT-I0v|9|9RCaahB#$bY`KnrLs}Ul(MYv>ymUUlSsf?FNW7Ac z2z>@$&GcB&MD}(EhXtK@9(OqQ@!BsXrxZS~!$!Nq|HaZZU$7>(p}%hxi<4U=<-sKU?#iiaV~>Dm zeb8W!leS;@H??Q>y%~HIQ(hk0{&=Ju09`p_Z8Ei-?&x;;`KRw@UO~%aW>|<)j9QLv^ z*xPQT9S35JL#)z{S#4v|_4ns!N1k?seqh)A&8s?tl}Y+w0ji5lxTStc%hHewXsQj5ek$#fHZx0YB}}*OIn|UrT&s?UlI$>z)I@ zWPuH*to#A&d0)e40Qo~l&62*}(nZmuMr%@g^x_nB7WZ8->6hCUdOFhlWkr8m3n+8sMHuJcdl^z+v z*3U`%4*On9rgts+w@x`@?04uRtzB8E=b0$=BzxDcsMK?idLzmob?beadYhFWys3Jh zjZ?nzC*9}oL@7V+`jH$9QFhe5e@f+s-1{e0W+l&%%B$p=#e4Y@lYiMjWi1K+{8N{8 z#932)H$j(td^`?L(K?mSj4DphJm?Ih^PHFWUEmz)EBg;alM^GO>zehJCxlLU8u|pC z;}mp+;(;ml*K+n@FM7$H&<|(kzi0sE)y z>wz}0&}kcj2JuD@+smOpo`Q~zpzeo-6xwmWhKGnD(fQx1zf)0F!na1T!f7_OFo zVeY{5b)f)zKQxVW9jvXTx;Xy%qFd2}-%2~T+Ai1C^n0coo(>DC%Gk-c8deHkw;jhL*??XB--Xy;4DBs68Jvs2086I%w zh`k!!_Ga^h)8-Jkj+k%QR7P^rV=s=o>F6_4j%@3c7DC^|i(ZY&v<9$KAC8%ZL3BF? z(ODb}oBN!y_$Kor-w=N-$8``t2k2diPMv|Rs0ZCd4|e{t=k%f<=*w`QTWEaXI4`lM zy_|)-=^S~`^~j&kS?N8TdE_gaF(f9n{8(;9|M$ZDQnNC>)ZCZ z-idrvvTN}-KQs9^)DuoIww1iAmA9>uw{7Rx8Yeb{eEf8cgX8&k`696s%Iv5q6B;D? zkWV~Ohi5am#G=eSg)wl6cq-Aq;GM_2b8Km!_?UN;`oP7S+ghKKO4nIfa*7kvyGi$+ zkRD;rwT7R-A0*eo|6^vw*$1tb$y3=EU4M{w*slN1A7EEX8fT^1={qX^JMX~G<3Q7! zd_s<*!`oBw2|0>S$R5`xq}FXP6g;VY=g*tmwd)D(23}hx8wO$~NEwa5`>BjwLkO4$ zJ_4+V#vJ$PeR<==Q`g!+pDCC|&n&||YojTDyX{B+%M)+F=76}x=r66oN12DZeR2GI z<$~b!UFa$9vS;OXIsAj4$A4=3%7=f}##uPV`S`<}?b|s6|1sx#f6ou?PXnX!t0Uhx z-lW$|uonqGFejP7zz^-Z{vX<$VavKV*e&b%@6t*0FS+-zhT2R3UPPUE5y@?4D0v*e z{xJDPn=;CWD&?(79(dk2-D!N&=!=z8>^FBg^kM`33(_~wa0fW)F8aj%=v-`g=qvAL z#qY8`gIAe4`fd%^8E1?}(QW0MCVU)e-?s)YG+y3$M}20?U<&=Q#SSig6ur4xn_Kn| za8txwSw3KHVP4j;UrX1{8vTX&%VExa+2Z8pP_GG>nV(U7-VDc#d?dGy;wO2ymo^;&YJW-GE0ta@{{ly;18YRAJ z2>oN=Q+D7p!Rd-0s`|9=Xk1fHe%Y!J`(wDk9JHC;*xc+MyvBKdj`QBjKJ%l}hk?u8 zY4$8|cKtB?E_AAcw8;z1FUqq9&{Oqh(8UAB*XB<%*RZ#)WKUZQjIYcC@1b^hS@62x zJ*>oE?pl2GT!SwZUw$7t(*d&*T)Z~!qYZWR7vHBj>R_+(#{(w7_%%WQwj>q*^|3SL z6SpyqjTt_2!|A{=Kgh^jGG6SmHU6IHIm|KpH1##c@fjYs%+qlf7Or6b)Lcs6KAh{d zp-m^6GWaXtOtK94%z~Tz#5%M@WAg4O`hlYHFA-f0PJq6ShLVd+bDX%G=rTs4@DnqO z%&ZXnDflm*Bs54eaBO{X_8VRy+6CKx(IL|B(>MBF-vn4Uf}sZ1Ok?~d+lxPz`aC>B z)=WF?53(U&+=;D44i9+9*U5f8Cy7ooW24xzXJlA6@Ob>W4kOw!kPDcJ3T=rjBK=f8$=U7(^JEmi z{rL{!2KY={K49u{JKsb*{!#8-4sNq6-(DxWk#P{MSQqjEyWoim-kS!7o{Cd$aw+A$ z4_c%h*!4NM;-t6yKfFR&bC_Svt$3HG)2}xAni~9^IfH(;tAEo=T)Z#} zUH~V|o`yF&N_>DCyuh9xRlL>j14E)c-;5uA!Fqw0%UTrvTt0oYN&X8?h95piJEa?Z zP6a=lQ_eX!;+zU@P@PrW@IEImd(4|~!y;?~&;>%B7dC?v3cms;X#dn09|0z1>+kG$%$xQ)`M1!%C;pH2Ir;nYutv52$*-6n z_z&dS^I0F-|EwhY9{H?vy|Xq7m9@|SKRy^Gh6;G!%l^Fv{NiQJ>g+1t4he7#=S0pW z=s$e}y>3C}t55TB@eo(Zx4m8TpzZVlufw zE1>J71XwL}l?#`MBx`6$Q+2cd(M+aN6y~hc(k*|tCHwuIGe;g9=K_WD?|$&d=QBF* zIp@7T@AE$Q2U+TC#y@}ca=dE|4hq)bpx=9qI0%?^>7(^gk7gB(;^Us1sH2rJ3HJ!6 zE@e!@v+0RXIOio8V+XirvPzSTfqN#vJ>Z?Q!9l?q+=IoM^%Z;)w68bL%J=xc!Pm!1 z#^^sfS00y75j^qevH33Tb{d+b#qAsR{m>(-H*vhpNsM$kiNOzZ)_Ziw8{Bsk=cJYn zS?=tf_=t;Z8r|m}9b(h=ZeU%wW;r-U^v81W%YU4J&pd?&+4>rA%vNyB)>ClI@*4c| z(a9s=m}QPncL=}y=S;-8FmuKne(7}a3%+Ra1o$O!TABl&4Hv%%=Ey-&x{7%<$)7D9 z8+r)o#p98|H#yemo1BIba?(`kh56Li2oDjp;8&`2;`+h+ugZ+xf7KNu_g@u`S7`_E zQzJOYqz|DC7iVuh^CJ8e1wYj#pdEyh;`md6r-B*Pc{?-&_s|f5c*JQ0cZC_7w}&Gx zuj0`TCN$2@N;~+riSzq%(GERT+JUotj&`6g?eHf)?Xc!_v;#DtM>}}5;7POtc+#aE zT-v2dJFpfm?U1O_4)mjrHc#@QKvpHX>eqs^N5I*G;B3z2*MhU7H8}f&|K!n)z36g8 zH~upC`s2jb`E}sye{Z-tsTf05ySFcHKu5ct9KL^kBEG)w&z7mi6Auj|gUNgHnE>+7 zh%pil8d-BGvJ%56lx!2d4_7l+j7v5T5iWy$BYHc)ei6N$j{lxZhp$b15+5&UZ(uy# z@d-!g=EJFOM>PAI%q`G5Bjq(czwg{d{Kb0)Tb&Z|I=`5@$(hE-YAV(4oQ<6G3-}X9 z66>9N@SmKLJQu#y4C49JNq+DIc>@QPcK~^P&(oC;66ZUF|8I#ptx@SEo~{%-J_!x{ zbmhj;6gc8g<+-lkb2cO6+c|c=GdOXcGcgu+c6Hq3JT_79d=J0Oc|A8f(VmUYeLa^t zQ$1dL2!S#&dwbCs&zIKzF}a$rMn03vmjVUwQj!aqj4Nj)kC&PGA^rJbMfp}9>bM1( z`s2>SJ)dyyqm3_6{}($h#|Pi57yQ+sTr$Cjc1#DG2ByCsFec0-HXnTV2;Y7C)xPWX zzWY}7yYDim%9B(`eZsjH|JJ+lXT1kK=M?gK&D&giQ{H#~x%wS8Y^5*jZ)91>&`OV! zk3wZ%ByMtZ(_!S_(pPON%?IBu;$C|6MYi-^t{rq-a}c3C+Cn_gZl00fAV67^+y;x1 zz{|&glNK&=D#$;0SC8a+!&SN7j+5njmlm+EMaH*NGQD-k!6L3)uf_1>deHS_@@taZ z#cayCGCj@x2{~V`P%D!|t}`dQThDhVWPG_A8Q=R{+arz9L8fo>-mDv+YZHE$#+dSq znrr(C%AK@|Iry758YRi@9*eb?jC8(qJM(jZOL?P2_YS8$9Vzjq@dsec=nphrQ~BRw zraPXcr;I0DGah(fq!-)#zod;9auL_3t8^eo9O-fCHSwkD&J~Bd75mF=Pc4RiSMl<(ttu9h%p199{g{`wfgW@XaCO7s^4-+kN}XY3>C!)khtUHsI5HhZ zo{SIf^YX*(q>rHm|7Cisfjts+ZMM;cQ&w+$_W6Zrbluzs?ajry^x8sb@i(SF#j{&@ zcb;+k^T=Gw1GcBDUI`7j8oKYT(0sC!N<-tyj!JUWcXlbK24%=m-`1mCGjDa?!Lv18 zmpE(UZ$aKjyyOvLAWU>RYX{TLnvqML_KC}!KZ&DDpV{doj)NRau-FXA;imzWpzcOQgE$?6}Uwo@ZU^5=Xr9 z!}yEKrpXxHRFQyYyMB%IWah^y;$?PS@@%o4?DTREza#c6K^AV z{xWod%TgCOZOD-nmqaipdB3iH$X3iFfw4bP8V zGe1G*=RMW=2{AucGd~9Z{^pD;(*9asK!3H)i}@AIeGvVj<}e&5_cC)Bs=}D&u&xSY zn#0!uV=?M{IT$;GXF6+62V*bQ|7Kx~+!b>$7GMt9Gth4bq4#nnV6QBi;GfPjUKr;0 z|Ks=PdDBW2T(O|5qNBVa3J)_W# zz~ZLTewY5EoU?PE%JS%FsZZ}A{~Z%wvywhr-IQJQz;q|J@v`ePFZ$xNcm>{@>Lf;a zl$-=V0e0n^8sdzSyfsW8-sbxKdVWw9^~0b({8dbTqn(G#Z^NHi{YvHr$}98ux8%KV zHNPvFUn78iU;PRU6!3{G?jgU;9wRrC=2<)a(znw2%P&ZN`sXn}z4TRM^L&psO|>vy z(Tc)Z>QjBy$Kp%$NA(!)e9}fPUy|?ZoNtAVtzZ%u$?kj3jBP50vi;Bf6JvDy!}y@l ztt)HB_n==NW0P;a#@LX}PhH6v+lgnko-xL{HNGk=s4cTfcbmWhV=&;4fd1;g-7V zs_oX%F8i%0KU2+*=G~^wdf-~)tgphMzBP|_zMSVa&zJM8 zjc2Vqvw3$V&sXt$HP4egUrBj(JXc)Jd#iYl{7vQcJa6aOM&3!=`?#m>Y(Ks(#L(b* z+RlNulpAt?`FhIEgBP}W-bp=2rAU4r}!i8|-az+($GXscoa zMaA5^3?Ceu`^)3EK=*P_T-^xw?c`%=!1k}1cg{&XRf!WDY)8g+7LOjN+|y%Y|M^tq zZmSc!&!;N=*z+h4{C3f`*vg$XcA#=2{PEcn$~)GL>$bri4o-ne&1LV9X4jb=( z0U9^T`=2J>k@C&&N^FLweyZ{Y-W?>a@4Xqt$_zW_bs-n*2|D*-TX`X{*Fv8@MgRSN zE9b#t>#53R$lBTyA9K#(UhxIxU(wukfEZR!RW2X7$gya1fWAg}uD&iDr7zeiEKqp{ zdj;Cg6B95@U+TJ^s(h%Y+tFACq0!@srz+>6YtWcl(LJ2Y^G~O+_u!kQ#AjN>H+R$L z`Sg8v;zmcY)Rwyau6NF34EI`>Bmb+%e(&S(M%W{R&l)Ub^XN-|_TGF+aSuDku>(d9 zBAbrI#4m0{kGh)s`RH7CBd>{e9x88zuGkG+rg?YK;85ijo=bKjKY?Mc1FJ~mX|Lq5Abf_da-?ROxf25%j0cyuad zk@Gt-=A@v7mFqbae}G&79?!bgI&ziIzpk;4JSliPm-^n$H*c@L{|4@%&8)mJP`uY3 zDBjN6-H{w9>ioEuvOHyXPT-QllG|pY{s5MO6PZ4upwnOwkexT-F^36rb z!{lruW{=HYq<@+Z<;~e|FE1R38D}2gnaa%AfoaZKJ~=Rbt4%H(zT25arhson%-CIw zWQWRc#jij)=B*l==G8~uV?6nlnz#ty4f!d%vOV_qB zlOIg!9i5NTw`?iNnYEH@6_?J(Wi{VkQTm^@88@P7!K=OBM z^>5Mot-y5%zgvU(W6#V!V|#Y-&+rbhcwRtnKf96nJ++R7)jGB#ht-}DZOeJWHqn(m zQ~U2Je0u8b1;wZAqv3jEL2w$q-s$R^>yKy<=%*rbc+I`)WbH=v|TX=mYj}5Wc|Ysn}m*r+sf+^<3}qbJV@NTF-939{2gCQURWckC_qOwY}ceGh&gHT`9;^_dRxp1uNqYiJbt1Nd<^USb;n}k_@zP1=-e_}?wEcm{X^Duq1MYXvxSn8E|iwB?&_0t zGvO+n#5#w|1Dn1uZKUOQe~r7ov8>9Fz4HFRrv5@q@SZ&gUbv>ZCa?UScoM;p>fW|# zyIaq;ntIfZ=6_&~>b|#Zq?w0mnc&2rzvAV7dga4YiVZPQg>RoPS_Dl-J{i74pTXJl zI6h~>ug`r=@x1V#rM_m)Bh`scXw){eep%_{Mq8_Yizi(c`%B6d2MHh0yWlav@xsTg z_<5Yb&5wYW`@xz0<&fF$@;PlT9>1p4YVW@<)Y6yt`2aJ0fcft$|0DEuC=KmRU5oS` z>(|8EH;7Z z_|ReWWO>0AXA{q?9CRu6WdWnZ;|pWl8=oR(-yQeK=Wej6H!r-?zxd}9xQjdrxI);|K1VT){VLw~lpH9~ULTO|-2z*WMn>meRblD7L@s?afV77x8^> zR`Ylw-p2*(SK$)Q)H(S^BwyX9te3u*ETfV4Ak=2-SS#Vb5NoBe{Rmv5^;6kPkDMrD ztxt*z!alCX1sRw&UD)yBg7~;X@|9(_aD{tjS>b9Q)czd404|mp;EF7`BHd59cb=#Y zv$}UpbCgHNv3_khon6R-839yDh+-`+kalU)hE3o_mS^J8{1p3eN# ze5OVaBKU$z?az)AS(8m|Y2 zm>w|Rdxzmlyk=T~&M$#{jgj6%ND#yzUBDy}+I z9%Q`i%UPTH^|#JQ1AJxX1dkn4t%afTO{|&jU-diox%S2TUATPZHcrL~#F3c82|HYz zkYuh_+RPXGP3J!F6_?zxcbGX9+zlH+;fwQJxO=}VS8J%sK)dcF?x5zH`4`NwPrMjR z?6EmHs6j3i)qk28Gpkq&&24KzXN(vB;T`tV{O!hbvbw2X&-9Mlj_M*trsnw_#&^mq z;e%Fn!wa!C;c9<{`&6&sOY<$=v;KDH8+nIdEU7v;7udV#e>;#xr8y(g#n>4iooagH zN2l`0zVBL~@%K&{xkzCI+~UFo<1&m72zRmvKOh+{<%i1ish_`RjikoiTw>o^DeeV7 zdgivxo)_-XJK5k~aGQs#uLeGi)U4$j;6PdyKw)gIJXklDqhcTTc~tF+d@NrdlmfuR}26Y#O6!b%VN`3Rzr)PcJ7Q1sw?}jQ{pX48IDQzO zt7e_~TlX>A2r*{WNnh>@x#zbhZ*=L5Y_CgaXiX!9Jo4e~<#Sm(Ix(vl;>%eB(Ty$- z)2a2njkBVrEQuV-K1f_F`4fW2pg|kpZG|uElAh1JD4$Jg2ppvG1#+~-nr4Z8t+P6a z-CW%o>=O#=uP0-dj!$c^x2XY3a`0;v-)chp ziupo6Ho}~E^h+ql+yTRG>@;Mv0k$&XX}B*OV-Hf<{`)VnS}S*@#+x;j0Y zJJd;CE|2*BlH$C+rn<;WtbJ79skOXT=h9?IZ7~McVA5i)ZdGhioAV;(z4J$m&6g+p zIc}842K+t+-8B{L=Aur~Sm9)TYV!k%P58O8+W3@YBkXalSHymlz2W7$sdsbTpr^}u zvD{+FKNJg>_*QYrm%^$KnEBV{wmGouMBF#^?_ZOL=8^~CaZjo5)pF%{LIifl%&`}S^HX+~bBXzij0{)4 zij25nbeR0P!<8!-d&auo`7(37A#uO6jQ+PVmIPzD5Pijw82AZzUyl5DIs09BJ;uD{ zv)KKOf3AE5Ia>8z2LICyiB-;5)5t4XyWQELvhs6(GkdsvB#BKL^)9Q{yPS2A?AC}G zrS;eZ<=(iVR2#ddwHr9#`AV+ke0Krww^OEf)BGxa%_`l;h%wisy1icIfBg>}=+p3whs<$>Yc4k?dUZ-dnqYQM(tv%RAKPVpEFT z!sw>R$XUsAzYd?m7-f+R<=Nh1L&u@YI@+|*y95$-#ivj)OGXq|;B%GG z7`}#aau$;trZI7-Qa@@q_6WWrWAZN~hcR^qM)6U`9?%#woeaLhSKza;0l&NeXOv(P zyx4Cj#+G#O#IJDa3G7h}>`>Aj?{s9NwzlhC*d8rFZ$tiFs{ z!6(_jkF1?FpIm#~c(RWA;rq~|pIPb$4zC*NadOF_;?;wH=;VQ&D@Xspk^QIa0F{IH z406NE9`Fof+l*^Zb(;P3-j`<4SuvLCeu^5q%4R(0^k$Yhz4*KIcH!GG8*#$NBTn5U zJ{qGTXCrps8%OFKhY%?&v>?gH*)qhFt=gWs4@ODItyaabu2-@bEwjS?^}d*ifWCz znE%Anm3r*fLfBj_;JKX&I95V2YfPt!U*%w1oRa?t-!K;CbqWIuLD_W1>90k96T2#I z>>X?e8>m}tD(+o<559F4ZFaC0ncML@ueM9QijfiMy1f$Y34xnv7yB>uWdZLfj)vM+ z&K<=RSlm%ZY!La~C!KoWD4f6^(PDn^B?;h5VrG~d=Et?A?7$xz-!Bu~x;B2X-8t{bV%n|m6&S2@>Wq%RPf}1D6d*kR>z|Yc6=DLT9f))Ap z>>*#XaI}HykP$vvcPdWt2i!3 z+>M3cAfo_XmV;)_4#R6;V_d+dxG+>a8oOi0wKJxFn{&vwc>ic@&y3M&l*A|GKDwb4 zV}D1vB3vOZ#Wh~Y<>DajUELACZIu1&rhI8Re<%6777r=*Ry$?a@SEil4qDH39c9<^ zD_hd040+$!o9)E&i(%i|fX%D$gzOR*bnLA}y2xot`K6hUqmNXamR4Zo2iTOg5^G>D zaTk6-{Dr-hbMQ-@PrSS!a1tj*V1269X~xD_{>et>aAkWu1pFMXEJ+!}2nk_hd$@9g zwZgd%-RkAm$DJ^Cn;%3UI=~tk)<2TdEa(JNe^a?J)6G8l2iGnZVsxU+I*eC+5=4J( zMz0)Z?f+-y&PscSa(r?1a1pJ-s13-eiWhK9nH`H|<%CJ9~f0cA9G1iB;QK@Cxnx z{x8|iSvBn}thRIZsqLhC@D=yq;XkOI)K6U4(E8l?3hQ$Nb^|(_qDEi&@}7&F55_;? zc=3|l3`+tG9`{&wD zTgR&HGj_(Wu@5VrMOD{ZrS}YQRwvep$Y94`UWzdEb3MojpLEKKzQWw5#X2 z;5fis33j$H{z&?BjBB9Wgm0qG&zOZzqRY?iB_09(ii6_k_EsM6K3En{r`T1m#@GG% zKYO%H2%qvuf>;aCRR*yzM8BsKM_jtt&(mjt>ooV*ohdourqVk4G>q=l=h5EEeHQza zm_1Oun6q(hVukZg;tdJ^i7$BszSPYb2<-#!=;jR+A1NJ=k@`A5JE9HxvDaGWn5j1K zAbey7J`($$I(Q|?Tb4ne>D@J)hp`mC6^y&7<6tES-dxZ{tdb7!XP0oM$Db+(u-O4E zmf-s?@uJu!cS9cmABsm=J09Y_oHQQfkaOdyr|lSH%Q7~_{dM_G^uRm!pD5qPewcfP z9UJtT{+*!NevSFv?)~hq2S>=o_#WI`Paz6e(x(U&2BlRzF!ts-N@L5t9tGwzcY3E`u}hG@~^yi<_3q^ zYuz5cdN+F~7MpbOS0t&q+EkJ(5#2%4d8?@2)wkA7y_CjL+w)cFyoFG+=K7IOLMX?;AzfIxE9}n59ja`@66$+8<|sI z4m`&%{u*)5w%dO_xM#?(_unb*3GaP%+~eDQOXjWf9{Lp;i1n}9|JB<3U%`BMyu=Aw zQRkT6jc`S|WIwHa;@d!(HuZ7eWRIiUP_CdHI*h7))P@V5Z$3f{G|oepUe1ZWecu#k z_o(vwh0xV-?u|ArtWAGTJ=o?}hL{x#cTzRlIZ4Sj`y8@3%0o|Fxk_IAJQ_tJNX z_MHvH^zB{K2K26MfBNy)>R-e2*uVoudT;rjH)=iJK-%gjp(ZwA9cI7a#g>xC^+3528ZW`i_t5_cA@9`Sm~}adJE&ME#FS$ zYW0ff!*b~NC3A`l%Wu6<+VwGX#N)`rSo6BH&I8|%XT-IU(s=68AvU|TJ>N<1+c{92 z54`=Ibc4f}6?eC|vNTsO7^Ph!r+QB41b3RAE;8Wj1mOiD=mI0?0Zn5)b#0n@@uin0 zJU!q0WlJz2IM&#u!>hMFJzu@_d^Ry80{fuXt`nRSt6`+PyQQxne>!~w-!>La^G$l7 z0DR8wZrN67c5MT%Dg6}tx%xD9pa(U&Wz%?FN$_oSW20-6_vn=RGr7R4*fB{n;0KCe64cNYaMg*HyJ)`OaGCt zp3!EOSo_f6w{q5K-6hWtur}wyLww2}Dk^WbWZDafeR5U`UZQJ-qZoi^LtFPFqYY$! zRN02Cw5jJumAi=98|xwl+90uepueM;gOx8LXR{^_R(4t;C*E_ga&P=HrJKpZRfp5(e@rq_IAl~IFCo+1lav#3#4Pyr@ zL-`Uf;FB*_m4F zL^>Lr`c%fL?}!qQj`&$!#Lu#bKMGHA4!lVm{vwDhQ~LBI{g6IB3BFLgjR5Z}mR4P-8J79$tG5#811ju)LZT`xKf^fS`&L}e*5yjJR1 zik#hI4E?F4_>4TudJ_Kux%wMuuO7L+O%CmI69+5jAy3aCms&*qce9@2&lEfP4JqQu zA**d6#zZW2rqhoMsh@QZW=v$XL&%8W*D}P}1lGl?YK$!%hbw0>4vjC&IO`ds_*cpN z?ablILgqkY6dxO6jElR-+2fCqzMY-%#`r08XLXD-q;b-}rM#!ul=VI5IW5S(BCJnC zhB!{FNh@uhmwMKfrD+Voo-lnU&L8rxCCrh=IDo&5#&vg>Vn2F%gF571?l|I%gR!_g zV^+54#I0vdL*S!}*=zDSQ2c0}1wKve$0u6l)5hJx%aX<4Ru+9MTMOwOLxaRXpij+R ziluwd-Dh6xV`6dQj}vDuG?Pp7~5+D|>6KQg!s*&pjOLj3Z9^HUE z+mn|n&cntDFW$t4vHP$3-sn%9#`tnqemX>ak;eEu2fVmWF%P5{ncz8jY5rV)e+B)u zX$(&xtG3dyZN&?q=k0O!82z{a{fX8?I`Z%Ya)Oa3Ds^K+l||{HGK=Q!IdHdi_2?1j z`=i7f7(3!TK4v*rO&oEapRkd5(t58>_lp(JjN^Y-^U7YQyL}^Q`$WIW2PR zuN>zk?dluL=6p+nyZJVo_3SDI6AkR?F#E&oK$nSrDZ+kR)1!Fi%pY*RmKZ3OrMN6B zojU7T^iofwS4a}`?c+``{vmW`mpKFExF3&ub0?Wg5I?CfIqpM=cBdGhlRJ0Z9e>EV z0lantFnj|rt+VM$^a7&E9wp}fI^ykLN_)zwP~UUDQ`bW*^d7@`vS&`W(9x0zJ0|05 zi4#+mJ-n8=S;IV~nX{jp8=Y~`K!2e#8au6M4*Th0Y_6D-bZ zbTX6g!mgmr`IC`0bOglG9|0yuy!JVhJ02T((fROk)?>sQ7w0oENX~H@T^J?S3w)EF zi7pmA80bCC!N)4neMYmpL?^lLo4h}45$9j}RP>%#XI42TdQioDU50IfNvw`Q!giDg ztUX2i3h5-#M+Pi(s1xW0(W3^?qe8oaM+Yj{vdx}}&PQX*5eLVJ&*##9@?cbSanyjX z6%AGUeT?s+uc0g9;qp^I@9S?ECTE3-{LVxsuQ)vh`mi)>Wgv$)kn6iS7tn*PVeJCQ z^8(fnU7YYRYZ?MZg22eOQ(z>7PhgOEV}g^PhmlKxkq|HvbYY|^PV8~UXT<-}`8IX7 z)3##s2u3s>!GUr(xG({H2ySX~EeM8U*6SS68_~Hz9=A|4p_qA}6Q#tZX~@}2mXYWz1he*^PW*TuXrH|>eHqJNg& z@Q0OknNNbR(QU+;$C3T)qaQMdE1dMi+n^ctq9^_!YyQK^hRGyn!VfCO;Qq?DiRTd* z-Cwz}i+J5VA99Kv?aqyYM^TiyIPu;Izc+h~2Z8_j{Zn&d@!Hz?=;Ndg3R6_a~7_P6+0-E`opQ zkD(V!!qec${cc&}LC3^^TYsCefNb>ka}{(pX+HJ6$@_Xvy#GnRye@wtcQ5*1))IcE z6WM&4b1F;x1#p}AIoY^`kq5^ZZ$q5;=xQ5$_Gsn^_fMmjdW-X&F7O31?aKKwxdvyOj+rY!b zUk2Fk1C>C0fNuueT&c&ZG7$?p*Va|I41&$ z0q$+?v4?Tv4ky{?JmZ~EYBA-DdCo=uO~w)cN6FvuSj~PZp2eBB{#!HeI$+NF_5sQz z1rGDZmh;wBc**T|r^<;*!8qs2-0_`K#+>N6aw&!e$ybE$ZXG_s5qy3d@bk4M4^)mX zz|MiS3U$e+IN*eP`0XGTxb;+JUYs~b%)@fcK?eJt4&Z{^APt!T;_GbVohGL~vCy$o zX8}V4l?K+yVtmR`BOPBza#v)n!Z(*}#{RWxgBSS~jZJe9VO+5;bn%Q$zSoNHanih0 z=PCy7iwwSsySi^8P=%_*2Pp(mr{NKpQr z0Q9DdOL{opWS2xg1+!*6<)k?;*Jkc_)^yy@-$(w;eb4#_N9W|)jCXHl2Ed(1{w&aO z0xosF$*yCZI(4q;yEW9M_9EbJooi|8wG!ZT@Y`DImuzZHO&jTI{YHj-EvX#mpxVf} z`F<3K5}3H3e1k>ocHLN)MvrVs$T>utW>?cGZF26SGnZYj*DgHUcwbrVo~})DdD3RU zZPUbWis<5Qj7-^r2^QJ!Zmw=};_A28Kev_(UJLkRB=0P@!KVv$gUQbn#IKv?@U*#N z|Fqe3$Mn2(A7|aSW>nWV-+zViQ?94DfE%}7#zBm$N0fpCFs6E z$@W*v&zH93gB&D3T~Ilwk!2|-OBh&`-;eHnIlEsjnUHee7HIp+T>dyVJye)B3uf^L zF@BRR#n@~;HUf3Jj={y=t+irXlAyntyJ15GW!i)XWCK$8T_#n^@qm0emS z37wChfMR}PBVSYDyVqgXEaV%HphI}K2i?N&wnS_z$x}M7zH{{1r z%Ki5ZCBZU%oc-BS=#FvxV?{gKJm>G+n>Un*XW-}^XyVzQm22K9RNwhu8;EtsJ9fTA zd~L@V?=6SYz0U`&-iizet7gk|QD!UQMzZIiMb|kWe zT*@<(cNMErJg8_^$q5$zBs*tk7=exsipJ2`I-xnz`KcE#F<#iBu|cQFzUeIJX7Lj% zZH;qN$sH&5P7#|i+K*zdaH3CK6^~>~W<=l*ki_>%zzUzTYu-oDN2=D71*?f61NIz51ocs2#Vdh$~N~Ld*pQ&I< z_m6%C+Z*bYeU`b(nEmF9S);Z-@rA!geMhSGIlzMI{PJha*{#%RSNqru+^inIlNeRQ z#Kyw@7M@nV#1Z1AV1I>eiI@Ldvhhek_Nrd|d!sN^ZaMtY3lU(^W{x)3)G2${_EYL? zuGT5pu@NhjBs=!&R9!)1=y~lA+AGWM>w=oPlQngxtNfz)@Y+7>d-b`I^$-uJy6oFd z^zYcQ?3^B5dqr#G%LkQPS#z#6aPtRe(38PuDW9H^Qce+KYa_P{bdWC(eW_%6MDuXo zfIdOFd3{)e@4}wei%S^-ue^=;9?}!P+*)73+W0u2jlUPM*A!3HCLWw{fxFj|$k@4W z<(ZEIH0RP$f=yQ@k$JkXmi5LH(74#|Z?nIRf8jP{^(SzaH#YJb&y7tv)BUj>IB9J4 zr;LsEp3$6!nBOEaj>my>wO=dC`((D=@NJP~`y~F=mp#bNWhFkbuFQhI|IWyX95A<5 z*VM>ME{V)~7&%)f{C^IAUGe*jp)HABUKZV5_g)v@cA{^HFgGhHkJ|W4@*cPonF%%z z!$W1+0xM7Ua%?T^?!)E1ZRZt|Y2~7SUuiWu=MaAAD|yyDPOO~Rp|idkd)ky8|A7@t z3-VR1n|JWX(qn`&$ezgeuDtVMWFN{wuiSA#{FcNYhnT+zdQ8EIVrHAbj+cj?zwvQ$ zbwJ?wbI?7jZTaNM&Omk!acijZ0PTio|JT_zdCBM6R_w#;XOWSwwDxip4H9U z|Kry*=J9^UyuUhT>1&oC_w~nohpST{*Lg)gbQ&``(8*~DUPwtc(D|NhzE!pm>r<+a1hI>AfT9&(lNef9)yX|3WG@&~!NMf6r% z+QTi)z+$$FTUwJFT-;*Y*oClX7R5Hq;T9X*(klE>#Vu`B+_EV7dTIid%ti{_;?m{V zpn_W@b6!LrLbNU15~l4s`rzZ17`WNPEwTY6u0;)QY33X~hEJ|f-|6f$JM&Y^qM}Q` z<|L87$FPAiIZq{nw?sd8D;5#4mpie&#m?}j9~_@LW{-p8TAT)Q(I15t`tr;Px?DQ% zX8(Na%$NR1{w{ngd0>cN(IF9jqbeK4*L`pw^G9Ch5q$peId8xQ!l#YV@po(;<@>>} zJDHIq4l?E0)7b+(@V`#@qMM52FhU#$d{d3VHfI&EdF|40>Ag!YEd^q^V$7{lMN6MW4T;xf1znHvK;SfgqCw3ok-yc^0}2;Hnah0>vk zMlffwgPXv{Vv>BO>2apmM0&FcA892AZs?5`$=@Av*=2XdpcjO#Yw)+-OvGy&mew_VQw!-C*{hgS(jJs zFS$+J{*ve9E9Fd?+N<%1U@9+&H`W3 z&AU2Xh^5zk{RgXVp7()geY_;ti21Mq97z9#{GQlT2g=vp#2VdnX(>WHra(9L#kqCG zts{3<8i(^!ulwKEPJiK}+Y8%?M^o2*c_GxzI^GG4g{d!GF($WFLfzPhQ;$Kts^`?cYg`(WVeTqKz!mGzLmKE4=f;5@hQ^>i z`?_8AJva;PuKpj#eu(}D{QffsvWJ+j{xkkH6W9;Z_8Ig)Jr;C`A>l-sn|aXvjnMoP z)itNjPtfNl=<^fw`P;G=z7u_7t(d$I9jSeN*gIuC{4e(Hu-$w9VbOkY>T->-H{I~*pQ}Bb; z&&AkMtWSbVb_v)dnDL8T8-*Zt8L`xz(5JFh0H=a~1I(BBnm|TA`zx3O>=aym-V&a3 zp}&(Ka{yhQZ`Wh})slCNj*h;==RsWj310haVlda@Pw^u@{uJ(P&3ZBHm-Dx9sBoun zXoP(#zUG@`N$R%&ewBLtb@+56eT0vh`7}C> zs;#_iJp;9SvRnK+KAY@0;Y^(k!kNOI@G2$Y&R{M-bu#|M_FecB++*+?&3kcu3}{~2 z4l5U!%cGjut24(2efzn%V&H~v%U6zDqS+Wp9$$HLx6 zwm`uYvFeBZ*ph+1A8k-Cn6Q_mi0Ot5eByUOdjWY6;! z=Tg_6=N9^OG5y6(t_PdFF4^oo2E1akm%wI^*dEdR&a(V21K`fk(V^lo^2GW!BL7zQ zFDc;d-@^W7)0%cp22UV7wY}0J>6vWol8!6=S<#FUA_)>i+{#+ zvJZhR`3)$>2RwFJ@#+ArFcZw^Q*WY*KlRIHgdVN zR@URoWiuNF7R}7zN(k6gY!(ANR0m8dK1-lO_~_&qEvKVldMiE+^EG5GlDF(&?@%Z8 z3a5ot4|NO2)pddE5*ItsPW&^-pXa_0K6CL_ylN+gJ&rFo_2*Chj&TNRA1xGK!JbF> zM0?Z(Cn|P}Y!=#{+%z}mZT?*HEpmsV{M9A1m0Tli(Leeqe5&!9&^iJ3?2RTbb~;DBGSz#-NcC^ty=HYoW>{p%k3;3=ggLLV4&Y`yaK=ItdxFg|MXu=QB4{)QXXMMdGD&U#u1IosaW!)JG*^3pTuuBMlxK~B@-ZItBrf<56&4hUwG;xFTId<%YhMikY}DfAvfM4JEC-cDh(XD@Gaei?5kn}W#-=c zf&1-&@>1$)7F|`9S)N;ytKbbh6P{|O4U;zY_qpguV%#s}Qn_eFwY{pQ?X9oU_5;t3Plmv+6zwl{uj<|n(%*>C<2_^;}j{$+o^a)!5S{GIHb!ghSha>aJw#TX|aTMk|f zJP^fCxEWiaMcs$UzjLVEIZpnKZek;KZ!dnzz)#p1D&CSED$h^n@L4!iZY_{s13%%F zysKEGtFar+@y*Whq2fRRpJMzO4)DGkn+@D)hHfXu+zGhWnh4gj;E{CF^Oufvd(XwQ zMu5$Q;0Is69IpKsZuS4#!(q>NR^EKJSUaY$0Ph^R>o^H z_LzOYYbP$<*PS0HMzq2B#g`bn+&ITE+UTV2g|W|4o}KDISC->@!5((dL6zapG3xH4 zJoTl$7|ZaymI>`7xSy~2BhK#o1s{3hRvTU%cvr4ZJwd)-L7Sr0sIPP(yj7a-n#XA~ zIfz{~{;T%xLb`JS`I8n9b8i7U1zkb@4pJ5@r#pktlnctsdDg~ztvpL|-$waz-br%5 zko!eEZ|3*}@(SVsgn!8zh_zfel13yvb&i#8= zVG;YK6Is`0U|X_eHZOv*fc%lecO-$6m^n(>d}}<-wthVF7gVM#_|L*R`Le zKgtK^%ZGhhXMJ_Qo88QVyT9C+(qqDF^-VhpX26SwTyO4Rj05hty6E4+@m#TsynYKi z`-&NSl47hyhW*>heJjuK@#P+0rD}PS@+9TrIaI#7TE3e5bQOobiFHx@8+Tq`p?%?H z;upAjUze8Z1Shc$8I7#-2>M^sQpRt*L>9=B?&}P&rT}CVG;p;lY7aG~2=NGaM zk!6;ZBi(Huy;6M(Yr4RTbL-B<0>%%V$yZ9Yl4pH___Nfx5*#I5?w-ApkwF9b_;jm3 zzr)OL4*hOu+>H(0E!+Y^n+di`}tr*=0W)#qdQaoh_Zx{-4!tlbT%d88Ex-VC%s6Ki7u?(9-aHd8u&6U_5pb3?K0gzQ zeZCwme4eu`HzOJ4q5`td0{bED<)~|BPwp}9Am$+Pk+UP^2!7Sk@e#`Q%p`e#CHr9& z@2(!#zBrLTGp2qhUOMp|Pu;`Xw=w!|GQaJ>t#G&e_1mFW=7XaQ{OHfH3ni0ro6NWN zcAYUi9p=nn?#W4Ux$D!pNihJ(^_T6ujPw3|CGvw#)WWy&zBIAFe0tlD)1>xAvnh{^ z=r*Gp*@EaEXu4K@+qeQPx#IF};xpLfcj8*bwVL}2=wB>1R7_{{CCTcPUr~OAVdMVk zH2EZE7Ftjf3p{R^1>YW19?W|IB|+c z5_9iFM&IN_#+Eygi3_~KcO>_a&B;TObHLk}Fp~BlC?o@su;ioJTBVBJqqfY+>WhIlCC2^-$(KXGurB zV<9(Lia*%jA~$)sU!PG2hE+?NU9V}{%WKe;-5h})5$U^U{bBL<=5JFY*J_!-w93cjTSJ}B<-K|b$- zaAD3KXG;}#2hzxNSxW<2NH*X}@StRg!l7+ktz6jIyL4VVf1{t3UY*$e$N(sptUx;C z>$tAr%5n*po+<|rOdDPB@9^lpOhEq6;*BGz2OP-)Bp--%;in4!UI*_MObzgSu_GUF z`BMd4dkgF^Tt4>IWR&pw@cV%(uP@sj|J?HZxUZ|ufpRgqaWR+&oternN^IA$uVeQh zn=A1F+P8|ChK~$-6Yy#r*y+LEpIp3wOsos7tJI5c>>9=vDddD%*DUYWCF&jW z0mX%5??xtzKZ>)4x?J1(%-0>8vj#lF+~-TH(|zCr=Fh@sY=m(S!n=~_8;#p<%D1IL&c#n_CpRofNrm^q1bKDVOvxXEg>9ZC-;@*(=54!#$M7O%7M?LiSKMc(l?odXrN> za+7l&F#+z1Z+3QI5Ag+L$@XZwvvj20S=@m>06emzXNhw~W~K9`)Xh$w`Lp92ox81i zXDM+d?(3;{wobM?Hy>|zemuK@J*GM~Be(eLN*%E!>W8txI=-}LAT^(TceN83z07F?XS7*YBey@pnScCn<;#h!?9*GE#*xd|d-Lh@;YwQvv4&@X z%Pw$f>MhP5{AioFkMV3fu`})lJ{yR)uwd|6aP11`-iZs*Qze}}vu|_m>*#UX@VWgU zIW8L$&sN$q7dgw*L**NR-PQaqX76s~_k8O8Lh6%FH1VGpLpS?B>71{+dQ7L4JaQ=~p_&$)&Kce`j^1qZ^%h#tu6Adt}R{$e_HBZ z2jA+}ok4%nv8{3dnss^S;qn3K-DVru@9Zrbxqanf<%@^jQax?dC*Hu$(ax*X*VYYR zm1ZC1upy&fBiBb=ea|nVEZW(}{ekj;ae%tdYC&Tt_w%Hac;D_;jqeLeKIpoZ_v-r8V_8>!Aem=()%I0-G0}T2-H;}) zToC;TYr6#*Xsj#Z%!}o*ZL=NOkE(v{ser-R#+cGsWSWd`eG)mRMeKWnUu-pHSA9C! zc;B=q`!}tfuFoxWYDKyro#$KW8#$(2pE%pTlXLFQa=`ZdF->Ci$``YpxzV^cR>#xU zdWF%<<SJ#ZCjr#SS z>Rrz_s%Im07|ch=AQw}0oX3zk=f9UVZs&TrKIf`^&YiB$^cVR@NqE(tf49%H<+iIe zpdT;S=fyRBZdIR&ld3-Ff}92P`E>pL@prSvO8V==i{jpz7WOQ_ikrg$9>JsG_Epv! z$Txtc*eH6IPM({6=t50sA8-dchtt8tzx=HS6Z65tk->!14oxGyu^)Q`yf$gX@};*z zzhM_Jy&hRCu_DRkGf*%Fdn?FdW;ar1fXkKN$JNh*w`B_}Ti#lH9dPv#O-{jWle`ts zZ~pm!-{j;O@k5pMiTj;))o1lO>+Nb=D^xe_$tP5G$9pRQ-6!yiRGU@35_Xoe>%s5( zUf)We@Ah@Yz_i{EYYcpAn0$-eOR;GM`;hYB0sd9>fA=U~kYqDe|9Rh*B*>i4?bUAf zEax~vnX$$kxYfXJJ?7cp@8|n7jKec#`Wn|(ME!7?|BZDe-hynJ1`kz~k3lv~!UO)Ct{pvc)!GrR!6R4c zJ^%UX;NTCdaNy6B)E!-qH2X=gc+}*g11nHL%WBf^#65%|-eYsD()^l2vcn!((NX7cmAh{w`-1MZk| zb1fh<(m5yIX(hknx7vALn`dD?<;tgU9an9x1^Epr_d}iG#i`Q0cy5=!N*#9XTl7pk zR(cFO57G7sbfO*bSEDPPwId$St@$`7b!R0u2;B|-5kDjTCPHk32zE@7gvEZ4E=<1M zD_q`7d)BoJkq!{L)`YeR@J=YPgui{;kQ02@D&&QJ+ymK$)SgE}i`(a5_f6IL-KqJl z!t;66vVO{ZU7N`~zK(L~XBV(fqG`|OLv|yw8Iite(W6;|cjoF@Sgq${HFfLUJk|4R2 z_U>PtYrN2I-s$S`KB?I3;7#H8EwO>}RxZgQyZH@KE_|+9xBG@&2F^L`S)r>)t6a(8|Jx#D5+s|<1u8CEy4wcXq+|C_P+u4&Ufo8CLM z)98gR>viLh>iaEx3*H_hhn5#p!ltiD-oiDo{d9}$p`0JsyQ2SergQT~{=sxh?g*C~w*-4w z*~TjVeE>VzOE^b#hA1wce~vI89ZAY{Hb~Y2T%OiGcJ?{nwgg`e*~ccZja9BQ;+k#Y zOw-(w-P+gO1%p z45S|79Q6d8@AP;!jv@BXwP1(Mr^2oXC*eyoAJhoka$#vtBlEI_7VUi{Vm`lgYlcJlgaplIo4^|^EI4&=NZTW zm7~+Uf0}#g2Hic#9Mz-OF@gK~z&3Xe$~Id%bR#v43>LeXjO^%%)6&5&drfxR@>7!S zjAFMK#LpuhB=E^4c+q~S)@jz(`KtBptk!oTUzhkA^~J51wKW%bdC<)Txxy{LNvH~g zE<6IC>Zk1g)lb2s*H3cUxc#i!qhgn;In+D)t^M1lA+D*~pma0er`o@SIY(;GpUu5B z_>MD8_3Dfi?%K*FJSdoyFXi!oF}wPkC+uvl`vuy`yvBB>0`S?i_0C>%_No7xHEPfL z>^UdssV8|){tA-k>kJaUlKqj!D;p&1{KnFf3)YpSk56*%+5hk!d+<@}6+dLcp9B)b zce0KU_Xk|X_$7DKITnHs3CH0@5?+i1pT_WQW@~6+)`EHN^yKQ2YuDPVDz{=bhc90m znNFVh9rk36*XN;oxx|}X!*9sWPi6USFm_H$e{)t3I)se!(&6)qd^waMwjsP=xZ`|h zAu?O(e5B7gn;4wRu@vE%Np8Fbl_T3#ZoAdgXY;HV*->8y_NvHP8#6 zFUOtiXcg;D`c~z+lWnZ>+(`$dxVP$?=nv_C{9JcYGo)C_Z%uYDM z#SQFrBL;ktvouXvJJ))yjo^(e&#vLRjw=$|UA&&M&g3}ndwAs7*H8F8x%3=ol#dHU zrv$RnF`lqpZ^BMh`oXg@x1s0Y@1B*!K~^%j-W^SU1w>>7U!-++PN28QAc|_z!&o^?BnC;%J88w zdoqp{=X+#Tja`Q-&-I|A=*YPG-Fs7Y&OM3CoQJ5Z7yJ|Dy_P}C)$P{zq&aufPI!=d zv4^+O<@Vx}@gd@Yt?x)WH)U2}vwsO?7X#1i^$d2Z*s2DQZ_mjqkP(U=7M&=&oL>ZQ zzeL_ie?M&TWf!c=swyui9hZHsl;0Xg+f`Q&3n&5AAVai=Bdt9yaLgX-KA%i)) zgNtus=nhEXxTQOHP-UfKL)5l%K&tWd^D)C=A8`gH5KK`izPBp=`YpZcxX=B!mlUJMi&q+aF zg5%H1kXHd7zo`pZ2f9`R9gcE{$R0D-mRd4Zc1U8RVJtQSc|5 zoLYH6BjsDbQQ}X<{t1|D1O zZ$3@?8(*dUsb4|+D1w+5ops_zPsqu>OSw6=uX62K;nJ$kgXQ<0bt&&RuWpE%e5E3sGWUn?@SnTAqyz&*{Eek+1!E z!jrG9g>G6-TXy%hqCE~T*O@PU8Xf$nmBS%9#60brsmJzYQK#pV9bivvftHYLO}a_h zg9LK)zdIjZ1 z5&EzM+Dh#&hMu~Vzgs)r>Ris>!LG$lCw5DrE^H;bOlPXg+lw*kh$R+0Nv@YC-MmIg z;K%mltd}sKG3*uHJ<|zIm80LxmvTNBCVm%L*0!a0N^ntcZkrNZ8DqnhdFYT%w+^4F zu0tB%FYWzC!GJaB)XAnM4o+uHu1MWac^+GU2c7z++?3vvELM8cb?61rUCzpfTHjoO z-c&kUy{~r_KYzXjEbE)mUTjd0Tvdlniq_K@$+_=gPf`$nSdXsY3~);t9hDnv9sQ>3 zn+;x;tksvZig#(N(#IzF+yJ-F1D>VNP)w}w2y`mzDp_=B^l+s)$yyH{uDq8$C3}1A zrCR+a_CFoQAbL>4fosVnG!Md!u1pf0 zvz0*qiOw#J+#rP9pw1eqy!&V5oB~hjTv~jZb4h1Yu6pV3+IyW@dRAMezoXz>*VmE$ zhoS51p!E&tdgWs`IS&F|(mxu&AaWM%S)D!5_<^ng^5J^eK1e@B5M`CYm) zL+bYRZK6RG4_a;e&uisff{!_Q7qAgR-WBYIzs<1@o!xdI2W`puG$c9|`5|pDsxfVZ!onITmkP2zbt=m1sP77*^9?$UDQv0vK8oFby5lY6XjtK_wQg~g*T9UE-$ecBLFU_mFSqr*iu`s> zYX|+?QTY#|H;nO82smWyaq)@sD2oolFXq{=!{~R>eP_FeiqfS^CWsDlN^(KT1U-4+ zj_D9{E%~8jZj#qYHW;$m2O3w$uSY)E`!Dzs{2%t-1x${z%=@nD({wtWPzeLZCc2#v zAPzyBgDVcWUxy?RnglzXgc02aVj_6&pz0jFtKanuHP=}?j`T<|5VjXCnOOMdw9QV=ep{usp@)8_j5n@b3gYH zSOhXbY@UrwP;2l|GO$1<*am+5=gS5A_DELO2JC)cveP5U2Rj4USnDd2SpSmQNj50C z-JxLfo5%+bCo6ru^1z+qD`lb8j3qwn>d{J9lFBWVpZWOHhP|2Fs^VlCWBf6hc# zIv#^Zwy~`-c;LIz>3+@)*hI~O|AH2&Kk`pH23p?ErPyt$S(lOw-U?xkj$+y@n4D!E~+ z%&-kwDu0ikLYrff83Mz5krNu3A$9eUPiR7BxULaJW*A0h7#qY6EpeLL2K|=IQ1ZeL zF|U#tuI_A=8TxTFpudLpc7k`nRJeEmz7ta;kOfLEt9?s+&O69CBRfUefP|e=eR+Ys z8@XFx2f~(>&|G}4-Lrv^U0U)B6LMeKMXd;Ai-l5ssr2y$^iVy}BJOG<&V4-I)vzD$ ziZhGszQjic`h2#+uCoX4YARlZ;m4Viqri!PFA5KOIY>f&{D5El=wO~7eqXwMcq-Xm z!}F5w!g24-+|~H-d-2JC-%{)&@!!jQwxakJXK*PlMmF#Hv|N(LPAkp+V_~aqt**Uc z5PSTLXU7%z^tbYII_oS)j})OiKA6~7pl^a-PV(OP#`KUw3pymUL^fBU{`HuU#MuaQQmE_82l@Ioo zmy_5pC({F*k#51abl~Lx78dWcAL{I*bC1qK^D=@7zQ>f65BChNnY>fXy#OZoADI|! zM_ISRpRd`gKE4@v*rhJ~Zr2#w#2+w*z~1KGyAQN86;8<~I8*=@`2*zyt+K0te*8z< zC|=Zphpp}ZzU&4>n_BhU`v2hP@o#+Fy5(v74)eZ^Qf5`7y}SxPj#bzwt!hXn_LHNn zvE}fw%Dt?*TKQeA>1Tp94etF&`U1fk`XJg+1jmIx{m%1^B6IG5gLC*T3~q*)n;-sg zY@cvM@+J9Ge)wdoem&p4|CFWJ6@d%IjkO!N_ka^Of|tvQ4NBZshUen{vk5ZKZa&bJ_FW(s^gIBZsfkD71&XRFOe^21bZyGRz(NF=v>ZsUzeP z9lW!7(kQtbB?}?Pb)0d@A4{=clEe5aFt#Zp_&PAQse@~qM~(6h`v~E-*6bG<*UW^c zAAS>iuKNGx4s;v%ekfPW8%H*>7d_z47$&DIwBxwZjZKZsDskp3!P~MY>zrnClCsAs z7OHY`i9X1;M{UTrN4$&td#3#pHn+&_FHhfzO}6}V@fm?9Z;Oz}23?e5naI9Zc;>*j zgxIHKhb$S2{4)aIxbtRO`45MWv4%VWx@D2r&6E3S>FH3xc%mo4$fF<$>E462rm=KAct^4MMtoGz-!$H6QI>Tg zThjm@|9qS`*0(U$;GJSqMba;@UtVNl!>jKayXr9g*IEO=B2KxXTxhbrFlSBr69Z1M zUd1cC9^aWw;N&Mb%YO&_z~5-_?VQIpH6QD~&Yd(uPQ%`hyLRq7&H1C9u0<}yox6yG z)b*Wa3H%m3*KjUd+kJ*R(EE1xOS?~U|6~~djP4cgw|3iZdGK^>B38POVG~^GJ`bO` z#qdJt8@nEIPfVQ;O#TqNwRgZ1W(;2!gMV#<-(8bSv@16s1Bzeqv=u@Nk&_!~{ zL~>g;hN<-Yp8x$9kr=SZfnu6S+O{nZs`I@!>00hSnLEdg^@ic) z7Puu~Jf|0#dDkLjfBW4}^xoB6oA|i2?d-mHj@Q(v? z_Sd@FjPz_E*5v96I#sVtcT;_8r(Nfpg5kG;rWp=5`7`t5fl1jpSYco*CebFDiH(>wcj*hxv~8zR+C7 z8DY}kP;)hWeG=U2&%MKKN0u4~f2Si?O$-k;wGL$abbR8^@lVI*0eYesuZct%{Kp=u z1A8d&KiP|%vAal{#pc<3CmWOq_^(`t&p)^1UC`5SKL6Zv?+WbE>};tz^v|#EE1+|- z(~Pwf9T&Q5(SilN*b=0m1*`|zXeq{_v9ACo7H1pTURu5F$k#SE@q;w|3Uwaqf}_wC z`0NBZ7wM1bCw&vmD&9I_qo%g6rERsT^`T}TF(Bb+^ zU+o0_rQe6^Zvfwe`#b3f{he`${;HqqqvwYHJKg}Ck<*Nj`(+rNHM;0S!F*Lkyz6~Uu z%$OM4?=mKvF$vDz+F+g-*Wt$W7l#;=#v+)Qadm7x;yjt}4mD51{ycHcJJLJ_eC%KR zi+2v%{jmejL1X(C{Qo|WaUd_$`U`wb4<&nJ?q)yn&)rpcCY`DO=pcOSe|f<~jO>>7Cmr1W!EGO+KSyeRr{DgY4{CqvVcP$F zjXz}hGAan>|*)Z_Dl zz`*c=g#&p(tEk_%9^kKF5r0ZP3vJ-E^uwCdDJk~gM8uuS{^oF&k}iBP=Zl4$lO=ak zuBaq2*DTS=)LPDlYdITl!Ipmuw*1<+6^q@=A#e1h>~lso)4`sny@7LsWN^q04(U^< z-vT*Zt3OEpo&^WQeV&2LF5r1>#ws4~Q^4kOWWF=V2PgSfByqcuZ?&h1E1V*JaL4V< znHl{yfUFlE4xM?^$dZx2d2%S^RvGHzysNn4ifN8aZJ)jk;w#^^kB*^xWgi_IXv*v#_n4cYJ(Dtw2oe|fpw_+Yx+SOKr!!*`E$ zl9#$G#2$P*=gr%R3-gE@%H7_)p5JcZx{>-7EAnX0V(pxNj^T`UY_8ZO4_`tyVsGNE z_z@>tR_a|{$Okz~IMh8K-Ag<7Y!1B)+EOb8`P1Yz6B}oyoC+L*jsaVHP4}p z{9H4%MJbczd$p@N6hm)eYkQPe+4(BV zZ)#V(hR$lrK^4n+_6d_XBPO~zJA!Yj*Xn%O)%i2T**1pGOLD(3a;`8ugJd#Os8eUu zfL{%G4}&MnQ>egPfg_@2zi?mOmxAXF0psP;5fJCV@o^>zu1F>-+cV7(a!TaD*3s?Y zjbkCF4#M@#}P+m5;$BU}hEQM*_dcY^f@p zpk!rl;=TBEFD@DI1itcvln!ww|3_2bG4X{=UJT?*laLunR~iMjZ$`c#9jeZk^-kGW zY--K{-Vx+UF=Tg7kD@yjzlN+SIkKr)8wR&_r`;)|$Uk>&YCbu*%}oq{r&;->=GpV_ zkBp&T9lXjte&i}Qw(Dv)JT}FPgQt1H@BiiD{q9kNOUJ*Dk1X}$L zre7IL^3A5kmq&Ql>*eS$@er7sII)WqYi@nVnQk%Bi7va-JtudTo9#N=4RxFaZ9=Y? zI2*YP{s;IV9LoQ|#FvBi7Bb5Daxr=*D-q^CO=m3b;Le-a&)y8JnwI68D}mAHrq8O_ z#ujVB?nb}q{gr9?=6!dM!`UcH?s??6W39jSIjbuBo$pljyK>VXt9gZQ4eWEkzwvnw z_Tn(}8sK!R?WoTC@=2EOGWta5LY{cJq6_)@Nzetw{danaN0NKkw6zl&qqvFf$V84o zCL;fng^3vSKI&>+JH335%y0br)Fb#hOniS1vc-kO2}DO>zBS)br`jp=?UcmCx57i! zyD$|qdx_@BBF3McU>;Ij)M2rQ=SNdjYHe6K@(y(p%du*R-B=%jg;ELgt3!S_!k`2DzV67$F}-}R7t&RN8n@XMET54lgG!+4@=hkMQi*dO%b zt9_RLZTCa2HTiV6Jo!;~{srE<`6qMEI_?a&?c~$Q!S|^9*vXG_hUsHW#8&BGeC&m- zx+=-w7YDj3+Icf$naUa$AND53Y?n$^(drm7z?qCovF7{&*|XJ8d3=AU8(DxTgKkUPvluP^#+ zedS^I@6j*Z-3gy}`#0SW`LJyOw?FCd#`*Wa^@E+>{|#XHCn@j$J;48i3Ge?WySKX^ z%6b1k!T;y__3Z5BfB*es{QqS44);92{Nsb$-Shl5%KZNX@P2G`hr8HstK9XFn|tpz z_wil4^V`uJ<(QkDgFD>v?j7#=@AcZ0eP-^sZSML0+$aw~?qqBvE;z$I|2Y4fPTn!! z=QD2xe-g+}CL?ow@2T!&=J0%fu9Igm&&=l&%=MEOc=P)BS&zEse}!_1c69YeyHh^g z=|1(|N8J_KEsYnJKUob)ri|{|NlYhZ+bUwp9pl>NY|XaLtJ&#uYIe`LHQA48uXlQ< zVZ+S#g@KyW>$r*o>(Qo5>I8F0CDEaghqnr?eBkN3o~G_))#pC_Torlj1KPWY?^|t0 zu8B6LLTiS$=>5udht8oxQi;loW(|wvo%nn1-E)Y$FMu~1tg=VyOZULuH!|!ej=Y05_0`{lGu9O~f zF|^Uxj

  • 8py4IF!bQd;hVK(@+9|y^TKrL4C%tipFan< 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%0D`ko^|r@0@FK?p4UDs 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 z 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