aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Elkrief <elkriefy@gmail.com>2014-12-11 13:23:34 +0200
committerYossi Elkrief <elkriefy@gmail.com>2014-12-11 13:23:34 +0200
commit4a08d751b2f4f2ccece01ce083b02cdfb1d0de31 (patch)
tree3c643bacbb4917409d545698e55431bd17d2b782
parent73dd4d3fbd80a336abb594e29b152dfc4134b239 (diff)
parent0bdcb55561aa2f2d313ad64c368a3009e9029c05 (diff)
downloadiosched-4a08d751b2f4f2ccece01ce083b02cdfb1d0de31.tar.gz
Merge pull request #1 from google/master
update repo
-rw-r--r--.travis.yml8
-rw-r--r--README.md9
-rw-r--r--Wearable/build.gradle20
-rw-r--r--android/build.gradle23
-rw-r--r--android/src/classic/java/com/google/samples/apps/iosched/util/LPreviewUtils.java28
-rw-r--r--android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtils.java33
-rw-r--r--android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtilsImpl.java206
-rw-r--r--android/src/lpreview/res/drawable-xxhdpi-v21/ic_drawer.pngbin290 -> 0 bytes
-rw-r--r--android/src/lpreview/res/drawable-xxhdpi-v21/ic_launcher.pngbin7297 -> 0 bytes
-rw-r--r--android/src/lpreview/res/drawable-xxhdpi-v21/ic_up.pngbin301 -> 0 bytes
-rw-r--r--android/src/lpreview/res/drawable-xxxhdpi-v21/ic_launcher.pngbin9887 -> 0 bytes
-rw-r--r--android/src/lpreview/res/values-sw600dp-v21/styles.xml35
-rw-r--r--android/src/lpreview/res/values-v21/styles.xml140
-rw-r--r--android/src/main/AndroidManifest.xml14
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/gcm/GCMRedirectedBroadcastReceiver.java1
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/provider/ScheduleContract.java30
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/service/SessionAlarmService.java203
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java237
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/BaseMapActivity.java (renamed from android/src/main/java/com/google/samples/apps/iosched/ui/NearbyActivity.java)80
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/BrowseSessionsActivity.java97
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/ExpertsDirectoryActivity.java16
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/MapFragment.java60
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleActivity.java25
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleAdapter.java16
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/NearbyFragment.java3
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/PartnersFragment.java3
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/PeopleIveMetActivity.java23
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SearchActivity.java22
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailActivity.java1226
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailFragment.java1306
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackActivity.java18
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackFragment.java4
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SessionLivestreamActivity.java2
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SessionsFragment.java70
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SettingsActivity.java93
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/SocialActivity.java18
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/VideoLibraryActivity.java26
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/debug/actions/ShowSessionNotificationDebugAction.java4
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/phone/MapActivity.java128
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/tablet/MapMultiPaneActivity.java137
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/AddToScheduleFABFrameLayout.java (renamed from android/src/lpreview/java/com/google/samples/apps/iosched/ui/widget/AddToScheduleFABFrameLayout.java)20
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/CaptureInsetsFrameLayout.java64
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/MessageCardView.java28
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/MultiSwipeRefreshLayout.java1
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsFrameLayout.java142
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsScrollView.java142
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeProgressBar.java267
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeRefreshLayout.java496
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/AccountUtils.java6
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/FeedbackUtils.java4
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/ImageLoader.java9
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/LPreviewUtilsBase.java211
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/LUtils.java181
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/LoginAndAuthHelper.java15
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/PrefUtils.java6
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/RecentTasksStyler.java55
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/SessionsHelper.java33
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/UIUtils.java34
-rw-r--r--android/src/main/java/com/google/samples/apps/iosched/util/WiFiUtils.java27
-rw-r--r--android/src/main/res/anim-v21/add_schedule_fab_state_list_anim.xml (renamed from android/src/lpreview/res/anim-v21/add_schedule_fab_state_list_anim.xml)25
-rwxr-xr-xandroid/src/main/res/drawable-hdpi/ic_launcher.pngbin5566 -> 0 bytes
-rwxr-xr-xandroid/src/main/res/drawable-mdpi/ic_launcher.pngbin3069 -> 0 bytes
-rw-r--r--android/src/main/res/drawable-v21/add_schedule_fab_icon_anim.xml (renamed from android/src/lpreview/res/drawable-v21/add_schedule_fab_icon_anim.xml)204
-rw-r--r--android/src/main/res/drawable-v21/add_schedule_fab_ripple_background_off.xml (renamed from android/src/lpreview/res/drawable-v21/add_schedule_fab_ripple_background_off.xml)0
-rw-r--r--android/src/main/res/drawable-v21/add_schedule_fab_ripple_background_on.xml (renamed from android/src/lpreview/res/drawable-v21/add_schedule_fab_ripple_background_on.xml)2
-rw-r--r--android/src/main/res/drawable-v21/photo_item_foreground.xml (renamed from android/src/lpreview/res/drawable-v21/photo_item_foreground.xml)0
-rw-r--r--android/src/main/res/drawable-v21/photo_item_foreground_borderless.xml (renamed from android/src/lpreview/res/values-v21/dimens.xml)4
-rw-r--r--android/src/main/res/drawable-v21/popup_item_background.xml (renamed from android/src/lpreview/res/drawable-v21/popup_item_background.xml)0
-rw-r--r--android/src/main/res/drawable-v21/schedule_item_touchoverlay.xml (renamed from android/src/lpreview/res/drawable-v21/schedule_item_touchoverlay.xml)0
-rw-r--r--android/src/main/res/drawable-v21/schedule_item_touchoverlay_dark.xml (renamed from android/src/lpreview/res/drawable-v21/schedule_item_touchoverlay_dark.xml)0
-rwxr-xr-xandroid/src/main/res/drawable-xhdpi/ic_launcher.pngbin7981 -> 0 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_000.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_000.png)bin215 -> 215 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_001.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_001.png)bin604 -> 604 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_002.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_002.png)bin725 -> 725 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_003.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_003.png)bin818 -> 818 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_004.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_004.png)bin866 -> 866 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_005.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_005.png)bin702 -> 702 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_006.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_006.png)bin688 -> 688 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_007.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_007.png)bin709 -> 709 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_008.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_008.png)bin671 -> 671 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_009.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_009.png)bin770 -> 770 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_010.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_010.png)bin697 -> 697 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_011.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_011.png)bin764 -> 764 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_012.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_012.png)bin744 -> 744 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_013.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_013.png)bin733 -> 733 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_014.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_014.png)bin679 -> 679 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_015.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_015.png)bin792 -> 792 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_016.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_016.png)bin812 -> 812 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_017.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_017.png)bin728 -> 728 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_018.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_018.png)bin787 -> 787 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_019.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_019.png)bin858 -> 858 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_020.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_020.png)bin868 -> 868 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_021.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_021.png)bin841 -> 841 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_022.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_022.png)bin850 -> 850 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_023.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_023.png)bin836 -> 836 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_024.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_024.png)bin833 -> 833 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_025.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_025.png)bin764 -> 764 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_026.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_026.png)bin778 -> 778 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_027.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_027.png)bin820 -> 820 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_028.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_028.png)bin796 -> 796 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_029.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_029.png)bin828 -> 828 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_030.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_030.png)bin843 -> 843 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_000.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_000.png)bin843 -> 843 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_001.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_001.png)bin837 -> 837 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_002.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_002.png)bin818 -> 818 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_003.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_003.png)bin813 -> 813 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_004.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_004.png)bin790 -> 790 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_005.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_005.png)bin799 -> 799 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_006.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_006.png)bin768 -> 768 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_007.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_007.png)bin885 -> 885 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_008.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_008.png)bin791 -> 791 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_009.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_009.png)bin705 -> 705 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_010.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_010.png)bin559 -> 559 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_011.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_011.png)bin659 -> 659 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_012.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_012.png)bin786 -> 786 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_013.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_013.png)bin834 -> 834 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_014.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_014.png)bin913 -> 913 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_015.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_015.png)bin895 -> 895 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_016.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_016.png)bin777 -> 777 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_017.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_017.png)bin895 -> 895 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_018.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_018.png)bin895 -> 895 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_019.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_019.png)bin923 -> 923 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_020.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_020.png)bin908 -> 908 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_021.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_021.png)bin894 -> 894 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_022.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_022.png)bin875 -> 875 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_023.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_023.png)bin847 -> 847 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_024.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_024.png)bin656 -> 656 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_025.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_025.png)bin725 -> 725 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_026.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_026.png)bin633 -> 633 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_027.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_027.png)bin646 -> 646 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_028.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_028.png)bin540 -> 540 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_029.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_029.png)bin369 -> 369 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_030.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_030.png)bin302 -> 302 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_ab_close.png (renamed from android/src/lpreview/res/drawable-xxhdpi-v21/ic_ab_close.png)bin368 -> 368 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_action_share.pngbin685 -> 660 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_action_social_stream.pngbin415 -> 428 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_drawer.pngbin184 -> 290 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_collapse.pngbin293 -> 1103 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_expand.pngbin301 -> 1139 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_drawer_feedback.pngbin463 -> 0 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_drawer_people_met.pngbin479 -> 484 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_drawer_social.pngbin456 -> 362 bytes
-rwxr-xr-xandroid/src/main/res/drawable-xxhdpi/ic_launcher.pngbin13768 -> 0 bytes
-rw-r--r--android/src/main/res/drawable-xxhdpi/ic_up.pngbin435 -> 301 bytes
-rw-r--r--android/src/main/res/drawable-xxxhdpi/ic_launcher.pngbin20322 -> 0 bytes
-rw-r--r--android/src/main/res/layout-sw600dp/activity_map.xml84
-rw-r--r--android/src/main/res/layout-sw600dp/activity_welcome.xml157
-rw-r--r--android/src/main/res/layout-v21/include_add_schedule_fab.xml (renamed from android/src/lpreview/res/layout-v21/include_add_schedule_fab.xml)0
-rw-r--r--android/src/main/res/layout/activity_browse_sessions.xml7
-rw-r--r--android/src/main/res/layout/activity_experts_directory.xml5
-rw-r--r--android/src/main/res/layout/activity_feedback.xml (renamed from android/src/lpreview/res/layout-v21/toolbar_actionbar.xml)17
-rw-r--r--android/src/main/res/layout/activity_map.xml27
-rw-r--r--android/src/main/res/layout/activity_my_schedule_narrow.xml1
-rw-r--r--android/src/main/res/layout/activity_my_schedule_wide.xml1
-rw-r--r--android/src/main/res/layout/activity_nearby_eula.xml60
-rw-r--r--android/src/main/res/layout/activity_people_ive_met.xml1
-rw-r--r--android/src/main/res/layout/activity_search.xml15
-rw-r--r--android/src/main/res/layout/activity_session_detail.xml (renamed from android/src/main/res/layout/fragment_session_detail.xml)92
-rw-r--r--android/src/main/res/layout/activity_settings.xml31
-rw-r--r--android/src/main/res/layout/activity_social.xml1
-rw-r--r--android/src/main/res/layout/activity_video_library.xml5
-rw-r--r--android/src/main/res/layout/activity_welcome.xml80
-rw-r--r--android/src/main/res/layout/dialog_about.xml6
-rw-r--r--android/src/main/res/layout/explore_spinner_item_dropdown.xml2
-rw-r--r--android/src/main/res/layout/fragment_experts_directory.xml2
-rw-r--r--android/src/main/res/layout/fragment_hashtags.xml6
-rw-r--r--android/src/main/res/layout/fragment_map.xml4
-rw-r--r--android/src/main/res/layout/fragment_nearby.xml14
-rw-r--r--android/src/main/res/layout/fragment_partners.xml15
-rw-r--r--android/src/main/res/layout/fragment_session_feedback.xml3
-rw-r--r--android/src/main/res/layout/fragment_sessions.xml6
-rw-r--r--android/src/main/res/layout/fragment_video_library.xml8
-rw-r--r--android/src/main/res/layout/header_experts_directory.xml3
-rw-r--r--android/src/main/res/layout/include_link_row.xml5
-rw-r--r--android/src/main/res/layout/list_item_session.xml96
-rw-r--r--android/src/main/res/layout/list_item_session_hero_narrow.xml2
-rw-r--r--android/src/main/res/layout/list_item_session_hero_wide.xml2
-rw-r--r--android/src/main/res/layout/message_card.xml5
-rw-r--r--android/src/main/res/layout/my_schedule_item.xml3
-rw-r--r--android/src/main/res/layout/navdrawer.xml106
-rw-r--r--android/src/main/res/layout/navdrawer_content.xml113
-rw-r--r--android/src/main/res/layout/navdrawer_for_ab_overlay.xml35
-rw-r--r--android/src/main/res/layout/navdrawer_item.xml6
-rw-r--r--android/src/main/res/layout/nearby_button.xml1
-rw-r--r--android/src/main/res/layout/toolbar_actionbar.xml13
-rw-r--r--android/src/main/res/layout/toolbar_actionbar_translucent.xml (renamed from android/src/lpreview/res/layout-v21/toolbar_actionbar_with_translucent_background.xml)12
-rw-r--r--android/src/main/res/layout/toolbar_actionbar_with_headerbar.xml (renamed from android/src/lpreview/res/layout-v21/toolbar_actionbar_with_headerbar.xml)10
-rw-r--r--android/src/main/res/layout/video_library_spinner_item_dropdown.xml32
-rw-r--r--android/src/main/res/menu/browse_sessions.xml41
-rw-r--r--android/src/main/res/menu/my_schedule.xml19
-rw-r--r--android/src/main/res/menu/nearby.xml9
-rw-r--r--android/src/main/res/menu/search.xml7
-rw-r--r--android/src/main/res/menu/session_detail.xml9
-rw-r--r--android/src/main/res/menu/session_livestream.xml9
-rw-r--r--android/src/main/res/menu/sessions_context.xml11
-rw-r--r--android/src/main/res/mipmap-hdpi/ic_launcher.pngbin0 -> 4790 bytes
-rw-r--r--android/src/main/res/mipmap-mdpi/ic_launcher.pngbin0 -> 3316 bytes
-rw-r--r--android/src/main/res/mipmap-xhdpi/ic_launcher.pngbin0 -> 6241 bytes
-rw-r--r--android/src/main/res/mipmap-xxhdpi/ic_launcher.pngbin0 -> 9787 bytes
-rw-r--r--android/src/main/res/mipmap-xxxhdpi/ic_launcher.pngbin0 -> 13536 bytes
-rw-r--r--android/src/main/res/transition-v21/shared_element.xml (renamed from android/src/lpreview/res/transition-v21/shared_element.xml)0
-rw-r--r--android/src/main/res/transition-v21/window_enter_exit.xml (renamed from android/src/lpreview/res/transition-v21/window_enter_exit.xml)0
-rw-r--r--android/src/main/res/values-sw360dp/dimens.xml4
-rw-r--r--android/src/main/res/values-sw600dp-v21/styles.xml (renamed from android/src/lpreview/res/values-v21/attrs.xml)11
-rw-r--r--android/src/main/res/values-sw600dp/dimens.xml2
-rw-r--r--android/src/main/res/values-sw600dp/styles.xml2
-rw-r--r--android/src/main/res/values-v17/styles.xml2
-rw-r--r--android/src/main/res/values-v21/fonts.xml (renamed from android/src/lpreview/res/values-v21/fonts.xml)3
-rw-r--r--android/src/main/res/values-v21/refs.xml (renamed from android/src/lpreview/res/values-v21/refs.xml)0
-rw-r--r--android/src/main/res/values-v21/styles.xml49
-rw-r--r--android/src/main/res/values/attrs.xml12
-rw-r--r--android/src/main/res/values/colors.xml8
-rw-r--r--android/src/main/res/values/dimens.xml22
-rw-r--r--android/src/main/res/values/fonts.xml3
-rw-r--r--android/src/main/res/values/refs.xml2
-rw-r--r--android/src/main/res/values/strings.xml6
-rw-r--r--android/src/main/res/values/styles.xml140
-rw-r--r--art/actionbar_action_icons.ai1816
-rw-r--r--art/drawer_icons.ai1777
-rw-r--r--art/ic_launcher_material-xxxhdpi.psdbin0 -> 280462 bytes
-rw-r--r--art/ic_launcher_material.ai2674
-rw-r--r--binaries/iosched-lpreview.apkbin5312639 -> 0 bytes
-rw-r--r--build.gradle2
-rw-r--r--doc/BUILDING.md179
-rw-r--r--doc/IMAGES.md2
-rw-r--r--gcm-server/build.gradle1
-rw-r--r--gradle.properties24
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
228 files changed, 6720 insertions, 7562 deletions
diff --git a/.travis.yml b/.travis.yml
index 60d0d16..540819e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,19 +16,19 @@ language: android
android:
components:
- - build-tools-20.0.0
- - andorid-19
+ - build-tools-21.1.1
- android-20
+ - android-21
- extra-google-m2repository
- extra-android-m2repository
- - sys-img-armeabi-v7a-android-20
+ - sys-img-armeabi-v7a-android-21
notifications:
email: false
env:
matrix:
- - ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a
+ - ANDROID_TARGET=android-21 ANDROID_ABI=armeabi-v7a
before_install:
- echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI
diff --git a/README.md b/README.md
index 955b98f..bbe2a52 100644
--- a/README.md
+++ b/README.md
@@ -9,16 +9,11 @@ This project is the Android app for the conference. The app supports devices
running Android 4.0+, and is optimized for phones and tablets of all shapes
and sizes. It also contains an Android Wear integration.
-<h2>Android L Developer Preview</h2>
+<h2>Android 5.0 and Material Design</h2>
![Screenshot](art/hero.png)
-We have updated the I/O app with [material design](http://www.google.com/design/spec) and the [Android L Developer Preview](http://developer.android.com/preview/index.html)! For a quick preview of the new tactile surfaces, animated touch feedback, bold use of color, and refreshed iconography by checking out this [teaser video](https://www.youtube.com/watch?v=mCgteBXYxQc) or download the preview APK below.
-
-<a href="../../raw/master/binaries/iosched-lpreview.apk"><b>Download the I/O app APK for Android L Preview</b></a>
-
-To run this APK, you will need a device set up with the Android L Preview system image. For
-more information, please refer to the [Android L Developer Preview page](http://developer.android.com/preview/index.html).
+We have updated the I/O app with [material design](http://www.google.com/design/spec) and the Android 5.0 SDK! For a quick preview of the new tactile surfaces, animated touch feedback, bold use of color, and refreshed iconography, check out this [teaser video](https://www.youtube.com/watch?v=mCgteBXYxQc).
<h2>Source</h2>
diff --git a/Wearable/build.gradle b/Wearable/build.gradle
index 7549abb..05a05a8 100644
--- a/Wearable/build.gradle
+++ b/Wearable/build.gradle
@@ -36,16 +36,16 @@ android {
}
signingConfigs {
debug {
- storeFile file("../android/debug.keystore")
- storePassword "android"
- keyAlias "androiddebugkey"
- keyPassword "android"
+ storeFile file(iosched14_android_debugkey_storefile)
+ storePassword iosched14_android_debugkey_storePassword
+ keyAlias iosched14_android_debugkey_keyAlias
+ keyPassword iosched14_android_debugkey_keyPassword
}
release {
- storeFile file("../android/debug.keystore")
- storePassword "android"
- keyAlias "androiddebugkey"
- keyPassword "android"
+ storeFile file(iosched14_android_releasekey_storefile)
+ storePassword iosched14_android_releasekey_storePassword
+ keyAlias iosched14_android_releasekey_keyAlias
+ keyPassword iosched14_android_releasekey_keyPassword
}
}
@@ -65,8 +65,8 @@ android {
}
dependencies {
- compile 'com.android.support:support-v13:+'
+ compile 'com.android.support:support-v13:21.+'
compile 'com.google.android.support:wearable:+'
- compile 'com.google.android.gms:play-services-wearable:+'
+ compile 'com.google.android.gms:play-services-wearable:6.1.+'
}
diff --git a/android/build.gradle b/android/build.gradle
index b570079..737c141 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -14,8 +14,6 @@
* limitations under the License.
*/
-lpreview = hasProperty('lpreview')
-
apply plugin: 'com.android.application'
repositories {
@@ -26,15 +24,12 @@ repositories {
}
android {
- compileSdkVersion lpreview ? "android-L" : 19
- buildToolsVersion "20.0.0"
-
- productFlavors { lpreview ? lpreview{} : classic{} }
+ compileSdkVersion 21
+ buildToolsVersion "21.1.1"
- defaultConfig lpreview ? {} : {
- // Non-L-preview configuration
+ defaultConfig {
minSdkVersion 14
- targetSdkVersion 19
+ targetSdkVersion 21
}
signingConfigs {
@@ -58,7 +53,7 @@ android {
signingConfig signingConfigs.debug
}
release {
- runProguard true
+ minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), file('proguard-project.txt')
signingConfig signingConfigs.release
}
@@ -75,10 +70,10 @@ android {
dependencies {
wearApp project(':Wearable')
- compile 'com.google.android.gms:play-services:5+'
- compile 'com.android.support:support-v13:20.+'
- compile 'com.android.support:support-v4:20.+'
- compile 'com.google.android.apps.dashclock:dashclock-api:+'
+ compile 'com.google.android.gms:play-services:6.1.+'
+ compile 'com.android.support:support-v13:21.+'
+ compile 'com.android.support:appcompat-v7:21.+'
+ compile 'com.android.support:cardview-v7:21.+'
compile 'com.google.code.gson:gson:2.+'
compile('com.google.api-client:google-api-client:1.+') {
exclude group: 'xpp3', module: 'shared'
diff --git a/android/src/classic/java/com/google/samples/apps/iosched/util/LPreviewUtils.java b/android/src/classic/java/com/google/samples/apps/iosched/util/LPreviewUtils.java
deleted file mode 100644
index e9b622d..0000000
--- a/android/src/classic/java/com/google/samples/apps/iosched/util/LPreviewUtils.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.util;
-
-import android.app.Activity;
-
-public class LPreviewUtils {
- private LPreviewUtils() {
- }
-
- public static LPreviewUtilsBase getInstance(Activity activity) {
- return new LPreviewUtilsBase(activity);
- }
-}
diff --git a/android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtils.java b/android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtils.java
deleted file mode 100644
index 6503430..0000000
--- a/android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtils.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.util;
-
-import android.app.Activity;
-import android.os.Build;
-
-public class LPreviewUtils {
- private LPreviewUtils() {
- }
-
- public static LPreviewUtilsBase getInstance(Activity activity) {
- if ("L".equals(Build.VERSION.CODENAME)) {
- return new LPreviewUtilsImpl(activity);
- } else {
- return new LPreviewUtilsBase(activity);
- }
- }
-}
diff --git a/android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtilsImpl.java b/android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtilsImpl.java
deleted file mode 100644
index d1023d8..0000000
--- a/android/src/lpreview/java/com/google/samples/apps/iosched/util/LPreviewUtilsImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.util;
-
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.app.ActivityOptions;
-import android.app.SharedElementListener;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.graphics.Typeface;
-import android.graphics.drawable.AnimatedStateListDrawable;
-import android.os.Build;
-import android.support.v4.widget.DrawerLayout;
-import android.text.TextUtils;
-import android.view.Gravity;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.widget.Toolbar;
-
-import com.google.samples.apps.iosched.R;
-
-import java.lang.Override;
-import java.util.List;
-import java.util.Map;
-
-@TargetApi(Build.VERSION_CODES.L)
-public class LPreviewUtilsImpl extends LPreviewUtilsBase {
- private static final int[] STATE_CHECKED = new int[]{android.R.attr.state_checked};
- private static final int[] STATE_UNCHECKED = new int[]{};
-
- private static Typeface sMediumTypeface;
-
- private ActionBarDrawerToggleWrapper mDrawerToggleWrapper;
- private DrawerLayout mDrawerLayout;
- private Toolbar mActionBarToolbar;
-
- LPreviewUtilsImpl(Activity activity) {
- super(activity);
- }
-
- @Override
- public ActionBarDrawerToggleWrapper setupDrawerToggle(DrawerLayout drawerLayout, DrawerLayout.DrawerListener drawerListener) {
- // On L, use a different drawer indicator
- if (mActionBarToolbar != null) {
- mActionBarToolbar.setNavigationIcon(R.drawable.ic_drawer);
- mActionBarToolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (mDrawerLayout.isDrawerOpen(Gravity.START)) {
- mDrawerLayout.closeDrawer(Gravity.START);
- } else {
- mDrawerLayout.openDrawer(Gravity.START);
- }
- }
- });
- } else {
- mActivity.getActionBar().setHomeAsUpIndicator(R.drawable.ic_drawer);
- }
- // On L, stub out the ActionBarDrawerToggle
- mDrawerLayout = drawerLayout;
- mDrawerLayout.setDrawerListener(drawerListener);
- mDrawerToggleWrapper = new ActionBarDrawerToggleWrapper();
- return mDrawerToggleWrapper;
- }
-
- public class ActionBarDrawerToggleWrapper extends LPreviewUtilsBase.ActionBarDrawerToggleWrapper {
- public void syncState() {
- }
-
- public void onConfigurationChanged(Configuration newConfig) {
- }
-
- public boolean onOptionsItemSelected(MenuItem item) {
- // Toggle drawer
- if (item.getItemId() == android.R.id.home) {
- if (mDrawerLayout.isDrawerOpen(Gravity.START)) {
- mDrawerLayout.closeDrawer(Gravity.START);
- } else {
- mDrawerLayout.openDrawer(Gravity.START);
- }
- return true;
- }
- return false;
- }
- }
-
- @Override
- public void setViewElevation(View v, float elevation) {
- v.setElevation(elevation);
- }
-
- @Override
- public void trySetActionBar() {
- mActionBarToolbar = (Toolbar) mActivity.findViewById(R.id.toolbar_actionbar);
- if (mActionBarToolbar != null) {
- mActivity.setActionBar(mActionBarToolbar);
- }
- }
-
- @Override
- public boolean hasLPreviewAPIs() {
- return true;
- }
-
- public void startActivityWithTransition(Intent intent, final View clickedView,
- final String sharedElementName) {
- ActivityOptions options = null;
- if (clickedView != null && !TextUtils.isEmpty(sharedElementName)) {
- options = ActivityOptions.makeSceneTransitionAnimation(
- mActivity, clickedView, sharedElementName);
- }
-
- mActivity.setExitSharedElementListener(new SharedElementListener() {
- @Override
- public void remapSharedElements(List<String> names, Map<String, View> sharedElements) {
- super.remapSharedElements(names, sharedElements);
- sharedElements.put(sharedElementName, clickedView);
- }
- });
-
- mActivity.startActivity(intent, (options != null) ? options.toBundle() : null);
- }
-
- @Override
- public void setViewName(View v, String viewName) {
- v.setViewName(viewName);
- }
-
- @Override
- public void postponeEnterTransition() {
- mActivity.postponeEnterTransition();
- }
-
- @Override
- public void startPostponedEnterTransition() {
- mActivity.startPostponedEnterTransition();
- }
-
- @Override
- public void showHideActionBarIfPartOfDecor(boolean show) {
- if (mActionBarToolbar != null) {
- // Action bar is part of the layout
- return;
- }
-
- // Action bar is part of window decor
- super.showHideActionBarIfPartOfDecor(show);
- }
-
- public boolean shouldChangeActionBarForDrawer() {
- return false;
- }
-
- @Override
- public void setMediumTypeface(TextView textView) {
- if (sMediumTypeface == null) {
- sMediumTypeface = Typeface.create("sans-serif-medium", Typeface.NORMAL);
- }
-
- textView.setTypeface(sMediumTypeface);
- }
-
- @Override
- public int getStatusBarColor() {
- return mActivity.getWindow().getStatusBarColor();
- }
-
- @Override
- public void setStatusBarColor(int color) {
- mActivity.getWindow().setStatusBarColor(color);
- }
-
- @Override
- public void setOrAnimatePlusCheckIcon(final ImageView imageView, boolean isCheck,
- boolean allowAnimate) {
- AnimatedStateListDrawable drawable = (AnimatedStateListDrawable)
- mActivity.getResources().getDrawable(R.drawable.add_schedule_fab_icon_anim);
- imageView.setImageDrawable(drawable);
- if (allowAnimate) {
- // TODO: figure out if there's a way to always animate from current state
- imageView.setImageState(isCheck ? STATE_UNCHECKED : STATE_CHECKED, false);
- drawable.jumpToCurrentState();
- imageView.setImageState(isCheck ? STATE_CHECKED : STATE_UNCHECKED, false);
- } else {
- imageView.setImageState(isCheck ? STATE_CHECKED : STATE_UNCHECKED, false);
- drawable.jumpToCurrentState();
- }
- }
-}
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_drawer.png b/android/src/lpreview/res/drawable-xxhdpi-v21/ic_drawer.png
deleted file mode 100644
index 19bae3e..0000000
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_drawer.png
+++ /dev/null
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_launcher.png b/android/src/lpreview/res/drawable-xxhdpi-v21/ic_launcher.png
deleted file mode 100644
index 32502c3..0000000
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_up.png b/android/src/lpreview/res/drawable-xxhdpi-v21/ic_up.png
deleted file mode 100644
index 3396894..0000000
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_up.png
+++ /dev/null
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxxhdpi-v21/ic_launcher.png b/android/src/lpreview/res/drawable-xxxhdpi-v21/ic_launcher.png
deleted file mode 100644
index afae355..0000000
--- a/android/src/lpreview/res/drawable-xxxhdpi-v21/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/lpreview/res/values-sw600dp-v21/styles.xml b/android/src/lpreview/res/values-sw600dp-v21/styles.xml
deleted file mode 100644
index 8165a88..0000000
--- a/android/src/lpreview/res/values-sw600dp-v21/styles.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!--
- Copyright 2014 Google Inc. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<resources>
-
- <style name="Theme.IOSched.Sessions" parent="Theme.IOSched.Sessions.Base">
- <item name="actionBarInsetStart">@dimen/keyline_2_minus_16dp</item>
- <item name="spinnerBarInsetStart">@dimen/keyline_2_minus_16dp</item>
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowContentTransitions">false</item>
- </style>
-
- <style name="Theme.IOSched.SessionDetails" parent="Theme.IOSched.SessionDetails.Base">
- <item name="android:windowContentTransitions">false</item>
- <item name="android:actionBarStyle">@style/TransparentActionBar</item>
- <item name="android:windowBackground">@android:color/transparent</item>
- <item name="android:windowActionBarOverlay">true</item>
- <item name="android:homeAsUpIndicator">@drawable/ic_ab_close</item>
- </style>
-
-</resources>
diff --git a/android/src/lpreview/res/values-v21/styles.xml b/android/src/lpreview/res/values-v21/styles.xml
deleted file mode 100644
index 4d00ccf..0000000
--- a/android/src/lpreview/res/values-v21/styles.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<!--
- Copyright 2014 Google Inc. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<resources>
-
- <style name="FrameworkRoot.Theme" parent="android:Theme.Material.Light.DarkActionBar" />
- <style name="FrameworkRoot.ActionBar" parent="android:Widget.Material.ActionBar" />
- <style name="FrameworkRoot.ActionBar.TitleText" parent="android:TextAppearance.Material.Widget.ActionBar.Title" />
- <style name="FrameworkRoot.ActionBar.TabBar" parent="android:Widget.Material.ActionBar.TabBar" />
- <style name="FrameworkRoot.EditText" parent="android:Widget.Material.Light.EditText" />
- <style name="FrameworkRoot.Widget" parent="android:Theme.Material" />
- <style name="FrameworkRoot.Widget.ActionButton.Overflow" parent="android:Widget.Material.ActionButton.Overflow" />
- <style name="FrameworkRoot.Widget.Spinner" parent="android:Widget.Material.Light.Spinner" />
- <style name="FrameworkRoot.Widget.ListView.DropDown" parent="android:Widget.Material.Light.ListView.DropDown" />
- <style name="FrameworkRoot.Widget.PopupMenu" parent="android:Widget.Material.Light.PopupMenu" />
- <style name="FrameworkRoot.TextAppearance.Widget.PopupMenu.Large" parent="android:TextAppearance.Material.Widget.PopupMenu.Large" />
-
- <style name="Theme" parent="FrameworkRoot.Theme" /> <!-- doesn't contain the pre-L code from the values/styles.xml -->
-
- <style name="Theme.IOSched" parent="Theme.IOSched.Base">
- <item name="actionBarIconColor">#fff</item>
- <item name="actionBarOverlayTopOffset">0dp</item> <!-- action bars replaced by Toolbars -->
- <item name="actionBarInsetStart">@dimen/keyline_2</item>
- <item name="spinnerBarInsetStart">@dimen/keyline_2_minus_16dp</item>
- <item name="selectableItemBackgroundBorderless">?android:selectableItemBackgroundBorderless</item>
- <item name="popupItemBackground">@drawable/popup_item_background</item>
- <item name="photoItemForeground">@drawable/photo_item_foreground</item>
-
- <item name="android:colorPrimary">@color/theme_primary</item>
- <item name="android:colorPrimaryDark">@color/theme_primary_dark</item>
- <item name="android:colorAccent">@color/theme_accent_2</item>
- <item name="android:navigationBarColor">#000</item>
- <item name="android:actionBarTheme">@style/ActionBarThemeOverlay</item>
- <item name="android:homeAsUpIndicator">@drawable/ic_up</item>
-
- <!-- used only if windowContentTransitions is true -->
- <item name="android:windowSharedElementEnterTransition">@transition/shared_element</item>
- <item name="android:windowSharedElementExitTransition">@transition/shared_element</item>
- <item name="android:windowEnterTransition">@android:transition/no_transition</item>
- <item name="android:windowExitTransition">@android:transition/no_transition</item>
- <item name="android:windowAllowExitTransitionOverlap">true</item>
- <item name="android:windowAllowEnterTransitionOverlap">true</item>
- </style>
-
- <style name="Theme.IOSched.SessionDetails" parent="Theme.IOSched.SessionDetails.Base">
- <item name="android:actionBarStyle">@style/TransparentActionBar</item>
- <item name="android:windowActionBarOverlay">true</item>
- <!--<item name="android:windowContentTransitions">true</item>-->
- </style>
-
- <style name="Theme.IOSched.Sessions" parent="Theme.IOSched.Sessions.Base">
- <item name="actionBarInsetStart">@dimen/keyline_2_minus_16dp</item>
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- <!--<item name="android:windowContentTransitions">true</item>-->
- </style>
-
- <!-- Live stream -->
- <style name="Theme.IOSched.Livestream" parent="Theme.IOSched">
- <item name="android:windowBackground">@color/gray_background</item>
- <item name="actionBarInsetStart">@dimen/keyline_2_minus_16dp</item>
- </style>
-
- <style name="Theme.IOSched.WithElevatedHeader" parent="Theme.IOSched">
- <item name="android:actionBarStyle">@style/ElevatedActionBar</item>
- </style>
-
- <style name="Theme.IOSched.MySchedule" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- </style>
-
- <style name="Theme.IOSched.Map" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- </style>
-
- <style name="Theme.IOSched.PeopleIveMet" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- </style>
-
- <style name="Theme.IOSched.ExpertsDirectory" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- </style>
-
- <style name="Theme.IOSched.Social" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowBackground">@color/gray_background</item>
- </style>
-
- <style name="Theme.IOSched.VideoLibrary" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item> <!-- replaced by toolbar -->
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowActionBarOverlay">true</item>
- </style>
-
- <style name="Widget.IOSched.HeaderBar.Spinner" parent="Widget.IOSched.HeaderBar.Spinner.Base">
- <item name="android:theme">@style/ActionBarThemeOverlay</item>
- </style>
-
- <style name="ActionBar" parent="ActionBar.Base">
- <item name="android:displayOptions">homeAsUp|showTitle</item>
- <item name="android:contentInsetStart">?actionBarInsetStart</item>
- </style>
-
- <style name="ElevatedActionBar" parent="ActionBar">
- <item name="android:elevation">@dimen/headerbar_elevation</item>
- </style>
-
- <style name="TabIndicator">
- <item name="android:theme">@style/ActionBarThemeOverlay</item>
- </style>
-
- <style name="ActionBarThemeOverlay" parent="">
- <item name="android:textColorPrimary">#fff</item>
- <item name="android:colorControlNormal">?actionBarIconColor</item>
- <item name="android:colorControlHighlight">#3fff</item>
- </style>
-
- <style name="HeaderBar">
- <item name="android:elevation">@dimen/headerbar_elevation</item>
- <item name="android:background">?android:colorPrimary</item>
- </style>
-</resources>
diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml
index 6c1bd36..beb8708 100644
--- a/android/src/main/AndroidManifest.xml
+++ b/android/src/main/AndroidManifest.xml
@@ -22,10 +22,9 @@
android:versionName="2.2.3"
android:installLocation="auto">
- <!-- targetSdkVersion set to 19 from build.gradle on non-L-preview builds -->
<uses-sdk
android:minSdkVersion="14"
- android:targetSdkVersion="L" />
+ android:targetSdkVersion="21" />
<permission
android:name="com.google.samples.apps.iosched.permission.WRITE_SCHEDULE"
@@ -80,7 +79,7 @@
<application
android:label="@string/app_name"
- android:icon="@drawable/ic_launcher"
+ android:icon="@mipmap/ic_launcher"
android:logo="@drawable/actionbar_logo"
android:theme="@style/Theme.IOSched"
android:hardwareAccelerated="true"
@@ -124,7 +123,6 @@
<activity
android:name=".ui.SettingsActivity"
android:label="@string/title_settings"
- android:theme="@style/Theme.IOSched.WithElevatedHeader"
android:parentActivityName=".ui.MyScheduleActivity" />
<activity
@@ -170,8 +168,7 @@
</activity>
<activity android:name=".ui.SessionFeedbackActivity"
- android:label="@string/title_session_feedback"
- android:theme="@style/Theme.IOSched.WithElevatedHeader">
+ android:label="@string/title_session_feedback">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
@@ -262,7 +259,7 @@
<!-- People I've Met -->
<activity android:name=".ui.PeopleIveMetActivity"
- android:label="@string/app_name"
+ android:label="@string/title_people_ive_met"
android:theme="@style/Theme.IOSched.PeopleIveMet"/>
<!-- Session alarm/calendar integrating components. -->
@@ -367,9 +364,6 @@
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
</intent-filter>
- <intent-filter>
- <action android:name="com.google.sample.apps.iosched.ACTION_NOTIFICATION_DISMISSAL"/>
- </intent-filter>
</service>
</application>
diff --git a/android/src/main/java/com/google/samples/apps/iosched/gcm/GCMRedirectedBroadcastReceiver.java b/android/src/main/java/com/google/samples/apps/iosched/gcm/GCMRedirectedBroadcastReceiver.java
index f928e6d..2340454 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/gcm/GCMRedirectedBroadcastReceiver.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/gcm/GCMRedirectedBroadcastReceiver.java
@@ -22,7 +22,6 @@ import com.google.android.gcm.GCMBroadcastReceiver;
import android.content.Context;
/**
- * @author trevorjohns@google.com (Trevor Johns)
*/
public class GCMRedirectedBroadcastReceiver extends GCMBroadcastReceiver {
diff --git a/android/src/main/java/com/google/samples/apps/iosched/provider/ScheduleContract.java b/android/src/main/java/com/google/samples/apps/iosched/provider/ScheduleContract.java
index 5e71f59..cda6482 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/provider/ScheduleContract.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/provider/ScheduleContract.java
@@ -75,7 +75,7 @@ public class ScheduleContract {
* is (codelab, office hours, etc) might belong to the "TYPE" category.
*/
String TAG_CATEGORY = "tag_category";
- /** Tag name. For example, "Android" */
+ /** Tag name. For example, "Android". */
String TAG_NAME = "tag_name";
/** Tag's order in its category (for sorting). */
String TAG_ORDER_IN_CATEGORY = "tag_order_in_category";
@@ -151,7 +151,7 @@ public class ScheduleContract {
String SESSION_IMPORT_HASHCODE = "session_import_hashcode";
/** The session's main tag. */
String SESSION_MAIN_TAG = "session_main_tag";
- /** The session's branding color */
+ /** The session's branding color. */
String SESSION_COLOR = "session_color";
/** The session's captions URL (for livestreamed sessions). */
String SESSION_CAPTIONS_URL = "session_captions_url";
@@ -266,24 +266,24 @@ public class ScheduleContract {
interface HashtagColumns {
/** Hashtags */
String HASHTAG_NAME = "hashtag_name";
- /** Description about this hashtag */
+ /** Description about this hashtag. */
String HASHTAG_DESCRIPTION = "hashtag_description";
- /** Text color for this hashtag */
+ /** Text color for this hashtag. */
String HASHTAG_COLOR = "hashtag_color";
- /** Ordering of this hashtag */
+ /** Ordering of this hashtag. */
String HASHTAG_ORDER = "hashtag_order";
}
interface PeopleIveMetColumns {
- /** Google+ ID of the person */
+ /** Google+ ID of the person. */
String PERSON_ID = "person_id";
- /** Time when the badge of this person was scanned */
+ /** Time when the badge of this person was scanned. */
String PERSON_TIMESTAMP = "person_timestamp";
- /** Name of the person */
+ /** Name of the person. */
String PERSON_NAME = "person_name";
- /** URL of profile icon of this person */
+ /** URL of profile icon of this person. */
String PERSON_IMAGE_URL = "person_image_url";
- /** Note about this person */
+ /** Note about this person. */
String PERSON_NOTE = "person_note";
}
@@ -304,7 +304,7 @@ public class ScheduleContract {
String VIDEO_SPEAKERS = "video_speakers";
/** Thumbnail url. */
String VIDEO_THUMBNAIL_URL = "video_thumbnail_url";
- /** Import hashcode */
+ /** Import hashcode. */
String VIDEO_IMPORT_HASHCODE = "video_import_hashcode";
}
@@ -793,7 +793,7 @@ public class ScheduleContract {
public static final String DEFAULT_SORT = MapTileColumns.TILE_FLOOR + " ASC";
- /** Build {@link Uri} for all overlay zoom entries */
+ /** Build {@link Uri} for all overlay zoom entries. */
public static Uri buildUri() {
return CONTENT_URI;
}
@@ -829,7 +829,7 @@ public class ScheduleContract {
return CONTENT_URI.buildUpon().appendPath(markerId).build();
}
- /** Build {@link Uri} for all markers */
+ /** Build {@link Uri} for all markers. */
public static Uri buildMarkerUri() {
return CONTENT_URI;
}
@@ -887,12 +887,12 @@ public class ScheduleContract {
public static final String DEFAULT_SORT = VideoColumns.VIDEO_YEAR + " DESC, "
+ VideoColumns.VIDEO_TOPIC + " ASC, " + VideoColumns.VIDEO_TITLE + " ASC";
- /** Build {@link Uri} for given video */
+ /** Build {@link Uri} for given video. */
public static Uri buildVideoUri(String videoId) {
return CONTENT_URI.buildUpon().appendPath(videoId).build();
}
- /** Return video ID given URI */
+ /** Return video ID given URI. */
public static String getVideoId(Uri uri) {
return uri.getPathSegments().get(1);
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/service/SessionAlarmService.java b/android/src/main/java/com/google/samples/apps/iosched/service/SessionAlarmService.java
index 948e97f..91a5af1 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/service/SessionAlarmService.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/service/SessionAlarmService.java
@@ -16,7 +16,11 @@
package com.google.samples.apps.iosched.service;
-import android.app.*;
+import android.app.AlarmManager;
+import android.app.IntentService;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@@ -37,20 +41,21 @@ import com.google.android.gms.wearable.PutDataRequest;
import com.google.android.gms.wearable.Wearable;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.provider.ScheduleContract;
+import com.google.samples.apps.iosched.ui.BaseMapActivity;
import com.google.samples.apps.iosched.ui.BrowseSessionsActivity;
-import com.google.samples.apps.iosched.ui.MapFragment;
import com.google.samples.apps.iosched.ui.MyScheduleActivity;
import com.google.samples.apps.iosched.ui.SessionFeedbackActivity;
-import com.google.samples.apps.iosched.ui.phone.MapActivity;
import com.google.samples.apps.iosched.util.FeedbackUtils;
import com.google.samples.apps.iosched.util.PrefUtils;
import com.google.samples.apps.iosched.util.UIUtils;
import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
import java.util.concurrent.TimeUnit;
import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGE;
import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
/**
@@ -140,6 +145,10 @@ public class SessionAlarmService extends IntentService
scheduleAllStarredBlocks();
scheduleAllStarredSessionFeedbacks();
return;
+ } else if (ACTION_NOTIFY_SESSION_FEEDBACK.equals(action)) {
+ LOGD(TAG, "Showing session feedback notification.");
+ notifySessionFeedback(DEBUG_SESSION_ID.equals(intent.getStringExtra(EXTRA_SESSION_ID)));
+ return;
}
final long sessionEnd = intent.getLongExtra(SessionAlarmService.EXTRA_SESSION_END,
@@ -155,30 +164,17 @@ public class SessionAlarmService extends IntentService
LOGD(TAG, "Session alarm offset is: " + sessionAlarmOffset);
// Feedback notifications have a slightly different set of extras.
- if (ACTION_SCHEDULE_FEEDBACK_NOTIFICATION.equals(action) ||
- ACTION_NOTIFY_SESSION_FEEDBACK.equals(action)) {
+ if (ACTION_SCHEDULE_FEEDBACK_NOTIFICATION.equals(action)) {
final String sessionId = intent.getStringExtra(SessionAlarmService.EXTRA_SESSION_ID);
final String sessionTitle = intent.getStringExtra(
SessionAlarmService.EXTRA_SESSION_TITLE);
- final String sessionRoom = intent.getStringExtra(
- SessionAlarmService.EXTRA_SESSION_ROOM);
- final String sessionSpeakers = intent.getStringExtra(
- SessionAlarmService.EXTRA_SESSION_SPEAKERS);
if (sessionTitle == null || sessionEnd == UNDEFINED_VALUE ||
sessionId == null) {
- Log.e(TAG,
- "Attempted to schedule or notify for feedback without providing extras.");
+ LOGE(TAG, "Attempted to schedule for feedback without providing extras.");
return;
}
- if (ACTION_SCHEDULE_FEEDBACK_NOTIFICATION.equals(action)) {
- LOGD(TAG, "Scheduling feedback alarm for session: " + sessionTitle);
- scheduleFeedbackAlarm(sessionId, sessionEnd, sessionAlarmOffset, sessionTitle,
- sessionRoom, sessionSpeakers);
- } else {
- LOGD(TAG, "Notifying for feedback on session: " + sessionTitle);
- notifySessionFeedback(sessionId, sessionEnd, sessionTitle, sessionRoom,
- sessionSpeakers);
- }
+ LOGD(TAG, "Scheduling feedback alarm for session: " + sessionTitle);
+ scheduleFeedbackAlarm(sessionEnd, sessionAlarmOffset, sessionTitle);
return;
}
@@ -204,9 +200,8 @@ public class SessionAlarmService extends IntentService
}
}
- public void scheduleFeedbackAlarm(final String sessionId, final long sessionEnd,
- final long alarmOffset, final String sessionTitle, String sessionRoom,
- String sessionSpeakers) {
+ public void scheduleFeedbackAlarm(final long sessionEnd,
+ final long alarmOffset, final String sessionTitle) {
// By default, feedback alarms fire 5 minutes before session end time. If alarm offset is
// provided, alarm is set to go off that much time from now (useful for testing).
long alarmTime;
@@ -219,24 +214,12 @@ public class SessionAlarmService extends IntentService
LOGD(TAG, "Scheduling session feedback alarm for session '" + sessionTitle + "'");
LOGD(TAG, " -> end time: " + sessionEnd + " = " + (new Date(sessionEnd)).toString());
LOGD(TAG, " -> alarm time: " + alarmTime + " = " + (new Date(alarmTime)).toString());
- LOGD(TAG, " -> room name: " + sessionRoom);
- LOGD(TAG, " -> speakers: " + sessionSpeakers);
final Intent feedbackIntent = new Intent(
ACTION_NOTIFY_SESSION_FEEDBACK,
null,
this,
SessionAlarmService.class);
- feedbackIntent.setData(
- new Uri.Builder().authority("com.google.samples.apps.iosched")
- .path(sessionId).build()
- );
- feedbackIntent.putExtra(SessionAlarmService.EXTRA_SESSION_END, sessionEnd);
- feedbackIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ALARM_OFFSET, alarmOffset);
- feedbackIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ID, sessionId);
- feedbackIntent.putExtra(SessionAlarmService.EXTRA_SESSION_TITLE, sessionTitle);
- feedbackIntent.putExtra(SessionAlarmService.EXTRA_SESSION_SPEAKERS, sessionSpeakers);
- feedbackIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ROOM, sessionRoom);
PendingIntent pi = PendingIntent.getService(
this, 1, feedbackIntent, PendingIntent.FLAG_CANCEL_CURRENT);
final AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
@@ -296,84 +279,116 @@ public class SessionAlarmService extends IntentService
// A starred session is about to end; notify the user to provide session feedback.
// Constructs and triggers a system notification. Does nothing if the session has already
// concluded.
- private void notifySessionFeedback(final String sessionId, final long sessionEnd,
- final String sessionTitle, final String sessionRoom, final String sessionSpeakers) {
- LOGD(TAG, "Considering firing notification for feedback for session: " + sessionTitle);
- boolean isDebug = DEBUG_SESSION_ID.equals(sessionId);
+ private void notifySessionFeedback(boolean debug) {
+ LOGD(TAG, "Considering firing notification for session feedback.");
- if (isDebug) {
+ if (debug) {
LOGD(TAG, "Note: this is a debug notification.");
}
// Don't fire notification if this feature is disabled in settings
if (!PrefUtils.shouldShowSessionFeedbackReminders(this)) {
- LOGD(TAG, "Skipping session feedback notification for session " + sessionId + " ("
- + sessionTitle + "). Disabled in settings.");
+ LOGD(TAG, "Skipping session feedback notification. Disabled in settings.");
return;
}
- // Avoid repeated notifications.
- if (!isDebug && UIUtils.isFeedbackNotificationFiredForSession(this, sessionId)) {
- LOGD(TAG, "Skipping repeated session feedback notification for session '"
- + sessionTitle + "'");
+ final Cursor c = getContentResolver().query(
+ ScheduleContract.Sessions.CONTENT_MY_SCHEDULE_URI,
+ SessionsNeedingFeedbackQuery.PROJECTION,
+ SessionsNeedingFeedbackQuery.WHERE_CLAUSE, null, null);
+ if (c == null) {
return;
}
- // If the session is no longer is MY_SCHEDULE, don't notify for it.
- final Uri myScheduleUri = ScheduleContract.MySchedule.buildMyScheduleUri(this);
- final Cursor c = getContentResolver().query(
- myScheduleUri, MySessionsExistenceQuery.PROJECTION,
- MySessionsExistenceQuery.WHERE_CLAUSE, new String[]{sessionId}, null);
- if (!isDebug && (c == null || !c.moveToFirst())) {
- // no longer in MY_SCHEDULE
+ List<String> needFeedbackIds = new ArrayList<String>();
+ List<String> needFeedbackTitles = new ArrayList<String>();
+ while (c.moveToNext()) {
+ String sessionId = c.getString(SessionsNeedingFeedbackQuery.SESSION_ID);
+ String sessionTitle = c.getString(SessionsNeedingFeedbackQuery.SESSION_TITLE);
+
+ // Avoid repeated notifications.
+ if (UIUtils.isFeedbackNotificationFiredForSession(this, sessionId)) {
+ LOGD(TAG, "Skipping repeated session feedback notification for session '"
+ + sessionTitle + "'");
+ continue;
+ }
+
+ needFeedbackIds.add(sessionId);
+ needFeedbackTitles.add(sessionTitle);
+ }
+
+ if (needFeedbackIds.size() == 0) {
+ // the user has already been notified of all sessions needing feedback
return;
}
- LOGD(TAG, "Going forward with session feedback notification for: " + sessionTitle);
- final Uri sessionUri = ScheduleContract.Sessions.buildSessionUri(sessionId);
+ LOGD(TAG, "Going forward with session feedback notification for "
+ + needFeedbackIds.size() + " session(s).");
final Resources res = getResources();
- String contentText = res.getString(R.string.session_feedback_notification_text,
- sessionTitle);
-
- PendingIntent pi = TaskStackBuilder.create(this)
- .addNextIntent(new Intent(this, MyScheduleActivity.class))
- .addNextIntent(new Intent(Intent.ACTION_VIEW, sessionUri, this,
- SessionFeedbackActivity.class))
- .getPendingIntent(1, PendingIntent.FLAG_CANCEL_CURRENT);
// this is used to synchronize deletion of notifications on phone and wear
Intent dismissalIntent = new Intent(ACTION_NOTIFICATION_DISMISSAL);
- dismissalIntent.putExtra(KEY_SESSION_ID, sessionId);
+ // TODO: fix Wear dismiss integration
+ //dismissalIntent.putExtra(KEY_SESSION_ID, sessionId);
PendingIntent dismissalPendingIntent = PendingIntent
.getService(this, (int) new Date().getTime(), dismissalIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
+ String provideFeedbackTicker = res.getString(R.string.session_feedback_notification_ticker);
NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(this)
- .setContentTitle(sessionTitle)
- .setContentText(contentText)
- //.setColor(getResources().getColor(R.color.theme_primary))
- // Note: setColor() is available in the support lib v21+.
- // We commented it out because we want the source to compile
- // against support lib v20. If you are using support lib
- // v21 or above on Android L, uncomment this line.
- .setTicker(res.getString(R.string.session_feedback_notification_ticker))
- .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
+ .setColor(getResources().getColor(R.color.theme_primary))
+ .setContentText(provideFeedbackTicker)
+ .setTicker(provideFeedbackTicker)
.setLights(
SessionAlarmService.NOTIFICATION_ARGB_COLOR,
SessionAlarmService.NOTIFICATION_LED_ON_MS,
SessionAlarmService.NOTIFICATION_LED_OFF_MS)
.setSmallIcon(R.drawable.ic_stat_notification)
- .setContentIntent(pi)
- .setPriority(Notification.PRIORITY_MAX)
+ .setPriority(Notification.PRIORITY_LOW)
.setLocalOnly(true) // make it local to the phone
+ .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
.setDeleteIntent(dismissalPendingIntent)
.setAutoCancel(true);
+
+ if (needFeedbackIds.size() == 1) {
+ // Only 1 session needs feedback
+ Uri sessionUri = ScheduleContract.Sessions.buildSessionUri(needFeedbackIds.get(0));
+ PendingIntent pi = TaskStackBuilder.create(this)
+ .addNextIntent(new Intent(this, MyScheduleActivity.class))
+ .addNextIntent(new Intent(Intent.ACTION_VIEW, sessionUri, this,
+ SessionFeedbackActivity.class))
+ .getPendingIntent(1, PendingIntent.FLAG_CANCEL_CURRENT);
+
+ notifBuilder.setContentTitle(needFeedbackTitles.get(0))
+ .setContentIntent(pi);
+ } else {
+ // Show information about several sessions that need feedback
+ PendingIntent pi = TaskStackBuilder.create(this)
+ .addNextIntent(new Intent(this, MyScheduleActivity.class))
+ .getPendingIntent(1, PendingIntent.FLAG_CANCEL_CURRENT);
+
+ NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
+ inboxStyle.setBigContentTitle(provideFeedbackTicker);
+ for (String title : needFeedbackTitles) {
+ inboxStyle.addLine(title);
+ }
+
+ notifBuilder.setContentTitle(
+ getResources().getQuantityString(R.plurals.session_plurals,
+ needFeedbackIds.size(), needFeedbackIds.size()))
+ .setStyle(inboxStyle)
+ .setContentIntent(pi);
+ }
+
NotificationManager nm = (NotificationManager) getSystemService(
Context.NOTIFICATION_SERVICE);
LOGD(TAG, "Now showing session feedback notification!");
- nm.notify(sessionId, FEEDBACK_NOTIFICATION_ID, notifBuilder.build());
- setupNotificationOnWear(sessionId, sessionRoom, sessionTitle, sessionSpeakers);
+ nm.notify(FEEDBACK_NOTIFICATION_ID, notifBuilder.build());
+
+ for (int i = 0; i < needFeedbackIds.size(); i++) {
+ setupNotificationOnWear(needFeedbackIds.get(i), null, needFeedbackTitles.get(i), null);
+ }
}
/**
@@ -494,11 +509,7 @@ public class SessionAlarmService extends IntentService
NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(this)
.setContentTitle(starredSessionTitles.get(0))
.setContentText(contentText)
- //.setColor(getResources().getColor(R.color.theme_primary))
- // Note: setColor() is available in the support lib v21+.
- // We commented it out because we want the source to compile
- // against support lib v20. If you are using support lib
- // v21 or above on Android L, uncomment this line.
+ .setColor(getResources().getColor(R.color.theme_primary))
.setTicker(res.getQuantityString(R.plurals.session_notification_ticker,
starredCount,
starredCount))
@@ -560,8 +571,8 @@ public class SessionAlarmService extends IntentService
private PendingIntent createRoomMapIntent(final String roomId) {
Intent mapIntent = new Intent(getApplicationContext(),
UIUtils.getMapActivityClass(getApplicationContext()));
- mapIntent.putExtra(MapFragment.EXTRA_ROOM, roomId);
- mapIntent.putExtra(MapActivity.EXTRA_DETACHED_MODE, true);
+ mapIntent.putExtra(BaseMapActivity.EXTRA_ROOM, roomId);
+ mapIntent.putExtra(BaseMapActivity.EXTRA_DETACHED_MODE, true);
return TaskStackBuilder
.create(getApplicationContext())
.addNextIntent(new Intent(this, BrowseSessionsActivity.class))
@@ -596,12 +607,9 @@ public class SessionAlarmService extends IntentService
// TODO: Should we also check that SESSION_IN_MY_SCHEDULE is true?
final Cursor c = cr.query(ScheduleContract.Sessions.CONTENT_MY_SCHEDULE_URI,
new String[]{
- ScheduleContract.Sessions.SESSION_ID,
ScheduleContract.Sessions.SESSION_TITLE,
ScheduleContract.Sessions.SESSION_END,
ScheduleContract.Sessions.SESSION_IN_MY_SCHEDULE,
- ScheduleContract.Sessions.ROOM_NAME,
- ScheduleContract.Sessions.SESSION_SPEAKER_NAMES,
},
null,
null,
@@ -611,13 +619,9 @@ public class SessionAlarmService extends IntentService
return;
}
while (c.moveToNext()) {
- final String sessionId = c.getString(0);
- final String sessionTitle = c.getString(1);
- final long sessionEnd = c.getLong(2);
- final String sessionRoom = c.getString(3);
- final String sessionSpeakers = c.getString(4);
- scheduleFeedbackAlarm(sessionId, sessionEnd, UNDEFINED_ALARM_OFFSET, sessionTitle,
- sessionRoom, sessionSpeakers);
+ final String sessionTitle = c.getString(0);
+ final long sessionEnd = c.getLong(1);
+ scheduleFeedbackAlarm(sessionEnd, UNDEFINED_ALARM_OFFSET, sessionTitle);
}
}
@@ -635,16 +639,19 @@ public class SessionAlarmService extends IntentService
int ROOM_ID = 2;
}
- public interface MySessionsExistenceQuery {
-
+ public interface SessionsNeedingFeedbackQuery {
String[] PROJECTION = {
- ScheduleContract.MySchedule.SESSION_ID
+ ScheduleContract.Sessions.SESSION_ID,
+ ScheduleContract.Sessions.SESSION_TITLE,
+ ScheduleContract.Sessions.SESSION_IN_MY_SCHEDULE,
+ ScheduleContract.Sessions.HAS_GIVEN_FEEDBACK,
};
int SESSION_ID = 0;
+ int SESSION_TITLE = 1;
public static final String WHERE_CLAUSE =
- ScheduleContract.MySchedule.SESSION_ID + "=?";
+ ScheduleContract.Sessions.HAS_GIVEN_FEEDBACK + "=0";
}
@Override
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
index 681503c..e052865 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
@@ -18,28 +18,51 @@ package com.google.samples.apps.iosched.ui;
import android.accounts.Account;
import android.accounts.AccountManager;
-import android.animation.*;
-import android.app.ActionBar;
-import android.app.Activity;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ArgbEvaluator;
+import android.animation.ObjectAnimator;
+import android.animation.TypeEvaluator;
+import android.animation.ValueAnimator;
import android.app.AlertDialog;
-import android.content.*;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.SyncStatusObserver;
import android.content.pm.PackageManager;
-import android.content.res.Configuration;
import android.graphics.Color;
+import android.graphics.Rect;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.AsyncTask;
-import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.provider.Settings;
+import android.support.v4.view.ViewCompat;
import android.support.v4.widget.DrawerLayout;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.ActionBarActivity;
+import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
-import android.view.*;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
import android.view.animation.DecelerateInterpolator;
-import android.widget.*;
+import android.widget.AbsListView;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.Toast;
import com.google.android.gcm.GCMRegistrar;
import com.google.android.gms.auth.GoogleAuthUtil;
@@ -53,21 +76,35 @@ import com.google.samples.apps.iosched.sync.ConferenceDataHandler;
import com.google.samples.apps.iosched.sync.SyncHelper;
import com.google.samples.apps.iosched.ui.debug.DebugActionRunnerActivity;
import com.google.samples.apps.iosched.ui.widget.MultiSwipeRefreshLayout;
-import com.google.samples.apps.iosched.ui.widget.SwipeRefreshLayout;
-import com.google.samples.apps.iosched.util.*;
+import com.google.samples.apps.iosched.ui.widget.ScrimInsetsScrollView;
+import com.google.samples.apps.iosched.util.AccountUtils;
+import com.google.samples.apps.iosched.util.AnalyticsManager;
+import com.google.samples.apps.iosched.util.HelpUtils;
+import com.google.samples.apps.iosched.util.ImageLoader;
+import com.google.samples.apps.iosched.util.LUtils;
+import com.google.samples.apps.iosched.util.LoginAndAuthHelper;
+import com.google.samples.apps.iosched.util.PlayServicesUtils;
+import com.google.samples.apps.iosched.util.PrefUtils;
+import com.google.samples.apps.iosched.util.RecentTasksStyler;
+import com.google.samples.apps.iosched.util.UIUtils;
+import com.google.samples.apps.iosched.util.WiFiUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static com.google.samples.apps.iosched.util.LogUtils.*;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGE;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGI;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGW;
+import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
/**
* A base activity that handles common functionality in the app. This includes the
* navigation drawer, login and authentication, Action Bar tweaks, amongst others.
*/
-public abstract class BaseActivity extends Activity implements
+public abstract class BaseActivity extends ActionBarActivity implements
LoginAndAuthHelper.Callbacks,
SharedPreferences.OnSharedPreferenceChangeListener,
MultiSwipeRefreshLayout.CanChildScrollUpCallback {
@@ -78,11 +115,9 @@ public abstract class BaseActivity extends Activity implements
// Navigation drawer:
private DrawerLayout mDrawerLayout;
- private LPreviewUtilsBase.ActionBarDrawerToggleWrapper mDrawerToggle;
- // allows access to L-Preview APIs through an abstract interface so we can compile with
- // both the L Preview SDK and with the API 19 SDK
- private LPreviewUtilsBase mLPreviewUtils;
+ // Helper methods for L APIs
+ private LUtils mLUtils;
private ObjectAnimator mStatusBarColorAnimator;
private LinearLayout mAccountListContainer;
@@ -160,6 +195,9 @@ public abstract class BaseActivity extends Activity implements
// SwipeRefreshLayout allows the user to swipe the screen down to trigger a manual refresh
private SwipeRefreshLayout mSwipeRefreshLayout;
+ // Primary toolbar and drawer toggle
+ private Toolbar mActionBarToolbar;
+
// asynctask that performs GCM registration in the backgorund
private AsyncTask<Void, Void, Void> mGCMRegisterTask;
@@ -183,6 +221,7 @@ public abstract class BaseActivity extends Activity implements
private boolean mManualSyncRequest;
private int mThemedStatusBarColor;
+ private int mNormalStatusBarColor;
private int mProgressBarTopWhenActionBarShown;
private static final TypeEvaluator ARGB_EVALUATOR = new ArgbEvaluator();
private ImageLoader mImageLoader;
@@ -191,6 +230,7 @@ public abstract class BaseActivity extends Activity implements
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AnalyticsManager.initializeAnalyticsTracker(getApplicationContext());
+ RecentTasksStyler.styleRecentTasksEntry(this);
PrefUtils.init(this);
@@ -217,23 +257,23 @@ public abstract class BaseActivity extends Activity implements
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.registerOnSharedPreferenceChangeListener(this);
- ActionBar ab = getActionBar();
+ ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayHomeAsUpEnabled(true);
}
- mLPreviewUtils = LPreviewUtils.getInstance(this);
+ mLUtils = LUtils.getInstance(this);
mThemedStatusBarColor = getResources().getColor(R.color.theme_primary_dark);
+ mNormalStatusBarColor = mThemedStatusBarColor;
}
private void trySetupSwipeRefresh() {
mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
if (mSwipeRefreshLayout != null) {
- mSwipeRefreshLayout.setColorScheme(
+ mSwipeRefreshLayout.setColorSchemeResources(
R.color.refresh_progress_1,
R.color.refresh_progress_2,
- R.color.refresh_progress_3,
- R.color.refresh_progress_4);
+ R.color.refresh_progress_3);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
@@ -258,11 +298,13 @@ public abstract class BaseActivity extends Activity implements
return;
}
- if (mActionBarShown) {
- mSwipeRefreshLayout.setProgressBarTop(mProgressBarTopWhenActionBarShown);
- } else {
- mSwipeRefreshLayout.setProgressBarTop(0);
- }
+ int progressBarStartMargin = getResources().getDimensionPixelSize(
+ R.dimen.swipe_refresh_progress_bar_start_margin);
+ int progressBarEndMargin = getResources().getDimensionPixelSize(
+ R.dimen.swipe_refresh_progress_bar_end_margin);
+ int top = mActionBarShown ? mProgressBarTopWhenActionBarShown : 0;
+ mSwipeRefreshLayout.setProgressViewOffset(false,
+ top + progressBarStartMargin, top + progressBarEndMargin);
}
/**
@@ -287,9 +329,12 @@ public abstract class BaseActivity extends Activity implements
if (mDrawerLayout == null) {
return;
}
+ mDrawerLayout.setStatusBarBackgroundColor(
+ getResources().getColor(R.color.theme_primary_dark));
+ ScrimInsetsScrollView navDrawer = (ScrimInsetsScrollView)
+ mDrawerLayout.findViewById(R.id.navdrawer);
if (selfItem == NAVDRAWER_ITEM_INVALID) {
// do not show a nav drawer
- View navDrawer = mDrawerLayout.findViewById(R.id.navdrawer);
if (navDrawer != null) {
((ViewGroup) navDrawer.getParent()).removeView(navDrawer);
}
@@ -297,7 +342,37 @@ public abstract class BaseActivity extends Activity implements
return;
}
- mDrawerToggle = mLPreviewUtils.setupDrawerToggle(mDrawerLayout, new DrawerLayout.DrawerListener() {
+ if (navDrawer != null) {
+ final View chosenAccountContentView = findViewById(R.id.chosen_account_content_view);
+ final View chosenAccountView = findViewById(R.id.chosen_account_view);
+ final int navDrawerChosenAccountHeight = getResources().getDimensionPixelSize(
+ R.dimen.navdrawer_chosen_account_height);
+ navDrawer.setOnInsetsCallback(new ScrimInsetsScrollView.OnInsetsCallback() {
+ @Override
+ public void onInsetsChanged(Rect insets) {
+ ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)
+ chosenAccountContentView.getLayoutParams();
+ lp.topMargin = insets.top;
+ chosenAccountContentView.setLayoutParams(lp);
+
+ ViewGroup.LayoutParams lp2 = chosenAccountView.getLayoutParams();
+ lp2.height = navDrawerChosenAccountHeight + insets.top;
+ chosenAccountView.setLayoutParams(lp2);
+ }
+ });
+ }
+
+ if (mActionBarToolbar != null) {
+ mActionBarToolbar.setNavigationIcon(R.drawable.ic_drawer);
+ mActionBarToolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ mDrawerLayout.openDrawer(Gravity.START);
+ }
+ });
+ }
+
+ mDrawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerClosed(View drawerView) {
// run deferred action, if we have one
@@ -309,40 +384,30 @@ public abstract class BaseActivity extends Activity implements
mAccountBoxExpanded = false;
setupAccountBoxToggle();
}
- invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
- updateStatusBarForNavDrawerSlide(0f);
onNavDrawerStateChanged(false, false);
}
@Override
public void onDrawerOpened(View drawerView) {
- invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
- updateStatusBarForNavDrawerSlide(1f);
onNavDrawerStateChanged(true, false);
}
@Override
public void onDrawerStateChanged(int newState) {
- invalidateOptionsMenu();
onNavDrawerStateChanged(isNavDrawerOpen(), newState != DrawerLayout.STATE_IDLE);
}
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
- updateStatusBarForNavDrawerSlide(slideOffset);
onNavDrawerSlide(slideOffset);
}
});
- mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, Gravity.START);
- getActionBar().setDisplayHomeAsUpEnabled(true);
- getActionBar().setHomeButtonEnabled(true);
+ mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, Gravity.START);
// populate the nav drawer with the correct items
populateNavDrawer();
- mDrawerToggle.syncState();
-
// When the user runs the app for the first time, we want to land them with the
// navigation drawer open. But just the first time.
if (!PrefUtils.isWelcomeDone(this)) {
@@ -352,6 +417,12 @@ public abstract class BaseActivity extends Activity implements
}
}
+ @Override
+ public void setContentView(int layoutResID) {
+ super.setContentView(layoutResID);
+ getActionBarToolbar();
+ }
+
// Subclasses can override this for custom behavior
protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
if (mActionBarAutoHideEnabled && isOpen) {
@@ -365,6 +436,12 @@ public abstract class BaseActivity extends Activity implements
return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(Gravity.START);
}
+ protected void closeNavDrawer() {
+ if (mDrawerLayout != null) {
+ mDrawerLayout.closeDrawer(Gravity.START);
+ }
+ }
+
/** Populates the navigation drawer with the appropriate items. */
private void populateNavDrawer() {
boolean attendeeAtVenue = PrefUtils.isAttendeeAtVenue(this);
@@ -409,6 +486,15 @@ public abstract class BaseActivity extends Activity implements
createNavDrawerItems();
}
+ @Override
+ public void onBackPressed() {
+ if (isNavDrawerOpen()) {
+ closeNavDrawer();
+ } else {
+ super.onBackPressed();
+ }
+ }
+
private void createNavDrawerItems() {
mDrawerItemsListContainer = (ViewGroup) findViewById(R.id.navdrawer_items_list);
if (mDrawerItemsListContainer == null) {
@@ -507,6 +593,7 @@ public abstract class BaseActivity extends Activity implements
if (name == null) {
nameTextView.setVisibility(View.GONE);
} else {
+ nameTextView.setVisibility(View.VISIBLE);
nameTextView.setText(name);
}
@@ -557,6 +644,11 @@ public abstract class BaseActivity extends Activity implements
((TextView) itemView.findViewById(R.id.profile_email_text))
.setText(account.name);
final String accountName = account.name;
+ String imageUrl = AccountUtils.getPlusImageUrl(this, accountName);
+ if (!TextUtils.isEmpty(imageUrl)) {
+ mImageLoader.loadImage(imageUrl,
+ (ImageView) itemView.findViewById(R.id.profile_image));
+ }
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -654,25 +746,8 @@ public abstract class BaseActivity extends Activity implements
}
@Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- if (mDrawerToggle != null) {
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- return super.onCreateOptionsMenu(menu);
- }
-
- @Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
- if (mDrawerToggle != null && mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
-
switch (id) {
case R.id.menu_about:
HelpUtils.showAbout(this);
@@ -1185,13 +1260,22 @@ public abstract class BaseActivity extends Activity implements
autoShowOrHideActionBar(shouldShow);
}
+ protected Toolbar getActionBarToolbar() {
+ if (mActionBarToolbar == null) {
+ mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
+ if (mActionBarToolbar != null) {
+ setSupportActionBar(mActionBarToolbar);
+ }
+ }
+ return mActionBarToolbar;
+ }
+
protected void autoShowOrHideActionBar(boolean show) {
if (show == mActionBarShown) {
return;
}
mActionBarShown = show;
- getLPreviewUtils().showHideActionBarIfPartOfDecor(show);
onActionBarAutoShowOrHide(show);
}
@@ -1299,7 +1383,7 @@ public abstract class BaseActivity extends Activity implements
} else {
// Get the correct GCM key for the user. GCM key is a somewhat non-standard
- // approach we use in this app. For more about this, check GCM.TXT.
+ // approach we use in this app. For more about this, check GCM.MD.
final String gcmKey = AccountUtils.hasActiveAccount(this) ?
AccountUtils.getGcmKey(this, AccountUtils.getActiveAccountName(this)) : null;
// Device is already registered on GCM, needs to check if it is
@@ -1413,30 +1497,39 @@ public abstract class BaseActivity extends Activity implements
}
}
- public LPreviewUtilsBase getLPreviewUtils() {
- return mLPreviewUtils;
+ public LUtils getLUtils() {
+ return mLUtils;
}
- private void updateStatusBarForNavDrawerSlide(float slideOffset) {
- if (mStatusBarColorAnimator != null) {
- mStatusBarColorAnimator.cancel();
- }
+ public int getThemedStatusBarColor() {
+ return mThemedStatusBarColor;
+ }
- if (!mActionBarShown) {
- mLPreviewUtils.setStatusBarColor(Color.BLACK);
- return;
+ public void setNormalStatusBarColor(int color) {
+ mNormalStatusBarColor = color;
+ if (mDrawerLayout != null) {
+ mDrawerLayout.setStatusBarBackgroundColor(mNormalStatusBarColor);
}
-
- mLPreviewUtils.setStatusBarColor((Integer) ARGB_EVALUATOR.evaluate(slideOffset,
- mThemedStatusBarColor, Color.BLACK));
}
protected void onActionBarAutoShowOrHide(boolean shown) {
if (mStatusBarColorAnimator != null) {
mStatusBarColorAnimator.cancel();
}
- mStatusBarColorAnimator = ObjectAnimator.ofInt(mLPreviewUtils, "statusBarColor",
- shown ? mThemedStatusBarColor : Color.BLACK).setDuration(250);
+ mStatusBarColorAnimator = ObjectAnimator.ofInt(
+ (mDrawerLayout != null) ? mDrawerLayout : mLUtils,
+ (mDrawerLayout != null) ? "statusBarBackgroundColor" : "statusBarColor",
+ shown ? Color.BLACK : mNormalStatusBarColor,
+ shown ? mNormalStatusBarColor : Color.BLACK)
+ .setDuration(250);
+ if (mDrawerLayout != null) {
+ mStatusBarColorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator valueAnimator) {
+ ViewCompat.postInvalidateOnAnimation(mDrawerLayout);
+ }
+ });
+ }
mStatusBarColorAnimator.setEvaluator(ARGB_EVALUATOR);
mStatusBarColorAnimator.start();
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/NearbyActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/BaseMapActivity.java
index 7affcc6..89edd17 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/NearbyActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/BaseMapActivity.java
@@ -25,16 +25,20 @@ import android.bluetooth.BluetoothManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.DataSetObserver;
+import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
+import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.Button;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.nearby.MetadataResolver;
import com.google.samples.apps.iosched.nearby.NearbyDeviceManager;
+import com.google.samples.apps.iosched.ui.widget.ScrimInsetsFrameLayout;
import com.google.samples.apps.iosched.util.PrefUtils;
import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
@@ -47,16 +51,27 @@ import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
*
* This activity requires API level 18 because it utilizes BLE.
*/
-public abstract class NearbyActivity extends BaseActivity implements NearbyFragment.Callbacks {
- private static final String TAG = makeLogTag(NearbyActivity.class);
+public abstract class BaseMapActivity extends BaseActivity implements NearbyFragment.Callbacks, ScrimInsetsFrameLayout.OnInsetsCallback {
+ private static final String TAG = makeLogTag(BaseMapActivity.class);
private static final int REQUEST_ENABLE_BT = 500;
private static final int REQUEST_ENABLE_NEARBY = 501;
protected static final String NEARBY_FRAGMENT_TAG = "NEARBY_FRAGMENT";
+ /**
+ * When specified, will automatically point the map to the requested room.
+ */
+ public static final String EXTRA_ROOM = "com.google.android.iosched.extra.ROOM";
+
+ public static final String EXTRA_DETACHED_MODE
+ = "com.google.samples.apps.iosched.EXTRA_DETACHED_MODE";
+
private boolean mNearbyCapable = false;
private boolean mShouldShowNearbyFragment = false;
private NearbyDeviceManager mDeviceManager;
private Button mNearbyButton;
+ private boolean mDetachedMode;
+
+ protected MapFragment mMapFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -66,6 +81,58 @@ public abstract class NearbyActivity extends BaseActivity implements NearbyFragm
&& PrefUtils.isAttendeeAtVenue(this)) {
mNearbyCapable = initNearby();
}
+
+ FragmentManager fm = getFragmentManager();
+ mMapFragment = (MapFragment) fm.findFragmentByTag("map");
+
+ mDetachedMode = getIntent().getBooleanExtra(EXTRA_DETACHED_MODE, false);
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ if (mDetachedMode) {
+ final Toolbar toolbar = getActionBarToolbar();
+ toolbar.setNavigationIcon(R.drawable.ic_up);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ finish();
+ }
+ });
+ }
+
+ if (mMapFragment == null) {
+ mMapFragment = MapFragment.newInstance();
+ mMapFragment.setArguments(intentToFragmentArguments(getIntent()));
+ getFragmentManager().beginTransaction()
+ .add(R.id.fragment_container_map, mMapFragment, "map")
+ .commit();
+ }
+
+ mDetachedMode = getIntent().getBooleanExtra(EXTRA_DETACHED_MODE, false);
+
+ ScrimInsetsFrameLayout scrimInsetsFrameLayout = (ScrimInsetsFrameLayout)
+ findViewById(R.id.capture_insets_frame_layout);
+ scrimInsetsFrameLayout.setOnInsetsCallback(this);
+ }
+
+ @Override
+ public void onInsetsChanged(Rect insets) {
+ Toolbar toolbar = getActionBarToolbar();
+ ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)
+ toolbar.getLayoutParams();
+ lp.topMargin = insets.top;
+ int top = insets.top;
+ insets.top += getActionBarToolbar().getHeight();
+ toolbar.setLayoutParams(lp);
+ mMapFragment.setMapInsets(insets);
+ insets.top = top; // revert
+ }
+
+ @Override
+ protected int getSelfNavDrawerItem() {
+ return mDetachedMode ? NAVDRAWER_ITEM_INVALID : NAVDRAWER_ITEM_MAP;
}
@Override
@@ -120,6 +187,15 @@ public abstract class NearbyActivity extends BaseActivity implements NearbyFragm
return super.onCreateOptionsMenu(menu);
}
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (getIntent().getBooleanExtra(EXTRA_DETACHED_MODE, false)
+ && item.getItemId() == android.R.id.home) {
+ finish();
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
protected abstract void showNearbyFragment(String tag);
// Handles a click on the Nearby menu item. Recognizes several states:
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/BrowseSessionsActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/BrowseSessionsActivity.java
index adb7647..b687c82 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/BrowseSessionsActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/BrowseSessionsActivity.java
@@ -16,14 +16,19 @@
package com.google.samples.apps.iosched.ui;
-import android.app.ActionBar;
import android.content.Intent;
import android.graphics.Paint;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.OvalShape;
import android.os.Bundle;
+import android.support.v7.app.ActionBar;
+import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
-import android.view.*;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Spinner;
@@ -78,20 +83,20 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
// time when the user last clicked "refresh" from the stale data butter bar
private long mLastDataStaleUserActionTime = 0L;
+ private int mHeaderColor = 0; // 0 means not customized
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browse_sessions);
- getLPreviewUtils().trySetActionBar();
- ActionBar ab = getActionBar();
+ Toolbar toolbar = getActionBarToolbar();
long[] interval = ScheduleContract.Sessions.getInterval(getIntent().getData());
if (interval != null) {
String title = UIUtils.formatIntervalTimeString(interval[0], interval[1], null, this);
- ab.setTitle(title);
+ toolbar.setTitle(title);
mMode = MODE_TIME_FIT;
/* [ANALYTICS:SCREEN]
* TRIGGER: View the Explore screen to find sessions fitting a time slot
@@ -121,8 +126,7 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
if (mMode == MODE_EXPLORE) {
// no title (to make more room for navigation and actions)
// unless Nav Drawer opens
- ab.setTitle(getString(R.string.app_name));
- ab.setDisplayShowTitleEnabled(false);
+ toolbar.setTitle(null);
}
mButterBar = findViewById(R.id.butter_bar);
@@ -201,12 +205,6 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
}
@Override
- public void onStart() {
- super.onStart();
- updateActionBarNavigation();
- }
-
- @Override
public void onTagMetadataLoaded(TagMetadata metadata) {
mTagMetadata = metadata;
if (mSpinnerConfigured) {
@@ -221,8 +219,8 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
}
private void trySetUpActionBarSpinner() {
- ActionBar ab = getActionBar();
- if (mMode != MODE_EXPLORE || mSpinnerConfigured || mTagMetadata == null || ab == null) {
+ Toolbar toolbar = getActionBarToolbar();
+ if (mMode != MODE_EXPLORE || mSpinnerConfigured || mTagMetadata == null || toolbar == null) {
// already done it, or not ready yet, or don't need to do
LOGD(TAG, "Not configuring Action Bar spinner.");
return;
@@ -246,8 +244,8 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
mTopLevelSpinnerAdapter.addHeader(categoryTitle);
for (TagMetadata.Tag tag : mTagMetadata.getTagsInCategory(category)) {
LOGD(TAG, "Adding item to spinner: " + tag.getId() + " --> " + tag.getName());
- mTopLevelSpinnerAdapter.addItem(tag.getId(), tag.getName(), true,
- Config.Tags.CATEGORY_TOPIC.equals(category) ? tag.getColor() : 0);
+ int tagColor = Config.Tags.CATEGORY_TOPIC.equals(category) ? tag.getColor() : 0;
+ mTopLevelSpinnerAdapter.addItem(tag.getId(), tag.getName(), true, tagColor);
if (!TextUtils.isEmpty(mFilterTagsToRestore[0]) && tag.getId().equals(mFilterTagsToRestore[0])) {
mFilterTagsToRestore[0] = null;
itemToSelect = mTopLevelSpinnerAdapter.getCount() - 1;
@@ -259,11 +257,11 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
}
mFilterTagsToRestore[0] = null;
- View spinnerContainer = LayoutInflater.from(getActionBar().getThemedContext())
- .inflate(R.layout.actionbar_spinner, null);
+ View spinnerContainer = LayoutInflater.from(this).inflate(R.layout.actionbar_spinner,
+ toolbar, false);
ActionBar.LayoutParams lp = new ActionBar.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
- ab.setCustomView(spinnerContainer, lp);
+ toolbar.addView(spinnerContainer, lp);
Spinner spinner = (Spinner) spinnerContainer.findViewById(R.id.actionbar_spinner);
spinner.setAdapter(mTopLevelSpinnerAdapter);
@@ -282,33 +280,28 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
spinner.setSelection(itemToSelect);
}
+ updateHeaderColor();
showSecondaryFilters();
- updateActionBarNavigation();
}
- private void updateActionBarNavigation() {
- boolean show = mSpinnerConfigured && !isNavDrawerOpen();
-
- ActionBar ab = getActionBar();
- if (mMode == MODE_TIME_FIT) {
- ab.setDisplayShowCustomEnabled(false);
- ab.setDisplayShowTitleEnabled(true);
- ab.setDisplayUseLogoEnabled(false);
- } else if (show) {
- ab.setDisplayShowCustomEnabled(true);
- ab.setDisplayShowTitleEnabled(false);
- ab.setDisplayUseLogoEnabled(false);
- } else if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ab.setDisplayShowCustomEnabled(false);
- ab.setDisplayShowTitleEnabled(false);
- ab.setDisplayUseLogoEnabled(true);
+ private void updateHeaderColor() {
+ mHeaderColor = 0;
+ for (String tag : mFilterTags) {
+ if (tag != null) {
+ TagMetadata.Tag tagObj = mTagMetadata.getTag(tag);
+ if (tagObj != null && Config.Tags.CATEGORY_TOPIC.equals(tagObj.getCategory())) {
+ mHeaderColor = tagObj.getColor();
+ }
+ }
}
- }
-
- @Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
+ findViewById(R.id.headerbar).setBackgroundColor(
+ mHeaderColor == 0
+ ? getResources().getColor(R.color.theme_primary)
+ : mHeaderColor);
+ setNormalStatusBarColor(
+ mHeaderColor == 0
+ ? getThemedStatusBarColor()
+ : UIUtils.scaleColor(mHeaderColor, 0.8f, false));
}
private void onTopLevelTagSelected(String tag) {
@@ -323,6 +316,7 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
// nothing to do
return;
}
+
/* [ANALYTICS:EVENT]
* TRIGGER: Select a top-level filter on the Explore screen.
* CATEGORY: 'Explore'
@@ -339,6 +333,7 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
}
showSecondaryFilters();
+ updateHeaderColor();
reloadFromFilters();
}
@@ -412,7 +407,7 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
Bundle args = BaseActivity.intentToFragmentArguments(
new Intent(Intent.ACTION_VIEW, ScheduleContract.Sessions.buildTagFilterUri(
mFilterTags))
- );
+ .putExtra(SessionsFragment.EXTRA_NO_TRACK_BRANDING, mHeaderColor != 0));
frag.reloadFromArguments(args);
frag.animateReload();
@@ -467,6 +462,7 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
* [/ANALYTICS]
*/
AnalyticsManager.sendEvent(SCREEN_LABEL, "secondaryfilter", tag);
+ updateHeaderColor();
reloadFromFilters();
}
}
@@ -489,11 +485,6 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
- if (getLPreviewUtils().shouldChangeActionBarForDrawer() && isNavDrawerOpen()) {
- // nothing to show if nav drawer is open or animating
- return true;
- }
-
getMenuInflater().inflate(R.menu.browse_sessions, menu);
// remove actions when in time interval mode:
if (mMode != MODE_EXPLORE) {
@@ -536,12 +527,10 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
* [/ANALYTICS]
*/
AnalyticsManager.sendEvent(SCREEN_LABEL, "selectsession", sessionId);
- getLPreviewUtils().startActivityWithTransition(
- new Intent(Intent.ACTION_VIEW,
+ getLUtils().startActivityWithTransition(new Intent(Intent.ACTION_VIEW,
ScheduleContract.Sessions.buildSessionUri(sessionId)),
clickedView,
- SessionDetailFragment.VIEW_NAME_PHOTO
- );
+ SessionDetailActivity.TRANSITION_NAME_PHOTO);
}
@Override
@@ -621,7 +610,7 @@ public class BrowseSessionsActivity extends BaseActivity implements SessionsFrag
TextView headerTextView = (TextView) view.findViewById(R.id.header_text);
View dividerView = view.findViewById(R.id.divider_view);
- TextView normalTextView = (TextView) view.findViewById(R.id.normal_text);
+ TextView normalTextView = (TextView) view.findViewById(android.R.id.text1);
if (isHeader(position)) {
headerTextView.setText(getTitle(position));
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/ExpertsDirectoryActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/ExpertsDirectoryActivity.java
index c045ab7..897f93f 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/ExpertsDirectoryActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/ExpertsDirectoryActivity.java
@@ -73,7 +73,6 @@ public class ExpertsDirectoryActivity extends BaseActivity implements LoaderMana
}
setContentView(R.layout.activity_experts_directory);
- getLPreviewUtils().trySetActionBar();
AnalyticsManager.sendScreenView(SCREEN_LABEL);
mDrawShadowFrameLayout = (DrawShadowFrameLayout) findViewById(R.id.main_content);
@@ -107,15 +106,6 @@ public class ExpertsDirectoryActivity extends BaseActivity implements LoaderMana
}
}
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ActionBar ab = getActionBar();
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
- }
-
@Override
protected void onActionBarAutoShowOrHide(boolean shown) {
super.onActionBarAutoShowOrHide(shown);
@@ -123,12 +113,6 @@ public class ExpertsDirectoryActivity extends BaseActivity implements LoaderMana
}
@Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
- }
-
- @Override
protected int getSelfNavDrawerItem() {
return NAVDRAWER_ITEM_EXPERTS_DIRECTORY;
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/MapFragment.java b/android/src/main/java/com/google/samples/apps/iosched/ui/MapFragment.java
index 14d1790..a24b540 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/MapFragment.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/MapFragment.java
@@ -16,26 +16,24 @@
package com.google.samples.apps.iosched.ui;
-import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
-import static com.google.samples.apps.iosched.util.LogUtils.LOGE;
-import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
-
import android.annotation.SuppressLint;
import android.app.Activity;
-import android.app.DialogFragment;
-import android.content.*;
+import android.app.LoaderManager;
+import android.app.LoaderManager.LoaderCallbacks;
+import android.content.AsyncQueryHandler;
+import android.content.ContentResolver;
+import android.content.CursorLoader;
+import android.content.Loader;
+import android.content.SharedPreferences;
import android.database.ContentObserver;
import android.database.Cursor;
import android.graphics.Point;
+import android.graphics.Rect;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
-import android.app.LoaderManager;
-import android.app.LoaderManager.LoaderCallbacks;
-import android.content.CursorLoader;
-import android.content.Loader;
import android.text.format.DateUtils;
import android.util.SparseArray;
import android.view.LayoutInflater;
@@ -45,15 +43,25 @@ import android.view.ViewTreeObserver;
import android.widget.FrameLayout;
import com.google.android.gms.maps.CameraUpdate;
-import com.google.samples.apps.iosched.R;
-import com.google.samples.apps.iosched.provider.ScheduleContract;
-import com.google.samples.apps.iosched.util.*;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.Projection;
-import com.google.android.gms.maps.model.*;
+import com.google.android.gms.maps.model.CameraPosition;
+import com.google.android.gms.maps.model.IndoorBuilding;
+import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
+import com.google.android.gms.maps.model.MarkerOptions;
+import com.google.android.gms.maps.model.TileOverlay;
+import com.google.android.gms.maps.model.TileOverlayOptions;
+import com.google.android.gms.maps.model.TileProvider;
import com.google.maps.android.ui.IconGenerator;
+import com.google.samples.apps.iosched.R;
+import com.google.samples.apps.iosched.provider.ScheduleContract;
+import com.google.samples.apps.iosched.util.AnalyticsManager;
+import com.google.samples.apps.iosched.util.MapUtils;
+import com.google.samples.apps.iosched.util.PrefUtils;
+import com.google.samples.apps.iosched.util.UIUtils;
+import com.jakewharton.disklrucache.DiskLruCache;
import java.io.File;
import java.io.IOException;
@@ -62,7 +70,8 @@ import java.util.Formatter;
import java.util.HashMap;
import java.util.Locale;
-import com.jakewharton.disklrucache.DiskLruCache;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
/**
* Shows a map of the conference venue.
@@ -87,12 +96,6 @@ public class MapFragment extends com.google.android.gms.maps.MapFragment impleme
// Default level (index of level in IndoorBuilding object for Moscone)
private static final int MOSCONE_DEFAULT_LEVEL_INDEX = 1;
-
- /**
- * When specified, will automatically point the map to the requested room.
- */
- public static final String EXTRA_ROOM = "com.google.android.iosched.extra.ROOM";
-
private static final String TAG = makeLogTag(MapFragment.class);
// Marker types
@@ -144,6 +147,7 @@ public class MapFragment extends com.google.android.gms.maps.MapFragment impleme
private Marker mMosconeMaker = null;
private GoogleMap mMap;
+ private Rect mMapInsets = new Rect();
private MapInfoWindowAdapter mInfoAdapter;
@@ -243,8 +247,7 @@ public class MapFragment extends com.google.android.gms.maps.MapFragment impleme
setupMap(true);
}
-
- mMap.setPadding(0, UIUtils.calculateActionBarSize(getActivity()), 0, 0);
+ setMapInsets(mMapInsets);
// load all markers
LoaderManager lm = getLoaderManager();
@@ -256,6 +259,13 @@ public class MapFragment extends com.google.android.gms.maps.MapFragment impleme
return v;
}
+ public void setMapInsets(Rect insets) {
+ mMapInsets.set(insets);
+ if (mMap != null) {
+ mMap.setPadding(mMapInsets.left, mMapInsets.top, mMapInsets.right, mMapInsets.bottom);
+ }
+ }
+
@Override
public void onStart() {
super.onStart();
@@ -319,8 +329,8 @@ public class MapFragment extends com.google.android.gms.maps.MapFragment impleme
mMap.setMyLocationEnabled(false);
Bundle data = getArguments();
- if (data != null && data.containsKey(EXTRA_ROOM)) {
- mHighlightedRoom = data.getString(EXTRA_ROOM);
+ if (data != null && data.containsKey(BaseMapActivity.EXTRA_ROOM)) {
+ mHighlightedRoom = data.getString(BaseMapActivity.EXTRA_ROOM);
}
LOGD(TAG, "Map setup complete.");
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleActivity.java
index 6e1a06d..de96869 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleActivity.java
@@ -16,7 +16,6 @@
package com.google.samples.apps.iosched.ui;
-import android.app.ActionBar;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.ListFragment;
@@ -127,7 +126,6 @@ public class MyScheduleActivity extends BaseActivity implements MyScheduleFragme
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_schedule);
- getLPreviewUtils().trySetActionBar();
/* [ANALYTICS:SCREEN]
* TRIGGER: View the My Schedule screen.
@@ -142,7 +140,7 @@ public class MyScheduleActivity extends BaseActivity implements MyScheduleFragme
int i;
for (i = 0; i < Config.CONFERENCE_DAYS.length; i++) {
- mScheduleAdapters[i] = new MyScheduleAdapter(this, getLPreviewUtils());
+ mScheduleAdapters[i] = new MyScheduleAdapter(this, getLUtils());
}
mViewPagerAdapter = new OurViewPagerAdapter(getFragmentManager());
@@ -224,21 +222,6 @@ public class MyScheduleActivity extends BaseActivity implements MyScheduleFragme
getResources().getDisplayMetrics()));
}
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ActionBar ab = getActionBar();
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
- }
-
- @Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
- }
-
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
@@ -431,12 +414,6 @@ public class MyScheduleActivity extends BaseActivity implements MyScheduleFragme
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
-
- if (getLPreviewUtils().shouldChangeActionBarForDrawer() && isNavDrawerOpen()) {
- // nothing to show if nav drawer is open or animating
- return true;
- }
-
getMenuInflater().inflate(R.menu.my_schedule, menu);
configureStandardMenuItems(menu);
return true;
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleAdapter.java b/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleAdapter.java
index fd515fe..167ab88 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleAdapter.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/MyScheduleAdapter.java
@@ -21,6 +21,7 @@ import android.content.Intent;
import android.content.res.Resources;
import android.database.DataSetObserver;
import android.graphics.Color;
+import android.graphics.ColorFilter;
import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
@@ -52,7 +53,7 @@ public class MyScheduleAdapter implements ListAdapter, AbsListView.RecyclerListe
private static final int VIEW_TYPE_PAST_DURING_CONFERENCE = 2;
private final Context mContext;
- private final LPreviewUtilsBase mLPreviewUtils;
+ private final LUtils mLUtils;
// additional top padding to add to first item of list
int mContentTopClearance = 0;
@@ -74,9 +75,9 @@ public class MyScheduleAdapter implements ListAdapter, AbsListView.RecyclerListe
// the data and thus shouldn't be used
int mDataGeneration = 0;
- public MyScheduleAdapter(Context context, LPreviewUtilsBase lPreviewUtils) {
+ public MyScheduleAdapter(Context context, LUtils lUtils) {
mContext = context;
- mLPreviewUtils = lPreviewUtils;
+ mLUtils = lUtils;
mDefaultSessionColor = mContext.getResources().getColor(R.color.default_session_color);
mDefaultStartTimeColor = mContext.getResources().getColor(R.color.body_text_2);
@@ -333,14 +334,13 @@ public class MyScheduleAdapter implements ListAdapter, AbsListView.RecyclerListe
final ColorDrawable colorDrawable = new ColorDrawable(color);
bgImageView.setImageDrawable(colorDrawable);
- bgImageView.setColorFilter(UIUtils.setColorAlpha(color,
- UIUtils.SESSION_PHOTO_SCRIM_ALPHA));
+ ColorFilter scrimFilter = UIUtils.makeSessionImageScrimColorFilter(color);
+ bgImageView.setColorFilter(scrimFilter);
if (TextUtils.isEmpty(item.backgroundImageUrl)) {
sessionImageView.setVisibility(View.GONE);
} else {
- sessionImageView.setColorFilter(UIUtils.setColorAlpha(color,
- UIUtils.SESSION_PHOTO_SCRIM_ALPHA));
+ sessionImageView.setColorFilter(scrimFilter);
mImageLoader.loadImage(item.backgroundImageUrl, sessionImageView, null,
colorDrawable);
}
@@ -348,7 +348,7 @@ public class MyScheduleAdapter implements ListAdapter, AbsListView.RecyclerListe
slotTitleView.setTextColor(isBlockNow
? Color.WHITE
: res.getColor(R.color.body_text_1_inverse));
- mLPreviewUtils.setMediumTypeface(slotTitleView);
+ mLUtils.setMediumTypeface(slotTitleView);
if (slotSubtitleView != null) {
slotSubtitleView.setText(item.subtitle);
slotSubtitleView.setTextColor(res.getColor(R.color.body_text_2_inverse));
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/NearbyFragment.java b/android/src/main/java/com/google/samples/apps/iosched/ui/NearbyFragment.java
index 730b000..fc0fa97 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/NearbyFragment.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/NearbyFragment.java
@@ -51,9 +51,6 @@ public class NearbyFragment extends ListFragment {
View rootView = inflater.inflate(R.layout.fragment_nearby, container, false);
if (getArguments() != null && !getArguments().getBoolean(ARG_HAS_HEADER, true)) {
rootView.findViewById(R.id.headerbar).setVisibility(View.GONE);
- } else {
- ((FrameLayout) rootView.findViewById(R.id.list_container))
- .setForeground(getResources().getDrawable(R.drawable.bottom_shadow));
}
Callbacks parentActivity = (Callbacks) getActivity();
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/PartnersFragment.java b/android/src/main/java/com/google/samples/apps/iosched/ui/PartnersFragment.java
index 7309ac8..222ba53 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/PartnersFragment.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/PartnersFragment.java
@@ -75,9 +75,6 @@ public class PartnersFragment extends Fragment implements
View rootView = inflater.inflate(R.layout.fragment_partners, container, false);
if (getArguments() != null && !getArguments().getBoolean(ARG_HAS_HEADER, true)) {
rootView.findViewById(R.id.headerbar).setVisibility(View.GONE);
- } else {
- ((FrameLayout) rootView.findViewById(R.id.list_container))
- .setForeground(getResources().getDrawable(R.drawable.bottom_shadow));
}
rootView.findViewById(R.id.close_button).setOnClickListener(new View.OnClickListener() {
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/PeopleIveMetActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/PeopleIveMetActivity.java
index 2ca6ced..6f520d6 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/PeopleIveMetActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/PeopleIveMetActivity.java
@@ -16,16 +16,12 @@
package com.google.samples.apps.iosched.ui;
-import android.app.ActionBar;
-import android.content.*;
+import android.content.Intent;
import android.os.Bundle;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.util.PrefUtils;
-import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
-import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
-
public class PeopleIveMetActivity extends BaseActivity {
private static final String FRAGMENT_PEOPLE_IVE_MET = "people_ive_met";
@@ -39,7 +35,6 @@ public class PeopleIveMetActivity extends BaseActivity {
}
setContentView(R.layout.activity_people_ive_met);
- getLPreviewUtils().trySetActionBar();
if (null == savedInstanceState) {
getFragmentManager().beginTransaction()
@@ -48,25 +43,9 @@ public class PeopleIveMetActivity extends BaseActivity {
.commit();
}
- setTitle(R.string.title_people_ive_met);
overridePendingTransition(0, 0);
}
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ActionBar ab = getActionBar();
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
- }
-
- @Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
- }
-
@Override
protected int getSelfNavDrawerItem() {
return NAVDRAWER_ITEM_PEOPLE_IVE_MET;
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SearchActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SearchActivity.java
index 0eefe50..645a679 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SearchActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SearchActivity.java
@@ -17,14 +17,17 @@ package com.google.samples.apps.iosched.ui;
import android.app.FragmentManager;
import android.app.SearchManager;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.support.v4.content.IntentCompat;
+import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
-import android.widget.SearchView;
+import android.support.v7.widget.SearchView;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.model.TagMetadata;
@@ -48,6 +51,19 @@ public class SearchActivity extends BaseActivity implements SessionsFragment.Cal
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
+
+ Toolbar toolbar = getActionBarToolbar();
+ toolbar.setTitle(R.string.title_search);
+ toolbar.setNavigationIcon(R.drawable.ic_up);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ navigateUpToFromChild(SearchActivity.this,
+ IntentCompat.makeMainActivity(new ComponentName(SearchActivity.this,
+ BrowseSessionsActivity.class)));
+ }
+ });
+
FragmentManager fm = getFragmentManager();
mSessionsFragment = (SessionsFragment) fm.findFragmentById(R.id.fragment_container);
@@ -80,11 +96,11 @@ public class SearchActivity extends BaseActivity implements SessionsFragment.Cal
* [/ANALYTICS]
*/
AnalyticsManager.sendEvent(SCREEN_LABEL, "selectsession", sessionId);
- getLPreviewUtils().startActivityWithTransition(
+ getLUtils().startActivityWithTransition(
new Intent(Intent.ACTION_VIEW,
ScheduleContract.Sessions.buildSessionUri(sessionId)),
clickedView,
- SessionDetailFragment.VIEW_NAME_PHOTO);
+ SessionDetailActivity.TRANSITION_NAME_PHOTO);
}
@Override
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailActivity.java
index f3f64e6..1a07743 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailActivity.java
@@ -16,47 +16,279 @@
package com.google.samples.apps.iosched.ui;
-import android.app.Fragment;
+import android.app.LoaderManager;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.CursorLoader;
import android.content.Intent;
+import android.content.Loader;
import android.content.res.Resources;
+import android.database.Cursor;
+import android.graphics.Paint;
+import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.shapes.OvalShape;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
+import android.support.v4.view.ViewCompat;
+import android.support.v7.widget.Toolbar;
+import android.text.TextUtils;
+import android.util.Pair;
import android.util.TypedValue;
+import android.view.LayoutInflater;
+import android.view.Menu;
import android.view.MenuItem;
-import android.view.Window;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import com.bumptech.glide.request.bitmap.RequestListener;
+import com.bumptech.glide.request.target.Target;
+import com.google.android.gms.plus.PlusOneButton;
+import com.google.android.youtube.player.YouTubeIntents;
+import com.google.samples.apps.iosched.Config;
import com.google.samples.apps.iosched.R;
+import com.google.samples.apps.iosched.model.TagMetadata;
+import com.google.samples.apps.iosched.provider.ScheduleContract;
+import com.google.samples.apps.iosched.service.SessionAlarmService;
+import com.google.samples.apps.iosched.service.SessionCalendarService;
+import com.google.samples.apps.iosched.ui.widget.CheckableFrameLayout;
+import com.google.samples.apps.iosched.ui.widget.MessageCardView;
+import com.google.samples.apps.iosched.ui.widget.ObservableScrollView;
+import com.google.samples.apps.iosched.util.AccountUtils;
+import com.google.samples.apps.iosched.util.AnalyticsManager;
import com.google.samples.apps.iosched.util.BeamUtils;
+import com.google.samples.apps.iosched.util.ImageLoader;
+import com.google.samples.apps.iosched.util.LogUtils;
+import com.google.samples.apps.iosched.util.SessionsHelper;
+import com.google.samples.apps.iosched.util.TimeUtils;
import com.google.samples.apps.iosched.util.UIUtils;
-public class SessionDetailActivity extends SimpleSinglePaneActivity {
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+
+import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+
+/**
+ * An activity that shows detail information for a session, including session title, abstract,
+ * time information, speaker photos and bios, etc.
+ */
+public class SessionDetailActivity extends BaseActivity implements
+ LoaderManager.LoaderCallbacks<Cursor>,
+ ObservableScrollView.Callbacks {
+ private static final String TAG = LogUtils.makeLogTag(SessionDetailActivity.class);
+
+ private static final int[] SECTION_HEADER_RES_IDS = {
+ R.id.session_links_header,
+ R.id.session_speakers_header,
+ R.id.session_requirements_header,
+ R.id.related_videos_header,
+ };
+ private static final float PHOTO_ASPECT_RATIO = 1.7777777f;
+
+ public static final String TRANSITION_NAME_PHOTO = "photo";
+
+ private Handler mHandler = new Handler();
+ private static final int TIME_HINT_UPDATE_INTERVAL = 10000; // 10 sec
+
+ private TagMetadata mTagMetadata;
+
+ private String mSessionId;
+ private Uri mSessionUri;
+
+ private long mSessionStart;
+ private long mSessionEnd;
+ private String mTitleString;
+ private String mHashTag;
+ private String mUrl;
+ private String mRoomId;
+ private String mRoomName;
+ private String mTagsString;
+
+ // A comma-separated list of speakers to be passed to Android Wear
+ private String mSpeakers;
+
+ private boolean mStarred;
+ private boolean mInitStarred;
+ private boolean mDismissedWatchLivestreamCard = false;
+ private boolean mHasLivestream = false;
+ private MenuItem mSocialStreamMenuItem;
+ private MenuItem mShareMenuItem;
+
+ private View mScrollViewChild;
+ private TextView mTitle;
+ private TextView mSubtitle;
+ private PlusOneButton mPlusOneButton;
+
+ private ObservableScrollView mScrollView;
+ private CheckableFrameLayout mAddScheduleButton;
+
+ private TextView mAbstract;
+ private LinearLayout mTags;
+ private ViewGroup mTagsContainer;
+ private TextView mRequirements;
+ private View mHeaderBox;
+ private View mDetailsContainer;
+
+ private boolean mSessionCursor = false;
+ private boolean mSpeakersCursor = false;
+ private boolean mHasSummaryContent = false;
+
+ private ImageLoader mSpeakersImageLoader, mNoPlaceholderImageLoader;
+ private List<Runnable> mDeferredUiOperations = new ArrayList<Runnable>();
+
+ private StringBuilder mBuffer = new StringBuilder();
+
+ private int mPhotoHeightPixels;
+ private int mHeaderHeightPixels;
+ private int mAddScheduleButtonHeightPixels;
+
+ private boolean mHasPhoto;
+ private View mPhotoViewContainer;
+ private ImageView mPhotoView;
+ private int mSessionColor;
+ private String mLivestreamUrl;
+
+ private Runnable mTimeHintUpdaterRunnable = null;
+
+ private boolean mAlreadyGaveFeedback = false;
+ private boolean mIsKeynote = false;
+
+ // this set stores the session IDs for which the user has dismissed the
+ // "give feedback" card. This information is kept for the duration of the app's execution
+ // so that if they say "No, thanks", we don't show the card again for that session while
+ // the app is still executing.
+ private static HashSet<String> sDismissedFeedbackCard = new HashSet<String>();
+
+ private TextView mSubmitFeedbackView;
+ private float mMaxHeaderElevation;
+ private float mFABElevation;
+
+ private int mTagColorDotSize;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
UIUtils.tryTranslateHttpIntent(this);
BeamUtils.tryUpdateIntentFromBeam(this);
- requestWindowFeature(Window.FEATURE_ACTION_BAR);
- if (shouldBeFloatingWindow()) {
+ boolean shouldBeFloatingWindow = shouldBeFloatingWindow();
+ if (shouldBeFloatingWindow) {
setupFloatingWindow();
}
+
super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_session_detail);
+
+ final Toolbar toolbar = getActionBarToolbar();
+ toolbar.setNavigationIcon(shouldBeFloatingWindow
+ ? R.drawable.ic_ab_close : R.drawable.ic_up);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ finish();
+ }
+ });
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ toolbar.setTitle("");
+ }
+ });
if (savedInstanceState == null) {
Uri sessionUri = getIntent().getData();
BeamUtils.setBeamSessionUri(this, sessionUri);
}
- setTitle("");
- }
+ mSessionUri = getIntent().getData();
- @Override
- protected Fragment onCreatePane() {
- return new SessionDetailFragment();
+ if (mSessionUri == null) {
+ return;
+ }
+
+ mSessionId = ScheduleContract.Sessions.getSessionId(mSessionUri);
+
+ mFABElevation = getResources().getDimensionPixelSize(R.dimen.fab_elevation);
+ mMaxHeaderElevation = getResources().getDimensionPixelSize(
+ R.dimen.session_detail_max_header_elevation);
+
+ mTagColorDotSize = getResources().getDimensionPixelSize(R.dimen.tag_color_dot_size);
+
+ mHandler = new Handler();
+
+ if (mSpeakersImageLoader == null) {
+ mSpeakersImageLoader = new ImageLoader(this, R.drawable.person_image_empty);
+ }
+ if (mNoPlaceholderImageLoader == null) {
+ mNoPlaceholderImageLoader = new ImageLoader(this);
+ }
+
+ mScrollView = (ObservableScrollView) findViewById(R.id.scroll_view);
+ mScrollView.addCallbacks(this);
+ ViewTreeObserver vto = mScrollView.getViewTreeObserver();
+ if (vto.isAlive()) {
+ vto.addOnGlobalLayoutListener(mGlobalLayoutListener);
+ }
+
+ mScrollViewChild = findViewById(R.id.scroll_view_child);
+ mScrollViewChild.setVisibility(View.INVISIBLE);
+
+ mDetailsContainer = findViewById(R.id.details_container);
+ mHeaderBox = findViewById(R.id.header_session);
+ mTitle = (TextView) findViewById(R.id.session_title);
+ mSubtitle = (TextView) findViewById(R.id.session_subtitle);
+ mPhotoViewContainer = findViewById(R.id.session_photo_container);
+ mPhotoView = (ImageView) findViewById(R.id.session_photo);
+
+ mPlusOneButton = (PlusOneButton) findViewById(R.id.plus_one_button);
+ mAbstract = (TextView) findViewById(R.id.session_abstract);
+ mRequirements = (TextView) findViewById(R.id.session_requirements);
+ mTags = (LinearLayout) findViewById(R.id.session_tags);
+ mTagsContainer = (ViewGroup) findViewById(R.id.session_tags_container);
+
+ mAddScheduleButton = (CheckableFrameLayout) findViewById(R.id.add_schedule_button);
+ mAddScheduleButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ boolean starred = !mStarred;
+ SessionsHelper helper = new SessionsHelper(SessionDetailActivity.this);
+ showStarred(starred, true);
+ helper.setSessionStarred(mSessionUri, starred, mTitleString);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ mAddScheduleButton.announceForAccessibility(starred ?
+ getString(R.string.session_details_a11y_session_added) :
+ getString(R.string.session_details_a11y_session_removed));
+ }
+
+ /* [ANALYTICS:EVENT]
+ * TRIGGER: Add or remove a session from My Schedule.
+ * CATEGORY: 'Session'
+ * ACTION: 'Starred' or 'Unstarred'
+ * LABEL: Session title/subtitle.
+ * [/ANALYTICS]
+ */
+ AnalyticsManager.sendEvent(
+ "Session", starred ? "Starred" : "Unstarred", mTitleString, 0L);
+ }
+ });
+
+ ViewCompat.setTransitionName(mPhotoView, TRANSITION_NAME_PHOTO);
+
+ LoaderManager manager = getLoaderManager();
+ manager.initLoader(SessionsQuery._TOKEN, null, this);
+ manager.initLoader(SpeakersQuery._TOKEN, null, this);
+ manager.initLoader(TAG_METADATA_TOKEN, null, this);
}
@Override
public Intent getParentActivityIntent() {
- // TODO: make this Activity navigate up to the right screen depending on how it was launched
+ // TODO(mangini): make this Activity navigate up to the right screen depending on how it was launched
return new Intent(this, MyScheduleActivity.class);
}
@@ -66,8 +298,8 @@ public class SessionDetailActivity extends SimpleSinglePaneActivity {
params.width = getResources().getDimensionPixelSize(R.dimen.session_details_floating_width);
params.height = getResources().getDimensionPixelSize(R.dimen.session_details_floating_height);
params.alpha = 1;
- params.dimAmount = 0.7f;
- params.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
+ params.dimAmount = 0.4f;
+ params.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
getWindow().setAttributes(params);
}
@@ -81,12 +313,972 @@ public class SessionDetailActivity extends SimpleSinglePaneActivity {
return (floatingWindowFlag.data != 0);
}
+ private void recomputePhotoAndScrollingMetrics() {
+ mHeaderHeightPixels = mHeaderBox.getHeight();
+
+ mPhotoHeightPixels = 0;
+ if (mHasPhoto) {
+ mPhotoHeightPixels = (int) (mPhotoView.getWidth() / PHOTO_ASPECT_RATIO);
+ mPhotoHeightPixels = Math.min(mPhotoHeightPixels, mScrollView.getHeight() * 2 / 3);
+ }
+
+ ViewGroup.LayoutParams lp;
+ lp = mPhotoViewContainer.getLayoutParams();
+ if (lp.height != mPhotoHeightPixels) {
+ lp.height = mPhotoHeightPixels;
+ mPhotoViewContainer.setLayoutParams(lp);
+ }
+
+ ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams)
+ mDetailsContainer.getLayoutParams();
+ if (mlp.topMargin != mHeaderHeightPixels + mPhotoHeightPixels) {
+ mlp.topMargin = mHeaderHeightPixels + mPhotoHeightPixels;
+ mDetailsContainer.setLayoutParams(mlp);
+ }
+
+ onScrollChanged(0, 0); // trigger scroll handling
+ }
+
@Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == android.R.id.home) {
+ protected void onDestroy() {
+ super.onDestroy();
+ if (mScrollView == null) {
+ return;
+ }
+
+ ViewTreeObserver vto = mScrollView.getViewTreeObserver();
+ if (vto.isAlive()) {
+ vto.removeGlobalOnLayoutListener(mGlobalLayoutListener);
+ }
+ }
+
+ private ViewTreeObserver.OnGlobalLayoutListener mGlobalLayoutListener
+ = new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ mAddScheduleButtonHeightPixels = mAddScheduleButton.getHeight();
+ recomputePhotoAndScrollingMetrics();
+ }
+ };
+
+ @Override
+ public void onScrollChanged(int deltaX, int deltaY) {
+ // Reposition the header bar -- it's normally anchored to the top of the content,
+ // but locks to the top of the screen on scroll
+ int scrollY = mScrollView.getScrollY();
+
+ float newTop = Math.max(mPhotoHeightPixels, scrollY);
+ mHeaderBox.setTranslationY(newTop);
+ mAddScheduleButton.setTranslationY(newTop + mHeaderHeightPixels
+ - mAddScheduleButtonHeightPixels / 2);
+
+ float gapFillProgress = 1;
+ if (mPhotoHeightPixels != 0) {
+ gapFillProgress = Math.min(Math.max(UIUtils.getProgress(scrollY,
+ 0,
+ mPhotoHeightPixels), 0), 1);
+ }
+
+ ViewCompat.setElevation(mHeaderBox, gapFillProgress * mMaxHeaderElevation);
+ ViewCompat.setElevation(mAddScheduleButton, gapFillProgress * mMaxHeaderElevation
+ + mFABElevation);
+
+ // Move background photo (parallax effect)
+ mPhotoViewContainer.setTranslationY(scrollY * 0.5f);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updatePlusOneButton();
+ if (mTimeHintUpdaterRunnable != null) {
+ mHandler.postDelayed(mTimeHintUpdaterRunnable, TIME_HINT_UPDATE_INTERVAL);
+ }
+
+ // Refresh whether or not feedback has been submitted
+ getLoaderManager().restartLoader(FeedbackQuery._TOKEN, null, this);
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ if (mInitStarred != mStarred) {
+ if (UIUtils.getCurrentTime(this) < mSessionStart) {
+ // Update Calendar event through the Calendar API on Android 4.0 or new versions.
+ Intent intent = null;
+ if (mStarred) {
+ // Set up intent to add session to Calendar, if it doesn't exist already.
+ intent = new Intent(SessionCalendarService.ACTION_ADD_SESSION_CALENDAR,
+ mSessionUri);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_START,
+ mSessionStart);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_END,
+ mSessionEnd);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_ROOM, mRoomName);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_TITLE, mTitleString);
+ } else {
+ // Set up intent to remove session from Calendar, if exists.
+ intent = new Intent(SessionCalendarService.ACTION_REMOVE_SESSION_CALENDAR,
+ mSessionUri);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_START,
+ mSessionStart);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_END,
+ mSessionEnd);
+ intent.putExtra(SessionCalendarService.EXTRA_SESSION_TITLE, mTitleString);
+ }
+ intent.setClass(this, SessionCalendarService.class);
+ startService(intent);
+
+ if (mStarred) {
+ setupNotification();
+ }
+ }
+ }
+ }
+
+ private void setupNotification() {
+ Intent scheduleIntent;
+
+ // Schedule session notification
+ if (UIUtils.getCurrentTime(this) < mSessionStart) {
+ LOGD(TAG, "Scheduling notification about session start.");
+ scheduleIntent = new Intent(
+ SessionAlarmService.ACTION_SCHEDULE_STARRED_BLOCK,
+ null, this, SessionAlarmService.class);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_START, mSessionStart);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_END, mSessionEnd);
+ startService(scheduleIntent);
+ } else {
+ LOGD(TAG, "Not scheduling notification about session start, too late.");
+ }
+
+ // Schedule feedback notification
+ if (UIUtils.getCurrentTime(this) < mSessionEnd) {
+ LOGD(TAG, "Scheduling notification about session feedback.");
+ scheduleIntent = new Intent(
+ SessionAlarmService.ACTION_SCHEDULE_FEEDBACK_NOTIFICATION,
+ null, this, SessionAlarmService.class);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ID, mSessionId);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_START, mSessionStart);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_END, mSessionEnd);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_TITLE, mTitleString);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ROOM, mRoomName);
+ scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_SPEAKERS, mSpeakers);
+ startService(scheduleIntent);
+ } else {
+ LOGD(TAG, "Not scheduling feedback notification, too late.");
+ }
+ }
+
+ private void updateTimeBasedUi() {
+ long currentTimeMillis = UIUtils.getCurrentTime(this);
+ boolean canShowLivestream = mHasLivestream;
+
+ if (canShowLivestream && !mDismissedWatchLivestreamCard
+ && currentTimeMillis > mSessionStart
+ && currentTimeMillis <= mSessionEnd) {
+ // show the "watch now" card
+ showWatchNowCard();
+ } else if (!mAlreadyGaveFeedback && mInitStarred && currentTimeMillis >= (mSessionEnd -
+ Config.FEEDBACK_MILLIS_BEFORE_SESSION_END)
+ && !sDismissedFeedbackCard.contains(mSessionId)) {
+ // show the "give feedback" card
+ showGiveFeedbackCard();
+ }
+
+ String timeHint = "";
+ long countdownMillis = mSessionStart - currentTimeMillis;
+
+ if (TimeUtils.hasConferenceEnded(this)) {
+ // no time hint to display
+ timeHint = "";
+ } else if (currentTimeMillis >= mSessionEnd) {
+ timeHint = getString(R.string.time_hint_session_ended);
+ } else if (currentTimeMillis >= mSessionStart) {
+ long minutesAgo = (currentTimeMillis - mSessionStart) / 60000;
+ if (minutesAgo > 1) {
+ timeHint = getString(R.string.time_hint_started_min, minutesAgo);
+ } else {
+ timeHint = getString(R.string.time_hint_started_just);
+ }
+ } else if (countdownMillis > 0 && countdownMillis < Config.HINT_TIME_BEFORE_SESSION) {
+ long millisUntil = mSessionStart - currentTimeMillis;
+ long minutesUntil = millisUntil / 60000 + (millisUntil % 1000 > 0 ? 1 : 0);
+ if (minutesUntil > 1) {
+ timeHint = getString(R.string.time_hint_about_to_start_min, minutesUntil);
+ } else {
+ timeHint = getString(R.string.time_hint_about_to_start_shortly, minutesUntil);
+ }
+ }
+
+ final TextView timeHintView = (TextView) findViewById(R.id.time_hint);
+
+ if (!TextUtils.isEmpty(timeHint)) {
+ timeHintView.setVisibility(View.VISIBLE);
+ timeHintView.setText(timeHint);
+ } else {
+ timeHintView.setVisibility(View.GONE);
+ }
+ }
+
+ private void setTextSelectable(TextView tv) {
+ if (tv != null && !tv.isTextSelectable()) {
+ tv.setTextIsSelectable(true);
+ }
+ }
+
+ private void onFeedbackQueryComplete(Cursor cursor) {
+ // Is there existing feedback for this session?
+ mAlreadyGaveFeedback = cursor.getCount() > 0;
+
+ if (mAlreadyGaveFeedback) {
+ final MessageCardView giveFeedbackCardView = (MessageCardView) findViewById(R.id.give_feedback_card);
+ if (giveFeedbackCardView != null) {
+ giveFeedbackCardView.setVisibility(View.GONE);
+ }
+ if (mSubmitFeedbackView != null) {
+ mSubmitFeedbackView.setVisibility(View.GONE);
+ }
+ }
+ LOGD(TAG, "User " + (mAlreadyGaveFeedback ? "already gave" : "has not given") + " feedback for session.");
+ cursor.close();
+ }
+
+ /**
+ * Handle {@link SessionsQuery} {@link Cursor}.
+ */
+ private void onSessionQueryComplete(Cursor cursor) {
+ mSessionCursor = true;
+ if (!cursor.moveToFirst()) {
+ // TODO: Remove this in favor of a callbacks interface that the activity
+ // can implement.
finish();
- return true;
+ return;
+ }
+
+ mTitleString = cursor.getString(SessionsQuery.TITLE);
+ mSessionColor = cursor.getInt(SessionsQuery.COLOR);
+
+ if (mSessionColor == 0) {
+ // no color -- use default
+ mSessionColor = getResources().getColor(R.color.default_session_color);
+ } else {
+ // make sure it's opaque
+ mSessionColor = UIUtils.setColorAlpha(mSessionColor, 255);
+ }
+
+ mHeaderBox.setBackgroundColor(mSessionColor);
+ getLUtils().setStatusBarColor(UIUtils.scaleColor(mSessionColor, 0.8f, false));
+
+ mLivestreamUrl = cursor.getString(SessionsQuery.LIVESTREAM_URL);
+ mHasLivestream = !TextUtils.isEmpty(mLivestreamUrl);
+
+ // Format the time this session occupies
+ mSessionStart = cursor.getLong(SessionsQuery.START);
+ mSessionEnd = cursor.getLong(SessionsQuery.END);
+ mRoomName = cursor.getString(SessionsQuery.ROOM_NAME);
+ mSpeakers = cursor.getString(SessionsQuery.SPEAKER_NAMES);
+ String subtitle = UIUtils.formatSessionSubtitle(
+ mSessionStart, mSessionEnd, mRoomName, mBuffer, this);
+ if (mHasLivestream) {
+ subtitle += " " + UIUtils.getLiveBadgeText(this, mSessionStart, mSessionEnd);
+ }
+
+ mTitle.setText(mTitleString);
+ mSubtitle.setText(subtitle);
+
+ for (int resId : SECTION_HEADER_RES_IDS) {
+ ((TextView) findViewById(resId)).setTextColor(mSessionColor);
+ }
+
+ mPhotoViewContainer.setBackgroundColor(UIUtils.scaleSessionColorToDefaultBG(mSessionColor));
+
+ String photo = cursor.getString(SessionsQuery.PHOTO_URL);
+ if (!TextUtils.isEmpty(photo)) {
+ mHasPhoto = true;
+ mNoPlaceholderImageLoader.loadImage(photo, mPhotoView, new RequestListener<String>() {
+ @Override
+ public void onException(Exception e, String url, Target target) {
+ mHasPhoto = false;
+ recomputePhotoAndScrollingMetrics();
+ }
+
+ @Override
+ public void onImageReady(String url, Target target, boolean b, boolean b2) {
+ // Trigger image transition
+ recomputePhotoAndScrollingMetrics();
+ }
+ });
+ recomputePhotoAndScrollingMetrics();
+ } else {
+ mHasPhoto = false;
+ recomputePhotoAndScrollingMetrics();
+ }
+
+ mUrl = cursor.getString(SessionsQuery.URL);
+ if (TextUtils.isEmpty(mUrl)) {
+ mUrl = "";
+ }
+
+ mHashTag = cursor.getString(SessionsQuery.HASHTAG);
+ if (!TextUtils.isEmpty(mHashTag)) {
+ enableSocialStreamMenuItemDeferred();
+ }
+
+ mRoomId = cursor.getString(SessionsQuery.ROOM_ID);
+
+ final boolean inMySchedule = cursor.getInt(SessionsQuery.IN_MY_SCHEDULE) != 0;
+
+ setupShareMenuItemDeferred();
+
+ // Handle Keynote as a special case, where the user cannot remove it
+ // from the schedule (it is auto added to schedule on sync)
+ mTagsString = cursor.getString(SessionsQuery.TAGS);
+ mIsKeynote = mTagsString.contains(Config.Tags.SPECIAL_KEYNOTE);
+ mAddScheduleButton.setVisibility(
+ (AccountUtils.hasActiveAccount(this) && !mIsKeynote)
+ ? View.VISIBLE : View.INVISIBLE);
+
+ tryRenderTags();
+
+ if (!mIsKeynote) {
+ showStarredDeferred(mInitStarred = inMySchedule, false);
}
- return super.onOptionsItemSelected(item);
+
+ final String sessionAbstract = cursor.getString(SessionsQuery.ABSTRACT);
+ if (!TextUtils.isEmpty(sessionAbstract)) {
+ UIUtils.setTextMaybeHtml(mAbstract, sessionAbstract);
+ mAbstract.setVisibility(View.VISIBLE);
+ mHasSummaryContent = true;
+ } else {
+ mAbstract.setVisibility(View.GONE);
+ }
+
+ updatePlusOneButton();
+
+ // Build requirements section
+ final View requirementsBlock = findViewById(R.id.session_requirements_block);
+ final String sessionRequirements = cursor.getString(SessionsQuery.REQUIREMENTS);
+ if (!TextUtils.isEmpty(sessionRequirements)) {
+ UIUtils.setTextMaybeHtml(mRequirements, sessionRequirements);
+ requirementsBlock.setVisibility(View.VISIBLE);
+ mHasSummaryContent = true;
+ } else {
+ requirementsBlock.setVisibility(View.GONE);
+ }
+
+ // Build related videos section
+ final ViewGroup relatedVideosBlock = (ViewGroup) findViewById(R.id.related_videos_block);
+ relatedVideosBlock.setVisibility(View.GONE);
+
+ // Build links section
+ buildLinksSection(cursor);
+
+ updateEmptyView();
+
+ updateTimeBasedUi();
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ onScrollChanged(0, 0); // trigger scroll handling
+ mScrollViewChild.setVisibility(View.VISIBLE);
+ //mAbstract.setTextIsSelectable(true);
+ }
+ });
+
+ mTimeHintUpdaterRunnable = new Runnable() {
+ @Override
+ public void run() {
+ updateTimeBasedUi();
+ mHandler.postDelayed(mTimeHintUpdaterRunnable, TIME_HINT_UPDATE_INTERVAL);
+ }
+ };
+ mHandler.postDelayed(mTimeHintUpdaterRunnable, TIME_HINT_UPDATE_INTERVAL);
}
+
+ private void tryRenderTags() {
+ if (mTagMetadata == null || mTagsString == null) {
+ return;
+ }
+
+ if (TextUtils.isEmpty(mTagsString)) {
+ mTagsContainer.setVisibility(View.GONE);
+ } else {
+ mTagsContainer.setVisibility(View.VISIBLE);
+ mTags.removeAllViews();
+ LayoutInflater inflater = LayoutInflater.from(this);
+ String[] tagIds = mTagsString.split(",");
+
+ List<TagMetadata.Tag> tags = new ArrayList<TagMetadata.Tag>();
+ for (String tagId : tagIds) {
+ if (Config.Tags.SESSIONS.equals(tagId) ||
+ Config.Tags.SPECIAL_KEYNOTE.equals(tagId)) {
+ continue;
+ }
+
+ TagMetadata.Tag tag = mTagMetadata.getTag(tagId);
+ if (tag == null) {
+ continue;
+ }
+
+ tags.add(tag);
+ }
+
+ if (tags.size() == 0) {
+ mTagsContainer.setVisibility(View.GONE);
+ return;
+ }
+
+ Collections.sort(tags, TagMetadata.TAG_DISPLAY_ORDER_COMPARATOR);
+
+ for (final TagMetadata.Tag tag : tags) {
+ TextView chipView = (TextView) inflater.inflate(
+ R.layout.include_session_tag_chip, mTags, false);
+ chipView.setText(tag.getName());
+
+ if (Config.Tags.CATEGORY_TOPIC.equals(tag.getCategory())) {
+ ShapeDrawable colorDrawable = new ShapeDrawable(new OvalShape());
+ colorDrawable.setIntrinsicWidth(mTagColorDotSize);
+ colorDrawable.setIntrinsicHeight(mTagColorDotSize);
+ colorDrawable.getPaint().setStyle(Paint.Style.FILL);
+ chipView.setCompoundDrawablesWithIntrinsicBounds(colorDrawable,
+ null, null, null);
+ colorDrawable.getPaint().setColor(tag.getColor());
+ }
+
+ chipView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ finish(); // TODO: better encapsulation
+ Intent intent = new Intent(SessionDetailActivity.this, BrowseSessionsActivity.class)
+ .putExtra(BrowseSessionsActivity.EXTRA_FILTER_TAG, tag.getId())
+ .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ startActivity(intent);
+ }
+ });
+
+ mTags.addView(chipView);
+ }
+ }
+ }
+
+ private void buildLinksSection(Cursor cursor) {
+ // Compile list of links (I/O live link, submit feedback, and normal links)
+ ViewGroup linkContainer = (ViewGroup) findViewById(R.id.links_container);
+ linkContainer.removeAllViews();
+
+
+ // Build links section
+ // the Object can be either a string URL or an Intent
+ List<Pair<Integer, Object>> links = new ArrayList<Pair<Integer, Object>>();
+
+ long currentTimeMillis = UIUtils.getCurrentTime(this);
+ if (mHasLivestream
+ && currentTimeMillis > mSessionStart
+ && currentTimeMillis <= mSessionEnd) {
+ links.add(new Pair<Integer, Object>(
+ R.string.session_link_livestream,
+ getWatchLiveIntent(this)));
+ }
+
+ // Add session feedback link, if appropriate
+ if (!mAlreadyGaveFeedback && currentTimeMillis > mSessionEnd
+ - Config.FEEDBACK_MILLIS_BEFORE_SESSION_END) {
+ links.add(new Pair<Integer, Object>(
+ R.string.session_feedback_submitlink,
+ getFeedbackIntent()
+ ));
+ }
+
+ for (int i = 0; i < SessionsQuery.LINKS_INDICES.length; i++) {
+ final String linkUrl = cursor.getString(SessionsQuery.LINKS_INDICES[i]);
+ if (TextUtils.isEmpty(linkUrl)) {
+ continue;
+ }
+
+ links.add(new Pair<Integer, Object>(
+ SessionsQuery.LINKS_TITLES[i],
+ new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl))
+ .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET)
+ ));
+ }
+
+ // Render links
+ if (links.size() > 0) {
+ LayoutInflater inflater = LayoutInflater.from(this);
+ int columns = getResources().getInteger(R.integer.links_columns);
+
+ LinearLayout currentLinkRowView = null;
+ for (int i = 0; i < links.size(); i++) {
+ final Pair<Integer, Object> link = links.get(i);
+
+ // Create link view
+ TextView linkView = (TextView) inflater.inflate(R.layout.list_item_session_link,
+ linkContainer, false);
+ if (link.first == R.string.session_feedback_submitlink) {
+ mSubmitFeedbackView = linkView;
+ }
+ linkView.setText(getString(link.first));
+ linkView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ fireLinkEvent(link.first);
+ Intent intent=null;
+ if (link.second instanceof Intent) {
+ intent = (Intent) link.second;
+ } else if (link.second instanceof String) {
+ intent = new Intent(Intent.ACTION_VIEW, Uri.parse((String) link.second))
+ .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ }
+ try {
+ startActivity(intent);
+ } catch (ActivityNotFoundException ignored) {
+ }
+ }
+ });
+
+ // Place it inside a container
+ if (columns == 1) {
+ linkContainer.addView(linkView);
+ } else {
+ // create a new link row
+ if (i % columns == 0) {
+ currentLinkRowView = (LinearLayout) inflater.inflate(
+ R.layout.include_link_row, linkContainer, false);
+ currentLinkRowView.setWeightSum(columns);
+ linkContainer.addView(currentLinkRowView);
+ }
+
+ ((LinearLayout.LayoutParams) linkView.getLayoutParams()).width = 0;
+ ((LinearLayout.LayoutParams) linkView.getLayoutParams()).weight = 1;
+ currentLinkRowView.addView(linkView);
+ }
+ }
+
+ findViewById(R.id.session_links_header).setVisibility(View.VISIBLE);
+ findViewById(R.id.links_container).setVisibility(View.VISIBLE);
+
+ } else {
+ findViewById(R.id.session_links_header).setVisibility(View.GONE);
+ findViewById(R.id.links_container).setVisibility(View.GONE);
+ }
+
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ if (mTimeHintUpdaterRunnable != null) {
+ mHandler.removeCallbacks(mTimeHintUpdaterRunnable);
+ }
+ }
+
+ private Intent getWatchLiveIntent(Context context) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP &&
+ YouTubeIntents.canResolvePlayVideoIntent(context)) {
+ String youtubeVideoId = SessionLivestreamActivity.getVideoIdFromUrl(mLivestreamUrl);
+ return YouTubeIntents.createPlayVideoIntentWithOptions(
+ context, youtubeVideoId, true, false);
+ }
+ return new Intent(Intent.ACTION_VIEW, mSessionUri).setClass(context,
+ SessionLivestreamActivity.class);
+ }
+
+ private void updatePlusOneButton() {
+ if (mPlusOneButton == null) {
+ return;
+ }
+
+ if (!TextUtils.isEmpty(mUrl) && !mIsKeynote) {
+ mPlusOneButton.initialize(mUrl, 0);
+ mPlusOneButton.setVisibility(View.VISIBLE);
+ } else {
+ mPlusOneButton.setVisibility(View.GONE);
+ }
+ }
+
+ private void showWatchNowCard() {
+ final MessageCardView messageCardView = (MessageCardView) findViewById(R.id.live_now_card);
+ messageCardView.show();
+ messageCardView.setListener(new MessageCardView.OnMessageCardButtonClicked() {
+ @Override
+ public void onMessageCardButtonClicked(String tag) {
+ if ("WATCH_NOW".equals(tag)) {
+ Intent intent = getWatchLiveIntent(SessionDetailActivity.this);
+ startActivity(intent);
+ } else {
+ mDismissedWatchLivestreamCard = true;
+ messageCardView.dismiss();
+ }
+ }
+ });
+ }
+
+ private void showGiveFeedbackCard() {
+ final MessageCardView messageCardView = (MessageCardView) findViewById(R.id.give_feedback_card);
+ messageCardView.show();
+ messageCardView.setListener(new MessageCardView.OnMessageCardButtonClicked() {
+ @Override
+ public void onMessageCardButtonClicked(String tag) {
+ if ("GIVE_FEEDBACK".equals(tag)) {
+ /* [ANALYTICS:EVENT]
+ * TRIGGER: Click on the Send Feedback action on the Session Details page.
+ * CATEGORY: 'Session'
+ * ACTION: 'Feedback'
+ * LABEL: session title/subtitle
+ * [/ANALYTICS]
+ */
+ AnalyticsManager.sendEvent("Session", "Feedback", mTitleString, 0L);
+ Intent intent = getFeedbackIntent();
+ startActivity(intent);
+ } else {
+ sDismissedFeedbackCard.add(mSessionId);
+ messageCardView.dismiss();
+ }
+ }
+ });
+ }
+
+ private Intent getFeedbackIntent() {
+ return new Intent(Intent.ACTION_VIEW, mSessionUri, this,
+ SessionFeedbackActivity.class);
+ }
+
+ private void enableSocialStreamMenuItemDeferred() {
+ mDeferredUiOperations.add(new Runnable() {
+ @Override
+ public void run() {
+ mSocialStreamMenuItem.setVisible(true);
+ }
+ });
+ tryExecuteDeferredUiOperations();
+ }
+
+ private void showStarredDeferred(final boolean starred, final boolean allowAnimate) {
+ mDeferredUiOperations.add(new Runnable() {
+ @Override
+ public void run() {
+ showStarred(starred, allowAnimate);
+ }
+ });
+ tryExecuteDeferredUiOperations();
+ }
+
+ private void showStarred(boolean starred, boolean allowAnimate) {
+ mStarred = starred;
+
+ mAddScheduleButton.setChecked(mStarred, allowAnimate);
+
+ ImageView iconView = (ImageView) mAddScheduleButton.findViewById(R.id.add_schedule_icon);
+ getLUtils().setOrAnimatePlusCheckIcon(iconView, starred, allowAnimate);
+ mAddScheduleButton.setContentDescription(getString(starred
+ ? R.string.remove_from_schedule_desc
+ : R.string.add_to_schedule_desc));
+ }
+
+ private void setupShareMenuItemDeferred() {
+ mDeferredUiOperations.add(new Runnable() {
+ @Override
+ public void run() {
+ new SessionsHelper(SessionDetailActivity.this).tryConfigureShareMenuItem(mShareMenuItem,
+ R.string.share_template, mTitleString, mHashTag, mUrl);
+ }
+ });
+ tryExecuteDeferredUiOperations();
+ }
+
+ private void tryExecuteDeferredUiOperations() {
+ if (mSocialStreamMenuItem != null) {
+ for (Runnable r : mDeferredUiOperations) {
+ r.run();
+ }
+ mDeferredUiOperations.clear();
+ }
+ }
+
+ private void onSpeakersQueryComplete(Cursor cursor) {
+ mSpeakersCursor = true;
+ final ViewGroup speakersGroup = (ViewGroup) findViewById(R.id.session_speakers_block);
+
+ // Remove all existing speakers (everything but first child, which is the header)
+ for (int i = speakersGroup.getChildCount() - 1; i >= 1; i--) {
+ speakersGroup.removeViewAt(i);
+ }
+
+ final LayoutInflater inflater = getLayoutInflater();
+
+ boolean hasSpeakers = false;
+
+ cursor.moveToPosition(-1); // move to just before first record
+ while (cursor.moveToNext()) {
+ final String speakerName = cursor.getString(SpeakersQuery.SPEAKER_NAME);
+ if (TextUtils.isEmpty(speakerName)) {
+ continue;
+ }
+
+ final String speakerImageUrl = cursor.getString(SpeakersQuery.SPEAKER_IMAGE_URL);
+ final String speakerCompany = cursor.getString(SpeakersQuery.SPEAKER_COMPANY);
+ final String speakerUrl = cursor.getString(SpeakersQuery.SPEAKER_URL);
+ final String speakerAbstract = cursor.getString(SpeakersQuery.SPEAKER_ABSTRACT);
+
+ String speakerHeader = speakerName;
+ if (!TextUtils.isEmpty(speakerCompany)) {
+ speakerHeader += ", " + speakerCompany;
+ }
+
+ final View speakerView = inflater
+ .inflate(R.layout.speaker_detail, speakersGroup, false);
+ final TextView speakerHeaderView = (TextView) speakerView
+ .findViewById(R.id.speaker_header);
+ final ImageView speakerImageView = (ImageView) speakerView
+ .findViewById(R.id.speaker_image);
+ final TextView speakerAbstractView = (TextView) speakerView
+ .findViewById(R.id.speaker_abstract);
+
+ if (!TextUtils.isEmpty(speakerImageUrl) && mSpeakersImageLoader != null) {
+ mSpeakersImageLoader.loadImage(speakerImageUrl, speakerImageView);
+ }
+
+ speakerHeaderView.setText(speakerHeader);
+ speakerImageView.setContentDescription(
+ getString(R.string.speaker_googleplus_profile, speakerHeader));
+ UIUtils.setTextMaybeHtml(speakerAbstractView, speakerAbstract);
+
+ if (!TextUtils.isEmpty(speakerUrl)) {
+ speakerImageView.setEnabled(true);
+ speakerImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent speakerProfileIntent = new Intent(Intent.ACTION_VIEW,
+ Uri.parse(speakerUrl));
+ speakerProfileIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ UIUtils.preferPackageForIntent(SessionDetailActivity.this,
+ speakerProfileIntent,
+ UIUtils.GOOGLE_PLUS_PACKAGE_NAME);
+ startActivity(speakerProfileIntent);
+ }
+ });
+ } else {
+ speakerImageView.setEnabled(false);
+ speakerImageView.setOnClickListener(null);
+ }
+
+ speakersGroup.addView(speakerView);
+ hasSpeakers = true;
+ mHasSummaryContent = true;
+ }
+
+ speakersGroup.setVisibility(hasSpeakers ? View.VISIBLE : View.GONE);
+ updateEmptyView();
+ }
+
+ private void updateEmptyView() {
+ findViewById(android.R.id.empty).setVisibility(
+ (mSpeakersCursor && mSessionCursor && !mHasSummaryContent)
+ ? View.VISIBLE
+ : View.GONE);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ super.onCreateOptionsMenu(menu);
+ getMenuInflater().inflate(R.menu.session_detail, menu);
+ mSocialStreamMenuItem = menu.findItem(R.id.menu_social_stream);
+ mShareMenuItem = menu.findItem(R.id.menu_share);
+ tryExecuteDeferredUiOperations();
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ SessionsHelper helper = new SessionsHelper(this);
+ switch (item.getItemId()) {
+ case R.id.menu_map_room:
+ /* [ANALYTICS:EVENT]
+ * TRIGGER: Click on the Map action on the Session Details page.
+ * CATEGORY: 'Session'
+ * ACTION: 'Map'
+ * LABEL: session title/subtitle
+ * [/ANALYTICS]
+ */
+ AnalyticsManager.sendEvent("Session", "Map", mTitleString, 0L);
+ helper.startMapActivity(mRoomId);
+ return true;
+
+ case R.id.menu_share:
+ // On ICS+ devices, we normally won't reach this as ShareActionProvider will handle
+ // sharing.
+ helper.shareSession(this, R.string.share_template, mTitleString,
+ mHashTag, mUrl);
+ return true;
+
+ case R.id.menu_social_stream:
+ if (!TextUtils.isEmpty(mHashTag)) {
+ /* [ANALYTICS:EVENT]
+ * TRIGGER: Click on the Social Stream action on the Session Details page.
+ * CATEGORY: 'Session'
+ * ACTION: 'Stream'
+ * LABEL: session title/subtitle
+ * [/ANALYTICS]
+ */
+ AnalyticsManager.sendEvent("Session", "Stream", mTitleString, 0L);
+ UIUtils.showHashtagStream(this, mHashTag);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /*
+ * Event structure:
+ * Category -> "Session Details"
+ * Action -> Link Text
+ * Label -> Session's Title
+ * Value -> 0.
+ */
+ void fireLinkEvent(int actionId) {
+ /* [ANALYTICS:EVENT]
+ * TRIGGER: Click on a link on the Session Details page.
+ * CATEGORY: 'Session'
+ * ACTION: The link's name ("Watch Live", "Follow us on Google+", etc)
+ * LABEL: The session's title/subtitle.
+ * [/ANALYTICS]
+ */
+ AnalyticsManager.sendEvent("Session", getString(actionId), mTitleString, 0L);
+ }
+
+ /**
+ * {@link com.google.samples.apps.iosched.provider.ScheduleContract.Sessions} query parameters.
+ */
+ private interface SessionsQuery {
+ int _TOKEN = 0x1;
+
+ String[] PROJECTION = {
+ ScheduleContract.Sessions.SESSION_START,
+ ScheduleContract.Sessions.SESSION_END,
+ ScheduleContract.Sessions.SESSION_LEVEL,
+ ScheduleContract.Sessions.SESSION_TITLE,
+ ScheduleContract.Sessions.SESSION_ABSTRACT,
+ ScheduleContract.Sessions.SESSION_REQUIREMENTS,
+ ScheduleContract.Sessions.SESSION_IN_MY_SCHEDULE,
+ ScheduleContract.Sessions.SESSION_HASHTAG,
+ ScheduleContract.Sessions.SESSION_URL,
+ ScheduleContract.Sessions.SESSION_YOUTUBE_URL,
+ ScheduleContract.Sessions.SESSION_PDF_URL,
+ ScheduleContract.Sessions.SESSION_NOTES_URL,
+ ScheduleContract.Sessions.SESSION_LIVESTREAM_URL,
+ ScheduleContract.Sessions.SESSION_MODERATOR_URL,
+ ScheduleContract.Sessions.ROOM_ID,
+ ScheduleContract.Rooms.ROOM_NAME,
+ ScheduleContract.Sessions.SESSION_COLOR,
+ ScheduleContract.Sessions.SESSION_PHOTO_URL,
+ ScheduleContract.Sessions.SESSION_RELATED_CONTENT,
+ ScheduleContract.Sessions.SESSION_TAGS,
+ ScheduleContract.Sessions.SESSION_SPEAKER_NAMES
+ };
+
+ int START = 0;
+ int END = 1;
+ int LEVEL = 2;
+ int TITLE = 3;
+ int ABSTRACT = 4;
+ int REQUIREMENTS = 5;
+ int IN_MY_SCHEDULE = 6;
+ int HASHTAG = 7;
+ int URL = 8;
+ int YOUTUBE_URL = 9;
+ int PDF_URL = 10;
+ int NOTES_URL = 11;
+ int LIVESTREAM_URL = 12;
+ int MODERATOR_URL = 13;
+ int ROOM_ID = 14;
+ int ROOM_NAME = 15;
+ int COLOR = 16;
+ int PHOTO_URL = 17;
+ int RELATED_CONTENT = 18;
+ int TAGS = 19;
+ int SPEAKER_NAMES = 20;
+
+ int[] LINKS_INDICES = {
+ YOUTUBE_URL,
+ MODERATOR_URL,
+ PDF_URL,
+ NOTES_URL,
+ };
+
+ int[] LINKS_TITLES = {
+ R.string.session_link_youtube,
+ R.string.session_link_moderator,
+ R.string.session_link_pdf,
+ R.string.session_link_notes,
+ };
+ }
+
+ private interface SpeakersQuery {
+ int _TOKEN = 0x3;
+
+ String[] PROJECTION = {
+ ScheduleContract.Speakers.SPEAKER_NAME,
+ ScheduleContract.Speakers.SPEAKER_IMAGE_URL,
+ ScheduleContract.Speakers.SPEAKER_COMPANY,
+ ScheduleContract.Speakers.SPEAKER_ABSTRACT,
+ ScheduleContract.Speakers.SPEAKER_URL,
+ };
+
+ int SPEAKER_NAME = 0;
+ int SPEAKER_IMAGE_URL = 1;
+ int SPEAKER_COMPANY = 2;
+ int SPEAKER_ABSTRACT = 3;
+ int SPEAKER_URL = 4;
+ }
+
+ private interface FeedbackQuery {
+ int _TOKEN = 0x4;
+
+ String[] PROJECTION = {
+ ScheduleContract.Feedback.SESSION_ID
+ };
+ }
+
+ private static final int TAG_METADATA_TOKEN = 0x5;
+
+ @Override
+ public Loader<Cursor> onCreateLoader(int id, Bundle data) {
+ CursorLoader loader = null;
+ if (id == SessionsQuery._TOKEN){
+ loader = new CursorLoader(this, mSessionUri, SessionsQuery.PROJECTION, null,
+ null, null);
+ } else if (id == SpeakersQuery._TOKEN && mSessionUri != null){
+ Uri speakersUri = ScheduleContract.Sessions.buildSpeakersDirUri(mSessionId);
+ loader = new CursorLoader(this, speakersUri, SpeakersQuery.PROJECTION, null,
+ null, ScheduleContract.Speakers.DEFAULT_SORT);
+ } else if (id == FeedbackQuery._TOKEN) {
+ Uri feedbackUri = ScheduleContract.Feedback.buildFeedbackUri(mSessionId);
+ loader = new CursorLoader(this, feedbackUri, FeedbackQuery.PROJECTION, null,
+ null, null);
+ } else if (id == TAG_METADATA_TOKEN) {
+ loader = TagMetadata.createCursorLoader(this);
+ }
+ return loader;
+ }
+
+ @Override
+ public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
+ if (loader.getId() == SessionsQuery._TOKEN) {
+ onSessionQueryComplete(cursor);
+ } else if (loader.getId() == SpeakersQuery._TOKEN) {
+ onSpeakersQueryComplete(cursor);
+ } else if (loader.getId() == FeedbackQuery._TOKEN) {
+ onFeedbackQueryComplete(cursor);
+ } else if (loader.getId() == TAG_METADATA_TOKEN) {
+ mTagMetadata = new TagMetadata(cursor);
+ cursor.close();
+ tryRenderTags();
+ } else {
+ cursor.close();
+ }
+ }
+
+ @Override
+ public void onLoaderReset(Loader<Cursor> loader) {}
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailFragment.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailFragment.java
deleted file mode 100644
index b824bba..0000000
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionDetailFragment.java
+++ /dev/null
@@ -1,1306 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.ui;
-
-import android.app.Fragment;
-import android.app.LoaderManager;
-import android.content.*;
-import android.database.Cursor;
-import android.graphics.Paint;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.shapes.OvalShape;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.text.TextUtils;
-import android.util.Pair;
-import android.view.*;
-import android.view.View.OnClickListener;
-import android.view.animation.DecelerateInterpolator;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.google.android.gms.plus.PlusOneButton;
-import com.google.android.youtube.player.YouTubeIntents;
-import com.google.samples.apps.iosched.Config;
-import com.google.samples.apps.iosched.R;
-import com.google.samples.apps.iosched.model.TagMetadata;
-import com.google.samples.apps.iosched.provider.ScheduleContract;
-import com.google.samples.apps.iosched.service.SessionAlarmService;
-import com.google.samples.apps.iosched.service.SessionCalendarService;
-import com.google.samples.apps.iosched.ui.widget.CheckableFrameLayout;
-import com.google.samples.apps.iosched.ui.widget.MessageCardView;
-import com.google.samples.apps.iosched.ui.widget.ObservableScrollView;
-import com.google.samples.apps.iosched.util.*;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-
-import com.bumptech.glide.request.bitmap.RequestListener;
-import com.bumptech.glide.request.target.Target;
-
-import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
-import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
-
-/**
- * A fragment that shows detail information for a session, including session title, abstract,
- * time information, speaker photos and bios, etc.
- */
-public class SessionDetailFragment extends Fragment implements
- LoaderManager.LoaderCallbacks<Cursor>,
- ObservableScrollView.Callbacks {
-
- private static final String TAG = makeLogTag(SessionDetailFragment.class);
-
- private static final int[] SECTION_HEADER_RES_IDS = {
- R.id.session_links_header,
- R.id.session_speakers_header,
- R.id.session_requirements_header,
- R.id.related_videos_header,
- };
- private static final float PHOTO_ASPECT_RATIO = 1.7777777f;
-
- public static final String VIEW_NAME_PHOTO = "photo";
-
- private Handler mHandler = new Handler();
- private static final int TIME_HINT_UPDATE_INTERVAL = 10000; // 10 sec
-
- private TagMetadata mTagMetadata;
-
- private String mSessionId;
- private Uri mSessionUri;
-
- private long mSessionStart;
- private long mSessionEnd;
- private String mTitleString;
- private String mHashTag;
- private String mUrl;
- private String mRoomId;
- private String mRoomName;
- private String mTagsString;
-
- // A comma-separated list of speakers to be passed to Android Wear
- private String mSpeakers;
-
- private boolean mStarred;
- private boolean mInitStarred;
- private boolean mDismissedWatchLivestreamCard = false;
- private boolean mHasLivestream = false;
- private MenuItem mSocialStreamMenuItem;
- private MenuItem mShareMenuItem;
-
- private ViewGroup mRootView;
- private View mScrollViewChild;
- private TextView mTitle;
- private TextView mSubtitle;
- private PlusOneButton mPlusOneButton;
-
- private ObservableScrollView mScrollView;
- private CheckableFrameLayout mAddScheduleButton;
-
- private TextView mAbstract;
- private LinearLayout mTags;
- private ViewGroup mTagsContainer;
- private TextView mRequirements;
- private View mHeaderBox;
- private View mHeaderContentBox;
- private View mHeaderBackgroundBox;
- private View mHeaderShadow;
- private View mDetailsContainer;
-
- private boolean mSessionCursor = false;
- private boolean mSpeakersCursor = false;
- private boolean mHasSummaryContent = false;
-
- private ImageLoader mSpeakersImageLoader, mNoPlaceholderImageLoader;
- private List<Runnable> mDeferredUiOperations = new ArrayList<Runnable>();
-
- private StringBuilder mBuffer = new StringBuilder();
-
- private int mHeaderTopClearance;
- private int mPhotoHeightPixels;
- private int mHeaderHeightPixels;
- private int mAddScheduleButtonHeightPixels;
-
- private boolean mHasPhoto;
- private View mPhotoViewContainer;
- private ImageView mPhotoView;
- boolean mGapFillShown;
- private int mSessionColor;
- private String mLivestreamUrl;
-
- private static final float GAP_FILL_DISTANCE_MULTIPLIER = 1.5f;
-
- private Runnable mTimeHintUpdaterRunnable = null;
-
- private boolean mAlreadyGaveFeedback = false;
- private boolean mIsKeynote = false;
-
- // this set stores the session IDs for which the user has dismissed the
- // "give feedback" card. This information is kept for the duration of the app's execution
- // so that if they say "No, thanks", we don't show the card again for that session while
- // the app is still executing.
- private static HashSet<String> sDismissedFeedbackCard = new HashSet<String>();
-
- private TextView mSubmitFeedbackView;
- private float mMaxHeaderElevation;
- private float mFABElevation;
-
- private int mTagColorDotSize;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- final Intent intent = BaseActivity.fragmentArgumentsToIntent(getArguments());
- mSessionUri = intent.getData();
-
- if (mSessionUri == null) {
- return;
- }
-
- mSessionId = ScheduleContract.Sessions.getSessionId(mSessionUri);
-
- setHasOptionsMenu(true);
-
- mFABElevation = getResources().getDimensionPixelSize(R.dimen.fab_elevation);
- mMaxHeaderElevation = getResources().getDimensionPixelSize(
- R.dimen.session_detail_max_header_elevation);
-
- mTagColorDotSize = getResources().getDimensionPixelSize(R.dimen.tag_color_dot_size);
-
- mHandler = new Handler();
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
-
- mRootView = (ViewGroup) inflater.inflate(R.layout.fragment_session_detail, container, false);
- mScrollViewChild = mRootView.findViewById(R.id.scroll_view_child);
- mScrollViewChild.setVisibility(View.INVISIBLE);
-
- mDetailsContainer = mRootView.findViewById(R.id.details_container);
- mHeaderBox = mRootView.findViewById(R.id.header_session);
- mHeaderContentBox = mRootView.findViewById(R.id.header_session_contents);
- mHeaderBackgroundBox = mRootView.findViewById(R.id.header_background);
- mHeaderShadow = mRootView.findViewById(R.id.header_shadow);
- mTitle = (TextView) mRootView.findViewById(R.id.session_title);
- mSubtitle = (TextView) mRootView.findViewById(R.id.session_subtitle);
- mPhotoViewContainer = mRootView.findViewById(R.id.session_photo_container);
- mPhotoView = (ImageView) mRootView.findViewById(R.id.session_photo);
-
- mPlusOneButton = (PlusOneButton) mRootView.findViewById(R.id.plus_one_button);
- mAbstract = (TextView) mRootView.findViewById(R.id.session_abstract);
- mRequirements = (TextView) mRootView.findViewById(R.id.session_requirements);
- mTags = (LinearLayout) mRootView.findViewById(R.id.session_tags);
- mTagsContainer = (ViewGroup) mRootView.findViewById(R.id.session_tags_container);
-
- mAddScheduleButton = (CheckableFrameLayout)
- mRootView.findViewById(R.id.add_schedule_button);
- mAddScheduleButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View view) {
- boolean starred = !mStarred;
- SessionsHelper helper = new SessionsHelper(getActivity());
- showStarred(starred, true);
- helper.setSessionStarred(mSessionUri, starred, mTitleString);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- mRootView.announceForAccessibility(starred ?
- getString(R.string.session_details_a11y_session_added) :
- getString(R.string.session_details_a11y_session_removed));
- }
-
- /* [ANALYTICS:EVENT]
- * TRIGGER: Add or remove a session from My Schedule.
- * CATEGORY: 'Session'
- * ACTION: 'Starred' or 'Unstarred'
- * LABEL: Session title/subtitle.
- * [/ANALYTICS]
- */
- AnalyticsManager.sendEvent(
- "Session", starred ? "Starred" : "Unstarred", mTitleString, 0L);
- }
- });
-
- ((BaseActivity) getActivity()).getLPreviewUtils().setViewName(mPhotoView, VIEW_NAME_PHOTO);
-
- setupCustomScrolling(mRootView);
- return mRootView;
- }
-
- private void recomputePhotoAndScrollingMetrics() {
- final int actionBarSize = UIUtils.calculateActionBarSize(getActivity());
- mHeaderTopClearance = actionBarSize - mHeaderContentBox.getPaddingTop();
- mHeaderHeightPixels = mHeaderContentBox.getHeight();
-
- mPhotoHeightPixels = mHeaderTopClearance;
- if (mHasPhoto) {
- mPhotoHeightPixels = (int) (mPhotoView.getWidth() / PHOTO_ASPECT_RATIO);
- mPhotoHeightPixels = Math.min(mPhotoHeightPixels, mRootView.getHeight() * 2 / 3);
- }
-
- ViewGroup.LayoutParams lp;
- lp = mPhotoViewContainer.getLayoutParams();
- if (lp.height != mPhotoHeightPixels) {
- lp.height = mPhotoHeightPixels;
- mPhotoViewContainer.setLayoutParams(lp);
- }
-
- lp = mHeaderBackgroundBox.getLayoutParams();
- if (lp.height != mHeaderHeightPixels) {
- lp.height = mHeaderHeightPixels;
- mHeaderBackgroundBox.setLayoutParams(lp);
- }
-
- ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams)
- mDetailsContainer.getLayoutParams();
- if (mlp.topMargin != mHeaderHeightPixels + mPhotoHeightPixels) {
- mlp.topMargin = mHeaderHeightPixels + mPhotoHeightPixels;
- mDetailsContainer.setLayoutParams(mlp);
- }
-
- onScrollChanged(0, 0); // trigger scroll handling
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- if (mSpeakersImageLoader == null) {
- mSpeakersImageLoader = new ImageLoader(this.getActivity(), R.drawable.person_image_empty);
- }
- if (mNoPlaceholderImageLoader == null) {
- mNoPlaceholderImageLoader = new ImageLoader(this.getActivity());
- }
- }
-
- private void setupCustomScrolling(View rootView) {
- mScrollView = (ObservableScrollView) rootView.findViewById(R.id.scroll_view);
- mScrollView.addCallbacks(this);
- ViewTreeObserver vto = mScrollView.getViewTreeObserver();
- if (vto.isAlive()) {
- vto.addOnGlobalLayoutListener(mGlobalLayoutListener);
- }
- }
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- if (mScrollView == null) {
- return;
- }
-
- ViewTreeObserver vto = mScrollView.getViewTreeObserver();
- if (vto.isAlive()) {
- vto.removeGlobalOnLayoutListener(mGlobalLayoutListener);
- }
- }
-
- private ViewTreeObserver.OnGlobalLayoutListener mGlobalLayoutListener
- = new ViewTreeObserver.OnGlobalLayoutListener() {
- @Override
- public void onGlobalLayout() {
- mAddScheduleButtonHeightPixels = mAddScheduleButton.getHeight();
- recomputePhotoAndScrollingMetrics();
- }
- };
-
- @Override
- public void onScrollChanged(int deltaX, int deltaY) {
- final BaseActivity activity = (BaseActivity) getActivity();
- if (activity == null) {
- return;
- }
-
- // Reposition the header bar -- it's normally anchored to the top of the content,
- // but locks to the top of the screen on scroll
- int scrollY = mScrollView.getScrollY();
-
- float newTop = Math.max(mPhotoHeightPixels, scrollY + mHeaderTopClearance);
- mHeaderBox.setTranslationY(newTop);
- mAddScheduleButton.setTranslationY(newTop + mHeaderHeightPixels
- - mAddScheduleButtonHeightPixels / 2);
-
- mHeaderBackgroundBox.setPivotY(mHeaderHeightPixels);
- int gapFillDistance = (int) (mHeaderTopClearance * GAP_FILL_DISTANCE_MULTIPLIER);
- boolean showGapFill = !mHasPhoto || (scrollY > (mPhotoHeightPixels - gapFillDistance));
- float desiredHeaderScaleY = showGapFill ?
- ((mHeaderHeightPixels + gapFillDistance + 1) * 1f / mHeaderHeightPixels)
- : 1f;
- if (!mHasPhoto) {
- mHeaderBackgroundBox.setScaleY(desiredHeaderScaleY);
- } else if (mGapFillShown != showGapFill) {
- mHeaderBackgroundBox.animate()
- .scaleY(desiredHeaderScaleY)
- .setInterpolator(new DecelerateInterpolator(2f))
- .setDuration(250)
- .start();
- }
- mGapFillShown = showGapFill;
-
- LPreviewUtilsBase lpu = activity.getLPreviewUtils();
-
- mHeaderShadow.setVisibility(lpu.hasLPreviewAPIs() ? View.GONE : View.VISIBLE);
-
- if (mHeaderTopClearance != 0) {
- // Fill the gap between status bar and header bar with color
- float gapFillProgress = Math.min(Math.max(UIUtils.getProgress(scrollY,
- mPhotoHeightPixels - mHeaderTopClearance * 2,
- mPhotoHeightPixels - mHeaderTopClearance), 0), 1);
- lpu.setViewElevation(mHeaderBackgroundBox, gapFillProgress * mMaxHeaderElevation);
- lpu.setViewElevation(mHeaderContentBox, gapFillProgress * mMaxHeaderElevation + 0.1f);
- lpu.setViewElevation(mAddScheduleButton, gapFillProgress * mMaxHeaderElevation
- + mFABElevation);
- if (!lpu.hasLPreviewAPIs()) {
- mHeaderShadow.setAlpha(gapFillProgress);
- }
- }
-
- // Move background photo (parallax effect)
- mPhotoViewContainer.setTranslationY(scrollY * 0.5f);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- updatePlusOneButton();
- if (mTimeHintUpdaterRunnable != null) {
- mHandler.postDelayed(mTimeHintUpdaterRunnable, TIME_HINT_UPDATE_INTERVAL);
- }
-
- // Refresh whether or not feedback has been submitted
- getLoaderManager().restartLoader(FeedbackQuery._TOKEN, null, this);
- }
-
- @Override
- public void onStop() {
- super.onStop();
- if (mInitStarred != mStarred) {
- if (UIUtils.getCurrentTime(getActivity()) < mSessionStart) {
- // Update Calendar event through the Calendar API on Android 4.0 or new versions.
- Intent intent = null;
- if (mStarred) {
- // Set up intent to add session to Calendar, if it doesn't exist already.
- intent = new Intent(SessionCalendarService.ACTION_ADD_SESSION_CALENDAR,
- mSessionUri);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_START,
- mSessionStart);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_END,
- mSessionEnd);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_ROOM, mRoomName);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_TITLE, mTitleString);
- } else {
- // Set up intent to remove session from Calendar, if exists.
- intent = new Intent(SessionCalendarService.ACTION_REMOVE_SESSION_CALENDAR,
- mSessionUri);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_START,
- mSessionStart);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_END,
- mSessionEnd);
- intent.putExtra(SessionCalendarService.EXTRA_SESSION_TITLE, mTitleString);
- }
- intent.setClass(getActivity(), SessionCalendarService.class);
- getActivity().startService(intent);
-
- if (mStarred) {
- setupNotification();
- }
- }
- }
- }
-
- private void setupNotification() {
- Intent scheduleIntent;
- final Context context = getActivity();
-
- // Schedule session notification
- if (UIUtils.getCurrentTime(context) < mSessionStart) {
- LOGD(TAG, "Scheduling notification about session start.");
- scheduleIntent = new Intent(
- SessionAlarmService.ACTION_SCHEDULE_STARRED_BLOCK,
- null, context, SessionAlarmService.class);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_START, mSessionStart);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_END, mSessionEnd);
- context.startService(scheduleIntent);
- } else {
- LOGD(TAG, "Not scheduling notification about session start, too late.");
- }
-
- // Schedule feedback notification
- if (UIUtils.getCurrentTime(context) < mSessionEnd) {
- LOGD(TAG, "Scheduling notification about session feedback.");
- scheduleIntent = new Intent(
- SessionAlarmService.ACTION_SCHEDULE_FEEDBACK_NOTIFICATION,
- null, context, SessionAlarmService.class);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ID, mSessionId);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_START, mSessionStart);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_END, mSessionEnd);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_TITLE, mTitleString);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_ROOM, mRoomName);
- scheduleIntent.putExtra(SessionAlarmService.EXTRA_SESSION_SPEAKERS, mSpeakers);
- context.startService(scheduleIntent);
- } else {
- LOGD(TAG, "Not scheduling feedback notification, too late.");
- }
- }
-
- private void updateTimeBasedUi() {
- final Context context = mRootView.getContext();
- long currentTimeMillis = UIUtils.getCurrentTime(context);
- boolean canShowLivestream = mHasLivestream;
-
- if (canShowLivestream && !mDismissedWatchLivestreamCard
- && currentTimeMillis > mSessionStart
- && currentTimeMillis <= mSessionEnd) {
- // show the "watch now" card
- showWatchNowCard();
- } else if (!mAlreadyGaveFeedback && mInitStarred && currentTimeMillis >= (mSessionEnd -
- Config.FEEDBACK_MILLIS_BEFORE_SESSION_END)
- && !sDismissedFeedbackCard.contains(mSessionId)) {
- // show the "give feedback" card
- showGiveFeedbackCard();
- }
-
- String timeHint = "";
- long countdownMillis = mSessionStart - currentTimeMillis;
-
- if (TimeUtils.hasConferenceEnded(context)) {
- // no time hint to display
- timeHint = "";
- } else if (currentTimeMillis >= mSessionEnd) {
- timeHint = context.getString(R.string.time_hint_session_ended);
- } else if (currentTimeMillis >= mSessionStart) {
- long minutesAgo = (currentTimeMillis - mSessionStart) / 60000;
- if (minutesAgo > 1) {
- timeHint = context.getString(R.string.time_hint_started_min, minutesAgo);
- } else {
- timeHint = context.getString(R.string.time_hint_started_just);
- }
- } else if (countdownMillis > 0 && countdownMillis < Config.HINT_TIME_BEFORE_SESSION) {
- long millisUntil = mSessionStart - currentTimeMillis;
- long minutesUntil = millisUntil / 60000 + (millisUntil % 1000 > 0 ? 1 : 0);
- if (minutesUntil > 1) {
- timeHint = context.getString(R.string.time_hint_about_to_start_min, minutesUntil);
- } else {
- timeHint = context.getString(R.string.time_hint_about_to_start_shortly, minutesUntil);
- }
- }
-
- final TextView timeHintView = (TextView) mRootView.findViewById(R.id.time_hint);
-
- if (!TextUtils.isEmpty(timeHint)) {
- timeHintView.setVisibility(View.VISIBLE);
- timeHintView.setText(timeHint);
- } else {
- timeHintView.setVisibility(View.GONE);
- }
- }
-
- private void setTextSelectable(TextView tv) {
- if (tv != null && !tv.isTextSelectable()) {
- tv.setTextIsSelectable(true);
- }
- }
-
- private void onFeedbackQueryComplete(Cursor cursor) {
- // Views have not been set up yet -- continue loading the rest of data
- if (mSubmitFeedbackView == null) {
- LoaderManager manager = getLoaderManager();
- manager.restartLoader(SessionsQuery._TOKEN, null, this);
- manager.restartLoader(SpeakersQuery._TOKEN, null, this);
- manager.restartLoader(TAG_METADATA_TOKEN, null, this);
- }
-
- // Is there existing feedback for this session?
- mAlreadyGaveFeedback = cursor.getCount() > 0;
-
- if (mAlreadyGaveFeedback) {
- final MessageCardView giveFeedbackCardView = (MessageCardView) mRootView.findViewById(
- R.id.give_feedback_card);
- if (giveFeedbackCardView != null) {
- giveFeedbackCardView.setVisibility(View.GONE);
- }
- if (mSubmitFeedbackView != null) {
- mSubmitFeedbackView.setVisibility(View.GONE);
- }
- }
- LOGD(TAG, "User " + (mAlreadyGaveFeedback ? "already gave" : "has not given") + " feedback for session.");
- cursor.close();
- }
-
- /**
- * Handle {@link SessionsQuery} {@link Cursor}.
- */
- private void onSessionQueryComplete(Cursor cursor) {
- mSessionCursor = true;
- if (!cursor.moveToFirst()) {
- if (isAdded()) {
- // TODO: Remove this in favor of a callbacks interface that the activity
- // can implement.
- getActivity().finish();
- }
- return;
- }
-
- mTitleString = cursor.getString(SessionsQuery.TITLE);
- mSessionColor = cursor.getInt(SessionsQuery.COLOR);
-
- if (mSessionColor == 0) {
- // no color -- use default
- mSessionColor = getResources().getColor(R.color.default_session_color);
- } else {
- // make sure it's opaque
- mSessionColor = UIUtils.setColorAlpha(mSessionColor, 255);
- }
-
- mHeaderBackgroundBox.setBackgroundColor(mSessionColor);
- ((BaseActivity) getActivity()).getLPreviewUtils().setStatusBarColor(
- UIUtils.scaleColor(mSessionColor, 0.8f, false));
-
- mLivestreamUrl = cursor.getString(SessionsQuery.LIVESTREAM_URL);
- mHasLivestream = !TextUtils.isEmpty(mLivestreamUrl);
-
- // Format the time this session occupies
- mSessionStart = cursor.getLong(SessionsQuery.START);
- mSessionEnd = cursor.getLong(SessionsQuery.END);
- mRoomName = cursor.getString(SessionsQuery.ROOM_NAME);
- mSpeakers = cursor.getString(SessionsQuery.SPEAKER_NAMES);
- String subtitle = UIUtils.formatSessionSubtitle(
- mSessionStart, mSessionEnd, mRoomName, mBuffer, getActivity());
- if (mHasLivestream) {
- subtitle += " " + UIUtils.getLiveBadgeText(getActivity(), mSessionStart, mSessionEnd);
- }
-
- mTitle.setText(mTitleString);
- mSubtitle.setText(subtitle);
-
- for (int resId : SECTION_HEADER_RES_IDS) {
- ((TextView) mRootView.findViewById(resId)).setTextColor(mSessionColor);
- }
-
- mPhotoViewContainer.setBackgroundColor(UIUtils.scaleSessionColorToDefaultBG(mSessionColor));
-
- String photo = cursor.getString(SessionsQuery.PHOTO_URL);
- if (!TextUtils.isEmpty(photo)) {
- mHasPhoto = true;
- mNoPlaceholderImageLoader.loadImage(photo, mPhotoView, new RequestListener<String>() {
- @Override
- public void onException(Exception e, String url, Target target) {
- mHasPhoto = false;
- recomputePhotoAndScrollingMetrics();
- }
-
- @Override
- public void onImageReady(String url, Target target, boolean b, boolean b2) {
- // Trigger image transition
- recomputePhotoAndScrollingMetrics();
- }
- });
- recomputePhotoAndScrollingMetrics();
- } else {
- mHasPhoto = false;
- recomputePhotoAndScrollingMetrics();
- }
-
- mUrl = cursor.getString(SessionsQuery.URL);
- if (TextUtils.isEmpty(mUrl)) {
- mUrl = "";
- }
-
- mHashTag = cursor.getString(SessionsQuery.HASHTAG);
- if (!TextUtils.isEmpty(mHashTag)) {
- enableSocialStreamMenuItemDeferred();
- }
-
- mRoomId = cursor.getString(SessionsQuery.ROOM_ID);
-
- final boolean inMySchedule = cursor.getInt(SessionsQuery.IN_MY_SCHEDULE) != 0;
-
- setupShareMenuItemDeferred();
-
- // Handle Keynote as a special case, where the user cannot remove it
- // from the schedule (it is auto added to schedule on sync)
- mTagsString = cursor.getString(SessionsQuery.TAGS);
- mIsKeynote = mTagsString.contains(Config.Tags.SPECIAL_KEYNOTE);
- mAddScheduleButton.setVisibility(
- (AccountUtils.hasActiveAccount(getActivity()) && !mIsKeynote)
- ? View.VISIBLE : View.INVISIBLE);
-
- tryRenderTags();
-
- if (!mIsKeynote) {
- showStarredDeferred(mInitStarred = inMySchedule, false);
- }
-
- final String sessionAbstract = cursor.getString(SessionsQuery.ABSTRACT);
- if (!TextUtils.isEmpty(sessionAbstract)) {
- UIUtils.setTextMaybeHtml(mAbstract, sessionAbstract);
- mAbstract.setVisibility(View.VISIBLE);
- mHasSummaryContent = true;
- } else {
- mAbstract.setVisibility(View.GONE);
- }
-
- updatePlusOneButton();
-
- // Build requirements section
- final View requirementsBlock = mRootView.findViewById(R.id.session_requirements_block);
- final String sessionRequirements = cursor.getString(SessionsQuery.REQUIREMENTS);
- if (!TextUtils.isEmpty(sessionRequirements)) {
- UIUtils.setTextMaybeHtml(mRequirements, sessionRequirements);
- requirementsBlock.setVisibility(View.VISIBLE);
- mHasSummaryContent = true;
- } else {
- requirementsBlock.setVisibility(View.GONE);
- }
-
- // Build related videos section
- final ViewGroup relatedVideosBlock = (ViewGroup) mRootView.findViewById(R.id.related_videos_block);
- relatedVideosBlock.setVisibility(View.GONE);
-
-
- // Build links section
- buildLinksSection(cursor);
-
- // Show empty message when all data is loaded, and nothing to show
- if (mSpeakersCursor && !mHasSummaryContent) {
- mRootView.findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
- }
-
- updateTimeBasedUi();
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- onScrollChanged(0, 0); // trigger scroll handling
- mScrollViewChild.setVisibility(View.VISIBLE);
- //mAbstract.setTextIsSelectable(true);
- }
- });
-
- mTimeHintUpdaterRunnable = new Runnable() {
- @Override
- public void run() {
- if (isAdded()) {
- updateTimeBasedUi();
- mHandler.postDelayed(mTimeHintUpdaterRunnable, TIME_HINT_UPDATE_INTERVAL);
- }
- }
- };
- mHandler.postDelayed(mTimeHintUpdaterRunnable, TIME_HINT_UPDATE_INTERVAL);
- }
-
- private void tryRenderTags() {
- if (mTagMetadata == null || mTagsString == null || !isAdded()) {
- return;
- }
-
- if (TextUtils.isEmpty(mTagsString)) {
- mTagsContainer.setVisibility(View.GONE);
- } else {
- mTagsContainer.setVisibility(View.VISIBLE);
- mTags.removeAllViews();
- LayoutInflater inflater = LayoutInflater.from(getActivity());
- String[] tagIds = mTagsString.split(",");
-
- List<TagMetadata.Tag> tags = new ArrayList<TagMetadata.Tag>();
- for (String tagId : tagIds) {
- if (Config.Tags.SESSIONS.equals(tagId) ||
- Config.Tags.SPECIAL_KEYNOTE.equals(tagId)) {
- continue;
- }
-
- TagMetadata.Tag tag = mTagMetadata.getTag(tagId);
- if (tag == null) {
- continue;
- }
-
- tags.add(tag);
- }
-
- if (tags.size() == 0) {
- mTagsContainer.setVisibility(View.GONE);
- return;
- }
-
- Collections.sort(tags, TagMetadata.TAG_DISPLAY_ORDER_COMPARATOR);
-
- for (final TagMetadata.Tag tag : tags) {
- TextView chipView = (TextView) inflater.inflate(
- R.layout.include_session_tag_chip, mTags, false);
- chipView.setText(tag.getName());
-
- if (Config.Tags.CATEGORY_TOPIC.equals(tag.getCategory())) {
- ShapeDrawable colorDrawable = new ShapeDrawable(new OvalShape());
- colorDrawable.setIntrinsicWidth(mTagColorDotSize);
- colorDrawable.setIntrinsicHeight(mTagColorDotSize);
- colorDrawable.getPaint().setStyle(Paint.Style.FILL);
- chipView.setCompoundDrawablesWithIntrinsicBounds(colorDrawable,
- null, null, null);
- colorDrawable.getPaint().setColor(tag.getColor());
- }
-
- chipView.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View view) {
- getActivity().finish(); // TODO: better encapsulation
- Intent intent = new Intent(getActivity(), BrowseSessionsActivity.class)
- .putExtra(BrowseSessionsActivity.EXTRA_FILTER_TAG, tag.getId())
- .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
- startActivity(intent);
- }
- });
-
- mTags.addView(chipView);
- }
- }
- }
-
- private void buildLinksSection(Cursor cursor) {
- final Context context = mRootView.getContext();
-
- // Compile list of links (I/O live link, submit feedback, and normal links)
- ViewGroup linkContainer = (ViewGroup) mRootView.findViewById(R.id.links_container);
- linkContainer.removeAllViews();
-
-
- // Build links section
- // the Object can be either a string URL or an Intent
- List<Pair<Integer, Object>> links = new ArrayList<Pair<Integer, Object>>();
-
- long currentTimeMillis = UIUtils.getCurrentTime(context);
- if (mHasLivestream
- && currentTimeMillis > mSessionStart
- && currentTimeMillis <= mSessionEnd) {
- links.add(new Pair<Integer, Object>(
- R.string.session_link_livestream,
- getWatchLiveIntent(context)));
- }
-
- // Add session feedback link, if appropriate
- if (!mAlreadyGaveFeedback && currentTimeMillis > mSessionEnd
- - Config.FEEDBACK_MILLIS_BEFORE_SESSION_END) {
- links.add(new Pair<Integer, Object>(
- R.string.session_feedback_submitlink,
- getFeedbackIntent()
- ));
- }
-
- for (int i = 0; i < SessionsQuery.LINKS_INDICES.length; i++) {
- final String linkUrl = cursor.getString(SessionsQuery.LINKS_INDICES[i]);
- if (TextUtils.isEmpty(linkUrl)) {
- continue;
- }
-
- links.add(new Pair<Integer, Object>(
- SessionsQuery.LINKS_TITLES[i],
- new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl))
- .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET)
- ));
- }
-
- // Render links
- if (links.size() > 0) {
- LayoutInflater inflater = LayoutInflater.from(context);
- int columns = context.getResources().getInteger(R.integer.links_columns);
-
- LinearLayout currentLinkRowView = null;
- for (int i = 0; i < links.size(); i++) {
- final Pair<Integer, Object> link = links.get(i);
-
- // Create link view
- TextView linkView = (TextView) inflater.inflate(R.layout.list_item_session_link,
- linkContainer, false);
- if (link.first == R.string.session_feedback_submitlink) {
- mSubmitFeedbackView = linkView;
- }
- linkView.setText(getString(link.first));
- linkView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- fireLinkEvent(link.first);
- Intent intent=null;
- if (link.second instanceof Intent) {
- intent = (Intent) link.second;
- } else if (link.second instanceof String) {
- intent = new Intent(Intent.ACTION_VIEW, Uri.parse((String) link.second))
- .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
- }
- try {
- startActivity(intent);
- } catch (ActivityNotFoundException ignored) {
- }
- }
- });
-
- // Place it inside a container
- if (columns == 1) {
- linkContainer.addView(linkView);
- } else {
- // create a new link row
- if (i % columns == 0) {
- currentLinkRowView = (LinearLayout) inflater.inflate(
- R.layout.include_link_row, linkContainer, false);
- currentLinkRowView.setWeightSum(columns);
- linkContainer.addView(currentLinkRowView);
- }
-
- ((LinearLayout.LayoutParams) linkView.getLayoutParams()).width = 0;
- ((LinearLayout.LayoutParams) linkView.getLayoutParams()).weight = 1;
- currentLinkRowView.addView(linkView);
- }
- }
-
- mRootView.findViewById(R.id.session_links_header).setVisibility(View.VISIBLE);
- mRootView.findViewById(R.id.links_container).setVisibility(View.VISIBLE);
-
- } else {
- mRootView.findViewById(R.id.session_links_header).setVisibility(View.GONE);
- mRootView.findViewById(R.id.links_container).setVisibility(View.GONE);
- }
-
- }
-
- @Override
- public void onPause() {
- super.onPause();
- if (mTimeHintUpdaterRunnable != null) {
- mHandler.removeCallbacks(mTimeHintUpdaterRunnable);
- }
- }
-
- private Intent getWatchLiveIntent(Context context) {
- LPreviewUtilsBase lpu = ((BaseActivity) getActivity()).getLPreviewUtils();
- if (lpu.hasLPreviewAPIs() && YouTubeIntents.canResolvePlayVideoIntent(context)) {
- String youtubeVideoId = SessionLivestreamActivity.getVideoIdFromUrl(mLivestreamUrl);
- return YouTubeIntents.createPlayVideoIntentWithOptions(
- context, youtubeVideoId, true, false);
- }
- return new Intent(Intent.ACTION_VIEW, mSessionUri).setClass(context,
- SessionLivestreamActivity.class);
- }
-
- private void updatePlusOneButton() {
- if (mPlusOneButton == null) {
- return;
- }
-
- if (!TextUtils.isEmpty(mUrl) && !mIsKeynote) {
- mPlusOneButton.initialize(mUrl, 0);
- mPlusOneButton.setVisibility(View.VISIBLE);
- } else {
- mPlusOneButton.setVisibility(View.GONE);
- }
- }
-
- private void showWatchNowCard() {
- final MessageCardView messageCardView = (MessageCardView) mRootView.findViewById(
- R.id.live_now_card);
- messageCardView.show();
- messageCardView.setListener(new MessageCardView.OnMessageCardButtonClicked() {
- @Override
- public void onMessageCardButtonClicked(String tag) {
- if ("WATCH_NOW".equals(tag)) {
- Intent intent = getWatchLiveIntent(getActivity());
- startActivity(intent);
- } else {
- mDismissedWatchLivestreamCard = true;
- messageCardView.dismiss();
- }
- }
- });
- }
-
- private void showGiveFeedbackCard() {
- final MessageCardView messageCardView = (MessageCardView) mRootView.findViewById(
- R.id.give_feedback_card);
- messageCardView.show();
- messageCardView.setListener(new MessageCardView.OnMessageCardButtonClicked() {
- @Override
- public void onMessageCardButtonClicked(String tag) {
- if ("GIVE_FEEDBACK".equals(tag)) {
- /* [ANALYTICS:EVENT]
- * TRIGGER: Click on the Send Feedback action on the Session Details page.
- * CATEGORY: 'Session'
- * ACTION: 'Feedback'
- * LABEL: session title/subtitle
- * [/ANALYTICS]
- */
- AnalyticsManager.sendEvent("Session", "Feedback", mTitleString, 0L);
- Intent intent = getFeedbackIntent();
- startActivity(intent);
- } else {
- sDismissedFeedbackCard.add(mSessionId);
- messageCardView.dismiss();
- }
- }
- });
- }
-
- private Intent getFeedbackIntent() {
- return new Intent(Intent.ACTION_VIEW, mSessionUri, getActivity(),
- SessionFeedbackActivity.class);
- }
-
- private void enableSocialStreamMenuItemDeferred() {
- mDeferredUiOperations.add(new Runnable() {
- @Override
- public void run() {
- mSocialStreamMenuItem.setVisible(true);
- }
- });
- tryExecuteDeferredUiOperations();
- }
-
- private void showStarredDeferred(final boolean starred, final boolean allowAnimate) {
- mDeferredUiOperations.add(new Runnable() {
- @Override
- public void run() {
- showStarred(starred, allowAnimate);
- }
- });
- tryExecuteDeferredUiOperations();
- }
-
- private void showStarred(boolean starred, boolean allowAnimate) {
- mStarred = starred;
-
- mAddScheduleButton.setChecked(mStarred, allowAnimate);
-
- ImageView iconView = (ImageView) mAddScheduleButton.findViewById(R.id.add_schedule_icon);
- ((BaseActivity) getActivity()).getLPreviewUtils().setOrAnimatePlusCheckIcon(
- iconView, starred, allowAnimate);
- mAddScheduleButton.setContentDescription(getString(starred
- ? R.string.remove_from_schedule_desc
- : R.string.add_to_schedule_desc));
- }
-
- private void setupShareMenuItemDeferred() {
- mDeferredUiOperations.add(new Runnable() {
- @Override
- public void run() {
- new SessionsHelper(getActivity()).tryConfigureShareMenuItem(mShareMenuItem,
- R.string.share_template, mTitleString, mHashTag, mUrl);
- }
- });
- tryExecuteDeferredUiOperations();
- }
-
- private void tryExecuteDeferredUiOperations() {
- if (mSocialStreamMenuItem != null) {
- for (Runnable r : mDeferredUiOperations) {
- r.run();
- }
- mDeferredUiOperations.clear();
- }
- }
-
- private void onSpeakersQueryComplete(Cursor cursor) {
- mSpeakersCursor = true;
- final ViewGroup speakersGroup = (ViewGroup)
- mRootView.findViewById(R.id.session_speakers_block);
-
- // Remove all existing speakers (everything but first child, which is the header)
- for (int i = speakersGroup.getChildCount() - 1; i >= 1; i--) {
- speakersGroup.removeViewAt(i);
- }
-
- final LayoutInflater inflater = getActivity().getLayoutInflater();
-
- boolean hasSpeakers = false;
-
- while (cursor.moveToNext()) {
- final String speakerName = cursor.getString(SpeakersQuery.SPEAKER_NAME);
- if (TextUtils.isEmpty(speakerName)) {
- continue;
- }
-
- final String speakerImageUrl = cursor.getString(SpeakersQuery.SPEAKER_IMAGE_URL);
- final String speakerCompany = cursor.getString(SpeakersQuery.SPEAKER_COMPANY);
- final String speakerUrl = cursor.getString(SpeakersQuery.SPEAKER_URL);
- final String speakerAbstract = cursor.getString(SpeakersQuery.SPEAKER_ABSTRACT);
-
- String speakerHeader = speakerName;
- if (!TextUtils.isEmpty(speakerCompany)) {
- speakerHeader += ", " + speakerCompany;
- }
-
- final View speakerView = inflater
- .inflate(R.layout.speaker_detail, speakersGroup, false);
- final TextView speakerHeaderView = (TextView) speakerView
- .findViewById(R.id.speaker_header);
- final ImageView speakerImageView = (ImageView) speakerView
- .findViewById(R.id.speaker_image);
- final TextView speakerAbstractView = (TextView) speakerView
- .findViewById(R.id.speaker_abstract);
-
- if (!TextUtils.isEmpty(speakerImageUrl) && mSpeakersImageLoader != null) {
- mSpeakersImageLoader.loadImage(speakerImageUrl, speakerImageView);
- }
-
- speakerHeaderView.setText(speakerHeader);
- speakerImageView.setContentDescription(
- getString(R.string.speaker_googleplus_profile, speakerHeader));
- UIUtils.setTextMaybeHtml(speakerAbstractView, speakerAbstract);
-
- if (!TextUtils.isEmpty(speakerUrl)) {
- speakerImageView.setEnabled(true);
- speakerImageView.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent speakerProfileIntent = new Intent(Intent.ACTION_VIEW,
- Uri.parse(speakerUrl));
- speakerProfileIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
- UIUtils.preferPackageForIntent(getActivity(), speakerProfileIntent,
- UIUtils.GOOGLE_PLUS_PACKAGE_NAME);
- startActivity(speakerProfileIntent);
- }
- });
- } else {
- speakerImageView.setEnabled(false);
- speakerImageView.setOnClickListener(null);
- }
-
- speakersGroup.addView(speakerView);
- hasSpeakers = true;
- mHasSummaryContent = true;
- }
-
- speakersGroup.setVisibility(hasSpeakers ? View.VISIBLE : View.GONE);
-
- // Show empty message when all data is loaded, and nothing to show
- if (mSessionCursor && !mHasSummaryContent) {
- mRootView.findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
- }
- }
-
- @Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- inflater.inflate(R.menu.session_detail, menu);
- mSocialStreamMenuItem = menu.findItem(R.id.menu_social_stream);
- mShareMenuItem = menu.findItem(R.id.menu_share);
- tryExecuteDeferredUiOperations();
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- SessionsHelper helper = new SessionsHelper(getActivity());
- switch (item.getItemId()) {
- case R.id.menu_map_room:
- /* [ANALYTICS:EVENT]
- * TRIGGER: Click on the Map action on the Session Details page.
- * CATEGORY: 'Session'
- * ACTION: 'Map'
- * LABEL: session title/subtitle
- * [/ANALYTICS]
- */
- AnalyticsManager.sendEvent("Session", "Map", mTitleString, 0L);
- helper.startMapActivity(mRoomId);
- return true;
-
- case R.id.menu_share:
- // On ICS+ devices, we normally won't reach this as ShareActionProvider will handle
- // sharing.
- helper.shareSession(getActivity(), R.string.share_template, mTitleString,
- mHashTag, mUrl);
- return true;
-
- case R.id.menu_social_stream:
- if (!TextUtils.isEmpty(mHashTag)) {
- /* [ANALYTICS:EVENT]
- * TRIGGER: Click on the Social Stream action on the Session Details page.
- * CATEGORY: 'Session'
- * ACTION: 'Stream'
- * LABEL: session title/subtitle
- * [/ANALYTICS]
- */
- AnalyticsManager.sendEvent("Session", "Stream", mTitleString, 0L);
- UIUtils.showHashtagStream(getActivity(), mHashTag);
- }
- return true;
- }
- return false;
- }
-
- @Override
- public void onPrepareOptionsMenu(Menu menu) {
- }
-
- @Override
- public void onDestroyOptionsMenu() {
- }
-
- /*
- * Event structure:
- * Category -> "Session Details"
- * Action -> Link Text
- * Label -> Session's Title
- * Value -> 0.
- */
- void fireLinkEvent(int actionId) {
- /* [ANALYTICS:EVENT]
- * TRIGGER: Click on a link on the Session Details page.
- * CATEGORY: 'Session'
- * ACTION: The link's name ("Watch Live", "Follow us on Google+", etc)
- * LABEL: The session's title/subtitle.
- * [/ANALYTICS]
- */
- AnalyticsManager.sendEvent("Session", getString(actionId), mTitleString, 0L);
- }
-
- /**
- * {@link com.google.samples.apps.iosched.provider.ScheduleContract.Sessions} query parameters.
- */
- private interface SessionsQuery {
- int _TOKEN = 0x1;
-
- String[] PROJECTION = {
- ScheduleContract.Sessions.SESSION_START,
- ScheduleContract.Sessions.SESSION_END,
- ScheduleContract.Sessions.SESSION_LEVEL,
- ScheduleContract.Sessions.SESSION_TITLE,
- ScheduleContract.Sessions.SESSION_ABSTRACT,
- ScheduleContract.Sessions.SESSION_REQUIREMENTS,
- ScheduleContract.Sessions.SESSION_IN_MY_SCHEDULE,
- ScheduleContract.Sessions.SESSION_HASHTAG,
- ScheduleContract.Sessions.SESSION_URL,
- ScheduleContract.Sessions.SESSION_YOUTUBE_URL,
- ScheduleContract.Sessions.SESSION_PDF_URL,
- ScheduleContract.Sessions.SESSION_NOTES_URL,
- ScheduleContract.Sessions.SESSION_LIVESTREAM_URL,
- ScheduleContract.Sessions.SESSION_MODERATOR_URL,
- ScheduleContract.Sessions.ROOM_ID,
- ScheduleContract.Rooms.ROOM_NAME,
- ScheduleContract.Sessions.SESSION_COLOR,
- ScheduleContract.Sessions.SESSION_PHOTO_URL,
- ScheduleContract.Sessions.SESSION_RELATED_CONTENT,
- ScheduleContract.Sessions.SESSION_TAGS,
- ScheduleContract.Sessions.SESSION_SPEAKER_NAMES
- };
-
- int START = 0;
- int END = 1;
- int LEVEL = 2;
- int TITLE = 3;
- int ABSTRACT = 4;
- int REQUIREMENTS = 5;
- int IN_MY_SCHEDULE = 6;
- int HASHTAG = 7;
- int URL = 8;
- int YOUTUBE_URL = 9;
- int PDF_URL = 10;
- int NOTES_URL = 11;
- int LIVESTREAM_URL = 12;
- int MODERATOR_URL = 13;
- int ROOM_ID = 14;
- int ROOM_NAME = 15;
- int COLOR = 16;
- int PHOTO_URL = 17;
- int RELATED_CONTENT = 18;
- int TAGS = 19;
- int SPEAKER_NAMES = 20;
-
- int[] LINKS_INDICES = {
- YOUTUBE_URL,
- MODERATOR_URL,
- PDF_URL,
- NOTES_URL,
- };
-
- int[] LINKS_TITLES = {
- R.string.session_link_youtube,
- R.string.session_link_moderator,
- R.string.session_link_pdf,
- R.string.session_link_notes,
- };
- }
-
- private interface SpeakersQuery {
- int _TOKEN = 0x3;
-
- String[] PROJECTION = {
- ScheduleContract.Speakers.SPEAKER_NAME,
- ScheduleContract.Speakers.SPEAKER_IMAGE_URL,
- ScheduleContract.Speakers.SPEAKER_COMPANY,
- ScheduleContract.Speakers.SPEAKER_ABSTRACT,
- ScheduleContract.Speakers.SPEAKER_URL,
- };
-
- int SPEAKER_NAME = 0;
- int SPEAKER_IMAGE_URL = 1;
- int SPEAKER_COMPANY = 2;
- int SPEAKER_ABSTRACT = 3;
- int SPEAKER_URL = 4;
- }
-
- private interface FeedbackQuery {
- int _TOKEN = 0x4;
-
- String[] PROJECTION = {
- ScheduleContract.Feedback.SESSION_ID
- };
- }
-
- private static final int TAG_METADATA_TOKEN = 0x5;
-
- @Override
- public Loader<Cursor> onCreateLoader(int id, Bundle data) {
- CursorLoader loader = null;
- if (id == SessionsQuery._TOKEN){
- loader = new CursorLoader(getActivity(), mSessionUri, SessionsQuery.PROJECTION, null,
- null, null);
- } else if (id == SpeakersQuery._TOKEN && mSessionUri != null){
- Uri speakersUri = ScheduleContract.Sessions.buildSpeakersDirUri(mSessionId);
- loader = new CursorLoader(getActivity(), speakersUri, SpeakersQuery.PROJECTION, null,
- null, ScheduleContract.Speakers.DEFAULT_SORT);
- } else if (id == FeedbackQuery._TOKEN) {
- Uri feedbackUri = ScheduleContract.Feedback.buildFeedbackUri(mSessionId);
- loader = new CursorLoader(getActivity(), feedbackUri, FeedbackQuery.PROJECTION, null,
- null, null);
- } else if (id == TAG_METADATA_TOKEN) {
- loader = TagMetadata.createCursorLoader(getActivity());
- }
- return loader;
- }
-
- @Override
- public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
- if (!isAdded()) {
- return;
- }
-
- if (loader.getId() == SessionsQuery._TOKEN) {
- onSessionQueryComplete(cursor);
- } else if (loader.getId() == SpeakersQuery._TOKEN) {
- onSpeakersQueryComplete(cursor);
- } else if (loader.getId() == FeedbackQuery._TOKEN) {
- onFeedbackQueryComplete(cursor);
- } else if (loader.getId() == TAG_METADATA_TOKEN) {
- mTagMetadata = new TagMetadata(cursor);
- cursor.close();
- tryRenderTags();
- } else {
- cursor.close();
- }
- }
-
- @Override
- public void onLoaderReset(Loader<Cursor> loader) {}
-}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackActivity.java
index e4a9f3a..d2bf0fb 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackActivity.java
@@ -16,10 +16,12 @@
package com.google.samples.apps.iosched.ui;
+import android.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import android.app.Fragment;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.provider.ScheduleContract;
@@ -39,11 +41,23 @@ public class SessionFeedbackActivity extends SimpleSinglePaneActivity {
}
mSessionId = ScheduleContract.Sessions.getSessionId(getIntent().getData());
+
+ Toolbar toolbar = getActionBarToolbar();
+ toolbar.setTitle(R.string.title_session_feedback);
+ toolbar.setNavigationIcon(R.drawable.ic_up);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ navigateUpToFromChild(SessionFeedbackActivity.this,
+ new Intent(Intent.ACTION_VIEW,
+ ScheduleContract.Sessions.buildSessionUri(mSessionId)));
+ }
+ });
}
@Override
protected int getContentViewResId() {
- return R.layout.activity_letterboxed_when_large;
+ return R.layout.activity_feedback;
}
@Override
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackFragment.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackFragment.java
index 0f59861..e5e0d92 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackFragment.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionFeedbackFragment.java
@@ -18,7 +18,6 @@ package com.google.samples.apps.iosched.ui;
import android.app.Fragment;
import android.app.LoaderManager;
-import android.content.ContentValues;
import android.content.CursorLoader;
import android.content.Intent;
import android.content.Loader;
@@ -30,7 +29,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.RatingBar;
-import android.widget.SeekBar;
import android.widget.TextView;
import com.google.android.gms.common.ConnectionResult;
@@ -54,7 +52,7 @@ public class SessionFeedbackFragment extends Fragment implements
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener {
- private static final String TAG = makeLogTag(SessionDetailFragment.class);
+ private static final String TAG = makeLogTag(SessionDetailActivity.class);
// Set this boolean extra to true to show a variable height header
public static final String EXTRA_VARIABLE_HEIGHT_HEADER =
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionLivestreamActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionLivestreamActivity.java
index 73cc886..eec9202 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionLivestreamActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionLivestreamActivity.java
@@ -765,7 +765,7 @@ public class SessionLivestreamActivity extends BaseActivity implements
}
private int getActionBarHeightPx() {
- int[] attrs = new int[] { android.R.attr.actionBarSize };
+ int[] attrs = new int[] { R.attr.actionBarSize };
return (int) getTheme().obtainStyledAttributes(attrs).getDimension(0, 0f);
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionsFragment.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionsFragment.java
index 5c0793c..6427cd4 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SessionsFragment.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SessionsFragment.java
@@ -20,8 +20,14 @@ import android.app.Activity;
import android.app.Fragment;
import android.app.ListFragment;
import android.app.LoaderManager;
-import android.content.*;
+import android.content.Context;
+import android.content.CursorLoader;
+import android.content.Intent;
+import android.content.Loader;
+import android.content.SharedPreferences;
import android.database.Cursor;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -41,6 +47,8 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
+import com.bumptech.glide.GenericRequestBuilder;
+import com.bumptech.glide.ListPreloader;
import com.google.samples.apps.iosched.Config;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.model.TagMetadata;
@@ -48,7 +56,12 @@ import com.google.samples.apps.iosched.provider.ScheduleContract;
import com.google.samples.apps.iosched.ui.widget.CollectionView;
import com.google.samples.apps.iosched.ui.widget.CollectionViewCallbacks;
import com.google.samples.apps.iosched.ui.widget.MessageCardView;
-import com.google.samples.apps.iosched.util.*;
+import com.google.samples.apps.iosched.util.ImageLoader;
+import com.google.samples.apps.iosched.util.PrefUtils;
+import com.google.samples.apps.iosched.util.ThrottledContentObserver;
+import com.google.samples.apps.iosched.util.TimeUtils;
+import com.google.samples.apps.iosched.util.UIUtils;
+import com.google.samples.apps.iosched.util.WiFiUtils;
import java.text.DateFormat;
import java.util.ArrayList;
@@ -56,10 +69,11 @@ import java.util.HashMap;
import java.util.List;
import java.util.TimeZone;
-import com.bumptech.glide.GenericRequestBuilder;
-import com.bumptech.glide.ListPreloader;
-
-import static com.google.samples.apps.iosched.util.LogUtils.*;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGE;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGV;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGW;
+import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
import static com.google.samples.apps.iosched.util.UIUtils.buildStyledSnippet;
/**
@@ -72,6 +86,10 @@ public class SessionsFragment extends Fragment implements
private static final String TAG = makeLogTag(SessionsFragment.class);
+ // Disable track branding
+ public static final String EXTRA_NO_TRACK_BRANDING =
+ "com.google.android.iosched.extra.NO_TRACK_BRANDING";
+
private static final String STATE_SESSION_QUERY_TOKEN = "session_query_token";
private static final String STATE_ARGUMENTS = "arguments";
@@ -92,6 +110,7 @@ public class SessionsFragment extends Fragment implements
private Uri mCurrentUri = ScheduleContract.Sessions.CONTENT_URI;
private Cursor mCursor;
private boolean mIsSearchCursor;
+ private boolean mNoTrackBranding;
// this variable is relevant when we start the sessions loader, and indicates the desired
// behavior when load finishes: if true, this is a full reload (for example, because filters
@@ -231,6 +250,7 @@ public class SessionsFragment extends Fragment implements
mArguments = savedInstanceState.getParcelable(STATE_ARGUMENTS);
if (mArguments != null) {
mCurrentUri = mArguments.getParcelable("_uri");
+ mNoTrackBranding = mArguments.getBoolean(EXTRA_NO_TRACK_BRANDING);
}
if (mSessionQueryToken > 0) {
@@ -292,6 +312,8 @@ public class SessionsFragment extends Fragment implements
mCurrentUri = ScheduleContract.Sessions.CONTENT_URI;
}
+ mNoTrackBranding = mArguments.getBoolean(EXTRA_NO_TRACK_BRANDING);
+
if (ScheduleContract.Sessions.isSearchUri(mCurrentUri)) {
mSessionQueryToken = SessionsQuery.SEARCH_TOKEN;
} else {
@@ -694,6 +716,7 @@ public class SessionsFragment extends Fragment implements
int sessionColor = mCursor.getInt(SessionsQuery.COLOR);
sessionColor = sessionColor == 0 ? getResources().getColor(R.color.default_session_color)
: sessionColor;
+ int darkSessionColor = 0;
final String snippet = mIsSearchCursor ? mCursor.getString(SessionsQuery.SNIPPET) : null;
final Spannable styledSnippet = mIsSearchCursor ? buildStyledSnippet(snippet) : null;
final boolean starred = mCursor.getInt(SessionsQuery.IN_MY_SCHEDULE) != 0;
@@ -717,14 +740,18 @@ public class SessionsFragment extends Fragment implements
final TextView snippetView = (TextView) view.findViewById(R.id.session_snippet);
final TextView abstractView = (TextView) view.findViewById(R.id.session_abstract);
final TextView categoryView = (TextView) view.findViewById(R.id.session_category);
- final View boxView = view.findViewById(R.id.info_box);
final View sessionTargetView = view.findViewById(R.id.session_target);
if (sessionColor == 0) {
// use default
sessionColor = mDefaultSessionColor;
}
- sessionColor = UIUtils.scaleSessionColorToDefaultBG(sessionColor);
+
+ if (mNoTrackBranding) {
+ sessionColor = getResources().getColor(R.color.no_track_branding_session_color);
+ }
+
+ darkSessionColor = UIUtils.scaleSessionColorToDefaultBG(sessionColor);
ImageView photoView = (ImageView) view.findViewById(R.id.session_photo_colored);
if (photoView != null) {
@@ -738,23 +765,23 @@ public class SessionsFragment extends Fragment implements
});
}
// colored
- photoView.setColorFilter(UIUtils.setColorAlpha(sessionColor,
- UIUtils.SESSION_PHOTO_SCRIM_ALPHA));
+ photoView.setColorFilter(mNoTrackBranding
+ ? new PorterDuffColorFilter(
+ getResources().getColor(R.color.no_track_branding_session_tile_overlay),
+ PorterDuff.Mode.SRC_ATOP)
+ : UIUtils.makeSessionImageScrimColorFilter(darkSessionColor));
} else {
photoView = (ImageView) view.findViewById(R.id.session_photo);
}
- ((BaseActivity) getActivity()).getLPreviewUtils().setViewName(photoView,
- "photo_" + sessionId);
-
-
+ ViewCompat.setTransitionName(photoView, "photo_" + sessionId);
// when we load a photo, it will fade in from transparent so the
// background of the container must be the session color to avoid a white flash
ViewParent parent = photoView.getParent();
if (parent != null && parent instanceof View) {
- ((View) parent).setBackgroundColor(sessionColor);
+ ((View) parent).setBackgroundColor(darkSessionColor);
} else {
- photoView.setBackgroundColor(sessionColor);
+ photoView.setBackgroundColor(darkSessionColor);
}
String photo = mCursor.getString(SessionsQuery.PHOTO_URL);
@@ -818,11 +845,6 @@ public class SessionsFragment extends Fragment implements
abstractView.setText(mBuffer.toString());
}
- // in expanded mode, the box background color follows the session color
- if (useExpandedMode()) {
- boxView.setBackgroundColor(sessionColor);
- }
-
// show or hide the "in my schedule" indicator
view.findViewById(R.id.indicator_in_schedule).setVisibility(starred ? View.VISIBLE
: View.INVISIBLE);
@@ -840,7 +862,7 @@ public class SessionsFragment extends Fragment implements
if (cardContainer != null && abstractContainer != null) {
cardContainer.setVisibility(cardShown ? View.VISIBLE : View.GONE);
abstractContainer.setVisibility(cardShown ? View.GONE : View.VISIBLE);
- abstractContainer.setBackgroundColor(sessionColor);
+ abstractContainer.setBackgroundColor(darkSessionColor);
}
}
@@ -891,7 +913,6 @@ public class SessionsFragment extends Fragment implements
}
private void setupLocalOrRemoteCard(final MessageCardView card) {
- card.overrideBackground(R.drawable.card_bg);
card.setText(getString(R.string.question_local_or_remote));
card.setButton(0, getString(R.string.attending_remotely), CARD_ANSWER_ATTENDING_REMOTELY,
false, 0);
@@ -924,7 +945,6 @@ public class SessionsFragment extends Fragment implements
}
private void setupWifiOfferCard(final MessageCardView card) {
- card.overrideBackground(R.drawable.card_bg);
card.setText(getString(TimeUtils.hasConferenceStarted(getActivity()) ?
R.string.question_setup_wifi_after_i_o_start :
R.string.question_setup_wifi_before_i_o_start));
@@ -955,13 +975,11 @@ public class SessionsFragment extends Fragment implements
}
private void setupIOExtendedCard(final MessageCardView card) {
- card.overrideBackground(R.drawable.card_bg);
card.setText(getString(R.string.question_i_o_extended));
card.setButton(0, getString(R.string.no_thanks), CARD_ANSWER_NO,
false, 0);
card.setButton(1, getString(R.string.browse_events), CARD_ANSWER_YES,
true, 0);
- final Context context = getActivity().getApplicationContext();
card.setListener(new MessageCardView.OnMessageCardButtonClicked() {
@Override
public void onMessageCardButtonClicked(final String tag) {
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SettingsActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SettingsActivity.java
index 1e2e1a7..4e138c8 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SettingsActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SettingsActivity.java
@@ -16,12 +16,14 @@
package com.google.samples.apps.iosched.ui;
-import android.annotation.TargetApi;
+import android.content.ComponentName;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.os.Build;
import android.os.Bundle;
-import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.support.v4.content.IntentCompat;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.service.SessionCalendarService;
@@ -30,50 +32,71 @@ import com.google.samples.apps.iosched.util.PrefUtils;
/**
* Activity for customizing app settings.
*/
-public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
+public class SettingsActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- getActionBar().setDisplayHomeAsUpEnabled(true);
- }
+ setContentView(R.layout.activity_settings);
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- setupSimplePreferencesScreen();
- PrefUtils.registerOnSharedPreferenceChangeListener(this, this);
- }
+ Toolbar toolbar = getActionBarToolbar();
+ toolbar.setTitle(R.string.title_settings);
+ toolbar.setNavigationIcon(R.drawable.ic_up);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ navigateUpToFromChild(SettingsActivity.this,
+ IntentCompat.makeMainActivity(new ComponentName(SettingsActivity.this,
+ BrowseSessionsActivity.class)));
+ }
+ });
- @Override
- protected void onDestroy() {
- super.onDestroy();
- PrefUtils.unrgisterOnSharedPreferenceChangeListener(this, this);
+ if (savedInstanceState == null) {
+ getFragmentManager().beginTransaction()
+ .add(R.id.container, new SettingsFragment())
+ .commit();
+ }
}
- private void setupSimplePreferencesScreen() {
- // Add 'general' preferences.
- addPreferencesFromResource(R.xml.preferences);
- if (PrefUtils.hasEnabledBle(this)) {
- addPreferencesFromResource(R.xml.ble_preferences);
+ public static class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
+ public SettingsFragment() {
}
- }
- @Override
- public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- if (PrefUtils.PREF_SYNC_CALENDAR.equals(key)) {
- boolean shouldSyncCalendar = PrefUtils.shouldSyncCalendar(this);
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setupSimplePreferencesScreen();
+ PrefUtils.registerOnSharedPreferenceChangeListener(getActivity(), this);
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ PrefUtils.unregisterOnSharedPreferenceChangeListener(getActivity(), this);
+ }
- Intent intent;
- if (PrefUtils.shouldSyncCalendar(this)) {
- // Add all calendar entries
- intent = new Intent(SessionCalendarService.ACTION_UPDATE_ALL_SESSIONS_CALENDAR);
- } else {
- // Remove all calendar entries
- intent = new Intent(SessionCalendarService.ACTION_CLEAR_ALL_SESSIONS_CALENDAR);
+ private void setupSimplePreferencesScreen() {
+ // Add 'general' preferences.
+ addPreferencesFromResource(R.xml.preferences);
+ if (PrefUtils.hasEnabledBle(getActivity())) {
+ addPreferencesFromResource(R.xml.ble_preferences);
}
+ }
+
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ if (PrefUtils.PREF_SYNC_CALENDAR.equals(key)) {
+ Intent intent;
+ if (PrefUtils.shouldSyncCalendar(getActivity())) {
+ // Add all calendar entries
+ intent = new Intent(SessionCalendarService.ACTION_UPDATE_ALL_SESSIONS_CALENDAR);
+ } else {
+ // Remove all calendar entries
+ intent = new Intent(SessionCalendarService.ACTION_CLEAR_ALL_SESSIONS_CALENDAR);
+ }
- intent.setClass(this, SessionCalendarService.class);
- startService(intent);
+ intent.setClass(getActivity(), SessionCalendarService.class);
+ getActivity().startService(intent);
+ }
}
}
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/SocialActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/SocialActivity.java
index 6acb8da..ce43a3e 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/SocialActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/SocialActivity.java
@@ -17,7 +17,6 @@
package com.google.samples.apps.iosched.ui;
import android.os.Bundle;
-import android.app.ActionBar;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.util.AnalyticsManager;
@@ -38,7 +37,7 @@ public class SocialActivity extends BaseActivity {
}
setContentView(R.layout.activity_social);
- getLPreviewUtils().trySetActionBar();
+
if (null == savedInstanceState) {
getFragmentManager().beginTransaction()
.replace(R.id.container, HashtagsFragment.newInstance())
@@ -56,21 +55,6 @@ public class SocialActivity extends BaseActivity {
overridePendingTransition(0, 0);
}
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ActionBar ab = getActionBar();
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
- }
-
- @Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
- }
-
@Override
protected int getSelfNavDrawerItem() {
return NAVDRAWER_ITEM_SOCIAL;
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/VideoLibraryActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/VideoLibraryActivity.java
index 3f764a8..8b1c28c 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/VideoLibraryActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/VideoLibraryActivity.java
@@ -16,7 +16,6 @@
package com.google.samples.apps.iosched.ui;
-import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.text.TextUtils;
@@ -35,7 +34,9 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import static com.google.samples.apps.iosched.util.LogUtils.*;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGE;
+import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
public class VideoLibraryActivity extends BaseActivity implements VideoLibraryFragment.Callbacks {
private static final String TAG = makeLogTag(VideoLibraryActivity.class);
@@ -64,7 +65,7 @@ public class VideoLibraryActivity extends BaseActivity implements VideoLibraryFr
}
setContentView(R.layout.activity_video_library);
- getLPreviewUtils().trySetActionBar();
+
mDrawShadowFrameLayout = (DrawShadowFrameLayout) findViewById(R.id.main_content);
/* [ANALYTICS:SCREEN]
@@ -87,7 +88,7 @@ public class VideoLibraryActivity extends BaseActivity implements VideoLibraryFr
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
- enableActionBarAutoHide((CollectionView)findViewById(R.id.videos_collection_view));
+ enableActionBarAutoHide((CollectionView) findViewById(R.id.videos_collection_view));
}
@Override
@@ -119,27 +120,12 @@ public class VideoLibraryActivity extends BaseActivity implements VideoLibraryFr
}
}
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ActionBar ab = getActionBar();
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
- }
-
@Override
protected void onActionBarAutoShowOrHide(boolean shown) {
super.onActionBarAutoShowOrHide(shown);
mDrawShadowFrameLayout.setShadowVisible(shown, shown);
}
- @Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
- }
-
private void onYearSelected(int year) {
if (mSelectedYear == year) {
return;
@@ -292,7 +278,7 @@ public class VideoLibraryActivity extends BaseActivity implements VideoLibraryFr
private void populateSpinner(Spinner spinner, ArrayList<String> items) {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.explore_spinner_item,
android.R.id.text1, items);
- adapter.setDropDownViewResource(R.layout.explore_spinner_item_dropdown);
+ adapter.setDropDownViewResource(R.layout.video_library_spinner_item_dropdown);
spinner.setAdapter(adapter);
}
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/debug/actions/ShowSessionNotificationDebugAction.java b/android/src/main/java/com/google/samples/apps/iosched/ui/debug/actions/ShowSessionNotificationDebugAction.java
index b23dde8..271c677 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/debug/actions/ShowSessionNotificationDebugAction.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/debug/actions/ShowSessionNotificationDebugAction.java
@@ -26,7 +26,7 @@ import android.support.v4.app.TaskStackBuilder;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.provider.ScheduleContract;
-import com.google.samples.apps.iosched.ui.MapFragment;
+import com.google.samples.apps.iosched.ui.BaseMapActivity;
import com.google.samples.apps.iosched.ui.debug.DebugAction;
import com.google.samples.apps.iosched.util.UIUtils;
@@ -46,7 +46,7 @@ public class ShowSessionNotificationDebugAction implements DebugAction {
UIUtils.getMapActivityClass(context));
mapIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_TASK_ON_HOME);
- mapIntent.putExtra(MapFragment.EXTRA_ROOM, "keynote");
+ mapIntent.putExtra(BaseMapActivity.EXTRA_ROOM, "keynote");
PendingIntent piMap = TaskStackBuilder
.create(context)
.addNextIntent(mapIntent)
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/phone/MapActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/phone/MapActivity.java
index 094b07e..d9b8fc3 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/phone/MapActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/phone/MapActivity.java
@@ -16,18 +16,16 @@
package com.google.samples.apps.iosched.ui.phone;
-import android.app.ActionBar;
-import android.app.Fragment;
import android.app.FragmentManager;
-import android.content.res.Resources;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
+import android.graphics.Rect;
import android.os.Bundle;
-import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.animation.DecelerateInterpolator;
import com.google.samples.apps.iosched.R;
+import com.google.samples.apps.iosched.ui.BaseMapActivity;
import com.google.samples.apps.iosched.ui.MapFragment;
-import com.google.samples.apps.iosched.ui.NearbyActivity;
import com.google.samples.apps.iosched.ui.NearbyFragment;
import com.google.samples.apps.iosched.ui.PartnersFragment;
import com.google.samples.apps.iosched.util.AnalyticsManager;
@@ -35,19 +33,16 @@ import com.google.samples.apps.iosched.util.AnalyticsManager;
import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
-public class MapActivity extends NearbyActivity implements MapFragment.Callbacks {
+public class MapActivity extends BaseMapActivity implements MapFragment.Callbacks {
private static final String TAG = makeLogTag(MapActivity.class);
- public static final String EXTRA_DETACHED_MODE
- = "com.google.samples.apps.iosched.EXTRA_DETACHED_MODE";
private static final String SCREEN_LABEL = "Map";
private static final String PARTNERS_FRAGMENT_TAG = "partners";
- private int mActionBarOnColor;
- private int mActionBarOffColor;
- private ColorDrawable mActionBarBgDrawable;
private boolean mPopupVisible = false; // Nearby or Partners
+ private boolean mFirstPopupAnimate = true;
+ private View mPopupContainerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -58,16 +53,7 @@ public class MapActivity extends NearbyActivity implements MapFragment.Callbacks
}
setContentView(R.layout.activity_map);
- getLPreviewUtils().trySetActionBar();
-
- if (null == savedInstanceState) {
- // Pass arguments to MapFragment
- MapFragment fragment = MapFragment.newInstance();
- fragment.setArguments(intentToFragmentArguments(getIntent()));
- getFragmentManager().beginTransaction()
- .replace(R.id.main_content, fragment)
- .commit();
- }
+ mPopupContainerView = findViewById(R.id.fragment_container_popup);
/* [ANALYTICS:SCREEN]
* TRIGGER: View the Map screen on a phone.
@@ -79,69 +65,52 @@ public class MapActivity extends NearbyActivity implements MapFragment.Callbacks
overridePendingTransition(0, 0);
- final Resources res = getResources();
- mActionBarOffColor = res.getColor(R.color.translucent_actionbar_background);
- mActionBarOnColor = res.getColor(R.color.theme_primary);
-
- // Initialise and set background drawable here explicitly to ensure the background
- // is drawn when the background color is changed on JellyBean
- mActionBarBgDrawable = new ColorDrawable(mActionBarOffColor);
- getActionBar().setBackgroundDrawable(mActionBarBgDrawable);
-
getFragmentManager().addOnBackStackChangedListener(
new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
mPopupVisible = (getFragmentManager().getBackStackEntryCount() == 1);
- updateActionBarNavigation();
+ updatePopup();
}
}
);
- updateActionBarNavigation();
+ updatePopup();
}
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- Fragment nearbyFragment = getFragmentManager().findFragmentByTag(NEARBY_FRAGMENT_TAG);
- Fragment partnersFragment = getFragmentManager().findFragmentByTag(PARTNERS_FRAGMENT_TAG);
- mPopupVisible = nearbyFragment != null || partnersFragment != null;
- updateActionBarNavigation();
- }
-
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- ActionBar ab = getActionBar();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
-
- if (mPopupVisible) {
- ab.hide();
- } else {
- ab.show();
+ private void updatePopup() {
+ View mapContainerView = findViewById(R.id.fragment_container_map);
+ if (mFirstPopupAnimate) {
+ if (mPopupVisible) {
+ mPopupContainerView.setTranslationY(mapContainerView.getHeight());
+ mPopupContainerView.setVisibility(View.VISIBLE);
+ mFirstPopupAnimate = false;
+ } else {
+ return;
+ }
}
+ mPopupContainerView.animate()
+ .translationY(mPopupVisible ? 0 : mapContainerView.getHeight())
+ .setInterpolator(new DecelerateInterpolator())
+ .setDuration(250);
}
@Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
+ public void onInsetsChanged(Rect insets) {
+ super.onInsetsChanged(insets);
+ ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)
+ mPopupContainerView.getLayoutParams();
+ lp.topMargin= insets.top;
+ mPopupContainerView.setLayoutParams(lp);
}
@Override
- protected void onNavDrawerSlide(float offset) {
- super.onNavDrawerSlide(offset);
- // Make Action Bar gradually fade into the theme color
- mActionBarBgDrawable.setColor(Color.argb(
- Color.alpha(mActionBarOffColor) + (int) (offset * (Color.alpha(mActionBarOnColor) - Color.alpha(mActionBarOffColor))),
- Color.red(mActionBarOffColor) + (int) (offset * (Color.red(mActionBarOnColor) - Color.red(mActionBarOffColor))),
- Color.green(mActionBarOffColor) + (int) (offset * (Color.green(mActionBarOnColor) - Color.green(mActionBarOffColor))),
- Color.blue(mActionBarOffColor) + (int) (offset * (Color.blue(mActionBarOnColor) - Color.blue(mActionBarOffColor)))
- ));
- getActionBar().setBackgroundDrawable(mActionBarBgDrawable);
+ public void onBackPressed() {
+ // Force checking the native fragment manager for a backstack rather than
+ // the support lib fragment manager.
+ if (!getFragmentManager().popBackStackImmediate()) {
+ super.onBackPressed();
+ }
}
@Override
@@ -152,36 +121,17 @@ public class MapActivity extends NearbyActivity implements MapFragment.Callbacks
@Override
public void onShowPartners() {
getFragmentManager().beginTransaction()
- .replace(R.id.main_content, PartnersFragment.newInstance(true),
+ .add(R.id.fragment_container_popup, PartnersFragment.newInstance(true),
PARTNERS_FRAGMENT_TAG)
.addToBackStack(null)
.commit();
}
- @Override
- protected int getSelfNavDrawerItem() {
- if (getIntent().getBooleanExtra(EXTRA_DETACHED_MODE, false)) {
- // in detached mode, we don't have a nav drawer
- return NAVDRAWER_ITEM_INVALID;
- } else {
- return NAVDRAWER_ITEM_MAP;
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (getIntent().getBooleanExtra(EXTRA_DETACHED_MODE, false)
- && item.getItemId() == android.R.id.home) {
- finish();
- }
- return super.onOptionsItemSelected(item);
- }
-
// Show whichever Fragment has been provided by NearbyActivity.
@Override
protected void showNearbyFragment(String tag) {
getFragmentManager().beginTransaction()
- .replace(R.id.main_content, NearbyFragment.newInstance(true), tag)
+ .add(R.id.fragment_container_popup, NearbyFragment.newInstance(true), tag)
.addToBackStack(null)
.commit();
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/tablet/MapMultiPaneActivity.java b/android/src/main/java/com/google/samples/apps/iosched/ui/tablet/MapMultiPaneActivity.java
index 259ec84..fe132e5 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/tablet/MapMultiPaneActivity.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/tablet/MapMultiPaneActivity.java
@@ -16,19 +16,12 @@
package com.google.samples.apps.iosched.ui.tablet;
-import android.app.ActionBar;
-import android.app.Fragment;
import android.app.FragmentBreadCrumbs;
import android.app.FragmentManager;
import android.content.Intent;
import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.net.Uri;
import android.os.Bundle;
import android.view.Gravity;
-import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
@@ -36,8 +29,12 @@ import android.widget.LinearLayout;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.model.TagMetadata;
import com.google.samples.apps.iosched.provider.ScheduleContract;
-import com.google.samples.apps.iosched.ui.*;
-import com.google.samples.apps.iosched.ui.phone.MapActivity;
+import com.google.samples.apps.iosched.ui.BaseMapActivity;
+import com.google.samples.apps.iosched.ui.MapFragment;
+import com.google.samples.apps.iosched.ui.NearbyFragment;
+import com.google.samples.apps.iosched.ui.PartnersFragment;
+import com.google.samples.apps.iosched.ui.SessionDetailActivity;
+import com.google.samples.apps.iosched.ui.SessionsFragment;
import com.google.samples.apps.iosched.util.AnalyticsManager;
import com.google.samples.apps.iosched.util.UIUtils;
@@ -45,11 +42,10 @@ import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
/**
* A multi-pane activity, where the primary navigation pane is a
- * {@link MapFragment}, that shows {@link SessionsFragment},
- * {@link SessionDetailFragment} as popups. This activity requires API level 11
- * or greater because of its use of {@link FragmentBreadCrumbs}.
+ * {@link MapFragment}, that shows {@link NearbyFragment},
+ * {@link PartnersFragment} as popups.
*/
-public class MapMultiPaneActivity extends NearbyActivity implements
+public class MapMultiPaneActivity extends BaseMapActivity implements
FragmentManager.OnBackStackChangedListener,
MapFragment.Callbacks,
SessionsFragment.Callbacks {
@@ -61,17 +57,10 @@ public class MapMultiPaneActivity extends NearbyActivity implements
private FragmentBreadCrumbs mFragmentBreadCrumbs;
private String mSelectedRoomName;
- private MapFragment mMapFragment;
-
- private int mActionBarOnColor;
- private int mActionBarOffColor;
- private ColorDrawable mActionBarBgDrawable;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
- getLPreviewUtils().trySetActionBar();
FragmentManager fm = getFragmentManager();
fm.addOnBackStackChangedListener(this);
@@ -79,16 +68,6 @@ public class MapMultiPaneActivity extends NearbyActivity implements
mFragmentBreadCrumbs = (FragmentBreadCrumbs) findViewById(R.id.breadcrumbs);
mFragmentBreadCrumbs.setActivity(this);
- mMapFragment = (MapFragment) fm.findFragmentByTag("map");
- if (mMapFragment == null) {
- mMapFragment = MapFragment.newInstance();
- mMapFragment.setArguments(intentToFragmentArguments(getIntent()));
-
- fm.beginTransaction()
- .add(R.id.fragment_container_map, mMapFragment, "map")
- .commit();
- }
-
findViewById(R.id.close_button).setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
clearBackStack(false);
@@ -107,53 +86,6 @@ public class MapMultiPaneActivity extends NearbyActivity implements
LOGD("Tracker", SCREEN_LABEL);
overridePendingTransition(0, 0);
-
- final Resources res = getResources();
- mActionBarOffColor = res.getColor(R.color.translucent_actionbar_background);
- mActionBarOnColor = res.getColor(R.color.theme_primary);
-
- // Initialise and set background drawable here explicitly to ensure the background
- // is drawn when the background color is changed on JellyBean
- mActionBarBgDrawable = new ColorDrawable(mActionBarOffColor);
- getActionBar().setBackgroundDrawable(mActionBarBgDrawable);
- }
-
- private void updateActionBarNavigation() {
- boolean show = !isNavDrawerOpen();
- if (getLPreviewUtils().shouldChangeActionBarForDrawer()) {
- ActionBar ab = getActionBar();
- ab.setDisplayShowTitleEnabled(show);
- ab.setDisplayUseLogoEnabled(!show);
- }
- }
-
- @Override
- protected void onNavDrawerStateChanged(boolean isOpen, boolean isAnimating) {
- super.onNavDrawerStateChanged(isOpen, isAnimating);
- updateActionBarNavigation();
- }
-
- @Override
- protected void onNavDrawerSlide(float offset) {
- super.onNavDrawerSlide(offset);
- // Make Action Bar gradually fade into the theme color
- mActionBarBgDrawable.setColor(Color.argb(
- Color.alpha(mActionBarOffColor) + (int) (offset * (Color.alpha(mActionBarOnColor) - Color.alpha(mActionBarOffColor))),
- Color.red(mActionBarOffColor) + (int) (offset * (Color.red(mActionBarOnColor) - Color.red(mActionBarOffColor))),
- Color.green(mActionBarOffColor) + (int) (offset * (Color.green(mActionBarOnColor) - Color.green(mActionBarOffColor))),
- Color.blue(mActionBarOffColor) + (int) (offset * (Color.blue(mActionBarOnColor) - Color.blue(mActionBarOffColor)))
- ));
- getActionBar().setBackgroundDrawable(mActionBarBgDrawable);
- }
-
- @Override
- protected int getSelfNavDrawerItem() {
- if (getIntent().getBooleanExtra(MapActivity.EXTRA_DETACHED_MODE, false)) {
- // in detached mode, we don't have a nav drawer
- return NAVDRAWER_ITEM_INVALID;
- } else {
- return NAVDRAWER_ITEM_MAP;
- }
}
@Override
@@ -222,10 +154,11 @@ public class MapMultiPaneActivity extends NearbyActivity implements
boolean landscape = getResources().getConfiguration().orientation
== Configuration.ORIENTATION_LANDSCAPE;
boolean detailShown = findViewById(R.id.map_detail_spacer).getVisibility() == View.VISIBLE;
-
- mMapFragment.setCenterPadding(
- landscape ? (detailShown ? 0.25f : 0f) : 0,
- landscape ? 0 : (detailShown ? 0.25f : 0));
+ if (mMapFragment != null) {
+ mMapFragment.setCenterPadding(
+ landscape ? (detailShown ? 0.25f : 0f) : 0,
+ landscape ? 0 : (detailShown ? 0.25f : 0));
+ }
}
void updateBreadCrumbs() {
@@ -260,46 +193,17 @@ public class MapMultiPaneActivity extends NearbyActivity implements
* [/ANALYTICS]
*/
AnalyticsManager.sendEvent(SCREEN_LABEL, "selectsession", sessionId);
- getLPreviewUtils().startActivityWithTransition(
+ getLUtils().startActivityWithTransition(
new Intent(Intent.ACTION_VIEW,
ScheduleContract.Sessions.buildSessionUri(sessionId)),
clickedView,
- SessionDetailFragment.VIEW_NAME_PHOTO
+ SessionDetailActivity.TRANSITION_NAME_PHOTO
);
}
@Override
public void onTagMetadataLoaded(TagMetadata metadata) {}
- private void showList(Fragment fragment, Uri uri){
- // Show the sessions in the room
- clearBackStack(true);
- showDetailPane(true);
- fragment.setArguments(BaseActivity.intentToFragmentArguments(
- new Intent(Intent.ACTION_VIEW,
- uri
- )));
- getFragmentManager().beginTransaction()
- .replace(R.id.fragment_container_detail, fragment)
- .addToBackStack(null)
- .commit();
- updateBreadCrumbs();
- }
-
- private void showDetails(Fragment fragment, Uri uri){
- // Show the session details
- showDetailPane(true);
- Intent intent = new Intent(Intent.ACTION_VIEW,uri);
- //intent.putExtra(SessionDetailFragment.EXTRA_VARIABLE_HEIGHT_HEADER, true);
- fragment.setArguments(BaseActivity.intentToFragmentArguments(intent));
- getFragmentManager().beginTransaction()
- .replace(R.id.fragment_container_detail, fragment)
- .addToBackStack(null)
- .commit();
- updateBreadCrumbs();
- }
-
-
// TODO: This should also update the breadcrumbs, which will likely involve a major
// refactoring of the way breadcrumbs are handled. Perhaps we can store breadcrumb titles in
// every back stack entry...
@@ -313,13 +217,4 @@ public class MapMultiPaneActivity extends NearbyActivity implements
.addToBackStack(null)
.commit();
}
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (getIntent().getBooleanExtra(MapActivity.EXTRA_DETACHED_MODE, false)
- && item.getItemId() == android.R.id.home) {
- finish();
- }
- return super.onOptionsItemSelected(item);
- }
}
diff --git a/android/src/lpreview/java/com/google/samples/apps/iosched/ui/widget/AddToScheduleFABFrameLayout.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/AddToScheduleFABFrameLayout.java
index 88b8a45..3087376 100644
--- a/android/src/lpreview/java/com/google/samples/apps/iosched/ui/widget/AddToScheduleFABFrameLayout.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/AddToScheduleFABFrameLayout.java
@@ -18,7 +18,6 @@ package com.google.samples.apps.iosched.ui.widget;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
-import android.animation.ValueAnimator;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Color;
@@ -30,10 +29,11 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
+import android.view.ViewOutlineProvider;
import com.google.samples.apps.iosched.R;
-@TargetApi(Build.VERSION_CODES.L)
+@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class AddToScheduleFABFrameLayout extends CheckableFrameLayout {
private View mRevealView;
private float mHotSpotX, mHotSpotY;
@@ -72,9 +72,13 @@ public class AddToScheduleFABFrameLayout extends CheckableFrameLayout {
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
- Outline outline = new Outline();
- outline.setOval(0, 0, w, h);
- setOutline(outline);
+ ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {
+ @Override
+ public void getOutline(View view, Outline outline) {
+ outline.setOval(0, 0, view.getWidth(), view.getHeight());
+ }
+ };
+ setOutlineProvider(viewOutlineProvider);
setClipToOutline(true);
}
@@ -82,9 +86,11 @@ public class AddToScheduleFABFrameLayout extends CheckableFrameLayout {
public void setChecked(boolean checked, boolean allowAnimate) {
super.setChecked(checked, allowAnimate);
if (allowAnimate) {
- ValueAnimator animator = ViewAnimationUtils.createCircularReveal(
+ // TODO: switch to mHotSpotX/mHotSpotY/getWidth if/when nested reveals can be clipped
+ // by parents. was possible in LPV79 but no longer as of this writing.
+ Animator animator = ViewAnimationUtils.createCircularReveal(
mRevealView,
- (int) mHotSpotX, (int) mHotSpotY, 0, getWidth());
+ (int) getWidth() / 2, (int) getHeight() / 2, 0, getWidth() / 2);
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/CaptureInsetsFrameLayout.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/CaptureInsetsFrameLayout.java
deleted file mode 100644
index 3c37aaa..0000000
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/CaptureInsetsFrameLayout.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.ui.widget;
-
-import android.content.Context;
-import android.graphics.Rect;
-import android.util.AttributeSet;
-import android.widget.FrameLayout;
-
-/**
- * A layout that captures the insets passed to {@link #fitSystemWindows(Rect)}, i.e. the area above
- * UI chrome (status and navigation bars, overlay action bars).
- */
-public class CaptureInsetsFrameLayout extends FrameLayout {
- private OnInsetsCallback mOnInsetsCallback;
-
- public CaptureInsetsFrameLayout(Context context) {
- super(context);
- }
-
- public CaptureInsetsFrameLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public CaptureInsetsFrameLayout(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
- @Override
- protected boolean fitSystemWindows(Rect insets) {
- if (mOnInsetsCallback != null) {
- mOnInsetsCallback.onInsetsChanged(insets);
- }
- return false; // don't actually consume the insets
- }
-
- /**
- * Allows the calling container to specify a callback for custom processing when insets change (i.e. when
- * {@link #fitSystemWindows(Rect)} is called. This is useful for setting padding on UI elements based on
- * UI chrome insets (e.g. a Google Map or a ListView). When using with ListView or GridView, remember to set
- * clipToPadding to false.
- */
- public void setOnInsetsCallback(OnInsetsCallback onInsetsCallback) {
- mOnInsetsCallback = onInsetsCallback;
- }
-
- public static interface OnInsetsCallback {
- public void onInsetsChanged(Rect insets);
- }
-}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MessageCardView.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MessageCardView.java
index 0cac141..5e7fff0 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MessageCardView.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MessageCardView.java
@@ -16,27 +16,23 @@
package com.google.samples.apps.iosched.ui.widget;
-import android.animation.Animator;
-import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
+import android.support.v7.widget.CardView;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
-import android.widget.FrameLayout;
import android.widget.TextView;
import com.google.samples.apps.iosched.R;
-import com.google.samples.apps.iosched.util.UIUtils;
-import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
import static com.google.samples.apps.iosched.util.LogUtils.LOGW;
import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
-public class MessageCardView extends FrameLayout implements View.OnClickListener {
+public class MessageCardView extends CardView implements View.OnClickListener {
private static final String TAG = makeLogTag("MessageCardView");
private TextView mTitleView;
private TextView mMessageView;
@@ -50,16 +46,22 @@ public class MessageCardView extends FrameLayout implements View.OnClickListener
public void onMessageCardButtonClicked(String tag);
}
- public MessageCardView(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
+ public MessageCardView(Context context) {
+ super(context, null, 0);
+ initialize(context, null, 0);
}
- public MessageCardView(Context context) {
- this(context, null, 0);
+ public MessageCardView(Context context, AttributeSet attrs) {
+ super(context, attrs, 0);
+ initialize(context, attrs, 0);
}
public MessageCardView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
+ initialize(context, attrs, defStyle);
+ }
+
+ private void initialize(Context context, AttributeSet attrs, int defStyle) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
mRoot = inflater.inflate(R.layout.message_card, this, true);
@@ -76,7 +78,7 @@ public class MessageCardView extends FrameLayout implements View.OnClickListener
button.setOnClickListener(this);
}
- TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MessageCard, 0, 0);
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MessageCard, defStyle, 0);
String title = a.getString(R.styleable.MessageCard_messageTitle);
setTitle(title);
String text = a.getString(R.styleable.MessageCard_messageText);
@@ -98,6 +100,10 @@ public class MessageCardView extends FrameLayout implements View.OnClickListener
if (button2text != null) {
setButton(1, button2text, button2tag, button2emphasis, emphasisColor);
}
+
+ setRadius(getResources().getDimensionPixelSize(R.dimen.card_corner_radius));
+ setCardElevation(getResources().getDimensionPixelSize(R.dimen.card_elevation));
+ setPreventCornerOverlap(false);
}
public void setListener(OnMessageCardButtonClicked listener) {
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MultiSwipeRefreshLayout.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MultiSwipeRefreshLayout.java
index 041e1f1..5c82736 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MultiSwipeRefreshLayout.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/MultiSwipeRefreshLayout.java
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.util.AttributeSet;
import com.google.samples.apps.iosched.R;
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsFrameLayout.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsFrameLayout.java
new file mode 100644
index 0000000..9f6547f
--- /dev/null
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsFrameLayout.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.samples.apps.iosched.ui.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.support.v4.view.ViewCompat;
+import android.util.AttributeSet;
+import android.widget.FrameLayout;
+
+import com.google.samples.apps.iosched.R;
+
+/**
+ * A layout that draws something in the insets passed to {@link #fitSystemWindows(Rect)}, i.e. the area above UI chrome
+ * (status and navigation bars, overlay action bars).
+ */
+public class ScrimInsetsFrameLayout extends FrameLayout {
+ private Drawable mInsetForeground;
+
+ private Rect mInsets;
+ private Rect mTempRect = new Rect();
+ private OnInsetsCallback mOnInsetsCallback;
+
+ public ScrimInsetsFrameLayout(Context context) {
+ super(context);
+ init(context, null, 0);
+ }
+
+ public ScrimInsetsFrameLayout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init(context, attrs, 0);
+ }
+
+ public ScrimInsetsFrameLayout(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ init(context, attrs, defStyle);
+ }
+
+ private void init(Context context, AttributeSet attrs, int defStyle) {
+ final TypedArray a = context.obtainStyledAttributes(attrs,
+ R.styleable.ScrimInsetsView, defStyle, 0);
+ if (a == null) {
+ return;
+ }
+ mInsetForeground = a.getDrawable(R.styleable.ScrimInsetsView_insetForeground);
+ a.recycle();
+
+ setWillNotDraw(true);
+ }
+
+ @Override
+ protected boolean fitSystemWindows(Rect insets) {
+ mInsets = new Rect(insets);
+ setWillNotDraw(mInsetForeground == null);
+ ViewCompat.postInvalidateOnAnimation(this);
+ if (mOnInsetsCallback != null) {
+ mOnInsetsCallback.onInsetsChanged(insets);
+ }
+ return true; // consume insets
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ super.draw(canvas);
+
+ int width = getWidth();
+ int height = getHeight();
+ if (mInsets != null && mInsetForeground != null) {
+ int sc = canvas.save();
+ canvas.translate(getScrollX(), getScrollY());
+
+ // Top
+ mTempRect.set(0, 0, width, mInsets.top);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ // Bottom
+ mTempRect.set(0, height - mInsets.bottom, width, height);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ // Left
+ mTempRect.set(0, mInsets.top, mInsets.left, height - mInsets.bottom);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ // Right
+ mTempRect.set(width - mInsets.right, mInsets.top, width, height - mInsets.bottom);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ canvas.restoreToCount(sc);
+ }
+ }
+
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ if (mInsetForeground != null) {
+ mInsetForeground.setCallback(this);
+ }
+ }
+
+ @Override
+ protected void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ if (mInsetForeground != null) {
+ mInsetForeground.setCallback(null);
+ }
+ }
+
+ /**
+ * Allows the calling container to specify a callback for custom processing when insets change (i.e. when
+ * {@link #fitSystemWindows(Rect)} is called. This is useful for setting padding on UI elements based on
+ * UI chrome insets (e.g. a Google Map or a ListView). When using with ListView or GridView, remember to set
+ * clipToPadding to false.
+ */
+ public void setOnInsetsCallback(OnInsetsCallback onInsetsCallback) {
+ mOnInsetsCallback = onInsetsCallback;
+ }
+
+ public static interface OnInsetsCallback {
+ public void onInsetsChanged(Rect insets);
+ }
+} \ No newline at end of file
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsScrollView.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsScrollView.java
new file mode 100644
index 0000000..4ee90ff
--- /dev/null
+++ b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsScrollView.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.samples.apps.iosched.ui.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.support.v4.view.ViewCompat;
+import android.util.AttributeSet;
+import android.widget.ScrollView;
+
+import com.google.samples.apps.iosched.R;
+
+/**
+ * A layout that draws something in the insets passed to {@link #fitSystemWindows(Rect)}, i.e. the area above UI chrome
+ * (status and navigation bars, overlay action bars).
+ */
+public class ScrimInsetsScrollView extends ScrollView {
+ private Drawable mInsetForeground;
+
+ private Rect mInsets;
+ private Rect mTempRect = new Rect();
+ private OnInsetsCallback mOnInsetsCallback;
+
+ public ScrimInsetsScrollView(Context context) {
+ super(context);
+ init(context, null, 0);
+ }
+
+ public ScrimInsetsScrollView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init(context, attrs, 0);
+ }
+
+ public ScrimInsetsScrollView(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ init(context, attrs, defStyle);
+ }
+
+ private void init(Context context, AttributeSet attrs, int defStyle) {
+ final TypedArray a = context.obtainStyledAttributes(attrs,
+ R.styleable.ScrimInsetsView, defStyle, 0);
+ if (a == null) {
+ return;
+ }
+ mInsetForeground = a.getDrawable(R.styleable.ScrimInsetsView_insetForeground);
+ a.recycle();
+
+ setWillNotDraw(true);
+ }
+
+ @Override
+ protected boolean fitSystemWindows(Rect insets) {
+ mInsets = new Rect(insets);
+ setWillNotDraw(mInsetForeground == null);
+ ViewCompat.postInvalidateOnAnimation(this);
+ if (mOnInsetsCallback != null) {
+ mOnInsetsCallback.onInsetsChanged(insets);
+ }
+ return true; // consume insets
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ super.draw(canvas);
+
+ int width = getWidth();
+ int height = getHeight();
+ if (mInsets != null && mInsetForeground != null) {
+ int sc = canvas.save();
+ canvas.translate(getScrollX(), getScrollY());
+
+ // Top
+ mTempRect.set(0, 0, width, mInsets.top);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ // Bottom
+ mTempRect.set(0, height - mInsets.bottom, width, height);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ // Left
+ mTempRect.set(0, mInsets.top, mInsets.left, height - mInsets.bottom);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ // Right
+ mTempRect.set(width - mInsets.right, mInsets.top, width, height - mInsets.bottom);
+ mInsetForeground.setBounds(mTempRect);
+ mInsetForeground.draw(canvas);
+
+ canvas.restoreToCount(sc);
+ }
+ }
+
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ if (mInsetForeground != null) {
+ mInsetForeground.setCallback(this);
+ }
+ }
+
+ @Override
+ protected void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ if (mInsetForeground != null) {
+ mInsetForeground.setCallback(null);
+ }
+ }
+
+ /**
+ * Allows the calling container to specify a callback for custom processing when insets change (i.e. when
+ * {@link #fitSystemWindows(Rect)} is called. This is useful for setting padding on UI elements based on
+ * UI chrome insets (e.g. a Google Map or a ListView). When using with ListView or GridView, remember to set
+ * clipToPadding to false.
+ */
+ public void setOnInsetsCallback(OnInsetsCallback onInsetsCallback) {
+ mOnInsetsCallback = onInsetsCallback;
+ }
+
+ public static interface OnInsetsCallback {
+ public void onInsetsChanged(Rect insets);
+ }
+} \ No newline at end of file
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeProgressBar.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeProgressBar.java
deleted file mode 100644
index f12b14e..0000000
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeProgressBar.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.ui.widget;
-
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.support.v4.view.ViewCompat;
-import android.view.View;
-import android.view.animation.AnimationUtils;
-import android.view.animation.Interpolator;
-
-
-/**
- * Custom progress bar that shows a cycle of colors as widening circles that
- * overdraw each other. When finished, the bar is cleared from the inside out as
- * the main cycle continues. Before running, this can also indicate how close
- * the user is to triggering something (e.g. how far they need to pull down to
- * trigger a refresh).
- */
-final class SwipeProgressBar {
-
- // Default progress animation colors are grays.
- private final static int COLOR1 = 0xB3000000;
- private final static int COLOR2 = 0x80000000;
- private final static int COLOR3 = 0x4d000000;
- private final static int COLOR4 = 0x1a000000;
-
- // The duration of the animation cycle.
- private static final int ANIMATION_DURATION_MS = 2000;
-
- // The duration of the animation to clear the bar.
- private static final int FINISH_ANIMATION_DURATION_MS = 1000;
-
- // Interpolator for varying the speed of the animation.
- private static final Interpolator INTERPOLATOR = BakedBezierInterpolator.getInstance();
-
- private final Paint mPaint = new Paint();
- private final RectF mClipRect = new RectF();
- private float mTriggerPercentage;
- private long mStartTime;
- private long mFinishTime;
- private boolean mRunning;
-
- // Colors used when rendering the animation,
- private int mColor1;
- private int mColor2;
- private int mColor3;
- private int mColor4;
- private View mParent;
-
- private Rect mBounds = new Rect();
-
- public SwipeProgressBar(View parent) {
- mParent = parent;
- mColor1 = COLOR1;
- mColor2 = COLOR2;
- mColor3 = COLOR3;
- mColor4 = COLOR4;
- }
-
- /**
- * Set the four colors used in the progress animation. The first color will
- * also be the color of the bar that grows in response to a user swipe
- * gesture.
- *
- * @param color1 Integer representation of a color.
- * @param color2 Integer representation of a color.
- * @param color3 Integer representation of a color.
- * @param color4 Integer representation of a color.
- */
- void setColorScheme(int color1, int color2, int color3, int color4) {
- mColor1 = color1;
- mColor2 = color2;
- mColor3 = color3;
- mColor4 = color4;
- }
-
- /**
- * Update the progress the user has made toward triggering the swipe
- * gesture. and use this value to update the percentage of the trigger that
- * is shown.
- */
- void setTriggerPercentage(float triggerPercentage) {
- mTriggerPercentage = triggerPercentage;
- mStartTime = 0;
- ViewCompat.postInvalidateOnAnimation(mParent);
- }
-
- /**
- * Start showing the progress animation.
- */
- void start() {
- if (!mRunning) {
- mTriggerPercentage = 0;
- mStartTime = AnimationUtils.currentAnimationTimeMillis();
- mRunning = true;
- mParent.postInvalidate();
- }
- }
-
- /**
- * Stop showing the progress animation.
- */
- void stop() {
- if (mRunning) {
- mTriggerPercentage = 0;
- mFinishTime = AnimationUtils.currentAnimationTimeMillis();
- mRunning = false;
- mParent.postInvalidate();
- }
- }
-
- /**
- * @return Return whether the progress animation is currently running.
- */
- boolean isRunning() {
- return mRunning || mFinishTime > 0;
- }
-
- void draw(Canvas canvas) {
- final int width = mBounds.width();
- final int cx = width / 2;
- final int cy = mBounds.top + mBounds.height() / 2;
- boolean drawTriggerWhileFinishing = false;
- int restoreCount = canvas.save();
- canvas.clipRect(mBounds);
- if (mRunning || (mFinishTime > 0)) {
- long now = AnimationUtils.currentAnimationTimeMillis();
- long elapsed = (now - mStartTime) % ANIMATION_DURATION_MS;
- long iterations = (now - mStartTime) / ANIMATION_DURATION_MS;
- float rawProgress = (elapsed / (ANIMATION_DURATION_MS / 100f));
- // If we're not running anymore, that means we're running through
- // the finish animation.
- if (!mRunning) {
- // If the finish animation is done, don't draw anything, and
- // don't repost.
- if ((now - mFinishTime) >= FINISH_ANIMATION_DURATION_MS) {
- mFinishTime = 0;
- return;
- }
- // Otherwise, use a 0 opacity alpha layer to clear the animation
- // from the inside out. This layer will prevent the circles from
- // drawing within its bounds.
- long finishElapsed = (now - mFinishTime) % FINISH_ANIMATION_DURATION_MS;
- float finishProgress = (finishElapsed / (FINISH_ANIMATION_DURATION_MS / 100f));
- float pct = (finishProgress / 100f);
- // Radius of the circle is half of the screen.
- float clearRadius = width / 2 * INTERPOLATOR.getInterpolation(pct);
- mClipRect.set(cx - clearRadius, mBounds.top, cx + clearRadius, mBounds.bottom);
- canvas.saveLayerAlpha(mClipRect, 0, 0);
- // Only draw the trigger if there is a space in the center of
- // this refreshing view that needs to be filled in by the
- // trigger. If the progress view is just still animating, let it
- // continue animating.
- drawTriggerWhileFinishing = true;
- }
- // First fill in with the last color that would have finished drawing.
- if (iterations == 0) {
- canvas.drawColor(mColor1);
- } else {
- if (rawProgress >= 0 && rawProgress < 25) {
- canvas.drawColor(mColor4);
- } else if (rawProgress >= 25 && rawProgress < 50) {
- canvas.drawColor(mColor1);
- } else if (rawProgress >= 50 && rawProgress < 75) {
- canvas.drawColor(mColor2);
- } else {
- canvas.drawColor(mColor3);
- }
- }
- // Then draw up to 4 overlapping concentric circles of varying radii, based on how far
- // along we are in the cycle.
- // progress 0-50 draw mColor2
- // progress 25-75 draw mColor3
- // progress 50-100 draw mColor4
- // progress 75 (wrap to 25) draw mColor1
- if ((rawProgress >= 0 && rawProgress <= 25)) {
- float pct = (((rawProgress + 25) * 2) / 100f);
- drawCircle(canvas, cx, cy, mColor1, pct);
- }
- if (rawProgress >= 0 && rawProgress <= 50) {
- float pct = ((rawProgress * 2) / 100f);
- drawCircle(canvas, cx, cy, mColor2, pct);
- }
- if (rawProgress >= 25 && rawProgress <= 75) {
- float pct = (((rawProgress - 25) * 2) / 100f);
- drawCircle(canvas, cx, cy, mColor3, pct);
- }
- if (rawProgress >= 50 && rawProgress <= 100) {
- float pct = (((rawProgress - 50) * 2) / 100f);
- drawCircle(canvas, cx, cy, mColor4, pct);
- }
- if ((rawProgress >= 75 && rawProgress <= 100)) {
- float pct = (((rawProgress - 75) * 2) / 100f);
- drawCircle(canvas, cx, cy, mColor1, pct);
- }
- if (mTriggerPercentage > 0 && drawTriggerWhileFinishing) {
- // There is some portion of trigger to draw. Restore the canvas,
- // then draw the trigger. Otherwise, the trigger does not appear
- // until after the bar has finished animating and appears to
- // just jump in at a larger width than expected.
- canvas.restoreToCount(restoreCount);
- restoreCount = canvas.save();
- canvas.clipRect(mBounds);
- drawTrigger(canvas, cx, cy);
- }
- // Keep running until we finish out the last cycle.
- ViewCompat.postInvalidateOnAnimation(mParent);
- } else {
- // Otherwise if we're in the middle of a trigger, draw that.
- if (mTriggerPercentage > 0 && mTriggerPercentage <= 1.0) {
- drawTrigger(canvas, cx, cy);
- }
- }
- canvas.restoreToCount(restoreCount);
- }
-
- private void drawTrigger(Canvas canvas, int cx, int cy) {
- mPaint.setColor(mColor1);
- canvas.drawCircle(cx, cy, cx * mTriggerPercentage, mPaint);
- }
-
- /**
- * Draws a circle centered in the view.
- *
- * @param canvas the canvas to draw on
- * @param cx the center x coordinate
- * @param cy the center y coordinate
- * @param color the color to draw
- * @param pct the percentage of the view that the circle should cover
- */
- private void drawCircle(Canvas canvas, float cx, float cy, int color, float pct) {
- mPaint.setColor(color);
- canvas.save();
- canvas.translate(cx, cy);
- float radiusScale = INTERPOLATOR.getInterpolation(pct);
- canvas.scale(radiusScale, radiusScale);
- canvas.drawCircle(0, 0, cx, mPaint);
- canvas.restore();
- }
-
- /**
- * Set the drawing bounds of this SwipeProgressBar.
- */
- void setBounds(int left, int top, int right, int bottom) {
- mBounds.left = left;
- mBounds.top = top;
- mBounds.right = right;
- mBounds.bottom = bottom;
- }
-}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeRefreshLayout.java b/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeRefreshLayout.java
deleted file mode 100644
index 14fc442..0000000
--- a/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SwipeRefreshLayout.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.ui.widget;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.support.v4.view.ViewCompat;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.view.animation.AccelerateInterpolator;
-import android.view.animation.Animation;
-import android.view.animation.Animation.AnimationListener;
-import android.view.animation.DecelerateInterpolator;
-import android.view.animation.Transformation;
-import android.widget.AbsListView;
-
-
-/**
- * The SwipeRefreshLayout should be used whenever the user can refresh the
- * contents of a view via a vertical swipe gesture. The activity that
- * instantiates this view should add an OnRefreshListener to be notified
- * whenever the swipe to refresh gesture is completed. The SwipeRefreshLayout
- * will notify the listener each and every time the gesture is completed again;
- * the listener is responsible for correctly determining when to actually
- * initiate a refresh of its content. If the listener determines there should
- * not be a refresh, it must call setRefreshing(false) to cancel any visual
- * indication of a refresh. If an activity wishes to show just the progress
- * animation, it should call setRefreshing(true). To disable the gesture and progress
- * animation, call setEnabled(false) on the view.
- *
- * <p> This layout should be made the parent of the view that will be refreshed as a
- * result of the gesture and can only support one direct child. This view will
- * also be made the target of the gesture and will be forced to match both the
- * width and the height supplied in this layout. The SwipeRefreshLayout does not
- * provide accessibility events; instead, a menu item must be provided to allow
- * refresh of the content wherever this gesture is used.</p>
- */
-public class SwipeRefreshLayout extends ViewGroup {
- private static final long RETURN_TO_ORIGINAL_POSITION_TIMEOUT = 300;
- private static final float ACCELERATE_INTERPOLATION_FACTOR = 1.5f;
- private static final float DECELERATE_INTERPOLATION_FACTOR = 2f;
- private static final float PROGRESS_BAR_HEIGHT = 4;
- private static final float MAX_SWIPE_DISTANCE_FACTOR = .6f;
- private static final int REFRESH_TRIGGER_DISTANCE = 120;
-
- private SwipeProgressBar mProgressBar; //the thing that shows progress is going
- private View mTarget; //the content that gets pulled down
- private int mOriginalOffsetTop;
- private OnRefreshListener mListener;
- private MotionEvent mDownEvent;
- private int mFrom;
- private boolean mRefreshing = false;
- private int mTouchSlop;
- private float mDistanceToTriggerSync = -1;
- private float mPrevY;
- private int mMediumAnimationDuration;
- private float mFromPercentage = 0;
- private float mCurrPercentage = 0;
- private int mProgressBarHeight;
- private int mCurrentTargetOffsetTop;
- private int mProgressBarTop;
-
- // Target is returning to its start offset because it was cancelled or a
- // refresh was triggered.
- private boolean mReturningToStart;
- private final DecelerateInterpolator mDecelerateInterpolator;
- private final AccelerateInterpolator mAccelerateInterpolator;
- private static final int[] LAYOUT_ATTRS = new int[] {
- android.R.attr.enabled
- };
-
- private final Animation mAnimateToStartPosition = new Animation() {
- @Override
- public void applyTransformation(float interpolatedTime, Transformation t) {
- int targetTop = 0;
- if (mFrom != mOriginalOffsetTop) {
- targetTop = (mFrom + (int)((mOriginalOffsetTop - mFrom) * interpolatedTime));
- }
- int offset = targetTop - mTarget.getTop();
- final int currentTop = mTarget.getTop();
- if (offset + currentTop < 0) {
- offset = 0 - currentTop;
- }
- setTargetOffsetTopAndBottom(offset);
- }
- };
-
- private Animation mShrinkTrigger = new Animation() {
- @Override
- public void applyTransformation(float interpolatedTime, Transformation t) {
- float percent = mFromPercentage + ((0 - mFromPercentage) * interpolatedTime);
- mProgressBar.setTriggerPercentage(percent);
- }
- };
-
- private final AnimationListener mReturnToStartPositionListener = new BaseAnimationListener() {
- @Override
- public void onAnimationEnd(Animation animation) {
- // Once the target content has returned to its start position, reset
- // the target offset to 0
- mCurrentTargetOffsetTop = 0;
- }
- };
-
- private final AnimationListener mShrinkAnimationListener = new BaseAnimationListener() {
- @Override
- public void onAnimationEnd(Animation animation) {
- mCurrPercentage = 0;
- }
- };
-
- private final Runnable mReturnToStartPosition = new Runnable() {
-
- @Override
- public void run() {
- mReturningToStart = true;
- animateOffsetToStartPosition(mCurrentTargetOffsetTop + getPaddingTop(),
- mReturnToStartPositionListener);
- }
-
- };
-
- // Cancel the refresh gesture and animate everything back to its original state.
- private final Runnable mCancel = new Runnable() {
-
- @Override
- public void run() {
- mReturningToStart = true;
- // Timeout fired since the user last moved their finger; animate the
- // trigger to 0 and put the target back at its original position
- if (mProgressBar != null) {
- mFromPercentage = mCurrPercentage;
- mShrinkTrigger.setDuration(mMediumAnimationDuration);
- mShrinkTrigger.setAnimationListener(mShrinkAnimationListener);
- mShrinkTrigger.reset();
- mShrinkTrigger.setInterpolator(mDecelerateInterpolator);
- startAnimation(mShrinkTrigger);
- }
- animateOffsetToStartPosition(mCurrentTargetOffsetTop + getPaddingTop(),
- mReturnToStartPositionListener);
- }
-
- };
-
- /**
- * Simple constructor to use when creating a SwipeRefreshLayout from code.
- * @param context
- */
- public SwipeRefreshLayout(Context context) {
- this(context, null);
- }
-
- /**
- * Constructor that is called when inflating SwipeRefreshLayout from XML.
- * @param context
- * @param attrs
- */
- public SwipeRefreshLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
-
- mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
-
- mMediumAnimationDuration = getResources().getInteger(
- android.R.integer.config_mediumAnimTime);
-
- setWillNotDraw(false);
- mProgressBar = new SwipeProgressBar(this);
- final DisplayMetrics metrics = getResources().getDisplayMetrics();
- mProgressBarHeight = (int) (metrics.density * PROGRESS_BAR_HEIGHT);
- mDecelerateInterpolator = new DecelerateInterpolator(DECELERATE_INTERPOLATION_FACTOR);
- mAccelerateInterpolator = new AccelerateInterpolator(ACCELERATE_INTERPOLATION_FACTOR);
-
- final TypedArray a = context.obtainStyledAttributes(attrs, LAYOUT_ATTRS);
- setEnabled(a.getBoolean(0, true));
- a.recycle();
- }
-
- @Override
- public void onAttachedToWindow() {
- super.onAttachedToWindow();
- removeCallbacks(mCancel);
- removeCallbacks(mReturnToStartPosition);
- }
-
- @Override
- public void onDetachedFromWindow() {
- super.onDetachedFromWindow();
- removeCallbacks(mReturnToStartPosition);
- removeCallbacks(mCancel);
- }
-
- private void animateOffsetToStartPosition(int from, AnimationListener listener) {
- mFrom = from;
- mAnimateToStartPosition.reset();
- mAnimateToStartPosition.setDuration(mMediumAnimationDuration);
- mAnimateToStartPosition.setAnimationListener(listener);
- mAnimateToStartPosition.setInterpolator(mDecelerateInterpolator);
- mTarget.startAnimation(mAnimateToStartPosition);
- }
-
- /**
- * Set the listener to be notified when a refresh is triggered via the swipe
- * gesture.
- */
- public void setOnRefreshListener(OnRefreshListener listener) {
- mListener = listener;
- }
-
- private void setTriggerPercentage(float percent) {
- if (percent == 0f) {
- // No-op. A null trigger means it's uninitialized, and setting it to zero-percent
- // means we're trying to reset state, so there's nothing to reset in this case.
- mCurrPercentage = 0;
- return;
- }
- mCurrPercentage = percent;
- mProgressBar.setTriggerPercentage(percent);
- }
-
- /**
- * Notify the widget that refresh state has changed. Do not call this when
- * refresh is triggered by a swipe gesture.
- *
- * @param refreshing Whether or not the view should show refresh progress.
- */
- public void setRefreshing(boolean refreshing) {
- if (mRefreshing != refreshing) {
- ensureTarget();
- mCurrPercentage = 0;
- mRefreshing = refreshing;
- if (mRefreshing) {
- mProgressBar.start();
- } else {
- mProgressBar.stop();
- }
- }
- }
-
- /**
- * Set the four colors used in the progress animation. The first color will
- * also be the color of the bar that grows in response to a user swipe
- * gesture.
- *
- * @param colorRes1 Color resource.
- * @param colorRes2 Color resource.
- * @param colorRes3 Color resource.
- * @param colorRes4 Color resource.
- */
- public void setColorScheme(int colorRes1, int colorRes2, int colorRes3, int colorRes4) {
- ensureTarget();
- final Resources res = getResources();
- final int color1 = res.getColor(colorRes1);
- final int color2 = res.getColor(colorRes2);
- final int color3 = res.getColor(colorRes3);
- final int color4 = res.getColor(colorRes4);
- mProgressBar.setColorScheme(color1, color2, color3,color4);
- }
-
- /**
- * @return Whether the SwipeRefreshWidget is actively showing refresh
- * progress.
- */
- public boolean isRefreshing() {
- return mRefreshing;
- }
-
- private void ensureTarget() {
- // Don't bother getting the parent height if the parent hasn't been laid out yet.
- if (mTarget == null) {
- if (getChildCount() > 1 && !isInEditMode()) {
- throw new IllegalStateException(
- "SwipeRefreshLayout can host only one direct child");
- }
- mTarget = getChildAt(0);
- mOriginalOffsetTop = mTarget.getTop() + getPaddingTop();
- }
- if (mDistanceToTriggerSync == -1) {
- if (getParent() != null && ((View)getParent()).getHeight() > 0) {
- final DisplayMetrics metrics = getResources().getDisplayMetrics();
- mDistanceToTriggerSync = (int) Math.min(
- ((View) getParent()) .getHeight() * MAX_SWIPE_DISTANCE_FACTOR,
- REFRESH_TRIGGER_DISTANCE * metrics.density);
- }
- }
- }
-
- @Override
- public void draw(Canvas canvas) {
- super.draw(canvas);
- mProgressBar.draw(canvas);
- }
-
- public void setProgressBarTop(int top) {
- mProgressBarTop = top;
- mProgressBar.setBounds(0, mProgressBarTop, getWidth(), mProgressBarTop + mProgressBarHeight);
- }
-
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- final int width = getMeasuredWidth();
- final int height = getMeasuredHeight();
- mProgressBar.setBounds(0, mProgressBarTop, getWidth(), mProgressBarTop + mProgressBarHeight);
- if (getChildCount() == 0) {
- return;
- }
- final View child = getChildAt(0);
- final int childLeft = getPaddingLeft();
- final int childTop = mCurrentTargetOffsetTop + getPaddingTop();
- final int childWidth = width - getPaddingLeft() - getPaddingRight();
- final int childHeight = height - getPaddingTop() - getPaddingBottom();
- child.layout(childLeft, childTop, childLeft + childWidth, childTop + childHeight);
- }
-
- @Override
- public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- if (getChildCount() > 1 && !isInEditMode()) {
- throw new IllegalStateException("SwipeRefreshLayout can host only one direct child");
- }
- if (getChildCount() > 0) {
- getChildAt(0).measure(
- MeasureSpec.makeMeasureSpec(
- getMeasuredWidth() - getPaddingLeft() - getPaddingRight(),
- MeasureSpec.EXACTLY),
- MeasureSpec.makeMeasureSpec(
- getMeasuredHeight() - getPaddingTop() - getPaddingBottom(),
- MeasureSpec.EXACTLY));
- }
- }
-
- /**
- * @return Whether it is possible for the child view of this layout to
- * scroll up. Override this if the child view is a custom view.
- */
- public boolean canChildScrollUp() {
- if (android.os.Build.VERSION.SDK_INT < 14) {
- if (mTarget instanceof AbsListView) {
- final AbsListView absListView = (AbsListView) mTarget;
- return absListView.getChildCount() > 0
- && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
- .getTop() < absListView.getPaddingTop());
- } else {
- return mTarget.getScrollY() > 0;
- }
- } else {
- return ViewCompat.canScrollVertically(mTarget, -1);
- }
- }
-
- @Override
- public boolean onInterceptTouchEvent(MotionEvent ev) {
- ensureTarget();
- boolean handled = false;
- if (mReturningToStart && ev.getAction() == MotionEvent.ACTION_DOWN) {
- mReturningToStart = false;
- }
- if (isEnabled() && !mReturningToStart && !canChildScrollUp()) {
- handled = onTouchEvent(ev);
- }
- return !handled ? super.onInterceptTouchEvent(ev) : handled;
- }
-
- @Override
- public void requestDisallowInterceptTouchEvent(boolean b) {
- // Nope.
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- final int action = event.getAction();
- boolean handled = false;
- switch (action) {
- case MotionEvent.ACTION_DOWN:
- mCurrPercentage = 0;
- mDownEvent = MotionEvent.obtain(event);
- mPrevY = mDownEvent.getY();
- break;
- case MotionEvent.ACTION_MOVE:
- if (mDownEvent != null && !mReturningToStart) {
- final float eventY = event.getY();
- float yDiff = eventY - mDownEvent.getY();
- if (yDiff > mTouchSlop) {
- // User velocity passed min velocity; trigger a refresh
- if (yDiff > mDistanceToTriggerSync) {
- // User movement passed distance; trigger a refresh
- startRefresh();
- handled = true;
- break;
- } else {
- // Just track the user's movement
- setTriggerPercentage(
- mAccelerateInterpolator.getInterpolation(
- yDiff / mDistanceToTriggerSync));
- float offsetTop = yDiff;
- if (mPrevY > eventY) {
- offsetTop = yDiff - mTouchSlop;
- }
- updateContentOffsetTop((int) (offsetTop));
- if (mPrevY > eventY && (mTarget.getTop() < mTouchSlop)) {
- // If the user puts the view back at the top, we
- // don't need to. This shouldn't be considered
- // cancelling the gesture as the user can restart from the top.
- removeCallbacks(mCancel);
- } else {
- updatePositionTimeout();
- }
- mPrevY = event.getY();
- handled = true;
- }
- }
- }
- break;
- case MotionEvent.ACTION_UP:
- case MotionEvent.ACTION_CANCEL:
- if (mDownEvent != null) {
- mDownEvent.recycle();
- mDownEvent = null;
- }
- break;
- }
- return handled;
- }
-
- private void startRefresh() {
- removeCallbacks(mCancel);
- mReturnToStartPosition.run();
- setRefreshing(true);
- mListener.onRefresh();
- }
-
- private void updateContentOffsetTop(int targetTop) {
- final int currentTop = mTarget.getTop();
- if (targetTop > mDistanceToTriggerSync) {
- targetTop = (int) mDistanceToTriggerSync;
- } else if (targetTop < 0) {
- targetTop = 0;
- }
- setTargetOffsetTopAndBottom(targetTop - currentTop);
- }
-
- private void setTargetOffsetTopAndBottom(int offset) {
- mTarget.offsetTopAndBottom(offset);
- mCurrentTargetOffsetTop = mTarget.getTop();
- }
-
- private void updatePositionTimeout() {
- removeCallbacks(mCancel);
- postDelayed(mCancel, RETURN_TO_ORIGINAL_POSITION_TIMEOUT);
- }
-
- /**
- * Classes that wish to be notified when the swipe gesture correctly
- * triggers a refresh should implement this interface.
- */
- public interface OnRefreshListener {
- public void onRefresh();
- }
-
- /**
- * Simple AnimationListener to avoid having to implement unneeded methods in
- * AnimationListeners.
- */
- private class BaseAnimationListener implements AnimationListener {
- @Override
- public void onAnimationStart(Animation animation) {
- }
-
- @Override
- public void onAnimationEnd(Animation animation) {
- }
-
- @Override
- public void onAnimationRepeat(Animation animation) {
- }
- }
-}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/AccountUtils.java b/android/src/main/java/com/google/samples/apps/iosched/util/AccountUtils.java
index 153ff6e..ef1256f 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/AccountUtils.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/AccountUtils.java
@@ -182,6 +182,12 @@ public class AccountUtils {
PREFIX_PREF_PLUS_IMAGE_URL), null) : null;
}
+ public static String getPlusImageUrl(final Context context, final String accountName) {
+ SharedPreferences sp = getSharedPreferences(context);
+ return hasActiveAccount(context) ? sp.getString(makeAccountSpecificPrefKey(accountName,
+ PREFIX_PREF_PLUS_IMAGE_URL), null) : null;
+ }
+
public static void refreshAuthToken(Context mContext) {
invalidateAuthToken(mContext);
tryAuthenticateWithErrorNotification(mContext, ScheduleContract.CONTENT_AUTHORITY);
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/FeedbackUtils.java b/android/src/main/java/com/google/samples/apps/iosched/util/FeedbackUtils.java
index aff85ac..13a4c93 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/FeedbackUtils.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/FeedbackUtils.java
@@ -22,6 +22,7 @@ import android.content.Intent;
import android.net.Uri;
import com.google.samples.apps.iosched.provider.ScheduleContract;
+import com.google.samples.apps.iosched.service.FeedbackListenerService;
import com.google.samples.apps.iosched.service.SessionAlarmService;
import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
@@ -72,7 +73,8 @@ public class FeedbackUtils {
* should result in removal of the corresponding notifications on both ends.
*/
public static void dismissFeedbackNotification(Context context, String sessionId) {
- Intent dismissalIntent = new Intent(SessionAlarmService.ACTION_NOTIFICATION_DISMISSAL);
+ Intent dismissalIntent = new Intent(context, FeedbackListenerService.class);
+ dismissalIntent.setAction(SessionAlarmService.ACTION_NOTIFICATION_DISMISSAL);
dismissalIntent.putExtra(SessionAlarmService.KEY_SESSION_ID, sessionId);
context.startService(dismissalIntent);
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/ImageLoader.java b/android/src/main/java/com/google/samples/apps/iosched/util/ImageLoader.java
index b264867..2285f79 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/ImageLoader.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/ImageLoader.java
@@ -26,7 +26,7 @@ import com.google.samples.apps.iosched.R;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import com.bumptech.glide.DrawableRequestBuilder;
+import com.bumptech.glide.BitmapRequestBuilder;
import com.bumptech.glide.Glide;
import com.bumptech.glide.ModelRequest;
import com.bumptech.glide.load.Transformation;
@@ -103,7 +103,7 @@ public class ImageLoader {
*/
public void loadImage(String url, ImageView imageView, RequestListener<String> requestListener,
Drawable placeholderOverride, boolean crop) {
- DrawableRequestBuilder<String> request = beginImageLoad(url, requestListener, crop)
+ BitmapRequestBuilder request = beginImageLoad(url, requestListener, crop)
.animate(R.anim.image_fade_in);
if (placeholderOverride != null) {
request.placeholder(placeholderOverride);
@@ -113,11 +113,12 @@ public class ImageLoader {
request.into(imageView);
}
- public DrawableRequestBuilder<String> beginImageLoad(String url,
+ public BitmapRequestBuilder beginImageLoad(String url,
RequestListener<String> requestListener, boolean crop) {
return mGlideModelRequest.load(url)
+ .asBitmap() // don't allow animated GIFs
.listener(requestListener)
- .bitmapTransform(crop ? mCenterCrop : mNone);
+ .transform(crop ? mCenterCrop : mNone);
}
/**
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/LPreviewUtilsBase.java b/android/src/main/java/com/google/samples/apps/iosched/util/LPreviewUtilsBase.java
deleted file mode 100644
index e4fa0ae..0000000
--- a/android/src/main/java/com/google/samples/apps/iosched/util/LPreviewUtilsBase.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright 2014 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.samples.apps.iosched.util;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.animation.AnimatorSet;
-import android.animation.ObjectAnimator;
-import android.app.Activity;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.graphics.Color;
-import android.graphics.Typeface;
-import android.os.Handler;
-import android.support.v4.app.ActionBarDrawerToggle;
-import android.support.v4.widget.DrawerLayout;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.google.samples.apps.iosched.R;
-
-public class LPreviewUtilsBase {
- protected Activity mActivity;
- private ActionBarDrawerToggle mDrawerToggle;
- private ActionBarDrawerToggleWrapper mDrawerToggleWrapper;
- private Handler mHandler = new Handler();
-
- LPreviewUtilsBase(Activity activity) {
- mActivity = activity;
- }
-
- public ActionBarDrawerToggleWrapper setupDrawerToggle(DrawerLayout drawerLayout,
- final DrawerLayout.DrawerListener drawerListener) {
- mDrawerToggle = new ActionBarDrawerToggle(mActivity, drawerLayout,
- R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
- @Override
- public void onDrawerClosed(View drawerView) {
- super.onDrawerClosed(drawerView);
- drawerListener.onDrawerClosed(drawerView);
- }
-
- @Override
- public void onDrawerOpened(View drawerView) {
- super.onDrawerOpened(drawerView);
- drawerListener.onDrawerOpened(drawerView);
- }
-
- @Override
- public void onDrawerStateChanged(int newState) {
- super.onDrawerStateChanged(newState);
- drawerListener.onDrawerStateChanged(newState);
- }
-
- @Override
- public void onDrawerSlide(View drawerView, float slideOffset) {
- super.onDrawerSlide(drawerView, slideOffset);
- drawerListener.onDrawerSlide(drawerView, slideOffset);
- }
- };
- drawerLayout.setDrawerListener(mDrawerToggle);
- mDrawerToggleWrapper = new ActionBarDrawerToggleWrapper();
- return mDrawerToggleWrapper;
- }
-
- public void trySetActionBar() {
- // Do nothing pre-L
- }
-
- public boolean hasLPreviewAPIs() {
- return false;
- }
-
- public boolean shouldChangeActionBarForDrawer() {
- return true;
- }
-
- public void showHideActionBarIfPartOfDecor(boolean show) {
- // pre-L, action bar is always part of the window decor
- if (show) {
- mActivity.getActionBar().show();
- } else {
- mActivity.getActionBar().hide();
- }
- }
-
- public void setMediumTypeface(TextView textView) {
- textView.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
- }
-
- public class ActionBarDrawerToggleWrapper {
- public void syncState() {
- if (mDrawerToggle != null) {
- mDrawerToggle.syncState();
- }
- }
-
- public void onConfigurationChanged(Configuration newConfig) {
- if (mDrawerToggle != null) {
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
- }
-
- public boolean onOptionsItemSelected(MenuItem item) {
- if (mDrawerToggle != null) {
- return mDrawerToggle.onOptionsItemSelected(item);
- }
- return false;
- }
- }
-
- public void startActivityWithTransition(Intent intent, View clickedView,
- String sharedElementName) {
- mActivity.startActivity(intent);
- }
-
- public void setViewName(View v, String viewName) {
- // Can't do this pre-L
- }
-
- public void postponeEnterTransition() {
- // Can't do this pre-L
- }
-
- public void startPostponedEnterTransition() {
- // Can't do this pre-L
- }
-
- public int getStatusBarColor() {
- // On pre-L devices, you can have any status bar color so long as it's black.
- return Color.BLACK;
- }
-
- public void setStatusBarColor(int color) {
- // Only black.
- }
-
- public void setViewElevation(View v, float elevation) {
- // Can't do this pre-L
- }
-
- public void setOrAnimatePlusCheckIcon(final ImageView imageView, boolean isCheck,
- boolean allowAnimate) {
- final int imageResId = isCheck
- ? R.drawable.add_schedule_button_icon_checked
- : R.drawable.add_schedule_button_icon_unchecked;
-
- if (imageView.getTag() != null) {
- if (imageView.getTag() instanceof Animator) {
- Animator anim = (Animator) imageView.getTag();
- anim.end();
- imageView.setAlpha(1f);
- }
- }
-
- if (allowAnimate && isCheck) {
- int duration = mActivity.getResources().getInteger(
- android.R.integer.config_shortAnimTime);
-
- Animator outAnimator = ObjectAnimator.ofFloat(imageView, View.ALPHA, 0f);
- outAnimator.setDuration(duration / 2);
- outAnimator.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- imageView.setImageResource(imageResId);
- }
- });
-
- AnimatorSet inAnimator = new AnimatorSet();
- outAnimator.setDuration(duration);
- inAnimator.playTogether(
- ObjectAnimator.ofFloat(imageView, View.ALPHA, 1f),
- ObjectAnimator.ofFloat(imageView, View.SCALE_X, 0f, 1f),
- ObjectAnimator.ofFloat(imageView, View.SCALE_Y, 0f, 1f)
- );
-
- AnimatorSet set = new AnimatorSet();
- set.playSequentially(outAnimator, inAnimator);
- set.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- imageView.setTag(null);
- }
- });
- imageView.setTag(set);
- set.start();
- } else {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- imageView.setImageResource(imageResId);
- }
- });
- }
- }
-}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/LUtils.java b/android/src/main/java/com/google/samples/apps/iosched/util/LUtils.java
new file mode 100644
index 0000000..f34fcff
--- /dev/null
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/LUtils.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.samples.apps.iosched.util;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.annotation.TargetApi;
+import android.app.ActivityOptions;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.graphics.drawable.AnimatedStateListDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.os.Handler;
+import android.support.v7.app.ActionBarActivity;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.google.samples.apps.iosched.R;
+
+@TargetApi(Build.VERSION_CODES.LOLLIPOP)
+public class LUtils {
+ private static final int[] STATE_CHECKED = new int[]{android.R.attr.state_checked};
+ private static final int[] STATE_UNCHECKED = new int[]{};
+
+ private static Typeface sMediumTypeface;
+
+ protected ActionBarActivity mActivity;
+ private Handler mHandler = new Handler();
+
+ private LUtils(ActionBarActivity activity) {
+ mActivity = activity;
+ }
+
+ public static LUtils getInstance(ActionBarActivity activity) {
+ return new LUtils(activity);
+ }
+
+ private static boolean hasL() {
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
+ }
+
+ public void startActivityWithTransition(Intent intent, final View clickedView,
+ final String transitionName) {
+ ActivityOptions options = null;
+ if (hasL() && clickedView != null && !TextUtils.isEmpty(transitionName)) {
+// options = ActivityOptions.makeSceneTransitionAnimation(
+// mActivity, clickedView, transitionName);
+ }
+
+ mActivity.startActivity(intent, (options != null) ? options.toBundle() : null);
+ }
+
+ public void setMediumTypeface(TextView textView) {
+ if (hasL()) {
+ if (sMediumTypeface == null) {
+ sMediumTypeface = Typeface.create("sans-serif-medium", Typeface.NORMAL);
+ }
+
+ textView.setTypeface(sMediumTypeface);
+ } else {
+ textView.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
+ }
+ }
+
+ public int getStatusBarColor() {
+ if (!hasL()) {
+ // On pre-L devices, you can have any status bar color so long as it's black.
+ return Color.BLACK;
+ }
+
+ return mActivity.getWindow().getStatusBarColor();
+ }
+
+ public void setStatusBarColor(int color) {
+ if (!hasL()) {
+ return;
+ }
+
+ mActivity.getWindow().setStatusBarColor(color);
+ }
+
+ public void setOrAnimatePlusCheckIcon(final ImageView imageView, boolean isCheck,
+ boolean allowAnimate) {
+ if (!hasL()) {
+ compatSetOrAnimatePlusCheckIcon(imageView, isCheck, allowAnimate);
+ return;
+ }
+
+ Drawable drawable = imageView.getDrawable();
+ if (!(drawable instanceof AnimatedStateListDrawable)) {
+ drawable = mActivity.getResources().getDrawable(R.drawable.add_schedule_fab_icon_anim);
+ imageView.setImageDrawable(drawable);
+ }
+ imageView.setColorFilter(isCheck ?
+ mActivity.getResources().getColor(R.color.theme_accent_1) : Color.WHITE);
+ if (allowAnimate) {
+ imageView.setImageState(isCheck ? STATE_UNCHECKED : STATE_CHECKED, false);
+ drawable.jumpToCurrentState();
+ imageView.setImageState(isCheck ? STATE_CHECKED : STATE_UNCHECKED, false);
+ } else {
+ imageView.setImageState(isCheck ? STATE_CHECKED : STATE_UNCHECKED, false);
+ drawable.jumpToCurrentState();
+ }
+ }
+
+ public void compatSetOrAnimatePlusCheckIcon(final ImageView imageView, boolean isCheck,
+ boolean allowAnimate) {
+
+ final int imageResId = isCheck
+ ? R.drawable.add_schedule_button_icon_checked
+ : R.drawable.add_schedule_button_icon_unchecked;
+
+ if (imageView.getTag() != null) {
+ if (imageView.getTag() instanceof Animator) {
+ Animator anim = (Animator) imageView.getTag();
+ anim.end();
+ imageView.setAlpha(1f);
+ }
+ }
+
+ if (allowAnimate && isCheck) {
+ int duration = mActivity.getResources().getInteger(
+ android.R.integer.config_shortAnimTime);
+
+ Animator outAnimator = ObjectAnimator.ofFloat(imageView, View.ALPHA, 0f);
+ outAnimator.setDuration(duration / 2);
+ outAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ imageView.setImageResource(imageResId);
+ }
+ });
+
+ AnimatorSet inAnimator = new AnimatorSet();
+ outAnimator.setDuration(duration);
+ inAnimator.playTogether(
+ ObjectAnimator.ofFloat(imageView, View.ALPHA, 1f),
+ ObjectAnimator.ofFloat(imageView, View.SCALE_X, 0f, 1f),
+ ObjectAnimator.ofFloat(imageView, View.SCALE_Y, 0f, 1f)
+ );
+
+ AnimatorSet set = new AnimatorSet();
+ set.playSequentially(outAnimator, inAnimator);
+ set.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ imageView.setTag(null);
+ }
+ });
+ imageView.setTag(set);
+ set.start();
+ } else {
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ imageView.setImageResource(imageResId);
+ }
+ });
+ }
+ }
+}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/LoginAndAuthHelper.java b/android/src/main/java/com/google/samples/apps/iosched/util/LoginAndAuthHelper.java
index 094010e..7426b11 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/LoginAndAuthHelper.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/LoginAndAuthHelper.java
@@ -21,6 +21,7 @@ import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
+import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
@@ -43,7 +44,10 @@ import com.google.android.gms.plus.model.people.PersonBuffer;
import java.io.IOException;
import java.lang.ref.WeakReference;
-import static com.google.samples.apps.iosched.util.LogUtils.*;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGE;
+import static com.google.samples.apps.iosched.util.LogUtils.LOGW;
+import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
/**
* This helper handles the UI flow for signing in and authenticating an account. It handles
@@ -303,8 +307,13 @@ public class LoginAndAuthHelper implements GoogleApiClient.ConnectionCallbacks,
// Record profile ID, image URL and name
LOGD(TAG, "Saving plus profile ID: " + currentUser.getId());
AccountUtils.setPlusProfileId(mAppContext, mAccountName, currentUser.getId());
- LOGD(TAG, "Saving plus image URL: " + currentUser.getImage().getUrl());
- AccountUtils.setPlusImageUrl(mAppContext, mAccountName, currentUser.getImage().getUrl());
+ String imageUrl = currentUser.getImage().getUrl();
+ if (imageUrl != null) {
+ imageUrl = Uri.parse(imageUrl)
+ .buildUpon().appendQueryParameter("sz", "256").build().toString();
+ }
+ LOGD(TAG, "Saving plus image URL: " + imageUrl);
+ AccountUtils.setPlusImageUrl(mAppContext, mAccountName, imageUrl);
LOGD(TAG, "Saving plus display name: " + currentUser.getDisplayName());
AccountUtils.setPlusName(mAppContext, mAccountName, currentUser.getDisplayName());
Person.Cover cover = currentUser.getCover();
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/PrefUtils.java b/android/src/main/java/com/google/samples/apps/iosched/util/PrefUtils.java
index 87725fa..750240a 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/PrefUtils.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/PrefUtils.java
@@ -161,7 +161,7 @@ public class PrefUtils {
public static void markUserRefusedSignIn(final Context context, final boolean refused) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
- sp.edit().putBoolean(PREF_USER_REFUSED_SIGN_IN, refused).apply();
+ sp.edit().putBoolean(PREF_USER_REFUSED_SIGN_IN, refused).commit();
}
public static boolean hasUserRefusedSignIn(final Context context) {
@@ -313,8 +313,8 @@ public class PrefUtils {
sp.registerOnSharedPreferenceChangeListener(listener);
}
- public static void unrgisterOnSharedPreferenceChangeListener(final Context context,
- SharedPreferences.OnSharedPreferenceChangeListener listener) {
+ public static void unregisterOnSharedPreferenceChangeListener(final Context context,
+ SharedPreferences.OnSharedPreferenceChangeListener listener) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
sp.unregisterOnSharedPreferenceChangeListener(listener);
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/RecentTasksStyler.java b/android/src/main/java/com/google/samples/apps/iosched/util/RecentTasksStyler.java
new file mode 100644
index 0000000..c16779f
--- /dev/null
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/RecentTasksStyler.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.samples.apps.iosched.util;
+
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.Build;
+
+import com.google.samples.apps.iosched.R;
+
+/**
+ * Helper class that applies the proper icon, title and background color to recent tasks list.
+ */
+public class RecentTasksStyler {
+ private static Bitmap sIcon = null;
+
+ private RecentTasksStyler() {
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public static void styleRecentTasksEntry(Activity activity) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+ return;
+ }
+
+ Resources resources = activity.getResources();
+ String label = resources.getString(activity.getApplicationInfo().labelRes);
+ int colorPrimary = resources.getColor(R.color.theme_primary);
+
+ if (sIcon == null) {
+ // Cache to avoid decoding the same bitmap on every Activity change
+ sIcon = BitmapFactory.decodeResource(resources, R.drawable.ic_stat_notification);
+ }
+
+ activity.setTaskDescription(new ActivityManager.TaskDescription(label, sIcon, colorPrimary));
+ }
+} \ No newline at end of file
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/SessionsHelper.java b/android/src/main/java/com/google/samples/apps/iosched/util/SessionsHelper.java
index 8d70429..aa98f11 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/SessionsHelper.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/SessionsHelper.java
@@ -16,25 +16,20 @@
package com.google.samples.apps.iosched.util;
-import android.annotation.TargetApi;
import android.app.Activity;
import android.content.AsyncQueryHandler;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.Build;
import android.support.v4.app.ShareCompat;
import android.view.MenuItem;
import com.google.samples.apps.iosched.R;
import com.google.samples.apps.iosched.appwidget.ScheduleWidgetProvider;
-import com.google.samples.apps.iosched.gcm.ServerUtilities;
import com.google.samples.apps.iosched.provider.ScheduleContract;
import com.google.samples.apps.iosched.sync.SyncHelper;
-import com.google.samples.apps.iosched.sync.TriggerSyncReceiver;
-import com.google.samples.apps.iosched.ui.MapFragment;
-import com.google.samples.apps.iosched.ui.phone.MapActivity;
+import com.google.samples.apps.iosched.ui.BaseMapActivity;
import static com.google.samples.apps.iosched.util.LogUtils.LOGD;
import static com.google.samples.apps.iosched.util.LogUtils.makeLogTag;
@@ -55,8 +50,8 @@ public final class SessionsHelper {
public void startMapActivity(String roomId) {
Intent intent = new Intent(mActivity.getApplicationContext(),
UIUtils.getMapActivityClass(mActivity));
- intent.putExtra(MapFragment.EXTRA_ROOM, roomId);
- intent.putExtra(MapActivity.EXTRA_DETACHED_MODE, true);
+ intent.putExtra(BaseMapActivity.EXTRA_ROOM, roomId);
+ intent.putExtra(BaseMapActivity.EXTRA_DETACHED_MODE, true);
mActivity.startActivity(intent);
}
@@ -71,27 +66,7 @@ public final class SessionsHelper {
public void tryConfigureShareMenuItem(MenuItem menuItem, int messageTemplateResId,
final String title, String hashtags, String url) {
- // Intentionally removed by Roman
-// if (UIUtils.hasICS()) {
-// ActionProvider itemProvider = menuItem.getActionProvider();
-// ShareActionProvider provider;
-// if (!(itemProvider instanceof ShareActionProvider)) {
-// provider = new ShareActionProvider(mActivity);
-// } else {
-// provider = (ShareActionProvider) itemProvider;
-// }
-// provider.setShareIntent(createShareIntent(messageTemplateResId, title, hashtags, url));
-// provider.setOnShareTargetSelectedListener(
-// new ShareActionProvider.OnShareTargetSelectedListener() {
-// @Override
-// public boolean onShareTargetSelected(ShareActionProvider source, Intent intent) {
-// AnalyticsManager.sendEvent("Session", "Shared", title, 0L);
-// return false;
-// }
-// });
-//
-// menuItem.setActionProvider(provider);
-// }
+ // TODO: remove
}
public void shareSession(Context context, int messageTemplateResId, String title,
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/UIUtils.java b/android/src/main/java/com/google/samples/apps/iosched/util/UIUtils.java
index 2cafde5..6440085 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/UIUtils.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/UIUtils.java
@@ -26,11 +26,12 @@ import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
-import android.graphics.*;
-import android.graphics.drawable.Drawable;
+import android.graphics.Color;
+import android.graphics.ColorFilter;
+import android.graphics.ColorMatrixColorFilter;
+import android.graphics.Typeface;
import android.net.Uri;
import android.os.Build;
import android.preference.PreferenceManager;
@@ -74,9 +75,10 @@ public class UIUtils {
* Factor applied to session color to derive the background color on panels and when
* a session photo could not be downloaded (or while it is being downloaded)
*/
- public static final float SESSION_BG_COLOR_SCALE_FACTOR = 0.65f;
- public static final float SESSION_PHOTO_SCRIM_ALPHA = 0.75f;
+ public static final float SESSION_BG_COLOR_SCALE_FACTOR = 0.75f;
+ private static final float SESSION_PHOTO_SCRIM_ALPHA = 0.25f; // 0=invisible, 1=visible image
+ private static final float SESSION_PHOTO_SCRIM_SATURATION = 0.2f; // 0=gray, 1=color image
public static final String TARGET_FORM_FACTOR_ACTIVITY_METADATA =
"com.google.samples.apps.iosched.meta.TARGET_FORM_FACTOR";
@@ -294,9 +296,7 @@ public class UIUtils {
}
public static boolean isTablet(Context context) {
- return (context.getResources().getConfiguration().screenLayout
- & Configuration.SCREENLAYOUT_SIZE_MASK)
- >= Configuration.SCREENLAYOUT_SIZE_LARGE;
+ return context.getResources().getConfiguration().smallestScreenWidthDp >= 600;
}
// Whether a feedback notification was fired for a particular session. In the event that a
@@ -429,7 +429,7 @@ public class UIUtils {
}
}
- private static final int[] RES_IDS_ACTION_BAR_SIZE = { android.R.attr.actionBarSize };
+ private static final int[] RES_IDS_ACTION_BAR_SIZE = { R.attr.actionBarSize };
/** Calculates the Action Bar height in pixels. */
public static int calculateActionBarSize(Context context) {
@@ -467,10 +467,6 @@ public class UIUtils {
return scaleColor(color, SESSION_BG_COLOR_SCALE_FACTOR, false);
}
- public static boolean hasActionBar(Activity activity) {
- return activity.getActionBar() != null;
- }
-
public static void showHashtagStream(final Context context, String hashTag) {
final String hashTagsString = getSessionHashtagsString(hashTag);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(
@@ -537,4 +533,16 @@ public class UIUtils {
return (value - min) / (float) (max - min);
}
+
+ // Desaturates and color-scrims the image
+ public static ColorFilter makeSessionImageScrimColorFilter(int sessionColor) {
+ float a = SESSION_PHOTO_SCRIM_ALPHA;
+ float sat = SESSION_PHOTO_SCRIM_SATURATION; // saturation (0=gray, 1=color)
+ return new ColorMatrixColorFilter(new float[]{
+ ((1 - 0.213f) * sat + 0.213f) * a, ((0 - 0.715f) * sat + 0.715f) * a, ((0 - 0.072f) * sat + 0.072f) * a, 0, Color.red(sessionColor) * (1 - a),
+ ((0 - 0.213f) * sat + 0.213f) * a, ((1 - 0.715f) * sat + 0.715f) * a, ((0 - 0.072f) * sat + 0.072f) * a, 0, Color.green(sessionColor) * (1 - a),
+ ((0 - 0.213f) * sat + 0.213f) * a, ((0 - 0.715f) * sat + 0.715f) * a, ((1 - 0.072f) * sat + 0.072f) * a, 0, Color.blue(sessionColor) * (1 - a),
+ 0, 0, 0, 0, 255
+ });
+ }
}
diff --git a/android/src/main/java/com/google/samples/apps/iosched/util/WiFiUtils.java b/android/src/main/java/com/google/samples/apps/iosched/util/WiFiUtils.java
index b1fb0cd..ec8786a 100644
--- a/android/src/main/java/com/google/samples/apps/iosched/util/WiFiUtils.java
+++ b/android/src/main/java/com/google/samples/apps/iosched/util/WiFiUtils.java
@@ -16,7 +16,13 @@
package com.google.samples.apps.iosched.util;
-import android.app.*;
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.app.Fragment;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -32,7 +38,6 @@ import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
-import com.google.samples.apps.iosched.BuildConfig;
import com.google.samples.apps.iosched.Config;
import com.google.samples.apps.iosched.R;
@@ -151,17 +156,23 @@ public class WiFiUtils {
ft.remove(prev);
}
ft.addToBackStack(null);
- new WiFiDialog(isWiFiEnabled(activity)).show(ft, "dialog_wifi");
+ WiFiDialog.newInstance(isWiFiEnabled(activity)).show(ft, "dialog_wifi");
}
public static class WiFiDialog extends DialogFragment {
+ private static final String ARG_WIFI_ENABLED
+ = "com.google.samples.apps.iosched.ARG_WIFI_ENABLED";
+
private boolean mWiFiEnabled;
- public WiFiDialog() {}
+ public static WiFiDialog newInstance(boolean wiFiEnabled) {
+ WiFiDialog wiFiDialogFragment = new WiFiDialog();
+
+ Bundle args = new Bundle();
+ args.putBoolean(ARG_WIFI_ENABLED, wiFiEnabled);
+ wiFiDialogFragment.setArguments(args);
- public WiFiDialog(boolean wifiEnabled) {
- super();
- mWiFiEnabled = wifiEnabled;
+ return wiFiDialogFragment;
}
@Override
@@ -171,6 +182,8 @@ public class WiFiUtils {
final TextView wifiTextView = new TextView(getActivity());
int dialogCallToActionText;
int dialogPositiveButtonText;
+
+ mWiFiEnabled = getArguments().getBoolean(ARG_WIFI_ENABLED);
if (mWiFiEnabled) {
dialogCallToActionText = R.string.calltoaction_wifi_configure;
dialogPositiveButtonText = R.string.wifi_dialog_button_configure;
diff --git a/android/src/lpreview/res/anim-v21/add_schedule_fab_state_list_anim.xml b/android/src/main/res/anim-v21/add_schedule_fab_state_list_anim.xml
index 4e1d87c..2c6e6dc 100644
--- a/android/src/lpreview/res/anim-v21/add_schedule_fab_state_list_anim.xml
+++ b/android/src/main/res/anim-v21/add_schedule_fab_state_list_anim.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
Copyright 2014 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,20 +15,24 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_enabled="true" android:state_pressed="true">
+ <item
+ android:state_enabled="true"
+ android:state_pressed="true">
<set>
- <objectAnimator android:duration="@android:integer/config_shortAnimTime"
- android:propertyName="translationZ"
- android:valueTo="@dimen/fab_press_translation_z"
- android:valueType="floatType"/>
+ <objectAnimator
+ android:duration="@android:integer/config_shortAnimTime"
+ android:propertyName="translationZ"
+ android:valueTo="@dimen/fab_press_translation_z"
+ android:valueType="floatType" />
</set>
</item>
<item>
<set>
- <objectAnimator android:duration="@android:integer/config_shortAnimTime"
- android:propertyName="translationZ"
- android:valueTo="0"
- android:valueType="floatType"/>
+ <objectAnimator
+ android:duration="@android:integer/config_shortAnimTime"
+ android:propertyName="translationZ"
+ android:valueTo="0"
+ android:valueType="floatType" />
</set>
</item>
</selector>
diff --git a/android/src/main/res/drawable-hdpi/ic_launcher.png b/android/src/main/res/drawable-hdpi/ic_launcher.png
deleted file mode 100755
index 633e56f..0000000
--- a/android/src/main/res/drawable-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/main/res/drawable-mdpi/ic_launcher.png b/android/src/main/res/drawable-mdpi/ic_launcher.png
deleted file mode 100755
index 786a92f..0000000
--- a/android/src/main/res/drawable-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/lpreview/res/drawable-v21/add_schedule_fab_icon_anim.xml b/android/src/main/res/drawable-v21/add_schedule_fab_icon_anim.xml
index 809878e..b161902 100644
--- a/android/src/lpreview/res/drawable-v21/add_schedule_fab_icon_anim.xml
+++ b/android/src/main/res/drawable-v21/add_schedule_fab_icon_anim.xml
@@ -15,267 +15,209 @@
-->
<animated-selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_checked="true" android:id="@+id/state_on">
- <bitmap android:src="@drawable/ic_done_anim_030"
- android:tint="@color/theme_accent_1" />
+ <item
+ android:id="@+id/state_on"
+ android:state_checked="true">
+ <bitmap android:src="@drawable/ic_done_anim_030" />
</item>
<item android:id="@+id/state_off">
- <bitmap android:src="@drawable/ic_plus_anim_030"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_030" />
</item>
- <transition android:fromId="@+id/state_on" android:toId="@+id/state_off">
+ <transition
+ android:fromId="@+id/state_on"
+ android:toId="@+id/state_off">
<animation-list>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_000"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_000" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_001"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_001" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_002"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_002" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_003"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_003" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_004"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_004" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_005"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_005" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_006"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_006" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_007"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_007" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_008"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_008" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_009"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_009" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_010"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_010" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_011"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_011" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_012"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_012" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_013"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_013" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_014"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_014" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_015"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_015" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_016"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_016" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_017"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_017" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_018"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_018" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_019"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_019" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_020"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_020" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_021"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_021" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_022"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_022" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_023"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_023" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_024"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_024" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_025"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_025" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_026"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_026" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_027"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_027" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_028"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_028" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_029"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_029" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_plus_anim_030"
- android:tint="#fff" />
+ <bitmap android:src="@drawable/ic_plus_anim_030" />
</item>
</animation-list>
</transition>
- <transition android:fromId="@+id/state_off" android:toId="@+id/state_on">
+ <transition
+ android:fromId="@+id/state_off"
+ android:toId="@+id/state_on">
<animation-list>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_000"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_000" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_001"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_001" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_002"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_002" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_003"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_003" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_004"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_004" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_005"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_005" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_006"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_006" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_007"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_007" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_008"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_008" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_009"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_009" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_010"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_010" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_011"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_011" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_012"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_012" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_013"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_013" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_014"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_014" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_015"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_015" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_016"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_016" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_017"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_017" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_018"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_018" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_019"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_019" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_020"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_020" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_021"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_021" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_022"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_022" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_023"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_023" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_024"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_024" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_025"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_025" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_026"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_026" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_027"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_027" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_028"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_028" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_029"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_029" />
</item>
<item android:duration="16">
- <bitmap android:src="@drawable/ic_done_anim_030"
- android:tint="@color/theme_accent_1" />
+ <bitmap android:src="@drawable/ic_done_anim_030" />
</item>
</animation-list>
</transition>
diff --git a/android/src/lpreview/res/drawable-v21/add_schedule_fab_ripple_background_off.xml b/android/src/main/res/drawable-v21/add_schedule_fab_ripple_background_off.xml
index a839888..a839888 100644
--- a/android/src/lpreview/res/drawable-v21/add_schedule_fab_ripple_background_off.xml
+++ b/android/src/main/res/drawable-v21/add_schedule_fab_ripple_background_off.xml
diff --git a/android/src/lpreview/res/drawable-v21/add_schedule_fab_ripple_background_on.xml b/android/src/main/res/drawable-v21/add_schedule_fab_ripple_background_on.xml
index 3b2dcad..2a4d1fe 100644
--- a/android/src/lpreview/res/drawable-v21/add_schedule_fab_ripple_background_on.xml
+++ b/android/src/main/res/drawable-v21/add_schedule_fab_ripple_background_on.xml
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#f1f1f1">
+<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#ccc">
<item>
<shape>
<solid android:color="#fff" />
diff --git a/android/src/lpreview/res/drawable-v21/photo_item_foreground.xml b/android/src/main/res/drawable-v21/photo_item_foreground.xml
index a04f8f0..a04f8f0 100644
--- a/android/src/lpreview/res/drawable-v21/photo_item_foreground.xml
+++ b/android/src/main/res/drawable-v21/photo_item_foreground.xml
diff --git a/android/src/lpreview/res/values-v21/dimens.xml b/android/src/main/res/drawable-v21/photo_item_foreground_borderless.xml
index 6e4a762..7926e0a 100644
--- a/android/src/lpreview/res/values-v21/dimens.xml
+++ b/android/src/main/res/drawable-v21/photo_item_foreground_borderless.xml
@@ -14,6 +14,4 @@
limitations under the License.
-->
-<resources>
- <dimen name="spinner_left_padding">16dp</dimen>
-</resources>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#2fff" />
diff --git a/android/src/lpreview/res/drawable-v21/popup_item_background.xml b/android/src/main/res/drawable-v21/popup_item_background.xml
index ffae241..ffae241 100644
--- a/android/src/lpreview/res/drawable-v21/popup_item_background.xml
+++ b/android/src/main/res/drawable-v21/popup_item_background.xml
diff --git a/android/src/lpreview/res/drawable-v21/schedule_item_touchoverlay.xml b/android/src/main/res/drawable-v21/schedule_item_touchoverlay.xml
index 43c61ba..43c61ba 100644
--- a/android/src/lpreview/res/drawable-v21/schedule_item_touchoverlay.xml
+++ b/android/src/main/res/drawable-v21/schedule_item_touchoverlay.xml
diff --git a/android/src/lpreview/res/drawable-v21/schedule_item_touchoverlay_dark.xml b/android/src/main/res/drawable-v21/schedule_item_touchoverlay_dark.xml
index 77ddead..77ddead 100644
--- a/android/src/lpreview/res/drawable-v21/schedule_item_touchoverlay_dark.xml
+++ b/android/src/main/res/drawable-v21/schedule_item_touchoverlay_dark.xml
diff --git a/android/src/main/res/drawable-xhdpi/ic_launcher.png b/android/src/main/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100755
index a9f7abb..0000000
--- a/android/src/main/res/drawable-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_000.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_000.png
index 46feef4..46feef4 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_000.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_000.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_001.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_001.png
index cbbf40c..cbbf40c 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_001.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_001.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_002.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_002.png
index 5deacdd..5deacdd 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_002.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_002.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_003.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_003.png
index 5abe18a..5abe18a 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_003.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_003.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_004.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_004.png
index ef47e6b..ef47e6b 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_004.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_004.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_005.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_005.png
index d77a26d..d77a26d 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_005.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_005.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_006.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_006.png
index 14f724f..14f724f 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_006.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_006.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_007.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_007.png
index e35e72f..e35e72f 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_007.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_007.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_008.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_008.png
index afb842d..afb842d 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_008.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_008.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_009.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_009.png
index 5a475ce..5a475ce 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_009.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_009.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_010.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_010.png
index e678436..e678436 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_010.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_010.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_011.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_011.png
index 66dab92..66dab92 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_011.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_011.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_012.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_012.png
index 9183138..9183138 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_012.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_012.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_013.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_013.png
index 76efc27..76efc27 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_013.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_013.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_014.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_014.png
index f625bff..f625bff 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_014.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_014.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_015.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_015.png
index b3da51e..b3da51e 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_015.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_015.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_016.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_016.png
index ebfc72e..ebfc72e 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_016.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_016.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_017.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_017.png
index ddb0f7f..ddb0f7f 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_017.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_017.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_018.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_018.png
index b870294..b870294 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_018.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_018.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_019.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_019.png
index 230a339..230a339 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_019.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_019.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_020.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_020.png
index a7f3517..a7f3517 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_020.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_020.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_021.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_021.png
index 3202040..3202040 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_021.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_021.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_022.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_022.png
index 4ad8d2e..4ad8d2e 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_022.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_022.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_023.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_023.png
index 62003d1..62003d1 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_023.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_023.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_024.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_024.png
index f6633de..f6633de 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_024.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_024.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_025.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_025.png
index 200accf..200accf 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_025.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_025.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_026.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_026.png
index 00f7159..00f7159 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_026.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_026.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_027.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_027.png
index 0950651..0950651 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_027.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_027.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_028.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_028.png
index abe9fb3..abe9fb3 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_028.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_028.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_029.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_029.png
index 9c527e8..9c527e8 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_029.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_029.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_030.png b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_030.png
index 84d2d40..84d2d40 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_done_anim_030.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_done_anim_030.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_000.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_000.png
index 84d2d40..84d2d40 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_000.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_000.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_001.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_001.png
index f604272..f604272 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_001.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_001.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_002.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_002.png
index 99d9b28..99d9b28 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_002.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_002.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_003.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_003.png
index cb5d248..cb5d248 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_003.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_003.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_004.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_004.png
index c297a58..c297a58 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_004.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_004.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_005.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_005.png
index 72aace8..72aace8 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_005.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_005.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_006.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_006.png
index 180d34e..180d34e 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_006.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_006.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_007.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_007.png
index 581baf2..581baf2 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_007.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_007.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_008.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_008.png
index 059fbc9..059fbc9 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_008.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_008.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_009.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_009.png
index cb15f09..cb15f09 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_009.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_009.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_010.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_010.png
index 369919f..369919f 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_010.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_010.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_011.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_011.png
index 337ec63..337ec63 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_011.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_011.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_012.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_012.png
index e9850e4..e9850e4 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_012.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_012.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_013.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_013.png
index 0e45eba..0e45eba 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_013.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_013.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_014.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_014.png
index 6fc754c..6fc754c 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_014.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_014.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_015.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_015.png
index 9bd9e27..9bd9e27 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_015.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_015.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_016.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_016.png
index 08d9dbd..08d9dbd 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_016.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_016.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_017.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_017.png
index 2d594a8..2d594a8 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_017.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_017.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_018.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_018.png
index abc0437..abc0437 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_018.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_018.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_019.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_019.png
index e3f434d..e3f434d 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_019.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_019.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_020.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_020.png
index ef5d60f..ef5d60f 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_020.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_020.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_021.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_021.png
index 01e5ebc..01e5ebc 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_021.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_021.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_022.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_022.png
index 4f78187..4f78187 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_022.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_022.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_023.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_023.png
index 3427a60..3427a60 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_023.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_023.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_024.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_024.png
index 48cee4a..48cee4a 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_024.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_024.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_025.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_025.png
index 4464692..4464692 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_025.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_025.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_026.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_026.png
index dd43d81..dd43d81 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_026.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_026.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_027.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_027.png
index 7a5ee16..7a5ee16 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_027.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_027.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_028.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_028.png
index 5e4863f..5e4863f 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_028.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_028.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_029.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_029.png
index b03b5ce..b03b5ce 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_029.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_029.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_030.png b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_030.png
index 4372596..4372596 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_plus_anim_030.png
+++ b/android/src/main/res/drawable-xxhdpi-v21/ic_plus_anim_030.png
Binary files differ
diff --git a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_ab_close.png b/android/src/main/res/drawable-xxhdpi/ic_ab_close.png
index 319f7af..319f7af 100644
--- a/android/src/lpreview/res/drawable-xxhdpi-v21/ic_ab_close.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_ab_close.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_action_share.png b/android/src/main/res/drawable-xxhdpi/ic_action_share.png
index ea53bb6..343dea6 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_action_share.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_action_share.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_action_social_stream.png b/android/src/main/res/drawable-xxhdpi/ic_action_social_stream.png
index 41f1e04..5334780 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_action_social_stream.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_action_social_stream.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_drawer.png b/android/src/main/res/drawable-xxhdpi/ic_drawer.png
index 26420e5..19bae3e 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_drawer.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_drawer.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_collapse.png b/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_collapse.png
index 71358dc..877de76 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_collapse.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_collapse.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_expand.png b/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_expand.png
index 254eebb..2dad32e 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_expand.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_drawer_accounts_expand.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_drawer_feedback.png b/android/src/main/res/drawable-xxhdpi/ic_drawer_feedback.png
deleted file mode 100644
index 71b5219..0000000
--- a/android/src/main/res/drawable-xxhdpi/ic_drawer_feedback.png
+++ /dev/null
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_drawer_people_met.png b/android/src/main/res/drawable-xxhdpi/ic_drawer_people_met.png
index 7695310..f602193 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_drawer_people_met.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_drawer_people_met.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_drawer_social.png b/android/src/main/res/drawable-xxhdpi/ic_drawer_social.png
index 7932aa1..541c615 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_drawer_social.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_drawer_social.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_launcher.png b/android/src/main/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100755
index 9680dc4..0000000
--- a/android/src/main/res/drawable-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/main/res/drawable-xxhdpi/ic_up.png b/android/src/main/res/drawable-xxhdpi/ic_up.png
index dc2da0b..3396894 100644
--- a/android/src/main/res/drawable-xxhdpi/ic_up.png
+++ b/android/src/main/res/drawable-xxhdpi/ic_up.png
Binary files differ
diff --git a/android/src/main/res/drawable-xxxhdpi/ic_launcher.png b/android/src/main/res/drawable-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 3864db3..0000000
--- a/android/src/main/res/drawable-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/android/src/main/res/layout-sw600dp/activity_map.xml b/android/src/main/res/layout-sw600dp/activity_map.xml
index 2e7ff8a..427032e 100644
--- a/android/src/main/res/layout-sw600dp/activity_map.xml
+++ b/android/src/main/res/layout-sw600dp/activity_map.xml
@@ -16,14 +16,20 @@
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.phone.MapActivity">
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="match_parent">
+ <com.google.samples.apps.iosched.ui.widget.ScrimInsetsFrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/capture_insets_frame_layout"
+ app:insetForeground="@color/translucent_statusbar_background"
+ android:fitsSystemWindows="true">
<FrameLayout
android:id="@+id/fragment_container_map"
@@ -34,9 +40,9 @@
<View android:layout_width="fill_parent"
android:layout_height="fill_parent" />
- <include layout="@layout/toolbar_actionbar_with_translucent_background" />
+ <include layout="@layout/toolbar_actionbar_translucent" />
- </FrameLayout>
+ </com.google.samples.apps.iosched.ui.widget.ScrimInsetsFrameLayout>
<LinearLayout android:id="@+id/map_detail_spacer"
android:visibility="gone"
@@ -46,46 +52,58 @@
android:orientation="horizontal"
android:weightSum="2"
android:gravity="end"
- android:baselineAligned="false">
+ android:baselineAligned="false"
+ android:clipToPadding="false">
- <RelativeLayout android:id="@+id/map_detail_popup"
+ <android.support.v7.widget.CardView android:id="@+id/map_detail_popup"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginLeft="@dimen/multipane_half_padding"
android:layout_marginBottom="@dimen/multipane_half_padding"
android:layout_marginRight="@dimen/map_multipane_right_padding"
- android:background="@drawable/card_bg">
-
- <ImageButton android:id="@+id/close_button"
- android:layout_alignParentTop="true"
- android:layout_alignParentRight="true"
- android:src="@drawable/ic_pane_close"
- android:background="?selectableItemBackgroundBorderless"
- android:layout_width="48dp"
- android:layout_height="@dimen/detail_breadcrumb_height"
- android:contentDescription="@string/close_detail_pane" />
-
- <android.app.FragmentBreadCrumbs android:id="@+id/breadcrumbs"
- android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
- android:layout_toLeftOf="@id/close_button"
- android:paddingLeft="8dp"
- android:layout_height="@dimen/detail_breadcrumb_height"
- android:layout_width="match_parent"
- android:gravity="center_vertical|left" />
+ app:cardBackgroundColor="#fff"
+ app:cardCornerRadius="@dimen/card_corner_radius"
+ app:cardElevation="@dimen/card_elevation"
+ app:cardPreventCornerOverlap="false">
- <FrameLayout android:id="@+id/fragment_container_detail"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_below="@id/breadcrumbs"
+ <RelativeLayout
android:layout_width="match_parent"
- android:layout_height="0dp" />
- </RelativeLayout>
+ android:layout_height="match_parent">
+
+ <ImageButton
+ android:id="@+id/close_button"
+ android:layout_width="48dp"
+ android:layout_height="@dimen/detail_breadcrumb_height"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:background="?selectableItemBackgroundBorderless"
+ android:contentDescription="@string/close_detail_pane"
+ android:src="@drawable/ic_pane_close" />
+
+ <android.app.FragmentBreadCrumbs
+ android:id="@+id/breadcrumbs"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/detail_breadcrumb_height"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentTop="true"
+ android:layout_toLeftOf="@id/close_button"
+ android:gravity="center_vertical|left"
+ android:paddingLeft="8dp" />
+
+ <FrameLayout
+ android:id="@+id/fragment_container_detail"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@id/breadcrumbs" />
+ </RelativeLayout>
+ </android.support.v7.widget.CardView>
</LinearLayout>
<!-- Nav drawer -->
- <include layout="@layout/navdrawer_for_ab_overlay" />
+ <include layout="@layout/navdrawer" />
</android.support.v4.widget.DrawerLayout>
diff --git a/android/src/main/res/layout-sw600dp/activity_welcome.xml b/android/src/main/res/layout-sw600dp/activity_welcome.xml
index 9c314fe..d2e234b 100644
--- a/android/src/main/res/layout-sw600dp/activity_welcome.xml
+++ b/android/src/main/res/layout-sw600dp/activity_welcome.xml
@@ -15,6 +15,7 @@
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
@@ -30,92 +31,98 @@
android:tint="#7000"
android:layout_gravity="center|top" />
- <LinearLayout
+ <android.support.v7.widget.CardView
android:layout_width="500dp"
android:layout_height="wrap_content"
- android:orientation="vertical"
- android:background="@drawable/card_bg"
- android:layout_gravity="center">
+ android:layout_gravity="center"
+ iosched:cardBackgroundColor="#fff"
+ iosched:cardCornerRadius="@dimen/card_corner_radius"
+ iosched:cardElevation="@dimen/card_elevation"
+ iosched:cardPreventCornerOverlap="false">
- <ScrollView
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1">
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <LinearLayout
+ <ScrollView
android:layout_width="match_parent"
- android:paddingLeft="72dp"
- android:paddingRight="72dp"
- android:paddingTop="48dp"
- android:paddingBottom="48dp"
- android:orientation="vertical"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="@dimen/text_size_xlarge"
- android:textColor="@color/theme_primary"
- android:textStyle="@integer/font_textStyle_medium"
- android:fontFamily="@string/font_fontFamily_medium"
- android:text="@string/welcome_to_google_i_o_app" />
+ android:layout_height="0dp"
+ android:layout_weight="1">
- <TextView
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
+ <LinearLayout
android:layout_width="match_parent"
- android:textColor="@color/body_text_2"
- android:autoLink="web"
- android:textSize="@dimen/text_size_medium"
- android:text="@string/welcome_text" />
-
- <TextView
android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:layout_width="match_parent"
- android:textColor="@color/body_text_2"
+ android:orientation="vertical"
+ android:paddingBottom="48dp"
+ android:paddingLeft="72dp"
+ android:paddingRight="72dp"
+ android:paddingTop="48dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:text="@string/welcome_to_google_i_o_app"
+ android:textColor="@color/theme_primary"
+ android:textSize="@dimen/text_size_xlarge"
+ android:textStyle="@integer/font_textStyle_medium" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:autoLink="web"
+ android:text="@string/welcome_text"
+ android:textColor="@color/body_text_2"
+ android:textSize="@dimen/text_size_medium" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:autoLink="web"
+ android:text="@string/eula_legal_text"
+ android:textColor="@color/body_text_2"
+ android:textSize="@dimen/text_size_medium" />
+
+ </LinearLayout>
+ </ScrollView>
+
+ <!-- Button bar -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:layout_gravity="bottom"
+ android:background="@color/theme_primary">
+
+ <Button
+ android:id="@+id/button_decline"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="?photoItemForeground"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:text="@string/decline"
+ android:textAllCaps="true"
+ android:textColor="#8fff"
android:textSize="@dimen/text_size_medium"
- android:autoLink="web"
- android:text="@string/eula_legal_text" />
+ android:textStyle="@integer/font_textStyle_medium" />
+
+ <Button
+ android:id="@+id/button_accept"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="?photoItemForeground"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:text="@string/accept"
+ android:textAllCaps="true"
+ android:textColor="#fff"
+ android:textSize="@dimen/text_size_medium"
+ android:textStyle="@integer/font_textStyle_medium" />
</LinearLayout>
- </ScrollView>
-
- <!-- Button bar -->
- <LinearLayout
- android:layout_height="48dp"
- android:background="@color/theme_primary"
- android:layout_gravity="bottom"
- android:layout_width="match_parent">
-
- <Button
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="match_parent"
- android:background="?photoItemForeground"
- android:text="@string/decline"
- android:textColor="#8fff"
- android:textSize="@dimen/text_size_medium"
- android:textStyle="@integer/font_textStyle_medium"
- android:fontFamily="@string/font_fontFamily_medium"
- android:textAllCaps="true"
- android:id="@+id/button_decline" />
-
- <Button
- android:id="@+id/button_accept"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="match_parent"
- android:background="?photoItemForeground"
- android:text="@string/accept"
- android:textSize="@dimen/text_size_medium"
- android:textStyle="@integer/font_textStyle_medium"
- android:fontFamily="@string/font_fontFamily_medium"
- android:textAllCaps="true"
- android:textColor="#fff" />
-
</LinearLayout>
-
- </LinearLayout>
-
+ </android.support.v7.widget.CardView>
</FrameLayout>
diff --git a/android/src/lpreview/res/layout-v21/include_add_schedule_fab.xml b/android/src/main/res/layout-v21/include_add_schedule_fab.xml
index 591b3ae..591b3ae 100644
--- a/android/src/lpreview/res/layout-v21/include_add_schedule_fab.xml
+++ b/android/src/main/res/layout-v21/include_add_schedule_fab.xml
diff --git a/android/src/main/res/layout/activity_browse_sessions.xml b/android/src/main/res/layout/activity_browse_sessions.xml
index c5f3e62..6d2089a 100644
--- a/android/src/main/res/layout/activity_browse_sessions.xml
+++ b/android/src/main/res/layout/activity_browse_sessions.xml
@@ -20,6 +20,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.BrowseSessionsActivity">
<!-- Main layout -->
@@ -56,11 +57,9 @@
<LinearLayout
android:id="@+id/filters_box"
android:visibility="gone"
- android:layout_marginTop="?actionBarOverlayTopOffset"
android:paddingLeft="?spinnerBarInsetStart"
android:layout_width="match_parent"
android:layout_height="@dimen/filterbar_height"
- android:background="@color/theme_primary"
android:orientation="horizontal">
<Spinner style="@style/Widget.IOSched.HeaderBar.Spinner"
@@ -82,12 +81,12 @@
<FrameLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
- android:layout_marginTop="?android:actionBarSize">
+ android:layout_marginTop="?actionBarSize">
<include layout="@layout/include_butter_bar" />
</FrameLayout>
</com.google.samples.apps.iosched.ui.widget.DrawShadowFrameLayout>
<!-- Nav drawer -->
- <include layout="@layout/navdrawer_for_ab_overlay" />
+ <include layout="@layout/navdrawer" />
</android.support.v4.widget.DrawerLayout>
diff --git a/android/src/main/res/layout/activity_experts_directory.xml b/android/src/main/res/layout/activity_experts_directory.xml
index ffef6a7..6095f23 100644
--- a/android/src/main/res/layout/activity_experts_directory.xml
+++ b/android/src/main/res/layout/activity_experts_directory.xml
@@ -20,6 +20,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.ExpertsDirectoryActivity"
android:layout_height="match_parent">
@@ -49,11 +50,9 @@
<!-- Spinners for additional filters -->
<LinearLayout
android:id="@+id/filters_box"
- android:layout_marginTop="?actionBarOverlayTopOffset"
android:paddingLeft="?spinnerBarInsetStart"
android:layout_width="match_parent"
android:layout_height="@dimen/filterbar_height"
- android:background="@color/theme_primary"
android:orientation="horizontal">
<Spinner style="@style/Widget.IOSched.HeaderBar.Spinner"
@@ -73,6 +72,6 @@
</com.google.samples.apps.iosched.ui.widget.DrawShadowFrameLayout>
<!-- Nav drawer -->
- <include layout="@layout/navdrawer_for_ab_overlay" />
+ <include layout="@layout/navdrawer" />
</android.support.v4.widget.DrawerLayout>
diff --git a/android/src/lpreview/res/layout-v21/toolbar_actionbar.xml b/android/src/main/res/layout/activity_feedback.xml
index 04af731..a19e57e 100644
--- a/android/src/lpreview/res/layout-v21/toolbar_actionbar.xml
+++ b/android/src/main/res/layout/activity_feedback.xml
@@ -14,8 +14,17 @@
limitations under the License.
-->
-<Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
- android:theme="@style/ActionBarThemeOverlay"
- android:id="@+id/toolbar_actionbar"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="?android:actionBarSize" />
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ tools:context=".ui.SessionFeedbackActivity">
+
+ <include layout="@layout/toolbar_actionbar_with_headerbar" />
+
+ <FrameLayout
+ android:id="@+id/root_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+</LinearLayout> \ No newline at end of file
diff --git a/android/src/main/res/layout/activity_map.xml b/android/src/main/res/layout/activity_map.xml
index 4c63eb7..6312b32 100644
--- a/android/src/main/res/layout/activity_map.xml
+++ b/android/src/main/res/layout/activity_map.xml
@@ -15,30 +15,39 @@
-->
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.phone.MapActivity">
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="match_parent">
+ <com.google.samples.apps.iosched.ui.widget.ScrimInsetsFrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/capture_insets_frame_layout"
+ app:insetForeground="@color/translucent_statusbar_background"
+ android:fitsSystemWindows="true">
<!-- Main layout -->
<FrameLayout
- android:id="@+id/main_content"
+ android:id="@+id/fragment_container_map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- <!-- Empty view on top of map to avoid rendering issues with navigation drawer pre-JB -->
- <View android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ <include layout="@layout/toolbar_actionbar_translucent" />
- <include layout="@layout/toolbar_actionbar_with_translucent_background" />
+ <android.support.v7.widget.CardView
+ android:id="@+id/fragment_container_popup"
+ android:visibility="gone"
+ android:clickable="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
- </FrameLayout>
+ </com.google.samples.apps.iosched.ui.widget.ScrimInsetsFrameLayout>
<!-- Nav drawer -->
- <include layout="@layout/navdrawer_for_ab_overlay" />
+ <include layout="@layout/navdrawer" />
</android.support.v4.widget.DrawerLayout>
diff --git a/android/src/main/res/layout/activity_my_schedule_narrow.xml b/android/src/main/res/layout/activity_my_schedule_narrow.xml
index 428bd36..31734cf 100644
--- a/android/src/main/res/layout/activity_my_schedule_narrow.xml
+++ b/android/src/main/res/layout/activity_my_schedule_narrow.xml
@@ -20,6 +20,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.MyScheduleActivity">
<!-- Main layout -->
diff --git a/android/src/main/res/layout/activity_my_schedule_wide.xml b/android/src/main/res/layout/activity_my_schedule_wide.xml
index 35442e2..c8d4c92 100644
--- a/android/src/main/res/layout/activity_my_schedule_wide.xml
+++ b/android/src/main/res/layout/activity_my_schedule_wide.xml
@@ -20,6 +20,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.MyScheduleActivity">
<!-- Main layout -->
diff --git a/android/src/main/res/layout/activity_nearby_eula.xml b/android/src/main/res/layout/activity_nearby_eula.xml
index eb52681..e63ed99 100644
--- a/android/src/main/res/layout/activity_nearby_eula.xml
+++ b/android/src/main/res/layout/activity_nearby_eula.xml
@@ -15,6 +15,7 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
@@ -42,37 +43,46 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="100dp"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
- android:paddingRight="16dp">
+ android:paddingRight="16dp"
+ android:paddingTop="100dp"
+ android:clipToPadding="false">
- <LinearLayout
+ <android.support.v7.widget.CardView
android:layout_width="match_parent"
- android:padding="24dp"
- android:orientation="vertical"
- android:background="@drawable/card_bg"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="@dimen/text_size_xlarge"
- android:textColor="@color/theme_primary"
- android:textStyle="@integer/font_textStyle_medium"
- android:fontFamily="@string/font_fontFamily_medium"
- android:text="@string/physicalweb_intro_title" />
+ android:layout_height="wrap_content"
+ iosched:cardBackgroundColor="#fff"
+ iosched:cardCornerRadius="@dimen/card_corner_radius"
+ iosched:cardElevation="@dimen/card_elevation"
+ iosched:cardPreventCornerOverlap="false">
- <TextView
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
+ <LinearLayout
android:layout_width="match_parent"
- android:textColor="@color/body_text_2"
- android:textSize="@dimen/text_size_medium"
- android:autoLink="web"
- android:text="@string/physicalweb_intro_text" />
-
- </LinearLayout>
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="24dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:text="@string/physicalweb_intro_title"
+ android:textColor="@color/theme_primary"
+ android:textSize="@dimen/text_size_xlarge"
+ android:textStyle="@integer/font_textStyle_medium" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:autoLink="web"
+ android:text="@string/physicalweb_intro_text"
+ android:textColor="@color/body_text_2"
+ android:textSize="@dimen/text_size_medium" />
+
+ </LinearLayout>
+ </android.support.v7.widget.CardView>
</FrameLayout>
</ScrollView>
diff --git a/android/src/main/res/layout/activity_people_ive_met.xml b/android/src/main/res/layout/activity_people_ive_met.xml
index 04bb368..ad8c28a 100644
--- a/android/src/main/res/layout/activity_people_ive_met.xml
+++ b/android/src/main/res/layout/activity_people_ive_met.xml
@@ -22,6 +22,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
tools:context=".ui.PeopleIveMetActivity"
+ android:fitsSystemWindows="true"
android:layout_height="match_parent">
<!-- Main layout -->
diff --git a/android/src/main/res/layout/activity_search.xml b/android/src/main/res/layout/activity_search.xml
index 5275ef4..f46faea 100644
--- a/android/src/main/res/layout/activity_search.xml
+++ b/android/src/main/res/layout/activity_search.xml
@@ -14,9 +14,18 @@
limitations under the License.
-->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.SearchActivity"/>
+ android:orientation="vertical">
+
+ <include layout="@layout/toolbar_actionbar_with_headerbar" />
+
+ <FrameLayout
+ android:id="@+id/fragment_container"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ tools:context=".ui.SearchActivity" />
+</LinearLayout> \ No newline at end of file
diff --git a/android/src/main/res/layout/fragment_session_detail.xml b/android/src/main/res/layout/activity_session_detail.xml
index c4c0764..e1a8207 100644
--- a/android/src/main/res/layout/fragment_session_detail.xml
+++ b/android/src/main/res/layout/activity_session_detail.xml
@@ -13,6 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
+
<com.google.samples.apps.iosched.ui.widget.ObservableScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:iosched="http://schemas.android.com/apk/res-auto"
@@ -33,8 +34,7 @@
<!-- Background photo -->
<FrameLayout android:id="@+id/session_photo_container"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:foreground="@drawable/photo_banner_scrim">
+ android:layout_height="wrap_content">
<ImageView
android:id="@+id/session_photo"
@@ -63,6 +63,7 @@
iosched:button2tag="WATCH_NOW"
iosched:button2emphasis="true"
iosched:emphasisColor="@color/theme_accent_2"
+ iosched:cardBackgroundColor="#fff"
android:layout_marginLeft="@dimen/keyline_2_session_detail"
android:layout_marginBottom="16dp"
android:visibility="gone"
@@ -77,6 +78,7 @@
iosched:button2text="@string/give_feedback"
iosched:button2tag="GIVE_FEEDBACK"
iosched:button2emphasis="true"
+ iosched:cardBackgroundColor="#fff"
android:layout_marginLeft="@dimen/keyline_2_session_detail"
android:layout_marginBottom="16dp"
android:visibility="gone"
@@ -191,9 +193,6 @@
<LinearLayout android:orientation="vertical"
android:id="@+id/links_container"
- android:divider="?android:dividerHorizontal"
- android:showDividers="middle"
- android:dividerPadding="16dp"
android:layout_marginLeft="@dimen/keyline_2_session_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
@@ -212,63 +211,48 @@
</LinearLayout>
<!-- Title/subtitle bar (floating; position determined at run time as the content view scrolls) -->
- <FrameLayout android:layout_width="match_parent"
+ <LinearLayout
+ android:id="@+id/header_session"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
- android:id="@+id/header_session">
+ android:orientation="vertical"
+ android:paddingBottom="16dp">
- <!-- height assigned dynamically -->
- <View android:id="@+id/header_background"
- android:layout_width="match_parent"
- android:layout_height="0dp" />
+ <include layout="@layout/toolbar_actionbar" />
- <LinearLayout
- android:id="@+id/header_session_contents"
+ <!-- Session title -->
+ <TextView android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:orientation="vertical"
- android:paddingLeft="@dimen/keyline_2_session_detail"
- android:paddingTop="16dp"
- android:paddingRight="@dimen/keyline_1"
- android:paddingBottom="16dp"
- android:layout_height="wrap_content">
-
- <!-- Session title -->
- <TextView android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:layout_marginBottom="0dp"
- android:text="@string/placeholder_session_title"
- android:id="@+id/session_title"
- android:maxLines="4"
- android:ellipsize="end"
- android:textSize="@dimen/text_size_large"
- android:lineSpacingMultiplier="1.1"
- android:textStyle="@integer/font_textStyle_medium"
- android:fontFamily="@string/font_fontFamily_medium"
- android:textColor="@color/body_text_1_inverse"
- android:textAlignment="viewStart" />
-
- <!-- Session subtitle -->
- <TextView android:layout_height="wrap_content"
- android:layout_width="match_parent"
- android:text="@string/placeholder_session_subtitle"
- android:id="@+id/session_subtitle"
- android:maxLines="2"
- android:ellipsize="end"
- android:textSize="16sp"
- android:textColor="@color/body_text_2_inverse"
- android:textAlignment="viewStart" />
-
- </LinearLayout>
-
- <View android:id="@+id/header_shadow"
+ android:layout_marginBottom="0dp"
+ android:layout_marginLeft="@dimen/keyline_2_session_detail"
+ android:layout_marginRight="@dimen/keyline_1"
+ android:text="@string/placeholder_session_title"
+ android:id="@+id/session_title"
+ android:maxLines="4"
+ android:ellipsize="end"
+ android:textSize="@dimen/text_size_large"
+ android:lineSpacingMultiplier="1.1"
+ android:textStyle="@integer/font_textStyle_medium"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:textColor="@color/body_text_1_inverse"
+ android:textAlignment="viewStart" />
+
+ <!-- Session subtitle -->
+ <TextView android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:layout_height="6dp"
- android:layout_gravity="bottom"
- android:layout_marginBottom="-6dp"
- android:background="@drawable/bottom_shadow" />
+ android:layout_marginLeft="@dimen/keyline_2_session_detail"
+ android:layout_marginRight="@dimen/keyline_1"
+ android:text="@string/placeholder_session_subtitle"
+ android:id="@+id/session_subtitle"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:textSize="16sp"
+ android:textColor="@color/body_text_2_inverse"
+ android:textAlignment="viewStart" />
- </FrameLayout>
+ </LinearLayout>
<!-- FAB -->
<include layout="@layout/include_add_schedule_fab" />
diff --git a/android/src/main/res/layout/activity_settings.xml b/android/src/main/res/layout/activity_settings.xml
new file mode 100644
index 0000000..26be77d
--- /dev/null
+++ b/android/src/main/res/layout/activity_settings.xml
@@ -0,0 +1,31 @@
+<!--
+ Copyright 2014 Google Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ tools:context=".ui.SettingsActivity">
+
+ <include layout="@layout/toolbar_actionbar_with_headerbar" />
+
+ <FrameLayout
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+</LinearLayout>
diff --git a/android/src/main/res/layout/activity_social.xml b/android/src/main/res/layout/activity_social.xml
index 53f4141..3cb29b0 100644
--- a/android/src/main/res/layout/activity_social.xml
+++ b/android/src/main/res/layout/activity_social.xml
@@ -20,6 +20,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.SocialActivity">
<!-- Main layout -->
diff --git a/android/src/main/res/layout/activity_video_library.xml b/android/src/main/res/layout/activity_video_library.xml
index 3f424d8..7e58d24 100644
--- a/android/src/main/res/layout/activity_video_library.xml
+++ b/android/src/main/res/layout/activity_video_library.xml
@@ -20,6 +20,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
tools:context=".ui.VideoLibraryActivity">
<!-- Main layout -->
@@ -49,11 +50,9 @@
<!-- Spinners for additional filters -->
<LinearLayout
android:id="@+id/filters_box"
- android:layout_marginTop="?actionBarOverlayTopOffset"
android:paddingLeft="?spinnerBarInsetStart"
android:layout_width="match_parent"
android:layout_height="@dimen/filterbar_height"
- android:background="@color/theme_primary"
android:orientation="horizontal">
<Spinner style="@style/Widget.IOSched.HeaderBar.Spinner"
@@ -73,6 +72,6 @@
</com.google.samples.apps.iosched.ui.widget.DrawShadowFrameLayout>
<!-- Nav drawer -->
- <include layout="@layout/navdrawer_for_ab_overlay" />
+ <include layout="@layout/navdrawer" />
</android.support.v4.widget.DrawerLayout>
diff --git a/android/src/main/res/layout/activity_welcome.xml b/android/src/main/res/layout/activity_welcome.xml
index 582c29e..0edeeea 100644
--- a/android/src/main/res/layout/activity_welcome.xml
+++ b/android/src/main/res/layout/activity_welcome.xml
@@ -15,6 +15,7 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
@@ -42,46 +43,55 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="100dp"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
- android:paddingRight="16dp">
+ android:paddingRight="16dp"
+ android:paddingTop="100dp"
+ android:clipToPadding="false">
- <LinearLayout
+ <android.support.v7.widget.CardView
android:layout_width="match_parent"
- android:padding="24dp"
- android:orientation="vertical"
- android:background="@drawable/card_bg"
- android:layout_height="wrap_content">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="@dimen/text_size_xlarge"
- android:textColor="@color/theme_primary"
- android:textStyle="@integer/font_textStyle_medium"
- android:fontFamily="@string/font_fontFamily_medium"
- android:text="@string/welcome_to_google_i_o_app" />
-
- <TextView
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:layout_width="match_parent"
- android:textColor="@color/body_text_2"
- android:autoLink="web"
- android:textSize="@dimen/text_size_medium"
- android:text="@string/welcome_text" />
-
- <TextView
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:layout_width="match_parent"
- android:textColor="@color/body_text_2"
- android:textSize="@dimen/text_size_medium"
- android:autoLink="web"
- android:text="@string/eula_legal_text" />
+ android:layout_height="wrap_content"
+ iosched:cardBackgroundColor="#fff"
+ iosched:cardCornerRadius="@dimen/card_corner_radius"
+ iosched:cardElevation="@dimen/card_elevation"
+ iosched:cardPreventCornerOverlap="false">
- </LinearLayout>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="24dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:text="@string/welcome_to_google_i_o_app"
+ android:textColor="@color/theme_primary"
+ android:textSize="@dimen/text_size_xlarge"
+ android:textStyle="@integer/font_textStyle_medium" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:autoLink="web"
+ android:text="@string/welcome_text"
+ android:textColor="@color/body_text_2"
+ android:textSize="@dimen/text_size_medium" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:autoLink="web"
+ android:text="@string/eula_legal_text"
+ android:textColor="@color/body_text_2"
+ android:textSize="@dimen/text_size_medium" />
+
+ </LinearLayout>
+ </android.support.v7.widget.CardView>
</FrameLayout>
</ScrollView>
diff --git a/android/src/main/res/layout/dialog_about.xml b/android/src/main/res/layout/dialog_about.xml
index c030704..d502ca2 100644
--- a/android/src/main/res/layout/dialog_about.xml
+++ b/android/src/main/res/layout/dialog_about.xml
@@ -18,7 +18,5 @@
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:padding="16dp"
- android:textSize="@dimen/text_size_medium"
- android:background="@android:color/white"
- android:textColor="@android:color/black" />
+ android:padding="24dp"
+ android:textSize="@dimen/text_size_medium" />
diff --git a/android/src/main/res/layout/explore_spinner_item_dropdown.xml b/android/src/main/res/layout/explore_spinner_item_dropdown.xml
index f11c1c8..d81bc6b 100644
--- a/android/src/main/res/layout/explore_spinner_item_dropdown.xml
+++ b/android/src/main/res/layout/explore_spinner_item_dropdown.xml
@@ -39,7 +39,7 @@
android:textColor="@color/body_text_3" />
<TextView
- android:id="@+id/normal_text"
+ android:id="@android:id/text1"
android:layout_height="@dimen/explore_dropdown_item_height"
android:layout_width="match_parent"
android:paddingLeft="16dp"
diff --git a/android/src/main/res/layout/fragment_experts_directory.xml b/android/src/main/res/layout/fragment_experts_directory.xml
index 5d1efc2..63846e9 100644
--- a/android/src/main/res/layout/fragment_experts_directory.xml
+++ b/android/src/main/res/layout/fragment_experts_directory.xml
@@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:iosched="http://schemas.android.com/apk/res-auto"
- android:padding="@dimen/half_explore_grid_padding"
+ android:padding="@dimen/explore_grid_padding_half"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
iosched:internalPadding="@dimen/explore_grid_padding" />
diff --git a/android/src/main/res/layout/fragment_hashtags.xml b/android/src/main/res/layout/fragment_hashtags.xml
index 939e4f9..e482470 100644
--- a/android/src/main/res/layout/fragment_hashtags.xml
+++ b/android/src/main/res/layout/fragment_hashtags.xml
@@ -23,9 +23,11 @@
android:id="@+id/social_collection_vew"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:padding="@dimen/social_grid_padding"
+ android:paddingTop="@dimen/explore_grid_padding"
+ android:paddingLeft="@dimen/explore_grid_padding_half"
+ android:paddingRight="@dimen/explore_grid_padding_half"
+ iosched:internalPadding="@dimen/explore_grid_padding"
android:layout_marginStart="@dimen/social_hz_margin"
android:layout_marginEnd="@dimen/social_hz_margin"
android:clipToPadding="false"
- iosched:internalPadding="@dimen/social_grid_padding"
tools:context="com.google.samples.apps.iosched.ui.HashtagsFragment" />
diff --git a/android/src/main/res/layout/fragment_map.xml b/android/src/main/res/layout/fragment_map.xml
index 6580e3f..b7deaea 100644
--- a/android/src/main/res/layout/fragment_map.xml
+++ b/android/src/main/res/layout/fragment_map.xml
@@ -17,6 +17,4 @@
android:id="@+id/map_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/theme_primary" >
-
-</FrameLayout>
+ android:background="@color/theme_primary" /> \ No newline at end of file
diff --git a/android/src/main/res/layout/fragment_nearby.xml b/android/src/main/res/layout/fragment_nearby.xml
index c40e7db..d5b257b 100644
--- a/android/src/main/res/layout/fragment_nearby.xml
+++ b/android/src/main/res/layout/fragment_nearby.xml
@@ -20,28 +20,28 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <LinearLayout android:id="@+id/headerbar"
+ <FrameLayout android:id="@+id/headerbar"
android:layout_width="match_parent"
- android:layout_height="?android:actionBarSize"
- android:orientation="horizontal"
+ android:layout_height="?actionBarSize"
+ android:elevation="@dimen/headerbar_elevation"
android:background="#e5e5e5">
<ImageButton android:id="@+id/close_button"
- android:layout_width="48dp"
+ android:layout_width="56dp"
android:layout_height="match_parent"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_pane_close"
android:contentDescription="@string/close_detail_pane" />
- <TextView android:layout_width="wrap_content"
+ <TextView android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="4dp"
+ android:layout_marginLeft="@dimen/keyline_2"
android:textSize="@dimen/text_size_large"
android:textColor="@color/body_text_1"
android:gravity="center_vertical"
android:text="@string/map_nearby_button" />
- </LinearLayout>
+ </FrameLayout>
<FrameLayout android:id="@+id/list_container"
android:layout_width="match_parent"
diff --git a/android/src/main/res/layout/fragment_partners.xml b/android/src/main/res/layout/fragment_partners.xml
index 0b70e32..1eef654 100644
--- a/android/src/main/res/layout/fragment_partners.xml
+++ b/android/src/main/res/layout/fragment_partners.xml
@@ -21,14 +21,15 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <LinearLayout android:id="@+id/headerbar"
+ <FrameLayout android:id="@+id/headerbar"
android:layout_width="match_parent"
- android:layout_height="?android:actionBarSize"
+ android:layout_height="?actionBarSize"
+ android:elevation="@dimen/headerbar_elevation"
android:orientation="horizontal"
android:background="#e5e5e5">
<ImageButton android:id="@+id/close_button"
- android:layout_width="48dp"
+ android:layout_width="56dp"
android:layout_height="match_parent"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_pane_close"
@@ -36,13 +37,13 @@
<TextView android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:layout_marginLeft="4dp"
+ android:layout_marginLeft="@dimen/keyline_2"
android:textSize="@dimen/text_size_large"
android:textColor="@color/body_text_1"
android:gravity="center_vertical"
android:text="@string/partners" />
- </LinearLayout>
+ </FrameLayout>
<FrameLayout android:layout_width="match_parent"
android:layout_height="0dp"
@@ -53,8 +54,8 @@
android:id="@+id/collection_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingLeft="@dimen/half_explore_grid_padding"
- android:paddingRight="@dimen/half_explore_grid_padding"
+ android:paddingLeft="@dimen/explore_grid_padding_half"
+ android:paddingRight="@dimen/explore_grid_padding_half"
android:paddingTop="@dimen/explore_grid_padding"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
diff --git a/android/src/main/res/layout/fragment_session_feedback.xml b/android/src/main/res/layout/fragment_session_feedback.xml
index 13642d7..8177731 100644
--- a/android/src/main/res/layout/fragment_session_feedback.xml
+++ b/android/src/main/res/layout/fragment_session_feedback.xml
@@ -19,7 +19,8 @@
android:id="@+id/scroll_view"
android:orientation="vertical"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
diff --git a/android/src/main/res/layout/fragment_sessions.xml b/android/src/main/res/layout/fragment_sessions.xml
index 84507fc..ffb781c 100644
--- a/android/src/main/res/layout/fragment_sessions.xml
+++ b/android/src/main/res/layout/fragment_sessions.xml
@@ -22,7 +22,7 @@
android:id="@+id/sessions_collection_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:padding="@dimen/half_explore_grid_padding"
+ android:padding="@dimen/explore_grid_padding_half"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"
iosched:internalPadding="@dimen/explore_grid_padding" />
@@ -30,7 +30,7 @@
<ProgressBar
android:id="@+id/loading"
android:visibility="gone"
- android:paddingTop="?android:actionBarSize"
+ android:paddingTop="?actionBarSize"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -39,7 +39,7 @@
<TextView
android:id="@+id/empty_text"
android:visibility="gone"
- android:paddingTop="?android:actionBarSize"
+ android:paddingTop="?actionBarSize"
android:layout_gravity="center"
android:gravity="center"
android:layout_width="match_parent"
diff --git a/android/src/main/res/layout/fragment_video_library.xml b/android/src/main/res/layout/fragment_video_library.xml
index a596f1c..95e8a9f 100644
--- a/android/src/main/res/layout/fragment_video_library.xml
+++ b/android/src/main/res/layout/fragment_video_library.xml
@@ -25,9 +25,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
- android:paddingLeft="@dimen/explore_grid_padding"
- android:paddingRight="@dimen/explore_grid_padding"
- android:paddingBottom="@dimen/explore_grid_padding"
+ android:paddingTop="@dimen/explore_grid_padding"
+ android:paddingLeft="@dimen/explore_grid_padding_half"
+ android:paddingRight="@dimen/explore_grid_padding_half"
iosched:internalPadding="@dimen/explore_grid_padding" />
<!-- Empty view -->
@@ -40,7 +40,7 @@
android:textSize="@dimen/text_size_medium"
android:textColor="@color/body_text_2"
android:text="@string/no_matching_videos"
- android:paddingTop="?android:actionBarSize" />
+ android:paddingTop="?actionBarSize" />
</FrameLayout>
diff --git a/android/src/main/res/layout/header_experts_directory.xml b/android/src/main/res/layout/header_experts_directory.xml
index f655a68..56bbea9 100644
--- a/android/src/main/res/layout/header_experts_directory.xml
+++ b/android/src/main/res/layout/header_experts_directory.xml
@@ -33,5 +33,6 @@
iosched:messageTitle="@string/experts_directory_header_title"
iosched:messageText="@string/experts_directory_header_body"
iosched:button1text="@string/experts_directory_header_dismiss"
- iosched:button1emphasis="true" />
+ iosched:button1emphasis="true"
+ iosched:cardBackgroundColor="#fff" />
</FrameLayout>
diff --git a/android/src/main/res/layout/include_link_row.xml b/android/src/main/res/layout/include_link_row.xml
index 19c837e..4c4255d 100644
--- a/android/src/main/res/layout/include_link_row.xml
+++ b/android/src/main/res/layout/include_link_row.xml
@@ -17,7 +17,4 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:showDividers="middle"
- android:divider="?android:dividerVertical"
- android:dividerPadding="8dp" />
+ android:layout_height="wrap_content" />
diff --git a/android/src/main/res/layout/list_item_session.xml b/android/src/main/res/layout/list_item_session.xml
index ad10d4f..19b5d30 100644
--- a/android/src/main/res/layout/list_item_session.xml
+++ b/android/src/main/res/layout/list_item_session.xml
@@ -17,71 +17,53 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="300dp"
- android:id="@+id/session_target"
- android:foreground="?photoItemForeground">
+ android:foreground="?photoItemForeground"
+ android:id="@+id/session_target">
- <!-- Session info -->
- <LinearLayout
- android:orientation="vertical"
+ <!-- Session image -->
+ <ImageView android:id="@+id/session_photo_colored"
android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <!-- Session image -->
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1">
-
- <ImageView android:id="@+id/session_photo"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scaleType="centerCrop" />
+ android:layout_height="match_parent" />
- <!-- Live Now indicator -->
- <include layout="@layout/include_live_now_badge" />
-
- <!-- Session category/group if non-default (e.g. "Workshop") -->
- <TextView android:id="@+id/session_category"
- style="@style/ExploreItem.Category"
- android:padding="16dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
+ <!-- Session category/group if non-default (e.g. "Workshop") -->
+ <TextView android:id="@+id/session_category"
+ style="@style/ExploreItem.Category"
+ android:padding="16dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
- </FrameLayout>
+ <!-- Info box -->
+ <LinearLayout
+ android:id="@+id/info_box"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom"
+ android:padding="16dp"
+ android:orientation="vertical">
- <!-- Info box -->
- <LinearLayout
- android:id="@+id/info_box"
+ <!-- Session title -->
+ <TextView android:id="@+id/session_title"
+ style="@style/ExploreItem.Title"
android:layout_width="match_parent"
- android:layout_height="120dp"
- android:gravity="center"
- android:padding="16dp"
- android:orientation="vertical"
- android:background="@color/theme_primary">
-
- <!-- Session title -->
- <TextView android:id="@+id/session_title"
- style="@style/ExploreItem.Title"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/placeholder_session_title" />
+ android:layout_height="wrap_content"
+ android:text="@string/placeholder_session_title" />
- <!-- Subtitle -->
- <TextView android:id="@+id/session_subtitle"
- style="@style/ExploreItem.Subtitle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingBottom="8dp"
- android:text="@string/placeholder_session_subtitle" />
+ <!-- Subtitle -->
+ <TextView android:id="@+id/session_subtitle_short"
+ style="@style/ExploreItem.Subtitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="8dp"
+ android:text="@string/placeholder_session_subtitle" />
- <!-- Abstract snippet -->
- <TextView android:id="@+id/session_snippet"
- style="@style/ExploreItem.Snippet"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:maxLines="3"
- android:text="@string/placeholder_lorem_ipsum" />
+ <!-- Abstract snippet -->
+ <TextView android:id="@+id/session_snippet"
+ style="@style/ExploreItem.Snippet"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="5"
+ android:text="@string/placeholder_lorem_ipsum" />
- </LinearLayout>
</LinearLayout>
<!-- "In schedule" indicator -->
@@ -92,4 +74,6 @@
android:src="@drawable/indicator_in_schedule"
android:contentDescription="@null" />
+ <!-- Live Now indicator -->
+ <include layout="@layout/include_live_now_badge" />
</FrameLayout>
diff --git a/android/src/main/res/layout/list_item_session_hero_narrow.xml b/android/src/main/res/layout/list_item_session_hero_narrow.xml
index c5b9cff..2912c96 100644
--- a/android/src/main/res/layout/list_item_session_hero_narrow.xml
+++ b/android/src/main/res/layout/list_item_session_hero_narrow.xml
@@ -23,6 +23,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
@@ -99,6 +100,7 @@
android:layout_marginBottom="8dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
+ iosched:cardBackgroundColor="#fff"
android:visibility="visible"
android:layout_height="wrap_content"
/>
diff --git a/android/src/main/res/layout/list_item_session_hero_wide.xml b/android/src/main/res/layout/list_item_session_hero_wide.xml
index cbd2a4d..be1d337 100644
--- a/android/src/main/res/layout/list_item_session_hero_wide.xml
+++ b/android/src/main/res/layout/list_item_session_hero_wide.xml
@@ -21,6 +21,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
@@ -110,6 +111,7 @@
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
+ iosched:cardBackgroundColor="#fff"
/>
</FrameLayout>
</FrameLayout>
diff --git a/android/src/main/res/layout/message_card.xml b/android/src/main/res/layout/message_card.xml
index 9a494c1..c7f70a1 100644
--- a/android/src/main/res/layout/message_card.xml
+++ b/android/src/main/res/layout/message_card.xml
@@ -19,8 +19,7 @@
android:id="@+id/card_root"
android:orientation="vertical"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@drawable/card_bg">
+ android:layout_height="match_parent">
<TextView
android:id="@+id/title"
@@ -91,4 +90,4 @@
</LinearLayout>
-</LinearLayout>
+</LinearLayout> \ No newline at end of file
diff --git a/android/src/main/res/layout/my_schedule_item.xml b/android/src/main/res/layout/my_schedule_item.xml
index b09d0d1..c39991d 100644
--- a/android/src/main/res/layout/my_schedule_item.xml
+++ b/android/src/main/res/layout/my_schedule_item.xml
@@ -115,6 +115,5 @@
android:scaleType="center"
android:src="@drawable/ic_schedule_feedback"
android:background="?photoItemForeground" />
-
- </FrameLayout>
+ </FrameLayout>
</LinearLayout>
diff --git a/android/src/main/res/layout/navdrawer.xml b/android/src/main/res/layout/navdrawer.xml
index 0d7027b..f05fe26 100644
--- a/android/src/main/res/layout/navdrawer.xml
+++ b/android/src/main/res/layout/navdrawer.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2014 Google Inc. All rights reserved.
@@ -15,19 +14,114 @@
limitations under the License.
-->
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+<com.google.samples.apps.iosched.ui.widget.ScrimInsetsScrollView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/navdrawer_width"
android:layout_height="match_parent"
- android:id="@+id/navdrawer"
android:layout_gravity="start"
- android:background="@color/navdrawer_background">
+ android:id="@+id/navdrawer"
+ android:background="@color/navdrawer_background"
+ android:fitsSystemWindows="true"
+ app:insetForeground="#4000">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
- <include layout="@layout/navdrawer_content" />
+ <FrameLayout
+ android:id="@+id/chosen_account_view"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/navdrawer_chosen_account_height"
+ android:foreground="?photoItemForeground">
+
+ <ImageView android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scaleType="centerCrop"
+ android:src="@drawable/default_cover"
+ android:tint="@color/session_photo_scrim"
+ android:id="@+id/profile_cover_image" />
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="@dimen/keyline_1"
+ android:paddingRight="@dimen/keyline_1"
+ android:paddingTop="@dimen/keyline_1"
+ android:id="@+id/chosen_account_content_view">
+
+ <com.google.samples.apps.iosched.ui.widget.BezelImageView
+ android:id="@+id/profile_image"
+ android:layout_width="@dimen/navdrawer_profile_image_size"
+ android:layout_height="@dimen/navdrawer_profile_image_size"
+ android:src="@drawable/person_image_empty"
+ android:scaleType="centerCrop"
+ app:maskDrawable="@drawable/circle_mask" />
+
+ <ImageView
+ android:id="@+id/expand_account_box_indicator"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:visibility="gone"
+ android:layout_marginLeft="16dp"
+ android:paddingBottom="16dp"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentBottom="true"
+ android:scaleType="center"
+ android:src="@drawable/ic_drawer_accounts_expand" />
+
+ <TextView
+ android:id="@+id/profile_email_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignLeft="@id/profile_image"
+ android:layout_toLeftOf="@id/expand_account_box_indicator"
+ android:layout_alignParentBottom="true"
+ android:paddingBottom="16dp"
+ android:textSize="@dimen/text_size_medium"
+ android:textColor="@color/body_text_2_inverse"
+ android:maxLines="1"
+ android:singleLine="true"
+ android:ellipsize="end" />
+
+ <TextView
+ android:id="@+id/profile_name_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@id/profile_email_text"
+ android:layout_alignLeft="@id/profile_image"
+ android:layout_toLeftOf="@id/expand_account_box_indicator"
+ android:textSize="@dimen/text_size_large"
+ android:textColor="@color/body_text_1_inverse"
+ android:maxLines="1"
+ android:singleLine="true"
+ android:ellipsize="end" />
+
+ </RelativeLayout>
+
+ </FrameLayout>
+
+ <FrameLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <!-- Account items -->
+ <LinearLayout
+ android:id="@+id/account_list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:orientation="vertical"
+ android:visibility="invisible" />
+ <!-- Drawer items -->
+ <LinearLayout
+ android:id="@+id/navdrawer_items_list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:orientation="vertical" />
+ </FrameLayout>
</LinearLayout>
-</ScrollView>
+</com.google.samples.apps.iosched.ui.widget.ScrimInsetsScrollView> \ No newline at end of file
diff --git a/android/src/main/res/layout/navdrawer_content.xml b/android/src/main/res/layout/navdrawer_content.xml
deleted file mode 100644
index ddba93d..0000000
--- a/android/src/main/res/layout/navdrawer_content.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<!--
- Copyright 2014 Google Inc. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:iosched="http://schemas.android.com/apk/res-auto">
-
- <FrameLayout
- android:id="@+id/chosen_account_view"
- android:layout_width="match_parent"
- android:layout_height="@dimen/navdrawer_chosen_account_height"
- android:foreground="?photoItemForeground">
-
- <ImageView android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scaleType="centerCrop"
- android:src="@drawable/default_cover"
- android:tint="@color/session_photo_scrim"
- android:id="@+id/profile_cover_image" />
-
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="@dimen/keyline_1"
- android:paddingRight="@dimen/keyline_1"
- android:paddingTop="@dimen/keyline_1">
-
- <com.google.samples.apps.iosched.ui.widget.BezelImageView
- android:id="@+id/profile_image"
- android:layout_width="@dimen/navdrawer_profile_image_size"
- android:layout_height="@dimen/navdrawer_profile_image_size"
- android:src="@drawable/person_image_empty"
- android:scaleType="centerCrop"
- iosched:maskDrawable="@drawable/circle_mask" />
-
- <ImageView
- android:id="@+id/expand_account_box_indicator"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:visibility="gone"
- android:layout_marginLeft="16dp"
- android:paddingBottom="16dp"
- android:layout_alignParentEnd="true"
- android:layout_alignParentBottom="true"
- android:scaleType="center"
- android:src="@drawable/ic_drawer_accounts_expand" />
-
- <TextView
- android:id="@+id/profile_email_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignLeft="@id/profile_image"
- android:layout_toLeftOf="@id/expand_account_box_indicator"
- android:layout_alignParentBottom="true"
- android:paddingBottom="16dp"
- android:textSize="@dimen/text_size_medium"
- android:textColor="@color/body_text_1_inverse"
- android:maxLines="1"
- android:singleLine="true"
- android:ellipsize="end" />
-
- <TextView
- android:id="@+id/profile_name_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_above="@id/profile_email_text"
- android:layout_alignLeft="@id/profile_image"
- android:layout_toLeftOf="@id/expand_account_box_indicator"
- android:textSize="@dimen/text_size_large"
- android:textStyle="bold"
- android:textColor="@color/body_text_1_inverse"
- android:maxLines="1"
- android:singleLine="true"
- android:ellipsize="end" />
-
- </RelativeLayout>
-
- </FrameLayout>
-
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <!-- Account items -->
- <LinearLayout
- android:id="@+id/account_list"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:orientation="vertical"
- android:visibility="invisible" />
-
- <!-- Drawer items -->
- <LinearLayout
- android:id="@+id/navdrawer_items_list"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginBottom="8dp"
- android:orientation="vertical" />
- </FrameLayout>
-</merge>
diff --git a/android/src/main/res/layout/navdrawer_for_ab_overlay.xml b/android/src/main/res/layout/navdrawer_for_ab_overlay.xml
deleted file mode 100644
index 1b7a090..0000000
--- a/android/src/main/res/layout/navdrawer_for_ab_overlay.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright 2014 Google Inc. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="@dimen/navdrawer_width"
- android:layout_height="match_parent"
- android:id="@+id/navdrawer"
- android:layout_gravity="start"
- android:background="@color/navdrawer_background"
- android:paddingTop="?actionBarOverlayTopOffset"
- android:clipToPadding="false">
-
- <LinearLayout android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <include layout="@layout/navdrawer_content" />
-
- </LinearLayout>
-
-</ScrollView>
diff --git a/android/src/main/res/layout/navdrawer_item.xml b/android/src/main/res/layout/navdrawer_item.xml
index a734953..bda2962 100644
--- a/android/src/main/res/layout/navdrawer_item.xml
+++ b/android/src/main/res/layout/navdrawer_item.xml
@@ -33,11 +33,11 @@
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:gravity="start|center_vertical"
android:layout_gravity="start|center_vertical"
+ android:gravity="start|center_vertical"
+ android:fontFamily="@string/font_fontFamily_medium"
+ android:textStyle="@integer/font_textStyle_medium"
android:textSize="14sp"
- android:textStyle="@integer/font_textStyle_drawer_item"
- android:fontFamily="@string/font_fontFamily_drawer_item"
android:text="@string/placeholder_lorem_ipsum" />
</LinearLayout>
diff --git a/android/src/main/res/layout/nearby_button.xml b/android/src/main/res/layout/nearby_button.xml
index 20baf93..4965c5b 100644
--- a/android/src/main/res/layout/nearby_button.xml
+++ b/android/src/main/res/layout/nearby_button.xml
@@ -32,6 +32,7 @@
android:textStyle="@integer/font_textStyle_medium"
android:fontFamily="@string/font_fontFamily_medium"
android:textAllCaps="true"
+ android:stateListAnimator="@null"
android:background="@drawable/nearby_button_background"
android:textColor="@color/body_text_1_inverse"/>
diff --git a/android/src/main/res/layout/toolbar_actionbar.xml b/android/src/main/res/layout/toolbar_actionbar.xml
index 57d3173..7717e34 100644
--- a/android/src/main/res/layout/toolbar_actionbar.xml
+++ b/android/src/main/res/layout/toolbar_actionbar.xml
@@ -14,6 +14,13 @@
limitations under the License.
-->
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="0dp"
- android:layout_height="0dp" />
+<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
+ iosched:theme="@style/ActionBarThemeOverlay"
+ iosched:popupTheme="@style/ActionBarPopupThemeOverlay"
+ android:id="@+id/toolbar_actionbar"
+ android:background="@null"
+ iosched:titleTextAppearance="@style/ActionBar.TitleText"
+ iosched:contentInsetStart="?actionBarInsetStart"
+ android:layout_width="match_parent"
+ android:layout_height="?actionBarSize" />
diff --git a/android/src/lpreview/res/layout-v21/toolbar_actionbar_with_translucent_background.xml b/android/src/main/res/layout/toolbar_actionbar_translucent.xml
index aca3d8e..5861831 100644
--- a/android/src/lpreview/res/layout-v21/toolbar_actionbar_with_translucent_background.xml
+++ b/android/src/main/res/layout/toolbar_actionbar_translucent.xml
@@ -14,9 +14,13 @@
limitations under the License.
-->
-<Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
- android:theme="@style/ActionBarThemeOverlay"
- android:background="@color/translucent_actionbar_background"
+<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
+ iosched:theme="@style/ActionBarThemeOverlay"
+ iosched:popupTheme="@style/ActionBarPopupThemeOverlay"
android:id="@+id/toolbar_actionbar"
+ android:background="@color/translucent_actionbar_background"
+ iosched:titleTextAppearance="@style/ActionBar.TitleText"
+ iosched:contentInsetStart="?actionBarInsetStart"
android:layout_width="match_parent"
- android:layout_height="?android:actionBarSize" />
+ android:layout_height="?actionBarSize" />
diff --git a/android/src/lpreview/res/layout-v21/toolbar_actionbar_with_headerbar.xml b/android/src/main/res/layout/toolbar_actionbar_with_headerbar.xml
index 47c3296..578aea0 100644
--- a/android/src/lpreview/res/layout-v21/toolbar_actionbar_with_headerbar.xml
+++ b/android/src/main/res/layout/toolbar_actionbar_with_headerbar.xml
@@ -14,9 +14,13 @@
limitations under the License.
-->
-<Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto"
style="@style/HeaderBar"
- android:theme="@style/ActionBarThemeOverlay"
+ iosched:theme="@style/ActionBarThemeOverlay"
+ iosched:popupTheme="@style/ActionBarPopupThemeOverlay"
android:id="@+id/toolbar_actionbar"
+ iosched:titleTextAppearance="@style/ActionBar.TitleText"
+ iosched:contentInsetStart="?actionBarInsetStart"
android:layout_width="match_parent"
- android:layout_height="?android:actionBarSize" />
+ android:layout_height="?actionBarSize" />
diff --git a/android/src/main/res/layout/video_library_spinner_item_dropdown.xml b/android/src/main/res/layout/video_library_spinner_item_dropdown.xml
new file mode 100644
index 0000000..d1b38d0
--- /dev/null
+++ b/android/src/main/res/layout/video_library_spinner_item_dropdown.xml
@@ -0,0 +1,32 @@
+<!--
+ Copyright 2014 Google Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <TextView
+ android:id="@android:id/text1"
+ android:layout_height="@dimen/explore_dropdown_item_height"
+ android:layout_width="match_parent"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:drawablePadding="8dp"
+ android:gravity="center_vertical|start"
+ android:textSize="16sp"
+ android:textColor="@color/list_dropdown_foreground_color" />
+</LinearLayout>
diff --git a/android/src/main/res/menu/browse_sessions.xml b/android/src/main/res/menu/browse_sessions.xml
index 5185805..82b0f70 100644
--- a/android/src/main/res/menu/browse_sessions.xml
+++ b/android/src/main/res/menu/browse_sessions.xml
@@ -13,50 +13,51 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_search"
android:icon="@drawable/ic_action_search"
- android:title="@string/description_search"
android:orderInCategory="1"
- android:showAsAction="always" />
+ android:title="@string/description_search"
+ iosched:showAsAction="always" />
<item android:id="@+id/menu_refresh"
- android:title="@string/description_refresh"
android:orderInCategory="1"
- android:showAsAction="never" />
+ android:title="@string/description_refresh"
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_wifi"
- android:title="@string/description_configure_wifi"
android:orderInCategory="98"
- android:showAsAction="never" />
+ android:title="@string/description_configure_wifi"
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_i_o_hunt"
- android:title="@string/description_i_o_hunt"
android:orderInCategory="99"
- android:showAsAction="never" />
+ android:title="@string/description_i_o_hunt"
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_io_extended"
- android:visible="false"
- android:title="@string/description_i_o_extended"
android:orderInCategory="99"
- android:showAsAction="never" />
+ android:title="@string/description_i_o_extended"
+ android:visible="false"
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_map"
- android:visible="false"
- android:title="@string/description_map"
android:orderInCategory="100"
- android:showAsAction="never" />
+ android:title="@string/description_map"
+ android:visible="false"
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_debug"
- android:visible="false"
- android:title="@string/description_debug"
android:orderInCategory="101"
- android:showAsAction="never" />
+ android:title="@string/description_debug"
+ android:visible="false"
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_about"
- android:title="@string/description_about"
android:orderInCategory="99"
- android:showAsAction="never" />
+ android:title="@string/description_about"
+ iosched:showAsAction="never" />
</menu>
diff --git a/android/src/main/res/menu/my_schedule.xml b/android/src/main/res/menu/my_schedule.xml
index 23707a0..0f9463a 100644
--- a/android/src/main/res/menu/my_schedule.xml
+++ b/android/src/main/res/menu/my_schedule.xml
@@ -13,49 +13,50 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_search"
android:icon="@drawable/ic_action_search"
android:title="@string/description_search"
android:orderInCategory="1"
- android:showAsAction="always" />
+ iosched:showAsAction="always" />
<item android:id="@+id/menu_refresh"
android:title="@string/description_refresh"
android:orderInCategory="1"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_wifi"
android:title="@string/description_configure_wifi"
android:orderInCategory="98"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_i_o_hunt"
android:title="@string/description_i_o_hunt"
android:orderInCategory="99"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_io_extended"
android:visible="false"
android:title="@string/description_i_o_extended"
android:orderInCategory="99"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_map"
android:visible="false"
android:title="@string/description_map"
android:orderInCategory="100"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_debug"
android:visible="false"
android:title="@string/description_debug"
android:orderInCategory="101"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
<item android:id="@+id/menu_about"
android:title="@string/description_about"
android:orderInCategory="99"
- android:showAsAction="never" />
+ iosched:showAsAction="never" />
</menu>
diff --git a/android/src/main/res/menu/nearby.xml b/android/src/main/res/menu/nearby.xml
index 256d9d7..247e692 100644
--- a/android/src/main/res/menu/nearby.xml
+++ b/android/src/main/res/menu/nearby.xml
@@ -1,5 +1,3 @@
-<?xml version="1.0" encoding="utf-8"?>
-
<!--
Copyright 2014 Google Inc. All rights reserved.
@@ -16,10 +14,11 @@
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_nearby"
android:title="@string/map_nearby_button"
android:orderInCategory="1"
- android:showAsAction="ifRoom"
- android:actionLayout="@layout/nearby_button" />
+ iosched:showAsAction="ifRoom"
+ iosched:actionLayout="@layout/nearby_button" />
</menu>
diff --git a/android/src/main/res/menu/search.xml b/android/src/main/res/menu/search.xml
index e473f9a..6b41dbe 100644
--- a/android/src/main/res/menu/search.xml
+++ b/android/src/main/res/menu/search.xml
@@ -13,11 +13,12 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_search"
android:icon="@drawable/ic_action_search"
android:title="@string/description_search"
android:orderInCategory="0"
- android:actionViewClass="android.widget.SearchView"
- android:showAsAction="always" />
+ iosched:actionViewClass="android.support.v7.widget.SearchView"
+ iosched:showAsAction="always" />
</menu>
diff --git a/android/src/main/res/menu/session_detail.xml b/android/src/main/res/menu/session_detail.xml
index 224f894..8cef605 100644
--- a/android/src/main/res/menu/session_detail.xml
+++ b/android/src/main/res/menu/session_detail.xml
@@ -13,21 +13,22 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_map_room"
android:icon="@drawable/ic_action_map"
android:title="@string/description_map"
android:orderInCategory="1"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_share"
android:icon="@drawable/ic_action_share"
android:title="@string/description_share"
android:orderInCategory="1"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_social_stream"
android:icon="@drawable/ic_action_social_stream"
android:title="@string/description_social_stream"
android:orderInCategory="1"
android:visible="false"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
</menu>
diff --git a/android/src/main/res/menu/session_livestream.xml b/android/src/main/res/menu/session_livestream.xml
index 4ea44ed..9bf002e 100644
--- a/android/src/main/res/menu/session_livestream.xml
+++ b/android/src/main/res/menu/session_livestream.xml
@@ -13,26 +13,27 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_presentation"
android:icon="@drawable/ic_media_route_off_holo_light"
android:title="@string/description_presentation"
android:orderInCategory="1"
android:visible="false"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_captions"
android:icon="@drawable/ic_action_captions"
android:title="@string/description_captions"
android:orderInCategory="1"
android:visible="false"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_share"
android:icon="@drawable/ic_action_share"
android:title="@string/description_share"
android:orderInCategory="1"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
</menu>
diff --git a/android/src/main/res/menu/sessions_context.xml b/android/src/main/res/menu/sessions_context.xml
index 53ea059..88da537 100644
--- a/android/src/main/res/menu/sessions_context.xml
+++ b/android/src/main/res/menu/sessions_context.xml
@@ -13,25 +13,26 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:iosched="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_star"
android:icon="@drawable/ic_action_add_schedule"
android:title="@string/description_add_schedule"
android:orderInCategory="1"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_map_room"
android:icon="@drawable/ic_action_map"
android:title="@string/description_map"
android:orderInCategory="2"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_share"
android:icon="@drawable/ic_action_share"
android:title="@string/description_share"
android:orderInCategory="3"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
<item android:id="@+id/menu_social_stream"
android:icon="@drawable/ic_action_social_stream"
android:title="@string/description_social_stream"
android:orderInCategory="3"
- android:showAsAction="ifRoom" />
+ iosched:showAsAction="ifRoom" />
</menu>
diff --git a/android/src/main/res/mipmap-hdpi/ic_launcher.png b/android/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..494089c
--- /dev/null
+++ b/android/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/android/src/main/res/mipmap-mdpi/ic_launcher.png b/android/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..09a8ae6
--- /dev/null
+++ b/android/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/android/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..8f2bd09
--- /dev/null
+++ b/android/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/android/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..ec08ac7
--- /dev/null
+++ b/android/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..6d13883
--- /dev/null
+++ b/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/android/src/lpreview/res/transition-v21/shared_element.xml b/android/src/main/res/transition-v21/shared_element.xml
index 6d7b28c..6d7b28c 100644
--- a/android/src/lpreview/res/transition-v21/shared_element.xml
+++ b/android/src/main/res/transition-v21/shared_element.xml
diff --git a/android/src/lpreview/res/transition-v21/window_enter_exit.xml b/android/src/main/res/transition-v21/window_enter_exit.xml
index e299a0c..e299a0c 100644
--- a/android/src/lpreview/res/transition-v21/window_enter_exit.xml
+++ b/android/src/main/res/transition-v21/window_enter_exit.xml
diff --git a/android/src/main/res/values-sw360dp/dimens.xml b/android/src/main/res/values-sw360dp/dimens.xml
index 9cb8340..880cdef 100644
--- a/android/src/main/res/values-sw360dp/dimens.xml
+++ b/android/src/main/res/values-sw360dp/dimens.xml
@@ -18,4 +18,8 @@
<!-- Live Stream -->
<dimen name="livestream_spinner_width">240dp</dimen>
+ <dimen name="navdrawer_chosen_account_height">164dp</dimen>
+ <dimen name="navdrawer_width">304dp</dimen>
+ <dimen name="navdrawer_profile_image_size">64dp</dimen>
+
</resources>
diff --git a/android/src/lpreview/res/values-v21/attrs.xml b/android/src/main/res/values-sw600dp-v21/styles.xml
index 6661e6a..934a527 100644
--- a/android/src/lpreview/res/values-v21/attrs.xml
+++ b/android/src/main/res/values-sw600dp-v21/styles.xml
@@ -15,7 +15,12 @@
-->
<resources>
- <declare-styleable name="ThemeLPreview">
- <attr name="actionBarIconColor" format="color" />
- </declare-styleable>
+
+ <style name="Theme.IOSched.SessionDetails" parent="Theme.IOSched.SessionDetails.Base">
+ <item name="android:windowBackground">@android:color/white</item>
+ <item name="android:windowFullscreen">true</item>
+
+ <item name="android:windowElevation">16dp</item>
+ </style>
+
</resources>
diff --git a/android/src/main/res/values-sw600dp/dimens.xml b/android/src/main/res/values-sw600dp/dimens.xml
index f2b9883..25434d0 100644
--- a/android/src/main/res/values-sw600dp/dimens.xml
+++ b/android/src/main/res/values-sw600dp/dimens.xml
@@ -21,8 +21,6 @@
<dimen name="add_to_schedule_button_height">72dp</dimen> <!-- including padding -->
<dimen name="add_to_schedule_button_height_no_padding">56dp</dimen>
- <dimen name="navdrawer_chosen_account_height">140dp</dimen>
-
<dimen name="filter_spinner_width">200dp</dimen>
<integer name="filter_spinner_weight">0</integer>
diff --git a/android/src/main/res/values-sw600dp/styles.xml b/android/src/main/res/values-sw600dp/styles.xml
index 4966da1..d5a4d6d 100644
--- a/android/src/main/res/values-sw600dp/styles.xml
+++ b/android/src/main/res/values-sw600dp/styles.xml
@@ -28,4 +28,6 @@
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
+ <style name="Theme.IOSched.SessionDetails" parent="Theme.IOSched.SessionDetails.Base" />
+
</resources>
diff --git a/android/src/main/res/values-v17/styles.xml b/android/src/main/res/values-v17/styles.xml
index fe3e0e3..d6e7971 100644
--- a/android/src/main/res/values-v17/styles.xml
+++ b/android/src/main/res/values-v17/styles.xml
@@ -18,7 +18,7 @@
<!-- Enable RTL support on newer devices -->
<!-- Prevents crash on certain devices to namespace conflict -->
- <style name="FrameworkRoot.Theme" parent="android:Theme.Holo.Light.DarkActionBar">
+ <style name="FrameworkRoot.Theme" parent="Theme.AppCompat.Light">
<item name="android:paddingStart">?android:attr/paddingLeft</item>
<item name="android:paddingEnd">?android:attr/paddingRight</item>
<item name="android:layout_marginStart">?android:attr/layout_marginLeft</item>
diff --git a/android/src/lpreview/res/values-v21/fonts.xml b/android/src/main/res/values-v21/fonts.xml
index 2680a08..9b6c194 100644
--- a/android/src/lpreview/res/values-v21/fonts.xml
+++ b/android/src/main/res/values-v21/fonts.xml
@@ -17,7 +17,4 @@
<resources>
<integer name="font_textStyle_medium">0</integer> <!-- normal -->
<string name="font_fontFamily_medium">sans-serif-medium</string>
-
- <integer name="font_textStyle_drawer_item">0</integer> <!-- normal -->
- <string name="font_fontFamily_drawer_item">sans-serif-medium</string>
</resources>
diff --git a/android/src/lpreview/res/values-v21/refs.xml b/android/src/main/res/values-v21/refs.xml
index edab140..edab140 100644
--- a/android/src/lpreview/res/values-v21/refs.xml
+++ b/android/src/main/res/values-v21/refs.xml
diff --git a/android/src/main/res/values-v21/styles.xml b/android/src/main/res/values-v21/styles.xml
new file mode 100644
index 0000000..361f4dd
--- /dev/null
+++ b/android/src/main/res/values-v21/styles.xml
@@ -0,0 +1,49 @@
+<!--
+ Copyright 2014 Google Inc. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources>
+
+ <style name="Theme" parent="FrameworkRoot.Theme" /> <!-- doesn't contain the pre-L code from the values/styles.xml -->
+
+ <style name="Theme.IOSched" parent="Theme.IOSched.Base">
+ <item name="popupItemBackground">@drawable/popup_item_background</item>
+ <item name="photoItemForeground">@drawable/photo_item_foreground</item>
+ <item name="photoItemForegroundBorderless">@drawable/photo_item_foreground_borderless</item>
+
+ <item name="android:navigationBarColor">#000</item>
+ <item name="android:statusBarColor">?colorPrimaryDark</item>
+
+ <item name="android:alertDialogTheme">@style/Theme.IOSched.AlertDialog</item>
+ </style>
+
+ <style name="Theme.IOSched.WithNavDrawer" parent="Theme.IOSched">
+ <item name="android:statusBarColor">@android:color/transparent</item>
+ </style>
+
+ <style name="Theme.IOSched.AlertDialog" parent="android:Theme.Material.Light.Dialog.Alert">
+ <item name="android:colorPrimary">@color/theme_primary</item>
+ <item name="android:colorPrimaryDark">@color/theme_primary_dark</item>
+ <item name="android:colorAccent">@color/theme_accent_2</item>
+ </style>
+
+ <style name="Widget.IOSched.HeaderBar.Spinner" parent="Widget.IOSched.HeaderBar.Spinner.Base">
+ <item name="android:theme">@style/ActionBarThemeOverlay</item>
+ </style>
+
+ <style name="TabIndicator">
+ <item name="android:theme">@style/ActionBarThemeOverlay</item>
+ </style>
+</resources>
diff --git a/android/src/main/res/values/attrs.xml b/android/src/main/res/values/attrs.xml
index 73eb02c..dde6599 100644
--- a/android/src/main/res/values/attrs.xml
+++ b/android/src/main/res/values/attrs.xml
@@ -16,12 +16,12 @@
<resources>
<declare-styleable name="BaseTheme">
- <attr name="actionBarOverlayTopOffset" format="dimension" />
+ <attr name="actionBarIconColor" format="color" />
<attr name="actionBarInsetStart" format="dimension" />
<attr name="spinnerBarInsetStart" format="dimension" />
- <attr name="selectableItemBackgroundBorderless" format="dimension" />
- <attr name="popupItemBackground" format="dimension" />
- <attr name="photoItemForeground" format="dimension" />
+ <attr name="popupItemBackground" format="reference" />
+ <attr name="photoItemForeground" format="reference" />
+ <attr name="photoItemForegroundBorderless" format="reference" />
</declare-styleable>
<declare-styleable name="MultiSwipeRefreshLayout">
@@ -33,6 +33,10 @@
<attr name="shadowVisible" format="boolean" />
</declare-styleable>
+ <declare-styleable name="ScrimInsetsView">
+ <attr name="insetForeground" format="reference|color" />
+ </declare-styleable>
+
<declare-styleable name="BezelImageView">
<attr name="maskDrawable" format="reference" />
<attr name="borderDrawable" format="reference" />
diff --git a/android/src/main/res/values/colors.xml b/android/src/main/res/values/colors.xml
index fd57b75..d5d91a2 100644
--- a/android/src/main/res/values/colors.xml
+++ b/android/src/main/res/values/colors.xml
@@ -50,13 +50,12 @@
<color name="navdrawer_background">#ffffffff</color>
<color name="navdrawer_text_color">@color/body_text_1</color>
<color name="navdrawer_text_color_selected">@color/theme_primary</color>
- <color name="navdrawer_icon_tint">#808080</color>
+ <color name="navdrawer_icon_tint">#888</color>
<color name="navdrawer_icon_tint_selected">@color/theme_primary</color>
<color name="refresh_progress_1">@color/theme_accent_2</color>
<color name="refresh_progress_2">@color/theme_accent_1</color>
- <color name="refresh_progress_3">@color/theme_primary_dark</color>
- <color name="refresh_progress_4">@color/theme_primary_light</color>
+ <color name="refresh_progress_3">@color/theme_primary</color>
<color name="data_item_background_light">#ffffff</color>
<color name="data_item_lightbg_title">#404040</color>
@@ -66,6 +65,8 @@
<color name="session_photo_scrim">#6000</color>
<color name="default_session_color">@color/theme_primary</color>
+ <color name="no_track_branding_session_tile_overlay">#8333</color>
+ <color name="no_track_branding_session_color">#333</color>
<color name="nearby_header_color">#00c</color>
<color name="nearby_url_color">#0a0</color>
@@ -76,6 +77,7 @@
<color name="butter_bar_light">#eee0e0e0</color>
<color name="translucent_actionbar_background">#cc3f51b5</color>
+ <color name="translucent_statusbar_background">#cc3f51b5</color>
<color name="tab_background">@color/theme_primary</color>
<color name="tab_selected_strip">@color/theme_accent_1</color>
diff --git a/android/src/main/res/values/dimens.xml b/android/src/main/res/values/dimens.xml
index 6933048..dafa969 100644
--- a/android/src/main/res/values/dimens.xml
+++ b/android/src/main/res/values/dimens.xml
@@ -51,7 +51,7 @@
<dimen name="list_item_action_height">90dp</dimen>
<dimen name="list_item_action_margin">2dp</dimen>
<dimen name="action_button_padding">10dp</dimen>
- <dimen name="spinner_left_padding">4dp</dimen>
+ <dimen name="spinner_left_padding">16dp</dimen>
<!-- body content -->
<dimen name="element_spacing_normal">8dp</dimen>
@@ -71,7 +71,7 @@
<dimen name="map_content_padding">8dp</dimen>
<dimen name="map_infowindow_width">260dp</dimen>
- <dimen name="navdrawer_chosen_account_height">120dp</dimen>
+ <dimen name="navdrawer_chosen_account_height">140dp</dimen>
<dimen name="navdrawer_width">260dp</dimen>
<dimen name="navdrawer_profile_image_size">40dp</dimen>
@@ -79,6 +79,9 @@
<dimen name="action_bar_auto_hide_min_y">152dp</dimen>
<dimen name="action_bar_auto_hide_sensivity">48dp</dimen>
+ <dimen name="swipe_refresh_progress_bar_start_margin">-40dp</dimen>
+ <dimen name="swipe_refresh_progress_bar_end_margin">16dp</dimen>
+
<dimen name="browse_sessions_anim_amount">400dp</dimen>
<dimen name="butter_bar_height">64dp</dimen>
<dimen name="filterbar_height">48dp</dimen>
@@ -89,7 +92,8 @@
<dimen name="explore_dropdown_item_height">48dp</dimen>
<dimen name="explore_spinner_width">200dp</dimen>
<dimen name="explore_grid_padding">4dp</dimen>
- <dimen name="half_explore_grid_padding">2dp</dimen>
+ <dimen name="explore_grid_padding_half">2dp</dimen>
+
<dimen name="explore_hero_item_height">240dp</dimen>
<dimen name="filter_spinner_width">0dp</dimen>
@@ -113,17 +117,19 @@
<dimen name="keyline_2_session_detail">@dimen/keyline_2</dimen>
<dimen name="session_detail_speaker_left_offset">@dimen/keyline_1</dimen>
- <dimen name="fab_elevation">2dp</dimen>
- <dimen name="fab_press_translation_z">2dp</dimen>
- <dimen name="session_detail_max_header_elevation">2dp</dimen>
- <dimen name="headerbar_elevation">2dp</dimen>
+ <dimen name="fab_elevation">8dp</dimen>
+ <dimen name="fab_press_translation_z">6dp</dimen>
+ <dimen name="headerbar_elevation">4dp</dimen>
+ <dimen name="session_detail_max_header_elevation">@dimen/headerbar_elevation</dimen>
+ <dimen name="card_elevation">2dp</dimen>
+
+ <dimen name="card_corner_radius">2dp</dimen>
<!-- Social -->
<dimen name="hashtag_line_height">1dp</dimen>
<dimen name="hashtag_height">120dp</dimen>
<dimen name="hashtag_desc_size">40dp</dimen>
- <dimen name="social_grid_padding">4dp</dimen>
<dimen name="social_hz_margin">0dp</dimen>
<dimen name="hashtag_text_size">14sp</dimen>
<dimen name="hashtag_hero_text_size">45sp</dimen>
diff --git a/android/src/main/res/values/fonts.xml b/android/src/main/res/values/fonts.xml
index dd12fd4..9e33312 100644
--- a/android/src/main/res/values/fonts.xml
+++ b/android/src/main/res/values/fonts.xml
@@ -17,7 +17,4 @@
<resources>
<integer name="font_textStyle_medium">1</integer> <!-- bold -->
<string name="font_fontFamily_medium">sans-serif</string>
-
- <integer name="font_textStyle_drawer_item">0</integer> <!-- normal -->
- <string name="font_fontFamily_drawer_item">sans-serif</string>
</resources>
diff --git a/android/src/main/res/values/refs.xml b/android/src/main/res/values/refs.xml
index 5269692..a627782 100644
--- a/android/src/main/res/values/refs.xml
+++ b/android/src/main/res/values/refs.xml
@@ -15,8 +15,6 @@
-->
<resources>
- <item name="toolbar_actionbar_with_headerbar" type="layout">@layout/toolbar_actionbar</item>
- <item name="toolbar_actionbar_with_translucent_background" type="layout">@layout/toolbar_actionbar</item>
<item name="schedule_item_touchoverlay_dark" type="drawable">@drawable/schedule_item_touchoverlay</item>
<item name="header_shadow" type="drawable">@drawable/bottom_shadow</item>
</resources>
diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml
index 4a8438d..6f11514 100644
--- a/android/src/main/res/values/strings.xml
+++ b/android/src/main/res/values/strings.xml
@@ -32,6 +32,12 @@
<item quantity="other">%d sessions are about to start.</item>
</plurals>
+ <!-- Indicates a certain number of sessions. -->
+ <plurals name="session_plurals">
+ <item quantity="one">1 session</item>
+ <item quantity="other">%1$d sessions</item>
+ </plurals>
+
<!-- Title for the notification that alerts the user that some of their sessions are about to begin. -->
<plurals name="session_notification_title">
<item quantity="one">1 session is starting in <xliff:g id="remaining_time">%1$d</xliff:g> min.</item>
diff --git a/android/src/main/res/values/styles.xml b/android/src/main/res/values/styles.xml
index ffd2b15..e33f9ba 100644
--- a/android/src/main/res/values/styles.xml
+++ b/android/src/main/res/values/styles.xml
@@ -18,49 +18,50 @@
<!-- Root styles that vary by API level -->
<!-- Disable RTL support on older devices -->
<!-- Prevents crash on certain devices to namespace conflict -->
- <style name="FrameworkRoot.Theme" parent="android:Theme.Holo.Light.DarkActionBar" />
- <style name="FrameworkRoot.ActionBar" parent="android:Widget.Holo.ActionBar" />
- <style name="FrameworkRoot.ActionBar.TitleText" parent="android:TextAppearance.Holo.Widget.ActionBar.Title" />
- <style name="FrameworkRoot.ActionBar.TabBar" parent="android:Widget.Holo.ActionBar.TabBar" />
- <style name="FrameworkRoot.EditText" parent="android:Widget.Holo.Light.EditText" />
- <style name="FrameworkRoot.Widget" parent="android:Theme.Holo" />
- <style name="FrameworkRoot.Widget.ActionButton.Overflow" parent="android:Widget.Holo.ActionButton.Overflow" />
- <style name="FrameworkRoot.Widget.Spinner" parent="android:Widget.Holo.Light.Spinner" />
- <style name="FrameworkRoot.Widget.ListView.DropDown" parent="android:Widget.Holo.Light.ListView.DropDown" />
- <style name="FrameworkRoot.Widget.PopupMenu" parent="android:Widget.Holo.Light.PopupMenu" />
- <style name="FrameworkRoot.TextAppearance.Widget.PopupMenu.Large" parent="android:TextAppearance.Holo.Widget.PopupMenu.Large" />
+ <style name="FrameworkRoot.Theme" parent="Theme.AppCompat.Light" />
+ <style name="FrameworkRoot.Widget" parent="Theme.AppCompat" />
<!-- Immediate parent theme to specify base values for custom attributes -->
<style name="Theme" parent="FrameworkRoot.Theme">
<!-- Only needed for pre-L -->
- <item name="android:actionOverflowButtonStyle">@style/ActionButton.Overflow</item>
<item name="android:editTextBackground">@drawable/edit_text</item>
<item name="android:editTextStyle">@style/Widget.IOSched.EditText</item>
- <item name="android:actionBarWidgetTheme">@style/Theme.IOSched.Widget</item>
- <item name="android:actionDropDownStyle">@style/Widget.IOSched.HeaderBar.Spinner</item>
</style>
<style name="Theme.IOSched.Base" parent="Theme">
- <item name="actionBarOverlayTopOffset">?android:actionBarSize</item>
- <item name="actionBarInsetStart">?android:actionBarSize</item>
- <item name="spinnerBarInsetStart">?android:actionBarSize</item>
- <item name="selectableItemBackgroundBorderless">?android:selectableItemBackground</item>
+ <item name="actionBarIconColor">#fff</item>
+ <item name="actionBarInsetStart">@dimen/keyline_2</item>
+ <item name="homeAsUpIndicator">@drawable/ic_up</item>
+ <item name="spinnerBarInsetStart">@dimen/keyline_2_minus_16dp</item>
<item name="popupItemBackground">?android:selectableItemBackground</item>
<item name="photoItemForeground">?android:selectableItemBackground</item>
+ <item name="photoItemForegroundBorderless">?android:selectableItemBackground</item>
+
+ <item name="colorPrimary">@color/theme_primary</item>
+ <item name="colorPrimaryDark">@color/theme_primary_dark</item>
+ <item name="colorAccent">@color/theme_accent_2</item>
+
+ <item name="android:textColorLink">@color/theme_accent_2</item>
+
+ <item name="windowActionBar">false</item>
+ <item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@android:color/white</item>
- <item name="android:actionBarStyle">@style/ActionBar</item>
<item name="android:homeAsUpIndicator">@drawable/ic_up</item>
<item name="android:popupMenuStyle">@style/Widget.IOSched.PopupMenu</item>
<item name="android:listPopupWindowStyle">@style/Widget.IOSched.PopupMenu</item>
<item name="android:dropDownListViewStyle">@style/Widget.IOSched.ListView.DropDown</item>
<item name="android:textAppearanceLargePopupMenu">@style/TextAppearance.LargePopupMenu</item>
+
+ <item name="searchViewStyle">@style/Widget.IOSched.SearchView</item>
</style>
<style name="Theme.IOSched" parent="Theme.IOSched.Base" />
+ <style name="Theme.IOSched.WithNavDrawer" parent="Theme.IOSched" />
+
<style name="Theme.IOSched.Widget" parent="FrameworkRoot.Widget">
<item name="android:popupMenuStyle">@style/Widget.IOSched.PopupMenu</item>
<item name="android:listPopupWindowStyle">@style/Widget.IOSched.PopupMenu</item>
@@ -68,55 +69,67 @@
<item name="android:textAppearanceLargePopupMenu">@style/TextAppearance.LargePopupMenu</item>
</style>
- <style name="ActionButton.Overflow" parent="FrameworkRoot.Widget.ActionButton.Overflow">
- <item name="android:src">@drawable/ic_action_overflow</item>
+ <style name="ActionBarThemeOverlay" parent="">
+ <item name="android:textColorPrimary">#fff</item>
+ <item name="colorControlNormal">?actionBarIconColor</item>
+ <item name="colorControlHighlight">#3fff</item>
</style>
- <style name="Theme.IOSched.Welcome" parent="Theme.IOSched">
- <item name="android:windowActionBar">false</item>
- <item name="android:windowNoTitle">true</item>
+ <style name="ActionBarPopupThemeOverlay" parent="ThemeOverlay.AppCompat.Light" />
+
+ <style name="ActionBar.TitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
+ <item name="android:textColor">#fff</item>
+ <item name="android:textSize">18sp</item>
</style>
- <style name="Theme.IOSched.Sessions.Base" parent="Theme.IOSched">
- <item name="android:windowActionBarOverlay">true</item>
+ <style name="Theme.IOSched.Welcome" parent="Theme.IOSched" />
+
+ <style name="Theme.IOSched.Sessions" parent="Theme.IOSched.WithNavDrawer">
+ <item name="actionBarInsetStart">@dimen/keyline_2_minus_16dp</item>
+ <item name="spinnerBarInsetStart">@dimen/keyline_2_minus_16dp</item>
<item name="android:windowBackground">@color/gray_background</item>
</style>
<style name="Theme.IOSched.Search" parent="Theme.IOSched">
<item name="android:windowBackground">@color/gray_background</item>
+ <item name="android:autoCompleteTextViewStyle">@style/Widget.IOSched.Search.AutoCompleteTextView</item>
+ <item name="colorControlActivated">@color/theme_accent_1</item>
</style>
- <style name="Theme.IOSched.Sessions" parent="Theme.IOSched.Sessions.Base" />
-
- <style name="Theme.IOSched.VideoLibrary" parent="Theme.IOSched">
- <item name="android:windowActionBarOverlay">true</item>
+ <style name="Widget.IOSched.Search.AutoCompleteTextView" parent="Widget.AppCompat.Light.AutoCompleteTextView">
+ <item name="android:textColorHint">#5fff</item>
</style>
- <style name="Widget.IOSched.HeaderBar.Spinner.Base" parent="FrameworkRoot.Widget.Spinner">
+ <style name="Theme.IOSched.VideoLibrary" parent="Theme.IOSched.WithNavDrawer" />
+
+ <style name="Widget.IOSched.HeaderBar.Spinner.Base" parent="Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
<item name="android:background">?android:selectableItemBackground</item>
<item name="android:dropDownSelector">?android:selectableItemBackground</item>
<item name="android:divider">@null</item>
<item name="android:dividerHeight">0dp</item>
+ <item name="android:overlapAnchor">true</item>
</style>
<style name="Widget.IOSched.HeaderBar.Spinner" parent="Widget.IOSched.HeaderBar.Spinner.Base" />
- <style name="Widget.IOSched.PopupMenu" parent="FrameworkRoot.Widget.PopupMenu">
+ <style name="Widget.IOSched.PopupMenu" parent="Widget.AppCompat.Light.PopupMenu">
<item name="android:dropDownSelector">?popupItemBackground</item>
</style>
- <style name="Widget.IOSched.ListView.DropDown" parent="FrameworkRoot.Widget.ListView.DropDown">
+ <style name="Widget.IOSched.ListView.DropDown" parent="Widget.AppCompat.Light.ListView.DropDown">
<item name="android:listSelector">?popupItemBackground</item>
<item name="android:divider">@null</item>
<item name="android:dividerHeight">0dp</item>
</style>
- <style name="TextAppearance.LargePopupMenu" parent="FrameworkRoot.TextAppearance.Widget.PopupMenu.Large">
+ <style name="TextAppearance.LargePopupMenu" parent="TextAppearance.AppCompat.Widget.PopupMenu.Large">
<item name="android:textColor">@color/body_text_1</item>
</style>
+ <style name="Widget.IOSched.SearchView" parent="Widget.AppCompat.SearchView" />
+
<!-- My Schedule -->
- <style name="Theme.IOSched.MySchedule" parent="Theme.IOSched" />
+ <style name="Theme.IOSched.MySchedule" parent="Theme.IOSched.WithNavDrawer" />
<!-- Intermediary theme for SessionDetails (so we can override it on large screens) -->
<style name="Theme.IOSched.SessionDetails.Base" parent="Theme.IOSched">
@@ -124,15 +137,11 @@
</style>
<!-- Session Details -->
- <style name="Theme.IOSched.SessionDetails" parent="Theme.IOSched.SessionDetails.Base">
- <item name="android:actionBarStyle">@style/TransparentActionBar</item>
- <item name="android:windowActionBarOverlay">true</item>
- </style>
+ <style name="Theme.IOSched.SessionDetails" parent="Theme.IOSched.SessionDetails.Base" />
<!-- Social -->
- <style name="Theme.IOSched.Social" parent="Theme.IOSched">
+ <style name="Theme.IOSched.Social" parent="Theme.IOSched.WithNavDrawer">
<item name="android:windowBackground">@color/gray_background</item>
- <item name="android:windowContentOverlay">@drawable/header_shadow</item>
</style>
<!-- Account chooser -->
@@ -140,55 +149,32 @@
<item name="android:actionBarStyle">@style/ActionBar.Accounts</item>
</style>
- <style name="ActionBar.Accounts" parent="ActionBar">
+ <style name="ActionBar.Accounts" parent="">
<item name="android:displayOptions">showHome|useLogo</item>
</style>
<!-- People I've Met -->
- <style name="Theme.IOSched.PeopleIveMet" parent="Theme.IOSched">
- <item name="android:windowContentOverlay">@drawable/header_shadow</item>
- </style>
+ <style name="Theme.IOSched.PeopleIveMet" parent="Theme.IOSched.WithNavDrawer" />
<!-- Experts -->
- <style name="Theme.IOSched.ExpertsDirectory" parent="Theme.IOSched">
- <item name="android:windowActionBarOverlay">true</item>
- </style>
-
- <!-- Action bar -->
- <style name="ActionBar.Base" parent="FrameworkRoot.ActionBar">
- <item name="android:background">@drawable/actionbar_background</item>
- <item name="android:icon">@drawable/actionbar_icon</item>
- <item name="android:displayOptions">showHome|showTitle</item>
- <item name="android:titleTextStyle">@style/ActionBar.TitleText</item>
- <item name="android:logo">@drawable/actionbar_logo</item>
- </style>
-
- <style name="ActionBar" parent="ActionBar.Base" />
-
- <style name="ActionBar.TitleText" parent="FrameworkRoot.ActionBar.TitleText">
- <item name="android:textColor">#fff</item>
- <item name="android:textSize">18sp</item>
- </style>
+ <style name="Theme.IOSched.ExpertsDirectory" parent="Theme.IOSched.WithNavDrawer" />
+ <!-- Misc -->
<style name="TabIndicator" />
<!-- Transparent Action Bar -->
- <style name="TransparentActionBar" parent="ActionBar">
+ <style name="TransparentActionBar" parent="">
<item name="android:background">@null</item>
</style>
- <style name="TranslucentActionBar" parent="ActionBar">
+ <style name="TranslucentActionBar" parent="">
<item name="android:background">@color/translucent_actionbar_background</item>
</style>
<!-- Live stream -->
<style name="Theme.IOSched.Livestream" parent="Theme.IOSched">
<item name="android:windowBackground">@color/gray_background</item>
- </style>
-
- <!-- Etc. -->
- <style name="Theme.IOSched.WithElevatedHeader" parent="Theme.IOSched">
- <item name="android:windowContentOverlay">@drawable/header_shadow</item>
+ <item name="actionBarInsetStart">@dimen/keyline_2_minus_16dp</item>
</style>
<!-- Empty views -->
@@ -278,10 +264,7 @@
</style>
<!-- Map -->
- <style name="Theme.IOSched.Map" parent="Theme.IOSched">
- <item name="android:actionBarStyle">@style/TranslucentActionBar</item>
- <item name="android:windowActionBarOverlay">true</item>
- </style>
+ <style name="Theme.IOSched.Map" parent="Theme.IOSched.WithNavDrawer" />
<style name="MapInfoText" parent="@style/TextHeaderSub">
<item name="android:textColor">@color/map_info_1</item>
@@ -312,7 +295,7 @@
<item name="android:shadowRadius">3</item>
</style>
- <style name="Widget.IOSched.EditText" parent="FrameworkRoot.EditText">
+ <style name="Widget.IOSched.EditText" parent="Widget.AppCompat.EditText">
<item name="android:background">@drawable/edit_text</item>
</style>
@@ -329,7 +312,10 @@
<item name="android:textColor">@color/theme_primary</item>
</style>
- <style name="HeaderBar" />
+ <style name="HeaderBar">
+ <item name="android:background">?colorPrimary</item>
+ <item name="android:elevation">@dimen/headerbar_elevation</item>
+ </style>
<!-- Session feedback -->
diff --git a/art/actionbar_action_icons.ai b/art/actionbar_action_icons.ai
index b1eac2c..316a7d4 100644
--- a/art/actionbar_action_icons.ai
+++ b/art/actionbar_action_icons.ai
@@ -1,40 +1,41 @@
%PDF-1.5 %
-1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 23 0 R 40 0 R]/Order 41 0 R/RBGroups[]>>/OCGs[5 0 R 23 0 R 40 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 36149/Subtype/XML/Type/Metadata>>stream
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 23 0 R 40 0 R 57 0 R 74 0 R 91 0 R 108 0 R 125 0 R]/Order 126 0 R/RBGroups[]>>/OCGs[5 0 R 23 0 R 40 0 R 57 0 R 74 0 R 91 0 R 108 0 R 125 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 35924/Subtype/XML/Type/Metadata>>stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 ">
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151739, 2013/04/03-12:12:15 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
- xmlns:dc="http://purl.org/dc/elements/1.1/">
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<dc:format>application/pdf</dc:format>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Print</rdf:li>
</rdf:Alt>
</dc:title>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmp="http://ns.adobe.com/xap/1.0/"
- xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
- <xmp:MetadataDate>2014-05-13T13:33:23-04:00</xmp:MetadataDate>
- <xmp:ModifyDate>2014-05-13T13:33:23-04:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2014-10-03T13:33:08-04:00</xmp:MetadataDate>
+ <xmp:ModifyDate>2014-10-03T13:33:08-04:00</xmp:ModifyDate>
<xmp:CreateDate>2014-05-13T10:50:34-04:00</xmp:CreateDate>
<xmp:CreatorTool>Adobe Illustrator CS6 (Macintosh)</xmp:CreatorTool>
<xmp:Thumbnails>
<rdf:Alt>
<rdf:li rdf:parseType="Resource">
- <xmpGImg:width>244</xmpGImg:width>
+ <xmpGImg:width>256</xmpGImg:width>
<xmpGImg:height>256</xmpGImg:height>
<xmpGImg:format>JPEG</xmpGImg:format>
- <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAD0AwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FX//2Q==</xmpGImg:image>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX//2Q==</xmpGImg:image>
</rdf:li>
</rdf:Alt>
</xmp:Thumbnails>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
- xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
- xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
- <xmpMM:InstanceID>uuid:76b8e127-d7fa-c04d-881d-b2f3253df5eb</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:7b43c828-4f7b-5947-97cf-0ff6b1e671c3</xmpMM:InstanceID>
<xmpMM:DocumentID>xmp.did:02801174072068118083B593782F4205</xmpMM:DocumentID>
<xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID>
<xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
@@ -55,16 +56,8 @@
</rdf:li>
</rdf:Seq>
</xmpMM:History>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
<illustrator:Type>Document</illustrator:Type>
<illustrator:StartupProfile>Print</illustrator:StartupProfile>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
- xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
- xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
<xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
<xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
<xmpTPg:NPages>1</xmpTPg:NPages>
@@ -557,9 +550,6 @@
</rdf:li>
</rdf:Seq>
</xmpTPg:SwatchGroups>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<pdf:Producer>Adobe PDF library 10.01</pdf:Producer>
</rdf:Description>
</rdf:RDF>
@@ -585,877 +575,929 @@
-<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[6.50928 6.03516 25.4902 25.9648]/BleedBox[0.0 0.0 32.0 32.0]/Contents 42 0 R/LastModified(D:20140513133322-04'00')/MediaBox[0.0 0.0 32.0 32.0]/Parent 3 0 R/PieceInfo<</Illustrator 43 0 R>>/Resources<</ExtGState<</GS0 44 0 R>>/Properties<</MC0 40 0 R>>>>/Thumb 45 0 R/TrimBox[0.0 0.0 32.0 32.0]/Type/Page>> endobj 42 0 obj <</Filter/FlateDecode/Length 367>>stream
-H\SN1 +qy])S*|
-zoҮZe{lwo{.PxOANvN bT+I䘅g?
- &#8'; ,w"PiKd@5 TfP9wSL4*5lTkqCJ.T}q6d[OӖ%DM66NbPqXPkK֤dȔJ\{B记&4%M Xy"*k7oV2i7tđ)Lz;ŎWP+.^CZK2kU!
-8;Xp,*>JPW(]\SI%<2~> endstream endobj 46 0 obj [/Indexed/DeviceRGB 255 47 0 R] endobj 47 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[6.0 6.0 26.0 26.0]/BleedBox[0.0 0.0 32.0 32.0]/Contents 127 0 R/LastModified(D:20141003133307-04'00')/MediaBox[0.0 0.0 32.0 32.0]/Parent 3 0 R/PieceInfo<</Illustrator 128 0 R>>/Resources<</ExtGState<</GS0 129 0 R>>/Properties<</MC0 125 0 R>>>>/Thumb 130 0 R/TrimBox[0.0 0.0 32.0 32.0]/Type/Page>> endobj 127 0 obj <</Filter/FlateDecode/Length 697>>stream
+H\UKn[1 ~ۺEWAtmp
+$?RҐGٟ|E_2K;}_1⃺˫9Ȩ`%A.Na &rvbeKwŵcckq
+5Xa)P93R79T#EYBL@)5ڙ(=lRހaPfC I޺:^Mض)<hmy7Fe#0#ɼ ŢJ TQ/42仺F }bK]YQpcמiߌRIQl{KQ6NZ}zpfB Ez2J6 %<!nׇJig7 VEUBjWe
+L_jx>jo!y($p=S j#Hߗ<
+8;Xp,*>JPW(]\SI%<2~> endstream endobj 131 0 obj [/Indexed/DeviceRGB 255 132 0 R] endobj 132 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
-l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 40 0 obj <</Intent 48 0 R/Name(Layer 1)/Type/OCG/Usage 49 0 R>> endobj 48 0 obj [/View/Design] endobj 49 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 44 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 43 0 obj <</LastModified(D:20140513133322-04'00')/Private 50 0 R>> endobj 50 0 obj <</AIMetaData 51 0 R/AIPrivateData1 52 0 R/AIPrivateData2 53 0 R/AIPrivateData3 54 0 R/AIPrivateData4 55 0 R/ContainerVersion 11/CreatorVersion 16/NumBlock 4/RoundtripStreamType 1/RoundtripVersion 16>> endobj 51 0 obj <</Length 914>>stream
-%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 16.0.4 %%For: (Roman Nurik) () %%Title: (ab_icons.ai) %%CreationDate: 5/13/14 1:33 PM %%Canvassize: 16383 %%BoundingBox: 6 -26 26 -6 %%HiResBoundingBox: 6.50928 -25.9648 25.4902 -6.03516 %%DocumentProcessColors: %AI5_FileFormat 12.0 %AI12_BuildNumber: 691 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -32 32 0 %AI3_TemplateBox: 16.5 -16.5 16.5 -16.5 %AI3_TileBox: -272 -372 304 362 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 2 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -11 5 18.02 1448 867 18 0 0 495 737 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -412 %AI7_GridSettings: 4 4 4 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MO %%EndComments endstream endobj 52 0 obj <</Length 2133>>stream
-%%BoundingBox: 6 -26 26 -6 %%HiResBoundingBox: 6.50928 -25.9648 25.4902 -6.03516 %AI7_Thumbnail: 124 128 8 %%BeginData: 1988 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDF7FFFF %%EndData endstream endobj 53 0 obj <</Length 65536>>stream
-%AI12_CompressedDataxyu' ;i`2\[y`I l0 M8f 6[Ol®@Yž7322w__q7?~o8t.bJ/L_/~Ç7O~Jw߼|S{ pz-? g!S}K|ݟ^~5Dxw݋8}?7e\BWuˎ17c*w޿>~|>Ћn߼}Mˏ_7o5N_o~-Ǐԧ$?߼ 86w߾w"7W}woiUi[?u|͋8ӫ''y(x7_Z`29+懷?ӻ7c*#_~Ko_ro_~Goȋi'?֯~w}!UMֲ[Zvs+M!4c4+_<Ûo޼Xe
-Û f=%nw_-Ǐii٬旿}}|-F{,nZ
-t*4t<N< E82J|OH8g>F;z8a??89΁v:O8L4)O$'ߖ3ʾe)sJ)K(ңct9vPChY/f]*sK^e^尜u\ÚֲN뼮a=vy_~i{0z2 -VD5RCYha-Y/~uyQWǞU墧uEuō58Eq]ƑFpOhNKY|a<eΤDYVBo7t M ?iMtaD@xh3d3mʩNO4іZis@c384^G[Ÿm|cϿr.zgo3mHxω .ڱLmY<q&
-w%6ηt'%hemֹ}4OGc#?V;ᇖ%8.DpUϴ`m6Lۭ2mx:q"buM֜mҼO]ðiTδѲ㑗3FLH~~%p4s3O`#o  1 KwڐvI%6 -l]{64%N/.kP_Ҏa<?BE氄=G>m/cF$()rD:!i*py*Bg9!x+|;+yѮeaˢ<c[I/@;*11av9k )=t7]{~maң:#lqÕSL9281B0yҐ JNʚ)- l)?"tͽLs%
-I Rd݁H f 4%y eYb- )3* -4b HNZ$&qh
-XR#`$77#`?L('ڗ5fvΚi3;kPf+ (Z?{ӂ<<Y:D"..c<Ox~fw^~7zjh\9 ,,O$COlH#fJerH!C6t<| dtH,'!C\B;vu<DIr?˺ey!C_XYX)Z*>]Gd$-+iOKҸ8{
-bV
-{7@8TV#dɴ5&  ,9,UHP>!EM{g,ZCcђ}OP Ӏ ;B<sX~晟90ڎVO) 3-i %DHdEL+PN#{Z:n:3
-@zob2
-wb JCrtd laҁqUAzb&h  QWF"~
-s M4j@pCN¦@מYMjf1ʐu11a)a00,IN
-) <
-<S{OpU '\ցwhVB}9Kb"&lOҁ)e3{Y>T`Q1
-'w
- "p@QT4+4Q=
-saCZ <ai"_A VD 6h8Xx8ҙT5unGtXP
-߻.Q•hR%vS'w9}<]E'x YF
-B"wh»
-'c 
-rL~F۟peZI+ye nccxj ާWEt[bH6Il^RζT/z&7k>ӧ5q% Mk^}g9FusoCƱW3[{FRԋ[婋fxM}^̸yo}i6wSVӺzcx56X͔p[u)N$?v'Nж;2|gppΕOXkZJ^mwk:iŀ=xp:h;>8+PAH(AP$ }ʧk:qPs0r<9.\o>~; )v0aI.aDꌼ2/xR/
-STTf7Ibc]En[&mo -NM+lXC ZlCNONAB @! F4d#ӈ"pO8wV&=xq;=X~1\v OmoiBם]hh2MuPrq59EVq$qIC0b![Z~G{dGϮa6RcSs7ǖa7Gz\1lN?1q hKF=MZˁТYբ:Jh ]H얕]u3Ugߟ?;ߟ?;v}o?;?[&gL+ejf*s9ey<!DNwy!%G9=^|%kC~'[w=y103"ywUtE1"l#f# I-Ϭo⠷~o<W]}nq-I}T Ts&8>(w'X::PSX|ꨖ.K$X6YX |#e +`@tNp=FS5WoAݾZoxosp`)13|'?;g
-ٟ4)<7홝:6Mܼ Qԁxne$LH
-
- ><(|bX%Ϫ[EGfJ!\ܬB 4XMBݿD-}`9x&ZߜyQ%X l8} US^bjXYaU=Cjt`' b";Vlo܄_s̾${
-VATzsCҒԤ+IBs51%=k4sNY'[̮O<y%&;OnWl^, g9r7Dyri0#rS$\1榲Qߊ|4nWlړx[Z'.έ/)5Gt YmEK56ElsԄtQMG^3hm)ZL1ToSԭf=n:)c<F59?:mU fR;܁u.ɇ!*N EVdm\V$rF'k G 2#
-g^`IgM.'eyitEWMՖlj ڇ`
-Yke%'DO.pyФRAhxwK_婾zt
-M$w ݝWNMR=.p.$l3ڳ;>tj`>S{Za«p$R"uieZe &JbWbY{ҪZ3 wF]DxH{DvPu`@9nXRd lk}pve2 U5!
-VHpWDFT<mF1phG2c%,1\Vng0؛ XB暃YͥC3u-s!:lYA ֻzZR} ]0y|CQ+K-)=xYBw~j06RA^Ip="8HѠA`Gdc%j`^)+r;o|G{^_E_:wBQ=k`, ]tlۆTAXAi[G KM>^X8/{{8_{޹W9=rħ^}z[O[WM2t
-窼J&Ѹ˙;mZuZ
-RQKTіl_CSH젆ѥ8_F3#5nlذ.Ps { t Ճ+dk5XpgRE&NhEL$\AD-#IU,@լV[JtC+ъxVĮ3Q:a섫d%g5ZSzOEj-ʢS!K=\bQR|1IW )N]M+i9b[
-vmHkL 3.
-^ȴ>\2iUQV5];%RzְmQ|kFΞ%lW&{p
-«OTt`
-Åz<#*]\8ziZƭ.e}ڰ_46raR?fiU`1[;XA|DA'uxe\ n!l@`Yᶽz:&و2Oo\K/VD|tQ"
-s*ϩ0>
-s*ϩ0>
-s*ϩ0>xϩ0>
-
-s*ϩ0>
-s*ϩ0t(͜ld0U:_p~qG}>Р6ԟZV)<y`'WyC0*gpqqLRIZ~
-3ɍRI 'G7Ê Zi
-"aeYCW5gҿfu{\ K ]鰯2Zj-͝0 >㮟 A
-h[1-zڔTU*4YώS]3\UtDz3yojD wnBC: *7Ceo}<jlBf;yƖ,94@~lm52]5f6yjޤo5puK${mvp}>8!2%|;k5lxbJ&D;Hw{eKE-#&yc-1hƴ]!IXt[Z9B'9{>x5̎~> S_EƓPŝM;Vom\z\[L)}cCfoz)6_ܼ%1߷[& .,?%9
-D op2g~gO u-^8wG΃냋냫 @{V4U53'yXchHdu5kuAAl &<6mphG_bY9U#g2:+`E.9G6inȠPZɋSpct?=VӪep-q%2eqn
-b74Im~G iS~'W`Nl(k5V}b9ќhTckLIuApFhͩZjڢϬ3[Zk+ܶG_av/GЌ@T3< QU'e__އށ:x$i
-A~۩y9ƥ-5>']^Mky%VgT'OkIwg@9zg|&̵gMԝٱ{Rf|,TI,g}
-a91oլM}d~sT%Dԟ S,:ѳm|c
-D^<7xh Yjn(.Xm퍵ۻ3wz<u\ ~oGJ"Ƌ`5'Wj\F_O<:Ec1o;{͝.Bm xjΞ]m>{ϰ~=Ëq<|ls \e~LT n<q(̻ɷxkWp$鶐jk⸷mRjF\
-
-X<8# 6#|{ȕoSw22Wj.:_{?ϛ4gOU=ul-Qt/d}p_]I$xtWgNZ=̚;{.?2\\U/+t3&ޟ+
-ݑ+Q&tgsP+\+Y+pi4vK
-*J7ulqbC 8.'6dX$`-Q5I<IcF1[ j-^qcS-/|o_w[ݟjО&LD9q,Ӧ搁㠞OmQmr^K/:FMݣvP^BM"^e^ZKtZtؔW:6~fڮ3{1L6=/X9bVtaV |SE@On84~FrnFA7mͼ>צ{ܚnmPh:"<-{1OK˨s:\SrfMygуOo 6m>u~L6o`ߺuԬm0E2k#QWq 6!Z<xG,ei9J4?G$ϡ&:yʨ%`B*K "Rs%t%q)&#W2apkى{f#?#K|LZۓT98<O궚dY/2Ol'1[̬/1^sD#BL57(.%6Ds EWzo}|/bw&7_wݾ7IO'R=gҁrCkbWt9Ҽ,=w?_~9[~8bmOc{:mWOvߟ?|<yw/?ysF~vx'_x|u:Kco߼}o^ 7i
-lƙ'>r(^"2Lei73m 47#0g&>C"β SbYbȑ4i\[QdWoIn+}?u =J _Dj;b!`t6ą:V|3KL7E:o IcKঠkhkQљIsFmw૸VXoV=V
-F,/PhT23
- " ׼ t8-X1/t& Y3e#:\p*iנ͘IhO(A;ijo*:Zi\-zA<Zr'}]hJ&(ڢU^2@k2vy
-
-wӲ`rq 2wHqQKB 1{PAczFN~Vr3vH݀A#͓zLLJ GyZM*5!zA&1ghZHzQ4Dާ<Q;KV>|m!j6"ts'd~|ZUyf2Ot =oJG7+PK:10oN0ג#m[ܯZUNLvbmvR7v^</ɇ/?22٧EiiJnc4Y3$RZ$Qőb%9X b+x93>q3̤Rtϴ#"Zސ
-D-X*27`xi%r!!Rp<dϧoPa
-fNz%#MӼ 8IF 1F<bJ4`l))h4I'T'Hk׻h+Q7"1 , U3h=F<F*He׌2vg"E$پHJݥQMN).azH^a:0ED
-L"X$~n<jkL߈
-P+<JB1$[d``X',<<ie5N 0PfC 7oM(/+7JGty<Nl"N$:6Q(c{ 6
-5:4}{f'(
-t\!AOLwo֓z"*]-PA?iauTFV'lH婃[ -ㄎ=aN5"IkF(6DZbn.[2${"rflm)ɊJt04/2ݶB!SmRԌk ZxP hmM4<{Ne PcRQa-Ѕ@ve&cαL]*申S/uA\,PX i n# #З3QwYBr:CR>'n;$e3,+7yqg ʵ6,qbR`SM1_HDn1e+mlZގ.$s
- ϐIYame1tEw0 ue:Yƴ^Ϛok$M2F$tݥQ\5‡GU,+P[T0)dit4mb6~UR
-`L@hIk8* vBN a i ]F AQ>Fa\<Wf
-A Iu)Ȕ]﮶( ૮g)X߀t2 lG_pJĮvL-2(TėGC' gV+[K CixȦ7΅Եf]PoQׅEzם0`dkٗa "3@<b ]@2@.uu@@6m3`,6ٍn\oX@/
-* DyL 6S:S1↳ ~dĨ$0 R`r#
- xx ȳ3UVV)Dc+u*
-5˔T$XX uM
-]FSL#<豦[nlKIp0b(itEn4JRW73P'Y6Ք>)Œ&-WrلK D
-s#jbucs붇|xa%V[Gl@1XTá-٩Q'U9Q:Gi"k4ގ:$$Qc%-wh'QSp yDZ8(Oܼbα ]w|w&`3R;gn=p]ϴL5a./M+FiDJ<nqm6䦝zY\VV`K unhrQ|f+#ݲ岦ԭd.!ͅ[u2\VvÝnt-&=h&]e0eY53Nq<ntum\Wj;u-ƮֹQ4?7=w
-bI7bN)ulnm5jւ1vu{\TjZV Re*:qmkUg6>]|
- 0e\X#o =1-ʿ`bژYZLObHUԖ nO4XU3oI{SPXToRbdUK <P\W 8֬+t7^QQ 4{B1(``C{qng_W))
-bzfS7?"+, !_}E#+qfP3
-*[lūJ@7*勫&ћv>I|z;RK+h4qZۦWD&3kM:{mk1[
-+ XFCAwTQz_W8HuEFrcP V\Q_c$XV`&XƒuBʊ(I` e
-K+@bhApDo?<[.  _A(ĵCGcE‘JN(9&ʡYZlq -}M3WQ|ǙY"Ie"r#,:A".Y
-&,}EXPj kEЛl j1 cQy%9L;h'žt>Zt:AJU}XpVF.lF Q!K?z-ږ-jljW|3!֝ds54IJd/7{A:r:@TCn";~zd'yP'bEm:qV _{P' _͂:KwmeFқΘg3<3"W I D?
-cIR]ȴ! Nyay 3
-F    @ט `S:i
- vE
-XRjOihEq
-U4Vv5$\x*
-\സTH=nUe.ZȪh܇Ҫ\na"rUvEL L
-n;zػlQPwv{HU-쿞iԳ"]JuCx[~{Qo@= Ɇ:b#π7u gР:ՕaR ~ufT]c+._wܬ"Nr7t44]twWP;4RQE&A$ǁJKe:rij#p:t#9u֩CJhþN6qQfg(Ew Pmga~w!r燎Wi`{[ <XQʥD|T `*gAڙVdgM1 HPҋIfOיɥ\nD3
-ԓ#P!M,
-q:bfG2fe] ǝE飽MF
-6Ac8-BFZcW
-ed T"U
-Uڂ@o4 2&n 4%{Co*Iu,hh9TCNپ N%4C,!L[HtrQQh\!Ylc[k,vd;u,,V F6x:mpz-ږ-¼kV״%GwG7|>YnGa5EDmH1tsyLbd(D&&9'2anadelLI?y'Z"X%є%2AVvNLJnx"wZ"0OD&,%D&`. PD&p9d/i- zLp]Y& B1Kyʄ#S(@M&D&W,KmΩoO4ݧ1f1si>v9>c
-I$WK7W~7?s<C1/jTV=E˖feå;_4eع%ne؉"^=AdV=է뗾{q \b/ ٌ;)Ď|rc^";"a
-EkH&/61 _fT Ne[:U˰#e OTayq:Žu
-;-PWaO#yYɠ
-;LGh*pDϏ*H
-;;MJw;N3ʤwŎevN$0:Sʒ8\,St ,4DKs:ќs &ϯJXO_uYlH-6o,_vJڇfN?Y1q2OJO`(zFԋ@sF]8<ZՈhq62xeT`E?CI% lcj9 cI<-{BP*SlseGrv85<F?buzyt̖Wݒ'8$y}*A >Xȧ2cySV˾\,pӭg`!QRP <3Z= pLVg[ `3\ƥ9À
- VgxxV"H3Z%9 Ax f!N\MrlqD&tՁ3e5=ĘzL\3ʃ̴a;[<WTN%e[αMk:Z(kzȵl2ƚ]26Yp pc^ٺjaJ5c62>#^&+DXP\ـPR.C<ZgVns8
-;(ΤOdO\j{|@Y«5V ,)4gΐk'eKuFk-?>y=%]ڼ-M/d敞qlk( .MWJU$Ut/1/Uꖫe|]_j0k^+ےmZv̶wSx!^̨E-tfCk)OfV3*5:jڜ*z97[K`<b/ uD 9u Z-K9_1;{<_
-L/lKvK뙖׳&xECa'cxDET'M. ymN:Bד7/;Bt)KXvҢtQ/<jf'zuMd
-55«vWIu+W[벺
-[]M
-:`]jyMN}ڳyuZWm0DzxZN?⺮z]WuN<fˡj5S$
-W1I1ţj,Qf (`Bg& `B q,Ě91sJ¿ δ%q H!WqMz.YY y$E\QF NU72lLL%ɰw(j -j;:!W-(c²$+Ky.s_9Â<e暂/Z\EE/L8T -1# )|zPB-K*hR+9g˴ʱ! c+9bqe;(98LTg<O)8E)\dćR! [+IKݽN)HF=3t w\<%^ \!Tůs۪ggֳ7~j ޒA$ Gl T+x|j:rpml尝/A0/i
-}+m}92if3:[֡PvߡU':%q8:erשCs٩N0nȪCN|vwG&woHܝw[`y΋Jγ`\-s˂3I>8#u+Epݘ μ뙖׳& 7trl\pΕ3(ӜUMI.ɩ4U3 b
-lb s΍e.Qd5ЙvV(us ntM&F 2u5W[5]Fw˧n!}ZV$nU-LSgPj]5rsBqU-7_6VNisc+wn0w 띢XS}-r%SMl
-0%zʰubU;܋ ]ĝ
- x%d=b^Yp^!A%:Tj[G<8 9;,Tà:l-Tנ(|ZTg:]wVtAJ:cЖb0UX/+Wi愸}VιzX9LϚA6~̐uʯ_e/_CWLBos[Z-~fKXnr- }+b Z+dRhQosu}Wös
-lVT^ewkSZ~Ysܽ >V^}SRc}~q7^٦ۋ'> K1j;:o Rמ4.1;P[߱u,8oLɵsڻ.S3ɊZ?&\g|a3 ΰh3
-P9wMu` q1+H!AebɒٜBڼKP` H%@aἱX0A91F5.;̦?#ODI65uTc5 o|kNU 11yw
-JP8?r_GYd5.=reiP/θ.gCl0KBWZm``AʊqS ^6;ZCZx<AWek߭PrVP]Z :VgAw:ksݬT`
-&'k3`ïiEALG$c I i(!Ɔ4Ii !Z hM. oɑ}| ^DۗDrDs-<"Lb)y ٞp鈘 mO-ù%F8IR
-63'jdhwܐd_NvMړ\΢~+A]yfKvpq^';ۄ(dgUUk
-WdA>鉒XހQq
-Ձ]չMzl&o(ϋ suf Q7;d}zFjPwە-Gydα]-(!>/58jGKJ&ȁ$D<&R>Yd<k& ي&B
-ZZYmh{pbU_XwB ӎ8Fl*[fM-L%P_(?Δ
-WG!sA8u_LM6Q+*脿CۨVrόOHBS8 .ⶅ8yF8kji1nﰠUZƭQ1ʾ<<)%GY|k ¦(2e}9~ͺj Bz*Ш<;xGMi+1%c3k x?,ىJ[t|"B*YXZ? WbbXR?$74.Ɯ tK.`}-F$9Ĵ++1<b0ZAWiJbTj=Ǿ#i%*Ζbҧ@Rsݚq)Fk`#K1rFͪ|Y{"bδ+Eb_\b&_óKbTm)./-gIeMՖ$+Y}3+qMa_[ӱO(TI}c',G>$Z2.{ vX϶]ѻq-n-=kqZcC3ōb±7O4k1]!ִ?&m;_e~q-nxki-~Xq-)A:7ֵ?
-:.4 $|1:vuzn}1VicLuXqrU(r&7J;~t_U${1LDr¡5-DŽt$r1=brLž嘛oX)W|qFqO19E%19ImeLN:FLNJ!Crq@FT t*W{yQkDPr8˱_G9r9DN`F$ ""ǧOd1$#"#3"Ǘ/59S5X\e_J<"P#$ǥѽjž|T\8"\<Dh10u'*#a/q﹀{>p~G\}*_­3˧ziwN-}nHv긫g)j[n*vj)viմ@z/xm*5>mF2{`gyޖ4V۟۵xR{ۗfTln?$7/ʰZ%[i_.T-{sfSnY/ݭ
-|{+Drw ?Ѻ<bw+F[$׷ӛrw<|6?KnafS_ mL5Zd8sHeP'4$ēcsD ]\ _Ak//Vfb+odլeެǏ*8m*ܵ**kPj0R5@+EUAiu7v%eZ/> k
-F2iIi0y]9\9BnYwQwk
-6TTl\oUH{An%`,N>AT{A&c;8 )JK6tejy6ȷ
-G{pُ;]0)T|Cjev faw@9k|5BBD/VJ';Se14rn93PjkqFO¶f󞪍>iF)ql\'CggzrXI_rx*ݴzRq+nzi"wS.oV8J۹_}O  Dž?A?Vf6xz+^ [=Fz?Tg%jO{)^2'SZH16Tabp56J{iU|YJj
-35D~/owrv0QQ :[gOWwc$pu|SR#۞Z
-N=gL<:26ġD\:jlUo.nDúEI,1\d 'YuI%vB +I8y^tshAks\>bbL Wfy(&;;RЮ^7ƀ
-86.d+`6.d+`6.d+ԸٸcBvFƅlƅlƅl00pj^N\NINu!;B|)zp]N]N]Nw![{Bޅz0{0{p]V]Vh]x?#6>q䬎;"9)"9jm;kYն\?0, "9k>hYP"9 gFX{D(\$g)EHzzZzDɡjLϥQ9,$X!Tr=@@;UrpQD䠢/w*9kR&',vf^?:9=KB(r~զPuR9|~9r&!S8f:9KiC&S:5/{}y'ާtAߍHKl<Ur~痛Fq>Z}^IO.1NH]($&.R
-LR
-B!9P4PHF)Q g
-(Br6Ji6JTOG])dRHLG])$2NG])$O
-Q
-騋Q ˅tthA)Rs6VLcFJ!DoLJ!MGE>_?C$d_c6_d$b]"!ĒDB% !܋,-cTH䮐R]!!gJ
- !B*yVH䮐R*B*yVH䮐RC&JNJNJ$R*9%R+9%ߡ_~Z[.X,cJXpo]M<Y/˧`\$^>#@G T-HRċPQj0dIjm\#(7`nuRzd;ZcUhHZmm[.IN"͓? zQY<nGOCA<lD?˦ó'W&P"~j|Fal-;\wp:ڇ~)d鏈3;橆nBdŊVDK]JI#Gb"3nTNޱF9ζf'R{FpgъB)g xyX=7(+ˁWv9n;_ƫm^oeVlB>M-o0 0nmc#72_\!haRC}v=ZQw
-FǕ0 oxT/
-ϲZJ\"1 ф6uri~ş$R408)E$%?xA/o[,C\_4AӼ8z 
-w wאR\AysZX=&p:UcEN,TU!׏$籹ٽH'ZC2/N4s:V 4iEjg<}EkV4%[?4(#fWU^1Dq)qBH ]l7XXW#M~Ąӛe 'aI4kYVVZZ])VZM%͝j%j-m"΅^-Pa_~Y P_fe}BNgYE*R)nV5l>3g뮠a_D`qHY$Wf%e7 +/|Vvw86}`AGkܺ{?wQDҲjjWCBJ
-uH40".b;ZnHVN9Eq_n.IXT<l- /VadIP]|p{g=1
-T]{8P}%BOկݾ"Z!<ک93A3U:-]up־lmKqE~N#6Uk@C
-lڼI.μ,H|Vk#Trȅ+MjZșD}qK*̥ƺ݊Ȃ6N}հyٍՙgg³܎oKwY): $qɋ=LR~Wn[h[Sq&ȤMk\?JvՃ;[xqlJikcvU{_^c^wA#;Yutb>{aOZMOǯ|YP4=gh3GX\kY#KmL7k^Y9#7嫴2hoJ
-kFKSI}V׋'DpP͹":&tTZv>7i s8=g_q&K Z^9uzhGvs]1ӯ`=\7V GodՅb
- 辤5_$ mj~\R0@^ڽ7zjQB;=yMEIxE2i䍮eڽV(kaMŃ{z3m(L8wnm'Iѻ!M7 Ľ Ls˜b[22o^v@|Wlq<1]fc*u,ێ2Möؼۻsg3m )2([I*Uo?n8 d&O֕H6Z:p9f Dӆ2 Rz-6+!sz\գƍecjXț]Ib<+.P5a{n7R#}BDfMHRSW=脒?]b$?
-{Nc/ZO{rQ[?r:z\֐R{ߗ*nDЙIG ly6 z1Gljm1~t>FHW99 u,j3=e?[2;jbռG`ыo:UK|wWι1kPU>мͅt^Ø3ԈyNͻNb6T;bE1]rLU{<&_sCSxc
-[<&z=U\ 耖c_3h 媾0L_נֳ&GF딯ynnq_
-VV&D'XїFqs7T ?X}
-YM7ZIiAvUg1_^J}RC޴oy1F<;1\lm}#QBQro3SS}sbK@*b ]*G* z_eH]Fblet-"+m?bo/%6W`|Y}'v~O~ݜW,*BYr05GVlDUBEU8_۵iYLGеW3T`rrMUos;r~Ҧ[;w0hm=2@WbD)Vq+#`,w1q蟕;Ӛ~~GkNޮw5CG ?5O2bRGܪo̓'`}EÈ5bo93>C?x |2$oZǷ1
-S0Hzǰ"ťūo#͛owްE>Q3=ɜ c"a;9#{ϚɕzA$^?(>MvL? LckcnmUfJ hN5wqQ(u|ҩR楴 oEsL&} 
-]<B_7]L Q[dMgWδ.pQy"ʢ
-NX,zL1$BH+|[SȽ;-oF
-.NB|p渚âk3 U-|r6q`;Kŷ
->u__Zh[׽9cJWoXY(Rz#ҧRVie(\O=BBA\hs0<a%kGY8T
-W]6A0(yݶ}%xݽĄhfX$vɎZ/ |6,g
-(]a ` !{Vo1܌ɒڍR-k:H휶nƣɤ㺯Ѱ3=V| {:.r5fKMY
- 6h<uh6NQҨ%~0NQJ\
-E-OiĒzYO__Xw?BOFk^OOu_ihݮ{{|h/,lݘ򷻆$mJ{;/v&h6e.مoݨy5M{ 뿗K:~e4mR@\K}W NH1J 8vd:U`LTGR,Vp$e ̥i+ Ys5(#thqOū*UV
-|b3h i~:%:rZ9V)Q[1q_V,2eBbRzۺaz"a*e2‰jRy%s16jU幩ʓr1]߼hYtݿKo#,%7Vś[Lb6R7bkgR7
-szaљ{1JM՜Nz%gB/̑Q-V/S%0y7LO5/ӣ\sH&*1wdZ6 տ`QjGPH='^UKw+ЅEiIYg6V)<ޑPO esDdz#y,I4{(jRAj?f
-oȘbl+fjnVr"t1<47RUSŦF7kb7vB;*3ZdﻷYA,QjP֍m!|zGLWsA%?Y&zz(!=U'${*5;JY4AgapKp ,̢ zɰvdWê.5rmgT:zó&dH_ȢQP;칫PS
-,-ZMQ7V\n6#{i]C*# *{۪QQO}fnXN㰓(%,l/D!pA׌)6cKMŻR)ҢBP}h{e өVnek:v~ȼ3s^,:·0v*j\-`{Uk )e6IJxE7U>БDL9$7PqyOij[T=c*fA.})FY4s2?P>%߶<(jrF6d)5&PE24@Qu^Z8K@x>)1,1d`;;*U'!lbv3jCLl *7pZ~zcշf/<F!0n!P+`&oDBsG'E9:eX%qNiIHI&HdTn*qvV~wpQ }r _ӡwU e(za谲<^.rciq[/TP
-qia{_Ɩ =ZI( q3%؏|OaR$D56,Uq!$e[*<|t0>&V [YA|f<Wq6J٘[촢ds?vK_ź!OUa3.04:?y֍W(]z6ˇplC0ijFz5@PϮ-d‡
-TH0 ml$ϭ+S^11)7 9BxFcxc.Sb}#zX]g8DP6 z_G] ꐗfe1/E|A&ONk!smF
-_]+&i1OtH7}V|+[Csg ˣYsݰG_D͗!{lV&$gSp -
-ST0ovdmF3gb065)X
-X|OA5Wdu8N/%8nm*}uIHIY{}'9a]zGKӈ0
-8]Fٌ/-$.?QuI*eps_Vq-qJ,"oxμwryZu1-{7e  7c 
-~Y׉8d0/ML4
-Qru 0#F:.5@C}S{_mE<
-
-2(>;ܰ4حHhZYx ê7A7-=jMyBӎJB /)xAeEPYa~M,6F(beGk+&.R(C~<g
-ruR>MA) K"N׆xK9[6xz4}]=>i>$-}*UEM?Nͤ?-K䨺mo ?(UHʹ0Y|Xr)cDZeSv~;r3Z]dQI Ԍxgsge%fߩr]C!f
-9LMs4y+-ἏvBl,J7MJxP#fS9 d8 @66D*7N[T2}d ,bd50N #GR~%q,`3jnk^% cHe
-҆д lO(N'=R-nʢ/675)YW2,{!FY Y=HQ \ N5%X]3bsHmYl?YQumh\h!DLV d$)J򍘷XGeC)iqQp\bU/!8^b}.V҄o&E*
-eOm7UkGjuQŰ(j,K/MЬ{U}*0% Z;5~rN<I袎›3chK5.u(4jPۘ rd­ܔx@XCV$P]Q*ټ6uiփ&*x!DQD9sϸi2˫dO{qs[,̈́Eyۢ_>$<k\RR U\oĢ7Tj)݅WKc3c{^bV$(l+jXݪrm<L}U<LRd madyXEVx4ɂnᦖ%A:^61=+BpmdYWbH
-U̱X R92˷5H|AZLXEW[M~/A5A*3!cDގ@jX~[EvUst%Sd,osGg`5E}<j?Kz!S<bdJ̥4+QSt}H$22KV`3,1+{^7[o)`tΜ1f2P]C"Gm$e_ĨؔkMpU66EE#9m#G.qYsnfikbh\l~DtIHhn9+X"X*2 \q(t(eccnݹ7+R1)uڋU"\y),quYd.Cjc $*7i_@BB[SC>WUTWA[c|
-0釯dS9EMzSyCY-}l̛rqlӿYS~kų6\X:|U5A~EY(N/C}:kYO{rDT؊M9L<zJ/1>\cmWVUDL>/q1/x zzZlQ9MF:F%TnN+ j3K=83:rU Hm^vK`oc,JO$.rؘ*M mwRC^BoWg޼k2a&Vh.*1q
-(ݯ6q RfrB z!,'otn.Fo:kpPeNLU@ՌZyY jjHaSU(rYwrQeGFܚͥЙ_𪥚G*ݥ}>zhUXa.vS0F0 W2SrʫO
-DkuJڬTEOWTs,)t;e;dI+~g$VDXL}.Ր C!Фm{ɲ5&mk}z ǁ2٩JgY{PN }mO"ղY5 @ +.cb|g\M3}
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 125 0 obj <</Intent 133 0 R/Name(Layer 1)/Type/OCG/Usage 134 0 R>> endobj 133 0 obj [/View/Design] endobj 134 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 17.1)/Subtype/Artwork>>>> endobj 129 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 128 0 obj <</LastModified(D:20141003133307-04'00')/Private 135 0 R>> endobj 135 0 obj <</AIMetaData 136 0 R/AIPrivateData1 137 0 R/AIPrivateData2 138 0 R/AIPrivateData3 139 0 R/AIPrivateData4 140 0 R/ContainerVersion 11/CreatorVersion 17/NumBlock 4/RoundtripStreamType 1/RoundtripVersion 16>> endobj 136 0 obj <</Length 903>>stream
+%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 17.1.0 %%For: (Roman Nurik) () %%Title: (actionbar_action_icons.ai) %%CreationDate: 10/3/14 1:33 PM %%Canvassize: 16383 %%BoundingBox: 6 -26 26 -6 %%HiResBoundingBox: 6 -26 26 -6 %%DocumentProcessColors: %AI5_FileFormat 12.0 %AI12_BuildNumber: 273 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -32 32 0 %AI3_TemplateBox: 16.5 -16.5 16.5 -16.5 %AI3_TileBox: -272 -372 304 362 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 2 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -27 12 16 1448 1049 18 0 0 -4 37 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -412 %AI7_GridSettings: 4 4 4 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 137 0 obj <</Length 2129>>stream
+%%BoundingBox: 6 -26 26 -6 %%HiResBoundingBox: 6 -26 26 -6 %AI7_Thumbnail: 128 128 8 %%BeginData: 2006 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF %FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFFFFFFFF %%EndData endstream endobj 138 0 obj <</Length 65536>>stream
+%AI12_CompressedDataxn$ɕ&?_4ګEK*Tj4 **tVf!+K=ڧ󝛙yD"5ԤH];{oMxwǟo/ MO7m1{|<?÷7'?y'o?^}7ojOto&<oHv~x>oͫaF˻Û{鋏}ûyG/_޾w& x/zw_oGo9Lk| /+_}DOΗF߿-4vw~|v*?$KѲ+[=i>اM{?ϟo~L㧯dS{W>h`"3_߽wBWno>
+}x'D=foL{K{[^[# +56I&+zʿ/zADK-ү?tY|I\}/-C6&o~=o1c꿧77B;y5߾Gݯ//@~޽sJ ׿_ Gޘ|}C~~zowr6G$jӇ?Б*{Ừ[rͿ~ᮿxwㆯ{O[wNi|G[VOx?nv-k7>n?yzg|x2AOO"Wͽo߽{ͥ\?I9û[Suۏ޾yw՟tws-+{Oooۻ{OoM{~+ lwwx;k"5q?PH:B|iWBko~qR%w=M Ә&!'70uiwOnn>IOIĄIN~Z'(t1x4fboqow}OZ.ˢnԒZ mjohv.v=] ˻q7vw}O~oaܟ0pGm8$ -s =wgnY-z=}mѸimx~܍qqcIH||ۼ9Oy9iBWKj}iՎ֨#=b zjV ;D2NyiZq:as<̻8 KZ2.,e#Mz۸?r9?%CPųe&#rm-fi=lO \D@[Ds4O[fm@O'ô4#xyFoYwH԰6RѸ߅ێ۞oG;r;',8܇i09Nt/q4iGZ@#KcӒiOSzL'|^/qhD-tvG:a-qdnA['|S;|vmF4-lL-J [n 6#7O&o5ѻuzԤ瞟Ed|&r>QODZ~w/H "i"XLc$mD;E-[ 2-f= O)&Q=#R9;=- =>B鎉&;>xk檷~VAN۞?OGk]*Y9ZF//i~r:(㐞lgd98NϩaE0 amjp\7P;Z'fɺza8[[&{ޅ؍/yjᰑǎw7NNzpNr dTރK>QhMFmY[5ܻ~bXR;֭[_8FwSB13yP:;xEfSF
+$XADzv?Ag(٨n)X#&.6ȸDGhr5s@<玖J:-Ӟ$3bZ5Pw `-=mOG  2,kN!P֬`^ᬞHkTPkKo?:ƶzF"[[[Cc\&kTtI(iG/3+ /@#t VC[Q?O|:nXY :6;v4B K;,T9 ,
+&JJڶUҺJGTCS Yoq9Q/m$ X} yЯKzz/ƍ#Jڑ ɨiN XO"d!ikIަ;y%"̍"(#C_c76s|:ܐ6P$!Db( ]$9MpؑfE%O
+E{Z,LKĀe<3jF4!J:{uvt"
+h
+${vzdaQXbT"/-QӗWozzuNQ#@xQV`( aD!gX{E{AMB !N$\z-(9b WalCWɼ-F^|wac"S0v8XxL^xGQLVkU*Ӝ4y;,اeoC3-k_\Ƙ>UnVӬmVlfXT4sFybx{J"J\25YLN7SBv- ֚PkKCf
+0Ӏ
+p`f611j'UW*ya:h-xXGfO_w X!McTdR5Pl.KxLQ $STL1]erAU^t֊,
+o2&0&b8:Uf"^L^I[?Y9[/Y'Z-`o6RN{R ߽0lY_X'cx/VpQmvkeL?O]^lqڹPk`vuQz[]7Y3Y/YIWWVǕLM\"S'GG7#ѷyJ%EH{f$ ^3e#Y>D<`^h]o܁:q3b "A-EFgs<ZQZ9ѵ߀B-pr
++YrͬAO3kF:V<;*ջVU3Kʼ
++F5
+W
+0{Q;8prgzw![*Vuav* ֝ʞ']t@BVYۤ͹XPT"bՆ.5[3oh=6i_m]>V> /ⵟx=!c?^M۝5:xv~ V~YEl-5Qu%aVS8jx?unآD
+cG' P"H[xcDio'
+$1 iB5&njUT;\·HS"q_p5gjkV34cg42d
+wƵbKv&ʯ¼0
+i>Uwm " T1-ľ/fɷy_v]Ř[Bju`IK2SM gP#J}:̓*Ɔ-O'fBJDIQc{Ij:'&%p9
+;::A%ۺ щDa~n]EMZti>)X78o84"{աu$ru\Sa3V…uM?ugƧ-tx
+7h
+9*/2A@H(,U.䝺r3 JSvgm{-4ƍ;=m]EwǴoCTSNHp`׽DTϧxX"u
+!R # Fi"p.uZ߮E}gmwmn]kӺKZ;,'s.
+PW%2\VX厕PmqiE{\kkmrKF#9]BzөNȼv$_N%Y5 jb/nL:u0n?谎nU%,KcH 8b0?[-z/yvwRbPm+EfVnO狐_ܿ_ܿ_ܿ_ܿ_ܿqߖE\ʡ_;|oa;(%ͥ6Qj$Oi#ld65m͚Y<M@$_\1)>xEcqON*U{ɟ܍|+bK8VX0$ ~M-"'vC;j%#Q6Y}{Ӽ)$7l-kZF)aqXz|Kn)$4E}'}(}Yy׬KMoS';ফ\v47IجLb~V!yXͽ>8O(
+-j֬%$`,ihd6ルZsv5]/W޺]UK^ gy-a1w:뒵d%(:{ w
+9iDQL*kĿho|ssXk@́ӦP&>Ϛ6S7DH$} ESbjSZ;nXd|j:k[Κ0 ok&wyjNM^W)?OM-jj;ȊƗ6[[ֳCTW)8z82^*UHZg7sX${7Ehf2<K{-0j&'aiJɇ KuU$#s" ;G@c>t_f(Q XȖ<',3+:֪/ckhZPCu?}f_d.3baCN?,I7m݃*{\CҰ5Y(ACkLZh vہ*-`p%4!$&5If$ԤZ gNuԓO-O^@yrUG 1o]07EY96NC%n蔧:ٳ&2%΅CFqr:j]SxthnۆpѲӐef__Fo$7ڨނt|XJQKMi
+ؚ"x|:OJQSrpfq% ݟr9r[QB1b+BGHbXLlUV.ӕ&ռ O)b7A;%&ctd7!uOsZdt<;cct5U.9|y(b.E\[00ޕX&΢#,*
+H*~ (!u8:<PHQnDƷ.
+8o M:iq†J:qнWAcCEv*xn/ HilY274%AX8kEWzPAra$j=OAqFpwvW#DTxF)e"V $i3ZgD糸LǙ5II7:sV<C_OEZ1@h| ĸ,"JxvjFLjTÕ6w 'cX؅՟gSRݖKªfq6Kn6]s4>y'ML2)EE&H-W9-5Nnjy㳧=j9~0feIOC9 {&>jl.%[UV֣ X嫭0CSD#Jz&G="Z-\A &_wuX PMA;Uie)B-toVHٴZ50'\.lglj4sJbХ> Bg g_9,ġ!>g:NRc
+Cu
+ugUǞ9paec`ʞ-zrR|4.%K./ \^$pyI%K./ \%K./ \^$pyI%K͔lK
+.K?rkm*kUjhzNVf
+i!TAΎRƗ3
+.UhUUeuHoMmVu%.iEG
+"sU~0x==jlA\fy<ʖ,U@~juijMj5yҞJk׮5iUp~kͫ]\ ^: ]>imoVS3fst}^n7S~ęK),h
+VsOi:p=:#Vy&YhBPәWků_),=~Sp?
+*b._q׭W
+UZ־u.Ā>iuku’tq
+sGhSV%e\*Ͱ [tJ-^d-9F'*Vj=kY\OT8P-QĢ% Hقb'+=I)
+gE^}YgG|_]]*[:^8+Ki]D`\kHeU>{AV!gȋaA%p7k>BlUsuTsu{UXUn+M39]\tAiO.55GlP@+$>muMn0_PHָrI,.ႋ]ǵynalЃZE.kWݩ.cGh
+ݣޫ6 E(ݳJ?>VYϲ'C~$P{,ɭ: ,/|<'ڄ"Hv\V;I}Uhp-|ʁϥzgOW/UUQ;mz0szR0ͩemvOӚ fj;ϵ{wՄvgۺn8}n>#/a#{k?E T@'27N>/ZVEk̀jTطgۄ0AX9ܳhmϮ
+e<Z57v--iMh(a6jVm!Q~k=K%r݆+$y&&:uXNEn9_͉}26PIO_/ّ٦'
+RZ^q4;DWKKmC\yVmG~ut`ł[>t^}Lg񺫈 1
+۟znׄL%_y4yToM05G;Mgþ7 ݯ.??zZ@sK%>'YgO3]*q9hh0M-<7<
+&}F5>ʏ(wa98 C@'@'a>qH7keq>N-IW|"y[-~}^bux纕kuP`} pێ-u'}B> [RcQeY#ON褡Ҋ*%鼜zU[6:A6KÓZXXuŖ^[%b,7cZsuD/82X2Ud_`zNww\@=_1p&&L.~~^0nT Y _៟UE+XlRU_ iJI9judo, p-✹NIb9e3{a0EE,i|QjA$Q]kr%Ō,}JRR9RфkHz^kz<7m-(u_yI/yb! [)}Ξ",n#m?V٫)SCqR)"=3%h,x39_?nvnKw^ U{Wk2@l5oskWd!O9tURΣqIJU<=U/r]]m爾aU,5ʀ^!NkW!p]+b%u}q++{89<?USUkI-q<%qUFWܢuͻ6 RYȩ?7U!;e!*d]Yzt-PB7r74geU|k]΃ݬ$Q9ۛ[ɡ )UʶEz;:UnVw¶uO]86 +aF~^u~찖Zy־f *"(T!UQEV&WmTPETY9yaNsnfpϩXktZV$2u;PJEǗQ!GQji.&dA2prXl9bRՀ_GX'*s#{% Q9.W{If/N9Ҥ%"0<3ѳ8S`& kmy%>U-.Շ_||߼zU)w_}D>}|OZûܑg?mBo2LB&N3f~w__r|-@=|KWϞ .^l>ͧ~UlûOx}_H9{^yO7HokqbgQqK/\7~HYo;;À )/7 ?ט7anP!RGmn& $P3]e|eF-z8͞?7讙&'HSSOgQ7Ü0-C?m~Ec`P"a<_, : 3 ,j ɃteH7DFnY*C/>n2J@R_O@
+B1Ote>Q
+z‰3}yf\I=@_GbZh-6HA/|9}2ֈXG"BƑ
+62Ўh+'Ot/1 Z@.`nRy 2ş&A°q[AVF7߂!AgI]&k4`H!{Gtd*u!FA1%hfH)d畝Fq
+#1V_gMi#+N!']Q7MI@$DHVnfyUc]za1(`q^4ѧ/?26%iin; c  O )sHZ)";I2D;;6Bl ;$O܌(3)A:gqđpmoH ^,fY~Ⱥ᳑KSF'0AT 7"ɜN6Dl!="jQu!
+pVwP>Ќ8$;:!5Ge
+:"M҅1j+Sthb^{Ig 4F3>F*He O2wgWx/R͉ "%piV䐓@XpVNFEDCHL9}lbFTzY)'"( R>-Og1K/q:g
+<3M@ ϒFXX 8ŏZL!򲸪W19)}b>]/ ;(OO)3W~>p#mǀ-^f2.E]3j3{b"mIR{ Y~Nh6}{yaGnhp<52:CqBYh<@񆠨)C}%M
+ /xx ȳ3UV)DcabV(\ܯQ̾ܧ
+C̓k: չV8 =N)2_LW侲LM/FpuS: oSMX,hlr%Mh$. I0*rTLռadPIpUA2vx)84U3kx
+5Q>?FQs9+-ȣODF,
+iКԨN~m(N 5`oCZv쨱iR|è)8c_bwN'^sX;Ss a~;t0c uӀ3f8.Wj&_0`
+ܦnpm#TLuU%7ƸP6FxrNϬ?.+Q-%Ʉ:74F>tˑnrY `DV2\ݐ­r.+bn|Bݞnv4} 2,A]Iqci̸It7ZJyrXnu5McWܨlf]t[wIub67k5xḳ`c*5HLEz)<8 KVkunApR2HC Dx g_Y0M\&a1mL,-CSc' Rc$.RJO',7 a󤽩`Ae* ,*SVJej |7|WF|1 *mpعוUsJ_{hThFd2+̄(L
+/QV}g٨&4x]B)ϳ+Om\~g!67FgV!߶WE!fA5Yǯޘ.W 1N{}Kߴ`1zt^Z㛗pq3 !
+SwN6%+.5*C|F|!WYo6"qY/
+f %87@ ؊4
+Q*;v,ν-.PĪw!4Q|0ȨvLRWBWQ+>Ȯ>y[#X~$^ upy D}:.n"݉]o]c}wԐ; 9VKZ)S֔D q.DmZag|RB*WgY6Y31[% f+܇Vc1Ρį% )@B@<wM)+?ܤ;tcy 2ʁ)(ڦz6 Y/VF9ud+]2zbh^ꛋR9(`E"X>d"5}
+b~#FخrFam r|O~d"0j@[5:C'3Yt&q8M֘
+A'O asq*
+":٫ЯMU
+wN.dѯiJ<ك/A,LG\5u@(>;IJKpCOA$,Fo|JX;lte_,-bA4Z2Qhѷ{X|.fD=H/)xo j"'Ƀ*[1< D'yJcAiqS
+4"AX?FX|64Sxf&
+b#ܫfzcCY̽^5g/h|?= XgZ
+1iļeL5i&ZRIhJYEeWL…[0gdK_Ou3+z$s/~ƞf'$9*?&$@D?j33=dJllIkefdRLA
+;`bgCMбs+Nvfgg
+å6a΍a{vu
+宮jȷ"q5<D/WrMwy<ޥ-W7̓M~4.#Z
+K</M r<%A5Ô&*T.jYÕ7aeqIbq]+q2Gq=ӨlV\nұi[n]ʕ:Ljq )RФq@0WgU!eӼl: Q)3fK;
+~SV`v5 *nQ+'gOh0Vc 퀘o~͚#$GNמIC5OOwkPC#]4jdMr4P.G<ANP:ڐSa:Td܆v;ޑac7gevbXt~!Ÿ vw"w~(z0ƒ/\.4.:7 A ̐fn(r$.]ErD %dr\妙F43 pf)2ZY,FEf4R+Tjr!mXEUKW#=̥b\,kx8Dgq}&E76ڃ]p!nlgRcOz,ZFn;uͫaXsMsoL94󱫏ndnLE2ZզvւNq|4d&<=pg=0|2c
+%SXe-ϡ u֙ w),詬5MSn թRT~V/BV
+mYbXgm*Y| gpU2"0 gCA*3=EUfx3~'ؔ՟7SjP5y_ʄ%ŤsdYs^1<. ^%8; u202RoHKJM lbeOʤ9R8,JY ˷ Ye-eKXzu40,[B'㛵J:[o]hGmy;?> ~}
+WyలJT0ϫ) sPaz@lXA8"GVjSuf'(Y:AeD( 
+e., C!6uF2e( Yg( ^MQ>Sw7j󚶥}6|hfO@9gJh:_"DIpGQ\UarUq&}@\Upcj(ɪ`?
+ObɪFxU1jaXU0DKVGIhɪPzš*'-YɪFGfɪ pZdU
+i#,($z*HARUfz*ܗJW.4XwOKWř
+^2'#p- <# IhdU9b~?M|A
+OUު\&(W9g_ܯŨ" tBKe\]al0 g*ƩGh$Q*BVj-(XI61jUnC\NJ[ s$pprBHa^.")WG"vRwGIjSKC4y
+ZνU-䔊^ Qo+ E{MqR }5s/+.el 3:o9dӊ<rO ՊADZ׋$ڬJxpg5*#j"pkYPNR<ZsRne39K/E)EGRkyijW}.$qt_SUdЯ0JQWE"JΖkz_~~fjcZ>~zOۚ>^&̫Z@^YYF@Uj}Kx5vX[b^lC+lW/ڋ/E{#} zּNps$K=a;R&^بE)rlB)OlU6*ju*z)gsM`4b/ڋL7D݋Q;z Z-d;_?Ai;4w
+L/lˁ7ˆ˕ᗫ&x5sy#cxutE TMz. y]F>Bגo7/9Bw)7Ңwa-<Yj$T; ]_d '^8#-o[q_U._c 𬂎IէĎ,*gUz-gܿ)~3Nu*{תFCbg\#!A`*u(
+R& V*LB
+cOJP0`L,T)0pUc[6U7gM *<oq H
+$U#  K"JU{hS;V })s^c}I#wpn 4L$2+-pb0I#}8F֌ɦH:G~
+iw:{H`=f2E0$ڡ, C2ƅΟ4韹1A 0f8
+yiE(l NX"Jܥ6W>&#tsx&JBm&)&~W͂%5qLL$0w4>L2!6! &&N?Oɢ *= &8R.`'Dp!U^q )'e&ԧB(SV/iWps>+lgO`\df*IAEQS]hSSމ?Et3-(a$+Ki)L=MJ0Q20+I͵ -.`D"S0ϤE!DGM Q 3)=r_F̕U2"lRCxvLeؐVqYҕ LTg<Ϋ) ?pSHLK8C
+ ԷFԗzz Hc0re
+bi@ " 9xIX)|I
+h8,ce BPj($a;߂5[a@W@9;!rdΙatӏC~2mCN&~uJ0mCqu䐯S/*SCC`:]U:;Lߐt ;@,WsAܲLҭHJ0\7f8cv3rf fcqyM1\&?ܬsJ-TWUqS Enrj'7M|X1s\scK~nTk$D7$Y t&mJ«]ua#e7CL]̕VMb[Hq-436[nU 1Ӯ)n
+^|Cn)ZQ%s(8UrFdpA3jy` `:^@RፉeVLqx*)R2إ<7 )`p[RU *aQb*kP/UT5+WYu}Kȗ+1#r)w@a W'xZgvhFE]($!QbZr<puO+UmP~_"_(Z֭fVQhn*wVLe2-I]M>5|uB&{E`%A , {AB>|ko^v0$
+]eJΚ{!WD8@E mYHQ$·4Mb.g<JB'@AC@lT y_W|
+ٛj30fpRagvZ4{`X[G&'(j,Q3
+eQ+mڨXGUuѦ9z840, ^q0SݕelA6.8߰kSy}"2׹BW̙}-V Ή֬#8-7B8w8l b0sURqvzkOY:GX|_.hcY
+Òz/a9%g'\f ڃ%McVe`vՆ< :|p&\9
+x7-vYa$7\5TR%%QXV_G" $+5p*3
+X <Tg
+\Tfa
+­wwUO8N5KVqj"EUbf-H VZ;"H5.v PL̆kU(5 =gj^_H7DxE.5J]}vjЌK=vHD8O|ȍx[ߑbX`)v;)P8aaW i+<i2q5x:m3mPs|ɓ_m ߣ~d0Qc|
+"-J "qQ=Wl JV
+%%gws34]|V;sh_f9,+454͘VԖ5BLB
+{N
+%!o'Rn$mEqodIxVa 1d4%ɭQݾ,qXˣY,aT9hqn
+_l(f]Q=شJR|Y,^wĻi.q,lv%.^Q{-?,"o$,zV+Dz?U},0eNj沬J̍2'˲>X[_ѾFk2'*5)r 0iMfY*ŚK5 _pS?ʴ&sEm2SXX9n͸(0 E]PcƢ\f|ӢZ= 2g5$2ׯ t.Eq/Ȝڥ2M2'(`_O$=~({Y[{ZoygG=. ¢Zu(ꐶcR_>3{,|y/,'$?|Q>>^;/{MV˓"oiN_vd#[yMnDύ55Q_ 4ɖqMf]7)CAkr+Ě]Uk7Ěοk2-i5 }MVVqaeL-0{kڶ.өiW7\e5H%[\eqX:Q\^V3,|p_y krVGeY-27,CJWM,, YӲLF,A&b.D\qXe* Ī~*g&vS$]R1vSZTݤ"axfMu2""GdMMRiuP^A7eF k~t#sl^A7 fЍqI&n|CJ$nB>n|/;imt3MeUD΃n:N5n\aQZ^#~o8 n_']Yhۗx=|{BoN5Vʹy]ykkNWw7,b
+Y~u=mfUJiJAuU
+9֕4UW{׵xyڻ`]A;0ʦwTʰwwZvȽi
+co+hb[J߼
+twbF#7ҭc-6@UyEyNW.W2Iۼc/)n
+M?,w;.ݽbPL557CHR4KIkx\'4tfSsD[\. &8p,RVb.)oޥ@eq̪uc*4jN[YVSW^U F M 9HƠ~:@=RVt4jbmwg7%>}%h;^Bg%RZPYJuAY\^a^zUbx-諟4]H9b`0]~f3WPWAP\r{› 5\ig[XOF>8xaF'IQ!\mo}a0?Σ6 6:ҏ7|Ae1G}Eܝ{xH3E`"vʴ@<RBWdI_M@+H}JKlC߉X/`19RSyg~\IqBߤ_dMWa=B;J"Zϱ(e%J)S+x?`R0RZwϵV%6*bPv%y%H DTlTrĹ8mBXE)w9uE:#‚`3l`9`3au:!Cv
+IAIsTʎx$%d7\˚Y$]GlQ۽SpK>\
+[J…? 8z(؜~x7,ʙ6sqJh(؉&
+uhb
+-'"6Ҁ9vvTΘ8sh04Z1u#[)J3ŋDC%GPR:tF~mz٫G/V;H枢1<qǐn iy伈Sb;{K9.ʙr.V˯%M j 'f*Bbo zź[}QW,:΋ OؠXҼadXPռ!xR@/ ^Xa\
+֬+>aܙCQf!
+7=(u ǧ1L.[;zl܌;=a7pj1u<to'Aꊓ3v^atU!\I8֌:R^IGm̳Uwyo5 gq>9O W}nDy6{cU<x?R携$L&`L1[¬D#a-:oݤدu=xb0sf_~д]Ŷk?'UXU*C U)v] YhW"PWJHZPERRc0fk,#IkW]&dk|m/H+&a1Zp&f[>; V@nj@|k%f4FY8"Wiyok{Stm@v o,(+H4UG !N7xZKg@7;6[ZvLp5A>:KXsѯϱvL1yQv>vޮ=@(ux=;q;B=07V&_ak~{u7((+G.\CbWrX͜ ew83+
+sgHqz72PF'%(2f3_ڌjL͙$Cӌ!ݜ2웳WI.9f9ˌHOjsvN nj(D=ct> b$LsT@.k2L-2釾FbZr3Ks&<rqt2ǒ.Cb&"s623ݞH%g فTw2uX&-Sat=6=d&<|a{ݳͬ
+:GoEkAGxBķpQT=t4;_,E mqv*@WoWПVw~MLOb'1("A91&}XA+|<jG߉;~i*'{!?sQ i-CuV,bzC"<dnOހ+S՟&3Ebs`gZ\ 2m%b3cQJ[K A m1rGK2}eKye[9|{n7,'愑?'|F9L2'|9ȋO΋1s{V[jEDx
+w&C0X7qk;OVM7j:?+0m2v/pFTkkGr;8{PE\L”7G?ESq<UbPA~N+-y.tbўS pLq7ݪ3Xqvg[3PY)J'myӢ'x"?*G9r 瀝~e9d*o[<[3"Pۇ8!>Amj/`DPVui#ԅmPz0a]&'U(jvP ^t:laphyn^-eÛS<ap7v+ؙ;}F2ŶU*#<<IWry ^ŗ)ʆi)q檺4Dkvجyvv(u%I:N׺>?t}YWN|e"[|wO|qډ#3x/U|ddZϺ_̫EӅ蜍Į Q{_WL2V( !nYGon\RUO5/N8 k*ƈFGsMr|~UPM*mzUi}K˲dE~PGҭI4Bw< {42-knTL»D /piO4j\RWVlv؊P]^0R@%u*a 7 abb3ϧՉ̩~תQڊUr
+yƜk}t Bu PV)KBşjM߲&dMZj&lb=aQ3{q:# J^ ":&>[u^V« P{ϯ֒^IuOD7IRwa;K3 nUe֭DEq_nrX&lBD^:Vc mf
+{ vwS|%~!DDurLBCWel#'!S\V-&C:-T MR}Z 85A׺an}2*4^9 u>b嘷+v;MmTt jdRQnA. /ay)¼hϩ#y=|;I1OsySͦ͛L“b~s@>>:h3rȅD)cȭZp)J"ksEć^R n\d, D~PjͿL3q-nGt`5 ts+fobaȕ{xH^Y?I͢Aشƅíި^޾wǑm6Lߙּ6fW5rb#4ZW[F쌴|gQӉ{<j5=MtfiW? qFa-Ә6kY̡df cw6|Vfm
+m[iSURr |wi_4gueq@ Y+hWlfIGuqGskИ;yc+Υ 7hĽqSwoCʩ㘝bo<_3NM_ c}R\]'V!N?bK/*ةKp\+hҮXH_2iM>^r '_t}Ik9|I*;]!Z<Lz yW"䶦E秗v/4"7GZz|NO!o҃,^ѽL=y+v'J;{|.>2ۦnn7N[wI'K<d8cm,/6<Y62g ؖF̛
+5[$.ϠhJ3QsGE*׶df-;:6oGhL<vL>JFV)NԦ(o})zueb1$YlqNp].Y꫰2*#Þf^o.VLbڸúxQ-WWΠ7I,Gq`\?lfU=bab!jmGQ:qOO@1=hy1bz^
+8.vW:͵{\*n(L$T# :Qy6kuzT0Gljm1~PqX (>1響]#4%QxF=Bexw$zѕ-^?d t 6X`eYhīNyǙĘ5(*qjWB}i:Ћ$bxQ35Q1ϩyP̆3:Kn}VGBc<>;7 S 12ZօT~AhAlg ?}XݿXm592Z|ͣr۴x 7WPթ Ze0ʠc5NG_jP!`a05}`p ڼ_%bi_ksTLsKxLTJ2#+*ƺ[RtҰlH+JE T*|Rͪ;Fz5\/)CDJҐPKыWeV={ț*{(T,5ƨ7g@2rtM!
+߂1gqiTFNڝ=}.BuЗZE?_&h",ʽ*-k=4Dh;vYM|nZcGOtcNI{7UG(UMP69
+22@!pad|8F?.b2}gZ"ү?0ӯhMqF|!'IFL?[QyDq1yF-urgozA2ޗQM6Ft:̜۟$2HF&B9'e5N[Fms
+nΒҌ|䜒3<=׹d;Wc<(7ϕU|P5,CJ!\3Hkkd쉆JaZØk~5_<I3" tk6Oyf7)Au+sKk9E{yϚ{u1scYfm@=Ֆjf3I^zƙK߹ G;Ӊg1LMNN}0,g2:!2iLN$ӆ%Dn|2;m2/ۨF+n,йi\u2=mqGxn"3>53՞[Ҟ]kOۏ[M/6->O֌1
+f7ݔY pi{7q.1Fc_{0Ś\D b
+WP b
+4KHg<X 'ޮ m1ΑERJ"qGF߈6FQ +CO,3D՟w|叺ߣ-m:~H=vU֣ԥ1^TZ=zDûEa,ڭo0d'i[!/ ָ<_ecK*
+ܷ@iܴ:D.'D?) }}kcVVՍ,aSP~G6q~#S# U}M>^ݷT&902#EH~lȏ%k֯اq&_Brl~x %3X.2Ma>]zPULuݢ.g=~ߏcV8
+ǵ>3V+UVa]JgF,,`7)*Lεt,W.Z),C@^]0_&ڡowfPKftYfUQ4V${TE@bv0>dFs0#vPq?nLՅl+CYEy<'QIAފC]I}aW6<¦b)Y]#w-(#"/a9;2F80U(NNmQn<,D߉Т$Mio|·LY+ǭMѠq8mU]]_G% !)bx~3+D
+X
+I4kص+zZ\=K\J?[ȫ<Ņq[~ vZZ$K`Cοg~_ 澛2 6,[xA_~\.EY?(NqKP2F;  Dt.3ZټJa$ ~l]S?- 6U y}}lmQba5~a|U|~_Vp5n귢-D7 ltO፵yaQ֟k<19wr?h2|DD.MZTS5$m?nẢ!q͢qk i;GDyR }0̋:y/rx_=ߵxFw2~_~'7__}__0QMS۾7yOO/w~ow_w[W7~_}}?}?tW_}˯_б??q0}Y+B?/~~ݿwO~)?x>|h?~˿g~]7ؿl_}~:5~~cO?_Oo~W}⻿*XvV
+4_uZdђw?1!XRo?6uS:6^gr㛾h+ N?%{ӟx3~,oOnD.ڙ31(J/]C6׽\ڽ;>\b֡koݨ5M[{ +u%":re3UbSƛL֛DV#h:H߈I
+ *,Iy } 0Uݓ;WDIi+L
+;<fXK-sN^*iS
+$P
+8H@J@}Оi_0DbEY|硹pRj\v-7tW:4+Ѵ3e=cԷ"qYc}?G#oXųv*UFgMˣqr\sަM{wދ7wL^꼡m :k%Zu]] x]h՛Md:nWê7մKArG+gi )}Ӫqh/ld/M{UU_U>vp&*%9ԧ$7 ze{i]+ -jݪ{۪QO}fnX[갓h + i)`i>E) Ң0}ý+Jm7{5塖[~(CgƽXd?tUZ' 3au{=vG;Nuui#$x;:[D 5#Q;:r_A onz51B2K·a<SIH͑B\쇥1hܿX:UqGYE#N ,CWgp^ސzZ5JRfCL`l*/pZ~c7?0yS7ܸ&&oDrsG'E9:rj!X%phϩtߡ xN)l\QfR]ax,#7;x1 !r~@e`dX5:;O 0T]k:s&j-lꀹɝas%. /w+ͷ0aщk5f]V,JXZ1~Pd4 q5# 9𮨰iA.O { b2?UED<g^_~f (*Q H%N #/z6dt$Ji)~=%SMFFqxx۰Tn,B$D˶To. `}\/Kc j>Vkj
+pEӘ[촢Ds?qoƗqmeӏuķK8 :
+rVT+0ovdeg'hFu0pboD? 1z˝%;5.Ev7TYBg\-cp5?F@&viUoV$I\VFEWMխTlMo&QU-z ^mZ?6Ӌn $[JG>c]
+`o#:/ \oVD:je/74)O>9c 0\.G`=7|-at^m骧G0f}am!yru3OȔW/[*Sb-j3wҙQ`u >oaZ%
+؇1wwӆp$6x }XaX"J`>FYyFm{̱İȑG4DD\=H(冑~K,P $ljngQ :Z2@,TcMv%TaS%z')^iᢖqLG4kS̒EK{vKJmޘ Twsdz} J`t,8ÒĊf{uQ܃ 99љ`<JC7, vk"V+?^MvHGF%pT9ډ!1˘,;QZ&G#$iVH&KME
+XZD8d]q!w(Sdƙ>S^ib>ʗL9LX2]qR6(XJT݂(ξ֣ V'RlTiSJjq!0po,궽Y"p")g=aaǖMٍÛ3gLVͬEA#Ĉ8S3kDio5]np}Juu Lg Ia.h}8V-Gۍ4l6i{ۜeljyqfRRtZßYBP . ˱'I8Z<Y\`廴-B(~lX%IG 2-vfX{bPM|$(V,keEa4+dr_)\ QWku-pH1~;FbͲPÚ1w7.-We[$-v %Qbl=]NHٝ\%]rK\3<˾E C%U}ݢʊf
++!EtK,זΨ<?璖Fl+& :̽䭴>*ʂ
+QkH+۳4*EBTrrB'@M($Kn o
+7va>TI%ŎRM?bâ,P6A=TU<B2j1J>8x6E,77'ђTk\nQ&hRkS;An4"U4 ؉:=~]~ul^ ֺEA~!{IHV83nu@*ӞK3aQ(g꾧. s1[fTDC%ŁQ[
+jwBchXL`&- m("ۊsN=Uzj\Szu<pa7B 2uV-VU;(^%Dx]Ix.⶗MzyLb0Yvn֥X4=RBs>Tط5C|AZLXEז\M5A5A*3!cDގ1SA÷>*(JYbj0 y Ջ홗#B 2[ aQ ;
+K%'up(Idne*0Yb6WGn`2&ٗS&)a=4+鄝9c
+p]e:bD&աH˾lQg)S[ךllCsFr3G3
+\@NoݪVQIi
+Pŏ~ңŏz$Tp@,fm{:ײꎱ1 M֍ĺj*1j^J1jkgjG-3m,G6#8KQ{(B@zz*;8vWVe㪊k +Hsp0#A V~
+ujw6+j2/D
+ ̵9h$MWCk%[bЛ.'.
+˜0gkjFskwh+iUvU^<vOFҩE bZ&WGy3٦]n4γ<~H<4'
+0O[<ZaTǹQvi[-31ZGjj_Ҭ|cQJ$qQu{T!/#KUel3~vr}R^H%ڮmҟ˄:xZ꽨PRW_=m@l(3"@ABXOh\Tt# ^ʜ*祙j}k^JAU¦QDw5)ճ~ʎpgC4_𪥷J*u>zhUria.vU0F0 WW2SBO
+Dkuqٽ2JڬT5OWTs,)t:v$}3SRJ"v,F-K5:(lP64*n,}IZq #pyvRGR0cFjA\۞E
+sX5 @ + cb|g\M3}
QY&\
-ԈJ+,5rZRaӵ dHui <R|X1)Rd]tn%!%pXSb.$-?+*qߧ0"JC<_{x
-W[8CmPlU/p$R&
-4v]yх乪i1mu¨~5K"@@uD5b2r]Rڽ3sG H6w{ o9MjF&cF4X:~<QHq*QXsXNO`0X
-iwׄ;m+cF*:J85[jU,"M8L_k&1m/sHdҜ?.RޗJTfҌe }"NyU݀i}. F-X88hd,3\jo<öR~76h 6*Hq$"jviOZ sYܢThd6٬rRlk0˕!q=oQ{HqTm*É,!ll񽨌F橤S=
-H̝30f$"$U bw:luO$,XC%9/r(VUB yWrp7ETJ3>m]BWMnio+,#:Yiܰՙ3:v+zjU$ T>5 hv=:3J՟h!ˍVPB81IYV1
-}V{sª
-r %~mfP)K
-ȭ:Sul$q(˲]Y
-D]ga}P=I#MD(#W@4Pd;#SZY[=[f~JyuG߄2t_&K+]D4^k^Ѧql^f^p[RED#blݨUi4@ԑ᢭FY9`mg^|i2Xn%ۮ"?+HwFm̺K?;YV@4eD8RaKaÜh\TBE0MeAD/3+עFTCFe9PMKٗ
-T7.g\vsVv/Mڢsjfջ`p,5gtzfCZBG[|yռY&5ŠYMoГps.Ϥf\/!n: <`3ؘ.\
-Y')W ֺѝ4zO-QQg,Z"'>:zEUwƹ|3.u7J^(Fl+v
-`)w^
-D^ڕ1&<j19wKC*yeH"cP+FgAg)j
-JՖ4tHKP.9L>@I0B 4bYvNF)2.E6mUTvut[f6͉Ωsnij̭P\{H
-%n*qK5zU|W,e᠈rzT~=lTz2espTđ<vX]ۀ%'q n(꠽Ht%D}l a_٬\V^jgۻeVi ܦLKk6-fv`Q)aU2=IḪ@8$”'֖sngjB2VGf
-MvfZQc(_E{.;^&E"\P"Op8‰BÎӲ@0EaIUaV8j1B}]6DnїMPw>e ֕tE7hmRK$դ!݆]XMIsZ ߑE1yJE^\wkB0zKLv4Im4JvG|,H 5i;@q#N«BеլOՋ_
-zr2h&µy<Kt8`軲Ew:qm} M%Evl,N*¢jq;d #~).?YIP9¶KLUʩP;. CA$%zhnbXl?nsPf=UVj[ug&B$UAU=,:8M荶 -_bѯ&!"tQ+5`Wa5b1MSi ~5ԣW*1@JJW0dkQ~V'fG5ǵ4]sSFf146E v~L*8B1oi!2~\CqB4ks ޶m[kB"sDh-bҍb6Gh *mS|4G1RۖqF͕w!]<qU.qCz?Dh2(Uݨ }
-u04U%,i0('Tb-fN[oS3Fr7J6ߗMf1:ILQ^`0Ȣ$_zUMy!<[QtzȦD6$ҌXgi}hmټKLMM7mۻéev?2.ŪBM镜6K)e7JqޑPPw.-ϩLE`KQ#»NgrfbsK"@1R&r"ZeʅWjiaBq
-0*M>Aj2=(q""_ÇV`p#گj#{ǰ;]P3q[խyf
-O
--3lAF +k(̈́P c*|!ddT UCPNJ' *AVZ:dL'R2!Ȱ2,oY- |  YaNAVky#dd2 oAeFay#* J(hDԕr' Q# AmBadDaYQ5b=dAƢ8!
-X/&AQ aD2lڸ Ä +"AVHBAV{I4nX P?d$T:,m dR'mFP iOYQ+ +B 2 /YeFkndi >!^Ј +GYFYAV$6 vdEAV(,d AVd0djo AVX,FY]7 0!Ȫg A&È +J0 2& Ab #79!Ȩՙdh
-9"*݉ A&  gvBq&YFYA&AVCuDzJJyDaDu#*{ю BUU} 3L$O#LAVFad&YUA5M2aGmBy@u
-:{'0nz&&> d23 23<d' #L'^g@OYa dU@V&{
-O2m}2 LD d@V$6dl&Y_g a$1 dܷ@V"%ܑ@Vd}@u&a dE]O։@a"Hm$ B+@u"a d Lg2}@/d<0i d c ,lA +"B@V(=dvFYN xddXf7 L e""ad\D +g{rΣFY&Y>~$}Ȉ2'@ S`q$a"u*8ݑ@F
-@6XY7lǃ@Fx"v/Y^H ɘ d^2 d%aI+r>J<@6XYd)d|@D "Ddydd@"^ dDD'lt`4YQet~
-FA + @VBx5 dr,'`dBt"1 d,3L 떑@֭A cҞ dB_2`3L #t& d&? d2i25;N2 di ditZ$292'+`K V8=d:n"U> d@w&q2YY@aay'
-tN1L_13$8cEL?eac 1'cܮ?HË?Fg)8NJh*1#Yc#ě?VHmN1B=3a3Ϛc4?ƕ1&:dcES+{@ܜ?fwkayǸЙ?V$䏽gϹ*kcEcx/#^1G8?Aڑ?F00h+:JhXY cGH ρ??F񡔁?Fh8NJ jcM8MYXVAډ٪4t=cLzщ?Fڃ?Fc1cE?\3ʵN1EOI?#)4
- So1/OAӉ?:qcBc>c'4dxJN1>+XQ
-pz̆=VV=Ǹ3zl 1աN11uN1Nnc1aF11c0ǺeDuDQ0NJ:ޞ1JgXNDISC =uFac:+1O{ ܌S}ք,zlJOc|=cf,/YG,z~=V$ ;Xog`c豢pˆ+˟{n<&i1^1^ =&i =Fi8Ǩ
-c2i X=f=O1g7ztFX'nccfcfcfyg,zLc@1 3z reF-~JOǰ1,3zLۺzLzl~Tc'Mz0=hFac2:ǸzL"OJzFXmF!BacicHcGO1DIkeD;c˼c' =qD=~Ǫz =&=G%zj1 l?chccici [ =&тz* =;4=6Gc5zL28?cFc2<c|fX]7zOyz,-#z,OXU=F5фSu@~Lj1E\'XZF8GX]7z 0=qD=1܈Kcici #z|=c|1HKc4TI 1&zL#kDO1O=GNzdc&z+15r3SSlbBI7vDU1 1\ =F1L1%=c'y, #y<"<o{ǔc& OyL3Dzj$c*c0Ǻc5RH#"j$pcUO5nci XUHcvcO5D3Ã< Io$9xʱ1q&Ǟ1byLO]MyDE#*9h cDKc$1h|64<
-zT:Z"dLU9c,BfLy̔1gQJg)R?"ƈTYykxiaBc;fr/\sZYG$˶Ś6(-]R,bt,bĊAkFa6@÷dC<ٮ`?*q-gg rՎhZ:(J`S@?0g3MHRi0jGH,l+[$$L_ CDA0.7|I\oRtթ4|v
-#V PE0ڛ]r }}o}Ppy+KR* LSL FJ6evHNx0l&`R9Ksc,iV}il0= `)}W4jkGPl kF1ԗs;ވv4K-3L zuu4%*qԔh0B i8ot2Y &sd{d0,]g2 w2*sJD2N[w09~[U+`۲\ Q: C!:$d0:$u w`[~e`q dJ1*r. 0EHIө`
-v(|A6@)4Ƒ`H"خc2:L;˞Ğ{sUrQm!Q`qM s0.'0q]q-!`]5qW:"v5^cO="8@#K *ᴮ-_
-[*6:$lT&d[;ӆ8[`~/t;Ku@bEd~K.bW_DaoՊI^
-߳0tBX>1WF~-1_ j(,yK/|{gN*Y/2 f]3yK+L"w"~Ix僜P]a2yU,/ZI/|5sNB~mс_&L'z!~ _:KIȈ_8h_&ɑ_%{@~/Ӥ_GXK#k@~m!!ȯv絛06{*)/ntc *+G+/ R3=ߗGkb ( ҍT
-iX%dWjLBϽ]x}i^(Te {5hmSߢe8#2@{ڦ{m%ӽtf-^S^Oo%łsA2t/ǵ^(ZTA@WUpUo+t5ܮdGнP^[ }X^zJ{3G>NBh mݲ|Et㽖P^[5E=jGq{l,x/JLc㸇xDw{ae#קD1)H{Qj({m%㽶x/ CSv齹^^6V}ZR@y`9٥[yr9 FznrmJ&{ƒ33^d/) {ao+^j~T\j {%%d/y]Į3}Q*~#R%ډcD^%P;"Ea#8|;}ےu7|VERg<-$$0^H e\Y uPxI" ݈N>X96^g1Tc׼T6kk"%\jLduظD ωu7V2K&3Zf1dе][HȮ%K9* |<i9`V2k2uإ'/v&.}Fׅ!;{u1|06K'2Kѽr,܉?HB&v-%.:g4=8 W_}L;@*QN>/]ͺf%vA vqܠΉ]R]<}7YNz*bUdb*@v?BvIw}d d:g Y>+K=%"qEbrb]
-=46PX.>K|.Ep/!b!H]L).a2T!/yB=s3|<I-. r-fW׾F;0y=]^.sױ CxҪRu0:kVf^!]"\٥Z#$UĚ E\_ہ](}6 dxvI} ׇ R䉪u)%@߲.5/^,vu*bp]uN&+.M. ץXWS຤Rp]/quEׅuXq](ߐk%,x]:&2K/T(`J ^ۄqrnZC N1~{. Wua- ZW?<ݖp]\k%axdP~e] ֥ʴ.Q=A=0h]VP\֥qxNк[ZWÞo**pZW-תԱ;D{
-{ ׅ_iCd\)"nҷfqХ=ϿX(JDFuɳ }($Y]
-v>SQ] uI2@]otiK,00]#ڥZ؏~
-"t8Gt]8ZJO}7wԡZY\Wy>\sù.aOes~vaWmg%sɻdvƹ\$2 ;kepZdKi#\*ٌ'VE
-s-ApIN0 Y@OT$ 7K"]hG84 Yz/c$JΔVp,&EkS$%(Y *-H*oi@"L,)ȐfA}CJǻ!YzE2$GFd-T Y-L:+A[* Y[-Z<N@4P,|%tH8 ^Bmjf>Uŀ< wSGh.<&P/5 y%e08dHmi3)ڐ,eխi((Y
-
-%DhdYl45#ãd)9eYLM{
-fDEe)YʜYW\Pf(YX=FdE\ dO^E2%"l^dє,nwd&((Y8jcS8ed)OD'(YԸ) JEz)2%= J`P,.f#S8RPdwJ{oQ=l]*홛E5c;&#}`jբ]~Z%-ARvduFO4jՅj)Y4%}̔,oNc $z\ YR-Bk,v,,\Ep`,,&K{ NZӳĶȠ,28(K'8Y
-6gNJVrcndѡvc8YJ(@Y2^) K, Ϊ>XY$0zYYn+ Ҙͼ^*e_`eiNPYfFj,,vT{EĂÚXv endstream endobj 54 0 obj <</Length 65536>>stream
-,-7+K0H L_zᎱAY ɒO֒AR@/3~øf"4|wBd;#n?qOӴMSHb0(ra~+,#ˎ{adY'#Kq`d5&,Xeut"K-Ҹ"Yz穩\U[QYD
-6؁ҫ}zsyߙEme%RU(ˌ,D*œlN0#%[dnPAꄋ],,2#H-$RAybda(q:Y-Yx+Yh
- Ff`dI`όO,bjU|p0$hbɈܵY} Y߉ du9m9da;Y/%b
-BV{E3MNKsYkdE{hE:D8=8
-cX;P"KתqcIi2 c3X86yn
-O:+ue8VnW`n~XDe?
-8/"A}c6G_QBO㞉f6kZOx,"2fݎ9
- ` db6z|<R16"caEtӭ
-뼼.X,BcXκ|(r_bEo6U ]}n{PݭBXЙXjO3X
-RuE,yس#sEܹV<3JwwΕ|Ij mE\)BmL/@:Qrw[llhJlE/`dZ6KX%sڃ2J3Q0V[ `j[E+i%^=AR ,V:fij–8xV*rf8+5r2tg%;}e"$ӭ
-Sc/;+z(+ 3
-1QK#y0e
-ŠR&.'Xi6l `įZbZRYXYP@%E+=҆fߘ2WAnc3sdU09U|/ptV@WYEK+g<]EO*lO7\*q
-/f<[.3 nc̭Ȗ>UXOCR_#x
-J9wM{Vq[jŭ s$R`*U*5fnсfd/E\w:ܫ'ME}
-ꍠ"cQ [՘Zl)}[mxa:ɧō$(ZĠVi)A$TtkU=読#\ܪ%dp\|ŮjO*4^e˿k2J_ЫZ[*xbWy;^e T*-lGUk]rW-%ë*U,G+* B*EmU0xj^E8zص,%ëL )6+UXz{Wρë$`*TWap*MA5֢Wα[wz۰-ywbW*sAN-
-H` DzEjAkƻxἎRMjwvUen]Yk
-; Cî]U4hkXaĮ2q&'QRS7=:\6g]\e]e9J1Af]]EPkRQ*$è̮R(Ixռ2UK-:VtIkm]!ԿBW!(UJsX䊐2EP]]E BBWmU=r;RJzl QpR׺u%tv']–:U
--Uݰ(Vz 8<c{V)` j̎s瓀븭ghWP*Ujާ޹UZ-Ua6UTk\bVi}  rU 2D>7JV.%j,5UM7/*5twrK)>399 PURA-U
-,k`I9aj/4#LYj"|s8#hFV LjNPwUv4WiDФ&籃VMWn?&U{dp4vj[2< Ms0im$Lpv!T",etB&rI ªT\İRm>XsU$Djcj
-[*_L|TzJ{+zpJUMĒ:4p4ڈK൘X Xu=r&ܗ+SJyf kpŚrߣhjjgaE.ssW 4Q n!^m^/â[n*cLZIϰ;R\Ql2"VYPx9ũg|!v[ 5'&XʽY[ՒC)6‰޴.5K)Sէ}V [I)9? i-vS{T_5 evmhɗWa컥Ġ7$}z5pB3CA/Jk]- ;wjaTH-pQ;Cg=֌lVROlM1<5i8et"?fH1%' Tǔ"Dj6i%"SZCKqK)ej,V:|(L!
-fݛPʅyb$TCDf_
-;at5.`jJ&\Zl4 yiHI{c:"`xMFɊ)9_MY͗Rn1J"VIddq3l^.TZYpDDْ+Ϟn(\'/^^Z;u
-Aufo2O H:752
-K;6K*g$B$́FBtk$1->0 r*!rjzBֽ~*RKީzVad<cU(<qFarԸ-|
-YVÃ˥&VJi}6'w+vjt+
-S]u&\PכEôi4seVgPNهfɶs:rp[)1i/|, V'ي4j7<}QkT;q75K\{89]'LWVS]Rbc>+<vfA۩]3mze5bgj0MG7'%blU}j֢V/CĜݻ]ziݣfWII^[n謿<}=x{ jWBujzV͝;+pzBV쫞Ve8}U).,0[
-~()j΃(f0ު= җT[VTT j2,q]q*2 C
--R6/N/]nPPLLMqD΃3EY(y@ (6gRss¶8R]ECY8QRH_) }{8a(a eE8RSE_sg;nu6+;1HL-4l/!>K\ĦoeܑKZD+כ,9% Kv,O$)O*L<
+ԈJ+,5rZRUdHui <R|Xб]Vb ӱ ٭Mג 8H1AיI(HJ
+b,{TO9L`#o\+!\*u܄mlZcW1zܪI_!}d{,x1YmjnkŢv,Kb2&+#PO;|ۼX/jTo=Y
+gಚ\(KQXs2$,rNF80:aJINkT&(퐏1-9O#2+3rU͗eZ3i ZX-m<UYf7GVr*GɁj
+/ 4VJo{Ȧ
+l@W!)T-;+Fi)EJF1EudDQ4G5r
+"QI0DT%c,MYf]8W'Z/&u^ r;p;NuTԪ!u6Y Ep~Ir;x
+׎:etNk_[*>><sVT=ާu̽XUAn1pIC؎^UWYUc3PeÉenɄ,ކoXq5X
+
+#]][hKfUYdk"m_.~}[Fj*DyYt/Nk2aT^0 w篩IKSIxbc)<iKA틗钌YQU5Eq PWJr+/ʃp ]Pur`K՜b>,Lb^$?
+l[jAue\&}&,B jhDsqR (ybԓ3h9:
+]}O@wORgxŒ[⚟V:*z R6 RY <T_gJ\ZKb3.+XqzW`Ys:<l!U?Gw02flqbY"mxbğE^1K^1xCwX7IVS3n&$g
+4"J|͈(R>` [Cu I2P/e }Ϩ$_/nz6%:dk7QFNi^vF(Vz^
+)"Y3떏 =lSel:SOY V]Gix׼\Me\ټ=ZᾅNH/G>غQ)i#u77E[`rLЋۦϼD>;e J]E~dWGX sۘu~q/ؙhJˈpX2D= ^- +9e9j2!񙷋`Bm˂4^gVE<Ȇ:s`$/Z@n\P l jeҤ-:W1
+X  bQjp֏Og6[:cz}%HW͛e),lRS = (?Lj&7ƚ=CRաțUzzbxJqfr3\W_~g7Rw/䅂`fqlMv)GIʁߋR[EQ7FpamjAPҎ
+[cUp{]>)R:ӐuW&XteXU*n7ڙiF8ZP~}V{0JيpC%<UdD ';N`Uū#jRUƨZO8[N u٬
+N|Z,w,GX(oq.+Y,,f1j.\7γD3V;02&ln|!G+N\[hAcgkD}-8HESw]hd?yŸ,$j(Vsa%&*{}^Cj` hyf =u71Z,T79Z(ՈL*+-: 3{o!ˆ*̠x&F[ /o1Wh:Ěd0ݫaG\^
+~5ԣW*1@JJW0dk5a%}2nvTp^K`>':eda& NcSڐ`#.5Q*PI1W
+rm۹߶5;Ϗ!$b>G"Jn!x^.fsF;F{#Umywh~\RCW:cH$/ÏRՍ:З qVoӢj&=Llp9c2aJ^M_ Xl3=sě(UFfҸPXS ̎4
+ ,1J^!+W5\Ϥ*ұ%U#P+$sٞmmͽ P] ,Gi4ˁk M-7ck^\- NM^UV qH5_*F|b+^)[>x0j$wSTiC}d(d{w5\=WEeIuLe)Vw#(JM{˛lIo*S-($ֲy>oOۻéev?2.ŪBM镜6K)e7JqޑPPw.-ϩLE`KQ#»NrfbsK"@1R&r"ZeʅWjiaBq c:Ėj]X\5lC㮏R>FZEGW|9>Q}%>ټ=O%C&90  i<]#rHe vZX-
+0*M>Aj2=(q""_ÇV`p#گj#{ǰ;]Pp[խyf
+ AVdd*" AVz"J
+6>!y#Ȱ2,{: L A&> AVR,d`ŨqY'l= AFmF x5XAAF [2#ȸAvoaZ0d\@ e"ayȰ2,3 '%GjS3l n {&z{Lr$jqdH[GV!d<7 = B&sf#L BRf20Ȱ 2Sx2ȐhdU 2oYYCj&P'SA& à
+`&X1FrbUZ'Y-ufU   ebU?dAefay3jiY-AvO0*sbUu Z˛A& edax3Ȱ 2,3 ˛AVgdUJA#(?ԣ?d'd 2l ''60Ȋ;]H +w 2ʼnAVz1 2Ҩ # `a-d& OY Bpdt [طH+w`aduJ. c&dz, ddis~ +2=dn3LwN{2ȊzY#d`ax1J-3Zs`u Kc0AbFY!j=202 "MAV +
+ Be +쀞 ` +W{30N b12겼d'AV%<3ȰM 2F OYQa`1L ,+e,/ɉAF C 81Ȥ42Ȥ0dd:idc 2 #d;&gM 2 bl q`A/{0kdidi AVy1ȪVȑAViOdoM 2h'/@0102 2駌 #kfUr#, #AVًvPk`md&y2dd2 7 01Ȫ 2ib[<2lL<dm̨RQ7z໪q`/#gbW<202 ~A&$AƳd8A 4dp_ ʦd6L 2řdRd&Y=ʛA 01숙AFrbUu} 2m^ 2&3 놁A֍ b2yo`Dady 6 t҈ >d#qBuÀ Kc Ȫ6#L/ ӈ C V҈ dAш c2!0a YeDu{#rAV;"FYQaF; Av{3 7 mDa@ 8!dd2<d=#02~"
+ +"R7S {BiDadfd: ʈ +"AF c0!Ȋ
+^B 6"ȺeD VGtu~ A& 2#ȰdXg,L R'Y9Asp|4"0!Ⱥ5d#]AFuF)8!dD#, [ AV2oAeF԰dXg,Lgd*wpFuˈ @*Lr@iydef`IY;n}D1dplFOA&˄ ә/H|Day#ȸAVȠM2 Ⱥ5d(| Ȉpde;2K!ȊGNƌ #Bq؈ +KXIAVJTq-O2 Ⱥ5d%O ;_2''A& A& gM2 #R.':d#!Ȋ-#pAV(6d^Y'dXʫ c9!ˀ @" cd%fYn  #Bdčf78، 7Ɍ CvF!IDqBЈ Kˈ K#4 ȤQDqDц8!^$ F_ @ AVUyDUZ'A]#de @M CdX&d/cg&U0@Fn&ս<d@Fx$ dD62L2 o#L@M S.a"YU@ ˋ@&\D #4f$Iޞm
+&*=|i!c/&?VU<dx01=t֓?2j3>|Qaݏmmma`*4c@&LmcԎL1oc3(yѓcXmc*c:u: K!o^@f76( #Q1ȈdO
+F'
+<c6Ǹ(/)u'yǔc(+~X=f2l|.c8o'1?V٪])Q5dc1Y^13W3ǰc3L?:ǰL1 /ƙ?lT1,3 _+ 1R>BLVcdfؐpoXrfBWzmt?qacƏQ:̙c~ 1,o?{8dyǪr~,ڌB1N1ɌS ?V?V_U)F 1:fX]OjY1Μc?Vc?F ?qƏeďM'&~L ?eƏayj1%~.?Ə|s*&XSS c
+cL9~
+~L?V%c5F&?9-:0L*~L=~L ?&?F})kďY|gď){Ǥ8ǺD 1"3~еOQnG#~|TO>a3t/F,~Lgc@N1?VdByt 1@oXUFOXjďѳ1hvxT>Ǹ?F?VDc?~̺F?:ԃ4dyǔccjx~wa}1>hƏqoY1#~A>lc1I1!1#}Lt1r_1ރ>V5S>>FeDc1("cU>1ȳ1xpt'XQ}QmcD_&1E}L> ?}L%/J&
+
+| 9wFݯ4!t00{KǸscRǙrFZ{L1gV=&Rkp0>19yM11=&`dubac
+(_OXQ.|`Yjd)5dc:8cjGzcT/L1^1(&F1G #{LEO鑑==V2Ǩc=zh>Ptf鸉=ub)9NJ'{DE&RKoZp'kc'f:ꑺYfY|bi9j]O1';=Ǝcncjcuϰʈ1U13<c1=f:dcX1&Xݏ=&m{clg`&5c|^?cc
+znc1B}dqSlbUE#1"3{#f)<;ǴcI<c21 3{ ˛=adOa=Fuf'Ϲ<6~Ǩɞce=1Z13{ucOdc:qbß1K챢.=Vyz 13{$*qd`eb2Ǭub2O%3{2Ǻedud>S OgIkdQ[bI`b,ndQ{bAU{,X7{L%){b7{G^떑=6X=V
+AzLW#z*,xd|=&oDuÀKcǪ4FÀS}p'4zL#z =V}FQ3>Dc%}jcD&E</Q =FKȈ'X=& =F#==v5wsDӡE Cn2He]۹ֵSN4:vIO휡c1ڑc:8'mڶ:qL$uݣμuz*Rp";fخzۨe8cJ\]eƌ8;eL8R:d H1FpJʛXKcT101 r:ŤY.֤8Gl1m㖚h1$3$d44&W X0΍4(&vuT1k9;TLӭvHR)F
+'N'L{w0_YUXgDe0"U)eCrua78YcMz%KdaL9kQ5W+f^;̆Z fc\3`Fl^\j`[Q)+ 6}`)WLyHmLd0٘ &@a>Odh0,TT#2H~v4*C<gتbNؖJ2Ҟ`
+ &8 fBǚh0n6V:lU`/\<#=n#Cu4,X)2JeQrqFR
+i$=q:LQ{bN3B6_8޾գ{D0
+(k[JpL:06]]IZ7L@~a<Y%fuʀJܠ*$~1S< ~fX(ٙF)zW$ }U90SЙ/l%IS%uֹiŦG[]'IN/I4I]XŴnPw
+ =k E95Ν N2dRUc~ٹzn{~-!C/ZD΋ng~nk}c̯Zb0\ՠyQYjc_$6T泘__se5f|&.VEP|߅J9#. ;ء5޻~/`^!_\vDڢ:IIM>Oݽt䗄!53LT38K6_I%14D G(Bb~-1_U_ql,TS_܀[f?WVV_=x&y>'g{/_w#!:`~QG;6Eųjؚ3=̯fY_ zvǸ2 %q̡?0%{F~I;/1=G})o.wKn*HϻK| %CW]Db}"Lgj|=RsQS!_/lſg!.|{!|;{s4]Z|/̧܌ r߅W;B[d/Lm : qU;[J|!8K%[ع^_ WpzLoX/J+cZbra^ԓ}VWUzIPpTDpP <׋3o Y;f~z"#^K\՘{10/0Q,x5(K9WI
+kjvEˢq K値J{%^͊I[1 P6K%e]^d)4--kP-x/,kF
+.nںeSE#:ߋ-{-j|/z4Y^Ԙrǂq1:F {O$bT}+K:RQJ{m5^z{s߽l*}
+Z9k rKrۋ:NnOh/^m%WB9 /g2(f׻^R.VS WLG{2MJJB{m5^2 .]g
+KTmzKKlj>cԮK&2^wE%|fzqZ{$P%buqH/ g<^[H<%KمIa^,=2KſqH^eE
+
+ErlςxȮyK!-l֌EJdcԋqyPndn\zIglŶ^;bɠkC]K dJysW
+66 Gw
+b`l`N|Ye`b{y=ӹ mÌZJFv-ё]hzpdJE{%w4UV@v}"
+"͊j3|A_#9 #xn٥!bU.]w
+.Tr좁^2P.)uN
+}Vf{:KH H 73l{hlXJm}::f
+LrE_إUSpWKʿeS] _.`إJSUu)`:;0ҝ"MVx]"^\KDYuI>c_26* S BP.==!uKXY
+K8u1 )?'TTฮF_w\U[8 ᵿȼ.-SNE܂ץo,K{PRiQKú|@]e(
+X`p4mGKoE%%q躰хnBS(_⹮|й.s]r|
+C0@<:Ίy; s͇팃;Id0~|
+Rul.'ţ10Ц\Vh v&sɳP%/ ) .m3\A(v*;24\+ɥu\s#NjMd=0xN@Go<זƥL*
+3xy΍DfqYP\\| UPxNeqnA0¼LVQM+zXM꣊F傝:1v[DiSvR}Rmk\a}XLBRYexEނJ$_-oi=ηR%
+{IHѳtKզb~qK~[[&ϳx[p[t&]ж;ۻ`[2X;ڵ eN6k W2[ڢodӕ~ ؖ·jEY83m ԁv NjtmǾnĘBV"uJJe2nK1f3 Ht\gp52mVhSEGFmBUNz+9 X}hl)Ģ 0[:ю{Q`E@T/4 ǚ(u6e&+]-1
+SqϋR$8YQH'K掔YNT/FpƋ>Om;0Y5//JCPP.,䭝uJeg˔,ޔ,T[%T>nd5}nJ^JDT%[da`PJvE2% [юpFiP_I,)1YkO2CCMdIKbaLU[,TҠdE (YR,)Y͜dѕ|wSgeJA[xwQ[tVd<TQ(R7[x4di 5(YxRK,bq3%0բ-$(Y͌
+$y#K@d\@yLFd^mk"87$K`pȔ,^?f*R)Y(%GQ[P`9L:ьɲش-ij9FGRrʲr`͉ ˚1$c9d)~eaz256&ҟdLEؼv endstream endobj 139 0 obj <</Length 65536>>stream
+)+0Y~"MDQ`,qdq&ˌR8O`qS,RdLV{"',k1YJ]XFdq&da",d{غ$0YU37&-kd))w
+NYG&d=tOժEi Jz[4 h"Ԫ M՜chJ"1YdƘH7>(QZ(YX)Y(&1dYB9Yt90%N~ d,2ůgm]IYeNqR>NlLϠ,S)n? 6ʢCX!Q0e
+T0s2+KYŝUW}H`&òܛ-Xs-A1yU Ҝ (͸iYXY(,,٩5=XaYZo Xh +뙾bpc`݅%j%Ё^zdq>Fi" 3*Iw5gd!~➦iŀdQ?epW% Y*Hq⳴O HjMY Y< F[gq%D0SS~-34c,lpW39$ڌK$P!YT9$ Aٜd9G2%KvbA
+ K YxVeHVg3 Y[H-:$  QuL`[@0#V9AT,͚ɒ!YtYհPkdIĒYk!#"k$r"dtCw|d^YK(= d&du\0*! oLȒ Y2! "@&dI%dY),, Y@ûE;B=e%"";x'%DQ/=_1@di/J-Y̑L18" ̬#8hSBdIh!hքiy'hH,KɚGXZը f,8"f*%3" Q@d!沈a9LȢ
+ Ң
+tx+7z,,T|%lPX
+4NO^E\Gc]im ycOj븼+XIIu [ 4mӂ^B[Lca@L~hCsX[ 8|s L :Xf)!tWL;5@tݮM1lj:fѱRt,6^}E2vBmξ=JmִXDN  e:kͺs\B Ȣl<+yFb&dMmD:Ê,X[':yy]X4:=40aYk-uP "lPb [baDCԞ%f0 -$m(҉Xn]v'@mn%98, X  `Xau;B&a)aF.k#5Z:L/
+)W!c牺дp|E
+4gҕJ-+ fNRxW-^qux=^M
+-V,dj+ي0?_(T-!V[d+Sd mH;Jeg`~a.)T+2:
+WsČX+Jzi0Xt. hu-q
+Q8VX/gcƣlGX˚B/ L\lj `WgԁJ.F5W {^ ̀^%1e<AƆR>8arr^쪭{K*% X8/VWx6ʟUhn4UfxwF¶H!.R{YUPǝcLCy
+ŮëP" kxwv
+ cWr WyAœˬda`\4-OXBWa}tUQh3O]Y'8J#N=&Wѱ= rۮj+\e,r z\_Fk\Ex]g*V\%-}ƤſFn4spj
+\8 \*AWI.U8}'Utk*Ds[Y^ԋtWOnýA3EV1[@RRX$8?FuOHP2jRI~=s0{U[GG¹UK-:^ ^"Uh89ʖ |ŧez$W!U[Lv׽TZَ6SW'ZAZJW-1UsX@VU4)0B7U-ӫVp(\kYJWhA;S\mVЫ,B WIU[LXU_EGkҝc*]a1[<
+)U[ %v'8JEF'vFׂJ坍waWXy
+ ]#,*3%&xbw4*]! u1{W+iW U ^eLNE"EnbWYGzuJm2
+Q:svb,2JG1.:$THQ^P2:yeeU[tx) x*dŮBP'u^瘱!e2
+#-]ĮڢzvJ(plذ$]utK*DN2J-uЫXɃU߉]ZaQ<*qyTYRr\m'q["WѮ`UԼO'}[hqil`wָp//`V=Vu,@dV)|nv):*]pUK \XkNn_`Ujx弿R@U}Bf#UM t>Jm[Y ה’rÎ b<+_@FLv{pH8ͬh,iDXN;IQc8~Lfi1N>oϹUSyF`FBWIT? #"X CDYMU3©| bx}NfY\) cՌԖuD4r@VY0CX jm|Z im+c̬#haLS3[m㕒:'lBgj(f_h%:QڿnH/\U'*?KgR
+[0aJiTrR`(ep5yp˾ѭr&R"ApXX)oy(ve%^n!ߑUݶS[t
+g>$N*U(|xБ4z2ˎ/51qZmTžs㰦$;!(_Fե <4 j-wi3K*x/UI;ɮTZtw(D%e|əÚoKO:&mn<qаnľJ_+|_28D,KxUZ>L42h^EĒ:DqB)0lQB+L|NPRUQEe0aF]U97KԌN=8D=vR[x-(DsVa'T2D^ۙ)t&\q(ZX`b8JM\"{Wn[WA-K+b͛
+j"S!҇m4,ǎo&WZ ,sA"V3aVqjcYm|=_hȽVDxk͑ rohVP>l
+p7q@sRoT8}cŰAzz,ÖxRKOCnZ&|?,iW]CGgU~o@n!1(;86>}:M)QаK}Z[ΝbU9b?=AԎ)Yum=0[ q\%mMNyY-HOR|j|aty 52%a~rܒjsmi`f` U)#
+BS{B9*v7'r*X9 Uć{e(x'uI Hކt;RtyҟXdN4^hw.kUߦK  GYL$4{6B/
+ d8$|dgOY\\//˭^}:UB79'QSfNEg%3dÚi@amf
+])c{IQH<\* M3PZhuu!~l;)q%u2҈[QzpmU@Om|_Kv#K+{n Oս3xawSfFQxZ7JCubD~eh<ն)EH)6dGm4ڕ>ӦW8\\s+vȑh{tDsR+VUϯ.a-jR0K ڥz|=/vdƾ /׃:KW(^v@*YgfwmU-ܹ+C"'hnžiev8G]9ò /Nڅ/
+rMۯV$Kv[R)KkSL`
+`9e-aE9nfxʑ϶ouof&E>4.dVԃt6^8٫ScԚRbȥz8jPfaRE[d){s
+,4`a-NP{.U(.zlK<lUqvo`W-Tљw"kvs|
+v}Mc&l['<]p6jJ*@Bd8ETt{u)3;Ka+KޏUIY)BӫW RUHly<QFa\k=çyrߞw_c𱝈5EIlҰ#6``Rmi ˼LޤT7*7:Ãgѥ$KmL'dTJ^՛`0j֣B7̄ꧮEhmgB
+tm}>7_m3jѦMC,: 0mk#¤v _yB
+{qfI=ΰkƬ:DҦXJ3jjE򨂛[t7Nc)&U&;aS0ؤa)nR2?nvH:VB 7ODdK%E;K$7URDlu]G]/( ml}Gl,:nDZ]G uoRmU`lަ:nY7Ѧ񰍛jC}Uڬed)
+0K%2Rm|z ݌[gjj4ʼQM:N7öˡ:VEHV@]ӆif~ 
+):NQSyP? ?O0A[ۦL}nPVQc[<zTkC w
+R
++oq( !Y8,ęZݠ_jkn7lKݭfz')ނ%wXqDቫ;rpIkPoz%#dɮe⩛d8I.?',
+!?؇5S,78ۦQzUK3K]77-lGyQT ޸,u#5.Ʝd-KE'-Ů'n߫tB448&$3%fnk͖J4lƒ4a3VPnB3XWEc}Vm͎f̚2S{=VYnf˲1OQz"T~93>KC<Y1e ^y!H!n)|b@ Sȼ*]]$wY9>Bdtشwe#b’SNNؤOty& +iP qOTV`N[a&PUk Z}\]X1u +\iZy-H}\1ʻ:wԙ];W=6芚 Hܞcs
-
-/ r*Uz-= ٔ̋iƛ*[\ gGc ,tFR8E¥P"<)']Xz1d]|F\]C.]iRFF[v 籃<Jl0N+-g*`{*|N3W
-f):z7:S)э-v^Q&`)=Լ=6oj v?7[}I,`
-@ⱓzQ4zy@I!p  ӭTtimH
-ڙNq:fJ1X= C@In)c+M5ZkT7T3TL?xPafgC
-[R0ͅ
-[08Wb` r1N\1g_w93h cR+,mCWE1)Йj.>OC6M̆i
- IBv(}
- G
-򝵂q_Pd'qj=Ow7U.LDiUF+i=bkMH`O+W7sT
-J%wj
-XT ;rIJ3ظO|_dv4H֡?/E-x/,`w7gk-˜ J:
-.B{5ʑrQEAE`aȭ3a7.걍*2)/ ׺U%G"jdPiyf b&|3
-8^taQBi(b@T+JHUu|;C4Mб?ƷռBqߞ]"6{<٫+݊XiG0 n3E:FA ѥC]uMN!<Lf2_L'w7Ư[s@chݾN\
- n|-9șo_
-T<ORNJ!7uMS f\O I
-73uvBp&ҳŪC
-/3JT{S, 5CftiAT̢IQ?Txy) Q)%%kRAUHKeA;YܵL,?ᅻӵ<?O&Kr4CDøkzJ+U>F^H]<r(|TU]k ^
-%U` ޠbOF 7RFlNd@X@>qPYP D[ 4W4JV)A^?t+-|_e9g=fQj#k߂zknieeɾk4{o}ׅ+\HʟaڬC4xjaBRn-klv:b^3ڂX3q)ZŰy,D>,,9g HgQP] zY$XBHc]8y0XWHH^NO4q3PjKDJhroϱ!ljsؼjyPu$_UFռcԌYp< ’băzuR f휴
-ֺAV tT.k晞4ՋMϱ9lT[xNV$-]mfC 5NSaA0<9gCspN0
-h1aB#]JyIT<(1EOE;Q>J)C˲Xg7iԓG [
-[yxFZ{[7|"F@ɓԞ]*բR<UѬx. u"^'Y
-4com11U1&{JC8l' J~hIA
-Àb3Mj{[ COoFн^ 6Y-l}ۨxy{LSs8c) 5o(ma8U+qc;<vT:A{6Uꐬ;Y`C:Ȧ'HEh юZH6-Bp„85~RpdQA谠J
-%0
-@P[*Jn78mT3tE/ N lCv`LU0Is9DgP=64&ٙ_t֮(9ێYq>f 7
-زݕB%xmg M;pZˤ;zǎڽKh£On ۦ14^0vF \euu%/{uiUˡj5^n 3-sDs>k7 \7j5b<xv~uDZ yVƉmU B3Oá
-tax-FYܣQ2a(7buN"Ux^BWq܉Лy]daOrBSk^0r֠@Qnn:fcAATtӺ6%^ xe9l%ߏa|S!sX@j+irZއחh,(mh+yCsf?D/
-alj-~\}[H~*1jPlouU0}c^lS4m"^I8VCtjߢl޸IZ&ۚp΋W3iZ9YKWz:Y%䀾I%zX2$jRV
-[ g^IW+P5k]tcn@H*O@pX]birc,{K
-(Z Cr`?ppiPvUE->bxZORRVUC@l^@Z!r㲎bP`^cj,yKz㇥q N2x>"
-moXpU#'C⤗uY}ꝲ`(K#Q&O^(8DL
-o+@T:V?KϫmSE#Z ؇Z`Qlw7m%/6́SKGεOi:!}ϗłjRq:'&z3j8sT/GtLٶVWAWyTKslz(5U0QN57by)+^)CPkYifóCkrT EN7' s:5J-3+td>ض}oKU(cgm="ٌKIW;m= UkLg+@Js),m{߶4n!LTiɊ[,YeL^vVyZ$]V䓭ҫ^"]<\a06N@ו¹}\YE)P2Pi)xJ@99tG+7sڱr+qEwᝄUITV4s;&Q3z
-Umw&0}I^jn-ڊ}Fq\D
-۽K|])*wan}{|kj]EguXm> bl xdA_wW֭VGQK[ZzNd4Cg# :N {q9|72mH7s]7;l\ὙsfDҌèsJ+A9r'
-pr+IR^O.p4lU{5s^9SGcw˔;'mrqcn[ H92L ivy @>?ŗsO`TLnaH=
-bm+tU<cԀìwtPhdwFzkrUGآINۼq6gshuLx
-5k RY6\z]lj%\b>.I<!AJ7nsNJP\}[rD׼!ctH862f `G|y>X
-~+|]z|A"QFY1%Y/CUedIj>IR x
- n*Zw> )l1sk{[ۥYnDyqPRFz] vvIf3=u8hz3nwwke0׉Vv}lT5 i%'JEݖڊ"~"𗺺&F+Cc Ry(uK?uK]S'wBMubaz4O^8Y}"ʮ1b~v*Mdz#J8OCu6RbPP֖S ;7oWQV8
-3WፐF=\#҃KpHV kSU3=ߑ;AF2R&ZܡF^{5Xf*/2ץ&Vd4mnaM5GS a^"`,LyӸa[P[>F942$H{(:n(j5/0U C7w
-KحmP
-
-\Vdgl0ogᅠb QC&f-8^ݬ`-[4<:۹>7foF 1 @<J
-B8)
-C)@<; ēPxi^xz+O/ U.Qx/o[DS&X}xR+A?7] 9
-OU"bK&-"+BKJ"m5x}t8!iD>s񶒈xI4"?)@}xح"ʸ3?D<ad"/B0񶒉xIu"B%iU%Xx]LKTQxm:G
-_W"ݶs쇈G^ Oڗ'T"'P
-CJ2OR%}Gʘ.U%)Zx*ED<y:}xR+7B5CCMD<+D<>CӯD<%?DAi&Zxl?D<vg{LCP3D<JӷD$"(D%)%)s_xD<}x:/"r!jT"V2oAߦFx"*OuLj[ID<|x7C1CC-D<Bg/xR+OJ%I0.D<݅g/OㅈgLKJ`m5B O_KcUx
-Oۨ
-J@<0 o
-ē{'0d+@N//OjaxQRxش C ēPx*YP 33
-OU8 [b
-ē *@
- '.@u
-o+
-Cg-Xr ^RoӾs
-ăģ
-|yxR 2O—yxD^
-OʗG/CS\hAKqxj/8A~.'TfAC)8<Oj^px<_"_ڣ_Zqx?
-OS(4WTm_Ԋ78<3JaRpx(l )4<}B4ZixTƇgCe1w 1ߣYf◆&<A9TʇZhx('C
- OςL ԢQThx}ǙZhx#ڼy
-Oe%g;8<*O1S Ͻz$Oہ/#,ZpxDX?8<]k;pxc|px7
-OJh ,8<óa—qx\G$ã8f/ݨ8<‚"#qxJg|qxK)TqxD>8<=aGuၩM*SQfBYAYl8<)_hEu#9]Q%DUpxT}pxG'.=z#i^^XqxQ8<zãA)A*8<l EoOIU0
-*O+/;
-Jg/ 3[4~ub ix7eZ8\4뗆bJJg/ :2 NBóY闆aB +i Qhhx~
- ݇Ghx}QCãԠ4T^WU^{@J XWʇN4<)_fJã(P OJIBÓiRixR* OK/ ^L#ixز|˓hx8C Y$T xG6g8 ÓX`x O0<BH'/ Oj (Ri' #axځV%+ #kS`xE|`xT@OV`x>0<G Q,]`x_axz?0<l_ O?2$V)WN\0<|axco ;QZ`x|ó_A ãi0< 8Vzt-p S`xzS+ > 5$ f#]`x(0<* O1
-#Y>*0<%0<; oy> O/ O)
-S
- 36sQ(0</ ã 
+3r+Uz4.= ٔ̋iǛ2[l gG
+c ,tFR8E¥P"<)']Xىz1d]|F\]C.]iRFF[v<JlpN+.g*{*|NsW
+憋):z7BS) .v`Q&)=Լ=6oj v?7\~I,`
+PⱓzQtzy`I!p  ӽTtimH
+ڙNq:fJ1X= C@In)c+MuZkT7T3TL?xPbfgC
+[R0ͅ
+[p8Wb r1N\1g_wY3h cR+,mCWE1)ЙAj.>OC6M̆k* IBv(}
+ G ڜ@ʆ-i\bFi-T52b8R}=Ƙe'SGb@4DfF'9-M`N}6 EFil^=B^Ih30\Fզ'<2 @"04Ѱ~ޯ}Ntsԫ4蝪V`OaJd[czTJ85-J?ynEȵpAxODJllT<vR/V-qo%anZ:Z*~,:Ni){aj0 EQs)'Fb'Od&DWjlOovSVs2L"}&"ژjNbRe,* S}`G~%{QFR0f6x^
+򝵂r_Pd'qj=Ow7U.LDiUF/"i=bkMH`OW7sT
+XT ;IJ3ظO|_dv4H֡?/E-x3,w7gk-˜ L:
+.B{5ʑrQEAE`qȭ3a7.걍*2)/ ׺U%G"jdP4i{n؋b&|3
+8c_ubQbi(b@U+JHUu|;C4Mй?ƷռBsߞ]"6뇛<-݊XiG0 n3E:FA@ѥC]uMN!<Lf2_L'w7Ư[sAcݾNl
+ n- :șo_4-vؐJeg> Ms2l=@hɖrKeA)!.l_ secz- ¼샐W0
+73uvp&ҳŪC
+/3JT{S, 5CftiAT®IQ? Uxy) Q)%%kRAUHKeA;Y൓L,?ӵ<?O&Kr4CDkzJ+U>FfH^<r(|TU]kM^
+%Up ޠOF 7RNlN@X@>qPYP D[ 4W4JV)^ ?t+-_9g=Qj#k߂zknieeɾk4{o}؅+\HʟaڬS4xjaBRn-klv:b^3ڂX3q)Zy,D>,,9g 䱝HgaP] zY$XBHc]8y0XWHH^VO4q3PjeLDJhroϱ)ljsjyPu$_UFռdԌYp<f bĄzuR휴
+ֺAV tT.m晞4ՋMϱAlT[xNV$-]mfC 5NSA0؈<9gCsN8
+h1B#]JyIT<,1EOE;QFJ)C˲Xg7iԓG \N
+[yx"FZ{[7|"F@ɓԞ]*բR<UѬx. u"^'Y
+4comA1U1'{JC@l' J~hIA
+ÀEb3Mj{[ COoFн^$6Y-l}ۨxy{LSsXc)5o(ma8U+qc;a=vT:A{6Uꐬ;Y`C:Ȧ'P컅h ΪZL6-Bp„85~RpdQA谠J
+%p
+BP[*Jn7@mT3tE/ P lCv`LU0Is9EgP=64&ٚ_xޮ(#9ێYq>f 7
+زݕB%mg M;pZˤ;zǎڽKh£Snۦ14^0vF \euu%/{uiUˡj5^n 3-sDs>k7 \7l5b<x v~uDZ yVmU B3O
+tx-FYܣQ2a,7buN"Ux^1BW܉Лfy]daOrBSk^0r֠aA
+qlj-~\}[H*1jPlouU0}cс^lc4m"^ýI8VCpj_½l޼IZ&ۚp΋W3iZ9YKWz:Y%䠾I%zX2$jRV
+[ h^IW+P5k]tgn@H*OHpX]birc0{K=t=(k
+(Z Cr`?xpiPvUE->bxZORRVUC@l^@Z!r㲎bP`B^cj,yKz㇥q N2x>"
+mo`pU#'C⤗uY}ꝲ(K#Q&O^,8DL
+o+@T:V?KϫmSE#Z ؇ZpQlw7m%/6 SKGεOi:!}ϗjRq:'&z3j8sT/GtLٶVWAWyTKslz05U0QN57by)+^)CPkYif óCkrT FN7' s:5J-3+td>ض}oKU(cgm="ٌKIW;m= UkLg+@Js),m{߶4n!LTiɊ[,YeL^vVyZ$]Vd蓭ҫ^B]<\a06O@ו¹}\YE)P2Pi)xJ@99tG+7sڱ r+qEwᝄUITV4s;&Q3z@=,RWNG1"|;)}z:8Q^U-žfY;ܹB`="[!*\Ԗ< c'֒K
+Umw&0}I^jn-ڊ}Fq\D
+۽K~])*wan}{|kj]EguXm> bl xdA_wW֭VgQK[ZzNd4Cg# :N${q9|72mH7s]7;l\ὡsfDҌðsJ+A9r'
+xr+IץH!8\hpfjֽsPǹ>)w(O۸љJsd™T-0(i}~Ћ/ΩOΝKt}{wƈs9Xb(eoxm$R^aq#)G 2ܝ2^ˈ)<wp9tXRenVp
+yFǀYJ!p>dE1ͫ,|y3mΒаϧ
+oN峢%B4ԓ<]ZV|z{5Y7÷,(#T;S onVm~JIiF*j3Tz clЉxpEKR9}$]“yB6n
+od+'6y{/9uC|Ǡp(mdD@|
+NNWW|%/SԹxDvۣh& bJ_
+e9҇&"}n/XB$T}K}mC6Sbv RKK ܈⠤:*QػF8vTPg,&{kqOmg0ݜ0R,`ج:IkJO
+-;D6Dr/uuMҍVn[KIKrCQ2%~p떺NL4+ i2: q<E]1cH3*TL{&Fn)qF)_
+RU:m
+F`?H3-*vfoHڭp NdK){d}nfǨ_aެ!4݀Kk:0=E<,s|Z{J?in=('1qq3JVIl)T D%;7_&ۑٷ޹(+WCMQhcQz^qQ P-zgf6!)zG7. Lʧbgz#wxIdɥLvCE1kT^ZevKN>:i`iV
+YvkA<DNTYqö:}rhdHx&vQ!tݜQ+Qkj^`Z}cHo[ 25AS{%y];q[@+N)JEK<;% /\Uό` A 3MZpXսYZh߷pxt\us'7=}oߌ_"D<Ug}xl"ױR!]D<"V_"̕RxvL%i'lK&V"ް/\:_"^߾N3L&
+ēRxRҔx`
+^%%@<
+T5g3bKAKJ%K5&e5oe&^sxpC|ēRx9 $J*`H<-SH$^坐xxgNGϽx7fN~xܪ#x<{?Hu gOhF{Rx>e$ioI.$js*$pA$$bAd$/OjEIH<j>H<T$)#?~I4~xR+
+O|A♭TFc2SMPwZQ~xĿ
+OsdEuz\$TB EId뷐xEF|xOi)xx$D?H<hNZH<j Tq@Sx}Bm%!hH<~RF [)H<q%$g~xR+H<)_$c^Am%#H<Ӫģ) \ o+TG "Euz2lAi"H<m 4MA1$f/OjEIHObE$Id$1]FSε"TTx2u"V$vPmxWx|wEi_x*xӌ ءxl 6Af$BA'xo_x[IH-OaSJS"dWxT"t\E`.H<H$pըHd$VMA0-H<U$*o+@Qx="=*oeZx(7_ V$ēE:\x
+OJ!aK318OS%iDd"^R7ت'"D<nH&Ux_"WY"Q2,5xb"hAģ~1~xc3H&(KX#4'V"\_"b!♒x(3(D<BC()D<)'Cij%C&A+D<ṅ+x42"{B3%8hP&Pxj5D<B%iSSxS&%%Ds&AT"V<'/Oj%Vxf_"B%8Cģ i+D<j>D<'T%"gf"!"p
+o ufLÅQ&iHDw&D<m*O_K#Uxv2/) &"CC-D<)'K#Tx;=D<Oj%%]xo89Z"V2oAijxzD<:
+i!!)xL o+U#Y@50(6.D<L
+}Y!BWx慝x!iȫD<ʔ o+ (D<?_"p!)Tx[D9JJ x
+:BV"J!q懈g{&ID< >D<}JSq%m%D<yU"/OOx%E(D<M_"J]x
+T~x:,f"^_C3ߞLKJ"m5x
+V"懈GZ0ueD< 㒉xue!QUU"%eDN")y"^O /[",D$"V}C%!iD<y o+ iD<=q" BS
+ǰ4V".:PxR@<eI)@<Br 
+V~x V *O/OQ S e /5 /4GY` m>@<T -^xx/O㕇/*<<]/OjI<<?<<tRxx(ãty<<E*G헇PZ Ii<<۾<<o^yxP
+EKٌ#ARpx7ᩗ)8<ƍφʌc8-8@có/OSፍ\y'0?8sI8<P
+Ot*ϊ~qx+i`8<s8Aw|pxTeBqELWV_|\~pxR/*3:x΄#J/P CE3YI O΂iUqx "3ãz3 Gy?6J*϶wz׃yx
+Ub@ܗ{H/_vGX~xx
+/vnCAXxx(gÅ/t
+HćGwp<<_񅇧Qyx?<<E*G": S(}xxz*6ÃSTã$C<<óNó"óyxR<<}S }GsãKãP :>"hÃND=]a@z3K*<>( "yx4Gu1S$TxxVޞÓjѫ
+7W<<!Vyxƫ+<<2t|ᇇG+TBQ G̬ <<`+jO'V>~xxX O_P><Bgg&>h_<<3ZŇǵ*<<Su0M<< ~1 xx?#hך9^oq'엇ë<<o<<
+2OUVR_~ޅ!ã|Gc.!Y 'j3b#bXpxRg4F6:O#W&̄`Q]Xpx5q#pxR) 'z-ϔ_g*zpx (o8<6qpx :/OF)8<ͫ_ueg/ׅ ^[څã Xks+8<[u.:GAi$8~j%z jᱮ,8<m)ZqxR8<G!BQrÓ+8<'RT8_G>e',8<۳KI
+ᩚ
+ O_J`2  Ojq 嗆Gl!4<KWՏG֦(:Là =}hx,B,CZ2hx~x)eI4<S2 hx^Ir
+]wKãg4<ꙆGAC(Pixxeq NZ4- V}$jI(4< &GP~ix
+UbZG6Có}UhxJ}ixXv2}_R@pgpL#Phx_EGRm?4<f2 3?4<%* Bix?4<l
+ O / 3 L[B4q?4<ܿ4<%+ mf(/4<}JS:K kix}hxٖixR* Oʗ'5h*4<_Ló[ѣK.4<rꙆ 퇆0ߋ4<}/ _9Ds^ix'~hxX910<% Z`xo>0倻`xd
+ OCG RA(0<_ ãةXgޠ۠0<]/ ٯtY* 6 O
+#VQ`x(#ãã(\0< o#6 OhQ-h(0<óc~ax|^I0Ag/ owu)0< _
+PaxaN0<TƂ
+ e dPYx~XxX/ /7u
+m^j`(w$s4<,<C),<)_ bM|/ obǘYx󈍁YxI Zr]'R
+oT\k
+s (<TlQx|(<DC“r
+OOXQx?>(<ǂP
+OJE}#A((<(<&
+̟2
+8“ZPxS
+gYSh:5u(<+
+oAAJAQAQxP
+Oр-(ϿT QQxWPxR(<Ԃ#Qx(<*
+OS£(-(<m?(<Ԃ“RQxR(<
+MoAV/(<GgAiEkTAXQx[(zU ǸAi[Qx1f (:
+UPx֝C-(<“EY,(q57x}3
+O1KJ*j'+
+OGAs(-d^R@}eF>_bG4 _QcWPx$G~QxGcAIfBF(<LGNA}s֔EiVQx殒QxALAaSPx|PxfSPxXPx|/
+
+ꇂ~Qxf
+
+Ԍ#gPx}Ft(NJ(<(<?(<#
+
+R @[BQUSPx}PxVQx
+o+@
+ AA-)(<E*
+:
+P2
+O?PQxR*
+OG+,QxTPQxJ-(<U}Qx[B/T/
+EAiPQxK)(<S3
+ve"PxT}Pxy&ޝg_̔£8cV Pg£Px[5>:Ͽ(<GFQ1WPx(RPx#Qxl
+
+HAm%(N!p`Aq?
+
+\3
+/
+OHAaG[Px`>(<*J B](<Rg.(<d(<j
+
+
+|2
+oe
+\YFᩜ(EᙚQxd)(<-+
+%G<h@)(<,>(<^£SpV,'s,(P
+/) gjFaQPx8|PxTAI(<
+Oo'x
+
+C>(<i
-OZPx(g1(^?(I,:MSKJBm5Px  e;h 摹Qxd
-o
-_bA/
-o`
->
-O7qc(yQx[(u-(EA x&k  o+v,5HxC蛄7qsy* ,59 OGd*6 ACai$< >Km"
-Aƒ}"I9^‡A}$<fBcQHxt`~Hx'tb"hcudgORHx!I-$<GpC³,w&)ZIx_GP ($<Z
- χh@!Tf_|`H~Hx*$<+$<)_j!I$< _mw%)%\Hx_j!I$<)_mǦFXaB£³ 5~Hx $d^R*Bc\$<3 τ_^RǏ*$qEN&J!I,޸JC@%%%l5HxkKÏe2 /2`|HxV IxD
- O/ O1J#IxM/ (q!+$<#$<L£ݱ|Ixq3 !_HL£U9okJ@$<sW$A 0)$<jg>$<I$<N,$<>guGC!uhc$<3
- K&tC* o)gj&3O$>#FIx'%wdGU`!i)%mu\{L!-q)$<z>$<$<ӅLjօDžIGՇZHx('K$<)'K#ЕIx$<{N~Ixb$<]JKJ_%IxT*ھ$< BJ&-u* OGʢ{$gLPCS{%X$<>$<< B3\/ dJ!Q[WHx!1+ BS(K³K&QWVHxII$ OTIx_#+$< LC)$<$<6G\Ix[ ^'Ix8gʙꗄW-$<(@{BSC%m.^B3_y2e5Og>P2ԅG,TNRIxjL$<S2 ϔ_̕HxC# Ix4K!)ZHx8}Hx+L“RIx~Hx9^Q( OBQHxJ)$<)D35($<W>$<
- oCcVN݅7K“ZHxx!478!1VUćZHxYHx|PIx
- C o0m-+ Oy&($dVH%KBmcn oASx+O$b$<[R&_BC($< O_IxP$<->$]CS+p!m%$<C£ә
-,K£‡iK&!'~HxXIx[I$%. 3 dLJgo&QIx[$)š* aIx<uGJ!n%}%
- >$<BɧpK7K$<Z3 o gj&QZHxD>$<B$<
- O ?B3'LSHKqGfeQl)$^Ax~@x[ :
-o~@x OJ|@xGު)+ <,
-KJ%Axc%pGY)_AxLP? <}^, VUd <VӚLm5@x83|^T]Axt}@xZT I)WAxXh* <%A o 
-:f  o  pw+ ŷ'm0n۬U3EŇ,6Nw'A M#mO:o+ʧ dcǀjSN;TDVT? yMwi]N0w$!G=ip4ˎ7N["dӠ2=x d=}ޕc'I0Sب!v8ǝfMOO'${cD"ׅPXiK\:)i&x9ռ( :T*!R7>;lӣH ߆::K_Q׵۶lPuµu-&֭'^]hAW);U'"=!Qw ~T#ޤh%㰼f]
-)N?@:V畀t=^ѩԑuGd(ŕht,x=^1c DG'] $q{C4qg)]xBo!ZkZ7]9 tbmP̚ tV]S=s\@'o@'JkZ tM & tӦ
-y,itMz7}aC̟C\8s(kx˺
-e=yVBPCCp#`́4h,+\9%r*ۇ>+G(a\OIž͕VIw}qs<\91@gvgqFh,on,k`QȄqFz﹇c|w&`o+,z6vXWI :{I_o,VYnAӶaa8طÚqB5 qbߥU\Ngym`M\XD13b][`dV,ULŁqr[5^כfds嶒r[ OݺF ql%.uyKpJ~+Pms:RV [s]e7GI>fwNQne HarXUcٙ}<DvRRjCrޢjJ`]dmB%%hFS@Ɓh9=Fa'ma=?3YnAp1NӿJSYeX;rf*t&B;|Gn̯r,'=s\]ri5~Uqk(\9C7kvڝ]\d\R+:>rߔSr|,gӀ>aEĊ9Lզ0r(E_Jd92sLAӫªh嶒rIu\g㭝Y )# .6,rZ_̳,3&sj8uڇg{νcAEJdO,jdp+ 5h
-Z=xb%L9 M᥺ЉrT%I<NdIA|]`rf)Eֆ/(=kUPrW,$p@~L9-I97FN3\Ph3DNᅥ@C&m!8ʤ4;>fL.}ڡ5NkilIvzAh)q^^nRv^V8<n}YW ;>+gIa}q]8A4qy+[8>j55/zܫA[B-1q)L5Uk1-Y?oyrdV"H kZŮJ|ǎ>mC䒒 r[ \:ܶ r֞
-C}0q "'er2D
-"׆ȡ98pF*Dn8%YdV"gnvc!r
+opBFicEI(<
+
+8
+O/ `~(<[WQPx[(
+OHA(-$VFፕH(<ĶQxL(<(<PPx(>,QxZ}PxhVJFm5Px6
+5GeA3
+O/
+^A-(dGjAYG'\AI)(<
+ӖC((<Nt'
+OWPxK\(<fȎ
+fߌ£3QxK]=SCU5x
-)9Y!Ⓐ^_\Yj獁S䶒)r[5\ryDVRi0ԇPqP=~ҊjI)r(YI4qS"ה$<(rj V2EnAK14,<\ktfTMU:4-a3'UL AhxrU #>NuO
-Qظ-$jɼ72
-1Ny֞ Syqܛw]@*8=j4c\* ctb]_ckޝIl 4đg֚ɺynd:ܟ&dW6Zl8 sm4noN[43zkvy72!p[\Nd .BvaNy7.MYeeefX8EN'*N;wo,6;kd;X-`8-mDᶒp[u0U>E\M| V}d5g`o8:K0\Ypmzq8NBvzo/ - OKá2=pվJvj\d8)u_ .}V2"C:NAT ;J#D۵psh^Vb+r@{9!)^C`rp8߷,Mq
-7 B:y`U๠T0*pz
-{f2ם@Q}8y:kV4/4'a5D{LeDW*spauYb GMŅCﳹpx*cu.up,>pE}mpKZX8n~c[? ၅AD`02үT82+,*N$BSTc9ԅy
-'*E#ѦxQf""S(`%T8+57 * qm*\! '~3XFus6z+ɹp 1~{P8)Wi 9 (mYr&p=C_݁4ࠌ֬8 aZP8{Z;y;E~\P8طZP8 D|)}@4STp \5zN#K~}J6
-5I.p,{//>/U@dpc3(^ڑpD8 @]i(ߊa4GlLBm*h'ucpPCTuYAp29pm4
-@Lz3BlmP(
-MEtS9߹n*vdrrb8lc%lM `58,5}CHM &=y uSir\S=W.HtbH7IM/5'JN^$87Rin
-0pVٺ*6?Pn(DڼC~m*7o-eyQ9A`ܞBq3Bk'nC[}/p_,L&XpN &(wTܳL6ZН)ӽ-sV`۔"mJvm#ϓ6i)
-W̨6Zn먼|xM<9m ӦyiT92# &`iBٲQgWw}ٔ:h6J}ﻒٴ4`65FT <flD٣3^1=z!h+Y@6A<m<+ 692106,MXlyDt˩[W&4ؐ06g cc;il cknzY*.[k>[U:rXl-
- piPQg- FүYYb&+Ś2A7YiJ\fr*z UbI(XlYXl,b#K<M2}q&CKCjؚ ˹My@2l!h˥4HwKMsT.233jxRZQl~y?3}PCƙTM=xFAc#tCkDࠒؤR#hl:.G!"" cd,6."a`PIXl,jbS.* [#;c0z4_N"L,6 (1,Fbәї'abf˄,z,zNb
-AvfLOy觉gckʽQ06wF7ckalb+-* `I9>6Mg[3맾Ylmĺ$XlzI2MƷ:9Xl x|*GқbV*(!wkI
-/tl:,6v(zSgY,fd#c[a!\ch 6TAb!97M`,63^?&-Yl(HU7cSA:`l$fr?"֭06ͬ<0x9l۽`lt%\06]AM /pǨ06C_c،2Ɔu8QUl ZfX06l4mlg,qwub6 MeVpcӲ  _##R( {]!`x߻raalj
-Uܳc$ؠ/4h0v{eIJ3`l&v cJ:+{,eݵƦR(+hlilr*ghm06 .ZJ06tk-kN063(oOYlR-Nl,6| vۄ&46KvzM{'p86= MQfiXkcө0 >Amjt[P#qlԭz<6,.؁l Gi"u=w@.~l?lZ$lm/eW2~C.DDi/Tntɂ֠:w"[7')!ka@ndӚz-ɦMωdLdp]>DMxU焱) @?2/Gb#ڟvCkv/\9Ք; ,bcbSw2MN'Pl(
-@!۬Zb,6 ]y VO5x' 3b)2-)@aQl>Ql_1>ZG9 j ņH[P_%tzaK-p(6)fƝHlzcAlf>< $d[R9Um6%6c-S 'O+acⰡJaC,6Æ'MRG$;kf
- 84XEC$5w<=z (ݜ
-M*A
-[#GS8󦠰IiZ
-[4߽(lQ0lR,.1l
-X90l •j*acg\[7ETrHİb6)t&ŋ2&vac/Z`P6TY683 #:NaSp(7)dx
-NqSo%d[R;@1u֨ K`VF 6wܜqŴ/`kՠ_HF!p0f^l)
-;JFV乏
-aCmNX
-Iak>V)lpK e8эæn9@l
-Z(@lGË4 m^#v Va7$vxm;aY1&Fʿ]?{[Q\kDǘ'a)bxIFR+5z?@$԰7L4#W%k!%ĵ
-p $kكFmm<:kbFQpxwf=Ìp';~lg
-*H5D;:9ƭ@?t⩩4:`c-!!,q@)lDR𾱟#;C\ۍFsO{U~B&?m*fVnOSWJ;M.8tNe|HQ#60i-vYg>&Vzy29Mt8MfMVigS6My.NAM;n24p{)*ȴ%$b v䥩UK0dA$lΰ4Y=Pi|vURzn6YMN2&mAI# ݛoCGڀ3Zy<#ML&6H@>S;'΄4wX/;qBR=IHk^i]B!H]#Y5B&hˀ43rwg7.|4i ` ; MlLCw f05i( bu Fz&!M՘4^hmx`ѴͲ6hNI|gѤH×<a
-8]+NG[j
- $j?ϝ|ִZS U!1b>S承Җ iSG]4y}+4n9lq6B¹4 Dԧ9/4OD/Ȉ43
- ˢ& PA+HGGM L@õgԬ:TA<L޶O@Pd=3! [Y<ӂE'`+LHq6:!$>
-HO|(UH[JF%iTP4 nÒ2bN7i(8gBƹgB<A
-f ek YJ"% i}f|fYEw59LHC&"hA3i4pDZ6
-Mn,\nJ`6 Eb@iL܅DSKSws2EԑFC
-*TZ2i:$H7:Ǩlq[_tU6P <?p4mx4r<Nj .b+
-mf/9lR^K)
-&
-+v.ݤ jKblEJmSkȒfMNE+)tJ><ߣZSaKٵ4i:]pttn월gAۖ*fpTn!Т[Rl@Cy\->-m?8
-]ۆESV' s^߅k J
-\_q,4#!&5c`a~~Mo4j%PM<!BiI9OF.V^D>Z&
-*ҀD+x#eLַ'PԀqH~AZ|(Y&eGVZ;ƽ%ɘUdSfzPmhe%렉!N[ nQ<ha%[ Or9GL΄JFiP/x~L<xsR b畢mvZ#/[)>T m벲?ܩdS^b'u2jfR_!?wVa4K^]R(0mxy>T-яoqCo=Tj`=
-wR8H6D&P*;4KQ|ncQ>h;3lvc)J0MGz'%$uXtu4CqK2b0)ݣg<6csmbzx*> l* !Etc,*/m~4lٟG=o'lv.C括"g$r8@*HʩeN5t 24JQk2ێM N2[
-Kun\c =ѷdquXʽmK=OkgLzϫ7sD6> OӱMLR6U޳uW3OjV>X6L.>4ںʝDm
-Eː`L5a"
-(Зu\f9dD 7| gj,A;9y(8ѷP"[Q랔<LUKzsx
-v[NېCr,Y ,zRJQG0ݴ\
-9
-*i X&XbDUˣ%]Ӄ*r:-fFJC,L"nR *:x՝WC ;_0fUKk>I4ڀP7
-s0FH77?ԭq8SJ!}}ܠ aN| o<iֶ+vo[,9TJ]τB,)P@Oʯ|`ś~ej1ThTk@vqAKwyjՔ_SE0+"t͟lR&͞7)
-H峸nl b͚G\r(w9w}-eC8i*vmq8<NnB> 2I K9۫&meF4BC6B<4hnn_LOEǜxv6xی9 W-lYröVOJǖkoLs1D
-vu&uB{S(>X-)O6d2}C:r
-8i>Mk,j5[>߶B„DCKQ/XKŊk$R-APK'Jk ^W*ԡyP\k'ol#HGqKS$\
-(\R,7H91KaӺ^ utw"/.~FF3>s \*v7V
-
-p?> |(&XLf[1]lJ܁=Ve+8nOoLA'}JZP(fx &T(H7͎'&5J$XHth< A@~EجCuIX(fC
-il.k9e)V%'?9Aw<m
-/S%jKA;ra۬6S.HѺibv?5u,'8eޏ& +YkK!=Z0X2n<"=i\2[R
->PDLN+qyaYLg+> SqUt}2 RkѲxi0f@Iz{"$v'b) Jtl9mn;w+%NN]-nxR&ـj)%8Ѫ?rVMEg_8>KE;6oxz5^Tp&-ҲS>FBEwYL6Ug8жn۩Ž,9kj
-%cAc<H'*I% ժeN%%BR/巓+E<B9u.KDMȔ󪢊f,DJT -FCKbP n$9WO~U]0N'i8tSǘ=(6rr(EauFiEygH5XQCY)iIeEдg+ŝ*k86#l5:`Bv~H
-uR8(9t(?2P3{P:_E&MN/r(*5 9V
-68ʑe}v"(<yhmelG^i>r:HϵrrH)vi m*xeuwxuVړݙ u,*uX˫>ca_~RlWH%6sD@)E7cD^"{d$=Ẫ4wVg{۬ynQQauV<!o~f[M"V/Z[<:}H -F}hhQBX=-7ex
-ߪNrn*֝ MP&Ūpa܎ʍI7,QC7w>r$V*YQ-y,Dvf ;L 3U8 :wzLEQ4+ČvNU2ĝK}\9av;cD
-ic:!pkT\PswR u< 7t8+.DO-v >a(Wu}M4cCbTKo6}1B$K;Ek'yv t;ՁIGVWP1" `P?):tUjqgX<:̬O)"pؚd!}Z G"tKw<: (저]VP)Cm說'ߔ3sQVfJIeU6/
-ORHJ%Zj MBrV-9.4 c:SiGd=gm1e7Dr02-zxcx^!(va!brcq{R,TEfDr$߈ryfKkg$,emg)O꘠CgsET&FObL&YJi+Q!g!j@hhf6hDkOf:Amm02՜xV(i5_3j2"Q{D>B4
-!YTZO!,#.
-F;Ժ6tl@vxgJIiV'5t0V-,0tJj7E~(wD=#y(iܠ@m=r"F Veb5H*R ȹQW2.Rbj:/6j\
-hى"TO
-,[)D:$\'D ꅴP)t0mFh /s"Z0l<ΦJ-{bUeϜԛaʬǾ(HCzԧdEF#aBlh9y02 ةt3rtVԬ}!"߶o Hg{ݞa4߭S<2݅*tdr`} Y)6(+@:ɞXSou'"\KG2qz4<F:" n-tN;%z2 0u40eؚRQ+Z@:,mv߲'FDS4hh:rrJXK$W'ğ1R|N >UT2q>)=PWYy(G[qdZYՊ{TSeey2<.Z5~q"|0TM,Ayy*M!4<~U)FΓXERTΪUtYvN u"NDYt0 \wneL@W$4Y"*pt6 8:S7;nH>htێBG -[7SVKrN.4SwY9ܳ@BEt 7ӥY< ۼ 0ZIm3}._h^cP9
-MT
-0:@@Xfސ/%O
-kHRaHz
-6k-l<\:mf7.A_04C/OM.j߭8
-ΠTV}蓲CV*$T a֡a [ri4?7 y&N!;s~pbn@ӡP*21Wj@Cĭ@8X%dBɛt婉Jrdt@5ϓLJ.Aݭ6y/d:i'sXtA(Nj{j{vBY᧑ wJGl\zRŦ[ x(N3}.8vVd$eRbsKWa{, :JnM @1!gO~C Y)Xk<4mQ }g%W$u
-GE]ټеmm[򬣀Sj閠 ̘F}RO Q`3tV]'_.U-F\sMNXzmR5tkwU؟jS ǫM,YBmۏZFm6>FxÂv S
-BbchvX+>{by׫9Ǩhb?ANl?TYclںnl NS_߽n/`?)hyR\(ߝᮼT?:(Vc"9D'B\BaAr>KaE,YllݷyjgXIX B&֌{G\+8b˒~;Ɗ-=k3ۍ}gMt_ho4oNpNcdKKY 5qP~#j\.MOSUFvc,y3 1!=n-NJ܊LRO|]ʃ*JX
-QCrg3ɿ3uu\~lrrGݷ +*P`9E#ΔjfG
-16d\c]O IVaXvDz)1a,:x̛qx!iW"aRIU$XCսcl!J+QaP$C
-eXJTTj Cԓ^==ך :Džq1k(T;S o춱mvRRأE*uж n$a 6.(p,l$‘yBՁ
-%,J6/[RjK͑e(ר?31.EL|PwMNopVRԩj{gz~`Jڀ;)\iI*- ctfr/!"p4`ZfUޚ Isww>Rid+ԽT-7f]uD厽 Ǘb͸eO-.mb V|ʮž/yƢgs4adl""Ko\.m(k*5;R1-ԈNfNbhfݰ eu_TBB˕`hsDi/٤<ɭg3IC&O}2n}m9Ua|;I>IZNK)+c8v
-PȚS -D<d d;Dv$я2kK "^Ӻ_1u'=8*=yHd " C)@5 s2OJI
-k0>xIW fcR~]aL'ixMkXVbf&Ba5/llH<Dy'"ڽ}He$^#xxO,xBi,|#P O
-EicT'oWA}H֊#V<x(SLUWSxR*O'fnE@}] vE,
-o xx{x$ԊēRxRH]cޔxS*!V$$N\'"T$.[$^;"#:Ŕ u''sEiH84'C)H.oO$Dv~'"P^H
-'zEu}"|
-$/$^5 #
-S{J$^WUA'<u2?ecRx}'"v3o'"P
-J2?=Rt "TTx>^H<TAy!,Zx 8 "o$'N#\Wxl_H<vg{Cy!P3 xO$6#+o*@)
-Qx"kxFH]ɂ F}
-.BS񴍪D IUTx{;C۷냈oQD=PӅשNDN䃈?HDB:EC,D<S2ϔO"JC)D< ZQxR
-O‹R u^"^zyOB%G{V")+e"^*BSMӦ:|LKJ"-5x=*&_;D<-u|>wxR+OJ%uz1>xR OB!qċqD~D̋E'"JZZx28$"񦐉xS "^gvD~7?{%iHD;B "^'x] 0e"^RoAQLD<ɋZxR*OʛןRx(/"JӇD~GY~&́zB[J&-5xr%4-D<4D<>3i!-%jD]LSMēZxR*OLēZx(+_D".b%-%:xz&
-_wxLÅ
-SSSM/#iyx%<<Ef+Nj'H /gU r^G!
-d 'nIsg@gCe1{ 1,3hVpx$,*OZI8<P
-'h})Pqx8< ǴTpx8<&i8<o1
-pxZT>~ʟE7Oy :xÓТPY8I8 zTSpx
-xqxZV^g8<{ImA"=Zpx} _pb<<TT<~oI*Sxx] O둹<<<$!8yx}Ҷ@ƋGtT'Ob$蓇Uxx\G(d~ӯQyx
-־yx
-=TD)ueS Oӹ*+MT{yxPxxg@gW+:u<<}S ὇9_wxxDH<.L_7zI!'\xx'Ju+<>: czZãTtySyV^:P,ǝxxR͠4xxREN
-E09OSV)ai4<<V*>yxʛT͕}4^Z1Xxx#Eyx0xx2k˳YE N/Sԫ|h<<E`+O7O/<<_GÓZyxh0<<{eo^Bu-2Ca1&^yxL'O߾ã
-
- oIã3<(4<u}hx* ONᩎMcShx=Z& o_pShxzR+ F 5$ nB#]hx(4<uT*+ t拆gqLã=v\4<,; o> ~ eXiVix\9 \ix;OUGRi_4<Kf%2 WhxX-
-ݧ`_}6Qixv"?T-Ht4<#
- HZ4< O|x@DãEóֶL#4ThxhxR3 BCN4<KeM*4<}BPhxJѾhx=ix:Qix~4<畆G⋆G sY_ o9U h gЫ0< o5HR
-<TgC0<+ Oۭ
-S]
-Sd~Ȫ0<bb G-C3 iO0<
- ONo
-C)0<;
- OJIy,a )0< GӣUax
- 07Зy),<׋ZXx(ǹ>Yxꀪ,<gpbffq+kI cu\&A* Oba xla)(_YxR,<=gKBb-5Xxrϫ,<vL,<h<^R1@/ 8`Bfm(<,62
-
-hxC1G`(<쌵((<M> ~NJ3OOǂh|P
-2
-=
-(<yQx2(<
+
+ƒ3JB!}PxOAoPxg
-
-P
+Ԍ£}PxօQxx/~gN
-B
-O霂£Px:+
-O?IE̟ I f7
-f7
-OQہZd,(<V{AxP
-OJEIy/(<6zA((NF
-O%[jN((ζ(d(<>QxIu_4QxRPxR(<6WEa B<vA-%$QxzˊcÐe2
-/2Ā +
-]AiFgxGɑObFI(;Oa܌C(<;uA)[QxGJnQx_^o
-OmloԊ 7'C(<^XPxgu R>QxiW'3()(<³BOjASPA(dbSq'
-⤄HTZBaQPxT
-h(0
-ϔGUMAᩂ³J͌QxK +
-3~:̴qfuT/jAd7
-OoPQx“F(<<
+'NCSHIxIu>HJCP3 *$USVHx8XEQDKJ`N/ RBSd%~HxLcYHxK)$ O{BƒɔIx5e%Kjpf,$<<"𴌩$<z?$<&BST%TUHxJ2 oADzt]EV;^Ixߐ?$V,!L pwO"܎a"1-1
+NKY9m*g݋yl.Z#v@3 GL0WtVOǎk'vۧ,[eJXٝp:C5|Ңaix?,oD2N[Ae{0N+Nbͱ`7رS-S찎; 8^8NI;6E ҖuͥS.L:}syQ uB\oGZ(n,@VٮGb6 u6GDjkm̡kC{[NWׅ9DSnߍwN,zB<6'tGIK(_a Sw (ܛtJ+z8S536N70T+hZl?4:";cN$dOE8t71h9IhЩi9sNb5sA״p~ۻt w;#iFС7#56ND=6NߝA״?w#2&]#MUXt!B5]oZÆ \+E?@Fp
+u=zVBPCC#`́84h,+`9%rۈ>,G,a\OIž WIw}s<`91@gvgFh-on-k`aĖsf
+Z=x%P9 M̔᥼Бr*T%I@NI|]hr$f)Gֆ%0=kbVXrW,%p@L 9-I97GN3\`Dh3ENᅥ`DFm!
+"צȡ98tF*En8eYdV"gnvc)r
-Oj*
-OW
-PxK ޡtcQx*
-O[JFᙚQxŨ(<]7
-OEף!b|0L(<;
-
-OjEI(<y>*
-j{4UueK*}:SE(<>GFI(<
-ԌC)(<(3pFiڭ(d^R׉9d^Pے=
+)9[!Ⓐf_\Yn獃c䶒1r[5\syDVRi0ԇPq`=~ҪjլI1r(YI4q-S #ה$<0rj V2FnK14,>\kfTMU:4-aC'L ʁhxrU !#>NO9Eom9mL9|9\&ȡYF=l '~29}5? rMi:2iAJ&m5rM.oYdףF  NGz)g
+Qܸ-$lɼ73
+2Ny֞MS}qw]@*8=4c\*Mct
+{f4׭`Q~8y:kV6/6G5DL"afDW*spa4vYb GMCpx*gu.u->xEݍmpKZ\8 n~s[? ADpp2үX82+,,N$鼂STc9օy '*#ѦxQf""c(`%X8+57 ,ʏ qm,\! '3\Fys6Az+ɹp A1~{T8)Wi 9 *mYr&p=C_݉tࠌ֬9EÌaZT8{Z;y;E~\T8طZT8 D|)}P4STp \5P'K~J6
+4
+@L3
+MՅtS9߹n*vdrrb8lc%lM 58,50}SHM&=yLuSir\S=W.HubL7IM/5'JN^$<7Rqn
+0pWڄ*6? Xn(DڼnC~m* 7o-eyQ9Ipܞq3Bk'nC[}/Ap`,L&\xN&(wTܴLn6z*ӽ-Vp۔"mJv n#ϓ6i) Bҋ vw۲.n-mkضpڦQⶀ-3^̶RA۬S+Ll;g5tl<v*kgF6􄽂:
+W̬6[|x]<AmӦyiT92#&ib۲QhYw}ٔ:l6J}ﻢٴ5d65FT<lD3^1=z1h+YD6A<m`<+ 892DZ346,M`lyDt˩[ W&4ؐ46g cAcA;ilLck8nzY*.[k>[U:r`l-
+ piPQg- FүyY&+Ś2C7YiJ\fr*z UI(`lY`l< c#K<M2a~qߛ&CKCjؚ ˹My`2l!h˥4HwKMsT.233jxRZYl~y?3}PCƙTM=xFc#tCk؄ࠒؤR#pl:.G!""Lcd06."aPI`l,jcS.* [$;c0z4_N"L06 (10F cәї)af˄,z,zNb
+vφLOy v;,KpĒ}teVav[n#Z϶0,7Xm6xȌ
+\k)ؠfS46:جE{B&cgPnMkЁcd~(:wc!xlJ(@6M[s .E##0?
+Ma:ʦ&MO9FMc÷Ny
+f 6=JĦ$YGQ@l\ 1Jq(X46@"NY6G/yEb#fg"5>2wL؊$6gF&b lHlW!I%$6WZCS"xYvX߶a"T,r
+MM7lS$6
+׬_ب5#IlĆr8bNg3M"LacHJ$M-æYa{OtԊd [#1lGIiZ [4߽0lQ8lR,.9l
+X98l •jj3e.acg^[7_j*Q{9%mrPi6)<t&MF;[ఱݥ/ZpP68 ,o:3#:vɳ7 m
+¶D7c
+6)3aBu^ig6ZZJ"uz7 { [RcA`ӟ<ب[F
+lK :x
+\|AbSײFAb{?sn, °с.(l7*`1\}!-6b>,k5N1Hkהcg+̕ 6pOڱ{)k"&/wyjDҴGQkl&p"}1l0*\H_ B(5DT޽\3H0̷[I]Fak k;c; r6xn iE3dͥXa;iq\R2_mW{(tlQx܇Wro+Y`{< Vw뱙j[hЩjyٍEfXARřF{vG%GxN@5YOMK;Nm Dݏ FƟL(5H{:7H+)jMBs
+Pݩ{U~B&@m*fVnP}FS*2?M(-xYgF3{nJyR˓iKENtY7MS S`ӎLM;=chf2mFL;TK0Ԃ"ẐK9gҎ`UQi{1eM!sҦ4,ڽ<ktQ{=WQ@p0CDԦ40 i ۾g*ߡ<G-%S
+4`/#1HO?Dd5&"MW@- @Y6 ~hz'ҤZ3
+G[1 ٢5EIV1t=
+}'Y?O:;ҩ趃@ \~L0ԆӺ=#/Ð3:n3P*RHm(#8>!V;SgJ[ɂ*ŗ׽`j΃we>Ԛ!zhsbdj@d05*KIDfX TKP&n
+
+]ۆ:*YNBu8$K3e;A6HO(*rZ~F) 8ӌTh:U6HiVØ50TRi'T@X5Ғ6f_.1X
+ó['ٝլjݼ>ʡ $j+z)c<hi}~ 0H˟Ϗ鏹0ZAkϖԦ<zV$ט`7jC++΃'qaȵf8>>DwKrXQlE:SkB}%Q~)0ԉt#ӡh//Ao;T(ybEkHKU~ϖD |:c ;Pӟ%7
+5tgFEK
+3!|F6oâ؇9m:n(ɡ 
+g1ЦXGpհ>i ;ހ_SZ?Nc)&Uvxw;n<K u'<Htμokl7}q}]|SPHDv*Lo
+Q> # ,>:)ؓ[Vp67H/}GDMٍRsL\J[Pi3`Ӹƍ5
+Po}AyYB8L() ,=&[
+h'lBݤG
+͍]"X+JO]smƜ+j,
+e]Oa[
+'mcˊ=7g&ѵd7;ƺR{S(>X-)l8D37d n
+W>!|w@>TU/~J~~=.FĄ%'hc=i`KU{hLy- <Du
+mnMe#6I*`=Oݡ8ySX*j%gAK@10p:aQFSSDM?cge&luQm+8*hR REoG }ٕ,:4ʃk@;w8;$
+:3O
+il.ﹹ^%'?9AwP=c
+g/J4D[T.Ҡ"@`lBU#mβ-E΁u]cR_82ď7?'5Gu,=O[56`Ca9iln{<B^yz0BU5kx\n8k%_MvC;TH|EG f"RL/zcCJjuvljaJ aI50p\X6fDž0Z7MN姦nZ5 I9Ni­caCeJemZRHOӋ5R3 ̄}kzxD ]
+bmu˴!bHKjD2%~4L(T1)/ż<F3pZH`+* Akyi6!fvxnX؇%|0MDZa'nbdMl6mʷONH8QjeޙcgQ:TU7+X:Nvͻ 4-=^❳DdQIDьX.4cAN.qn>a2.6z Fؕ('vCs<1ߞ…t6h8g.mЯaۻ*d~_M br_y$穗f1ɇ\R^_nܽ}<'(&sU }~C5mlbW3(q$=vHfw'l<G⠠500xN[[e SawG4`6aV ZJAm hUGȟ9]˄eS1cdڱyBx4Lԡ]%ZۿSvpԶ%QPQ/,kM'~3Zn۩A-5kDYFCࢾjaŔzYRsƉ]\9k^=qIoOP"*(_8I1+T$׹z"jB+GXXTʌ&%g[(9+^CA'h_=Ֆ`'iLgqtSɘoUN^E(ΰn<C
+lR0(1.LдgyIֲk86#Ok<uȄv~H
+uba e:Dad0 竈DCp$r[f+XX(Gqש ~"(<pC426#gڢ.ns-;R-0gz|h9d|w&C'JV4sgk? ۝=d MP,|| 31Qq8
+'[̺Ә.Au=mRdcMhø̍Xo݆?ږ$8GCnd1Z X99vL CU8:wzLEa4+ČwN9{Ie祺ZYvȈ(=t7B*9pZP
+Zr\i3D:MTR{۰n"ek)),NJ!(ra!brcq{R,Q1"OoDGD<5g$.eegV'wULP!\QE*-p
+43cj5t.AD8, mmЈ}xa"-Wsp%@?uܖHG (f=tR1=J5!,#. I5 Q_uZkC s),@)8lmo5Qxk3$tRBrZn :lP?=)|RI7궅 AFh~c[H:QrGIؓ QU遲>?T)o#P[o }#2L1@>q"PY`.+uX-–̊N_^)k)h'L66!),[)H:$\CQOPH:  Nã6<yQ_IfL%O7T%1Z;U@ =
+ӛz6N{
+T:TO7H} Iu$JN8 ,}s dҳt3rtfj^EϾ:!"߶oHg{=a
+2l͌T9c\H|l
+pRNز2<^\^5~q"|0TVM,Aμۚ*M!4<zU)FSS=ұLRA*37nHGFnQ,vh8*LA,HX"n1+IJCp ,ć4*҅qvoƣ'a@pљqHGAGv:jxn٪e ֶZҖtu٨eq0h$6 $dlx7]Jx0gyv[o
+kHRaHj
+4a˶Ƈ~jaI>1rր֓Kɩ5U l,3L8q[(xW>/G'%K}6#
+
+lCAN,qdWj0s2.uX7M{e
+VCx{^v^(ֳ"Iᨨ+y׽3-yQB)5tKPfT>`[Bìlt:QnxǓo\לt:%,G~G9V+/%yTM:b~cU=ZhTqWV%K0Px{Q+SwfAcit4:/ް`e 4p- fx6=Py[SEid:-J{L>k>RVVemg;ř̼n8sc`?}D.L[
+t/>aOs87ynGu/) 3\:bT㶸qe6ijXHnQ, \E\}a7 s?_ޥΔ3V;@%)DF97ϥJpL)&LY;u=A^ĿG>F@6Sf(!TzdX'zR?^$cwf<
+ i"]+[oe*(݌< bb[ǵU6zqLŰQ~J]{@DD;
+?zŲ 6TE2]
+IeOMtlI|Gr㶔})-KUBwòϗモ,RIsn(n}?.lS5(mѺWl)}Ja7ͰdwNT98umTkL֌ʧ6ѡ!t*i@`rWm*=/jcdn ܋s'՚jzSf]i^YqU T{W݇LFۼh s|wTR
+ r)vX{<xgXIX B& |G\L
+E8ز$b'栩1iŖ=+3 ~g합h<^;"H/-Ef=L*DڡiT;\J *[wFvc,f6DJ$[6:+
+#BcGUNRB-
+1m"+ɸKw=A'K5gew,lϡa&R2pz37F|u,MjX>EB0N}(mu1hr!7pZF>ֵ‰Ta? ˓Gwϵ&qѸPv(xrzN2ݖ#ml߶s#+)I"r*hbwo$a ].a1X(H:# V7>.V(`g.!ʼlI-u ,CGq(-b:{>{ݤ
+ g%ENeX;-c`?{0cirp_fKPm@<榳&"Ge\O3!iNG*;플?2<wE.M%FZ(iD:9Q}cB<}3.ﲧ-)lb ho uٮ/yƢgs4adMEDNQg3<]Cc{_P|Q_]R#:)IJhfհ e>utɄBB˕`(sNfD6)OTr7l82wۤғ>2n]}m9e3Jz{S#ŊʘſR;'O,e};m ?w4楴=#dSY%\q[?"Vuy(׊[yp˪%^[ʾwKUnO@|5"sMArkV.($y]-ڛxF
+mW6~64'xi
+ώH<x*8H<Q+OHʊo7D Yx 7ƈx3 '" c!$(H<ԂC!mH<.57 Đ5N`!D?bȌKJ-5xM L؝X/$ӧHD"q.ڳ
+1'T"">Z%;.Dd"^R]x 7O<J3v,$RO2U+zk״RPM0+AP3@/lmL<D ēRx~e&^#xBxEP;`Xf&\ic4޿0W&N#X<x(f2&ēf≚[x{x+L]!۵+L}o&bad&
+OjeIL<)o&ޮޔx7Sr忘xR+
+o'0ēXxR*oW_/&^yDfuܔu''seiL` ēJC)LvL<l&OJe⡼x]%O}3 x o)TOI
+2:Kb%јx|`xR+e?3_L<סd&^]7'xe%%1L<Ӫ뢮&^ע0񖒙xIu&^W0%1:0:o&^W0񺪮
+?T'33x]}L
+o߶_aIL~̙'2P
+$K2?=RtI_OMeɋTx?^L<G;#0bYf1802o&/7R#^Wx_L<gCy1P30L<lfW&T2oS2z3 3x GbA`.L<ྙxЕ Ow2񖒙xSL<&]~ o0vR
+o)` Ox*{39*o?1/&ja&~_aIL<['gL<ޅg7O3Dxf%%1{+O鍱/&R2oSĒx_L<=]Eb&R U&Bo&"ǸVx苉GēRx/&AēRxvO2L<o&Cdaԩ0񒒘xK &W|]$M Go$yǵ_H<R"񖒑xK $V=!X}#A2<_AiF (.H<x
+Oۨ[JBH]>+H}x@.H:!:/$^BBu
+O LH<SxR+ P^H.jEAI)H< /$g{Ux}?ףW $T${OjE♒xI4(#V)5$o$65<e$^RoaH~_AiH|_AIH<))FI-H< /$^m_FBuf^H.:!$T$g+H<Ԃ̌/$^gǓxiEM!#H양xo$^Ӑx -x_Fu-^H.gFAH$$RMH< ZxR*Oן Rx(/$ԊӇH~/?#@ 񖒑xK $SH"$bo$bG̴ 񖒑xK5$.tF)FIH<)gēZx(Ǚ/$^O7"񖒑xSH<ׯWxL
+)x
+Tx:,#f$^]3I[JF%ՑxV$^gB/H<)$ Zx\ /$?KB%ѐxDR)bFu
+O7O6&,9 o*@u+H~]Ӽ]xzT$T
+oӠ]x
+ѾxU$U\E7O"ԖGiAY[JF-ՑxMH<:Xxԗ$m ͎8?g5gFBq\AIy#vu(H<o$n:"/D<۪- OJ!{U"b.ӴG" x^D<쏉hO%ѾEij$G"qX&!P3K!}Hs"
+ϲ@<tRxO
+|0(R(@<7xd^ Qi|@< /
+#UWx^@<g C9#ARxxGv ݙCPPyx c y<<L|4>+óc'TʋZxx(GvG
+<< ocZ*<< o@Tzgʋ1
+_<<-b*O?o~훇'c<FIhQxx[$xx\
+c\xxo(2OkyxRݠ 8F/raBom_hŜx2T d ^?7On
+똽+)_x=2d q#u*2Ov
+CI@<ij }
+O
+S Sx$2O7+ZxU ^?_ @<]/ >I*@<75
+c.@~UЁxv2V <x"|Uu#8}c@<-ēBN
+弁xR+:P,ǝxRCi
+S:/ O@<:+He 2/ ! lW#XxzU o E:liU
+Uxj_@<Vx(/ ^Bgg& .@O ^ע*:o cru4}4[O@< xzY4g -Ӈ}4T 2 C!t^i% T ^g/FOuZ]xx7P<<)f
+OjV,^cJsH5#s
+xx]<<Ti:EJ
+_e: /^{IZiLq&us<6ʙSmM'OejoJ*<<Moenv7W!xx=N@oNz
+ӟHxx=%ixyx *_@<_yx=<eZxxzxx(/S>yx xP OJIx:-2wIy:G2OJiu%,TQVxx T oDÓ f7:oĂÓpx!(oԊÃRpxR8<=,8<oN6ث8oa,8NCur3+oSicdfά8]hoޮD`W|/޾_8<S28qx'qxl8}k_8<oԂSGgQyPpx|4
+TÓcSpx=J&o_=V$/jI(8< /&GPqx28<9+t gqã<v\8<zv8<^8<aeXqgt3rM퐺qx 2Ӿpx8<Ldgpx)8<J
+oO(8<l
+o?qxYpx;„ɟA*ogqx$qx
+[Ug(o.Ӈ8<8<%(E{-  ^8<GV|Hg%2"ov}(8<h_88<] 8<Sqx
+eã>y?99U hۋwЫ4< oLÓ4Ͽixr=U\Ooގ?.4<i-\ixnU|oNQ)Uix*
+ 19 /C3 E)O4<:4<Rhxv7 JÓY4<7 oǒix* Wa//Dy)0< Z`x(ǵax0<gpͺql*[J%W@ e;x tL0< Vax !J{z' KPaxN0$$Ryn՛ .YGKJ9,<"ƒL,<٬MRFf^WbᡰsSYxfs\£%‡XYxGcQXx`Xxg2 =
+  P
+ #ȋtNaQCXXxd|^,~?o~CJ3
+ OʛZXxDR3 O›(MeP-2 O-,<V{AxP OJeIy/,<6Gs#,PXx;f1,[jPXxG?ȘYx&|,<TaiX}P Yxl o?£7싅f͵ o)(TgOV/ 9
+ [f-!
+ O +dyVy\Xx|,<\5'ӛgNYxK 'W^gfui1qf> P2 O›?PYx^7'#ЕYx+,<{NYxUFe%%,<'gGpaXxK Be~Tv35Ũ,<7 O&Q1Yx|hXx4,,<jv_,<'8,<*
+ hhWYx
+ o)Tu_|'P^,<S3 K~:3 One-%,N!:ZQXxV9d?|h O3ěR,`QYxfgM2 OM.+ o'2³FP73ԅuiaNRYxJYxf)g7 OKCI,<b,< ''Mei/WYx{Vcw£ca :³>S
+"£PxK oPx
+4Bf*()+(<j.
-l3
-O/Ï4CQx!
-OU*2L5Px9*
-l>QxfʔQx2('
-ό2
-of
-O҂S9IE)aFᙚQxd)(<-+
-%# Qx*
-O7
-O4\Ea%BI(<)cA
-`
-|@
-O}
-O;“RQxII(<S3
-OW^y2*(}(<YpQxR+
-S'$TPxwB7
-OjEI(<)ojAʂ/CEd Pxv
-OCJE-%(<+
-ˇO}*
-QxKH()
-Oᭌ#?Qx ~$BA᡼Px:}Em@iBz֯R2
-o³7X(<(<UAUڌSSR2
-Ԍ£
-vuuPxR+
-OJA!PxR
-x _t+
-o) @/(]K
-fߌ£3QxIʪ
-O]WPx"*
-O1
-ObA!{P
-OJEIy
-[BFᙚQxԡQ
-O!-pAѾÐ(<}7
-OOAE£ɮ;($$RGO!/iBÀP^$<LT7k
- B£(HxK ޾XNE£ԬH/ꋄG\",$dRRBӨRHxT OJ3哄 aXHxښIx:?Hx;$<^$<E%*  Oa \%bMS.SHxS$) OMB>7 fLj+$wG ? Ú&";K9k"G
-ROk G92D!=xğ}8b ә-~ſ}خnx Р+1UvʼsԨ\+^;5py1كSg׉wj#$^;A/ܝ3z˴;,kgp=Cn$
-~kIuMkcTN MCաNU;+NOr.R>ƹHuRO%յ:{Jսǟfly=T'ul۳@u2@uR:!L4WOR"}݂
-[U%T]q$]S@ªSec!`뤺SCWP,Z:<JZ:jϾ(uf\׽ u')2i:Z:*:9Ê6!?L[gXF̹kiN><KX\N߃"t'[ҁaV.Lݏ5O/3g$@0m
-}P(pN ŰRڋ4ܧS0GUsX
-$~@ױ/kaį
-NܞĪk0oTǦ+3Pms:R[]<,,0tR!A'0Fw+ :n)p9Yg)vmG:$eMII쩤z\6vɓAR}tm7tK N]yDJ`+F`%=;TxݎRA؅ _AYՃ^BЙYt 5D`cn
-\tk2hV70sRXO\]̡J 9NR5c3g@ꉙBM10s)@)vK$+sbq,OU eAKɰnN۵ko"TP6*/m撒hsK \z6is|Fk͡޽-ڜ6'ep2mN*C͡۹hs(ZeڜTVГ6{kF̓r5}L^0DN斒isK ڜÕri7LkL{>NO ?_+.xv(~iR0qR2nnk8iUAbL7' ܜt,
- jGP{,FL7h;-%:qsz(vM&#7gS.>ǢMaB(4(BNᵓJ9n9ҏ8m~}Hs(wm+i<Erj6IsR'htAGW:i)M\椹R443AQ)tB?
-D_Ɗg<W\ܴB\ L
-AՅ2mfTf=ڈ0c䚹݋ 'Z!5/Z iKu'{K"ȡ2BN%L!虾d 8Q\ c! 5 1[sB9s!d݇k@u<Ur"pSD)Ą u2n"h &!G33B0Th 9duMږT Ms!hV3#
-[;?Nԯ]qj 8pH?Nja) ^a:BMt|Iyx}+kJ|TP&>NOѣxIaQqR&>ECQrǑ8}&?qMSkTAs4${q6NEc(qA8GvVz"PhDj7q}`IT@І69:؂F=53Qm0[3pz 'oՏnT
-s~8$A0OR1Mz\71DAfTjy),IPOqLaqX 8}~[[/|0O8^d KG;;NKuWtDA@]i(ʍa`4GlL6*43NXZPMd gTby0N!o'M+ ; Vܕrk\ 6 5ާςtLP[OΉZ.ʉS>epZ''N{-s=ޙKGdSɉ#FzrxN`Psq4{gPq(N
- CQPދ=HqvWR>X8]1q#`N8r9Pq O
-Z .j{˅(R~+ R<d?gqtCh8vGѵ6IDEyf0Z2"NS~E[R']w{lQ1p92p:N2XN;&.<NٞwGB&pf,#ߏ3Lfj.p*theF]ߌ6J:U6Ur9>)y8MISx @߶&.lV85CUlMRߡH2EsdO8l/
-Sp?eI&!n͊QJv;q v}\7Yƫbg#zw+aY!(,V 0w~̞T?6
-w.@#qˈ)$^Ϲ`nJd**?Yn2*o]QnDrKy9nR"Z<׶pS i9nNܥ&}}YTƷ閻ow6L&x9vUv}e""}vGA1t6sPڦw~Arj[S5ydMs CҤ@89Vڦ3M/4kPxR1mZmUlʹm-
- 3m(&Me3Mi 5*{AۤX7UiceW39%چ`BۤPp6 _(6594H̶fA˽2[׵mR<I$M Hb5 $]٦ďSlSiNCbub)n`5(6fF쭼@0E]m /f
-Jze3M*amªm /cTza6b7ѓpƶIHpb6Y^BHDJ6Lm"hJI36%NC2Mw՞rumzB&fqX*dBGtdB@{AJ3M5Jtڦo>84lZ&jDJ&͔muچ%mR&&жfQ}A mCj6J6mvh⠟ۡm km<thڦmwkivB4X4.mJ1?Cءжm4̬2ynUm]Pm4MJ?c1ۤF㯴Is.h[3Ym*˿ڦMIm#ȏm.EmȬڦBm]eP̟]ѝ1%S۔գ+nR{g3mJm3gԶekF9OaPa& j矫Rۺעh6^iN&J 5~٠QSm>c:Sqj2+VZm j[#rGQk5QAlԶFn6c۔TeM
-ƅ٦f6ZI?ޅ4m)#49؂#m(mЪ ۴H-e"Tyş6G42mԙ"&rlC-m(9s6Y_>w` g{2p+̶Ξ"3ۖ!aIuffWY?o-<61_H6D\$نr8 &ժA=mR45di b8
-ؖDl[jd1d
-7u2U ymtS6m 帯k# @qں%k4?kk،6 wk[BM1`m  CmM]g 휬6{TTf_gkԦԚ`2 1Rk:} R3KsKڴﷰEږ 96F-l"YmW)؆[ږYmIu@Ռ4Ѻk+IOXNWLB˰6(VVÍPpf^`maml؎sֆF M
--hF
-\2AlSלg+=J3۴f0u\tv V)YAGbXV]}o-61,k5W>] &s,JkW&Hx<6Eu6<ЦKhp9w?4mx6|lz3
- "o\@jZ32ً/$5u =gfc_$5SP(qIRCa,522KsM&1QjZ=oTb
-Z6ѽrP/lNޕ5ZRi~b5Yt`P(u\`X B8E)'λM0(jK 6fQ&  FM8vq %%Ԗ$5.Rk7,5D3`rZQ45m05i6:M SC aj:=S=Ђݹ3Mms:-%Ԗ05{hj'05U'Y0/T>τ)m; SkxlmԚa^k S3뚀QJ#IԚF2k8M0505)f05Rc&4Tҹlhj}.M!Ԧ(5R 4G5
-kg/V8eO  RKj饢iOz`2J[yNIJM\ KMfÛ fjNZl~(bRGWF99Ag-!L@m"҈Y'tBˋa>t?VWWPjl(5-:(5Y GĎ4i@m{ծ6_y\*RKJb-5XjT݌q.|Hk?QjY(5Hjbgq.ww9#m}0^JB%ORKJB-5Pj}esUlQv=UE3(5xSaBRQj:L&RBFM1Hj EKz-JghH͔' fRu8
-Qh6zD^RɅ #^[z$"nʦʰ18u
-t 8Y(3y%t4A Ӟ7Vr0Dm
-ve2ITh8B߅]e{l9Ż[ȜID&\|QЏ[f 'iՉB7\'Kϐl$sYCD -O2Qm PwmڳT:䱺+ͫqn(egY*XLS" wN.Kޠq*LǵJjS!\Ȭ$I2*S(_"|G8ҖaOڞH e\!$$cAnrdf_WbfKs"3k tm Gۂ;v^RF+ogx-<">x=ItTHƩ}6jEXi(?n'97UWb?7Rkr֛[ Ryr3#w5jE_]mnQ*Dx*?5!Oӏ.֏d\ yu'UN~tٶ}Uvё<m=66Gm";<mmx#yeѐZnn$O?l4iӏNC?Q7](Kr{{~s8l]$ D)BfǖVVk4:ށfx
-pCh닸NآWgRmˌnF XoQ/BZ412!vVǕ")w`-MA7>Uhyka6DcY[ͺ Θ29!%N*
-BIDP2i̍MˀD4k9C}j\o<OH^odwyȺ5q7% ?szU.ih2A6'7Yuf de*C4bMltޏD٨ 4 NG>\r똔~dL֯(Q"ZŌz&ɪ91J1b.(J]X>%h+nX¬Дl"Vl&<Jl# ~r-d%ml{XP1|
-m0ڬi8 ,vjYI ) & uގ^gc<^1RT'4uMyW5,"ls= iܘ7bpoS& k#:=yk<ۛC6ރ]Nf`:{#:Pޱ/co.#3:7ٮ<P>11ZE#$^R֚x<ِr$Ɉ"
-Mex
-e޳ &Db.prPc;2{gm8+iUwRRˤU1OgD9{p ̤3HL"2
-,](JRڛD^qam{)I/3O(0WK^.P݇՝kNm!DZќَPq){PRwNcǰj-k$`&ުaJCR3igVh:\䀉7m$!x3pQjٷ|l &4oy4%t&P ]IϺk'8k5y|o] LL;`ji{? X#K2wncɼ0b4EV6#ylN՜\K.B8/?L
-Q)gq^x銊{&6wS] Æeٰo ! &;"+koܱ "q8g LB)4b@ByU㍟Ej
-z=[^2jPzՕ{ۢpvHY*{־5Zֹ0v+L5*xdf+ĉ &dA}X7]ߚed"B g;U,Cߔ/۷Y.])ȳn!Ӭm. X XsĮ)1}mnDA=%͍iƍn"42'zDLEjc62刜ٰ+%G&aA:Vnc:SqP-Tr'+%X=IVG6eA `AdG-9 :Ša^fkH^fY lL̀긱_^
-!
-dSWEgD}%f{
-T1hZBG
-mK{ah55:YǁI3Bc5
-Mn/& QwdbGHNRr Y%{e㤾e=ˆ&JR9票^o>7nJ1!h`3"՜3.?9 I&uCWETvkuf6iR-!6cqFF,g%^v‹]vFF36|4O}j] g8xhld-c^ }iSVޮ#"Aob"ȔP"ۣU-o}7So&oQ24 kTv\K AKL_ &9_/f' m t
-˙BIL=^:>%">&EH6)' ϬP/e@\s Vr%m8sAuۜ}~vAs3=|[Kޘ%\"Wi%h sуk]Xƺ֏(ػwOYk(m=IڥI}Q.W~T^Q'^NLD?S
-Yg>/RVq"rDHT-|}͇S{E# xg ض є=<k=c%jk5iϒd@#lCh$^KaNqT)^G-G4]H-û7qr6~ 7P(YlL#J+Щ@KAnIh
- 6
-D'+|0$QAD-v9;?&Qt򕒳 H)b#/<k(OYBynYS=;R2BbӬd8=o&ȧY0GQKJ)Y6;"5:Z}2B9 P
-*m E!kDN,J澈v2VJfʕ2~3>[0]C ` AYNWi
-9MC.I"8ezQp]鴧%s6aA|BŜQ>VEDp`hH.k tS+%{tք/E{ji n~<mjЭHꜽCNDd>#R6U= )1N|t. w8F=ke&ʩ&ZEz6f J&qIЀ}P]k@qC˹JnJN)j^%!:)F\!N6|cNi'rFI3!'Lsyyd+-%.¬Ұ"ؓr
-HQiJ f{]CCn#9x 10줮܅_"*|٣v@ublZXi
-6T@8APE0{ ׋%1C7z;)DFLh3۫/2WhHY5ha<bqLzC$"FgV3k@.ǡش)rti|@c/[F9}u8yZmӛ 6p`jG3{NA̟ĩpB<>H4^)96K_`LZ-."vd45/h
-̡(w##}0CA?(Oԭf AI|sg4ZAJq!!SmjjrJkV`S;jeA:~l6JQCilj2ËZ\!vsr~{
-h0=v6o4Cn-iڦ138;M`dR
-t"Wر"M07䆾J"Q<sע/,,=f
-dVWAbUMLNGc.nbFM/~Z^rA"8^Y+LSALm5ch꼄A[zǣjȡ5kP'΢y͆`"/7FA7,xIDKrL4Ca ̈"" n@:N
-b7 b'5Tq7 7K<&•Mtds5:WCc6jD45j>όj}C{2Il?Bd9vU$+HY59+j0.$Jӏ6QĮi9 (u۳t^9[DP8/#BU$/r
-UJs_{Vk,+ш @=>Y}T7n8wFz ‹HWg~X;Svㅢ+%[};ؙ3 1nv<KKq$6؈͊rKJgP>._$q[764i>f[^f8n)c~0-41.|C^wUh b0.IqШLi2[\!V>-` x[gcfe"Bcm.e;Y-T?IҒT EQz' yc+e#oږ
-oP~.,qdҺط=[ڳɓA* o`l> #HEQٲ8b֭;46P(NA˪n\#ĮKrM
-j@hڍ)h%ASFacQE^RK 5witԌoUO5}) Rf~ '¼OhC9 YmGl0unI1q jx$;n'`H\ˏcמH}tR4X
-oAlTK֛5"pf(RjlVsWr$h
-"1$*RABֲFtw
-+'ˈX9m+<ahzKCS!OPiL8<yO6]A.[[Hs6
-A*,34.<\;EK^/-!:D Iֺ@TlQh OO0OrAV!M4la@b%PU&\mP^Y0oQkxH=w Mh:mi+I+1R ),zT&`
-c
-j\Kil@ P<)ʫh4q ^ 8> `y~-JIމI-
-sY!.rME}9 ٙ-O1{5(;%JůUdo(k%Cö+cϒ MhDfg
-nTQK$$ _a+9eC%?@K}a?\] cB
-O6{$YE2K7&JkUnC"/繰|ogt3u F[j߂K~'>iAAL~S$>; JԷ" lNsʅM㍆Vo(\,[KO0Ze "sΖ˙Ға%
-еtZbHΈ0NSyEQadgoѠ\3adcPF`Z7DD;Q-)oz`ۺ
-G%3f*a
-&*egtñ}-Ҍw'6k\k A (UT
-rj2nݭt|_12JZbhIzX<KHEҠqir4dAlڼ{,+̡~xOZyb~qm6,V1e2R
-v!FUkejh)G83hcMyds4(/޲߷za%ݏotgb3:dU[%4K.mXq7RoC͍B *^KѠ`a샹7 5JŲW/樆wc`Hq$K\m%<>`^7+0;3ZGKHdj䆬7Xo 7AE`$sa^8qub@.=Vu:yo
-5yR(l,؎ݪI.FZwUQ؊\g[i[B:iNt|n=,ϐ2]ϷT$-Cqd%"=VAGBRK[=96C.^m8olB[Z6oRa4V:iՃx850Y;Ʃb{)ehK:4O+[6jUKoKBy楚]̂GA]WcdH)$KW'\vQieEAQ[f# Z:Y+HM/lD\5 ,, ZZ K
-)I @o̢XϴPxF Rmhbm{1b)10^hVu4=ܨXٲMԥ[V5<i)MhfYȏш[h~LLjuaG@To~l
-J1pjZTc!V
-Ijsxo<(b^h>/5wh?Adəz8]?ѓz\nJEejOfv\EeJ^QBJ,[c:.!Cq+} M('Dxo&i5{=W?>+#g/P]ͭ GWG_s 0WC~zI\
-"9f F1H1| fԵ
-ᒞg 5"Ӌ_fap|Q/*x9/q(s
-{g.8W<GsBxGs;B_LkS8r*[V;/롪ibZ}/{ l]Py)u#>m?z<wvׯ/3/_$M
-#Y/Xx.oH?q/Έs}mW;w3G.ŭǴ.#^c|
-qt^{j)c? v~ X&9+@OnM/ίw=^^rfK<1 xzxqj?_]J})cԝn]חy\^loz| 77q3fC1CgSi1r(=]t{W`(/Gw7E>-b=b'&\M'$WoC=HWdܰﴯ_
-m
-m=o x=!xRiۯ
-)~] )CҹJ)1v2/SI8R,MNCgPRhǝyb[u.>Ԟ%HΎ'םI +P'ܺP±˧9<Gc%t.JN]+Ա!ä:+c~SL!_խuߟz'|KNjcL./!+}-r׏qTZ_`o]|.cV٨'<~CBGc.dR| o3)]^ʩL\_ɩaZ ]hr+
-3dA&$ *Y je{NlZ$aH$2ru,7B)jץ{*
-i!fQGk
-圀q a_y$lM~'BqJy(E)&bJĖJ~q |Cy**ёN+Rv<QcvWBLA'i#;?P`.lpאI:hѷ|NF1'ɒ;?
-*GCAPV6=vɐtȦH JEh`ePEک&1f#k`哋p+L}6qO>p#s"TQ]BH=D6AA`*B%ny|iA T(DcT[㓥fM*wv}=L8*薪[hrJb2Q [mb$LNVl(q}\<iKU7RkPf]eEO>SA=7!߰\%9h8!ePf8NLV/L},K׽)HfzVL$VnR%N@PtRR*N} ux&$D] d_ԫ4DTQMxW"(QÁ&&نy <xxnP4TG$y3ZH& t)8cƩ-GՕCGZC!MV;6]ņĩ`jTyQu3*Mj'wQ~ܡ1`:#)9 l+둕6sLI/c斮cb]=]=/
-(
-u2x|Qٸ􋏮68hzD{(:LucPEJX4t(ՊQ1
+STA%%(}%qGS
+YA+(<:ƿPx/Us *QxK ~Qp
+O3@њ5yu~;(<^(<E%*
+
+Oa \EɱF)FZQx*)()d"SGUFu;d3_wӚ& "=K9k"cv OkE
+N;|c!Qus:{kh:X: 'vͣr0}aϸ{QNrHOԩauJ<ǵur*:sl 6Q"?[Xӎ¡snDaӝ'%Ұ0.af\:}ҝ#Ke_"G EmN3g&H
+/} Pp80O)Ee1D`#`́rƜ6%]+~N{1k-w%u{į:4sPcĴ> :8KnZeiY<A= :esc+@uYؔBٟkᇽбUX<m;'uۢ/R :机`髳= :}k 0%3 :oVk"o FAĞXlA>+{!
+~B(S}tm7!tKN]zDJ倓+A`%=;YngRA؍(ʠk
+B{1Yttj^;JƼCr:j`< A'k!8漮Sr0=N'ZN}(T7|l蒒tK ]'?uE 'zEAxA'Px+t,bŜtk18voJ :ML(
+&_[n)A`u6Wqx:5xO :~Sp, ::g3ShAb{4[)3Y緌!ϊT0d5oAU` 3aZL]0蚱Gei׬hrǾpsTߥ8k{VL+CA'͆R'!0?0Bpڡݤ?'m$4<. >ƨ×" G[sTC=mXfo}qjgsʥ},꜖z
+tdq/N#s*X9ͨg?o%Sqs_9Ikn 57 C@=@sm6dΜv3Txxr\a_l5J}q
+-M\mγIд9f\ޡ5!NopM5RbUÊgN
+ək"˜9TBKΙ,U3gN_;8sz)d3טkbD2h)M{Tv-%9m׮-\](vo^=%%f6qs|Fk͡޽-ܜ7'ep2nN*C͡۹ps(ZeܜTV7{kMI`9>&1DN斒qsK ܜ+n57ט|"~V\ diڡEH7Gӎ斒ysK5\SIUi0ޜԛ_.xsR>X9H7'Ə͡X9μFLoNwvj[JMuRL&H5J8*oΦ\: 77E iR蕥A9r Wbȑ~@xSso[EI|Ps(̙m+j<rj6QsR'ptG35ה۩.sT
+jnk!xԨDZ:JeϏA
+np'M9qTN0erK3鞅=us0HN(̑#&{"qS+
+CnS7'
+34V<j:n3aRrK 9X$nW M{@NQ2W"h66@N'>2@N񕽻Oj
+73 bȩvN!չyʐSy5&'CN bF!׭t )v;frA.PrJLۯL
+#SqvB:w t-/9ރ!Ő2Za̐01`BTf})NN"k"7Ä3tYrdĝ0'I = r􇿶Q rٴ9܋ VrRnu(>ldQ2`a\|k Y L G"
+.Di$WqW?Nt^IŅ2qzc'?N
+ʀ7q(dL~l GzC!0M\20:ZL@aiHE89>Ԇ
+ǽ>r
+YqȮ@-r'Sdst:({dkfqc0fMXz/|5"ON7܏nT׌
+s8$0Mu&>Q~:^(p3E*3Z^$(MqySfaqX 8}~[['>/r|>tO8 1/@q.]qY:N a
+ap4GlLZmTj)/hciA5q'QqZ"Y8".NV
+S>eZ'(N|-=ޙKGdS #FzxNwk@@q@ 3)'$š(XPq
+CCy8+*Nv:+Nwl\%إ+N8yVCEmoXq:+@{/Pq;LS? B{zO8L$%Ǹ=1dF vaW']F!EŤé;e=t6M"pbKl8호i8vr]>Lph`h|?s0
+A`͢#m8t)mMTҷQ7/b۔,8e7
+]}K %ɍMNڌeS(Mp۳Kf?bܷrQ`n=V~iBDQ*qǑoNڋ69ֲoOsEГ75nwnN
+x|q}a۴|\uƶdKM-֚OVUΦ…UmAmCO6mR,㘩mROcm8~EmbTڦIt^6οɱjIm(m>(694HжfA˽B[׵mR<I$M H5 $]ڦď=Sm5l!Aۨ:cA۔{\{@-(6fFxV^ m }Wh[ AP8ZٌmJXfrۤj0nyRm^t| n,mkj5mR1 Nn[ORHi &<mDBAmC4SiNNmS2;A-S0 ^絨mzJ{62|cQty!(fqX*dRTGtdR`{QtMAmk"&aV4Ͻ#o`6?M"e%fXԶrޤp jCImkk+Ymmuɤ%kejMƧ8vj[Ffj%7چYPcPT[)mpNjM43
+UAmkQF3mͺUh#m[bJ F杌lC@?mR &eg6
+4?&-ϹmgŶɖ1#MMm#ȏm.mz[9M32F{Irm6)ۦUqۦ;m30WlA5X>uZVmXy F3Y` @\׾ FǶqurH65PS`۰ K7oIƶ.JLc۔Y1kIƶq&3mUö3j¶Z%m=2Om)qeM
+FP?mZ$mm/>Ыm26MƟJ6Z0m N|ldi%`۔=mB_fxVl6m,66l<#9}5m
+2 @wda
+w)@-lkP 6rHڛSg[L_LGwqj؆J?
+_(]Akә'q;}UeZT+MF(8hm
+h/6frZ;Ak#+Gŵ6gabI`p;f;+MA#m
+Z@ʟ9opifb k;ĵڔ"1`m,XmTYƥ.Fʿ]ӆ ӆa se#iSph({mJ^6 ׈ci{IxtԂAp6`_pc3cdM!l,A@׮..5P욘tP4#Rl6^mLd B<7/u E-`B/Plwl&;M+' dRQY|5 ֛ a4\ObѦjo &W+`yno2 l*MDK4. ж
+_#^cx.5n
+MM\ t/H걸pf;TGv,{Rk^ 5VH0Ԭ%!SSFR܎RkPvd3
+0"o\HjZ32_Qjz6*J=qqǾPj\aV]*`j(22LsMMVcԴzz%b ie~hfwIMwp 5kt فR+
+uxDinRS6`f')*n^ER6~ I][ԒHj^"Z*!Hj4FwgH^;AjjK\@jRAj4NHFYkѴV9HMe}1H 5i4֚ 5yklZ Fl &e>
+Z2ѽP; 5Nlţ5ZRi~b5:8j(Xd2Gm,FKpv U'#OݣM0'aԖ5mL>}/59pRKJ"-5Pj
+<]"oajրqjmxEuԴ $Ԥ85M TnMM`@ Lv89J}fAS[J-5hj©i;N`^G}ISS,v|EESkZdk;B5dVphjRwԤX3g!45>v8N ́SkP%6qj)O {ؗLmjR#~@BsFZ@vf1uIGc-!ԒCjp;#MI LfѾq')`)K`I},rxQs8`
+rrS[B:r{X ׏H#fЉ.7)}6!~WWXjuԴsdWXj: R#4I;Ҁa]+\m}q]S[jp݌q.bn>~:=ޟgPH"eƵls,5e0*}
+ZRKmR+4b*
+`@
+K ODfzּ<hj4q 8Lm
+6@5-5g{G:aA#Hj<iIi$g^jIRVG6OKo|ln;SFMe 2DMh Cv#r$" PcMP5nv,|2>mOۣC^ӆ
+<M%MݻATXWgƥHN>_|a]w?_/~os/:?~_//~ݻǿɯ^//_ /ܯOޏ?/߮;2K ?]|3}߿}ֿ<_o[___g|Ͽ'^m????w]8
+n!Ff=R; mo&6f_dYȳoZyyc#rd{-z2qNf.IQ5ܶ%?-{k]>{{Ȓ@2^ 5{F^#58Czs&Y[PREȽ;HYPbq,Bd&>)T ެ-KHFڒ%"ORQ?s;%2I.d&p Ǽ+%fvP5U|7S[C!qH DfyB#\f@%/܃!jPW""'7D/֌u7,UÄ^a8e
+ aHO#'#K;](c"$c[ %\mPԐζc/9O2Bc‘t
+?tB2/
+>lM\/7JX)6:,hfB26:]$_am=;VD,D 9淜i,vC[z^dM9ވ1ocՏy wȠVb,v$a6ڨ/n_7I~m u}ȏN=dkՔ2V2F 5 v Y*7';k$"q|4 ✠M߿hSBm3:ԤLdsb"b0MZm->n0[$iVr[덌.Y &dcA%1 M&&,LeF̱ ;‚Q=~쑎Bq6(0U|shڇ+]n \7Z6}%FCKQ$Yp5'^)F, gsQD^mr{}֭=XKM$؃d6“GmdOCRımxEoG\?̒ oVLPpY˪%y6σ JxNYڔwXR%Ȧ:0fݮύy-&6e96Ӄw_l]& efs${ee\F=0JO m̢Vex)&4^!b6gI2bBTBه'uD֔H
+M˂0F^1on"_S#6ބfM#u$[n0դ
+Ęfҳ( DM|8vﭫ] `CLͣ5m李5kdu5Tm"ql7F#Bfc! ֩+ui%')Aa?zb=L7 o\Qq&qx0yOL(>`6,ˆ}Lp60ԋqN<7pdZQU2>2 ͧЈE^
+~i{Tz*,*M_Uhb*Pۣ*kE
+!)-}ɣ}{\贳Fg&
+ՀbdQ+9l
+L ؍yYn5)GM9m<9xf րz@Oe,v`X/,3.m3ƹmkcx۵<oS\L4DZ,2TgM(A] š6ֵ~E!lm}߼͏)ЦK߿'= ^ )<J*o܋pщ3uJ!L-*NDnH_/o pjqhd1/l8X!gg,Cm&Y hm͂~B2@> )n*( tq Eܮ_C/-uh);hr7JRr
+'t*RkD}R:*ó͟I
+ IToQ]O(H ]@|䬭,|z
+؈ 7j%{gd[֭TN.=k@o4k7F$5NOp 4iQoJVH NoV:_bQH"'``Pc`:_x?dm }R4ۮPJLRـyxkcz2XVח>(ˢs0" GbV.vTq"nCp 00I=JfQ6 ɺh;$k`Fn:q[<$B)'ƥ: f~ Ea8ʄ%$v~G@f4dfd D'6!d+V#hZQΒ~ yWD?BpHN4]?q/X\ u d2N=yFȳ J9pBB7&u6wٝ8To҂Ire!izo@ 'y))C%D"%aO'բiH"IBd,B/*+s>kAkɷ!\c%H4 
+BgJ6RW^LgMRTƣN@OuX)hSnE.TuR&I)itCti|*k}m^6BFJlj5Pء[`#HjƠ^RG4; طյ 7[,䔢u*1;Rl̄k d7&
+N]h%g=jT'o!ɦa_(H
+bcW,Eg¨`#[~0Au ^*c ^d
+#{phP3DrS)BdD6Zr*sUZ#47tA(hthme>fMB/pIITZH"zIYUA-oW'ϊ6鼠*j ~4#WI
+'4㕒cś Ɣe"b#1yP{!ESUeEAu|__Avxhe6KrNh;Q RjxVSv֊VZ3CQ׷'U+f dsȠWJ'NgS^b\5 8 +W˖^RGP뱳 H}!rk1H/6<Aف\l _#&ӕŎEi M>X$7 >0HVYb_ ]}day?1
+:o Z1e `jiMCS%Lb'E UCY3:Ѡu;4@m6ͤe 6 ZQ%(g5"rXZ&gĤ*f`Fyќluu7qRTbo;lViT4k#Soѹ T'Q0QyfI7O`SG"#y@ YAB̪aYVt!Vdow~,) vMyl`G9Cߞͦ3ʱ<"*4P$+\A| "i}E(4}k;sK^VΨ?${xŠ D"Ip
+s*-/VQ?7;@NZ
+dU7X8ڬs 6bF7ƤRS& MFY$DVb8}ccphhYlvR6?4gh> 7pD[:At5f': [ $Uf
+jB""ܚjǨ˂S2|h k#F3AniI`ڋdC- \hEnb?]|끅mSPʀoD`"̹'5 5wT"W{_mfYF\
+ik`Z<3,=ku- ٵ"lwhIG5]n(dώr?
+M;D1ȝ>BZd+tX 0Ԗ
+65I`%g}}Z<zu^&3i3|=4
+Ye^\!aP0ksjr[n7<R Wr=Ъn<&kܵY>{0=*~щ 9chdK,rt D(R%E6̿wM-׺"u^bj5&7館]4X0*TwM{7 +Fg 1":V#II X|V.}4PR$ >
+
+'7c8^$-[3Va,;ZRiVy%Gמm։m@_Wg"
+F^3.@L[k 2XEHeO3 ,G;ޚ٨bpխ7/'kDPeX
+HEVDxY5}sMQ}645-@TC3e'IYqWEz
+1E
+CK>fwZZ(mKH֩тN+}{Rq}o7>ČxK ,)Bjʉ*nb|q[Llha#<Yh:߆/Lq. nlroΊf]FC"/VwhZ\*³\(EcHT
+eVʠY &/Ć=-mG{ꢨg,I%B4y@w+h"oymfr0zKZWľU艭2A;cA_*ˉRJ3dMy}PM\-YD :¼ 78)KK0-FĦ
+rc!'͆!CVV Ogcr6/5BW
+R%xªC D"4upy&lF]IӷdlP-+
+DadUi催BhX/€KBSMXڠp aޢb5jK{(}ntVV,cF+R%Y0Mh3
+aM1qɕg%arPa}->(kE:$cy )c|FrT#'-|!IV<tR۵b2ڽpB;ϒjܫHqBH'ln^8}%ƟvADl }kIU
+A'nVxXᲖ^<; H*F, ^V6dR%Fæ՜p <e޲B0;M$$eMTlϮc&%Z9Nmb׸B#ZP]c?*  7z5CﱴgI 1wCA=p`a9$(=w
+eMR-kbu8Fy d[j7WJe[4(be"Вx摊ցA)Ih8T!شy&YWCp
+$lXZ'٭.bNj%d7.h
+VKLIPV2KtC.ˍB8+RLq@MgV 1khP^e/oUr\ 7J3/s-r48fNCuȪ@Jh\rynԥ߆M#-@TF7Asov!7knr?ke^Q ƨHJ5Uy}nV`PowfN%`L1! Yo0߼V-nm7I>mBp>Q]4z&7t ˊV+}"nzdg˿$_p|VC罖7V[YY&U [A`5Hy)1ZsG?*[>'뼩Z^iE(di9Qrߔke &>QJ-cK!答T~<oإ|E[}+<fg!C#rc<IK!-5ַ%Q7CمZHZ=
+Y]/$`j0*V\j̖ʸ8þ]5I5fXuy:}fC_Ǵ@x]qyp c?]4ڬ6ԀY+VxLRи+AZ&cAvJӶ<V j"t{XZE$5s :VGj~G6EQَ
+]!6bi'uZƎօr B?6&[e-۱[2܈Aε*7J[ ?oK"-3YyKCBG#͉ cag2_e(nlġ]*0H>Yji'fhū_26[h~K:Мc]RJ7lJ'zgf=8k8U_`/Ŗ mIiEbFVy-~I\U9޼TYH:jLZݒ  1dD@"kU.7=0jxlcY64['a酭ޑ&řa^^KkXZAظd
+2 F,L wn Ն&Vڶ#o#fZKLu#̍-D]eUÓl҄va&ȝXE(Ĥ]vDu~^~nsfN5qkPo6aVKN͍R-V% J3RsG_Dc Hþy=Ǖ|n*zGUxR7*/-SjUbܚHʇU#WY3"%
+$JWGw}klvAtNtdj$Z8cU8wU(R>F4T|Nj+ 
+<[JC'@;|lW.__>ytݾ<t8yU]#,xS~ #$; = OyF.n{S?}b?_pfc|ravߥ}W_\>l/xqv㉘d0xtS]LJ t aY!O^Q|?H@?Cyşw+i.CyӬ3h}ӚbLJ!3s0CٖsmC+ȇ!<Cǔ{xw`xIDZj<~[7h!ӿyCmw}W'<n!]p}yyyQ==.?f՗w}suw}嫏oJ|s;hw?ϼ;8i?7i\n><qt;D|*JO//~]8u;ۘ,>#w=Co\5߻pu݈3G=;93=98sΜ398sΜJ|T3uL|uMwWˬ>PHZ=B(^.ȫ1^vm뫇?_="x~ScyYe9/3,˱
+ '衲վVv*[)ߗwgwjapj,Z}o+xz[(;$y'$Po.vpWOS?z [_G?yge#}Y{>r0܈s}m۫W; ۏ]0Yb|L^핔|$Bm?AEy@G:?~ ǾxVa #|K4^ߟ_<_j4yy5/q]fo)m?DO}z9=\=\<1xW;9Y{O.Zo/o/Wgoz.5nov+Txy^pTAj<qRjַ<=mf)mOI/^W l]/fr촃{BaD&:˷_Ơm?GO$cÖJ
+` 3_|k{pl .:X+`>,+`fnMD+~vUflh_`x0f73w 0]dMswhI?/򶛭-CCw&R$á^ȋt{C=f'XHw__\=|;8U<|w\~H]:w``緥ްKbShɃ=W^@{>}{^"%F;.sy{]ӵdcmlk}9׈ԿlqNOF8mO7훇nRsb*kK\^_vCOx<yC=TOoVjV^z~w;+ҭ;xbvrag=tP^_~BjO/e}W'^s}*IW}‹"_=|us
+翿cmTNW?k˟>拻_*u\o}Wowǯ䟎N?}8WoSICWR{om|]Qwb4 Cr?x?orN>-CH}ΏN\<.. 9~\Orm,N;})7R>>NS.4wsRNc
+(]e8>_Lp:Xj.Ϡю; !ȷBOP{ϗ#9;z=ΰ;ND vcOsįy_j3GYZJ+N|1Χ!ä:+c~SL!_%uߟz'|KNjcL!v=6֧ >qiλ?ƈ}0[=v>I'ᣮ~CBGC=hiWoUhtEzkq9uR)P;K1=mB+ ";[a%6mu^*uH +&X[9a鄟1@M5R'j;~`2/Bl
+}"Av?-1ʇw</ >[ uK-n)%R]-.Ů`Tu.:yc [{2o@ڍڸm0=XNN]R<"(;ǺNuC;U6O>ʞ03I
+NC°*
+Št+$_r%d}QJ+>WBÐ0>C,AOQ<ɪoR jK߁*8"TyzX3y6{Hm&PGL +X9ƗՏ:Ȼ2ZKe]>Vrݻ=xap{ϡe7/"{X̥\D^Hu+wOU܊h*(`qlTJA0t>%(8nȫOZ
+Ty=Y?s.ҵ7|$=.A`0PǕr= @Vl9`J10T VV$խW)Y%_\I88-J}n]V-ԩ"—9r6u9U";sW*C8l cN6Ce \uT^Nָu=UqA >CQ4#aF=zJMW({c=9OT  Oud=p]RcQ-nvdC]^2uڰjO~.Zn>S%}}* cmB4@lA{Y'$>Q.΅b:^/I6 :}!k
+A[J³]\ | ]
+HC9yޅqdh9?nBUq@ Ţ8hE:؉7-G>/" Xs u`s.@U~N]-<L<H|{Wyt0&1jPoTWũ[D!N ! FZz;UFj(q&Ըa T >nI}DHm ^AXg`@SQ Cw4뉞x(VBqR(0/Dq8kH\$+i3.;M*ƨyCAvVn=v`͐tɭ`H
+J(P`<PکFé2&]lݪQ@\pVZ)A99 ՚T^DH=D90@Af7E*n|i9 B+WG3Eױqvv9Co LOk(@@=, Lp]7=l]Vк>wŀCM&:l8Iy×W/9JzL*|_YFaeKOvBJyX5 Zgy24O'&?k} {=H&WLTVʼnS%!מ@QĞR0%zxV$帆)^ dlhHԫ5DQ[{sW"N)T!A')%نyG<x8oQ4T G1%|3U`* -8{&-G ^veB
+/ \MdEŠЉW:8vdQylflzJl!yB7V^sN"Xnދw/\pܪ xk#%У:;ڟQGõ*B.ɾ̩4.8݅tj0yVa(wB RW~ZD0qMGHtBR@@L@%jE')Ū'#F/>ޙo_u:cWo>ZoH{:z+㨯?g_N=2})ɼZu9L8gGyduԁDNTBz.`_h1[ц2~82&¡K=B΋[d URq^]s4s/K>w>{YPOP
+tY[K_VU'']ւΎ̸̰kS2
+şI$(
+լM<P|Mw:ɝ}7!c8نZhx`<<5a-]4ZՎCLv+N{G酝TfdΚ <o6E ME#`v&CPsX #Ft M~ID,ư2t;^:K
+;DYcF/`/z@MQ4 >- jö,y9^Y{ i ֥'YZ]\xǂW3S?\DFqS,ƤL ySI,bAra> +4)Eq]G@ { S3,+Z ۫Ew4@Ɯocf{>3[PyUi.u#z`
+bS{sF<Mzݩq}*ZTށQsG;n jrsxVfYGg $w *B=hJzhV唠{,& 
+R1jo/s dظL ɹ \0\{e*7%PR>2JJ,Z&4pY9 %8a'STX A⳥zX"x("BB^"R> *㉃Ĩ=Rz:hfo-oG60bv(" +nLY4(Zqq
+`sʪfM;PYa:3MD"fA"`
+\"T/{Js21/(0*uCsS=%ZNJCYKO d ,4]U"Y*I
+ nU䘔i謂Ph#[2,XR1iPݽ2 :DREWw<x`ZPrhVu3(YKG&Wf2A1g xl ATUURi~QEԕSi5kE'DژEM۞(f Lk]$OPLv'+FGSX*1B'W8f +0<+ 7h Tx u*De${{ՑbY~YcSMt2=@VMXAXq#rl?ۈPSabŰY84,
+rUy ք}&&Q~wDHeP.~@;ƞ<Esm{[ 蹋i $-Q%H!4+Y;NAFD
+N
+Zv<hS~<iᴖED?2!,_YΚZ׏
+Dabu P
+FFX *GCf5WtbI'IeՈp5ek5Ԡ$IE90AH֭M<Eב`}v# џJ^i# c;E#s2?C8
+*`=Yu `qRʜ)`cRiem:Pِf_X`Q:寎azY
+ep(8=W 7:m&#>'aFIC#McDdgF
+Ht4Q53lDC$UC'2ՋHR(x+FS"W6?F*P coA~`YݖJ#c$)8ʜLpTJz3D)I
-Dzez\ȷh.&+i 7G2K\n^ E!<g[AQKQ,!t˿b"µ'uEMЉGlg䬥H
-S?\D*qS,ƤΝL7S+VbAa? 4Ep]
-b7W1l<?zzݩqՀ*|Z܁sF;fx4j9++ ꭬sgRp@DѠ3TC)Q*KLCcX`5^&ǠWf97Gfp9`H URJ
-4dē(MײG
-*ljCĎ=OMzĪ(eS-n96pbZ(b  LY(
-qq4U̡jt !j"-1<HN@~
-l#Vdhc<dVf%aQi ~Y)Z&)YFfQ%5n2=]nw=s[:ӉGh|.2Ⰴ+LZذ?ROc[W$1ӏ)g =cRXdZU lF
-/{eg+hzĉ/W@P$=|S'&"ǃk`5x
-1Xȫ9,j60lTp4$#Hsȍ):i^sDf < tA PԸ<SԠwYYDeo
-=]WUd)BpX=g8P1@<T7kS"Ѕ/%|Od&euzf=\a>Nq/ˤ^nnOEb.p F H=3:RĬ`qvapi8à,JpUyj X&$Q~wLDdP.~@;f<ErlD[`x $,a!84+X;JN?ߐd;U/T41BGx1W'p Y @ QtCr4f92 NAX"5Ѧa>7牁K'e5̉I oӟ
-2%Vp JKޠjZ]$^%sDCbUK/x0#g@K, 2Mvqm/(Mbfec&
-^mS88?j
-309Y/CR+}h\T
-Q 0$Z\I
-r48p6@Uhe[VQWFq40.*|dpsuٌHg 1Gl
-lh/:?!"uZTxBVC2Ƣe$fYtEhh= <{ܱ 0+s;u (N.i,r(z͜~G$1JPPrh+3_Y7#g Ψuw@it/:F 2D+5ܵ0s>Lm[}[]룍=!@6z A*5tBX7aszfGBl/ҽf`VNumnM7F̦ԥbacV+GKux.TR|)@iD4<$<T ! ʢԼ
-պ~
-v+:}lDn!NU0j% rOReS1<VG }kjA Hs@4MZJy#/}SU F@?8G
-D:$1 +ġGLd~$i7q&0e'OXG`!4,s7H{-T?Ew!@&<b9I৤ t<>9!XD!y͹3*Lૣt_j!:oUw@!h
-l*l?a;n r[4)h*6s{rVAR(8{i#PDHҟF[; n5VUËG P\eqT㋦$Drl~T»
-D@_
-+F(H3SZ9q9 #ᤔ554gBI ;(b&s)H)ʯ ATqђFRRqb{Ml@'@U{ѳa߲g1kC+
-ۥ9$%xJf/ϵ6~}Q e682'M<ZiB'U{̾Օ r;"Xz5VǼfy.%F}m'V˯jWǽ]= cU
-9yў,ͿݐJz!v'~{
- !7%[(OY ćY*iKdWSAzd~{Z~p,>F
-w fY~Nx&g}`Ӄ<Hep\$+ެ jv{kXmeAđt"ilU{ (RPesJ=K樓/g 4kl5>Mًj7ET/k'홱LPronn._˵ Qn5\γѪT9 U_z^~wr2dپSh?؟GEPJZ43}UEAWܟ}881HfoưrU} rpRA>W<gnom Udg'Dg7O}&ݯd؏;(C U=r:^ul%UAi쳟!ECva3Hpݼq،q];yם۝l\5@ge&Lu}::On/9r&% Uw:1'\m/^nbj|d{ HQ.)Z5&ՇIOąFBcPG*uiE֟mǓ'>qɢD-ps46rc-wl~v4775bNq6J\tН隮FG񟈡񙎔K paBgaix[:xh~ǿ{uXSpS/7 |_u&_DwC{uxpyz/3d7o^ɍG/|Ot.ζ Kz#Io))ER׍~R1Ia / CäQ)#R(+Ra[#X?&lol.+.Mz0[-R8(U^7ds^Iv{}i?I={U?jO;JX?;% Wll8gM?Msκ={nB[>2^7|Dn=Lgzgnï&~u/1nP0ՊmY7[s+mmR$l@QPv#ڡ(} ;75VwsevmifjX~L 2w
-t-eMH?9 ]KIĴ$X]ঊ0'I`s+}rRNK
-g "ͬY3IPzUA<{}gH28!x+%.<1G8>W6_xwg}zqOwxT/?]&|w]_޾ŷ{ݿQ>'ߝ!hb$oקVT~EGRtD$dS\+"K-j7%` FAq`Y
- Rӣdoױ'Zޏ \fK"/aɝ
-=1(Ia'QCWj(M
-ugČ0ix2p?*oDF#)RQF9dg-Un#Ԍn#6[a,Xr3
-V=ևl@}FTIJQ+/>C)+e U$gzNeJ- 7jLuŠU~ӹ:Hx(ؽ\ъ (jNj$՞_ʧ*łEP-^@RͲT4eeE %qN9(V,RGB)tr`;"J,g
-9,{t^$yіTLƱT^D=$p5<ݑD0W/IX(elܧ
-1pkO9;9qCp,xD2[̞Ex{*pBxw*u$Yj Exˀa&'ulY>#܇^"EHN/,pP90Ɲ>AȢSE0I ]\E˜6-yD
-ԞDMzi M؂uX>yK.HN.u]lqw(Z 33"]X5 w# !s'+x"̃M(z9RB&] n`ČPLvR|'#Y)e#Y$$6zf
-TIwU~n+(X-d TJ\,ZY^@rrc.0+
-$EENTΪI#+.\v͔~f<`S
-7K ]fsp]mԓf˽hXZuj%g*%v7DzLr,5c%Q^H)<_y/U<ujA)Uw3"YBGqzT$NԷ?1YjɝlC 5QB2b$9'* C,ZvA4OzЃő!2O_HtfJ',''\Nc:RM|xCF#?yΣ̡
- \fNөA*aϳ1~D
-!.u|7TDgc+-R!A\8\g;y'ql戅= %f^j
-Q0e =
-p[;2#DK*3i {"~_)܈2 IؠWgSD{TO 2_PrsYJ2 zKU:bMPLqi0.R FmsM$7@@/o{]8ѥ]؁e.fb{5
-K-䦜c#J!n^ݬ <Ö<l
-o03
-:ZIiA܄ sW~KZVXc9zF(͑8擤gԐ2])y2PF4dyZ^2r[΋`%8qϛY^L}4`}zeu. >ne!~rk']"!>r?$-ys/yjfB/5NJ}DWJKe$JZPjj; 8^]uj7(w,t^s_HNe(z-Jݩ^ t`t9Փ▏"poznR~=Ka {s6c::?~-:2~dNwx}÷WWk>n<u Jeɯ+:8>t9vR4%USrVzq;_zpϥ?Nx խ":(v#kK qx R1,}[?}r ?nmL~lO]Yk]dM@/۾ġȗɏcX+^-?$C? qqk{|`cxU3xֱ0͙Qj_`~<qk{8~eťZ~}֏G-6lQ܌ehPϜ8OndOˡ+X2[RØ.Fk߈ڷ\=E8j%t!"_smx7\^}T5$]_k-k⇵{R*u2ҏ>Uf
-HA]XDbO"P㻈rbCoa,^g-$ r/EUAo\ʖNA\fwevz.5 I䀦XufѫDeǔfgDPdK*4N{Y'!2&f 5a d/`" O%95tIqd0%R
-)32FKť!ˑ^6D>?*r2惜ĂVn\5lp9UC^eҟLF͐Zt(q~F7;&DM@p
-oPYi6WOx
-_[?FNq|JJ
-"tX dޒ<"N 5ZC@ N@0ICT?včS-M>~P|--*rpxu%9v;<LV%0IX{*x`#H1 :"Qe~s &/Iʽ AN*@#ЙKVIr*L(1%?*eVe;9Lx 9^M=ሴFkkHJ7X{YwaJaAlpҺsiQ)
-ÌE)_yMT/wUlQXM57 dǟ$q]]b-/ԋ?*7K| h5lgtJqDsUΈY*vEؒAx-9.VX*XW
-W ưƑLP@ՁM, )
-ti#ǂF(Ks76XDemv+|WQ\(e'oP~
-KI]eo CLĪZxFs7Rtr]Ҽĩ O wuʕ
-Hp@{'W
-}B+mm9qѫqv<ɖ޳$+`ΑQ|@&"Y⑭&Lfj"/J(v Pbl4U|J)kJCþ7vjШ ppv[5f 7k3I0jHa#(*>hM:`^nּXQTYE1kgy&(F)cvi<  iTcfHO0@b.;M1
-I? p!j$y?Je9xHGq@{;t䌚`P;9S`xW I@99>jC3NŤBSLL]
-rH454ɢCsֈv[o g^y7XV#mҚrPA曽H
- H mƀ\P DE"+8ѩ8Wrx3#i6ƒRB#(~>w"3>`ˬC'̫RrFoY"Et<V@
-xf"_/CWKpcxP;tgM؉YT2֣uKo2<7 d5ƀ'v',;^lUu0NBc3`L~_* !9I"# XyEm<v%tN1,BY$rHRpzI
-*tEBW ]jBPBWK&5"XPBWU]UP] Ij,tE +BU]!3<BW ]jBJ.7ȭP섪5"XPBW ]j,tE +B5"ԄЕ5"ԄBW ]rB芐!+BN]r,tEȱ N*nfCW ]cm"X芐c+BN]q.&$-9"x芐c+BX#C!CW ]"!BW ]e]r,tjB)8E +B9"!BWD6" +Q;r,t%Z ]r,tEȱ!'U]j,tE +B5"ԄBW ]jBPc+B51t!'8a:Ʊ1
-k[f`cnAф1ƌZC*jmDe'4fccv"6֭Uκ%ԍA5Wk¨uc=47z
-Acz;YX![XvUx;nHrցcƺ9crR
-ɋ،ȜM4_:K]fRG6W?xd_}ޢv|O[V4ަ2ӝԕѩw,
-F}ۿ4sBN!ʼ/,Ÿ5s|8 uw)+4̙y ;݁D`@k!5s~ЇNQ't Ĉ"
-~`W|ZG^J>OPW&WU1{Z$PWLڷPWe5@PWFqX/xg҃s0Hg+.Mv2W
-} g9nz+F:.
-P\vIHSc\K, :w”Zו(tPx5FsUЂ09zm#ra!B7XF8p7&g
- N0Ilo-l-"2mDFp`B ":Fjՙ@)IT/# ' |qi}_~SC]!hS^>ѩc#EAK|EJD5REH6c=a%tWqx2g) axC'zniփA+׽ : U͖ sGl"dϔ^AQ#4kx3_8;#Uʏb9az
-P灎qb&ڈl8w!!vun ~9TDP
-?'1: ##:k`U)571 h0;uc`)mWܖ΢/#`".#,8,PO((>PۢT)ËKJTs +t}r{d2w
-Tw4cIWP-xWPI)"NmZͣB~a ycC~ | K IXvPeG-B-'@s@rx0ŴCƋXX;^4;Lt|,B3.T_G:ğe%bLվDPx[ îe.(\BW}Y\~Cб<y:*f٘KDXp2A,T+\< I$U\H5jj_E5dє)&k.nM@.膪ɚEh}}-'UYT6E]e"4321>^mlUp2NR-M]2_& )2)VO?Y`|8d5~lYpU|6͗Q <e7JRJ7w"EJ݃ލX[6Asլ~Od16Y韧6eo#5fb0hC'ąSS1aĻSLi1G$bz ()
-Ƀp
-#B#'Q]D@t0N,5r' ye};Y|U5x>5ƦMM_V:-|n\נ17j,OhV?F۟ڗt5$oVE&lf} :QoVjoNoؘ_z͝nqg=VIJmt~ow7ڃvkp>>oMUˍ/'.7%< =eg/:vՍ)*cIyALly4v5܄7HPvI$:^$y(Q!Dg~ 9d"o5&ΚqM}==s̉>޼@U@Ml 8) Yϡ;<G`=JTro
-9/OUhs$: s&A&2QӅ'UIҝR@QDJALhP
-* *orDP9ZũpI8Eeɭ]TLfj
- čwF<Ulz[2X\*>1c ".⺅h%8T|ՋrH%G /t!QI`5Zu"siDr18׍/9_ 
- K<=eAp
-L>Bb%uJJ\ b<*%!$m ?딂 -x)DHq1
-!J z˴BdWTT
-!ɅMMy
-oE6K4^(¡DG($FI
-&u$42B"T*ah`@9*ELhV"v22"T!;ʂCQT DUWSHGIϺ%^gbL
-2
-l2B}Ġ)S3ah$ӄ3s$ӹ4
-"Q¢ y1
-Dtn@b4HCC r?0"D
-șGǴ,Rc`$Xp<fxGAD0B,qAYx$΁8-;fZDA2H2LQ]2[oNfc, u@b0*#>یCYģzƹ%jűP0TVSUU!XnziOjoc
-B*$&a>"K
-JouUD+EbTsxr (ˡe]לsi整2d28t_Q42 ghQ( ͣ̔T? j,c%uԚbBZ <#V@eQ"IČ#;wΊD<,`)F⤢0
-CfEBW9%1( EHEKkn-4הIcaY'5d$Yb>8WF N|3
-IŌ[
-+ȦnO>`?[ ư -åxZ\g<QS.
-%([!#,ˡ55!Z;i RГM/'c
-Z!&2D@ tV&\l
-!)y!(6i/E2
-#Qw]\Τ!lH9|Phs&+3fM-I?BG̲GuVF[F~Gl +PAYe+c~oOQңy0x8zb@,Y)"ұ}Y
- V!Rv\ GR+swN(]p.'6|8 = &_I+Īl
-q9aev4L:9ူ U5|1Iac˕-d)v+a`ZFJI#ɥAST"~jS6 &MSP
-TV!y:uGGSQӊu$N`8_T!
-PV&R8.ڐrٿYʆa*nOS%B3~b(59D0}Wa\n#N]YL RQW"j[xe@X!]0NW V \e Oy)ҝ&`g1*>=e wJ 59+<MI1(*P:uJ,!mYxN2|73VH pw0B@@ sŒkpr^!r:l&ZR"3a~RdV
-y
-n*õ])c)6
-\Bi M|qDMh3fz){%_E/ ]rSw=S ] ƕ>ZV߀1?sN;6W?9_)%U)Ԏ@c8#OK,ɾLx4q,<1E3!*ҔI#+h횤MѥIlDTg\T%RTbUtiFd)]6|2]i!L.SaJeGeNQET`wNڸ$?Jq8 *9Kr𑲯( ޳|.JD-%|7Y F+z
-]@ְ{[0'3! Bw(s6ՉU"ܼtqL*oQ^;9L
-lPÔ^HN<%
-܎,EK
-
-M JD_}nY0Tr+,Mm)(\ ė9?3sS؈<&B\魒q(:ջ 醸`SW&ךH!`Ig$np5\ҍ:َI\wPGCMCs cAoN2RIQnR fpteE%<UEp3IGޛL1o/# N+<$PrsfJ@kH3Tv&@w`e
-jE' _ɽ-Q\cki0[zY >R*RzJp+&o3!.K
-iT0"n3
-BDt#+k5(usܔ 3Y-n4bҁ:TZ"xJ|z$-(eafFPIΈBtÁ%cQ~@  
-J$=uĮX2
-I׃i
-*!abRł1 *go<1]!³4$֋ jFܲ&
-(jPOqFD@&鬳44-,A
-I5%ږ1Ϡi?'q.O GB 2\VOҠדb@!<^es, ԬDʲAB0} $5zݸNcE-Ƥ9ހǤ-Q̡lпC
-i* QJ[| `Ƅss G>>8')$W%AQc
-S8?h<@ZApu0H@rhqP _"8^2(4x ES9ɩصT4(/WamK^g@cIBWxyȊبuO 1{JS!)Eg$5|4u*, `enc
-([nZ% A`0ԤTՉnʞ〈d2p ӤPĶ5u@wz(R"xW! H zX4[SJ8@>˂2׉iNcѐ-rĜ'\dVtW" <Efu3$i͑CVEuusVh$p_gtTVprt srK C:dO-fTؕnafӪgt_j9lߕc:P+DO?Moo)o5b!'SJ%dECu/$ym6lY5\F <a%OTgy,=Dk\EZ:R%
-m :cv$`?L=>_JFXGmL,wڍk'kng<:LmyMG&TS3_ču?xk{f{ޔ8Z95Y=:-SZlc[UkD]r٣mbhdG{mbОܘ֔mW&jN{(/7_Cmӗ}D/o=6Q~Vr蕄_A/!&RisCCgZi`Sh
-~a=ӰUV_7ԭ4l+Zq}wy`XפIBkyhgg^`jAJ^Ҧ'D 36%n[7R?90"MaP~y:'1.s[qv͊25MMJIv^۸5m"v1XV=ku~ٸ:]d5C/LkZvJ{5[
-&wFTc~9Mek4j}20CUS#?lZEcs #B6nB}O /'sxgn~׸јj^yAsnh\C,$'{{2$\y&zݾmr&꯱IOn-rb ;͝?b+qjh7<6?O<']:W~ݫ~~֝Jԙ_o~M pጶgޓ] 16.ڝZD;cUv;mm<%d ZZ
-\@7NV;E_-<'"Lͯncv"H _PZKrxGz'<,54(2Ն춼8II5sAmTk+6Z5D5&Ku9<O-AOUI]s0;5jlb|?GC먾%R׶&ͧ3\ өKKj|OITQw
-0֎>75NwjQ;PӲރu-kl[`p? NDB!-C`pt9"~썎%+H_ҕAu]ۄ?|+=LQi ݉9> S;RxdGrl9t$^{:jv@Q5[a/5=7JMF x4WHPO
-,JE~P'@oB~mH` -dšQSsإ^n<oDǜw}^^θd
- J|S'~b+?q}?yevw_\/.CjI; g!fBAy2Ke;sm}cP&
- 8*UEZq JWx}E>GO7Ykaܿ"i -gLzCnx]!=BqJZ[: λa(SeN$sr
-Rˢ԰d󔏷ڃaC4ЉT4ӵ)jz&U oޔ}pRVILw7Uo4y XVX >挣`-zSBWzC,ڰm윻̛˄7UOmƑ53j'ED%vUuOPQ xib*G?ˏ^=llwmWz"kNlNwwUs
-Uf>&T)jł
-`a7ʲXFs)gĭ45"p 3Qғc
-xwX=$) iLLEЛ(*ӛHLw"&1++K['/QN.Av#
-YH}J6PhMG`1a,.KͷIyb|)+:D -"`sj,n]nQ*ePrs)Dyѥ;Wނ`J+fGx
-h,2fRq AŪr:U Lկ^R֖RR_AB+{ <#*Ϙf74_? &`tփ=(ҊL{&i(c"KCtLSτ*ӤJE%+O[8]f~
-OPRJL+*3>Rat QYVu]i@(&-
-dx֋aTH]˪"sԔU),W t)#jqkNf%OIHr:s"TA($1S-]( g(^9) j$Oj1WDӁʓVJ<G+WiEϴbAdn,g!R@BN]Cl& \%Ts-sIe
-faV JRNPBIf沼Lm auDlQҼPR&k(ÕٻcǁQF8PR;K)c VFGNY9 tb\YaٮeM޵($ Qh%0p
-֐qvC`8n7}<4{nz55w{3]o[GF5myg̞OQ󉻶Ӄ,gUDViZYWф)*ETyJZ0u+ӄf\Jp)JY,f,a;:4JKHVi,ǓCf[~?.$'=Q Y BYB~>pZT%g$X7WyA[d ҫI&Xys8D\؝yjeX̍(6ld :t9+B/)Q,Kx8Cm&WΚ֟e?LLC)&HWGXOD^H+ގ*цú4qS[^.$c"/Rij9*e
-5j,W>j]eև$)'Vs>e^V7" i|JKhc0[^&c&R\UƷcdk;WΘ|BKh݌_Rn38k(Iւ\4?R/MšV{8lJEm4:~{|5G 9l<j> ?4Y*De ;AXz*^p|8?jDO^٣~4G >oo\O?~hq=73v{ϳh9Z%]|VNwwq3z6AeM^-733FK@L=flkv:=9֦c=zL8{}a믴驘8;(~?sWM>h7S4:/'vtx}E0d>b%o~.P3S:,c0/eU٥ gi2߳sІ~ٖ߽YqB>g!ۓiѿ=txU߶ǃV{ FX2!F~{e?+ofu]!I\2\^>qذ$?Гu.$pq.Ȱ߻FA:?%l_%oY?|Q/"ĸ?@ޞx236JlGa(2'mS8lQΣk<sTQmw
-ԏd5-F;`Ej:-6RvO77l&7&J;-Uy$$)v~32g5wwk,FZfceXuf]n7Gfsytx?Mbz֧?ڴ3wvca5GMD ;],BPcvvukLJ횖XZ^(!Eyb3d~f}z
-u\]:v*,ON7MZV,E4N*c&jw5G܇xe
--@X¶am\%aTuT״H4g-lXYáiwS)gEVisѨԟCu;5gapPCL*璹$Pc5>֎]+L7׳\!k) TY)8\rLJU'17jr?N'Ҙ*?i1fMϣ̰g|E=2/4a ,#V{&[{: 3+ -*ۥ3phn'ܳp=Mkj(՗,^+-ʋ|[&{nZ:zZ7n 9zsdUB /v\^*9+Pj“vΎ0ߵξJ3'نk!gwLȞLP+;hڋ}z]hAgvvύf޸FZv壍ɫIyX6}banqUcc {`'A=k_C_|e* T_UfJ4Ѱu<%5::eb'Tmp|p?'33x #NLIeu79>CITr|ÁXjjSC9??~Z.om %ёGq7 %& BQ(09Ϟ6FGݳ4ãg(
-5:=2:p5I\y'?3w3? &5 6[ ?uv?l+1-[nKz{{+P~{@0ZpQ-6m~>A>WW<ˣOs;p掇mKw<t[ce >J{tTvlM(ű Gݹ].]g?7G޹'u{bҾ LSvL1-JM8:U|'";gQ JrGSFĦiM@X7B1>PH;~|7vRg WhctVv{'2j|ZԐѮ9Gfv;;tw'h{zG8e-hda![v?3~B#Yr-Шsi/ފ*ؾlk's%n O#bf!"'WDwjpwEMz&Rs`M#n63DY<Ƙ"hh%3 \g
-n99%61Pi4MmiL:E{ntm{1KxǞl BøI-v:bO\т'4jM)N}u9S&6nxC,Q{CV$>\t#jZ E:Mj_oyB;#CV&([v;
-WSv8OW3%8<[FP^*6-a) @4{=9
-Vgc\E{ܧ.?lxƯ 9T>&Y8TcSz~ӡOEy_Fvw=k< Y uVnmvMi/gHQ4ex$v|Pctt\
-]Ї^FbZƽ^۩&mIpyjzqUanW+K>M- }UC*qW>Z\}Դ_^UkomuEKp{ϯѠ+,}.u{/]<:8Z,.o7~ҟ_]?`nyye{m, <|-z aeGX|6.-nn7yAG?Hn.}9ݼf-Kf&;ǫ3~y%MgFž^{k凫74n]TKqև⇅t5X>~u-_cp0h]ĻW7<Y{3λg٥ ?ӻ vnz+i\^Y`SӾ%AX2}H[)z,ĝ-ޜ]+ʦxhMnRc25F}?<
-ƋXpAM0 ["Mdj Ƥ{AQ:ү-32xTRscCӍruz㍚`#j`Fo,7-JNĵ>{KxeМ$8,xݭʓDd4%#NE-f4~2 x1V[&zŝx6ndڠ؟:M~] 7 <HS_PNX Mb4w4 yKbnIsяeױweqOmP`T=-+><zu}•9-ŰJig˝wV[~Ģ,P'hds&T; sFbAC]ٟ|U2. 7_<|Rʓwvxd;\tߜ֯uohum{~)&f1]_i_Yu+hJ+\> LPЦ)l۪clR6۟"5%89iMO'0M(tKc9}}Jٝ3{lя^>X"5weY!m{?<\\Yz#R* x
-m"ùG,8޽yw}{ɳd9ɨ`|+
-o6,z<tfZ}yإ&.->|6zxwefomIV]da4ۿp{={qK]o6x1ԝLu[=R;yʷMѓ߿һ'i81Q݇_ݙ݉uov7z}_kJŋGG[l{
- [+߬_IM4w5i_jeOk[xmRn'Mb{?nLTj!9\z% һ?Fnuڦd=7 7wo.|%{{;?=}Ukk+]:5}mϧ5z~xܺFOGxFgZu9Jۻ+?GaƨP˒G_]~N667y@;4]%s/d0orJw]y%l⻋V>;?4a'h{oU'W.X:
-5o33 <yaxxe0=TgqӶ^-\ũK~zRwTrVM"bQm~ePKdff.-/_[^߼b5iqr+oo\ќ _ʣ{K +W6λRV^n>:z{O˗_^x6*ӌru7SM/-<>?8^ܝ]@9X-w\Yt_w,2Dǽ'+ +vVo^qW,>Z|}z MF:֪@{ap~;v^07`+-5/nޝc@9(ekǗ;PVޞnkzz躽6s˟#^op|'2sT/Vtt)fO 7o] ϢUOgruQ>|
-FBhDzozzٹNgևsm$@:$@ZN!{g'ɽȖ1ֳnh4ͥa~>ߗVR
-۝s?ǠYP'>Jmy(eOٔaފ:woժwe78>{^/~!:tfˢE/\
+
+2l#n0sƧ6&sZC=ko7E NИ9eEt5ZDnc ]L2A8ڐjπEY
+nN)@߲gBoT)MQV棭ǼbѾ>I3{=_m(cja9a/>=3"j?ܟ~yVaAxض֫m éRhUe/t.?J@J9zl_,BO# "|%-O˿ܢ/_]]>Ws&һORҮ;_xr'հzyovG>`S GO Ѣm4[L#fX)è gϩ-[W%'}ϐ;\Ð2Td=E?9;JaxĘdmN\^ռs[d[G
+UJ$rpLRdBi0?iT
+(숔.6ʊa)l5w֏<ˊߒb
+wq(+O!˄
+Y7Df8 1U6W]x:"G@'HvY:nkCΌ-}}cmGn]Ө[2rxTczᜀG3S>ChR$*EYOʔWBw,̹B4Y'LV{J)9M D`#)wz ¦L;d[d/Ygkʝhm;i Nl>1xzie
+(И?j008!JZM*R_TcZ xbņK65l
+ HMl;ڬ>gDLDX\d\KBFQ1EsJ/0bAꂄ&R̔޼bR
+DzbEYq7gR \:H'¸U4A3$ESo;<rQv
+nI
+O{x+ﹸ]>^›$C%<¾H(DJ,"G18L
+s
+5YGUP
+V91l+ݟFԓIJNP@)c UANϪ1ˤf 7jtŠU~59Hx(ؽY $˛_ʧE4-^R`@RͲАd eEB %q"K9(V,R@sAr`;"
+,gb
+8i! QbG :otNqT+^С`>^g21rhPܝJC`|Qj;V2`Ib[ψ@,U;*'X
+aU. b;xu*v5,fn*82?w`F$d-!dVdV7xRYE#Ȥ˵ּ׭WRDS$8=XZNd$7)5Uz\¾ݷ
+ lYөSA*aϳ.~օD&b,5[uIܕ2]W~H B{UdA~Q:8:Nk*謝x xBI^
+$9K{lG^0D?#XTg,K-]"z琰*{bACI~: ;@nxsLd""+UOrn!u(e䙽Ńv/E{ߢ(d%(
+ R*iv+&hQZ)NQ.UZzRL:v#ף8|$hE"n$$rEfgeoXc=Ni-d8W<eD`VduִeQȤ
+Ǣ,r'XB,wdF(&kUfD̬PqB ꩁRIؠWg2 DTO+1\RPrنY zK]4V&bPLqi0.R8
+FsM$Zw@@/U{]8ѥ]#؁.j V{5~F
+䎗cW_#J.^ݬ)a}6ex6$.,K6L[7z?NzCYAEOχn9sX%{Z+rRP=LMHISXpjHM׼xo&#v]p2߼\{nf9xE,UEȭtj=2`A}7Ґfz.zfK}ax<9Aҗ<ގ2Nbegvs>+%A6a%hh(5 If>0Ρ]W F9Jk85K+
+RD7^ twwHuW~(#n(rH6٭^y|lϪgcĒ>yz9Âw~~GaVCl囷S;۫Ϯ..֢}`69V"JǓ_W+ou4q|VsfR
+HrOofd)"총kRgv l眜:wm=R@7މ^kQrYڞɓ{v QcYP芒_Cpj/ssv#>΍!9ю5^!<rHӟٹwN{E1t.JB%0~2sm;mQN?gQTCKZm >(5"9p٢9*ġ@NELK0X0߇?"4K%dL1˓z7Q!Ψek1MI2pE$Iܛ)B/N>8@>  2bCR SPnP]A{JlcmͲş ? S!i˟'Ђ
+/B H
+ !1܍$F+m\HU|W6w(m+(rx Gn6
+?DNCթ*$PӁ,Ȧh>Y. i$/rrׄ1X ]F9
+'F]䴃<+|Ւ.T$D@EV:P(]
+3){eeӔ4#ڪXh燭Ԃ~Q cȎMrMYH*_ BU9ZT!$w@1x)@g8rR-$.L"s']n"@X0VϋyWY5NJ'.\Fnz.5' Ymj-SٝU CI$4X%/Rmחg5I w &7
+:JGK`6\FW$2eqP(,(KeN:r
+I8 c"g9oD ǡ$ht{E<{7
+~O<QdX-4j``Wlܥ;I|l=k+s^tY(siY"m `
+;YYܥ:)T[KN
+mLy,G*8Id$:C; rS!8ĆוMhŞXaR|'6TޒS>~'-MI
+$(Kv|Lle\aRׯs)w@NrQu2!:%eHM%&y-Bc-9˩<&1T bX(;ɉyb2m @#"k(SeIZMC
+D цuaV"OU텯cQ~QmUH6_P8I,9 %2(bkEq( * H$y`VUNs\)pްb9X.,HVNT䰰9qI5CLG8J4be5h^HD'3
+`8$:7@ @;f@p2@ 0Yѕ ?F@;%!=/msJș 0矤+Y:@Ѣ_<HIx@l*E OҋI4Q6 C _M`ˤkgCDL5&sx
+.jp$3tyrϬZᣇHUΫ:BaK`еR
+@ 
+zmڀ /eD;
+Ds_Trk]66W  K-(])A[E2'jDn$/}:*@$<pEzU/iNQhjḾ./m= xEp偵nOK[YnvP|+Rkk=^eE!4sQ9Ew 7y23ʂمLJwjk-wj[P핗,6I `Άl I~pFcP$ Nutg- &mxۇoH*;DUIiH#v$lMuAu(Y'T]ܲ*L@X
+vb{Ҫdkn ;â{
+|-L鄼j*.Bq<5
+̋k@<4 !5W(1
+;:]&Ysg$Fє,ysb iN4BQW TD<K <q`1Q Q7TwQsH=o䩙
+^R@`aW"
+!!3S,AZ>*$i~~sc͏'G+Jp Ų-x_xbgP122m/#vkq<Ɓ֧'bں>%ڟCkD 
+6 Xaȹ&XtN¾IxRp̯qogDja4-hKTA
+.BbDAbK9@8hSЪzՈkD*[kD;M\A|eA&y%,,a8M9k+S#(xFkPi_?:M*M)]C`P :,Q
+*Τ{um_Vum
+m72x=IHOH؝yzP9Nsky
+>aTNn
+KN 9@"P,!$|cAN~H8#LNNs#z,(,&@ftyd> eK zD>-#7q
+~XE EztA=00pN|OBcdg$&KϊZS;Sդ;o"ּ⢹}-ihSTTɸsJ n, p)6,hj1(^Td/'nbFɛaa4;f>Jp3rm׵^mswc7k^"D`JXYPGFi!壊E B.>nPaeB gJk%&XqB&d $DvpLt:M¨?%nRژsbÄv2*,5nq책#Sgq
+1j)FI\l`$> 3JeXILN0=c4t=:MPbeH5v Z& #$4iL奯hYDkbtjL=pA u@D k\ih}oΰ_o;v߿;>|ܺfqR8G.h_ zTRov6;ýxoo:]bٵ?qhPD 2ngĥn֥˭/.۵.Ie3޾\znF4;͞-^>wo[sŒ`<0~1 2&^Z{_>˷HP6Id9^x :eZV+feŦܞ*f%8# (|cmM PC؝-cg[@GC(
+
+,@:Q`gH٢0Z <(܇+sT(ؤ[@PWd.k&+sb3ɂ_2_
+TRR쓃ͤ
+fϕs E6b~R3PR+0fg•x%.-$A1P(
+ 2gݝbFV`WMkzVhx뢈ABڗXu'!l4+HJoPuKW GU ajx1,k| zOr
+_E~y#R6
+3WU02\}6\hmߙ<z|i׵D(5 E
+
+%2~n*)r[4̸`|eT I4݂h^`.q(bfs:Ub D89E^dG*s:85BiXŜfT]qS\i|=u c +d6^><KJbޒ"l# 0 /Y9L\T +Zp(>v݀'NΏ3UYA#g0o_J~u("Faߤ6kFf(+Q@+즑3* \
+V 0l(`IFPg ȹ<o,m" rcB*Iy^,(7Z .mtD`&MdqĈRڌd9PU8Qg-$9 >WNٞ|@ ]aI[jxY\WרbW)C
+~o )BTTkλ)
+bRD@ &~d@!߱]Q2e"B!#QJs#G`mIQp#Aa"QM˕q) Q }WlrbŇC+H`U43nCB? {.+Gòg>;=k^|1H|˵˴XNWsx0#B"a!QdҠ*B4i
+YsN#"kyh*f`K ] ߷GǠX
+w`Elvk0L
+a MiWPЅ8vy *ֲ)"1*L:g6..ɎNd' GAŊ(|+`vIW"o1P-93lYKO`7q^kU7)qS7GZq,NT
+Od楋cxˊ2A`3)aBrs`CSt!(!*Y8+5=֋:( ǙVRƃP2-SR IEd)xj63$&)vC
+ \yZueBWevmf5" -!.V)-n.C!.(XU6h8.ɴ~L6(pQtVI WݨX0Jv$ H8Ppa-F9,g+)96bCWN5j:m.SH
+HS
+?=N asR0cϑ`њl15I z%y["
+FìP2I~ ^ty΁炘$;2aC(ؒfPLQx|EPj1ILy| OFW ,֦Ҡl`#/qSЃ>fu<;2QQPsQ ߡ ^KgxtArÀbS|] [T 8~fM+"Q)U  Հl@ †K#8L969nC"VNb(d脄z֘"jFHۡFII5ü F(]6AV~YRu>!6ŒRDATSp5Yҋ]7|2buVߚi]ó0$Ί jNܲ ( 5"w@D$AǀdyLFYMX* CMrn \G r;/G-\S8Ȓnڊ.ʡ~ZP0c P=9[|(9{i>T)$?eI
+ɢi %6\H!N;"+6kof,: LaAL QYP
+f)YqV1X\`׵j2[j2?y)<z3ל@mf7L\06jćA٨9.@ ѮQ`#*$4v8'^1)A E<6'P 7ctS]gwYZBSO%GˌM <Yr& i
+=ӝW鬵38<w[Qu8D~3Z
+eK)Yl
+xD2~ Z
+F-\/`{<]x{A\>τlɉC%!^JµOgC"TͯDa?6㝟g01Kſlߏ1ܥv<<ΰx^>Awǖ|jvx"ɲ[s
+iuDM
+kN-m7R'_ǮA}WIj0AךowLJ.B.="G xܺס&[ 3m21Zf0
+ Rm@z(A4˚P~TPDh_b=|?'Nf\+
+ɵӿ@w(Ie9E{F
+]!:P|0i1CdSO
+>v92*nذ߼YBw& myͽɆԡ3yr 0FZ*#B[Dg2nԗt@̖Q Ú\6MdVS#(&K Q)H9"SOLFf6M7I7 D{m'g*s0+lN]gSTJeL2$וf2$V@`׀90\J"5=qYC!CIDڸI(~x!DNr& V*`TXOr*T1 eTéUno&Ke3L ,a2HK:ߦ%J'eH D[WmΕHvKLT`ϤmT`ܯiA99:_E. ti
+*KZo#2RPP@׵@R0 1#td,v򅣱*)hyo5k ,!LEzX j *a3&NN-wVF-G,9tL$pWe^X*Sqs`/Hf( r߲)BbKjY(} #*S
++2 酚.Ԟ'ޗ J"F֤x(aI־iZ[:\k^i><¡vVqZ+⡝.opjQQ[ߩmpu|d4zѶwOmyvMttIRŏGW^;l B;dͱ%*FRe,$$' -%(nF nåe!{71@OhH=4cU(xӉ7kFF еf!jGI:&mqE`iK(ې32٬0s9! +%My ,t)X{ :bKS:1< E S3VTNhTh]2 uNQcIeUD3чHI52@#Π*CO6aw`ꟲX ɸc6"H4z r4=X(ԓAv 3GNb6ڴR(TQXZՄPoiMk&H0$gȣ?:cVɁzɄo8r2#kmv5}/SLixsٛ7cmtGܛz5YEQoۆÄ)EG35tF#3 zH?a_quǝ !=l=jߏZ?_;>hsXo> ;öy;괇;?$? LJ#":{vV;LJx=F{}8 OܜzU2{:vFٯo9gUuZ;h 8}[\ư=wo{M'}գnlh;fݝne|1퉖Vg||D^M`5ye֪3:h=1t,Qo\#ϒGSda0(sl98:>˷[Gʠ7>Q+{&puZ8Bg3Em"-S}ǽnUhiǝ?\YK۵3Gx!NF32so2E;A{]HWfgQ.aIS֮ۖ{3p6dFѮfs[۸*u a}=<Bh'=w>>ʵA{kTo`'g+ùg14v g+O#g+;+H˞YRD8h4Sʄ+J[{c=5Z]/m|oTh^<o~>cq}ihT GvaW5poff+.[8G3= #%;gX!1WƕLgA٘Ş>g?ĕ8m΂GEfvGKɾ!yC7GrLcpJG{| FP"(Κ]ʽpڂ/=}>(2!WW0fMh{06f7~<wgdw8m>e^Oĉ:?D&lxYM5^q{+Yz,n~W=JS:'N&׫Rv&THhp~9
+J¦'{ZZ>=zq6SQ(TokmZq
+ŴziylwznO'/cggV0ldͱͩg,K<қ%pVtU0)[dv
+6%c47gNDU'8( w{vIțՇj,3bU5.Rdp%ЅKɻY)I6>+uz_#kVOi`D<QL0 <Ӑ%< /byjl
++aϓaDQ֬$IHBr4H4>nO:}x/ϼL(|:qg[(.{JŦ/9Znv􌊴q)9pOw‘Ax~)Yl{mF,f L$j<c=`ÓK z=Og띭gL]
+ޠ ,_[RO"M GLEqN,_S HK\`ϷW45ܶu:#"s?Jn ' KN.m N3#0(o'h
+=i`oO`B;}w-ku2 -ҖLċH 1XtHb48\ PŔƇ1,jQjnkCkuhB'@Fad|24`0팺H)؏(N9c^X4'vspZS 0=Y To;}X74Fi<eAgkzLv3#^𦮍ipY I :]9qm6RSfp{|J -Ah4Ӛkv"ln︿s
+A 4Qv{TA1^zz65E^֋Ǜ?_n&OG~"52n+24^ 06" CN>#2t8uuG М\OMBFӳVRg4(/G˄" 2y>sk1AaCg?[F+'soav3Πi9@|<](jX$RafXwv?Mᣵh.Bt-~ssg"t^14[Q$v:ۄyXF |Rvuv{GýA{A0B NXk.i'~<vn8:3b50+.KJL1oGcseju2x_FoGF:KR~U 7W>uhF5ϔD3LW>l;XΎ=:S.OѠ?9;::ydo, lgbDC<5Rfr~ /GںG^6RЉэdIN2aa>?[o' '37IrAivx3l܁F~,؜IP:OQ\3d<k=rd'#s`M\>Lݢ5]!_WL k<gqvO#ąƴYiW{?+h[ײ@]T;D/?0 mxYDdY'm&A O'^6*h4c9p6N88O'^rNWO,xvNGL=FYL$w"AǕ@vNcv P q9 6[v7N=C;h^rm=::s4#]N"z`ӧeN? =$eo8;Zi2’ Z[NFΥN5bwv?N#9B\ 7156ap:2(2F]ssHJM:2}x
+3S/9n:xi%mubمQZғz/[D#0[/uo"ӓ+xM /ȶ.E4_ &_fx߫wWos^/ޫwVһ[VLw ظ,~:~uT_cp8ܹqw+>~do~l)x5􊸻Oww};qwv'ԘJ_A
+W"}-66v
+}^_Ģ_&h6iH~K4 4M0Un{X腚h.rS۲T&~i|x7KE{:FMO؈6^+MӠuJ6*||waq\%<d[NӯBh~VU.`0yrn\-j+֘&ɍѬRp &JvNZ*XrTnnzHJ?سO~R/䴊Բűiǡ!o?CL-iOJ\~Lx1 <),=}m穑d0꥾xcܕ0qo~g+7ovzYY$Nlu&; ubBC]ݟ~/x\me{^98~Ç.Z~Yz_}fm$H{JÍ[_+>?Z۹rqMGzX_\Yd+HJ0V
+znaTSuo}D/6?K3THJR99jb>̉}P݃g[ec:4 R>uՇŷ?,ÅcA*)"w )aٌf˿ԿW>m<]zAws:9@f)w?
+Vn'ك_W-AˏF|yأ"7Du/=Q6~a}!ߥ=luyfFswֳλN6/VĎ Ϫko\xen7<:xgn}?uS(+-7RVʻdy+_묽y&7Ap.\~^R {Q,`/W˅l/=yzhw/}].XTarWW l<":ښ6oߞY^͵._"Ɵ}$/78Q7[S:U>]R {uvocsxcdta>sWwo&<% _nt-xʴ%չ 7_^|RWwn>nys=n|vm0Q-ʷ(0Xt~dxɣd+^]~w ܰsɋFҡm*[0h]Lكs>_Zm M|sֻJ?hR4¾
++Eg)yi+ھs=u^i8;ئk@
+4:~}$"[Ƭ빞,7TFhnM0j4y9 n{?G );:T#p1{(O'/+֋0]7%h'#75xRRr4o`&څ^o_`Z@M9wU~tأ>$3r>jVqmDa3`ý^QӇ_rXVŪz?X|Uy$냝>b34.ߠUh*>:=ZQtKc.,S:y5\͢*RK2ߍJp
-m^E$&A'zl/*}bUE"lug죓c&o4z˾,yOnC}~~6.#$ygS03@i9܉MAq9Pc 0j d;ﲋOEᲄ\)jMJZE*/:w"oKmAcU4p:j*ZM]ه|`Uzpaz>yYkײڰ
-'|v^x Ӯai׃U 7wzy+q77u?gϠg>ɗDTgS݅MkRk
-?8+joLզZJҌphΐZ ȧ jjO,8;[' ϯlם뼉D'}`Aor_=sp&.c}䛀T׷dWOA͚/:_{Xˋ/sv *JiiQ򯞴)4"QpQvd⨩֒$OݡsYk˙2< rC΁OtC8.<OT<|  x$/r Ńx^'
-}(Ex9+ _>_`y3_\83 ^ŜCUQꆡ
-E!b 煏ut m4 B,Nk>}vȷaAm_:
-M4Ԧ|~To
-$+v}Zv0'lu ƏB'8o}?P 7^\^*RBANdOճԭng
-:ۻXTpNFd_h*twG
-|h@mgomQW:(
-uxw|>N (6Vou0ʺӋY}+J݄޳P(c^mrşnO)A
-55J=.\u _~b }zOQ 깵/vŋKB.BN>=wKU/&_ u }[\BmO?5c
-}Pߨ~?뿻l&*:z`)RkB3Qz ۨaNAՠ ړ*MeK8+B#RX, V]n ª:&ArR*v;A)ؘV+]EQ[AF6],WhnEU0Nr3M“PXv;.a4_ {TK{Zo?'#VYf7\o3{[/\3O޲zͨd_{N)_ްo3Lq5Eiߗ^ݿs魊c1mb~iU+Xwz{ijxž}NN۷jRw`M3S~j8燸_*=odc9}j~sBطt}{\4c%' 0oSMvڜ ކ;Pfg]2\U럱](ũjw])f
-೺3R}?/h&87y, obQ^u˻~?46JG6"7c{Z]>P޿ <wrUƱBn]T,Z`
-ep_h?
-&ZeۊV:B+t&/4Ȳb3'Y3-Є[UիX/l
-փJ(-0x
-l/zc E6T(bMQ<+V?|cdݛawg]ꋗ;^[AJ qrQ[^7"ҟ:0u~~XD>Z䳍*P\,9!&|ܬ , ږ>qk# rk^33?R掯 O T{A{ v^ZpS2P
-S)\%UjRUJ^D& ̏r"m~(̘:;sx?en}!^Z׮o[Y2ˀ*Ա$.0<jI$RȜd569w` xIy<^݁gRgXSV8Dv3P>Nn1"wRwqtwYo|CK;7fn|nnEaU䳘U}RWa\O[q|nDuG2_ 92IFN}b4)1=R]vMxԁr MGty 6)4b4cN1y?C%GV6@D-Jz57;\#|ߍk0mH+Kf 3+T,2;;1،yc%J6 O֭'?k(nVkP};W=!1@u/YUaaf+zp54,,_O"I bOKzA : 1b^/OoHUgc 9hVaf/>M Π՝rid\'cmjz LoJ:w.C-iԍo6UJAwwS~gSUdmUL
-OZaJjSޙdcr6P}!/$
-ݴ_%/q%M~r7zR{9dG9
-]oad8g&:yHnrmMup/߀H;d\Yyk{қ픻[ߪmV8+$fa鯗qxmoR^3t Ik9:vG GE\MJTlyO\SZD~d]DJTOPA0$n 1&fycDX+egnmj4n#h
-`LqcWu%&^XjbAQx^@^h>c]i| REq'YIyeo(ȣ2y4q0oj2q~̜ޚĞËUGF?(3ZK+V(TAM8 cN̴RA~@~YPv(7 : )|\օr6Ov{N\;+ 7KΆ/{c,$f߾ͅVg1k]ZY ұc˨scQW:\4l G}bT
-xzp$tR<%a`m֠K䬌zv|*?? fwt3c 8Fd
-= K@_ƈƹi9n"SU +(tx'J,*8Ѻ`bbʽ6<Y1d$\m1ލ! V5{r#r0o|ICUP"4+gRweB>y֜Rbqs5=wr} |"T1t:OtXE 1N3F)>:c-hCg3@ Z#Z:xlm f*t&A1s "
-xWD1Q҃8 c$ tHdѭCX!f.S:Xmr&JHI1)QeSSX"e5>_2K~Kc¥uH! Gw`'L{M:FfG~O C#|~La!nNK08a&0g-O #O啁iB=e;#8IY*q @Nul~=vE:~w0;u|248TK X(#J1VURfỲOI*G〉>#rSxdGf=~|v<2} 0
-D*Cv jIׇTAF(aس= UP8}=vj(79N_N;oºN~Wp:^N?F>rU ??U%9^iUb&"@/H*EQ$p Cb,0Cn.}-y*כRj\8 xGui¬q>@).w_ɨj8wb|)(mxuPKMs])>*r<2qRbPgpc^C^.^Jݍ,+4^8W8]3Bzl}Lp
-mDBX\x'©nW[LF`7:*Tc {xÁ^PgU-מp΍=n_Xz%*|/9
-/om"=?uYCVX%_j;&UZ%ѽouhykc!l_̠RffqҎ蜩B]2$g Z%4AC3!-%3#'$r}3K6B>\L73:KF8Ҙa]I{zA燱[8O#<&N'/tzXcx4/^?N~?f MG䄐#tGtz4\y24N? NKGcMk2M׻{R4q#= NK9mN[/7R:Mg:FN4M4iNt8h:rAөHO;ctէF
-9BojΈtN缡btXXavJg߮bB \#ZB7B 9TDe IHߩDJ,) B.Q Jr6]W,pD0wLk0^ C{}.)0T1~RGJ=?T}v"k{4uf$S^Hl|ags+1{`G D5/;])ǯ_[-:qW{3ƟwUvecJ»-< Uޝ/wU)*} .m*aX'|ǁްT=b _Mc<lAP%1>
-UBvO#P^/d:7Qcm]c
-emu,`ՈA /e
-hG<g|ZzxŃ0˸1%*;9r%j_I~Rmt5G9yV DG6
- E3IоTL=$xH6
-[%(JUHMݩ2 IfROR8
-u,'+!hF;ɓ6Pi&d>k qw,bRb[rx*[Ж8->XC6gqK @kvQ' h$C2.ϰf$Z 92(s#=S4!
-!zgabfYq }2hDguR
-hؤYC, ƺYf,3ˢWk f{37Rsict,q|CcG
-|fNÌ(9:Vɓi#7#2)QJ;I^X)[)Ef`|V?gC]l(¼~DgC'k Άtl^?~G +O_ φ:"$"qd蹲 u"aV?גCϸi*yd;"n^?EOht99cgA/qOf^?Éf3v [: RW7
-~z0Iiw̻~Ty7Tt
-47AnYOhD0s8+:|ǀ#%M(5 Yu Tbz
-Hq$F"8AƊ)ף#O{6`d~ ıARSY[/
-iac7*kW[W'I99r{ yf$|L7j𝿦[.WRyW]ΛM8Y_x6~,7rاЛZMaS7sw@|s]n!l\bTAG=>faW˽ᎊ/\ޗdx=%
-GVp "3]{+\3G*BF: f u0&<P AOC3)5)އ/Z8 j9:tH❊". ed#ܬB)*5mhrmXްN_6YJ{+ȬkY: i7 P='Mз6cJNfiD*|TQ3
-|A/Z/ud*iR73
-=M:S}_PYRKh?\/bQ4gM*L->B7wW}_zUwrU98<K6٪@8urL^}ONᐑ[|
-ZT.e/k ymYy3C
-}h#nT
-pWЩf1<Sg %k4Q֡z ^h5>>n\>†ÇON I*_㰎PJ!vd&35Um_ϻ/
-dգе
-YI>4*2xw?@slF=>y*-or_xޢ5*T<%yՔ lT(g~f~46cʜ\bawË |+(W\=ԛY; g+{{
-W/VPaLZpm]1} # ]@>X NnGWM-іZyGNПw~~/"sGtElU쫫|?˝KOL:Xg()5NbE
-g#򓗫Ex9y጖ug|4댌fSrsι$=ηC-|~Qm Lvi\Y<,wfiЪOZqme*d:$ۤ3?}*h;#b>v\}E-%fM m[g
-~%5^_1`\P7i.bw1#$Wː8ܨDd;Cyt
-{oa94 nq_GyHRP?ePD^;8g2{ҜMQ q}Fmɨ j%f
-b ~H 
-ؓ1j1v8b* rJcvz9
-W?' MȜojFP8;20B X_e5E?l/,si)>/3o26-/~aB[&~j!-
-KW<Tz hO\Q/hKn=$ī$GvǂZ%!P-V0Cqu.<K'%nec?j4{L*4 A?
-IS:RY(c# N):L&dViD'$SPh"i;1Z/cT
-I(ИI(M'23At@$)(I#TyFtG@TDzl>xߤQ;1& I"@%@93 CQ#
-_6ɦ8? M0h
-D{d,XKS"^R$&ΤB@A3fj e4 9L Je9  ѝdї'acT"Z$#C-Ƃ%=JKDRAGD&A߂`Y >@txQvS6fi A4>Kqld1l@Tl:+=]I!@%H` ;`)`AsS*
+Z] 5tPg:k^֦%9k[J=^J҇O@VWhOg:+ic'2gڃIY(PL5j6Q-6
+*tI/8䴋`JB꼗SE2%$\HP^<d[RuO#/dٞ&ԅWs%&J8f UzXfkJjjԦ;dz-T*C0.\]ϵ78}Ӱ5#Z5Bŋߺ_+ {;87Zf`~#K9߽-3{)Go4 dd}JnuUBwv/9CZ$Ʌ\.-d)Y}7?Rը0b;3@~׋1&ы
+8:2PU!76F^xs/?QmvKF{}{U{fhC'}|
+.Q>VN`> b\-+6vMJU͋H}m^KߩJ) T%WKuv]CX;S}m$tIEl7Ė3X-<Cob> uKuҍxzsnҷ۽v D4+n⯨V4j+;ڽծ~;l@yCaL/ۯiW/O:ꃸZ}VSiZn9LUy+EB v4+m4K3B^c 8ojQcT_XMJ^Ep-V*r2[p`*-֬tP=*mܮMk]}ş߸ZyR0.rV
+^ڕ}n4+u?S?VR`똾&򺂫tL5B'JT;R[I3T*}
+n9E]VNiXi@Qͽs48̀jSk%__ƘJbV*Rׁ 򘢯lg{Y75QZB SCC;G9y}4+}.?>~ݏ&R[Z_hWڎENCR aOÆc!-\hU+׆wJoROJ7]6)*.X2x~ 1TJMa/f7Is\_1i/q
+AZoؕ&VZRX WkORJQv[x+*%~JSGu棎aRިf3Xeo['X3O)&ý-ҪY\~9zZYxw}þM3x(~_b</SvpY`o'[Œ[t:4/;wQڑUQ;z\jg\5b>'Q;[5)~\ط?uvĔŷ*-נI +&).'mܯ=v[
+ZI,lpɛ*I+?YRm(t8J/TSjBOJ}dJ8`+E?R` V
+";R@]_)P=Wiۋbp˪:EG6 _=_y|78-seҹz%8EIK u$|儋籨p *$ɯ}gCb-CE3MjE>x5chܟ
+'kYK0:Pc;O)J"xۘ&݁rqe3̕>mxbE_-z5aE͈uko[)&aE62ӞP-hG/i۱b7+?Nk}IW1ԹXsmDF&h6TJIz5xWieCZ0z
+P#4W ShM]&j?0~Zs<H89u I *
+]Pϻqt:VX:P?A&-dZZ (&P V ռq{/4I.ԗ}CeddQd0HE" (~ =vY͌oҤi^{Қ\Nkz%.:Mk4 Cgs u #_6KbabwbQ,'[(qI.I')Lm7btRYp{B%v~Qj2\ݑڱle Z)rL`k}qYYm\ ev?V5Mei-q;<Ƈ[* ˲A[1l*|1NS4duS
+
+ &/~.)kﻆ(dp&#OnJXSk + K1WfO+״Kkd=_•%lKV!k% &Hv\kR`%)ru/G7
+ 31%0iln˛h<q9rC\k=q3-E&Rxl`k&!4HgdOmniH˜=>c9DٍlSJ¯hr@izH*0ōU%oK4,x& D3=A9%wc]R「rtvBe"ҳ[:J< 67Y݀ח/5
+{z͉YPؓݔbd~B?FAjIrT{l)ʱJԊwreT)|Zڅ|5OV{ ;_ԛ%]`WgSf]hfW18j]ZU cE"ǯb ^zŔCꯅH¼m,p'F' GG3[+eSbVnuDJ[gW¬nI4~ň]~$a-8ehV
+"PMc 81:̲vwFvGBu "Ncnĉp6r+솷O7$Ҳ "3M̐ C
+&;6fc|$Y)J;C(MALuhlbie uf8\
+7 mW3hV¢$fvF1&p|#SC }UZ}9q*jA4gOE0k=GKo01z N !w>p3s<9V3wRhGQLeʽ~XTk tYWmf SAoS)`ᐯE tgw,>cIl
+P(Q(`S5ȠrGА2^_xF{Z@뒆4b{=
+-h#ah
+ jϋh9dΘ`J,De7N,
+ݠ1i"dァqꀮe}1$0#إ K&cMtЬ:BtquR =J2{%nޝ,Rp1`-Ù?<Vߩpp&pzAH8 :'=5Ny(;5𔀓d;Vᔶn["٬#wHP<&[D>b"nTPu4:*'d4H*H.U$N D:CL,exng` =Y"HU: Aah14I6m^dӜ17}0xdPI(*fXH`iZ0kɽҊ! v24D*86@DgG!Rǎ!:vLH\P R6ArNHx1TX)c&V\ CSM˧a4T@ةp(_7P8q99xb Nz(W@cY_O1z/l*ɉr}10H`Q ""?Τ:d';r%OܬսaQ.wTcy/Ҫ2}١Vϸz'W+F^ B҆W_jb\UʑiR`5M<Nr, ZIF;Kg%OogI¾!mVJ;e=ztSi#Tbe;N vBfBE||8]$o8۫Oatzҹ~>kK^2v>Uz/GءQ5<KݹwWAeMTb~-"z[IW BnlpEGtYcXm$iQpQk2V3UKzLy^!hHt&>$rq}dD?oFFHgkFyFgYG>_s|""l+i:}O1h0ftZv
+]Zq([}4t-'O.LPg{hğFg]<$f0q A-:a& u?9'e5;J<<4gp=#]h(TP(1h(PYD~`3}'A>Z
+uFܮZH"O1Q)*$&Rˎ
+#r@(K5qySaa'Idx DI.,);Z4CPoB$:ZPw SkڇSe0/[sk*Q5n &^NEu(XV͖OBŪv vxAiD
+agc+h1Yy@SD5sꂮWUjLB{o;ƒ\1w%p6Կyز>ǃQd
+I+ǁް8TV꽜D>qybK$]T*)G0@9}_JmnH`e9 oIۺTt7ՑU":6\I|{V([)V*+}#zWZu.P  WE壏.VI(-̮5q}ǕJYy{gEO,,ta ? e13$XA9%C$CMoTd lڝ*3 rdf!$UCC*x4S<ifRFOM/wg:"I(-|!&(-[Qx?&iڣU[> ߼sgJ/ 6j:pHFu/ jVN1#ioY:zP;ҳ,?E
+h`ĝYC ƚYfLfEǫDXUQCIΥE1Ev S
+.r;H$>#
+]H=6)'@Y맘<.Jg{=I^?~'[p-AZ'ⷴxQqy 4әkED3H'GR^?c͡맃{0맯N?woN44맿,"8>Jk||4N0}~񑀘NoPjKŧDZ'sl!y^^Qy 맟M\^?>¼~g:Q(\T; /'R^?+Ywʙټ~]U~N
+y4EO\8~-3yؕK+у~!
+^WH?^///k|6rsa;=)xzU+<loK?_d HN0 ?Gb팃DL6qj K_Liz<hwTl_i twsٱ}EF;s>t6Z0σwfA$B W^"LTtܔk>CJt"͉VI׀XӢC>lK}C 4+^2sbt7;gs16
+rr< ֞zMx:|k-{VG/EP$
+’r,E9(qCALx˰eOn dMC >,oí#GdsO-=mޢ[+͍U^?.bm'2dvWډP~Wb~ݵPzrIۖcA?\>(K$%Q"=&M)>YWf/v*bWFQuq1--?cK% rS&.]^n!w|&` Kx3mS쯇쑿'p #i|^ ąY9el)<#]m]EA"lTGsw1rη=08jmsபo_IٚJ^uLK7]p@l߯\M`Ln
+bM-7U JN̾߮|U$2u4:/uZ vTtDw+(_d1 -Q 8۸[f4X9PB7'(RЛD@!= (ƧԤ4Fh`,V!{"< qϺ4S2Zf2ڦĤEKayDz-}
+--o%NjTB3vh\@b: iXfʶ
+q|e`|k^+p# cG#VHn%q
+~"&%ъlV"@^D /o:^+|y GW3^4֡
+O2o}3/u^fsha+,(){?K|}HEgR(%/dQhaƼdmxmеۻXs[!H94i8iɷ[cwQ8B vQ%{ `0p·APAا
+>,j@ۭ9Q$=/+{qw_Rlf]ƹNƴTDx 7%>xBӡ<.$vhvQt C})~N n`fw杚8WG7g%%:J巉-Lqna/,@Z?PP8 ;_O&qG@@Wz
+kۇtK"F$,+>el4|-(e1Fiiw]UrTR
+^S @=YX W)准=
+涂.d{\hn8 (B!@BnT QQY
+ntQS;YVxAEH)-Q77b_:-Сu!)a$
+9rPHas^K`/?tP#"gX
+%(NN=Ƽ((~Ǻ͊+`(S *Lp+ MFܖGT%Ż  (<Jy0|Y~$|1:YᙿJ49I4`*q<^ n2iS]& "wl.ɖ*hE,[kцm67ܭ֖3NO~>co*sF33&
+]Զ}
+2$t".+ ן  0-6-.CSЬ@אqwvͷ8g @d$ORKPq|KЃIT:ARt<>IGD
+ŴmMLGXG2?X:uD?bP9 8MxQ9$2t*7)OF|
+θq)0 /D/$"3+L 8t$ ?A
+x5::A]9ǖi8e t I! ԖFK(&Ƞ]'G\934=_q q V'Q9O 71=:|
0000000016 00000 n
-0000000173 00000 n
-0000036399 00000 n
+0000000248 00000 n
+0000036249 00000 n
0000000006 00000 f
-0000235736 00000 n
+0000235775 00000 n
0000000008 00000 f
-0000036450 00000 n
+0000036300 00000 n
0000000009 00000 f
0000000010 00000 f
0000000011 00000 f
0000000012 00000 f
0000000013 00000 f
0000000016 00000 f
-0000235993 00000 n
-0000236024 00000 n
+0000236974 00000 n
+0000237005 00000 n
0000000017 00000 f
0000000018 00000 f
0000000019 00000 f
0000000020 00000 f
0000000021 00000 f
0000000022 00000 f
+0000000024 00000 f
+0000235845 00000 n
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000029 00000 f
+0000000030 00000 f
+0000000033 00000 f
+0000236858 00000 n
+0000236889 00000 n
+0000000034 00000 f
+0000000035 00000 f
+0000000036 00000 f
+0000000037 00000 f
+0000000038 00000 f
+0000000039 00000 f
+0000000041 00000 f
+0000235916 00000 n
+0000000042 00000 f
+0000000043 00000 f
+0000000044 00000 f
+0000000045 00000 f
+0000000046 00000 f
+0000000047 00000 f
+0000000050 00000 f
+0000236742 00000 n
+0000236773 00000 n
+0000000051 00000 f
+0000000052 00000 f
+0000000053 00000 f
+0000000054 00000 f
+0000000055 00000 f
+0000000056 00000 f
+0000000058 00000 f
+0000235987 00000 n
+0000000059 00000 f
+0000000060 00000 f
+0000000061 00000 f
+0000000062 00000 f
+0000000063 00000 f
+0000000064 00000 f
+0000000067 00000 f
+0000236626 00000 n
+0000236657 00000 n
+0000000068 00000 f
+0000000069 00000 f
+0000000070 00000 f
+0000000071 00000 f
+0000000072 00000 f
+0000000073 00000 f
+0000000075 00000 f
+0000236058 00000 n
+0000000076 00000 f
+0000000077 00000 f
+0000000078 00000 f
+0000000079 00000 f
+0000000080 00000 f
+0000000081 00000 f
+0000000084 00000 f
+0000236510 00000 n
+0000236541 00000 n
+0000000085 00000 f
+0000000086 00000 f
+0000000087 00000 f
+0000000088 00000 f
+0000000089 00000 f
+0000000090 00000 f
+0000000092 00000 f
+0000236129 00000 n
+0000000093 00000 f
+0000000094 00000 f
+0000000095 00000 f
+0000000096 00000 f
+0000000097 00000 f
+0000000098 00000 f
+0000000101 00000 f
+0000236393 00000 n
+0000236424 00000 n
+0000000102 00000 f
+0000000103 00000 f
+0000000104 00000 f
+0000000105 00000 f
+0000000106 00000 f
+0000000107 00000 f
0000000000 00000 f
-0000235806 00000 n
+0000236201 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
@@ -1463,8 +1505,8 @@ I(ИI(M'23At@$)(I#TyFtG@TDzl>xߤQ;1& I"@%@93
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
-0000235877 00000 n
-0000235908 00000 n
+0000236275 00000 n
+0000236307 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
@@ -1472,21 +1514,21 @@ I(ИI(M'23At@$)(I#TyFtG@TDzl>xߤQ;1& I"@%@93
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
-0000037936 00000 n
-0000236109 00000 n
-0000036781 00000 n
-0000038236 00000 n
-0000038123 00000 n
-0000037217 00000 n
-0000037375 00000 n
-0000037423 00000 n
-0000038007 00000 n
-0000038038 00000 n
-0000038310 00000 n
-0000038528 00000 n
-0000039492 00000 n
-0000041676 00000 n
-0000107264 00000 n
-0000172852 00000 n
-0000236134 00000 n
-trailer <</Size 57/Root 1 0 R/Info 56 0 R/ID[<9409B0CDFC6845A0AE06E338F771D8CE><7BE266E630D442A18F9757E7A5281539>]>> startxref 236318 %%EOF \ No newline at end of file
+0000038113 00000 n
+0000237090 00000 n
+0000036622 00000 n
+0000038419 00000 n
+0000038305 00000 n
+0000037389 00000 n
+0000037549 00000 n
+0000037599 00000 n
+0000038187 00000 n
+0000038219 00000 n
+0000038495 00000 n
+0000038719 00000 n
+0000039673 00000 n
+0000041854 00000 n
+0000107443 00000 n
+0000173032 00000 n
+0000237117 00000 n
+trailer <</Size 142/Root 1 0 R/Info 141 0 R/ID[<9409B0CDFC6845A0AE06E338F771D8CE><85278AF4F7A3494B9CAC35047413BBF2>]>> startxref 237302 %%EOF \ No newline at end of file
diff --git a/art/drawer_icons.ai b/art/drawer_icons.ai
index f0eee67..d68265e 100644
--- a/art/drawer_icons.ai
+++ b/art/drawer_icons.ai
@@ -1,40 +1,41 @@
%PDF-1.5 %
-1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 22 0 R 39 0 R]/Order 40 0 R/RBGroups[]>>/OCGs[5 0 R 22 0 R 39 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 41291/Subtype/XML/Type/Metadata>>stream
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 22 0 R 39 0 R 56 0 R 73 0 R]/Order 74 0 R/RBGroups[]>>/OCGs[5 0 R 22 0 R 39 0 R 56 0 R 73 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 45825/Subtype/XML/Type/Metadata>>stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 ">
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151739, 2013/04/03-12:12:15 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
- xmlns:dc="http://purl.org/dc/elements/1.1/">
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<dc:format>application/pdf</dc:format>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Print</rdf:li>
</rdf:Alt>
</dc:title>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmp="http://ns.adobe.com/xap/1.0/"
- xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
- <xmp:MetadataDate>2014-05-20T14:57:44-04:00</xmp:MetadataDate>
- <xmp:ModifyDate>2014-05-20T14:57:44-04:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2014-09-17T12:23:13-04:00</xmp:MetadataDate>
+ <xmp:ModifyDate>2014-09-17T12:23:13-04:00</xmp:ModifyDate>
<xmp:CreateDate>2014-05-12T17:59:24-04:00</xmp:CreateDate>
<xmp:CreatorTool>Adobe Illustrator CS6 (Macintosh)</xmp:CreatorTool>
<xmp:Thumbnails>
<rdf:Alt>
<rdf:li rdf:parseType="Resource">
<xmpGImg:width>256</xmpGImg:width>
- <xmpGImg:height>164</xmpGImg:height>
+ <xmpGImg:height>236</xmpGImg:height>
<xmpGImg:format>JPEG</xmpGImg:format>
- <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgApAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYqw&#xA;38yvzZ8m/l5pgu9euv8ASZlJstNho9zOR/IlRRfF2IUeNcVfJnnz/nLb8y/ME0sOhyJ5b0wkiNLY&#xA;CS6ZO3qXDg0P/GNUxV5BqvmDXtXlMuraldajKx5NJdzyTsT4kyMxxVBwTz28qywSNFKv2ZEYqw+R&#xA;G+Ks+8o/n7+bHleSP6j5guLq1TrZagxu4Sv8oEvJkH+oy4q+n/yk/wCcqvKvnCeHSPMUaaBr0lEh&#xA;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</xmpGImg:image>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA7AEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FUNqOp6bplnJe6ldw2NnFvLc3MiRRKP8p3KqPvxV495u/5y1/KjQmkg06a41+7TbjYx0g5e&#xA;88pRSPdA2KvH/Mf/ADmr54vCyaBo1jpUJ+y85e8mHuG/cx/ehxV5xrP/ADkH+cursxufNV5AG6LZ&#xA;FLMAeA+rLEfxxViN95s806g3K/1m+u2JqTPczSGvj8bHxxVKsVbBINRsRiqa2Pm3zVp7crDWb60a&#xA;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</xmpGImg:image>
</rdf:li>
</rdf:Alt>
</xmp:Thumbnails>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
- xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
- xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
- <xmpMM:InstanceID>uuid:f21941fa-684b-0243-9598-073ee97645bb</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:ae1ee86d-0c82-1d46-9d41-278a65bd0927</xmpMM:InstanceID>
<xmpMM:DocumentID>xmp.did:01801174072068118083B593782F4205</xmpMM:DocumentID>
<xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID>
<xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
@@ -55,16 +56,8 @@
</rdf:li>
</rdf:Seq>
</xmpMM:History>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
<illustrator:Type>Document</illustrator:Type>
<illustrator:StartupProfile>Print</illustrator:StartupProfile>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
- xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
- xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
<xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
<xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
<xmpTPg:NPages>1</xmpTPg:NPages>
@@ -565,9 +558,6 @@
</rdf:li>
</rdf:Seq>
</xmpTPg:SwatchGroups>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<pdf:Producer>Adobe PDF library 10.01</pdf:Producer>
</rdf:Description>
</rdf:RDF>
@@ -593,867 +583,898 @@
-<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[1.0 5.0 23.0 19.0]/BleedBox[0.0 0.0 24.0 24.0]/Contents 41 0 R/LastModified(D:20140520145744-04'00')/MediaBox[0.0 0.0 24.0 24.0]/Parent 3 0 R/PieceInfo<</Illustrator 42 0 R>>/Resources<</ExtGState<</GS0 43 0 R>>/Properties<</MC0 39 0 R>>>>/Thumb 44 0 R/TrimBox[0.0 0.0 24.0 24.0]/Type/Page>> endobj 41 0 obj <</Filter/FlateDecode/Length 260>>stream
-HDQAn 
-atY _N+l+Qʾ w/<b̸]s@15EZ7+dr (rkkKm7,G1G.SjP{2bٜwnnlhs,e1{'.QfQsbQ%덻CYSz m|XuQB 4bkC:v<籓'{4ú"!y\|їŸ
-8;Ue`J-(6$!rr<-!!*~> endstream endobj 45 0 obj [/Indexed/DeviceRGB 255 46 0 R] endobj 46 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[2.0 2.0 22.0 22.0]/BleedBox[0.0 0.0 24.0 24.0]/Contents 75 0 R/LastModified(D:20140917122313-04'00')/MediaBox[0.0 0.0 24.0 24.0]/Parent 3 0 R/PieceInfo<</Illustrator 76 0 R>>/Resources<</ExtGState<</GS0 77 0 R>>/Properties<</MC0 73 0 R>>>>/Thumb 78 0 R/TrimBox[0.0 0.0 24.0 24.0]/Type/Page>> endobj 75 0 obj <</Filter/FlateDecode/Length 237>>stream
+HLMN0 >/Ol)XpiK8?gW]6\NpFm^ժ;n(KE(朰 SN(:pXKG9҈+Y<ߠg
+Dv0IdehV@68"R;w/N.xDcМ_.Xqf%vWF*(Z7اiYz#V."|1ywM/8I
+8;Ue`J-(6$!rr<-!!*~> endstream endobj 79 0 obj [/Indexed/DeviceRGB 255 80 0 R] endobj 80 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
-l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 39 0 obj <</Intent 47 0 R/Name(Layer 1)/Type/OCG/Usage 48 0 R>> endobj 47 0 obj [/View/Design] endobj 48 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 43 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 42 0 obj <</LastModified(D:20140520145744-04'00')/Private 49 0 R>> endobj 49 0 obj <</AIMetaData 50 0 R/AIPrivateData1 51 0 R/AIPrivateData2 52 0 R/AIPrivateData3 53 0 R/AIPrivateData4 54 0 R/ContainerVersion 11/CreatorVersion 16/NumBlock 4/RoundtripStreamType 1/RoundtripVersion 16>> endobj 50 0 obj <</Length 930>>stream
-%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 16.0.4 %%For: (Roman Nurik) () %%Title: (drawer_icons.ai) %%CreationDate: 5/20/14 2:57 PM %%Canvassize: 16383 %%BoundingBox: 1 -19 23 -5 %%HiResBoundingBox: 1 -19 23 -5 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 12.0 %AI12_BuildNumber: 691 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -24 24 0 %AI3_TemplateBox: 12.5 -12.5 12.5 -12.5 %AI3_TileBox: -276 -368 300 366 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 2 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -70.6665 20.6665 12 1823 955 18 1 0 167 544 1 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-294 -408 %AI7_GridSettings: 4 4 4 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MO %%EndComments endstream endobj 51 0 obj <</Length 4248>>stream
-%%BoundingBox: 1 -19 23 -5 %%HiResBoundingBox: 1 -19 23 -5 %AI7_Thumbnail: 128 84 8 %%BeginData: 4126 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD23FF7D7D2727FD04F827527DFD23FFA87D2727FD05F82752A8FD %43FFA87DFD0DF8527DFD1EFFA827FD0CF82752FD40FF7D27FD10F827FD1B %FFA852FD11F87DFD3DFF27FD14F8A8FD18FF7DFD14F852A8FD3AFF27FD16 %F87DFD16FF7DFD16F827A8FD38FFFD19F87DFD14FF52FD18F827A8FD36FF %27FD1AF8A8FD12FF7DFD1AF827FD35FF52FD1CF8FD11FFA8FD1CF852FD33 %FFA8FD1DF852FD10FF52FD1DF8A8FD32FF27FD1EF87DFD0EFFA8FD1EF827 %FD31FFA8FD1FF852FD0EFF27FD1FF8A8FD30FF27FD20F8A8FD0CFFA8FD20 %F852FD30FF27FD20F87DFD0CFF7DFD21F8FD2FFFA8FD21F852FD0CFF27FD %21F87DFD2EFF52FD21F827FD0CFF27FD21F87DFD2EFF52FD22F8A8FD0BFF %FD22F852FD2EFF27FD22F8FD0BFFA8FD22F852FD2EFF27FD22F8A8FD0AFF %A8FD22F827FD2EFF27FD22F8FD0BFF7DFD22F852FD2EFF52FD22F8A8FD0A %FFA8FD22F827FD2EFF52FD22F8FD0BFFA827FD21F87DFD2EFF7DFD21F827 %FD0CFFFD22F87DFD2EFFA8FD21F852FD0CFF52FD21F8A8FD2FFFFD21F87D %FD0CFF7DFD20F827FD30FF7DFD1FF827FD0EFFFD20F852FD30FFA8FD1FF8 %52FD0EFF52FD1FF8A8FD31FF27FD1EF8FD0FFFA8FD1EF852FD32FFA8FD1D %F87DFD10FF52FD1DF8A8FD33FF7DFD1BF827FD12FF27FD1BF87DFD35FF52 %FD1AF8A8FD12FFA8FD1AF852FD37FF52FD17F827A8FD14FFA8FD18F827FD %39FF52FD16F87DFD16FFA8FD16F827FD3BFF7DFD13F852A8FD19FF27FD13 %F87DFD3DFFA827FD10F87DFD1CFF7DFD10F827A8FD40FF7D52FD0BF8277D %FD20FF7D27FD0AF82727A8FD45FF7D522727F82727527DA8FD24FF7D7D52 %27F8272752527DA8FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDD9FFA8A87DA8 %FD077DA8A8FD23FF7DA8FD077DA8A8FD40FF7D7D52522727FD0BF827F827 %527D7DA8FD1DFF52FD09F827F82727527DA8A8FD34FF7D7D2727FD19F827 %27527DFD1AFF52FD11F8527DA8A8FD2CFF7D5227FD22F82752A8FD17FF7D %FD13F82727A8A8FD25FFA85227FD29F82752A8FD15FF7DFD16F8277DA8FD %20FF7D52FD2FF82752FD14FF7DFD17F82752A8FD1BFFA87DFD35F852A8FD %12FF52FD19F82752FD18FF5227FD38F827A8FD11FF52FD1BF87DFD14FF7D %FD3DF852A8FD0FFFA8FD1CF8277DFD10FFA852FD3FF8277DFD0FFF7DFD1D %F827FD0EFF7DFD43F827FD0FFF27FD1EF87DFD0BFF52FD46F8A8FD0DFFA8 %FD1FF852FD09FF27FD48F8A8FD0DFF27FD1FF852FD07FF27FD4AF8A8FD0C %FF7DFD20F852FD05FF52FD4CF8FD0DFFFD21F852FFFFFFA8FD4DF827FD0C %FF52FD21F8A8FFFF27FD4EF87DFD0BFF52FD21F827FFA8FD4FF852FD0BFF %A8FD22F87D27FD50F8FD0BFFA8FD22F85227FD50F87DFD0BFFFD74F87DFD %0AFFA8FD74F852FD0BFFFD74F87DFD0AFFA8FD74F852FD0BFFFD74F87DFD %0AFFA8FD74F852FD0BFFFD74F87DFD0AFFA8FD74F852FD0BFFFD74F87DFD %0AFFA8FD74F852FD0BFFFD74F87DFD0AFFA8FD74F852FD0BFFFD74F87DFD %0AFFA8FD74F852FD0BFFFD74F87DFD0AFFA8FD74F852FD0BFFFD23F8527D %527D527D527D527D527D527D527D527D527D527D527D527D527D527D527D %527D527D527D527D527D527D527D527D527D527D527D527D527D527D527D %527D527D527D527D527D527D527D527D527D52A8FD0BFF7D527D527D527D %527D527D527D527D527D527D527D527D527D527D527D527D527D527D %%EndData endstream endobj 52 0 obj <</Length 65536>>stream
-%AI12_CompressedDataxyoɕ/ ;Eglxܵ/ۍCAVeVI~O?wDz&dX;?_|b?ܾH7fؿ}ootnbJo߿~L<?o_󧛟7߿^zj^/?gqYț2o_~IKkw?ov7]ܼ&͋B_{~xoo~WF_^n͛w޼|p-۷/?lB4lW^?|[zi .{ꋺϸ<oʗ>и聘]7yi^Og7/"MQތ~>yxS[=/<m^i٤qܤi׹ۿ|wooe?|)K3}_~ÛXĥUfWᄒ}COo^s @kxS-_-)~߽Wyl&,k~FMٟwy:DwV Z߼?׼yE߿dƝ,Ϳɨi>|}oAgf?7 =o
-cFxK{ͻoo3>wW`_},_}?wxwOt+:´_o~EQ=O^FH_pG:]rϷo}tW^zo/x=//ij:]Mo9{=74z^~۷_}˯iwxwWq3[' O":w'{߿|7_~ׯ=IOX޼ۺ+_|7_>xq7ǯ_{ϗy՟~_}{ۯiu}͗z-Ƈ?/xqՏf?kb($^B,|B+nv_17ss釜aDIa2q]ƌeڽo>O
-On$=qLBL$
-z\'?gA:x Kf3}1~onQMZ ]E!O}O9QG۲von܅]]ͻevay_~ٯ~?쏇񐸣}GjvaqGc9kE-mEnI}mѸ#Z0i:Ni?J/<)Nc9c9}ٕmYR2RrI%PFpƾY;ZNG~-ve<˼λy?B󒖲˲n9.5$ee]ݺ_i;n6mpgǠm<Ƌ_?rx88ZRڹ$bmg{mVem[F;9(4f$r9,{-B6%ði>R{-B3=|9Qv\t|ou;˝fL'F ~G?C~1m?iCJ4f״K{DQfz6>iU"Lect(G:aD3iҹ;L':2WfC;mO>'ZU>TZ8Gl[Ty|gO@ԎږM80шpssI=?"iȏ=@o_ L 21H`A,aۅXD $0lD;Eح[ := &(%O݂RR579-=>މw80ь }w}vOG~W<oÕKW[`:;QǀI20ٝUfPMfmY}~քnG&6›v[0oUL *JN>tL:;fٲp|ɿB6h_ŞiƎڪmq*6i+ڲޱiᬍtކ+&%b'&{%R1! 3ֽ ]A9::^iD @fΚp=q
-*e1s(|Zdsm*2 Cm@i ^\B7M1b@~:B<]T)/KD/$:+aƅuy,'9 ){qƑؼܽϋB5D?"M?~~iT(O818VwWZi%܌$'ׁ=#M"Qhĕ&~!Jqi짨_Pw Ϳ7zVú@
-mg:4D0$NFh^hI:cX7fclvn h阔ԭEk;-"i1mf '<rEzN?0۷/z^:W.rfvH
-u)|&)rxV9~uY|&Y=L\"_HgZCYtW^W^NĝUe؁X(;RdB5uVqiGbx-?Ac{$oaeH4a,[DwOX!,5@Z
-v"Րh` +#
-" e
->{daxif}t> 5
-8gA
-
-ϭ~M#ϼxp_nk>
- ^gVG|0WJkX6/*&fM`QQ;0ZyVf:@P"{xD'6Yٳge:3 I<9-J,Kh!; ~mau
-0+U
-2 v2ZVrˋ/f[]ȉQnyU[yBuu:kvʫ>ܘD2~H:4`% VjAO1nAmEۤmvQFi[m; };L)rȘҊ61lmtJնfx0CM6n|<%¬f0[&0Qf8jV (ryȚ>ĞD!y꧁ilPj(&PNVFvXNV5ednF6uT88S9t dk%9&9K[ķF`_uemOEKv#æF13ȦŠfꢆUMVMFQNOOI0@˵)-XsLc-J:+/9Vy2*j,,eP'gxᵓu5 j,RJB:1u-<>֒|;?A(
-ߔ ;8%~Q=6v᫷O4h;cw.A. 8x=>LzrYzo|%߬I^hW%w4D1ˈxqV=+GבRχ)8Pu.[qSɭ[#
-W\OVpv@k9|r]b[ILeb'6oҡL35b8 81` 7V'G<9&6$g!3fPp'HX'3I[uFyU/9"{ћ!<Ux=dWA ,*?LZOj='I3ۖL$LVqDħ0"=;%"me1b% (ΐW>(ZsаzA_`~p^{C ɯmۥqˬ>ƉuYK}tRAʞd_p|)*Qϩx2 9COQ9štb-Z5b nh۳5I@N3kJ[
-]F6_kmUYN]TO͚Fsg_CR׺Oz$1ٕx]_rq_u);Nc[gzlgpwhYk1G-EکU;{wF,bIA316<YLΓmT=1vdvnbޮ򵰋 pNۨhm9y;vpL?իoU_I&W`u;o4In[W}m-k.3/C#Jڪ,NXY0zP.Aa"hMވ vVU˻].[2q+{7Jjm;j^w֓SVT
-@R՞͹!iVPA dIҬ 4)N ,4/M~+CDבޥ$6'ga#rT߬CQ/#q.+8wz A#^$Ϋ{7W4j܁MOd8,8ƳKyZH8E$3E?| iTǸ3s24cg42d*TwƵbKqgh.xM=^Q٭yBgڠj
-pt^;.% 9._aq etV,
-+ȚŎ+fA9I!IPs\}9a!PF24-"wfP0 L8c7Ƒ=S13/޻g=cϲXx쁙Y i ĩiM5\ S:<3^6_})lz(e8T&CVġ&/p +}0Ai-80ds6IHȌvX1v ͂{{Nf7o7yhsbu9%\ZפmSv84xOpK 4*rf&HȸGO&]%/2øB6B5%(@I0ad MnUCT2kMS=?$Ʃ4?y}UكӫףO?lsrq3Vu<8uqWw!'diUTWsNʪ-gn!AM;CD\ɿm? wamx:TPhV < tr!0BZ3"@%p\,2'
-h۫m14λpmӡbz~?#œ%ws<qܝgZcsyc<tǺtɶm?r‹|ġA5O,9TAޱ
-;T[AA҃
-........eeeee]F]F2jY,y J'0pOMTq"i|e8Ga |1{LlN)ֵ휏V.:3-C,#ky._+k@a'$+;kg_lKg:GU/1lNN8IA+ o;Ֆ^&6g~NV eTx7uPC)zvPWZ^f׉}A^eh\< s477o`&0hG&v ,uJmR'+sb=3G
-@}͢=/OЦcө)VG{jB˕xQ!-T!) LYXw;PNEAY{j|ƿ- i8p"N  Iq8z
->ܕrgyϒ]I+wwVK A*1"K7.Y2R7tsic<)'[Qx+OssZN"1t7 H l&&3/Hbő13tQa<zsj6j0KkZnJ*!kЭbCgTiiԩNa*54'Xk[rk*J̝qw+mvcMHV>SS1OI k6IfƊ˫W!v*IQ"df^X9kGe!V 9M˜9QG(ݖ[:OimJX'
-UUcM^v+O6;{5BWk;߈{yCZ/~t'#76Qß'r >j
-plΓ=Z:*L2R:oklvW27ںQ"YK<{zqϏʵCvy"3npoG<mm~> URy-1pŚm→؂pj;j+a]Wnz8~~?z^f5ai7!]N;A甹ӼҌncܚ$%M7s\tTGvŲz5nXdw'9F,VNrMwԱҬJ6;صV>Xi+ij)+B -)quZFX| }q}wͽH+ىL^؎3/2 ,;2kjJ=#dv4:Y\/0 rjD{?5ѣ\߹3zx_.fCU4X5 ?
-:T ‚(=@DDw3EE,>x6 V@g)SQΕ̗H"ܑ fV4E\'7q/$ (Ic@7tAF@l{.DjlE
-{
-sn?ŗ'ǿ'A0+zj;//^KbÙ|Gj{]_guA1TZǢ.( jNg!$:2if/mx] ;o[ۼq2oˇγ'ȫxsdnǷE
-W8y\|+
-:*5{Xz
-<oFrShpgREYъI0s-k(=Kisъ'q"^̆65
-MSc:ItE٪ikzT_D61de!r#eV뵲7Ni3Eu4&j79FvLY3š< kRVҤYe0h/^-zWU:-ˀ+5:y[ΚPPcThM?= k{>vd\i'z Mke/EJgy
-R!Y#W2^*d=J.:,eau F;cr) 8GZޞkY^#Tzzyų'UƙRX\YfXz쾠gJ[==Q\s$I,X<'xNb9s$I,X|$I,X<'xNb9s$I,>CL7sӓy\Xi,X^-%Ç[9~UVZKjе["ǃS;OnTƠH3s5ltd,+iX:c QM[lY2zIe,IȒah;+m _mMM 2xΎj,;bZr۲v"MJ
-N|i+3eT5Wgrra0s7$^yHMZ&p+-nMyG+S;xR뭆`ҭrծ[,"3 "<$Mn*umqg_K;)hTLNa<qnZ<y&ˣCgW?Z8чE [O[Pe+mcCS{i|쫻dge7:{_+mo̬mA* Z_aT Juԇ__.*TW]U=VU 7:j1mBC: ""
-V/}+zu=[n=W]}<^`CcK{ wXM?m5y]f5y/* Mޤӟo}ּE.ܮ!c5m ݊jƬS.Jk3eEٓ,A̢eu ˖)bzCzTXht͙Ʋ,fL[G8j]:`/~j~ר}Y5_8jV?WFUTaqnlh~Y
- ﺠxhUT:)C{^IV&,k`'np5Xf[QYUP>85( V uHKg[>x0}!ؤ<
-pn0 *$ձ̏#cG
- 84CxJ:wv~Hຸh{.i>@S5) çj * $g2ݧQni"ٺ\Cz듋r!C GO׼pEϼ 5X#k<rMϬኃC u3]Ҿa2\7tJ
-py٭{./9^PC/viʞ V ǻ3kE U1lf9g%FH {7"ĻBߟGjYDڪ(mjj9 yĎEOνg>W]ҽk}h Yw_UKkv1jkyf8T]opqkGnx[ۧ;|P~HscB8^[8O,)}wT~qxi^42hqkַϟѴWXB=q8,єқzЄ7XMkBW<<QkE;y]Ǔ<Km uWuXOʼnpo/L H9FN
-t'5iX.Ý5*}BM`TxV&\Օ 獭=Ej.pO>rç%:ӈ[)v4r)K,ժu)`)F%n'0cC47 /<{;("a}wWX_g}BBLGˊ!
-J a|Ȭ9P$'ͬ[}i|֦#mwZ8oǵ]4j >dQ3
-LGt$V1:c<"Ѳ"Փ~jt%$!=_p&e~^ KD1u;|z`,uɩ/2Tt!D*%g@_g{f/%4y{Wk_UKDtU99N,}juZZAZ+HB^yڹآוMiVMdIWTZ%^,@k9sks~$.|ZyKi Q-li?/J<IorO?fSD;~s_j|j~'fnYs
-_W"Z$]ε,=p{=Pk; %fUV?Z)oRy\G Hl<jh]wX[ōM.oWX2}u<tI-b*e]Z"ώyl;Hbq۹ѦJE k%rE~^#n}_Mjl%u-DNM{w ZKUM^ŐUL#/qwee۬nu:[WlL~쎽Tej=
-34b|eJ"稞kiV͚ف2p&`O5"e@#gF! AY$?Ps:u ':DiJ$m%EIZW& *)g廚]VÉPC/~-XVR]z~OXi+֔CçtMc`WsxdçIf#dhls
- ;QBYI$٤nPVUK釮A<YQ9N=.|woxoyQ? I/^~p-}wo^T>itSHjڄОؔ5݄uN4/7$얿/cC?/zͯ6?Xoœ6lڀ~vpbg_}x޽{:_~vҜ}on?#}A:8q
-8&Lfi9kӷ)rAcܲЈ~ns=],7yYwO< k^q+ߗ)CbN wēBj d|C ]&HW d1L#M2%9HW&^i~
-NP7 87u7q,7Dv(,!"y&iP
-MH+MRUpͳ<N7TaB5ԇ^ih1
-eX}\ye'`U+
-JR,/ШhV2_3 "`{"W{3慮USH b˅ ,QVze++-:7.d^#m@MFO(r_t?~H,Wh'υzH&n0]Q2A {2q y
-
-EZ9 ËH r|F4\9$9?o1 kQD""Y;:8
-wNi9^xbIȰbðOD 3Yx8qst(3 H7aqԗ%#@'6SH"(ja2 Ć & %/0e̡+u, {Ճ[x
-u:4_}Gf(
-t\!An>/H
-$뉨@I5GmN!YY#NNn :F<6-"^3Be&"#6 ;vٖ!1DKTI(󙺍Wpi=Y]gP:Q( $BjJyݑ!`jA/v4rB:roDwP2P;BiHE!@2zٕQ:2utfSN
-qbZY81i Lix& /c~e~ј24m〰8v !
-
-2)wJ@%S0 pw"
-BeuU bsx3%S#|^XwtQFB
-bTlth)0[ Si2I1y0ʍm;`YVbl&:$.k8/aPsym9И~Z*X)۫Y!o2
-uR6]Yap&~Ťz\` 2&ǚ@aqe#Ƒk{'HB: pE$#W[ "jkR4*e
-WA5X\uc\ZLS 'Ք@/H+r_~Q¦)·LA,MQg f46i&4X\$\WZ9wU~j0R2$B*D:<^
-'50*Z#;Ζ_U#&#0b"~_L4UϬW}lBs d8ePP7+SL6ʷC\g[G0a&tD۬vl7xpϏ~/쎤Ê~t+򨧻-0
-t=q8%;45个S0_;J(SDqf:ۑV;jDڡ厔;$0jc
-d;طpŝW9#$wFp4٭μ땖׫& itr[>\pȵ+(\UǍ1.ܴͦS3 bJ
-lbI2 M.=lr[\tX#W7pNvnsyZ.$x'vMpä f4 7rbfPWRX)3nR5ǍmQ܀*x] sSp:7*NA"FlW6)nwݵMV Z0Ǯ.(J R+SѪD,UE'qCmj VݧoTa+t0k'Q6^:"ECLYXC3KːI,Iˠړ-˼FfM}y<io*XP
-ꔵRZ| UjQ,_Lúzvvub? X\x?2^*\`a'ZkaĦ&0 ׼
-3a"J > DoEQz+&1uD
-SK(>yvE󱃵7ņfP**DjU=W;l5&14}+e*4}v!ViOr;2!`83>{_=o!$
-I]#?@ ]GA7 :~l`v- =u#/|a 6CNt'v$v󻼣
-&2]s 'j
-&<[:R2r7a0\`9]o}iuK>:KZ9_+BH")CxלCMk7v01!aQl߭Xzmog JHle*S'LҕxnhwM%.9U}u_ c$ XpT!],ZƉF%D@|Ǔs/ϳQgp#b%-EBND͘pPs%q{"60ΙmRŁ<l8۠Yb#: m@A4.:21ڕVP0 -Ž X!1Gf:Ƴ^3> ق3C^8uHnZ]S=9v-@p( F$zɒ5.s(ᬫ
-}gWxC!f|`P.S8MOH&kj7U쑣:0X]bӾ- yC@
-2p}fg-,"AT'A#-q ܴ_;"av WPw<$3H],;^l}k2i+4M Bw\Ju٦}i[Ͷa=}W|9m=IYu:?!B]Ʉw/?~ ѡ"mcMM"
-@f恟e@y2zχG'RIay.Ҙ<&KBy"rT2pud
- bx3fkH\kk,3$bnѷP#2p6FitL$biC `E†Ip
-]yj-
-< ) Y1ɣ81m%,<XY]w1\RX/8jaX^$g9d\8,3X&M`KX#a$P/yo<Qq"hCp;OAvGB̄Pqx8F>]ayS>w]j lҭ}C|-W:|`cp%$Mt8&eYBA Ӵ|I2vrԜeWɭU9\GSXV-q$)Q o0OϕPP <21S|dx"~( %#YCv2}48TndЁ$|8
-(QPXs̅qԱ2BW3_pp1δV,xu<5Yfﭰ`] !F@rwIL]@@("pP\KTci. (.a>ӺSN EϤA+xY!jhEJјk"U#T**+`.̀T^4RI.~=m$YsV /,{ΜYy({Oc 7'AL g!/fzȜو?<ˤƃ`rhU gYr얚Z/~%9Oi$@GMs=$B 6@YHS͏|Gz8F|4<)OH?6iޢPmaTM3Mf 8
->p)m"48N5 t)ptj]1Byo|_xln>2-G=^Qq7i죝 C塖v<Sf)GuO=}EjDfQJ'QrAF,hZjtBd.zm%mXUQF^#+[h‰yxбLv60;@ggh l va?=lܸO{7W檆x\P!DwY#]z ~W-Hw!wY]}ɺ<u*.ˈy%. @Rs2k ZO RoͩqzA皠A=F,}k>=a]Z U<) 56OK6õOazg0eKԡ
-'0}ZqzgF\J\&rvO\1)Uw,*vV\,*[W.v{
-[zM'S@hjt)lP9 }~fG!gi~H63إYGg| d0OU7 Õ d3çN4߱vv@7fqxO#p~ Ϥyާ- ء.5q %9T]r(I#s`ɠcF(aȩNuUxnGu
-anuuйշSmG72wZۢ]jW]UkYg˃`c2[V1ZbU#7 3G7pԤe/ڵ"
-gg!呟LY[>J%c'%k0GMmh()b%x{JW̶36Z_5*}AW*3!à 9PÞ"j_3YdOHlɻJ
-x'&4Fst+w5N}w]P3*YF}N_擄J4C6sE L )Ie
-dF& iek` 晀Jz7)dK $*KoL@Pdo]e,<{dRm ZG$+/+<pY.Te2X)2߰L= 6 jhuIԎ,A}` r&[^m:Vw6C} QWGԅlL٦}韩;̇Ї{{M>}tt3W3[h"D͒T&QW1am^q6~QWp_jJ(`A Ob&x&Ք'
-$2^!;bW%79=UOZ+ 3^M0|OVS2^?OpVW企
-%,vf3z+H?R5r^o&h=+bjLqLlg).2^]Mm+.e6ػ??m^,N;,yGDs+0]O^?k(~%}7vW~>'zD* c%.ASʡ&&ˈ .EK06ЉT`U,Z9kS PLKM:ֶņAK)MDsIIp&{L5PE%=yf.v=횩!΄O?K6 D7pjĻ /Ƈ4SPŧD.-( 4%)|b'bmFVa朴P± BwH2\/Yp!kH; yvusQ
-2zn(~T5eqJ6YMDR/8y4LHbb:E>܀PcN4eY/XEWH3 ެ*LB\
-!Hva+̤%EZ%Y|=YMDk5^s~RG eMP`ӇYE"3gMǓR$T{\-UI<^
-Jn҈zt(dҨ
-U~[4"^*!%x]%hF\yQV{)mNFS p:NrSZ)!(|RBjs9G&~A+DEd>Ū0ӋZaeMV*1 űR ZP*h%HDVi mτWJQ=˼j_i^}Z,a
-<J" 5W:YsNh~8.r\+Z1!"^[Y4lW0RmQʹ%@~+6%
-_X졂JKV WTk
-2⏹fee zGܵ@=rZ!IiZI8DZJ}_q*fBYxLʹ>SjŔUn 4'VsTٛKP$(^(H<KxJrG %7 1uUիbU.jUivWg֫66gi[Kڄy%v^kYZȫvUn}o o+[̋mhEz|}[{_0p{DZdXϚ"dYlG5]d$z-uBFżsGSE/픳n vBX{!뎨{k'^v>"S%x)nK'hn_^yX wĝzzir^y2zƒWVd irj ?^$ R^cgu](ze]ȃB%+gR`AnVZD-6a/<Y$T; ]_d(a; -o[q߈Y._c j𢂎I.*X z+ܿ)zNu c+{Fbj\#!AcRF@@qdU p5IH<Pufj@`{ ؁̘jyCuBg9S}VE3oYiSa?2mn)YUby,;lI1?
-$U_ǧ?[6<2jDA^U o[JeuۊfȪ<ɪŰKAd"h$m RۮK"ijFQ6v2JlO\Ċ̈X
-WA=p@$#/DE/=3`̀:~dgQ&,â)U'^-_%tx.Ahj;6
-rη{VuзCPÎ~s
-i$.ސ(1 mj 8׺ASv٪6(| wjt-V +(U)JU0SmٯL| kRWnӄ'|ej _I+gr Xa|FI# ^t_:Wϻn' @r8)l;jOi5_\x"7NisڕҗĆ
-Ձ]uJκ{&w=pmwqYHI$ʷtMb.^'.ȵsRD}!hh>!Vz-#:
-C.,'ayfU@Aׁ udxZY %;p IhcoQW@16QyqxgaŸPh߇9ۮcD
-?}I"[0Sa/۪i'ٖnmeǣ{"X=g6v;+SkSQOMW
-C*A]6F  c ("c!e(h(2#4=c'g c\SM$2س,+TT4ԁ/}H<V$F>X,Ilôr>7Q=U>Hl+DTgW0
- y⺎ ^؉XGھ#Ģ
-mtq毛U8Qpt> _¡ d7kQ
-'wJGN
--Yod*8]'; sHA˙awR<z:p"&WsMzb&Q+;QpX|[% 0iE_h>w瓞.:s <$+pV@* p\8JMHM,~\2o'
-7Ϋd :"άcR߲%Ran\4a3;} Gv}ol9[/u &`SVB#b$!c@oI<Hۧw{[ 9Cժuxv8T:w:
-ZDmW9ZH4ʾ?_.\'LY`MgjTg\]^^BTrX&0!鷑tCDhD@nRB(Whϸc7ގt* Ap}]U|fˌent6eS"_ڗnqu=.I:n.*_8@6;6UqC5l(Vs!_l=>}z[_\<Z8FT|m )44V:Ĉ/:ٵ|
-[? @l QY)Q,CarvZW)Ќ nbgYTXTir1b71Hf!zPCB wI|qft.hC[xWưC{Âl'F5{b)TSa&h=RUǵ Rd|I~5uw/JKT*Ke,-siu!_ jB4[Zh<!=D-t` 1w}" H*_Z? WlbĘXCjX$O7 4d:>ɍbRT\S1"naui*f6*TJL5
-Ye
-뿶x)PmlafѦ,\lc..mi.Fɇ=kDW:⢠ bTRǹY& f^OK~_%jseza&p͉8&W/5X\F,֧5$N z}-  qglK'v?/όdܴ?>sY̓q#hpL IdL1+I 'c%J@b/⢩߿!&web2vNMu퓱432]fBKѶ NqB
->G-1Œtpi;|Ja>x}>1Ǎcu| t]%;13sfM1A"|Lә9,sua>[j!c9tqSTNxDTNp[LӱA9ˠꎜ19DJAEk- 5brHX{LlzLlαy1U丢'19% qt5N19^*!ɩ
-)qe_"19i3eUfD0crN5r\aA;fXgXOE
-RC\/y&Cc#~/
-|j- Xz|5-oaܪ ^ە=ꖄKsuk 2-;iխ۵x^{Zޗ`,oᥨ0J~XETZIeXNy\rJVX˥7g.GUoE:U4 \}-[[Q'_BN-DW-))-^1ӗ7U&NV@Aݏ LCvЩ:f_S>Ivχv"r"V9|.[.( >/t+հlg1/HB7ಋN!
-$hV~[U6Ha5,If+ m*&%F)qE(_HB2:b=R~R|Իg7K:%<=>B%5:ŋZ aJu,Y^x a/wI.T!ĕf)u[DF{=P04Io0ĝ gEApQvR8;>%bȣQZj%I \pM|a0έ6 M$<؏՗%"%ݲKȻHܝ{T3H`"vB:eZq5LYcL!MΫp^"W{ T׎ŤD`#ҫl=4bB
-U!>bt&`u=Έ7P6cMvq|* s1XY^O@r&-E!>?$XcF_߷d
- dj.F)HRP]
->?ߍNK҂CA掕 EyDF#+>^E )E %)E,%@,_q{t|y&X 8@b.\Ti,=R ȥ<rW}zbYlW[M9)=`ၶ|Aku,"}e鯜%Y6G+5^|ڼ:%-xեlgOu͂=z9R{h\~'! t9
-{uhLllP2X7sޓk녉ߠʷ˂R[STR"}{]?zYgEⳋgz8?6#B83qTuiZ5|jowbn~Sp/$BjvTf~,Ww܀9j\g]d($Fj:Qp g W
-ĨdHD/P\3rO}EG5X胶$}ɱz)jA`}<!aM&} 䬤" w;"7z&WӚElJJiz%WgV8lܯ>ۧ
-ŸXrBb\&JWRqd7DեtҢL^fG*CӬzґ%JS5\ @,V޾Mt<
-͊\
-JTڷǺBب3,Vf/ /'}WnɲJnF@E^;w9[|eؼm-~1knEl&@ኵC,\$7kC~^O f<R U$_ >ӇZMVnG36};Db~m]~޿/D|
-hdE_QWAC@Va
-K8Q &?`
-ంJ$Tc_zF|l&vNI5|z.P ]T CC0 Om:Lar%4g)(,6S
-aNT@Ww1Q:xm,Z
-8&;K8H%Q
-*Zȧ~l!~l!~B>e ye ye --c[vGȧ~l ~l ~l ޲<ޢ<{޲|ylxle-;ȇB/Z޲|jylyly-[{[!Zޢ<[޲<[޲|jylyx{?#6yBT8qȫUj uy5Jz˫;qx-jkdv,j+ wS^JSTW#jKUʫ;Ge;z.]`C砯hWh yW1R-vV~ܩ6v}5)3.Hw5
-<=14H]a*0R*LMR*L
-S94TF0QGT(r4Ji4JƔG]bjT G]b*.15G]b*.1Oט.2QᨫLQWLp~rA1Us4ȔzMiTSDoJaFՆsġ4ݧqP FO:)ߥuBfK,26 SY' Ge:!ߕuBdV "]Y'Dge:-CY'Dge:!?$ż{RITIIIZ'ESZ'USZgzX;Tr[UOj҄TCVǥO壖u JP)=0#|6Yct]?Cr&;455[5ဴ) 6lrÖ݃/=%,Ϯ.pMh{ǨnTOе\V!+1v6ψ2 eָ}~-vq$oՎ<QC.T^WVOnoiɷ{*_jg?"I^옼lDVts][#Ү3nUgޱFS$ζf裼P! .O<#"73E13^xYy|{3[W/b^}ӯ;FyG2-뫌
-C-UH fC𗺳Փ"U~+
-Z4W*YY/{_0n]&l\VhjP#>.^u$zS6BNA<7?WwقD=O{܍}U_krlϝC4yWi9b+/A~+'`A ÕeMZHrMmc=/ٽPYuOܯ3S"JK&>%Iݹ?_UV }'\cCN/8?xB8/~(q[|n 3(x͛%<]zŪ4G2
-]׾>&1t8UcGd*:aO - }iWԲYX6fpÛzTS,60L56-w+bLofAu,?+Ȼ7}BY{BP3 骒>@DD'㹤Vd]Mh%^0R
- Kl{ ?}ݿm45K_GiZ{uoΠI46Q!gl>5j󙝻v:`(u">GCg/6|^jir:Xp"%HNJTvc+)E:iX6WݕC뢅i{;p)~#.N4-P)QPEj)ʛ{\,U5ƨ7gI03tMg
->whyhFX6XS74MAk*|-T!2wN;PU\yhg3ѷXG?VZs5-+#3J{]jćݏRBkdĤU+"5</Y{1}[W?x2$_Zǯ1
-7#}+
-ݕg:|n}7CL,M*A0,uv/{޿W@Za֣X%T7Vh"]f #ї6fĵQ Hɲe~Ɖawox>&ʣqToILJ2#=zj?Q$jFZpDȈv
-ϾyZ\~>~#sgdg(D
-<du|UoD^exÀ$BBc<cLRH?'>C69 2d6n"_/yWwu~'0IQ')jNnëo6 ګRאYZ*tBZOd:g~Hqi9rfם7,Gh G|D1LO2x9;0;9";5OS /BbbgǹrAiri0$EAbt>T<U!k3JQ9ҩ <4cEUL&B#< ŠFA Bv鎣iє"gqx"τTAКH=.]t ]bTZ/c XQT8c'gx݇x[7D8f2Sx;8rb1 bܞdPQٰhdNtoN'sK%INbu%@qњLTWxⓉVcUYyh{}=VO^=aOU/* &o/ ۂetጬwEF(Wrӥ55F*Г>c6Ό~R βVk<-Q(6,$ӫy)dg_LnL#$2 Fcb5FJM} n.ĻP$!UJD䎄H8@^Riŕcy%DbLxÏBfEĆ-R.oȾ3$
-A!6  bպ1Y҃Fj8|_j~_Jqa$5h͂y7S pQ֟319lwdݏu4ks6HK
-Z[% ٽ섗I:V]nÙHH8p*DAmq,R76WRbAZ#͜/{=u jwƹ͗h)5igX:ex YyiP6iٶnH)c\%|"DuFsTz
-3i 72pصzD&bDZv&%`ٓ|);k-rmXyaҊ $z#Wrʨ](Q Ӹb/JU@j\ͭGHWL尴z+]؉ 6+Ģm1$ROs{N1NUG.ѢV'%ZZE4I :kb<QSI 3DިUApYץꃮL;%&(?] =bGj4!6؍YeI9./IY+:'sq5F%
-,]|LH%h@zST)L~X^P=;::9Q^tAe`7s=lf@!!nbKa3` &mY6ti8-G1_Ql||m<LQmAQv*BZE ]9;t; !U=dj{7p{ 2C8Qu P-"êʯs7SXߵ7aZk֐7Q mfSPu) ډ&9:7@r}| H۷n9]
-eօNrEYN̠'i>]3:o
-Hxr;t]/ݫn8ݔߩ=[-v':[D1`@u-[{ѧ%E&-{
-CLi/mw63SƆj.cx/QԽlO
-IV g1 bύ+%}ӧm;8]Fٌ[&I/2U"l=cXjcyģX]Ls@V=p)]'{^<HDQa`JXm3 ,X%uXLG֪`Q˞paCs,1d "Q3m)/Ww
-i?ɉx5O Vqq1OU2iAhbmȧFPNl'=X-nʢ/2356*YW7L{!FY Y=HQ \ N*5$X]<bsn~,D,s~XFv{YŨ7D4"`DU&V`YuRҐD F[]#!8Ee;\lpx0AFqF@+׮Op*Hvf>TI%^8m%"'bâ,P6AS)yd-A˧kGƱMē.e!9dZRw2E& 7WMyX*rlGrB|'TL*P数h[Nd7F"$jEQ`=V?I(m4o{0jh6KGJ1TrLSvW_)/?<ʋfkJ4Zn<"Z҂(8]o6˵0%SS
-1`?a-QSob!XSH$ BDuZ",n{٠gcx(W[ɲs.},Ţׯ#*T1c!0H4._~)k8AZLXE\M5&AA*#cD^1SA÷>*(JYbj0 y Ղ홗#B 2[ =Q ;
-K'QpIdle(~HYb4WGn6sgtWP-ЬV欎)0uV8ߗl}Q{(S7ךl,CjFr3G3%f ߺU98ͷ|a}OsMG0H
-Hgo9+X"X,2 \q(t(eccnݹa+R1-u܋U cռmE:P9ȡEq5f
-|"-vVEFzR%0IX)ԩqxʼJ&RpLThEd}SE-*VBor{X,nTr(X cŮARܡ˧VuرFW {؅S4LU$jI/fJM~igyPviXN
-l,Iz/̔{t=vR JM
-ц&1SMQ5i[K}9dD^>JU
-/ Q줚
-\d%ݫ
-iwׄ;m+Zc;J85~[jU,h"M8L_k$FnsU$CeVtEin4 s h)K%`r*3i?Ӏ2ŸnS>^FMX88hd,#\j_8òR~7xmV5lT"5HD<UcǍ,J沸E,~hd6جrR,k0hJĐ8䁞7(JB{qTm*É,!llq^Qy*)uzo*}jUSBZ묂2kMA.gOX.yf9l՜R;m髨HV8jѼ.V1.,8ޙ{Sy[voxSSAmHZlM"2@YEWL?TqM\k$EŪJB(!TX(*TipZK( vM;-{咥$q$n ꙝ:a✭V]K%S)A9`ڣS>ïY)»hqbD!AZH
-vT{*
-T]gQTQNĵ(wK&d6jbDT4
-VcӽUK z):PaE&k)@|i~?g~ J< <tT
-#]][hKfUYdk"m_ .~}[Fj*DyQt/Nk)ɡaT>0]S  1&STx8qӒb3/ۚC%y_fFU}8 '\)˭(71Pw3BMxʁ-]JVsX0q{q"Tѐ_*/&H@
-E3E ճjWHɚ_|Ea.c RjEDZ?J w5T:٫[xKR~D샥*:Rw#\6+ }-K#ӺXP<ѭdUGvE~4鎕F.ҷ"%+s4MivXRfx赇a%x0;Z-UF9~"P[ 癕kQ#&f% wKVP3B/qٽ4iUb,V±X(͖khCm U&f+D
-K,f7AO½9=:I~~~OG̞!pPX*=IT<p{lz3Gguq}.AT+үJ7Rw/䅂`fq,Md)GIʁދR[ʋ)&Do V’DYLաTs5 L:eT .Ҫtm0T tKC*yeH"cTi+Jv܂
-j'S?WjVp|/fqu}[f9rFy pYbe E4Vsڼ%Rf1wew; ?Z B 4 8#J<0@/>.,YQEuɢ Ϧd&iVC簚 [^^.1QT)CR3t
-V &g(C[wbAusR(4멲R[-À>3")QśTäoڄh+r"P+F
-m""BոX3 {6,]#8pW3JN=~sHTI\,_=} 2S&<OͶjTki8Q)#3lІԁ],_LS
-P[w{ Pd[C%͚\)ȥmjZ<߆ir0)tyQ,#JMQTFܡQiczHye\UKޏ9 @ ھ ?JU7`jwC_&&YN%0Y/@В+U4i~t.RPScżaGonƣTeUDâJnDx@A`~#-?;i)F[bLT#k+B*V/XuY<JrW@~ xek-V"d7k0Cu7hЫoYL]Ml oIܔ,S_:jaxp
-lltZFR1#\j7O)ăU#JJD@D$SGso(1*YTVGTf!o5x'?b4Nٴ٘&AV!b/0ՂB-
-C+K0?[nW5VýcX.iy<JKuD
-u:YA}Z-[;002ȺSc%`BAd1L R= n 9Lc`j RA&C;L=dE200dAVT90Ⱥa`1d|b᥽dAVZ 4 4HSm`x1ȊBPY<2
-+'(?0dfd'YaduY 2 @d& #L'(00T&k2 Xgb!baddRz2d 242t'e cA>1ȹ>dA^L'3l9>0dx2dd{ddvbq, ,m #>03*2#/Y 92* cA&  hvbq&YFYA&AVCudz JNydadu3*k 
-bU} 3L$O#LAVfad&YUڃA5M 2qGYm 3* 놁Tԍsd ͙d 4 4c` d'}g_#,  AVY 2Af83L9# Gy3\d&m13ȈQN ρA͋A cd00ȺdtY̘& 2 #L;vd:A<2!Ș'Y7 4j<"ȤBO2I>2$^2i%2 AV=dZ2(, Ӈ@UJYFY]7.nj Kd5# kDfٽd=#p2F2LA&AvO3 È '0x,҈ +u#Ȋ='>O AfAp + d{_2 3 0"Ҙ2ی + Y +O> :#Ȱ6' 0!ȴ AV6"ȊGY :!0ۿL A=GB &Ydida Y4 ^r Aƀ1 A@!GY` +L2o#[F`uYJWGgdN2,3 AuF2!dy!ȰN2.uBd9VG#, [Afdr2"3L AF #B8 Xdidj
-OwD@x#Ȱ2,3Ո :#dd +Wy ȸ3[FYOaBL #.3#K"Ⱥ-AEu# 7!fY DadL2B:!ȊG7kd ڄ ,[Av7lAFxBV/Y` ɘd^26d%a+)s>"J܎ A6XYd)d SxBaz"ddN2kBgdgr9щ ,A6 AVlcBф +z J=? FP^M A6XY1d -o c-1#ȺeDuk g,، #n4#]df{dOf:3 I'LݎtFYZFYAA&'L}#6 A
-G$"jNndUOY%}Bd7LV a dX2=ĉ@e")N"Jb"f}ȈB}Ȉ
-x⏱Z_adv|0 "}?a3Զ׌i7h+gSW"Ã]Ljca&XQS氁?ƝcEyLM#珕$ >ɛ?T+DFX?1ǔac?c%pvÁ~yur\V}G6JJ?&+acE?ccJO17L։?eax01e'7 bac"oXeccjcgX#'3dž̀(`~Ǫ3#Lg1~ À7~?`΄4cXgXgďayǰ1 ?&?VcdfXuƏtp1!c<1cUXbԀnƏ~c?V=cٮ ?ϞcLcgYFشcdcXf7~S>c|o7'bUao11UO11 ?Ɛ3ǨP{Ǵ(c%Z\?VCkďic|~L/#~ Ä|S1ǔ]c<cO1
-'O|F7~L~:~L~<ތ#> ]ďvď)~?8?z ? ?},6dcC
-GX6ǔH~ǪP#~?F?: ?E1Z*$ʈF1uXc֭5ǰ1,o? ?&?tֈS?Ϟc| ~ ?ďq?cf}ȫ1^?f~Iw  cz#}7E;cUo@c~T3Ǩ cL/ED}j4~p2&y֑>/D+ʹ1#3}DSW>Fh)0^q磏$ESIDSHEj\1Ɖ>F>q0l}Lc&}+cu;gC>?'_/sD|do=}#|Lu"#| >&a8"| >$yǤ&JǺa `uz,&}I#vC&41F #| >q5FX !F=Pc>ƀ>ǐsWaIJI{, ӝcL${;:=&|`!i/`dHUdskfcQ,1X{ uQ 'c<=&Ó=Ɯ<1cN1,3{=zYOb)d5 1͖OrY#{L=ݞ1#{LA͑=v'{L=FCbbldqd0Tdcjc%/#{=ݟc3Yc1m7ǰcN10GXcdcCjS cc1Y'X=R7cX15O1>'X =c%0XcU#{¹=-#{lz^M{cU=꽑=f'{[=5<1Y',{ ˛=u1Ǥ bU}#{,CD{S1=&9=놑=֭S-G;1&XU4#B8N1o³{L밉=ē=&0ǰc1Fmd6c\g{3i7{=VU:NJ\=VJ{L֑='dY}`u"ӓ=bxfXc%Q#{L+{L=fE-O{L=s>cL1떑=f֑=Vv'{{L5<=&=Fm=&==Fɋ=U91<c1L1}1ScxU3{[F`uXC4bE=-cyf^1Y',#{ Û=VcEq͑=SidInb+dU1,qh:{Lu{z7{Lݭ{L{[FX{317{`fNc2:Ǩ}cEoO%3{D'@ǤbIq`Iqb!:ǰ1mbf'ؽ\{anf>kb =6X%fg|t#{ 3ebُ|NJaG,{[=VNcEjsϭ3Mݑ=Fދ='2$M:ǘ1'U!3{[ +6Ǭ3=P#fn!cU #{ޠ7{̬#{,#{,Oe`{L=afᘿcT챺EOu ֙=efiY`I2pbMՏj{zb&X1,3{[FY7ubIUSI1_1{L"#{{ = 1i1rg{b{ 00c216t'{j:豛c2<cUǪ=V1==`ěc-xǨcC{,cisq=V#0d챺.{=md=&Ó=Ƒ'7zc}PFcici >cUeD{Lց=F#<qcicfc*cu=1{ OƑ=Gzxp#{.ufa`-cʖ챊d9T 9{,S%6^1Y#{~b}ǰ1=Ǵӓ=&00c\Qg{`4GbkO{L#{pfIudL1B/Xݎ=$ ,(#\=ǐcic11Sr|Dac2<c21fDeՈ#;T.4Ǻa@uj*FSՈ#>Ǫ
- 115nci XUƈctcO53=@IoD8xʱ1q&Ǟ1bzLO]Mzׄ#*9h cKc$1h|64=
-y!-!cFw젱Z1p3Uf̘SƄ(CcWԬɁI1F%3a c9`L.qV/&Ͳt&=aE=JediD!! aX1b`ZQX$N7`pnِ[1PS-؏ma\١bœn3@H1jؤPᏎ% Z+T;MjYb@ [p
-V 5SPQ&K- _ėmu8p6
-~Hx}@pF:)fWp=qm8a[0C)ʜJ:#/M)-; ۽I<doΒts+u_zMF8{Ӿ+`zjkg٫Vkg;\ ƫ`El^\j`[Q)+ 6}`)) yHmLd0 &@a>Odh0,TT#2H~v4*C<gتbNؖJ2Қ`
- &8 fBǚh0n6V:lU`/\<}#=n#Bu4,)2JeQrqFR
-i$=q:LQ{bN3D6_8޾գ{D0
-(k[JpL:06]]IZ7L@~a<%fuʀJܠ*$~1R< ~F(F)zW$ }U90CЙ/l%IS%uֹnņG\b%|.j:5]UԒx~Iw:Z'
-.tK~e D~O|%#`~!_:bT`~k~
-|{D%_i_i  S^OHڢbd~Bev$֑_TJN/j}@~i8P^_hI4I]XŴnPw
-a0ǘ__`~3A.10IlXg1̿/ kM̧]/ $2 %=rG\TlwCkwɭU^'Ch%0=͹:k E'~u0}{7 / '#C~ay%jf~*$g~qmeLJb~ia/͏QZb0:ٿXާ0?ҍ&(0'z40:K/MJA}O/<_v%G?C(u>HwRmg-805gz_0h</<?qe&zKC m`J| dw6_[c1{R[]KڗT`_/w-֗LX=K<RE;Ռ"{47K6|iS&C._B|]BRw<|iһ^OM%3/䚿 lwF{^ux\/w륕Bq#x Kj`s0"\F .soy™Ḇ^VzQ0y`'9XF;bb1z`@Wzx gbŇv\/* EFp^!׫1 =bva-^{aX:jPr%VbEhIiﵕJ㽚{cOA{>m K<Rh[x/[{h[^RY ]Vj}puZB{m5^wyo*E8]x/2u˦Gt[+ZB{m^9%&i1 #;buޕӗ2_IĘV;"IEuﵕj. M ܥ{{T>[rkIAQԷ fn=$Ouݞ^*K߯jr: ^dPh/{ůw\텿@{Rue핔jdve\ ^GKGHh'}z]LdPHKN/H^mK2Y^1Ky
-ER%3ef2]R5f:.=>Ftdđɉofv)ذBett.^2R bv)2A0
-f=(S3 "'ABԷ@H0]] Ā`v)Nx1h^.IKbdGY]zv9pf.3k8Xk^.\cVbqm'v.%R337_2K'"֯`!] 96KוR uuv:`ץ;E4E
-,^b]MJ}u鋿MemT^$ۃׅb3u\{zCҗj
-KFri՚*{`\-޾y\-KTfgqE&12k<^E髡p݂`yc2>V2 nG;Kub^Ҧ25֭\)׸(s!d!iHZzFoJ\Fމ1z .g-薪M.
-ŷPdY0D"xlDdQnU?ohh;A@!jP)Y4gJ{ a%E[HPUH,FMȢB<bD>qnH)Y!~TtkSPӗKVd)s(<,uei[Dse2& ;(8vm& 5cHd)sf]qRdae0klLs-?yɘ,yES
-W` E
-dY⨍Lb<qdQ㮧40Y=ȘDN,0YւAYcLKD1Y5[uI`:gnL[RS,L"{«Uwk>>&Ki*<DU9dєD1c:13`s=to|PdI endstream endobj 53 0 obj <</Length 65536>>stream
-Qh۱SP'p-L b"ɲ3sr`K,A6@Yd_lMۺ" ˜,}
-,eVr4,;ePMe7g[,Z,Kc6z, s9Pbeiq+n(Q;XY, XVSk{౎ۅò#, 5$V3};"'eX 'KFZK&K !},WEg:TkB=M7$KO!5ɢȅ=~
-K@T0,;gi, Eh@c y),$2#K>K`d靧2sUmEZfdi~#Y*b#K]}gsHHUI4.CsH9s4dJoջ@.vAʐf APM[tH $K$9fdaFsd*, Y5%9?C:FֳaWɒ%3:rBdwGd'DIEȒ&d$P.{A2WM`TB%! 1!K%deBDLȒKҳRYYd9~2@w/4XGw!;";vz:ʈ J6E
-DwN
-K,^z3"b@^[ #/cq.DYGdqѦȒhDCdм OѐY5L "Q5FAdi6+Y[)qDTJgD7B8-erEMȢ
->d>*Kokc}͇BiFkH|,_Jp>qg%_|,T
-nErȒb »xP +;"mWEW*o X
-OdI
-b_NUm
-=q{&Zi=񱈜"@tu;),-$Ey;VJLȚڈ<uYNN*t򮻀ch?uF{hFca"òZ:NET&t@tJb*Cb=)J`bA;<[HQ$"NJs&pXN; x/&=v k xMRY D\\,(Fj
-(Xu%_
-2HGg{oZY*:_Wa~PZ[CVjd+,2wb!h`+,FZ]nSV'duo9W J%` Z]
-[
- ",pU4Uz3J"[
-ST*[U$vUQ]<NfW!*1c+BAevF[v%<j ]EgWJQ"*a7DIJ]Uڝdv> [Wëֿ*@Wiwâ`[y1TFX ;Y o/%
-3;ΝO㶆E]A WyNxWiZVӆVRq Z^^z6XTW R +Rpt\Uખ\לV5Ԝy/j8%UGd}.bUIT)@)%K1Aq ;S^ no DZUstsx
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 73 0 obj <</Intent 81 0 R/Name(Layer 1)/Type/OCG/Usage 82 0 R>> endobj 81 0 obj [/View/Design] endobj 82 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 17.1)/Subtype/Artwork>>>> endobj 77 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 76 0 obj <</LastModified(D:20140917122313-04'00')/Private 83 0 R>> endobj 83 0 obj <</AIMetaData 84 0 R/AIPrivateData1 85 0 R/AIPrivateData2 86 0 R/AIPrivateData3 87 0 R/AIPrivateData4 88 0 R/ContainerVersion 11/CreatorVersion 17/NumBlock 4/RoundtripStreamType 1/RoundtripVersion 16>> endobj 84 0 obj <</Length 931>>stream
+%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 17.1.0 %%For: (Roman Nurik) () %%Title: (drawer_icons.ai) %%CreationDate: 9/17/14 12:23 PM %%Canvassize: 16383 %%BoundingBox: 1 -22 23 -2 %%HiResBoundingBox: 1 -22 23 -2 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 12.0 %AI12_BuildNumber: 273 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -24 24 0 %AI3_TemplateBox: 12.5 -12.5 12.5 -12.5 %AI3_TileBox: -276 -368 300 366 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 2 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -69.6667 19.6667 12 1888 1055 18 1 0 371 37 1 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-294 -408 %AI7_GridSettings: 4 4 4 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 85 0 obj <</Length 6279>>stream
+%%BoundingBox: 1 -22 23 -2 %%HiResBoundingBox: 1 -22 23 -2 %AI7_Thumbnail: 128 116 8 %%BeginData: 6156 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD35FFA8A852522727F827FD07F8272752527D7DA8FD65FFA8A852 %27FD18F8277D7DFD5EFFA87D27FD20F85252FD58FFA87D27FD26F8277DFD %53FFA82727FD2BF852A8FD4EFF7D27FD30F8277DFD4AFFA827FD34F8277D %FD46FF7D27FD38F827A8FD43FF52FD3CF852FD40FF7DFD40F87DFD3CFFA8 %52FD42F827FD3AFF7DFD1CF82727FD09522727FD1DF8A8FD37FF7DFD18F8 %27277DA8FD0FFFA8A87D5227FD18F87DFD35FF27FD16F82752A8FD18FFA8 %7D27FD16F852FD33FF27FD14F82752FD1FFFA87D27FD14F827FD31FFFD14 %F827A8FD24FF7D27FD13F827A8FD2EFFFD13F852A8FD28FFA852FD12F827 %A8FD2CFFFD12F827A8FD2CFFA827FD11F827A8FD2AFFFD11F8277DFD30FF %7DFD11F827A8FD28FFFD11F852A8FD33FF27FD10F827FD27FF27FD10F8A8 %FD36FF7DFD10F852FD25FF52FD10F8A8FD38FFA827FD0FF852FD23FF7DFD %0FF827FD18FFFD09A8FD1BFF52FD0FF87DFD21FFA8FD0FF827FD19FFFD09 %F8FD1CFF52FD0FF8A8FD20FF27FD0EF852FD1AFF27FD07F827FD1DFF7DFD %0EF827FD1FFF52FD0EF852FD1BFF27FD08F8FD1EFF7DFD0EF852FD1DFFA8 %FD0EF852FD1CFF27FD07F827FD1FFF52FD0EF8A8FD1CFFFD0EF827FD1DFF %FD09F8FD20FF52FD0DF827FD1BFF7DFD0DF827FD1EFF27FD07F827FD21FF %27FD0DF87DFD19FFA8FD0EF8FD1FFFFD09F8FD21FFA8FD0EF8FD19FF7DFD %0DF8A8FD1FFF27FD07F827FD22FF7DFD0DF852FD17FFA8FD0DF852FD20FF %FD09F8FD23FF52FD0DF8A8FD16FF52FD0CF827FD21FF27FD07F827FD24FF %FD0DF87DFD15FFA8FD0DF87DFD21FF27FD08F8FD24FFA8FD0DF8FD15FF7D %FD0CF852FD22FF27FD07F827FD25FF52FD0CF852FD14FFFD0DF8A8FD22FF %FD09F8FD25FFA8FD0CF827A8FD12FF7DFD0CF87DFD23FF27FD07F827FD26 %FF52FD0CF8A8FD12FF27FD0CF8A8FD23FFFD09F8FD27FFFD0CF827FD12FF %FD0CF852FD24FF27FD07F827FD27FF52FD0CF8A8FD10FF52FD0CF8A8FD24 %FFFD09F8FD27FFA8FD0CF87DFD10FF52FD0BF852FD25FF27FD07F827FD28 %FF27FD0BF827FD10FFFD0CF87DFD25FF27FD08F8FD28FF7DFD0CF8A8FD0E %FF7DFD0CF8FD26FF27FD07F827FD29FF27FD0BF8A8FD0EFF52FD0BF852FD %26FFFD09F8FD29FF27FD0BF852FD0EFF27FD0BF87DFD26FF27FD07F827FD %29FFA8FD0BF827FD0DFFA8FD0CF8FD27FFFD09F8FD29FFA8FD0CF8FD0DFF %A8FD0BF827FD27FF27FD07F827FD2AFF27FD0BF8A8FD0CFF52FD0BF852FD %27FFFD09F8FD2AFF52FD0BF87DFD0CFF52FD0BF87DFD27FF27FD07F827FD %2AFF7DFD0BF852FD0CFF27FD0BF8A8FD27FF27FD08F8FD2AFFA8FD0BF852 %FD0CFF27FD0BF8FD28FF27FD07F827FD2AFFA827FD0AF827FD0CFFFD0BF8 %27A8FD27FFFD09F8FD2BFFFD0CF8A8FD0AFFA827FD0AF827FD28FF27FD07 %F827FD2BFF52FD0BF8FD0BFFA8FD0BF852FD28FFFD09F8FD2BFF27FD0BF8 %A8FD0AFFA8FD0BF852FD28FF27FD07F827FD2BFF52FD0BF8A8FD0AFFA8FD %0BF87DFD28FFFD09F8FD2BFF52FD0BF87DFD0AFFA8FD0BF852FD28FF27FD %07F827FD2BFF7DFD0BF8A8FD0AFFA8FD0BF87DFD28FF27FD08F8FD2BFF52 %FD0BF87DFD0AFF7DFD0BF852FD28FF27FD08F87DFD2AFF7DFD0BF8A8FD0A %FFA8FD0BF852FD28FFFD0AF827A8FD28FF52FD0BF87DFD0AFFA827FD0AF8 %52FD28FF27FD0BF852A8FD26FF52FD0BF8FD0BFFA8FD0BF852FD28FFFD0E %F852FD25FF27FD0BF8A8FD0BFF27FD0AF827FD28FF27FD0EF827A8FD23FF %27FD0BF8FD0CFFFD0BF827A8FD27FFA827FD0FF852A8FD21FFFD0BF827FD %0CFF52FD0BF8FD2AFFA8FD0FF82752FD1FFFA8FD0BF827FD0CFF52FD0BF8 %7DFD2BFF52FD10F87DFD1DFFA8FD0BF852FD0CFF7DFD0BF87DFD2CFFA852 %FD0FF852A8FD1BFF52FD0BF852FD0CFF7DFD0BF827FD2EFF7DFD10F852FD %1AFF52FD0BF87DFD0DFFFD0BF827FD30FF52FD10F87DFD18FFFD0CF8A8FD %0DFF27FD0BF8A8FD30FFA852FD0FF8277DFD15FF7DFD0CF8FD0EFF27FD0B %F852FD32FFA827FD0FF852FD14FF7DFD0BF852FD0EFF7DFD0BF827FD34FF %52FD10F87DFD12FFFD0CF852FD0EFFA8FD0CF8A8FD35FF52FD0FF827A8FD %0FFFA8FD0CF8FD10FFFD0CF852FD36FFA827FD0FF827FD0EFF52FD0BF827 %FD10FF7DFD0BF827A8FD37FF7D27FD0EF8A8FD0DFFFD0CF852FD10FFA8FD %0CF87DFD38FFA852FD0CF852FD0DFF52FD0CF8A8FD11FF27FD0BF827FD3B %FF27FD09F827FD0EFF27FD0BF827FD12FF7DFD0CF87DFD3BFF7D27FD07F8 %A8FD0DFF7DFD0CF852FD12FFA8FD0CF827FD3DFF7DFD05F852FD0EFF27FD %0CF8FD14FF27FD0CF87DFD3DFFA827F8F8F8A8FD0DFF52FD0CF852FD14FF %A8FD0DF8FD3FFF7D2752FD0DFFA827FD0CF8A8FD15FF27FD0CF827FD4EFF %52FD0CF827FD16FF7DFD0DF87DFD4CFFA8FD0DF8A8FD17FF27FD0DF8A8FD %4BFFFD0DF827FD18FFA8FD0DF852FD4AFF27FD0DF8A8FD19FF52FD0DF852 %FD48FF52FD0DF827FD1AFFA8FD0EF87DFD46FF7DFD0EF8FD1CFF52FD0EF8 %A8FD44FF7DFD0EF87DFD1DFF27FD0EF8A8FD42FFA8FD0EF827FD1EFFA8FD %0FF8A8FD40FFA8FD0FF8A8FD1FFF7DFD0FF8A8FD3EFF7DFD0FF87DFD21FF %52FD0FF87DFD3CFF7DFD0FF827FD23FF27FD0FF87DFD3AFF52FD0FF827FD %24FFA8FD10F852A8FD37FF27FD10F8A8FD25FF7DFD10F8277DFD34FFA8FD %11F8A8FD27FF7DFD11F852FD31FFA852FD11F87DFD29FF7DFD12F87DFD2E %FF7D27FD11F87DFD2BFF7DFD12F8277DFD2AFFA827FD12F87DFD2DFF7DFD %13F8277DFD26FF7D27FD13F87DFD2FFF7DFD14F82752FD21FFA87DFD15F8 %A8FD31FFA827FD15F8527DFD1BFFA8A827FD16F8A8FD33FFA827FD17F827 %52A8A8FD12FFA87D7D27FD17F827FD37FF52FD1BF852527D7DFD07A87DA8 %7D522727FD1AF852FD39FF7DFD44F87DFD3CFF27FD40F852A8FD3EFF7D27 %FD3DF87DFD41FFA852FD3AF852FD45FFA827FD36F852A8FD48FFA852FD32 %F827A8FD4CFFA852FD2EF852A8FD50FFA87D27FD28F8277DFD56FFA87D27 %FD22F82752A8FD5BFFA87D5227FD19F82727527DFD63FFA87D7D2727FD10 %F82752527DA8FD6CFFA8A8FD097DA8A8FDB9FFFF %%EndData endstream endobj 86 0 obj <</Length 65536>>stream
+%AI12_CompressedDataxyo%Ǖ/ ;顋Ȉ3=x$ۍƃ@Wr=R~O?w{/%d%2722O_ؾztOw޽n~xK}&7=ݴ߿~0 w޾o_xsGyw~on_n^gaYH0|/~n_09ҵݻ޾zݻI7/aCO/﾿w//޿{ywo޽hȿr7ou{sqܷhhx/o^opG=L~O}Q-]=aEnǗw߼橧k}?*iC}?y&o^Gނy1LEMMG{7~N&`W)G_˗?{o_ ݫ7t_[( }Zwo~j' owX wwow<r3 ayބ>8<;{Do޿۟yY_޿~UV2io{o5Mwo-hUW_So_}U6[#o}#/7߿5e7?П?>tiM_m~AY=ۗa{{?'W?}#qz|7ᆱ+o_mw7oooL˵tJ;߲z=7Tzn?W{k;pz=~{ݻ7m']/Uxy+t$a$C?ן@)}7o뗗p$ۧl}wo^mOՕ/nxWݷ^k"rW|/xݽ o_;H+tƇ?ί5xqmy51N6_ow/ĺU]3c3,nb4_>qKz>)^?On~3n21a(b_??fA:x Kf3y1~7w&-ueQnԒZ mjohv.v=] ˻q7vw}O~oaܟ0pGm8$ -s =wgnY-z=}mѸimx~܍qHc#eOywy<)9#@jiVo[<uGvAO-P04bӪ`[)O4M˴va:N9qNs'y7˼,n/H6nmh-O.;"Tm8ksȰ;n[nGZu=6Ӂ;94f$V<=ӖfkYi<<Ӊf0in43H3h[>kx|A"5l&n4.wo42N K4!FLiK=MڑV!ǘ洤mӔӉ6_t\f:8;c>
+RO ͲY=?Oe
+fFclgt+2515k99ƕhFM
+!ԋ
+؀lP$B2ams'OX\"b(2:
+
+U:]ht
+,EIمv$@Y 싁 =HiH,m
+I3Xo3 ٌ
+[)fېɑY mraLgiX,5n)YzZʼnG6i,yf&Ռyi0k=CLGt$ E* ED654m`hP<ad`(ӽI홑F%|)t3`#âŨ;6DD_f[./XA`{Gz1Pց!+6]C>-$<6`
+AB4 НHZf 2;PsTIwŠd®yO[xC%3r'D x4axiq<f];,I諤+TV9i\vn Y9<?Hf Z58׾51?8|&NYۨ؄(i΍~'FE"6dj :o.Nk[5'''֖:`3[mbb)զOd+*PUDYÞuZ"̞̏,z?CL46:'̥&Ukl]>4\QIcUe{V &[+2k+"5ʘ4˜$_Tx1y%mdldhu:lH:)FI;7|°{d=|a mXEyۭ3]w4m;WwvyqhCmiErR2muddd&]%^![W2Z4rcO݌D) 6,{0{ÀfED{)B_w_6bǿqϤ&);p:h}DiD׾ `~
+039Ԇl8
+ilHjnp*#c<2Dl8ᕹO JM0q!-b##ױVfuJlN3mωKkvrC1+=VhEi{.b8 JpT伳8AOmf<q۲:u1͉ptvYur
+.h"ɱ'**"r
+$U, * |-l{^J2>fD(f1$) ,,Ť F3,ݼpp#Ciu;kHhKrG's4b#(0dMkˑW7=*ϬUXp:VV[W.n\,+\b>.+XpkfܭsͣAY/ܔ*|՜+t
+$_쫟ԪVlk)W?g]W]W0\rZuz2SFV UY|Պۑ}v6_[fZ܋Vԭc<ؙLzE,l{3'TsC (B7vl6o9A-I®r<l5=Cy;﷋|,Ol/f.Vsc[NRشú yR7Ľ.V'u5L4 g.(,NEɝ_+snxDL[Յ[۱7&tZw*{tE=(
+e_[fm6`A[PeXUZl9j뾡ghZ
+HYkO!9c*U
+H$6<Bp"C m JU;D^z)J|ٲj'J-ICa`2"jt{Z^p:{f|e]0?^.!u(yй}!hZPZQiQi+ӑa;_wj2U Ɍam8H2i<5qSK߭Bڙh碝v>|F:Wsfi5C3vF39/3NfL@({g\ /&dJJi*̻0;S}F 2
+nAB[b|뜧eUɾ/d^VD!3Ԁyn:!
+nh<'<blDy}iɁ-$[HD5:D,}bm`}lb\gNyꪰ[ "J_l'vr
+MeKֲc>Y✛I'E*xc 3sѱkF5X@";V0Ou<[&uG` $*ct|Ƌn5QQ%ģ[oK25~39#ظwGfGGrYq>f^gvP<?d{ϲDXI DӬJ hZS"+13eO݇F
+țt2H3nU 5dńKe*I4CwfZX- I} `#Q BB<13g(;
+KY!2..)
+S\Zx2a]sTCsrZ9ςn{μPZoM:m֝]j_>u?8i*4lW>ǃC3{BHy˘ɒ#tjvs vmwaKRAD*ҹs^/=,b'QM;")@
+p#(
+E군
+D@ydN$d稵ḣL%*# r焥`cRgZ\yl M UJ5|5g`1/veƝB?lG>醴{Pt{+bHT8k}=5hhRmݮr;p@,(\z * @!IwMr,5%&=(ECY'뼓u6䓫b 2P&\B[i/ a+sFƬӐmI:Ni$,LsQܺZWT
+MR
+pq$+l<JBnZ5%P}l8j
+ [̊E
+"Ya2U[NWjޛTr\Ȣ/<9ߤ픘MSyN݄dA<miMSM,iTR<qqoxWb-8:ʢ+*k")&hH1Fp#j8uHW8W ]X4|KnIsת)lԨQHzO464[4h܁v=(sCZj^tUg>Uxk$W)(=.c.j$h
+<,ؼUdъ$~sVk|8&i5\g]ъ'qbH+hvo@ED ԎRtu] qJxrpfd CLyJ9C
+riX\X,f-Ʋk=ہ'$I&$*rR\=vr|t`G-8Ƭ6i('aϹ2C ڥqkyjzp|fhWÝ}@^zGDKe+hԤ.Ӽʡ h'J< E%8ґ
+2;V^˅9CQ81fRI~ԇA>UlLU+8t5ħUI>zLacRBAݣA.838.Lc3^ٳeXO
+Vsq:p= :Vy&YhBPәWků_),=~Sp?
+*b._q׭W
+UZ־u.Ā>iuku’tq
+;o{,ϡ:'/
+ќJ]f4`vs\.:wWMxhC[NںOswXk(%;ȞfhpQ?C4tw8;DG"&ϋUCZ3;U'6!m<h,c{)BsM鍝ooKr8JXcgڶU_nߚ
+S%4CC#S]Lgɂ.d@rŤ)O, +i.U|\G,c4)KSV]8Y{GfT 4m5O;XV_
+ i$3mBohGloH 8(қy[?ƿj߼| b}ngOjeŋ϶?^޽{l ^x4g_{?O8(ɸĥlr.^?D銬Ýa@~k̛0O7@67
+kÙL22#=ffϟstLGp $NAz)eꩧ3( apÏ}[~6"B10z(n#n A0P/@]nD 5gA2H"#]I7,!fD 7%ivi'
+-D<P.H* mhVs_3}u{iiWd:#$SI_QѬ$";g@EGCEd4-4O3N?fPWhjL:\qqט'a(COe 1hSQq
+-$iwZڋt Ee2^d>Wt"'t% Hΐ0j<;dZ=ęo< ӂ $lc ϯ#1-$Ѡ>؜ӀFk|#HHti
+62Ўȵ4t/1 Z@.L;xq 4U4D;{3Qx 1&26D5Ac3I0{0 Db L4bb<?o
+," !3#sqVQgIh d,6 KD0?=,,
+0(Mbt4LfaS~{>k"pI*9x vFqWhU\ŶbYE }"L62ZC/] _q@q={0u1 OD.j
+иij`| WV
+E $:}Tdn4 0}'fe3,o@:BlG_pBĦL>ُᙴZ:e6
+XZZ5Ǭc Wg N&(QI`FKFɍԜBIrc[0'pX=
+WٗT
+u˔T$XX uM
+C{SLzycM'#!:W*gT}I5%P ҀW6inJgAm)S}KSYMZ $ׅA#
+@"Hnp/~jf v-qg˯`KFh &#0H>iHW\Y z)7f d8ePP3+SL6ʷC\H0|:lV|S;6_x8ȁ@?j6GaE?y]ɚӈE:8Zur\)ï s)F3mHCN5V"rCvo1wkXΉ+vugj7ϑzg;#u̿anpgJUZ4-.mҕJfOn)b%6$P&ȇnr9-[.kHJ悫\u{[#Yee7ܹ<] |v@RhA͎aU3_69]13+)n,m7FWW6[)Onum)QbjMss Lt#+nnR7Zz`-cWyuLU"Ŕ碢ǸӶ5~zjc7N*
++ XFCAǷWQF_W2HuYFLjٛ"LCh
+t9+Y MlP#De#
+x M"hjhKp6~Kh)@b) x"
+0g0_4
+pY(X
+tL4
+02m4
+`# F{!7i|=F:Sɢp4YZRax??^B[. <gL) 4*?dxa7Tƕ0oZ#X* VgcnG)Vg;9Ҕ^<
+EZaIM<}#^HgLꂗOPŤ>w B`wgf(VF]ç-ZM^NmPD}cQƢ&3J`vL-
+hÀI; "w,A A` ~%NPcs΂^̆*¶gؘ u5:,F]3(ձB +gVYΐ6Cjc]Og U;@X{% -~,1yXϟbI#q5zȢY
+UTZv5$\X<kV-%\z҂Q^s$9@{q<MQqhe17;"27T!Sbӌ]KU+3$bBUJD,<r-%W(_sj3H
+R֮5Qٮyw:`nG.r6箘zz]-&`wUb]n]
+ (D⏫ n)cs;
+rS&2Y5S&`"xÑ|}jɗY{:Mq^cᎥQ#'oP*S )ZUPwuF,<Z/C|e*)D4YE /ߛ$wiR2Y:
+>;: -dͧdXMEI8,*,EB_ꗭS߅7k>d޻<JϙNcv~h}`D9h& O_9
+:iv'(抬b/N0vxN
+)gTBNJa JPA&Uj4΢A%P`9a*\ؗ¢jZ(@#UIB Qh -xamлJ+zdTe Gݐ3k/3?<p@T%ĜjJF &SM$8,8J6n8ґŢ1e`Zo82O[f+xpj[fbx
+YoY:,x6E6OLa>4߄>|߫kږ]3槣Y?E* p"YG$upvK%#pHTO;2 E$#
+5V%Ƽ.%'E^o3 '5!*eёa2V}R
+5 y40ǒ<lN-ys[s,i@GȿJ%<\r㑙kF ?hۉ5;f$D,Ϲ%p+H2`/e~aqP_
+/s^&hc;p!ڬjxM>`uc"5qMj/B9gJ8jId^N*,8b\DȎ>J^\~~eNUj(u\(4[b#TTV5}媍=mk|xI%0Tkd_8yf*/W-ڭc|y U]ok/[ҪTrY]͑,52`vBbF-J1(>YMyJ3P֙Q1P;T˫9,ejڜ{A7'^!^ Ήאs朏jI:7^RSsVeez=g^a^ϸWsF^ \5+ +,bE /\hPtk-6d,YFʼc#yHTK^RKkU, ի] k1]L5]v._{F&{O6h#{ QW̨^Q5jk$^ԵZ6^'U jW\m)jWoUk6ׂ5-ϫź"Ue'jקu6u5Ẫus]%i}8YS3  Va/2.) rD&t(/aVF8rNɐJEe,XIb 6E+5m#'2MQe<#ݼZrdm+'r} C \9/ҫீ
+Cːڪʑ̑>[6<rP2@| 1巕J0rjȓ: XRw|`
+4(q"6>ҊPZץ%DKmد|LF쿐Mĕ̕fLRLppK =ЙHai}8eBlB$0 &&N$L)ҳo3~I v/>^UAWPrRVkB}!:b?euu
+^/2-g*9}+3U?e5o τL6YE5SOZ4{5KXYj|;8Զ6
+rη{VuзCPlÎ~s
+4ŕ*aQb*kP/UT5+WYu}Kȫ}Қ˘9X) &d
+#]Z:9"28Wn܄0Uijn4"+d,X(*TWԥVK_/ܦ yJO~A҄X:!֫bK ~'B+[g/}_el
+_."0V5iae UQT\VhkA۳oC3XJR,2S>V\dMX-*VCW$ŢZa6vY
+X(։ȬJ5Yp&'^t ^640.->mOfLDk㲢eVyCae~}p3^5+ xfR-3c7F Փ}ze"}9T=e\i#c Scͳ\pfJwj^9˒^q\V|a 8
+]yvZ)!P\rVlW\6}1u70[EU%ou_9RhhWhBx&?5/vS.\dNo0YᇩjV>&WCJӔF$b̬tZjzg
+{KWȐnj5+R˒shBQA_͎ Eӱhd(Zvzڛn!K"B`&r 9ªd_jS0<_U*N2DbY@f.˪;\и,s*,냵U3n&ӾxɈ꬗hM]Mk2RA(d SӚUX?-DObQ5㢌VF,(eތriUL2o2,ʜi`{"j?,\(97(#Xg:.55ۢ\s_Z}Q~?ϒef=lUY[j'Զ5ȴ%٨BX_{8.#31\8(p=ْkyҜ&7⏽G8܈
+(krdq&a̖nҨ5Y"X]\Nk7Ěԕȿk2$5 ⳮ}MVVqa_!07
+IJLZcU~?X3P?
+))MZ*nH0n<wI2:m uSkgME=Riu街A7eF Ek~t#sl^A7 fЍqIZ n|=C?=n*B8n|/;i t3ueUD΃n:N5n\aQ[^#~g8Ɂn_鳩 '1v}iC#}m}~{
+)֞רa6:o^Y
++
+͟2z`\l(X}:h=[1M1- QSygĮi#JL%otn@Wmsvfs8VA 8B:v<|A`̯5*ykMwD*۫Ҿ,Q]̳/
+dО*,fgk.L#lmA-hL=-dhOݍ m3lpŴ`au΁Z{CZUa
+c:qGgjꪄ& a_I)ެT@|=nLkg.Q:3J=2Ii0y]}9\9B 6-D"]'v9kٸ|$JЮFY=n;;z5L9ƈaqRNlTC(Z^M!>-> 6(QH?3/quL/Cw;^^
+9/8~C0MC^8|L9@45M{qXmB. ue缈Sb;{K9.ʙr.V%J jQw 'f dBbo ʠ.F_pr6U%0N."6`,4oH4T5o5:ĻJ391Vn?@n6\ %ήE ,q |',;t{(,ksfJ)Bq.j̄/F}5gkw[wdp'77L&4NT<19M27H'kr+lN*+ ǚQUjrk9騳M0yv
+>? ,ۇ;iA
+ݶ܍(Fx/w,O;^^s!ucIMb>;.1GH*u޺I{Yzlpm fa؏m%~*[O&EK-ұr+T$cOVO/QӢf!<VS^Tt_+!jA yK
+FQy?Hh,޾,r>+͖]<sߚ %9XW&䘼ozljn p:m Bd\017V&_ak~@u74++G.\C
+,$b5s.11^QA#3# ^NgdDhkka9蓶!}ɹz
+=VuB8tvf'5}%'*,M۹ѻt:HUhhּaK*PJ&+m\j#ĽW^p\Jɧ[HWk0x/Iw-հUiCLARiQq/#ˣedBK(\7ƆS=ڼ>@,VoF_4[IXY~o:?J[!B\=r8[иQQz :[MTWwb$.hr|SR# &ouQR`>_b*hU<kb ;.]{~Y݃ol6J5|/ S߼JM">Ʌeb0}?粝}ˤ\m{}w$.&6Ъ!+Km>0@úҢ16Bl[jS3WT3Pt#7wM)/,_
+a7qGwjA_ѽYSYz]gp)yX\{~7~uZƑ+¼EqYK*'y=8_PC82bX_<_|x";YQ51e7<#>Aa/8>Ҍ!ldČGtD$L?o@=4s|ƴʣ#cCLtɅuY61[oA;-yZQedQӫE rr;Tim7 .tzЊJ7n(6,&touoHA2Gq(s@f3n.ujec b돊ڎQ4{w=yaɣ LN] ;!_B_wkBR:+楲 mŚ'I(@ġrh;"/b;`;sc؇bIi`̙/ySYм|"W~;*tݠe.]`V
+RW'
+R = #PDA|4jr$G{} 彘Q2Ɯ'?h} /@l:|BGwAH).R]!g2^ԖY2j q@!㮁BƳBw 2!d<k q@h\!d<k q@!!zB
+B
+B
+O")d"d"s&ߡdc
+]`>ߡ0Lo/ I)_?^%P1 4 N)Ib4mp^U4XJ88>^ʽ(X[]vGdYCU轪HXmm[.IuN"͓;zX
+w&#@Yܡ ~O_Jc7j:?+'Snxr1u>~#L0 UMݭ;8{PmCLG?EPqTWbPieN+y.pQAQ1WL) q7Y/'X\yTvg[3tDYsh=#3޳dE!3O<<,GE~Ts@̫;y7r/pcU߶xD2&Pg=!_@|7=jU/^S +>Xc۠>`VL`9B5]Uw ]E7_8q8 Z8v38/af+/ynC<)*jLǪS)JG 9-Zl[44q%KUFs®lW LA,cɮml<G; DJD=]8)Q~#AZ?}ޗuU(Iʽw?%k=}Q<z;X
+v WYqqٶyCTSX &eUcMR졘׏G$(\R~V5x_(tqɑEj;L#e
+UZר
+ОK<8[u/qPH~J&^{mkE$40"؞wa;KnXn5DVwN7q_nIRXTj+цF.VJdE{S=Kcz;ijcj%Y_wѺǮ˚u%m1)ZV)n^ ~2EyYaE2j<(.,_qIE`h:ۙiR+4GZ?wIFZQaK>r9c}E C>y\R*RXfgYZ`&w}a>0KE~N#6뫈k8lڼ\<),G5|VXzrȅD)JqaȭZ(D^*f
+XNrdyٍՙg[܎oKX4hTl;Aa_Wi5 HDti [MýQ3}g <#lYi3ym̮jo|3FhJUyi" xJejz<~uSo͢909Ӯ~@t㌖1Úa1{m|CWCN ?*8۶.b҈bz5^I
+ǪG/:q:%JnX2iM>5r '_@h@',tskiBհ6Lz3`WⶦEWv/4'\7GZz|NO!oL҃,^ѽLZۤ:y+v'J;{{#
+8ы-(]21鄼]#4h㹩ӱyJNV Z_/+GCեl9X"Yxթ</4H971f ʳzܷP{"0^T* FMFTsjl):)'[&pU9|y/ l^L)Tjs-kYz}͠3Ԧ 3}ᆟ>S\_6ZϚSQgmZ}i^+~Ze@Gc5NG_jP`at1XhB= ڼ_%81i_ksTLOGxLT9+*ƺ[RtҰl߹+Gq չT*|Rͪ;F5\/)CV{PKыWeV={ț{/Օ5ƨ7gu2rts ;V4{;Jwf?oIoNl JUmXlMs QHA%oLPH rCIebW_qm=\{zT9{?Or? 6rdsB5(ZE?_&蝊QȽ*]k=6tvbMMpn[bGOtcNI{7UG(UIP69
+22@!pad|8F?.b2}gZ"ү?0ӯhMqF|!'IFL?[QyDq1yF-urgozA2ޗQM6Ft:̜۟$2HF&B9'e5N[Fms
+nΒҌ|䜒3<=׹d;Wc<(7ϕ7U|P5,CJ!\3Hkkd쉆JaZØk~5_<I3" tk6Oyf7)Au+sKk9E{yϚ{u1scYfm@=Ֆjf3I^zƙK߹ G;Ӊg1LMNN}0,g2:!2iLN$ӆ%Dn|2;m2/ۨF+n,йi\u2=mqGxn"3>53՞[Ҟ]kOۏ[DM)6->O֌1
+f7ݔY p6q.b_{0ŚOD b
+WP b
+JRe<X '
+YRبekCdL׽RG%?ί~n
+3B7B`{3^²QPBSCy,U<ζIr:Ë)c } ,QD6ڏlJ ~$cj籈B)ռ-я~껌YhNقW'+K֤o
+n+p+}Pa\A wx
+rD%L##UjB9'wKgQLzN&Ҽ6͎1HW~7TvL[݋CU\_{iś wx,Fؙĵ맧<Y6 }Iφ1J0{KR"úCV"wZ^|77oFyrnl
+,UZiTt%(EWHT#ڧj?,4ȅ|>V_w=aZEfQI\uIH؀Am ,e$(D֦Kk|eu]@9&jut'Y/S@jAEWc8L2Ty݆%`3j!}Jp3>g_LRnLo]AJa3M~f,N\
+pߋsZgoEJS7~ZJWz-n6Xkz>?dh/YNJjYC]ꙓ*a/_߳OEm~_y$~E}9I$/'-Y~/?.܏BӢwI埶_8e>ooN81+=@f\z5g9MU5_R5*b14bFYjTIW(^%EB(d8̃a`sbOxnK
+?C26c`r 6徫U\QmN Fe Bl;FUb?o%Qp+9ܓ;ItYw$siZ)>Dm=WkkUZiZYBV>t*cXf ptdwqp9잵N:lGc(,6fG4.VbQ?"XT(s8ަ'ݛOew
+ 8 @l%Y^^²g0)W}~s݈?fMuFD#LzG[wKj׭ Q=puʰݻ2<jmһ`<@QXU.ݬ=Z^">YqU-ȗd?
+@Pl4x%^EE[8P{pp/%dJR̰JUޞH5iR",vgE,pײ
+~JDHe*1e `J2b[mѪuSkC'%-b+¾y3ջ F=8XJ>o9kw4Q6R7bAmgR 8rpzaљr1J]՝J%gB/ΑQmV0S%0y7NVOs 5/ӣ\KL
+'rhz6`Q
+4Cţn(Jq*ܻͥ¢Ԃ$3s$fFOw5WBXg`H Kj-
+pXFJ?] =̈́DUk6؍"ݬԊrmV~"T/26 <ߺrӋ8gObG,<UG^HjG
+Ԫe:X{W
+%Ҭj
+,-RMQ7W\n6g&x(T6@)XU_4طU)ͪݰ(fg $a'QKW4z_#߂Ru@lƄi
+xMU>NSE6a*sS(5tmC7}gƽXd?aUظZ' 3 <(AS0lލe񾏋l8~|T//M#)F^I|f򲟦ط(Ay*TЂJj]sw5Rrhd~Jоm3-O-jSnL6e1hX;!|q@|SfX1b)?twfw)e%GB5JWf
+/2@gِT^ƪo 6_xBaMCXrvx"(UDc9m'%wB i(_7 n;+ S}?޻S8h>l/:C2={ȰjtXiaF?ôwmNn1Ƹ븉v-~cQ}O}:|?HxA̾[i NO^k6xTzjbAfk|4_I΁׷EH18Z/!
+_Z0WkcKvM
+1Hh"Oy*I?U[>uaB@;|N, 53VA'@҇p{KVh1YZ>n`I]¸Xж2䩬?lf%]F'owUvۺsJ>KOcpmBWY #
+ mX(g{G,v[ތ)j
+IFQ5EF.JL x{eXǴ4$F?^\Q}PE⍹L:ՎZ~Tna%|zy0y~u3$CN <nFf>߾NmYx^
+<;XQ)|uIŬ,N[T?u!Y/sZUln ݝ3,RVgujʸ}5_My[-dMJ?Oek]͙jHwͽ U8|_ӽ"|nFD(\MQoT0iI0Ä0pboDg
+ʜdcfʨhX¬{j7k.^) Z<5\c;@⸵9=%#%Ag}D(:AwNEN#
+j'hz[c.o,͞W0:M(t#e3~}am!vrծOTV.[
+lSbVyģtmX[u@wֶ{doa)]Uط3l ߊYԚ3evh11G%kU0coZ XbXIfr!_crHw¥6bhojQ]m(Y ?W8H%"n[oށH8l지˓ y@K +wҬѩH5/K/-qGFSN6{=, ]%"mO7(Z K$&)6m. Fg
+
+2(U>;ܰ4حHhZYx *7I7-=jyBӎRB /)xAiEPYa.M,6F)bۣ/&.R(C~<g
+ruR>MA) K"N׆yK9f[7xz4]}>i@e$-}*UIM?N ~?-K䨺mo ?(eHʹ0Y|Xr)cDZeSv
+[>e&ؑJYuZ@$tZnp۹8]
+QiH+۳4*EB"#rrB@M4Kn o
+Ty%lZ!ӦMJU$B Z csqӤWI5$MX E8S=~Hx ՂW5#ze*ވEo& VRP5E+jg7% v7nHiCQVһUxR)Pˆɨ7:nA*i&MJu,vlҳcz(Wۄɲu.},ŢWrcrABb*,J0/Jj|OPQm\'A6v@6^#i32_"w֧CQ]%]#5\Y=_pQ!@Z=s^H{xAb!Q{`.k$WhIdne*$eYb6WGn?$2H [YqFM'S`*5$2}F\_e; :MWecq\\4Ӗy<qT5xVm氚*6?N WHgk*Q$HۜTH Y.%լ!ޞ]QmBbZ^16<֝AN)"úraXWX%dNyVq:wZZўE2f f=Prca쿑  X!&D E=}okqUJu%5GەyUO9JHBB‘F+ s\?:;5UI
+˜$gk:^Fskwh+iUvU^<vOFE IZ&W!,Gy3]n4γ<~4Nl
+f䦮i ) ❢<2+8,ң'7^K͇ۮB̧॥0֫HMALEyȘjB술3*=^L~OgOkh4YLb9f1o)MffbTO5[TFpYGbid9e須[;; Q=_kJkd= 2R)c+T70b e֧*ͨjp[|]YVF2qTĻ$i}vnEwS7ъ{Qf%nN+ 2K=aawVB y6IVZ[%Ƿ1LAWЌIOW
+lL&TE]Vʶ;!
+lw/!7i+5Ls^۵M"[0\QO+YnWO8bJIs9!{7Z7#7g̵W8(ǿ2Jsi(jFZ䬆TWqRsU$*`]M=I;ߨ#\#vr/xR#Ll>=*q0rIUUB)dj I#o冫kR)I'gh"ѵL^]ct%KCmV~Kt+*Zp:Z]睲v$}3SJ"v,վ[~juPلmhҷ=UdYUg=@FDT=`(njb'܃
+=5Wf`'F:\68ZR7@s6+W)Def壚p)P#*}Ӯi~H1nđN׃$!=Bzv\V-HXaAǤ3Ka:va5ƑndaME NV}NC( M4 $DGs҉TA$3Z툤qY3qQ 4ڲi
+`4bq>gq5AQ'{ͪ$`\^o eBUV‘J5R $-܎<`Y$\>n`ȝJ.1j FX%>T̉GHZHE)),|M%F^xn.RAt*1Drs7E.:Vonƒ\6 LqիyId S|$ܯ쐾aJe IS{1YmjnkŢv,Kb2&zW6!iQ;Fޟvy_>&8ͣ{|We5΢,E\G򜛗!as0i^Nх *JMH8mb(RP4ΈʢO9Z*WaX|YFZ5ƠՂN6.O\zY]t%x\?KJO=9PMw" [~'''UH3yiNl&Qq2B
+aџҟQLEѺQӧmKe&l'>H
+W/ fzH6ͻqEVҽ
+YZcJN\&SD'&sw76o^FG*8H~'(D%ovEvŴ t. YvGHԸwO wYj:+]# % "7Q,"qYl(P6|6^bDU"řFj babI,g8=`)6]ͮ_*MtlU98$40Y~̴5r"*+JsvsfKy_*kSI3&|8-UuZ0`
+[Q$䮽*>SMݼք4({Rg&QAfSW
+`_}Gm6ZWT*ƅ;so*BK[+D"1wTT#E xV>*nމ>[` >ȡXUI%
+_S*vX<Wku E^k6iUt\ deqÖzVgxح8ggUWdPI
+}V{sª
+6Z\i#=g3FrK1ƽo& Wjjf38̈́쵼yBFD _1Eʒ,!rkT!9Iql}AWuE<=TϦDR0 {m5)+ΈŔ%bV֫_R#E$k~7mjo6WI)Jk(klu+'W+ܷ)t8[7*eUZ# u&FhlV)"zqw(GZu x[ɶȏ슴h"+}o.ҏ"%;s4MivRfx赇a%x0'Z-UF94>vLSyY&ʵP'RY*uӒ;b%B(Սjݜ䮕K\ŸY.,EbY?>l=і`_^5obCIJIM1h${3cKNC05 96Ke/W"oVI
+?i'MfsTę9;ȉs^~Uq.ߌKݽ
+QJǽv6}(Пn')S}/sKo-+SEM@j&ʪ&d)h
+`)w^
+D^ڕ&<j19gwKC*yeH"cP+FgAg)j
+JՖ4tHKP.9L>@I0B 4bYvNF)2.E6mUTvut[f6͉Ωsnik̭P\{H
+%n*qK5zU|W,e᠈rzT~=lTz2esxTđ<vX]ۀ%'q n(꠽Ht%D}l a_٬\V^jۻeVi ܦLKk6-fv`Q)aU2=IḪ@8$”'֖sngjB2VGf
+j'U?WjVp|'/fqu[f9rFy pYbe E4Vsڼq%:xa@H]ݎCVЂ> &ֈ" [6qXT-n],d~6ť'K5I8\rJ9^jǥא{(X1DCDmM}J5<ӬJm [073E޴ VE[6D8D0qf=6L*lXF,FuQ6)_͠+9J=*3 Y$z!ByԄɸQjy-M(딑@j68MQhC],_,S
+P[w{ PdGC%Z\)ȥmjZ<?irH-tyQ,#JMQTAܡQiszHye\UKޏ9 @ ھ ?JU7`jwC_&&YN%0Y/@В+U{5i~t.RPScͼaGoƣTeUDâJnDx@A`}FZL403;wD((R/(zFvT\^pY<JrW@~ xe{-v"dY7k0Cu7hȫ,Ԧo6$n,ʏyr0L<86M6ozU KZ-
+`In#|uvx֛lMR eYDd G#7S՘r\F%yҫ2Uh[ ɏآ(C6-.o6&IDP'1fȪ8K;LC @X]bjoI<w?mMN-ǰu)VjJYJ55(V(dЏ%tؼ+piyN-d,[?iޕgt:産4%6S\jI0G5/T.мRN c&P\dDA%U%V2acw}JM1*Z=5W"+y*2ѬɅhO"CBΏu(dӊͼjmIVx=5&ɽg]z,˷w6@U(quVo R A%Q>3\~U!h5;<݁zܜۚׯnͣT7Kx15-C]n "3R1&j* VվFYKy!’)t"%:+\MW[q9bXIC54RUkxLj?gZC?X<~"pL-[/~o~ic~(q\̱Gi@ 0!Ȋ4wgYdE9A L<#ddv̌ ӧ2 3 AVL"  +W)I=lAVRh/d ApAuFad>dN2Y6 QLf C.F?dyL2l3l 2􈶶2"P/zAU{ +Ղ@&Z, ˛@u&a dX=,A?P de uk3ۛ@f2#lU#C:d2=x !a!dYL2)W6Cd!d2L2Ed23d<AefY“AD [`|3R3a?1Ș
+_ 2GUx5ƊiP5"Ҋ>1j3Jsf(N, L 2,3 ˛AVK{0j9 ~AVyldZ 2',# ÛAufadX J? R
+dGu 81t dad&=a?dE\AVTbEj}Ycd(N ׋wdaFE0dd vn 01dx2ȊPDGg#P`¾EZ, #=5V&t1O3 +c K3;Y +ud2Խ3tړAV ?0Ȋ! ËAVjdE՚YAƇO 2042
+QAA`i /YQ|`*GYad=LfYڛAqbAV 810L *Amb02dx2Ȋ2 IebfX(cy1HNN 2u&"@/ƉA&A&'L I#LdMdl'9'118kbidcsm OL 2}كAƯd\ K K[0Ȉ ȋAVB J{ x38lb F;1D-~1d܆AA`I?edtd^3Sdid ^3ȀdUe_n 4ɓA& adխd'AVU`qMLAfc mdFEd0U}o19LAA`Uc 2! 2 á kd1d| bU6#ab( z 01Q 2GAfG 2bs`!nb41Ș'Y7 ntY=]3x#t# È AfAF> cdYAVd{!t'$FO/Fo DǞ2F{ Ac *,#AVcFեDA5"Ȋ3 LۃdOl#   A&È AaDAVGYAiDd՞AL[' 3À iQFYA8pD 2½/ۆ AVdidiLmFcH
+wDJ'}A@adXfYQAuBad: +RldE
+#KBadf_A& ә#LB &Ya
+OwD@x#Ȱ2,3Ո :#dd: +Wy ȸ3[FYWaBL #.3#K"Ⱥ-AEu# Ӏde3ȅ"Ȱ2Y&|!ddEB# AƵBmB A֭ GAF +@'d] AV$8"p2fFY ~XJʜRr7lyB A֭ +x
+B)m<!Ȱ=2Y^2Y'>kBgdgr9щ ,A6 AVlcBф +z J=? FP^M A6XY1dL-o c/1#ȺeDuk Șg,، #n4#]dfgdOf:3 I'LݎtFYZFYAA&'L}#6 A
+G$Gd5
+'Y]LM'Ғ>!2A&+k^02,oD 2'{;3dY_2u3A v_2"#
+L2,or ̪Y_^2&Ѥ@6'L$o@F J>d41
+7 ~lL~nk
+@F${ 4?dg
+ @Fgo
+ w
+GX6ǔH~ǪP#~?F?: ?E1Z*$ʈF1uXc֭5ǰ1,o? ?&?tֈS?Ϟc ~ ?ďA3~+xďWc ?f~Iw  cz#}LQ7ǘ_1U 1*C'>FD1>Fuq>;NJr}'}lL#2,c/Wsc* xT0T
+X l=ad1\ kb d&1y#{Lm/{ {ϞsUGzNJr{̚NV'{L=&iOƑ=S;ғ=zabQb!G1O6
+#{gg{*d!cg'7{Lى=}SNqdacX1OG #{̎xO1B3{=Q~噴=FM+`ѪfacE+~=&Ӊ{LdY}`u"ӓ=fxfXc%Q#{L+{L=fE-O{L=|(c<=-#{̬#{Njx:{L
+\#{{L{Leq#{ړ{,5r<cfyǺ1c*IccV8fX챲h0Ŋf'{[:1cN1YF7{(9NJ#{ ˛=!dU1,qh:{Lu{z7{Lݭ{L{[FX{oc7{q0'ncfc>챢'{=V cw|Ǥ8Ǥ8ԐbacXfyJm3{L{ޮ|=47T5ff:F=&ˋ=f֑=&dIÎ1ۙ=6XX{(0NJ[==f#{{WdbItb:c;N1BfXL3AZ=VmfY=f2B#{ ę=F3ݢ==C:ǪFAoYGYFY1|=&/2#{ 1Ǩ\cu13{ Ӷd,y/=F#LdcXfX11nȓ==Vkc/c'DG=/Ƒ={L<cZc&2/Ɖ=abaxdc:md郟챪=nbdQZ:{LX%>ǘ:fXZFX=obIfb {dcĭXL16O=G O<Ǹ=Vo2KKc=VU`QM4oc1b3{L׉==fƁ="Α=V801dac{d'{7RgXXڂ=l8_O-{L{=?Uk{c{(=md=1G=:{L{=8T9[{ǨcҍcU3{L­#{ `br|vL1%a`9TLEIO =KÈFGfD۞1%G =&=&nj豬cD}'ʅFX7 ntXR@2cc'XUa=&=g 1y|#zX=Vզ1ǘS =?@1cRcl^r3zb ='zS/=FWӄ#5(yLjJN1ZBFX=1eL1)1 {@Cğ3
+y!-!cFw젱Z1p3Uf̘SƄ(CcWԬɁE1F%3a c9`L.9#^LebMz{Êz6nC2CBkAKHJcr HnH!blW[LøCń9jg4-uby)I KZ'VwXՆ$-&k (LN[$/l7)Tq>ha;m!@l
++)*JuRͮ`{>pԿ>0axQA S5)_uF)(_#R%RZ;$w\'>{x0ޜ%`Ϲ14W4LF8{Ӿ+`EN\qb浳l`65˹ foV;Lť :Ҹ`Ikʪ6|e4Z:VD9`=43 DRZ;L9M5"}gG;?sƉ*d0mY$( O`3`,tS_vmlV 86R;TG˂b Tv`0)L[a$..Iғc'T09,dnZj3HۑH]=HC peBu w==K'ƣ嘯B0x?H=I`w9`\<O>8`1`ZR10tdo%BǞ
+ϡ8b-\%2î+4-ߡ6 ~IƓz$~)"o'~ԫ ce/0^ڕįUz Ɠe0_2l]W mM3k⑝h$~lJW5 =IX6_9Uۉ_2\gVlz>ub~?+_EM"׹+7@Z/N^GDn~i{C8_Nħ_2m lZ
+/~Oo$+ +mbc~ UT/Rț<d:JB Q?-_bj(z+j-gr
+WFW%:浚:!PFWEʪ-_i_/MYq^$oN/.a_[;~ID
+%NYy٠خ E='m(aԯn@!gyƹ A&GcgΣb{~a~1_DKn9i!A<vʿFWgK%%6WI3__/ ֬67O/ $F䗂zu% õr䗎UM"޵ZE^ГQhe ~Iw3W7:()ɂ$_vL/]°)zd/Iࢎ/3R/M0엱 /(b}̯n_i Wvǖ>K`jJf~{*>/^/I4I]XŴnPw
+
+t*zq!ֹ^|8kOع^BZdk bps/ff_e1e)*iYB{m5^ y.}(vY4at^[x:ޫY1i ?${I\ཤ+ދ,Fqmֽ%emphF
+k (Y)x%Ve'ƫ^̑SP!څ-C[l(qD{e|%VeCZbR& ߋSX08!&Q]^8}و|/)Do{i#^TZ*^[|KД]zoWMU_:@+{maѽTuXN}`vVރ\Nb{񴑞[ǩi+y^(þ0LŌWz7Kj*^
+h/UZ)^IIhKfW6L!{it_ov8guD뎴H@roL/<_ku߶d].3;lk y)0=9̫v%ҢGByY@y8lT@^HCA;c(Pv2V=Y/5o)$UښHl,z1?Yc6./sw͟K/)ضkG "tmhkR?oN
+7߻vh@kZfdصLjLF v ] mKav^] ҉/ Rct/7Gu:wtR m6q񴶑]KȮ%:MW_)#h.JjȮO7BSdWvY]mF/]7sd64
+K*`vq 2UK=3P."()D} t
+n
+KSīu)Ք(+.g,^K4x]fqFuajA=x](<s^񿽧8ڼ.} 6 `N R33.=Ũ6lPjC㺾pUp]znijgKO%^W7k$Q h)A0YuAעu2ATytO \<Wui'.&!g2ě{
+˵2u^ju!uqץeʩ[Yus/>R*Qp]2-1Cv9
+xp vXTVub4P] RA[A]Z NvRH"}Cd2]ֳ"0}Muk~V<|:tKNS\2z}(]GGsUY\2ogd.q0b9 Ϛo`Ҫ~*f0J6c"IUs 0Wۯ RaRX\wl2 ьkH[h.W4gtHP\T
+NExt:&6ڔ:Kd.ye^ E?RCm5NzWq04kn$)QIR aѸTIEaqOq=ϹQ\h,.+Ӽ/ᵪ^ϩ,-F?)߿9*i%C@[}TѨ\T'n+(mN[/_[jݺ͕r28+>I([2LR
+M2u֖6}Ȩ-\I[a%'z͜-X4fQ'q/sȖrJXe &Ld 9f`9|-3υzc
+<UlǫZMh=2XKFR#Ζ;a<zk(7L_d^H[W&ji# ?ZJdqEIO_&jo׃H-f
+ig -)鐭hB8SG 3DKF YX);ZY7Tgi~.,iz֐1q/xܥ,;Z,YK@-YlPsnP۸Yqp63K5X:2K91yR1eA˒aͿ EӽPYl,F> ( r3 d{ܘ,-(Y$ 9&*
+7!aȉ1Yd4-LG' 7& p "1NN30Yzem|+55ڔKJ2(Y(6Ś^dwF 6'S4M-A"k$(Y̔,TJ+%❠dINgdf6(YdgdI&Al&%9"<$H]h,<:rߐ, dc!YZ.y
+jQFߐ,ALBi%dIa7Ny9Y:X'
+idܑ2ɒu
+L<Á"Q;1Y?MM4(0YJNYV.c^c9Ѷ{a`Y3dL2g,Eٯ,LVQ1Ycd8>0Yqɢ.0Y40q&]1Y0
+L%ؘ,$v1Y L5zJEѳ^jOe-5:&K Ș,$,L$^[,}[&J{da͜,e:N"d,)Z(~VIcK`1YMZusLMId3&3 8C%JT%9:% qd &,K(18'.&lEu,+2)
+RFWfRfe)7K~X dX{s"p%H4f3ʻ{ٻ0W> `Yӡ%VQ<6 +E^e5:;&]8,K= R#Abe=Wnc,rRpdTd`:K0"" ߝ}YyC%λ,O4my@R,\㧬$ Aɲ#^ Y|ɒ@\4 Y> $=`Y2xK,34 endstream endobj 87 0 obj <</Length 65536>>stream
+Fyj*=WVԯeF&~7 .v0j\w?dQqaTJ2$ 0d!(,>GHd.V (Y[T:b{i$ Ϫ l$k մEdP Y8@4Jbil HfĊ8'HY3 Y3$cn=vj-, X2#!w-DV~wDwBd-1YDN[,YoBL !k 岇,sU߄ F%d Y2^3! !_BZ&dAȄ, ,=+E3W t2!K1uqx#cGY㯌ؠd#Q@d}"'0#X+,E"9RI1Bd!uDmJ,M4Dۚ0-$ e)Yȴ
+ jV4b߉9V
+J匱B|xH+~YBŰVs "Xm!*ֽTV6:P_Ѩzaӫa0ѫ8'U P*'v:LBU.<]zo5UziVdJ*φWQ7
+Ӎw;
+M֜xFi4GWiDRUtV*:gAb۵ Wm%LE>A}h-(WL\ت7$pӘT׈>­f=`]"UA-BW"tt?}Ce"*
+oUnM\hntp8ڋzQ>םIS6bBz#hܪuV5fH*[JߖD^ǨNaq JV-1UZJ# "گgnfj(H8j \EGW59kZ
+ WbL*+U`ΠWY7JK1f||a\+UK%>~.|
+;BPJcۻez*W+v-K*>{g+
+z^U=s* :+5Uk08
+Awhz Us_6,fK'U!ʢq}zĮb$Gh(^ĮZbt(ZP.*+u8TS8Ay^e`UY䴾ۀWqB쎦zP+DW.f/*}%;M*ښVj;LIxTDM*(|AϴN@WiMYfW?*W`WY2~ήRLYfW(EgW8Ԛ$T
+0*ëJf^G5 x2j0E1⯽]EZ`WuUdvR3"LTfWa$ `WQ£|U[tvUNP.vCT8}Եnn]IfW鳰z>y:j;B tv7,
+Ce45*~؞U
+BZb0$:nkY*
+rwpVu -n;m l.UE̪ǪnE|*Ͱ.w@Uſ juiUM J9ROߌ_RNB-VToK> RXRv1Aq ;S^ no DZUstsx
]:}{0ζb7ٷ5VķZZ[8Nk!+-Ůl7}Sk-;j6]tjn5 hJ/(š92WpU`e
MZnu]ƿ/;3Kk6y DXukĊ$I
-4O=:U/Cyq%[7&NMSسunTCc'E#h `S.mrIPe良*xX'uJ롔.. /93xXm~ITGĴM̀3vÚWWKz^"k^gx J+҇_fԫ9XR(B1S(-]h_TT{ yZj>H &[=Uk*FbIGzp8zĥtZP,YO˕bKe Ƿ3S5MbMQ4 y5*Xq(DܶnZVj -Ś7Ԁ1D|Ct5hX~)L(6KN]YVC!4Efì³wՍzА{Mך#XA,Ьjɡ|koZa暥ߔ٩
-Tq>aw+X-񤖜ܴM{~xY*VůŇ2n;>4˫06RBbPwRqFSm}
-?u4`ǍS<aחk%;0es${ASFJ{6d+a&Jښj5H[:ܟ okeJw}
-SE4!)c-!%%ժ25Vk"SF0QTsTnN(=U
-OrL1"/~0::QNd5%m=6 4tw?o0i]ת9)`MYݗRv1ʏ"VIhdq3l^.TZYpHD,Ϟ0\'/^^[;  u AforO H:;52K;6K*g4%B5%΁F͆Bto$1->0@r*!zBֽ~ROީVaJe=cU(<qNaԸ-| Y^̥&^i}6gw5+vjt+
-S]u2&\Xכõi24sVgPN釋nɶZriq[)1/|,U V(٪4j7@},Q T;q7n6K`{8A]'LWVSmRbc>+LvfA۩]3mze5bgj0MG48'%blU}֢V/CĜ޻]ziݣnWIIf[謿b <}=x{ jWBuj|V͝;8+rzV쫞Vf8}U)0,0]
- ~m3/DSDE7W2CTֺ(:\*JQU"4~"Ue˖eQqxHH`[0|!WyWEށ=0ۉH{^ST& ;
--V,4:uu^>GlV [hʬ)L>EsmŜj,S\aE'eE34DI,bB
-CLARlI9#2IŀyUzH:r
-,%mK㞨ÈMR9> ړ1&CBǻbJYCV
-L $['b
-1wu(3_-
-)+vRzm5=A:?6ϑ=Zf7L9</<7Vli\z,AP) 47e'r9Ύ@.6RYAX茔)9qKE
-y<7xo RNcɺ .:]ZEuϻӬtXA9?y2$w!V 07\L?)TTj`< Stn*p3S\T" LSz۩y{m"~n؉,9<
-Y2d'.*c'f'B%,$:|{ڐ"zJWFY]WKZ(fCtkW,\5NR㩊fUBІmyzYX~,t_h'x1Rዝ8iW)83Wct̔
-Hc{,BiquwRV(;S ^oػgZ שl~4o9]oum/9` qjg8b$'c
-ξyf>1<"ƤVXvۆJ#cRl30&V]|zm6 ,Ukq;$@PjB{eJ/=rA 1x[9 [ Ҹ8o *) ĘT[jDeq*1{1Nh;Āi<i= qwOsZ2Qٛ=8lm,U
-(3>;}ټҫ{н,=f`AUMO<ydD"Gaha_Z 8PW3i
-Mu2R6Cҵ;a@RHOO2`L7OcZWߢ(-d.6D,/Q}O?M( D&1)K": X)!ˎY02T*Pm2JL( a""l𴳽+;k<O<4o+"zj6ɷof]
-"w?Ҫ|^aE${0ך땟V+%n5B$wż,HƄqn  P!/_JqaJ<v,cAN>B#tco]}"쓟#S@hUס#!G6Do3͑O{< G+-eh:=P7+۸nD#JsbMzTZo>mרڪ 3/ FR}֪e31#n2Id-I
-,GTt$JX4}1wdf߱q${ji` C-!~^ Zf:UY#
-$ǻWU&XoS kmPKѐ,/LOkqbpL5ywmk[pƾĨe6PV] R Vzwh~soy%&|=DX1,m7yWMw=l[2 JaN@gtZ΁:KX(^CxneJ/Ntn *_V,[ f+V s/л}[?Sh:#w[t3mLނAhZ!|v7+ez~-~Y=>ʂRBL]2_;<)Aʎ*#[><@$oy_ѕ!QZ Da
-O[Ɏǿ*,Kȶ RPXC\4Cɮ8HyN߭-NdB
-P֫ERQ\ϟV0fPSPtbyW^RlUMrL:@j <&*PS9ZC
-iTEi@j?&z,j(ݎ`5T$hKyQnj_L&A\I5K;}ä}!BLqܬ5O=7ܚ OM̀k|/VV?SNz Dh{%mةx:Mbuo욦$̸N_@ɲ$k,xo'Ӛݲ0vM'!u<+
-;P*r]6$† 5Ee: %Eb6j0f<dGҔ$σ)+JzAG@*Yoٜs2M|Bʡ@pihԕb R6A~VI[o3sz 5F&",ʒ}mh$ VNuEv5?{MÀYM
-h-BÄZt֏żf$fRAX|X8Y.sc;N°j<H#D?Ɔqa@}I
-≯V< Ǭ wz+tVmի!Y7w2T)xB=E%tMO:w 4UlZP"9Ie )pBkå(bh5lZaA
-EGD 6^c'0;R=7W"ž܅Ƨv5
-۽`䎭AÂ4
-@{#fyoL s58 ӯvgӴst12zat^J8PA}J0^2dHԬ
-=t=t:~ԗ4:"Wɧ;G>U5)kɣ@oJp_6lb
-MLKa^ ӓ28E[Z"&=ϵ-f艰vZ[>Ԟ |=5_s3bйKh.'̬ivwOVQ6M:j̩ؓ>!M 7d6Cp`nw7mlJq锦M@CdyGq O^9kMy5׻{:h=RTRצ u98 ;M6ѩB9 *}xxqT!(z[/ + Μ+ ZhG@
-v
-lQ8tommfAI uTw0&q%fXL9898&`9a:ܭY _'ZYu0=\("u[k+wm_^
-bﯓJ冢e,AK-u5Ni4V@J 5 ׉d<uzdy8̋(bƐ=gTک6MR(q< RuJ!BfBY[N%T߼^G[B^R>X%Z܊͎QYCIi~×
-u`{.iy^Y,
-ٽ~ӺzaQpEOʽc6fxQ-RڵvI=*Jnwxo@M#osQV,ćУƢK㨯[ )l^7BRpeH.o]RO7#Y,ίOU|G:Kk tt{c`^8`w[}uҶ6Myz90MmuBmȐ"MCܻ9W֣֪ռT/$<),aceC[/k@%J0Jv⴯(VVS^+pyvJZAR_ /D Egప{uоonOnz, _ߘDx*D<* cCӻPxjy-D<zD<+J2OB%2%z%MD<a_"3OcG!u2lD}gPLc!ID<D<zovZx(LD<>jBCxC$9=w!iDdZR͓^`V%ⱀD< f"QxDRxR@<')X KJm5x kpY3fXŖ|KjL<jk O7k2L&k8+53
-} '"sH<U$^#xZ|x?H;! P Ϝ{#o̜V5X"UG*?#x~x#ϞЌij"}H<Ҫ$j\H<T$c$I/H<%
-?H<ĂCH< _$ԊēRx$}x HySF}oVh V$$C3[ģסe$^2"$Ȋ\?H<,$JAaēo!:ًC dFR @+H<~x
-.ќx, /) @
-"pυJB%ѐxăARx(JH< V$^"xRH<jk ǼJF%Ցx UGS`Au$V2/SAFEad$؂$E)~]x$ֱ$icz-H<j_$ԊēRx$ĊC)H<,H< H)cTkE"dEIH<
-ۨ5!8 OV"U jAC $m3CH<O"+O߾"񶒐x[ $}E"TE鸊\x?H<Qx[Ha[x2H<U$V2oģp%!T{E{T$8˘ P
-o@IH<)'u
-OE% %ⱃ+D<m*o+e Xj(,DGz!cBMg"LQ旈F&iND<LD<B3%L%QfPx(!Q$RxR
-O‡gKLă$WxܘWhd,D<h"ugJ&q&ѠL jXxfKӦ:|LKJ"m5xwLă!iD<x*O%_"JÑ:D<?J&qćGAJ!Vx}xR OB%fKC-D<D<>C/(D<"2oAn /LӐxL -xU"Ge"^RoAQMD<~ɇZxR*OʗG2vz(x("JK3 "qr*Dd"Vg!xt~"ABóCS3"V2oFijj"aR!Ql\x"^BÅ ;8CӐWx)"V2oA;QxzD<BS
-Og~xT"*0B3LJ&mՉx\e""JF#?%,D"""a!iĭD<]/u Ã
-Oq
-ģ. [_+_Txx_ÓRyxxx
-P><<G{|yx|Ul Si(<<]/OO\Qyx}yxR+O߼)嗇7JG%
-o5S/kQ=Spx pZpx߁8g_N`~px/ÓRqx(jOHU+4WR \~qxJqxNC8<Oׯ8Ͽ^Tfu G0^
-f΅, Y/8*8<= vG3'DfP G Pgjl+<<Tm/<<ŀ
-O1/C둸_<<m<< haw^_)(<<)ãP>藇 _r#yx<ƿ<< Ow ~xx<TD)u.PPUmԅ7<<OGI쇇yxggEgW+|yx<tꇇGGWQu|DЂzÀ艇g#xUxxd}QDEhJ{
-c?HΗ>.<<='բWHdPTCZxx_Z<<X|ه~Sڤn<<
-yxpC2W#Wxxd2OV B/aYA)ѣyx
-VTN<<}nHZ|xx= L<<}оxxgkUxx\`~yxc@?~FL5s,<N<<}/T])Wyx$~yx(dΫ<<<< C G/Ƃ3$]QC,8<OBgGİ<
-OCWijmuFãM ã k*FSO
-Cqp[8<)4+-)8<Tnׅã%@Qޔqxjmpt_*S(qxW8<8<:1
-f_^ 8 5GA)8<v #Wpx] tRHPqx~ ^UyJ4)8<Ԃc]Ypx(ۂS:|qx+BãC-8<)'Wpx OJI8<-q8<ze3|-Oa Ypxlo?8<gS57
- :ix3 ƃBS燆Q.4<[Bhxc[%#OM4<H>4<LÓPhx>4<M
- w4<Ŵ* l懆gaLã;,4e4<4<+ O)J3/ ̙GF74< .B~hx4<Keg~hxJU
-7'9~hx<_gf݅/RixzhxixJ
-V B#Q_hxtޗ7*2 O:hE-T/ OjѢUhx(4<陆g9LãG嗆]hx3 O oa OTix_4<rhO>OC-sc~axJ`wH|`xw/  ÃQ`x0<?* OGS0A/ Ai-Xaxz__TmYGQ3FG)G)CQaxޠGm
-ãZP`x(gÓRaxΖ_ޘQR`x0<TiPax*0<ϗ(y),<)_jaȠ{&_^n<86N /)`0VQ5Ifi-,y<?,<,YxRXxR,H›*,,<)_Ď1gm!޵2 O
-$,Qx8(
- '{%& 
-O |Px
-GAсAÉ GcQPx}QxL?eJAq'
-ϲjEuj~QxW߂£?C-(<££?*h*(<2>[RQxߛ!%A8|QxG$5$|QxڷUVGOsAQ[Px~|Qx'|Qxނ^Px
+4O=:U/Cyq%[7&NMSسunTCc'E#h `S.mrIPe良*xX'uJ롔.. /93xXm~ITGĴM̀3vÚWWKz^"k^gx J+҇_fԫ9XR(B1S(-]h_TT{ yZj>H &[=Uk*FbIѩQ
+v})oVR_kk_ڹS *]v?GRl񧸇;q4>ngCzfkb!aVi=/0@O/8.?aZDp!0UOC.22R_"[RzN- ,S la*1eDAh
+uQH5GR.S+'t#0WaCsDVnQ2i1:cېNC|Gʘ.O ,֩ -nE:۔})ax(+ifO7FEB D/> ue+@\Th&'<$p,3_#ө謽cbyFS,~XS"(ml@.TIFB?oKj6O!U~C% :1M.^{HUS1”z(gƪP8 xdq[TaKMZlδjnWV<8LA»8eL>v7)
+kVetiJ[ Π.ݒm'%NⶎSc_Xq+Bj=QUuind)qe/8Y<֭Aw/,nJ=l(
+OK&X)qcNlQï6()|}V&cSg
+˞kn9amohpNJrت>%E^
+4}9wAX]WGܮط:YxzTgi
+%KծH>L,%;wvq(V 8ޭW=n'q>S`XVra%Ie9
+D)-ﻙ'(b'`!C{` >:>Mv
+:7,E\]F͎YJD~z&Il|ɱhGtz7
+1T*2qHmt{[Eݷ7-TǍ^Kta.mZ]܀
+T-F64quYb~JY Հ,Ef)D@[PXz,P_RmYUR70ɱTfv9{b^aӪȀ)
+(BK}|ڰ;LvDCA1es5Y)jJ9jھRgu&hzk`tI
+۪8jlGVϓjmHvkqfGFVJ!}1nt<$ 8SKQcW@R~fҟm٬:\ s[0Ӱ+8<q^ qG.i\od4ރ,ٵL<u bt?0}~
+Wž.+[H nϳbDLXrjI4.$a% ꖔRb޶T:ʊi+1$j-Ӡ=Qk2+t +0nA`0@K2O/y+ CyW2:բ"b'u]QcsLOo~XQaqÔRscŶJ_ƥ>y1=MxS|R-tObl#H{R*HQCY{ +;1[?暬ψbۥPT;͚[Jhˎ<~ӞG)Nris ]B\~O[i
+Zp1E[Rw*=3?N,*p1šQئm^-.r熋ϒS?ɣp%OvB@<vR;nvB/l1)Q"Bw
+. ) MzhOudb6DN|F|UC$U>hV]%-mH1kچ='rMG~ʼnv(!؉vRC;^;s5)NL؝<KDza(h|1\w}7-%`lB} _j|?U~ʖJL#yL~xVRc^!xK
+Pa nvC A.Ir0ߝ7k-b9aLaem*10&V:3cRmixצipR%C$I
+)ZlKuL#ZIgõE;ϭV]}"IcHxC큠ӒjNQj3?%$M >6^'CKя0T)-#o?,`1T-];S(j.ĈZ$ ̄}J4u-ڎb
+jNiCIJosڄ@dRT-ҩR_ #Ceab
+/6(ӯd/JTr&"O;۫YB[V#XkC"N-6i#|j֥)r(%XYD2S^ ^iR^c{y D2}7\JdLP.U; ă.Hn2+D\< *I=. O,>82A]uZ?rdsJtZ6W
+ΣȀ}^^^޽uAZp3HF=4G-&ل/ Gù>v
+,;`$g*Z0:&tJrrDEGbANMjAsqG6 \iF{I ̮F :E۠e|oSe~<lE3)S
+Ѥ< O'ǻ#Փ+OPMrPyUP`e~n1ḛ5T 7.Twqvqfͼ]g렎?@]6X\l3 EPXQjՐ `E wg`:GWRhr۳Kfp!޴wW%[K< `& tH(3tվ5;VD7Ơukuβ`b 1w׽Չ3Fa3A9|-􋀦R'inw^Z1Rs,(%߁+#5Ódx2RO哙S
+|Ui `&5H+~!V\դ(Ǥ |oQjRҎ/<%5FY@5QәjbQς VLLAVep:醞6d¸.1T7L!~OG-$~ATZ4sí ̧YB[9=oe53UP {MTWb>߆gIʩT)ơ^ƮiJI5 d͜,Ob鋺"v2-ˮ c`t2b:_dzR )9}jmnZUrիL#e ># FyW)dJ
+PiP2@xPq{Glp4ӘJ7"C2lY O`4ݩ hz e^OrjcIi݂EIqƢOSz6&))-%~?+5X!1<O&۝9 mٽ}P@xFܧY-fW{ה(uÔ8]ݯ6MP0fRiD!p&ssNDCzXuHVFɗqoJ啡&9bH>P;"*Y5<Jg
+//!*#wM*7J@s x,(|t? v'ה{GidI_}`ѕxcxMOcx )kSY}-׵kS@"lx RcyZTQR$+FkxSkFyCFIx$MyO<BRAT<~TҝFɘ͉<׸(+'.**h F]) %knX]~6<P#jPmmB[Po--,6zfO}`TW iWXS4 Xt2@-4LHʭ~NgxZkF[Kb&.X]Z4ȇ2<, #A/Ki1Bcl 'oԗ
+ )I7nJYMIAH M96z<UmW-R4֨W]̟1: njO`R pSnCaS:<\VZ7ۊt߲-<ӓzo^96y{ )ъĶ˿l(fYi*0(3'Lv| W-f>\H_dK:/v#h9X)9ex}YvL&mzRU;K
+ؔZUW|Vwu-('ݧ. 6Tu F5d Ub S^kMaB~+oOHkofހO(<y2ڳkVZtZG
+?b#Yk$K=VAC4Fz-(*&Z >Pd[iĶAm6w^p6HcHlvb)Om0sav(׋Ħ5%=bMoR;oijk,; e; j3`{@q'N=J'huf\Ju#pgQ9+Cl(4STB'pT}M!YUɦE!TVP'ܯ=\.V85T `x {4oD 4dеrT^AhwKERV<6ۍfjh%jMt.,; {.S8]RgԆ##[ |es$s1+.瑑ތF[62óRH>li{gUQqbgBqCw}M^xtb
+ۭUrq۴P=v߫.߈aK츎6_be/b:M*{9Tfˍa>~shgM{"-Fb18D/>J<jApi<T]n1|Er({:J]f;C,PtI
+a5qRJ1pP;#zӌ>O|5+", []h|jWc F4,H
+4^Ys*=0 2lt^"n s;3ey69R'*)9(N`jE:*$$-}NW{OڒKUl|n,.Z
+N}/!Í9ERe(C})6=* XtS&
+UdF@Ta}K> 7ScEfm̭Y KSR:MNvl&cv>v u[|
+CwCG}I#yu-|ȾsDkcPUYZ < 漭eAp*VPù} >M'_`pRR*.ZGD4^oQ gљEx >=۶
+PyJ0W9j~Iym6Q
+#©wU"/eek9Ey(y-+`:͌䱜ux_?bT|O.:H7PxRTCSbe`NSL۶s
+%~VmG$w)jjil~YHi.?BUw\?āR*9Y1t%ɫwӎ5OkB5$t+ۊ}UzU8 V +, R8k>H0=T<J]F*-eO)h?'hFN;6An|%.*Ó
+fnGr$
+>|fV\eC]i7FWd}'oTR/sVg__1 *ޫjؗ5q;WhGd+sVڒoaZ;})`S! Ĵ;=)S+_Qݭ%b\[oh6`CS0 <<,X
+nU!(050Y)އ(&㚜ysR6oFY2tR16dt6wbZyU @Ppӝ1_0tq{sZ!iMvHͩ|VTSzǷKʓOsϽ&c?f3!
+_e*:7on{5AVLrK,GPUD$?pOB(J֢cm&u#[L.Zvi)aQ^
+m,Q>Z>E[{lzx#$QWRF%t3ZTULw/i >In@w8Hw^8f K+u)v!Y' ,mjX!kӮ{!H)* S4nV'ּQ /.
+=ν3ye=jZ LUBPos6va[&0T4xj$k'Nzhi5Ehg$1ax!}BPtY W7+X vnǢ5YK/BģҰ:V?D< BӪKSP
+ώD<>-$T"-xZW"J%1CK4v"^'KщxD<`"JciMģaxrDf/D>t9L ~s"JJ%Չx*<l_" LIk&H4/x(' ēZxR*OQ2U+@$ V]x
+@5lUl)xIɷdģ0tL&kVx2P30^xϑxR*=SIQE5e렼 7;i[/[Ux3g7n|! H<{xzO*ާ#A6ɅSmNE=A.H<SC,H<ēEIH<)GMڀ7e$Vo5OjEq\AI 0/H<H<zx_Fu)N+/WAiHNēQB$6H<lH<Oi4-SI  񒒐x[ $^_@1|xh*\H$$^ OH<Xp$~+2OjEu 2'ģ p+Hd$^RPxZ}x4$^}Am%#H<dT$vHNo@F-H<M_$GmAaA⑦)H<ׂӬEIH<)7pAIH<C :ɒӀTxߑ2K|xʹV$j*ON_$Ԋ P
+ H<m+OYoxX$;}Af?#P>H<ԌC(H</O?"+o+ @) QxJixJW$*Oj_$H<
+WO_$GE⍳ P  $ԊēRxRH<\ wAٳSxA!<#@X[=ӗ"XU$KJBm5x05
+Ǡ"^l$gFm5xģ{ <g~F?H<
+OJEI"z$ijc~x
+V$\*OD_$"񶒑xIu$xCu'D<H!I)D< ~x&f""!ibD<MLK[D6 D<
+oPK4^T"0+_";B6RBB/xԯ"8o,t&D<e~xkd"JăKC,D<S2ϔ_"eRx("E"'$|xdD<HrǍzzFBc!QPxd"g D<
+OgVhD<mj*wD$"VqwD<`"Jӊd_%ID<
+ӌKēZxd"G|x">mGЇ'$T"j־D<BL?D<BSN!-!D얉x1D< )DЂ \%xz*.^&%%DA|x'|x$
+o!ID< ? z'GBJ&m5x2OOGW!4-D<<[>D<>3i!m%jD< &"&u"ƅI]!/+D<\
+ϼ33?D< yGr!m%D<Kc.D<*o+4GY)Yx_"O]!Q[x"JC)D<}D<)ևVx5Dd"V'/Jӣ% D<)KēZx+OOe"BU?zxۓxIIDOJH"!"a\2!Ɱ,D<*^Dl"I$e6/"B!i%aQ!Y=vKD<DjoD<?D< G;o!m%D<=M'C#A_xVU"@t旈M%/
+Oǽ,@<)GH#TxT s/O
+ēSC)
+xT B#_  ēf ē(@<+
+ÓZyx.ϗW(<<`<<5VӵJ<>)t<<xۗ'+ϜR~yxxJh)qx$H
+O_]38<V3ǸPqx c pxy*8+O7b8<)JI4TnPY/O{1-g78<*C(8<N𴈩8<} OEeFXϙpxZ e*ah\8<>˂9r)Ypxs>8<-*Oӳ`w4xBdpx
+UOOXF]xxp><<}#Txx~xxPxxiPxxV$xxv2Oʗ/Zyx*cQ<oNX~xx~QxxtxjQG-xxЉ<< HxxfIyx=WAg%ATD;.<<fPyx|yx
+CSxxR-z<<DE5 ӌUyxʗ}xx9g~ ?<<M*Oã7$*x<<RzG./`e@(*t9d_=:
+?e0^wÓBLEq]8<zXdM&<Aب:yóNãlVu𺐁aKpxZ}qx$cm`.8<r~g^_A(5(8<U^D3RC-8<֕ᱸ-8<S+Oٸ(D(8<Jn>8<ԂÓRpx>8<
+ OI/ B[ASKS4<. Μixd
+ OKãhB*4<퇆g9LóZq懆dZѡPhxc}2 o㇆GM)qfa֚ix+]hx"7G`ᑠ-4<ҬE/QixJ}ix"t3 V :2 OJIf-ZK#ixs4<zT~ixمGN={AoK#hxz+  Oc49g<vqW p Ai(A0<hy |ax;+ `ւ1.Kц)Uax*
+ 7c`x2|`x2  zۆ0<>0< R`xv/ +0<)7ln.a Pax* O5l_ 2
+Xpz|
+ “eJaY,< * o o eccSTk[  cu\dn›2XXx('›4X,“eM3 o1p2 /]K+D
+ DQXxޭJK FM\ƒ`Ma5BPX9
+ORBzh߽PxRWBiat+
+پXpjAI(
+`jA,˝Qx
+V^E-(<>(<ԂC)(<
+A>(<2
+#A)PPx%R!*
+
+
+OZPxDR3
+O}[Ei]Qx~Qx4źZPxR*
+OG[~A-(GX,(<m(q*+
+o+TJ:>(<m{+
+:ƌ3TG
+
+o\ѺQxRPxR(<67oF)PQxII"[ dEZ((<bnK(<`0gѻ6SLd`#J\Px
+
+/
+1hw,(<)_a܌C(<;)h)(@oۚ(<-*
+U2
+_0)(< b
+
+ڙ
+lj
+
+EY@BQPPx/
+ 2
+OܙQxD
+
+,JC-(<o(<ݐ[JAᙚQx
+ψnI g{DAQXPxZ~Qxۺa(<S~PxK\(<j
+
+
+*53
+tAm%(<uAq>(<%hREQGAJFI*
+OJEItee62
+Ϟ_*
+OW
+߂QxK](<ӃEᑲ((<*
+o)gjFٮ,0T^Qx=!
+*
+?τûƒRPx|Px}̊£lQxԕ^R
+o'U^(<*
+
+35P
+
+~/
+MaA)(dV׉9dl?(<GAᙫrFE)(<h
+ TPQx[)#A WegLGSAATF uA+(<T(<S3
+ϔ3%sE$Hg (RPxtNr%T~W
+`964F=?(<R
-
-ς6AᩂQxI
+OJE%%L(<,8
-qӶc(<~QxIu?;ZPx('cXPx+
-k
-ofb
-?#Qx[(:ʌAY-|F+(<m(<$*
-h@F 6y(<nH3
-vǂ“E(<³#~Qx02
-V漭)]%z
- ̦&8_ $
+
+*c{?(<SwA/^Aq9MA N(<m(<!AaAgA7TCqogKtQx 4
-Ϣ(<ԂC)(</
-; (G<FQPxVߑQx
-PxGUq=3ą£)R3LV2
-o[ƒZRPx&UuTjAd/
-OT/
-@WFYf#9Eᩊt5*
-/) TGQ[Pxh-(<
-o+ԅ_(<=_)RPxf2
-C
-OEףbrL(<;
-x)(<)Gm]AqǬ(<
+o+@i1RQx8>)(<sۘ( 6
+ϖ 2'
-O/
-6/G]YA%%j(<}REu|Qx|£bP>(<S3
-GqJFm5PxCF~*g _^Î
-OU 2Pxz
+W%3
+O 
+o
+\Px[(
+FF,(<tF)EA+(<35B-(< w+(<)AaڒQxljdA*VV
+o g1ÌAQx|f2
+ogJq³F_O]AQRPx~QxF_I(<
+p)(<#
+[BAᙚQxԡQ
+ϺP3
+ӲÏI t\AY w[}Hx
+W޸V2 /N£§iB“RIx(j&Qj
+ B£(HxIuX )%QjVHxW,$< OIx2 o) ioUHx02 t𴦬$<S~Ix[ ΌC£W4UW]y1GCdRHx
+U*$<
+ OIB[B&-1HxXN£C£*t+ 7$݊e:inI1L$E>Fii6>Ce{1b7ŶSkvp_hf[۪i1pnrz+vb~^ԡ]vk}<N٠HOZ4;, ¾ͲӞ@Fi4 sO1f"ivwI9v ;vjeq!vɺ8? a!ѾHx:
+zfz5.Կ[rtRVFpΛD&]>,]/k)&}@'uǻtgF5 G@'o l&еAmYt ÆkT1ĖkwG.J(0./.l͟K.hsd%H9egolʞS!ҔNtMH<'v;'hHN[HԹ%t<fΒM9}\-C
+8-:RggFm5r.B)vwYr23 k|6Z\BEy(}Mc8mD<w夼rN YN=5=-Ư1Nc6,
+<6
+`YIN۟^pFh ݮYaόl8o'6\'{ʆS^{ņh8Id8̌h
+Te.?.K ip(}63OΥ0q03xIk Aͯv. r7<pp0.NF GT{#ߣi$Wpz,P:`Rp$]X8 XDd, g&CQq‘8ӗ‘4$sxy (o5HBo897"pA8
+g9T8 d77µ7RAs-KN#t;ٚv< Gpv#@ aBb
+pzO+}'o(>Տ
+V
+AϢ1%*yʔ
+kTFӳdOX)఼҆^#(MpI"cᴆ9 Nߟ}Eʝ*\sl(KC;Ns? 'qp+ eQ[ypZ9 uW(MYYp j!r*1+ N}7N:=C psC 8Ξ]
+ (5e(7[Ez}ߴ02o6٬)e(<o t6MIwx߱pR-
+E
+M\7ӺΨ tyc7->f@q'wA`9nzws*K&%-G'vD}|9m.솝n>y6M YgkF+MPS1nwEB)O_Ai#n*G;7MpێtS×VtS}ĂipawPfEucF3S&Po wQ݄'n
+<QT7VriYnWЂ56@饦$ԞBɩËd禞X
+3M=*[0Qe!M
+n2@M#myܦ3-%6UXz1n[m%ݹmw6WS4
+Sж3eKvR*hujŔb9m'zGNeȆW?VG*&c}_k3mxcqT1/;*GFqdQ$6_6u[ע!
+
+aր5*/cz[P5/KdX3U5sH:+ X+7LNEo9X06)Mu: ڻaldgbI^f5/{ؤxhsHZ<Z[pa9c)3,6U 59d]c~)n``bSffF^J 8M/gf5o
+ch8SQBcjQIU86/(7plnp TTj T(DDݔilE$06*I^alʥ=]bckdw Fo˛ݩQđi^Fq%&ֈal:5r1%L0lcSёcSީXL5Ю06?40hlM7|Ʀ_8ڨRfhl6͔alcCe06)džI ck7XM/}VQiT'AOHzal[E7c0`-IcӸ%cSQMGSo0]4 ̄bcylK4,`lmwĆJ8;PlR6$fIFgڤE6 %>}*?hl*?T"77,ZgZĺ^Ʀg0pƺ>ieflklS4(Jc|QոCU|،+ޕF⠍McLxƆ Q346*yK2 pс@c61AckWg7ֈ=mkwp\46}[r{榱ZS[pl
+-uFK-
+,$Rņ}f fi|h",6< '"obC9|C̖J3COl,PQؤwBQ'Y,>IlIuTᣃؔxO 66Ķ[L5@lƟ@l`ȾAl U ĆZ@l(Fw7 ؀Jf 6JĦ$v( 6,w`a$6 HlSe9HlDL$gX [1:}ƔȤ$6W*UHlR b@ݬPM)<njmBbmF8^3ޙĆ*Hl(,yV9ؔ!6Z8DҴmh6
+ /y(OGHư5y:0o
+ X5K Fu&™æ
+7
+¦00a#8LU@Q
+6"}T
+js8RO [ia#K\"8l(ÑnD 6uAbSײFAb{=H؆a;.(l`qzCb0ilwSӫNak5k1} ŕ 6pOڱ{)k"&/wyjD)i]׺uMDH 0D3sMazUR"}\ IR{f=`nˣ&)vm=~g3wvAP* hmxn i֢Da;*c&q-VNf|dRX4Qxq߇H[M٫W Vv汙j[hЩjؼ"3 T#T#i
+C'J<vCiS FƟL(5H{:
+1Ҋ3E͵P'hj;G
+"[yͤp. &iDa=͓ y
+ɓr͎ x؈s?օt:~|n{j4E:kӆ"2jP LmTTBg:5(5 jwˏ P.ψ0䌎۬w({ 6PV;SgJ[dAK^05P2nӮ>Ԛ!zhsfdj@d05*KIDfX TSq8SMņWw%xhx1&q]eo^%Z3Rv&6{*`޻>t*>uv=']m?7 yU+*ѽ(;R
+dpϕJ-TrRwh_r|~mSfS嘵sRgk<=֖z94kBRo
+̆bW<)@i;)_$K59DYP ~0d%.P90lpn0~7 3@l<xo +ڊ2YSs+)W1mG=p'v<6Ac^6^y<:
++
+Rݛu@
+?i^c8j2jJU}o3:ߗl0ڒz[bnqӡ5STG~u
+nR$%S7Wҍ" t5dH'܈x%'7^Tp=~(f2;SIG7ξIymaG@6'Xuޒb?EDuX_Rcے 60SumYT:u]}?.J?% ]6N =|Ekj9N#0qTh:U6]H4Q50T*b'T@XiI~[/o1X
+ó['ٝլ Y7ﺎPP$z+z)c< @?nC2 .cUZApk&gT=+kL 0F pC '.8yZp3A+ݒ|\|jV͡h=Rg&W8J/ z!sd:UiEێpJ>uhmӻ~ܒnP-Ooْ(oWgS?ȦN8s2jfRc!CwVatK_]R(2my>T-яoqCo=`=
+)t2l1=(YS度iؕ?gֿ-oԁ+7[)qz*e.EpD[6ڣ>̠VeQTĕ=qq6e~ 5Yf`)DLzT"\YUХ(@yPS1өH67<eM"*+XR{>LeIIv!IgE-
+wQƉ}QݪZ`ZқL+TwKѾ+p)bRd77 MhS
+l{60fQ o-DX*].7(LITѣV URڜ ц:Mag˔b?Y(
+WQL>o#懲rPwlfk.PnCMg-xo=WLށav">c
+ؤ>fRYZI}}[̵)io9nCJhf2dSIi(mFuӮr*t(~Q/`mcAB,W1tM*'ˁp ]* c3q`I%"@ȫw{Ww^OR31ЦXGpeXfZCJr A!Z~Nc)&U&vK)Ʊy Pol7ԝ#y8~#7X v7`\M5^ϒc
+eV
+)P<`͢R\%{Uj՟aM
+'mcˊ57g&{1D
+M;[Ri8D+n$)
+޷#j D}J%:4ʃk@;w8;/
+~rqtP|n%]K0/{)'ծbD8J󐹄žvk CE
-\~QxɔQx<@ePS9IEQ35L(<S~QxZ2WJB
-4xFрRPxX>|Px.GhA$A X2
-OJEᱻAXPxE
-OcDAs£+T^R
-ԌÂp^2*(1
-“ZQx8uި/
-OjA|Px“ZQxVjAqfA~CE_*(<
-o(Qx(<MBQx[ #/
- 3Qx[H(%
-Oᭌ+?PxmlIPx,CQx
-P>(<}|EYB=v :Ljlk
-˂Og_#X[Px[(<S3
-*Ԃ³p/
-N“RPx-PPxANbEm%Px3(<;GgFm!z(<kE(gC((<P
-'3/
-O,h(%GjA 5^((<-?(<x
-Ϝ2
-O!/
-OOpGՇx%!m%$<*|
- !/$<)!fUHxp($<
- /)T'ፕ
-"_f8%2KCy*RHx[ V)XA OkJ3嗄 XHxy>$<zE
- OSu%ѕ!iSIx4~HxL& \%bK£-$%d׏e)$<>$<2 Ow!3 8 HݭXC&D
-Db[cFos>Tp#v\l;Fm'5f@a5>鼭*6,NnOYX;m!RZQa'Eʸߕh-w;tܑ $kE~Y0;*{,;H dNZ0a&6ayW~?c'oc[awb7q>q>;vl틄`B-qDK\bgu4wPn+!ގZQvXdo]Bm~5^lj 6-&
-kj#޴9 V2z
-YIOd"е}"5b}OZ
-5fBsʜ*Zѧ%d1$é$8`0-juL n .E),f3'[Ėd6zDV~r*!oj`W1r6\ r1`4N8XSY`9Ӷp5w'a I}I,Kd9zi#0
-7=,x[r1b>bȧ*ZNߺh9F7Z-G}͖#
-WfˡDl9t~)r纝-oΖb}fVu6|)l9Ʋ3jy$V#
-.EՔ=OaMCۼŖKJbm5r)9YrzXN,zfV-B/dbǟ-,9ʰvgU*d9\R d9&ӡ_LA}7YN{/d9S")l~q4jCQr n>;r[`:Xu|')"XYΦ=}NËsF˙Ma8QC -gr-WUBm%h[;@RSFqG.Q]$oYp@g3Z'g67qj׵h9f{Ǎǂ$ -2 ,5rMu5Z LrM0V6k;
- r]V rR~U9әr6s&LC[rz6ANe.rj~td҂ Lj\~pG
-@%RD(
-3ሗpj)*N! {Ã d_pdJWXX8=*Q ,Iy ۩r,
-N*U( GM؅̀EDQJ*pVjoX8.X8} + .:JC2N
-cpS8J@v}s*\{#T8w۲L`$z?0B+AYir?
-g=&$p wvSpopԉ,*SiLPfAk4={>N(0"mxK5 Ǚ+2Nk]`Y-,^_|^dNIE>džQ134?SpG'
-"~;w(?8i,
- x6M
-qmL+wm:dRrtbGM>ϗ",nIx[ngcԐunth]B<uvw[.8r rqs#T
-8L70|iL7~qJ,؜vukq:YT7j43խa58pM8zP'Aun,{\6v
--nZc ^jJO2M):=H&xnꉥp1aۃ Um~riQ&qy0U@n4[r ==<fXq[˱2HO3@^'
-7YMBM,Q^ᗹiݞ9m;T__C1X {5[/)CkDp۔<F'+m:RAnSe]6[ҝ6}לms:M0mm;[fh9$!m'YVL)-Ùvbj7I!xTϊl {au "XYm28ݷ5QX&x9چ8MΩrdtGM"-iZQAhSe{-J10 Ц?!X <)ulwEiIj$lj9;je;y̷CvGgczxbVvly PyVprec3gԹil
-1X8H:S4A8Li.!)hlƂf+cwMcRՙpܦzT\4|R-4u6gZa*Ҁf [Z065
-_MV5Se[3DoҀrC_TcBQ$]ؚyFx&e[7M<ɣJa5 s1><SbSePCfu=KiRj
-\,,6effT~f[#j9f03+46 [5c?/z2;
-~F
- A%iIFp@u\^BDD
-M&<`l\DLcC4YNƦ\U(0Hvz`fiٝEalPbal{Ʀ3 h/[/Sc͖ Y06Y06[: cәOX3֔{'hlk*%o֟(8mLV[06T.cr}l+0fO}ڈuIge6~;oAurT7FU$]QpCx*06 ֒06;^206talP:ckE`l{s˒\=Aú1`_H:]Jmݖ€F&$[ i~{EDfĬM @^cWͿfͪ<a|L~#m[B Eb꣒P gMgCr,q"xL7?炱ħOS#U_tM%꠱@46;n碱)ofEƆkd$il;ܮIcŦ/ᤱ*hlZx'hlJc36/S}:*J mZf\46l4m_46dil؞j
-U<Ac$/4h4v{eIq&3hl&vIcӅZ%hl=ԲڂcShS86Z
-l86c9]F346Ly-%Ԍ`:E5F5C'_intalR-Nl06| vۤ&86KvzM{'p<6 MQfi`kdGa<6]A᱙mj[P#ylԭz@6</؉l GiBu=w`.i62ٴ೵I04|_@edS](dt5^F0;w$[7G)!ka`dӚz-ɦMd昌dp"]>DM |dU礱) `?3b#ڟvCkv'jJڝņU`;B&u',6u
- 84XEc$5<=z$+/Q6{8AcVx$1>$62i4 eEbLŸ
-M*A H<%R- b[SHl2ݰM]h\3'kF;PYC pbŜ6*g3DF+0
-X98l •j*acg^[7ETrJ䰡b6)<t&ŋ2&vac/ZpP6TY6=83#:NaSp*7)d
-x
-Nq8So %d[R<@1u ֨ KȀL+# ;θcZs^5n/p8 l
-h/6Ô^a#+G6GQ#`İ5LF6%Æ2F
-bSzP$6}-k$X3E6~/ tAa;@؎Hs`;؈՘:}(7sc毑oį)5
-v^f5 !5Q&kӫ5Ր ZH56v v_5Ik(8ly;֞aFp? ,WY@k sl`N͐5&bM/vQ67kմr2-%Ֆ|JǦpp%Ƌ>Dj%j^]nOڽ`{7͌US.BNUe7aAHgq}LOQ:TO@ԄԖJKtl0Ҕ6dBAQxϏV;S\ ۍFs
-P{U~B&@m*fVnPSWJ;M.8tNe~PQ#60i-xYgb?&Vzy2:Mt9M#4!q0n\vej,ST<9iKHȴ)1p# LS=[ 0dA$lδ4Y=Xi|vUTzo6YMP2'mI# ݛoCGڀ3Zy<$ML&6IA>S;iU#^v∴{*7@X=H3s!:B&F`NHkLTі ifg
-"o\
-`ܩkP# 2#sMDMVc"ҴzzH6
-mxDgnRy5'A[y
-I1
-G[1 Nlњ$+t=\|1%іt4mL3M8vqW-) )t'im # ܖֆ7T%M`=$M% IC !it{px?E?*3%mV I[j@EI>4K: Zy&$MhȐ4x-4">g)f5I:Y@Қ%7͐4f4)4Rc&朒EsPHMJ~JktJa_KSH&"Tx賦՚j
-"y0O Hl<R<}q<GAaS5@ Υa0Ҥ>͑hx9y28 3P{(8.OF2@K3HGgM0L@õgԬ:!TA<L޶OBPd=3" [Y<E'`+Hq6:"$>
-HO|(UH[Jf%iTP4H#~!%ieĂn Pp4Έ4T;#rs3"i>[)T%%d) TGY
-feޡc D笛2" H΀Ҥbi!D;ӛUCJ!nAs4L}ݒ Hk[ M
-{MKo2Mk젣WFS.@^S(\4 sM%+q*2mAEۧACцs
-M-MSG=AD{f\@??˟sӆDy- &T8q|<)c66珡u!]|d yZ%T="S")D1O*{<AN Jn;c6T<3"2 96J^> eg<Tg҇2YP'RLM<Ԯ+Ok?8f!⩩3٢P3v;́jͲRQH#Tv\(TSn]qIEZ4>_e̟j܆}׾@b7g# D M^
-Xin13g6|5jO~]?FWͶ8CaՊ
-,vt/9챔B %sR $#ڗ_۔Yz9fƶhm*OOf/ny5Mۺ؝8c
-cr{
- RMQF{/&#5T 6ltAIlb9f n!Fg[# M̹/*o;[uŠ BTvf419d܎!hlkӆ™7IsP4 M2nk(t^0LoE[{LoLVD5"::*??*TBɓaHhAi`HmO*
-,Tz2m:L*}aF~cX񸯯fڪnFjXr69l'5 A$Ɗ| ¢E4>M~_l)2hE!>ΌP ܽFO[@`ϾlRּG"G[{)/.D)4P}24/ieAћ4 ,P+y!I bmۂ8J_-ը]3MT\M284.3Wb~ـ Xlma9 R\Qhެ;LLE;QOCPmCyPېPS*G}E{9fіsCC?0hMu\)pg1&eLR[;u|%=(2P>hN_Cl4kyR͍(ZyH-3x/Ib0îGٵ4tN~m?&=4;&YԶʇY[JH"k[)Pu#rݖn!jmC΢J)PivT9oN¶q CE.^SϨwr1!3\D
-'\kx69>X _cj9X6BO d8,agkp>>DwKrYQV6ڢJɚP_( 4Dt(KҊ>'(
-|^)XAfw?Ry$ݠ
-A[ ?T*mV;1lJLC?*CN(o&5&2tgFGU%™QG>nôM۰(he~,~|뽤PqJ7e۞S^-"0k\4%2:P8s>u窧n\R Gj= jUfEJٓzm*^懼o_SMNQxZoBAʤI%2ʝUEݡ ]5u3tmc[$Rٳrؙ*(am/hNJ I<l-jhHEqKL1Qk<7csmn kU|(؂;Tb賎Of-Uv~m;Ig,.zuᣮ0/8x
-l;6%, 4;ɁoI/,Eَ1*F߶M=bحb)-p>2μ7uܸަcN 7- mN%:g-yW3SjV|]X6L.m{m]jΊz"߶TŢHqWgqo.Rb0S@q[Z.Xe˃j .á0On;CN><?8ѷP"[U랔<LUKzx in)v4EL~B wJ_ڞm,q%OÚh+Qź R)*z4jJ*@
-v[NېE,Y <z46|iWCms|?UӨX&X⧣DỤ&]ӃJr`;-fgba[!G}}&l7DWyyxxIҙ$P8>q*a muZa5TZm@(k*U42nRUonm
-7q'$OwSEwZ2</6gNmJ(̦tůd_tP㖂FMJMet[vKKa[=h&懓u;u~J)lAߖlTFhfm*L`vRcYOUIN(TͲU ӯ lAYRC8f
-Mr 2.N?c)##:S7|~
-+\Zy|  C1 324&jc< brVo~XQB
-(0EoGȉZٕJ*4uh^=G:v~pvN
-,
-Y2 
-&
-+ͭ$Ŭ;3:0+d'F S9h9
-q(`zʼnBUXv-MR&Nwiq!s }6)4p͇Tas\&yl_RӈG^Μ_&Χ<``),"'sROl90`-8)pR{! E8Fvl,
-TF=<SR+ž  $<*Ox)o E?y[ۡh1r\TT;8-PՈj#am8ǁD"遺1|)/D i&RPX(>.eDg/=z@!t<=> X]v #
-KZBӎ`8T _{^„ji6!fvxnXE>p&"u7_L8Mr[t8JY):h]m2pb1(J@_Ek*Ȫ7+X::v]|Ö?щ@|Y "샨$ 0#)u;35hmV8p?,^&^w_o<c~j9ߞ…t6h8gUH+/_ owU 2H
-i~>:Ot7L>`sra*
-D/`(g2Z61s=m JnL"P|q|w,ϑ8(DM !;Ӗlcn)#{@Jބ0;u9o`]3a@3kaTtEcTc&WE g}uYZ>VZvjۇèTBlgQN*fXn۩,Ykj
-%cAc JQe&
-挓rsWjUpMP~|WFI]KE:'&dyUQ@3o"XZ*eIJN%qp(t7'ڪ.ד4Y}TeLVW9Arz٢:43!U 4AWrhڀϳjIsWkk8qlbGOk<uȄ"!gq&XrQ9~ehg uMNr(*59V
-68"ʑe}v?Sh<pC426#gڢ>ZX9}9v;Ӵam6;<:r+LO:U4sxGh潟 ۝=4R[9"1fbYĽ4ð]UE+}3ɽmV<KQP(tOȜEY#+`OL-la}
-RNIa9|<֌k"&ǭ<)'"HU4jF$I(g6@-\vfQr䮎 7T0{F?Wtpj~KebT
-4+zk"؟5DqJb6vjjFd/v3)\͉J`Ձ?K/E㶌5@:HP?BlH'GV,kiH %tRb\YkCߌRRw㰵eևLF[!z͐tdnMH
-F;Ժ6tl@vxgJIiV'5t0V-,0tJj7~(wD= #(iܠb@m"F V2L|Dҡʡ@0rhԕb Ʀf/",4DM\1mmJ&: |`h? Rz!-To
-$L[Q6<H 㣾IfL%O/RKb&.Y;^:zl~;7&mm2+챯+ RPPu? )'pIu$ZN8 ,}s F2AJaI9:+j^EϾLio۷EO0S\փDLЌAT:]9dĭuR"ҌdlwI 2Ժ.ťtA8=IgxtslHTD:Jy xHVs%&%|, 8LefTT'sc\H|t#bjyID:E}vx-'DA<xI;#5G[$Bl!wI\Y?
-5V UڑDOU AvmV Q v$%Y7`lmO95AvGM2$nn;U)9te=D+dol1&Q۳N* <RDs9͒|kCeм0AfMTeQfX<ˎq>o,p( ӻ-,&NG{k3^j\(mzJ Eh|uv8v땜T:-!|p%w[!j,,#%jԽh_@y<$eRPOw2?)ł9.ăy>i{4{O*~8Dwo?IMBs;b2p󔬡*r
-uYM(wqπwxq¼R,O~ؑf>i$TSi–mU%˷䜴\HZSU]2ÔEwex*NNrD}Rg32ݡ:
-'eDݬY2 %+ %t«o *v{'Nw LGЗj+ ͺ˓{Lw&N`s5( U}d:,*E
-. 5eaGu(`xX
-lCANY"pԄašp4Rl`ޣG)5ӳ[Sp ""䬔b
-ֿuKuPvJ <34=ðY-8R}lJsԳ
-IeOMt$
-#q[yNξ[* awIyj9u7b7kϲȩjM7q[XW<-/R=V83j3l-ٝS?x1`': cbu-̈^jo٦4
-NŮdhvX+>{by׫9Ǩhb!?ANӆm.شu/A{^Ua,~6S6/BQ;*j)
-/-Mf=.Ԉg'P:<TH0UΑ?n`1ߙ70Rj^ܲԮdJ
-oj@{Ȅ3%ZaQ$]$x7y;7i`BSy k0
-Ǝ,T;INVvB-
-59=NTeB6-#ml߶sԏQ))I"r:hbw7Fvh gM~ an 
-6NH<!
-~vB-}=˖Rwsd`=uGFi1w~WXo8+)rT\Ž=v=S?0%mPN۝˴ ctfr/!"p4`ZfU4@}"AN#sWk{ۥ[nDyBI$|TJ{]/͸eO-)mb V|heׂ<cѳ9łW026vS%ST.ه c6{wE˘KjD'UF'rPnX2:/q*B! Jgl4E9NŴlRVܳB@ߡjn'>tI7>}m9Uag>;I>IZNK)+c8v
-=a`%̔ġVTћ<ca^V^<fMډӾޢ
-ᘓxR*O
-셈KD<pDžLK+a&']xƘݎ[JIjPvF@Pb5-^nY x侰Yq2) &k+LF.3-BOcᛉZxRJL3ox o{e혵V&C)Ljo&ޮšēRxRL<Qs+oss+dQxaC,L<ܯ0V&ēfj(L{zWU'280v#_L<'2v1:שL;L<+Osde}~&TB&0xM&Cy1Z*#&H땉US2 x o)TOI
-2:NWb%e1hL<Rfu`xR+e?3_L<סd&^.g2񒒘xK &BeiUfuQW
-kWxKL:+Sx’xހ+LN7+ Vx]]Wן0L/&^Ia+L<ǜx;_L<Rx(/&^'Yxyx2K|%^L<7Z#bIL<
-̋g_L<=PG|0x!xZ&cbⱵ/L<g&ʋxǟff&2񦒙xK &'֛g,L<o&>saă\xědapSx{&ޮBH)Ld&R'<Uf⩵uT&~/&1/&ja&~_aIL<['ӵU&ijg囉'Va"<3HXIߕx3v1r[JfMu2vX2RǠ2HL[j0APHe1&}1>*L<)ǜb,L<)g|1+Oahf1D&N[j0$Rx6$$JH<3
-~!H%$^[JF-5x;[c}H<|UA&\xj0~#$Q2:x
-ooǯ B[T6otAu*Bu  N}! ϔ3'"P
-V$ēB}V_H.߫+H^ēPx^H<gJFq&ѠZ$^4[x
-^xT$^xIIHGD
-OOKE}/$~'"T$^' $$Gx۾ͼx]tBIHWxǙgxOB}V7ěb :[F{x+OCJFſ3/@u׵`z!*3
-n^F%%!Hā㛼x'"񤼑xٿx(BIH<]lE;3o8U$R2oijx}x
-)W$AӂSLS3#$R2oH<E9H<'"/H<RxB!t+o)7Չ;Qx~4\x
- U$RojegEi |#x
-O[E)FIH< :E'ӵU$^W RxK $^/$qo$zwAu^H<G@ 2hfA骟xG<_Hd$^R(kEu/$iēb@⡼xg$_S"g=xIYH$H
-OQxx$^<<K*o;vJ<<*3q?goF'r%xx1Vyx*OJ᡼xxRxxdyxD OӠi`<<P1Nw᡼xx;PxxiSyx{ַo:u'Eᡲn 
-tYt0gS}L)iy[yx"Tcf'<<
-c"jhfH+ S!JNq⩚:^ וzȯ@ ~ pM2hb}:'n;x
-dxD7
-OJ|$V J}t]Ux"^@NOq@|7OU ~
-S Sx$2O7+ZxU ^?_ @<}Vu_@<]I*@<75
-S\x ne ^ @<౪ {uWO a yP  ryz ^@3;7+@<J OE7O7Oju<3r 'J'PPDx
-x4eU f/ F
-Sl"I)\x]OCQU  ױ@<Rt G+<U+@,@<E*O7& S*xtbi@<B/
-ӥU  AhӇx=׵@ǘ\x"|u8M@< ~{O@<=,3guWb@<M)Lq)Qx:z*NO򋇧>c.<ۛXxx(V<<)TӥV|R_Z
-UkG֋Rxxxx_<w!̛yxtu /^=Э4yx|8]RrڹN^ʙSo&67Ojש<<Moenv7W!xx=|i'Ok7Jz
-ӌTyx$
-V_<ӒgFW02%r^C-<~=_<<Oj)ZyxR<AeQPxxZyx'$xx#]xxR<HI<<-q<$*<<Uxx*OoDS9B<<7:oĂÓpxG-aC*8<P8<)qxR+{Xpx(84l)Wqx;0ߊã:XG] dά8oO7oqx:v qx/^qx|ᙒqxĉC-8<)'ۧV}qxWQpx;oGA(Pqxv*Outo[4qxK8<FӛZqx4px'$pxtCˠT_qx3_8<gQYpx9px px,
+.߼?)[4fO'{W/lmjS|P0LcsqX[PrUrsԏ9)p6
+]8ԽMԆJgH"
+e#;6N*))ڕHaOr^ eHl'Y<7k E?yZۡh1r\TT;8-PՈj#am8_gىE΁ u]cR82ďÓ;VM<Q|\ʈJ_6/{<B^yz|dAU !G&bn8kK8 Dv~43Ə)lKu gBe|Yw4{T!e%[p;Ax#0%y2f밤/Vj3?ۅ0Z7MN秦n,W9SSZpXkPYҙu[ %3#bߚ#5Q/.Hi1¶:k]2mX1ҒQ}?Q&[YYV)/j N;fP2JS`^„ji6!fvxnXI>p&"u7_vO8Mr[t8LY):h]m2pb1(J@_Ek*Ȫ7+q[::v]|Ö?щ@|Y "샨$ 0#)u;39hmV8p:?,^&^W_O<{c~j9ߞ…t6h8Ϊ V^@@d}-6-}uzXnә|E;(养xT\8a_!Pelbz+8Io]DDY,#qPPBv <-խـcn)-{@Jބ0;u9o`]3a@KN*²G}hMOƋJDzD |i;Զ%QPQl{QN*>3,vp[TQD,5kDYa(2RsIʹrR+HyyS&f(m>AЫK~$J.ϥPNrQ2弪by'R,-2äl %Вba8tFJNՓ_mUIc>N*2ro 9=lQXQx{QR VԐ|V
+p E}xY+94m@Y5
+bqJA"M4)|ǴP]$dRB0K6"0  W m G"kyκhιrdY:<6_4
+O!t[WڢnZX9}9v;Ӵam6;<:r\+LN:U4sxGh潟 ە=4Rd MPJ| 31Q׬^qIaخ*ݢ>6+k[((FvXzOȜEY 'S6َ0w>RCKQk'>Z=VOM·[ugaD'n2F)TIj:lcr#zO KԐ mx)\' 8.?9 -U~JbT D 9)`&ǡs*fE;=A̰sĕdbƁ;*{Ie祾pV2"4d1艐
+}N5^P
+E̓,.U
+fN-RoLJA5fŘZoM$F WB>β=QIClC6ZTmЈuxa"喫9p7\ :Pjg|)"eDh|iBd@:=Jg^KCXF
+](Aj7D}E$X>3KI>V ޝƎY3mi莾6Cґ7!+TAP@ '+9GӲ'YD \Xݶ(<,*Às)ZNǮvt="$H*dz序ngs}f>Dn1X"0j 'U@sEe06]6+t`}a_tm|{)h'Pm?mB,XDhs?lS2tICQO iz[S 4 0`:@_efH:6;`*xzQMZ3qi:c˞9=7ikYa}]aJ)O9NÄ ra`+d@0R
+]HYQ*dBH`~۾-"u{jԘr.L%`Rwf rБʁ%$nې|f${fcMMon p). @^H<óeD$ Q:S(;Ebˈt-a6)fia*<,˰5+:W=ƵtʧY@Km~߲(FDAS4hh:rrJXK$W'ğ1R|N"N**z8z uUS
+MT
+4:@`Xfސ/%O
+kHRaHz
+$zk;Z,W$@d:ɂLmhěQ@pxL2"kչ\A䙭bec"Y
+츽"dj(ӚpEm5Wu1m"NI8VC9t L6C'Mօ0p_<M[+-6<fTgfpR&N*L͚u,3pRRLgnLn(ڬnxwgt}Ь<7t}o$( 6[R BZAOʢQ$Z@_C`PfvYlɥѐca^F6txJ[lsCe6ƄDMpU
+O\Z),a9;ȱZ{.۬j[?B$WeY"o&:u lH},.ӫ3| ?IS
+pFRm%s9PGwLLSE3+^-۔CAЩ:lM6ksT=/z5[,'Ƞ?I5pO7m9wbK>,f7Es^1wGE-@+/ŏމF
+E8ز$b'栩1bKvߙ2}W<Ǜ~G
+r;<o+EVTSr G&)A"#"J'yss+f )TqݕװH`ȢJ4de7=,ik.ʑUwc! 394E@c5gKcŁ_]|[L
+bm+W 65h<
+bm7"+ɸ؋ |e94SƩcXuC?7Bv҈ä哪Hۇb{njBߗWàIv2+*QQ5 QOr;{zyd9. uYk7@&uL(f~s%wdm;}M-"W-f}w3 akPmvpFp``#d"7NXO+HP׳*!ڼlI-u7G\\Ǹ|d1O@y7wz{{"NeX;-c`?{0SILKPmm 3{ 2sLH|N;% ]mnn5 %S%*/w]w=o.{rnqwmh0|Ը ~r08Vv}-~3=S,x #cc7Y"~;EŸ}x0voCww_P<Q)hFtR5kt,G 5UN(r"ZtFS}#*TL{&Nn=)L6xrCO1t3זS#񞄫H>2f#jg }ǩ&iaҲ;yiw=Yk>fɇKtxfG:wQpE_ʵbf?^jՂ-e_*^ |TkDB5}#ꃬr{碬x?rzUQގZjo3߯T
+݋lI;q[@+N k~|h% sUYPN AqނQ?ã㪻[  1_2"_xxM V$^;#:^_H<!+>#}~#)
+ 옊2OBEg'JuE IYxMxS :xg$^'ёxă?BIH<ȸXH< `3
+ PH C[xb'pw0xJC3dF%%ؖHZb&N,~pF*=Hd"" AC)D?Ck8d"Jē{!*q!-%D<}Jk@xIW"1fc!R~]P7ixM`Vf(B5/lmL<D
+z'2ڽ LF93}3z P;`Xf&&=i[;o&ޮ~^x;fGx2P
+o0T&7O\ܟa
+Y&ޮEXa{3 %30+L<'2񤼙x;
+oǽ)3?UbIL<+LObeIL]_LyDfu)N|7OYx@4'C)L.so&D~'2P^L
+'zeu}3
+S|ʂ&^WUa'Lu2?㋉cRx Oje1g&ގObe&ʋId&^/&{_OMe2~xR+;#0bYf1x]a/&n#Ux<L<Z
+x]aC1&m3CL<#xLd&0De ff*3vA& O3ěă\x6}3+&Fe-%3:x&.0vR
+o)` Oxj{3t틉e̋Zx(gxR+VaIy3tn0^f≱UxL$VR=f/we$Lo|1񖒙xSL&ăb6L<*oYxK &ި2}3L<Ƶ3?/&G'23^L<'2/&2L<o&CdaaTxIIL;klAq"gABa31#x]A/$ĂRxKHogxx G |#p*H<ڄ O o$;6"RP'oWPA$޾]_H}@.HNuBuB%_HBBu$֩/$bA♒x|#V$JA⡼x]ԊēRx^HJ {Ux}?+x*= '"LH<^I4(#V)5$o$65<e$^RoQ5xj?Rx; 9AIH<)iFI-H< /$^Ƕ/#u|!b3/$^gx*$jAʌ_HΎ'!>ӊěBFM1x-#=H!%# -x_Fu-^HʌijxIIHG5q &/$jAIH<)o$^/$JA⡼xR+O'[xě:NU[j 2O7O!#hZxix}f$1ӂ[JF-Րx
+Wx_H<]Ċ[JFMu"L$^A1 $HědY)YxH<VxxR+ x Zx¢ēF*+CXxS)H_O7OqS /$Ԋ#RHSaG4 tHޣLz/$R2/S":cxAI1pt P^H<Ԃ
+B)YPxH,$^ I$e
+_ 4oW$7[j 4hW$B/$2|hUE)4F)WxzM_EiZx%FaZxxKH:w҂ sH}vsf$ގ/$$7o@AUxo$苈ǾlM,D<)GHE-TxT"ގi
+O'Qxx$^<<K*o;vJ<<*3q2<<fOJcUCyP |RA^yxLKc(<NCyv,x዇EL+S]}בxxH<<)-
+ukP9X/c
+O7O 3s<< 7QTxxP Oآ[! VB
+ij׏ S5Iu+)_x=2d q#u:2Ov
+CI@<ij7
+O
+@<3@lj)Tx;^ו~t&G
+@X@޼V
+Ӫ +OW}V NP^@BgL@<>x] `Xx!g ^ o=(@]Ϣ9 ^oq% N ӔRxW r/ 
+U VRo @u։iT~ԧUyx ޅ{{ j'ÓZyx:ÓrRkQY5jmzC
+Q<=>H)<z¼j MHIL^ǻpu3O
+Jg7W ^WJN;kT9TxxmpԦU:ҙióVŮ<<u
+?/i Qixx]Cuٿyx*_٪׃8yxZyxHPyx
+RUDQSVxxׯ狇I<<S+Oʛ1<<*
+O 7cqyx$ Oʛ1<<)%Λ5dPJS@
O˰37g䚌!u}/8<ڐ
-}, qx8<|)8<Z
-oO(8<l
-o?%8v" ?B*ogqx$qx
-[Ug(oU8<8<%(E{- G/ԌãGPqx3ϒnG7O_>R/|O>to8<2OyџQy?aixE1AN4<~B#]4<-* OCG Rᩔ4Ͽixz4<U=ix;%p7 OkJvT"٩4<_4<%* XEὣ?3FG#>QPhx|LCxv BSӛ'P
- ώy'ixx BӰdgJ#wժ4<jG
- G<0<)o^
-ót%!0<UR
-uo&gilc /)j  w0Xf6 Kqz]Yx4Oe!Zz~Zd&  Oceᙩ7 cQXx`Xxg։#buJg7bᑓ+,< OjaL-,<ڴ^,<bYg<,<TvG܋ZXx(G!ȋtNaCXXxd|^,~?oCJ3
- OʛZXxDR3 O›(MeP-2 O[oӠYYx~Yx'Yx\ D'Yx 酅KJb-5Xxx'~϶(d,<YxIu_4YxRXxR,<6We bva-%$Yx.㋅!Gas,%d^R
- SPa,dbSq7 HTZbaQXxT
-h,0 ϔ/GUMaᩂ³JYxK + 3~:дqfuT/jad7 O:^7'#ЕYxx=',<ՐUFe%%,<*q Oo da%%,<Ӄf9,<* o)gjfto,<W^30,,<zv_,<'8,<:
- ihWYxԕR2 /u* O:2 OBe᡼XxfJaٗfu3 One-%,N!:ږQXxfYx*?|~cYXxR,`QYxf33S“eeDfYxfYx3C]XxZI* O 7 3%Lfi\Yx(ǿ_,<'>TISYxUVr/“RYxXx:^Q
-oeCL,m='
- W/6/ab-%,<*#XYx
-xYx#W[JfᙚYxTޮ OjeI),< Oja!'Xx% OwXxK ۵t{l,<
->3 o ԈN4Yx<u!3~$BaqދZXxR* Oʛ+K,<z3 o gjfQZXxD^,<TG7 CӒ,<WXxD>cb
-&£PxK >|H4BfUPx((<
+}, qx8<^9Spx(x~Qpx~DKʂۉ&N8[)lUqxGqxTN|x`ãóֶ#4TpxpxR3CN8<KeM*8<}PpxJѾpx=qxzqx~8<G G苆sY_ o9U hۋgЫ4< o5HRJ<Tg…C4<+ OۭJS]盆JSd~Ȫ4<bb1< ZBkg‹$hx84<Rhxv7 +4<)'Mdzhx7 o$;4<T OVT+4<$@_ã^/j ST?+0< 37sT\ _K0wpL0< 0<<ÿaxR`xĞ^0<|IyT / Ԁ>Rح{3<KcH;XxI?Tg@Xxข2IX,<J,<v£~* 
+Ĝ׃}w3֢$t7Y0Xx+ LmYxxHd £C-,<s8,
+ OꛅZXx('cXXxyUް/YxkRrHR,<v_,< 9
+ [f-!
+,3 o ,<oގ~f)J\XxYxD ^af!f۱f,<³#Yx^"(y[7 xbv}fI,pYxR,<ㅅǛN T
+UYx7 O;SDwfE8RXxVC-,<3Yx*,< 35T,Yx*fQXxJ+_,<#
+ S͛qb[b),<U0YxVYxZcUR2 o“qreuo^Yx"£C-,<“f* uYxR,<]_a}S YejT^Rk£Tf
+ ׽Xx'Yx:£g>YxfuGSiHea \Xxo}0-,<-9* OqGS?F (zh+(<
-/) @+;L}_(<J
+/) @QSPx| GZ0)(<
+5x›5eGEAQUPxII(
+o_ ,GaBQjVPx
-T_AB᡾Pxt%̂[JF-5Px*+(<*Gnɨ(<SQxK ֌ׯ £+STh}VQx
-U*(<H+
-O27›b$TQxc}h({f@.98i.IԚ&xTn{i-(xt\[+Ox/:҃P#<} x
-V1$X]S/>>`uM =VװQ2YUw[:pqV]ֹ?U׬\:) }_:)=]v,V]S$o
-k+T*RԱm"q Ix3Ng/TB}A-
-kpQ8NGթ􎺱elwuTݩ!+Ns}-PspRyTNEg_:3^S!ujtشtFq-D*}vBaU]khB-jpܵ4Qt'kV9KX`N߃"t'GaV/Lݏ7Oq͙I'0;\`>$IfLs BDD`tS v@#mIqUC~9tS%:< {>C֚
-e_#="M,@ה{j>5eeAo)褲tjNmMaQ7k^XpJ] ޛK:*Ej#E1"2"0L0@UƜ6%]]@
-{3k-w%uڽt/ۍ1'5FLIЙY<ʠӶyN{0t枧4V_벰):?X{#0FcS}u xAǿwN궅/R :机`髳= :]g5u tK 7 `5Eٷd]!ba6Qssaƽt
-p k>O:͛dT'="%rps YngRAϱl9Q?AYՋ[bЙYt 5oEhcnl<g!<y-ǜUt
-[@xQDFLpȇ.)@ uZWNW«:)[ósfЙگŠDlAgߒJ :ML(
-&_[n)A`u6WqxxO :~Spb <N̠qm14\l`5̠co-8azYSJB okE pV6Ahu flQtZ5k3\#/!w)3zVL;CA'͆R'!0?0Bpno
-Ekʠ4ySE]R2mnv5+j0‹㸇w[$R7׬`Mߧpswo 7'IܱP8qs(v.V7'boc#(yXξ89F R2nnp%vڍ&SS׊K,_Zys>/v7̛[ZNGdUQSkI7'śC!ysRm}śy*oi_.xsS R2on7bd2ArQys6Cl~,m.I+Kr04^;9Ě#8SjNϽm5'B͡ߙ3۶Wy> 5'"l\O5K35ה.sT
-jnk!xԨDZ:JmϏʠFA
-@![#To"`x.g]UAіybź`F ;!׬ rT\f \3;{!䤐]+EO#䴷=m9~/~I9T&`II0M]r25 Dd2QxF!nkS֖!g?CN}8\s\!(n/' 9kLNBČ
-C[@0Sn;vJ fV@aȡ*m2!rNn$hfR<
-"gsWIWk=rGv.
-{f"6Kqu95^9ΐmfɑrwZœ 'H$mi= r(AEw> }cX!)ne?¸8+@N] /
-?N*ǡh1q(*S.
->_l^Џ%Jߌ7SR?C$Ayo{2m9a]0t O|^TqvA0vxj8,V' Qu=1i>ؘ^wYmTj)/h̸ܱϨ8-,bVSި.NV
-Sݮ2@q-e
-7fkM ۋ5z.sEQ#svĿc:m^ P\}K G :7Кg* ~S/sviܬ2L&RRSTTժ~F᤽iE4GF
-֠%
-w.D#qiDzUqn\47%2079,7""ɦ 7^1n:頸)ϵcAܔr=.cZNᦥa_ nV.mz A3^bF_ٵmˆjnQm`A8,T¶)myD@"m 'q^m\4m$wmⶁ<¶ilmɖf l^o[*5T zM9EV2b E?٤IcI=ԶFs/j6Mcз̕;j&PPLj
-&sBmxX3SHmk+Ѿu] &cKD@$h[pAšmJ36t9$h]},hrkh[I mSjfD Q~0;jg+mR LnV m?O2M/m#vCkp=Z gnT')Dmd6n"!4SiNNmS2;A-S(kQXyPۨ. Wm{ڦ3"m6)<5R!ڦ&?#Զv܋ڦ3mj[P4 (El;b}
-MLj[3X]mL%ڦ>+S(ٴ۩m\A?S7J0Shy$6 5MJAm0@Uiܱh\PTfc~C;m-h&[Y1ܶ%-R}!軠x'#Pif~lǂI'2ϴIs.j[3Ym*˿ۦMm#ȏm.mȼۦÂm^e`̠]ҝ1%c۔գ+nb{g3mm3gضekF9oa`a& l蟫bۺ¶h64'myFY?l`(-ضv1E )8M+-6oBհm5m[r¶[6e:UYmS-
-&M:p2۴&fˀieπ)GwLfit`ˇInxUnl9m
-C(жWgFmtgMf<R-K6O\9-Դ;MϦYM=HI;`B˻Nf4
-&bmBqVҏw!Mfd+E6MfF
-Dgƨ+6-pK6Up'Mc ed` hu&ȮIܯ@P)q h~m}Tj< ;8ct=m؎h[gOmKɔ: m, m묟j h֘/$h".mC9OKV
-Kmj mР6)
-M^ܴM vlKBB-5m2m20O6YWb[Ro1 m"xb6BlC6 /bb!A(6)/bJlӏHw
-ym=l/۟(j"צӇq~kҴ+6g >M
-w)@-lk*7%*@l*7x`ޫ~):Ҿ]S6T&n:6)`ݶ ؆rW8mݒwisV5|Fip`-!ڦ6L!ɶɉ֦ͮ3JvNX{TVf_gk զԚ`2 @1Tjc{ǵcW| Նw%T[U%Pm["PmKɅIuTF- l"amW)؆[ږamIuBՌ4ѺAkә'q;}ueZt+MF(8hm
-h/6Vz6wlGFV乏kCmb
-aya0HkKɤ5SD Қ'R:ju*!#701kg-eڹ<5\zuΌ5Z5YߚtM2 v39MgGOTjLQ[5怫M!ՖZp'IVS4 VX]Վ{yU9cgQ$0To֮T{Gay6 T[E&]j}0U7@Ԯg&:M Vy$MX|pf;TxىԖ_K{UnFz͇fB8LM~֠H(53r{i7.$5mpR3uu\~ܱ/)W(wUD
-
-uFz&KM&1YjZ=oTb ie~0D3DRNRr $fHGAaLZQC#ZsK8JMڀՊ,)IMڂDR3IMR ARTČI^ vz ԤzC0NHFYkaZ+&2_AqUG$+dDZ2H:ITHY^AjGwÚr-4?:8j(d:.8jY" Kpv UǓӏQM&wIFM3(v􅣦
-c~ԒHjK Oa耩d09N 6Zd4ڢ!45}ASӅ hIv6GyعyYԖijK pj'45U'Y0/T>Ϥ)m;LSkxlmԚa^kLS3뚠QJ#IԚF2k8M4545)f45Rc&ǩ8Ulpj}.M!Ԧ,5R$4g5d
-kg/V8eO RKj饢iOz`2KGyNIKM\ LMӜfÛƉ3L (-g6cH PL ''0%d#h~LF15N,vy<Lg>
-K _YE]#+RqVp,5Bؑ$mڵ+?k^E:ajII0L1So>_,5OZyK $RfZaj|>RS /F٧`%%Ԗ,2KHS*(m𞪢L 0P,5}M&SBfM1Pj EKz-Jg[; +)O48gARu8
->>;XX[D  vB7>,rzm+zpR${JR2R뤈J\ɂ
-.0+b$eJl
- z)-D^7u,@ˁm?";'G$_Hcνkk\!HdYHV`"5e(P1 [݉l܁ eϝ8d10S򐇐]ifgtP_:SM\@m8N!1)ĠK!mk+ [ Dz}K: U/
-ƕ{ǜmnLMkj%`Xиx߶Ep
-Q#C:N6o qڭv: 8˼0D%|Ӵ|SÇnrJC"/#ELcԼxC P >-ֳjI 3)uuGڴ-rفol;ym;z.@m88%̷ɭ`LG2 8Fy,Wr<CCS>&l;2A (tLKnb0E\E Q0 "@O(,TUfҨd'S48m9V qUu
-Z*"m  G2ea
-
-r2"#G!LX~f0P.4#6I (X=C:%}{Ga0Zң'XSzȒrg(Խ> g}sk
-
-ш, [o}SZYye"fݰ ډ2_IaDEx1QD 6\δVQ~>__Q'dр)o8cG|ǀ|S]0 R˳
-F)b  bxt"h9M_v2<d=@ft Qg}(~h4^^PZeH̩Q;iʀz)#̽qmjlU];TSˣtML
-?rbFqdki| "]Zo9؃<T+ŀŦ1²-*CHĠ+oϦ5 c BVZ{ CNzV!2[(/GچGPb:>
-l0l#;?Z̬<SQ,뼱8f`n*bMgT* g8k[ޕbK\a6<Ͷ] y{;LۖI
-LreȅF)d8'PFЉlm_'Y,JXbٮ+)qc}6>_wNEru,@Z,}IV)vt􁸍k'^ 8Q0>Rp0H@k2vqhA"yI:szsU#o9X'0V z#vy&j&9 0Fō`1#jxCL%BX H5HBCd(?h Jo &4MQM"2p7Lyos튭UL 6~09
-}=l5뺾udm4ۛ!FHLBbǕMHC;h)X6<1)(O.HOl}+J}ޔLjt1 w9>c[(0 hE:|[C%7ىf"i
-V jG% Eۉ0BT`ye/|.z(CE@`lw44;Tu \E4cWTWR[T0UA Y!MT<o,l~Xo]l@0k
- !2l
-`ʍe+3md <dm͊RP׋\?ѷ%f9fSL^cںfCd}js'ϼ<42VޏVI"&"c!rm
-Qd)jI))r
-ӿح< \x3Q.CdM8bVԜj~u0+c<]ਖx;<O)('ۧvxuۘa7Xo*Ǎ 2P˩
-`i[EjD}fkYV|@f4NI .{fIؚvleC5e1DBY)S$դ}6Fꀨɚ Qb=!e
-i0\<Ѯhܫt٭$| "G9Ȯnؿ}"!|`2,L&5.&0^:u қU,G:b*]yttY͂ګvo'-&D^ozVr
-A-SCWbQBż+\ yE&Iƾ1p,
-@T`Ɋ~f Qִ&-' 3}7i\K
-C3v|4K u %?s9qjŽM-(۞`>!E- .SUHbNEo(˕( 8
-uGZZ
-ګς'
-f"f &ĔgW`:`},t}`&1EHR{vU6PivgB- BoS1 ځoXy[NQ
-HdxDTslqNR{]a C!LмJI,&ش$R'B4 ImLX1DHCo) |eC>--0/I 61,%)&-6H?v̚PZ݀M&^?G%EbiA=)^+ِ d] `5G}
- Nou
-Vt|X]RwBtSYq
-d "A
-$Ujdߗg輱ig
-0iGJ<A6ƬrZ1*BccLf{ң-Y}au nk\k/G.#-Q:*㣓r4}#GQJLP{1k]#@rBIۘb7PѸo'
-NVT}#^Z+O˝;}Mԡhg;Ƕ1]D:*6%ݯ
-p1VrKd֭CQdhE5C׶76@5F̀(KD
-87t B4-&5% *
-Qmf$UZ":U]:b| YXhB
-L EL
-dANU=iB
-
-~?X6)Ø!N2pyso -kR!̫ʉh<_=iIpEN@I$WoM/JMz \B𫕁82q;)Y&L[U;wDc1A Z%(Vq+h*
-z+(RCaYJ%Ġ%pJ)3ya|uODn٪ Z"IN X'49fG@K1Y(5-S>ZsLr7Nh_L Yn'"jvA92DAen[V-q 9z?N!n
--gy
- cW7ƨA#ִXY?ADpOkY7Y͏]SL4zBc)0$+:Q|d0' 쐹4C\5ѷ4ݏͱd8YnP%$'*}/u9k[1߬fuY V
-Q&-fՀr^D̰ta_,r/Y|dR4ϓM
-Q\:Q'íFA9K9;&>%nNh'6CEBKg+ P9'
-T'S/`}(Oiu A#^a*C%qNo&6oj &U/~"{˥[5f*7@XmF%6In
-0\& Ej
-lrzP!Ka
-%'uot@lg ID#40"-MBE5g*f(E&ą"mQ
-ASwS#%i;*,YHh
-M_<[JL!"! `"D)) ϒ`KqYThc .&`B.,*4фe-.j +Z[r^,Mm}^oK2%Zy_A}.)ס$nB*"Jiv=˒Kè@F(\K
-؁, +w*3i#'x@;QU-?
-O국 {9\Ҷ 3jqA;e+9<+f߻NʳRkjLB+"NJapd=̜%qud!ҍÔ+$Jc $\t0隝&
-~Bj^KoF}nJ7J ,E cGu]: '4(ܹRp-r0,]#x1i{d/ގc}nRPdeXzxd3qI-͒JKE%){DᕘM&1}Bq%êZ$
-ũؾ*NyᣂhYi=K1˵|-lLhBgI{Ӯ(a>[LD㨖0ʰ\-'Jez@jBM.A܏m-)Z{"h-Qk""s+W5f/CBgWSܤhsV
-NXW#ŵ\<`טQ#, &IL<B 3P2r^CrN-&OQԊ̰@<#8QV"aGؿewDgjEeLlUɣ9M TR@ hPsrs`Rx᧽KS@!oa4`5T
-c.?,s6L;$u_n !6ۓyAi*XjhU8-FKv, VlI,>},c3 uѾ5%#$S̐ 9Әzd%磈my95p`lTecYv kA0:h;/`sZv܉X3K#-s$=1@ێ[F'`_fh,{- ]ruj>Vr@r#fL@[Lڀ[w"CQ/W5h]zdJ-<{ӣiX{DINݽY$a+fҚ>y|%IӈcAG'D5_kH6VB uڙƖNjͪ@Z{
-J.[I ͫ4fI4ׯ߮qXVKLIP\4KuD;w*е
-6ZlLFBigjѐ*)|s?F X}=b`y|GݙjY%hˤD)3vfG <$2^ˤТ$ 2ojj[gԬTC1h0e:h&hUC?`f7xPog܏HV'ϢXE[(|d-i۞Rӛy %CyY5L_ӿ/_i1! 8ƴ#b=Zk+0 d+V=v
-LV, ׭x9k~zSMPHr&rk # I+kִP/rx-6ox7 g$5 SjgC> ߍ-bw矴$r^c{3RzQsZ{u$y}G HʹdY1"(Y<P-_m3.5ooORз6hyy' N$-7opËfT1dr`D+bO 6kN,Vx̸v-c_{j3v"7H[pXZ{iZ
-fm,g/||}y6tҾ{Qbb)10>nVw}FZϖp6 cYm%}X(]SՒL][bR7UM`IL
-J>b%={IQ9+{I z#@3cH;;٩}1sW[{oӻn8}꿰$8Y2$X!:CHeDwLH'Ab(+T?^Y~8ǿxx?2xNEJ'Wu&cȽs;!;DԿ|:B%ʠfo?|I hΫC[v6׎'f@bJzxl
-DVN:F a)p2uvںf{pvL Ȃ&bÆ'q 8.f߸-x+E[^GSpdE_n:HkEzHӍ)c͵nZ+_)ZɹwUD
-RGA$%!Hi5r\'ura`!fN׺QpGͪZө=<;0)Sфn`Sz}l/v3*+}
-D[ _]T!~{ ؀B`b$B_`.fS[, ْ臸$0vh'%!7f$j ɒB]C?/j9߭׿_ONL1b|N՟~W׵_7w.WWwx>;ooNyp藟ߟZ\|{uǿۇo|wRj]o[i_}xkPh\b>釫Wn$m+~=z-//{{N틻o׼7Û#0Y?:>?ݶzU[>[x_o^_^\n k<}{ۋ/}O|aw_=\=\<Ba?\]ovi}s?/ۊWOB\mWx5߆c=SL&[q'>_\o. [##tsm1r ?d滻7W;ܝc./|}A5T
-xPQOY|}^]yQJևzPO (sgK;tH})@p5=Ŀ-pr_}{L/E(Z;z1ԇGOo>½xo\~Q^mO_}
-BgX>;Q{7r޻nk~ww۟çw]훇X/r7o__\~uq~x'_5t:D^]>O%Pi}Zp~$~_l?ݐne-{nH;,eG'E~wwud*/RRؾ2?i/} [s=bRB'X'Ȓ q{}"}
-"; 9|zc& nIޙ|_/O$#q<:kMpJm` lC^_Nؿ?uv{Lߊ髫I>Xyls[G4ۻ뻿nͅGmy@eM{
-ĿRngswK:yW;`؞r go gzEυ3= om?ˋ]Or\~|$lBwK*D$/G؁}<7[cٳaG[蹰/|w}~qysyO9]m}Rwl=^~vi{)ݚw2ِj7>w_oA>p{~U~R6=:~:/NDw ǺՆ g_=x 41E^o=__m=M[ԫK4IO`]ݚ^_\yxRM>y YUp~y^g|14Xl}^z~>DwGQyN!lf6I6.iL;`؞f6YOEl›3Oȭ8r\W\!pfﴥGe^pk ~Eυ=cϯʋxq3ۯЁ"z>?;43.VC@0os?<>^L/Yݬ/,u{#3)"?aOEb?<ρmE2}zvoWA|;}'o@u;PݩAx;Pu;PFݦnws0"?Yy hKʗh.Mu ,;Nxr'FU%n/_=j\ݾ|}u蓨X.ܡ'_ߖDPpg>U7ߡζkzNwGusc𰧫w}cw՟뿟?(Dmٹ;R/MɧՒ:xK.k& 99@oԾ'N?&w7ݽjo>B>DFĿ=oB=.$|
- ydӅ>)>IE aσ%;=za{r `AG{By[Ń>]r|9G7g;Z@v9|8
-%e+տi4}W_dvˬϱ_Ds|/dsl_bsl"{^E>Nk\sϗ]wW,BJ{~J}A^TePibZJ?}~[:./y'oG4L
-"#uw=<zrg2zc =Ч<{B?=g۟Ȟ]׾sRA}>ã{,Tɏ7/ |en[tϹyjρNvi{bb͟5wC/`үH8^ˢ<i*'Pϻɋ)rHEEdkӧ"z\q,\ˌ\G3|;pۿmFܮ_^e_9< O5׾t^l;iۯT8P*_g߅Ll9M>DlOdd;lɇ! i!OXrq=ePv">'W?;O_曻룟Jq^q:G~8ǿ>;~?:t(.p  j%VPnlSQW۸qwCi\|UNsOR_Cc?t]OS7\gzSj'i?xwc祕_ت}>>Iq] }.XS:W!4
-JG~w]L
-6TȪB"Sr9gtS")ԑʩM6 :\?Jo{*vs]Bwg%dc
-;fBXVt$UX"
-
-T;Y ]2l%GFOFJɓgv= NrO
-˞WJ1}$ `;9o׉TW27%zKDҕ&- $챏']N`*jbB]Y \+c-we>] S7 lj1+Ty*r!
- rnݾw>S@* Xa@4p=ȡW7vwH s!Υ N]>sFn^?U=g/]+sGVoE; AXE0T] "aĘ@[ŕ~{*pz̄z%uXrs8Ƶ-_Qw(/
-4:AY`y'|A~N].<L!<J|^W==Qn- FA+HU':i
-y(E0
-0UR8P(aHjJ x_X aE&<&R߫r~R@n`u
-Zٙ-iVޓ-V@qP`r0Lgtq,f:[l@)'6a?@6(wvV\=v@&W"w%R!&@9]Cb觪K<e M\*T@XpgD1^
-#i"0xoD'?P
-J<R\/"~'#0eUDmʉ:頒XYW
- B5 /Q]ǂA&8] znWrD Q ,t2.I﹕DFc
- ;όB]I`R(4c=w%(Bh
-̰n686;6]Qt:*[.F3`&bHՠ&U
-WP:wnN5y?b
-Y F@sD9Zڲ8>X 4;;Z j3®mGKE2w$E8@<,
-qmtPzA'&f8j#MxuvF]Z;:Bs
-F?b/pnhSv鸝H/YYy*@ Hš˄9àË80Nj^)7(PElC:Y:5nۥkw<\wj~WGCQy4nC3ՃYk[6± jށ_AߩQ4?ܝb.68:_#9*".np" :
-?v MX8D)%\siqp߀6}#j&łxb'+_XD،5pk~8zC=0>dDX`\mXr=.*]Di>C*h)IxV.y}F#5t:)"f y42b!v S XbȢ "IA'gCS
-= "B 05
-<Cg@ msu Jď;Rf'(H;
-b:ƣ0JtTю{Q"z"Fר %RFX&r;6J@ A^)W7Ѧ׿EpHS$DÌ40)J nokEa7(-Wx%) B~xVQá}=FN& [ԷJi? jtyS@,brP9𶗙C9ҕElѦyt4l!9?ƕ@7Q7 l+3~nc~^En9`C>sˋy`<ns=L+3V:u ی&ӗ(zZG_3yT rkA؋\Alo<!xQgoFB\Bpb9ZTT22D&lu h肁M@b^#~; pÞ^#L
- ȇ+ñwTJYƜ^-S7Į,8qq@Z 
-Q,PFA
-é$A9Zq#4`Y]
-e?brrMAQuZii$RI
-,v5
-˥'&h|gr@±0Vc+Sq9ekfc
-a@A¥y' DavƊ^9gI<k<ݾfmՆaW,M"6wMS3Z KA)DW&=KR !"9B[ͼF5}%fak_mSA?_~~Vg_Vڌ%xru}oozVY?}wm׭WFl\'tJjU9w¾kWDG1 H!'OOK
- T̈́'Ov]@cm'g{QxƐ] Ax'8hҝ<u'v'ju x'v<#z>'D!N~TGXG>OnNGG 3ƴ-Ǣ^+:z\>M_K&=I qX.D}K/~?̿>4b"'NVrv8lXˋqvknϿb;YtM+RDwOtb7ڰȷ،L'qnI :RX+Achz bt!
-C{?)H ||liڜ}m~)?7<lۣV乞-u'MA:v3~1G t  xp8Ԏurz8[
-.IɆ Nlh{I
-NQoGRE8c)Ik({SH2L'd {;d7Em6.b
-I+7@j'Yxߞd_DTQ9K-|zH7C@$.WBˀg_".JqԒ]+Q¼% ՆbxdڑnX,/ $YV\:V"R^߅h v
-ugϬy35{Dk @5/oǴ|%ӊzY#{3}e]9ձ'/.M.I=W~__jMƛW~}p|}w94 85Xqv|#iJ>B$4Hj*Ғ9B@JkyFȁEġ9_rKE0!dGASIE
-q Rԣt*رg$$xק7=P~.:񉲢%J}&2C5tCF
-
-s]("&0+~ PRGdKT#Yt)!LaQ9
-78$%5_ 2zaoNvR'#1RF^RFɕg"I]y2J?+rKC@lǺ
-[^2Acz.0+#aD{t<LZk9V;H67+!}RX|"&I*YHCbQiQ^f')=ZITO"QT@ Sэ|3osJ"rAĦz8':" Fc%!I ̀HLj<r%:T%A*[YdD͊kV{Y<ZE%$n`7TEhY2/"a'V,^jdA[Q)1Zg& Kz^*,'֝ГHVȻwt4%?H%5Ho$/Χ^8d({if$|E))LL8OH=Zeb%3nt"NG&օ nI+yBIaaR1jl'bP_9X~LS/䛅\8eŁwR<;rDdb ;y>%B 5IB""D0C,ZzA4ahJQD2/W*H.` u[ei!gTR/~r4ݠt$*,jё fF%A?z7?H<yE&gNT
-P\L55c9^z%t )37H (5xd(AR}II
-#];}IA_$@Y; ){zQ
-<ˆKzhG\PD>N^9bQ(GШg],Zhz&PVE)P,{z9uSq=^݀x
-DQ#be˃ȅס֔g{%+Ypk{gJSP@x kIBEVr̼?QX-LQ-0VZT ښzV%ʥueQN߮)!VKp*|"f$0yKuX
--jĨlV
-Dr/O &¨<d%Y
-4 XpeRX!j >T!SLC?ȌT!^QI$B! ew'TeW@B
-=D"
-aI%a(VcXB_"4K+%d NQJM
-}"%[q3z76Rս*P,(`qq!(
-nRJ]A{J]c^7_ C㜿N<g'4F#  H
-F]䜐<+CՂ
-s"64xvڙ̰lr j
-, l‘nT)RR>3J'Zryd ( +<,|k;xu1
-.n2 yɶob;'}MwىB냨 73oDu8$ /&ʞf9AI8S"@8::)'E-S<\y,D=jWS#&kNLܸ=Ӂ#v+x
-Xhֲ<ANt*D=v&+=Lq5֕1 =p*TkOs<`Kܿij-8{G4 AF&&%.0iN{J`#Ȋ) g:\Qu~gNI $Ϧ& K^_71(J1]^h]KTrD3-@tb ;9N삕Vf<9^=HRkkh
-75{BzV0C
-޽
-ss̹y % 2(2GYj OA"-
-/CuKMYATհnZSuPl!tmTUn]CZ8g
-2yE@o蓖L^5r,J
-FK
-zm-s/D?
-Xs
-r,*H[`~`8yAW/oRbуVRe5 P0xit7<픓$(pmw,dGI9JM9qfd­xIlAjW
-e= (cLYuM^0*Š@Ƀ/V.Ÿ[S^lK/Tg6Mҡhla l8ifoh֞3"ѽp"MF(:/t!w<-_ؠο!DϪJJFw'j[dz$h"ӡqOGՅP( GN"CrO:Ѓ\Mp=O$aByX@T{ ظJ8ݎFy)m(NCNG@o,4~m*~W遥ʠ+/MhOmq]#Ȫmy P"/6P6mjWJQ
-.lm5q-W
-+%ynjPl~m7@+?ӏN\Wv)ѩ
-zWv_7؄؄ļ QH/6G)2x8H/),pA_=Jj]VAT*h?Z]]b|Gܡ:Uqp ylqE(:*pi'0BP(zRX9rRYVwU$gA !UXIeq&7U$^"".lA{PBe 'nYu
-/G[hcAAFA*;nLIi̖dMjДNkJDZOv6L)7y
- CT{aŵn8
-uqWKGˁ|MrwKʱsV0<fk ƱԈ^yh
-z&^Pw# e.J!
-_N06Y֠^ù%uB &$T9Ǹ r:JF1r,Tԍs) rzФ yB pLO j9ݸ
-rq8"#98139ݸ'
- Q9ApR^`F.Ӎ˼9=z9mub:ztEWK1,q!Q@T)At(.15Dt
-̏Cz
-s^D"zp\RRkNDϝ*'";"zTU=NJ@ʋF9=\bjjNs*aEt$ dֳK \y&"v~$B&.kJ<3^ls`=D& Abz +'yU 8R[L*8Si,0j:nt |Wk`rWFro&b5K:J_cow ׻'k");Xy#<'FUjH,Uz`]>Q8<xq<0RN887$΃ɣr]bp9
-F ?q%~"L;@<" 8
-OikpA@oB&aQ; iP0DAd5l `.qȋu8ؗΪn rƺ5Q)Ұ`G5I\3]pte4,0a?ws" E`{')(B
-w}&̨(d)
-a. gu/P]K'n,utdTքn9w%
-)bփn'o23렬`Rty"#2FP; :#6FjcD贶
-PQc蝽d4 V8KqMՀ!lBYD<8ⱆ6P.p|.%.RAY9aMQB
- LBkdg$='KZԉ)Lc=)+ֽ7^qQ型5b
-z&,)C[
-E,[:<DV~)
-ҟc,TL2QVBt1^l8) g40=$ 2R=}9N-&T?`{.d*E
-20fThtb$δM1!3MT=pMiy$T5Ӵ/SKΰ#@8
-|D.<8X!k@
-3SK(96^#%J|nLuDkdM]o>J4^¡@{n
-B9ZacQJJE1bݨc@\rKТ81!.;]Q`JJRlUmRhéFQg3W^02\{7}h<z}ĉ3%bCk6Pj4VO+H-['9dA,a"ů,٠Шc0Rb6R+(>M8C8&*sK=
-z9$Ґ؊vsJ1cxŢ~`g ,<Ut"+mټHT(:8B YŞfU]rS,i|=U{1ۣ[!sYRP PW%aA,oɔEt Ha)RjΡrJw;uQ1oE+R3(C!1r(E|d=ODAX]A?v7-Wx0/PpH+ɲ3K=9ΊKAC< `E#܅☢
-CeFW90S<RsDw`7:|[̤QH7k>8VF NTw nEE-+HoO> ?[ǰ - <-.ܳkTq@pflI
-GtJy+2QQqj@0J\X
-/|"?n@K XwcʂákDtD\<AHȖ"eB!m%1, ^da'
- RA8b53axř(L*[һEᐒ
--i#rڤvwetiu<V#Ajf:~fkQ."}Gբ@6Ìr V؂@UStT5wG/3f_\V%3Eҧ86X"_)V4HW㺢4ʆYO ϯDq8,}Ȓ켂m۝ ˊ/[8H/
- f!:Gh\.L9;'-d >[Aׯps\U1!tIDeBLs\>R=I'g!VYAJ[n|
-حeY& 3.`&.QU'`pyݝ
-iJqp¨;jOz' 94I&?z(:K2FEY|$Zd<M u!+<c @ (:d%!}>xNEw&z96re9̘vWg!@H,s2QsPrCr:h&r!~ZŬ> z
-dYaZq)6f9{P|1BWI bEۢW^ʝ<糟XG 1jB )dI grTRtNHG*}%Ζj
-z!+-Ƚr01s5HQA]^{0!8IQ
-pеe[t}`KzENu9 a| b]p"wu w$^Hڎs
-)mnBʥ̄U0ymSAB6=@QAbRTU*%̺|жyDBѧ@n HKO,](h $J ӂ7Hso̹P/|3QFmgF88?_&Td7S00'[%٘.`5
-,qB6UxGF؈H-ϸK(6.hFh!b5rɏp Pdb!H* ү 8vJՋF@kY2g.*LC;g]Kңdw@!I?ȡbs$5
-)d
-g.$يa丟e]П@oT^kUÜόnۣX.8f'JPW 'RX
-|P$^~@JKDbajGršLy
-j]<-SR Iy)xj738&ؔ;»ufPyɼ&fd; j!th9˭6&Y;`It]#ʥ]^#ҘgJŕhawz a`QW0lj.6t>,B ,$;."trA
-5 -4;ߜ)֒n
-.E5* :mSSDZHr((kd(o{ n0wH&ۖ Aر+dشr&`:[2DL-bҲ\ޖ(@b.rYڮ?-z7 lϠ44KԴ<eh
-^&o3NeKsRk<tHR!5i4%WDU#!P*`JKxJq$XK~w<(+Дb)ݨOèvJxQ !*w ^$3<cҬ1S稠 i
-!3 R Fze:ha|arU(XCȈ~,~D14pxBB=kL!z#8F{ۡFAI5CUQbrB -,(:!VŒPDNDSj0  _rrVLYJ[dgaHUEXYsFy-ch@T,]
-vj)Z1X`ŧ4X \;&!S2sWMm(zӺeJTAee{$˞D85Jlؠ ~<JќtLR{D
-.hp LE_/!O+Ww]ޛvX9?=%7C|(}½/0w_NPjRt4#P!X
-p iѺvv۝W8Y p"Tqt>k%oX
-/zѲL(˸(FEѢ>DX^[;vՕNpB=zJNE9+>).wWr *! u7h<u\]/(f`|j \is>!r<^H&_n doo'f
-`E `'-WӕvGe9ñD#isk~"]{4{{j7x|\dh" ՚-((dU^&8WX;@:3|WٳW&ο\ǿњο:cU筫mM +ᠥvxn_XwY+oxڟ6:#|SbsR`[ZM)scM<PY܉gcVEuuJvKvp]hN4(t
-( fBEBdqXt.0nâ l2cࠅǘI* A%ȃ,[R_*?h@ι2"搰 ? 0 r%
-܂C7]dv[Mm{#KXt]t _Beɶ<P55l`xOO a~_A0/1' vSsMl NSRp̰-F}_
-t⾤M"taok7 <r_ VO`4S[9d[%K f8Lh01~)/dnaeomNƇA;j=uG?}|븒OԖ-OZie/
-ia:&lG綛E3o_"գݫä5qu~kٵ%+~
-Q{\ .px85Inu/x-f$ej!pPA6{? RЬ{:Gߥ[]{@_ؒ6f{w3_d?YV]15,ynbzHO݂,+{4
-p1?M}qswzo/0w(i@{ô^+_nb[\U3/"|rO#d!q[%DX1
-\؟6r<܊ӈ-fMw_ӯBLMʰI4v"^ſmܙ eHa~?z,X鷮uy1_ [ Z\yfUE/?{A-Lڝoj{DNzT>Zn&3ZٙFm1f4'e#syBRWt
-}X,,4 pYкX-H% -;[]׻뭹B4[4V:}-֣qwrJ}7H.Yoqߖ:\HkmYLmmiݖ~қN-Q)[q戥ͷ'YWr5~ߵŷLD[̼d\ϯnWD.@[R<R,ͭZ\Mz]+/<Ū~f3HOݍߺG{{G(+||;,˞v#X-| :yy0Gs1Tw?/tamؖBfx S
-%e8} FRYYshFMfm< ؼk/|BIشz8_ˑ\Uc )|<XY~/R swk6/oȱԉSĝJ/$#bCwZ&D]"ꟈ'Vo]?gh3x |Bԏc  \]6ylǯ϶wp{ y?GKFV8\b|[ ✌?'4
-2vtwlwfxoɌwϨ߷ЋHŷz~S!kz` ? { [tQ؛Zނã;!7*~x侻R 7O !!>C^L }[]rk]p-ɣh>]BS_Qg(3VnH$ٿ,$ U7>O8h󉬼G%㸑K*' ʧWjCQ^
-eVP_3_nA՝OF̏و7R3Q_Jtwڢ4L8̅VK&7^L„V vvT%9))qD?(lD>Ћ/w#G U4mK:{Ó'n#'ʡƻm"x{97:4l)eOlIke%nLxY_ߥ;_½6 qKCљ,T2we'o4љzWFyVLIGӭ>O~N)>oh.S`cWg87-jtG3޽phq/Z\>ݙ^燽Io[UPUQOR|Ph`wZ{L FU ec)o]*೥lEL$M , c,(dceہ_ Qڍ1,YAڟm_׎Rkh4:34.)Oar]dyjEIB*eLAҥ1Ko@
-QhJ-Zz>s5&U) -+fp ~IĭySÛѿYeJ`|EI*$>%RjTR?Hnڞ8M
-"ns
-3|#ZGٜf6-&J%QueD+ mUVhbt'H.a9H/lg7&8SpKL*=1 e^X4BP .WV,D:Y_KhPgb"]::XCƯG3#op+>؂'UfhUh#\g1Bv*A)YRa<12XZ.谲T{+fwƟɌoM>TVL- v-:@b)՞(!8s':5: Q$611Fd4Ҳ4 IVjGGVLYgvLbc䐣@@F6En<kBӹQ֒.AS(<PK
-l{4
-9ӊ ӊ"+Jj5G^ x`db7ח~BgOs3!s8Mn'fV555.WZة29L9oN$o5WKNTJZ^H1<[<dZ(K2N9 zM7'k=q4o+׉R{t=|$$Yvɤ\{~^{REzzJf̈́/Шr'KC]zN[$,s7|aen/hi`­Q6Unl+j1
-+mTSb H.5-̬Y
-
-wr<}JNF =y[ٶKSkbN>ՠ7IObMnGjmjk, q"$ )+ mŠhپFNw<LGg]ҴzG
-QoОtZ#\O=z=n{orتwNXp`?vq?d8opxcvq簻wB׃$ww;#W%.vz>WKOet;>A'W{} {pYalu'q䣳f1fem[^Y6bf&Cm{ۥ=D7H;p9],ۣ=$Y~:u{]A .W3EwOSphWǑ]]؏՝zxݿa6fnr?{pG9v|<4J1TWv︷03i<{ɰ=tG+j"hyz=v^O&̢oO_k(-)\ǽ>Hu9GAOgoϖ_\#M^<%t-z@6u2
-Yro"ra|ro=g"xdR`2~ d|u3.*'H'udx(R#?s@=tYM t;^i`֫dxO2۬Ds.<zS7{6/.c-;SBNjaf*jb`y>ܓ-+E_ݶm3U:ޱ%#aȁk{r1;:3*,xg??/چFݓI׋;h?*9F%??/\_GiQ㢿,ǧD/x_q cqW(.m8Nr<p?7_m_8s^۲Aswc:~QGŘ^dlK^qB}co8>c(>]c6.l/aɯer9wB"COD7?.DA`i쒴 tϟt5Omgx2tWay'¶#pt>" w,@\âx6x^;qv{t^$?Ċ QRٓ &Qݹ  #(xrۧW۹?|R7گ?=rؔZ 'O?^{8>틜pj5dM>9nm'nk{x# gk=3_ Bf;n{|$^>NZaĽXlXf0xҊ0lI?K!sPYRdrNtl뛵&3n۔KjBgvmNkB̦W {.i ԎFݽo솽VC&Whz-*ƓrhN/O[Q+YI8]2*Z'H-&>{LPd Ԫ\u*UXs?:nw37v{o2Nj7B^X-J"jq^Ni⩩SogYz)["
-mGy{j]_hۿ۞غ[Cx؉kv{%㟟@o^[&\*S6<+OoRn<k2eU3jLg O&ޠۚt4딒c
-f1n6
-^]9\oO@Zmvbpjx;[kx2lyavvNwA&D΁v>yZmw^t//؊D0½#b@^ܘ:r+n-׌eՏ/~(^Czfif9{јps-roXو5<sjUe9#
-3cO]¬D%5v,EOQ TBC߁e='vq7dZ?8_-vꍽ+8C>tX-ŰjfGY)o,9EG)'dkY
-K++`c[sOkskzX[c=_Zm&E5|l_%޹29-^l+T\bkk,V45˭ހ|gg4/_KcdPSo?uxNuJ-FV쒝aāi_Y3UbAJV-rFo%XzMLwLyE1G,8E^/pNޅO]K3IinYmui7oS'=n"Hg7j|H#spA]qv( 5f;c l׻V!gn-?թb/QV䰥~w%'C7>,#5KZZG he_uvzÔ;a?FR\p6){g]tVTT(&G d;g-ui%:Á ލ1 w.Gr!3K, @Ӝv9t?Ա{k{.PKg"+wRunΞs.-3&*Bb[fǏfOo49>\3NVw
-z^G31('æIs6
-a\l4Yh0YMh88ޡdןG5kvSւF36z4 4Cj7٤͖=cP;e`bfkibx)yZ+h.
-RViӥnkmHb~Xyh˭9 |qħ ӱNJvw4xKwڿuZQwﮤB~(5q8nobJY'(_{-DÉi8.9[lo:ex x 㦆pTf+R3jL-˫=+;kf TÏG^^/W-9:v0gW\뵗_On_έk[?|Slnȇ,~p5}\}}병/tzpۭ7twgwVg}i˃׊LqUxuh5h29r+ds]|3g߾aҳ;]כ?޾6^:~uds<-ϯXz8Y;,r|i#~}/s;v㵟~O~]w/Vv?^N_t6:ۅCyu7Wr{˧kݓn=NzW6g-Q~ڟѕNVv._}ϯ?ʠѕ/G?x_:ĕDh~.[exk_j>|5{ލϟo\˽緊OWn<{yM~#5{k0o't+sly
-sZ_Rɨܝ}{h6d&Ә3޼ݿnWnyqnUgscgDpgW埏Zew<<9|m7rbrᗶڏV+[L-/y72x'ᶃ?>Qn
- dnƠ
-ώ7:W,Wb$7݃Wwk
-^DžP>D)d۪9glV[.?|
-e9%˭pr_N. 8/`""s"Pۃ*:M$ <u˻~?N(fS,,hf% ,[Yʣ,Y4V~~h]{F~:sUu&mv!ƗLao_~_?~V9IW]X9Bk?|v+?..ٳ+lp@A0iYC@Q?6Od|uKb|scpbOJƬ_,,oo⻣o@O_gQnvuԿ3~5zvyn>?C[{QۏWL\}:,ك?T,_z+$m\=w7|U[r7Wvzg}c^tN^~/uR`]\?gƱil 7ibW+j٧7Nkq/VaƯk/ G~U}yЧ"D7/=YymGr2Z~vk={~\|j鱰 혛yZvupcT7bޮDuw!dww_oXNxx'dqCmt7~z&Ap/otd?[K o|Uʷ_m<~rJwX{U [_xLE,u3kK_lwvVW/\^ &}$_[;3:}<޸U_oثW?~dz޲[|Y>|l1<YZL~;7\~% _e鮮lwYS}z2p@B0!tH$Z ssSugH,˒,YAmjS q3<ռr:'ȏ<.fH8{*#I-.:Z +2BR)<]hxCܽX^ڼx
-գr!Y.d?e._~O~&Z$;~fe%
-pݗ՞b5O {$*U,:myx (K+覿s}hljS<τP.O ֋<]9h"75KHrTo7jw*ҙ^n3m~wkҁ)r.Z#Zh,|3r^].~̖MUvZL~A:bU>n|3\|Ud<cb>uV2Ӳr W(#ZY
-b
-uL3Võ{((m,%nkIr}ZƧ
-R~g)p;\]
-lou:N>?I̙"LrKĒn_ތ9،Z; 0bGXGo?O䏛Ȝd":@;3c( 30% , 7^.B(h ,Gq>6S2qQ^Fnhag|Xbg@+OJӷ&P;A -@w&`~*!oeWXzUڵ$o΋q}ڼ~ E|V('Y4I2Ic+Ѩ; g"
-^ (SaVۥmHNդ{7X/^O}&8BG0+vٿ>? ĵ{_;p;=ab\
-Z>`\j|29/>"Mz@(\-<k|=*j$NhF_d xi(ɨ܁Cu֒B>h#HsI?uW~qp2\< v{zy[}ҭ
-n5\6oFSmdՃTgLʲ?I't$6ftKsK*oH E2e6m]ܓJ|(AauWb%H׳lMq-oZ<
-Y~E6\..4>o8M*UPQ0sB
--j).zi7:#ȸP  , :\`SMR}e90w5[N&y$݉C ,:r"))e o2}DF(D贉`&cE٠3^jΩ0vbx v7z6j;iZDC٣΃dk\ %B^~|gA!7CfVL˦Ew'H0Spq)mQӁ1CA6s-QoL{*s舯o }"|ho"ՕzK
-m
-H}(Wt2.bY^ sS}-<x|XqU( & '3̮|l<c/VϚ{\R>}Brg
-f&g.M'
-}}GWp~t[EWyۇ]}lŭA㊓{':(uL7.8<e| o*=GʳN쩴|0N(·l X`!x
-ߵG˷\>;5ã]yCa
-m3Sr75u2|-KA*Os
-v)<*HQ:;az ]*נd)AI=π_7:DU_e
-ח2ky[nSI^FD@J1 m7ߕ.Mʾh =k&SRΛU=3t" )HYHB|EHAMO]?FojAZFe -Da-`l-y4qPCH!rL!RFt̍g^4HW񟴸\#gCnTyҝOS}l[ k0'ԮqBTHt5InJan=B2J}_WwRփ tpq<PL8uUIO?f[RN?XwzbT9rdI}D]D1ng}7RNtbrK44N}z2-:<Nur>-c+)sq4iʔRӾS`~u!>-Dδxr*zP[`f}) Es܋cѓnJqcha\TX? ']CyFla!?%ɷts(ρ2G|xtNNmmhu
-ZdP
-GyGkwH"j1ҡ"KސtD"=@?HG''G
-RHy y/Bo#D"9GE
-R` }Qx#?/"FH^*RS(HW:EC5㔄]/tFVnܧ)-֭{/Di}~͉rk uMY10B3}hC6!LzZIU^@pK3&}g"Kdt|_xGEԘE٭rb}}J;p*D݉ 4{<dgרIR(Iu^0MD$myy]9<JJ6#zצ ',,
-ڀ;_9'#>0*0=P.O`{Vkej!%HlRlRMo8*m
-4tVbaFp1T,l_O9y`S 'Y^PK;$)[bjf]s=2\יՎڱjg Z˷\&rPg}Yo-x?vk$pˤZvX5>dRKJ^MaU#t0eV&!"'o7D
-XjF܍&&Ӟh%
-]/6lr)2c{ B8% ]:LKcӨZZ)/V"
-3PgО=v[zzW$
-`߮&3
-H60mz <=HbIޢyvZTYc# [j:ޗz7t_Q3N*vUkJ2gdDQ3ò?3˜?j{X'z~(&+&J$kJP%^V( 69`{#9,&#!:'1ch6j+,ٍno8Ҳd 2M̐&A)l :ޱp Gk2_eYI3{<=V)}uhnbeضq8I5nmS7hv
-Uf6TǷ1709R9i$cUz;{uDkTV/E>~1FSw%f91F̠N!Tv>h)vsu{R4Mz'Ԏ_.jՁNUM`N&5]vmfSAoi/A0qWd\ gwՂ'[|&gղGQ(`S54B=|}TiS̝ C4Jq[lo#0Is:d|c˼2#ӫP~_qm.wtL%)$mIzFZw5A:N~.wiveiphL : ȨG? 櫘bVdng$$#s<2{FM؂GF3I9NGN
-]4˫4,NК!U%tKPH= N L:L>r:|8}w|=,lE.ztN&q:N{(Έ;t>)ɇSXY-NkѶu`&p;XL$
-NC
-"#ퟑ
-"#±v $֋C~h #X}4l= 5prЩp(0prTj6=R3P2?
-URcbHdħ/jX!bbY <d;:!v7l-y([,ڼWq8A,UBz1@%.3_ߧ~x4ڔʩlܕѵHr"FeË2
-B>2,,B8#ϯɢIu$1G酞wOߑNv;^gi+9shvv(m"eʍQOCnNHXib\P% Ru=?Zpt6d? YAEzRhH[t
-SGCzΰC
-&kt%y{zakĘ'.uAGLy]P|Bnlp#;&<BU5ױZXh/f(T8l^3U,x*½-HdC3!m3O&EӫfVljk X&YYj{ԏ>_*cz!"jtƞ]vͦӳZ˦x>̞tz>A|?N/nGz6/^?~l:Y9{^tzLN!nf6>V,N/MKg1F6]~l:Eރf)7dar(Mݤ#k6r:Noțӂ2)S6M<l6uM?P6NMgcul:Cg
-T0'TJ3Q&Y˩7vjhFMJ:]L- jܤgNeTn2w9WU]Q,*Y,sG䲖Hg)@8>Y)tXUs+Uf Tܙz!a.s'0ƅ.ssL
-Y<pdzE`!Jrvʟ]X4Ќ?a4 =D4;3 A CAd:TןU|"xh*zgC{*w;&v
-11Z+Œ\lҴޫQ u`{KfmGPZjrc6P ;ߴU N`(FQ6
-wF^a;jO}](jzX 9+M[b61^C;
-Ann$f¡jfLryv]Q( B[03 ~-4&+IL%V1+iLNNPPӘ>Kf<+>+J|Uw+[hDvJkO1l9{ʯQ uKlq C"SŠb"rt}}h@9mTuVGJys\)aXz6qMl*z@$fU [GGGx|lރܡr<w/<ȵK+UT𬎞wJ]-]xiS$=ͪe& răJE
-.yj_QIED>iu
-R9K!]#SVĉRGd9}/zHH`m9U^_GvvGA*yb7w͈  tRT-YUVj>=ёJͲ* =C򕘄 GգOy/0J=YL%e}nǴJY#z{ԋgO,/t&Q~bf8iamϵMzJvhI*XIm2OlZ2 rTfI*VQn2 @h'(NsYi&Jk?k lWY4i+JK;_,Vc(^iيՈk&޼.mL͔
-^o>?Q^E,կܧ(UIdLPW8b]?KgC]׏Άk]?~; S+oۯ|gCPϜQ82D\Y,@]ê~-.q4Uo
- u;K]?tDSͭrY;3>K߳BW@m@ePՍޡ^2ww[u@?!o8,']k]?UGVg`맙.)\4 uɜg]?k"#u~J/jιڹ1{~sm5T/` r=>rrUO;}fsl3{0ۭgQ׏?m$eAvͦY]?fuuZAw#Wۿ$&c5fWOު3'JݻC1u}jXoO_ź~^Pϸz|;ejv]ݓቪ~mɪ~S3Ҭb;3tv3.DU?so']G]?EpU9zPSϐ#
- 3V ]?XqE޻ڪ~[哬uJaLNXϒw]?r$7p k)S`yXGuvԏО+OTԬ.ݵkxI[TqcM|NcߔʧZ!#30Lv,QY}V_.\/7L5I`>:sa|SWt2˯r-u ~o~g7&/^#\g=iv_L/O" VYJ=0i^&x?sXxMҿg7] 2;n\7cW</Kl:Nsvf'W$ͺSfrg+"<,)r|\u*>x3-h9Sn)'\`έޖ!N РK@zweWzB
-a4/2/||%DlV|/nd(?
-p*4EE(~,?*9ð] >_Y߇ 1`}4
-=Öz~`Vv9~i#r~!=6"dGO)`I{'naf.
-4Jy͇5<&+x>u
-Y'9J
-Dy.'Dmk/dYW9zH>`CeUFW|UhsoKt%3=aѳ5iFaeVttL>cҬ(
- uvŁ">qnbpwNj/dg+xチ.\?r[UW`q$))F=GMRE`ػTv.%9N?s҃[VYE_9*R]7YtkO<x`O ]]V3h(ʧ$ë'C{wŊB8?, "u;GgGHk`2Q;<֖9,okIN ,CNFWTRzǍ%)-VZF rޑ^~P b@ͨ~pŠKԠeRAFɈף!!:~$MqHW]P xA@_Bң'}=֭1_" [a>pg djM|T3~
-O_,Mu5ExX^@|/a)#S"= /22(J˻?RZ;{^ΛuaҲ !i:w"C ڧrtet⛚fღ.I˱7q
-h*P" 9&X uwQ655 _Co߳/)oj;MDHX%B6V #ǭ*A@+/򆿦*C+u߽ƟM0o8Lֶ6׾ n{1PĪ?i{s&jR퐆R_ͫvH#'\@l
-Sچmi9 VofN,8BNښ E*nz
-`C<+9>՟:Za!B=Bb*Bj=rN/g;lUc>G`o!J|JoȽR RhZ
-1 pH=&oXc`Aދv:hgx01bqq"X@,O8%G s6p쩅})A
-*$Z>OVچx_?W&q孓=nK:o
-ronVڠ2[/2<ŬCQOY3/_0
-)}Zx,
-B:8|@'п2Ec RɘBu0-ilF`sbSI2=q*98؞hp Ȏ/̬
-
-N8' z8Mb/6drD/ 9
-ˋ,Bj ܒ:f_BP:&6IX"<%@">3-qArEFI-
-'
-2.-~5(2x9ЎI!ʿ')0I&H&ѝx)o,y+$ZRR@q9,ïh; X\7zd)cV P@YQ9A֭ظ
-L@Q,n1Y$
-_ RjA xSK}gL")-7FqDhG;44cWzO{A/ 2)܆_1 nDr(2E , W 'TJqá+}7._aB4ko0ayq{dk?mq <[pb
-L: G&TJ@Z0fS> <r$Jt\O"p"+E. d|BW8
+
+£k.XeR2
+oS_AiT)(<tMFE[jf,(<mM(~_(<U]y/GC ưSTF)FZQxj)()d&SGUFu;dK
+?
+Ӛ& "=K9k"G ROkG:B#=x
+ZgؾuZQ
+j`KՔ* AO⩽&h]UǠ'ƒZ:hu!26+jZح`uM\5-LX]FʬfUmPYuZTV]2s|&}|tAKdzXuMYuU?{e5QᨺEұk'ɅT!zPxU'sΊI΅8NgaTT];)tat.RwuΪZHuRǶ=Tq/T'ͨ:PuRj U8*KFH:>V;BQus:y=@uNIQ9u}aϸ{QNrHOԩauJ<ǵuUuslUu2m&E~
+ODOǎ¡snDaӝ'%bX}0.af\:}ҝ#KeX0Mv?<sL:N
+} PpNŰR4ܧc0GUsXtWv-*$ﯵ~ޕ@/k"į:|n7Ɯ:1'A>͟UuϳtcS6<=2
+]Mi,+s57>c:6W'1tݼs"P-|Y0dsAl2t@`%Jf-1t,-Edߒt=XF*N}VB<fhuZB3L'T] ۮn)A7ՉSfg:w\3_VtiI H2D-%#59\N JjQ t:s{ImTSƯ C!t(m5t7w̟IƈsӹDW t&RrvR*ӏtL!SIhhۧmT)'Ѧ<鸧6oB薒!tSF'WōJzvfA7, Nc:r?*)1YbЙYt 5oEhcnl<g!<y-ǜUt
+[@xQDFLpȇ.)@ uZWNy+Q
+C@YĊ93LbBlAgߒJ :ML(
+&_[n)A`u6WqxxO :~Spb <N̠qm14\l`5y̠co-8azYSJB okE pV6Ahu flQtZ5k3\#/!g)=zVL;CA'͆R'!0?0Bpno
+\%gNʮ5yK=MΜM
+, hxk[<Nw[9Eo?׶UԜϷj 5r8|g^ٶPY9)a5'zG9QsMi2GMy.rG
+iNAx jv1sX)sW}2'Kw1s,uJw̧~TĜ|uQUM!x9Ƶrڷ=Yr;3ZNE4v-y)$r+a(
+NjTs}_P9
+6m_
+0X
+ٵkJq_9BN{Ӗꎐ◄CeKC4}ݕ!Ɉ 9)q_@D>*CNwׁk9jmr
+}s1݇k`u9<Ur"pSd)Ą0亵3n`*h &"Gwf&sȑ8;!rV:w t-/9ރ!qobgfA0!rj'\'{
+S5 0 9]f!'q% rtO6*A vߓ ҟ{Pt
+ANåG3
+ANq+C9@ŷv]r
+O?~)&Akc?No `_*>>N>n0HS}ݕ'j$PW8ʢ:&r8.J#;TwB%xE*q{:bI
+`N(!ǢũW=wũbűMFꆍ`F=ݶS>E}^AqY(E~}2(N㝹$@qD6[8bG+(NQ
+<@q u?(NAw&x}\8 *YcPq(Ogә}Nb銑 V{ĊS,g<NGXqM\8R@@=3)N{(N7jn?a(&)(q( HCKfiϱqrUꄵ߰N8 p-*&NM'Sf8Ngo2}XbiEs4DZs^?H@;܌Eu% p &
+Stϲ$Rp7 gf({EEv;v>N<eU_=ջuە0ڬG+ M<?O*u{; tSu8eDzUqn\47%2079,7""ɦ 7^1nz=AqSkǂ)z\ƴ 7`'nS MKþܬ\*tݷ<~3Rg* kۄ>m;ˣ:qnYmS;?S 9)DD`N<2 ۦ!ibH ,f+mxmrۦ[5mzmض|R-ضq6\ԶUXچʈ6d&2&4ֆSϽmR*S4ߋFB2WBmC}0mR(8
+ju:
+MapNm#M<YrжFu-h-yIk1mMI)cCT吠mwmʽ[=m '2M?<{+/жF}Wh[z چB m^ٌmJXfrۤj0n<i6^8 %mkj5mR)ܶOM"yP۸<چRLmk9
+65ԶƯ}m5^6&5 EmR4]Ͻ#7 0֟ &m3e,j[yݤp jCImkk+IT_ԶdR{ej%6~;8vj[Bfj-7F>Ơq[)m6; jl6v(tqEͤ5s+6F۶DpU*/d}dd* lҏX6);DѠ+m"֌aqVl/fF~Szb fl{a)2o+Ƕ)qFư`۰$G63(nĶtgL6e芛6Llb "<m'kZŶQjS6:wf
+imZ[e۴g۔ǣ;&4:C$*l6! h+KFmtgMfR-C6_&rZiwhM+ hz=4Rw"8mCQ 1w*hb%;Mf&jmS3B6Vml6 6hUQWmZ$2m<Ofƀ#\6LN{]B_R6 {6y_>wp g{B۰+жΞ"Cۖ)aIuhnXY?o-<6̭1_H6D\$چr8 &ժA=mR45fi d@
+ٖl[j 3ddh&ajmĶbAl3Dlo"(6m؆m^6Bl>QmR^6JئDXi8mt,C6ql}Je 9mDL6:֘ȶ}̌H&"ȤY#P{_6^WAI%6ZCO3n6[]NFuMDѹFuS ݄ۚgE~/dh79mU6g;^<bk#3Uym*X0K EV޿ɻEYTkI6u>dkO^Xᵡ>xmQmR Mlq`[S-QbϔW9{u^Kёr6)tֱT-dN~
+Pҭ6࠵) ̢[ޱ ZY>* 9) ^Z
+
+_#^cָ.5n8xM][B-M1k}05: Tk tZg}Ikpkl6矉PCwN(Ԇ幆 -%LU%Hk*J ֩ Zӛ,FĬᷔ)kSpw{S|J;3؂k!d}k>NX6$v7j?Q2Em6V["hÝ&YMP2XM'`uV;1 WMUCEU<P5Y*S [6yM2PmS# ݷHt 8SW
+>K-)`YrFBUEmT`d MJMDf̼<hj4p2KmRk-Z2gsoQ:o0@#Hj<i5S i$g_jŵfG6OKo2GMn;SFMm 2DMF4v{!rdIC1&j;>m
+6OSKSww2(r.N{ɸigwo~_şih_^wٿөOhG~??o>/5>?7N_ſo{[__m[O[W_ӟn3_Wgb}Y_L?տ_՟⧿|ֱͯ7_m?o~ˏ~_M]Â3ͰNwUV\ HU⥿wͯ_Lr}J.(Ϣ?gznN ǒ% ׿?pGQ*zω >!Cz`ׇe{w[&WR,̃e;ݗLÌV7?Qb#ޜƝPG߹~)\ޑv
+->li3_{=y9)s3p 16Fj\_)Ň)Xb&bل~ dX_Ҷ{~ݎ}ݬNn-qFFIiCCņd:n1:5`R>#Kj|*)hG|cxiiGhJP8$ ~LTq-?/v''@8ϱ&<Ci_3E|N}J)
+8nLW?㗀5LdS7m2t&RP2ď|d6?{8˪J[QaGm]lMN@l"Nx|lx{oql ?d&]2_$(4SZL473FhWX8h4)8#2 B.%Ԁ#2V]9T"dmh0L^ XDFF)''{CՆIA#f!-<1N^BkzIO0
+6 }V sRꈛǬEQAa"E~'@sˁm?;'G$\Hcνk*k\!cHV`"5}e(P1| [݉5P6>ϝ؎d1^ًx\ifgtP )Ju6
+#5b+dhq'7Fy*SV6
+ܝl ٠D:^7h1"N"s^)Y '@dL*3bTw
+'6Θ?vE? ~O"~Z; t
+6l69?ZjYSiO,=qL D$8g1ϒT'k8IXrDؘflܐäm pf g勍3xpj|Ts㫷bHFc!DS%;e8{v1{iP B!ŤOB*_%͚XCb7dfE@ ;$PP{h@25R {)J9M+b$0:yY \\l3Ue%%nQּgi7Th!XW x;HwdRE`Hf'2L+ź>pNH6zq q`|`2Q (#ÅM1Lo=;|A9o% \"$$?Nk} FrNa
+4*GDʍs<`䍂4c0GxPCL9B H%zHB&Cd(?bh Jo ƛ4I.bM"s2=>oÙsos튭UL 6~0>}
+6Uu]ߺh<s6cM#>$LƉQ &d!)XM61.(O.HOl}amloB <0]F]ؖ.,
+Laùl8HokQ`q{㝝ho!ȬF @tS
+ g;e5Cl]\'qW
+t75eKAM/frrDǛ&M1~k Kp{$L&W;K0fa|kxr7N!}htk$K%F40KQe&`F)PT~cSR=
+68[6fT[A,=Efd
+f2+GF
+<B@UM
+4$+RHjJ>7'0I ^o
+Ad(6G&5L7)h,GH{<mC4RY.J e
+&Y;~_^)rցwQ+3J_H  Dܳq`_`(]/$&iW
+5/̎
+fBfUJ1(&%7L֐:aMHn`Ċ!B,MIʣ(Ć|Zc^Lm XJsMZCm~6eP˚ڀM&J#{"1iKA=)^lHցT*>:
+%
+IdHsV:i __ݐԊG=jLI!\LTUbd3&i&n tdPd:—Y6nyO7+s}s.U$ZU N:}ҍ*8=rG[zNHMzwh&3l1H~lCmMw(ѰVEBtS1q
+y{)Qh:iŨ@s  `2ؓmI: ]ЬCi[^a]Fx-Z$"uԇ'hF>bں(4F儼1n q߾O&FOL܋VT̽|pQV
+N%o2s AM=< }2]yfi=ƾ#"7th뉬LD?CLM>w#ͱ49L
+gp$ݯ
+U, zX,ZKxF1ƻG
+[=C=!ؼ'ߺ5q(
+|XjhzjDYnT 柝:k(9Ced1d59~FO9ITf
+dQ$`Ԍ$m_Bb6uQLlc~P͗~PE vgNf鷓 b MB}7.
+V"We{sjgv7VYԢ,YX٭`/FS][B^0d%7.]@
+2*jk ƫSI|$|{Ȗ%Hb m
+!08 ~Q31g޻&d5y'HYI<Sn)LZ5'@TT)Avsh6~\9!n
+gq
+ntgS?;skSLZ6}L#*y1]Smն}.VzZXOl4
+LJthW`P堞LJmkZ)V}GAKxjYMvVcS'eF3wE' 愙2v&ưQ9LѸ\(G55*DJ'9M;j*['ru0#a)4E9yX)Ԕ" a1YE]GMY&}MM2
+0ErvXԒ=fr-[8=\LlLX^lEKB5*7U Vz6#$\,h.D%Mo{o p;-;Ag
+̍4.ZfgfS &w#ER`ӣY3 endstream endobj 88 0 obj <</Length 64273>>stream
+nDd."( d
+˰e1s9SKs+m+!Dw-g(Fh 3=!a,EZ%0gj^q)MշZO @0 F)}MYGzJG?wV*3K``\ `GEz-A%03˾.kg)T} Zifo!11X8@'4VELAPlT/o]lk6بEooLGp1|igU&LcmpQޒbjj {}[yu-xeT
+s d'~TyQR9X%_F2
+G)ZP|gX)SIs9ADWط3
+߹Rpb0]1#dx91i{Tė#|B6Yuy#^sAhox3qI-͂JKy*{ᕘM&1-F`n.
+M`X^M
+QRb>e,,*ET
+ؾ*NyyGz>Cx|28brk [<-ЮΒh] Q
+>(  %[Mq!9[)8%{z)pIR =FiƘ$QJ[l~02LC^j҉昝OOQL@<#8Q"nGޞcԒ䡩R˸Gs*JSΣM7NrþKޣyOK@!o,[ *m*T1W
+Ǐd7 *ܲ*18,H].W$b V#9#U%KGRTnTHdʢ%kTĎyL??;CQ^Z2\2->E ɩ/蜓 K,%t>Ylϩc
+,5'?k9f=?zZ8 zbD7ԭROXXQ_3.I18
+-ƙ,ӓ k4K5D;wе
+fA, h/4)¿M/_i1 8hgÿ'|h=\kK0$!dK,=v
+L,떼ό5ij)qYif(j9i Rpl@Cw5Rsgx9f0зr:Mo1LIzEuh Ȕ됹vcmVnRIS"-5&7%1%WC?g$^DjE?V+hfɄJDȋl;-q9q}=IFv" $38ެQ[ /j
+tN[p_(6;s,8>1]z6a\дXIr~oS[9Q"{-vGRgdv\nˣKjs'vN|W
+6aiZ770B3{(b4-:lmq^}4ŕ31z
+'ƈi 'O@p\̤qٓ[Q,E[^GSpdE՟KHE^m~kckZīJ |sw:ܻc "IQwRQ)Ix+hix }xXHĵ.rk8wFk5t.kq'c:nʔ~?= lJ# NpFW
+fv㺿T6}ִ7=s)Rwq~%φڽ ǙCf3{ǙgvOZz13ۯټ/qg;;<ǙP8LD43NVOa<D,~y|9ϙǩeb+"=+ym+۞=5۞ۋ#o8חH۞=홷=u{&mϻmj6q./mb}VV%z%?Kh&xT/y~}]t|JaڹNvO|C Y9iv$'V{}{~z#MLx.[RͷHSj}>}n}Cwԟ뿟?HG'Vǔ#(wKST}VZ]
+g7W޼,>FmnxG7>4d9H. /.Y{FNއ:y8n{ Vd9h yL><Bp}.$B'k/)}>zഏB۟_q)MwQ?oڕyo۟}iyc۟ɴOmλgۜ6珮ms~uk:aZ1>7hݓ/_痗7oˋ?:CNխ9lwRHJҾ͓/W
+u7oo_??ګ*
+n覶zk>ǒ>ʔRo>Wܞ^?dg+:ˣTZ/vw^4kѴ?_P›}g>r
+2c^
+K{)p/HR(n͂D):m`/qb^ ܋x{b#<# CyQܼt%ʁ3П}~ݐ^tKȰR(>_sRߵ/S}׉٣\ʍqi?>9ͷgwGr{ChwXRo%]%G~qhQR;NN>f-wOyDlֵ?ڂLV9lwQ/N!}K{{.OKطzo\'Yx13k__\|3lzjkX/c|.|o~{Թ?/7珐K.ns}qO{i<홧_U~ f,^{׮3M{҆ˋ?^<<?Xk{꼬w\?"Odd9h?h9]y Qt!a=]?'>/}҅ =+/ GU/*8|$?<Z H/
+>}ρ?/n_99<F-Ӕ}>#*/َaw@㣛>
+!{]c ~<{F}d9y7ާ?:mx>碒xn?ާ>V
+ȗc?[O_ꫛ˃J~q~ZW?;;|:8x(.p ^ j%VPnlSAwR9P꿝˹Bqq.]K_}]Ӄ# u
+qꆜ<|wS.GvjgGyitwCqrWpqK!tBqJ]+ 'utx>ڧ ǡ>dcr0Uףq u&p\qq݄FDl %|~CzP':sE nk}v;) {euTb?u돱n}<>S cMuMu) Cc% Fu;o=|E{RA)G]Cb cL2Z!u*U zW2)]Y:EwX0x|n
+N0IQc$VKB2NKX
+;pf>XVt UXE׻PR{QJ+>WBc} 8}Uɗ*:!l LZn}v u.ȆW+Rxݲ:'éյT,/8z:Ow -YVܙ>9e7D`3[X׫ )>Ur+*9#-#٨‡W a|H!
+0B=)k*R5d.t)p,CD:=GPJof׃zPqr} 
+sb#GX߇:xmqb
++\~N.n[)uz}mKvޑ!p!=n{Y7$Q.c:^8Iv }!g
+PK\|Y۸+JxP
+5&2kۜ WD.d1$E뽒wzu* ӍɪZߩ2^w䊑ʊxqd<:#rz"H`T"D-ߊ$y!ɨv|B0.*v JfRʈ
+;R\/ ~1[yL_VQ)'⤃HMc}rRXhN`zt^; :@9zՑo
+q%!Ņuvt|u=|h\Dɲ|V
+*A/:[
+}Hb&(!`%>Y-AREN4ZDzx](30#7[A mGN=AG-wfU]U 2x4;;QAMF}XAͧΝ$^OjgIi^G[T!bRv@ipdʑ6*
+qrn=ꨣNNp;2GFws& Œ
+;xtNXX)%Ōsiq0_6s/L*mDA_lԞO)UA8X跎'y;=@+AnpIW32ݕNf38o"'4=RFǮ/|f;Xp{S,].^|7^,81ŀ%,::;*dtr5e F[@veiQ,Z!'!YX
+ Q'|2ґD=$0 4
+Mzp?\jZ=f~q=>@:gd4fIze}$:]ͤsPPQ  ԒոN }y(ly?;3wY8z{3Y:̼Jx۟`%5 XG o
+'PF.ng"UPSOSV^7 jځ:Ub CtNo(?10 
+2? D"tS@ t13RҡJ}W)ҘgpB֏hqP8Mm а?iA\SLs!y}G3%~<u+:I $lk{Tf"V|W5Ÿt;
+/^vE*g8 M]ONHk=0!c*+nH^ 9|w0wY̝Y(WDU
+(LoS6Ì40) nq3k]~ ˰+Xd(}=O&eAb7用VJC xy[orV9w<𶗙CNҕ&ƹd%9>ĕ7QtWl+D 3~nc~^o9
+ +CTs ˳swsݷ M+өVܢ::w xM\=6/<(!c9yi)}[_=a/rkI,`9&F58 {HqP”ܨN&A!Ba3G6aKgtpۑg`v=@B-ѫX?s`᩹9<Yl҇p;h|1CW:Q4x6x̝f^5 ϛz}Q9LlB t@?PٍP^sdJ].uЄ:Fsxt\̤/SeKLQ٭:ҽ%B&Aqe84Gr\)Kӳw֙!y(.|~gpMkP dT
+o@]k3O@2TRy~gk
+bihR;;U3B
+oLD+N
+%k oU`7/ŠZJb4iV}E-=U (G}/aB
+4* 5 zL2 7o'7'Sl轆b_`A_iJIG"/T5pwR2.5nT0LF}N"W '\-#ƍ4L56K8|!'0vMX .i 3[zX IUL'H)WYFW"W?J c4pt ,PFA
++k힏%{R"9G[ͼ5.}%fak_mSA_~z{g_~Rڌ%ڿ|{uq}zw_enbOlQATIcmʇ28j%x ?=Z/,O#"
+ZtiϾ\#ïoO_]_F ǹ=r  BϤXp+4lc<*}a-zg^f:Ӷ@gil`{k d%0m1߁Z|}O;\Ð4U9;RApȐhmO{(!xWXD#;{Z{xR¼E!{o-TIͭ+&RRk= yui}+iHwkcU6TohU< WN"4K_&=Jb4휙UC
+2d.P 'OJ
+WỄ4`J5j&A
+ӣQs("υQF:hXUJgͼ^# L^#v[GYP{E!H
+^Izu@0^vӨ@>qe2deJc YAb4
+G[e+s +YK3kc$T2sؽ0wϊB~16 8B1sd^7 "%'K}K-Ap1HBG:k2DTNX<Y40%a>)";h$N +Ef<e$yRԂ'a`Bh˲ Rkx>NRN!jĵXtցHp=SxFވvtd,u SA23.~D$bL5[%J2]W$y !s=*O2 y:~"u&פ³v1`1ɫQ" ю! suC` QE}Y8<x/ɶL
+;Inxs d "3Un!uHeŇݣfD½ֱ('Db"eL
+5LzK1ZGˣ-E~~e{\$ұ YkXz u1JZܜÓfz.L`Af[gN[&I
+K88&e6. Bv@/axGdiI"R1YEAx`f`QM UQ j5V K~w-j򘡎r
+ ߖbg,&x3/yј Ce2EU;0>qQ2$so( يUV!P7*`:Zw5>fRk ADaCqUԆ[
+Pl
+oNZ$u;i;AEC7!=c]Ҋk(<T(:|/Yt(5$}j^47q2ݼX׻L5 BB}Lhp"[_z@A ,"fP
+ҜWT7_ KCJ<oQK_XeB/6yJdts=*%CA%7a/L2'jrl}C ]W Z9Rk(+,c3I"
+}<L k
+r0dѥJ,(6bX#MhcpUJd_B~hEFsmy .Ԇej-Y$&"5 v-nk?xc w4\}XMZQ*;̤nP~Kac`asH{Nፄp8R
+)?M fRvDdgc:1!N^ʪ\lfd 
+i3boFS" '$ ּHgZ&em,e:ASoˉ>Aل#LUL2UՙIUT A%wyMLHAgܵiG.Qc.!xLS4>GIJ :Ȓe/X>%>̠|ΛAQ%/a-9N*] $8
+PQU
+~O<QT<RΰL;ZFYiNiQsvl]!esT"r!/{#WLrs缢3;liZ"m `
+,JG)z<0fhMIz6&B2*;fp( :,tu3~x($RN$ҀzJNeAٌ &8Pmj=r"r2t;jHʫAN?u2S%E W:`M*_;Xp#vF"Rv[){M"tGu`Ejg7|2 mO(©ewoU/߄u!)ãUf.df\.Kq*Xy+"0CЙuݎ76'K~ Q,zOÕ$]+
+n
+oR O o;dk
+@KgֶJoҖW[߲j:&/N3SAp+_FIv!9]x;5ʵ:-P6I͆ 0V`l
+D© l6 h`Fq na~HZ*)annǪ
+`VƉ$-U<WDQM@X
+vb{Ҋdkn$ ;Ţ{]SGCmiS"CʴjQC
+R
+N@t?z +x Y϶zpw[ n$xc* MўR,?e*1|(cUk!P$JG"
+e`@NrDL?:r-^ݥnG)UPX3~m_crbb#vFLG.xTlD(˄k wR{HL JF^b5+A*&*yd\4 D|y$C m<0hਛ>NGD@^2 JydDܾQ唔ԅ7s,<:)3iP4;`(8XvȝjFIn0h^ QYI4[;PH! րxiN#@DbKPbCBIT rx=±
+Ug^@4
+IG\GXc }7\E
+bc!TCNO]0
+R7LH^;V
+FC +-f:QCԀp@ aqY#xj,={Ut~S |вLZc| dEl48Ox(,!Z3恀փS+::)KO}jow@~QBG(~,{mEju9NiJNOg JN[`{$s1(j}jp5^
+]gM؉µ:T֣S߆x- H5LG'hvS9Z6^lY)|
+A~MB'1A>cs~NHǀ>D. Qց!-n7#A6w%KP@3, B-3B;GhQ>W[H="#+Rq]"c\Wr["G\Wq]zu+]WdX۹H="G\W8#+RH=u%*ŭH="c\Wq]zuE1+RH="וH="G\Wq]jTu+Rq]juErJ2.\Wq]km"ՈT#+Rq].F$-5"ըT#+R8GcRH5"UuE1+RH5""Ո
+ܻsTc\Wq]juE1+RtuEc\Wrlju%s]juEƸH]w]zuE1+RH="G\Wq]z#+RH=u8Stca="
+u0BPXwjHXswuքuGuu
+eWKz9]r!Q@T)At 61'5dt
+č#{ 3^2zpX2RkVFϬ*'[p2z6[]=VL
+@3ٳ2zض=NFv^C%%! iP̓lrDPⱞX"2vS/ׯHFW֏Ds&K#; YgԾG&A)cz+ z.8 f!]*g0$TqH0x: o-t
+\X+
+fSXQ2v&
+b=KZJ_cGorF #l" -YX Y$<+U)*H(V:`^>AT,IxaX0
+VN@o90D΃΂r^b8
+F a%~"M:V@<2 { 9
+Gi+p^@oBFʖbQ= Gql0wdi_{= `6qϋv0J
+a3kfp MI[/{VwI|iQsrᵰwK2/\GOO"_LsMػz@`3zg m`"d=8v4:3ʊMiM.H'=k 1 Ī 5+koFN+@08g*a88F&NZD-U25BdƇN 9@P!T@H*nC8v&`Jrg^s$&att`h` ZPXԍ|ѥ
+.-J}l4{uQ?@}%ZEj̯ͥT+mS)|_PU\:OV S)9Jap Ó/*>NsKu
+h+?|zB.4EseHE҃ܙR5krB!khb6| [mfկ,lp1=Z
+,]3F5/y9TA"gw9I aߠ|pYóY%a-2 "!Ю\XpFͪ
+Αd 䅼ro9p.v j)0ǼJC3>T׻} zSGtzdyK sUQ_Bkz[O
+ {OBchg$&ϲZ
+)Lm)J՝7K^aԾŴ)AѸSHn̗ p)Vjj!(\Td/'nbF7 ()8:o۰"6u^2eURAWgF\^!*nl;G1Bs^ɖi9I-TZm4-1ǂc2![ ^& !c3t,'4_F1tƔ%&QR0'([8>ZN|aQA !DX?W`j+4D+4eG:2Ѝ( @g[d<Rǻdhu4/[;/Dn,wEw&^' ";Ggp|7f"F(⵽kJU&ci]@~V DR:&#Kusaa`¦eY'H sCd/aZc_v:
+Uv%N>.պe<eM0MKwfB-DZ;>~r|c>4EcS| O*DPahUy(f;lԞrndv*?B{1ҏ26:3`'
+qU1bĻSi1G%b| 0)Ʊ؀Fs0ЬaC
+K_c_T w.`cTďF-A/MGn{V={Ԯ^,A{aHO(o-a eIwO=eHuTBE9$#(q=2" LbOF=A~U9O'Ҍ ͹r,eW9e["C9Bds"El kx:Gvf4,^ hmA#ER]aYj4pBF>g~'Z+w_^y}*:5BNL[W;-ٸn@1whؘZ+G?Z>=ݸE{n\樹m>TbQf"a/ 6ma)Tnw;vwvԏ:vkNc蚝7(SӍ'&M.ݲBza{ْߋLxkucX/4_ oƮ[3"U {>1
+$NwVpY[+uf岁bSmeb djsؑYCǛp1mI PC؝-a g[@A!d
+S:3gmfdS@d0 RHԡ
+d
+fl "qADdC֬Xv=3yhBUqL7kpz𝆹𝅥<e\xٖTgOc
+[777Z͞a@")mpe@D 3\\q+TP,X,PIk/`5{h5]ti W.5H<9cqA \>
+%? 5וYSfhpNR_6 D;4"~ ))B?:5KdAO|0>(kHxÁJȶvҟ2#_2&؏¬
+JH0bݨc@\rQЌ81TEYD( \vIU9{bRξ Hmܫ;N"SPJɯg
+*
+G4,9"c$@e6bQg
+jYrᜂqG U79-`f\0HA2AO*@QZ[nFf4X0l`G1~R)"{:)E^GS:8%BiXŜfT]pS\i|=Q}w{1b[!YS PaA oTxTôK3KR#i drI1=}Hf1/%?C\:#oRRR#f(+Q@+*\
+.Pp%6BY1cbc"~xYs3'LhSUN|ȌL*f)E! ѿ(pi#؍L3/l"FfM5*H'⌂DbJ-IoOq> ?0'-5 ,kT變!GlflA
+GtJy212$$Ԁ$`:
+5]Ob
+iW2U
+ BA8b3ax(L*ҹE
+-i#2٤RJ(挝
+8{ nyII?BGrGu֠YìW39 fZc z
+7UM!SX&? }.+G2gd,
+>;9kF|1H|˵˴XLWrx0Ă#a&QҠ
+B 4.
+@!?70H$֚ .liSN#"Kyh*f`M ] ߷ /-[
+.<+m HUXgAsX9ϴM9;Ar$fVڍ,0 JkH'3GIAǝLX|1B桗I bIۢW^=yg?a}%Jf% aԄB$u1΄<9*(XK 'd#3-\YNfk
+z!+ -Ȝr01s@QB]fN{0!L[IQw
+pеat}`KzENu9 a| b^p"wv$^H3
+ )mvBX) +*g Y`;m {t4圚R-ff6 )sNL1$}<D;҆@D@( =-xsD.8#{Ɯ E"·9!?=y`DvfjI @se" f) +LA͉!6lLI-%g5
+9/7E&KqNx.p'C;lk )B 28)/)YabbmZ{, !f:.n
+zǬNl#u<W 5{"rB;Wx? .0Xn(kRsw dJ
+! R Fze:ha\arMIa 5##:EbP (1Eꕌm9'%s`ӂ7zLieN1סMO *$%2 VyH↏@BCַd(R <<sCPHp-5^`F0fHE+Ϝ$" :ij`JR@P@ns;(HY:
+O3y)mO sޑيJ,^C# V+ 2aJY,"}s
+QrĮ|H&Uq~F67mYmkɢi%6\H~"N;"vWBF}#%yNicSXSw(X-sOY58N,LwS,X`,VRs9G8~ F6+iհTx*O'悲1E{$˜TD85lؠR*@Ly2]% i $HJl(A-Mw2i uiPp3VA&Q>
+x90^&mH]s%gm3@@f@ҼғF=W`9$[۔G V 'NzK
+wWR\:'ʛ_<BN# lq[O5n>o7Ͱ2~
+/{KnPǻ"E{_`ﮜt5}Sդ)6~8CAS+:kwwWw8Y p"Tt>i%oX
+/zѰL(˸(FEѠ>E)X^fӍmmGVp7֞Ni= % EȂR.w7.TC@~^+_`V93m(yf-g&|j \i?!<^H&_n doo'f
+X+`di
+Eր|לÄp!WRtE"O"YV) ۰('/8h1fR
+xAëm~?"AD X/RO4J{ ?TvQjnW]alv9v! 
+3VZᏱ;ŸcwNU4mJT
+ X†Aa1dBwew l -6U+5rʹAbw_/W *jh')Ԝ:uy@g[6,Ie'wB(97t¨iX5cR#U/rjCw4`WC)I- % CqՠH8 h}{FA*b<MYh&j ~/jq 暧.2!-E
+&orr'fr K'qȴ㑩OhTAO{<rX:s= {.Zm"
+~@XPNکFw ]Eb$PPjP(-(w% n9 m}lӄ<}$'8\g.NjFi2ҒI#w{G#Hx33 &4xx_
+QNL-vڍyov5Ǖf7:-[Y996mntcfb* >_#.6 SafzQj3׻͡+ojATn8h[f1Xo+v~7 Q\ ,wX<7aN3m>gtA3\/mPiO4Kw- wTsc軕mSRR[oS39cLB|W (ُ_scK][cktVHO݂,K7
+p&?M[q}wjo0qŒkeOF6pa\Q1/222:KjC"tCT1((ޱcHѱ?mxs+N#\醊
+17)&ь?Sx%bq{g=}1 )̧scn0Oݯs+Zt\Pޠe:3E.zYg1ma{l}N+@h3<Kܣf8a}QHٷM!i7jzEŏ\̮c d~,hI
+! $"a ZK egj{1ߘhLc{9ߠ7\[_>Ov64n^yl9>
+I+]Rt?"9]qcϛGY+qZ .-K[~kx ڏ7'}SGw,\j>nR]/f)WRCZH_4!JUdA۷vىK7Nv[dv-g?.zvY? 5g#'`~6 4_0(myHʒg'_l3z:G>t5/16pSrjv=j[UD;xɗ?Á%Q+͖}k[m۾)U^P܉; v=2;n@k_;J(ǝG_h/"OUlV?}"(3z+VA.(dzI ^?߂zݎ7v+_E^p3q DV Wd,aO ~so\Xyq z=+"IP~FY÷$(*PRAI<eOV#f\u;??<gQMI% :;mF\@&D \!Vog}%R/JHx})Hn@ksDK?ݷ'w|Ƌ$'}~HT|TL#~dHgswɕ$R=Tx7 TŠNA|xq2W)rXRH83E^92g5N+Q?h7}6:p^Z_i5jU[Ui=%>I~Jy@'ᛀZmwZ/(>24rLBSV[lGzstIS$oi)^D>5VS:67Pm76%nLre"^:S4<c ltV{6i7h$2%K/n?nJg
+K
+W
+(
+QffR2p
+ ,U{H% 3MF~ʟMW,dI2DA@T&}PKAi}JެVdUa"OyĈ<BdYVuL6`V ЉV޷o$mL*YjE\.KhE*ys%]z n@yLGIM
+%̼0XH-AH+K2}~pء͗7
+mBX\viIQ*pƕ2/qnAINۡRY$H<E"sզFXѤ(&h*+E 3&2צo,Z 5k6KҾ
+MSssS#C~Et, Km@ܶA@]
+ti\Ats{qm3W>q"-2]*R'6BD8Z'f4IifN"gӁL IF4:ifr#dȡHx9玐vI;4!Y;Z3ZEIƔM׼ه'9# 8"ӄ҆Zٔ_G k#qˡ†uQ4)Td-5/>ڰ̐:c;O4*Rb":aSbLjEjD=An5%D0j$I5bZT[b)і+i4F= "^sљJҔ&gv$ 1|iߊᎬO]'cTJ%L2ӌ$Յf28V@`׀)j-Je 姆 %`]hrǡJÅՠuD
+A2lXf|N*<R2+7&w?cj` +AE-0^6-QR*3DJJeA$Pu2URn i
+ YƸ_Ӭr,ms t$D]gnp?JYK},iSalːJi,BF-_ׂBr4ӑ0ӗgƪUepf7^2kx2aQ;w0?lׯFfiD۱ZlmyhrBC'ϴO w2y:!
+nƊL; -"Ķd`ї02 ϳZ
+j:.HsR{z?D(M";,Q7MsBdk KgZ\jc<7p+U|Z.omEm}'ɱGx?ŖO>fRSTAi+nNߗBK\̫كNJ0c<Xi1-"Dao55b
+^OC:6f0t-'&A%y|#I:$maYug$9yʶDP6ZlCfuEevZ`BBI{HYpŅUWR*$t- .eL+!KC?ZZנDDs eJQeIaED3@5À#Π"Ӥm;:KsbLHqԦkh ')w勼F
+QF2$?Z_=$NfrEru1HjZ[]4 *g^ɟc0fl_\2*\'-~\o u`.N}mŰizW{4ZȁKylydMƍsp5vT?GAjv^Nv Zzjѕv[)f 7dD3^?v51$ͯo飹-;͡3
+3~uǗ5] K??i+~iaU./Va0QyzwzicCNY: b"#w<h,W#1&
+.=_ݸ{h 6W8UxH wWra4\ ge{L'ƋFn ;sdIje>u}lߵz9a?nPXl## jhTL76?n{WO
+or{wȨ)iz*sx6\/ iZ/Ryv1˯ھ%Y4*}UGj|RR Dӻ-Ib=}zrZV-\ZgR};uBTrLIjei/a;u,m7#9Ƒ|zg{!ehH`ͳz47vx<Ġ.>~0D ٫v*w3tƓAȣ̏-Y+Rk[7Xk~#w;}Ɋgd O*)iv{w75Gyi't6NCsP )#|5YjI2;+wJz99ll3\Kۮx#|r^y!+Q1<h7-$U56O'/ԉw;!Jwo7q*#wwЪ"/OM:~(0^_%TA[w~oƑp۝q;@(Vl4OHn;܋ǮySs2tZpq~Pu5U E4uhf0a+&rGmHѷtuv:gX|y焤uG:Gu_+yN7g/>;3kڛ w;HTg^4thHY񛟋mp7ŷw>~]li! ".4Jeq,7#L_g.{3_ޗ?2lvj/2t.’1+6lCzGoKT_D?[8lXɿxwTgBEK͠lMK'GQ6|RGPR[//O,.)u3Pïam2Rޣ;ons(8.:'䳜%\銼ە74[n};cg|m) Z" Պ, r˩Qgp`V)p=i2=m:}76/i#ٗ3}zQFqֹo[=FLG8\mؚ:cgx< hjغ}3h{G g٫jJ3:IX
+Y}cO<:j<D=Vd/G)9"?lF{X9C}84*e Rc #?ݴQO{z_ T=sЃAԊn(Jh˄_X'nl eRqKeζVb=ʶGk$ޣ{17s[8D_^{Ыm:Guk o\ov/9ؿ}xp}½ צ.t_wֲ޾@ݺV&BI2X-uqŅkǃ}9718q
+.y+7[G}iW'nW?YVf-6KwWofOWկϗ?t/?\Km׼˟=~ғgwfqë&O֧nMLbyy]쾸|0\9_h9_ZmO .?v̐+o̧KV޽<S|ui{Esdb0uҏVԻ_]\t}}r{[G|\]8E2__]ܝuyK0{d6Qnt|n.[wՏׅozo,[~?O띕_̵r7t3x1rwk}:x3_齽lus 5{hLfv"u<{|uq:lw#o.>Xk.\ZpUd-BE&&_*||>_/]/7o]ovX-iosY^L{~
+'W+Yy+SӅ?7\Kb95b 7/gѱA\ګSg?P!udZKgf,|كzK{S{1+8)=%\MM҅3y_NC||O?9ZJ'k}x+|.cDrKC]\qս`ṷf/J5df0.WN@/-LCă;r{&W8\;k;吃-fRنU"5VoczmӮ>Q riKH2k֝: {.CVBc8bf^>S?_yY3+w95=ώyb|q>ƶO?w8ŸVBzs𪬈ҍ/!<\`ZWh]w.342./זۃ!L3SfKf[a7? |ՎRs\ Dp_=n1^/;i뤷weu. Ä4'Qn~{{}}q ɓ/oFB/}KÏ,ھ-
+7r+o/mGk4Hv6O$ƽ>oΦϥt;/51:x>S,cOgf.;>>\O`s3z"fGR;>8/ g9w ڂƪb8/wdᕁ1U\vgAU &aiVRξ˝W(hTG0+v%:`p ~wa7zUq.GۙBIjz<ke`quSxǥF:hY_ u:''Ô w{e!92Ӵ_O)?~T5gh8Ԇa-{Hȧ"7\rOlz⹭8^KNL9<ݧrfeTLD j>A3/
+xS7Тd._`ԅ#` 5AH5fe?Ƞf5藏u_]WJG18m"~f~;cu葤rj\uĿrgJӱVH}m8gޛoP lncћύ^R-Y4R_MWAP!ފr”}WQVP9̾8ln|1~rؿ h^1K>xl!q6[ܫ{r)MK|`o Kwo oO]Y+D\O=fSh 1O[WP
+S>NW3Hb0r0{_
+O/[_zS?*\tntc8f>&J
+P:
+a> EƚDg֏~o2O>
+؎z2пW.XH{ۃ툝c}}|VvL/v}zjJ6"IoCM/&w0fg_\d^Щ-
++Kz<X̕fn4/biҷ$BCI0im2te֛HhAiN
+cn0]RMI?zk SNؼW6c^MLy>X$Vl\:`ގOYIf 8ц3<n|c|8+'RukIn2(5DqYhtfU ;pm’BkK{dc;Hc=1j,p W f!~Jxx} #ؘ࿠5~@vK\5 ^RVkбBZX%l(V_uaYhe K&
+=8OB#[{0j;</OP{q Gs?b:\J(w%pv
+u[Ԟo<*
+quU?
+ۨP^D* |r8[~Wt>qt |Kom4K(6=7oG(4+R%*EB3/w,/ =UP'^C7j{Y]<>BP֗*x9?..ӣcB^BN>v/7eɺЫ|۹{{,f|
+󋹭?B(5ý-'QB7ٌh(h`!!nr B3Q-
+(6g4n+A|BP-s,4
+J??^ ]BW'aCK= .0X6P
+(6fJQVPhqeR5o
+z_F 02O\F/QŢןB9Ch&P2f]^lpIèM+Uktf9Hz}kI[: | \3J2|!=]3Q~y[VϱR=Ͻf;WW8f~~&<O@~ڿ8T8ڻ5יAO?Y÷l~ޜc9rxA|=䧯ܱ1Nzgu;ıq%!} tw$>cP'}}98 Ϯ# ˓9v9d+6DzZGe^ D^+rCKQ? |:nlytzLXfȶ
+ཊ'R/?Ohްdͷ
+ۨ:GgD? ьUfV(H)o/}-/ﱨN..Z,Z
+Mu΋u3P0{LV!
+СX#k\4B* Չ`^|, E?PG-E7bPh ue#OVhO,jp늅6EC׫\<:"X|YNcfjSnؾN3I[{r^W I<F<F?y`ؐP'~~<+D>[Ag/%zeX&|'\ͤ ,ؖ>qs^!5*?ZY(/`)Ums/N$r8:$s:ִ@@*]$}>
+~dUqP)mk?ݫ?4~4;h˷uҎTyhCl˧!^Sd̪xmR3$xe,
+1>TIX]faԑdrdU_sޒy$yk .2'hV=^DB@:`cͻ<Yf0>rxOy׎zj4*?βimig18qe側`YR*,i6v IA)3G 0@vr2 r<
+aAmytgt/[& bU/ lF5B/^XYq6|rd}\tܥe m{ e.|Ct,{+*@u6υHüm=®q$ 8,iOaD[tݷVk_m;5Xk
+ǘ]'a)8?C8JD@=81cQӴTř֕ Ph y5zL`c%/wm nok@= &^w!K;311'1&,&Fmj-gD4#㡫gre!B-?=]y=3qse+>e{ v3# 1tt; E:"Z!Ӣt:o AC n#(hAG::w'aЙA,t)[&@`*YzzK!6TŰF8d~-ޗ~wu=1`cc>tNJ*s| 6=9Q{|4b8,!_r}ϕy3=J䣍V%+l#)BAg
+I?x(aU?V_fa >:Bt|)NK<;-9f eo6+Z>Щf@rٲ&y {k%/g A 0gd BީưSV|6bD Q@?+jA6.g?&7{'ꒆ4"$4̰D?eZ^Q(X!IϹ3R [J6
+wx-ppzȀ8g<w#v=%`'x8ݎCfx8Zl#H@JI-Yb"gL1vc95(@b{4:}F:,8"l!:;@r"(1 1s& !2E<l:0ޞ6Pi
+C@z#uRqogEKAiC#:;Bl-ӴHa#mOC{ 5#fv]P+T޻iͤ7B])#" l~;A
+
+b#R!] R!c Kb>4@ȇ:2
+F
+5br g%Z_u%3 n|P>/ aK_I`엎5B꣯!=]\hJdT<
+#P+]Irc|=Uнx3QLo{YOY*)_YO*wr`Sl7UׄꏡJ}1JS<uҎX]es{)1Hڠ!љQ&}Vy쒍>
+3R*r9*(2JցD C%2AeYL":/$6{lYDw[Ӝsho掘] Ę掄b1HDwU=g2CR1(BlNaNso66;8J<iNdY\,Di~cy@ӎI lcgұD4 f|!(v rK2[-P߈'lu6iz!K &9
+c"HV(H9\}F:L]h"v1)leGĘF` }T@Hl'ڲ(3EdeÊ^i1!.D#+qR h9 2E9ع%a&U_*!xpK"fMGIo0Bt@g`:fTAhu¡X&o0l1  L3JR EpŦye!Iv)OĖ)o[<)oaHp%C6pG
+s9pz9D?m}SX ٛ9.C XkD>&A|%9WztF<ǶC@L.c&P<'v+vW*i6ג1˜X@Lq%X`LFNURJaL
+1ìl<\n1|:8VOV֡ı Q@sHH
+P'*1
+99
+P']o1VNQ@e
+P%P_cnI3mOӖ1)ɫ$ȶ|3B7POYX;OgΏo$#GeR>$z`RJI,m6.Άbt6y4MP~6GPy^!땸~G=j~~se^?;$׎Ԭ~.#.1iyt1e e^?z"T7g GjfYo׏:,~t(yK]( Y$ա]>`S~]ol|7"R7gajji3p[3 CNOwfcx
+Ž$="[\k[S[Vh8j~t" vy(cm9w/Dœ&s>)T,S4)`m;r׏nv׏4?w7o1N0GoGlOmjq||΂4v0|~c1ٝ`pψH.αmCSR[9s׏oS~[1^w׏q>Pmi9^OSVy̮dmV?)gNû yNy,EՏ~.{^z9<֕[SUV y
+0>'*sgX<-gvӴ0+OT4̕.ٵK7u$˘{?kq7%͐.~3J)֭DK}_0\x/\5N ʳ?q'>x'E%?y5Co_+p볽u!y Ep~KfkW7ɿqK'cAҊ]dx/܏'ÇWct{ >΂ҏq9MZI`MԵĿ/)yprG|艅;1|$OJU>\5upXge|I˭lѧXzeO||ds=6͞ pA$/tvZbbh
+XEP:]?:zt/Bp=M&jPbEsNBip&MAZt$R({]JLBIL|
+)> ^c&t'u]K߃-EڞMm?sB}M[ޟ<E80$:|KU(9E9p9;ѷ>yfB3j+$R[yO{=3x&}'8Yx6i)<~@7f֛,5AonfS,!ZfiL;G j- *{|@KhøW Β@8.[Jz hKg"`|̅y0s"kd_7PbȮ71䉀JzjqOY>|pgM a)ʽtC~gCVs\ ;j_
+ɟ7P34IvVlQ=ǯ@f&iE+<$];.?nFw:Kp$R%h] u}tX5'T{݃ @g$#)λ< Y6ԛ+hy6u'Lԗ|[ 9 /*9(c%M_
+^LX(,0ybdӻ@@bB v 
+e@_^*Lż?M9xX7cšG,
+ljց2*LԾ
+6W+=!Ǥf7%|pNt|9{˘Vn&c`J)2 g1-'61FcS͈'
+L
+J%Y[B?|[.ԟ~x7fF?8Zj>{3X'r QO쐯4|O1Zfup:_o{@$ƽUw-u *_z7a!5ޅ IՔbz
+[Y'MgbP̮eXV܆QG1I+.K7qL.W#(!;
+V՚:(\ak<O?oOU]mq[A܆b?* d`wf$,Ȋ&".틨x&|]W]r)ǩh);:}NMrTN֝v]ރWVYPiъ=dCQ>Q ^dj?j·n4ऻIv/4JYeDC^Zqoq|~W/w|:(_ v|(F9ْrN'TP<xĮ䗼)mQ,d(~*7If/q q?8b[,VL)t4?Ui
+cjag.
+wq:0hΐs,nf>̥zQ9#P> ? KW-)/O=oۡ,"h*߭U ߑ\m=V&(%PU+co0Ud9
+kacl7]jhy\5Cgf X/)TL@]p`KG3йhjS@5h%|UM\}P Tq8ZT n-jK*THܚCXv+rMf4mԞW/$,vZ q ҪhgW
+d=tdǿ22呜{EfV,|iKȰUaxX "Y
+7>ݮ@Bp (b;C!q 4Hdnlu!9f(6@Bs܌f.hG<*#UhK鰁1VNwԮk23Zp 9f0N[J
+/4o~PzÇ-}Hr1`z" DV_d 2L
+
+_C'fJX`b:ynހV-h~58:\ب 6uXfF%V摆DnJh!:yP }c-V1TVjL%*Zqbrpr~Y9kIIUIP]3Q Q: w[uZ/]
+0$OU+XChɁ]jb+I+TQ[FК[|[~E*^>'M/^Mޥ=?:`; ?|[?ΏV7NLʲW[Q_@<heL빂:C kADZ`=#i$yWX "B=tX0 ikADZ|;Z-;ZIH Жa-H Qւ
+jhp:L0{[^1@z˘*HB}et
+-_
+JFӕuQ8w|=~t^~#l82™dc !FM'SPf4oI oH2!`L!_|,kÉDڭ8!p]K&4CN;i0x~Le2ЍgE@PƷ1!x9%$%t
+.aOJH'K&3)\B豈RqI$Q(23,9D#ؐ
+ BQU:|@]J*HB~FopJCU
+[
+H8('Z$M/>~VEOp#qDr$aA~*u4
+
+?oe-NȊH8#CnXX@e&"*vЀ"?*Hc[Zgl]׃!HrҔg2xao]fKw@5]j &_o`;F\JH(7
+b$ݐ w2@ᡐCZ*T-\1m-2]tQ԰ ",73^[I03eRI-di |G仿
+rD&G
+44^O"X [MQ"!jh˯‚qm8Hc> R>M3Z艀TK*]=PhFW%MJ%ƫ*hXDLD<xELSFNT_x bP<PxƇ i,M[,/M=hiniN &jDK|4OFt?hEz{!oE.9j,zߓgMUo5'hQPW?p?iQ endstream endobj 5 0 obj <</Intent 13 0 R/Name(Layer 1)/Type/OCG/Usage 14 0 R>> endobj 22 0 obj <</Intent 30 0 R/Name(Layer 1)/Type/OCG/Usage 31 0 R>> endobj 39 0 obj <</Intent 47 0 R/Name(Layer 1)/Type/OCG/Usage 48 0 R>> endobj 56 0 obj <</Intent 64 0 R/Name(Layer 1)/Type/OCG/Usage 65 0 R>> endobj 64 0 obj [/View/Design] endobj 65 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 17.1)/Subtype/Artwork>>>> endobj 47 0 obj [/View/Design] endobj 48 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 30 0 obj [/View/Design] endobj 31 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 13 0 obj [/View/Design] endobj 14 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 74 0 obj [73 0 R] endobj 89 0 obj <</CreationDate(D:20140512175924-04'00')/Creator(Adobe Illustrator CS6 \(Macintosh\))/ModDate(D:20140917122313-04'00')/Producer(Adobe PDF library 10.01)/Title(Print)>> endobj xref 0 90 0000000004 65535 f
0000000016 00000 n
-0000000173 00000 n
-0000041541 00000 n
+0000000201 00000 n
+0000046103 00000 n
0000000006 00000 f
-0000245520 00000 n
+0000250900 00000 n
0000000008 00000 f
-0000041592 00000 n
+0000046154 00000 n
0000000009 00000 f
0000000010 00000 f
0000000011 00000 f
0000000012 00000 f
0000000015 00000 f
-0000245777 00000 n
-0000245808 00000 n
+0000251531 00000 n
+0000251562 00000 n
0000000016 00000 f
0000000017 00000 f
0000000018 00000 f
0000000019 00000 f
0000000020 00000 f
0000000021 00000 f
+0000000023 00000 f
+0000250970 00000 n
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000029 00000 f
+0000000032 00000 f
+0000251415 00000 n
+0000251446 00000 n
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000036 00000 f
+0000000037 00000 f
+0000000038 00000 f
+0000000040 00000 f
+0000251041 00000 n
+0000000041 00000 f
+0000000042 00000 f
+0000000043 00000 f
+0000000044 00000 f
+0000000045 00000 f
+0000000046 00000 f
+0000000049 00000 f
+0000251299 00000 n
+0000251330 00000 n
+0000000050 00000 f
+0000000051 00000 f
+0000000052 00000 f
+0000000053 00000 f
+0000000054 00000 f
+0000000055 00000 f
0000000000 00000 f
-0000245590 00000 n
+0000251112 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
@@ -1461,8 +1482,8 @@ L: G&TJ@Z0fS> <r$Jt\O"p"+E. d|BW8
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
-0000245661 00000 n
-0000245692 00000 n
+0000251183 00000 n
+0000251214 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
@@ -1470,21 +1491,21 @@ L: G&TJ@Z0fS> <r$Jt\O"p"+E. d|BW8
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
-0000042957 00000 n
-0000245893 00000 n
-0000041909 00000 n
-0000043257 00000 n
-0000043144 00000 n
-0000042238 00000 n
-0000042396 00000 n
-0000042444 00000 n
-0000043028 00000 n
-0000043059 00000 n
-0000043331 00000 n
-0000043549 00000 n
-0000044529 00000 n
-0000048828 00000 n
-0000114416 00000 n
-0000180004 00000 n
-0000245918 00000 n
-trailer <</Size 56/Root 1 0 R/Info 55 0 R/ID[<C608F11244074067977B0FAE083324B3><9E88FDBF18DF47A7945AFDB7B8126468>]>> startxref 246102 %%EOF \ No newline at end of file
+0000047496 00000 n
+0000251647 00000 n
+0000046471 00000 n
+0000047796 00000 n
+0000047683 00000 n
+0000046777 00000 n
+0000046935 00000 n
+0000046983 00000 n
+0000047567 00000 n
+0000047598 00000 n
+0000047870 00000 n
+0000048088 00000 n
+0000049069 00000 n
+0000055399 00000 n
+0000120987 00000 n
+0000186575 00000 n
+0000251672 00000 n
+trailer <</Size 90/Root 1 0 R/Info 89 0 R/ID[<C608F11244074067977B0FAE083324B3><863430D6442A4B4387E3F00C72C80C81>]>> startxref 251856 %%EOF \ No newline at end of file
diff --git a/art/ic_launcher_material-xxxhdpi.psd b/art/ic_launcher_material-xxxhdpi.psd
new file mode 100644
index 0000000..ef8413c
--- /dev/null
+++ b/art/ic_launcher_material-xxxhdpi.psd
Binary files differ
diff --git a/art/ic_launcher_material.ai b/art/ic_launcher_material.ai
index 74bef3d..636f523 100644
--- a/art/ic_launcher_material.ai
+++ b/art/ic_launcher_material.ai
@@ -1,22 +1,28 @@
%PDF-1.5 %
-1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R]/Order 6 0 R/RBGroups[]>>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 48233/Subtype/XML/Type/Metadata>>stream
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 68 0 R]/Order 69 0 R/RBGroups[]>>/OCGs[5 0 R 68 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 47721/Subtype/XML/Type/Metadata>>stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 ">
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c014 79.151739, 2013/04/03-12:12:15 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
- xmlns:dc="http://purl.org/dc/elements/1.1/">
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<dc:format>application/pdf</dc:format>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">ic_launcher_material</rdf:li>
</rdf:Alt>
</dc:title>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmp="http://ns.adobe.com/xap/1.0/"
- xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
- <xmp:MetadataDate>2014-06-09T22:14:20-04:00</xmp:MetadataDate>
- <xmp:ModifyDate>2014-06-09T22:14:20-04:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2014-09-15T18:58:56-04:00</xmp:MetadataDate>
+ <xmp:ModifyDate>2014-09-15T18:58:56-04:00</xmp:ModifyDate>
<xmp:CreateDate>2014-06-09T22:14:20-04:00</xmp:CreateDate>
<xmp:CreatorTool>Adobe Illustrator CS6 (Macintosh)</xmp:CreatorTool>
<xmp:Thumbnails>
@@ -25,16 +31,11 @@
<xmpGImg:width>256</xmpGImg:width>
<xmpGImg:height>256</xmpGImg:height>
<xmpGImg:format>JPEG</xmpGImg:format>
- <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FUHqWs6VpkfqahdxWykVUSMAzf6q/ab6Bk4Y5T+kWgkBg+tfnf5VsSyWaSX0gruP3aH6SGf&#xA;71zYYuy8kuezVLOAwnVPz81+aq2NvFbL2bjyb73LD/hczsfZMBzNtRzljN9+anne7JLalLHX/fbG&#xA;P8I+A/DMqOgxDowOWSS3HmbXrg1mvZXJ/mNf11y8YIDkGHEUKdTvz/u5vwyfAFtw1O/H+7m/DHgC&#xA;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</xmpGImg:image>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FUHqWs6VpkfqX93FbKRVRIwDN/qr9pvoGThjlLkLQSAwjWfzu8rWJZLNJL6QV3H7tD9JDP9&#xA;65n4+zMkuezWcoDCtT/PvX5qrY28VsvZuPJvvcsP+FzNh2VAczbWcxYze/mn52uyS2pSx1/32xj/&#xA;AAj4D8Myo6HEOjE5Ck0/mXXbg1mvZXJ/mav665eMEByDHiKFOpXx/wB3Nk+AItw1K+H+7mx4Atoq&#xA;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&#xA;7FXYq//Z</xmpGImg:image>
</rdf:li>
</rdf:Alt>
</xmp:Thumbnails>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
- xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
- xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
- <xmpMM:InstanceID>uuid:01a1d342-952c-d340-9f61-9fd0d1780793</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:988cbbe1-e1c7-4e43-b107-9ca1a5d992c8</xmpMM:InstanceID>
<xmpMM:DocumentID>xmp.did:0180117407206811822AD6C1BCB96A7E</xmpMM:DocumentID>
<xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID>
<xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
@@ -62,22 +63,14 @@
</rdf:li>
</rdf:Seq>
</xmpMM:History>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
<illustrator:Type>Document</illustrator:Type>
<illustrator:StartupProfile>Print</illustrator:StartupProfile>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
- xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
- xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
<xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
<xmpTPg:HasVisibleTransparency>True</xmpTPg:HasVisibleTransparency>
<xmpTPg:NPages>1</xmpTPg:NPages>
<xmpTPg:MaxPageSize rdf:parseType="Resource">
- <stDim:w>96.004883</stDim:w>
- <stDim:h>96.004883</stDim:h>
+ <stDim:w>96.004900</stDim:w>
+ <stDim:h>96.004900</stDim:h>
<stDim:unit>Points</stDim:unit>
</xmpTPg:MaxPageSize>
<xmpTPg:PlateNames>
@@ -599,9 +592,6 @@
</rdf:li>
</rdf:Seq>
</xmpTPg:SwatchGroups>
- </rdf:Description>
- <rdf:Description rdf:about=""
- xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<pdf:Producer>Adobe PDF library 10.01</pdf:Producer>
</rdf:Description>
</rdf:RDF>
@@ -627,27 +617,28 @@
-<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[0.0 0.0 96.0049 96.0049]/BleedBox[0.0 0.0 96.0049 96.0049]/Contents 8 0 R/Group 9 0 R/LastModified(D:20140609221420-04'00')/MediaBox[0.0 0.0 96.0049 96.0049]/Parent 3 0 R/PieceInfo<</Illustrator 10 0 R>>/Resources<</ExtGState<</GS0 11 0 R/GS1 12 0 R/GS2 13 0 R/GS3 14 0 R/GS4 15 0 R/GS5 16 0 R>>/Properties<</MC0 5 0 R>>/XObject<</Fm0 17 0 R/Fm1 18 0 R/Fm2 19 0 R/Fm3 20 0 R/Fm4 21 0 R/Fm5 22 0 R/Fm6 23 0 R>>>>/Thumb 24 0 R/TrimBox[0.0 0.0 96.0049 96.0049]/Type/Page>> endobj 8 0 obj <</Filter/FlateDecode/Length 327>>stream
-HtRN0 +rFk'N\ӄ&|Ɓ6_InTJy?gx찝o&kmIgp7j? "ʲd/G3<=~%Qr=ԍ:  p9aƍ,|͘o4Wk[*]վÕY3 'xZ^y弛U ۅ=˿tA(4G<<dOVfˎTSYS-U5igj]-s̐cI)ـbDZC{.,8 #ꖒ!"epw*qGSwG
+<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[0.0 0.0 96.0049 96.0049]/BleedBox[0.0 0.0 96.0049 96.0049]/Contents 70 0 R/Group 71 0 R/LastModified(D:20140915185856-04'00')/MediaBox[0.0 0.0 96.0049 96.0049]/Parent 3 0 R/PieceInfo<</Illustrator 72 0 R>>/Resources<</ExtGState<</GS0 73 0 R/GS1 74 0 R/GS2 75 0 R/GS3 76 0 R/GS4 77 0 R/GS5 78 0 R>>/Properties<</MC0 68 0 R>>/XObject<</Fm0 79 0 R/Fm1 80 0 R/Fm2 81 0 R/Fm3 82 0 R/Fm4 83 0 R/Fm5 84 0 R/Fm6 85 0 R>>>>/Thumb 86 0 R/TrimBox[0.0 0.0 96.0049 96.0049]/Type/Page>> endobj 70 0 obj <</Filter/FlateDecode/Length 329>>stream
+HtRAN1 >#NlrN8
+jxR@+e3>/`\- pGGPӛ{GeY׉s 㮕}Ս>adVdr/ܸa͔|Ts2i?\BMÍYG֭3_<xC yWy103 {.)eb#aD<&ygMd~kQI;b 9&D ސC}?hW9" At@zeTRR#TT< QbwƊ+oh|J} 0
8;SUNYn=c*#QlGP7<UC#_ban]V91Jq-\C"FB:ZgkF`n4W@j3/F3Uq,H?.2+S4mDGW
-NNu<j,A0o&c1;DMaZVSf#(P]DmCN<:_YU17$O8CWhZ+gd6i$~> endstream endobj 25 0 obj [/Indexed/DeviceRGB 255 26 0 R] endobj 26 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+NNu<j,A0o&c1;DMaZVSf#(P]DmCN<:_YU17$O8CWhZ+gd6i$~> endstream endobj 87 0 obj [/Indexed/DeviceRGB 255 88 0 R] endobj 88 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
-l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 17 0 obj <</BBox[16.3711 74.6152 88.6113 18.6953]/Group 27 0 R/Length 360/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 28 0 R/GS1 11 0 R>>/XObject<</Fm0 29 0 R>>>>/Subtype/Form>>stream
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 79 0 obj <</BBox[16.3711 74.6152 88.6111 18.6953]/Group 89 0 R/Length 363/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 90 0 R/GS1 73 0 R>>/XObject<</Fm0 91 0 R>>>>/Subtype/Form>>stream
q
/GS0 gs
0 Tc 0 Tw 0 Ts 100 Tz 0 Tr /Fm0 Do
Q
1 1 1 rg
/GS1 gs
-q 1 0 0 1 81.043 48.2192 cm
+q 1 0 0 1 81.043 48.2193 cm
0 0 m
-0 -9.068 -7.347 -16.42 -16.41 -16.42 c
--25.474 -16.42 -32.821 -9.068 -32.821 0 c
+0 -9.068 -7.347 -16.421 -16.41 -16.421 c
+-25.474 -16.421 -32.821 -9.068 -32.821 0 c
-32.821 9.07 -25.474 16.422 -16.41 16.422 c
-7.347 16.422 0 9.07 0 0 c
-44.856 -15.326 -15.316 30.653 re
@@ -658,7 +649,7 @@ q 1 0 0 1 81.043 48.2192 cm
h
f
Q
- endstream endobj 18 0 obj <</BBox[20.8711 69.623 95.3965 0.267578]/Group 30 0 R/Length 276/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 31 0 R>>/Shading<</Sh0 32 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 80 0 obj <</BBox[20.8711 69.6231 95.3965 0.267593]/Group 92 0 R/Length 280/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 93 0 R>>/Shading<</Sh0 94 0 R>>>>/Subtype/Form>>stream
q
95.396 40.383 m
75.831 60.223 l
@@ -673,26 +664,26 @@ W n
q
0 g
/GS0 gs
-52.292347 -52.292347 -52.292347 -52.292347 27.5405273 68.3037109 cm
+52.2923088 -52.2923088 -52.2923088 -52.2923088 40.3362274 63.0186615 cm
BX /Sh0 sh EX Q
Q
- endstream endobj 19 0 obj <</BBox[0.0 48.269 96.0049 0.0]/Group 33 0 R/Length 312/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 11 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 81 0 obj <</BBox[0.0 48.2693 96.0049 0.0]/Group 95 0 R/Length 313/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 73 0 R>>>>/Subtype/Form>>stream
0.149 0.196 0.22 rg
/GS0 gs
-q 1 0 0 1 48.002 0.5 cm
+q 1 0 0 1 48.0019 0.5 cm
0 0 m
--25.941 -0.097 -47.781 21.341 -47.996 47.752 c
--47.997 47.836 -48.002 47.586 -48.002 47.502 c
+-25.941 -0.097 -47.781 21.341 -47.996 47.753 c
+-47.997 47.836 -48.002 47.586 -48.002 47.503 c
-48.002 20.991 -26.511 -0.5 0 -0.5 c
-26.512 -0.5 48.003 20.991 48.003 47.502 c
-48.003 47.586 47.997 47.669 47.996 47.752 c
-47.861 21.356 26.428 0.099 0 0 c
+26.512 -0.5 48.003 20.991 48.003 47.503 c
+48.003 47.586 47.997 47.669 47.996 47.753 c
+47.861 21.357 26.428 0.099 0 0 c
f
Q
- endstream endobj 20 0 obj <</BBox[0.0 96.0049 96.0049 47.7524]/Group 34 0 R/Length 304/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 11 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 82 0 obj <</BBox[0.0 96.0049 96.0049 47.7525]/Group 96 0 R/Length 305/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 73 0 R>>>>/Subtype/Form>>stream
1 1 1 rg
/GS0 gs
-q 1 0 0 1 48.002 95.5049 cm
+q 1 0 0 1 48.0019 95.5049 cm
0 0 m
26.428 0 47.861 -21.357 47.996 -47.752 c
47.997 -47.669 48.003 -47.586 48.003 -47.502 c
@@ -702,7 +693,7 @@ q 1 0 0 1 48.002 95.5049 cm
-47.86 -21.357 -26.427 0 0 0 c
f
Q
- endstream endobj 21 0 obj <</BBox[20.8711 69.6465 81.043 26.3252]/Group 35 0 R/Length 476/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 11 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 83 0 obj <</BBox[20.8711 69.6465 81.043 26.3252]/Group 97 0 R/Length 476/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 73 0 R>>>>/Subtype/Form>>stream
0.149 0.196 0.22 rg
/GS0 gs
q 1 0 0 1 49.8486 69.6465 cm
@@ -723,7 +714,7 @@ h
-28.978 -36.285 15.316 -0.468 re
f
Q
- endstream endobj 22 0 obj <</BBox[20.8711 70.1152 81.043 26.793]/Group 36 0 R/Length 445/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 11 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 84 0 obj <</BBox[20.8711 70.1152 81.043 26.793]/Group 98 0 R/Length 445/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 73 0 R>>>>/Subtype/Form>>stream
1 1 1 rg
/GS0 gs
q 1 0 0 1 47.8174 69.6475 cm
@@ -741,33 +732,33 @@ h
33.226 -21.507 33.215 -21.583 33.214 -21.662 c
33.087 -12.701 25.8 -5.474 16.815 -5.474 c
7.831 -5.474 0.543 -12.701 0.417 -21.662 c
-0.416 -21.583 0.405 -21.507 0.405 -21.428 c
+0.415 -21.583 0.405 -21.507 0.405 -21.428 c
f
Q
- endstream endobj 23 0 obj <</BBox[0.0 96.0049 96.0049 0.0]/Group 37 0 R/Length 221/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 11 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 85 0 obj <</BBox[0.0 96.0049 96.0049 0.0]/Group 99 0 R/Length 221/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 73 0 R>>>>/Subtype/Form>>stream
1 1 1 rg
/GS0 gs
-q 1 0 0 1 96.0049 48.0024 cm
+q 1 0 0 1 96.0049 48.0025 cm
0 0 m
-0 -26.511 -21.491 -48.002 -48.003 -48.002 c
--74.514 -48.002 -96.005 -26.511 -96.005 0 c
+0 -26.511 -21.491 -48.003 -48.003 -48.003 c
+-74.514 -48.003 -96.005 -26.511 -96.005 0 c
-96.005 26.511 -74.514 48.002 -48.003 48.002 c
-21.491 48.002 0 26.511 0 0 c
f
Q
- endstream endobj 37 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 11 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 36 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 35 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 34 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 33 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 30 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 32 0 obj <</AntiAlias false/ColorSpace/DeviceRGB/Coords[0.0 0.0 0.0 0.0 0.0 1.0]/Domain[0.0 1.0]/Extend[true true]/Function 38 0 R/ShadingType 3>> endobj 38 0 obj <</Bounds[0.179044]/Domain[0.0 1.0]/Encode[0.0 1.0 1.0 0.0]/FunctionType 3/Functions[39 0 R 40 0 R]>> endobj 39 0 obj <</C0[0.14902 0.196078 0.219608]/C1[0.14902 0.196078 0.219608]/Domain[0.0 1.0]/FunctionType 2/N 1.0>> endobj 40 0 obj <</C0[0.14902 0.196078 0.219608]/C1[0.14902 0.196078 0.219608]/Domain[0.0 1.0]/FunctionType 2/N 1.7308>> endobj 31 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 41 0 R/Type/ExtGState/ca 1.0/op false>> endobj 41 0 obj <</G 42 0 R/S/Luminosity/Type/Mask>> endobj 42 0 obj <</BBox[-32768.0 32767.0 32767.0 -32768.0]/Group 43 0 R/Length 98/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 11 0 R>>/Shading<</Sh0 44 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 99 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 73 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 98 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 97 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 96 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 95 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 92 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 94 0 obj <</AntiAlias false/ColorSpace/DeviceRGB/Coords[0.0 0.0 0.0 0.0 0.0 1.0]/Domain[0.0 1.0]/Extend[true true]/Function 100 0 R/ShadingType 3>> endobj 100 0 obj <</Bounds[0.179044]/Domain[0.0 1.0]/Encode[0.0 1.0 1.0 0.0]/FunctionType 3/Functions[101 0 R 102 0 R]>> endobj 101 0 obj <</C0[0.14902 0.196078 0.219608]/C1[0.14902 0.196078 0.219608]/Domain[0.0 1.0]/FunctionType 2/N 1.0>> endobj 102 0 obj <</C0[0.14902 0.196078 0.219608]/C1[0.14902 0.196078 0.219608]/Domain[0.0 1.0]/FunctionType 2/N 1.7308>> endobj 93 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask 103 0 R/Type/ExtGState/ca 1.0/op false>> endobj 103 0 obj <</G 104 0 R/S/Luminosity/Type/Mask>> endobj 104 0 obj <</BBox[-32768.0 32767.0 32767.0 -32768.0]/Group 105 0 R/Length 102/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 73 0 R>>/Shading<</Sh0 106 0 R>>>>/Subtype/Form>>stream
q
0 g
/GS0 gs
-52.292347 -52.292347 -52.292347 -52.292347 27.5405273 68.3037109 cm
+52.2923088 -52.2923088 -52.2923088 -52.2923088 40.3362274 63.0186615 cm
BX /Sh0 sh EX Q
- endstream endobj 43 0 obj <</CS/DeviceGray/I false/K false/S/Transparency/Type/Group>> endobj 44 0 obj <</AntiAlias false/ColorSpace/DeviceGray/Coords[0.0 0.0 0.0 0.0 0.0 1.0]/Domain[0.0 1.0]/Extend[true true]/Function 45 0 R/ShadingType 3>> endobj 45 0 obj <</Bounds[0.179044]/Domain[0.0 1.0]/Encode[0.0 1.0 1.0 0.0]/FunctionType 3/Functions[46 0 R 47 0 R]>> endobj 46 0 obj <</C0[0.2]/C1[0.2]/Domain[0.0 1.0]/FunctionType 2/N 1.0>> endobj 47 0 obj <</C0[0.02]/C1[0.2]/Domain[0.0 1.0]/FunctionType 2/N 1.7308>> endobj 27 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 29 0 obj <</BBox[16.3711 74.6152 88.6113 18.6953]/Group 48 0 R/Length 71/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 49 0 R>>/ProcSet[/PDF/ImageC]/XObject<</Im0 50 0 R>>>>/Subtype/Form>>stream
+ endstream endobj 105 0 obj <</CS/DeviceGray/I false/K false/S/Transparency/Type/Group>> endobj 106 0 obj <</AntiAlias false/ColorSpace/DeviceGray/Coords[0.0 0.0 0.0 0.0 0.0 1.0]/Domain[0.0 1.0]/Extend[true true]/Function 107 0 R/ShadingType 3>> endobj 107 0 obj <</Bounds[0.179044]/Domain[0.0 1.0]/Encode[0.0 1.0 1.0 0.0]/FunctionType 3/Functions[108 0 R 109 0 R]>> endobj 108 0 obj <</C0[0.2]/C1[0.2]/Domain[0.0 1.0]/FunctionType 2/N 1.0>> endobj 109 0 obj <</C0[0.02]/C1[0.2]/Domain[0.0 1.0]/FunctionType 2/N 1.7308>> endobj 89 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 91 0 obj <</BBox[16.3711 74.6152 88.6111 18.6953]/Group 110 0 R/Length 71/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 111 0 R>>/ProcSet[/PDF/ImageC]/XObject<</Im0 112 0 R>>>>/Subtype/Form>>stream
q
/GS0 gs
-72.2400029 0 0 55.9200022 16.3710938 18.6952322 cm
+72.2399984 0 0 55.9199988 16.3710995 18.6952509 cm
/Im0 Do
Q
- endstream endobj 48 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 50 0 obj <</BitsPerComponent 8/ColorSpace/DeviceRGB/DecodeParms<</BitsPerComponent 4/Colors 3/Columns 301>>/Filter/FlateDecode/Height 233/Intent/RelativeColorimetric/Length 29506/Name/X/SMask 51 0 R/Subtype/Image/Type/XObject/Width 301>>stream
+ endstream endobj 110 0 obj <</I false/K false/S/Transparency/Type/Group>> endobj 112 0 obj <</BitsPerComponent 8/ColorSpace/DeviceRGB/DecodeParms<</BitsPerComponent 4/Colors 3/Columns 301>>/Filter/FlateDecode/Height 233/Intent/RelativeColorimetric/Length 29530/Name/X/SMask 113 0 R/Subtype/Image/Type/XObject/Width 301>>stream
HR8! b'_dqT}
as{y}: Xz73(J) 9c=BK v г$Al@kA#{0z
@O~]-& u
@@ -819,88 +810,84 @@ C(KLkfjCv9Utq1-_jד8_TJըGB4'7|lٜR
9K%8T@{׉nX/y3,ҩkqn_d;A.Œd؄s bȏ!ɖ Y> S.S18ǻ6]c Uj6×X<,a}<<1^ޕt冧+s[Θ. YIaMaFxwG9IDbÃ3<J4ż.UݬWXᅁxcQC9"ჄE1b<I1VlbVU1H^7d.Ca6!NLI$Y&'*{YZ"[CHrpXdȊnLT50}q[wU 3*UFDIx<NGM,h[ SIDq?sI $hN ;CtCgilj-nukpohua-%eO.)n!riQ>N>p Gi5aC"FPOsN{)0VadYnq.SUp֣\^wtvN~={sդ-ZɊ0lDxIÂγġUI pmOu_g}XՊAU1jkb)m9Η0(OU1WG20 yC,^p"92 `IQ*
&R*=CW0wj@^xxd_3('Jmy^9 `wJu=z[ɢy@)ʧ|/C N/MKIuTCCqStY2D;s
T64Z%_1~ Cp<X;[cVFUr?//m 7z+izh W')e?fT-0)}E-q"Yh g{2ư'%vƠf%WF1 |^1\Vkʍ^
-XPỈT1g-Q!%ECBw C~#ldFVќcj^X'Z
-n*pRVE rD$JaL`UF'(VU;&esL'8 #A$âSA ZSlWZFI:0܍0m>~:hGnZfCZ,>hq h͆^zrHL7|?L
-I]J{)W[/HMjM=9= n|uGD!a^>^a7`ۯH!i r0D5
-lJ=Jc4~t l*D[msq=oUF'ĺ/0z{J.,U*2k#oٺ _r8p9OUgcX0 OZ:T(4a I:6 aoDB.ÞXM:tC!ׇpZ/$џOH`?ԯkaXSzG#څk;=<һJCh y_0g!;+{~BQʋab :B$ܱ*nO^~Smc~D ~홐x"Zq50Uyg9bs.  7O&pu=h56`(4 .JIE%FZX\q>)}WSTo3$_ "URF/0mu= ⶇ Nʬ .~T}p`?ms{
-cΈ#-G@QU|"11TtGBaAgQR'=JKT̃=fd:Nq&oC& őN!j*U/sa gKG0¯xN҆"]33ZR0Ta buA{t $ b Q95vHjmR@լU/0
-&15ghiJ'jGGqV86M%գQO"y*Y_z! QGz? ɖ;-' 5`uFJ RTɻJE3k<Y:.R_9c{йʋjl;J "z "
-ՅV>qee+ڤRSd `S]Dh#\pA4C= < xW>~`q08u0Euɠ"oN<zә{NUYW b(U@Ii =9m%lE,pCN CE8 Vb$qG2;^ C$s>a l='9'E
-'g#QqA Ҩ8
-ؐڊ kiBimtОǰyH!) C6C`%&4un'[8Y)%ͧDW b6FGKpem7 }}G1/=E B tK0h
-"C6A
-3#i
-ݠL:؜)
-bT2f[,XڴXa֗yϓ`h0K9 æ;S+fOvVRH`q[0lkHJvw8yYV <Sq ҋc_ڸ펰@dȗ:-t^! Y
-?3и㊖d]mu0̎`$)23i4-U ME
-/:cALK,WOK{j(t[ە
-ƼF5lj$2b F`cø`x5 ͝=<ɑ؄S*`ȫ Xs < )M;r<6y3Kǎi]TC2yDB{Ŵ<Ŏ* GB4P-ma𱎇Etо<
-0HݧfXxXs֑N~r9'I8~ 嚓x?EqfMI ұHz3'eo=Nti(lQUu/6gp8wK0?y{
-B?`s~.Êa
-#s0 G6^!CUΆ5LCLb$ۘ1'y1dRҗFdj'q]l\Ig *0 @Z;x#w
-}vCpKSUs֢DMvFYLmɸ
-Q4K  ̓B]2=wh3 rtew
-:0+0\aHS=!?_1c6qk'.!>9Xᐅ R` g?Z4WinkZ"D32
-9Wk&Ӽ(=mشq|&x#0T ?'CxDBol}v(P&ɷL0%44N$`_l]OIoxvKs-ROMS 
-}ana^Ք^~-5>-9|ueiڍݹ=L[ U ?"81sQ'1ƝvaA,C;K28fC# %R{N3tŢ#Gm i&D!3)RZG] 1Y[11 Űh=yG(4pc5/32/LJWxyamj* `h(K1 Tng>
-E"Wӣa(~02h\IOړ×ZV㸶e=ۉK@uK|b=W)D!B
-TJ ;LbTq1ae; +ogR.qbxsV?e
-'D(yZEOp2@)Q ¤0M _2X1\aLxԤ7% A@@&EB.ZCVt/86,S7Tl]Q(Y8+iC225> C,1/2t
-tn>ڹb\b<DF!)Rvг%KPFҧ ZәNd\w>MQnyVWwKRj0 3Ze`
-/w`E ؖS @RI 2)C0,kC e#e3TsHv_=Ф:hWqsuCaP7AXi+hLJi0laHsz%$*a"ư98<^B7 ؈mGPWi)-mQar'c\ȄPzKqLG`/K0?'Ű! Eg9FnƓ5a, Cn>B]5Ͷ
-T#=.mʇUsr^Cc T}0~~p+`~4L
-|=C$ݲƐU.e;>˞7CALG1HMc#h^\4UT3nˁйgڧ] V CK[0[R؏H Qa+ 2γXEʪG!@`g#wάĭe$~#Axbq[-XhKUue{fdl2CmjU<Dz/?wSj(ۊ(&9o;ðG|8?V q/c#$ 1#EB^Cu$ח R(b
->qN+z>pu:zppB +&H۞>2e
-.FU gv'FQ~DZFhRx0}mn^VAs͓ґJ 3Ryv'`4vȀA ^Ä ^c[ɃXv#߈~:`)tɑHH*;hZY:Sz#QmݥN%Nվk_u]uH:En9\XH$STaH'pk1LMxKG :N< Hqsw^ 2VrH\ l%*< _!—+/tyjM~1kjKS;{̛Ӊ=gç+j+\d{dη^Z0kP:ET
-}D<
-
-&
-c=s좤l wÑb+Mλa(kaIgO"XSt4ֽ`i\/S#
-8V–cz`ZPD&M`(v%-yn ⛗[70[9){pA6Ȏᐃ櫂a wcbP4'B `hlH[Dgqe˅#eq Qd+kt\̭!!C(UEef\UJa<Rlr
-]-@Y Fbpّ?&]a͑J~Iv%2!-qpݤV2KS" θ
-b?u-Mhx)q`:`g#6nGb80W!O`MJ)4DUNU`GzPn
-M:ъb6ӛ8\g>i5(Nܨ4S"'d<5d#;MWUOVzZ˄O uc:ݒBθIH6-iM8^]p h}c8]a)v<8Q0cn`ÛP4"HN۶#W
-$NO(Z4'XHs9_KA|W}!}4RE2c(?e ,:O;{0
-Č!Z:ϥa>G J+CWC;CPYjFvi'dn3`BLjZt>)tε >K)|lr"JZ
-1Y^sjt~'=:M~x {{ǰO*MOb]XPOE0 P
-Փr%hDaiP}7ar`Z-%AT-`Oy;;Eޑ5]bI
-/&6r*b6=ka C/HW $ yQ0%E4jE0}E-;B n0bg 5k8aiGh]K#gӜ
-R`H醽 D=?JMGz+yQeCQ=ؠAEѦ:Ǧ}T   0{~-8X
-]̞cӞ1H\~\Yk{d,8mRcG7Yq~B
-vݟ{pP#@0 3NlAC5r׎-4 2s)TYbY[kr/95m A[hJ0^*=oJbrrEYbUPͿR=5=Rbx?~ĖPq
-
-W  QB0)l*GbrHV_CZ  \ O`IZ,lģЭ܋&ەU}5l͢,q~G]}\, ;jšcS!Rr^{uFQ2@!fb
-2;O$'jGoIi;kNS,$>ci7!5rII(-q2OGA%B1F#tz+ Ca
-٭JPlαw e? K"]`H:D(xswbHv`j>&pibkIJSjv| )9Nh h9ԣvZݰpC<NJj O0KNstQ<Vw0d02yY-[
--@ӑ P&)pK+jH@ׁ8$GxN#)D<F4=ˮsM9!vy[PW01{ި%'52(>To/@zmׁoư=6Vr}ҊU}l)@ÚkP n`IxLQp0Qb_0!]ӬUzbi aXpD">/ᅩ, Ms7eֺu-N`sWl0j][^,ѓjVq(5to sQG_7wtڟC3g!gw:D܌apR$ {=} i-,H'IC+ɊaP: 艊 6Hy!$M ^o΢)֟Ĺ{B$njGI"l_eƭzG WgՓ*O3RCZlMM_PB#Mۛї` ~C٥"En/cwqJ2<IkCb'ql)6<;bRH+xs]-!"$IEH ~1S9
-=<&G
-_!I11a111*[
-3um;%jFBV?$?hAc9aKlsDJbLQgÐ<K1 g*=g0<F-mx1?QJI@.6
-w0%0<{khQI|k#VQg̚9S@E*tK}3KęN<5DE"ƺ櫎bvѥ bgǖ*fTVsDkX&ҫbȓmXzeKMZV G+on9~. Q(!<Ry4$JOq^SQ-;zg{%hzӇr}FE|k-=e B̈́ >.!1QޔЬGgd3Ei^xT
+XPỈT1g-Q!%ECBw C~#ldFVќcj^X'Z
+ꚙoIHw|!?40x(|  =C>w M;
+Hg1=掝j]t*eđ > s&7psU)(:D"+D{Xjkz]A|-PPL`,z©/V pa4ɾCq`acV=øBܠt:)Fb S /16a :L]sCՂU `zU3'3$jjumWY
+LJkal-[/$[/00)* u*R[N_1'3g0OّNwrR8LÆZa@E
+-?m/j՝FG|+$dN<XL%3CɃ+Mw>.1ujbmMoNc vj SYOٴZ_Ȁ rɒe/IP_yqfxe4RE!cHYV86*C¨`"&NHXU혔%o.3GHEQ‚h
+^nɚbbb4z,ObM/пn4Wn~ E# `xs85 -C}2#֊g1!U֞lȯl/j53}=LKIp ZXmGMԓ31~0WwD@
+@>Wğaya|ܵ0t Qi0\wz#ul96.0I
+PS {DV&c"VuB#
+)]5U6͘v\9Gמ 'RJ1Fs#ʼ<yFhНn6wꂸ`h/pn* ` Wx#f!J nVaS:HceZ{cQd#mX}dSLiRͤ|`W#`pzmAYA\0 %ʩ=
+k!Oms{
+cΈ#-_wJ2Tt_uf#aaAgIi'] JT̃=fd:Nq&oC& őN!j*U/Ζ
+鏮0¯xNtcIN*2{z1?>3%ucM0,!1m3y,X'Dl]$D~fA/
+B RL$wf8y(tjG]v,s$sMRH$
+"" @a6@ mtоC' #9 ]0HQ鄈`H51* QOb
+8V=jA Z()_jCaozcb | "0C,@e#TJU Hs ad+-P "'9϶sRK~P_~t5U>"CFQlVLs {#C{R1"pX íC`%*r&^MyKG:+䝓¿ԂjAau$/shBz =>fH₡C(
+vlJ
+ ;nm` i%;E
+_,S8ؗ6h#,!8G}/]0aCL04%ms[{{ #;IcGRXfVߍJ1ۊ/]3D]bJ_Yk<?/ nVlW2B
+,:V:O^3ė6: !#P9h:o`yc\tƙ(ܷ(ؔ E(_* )vSR- YI3͜LylNÏpC +sDul $pX*,1]@34_}rv%RWL9'P hc$-r*0M[]$ o GJ;0 K6^!C4*a 뭊K 6.ʝ/0&c<o^UOy1rAasdBy}SkG`o~x
+Wpڏu˾ȣof=
+2uȍMQ0Xt =ac]Z1loPHưJY/c-FJHlƎ
+H`c0M6T&[3n%
+w"KQ2?8gR;QyJۼ өb a`PJҫ"dIcC7mh2V
+/0%$-ʆΣbC7$|:Ûk g
+cZB
+ yc@)qfjK݆+Ya\,H-]VQ:!5`}g<>
+!S0ìrd9c4LWXeD!R225gT9a"tvⱵG`hC1lPb<DV!)Rv\gKH3P0*4*GH+U /Dމ!U?~H7EXx^=Af)AC h^0
+OW`% ؖS @RI 2a1^azPbP Rft,ad'q uj$qs,睾K &T]J0&`aFWДLJi^0laHsz%$*a,ư984}ưcE,x 3Hŵ;.M& N5.-&*?%d6W> *lJA ȄPzKq{`OSp1Oa?C8EJFs
+<rf6j Cfp*Ļ(o<4vbKjV[m14]YҬ.[+[wSz,H8<;'oE:g]󘨁3cC/DͦbZ :
+ 9p;Yg kB;*~¤oMJQ$=0gck1X+"Fb?
+T#Fᢱ<*99'U_1Lo܊!؁DZ {hgC|dݲƐU.ehF3b "RwtF=ߞxV'<]j* QQE5Ӑw=莏,6>=bT ?^fbZoChmMKAb?b3"%(F1N'-g/q$Cl8׭,RJBKu
+
+\=}X_᠚d[%$m
+pn;2{2S"{A`Ț`(`^;RzDM Ai_ ii0Y޿Z:{Oz\SƊ,O0yq<B=0l;5a LY1Tu ]ZJ #ɪQ-hDL* Ū*
+6FU ZZAq_>a8^(RcQe;<.0s*awb0 FlL>aP8%~8|A0L5
+<cd7_tTPÄHM&GJ~ i=g)
+}D<J
+M:ъb6ӛ8\g1ُ k"Q
+8RyP%S"'ϒd<5d#;MWUOVzZ˄8L uc:ݒ>mW҆ 8^p h}c8]as;z|S(Re7H`ÛP4"HN۶ႫeqV'A@-K/R$ĹҜ y쁡!K)dm"1q2yNFX'=cb-LD0# \%򕂡-a?CPh5#4CVr70
+Փr%hDaiP}7aᠲ`2i[
+K[zviw#kzrŒ%1^J!vMlRϩ09w$_ّFeILP0%bE4jE0sE-;B ;'`Κj^Qgk8aiGh]KO2Ns*\H!Z!6[φp*7= GQ E$bFYE4NQ-hvF0BvV3pyY
+LT$/aBkN85-c%I+?
+}[o$+ҍP051 Fw
+ʑU WP6\CsB‹K4d{,lģЭ<&ٕT~}5l͢,q~GmC^, ;+ﲥšcS!Rr^{uh(W31
+HXL91E:0 +Nɞwx
+%30?C{?>aH)mnw," )i 9$S0L"H0 `43F *J}8''>J)`}곏Oɀz7W]2eps$yje6M <~)yމo*W;SLaGI%‘J_S04<s0A +k}E ϟaњ#u׍Fi!I5~+8x?۶DQ jFtFEnKe?9sd;ӬA,RK~*) yIg=P%B '‡aؽPaޣQ l3|TZě ՠ!CkT4~fbbdiHe )Γ)>!ڑ[GhtNڥT-6/X~MȇD=g!dRJKQnB Ps+~=b߃a1,6Wa85ZΦ{7 P0̠X|$CKb7w'*dj3F)iw&Z;H,;y_Ns4%"Y!Z-z47N.z(qשXI fiΪ' Y=* /ah֢{] k #INe#(g:"U?Qd5{iX :GU1DH:x8MOgD<z;єSbwQ/e9z?-u+o
+ыi_4&݈e'/Gވg1lC
+af%$+4̔QecKHۜH{?R7p}I:TR UW?Ǔx8\(ψRyMg6kc(یD&1ļum"ۼVE^x'޼` yaMgelTbM֪hJ⨃!N GfI/>
+80lh!k 5` g5 Q/Q<ָ!/
+flsԆoq˳ FNb^։TᐋpbcݵV_ -bٱ$DfIj/d-0&ەIlSԦS`d*9J[0x#,G3UnX^[
6-)A|uhnvM
&d\dc&R
-C.䞡fN务VBW>
-tQL"-uwHl)StJ}.TCI랸T%ttuJ[*Q4օes2<2H!u`#(-*[~gm ?t(]l<$e'EBK++pF|7&I iJ\ ÞMDܤY<~~bFPՃVƗQŰUI1ݟ#lD6
-wb{bb7KG;6Wk1
-~!
-8KH˸&=QxDo #H
-Zt5KʲB!3Z+in(+:IqIKd4jɫ}|8d!`m7 F
-cPrBZðUzz چkEf[|-RQ.}vt=0T5p_ Nt$j=QPBz']ĕ7s43243ֶ8Y@m+2
-sdo&2Uy/e Pizig=A8S~ٶ~Ah@X=D\|ft5( KN Gmxq>mkZc9δa#rpjcz
-tWoC&bp#lv žYUҝb~n(giS5l19V\rIiIJ`gm=/gw\0aB_/(h
-3RJ@o/"@R;x;f&n!@3;q\Ef NgiPFYi[2!L. 2Z*F;S;D1ME
-OԽbEU
-Y11K1L+ 妡*F@.ZˁZA.1FK_{.cƾbwZSC9nɫ%$""ed@j&j'/'x+>6!_7p?&߽\
-]F!C)%%l2pa9vWʆ_LEM<+mL3ɏ$JGzG-2rbhtQ1#W *&cQ@
-eUqP-2jpGmd 1fiϞ7A =\7 LNdbʎWo)Lmf㦄Tb&v
-m"a+D5(
-fee &9xg8x9K4"i,Bj(̫#-gmy!zuGM>/v컝cnLʐ%4&Yv7Wچ:%v4zq; \ @2H>_ ݿEC-ohD"e`a :Qm11]d4z~msPAEu¸v{
-1_FŦJŰv~Pɧ'(,M
-P9k*J诈1i܏UT+s4FpHmg w"Q*%ɩ3^ˆg팏zѴ 畺%SNhK6A<O2D1ѿwPz40=P6/;#Jg֡s>SӱoqeǍQ;9Ww2~VQXt -
-XG]Yh*HL@)iX4<R&/{o -≰W|dDqCZ0rJإe401rcS|wzjk
-@7~Q C5_7ToƹiՓz1,qQ `*L&ֶȟZF%/5 ;tF'U ~% :ck18 _gS.}PW?~[@ډtλ&<hL2 ~0PLޚ !sL<րb G#ސY'>y*1bS9>pqVF:P~P yE/. Wp ,Pb(CR[᷑r.njmsF}ؓф" 4Y]ES!ʄbl)ְi8k 5ΘNPλa2{=5OEК')_seϿ ~\šb^3
-
-d߯L2zCƑk u.q`Y4ɧObR"Ӊ}R K}0v0)R:뀋$NLWMhV*:+{K:MЂo~.7mKGDy=ώ  v)AcĈ~AraS]ͮo:
+C.䞡fN务VBW>
+tQL"-uw<Hl)StJ}.TCI랸T%ttuJ[*Q4օes2<2H!u`#(-*# ?3mCmz(]l<$e'EBK+pF|7&I iJ\ ÞMDܤY<~~bFPՃVƗQŰUI1ݟ#;oD6
+wb{bb7KG6Wk1
+~!
+8KH˸&=QxDw #H
+Zt5KʲB!3Z+in(+:IqNKd4jɫ}||P0\6~c QjLz#L a#8qt_2%spX@N , bNhTui&;/ЦH2a%'ґL邺cxhT?<O4ӟ[$=2 @^{NTT]t}|Uy|EOʳ
+zQƜ
+&ߒ ~%Wދ!W+GQFh^;xKĝAgP«iϻң՚Ge(l(C*$k D˄2)6./\ #qZxvwv iҭ>${^\+z[t1` 4*o<=wV
+P+Ifڟ9?@bܸagnHOSjhd&GC1xZVXmLHzh%)u憢H&79]nHys9"g @|IgfwRd;][.
+/<"$.dMĜM* _h[j_:M
+hU,V||;\q%|jX|zx<tKdޅ!JyR
+YB]?*gi"nWlY%N- 8p{FSY gb%|G\ܙ)HkNTժϊ ٬ 2zN7Ȩ7g)QU˪of5`:>panF9Aqç?= %DPa~*~Q.XHkWoZDp-T̵w+e_8|W<ų/5[ J[!ԉW3Q"r9
+7vap_UEl y(H'r<Ucjŵ+4/;|ƹso!xVx'+Mp/( >]ݏ/$]>#>tJ"m.wnL3ZmfP즚Qr48h_d h$qFeDU}E/"k"n.=CD1\T
+r1\s3#x`"bW9ZL?#TLH\]P
+Sٸ)!؆ @ 4b07,;X{.}oJpeiޢ24*t^+W&2pYH JK7
+V2F( ؔb;Tki{N/$.7". Hu[ z2NHa]{'"djɍo:kEF{)a(Fe,m
+S
+B`w^nz=¯ayE7Q YY|IDޥaΥR.͆h{
+,jG?`[lȀ^$Q:5Aϋp1αH^7&eْ,᛫kmCmM;Z=IٸS.oFqfj/_ߢ!@7g"
+cu@
+èHȘQژ.e2BzO?6pvɢaa\= jv bSbX;Q V
+P&`
+J@b: A^%*~9<Xo+L=b4|]1FY3U1TlXm1=2C!c+WXݛ9:=.AmT9GJHk˳;,U ?F4]X$@& ]i4Av )MdA=MDثD>2"͸Zԡ|q-Y9%
+Ҍ2 @|JFЎ])_>G+,ښ1M=_aFPr ՛qyZ^ "K\=
+ -k<QIKMFцI8ȅ_ɂAN@ٔK6ߏV#vbb'])8 +; 2/b)&5g3_*~l\`'5O5H>&7dOJTOu5\l@ƭ_ i>uC^`KKU4\+K1.3bmZۢŜQ?d4!HoBj!MrVWl20{<[5,qZuC3酢n^"&eEj S`A&Id
+5A/h_fL4@?Z`<[PumY 4.W48)]ٸft#)qaP$&ZU>cbmUdRM3,g7Ks;al~S Y+ :.ސqn݅=p\%DM>Htb_DRnݳqy7Lʽ:"UZUf:JN񊿽%`B&hA7?SofOg HԔbNxBm0詮f׷{Y
%-}!sZv`-]^w1<aț9uF9KEe<ۑ캆y2FzpEcmspEXS܌8|JX +zi)1fQĚ."f#r^\Nez]x_̭ݼa0n<f!ɲ)dy놕|oÁί*ɫ]K> q;dH !AWH1
3KXmbض$2>8u'<g[.1wbZ!m340.`"72J_k3\lZs_ڊ-nGm
[i04YlgR:fǂ%Q &"/zz}b
@@ -917,7 +904,7 @@ nYmepj$b|34EO
rڛK}C!9I bn}3Oz 3'e N{rg-:+}yO
)&ȝ3q+l/?bG 'TIOĈ8Ά\)f'Ƌ
:2v@"q``-6n6\ȝWICXv/à_`#p`!!('\Ixsu~j
-h eī˼m v|
+h eī˼m v|
HׇWYDHФ7)"FT,{oϖ{gos&r{(2(|݌}%_dx:]#OqePP/~0Th 6K
0`#V+:Fkņ+Fcx<\#-&X/Lb
h.F{/BbEST&IiuCXHɦ
@@ -959,75 +946,78 @@ Ka(Rf `3zsnIĘP֮)U𲨨L3rp>%fFn VSA"
W" ZN a;3-0QlIl[+cmزu' O.4uknGO)2 s5(hfGy`[!Z+ E?5uDEa2,-mEV )`
AX&t5ڵЅDdJ
{DzāyCLX/\O΀BV]+ԂK~SJ‹?䚚 ܾ]X [~ڡ-XNua0ָpc- y5+X<ulaInnu!Yrrg2v*>/}FXA\-" H[~jb@vV(oހ&"Nb t֒@0,,BY
-YV0ا ,7g(~W@XA\/]qV몸E)Q!iD$qiiVbzN1eKWv9+J-W XIw(kZ3Qdp8urr9;q-ڒT\d+RZ͵U9">hc&"d<Z-ձ&0$ 57=EӇrvc:;;{xrBb/(5 tޫĂEQ@ ((-" ee+E(FEc-Pb%v$k:љyo f ~^˝OU[e.*%. =ܔVۭ5ڴT;6X9ZaiH mr:`Qe 2/8*K$H"/'+cfZZZl^=xA`NDƥ@ <eOmرU,"FLvh%XڿիUO@x%ٙ<tޢek7Cxv|lM?G훗ϝmVp|:i̇
-K ,h!QLJ)%!YY9<d.Ͷ{zM+.Uû\ڼ3cjT8_?Wt=&pb QPJ`dϞJ+PXP%n\Vp}e<zBц߯\\U$LA{Qˀ!#"c2sTہJ
-AX4Fa!dZ?E74e[tޭ-,L<F "Z]z,]},>!Q,%X<+Ei,;qa]iiȽgX#GjqKY_ƆCkу3[Kw LҰS R `|?_(T.PGψ Vʥz 
-ւH6sKWZH;!<&/
-J$J.GXzʉ
-LR,`UTցw pWo:
-Vhzh|a$'5.٥t<tMMͭAY4#.W*,*)[z߀-</лz8+hCqjZ\)'R/w>춴X СOA޾cRg (bU wnǏ[_l{vi`xbxaY@ m\ 16("6iFf@ A ڼ
-RMRwT. dSZ"3^Cx\i͕ҦҥCX6ff斨,Oo g$fj8a)-ߍw)GmYt^a~zBTa0KCn`YXe}160bJ f*pd|/A|Hus\lPSZ=DikؾkXZlx.`[ZeG%I[}\,XzF[w|>S9d5* tR|J:e2#ª[V(5Q-T}8.ǰqfOZ<]!۰m,,,l]y=>,z w \&n%> 歹Ū2K W~U!ͥj<#81&1I%)U
-ɟp"+/:lv` ؤ4D&
-J%b1E%,[1|öbfiۍKGnYJdgceem<3+"
-
-^k;
-u
-V"QD^TFa5mp,<*K˕ao뫋3phy"/N`SX66DYc
-EbiaiY/88a\&C~~ #qR0WG* 3s} :IE
-<5el𻘲x<@^Rn,8+SXNa;v"W*/7/W,]eaNwڝqr&! \ $#
-d!+}L;Gʰ$DXc' dVA eI3/Y۽lWVt 5RKq) JP`k[*acZ;Zm€}X<V\\|@X~'t]z`YB6ܳe傰: ن9KKINO-6W-𽵵6aCT{j|ڴ/:GG=kj6* KJLHHY|@VaIWߌ
-6y=n[6y•w?{ nC|9 ar>;12HX|Lc d!%EaZU]꘱`;sꭻ1 ~ mXC܆I1 4(,jRR%%#k e`VWvV:U@p´˷=EaC ?ݝϟ<sòy=Z)4:Fa,599JgĀ, [t꺦s۶ȩ?^'G*+"h.+H81BX]X B1 dݵM-!b<J{yY6NxM7(n|3XK;vϷ=]s6,f
-JrYV(isKB YZ68[:f.\y^dVdf=wKg߶vXE씄މeXZͤh) WLe8,p,YQn%e._ӄ Vl܉!lÁexv^8_eU ix7߈QX(TzJ
-ZU[`JRl26u_!Zbw ad92YXW
-XԸѣz!!a 9i :ɐbd!%a5ո*,&caZ&Zm_uaE$+-ex]f!'x֯ 0YU,&
-\PPK)૮YyyFKyE 0-A|D/,ù9f%YdJe2|BEj(3 z!duxڧ-XiO]Go"ܽu}XX^-6af+DT'CȪ # Z[MlsCS!h :xdnaYSt#,_Xd٬4'ead!%miAb4VWTZY1k}GN!hHa˰3{Q/-C28tPU*JMz:33K/= g,\e_q'!ei
-0PX \&+պ78 <0G>`Ch @q ;iaUuRej`djݎRS^vB*Id*{[5j Oъ VXo-ܰlޔn)i&6Vd /*(88%zR*b9.4u)H<I,dܼ)2²Ea|
-u~:FINИlo|Ɲ`!>~6⌏9
-ݶk:t-$1,K~Z)+Th!BV`lRMK$&$$&q* [ݾ{4GcEk{*%nk!)a-uX
-tR _n|(
-%iS-*uNˌ}><_̞=USCs9d:"/)A$%
-»9W*Zb`9;,VYSTٲE_hiihh]+&1=Ni% b['sz?
-mŽ:{ %!:<dVOg,7z6l8 LM TSUQZ3fքZ?{19#b E sh: ,0,X@°07sd`k*+))jjjr ۃ*/~
-S(k͘chܞ`Y([9BE ~/X%XK
-n^ƤAy`
-TXFp 4k7ϋrYl`
-G~_ZR -5ey99pJaã U$OҒקbY `VHXn$E?'ϓmoptqF􆏂%`x{
-V_H( ngcckGgqBq#HYt4U&O,7EImtx ӿ_NU?n i P>{q=؋X=CrV+/ם>
-?Vd|JausֻQwasf98:s=GPQ$++;INAY}Lp2DO?_E^I/huSqJQnnfʥ6KPm4(S86$65 >$Hfx
-K,WY y̾#p AJ{m\c;XN.<j
-̗BO0~xQ)ˏz2:ju@""\ M$'qHT+4'5»0};~#?H/<ck,m 5ș ə%Ƀ~Pơ-U+\#`z),TIAYfhUyqOm)q*k۟?dŤŠ' [_tB\d҉7)!p>./-̥XD7%yO!@2^atӱIjH[~oׄ8ۚkʋ2ѭErl,r
--M_~iښchdbJs`ZqIՏqzH\(dz SO[A`Jd^Ŭ`ЭVCu* DzX[9r*&F2Z}
- ?w!153NIYUm]C "yn(D"QqV
-3R.D V^Z7P'7C8 |e W-{|=Κ}I~Wz{QyizJXx+=)6_zow{EʂJjg,ꮀC75h9q6rJFvA!G aQT?y¼#͘t*+чP4=et޺́¢R%5NQWWwwOOO%ÖiL
-pqyn>"X뼸L[3HY
-r2R|Eh $7o!Ea1A\ʪj<mlƸ{qqЇ
-.=3δT5om zǦDrse=@I{BГ%y1-C'OrP=ϭmjZ\^]^@~ArV!;HAS--@W tˋ9Pl8c}1hK V"X~`?{骪)1 <>=C=ãS33s;
->LOM;|.
-sYpvHi+_ڳ`x9F8 )0<bmut{v|tu k+Bz )$ @kd/(Kt< ]\UV׺kF1 42.%_RZ:9
-!XHzW vmI2WnݹgjaF NH}ʪ:{F' ZX0624PS+b&E"C1L t4UdC=h¤u3я`*5uu ;
->T+x%9B}<]zT$4?ZZ/#wl_$c`lneNOd
-J<^YYyyyŎOee<d$é>^)DzSY>"eYP>T,QH ıSe]w'h.Wor
-#C[jW/_8{ڄs(sMރGx75<:>desr9
->r89,VFZreh/ +H,wOPB u%c-[G< WV y -+^u [;{z^(*Yiq
-n1m UEygNnXK4g.)kA@ZxTL|br*#-= з4Fjrb|lTDh?| {!dHYZj
-ϟڮsl{8ti4);y@HxT\## x
-3dQ8[%~Gʲ4rEvem?l>{t  \Oݼ||C"Ii9¢.[R\T b`$E|A <tq@ٍ߽e%9:yNZNo:p6+DɇL~..$dH^ΎOxK ǵU熲(^E ii*jh1DGu$@Ha3_2TlvvV&+b>N6H_&PA
- R;|.9DuȱSRbO36 ;>urvqq۶rqq?eۺBvl$!!Ͱ mUQgLsν| !J@>G<p{ܸ
-񛛩V&KbTJ:W%nN6j<FQ沍xG#t~:[_Yۼ!4ij/_߿޼}ݻwo߾yۯ_x~z{X 3Sx< Vx
-biwΊerbDXFbj
-,U.l6(QX+)^#+i,H-.!C\z356+Vj`Xrn|ѓo_|k+hϟc ;tM*jԩ`+>ڊYRkYkñx6LUkBmOOW*Ra"IT:;Q\׊(PY|nOk7:"K$S\p<,,຋=O>}zxx~{;wn\צJL2*N [a;Vk3$=`86Og\4VN.ͤSD<z`u)ʪ촲[*\4\|"CsI8;;؞;wlmZUJX4s;(*H@Ȋ7WZXZP$QcmEފEp(8ALk
-TjVAJOiF=unTɄVҖ,3L;p$O$St&Ee;Ǔx4
-|f1!
-꘭OM-х-/T&+J$R(GX| %RYyF).zQF38xPH$LFv٨R`*P0aQV-%p
-_R9V7M)ZlNѠi5j
-\Fn,U(Pz:r=+V"?~"K#k\ ^T_w&"04| ʗk+7শ8_̧"~'-\\
-?kv3+("b-RZ$J: D"1nY Bӳ)<w"~'8*GCH8 x]A\ {Gt$6d/(:~vR*cz\٧C8#ZF1rFvIQăOdKLZ܁AMfZLql-hɇZתR !$ƺz|ud^%JR*dQG7Vր@(HerB!I%b`!ZV?_ PbPrA?ZҺ^T<nتXZ .~
+YV0ا ,7g(~W@XA\/]qV몸E)Q!iD$qiiVbzN1eKWv9+J-W XIw(kZ3Qdp8urr9;q-ڒT\d+RZ͵U9">hc&"d<Z-ձ&0$ 57=EӇrvc:;;{xrBb/Ϩ, 5KzUGAP@ ((")r; *"XĮ1vbKT$*8Ʋk9{߹f%s?=x/-7oԸ0\pSZMwn^=u+L"E磥V^Xz??C6 0XFTYGQe%RD,fO̚+R p߱5VtYETZ\ `ASC7JPؑA|?]WXCXF]tr5:(H kZNvVVvNO(zpܼӌ-?|Ӻ[ҙܸba 14|h-d_
+K ˔e8"Z,)/女@7?zy?|A4tV'rjkۺ*(bq Z\2 r֣аQDYBU7mZ^O$+ڹr)lQ/e ׇ[qkKcݕړ|zqE0'?M ]=zS ,d2Ha:Rsy>=}oP`pJa4ZxjC`SeyGe(,)RUڲ֍;'="P[{]
+:)f8ZDz,cCC,aFuv_$
+ -P %sI %$%Da2_zA\ğU[3)(&ؤɨ,\"H,ϨXXv3 VC'
+H"^=ckJ$ZS<w,l<D'Oea hQ^>o @jKȔXjOZghJDcC]mz:,[K3##c,PV(++/+aIY'VCS+<sp$V:z.S g
+2ō ų aC AY];(hDLB$P
+;* X,%)~SNf+e?-b-8$yɣP.D!LML6G%O-I0X$Z.U94XGj.\Nd/Zpak^<[0wwi me^>BFSe)U*-`UcSHRh}dʹv|[5CzbTxKXfjeN?)-T-x:k%Xa1X4Ehz񸵩5zH1a]*,LMe6j FY ,% ֢5xv~zlƛ᳷]RA{Î=
+OIIJ`U.\z#VD C`gH3c]JCi{`hwtyͻxt@tE=ĩfq<Kxa2,--.z 1
+j`?_eX.v66BPր!QSҳB!98I߯e b 5K,-bxyϡys6,WG;WGD'M d2By밪,_>{l̒s`;e 8!LY:I_EV ,o]=w|SF O:,'{;[;FYqIiw%ˤRLNanA,YtZ-Pnna99;teFƧOVJ"HeJ 52mXv$>xYup+Կ_/OeoF5<LR𻌲***H%
+'BVB@ Kg/
+NgrY'(i0F
+js14qOmwTxrRVdf=vmZ>o8⌔Q2,\f2),OLVPR8VUiʭ5 -㻺ux")ZeH
+<\;UUtF[1
+LIaB 1l./=_}mb.5JT흳LÇ:$,,+z֠ӐڰD4Jffad!%aj*fXjt“g
+#D尘 <lNEB: ZTEDfC,C*SJ4N_$BJ
+]X[e3 :FTT'Y>@KZ/Boe=~W!aQXtN:Z˪DJj{k*+Lz:;;G/2;<q8{]RKC<1XQ˺؏,tFeHiX*i&/#=/*dֹFCZPrr %Vsش߹ =B'~JJV..C*ҩB>eyEY(,eEzJ.˒+պruçyadZ`!wj#8v񝲰jmF]vP3%
+~ ng 7G%Ke*{{-Rsp`'zHhED W/504PNUXkm%(ZCYH\bF%
+E91<=H<E,dܺqm+aYC"B@--(FO0/G.
+!Pk}ëKR6Z}0R -![#A5( ˔KDBTT* 0,hADHp 5/Y}߱3n>qh B8XΟ<Ͱ '80d",RHP3RoGQY>4ेNLjh gZ :/H}<܅#yYԄ5e
+1
+Io}k0ZZ5|i"
+ ΍<E&ޅCG<K%W]E$_-rӘ :%*i0}޲#{ rO!b`ٶv1»@-EFw+- +qXe R2\5U˖
+ٌ䤤d;Ceq;,ZuaD-XO;%|IBD;7 »(F:d ) \V
+Z,;Ri 4D7a{|#֥w=
+ Wmu
+l&`X:a)tˠF E,`@" ri& "MKu}ahFs?gwA$%
+»Y)*b`i&k Lhh
+<n%ebW:Z&khh]+269Nq9 bK;sz?
+m¶{nZ¥}۽P0>XNZ#Ö$q"e-3Ss
+К1{7D 8~b|J6H[
+7,b{l䙣0q${Ð`M|
+)ey5w4uEIU5fYؚ`Y([Y"E ~/X%X6J2n\ECu`Ѡ`F5"E8s
+렯ߎimeiE9A*
+<q.o!ѸºTOJz
+e;ձ֒U~u=vqœf5;T6SIv: kzG iazm&e|2RKINqr#K[G- xff^QI%ĦN$oנX|نXU/M{!,O;6֠!$.M}8+ XJv?}=-Â~қ}PV
+ـV;YW0+X PJn> f6OE̺[Bܲ@!dԇC Òk,W=ONL!V
+A-ZPȹ YwJ*k\NɋtF'a /3%JdXp beu ur:C`,[ao{(wuրvWOϫWLzӅKG[qQ<\<.5Rp( *o낲>L k $Ԉu٨+ )yfW/ɋEI;`R}usғ/zXmŬ ;UYA|<ԧ[ao~)1-
+3tuuvv@a4 ]|C|mBk ei)KANF
+B/@mu-h |884r<+^IEՓWW: 7 ޞn@ j!V og&Ŝ?}.̊fh
+#9?4çgm *"IAPD@ b d߉!@ؗ@0@ !,a @Xd}_sOvF={wbX'.+[yR>r&gVV76Vk+K:;[jW)`lVV;6
+.=3ΌėT?7G;kM! ʺ6 
+3[]Fkqyux?[
+,,j!]YxUMHȸ̜Ҋ $S*V``pĻ+g1b_U"|Ejn㉮Y+Q𩿿O!h !乏S"zGSHE~e& ^8-QxZ6iu-bPxtBZpu#^3s
+e,I-`PWۡ,9тuɳye\OlIσiQ4fv^A mhz+A ==o:ېb
+}`&'DRH+k+ǰO႔p<Ƕ7q߁C(j@s<Hσ"cRY9_
+mmPmmAkkKscC]Mue9"LOTo7 5YibYY E{!Ow""c/|c_FS(?VVx<’@Pw,T&󩲶I H\(BsY=H@ꋗthlv~aqY9_S[WWU]]mmMuU[Z\b$F 7<2 muEFtup6LVAUS:ՓJ ¿X4ZX54$(Џ@\ Z=ƛ?|؊h/;Rە$ZP42
+o5p9{EDS3s8E%ee\n9*. HKN}2{[SMk+4?߳W_Jbsu򜴜_5ulV1<|Hd/\\~P|!qx{8>%,f8~GʂsCYNIw(R'G٢4FWT5#: R^D!C12Xٹlv*6;7'
+h5j(U@sƼD:?]m{ً_o޾}ݻo߼g?=ệX +s3d< Vx
+biwΊerbTX
+FRj
+,U.l6*QX+)^c+i,H-.!#\z351+Vj`Xrn'Oo_|k+hϟc r!TըS)V|[W9֢˳hcl,Rְ_TӥT.N%Atv43soFVLGa%sZa\"|
+tunqi]<h?>~Ӄ'}}g͕Bm$c!?2JوFj9Oct&ASmrLz2Lc(OXBj*N+ EHŇ,R\N?0Wӊغso{>xsuR Ji*}nE j)Y155h./ EX5VX4 ぀
+áBIwטn5@
+L%
+U},٪N6
+_R9V7M)ZlNѠi5j
+d˒Né.Ņ7HJB%P24+
+jSrdD,
+HEu6bqdu$"':Nsx9[坭jى euPYǧB\M'DbU4+\.ɤiA)b*>&Ms5 `6@:R/mHԚP"7 [ۛn./T Xjba I6$%DAQR`FZp^H0DWo;pD6=Liva,7W͕1#vTYGq>+lK`Ibfm~
+OYY:#.5qTdzx$PZ
+LP,T<w٨0c裸`?s|XrWwJoqzVr2ɤ'm7c~8nfBTPDZHuEDb" ^%zgSxyO&
+qU:‘p(Z!9?cPl^*Qu&~ T,$"|O!&pG
+cr9^XC@K՛,Vj Z5ac]Vjހkգ
+xcO:V?Id
+JR)2Ya(ZHkH K2BˤP0DXٍuh-Jk/#(H(r9 VbEiq!`% 8}, cQkQZݽ}EzY]bh
+Zpɫ:K)n8A]{{ÉO
q
/GS0 gs
-72.2400029 0 0 55.9200022 16.3710938 18.6952322 cm
+72.2399984 0 0 55.9199988 16.3710995 18.6952509 cm
/Im0 Do
Q
- endstream endobj 55 0 obj <</CS/DeviceRGB/I false/K false/S/Transparency/Type/Group>> endobj 57 0 obj <</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 301>>/Filter/FlateDecode/Height 233/Intent/RelativeColorimetric/Length 21314/Name/X/Subtype/Image/Type/XObject/Width 301>>stream
+ endstream endobj 117 0 obj <</CS/DeviceRGB/I false/K false/S/Transparency/Type/Group>> endobj 119 0 obj <</BitsPerComponent 8/ColorSpace/DeviceGray/DecodeParms<</BitsPerComponent 4/Colors 1/Columns 301>>/Filter/FlateDecode/Height 233/Intent/RelativeColorimetric/Length 21282/Name/X/Subtype/Image/Type/XObject/Width 301>>stream
HׇWYDHФ7)"FT,{oϖ{gos&r{(2(|݌}%_dx:]#OqePP/~0Th 6K
0`#V+:Fkņ+Fcx<\#-&X/Lb
h.F{/BbEST&IiuCXHɦ
@@ -1069,1112 +1059,1188 @@ Ka(Rf `3zsnIĘP֮)U𲨨L3rp>%fFn VSA"
W" ZN a;3-0QlIl[+cmزu' O.4uknGO)2 s5(hfGy`[!Z+ E?5uDEa2,-mEV )`
AX&t5ڵЅDdJ
{DzāyCLX/\O΀BV]+ԂK~SJ‹?䚚 ܾ]X [~ڡ-XNua0ָpc- y5+X<ulaInnu!Yrrg2v*>/}FXA\-" H[~jb@vV(oހ&"Nb t֒@0,,BY
-YV0ا ,7g(~W@XA\/]qV몸E)Q!iD$qiiVbzN1eKWv9+J-W XIw(kZ3Qdp8urr9;q-ڒT\d+RZ͵U9">hc&"d<Z-ձ&0$ 57=EӇrvc:;;{xrBb/(5 tޫĂEQ@ ((-" ee+E(FEc-Pb%v$k:љyo f ~^˝OU[e.*%. =ܔVۭ5ڴT;6X9ZaiH mr:`Qe 2/8*K$H"/'+cfZZZl^=xA`NDƥ@ <eOmرU,"FLvh%XڿիUO@x%ٙ<tޢek7Cxv|lM?G훗ϝmVp|:i̇
-K ,h!QLJ)%!YY9<d.Ͷ{zM+.Uû\ڼ3cjT8_?Wt=&pb QPJ`dϞJ+PXP%n\Vp}e<zBц߯\\U$LA{Qˀ!#"c2sTہJ
-AX4Fa!dZ?E74e[tޭ-,L<F "Z]z,]},>!Q,%X<+Ei,;qa]iiȽgX#GjqKY_ƆCkу3[Kw LҰS R `|?_(T.PGψ Vʥz 
-ւH6sKWZH;!<&/
-J$J.GXzʉ
-LR,`UTցw pWo:
-Vhzh|a$'5.٥t<tMMͭAY4#.W*,*)[z߀-</лz8+hCqjZ\)'R/w>춴X СOA޾cRg (bU wnǏ[_l{vi`xbxaY@ m\ 16("6iFf@ A ڼ
-RMRwT. dSZ"3^Cx\i͕ҦҥCX6ff斨,Oo g$fj8a)-ߍw)GmYt^a~zBTa0KCn`YXe}160bJ f*pd|/A|Hus\lPSZ=DikؾkXZlx.`[ZeG%I[}\,XzF[w|>S9d5* tR|J:e2#ª[V(5Q-T}8.ǰqfOZ<]!۰m,,,l]y=>,z w \&n%> 歹Ū2K W~U!ͥj<#81&1I%)U
-ɟp"+/:lv` ؤ4D&
-J%b1E%,[1|öbfiۍKGnYJdgceem<3+"
-
-^k;
-u
-V"QD^TFa5mp,<*K˕ao뫋3phy"/N`SX66DYc
-EbiaiY/88a\&C~~ #qR0WG* 3s} :IE
-<5el𻘲x<@^Rn,8+SXNa;v"W*/7/W,]eaNwڝqr&! \ $#
-d!+}L;Gʰ$DXc' dVA eI3/Y۽lWVt 5RKq) JP`k[*acZ;Zm€}X<V\\|@X~'t]z`YB6ܳe傰: ن9KKINO-6W-𽵵6aCT{j|ڴ/:GG=kj6* KJLHHY|@VaIWߌ
-6y=n[6y•w?{ nC|9 ar>;12HX|Lc d!%EaZU]꘱`;sꭻ1 ~ mXC܆I1 4(,jRR%%#k e`VWvV:U@p´˷=EaC ?ݝϟ<sòy=Z)4:Fa,599JgĀ, [t꺦s۶ȩ?^'G*+"h.+H81BX]X B1 dݵM-!b<J{yY6NxM7(n|3XK;vϷ=]s6,f
-JrYV(isKB YZ68[:f.\y^dVdf=wKg߶vXE씄މeXZͤh) WLe8,p,YQn%e._ӄ Vl܉!lÁexv^8_eU ix7߈QX(TzJ
-ZU[`JRl26u_!Zbw ad92YXW
-XԸѣz!!a 9i :ɐbd!%a5ո*,&caZ&Zm_uaE$+-ex]f!'x֯ 0YU,&
-\PPK)૮YyyFKyE 0-A|D/,ù9f%YdJe2|BEj(3 z!duxڧ-XiO]Go"ܽu}XX^-6af+DT'CȪ # Z[MlsCS!h :xdnaYSt#,_Xd٬4'ead!%miAb4VWTZY1k}GN!hHa˰3{Q/-C28tPU*JMz:33K/= g,\e_q'!ei
-0PX \&+պ78 <0G>`Ch @q ;iaUuRej`djݎRS^vB*Id*{[5j Oъ VXo-ܰlޔn)i&6Vd /*(88%zR*b9.4u)H<I,dܼ)2²Ea|
-u~:FINИlo|Ɲ`!>~6⌏9
-ݶk:t-$1,K~Z)+Th!BV`lRMK$&$$&q* [ݾ{4GcEk{*%nk!)a-uX
-tR _n|(
-%iS-*uNˌ}><_̞=USCs9d:"/)A$%
-»9W*Zb`9;,VYSTٲE_hiihh]+&1=Ni% b['sz?
-mŽ:{ %!:<dVOg,7z6l8 LM TSUQZ3fքZ?{19#b E sh: ,0,X@°07sd`k*+))jjjr ۃ*/~
-S(k͘chܞ`Y([9BE ~/X%XK
-n^ƤAy`
-TXFp 4k7ϋrYl`
-G~_ZR -5ey99pJaã U$OҒקbY `VHXn$E?'ϓmoptqF􆏂%`x{
-V_H( ngcckGgqBq#HYt4U&O,7EImtx ӿ_NU?n i P>{q=؋X=CrV+/ם>
-?Vd|JausֻQwasf98:s=GPQ$++;INAY}Lp2DO?_E^I/huSqJQnnfʥ6KPm4(S86$65 >$Hfx
-K,WY y̾#p AJ{m\c;XN.<j
-̗BO0~xQ)ˏz2:ju@""\ M$'qHT+4'5»0};~#?H/<ck,m 5ș ə%Ƀ~Pơ-U+\#`z),TIAYfhUyqOm)q*k۟?dŤŠ' [_tB\d҉7)!p>./-̥XD7%yO!@2^atӱIjH[~oׄ8ۚkʋ2ѭErl,r
--M_~iښchdbJs`ZqIՏqzH\(dz SO[A`Jd^Ŭ`ЭVCu* DzX[9r*&F2Z}
- ?w!153NIYUm]C "yn(D"QqV
-3R.D V^Z7P'7C8 |e W-{|=Κ}I~Wz{QyizJXx+=)6_zow{EʂJjg,ꮀC75h9q6rJFvA!G aQT?y¼#͘t*+чP4=et޺́¢R%5NQWWwwOOO%ÖiL
-pqyn>"X뼸L[3HY
-r2R|Eh $7o!Ea1A\ʪj<mlƸ{qqЇ
-.=3δT5om zǦDrse=@I{BГ%y1-C'OrP=ϭmjZ\^]^@~ArV!;HAS--@W tˋ9Pl8c}1hK V"X~`?{骪)1 <>=C=ãS33s;
->LOM;|.
-sYpvHi+_ڳ`x9F8 )0<bmut{v|tu k+Bz )$ @kd/(Kt< ]\UV׺kF1 42.%_RZ:9
-!XHzW vmI2WnݹgjaF NH}ʪ:{F' ZX0624PS+b&E"C1L t4UdC=h¤u3я`*5uu ;
->T+x%9B}<]zT$4?ZZ/#wl_$c`lneNOd
-J<^YYyyyŎOee<d$é>^)DzSY>"eYP>T,QH ıSe]w'h.Wor
-#C[jW/_8{ڄs(sMރGx75<:>desr9
->r89,VFZreh/ +H,wOPB u%c-[G< WV y -+^u [;{z^(*Yiq
-n1m UEygNnXK4g.)kA@ZxTL|br*#-= з4Fjrb|lTDh?| {!dHYZj
-ϟڮsl{8ti4);y@HxT\## x
-3dQ8[%~Gʲ4rEvem?l>{t  \Oݼ||C"Ii9¢.[R\T b`$E|A <tq@ٍ߽e%9:yNZNo:p6+DɇL~..$dH^ΎOxK ǵU熲(^E ii*jh1DGu$@Ha3_2TlvvV&+b>N6H_&PA
- R;|.9DuȱSRbO36 ;>urvqq۶rqq?eۺBvl$!!Ͱ mUQgLsν| !J@>G<p{ܸ
-񛛩V&KbTJ:W%nN6j<FQ沍xG#t~:[_Yۼ!4ij/_߿޼}ݻwo߾yۯ_x~z{X 3Sx< Vx
-biwΊerbDXFbj
-,U.l6(QX+)^#+i,H-.!C\z356+Vj`Xrn|ѓo_|k+hϟc ;tM*jԩ`+>ڊYRkYkñx6LUkBmOOW*Ra"IT:;Q\׊(PY|nOk7:"K$S\p<,,຋=O>}zxx~{;wn\צJL2*N [a;Vk3$=`86Og\4VN.ͤSD<z`u)ʪ촲[*\4\|"CsI8;;؞;wlmZUJX4s;(*H@Ȋ7WZXZP$QcmEފEp(8ALk
-TjVAJOiF=unTɄVҖ,3L;p$O$St&Ee;Ǔx4
-|f1!
-꘭OM-х-/T&+J$R(GX| %RYyF).zQF38xPH$LFv٨R`*P0aQV-%p
-_R9V7M)ZlNѠi5j
-\Fn,U(Pz:r=+V"?~"K#k\ ^T_w&"04| ʗk+7শ8_̧"~'-\\
-?kv3+("b-RZ$J: D"1nY Bӳ)<w"~'8*GCH8 x]A\ {Gt$6d/(:~vR*cz\٧C8#ZF1rFvIQăOdKLZ܁AMfZLql-hɇZתR !$ƺz|ud^%JR*dQG7Vր@(HerB!I%b`!ZV?_ PbPrA?ZҺ^T<nتXZ .~
-%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 16.0.4 %%For: (Roman Nurik) () %%Title: (io_paper.ai) %%CreationDate: 6/9/14 10:14 PM %%Canvassize: 16383 %%BoundingBox: -32 -65 65 32 %%HiResBoundingBox: -31.9785 -64.0049 64.0264 32 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 12.0 %AI12_BuildNumber: 691 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBCustomColor: 0 0.749492 0.832088 (PANTONE 3115 C) %%RGBProcessColor: 0.14901 0.196208 0.220044 (Blue Grey 900) %%+ 0.946889 0.94633 0.946441 (Grey 100) %%+ 0 0 0 ([Registration]) %AI3_Cropmarks: -31.9785 -64.0049 64.0264 32 %AI3_TemplateBox: 16.5 -16.5 16.5 -16.5 %AI3_TileBox: -271.9761 -372.002 304.0234 361.9976 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 2 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -55 37 7.19 1448 863 18 0 0 -4 37 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -412 %AI7_GridSettings: 4 4 4 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MO %%EndComments endstream endobj 62 0 obj <</Length 28195>>stream
-%%BoundingBox: -32 -65 65 32 %%HiResBoundingBox: -31.9785 -64.0049 64.0264 32 %AI7_Thumbnail: 128 128 8 %%BeginData: 28052 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD35FFA9A984A97E7E547E545A547E545A547E7E7F7EA9A9FD66FF %A8A97E7E54542F5429542F5429542F5429542F5429542F542954545A5485 %A8AFFD5DFFA8A95A5A2F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F54547E7EA9FD57FF847E545429542930295429542954 %29542954295429542954295429542954295429542954295429302F5A7EA9 %A8FD50FFA9A9545430542F5430542F5430542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F543054307E7EFD4DFFA95A542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F542954547EA8FD48FFA87E54542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430545AA9FD44FFA95454295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954295429542954295429542954295429542930297EA8FD40FFA9 %7F54542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430547EFD3EFF7E5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F54295429542F85FD3AFFA9545430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F7EA9 %FD36FFA87E2F302954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %54295429542954295429542954293029547EFD34FFA97E30542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430545AFD32FF845429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F3053 %A9FD2FFF7E5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F5430542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542FA9FD2DFF5A %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542930297EA9FD2AFF5A542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F54307EA9FD28FF54542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F542954295AA8FD26FF54 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F54305AA9 %FD24FF535429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954A8FD22FF545430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F7EFD21FF543029542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F54297EFD1FFF5A5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %54297FFD1DFF7E3029542954295429542954295429542954295429542954 %295429542954295429542954295429542954295429542954295429542954 %295429542954295429542954295429542954295429542954295429542954 %2954295429542954295429542930297EFD1BFFA8542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %A9FD19FFA854295429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F54295453A9FD18FF7E295430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F5430542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5454FD17FF7E295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %54295429542954295429542954295429542954295429307EFD15FFAF3054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F5430542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F543054A8FD14FF53542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542954A9FD12FF7E542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F5430542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F5430542F5430542F5430542F542F85 %FD11FFA85429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %54295429542954295429542954295429542954295429542FA9FD10FF7F30 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430545AFD0FFFA929542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F3029542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F54A8FD0EFF5A542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F54547E545430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F542F7EFD0DFF7E542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954295429542954295429A8FFFF7D302954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429A9FD0CFF7E30542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F54A8FFFF7E29542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F54305454FD0BFFA929542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F302FFFFFFF2F2F295429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F30A8FD0AFF5A542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F542F7EFFFFA85329542F542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F542F7EFD09FFA8542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954295429542954295429307EFFCAA8292F292F292F2954295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954295429542954295429542FA9FD08FFA930542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430A9FFFF7E2F29542F54295430 %542F5430542F5430542F542F54295430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F5430547EFD08FF53542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F542954A8FFA854292F295329 %2F29542F542954293029542F54537E547E53542F3029542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542954A9FD06FFA8542F %5430542F5430542F5430542F5430542F5430542F5430542F542F542F542F %542F542F542F542F542F542F542F5430542F5430542F54305454FFFFFF29 %532F5329542F542954305429545AA9A8FD07FFA8FF847E53542F542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430A9FD06FF7E29 %542954295429542954295429542954295429542954295AA8A984A9A8A984 %A9A8A984A9A8A984A9A8A9A8A9533029542954295429542954297ECFFF7E %29292F292F2953292F292F2F7EA8FFCFFFA8FFA8FFA8FFA8FFA8FFFFFF7E %5A292F29542954295429542954295429542954295429542954295429305A %FD06FF54542F5430542F5430542F5430542F5430542F5430542F545AFD14 %FF7E295430542F5430542F54305484FFFF7E29542F5429542F5429547EFD %14FFA954542F542F5430542F5430542F5430542F5430542F5430542F5430 %5AFD05FF84542F5429542F5429542F5429542F5429542F5429542F54297E %CFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532929542F5429542F54 %29542FA9CAFF53292953292F2953295AA8FFCFFFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFFFFF7E54295429542F5429542F5429542F5429542F54 %29542F54295429A9FD04FF7E295430542F5430542F5430542F5430542F54 %30542F54305454FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD04FF7E295329 %5430542F543054295AFFFFA854295329542F5329A8FFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA85429542F5430542F5430542F %5430542F5430542F5430542F547EFD04FF54302954295429542954295429 %5429542954295429542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FF5329292F295429542954293054FFCFA8292F292F292F29A8CFFFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA854295429 %54295429542954295429542954295429542954295AFFFFFFA9542F543054 %2F5430542F5430542F5430542F5430542F54305454FD14FF7E295329532F %542F54305429A9FFFF7E2F2F53295429A9FD1FFF5A295430542F5430542F %5430542F5430542F5430542F5454FFFFFFA9295429542F5429542F542954 %2F5429542F5429542F542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FF532F292F2953295429542F54A8FFFF7E2953292F29A8FFFFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA854 %29542F5429542F5429542F5429542F5429542F54295484FFFF7E5430542F %5430542F5430542F5430542F5430542F5430542F545AFD05FFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFF5A2953295329542F542F5454FFFFFF532F295329 %7EFD04FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFA85429542F542F5430542F5430542F5430542F543054297FFFFF %5A295429542954295429542954295429542954295429542954297EA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329282F292F292F2954297ECA %FFA82F292F2954A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FF7E29295429542954295429542954295429 %542954293053FFFF545430542F5430542F5430542F5430542F5430542F54 %30542F545AFD14FF7E29532F5329542F542F547EFFFFA929532953A8FD25 %FF53542F542F5430542F5430542F5430542F5430542F5AFFA85429542F54 %29542F5429542F5429542F5429542F5429542F54297ECFFFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FF53292953292F2953292F29A9FFFF532F2929 %53FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFFFA829542F5429542F5429542F5429542F5429542F54 %29AFA92F542F5430542F5430542F5430542F5430542F5430542F54305454 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD04FF7E295329532F5329542953 %A8FFFF5A295329A9FD04FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF5A29542F542F5430542F5430542F %5430542F543054A87E302954295429542954295429542954295429542954 %29542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329292F %292F292F292F53FFA8AF292F295ACFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF7E2929542954 %295429542954295429542954295429848530542F5430542F5430542F5430 %542F5430542F5430542F54305454FD14FF7E295329542F542954297EFFFF %A853292F7EFD29FF2F542F542F5430542F5430542F5430542F5430547E54 %542F5429542F5429542F5429542F5429542F5429542F542954295AA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532F292F2953292F292F7EFFCF %7E292F29FFFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFF5A2954295429542F5429542F5429 %542F542954297E5A295430542F5430542F5430542F5430542F5430542F54 %30542F545AFD05FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF5A295329532954 %2F5329FFFFFF532F295AFD04FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF7E2F29542F542F5430 %542F5430542F5430542F5454533029542954295429542954295429542954 %2954295429542954297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %5329292F292F29532953A8FFA853292959FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8A9 %292F295429542954295429542954295429542954542F5430542F5430542F %5430542F5430542F5430542F5430542F545AFD14FF7E29532F5329542F2F %5AFFFFA9295429A8FD2AFFA95429542F542F5430542F5430542F5430542F %54542F5429542F5429542F5429542F5429542F5429542F5429542F54297E %CFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF53292953292F2953297E %CFFF7E29292F7EFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF2F2F2954295429542F54 %29542F5429542F5429545430542F5430542F5430542F5430542F5430542F %5430542F54305454FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD04FF7E2953 %29542F532954A8FFFF7E295329A9FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA85A2954 %2F542F542F5430542F5430542F5430542F29542954295429542954295429 %54295429542954295429542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FF5329292F2953292F29FFCFFF2F2F292F7EFFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FF532F292F295429542954295429542954295429545430542F54 %30542F5430542F5430542F5430542F5430542F54305454FD14FF7E295329 %542F54297EFFFFA854295329A9FD2AFFA85A29542F542F542F5430542F54 %30542F5430542F29542F5429542F5429542F5429542F5429542F5429542F %542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532F292F29 %5329297EFFFFA82953292F7EFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFFFF2953292F29 %542F5429542F5429542F5429542F54542F5430542F5430542F5430542F54 %30542F5430542F5430542F545AFD05FFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FF7E29532F53295429A9FFFF7E2F29542984FD04FFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFA8 %5429542F542F542F542F5430542F5430542F543029542954295429542954 %29542954295429542954295429542954297EA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FF5329292F292F2953A8FFA854292F292F59FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8A8292F295429302954295429542954295429542954542F %5430542F5430542F5430542F5430542F5430542F5430542F545AFD14FF7E %29542F54295454FFFFFF2F532954297EFD2AFF7E2F29542F542F5430542F %5430542F5430542F5454533029542F5429542F5429542F5429542F542954 %2F5429542F54297ECFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329 %2953292F297EFFFF7E2F292F292F2FA9A8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFCA7E292F %2954295429542F5429542F5429542F5429547E30542F5430542F5430542F %5430542F5430542F5430542F54305454FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FD04FF7E295329542F2F7EFFFF7E29542F53295484FFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFF2F542F542F542F542F542F542F5430542F543054545430295429 %542954295429542954295429542954295429542954295AA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FF532F292F292F29A9A8FF5329292F292F29 %7ECAFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FF7E292953293029542954295429542954295429 %54297EA929542F5430542F5430542F5430542F5430542F5430542F543054 %54FD14FF7E295329542954FFFFA85429542F5429542FAFFD27FF7E29542F %542F5430542F5430542F5430542F5430547E7E302F5429542F5429542F54 %29542F5429542F5429542F542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FF532F292F292F54FFCFA9292F2953292F292F7DFFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFCFA8292F2954295429542F5429542F5429542F54295429A8A92F5430 %542F5430542F5430542F5430542F5430542F5430542F545AFD05FFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFF7E29542F5429A8FFFF7E2F2F5329542F5429 %54A8FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFF53302F5429542F542F542F542F5430542F5430542F %54A8A854295429542954295429542954295429542954295429542954297E %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329292F292FA8FFCF7E %2953292F2953292F297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF7E2F2953292F2954295429542954 %295429542954293029FFFF545430542F5430542F5430542F5430542F5430 %542F5430542F545AFD14FF7E29542F542FFFFFFF53542F5429542F542F54 %29A8FD22FFA85429542F542F542F542F5430542F5430542F5430542F5AFF %FF7E29542F5429542F5429542F5429542F5429542F5429542F54297ECFFF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF53292953295AA8FFA82F2953 %292F2954292F293029A8CFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA85A292F2954295429542F5429542F542954 %2F5429542F3054FFFF7E302F5430542F5430542F5430542F5430542F5430 %542F54305454FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD04FF7E2953292F %7EFFFFA8295329542F5429542F54295453A8FD04FFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA9FFCF7E29542F5429542F542F542F %542F5430542F5430542F5429A9FFFFA92954295429542954295429542954 %29542954295429542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FF532F292F29A8CFFF532F292F2953292F2954292F292F2FA8A8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA87E292F2954 %292F295429542954295429542954295429542954A8FFFFFF542F5430542F %5430542F5430542F5430542F5430542F54305454FD14FF7E29542954A9FF %FF7E295429542F542F542F542F542F5453A9FD1AFFA87E29542F542F542F %542F542F5430542F5430542F5430542F5454FD04FF5A3029542F5429542F %5429542F5429542F5429542F542954295AA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FF532F292F53FFFFA9292F292F2954292F2954292F295429 %2F297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF845329 %53292F2954295429542F5429542F5429542F5429542F54297EFD04FFA929 %542F5430542F5430542F5430542F5430542F5430542F545AFD14FF7E2954 %297EFFFFA82F29542F5429542F5429542F5429542F54297EA8FD05FFA8FF %FFFFA8FFFFFFA8FD07FF7D54295429542F542F542F542F542F542F543054 %2F5430542F5430307EFD04FFA85429542954295429542954295429542954 %295429542954297EA8CFA8FFA8A8A8FFA8A8A8FFA8A8A8FFA8AEA8FF5329 %292F7EFFCA7E292F2953292F2954292F2954292F2954292F295353A8A8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA87E2F292953292F2954293029542954 %295429542954295429542954295429FD06FF5A542F5430542F5430542F54 %30542F5430542F5430542F54545A537E535A537E535A537E535A537E535A %537E535429542FFFFFFF542F29542F542F542F542F542F542F542F542F54 %2F302F7E7EA8A8FD07FFCFFFA8A85954295429542F542F542F542F543054 %2F5430542F5430542F5430542F542F7EFD06FFA9295429542F5429542F54 %29542F5429542F5429542F542954292F292F292F292F292F292F292F292F %292F292F292F2954A8FFA854292F2954292F29542954295429542954292F %2954292F292F2953537E7D7E7D7E7D7E535329292954292F295429542954 %2F5429542F5429542F5429542F5429542F5429307EFD06FFA95430542F54 %30542F5430542F5430542F5430542F5430542F542F5429542F5329542F53 %29542F5329542F5329542F2F5AFFFFA929542F5429542F542F542F542F54 %2F542F542F5429542F542954292F2954292F2954292F29542F5429542F54 %2F542F542F542F542F542F542F5430542F5430542F5430542FFD08FF5330 %295429542954295429542954295429542954295429542954292F2953292F %2953292F2953292F2953292F2953297ECFFF7E292953292F2954292F2954 %2930295429302954292F2954292F2954292F2953292F2953292F2954292F %2954293029542954295429542954295429542954295429542954297EFD09 %FF2F542F5430542F5430542F5430542F5430542F5430542F5430542F542F %542F542F542F542F542F542F542F542F54A8FFFF7E29542F542F542F542F %542F542F542F542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F5430542F5430542F5430542F5430542F5430542F543054A8 %FD09FF5A295429542F5429542F5429542F5429542F5429542F5429542F54 %2954292F2954292F2954292F2954292F29542FFFA8FF532F2954292F2954 %295429542954295429542954295429542954295429302954293029542930 %2954295429542F5429542F5429542F5429542F5429542F5429542F542954 %53FD0AFF7E5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F542F5429542F5429542F5429542F54297EFFFFA8542F5429542F54 %2F542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %2F542F542F542F542F542F542F542F5430542F5430542F5430542F543054 %29A9FD0BFF2F302954295429542954295429542954295429542954295429 %5429542954292F2954292F2954292F2954292F7EFFCFA82953292F295429 %2F2954293029542930295429302954293029542930295429542954293029 %542954295429542954295429542954295429542954295429542954295429 %54A8FD0BFFA929542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F542F542F542F542F542F542F7E7EA859542F542F542F54 %2F542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %2F542F5430542F5430542F5430542F5430542F5430542F5430542F543030 %7EFD0CFFAF54295429542F5429542F5429542F5429542F5429542F542954 %2F5429542F542954295429542954295429542930292F2954292F29542954 %29542954295429542954295429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F54295453FD %0EFF7E5430542F5430542F5430542F5430542F5430542F5430542F543054 %2F5430542F542F542F542F542F542F5429542F5429542F542F542F542F54 %2F542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %2F542F542F542F542F5430542F5430542F5430542F54305429A9FD0FFF53 %302F54295429542954295429542954295429542954295429542954295429 %3029542930295429302954292F2954292F29542930295429302954293029 %542930295429302954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954FD10FFAF2F542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F542F542F %542F542F542F542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F542F542F542F542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F543054A8FD11FF7E295429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542954295429542954 %29542954295429542954295429542954295429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429305AFD12FFA95430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F542F542F542F542F542F542F542F54 %2F542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %2F542F542F542F542F542F542F542F5430542F5430542F5430542F543054 %2FFD14FF7E2F295429542954295429542954295429542954295429542954 %295429542954295429302954293029542930295429302954293029542930 %295429542954295429542954295429542954295429542954295429542954 %295429542954295429542954295429542954295429A8FD15FF5A30305430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %542F542F542F542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F54297EFD17FF2F3029542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F54295429542954295429542954 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F542954A9FD %17FFA929542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F542F542F542F542F542F542F542F542F542F542F5430542F %5430542F5430542F5430542F543054A8FD19FF7E29542954295429542954 %295429542954295429542954295429542954295429542930295429302954 %293029542930295429542954295429542954295429542954295429542954 %29542954295429542954295429542954295429542954295429542954292F %7EFD1BFF7E295430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F547EFD1DFF5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F3053FD1FFF5429 %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F542F542F542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F542F542F542F5430542F5430542F5430542F5430542F5430 %542F5453FD20FFA853295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954293029FD22FFA9542F542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F542F542F542F542F %542F542F542F542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542FFD24FFA854295429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F54295429A9FD25FFA8542954 %2F5430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %2F5430542F5430542F5430542F5430542F5430542F5430302FFD28FFA854 %295429542954295429542954295429542954295429542954295429542954 %295429542954295429542954295429542954295429542954295429542954 %2954295429542954295429542954295429542954295429302FA9FD2AFF5A %295430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F5430542F5430542F5430542F5430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5454FD2DFF7E29542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F542954292953FD2FFF84295430542F543054 %2F5430542F5430542F5430542F5430542F5430542F5430542F542F542F54 %2F542F542F542F542F542F542F542F5430542F5430542F5430542F543054 %2F5430542F54305429547EFD31FFA9293029542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %5384FD34FF5A302F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F5430542F5430542F %5430542F5430542F5430542F5430542F54297EFD37FF7E5329542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F2F29A9FD3AFF7E295430542F5430542F5430542F5430542F5430542F54 %30542F5430542F5430542F542F542F542F542F5430542F5430542F543054 %2F5430542F5430542F54305429547EFD3DFFA9532F295429542954295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954295429542954295429542954295429302954A8FD40FFA85429 %5430542F5430542F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F543054295453A9FD %44FF842F30295429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F54293029547E %FD48FF7E5A29302F5430542F5430542F5430542F5430542F5430542F5430 %542F5430542F5430542F5430542F5430542F5430542F54293053A9FD4CFF %A95A53293029542954295429542954295429542954295429542954295429 %5429542954295429542954295429542929297EA8FD51FFA95A5429543054 %305430542F5430542F5430542F5430542F5430542F5430542F5430542F54 %305429542F7E7EFD56FFA9A85354292F2954295429542F5429542F542954 %2F5429542F5429542F542954292F29542F7E7EFD5EFF7E7E53542F302954 %2F542F5430542F5430542F542F54293029542F5A7EA8A8FD64FFA8A97E7E %535A53542954292F2954292F2954537E7EA8A8FFA9FD32FFFF %%EndData endstream endobj 63 0 obj <</Length 65536>>stream
-%AI12_CompressedDataxr%Ǖ&w~S /nXI*RIʮd&-T|gsqHX3A ×|g/_~uww/?{_͛>g0tWz?߽?d->}v޿>]o/}߼|3{ pz:|yȻ+?D~x_^{1;/EWwe-}^v|޽wͻbw3^~Cy׻7on_W]/C7_oG0.W?}O}Q~-](=3?4ڮH?)_w)aw|=}&2ҧÛvϻq!%aFnw߼mA ?~/w߾|lqo 8m>eY81PwwG:O7HYλ?_~희/e#]oh<EWᄒ{Co߼w/s߻7?|c1hS?agyo{wc|1v-51=11A'D+9m߼뷿xtx6~?+wouя6nSo>s=)푷+߼F?_?|'oEogko~?w?|˷x}&TFn'$¿|{?}qz~7ᆱ+/~xןy_//J:e߲z=7Tn|׻/Өo߿|EO>6H{k;rqwx퟼wWq_3>[' '{
-} ǿޏ/߼ylݟ$o-^zs埿pww5+{^_=}X?~5/xLлo$k|-w8|E,&/^tawx[x=HHo_~KtgU]qwWB?Cy)L9EcpGOsw}zi/;E^vnܑuew_ې,4I} X.uCˎ~ p]b WK/ϴc_QeZxe!u=M1N-1 #<ɕjs'wI;>ݘtk1c.>Xb˷O ߺ~6j_U:Sx8n11xq9x>ޞS8S> 4t8Ot{y<Oy~΁[6o9Q[Uu:~oU[Vm^iFCB[dqIyhin3Mq8 af"0 iD@||{Rn<9S9tYƛ믴F &YiNgko_xsyy?inD݇e\eYq9-~y?-!!xa8&5zVK}_`qA[_jשjǪ.~9<Lh>yi~8ni+ô'Z6O4NÔ4EwxK[4ø'Zj6ڴjcӆUӯf/EnjW~&c՝F7IsZ!& gtNDz:f@nx"xf:#=M͑&$$L7<.4<4qt{=vmpNu
-cMAD" DHSG9n'jt4My<O׶xMFm,oI[ƛߐB&E3HcOGq9̇DG4zƙ푎BGx<ЁNv^NòS?%5Ej5JD=m^uJ댕>*;0qѣw 2oБ7[lTZV掅Sp-Bkmxqֻx~BVOoC.89
-zL]DD'
-FZcee{Dm5xKȫф$[Og*A
-j8& gDHL{V.v2mle˾`g}hGo\N[wv+0)U\30҇sI(hԞiTa.u_h{cv#mXZG߆& P"D핯\h2g[ >ruwLhnY ٮ}^+^ mr}2~cb+GO#D:1Hj~4SuzztF]iH٘bRaY+':V*<U!Oګ3-noI9{tn(]<'c&9Sbr . LSyqIx4R$v(Ə<ѦsNyDO߼᎔g%9h"0q!a0<ƜH'1S }NXvκY7;fg?F!.ae'Z u ,\>6ex_“'S
-LR
-
-3*SD3$yf nϰ%1f Weԑн㎁QU݆V*I]YQ45V Qj
- 9bRrPj3v-
-mn]e}n3+NU6UM ]c۸nݨ
-<PzDaŇޫ#Of
-N_N5%pU i\oWofٳink7Y]bF.htSm|n4Ŧh٢e,YIVxօeE-=[Da e+hdfYGVo>5
-&@9/%Ka6^7r 3\ *9c'Q?G?CA0d'7]#aWZU6g՚jqG
-[ “J*ATcZaFTo-]=4X5$pMFZ։X<3-nW̼v*d+ٖ7q h ѷ5^7^ZwPXwRaiYFcX؆j vƫ94|TF'GF܉Rb]#{\aU
-߲3Qdb70[1IB&|/Łfu&:nD@
-m5//2߮ЩcytM.Y9A-
-Qf
-Ξ
-v:wz3"N3a-3# [d<
-ᖙMϰ Eebj M̉fF s$i,۹S ۶G%6.YJ '9ΛaRӒ
-53R1*툷،{;EAO@a5#TpY8UH9\,TUS*%)w
- H]Q7]ni&~sPjK`5r $Ň_&!(Knګ *(-ξUf
-Z~گPեleKoew.ݺ>]s&W ٓ3+O 'O$&-;b4V{{
-l }bw;Ÿ%ud)p`I0+x
-4VWn"\ߺ;Q״O:&;kJ'XR_O2J]ٝ4+75i;,%OT-0aCAO;yޖ evgkck7[n+uo[gnؐu$Hԭ.#
-Y-,u45`sگN8~-W\U5Z3W@J4
-
-94An{ pdH( vb`@
-
-mС[QCEudRCI )ei
-QG:D}4vet 3ֵ*|H]ýmuǴLCl>;w"M^EڝkI5f7`Z//,n<5ɁX]VVJI]ZJǍZTϟt]*Ἵ֎mr.U\^nOuӴnu=hžk ܪd0ː0'b*l$6|ؐQrpq#twN.]vkT{U &d~[y[y[y[VVVVVVVVVV|tRU9Y["V,^D,UXJIlwlFOuYq_N*EČ9p[]fdyG+y-E2-;a-‹6K2)ɴff]+?`ײ_M=rN3?Ϛx<H#mdӞc22ΗgrQlq+tpc #dDQ{Ӱ#vo;Tt9s0nN'kٺcVu:e0j~'LCy,|Q9c!ffj?z%Lޑ
-4LK<8$l9*C1q9`+/{mDH=}?ҵ*L[`mCp#,pN);ogۺ\UE{Ω\{
-l`EI=m-Vk:Պ餹/ bQRղ![6m6v2̚X7i6)8eIQu?V`A o* =cW튣Ӕz1y)iP;9Ik9Y5'Uj̬RTrRid&UwLO\z@EK}')/}.R b]($8+DѲfo5j3캡9E-wjUe<Nirp.=Y|感ߜ9u~s^sǜ2z) \;:]׸W
-U"<Kv+=$`ڬÕȔ"P%X:H\&"5.IR!IzkXMu]:H'Wj:$4W–0K%V!>J1zY*"b>B̕Ot<Wu[v+3f
-`wO9SNULϷ%h~ߩj>$o87~h6B6<X(
-Ѩ3:c}F[t[FO4Aێ'xOnJqzDW/xtіwGWzl0&wI|%|Ftj´{j6̣*l2/4m*"IfĬӂч=o>b>GQ4XKˇnK|d+|d㺤['4Uux:zageqY$uHARS'HURI8z7I&[,ԁªyҰ&q֨/>oRH8$G.pGe͟s :"tS4=~T>m$***QL
-l=V]ݝ$:e:xUT4qYkωs!-h2_:Jj<KX⾄i-9u<JWեJPT䑇66u֢fřˀ `]E#󠟛1O XX7DR='O9[NDٶ'ZΞA_)$ٸB]p#}f7%ktqnjZOx&9<yN9%sJ<)yS<yN9%sJ<;|N9%sJ<)yS<yN9%O( ͔d~RsR<æ5<mS
-KJImmX1
-p"!V3&ŬF,5s
-Nn,(ftsԵ5n5(sG0{QAnxXաɧru5 ֱR+8ZRe[* חI`xrpe"1]xu z߲`kVDIkT* SrKv:`u y:Ud=o׶̇챊ٷ0]b^_W[ٺ:*FЭ
-l6|9;+B#XYcMn4h>FzykNoU==޲vnY=]YZ/P\Y\6E@+z*ZIևlZvK9vcdGdxc^zY aHSCY&y?䁕ڍwJ7'N8Mr3̘~&Qq6nCkh~>
-ch݅Pd{JkjP%̙ۏGdzWZc;jc޸F77C<D>V&J,i M򤚤둵GgFv Z;I\(݆]oQk Q9:FW>b廜Y}x)o<j'ZMXCΏjk~\Uk\wU.;.?IT ղuK#CCk]%CQ}dlϺRk^AU3Yփ=s1}f$qLJOW/'=֮FܲhنPC=ނC4ԏjkuX>ޫt`==P_):ʭ[ڒm-…6ڈM{V.ٲ>l~!ʂvzU}A tӆ~Z{mjz_QղRR+Mnx\h^תkwzZ}ւN|z]eG|cŷ{g.[Õ*t#n{um骕q! %Q74!p)ɧ4ѭYJuH-iףyKɝ(>W Rlnx'%4>wٖFwS=ܠ\A-$>?c\“MJ yXeꙕYaM<wUJ:)N\;x&[zJy4\*]u,Ò@ɺƗQ*M\ZTEVM㺫:'G7
-ҭZ]D; ފ=8TF/1=ۙE+FŽ?o>CRb֢jRXkZĘ4wV@\[ٻ$Ka +2 64/y8/dU^FŒl ri U^'M-2 uY"AW\V:['dg؎>@_WN'vϒ}+|-';tѽ?o0mm2L tUtը`ij"]?#kH&5ZNkvmĽt>=zAĦ(,beY-_s];mlE;U?b\׮^z %]LY-6}4
-.{nUOV7u/zl.} okyd+ٺZ=uQ7j9u4I<ZNZZ-Yg&r餩tjON[US9\pƶʶUӮqZEz?Aђ?N^?as~QBt-Th{⬶A=k-Il'{/'Fl'X0 .mv9ρ~9Ѣ WTn}PձWllDyYOIyָlhdk\k[˟b-{Uҧt_C˗d-׫=T>x5':ݧHY͵F8r~̉sLʡW8uM W'z#]W~~x/*C$wߒwܑg?Bov!7#vÒn2]잿??Zw?/?~ヨ|b}Oc}uϿ?߿pzwo_~ݛg_||uw:Kso_ꋻW~{14s
-NP777swn3GQLYX2/I
-xh2_ZgbL,<24ӮP8~eFE윑v
-M͢H?b˅Qzy+ -zD.d^"m@w:Qi
--$yimh/cόhbLЀ=8<z
-tI?_DODp"M'}10UqfC2qaH#햛1\w:Db6Yc-< ~1BiF?| Zq&|E`t8l׿~w{5߻o~n}voOu~w_|Eß_7\ᄊ=;qv/y1AIDQ6kEҠ&KTrX, :sM:i= zM F:L痤q.:3K`훉!"߬K x
-P/<KB1$[d7`ðOD Yxx83`Cm@:ؿ}/7o $2 yDI$uŰ|`Fiؽ!>h =($HGh#7 ðD ʅJR=]Z0~OnYgÞ P|<} ]/׭{}H'[?o6HT\:@I5nGmN!YY#NN
-F4<c/c~f~ј2`19aqB=W
-* Dy, S㠳c Wg N&(QI`Anx#FljxN$F-8q,ˊ@L3DyI;%x4Oñ36܏3Xq+eG0+6 [% TYUZt{#I=zx;+2/8
-/Q7}glr  L.٧6.ƋW|N 3̋o۫YT
- SwNSlhuҕQȚ
-}>|h >+,\4w;rPғXO{PC N}&ҳ"ZHe
-1uI/T&
-c$ Xp4!0#2"jTBD~O?=FC+i,v$Bh.#:+Ag#~l-tWTatEʼn,HXn
-`~!F֮rBamvdB 9<'?2GFg] qIO…gL9D:$7-.[cO); { F$ǩxɜ5.s(ᬋ
-${z
- IfIl^D\z,e ̊
-pX+ %eq\-$ 5ez{G*zdʁ WZmtfZ!
-n/n;A7X4CYc$ |. ,jP*> B=@T$y(">/<3m6,ڼj>g~B-'֠:kNiAj#/ꋻ^~ԩFS $t
-kzDXvxܱBdy<~1UyiyDٲd8zv dUyXaJr˥4R
-u&?إj Ƚd K_|]
-%::t bezfLlᬠ)7cA̍ĽD2C/_ A %"ktAôhHR!+.&?4Q\$tA b5@fxSmvsD 3-<rmhPdbcɍMxouf< ._Up9vA"3qYUTg uP|(R<9b~Gd]|3j!paƆ~k Ah&uV+O@ Ҥ :ͩ`,YOxÄ́%թgM
-G9dp<k@')TyGM+u cy.asD#$ګd
-lЮr
-Eia[F;˷@sLp* WPï@d>IYtY[u~Zy?IN̡bHG/yNg,.4|.:sڒ03TZX.RR%t kD\-$},"hW+, KpD2܅ե3tZ`=b*҈ya3i
-^֤E@#jf4qѨ8J!_ˮ&? ?@B*-\K$r:gW9YE--{ޜIly,[ScI7GAL f!/fzȔل?4ɤƃrhU L9vKXJle)Üۼ4K!f ],,ΩA~Zȑ=CN?3 QJj i ڏwĤwx(0*[GZf{Vos|@-,At,oLlgKcl8:|u*}^|j48:% Eht<ZWʂׁ/<>P7N !FDۣl4BRpK;tڔ[B;h{6ߍ$5"R(i(9UWj4 5gaF=:h* ]Msvr…-T!<<';j[y34vWL;sj~l vn\ݧ C+UhxuUCM<.DQ.x`{R(oһܻ,.mydMm :O_eD>dNe:PɈ`rMUPѸMsIҠ"Ae6׃%4BE&*”KQEwzpIZ0=ȳp$Pz9?\-kr9DL,#6HLS%Kz^W9'zZ&Wp|+{ZW-s+MzW= LQ-ULR)Wm TF5E
-46(JLc3߀{M!*e vig_o*ӮAe 0*;pv jw]YsD^63ih^9.`M
-vhFMIFtgCu2ةJGXr8S]j,;n};2l,&P n8d]n8CE/<&_xKۅEf!(rZ E0֕Zd)WM1 HPҊIfO)ɥ\niD3
-a"H'|8zS
-/ylFAD2Mex,{XIKd}FoL P;UhgZ~PgٸKNaFOeUƯip_N¦"vzg
-
-2V@,! >)95-gh9.o@CLO/t2*`eaŶdZ'U_ TBn }|l̀W|:PHZ`S
-}H 蹯\"K+9' $,gֳ_aW@UXcW ̀^?ev"fyNR\N}Ż{"a4m3__]y8lspzg)>(#Ͽ$7W?|Ż/qʇe !H'a%h ™9D1л!ߥhFzq[Qk#gu=!I5~.igp■p0h8>?s>=|t^%@$ksISŋ#韋^ObfZ4af᳏b) <* \1/q!7&12K3J'' *}Ik 2X&~U97-q,CCН:H#K5j$¥lh<;8\?%! Ҩ놂|VLSS>>Ni
-E[#^*"%x^-hFa)J |SM?ۜZbH$OSB'P*և
-tVC
-VJpn UFGN/nA o"X Ιx)嬒V<hzMxUջ̫wVUݧPQ,I
-@ˠQuE%1->=<@a鄖*hc#¸a"5֘US)Ŗ7(C+ٖs[b/Xo8ic @K G-84(u
-}2h#rp%6++<=
-"eZfzQ_^׷~)\/$ֳ5#Yj-x25jF-JAe(rMyJ}fPQ1P; TF;,ke{j'^к!^ډv5jm7^ҟ ZveVezIqg^za^ܸW1wF^ \5++,b7.TR_4kû5Ak͗ e^޼ yPdL
-_g16QMt%OV@ .B7YweL< -o[q_ZY._c A֡O\T
-/t/q6c@&@fT ,
-G'Ü4qbH
-4(s;>ҊPݥ%DKmد|LFMĕ™&Q5 (3z13@߅ q0!ʄ،,Ě9=7&&g,L_M݅4JBxUU>.!+5>bDv
->kqMI2EL\Bt4db*/R\r,}Y1WVAˈIY a?e1ŗi?cCXA cGJWsZvm2Q<:gimL(b]g #0/Ŗ)dPRQ_rkD+S{Ob0oKQOLX>ar~fc3ৌ
-cisZu2SipS&|z94P9芬:dam'7ar';OpyDZ8O
-7ٸf+(S]UMI.ɩ4U3 bU lb s΍e.Qd1ЙvZ(us ntM&F 2u1Wֲ[5]Fw˧n!m}ZV$nU-LQgPj]5rsBqU-7_6VFisc+wn0w 덢XS}-r%QMl
-0%xh~e4 b z+3Q+#
-<>. (TLjDίl
-C..'ayfU@As udyx`Ua®# =v#YeKjX"ߢ2}m{#sOR?GLs0]id a|1Uo'bq:W34s:pV~,s?E`+KkQHӖO;Po6
-Rtؠ1=??h6>l_, @ gG Nv*D+DO@BK@@
-ClP( QP%/|
-W
-qǟ+4p@ȼ&A
-tL:0MJG%$pe: 񱏷OŋL-4+4-
-CDoM{ݑL?I
-}E}N 6ȱ *jmx"uok\!H-U5?]cZDERm.y7ўw*A{(Đ>_JJi4+juL<;TeUΤޮީ0U_v:;zX
-ؙ^2v둻N
-H3/>kW{9PW]nTj
-NBKqjjG
-#fK؅ $[;"jIu@.@)#PL}L1VYV`("P# 7n8H]`=
-RzFޑV]SO_W?2#HCEmߗE> s?r_;x!\.m+<zV\ql'ܯeA'7Tӆ"6R`_Gpy6oSH{B7wLFj揖CCgaaC]7hA"udXJ/,]v} Sju 9Q<&EEZ!u"S
-<oE40_Q;p+t:K:F5I@
->fWƤCÂi'Fu{b*SSah=RŤU5 QdtI~5uw/KT*Kel,siu:)_^4Xx<=Dms`
-r{"H*gZ? WZ
-b8XZ;kX$Q7Ŝ Dd`m})FW9.H bĴ냮Ҧ I 1J1t*|!F
-7'L\khwt^P1"L3$OX z}Ie]
--_-/WOJq)nܨ/McK1̼7R
-bBivۊ<U=FvzNmymIFiztb7qڶa|l~n>Om1݌52Hj%~>s=syrD!\x[yf3A]pJPAsϪAR 9weYM2_IP{U1w/r7B5d,s,‘> jqHYkH!
-ES犯|pt0x
-mT/k)Ն>dzP6( ]ET+Q궈sfaD'<
-}Zlw-Ͷ
-ҢG9MHEZH>Bx<Ћp"JpFek$r՛mFb4N8Ws/7_?Vߔ%Bƾqw9I^q"RaBH#] K+ӊIg,sV
-ir^ͦ''}:kV
-X*i!- iCEg̯5x%|kM
-KU8&&Kq1K(#TlzTisĹ8_mTBE)w9uEI:F]$ ՎkF<R-+*SFEFJ8b^wGBJʁGRR)9}åL#OEVBZW4-*~
-E NPVTs.*lE; aqWΔ)M型ICn$wN4ő,8/BGpbpjW%9qNJ|Hf^i3h7&{br4=j3E21Ii0y]ylydq af\މFOܭÍ9TtXm\oSHAn^ 89(lϱ#ęcXG!)
- B2H/qv-f.}o, Τ5? 5D\كR 1~M3Q d䲵ÁN_?*ָӓpxYҚa*zYkEw`&ݍpr$89l^MYJcͨ*595ܜt٦ =<;\GF_[RCA掝 EaDF# ;^^ō /)= %)M͔l%@,q{t|y& 8pm }AvJT4LJN[Tek VV)Qb>ZVS-ͳ_G`!<V/hEBld.h``ɫ͈X’/>MX׎,_CWLh*UL̶ȥw o"BbCixVq
-E8*>k"$ 0TvYPVxkAC$o|g޸~wπrvYQxN}ktuV8"_c^cRӕ]ηkxV9JރP~銹N@@z k 媕WXRi߫^3rq?Ċ אLD(VG'C錩"X )Y(5rŵ8#'Zt[3 GU L\H6S# 1pXOk/KO W%`W݉%u:HhȔ&bK*MWJ:+\jÆ}ZOp`8. z%.-5{htKx5lxPAn;H[J -SevxyLLjIPBx
-Yʑ]t+ +MǓPUu;dS7.gjs ߙ//=l ;]
-ڋ^DZxz|PN
-e-S򗩅\&3ЗRLKnf3ri΄G.=S2.ݚ@Xe\Zd&\y[Fwf"4;PTe*,.sgF7'ҝ]xӞ;~{5] Gg Ù p{3̍Nn~Ps;y2d>vYd67 ڍ-J$LdžcSsgc܇e{گe6<u=c[YJ,}l7{6ܖl_{e@lq{n;[f]VkսMܣmtz `[sǏ22R(!,QbF!`+t`hk=h2Ȝh73e
-'DڏuONQΰبK_{'}Wn$w~9[Pr$݀g}6xhۆ1kj%j&@~8{xIמ  f<R U$o >ӋZMVG3|Y68DgDӿsq}n{gOx-6 U#D] rG qgdG9|PX ?h_ v!>VPjL"^).[yg/mӪ/mv !K-p,(U-PL<Ɠ|[DuoIYJ,Jj{TT eF>QyG#YJ/|%TSFr eQ2SОg~0B쓴f4*ʶ>f#Q͢5
-
-Z8eV)8>\j Ky JYݔUT?#U(:kRl[j)g륲MVRc=.G砫hU\ YU-R vVܩv]5);3x/Hwe5
-S18P]>;=եjFv|Rdz;->C\t0(.t>^U?;t5fzUIV'NwYןeuB^Wysdਪ]U'NϪ:!UuB\ꄸ]Ubꄸ]U'rO:):):)?ꤸ~ꤺ~L%G]cߊ:_~Z%:.q/]|=po]GCa˧w\$^>I7kPxd7ąP#X+#Qa#!y=ti>xQR1ք7Y0POfL=eAϭ eRqg(SS֎zzx6x8lDZoā#WFiœۮyG^൨?Qt_eFr3]S$_vLUM>E;8V4GN3\_g ^ϼc'IڝmGygB"\HxFogU")g xyX=7(+ˁWv9n;_ƫm^oeUΨFmBZ=-o0 սԡ#Q5W\xWɼR5B=]wGsY_BTx=;٘4/q r\{m{psoO]^(?W5.pQI/ʭZ
-%<$Dw/RP{&M*<\-LYvVK=78!Ʈ_γ{??ڭ i\ IOInҤ~ܟ/J۷~pw~}Z=f:I9/AUggeϺkH `RüQөWbM8]{+S!NPvGo\k! '".U1M{nQaPMcXhu;-أbq)=[H'8j7VVIxF]Ey,\x_W2.&xT&<K:mX[Y .u [r_ǡbhp~ ,&~/>+Q]xϲ
-TTRi<kmf֑G+5AkőXIZJ.nBKUf)%}iaǡXr4žeM⣿5n]1`ռ`[5դ׫!1i=Y"d7a\q-S9Sc`|Vf}OtѨHG(;E 'q*iTGHc5~J+wO,R=@'v;KFCXǐ3[ֽ|]&ơ+iIQWc &\ҡ+O`+/k9H __4?䀝ƥ:$f}$ih7rj!@A
-;ov<Z!<ةVI
- (3Lj.bجʒU7qX9ykZwt4&(6@G
-G=Lva$DfMHp,vb翟.Ku={VsbAU=/]QJ⇫y{n`k= 7Y &x*y͚c?AqWt[ VB1h@E:oi(*xF@s8(}PbID^_CA ] XrEX%Sz^%h>+ nbT|o+~p>41Aa0f0 5bSK. ]Lܲ>^gc<>;7 S
-#12Zj@Alg ?}XݿXm592Z|ͣts۴x7WPZepc5NG_jPK`a0]}`p޳ ڼ_f?GƴɄD!7ұbn;`%H' ˆr]P= OǷ!o {_ fò*5
-Xmܣ雺׋R]1\cz{y+cتM۴I[(7ߙ)uI9%UgqhF.C#ۏvW;ڃW[t5n*]"ŮHJo4+K<%-s~|A@lɬݹ;/T/~Y Uaj"v؈ܫҜkJikJng)]!>vE5vM8vT }S]zd:_t S /#WF'Yc"?+-w5-+#3J{]jćݏRBkdĤUߚO XYSkr\g|.~$}eH0޴ocD;|3N9I"c9dltm"sRFYsh4e6,a*8qηK)9c̝3~+@ƹs0q\y~^
+YV0ا ,7g(~W@XA\/]qV몸E)Q!iD$qiiVbzN1eKWv9+J-W XIw(kZ3Qdp8urr9;q-ڒT\d+RZ͵U9">hc&"d<Z-ձ&0$ 57=EӇrvc:;;{xrBb/Ϩ, 5KzUGAP@ ((")r; *"XĮ1vbKT$*8Ʋk9{߹f%s?=x/-7oԸ0\pSZMwn^=u+L"E磥V^Xz??C6 0XFTYGQe%RD,fO̚+R p߱5VtYETZ\ `ASC7JPؑA|?]WXCXF]tr5:(H kZNvVVvNO(zpܼӌ-?|Ӻ[ҙܸba 14|h-d_
+K ˔e8"Z,)/女@7?zy?|A4tV'rjkۺ*(bq Z\2 r֣аQDYBU7mZ^O$+ڹr)lQ/e ׇ[qkKcݕړ|zqE0'?M ]=zS ,d2Ha:Rsy>=}oP`pJa4ZxjC`SeyGe(,)RUڲ֍;'="P[{]
+:)f8ZDz,cCC,aFuv_$
+ -P %sI %$%Da2_zA\ğU[3)(&ؤɨ,\"H,ϨXXv3 VC'
+H"^=ckJ$ZS<w,l<D'Oea hQ^>o @jKȔXjOZghJDcC]mz:,[K3##c,PV(++/+aIY'VCS+<sp$V:z.S g
+2ō ų aC AY];(hDLB$P
+;* X,%)~SNf+e?-b-8$yɣP.D!LML6G%O-I0X$Z.U94XGj.\Nd/Zpak^<[0wwi me^>BFSe)U*-`UcSHRh}dʹv|[5CzbTxKXfjeN?)-T-x:k%Xa1X4Ehz񸵩5zH1a]*,LMe6j FY ,% ֢5xv~zlƛ᳷]RA{Î=
+OIIJ`U.\z#VD C`gH3c]JCi{`hwtyͻxt@tE=ĩfq<Kxa2,--.z 1
+j`?_eX.v66BPր!QSҳB!98I߯e b 5K,-bxyϡys6,WG;WGD'M d2By밪,_>{l̒s`;e 8!LY:I_EV ,o]=w|SF O:,'{;[;FYqIiw%ˤRLNanA,YtZ-Pnna99;teFƧOVJ"HeJ 52mXv$>xYup+Կ_/OeoF5<LR𻌲***H%
+'BVB@ Kg/
+NgrY'(i0F
+js14qOmwTxrRVdf=vmZ>o8⌔Q2,\f2),OLVPR8VUiʭ5 -㻺ux")ZeH
+<\;UUtF[1
+LIaB 1l./=_}mb.5JT흳LÇ:$,,+z֠ӐڰD4Jffad!%aj*fXjt“g
+#D尘 <lNEB: ZTEDfC,C*SJ4N_$BJ
+]X[e3 :FTT'Y>@KZ/Boe=~W!aQXtN:Z˪DJj{k*+Lz:;;G/2;<q8{]RKC<1XQ˺؏,tFeHiX*i&/#=/*dֹFCZPrr %Vsش߹ =B'~JJV..C*ҩB>eyEY(,eEzJ.˒+պruçyadZ`!wj#8v񝲰jmF]vP3%
+~ ng 7G%Ke*{{-Rsp`'zHhED W/504PNUXkm%(ZCYH\bF%
+E91<=H<E,dܺqm+aYC"B@--(FO0/G.
+!Pk}ëKR6Z}0R -![#A5( ˔KDBTT* 0,hADHp 5/Y}߱3n>qh B8XΟ<Ͱ '80d",RHP3RoGQY>4ेNLjh gZ :/H}<܅#yYԄ5e
+1
+Io}k0ZZ5|i"
+ ΍<E&ޅCG<K%W]E$_-rӘ :%*i0}޲#{ rO!b`ٶv1»@-EFw+- +qXe R2\5U˖
+ٌ䤤d;Ceq;,ZuaD-XO;%|IBD;7 »(F:d ) \V
+Z,;Ri 4D7a{|#֥w=
+ Wmu
+l&`X:a)tˠF E,`@" ri& "MKu}ahFs?gwA$%
+»Y)*b`i&k Lhh
+<n%ebW:Z&khh]+269Nq9 bK;sz?
+m¶{nZ¥}۽P0>XNZ#Ö$q"e-3Ss
+К1{7D 8~b|J6H[
+7,b{l䙣0q${Ð`M|
+)ey5w4uEIU5fYؚ`Y([Y"E ~/X%X6J2n\ECu`Ѡ`F5"E8s
+렯ߎimeiE9A*
+<q.o!ѸºTOJz
+e;ձ֒U~u=vqœf5;T6SIv: kzG iazm&e|2RKINqr#K[G- xff^QI%ĦN$oנX|نXU/M{!,O;6֠!$.M}8+ XJv?}=-Â~қ}PV
+ـV;YW0+X PJn> f6OE̺[Bܲ@!dԇC Òk,W=ONL!V
+A-ZPȹ YwJ*k\NɋtF'a /3%JdXp beu ur:C`,[ao{(wuրvWOϫWLzӅKG[qQ<\<.5Rp( *o낲>L k $Ԉu٨+ )yfW/ɋEI;`R}usғ/zXmŬ ;UYA|<ԧ[ao~)1-
+3tuuvv@a4 ]|C|mBk ei)KANF
+B/@mu-h |884r<+^IEՓWW: 7 ޞn@ j!V og&Ŝ?}.̊fh
+#9?4çgm *"IAPD@ b d߉!@ؗ@0@ !,a @Xd}_sOvF={wbX'.+[yR>r&gVV76Vk+K:;[jW)`lVV;6
+.=3ΌėT?7G;kM! ʺ6 
+3[]Fkqyux?[
+,,j!]YxUMHȸ̜Ҋ $S*V``pĻ+g1b_U"|Ejn㉮Y+Q𩿿O!h !乏S"zGSHE~e& ^8-QxZ6iu-bPxtBZpu#^3s
+e,I-`PWۡ,9тuɳye\OlIσiQ4fv^A mhz+A ==o:ېb
+}`&'DRH+k+ǰO႔p<Ƕ7q߁C(j@s<Hσ"cRY9_
+mmPmmAkkKscC]Mue9"LOTo7 5YibYY E{!Ow""c/|c_FS(?VVx<’@Pw,T&󩲶I H\(BsY=H@ꋗthlv~aqY9_S[WWU]]mmMuU[Z\b$F 7<2 muEFtup6LVAUS:ՓJ ¿X4ZX54$(Џ@\ Z=ƛ?|؊h/;Rە$ZP42
+o5p9{EDS3s8E%ee\n9*. HKN}2{[SMk+4?߳W_Jbsu򜴜_5ulV1<|Hd/\\~P|!qx{8>%,f8~GʂsCYNIw(R'G٢4FWT5#: R^D!C12Xٹlv*6;7'
+h5j(U@sƼD:?]m{ً_o޾}ݻo߼g?=ệX +s3d< Vx
+biwΊerbTX
+FRj
+,U.l6*QX+)^c+i,H-.!#\z351+Vj`Xrn'Oo_|k+hϟc r!TըS)V|[W9֢˳hcl,Rְ_TӥT.N%Atv43soFVLGa%sZa\"|
+tunqi]<h?>~Ӄ'}}g͕Bm$c!?2JوFj9Oct&ASmrLz2Lc(OXBj*N+ EHŇ,R\N?0Wӊغso{>xsuR Ji*}nE j)Y155h./ EX5VX4 ぀
+áBIwטn5@
+L%
+U},٪N6
+_R9V7M)ZlNѠi5j
+d˒Né.Ņ7HJB%P24+
+jSrdD,
+HEu6bqdu$"':Nsx9[坭jى euPYǧB\M'DbU4+\.ɤiA)b*>&Ms5 `6@:R/mHԚP"7 [ۛn./T Xjba I6$%DAQR`FZp^H0DWo;pD6=Liva,7W͕1#vTYGq>+lK`Ibfm~
+OYY:#.5qTdzx$PZ
+LP,T<w٨0c裸`?s|XrWwJoqzVr2ɤ'm7c~8nfBTPDZHuEDb" ^%zgSxyO&
+qU:‘p(Z!9?cPl^*Qu&~ T,$"|O!&pG
+cr9^XC@K՛,Vj Z5ac]Vjހkգ
+xcO:V?Id
+JR)2Ya(ZHkH K2BˤP0DXٍuh-Jk/#(H(r9 VbEiq!`% 8}, cQkQZݽ}EzY]bh
+Zpɫ:K)n8A]{{ÉO
+%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 17.1.0 %%For: (Roman Nurik) () %%Title: (ic_launcher_material.ai) %%CreationDate: 9/15/14 6:58 PM %%Canvassize: 16383 %%BoundingBox: -32 -65 65 32 %%HiResBoundingBox: -31.9785 -64.0049 64.0264 32 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 12.0 %AI12_BuildNumber: 273 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBCustomColor: 0 0.749286 0.838862 (PANTONE 3115 C) %%RGBProcessColor: 0.14901 0.196208 0.220044 (Blue Grey 900) %%+ 0.946889 0.94633 0.946441 (Grey 100) %%+ 0 0 0 ([Registration]) %AI3_Cropmarks: -31.9785 -64.0049 64.0264 32 %AI3_TemplateBox: 16.5 -16.5 16.5 -16.5 %AI3_TileBox: -361.976 -304.0024 372.024 271.9976 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 2 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -68.9082 37.8345 7.19 1888 1055 18 0 0 371 37 0 0 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-290 -412 %AI7_GridSettings: 4 4 4 4 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 124 0 obj <</Length 28147>>stream
+%%BoundingBox: -32 -65 65 32 %%HiResBoundingBox: -31.9785 -64.0049 64.0264 32 %AI7_Thumbnail: 128 128 8 %%BeginData: 28004 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD35FFA9A9A8A97E7E547E547E547E547E54FD047EA9A9FD66FFA8 %A97E7E5354535429542F5429542F5429542F5429542F542954535A5485A8 %FD5EFFA8A95A5A2F542F542F5454542F5454542F5454542F5454542F5454 %542F5430542F54547E7EA9FD57FF847E5454295429542954295429542F54 %29542F5429542F5429542F5429542F5429542954295429542F5A7EA9A8FD %50FFA9A9FD04542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F545454537E7EFD4DFFA95A542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F542954537EA8FD48FFA87E54542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F542F545AA9FD44FFA95454295429542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542954297EA8FD40FFA97F5454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %7EFD3EFF7E5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5453A9FD3AFFA954542F542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F7EA9FD36FF %A87E2F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429547EFD34FFA97E54542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454545AFD32FF845429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5453A9FD2F %FF7E542F542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542FA9FD2DFF7E542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F54297EA9FD2AFF7E542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F54547EA9FD28FF54542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F542954295AA8FD26FF54542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F542F7EA9FD24FF %5354295429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2954A8FD22FFFD04542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F7EFD21FF545429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F54297EFD1FFF7E5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F545454297EFD %1DFF7E5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F54297EFD1BFFA8542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454A9FD19FF %A854295429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F54295453A9FD18FF7E295454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54FD17FF7E295429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429547EFD15FFA954542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F545454A8FD14FF53542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2954A9FD12FF7E542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454542F5454542F5454542F542F85FD11FFA8 %54295429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F542954295429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542FA9FD10FF7F2F542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454547EFD0FFFA929542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F54A8FD0EFF5A542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F545484545453542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F542F7EFD0DFF7E54295429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429A8FFFF7D2F29542954295429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F54295429A9FD0CFF7E2F542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F54A8FFFF7E29542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5454542F5454542F5454542F5454542F %5454542FFD0454FD0BFFA929542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F542FFFFFFF2F2F295329542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F54A8FD0AFF7E542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F542F7EFFFFA853295329542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F542F7EFD09FFA854295429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F5429542F5429307EFFCAA8292F2953295329542F5429542F542954 %295429542954295429542954295429542F5429542F5429542F5429542F54 %29542F5429542F5429542FA9FD08FFA92F542F5454542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F542FA9FFFF7E2F29532F53295454542F545454 %2F5454542F542F5429542F542F5454542F5454542F5454542F5454542F54 %54542F5454542F5454542F5454547EFD08FF53542F5429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F542954A8FFA853292F2953292F29532F54 %29542F3029542F54537E547E53542F3029542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542954A9FD06FFA8542F5454542F54 %54542F5454542F5454542F5454542F5454542F542F542F542F542F542F54 %2F542F542F542F542F5454542F5454542FFD0454FFFFFF2953295329532F %532954535429545AA9A8FD07FFA8FF847E53542F542F5453542F5454542F %5454542F5454542F5454542F5454542F542FA9FD06FF7E295429542F5429 %542F5429542F5429542F5429542F54297EA8A9A8A9A8A9A8A9A8A9A8A9A8 %A9A8A9A8A9A8A953302954295429542F542954297ECFFF7E292853292F29 %53292F292F537EA8FFFFFFA8FFA8FFA8FFA8FFA8FFFFFF7E5A292F295429 %542954295429542F5429542F5429542F5429542F5429545AFD06FF54542F %5454542F5454542F5454542F5454542F5454542F547EFD14FF7E29545454 %2F5454542F54545484FFFF7E2953295329542F5329547EFD14FFA954542F %542F5454542F5454542F5454542F5454542F5454542F54305AFD05FF8454 %2F5429542F5429542F5429542F5429542F5429542F54297ECFFFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FF532929542F5429542F5429542FA9CAFF %53292953292F2953295AA8FFFFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFFFFF7E54295429542F5429542F5429542F5429542F5429542F542954 %29A9FD04FF7E295454542F5454542F5454542F5454542F5454542FFD0454 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD04FF7E2953295454542F545454 %295AFFFFA85329532953295329A8FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA85429542F5453542F5454542F5454542F545454 %2F5454542F547EFD04FF535429542F5429542F5429542F5429542F542954 %2F542954297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329292F %295429542954293054FFCFA8282F292F292F29A8CFFFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA85429542954295429542F54 %29542F5429542F5429542F54295AFFFFFFA9542F5454542F5454542F5454 %542F5454542F5454542FFD0454FD14FF7E295329532F542F54545429A9FF %FF7E532953295329A9FD1FFF5A295453542F5454542F5454542F5454542F %5454542F5454FFFFFFA9295429542F5429542F5429542F5429542F542954 %2F542954297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532F292F %2953295429542F54A8FFFF7E2853292F28A8FFFFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA85429542F5429542F54 %29542F5429542F5429542F54295484FFFF7E5454542F5454542F5454542F %5454542F5454542F5454542F545AFD05FFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFF7E2953295329532F542F5454FFFFFF532F2953297EFD04FFA8FFFFFF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFA8542954 %53542F5454542F5454542F5454542F545454297FFFFF5A29542F5429542F %5429542F5429542F5429542F5429542954297EA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FF53292853292F29532954297EA8FFA853292F2853A8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FF7E292954295429542F5429542F5429542F5429542F5453FFFF %FD04542F5454542F5454542F5454542F5454542F5454542F545AFD14FF7E %2953295329542F532F547EFFFFA829532953A8FD25FF535453542F545454 %2F5454542F5454542F5454542F5AFFA85429542F5429542F5429542F5429 %542F5429542F5429542F54297ECFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FF53292953292F2953292F29A9FFFF5329292953FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFF %A829542F5429542F5429542F5429542F5429542F5429AFA92F542F545454 %2F5454542F5454542F5454542F5454542FFD0454FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FD04FF7E295329532F5329532953A8FFFF54295329A9FD04 %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFF54295453542F5454542F5454542F5454542F545454A87E54 %2F5429542F5429542F5429542F5429542F5429542F542954297EA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329292F2953292F292F53FFA8A9 %29292854CFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FF7E292954295429542F5429542F542954 %2F5429542984852F542F5454542F5454542F5454542F5454542F5454542F %FD0454FD14FF7E295329532F532954297EFFFFA85329537EFD29FF2F542F %542F5454542F5454542F5454542F5454547E54542F5429542F5429542F54 %29542F5429542F5429542F542954297EA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FF532F292F29532953292F7EFFCF7E292F29FFFFFFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFFF5A2953295429542F5429542F5429542F542954297E7E2F5454 %542F5454542F5454542F5454542F5454542F5454542F545AFD05FFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFF7E2953295329532F5329FFFFFF5353295AFD %04FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FF7E2F29542F542F5454542F5454542F5454542F54 %54535429542F5429542F5429542F5429542F5429542F5429542954297EA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF53292853292F29532953A8 %FFA853282959FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8A8292F2953295429542F5429 %542F5429542F542954542F5454542F5454542F5454542F5454542F545454 %2F5454542F545AFD14FF7E2953295329542F2F59FFFFA9295329A8FD2AFF %A95429542F542F5454542F5454542F5454542F54542F5429542F5429542F %5429542F5429542F5429542F5429542F54297ECFFFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FF53292953292F2953297EFFFF7E29292F7EFFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FF2F2F2954295329542F5429542F5429542F5429FD04 %542F5454542F5454542F5454542F5454542F5454542FFD0454FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FD04FF7E2953295329532953A8FFFF7E295329 %A9FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA85A295429542F542F5454542F5454542F %5454542F29542F5429542F5429542F5429542F5429542F5429542F542954 %297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329292F2953292F %29FFCFFF2F2F292F7EFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532F295329542953 %29542F5429542F54295429FD04542F5454542F5454542F5454542F545454 %2F5454542FFD0454FD14FF7E295329542F53297EFFFFA853295329A9FD2A %FFA85A29542F5453542F5453542F5454542F5454545329542F5429542F54 %29542F5429542F5429542F5429542F542954297EA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FF532F292F295329297DFFFFA8285329297EFFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFFFFF295329532954295429542F5429542F5429542F54 %542F5454542F5454542F5454542F5454542F5454542F5454542F545AFD05 %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF7E29532953295329A9FFFF7E2F29 %532984FD04FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFA85329542F542F542F542F5453542F54 %54542F5453295429542F5429542F5429542F5429542F5429542F54295429 %54297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF53292953292F29 %53A8FFA853292F292959FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8A8292F2953295329 %5429532954295429542F542954542F5454542F5454542F5454542F545454 %2F5454542F5454542F545AFD14FF7E29532F53295353FFFFFF2F53295329 %7EFD2AFF7E5329542F542F5453542F5453542F5454542F5454535429542F %5429542F5429542F5429542F5429542F5429542F54297ECFFFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FF532929532953297EFFFF7E2F292F295329 %A9A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA87E2953295429542954295429542F5429542F %54295A7E2F542F5454542F5454542F5454542F5454542F5454542FFD0454 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD04FF7E295329532F2F7EFFFF7E %29532953295384FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF2F542F5429542F542F545354 %2F5453542FFD06542F5429542F5429542F5429542F5429542F5429542F54 %2954297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF5329292F2953 %29A9A8FF53292953292F297ECFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF7E29295329532954 %295329542954295429542954297EA929542F5454542F5454542F5454542F %5454542F5454542FFD0454FD14FF7E295329542954FFFFA85329542F5329 %542FAFFD27FF7E29542F542F5453542F5453542F5453542F5454547E7E54 %2F5429542F5429542F5429542F5429542F5429542F542954297EA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532F292F292F53FFCFA8292F2953 %2953292F7DFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFCFA8292F295329532954295429542F542954 %2F54295429A8A92F5454542F5454542F5454542F5454542F5454542F5454 %542F545AFD05FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF7E29532F5329A8FF %FF7E53295329542F532954A8FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF53532F5429542F542F5453 %542F5453542F5453542F54A8A85429542F5429542F5429542F5429542F54 %29542F5429542954297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %53292953292FA8FFCF7E2853292F29532953297EA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF7E292953 %29532954295329542954295429542954295429FFFFFD04542F5454542F54 %54542F5454542F5454542F5454542F545AFD14FF7E29532F5353FFFFFF53 %532F5329542F54295429A8FD22FFA85329542F542F5453542F5453542F54 %53542F5453542F7EFFFF7E29542F5429542F5429542F5429542F5429542F %5429542F54297ECFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF532929 %53295AA8FFA82F2953295329532953295329A8CFFFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA85A29532953295329 %54295429542F5429542F5429542F2F54FFFF7E542F5454542F5454542F54 %54542F5454542F5454542FFD0454FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FD04FF7E295329537EFFFFA8295329542F5329542F54295353A8FD04FFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA9FFCF7E29542F %5429542F542F5453542F5453542F5453542F5429A8FFFFA9295429542F54 %29542F5429542F5429542F5429542F542954297EA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FF5329292F29A8FFFF5329292F2953295329532953 %292F2FA8A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA87E292F29532953295429532954295429542954295429542954A8FF %FFFF542F5454542F5454542F5454542F5454542F5454542FFD0454FD14FF %7E29532954A9FFFF7E295329542F542F542F542F542F5353A8FD1AFFA87E %295329542F542F5453542F5453542F5453542F5453542F5453FD04FF5A30 %29542F5429542F5429542F5429542F5429542F542954297EA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FF532F292F53FFFFA92953295329532953 %295329532953292F297EA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA85329532953295429532954295429542F5429542F5429542F54 %297EFD04FFA929542F5454542F5454542F5454542F5454542F5454542F54 %5AFD14FF7E2953297EFFFFA85329542F5329542F5429542F5429542F5329 %7EA8FD05FFA8FFFFFFA8FFFFFFA8FD07FF7D53295329542F5429542F542F %5453542F5453542F5453542F5453547EFD04FFA854295429542F5429542F %5429542F5429542F5429542F54297EA8CFA8FFA8A8A8FFA8A8A8FFA8A8A8 %FFA8A8A8FF5329292F7EFFCA7E292F295329532953295329532953295329 %2F295353A8A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA87E2F292953295329 %53295329542953295429542954295429542954295429FD06FF5A542F5454 %542F5454542F5454542F5454542F5454542F54547E537E535A537E535A53 %7E535A537E535A537E535329542FFFFFFF535329542F542F542F542F542F %542F542F5429542F53297E7EA8A8FD07FFCFFFA8A85954295329542F542F %542F542F5453542F5453542F5453542F5453542F542F7EFD06FFA9295429 %542F5429542F5429542F5429542F5429542F542954292F2953292F292F29 %29292F2929292F2929292F29532954A8FFA8532953295329532954295329 %542953295429532953292F29532953537E7D7E7D7E7D7E53532929295329 %53295329532954295429542F5429542F5429542F5429542F5429547EFD06 %FFA95430542F5454542F5454542F5454542F5454542F5454542F54535429 %542F5329542F5329542F5329542F5329542F2F5AFFFFA929542F5329542F %5429542F5429542F5429542F5429542F532954292F295329532953295329 %542F5329542F5429542F542F542F542F5453542F5453542F5453542F5453 %542FFD08FF53302F5429542F5429542F5429542F5429542F542954295429 %542953295329532953295329532953295329532953297ECFFF7E29295329 %532953295329532953295329532953295329532953295329532953292F29 %532953295329532953295329542953295429542954295429542954295429 %542954297EFD09FF2F542F5454542F5454542F5454542F5454542F545454 %2F5454542F542F542F542F542F542F542F542F5429542F54A8FFFF7E2954 %2F542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %29542F542F542F542F542F542F5453542F5453542F5453542F5453542F54 %53542F545354A8FD09FF5A295429542F5429542F5429542F5429542F5429 %542F5429542F542954295329542953295429532954295329532FFFA8FF53 %2F2953295329542953295429532954295329542953295429532954295329 %5429532954295329542953295429542954295429542F5429542F5429542F %5429542F54295453FD0AFF7E5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F542F5429542F5429542F5429542F54297EFFFFA8 %542F5329542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F542F542F542F542F542F5453542F5453542F %5453542F54535429A9FD0BFF53542F5429542F5429542F5429542F542954 %2F5429542F5429542954295429532954295329532953295329297DFFCFA8 %295329532953295329542953295429532954295329542953295429532954 %295329542953295429532954295329542953295429542954295429542954 %2954295429542954A8FD0BFFA929542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F542F542F542F542F542F54297E7EA859 %542F542F542F542F542F542F542F542F542F542F542F542F5453542F5453 %542F5453542F5453542F5453542F5453542F5453542F5453542F5453542F %5453542F5454547EFD0CFFA954295429542F5429542F5429542F5429542F %5429542F5429542F5429542F532954295329542953295429532953295329 %532953295429532954295329542953295429532954295329542953295429 %542954295429542954295429542954295429542F5429542F5429542F5429 %542F54295453FD0EFF7E5454542F5454542F5454542F5454542F5454542F %5454542F5454542F54535429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F542F542F542F542F542F542F542F %542F542F542F542F542F542F5453542F5453542F5453542F5453542F5453 %5429A9FD0FFF53542F5429542F5429542F5429542F5429542F5429542F54 %29542F542954295329542953295429532954295329532953295329532954 %295329542953295429532954295329542953295429532954295329542953 %29542953295429542954295429542954295429542954295429542954FD11 %FF2F542F5454542F5454542F5454542F5454542F5454542F5454542F5454 %542F542F542F542F542F542F542F542F542F542F542F542F542F542F542F %5453542F5453542F5453542F5453542F5453542F5453542F5453542F5453 %542F5453542F5453542F5453542F5453542F545354A8FD11FF7E29542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542953 %295429532954295329542953295429532954295329542953295429532954 %2954295429542954295429542954295429542954295429542F5429542F54 %29542F5429542F5429542F5429545AFD12FFA9542F542F5454542F545454 %2F5454542F5454542F5454542F5454542F5454542F542F542F542F542F54 %2F542F542F542F542F542F542F542F542F542F542F542F542F542F542F54 %2F542F542F542F542F542F542F5453542F5453542F5453542F5453542F54 %53542F5453542FFD14FF7E2F2F5429542F5429542F5429542F5429542F54 %29542F5429542F5429542F54295429532954295329542953295429532954 %295329542953295429532954295329542953295429532954295329542953 %295429532954295429542954295429542954295429542954295429A8FD15 %FF7E54535454542F5454542F5454542F5454542F5454542F5454542F5454 %542F5454542F5453542F5453542F5453542F5453542F5453542F5453542F %5453542F5453542F5453542F5453542F5453542F5453542F5453542F5453 %542F5453542F5453542F5453542F54297EFD17FF535429542F5429542F54 %29542F5429542F5429542F5429542F5429542F5429542F54295429542954 %295429542954295429542954295429542954295429542954295429542954 %295429542954295429542F5429542F5429542F5429542F5429542F542954 %2F542954A9FD17FFA929542F5454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5453542F542F542F542F542F542F542F542F542F %542F542F542F542F542F542F542F542F542F542F542F542F5453542F5453 %542F5453542F5453542F5453542F5453542F542F54A8FD19FF7E29542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542953 %295429532954295329542953295429532954295329542953295429532954 %295329542953295429532954295429542954295429542954295429542954 %29542954292F7EFD1BFF7E295454542F5454542F5454542F5454542F5454 %542F5454542F5454542F5454542F5453542F5453542F5453542F5453542F %5453542F5453542F5453542F5453542F5453542F5453542F5453542F5453 %542F5453542F5453542F5453542F5453542F547EFD1DFF5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542954 %295429542954295429542954295429542954295429542954295429542954 %295429542F5429542F5429542F5429542F5429542F5429542F5429542F2F %53FD1FFF54295454542F5454542F5454542F5454542F5454542F5454542F %5454542F5454542F542F542F542F542F542F542F542F542F542F542F542F %542F542F542F542F542F5453542F5453542F5453542F5453542F5453542F %5453542F5453542F5453FD20FFA85329542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542953295429532954295329 %542953295429532954295329542953295429542954295429542954295429 %542954295429542954295429542954292F29FD22FFA9542F542F5454542F %5454542F5454542F5454542F5454542F5454542F5454542F5454542F5453 %542F5453542F5453542F5453542F5453542F5453542F5453542F5453542F %5453542F5453542F5453542F5453542F5453542F5454542FFD24FFA85429 %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F54295429542954295429542954295429542954295429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F54295429A9FD %25FFA85429542F5454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5453542F542F542F542F542F542F542F542F542F5453542F54 %53542F5453542F5453542F5453542F5453542F5453542F5453542F545354 %2FFD28FFA854295429542F5429542F5429542F5429542F5429542F542954 %2F5429542F54295429532954295329542953295429542954295429542954 %29542954295429542954295429542954295429542954295429542954292F %2FAFFD2AFF7E295454542F5454542F5454542F5454542F5454542F545454 %2F5454542F5454542F5453542F5453542F5453542F5453542F5453542F54 %53542F5453542F5453542F5453542F5453542F5453542F5453542F5453FD %2DFF7E29542F5429542F5429542F5429542F5429542F5429542F5429542F %5429542F5429542F5429542F5429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F542954292953FD2FFFA82954 %54542F5454542F5454542F5454542F5454542F5454542F5454542F545454 %2F5453542F5453542F5453542F5453542F5453542F5453542F5453542F54 %53542F5453542F5453542F54535429547EFD31FFA9292F2F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542954295429 %542954295429542954295429542954295429542954295429542954295429 %5429542954295384FD34FF7E542F5454542F5454542F5454542F5454542F %5454542F5454542F5454542F5454542F5453542F5453542F5453542F5453 %542F5453542F5453542F5453542F5453542F5453542F54297EFD37FF7E53 %29542F5429542F5429542F5429542F5429542F5429542F5429542F542954 %2F5429542F5429542F5429542F5429542F5429542F5429542F5429542F54 %29542F542954292F29A8FD3AFF7E295454542F5454542F5454542F545454 %2F5454542F5454542F5454542F5453542F5453542F5453542F5453542F54 %53542F5453542F5453542F5453542F54535429547EFD3DFFA9532F295429 %542F5429542F5429542F5429542F5429542F5429542F5429542954295429 %5429542954295429542954295429542954295429542954295429542954A8 %FD40FFA854295454542F5454542F5454542F5454542F5454542F5454542F %5454542F5453542F5453542F5453542F5453542F5453542F5453542F5454 %54295453A9FD44FF84532F295429542F5429542F5429542F5429542F5429 %542F5429542F5429542F5429542F5429542F5429542F5429542F5429542F %54295429547EFD48FF7E7E29542F5454542F5454542F5454542F5454542F %5454542F5454542F5453542F5453542F5453542F5453542F5453542F5429 %5353A9FD4CFFA959532954295429542F5429542F5429542F5429542F5429 %542F542954295429542954295429542954295429542929297EA8FD51FFA9 %5A54295430542F5454542F5454542F5454542F5454542F5454542F545354 %2F5453542F5453542954537E7EFD56FFA8A85354292F29542F5429542F54 %29542F5429542F5429542F5429542F542954292F2953537E7EFD5EFF7E7E %53542F5429542F542F5454542F5454542F542F54295429542F5A7EA8A8FD %64FFA8A97E7E535A535329542953295429532954537E7EA8A8FFA9FD32FF %FF %%EndData endstream endobj 125 0 obj <</Length 65536>>stream
+%AI12_CompressedDatax{' ;#f9
+%m:7so2oZw^{Up|}57w^ހ싷/_c~~͏t hW j۷_
+]7ڰFɸziQ[mZWD3<!=my]2,i˸˲iO˙@3>_C<xa9
+>Cm}i۪?
+c8(/N&m^iUӟ>RKW}r%`%~x"|GH^0X-[C71<3́h:ѡ[⡣UK~V4TZ$cb4``
+ ҳ~?E /PZ}$͖~#Di&.'N|5~.4c RWOxa84EB&#F؂gIJ)id}-3IQQGye".fA}"'閤oI9z .fqf8ei/4,cы4 9-a7^sozb=xs
+HIbz^1nH|H_=qoN̓ywH=+lBgF2%VA`rCzhzBe2 av6N0;Ɣ!#]0,<
+h4i@RӉfƎH|uO2?q?xYbG"tQ·h1QӭMߋ+;o;>k5߬ uUuMb_@wº<y;U<Zhk=XZUqf5ƁgVe22k3fg鄜U1@A#@S7@}]G]TJ[@2(FUYwR^P%^5^Ge΢PnFIFK3+< xbe x5W!\ȟVLTUI&WeH3&H tWI
+ M".Eِo[^)aS6,k
+br cL9F͓<fc yȺl]fD)#)Ɗx<QlPz)⢈`"T<ϛvGؤ~OF)0a5?x/UU݆F m1>S+ ʫDXȱ7ֆK73!t8 Ӆb3YiG;6M{*VԙYBl)ƐƐ@1AdK |`H3ȑÅ)(lw#`zݑHA-x g1ٱ1<hyTkiL$Z*fW4;f9 =Q[P"P͂#LH,FdEn$‚!=J01` aA\^YЬk!'4M3#TψĴ
+lThM DV AĂ0fN@Ambjskle^mS-^rd5a-;eڸ++{&g*O&-A_ ȯ?П1j-Fj(F kj۰k\l CQ#IrSY6j2UfMlUVΎ~-UWP,r=e4$P5P$bў";,{DBJY1.q6$SfMzO{֥YbBP_N)&efuٳ .ϨçDq:8<
+ZzK}:p+8quuʌ"d]g*٦[4§$ |R[H& s(f_`GV/*Ps(G4f٭,1+n͙~rs~aߜ1 ^Y~~ijši_DU2I.
+A`!NU𭹅JT&zr*Lg'uFl2tt` Z^c񤓙 =@vxŚn\Ŝ.kvuptj2Zvmn-m [
+yw*VB~H/bƆb"ŴY wRpQ=6$l3,;CW4A1< +ޙN!{a{ղk(nFMǃ<cKH}rg3p"p+w /S%-*G3e`ߩnVЁ!t؁j$NĬԙ̵-S۬.mΦl $w^c5fnjUàLNRfw:xN*>j`٫3΃9^փX3rbbsVNT X!ȴH~1c̺ШCqC-ܶm
+c{;Tp*œ\D_:?ТS:bߛu+3D ѡ}ouuW+KUw__jV"x`?=3;atXW'ݰsC5(8٭p)&7wc6Gfsefg接ٽ4q{CqnH* ְv׀BE) P2+ ܭALhNuj.L;3'ݷ4C sTfNz=ݻ{+TPܬaZT3o}R6|k ΅yvo~ԙW\Ш(C8ӨCB@c'9mVشliŭVvvFqUDV<*"eR4 m(eUmgQԣ0ToZ-*xQh˕6׭kTI`TaڨQEm꣺F!uVEdtTIA+:)J *z)Lu-jxk-E]*uxyoȮohLM(IF39G`k<o0'.d9
+0vfÿBlX?櫙XmaQG,Zq<BJ ձZv_sͅoj=o+g/bX;s}'?ѝC1IːmZyzO/9oX?a1JE:pa*{' i%PY̹n,NXoRikٶ}㕚/7Ge¶mY°W[m<Z=)cy/qPXt'3 Qw20ryaAtSԌO%S1@]'>0?5S= OMwc٠.+p<- +|9V@F-PH|M&2:9{`ϣS
+B[C $~udFMmm,:*-D5%AEVVcIKY;;Li5LFUPt|Q}'u#+-2ulEFpXz4qа\w_s@ѻ-~Q&p>s*M ‘x΁g`D~%1)XǛ-7;~xn09Lg8'!Ċ 7 -Hg2<2KN~H/<VC5v{v
+v GmbuO3Č^2VJ:0dQ& E:щ;cAHÑɂe|Y
+0!bVpVۨF 9p.#K+q\sP\qA(;mpVg@D
+^[ݺq2cZBEsQ<fɡI.?c;t̜Ml%tQ)lE,똸[}[4sZC4ƾļ{݀ $3Ȍ?"-Cz'3筰Uot'vnwp{;hٙ]Yܥ%VN-\=jJESލgVA ۡw: #zWYBS圩
+24Uxs[c3guv+Rrb Y*_t%T4}(xQl5[p ]g>
+fɏ*=Zoh!ǍAey=2_d%s$%iB'5 |a?l\I|:hbri9kQUu\ZUD "&WĆT5&oj'8bO[ lҐA,`[4KY`Y)eXĢ:b+ S27LWЊQk ˱o֮u0\ĪQ)Bs);)R"*n5.ZB%ʕvRϮӪ"(h7s9P"k-3 ^N$RLgf>hɥCsVYgUE[<N- %}脢9u~t^tzL];ŋ:U WbJ^kROnї:vׯoҙ]eul0zP3RӐDIh^Bp$Z>tjeqy]sZ,}It01n: '2qr]Z眵QUTg4[c ITlج?:&-]te5譛DkhR(Cgc#` #x5:]qk;S__1XX;͍uں6蹶EɸqV[yl\km$DB>h\jOc<P  үϞI瑩PbZNCA e:.Y0b )y,9WHծ}SKkG.J.sG;VD٥2rW:'tKs0'UE̟a]v=H/vnuY.ki^NV/N
+sdT%fVtU-6ɥZ*rZf
+n@1T9]W/b<UW;)-g?kEߺ3kpzjNszpޭns*k8:vb?e +[Z񓌥u*_m<v}H_k5u(fiU 0u%|Rn-V.̪mq%EN+M
+;jۦKYqR^1{R ԙ`)˨2Vz;9y YK-ZD2E-n}F讑C4/udVPSXlœ.$6
+e_ښ԰ik"$qՆ6EnS_ظW6e 䡭\l݇:qz#(+EJZU:skl) Vi$K @v'p@")a3aԅDi۞8yS%l/ZL~,M[jGN/ |u"֭zzW#1f43F-%sT-61#zS\𵗮 ITMKdTd"i@A:Q,ƉOƋԆ)oAآT^۬k{OM[9feDUzO Q<[է'&ak ;@qYD`[՛ƛ0FU#qƓu=L
+l;Ԧ0ԘxvFIҍҹtslf&XҴ;4+AOlV,J kWPF "mzHܴ:f^G@ԩ1 Ie
+ >,Kl02Vlndj:{~z'0)At+
+O=TTlO#WOיY:[Ij߷J~In.uMbhXIE'|rte$1hT}ګXU뺶cnPXU̺f1&Wž\ZoQH*lqɡs䪌v|InrW{U̇챊ٷ1]ƼuudOV*KJl^S#F"\\ 2Ί/k|p^Lbv^wvOT[oY[x򴵻nY=]Z/]Tb6EY`+*?]+S$\9sH09J!=kSpG%
+:0?Hdmx%mxA 5R^G,2f\|ϺӁwdYl$}rRAI0&{;ݸ'O56'y/5ÅհrF-鳕?kIR@X\pCJkېZ'+t`Y=Pf)hssJ>Z aq k.B*^h=@v}7ԇw+!U&tz +۔R&e%vWVVxh+^ɵP ECAru[ ]vwqǕTYJⶻW~7]Ur.ws´4/)a;ЇhnLbcܖsoOs-=};o3ܼJ_\ĒRa>#==g=6<unZ=XÏnʟ4_}`@Y.a' 7RYDs羋Jo& x"کXItPz׉E|&82v[YWtsxH>`:emYqxz,/qAf6?o> GU.+Џ_^S>vzd=3N1'֣;֋I@`HbW
+99{¬{2:wu1%qz[ja)V)ܒo%H?5u>t?Y;K"4MHh~\mYˬm2&Fsݺ뭻ˏiz
+C8j܅ =bfnf 95m_?\uZi~4?M7Ia8'މhVG}y{N AR`5EIg-,5%Krux.R\]i\Z+&g<IfQX
+lkJTeT7m6RwEDK!+CKCC1~8ʽ91Rt&(Ie JT2SGmu֋
+74އww;z?d76̢uI_{ߨcv3*ƴbJ:98YgtYW_\]V_lՈiH٫ۤU^^{qi^4Sҙ1+2^dl},,kgnPVykV]ߵ ԭSh$+4ٽQx<](ۺ^nRi/^,}Ee'ɶrK9{?Ӈest/NJюvMl!٤^/{qJSսxsKQU;sU_6lY˱~Nh}/=cSa:3%F%NY827pUѲ5r†[M-7UYP2 ܙ%6}t@-ٞl!Tgt}QƤXT5jKϱUWi8ޓ}?e_BS3}^UzݣbT{Zlv{|nvt&}79k q|d)I٥qYRpU+.5"OWtUo_~ϞU]EMox$ݾyw$٧]HM&i|C0K wqo<=~A?/}_o/ؘI{mBTlw/߼~ϻ>g7o^>R7/߽y^Z_޽xF*-Cĵ9&e("!&(fナ)~o5 ИwanPy <LtwgJ8yt3qw&rD #PTH=747
+h
+p^˫?C6d ~O9qgaG\ Ao*÷4!R=f,.Х2#iu7E@;8R7]E:
+X](GLe3mei
+l3mhW{z@"3Rmݸ@3;?P>M\}r·?dD ϩ_
+ ༈FWqM ,(`cphkT!7; @ %\mo5![(5g<db@
+ 2<^
+'%0Mʚ>
+#<gs L{,|ޭE~A1rh(G O+78p6_g==6/
+GW,mfEwmopЦ-o0U|WD} \r;H hqZƦWwL,5le;h`H
+^זbН5W+,fPUFzf7@. Hn WWv8{Ud15,ů,Q@l|Y\G^Q%xf}!ʬDofե-F&t0ɚuōlϳA)^^fp0@}3 .|5‘b A-@uQխ,yziƼ*ͧȦK:
+%~J^-gTiGa,`S$ő (|
+gyI 1[_ZzE/1_;`08̓kB0C2UVb
+9'}gU8 ?И(LkfuYoCWՉA;.::<T7.aTS.jlT"dE"}FV_dY2e ذZԞc(_&Ɯ}`7Rw$%
+kn|:\eU}UyaYX!a;C+i ]?bГ /P xg6Pk'^rl>mD,򇯿ot8@D0@E̪*`Dɧl"Rc5*lm^1Z&O 2u&(,VtPb5y
+*VsH(<VsHYܪ,Ts@+:RȬڳH!gbY
+,Y?7@C5gԤz&qYZhrBDy$E@؃qN#5 $Rx~8c TϟPZxĻj~R7U  >AaDž.5
+0KVˠ
++M|h@ExaZ8x/FI*maf;1
+
+Q6kt%=}/->l1L twA"b8P}p@qfI'JSe0@
+v\X˺HJrt<x=LMEm
+1i ]N'4bN,WCWr`%+]]3 ,,1VL\GԬEWA1>K'aqoe$RKp8GgYֆـBo01iؼe5n& 5KI+:?k@J(_? x5@撉/q=[(
+!ϽxQzIs8č򜍢"2MR@_)M%󪅙iE11|L$"V 쒒$R/~9h&PwG/rP(kkh6%<KZ$UVѓWxTG
+c z(`2<T2+GUBcx<&n̩Ǘ9A4'{uGfsoNf8uJ=ʮꩢ^3P&
+8hI69QeH=Ty&ZT*kF*\bgokM/i8]eh^<ׄ
+vvCC].(d_her< |6aVcM0k˚pl<l; v6I]Pr9sL=4ȮnrG»l.P7.v{}-:Q&⊀J&s+u𱼧yLQo{[-iTʊڥ]Y쒩y4mPuS0R @~r83TDSck.lW9ެ9"^8?lkϤi5}q@(E&Q+* /*Qk<QG;5Dֱj->ݮu a#?n2 颛 .ɴN\P:W;=t-zloi V}sto!P 3Hl,K5, 1CI&=\g&riâ x
+g4QͨTJ7>ZIuVadհns-f7Z^p7w{1nt E2r[*q&Ԙӥ7VN]|rKXnm07ֺ\ۈ}2|)m.{ɫŮ]|@\I01 -D-G՘"n1|FB+̂EV
+PƮM^S/C^EP3E`
+%
+y3b1YɹE hG|tIPҧ>iZ`1BD} ħW v|9hkW8u#8`O#[Z!8X2+!/-*#qr+N{%[%HJv_>/pY
+= ؖBg R@s\ZK#~4nE@/'x)t8V*"5WBdAB
+pRUtX@XuqZAG:γh#AGT:<۠}GztCR:9.J br.\Lr+GbJX9cL]X,Wsc,3H9Ҟs$ϯOO t(y8~#8C𫱌1 :rPg#bqa)U9Iz*CDMأbҌ[N+0ZaѺB@
+3/ ̱d'0$[Sba,ǖDJ(Il#2n
+#ऍQc5~J\Vb!bQS&.-PQ:K[eܹ,945Ey
+\JI`'b7S.u#|ڸ2,؉+mIn*ܪegsZ[6
+y0 vË}ARxZνtX^_ɪuH+PT
+czYP)#^W&
+Q7VjGlV4 ^p_;U`"FUU T)ug ˪ui&^y qRjLj 섕r;,P<sxB|;x{ϜRk(~\L(4[RbTdU.cyOksF>|zOM_/d 浖u-5lK& lׁZQ^S+=
+Z\ܕr/#% 2\zּZWs$KU/;qaRj0JHVcR0TnfX̫5Ϋ9Vj9Kz6G^͑zksU@xu9#ZsDvyz!='^lɪkȯ3*^c 3^{1F"VpjӘ WWl)XJΔyEdžyyqHd-zI*]圧׭l8To錬t^+e6<Wt٫n:9>܊xU>j EC]@¢&CxF:.x-SZi-xeTzI^c]^U3ڈo^դ<날בmr^O+\ȧVX뢮WuXudNnP @ulyo~U%90a 0@ypp,! XbL6E+.mŊ#쫢2Me<Cܼ>rdPm+'Tru@&  0?s^8^E3WN_5!u##7/48neA?z-HHǘv*: id׉2mw"(h$ᧁc_lIt jl9k8'5gu, a&U%Pr|.KCUF9 [v<g lY5t0'X%-U Jaw:;ax,qH/iR[œ@Ƹ@ðxF{X>"Sj>O9C)KGAl# ,"WBAaDʌ$#\
+ طrҗzzM9 g
+bi> W$-bBby*X:WX~fD[WµLXjTVqW+[m*4WFUr^st^tvU*jG?Ds
+0ӏBXʴ9Zu4W$m0s3ױ,*ddžev
+ڑAA&wot pwqNc\ﴨ4lFb?,8tRR4׍NĻD3`6nq:=5+S*$g0On*יb69W2ܨpn|sNt;^͔ϙW7 :Ævnt+kۭΣx6[R],pcIfm ܪb]S
+ī)7rTXv)4̋fj)`Ꞧr,[b*k(WWVZ-QW~]7٥o y/ZST6+^ BV:x^V
+ٯb!DArE"ħr \llYMʯ+_d/_,CSRLD^:ͩK D7.L<e$0&{'U
+U\^)A ^m ,
+VX|ѭk*7
+pV`yLG*yoe0@?J%͘>!LjofrNB=@Ʒ;]$#XDL2% pan2X%,
+O f
+ڴDZ2@>Љ"2S8?B /d%'(p_ Nw&){䉨F}G`MTi& 7D*% }11iw
+nD(zzAB
+F\5[l_f@QF2ih@VffXfo
+bK1"aGJ
+@چNhyX @z
+^`!&A#,`<(ܬG5@"2e~6EG
+5>z*@\:%vEF+,eciaTt?m6J6[z)"UBr*W? W%z*bX)/
+4ǜ J`mk}9F9.+%1j:*.ZAWibzTŘvj¾£i1*VcBȧNsݚq5F$`#1nFոs{*Vcδ㋯<Vc_\_KWcߚ:m5.$/gvP2td_0DAb|d^Ta,ʽK}Dو8|.40c5/{ &LOWe=ԉkm7ۏ/@65b܈(qdqab&nRX!V.zoŸc =qg]b-LArEnȷ ecW7.\WcE}>Y
+]!kX:q\^?2|p_y Iq(GXͺ7*TIǬYzLFTS/IĿ\kXx5r~gh&hS\mhS"DTڤ
+AMvvȀvu=mv`T*Q%*)8fr,}ڬrܬsO)OURoݪ tnUÿ2vaEvS>w\ds*%[E7}oF*B6]ET WEnWZElWEr|vz{@nW@we>߮4ncy|RJm@Yی
+Yzsm@yNf@hUYuהFV 鯬鄆8mlc(f˵\lKƆNbs5Y @F"uQ Me vJEEj][Vd~Ь* "hE4$jcY<G׆Ĕ 4KyIoI_  vK^RR} @h9lpTDAE/7\QE4V{5a&%oPO
+:.qx$Fe
+$-r՛lE,4[7[Q[ӫx?-p~7ǭ--,Iw瞣 +_Dr \NA_V<G#@RHJ~^6>OW j-6m,>&fצ쏡(]ϼ3SߴNi%
+ƒw:nfXTֹAlp; ֿ蛲 L;F1`ˠ/ߒsϵ&1"AU2^MdE(bP.UCPE{ 5>G4|e$Ϳ}a5aB0z DL:@]졢QZwgoT-<
+D.}eP,rZ ;J1NU _Wƨԓ\
+p(u:@\y7,.Ǚ rqYq綮؉ɝ%424UKþ2SLY馤 v{ܘְ6փ]"Y ~ugTuae"2}aZsrҨfZމFOܭrtSѷq7&? - Z'~8^zN9vvi8sh0r4Zө1u#"[ɀ2ŋDX@PcR:t啰*0x
+s眂"(Su}*GsCK 4wԀ"Nrr*pX\ʹXrcr*qVGQhN5\\ p y.8nBۺk}QW:΋ OȂXҧaXPէ!2|. ^Xa\
+ 
+)M͔l%qIy9MM2Zc'!gsn7i~\l+Sz2)*C:mQ%[Y0]5sj<Ŷخ"zi4ၶX$_)HV ʭT*[M^mFrtay%6lLƺvfTb\RlK_~'uQI͠[/rY-/6tFjP6y/r{ hTvYPV86*A&Co|gN~wπgYQXxޟ֌VqDG>ڽ2w EbUv
+K_3y}F]р5Xq>rvR+?g!+Zv錩z,ZΌ,x9ZJ-jOڪ{&v(e*)@C= iWٙї@Jp7^+mFb [8^"vZ-t=)Kds>T*vW_b~{qOЙ+ўn!OU忤ҝJWVq/u2J5çEǽ̎/r),)p O0kpXQ}n%aexjO*ny"
+Ms熿˙"/owrvC㎆GaWD/tz뼂bWo}5Q{޿^)!⢊Zn8
+ 箧YMɷt'3AgFǴ+ܳmf 'gQp{r{B3\ =s9d5 w Hvc i#ıyde:ak m]Ϙ֯g-b?.=K͞=^[^A0n[4oYW'՚nu/wOb6**W5I"ddPBFXĮ CV$﷮fDE<F* g
+"?+.;#8qOXRK#&Fč~o# sCZyF?KΧ*J gKe*zSE }ve%,6IBq9w-~iyXZ_nj́ɷxdh aѝ(E6|P~to֬zTVs4{xVDמ{@Vq$J0eQzdo~RJIG&W>bf?·LV;ׯ-#;c!y@NVp 9cDLh $1&0|PX ?4f|+%1W/,!(>c,P~)t;\"1n,S]r!e}V5M[l@VY7tgbf^$X q$I^< xh<)3][Û%RPQ# KBCb#r,Ż 靾p}^yhҥqn4-Nȗڽ|ʻylB[I
+P_u>q
+|ġ|:y+4D+PLMm]fU##|ð4BN(߬Af%E%i(P37†p囥7k|g륲M1=}G }`
+aZJ\"1 ]66kri%C'}IdJD὚<e$ZϝʤC_sߑw?ek<?O$΢%+°/բnV,F\@0bWI"Ti(V<IvCUXi|T {h7iol4&֪\ '\hk*ƈ<xY)>b9E n>?Њ*#V%^Q.7q)e@H F\Ա7XW !J~ʒ={A}U).V P!VzI Z:*4yK]pÖq
+/ԸJsߋϜ>JP'3ZGcVQ5(sB]/`
+{hZE$.xV6}˲…>YogEs*~zOe5nݽU2i[ ׫!їiU"VeO㊻ʥY,{!+8
+vWWɤgW9d,eSgCVRE=ž7I4E/ h
+*0ٯcQQܤ'/dmʨ<fB6s ,q/O+s=w,fgDt9ᗷhLSWpX5ti5WZ0]USXyF˟xz(=z
+Z"|<+ze|X2iM>r '_2h$',tsiiBtSmrJ.<%mM/I^ZiHo6=wӝ<C&)Y<{IruFW'{^+N~w0=5|ddSM uqo&;^NV݃ԇ&`{bYV=?l&RS9e<-QMn7/;P+8r\A.H31o'厊"M
+mE&a[vx'\lގ׍ݹɳ6y|$U%j7PޒRTHcbi-]bWaeUFhC#=ʽ\xVţqcu8(ȦV3oX8b T~d$a߳{;V=śu5t=DO(9 q{PkUK>B>~FPˡy{DSYC!(\fR g'7G,t/ӬIh>ϳY#G֣9:N"oC#X1̸~EZ oiHYxTs8i.}Pya`G!^4V^C׏N^] KrEV6mSy^%h>+ rnbgo+tZs>4E1AaT@KټE$fCSG%Lx>#!s1^ S12Z@AfLAlg ?}XݿXm592Z|ͣr۴x 7WPՅ6A/j4j󕝻>` {n7фs/6|yi49J a҂#fUs:V RU>؍uaPsWFrsTv!Uwk8_R.CLR˪{7a9zi2^KhkQoo8jee [`[zwԭhvܛ~Ԍ~_ĖTՆơUTl?fʔt}PQ9 w;Zf(vEWz,^JlIo4*b#Of>R9/T7hYUaj"؈ىܫzkӪ MkK{ng]a>
+vEj/vM8v }Szd\5t eS /#WF'c"?+-w5-+#3J{]jćݏRBkdĤUߚO XYSkr\g|.~$}eH0޴ocD;|3N9I"c9dltm"sRFYsh4e6,a*8qηK)9c̝3~+@ƹs0q\y~^
1X2T?t0}͌Fht<G^ȓt?#r)L.KkDgv"ԏQw24f\䩺W37e&Smf6;\g{pt3x[g
-3}r "ȴjD2:mX2KH')¹ql2<2U.s{ȍ&2S^3S%صEckd͸n w+}MɚǾzzwRR46ǎ8
-7#Z(ݕg9n}P!@&?*A|aXluq/sBvX~(V ՍUڮHe!r9>qeMѷ6fĵQ Hɲi8uaw? ?8>5PP8+7d}5J匯(-t6#8dNSi g?fZ'/m}{g %$f09!T0fa ۿ0z/zU?$WW@b8.M~8<;j՚3
-aE nƩU:lVUE?TR-DJpkZd;KB;dӹpIz{zHw6SǕ"̼vm oEM$.>VH3p+}PaSǃkCsD%L#(d,ɩ-xE3 z!;Zԕq8 nO)+帵wCy".xͻK \>!ĩU OݏBvf<qH1A CglCj U0V9\ڢB(u?.~|E).-^x#onތ|,0؜-䌒(&I<gy 1{|N?9Ny0:(y:LN<w$3 QGyԸG˃4h& @A/w. PwXن`qTh'h@D=N\Ts"arIN,:r[S`hXS ^޿ kɜK9,|j!wM(y,>UUHGKSJED5*~Ju:^?!Vâ-ԔD>?>~9CT(T…TQnOBĨhX+4R'7'ɓɥTEqK*Rh VJ j+ RbպX<mosbQaxT)ԫ'|PQ=XT?]]4}0`*Wdݽ'l6bq M~8Rqf,p, -+whӢ,UI,!JodLZ!
-h<&rktwzR^WEb҅?{',LH
-nn`RsMvy;%ax=Rz^TЌ~qø}Pa_\M@ ~g=>8(6ECT0vW`"h;pΥ7[!U$a
-vv
-xozj%zīTLTHQPRES29@?oUbv};f¸{rJh*4Z|E]yY*t93-M ,zV)%ˬס1sr<AkR/~y_j˦JbpUS;=JxjlU:E}V,GdٳIb>(QßRw`][gdD1G9~1=Ҭ<PuCvy*klgn/L)=uDbJVk`4UΎJVH?VFlieƥ5)M'F,9 ^fg"FEsi/Vjj̰J\uNq; +kH$~n^m0=0RʸJE3DuJsTQ 3i wR4p赿ziKUqw-&Mua9ƵXCC AT6,:SaF^X)BE‰^L՜2/wJf244n-9atQl.ծKbig)Tg
-=lV4EibDHJ%F;v^\E.,JL2tڻ2C-9LlQ#"Ddz@:fQ $K 3M4Sŷ z )ʼn*eriyCmn}ECL;\3sﻷYQYB8gY.NCL\wpz8-WЦ3=LJٻR!/PnwZ %\WoBEv> VI6e&Um
-"`g&~gbvp7[zF3ZUe]
-nW` njr*_]C-Jrܰ9ܛH=좂^ri{PV`V ޏ"4~s4vâ6XD
-(\j#B;Y;[̧h^m0ILHBU SH592mn!bq>.W%j0/wπ=3Q:2Ha];͍}\[z?QiI::iWaa-| *@֨|Q\U7Af
-Iqhp_[wmp,)SU?S z6k巨c& :^OL>ቂ_Z0"WkcK"Mz$$җG!^2uڴlh4 w Kn20.SԽlO
-IFކl6gV\* o `؛+˜ aҼqJ oe=J+vi ~T:ae֫00y~u3$C!<nFf>߾%Nmx^
-<;Q*|uI㚿(8N[T?u!HsZUln 3,RVvj}5_My[=)cʧ@ZPяϲLl5WӌL1 JP#px?;+߈ kkDD+B F5 㛝F_E;ى06rg1e65)XJQ[p/]rg=N KݍTlƙ-"xKf+\lMOlHn.yl$_347x/F웕:`$R鷸USa=U[AyӛywwU ^W֏[RXh0cF:AKU`vN#
-Zqً 
-%J@V g˕lƕ%}ӫm;8]Fٌ/-t#/?QFI**eps_V1qJ,EٱunQ:r
-.:Lk@V=pqܔ[Ќ= tT2xR2V;K4V,1G]#kU0ۨmz!9BhF◫i0Ҫr Z4 Vo,
-D1PVj{^N1ۺ LuJe?E&-v?\r8)
-Րd)0Hk8Z ,i1bK##Ģ 8g
-ru\>MG) K"N<ІQK9[xz4#JDB>Q,*-}*UIM?N
-%rTݶ7KY$\} ,91ز)qx_Rp0JU-?(}gjF<|39ܳƲ<uT!3((,EͲO3JCzEThyc!V&-vo#O82/.L%QbNk3TH*a9ğS'VZN |4ܰYX g5rY RCi5ۊb-,~(n\%S+e=k2j]nc2ot(]WYjuX3ElT.Ӣ$<[Zq )b8 ҝУAnqu+YgٷaȱdCJ[1PYuLq^1z%$nRy\ӈa $?GpGCEYP[!jtxmi%pt{&Z%]HJNNHq~y "@66D*7N[T2}d ,bdJ/0N #GR~%,`3jnPm^%+cH~v, ҆ lO(N'=$-nʢ/6457*YW7,{!FY Y=HQ \ N5%X]&<bs(nYl?Y Qu n#i!DĈLV d )J򍘷GkC^oqv:1`mV]їbU.m,S}jk\=bK 8%"',EQcY"lf{S)ydbS}qi9$m:Zon-ָݢLҨQocj'ȍrSVf;ѳ\`I"ե
-Ty%lZ!ӦM҆
-F Z8sϸiO{&v[,̈́Eyۢ_p$<+n0RR \oĢ7nm)W
-Kc3{hV$(l+Xݪrm<LI}E̦ OXf Azy;XEVx4ɂ%^61=+BpmdYWbH
-U̱X R92˷5B|AZLXE\M5A5A*3c$ގ~k$~RO]PTnW8GIW2lmv8{~VW1\g!6lϼ^:`hb FQ\*< 5E $N"s+S4Eb?u.1ɾ2H [YqFM'S`*5$2}F\_e;M:M:Wecr\\4Ӗy<qTD5ҭa5U m~D`dgk*=A*P訬GB@{ XjVioOۮݶGCx-KsX۔XaH}I^"_PcDt0yF=29{Tn,lӘ7ÿ+$ᡷZc-\qQU6X.xRp*8Y 9ibHy>rh%aPvpa󱢦*+!M
-b\;/It5Z2|!U|. bArq`-.i~ɩF{4WFpR.fZa]5cdԜZ(mrz$QO:7SmeK<ㇺOJp/ޜU#X=$M(-J#29bUm|blH
-q%[O|
-)DZk|Z*oT1U&Ȏë<L+ZuNQ~FFT|)ciVK\"o/ni)lEed e3I՟zMsQ Of_(u/55FwA8LnM+v sk}f׺XKە~li$.$^L2~H٧YzMVD+~lSF F P9p éţFxawVB3y6IVZ[ʷ1%OY\IOW
-lL@3zTE]Vʶ;'
-lw/!7-+ R&Lm.ދJL[%u&ͶRj=,\ND/%DHM=f̩}^
-ѷV+/9U\\ !l
-EtWSR=N7v9?ZR]裇VF.bJh7Iea8 c pu1i*sq:
-qP1&#i$C[F7~%sTJÐ@k&A m^3t]'8*"\?KJP=9P TAeJ-vyUT*$ř<e'6`Ũ8 !OR(HL#([F6a;Z| V(z 0e0׫(FŴlލU.MT
-6UTn4j;hZ\UV̽<
-J-HGXL]b6G$-6& }Uܼa}"ADg2|l/yCJ3"ý)J
-U0x
-"QI0T%c,MšYf]8W'Z/&u^ r;p;NuTԪ!u6YEp~Ir;x
-׎:etNk_[*>><sVT=ާu̽XUAn1pICa؎^UWYUc3FeÉenɄ,ކoXq5X
-/joNXU726;Vj/}כM%CceĈG E=CGd4EVQ2,Ⱥ{z..х&o?4+;*1VE%h성$6ΛJh9L%uZG)mE K}v{vD)@ xH]J\eJm/.XvRhaȖSZkw"H(ּ+N9Epqļ/NC3{
-҆U2bLT['ܖqA `9\ŀIv7}X9KcкxCO"A!MV$ J{
-!vZWUij2PF;CFxD`۾8]4>$'T^ԝ­D/Z"`^S  ީQ&SRx8
-qӖb3/;%/wj>xZ V^9&<.T%9}X,ļH=u8?hH/ 
-Z"ȫDն#z]Ӹ J_[Ey4*^<R8ʸLLY\+ & -2QVX'g'-stA!|Xȥ|994?t~ J| l.@n@yB)ڇ8.f 2\V8sp,jtx4B&`dͰŲD:)?? ;c$c+KJnx学f6_LH^+p'hDxCQ,)|"Ldǡ`.vg)tQI^ClJ$u
-?i+MfsTę9; {- äW_~g7Rw/䅂`fqlMl)GIʁߋR[EQ7pamjAPҎ
-;N`Uū#jRUƨZO.[N u٬
-N|Z,w,GX(oq.+Y,,f1j.\7γD3V;0(&ln|!G+N\[hAcgkD}-8Z܎.Y4<{mKOjf5qEr>ԎK!5CPb4<3@ں--jDyYOhqIaDofPUizi@m+p`T
-bC{l2UذtX~A(_͠+9J=*3 Y$zAdFMyXIը&:?ωNY Ĩf6>"2Eży7q Ey
-9TҬu̕\zvmc)[H7Ţ18⫴NHn[:6WߡwPUĭ Tuvx7ebl[ZI%\ -iXR5W9H 55k{1a<JUQE$>,4FoG3#G4"¨x+KjdmGHk 3t,7?a yJG
->
- 5#kD1!2
-O-3lʃAF +kḦ́R c*|1ddT +CՈPN J+ *ϙAV\:dL 'R21Ȱ 2,oY- |0 YaN AVky3dd 2 o֙Aefay3* J)hdԕz' Q# ÓAmbaddqYQ9b=dAƢ81
-\/&ޑAQ ad 2lڹ +BAV B΃AVP{ i 4 nX P?d$T:,m dZ'mfP iOYQ/ +b 2 /YefUk ndi >1^ +DGYFYAV60vdE!AV,dГAVd0djoƉAVX,FY]7 01ȪgA& +0 2&Ab #991(֙d
-92* 㰉A&  hvbq&YFYA&AVCudz JNydadu3*{ 
-bU} 3L$O#LAVfad&YUڃA5M 2qGmby`u@*F|W9 2 cL 2GYFYAVՏ10Ȅ~2x 3A`! AV 2ކAf83L9# Gy3\d&13ȈQN ρA͋A cd00ȺdtYX& 2 #L;Nd'udB:Nndi YxDI d|dH>dJd{"ȴ3dQ&Y; noY]AV:#juG>׈ +
-:{'0!nzF&>d23 23<d' #L'^gAOYadYAVFW{
-O2m}2 LDdAV6 dl&Y`g@aD1dܷAV")AV(d}AuFadEmO AaBHmD)B/ AuBad Lg2} A/d<"0"i@d c@,l +BB AV=dvFY x!ddXf7 eBBad\ +g{#rΣFY&Y>~D}#Ȉ2' S`qDaBu!*<AF
- A6XY7lAFxBv/Y` ɘd^2d%a+)s>"J< A6XYd)d| A "D"dy!dd AB^dDD'lt`4YQet~#
-F + AVBy5dr,'`dBtB1d,3Č A֭ cҞdB_2`3ь #tFdF?d2$i2u;N2diditz4292'+`E+du27!Ȫ*OJK c;#ȸoyA 0Ȱ dz D SE cJb"f}ȈB}Ȉ
-O
-Q?Vz1e&X ]p1Nc3'cU/-.Rk:q=ccXgXfayX=guac^13L?écXfț?Vec|&b/&9?Vy!31
-*Ņ'~ 0>uƏ)3* /?VcX13~LpďU<Y?V@c*c ?"~?ƙ3~Rct^ղ<c9* '~"53~~ 3ˈNL~ ˌƏcJX]~7SUL*?? ?F?0ǘr&j/6%#~DKj1M8#~s[uďacUқz*&~L'~2 ?FS Sψ#SƏIquy_ǏǛcDgk1܎1G_Ə|fb_1˳1Y&|cc5+#~nSCɄ#Ə ?Vc?V奍1%*6ԈgcƏƏN}q3~7~
-2Ǹ#~LV/uk1,3~ ?uďiď)]=,5԰ď'„#%69c|Ќ
-1>cG|Ə#%,(ccB?c$GHcc}j 1}LU=}Љ>bQD4Ǫf} 'cgcN@>I+:LjL1u?c$& #}'A9J^1L1
-#1)_iB~]1`aa ՗dqU<Ǥ31$1
- 8bo,{L6=&`a}c r=c1<c#{L^S=&2޳](_OXQ.|`Yjd)5dc:8cjGzcT/L1^1(&F1G #{LEO鑑==V2Ǩc=zh>Ptf鸉=ub)9NJ'{DE&RKoZp'kc'f:ꑺYfY|bi9j]O1';=Ǝcncjcuϰʈ1U13<c1=f:dcX1&Xݏ=&m{clg`&5c|^?cc
-znc1B}dqSlbUE#1"3{#f)<;ǴcI<c21 3{ ˛=adOa=Fuf'Ϲ<6~Ǩɞce=1Z13{ucOdc:qbß1K챢.=Vyz 13{$*qd`eb2Ǭub2O%3{2Ǻedud>S OgIkdQ[bI`b,ndQ{bAU{,X7{L%){b7{G^떑=6X=V
-AzLW#z*,xd|=&oDuÀKcǪ4FÀS}p'4zL#z =V}FQ3>Dc%}jcD&E</Q =FKȈ'X=& =F#==v5wsDE Cn2He]۹ֵSN4:vIO휡c1ڑc:8'mڶ:qL$uݣμuz*Rp";fخzۨe8cJ\]eƌ8;eL8R:d H1FpJʛXKcT101 r:ŤY.֤8Gl1m㖚h1$3$d44&W X0΍4(&vuT1k9;TLӭvHR)F
-JIt`3"LA2*ٔ2@!:ăI,I{΍Yoa20t^ (r⚿3 fC1\ P_el0{#`J/.l0u-`ԨLZSV> + `ͶR&2lLIEywm`X'w4`*i`k?;l`!3NlUX'alr%LGiOd0 xFu3ecM4Zk`g \u.^FHء:L] (I8`
-#)pQ4pH8 =1od!p/Pc_#ٖ箜J.Bn͂s ;p7Ҍed|wg^SR:ѽ3LfMp9쉿3lib/-|&{i_"7,$LeEJre E{\0=:}
-Bǵ
-y{%8KxG+/^H[v&X $>pwC%F\EH3zKCQ&~)%8O!MpO!~IE¬G6_X<nuֹuqh"]/턟Sc~)yKЯNK= (x%m?/Da[-C0è`үe/}Q_̯%$҂ê'X^Jڦ"3B>Ye㔌:F~RQ{@~~eʄj֢lUgT _K % W3V_rF}RVs ڢ#(Yq^J|-oF~+\ǻ` s.~ C Ȕ/`d}o./%r ȵg܋e7藊ƤsڢY'21Ct\zQo=V@_K @-"
-߳@tBX:1+3/g5h^T%ƽ3 +,\aM߿ %DF~;w!$B∋jv(b0 d$9A] ~m!įNRRϓ^_|p=27Zf旉BrM0iRI/#,Q5J0_K Wg;{rO>X*6K7!rŸ/=7)K 93}} <!> IA`'Zpa`k0lga~'y^x~/L1V%Il[c?1=G})o.3)gC}U ߶@_+uN5c͍RzI|iS&C._㋿g!.|{!|;{s4]Z|/̧܌ r߉W^-e*Kם-ziqv%-X\/׫Qu[ymqp7s`^T-L1zu0X/I>+֫юXipXL(^*X"U^+o Y;f~z"#^K\՘{10/0Q,x5(K9WI
-kjvEӢq K値J{%^͊I[1 P6K%e]^d)4--kP-x/,kF
-.nںeSE#:ߋ-{-j|/z4Y^Ԙrłq 1:F {O$bT}+K:RQJ{m5^zss߽l*}
-Z9k rKrۋ:NnOh/m%WB9 /dPh/{įw\텿@{+R4+) @{&@v)d/㏖R-/N'R.Ƞzݑ ^. k@ۖe"p'<-b"C
-K"')8^p(hGtNʱ? "-^[3)R/f5a<'p^.".m=v .A׆vm!1.D
-ddWf>36k)ٵDGv:]+ed큗TZ-vF(j֎7+}urdЋUy tޭ*$#PzKJg.#Ce0Ak8*tY]}.!1#-dR鈴a*]T=,wev);x
-as.f%q0е "ּ]~Ǭ.b7NBﳉ]($3K˩bgf3_2K'"֯`!] 96K畦R uuv:`ץ+E4E
-,^b]MJ}u鋿MemT^$ۃׅb3u\{zCҗj
-K7M4p]lif[{-^0*-%&+w[.;Z.M+DuKׄZuYAs\q9bRl=p] &[wq]\+S1(.q.^k)y]ZKߚYP>?m(%3d7`u)Oeu]/F% uQtԥ/tiڎhjq?1+$7KK,uai=+ C݄.QjQfgs]s]0M>%ۇaڅxt4_%vVA撛s)*v`.j^`. of
-KFri՚*{`\-޾y\-KTfgqy΍DfqYP\| UPxNeqnA0¼LVQM+zXM꣊F傝:1v[DiSvR}Rmk\a}XLBRYexEނJ$_-oi=ηR%
-{IH=ѳtKզb~qK-K YH_[-:^h[]-tZC2yw_ -bmѷUZJ?lKGXۢ,Yu@m5:sc_ W EbL!m:i% FуAk$:3p[ uR+`[4}@Y[#s*K'mhy>4sbPGhǽ([Q [A*cMغ_2a .1
-55k  7`3T\U#43.ʼ,QAY,*^,Q`Yt: yͶAbﳀ 7pNg΍ұEbcX.!0Yx&qEJdztp}c
-ɒHd27%nQPyJWadIGd5sꛒEW=M#j)Y<2z%oEɲnaYERFɢHݪ~(nw1BԠdK-Siϔ,jJVd53*,Y,=?Es1zyΉ|8ܐ,)!ShCx6S}MBw_.9Zݚ
-LS˘,mN^,X֌!̙u&Kn+ ecTLX1YεL>".1Ya&&dx+&4FɲQ+]fLDyEdQ"c9dY eRj62&WX
-L&x-LKY=scrfN]rdudNC^ZvP^%0YJSΘ&B:T9&$eMi[{%KEhEێ8kaHN%yE^dwB"S:`kze_'eX(K_ 2Vnz@Ym,:n(KX[) Yƫ@e3W`)a?`Y\Yu,Zo2,˽9ۂe8$`YK]ݽ`Y+,Ѐ+Kی[(XY vEю"byXYu.ƀe +V719) ]8Y2Z20Y
-wHo cdξZ,ӡtYsF/4my@tR,\㧬$ Aɲ#^ Yɒ@\4 Y> $=`Y2xK,34Fyj*=WVԯeF&~7 Nv0h\w?dQqaTJ2$ 0d!(,GHd.V (Y[T:b{h$ Ϫ l$k մEdP Y8@4Jbil HfĊ8'HY3 Y3$cn=vj-, X2#!w-DV~wD;!N"-BL?,|7!K&ᅐrC BoBVvτ,YY Y2!K/!KJ!db 
-"KoY"Jy#hR8# Dii.c̈́,hz@m6+XCdXڃp>N}b7o
-!"񱔟*XǕ >~)P) >1 Kc3 K'  K A1hRE_udU \cd,)e %ȢM
-=q{&Zi=񱈜"@tu;),-$Ey;VJLȚڈ<uYNN*t򮻀ch?uF{hFca"òZzC9832,zBM
-snUR{RĂwx
-7H'bItE؝
- 񞛄#8X*Q
-kQ3K
-QͰ+b+2.МIW*EdO68W[Hp-:Jj^dz!fd֑x5oZY*:_Wa~PZ[CVjd+,2wb!h`+,FZ]nSV'duo9W J%`|Xt. hu-q
-Q8VX/gcƣlGX˚B/ L\lj `WgԁJ.F5W {^ ̀^%1e<AƆR8arr^쪭{C*% X8VWx6ʟUhn4UfxwF¶H!.R{YUPǝcLCy
-ΧëP" kxwv
- cWr W\9Y$rU<=,4Hh r[.誢d h? tvf*T
-8j\E,URl䪭drU'r~%rE6Yvyi[fpDBxSUҬU<k[#EH*\DpU/pvL\%
-H` DzE߉]Ql뵠Ryg]UVp^GBq`W5; @i}Uk
-; C]UeW U2q&'QRS7=:]6g]\e]e9J1Af]]EPkRQ*$è R(Ixռ2UK-:O{+6 w*DW>f,rEH"̮H@~ Gq`Wm!R)
-\[%=6솨p8 `Wk:
-Q̮{aK*V}`ux;B tv7,
-nCe45*~؞U
-BZb0$:nkY*
-rwpVu -n;m l.UE̪ǪnE|*Ͱ.w@UWU洪VW{)T'ToƁ/?R@'sJ*JarM),)g; V̓n)^̈́o'y̪99V o
-i68{(t$ 0KzMoLV4{8 .N+FvhujO'MAZ]咠j5KyUR'e^d]*RP2ÚoKw:&mn<qаnľJ7_+|_28D,KxUZH&I4R
-LO(vV| &RYS 'i"20#R/Tժ%ui'ikA$C
-{dM<q/W-!2L4ኋ5eG 4ª\c=sQjCrۺ
-jq_Z- GkT8PՔ>la9v|0,e8ue[ ,S Y7oBC5'B_kL`{C%aSpi]kb)SV [I-9? i=vST_u ev}h/xKr AIMoI>+<lNf]_JZ T;waTH-pQ;{=֍lVROlM,q< 5j8eBr:NScS6O)E+LmӐK pԗTSnK4[XtLQDcRQ9 T)I2Lj$>̾<v/\D;լ[LZ 8h@65ߑ2˓ǂ'u*F8B˟w_z礀6eu_Jm0^(?ʊdZe$ٓͰzQPmhe%@"ʗLfytŅ:iIm Se*4{~H8Ej 3_#ө=cbyFS,~XS"(ml@.TnIFBӟ: $~q r(iЉiw)jG,*aT&C90V+g>)LEO!ˋvxtīU/LveNnŃC3e
-])c{IQH<\* M3PZhuu!~l;)q%u2҈[QzpmU@Om|_Kv#K3{n Oս3xaWSfFQ[7JCubD~fh<ն)EH)6dGmo4ڕ>ӦW8\v\s+JM#$W_S]Z`Hӗ{K8mq{'vdƾKS]+ Xp/U
- z3Y8][UK4W8LP p[zZ>NQW}"Kvr
-yy(=vx}Qe^J 8;7+dL;M 5i@eU?XXI_c-MX
-]Y],QoniP%}!2"*ѽ͔ ŝҰ%G
-gQ,+*S\f(0N!!=m)B^÷]y|l'"qxMQ}4
-۪8jlGVjmHvkqfGFRJ!}1nt<$ xV7(+);ė΀Nl?RwYuA
-簧`j a{)Vqx*'6@~+\Қ%:[d)i Ykg&8N~Raz|ω)KcH
-bKʱ\ηجqI:NN0̫bEq-J@\a
-Z Ufj%߂ԗ<SsGMբ"b'u]QcsLOm?g0ay)繱b[oMcZM
-(R㡬{[or҉sMgI\p1z({f-kdeNJq?i' bI.-̇4W{{anwS);b
-i`ÞN(ClS[WKb'O(fP"Îo[L
-kH`BKkCH.^9E"gv-Yk !߯_pP:I*hWI AR̚byf}<`Ijxӑ_x|qlŤ2JH/vx]P^cT@}J%c0J Tλϖ0TGžH| Iϟ*NzMu?
-l_eӈGއ?8t5{%?x<s{)1d%\S;{! $9A]ESpU|ʛ51Ѐ0&²6TzPDb 2cRmixצipR%C$I
-)ZlKuL#ZIgõE;ϭV]"$1^HxC큠ӒjNQj3?%$M >6^'CKя0T)-#o?,`1T-];S(j.ĈZ$ ̄}J4u-ڎb
-jNiCIJosڄ@dRT-ҩR_ #Ceab
-/ ?+ً4270jP|&";?мS ~ڈ;{$߾u)d J5z -VL;_kBW~Zbט;^^L6󲀒"nĹd7K@Nk|=/+Ņe+ a}m;y
-lJ `~'alBՠ 99%:~i|+LȀ}^^^޽uAZp3rKF=4G-&ل/ Gùv
-,+`${*Z0:&tJrrDEGbANMjAsqG6 iF{$GOfgK#K`j E۠e|oSe~<lE3)S
-7]U=lRO/X<*I8u)iu0
-:.bhrza*7*gz~wcPi:gJ0[ZԘ;F~f+Fa3Ay[0M6RٙOB\f 5[/c/[YPJ˿c}WFkx'%ȜXez'3
-L j
-*W,oC*IQIH ޴gԤQ_
-xJ6GkHa=j( H3XOU 1+u1U ZR^vzn ";Ft'W8lR>&N00$SH6iB=[);XpOn\#rz>jgIAm| ;❔SRC{]Ӕd|k69YvuEdZ[]d~J6Shscת'ߔ+^UfJIe(a_0ʻJ!S*eUJC"pהQ
-'W87w>M$<{U/%_ǽ)aW!QD:B4 DfaפR(Պ*5ޠ*I$X,I&^SnZџY\%9|EW!a5%VLُS#3
-J^o8}oPQ'#Jw)'c6'\lLSD pPYP D[ 4W4JV)^ ?t)-_9{=Qj#k߂zknieeɾk4{o}؅+\HʟaڬS4xjaBRn-klv:b^3ڂX3q)Zy,D>,,9g 䱝HgaP zX$XBHc]8y0XWHH^VO4q3PjeLDJhrmϱ)ljsjyPu$_UFռdԌYp<f bĄzuR휴
-ֺAV tT.m晞4ՃMyY 6*)<lD+.
-ӚePlDPWCsN8
-h1B-]JyHT<,1EOE;QFJ)C˲X3iԝG \N
- <#y>RX#pwjϮYji:UxѬx:f,X pU17趠êh@E^'{JC@l' J~hIA
-ÀEb3Mj{t[ COoFе^$6Y-l}ۨxy{LSsXc)5o(ea8U+qc;a=vrT:A{6Uꐬ+Y`C:Ȧ'P컅h ΪZL6-Bp„85~RpdQA谠J
-a^)js'vz@o牯FwED=a˹ Oj{[i
-̪QBUUEzYqxVdx &Zé F{&9i@nkq;/_3i%bVg-]e>kfp&`&a:dȐYKY
-Pd:BDu2tR-PcS#?,ufB+cniN
-bjt3bZhUYCĤ" DQ衻^ G}I#yu-|ȾsDkcPUYZ < 漭eAp*VPù} >M'_`pRR*.ZGqD4^oQ \3Ջ/6#k/
-"L
-BUw\?āR*9Y1t%ɫwӎ5OkB5$t+ۊ}UzU8 V +, R8k>H0=TJ]F*-eO)h'hFN;6An|%.*Ó
-fnGr$
->|fV\eC]i7FWd}'oTR/sVg__1 *ޫjؗ5q;Wh[d+sVڒoaZ;})q`S! Ĵ;=)S+_Qݭ%b\[oh6`CS0 <<,X
-nU!(050Y)އ(&㚜ysR6oFY2ywR16dt6wb'ZyU @Ppӕ1_0tq{sZ!iMvHͩWTSzǷKʓwsϽ&c?f3!
-=¨3{Dzp)}#z`t~|*Jw/i >In@w8Hwz8f K+u)v!Y' ,mjX!kӮ{!H)* S4nV'ּQ /N
-=ν3ye=jZ LUBPos6va[&0T4xj$k'Nzhi5Ehg$1ax!}BPtY W7+X vnǢ5YK/BģҰ:V?D<= BӪKSP
-ώD<-$T"-xZW"J%1CK4v"^'KщxD<`"JciMģaxrDf/D>t9L ~s"JJ%Չx*<l_" LIk&H4/x(' ēZxR*OQ2U+@$ V]x
-@5lUl)xIɗdģ0tL&kVx2P30^xϑxR*=SIQE5e렼 7;i[/KUx3{7n|!H<xzN*Ϟ#A6ɅSmNE=A.H<SC,H<ēEIH<)GMڀ7e$R/5OjEq\AI 0/H<H<zx_Fu)N+/WAiHNēQB$6H<lH<Oi4-SI  񒒐x[ $^_@1|xh*\H$$^ OH<Xp$~+2$Ԋ@d2OGmmAWx[H:OPxZ}x4$^}Am%#H<dT$vHNo@F-H<M_$GmAaA⑦)H<ׂӬEIH<)7pAIH<C :ɒӀTxߑ2K|xʹV$j*ON_$Ԋ P$Ai]xW$$ޠ4#@-H<v$[ij~F|xPx|/O?"+o+ @) QxJixJW$*Oj_$H<
-WO_$GE⍳ P  $ԊēRxRH<\ wAٽSxA!<#@X[=ӗ"t[U$KJBm5x05
-۠"^l$3#H<QEQA=]x3?$G'"|x= OJE1?H<O+O.P'S/H_x[H:o<桺x//RxR
-_"
-41U"JJ&%Չxz"aKd"~^7(%~Ux/*O/\!iUx[)RG!f!vD< o㇈7j:d"2D<52Osb%e%!")g/2BC)D<"BēRx>D<[2d"$B|x= G#c!G (D<S2W D<
-OgVhD<mj*wD$"VqwD<`"Jӊd_%ID<
-ӌKēZxd"G|x">mGЇ'$T"j־D<B㕙{x2B[B&-1x-p%acxR2/DЂ \%x*N^&%%DA|x'|x$
-o!ID< ? z'GBJ&m5x Kģ"-"bG̴񶒉x[5"TbBäzؗ".tg^ؙ+?D< yGr!m%D<=Kc.D<*o+4GY)Yx_"w]!Q[x<"JC)D<^!xR*íO߭Tk\x[DO^l[K^xz
-OS'4qW""D<ח~&~̷'񒒈x[ "H"!"a\2!Ɱ,D<*^Dl"I$e6/"B!i%aQ!Y=vKD<DjoD<?D< G;o!m%D<M;C#A_xVU"@/O1JS_R%!aZxx[D:LCģYxhvĹDݜ7CB÷C6,D<%ξxx0 /kYxR
-[񄕩@<_ b'
- S:@<F@<a' C@<"/' #QxV
-OÓZyxR* ]ʇ'hc/<</OÃQxx"~yxj0<<s)Vyx}Rr}yx+*O/OjW9F)<<CR6HD f~qxe8<g
-qó2N ;,3Tpxc#W oŜqxR*C-8<Ói
-O]ьQTpx}=Zpx|} ~ó흞`ewP)a^xx=}-<<" <<1><<'P~yxtJp<<#Q]xx3}|jTaO<<3<%
-<<"rãT}xx&G(P3ӠH6le/O_TǢ:xxߜ@(b*<<*><<ãZQOyx=̒4z
-<<JvMioQA]xx̠yx|yx
-CSxxR-z<<DE5 ӌUyxʗ}xx9g~ ?<<M*Oã7$*x<<RzG./`e@(*t9d_=:
-UVR_~ޅ!ã|Gc.!Y 'j3b#bXpxRg4F6:O#W&̄`Q]Xpx5q#pxR) 'z-ϔ_Tnׅã%@Qޔqxjmpt_*S(qxW8<8<:1
-f_^8 5GA)8<v #Wpx] tRHPqx~ ^UyJ4)8<Ԃc]Ypx(ۂS:|qx+BãC-8<)'Wpx OJI8<-q8<ze3|-Oa Ypxlo?8<gS57
- o,Osh)4<%x4<^YhxfފwH))Xix$h 4뇆G~KTy_`4<LãCóζLÓRixR4<GVȦg2 _~vS4<eh?4^4<Q|ixȹ&Jã=CS? Dn7)]`x\#}-#cP`x0<J2 Fi0<=&_N?0<`}ax~Raxa`xJdUF>  GB!|`xaxG+ j DC
- OJ :[~axcGKiX4?T
-S uB 4?_£䥰|YxRXx/ O ›Yxxq[Th;,$VCX]F`&A e!JaIf  o೰|Yx;›Gl Kjxג,<Qwk@yR.Rg<Qx72XSDMxDFb(<v“F!(<w/Px,|(<]NJƒAi/(<GZPxR*
-;
-=FAYMF1~PxfQx(+?(<G0~Px(<V+
-SS޿qjA QG UA ((<]^7 )
-Oq'C-(<"'Ӿ(<E^(<z
-b݂C-(<)'£-o#,PPxTxA_޸
-OKW%`PPxKGcFKQ7h(<ԂC)(<)_ł]QxX~Px7(B
-OYQx:׿(<8
-
-[Fm!+3
-gGM(<7#9C(<
-OG72
-ώEd(<Zu
-
-;P/
-O 3w}(< b
-
-£v3ǛN ~((ng`EE(<"RPxEJA(<`2
-ORPxf93bGqRBY}GF) AQPxT_޶nX@
-ϔ
-£³J͌#0]Px[(
-o]Px
-jIA)TQxQ}PxQx(<}@EI(<)_³FF}SCElT^R
-o O(<_)RPxf2
-C
-OEףbrL(<;
-x)(<)Gm]AqǬ(<
-
-O/
-6/G]YA%%j(<SEu|Qx|£bP>(<S3
-GqJFm5PxCFz*g _Î
-OU 2Pxz
-
-\~QxɔQx<@ePS9IEQ35L(<S~QxZ2WJBG<h@)(<,>(<£SpV,'s,(P
-OcDAs£+T^R
-ԌÂp^2*(1
-“ZQx8u/
-OjA|Px'0/(<">(<ԂǻPx ~P>(}\F4gJFm5PxZT(<,D
+3}r "ȴjD2:mX2KH')¹ql2<2U.s{ȍ&2S^3S%صEm٤bkd͸n`v+}M
+ܠG5Qc+*$z'۝D~ UagוkVc*|7߷^
+튤]Zv]&?) }ݑ5+EZF:DS*8G,q~th|Wy8sMT5nTi
+-= #}`GK[ Oe$?R~0֯w=ri8NƋnW˥C?f7qetTsT$V1&?$|j|޸V4V6kX|j#u !}lf{
+)FNm
+@Fmqoc:Dab.@9ܛhA.LCRcf]!4bRܭBEhW&:uoNa$>Eة bAAT)ԅբ6+č}! mPn;ulIQ/ax:0kۮ'|Hyr$ $Dilw uV2 oKk|Wcu]29&j'Y+S@jmAEW*Lw݆%2\!}Jrp3}>g_LDnL]~A4`3M}., N\oߋrZrgﴒ~JE7)~,zJ%Wz-rk6V
+jz>?SkTXb9.5<!.5Ix
+'o~"|AE_⌌qVe %ˏLQhtZ8*bk;>6'3ۛs NAV?h]#lVNSAU> f%CVoFz)*Wr
+}
+rE-?#%6ooX/|3;ob5~<鋟ּi ?}_p>G~ohx^v38lO.$P9[{cwD*·nԴƦ =ViGQJ?C2ߙ6)_`F!$UZQINF DBb&l;F!U~*
+&˧#0
+V+ovrD{j3Km{ZVzU֠\>讂Y
+5iDw4iQ6Rb!igR7*pzaљp1J9HR%gBɑQUW.S%0y7s*JDeOs5/ӣ\B]6Q\By6%ج2g2:JZD*x9\JȽ^!.,(L:)lidTvG6C$Ty֍f!p{²5FK5 3 767 z &ʼn*briymn}E6YIa,j۬(c@!^dl@wuc[$^Q<+_ZMiD~y^*#GO/#?fI0 ^@+ufV4}nYҷ2DB^-,m$Ut;Vs)ޝ$u8>R&;HmO` k|f#FRC?M+o85FiSBs n9ܛH=R
+%OwEH1͢)A$<)BWfNPçʘ8-(Kc
+%8&ֺ3PZ;{*p
+""HIwz-qksV4{K=J:0{=Qqu6o8;3H F
+#Sg6OX0 ,X/cv+bJ1֪`鷱9$"̱İG4TB\=Hň冑Kl,PoԙjngQ :;2@,TcMv%7R%),idqEͷG4k4(R˒EK{vK/m^/d;wsdz} J`B,84nIqJ; 99љ`<JuC7, vk"V+?^MMGZ?s%pP9!1ˠ{,sPX&G#$iVPyFI&KM%
+Xż`i˺;n?8=B,JP%\3OScPDga’5RbNT =ަ`~\W~NIGJUPӏS5v9nۛ%JЀ,r.L}V1pqlٔ8h7D;2d̪.Y>BM35#FęYcfWwPW{t}z-E ͲO3JChyc}T&-voq(d^ɷ֕$9gV׶'QNX9Ax N[XQiq .]Zpf!$[b6]Ԓ#e;3vw5ӦuS=ĢgXNq*2ⷋVaYtRV3~ۭص[x1,cv.Nqe U5cn\DʬʶH2E1γŮ={ "׸* =Jz('y}K?G,Ei-͔#:WB-KX-՝ǝQy!?-1
+yLMs4y+-ἏvBhj,J7MJx#fS9d8 <bmlTnڽ)dm>YO%N $aFf%XK(2Qprb" rV -um]+bdx] SώEAl2A-%T%9É`P
+MYeP,~>%k6Jep/(kr[#2)*kIqD9+wuWl?'2˜Q^V/& y -HQPI*,<x4%Q
+ ul$-.K <X D8#[k_/Ū\(ˤ(TELbMRH^-1.v8AEe uOAW\WQ*CaGO[Ή'i]Bxss IƥeF􍩝 7"&MyXI7 ؉:=~=ml^ ֺEA~@{iHVz؜g4U
+ͧ=I-f¢mQ/}OabrU f^Y)
+7bћB+e%boyʱڙtMȽݍ,[D+APEtanf6>xJ*o&029["vPJdApS]m/!6aܬK+KhU{\*},1po+k@"s
+K1̋.^,jS<TfT1B_54I~ %}ǽ!~WHZ ןPTnW8GIW2Ũlv8{~VW1\g!cϼ^:`(a FQ\*5#ɻ5E҇$N"s+S`)b?u1ɾ2H [YqFM'S`*5$2}F\_e;:MWecq\\4Ӗy<qTuVm氚*6?N}W(gk*-$HҜT
+lLvt&TE]Vʶ;!
+lw/!7E+Lj^۵MZ0\HO+dYnWO8bJ!Is9!{77"7g˵W8(ǿ2Jsi'jFZFRWqRsU$*`]M4I;ߨ#\#d*/x#Ll>=*M0rIUUB cj I#o冫KR)%'gh"ѵ:^]Zt%KCmV~Kt+*Zp:Z]ޝv$}3SҩJ"v,&Ѿ[~juPلmh=UdYUg=@FDT%=`(njb'܃
+=5f`'F:\68Z6@s6+W)Def壚p)P#*YӮi~H1n4N$!Bzv\V-HXaADŽ2Ka:va5Նn`aME N
+$V}N#( M4 DGsTA$3Z툤qY+qQ 4ڲi
+`4bq>gq짩4AQ'{ͪ_[^o eBUIV‘J5R#-帎<`YP$\>n`ȝJ. j44%>ˉGHZHE)),|M
+aџҟQLEAѧmKe&l',H
+W/ fzH2ͻqEVҽ
+YZcJN\!S'&sw7i6o^P_K8(~'(D%ovEvŴ -E XvGHԸwO w5j:+]# % @"7Q,"qYlP6|6^bDU"řFjbabI,g8=A`)6]ͮh_*MtlU9#40Y~5r"*+JsvS$}sfKy_*kSI3&|8-UuZ0`
+aG>`R؊'!wuVaj&̠Q@ٳ',<31jR"mꫨܘv8jѺ.V1.,8ޙ{Syu"\s,DdijW,?TqN\k$EŪJB(!TX(*TipZK
+[M;-{咥v|T!+35Գ:SuFn9[o=Sʗ~JڧLr.G|_iS-w*yY4&)k*& ,l1ZOZ{BZŨ֝dQe9 07Y[զ( -yzsbJScSKZt$
+"QI0T%c,M'f]8WGZ/&u^ r;p;Nu4Ԫ$O8lGa).8wNP @ 2t蘝TO
+!eU!||xjc9J{TOi{3X>cVrL;h/{'ν P޳(Ƭgˆq3~ݒ Y ALA5j"*v+
+h %~mfP)K
+ȭ:Sul$qh˲]Y
+D]gaxP=I"MD(#W@4Pd;#SZY[=[f~JyuG߄2t_&K+]D4^k^Ѧql^f^p[RED#blݨUi4@ԑ᢭FY9`mg^|i2Xn%ۮ"?+Hwm̺K?;YV@4eD8RaKaÜh\TBE0MeAD/3+עF﭅s
+j'U?WjVp|'/fqu[f9rFy pYbe E4Vsڼq%:oaH]ݎCVЂ> &ֈ" [6qèXT-n],d~6ť'K5I8\rJ9^jǥא{(X1DCDmM}J5<ӬJm [073E޴ VE[6D8D0qf=6L*lXF,FuQ6)_͠+9J=*3 Y$z!0yԄɸQji-M\(딑@j68MQhC],_,S
+P[w{ PdGC%Z\)ȥmjZ<?ir.tyQ,#JMQTAܡQiszHye\UKޏ9 @ ھ ?JU7`jwC_&&YN%0Y/@В+U{5i~t.RPScͼaGoƣTeUDâJnDx@A`}FZL403;wD((R/(zFvT\^pY<JrW@~ xe{-v"dY7k0Cu7 ȫ,Ԧo6$n,ʏyr0L<86M6ozU KZ-
+`In#|uvx֛lMR eYDd G#7S՘r\F%yҫ2Uh[ ɏآ(C6-.o6&IDP'1f8K;LC @P]bjoI<w?mMN-ǰu)VjJYJ55(V(dЏ%tؼ+piyN-d,[?iޕgt:唣4%6S\jI0G5/T.мRN c&P\dD?%U%V2acw}JM1*Z=5W"+y*2ѬɅhO"CBΏu(dӊͼjmIVx=5&ɽg]z,˷w6@U(quVo R A%Q>3\~U!h5;<݁zܜۚׯnͣT7Kx15-C]n "3R1&j* VվFYKy!’)t"%:+\MW[q9bXIC54RUkxLj?gZC[<{~",[.4O?}7?7wQ|8}أ0
+ @qa
+Ñ@Vy
+ڃxoA"܁@@֍+
+^'d"ꑀ uC' dP$2 d:I +dE@E +Ź@ ,A '^ڋ@V dH KH KcȊYَ(@>
+u#yȊB&3\M 8
+H &ad&YL 6d d2< dE@Ƥ2^\td&':  D rH Г@&c'餑@}$O2@d5ȴ~jJ96L'LƁ@GA N2y"a -dDfYEdE Z!GY9q"z d6ȄdbdN2nD KH KcȤ2j(Z@V(4ntYe/ d _@Vu&II q$0V2 D *U{ȸ@&jH 1 նM2c"n8Ea.ǁ@Ʒd@&ZH KH KcȪ1Oz"wY52>d"A~*@0Lg&I;g$ad(oB# D #fʉ@V9Ȑy_dY7:.qd@aI} 3
+쾠O
+ @6X@Vd/
+,
+Soď1/OA ?:qքcBc>c'4dxJ~N1>+XQ
+V&,ẙZ1Y',yL$Q23x 3y[FYGX۝1c1tF/&F'/XjQx ucT2(yǬNq$Uncce ͺOt&c*:zdc1 oXQs$5G7yL<&<fCI+c܍<6X`uP'ro[''Xn 0o`&Oc2:Ǩ}cEoO%3yD'@Ǥ"Iq Iq"!E:ǰ1"f'ؽ]yin&>k" <6X%'1Mu1 3yLy̬#yL<f?I+c3yl n XQ8a$i=zy4uG{/D4DcuxǴwcTnfy\L'ydFB3y<fE#y,Sy t"U 71z111<c3yL<_1eG<c&Q2e?%E'cXg<m݃<&<6YT?^1y<FIc 4ǰncfcԉ<&U'yL%=#y6ǐ_~0N141z_1#y'xǤ2ȝM1e^1y D"8tH?cU{ց<FDIˣ<VuJ} 1u䱴4y-Dh<FDcHKLj[ <&['ucl1l#yL11>y"qq3y<'< e<< 'yAh"):QcĀg"y,-#y̌yLE#yǛ<q"acI8HYOn$ե4 䱴yL<Vq1[>
+$X{ 1ً<5x'Q'y H#yL'=c21 y Ë<uX{ q Js$)$QO1Ǥ;Ǫg[GD#"cKBr1x <<֍Sӷ=cJ1 xL'xL<cYo5LjN1 nc)@d~T5O౪‚xL'xcFX7 4xMc1; 1էx WKcǤ7cg8xLcO1 <^'x <FkQc{1c˘c4Rcjc^{?g
+C&
+#V N50]RD }{o}@ y++R* SH FJ6% vHNt0l&`9KschV}ih0= @)}W4jk'Pl k&1ԗs;ވv2K-3Lyuu2*qAҔնd0B
+s*D0 [%w.9~ [U*ֹ`۲\Q: C!:~gLWX &4*Y'*lqDm$7S+CB9ʱ`-3
+6
+\ T0R'N)fOۙ`rY
+;됮Q_4mL8lAGW؂EJ"YhA/ÈqZ-I\e}]WXZ?W'&Mx'RBaA{-t 2 bu}al=KJm؉`x K͘j0A1sUTb8yz^|Q:3/m4T {s}a3y_K>t;KFoӊMN/vr%}Ԉ_d:wWQC%h'\ /z{˶ ҟ#KFA-C]1ů)_\$~a ~-_lOy=A"jEyǑZZ~Q'u_:8KW-#Pg
+|r&~(u=bByC |tAj?_;kį}CjƯE@gyq+@[Jg[SKg$sڗ2`_~wҌzkd@_s5H/-̗tFP.ߩf!_J.1K=5u&_xEz9KկEzop/YI}] {ſ3+ҖcWz龳]T/4SdX^Rz5
+
+wY{K=ϻ-f
+ cP8T/>cz'HTW!-2굄L
+1^I /m2 łQs,tmh[,0D[G|OpdWRլ܋x
+ mýXp.^REB#݂{Y6 Eʲ6^j
+lWmu
+kK~Up/:})@{ᕡ[tP8ӽ2_q
+kFȡG-(nME)w,^؀qt/|lp9H",޷ҽ4IZt/jS-tdVwahX.7+˦٪/ý^K
+&+]t+A.'xHϭT <V^R~U`/Q_Xr&b{+~%b5`/܍ހK_tjK-`$V%+zxp?Z:J֯7DʽD;q|3Kͺd"uGZ$^y7l5Go[.Rن
+›|U絅DZb]T;i!,kT{?u]*/\xA!^';+,J7*xm]D6K韬9aJvɣyvQj#q 6k ص
+\Lb
+j4 Xbj3z;@EjtZ:nAuQusѺ^kк8MqL2T-h],΂g E)(.YX!<x;K~*:}1. UҠ.~KvDVяY]$]^b焮 CY]؉s:S5{?+j>pn6%h.ټ>. `.Y.|8KQDrfͷ ,WriU? u\8}3cP%r*c@]^Ar)0),\.;6K̂˅Bhsq0}+ ׳\bȂEd.*_|A"~\<l lJh̥amz_`g. U\/r6 r`gr+CR\X57K딨֤LV){zkMzmX\*0ވ8K .J4mi^ qZUL/J_dT#KϔߜlѴ\r>hT.[jH6e&-՗-5nIE\օ$-ōYU&)pO[-Dr23{-U*7N|1kp;k!Tm/-nw﷿uia<uk E_ kKT %{]kR=ox!\-ֻJKv:]^@m)|+P[%3
+c R9
+bK9HBp2
+
+EuQe <ςeV`eɋ߅ʢ^,Uk N#ԄS;snHvM,rAbě YDݐ,U$֣spd',p HVk>HVUrmFVڥB%F,bbMFz/3XB;FVړY&`d5gg,
+DfF*ȒBN0$]0FQ3,r3!$yYZ 6Ȓbh@"C4DicEGda9YoD΍Žv ˈ,v-Q[KbR<OEd5(oD
+`dq& ɒJtdQ0%K˔,EoAEoPdHedI:oofζ%Qbdq?# bMYڞ=^XgdY6xȢ"9Au0HfFV#fdD9Y0aNU%F& # `dafI\$3+gt#Koe(˜
+n߽q(3t?tmHD$$˔YB- FN] %R7oF]x7#K}VfdQ,w#˺Ig%FcK%#"uyEG3 F
+Q/">3K #Y-B̦ pgnj@d@&r8s# Ȣ 3m"^<r5 $KCd͐,Mۂ&cw,%,+!Y v/@|h۽ YC2$K3 H"W$Ǩ,C^cCka,ɋHdQk,Re,DT$GmlHg̐,剈$w=ɢY/Ed'rbɲ ԅldHgX
+Hx-HKY=sCfJ]rdudJCw^ZvN^% YJSΐ&BT9$$eMi[{#KEhEێ8kAHJ%yE^dwB"S:^kzex_dX&K_2Vnz0Yzm,:n endstream endobj 126 0 obj <</Length 65536>>stream
+&KX[' Yƫ
+wDo #dNZ,<ӡt]sB'i6߿<Yz
+Q DE.SOx\@dw/,>K@dI .FDk΃N di%q YYB!K<5ўj+2!K?AR;YzOz.;#͸DJqHE# Dq$3d~+vޭ
+@D~)Ϥs: ӈ6%@D& mMGP|Ȳ9dZx̭%
+ KoY"JyhR8 @ii.c|,hz<m6WбH'ӱ'Vt,]z[8so>J3ZCDc)?ZUӱ8;t,)RcRpt,bc&< f<6O <b^)iL-@Ry-
+Ek5+c+X(sW<rjEJUK;
+a-=^T6[ k EϧNt4W<cMl,;;R);l'HϿp`B 0\l@>#P0
+
+5+m(U&KT:KIQb ~ق(@ߌ"%vaw~P"3ÒpYj}0a<
+r˟´?!34wKA%K<V*JGpVWJE,fVnQY,sxoHV[duuXa:{wjaxGcZ0b%rX!>f<v||$Y!"XQ
+NAjPz:
+ ̰w'Wѡ*:{Vz~ n=*̹J&qaAElpr%pw\
+ iD*[kDOVI0Vio*!apQ::UßUڡ2dlD
+[ӷ{[E&B47:U E(N{HVO?[4Sdj:jQU -oK /cT'%C*-%}3
+]uy$ [̭ڢޜU- ]cëlẁW^|ZfWIb xBk]ſO*}0og,|Jh3j 0uuR쪥dv]e?h]Es!Z(}]2
+dOMRdvV3ŕfKo/*9pv|]ſ*5^;Ut4Z*9vu%N誐\e8X>iER"W1 TxaHw"W-1:hz-Txr:QP U<΂20,PrZm8 xmBW!vS=arPt&tm
+%3 WVj ]EGWQ@WJ"iMv:]*q2
+QW)U|\R*0B(Q\>U[H-:Gn'TVI !*N>UZNDB$YRU<X]UJS2ǚGU?Xyl*Lx{V-1Uv|p5,n
-6Fm!(<2
-oDB!³%eB EI,(<Cg 5D0V2
-o³(<Gg_#X[Px[(<S3
-*Ԃ³p/
-N“RPx-PPxӕ,(<ŊJB-q,fQx ;>(<}3
-όBF-uL)UQx+(<*P
+VJt;J+׺6J}jK* bcUA[
+Df\&Xi;êVĀU欪UWN{)P'ToƁ//N0'saJ*෥JanM ,)g;U̓^)^̓oxGĪ9V n@؎FJ>h<vԪjv/혆nXiTH]5!I~3--tIU>.~P5J@ND)!X5ʗVX +:aΰjÕ Vh, @m9G<- c*aR^+euV"9v9K=q(;%56\)Qe(p&&Ώ_6~yVY?{OUmy~x6~akky,E VH%#(~.YXC~'[j+g[-U-'5abWE> @_ Pm.:E {%Fw4+TΩGW~HeXf_->zqJ._IڗͥCV5A~
+ꤾ_er 
+H!8^SӦU&ME):7 k=ۡbEi$Z]ڀISpb&sy$ZmR^IY4KPJyTR46$lb٦VSaM̫ЫwQ /5'CBV?D/3EU8,CWa(.W"k<-Q5գ^f۵JsΣy57D5Rx-$DVY'~TC^㛙)p&\Q(
+M["sW^[@-K#pb
+jRZ҇m3,Îk&W g,kA"Rl285,]uc6/4]n}"
+3g>'LŝO!ˉnx`tĩU/<vNnECo+Sizxx6mU6fΡ )p+vJTC. n8=&݅%0ڪ6ڣ$[MFQFW!c:czg!ӭf tob>6U>jxiSRlgŎ?hu;+}MPYVLM#$O_S=Z`Hӗӛ{K8mq{_*)Ɋ}^ Ov}P1`T*@TOڪsaWbMO݊}ӊqB=r8e!F_24 _`$_H2:&̶R
+_,
+~ۙ
+؍\QD]ٖz)y$تX ޠsS34E,׼:m)=V j>ca=|Ml.4Ob%*weuyGmBDpF6Sf(3՗JZW<%[+\E)ɓ_S|Wӯ0Krul¸8*z/ l Or:=諭;c; kؤa BlJyۙIn
+5n)K)N+7JYNd%Ib37#`PɭG^ O=j 6)lUe2:8}ǧʍo'(fgԢMXu`I,*6a̰6z*a8YuM16cBK.Q7Urn|S!LMvK)
+x
+A J%ՖUi uJunmC-u& ȏB˻p"Ļǧ <˴nAS6Ouį+eLn
+~<P7a
+M癔ܘ*&Ƕxm<҆d
+mwF7LCpX>3AYN!<vt-lf+ن[jN R8SK8 K>⇾W9[w,ѡ&KFNI=Ȓ];S7 qJ
+7
+C՛
+Wadb# R_ULA8e4uEaW=EPNUϡ '@9߶Bʣ)祜熊m޿=6mK#j}6%b08q{FS.;F*+2 28T8Np)TH!mAIVfb3YWqPgK롨yw1і+>(y=R&[?|.
+F'
+xJ0<쵂bM TzfqtC*WT 8bC{;5xM"Z]ύ;1%~G0KƟ%X xv^ bR\DDt'"]ZR$@@?UO ʁ(b1>jɀ]kl~I{<UϬ@JZڐbu;O3{
+nPUb$B_L2tfŤڪ_M&ᙥ:|={HI߂@mBhQG.b{~7o+6'a`rAAErj U:NT߱80f mԏ1g7Q<!HNK&*{k_*CAQeFg/Wzu=a "Q'LHc(L4k_k4jf" v4Sٖ^G&6kM[rn8E^P8R1A5[% f~oEK[Izl΅KaSZFX&cZv:4 HQ\
+XI, 7>Ɠi5[[՜%ӆe0? eaȤ6&eZS+%@x1 E@j^/ؿmQ_^`KD vWx|gF61<mEZDOmpF<9#MժK!SQZI8lxdaZ}c !2@xdnɘP#΍##\>wZ!}Y).,^]e;hVhdPN{,\6X}ad
+W:~$贺mi02Ght7Н {?6AGꂴfz`׍9;DiZD ]@NJKsu݇s}U[P2=aw%HZUa&uDw%7,=2 @Q]ሊDRɝՂ;=bLҌ;6$a:]-0,u!ϋA}Q<J*<>8$ Z0f"9R
+LKnbđ xm
+
+phPٙ & x[?ٵ產r)EpL@HzC*4
+L j
+*W,oC*IQIF ޴gԤQ_
+8J6kHa=pjb( 8DXOS 1ƙ*vy)/U;u =7\mɄq8#\v9ȓ+c&f}ioA#[H6iB[);XynK\#rz>jgIAm| ;ⓔSRC{ ]Ӕdד|k69YvsEdZ[]ƀd2uPcS:s<е7
+WmGR)ʸA|F RȔJYH35eT-t٠i:1nDken3iS]n`˼^9%0 ʓӺo&E9kdq""mRMMRPSZJliuWj,CbHy(* L\is5Z۬{Uz$OZ̮)QdY)Oq*_ m:`:ͤ҉B.9Lb禮
+EթR`=9|\{
+UUEWZksצ6DpL3A8V~cZ ֌򜑇ГHx0pBIU778H;더19q5P)V"O\5TV9T,RAJ&J<i b"mW9YϹFԠڄZ|%[ZYYm͞[uʩ(Ү i6L;^yeZh[ ׌ L\c q1h  'cNC;ylY6TaG^ bh:N8 /) Rѓ: n fْ-slx4ZhT2WխQ5?5ctŸ$^݆%¦,u9*`;'nPuC+, *eZy'Ma߼,sl Sm ^o[PgͲTPP( 6bg(OΙe
+Z|x}u^G pSNsRrP*֙M*+v8`Nb;)>bini- խ+wbSZj Tj^[m `ۣtRR
+K0Pu5Ԑ1Vx5TOyբ5y <"y>RX#OjϮYjiv*|hbw<:fѓ,X pU17䶐êh@E΃=lO^%?٤qx vZa@ⰙzqĦ?=8lzέ ֡ާ7#^/r֬Y6mzK=97b0xϸ1kŝ0;yJ*սns*uH֍G U
+^DOQ cS4Mh'U-"!T8hHNRYaBy
+pp)JH2Z [ tXP%1ѼGMxN,L^;HPpACQzm`_(-K%Zsl7 da}6uڗj6ѡR@\@* $친Nqt"3JiQl/sZ gWIX́vmǬ GFV{3l J!U}CeR =c%N_4{щ%lVEmBJ#].˲::B|Ւк4ŪPU/7J99\5]m.1f;s:V|+mĶ!>ڧPuOpAM,Q(uY0BQo'*<8I!+ŰAmĎTM<讈v'l9w]v/ck0 M(jnSW̘ mi]vzq/ݲV0)א9,wJ5f v49-oOm4 f64 Zw!9UOרpzcm-yX$;AY5J(귺}>@/k!NÊ 6ޤXSC!8/yo$?-mM8΁bݙzf4]ꬥ^zm=׬Pr0ߤD=W
+MwPAo
+Osx
+"r{Noy<')Zd!Q E6o3 tHL|9qYG1(q0amJ
+M/15%=R8i
+N'Z[wCsx<r鶷^(8*ɑIq˺ˬulNYVSUHB'W
+"&H *BzNl%x"iCUMfi-(p
+Z{6;Pܗ X#@ Z'\4~KBIJhjŃxxD5DFg_lvG$^,0IE>ZJ3o\ ]*Qm/"ϱ-R&=VpDP8U䥬L{-H<B5eZ<G 
+ņS1;4@Y|xh*Y,i*V`ٿy.UD
+S5'+nd1yn[iMHp2ve[UzOJGx
+4vap4]W
+qg fGCBL)iM݅wV%~xRYHΛD̪ѓS0 bK_9aMJe++D{UͶf9p
+ml`ΪsS[-XKv/% q*dVz'epz+DLzk+m[qa촶\[}==<zjzgł
+sf6[NY)lt<S'}BÛn:.m6n,2FMIi1Չ>X9柼0s|*-mkvٯwW)l.uzt0;܅͚rq@v(vmSar7U$t#9-^BP~]Y^V<Zכ8WD.>li1; a
+T8D=I)9ϊJTTx
+POviYyadgu c;R>NU&k3ْvnۚ1*%5P^[P_-U̲B'eS/:LKe.t Or QRڸ)usPVے`$ڼ >C¡M7; (:U8.__sXLe0 !m2u&Ȋ)Q)\H*$NRsIRB_`UepP Z{,q Nqdޞ%XK.-%r#ʋ Dec"\MصKR6Csq<EspM,ts8u[+ANct'aH{(>Q*D.,VɅս6I7[l-_`/ EXA[j:1hj kx0ZpQvŌ{ΨS1m"Py,z*@U)B ̈́Jؙy#j1<k;:.}2Jj{.
+^ve// (\Z󼲜Yi4{{+ħuC{m~_(Y%Zk3zX/U>|><kGfz碬X\ 7GE9ꕟzQ_G1@QArk?MSټBo0\J߀nF2X_+t% 2'2 5N Ǭ2Syiٽ.4q8$뤁ms[ +dmu9" r9Seaʛ ښ1ʡ!9EڛEЩwsF1GUy_Hj= ySXn5l^րJNaui_oQ
+//^061kaUfk}߂q (X&13"yxTQUxx^H7ZxxZ~yx
+1WJ1ǧeóE/O {Xyxz<<f(r F~yx}":ϐ2ÓZyx, yxt6PΙxx|셇Ån4Ir^{^yx[:Oe'Acyx^{B|qxR+OJI1FS*8<V{j+O`fͯ,/),ՈxT"ndxM
+qV"j&!"^+9OJ/x*(@Fx9Hz{xw =}ߘ7zkRq
+D~
+l @<I Sh-@<c?@<4Zxվ@<'~?@<Rx( ^'Ux*;Rt
+/O
+S%R ēZxA Q jq^ ~) O3cⱱ/@<g xǟW }m%@<!*O /O
+ē_N q~
+ă]xII@F
+ēTɒ ß
+cyxx_ƋdcWxxFUV@QYxx<<"/[ӜXyxP~yxgJãȠP
+ãDϖ G1^;Xxx><<
+ϔLA@Ѱ헇MMuNj:ΙRyxZTK<<[uZ1~yxR wråSڗZxxyx|_Pxx*)<%dי2_&F!%ߙZ𴁫<<}/OT<$Vף8xxT/dPPP><<tg<=PgUxx[<B*<<cˇg3-<dVgâãԸ+<e]vq懇!(R.<dVw|yxLÅ
+ãz7>0<*3 q 20<=O76p N'P>0<C)0<)
+ 0<+Vi`0<x̓"}QEaxlj1_ax[q!>I9 X+a C% 0<͜ gY0'=^.0<: lWi7T`xzfO =0</Whx*+4<=^_)pWixbp_v#qhx|ixaB#*4PASC#QhxR* 嗆G`$}/ L*4<"߅G1xixFy4<LS:K,\2 OJ#" 4< JՇoRix
+  5
+ :
+ ϊd ϮVIE+ O%x,! /* ޯBãCC-4< 6t I3 G:Lã$hђԅ 8 O/ xPZ]hx(z{
+ OE/Ƞᡨ4!Shx* O /B3LmᇆI)\ixd^[◆GJeLSEN3_B3LSKãG'4<>4<XixJ#Rb-4<}JCz-hx/ }~4<XתNׁ44 ƀQDã^kL#Yhxŝhx_BSH(P4<WixZI}ixy^?<6 _g@ ãX`x(Zg-0< aIy4Z0<P?0<\G1 OGua1?0<TƍI, `xRhVZ0<S~ax݂7 GK ã)ڄ5X0<U^P:4~ax։axtbJ0^2`x=Li Ok/ BcS`x>0<Gίl 0<T0߫hQ/`xǺP>0<tjI4WGZ`xR
+ Oo/ OK
+ÓRaxZ|axf9 Õ[~`xl
+ /%)j/ o;0<w9_“Xx病h|eB*,<~YxR+ o
+  c3ӻaZXxᕅه'L,rbx'w+Xxt/ [ug O@e]Xx!?,<:ף#h6K,<FӛZYx|Xx'$|Xx4Ce)HWYxiU GwTa)eaYXx9Xx7~YxJ1VR
+ o,Ofsh),<%x,<,,<Z3 oŻ O_s,<G£%* O/ o0TdufъaYg[fI,<)_£EP~Yxd3 rnG/ O?ȩg2ނ|/> ,<SYx\ Oyeўa)c}LwY"/›.(<jAᑾB1((< _%HK4QxT^/
+bcQx_dZt(<fe(<ڰ?(<%*
+XEA}f
+R
+R£p!>(Ax(<=GP
-r/
-+ PPxC-(<|
+ώEy'-(1ߍ£֥4,Qx*
+OCEᩆ:TSQx N/D!QRHxR$<BC)$<>뗄'A%!Mb$<x,ql*
+^RymAƒ `.ck0M [Hxx~Hx |Ix37UYHxR$c&#6NB&%5kue8(
+ V59[<@x[)c3B SAxP)Axb&X<"PY
+K;IYjqPPOJ <=M> c4 £C- <)@&|? <3 <OjL- <e3O
+ <GZ@x(G!GTBU@xd|> <E
+O7?CJS1Dq\IP HjIo <+O/£XP OJIh/ <67Y m7Sam%U X'moQǘAx& <~T+Zw2P
+OfuWư <
+³Z #zW@x&~AxITр l~AxD ^!f' #AxgG 2e:(y[SZᙻJ> 1ALQ;MMqb <H <
+X)_Ax}q;3DE)~AxR@x_v0RAxK) <S3y1 £8)#p( < OK/o[7zgo GUMSYf. dVǷ. <.M <> <C < _@I <)_ ³Fs SCjT^R*£T[@x8@V2o PAxz <RC-L <ەe"+G?Q@xxwR~AxS
+ںYAx40BY_m^2KJm@x
+>G\|@xfJُ), <" j:1 Á( <sU <T <"mC*o+e$uJ ̓)y* <? < . <rer
+SgjᙒAxd <i £|x]
+NIXd
+cwϱB,}@xƈ£GWJI $GQeT@xcc'p. <Q_+ <0) '0/ <"> <? <
+cT@x(>.@xml _Ax3Fm% <-F*LJ_"gns@xK [7V~"ْ2X$B|@x
+³ziauZ o+
+J-q,fAx ;> <}3 B-uL)UAx + <*P
+n/+ P@xN>g_Y2AxK( <S3:#jYjP@xZ@x9 dB_+ <"4+;ߎbO!J%9xT#_8xR*C<>pVMY`Q8xE^R/+|;E<J
+Oqe—2Uf-p<
+&Sూ֔g/oÙp|8x+2rhpL
+OASҗGSU) Z8xK%R9xt}8x4[ex}Cf@p|[LG0-M?o;(l;-f4}(:v/6氹vj8ط;Fk1}l+\}y[M>MX
+Flis2lMdC]\JVşwKNߺ.yğkşk%y97x7~lfm͟rw6:+aא
+}kԾDb`Zm-Xch9pp\CVrRm2ݑi|[ Oj6:s0W>r(T$FaZ
+]C _= 1Ϡ`zLʩolq=+'o{6VW%#bPc4}OUuϻro!Y,G~YKZ?+ǿYdqa9_)c{'],gM&'}r[I`-XNU
+J%rv2]gڧ \bHLi~1f>Rl,Gmn
+a1FD'c$9ͨVpOiZ 9 i< ď[b㨒"vL2<NOkS:<'[qR5xyK=ۑrzY5+8e9_5<vv\[V<h
+}Vv\cS|'ǵvy.PDqdp״q[ZT<n Ā50T)4㚶dL繫}r[ \#o6ieT6q;k͐KJbm5rpb{Z{*CrR8. c( s\!*;3
+:rX/o =&㔯W"g1䶒r[ m6vڍff)(s^K2[q(~yseU79Jm rMYI)Z rRBqKշU&ȡ<f%ę7L-\S*Z- r[DN/dpјQ!r6VPӜ!ےT35(N=U%ҏ8>mq(pmLrsf8m~ \L5Ȥ?n+5yLgq^|K,8%녈Q
+p5Bo[. 
+7Nx*PDţS㶐qK f2'8*8[{6/NՕqo\u$(1ӌq6+k wi}Mys&y-lNG~SWk'Æ%&Otp"†[h}ᴂϵp[H`%Nj9n Kv܌ʄm%cX8 ÓQ7p
+څIX8ݬ p
+6fa{RAcl^T8T8.߽p\خ{;T`phWm ΅JmչpVXsp2fkXOpTOpZgµaŅ8EN
+ٵ…kjt.FTTw..?/ d`fV~*۩sס~2yYpz$\8MS-.\þ8+IoyZZ`8 x |
+4${"ܔ d0& GOQFtVB#S8d8+"|+m޾۵p;+pp^7 GA$~Yp8kp"|# 1 ^aecV,A6yX8|չԁ3u f/imSᰧNS4oT*B@
+5AH2CȔjp{TP8
+NQշSP8HJ(TPD
+G <T@@$p(*>.T8ǵpVTT8rud*/TPTGP8'f12T;1,p\ &LFj7peəI@}uU2"[Ҏ3vYh!LH,3Niŧq14cj14YL8$0ORa1s͂ hy2}|,Qa +Epi 3 Vd(0'!t[PϿȚV„}x [h'i$7Nu,~+ Nc"|1
+ö)7 A DTS9fv_GQ=~pX
+Ch6ߤ GuL*W
+9}}oP΢`gQoJwC;^G~ӌ;.sofTSWTR& 2C}jX7U<ooMf ޛJoن%2o&{8K
+͠ⶖc eT'9l
+K/&lm˺m;7m9C*ufFavƷȶszIBNJmNRZ,3Ĝ@o<бZ۩
+V(
+fӒHprw,R&rk7xvEdge846
+='HԦ2+kwؽhDXZ2tۨny+>1j.[f YU5r"b3c,6sndbݕpXw,6-l,6n{e)XlLTkFvƬVUb3sUi6Xf/g,6LO5~`Q[YllS [8,FnXdZ%Xl=ԲcShS06Z
+l06#9]F346L9-%̌`9E5F5C'ռ_ins(6'6]MD>ņr;m_%tFc Ʀ8jƦ(kc345DZRMLQXl
+65ilzҭb(hl{46i=<6놣4ٺ9oA DZ D6-lmD66ߗ2ЫGTJ{4cl*7ddk[X;Q ݛٔ0\t X!iMlAdӦ$ Z@sLit{.& UalԪsPo^A_2b#ڟpvCkv'jJڝĆQ ;B&u'$6u
+N 616 3G2-n*6{t o N Ʊ`ؖR~ͼ 7v
+aP %cư! HaJæGb#Ý|5SÆyV,Fâ pƚx {(= 1a+FGorؘrqV4}Æqb\& fp^jUDVa ۆP-p)6nئ.8l4_s5#9lÆr8bNg3M"LNaCHJ$Maa_Otd[#GC8󦀰IiZ[4߽ lQ(lR,.)l
+X9(l •j*LacgZ[6EFTrFڤb6)<t&ŋ2&vAac/ZPP6TY6=83
+#:NAaSp&7)dx
+;JFV乏`CmX
+ ak>V!lpK e8Ѝæn98l
+Z(8l򗜷i ې7 lG8p`;NoH #_#vòVc:&Fʿ]?{[Q\k$ǘ&a)bxǮIFR(5z?0$΃԰?Fh&)"LJTCJ/k!"I*.׌[-}yt$Ů ਵZ{Nt6iw\eMcwY;Z4#\5
+hqOi۳LQ8 -!ӦhÍ&.MZleZ>Ѥ& &esf!BAJ㛵{12obҦ)iS H|{\={=(i2e"̈4i D
+LGjAG2>
+: /f:G<9]x8S%'GkTx 8Zck=b5EIV1{
+ y0O Hl<R<|q<GaS5@
+6i FrC Kʈ;
+feޡc @笛2 H@Ҥb i!@;ӛUCJnģAsx4L}ݒGk[M
+{MKo2Mk`WDFS.
+M-MSG=C{ɸqh?S rZ>7M*Ja7wR1NQЪ>rZǏCcoPHy-xP|VV|CmA%\'=~
+ F@ms1AP*V舰0۬w({ 6P֕;gBYbA}K^(5yP2n>ԚyXsVj8T0ǩ5)KI<fP TSq8QM]+b
+Vin3g&{5j"K~=cf!0jEw;eXJ!޹RJR
+KRϯmJ0,wJvZfm*OOf /nY5Mۺ²؝8ccrz
+ RE1F{/&5T6YltAIkb9dn!F'[ M̹/ *o;[UŠ vf/ێ!Xliӆ™7)sH4 TM2nk(t^0Ln؇`Rߘ6jDlt(L6~*~UUO ߙɓ]HwXAa`GmOr*
+(T:2m:L}AF~cP񸫯fnFjr69L'5 A$Š|ۇEh|*⩿R
+8eъA|v  {?SaJ6}a٤yuEwGu6R:I_T69Sf$+i)teh^|ˣ7i^PF|-4Ch4p̭-&hq(WQ[咻HgTpg;]f.c"ο2p0-e߽Uwvb@eiYc8hjJUyo3:zߗlڒz[Znqۡ5S~68EnnR%S5W҃"
+evd5dHZ'ڈ8ŷNTlo=~(f?IGIymraGm>"ZԵ{K-c(:]밮"%m`J2vېRuJD  4|[0mArBPqr3GDaL3"mRY8Wmt#FӬFYăRySdbEd%!mo;\^Fg.Nͳ;Yw2nuU' HtbW=Rty`h}|~ dGg:: 1-M<zV$ט`7߆jC++΃%.89rm-EӇn)@~>*PS^3+QBzyiUX#@+E*(ZtG_*S!h [|M%meS?ȦN0s2jrfR[!;wVaK]]R( u6, a*WǢ鸡KNul
+S8ee"b{>IQt=첦sM̱+{ά[Cߨ| 37[)mvsd2`o-U@m|fP1(TΞ8E8oTq2?|SDRm,rx+"R&M* TMR<S6ѾeL"&=+Xr=V$ γ֢X4}1}))/yB=/`,'Oulmd-޵%[pBD]XdxR_6ʙt6 RV5t;|U!EV3] j$Բ|Cߚv:gI&E/^uIamܦہaf'O-鄥h7,1Ov\X,^NYƙ4՛N|}ShyåzKK~SmY s̒#׶O5M3>z^[Z-UhQYܛGT!_TP ,\chH^ ۃ#h¡p'c7N-TVӺ'%SՒ /eZW];Mަ"gB藶gc-b\``|kID%0&JT߱]$P=fZ-TIhs6DNo6I-SF(?JVf+E)*2!n1ڿ*FiCcΕVMػ  ٶ\3yvډH)*bF^[QHei% SmPl 4*ŢaMWHOJBi3v5TQ7GS:mRxX*n:
+KD_<L5=@<|,ov&6UbygAvJDxW+l$OR3zØU khS#ײ+$UhB1ހ_SZ?Nc)&U&vK)Ʊy P
+Nxҁy5;Hf+!n)x,9NOQfjLo
+< # ,>:)Sb'
+m31l }F<ئb7e7FU:`RB-u?HctMf7h[CUaͪ•(ag,@L \`!Yl)䂢tʲZS'iTc`da:]FPqzJqJr`y7nPx%3nj6=$VblJqZZAMM/?{0n)hzmdۤDTF_Dj`Ճ6nRo~8[0ZG᧔BJdAmyaN| o<iֶ;vo;,9TH]B,-P@O5:˶,Ec-'1(׀,n^12:28){?7S0)"tlR&7)
+H峰nl~e~UCf#ʁX.9DBUq_}-eC8i*vo?q8U<Nn?ËgN$%FEATi6 ppt6M}h$P,4:⁍;SQmuXE$1#u} 6c΢wK5[Emܮ-ՓұeE3Z Q*ݝzc])Oq?bK5h;$C?7BU:|_ǝ^^BIq?uk?K_ϲ1a8|}*XORenS^}n[T:
+mmMe#6I  xܟLC9o$ ͉ Uxj%gAK
+sJ{ &!9L{N[7z({E YvJ5Bp!RXA*+h g4*`~|PHd̶c$):z72a_=zNV2MqN?![WK0'M*iAʣp%a P aP7;zB/_(`!ѡW(/D6i_g">q(bj-a ||Ux~<T @JR̺I^<>ָ|%y_}ql
+Q]?V8q:H
+K>ۮ%5җ@$I>Q9-N<d-a݆1Ś&P*L7o- Shkٙ [Ӥ ,\ss RJN~.r1'wFۢ'P3wȎŀʨg;%E)PΫ̐
+`BZ4qG3;<ry,C>p&"5_L6Mr[l8jD%S$uկѸjeޙcgQ:TU5nW&uz l8}6]4i[D ^R;g}/Ȳ,ŠX.4cAN.Y%$s|e]lu+ GP G.<2FZyV_xA6D
+>PDLN+qyeYLg+> SqU
+3Jo/<CRJNĨHz/+z% <FXA,4V){c;%~
+_1%Tm =P'03AM2,E;eUDltCQHt-YV9O,Udž6@PA9}0tq{kAؑRLvI=Tq'3>YT갎W}Ǥ9B6aOPOo1z͊ Gx<-ZSImYEbDaxB4-ҷX
+meY
+ٚ>zM9C8eeDߑTZua3$TYխ$$hhݒMi:3vDs؆9SvC$(,í[
+RNIa9|<֌k"&ǭ<)'"HU4jF$I(g6@-\vfQr䮎 7T0{F?Wtpj~KebT
+4+zk؟5DrqJb6vjjFd/v3)\͉{J`Ձ?K/E㶌58:HP?BlG'GV,kiH %xtRb\t-5!oFq)Yaһq2{&-M=f@:27T%xj#j]@A6d;y%hvZ4@GEEep:%5Bkiݎn;ZGĞR]ő,\L_|nP1RGH }#2L|ҡʡ@ rhԕb Ff/"vF&>1mmJ&: \`h? Pz!-To
+ L[Q6<H 㣾HfL%O/RKb&.;^:zl~;7&mm2+챯+R0Pu?E )pGuZN8 (}s 62v0Ō5kg_>&dY^v ).wT" &uwyh g
+8_2HUJ )NiFg;$[j@Q u$3<k:QNH?[ N^$+Gǧ%&%\, 8LefTT'sc\G| G6Ԩ}5xtf
+l A*gjԸlQN-:T+}GۭWr2P>U
+Wnm5̗Q}1ݫaɤC= Dw5\6|"h<NcL#
+ql+~>3Ç3Xv@d)YC'UE&Z#P3
+$vᚅyXn+#z\C}tOI*Hӄ-۪4>; KI#o 9i=*仚e)'n gTBcf\Cu" $^/}M.~G}xL'YpP x3
+
+'ebDݬY2 %+ %t«o *v{'Nw KGЗj+ ͺ˓{Kw&N`s1( U}\:,*E
+. 5eaGu(`xX
+
+to>aZ><њs[)_R%4GvR^:c{υ#Ag:U\YF!{4 \OTJHnQ, S:|ao챻V~K)gM%5w%)DF97ϥ*1yY0mp|Jj{4CN P0'Zy-E2%bkօ?4ʖ",fU%ͣqq-+s}2`ËST {r+TR8.{NMtGL\Hvd&b%5dLBRY~97>3Hnܖu/ž{JBnXwRżZ*iN ,r*a-+Ŗnv+INJ<0C11Mnf^|zlS
+BbchvX+>{by׫9Ǩhb?ANj?TYclںnl NS_߽n/`?)hyR\(ᮼT?(Vc9D'B\BaAr>KaE,YllݷyjgXIX B& {G\+8b˒~;Ɗ-{fh<ޜ;"Hȗ&EjDڡq;q|7=2LUs$n*!qxzhw46lTDZ$l8+;r+
+v3I=u)/R(a)HG y '=qqnϻe6wxvV2@M y/pU4;<wX?t+;^ƿ_3=
+t=ljf'wY)HoDVqw=!'[3b"shاSDŽ T ~3o:_ I 'U` ۇb{njBߗWàIv2L'=<z{5u Bc-Pvz*ʵmmck徦~JIIbPA3Ծ Rl5 G\8lj[8ucPt
+G VVXo+HP׳*!ڼlI-u7Gܣ\Ǹ|d1O@y7wzYIS2vC=Fy)iqp_%}m 3{ 2s򧙐4zw#vJ"XK.M%r#kJ%[JTz_ػz|)6ϼo.{rnqOmh0|Ը }r08D+N)҄,r><fx؇}|(J]]R#:5:Uuêw'~9S
+Y-W:e)Ҿv*LdD'R&UsT<9p!`NvTiwғ|$<ޓpB_RW pD/8Մ<? AZַ~1/! z,s ی|ZnT;
+CVLܬqKV-Z~T DjHR k޹(+O}܅dr3?/Q_˥f'$~%(\ڏ[zp*-Uw7ڭIؙtf% k$+o<5'N{c`I^Z46SQs:+p΄B4i Mn +Qs5' Z,^Bh=X,G 3e8=q7s9On@rfvv⴯(V>JI}A檲9' /%U~z7+\ GUw?˿cֿdD?S>[I@NwuxAV ^W} uR J12OBc'Bu GYxbMxbS :xBg ^' сx
+ ă=I@<X@< @3
+
+O*6!Rx]vD<l&OJ%⡼x] OJ(&u
+o) Nxj{9*o?ØP
+o?V"Bē&U"Bijg囈'V! <8XIߕ&8cl狈Lě$d"OA%iWx󟅈 B@H%1"}0>*D<)ǜ",D<)g|+OAJh&1D"ND[j 
+[J-5x;[c} @<|U$\xj/~ Q2:x
+oo
+bV ē}V_@.׫3@v^ēPx^@<gJq&Ѡ Z ^4[x
+^xT ^xII@G OOK}/ 3 OjI@N+7OjI(@<x:}ׯ y:ēPx
+n^%%@㛼x'񤼁xٿx(I@<}
+wTg q9(@d Rg!~R@<g3-@d R xrxR+OJi^xR+
+@ ^
+S ēZx(Ǚ/ juʊ2OVx]ěJ-5x:x
+ĽxU " xV ^B
+ / @<ק~E񖒁xIu kx Oa *@< dA)Ϫ{񒲀xI4 ^'wx]V 7O6&,9 o*
+Sh S tM_iZx2%_ZxxK@:Ϫw
+ OHhx–TN9wix6Tfi9e&ix
+ oXI4<)J/4<* O
+ OCPhx;}ޙ &Bq⋆ELW/h}I=#XhxRY*֠& ע9X/c
+ O7 OJ r4< /QThxP E6C/1g
+Q*w* ^?7O$)J8 @~Oo^jqxE  8>aہS #QpxR*'P.*8<ݮ#uj2cucqx:kToB#qxgqx]ԂS, OOXZו~I*SoqxPpx^qxv2S8<౪{%뮎C E+8<^oQ8<) >C)8۵Ag^v,^o^+WpxP.n
+B9oԊ8@gOO
+ȉC4&iʪ8<%^8<يSE7OyS:/O8<cqx2OVumy6W#XpxzUoM:liUĊUqxj_8<Vqx(/^ó3Oz
+AVױ0<"^0N. tf4ֿ`xjm0<,ax;p ә l ە,0<}
+S o ϔ +'NjI0<)o>o w ã
+ O GI.0<o * OG:ó}U`x;Ho7=G 2 0<-͜axƭ0N7 ã /%3 Ǚ/3GB)0<GMGdgN0v0<}
+YeoVG{DHG~CToĒÃT`x`xږax
+ { OjѣU`x(0<gI ãI]`xz
+ O) oR' O0<}7 oBO|}0s,<bX 'jam{.Tz£)TZYx,<U=U,SRtțpeiUYx|TXYxT}/YGQ_2F#>bQPXx|Cxv Sӛ'P
+ ώfq“RYxR,}<aaiX~vJ3 OCe;jUA#L e((<j^
-7(<}£e>PPxfuG³.Ԍ{-(<s(<4(<WPxD>iVvVB╄7LK)$<>C#_HxR* CC$<ުVMY!`QHxE^R /N+;E$<J
- OqJ“e—!2 Uf!-$<
- &S&᱂֔g/ oAÙ|HxJ£+C2hL
- OAJSҗGSU!) ZHxK$% RIxt}Hx4[ex%}Cf@p[L0-M?p;(t;-f},9:v/F汹vj8ع;Nk̀1}lk\y[U>mX@;VmﲰvBNo"Nϋ:q+N[`gw#IIf`vTYv(;ma)L$;m ;~6NcNL:7n|z|:Ywg'!#$ O.K[׉^77NV3)]Gi$ rVBi얻
- \ؑ!ynEɧrio=_hQ*⹣XV-Í,'4r`!5'X8 дoL9Q^ )2 [QN={^ONQ(pro ML49ڰG}M*KTHeDt2HNKy͑ӌzi95L*r
-|\˗]*U#<Nۋ_Uhǵ{o5g56qRX/|\k2>uMt|v|oR5>UxK-!
-E29c"z ACykSPXegT[AEN_a :\m"u2J,V2EnAOۦiXlfl?q|Vm ◧W[%ydV #\nUbL#'!T9)ǵj}Z5kR}phVM񖩅kJPs9EKFn+#L5Z3*FΦ٪BnS䖰!r[rq@i4SqmUԿ_6Atͼ\&ȡYF=l '~29}5td҂ Lj\~pG
-@%RD(
-3ሗpj)*N! {ƒ d_pdJWXX8=*Q ,Iy ۩r,
-N*U( GM؅̀EDQJ*pVjoX8.X8} + .:JC2N
-cpS8J@v}s*\{#T8w۲L`$z?0B+AYir?
-g=&$p wvSpopԉ,*SiLP9gAk4={>N(0"mxK5g+2Nk]`Y-,Z__dNIE>džQ134?SpG'
-"~;wmN ]? hSp2չ=i?L7I;+N
-۷ [i?ae[AlY !R2Q.xh~m& #,c[[
- fKYT^$8na7OVrl ҝ 7! 0o
-r^i) Bҋ vw۲.n-mkضpڦQⶀ-3^̶RA۬S+Ll;g5tl<v*k寊l {au "XYm28ݷ5QX&x9چ8MS6,JD:ZҦѦnZrc<DaM/~gCfEgx\ gSs(fӒHrw0R&vo7xdgDe@<6 fΨsb4qu[%>"hl pDc\bCRȟ1VcOvYz.MVT#݀ jPׯfdL q
-)5;:#\cwMcRՙMzT\4|R-4u6gZ
- piPMB#`l k,&+Ŋ2YD/3kJ\yC_8z UIo06 ,0f= c#K<M27M<ɣJa5 s1><Sb3l!(뗋5HwKM9Ŧ ^J 8M3Q7 14`l^ILؤتyQql0  ؤ\86PQH)$2H)`l(8I^alʥ=]F5@+6Kx4 c\$>7Mg^0F].M 7[&dTGtdTw*S`l |6MgzC?M`=#$[S Oޑ6rJެ?a8mLV[06T.cr}l3g[O}ڈuIgeMƷ0=x>F#M7G{WiiqˤdJ(ءtckQE`l͚SXl<mp5MbP gM߆,6)q"بxL7׆ħFrTMHuH rs3͢D[-ilʛ<i46;EcĦ{_EccETشO،{Jc3656)cl[Z4֨*46ʿwf%hl8hc8=^PSp G7oI_.*(L&&hlqgIq&3hlƦ/bkuVn46Rzj M)+plqlr+ >6,ZJ46{-+N463uQ@y3^ cjqbQD3`l(5qYKW?plvPkpl݃qFAR5
-@ȦH
-
-Ma:ʦMO9FMc÷Ny
-P %ب!Pb/MR&]5z\-w`a$6
- HlSּ }?Eb#fg"5>2wL؊[$6w^F&b $6Tؤ ۫Y-!C)<>,b;0*݂n9Ħ k֯IlԚ$6TPAbC9f1óĦ &Q 1l$pfw%aEV`ؾwͧEy:jE2~6yS`ؤ4
-Y6c& g4g[p'L $sXkk\M%jo-*&nqؤ)3q(bgk6E ܕF@
-ak4}bt;*Mo9Hl
-Z(Hl߱ߜ4 m;1lgt
-M
- 1l4w+h ةZˇrp3g4y5R^5A_p2k^;ǘ(a")bxIF+MkN'Bj&kS5yHr-B\C$I5@aƭ=GgMR0
-[{_/ΰwZ#x^Ai, l`.k-!k.-Ě/<Mt|5}@նj[ Dacpp'_ƛ>DmWwdǃ x 뱙j[hЩjy"3 T#=B=Q4PM||
-4`/#1HOBd5"MW@- @Y6 ~hz'ҤZ3
-<ƉsFZ[yHCnKNIk M0 &jچ!̐4}IktxM?ᙒ=pY@Ҷ!i[ H)i'fɐ4 QwA[F$3Zs!i HPgIk*4CҤZ눀I^IC 5!iRۜSPh,yk[i%NIU%H m!H>kZCUiL\_Ʉyi[Ȉ#E]4^uSi<rZljLz i
-R0XiRH4 VӼi i=g ۢ鋑& PabQ@iK(4SgK3bjVirj`_틐F5YόH,=E'`+Hq6:"$}FkFZHHK3p FAn!%iՈvHCqFZi|7w"meFt,l%![I:"RϬ9mVlQ*98F@uSFȈ4JШ H+MH Җ4Xzެ*R:%iXg[; fʛ Yj
-d+/TrRw(_rmSfK혵kR@kKy{BmWT I1+0]qLzL.a/ܑoyr2ڻx;HԔ?lj%I; ]̩0s`Pu 0:;_a0~ 3 6Tk8[>aE[Q&!k>Ee qP8!)ymu+Ic>B Ɛ^SfDGAeVq;䫐OB}aH!Mk1Аڞ~e1e
-,Tj2m:L RAul,hޯx 6_뫇*ǡ,'-x9uM? /tkm'5 o5H/3 h|.qVl)2]hE! 9& z'7Fϭ/SRW`6hQhk/3eH?gFj&-o\p[ozf4km_<$M έm*lqX_-ը-L0EFۚKx6` AR_+] o)cx
-O#j%!m;|`):Nͳլj<tPIX@=1]~ @
- u"t*K+kE>'(
-|^)XAfP~<ޠ
-A[ ?:dҐ ؗ7PbbK
-usEfRa⩆¨яTvIp&dԙ;hڦmZ5Z2g?7MME^b;9Uz
-riY>yWSPpfRq%/),ǔvҲ@:P+^4 viN6ͥa<4>q[IXZ.߄>)|ЧzMK]RUmY sݬ)5+G>۾6L.>4ںʓDmE#^Žu הJ#uG.9(з\f97"o,O| j8^zv)
-w؍} U(.\#)y$X\wKѾ+p)bRd77!MhS
-x6i̢ Za6ZMb%r<]hJ GfZ-TIhs
-;{WOΌORO31ЦXGpհ>iM;ބ@VNc) &Uvx_
-lyG ut$:g͎YJ~<쾓yv>K%n$KT;N7(TM|]_G]XqX-M?C֛wR Tܠ
-U,@.+q mf+!+@h9_xkzsne=udDq2){7
-#p
-P~כYx5[j}s
--.$1EƱUzD
->#j E`pJ
-MWOQ7!
-{2n(+$@,T%|XN4'Jdn + b5;8-PՈj#ie߱8gى"遺9})/כӓ:ǗXKyQ|\ʌN_6ͽz@!t<=}byAU !힞G&(W1>5ΚashO4gQ=ƨȶT4?* gei{Zuqt;AxO4%dg봤^.vy3Dž0Z7-ܠSS7-W 絰Bt2`-Qs)'b %33bߚ#5Q-yxa[}k]2mX1ҒL(
-#¬,Ut@
-K1/!e,0VR)j/ؿ=J
-aB^CGm l @V㉛o{&YE8Mrt8j):k.[,:؃9FxZ hcAYqc5}lwѼ+߄Os'*oE*9|AD}dA͈%if;hD\l8}ZLMxF~jp/̷p!ݰ }N@it7_xW"lޟ{|DLN+q<=,pvPKssra2W"NOߝyl0곖M̤
-c%Nߤ.L"Pp-LTfeKu+6߱s7,pr⑽ X M/BX9oҺDg€6Zߜe²t1u_2ؼInpp&ݷ%Z?(;xZviۇèTBlgM'~3Z p[Ta ¿ƵZ",d!pQt{0bJ 9®rmT
-R58Ѥ< '(zzk?NR̊v{.;}히Q@3o"V,-2I6JN%銥T 0wm z4~V'N71_Ud k㦼3v|;C8r"9JM=# Ow^b&vF4cZL(o T?P'Fƙ`QCDI$>A|-N4;m G"kyκhεrdY_wZ3FA9}P DZ#L {qׅZiOog2ui5I3G ~:]Ӭ_P>"G0O1|Lώ#LHzx<-Z$vyY((Ft'ԜEY#+`Oזlj;}
-*>I
-Ӡy1QI^Kc1f%iYi(FE s= l7xtv"ґv}9[jmG"v6ji0Ʒw[9g)M (M^>:3/m@J*սn}##PƊJ;r6qP
-4:@`e0'$M v$%Y?6
-`lzrTkE%1?Y&3,:EƖSBsbݩ$ZNCa7tk{E#*^E Y lmj唊7KMlC{C^Xa
-E&EebImv̊y۳lÍz_OԷtkɰt2AUTzqQN-:ԗuvtV+tZ(>
-e+HcKm5̗{ѾyHʢҡ^ Du>k7 \7J5b<6ww|Q0V^~3Ӈ3h AOSJ8ۛThCՄbaH x!YWɟ;R=׬o)'EXB5U&lٶ}#o 9i=ZKUN]2ÔEwex)NNvD}R{O( ~{t-u 2dAC24(d ?n8LHZ>?8_d:=NjoK3<f㎐xP;Lky0u1F/2TD\bqL
-@?#f`:
-=iRf*El/3Rxi.PJiɰcF?K5IY`:3Q+ֱ @`:Ku«
- Ou^; mECn;ӡaIPlo ԵANʢ/Q$J%<f
-
-˷,.IWXJxvۑеi{b\(v7Kmn\h:)'9
-o\r-F\sENXjVRt5Ǫ{Od뮬!6K`VD:izuE_i;¿")-D>hBZlw7mM@{) P1-03}~7l v3˙y=q|D.L[
-t/>aO_s87yGuӝF
-zͲ 6TE2]
-IeO':s$
->|fx,ee<'WߊRհ祿zUҜ
-[kĿeȥؗ՚nh]+v[%08Gg$y3l-ٝSxc:Np(~Ĵބ;S5#vnoMit(hf]}[(ix]JczZ[,'ȠIf?c.شl<8E}}x^cZ0f7Es^廣` +oŏ>fcҀVcc#9ɦ`PXNٗ[Ē&;ZNJZ21f;"XeZ4V(qĖ%݈AAScӊ-{+3Mt_ho4_/Np^Nadԗ" ١gwq}72,U9W*8==4;4mrsHv7tjW2%
-QTPլ]:BMyLCynD(L
-o< ׳wd™ivy hн]"X;n<E9\#;7oҌ"SyO+0
-YT;INVBm
-1m"+ɸKw=A'K5gew,lϡa&R2pz3N7F|unMjX>EB0Nx}(mu1hv!7pZF>gZ~Aޫ'= :EB]c[;6w[춱~$gU(mkj H)Tc g]651Y(H3 V.V(`g.!ʼlI-u ,CF]y(-b:{>{ݢJ:۰vZرn{0cirڞp]VKPN@榳&"Ge\O3!iNG*;플?2=wE.-%FZ(iD:9Q}ybB:Y}3nﲧ-)lb ho uٮ ӝbs8łW02m""Ko\; Ocؽm(k*;XKjD'YX-ԬV;8PBh,E{pL{&JnRUsTzrч==]tʹO[NY#Jz{S3ŊʘͿR''O,e}l w4楴{,|̒v.qxOXƵpE]ʽc֪7ݲjy26nF$Tqo>YP{\؊m_oBBJ9ꕟzF[}R%cY.-=w+K7VܤvUnw:0KqF^ {c`I^Z4m"s
-i@Qz3ah O Y$=AIc(H$
-Y&"0_&bad&ވ~'2T&/o0ݛ2{+o+ēZxWxObeIL?LN)N|/OYx@4'F!Rx]~x-&C0J*#&H땉)eu5A0
-kWx[L:+Sx’xڀjVx/+ Vx]UWhx?L>&7?0V&ޠsf Z^0$V&Ja|xdIfa}Gʘ.+a齩L<y*LJ'2hUxf>L< l&&a遪L<[ ģԪ0&;}af?3P>L<C(L</>63+o)`) QxBk}xL!dai2l?L<̅g/rajT&V2oG0ȅ7H)Ld&V'<Uf⩴Lq&-c>L<C)LqēZx
-OʗVx Ϟ_&[gKJ"a%cW&ė7q&V2o7(bL<H&Ӯ"1? oU&B_&"ǸVx臉GēRx&AēRxvO]x
-sW&F/!0hTxIIL+kl$M G_$ygx O/KEm%#HV=!X"!G |"~Ux $
-H<vpmTEm .$ސ F;ool$tAuL : tTxZ~xgJFēZx(AuQ+
-OJAI V?HWx=zOBEG V$)ǙD2kRx]lA)xEiSSxSF%%!HwH<=- @IH<))EI-H< $^m_FAuf>H.:!$T$? P 33 :;[V$2onןEwT$ċg$^h$2kAu93
-.^F%%!Hn@K>H<ԂēRxRH$JA|xR+O_"[>NJFm5x2O/O!#hZxi~x}f$1ӂJFmՐxC
-3?H$.bEm%#񖺐xz'
-@1 $H[bY)YxH<Vx~xR+ 8C-H(#|xnו!,H$V@^E)]x]OjE)@)PA鰌#Yx}uH&K#eHX#-^xR H< g~xJT$b/)DCuIe*H>$l_$/Og,H$VN }$֣"Rx[ $SS"H<FH<*Og~xU$ĿH<*L zEe$V2o3nBģ h{_xhvĹH93oq'Pxt*H<]/uMc_xU%q/ OJ!U"b.7hZC#Rx <"DSh!Y#8,xG~x9
- K3F&p%Kx6@A~G ͕>@<7 ij,/ ] :~x/@<둟x<_ ģ+_))Tx?
-M #ix%@<Ef+'H /B♫!PHD.<;_ pZxx߁8g_F <<1Vyx*OJ|xxRxxd~yxD OӠi`<<P1ޠ;P><A C(<<N𴈩<<}o<<}&9O
-DCe<<$㳨`<<˅'L)iy[yx"df' *xx
-c"j(fHV'#JN
-둹_@<@$ !S9x}@Gt
-Pd  t^nT _ B#xg|x]S,5OOX*+MT P3
-Uxj?@<Vx( ^B gg& > h_@EUu0,@<3iiGO@< H@<=,3guw~xR*O
-Sáx:*NQSV1x^C,<<4:O
-ÓZyx'>KEfتãRkRxx kL<>xx]<<Ti:EJ
-?e: ^{IZiLq&us]<ʙSmMOej_J*<<M_e.v/W!xx=.@_Nz
-ӟHxx=%ixyx *@<߫yx=<eZxx~xx(S>|yx P OJI:-2wI:G2OJiu%,TQVxx T _DÓP3p/ObIH8<KXpxĐ
-O/OjAJ)8<)_Ԋ/oM8<%*o
-oa|8<,8A0_H VnGUQQpx/8<}SÃYRpxZJ2PÓqxh/tzY-(RgއS[Ug/Os^qx'~px8g4<9gM ZhxD>4< ^i eyKÓzLSRtȗpiUixu~ixr$V";GDV(4oߌ2?;>4AxѩTI4<Bóc~ix|^I4<)_ޘ4,ixKvix4<r^J#VhxI ]j ST?+0< fn 4cSq'V2|-"`.kKfi-0<}
-ãg/ P
- G<0<)_^
-ót%!0<ϫ0<Uo&wklc /)v,5XxD蛅 +Xx,Y 8CCai,<
-ޟ ,<컃G?c-J2 OOXYxGcQXx`~Xxg2 ;
->,<C),< 9G aa}UnIe}o ) ,<+,<)_jaI,< _47ZdZl}Yx
- Ofeie“eQ_Xxlz oDs#,PXxNf  OKJbm5XxN(,q£maad,<~YxIu?4~YxRXxR,<67 a ^£vam%E,<c£!Gas,-d^R
-UYx/ O;SBwf&C),<3P ,<
- O7YxfB's/ sRbHdhQXx O/ onXg oUSXxr0}Yx,<* o+`qreu_^YxgfP %$|YxuYxR,<]GO³䗅'YejT^RkÉ[Xxr~Yx
- ~/ 84VV2 /2 Oe܏³ʙ'ᇅWG[Xx!,<'JemK ^³6,<kʔYxjrYYx/ AeP֥';Ie)aeᙚYxd),<-+ %G<$T_4\eJ“ZYxR*  W3 & O_vB'XxfjezeTXxcZpYxR+ V݅:/ OjaI,<NSXxJU<_“RYxR,<?,<2  o0m}XxC1ӐRYx[, O{£/ O~be oSx+F'2 1F;* O{ Oba!ʇ, O o~Yx[ ^“ f_ȕGYxf.VCBaq⇅;YXxbH³70|f2 /4~Yx<u!3$BaqއZXxR* OʗoXxg2 ÇZXxD>,<YC* G/ %Ge7|Yx:|fG]AQwPPxII(
-OA7?(<GCP3
-*()+(<j.
+BJAqo:*
+YA1\PxXhǦJ(dZR=pBP]րGfBi-(<}1XPx(G#[Px
+W7
+O/AEYp:PxK *
+O)ݺ7
+X46ısL5HxC苄;Hx,Y 8LCDCai$<戮@IxP=w 7c-J2 OO߱D&($<Z0_$<B3L{O"h{:DL³Lc}J!q拄'mZ/B3 OEoLD* vB£AEC-$<B£ES:!,$<2>/^JORIx׿CJE3
+ OʛZHxDR3 O›(M%0-2 O[oBӠYIx~Ix'IxBZ B'Ix 酄JKJ"-5Hxx'~&f[Hx2f $: /UHxV$<BC)$<)oBϫp}v^LZ E$<JcEÐe2 /2LӉGM|v3 OQBS<M#J\Hx
+ 7 1$Tގ7 0n&!dMS$@KJnIx 닄67 Oj%uL“&f'&Y@":ovڕ% $<p
+ P盄ZHx(&TR2 LSP&8GqR"aVHx*|($< O4on닄g oA£T&Yf&iUIxK$ Oɕ|IxdZ&u83 : P2 O›?PIxL“&$<<
+ Ϟoj* OwWK 7 BHxK B%~TvL35TQIxo+ GC$"aHxw=/J“RIx"}T 4"i$<
+ o)TuJ_|'P^$<S3 K~:iIxIu^'IxtBmK($<U$<HxzE
+ ?B &᱇,$<UTRH0 $<&)S&䲒v"3$<3$.$<K O$gj&ᙒIx|d$<D/iL“PIxZIx$<* + Oj%I$<vw_$<  (V
+y$<'IxǙ_$<}J)<$< o$m]"'J[J&-5HxV$<T7+HxS [G~" oo[%i"I,$<BCytJEE[#<__$dRg`TUIxk3 O7 OqJ#X[HxK$<S3 *B"I$<)"I-$<B Od!.VR oA#_Hxn/;Gg&-!IU7 4DTb/BC($<{P OJ%Iy L[B&ᙚIxԡQ O!-p!ѾMÐ$<}7 OO£ɮ;( $RGO7_ <M᡼@xǥ
+o֔=GQT%% }%p GY+ <_ <cY@xK O~Q 6g7oÚ5yu~TwTAxt@xJT /*OA
+Si]AxS *O}oV>W@x/ T K#j@/58^ xZI=-}w-W܋~ 12NW:A;=NaJU W`4v"^OUw({>ƨwҞ^w8^bީ;-Id<;Sp x'u\w'_ }t[0w\u70H=c'tr'N&Tn
+ r7N] !~QY;x먌; qNɓ
+SuWDévjϳ<svvʋl\9Nʉ)ucYb^%ݶXv[ۤm&N_:깎ĮS \8Nj:Ռ:nqvMg)dyZGkci=7*uā5+nWKJ:=vWwaUkbսȘ٬i cJB5usU״~3Qu +tEC1'5*SIu͊EEJk "5xN'}fWT.F ꚖH4'NɩC]P];+N'9NJ\:)eSAu^ҹ8u;^^ohI,NDZ NN7~6Iَ-PT⨨/#!蚪T
+ Qv{^՝Ͻr0a9P: 'ŚGQ.Ũ; =Q6M;L')xԩnW̱VEX)d8=z3
+G]MLw]iaD]-ͨt<A;F?
+
+˰jaZ%~y:ϜtóYN)Yα4o4Q,@Dj E7 i9;`ۖGŨ8D9m7B7 [3î?dIPFQ;h-7_{2sMcZSN3{/b N*KɟknTIuFsem< `N꽹.(C96*J.(s!cT]icYu<۵s黷XyW\ǽ݋?zpisPc4}A;[:mz?gþ@\yzDcƻ. V3s53>b:W&1tysСn[ja*EI/nN :۳IӇ P2nAfad"LkC85*nVt:Ҹ1|
+k-O:N8?&n)@
+^D
+[Y[e}<DwRz*+kt.j[D5T'tMR2nAh9JxXIU,^? nAuFYNG%5!FV|ֽt=t
+
+&_[n)@ u6WQx|wO:~Spqb NLom4\l 5x&б7q D=ܬ)O N]S 5
+ d]S8L+Ik4:
+r$q/N#ysjX9ͨg?m㩰9_9Iin 47̩ȇz`6lȔ9='e䔹r}2hE+4)s6/rRj2'Af@8!s /<CknoM5B=ÊeN
+Ik˔9TBAKN,U3eN_;(sz)d2טkbD2f)M{TpQ̚[j] rM
+E{J l8l.) 6Ԁ5+m6i&ۂI!8asRw,2Nʽ 6UvIe=asƱ k< +g_uHln)6Ԁ_ZN;[as|)ik%@/-B9>;N[J-hsM '#RLrAyNǢ͡@ʴ96~mǢq<64b.9E۩mn)67IKk2h਴9rcw!6?ln
+5dDᔥA9r W"ȑ~ǩ|n 4޶
+VmPG̙m+h<rj6AsR'`tG34ה-sT
+hnk xԨpDZ:JMϏ7ʞFA
+A\u2]nSl\ -}s,3lTBmʝ/2VN"7)rCQ@wNdʝCB ؼ<PniƓ#ݳ q*gOdݵ"S]Ja5Fbo}14u:!B!M1
+D[Ɗg<Wm\ܴB\ L~Rax0?N!V1Ղ`ST́ӉS|e^?;P`
+A[@Sn;vF VV@!ȡ*m2rNn,3) BLى¹M\פmyA;Ah=3AƀS8y :sTڮIN '6
+e=Nz'oPɘ8)| =AӇn1g3Ft?>NC"gX8R*cqS
+@v]
+ מH<oL8
+Ц2GZЧGf7 Lxfnkf{|Na~q4mj1aǔD>q)S*8ݳ kF{9?~(}3LJ ‘ =3a4I@^޿E> ' lx hGǩvJb5q+ neQSqZ9 ju\FeƑBK I;a
+a<i8=}i0Yq'c)ڞT{kئ"uY0nۃɉcY1q墾Q8ES&E~}b2&N㝹$0qD6[8bG+&NQ
+<0q u?&NAwx}q\8 (Y[@q(OgWz}N"鎑 Rt")3A#\xRjnQ[.RΣ @q=/@q;̉ޟZPt='HE$#N噁{bhɄ8M9 NfQJvf Edérʌ{"d8 Ebp1q q
+2noBDBO-bnk*Q$&\]xyp&+<Zp
+/.4Y5oG/ZϾoJb*o
+T;_7 .l/踤o?if"D&q^&Yr{5/@ W*R|lYo/&M$77ub2oO5ofU2_ݗӸY71ae臑&MU89{1
+=zvv{:omqi51ozM7768M/A`EPϩ A1Jݔ偘x7vvFvxlQ79-|۞u݌{,ms+
+Q`) M"5 vpnVWہX\cĺQ6Ί ۮf<ZYn81wRyX׬+X޹vpL;iSqWIsܔTT~Sޞ܈8܋&N'cz$:<׶pSh9 nNܤ&}}YT鑻ow6J&fx9vUt}e "}rv|GŶ1t63P ڦO~fErh[S5|yeMs C҄@9V ڦ3M'[5mzmж|R-жu6\̶UXنʈ6d&2&4҆3ϽmR*34ߋFB2WlCs0mR(8
+f}:
+Mapl#M<YrȶFu-d-yIk0mMIG)cϔ#T吐mwmʽ[=m '2M?{+/ȶF}Wd[z نB mIlI%,3mRX5M<i6^ %Amkj5mR)ԶKM"y0۸<نRlk9:Mɴ~̶ovl`:lSbl\]f5},fδZ`5ڤpL̶6KLfLf[Ӿ63q/fδ?mM=$h[Mw?msM˦gIdBLVΛ6T.lr(41mPmwe5v_Lf^RVfQi3lk(l3('6?n;+M
+hj7' "?nY"srhgd sIrm3{vMh@wƔ mSV mSτx+F,}b@:Uh漅ms,m
+mk_ چbC8ӜM֕j
+he<m$C}-t`=6eV$C8жF
+U3jZ%m=2Om)ש
+jz=l6uFn6=(\&i@&mJ_<C: Oս>ѾE7tY3X_̶v.fPbI"LcdOg΃6tͲ]Am0Q ۦ7Šۦܨ52x8Mb6}2
+mSmӓn[Gzƶ)Ul a=l%nǰ
+Mc3Nt-n#LRA鍠۴೵I4|_@unSa(ntoDnSѵ Ao6D(+6ed0wt[SHˌnӚؚ-ݦM>ݦ<1ܦсg$/& UmgU然) |g ^A_2Gl~;mۨaj^B'!\~iݑmz62mI@JLJ݉ E-
+~نJ[ Ps,dQmrܿ.|>>8ӅDa:Vm=EF-%3’63 7~Z:yX/mX[cmH p:-1[),
+MU/+Cz ۤhj*69q26a - ض
+pX08hmRhA+6%׆2FkSz`¾<XK#43M`SnA7am`Vt$ejòVc:ܨ4X0m5)mTcA(X21@ɟ- =O6_}/>˱kD)i{I#lਅfl`_hc¤IfB!^cqYnA ׮.*5P욘t04#lfs/6@kw\eMg[vhb$6 Ir\ æm)ö=wtV:]My$Id6lljz,F-7Uk%Z5qI{ C6*z8>&yVYQP sQ5Q"Hum 4`):nϽԴ4Le" QjI'[ -Pk9L 5蕳Bmk R2gT%Q ~Aiʘ5]dd1&d X;wgۛR.VRݙ] &[1vI&Nwx0GIW
+\p)jh)d5jҴj
+ 5VRC.#HO?$d5&IMWj[,5mlh潓8jR9jRN( 5 R+
+}xDkn7w C,sZQ6~I][pԒ8j^Z*!8j]Q NÝ5DTohsFhȾ;i-Lk%zcԤ\+5ꈄQwx`ԔHXkbT[cBƨ5_g[5)5k+F qbs\<)גJꠃBLア֘Z
+Sk0%6aj)O {ؗJmjAR#~AsBZ?v&1b:SHjK$F^**q&xoǩ@ΥaԤ>ix99PjL0P{`(rf;F
+.Fh;@QWV|qͫH'J-) @Qu3ƹPj狤F]IRx?"D$5T;Jkls$52Hj*}
+ZRImAR+4b*
+O$@
+I LR̼<Xj4p2ImRk-Z2g{oQ:aXFpLyҠ9S i$g_jrŵfG6OKo2EMn;SDMm 2BMF4v{!rpdICƧ1&7j;<m
+6ŀNSKSww2r.N{ɸih/ß]/˟~͟ΏGiGO̿C9꧿sاO7ܗ/~݋3_m~;onW_:g׿/OdпyXa}\rWgq:_~W*+vۏ??Əl?DGŭ֧rMM*,~#3_ G>Ȓs
+XD0b#]}֡>|beXo| Soe__JquqC4"_[g|ѐh_u?xGWyUӯxZwq;wG|%+ {߿[-}޻.GrYOwIc (#"_$8#~DI+ DIpѤ4O9YhT5*$pdF/=BYGZаgk!f؍҆39F9dn!Cl` %-Dl"6@}ě%em#ރH<) u·rbA9s;%2:12T-*[䓚{"MrBTPƕ| ڭ y8$L߄p%!/=cYtJNp @gH'*8 ':[4d-xd,f)&d
+AJHČ4fbLU̲tBdLh> W\( muTrȓRLf?ɴT#
+#hmFu+V@⟋"eM>@%bK9ou\(q?.ֲ/~:tS|VgA4ޙkpny嬻;XlT iCO
+XdW(l^!k{p$RP(I!YT
+
+hhqEҁx^f )/w(uko1J<@0nK\d*n,NnҮzITh#.HK(t7h3Qum=PNi>7<1)Ȏu%g_QE:dBMU^sbbb]P|6%J
+Mrex
+eMDYS"Bd8K[OD[f6Y}fb+pUҪ`@
+ae7J&m<y4+fAC/rm,0lkL_[6Q@2v|F<N]hqPɳVVMO"|m6!2刜ٰJLӃv fu⠮[9Nϕ,C`$<XuڄՖQ\o2,|ZDB/{,a35nfcj&ǵ(UXTAU MߪИ4(Z#+1ۓ|UG{U׊(B=Rh] Gig?L➁B9WrG䠲N
+8 d-A?t׽U;UDs@˒llL N d̙NSLQ>:>="A&HpH6駍)XϬPWe@\ Vr%npӖAu ۜ}~ovAs!3I딂Ɇ|[K^%\:W)%h<sуk^Xƺ֏(`1!S|s]6?
+@.{Od{jv!S(v_y6U* ghcBșϻU3U_|ԽA
+BԂ$wc &^b/-qB4}ZXZMڳ$QЈER1Ā}V*UQQ. fR E|k^[j(RTwPn,f&\+Щ@KA. Jh:@
+D'I,|0$ѾAD9v9;A,QtNs%gmgS0F$_yP(ٳ<d(!ܲnuz^wr5Ydze%<R5qz߬O@V}SmvFjur2b9 DP *m E!kOJw3Ε+e~- g}`0w0e`}郲,:/
+<q0r >'s`+96K_`UȘ h j!TbH4tՙCQhGFAbǃ~P](4hqR=2$r%,OۣA zT[Y:dTJ
++VgS^c\58 +W˞^VG`PH}qk1`/6<ّ\l `#&Ӗ!ŒUq
+1FDf5o;@!VUT$1uJLh$F<EͰU!-t-]ཱུb4WQ:KġŎ=ZfuC,whl&ӛQKzn QςD䴴@ZMĉ3TY!B9yѫԽԩ-3 vRAuwSpIԨ"\D_:YIUt{?fSD*a[̨7-nLD5ӕ.DVKQpWA򃄘UB2N@n1XnSemAn
+afogJZ/UnCk@Sr}C-׏A5y?D'Y_oHB
+Em&"̭_a7pz>0;=,Sȇ*B6n#9D0 j鮽apA6
+(Z F .Ҝ{zTc\nQSJpYryW'6|f@>^}p n-]QѮ|#)+vh^ >{EϕliE^bg:$fPfE^kӾBXZ#1FlV3X.4~n{^ERk ^ FpB ܏-oG3fZ1?~P w_h]"6p$ø$zB&6tqeX50n-M䞋H]%;p$$KFR
+v&rBs#Xs=S;dޠWfO☠Ņ %,K^PVԇv$)/0`yEo)B4eKL;4r/NC*!@B 1i>V4l:vT";RHȾ9q JKˌ %KOEĠ^Rhpl5KGJ-@ð#1%B I>SkV Xd xx pb$!ր4,ަw
+ё9P chd0rv D)R\+E>wM-ךu`bj6&8)(fTX0*T wM}7 +Fi 1:V#Iy XV;%Ӎ4BPҒ%Eڈ > M3tQF4W} ),
+rA lTL֛"fr`
+LॷіDxY5~sMQ64=-U@GSf'Y
+sWE|
+1E
+C?f1{MZe($nKx֩قN+{rq endstream endobj 127 0 obj <</Length 65536>>stream
+o7@cqNHYr˅;֔ BT
+: [M2fjQꋢ[$ }C%*vKLHE´[.ej+hV'EQC^,'K)mϐ5A7qd#w, '*MX227"//>ôZ0s%Ζ+uRA:
+]_B<{o)1}6!Щ%Xd0d$b0FkXxUҧ
+ijTic S0v
+M5ak4
+{Z΋-QbҫmhEiK^IZy`P^Iv7E W\<teI5RWmZROcR^^O!H^,w젍hj% 1˞DoWJ
+OLlQ蟓
+qmb.ЙL5 glJ׊)yUQ%K&2h){vzX: ;=ĝ(Xl 22/,Y҄ƴ
+oqOE>\U,i5<@IlӺo
+6;ni!%cM{|s44/ޒza[% ޏougb;dՠ[&%TK1mX7*SpC͏z 2^ˤ`a7 8UY/橆wk`It$L\n%Ҫ<B?`n7<3ZG"KHgj䆮7(߼f-nm׋I@mBp>Q<]4z&|W3}"nzhg"_|V:V[yY&![a`Hy)1ZsH?)[> 'C p^ie(j9 Urk X&>VKiKQ筤~:<o9%}E[}+@fg!C#vc<IK"-5'%=]X7CѻI -$e$CLn[.x0Ee{+wZuofKg\kao3,cALJ<ݾYԥޯZ@n8HcR=F1WŸ.myUj`,c<fMbAsch\CH-V1 ZE"}ajC+bZZ5:2kHiZL$9s:tVGjG.EvqQgHq>rL2$hVҠ4jKV_HJ\[~=lZ ">Xb-qf_gcՆÔBn'mģ2O^91 %؋j`M;:[&cs:e|}#v-?*YE.f-d-'9]Ï4/:>7)ٞ k
+RS [I1WM,3QVjqI=e7Id&譒YKՙ ohQ5Mk^a
+n<k]01@7~OZA* wc8-DY4E&&5;и#@7Gos]85S-uw
+Z2%QIJ,[kcw:B*a5#XYWmB8`3P j
+d@‚1sSRHl׆=d@̟HZmu$|Jn=[h1'eǫfܼ4g "&aU2k{ss;ް*KR౒FQ0ZG}(퍜c(^ɝUZHȵ_F KY+MNb羳
+MŴUa G8)S~~q4Bib'9+ ``z^H.JϫbRdj A[7"|(wZJ> }5;:p[ lHk_sX$!!;d6$gɐB^TBV{i!p}x}ɉ:Lpoɟo6so;+ÿOۛڭ>^8'.ypu_q_^ot]_/wחEmGy+~w? ֮cG<n<${|ݫڿ
+fGXއ+ի6ץ>|=s.pV+\aθ |\"l~jM}b\^^}<h:+~om, _m^L6c
+7)n?erqw};D9*{^XG/6HŅrR،hB~7E^U2 83nUB<p圽/8HJH:
+c Zt}x1%#?헟TЗ۹6R{^di?<|Kvo{"6Ճ|;ȷxv)8H=n ݶn?k IttXMF_ntxaBn(qϽ6(7ƃ?l&J*/xϫ?\Jw.1NfO[&o| ˡ&͡&O:7ߢ*ͦڧ4}cwԟ뿟?HO<yy>fyq/r}ݳcOEWo1>PfP/2ɯa}>ſ 3O؏ͮg?'3̶q}y3}EÙq_–®Kon7t$6cuG)a݋9=r^&yfӁ3@rO㽤! =q? u%]]?f>ğGp'O!t'[ Cs>Ĝ!|98Ĝ1CwYw%1_]~vYv]"l9Ucn-!"|U]w>uuss㻹KTx>-av+wp\p\|puuI̮>{u']\=~pBd88vAn=8iMe+/۷F:uG|~M#G|.vf׷W{~[-|?B kQnY]+t~n>_R98sΜ3Dzgzv98sΜ398s^3y gt 55"S_faPE9\x٥96O/򢏛?^\??G\e96/r(q8BJp*\}g_NCe]=B~G
+СnYD
+"7r? 9K}@^DZ\b_\\c!{qy©_7]y[ f#ߖ!utӏFHq +c$)x{IvѶr8b m\Fv[,[h+|}7ԿlpTOF8rcD؛/.[՗ɹ΅y1ŌŌn/['o|x6ߋ}E=Tϯ)Ϸ
+D>s\~W[]mq/_±|qOƿǕtPAyz}
+՞(뽉FqP^yppI>lcuX~~ss3u\vg<?Lg;\1s8AwJ't\ՇK%wX3OY
+Hj8]$kܛ6|}t{Qڸ>mׅoo졽}(?m.h ?n */!onK|^|1SdcPcWw,_&"pk}7`?{fxus
+t6yݷ-{}}ݕu~j5?8|u;O;ۻ?PyqvnE}*PUwo^o~p{&&i>>h„;s<' D4ާ77;42%dz{}ŧuݗq]eR60'B~-O__z;o=W?wow
+Oӡ؇np?44y\_Jjﭣoޱ+8NGӜtw{uap!X9T8:q4PNc7\ySs9>ɧǡݩ;/O!OI<pr?/rcW@J.Yb:u;'tH6]8 ]AI!wZACo)ì %ן/9/GrvzawZgK]16pi5q8Q`~̡X)ݩK=4P?V{Tvc%xw_)+u°u]WSt)x}g<1/O]LxP.w>zWr:{>jcCBT'W9D|+CWJϑԷ\͔DPTN0xf
+'0X>}N1l";[\m
+.<
+ P*PRӅ Z_+`JȬU'gl,uN@]=&!Q;b<'$@6N7uV^uq㘇\U( 9`12B[O3S7Y=di|-fh-xCwԳ)Pa \e BbaM]寄fFʼ$Ui9IfSps-TZܵUOI]Udv:ѐD (Ow(Q%~OQuCE{}/{"4$)#T*bS8*:+81RYZb|?kJs5ħ*TEC/T_ ߑQ*Snj5G {pJG0j: UqO.4ιZzNiHb9 Y^U *HܼuSpɥi=J"__ÝP=FJsʴ:T(`
+PbVR>{W߫3eB%*dt5}1#[|@^.QnӾnq 8[dpF0s\xhurR!R&s=ȝuVs
+k!fQGk圀}awy$M~'BqJy(E*(v#JĪJq |Cɯy!}**+ё+rv<QsWRLQ'iS; ?P`7tpאI:Ao"f`6Fpv40 UjQ,z!ܑEt>
+ԒK
+-SM!cޏ_l\[, U@"CySɜjĮ\!( n 0ӡN<A4,#TK(D/c`]㓥9M*x&~= LY*~Zh r:bri cʭbq\N+fl4É}\<iKU?eR_v]EOBnX* Z7gy2O'&3ju~A~(L]4TbB+Ζ/g j}6#6"zXq먨 S!(3=5Ў9]$cCL^!7UeKLs.\E9
+n]hfJ#jqUiJ'N=[4wy?nsqsSrdqEǸT# )bcU  bֱr|Rԓq{ p/:
+JL۱u_-<$=]ņ6ߏ'SOLH2/DFk]@+SȝPpl S7#P2£FXxg~X/󱘱Ŭ^,c-+ј#c"<)޼x
+VO=N2Z%uwG3¿dpܪ`-y(z'/V{[AA0TU2q
+
+B\(\<릯;R h학TNzy!UUSQB>C6ꦴC ~2v˂JQB4\ ݫM<ఴP|*Kw:m6#(ٚ:AG22!yhcZD.i
+f a[JG?1WW&+䙪W 05Ĝ%2|;ZqDDMhÒMb{0
+%ѫ)HYe@uuhb(>S'}\%xKK\G6^95J6
+b;Wlؤ<?zzݩq݀*Z܁ sF;l
+hԈosUV&WYE ڱ3n1*SA]gJzhO⟔8x%&ߡ _
+@0jm/s ch׸̫ Iˣ5J\2{e*)%
+O2IJ S&TkYy5X%^`u'{STH AƳzH"~ i(nCǣ]❙r ~:Nz {U"Z0*ważP^A:PchQ4"h nb/.YDYi=Z]1
+C(\>c7f2wRh uu.P%Zb bSXrȢˣ5509l-ddhm@#dVf%aQi ~Y)j&)Y^FfQ%5n2H;-l#FsV&-و?
+#*grvB<wtVWZqC[CR3J= n)ZAѬAݪGdwR V77A,A֜eLxgks6*QK}8bi$.9H.
+c
+<ht"*"Z $v1 ^<!EzTaN_XP 38=^Qx̄:@PEte<Z$ PijXq>M
+:#"L41(0]@ TZ9A3$W^- =x-A;hF7ʃ8/&|?l1 DauP?k1'{e1tv4 =C
+y
+Jj<g]r<}h^DX=2!_YTZՏ
+R$,VԭA34]CΉE,W4~N7,&vV{}*Wp~pwK"5IRQqpfRIkS)OQudŢo&58HEG2AEǘ$a8tQ̏$P&5p$l)ZXziOE{]C.'Dԫ2'<iY! ''+7I^S
+3/G,D(W_Zj%
+=7Gju34ϐLX`m#
+Wv롐&q"Be2pnU3J#wx@
+gO`!m*h r]Hakg6"A;N21ZJ8,
+8.IJshIrN$ɦAx-܏@
+4Ziqz9S8 1JP#Y[C1q(cf
+bqJRJc$ʸhI#)8y=?_M@'<Am ge^E#%i9e-c-qԇ
+!r |x
+c^IB`fϗ_aG:I xaHR6d*lvؓ$4H)<>׾r쓷J@.5A]@<3|S+6MHFj|\@QQ9`,NǼFfy0%B[' +˯jWƽ]<cuj"9yў,ͿݐJz!r'~{
+ !7%[(OY/TR8ȞOr9+$&Cc61T#N0sOeL紎g"{lΗ1’zNT]pǤ8 c2gi7+<޵'|Ađt"il Pt"-{&=|K1_K4KiW>w^SGR4if/Zk)ؠJ_~?}x\/?kόӿy{{}wxw__nFIբ
+JByY`nlU z}3:w0a# u8՟Xp0{2nG)"riëwuN|rb G0Tw|p϶͵"8wAjO!O<TJFT=vxhm?3"*2W[=$O+,/IIHhH3,pWx2d'N9Yu2ȱGK_||vT]6l\6tLť4Mtŗ5xecYj5|K|I=ɩ*~fw*xhEǿ{MYSs/ |>?_|~m;_|~/ ?O?օ?^<>^=.Wr/K?6+|zOWUz=KܲzKAJ)$lV~I-xL('J1%F9'eF
+[:=1c>8R{F긏R֐eB
++^X$Á`ԅ(
+JW H?2w&:;XT C4 eHƄRtB=1! ١@繣sKĉbqt
+_bGeU|ӳ>E=D2[Ys 9bMR,pb pvEV
+rH]QXd! .?^^UnJQ,F^@fN1L`g:꒑\HIPgr= vj*뤞8*?ya ! Y
+HrJʓi>y,%(wK b ÿr9׳;+`*QhOEqZYLUf" 4VM^-#3:Hc"qПbmQJ~iInfߜKJU=B@ l%0
+w%O\#yIjda[1BL>
+$+NTʬIA+ը[\ v͔~
+7˕ ̐&
+$]n'!DlK}B-v16 4B3sz)^7 (UO:ىT& # 3zh;S&RHFD420͢iwH C4Asp.g
+p[;2#DKe*3Fcr {(5!~_)܈ NzlЫ\‰pj'V.XmC,~PGp= @~Jj4x#C
+9G&B`
+YixЋD *ݽ.RȒP\hv+:`֨KrW[{ XN!(k!{5v&s:/Ç-wDٔҥڐ,,v[O3nMPZuH;Rezvze=->Ag$TjIrCJ8擤f Ǜq5/AɈ];7/7^YN+!y,3&ys4K"jr/rA,=A 9Er4ٯ^.޴Y$G_X]3vN%Sx&wYJpz);D ZJBm)sUGrx:tk
+eI\9Z])E!q?8R0K@wZ_C,q p -E6l,ud{V=#hs6c:˳g~zʏoޢN/?JRΟow7_?~s<|qs}y~Sy9]w<,z.Ώf?iwCbT7wV8ڝ_?Ay|_qG'r8e\VPCB~ku eq)KcF*>yӧN?.iĜ" ^֧˄ȗɏc/Xx
+---ں ~Le?,\]˔B}p`S:yEp6\
++5,h?l"Oߥ)> R$<9aQ"
+1K *<Z<<8mIcmI8$FF$pBv*vЄP x!(Sa@Z (Q+
+I\zBS8bQ90/?B wGJdքZRIschSXƒ$O0Uvٚ9"1BL/y@n: !A(a S"L[*M@E$$Rv>
+!cB3#d s4u|2I
+ Q[.1]^K„%&B
+WF[(X,$s@M/·NR' {,e@'0 ̑ 1 ^x/ 2<pbPc@3!tӍCITr7HglາQ[ƭ䤚
+U3+<LK)<'*\Pe~s Ĩ&/Iʽ AN*@#3#T$ MɒPbJzU@Y2YRU1߁ا\m%@BFEH2YC]CbµˆS `CeCrtCZAYr`9Ę\fE)|{OkM!~gV$ D'}T@\
+Lcni4Ѧbwr<=&Ɖq[p Z*7=$"
+ ,PBs'}bI`+/L8NDPֈh<x*ꐊDÒ|uS
+pw3`7fnnvdQbbcj
+R>E2`sZBg&
+/}l
+fjUDU%ՁԆ~ GSn^T""_I w%+d^[|@Vې]bf .iXqꜨs w
+Ij믻 .!u5
+
+yT6XN&ߎ"9n>"ѪId3_ZcU
+/n<:
+gƽY./ngnBt9>p7_jR5/@&Fss#N1:Zil>ٸ#~A|ܷ3@#*ܨVh4\Bj@=R͗UBPinC~K+~ 89*.!inBP@Q)hDij16=stNEHD'JC :R^ਸ|mi4@v ^XHxy`VЫ5挅(cWeE#|Js6r-DBE2
+o/Oah$@tZ ^٥H6SD$($3?=/ *:A^##lB*b504A#3Tw.eiSޔE#rG)[拧26݌HE*" EM,0 㮥i41Rw rfQʢD},qCxJEB&NLGB ̃R ƐE_,&}Apm grGSoYc ]0
+J벱E%8\~Dum9qq<ʗޓDdQD eIiC5ЪqXVS&Sig;e2u (1v:c*
++ۙ} ff냴oR?zVY A<Y%>e$
+D0;&"LE`pV:U5QQ3p? QPN+Ȧ?) N[ @!<05XkC)Pdi`ѩޠh Oh~ztcEh]2I^Z( t/xBP!2e.qטЁ2oyL`O d$;=V@1=J
+1/C_$%bpəӸûK,hD>P8 OY`a(
+u@):V&Q^)z&A^:ƻfC硁l29H9VJ@DX 34I,Ds֐.L;,8 g^y!8W#Ғ(kf ^Fcy{`
+ꆀT7 D*zaDtteKO0k#+<!%:y틧h+k[f:
+J!M@(Y]D'΋iHĨh`R)a2~Xl5Ɖ@wf;ބ"[1&(MC^C1Ą=AewJ7%f]ݡX's@O!$:Fn;8K|[$$`!It
+WCq+\[U9n,ǁP
+m<
+WCq+\[j(nr
+A9ƭp5P
+W#VvAn9n'T)nVP
+WCq+\[j(nFĭD(nFĭp5P
+#V,ǭpY[rD
+Cq+\ŭXq3P
+j.V[rD܊r!!mɡ.V[r(nłyŭ8wr9P
+.Gĭp9P
+.S
+Cq+f..#SP
+Cq+\[r(n.FĭD誓ˡh6nˡ.VU9nFĭp5P
+W#V[j(nq+\ ŭp5ȸca[7Vz
+t k0$JJ/3+:KV:WCVuQEV:
+ACVz;YJ![Jv{;lH rٖCV9+=JFN %h ]o5hЀ?@Zg>SB =l/e"V[ꊊ Иj,uDrԕLXKڑ@te@K y>vfWH1Ӱz;c+SC:^zTKh-uc@[,]Eh,uXLZga"eRz|r<,W\Qc&L, ,Y
+gM2;=
+4FY= l(ތ7TNHn\
+3)
+BBX)0|0ip89(={AI9'=kcj9~DȩRD#dw,ȳ)w= 2e6҇ BѬOrDح :P2VB22^DG
+n
+PsbyHp6uo#ܠ
+ *&R88%N+3eFPٰ`E @VpymYu&PJS^ys$V/0)
+<_]ȹeԁ9/rn;`c9Տt {d&)9%21@Sľ7ӏkj32 ^).G(
+>6*ʁ1a8s\O:́;!AA`);[gp|Gѵ r[hp"2¦¼+1ƴ4ՀѼyS
+zH1z+3 BPT0'.sPIaN56;nT=hI򐦄 5al kBSs~ GC=+C[F*K咊 ւh󈠄͎=,\ȉ0Pnшbd9e\AbBP C)!hW(a6
+ci7(捂rƔ IXrj`eG-@3-'@s@rx0!i/$;^;&:>jԗDHs̀a++Yf
+.N!A. ɚg}i])ePRٶ F,Wnh4[r NiinjeR{\'o9J'B6\'aU]= /CmpFo05 ;B=c2Fؕ6Žq+5'01lY)웻l#8|eehҿOl6Kcg#5b1Gv`!bgBө0 ) C$bz ()
+P_`c!;ok1)t F~+^Wɹ&7۞z~=S 
+ )$ K?1I%
+,
+eʱ/ʇS)D`1ZEboq:xn f<ű l&z
+^$KUNOsIA9Ea+M#J-FOA!E"fͱқ
+o|FJ›2S_N8[jO9P}F$@
+L>L L12J\@4J7PT) q&qi_YTe!4ȁ* 0
+.CkG4i.+#<Hf
+ JDe71Y}Ȥ!TABU}¤P:U 2?XI<\s(t  ?)sHx
+8@
+B}3#
+"oY2
+t"@tISlFh`TZп"A4T>b)S3ahDi3Z%ҩ4
+S @ =VIh1т&
+ F)eDҠ
+XfFƂqrA 1VDحg(A.(=pD~LౄZP,>@$R͔:2IpK{Enw}Q(fGBb2CdII\4 F]Hm
+6%R
+_q>%BB*W5\Zy%m dprh g"SLG)ԬTPxX&
+9 +0M)&Urx1J P
+$FH3hXٹ<<,082)'iT Y`UIa@8:P7-4הc&:jDMd|ZP<)Qn@B(P!xTc 0C
+s1d éi>#
+rR @[VܔT䖎3,eBJl͙d"ݩOg)*| 'L2D
+&J >!| xXaB<K[N;0yo􀸕XF1{I/8^
+J R |J|QLj$_i4;չ8̠
+` +C"ۜ#Ce@q2JR]UgR^6)@EoDJI iΘ5-궀k#x$\-L,{]Gl5)i wЋ?TfT4LH)>+lYl>a"\",x4NH}1yZ@I)Ḇ< 0A>8 -f(,Huq@"}z%
+ǁѻJP1r(yU!LY|Q
+L9$hp Qᔹ1E{r"Çr+p`28ܔXUMam\N"$K)?,{&NJF8@AlgkgͲN6Lrel&&Y8JȦ+(?VbA#!%$E)rDzjS6 L
+6Mʕa!Z9ө;R4Fg9#׭0N8:R|!
+aR6ԻKJN͌T69)Sw{-1xn0$ZD8mEZwmD @ITզ{+(>2@.'%
+*áG,AR<&Gvi}=8YaNl%&U^J+mB*b~<;]f
+4d[,a^1!"#)f3ђ!22aInY+|P&w
+S(.Z 3gVłyL1h˱:bih9OS4&
+zV-A td
+JAȑ 89 0=~B^jbѐ
+i7_!
+nLz cV@c*"P
+Z+<^=aF
+#^Kg ,I32G<
+z#7i1G,`\Of
+LzyI;"W,DIHQSC  nHP8)y} oJ+x!^lp
+$$-[DaE);B 3",9q$:IP#+#
+ӂ& XNnA 1WIT WwpukSCT~rZ&FNaֱ_PKe޴Ut*NFiJrX>LS85
+x(P<Oۄ@g3(e34+!v 2'F[\R^`ˑS{kSa~a*S䞆K
+5Aa5Wh5eDeh t
+8+1Y KIR]/7_-{xBZZ+ ~BX0ysVXkZ US0o<qXm* ;
+2p6;=p\]t8Sy- ʳvv8`jb_134%j[W0!3=٠7spLϝ܊qmaVm] N&۩oKxEosџ_5Smw4ǝOUѰ_6Z5Y6j@2V7M@=j/aoփ tg$ޙozzV|{ U`Qh
+D[u_l
+eDԛo&_/" PKǣ饸XXZҋϬqK!E *}KNL_Yj2fpH:֙9HLKGg?bž o3>7u~_?'
+.a %F0|v,1'+ikg+0^oZ7W֊I5b)h5-@@EdFtҢ<@4ZRI!4v&Xcd$9__ 7i 8k xȸLPʿeWY_UÇ5*;jDQJ3i~$s>%Wy)sADC^гjHV&^kN|zpʇ pzx~5_6mJ! 6۝f{55[Z2@`+ɕ|ۍ^A0cy{}v6iǠ?jR+^cσ̀Z\vN׸>磰6;a^:/|2?d׋ +Q<P57Px _o!/eQ|߸hdPvoqR2!8E߉bw) 3b+on4n?7<hs//2_I'C"2.ȶ?g
+@]_uZQ_?%?xH-\wG5qA4Yi\ee jDqStc>LP`^:$6'?0X/VFD)e_鿜IokY;~i?9\Fj_KiY< PgEbj 9j`i΅ =
+0<֩,wzF_w}/:RK~yK^dGi ٯ)s&\<zmvݖcWc埥}m%ZjyXԶ6ZQ+C YH8,Z6uMX*OSev}Y3/>Y+aBrHS2:JyՍb(9P
+x䠛Y|8 2Dp&R_&$jZ?׹9- \!X KujDd.ꁶEۦ,S8ua˟k"$"PC(фůz
+͐.ޡ3mGfgif;4$ n#8(1{ Q=kiagM} ϔP.,8GH͉]׎c8Y!r<مis,p
+%'DϦb 072*VS9X%zn~D\a))q(gםu˰ǴH$q =1[3<Xu=G[ g$sU40/dy<{2Qcn(=M6MɄ4D> o#G< Q29Os KA]#)Wn |,^sf
+xȹ!Ş-F`FV3b99VfaD
+8!ڡ8I3d&SN|VOυ>g! ߸XAFѮHQճ'
+_=6;sNN""G:O5Qd(S-"TcwXF%&Rea{,e4HuPO8^ yTۥ'X}fr ~L#)7*dϨ0cWki).V;B['/#hjEuYhͣ6X<KXg޵ȩ6g-rm(97V6$=2oY鳝 Y9ꓽ'2_Se8)zgtn}ӜD~i)6=1<AG4EE;ajG|9pj*wn| ѧ
+iKERUhFꩶDHf [[pY$5Q2i|NYBAp3t[l*4CdȆena3&5UhU
+Sڒaܝ\(=I?`
+:h[
+=O&-Z 5]gaYM.GRKKnmʤW df|)
+5u UijDZcDH@3cısF3,{N{
+;^glwM<#ZUS&C`};{C~w̿12γ۹[dt u6x2r#ϳـ]|Vf0c3ڿ¿3Wz;AaӮmx~ v
+ T׷k=.=پ^ZGoql/rV5Ђv겺@6 :ֻXBF.4‚-ߚ"9BFZku:/,Xo4Zkv} ^>Mzj5h\򨻍zm@VɆux*daoP_דc2A h ٌBp');`v˝3!Wc{|~8Ƕ SX lvn)Vs؃@c+ W CކPf "lzXhJ?rS@Pm{pZ[ޚ'|FXlխq|Y؅SfSSJ?bUpxirΑ n ʆZMp*\2&VˊtSS"5jU#'cp{sDo0~p:mq&l:'kZ+/TwH6H
++IY^XgfXeQF5h3%[,{ u;AN%*!ˣiXU^ z4ZW{ TsƷ6k*\8vPk\6^Ν9t\쎻MZk]M8o1-~RVjUr^%VYޝM<Q!^hTQpe+!+Qyznhi3aȑL`$ydj{Q<MK.낃fߌu1wt'l؟_^'c:5f0-VqqsEZ y0޼
+<cln
+ϩ5εe6;]n]РNZ/&N D"flwgD ±;C#u\Ec_[[ۿ_?S큔ştMfpQ3<5†Q" -LB:Tz]89.'jbu4m
+F܈o+:^'f!)L)]LnLZFF5@ <Ru֥ ɦeDiԏ{S?^~ȕ3{S`!īhcjZw%*+_Or z ˻߱|zLCz_o}Oczvl C0%~,}%,}{
+hFj̒<7  ԧx\Bl6'Uczo8{rAȂP9/, '.bU-ύ9*O7ƌ5Q]䢡Ƈ_^z/~w;t\=ЛXv4bX5-R|ٗ{Vv.06~ጀq`^y
+^}P͆O|H ) >>G}5
+w&}qlqJnU4. ʶnvG.(S.v(kqߣ;O
+vnݏ7j~FB
+LPЦ)ضEksHP/l3{5%84Mo'&Fs: K#9}ߝx %o=x6}bPx]oYhH[{+kzKOXz:v0lB[^xnecVhӖ Π~=omU=O'8y/Mo`Ajml<8ntuӭoEq|w1HYFAuxS}wog
+chhd ~n ow^>K'7!}( ~#i+mzslVgT4'ʺueM7-=^3ѳWէOvm08\Md;zjJ#SY[<5Hrm;~&ooI
+vf
+^7;ɣO˥'n^Ғ۞^՗-lr嗴οv;miqoN,?Lhs9{⮺pap{~5tmT;i'Mѓ?i݌Xǎ4MLkL sV_7c9ݍ8ҚRbnj-껭Z7 jf{UO5{.`?~|>}Tٻ-fK'*$Pίٸ6yawWv_jPk_h *7&q4}iJ-Dw7ox_z`F[|t)lhJV{sџ]J<X0]8͏מnjVumS7FodOwJM4]?A?'Gw:挊UwנGar_˒cRd/,?Y~~DwV?M^hdNEwj/@F>ڧ + `._Z9YnvEi–[(}Ի<n^}xgjff 3 xb5{{d01ZgwmOwc18u O^Oz@%b'սjV~i_Kdbf/-W-/<rW&Vl4'ż{~QAwJS+%5/eAkC-_>mЌrn:>^]|~w}/}t2s0xǓ@9K[k/w\?Uz]:/Bq pl~+4-tuO ߴ:y 6֪^O{ipo?<^xw`ӛAGn}Ꮟ_@9K*ڕ W'+M7Q䃭?wYY?x#^4ށpvGܘޝZ+zŖ6,.^ϢUOgrf?FGF8wk|oLmmZWm=ȺVv7ڮv3GјbFkO͛BKҽ&:Ӿ#||Oﵫ TՇdVv?Ʒ:ХDH^-h7>z(:oZ4%Ef
+ ٍ3;gzn bd~(,\ 5xg~ɱ}"67bfvG4I".)}2o__86gSM
+Oۛ(O4!e `P
+,6%ATzo7E`'=/Wz1Dߟf'/U<N<(-PJ/G$ZG*|,R ]k=Z̓KsW./ ޏ۶<vQyH&\muYa @p>^Y9Hz/c6͈xr"o,/~&|mm @-}>Dܚ%y^6[|Ud@l/Žokw77VsfauMjXɏdV8?#4;qGǒ?]*tGxos4"|y0R<.n{d*8jݏ Sтƞ'nI&N{aJ45.B
+.z7[}~6~u>ػ"rDDX?'b^tpiТ^Z*uqݗUԞODG&#[vW:i_.2b_F AaGK?<ׂ%4=PnwH-zr-K: QzJf~yկw(rRĚz(eDI&z:p< ⟍@ԣNdbi~,_Uji\Wnmc| ofuS+wKMOvKNeUk{Ȕ&3wG~fWoL魽:X̔-׮Nzf6^_ͼ[^X]S{vax~|>LV'?UjK'GԵC{֋XZ(m6qT6<З6_'^vI'kv!GZ~wLtSez+MdLxpXŻJRk=M|#|'>\;=y>:J^;DvzG@׍#L1;Բn{Lv:bn_rL/Kp)Z4~~Ym=~ߌzV{y~c6F.\^ݎ"vE+IY?ߍteݍ^hz:%{jI_Od'MonU-zߝ"J<e:?NNnϟOt:{h.Nf.:]1^a$Y'3//ѝ~\(N?lFuZޞuѷNko4ᾏtİOOc3:W/;]B:1a yWbӻtruz4io6t,]}hl_]m17.c:mw7gq.[c>tJXYמڳߞmGv3aynxvT׎y1/ٍwGBdNw|NGѝnzTt٨N Md_c&ifc1ӭ󳏧[N) ?rL'-{9w[^Sjݞc')eb:=ܳX̞ #ݶy;oNb
+q%{9kO[E_.,1c\:&䧁kgVc~Z5W'^߬'?۽W.dۡۻZ߹b9OU5b{XY3姡q<}k2OAW;q63XKs[W3Y'~2n؎j/Mgn&v?̰O*AT^k/m][oF.G.ב?Ws_T\ȔCa~ۥT{˙'߄4w=)sֵ>='z&M<p`j:
+"[{ofMo\UPE!M'F9ѝb;%LgM'S:Q;Yn~G4sSE^`z/tiW[mNAD?gў4S2/NA/:$uiv
+2b_ڪ{xpt#~ܫ؏f#tt_ؾcb<!^~V 4oό;S?ٸgp˔uJPߟ~,N> ĴW \={4 
+<ŔP1e0du@[Cu_M2Řet.*=Nϥ<Qv2us6̻ r9-QGxe-q-s3N9.)Nж d '`xo( u%rd+W/q9k߾UCRXxIƷU
+/J'),-k)(LX4bt+tNVz7aH3뱼6O )^K7b[A'
+d~mD[C6;vSͧiLg(ݎ{xYcJL7Ju}
+ݴ=~Dc;&-. Ĺ
+i!Y 3/EۓkH:S$XMrea
+h̒3]#ytiME@!j0I'ǶvN!JBwnGw4/GxAت+QBr?I//}k|ZE,7ԕ|l/ߟ<En]MZa.FGWZw.DQ509yj<'^Ȼ G'2J-xJa KNx
+A?ꀝ4/qE`;9:aR|%i/qYJ*'xO|W,W)C^AƴP)BJLȵ}M7)u2h[XFX{ԓƼ ,$dƚ݉11t%+lX oqGp}A!p1ЕluY5lϙR<Ѽ :ts3& .SȠ2.9N'.9NȡKΠӲȡKΠK*.9C=[w]Z,̡KΠysaZc3.)i]=._j9# ~#i-Nj:nb0`yӶ+*x|!M2NFǗXrV[_̹\~ҫ)&*iHQ)sYJKEk 2׮BA0~,2{q*m:,m$e ٭av2Y~-ƘѵNniAK jI Y
+d3hC}f].w*+/>S}JuY'Xtpxz Io"f{XĊ]Y`(v{EUfOMOI1ԗ\ܠfR4ׯc |(݂~iZϝrb6NX|etX~tk31M4CJӌ_wబ:#2ɲ!oXPߎ[&i.s&.3sʞ:({WS+{q c{hSi΢FTV_H 0hYi1J\h'ȍtHsNJ.y2RK(bHN֝y'BUBIC\gDFr䱵xǾugމO F<O_:XFD" IG&r1$ Isg.0OCJN4`J)IȬE(5" SXdCzN]1(z@!!4^,2l-24 -`H픟W"i_O.9uQ.,oHa9>n<r)6CrN`"躴?Z1Gk:IC1]/4,޺EX(t!2[S^]AUȫKW&d
+w6n$RЫȖzµH{)y LL>e1up%.*
+ÏAgE>\RպOȇ{> c :.Xw3ױJ@4UPႺX[fYOb"ISzLdl&&r!ULd'y  6:3iS&$Ǡdr"b;S4\o ;+gD<[OcgB@k92H* CXbY(: Ǵ0L|w/FnTvOL>2ig t\c;%ciŅYKw[aM>K.QN
+ z=OD2#2{d!o 'OH "#J[DF*m']J
+0O .ǐLthY hD^pyeNt])uRs{F\erKK ,oVӜ2hJu]G"c2LAw}soK<z@+ofI^y Qzܐ"wϹ<ѦigP1itTyNJK<90>#u~!%!찋 2:;?}';aDhj3GՆ|cb E6UxPcHc" $W=Q08[:5%kgVB쑙s١Tqg@kwÉ;
+HAưh3wNnTv<5)z,ҥxDM<.n )qDͷA`H>"Nу'.@
+ŪHd[,Ep?E"C* |'ʸ3zaDpEVww]Rc0p7:;)|"qR^0L8NKJ wI3?.mUsbɓsԉbHAϦ-6X~D "ӡs@7C5"h;ܲbۉυ $1t*3uĤzE)])ZܷiLi&p4iLCvʦĺĦ1 2vv! *$1YSAW$"zvbN0<`9}T A.T⫊Q:2^;\iC (04U2KW=v8)cO"s+RWf ٌ~4mujwYZݮ3ݩRZ
+8}>ayw]3PV/'(#iPvDe|O(66@NtR̔T ZlgK*xXΤp")ѼsO%Z*S[˺gK=Z*4 "Qb:i-Zq
+P}Lp^.wuA<Y|0z1.||6㋵ԞBw员x`wd,8-9+:ʐ/7+IҸ6$%Tyv
+xOʩֹJHtqΉ:7C\Sfh):V06
+tPA)_Q*~jC}h w_wqJ|_O"K
+EkݟkCp_<s#Cs:er Ƞx߈ѕA7\G .z>OHTN
+;~&o,TKV4jǍښ3n}t}fJw-8 _/`|p_1G e;7?Xmk_ļ+plf/{%Y9\J;+mWeQM~8MbWghc rP cY]k@í>VK׍G=;׫OѱpTڹȧ[loxދ]̷l4Q`n9 !3#ӷh+-:dio1W{7<)Pͻţ l:cǮX /?9y|^<po7w?sWT)Z<Zs(#ϻ=z;>cT<guD8?-Uhƃ{}_m/bh.&n0cG5+Y.>e(a
++>\ّD8sqTlғ8ok|<Ux tj0ZϜ8W_<sѼ_=]^=F'ʬ'!aXE ljtS0\R
+Kve7L7[DmQgqpWU?8{wJk]0:F%Y+Bt2Kl9)!:2_}JRV+ Л
+X"(jMiՎX}Fƾ>< /ҐJ7s {pq7wQMۮ_mЅpTj8
+r*c}w @19 cHʂ1Vl^f(ayőyT=FXBE챞HF|=DO{LCpߦ
+c7o
+8•z*Sq䌵x5ᾜM1`2v&ǐQj4
+u_#`W̉"X]O-CgM. t~*^^2V/jf}q ԭ# Onl(Z>Sܾζ@:63E8A 5uXǼWuXʓ0ZQ߾S' -.u
+&Pǽy
+˜XT0m6KlQ,gMaِzsfXQU+hQa5?8)}|^aV}a鶿iZt9[d'{*E8)O܃f$Rp d4OK
+O7rAqT^^Nވ<TRW>wOxbT{ԡE^Z,>Yvwqf*l*<7b0 eM<%g v y_Uv6׊ձQWgFե_?ΖnZ,yrw6u&wەklNxg% ,w?>z-5q{VmKcV^
+;`pUOX`݂PPdRDY-?jZ-so5o{W5[zU݅ S:0GXo
-STA%%(XլH?(<
-cYPx[(
-OVӨRPxtMFEjhXPxښ|Qx~PxUUyGA°SX#(<2
-oSPEᩎ£*
+_%p:lNwէ^ϒ";eUI#{ eKEUVE7 z񝕽BKH/LZ\3 6[]\|I;m$
+^sa!?%%GTB%E:!T1m.|f-˪?^DDZJmur>#4GiyKqCOs6rc>țW<,tի_@8m9ow\$,`ib>}/pʍ,4Ruoc]*`ypNؚS@F'ߵ}j
+<B #P܇;S!1!n 5䄛y 琂1ծ<aTciJ K;T.wzwRc;1RN% t|I1b?{O7_d\"`s۬Ud{,Y=f})bKfiQYj}~
+|i_*SI
+՗2"fs3<-k4@x1
+m#icT<=;A$kUpVMcJ̚}ܕScOK BH=@-ppȶgĈAK7r0;;o _7/yߦ?긭Q^'黛W#Sݼ1Ϋsϯ__>_>hu8NhsmQGϝwѥ:}zvtatag'?G{g]iy-EҬ\ jWZӮ4&[vmrfA:yߣ=5z|jnGDtѲӨض[!ߪ5G;Z52仮Wo\Rk5=^s*~ [#ᝑv5*\yy=GA# =o#{#7#Bq݈Uq^2#=qak9d?܏֜yǮ8 Q
+ 
+}qGo~5W'1G]!_kx$
+UKX[1hKt>H
+j 4}ɷ9HD"ؠX);"ڤ $}yJ?%r)MhHF>iIqj^߳. wZ?ݕzdC.
+LiQde&
+6
+@z /yMeT*Z'զ 6T|<j i`5l=bBYp[|K` T\]#{Oz `Zt)Jh!d#+ws)ШϰQ1l5jJ ԝA68͹. {3F@O9Y,֡wS;ztUz^?˕vupM?'AH#a^4TBJGH_4@LmYIy"^:Q*9 pOV+, *uX@ ͍_%>hH/
+rxLQZC)&z^@WrN/S4;+d_TH+n`&
+9! ~
+81kfWXEX!GeR"4^G`BQ) \G]^
+31 2
+Š EwpwRA5ٸP:wIL<]!]whlBDzjܑKAD04e&Z+PCbP*vp^ḍR!C偘dtl@E\
+0nZJG!^R<[<]Q!sU&^&`oDjؔ06(\6  ))-J(`Ydj."bJP
+yqH4
+!T9#(j4
+ۄc$%2n_-{/Ij@iFIchɌR<uQд"Y"u{
+~
+a $7hb`L4 7"° aak8M#͎S.B@O`i sBdYVT؆<ufooSiSM٣Bf=6(c
+= C?!JY!%86'}L] VyhJ0N?6rz2@^y"Po |J C36&5@Ase$HY$ȢYHiJ ung #e>Bq݁ƍ$XhPh{!ݑNI OQPT5* % ׬fÀbH]6Rp?"L)0tz`ksUe96
+e=mQbB~D"70$p ib
+ .n͛–Bś6jXXI"6X,Ąʟq0롤aX1 ٠g&gMJ˸ OFeEG^h3 *
+ -
+ Łͦ0&(0v^kZ ]q&HHu0<PzA}aeUx`F'] :ؖU9M`Q".b+,E]Ў1^&|OHR vTA(@ !u0
+0
+{+hUShTg*
+K[,BBE;3D]1;14i/BI--lr@GCZh&\zxؒjRh}RJC
+&as!IT =
-7
-<ޭ$NkZ$@o8c RokG:UyB"=x
-PQJ:2=XwӬ:-?lјV"cn3U*kiwmT̪knUb=\U:ٜͪ7ͪUNJ:ͪkM
-N;|c!ɮQukTRz̽ϽAu4 , Y9u1ug)u9BTph:%ވ:9}vB9\]k(_BmjiGй{4Qt{4sQt[3.~OEp.?Ke_"G Ï6O3N$avtmbhSJWIv͂8: BDD`tK v@#IqTCTos薐1t[t
-KEy4֤V(Cp_Fኼtԝ2tMcZSV4ob N*KEk ֐oNێzFym<A .u@
-")Hs9 w9PΘƲDto&Cy6N]J/k&:4=sPcĴ> :8KnZeiy7N{ :esc;@}[ؔB{ᇽбUX<m? Aǿw.qD_V-Lh?t9uOg{tCJ8̠b0XX[)Ⱦ%3#Gt *N4x<h97봄fL3Pu1ldR2r궊k7Eo:N@9n+A@5?8rbP?Boro5
-TO WСD:au䶚 ;<-, tR1B'@fw+:ϰ=,3y*$TR=Z.dF(
-~ B(S}tm t[.]zDJ倓;A`%;YgЭVAϱ l9Q?+)1o=Ag݇PR$Q6ָ"v;4:)qA1}–)tjrDb&uQ}NAKJ"m5tӟ{AU
-S@ѳsfЙ͠D~%_+141٢(t|mU dVAx}Ԉ=1#6.CY0tu1f6Nj \S :f{ Cԣ;奔a Škx ],@f5ôY F`5c;ʠbYјaqsTߥ8p:+CA'͆R'!0?0Cpڡ=?'m$4<. >ƨ×" WKsTCmXf}sjgsʥ17uNKL=U:wBj1x6rN9snfԫ_7㭸9o$EԂ5[bd!vL2gNOřk*<~a<9gɰwp%؜9)Cřk:yzw[9 63\ߌkt;& FV\jXIa}8sMBw3J(58sy69s|8K̙O`Μ-gn 35- kA^DZ<.|A[ɴoN۵{k+Ů@4‹㸆O۸$V7̰nӨxM9ԧBqLXIe(\96nE삛
-zec #װɼ ,g?}:F V2nnp'vڍ&S)i{%@_Zys>o:8on+7U54QSkI}s͛C!ysRm͛}+oiĤ\tmdRoN/d@rQQys6ґ՗ܸ%l\HE, hxr^5#Gq'6jNۿk*jN߯j5r:|ΜَQQsnԜKr Ԝ騹4ݠQsK)jig QBSh(=^5
-@ʘ9EU,ꔹ;>SKw1GܐbYYsn \u2_nSl.}{]-3ld9{H,'\9}CQ`p;mQ)P9
-څI9,9F 2W"h66@N'2@NݧO{C5
-73͐S>XCsޕ!(5&CN bF!׭t )8frA.PrJ,? "GBșun "5j[^ r`-4Cѿ]!Gež!a@cȩV< r5+DN$D_D g290'I ҽr􇿏Y rٴ^9> VrR_.u(>ldQ2`aj *@NU /D
-ʀq(d,~l GzC%0-\20:ZL@aiHE897>Ԇ
-}=|47Bǵ7RG
-]_}KG L7էP0)~藹o=z'& 46ӂԣTU5׏#ߨ;<0mreyQ9͑
-n ߲$Iv33ʨh>savSO8+v6W{7nC Ì<ZYnqzz{;1/;R&~MsS"SQsS>F$7)r; WNf:(nscnRmLpvm*Aiirw٥2MXgtPob/XeQWvot0myyVpsP'mscc6Hmk
-"al[8L¶i.aHZ6hwmᶁ<ƶilmɖf l^o[*5T zM6 PP1چ[mR,㘩mR/cm8~MmbTڦItlj }\y_Xz UIp6 ,694LжfAQm6)[$& b$Aۚ .mSǞ)6rH6껮6-жF'2M޽h[<hv=;jgR+mR ,nV m?/2M՛/m#v5m\3M*&mkrC
-!)m`$2H#m(fj[#ͩЩmJ=c5ej7MOyσچ\]5}nj4/DPeRLԶ6OK,j,j[i_m |6MgԶ&haEl~;f3a$RVmMm+-j* I9XԶfRۚ5ֆKM/}Vaٴ۩m|zn5.aQH~өm 5MJAm0vQ4X4.mr٘mPj[2Emk֭By *=6 ;نJ~0ۤ87M`6
-4^?&-ﵩmWŶɖ3#MCm#6 ?ƶQSdۦÂm$9Yv/lHwƔmSVmS¶fa m#>1mUlVsQL6пwŶuƶh6δN ۦj
-l~a-ض\1E )4ql2+f-6oáj6њ}FM6}[r{ƶ[6e:ඩ
-Mck6- ަG*oAigki @>~J{4*7j`58ͲuݦnSF
-s5
-imZ[e۴g۔ǣ:&4:C"+j\6! h'oF1tg-fPq : DNI5v4e@T衁: E%
-nmS1_BZ6fE6MfF Z1x٦ERM.bi 8༌ ̕mgr9؋~چ-m(g6ܿo <1|}p[
-mXuڶL KCvm~mQzm5 .mC9OKV
-Kmjux(PhMM٦^ܔM vlKBBm5mOg FSDlS JlKJK bO6݋ |@!؆Zm(&ClC,6&ClӣTmp @Rx>N+ ƁlbRFcߧ^;w)dQ6{8MNZk,d[}̌H&ͫ"ȤY#Pgldg*UmR b@嬖Pl#xWUY6-]NFlr wS ۚ=WEldh79U6g;Z<bk#3]ym2,XK ~"+xm;_Ӣ,$^O_ k8kҴ+6w<Ful]m
-xeۚDM}T
-l# 8mݒwisY?lkÁm2MwkBµ-1hm4 L6$&'Z6g q-X{VVf?hզԊ`2 s{PM}jc{cWޥX,:ﭒ.jӾjJ6r$Qm'B[PѸ:N6e:m ֖T'f5hmҥ 6I~ܝObZu^)@Irn֦00Bk#8l+c;6"sV\js) ^J
-
-/dĶ9oұC{شrbJm5@lWj Ms&6mF6^lO˃xE`7]k%Z5qI}mVq1{RZQP p8$[ZbPajZu21@tJg}ҧw­:,05앴B6Zk V2iT%Q&9jPJ2hM2u vELYϳNY뽷7OXIug[voĚZZc'd` vovDܢW;?Uch2[mNjRjwp$lX5T5 cU㗵2h`K#洞y TۢEExqj4U5@g&:M Vyz,>8]oߪ#n;qV`l+|aj]_#)nG5(;R2Jy{i7.$5mYً(5U Wfu~96J͔;' 0ުkPXL _F~Rӿj,VG$5y[,$5ml ѬN"INRrQ $f΂R1!;PjE( ]Qj$5E+Ijڦ= ۵I-)flFSktHj~ƳAj:RSh^RmRtB4gEZ^ 5)tǘ;"Bf<@jJXk䭱i!m(@jDGzw@8j=ߕ֔{I ~pTg>ਡ`}\pX D-qnZST~<O6A>xQj`Դ1#h=Ўp+;'DRjx CLE i%HI1pj(mLSӧ[45}ѓ-0iڝ8(Mm+ՠ}2kLS;ɂyZ}MMheZ6MY#{sij P
-I4YiINSb͜@j,Ԥ85z4NAt0©V^6NMWqxؗLmiR#~BBsFZ@vf1uEGcm!ԒCjp;#ME LfѾq')`)K`I},rzQs8`
-rrSB:s{X ?FL*Kn_)RV'bC󚯮+Kg`iAb)Ȋt.FhvIu;\m}q] Sjpyman>~:=wPH"egyw+"VYj
-[`aT",$Vwfi
-=We KUb&*RY򠩱10%d[ԜU~ lka As$52 z/{\ql ?a]_d̶l
-%A:OZYݻ{ %
-DP$I (F'q4^ѮO V!nOziHiZXrYIi O%ޜtti4usW_q~{v~}:Qڍ݆7ҡN5x^Wok G};y!G_ܞq_ӨϮ_}]g7w[{rsvzj۟|ɻ8=NlwO }'ozWHȟ[=_/EY;Kcs~Z
-nh{#50`J"bg4z䱑GYeyQ?o}3yllC^#0U;|{ὍjM6cz#y8e#7
-aOUpuO/Ih[pNXqR/L Nu|? #iȘUȐzˍ}\/46*GA.t7!'l
-;]yR &x@uwAwy}9QrЭOڦwmzXMxg֯ù}CŖdb P%}<}r*
-`CnnI<n胊M w͢&!XCC6jQB 1;->@Y#Jɬ.LtQ1Y Zt&;gCs(cj`VDn~}:J
-{6k3֢2kF T
-ij$3g@cE2R"fՖzT2gmX{QMfAeʄ17*6
-m0ڬq8 9ZvjY
-)' uގ^/y0bLOpց6])ְԈ0)0Ƨf1ooIM g0{ޮ
-h`~Xpc;W_A(x(\ 1KDEjRٳѦ<%qLkTLpvf41e٤L71)}u,C$0 "]Hg8ةqbSlfwdƣO\4b!'`Ͳ˦ܵe"c(hL67bwBӀ4Nryj7M)mh"rJ>L])91Or؁vՙJnhgs?Sɝd,C`$<XuHڄՖQY<6ł=-"E!fZ,򔂞a3y՚ma7Xo&ǍGTz*,*MŦoUhb*PѨZBG
-K{iahlv$xW_;%  @uV&{Qb=U2$$v1 Fe^f{7 M+2mFK#^{&D/o\Շ<f!<>N5.:0n:MMlj9Pmg׺Km^@ؔI,+%l#8*foԼ}2GwN9QWQBŢ-ExYh+#$\GE^- SFdn)zHϸMJɼW2Uq5A4}kf|aKl<HeYΟB4GO6jjh_YpYW͡iit9Ӊy)35K`7v@g^$hIF41kV5Zj>U,hܝk^abj@θ3bβ>;裮dcϏ5n<HqN5ds3IpR0ِokPʞ5g.z0v-5 X(B cRt2QPtD'k2|cGQlS\ERyEH'X?C+~P?N}^D7t R -Ar,<b;[@bނk $^{KT47feT !- kWJuTtKTt4{C gjЋxCm
-  h P(@LJY[Y$ b4,Y!M<[ݱם{l)^!Di$ o2TMjoVȧYGIKJFԬ6;L#:Z}2b9 DP
-*m E!kO,JHw3VJf2~3>[0]C qX`_,αaE ]0JgE\ᖊ``f{&l͢mzBvH2/|ʥBu[<$B/)'u@"s8ʄ%$~G@fdfd %D'6!V4FЌ05u4q %IjT`? "gh@80Xμ  d\4~ή>ՓyFȳDJ9pBB7,u6xٝ;MT16ni%[kzL
-⩛r@ 'Wz)5C%D"&`bO\!'Bjȉ"IBdiY(*+ݐ4C=jɽ!\cUH4  BgK^8RWLgMRT[6A&aaTЦFފ]0pHm$٪Ҧ$'ߨE "CХ6~UP ڼzmD9Dk(CV;#FЫIaAi
-hxMxb%7%}oI%fKBtR9qmClā 9OT$!.f+1%n¬0&qI/4rAK|<ث4줰ܙ@*|٣vBubm^[i
-ZNCKVWQi
-1FDf}5o;@!VUT^bhl I} 6>CV-]l Z1f `(PBS%V bGE[UGY3:ѡu;4 Am6ͨō Ѵu"BԳ.9--ЁV{gj,f`jyќuqRTzo;Ǡm\$jRPnm/S pѿ$T)QQs{fS7R`J"k%ȉ AB̪d_Vt7N@n1XnSdmAn
-RYFЍ`$gÕ&{Ay`Zk7 5Ȇ[ƲĄ6˻Ӎ=2(>XEĴEsĠG5 47U*W{uk6P
->=FEI's48Q FpB \-o'3fZ1?W~P _h]"6pqn&Ml'ŕb
-6$\Db-%xgݡ'y'YZ6B@v! z{v;ŒXJʶ巂[b xa$@>56ǿҞ-Vfi5v c^[ּY1>fU-M!l
-ٮՁGi" Zu˓j!v-H]hZ NjыMJ5`Y4+#G L<i|<2Xl>6k+$DMyט>-LRٕnݥK-=+OU?I[+#+=vI29ĽAlކJc6β,y;[NPIKm~'>I0[9:cKa-`ڡ8Do٪
-r޾ϣ^n2;#:̀']!#sKS;$TJ1~n%S4/Qr-UCbAKeMU9;j.,v50"a)4ee9XQ" a]Sr˺ZNL!pa96QL)E)ۦڀQ7
-@h
-(ڍheA<š+$0ıvR
-if. _Azr<N
-shH3{e@<Yɍ^A9* wzst\D{? QVJ- ʯZ_ZYxlJIP7ٔkKzW(c$ Ka.#GYħS_`<q]kZG\sUrKqھ|tg-T 7-h4wT&lbҧj3.]3 )'mm35dgݢL~ ĘE*~$#\p
-_rA~?@쥞jQꋢ[r]I }CT^A
-G"%#Y,ɒ@
-]_B<{- !BHt*c  % 6Dad՟i催BUX8L襝!BSMXpQYpoIy4%J=Tz MhܒWz-^ƼJW0hK$;SaТʃ+.fl$̚)gp-)cR^^O!H^,w\젍hj ='EN>+E@g2p!;e+9\*fhYJL"e"Rrt8vz;Qdae_Y@ is <"| ޫ*X
-
-O6f{*YEK:&uJҘkUnC#/繰|zqI-͒ފo%ɐax@S0 z~^O)n^Fbng%u\bc6B&C, 7Xh`N.|%
-éؼ
-O"0ZogoZORr ϴţBtGZZ
-؃ o0ED|tm*x٫(BoU o Gy6r,EQ.-Qk"#Ɏsih8aÌ, sX oECsRrJvt=@+$0rz97ĉ+WȆAy&9 {様 \ۨN 3Z"d3aGގʩ]+*;ދ 7-,QA-/րPP<9憰ǽŹ+15"rTA$^&V[%d p*q"vbjMh
-+ɀb#;?N]鑭e-xvAp1[܍)lCYd lؤJLO ;f+??;Q^-LˇO2C8; Ř$%eMTlϮcc-Ҽw'8k\k A(UM1A Ia\˝ X$옿JS0N2dj˞;&)5܍:PK4QkE+g
-rߊfܲ[~PtGfPCYG_$, ZM459M7jAD6oPG<'H@2?=m6,/bNjȻo\
- >0x}Kz 笅 U$DvfShFͪDZ{JJ. dWh%\~v* ҷr\g,O2Y0N7\)*t8 D[ZrsX!eoN%[V_/7 \~1b1"Qw*1CV eRBӖѻUy2e7ݮhA L &0̿i=ݬƹ]~.z1O5T+sHZ#`r+1VsYAݟr?:YG2̈́8S#7tA'E0kqdo^FMoA, '#5_#hE'r'/m@~8ӧ Y v<$ vj<jsmG`Rv VkTG 1[u+gA/$Bo*WZ
-Zt~FBz|kDBcַ5Rkghxy+i߰xN\쒾- b3!gz]\%݋., PfbCVP"5Ӣó-<"ъ=NVn|eI*60ͤ5@]qrE#1B&_&4,m"thۨf`:cƍ$7xn 4c_PZxj37ȳVnсH_ivЊ
-g{DnՑփ)vlum\98[`o$Pd@J1ysSRHl׆=d@Np̟ȝZou$}Jn=[h1
-}7calvA4DJtd$Gosۚ^*CYR੒%&Q(ZG}(˭ _(^ɝSZHȵ\F
-^|1wWwGw|a{+O}n{O7#o=LJt߭xmL~A'Gi{ھOgu !'-o}{{u}qqy}{gz  ~e^l2/SE}ͷ[cIg#Ӟ]>{
-PX"V%˷o{o;%~w[ {Ys^^Q핷tKt{nm6~g&Oݩ(~c_&zMD0m ay,W~AmUQſ/<c>39x{~uzUˋ^:ł:?&o<jdvTW]~@O˖Ǿ˻V}Cwԟ뿟?(bܻSQ͋k%?4J} Mxps9ogO\}`('\y]࿼y #ɅNzdgxMt I=k7{ al/"."w, K'_> qǟ1'_}yǟN|"# f^pT7'R=1oy.}ysǜ?jE~<a53Tz}=0쌯U$흧;/_y}~rs]ͦ⽇,on_V~˷O<VVyn=%޻. nۻDzN7GឮN,O=?j3ۛO<'7t-M.zs! i?87[r/G|~AxؙLY߽ P%ӳwD};x㭙P'NOyigWU/Q/9{gޙw9{gޙw'\7Q}:{gӶeΜq<|n'JuM=xngUGV;\cbO sl"'z|sǰG;BGSO zWN}egU˺jx><VO_}w_Cϰpu [_bh胳y0ȿ^yBw/%wM
-#EXx*oHqΈsն|}Lw4ŋ{
-ICsבzH=7Ք~O_~g{O܎/
-촽3DcL{sotO6_dж_gBRiۭ
-ȾG*_aQFdOV/䡽ݗUkӳ}r(Wgw?=~ O?<>ʦנveO{[y:Ma}= 5k<G=r/-dm=~{髳{hDk<ݡ饩'7ׯNw6I[kon_o_[1{˻+}~ua\z/՛{ֵ//rOxq}jF?}?SE.T~ORk;=|ĻAl[K_F9מϧ=핧MyJjO3`SW,li.aևSfx{Ӂħ=ONl/{\K!Oˋ/N/gǰG;B?BgG}S?=?ȴޟWR'rqws o߶Eig_{fk;]֦- vM?5ʶCO3=gS?P_}~.ۂ7b>E ըg]ASiCvI^Sy/H`Wq<O(绑~q
-Q/bv`yvr
-tɶNܵ-;sxy~ۧEy*|wk >Ock<^!7g_Pyvv_ann">{d
-!Aox:<='=uZvo"C{":s@D}zyLɇx>|Vw/UV %P c:g^\OpWl#ʟꛛ˃_z;?9q:?UI??_y<}8WSFY5Q+6yͮ;q9Ԟ.w~@OЗt]S7\wcr9<ǽOCc;/O!OχG8?ϥsW:W)8ҕ\ÓOqb㘜! !%Uz4B@\</9.GrrrYwr{Lw#&ކ]> ! ?u9"й*;v}\:)ԏJj;a~w?:aX:ޮ]bt}p}ѕBRHuCK:xuq]tTR|#B2ػڇ![i*eU)#o9`}t% F
-K KalpjCuqcܧ.eSr+b,=8k]}꠲PRp1`ʁuN8xp#,w]Ofrg;rO~`+/Be }O;\Rm τ:#KCVBԢr\RעneȵlʒUXԏlʮ]
+䒀AYP,A/~
+k7P#V ΤX_ +)Qʢ P
+L:mOAp,Bh%rL$DQ1vjdir"Yii=CTs
+F/𡔊ϖϙ %V;jѿbh\ٚ6O!<y4pM(}" C!afDA\fN6Š!Pp׆+~ at?"?! P$UP^R%a
+;H Dg
+1 @Xe/&càH lkܙKE Y"!K\n)kp<M9HpN!G : э<B0X kYnOV)aXg*5,i$!eCL>nr&Zw
+tFEt0Q7Uh,C(|3SJ5bRnp0S1_-E#*
+hA B
+?3pU
+ŏ;hp_'\`_t%Oq+*XP$,-pnPuH쁶E@HSd.pLc@ ll6!pn߂#uC챸h^Cb 2<cHy'$
+*TuEO/DfP(H)lyУFQ`]KRi!&z.G kTWY#,,D8rk !iAqeVS PzDwKT0`iB7r5nJ7 S& g<\ ~&T*fviN$DCVR3$k+1r 566` A[ =`6@"L`@@U<NO0P
+Q`˿ `: !(=B
+BV\ű[OKU!yR!P qO->9(7+>#̤3zuPX9!ZVBS'<N}pA
+8䬐-{ۺ<LX t*
+fTi@M6ȥ4szmg{|6)<Cg`6h7+-̇%<YLȅ$UcaZ~S :
+M\*4@WuT|:%4W1HR-~ j.]TN&A=p:IO] }Ԛ}/KY[`3F t Eb`3ͤT W` ,y,HA7FI@`!u^6wSb3 7S),?Z@
+'$hXEκX&D p(5"<Vse'aS
+ -}pqfh&즎%@YсAFtCʳm#!VaHu:f1MG
+}FŔpG@VFXw¯tH*Г&NQh0S!wRfsgq!rK暟AB |SAczh"fC=b0ⷚ<~Hx*puEni PF*fdMV$PcD7驾(5cha bRMV-YlJ8!lNp.M|5~Ȋze(oF@OS"sFN.Z~ԖT[ 1$Vg_ĝ<4FV92%b_ cɤ &tKfyI$4xGP/:E(DsCp5yLEj,u %!ƒb1# H3AYJÉNUZ ͖ڃd9lmj1lvl"Zewcad>?N,?AE*
+T`H ,ߐqh&gnkUp_ۖX,
+FaH#jrnEX`+&-S!X nfaQ-$"!(
+Jtfa+L,mQEO\Z#2d0WsHlw1UFD` 4/PS̐UQ0\}6]!nPYTQ
+
+JNRM\ED7S XW0xcjO^f͇13Ss)ks0x
+ӎ1^JBh
+7=y4#!
+üsb#0(sF\9M1=[Ԍ
+VP "R Q"d ü+ʊ3v,lmnrrkaPyF\(R3x d**a;/? (4I?GΉnK!T_Os
+Ng.zmiR*Jh7 we+QkBxjx@=
+˪8<Sc-d Q}j04!+%P Y/nGDtfЫ> C  #7¤j `|?ſϭG#VEΩQ"9 fS|=ɥC`xH4$U#1ח
+)1(ʡۂ$asg%ONb =sm9d: ,"c-P IJXBEj;8Csi%RP1;<"M~!Z"
+
+U!%d cjE:C2A'*K IgP{Ian)-շ}x8b0!;p/~ؒi$+TY^+wU 1h
+d+k`BvjD*`/L C
+`bhm-S}m1b`h0AWa3 8 LKčr)MBۊOjբR˥C`Hp0VX{#B1;`D7Z2͐ɥĦ%1z"D&Ȓrux.S?\
+gb a/u5pvPd! &bdCU1v(B07ܐl5^]fz 2T YaQMq wA֘/"j×ͽ񵄋C)`H ={|gD!&5c`h_a5'Kr/ a$+;S$|b҄2nT(
+ėza802C=2!&x,pWE֛TS}#yv$<QH|([le; %ҨMxGJKGabH0;"嶐aW504;p+ K(CIbXM2<y^DKKD
+HatY(
+n/r4S4D7)FKtV! 0ěx=vDDw6ل3-ob8wqK)F%IHYJaCKIF0ƛK) SC0̹.?ɶHbHS`(ݢ#ch0&1ù oSyrӯ;`-S%lv &D>NYKi
+p! Dfqa1)V%E01[gXA;'6u؄}&7V6:lV`(hXEci_鍥C00 
+`XECa yYfj25Rᓰ:Jb(R}yDw < C
+kf㰕ZꬺR3f׷C
+xUP(MP~DPc77vY ahFOTjq+A B=(&!$<Cpms&;JF)Gu!;O0ϖxCv°ðu ˸b/q(5<ϗfA瘠}vSTYY6
+'˸W~ 9MC@aIo a
+ìl}賡([- !m% $H{AADEP6D "bX.6:>{ 7ݿ|$$'ګ0`%͏烋 C
+<
+ب(9[ZZZh4Lψyz0~A)J?lP- Rɒ
+UW缹*Xo8DCʂ}>Z<3}q݁nGb/ȩ6
+. eXiC#M#F
+Wf&]~
+\AߏUXybd8n0G#cU([[VѪT1W߫2St"0nÇ
+H#0420d
+!9ɩݮSEH| L%T>Z{NpyEAbhSE4ߕaO(>CQS
+|7(&$k~þp5KpI ^b:ktux YSɣRWͭJID6E1c,̝LFc4a/<OYa(!5deFfnqU(\j*(0nM}uRz@Igejo?G񄏱},=|04mþ4]#:Oi+;֧4ם ',g'> C=pFCAΆ)ٌ$Tv
+~P"AרWˎFPԎә?Mj
+Յ(.%$Mm U@B6a"^[~nF")20n
+sO06
+D[<? 2Fi )r5ADTʨMxrZ)/
+'haD}G JGuj
+aFH/ sd46t; 0]04Lá*te,#b=)6YK?O!$h'n=
+uͩa =ߋ= 54RL:xd_rHiO|21Vpc]t EeJ C:HMcF+0dKj[xEHq`%nd^2륚L  DgŪ24]3dU0!7U Kd8,z
+
+dt1Qa(g>Tɴ3 w`FK#$5CǞ3)*T3{dB>1d ˤF  e++MfؐH)KqFSܘv?9??I9_ΣFJH81YB,1_O#eeeaNC-&(|އ]XAdž,aQO5v8Q*즓?FE9B</2ψ[_B`˫P| Ml# k2^F*CxFE *ehѐ}`͟xĪ
+jo6 !ndDz0zh%CJ3QkUWح\k{Ts.r*4riSj HmnHT0ѐZyN!m܉](6j ̶K/4 e \TȍI}!J̔TmӅ]>)5lGvStkLc1DqdPI;I'oJF8>2Yw'S ,0400{@!|7Ty" 40ħ%B ?.ʿ
+Em Y,֌U5&EiJ4 ΢[%i9@О!0 m Ǿܻ, ,w%M.MQݦr5)NCb\ .DXH'-?Uf9R5έG핏SHi#n 9"$q+"RIeFw,kfp{ %A~S g6߰h^R="@]yr><Wcho B6ĔT4tVQn`ij4[RreXa|ހ@.饾0t!w`y>QF>D6B=A<FlIe*\e/Du닥Ә.]n{:#Hi4d6{ɨ@ s>)TDJEa4 9TA)*a1Đ1 Q%ӥ5kT_Z. ̙0-€]TRᤤ N`pdFJM 5|!HF'3£TΜF{E Їi4F;SMNqQδ,.Ġv1#|5'*ȟ:jKͨ/qKX(BUU0X-/8_sΜB>FCset8.2l-dQ6E ! Vm`K6hP0'RJ0 ̣hb) #y!J%JE\s g3A]5!dW@UtJ)lqrK*N9!n wXƠZ&;X#;HNJ@Щ CUGd)+z[۔>yB4ʣRP(1rlvT6c*,-NqΙ K"eo~i񅤦J;˩3*T0ÐCҍ~>Uд@2ImLl~/y_HL\S #Q =R"s:TG͞cY2*8EӪShhi2
+)( RFa XliNƠӝDK>#☾/P'PaY$s L%sSE"ڶz+`_6n(cVi)aiȉ|hϿKdrAIw
+-T0 "j!) )&8؜)Q!'Tٸ#B/03hu>FFsosBʩ-V;HîSS1zOCoi4D5̷ v^#蠮4R0L4U4!0d2 ) X΄Q`*@ /jʾItg2s#[1GNi"`}bxCeqd*06ԕ!LvyJ <d/JWaP
+Ұʷ#X. #vJY$=;yjM.S;!oF7j =?#2)dD y6 6Lwp@
+OTfb\
+ jJ}EKPm}EP=kEpP~ƒJ/‘&jUXe4tGCAC>fmHJS&hb=nFUM*<aL"bjmJ;@#d+mMׁ8?A#|5\@ #aҪ
+IVNImT-ٸ
+ AFˠa[﬽MаK
+5!T2C;HE3"<3fFiitMh.$Ǵ֦OܔLhOH q^Nj>RW@UH306!f-]a@f6
+a&'anRM9
+^U :E.\f_@2hKU2 CU=/H5b
+]cu4 $!
+ϔ {NriWp94tFt3Q1ӎ͟<-2E0w)z&A1 ;vJ})4@yf,4RCvlRf"1%<Rww#`O22US5a]0~}G $wkxe9O'[EnQ' qn@Ȇ8PHh 'XX٧Rhh#:MP0IÌt :]RB|5Do{_TIu2U{_Kaec3đ_L%E þ RL$4US@y 0@(N^؊&ʢ3Z,Gb"nWTPkˣ.*bC.$SAS^! & m<Hg,JS?CvG(Kq T#4"st]7RU UDI
+}ADEg P ! Nz r0E.fb(H5\S{°F2 "B55s-Z,3%+ybs'
+%v;j.Vgh'
+{%"16΢#ŀHN<4CSF2@nF8.ZJ375RH=F3Tc&a
+Ҡ^t&d'CzSk.5jN0 r5!ϭJ=[>Oe7P]"*4n1z|"]J_*̜ T]Y\Έ=нKԋïeUK6f8ȮjAх]z/P<d6422)TU7 FW!NHF+_*Hdw %qLF &H$"^ _&Vd4ߌA[SXa~ J+O}F347v&1߃2<N-T6 }"yuR4ĄdCb+d3[q9Ff65b7+D!'_^îi/B&ra qDF4&J} `(PBzL 3$y[mcVn&IFZV2YHҾZ&J!\2㇈Qb`[(PE ULi MC &1KPF؍/sR !duU1hk6 mlAFw, K܆v4{6M2hhhdt(;=⿺aʖ>_}c0Hf$Hw 5]uU~٥ۉ~s&RR4o[fz%CToeXf:n=R*zd47eYYexGGFA@dW )5h ,t2#n0<(3{$܆d M6NPTpC\6 ==HM4$L@et52!5l'8hHǦR> &E*=6
+Nߠ9(GuߏVC<L3IWr `@*lct+E('SK@1c\\nT$ !Wa8 -ig
+L]WaP
+H"]VF/BahADq5qd"eRDR=ڎXM$%M0b4,ePEPᶤ KӘ!9 ߃A4k[QK.dxDCl ahJ+H5r VWA0MWa.mA߈>-nEɀq>IC'&*UH4&"ۯgt[F K34Lq*J0,ȾS!))H8K)NAMSPP5ꨥ :2c`eK]S5doP{[!:19ß{*lvaI>:x0g%s v}GaU8[P)܁R]2Z a8B1hHqtΰ3hW Q*Tð9NynLiKgAF2bހ{uME.E (Uj㌟mS'`Pd2C\ Zh_^+V mJ0E:Ć 1ǽq&R7r\#_B9lYm2er+#!vhg献ٳ*bЏ_\a*;0v}DPJebjhCqt |WAvm"C}F]khWeɤ4nF:_ʦoL E7w^-Ƀ='ylA=[ ,qI,2KI\e<$4䗚O6:jB8/nEƠqlRDi
+*4iA*{Qэ|T0v]vޡt*} I""M<-`IF5=`[ޘ(_f
+,Nsf!A@ a)"o֯62jR cD(69hroSs0Z0)<̤J޵"I DDcS-<0~OG.(3"3nib+=U м/LLS8F hsO짿.1^5| hT͠-}yFfzy&+S}qCK,n'cg4<GMjKg)fF 1SvYd7Y&TB1 ɊO
+-xc>eS1LAUעz cMȉEFLWACE$R'bQ& MI5Ñ G%"A03^m's9hB/m$3[3>
+en(ic2 ;HwnS&i!'n\.aSor \Va!r%a$f~#I4_3TSyIhf `_i p@KPyDST!SJ(ڼ+gbX
+Q9
+ #2mNX &"(dedsze]3kA<0ڙ Re(}Bۗ&@8.ᢘ#vvǓN$ 0h j9[K0[v<rX] p<ݴ<XMup4M U4i?O:!fAT>6FZP7jxS9pѤ"[JG.+addA*= RqY p*V~f\h-Ζg4#[q4$0/ L"B0K"3AUqWnt$A
+9FdYI4-(Bb::'{,DLOu6}j-( J $ I
+_Pu5c'LHZn "zNIU˩S[dB&rk$E&3- (2!\N)?9Hf.O~q߅ .LQ/Q"×ʧ$>bxS2$1շUYڮmIGFFa#}ᢡ^Nmt\#N
+AGrH>79JaNTѨlgKE+
+g `ǭH)*oN0Q!
+4>61\|:s(o@iO68"]z_z&jX 9b 6#쌬0!r$iDbSYm=P&s+9Ym/'tSt ?!UhJz D |Q(bj0@أ3-p /[ifeW/lUjѰB7푔ԙ.fș} HX<UgrӨk?>-=YƫatpR(y^i(  0JaoVoRg\$ZDFYmluIS;e *96u6Ut<D:SNj3n*c$%-]aހlp#ydz3*Nj_t{fnrw}LҤP-PVS<q1u4Qߣzv\F]x3uUa@!
+az,1 ]E66kLGZŶQ7_UaϰNa)7
+|UWcXtRL[^V([l
+`s4 nLDjUu\cI HW!( QF=T@
+:Q"磼j0ńIni
+
+c+ԲK ,DsG7$-2pdn&yf1Į؊-,RBd USW`Q+eovƮ؊-ʾ<7`8QLi_ʾu&R@SnV-tǪ` P6&R5u4vVlUڅȹm:r7]SjZ7f6Jf[r0F/_b) =g;K؊U&WDyLn`I8|:+ȹͣ$; 6`1Vl,X^U+A_.alŖ, ȎdMEHuVl T&H{6v؊nDEFsu5%F؊SZ0_%;kJYq0bd7Q:YllU1VlEw[uc+Ϊ]lVlVlVlVlVlVlVlVlVlVlViDc+b+b+*?WC?LYJU8+WiK eK@U. X .2ΕK
+<i)Ħ 뉣_<X@<[j{ӛ94CRs+$/ٓ<VmڵС}V~OZ-Q+B<\ed : $&zYuҵkm-wsgBee@gB<X?uN]vضUG)TPK:SrzN<X]rYM|sr{իgA^mZ)uk@Fy5fՀWAh /V݆qweۜz)ݫ[Tg|zj'{=W?ϼtw
+9Q845s[w+,<b 'M`JNT3%T(r#Lcu:5kFʹ''9- WxpX{i/E2VR2 )'Yu9{3t޻Q&L4q
+2|^+-5%ɎԮ+
+ ޸IMqC| ޴i$&2,P.,<rS XڮEF;tJPax})noF ٢e6m۵oߡC۷k&U
+Oby7iǖT¯bpƖȧ^.P?#hB!'Y8=l@qAYTҗ_Z xPj.{*E;t5[^^~~vөC6M dx\p"v:=åLj1GgwdBjZZzz_LKKb"jH,|-DV.?yTw6
+2XЗaC!z4bSq+tɟEETMlf./ պmN]UTܷ߀4|Æ<h~}zvԾ Io#"RhE1jթeOJjѪu6Z.Rvk8Y!iM1BsXӟµ,YCF49,v
+]tIM*ޞnױsW
+=@*m $zuܱ]vT=1sjjGE֘  xt0)1KPrAӃax]z?xHP8Θ5gEW.e˗_keW_E ͙5}qG دW8^! W5Z)L1U4oE6na}KT4BIޅ=ss:dxӚZk^JhZ) S1`:CN~7q,^z+[z 7]{M7]{ kVnW/Y`i Wߢy]:0\!%T0ZTt_Unx؇5zq`њ-qƎ=jİ!),ӮUȗ̎-+JHðiY M:i!OsG<n=Wآ*(;pȱΜ@-[qݪ5k׭eínۼv\7߶ 5V^͟=}ʄ+ߥcAy-2*j**V?Zu6%2[wҽ!#F0mƌfkXϚ5s 8x懐CL4[; ;0"k`F X֩2Нي*4|)3,kV7l|]woٺ}ݻm떻ctêk/]<IcGߧW~qpU+)8 ۣi3[hK,]zZtɒ+9 =r;1DV C!|g0
+kSmܸᖛ׭pδ #!oz/4Y=J%{۬tl4/ز]N^>]o|Ȯ'vݷ<zzᅃx}];z{mMkV.r>5rH0(+Bֽx 3]r+{lٺu불ܲ垻q˺[~F,5qÿ
+ 
+s
+ =i7ݵm#yg'O~_ W_<_|!`W_<ݻvܿ7]|1 o􀘯 ZXX;7bҜ׭ۼu87| $O֛oF۷n^w9F9;@/e O>0+ZBI`332{o|'Bu#{@<|}=?}|W'7_; uݷ|Չj|ɞc8Rܡ] ` ~t7I0d
+[bͷ}ߎ]{p>
+`~~맟~o#'}>/xgzõl," <*G pKy2n6o{_>&l#x  > HΛG_>ɇm^rqCzؚVtZBdMa 0UN@ 5qƂVp0}ToC "ͷ#L?/~ > /?c8^3{{n[+L7_3Z- ,䇽E&Yꖻԁ. ė_|''>|/xjwݲj霉wlknh)bDK[u\%VY`(Evyѓg-Zj&8V}G
+hӥpW^۟x9o+uY4h6?ώK<[rA]%X ÀHbSVig(
+v۽WRz'ZX`|N~7S? Zh $R2V)Yfm7sٱxϿ_~?_~?z۽ /9nPa6tP0يf5D`WP3buӦ{@{W^? 8V~#w:TY- 'xywl֌IlEDxhYKVmܲcW|//B<Yo?+vزqՒY!XI`$8&+zĩX%{wYT"Z X=^}(H'*PZL/.>\@E\Z"L7GP~m V$5~<o}ɗ
+: +`T5?Hr7'?F롭ݴrɜI#涏{:H`}B`
+O=MkW,+_O["}GM,?+]E
+/؈WXT-֡$z^=<WɈ-,؊F5 `M а@ >L:-[ wn|{wk/#auU /beXѣO>kܹ
+ ]t+zYsȮZk/8XUIO1WDo;,<Xu nxeEȚ`-j,X|ĊGт #/<w_Ý*aЪ.)EAd 
+bEVtQBd Z6{*e-; -V>a5uyM8XBd +Db
+RtU!RP EkEӰMTU7X
+j:u2dc&Nuo~ᷔ!]}!6\H md`u@6͑ TMes 6jԹKV޴y=W=.h^ߴbIkh{$X-ۡnw6KeŦ;j8dɳqևw?'UտD"&kE,,˓ظnX~WJkbEDߋ1#_ҷ&b#<ij/GգRUVzm7,;=be2X͓NgTO
+oF,RRx..T}>xVVwfII)Pk>#Q_C;`s\[ +~jR}վ;lQ +CfҕA" h]l$W\ԫ'v<r޴^qY7d5+E!F$,G'-Y4,] ȡ,޽Wa/X~H=хnT[DZ
+-k8%15s '{J+]֩]m@7yAte<!Q:Z`4xf7X8ufvx5 <ixI.Z>_FE66`5NGsc/R<DQݡ%kck5j"  
+%E5aF4]H,mU~X 2C,gyJ~N~vQ2|Ḵ8r"+`aG#*d50`͛<܎mZfef(IWJeDUBS_ß, {K6fW@%ҥ0j`xmvCG5DVq[<i͒Τt_f=<5<D4,@3SH,l5Qs=E H~ dX
+@jٲU6<mY4<a;xbqR76ueIs[7݀(ރ;D٭ZnX"kҲdGbBū3tIÚ[Ԓ
+V $XO<X7_]H0$*`݈=w&;EkLDfGG> lUŝ{T1^{$_n h,;mӦmn=z)$hjz3{BSJt6ѺCbzBU
+#g'{t,
+AbN4XSG]еSv>|׸QF9
+\mL69]tT1 W!l/fMJ= rs:o1'Y8|e#pD&u t|lu:7Qh
+oBl]GR- ӣ[gIѣw59/ ֫[/2Z7mŔ#ҕTZSチUHKMZ
+r
+{t^г#9n*iQ^'YMp[MR+a" 3x꟏h} bA%?0Voy=׆5@9B3,Nq:!9ԩ=
+z*.4!Jzu _v ]R$pH[+o¢iF <x|xbNb(N
+{X޶vYG ߧwQQ% 1;EV~l!.h&C.}UocO=yaaa']I*d5~Es<bz!11tU;sI[ܻg4 q!8d4*u[l,6~(4.샏>RCg.I :*:Vx_]wxG?{L 8I(G$49Da"gLN" zۻ{z4#$am]F5__Wy8 MUk
-JT\;F|އѶ6h \*8čӽiQ 7[\pD0IsDyhorRH!Q%,QMhwrՉ˱+Pe7;'o*vs]
-*敒W05;)!5THX3 0ԋŭ3%G,$ZGGj[8ԪzȻ:D ?NE'|K'qSW C] RA_C5MG ̛up6IN4@:ViE} "?^,
-HԔ<L^B;4q81i}>z yo]+n0T5K] fo9j󩄮 I w7ouHiP{g _p/Ղx-4x;H;l(!d@e@ӽ|&,VF]YtI-4
-M$g !u<T)ɴ>S8d뒄*VLV6YR%L@PmOtƃQ'{ lx
-|' +dOM ?^D ص }T#iH5UYzGD|ܹߩJ=u;`
-.=ZW`yj?;Bw0b$!Y8^(
-A/׈eT{y& =O ?=:A*aCY.\'~զ"±Y|@g3iɓR<#.R$F yfs*e5h5L1*(P V.&5+?qu 3h֯0j.: 9
-*sbaQ=b*=R N<Oq<#,-.hp3bY6G2܄0UΓƝSe/Y6=$/fH<!A'\<릯;R f학OuTNgx!TUSP@>C6ꤴCx HWëe$A Z~!g{pXZ~vJ %;NNY6edr>YF|46 cGWal:lq{TR>ݪ~d<SUzuza#fj#M1y\vCsSt,f=,($f #Zp^zzo8I؋ě7?]Jg13YgVs>pҧ ѿ .?-X\@58"xq*', `iheq)]FSgΐ!8pIu4ڌILEO:0W SZoXKpUc@OYLt2!\hGNea5"8?2Ui>(ċ$q&{Qt= 38^aՂ UKNNWNb*13<- <GH*4F}p0T 5cNlRawkD7 駊xڇw`AܻNŪ|MMm.ʤ"B(K?T;O<e=It_PיRI箲;uK% MC2`<nȼڐ4˩9;0ICW+#TI)tTx*taMR b`r6Z2ϣl/
-ZpxFuNgO!PpkOQV7 ց8}@tNg h >`4܉ՇS,c6" 9C=H
-
-+i_kQ?Elߴ+XrGǢ.NQNX3$+5SJȆ.,P7۩+ W`?Aߪ7G.L
-Ǜw9 C_Ǵ>b \&~W=~Bde84pnG{%`
-IKWBs
-IjdLdz,X=Ak: 
-E@)>Gf=!;":'F1cDdgFx
-N@4ѯ53lD|Ws
-~đX )RÂ<A3M$Ajtm# }}(趴Va kMiidsR:HlL!؟rd0Gےj| Q
-"ȋ=X"Ǽ8!:'4ylͮ_aF:I da( U.Ա'?,4*n\j'o;0\&#W)ЀV 2|S0MH<jV|R,N= ũSc5yk<'ShՠwsڕTq`W3XG%=i D"Ôt:'/S~R</ُbO9YY!!"䦤ڋ5Z~@XH0v5>ˡ'fgY ǂlLc{G|`/[OaLޏsZC=ko7E@U])wE/RN@#dΒmhy-kO6|v4SCΪ=e)9||˞ mwϿ%R4CFPEs'Gk"HJ&Tkᛢ W_ۻZXgZ*Do7Wקw/r{zZf핤]^Jp{q.vZhUer/t/?ԉ:J9zl_0)BO#"0z%-Ͼ]ooO_\_FǸ9Yi1'aQs\=<|y3fgggW t~vmgJYҒPJ!T`l?g{V|Ɛ$Nn^ U4l Q뎌6Mq\@ge&<Mu}:On/;Ir&% Uw:1 ,vb6Fg/o71mc5}ʽo($C-ӗIFBcVHG_<CҊɰbǣG>qѢ^b:Xn k1Nt?9_tb}'8i%j隮yF?ᗄθ#QRRСL0G}}mץR?>]OYj|FW_{ 8>o79j\/NoW7w;t~uwnn.ן%xsBn,ׇ_Urnt6]XSN
-BpJ^jaw?XK! / C
-<8<lZ 5H:ˆ̼pDž˴p+U\,*_i.K{¸U4uwQ8%6IS;TيG9.)<>
-cf=*]ăH ]ٸUo+wg/&Ƈtzw_o>;ys͍{׀c'~٧ggo;E&ם
-"gZX<kYCd@Ν&i: R``PFHIs-(,Q
-fT#
-*2yPFڜ$e=_{6Zo@R&klCF'}s$0)LdjJm;8 OA%".&|b`N"/@-`d#OĬQ Y]YRۈ 3SۈVFH=+ ]$'-,mQ 
-8ޜjpM'pӈ"X4
-rd(#El*
-G݃U^l^Dy|b @e{Y 'AytN <gl¤c;K8ʋ(5m';zB%a Yk]'D b&G:/DNq\$K/^+ѡ3Fb>^ggQhd7J;,n5Zve0{'ulY>#%Y>ZHUGN/,pP90Ɲ=AU:RPRQѹ^J=cڴS7̛&`_^sDbD%n'YZ:N.qfݡ& $̈T\/bհ\4қJ.R(E꽢% H]
-tfDzU*%)xy;3 NF)RF.jD<Y-u D:<ԫV PZ"(AZ=㩔< ,%(w~ /f ÿrz1
-FwF!8UWy<MkynUŏ>c5+Ek8I2$XJV.we*+fֺ}2UtIêE=dpQpR;()9Z4
-YԤ
-^*. ƝBGVfw $_Hr#5Sy`S
-7 Vo]mfQ4r."OQ3vtN߫G&ցQNjfI*[BRH!{)@yO3PL ,cB-HŁ{R<;Qdaa|$wrI:5k*dDԵ/* C,Zv$nA4MzЁő 2OK\Gp0D]r|IJ5%N ziF~G?-s#6Aؑy̨2(ZFu=<Yq5S5Eey<O*+/3u%臤^ 9pn8[HfAkTo/^tN<Bꗡ~ĥHIu#/zw'`X ,Y1tRLȪ(RE{Y*R`R`<mPoRa"SX"`d{D:ԐLqü;D{ߢ9(
-Q$*&B˽(D-”A'(*-H%Ex3}M=kRL:v%wN|+%hոc7KC,SNiWUt(%'qvv~2{Al"8`=Qb^xc
-Dp[;2#DK*3Fi {"~_)܈ :1A
-bs/w '©<Vd޿$c9aB}Rt,:P*ATøH.RU97 S
-Ѓ^uDB#B[;vؙ^Z^`&V\saDI0Ľ٫5y>l#fSXjCυelSJ=xpk2@GQ
-JN U&tXDZ|>t x ,J ]0WU'Aw E^k*HǢ(yP=#|J/3AeJ2͓EҊY9Y<U7wmodfz+,ϩpi`nӂٸ1 +*8/I:DoYx6S)Hx@C{;nZ[))޲\sM)h9LI*\N 9Js PҀ4n ,ics8Ut~uBB2֛ Θ;5E(.$eVTe(T%7Vy07S>ZΆucT¼_W͞5ݎ)<Z/eIfb+/vuZYkNǕbfo}&/R`W%JVJ?F:?S ͊4'X7a4әxpMν4s\ HzSKAЏKh6ð~A.9,3S )Le,Lk¼" FfdBmp я$%P9Vz+_0HO۾A\;iXad j.m?YF_pQp?I~r < mtKHlg5QL
-B r *xԢyd ̢"![آhM.0=y sc7\WD%
-}iFcny,~ri#–a[p1
-dnq~^D?(D0XEfRd6!1ShuD4~,̓f '5)s
-}z39N~paT$
-_fLj<~(He>+f]JG986R7E*@R(%Tm@D%Ij
-}Ib}@iњP5_*rzB;i<fm
-xhVAts9k_$JB 2s%OH^[O*]}q.kюcAA
-BtK Xya/cк(a!@oq aE
-2'.aOZڠ'
- 7K?%zb!CT
-)s2FKAP w+|j
-m3AtXР^MJ'7'BȘ:5lМMFW&1a>3<.t0Qa!&j
- fАMCrsR wM^X] 0Ȯ'OD&6$ڌ˜EEt
-1*Qx ZE;-I#A+\Ndp#$aŗI!Nc]7ҋn4!xѵ,+[HzK͆S~@ HZ]"d%
-/rW1 2I6RU8TERb9rnBJ!0/̰%y6qBSK&䘒l6ʬdwsB,)*S:x !#"$鬡!1'ceɅz.#10(4PZ>Ur`99H\fDSzKћI!~gV$ D'#}TF@[K>"(2&yn::AQsf39*H
-wj@<
-Xp3=0_^J,o4H
-PR!j
-cXIOPH d! R $j%,L=|zb*
-8=r4 JeDĝMO
-tb D#H$:08BY:rC
- K2V07
-WoEJE,'af|\Ҧ.KR]9@q
-!nx9Pxxao1^
-2^)
-
-Es rvBoPSm%1ꨤ b]кtCT< HiXQ !yꆂ.Kw81C<T@< {w>ꝑsc)X2脎anqFkUBgfK0b
-]PaQ!>܁4헖: ج*.!i]7!((GD445S9<v"$%"])I/epUw[I= 벾 }7fE;
-
-HhX(;BI|UypSct` Dk!%RE\ y
-X"xPp@gc?y Ј%74ƵJsJovW)IPIfzj_2b#qFBGƭDTbw$  4I \r4vִ.o*"E]9KH.pvoFh%P"Щ|2L5k`97UOF1@N=4JYI-8S6,}8e{0 -2
-n[K2
-
-,", 8³Q8Cz<CTL6?ea낅( ṁ[FӃlr}2Bt= VE̴ %Y)ab$R]Cwj0ܣR
- *)RA, â[/(]rxXZAnSBC(zl}0ȬU'8XE) U rۙC%kę1-  L"E4=Z^7t߯{AyFnmo}TQcN-I#"P 1cO!8đ, '2ܞ@Gmgv19sV
-W#V*ǭp5Ո]bǭp5"nVU9nr
-(\ixVP
-W-s[j(nFĭDR PV[jD
-WCq+\ ŭp5"nVVP
-WCq+\[e9nq+\ŭp9bASl
-Cq+<|mV[r(nq+E%V[r(nˡ rv⌏np
-Cq+\VP
-Cq+<~Lq+\ŭtLrD
-Cq+\ŭp9"nˡ.V#W'Cq+Zm
-Cq+\ŭp9"nr
-WCq+\[j(nFĭp5P
-W#V[j(nq+(p9BI5
-EhuXK*dga"Pԭ+ S9>92 z:Wf +Ir:
-AT?%vpjzjIpZnj$þ5݁x@Sz銝B0{GӿSx-2@/v"
-8 t{C| YuEEih\
-VOW
-З]Èf^jJ|qYj<TD.8"F3dǁn\03pԾg+؛QSc ~X=͑UC% ;*zjpZMu4_JinUS{©a*4 "':M %ɊńSѕM\.^f.MQZ'6[L 0o>V,GR10WAot`p`l,NfN=(_@Ԯ 2L, "3JSQ 3aB0
-%K̊3P¤TB# ' |Im;(VAfP7(6-zo=6Ocg.c
-۷+j%f#* <l3kQEnWBKqa ?3Ss7CY[-=(0 {|2 P估¹92n\r*@NNKrD(%41@Sǩ5ӏkJ3< ^.rG[AyG "9#8U֭?%c !ܡW$%S]Af-q܎@s3n,Fb;RF`"C|p"EE""8+
-UT2_9ae7T,V
-H.(3̮pS7s $7؜ S()C66xb7״MA,_0/㓠elE/!(2ŚG%ln/§?Nrc-FSD&(AY0# k&5=*h =6
-J[/F0lL KM‚[T3(;lg9CM{>d%%ef Y01 TB:ğ/F)tU<Sum4
-tո.uVވ%Yz
-޹HK/V“RJOVm⍩H
-N!JNi%*1`UՐ+Ek{D{EVLX%mYSnqk r17XF%> nQ?L<-ʶE0h4f0d4b<`ypCr =aJoy+dO([9diNҍ <I>E gqt% ~DGcbS@RƠW#n>BMМ~5+ş}sm?{o cV_9T66tɼpaG; nqX}Nt,F4|1-FCw,D_Lq,F@77@#90ԯ0-/cm*4 O.>cT
-A^-Io\ȹM܎W{,N-_[X&x Đ4h/,(B.6aa
-rN2T }IhE0o " w&1C7}.D0o">d3W)B!R D3 CGE|$<Գ<c z
-mK:!GDa0t#Lfmf4ޏ!hiC#FR ]Ct0,%tF!y_ -T@)} |N c檽rkoՠ2Wvەc6Z4as^i쵛'?'+Ӻ= h ^'gMjȊ̌\eb&J6ZckF[~sknuZOlx?κA0huSy21Yy;6&V:\]~5u dbGoFWѓ9mN3}y+GcXy1]R9rXyF`
-)4v'_ToőY7 F2P8[B})m ABB_= ߧ1lsQ9K#3)9Œf@ &F'UQz$ѧ
-YAtic-@8LSg)fbr01V1)tz{
-0G/&bp`rLcFA gP%˹5b䲆(LđcNW8$F 3z(rB%DקR0xCv ;pyҫ;{pc\wXT%>1~!T$[uu3rRzX*+!XՇNx ,n >1|\(qg.m_. N%sᗶ,H52%P*e@XD8t)@d3
-= Jo0ob(ICeH׫@ˡt$~)By<qsti4Qא
-RQQWg80)E)]<
-A K tOM<(a]DE3Ș4,$0z@z_UP*':*!{s8z4PBoGc
-) +0>M-)&(Upo(w2B1P
-$-FH3hXɹ<,08")'jR `U)&a@8:`7<-4טc!8bDMd<6O'|
-w[P+
-n1|8^:u31̐:,̫kļT pj\H޷ 2&
-lJ2 ,WS
-Q2HnXarr@24&qY&%7~x3V=iI
-'L*D
-c8
-!Ȇ%pI-Z#R$q;w%sƬi uT<캖I>W”ɲWuV6zū A
-[ch O1
- _LVPs--r`|L‚Y
-);',8')>Z^/Ǖ妴t
-# 'lR€=#YJaI3tRRBf >[=ketaƖ+[e31VB:]A  &_D.P Ks?`Rph
-D
-x&z)50OwOO< -
-|%31 +و*xH5D AA^"l3f,Gr̕nR )r&dj@
-&A.c" p7[əR$^4o(
-xNI-S%q=P/q,յPuN3DC"Fq0z6 ]>XbGLa &*Sӯ:Cq 7 eVauEdT@X 9+qv6`FvRH}E3
-'u 1d%B gja .-ȌT@}:V
- $&)6޴ss}04W0/~0AAR4B42v/LAԔ5B n!8QI0 ʆ UWFӚ;gz`EE$U$=;&"%溋
-v$0ip@݂Sc1 7'h"R&
- tZSZLR0HaHAB$: hY 50=wu5 |9K' z%<|E6{ VoV.g`TJB)q{rw`Vh8Y DB$ G;:aM(ȒQLK~$c'`,ߋxqp1p`=l MSdܘ@Ǭր&c*B
-Z+,^<aF
-^D3Dt@ ,I3e2G<
-mxCЉB;F!e'DôƘP D
-\)!AS`7$D
- 34$֊ UeMMVOԂ#10"3'^Ygp2 JdZch9
-9Y|h)9(zPFSJ~dx7(<ʈ$ 3Pp#5,V
- (2R=f̣##39F7 iAtA,'+1pN"x
-x]FB21rX 9m0{ӲrQ;3f+a YnMM԰4
-%3uS{NǸ `Ґ ɀkel ՖBV&fRM]*&\ϕ'a_]
-dj .r<e 0'dmL]3c`dJ2 @
-;Ei\
-G`v2P-Zi3 5x[qo#3'̒I+c_ "nw܈tVh(a2_Ke|wd( 0!6=ɳk<$4+ XFI7L; Ѫ$XzK֬/%B
- (/ <'@ΛZNLߓvϬWD+<k+3}o:Γ_tgjv, /g3;sY? ˯`E~ѽZt@E`՚55jvHF%0F q
-|0FLTWW,]?\U}BpYK7.gbf "r:38Ȝ㰏 iWRI!6uNklY*#A9uvk5de5њ_d = !s
-$( Dg*E`#iCY'm>QyTeZNi> &=a7h{N_ӫ/$uArפ9?]ꞵΦ<lk~7G6}#F
-]%k$V^"rOnClJ~"TRIbIh{%G6:JGʴ^?bQQ`xbYj"ae\(Ρ./kÕw,SY:^+geHQ*USNEOϫ6i+7&ߐly{.V[ӳVtF`E΁բRZѺ.hc_OQR4k$Cc5S:&2|lcx&v[&Ǯ*cEd׋4c)$ E!!~`XZ{<ex$Q" -g!9~b3%Un>E^(hy7I 7PaWŹZ Of k
-}g~A@4~T"X.$=4 $m֥eA52'\(@
-:ՆRHfN09@ /w:8W{(m,35!}$+SWnmOL0۔ϑV 'U@E԰ onK;Ӟgvvj&5+}P>
-f GȾU8PѕJp-2ڳiK(V+2}4Fvr,L f6M/?U0'CkBa:2[*U4:L3+Nec`xP&#!<Ƀf otR#BKSdR
-\Id{Qh&<w;&!*2}*](e*C`R@"9<WL 266D
-vK׵aM1& f}1@֋R =6E8E1 <,rFu5s}ȣ}j&x<( <rBV2uaZ+:% [xga*]aי|ʑF%
-,Y!vj XP&CL?s;QהՌ
-LAWkt4_So@?G|o5(
-o:?5jVvZGP_@_ (][/΃V¸%UrR 8NµkpVAO`',A,C<'Y xf$FT&6϶ןTlo Ҥ2$=BOWns ~ީVLNRA\!h)u+4UC
-
-#G,F".nޗփK(L6kVk7`=i;Hkֆ+6,o"5D=fMdD(Wvki55HEX[;b^g:EmOn.cX~bG"-ēc5iσ}k Dnp+CowςqS [}2
-^cc f~Y-22 B~rPC Y7w3Yvt\|դReVߝmu{Z?\ Ud_4zǴug=^Yڍgï" 8ZlWԿJ1YCwkh|mqrʹoqFs >#?ukiiq|q-C˰oNx56fJ{6ݳAUQ=q4<8&2w.hlnt%'_{= J4,HPΤM ~*;M<rnf*8ِ#{iFa]$<X')l6M\/iF_SHq?F")Hg8zQѰԪn"*gYn琤R=t+O**'I|P
-,|\/k3=Uglx sqZ}z CY:X8|:[M_ɛh"vE>qlr8<YZ{LU(`袾TnL.5-ƣN+3{Ũ#)NOƫkS/kNF[Y (׆1gQhחk>uǙq.ʲjYhg]xvippZkwv7uO\g+g~k&{S<<?{wN\>(ճ\yȒp=wۢxt%{xb|U~?gyFG>Ij'gC6כwh^k읯L9M'ّ^skǩCMo;on}|dZT?..<ZM>h*z^noKWl.ޢ
-ܫKlhQ\^bVɓ^ܻMO,=pqk H~[9}mXX:.35?>[& ~]wӫAgƋXtリ&0 [n'26ˤäGk
-vZV
-V7ɓK/>9B/O.˯i>jcP}1{`ഘ7q]G7tݟ%C
-1{sˏ߬ach꼰5j[7nZ>Uk7LLNp>JG''7G *5LICgu~q`F^G|t-75&ٙO%<\0]8ڵOw[inZ_~ΨE_js'{?^j2|?yvώ[+LSFŪ[mhR!,׼dˇKϖvpx/zh>ρthJfd4M??ZXn*/C|RM[W;wG zwX;c+Okgmf0؛)΁&/Vwϖs+[,>nokU{~GX,N\_I=x`{ Iue(6~X>|H껣棛j1wRݤzF}ayFS6K;xV6/R^Ngi+wPBʕ>ktkqp<~|yv`fO'p^w]U^kE=w|nuSh|~yz0ysWk0<kلsr\jsˇ=% |xލnovkMoe}/ d`%~VM-b)`w^]\rT)
-ȆJ4}7{[QXbU7ML m2/2~)<c7H78̅A+vp VoP/\3OuGn
-Ր= rQnyܮ|,e/l;}xLH͵)BmS:~ѕ7njlؑ2o *'X<eH8 @qmsQCeUZ(6.KJ&| <^DwAc//2x 86%a7.ANnrzY>BcbW?1~ڍ/i;At^0H7IOv>C=&*4; l'HV]zEvWSy̝/Bw>Ч{/56{ף]~f9z{~;ZM̭šzжhsmpShJMIu.y!FwѹS1{.B}D )%m+ ہyoX/y~-G.>~?4-/lV#ڊعz鞫N"fhE*i=Ə/-Cm( wu`sD+o':7lɿ|QVFA3iQ_*3}=WϚ;%GgcpA6~{QB^߀@$%Cdlh!w nhO՗]4ɣ{<yx 2=v؋ eNKDLt|B
-*l<}Gug_KS|`M(M7/߳gؚyWˆll`w=?{ &hvW!q.mU'*N"'څxAUNČ ׯ{e?3։xחUBpA';
-sq/JxWjt2E;臛ѥܨc~û81v D>g1qAwvn/:mbZ S^?єiݦRS!6;n͕!LKk (^_sDT-6kGX0z"L]ѯ꡾0E[ԯ_Cq=,U&WqQ;XRqۋ +/”;v>;sS٭KTɤөۓVjwvrKM9ZN7U9cR}tް[ν<.6f0^M]oF2ϳ3 o7ZIp㉵|z:0seO,4y/n}q4ۮ.Pnوn<?OuY'VG\}9tnuƞߩf?Yiv8,ߖ+Z4v~}lvӛ;]kgNoG2nU[kNS玝ytXsӑ궓|S
--;^ ZXvYu$3~x|Hsa&3k=)ݮ~`k~:'S/W9Vm{zgXRڶy;ZTdӷN/մݰNG2i7?1]S:nv;}T}J8uמUy1NjzFz.ӑjȻ3o:&?wf-nct$9q)๷>+oWNOFɆN'<d:c7݋úm<zEHYX֛O-֘]7?v7sC;ݺsNWOKya,];c[7oOO
-Ns_C;%v:u8鶛9X qs,SF󵱗>}g}ZO;v;ǵՐN?6ORpo<|jN! =(݇sf
-Zs3XjS1m 9-x@S8پNl~|mD{:T^['Agv3ӗMS/N ⱽalº-F ߕu#cut*yc-q7^Nm:<>?/<tکhsN3~_ .?\͇Z?Ȟ=C]fμ>Hr6l%\?n}ϯvn>Tᅪ]'zL~,'G}ɞ\^.9W/}RW=#V7vuzv}CWZ =}urЫ2TՏ1b?gЫ?^vC:U߈]= 5{SЫNu(|2W{aΦ'B, ̍#r҅vں23!޹\-Ki/*?M,Nur?3wp5"=ɠcK4̥Tiu4O[MM..?P|cNnf9s ylvͱnDl!ycz+#cYߗixeQAnF2[tB:si$SD~yLWtB;wiuZͷ{Z٩^囮Q{ջ5x N>Ȥ3){]?vS NG2  ~T9\h(SNF Sz'>I;{yc?ѻjbN-} hfW_9q{>Wց&?X~-汉z>lktUw?Ly,:%{r3tbrFKfN޼ ys۔#/ оN!c v
-~sb7-ݕ
-
-0l0uH[ C}.d-L}έ3ǁ¹X9JFNpcvƂq׼<~]&]4;zq{N·,e̯lM'1}B6_$w#iυdkn^*>)?%J{SOZ6;#PƔ@fT73i%-d5 _t:`<(H/s.$"{pNLH& 2-?RD
-]O>ۻO\ELs /o8Z%u;z40>eӣtl_)am vb&`enl`\<zJw(?72Vcxs<M|H;:ɖcẇ(%~f;*AJ?J H ٲ1 #CXu0]vS 2=ΧeY3hOW Ĩ$T H>B
-B50:D+Y_4[DN0[^Q#y '<I A#Y.#H½j|K1?_zF?ny^ d"V:[;&
-[JXO",s!:'qk0 0/uث11Iz ` $[H.f u4PżzyuZhDpt+H^M "2:4|8e1up%.(
-zȳ".*Bupp` *&qgDC;Jq·0|8c Բ|8.ցL3 ,&5eDɖIb"Das+,aDd'l'IIh+$a;E2DS4H 7㝵lB"sOSDx@j9:*H* CXdY :
-Ǥ0a`c;'$3DJ2.NxIjZaaLZcaoÂN
-Hz 9pOc Hf^]&1Ĥ $#`2RAdBX 2Rde=*qP\$hjAF}G}Г
-L
-=H n4G,ZwB#NAp$. Rc (P'zħoI*›R9F-JMYv]0":l.꼌<K|r7ch9/s
- wM]l0fb/e%g6]MЋrz| Ϧ GMg l`邚C6]l ?˦ ʥd%"..v`\6]좥wtA;:l\j}dxk6]p:t6]DCMm*vOឲdf%~<My}ʦiĺΦ̱X6]pn` 8.[≁@6]y0AdxFM_M4JT6]\&`rB_,)_Mx7͑0)W}:#gՅK饘j(+X$\FBHsCy)))H`Cur#RRqv9d359{шt1fch˜-+j\%{.twDJ JH(@":>Ymt\?&e&JhX" Lq&zܷ9Pʝ;'1yBs.{B bc'сiOH$y$>0<#q~!%"찋 2Pӟzyhj;Ն
-1ˈb*&<q4k*6~,q4k,YDwt`3Ҿd>
-#ʁON]Z"@lŗ)ˎ%J ›XwOݻ\U@hl cO+t(2vר K2ԑxX Mv )qA`.섻cüoZE;@[5"@T᰻XՃ ]yx
-Yí=&\KF0l j c=Ml$CB VrC-%ImOl jg4̒ԒZ:uYX{݄Eey*OI4l=y^ݾZC]׻,</JˋăUH&=qZy|rqvt^LM`mo$(}c=[TR*YH^~*ѪD_ɸ݂]]յ>[ѲlVф,~Պ Z"`4bXjp
-:0bKazzS]c}d^; T|呐r3G|Y-[t&SW9Vh^J#i[TtTNUD*`ܖ1<k:g_]fh,n761WobsysbjĶC I|zLIXXYIs
-PЇC_6Q*~jCj _wqJ_O
-k"kC_Jľ~ё!r~q\2F7ʠ_yl=g<oWv
-|lg&7 KMB3Óse5T]!tS$^'o!^=$V3VSdΒ4ګ14Hfd7\{Tt=6_yޜtV[;+36lkwGKh2Om~>J^Ἰrx ܕ!iw3jNV%/D+rN|h;f#Ҹg6&0G$Rb싥jeuydͮ[j~}cÞ}ruԲ*>(<'{bɞZ~Qمv"43J꒳xr0'.lJob`x׶.wEuH^;+_K%ǶU|T{kAO{}ym/-6HK 6fnL7]՗=WOɩxXyw벫x)ע*sYlӺ9r|#na-Vhgƍ'oZ+s}v:[t
-'{)\*0bǧnzzyt)^ߊW0&Y^5LC|a#O;Wj݁?qY)\O4Q&Oœ2k<8wup$Wۉ=xG*Qy%4SxW:se{yk#t,I@V9(O⢛yݸ󩂯f*>:O}.i-Z]Zɬ\?
-rA*7P/M9usVn94rEgW_ЇKyUg[n1KX?i/-d>/}kl=./ܣ,NqՑ>r{RNF엻d};,'6{i]DZuz?Z# |[n@wli* Lin/=R7~
-T(` ֟٥Iir1mNT,-kGy\ Ã&fZ_/xB&[^.,'_#kO~-t玪 [G84kٵynr# c,
-c[0M T`؁eyi< PU9Aj9/aI W'CiLf4. uھUUVQn$sĭ_g*˛`v.&gܑ au@#=VvKEc
-oR%we.f%5Yo7Sco…TiNM9ZOM<?udH#
-w|y_T5@[^HA/#˾(O6gQglkasuyQ2uS{["1B؟GBR=ħ3[ rs۳B$v g) y,< 9g{9L+5\rfk|}ŧk%\qn{DavqX{M$
-oOnw2ͪ0*|MZּN6sLNJxʋox*Hj^Ez Z9ԩ%|N;P˥$*(V}]D?c+AYL&~}p%AZ}Ut(2
-O[F&e)GR侷MҵUe.I$BFȸUʈ⾤M{32߳*šդǞE{I^5|Ǘ|G6w<N ?{AdxHKo4iux*^MX+Zњ.]aV:z*gVP86\|w$;~|w_T ?wz鞿n/o q~[]z<n/eЇVD((L42!8ч=|u~Jsi/8V;}8% `㼹\{%)?:@RCkwqK ow50b_@j$k+]dD?kLEO|ĒKqq1V5M=+ƞ|\_#PFocŢܻc$3q>iw->?b.|_\cL@ƶe@llw[c}!d%nb8@%5v(3hZ
-jMm5
-_b gࡄgȒ`f,⣞HC%5Ka m[E]'g+Ƒ׫/i˳L<k(c
-"Ey}S\VUiR1HogS˫9wxdqͦx
-;>k.Ϗ_/ֶ>mb
-YjD~͟f{xjE
-="Ab{#BZO~5l-=P+f/K_%OL0[RF_+eDOJAf*c QH=PXomu˘`{@E }Xm==o- lՌ,UaqkTI*Na}u}!gkYtrrQZΧ׳y=sݲj-r|(K@>Tھ[>K\\J L?OPK$+gsbOPI뉫_XM 䏚te{ˊQxsX>UnC'?'G*|W ȩyxi,9l
-KϚusٮS5NHj0t `L=G2]{4 dgvdj$nkE9ɰon^^yGhNsԩ5vr$څyeeWhen4at_FgK{{Wll,GsʶY˻]#,ͪ]mFrްUv ߺv^meմG#?O5t;RgJSzٲOU)l1
-ukh XU6^ǭ/FJU6VYSoDgw;lʆ\G>^`'ȗ|h0znj_v^_2+gλ{=C~~j7_7VٮstY~w֐{yaPb#Y,ۑS\mrٱ.kgl}u-{q]oIk7Qp[/^.ڣmox 1<cx 1<cx y8~_dcx/<o1<~3
- ~M3nIUd
-٢B!!@VH_Ɨmr V tc:H,cV8 uٯ$tDd qx yYG^jvdz_R+ b kNefn+583gTch1P3 qx ehallk @WsN#k3V3ҕ)c== Ցt1dcx#8h00Vabj=0'v `r5"D3b
-Ie$=-0ָwИJȤ;ه,dpjAuZ$}dg 9<~a&Z!Bƹx N@u[ 2G76"02YiW2o]!RVsjVbۚ\
-~c S3<usRƭ$+hPD 2Ɨfsi)iO\|J 1eu-; cSs=v,X!Pd M3wX!(zm C\%U♱Y%M+ & b Ler)x=&PV04s.z5?zÄ=~~>H1l3d eYabhaM̢K"0}iB"}'6!:36Jn\eZ-nn> nU*xN#N7~<n{iNg@Z!}C #DZaX
-D<8
-y>zTN/t1dXP$',K|@HÓ/ r
-xL4AZC186z@WrN/C4?/l]ԐH
-hAL1>o $D W06 a8ި =wX*Í1z*ޑPnß<>,B%K^+9):~#SJ/ Zov{J}v+t7P>Ől\"ub5ssd1 f༨VHz r!YD QM}
-h}a
-2uMwxLjBg9qt-DOb1NL.bH
-ڏWwh[- `Eܱ !mHf`rMRE#@WA;8/̣ŚV!%ܥ!(؀ݜGO(e+̔_vq4'( (<媎JIb9LXGMcL>0a01 U;؞3[vK#PxOb1-Wb])XV;mH3<cqœcuÌ$cCC3%X<fK& 9/箈ũG\u !
-یS$8L44:I3Z
-V
-#ɫ9:u8wc{AskشzX2f VUajT-eW˚H#`TPTQhy짜<1po}!t
-%]"mqV*\K+
-XO̗\xM] ^c>@;b$y8eۘ_#8踕 "HCDB'd:3
-HL f:WTvAkEI^ ,9)-]w<0آ:IQ2@#4
-@!gD)gim/0M)-LHz˾!9/d cWR,WrdkI<B&̑[SM?ykMS"ǡ`蛒TdqY84!Ot[ujQ\gzJt<Q { ZJ=ժZ\!I8R炢s@LpXoT5Cn
-a LXb42};ES2pU\MV䴀 U9 1g f(cW qA֡B)r%o#=yUl)4FҌj@cH ڤe8(|`/Bd(^xA<v]Ye1
-*a6[CW@Y@ذTY(6Pua`F+!]Ԛ0S?܄93BY}jY㘌
- X
-:P Br(Ea0T 
-D0b8 @_"1Ls"9`S@GmAl.j -IYQ?$[ XTZi^] Tr@"I`4:Fm JU79qPˤn\:qTpD 5 t]G"mJJ0P1PR&Aq!ŰIu K0D'i& s3J6D>N0
-{+dY)g+
-*Uc\DK\֪A/U=E|x
-,#![P(a/9
-k5P# Mh'׆dw|{A/+oS^hdQ/Yu
-趈g:+`a^Kы1Dpܣ %ÖhgDnI50!g$]J
-3ncnMbgGn# G \:md:Xqɑl)sL$PI3W`2vutS$H !תTJ"LF-,skc5H_1CR42BHkB{)jR?ZQHCadA\Ƹ
-%Cf G%JRtbE&BIIdC?
-<BMlQhr ;Ud5|~= DJRoU1ZTU
-t!DU2m2 M1lJ0a?K dU 0LLRSJxF4BQyG I
-2a"E}Nl*Pp:뉚([Pn5L {$,90mQbi\-
-=Tkj9h{K.*qIsJΩM.h#c t `ƝBw5ÖV#'1s}js dbћ=)jUI Ű$FL(8J@0>RIŠhQ&k`-݌R(&^$S) 9$c?
-bR9t0kn  YvC2; +*̡mM8s["oG2Mwx[J4D6zzHtNiOt
-la+*x1a gɡsj}ZU
-Z\2Z" 1 mhܢEDSҎF!Ψ.&u4ˑ4ʨ⮘,)yT~CRry4yu&wcWE8blrɈJ*YP/
-$IfK.fEi"$ƣ LsL w2JPh$OTR\ M`ªLFv03lmqy U,J悚w} EAE[$6f Bh`Mj,H1vEKW PeFt7nWOW =?3!Yaɕ}:凙z`b7R1+s%w'f n4]C@AMhXaBVC IO$ $r
-RV\ͱ[OD ɪrMRz(x&!J"H3ͤ^w<216٘AI\bIzGıJmiqU'0f
-0jZ4JBTHl74U/8V0Skrj
-wRH{8`8OXQepU``blٻnI1ߐK
-nNHuAHVWd6&TH.m\
-C!*Ȓ]Dt[
-CYhEaԨrqb=6M:x~ό0I}I-l z s[ + U<jKWX[)>aZL
-jCL`IS t(-
-DiyS 7VSuMbSޣ9 LN'9>$#i8U"#n xHW|(4s4ݮ0[p1k4³`xobs.ix?(8\E^(**ifNH uwRyŜZ$t6(= 9 MlȢg[iBg]Gt[}< $ gqQe23lE5"\^sg'QS
-@9Db^Cbd/+̤EMB@{Y"Z:XVn$(w-+aWrBaDG2>]8|;32zDvST,`@/ C#1Y趼L0N带`KC ) 8bch; L
-%boܐ4nl^lvAIcdFẗ# EPPiѩEϐAd:NŷM$,n<B9㏓#%φzJb(: .6OB7Cbm2(K1:4r`2
-#DI2,(62A ]FN?i9u\UHQ0gRkADnl0M)R1x$MyqZ"6EtgZr 9e,K[N_FD_Z$кH=ܰ)h968wҒB&/|!Qd;+
-Q*Ѣd
-@
-<tz5TLK0GDwC !fCгbi^!--
-P"F3cAHuzx4
-"9Zc=haHkXm9dا ՃKQxx0) "b0`,m,:B=
-CQFNq^Kbh/]y4"!
- ň 2d< X.b$gЋ<-"騞JbCtT+f0̙0tdbX(j4r pӒO3eÐv="[P딄+`ؔ0b"2MZ*mDgJ!`MgX3E$ 1#6_B5!ESi5*q7b q00t`0%jҦg `HԯePW )#, ۿyY`HIrT%˦DmU1ucgI`ļjDI='(X>,eh6t)9[?88Z`8yw[a{!3IVHKͥGR`x[n Z^ƀgN:$n5|V-KT|){zآg/74s feɠjO[P`nP0{riY{CDo&Ϧ`|'uame$T#Dׄu,$-sY(O-xCh:uҮ0ZaUr#&a&O C.P(B:XtDwb֪b-RPQB_cF9^/Kw@}V$?֥=k((jTNgCfP앬УEt)ۧD*
-iGH,_-V!DHo ;yB%9%bT%FGTp 3y0E0$NM1$n9'#!!T_vsz0Nl"7s=Ԗ'I[fF쮮$),lX*_eDI=nV=>0qyn2LJ8a'DQ #MŰC k(pb6Ճ:ǯ(RygTBY3xԣ=53i$zw]hdT3a(eJ:ѭ$Һ''>cBK 0C!QJם^8iW Qj2j> 5Cf!B"-yÐP M0Pp%@󎞿i:oOưmNJz5YT"of%!JV1/Cn`Gt̕!OEtCO7-cQ`yB-§oi{4a*Z-r0 Mѧfl70d*X2NIŐBDw; x)^) Ta +Lx#*pTOГ9ucʰh 2>5:C"GTiZ~! q0|OaX' ϺPnݔR
-0(ˡB$N 腳>OAmf 5se 8T: 2c,XIJjTBj;8a6\ 0dB'I\1m-A*bE F0j;s$fŮՒ1WP7dT _Szl#dA&SnQ\'= 5CjM+׭=cV7oR 91QT]A
-u
-O!:Cx.Rr\<n˥=K0&! p6P"I1,DGtH>2K7sj%5`Q(r{Ve="_
-^x4*&;OOpcz7Bb\|~! A0 `RÌ6"+"\ s:+. U`،?@:<545ɛ0D_.$DKQ-*\:a6 
-K(iyÜJ30
-)=)2鵸eDK0i2DsaR!ץTZ ! CYF0}Ű=bsھn
-V
-DjRȧиH=<<#N\*9zaU rqߖfpP0+2. ;g;@1t##q”HCU!- &JIIиI{7DIP7{#d։?a66Qvu4I veD6*r/+VY[Gdu3~Ͼ$G7 IN2оxN S!ۂ4҉R`C!(nWEt
-eLNE"B;2Z!g=0ħ>0mb<I*ʭC8Mc\0ݤd,uYi0&!3H5b{y1(cpnjHJUj`b8wq*_Z
-Qݢ* ^Z 6(Խ1X
-0}]l(rKBHr[';{
-*
-X bXPATTDl{Zv̜9瞛,CHN;p]03b%& EClA+fhM7SsQ^oB#3U?N,
-K]Ja:];N4,dESI1,یX՟iFʪ~ ^3 ã}v]#x5 ,`iJ,uisaD)m:MUPg ;To" -W& #NWڵH j
-R.ji9fd*JU9KCt@=f"0XY <1WtLÐiGs Y­h
-9>:>-ɳ?z-Ml/ļX9<aKʡaȺXCr> TV!nmnx%$L(i,AѲ”
-8e0=4?% <kסKCY)!xla2Lꓳ񽡸 !zÖ,lUikSqYڙlj/ ޼Gòr. }N4$"ayP"#$e/;˵ crS+}E͛Ą _hK?0 Ɵ3ҰlT+q+ </x%F)ǐ[}_ZެƗw8({=!yk H,ix)KdhRizLƙpf(>,,[
-gEjq nv{z Ю$͋c*Q=M&}-))7t
-p4L|*htyƒD@Qch΀2иť#e frU }?2}~/9!a!T8?IfMX1 MAd \Hئae*CY?0SchGdјS%7ay^X0dm yl4ּ:{`nސ~VЗi壹84dE>`t ò;W
-C% 9;QC>.+,'cpp_/(~IC
-S 9ވhQNct4oLU28D8
-8Z(_WUq3bN_aps;-ITltO$#a^T0 +Y(p@e\Z*453B
-<\wG9 Pi翲O.C~LU8W|ҌHK=\Nn0DW.!f(aSB3]=*p9@!8
-
-q*)RBCw,[%<6GD^](>. }iüaj LЬ+ǐih gw^ l= AUs3XzKI*1 g"w|*|
-yb°X>Z"U*Z}"ig lH6ٴe'),)So J!3t{؜X Z?*SRZG3 -XX'Y.ui^ >eFFᑓp&F,c*E|&
-PԤ*/ Jh (7"UQA=cBs
-|11c5d 9ibwNi; bD8N0'}XC=qo g HBGH)ӑ9eެZs6#3dqZTR2yPBz_Ωݎti4YC4D,!j@3
-IQh 2eT➌հ"%T!?{H ܟEqaT mQ i}>'c=:|@e`R :`FaM#aTaEGRQԌYc.1T4dTgף;,@DOݧy-V|ԔظviUiLHmaRuTdݣyvЬrqeӐ}/DC342ӈF
-1Fa1lMzUԒYROGc4l=
-A
-+.,R1RCvɕ
-hJJJ jUBX y5B,UYOH/@jc(c""WХ!uACK{hP<4}7/IM0+C'σI#&V1S^9«ZCl,sT]!9D
-B`"&[go44_# \Ky|?E2UNPgi6-UqHbKi_}O\7.)pLs >-
-!]
-Eo y,U &i^R,R
-g1R4 J rjOD41Jw 1cKH]C<&+@JStiA-^L!BtrRrΏhCr9W1ҳ"s0@(f؃*g8"F~9,%CQȍ4^GEPbޔtu¸7<c"ZL(6P
-<oRۋjlNҸE"WIC|DgD=+Ghi(ICB2@00>~q{/G9CD=d'4BD <t
-R2-Ҩ_*NrF=S] 4DmcKjKKST.=yv?ipbR3q;˜CR᧢ .`KEPPS`>ڐa$R싫`-c(>&Q\1;a+ 0p#=XnN
-yE9兣e)ĸv1b5'%9jKͨ#aúWhQm<"ad]_9G-4$4:(H+#%2av60-YtQ0o,`@΢K`D}D((Iԕ"/4c3A4'dWLut
-9O-GqiWz42L>H`4t'h"_9`Dd)^W#`p1} V豴iUH2y34%?(;b"oB,rE\uzuU,OqW~y'%QKsw<]_Hfj:SHmvа9nhŲI7hdb3ۄ)
-NbXrQf4DM%ZxĤWL\1P,QbiSh\y
->AAa"tP°9_cy EAAx4QGPȇ 'Y[eg<A,bL k/C L2=<PF#ST wҐ wlssd.VDRQ0,Cql@"pV4
-cfS4NoЏx%JK"ç#cD?11}YDO RNuhB=@jS8j4 0&if$oq:Q9,R1bt>Caq
-X,U(r0+
-BɁO_iʱI z3r#[11eGUqi4zZh,F(P1%79*CxaQ0+ˎDR
-+J䖓2iS Aܡn
-zy=_b(fQ03rOfƐaCWf TiLL0M)V|OUyBQGX ʰ-OS!11TN(c% T&Q0<D*Ta0X zk gڐ %,GƏJvUxT"ddzT6hS,8)o%sXg|a}5"V}J Ę1 &X>F^>0,C*P&Is{m(>ͤ|8zV
-a :E\9`cQz_֑c|ՈY*,v"(<s
-dHeTp4 A,eǽOVkLYaPLCN/hRt_J ^ȌEjǐ
-%#`nOln\Ec"Re4J]X/fVbdh'
-g%Eb27a>#ńH=CKErtu`t R$#˄bxͅu4 -Ґ'y a:Bԫ'jX.99/9\adUm[LWJtزx|,ż)J <xO*g<>rՓ#^RtVRd0h觮dqFtLh?JȞ~-=;"ƽJ mLC10<gFNrHKo\V1T)B!d"UR'5T9}7:BI"^X&bNdjƤI֔4[3@@hFq%tzP')2Se.a& )1G+DC,HQjI'3MXhքݬГ4z f36+6jHԆQ@V4.h)<QM~%P~RAXhs"|s|˛und+tJ$!tM/ 埘D%SB*K
-fdL=Tptb0X2a|YXfk3,I͕ku 6T> G;E? ݮ &qLL,ZbΏ򶲧ϪPzL&ImNb pN:31@U<[h<Oa!4KdѶ
-=A1:J>Ԍ!)cCrpe[2Racr
-6pT9HC8 Qh8 Me4ɧ2g+BF4)` ̤|bVT&i *J)f#idSplh(LBEwTv&s4,1p*Z0ȱS!(HK/Nq̀KPP樣4,10c2ϥȮ YVN@AL{F9XCrI9F cN~w\ +KM膖jͦNFS/cbҐ2`#ЖWQ;cX:7;y~$d2Xj{n8~_.sӄۥIE
-m}mJ
-8}L,N`b56₶`Tm뉣F 㲆kDTMb8w3n%zx`6Y/aZ4^8/><6þQ砝lj89IM,e"hTgʾ'+Gid(ceLHZMwTްVA\A{<ǁuǐ=)v0Q jPo[İNY0(9~?+lpІ<D3Ni&lRm052dRc 2JCi;X&w4{F|%,.sC 'zdficŦ t*Lvc;4T di1ۥM(D>YL8@\9k*/J6BFU:vK`L>Q; sĕ\i&TtW1,c_,:d'Ht .Att/#5O<@76h(c qkFi\-3`&05k~7VѪKP\?*7[OCr@x$F']i3*SPqQLi;oRd0D?aM6T;
-+;c yhR YT0АE:RlʹյMVT%ˮvp \. 1QbdYƜʠ4PtJ- q<tW'(!UNWK&iV!y$SB*t,ijlDU=
-t(# ,1eGMSA?HEhs*AjU4 TBFETyVMd|\B/LMʉq7 ([ebȝԦ(-˿eNq:34HKҕfE
-dR*"CJPLQyW.[F؋~}0ygt5'zx &<Ay=xB%}n-B¬h($4UVѝy݇GJfZ]EeZDۘE?FP ~jj7U떱^9%մE N ;gRUggԏ4, QGÞ`9#6C['P)& &M`SG|0Rh1*1!CJcg1brf8*x'bxeW' mGuIR'aBE9H T]-k "wkfK9JVF/YҲz">WF7ӪeOX321 k?s$ .9xIQJ .4gOЪDc-cBgL-JL-ĉE<G+A:GnB'$Э#dóF(>f=ەN4˛nuySGIh1PuޢQqʊ,H٤gAʀ?.mu!"qc>=Q%"*`h! _9<o1$} T'` m`y"GN:OӴx3f"
-=A6D+r9uxN)d"FA@
-P-2yEXEWPUN Y=GnƉ~62@ ȫGɊ,:rz _h=7l![}+P]im,6*e442
-33L f+>E")F*#
-0lY\vlzɖtUn,Z9*M(.1"YxP1TASy *QG`2㲮~I$RA$@9V`BV?FO%"jGè2++{̍3բQ=D2ψ3Xh o ?2l0
-aS3g|ynZӽ*1,ǖ9hȨ|FM` Ye>gEC5ȘG皼 D]64-F2ΌC=ͤ{p81劂LVv`WZ`]崙Lqq0y7%|#Jf<e1WkT~@ G\#E"&jK=w"Hr*9 ,H쎡.1L n/FM$2l0SltݶO,2س@k<"ʑ_bE+ogir#* & ! CƳRdqF׀I*\eȻ h0=8)Fl|+1S%K>`*NH}@R#+7dEk fCUg%N3Vǰ4ǰ238sɨnV
-.T`fdJbE
-E 01
-*05
-M\J&M#{
-Ohwd塳vO7Os2 l9s0C\jˢ)@0*8d&zT51(8پv0Q,e) VQ${\1>Zzߑlb(?.L孋n|+杇
-ه%Rap]pW[i^?[
-E.,F)3jiܖ1)1<L"N:)*@
-Dng OCVF=& 1_X2dëNj2JndnڢoNOI^yGZOR0+}6WH@JGV*>=wתYŏ~k
-;Raog. eNkzբ0*z D)Qq h5&`IJǡ OY8&+-yBDyrwAG>Su5:QyHF7.5Ɓ$.*["#nDm0`z Qc8𱴉vQRXw
-PрdO28"]k=/E+DŽɪ
-V9xH#,`'+IBl,yړ|N{U524FGtD 40.†+,R.%=lNIV9Z(=07N8}򴲯O>*բJJ,ܬGRRg"l.@)O=1'
-{4sSUTDVn:)kߖ-ƫajѴpr(*EJ_y(!0`/VoRGت\$QZDưuXX_-o픓 Fxd3zT O
-t%6*cX*'t آ?iŦ`#xcң*Ƌ_Z 3ҧ>fR
-(UNݵZu=b[-և*0Ώ`+M8
-i,yL `k
-貨?E.w޲P43F iʜ`"[hڜV$}"
- A uUܥ]+Dx%WfAܸ@(M mt$BwK,TS!i ,tpJ8]*t*]!wt <Gg
-lOZ:gB<L
-&:3jԮ ƚصg߷WNm[ùujTG O`{=7?Ѻp
- T 9UD),`!^<Xm;;p#F ܿOgg6/z:`)"*-)>0׫㥿M$,9es#:t3`ȈQnj9lPImGM<@H`&9%IcP\(>Q/r-ZD: 3Q8X 1zcGҿWv-b6b̛1N
-q 85kժmZj5ŨQPd=V)KA'q>r-kT/Sdծ,,jݩg!#N<yӭ
-%ϬQ.7+κQԬE˖ŭpv\W-(%pcL=|v+E֨Sf"Ə fy;
-RaHX~~/ݣkvb&Vݚ xgYfm5" {.&,@[PAg0:`Ȉ1L5we+Wu߰K//K/ٸaE.X{ު/
-xoiK|jʔɓ&N7f!KzuئońʕEeedc؎,Ys̞1Uw#ԗ[,0%z4|g_@/tUW_ڭ[õu[+.tu`KΝ5mؑCѹ}Hi'**+*͌K{"-uY2hبqT3o H, ̟7Qkײr4kװ(N,v Ț;9ضja  ;qڬys6\zWoz7m~˭v;nn\}嗬pKΙ1y,=.5~ZѲd\fsF]{ sqEKXyΪUWV^꜕($A?t@[&3`)"P9(3X0bPX0xI,\/xٕƛo;q}߿s<sw7pݖt/7 }wj۲  Pΰfȸ``E7y<:_oذaÂOufe͜<EF_"Hdr#Em:c"k}@o
-ěBx8Ppɪ 6^yMc
-?#J?`~
-$(mD."
-&@UZˎ$׏hݽ׭Z4cmK56"X ~JxA./?}G`G6X:dQhYgF :x! oݵi
-S_JK.Bk#u.X *qH[|Gu
-,;V
-V* .V܌֡w_{nnENDl RXr|I| 'Y:ik^4y b}i';vSg_{|7 `
-Be%57O}m Vp j i G\`|w~K_,ӰޑE{T>)&?aԙ0.z -Ç~yMWoXdʱiCbcXE:XgX4@zRd-$fM:yҤI͜xZX _{'_~O?RpiV!;/غ+ ձްp
-SNKHdaɞ(ӛ:e3.Zq
-;w>B4p%~X/gƋ>cK_>g6:
-`a$ыnձgaX3˗v9}ڴiX ZXx+
->R?XRX<l!a"
-=  ֲ+W,Z>WzұҎHDSK
-HS,;TƙgUgG(cpɲZYXiц`K@^BKRa0l>`խY㬳p&gfY
-Yu߳_fҫC*JOPUV:$l^4YhD=Hd;)c.~sZ?tVΕÍl
-KKKmEYTXk׮ۀDE`-uŵ :Za%͗~~gؽm:<CjPN:2sы/YK%XdSxT,Kןz_:sn;T-Xi թS~#:]& Az@(Uopo_~f/:<,5CWU`֭ Dp) p #X="2L\y.= -Sq*
-:_EfwU 5u`*ZW[1D_U`o84lnѾ`9s̝p9cQ֎&ժXSRsOViǖUj7jP~4,Մ呄Y 䜵71Xd~_`UĮoꢕs' 3Rh8AF&8\VtSy$`5k̙Mj`U ^ -;<$j8"#,WՌgΞG~ׂBЀB`)S
-V?3QFܰ**̣ӦϜp.۲ |՟,*gg Vըq7EDt65#N<e ٣
-7 )7`T>a$t:
-𮛮HmZzH^7#==X"C~CpÜy䋩&;nX/!*M;k܉QZ`5C232<&x_&CA3z g_v+Gߐܝ1T
-[ZXUdfLq_rE:nj9r؉.Y}ѦnoꝭRߐanp<* /a!X~ [MmsÇ=~E\x> UM濶3{/X6 sZz'Q VsvzM# tt&OաC;y_e;G_ųdc;ozȅr2֮x+}M,hͽ5n􈡃 2|4~Zq`?&|ʖ[d),kjb(t15a `=C]W@g^zK&,*s_6FX[ĂMdee䇍8}FLFF <_IIAFOhEWਠeqա!w\wpv^Ζ234m!$fL#O˷: UW"lf9DyÄ唂4i6#%͚>yaճg2wKlaE4U!@AJ}NZ) d-99x]Z8s$޷Wnz7xYpMw?KuNfnRY`fVnӦy8ʶ)xTΝv3` ιx1whDB;8+CNVM 5gF$"eD?j>=p^V=K2w(4'Uz}D y.2L%Xqo~ mWoG ׫kڵԭgL~RJm$ ~D+|OwNXP ?+k9vatܾmmwo Wipϼ,Ně5leDzRWIMUQ4 #8õ/ޅfGv=hԔy+/t*JR?zu IQVYrEթUQ,; 5}baIZhެEqN=0{)Kqp&S `Cr ʚ?E,vv,=e`ܫSfp8"gJ+S֡MfFQV`<ZLe<$B):Z`2xfu_|Ѹ*jG <cޝ4G#xb*=̼V`(;̈prFNBcZ?w{Y=Hl8L-X8V:,ЭeR%;iQ+@w;t<(BfX~e9XKU -(VԁէKh,^R *N
-H "1z =u(DVH+zDM9Cs"X
-FQ~Fa%j޼E1|M,%覫@,jדuA`ueu͗4;o{Q'~;-nѢevBYS%nefdPU>d=lfF:rT$Xos<XW^SH'.zԮUq1P2*r~aynS`kY<G=πĢ5{ R5~3#m)6z֭Znױ[Cc8g,|571Voe qÔ؃{P(l$;$,Dt]=qD^]:mӦ-0p/Lkؠ~\MGk%.}I}ژspXYc8}T!l/&NHLXzuخm" N,Y"B֍wbc
-^!o2jBSn
-:j~eT5i:_&ԮZNx8ͅGTj>ۯ|;o!v
-`vCI"X
-GOlr!Okh nWfo)ºҩ#靮4-X;]|w+oƁi 1aaaq;GYxvm۠`;{:8&%hȸtyTUpgw#o9ߢuA":o&[e'FEGDBā<*qOTQCx]x]$yF_mv#?V߽|Ł {cUZ`z< XmȨhmbF!bh bTx_T2US>j5xb{x5A企p ѱCrgN $RJ&RlHONġSRV^F5>@zm[/rS|LJVQXHo9hI  GwxKQ#_xw>X Qh=iL`e$hcbbS3=MI e٣^$W @4 ?~ba"X/:ge
-FM|*YiՅtzxGm__pFRDޔ[G5X"|}:nKLNӱQXARPm!WUE[rGOh=yv ❏PzH:Ö%`~%ZtZص3+
-\]˾sAZaWN?4?+#%)11)5Bܟ֬~ioEҦfU<gɪM;;}:G 0 O;_ լL*Ī_)C״*tg5 ;359)5H!(  *un}2FK)Cej%raO^|@LϒIy :!Tĭ^>|'9F66OJWi o),]ZJJ
-:
-7D'Juv`ǧ6=FCK-H &^LސHڙ{#XAG #nlOXtf*g$'rt驩Y(ڏ+J$hMQ2$eibSsPFUփ^8N#8xdj޽v5ϛ
-` HOK)9VQBD a%?diKi@њh:"4z\_w/+YVRG"V7?utk/
-_Eqz]fNN))E׿h}Ȣeϡ=|D崹K?_uׁPEZ/T?LFY=w*P~V/=e,>,R]dtzSD%%v;=}˗/ꫯ- ^ųPeW(/d("ES3:y`!ZDDBtzͦ>W|x L
-믾|;7Sٴv*GsͱxjQVm6=w268qk7n޾s{[ݽ{._8sȾV/?c!fX,wII(ZBkf
-Xr#+Y|mݼs!EBĀA
-Bu^+_7VX$BT\6<rƂeؘ9~3gΞ=gΞ=sǏڷk5Ջ:#+ 6E!թeSR:vɷVN}$~xVq),ڵ0KW߼sGx%k/^<o^rGݹufLB x}4x]ԕA(L쁨传jMvwG=zAё#<o׭¦0z"yBpa4lpVn]=4S8x Sg/{W?
--?6a
-#dj? ^-1;q9.^Zlje˗/Zx3M?z^LOq.`ҁQ1">T1pkIAq Sg[Tb5}'
-E[I@]4WCak22si|xcq+'L8qM8q„ƌ1
-2Av2Ʃ/V|J,OD&@ ,**V"0h`aA~!/%)^{L)(>DG]Re_oo7MICGCL6c֜y.ZdҥUUUK.YxтsgϚ>uqG a9ҒxD30=Ip2gh-GZ
- '$$" 0,OHDGFFD%`Ž`ZG\wpi|C#b2bG;lQcƎ7~|eǍ3zQ\ZT3 #51.:<$ru)ֹVdneZZR/ (8$4,,,¦oBC}x{vn v_!w %EײFn
-E\ )\ ǃQXTR:hzEٳ0?B6:"4ϧJ.PuAq[5+ֵC- GgLgȯx{yѨ4x%$"6 ;Z4uݗEd..Ww\՗|Dtl<:}V!7/
-F qFaŻ@Mñ؃JJE0iJT(2)1/8_r Y,"U"!ŏ %ߌLji)I DE R*9#B؂BUC]#v:uнcog>nbV_znn}qss#>G vahQt!E
-W{QOGgWw\F T6gxhHP_~psݫ
-QbcT
-/A!!h!A~>ޞ4*Suڙ@deV ,1 ҵ{&"i/kPY9{zL~@ͺJ\,R;r><X*WԚ<S!ESTȤ>.)pNڷEjC8@ Ykֶ]{
-s@&eY_U+KWv#J޾[]N!P RĩXzKP *'^ւJ{2(=!p]j|d0e՗,✞Y¬u(7
-+wg7Տ,)`-ZJn
-@H&ۮgl uUL}2Scq&=,Vx= KȬ&?p"@H5-T<\jVdcn12|ht\2 uuZvl_PzfJ
- $Q#joj?30OZ>!zCn:2*OX66&,0Z>6B8{ڿO6Gܢ-IȨ@_/LL eW7M=ƚ-[[q7 (gM{ıZrpm!B@kƯՒ8KO_S*pΟ5jڶ7fU/zzF)9㦕&s,Od5K8tru8{RI^tXˏv1Cv+&He2΂p
-3iՒޮNEALIk0CdI隹iۮ5k^:v Lw ]ooLŭ_n]iޱLEjӮ}tiLMn;ݱ #YM# @8 Y5}2YL#F&[|,f|Βk/ڽÊ7-n푟喢^wc, j.\qḯK 9px5vҔ_i\p&X~֬iOh7
-ŸiKIwP0,~ So~[w;{gd%9z.97Tr.ʮεN"__Ңv*Fhd"wJTiTb;X0Q;djH)fTRH!V2jF %Vak-3d JKeE}SQ:PRGE "H().1
-JDξ9YR%YF >N.Jv2jȠ 䦲AD,W%5roQdzF,Q၀JPB"Z
-Tm'oX*LpOʶ㋔
-xPR5\#!jRBHRD"* 2pF#y} $R@5Ci2,SJ)QT
-Tΐhm).TEd )S*%jpJxD>,OW0{1(yJ9TM cZj*g
- Zh/0@P鷗Cx¿r#%
-Z3F
-
-L /d/F0*/hT׻owE RRa"p.x\FZsĖ픦wSL- x՘G(5SLM2 9t46R^EViR&{DY[pc\6I3̊6X`kCK
-*wBJZeB
-=A*
-Z>X` J0
-~k vrJP9 ggSL?IϤ6BH}m3 )a
+>599 B
+7N$-aǞ;f,Kڎ5F޺3,pذ&EyCR
+yhV )qdڟ _S:u+g3IL `eRRR22 Yt
+8$rhGH,UjًW9?^̂
+w3
+RHRMph V՞~!tGji´YVٴu_pkoܨ R_W\xڽv
+ۛj,.v!Y G&N5oђ+W^~} Ȇmׯ^zϞ1e ^HKy>hB,ŘT}pkI~iԙ-[Ua3൯
+rq9<  
+ Rjo>V#$)5^~1q`2dl5J4&{ 4$1.ֆAPg`!Ĕ :n`镳fϝ7E,?o3^ғb‚*8wY tlRӢ;_`HXH܈Dd! #bDE  L4#Ew.&evE4^}PtaGf0ŁvIN>}ƌ3fL6udRwLiQAn1A~^ZqYui1I/ (dXhXxxHMwBvn_>-E7#7"1.OG QPTR:dzE ٳ /Bb\LdXpSbqY+δ#- 'PM<||}Ql
+ysNDnw$&v\4kE7\"]j6]o6y2GSc#B)/ZLB$fFX 70bt&`Jh6hjU*
+ya!DI7=JzZZjrg#Æ!R:9pPvPqtI{}0]&7*LG} L( gѾVFE
+W_; 'wy GGDE PJ\,!ψА
+6,44 %3$(0SQ) 
+Q,).z^ן0+;;%8}@u!HxH/bp(YҁJ210?7[5 ײKY ⍞iO¬(7
+~t#g[PS R}[q6QQZza)zMV֑6B~NVG\
+ U@?/-B K#G L[?+PDZ4 E8-fU+]׶Ə51g=PG/ yZ)wsM+fX6g,ĥ}9˕*\ר"`qc{3OdrRTUp)Zv2Hӆ`ݝ,K>;;QsIi:8͙wPk}߭M }ګo{A(d!_
+~[1% vyް̦EڽG^45DIz{7,QbK>lI
+g4~K668Uێ a7{pB];qm$X~Ҧ9'li(*b{y=TH¯aʯkU@^{y/!$;`2HB%a*=g(7$)(?˔_Zb( 
+Mrz ER'I)|HS_# EFg|'TH!%$6%Mhd:-SJݕZH%*V%gH ժZT-c4
+T%S3ZF -V?)ɱ}'N^^R2J=*JgGBI~Viq,$W]i.5MВYa +SA;w%Z1JPܝr kneJ+k&7߲:\[V& =
+)+rZV( gIx]AY'n(-# INҤ[5'[uЃ/8mغmVo5|2:=Aoĭ"7FY%#_oo/_"2wu0TJos1Ʋl}q~\@:D2~`
+\Q8
+Z+1:
+1JTZ%M
+F&jt?pE\U6fdF2rg\ d
+m@lBIؘ--3dKLR댺(Z- ZYS`d
+Bሌ* JT`:½ZF*ʁҀbaP'@HO~= ܺѺl3u?5ByFo[_zoxT1,mF,
+uz|NiY1}c#Lz%m8R A":5ط@. xҰJ%/
+x:9
+BV
+\βR
+tXqT';H*f#
+P!-
+b, mS2Mh)nZr ~]^,|
+25d+MQ|-siS JFղZz¿
+MMVJPl4*ba@\UZ<$[ZgmËlFDOfV}L9ȟ v7H?r`wYॅ~W%*|/(:BK`K꜍i
+N l*:NɕJ%F{E^L*UB F^XѨmh8)N{?3{?34K!aDfR͉ke`7W7sAsCO(hau:sRKb MOxR;U,mR+嬥}կ7ިΆiZ[یEj *N/iPhje:JtpiR1#cZ'V?2kbS0qZE %:2!?>˫a6i-&15}c:Q_/+ +9J#Rk,]h, W[:F׆SgFˈ|ZhjbHa\E@LEF3iHVEVk
+Ѽ|x̊%VUl#mD㯋hH=@P ZƎZ[eL_Z߹%7{fLX[@sU˅C 
+ 2wwpC1̐_d,Rd Hsˌ2#ķ!8&DuP endstream endobj 5 0 obj <</Intent 58 0 R/Name(Layer 1)/Type/OCG/Usage 59 0 R>> endobj 58 0 obj [/View/Design] endobj 59 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>> endobj 69 0 obj [68 0 R] endobj 129 0 obj <</CreationDate(D:20140609221420-04'00')/Creator(Adobe Illustrator CS6 \(Macintosh\))/ModDate(D:20140915185856-04'00')/Producer(Adobe PDF library 10.01)/Title(ic_launcher_material)>> endobj xref 0 130 0000000004 65535 f
0000000016 00000 n
-0000000144 00000 n
-0000048454 00000 n
+0000000159 00000 n
+0000047957 00000 n
+0000000000 00000 f
+0000402265 00000 n
+0000000000 00000 f
+0000048008 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000402335 00000 n
+0000402366 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
0000000000 00000 f
-0000130120 00000 n
-0000403644 00000 n
-0000048505 00000 n
-0000049000 00000 n
-0000049395 00000 n
-0000130919 00000 n
-0000054062 00000 n
-0000130306 00000 n
-0000130421 00000 n
-0000130546 00000 n
-0000130669 00000 n
-0000130794 00000 n
-0000050277 00000 n
-0000050856 00000 n
-0000051340 00000 n
-0000051828 00000 n
-0000052313 00000 n
-0000052973 00000 n
-0000053601 00000 n
-0000049459 00000 n
-0000049716 00000 n
-0000049764 00000 n
-0000055978 00000 n
-0000129996 00000 n
-0000056041 00000 n
-0000054427 00000 n
-0000055001 00000 n
-0000054490 00000 n
-0000054364 00000 n
-0000054301 00000 n
-0000054238 00000 n
-0000054175 00000 n
-0000053999 00000 n
+0000129646 00000 n
+0000402451 00000 n
+0000048506 00000 n
+0000048904 00000 n
+0000130450 00000 n
+0000053583 00000 n
+0000129837 00000 n
+0000129952 00000 n
+0000130077 00000 n
+0000130200 00000 n
+0000130325 00000 n
+0000049787 00000 n
+0000050369 00000 n
+0000050858 00000 n
+0000051348 00000 n
+0000051834 00000 n
+0000052494 00000 n
+0000053122 00000 n
+0000048969 00000 n
+0000049226 00000 n
+0000049274 00000 n
+0000055524 00000 n
+0000129522 00000 n
+0000055587 00000 n
+0000053948 00000 n
+0000054528 00000 n
+0000054011 00000 n
+0000053885 00000 n
+0000053822 00000 n
+0000053759 00000 n
+0000053696 00000 n
+0000053520 00000 n
+0000054166 00000 n
+0000054287 00000 n
+0000054406 00000 n
0000054644 00000 n
-0000054762 00000 n
-0000054880 00000 n
-0000055116 00000 n
-0000055169 00000 n
-0000055476 00000 n
-0000055553 00000 n
-0000055708 00000 n
-0000055826 00000 n
-0000055900 00000 n
-0000056340 00000 n
-0000107737 00000 n
-0000056403 00000 n
-0000086172 00000 n
-0000107851 00000 n
-0000107914 00000 n
-0000107944 00000 n
-0000108243 00000 n
-0000129884 00000 n
-0000108319 00000 n
-0000130190 00000 n
-0000130221 00000 n
-0000130993 00000 n
-0000131233 00000 n
-0000132398 00000 n
-0000160645 00000 n
-0000226233 00000 n
-0000291821 00000 n
-0000357409 00000 n
-0000403667 00000 n
-trailer <</Size 68/Root 1 0 R/Info 67 0 R/ID[<4BA7FAB7356E41909CB7D5B4D79243C8><6BCE8F216A0041368D1D10A456D0F959>]>> startxref 403866 %%EOF \ No newline at end of file
+0000054699 00000 n
+0000055014 00000 n
+0000055092 00000 n
+0000055249 00000 n
+0000055370 00000 n
+0000055445 00000 n
+0000055889 00000 n
+0000107282 00000 n
+0000055953 00000 n
+0000085748 00000 n
+0000107398 00000 n
+0000107464 00000 n
+0000107495 00000 n
+0000107798 00000 n
+0000129409 00000 n
+0000107875 00000 n
+0000129719 00000 n
+0000129751 00000 n
+0000130525 00000 n
+0000130772 00000 n
+0000131961 00000 n
+0000160161 00000 n
+0000225750 00000 n
+0000291339 00000 n
+0000356928 00000 n
+0000402476 00000 n
+trailer <</Size 130/Root 1 0 R/Info 129 0 R/ID[<4BA7FAB7356E41909CB7D5B4D79243C8><9C5A7C4BFABD4AC0BB0739542B645821>]>> startxref 402676 %%EOF \ No newline at end of file
diff --git a/binaries/iosched-lpreview.apk b/binaries/iosched-lpreview.apk
deleted file mode 100644
index 5c2afe9..0000000
--- a/binaries/iosched-lpreview.apk
+++ /dev/null
Binary files differ
diff --git a/build.gradle b/build.gradle
index ca820e2..bf3a80f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -20,7 +20,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:0.12.+'
+ classpath 'com.android.tools.build:gradle:1.0.0'
}
}
diff --git a/doc/BUILDING.md b/doc/BUILDING.md
index 38bb756..8f96633 100644
--- a/doc/BUILDING.md
+++ b/doc/BUILDING.md
@@ -12,24 +12,24 @@
See the License for the specific language governing permissions and
limitations under the License.
-
# How to build IOSched
-Note: while these instructions allow you to build iosched, much of the
-functionality that depends on server APIs won't work because in order to
-do that you need to configure your own project in Google Developer
-Console, create API keys, etc. For more information about what you
-need to set up, refer to [Server side setup](#server-side-setup).
+This is a Gradle-based project that works best with [Android Studio].
-This is a Gradle-based project that works best with
-[Android Studio](http://developer.android.com/sdk/installing/studio.html)
+<hr>
+> __Note I__: While the instructions below allow you to build IOSched, much of
+ the functionality that depends on server APIs won't work because in order to
+ do that you need to configure your own project in Google Developer
+ Console (create API keys, etc). These additional steps required to set up,
+ are outlined in the [Server side setup] section in this document.
-> __NOTE__: Building the project as-is requires the Android Wear SDK, which you
- can download from http://developer.android.com/wear/. If you wish to build
- without Android Wear support, please refer to the [Building without Android
- Wear](#building-without-android-wear) section.
+> __NOTE II__: If you NOT wish to build with Android Wear support, further
+ details can be found in the [Building without Android Wear] section in this
+ document.
+
+<hr>
-To build the app:
+## Building the app
1. Install the following software:
- Android SDK:
@@ -40,19 +40,17 @@ To build the app:
http://developer.android.com/sdk/installing/studio.html
2. Run the Android SDK Manager by pressing the SDK Manager toolbar button
- in Android Studio or by running the 'android' command in a terminal
+ in Android Studio or by running the `android` command in a terminal
window.
-
3. In the Android SDK Manager, ensure that the following are installed,
and are updated to the latest available version:
- - Tools > Android SDK Platform-tools (rev 20 or above)
- - Tools > Android SDK Tools (rev 23.0.2 or above)
+ - Tools > Android SDK Platform-tools (rev 21 or above)
+ - Tools > Android SDK Tools (rev 23.0.5 or above)
- Tools > Android SDK Build-tools version 20
- - Tools > Android SDK Build-tools version 19.1
- - Android 4.4 > SDK Platform (API 19)
- - Android 4.4W > SDK Platform (API 20)
- - Android L (API 20, L Preview)
+ - Tools > Android SDK Build-tools version 21 (rev 21.0.2 or above)
+ - Android 4.4W2 > SDK Platform (API 20)
+ - Android 5.0 > SDK Platform (API 21)
- Extras > Android Support Repository
- Extras > Android Support Library
- Extras > Google Play services
@@ -60,7 +58,7 @@ To build the app:
4. Create a file in your working directory called local.properties,
containing the path to your Android SDK. Use local.properties.example as a
- model.
+ model. _(On Windows, use a double-backslash (`\\`) as a path separator!)_
5. Import the project in Android Studio:
@@ -68,104 +66,115 @@ To build the app:
2. Navigate to and choose the settings.gradle file in this project
3. Press OK
-6. Add your debug keystore to the project (save it as android/debug.keystore),
+6. Add your debug keystore to the project (save it as android/debug.keystore),
or modify the build.gradle file to point to your key.
+ > __NOTE__: In debug mode, you sign your app with a debug certificate
+ generated by the Android SDK. _(This certificate has a private key and a
+ known password.)_ To sign your app in release mode, you need to generate
+ your own certificate. If you haven't done so yet, please refer to the
+ [App Signing] guide for further details. Also, if you wish to build with
+ Android Wear support, for further details please refer to the guide
+ [Packaging Wearable Apps].
+
7. Choose Build > Make Project in Android Studio or run the following
- command in the project root directory:
- ```
+ command in the project root directory:
+ ```sh
./gradlew clean assembleDebug
- ```
-8. To install on your test device:
-
- ```
- ./gradlew installClassicDebug
- ```
+ ```
+8. To install on your test device:
+ ```sh
+ ./gradlew installDebug
+ ```
## Building without Android Wear
-If you do not wish to build the Android Wear component, you can remove or
-comment out the following line on android/build.gradle:
-
- wearApp project(":Wearable")
-
-Also, remove ':Wearable' from settings.gradle, leaving only ':android'.
-
-
-## Building with Android L Preview SDK
-
-If you wish to build the project with the Android L Preview SDK to see the
-full experience, you need to set the lpreview property when building:
-
- ./gradlew clean
- ./gradlew -Plpreview assembleDebug
-
-To install on your test device, use:
+If you do NOT wish to build the Android Wear component, you need to make the two
+changes below.
- ./gradlew -Plpreview installLpreviewDebug
-
-You will need a device flashed with the Android L preview system image, or
-you can use the emulator.
+ 1. Open android/build.gradle and remove (or comment out) the following line:
+ ```
+ wearApp project(":Wearable")
+ ```
+ 2. Open settings.gradle and remove `':Wearable'`, leaving only `':android'`.
# Server-side setup
-These steps are optional, in the sense that IOSched will build and run
-even if you don't set up the server side. However, unless you perform
-this setup, your build won't be able to use any of the Google APIs
-such as Google sign in, Google Drive integration, Google Maps integration,
-etc. So following the instructions in this section is highly
-recommended.
+> __NOTE__: These steps are optional, in the sense that IOSched will build and
+ run even if you don't set up the server side. However, unless you perform
+ this setup, your build won't be able to use any of the Google APIs such as
+ Google sign in, Google Drive integration, Google Maps integration, etc. So
+ following the instructions in this section is highly recommended.
-0. Change the project's package name to your own package name.
-To do that, you can set the "package" attribute of the <manifest>
-tag in AndroidManifest.xml.
+1. Change the project's package name to your own package name. To do that, you
+can set the "package" attribute of the <manifest> tag in AndroidManifest.xml.
-1. Create a project in the Google Developers Console,
-at https://cloud.google.com/console
+2. Create a project in the Google Developers Console, at
+ https://cloud.google.com/console
-2. Note your project's Project ID. It is a 11-12 digit sequence
-that appears in the URL, indicated by ########### below:
+3. Note your project's Project ID. It is a 11-12 digit sequence that appears in
+the URL; indicated by ########### below:
```
https://console.developers.google.com/project/###########/...
```
Write down this project ID number you will need it soon.
-3. In the APIs and Auth section, enable these APIs:
+4. Navigate to "APIs and auth" > "APIs" and enable all of the following APIs:
- Drive API
- Google Cloud Messaging for Android
- Google Maps Android API v2
- Google+ API
- YouTube Data API v3
-4. In the Credentials section, create a Client ID for Android applications
-with your package name and your certificate fingerprint. As a reminder,
-you can get your debug certificate fingerprint by issuing this command:
- ```
+5. Navigate to "APIs and auth" > "Credentials" and create a new Client ID for
+Android applications with the package name (as defined in AndroidManifest.xml in
+Step 1) and your debug certificate fingerprint. As a reminder, to get your debug
+certificate fingerprint, run the following command (on Windows, substitute
+`%USERPROFILE%` for `$HOME`):
+ ```sh
keytool -exportcert -alias androiddebugkey \
-keystore $HOME/.android/debug.keystore -list -v
```
- It's also advisable to create a Client ID corresponding to your release
+ It's also advisable to create a 2nd Client ID corresponding to your release
certificate as well. To get your release certificate's fingerprint, run:
- ```
+ ```sh
keytool -exportcert -alias your-key-name \
-keystore /path/to/your/release/keystore/file -list -v
```
-
-5. Still in the Credentials section, create an API Key for Public API
-access. The key's type is Key for Android applications, and you should
-add both your debug and release certificate fingerprints in the
-list of accepted certificates. Note the API key you created. It's
-a long alphanumeric string with digits, letters and with a
-few underscores.
-
-6. Enter your API Key from Step 5 into this file:
+ > __NOTE__: In order to create a Client ID, you might be required to set up
+ the consent screen first! _(That's the screen that will be shown to
+ users whenever you request access to their private data using your
+ Client ID.)_ To do so, go to "APIs and auth" > "Consent screen", enter a
+ "PRODUCT NAME" and click "Save". Finally, go back to Step 5 to create
+ your Client ID(s).
+
+6. Still at the "Credentials" page, create an API Key for Public API access.
+As a key type use _"Key for Android applications"_, and you should add both your
+debug and release certificate fingerprints in the list of accepted certificates.
+Note the API key you created. _(It's a long alphanumeric string that may contain
+digits, letters and underscores.)_
+
+7. Enter the API key from Step 6 into this file:
```
android/src/main/res/values/maps_api_key.xml
```
-7. Enter your API key in the YOUTUBE_API_KEY constant in Config.java
+8. Enter the API key from Step 6, as a value for the `YOUTUBE_API_KEY` constant,
+ into this file:
+ ```
+ android/src/main/java/com/google/samples/apps/iosched/Config.java
+ ```
+
+<hr>
+
+Done. IOSched should now work with Google sign in, Google Drive and Maps
+integration. Note that we did NOT include setting up GCM. For more information
+about this, see the [CUSTOM.md] file.
-Done. IOSched should now work with Google sign in, Google Drive
-integration and Maps integration. Note that we did NOT include
-setting up GCM. For more information about this, see [CUSTOM.md](CUSTOM.md).
+[Android Studio]:http://developer.android.com/sdk/installing/studio.html
+[App Signing]:http://developer.android.com/tools/publishing/app-signing.html#studio
+[Building without Android Wear]:https://github.com/google/iosched/blob/master/doc/BUILDING.md#building-without-android-wear
+[CUSTOM.md]:https://github.com/google/iosched/blob/master/doc/CUSTOM.md
+[Packaging Wearable Apps]:http://developer.android.com/training/wearables/apps/packaging.html
+[Server side setup]:https://github.com/google/iosched/blob/master/doc/BUILDING.md#server-side-setup
diff --git a/doc/IMAGES.md b/doc/IMAGES.md
index 76feba6..2fc995c 100644
--- a/doc/IMAGES.md
+++ b/doc/IMAGES.md
@@ -77,7 +77,7 @@ Means that this image can be fetched at any of the following URLs:
URL | Image size
--- | ----------
-myserver.com/images/**__w-200-400-600-800-1000__**/session1.jpg | original
+myserver.com/images/**\_\_w-200-400-600-800-1000\_\_**/session1.jpg | original
myserver.com/images/w200/session1.jpg | 200px wide
myserver.com/images/w400/session1.jpg | 400px wide
myserver.com/images/w600/session1.jpg | 600px wide
diff --git a/gcm-server/build.gradle b/gcm-server/build.gradle
index 3079d11..dc529e3 100644
--- a/gcm-server/build.gradle
+++ b/gcm-server/build.gradle
@@ -52,7 +52,6 @@ gae {
downloadSdk = true
appcfg {
- email = 'mangini@google.com'
passIn = true
oauth2 = true
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..74d7622
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,24 @@
+#
+# Properties for the build which can be overridden locally.
+#
+# This allows build keys to be set where the app is being built in
+# a gradle.properties override. See;
+#
+# http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html#sec:gradle_properties_and_system_properties
+#
+# for more information on the overriding system.
+#
+
+# The store file location is relative to the module base, and so needs to go
+# up one level of the directory hierarchy to get to the project root.
+
+iosched14_android_debugkey_storefile = ../android/debug.keystore
+iosched14_android_debugkey_storePassword = android
+iosched14_android_debugkey_keyAlias = androiddebugkey
+iosched14_android_debugkey_keyPassword = android
+
+iosched14_android_releasekey_storefile = ../android/debug.keystore
+iosched14_android_releasekey_storePassword = android
+iosched14_android_releasekey_keyAlias = androiddebugkey
+iosched14_android_releasekey_keyPassword = android
+
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 3a78919..137e0e6 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
+distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip