From 9fb8834248f62e8cd86f770fe4be31d814c2faaf Mon Sep 17 00:00:00 2001 From: lucha <lucha@paranoici.org> Date: Sat, 2 Nov 2013 18:41:34 +0100 Subject: [PATCH] [auto] Plugin: nextgen-gallery 2.0.33 --- .../plugins/nextgen-gallery/changelog.txt | 175 + .../plugins/nextgen-gallery/license.txt | 340 ++ .../plugins/nextgen-gallery/nggallery.php | 895 ++-- .../non_pope/class.nextgen_settings.php | 29 + .../class.nextgen_shortcode_manager.php | 125 + .../non_pope/class.nextgen_style_manager.php | 286 ++ .../non_pope/class.photocrati_cache.php | 220 + .../non_pope/class.photocrati_installer.php | 186 + .../class.photocrati_resource_manager.php | 199 + .../class.photocrati_settings_manager.php | 299 ++ .../plugins/nextgen-gallery/pope/README.txt | 93 + .../nextgen-gallery/pope/lib/autoload.php | 14 + .../pope/lib/class.base_module.php | 184 + .../pope/lib/class.base_product.php | 36 + .../pope/lib/class.component.php | 113 + .../pope/lib/class.component_factory.php | 35 + .../pope/lib/class.component_registry.php | 943 ++++ .../pope/lib/class.extensibleobject.php | 1377 ++++++ .../pope/lib/interface.component.php | 10 + .../pope/lib/interface.component_factory.php | 6 + .../pope/lib/interface.pope_module.php | 6 + .../class.nextgen_product_installer.php | 13 + .../modules/ajax/README.txt | 30 + .../modules/ajax/adapter.ajax_routes.php | 21 + .../modules/ajax/adapter.ajax_settings.php | 15 + .../modules/ajax/class.ajax_controller.php | 53 + .../modules/ajax/class.ajax_installer.php | 13 + .../ajax/class.ajax_option_handler.php | 29 + .../ajax/interface.ajax_controller.php | 6 + .../modules/ajax/module.ajax.php | 88 + .../modules/ajax/static/ajax.js | 1 + .../adapter.attach_to_post_ajax.php | 235 + .../adapter.attach_to_post_routes.php | 24 + .../adapter.gallery_storage_frame_event.php | 39 + .../class.attach_controller.php | 295 ++ .../class.attach_to_post_installer.php | 13 + .../class.attach_to_post_option_handler.php | 28 + .../class.attach_to_post_proxy_controller.php | 62 + .../interface.attach_to_post_controller.php | 6 + .../mixin.attach_to_post_display_tab.php | 283 ++ .../attach_to_post/module.attach_to_post.php | 365 ++ .../attach_to_post/static/attach_to_post.css | 279 ++ .../attach_to_post/static/attach_to_post.js | 124 + .../static/attach_to_post_dialog.css | 39 + .../attach_to_post/static/iframely.css | 25 + .../modules/attach_to_post/static/iframely.js | 33 + .../attach_to_post/static/invalid_image.png | Bin 0 -> 2857 bytes .../modules/attach_to_post/static/nextgen.gif | Bin 0 -> 963 bytes .../ngg_attach_to_post_tinymce_plugin.js | 207 + .../modules/attach_to_post/static/ngg_tabs.js | 57 + .../modules/attach_to_post/static/spinner.gif | Bin 0 -> 1849 bytes .../static/underscore.string.js | 600 +++ .../static/uploader-icons-2x.png | Bin 0 -> 3915 bytes .../attach_to_post/static/uploader-icons.png | Bin 0 -> 1593 bytes .../templates/accordion_tab.php | 4 + .../templates/attach_to_post.php | 29 + .../templates/display_settings_form.php | 3 + .../attach_to_post/templates/display_tab.php | 11 + .../templates/display_tab_js.php | 1669 +++++++ .../templates/display_tab_source.php | 2 + .../templates/display_tab_type.php | 3 + .../templates/no_display_type_selected.php | 3 + .../attach_to_post/templates/preview_tab.php | 3 + .../modules/cache/class.cache.php | 85 + .../modules/cache/interface.cache.php | 7 + .../modules/cache/module.cache.php | 42 + .../modules/datamapper/README.txt | 1 + .../datamapper/adapter.datamapper_factory.php | 24 + .../class.custompost_datamapper_driver.php | 547 +++ .../class.customtable_datamapper_driver.php | 486 ++ .../class.datamapper_driver_base.php | 609 +++ .../datamapper/class.datamapper_installer.php | 14 + .../datamapper/class.datamapper_model.php | 157 + .../interface.custompost_datamapper.php | 6 + .../interface.customtable_datamapper.php | 6 + .../interface.datamapper_driver.php | 29 + .../datamapper/interface.datamapper_model.php | 9 + .../modules/datamapper/module.datamapper.php | 210 + .../adapter.dynamic_stylesheet_routes.php | 21 + .../class.dynamic_stylesheet_controller.php | 128 + .../class.dynamic_stylesheet_installer.php | 14 + .../interface.dynamic_stylesheet.php | 7 + .../module.dynamic_stylesheet.php | 53 + .../adapter.dynamic_thumbnail_routes.php | 28 + ...pter.dynamic_thumbnails_storage_driver.php | 104 + .../class.dynamic_thumbnails_controller.php | 72 + .../class.dynamic_thumbnails_installer.php | 14 + .../class.dynamic_thumbnails_manager.php | 517 +++ ...nterface.dynamic_thumbnails_controller.php | 5 + .../interface.dynamic_thumbnails_manager.php | 24 + .../module.dynamic_thumbnails.php | 53 + .../static/invalid_image.png | Bin 0 -> 2797 bytes .../class.frame_communication_installer.php | 14 + .../class.frame_event_publisher.php | 79 + .../interface.frame_event_publisher.php | 6 + .../module.frame_communication.php | 66 + .../static/frame_event_publisher.js | 162 + .../modules/fs/class.fs.php | 368 ++ .../modules/fs/interface.fs.php | 6 + .../modules/fs/module.fs.php | 36 + .../lightbox/adapter.lightbox_factory.php | 14 + .../adapter.lightbox_library_form.php | 66 + .../lightbox/class.lightbox_installer.php | 176 + .../lightbox/class.lightbox_library.php | 31 + .../class.lightbox_library_mapper.php | 83 + .../lightbox/interface.lightbox_library.php | 6 + .../interface.lightbox_library_mapper.php | 6 + .../modules/lightbox/module.lightbox.php | 82 + .../lightbox/static/fancybox/blank.gif | Bin 0 -> 43 bytes .../lightbox/static/fancybox/fancy_close.png | Bin 0 -> 1517 bytes .../static/fancybox/fancy_loading.png | Bin 0 -> 10195 bytes .../static/fancybox/fancy_nav_left.png | Bin 0 -> 1446 bytes .../static/fancybox/fancy_nav_right.png | Bin 0 -> 1454 bytes .../static/fancybox/fancy_shadow_e.png | Bin 0 -> 107 bytes .../static/fancybox/fancy_shadow_n.png | Bin 0 -> 106 bytes .../static/fancybox/fancy_shadow_ne.png | Bin 0 -> 347 bytes .../static/fancybox/fancy_shadow_nw.png | Bin 0 -> 324 bytes .../static/fancybox/fancy_shadow_s.png | Bin 0 -> 111 bytes .../static/fancybox/fancy_shadow_se.png | Bin 0 -> 352 bytes .../static/fancybox/fancy_shadow_sw.png | Bin 0 -> 340 bytes .../static/fancybox/fancy_shadow_w.png | Bin 0 -> 103 bytes .../static/fancybox/fancy_title_left.png | Bin 0 -> 503 bytes .../static/fancybox/fancy_title_main.png | Bin 0 -> 96 bytes .../static/fancybox/fancy_title_over.png | Bin 0 -> 70 bytes .../static/fancybox/fancy_title_right.png | Bin 0 -> 506 bytes .../lightbox/static/fancybox/fancybox-x.png | Bin 0 -> 203 bytes .../lightbox/static/fancybox/fancybox-y.png | Bin 0 -> 176 bytes .../lightbox/static/fancybox/fancybox.png | Bin 0 -> 15287 bytes .../static/fancybox/jquery.easing-1.3.pack.js | 72 + .../static/fancybox/jquery.fancybox-1.3.4.css | 366 ++ .../static/fancybox/jquery.fancybox-1.3.4.js | 1156 +++++ .../fancybox/jquery.fancybox-1.3.4.pack.js | 46 + .../fancybox/jquery.mousewheel-3.0.4.pack.js | 14 + .../static/fancybox/nextgen_fancybox_init.js | 13 + .../static/highslide/graphics/close.png | Bin 0 -> 1910 bytes .../static/highslide/graphics/closeX.png | Bin 0 -> 3665 bytes .../graphics/controlbar-black-border.gif | Bin 0 -> 5109 bytes .../graphics/controlbar-text-buttons.png | Bin 0 -> 1300 bytes .../graphics/controlbar-white-small.gif | Bin 0 -> 3151 bytes .../highslide/graphics/controlbar-white.gif | Bin 0 -> 4999 bytes .../static/highslide/graphics/controlbar2.gif | Bin 0 -> 884 bytes .../static/highslide/graphics/controlbar3.gif | Bin 0 -> 838 bytes .../highslide/graphics/controlbar4-hover.gif | Bin 0 -> 2410 bytes .../static/highslide/graphics/controlbar4.gif | Bin 0 -> 854 bytes .../static/highslide/graphics/fullexpand.gif | Bin 0 -> 209 bytes .../static/highslide/graphics/geckodimmer.png | Bin 0 -> 2817 bytes .../static/highslide/graphics/icon.gif | Bin 0 -> 867 bytes .../static/highslide/graphics/loader.gif | Bin 0 -> 668 bytes .../highslide/graphics/loader.white.gif | Bin 0 -> 673 bytes .../highslide/graphics/outlines/Outlines.psd | Bin 0 -> 171802 bytes .../highslide/graphics/outlines/beveled.png | Bin 0 -> 1848 bytes .../graphics/outlines/drop-shadow.png | Bin 0 -> 2091 bytes .../graphics/outlines/glossy-dark.png | Bin 0 -> 2793 bytes .../graphics/outlines/outer-glow.png | Bin 0 -> 3423 bytes .../graphics/outlines/rounded-black.png | Bin 0 -> 3031 bytes .../graphics/outlines/rounded-white.png | Bin 0 -> 2050 bytes .../static/highslide/graphics/resize.gif | Bin 0 -> 70 bytes .../highslide/graphics/scrollarrows.png | Bin 0 -> 6463 bytes .../static/highslide/graphics/zoomin.cur | Bin 0 -> 326 bytes .../static/highslide/graphics/zoomout.cur | Bin 0 -> 326 bytes .../static/highslide/highslide-full.js | 3320 ++++++++++++++ .../static/highslide/highslide-full.min.js | 9 + .../static/highslide/highslide-full.packed.js | 9 + .../static/highslide/highslide-ie6.css | 76 + .../highslide/highslide-with-gallery.js | 2657 +++++++++++ .../highslide/highslide-with-gallery.min.js | 9 + .../highslide-with-gallery.packed.js | 9 + .../static/highslide/highslide-with-html.js | 2481 +++++++++++ .../highslide/highslide-with-html.min.js | 9 + .../highslide/highslide-with-html.packed.js | 9 + .../lightbox/static/highslide/highslide.css | 889 ++++ .../lightbox/static/highslide/highslide.js | 1891 ++++++++ .../static/highslide/highslide.min.js | 9 + .../static/highslide/highslide.packed.js | 9 + .../highslide/nextgen_highslide_init.js | 37 + .../lightbox/static/jquery.lightbox/jquery.js | 32 + .../jquery.lightbox/jquery.lightbox-0.5.css | 103 + .../jquery.lightbox/jquery.lightbox-0.5.js | 472 ++ .../jquery.lightbox-0.5.min.js | 42 + .../static/jquery.lightbox/lightbox-blank.gif | Bin 0 -> 43 bytes .../jquery.lightbox/lightbox-btn-close.gif | Bin 0 -> 700 bytes .../jquery.lightbox/lightbox-btn-next.gif | Bin 0 -> 812 bytes .../jquery.lightbox/lightbox-btn-prev.gif | Bin 0 -> 832 bytes .../jquery.lightbox/lightbox-ico-loading.gif | Bin 0 -> 3990 bytes .../jquery.lightbox/nextgen_lightbox_init.js | 60 + .../static/shutter/nextgen_shutter.js | 13 + .../lightbox/static/shutter/shutter.css | 94 + .../lightbox/static/shutter/shutter.js | 299 ++ .../static/shutter_reloaded/images/close.gif | Bin 0 -> 1062 bytes .../shutter_reloaded/images/loading.gif | Bin 0 -> 10049 bytes .../static/shutter_reloaded/images/next.gif | Bin 0 -> 549 bytes .../static/shutter_reloaded/images/prev.gif | Bin 0 -> 551 bytes .../shutter_reloaded/images/resize1.gif | Bin 0 -> 942 bytes .../shutter_reloaded/images/resize2.gif | Bin 0 -> 953 bytes .../nextgen_shutter_reloaded.js | 13 + .../static/shutter_reloaded/shutter.css | 92 + .../static/shutter_reloaded/shutter.js | 287 ++ .../static/thickbox/nextgen_thickbox_init.js | 10 + .../modules/lzw/class.lzw.php | 119 + .../modules/lzw/interface.lzw.php | 7 + .../modules/lzw/module.lzw.php | 38 + .../mediarss/adapter.mediarss_routes.php | 27 + .../mediarss/class.mediarss_controller.php | 172 + .../interface.mediarss_controller.php | 6 + .../modules/mediarss/module.mediarss.php | 46 + .../mediarss/templates/mediarss_feed.php | 34 + .../mediarss/templates/playlist_feed.php | 25 + .../photocrati_nextgen/modules/mvc/README | 85 + .../modules/mvc/adapter.mvc_factory.php | 9 + .../modules/mvc/adapter.mvc_fs.php | 44 + .../modules/mvc/adapter.mvc_router.php | 25 + .../modules/mvc/class.mvc_controller.php | 272 ++ .../modules/mvc/class.mvc_installer.php | 16 + .../modules/mvc/class.mvc_option_handler.php | 9 + .../modules/mvc/class.mvc_view.php | 288 ++ .../modules/mvc/class.mvc_view_element.php | 116 + .../modules/mvc/interface.mvc_controller.php | 12 + .../modules/mvc/interface.mvc_view.php | 5 + .../modules/mvc/module.mvc.php | 67 + .../modules/mvc/template_helper.php | 26 + .../modules/mvc/templates/404.php | 9 + .../modules/mvc/templates/500.php | 9 + .../modules/mvc/templates/index.php | 15 + .../adapter.import_folder_form.php | 23 + .../adapter.nextgen_addgallery_ajax.php | 171 + .../adapter.nextgen_addgallery_controller.php | 27 + .../adapter.nextgen_addgallery_forms.php | 19 + .../adapter.nextgen_addgallery_pages.php | 15 + .../adapter.upload_images_form.php | 90 + .../module.nextgen_addgallery_page.php | 62 + .../jquery.filetree/images/directory.png | Bin 0 -> 537 bytes .../jquery.filetree/images/folder_open.png | Bin 0 -> 583 bytes .../static/jquery.filetree/images/spinner.gif | Bin 0 -> 2530 bytes .../jquery.filetree/jquery.filetree.css | 95 + .../static/jquery.filetree/jquery.filetree.js | 100 + .../css/jquery.plupload.queue.css | 177 + .../static/plupload_queue/img/backgrounds.gif | Bin 0 -> 2977 bytes .../plupload_queue/img/buttons-disabled.png | Bin 0 -> 1292 bytes .../static/plupload_queue/img/buttons.png | Bin 0 -> 1439 bytes .../static/plupload_queue/img/delete.gif | Bin 0 -> 180 bytes .../static/plupload_queue/img/done.gif | Bin 0 -> 1024 bytes .../static/plupload_queue/img/error.gif | Bin 0 -> 994 bytes .../static/plupload_queue/img/throbber.gif | Bin 0 -> 1922 bytes .../static/plupload_queue/img/transp50.png | Bin 0 -> 399 bytes .../plupload_queue/jquery.plupload.queue.js | 340 ++ .../nextgen_addgallery_page/static/styles.css | 40 + .../templates/import_folder.php | 63 + .../templates/upload_images.php | 223 + .../nextgen_admin/adapter.fs_access_page.php | 43 + .../nextgen_admin/adapter.mvc_validation.php | 33 + .../adapter.nextgen_admin_default_pages.php | 11 + .../adapter.nextgen_settings_routes.php | 20 + .../modules/nextgen_admin/class.form.php | 375 ++ .../nextgen_admin/class.form_manager.php | 189 + .../class.nextgen_admin_installer.php | 27 + .../class.nextgen_admin_option_handler.php | 29 + .../class.nextgen_admin_page_controller.php | 276 ++ .../nextgen_admin/class.page_manager.php | 146 + .../modules/nextgen_admin/interface.form.php | 7 + .../nextgen_admin/interface.form_manager.php | 11 + .../interface.nextgen_admin_page.php | 6 + .../nextgen_admin/interface.page_manager.php | 6 + .../nextgen_admin/module.nextgen_admin.php | 149 + .../nextgen_admin/static/animation.gif | Bin 0 -> 44130 bytes .../static/gritter/css/gritter.css | 101 + .../static/gritter/gritter.min.js | 1 + .../static/gritter/images/gritter-light.png | Bin 0 -> 4978 bytes .../static/gritter/images/gritter-long.png | Bin 0 -> 6299 bytes .../static/gritter/images/gritter.png | Bin 0 -> 4880 bytes .../static/gritter/images/ie-spacer.gif | Bin 0 -> 43 bytes .../static/gritter/images/trees.jpg | Bin 0 -> 274003 bytes .../nextgen_admin/static/information.png | Bin 0 -> 462 bytes .../jquery-ui/images/nextgen-logo-small.jpg | Bin 0 -> 8965 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_65_ececec_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_ffffe0_1x400.png | Bin 0 -> 115 bytes .../images/ui-bg_glass_95_ffebe8_1x400.png | Bin 0 -> 124 bytes .../ui-bg_highlight-hard_75_ececec_1x100.png | Bin 0 -> 95 bytes .../ui-bg_highlight-soft_75_ececec_1x100.png | Bin 0 -> 103 bytes .../ui-bg_inset-hard_75_ececec_1x100.png | Bin 0 -> 94 bytes .../jquery-ui/images/ui-icons-photocrati.png | Bin 0 -> 388 bytes .../images/ui-icons_21759b_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_333333_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_999999_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_cc0000_256x240.png | Bin 0 -> 4369 bytes .../jquery-ui/jquery-ui-1.9.1.custom.css | 1887 ++++++++ .../static/jquery.placeholder.min.js | 2 + .../static/nextgen_admin_page.css | 39 + .../static/nextgen_admin_page.js | 67 + .../nextgen_admin/static/ngg_progressbar.css | 28 + .../nextgen_admin/static/ngg_progressbar.js | 102 + .../static/select2/select2-spinner.gif | Bin 0 -> 1849 bytes .../nextgen_admin/static/select2/select2.css | 573 +++ .../static/select2/select2.modded.js | 2432 ++++++++++ .../nextgen_admin/static/select2/select2.png | Bin 0 -> 613 bytes .../static/select2/select2x2.png | Bin 0 -> 845 bytes .../nextgen_admin/templates/accordion_tab.php | 4 + .../nextgen_admin/templates/entity_errors.php | 10 + .../nextgen_admin/templates/entity_saved.php | 3 + .../nextgen_settings_field_color.php | 17 + .../nextgen_settings_field_number.php | 20 + .../nextgen_settings_field_radio.php | 26 + .../nextgen_settings_field_select.php | 18 + .../nextgen_settings_field_text.php | 17 + .../nextgen_settings_field_textarea.php | 16 + .../nextgen_settings_field_width_and_unit.php | 25 + .../field_generator/thumbnail_settings.php | 22 + .../modules/nextgen_admin/templates/form.php | 5 + .../templates/nextgen_admin_page.php | 29 + .../templates/not_authorized.php | 3 + .../adapter.nextgen_basic_album.php | 39 + ...adapter.nextgen_basic_album_controller.php | 299 ++ .../adapter.nextgen_basic_album_forms.php | 16 + .../adapter.nextgen_basic_album_mapper.php | 49 + .../adapter.nextgen_basic_album_routes.php | 44 + .../adapter.nextgen_basic_album_urls.php | 13 + ...apter.nextgen_basic_compact_album_form.php | 31 + ...pter.nextgen_basic_extended_album_form.php | 31 + .../class.nextgen_basic_album_installer.php | 25 + .../mixin.nextgen_basic_album_form.php | 54 + .../module.nextgen_basic_album.php | 142 + .../nextgen_basic_album/static/albumset.gif | Bin 0 -> 814 bytes .../static/compact_preview.jpg | Bin 0 -> 7320 bytes .../static/compact_settings.js | 7 + .../static/extended_preview.jpg | Bin 0 -> 6202 bytes .../static/extended_settings.js | 7 + .../nextgen_basic_album/static/init.js | 6 + .../static/jquery.dotdotdot-1.5.7-packed.js | 15 + .../static/nextgen_basic_album.css | 98 + .../nextgen_basic_album/templates/compact.php | 27 + .../templates/extended.php | 22 + ...nextgen_basic_album_galleries_per_page.php | 19 + ...xtgen_basic_album_gallery_display_type.php | 23 + .../adapter.ajax_pagination_actions.php | 29 + .../adapter.nextgen_basic_gallery_forms.php | 10 + .../adapter.nextgen_basic_gallery_mapper.php | 102 + .../adapter.nextgen_basic_gallery_routes.php | 25 + .../adapter.nextgen_basic_gallery_urls.php | 85 + ...apter.nextgen_basic_gallery_validation.php | 46 + ...ter.nextgen_basic_slideshow_controller.php | 104 + .../adapter.nextgen_basic_slideshow_form.php | 338 ++ .../adapter.nextgen_basic_thumbnail_form.php | 200 + ...er.nextgen_basic_thumbnails_controller.php | 221 + .../class.nextgen_basic_gallery_installer.php | 27 + ...hook.nextgen_basic_gallery_integration.php | 50 + ...mixin.nextgen_basic_gallery_controller.php | 30 + .../module.nextgen_basic_gallery.php | 242 + .../static/slideshow/imagerotator.swf | Bin 0 -> 42706 bytes .../static/slideshow/jquery.cycle.all.js | 1548 +++++++ .../static/slideshow/jquery.cycle.all.min.js | 10 + .../static/slideshow/jquery.waitforimages.js | 135 + .../slideshow/nextgen_basic_slideshow.css | 67 + .../slideshow/nextgen_basic_slideshow.js | 55 + .../nextgen_basic_slideshow_settings.js | 20 + .../static/slideshow/placeholder.gif | Bin 0 -> 156 bytes .../static/slideshow_preview.jpg | Bin 0 -> 5254 bytes .../static/thumb_preview.jpg | Bin 0 -> 6538 bytes .../static/thumbnails/ajax_pagination.js | 67 + .../thumbnails/nextgen_basic_thumbnails.css | 102 + .../thumbnails/nextgen_basic_thumbnails.js | 2 + .../nextgen_basic_thumbnails_settings.css | 3 + .../nextgen_basic_thumbnails_settings.js | 13 + .../thumbnails/piclens/lite/NoFlash.jpg | Bin 0 -> 72549 bytes .../thumbnails/piclens/lite/PicLensButton.png | Bin 0 -> 3281 bytes .../thumbnails/piclens/lite/PicLensLite.swf | Bin 0 -> 251875 bytes .../static/thumbnails/piclens/lite/piclens.js | 1127 +++++ .../piclens/lite/piclens_optimized.js | 20 + .../piclens/lytebox/images/blank.gif | Bin 0 -> 43 bytes .../piclens/lytebox/images/close_blue.png | Bin 0 -> 1788 bytes .../piclens/lytebox/images/close_gold.png | Bin 0 -> 1652 bytes .../piclens/lytebox/images/close_green.png | Bin 0 -> 1525 bytes .../piclens/lytebox/images/close_grey.png | Bin 0 -> 1715 bytes .../piclens/lytebox/images/close_red.png | Bin 0 -> 1525 bytes .../piclens/lytebox/images/loading.gif | Bin 0 -> 2767 bytes .../piclens/lytebox/images/next_blue.gif | Bin 0 -> 733 bytes .../piclens/lytebox/images/next_gold.gif | Bin 0 -> 732 bytes .../piclens/lytebox/images/next_green.gif | Bin 0 -> 732 bytes .../piclens/lytebox/images/next_grey.gif | Bin 0 -> 731 bytes .../piclens/lytebox/images/next_red.gif | Bin 0 -> 732 bytes .../piclens/lytebox/images/pause_blue.png | Bin 0 -> 1357 bytes .../piclens/lytebox/images/pause_gold.png | Bin 0 -> 1207 bytes .../piclens/lytebox/images/pause_green.png | Bin 0 -> 1149 bytes .../piclens/lytebox/images/pause_grey.png | Bin 0 -> 1282 bytes .../piclens/lytebox/images/pause_red.png | Bin 0 -> 1133 bytes .../piclens/lytebox/images/play_blue.png | Bin 0 -> 1231 bytes .../piclens/lytebox/images/play_gold.png | Bin 0 -> 1141 bytes .../piclens/lytebox/images/play_green.png | Bin 0 -> 1097 bytes .../piclens/lytebox/images/play_grey.png | Bin 0 -> 1178 bytes .../piclens/lytebox/images/play_red.png | Bin 0 -> 1079 bytes .../piclens/lytebox/images/prev_blue.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_gold.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_green.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_grey.gif | Bin 0 -> 748 bytes .../piclens/lytebox/images/prev_red.gif | Bin 0 -> 748 bytes .../thumbnails/piclens/lytebox/lytebox.css | 93 + .../thumbnails/piclens/lytebox/lytebox.js | 843 ++++ .../templates/slideshow/index.php | 203 + ..._slideshow_settings_gallery_dimensions.php | 27 + .../templates/thumbnails/index.php | 99 + .../adapter.nextgen_basic_imagebrowser.php | 28 + ....nextgen_basic_imagebrowser_controller.php | 205 + ...dapter.nextgen_basic_imagebrowser_form.php | 20 + ...apter.nextgen_basic_imagebrowser_forms.php | 11 + ...pter.nextgen_basic_imagebrowser_mapper.php | 34 + ...pter.nextgen_basic_imagebrowser_routes.php | 20 + ...dapter.nextgen_basic_imagebrowser_urls.php | 12 + ...s.nextgen_basic_imagebrowser_installer.php | 17 + ...ok.nextgen_basic_imagebrowser_alt_urls.php | 45 + .../module.nextgen_basic_imagebrowser.php | 122 + .../static/preview.jpg | Bin 0 -> 5571 bytes .../static/style.css | 58 + .../templates/nextgen_basic_imagebrowser.php | 72 + .../adapter.nextgen_basic_singlepic.php | 23 + ...ter.nextgen_basic_singlepic_controller.php | 153 + .../adapter.nextgen_basic_singlepic_form.php | 113 + .../adapter.nextgen_basic_singlepic_forms.php | 11 + ...adapter.nextgen_basic_singlepic_mapper.php | 77 + ...lass.nextgen_basic_singlepic_installer.php | 16 + .../module.nextgen_basic_singlepic.php | 101 + .../static/nextgen_basic_singlepic.css | 38 + .../static/preview.gif | Bin 0 -> 272 bytes .../templates/nextgen_basic_singlepic.php | 91 + ...en_basic_singlepic_settings_dimensions.php | 25 + .../nextgen_basic_singlepic_settings_link.php | 15 + ...xtgen_basic_singlepic_settings_quality.php | 17 + ...nextgen_basic_singlepic_settings_radio.php | 26 + ...extgen_basic_singlepic_settings_select.php | 19 + .../adapter.nextgen_basic_tagcloud.php | 23 + ...pter.nextgen_basic_tagcloud_controller.php | 78 + .../adapter.nextgen_basic_tagcloud_form.php | 41 + .../adapter.nextgen_basic_tagcloud_forms.php | 11 + .../adapter.nextgen_basic_tagcloud_mapper.php | 28 + .../adapter.nextgen_basic_tagcloud_routes.php | 20 + .../adapter.nextgen_basic_tagcloud_urls.php | 75 + ...class.nextgen_basic_tagcloud_installer.php | 21 + .../class.taxonomy_controller.php | 117 + .../interface.taxonomy_controller.php | 8 + .../module.nextgen_basic_tagcloud.php | 141 + .../static/nextgen_basic_tagcloud.css | 22 + .../nextgen_basic_tagcloud/static/preview.gif | Bin 0 -> 869 bytes .../templates/nextgen_basic_tagcloud.php | 7 + ...nextgen_basic_tagcloud_settings_select.php | 19 + .../adapter.nextgen_basic_template_form.php | 214 + .../class.legacy_template_locator.php | 152 + .../interface.legacy_template_locator.php | 9 + .../mixin.nextgen_basic_templates.php | 37 + .../module.nextgen_basic_templates.php | 52 + .../static/ngg_template_settings.css | 19 + .../static/ngg_template_settings.js | 114 + ...tgen_basic_templates_settings_template.php | 21 + .../adapter.attachment_datamapper.php | 62 + ...adapter.customtable_sorting_datamapper.php | 42 + .../adapter.nextgen_data_factory.php | 51 + .../modules/nextgen_data/class.album.php | 56 + .../nextgen_data/class.album_mapper.php | 123 + .../modules/nextgen_data/class.gallery.php | 81 + .../nextgen_data/class.gallery_mapper.php | 136 + .../nextgen_data/class.gallery_storage.php | 76 + .../class.gallerystorage_base.php | 21 + .../class.gallerystorage_driver_base.php | 1362 ++++++ .../modules/nextgen_data/class.image.php | 57 + .../nextgen_data/class.image_mapper.php | 176 + .../nextgen_data/class.image_wrapper.php | 513 +++ .../class.image_wrapper_collection.php | 54 + .../class.nextgen_data_installer.php | 32 + .../nextgen_data/class.nextgen_metadata.php | 677 +++ .../class.ngglegacy_gallerystorage_driver.php | 794 ++++ .../class.ngglegacy_thumbnail.php | 1030 +++++ .../class.wordpress_gallerystorage_driver.php | 92 + .../modules/nextgen_data/interface.album.php | 6 + .../nextgen_data/interface.album_mapper.php | 6 + .../interface.component_config.php | 10 + .../nextgen_data/interface.gallery.php | 5 + .../nextgen_data/interface.gallery_mapper.php | 6 + .../interface.gallery_storage.php | 6 + .../nextgen_data/interface.gallery_type.php | 5 + .../interface.gallerystorage_driver.php | 31 + .../modules/nextgen_data/interface.image.php | 6 + .../nextgen_data/interface.image_mapper.php | 6 + .../nextgen_data/module.nextgen_data.php | 99 + .../nextgen_gallery_display/README.txt | 148 + .../adapter.display_settings_controller.php | 24 + .../adapter.display_settings_page.php | 13 + .../adapter.gallery_display_ajax.php | 24 + .../adapter.gallery_display_factory.php | 38 + .../adapter.gallery_display_view.php | 43 + .../class.display_type.php | 96 + .../class.display_type_controller.php | 323 ++ .../class.display_type_mapper.php | 110 + .../class.displayed_gallery.php | 923 ++++ .../class.displayed_gallery_mapper.php | 101 + .../class.displayed_gallery_renderer.php | 318 ++ .../class.displayed_gallery_source.php | 49 + .../class.displayed_gallery_source_mapper.php | 89 + .../class.gallery_display_installer.php | 133 + ...agate_thumbnail_dimensions_to_settings.php | 29 + .../interface.display_settings_controller.php | 6 + .../interface.display_type.php | 6 + .../interface.display_type_controller.php | 6 + .../interface.display_type_form.php | 5 + .../interface.display_type_mapper.php | 6 + .../interface.displayed_gallery.php | 6 + .../interface.displayed_gallery_mapper.php | 6 + .../interface.displayed_gallery_renderer.php | 6 + .../interface.displayed_gallery_source.php | 6 + ...erface.displayed_gallery_source_mapper.php | 10 + .../mixin.display_type_form.php | 57 + .../module.nextgen_gallery_display.php | 303 ++ .../nextgen_gallery_display/static/common.js | 85 + .../static/jquery.nextgen_radio_toggle.js | 17 + .../nextgen_gallery_display_settings.css | 52 + .../nextgen_gallery_display_settings.js | 12 + .../static/nextgen_gallery_related_images.css | 22 + .../templates/alt_view_link_text.php | 18 + .../templates/alternative_view.php | 20 + .../templates/container/after.php | 0 .../templates/container/before.php | 0 .../templates/image/after.php | 1 + .../templates/image/before.php | 7 + .../templates/index.php | 9 + .../templates/list/after.php | 0 .../templates/list/before.php | 0 .../templates/no_images_found.php | 1 + .../templates/related.php | 18 + .../templates/return_link_text.php | 18 + .../templates/show_altview_link.php | 27 + .../templates/show_return_link.php | 27 + .../adapter.image_options_form.php | 230 + .../adapter.lightbox_manager_form.php | 98 + .../adapter.miscellaneous_form.php | 78 + .../adapter.other_options_controller.php | 29 + .../adapter.other_options_forms.php | 42 + .../adapter.other_options_page.php | 13 + .../adapter.reset_form.php | 59 + .../adapter.roles_form.php | 22 + .../adapter.styles_form.php | 45 + .../adapter.stylesheet_ajax_actions.php | 49 + .../adapter.thumbnail_options_form.php | 42 + .../adapter.watermarking_ajax_actions.php | 44 + .../adapter.watermarks_form.php | 135 + .../class.settings_model.php | 55 + .../module.nextgen_other_options.php | 89 + .../static/nextgen_settings_page.css | 115 + .../static/nextgen_settings_page.js | 120 + .../templates/image_options_tab.php | 258 ++ .../templates/lightbox_library_tab.php | 49 + .../templates/misc_tab.php | 53 + .../templates/reset_tab.php | 34 + .../templates/styling_tab.php | 53 + .../templates/thumbnail_options_tab.php | 94 + .../templates/watermark_image_fields.php | 15 + .../templates/watermark_text_fields.php | 75 + .../templates/watermarks_tab.php | 99 + .../mixin.nextgen_basic_pagination.php | 78 + .../module.nextgen_pagination.php | 30 + .../nextgen_pagination/static/style.css | 41 + ...adapter.nextgen_pro_upgrade_controller.php | 45 + .../adapter.nextgen_pro_upgrade_page.php | 20 + .../module.nextgen_pro_upgrade.php | 38 + .../nextgen_pro_upgrade/static/button.png | Bin 0 -> 7581 bytes .../nextgen_pro_upgrade/static/proupgrade.gif | Bin 0 -> 578587 bytes .../nextgen_pro_upgrade/static/style.css | 103 + .../nextgen_pro_upgrade/templates/index.php | 59 + .../class.nextgen_settings_installer.php | 170 + .../module.nextgen_settings.php | 38 + .../nextgen_xmlrpc/module.nextgen_xmlrpc.php | 602 +++ .../modules/ngglegacy/admin/admin.php | 612 +++ .../modules/ngglegacy/admin/ajax.php | 402 ++ .../modules/ngglegacy/admin/album.php | 707 +++ .../ngglegacy/admin/css/images/dropdown.png | Bin 0 -> 217 bytes .../admin/css/images/ui-anim_basic_16x16.gif | Bin 0 -> 1553 bytes .../css/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../css/images/ui-icons_cccccc_256x240.png | Bin 0 -> 4369 bytes .../css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ngglegacy/admin/css/jquery.ui.tabs.css | 158 + .../modules/ngglegacy/admin/css/menu.css | 3 + .../ngglegacy/admin/css/nggColorPicker.css | 14 + .../modules/ngglegacy/admin/css/nggSorter.css | 76 + .../ngglegacy/admin/css/ngg_social_media.css | 33 + .../modules/ngglegacy/admin/css/nggadmin.css | 458 ++ .../ngglegacy/admin/css/tags-admin.css | 10 + .../ngglegacy/admin/edit-thumbnail.php | 183 + .../modules/ngglegacy/admin/functions.php | 1461 ++++++ .../ngglegacy/admin/images/facebook.png | Bin 0 -> 1082 bytes .../ngglegacy/admin/images/googleplus.png | Bin 0 -> 1513 bytes .../ngglegacy/admin/images/icon-paypal.gif | Bin 0 -> 220 bytes .../ngglegacy/admin/images/icon-rating.png | Bin 0 -> 728 bytes .../ngglegacy/admin/images/icon-translate.png | Bin 0 -> 819 bytes .../ngglegacy/admin/images/marker_bottom.gif | Bin 0 -> 45 bytes .../ngglegacy/admin/images/marker_middle.gif | Bin 0 -> 48 bytes .../ngglegacy/admin/images/marker_top.gif | Bin 0 -> 45 bytes .../ngglegacy/admin/images/menu-bits.gif | Bin 0 -> 1194 bytes .../ngglegacy/admin/images/nextgen.png | Bin 0 -> 738 bytes .../admin/images/nextgen_16_color.png | Bin 0 -> 388 bytes .../admin/images/nextgen_16_grey.png | Bin 0 -> 400 bytes .../admin/images/nextgen_32_color.png | Bin 0 -> 1108 bytes .../admin/images/nextgen_32_grey.png | Bin 0 -> 898 bytes .../modules/ngglegacy/admin/images/select.png | Bin 0 -> 506 bytes .../ngglegacy/admin/images/twitter.png | Bin 0 -> 964 bytes .../modules/ngglegacy/admin/index.html | 0 .../modules/ngglegacy/admin/install.php | 164 + .../ngglegacy/admin/js/Jcrop/css/Jcrop.gif | Bin 0 -> 329 bytes .../admin/js/Jcrop/css/jquery.Jcrop.css | 35 + .../admin/js/Jcrop/js/jquery.Jcrop.js | 1197 +++++ .../admin/js/colorpicker/css/colorpicker.css | 161 + .../admin/js/colorpicker/images/blank.gif | Bin 0 -> 49 bytes .../images/colorpicker_background.png | Bin 0 -> 1897 bytes .../js/colorpicker/images/colorpicker_hex.png | Bin 0 -> 532 bytes .../colorpicker/images/colorpicker_hsb_b.png | Bin 0 -> 970 bytes .../colorpicker/images/colorpicker_hsb_h.png | Bin 0 -> 1012 bytes .../colorpicker/images/colorpicker_hsb_s.png | Bin 0 -> 1171 bytes .../colorpicker/images/colorpicker_indic.gif | Bin 0 -> 86 bytes .../images/colorpicker_overlay.png | Bin 0 -> 10355 bytes .../colorpicker/images/colorpicker_rgb_b.png | Bin 0 -> 970 bytes .../colorpicker/images/colorpicker_rgb_g.png | Bin 0 -> 1069 bytes .../colorpicker/images/colorpicker_rgb_r.png | Bin 0 -> 1066 bytes .../colorpicker/images/colorpicker_select.gif | Bin 0 -> 78 bytes .../colorpicker/images/colorpicker_submit.png | Bin 0 -> 984 bytes .../colorpicker/images/custom_background.png | Bin 0 -> 1916 bytes .../js/colorpicker/images/custom_hex.png | Bin 0 -> 562 bytes .../js/colorpicker/images/custom_hsb_b.png | Bin 0 -> 1097 bytes .../js/colorpicker/images/custom_hsb_h.png | Bin 0 -> 970 bytes .../js/colorpicker/images/custom_hsb_s.png | Bin 0 -> 1168 bytes .../js/colorpicker/images/custom_indic.gif | Bin 0 -> 86 bytes .../js/colorpicker/images/custom_rgb_b.png | Bin 0 -> 1008 bytes .../js/colorpicker/images/custom_rgb_g.png | Bin 0 -> 1069 bytes .../js/colorpicker/images/custom_rgb_r.png | Bin 0 -> 1018 bytes .../js/colorpicker/images/custom_submit.png | Bin 0 -> 997 bytes .../admin/js/colorpicker/images/select.png | Bin 0 -> 506 bytes .../admin/js/colorpicker/images/select2.png | Bin 0 -> 518 bytes .../admin/js/colorpicker/images/slider.png | Bin 0 -> 315 bytes .../admin/js/colorpicker/js/colorpicker.js | 484 ++ .../ngglegacy/admin/js/jquery.MultiFile.js | 535 +++ .../admin/js/jquery.MultiFile.pack.js | 11 + .../admin/js/jquery.ui.autocomplete.js | 612 +++ .../admin/js/jquery.ui.autocomplete.min.js | 32 + .../js/jqueryFileTree/images/directory.png | Bin 0 -> 537 bytes .../js/jqueryFileTree/images/folder_open.png | Bin 0 -> 583 bytes .../js/jqueryFileTree/images/spinner.gif | Bin 0 -> 2530 bytes .../js/jqueryFileTree/jqueryFileTree.css | 81 + .../admin/js/jqueryFileTree/jqueryFileTree.js | 98 + .../modules/ngglegacy/admin/js/ngg.ajax.js | 127 + .../ngglegacy/admin/js/ngg.autocomplete.js | 77 + .../ngglegacy/admin/js/ngg.progressbar.js | 140 + .../ngglegacy/admin/js/ngg_social_media.js | 8 + .../ngglegacy/admin/js/plupload.handler.js | 247 + .../ngglegacy/admin/manage-galleries.php | 455 ++ .../modules/ngglegacy/admin/manage-images.php | 756 ++++ .../modules/ngglegacy/admin/manage-sort.php | 138 + .../modules/ngglegacy/admin/manage.php | 659 +++ .../modules/ngglegacy/admin/media-upload.php | 303 ++ .../modules/ngglegacy/admin/overview.php | 691 +++ .../modules/ngglegacy/admin/publish.php | 64 + .../modules/ngglegacy/admin/roles.php | 137 + .../modules/ngglegacy/admin/rotate.php | 98 + .../modules/ngglegacy/admin/settings.php | 943 ++++ .../modules/ngglegacy/admin/setup.php | 58 + .../modules/ngglegacy/admin/showmeta.php | 124 + .../modules/ngglegacy/admin/style.php | 250 ++ .../modules/ngglegacy/admin/tags.php | 292 ++ .../admin/templates/facebook_like_button.php | 2 + .../admin/templates/social_media_buttons.php | 4 + .../admin/templates/twitter_follow_link.php | 8 + .../ngglegacy/admin/thumbnails-template.php | 104 + .../modules/ngglegacy/admin/upgrade.php | 283 ++ .../modules/ngglegacy/admin/upload.php | 47 + .../modules/ngglegacy/admin/wpmu.php | 117 + .../ngglegacy/class.ngglegacy_installer.php | 16 + .../modules/ngglegacy/css/nggallery.css | 8 + .../modules/ngglegacy/fonts/arial.ttf | Bin 0 -> 311636 bytes .../modules/ngglegacy/images/ajax-loader.gif | Bin 0 -> 673 bytes .../modules/ngglegacy/images/loader.gif | Bin 0 -> 6820 bytes .../modules/ngglegacy/images/mrss-icon.gif | Bin 0 -> 1040 bytes .../modules/ngglegacy/images/piclens.gif | Bin 0 -> 1443 bytes .../modules/ngglegacy/index.html | 0 .../modules/ngglegacy/lang/nggallery-de_DE.mo | Bin 0 -> 73617 bytes .../modules/ngglegacy/lang/nggallery-de_DE.po | 3956 +++++++++++++++++ .../modules/ngglegacy/lang/nggallery.pot | 3640 +++++++++++++++ .../ngglegacy/lib/class.ngg_serializable.php | 45 + .../modules/ngglegacy/lib/core.php | 600 +++ .../ngglegacy/lib/gd.thumbnail.inc.php | 943 ++++ .../modules/ngglegacy/lib/image.php | 83 + .../modules/ngglegacy/lib/imagemagick.inc.php | 597 +++ .../modules/ngglegacy/lib/locale.php | 151 + .../modules/ngglegacy/lib/media-rss.php | 244 + .../modules/ngglegacy/lib/meta.php | 588 +++ .../modules/ngglegacy/lib/multisite.php | 57 + .../modules/ngglegacy/lib/navigation.php | 123 + .../modules/ngglegacy/lib/ngg-db.php | 1121 +++++ .../modules/ngglegacy/lib/post-thumbnail.php | 365 ++ .../modules/ngglegacy/lib/rewrite.php | 423 ++ .../modules/ngglegacy/lib/shortcodes.php | 141 + .../modules/ngglegacy/lib/sitemap.php | 127 + .../modules/ngglegacy/lib/swfobject.php | 195 + .../modules/ngglegacy/lib/tags.php | 386 ++ .../modules/ngglegacy/module.ngglegacy.php | 51 + .../modules/ngglegacy/ngg-config.php | 38 + .../modules/ngglegacy/nggallery.php | 455 ++ .../modules/ngglegacy/nggfunctions.php | 288 ++ .../modules/ngglegacy/nggshow.php | 65 + .../ngglegacy/static/Black_Minimalism.css | 49 + .../modules/ngglegacy/static/default.css | 32 + .../modules/ngglegacy/static/hovereffect.css | 142 + .../modules/ngglegacy/static/ngg_dkret3.css | 42 + .../modules/ngglegacy/static/ngg_k2.css | 84 + .../modules/ngglegacy/static/ngg_shadow.css | 24 + .../modules/ngglegacy/static/ngg_shadow2.css | 30 + .../modules/ngglegacy/static/shadow.gif | Bin 0 -> 4364 bytes .../modules/ngglegacy/static/shadowAlpha.png | Bin 0 -> 3403 bytes .../modules/ngglegacy/view/album-compact.php | 43 + .../modules/ngglegacy/view/album-extend.php | 43 + .../ngglegacy/view/gallery-caption.php | 62 + .../ngglegacy/view/gallery-carousel.php | 56 + .../modules/ngglegacy/view/gallery.php | 66 + .../ngglegacy/view/imagebrowser-caption.php | 37 + .../ngglegacy/view/imagebrowser-exif.php | 67 + .../modules/ngglegacy/view/imagebrowser.php | 37 + .../modules/ngglegacy/view/singlepic.php | 31 + .../modules/ngglegacy/xml/imagerotator.php | 52 + .../modules/ngglegacy/xml/json.php | 275 ++ .../modules/ngglegacy/xml/media-rss.php | 123 + .../router/adapter.routing_app_factory.php | 9 + .../router/class.http_response_controller.php | 47 + .../modules/router/class.router.php | 299 ++ .../modules/router/class.router_installer.php | 12 + .../modules/router/class.routing_app.php | 824 ++++ .../router/interface.http_response.php | 7 + .../modules/router/interface.router.php | 8 + .../modules/router/interface.routing_app.php | 6 + .../modules/router/mixin.url_manipulation.php | 180 + .../modules/router/module.router.php | 52 + .../modules/security/README | 24 + .../security/adapter.security_factory.php | 29 + .../modules/security/class.security_actor.php | 144 + .../security/class.security_manager.php | 58 + .../modules/security/class.security_token.php | 68 + .../class.wordpress_security_actor.php | 138 + .../class.wordpress_security_manager.php | 113 + .../class.wordpress_security_token.php | 100 + .../security/interface.security_actor.php | 12 + .../security/interface.security_manager.php | 12 + .../security/interface.security_token.php | 14 + .../modules/security/module.security.php | 52 + .../simplehtmldom/module.simple_html_dom.php | 33 + .../simplehtmldom/simple_html_dom.php | 1742 ++++++++ .../module.third_party_compat.php | 117 + .../modules/validation/mixin.validation.php | 507 +++ .../modules/validation/module.validation.php | 32 + .../modules/widget/class.widget.php | 89 + .../modules/widget/class.widget_gallery.php | 183 + .../modules/widget/class.widget_mediarss.php | 107 + .../modules/widget/class.widget_slideshow.php | 119 + .../modules/widget/interface.widget.php | 5 + .../modules/widget/module.widget.php | 56 + .../modules/widget/static/widgets.css | 15 + .../widget/templates/display_gallery.php | 29 + .../widget/templates/display_mediarss.php | 13 + .../widget/templates/display_slideshow.php | 8 + .../modules/widget/templates/form_gallery.php | 113 + .../widget/templates/form_mediarss.php | 57 + .../widget/templates/form_slideshow.php | 60 + .../adapter.wordpress_router.php | 95 + .../adapter.wordpress_routing_app.php | 62 + .../module.wordpress_routing.php | 51 + .../product.photocrati_nextgen.php | 74 + wp-content/plugins/nextgen-gallery/readme.txt | 254 +- .../plugins/nextgen-gallery/screenshot-1.png | Bin 0 -> 384137 bytes .../plugins/nextgen-gallery/screenshot-2.png | Bin 0 -> 375877 bytes .../plugins/nextgen-gallery/screenshot-3.png | Bin 0 -> 444008 bytes .../plugins/nextgen-gallery/screenshot-4.png | Bin 0 -> 55501 bytes .../plugins/nextgen-gallery/screenshot-5.png | Bin 0 -> 192744 bytes .../plugins/nextgen-gallery/screenshot-6.png | Bin 0 -> 100579 bytes .../plugins/nextgen-gallery/screenshot-7.png | Bin 0 -> 73737 bytes .../plugins/nextgen-gallery/screenshot-8.png | Bin 0 -> 75244 bytes .../plugins/nextgen-gallery/screenshot-9.png | Bin 0 -> 70604 bytes 776 files changed, 95782 insertions(+), 535 deletions(-) create mode 100644 wp-content/plugins/nextgen-gallery/license.txt create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/autoload.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.component.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/invalid_image.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/nextgen.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons-2x.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.custompost_datamapper_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.customtable_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_model.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/static/invalid_image.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_event_publisher.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/class.fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_close.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_loading.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_left.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_right.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_e.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_n.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_ne.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_nw.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_s.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_se.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_sw.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_w.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_left.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_main.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_over.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_right.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-x.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-y.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/closeX.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white-small.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar3.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4-hover.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/fullexpand.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/drop-shadow.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/glossy-dark.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-black.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/scrollarrows.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomin.cur create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-ie6.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-close.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/close.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/next.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/prev.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize1.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize2.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/module.lzw.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/module.mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_fs.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/404.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/500.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_pages.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/css/jquery.plupload.queue.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/backgrounds.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/buttons-disabled.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/buttons.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/delete.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/done.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/error.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/throbber.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/transp50.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/jquery.plupload.queue.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.fs_access_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.mvc_validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_admin_default_pages.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_settings_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_option_handler.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.page_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.nextgen_admin_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.page_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/animation.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/gritter.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-light.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-long.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/ie-spacer.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/trees.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/nextgen-logo-small.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_65_ececec_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_55_ffffe0_1x400.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_95_ffebe8_1x400.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-hard_75_ececec_1x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-soft_75_ececec_1x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_inset-hard_75_ececec_1x100.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons-photocrati.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_21759b_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_333333_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_999999_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_cc0000_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery.placeholder.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2-spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.modded.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2x2.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/accordion_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_errors.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_saved.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_number.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_select.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_textarea.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_width_and_unit.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/thumbnail_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/not_authorized.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_compact_album_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_extended_album_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/albumset.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/init.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_galleries_per_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_gallery_display_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.ajax_pagination_actions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnails_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/hook.nextgen_basic_gallery_integration.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/mixin.nextgen_basic_gallery_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/imagerotator.swf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/placeholder.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/ajax_pagination.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/NoFlash.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensButton.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensLite.swf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens_optimized.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_blue.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_gold.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_green.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_red.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/loading.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_blue.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_gold.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_green.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_grey.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_red.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_blue.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_gold.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_green.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_red.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_blue.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_gold.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_green.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_red.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_blue.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_gold.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_green.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_grey.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_red.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/class.nextgen_basic_imagebrowser_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/hook.nextgen_basic_imagebrowser_alt_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/class.nextgen_basic_singlepic_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/preview.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_quality.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_select.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_routes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_urls.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.nextgen_basic_tagcloud_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.taxonomy_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/interface.taxonomy_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud_settings_select.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/class.legacy_template_locator.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/interface.legacy_template_locator.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/mixin.nextgen_basic_templates.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/templates/nextgen_basic_templates_settings_template.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.attachment_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.customtable_sorting_datamapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.nextgen_data_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_storage.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_base.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper_collection.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_data_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_thumbnail.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.wordpress_gallerystorage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.component_config.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_storage.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallerystorage_driver.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/README.txt create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_renderer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.gallery_display_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/hook.propagate_thumbnail_dimensions_to_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_settings_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_renderer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source_mapper.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/mixin.display_type_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/jquery.nextgen_radio_toggle.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alternative_view.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/after.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/before.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/after.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/before.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/after.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/before.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/no_images_found.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_altview_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_return_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_forms.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.stylesheet_ajax_actions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarking_ajax_actions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/class.settings_model.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_image_fields.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_text_fields.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/mixin.nextgen_basic_pagination.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_page.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/button.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/proupgrade.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/index.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/dropdown.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-anim_basic_16x16.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_222222_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_cccccc_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_ffffff_256x240.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/menu.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/ngg_social_media.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/facebook.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/googleplus.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-paypal.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-rating.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-translate.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_bottom.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_middle.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_top.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/menu-bits.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_color.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_grey.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/select.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/twitter.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/index.html create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/Jcrop.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/css/colorpicker.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/blank.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_background.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hex.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_h.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_s.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_indic.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_overlay.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_g.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_r.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_select.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_submit.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_background.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hex.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_h.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_s.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_indic.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_b.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_g.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_r.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_submit.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select2.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/slider.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/js/colorpicker.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.pack.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.min.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/directory.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/folder_open.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/spinner.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.autocomplete.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.progressbar.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg_social_media.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/plupload.handler.js create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/publish.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/roles.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/settings.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/setup.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/style.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/facebook_like_button.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/social_media_buttons.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/twitter_follow_link.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upload.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/class.ngglegacy_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/css/nggallery.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/fonts/arial.ttf create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/ajax-loader.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/loader.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/mrss-icon.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/piclens.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/index.html create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.mo create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.po create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery.pot create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/locale.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/navigation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/shortcodes.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/swfobject.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/ngg-config.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadow.gif create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadowAlpha.png create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-carousel.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/singlepic.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/imagerotator.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/json.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/adapter.routing_app_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.http_response_controller.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router_installer.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.http_response.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/mixin.url_manipulation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/README create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/adapter.security_factory.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_actor.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_token.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_actor.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_token.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_actor.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_manager.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_token.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/module.simple_html_dom.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/simplehtmldom/simple_html_dom.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/mixin.validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_slideshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/interface.widget.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.css create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_slideshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_gallery.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_mediarss.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_slideshow.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_router.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_routing_app.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php create mode 100644 wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-1.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-2.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-3.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-4.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-5.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-6.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-7.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-8.png create mode 100644 wp-content/plugins/nextgen-gallery/screenshot-9.png diff --git a/wp-content/plugins/nextgen-gallery/changelog.txt b/wp-content/plugins/nextgen-gallery/changelog.txt index 015c0b9fd..fcb96679d 100644 --- a/wp-content/plugins/nextgen-gallery/changelog.txt +++ b/wp-content/plugins/nextgen-gallery/changelog.txt @@ -1,6 +1,180 @@ NextGEN Gallery by Photocrati Media += V2.0.33 - 10.21.2013 = +* NEW: Requests /ngg_tag/[tagname] will create a displayed gallery +* NEW: Option added to "Import Gallery" tab to use original images +* Fixed: Links are broken on the ngg_tags-sitemap.xml file by WordPress SEO +* Fixed: PHP notice: Attempt to assign property of non-object +* Fixed: Undefined property warnings when using NextGEN Basic Thumbnails +* Fixed: Detect if an applying a transient to a displayed gallery was successful +* Fixed: Compatibility issues with BJ-Lazy-Load and Colorbox +* Fixed: Pagination conflicts for multiple Imagebrowsers on the same page +* Fixed: Ability to display previous exception with debug mode +* Fixed: Tagclouds not working in multisite instances +* Fixed: Load widgets.css when a widget is being used +* Fixed: Installer should remove all instances of the component factory +* Fixed: Widget settings interface not intuitive +* Fixed: Inability to upload images in some Windows host environments +* Fixed: Sorting images/galleries using the Attach To Post interface +* Fixed: Fix detection of HTTPS (pull request by Leonhardt Wille) +* Fixed: Compilation errors of regular expressions +* Fixed: Pro galleries wouldn't display in environments using PHP 5.3.3 or less +* Fixed: Scanning of router slug is now limited to the uri, not the url +* Fixed: Show slideshow link isn't required for thumbnail/imagebrowser integration +* Fixed: WordPress media-upload with 'singlepic' image size +* Fixed: Use target=_blank when the link setting is provided for NextGEN Basic Singlepic +* Fixed: Only display rendering errors if WP_DEBUG is enabled + + += V2.0.31 - 10.03.2013 = +* NEW: Restored AJAX pagination for NextGEN Basic ImageBrowser display type +* Fixed: Compatibility with WordPress Local SEO by Yoast +* Fixed: Inability to upload images if image_slug field was missing in database +* Fixed: Integration of NextGEN Basic Thumbnail and NextGEN Basic Slideshow display types +* Fixed: Photocrati Resource Manager further adjusted to be third-party friendly +* Fixed: Added the ability to find legacy templates in both the child/parent theme directories +* Fixed: JavaScript errors in Attach to Post interface +* Fixed: Router can handle port numbers in urls +* Fixed: Carousel template was linking to NextGEN Basic ImageBrowser view +* Fixed: SQL query generated for displayed galleries using tags as source +* Fixed: 3rd party compat: raise & never lower pcre.backtrack_limit + += V2.0.30 - 09.25.2013 = +* NEW: Restored the ability to use imagebrowser display type instead of a lightbox effect +* Changed: Displayed galleries are no longer rendered in RSS feeds +* Changed: Removed "Plugin Check" widget from overview page +* Fixed: Silence PHP warnings/errors in an output buffer for AJAX actions +* Fixed: Compatibility issue with WordPress SEO and broken site maps (and large error_logs) +* Fixed: Compatibility issue with AJAX Event Calendar (and possibly others) +* Fixed: Adjusted Photocrati Resource Manager to be third-party friendly +* Fixed: Fixed empty result set for displayed galleries selecting 'All' tags +* Fixed: URL generation for imagebrowser pagination links +* Fixed: Ensure that image meta is imported on creation +* Fixed: Ensure that transients are removed when an external object cache is used +* Fixed: Don't load pluggable.php. This will fix plugin conflicts +* Fixed: In Attach to Post interface, galleries created in one tab weren't showing in another +* Fixed: Don't output frame events cookie for XML-RPC requests + += V2.0.27 - 09.18.2013 = +* Fixed: Reduce performance impact of purging displayed gallery transients + += V2.0.25 - 09.18.2013 = +* Changed: Reverting to the 2.0.21 codebase, due to major performance issues in 2.0.23 and 2.0.24 + += V2.0.24 - 09.18.2013 = +* WARNING: Broken release. Uses wp_clear_scheduled_hooks() to purge cron records + += V2.0.23 - 09.12.2013 = +* WARNING: Broken release. Major bug creates redundant cron jobs +* NEW: WP-Cron job to periodically clean-up displayed gallery transients +* NEW: Added "excluded_container_ids" as parameter for ngg_images shortcode +* Fixed: Lightbox effect is honoured by all display types +* Fixed: Highslide displays images from the correct displayed galleries +* Fixed: Ensure that sub-albums display correctly when the word "album" is part of a slug +* Fixed: Ensure that sub-albums display correctly when numerical slugs are used +* Fixed: Related images heading only added when Related Images functionality is enabled +* Fixed: PHP Warning about undefined index when viewing basic albums +* Fixed: AJAX handling is third-party compatible +* Fixed: Image date is no longer overwritten when an image is modified +* Fixed: Fixed issue with displayed galleries using source='tags' +* Fixed: Problem with transient cache not getting flushed properly from Other Options page +* Fixed: Use correct gallery/transient ID when ajax pagination is used + += V2.0.21 - 09.09.2013 = +* NEW: Multisite support +* Changed: Default image quality set to 100 for generated images +* Changed: Removed dependence on simplehtmldom library +* Fixed: Related images functionality works as it did in 1.9.x +* Fixed: Don't compress inline JavaScript in post/page content +* Fixed: Click-to-advance slideshow behavior for slideshows +* Fixed: Security warnings from VaultPress +* Fixed: View as Slideshow link works with AJAX pagination +* Fixed: Broken links on Overview page +* Fixed: Backup images option +* Fixed: Stylesheet url generated correctly for Windows hosts +* Fixed: Compatibility with NextGen Custom Fields plugin +* Fixed: Compatibility with Adsense Explosion plugin +* Fixed: Suppress wp_footer notices unless WP_DEBUG is set to TRUE + += V2.0.17 - 08.30.2013 = +Fixed: Match legacy behaviour when changing gallery path, i.e. don't move files + += V2.0.14 - 08.27.2013 = +* NEW: Added the ability to override thumbnail settings for NextGEN Basic Albums +* NEW: Shortcode Manager API, which ensures that shortcodes are outputted as intended +* Changed: Re-added the ability to select the original image size for widgets +* Fixed: Ensure that stylesheet url returned is correct for Windows hosts +* Fixed: Broken links and lightbox effects with AJAX pagination +* Fixed: Try to ensure that third party plugins don't add content to our dynamic JS +* Fixed: Improved reliability of iframely.js +* Fixed: Ensure that urls are generated correctly in HTTPs environments +* Fixed: Datamapper works correctly in environments where temporary tables aren't supported +* Fixed: Fixed an issue with thickbox loading animation when home url differs from site url + += V2.0.11 - 08.19.2013 = +* NEW: Added "run_ngg_resource_manager" hook to by-pass our resource manager +* Changed: Removed "Reset & Uninstall" tab, for now +* Fixed: Compatibility with W3 Total Cache. Please flush cache after updating. +* Fixed: Conflicts with Photocrati Theme Galleries +* Fixed: Blank Attach to Post interface window +* Fixed: Fixed ability to change Lightbox Effect settings +* Fixed: Implemented techniques to ensure WP_Query variables aren't overwritten +* Fixed: Enqueuing AJAX JS libraries twice in wp-admin +* Fixed: Encoding issues +* Fixed: PHP warnings caused by accessing unserialized data as array +* Fixed: Fixed installer issues + += V2.0.7 - 08.09.2013 = +* NEW: New resource manager that fixes many plugin and theme incompatibilities +* NEW: Styles (custom stylesheets) should reside in wp-content/ngg_styles +* NEW: Added option to "Other Options -> Misc" to control maximum images returned +* Secured: Removed default connector for jQuery FileTree library +* Changed: Updated the simplehtmldom library to version 1.5 +* Changed: jQuery is now enqueued at the beginning of every request +* Fixed: Incompatibilities with BuddyPress +* Fixed: Incompatibilities with Events+, bbPress, Custom Permalinks, and many other plugins +* Fixed: Incompcatibilities with Member Access, AMember, Magic Fields, and More Fields +* Fixed: Incompatibilities with Elegant Themes, Oxygen, Responsive, and many other themes +* Fixed: Ensure that gallery images don't have a border by default +* Fixed: Conflict between imagebrowser and album urls +* Fixed: Reverted default gallerypath to wp-content/gallery/ +* Fixed: Upgrade-safe way of overriding Styles +* Fixed: Generation of AJAX url is now based on slug +* Fixed: Restore nggShowGallery and nggShowSlideshow as wrappers to new API +* Fixed: Always use domain as specified by WordPress Site URL +* Fixed: Use WordPress Home URL over Site URL when appropriate +* Fixed: Numerous pagination issues +* Fixed: Adjusted our forms to comply with WordPress Firewalls +* Fixed: Correct use of select2 DOM selector for maximum compatibility +* Fixed: Path and URL calculations for Windows and UNIX environments +* Fixed: Ensure that pluggable.php is loaded at the start of every request +* Fixed: Fancybox: adjust CSS for further box-sizing protection from themes +* Fixed: Use PHP 5.2.1 compatible named pattern matching syntax +* Fixed: Remove usage of __DIR__ constant not supported by PHP 5.2.x +* Fixed: Removed dependency on mb_string PHP module +* Fixed: Allow "No Lightbox" as an option for Lightbox Effects +* Fixed: Warning: "Invalid CRT parameters detected" for Windows environments + += V2.0 - 07.30.2013 = +* NEW: Improved user experience throughout the plugin, settings and usage. +* NEW: Plupload queue uploader that allows for bulk and zip uploads within the same interface. +* NEW: Complete redesign of the NextGEN options panel +* NEW: Added new interface for adding galleries from pages and posts. +* NEW: Galleries are now mobile friendly and responsive, which is most noticeable with a responsive theme. +* NEW: Streamlined functionality for displaying galleries based on tags. +* NEW: Architecture based on Pope Framework (http://bitbucket.org/photocrati/pope-framework) +* NEW: New shortcode, “ngg_images”, and corresponding Attach to Post interface +* NEW: Galleries have now global and instance settings +* NEW: Support for FastCGI environments +* Changed: Replaces shortcodes with placeholder images, however still supports legacy shortcodes. +* Changed: Introduced new Growl-like notifications +* Changed: The container and it’s images are centered for slideshows +* Changed: NextGEN styles now override vs replace default styles +* Changed: NextGEN legacy templates have been deprecated (but still function) +* FIXED: The ability to use NextGEN image as a Featured Image. +* FIXED: Many bugs and annoyances, such as PHP warnings, errors, etc. + = V1.9.13 - 06.11.2013 = * NEW: Slideshows are now centered to their content area * Secured: Ensure that only logged in users can upload images @@ -31,6 +205,7 @@ by Photocrati Media * Fixed: Deleted galleries within an album are handed gracefully without warning messages * Fixed: Correct use of register_uninstall_hook * Fixed: CSS and usability issues with the TinyMCE window used to display galleries +* Fixed: Inability to generate new image slugs = V1.9.9 - 12.14.2012 = * NEW: JW ImageRotator v3.17 is now bundled with the plugin and used by default. diff --git a/wp-content/plugins/nextgen-gallery/license.txt b/wp-content/plugins/nextgen-gallery/license.txt new file mode 100644 index 000000000..1f963da0d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/license.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + diff --git a/wp-content/plugins/nextgen-gallery/nggallery.php b/wp-content/plugins/nextgen-gallery/nggallery.php index 41a895cf9..01e4f91fe 100644 --- a/wp-content/plugins/nextgen-gallery/nggallery.php +++ b/wp-content/plugins/nextgen-gallery/nggallery.php @@ -1,593 +1,506 @@ <?php -/* -Plugin Name: NextGEN Gallery -Plugin URI: http://www.nextgen-gallery.com/ -Description: A NextGENeration Photo Gallery for WordPress -Author: Photocrati -Author URI: http://www.photocrati.com/ -Version: 1.9.13 - -Copyright (c) 2007-2011 by Alex Rabe & NextGEN DEV-Team -Copyright (c) 2012 Photocrati Media - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -// Stop direct call if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } /** - * Indicates that a clean exit occured. Handled by set_exception_handler + * Plugin Name: NextGEN Gallery by Photocrati + * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 7 million downloads. + * Version: 2.0.33 + * Author: Photocrati Media + * Plugin URI: http://www.nextgen-gallery.com + * Author URI: http://www.photocrati.com + * License: GPLv2 */ -if (!class_exists('E_Clean_Exit')) { - class E_Clean_Exit extends RuntimeException - { - - } -} +if (!class_exists('E_Clean_Exit')) { class E_Clean_Exit extends RuntimeException {} } /** - * Loads the NextGEN plugin + * NextGEN Gallery is built on top of the Photocrati Pope Framework: + * https://bitbucket.org/photocrati/pope-framework + * + * Pope constructs applications by assembling modules. + * + * The Bootstrapper. This class performs the following: + * 1) Loads the Pope Framework + * 2) Adds a path to the C_Component_Registry instance to search for products + * 3) Loads all found Products. A Product is a collection of modules with some + * additional meta data. A Product is responsible for loading any modules it + * requires. + * 4) Once all Products (and their associated modules) have been loaded (or in + * otherwords, "included"), the modules are initialized. */ -if (!class_exists('nggLoader')) { - class nggLoader { - - var $version = '1.9.13'; - var $dbversion = '1.8.1'; - var $minimum_WP = '3.5'; - var $donators = 'http://www.nextgen-gallery.com/donators.php'; - var $options = ''; - var $manage_page; - var $add_PHP5_notice = false; - - function nggLoader() { - - // Stop the plugin if we missed the requirements - if ( ( !$this->required_version() ) || ( !$this->check_memory_limit() ) ) - return; - - // Set error handler - set_exception_handler(array(&$this, 'exception_handler')); - - // Get some constants first - $this->load_options(); - $this->define_constant(); - $this->define_tables(); - $this->load_dependencies(); - $this->start_rewrite_module(); - - $this->plugin_name = basename(dirname(__FILE__)).'/'.basename(__FILE__); - - // Init options & tables during activation & deregister init option - register_activation_hook( $this->plugin_name, array(&$this, 'activate') ); - register_deactivation_hook( $this->plugin_name, array(&$this, 'deactivate') ); - - // Register a uninstall hook to remove all tables & option automatic - register_uninstall_hook( $this->plugin_name, array(__CLASS__, 'uninstall') ); - - // Start this plugin once all other plugins are fully loaded - add_action( 'plugins_loaded', array(&$this, 'start_plugin') ); +class C_NextGEN_Bootstrap +{ + var $_registry = NULL; + var $_settings_option_name = 'ngg_options'; + var $_pope_loaded = FALSE; + static $debug = WP_DEBUG; + + static function shutdown($exception=NULL) + { + if (is_null($exception)) { + throw new E_Clean_Exit; + } + elseif (!($exception instanceof E_Clean_Exit)) { + ob_end_clean(); + self::print_exception($exception); + } - // Register_taxonomy must be used during the init - add_action( 'init', array(&$this, 'register_taxonomy') ); - add_action( 'wpmu_new_blog', array(&$this, 'multisite_new_blog'), 10, 6); + } - // Add a message for PHP4 Users, can disable the update message later on - if (version_compare(PHP_VERSION, '5.0.0', '<')) - add_filter('transient_update_plugins', array(&$this, 'disable_upgrade')); + static function print_exception($exception) + { + $klass = get_class($exception); + echo "<h1>{$klass} thrown</h1>"; + echo "<p>{$exception->getMessage()}</p>"; + if (self::$debug OR (defined('NEXTGEN_GALLERY_DEBUG') AND NEXTGEN_GALLERY_DEBUG == TRUE)) { + echo "<h3>Where:</h3>"; + echo "<p>On line <strong>{$exception->getLine()}</strong> of <strong>{$exception->getFile()}</strong></p>"; + echo "<h3>Trace:</h3>"; + echo "<pre>{$exception->getTraceAsString()}</pre>"; + if (method_exists($exception, 'getPrevious')) { + if (($previous = $exception->getPrevious())) { + self::print_exception($previous); + } + } + } + } - //Add some links on the plugin page - add_filter('plugin_row_meta', array(&$this, 'add_plugin_links'), 10, 2); + function __construct() + { + // Boostrap + set_exception_handler(__CLASS__.'::shutdown'); - // Check for the header / footer - add_action( 'init', array(&$this, 'test_head_footer_init' ) ); + $this->_define_constants(); + $this->_load_non_pope(); + $this->_register_hooks(); + $this->_load_pope(); - // Show NextGEN version in header - add_action('wp_head', array('nggGallery', 'nextgen_version') ); + } - // Handle upload requests - add_action('init', array(&$this, 'handle_upload_request')); + function _load_non_pope() + { + // Load caching component + include_once('non_pope/class.photocrati_cache.php'); + C_Photocrati_Cache::get_instance(); + C_Photocrati_Cache::get_instance('displayed_galleries'); + C_Photocrati_Cache::$enabled = TRUE; + + if (isset($_REQUEST['ngg_flush'])) { + C_Photocrati_Cache::flush('all'); + $_SERVER['QUERY_STRING'] = str_replace('ngg_flush=1', '', $_SERVER['QUERY_STRING']); + } + elseif (isset($_REQUEST['ngg_force_update'])) { + C_Photocrati_Cache::$do_not_lookup = TRUE; + C_Photocrati_Cache::$force_update = TRUE; + $_SERVER['QUERY_STRING'] = str_replace('ngg_force_update=1', '', $_SERVER['QUERY_STRING']); + } + elseif (isset($_REQUEST['ngg_flush_expired'])) { + C_Photocrati_Cache::flush('all', TRUE); + $_SERVER['QUERY_STRING'] = str_replace('ngg_flush_expired=1', '', $_SERVER['QUERY_STRING']); } - function start_plugin() { - - global $nggRewrite; - - // Load the language file - $this->load_textdomain(); + // Load Settings Manager + include_once('non_pope/class.photocrati_settings_manager.php'); + include_once('non_pope/class.nextgen_settings.php'); + C_Photocrati_Global_Settings_Manager::$option_name = $this->_settings_option_name; + C_Photocrati_Settings_Manager::$option_name = $this->_settings_option_name; - // All credits to the tranlator - $this->translator = '<p class="hint">'. __('<strong>Translation by : </strong><a target="_blank" href="http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/">See here</a>', 'nggallery') . '</p>'; - $this->translator .= '<p class="hint">'. __('<strong>This translation is not yet updated for Version 1.9.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href="http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/">here</a> how you can translate the plugin.', 'nggallery') . '</p>'; + // Load the installer + include_once('non_pope/class.photocrati_installer.php'); - // Content Filters - add_filter('ngg_gallery_name', 'sanitize_title'); + // Load the resource manager + include_once('non_pope/class.photocrati_resource_manager.php'); + C_Photocrati_Resource_Manager::init(); - // Check if we are in the admin area - if ( is_admin() ) { + // Load the style manager + include_once('non_pope/class.nextgen_style_manager.php'); - // Pass the init check or show a message - if (get_option( 'ngg_init_check' ) != false ) - add_action( 'admin_notices', create_function('', 'echo \'<div id="message" class="error"><p><strong>' . get_option( "ngg_init_check" ) . '</strong></p></div>\';') ); + // Load the shortcode manager + include_once('non_pope/class.nextgen_shortcode_manager.php'); + } - } else { + /** + * Loads the Pope Framework + */ + function _load_pope() + { + // No need to initialize pope again + if ($this->_pope_loaded) return; - // Add MRSS to wp_head - if ( $this->options['useMediaRSS'] ) - add_action('wp_head', array('nggMediaRss', 'add_mrss_alternate_link')); + // Pope requires a a higher limit + $tmp = ini_get('xdebug.max_nesting_level'); + if ($tmp && (int)$tmp <= 300) @ini_set('xdebug.max_nesting_level', 300); - // Look for XML request, before page is render - add_action('parse_request', array(&$this, 'check_request') ); + // Include pope framework + require_once(path_join(NEXTGEN_GALLERY_PLUGIN_DIR, implode( + DIRECTORY_SEPARATOR, array('pope','lib','autoload.php') + ))); - // Add the script and style files - add_action('wp_enqueue_scripts', array(&$this, 'load_scripts') ); - add_action('wp_enqueue_scripts', array(&$this, 'load_styles') ); + // Get the component registry + $this->_registry = C_Component_Registry::get_instance(); - } - } + // Add the default Pope factory utility, C_Component_Factory + $this->_registry->add_utility('I_Component_Factory', 'C_Component_Factory'); - function check_request( $wp ) { + // Load embedded products. Each product is expected to load any + // modules required + $this->_registry->add_module_path(NEXTGEN_GALLERY_PRODUCT_DIR, true, false); + $this->_registry->load_all_products(); - if ( !array_key_exists('callback', $wp->query_vars) ) - return; + // Give third-party plugins that opportunity to include their own products + // and modules + do_action('load_nextgen_gallery_modules', $this->_registry); - if ( $wp->query_vars['callback'] == 'imagerotator') { - require_once (dirname (__FILE__) . '/xml/imagerotator.php'); - exit(); - } + // Initializes all loaded modules + $this->_registry->initialize_all_modules(); - if ( $wp->query_vars['callback'] == 'json') { - require_once (dirname (__FILE__) . '/xml/json.php'); - exit(); - } + // Set the document root + $this->_registry->get_utility('I_Fs')->set_document_root(ABSPATH); - if ( $wp->query_vars['callback'] == 'image') { - require_once (dirname (__FILE__) . '/nggshow.php'); - exit(); - } + $this->_pope_loaded = TRUE; + } - //TODO:see trac #12400 could be an option for WP3.0 - if ( $wp->query_vars['callback'] == 'ngg-ajax') { - require_once (dirname (__FILE__) . '/xml/ajax.php'); - exit(); - } + /** + * Registers hooks for the WordPress framework necessary for instantiating + * the plugin + */ + function _register_hooks() + { + // Load text domain + load_plugin_textdomain( + NEXTGEN_GALLERY_I8N_DOMAIN, + false, + $this->directory_path('lang') + ); + + // Register the activation routines + add_action('activate_'.NEXTGEN_GALLERY_PLUGIN_BASENAME, array(get_class(), 'activate')); + + // Register the deactivation routines + add_action('deactivate_'.NEXTGEN_GALLERY_PLUGIN_BASENAME, array(get_class(), 'deactivate')); + + // Register our test suite + add_filter('simpletest_suites', array(&$this, 'add_testsuite')); + + // Ensure that settings manager is saved as an array + add_filter('pre_update_option_'.$this->_settings_option_name, array(&$this, 'persist_settings')); + add_filter('pre_update_site_option_'.$this->_settings_option_name, array(&$this, 'persist_settings')); + + // This plugin uses jQuery extensively + add_action('init', array(&$this, 'enqueue_jquery'), 1); + add_action('wp_print_scripts', array(&$this, 'fix_jquery')); + add_action('admin_print_scripts', array(&$this, 'fix_jquery')); + + // If the selected stylesheet is using an unsafe path, then notify the user + if (C_NextGen_Style_Manager::get_instance()->is_directory_unsafe()) { + add_action('all_admin_notices', array(&$this, 'display_stylesheet_notice')); } - function required_version() { - - global $wp_version; - - // Check for WP version installation - $wp_ok = version_compare($wp_version, $this->minimum_WP, '>='); - - if ( ($wp_ok == FALSE) ) { - add_action( - 'admin_notices', - create_function( - '', - 'global $ngg; printf (\'<div id="message" class="error"><p><strong>\' . __(\'Sorry, NextGEN Gallery works only under WordPress %s or higher\', "nggallery" ) . \'</strong></p></div>\', $ngg->minimum_WP );' - ) - ); - return false; - } - - return true; - + // Delete displayed gallery transients periodically + add_action('ngg_delete_expired_transients', array(&$this, 'delete_expired_transients')); + if (!wp_next_scheduled('ngg_delete_expired_transients')) { + wp_schedule_event(time(), 'hourly', 'ngg_delete_expired_transients'); } - function check_memory_limit() { + // Update modules + add_action('init', array(&$this, 'update'), PHP_INT_MAX); - // get the real memory limit before some increase it - $this->memory_limit = ini_get('memory_limit'); + // Start the plugin! + add_action('init', array(&$this, 'route'), PHP_INT_MAX); + } - // PHP docs : Note that to have no memory limit, set this directive to -1. - if ($this->memory_limit == -1 ) return true; + function delete_expired_transients() + { + C_Photocrati_Cache::flush('displayed_galleries', TRUE); + } - // Yes, we reached Gigabyte limits, so check if it's a megabyte limit - if (strtolower( substr($this->memory_limit, -1) ) == 'm') { + /** + * Ensure that C_Photocrati_Settings_Manager gets persisted as an array + * @param $settings + * @return array + */ + function persist_settings($settings) + { + if (is_object($settings) && $settings instanceof C_Photocrati_Settings_Manager_Base) { + $settings = $settings->to_array(); + } + return $settings; + } - $this->memory_limit = (int) substr( $this->memory_limit, 0, -1); + /** + * Enqueues jQuery + */ + function enqueue_jquery() + { + wp_enqueue_script('jquery'); + } - //This works only with enough memory, 16MB is silly, wordpress requires already 16MB :-) - if ( ($this->memory_limit != 0) && ($this->memory_limit < 16 ) ) { - add_action( - 'admin_notices', - create_function( - '', - 'echo \'<div id="message" class="error"><p><strong>' . __('Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher', 'nggallery') . '</strong></p></div>\';' - ) - ); - return false; - } + /** + * Ensures that the latest version of jQuery bundled with WordPress is used + */ + function fix_jquery() + { + global $wp_scripts; + + if (isset($wp_scripts->registered['jquery'])) { + $jquery = $wp_scripts->registered['jquery']; + if (!isset($jquery->ver) OR version_compare('1.8', $jquery->ver) == 1) { + ob_start(); + wp_deregister_script('jquery'); + ob_end_clean(); + wp_register_script('jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.10.0' ); } - - return true; - } + else wp_register_script( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.10.0' ); - function define_tables() { - global $wpdb; - - // add database pointer - $wpdb->nggpictures = $wpdb->prefix . 'ngg_pictures'; - $wpdb->nggallery = $wpdb->prefix . 'ngg_gallery'; - $wpdb->nggalbum = $wpdb->prefix . 'ngg_album'; + wp_enqueue_script('jquery'); + } - } + /** + * Displays a notice to the user that the current stylesheet location is unsafe + */ + function display_stylesheet_notice() + { + $styles = C_NextGen_Style_Manager::get_instance(); + $filename = $styles->get_selected_stylesheet(); + $abspath = $styles->find_selected_stylesheet_abspath(); + $newpath = $styles->new_dir; + + echo "<div class='updated error'> + <h3>WARNING: NextGEN Gallery Stylesheet NOT Upgrade-safe</h3> + <p> + <strong>{$filename}</strong> is currently stored in <strong>{$abspath}</strong>, which isn't upgrade-safe. Please move the stylesheet to + <strong>{$newpath}</strong> to ensure that your customizations persist after updates. + </p></div>"; + } - function register_taxonomy() { - global $wp_rewrite; + /** + * Updates all modules + */ + function update() + { + $this->_load_pope(); - // Register the NextGEN taxonomy - $args = array( - 'label' => __('Picture tag', 'nggallery'), - 'template' => __('Picture tag: %2$l.', 'nggallery'), - 'helps' => __('Separate picture tags with commas.', 'nggallery'), - 'sort' => true, - 'args' => array('orderby' => 'term_order') - ); + // Try updating all modules + C_Photocrati_Installer::update(); + } - register_taxonomy( 'ngg_tag', 'nggallery', $args ); + /** + * Routes access points using the Pope Router + * @return boolean + */ + function route() + { + $this->_load_pope(); + $router = $this->_registry->get_utility('I_Router'); + if (!$router->serve_request() && $router->has_parameter_segments()) { + return $router->passthru(); } + } - function define_constant() { - - global $wp_version; - - //TODO:SHOULD BE REMOVED LATER - define('NGGVERSION', $this->version); - // Minimum required database version - define('NGG_DBVERSION', $this->dbversion); + /** + * Run the installer + */ + static function activate($network=FALSE) + { + C_Photocrati_Installer::update(); + } - // required for Windows & XAMPP - define('WINABSPATH', str_replace("\\", "/", ABSPATH) ); + /** + * Run the uninstaller + */ + static function deactivate() + { + C_Photocrati_Installer::uninstall(NEXTGEN_GALLERY_PLUGIN_BASENAME); + } - // define URL - define('NGGFOLDER', basename( dirname(__FILE__) ) ); + /** + * Defines necessary plugins for the plugin to load correctly + */ + function _define_constants() + { + // NextGEN by Photocrati Constants + define('NEXTGEN_GALLERY_PLUGIN', basename($this->directory_path())); + define('NEXTGEN_GALLERY_PLUGIN_BASENAME', plugin_basename(__FILE__)); + define('NEXTGEN_GALLERY_PLUGIN_DIR', $this->directory_path()); + define('NEXTGEN_GALLERY_PLUGIN_URL', $this->path_uri()); + define('NEXTGEN_GALLERY_I8N_DOMAIN', 'nggallery'); + define('NEXTGEN_GALLERY_TESTS_DIR', path_join(NEXTGEN_GALLERY_PLUGIN_DIR, 'tests')); + define('NEXTGEN_GALLERY_PRODUCT_DIR', path_join(NEXTGEN_GALLERY_PLUGIN_DIR, 'products')); + define('NEXTGEN_GALLERY_PRODUCT_URL', path_join(NEXTGEN_GALLERY_PLUGIN_URL, 'products')); + define('NEXTGEN_GALLERY_MODULE_DIR', path_join(NEXTGEN_GALLERY_PRODUCT_DIR, 'photocrati_nextgen/modules')); + define('NEXTGEN_GALLERY_MODULE_URL', path_join(NEXTGEN_GALLERY_PRODUCT_URL, 'photocrati_nextgen/modules')); + define('NEXTGEN_GALLERY_PLUGIN_CLASS', path_join(NEXTGEN_GALLERY_PLUGIN_DIR, 'module.NEXTGEN_GALLERY_PLUGIN.php')); + define('NEXTGEN_GALLERY_PLUGIN_STARTED_AT', microtime()); + define('NEXTGEN_GALLERY_PLUGIN_VERSION', '2.0.33'); + } - define('NGGALLERY_ABSPATH', trailingslashit( str_replace("\\","/", WP_PLUGIN_DIR . '/' . NGGFOLDER ) ) ); - define('NGGALLERY_URLPATH', trailingslashit( plugins_url( NGGFOLDER ) ) ); - // look for imagerotator - define('NGGALLERY_IREXIST', !empty( $this->options['irURL'] )); + /** + * Defines the NextGEN Test Suite + * @param array $suites + * @return array + */ + function add_testsuite($suites=array()) + { + $tests_dir = NEXTGEN_GALLERY_TESTS_DIR; - // get value for safe mode - if ( (gettype( ini_get('safe_mode') ) == 'string') ) { - // if sever did in in a other way - if ( ini_get('safe_mode') == 'off' ) define('SAFE_MODE', FALSE); - else define( 'SAFE_MODE', ini_get('safe_mode') ); - } else - define( 'SAFE_MODE', ini_get('safe_mode') ); + if (file_exists($tests_dir)) { - if ( version_compare($wp_version, '3.2.999', '>') ) - define('IS_WP_3_3', TRUE); + // Include mock objects + // TODO: These mock objects should be moved to the appropriate + // test folder + require_once(path_join($tests_dir, 'mocks.php')); - } + // Define the NextGEN Test Suite + $suites['nextgen'] = array( +// path_join($tests_dir, 'mvc'), + path_join($tests_dir, 'datamapper'), + path_join($tests_dir, 'nextgen_data'), + path_join($tests_dir, 'gallery_display') + ); + } - function load_dependencies() { - - // Load global libraries // average memory usage (in bytes) - require_once (dirname (__FILE__) . '/lib/core.php'); // 94.840 - require_once (dirname (__FILE__) . '/lib/ngg-db.php'); // 132.400 - require_once (dirname (__FILE__) . '/lib/image.php'); // 59.424 - require_once (dirname (__FILE__) . '/lib/tags.php'); // 117.136 - require_once (dirname (__FILE__) . '/lib/post-thumbnail.php'); // n.a. - require_once (dirname (__FILE__) . '/widgets/widgets.php'); // 298.792 - require_once (dirname (__FILE__) . '/lib/multisite.php'); - require_once (dirname (__FILE__) . '/lib/sitemap.php'); - - // Load frontend libraries - require_once (dirname (__FILE__) . '/lib/navigation.php'); // 242.016 - require_once (dirname (__FILE__) . '/nggfunctions.php'); // n.a. - require_once (dirname (__FILE__) . '/lib/shortcodes.php'); // 92.664 - - //Just needed if you access remote to WordPress - if ( defined('XMLRPC_REQUEST') ) - require_once (dirname (__FILE__) . '/lib/xmlrpc.php'); - - // We didn't need all stuff during a AJAX operation - if ( defined('DOING_AJAX') ) - require_once (dirname (__FILE__) . '/admin/ajax.php'); - else { - require_once (dirname (__FILE__) . '/lib/meta.php'); // 131.856 - require_once (dirname (__FILE__) . '/lib/media-rss.php'); // 82.768 - require_once (dirname (__FILE__) . '/lib/rewrite.php'); // 71.936 - include_once (dirname (__FILE__) . '/admin/tinymce/tinymce.php'); // 22.408 - - // Load backend libraries - if ( is_admin() ) { - require_once (dirname (__FILE__) . '/admin/admin.php'); - require_once (dirname (__FILE__) . '/admin/media-upload.php'); - $this->nggAdminPanel = new nggAdminPanel(); - } - } - } + return $suites; + } - function load_textdomain() { - load_plugin_textdomain('nggallery', false, NGGFOLDER . '/lang'); + /** + * Returns the path to a file within the plugin root folder + * @param type $file_name + * @return type + */ + function file_path($file_name=NULL) + { + $path = dirname(__FILE__); + if ($file_name != null) + { + $path .= '/' . $file_name; } - function load_scripts() { - - // if you don't want that NGG load the scripts, add this constant - if ( defined('NGG_SKIP_LOAD_SCRIPTS') ) - return; - - // activate Thickbox - if ($this->options['thumbEffect'] == 'thickbox') { - wp_enqueue_script( 'thickbox' ); - // Load the thickbox images after all other scripts - add_action( 'wp_footer', array(&$this, 'load_thickbox_images'), 11 ); + return str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); + } - } - // activate jquery.lightbox - if ($this->options['thumbEffect'] == 'lightbox') { - wp_enqueue_script('jquery'); - } + /** + * Gets the directory path used by the plugin + * @return string + */ + function directory_path($dir=NULL) + { + return $this->file_path($dir); + } - // activate modified Shutter reloaded if not use the Shutter plugin - if ( ($this->options['thumbEffect'] == "shutter") && !function_exists('srel_makeshutter') ) { - wp_register_script('shutter', NGGALLERY_URLPATH .'shutter/shutter-reloaded.js', false ,'1.3.3'); - wp_localize_script('shutter', 'shutterSettings', array( - 'msgLoading' => __('L O A D I N G', 'nggallery'), - 'msgClose' => __('Click to Close', 'nggallery'), - 'imageCount' => '1' - ) ); - wp_enqueue_script( 'shutter' ); - } - // required for the slideshow - if ( NGGALLERY_IREXIST == true && $this->options['enableIR'] == '1' && nggGallery::detect_mobile_phone() === false ) - wp_enqueue_script('swfobject'); - else { - wp_register_script('jquery-cycle', NGGALLERY_URLPATH .'js/jquery.cycle.all.min.js', array('jquery'), '2.9995'); - wp_enqueue_script('ngg-slideshow', NGGALLERY_URLPATH .'js/ngg.slideshow.min.js', array('jquery-cycle'), '1.06'); + /** + * Determines the location of the plugin - within a theme or plugin + * @return string + */ + function get_plugin_location() + { + $path = dirname(__FILE__); + $gallery_dir = strtolower($path); + $gallery_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $gallery_dir); - } + $theme_dir = strtolower(get_stylesheet_directory()); + $theme_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $theme_dir); - // Load AJAX navigation script, works only with shutter script as we need to add the listener - if ( $this->options['galAjaxNav'] ) { - if ( ($this->options['thumbEffect'] == "shutter") || function_exists('srel_makeshutter') ) { - wp_enqueue_script ( 'ngg_script', NGGALLERY_URLPATH . 'js/ngg.js', array('jquery'), '2.1'); - wp_localize_script( 'ngg_script', 'ngg_ajax', array('path' => NGGALLERY_URLPATH, - 'callback' => trailingslashit( home_url() ) . 'index.php?callback=ngg-ajax', - 'loading' => __('loading', 'nggallery'), - ) ); - } - } + $plugin_dir = strtolower(WP_PLUGIN_DIR); + $plugin_dir = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $plugin_dir); - // If activated, add PicLens/Cooliris javascript to footer - if ( $this->options['usePicLens'] ) - nggMediaRss::add_piclens_javascript(); + $common_dir_theme = substr($gallery_dir, 0, strlen($theme_dir)); + $common_dir_plugin = substr($gallery_dir, 0, strlen($plugin_dir)); + if ($common_dir_theme == $theme_dir) + { + return 'theme'; } - function load_thickbox_images() { - // WP core reference relative to the images. Bad idea - echo "\n" . '<script type="text/javascript">tb_pathToImage = "' . site_url() . '/wp-includes/js/thickbox/loadingAnimation.gif";tb_closeImage = "' . site_url() . '/wp-includes/js/thickbox/tb-close.png";</script>'. "\n"; + if ($common_dir_plugin == $plugin_dir) + { + return 'plugin'; } - function load_styles() { - - // check first the theme folder for a nggallery.css - if ( nggGallery::get_theme_css_file() ) - wp_enqueue_style('NextGEN', nggGallery::get_theme_css_file() , false, '1.0.0', 'screen'); - else if ($this->options['activateCSS']) - wp_enqueue_style('NextGEN', NGGALLERY_URLPATH . 'css/' . $this->options['CSSfile'], false, '1.0.0', 'screen'); + $parent_dir = dirname($path); - // activate Thickbox - if ($this->options['thumbEffect'] == 'thickbox') - wp_enqueue_style( 'thickbox'); - - // activate modified Shutter reloaded if not use the Shutter plugin - if ( ($this->options['thumbEffect'] == 'shutter') && !function_exists('srel_makeshutter') ) - wp_enqueue_style('shutter', NGGALLERY_URLPATH .'shutter/shutter-reloaded.css', false, '1.3.4', 'screen'); - - } - - function load_options() { - // Load the options - $this->options = get_option('ngg_options'); + if (file_exists($parent_dir . DIRECTORY_SEPARATOR . 'style.css')) + { + return 'theme'; } - // Add rewrite rules - function start_rewrite_module() { - global $nggRewrite; - - if ( class_exists('nggRewrite') ) - $nggRewrite = new nggRewrite(); - } + return 'plugin'; + } - // THX to Shiba for the code - // See: http://shibashake.com/wordpress-theme/write-a-plugin-for-wordpress-multi-site - function multisite_new_blog($blog_id, $user_id, $domain, $path, $site_id, $meta ) { - global $wpdb; - include_once (dirname (__FILE__) . '/admin/install.php'); + /** + * Gets the URI for a particular path + * @param string $path + * @param boolean $url_encode + * @return string + */ + function path_uri($path = null, $url_encode = false) + { + $location = $this->get_plugin_location(); + $uri = null; - if (is_plugin_active_for_network( $this->plugin_name )) { - $current_blog = $wpdb->blogid; - switch_to_blog($blog_id); - nggallery_install(); - switch_to_blog($current_blog); - } - } + $path = str_replace(array('/', '\\'), '/', $path); - /** - * Removes all transients created by NextGEN. Called during activation - * and deactivation routines - */ - static function remove_transients() + if ($url_encode) { - global $wpdb, $_wp_using_ext_object_cache; - - // Fetch all transients - $query = " - SELECT option_name FROM {$wpdb->options} - WHERE option_name LIKE '%ngg_request%' - "; - $transient_names = $wpdb->get_col($query);; - - // Delete all transients in the database - $query = " - DELETE FROM {$wpdb->options} - WHERE option_name LIKE '%ngg_request%' - "; - $wpdb->query($query); - - // If using an external caching mechanism, delete the cached items - if ($_wp_using_ext_object_cache) { - foreach ($transient_names as $transient) { - wp_cache_delete($transient, 'transient'); - wp_cache_delete(substr($transient, 11), 'transient'); - } - } - } - - function activate() { - global $wpdb; - //Starting from version 1.8.0 it's works only with PHP5.2 - if (version_compare(PHP_VERSION, '5.2.0', '<')) { - deactivate_plugins($this->plugin_name); // Deactivate ourself - wp_die("Sorry, but you can't run this plugin, it requires PHP 5.2 or higher."); - return; - } + $path_list = explode('/', $path); - // Clean up transients - self::remove_transients(); - - include_once (dirname (__FILE__) . '/admin/install.php'); - - if (is_multisite()) { - $network=isset($_SERVER['SCRIPT_NAME'])?$_SERVER['SCRIPT_NAME']:""; - $activate=isset($_GET['action'])?$_GET['action']:""; - $isNetwork=($network=='/wp-admin/network/plugins.php')?true:false; - $isActivation=($activate=='deactivate')?false:true; - - if ($isNetwork and $isActivation){ - $old_blog = $wpdb->blogid; - $blogids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM $wpdb->blogs", NULL)); - foreach ($blogids as $blog_id) { - switch_to_blog($blog_id); - nggallery_install(); - } - switch_to_blog($old_blog); - return; - } + foreach ($path_list as $index => $path_item) + { + $path_list[$index] = urlencode($path_item); } - // check for tables - nggallery_install(); - // remove the update message - delete_option( 'ngg_update_exists' ); - - } - - function deactivate() { - - // remove & reset the init check option - delete_option( 'ngg_init_check' ); - delete_option( 'ngg_update_exists' ); - - // Clean up transients - self::remove_transients(); - } - - function uninstall() { - // Clean up transients - self::remove_transients(); - - include_once (dirname (__FILE__) . '/admin/install.php'); - nggallery_uninstall(); + $path = implode('/', $path_list); } - function disable_upgrade($option){ - - // PHP5.2 is required for NGG V1.4.0 - if ( version_compare($option->response[ $this->plugin_name ]->new_version, '1.4.0', '>=') ) - return $option; + if ($location == 'theme') + { + $theme_uri = get_stylesheet_directory_uri(); - if( isset($option->response[ $this->plugin_name ]) ){ - //Clear it''s download link - $option->response[ $this->plugin_name ]->package = ''; + $uri = $theme_uri . 'nextgen-gallery'; - //Add a notice message - if ($this->add_PHP5_notice == false){ - add_action( "in_plugin_update_message-$this->plugin_name", create_function('', 'echo \'<br /><span style="color:red">Please update to PHP5.2 as soon as possible, the plugin is not tested under PHP4 anymore</span>\';') ); - $this->add_PHP5_notice = true; - } + if ($path != null) + { + $uri .= '/' . $path; } - return $option; } + else + { + // XXX Note, paths could not match but STILL being contained in the theme (i.e. WordPress returns the wrong path for the theme directory, either with wrong formatting or wrong encoding) + $base = basename(dirname(__FILE__)); - // Add links to Plugins page - function add_plugin_links($links, $file) { - - if ( $file == $this->plugin_name ) { - $plugin_name = plugin_basename(NGGALLERY_ABSPATH); - $links[] = "<a href='admin.php?page={$plugin_name}'>" . __('Overview', 'nggallery') . '</a>'; - $links[] = '<a href="http://wordpress.org/tags/nextgen-gallery?forum_id=10">' . __('Get help', 'nggallery') . '</a>'; - $links[] = '<a href="https://bitbucket.org/photocrati/nextgen-gallery">' . __('Contribute', 'nggallery') . '</a>'; + if ($base != 'nextgen-gallery') + { + // XXX this is needed when using symlinks, if the user renames the plugin folder everything will break though + $base = 'nextgen-gallery'; } - return $links; - } - - // Check for the header / footer, parts taken from Matt Martz (http://sivel.net/) - function test_head_footer_init() { - // If test-head query var exists hook into wp_head - if ( isset( $_GET['test-head'] ) ) - add_action( 'wp_head', create_function('', 'echo \'<!--wp_head-->\';'), 99999 ); - - // If test-footer query var exists hook into wp_footer - if ( isset( $_GET['test-footer'] ) ) - add_action( 'wp_footer', create_function('', 'echo \'<!--wp_footer-->\';'), 99999 ); - } - - /** - * Handles upload requests - */ - function handle_upload_request() - { - if (isset($_GET['nggupload'])) { - require_once(implode(DIRECTORY_SEPARATOR, array( - NGGALLERY_ABSPATH, - 'admin', - 'upload.php' - ))); - throw new E_Clean_Exit(); + if ($path != null) + { + $base .= '/' . $path; } - } - /** - * Handles clean exits gracefully. Re-raises anything else - * @param Exception $ex - */ - function exception_handler($ex) - { - if (get_class($ex) != 'E_Clean_Exit') throw $ex; + $uri = plugins_url($base); } + + return $uri; } - // Let's start the holy plugin - global $ngg; - $ngg = new nggLoader(); + /** + * Returns the URI for a particular file + * @param string $file_name + * @return string + */ + function file_uri($file_name = NULL) + { + return $this->path($file_name); + } } -?> + +new C_NextGEN_Bootstrap(); diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php new file mode 100644 index 000000000..bb84062b5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_settings.php @@ -0,0 +1,29 @@ +<?php + + +if (!class_exists('C_NextGen_Settings')) { + class C_NextGen_Settings { + static function get_instance() + { + return C_Photocrati_Settings_Manager::get_instance(); + } + + static function add_option_handler($klass, $options=array()) + { + $instance = self::get_instance(); + return $instance->add_option_handler($klass, $options); + } + } +} + +if (!class_exists('C_NextGen_Global_Settings')) { + class C_NextGen_Global_Settings extends C_NextGen_Settings { + static function get_instance() + { + if (is_multisite()) + return C_Photocrati_Global_Settings_Manager::get_instance(); + else + return C_Photocrati_Settings_Manager::get_instance(); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php new file mode 100644 index 000000000..4f71a4a04 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_shortcode_manager.php @@ -0,0 +1,125 @@ +<?php + +class C_NextGen_Shortcode_Manager +{ + private static $_instance = NULL; + private $_shortcodes = array(); + + /** + * Gets an instance of the class + * @return C_NextGen_Shortcode_Manager + */ + static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass; + } + return self::$_instance; + } + + /** + * Adds a shortcode + * @param $name + * @param $callback + */ + static function add($name, $callback) + { + $manager = self::get_instance(); + $manager->add_shortcode($name, $callback); + } + + /** + * Removes a previously added shortcode + * @param $name + */ + static function remove($name) + { + $manager = self::get_instance(); + $manager->remove_shortcode($name); + } + + /** + * Constructor + */ + private function __construct() + { + add_filter('the_content', array(&$this, 'deactivate_all'), 1); + add_filter('the_content', array(&$this, 'parse_content'), PHP_INT_MAX-1); + } + + /** + * Deactivates all shortcodes + */ + function deactivate_all($content) + { + foreach (array_keys($this->_shortcodes) as $shortcode) { + $this->deactivate($shortcode); + } + + return $content; + } + + /** + * Activates all registered shortcodes + */ + function activate_all() + { + foreach (array_keys($this->_shortcodes) as $shortcode) { + $this->activate($shortcode); + } + } + + /** + * Parses the content for shortcodes and returns the substituted content + * @param $content + * @return string + */ + function parse_content($content) + { + $this->activate_all(); + return do_shortcode($content); + } + + /** + * Adds a shortcode + * @param $name + * @param $callback + */ + function add_shortcode($name, $callback) + { + $this->_shortcodes[$name] = $callback; + $this->activate($name); + } + + /** + * Activates a particular shortcode + * @param $shortcode + */ + function activate($shortcode) + { + if (isset($this->_shortcodes[$shortcode])) { + add_shortcode($shortcode, $this->_shortcodes[$shortcode]); + } + } + + /** + * Removes a shortcode + * @param $name + */ + function remove_shortcode($name) + { + unset($this->_shortcodes[$name]); + $this->deactivate($name); + } + + /** + * De-activates a shortcode + * @param $shortcode + */ + function deactivate($shortcode) + { + if (isset($this->_shortcodes[$shortcode])) + remove_shortcode($shortcode); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php new file mode 100644 index 000000000..9992c1a67 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.nextgen_style_manager.php @@ -0,0 +1,286 @@ +<?php + +class C_NextGen_Style_Manager +{ + static $_instance = NULL; + var $directories = array(); + var $unsafe_directories = array(); + var $default_dir = ''; + var $new_dir = ''; + + function __construct() + { + $this->default_dir = realpath((implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(dirname(__FILE__)), + '..', + 'products', + 'photocrati_nextgen', + 'modules', + 'ngglegacy', + 'css' + )))); + + $this->new_dir = implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(WP_CONTENT_DIR), + 'ngg_styles' + )); + + // The last place we look for a stylesheet is in ngglegacy + $this->add_directory($this->default_dir); + + // This is where all stylesheets should be stored + $this->add_directory($this->new_dir); + + // We check the parent theme directory. Needed for child themes + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(get_template_directory()), + )), TRUE); + + // We also check parent_theme/nggallery + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(get_template_directory()), + 'nggallery' + )), TRUE); + + // We also check parent_theme/ngg_styles + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(get_template_directory()), + 'ngg_styles' + )), TRUE); + + // We check the root directory of the theme. Users shouldn't store here, + // but they might + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(get_stylesheet_directory()), + )), TRUE); + + // We also check the theme/nggallery directory + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(get_stylesheet_directory()), + 'nggallery' + )), TRUE); + + // We also check the theme/ngg_styles directory + $this->add_directory(implode(DIRECTORY_SEPARATOR, array( + untrailingslashit(get_stylesheet_directory()), + 'ngg_styles' + )), TRUE); + } + + /** + * Add a directory to search for stylesheets + * @param $dir + * @param bool $unsafe + */ + function add_directory($dir, $unsafe=FALSE) + { + array_unshift($this->directories, $dir); + if ($unsafe) { + $this->unsafe_directories[] = $dir; + } + } + + /** + * Determines if a directory is upgrade-safe or not + * @param $dir + * @return bool + */ + function is_directory_unsafe($dir=FALSE) + { + if (!$dir) $dir = dirname($this->find_selected_stylesheet_abspath()); + + return in_array($dir, $this->unsafe_directories); + } + + /** + * Determines if the directory is the default ngglegacy path + * @param $dir + * @return bool + */ + function is_default_dir($dir) + { + return untrailingslashit($dir) == $this->default_dir; + } + + function get_new_dir($filename) + { + return implode(DIRECTORY_SEPARATOR, array( + untrailingslashit($this->new_dir), + $filename + )); + } + + /** + * Gets the location where the selected stylesheet will be saved to + * @param bool|string $selected + * @return string + */ + function get_selected_stylesheet_saved_abspath($selected=FALSE) + { + if (!$selected) $selected = $this->get_selected_stylesheet(); + + $abspath = $this->find_selected_stylesheet_abspath($selected); + if ($this->is_default_dir(dirname($abspath))) { + $abspath = $this->get_new_dir(basename($abspath)); + } + + return $abspath; + } + + function save($contents, $selected=FALSE) + { + $retval = FALSE; + + if (!$selected) $selected = $this->get_selected_stylesheet(); + $abspath = $this->get_selected_stylesheet_saved_abspath($selected); + + wp_mkdir_p(dirname($abspath)); + if (is_writable($abspath) OR (!@file_exists($abspath) && is_writable(dirname($abspath)))) { + $retval = file_put_contents($abspath, $contents); + } + return $retval; + } + + /** + * Gets the selected stylesheet from the user + * @return mixed + */ + function get_selected_stylesheet() + { + $settings = C_NextGen_Settings::get_instance(); + + // use the same css resource for all subsites when wpmuStyle=true + if (!is_multisite() || (is_multisite() && $settings->get('wpmuStyle'))) + return $settings->get('CSSfile', 'nggallery.css'); + else + return C_Nextgen_Global_Settings::get_instance()->get('wpmuCSSfile'); + + } + + /** + * Finds the location of the selected stylesheet + */ + function find_selected_stylesheet_abspath($selected=FALSE) + { + if (!$selected) $selected = $this->get_selected_stylesheet(); + + $retval = implode(DIRECTORY_SEPARATOR, array( + untrailingslashit($this->default_dir), + $selected + )); + + foreach ($this->directories as $dir) { + $path = implode(DIRECTORY_SEPARATOR, array( + untrailingslashit($dir), + $selected + )); + + if (@file_exists($path)) { + $retval = $path; + break; + } + } + + return $retval; + } + + /** + * Returns the url to the selected stylesheet + * @return mixed + */ + function get_selected_stylesheet_url($selected=FALSE) + { + if (!$selected) $selected = $this->get_selected_stylesheet(); + + $retval = str_replace( + trailingslashit(ABSPATH), + trailingslashit(site_url()), + $this->find_selected_stylesheet_abspath($selected) + ); + + return str_replace('\\', '/', $retval); + } + + + function find_all_stylesheets() + { + $retval = array(); + + foreach (array_reverse($this->directories) as $dir) { + $path = implode(DIRECTORY_SEPARATOR, array( + untrailingslashit($dir), + '*.css' + )); + $files = glob($path); + if (is_array($files)) foreach ($files as $abspath) { + if (($meta = $this->get_stylesheet_metadata($abspath))) { + $filename = $meta['filename']; + $retval[$filename] = $meta; + } + } + } + + return $retval; + } + + /** + * Gets the metadata for a particular stylesheet + * @param $abspath + * @return array + */ + function get_stylesheet_metadata($abspath) + { + $retval = array(); + $contents = file_get_contents($abspath); + $name = ''; + $desc = ''; + $version = ''; + $author = ''; + + // Find the name of the stylesheet + if (preg_match("/CSS Name:(.*)/i", $contents, $match)) { + $name = trim($match[1]); + } + + // Find the description of the stylesheet + if (preg_match("/Description:(.*)/", $contents, $match)) { + $desc = trim($match[1]); + } + + // Find the author of the stylesheet + if (preg_match("/Author:(.*)/", $contents, $match)) { + $author = trim($match[1]); + } + + // Find the version of the stylesheet + if (preg_match("/Version:(.*)/", $contents, $match)) { + $version = trim($match[1]); + } + + if ($name) { + $retval = array( + 'filename' => basename($abspath), + 'abspath' => $abspath, + 'name' => $name, + 'description' => $desc, + 'author' => $author, + 'version' => $version + ); + } + + return $retval; + } + + /** + * Gets an instance of the class + * @return C_NextGen_Style_Manager + */ + static function get_instance() + { + if (is_null(self::$_instance)){ + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } +} diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php new file mode 100644 index 000000000..928395fd3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_cache.php @@ -0,0 +1,220 @@ +<?php + +class C_Photocrati_Cache +{ + static $enabled = TRUE; + static $do_not_lookup = FALSE; + static $force_update = FALSE; + static $hits = 0; + static $_instances = array(); + public $group = NULL; + + /** + * Gets an instance of the Cache + * @return C_Photocrati_Cache + */ + static function &get_instance($group=NULL) + { + if (!$group) $group = 'ngg_cache_'; + if (substr($group, -1) != '_') $group .= '_'; + if (!isset(self::$_instances[$group])) { + $klass = get_class(); + self::$_instances[$group] = new $klass($group); + } + + return self::$_instances[$group]; + } + + /** + * Create a new cache for the specified group + * @param $group + */ + function __construct($group) + { + $this->group = $group; + } + + /** + * Gets an item from the cache + * @param $key + * @param null $default + * @return mixed + */ + static function get($key, $default=NULL, $group=NULL) + { + return self::get_instance($group)->lookup($key, $default); + } + + /** + * Caches an item + * @param $key + * @param null $value + * @return bool|int + */ + static function set($key, $value=NULL, $group=NULL, $ttl=3600) + { + return self::get_instance($group)->update($key, $value, $ttl); + } + + /** + * Removes an item from the cache + * @param $key + */ + static function remove($key, $group=NULL) + { + return self::get_instance($group)->delete($key); + } + + /** + * Generate a unique key from params + * @param $params + * @return string + */ + static function generate_key($params) + { + if (!self::$enabled) return NULL; + if (is_object($params)) $params = (array) $params; + if (is_array($params)) { + foreach ($params as &$param) $param = json_encode($param); + $params = implode('', $params); + } + + return md5($params); + } + + /** + * Flush the entire cache + */ + static function flush($group=NULL, $expired_only=FALSE) + { + $retval = 0; + + if (self::$enabled) { + + // Delete all caches + if ($group == 'all') { + foreach (self::$_instances as $cache) { + $retval += self::flush($cache->group, $expired_only); + } + } + + // Delete items from a single cache in particular + else { + $cache = self::get_instance($group); + + // Determine if the object cache is external, and not stored in the DB + // If it's external, we have to delete each transient, one by one + global $_wp_using_ext_object_cache, $wpdb; + if ($_wp_using_ext_object_cache) { + $keys = ($expired_only ? self::get_expired_key_list($group) : self::get_key_list($group)); + foreach ($keys as $key) $cache->delete($key, FALSE); + $sql = $wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", "%%{$cache->group}%%"); + if ($expired_only) $sql .= " AND option_value < ".time(); + $retval = $wpdb->query($sql); + } + + // Transients are stored in the database + else { + $keys = ($expired_only ? self::get_expired_key_list($group) : self::get_key_list($group)); + if ($keys) { + $all_keys = array(); + foreach ($keys as $value) { + $all_keys[] = "'{$cache->group}{$value}'"; + $all_keys[] = "'_transient_timeout_{$value}'"; + $all_keys[] = "'_transient_{$value}'"; + } + unset($keys); + $all_keys = implode(',', $all_keys); + $sql = "DELETE FROM {$wpdb->options} WHERE option_name IN (". $all_keys. ')'; + $retval = $wpdb->query($sql); + } + } + } + } + + return $retval; + } + + static function get_key_list($group=NULL, $strip_group_name=TRUE, $expired_only=FALSE) + { + global $wpdb; + + $cache = self::get_instance($group); + + $sql = ''; + if ($strip_group_name) { + $sql = $wpdb->prepare( + "SELECT REPLACE(option_name, %s, '') FROM {$wpdb->options} WHERE option_name LIKE %s", + $cache->group, '%'.$cache->group.'%' + ); + } + else { + $sql = $wpdb->prepare( + "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE %s", + '%'.$cache->group.'%' + ); + } + + if ($expired_only) $sql .= " AND option_value < ".time(); + + return $wpdb->get_col($sql); + } + + static function get_expired_key_list($group=NULL, $strip_group_name=TRUE) + { + return self::get_key_list($group, $strip_group_name, TRUE); + } + + + /** + * Gets an item using a particular key + * @param $key + * @param $default + * @return mixed + */ + function lookup($key, $default=NULL) + { + $retval = $default; + + if (self::$enabled && self::$do_not_lookup === FALSE) { + if (is_array($key)) $key = self::generate_key($key); + if (!($retval = get_transient($key))) $retval = $default; + } + + return $retval; + } + + /** + * Set an item in the cache using a particular key + * @param $key + * @param $value + * @return bool|int + */ + function update($key, $value, $ttl=3600) + { + $retval = FALSE; + if (self::$enabled) { + if (is_array($key)) $key = self::generate_key($key); + if (self::$force_update OR $this->lookup($key, FALSE) === FALSE) { + set_transient($key, $value, $ttl); + update_option($this->group.$key, time()+$ttl); + $retval = $key; + } + } + return $retval; + } + + function delete($key, $delete_ack=TRUE) + { + if (self::$enabled) { + delete_transient($key); + if ($delete_ack) { + global $wpdb; + $sql = $wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $this->group.$key); + $wpdb->query($sql); + } + return TRUE; + } + else return FALSE; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php new file mode 100644 index 000000000..52daf97b9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_installer.php @@ -0,0 +1,186 @@ +<?php + +if (!class_exists('C_Photocrati_Installer')) +{ + class C_Photocrati_Installer + { + static $_instance = NULL; + static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + + /** + * Each product and module will register it's own handler (a class, with an install() and uninstall() method) + * to be used for install/uninstall routines + * @param $name + * @param $handler + */ + static function add_handler($name, $handler) + { + self::get_instance()->_installers[$name] = $handler; + } + + /** + * Gets an instance of an installation handler + * @param $name + * @return mixed + */ + static function get_handler_instance($name) + { + $installers = $handler = self::get_instance()->_installers; + if (isset($installers[$name])) { + $klass = $installers[$name]; + return new $klass; + } + else return NULL; + } + + + /** + * Uninstalls a product + * @param $product + * @param bool $hard + * @return mixed + */ + static function uninstall($product, $hard=FALSE) + { + $handler = self::get_handler_instance($product); + if (method_exists($handler, 'uninstall')) return $handler->uninstall($hard); + + if ($hard) { + C_NextGen_Settings::get_instance()->destroy(); + C_NextGen_Global_Settings::get_instance()->destroy(); + } + } + + static function update($reset=FALSE) + { + $local_settings = C_NextGen_Settings::get_instance(); + $global_settings = C_NextGen_Global_Settings::get_instance(); + + // This is a specific hack/work-around/fix and can probably be removed sometime after 2.0.20's release + // + // NextGen 2x was not multisite compatible until 2.0.18. Users that upgraded before this + // will have nearly all of their settings stored globally (network wide) in wp_sitemeta. If + // pope_module_list (which should always be a local setting) exists site-wide we wipe the current + // global ngg_options and restore from defaults. This should only ever run once. + if (is_multisite() && isset($global_settings->pope_module_list)) + { + // Setting this to TRUE will wipe current settings for display types, but also + // allows the display type installer to run correctly + $reset = TRUE; + + $settings_installer = new C_NextGen_Settings_Installer(); + $global_defaults = $settings_installer->get_global_defaults(); + + // Preserve the network options we honor by restoring them after calling $global_settings->reset() + $global_settings_to_keep = array(); + foreach ($global_defaults as $key => $val) { + $global_settings_to_keep[$key] = $global_settings->$key; + } + + // Resets internal options to an empty array + $global_settings->reset(); + + // Restore the defaults, then our saved values. This must be done again later because + // we've set $reset to TRUE. + $settings_installer->install_global_settings(); + foreach ($global_settings_to_keep as $key => $val) { + $global_settings->$key = $val; + } + } + + $last_module_list = $reset ? array() : $local_settings->get('pope_module_list', array()); + $current_module_list = self::_generate_module_info(); + + if (count(($modules = array_diff($current_module_list, $last_module_list))) > 0) + { + // The cache should be flushed + C_Photocrati_Cache::flush(); + + // Remove all NGG created cron jobs + self::refresh_cron(); + + // Delete auto-update cache + update_option('photocrati_auto_update_admin_update_list', null); + update_option('photocrati_auto_update_admin_check_date', ''); + + // Other Pope applications might be loaded, and therefore + // all singletons should be destroyed, so that they can be + // adapted as necessary. For now, we'll just assume that the factory + // is the only singleton that will be used by other Pope applications + C_Component_Factory::$_instances = array(); + + foreach ($modules as $module_name) { + if (($handler = self::get_handler_instance(array_shift(explode('|', $module_name))))) { + if (method_exists($handler, 'install')) + $handler->install($reset); + } + } + + // Update the module list + $local_settings->set('pope_module_list', $current_module_list); + + // NOTE & TODO: if the above section that declares $global_settings_to_keep is removed this should also + // Since a hard-reset of the settings was forced we must again re-apply our previously saved values + if (isset($global_settings_to_keep)) { + foreach ($global_settings_to_keep as $key => $val) { + $global_settings->$key = $val; + } + } + + // Save any changes settings + $global_settings->save(); + $local_settings->save(); + } + + // Another workaround to an issue caused by NextGen's lack of multisite compatibility. It's possible + // the string substitation wasn't performed, so if a '%' symbol exists in gallerypath we reset it. It's + // another db call, but again this should only ever run once. + // + // Remove this when removing the above reset-global-settings code + if (strpos($local_settings->gallerypath, '%')) + { + $settings_installer = new C_NextGen_Settings_Installer(); + $local_settings->gallerypath = $settings_installer->gallerypath_replace($global_settings->gallerypath); + $local_settings->save(); + } + } + + static function _generate_module_info() + { + $retval = array(); + $registry = C_Component_Registry::get_instance(); + foreach ($registry->get_module_list() as $module_id) { + $module_version = $registry->get_module($module_id)->module_version; + $retval[$module_id] = "{$module_id}|{$module_version}"; + } + return $retval; + } + + static function refresh_cron() + { + @ini_set('memory_limit', -1); + + // Remove all cron jobs created by NextGEN Gallery + $cron = _get_cron_array(); + if (is_array($cron)) { + foreach ($cron as $timestamp => $job) { + if (is_array($job)) { + unset($cron[$timestamp]['ngg_delete_expired_transients']); + if (empty($cron[$timestamp])) { + unset($cron[$timestamp]); + } + } + } + } + _set_cron_array($cron); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php new file mode 100644 index 000000000..6687f5f95 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_resource_manager.php @@ -0,0 +1,199 @@ +<?php + +class C_Photocrati_Resource_Manager +{ + static $instance = NULL; + + var $buffer = ''; + var $styles = ''; + var $scripts = ''; + var $other_output = ''; + var $wrote_footer = FALSE; + var $run_shutdown = FALSE; + var $valid_request = TRUE; + + /** + * Start buffering all generated output. We'll then do two things with the buffer + * 1) Find stylesheets lately enqueued and move them to the header + * 2) Ensure that wp_print_footer_scripts() is called + */ + function __construct() + { + // Validate the request + $this->validate_request(); + + add_action('init',array(&$this, 'start_buffer'), 1); + } + + /** + * Determines if the resource manager should perform it's routines for this request + * @return bool + */ + function validate_request() + { + $retval = TRUE; + + if (is_admin()) { + if (isset($_REQUEST['page']) && !preg_match("#^(ngg|nextgen)#", $_REQUEST['page'])) $retval = FALSE; + } + + if (strpos($_SERVER['REQUEST_URI'], 'wp-admin/update') !== FALSE) $retval = FALSE; + else if (isset($_GET['display_gallery_iframe'])) $retval = FALSE; + else if (defined('WP_ADMIN') && WP_ADMIN && defined('DOING_AJAX') && DOING_AJAX) $retval = FALSE; + else if (preg_match("/(js|css|xsl|xml|kml)$/", $_SERVER['REQUEST_URI'])) $retval = FALSE; + elseif (preg_match("/\\.(\\w{3,4})$/", $_SERVER['REQUEST_URI'], $match)) { + if (!in_array($match[1], array('htm', 'html', 'php'))) { + $retval = FALSE; + } + } + + $this->valid_request = $retval; + } + + /** + * Start the output buffers + */ + function start_buffer() + { + if (apply_filters('run_ngg_resource_manager', $this->valid_request)) { + ob_start(array(&$this, 'output_buffer_handler')); + ob_start(array(&$this, 'get_buffer')); + + add_action('wp_print_footer_scripts', array(&$this, 'get_resources'), 1); + add_action('admin_print_footer_scripts', array(&$this, 'get_resources'), 1); + add_action('shutdown', array(&$this, 'shutdown')); + } + } + + /** + * + **/ + function get_resources() + { + ob_start(); + wp_print_styles(); + print_admin_styles(); + $this->styles = ob_get_clean(); + + if (!is_admin()) { + ob_start(); + wp_print_scripts(); + $this->scripts = ob_get_clean(); + } + + $this->wrote_footer = TRUE; + } + + /** + * Output the buffer after PHP execution has ended (but before shutdown) + * @param $content + * @return string + */ + function output_buffer_handler($content) + { + return $this->output_buffer(); + } + + /** + * Removes the closing </html> tag from the output buffer. We'll then write our own closing tag + * in the shutdown function after running wp_print_footer_scripts() + * @param $content + * @return mixed + */ + function get_buffer($content) + { + $this->buffer = $content; + return ''; + } + + /** + * Moves resources to their appropriate place + */ + function move_resources() + { + if ($this->valid_request) { + // Move stylesheets to head + if ($this->styles) { + $this->buffer = str_ireplace('</head>', $this->styles.'</head>', $this->buffer); + } + + // Move the scripts to the bottom of the page + if ($this->scripts) { + $this->buffer = str_ireplace('</body>', $this->scripts.'</body>', $this->buffer); + } + + if ($this->other_output) { + $this->buffer = str_replace('</body>', $this->other_output.'</body>', $this->buffer); + } + } + } + + /** + * When PHP has finished, we output the footer scripts and closing tags + */ + function output_buffer($in_shutdown=FALSE) + { + // If the footer scripts haven't been outputted, then + // we need to take action - as they're required + if (!$this->wrote_footer) { + + // If W3TC is installed and activated, we can't output the + // scripts and manipulate the buffer, so we can only provide a warning + if (defined('W3TC') && defined('WP_DEBUG') && WP_DEBUG) { + if (defined('DONOTCACHEPAGE')) define('DONOTCACHEPAGE', TRUE); + if (!did_action('wp_footer')) { + error_log("We're sorry, but your theme's page template didn't make a call to wp_footer(), which is required by NextGEN Gallery. Please add this call to your page templates."); + } + else { + error_log("We're sorry, but your theme's page template didn't make a call to wp_print_footer_scripts(), which is required by NextGEN Gallery. Please add this call to your page templates."); + } + } + + // We don't want to manipulate the buffer if it doesn't contain HTML + elseif (strpos($this->buffer, '</body>') === FALSE) { + $this->valid_request = FALSE; + } + + // The output_buffer() function has been called in the PHP shutdown callback + // This will allow us to print the scripts ourselves and manipulate the buffer + if ($in_shutdown === TRUE) { + ob_start(); + if (!did_action('wp_footer')) { + wp_footer(); + } + else { + wp_print_footer_scripts(); + } + $this->other_output = ob_get_clean(); + + } + + // W3TC isn't activated and we're not in the shutdown callback. + // We'll therefore add a shutdown callback to print the scripts + else { + $this->run_shutdown = TRUE; + return ''; + } + } + + // Once we have the footer scripts, we can modify the buffer and + // move the resources around + if ($this->wrote_footer) $this->move_resources(); + + return $this->buffer; + } + + /** + * PHP shutdown callback. Manipulate and output the buffer + */ + function shutdown() + { + if ($this->run_shutdown) echo $this->output_buffer(TRUE); + } + + static function init() + { + $klass = get_class(); + return self::$instance = new $klass; + } +} diff --git a/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php new file mode 100644 index 000000000..7cf2375d6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/non_pope/class.photocrati_settings_manager.php @@ -0,0 +1,299 @@ +<?php + +if (!class_exists('C_Photocrati_Settings_Manager_Base')) { + /** + * Provides a base abstraction for a Settings Manager + * Class C_Settings_Manager_Base + */ + abstract class C_Photocrati_Settings_Manager_Base implements ArrayAccess + { + static $option_name = 'pope_settings'; + protected $_options = array(); + protected $_defaults = array(); + protected $_option_handlers = array(); + + abstract function save(); + abstract function destroy(); + abstract function load(); + + protected function __construct() + { + $this->load(); + } + + /** + * Adds a class to handle dynamic options + * @param string $klass + * @param array $options + */ + function add_option_handler($klass, $options=array()) + { + if (!is_array($options)) $options = array($options); + foreach ($options as $option_name) { + $this->_option_handlers[$option_name] = $klass; + } + } + + /** + * Gets a handler used to provide a dynamic option + * @param string $option_name + * @return null|mixed + */ + protected function _get_option_handler($option_name, $method='get') + { + $retval = NULL; + + if (isset($this->_option_handlers[$option_name])) { + if (!is_object($this->_option_handlers[$option_name])) { + $klass = $this->_option_handlers[$option_name]; + $this->_option_handlers[$option_name] = new $klass; + } + $retval = $this->_option_handlers[$option_name]; + if (!method_exists($retval, $method)) $retval = NULL; + } + return $retval; + } + + /** + * Gets the value of a particular setting + * @param $key + * @param null $default + * @return null + */ + function get($key, $default=NULL) + { + $retval = $default; + + if (isset($this->_options[$key])) + $retval = $this->_options[$key]; + elseif (($handler = $this->_get_option_handler($key, 'get'))) { + $retval = $handler->get($key, $default); + } + + // In case a stdObject has been passed in as a value, we + // want to only return scalar values or arrays + if (is_object($retval)) $retval = (array) $retval; + + return $retval; + } + + /** + * Sets a setting to a particular value + * @param string $key + * @param mixed $value + * @return mixed + */ + function set($key, $value=NULL, $skip_handlers=FALSE) + { + if (is_object($value)) $value = (array) $value; + + if (is_array($key)) { + foreach ($key as $k=>$v) $this->set($k, $v); + } + elseif (!$skip_handlers && ($handler = $this->_get_option_handler($key, 'set'))) { + $handler->set($key, $value); + } + else $this->_options[$key] = $value; + + return $this; + } + + /** + * Deletes a setting + * @param string $key + */ + function delete($key) + { + if (($handler = $this->_get_option_handler($key, 'delete'))) { + $handler->delete($key); + } + else { + unset($this->_options[$key]); + } + } + + /** + * Determines if a setting exists or not + * @param $key + * @return bool + */ + function is_set($key) + { + return array_key_exists($key, $this->_options); + } + + /** + * Alias to is_set() + * @param $key + * @return bool + */ + function exists($key) + { + return $this->is_set($key); + } + + function does_not_exist($key) + { + return !$this->exists($key); + } + + function reset() + { + $this->_options = array(); + } + + /** + * This function does two things: + * a) If a value hasn't been set for the specified key, or it's been set to a previously set + * default value, then set this key to the value specified + * b) Sets a new default value for this key + */ + function set_default_value($key, $default) + { + if (!isset($this->_defaults[$key])) $this->_defaults[$key] = $default; + if (is_null($this->get($key, NULL)) OR $this->get($key) == $this->_defaults[$key]) { + $this->set($key, $default); + } + $this->_defaults[$key] = $default; + return $this->get($key); + } + + function offsetExists($key) + { + return $this->is_set($key); + } + + function offsetGet($key) + { + return $this->get($key); + } + + function offsetSet($key, $value) + { + return $this->set($key, $value); + } + + function offsetUnset($key) + { + return $this->delete($key); + } + + function __get($key) + { + return $this->get($key); + } + + function __set($key, $value) + { + return $this->set($key, $value); + } + + function __isset($key) + { + return $this->is_set($key); + } + + function __toString() + { + return json_encode($this->_options); + } + + function __toArray() + { + return $this->_options; + } + + function to_array() + { + return $this->__toArray(); + } + + function to_json() + { + return json_encode($this->_options); + } + + function from_json($json) + { + $this->_options = (array)json_decode($json); + } + } +} + +if (!class_exists('C_Photocrati_Global_Settings_Manager')) { + class C_Photocrati_Global_Settings_Manager extends C_Photocrati_Settings_Manager_Base + { + public static function get_instance() + { + static $_instance = NULL; + if (is_null($_instance)) { + $klass = get_class(); + $_instance = new $klass(); + } + return $_instance; + } + + function save() + { + return update_site_option(self::$option_name, $this->to_array()); + } + + function load() + { + $this->_options = get_site_option(self::$option_name, $this->to_array()); + if (!$this->_options) $this->_options = array(); + else if (is_string($this->_options)) $this->_options = unserialize($this->_options); + } + + function destroy() + { + return delete_site_option(self::$option_name); + } + } +} + + +if (!class_exists('C_Photocrati_Settings_Manager')) { + class C_Photocrati_Settings_Manager extends C_Photocrati_Settings_Manager_Base + { + public static function get_instance() + { + static $_instance = NULL; + if (is_null($_instance)) { + $klass = get_class(); + $_instance = new $klass(); + } + return $_instance; + } + + function get($key, $default=NULL) + { + $retval = parent::get($key, NULL); + + if (is_null($retval)) { + $retval = C_Photocrati_Global_Settings_Manager::get_instance()->get($key, $default); + } + return $retval; + } + + function save() + { + return update_option(self::$option_name, $this->to_array()); + } + + function load() + { + $this->_options = get_option(self::$option_name, array()); + if (!$this->_options) $this->_options = array(); + else if (is_string($this->_options)) $this->_options = unserialize($this->_options); + } + + function destroy() + { + delete_option(self::$option_name); + } + + + } +} + diff --git a/wp-content/plugins/nextgen-gallery/pope/README.txt b/wp-content/plugins/nextgen-gallery/pope/README.txt new file mode 100644 index 000000000..4d4bb6270 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/README.txt @@ -0,0 +1,93 @@ +============== +POPE FRAMEWORK +============== + +WHY "POPE"? +----------- +Pope is an attempt to provide a component framework, similiar to Python's Zope 3 +framework. In otherwords, Pope is PHP's version of Zope. +See: http://wiki.zope.org/zope3/ComponentArchitectureOverview + +In short it adds polymorphism or plugin-like functionality into your PHP classes. +With it you can build applications with plugins, plugins to existing applications, +and extend or change third party libraries without modifying their source. + +The unit tests in the "tests" directory double as a tutorial to Pope and how to use +it. For best clarity read the source in this order: +* core +* pre_hooks +* registry +* factories +* modules +* wrappers +* advanced +* method_properties +To run the tests yourself modify run_tests.php to point to your own SimpleTest +checkout. + +A component framework puts a strong emphasis on interface design, and designing +by contract. However, Pope also tries to be less restrictive by adopting duck typing +and the philosophy, "if it walks like a duck and talks like a duck then it is +a duck". This is sometimes also referred to as "monkey patching". + +A component frameworks relies on the following: + +- Interfaces: + + Interfaces define the contracts which the design must follow. + See: http://en.wikipedia.org/wiki/Design_by_contract + +- Components: + + Components implement interfaces to provide specific functionality in a + desired context. The context of an object is important, as a component + can behave differently when used in a different context. + +- Adapters: + + Adapters modify the behavior of a component to adapt to a particular context. + For example, in a component framework there might be difference between an + image and a thumbnail - they are both images, but used in different contexts. + Adapters would be used to make a thumbnail image behave differently. + +- Utilities: + + Utilities are registered implementations of a particular interface. An + example of a utility is an object factory, based on the factory pattern. + +- Factory: + + Factories create objects. + See: http://en.wikipedia.org/wiki/Factory_method_pattern + + + +EXTENSIBLE OBJECT +----------------- +Pope is able to use duck typing and monkey patching through the use of a class +called ExtensibleObject, which provides these capabilities. ExtensibleObject +provides a means of polymorphism and multiple inheritance using something +called "mixins". +See: http://en.wikipedia.org/wiki/Mixin + +An understanding of how to use ExtensibleObject is fundamental to the understanding +of how to use Pope, and what makes it a unique and powerful tool. + +ExtensibleObject is quite unique in that it brings a lot of features to PHP 5.2 +that are only available in PHP 5.3 and above. It inherits a lot of it's design +from Ruby. For example, + +i) Methods can be added and removed from objects at runtime through the use of +Pope extensions + +ii) Pre-executed and post-executed hooks can be registered at runtime, which are +methods that are executed when a particular method has been called on an +ExtensibleObject instance. + +iii) Method implementations can be replaced and restored at runtime. + +To get a better understanding of how these things can truly benefit you as a +programmer and a designer, please watch David Heinemeier Hansson's keynote about +Ruby: http://vimeo.com/17420638 + + diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/autoload.php b/wp-content/plugins/nextgen-gallery/pope/lib/autoload.php new file mode 100644 index 000000000..f57214b2a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/autoload.php @@ -0,0 +1,14 @@ +<?php + +if (!defined('POPE_VERSION')) { + define('POPE_VERSION', '0.4'); + require_once('class.extensibleobject.php'); + require_once('interface.component.php'); + require_once('class.component.php'); + require_once('interface.component_factory.php'); + require_once('class.component_factory.php'); + require_once('class.component_registry.php'); + require_once('interface.pope_module.php'); + require_once('class.base_module.php'); + require_once('class.base_product.php'); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php new file mode 100644 index 000000000..fc113d2ef --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_module.php @@ -0,0 +1,184 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * A Module will register utilities and adapters to provide it's functionality, + * and usually provide some classes for business logic. + * + * Registered an adapter for the I_Component_Factory interface to add new + * factory methods is the most common use of an adapter. + */ +abstract class C_Base_Module extends C_Component +{ + var $module_id; + var $module_name; + var $module_description; + var $module_version; + var $module_uri; + var $module_author; + var $module_author_uri; + var $module_type_list = null; + + function __construct($context=FALSE) + { + if ($context) { + parent::__construct(__EXTOBJ_NO_INIT__, $context); + } + else { + parent::__construct(__EXTOBJ_NO_INIT__); + } + } + + /** + * Defines the module + */ + function define($id, $name, $description='', $version='', $uri='', $author='', $author_uri='', $context=FALSE) + { + parent::define($context); + $this->implement('I_Pope_Module'); + $this->module_id = $id; + $this->module_name = $name; + $this->module_description = $description; + $this->module_version = $version; + $this->module_uri = $uri; + $this->module_author = $author; + $this->module_author_uri = $author_uri; + + $this->get_registry()->add_module($this->module_id, $this); + + $this->_register_utilities(); + $this->_register_adapters(); + $this->_register_hooks(); + } + + /** + * I/O can be expensive to run repeatedly, so when a module is created we cache a listing of every file provided + * + * @return array List of types => files belonging to this module + */ + function get_type_list() + { + // XXX small hack to skip photocrati theme modules scans + $except_modules = array( + 'photocrati-gallery_legacy' => array(), + 'photocrati-theme_bulk' => array(), + 'photocrati-theme_admin' => array(), + 'photocrati-auto_update' => array( + 'A_Autoupdate_Settings' => 'adapter.autoupdate_settings.php' + ), + 'photocrati-auto_update-admin' => array( + 'A_Autoupdate_Admin_Ajax' => 'adapter.autoupdate_admin_ajax.php', + 'A_Autoupdate_Admin_Factory' => 'adapter.autoupdate_admin_factory.php', + 'C_Autoupdate_Admin_Ajax' => 'class.autoupdate_admin_ajax.php', + 'C_Autoupdate_Admin_Controller' => 'class.autoupdate_admin_controller.php' + )); + + if (isset($except_modules[$this->module_id])) + { + return $except_modules[$this->module_id]; + } + + if ($this->module_type_list === null) + { + $map = array( + 'C_' => 'class', + 'A_' => 'adapter', + 'I_' => 'interface', + 'Mixin_' => 'mixin', + 'M_' => 'module', + 'Hook_' => 'hook', + ); + + $type_list = array(); + $dir = $this->get_registry()->get_module_dir($this->module_id) . DIRECTORY_SEPARATOR; + $iterator = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($dir) + ); + foreach ($iterator as $filename) { + if (in_array(basename($filename->getPathname()), array('.', '..'))) + continue; + + $filename = str_replace($dir, '', $filename->getPathname()); + $file_parts = explode('.', $filename); + $prefix = $file_parts[0]; + $name = (!empty($file_parts[1]) ? $file_parts[1] : ''); + $name_prefix = array_search($prefix, $map); + + if ($name_prefix) + { + $type_name = $name_prefix . $name; + + $type_list[$type_name] = $filename; + } + } + + $this->module_type_list = $type_list; + } + + return $this->module_type_list; + } + + /** + * Provides a reliable means of determining if the current request is in the + * wp-admin panel + * @return boolean + */ + function is_admin() + { + return (is_admin() OR preg_match('/wp-admin/', $_SERVER['REQUEST_URI'])); + } + + /** + * Join two filesystem paths together (e.g. 'give me $path relative to $base'). + * + * If the $path is absolute, then the full path is returned. + * Taken from wordpress 3.4.1 + * + * @param string $base + * @param string $path + * @return string The path with the base or absolute path + */ + function _path_join($base, $path) + { + if ($this->_path_is_absolute($path)) + { + return $path; + } + return trim($base, '/') . '/' . ltrim($path, '/'); + } + + /** + * Test if a give filesystem path is absolute ('/foo/bar', 'c:\windows'). + * + * Taken from wordpress 3.4.1 + * @param string $path File path + * @return bool True if path is absolute, false is not absolute. + */ + function _path_is_absolute($path) + { + // this is definitive if true but fails if $path does not exist or contains a symbolic link + if (realpath($path) == $path) + { + return true; + } + + if (strlen($path) == 0 || $path[0] == '.') + { + return false; + } + + // windows allows absolute paths like this + if (preg_match('#^[a-zA-Z]:\\\\#', $path)) + { + return true; + } + + // a path starting with / or \ is absolute; anything else is relative + return ($path[0] == '/' || $path[0] == '\\'); + } + + function _register_hooks() {} + function _register_adapters() {} + function _register_utilities() {} +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php new file mode 100644 index 000000000..6b14cd4f3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.base_product.php @@ -0,0 +1,36 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * A Product is a collection of modules with some meta data. + * + * Products are responsible for including and loading any modules required + * for the functionality of the product. + * + * Module initialization is handled by the bootstrap procedure. + */ +abstract class C_Base_Product extends C_Base_Module +{ + function define($id, $name, $description='', $version='', $uri='', $author='', $author_uri='') + { + parent::define($id, $name, $description, $version, $uri, $author, $author_uri); + + $this->get_registry()->add_product($this->module_id, $this); + } + + function get_type_list() + { + return array(); + } + + function is_background_product() + { + return false; + } + + function get_dashboard_message($type = null) + { + return false; + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component.php new file mode 100644 index 000000000..a02db5d80 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component.php @@ -0,0 +1,113 @@ +<?php + +/** + * Pope is a component-based framework. All classes should inherit this class. + */ +class C_Component extends ExtensibleObject +{ + /** + * @var string + */ + var $context; + var $adapted = FALSE; + + /** + * Many components will execute parent::define() + */ + function define($context=FALSE) + { + $this->context = is_null($context) ? FALSE : $context; + $this->implement('I_Component'); + } + + // Initializes the state of the object + function initialize() + { + $this->get_registry()->apply_adapters($this); + $this->adapted = TRUE; + } + + /** + * Determines if the component has one or more particular contexts assigned + * @param string|array $context + * @return boolean + */ + function has_context($context) + { + $retval = TRUE; + $current_context = is_array($this->context) ? $this->context : array($this->context); + if (!is_array($context)) $context = array($context); + foreach ($context as $c) { + if (!in_array($c, $current_context)) { + $retval = FALSE; + break; + } + } + return $retval; + } + + /** + * Assigns a particular context to the component + * @param type $context + */ + function add_context($context) + { + if (!is_array($context)) $context = array($context); + if (!is_array($this->context)) $this->context = array($this->context); + foreach ($context as $c) { + if (in_array($c, $this->context)) continue; + else $context[] = $c; + } + } + + /** + * Assigns one or more contexts to the component + * @param type $context + */ + function assign_context($context) + { + $this->add_context($context); + } + + /** + * Un-assigns one or more contexts from the component + * @param type $context + */ + function remove_context($context) + { + if (!is_array($context)) $context = array($context); + if (!is_array($this->context)) $this->context = array($this->context); + foreach ($context as $c) { + if (($index = array_search($c, $this->context)) !== FALSE) { + unset($this->context[$index]); + } + } + } + + /** + * Assigns one or more contexts to the component + * @param type $context + */ + function unassign_context($context) + { + $this->remove_context($context); + } + + /** + * Gets the component registry + * @return C_Component_Registry + */ + function get_registry() + { + return C_Component_Registry::get_instance(); + } + + /** + * Gets the component registry -- backward compatibility + * @return C_Component_Registry + */ + function _get_registry() + { + return C_Component_Registry::get_instance(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php new file mode 100644 index 000000000..046def6d8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_factory.php @@ -0,0 +1,35 @@ +<?php + +/** + * A factory for hatching (instantiating) components + */ +class C_Component_Factory extends C_Component +{ + static $_instances = array(); + + function define() + { + parent::define(); + $this->implement('I_Component_Factory'); + } + + function create($method, $args=array()) + { + // Format the arguments for the method call + $args = func_get_args(); + array_shift($args); + + // Create the component and apply the adapters + $component = $this->call_method($method, $args); + + return $component; + } + + static function &get_instance($context = False) + { + if (!isset(self::$_instances[$context])) { + self::$_instances[$context] = new C_Component_Factory($context); + } + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php new file mode 100644 index 000000000..6658520fd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.component_registry.php @@ -0,0 +1,943 @@ +<?php + +/** + * A registry of registered products, modules, adapters, and utilities. + */ +class C_Component_Registry +{ + static $_instance = NULL; + var $_meta_info = array(); /* Contains a cached mapping of module_id -> module_info (including the path the module was installed to) */ + var $_default_path = NULL; + var $_modules = array(); + var $_products = array(); + var $_adapters = array(); + var $_utilities = array(); + var $_module_type_cache = array(); + var $_module_type_cache_count = 0; + + + /** + * This is a singleton object + */ + private function __construct() + { + // Create an autoloader + spl_autoload_register(array($this, '_module_autoload'), TRUE); + } + + + /** + * Returns a singleton + * @return C_Component_Registry() + */ + static function &get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + /** + * Saves the registry to disk + * @param string $config_file + */ + function save($config_file) + { + $fp = FALSE; + $retval = TRUE; + + try { + $fp = fopen($config_file, 'w'); + fwrite($fp, json_encode(array( + 'modules' => $this->_modules, + 'products' => $this->_products, + 'adapters' => $this->_adapters, + 'utilities'=> $this->_utilities + ))); + } + catch (Exception $e) { + if ($fp) fclose($fp); + $retval = FALSE; + } + if ($fp) fclose($fp); + + return $retval; + } + + + function load($config_file) + { + $fp = FALSE; + $retval = TRUE; + + try { + $fp = fopen($config_file); + $json = json_decode(fread($fp), TRUE); + $this->_modules = array_merge($this->_modules, $json['modules']); + $this->_products = array_merge($this->_products, $json['products']); + $this->_adapters = array_merge($this->_adapters, $json['adapters']); + $this->_utilities = array_merge($this->_utilities, $json['utilities']); + } + catch (Exception $e) { + if ($fp) fclose($fp); + $retval = FALSE; + } + if ($fp) fclose($fp); + + return $retval; + } + + + /** + * Adds a path in the search paths for loading modules + * @param string $path + * @param bool $recurse - note, it will only recurse 1 level in the hierarchy + * @param bool $load_all - loads all modules found in the path + */ + function add_module_path($path, $recurse = false, $load_all = false) + { + if ($this->get_default_module_path() == null) + { + $this->set_default_module_path($path); + } + + $scan = $this->_scan_module_path($path, $recurse); + + if ($scan != null) + { + $this->_meta_info = array_merge($this->_meta_info, $scan); + + if ($load_all) + { + $module_list = array_keys($scan); + $load_list = array(); + $count = count($module_list); + $ret = true; + + for ($i = 0; $i < $count; $i++) + { + $module_id = $module_list[$i]; + $info = isset($scan[$module_id]) ? $scan[$module_id] : null; + $before_index = null; + + if (isset($info['before-list'])) + { + $before_list = $info['before-list']; + + foreach ($before_list as $before_module) + { + $load_index = array_search($before_module, $load_list); + + if ($load_index !== false) + { + if ($before_index === null || $load_index < $before_index) + { + $before_index = $load_index; + } + } + } + } + + if ($before_index !== null) + { + array_splice($load_list, $before_index, 0, array($module_id)); + } + else + { + $load_list[] = $module_id; + } + } + + foreach ($load_list as $module_id) + { + $loaded = $this->load_module($module_id); + $ret = $ret && $loaded; + } + + return $ret; + } + + return true; + } + + return false; + } + + + /** + * Retrieves the default module path (Note: this is just the generic root container path for modules) + * @return string + */ + function get_default_module_path() + { + return $this->_default_path; + } + + + /** + * Sets the default module path (Note: this is just the generic root container path for modules) + * @param string $path + */ + function set_default_module_path($path) + { + $this->_default_path = $path; + } + + + /** + * Retrieves the module path + * @param string $module_id + * @return string + */ + function get_module_path($module_id) + { + if (isset($this->_meta_info[$module_id])) { + $info = $this->_meta_info[$module_id]; + + if (isset($info['path'])) { + return $info['path']; + } + } + + return null; + } + + + /** + * Retrieves the module installation directory + * @param string $module_id + * @return string + */ + function get_module_dir($module_id) + { + $path = $this->get_module_path($module_id); + + if ($path != null) { + return dirname($path); + } + + return null; + } + + + /** + * Loads a module's code according to its dependency list + * @param string $module_id + */ + function load_module($module_id) + { + return $this->_load_module_internal($module_id); + } + + function load_all_modules($type = null) + { + $modules = $this->get_known_module_list(); + $ret = true; + + foreach ($modules as $module_id) + { + if ($type == null || $this->get_module_meta($module_id, 'type') == $type) { + $ret = $this->load_module($module_id) && $ret; + } + } + + return $ret; + } + + + /** + * Initializes a previously loaded module + * @param string $module_id + */ + function initialize_module($module_id) + { + $retval = FALSE; + if (isset($this->_modules[$module_id])) { + $module = $this->_modules[$module_id]; + + if (!$module->initialized) { + if ($module->has_method('initialize')) + $module->initialize(); + + $module->initialized = true; + } + $retval = TRUE; + } + return $retval; + } + + + /** + * Initializes an already loaded product + * @param string $product_id + * @return bool + */ + function initialize_product($product_id) + { + return $this->initialize_module($product_id); + } + + + /** + * Initializes all previously loaded modules + */ + function initialize_all_modules() + { + $module_list = $this->get_module_list(); + + foreach ($module_list as $module_id) + { + $this->initialize_module($module_id); + } + } + + + /** + * Adds an already loaded module to the registry + * @param string $module_id + * @param C_Base_Module $module_object + */ + function add_module($module_id, $module_object) + { + if (!isset($this->_modules[$module_id])) { + $this->_modules[$module_id] = $module_object; + } + } + + + /** + * Deletes an already loaded module from the registry + * @param string $module_id + */ + function del_module($module_id) + { + if (isset($this->_modules[$module_id])) { + unset($this->_modules[$module_id]); + } + } + + + /** + * Retrieves the instance of the registered module. Note: it's the instance of the module object, so the module needs to be loaded or this function won't return anything. For module info returned by scanning (with add_module_path), look at get_module_meta + * @param string $module_id + * @return C_Base_Module + */ + function get_module($module_id) + { + if (isset($this->_modules[$module_id])) { + return $this->_modules[$module_id]; + } + + return null; + } + + function get_module_meta($module_id, $meta_name) + { + $meta = $this->get_module_meta_list($module_id); + + if (isset($meta[$meta_name])) { + return $meta[$meta_name]; + } + + return null; + } + + function get_module_meta_list($module_id) + { + if (isset($this->_meta_info[$module_id])) { + return $this->_meta_info[$module_id]; + } + + return null; + } + + /** + * Retrieves a list of instantiated module ids + * @return array + */ + function get_module_list() + { + return array_keys($this->_modules); + } + + /** + * Retrieves a list of registered module ids, including those that aren't loaded (i.e. get_module() call with those unloaded ids will fail) + * @return array + */ + function get_known_module_list() + { + return array_keys($this->_meta_info); + } + + + function load_product($product_id) + { + return $this->load_module($product_id); + } + + function load_all_products() + { + return $this->load_all_modules('product'); + } + + /** + * Adds an already loaded product in the registry + * @param string $product_id + * @param C_Base_Module $product_object + */ + function add_product($product_id, $product_object) + { + if (!isset($this->_products[$product_id])) { + $this->_products[$product_id] = $product_object; + } + } + + + /** + * Deletes an already loaded product from the registry + * @param string $product_id + */ + function del_product($product_id) + { + if (isset($this->_products[$product_id])) { + unset($this->_products[$product_id]); + } + } + + + /** + * Retrieves the instance of the registered product + * @param string $product_id + * @return C_Base_Module + */ + function get_product($product_id) + { + if (isset($this->_products[$product_id])) { + return $this->_products[$product_id]; + } + + return null; + } + + function get_product_meta($product_id, $meta_name) + { + $meta = $this->get_product_meta_list($product_id); + + if (isset($meta[$meta_name])) { + return $meta[$meta_name]; + } + + return null; + } + + function get_product_meta_list($product_id) + { + if (isset($this->_meta_info[$product_id]) && $this->_meta_info[$product_id]['type'] == 'product') { + return $this->_meta_info[$product_id]; + } + + return null; + } + + + /** + * Retrieves the module installation path for a specific product (Note: this is just the generic root container path for modules of this product) + * @param string $product_id + * @return string + */ + function get_product_module_path($product_id) + { + if (isset($this->_meta_info[$product_id])) { + $info = $this->_meta_info[$product_id]; + + if (isset($info['product-module-path'])) { + return $info['product-module-path']; + } + } + + return null; + } + + + /** + * Sets the module installation path for a specific product (Note: this is just the generic root container path for modules of this product) + * @param string $product_id + * @param string $module_path + */ + function set_product_module_path($product_id, $module_path) + { + if (isset($this->_meta_info[$product_id])) { + $this->_meta_info[$product_id]['product-module-path'] = $module_path; + } + } + + + /** + * Retrieves a list of instantiated product ids + * @return array + */ + function get_product_list() + { + return array_keys($this->_products); + } + + /** + * Retrieves a list of registered product ids, including those that aren't loaded (i.e. get_product() call with those unloaded ids will fail) + * @return array + */ + function get_known_product_list() + { + $list = array_keys($this->_meta_info); + $return = array(); + + foreach ($list as $module_id) + { + if ($this->get_product_meta_list($module_id) != null) + { + $return[] = $module_id; + } + } + + return $return; + } + + + /** + * Registers an adapter for an interface with specific contexts + * @param string $interface + * @param string $class + * @param array $contexts + */ + function add_adapter($interface, $class, $contexts=FALSE) + { + // If no specific contexts are given, then we assume + // that the adapter is to be applied in ALL contexts + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + if (!isset($this->_adapters[$interface])) { + $this->_adapters[$interface] = array(); + } + + // Iterate through each specific context + foreach ($contexts as $context) { + if (!isset($this->_adapters[$interface][$context])) { + $this->_adapters[$interface][$context] = array(); + } + $this->_adapters[$interface][$context][] = $class; + } + } + + + /** + * Removes an adapter for an interface. May optionally specifify what + * contexts to remove the adapter from, leaving the rest intact + * @param string $interface + * @param string $class + * @param array $contexts + */ + function del_adapter($interface, $class, $contexts=FALSE) + { + // Ensure that contexts is an array of contexts + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + // Iterate through each context for an adapter + foreach ($this->_adapters[$interface] as $context => $classes) { + if (!$context OR in_array($context, $contexts)) { + $index = array_search($class, $classes); + unset($this->_adapters[$interface][$context][$index]); + } + } + } + + + /** + * Apply adapters registered for the component + * @param C_Component $component + * @return C_Component + */ + function &apply_adapters(C_Component &$component) + { + // Iterate through each adapted interface. If the component implements + // the interface, then apply the adapters + foreach ($this->_adapters as $interface => $contexts) { + if ($component->implements_interface($interface)) { + + + // Determine what context apply to the current component + $applied_contexts = array('all'); + if ($component->context) { + $applied_contexts[] = $component->context; + $applied_contexts = $this->_flatten_array($applied_contexts); + } + + // Iterate through each of the components contexts and apply the + // registered adapters + foreach ($applied_contexts as $context) { + if (isset($contexts[$context])) { + foreach ($contexts[$context] as $adapter) { + $component->add_mixin($adapter, TRUE); + } + } + + } + } + } + + return $component; + } + + + /** + * Adds a utility for an interface, to be used in particular contexts + * @param string $interface + * @param string $class + * @param array $contexts + */ + function add_utility($interface, $class, $contexts=FALSE) + { + // If no specific contexts are given, then we assume + // that the utility is for ALL contexts + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + if (!isset($this->_utilities[$interface])) { + $this->_utilities[$interface] = array(); + } + + // Add the utility for each appropriate context + foreach ($contexts as $context) { + $this->_utilities[$interface][$context] = $class; + } + } + + + /** + * Deletes a registered utility for a particular interface. + * @param string $interface + * @param array $contexts + */ + function del_utility($interface, $contexts=FALSE) + { + if (!$contexts) $contexts = array('all'); + if (!is_array($contexts)) $contexts = array($contexts); + + // Iterate through each context for an interface + foreach ($this->_utilities[$interface] as $context => $class) { + if (!$context OR in_array($context, $contexts)) { + unset($this->_utilities[$interface][$context]); + } + } + } + + /** + * Gets the class name of the component providing a utility implementation + * @param string $interface + * @param string|array $context + * @return string + */ + function get_utility_class_name($interface, $context=FALSE) + { + return $this->_retrieve_utility_class($interface, $context); + } + + + /** + * Retrieves an instantiates the registered utility for the provided instance. + * The instance is a singleton and must provide the get_instance() method + * @param string $interface + * @param string $context + * @return C_Component + */ + function get_utility($interface, $context=FALSE) + { + if (!$context) $context='all'; + $class = $this->_retrieve_utility_class($interface, $context); + return call_user_func("{$class}::get_instance", $context); + } + + + /** + * Flattens an array of arrays to a single array + * @param array $array + * @param array $parent (optional) + * @param bool $exclude_duplicates (optional - defaults to TRUE) + * @return array + */ + function _flatten_array($array, $parent=NULL, $exclude_duplicates=TRUE) + { + if (is_array($array)) { + + // We're to add each element to the parent array + if ($parent) { + foreach ($array as $index => $element) { + foreach ($this->_flatten_array($array) as $sub_element) { + if ($exclude_duplicates) { + if (!in_array($sub_element, $parent)) { + $parent[] = $sub_element; + } + } + else $parent[] = $sub_element; + } + } + $array = $parent; + } + + // We're starting the process.. + else { + $index = 0; + while (isset($array[$index])) { + $element = $array[$index]; + if (is_array($element)) { + $array = $this->_flatten_array($element, $array); + unset($array[$index]); + } + $index += 1; + } + $array = array_values($array); + } + } + else { + $array = array($array); + } + + return $array; + } + + + /** + * Returns a list of paths under a specific location, optionally by regex matching their names + * @param string $path starting path + * @param string $regex matched against file basename, not full path + * @param int $recurse recurse level + */ + function _get_file_list($path, $recurse = null, $regex = null) + { + $path = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $path); + $file_list = array(); + + if (is_dir($path)) { + + if ($dh = opendir($path)) { + + if (substr($path, -1) != DIRECTORY_SEPARATOR) { + $path .= DIRECTORY_SEPARATOR; + } + + rewinddir($dh); + + while (($file = readdir($dh)) !== false) { + if ($file != '.' && $file != '..') { + $file_path = $path . $file; + + if ($regex == null || preg_match($regex, $file)) { + $file_list[] = $file_path; + } + + if ($recurse > 0) { + $file_list = array_merge($file_list, $this->_get_file_list($file_path, $recurse - 1, $regex)); + } + } + } + + closedir($dh); + } + } + + return $file_list; + } + + /** + * Searches a path for valid module definitions and stores their dependency lists + * @param string $path + * @param bool $recurse - note, it will only recurse 1 level in the hierarchy + */ + function _scan_module_path($path, $recurse = false) + { + $path = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $path); + $base = basename($path); + $regex = '/^(?:module|product)\\..*\\.php$/'; + $result = array(); + + if (is_file($path) && preg_match($regex, $base)) + { + $result[] = $path; + } + else + { + $result = $this->_get_file_list($path, $recurse ? 1 : 0, $regex); + } + + if ($result != null) + { + $scan = array(); + + foreach ($result as $module_path) + { + $module_dir = basename(dirname($module_path)); + + if (strpos($module_dir, '__') === 0) + { + continue; + } + + // XXX might be necessary to use fopen/fread for very large module files + $module_content = file_get_contents($module_path); + $match = null; + + if (preg_match('/\/(?:\*)+\s*\{\s*(?P<type>Module|Product):\s*(?P<id>[\w-_]+)\s*(?:,\s*Depends:\s*\{(?P<depends>.*)\})?\s*(,\s*Before:\s*\{(?P<before>.*)\})?\s*\}/m', $module_content, $match) > 0) + { + $module_type = $match['type']; + $module_id = $match['id']; + $module_deps = isset($match['depends']) ? $match['depends'] : null; + $module_before = isset($match['before']) ? $match['before'] : null; + $module_info = array('type' => strtolower($module_type), 'id' => $module_id, 'path' => $module_path); + + if ($module_deps != null) + { + $module_deps = array_map('trim', explode(',', $module_deps)); + $module_info['dependency-list'] = $module_deps; + } + + if ($module_before != null) + { + $module_before = array_map('trim', explode(',', $module_before)); + $module_info['before-list'] = $module_before; + } + + $scan[$module_id] = $module_info; + } + else die("{$module_path} is not a valid Pope module"); + } + + return $scan; + } + + return null; + } + + + /** + * Loads a module's code according to its dependency list and taking into consideration circular references + * @param string $module_id + * @param array $load_path + */ + function _load_module_internal($module_id, $load_path = null) + { + if ($this->get_module($module_id) != null) + { + // Module already loaded + return true; + } + + if (!is_array($load_path)) + { + $load_path = (array) $load_path; + } + + if (isset($this->_meta_info[$module_id])) + { + $module_info = $this->_meta_info[$module_id]; + + if (isset($module_info['dependency-list'])) + { + $module_deps = $module_info['dependency-list']; + $load_path[] = $module_id; + + foreach ($module_deps as $module_dep_id) + { + if (in_array($module_dep_id, $load_path)) + { + // Circular reference + continue; + } + + if (!$this->_load_module_internal($module_dep_id, $load_path)) + { + return false; + } + } + } + if (isset($module_info['path'])) + { + $module_path = $module_info['path']; + + if (is_file($module_path)) + { + include_once($module_path); + + return true; + } + } + } + + return false; + } + + + /** + * Private API method. Retrieves the class which currently provides the utility + * @param string $interface + * @param string $context + */ + function _retrieve_utility_class($interface, $context='all') + { + $class = FALSE; + + if (!$context) $context = 'all'; + if (isset($this->_utilities[$interface])) { + if (isset($this->_utilities[$interface][$context])) { + $class = $this->_utilities[$interface][$context]; + } + + // No utility defined for the specified interface + else { + if ($context == 'all') $context = 'default'; + $class = $this->_retrieve_utility_class($interface, FALSE); + if (!$class) + throw new Exception("No utility registered for `{$interface}` with the `{$context}` context."); + + } + } + else throw new Exception("No utilities registered for `{$interface}`"); + + return $class; + } + /** + * Autoloads any classes, interfaces, or adapters needed by this module + */ + function _module_autoload($name) + { + if ($this->_module_type_cache == null || count($this->_modules) > $this->_module_type_cache_count) + { + $this->_module_type_cache_count = count($this->_modules); + $modules = $this->_modules; + + foreach ($modules as $module_id => $module) + { + $dir = $this->get_module_dir($module_id); + $type_list = $module->get_type_list(); + + foreach ($type_list as $type => $filename) + { + $this->_module_type_cache[strtolower($type)] = $dir . DIRECTORY_SEPARATOR . $filename; + } + } + } + + $name = strtolower($name); + + if (isset($this->_module_type_cache[$name])) + { + $module_filename = $this->_module_type_cache[$name]; + + if (file_exists($module_filename)) + { + include_once($module_filename); + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php b/wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php new file mode 100644 index 000000000..2a45dac8f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/class.extensibleobject.php @@ -0,0 +1,1377 @@ +<?php +define('__EXTOBJ_STATIC__', '__STATICALLY_CALLED__'); +define('__EXTOBJ_NO_INIT__', '__NO_INIT__'); + + +/** + * Provides helper methods for Pope objects + */ +class PopeHelpers +{ + /** + * Merges two associative arrays + * @param array $a1 + * @param array $a2 + * @return array + */ + function array_merge_assoc($a1, $a2, $skip_empty=FALSE) + { + if ($a2) { + foreach ($a2 as $key => $value) { + if ($skip_empty && $value === '' OR is_null($value)) continue; + if (isset($a1[$key])) { + + if (is_array($value)) { + $a1[$key] = $this->array_merge_assoc($a1[$key], $value); + + } + else { + $a1[$key] = $value; + } + + } + else $a1[$key] = $value; + } + } + return $a1; + } + + + /** + * Returns TRUE if a property is empty + * @param string $var + * @return boolean + */ + function is_empty($var, $element=FALSE) + { + if (is_array($var) && $element) { + if (isset($var[$element])) $var = $var[$element]; + else $var = FALSE; + } + + return (is_null($var) OR (is_string($var) AND strlen($var) == 0) OR $var === FALSE); + } +} + + +/** + * An ExtensibleObject can be extended at runtime with methods from another + * class. + * + * - Mixins may be added or removed at any time during runtime + * - The path to the mixin is cached so that subsequent method calls are + * faster + * - Pre and post hooks can be added or removed at any time during runtime. + * - Each method call has a list of associated properties that can be modified + * by pre/post hooks, such as: return_value, run_pre_hooks, run_post_hooks, etc + * - Methods can be replaced by other methods at runtime + * - Objects can implement interfaces, and are constrained to implement all + * methods as defined by the interface + * - All methods are public. There's no added security by having private/protected + * members, as monkeypatching can always expose any method. Instead, protect + * your methods using obscurity. Conventionally, use an underscore to define + * a method that's private to an API + */ +class ExtensibleObject extends PopeHelpers +{ + const METHOD_PROPERTY_RUN='run'; + const METHOD_PROPERTY_RUN_POST_HOOKS='run_post_hooks'; + const METHOD_PROPERTY_RUN_PRE_HOOKS='run_pre_hooks'; + const METHOD_PROPERTY_RETURN_VALUE='return_value'; + + var $_mixins = array(); + var $_mixin_priorities = array(); + var $_pre_hooks = array(); + var $_global_pre_hooks = array(); + var $_global_post_hooks= array(); + var $_post_hooks = array(); + var $_method_map_cache = array(); + var $_interfaces = array(); + var $_overrides = array(); + var $_aliases = array(); + var $_method_properties = array(); + var $_throw_error = TRUE; + var $_wrapped_instance = FALSE; + var $object = NULL; + var $_disabled_pre_hooks = array(); + var $_disabled_post_hooks = array(); + var $_disabled_mixins = array(); + + + /** + * Defines a new ExtensibleObject. Any subclass should call this constructor. + * Subclasses are expected to provide the following: + * define_instance() - adds extensions which provide instance methods + * define_class() - adds extensions which provide static methods + * initialize() - used to initialize the state of the object + */ + function __construct() + { + // Mixins access their parent class by accessing $this->object. + // Sometimes users mistakenly use $this->object within the parent object + // itself. As it's becoming a common mistake, we define a $this->object + // property which points to the current instance (itself) + $this->object = $this; + + $args = func_get_args(); + $define_instance = TRUE; + $init_instance = TRUE; + + // The first argument could be a flag to ExtensibleObject + // which indicates that only static-like methods will be called + if (count($args) >= 1) { + $first_arg = $args[0]; + if (is_string($first_arg)) { + switch ($first_arg) { + case __EXTOBJ_STATIC__: + { + $define_instance = FALSE; + $init_instance = FALSE; + + if (method_exists($this, 'define_class')) { + $this->call_callback($this, 'define_class', $args); + } + elseif (method_exists($this, 'define_static')) { + $this->call_callback($this, 'define_static', $args); + } + + break; + } + case __EXTOBJ_NO_INIT__: + { + $init_instance = FALSE; + + break; + } + } + } + } + + // Are we to define instance methods? + if ($define_instance) + { + if (method_exists($this, 'define_instance')) + { + $reflection = new ReflectionMethod($this, 'define_instance'); + $reflection->invokeArgs($this, $args); + // call_user_func_array(array($this, 'define_instance'), $args); + } + elseif (method_exists($this, 'define')) { + $reflection = new ReflectionMethod($this, 'define'); + $reflection->invokeArgs($this, $args); + // call_user_func_array(array($this, 'define'), $args); + } + + $this->_enforce_interface_contracts(); + + if ($init_instance) + { + // Initialize the state of the object + if (method_exists($this, 'initialize')) { + $reflection = new ReflectionMethod($this, 'initialize'); + $reflection->invokeArgs($this, $args); + // call_user_func_array(array($this, 'initialize'), $args); + } + } + } + } + + /** + * Disabled prehooks for a particular method + * @param string $method + */ + function disable_pre_hooks($method) + { + $this->_disabled_pre_hooks[] = $method; + return $this; + } + + + /** + * Enable prehooks for a particular method + * @param string $method + */ + function enable_pre_hooks($method) + { + $index = array_search($method, $this->_disabled_pre_hooks); + if ($index !== FALSE) { + unset($this->_disabled_pre_hooks[$index]); + } + return $this; + } + + /** + * Disabled posthooks for a particular method + * @param string $method + */ + function disable_post_hooks($method) + { + $this->_disabled_post_hooks[] = $method; + return $this; + } + + + /** + * Enable post-hooks for a particular method + * @param string $method + */ + function enable_post_hooks($method) + { + $index = array_search($method, $this->_disabled_post_hooks); + if ($index !== FALSE) { + unset($this->_disabled_post_hooks[$index]); + } + return $this; + } + + /** + * Determines if post hooks are enabled for a particular method + * @param string $method + * @return bool + */ + function are_post_hooks_enabled($method) + { + return !empty($this->_post_hooks) && (!in_array($method, $this->_disabled_post_hooks)); + } + + + /** + * Determines if pre hooks are enabled for a particular method + * @param string $method + * @return bool + */ + function are_pre_hooks_enabled($method) + { + return !empty($this->_pre_hooks) && (!in_array($method, $this->_disabled_pre_hooks)); + } + + + /** + * Adds an extension class to the object. The extension provides + * methods for this class to expose as it's own + * @param string $class + */ + function add_mixin($class, $instantiate=FALSE) + { + $retval = TRUE; + + if (!$this->has_mixin($class)) { + // We used to instantiate the class, but I figure + // we might as well wait till the method is called to + // save memory. Instead, the _call() method calls the + // _instantiate_mixin() method below. + $this->_mixins[$class] = FALSE; // new $class(); + array_unshift($this->_mixin_priorities, $class); + $this->_flush_cache(); + + // Should we instantiate the object now? + if ($instantiate) $this->_instantiate_mixin($class); + } + else $retval = FALSE; + + return $retval; + } + + + /** + * Determines if a mixin has been added to this class + * @param string $klass + * @return bool + */ + function has_mixin($klass) + { + return (isset($this->_mixins[$klass])); + } + + + /** + * Stores the instantiated class + * @param string $class + * @return mixed + */ + function _instantiate_mixin($class) + { + $retval = FALSE; + if ($this->_mixins[$class]) + $retval = $this->_mixins[$class]; + else { + $obj= new $class(); + $obj->object = &$this; + $retval = $this->_mixins[$class] = &$obj; + if (method_exists($obj, 'initialize')) $obj->initialize(); + } + + + return $retval; + } + + + /** + * Deletes an extension from the object. The methods provided by that + * extension are no longer available for the object + * @param string $class + */ + function del_mixin($class) + { + unset($this->_mixins[$class]); + $index = array_search($class, $this->_mixin_priorities); + if ($index !== FALSE) { + unset($this->_mixin_priorities[$index]); + foreach ($this->_disabled_mixins as $method => $disabled_mixins) { + $index = array_search($class, $disabled_mixins); + if (is_int($index)) unset($this->_disabled_mixins[$method][$index]); + } + $this->_flush_cache(); + } + + } + + + function remove_mixin($class) + { + $this->del_mixin($class); + } + + + /** + * Replaces an extension methods with that of another class. + * @param string $method + * @param string $class + * @param string $new_method + */ + function replace_method($method, $class, $new_method=FALSE) + { + if (!$new_method) $new_method = $method; + $this->_overrides[$method] = $class; + $this->add_pre_hook($method, "replacement_{$method}_{$class}_{$new_method}", $class, $new_method); + $this->_flush_cache(); + + } + + + /** + * Restores a method that was replaced by a former call to replace_method() + * @param string $method + */ + function restore_method($method) + { + $class = $this->_overrides[$method]; + unset($this->_overrides[$method]); + $this->del_pre_hook($method, $class); + $this->_flush_cache(); + } + + + /** + * Returns the Mixin which provides the specified method + * @param string $method + */ + function get_mixin_providing($method, $return_obj=FALSE) + { + $retval = FALSE; + + // If it's cached, then we've got it easy + if ($this->is_cached($method)) { + + $object = $this->_method_map_cache[$method]; + $retval = get_class($object); + } + + // Otherwise, we have to look it up + else { + foreach ($this->get_mixin_priorities($method) as $klass) { + $object = $this->_instantiate_mixin($klass); + if (method_exists($object, $method)) { + $retval = $return_obj ? $object : get_class($object); + $this->_cache_method($object, $method); + break; + } + } + } + + return $retval; + } + + + /** + * When an ExtensibleObject is instantiated, it checks whether all + * the registered extensions combined provide the implementation as required + * by the interfaces registered for this object + */ + function _enforce_interface_contracts() + { + $errors = array(); + + foreach ($this->_interfaces as $i) { + $r = new ReflectionClass($i); + foreach ($r->getMethods() as $m) { + if (!$this->has_method($m->name)) { + $klass = $this->get_class_name($this); + $errors[] = "`{$klass}` does not implement `{$m->name}` as required by `{$i}`"; + } + } + } + + if ($errors) throw new Exception(implode(". ", $errors)); + } + + + /** + * Implement a defined interface. Does the same as the 'implements' keyword + * for PHP, except this method takes into account extensions + * @param string $interface + */ + function implement($interface) + { + $this->_interfaces[] = $interface; + } + + + /** + * Adds a hook that gets executed before every method call + * @param string $name + * @param string $class + * @param string $hook_method + */ + function add_global_pre_hook($name, $class, $hook_method) + { + $this->add_pre_hook('*', $name, $class, $hook_method); + } + + /** + * Adds a hook that gets executed after every method call + * + * @param string $name + * @param string $class + * @param string $hook_method + */ + function add_global_post_hook($name, $class, $hook_method) + { + $this->add_pre_hook('*', $name, $class, $hook_method); + } + + + /** + * Adds a hook that will get executed before a particular method call + * @param string $method + * @param string $name + * @param string $class + * @param string $hook_method + */ + function add_pre_hook($method, $name, $class, $hook_method=FALSE) + { + if (!$hook_method) $hook_method = $method; + + // Is this a global pre hook? + if ($method == '*') { + $this->_global_pre_hooks[$name] = array( + new $class, + $hook_method + ); + } + + // This is a method-specific pre hook + else { + if (!isset($this->_pre_hooks[$method])) { + $this->_pre_hooks[$method] = array(); + } + + $this->_pre_hooks[$method][$name] = array( + new $class, + $hook_method + ); + } + } + + + /** + * Adds a hook to be called after a particular method call + * @param string $method + * @param string $hook_name + * @param string $class + * @param string $hook_method + */ + function add_post_hook($method, $hook_name, $class, $hook_method=FALSE) + { + // Is this a global post hook? + if ($method == '*') { + $this->_post_hooks[$hook_name] = array( + new $class, + $hook_method + ); + } + + // This is a method-specific post hook + else { + if (!$hook_method) $hook_method = $method; + + if (!isset($this->_post_hooks[$method])) { + $this->_post_hooks[$method] = array(); + } + + $this->_post_hooks[$method][$hook_name] = array( + new $class, + $hook_method + ); + } + } + + + /** + * Deletes a hook that's executed before the specified method + * @param string $method + * @param string $name + */ + function del_pre_hook($method, $name) + { + + unset($this->_pre_hooks[$method][$name]); + } + + /** + * Deletes all pre hooks registered + **/ + function del_pre_hooks($method=FALSE) + { + if (!$method) + $this->_pre_hooks = array(); + else + unset($this->_pre_hooks[$method]); + } + + + /** + * Deletes a hook that's executed after the specified method + * @param string $method + * @param string $name + */ + function del_post_hook($method, $name) + { + unset($this->_post_hooks[$method][$name]); + } + + /** + * Deletes all post hooks + */ + function del_post_hooks($method=FALSE) + { + if (!$method) + $this->_post_hooks = array(); + else + unset($this->_post_hooks[$method]); + } + + + /** + * Wraps a class within an ExtensibleObject class. + * @param string $klass + * @param array callback, used to tell ExtensibleObject how to instantiate + * the wrapped class + */ + function wrap($klass, $callback=FALSE, $args=array()) + { + if ($callback) { + $this->_wrapped_instance = call_user_func($callback, $args); + } + else { + $this->_wrapped_instance = new $klass(); + } + } + + + /** + * Determines if the ExtensibleObject is a wrapper for an existing class + */ + function is_wrapper() + { + return $this->_wrapped_instance ? TRUE : FALSE; + } + + + /** + * Returns the name of the class which this ExtensibleObject wraps + * @return object + */ + function &get_wrapped_instance() + { + return $this->_wrapped_instance; + } + + + /** + * Returns TRUE if the wrapped class provides the specified method + */ + function wrapped_class_provides($method) + { + $retval = FALSE; + + // Determine if the wrapped class is another ExtensibleObject + if (method_exists($this->_wrapped_instance, 'has_method')) { + $retval = $this->_wrapped_instance->has_method($method); + } + elseif (method_exists($this->_wrapped_instance, $method)){ + $retval = TRUE; + } + + return $retval; + } + + + /** + * Provides a means of calling static methods, provided by extensions + * @param string $method + * @return mixed + */ + static function get_class() + { + // Note: this function is static so $this is not defined + $klass = self::get_class_name(); + $obj = new $klass(__EXTOBJ_STATIC__); + return $obj; + } + + + /** + * Gets the name of the ExtensibleObject + * @return string + */ + static function get_class_name($obj = null) + { + if ($obj) + return get_class($obj); + elseif (function_exists('get_called_class')) + return get_called_class(); + else + return get_class(); + } + + /** + * Gets a property from a wrapped object + * @param string $property + * @return mixed + */ + function &__get($property) + { + $retval = NULL; + if ($this->is_wrapper()) { + try { + $reflected_prop = new ReflectionProperty($this->_wrapped_instance, $property); + + // setAccessible method is only available for PHP 5.3 and above + if (method_exists($reflected_prop, 'setAccessible')) { + $reflected_prop->setAccessible(TRUE); + } + + $retval = $reflected_prop->getValue($this->_wrapped_instance); + } + catch (ReflectionException $ex) + { + $retval = $this->_wrapped_instance->$property; + } + } + + return $retval; + } + + /** + * Determines if a property (dynamic or not) exists for the object + * @param string $property + * @return boolean + */ + function __isset($property) + { + $retval = FALSE; + + if (property_exists($this, $property)) { + $retval = isset($this->$property); + } + elseif ($this->is_wrapper() && property_exists($this->_wrapped_instance, $property)) { + $retval = isset($this->$property); + } + + return $retval; + } + + + /** + * Sets a property on a wrapped object + * @param string $property + * @param mixed $value + * @return mixed + */ + function &__set($property, $value) + { + $retval = NULL; + if ($this->is_wrapper()) { + try { + $reflected_prop = new ReflectionProperty($this->_wrapped_instance, $property); + + // The property must be accessible, but this is only available + // on PHP 5.3 and above + if (method_exists($reflected_prop, 'setAccessible')) { + $reflected_prop->setAccessible(TRUE); + } + + $retval = &$reflected_prop->setValue($this->_wrapped_instance, $value); + } + + // Sometimes reflection can fail. In that case, we need + // some ingenuity as a failback + catch (ReflectionException $ex) { + $this->_wrapped_instance->$property = $value; + $retval = &$this->_wrapped_instance->$property; + } + + } + else { + $this->$property = $value; + $retval = &$this->$property; + } + return $retval; + } + + + /** + * Finds a method defined by an extension and calls it. However, execution + * is a little more in-depth: + * 1) Execute all global pre-hooks and any pre-hooks specific to the requested + * method. Each method call has instance properties that can be set by + * other hooks to modify the execution. For example, a pre hook can + * change the 'run_pre_hooks' property to be false, which will ensure that + * all other pre hooks will NOT be executed. + * 2) Runs the method. Checks whether the path to the method has been cached + * 3) Execute all global post-hooks and any post-hooks specific to the + * requested method. Post hooks can access method properties as well. A + * common usecase is to return the value of a post hook instead of the + * actual method call. To do this, set the 'return_value' property. + * @param string $method + * @param array $args + * @return mixed + */ + function __call($method, $args) + { + $this->clear_method_properties($method, $args); + + // Run pre hooks? + if ($this->are_pre_hooks_enabled($method) && $this->get_method_property($method, self::METHOD_PROPERTY_RUN_PRE_HOOKS)) { + + // Combine global and method-specific pre hooks + $prehooks = $this->_global_pre_hooks; + if (isset($this->_pre_hooks[$method])) { + $prehooks = array_merge($prehooks, $this->_pre_hooks[$method]); + } + + // Apply each hook + foreach ($prehooks as $hook_name => $hook) { + $method_args = $this->get_method_property($method, 'arguments', $args); + $this->_run_prehook( + $hook_name, + $method, + $hook[0], + $hook[1], + $method_args + ); + } + } + + // Are we to run the actual method? A pre hook might have told us + // not to + if ($this->get_method_property($method, self::METHOD_PROPERTY_RUN) && !isset($this->_overrides[$method])) + { + if (($this->get_mixin_providing($method))) { + $this->set_method_property( + $method, + self::METHOD_PROPERTY_RETURN_VALUE, + $this->_exec_cached_method($method, $this->get_method_property($method, 'arguments')) + ); + } + + // This is NOT a wrapped class, and no extensions provide the method + else { + // Perhaps this is a wrapper and the wrapped object + // provides this method + if ($this->is_wrapper() && $this->wrapped_class_provides($method)) + { + $object = $this->add_wrapped_instance_method($method); + $this->set_method_property( + $method, + self::METHOD_PROPERTY_RETURN_VALUE, + call_user_func_array( + array(&$object, $method), + $this->get_method_property($method, 'arguments') + ) + ); + } + elseif ($this->_throw_error) { + throw new Exception("`{$method}` not defined for " . get_class()); + } + else { + return FALSE; + } + } + } + + // Are we to run post hooks? A pre hook might have told us not to + if ($this->are_post_hooks_enabled($method) && $this->get_method_property($method, self::METHOD_PROPERTY_RUN_POST_HOOKS)) { + + // Combine global and method-specific post hooks + $posthooks = $this->_global_post_hooks; + if (isset($this->_post_hooks[$method])) { + $posthooks = array_merge($posthooks, $this->_post_hooks[$method]); + } + + // Apply each hook + foreach ($posthooks as $hook_name => $hook) { + $method_args = $this->get_method_property($method, 'arguments', $args); + $this->_run_post_hook( + $hook_name, + $method, + $hook[0], + $hook[1], + $method_args + ); + } + } + + return $this->get_method_property($method, self::METHOD_PROPERTY_RETURN_VALUE); + } + + + /** + * Adds the implementation of a wrapped instance method to the ExtensibleObject + * @param string $method + * @return Mixin + */ + function add_wrapped_instance_method($method) + { + $retval = $this->get_wrapped_instance(); + + // If the wrapped instance is an ExtensibleObject, then we don't need + // to use reflection + if (!is_subclass_of($this->get_wrapped_instance(), 'ExtensibleObject')) { + $func = new ReflectionMethod($this->get_wrapped_instance(), $method); + + // Get the entire method definition + $filename = $func->getFileName(); + $start_line = $func->getStartLine() - 1; // it's actually - 1, otherwise you wont get the function() block + $end_line = $func->getEndLine(); + $length = $end_line - $start_line; + $source = file($filename); + $body = implode("", array_slice($source, $start_line, $length)); + $body = preg_replace("/^\s{0,}private|protected\s{0,}/", '', $body); + + // Change the context + $body = str_replace('$this', '$this->object', $body); + $body = str_replace('$this->object->object', '$this->object', $body); + $body = str_replace('$this->object->$', '$this->object->', $body); + + // Define method for mixin + $wrapped_klass = get_class($this->get_wrapped_instance()); + $mixin_klass = "Mixin_AutoGen_{$wrapped_klass}_{$method}"; + if (!class_exists($mixin_klass)) { + eval("class {$mixin_klass} extends Mixin{ + {$body} + }"); + } + $this->add_mixin($mixin_klass); + $retval = $this->_instantiate_mixin($mixin_klass); + $this->_cache_method($retval, $method); + + } + + return $retval; + } + + + /** + * Provides an alternative way to call methods + */ + function call_method($method, $args=array()) + { + if (method_exists($this, $method)) + { + $reflection = new ReflectionMethod($this, $method); + return $reflection->invokeArgs($this, array($args)); + } + else { + return $this->__call($method, $args); + } + } + + + /** + * Returns TRUE if the method in particular has been cached + * @param string $method + * @return type + */ + function is_cached($method) + { + return isset($this->_method_map_cache[$method]); + } + + + /** + * Caches the path to the extension which provides a particular method + * @param string $object + * @param string $method + */ + function _cache_method($object, $method) + { + $this->_method_map_cache[$method] = $object; + } + + + /** + * Gets a list of mixins by their priority, excluding disabled mixins + * @param string $method + * @return array + */ + function get_mixin_priorities($method) + { + $retval = array(); + foreach ($this->_mixin_priorities as $mixin) { + if ($this->is_mixin_disabled($method, $mixin)) + continue; + $retval[] = $mixin; + } + return $retval; + } + + + /** + * Determines if a mixin is disabled for a particular method + * @param string $method + * @param string $mixin + * @return boolean + */ + function is_mixin_disabled($method, $mixin) + { + $retval = FALSE; + if (isset($this->_disabled_mixins[$method])) + if (in_array($mixin, $this->_disabled_mixins[$method]) !== FALSE) + $retval = TRUE; + return $retval; + } + + + /** + * Flushes the method cache + */ + function _flush_cache() + { + $this->_method_map_cache = array(); + } + + + /** + * Returns TRUE if the object provides the particular method + * @param string $method + * @return boolean + */ + function has_method($method) + { + $retval = FALSE; + + // Have we looked up this method before successfully? + if ($this->is_cached($method)) { + $retval = TRUE; + } + + // Is this a local PHP method? + elseif (method_exists($this, $method)) { + $retval = TRUE; + } + + // Is a mixin providing this method + elseif ($this->get_mixin_providing($method)) { + $retval = TRUE; + } + + elseif ($this->is_wrapper() && $this->wrapped_class_provides($method)) { + $retval = TRUE; + } + + return $retval; + } + + + /** + * Runs a particular pre hook for the specified method. The return value + * is assigned to the "[hook_name]_prehook_retval" method property + * @param string $hook_name + * @param string $method_called + * @param Ext $object + * @param string $hook_method + * + */ + function _run_prehook($hook_name, $method_called, $object, $hook_method, &$args) + { + $object->object = &$this; + $object->method_called = $method_called; + + // Are we STILL to execute pre hooks? A pre-executed hook might have changed this + if ($this->get_method_property($method_called, 'run_pre_hooks')) + { + $reflection = new ReflectionMethod($object, $hook_method); + $this->set_method_property( + $method_called, + $hook_name . '_prehook_retval', + $reflection->invokeArgs($object, $args) + ); + } + } + + /** + * Runs the specified post hook for the specified method + * @param string $hook_name + * @param string $method_called + * @param Ext $object + * @param string $hook_method + */ + function _run_post_hook($hook_name, $method_called, $object, $hook_method, &$args) + { + $object->object = &$this; + $object->method_called = $method_called; + + // Are we STILL to execute post hooks? A post-executed hook might have changed this + if ($this->get_method_property($method_called, 'run_post_hooks')) + { + $reflection = new ReflectionMethod($object, $hook_method); + $this->set_method_property( + $method_called, + $hook_name . '_post_hook_retval', + $reflection->invokeArgs($object, $args) + ); + } + } + + /** + * Returns TRUE if a pre-hook has been registered for the specified method + * @param string $method + * @return boolean + */ + function have_prehook_for($method, $name = null) + { + if (is_null($name)) { + return isset($this->_pre_hooks[$method]); + } else { + return isset($this->_pre_hooks[$method][$name]); + } + + } + + + /** + * Returns TRUE if a posthook has been registered for the specified method + * @param string $method + * @return boolean + */ + function have_posthook_for($method, $name = null) + { + $retval = FALSE; + + if (isset($this->_post_hooks[$method])) { + if (!$name) $retval = TRUE; + else $retval = isset($this->_post_hooks[$method][$name]); + } + + return $retval; + } + + /** + * Disables a mixin for a particular method. This ensures that even though + * mixin provides a particular method, it won't be used to provide the + * implementation + * @param string $method + * @param string $klass + */ + function disable_mixin($method, $klass) + { + unset($this->_method_map_cache[$method]); + if (!isset($this->_disabled_mixins[$method])) { + $this->_disabled_mixins[$method] = array(); + } + $this->_disabled_mixins[$method][] = $klass; + } + + + /** + * Enable a mixin for a particular method, that was previously disabled + * @param string $method + * @param string $klass + */ + function enable_mixin($method, $klass) + { + unset($this->_method_map_cache[$method]); + if (isset($this->_disabled_mixins[$method])) { + $index = array_search($klass, $this->_disabled_mixins[$method]); + if ($index !== FALSE) unset($this->_disabled_mixins[$method][$index]); + } + } + + + /** + * Gets a list of mixins that are currently disabled for a particular method + * @see disable_mixin() + * @param string $method + * @return array + */ + function get_disabled_mixins_for($method) + { + $retval = array(); + if (isset($this->_disabled_mixins[$method])) { + $retval = $this->_disabled_mixins[$method]; + } + return $retval; + } + + + /** + * Executes a cached method + * @param string $method + * @param array $args + * @return mixed + */ + function _exec_cached_method($method, $args=array()) + { + $object = $this->_method_map_cache[$method]; + $object->object = &$this; + $reflection = new ReflectionMethod($object, $method); + return $reflection->invokeArgs($object, $args); + } + + + /** + * Sets the value of a method property + * @param string $method + * @param string $property + * @param mixed $value + */ + function set_method_property($method, $property, $value) + { + if (!isset($this->_method_properties[$method])) { + $this->_method_properties[$method] = array(); + } + + return $this->_method_properties[$method][$property] = $value; + } + + + /** + * Gets the value of a method property + * @param string $method + * @param string $property + */ + function get_method_property($method, $property, $default=NULL) + { + $retval = NULL; + + if (isset($this->_method_properties[$method][$property])) { + $retval = $this->_method_properties[$method][$property]; + } + + if (is_null($retval)) $retval=$default; + + return $retval; + } + + + /** + * Clears all method properties to have their default values. This is called + * before every method call (before pre-hooks) + * @param string $method + */ + function clear_method_properties($method, $args=array()) + { + $this->_method_properties[$method] = array( + 'run' => TRUE, + 'run_pre_hooks' => TRUE, + 'run_post_hooks' => TRUE, + 'arguments' => $args + ); + } + + + /** + * Returns TRUE if the ExtensibleObject has decided to implement a + * particular interface + * @param string $interface + * @return boolean + */ + function implements_interface($interface) + { + return in_array($interface, $this->_interfaces); + } + + function get_class_definition_dir($parent=FALSE) + { + return dirname($this->get_class_definition_file($parent)); + } + + function get_class_definition_file($parent=FALSE) + { + $klass = $this->get_class_name($this); + $r = new ReflectionClass($klass); + if ($parent) { + $parent = $r->getParentClass(); + return $parent->getFileName(); + } + return $r->getFileName(); + } + + /** + * Returns get_class_methods() optionally limited by Mixin + * + * @param string (optional) Only show functions provided by a mixin + * @return array Results from get_class_methods() + */ + public function get_instance_methods($name = null) + { + if (is_string($name)) + { + $methods = array(); + foreach ($this->_method_map_cache as $method => $mixin) { + if ($name == get_class($mixin)) + { + $methods[] = $method; + } + } + return $methods; + } else { + $methods = get_class_methods($this); + foreach ($this->_mixins as $mixin) { + $methods = array_unique(array_merge($methods, get_class_methods($mixin))); + sort($methods); + } + + return $methods; + } + } +} + + +/** + * An mixin provides methods for an ExtensibleObject to use + */ +class Mixin extends PopeHelpers +{ + /** + * The ExtensibleObject which called the extension's method + * @var ExtensibleObject + */ + var $object; + + /** + * The name of the method called on the ExtensibleObject + * @var type + */ + var $method_called; + + /** + * There really isn't any concept of 'parent' method. An ExtensibleObject + * instance contains an ordered array of extension classes, which provides + * the method implementations for the instance to use. Suppose that an + * ExtensibleObject has two extension, and both have the same methods.The + * last extension appears to 'override' the first extension. So, instead of calling + * a 'parent' method, we're actually just calling an extension that was added sooner than + * the one that is providing the current method implementation. + */ + function call_parent($method) + { + $retval = NULL; + + // To simulate a 'parent' call, we remove the current extension from the + // ExtensibleObject that is providing the method's implementation, re-emit + // the call on the instance to trigger the implementation from the previously + // added extension, and then restore things by re-adding the current extension. + // It's complicated, but it works. + + // We need to determine the name of the extension. Because PHP 5.2 is + // missing get_called_class(), we have to look it up in the backtrace + $backtrace = debug_backtrace(); + $klass = get_class($backtrace[0]['object']); + + // Perform the routine described above... + $this->object->disable_pre_hooks($method); + $this->object->disable_post_hooks($method); + $this->object->disable_mixin($method, $klass); + + // Call anchor + $args = func_get_args(); + + // Remove $method parameter + array_shift($args); + $retval = $this->object->call_method($method, $args); + + // Re-enable hooks + $this->object->enable_pre_hooks($method); + $this->object->enable_post_hooks($method); + $this->object->enable_mixin($method, $klass); + + return $retval; + } + + /** + * Although is is preferrable to call $this->object->method(), sometimes + * it's nice to use $this->method() instead. + * @param string $method + * @param array $args + * @return mixed + */ + function __call($method, $args) + { + if ($this->object->has_method($method)) { + return call_user_func_array(array(&$this->object, $method), $args); + } + } + + /** + * Although extensions can have state, it's probably more desirable to maintain + * the state in the parent object to keep a sane environment + * @param string $property + * @return mixed + */ + function __get($property) + { + return $this->object->$property; + } +} + +/** + * An extension which has the purpose of being used as a hook + */ +class Hook extends Mixin +{ + // Similiar to a mixin's call_parent method. + // If a hook needs to call the method that it applied the + // Hook n' Anchor pattern to, then this method should be called + function call_anchor() + { + // Disable hooks, so that we call the anchor point + $this->object->disable_pre_hooks($this->method_called); + $this->object->disable_post_hooks($this->method_called); + + // Call anchor + $args = func_get_args(); + $retval = $this->object->call_method($this->method_called, $args); + + // Re-enable hooks + $this->object->enable_pre_hooks($this->method_called); + $this->object->enable_post_hooks($this->method_called); + + return $retval; + } + + /** + * Provides an alias for call_anchor, as there's no parent + * to call in the context of a hook. + */ + function call_parent() + { + $args = func_get_args(); + return call_user_func_array( + array(&$this, 'call_anchor'), + $args + ); + } +}; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php new file mode 100644 index 000000000..b054d3f38 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component.php @@ -0,0 +1,10 @@ +<?php + +/** + * Provides a generic interface to be registered with an adapter to modify any + * component (within a particular context, if desired) + */ +interface I_Component +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php new file mode 100644 index 000000000..57cf3f2b6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/interface.component_factory.php @@ -0,0 +1,6 @@ +<?php + +interface I_Component_Factory +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php b/wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php new file mode 100644 index 000000000..cfa5c5c5e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/pope/lib/interface.pope_module.php @@ -0,0 +1,6 @@ +<?php + +interface I_Pope_Module +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php new file mode 100644 index 000000000..0cac1bef7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/class.nextgen_product_installer.php @@ -0,0 +1,13 @@ +<?php + +class C_NextGen_Product_Installer +{ + function uninstall($hard) + { + foreach (P_Photocrati_NextGen::$modules as $module_name) { + if (($handler = C_Photocrati_Installer::get_handler_instance($module_name))) { + if (method_exists($handler, 'uninstall')) $handler->uninstall($hard); + } + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt new file mode 100644 index 000000000..7c4bfc37d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/README.txt @@ -0,0 +1,30 @@ +AJAX MODULE +====================== + + == Introduction == +------------------- + +This module provides a means for executing AJAX actions through the C_Ajax_Controller class. +This controller is registed as a route, trigged by "/photocrati_ajax" It's designed in mind +with the intention that other modules will adapt this controller to provide custom AJAX +actions. + +This module also adds some client-side variables to assist with executing your AJAX actions: +=> photocrati_ajax.url, the url used to post your AJAX requests to +=> photacrati_ajax.wp_site_url, the url of the WordPress site + +To call an AJAX method using jQuery, you'd do the following: + + jQuery.post(photocrati_ajax.url, {action: "get_gallery", id: 1}, function(response){ + if (typeof response != 'object) response = JSON.parse(response); + }); + +The above AJAX request will execute C_Ajax_Controller->get_gallery_action(), which is +expected to return valid JSON (even if there is an error) + + +== Caveats == +------------- + +This module does not currently have any built-in security mechanisms. Any actions you +mixin using an adapter need to perform their own authorization checks. \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php new file mode 100644 index 000000000..09ec69892 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_routes.php @@ -0,0 +1,21 @@ +<?php + +class A_Ajax_Routes extends Mixin +{ + function initialize() + { + // We need to add the route after the router has been fully instantiated + $this->object->add_pre_hook( + 'serve_request', + get_class(), + get_class(), + 'add_ajax_routes' + ); + } + + function add_ajax_routes() + { + $app = $this->object->create_app('/photocrati_ajax'); + $app->route('/', 'I_Ajax_Controller#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php new file mode 100644 index 000000000..01734b6e6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/adapter.ajax_settings.php @@ -0,0 +1,15 @@ +<?php + +class A_Ajax_Settings extends Mixin +{ + // TODO: Investigate this code. The router uses the I_Settings_Manager utility, but it looks like the.. + // I_Settings_Manager utility requires the router. Ugh. + function initialize() + { + $router = $this->get_registry()->get_utility('I_Router'); + $slug = 'photocrati_ajax'; + $this->object->set_default('ajax_slug', $slug); + $this->object->set_default('ajax_url', $router->get_url($slug, FALSE)); + $this->object->set_default('ajax_js_url', $router->get_url($slug.'/js', FALSE)); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php new file mode 100644 index 000000000..a426c8aaa --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_controller.php @@ -0,0 +1,53 @@ +<?php + +class C_Ajax_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->implement('I_Ajax_Controller'); + } + + function index_action() + { + // Start an output buffer to avoid displaying any PHP warnings/errors + ob_start(); + + // Inform the MVC framework what type of content we're returning + $this->set_content_type('json'); + + // Get the action requested & find and execute the related method + if (($action = $this->param('action'))) { + $method = "{$action}_action"; + if ($this->has_method($method)) { + $retval = $this->call_method($method); + } + } + + // If no retval has been set, then return an error + if (!$retval) + $retval = array('error' => 'Not a valid AJAX action'); + + // Flush the buffer + ob_end_clean(); + + // Return the JSON to the browser + echo json_encode($retval); + } + + /** + * Returns an instance of this class + * @param string $context + * @return C_Ajax_Controller + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php new file mode 100644 index 000000000..01ba549dc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_installer.php @@ -0,0 +1,13 @@ +<?php + +class C_Ajax_Installer +{ + function install() + { + // Delete cached values. Needed for 2.0.7 and less + $settings = C_NextGen_Settings::get_instance(); + $settings->delete('ajax_url'); + $settings->delete('ajax_slug'); + $settings->delete('ajax_js_url'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php new file mode 100644 index 000000000..3fcec3073 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/class.ajax_option_handler.php @@ -0,0 +1,29 @@ +<?php + +class C_Ajax_Option_Handler +{ + private $slug = 'photocrati_ajax'; + + function get_router() + { + return C_Component_Registry::get_instance()->get_utility('I_Router'); + } + + function get($key, $default=NULL) + { + $retval = $default; + + switch($key) { + case 'ajax_slug': + $retval = $this->slug; + break; + case 'ajax_url': + $retval = $this->get_router()->get_url($this->slug, FALSE); + break; + case 'ajax_js_url': + $retval = $this->get_router()->get_static_url('photocrati-ajax#ajax.js'); + break; + } + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php new file mode 100644 index 000000000..921736297 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/interface.ajax_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_Ajax_Controller extends I_MVC_Controller +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php new file mode 100644 index 000000000..3fc151f4a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/module.ajax.php @@ -0,0 +1,88 @@ +<?php + +/* + { + Module: photocrati-ajax, + Depends: { photocrati-mvc } + } + */ +class M_Ajax extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-ajax', + 'AJAX', + 'Provides AJAX functionality', + '0.4', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.ajax_option_handler.php'); + C_NextGen_Settings::add_option_handler('C_Ajax_Option_Handler', array( + 'ajax_slug', + 'ajax_url', + 'ajax_js_url' + )); + + include_once('class.ajax_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Ajax_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Router', 'A_Ajax_Routes'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Ajax_Controller', 'C_Ajax_Controller'); + + } + + /** + * Hooks into the WordPress framework + */ + function _register_hooks() + { + add_action('init', array(&$this, 'enqueue_scripts')); + } + + + /** + * Loads a single script to provide the photocrati_ajax settings to the web browser + */ + function enqueue_scripts() + { + $settings = C_NextGen_Settings::get_instance(); + $router = $this->get_registry()->get_utility('I_Router'); + + $site_url = $router->get_base_url(TRUE); + $home_url = $router->get_base_url(); + + wp_register_script('photocrati_ajax', $settings->ajax_js_url); + wp_enqueue_script('photocrati_ajax'); + + $vars = array( + 'url' => $router->get_url($settings->ajax_slug, FALSE), + 'wp_site_url' => $home_url, + 'wp_site_static_url' => str_replace('/index.php', '', $site_url) + ); + wp_localize_script('photocrati_ajax', 'photocrati_ajax', $vars); + } + + function get_type_list() + { + return array( + 'A_Ajax_Routes' => 'adapter.ajax_routes.php', + 'C_Ajax_Installer' => 'class.ajax_installer.php', + 'C_Ajax_Controller' => 'class.ajax_controller.php', + 'I_Ajax_Controller' => 'interface.ajax_controller.php', + 'M_Ajax' => 'module.ajax.php' + ); + } +} + +new M_Ajax(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js new file mode 100644 index 000000000..795fa4385 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ajax/static/ajax.js @@ -0,0 +1 @@ +// ajax.js is intentionally empty \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php new file mode 100644 index 000000000..e548fc3bd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_ajax.php @@ -0,0 +1,235 @@ +<?php + +/** + * Provides AJAX actions for the Attach To Post interface + * TODO: Need to add authorization checks to each action + */ +class A_Attach_To_Post_Ajax extends Mixin +{ + var $attach_to_post = NULL; + + /** + * Retrieves the attach to post controller + */ + function get_attach_to_post() + { + if (is_null($this->attach_to_post)) + $this->attach_to_post = $this->object->get_registry()->get_utility('I_Attach_To_Post_Controller'); + return $this->attach_to_post; + } + + + /** + * Returns a list of image sources for the Attach to Post interface + * @return type + */ + function get_attach_to_post_sources_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $response['sources'] = $this->get_attach_to_post()->get_sources(); + } + + return $response; + } + + + /** + * Gets existing galleries + * @return array + */ + function get_existing_galleries_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + + // We return the total # of galleries, so that the client can make + // pagination requests + $mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $response['total'] = $mapper->count(); + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset'] = $offset = $offset ? $offset : 0; + + // Get the galleries + $mapper->select(); + if ($limit) $mapper->limit($limit, $offset); + $response['items'] = $mapper->run_query(); + } + + return $response; + } + + + /** + * Gets existing albums + * @return array + */ + function get_existing_albums_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + + // We return the total # of albums, so that the client can make pagination requests + $mapper = $this->object->get_registry()->get_utility('I_Album_Mapper'); + $response['total'] = $mapper->count(); + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset']= $offset = $offset ? $offset : 0; + + // Get the albums + $mapper->select(); + if ($limit) $mapper->limit($limit, $offset); + $response['items'] = $mapper->run_query(); + } + + return $response; + } + + /** + * Gets existing image tags + * @return array + */ + function get_existing_image_tags_action() + { + $response = array(); + + if ($this->object->validate_ajax_request()) + { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset'] = $offset = $offset ? $offset : 0; + $response['items'] = array(); + $params = array( + 'number' => $limit, + 'offset' => $offset, + 'fields' => 'names' + ); + foreach (get_terms('ngg_tag', $params) as $term) { + $response['items'][] = array( + 'id' => $term, + 'title' => $term, + 'name' => $term + ); + } + $response['total'] = count(get_terms('ngg_tag', array('fields' => 'ids'))); + } + + return $response; + } + + /** + * Gets entities (such as images) for a displayed gallery (attached gallery) + */ + function get_displayed_gallery_entities_action() + { + $response = array(); + if ($this->object->validate_ajax_request() && ($params = $this->object->param('displayed_gallery'))) { + $limit = $this->object->param('limit'); + $offset = $this->object->param('offset'); + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery'); + foreach ($params as $key => $value) $displayed_gallery->$key = $value; + $response['limit'] = $limit = $limit ? $limit : 0; + $response['offset'] = $offset = $offset ? $offset : 0; + $response['total'] = $displayed_gallery->get_entity_count('both'); + $response['items'] = $displayed_gallery->get_entities($limit, $offset, FALSE, 'both'); + $controller = $this->object->get_registry()->get_utility('I_Display_Type_Controller'); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $image_mapper = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $settings = C_NextGen_Settings::get_instance(); + foreach ( $response['items'] as &$entity) { + $image = $entity; + if (in_array($displayed_gallery->source, array('album','albums'))) { + // Set the alttext of the preview image to the + // name of the gallery or album + if (($image = $image_mapper->find($entity->previewpic))) { + if ($entity->is_album) + $image->alttext = _('Album: ').$entity->name; + else + $image->alttext = _('Gallery: ').$entity->title; + } + + // Prefix the id of an album with 'a' + if ($entity->is_album) { + $id = $entity->{$entity->id_field}; + $entity->{$entity->id_field} = 'a'.$id; + } + } + + // Get the thumbnail + $entity->thumb_url = $storage->get_image_url($image, 'thumb'); + $entity->thumb_html = $storage->get_image_html($image, 'thumb'); + $entity->max_width = $settings->thumbwidth; + $entity->max_height = $settings->thumbheight; + } + } + else { + $response['error'] = _('Missing parameters'); + } + return $response; + } + + + /** + * Saves the displayed gallery + */ + function save_displayed_gallery_action() + { + $response = array(); + $mapper = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + + // Do we have fields to work with? + if ($this->object->validate_ajax_request(true) && ($params = $this->object->param('displayed_gallery'))) { + + // Existing displayed gallery ? + if (($id = $this->object->param('id'))) { + $displayed_gallery = $mapper->find($id, TRUE); + if ($displayed_gallery) { + foreach ($params as $key => $value) $displayed_gallery->$key = $value; + } + } + else { + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery', $mapper, $params); + } + + // Save the changes + if ($displayed_gallery) { + if ($displayed_gallery->save()) $response['displayed_gallery'] = $displayed_gallery->get_entity(); + else $response['validation_errors'] = $this->get_attach_to_post()->show_errors_for($displayed_gallery, TRUE); + } + else + { + $response['error'] = _('Displayed gallery does not exist'); + } + } + else $response['error'] = _('Invalid request'); + + return $response; + } + + function validate_ajax_request($check_token = false) + { + $valid_request = false; + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_token = $security->get_request_token('nextgen_edit_displayed_gallery'); + $sec_actor = $security->get_current_actor(); + + if ($sec_actor->is_allowed('nextgen_edit_displayed_gallery') && (!$check_token || $sec_token->check_current_request())) + { + $valid_request = true; + } + + return $valid_request; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php new file mode 100644 index 000000000..d3d9a99be --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.attach_to_post_routes.php @@ -0,0 +1,24 @@ +<?php + +class A_Attach_To_Post_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds Attach To Post Routes', + get_class(), + 'add_attach_to_post_routes' + ); + } + + function add_attach_to_post_routes() + { + $app = $this->object->create_app('/nextgen-attach_to_post'); + $app->rewrite('/preview/{id}', '/preview/id--{id}'); + $app->rewrite('/display_tab_js/{id}', '/display_tab_js/id--{id}'); + $app->route('/preview', 'I_Attach_To_Post_Controller#preview'); + $app->route('/display_tab_js', 'I_Attach_To_Post_Controller#display_tab_js'); + $app->route('/', 'I_Attach_To_Post_Controller#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php new file mode 100644 index 000000000..400850ae9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/adapter.gallery_storage_frame_event.php @@ -0,0 +1,39 @@ +<?php + +class A_Gallery_Storage_Frame_Event extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'generate_thumbnail', + 'After a new thumbnail has been generated, emits a frame event', + get_class(), + 'emit_modified_thumbnail_event' + ); + } + + function emit_modified_thumbnail_event($image) + { + $controller = $this->get_registry()->get_utility('I_Display_Type_Controller'); + $events = $this->get_registry()->get_utility('I_Frame_Event_Publisher', 'attach_to_post'); + $mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + $storage = $this->get_registry()->get_utility('I_Gallery_Storage'); + $app = $this->get_registry()->get_utility('I_Router')->get_routed_app(); + + $image = $mapper->find($image); + $image->thumb_url = $controller->set_param_for( + $app->get_routed_url(TRUE), + 'timestamp', + time(), + NULL, + $storage->get_thumb_url($image) + ); + + $events->add_event( + array( + 'event' => 'thumbnail_modified', + 'image' => $image, + ) + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php new file mode 100644 index 000000000..321c10584 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_controller.php @@ -0,0 +1,295 @@ +<?php + +class C_Attach_Controller extends C_NextGen_Admin_Page_Controller +{ + static $_instances = array(); + var $_displayed_gallery; + + static function &get_instance($context) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + function define($context) + { + if (!is_array($context)) $context = array($context); + array_unshift($context, 'ngg_attach_to_post'); + parent::define($context); + $this->add_mixin('Mixin_Attach_To_Post'); + $this->add_mixin('Mixin_Attach_To_Post_Display_Tab'); + $this->implement('I_Attach_To_Post_Controller'); + } + + function initialize() + { + parent::initialize(); + $this->_load_displayed_gallery(); + } +} + +class Mixin_Attach_To_Post extends Mixin +{ + function _load_displayed_gallery() + { + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + if (!($this->object->_displayed_gallery = $mapper->find($this->object->param('id'), TRUE))) { + $this->object->_displayed_gallery = $mapper->create(); + } + } + + function enqueue_backend_resources() + { + $this->call_parent('enqueue_backend_resources'); + + // Enqueue frame event publishing + wp_enqueue_script('frame_event_publisher'); + + // Enqueue JQuery UI libraries + wp_enqueue_script('jquery-ui-tabs'); + wp_enqueue_script('jquery-ui-sortable'); + wp_enqueue_script('jquery-ui-tooltip'); + wp_enqueue_script('ngg_tabs', $this->get_static_url('photocrati-attach_to_post#ngg_tabs.js')); + + // Ensure select2 + wp_enqueue_style('select2'); + wp_enqueue_script('select2'); + + // Ensure that the Photocrati AJAX library is loaded + wp_enqueue_script('photocrati_ajax'); + + // Enqueue logic for the Attach to Post interface as a whole + wp_enqueue_script( + 'ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.js') + ); + wp_enqueue_style( + 'ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.css') + ); + + // Enqueue backbone.js library, required by the Attach to Post display tab + wp_enqueue_script('backbone'); // provided by WP + + // Ensure underscore sting, a helper utility + wp_enqueue_script( + 'underscore.string', + $this->get_static_url('photocrati-attach_to_post#underscore.string.js'), + array('underscore'), + '2.3.0' + ); + + // Enqueue the backbone app for the display tab + $settings = C_NextGen_Settings::get_instance(); + $preview_url = $settings->gallery_preview_url; + $display_tab_js_url = $settings->attach_to_post_display_tab_js_url; + if ($this->object->_displayed_gallery->id()) { + $display_tab_js_url .= '/id--'.$this->object->_displayed_gallery->id(); + } + + wp_enqueue_script( + 'ngg_display_tab', + $display_tab_js_url, + array('backbone', 'underscore.string') + ); + wp_localize_script( + 'ngg_display_tab', + 'ngg_displayed_gallery_preview_url', + $settings->gallery_preview_url + ); + } + + /** + * Renders the interface + */ + function index_action($return=FALSE) + { + if ($this->object->_displayed_gallery->is_new()) $this->object->expires("+2 hour"); + + // Enqueue resources + return $this->object->render_view('photocrati-attach_to_post#attach_to_post', array( + 'page_title' => $this->object->_get_page_title(), + 'tabs' => $this->object->_get_main_tabs() + ), $return); + } + + + /** + * Displays a preview image for the displayed gallery + */ + function preview_action() + { + $found_preview_pic = FALSE; + + $dyn_thumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $image_mapper = $this->object->get_registry()->get_utility('I_Image_Mapper'); + + // Get the first entity from the displayed gallery. We will use this + // for a preview pic + $entity = array_pop($this->object->_displayed_gallery->get_included_entities(1)); + $image = FALSE; + if ($entity) { + // This is an album or gallery + if (isset($entity->previewpic)) { + $image = (int)$entity->previewpic; + if (($image = $image_mapper->find($image))) { + $found_preview_pic = TRUE; + } + } + + // Is this an image + else if (isset($entity->galleryid)) { + $image = $entity; + $found_preview_pic = TRUE; + } + } + + // Were we able to find a preview pic? If so, then render it + $image_size = $dyn_thumbs->get_size_name(array( + 'width' => 200, + 'height' => 200, + 'quality' => 90, + 'type' => 'jpg' + ));; + $found_preview_pic = $storage->render_image($image, $image_size, TRUE); + + // Render invalid image if no preview pic is found + if (!$found_preview_pic) { + $filename = $this->object->get_static_abspath('photocrati-attach_to_post#invalid_image.png'); + $this->set_content_type('image/png'); + readfile($filename); + $this->render(); + } + } + + /** + * Returns the page title of the Attach to Post interface + * @return string + */ + function _get_page_title() + { + return _('NextGEN Gallery - Attach To Post'); + } + + + /** + * Returns the main tabs displayed on the Attach to Post interface + * @returns array + */ + function _get_main_tabs() + { + $retval = array(); + + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + + if ($sec_actor->is_allowed('NextGEN Manage gallery')) { + $retval['displayed_tab'] = array( + 'content' => $this->object->_render_display_tab(), + 'title' => _('Display Galleries') + ); + } + + if ($sec_actor->is_allowed('NextGEN Upload images')) { + $retval['create_tab'] = array( + 'content' => $this->object->_render_create_tab(), + 'title' => _('Add Gallery / Images') + ); + } + + if ($sec_actor->is_allowed('NextGEN Manage others gallery') && $sec_actor->is_allowed('NextGEN Manage gallery')) { + $retval['galleries_tab'] = array( + 'content' => $this->object->_render_galleries_tab(), + 'title' => _('Manage Galleries') + ); + } + + if ($sec_actor->is_allowed('NextGEN Edit album')) { + $retval['albums_tab'] = array( + 'content' => $this->object->_render_albums_tab(), + 'title' => _('Manage Albums') + ); + } + + if ($sec_actor->is_allowed('NextGEN Manage tags')) { + $retval['tags_tab'] = array( + 'content' => $this->object->_render_tags_tab(), + 'title' => _('Manage Tags') + ); + } + + return $retval; + } + + /** + * Renders a NextGen Gallery page in an iframe, suited for the attach to post + * interface + * @param string $page + * @return string + */ + function _render_ngg_page_in_frame($page, $tab_id = null) + { + $frame_url = admin_url("/admin.php?page={$page}&attach_to_post"); + $frame_url = esc_url($frame_url); + + if ($tab_id) { + $tab_id = " id='ngg-iframe-{$tab_id}'"; + } + + return "<iframe name='{$page}' frameBorder='0'{$tab_id} class='ngg-attach-to-post ngg-iframe-page-{$page}' scrolling='no' src='{$frame_url}'></iframe>"; + } + + /** + * Renders the display tab for adjusting how images/galleries will be + * displayed + * @return type + */ + function _render_display_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#display_tab', array( + 'messages' => array(), + 'tabs' => $this->object->_get_display_tabs() + ), TRUE); + } + + + /** + * Renders the tab used primarily for Gallery and Image creation + * @return type + */ + function _render_create_tab() + { + return $this->object->_render_ngg_page_in_frame('ngg_addgallery', 'create_tab'); + } + + + /** + * Renders the tab used for Managing Galleries + * @return string + */ + function _render_galleries_tab() + { + return $this->object->_render_ngg_page_in_frame('nggallery-manage-gallery', 'galleries_tab'); + } + + + /** + * Renders the tab used for Managing Albums + */ + function _render_albums_tab() + { + return $this->object->_render_ngg_page_in_frame('nggallery-manage-album', 'albums_tab'); + } + + + /** + * Renders the tab used for Managing Albums + * @return string + */ + function _render_tags_tab() + { + return $this->object->_render_ngg_page_in_frame('nggallery-tags', 'tags_tab'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php new file mode 100644 index 000000000..f805e92d0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_installer.php @@ -0,0 +1,13 @@ +<?php + +class C_Attach_To_Post_Installer +{ + function install() + { + // Delete cached values. Needed for 2.0.7 and less + $settings = C_NextGen_Settings::get_instance(); + $settings->delete('attach_to_post_url'); + $settings->delete('gallery_preview_url'); + $settings->delete('attach_to_post_display_tab_js_url'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php new file mode 100644 index 000000000..ac006fb08 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_option_handler.php @@ -0,0 +1,28 @@ +<?php + +class C_Attach_To_Post_Option_Handler +{ + function get_router() + { + return C_Component_Registry::get_instance()->get_utility('I_Router'); + } + + function get($key, $default=NULL) + { + $retval = $default; + + switch ($key) { + case 'attach_to_post_url': + $retval = $this->get_router()->get_url('/nextgen-attach_to_post', FALSE); + break; + case 'gallery_preview_url': + $retval = $this->get_router()->get_url('/nextgen-attach_to_post/preview', FALSE); + break; + case 'attach_to_post_display_tab_js_url': + $retval = $this->get_router()->get_url('/nextgen-attach_to_post/display_tab_js', FALSE); + break; + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php new file mode 100644 index 000000000..749f1ec45 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/class.attach_to_post_proxy_controller.php @@ -0,0 +1,62 @@ +<?php + +/** + * Work in progress. This won't quite work as expected + * as we can't cache the Attach to post interface since + * it needs to be invalided when the displayed gallery changes + * Class C_Attach_To_Post_Proxy_Controller + */ +class C_Attach_To_Post_Proxy_Controller +{ + static $_instance = NULL; + + static function get_instance() + { + if (is_null(self::$_instance)) { + $klass = get_class(); + self::$_instance = new $klass(); + } + return self::$_instance; + } + + function index_action() + { + $url = C_Router::get_instance()->get_routed_app()->get_routed_url(TRUE); + $key = C_Photocrati_Cache::generate_key($url); + + // Try fetching the contents from the cache + if (($html = C_Photocrati_Cache::get($key, FALSE))) { + echo $html; + } + else { + $controller = C_Attach_Controller::get_instance(FALSE); + $html = $controller->index_action(TRUE); + C_Photocrati_Cache::set($key, $html); + echo $html; + } + + } + + function display_tab_js_action() + { + $url = C_Router::get_instance()->get_routed_app()->get_routed_url(TRUE); + $key = C_Photocrati_Cache::generate_key($url); + + // Try fetching the contents from the cache + if (($html = C_Photocrati_Cache::get($key, FALSE))) { + echo $html; + } + else { + $html = C_Attach_Controller::get_instance(FALSE)->display_tab_js_action(TRUE); + C_Photocrati_Cache::set($key, $html); + echo $html; + } + } + + function preview_action() + { + return C_Attach_Controller::get_instance(FALSE)->preview_action(); + } + + private function __construct() {} +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php new file mode 100644 index 000000000..07c575752 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/interface.attach_to_post_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_Attach_To_Post_Controller +{ + function index_action(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php new file mode 100644 index 000000000..a49f335e5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/mixin.attach_to_post_display_tab.php @@ -0,0 +1,283 @@ +<?php + +/** + * Provides the "Display Tab" for the Attach To Post interface/controller + */ +class Mixin_Attach_To_Post_Display_Tab extends Mixin +{ + /** + * Renders the JS required for the Backbone-based Display Tab + */ + function display_tab_js_action($return=FALSE) + { + // Cache appropriately + $this->object->do_not_cache(); + + // Ensure that JS is returned + $this->object->set_content_type('javascript'); + + while (ob_get_level() > 0) { + ob_end_clean(); + } + + // Get all entities used by the display tab + $context = 'attach_to_post'; + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper', $context); + $album_mapper = $this->get_registry()->get_utility('I_Album_Mapper', $context); + $display_type_mapper= $this->get_registry()->get_utility('I_Display_Type_Mapper', $context); + $source_mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Source_Mapper', $context); + $security = $this->get_registry()->get_utility('I_Security_Manager'); + + // Get the nextgen tags + global $wpdb; + $tags = $wpdb->get_results( + "SELECT DISTINCT name AS 'id', name FROM {$wpdb->terms} + WHERE term_id IN ( + SELECT term_id FROM {$wpdb->term_taxonomy} + WHERE taxonomy = 'ngg_tag' + )"); + $all_tags = new stdClass; + $all_tags->name = "All"; + $all_tags->id = "All"; + array_unshift($tags, $all_tags); + + $display_types = $display_type_mapper->find_all(); + + usort($display_types, array($this->object, '_display_type_list_sort')); + + $output = $this->object->render_view('photocrati-attach_to_post#display_tab_js', array( + 'displayed_gallery' => json_encode($this->object->_displayed_gallery->get_entity()), + 'sources' => json_encode($source_mapper->select()->order_by('title')->run_query()), + 'gallery_primary_key' => $gallery_mapper->get_primary_key_column(), + 'galleries' => json_encode($gallery_mapper->find_all()), + 'albums' => json_encode($album_mapper->find_all()), + 'tags' => json_encode($tags), + 'display_types' => json_encode($display_types), + 'sec_token' => $security->get_request_token('nextgen_edit_displayed_gallery')->get_json() + ), $return); + + return $output; + } + + function _display_type_list_sort($type_1, $type_2) + { + $order_1 = $type_1->view_order; + $order_2 = $type_2->view_order; + + if ($order_1 == null) { + $order_1 = NEXTGEN_DISPLAY_PRIORITY_BASE; + } + + if ($order_2 == null) { + $order_2 = NEXTGEN_DISPLAY_PRIORITY_BASE; + } + + if ($order_1 > $order_2) { + return 1; + } + + if ($order_1 < $order_2) { + return -1; + } + + return 0; + } + + + /** + * Gets a list of tabs to render for the "Display" tab + */ + function _get_display_tabs() + { + // The ATP requires more memmory than some applications, somewhere around 60MB. + // Because it's such an important feature of NextGEN Gallery, we temporarily disable + // any memory limits + @ini_set('memory_limit', -1); + + return array( + $this->object->_render_display_types_tab(), + $this->object->_render_display_source_tab(), + $this->object->_render_display_settings_tab(), + $this->object->_render_preview_tab() + ); + } + + + /** + * Renders the accordion tab, "What would you like to display?" + */ + function _render_display_source_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'source_tab', + 'title' => _('What would you like to display?'), + 'content' => $this->object->_render_display_source_tab_contents() + ), TRUE); + } + + + /** + * Renders the contents of the source tab + * @return string + */ + function _render_display_source_tab_contents() + { + return $this->object->render_partial('photocrati-attach_to_post#display_tab_source', array(),TRUE); + } + + + /** + * Renders the accordion tab for selecting a display type + * @return string + */ + function _render_display_types_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'display_type_tab', + 'title' => _('Select a display type'), + 'content' => $this->object->_render_display_type_tab_contents() + ), TRUE); + } + + + /** + * Renders the contents of the display type tab + */ + function _render_display_type_tab_contents() + { + return $this->object->render_partial('photocrati-attach_to_post#display_tab_type', array(), TRUE); + } + + + /** + * Renders the display settings tab for the Attach to Post interface + * @return type + */ + function _render_display_settings_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'display_settings_tab', + 'title' => _('Customize the display settings'), + 'content' => $this->object->_render_display_settings_contents() + ), TRUE); + } + + /** + * If editing an existing displayed gallery, retrieves the name + * of the display type + * @return string + */ + function _get_selected_display_type_name() + { + $retval = ''; + + if ($this->object->_displayed_gallery) + $retval = $this->object->_displayed_gallery->display_type; + + return $retval; + } + + + /** + * Is the displayed gallery that's being edited using the specified display + * type? + * @param string $name name of the display type + * @return bool + */ + function is_displayed_gallery_using_display_type($name) + { + $retval = FALSE; + + if ($this->object->_displayed_gallery) { + $retval = $this->object->_displayed_gallery->display_type == $name; + } + + return $retval; + } + + + /** + * Renders the contents of the display settings tab + * @return string + */ + function _render_display_settings_contents() + { + $retval = array(); + + // Get all display setting forms + $form_manager = C_Form_Manager::get_instance(); + $forms = $form_manager->get_forms( + NEXTGEN_DISPLAY_SETTINGS_SLUG, TRUE + ); + + // Display each form + foreach ($forms as $form) { + + // Enqueue the form's static resources + $form->enqueue_static_resources(); + + // Determine which classes to use for the form's "class" attribute + $model = $form->get_model(); + $current = $this->object->is_displayed_gallery_using_display_type($model->name); + $css_class = $current ? 'display_settings_form' : 'display_settings_form hidden'; + + // If this form is used to provide the display settings for the current + // displayed gallery, then we need to override the forms settings + // with the displayed gallery settings + if ($current) { + $settings = $this->array_merge_assoc( + $model->settings, + $this->object->_displayed_gallery->display_settings, + TRUE + ); + + $model->settings = $settings; + } + + // Output the display settings form + $retval[] = $this->object->render_partial('photocrati-attach_to_post#display_settings_form', array( + 'settings' => $form->render(), + 'display_type_name' => $model->name, + 'css_class' => $css_class + ), TRUE); + } + + // In addition, we'll render a form that will be displayed when no + // display type has been selected in the Attach to Post interface + // Render the default "no display type selected" view + $css_class = $this->object->_get_selected_display_type_name() ? + 'display_settings_form hidden' : 'display_settings_form'; + $retval[] = $this->object->render_partial('photocrati-attach_to_post#no_display_type_selected', array( + 'no_display_type_selected' => _('No display type selected'), + 'css_class' => $css_class + + ), TRUE); + + // Return all display setting forms + return implode("\n", $retval); + } + + + /** + * Renders the tab used to preview included images + * @return string + */ + function _render_preview_tab() + { + return $this->object->render_partial('photocrati-attach_to_post#accordion_tab', array( + 'id' => 'preview_tab', + 'title' => _('Sort or Exclude Images'), + 'content' => $this->object->_render_preview_tab_contents() + ), TRUE); + } + + + /** + * Renders the contents of the "Preview" tab. + * @return string + */ + function _render_preview_tab_contents() + { + return $this->object->render_partial('photocrati-attach_to_post#preview_tab', array(), TRUE); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php new file mode 100644 index 000000000..d24f0f3c6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php @@ -0,0 +1,365 @@ +<?php +/** + { + Module: photocrati-attach_to_post, + Depends: { photocrati-nextgen_gallery_display } + } + */ + +define('NEXTGEN_GALLERY_ATTACH_TO_POST_SLUG', 'ngg_attach_to_post'); + +class M_Attach_To_Post extends C_Base_Module +{ + var $attach_to_post_tinymce_plugin = 'NextGEN_AttachToPost'; + var $_event_publisher = NULL; + + /** + * Defines the module + * @param string|bool $context + */ + function define($context=FALSE) + { + parent::define( + 'photocrati-attach_to_post', + 'Attach To Post', + 'Provides the "Attach to Post" interface for displaying galleries and albums', + '0.7', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com', + $context + ); + + include_once('class.attach_to_post_option_handler.php'); + C_NextGen_Settings::add_option_handler('C_Attach_To_Post_Option_Handler', array( + 'attach_to_post_url', + 'gallery_preview_url', + 'attach_to_post_display_tab_js_url' + )); + + include_once('class.attach_to_post_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Attach_To_Post_Installer'); + + $uri = strtolower($_SERVER['REQUEST_URI']); + + if (strpos($uri, '/nextgen-attach_to_post') !== false) { + define('WP_ADMIN', true); + } + } + + /** + * Gets the Frame Event Publisher + * @return C_Component + */ + function _get_frame_event_publisher() + { + if (is_null($this->_event_publisher)) { + $this->_event_publisher = $this->get_registry()->get_utility('I_Frame_Event_Publisher', 'attach_to_post'); + } + + return $this->_event_publisher; + } + + + /** + * Registers requires the utilites that this module provides + */ + function _register_utilities() + { + // This utility provides a controller that renders the + // Attach to Post interface, used to manage Displayed Galleries + $this->get_registry()->add_utility( + 'I_Attach_To_Post_Controller', + 'C_Attach_Controller' +// 'C_Attach_To_Post_Proxy_Controller' + ); + } + + /** + * Registers the adapters that this module provides + */ + function _register_adapters() + { + // Installs the Attach to Post module + $this->get_registry()->add_adapter( + 'I_Installer', 'A_Attach_To_Post_Installer' + ); + + // Provides routing for the Attach To Post interface + $this->get_registry()->add_adapter( + 'I_Router', 'A_Attach_To_Post_Routes' + ); + + // Provides AJAX actions for the Attach To Post interface + $this->get_registry()->add_adapter( + 'I_Ajax_Controller', 'A_Attach_To_Post_Ajax' + ); + + // Applies a post hook to the generate_thumbnail method of the + // gallery storage component + $this->get_registry()->add_adapter( + 'I_Gallery_Storage', 'A_Gallery_Storage_Frame_Event' + ); + } + + + function _register_hooks() + { + if (is_admin()) { + add_action( + 'admin_enqueue_scripts', + array(&$this, 'enqueue_static_resources'), + 1 + ); + } + + // Add hook to delete displayed galleries when removed from a post + add_action('pre_post_update', array(&$this, 'locate_stale_displayed_galleries')); + add_action('before_delete_post', array(&$this, 'locate_stale_displayed_galleries')); + add_action('post_updated', array(&$this, 'cleanup_displayed_galleries')); + add_action('after_delete_post', array(&$this, 'cleanup_displayed_galleries')); + + // Add hook to subsitute displayed gallery placeholders + add_filter('the_content', array(&$this, 'substitute_placeholder_imgs'), PHP_INT_MAX, 1); + + // Emit frame communication events + add_action('ngg_created_new_gallery', array(&$this, 'new_gallery_event')); + add_action('ngg_after_new_images_added',array(&$this, 'images_added_event')); + add_action('ngg_page_event', array(&$this, 'nextgen_page_event')); + add_action('ngg_manage_tags', array(&$this, 'manage_tags_event')); + } + + /** + * Substitutes the gallery placeholder content with the gallery type frontend + * view, returns a list of static resources that need to be loaded + * @param string $content + */ + function substitute_placeholder_imgs($content) + { + // Get some utilities + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + $router = $this->get_registry()->get_utility('I_Router'); + + // To match ATP entries we compare the stored url against a generic path + // We must check HTTP and HTTPS as well as permalink and non-permalink forms + $preview_url = parse_url($router->join_paths( + $router->remove_url_segment('index.php', $router->get_base_url()), + '/nextgen-attach_to_post/preview' + )); + $preview_url = preg_quote($preview_url['host'] . $preview_url['path'], '#'); + + $alt_preview_url = parse_url($router->join_paths( + $router->remove_url_segment('index.php', $router->get_base_url()), + 'index.php/nextgen-attach_to_post/preview' + )); + $alt_preview_url = preg_quote($alt_preview_url['host'] . $alt_preview_url['path'], '#'); + + // The placeholder MUST have a gallery instance id + if (preg_match_all("#<img.*http(s)?://({$preview_url}|{$alt_preview_url})/id--(\\d+).*\\/>#mi", $content, $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + // Find the displayed gallery + $displayed_gallery_id = $match[3]; + $displayed_gallery = $mapper->find($displayed_gallery_id, TRUE); + + // Get the content for the displayed gallery + $retval = '<p>'._('Invalid Displayed Gallery').'</p>'; + if ($displayed_gallery) { + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + $retval = $renderer->render($displayed_gallery, TRUE); + } + $content = str_replace($match[0], $retval, $content); + } + } + + return $content; + } + + /** + * Enqueues static resources required by the Attach to Post interface + */ + function enqueue_static_resources() + { + $router = $this->get_registry()->get_utility('I_Router'); + + // Enqueue resources needed at post/page level + if (preg_match("/\/wp-admin\/(post|post-new)\.php$/", $_SERVER['SCRIPT_NAME'])) { + $this->_enqueue_tinymce_resources(); + wp_enqueue_style( + 'ngg_attach_to_post_dialog', $router->get_static_url('photocrati-attach_to_post#attach_to_post_dialog.css') + ); + } + + elseif (isset($_REQUEST['attach_to_post']) OR + (isset($_REQUEST['page']) && strpos($_REQUEST['page'], 'nggallery') !== FALSE)) { + wp_enqueue_script('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.js')); + wp_enqueue_style('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.css')); + } + } + + + /** + * Enqueues resources needed by the TinyMCE editor + */ + function _enqueue_tinymce_resources() + { + wp_localize_script( + 'media-editor', + 'nextgen_gallery_attach_to_post_url', + C_NextGen_Settings::get_instance()->attach_to_post_url + ); + + // Registers our tinymce button and plugin for attaching galleries + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + $checks = array( + $sec_actor->is_allowed('NextGEN Attach Interface'), + $sec_actor->is_allowed('NextGEN Use TinyMCE') + ); + if (!in_array(FALSE, $checks)) { + if (get_user_option('rich_editing') == 'true') { + add_filter('mce_buttons', array(&$this, 'add_attach_to_post_button')); + add_filter('mce_external_plugins', array(&$this, 'add_attach_to_post_tinymce_plugin')); + } + } + } + + + /** + * Adds a TinyMCE button for the Attach To Post plugin + * @param array $buttons + * @returns array + */ + function add_attach_to_post_button($buttons) + { + array_push( + $buttons, + 'separator', + $this->attach_to_post_tinymce_plugin + ); + return $buttons; + } + + + /** + * Adds the Attach To Post TinyMCE plugin + * @param array $plugins + * @return array + * @uses mce_external_plugins filter + */ + function add_attach_to_post_tinymce_plugin($plugins) + { + $router = $this->get_registry()->get_utility('I_Router'); + $plugins[$this->attach_to_post_tinymce_plugin] = $router->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin.js'); + return $plugins; + } + + + /** + * Locates the ids of displayed galleries that have been + * removed from the post, and flags then for cleanup (deletion) + * @global array $displayed_galleries_to_cleanup + * @param int $post_id + */ + function locate_stale_displayed_galleries($post_id) + { + global $displayed_galleries_to_cleanup; + $displayed_galleries_to_cleanup = array(); + $post = get_post($post_id); + $gallery_preview_url = C_NextGen_Settings::get_instance()->get('gallery_preview_url'); + $preview_url = preg_quote($gallery_preview_url, '#'); + if (preg_match_all("#{$preview_url}/id--(\d+)#", html_entity_decode($post->post_content), $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + $preview_url = preg_quote($match[0], '/'); + // The post was edited, and the displayed gallery placeholder was removed + if (isset($_REQUEST['post_content']) && (!preg_match("/{$preview_url}/", $_POST['post_content']))) { + $displayed_galleries_to_cleanup[] = intval($match[1]); + } + // The post was deleted + elseif (!isset($_REQUEST['action'])) { + $displayed_galleries_to_cleanup[] = intval($match[1]); + } + } + } + } + + /** + * Deletes any displayed galleries that are no longer associated with + * a post/page + * @global array $displayed_galleries_to_cleanup + * @param int $post_id + */ + function cleanup_displayed_galleries($post_id) + { + global $displayed_galleries_to_cleanup; + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + foreach ($displayed_galleries_to_cleanup as $id) $mapper->destroy($id); + } + + + /** + * Notify frames that a new gallery has been created + * @param int $gallery_id + */ + function new_gallery_event($gallery_id) + { + $gallery = $this->get_registry()->get_utility('I_Gallery_Mapper')->find($gallery_id); + + $this->_get_frame_event_publisher()->add_event(array( + 'event' => 'new_gallery', + 'gallery_id'=> intval($gallery_id), + 'gallery_title' => $gallery->title + )); + } + + /** + * Notifies a frame that images have been added to a gallery + * @param int $gallery_id + * @param array $image_ids + */ + function images_added_event($gallery_id, $image_ids=array()) + { + $this->_get_frame_event_publisher()->add_event(array( + 'event' => 'images_added', + 'gallery_id' => intval($gallery_id) + )); + } + + /** + * Notifies a frame that the tags have changed + * + * @param array $tags + */ + function manage_tags_event($tags = array()) + { + $this->_get_frame_event_publisher()->add_event(array( + 'event' => 'manage_tags', + 'tags' => $tags + )); + } + + /** + * Notifies a frame that an action has been performed on a particular + * NextGEN page + * @param array $event + */ + function nextgen_page_event($event) + { + $this->_get_frame_event_publisher()->add_event($event); + } + + function get_type_list() + { + return array( + 'A_Attach_To_Post_Ajax' => 'adapter.attach_to_post_ajax.php', + 'C_Attach_To_Post_Installer' => 'class.attach_to_post_installer.php', + 'A_Attach_To_Post_Routes' => 'adapter.attach_to_post_routes.php', + 'A_Gallery_Storage_Frame_Event' => 'adapter.gallery_storage_frame_event.php', + 'C_Attach_Controller' => 'class.attach_controller.php', + 'C_Attach_To_Post_Proxy_Controller' => 'class.attach_to_post_proxy_controller.php', + 'I_Attach_To_Post_Controller' => 'interface.attach_to_post_controller.php', + 'Mixin_Attach_To_Post_Display_Tab' => 'mixin.attach_to_post_display_tab.php' + ); + } +} + +new M_Attach_To_Post(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css new file mode 100644 index 000000000..ed61fc02b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css @@ -0,0 +1,279 @@ +html,body { + width: 100%; + min-height: 100%; + padding: 0px; + margin: 0px; + font-size: 13px; +} + +body { + position: absolute; + visibility: hidden; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + opacity: 0.0; +} + +.entity_errors { + color: red; +} + +.entity_errors ul { + margin-left: 30px; +} +.entity_errors ul li{ + list-style-type: disc; +} + +.ui-helper-reset { + font-size: 13px; +} + +#attach_to_post_tabs { + border: 0px; + background: none; + min-height: 100%; +} + +.ui-tabs-panel { + min-height: 100%; +} + +.ui-widget-header { + border: 0px; + border-bottom: 1px solid #dfdfdf; + background: none; +} + +iframe { + width: 100%; + min-height: 100%; + border: none; + padding: 0px; + margin: 0px; + background: transparent; +} + +#displayed_gallery_source { + width: 400px; +} + +/** Would would you like to display tab? **/ +#source_configuration td { + vertical-align: top; +} + +#source_configuration .chzn-choices input[type=text] { + height: auto !important; +} + +#slug_configuration #slug_label { + width: 52px; +} + +#slug_configuration #slug_column input[type=text] { + width: 498px; +} + +/** Select a display type tab **/ +.display_type_preview { + float: left; + width: 25%; +} +.display_type_preview .image_container { + width: 100%; + vertical-align: middle; + text-align: center; + font-size: 12px; + font-weight: 600; +} +.display_type_preview .image_container p { + display: inline-block; +} + +/** Display Tab **/ +#preview_tab_content .previewed_entity { + width: 100%; + border-bottom: solid 1px #E0E0D6; + background-color: #FAFAF0; +} + +#preview_tab_content .previewed_entity .container { + padding-top: 15px; +} + +#preview_tab_content .previewed_entity.header { + background-color: #F0F0E6; + padding-bottom: 5px; + padding-top: 5px; +} + +#preview_tab_content .header label { + font-size: 12px; + color: rgb(100,150,100); + font-weight: 600; +} + +#preview_tab_content .ui-sortable-helper { + background: none; +} + +#preview_tab_content ul { + list-style-type: none; + display: block; + border: solid 2px #E0E0D6; + padding: 0px; + position: relative; +} + + +#preview_tab_content .inclusion_checkbox { + margin-right: 7px; + display: block; + float: left; +} + +#preview_tab_content .image_container { + background-color: white; + background-repeat: no-repeat; + background-position: center center; + padding: 19px; + margin: 7px; + border: solid 1px black; + display: block; + vertical-align: middle; + text-align: center; + position: relative; +} + +#preview_tab_content .image_container img { + border: 0px; +} + +#preview_tab_content #entity_list li{ + float: left; +} + +#preview_tab_content #entity_list .ui-state-default { + background: none; + border: none; +} + +#preview_tab_content .placeholder{ + background-color: #e0ddc1; + position: relative; +} + +#preview_tab_content #entity_list .exclude_container { + display: block; + text-align: center; + margin: 0 auto; + color: black; + font-weight: normal; + position: absolute; + bottom: 2px; + left: 0px; + width: 100%; +} + +#preview_tab_content .header_row { + margin-bottom: 5px; +} +#preview_tab_content .header_row strong { + width: 70px; + display: inline-block; +} +#preview_tab_content .header_row .separator { + display: inline-block; + margin: 0px 5px; +} + +#preview_tab_content .header_row .selected { + font-weight: bold; +} + +#preview_tab_content #entity_list li.clear { + float: none; + clear: both; +} + +.clear { + clear: both; + float: none; +} + +table { + font-size: 13px; +} + +#display_settings_form table tr td:first-child { + vertical-align: top; + text-align: right; + padding-right: 7px; + width: 180px; +} + +#display_settings_form table td { + text-align: left; +} + +#display_settings_form table textarea { + height: 60px; +} + +#display_settings_form textarea, +#display_settings_form input[type=text], +#display_settings_form input[type=number], +#display_settings_form select { + width: 157px; +} + +#display_settings_form .ngg_slideshow_gallery_width, +#display_settings_form .ngg_slideshow_gallery_height, +#display_settings_form .ngg_thumbnail_dimension_width, +#display_settings_form .ngg_thumbnail_dimension_height { + width: 65px !important; +} + +#display_settings_form .nextgen_settings_colorpicker { + width: 85px !important; + text-align: center; +} + +/** + * Hacks used to ensure that Firefox can calculate the height of hidden content + * in iframes +**/ +.ui-tabs { + visibility: visible; + position: relative; +} +.ui-tabs +.ui-tabs-hide { + display: block !important; + visibility: hidden; + position: absolute; + top: -5000px; +} +.ui-tabs .main_menu_tab { + overflow: visible; +} +/** + * Make the active tab still clickable + **/ +.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { + cursor: pointer; +} + +.select2-result-label { + white-space: nowrap; +} +.select2-results { + font-family: 'segoe ui', Arial, sans-serif; + font-size: 13px; +} + +/** Refresh button in the preview area **/ +.refresh_button { + float: right; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js new file mode 100644 index 000000000..dbc0e8d6f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.js @@ -0,0 +1,124 @@ +// Provides a function to close the TinyMCE popup window +function close_attach_to_post_window() +{ + parent.tinyMCE.activeEditor.windowManager.close(window); +} + +// Adjusts the height of a frame on the page, and then executes +// the specified callback +function adjust_height_for_frame(frame, callback) +{ + // Adjust height of the frame + var $frame = jQuery(frame); + var new_height = $frame.contents().find('#wpbody').height(); + var parent_height = jQuery(parent.document).height(); + var current_height = $frame.height(); + + // If the height is less than the parent window height, then use + // the parent window height instead + if (new_height < parent_height) new_height = parent_height; + + // If the height has changed, then use the new height + if (current_height != new_height) { + var frame_id = $frame.attr('id'); + + $frame.height(new_height); + + if (frame_id && frame_id.indexOf('ngg-iframe-') == 0) { + var tab_id = frame_id.substr(11); + + if (tab_id) { + jQuery('#' + tab_id).height(new_height); + } + } + } + + if (callback != undefined) + return callback.call(frame, new_height); + else + return true; +} + +function ngg_get_measures_for_frame(frame) +{ + var $frame = jQuery(frame); + var frame_id = $frame.attr('id'); + var measures = {}; + + if (frame_id && frame_id.indexOf('ngg-iframe-') == 0) { + var tab_id = frame_id.substr(11); + + if (tab_id) { + var jDoc = jQuery(document); + + measures.scrollTop = jDoc.scrollTop() - 40; // remove around 40 for tabs and padding + + if (window.parent) { + var jparDoc = jQuery(window.parent.document); + + measures.scrollHeight = jparDoc.find('.ngg_attach_to_post_window').height() - 40; // remove around 40 for tabs and padding + } + else { + measures.scrollHeight = jDoc.height(); + } + + if (typeof(window.console) != 'undefined') { + console.log(measures); + } + } + } + + return measures; +} + +// Activates the attach to post screen elements +jQuery(function($){ + // Activate horizontal tabs + $('#attach_to_post_tabs').ngg_tabs(); + + // If the preview area is being displayed, emit an event for that + $('.accordion h3').bind('click', function(e){ + if ($(this).attr('id') == 'preview_tab') { + $('#preview_area').trigger('opened'); + } + }); + + // Activate accordion for display tab + $('.accordion').accordion({ + clearStyle: true, + autoHeight: false, + heightStyle: 'content' + }); + + // If the active display tab is clicked, then we assume that the user + // wants to display the original tab content + $('.ui-tabs-nav a').click(function(e){ + + var element = e.target ? e.target : e.srcElement; + + // If the accordion tab is used to display an iframe, ensure when + // clicked that the original iframe content is always displayed + if ($(element).parent().hasClass('ui-state-active')) { + var iframe = $(element.hash+' iframe'); + if (iframe.length > 0) { + if (iframe[0].contentDocument.location != iframe.attr('src')) { + iframe[0].contentDocument.location = iframe.attr('src'); + } + } + } + }); + + // Close the window when the escape key is pressed + $(this).keydown(function(e){ + if (e.keyCode == 27) close_attach_to_post_window(); + return; + }); + + // Fade in now that all GUI elements are intact + $('body').css({ + position: 'static', + visibility: 'visible' + }).animate({ + opacity: 1.0 + }); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css new file mode 100644 index 000000000..8a20724e6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post_dialog.css @@ -0,0 +1,39 @@ + +.ngg_attach_to_post_window { + position: relative; + border: none !important; +} + +.ngg_attach_to_post_window .mceResize, +.ngg_attach_to_post_window .mceTop, +.ngg_attach_to_post_window .mceBottom, +.ngg_attach_to_post_window .mceLeft, +.ngg_attach_to_post_window .mceRight, +.ngg_attach_to_post_window .mceCenter { + background: transparent !important; + border: none !important; +} + +.ngg_attach_to_post_window .mceMiddle span { + padding-top: 6px !important; +} + +.ngg_attach_to_post_window .mceTop { + display: block !important; + height: 0px !important; + font-size: 0px !important; +} + +.ngg_attach_to_post_window .mceClose { + background: url('uploader-icons.png') !important; + display: block !important; + margin: 0 !important; + padding: 0 !important; + width: 15px !important; + height: 15px !important; + background-position: -100px 0 !important; + position: absolute !important; + top: 44px !important; + right: 30px !important; +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css new file mode 100644 index 000000000..86285cf41 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.css @@ -0,0 +1,25 @@ +#iframely, #iframely body{ + padding: 0px; + width: 100%; + height: 100%; +} + +#iframely { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + opacity: 0.0; + background-position: center center; + background-repeat: no-repeat; + position: absolute; + visibility: hidden; +} + +#iframely #wpbody-content { + float: none; + padding: 0px; +} + +#iframely h2, +#iframely #icon-nextgen-gallery { + display: none; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js new file mode 100644 index 000000000..97efd7997 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/iframely.js @@ -0,0 +1,33 @@ +if (window.frameElement) { + document.getElementsByTagName('html')[0].id = 'iframely'; + jQuery(function($){ + // Concentrate only on the content of the page + $('#wpwrap').html($('#wpbody').html($('#wpbody-content').html($('#ngg_page_content')))); + + // We need to ensure that any POST operation includes the "attach_to_post" + // parameter, to display subsequent clicks in iframely. + $('form').each(function(){ + $(this).append("<input type='hidden' name='attach_to_post' value='1'/>"); + }); + + var parent = window.parent; + + if (parent == null || typeof(parent.adjust_height_for_frame) == "undefined") { + if (window != null && typeof(window.adjust_height_for_frame) != "undefined") { + parent = window; + } + } + + if (typeof(parent.adjust_height_for_frame) != "undefined") { + // Adjust the height of the frame + parent.adjust_height_for_frame(window.frameElement, function(){ + $('#iframely').css({ + position: 'static', + visibility: 'visible' + }).animate({ + opacity: 1.0 + }); + }); + } + }); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/invalid_image.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/invalid_image.png new file mode 100644 index 0000000000000000000000000000000000000000..28ad61bfcb29d31f649315119259faf3a45ef64b GIT binary patch literal 2857 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/nextgen.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/nextgen.gif new file mode 100644 index 0000000000000000000000000000000000000000..24d0f2b520d60a60a2ec82a6dd7b9bbe093c0389 GIT binary patch literal 963 zcmZ?wbhEHb6k!ly_|Cw<!o;$s%cf`56dSjaGq>)9r0t1mN?EgRi%(e3n@?X-=H<i` z9SMo+*|V%<&b~EIp1oOeY|Ecte`40<Oes=1v#rG?s3#_G&yiU!A#qdAoVxO76HCj! zDLz3pcOJb7$=Z|BmE#lD^X1#0l4Uh1Wk=q;`ts-BpPX$qQ_4(2lBOKFbS8sAf`Nfy zMh(L%28Ij<5ZJ+xwUU7$iy?=Bfg#|31LObKi3}19j0_A6Odx3pe&E2s3>If#nDE3X z=j8)l#zYpza)vw88D1=5kVs-+DCeJH$&gdaz$?SgQXX)If$=v(BFHKR23d{*7AD>_ z29|P$8=V#A0Y2HOsSFGZ8vlCi|G&%rFTwDiq2iY;gBc4$QW`^fIm4$+2BW~lq*R7- z1_lNf1_mnzh8O{ciV0s6bN1)*?k`{|E!e|g{gUyZ1jBv?hEh3(+vW_7Nem0h8NOR^ zFfhJ?+WTuhgINMYQWD6>qe~9dCs@fOrIwd7FcdN{)EF?xK+M0u!0-y>Uj~L54Cy(H znY;{nEDXgAUv(Jvzh>Ak!BEP;@L)H?OM3>1;|vU?3}4e3_OD{t&(2WVRCDGZ<M028 z68{+({xis0Gq4<FNZZd)UK*fS$rybwF%{&th<^vz{##}LPi6Se5FqiH@ztV4iG2(V zr8DBBS4lNw>|MZ6`W+I?iQsS!U|?WmWPq^44Hy_+F@U3sfx)PqVZSWH{;v$BMFA#^ zj0|8k2N;;X@-V!9%^)Gc#K5qFX9d&3R}B83K(7rr!@%&HfkC2{fuSa1H^XbF`+1Jt zXV`y|VLux~Y15U0e=qm`m+%L<pLxz_h7*ez{6TK(H0cOnXiQ~rVmQE16LNszl@)^o zD86bL7{I9l<j_ygzZ&g-owQ$~yp-WGWA}Q7{TvMYOBhOP80r}q8W<QBFfe_e!O*>m zVSffVjy&|T7}5(rWqL5DF)03I0VOU59gsnwJi*SffPs-i#$&^RgUuYmS}`XK9(J%Q zD>=1T9CC8vRyE4HvP0ovlaPpBzzc^>&Me(5feQ{CIOyELEu}Z*jldyiM;=KdnGX{b zo}A#*R8Y|f5O8T@Q|FqX;CY~tgO$reK(#}`xq*{aF2_J|VRraRR>3714O1Q1H>b_? xlZ{Y(-pEw&_*AU+hP4dL6`$oKCTz$(x4&Nd%UXvW8y>cG2y4gfF;HNz1^`qjMic-5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js new file mode 100644 index 000000000..82dc22373 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js @@ -0,0 +1,207 @@ +// Self-executing function to create and register the TinyMCE plugin +(function(siteurl) { + + // Create the plugin. We'll register it afterwards + tinymce.create('tinymce.plugins.NextGEN_AttachToPost', { + + /** + * The WordPress Site URL + **/ + siteurl: siteurl, + + /** + * Returns metadata about this plugin + */ + getInfo: function() { + return { + longname: 'NextGen - Attach Gallery', + author: 'Photocrati Media', + authorurl: 'http://www.photocrati.com', + infourl: 'http://www.nextgen-gallery.com', + version: '0.1' + }; + }, + + + /** + * Initializes the plugin, this will be executed after the plugin has been created. + */ + init: function(editor, plugin_url) { + + // Register a new TinyMCE command + editor.addCommand('ngg_attach_to_post', this.render_attach_to_post_interface, { + editor: editor, + plugin: editor.plugins.NextGEN_AttachToPost + }); + + // Add a button to trigger the above command + editor.addButton('NextGEN_AttachToPost', { + title: 'NextGEN Gallery - Attach To Post', + cmd: 'ngg_attach_to_post', + image: plugin_url+'/nextgen.gif' + }); + + // When the shortcode is clicked, open the attach to post interface + editor.settings.extended_valid_elements += ",shortcode"; + editor.settings.custom_elements = "shortcode"; + var self = this; + var drag_in_progress = false; + var click_timer; + + editor.onMouseDown.addToTop(function(editor, e) { + if (e.target.tagName == 'IMG') { + if (self.get_class_name(e.target).indexOf('ngg_displayed_gallery') >= 0) { + click_timer = setTimeout(function() { + drag_in_progress = true; + }, 250); + } + } + }); + + editor.onMouseUp.addToTop(function(editor, e) { + if (!drag_in_progress && e.target.tagName == 'IMG') { + if (self.get_class_name(e.target).indexOf('ngg_displayed_gallery') >= 0) { + editor.dom.events.cancel(e); + editor.dom.events.stop(e); + var id = e.target.src.match(/\d+$/); + if (id) id = id.pop(); + var obj = tinymce.extend(self, { + editor: editor, + plugin: editor.plugins.NextGEN_AttachToPost, + id: id + }); + self.render_attach_to_post_interface.call(obj); + } + } + clearTimeout(click_timer); + drag_in_progress = false; + }); + }, + + get_class_name: function(node) { + var class_name = node.getAttribute('class') ? + node.getAttribute('class') : node.className; + + if (class_name) return class_name; + else return ""; + }, + + + /** + * Renders the attach to post interface + */ + render_attach_to_post_interface: function(id) { + + // Determine the attach to post url + var attach_to_post_url = nextgen_gallery_attach_to_post_url; + if (typeof(this.id) != 'undefined') { + attach_to_post_url += "?id="+this.id; + } + + // We're going to open a dialog window. TinyMCE doesn't + // get the positioning exactly right, so we add an event + // handler to make adjustments + // + // We also make the parent window unscrollable, to avoid + // multiple scrollbars + this.editor.windowManager.onOpen.add(function(win){ + + // Assign the window the "ngg_attach_to_post_window" so that + // we can style it + var window_selector = '#'; + if (win.params && win.params.mce_window_id) + window_selector += win.params.mce_window_id; + else if (win.features && win.features.id) + window_selector += win.features.id; + + var callback = function(selector, callback){ + var obj = jQuery(selector); + if (obj.length == 0) { + setTimeout(function(){ + callback.call(null, selector, callback); + }, 5); + } + else { + obj.addClass('ngg_attach_to_post_window'); + } + } + setTimeout(function(){ + callback.call(null, window_selector, callback); + },5); + + jQuery('html,body').css('overflow', 'hidden'); + }); + + // Restore scrolling for the main content window + // when the attach to post interface is closed + this.editor.windowManager.onClose.add(function(win){ + jQuery('html,body').css('overflow', 'auto'); + tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select('p')[0]); + tinyMCE.activeEditor.selection.collapse(0); + }); + + var popupDialog = jQuery('<div style="display:none;"><div id="ngg_attach_to_post_dialog" tabindex="-1" action=""></div></div>'); + popupDialog.appendTo(jQuery(document.body)); + + var win = window; + + while (win.parent != null && win.parent != win) { + win = win.parent; + } + + win = jQuery(win); + var winWidth = win.width(); + var winHeight = win.height(); + var popupWidth = 1200; + var popupHeight = 600; + var minWidth = 800; + var minHeight = 600; + var maxWidth = winWidth - (winWidth * 0.05); + var maxHeight = winHeight - (winHeight * 0.05); + + if (maxWidth < minWidth) { + maxWidth = winWidth - 10; + } + + if (maxHeight < minHeight) { + maxHeight = winHeight - 10; + } + + if (popupWidth > maxWidth) { + popupWidth = maxWidth; + } + + if (popupHeight > maxHeight) { + popupHeight = maxHeight; + } + + // Open a window, occupying 90% of the screen real estate + var popup = this.editor.windowManager.open({ + file: attach_to_post_url, +// wpDialog: true, + id: 'ngg_attach_to_post_dialog', + width: popupWidth, + height: popupHeight, + inline: true, + title: "NextGEN Gallery - Attach To Post" + }); +// popupDialog.wpdialog({ +// title: "NextGEN Gallery - Attach To Post", +// width: 1200, +// height: 600, +// modal: true, +// dialogClass: 'wp-dialog', +// zIndex: 300000 +// }); + + // Ensure that the window cannot be scrolled - XXX actually allow scrolling in the main window and disable it for the inner-windows/frames/elements as to create a single scrollbar + jQuery('#'+popup.id+'_ifr').css('overflow-y', 'auto'); + jQuery('#'+popup.id+'_ifr').css('overflow-x', 'hidden'); + //jQuery('#'+popup.id+'_ifr').mCustomScrollbar(); + //jQuery('#'+popup.id).addClass('wp-dialog'); + } + }); + + // Register plugin + tinymce.PluginManager.add('NextGEN_AttachToPost', tinymce.plugins.NextGEN_AttachToPost); +})(photocrati_ajax.wp_site_url); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js new file mode 100644 index 000000000..265b1415e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/ngg_tabs.js @@ -0,0 +1,57 @@ +jQuery(function($){ + + // Creates a Firefox-friendly wrapper around jQuery Tabs + $.fn.ngg_tabs = function(options){ + + // Create jQuery tabs + this.tabs(options); + + // Change from display:none to visbibility:hidden + var i = 0; + this.find('.main_menu_tab').each(function(){ + if (i == 0) $.fn.ngg_tabs.show_tab(this); + else $.fn.ngg_tabs.hide_tab(this); + i++; + }); + + // When the selected tab changes, then we need to re-adjust + this.bind('tabsactivate', function(event, ui){ + + // Ensure that all tabs are still displayed, but hidden ;) + $.fn.ngg_tabs.hide_tab($.fn.ngg_tabs.get_tab_by_li(ui.oldTab)); + $.fn.ngg_tabs.show_tab($.fn.ngg_tabs.get_tab_by_li(ui.newTab)); + }); + }; + + $.fn.ngg_tabs.hide_tab = function(tab){ + tab = $(tab); + setTimeout(function(){ + tab.css({ + display: 'block', + position: 'absolute', + top: -1000, + visibility: 'hidden', + height: 0 + }); + }, 0); + }; + + $.fn.ngg_tabs.show_tab = function(tab){ + tab = $(tab); + setTimeout(function(){ + tab.css({ + display: 'block', + position: 'static', + top: 0, + visibility: 'visible', + height: '100%' + }); + }, 0); + }; + + $.fn.ngg_tabs.get_tab_by_li = function(list_item){ + var active_id = list_item.attr('aria-labelledby'); + var active_tab = list_item.parents('div').find('.main_menu_tab[aria-labelledby="'+active_id+'"]'); + return active_tab; + } +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/spinner.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js new file mode 100644 index 000000000..965a477b7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/underscore.string.js @@ -0,0 +1,600 @@ +// Underscore.string +// (c) 2010 Esa-Matti Suuronen <esa-matti aet suuronen dot org> +// Underscore.string is freely distributable under the terms of the MIT license. +// Documentation: https://github.com/epeli/underscore.string +// Some code is borrowed from MooTools and Alexandru Marasteanu. +// Version '2.3.0' + +!function(root, String){ + 'use strict'; + + // Defining helper functions. + + var nativeTrim = String.prototype.trim; + var nativeTrimRight = String.prototype.trimRight; + var nativeTrimLeft = String.prototype.trimLeft; + + var parseNumber = function(source) { return source * 1 || 0; }; + + var strRepeat = function(str, qty){ + if (qty < 1) return ''; + var result = ''; + while (qty > 0) { + if (qty & 1) result += str; + qty >>= 1, str += str; + } + return result; + }; + + var slice = [].slice; + + var defaultToWhiteSpace = function(characters) { + if (characters == null) + return '\\s'; + else if (characters.source) + return characters.source; + else + return '[' + _s.escapeRegExp(characters) + ']'; + }; + + var escapeChars = { + lt: '<', + gt: '>', + quot: '"', + apos: "'", + amp: '&' + }; + + var reversedEscapeChars = {}; + for(var key in escapeChars){ reversedEscapeChars[escapeChars[key]] = key; } + + // sprintf() for JavaScript 0.7-beta1 + // http://www.diveintojavascript.com/projects/javascript-sprintf + // + // Copyright (c) Alexandru Marasteanu <alexaholic [at) gmail (dot] com> + // All rights reserved. + + var sprintf = (function() { + function get_type(variable) { + return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); + } + + var str_repeat = strRepeat; + + var str_format = function() { + if (!str_format.cache.hasOwnProperty(arguments[0])) { + str_format.cache[arguments[0]] = str_format.parse(arguments[0]); + } + return str_format.format.call(null, str_format.cache[arguments[0]], arguments); + }; + + str_format.format = function(parse_tree, argv) { + var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; + for (i = 0; i < tree_length; i++) { + node_type = get_type(parse_tree[i]); + if (node_type === 'string') { + output.push(parse_tree[i]); + } + else if (node_type === 'array') { + match = parse_tree[i]; // convenience purposes only + if (match[2]) { // keyword argument + arg = argv[cursor]; + for (k = 0; k < match[2].length; k++) { + if (!arg.hasOwnProperty(match[2][k])) { + throw new Error(sprintf('[_.sprintf] property "%s" does not exist', match[2][k])); + } + arg = arg[match[2][k]]; + } + } else if (match[1]) { // positional argument (explicit) + arg = argv[match[1]]; + } + else { // positional argument (implicit) + arg = argv[cursor++]; + } + + if (/[^s]/.test(match[8]) && (get_type(arg) != 'number')) { + throw new Error(sprintf('[_.sprintf] expecting number but found %s', get_type(arg))); + } + switch (match[8]) { + case 'b': arg = arg.toString(2); break; + case 'c': arg = String.fromCharCode(arg); break; + case 'd': arg = parseInt(arg, 10); break; + case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; + case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; + case 'o': arg = arg.toString(8); break; + case 's': arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); break; + case 'u': arg = Math.abs(arg); break; + case 'x': arg = arg.toString(16); break; + case 'X': arg = arg.toString(16).toUpperCase(); break; + } + arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); + pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; + pad_length = match[6] - String(arg).length; + pad = match[6] ? str_repeat(pad_character, pad_length) : ''; + output.push(match[5] ? arg + pad : pad + arg); + } + } + return output.join(''); + }; + + str_format.cache = {}; + + str_format.parse = function(fmt) { + var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; + while (_fmt) { + if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { + parse_tree.push(match[0]); + } + else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { + parse_tree.push('%'); + } + else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1; + var field_list = [], replacement_field = match[2], field_match = []; + if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } + else { + throw new Error('[_.sprintf] huh?'); + } + } + } + else { + throw new Error('[_.sprintf] huh?'); + } + match[2] = field_list; + } + else { + arg_names |= 2; + } + if (arg_names === 3) { + throw new Error('[_.sprintf] mixing positional and named placeholders is not (yet) supported'); + } + parse_tree.push(match); + } + else { + throw new Error('[_.sprintf] huh?'); + } + _fmt = _fmt.substring(match[0].length); + } + return parse_tree; + }; + + return str_format; + })(); + + + + // Defining underscore.string + + var _s = { + + VERSION: '2.3.0', + + isBlank: function(str){ + if (str == null) str = ''; + return (/^\s*$/).test(str); + }, + + stripTags: function(str){ + if (str == null) return ''; + return String(str).replace(/<\/?[^>]+>/g, ''); + }, + + capitalize : function(str){ + str = str == null ? '' : String(str); + return str.charAt(0).toUpperCase() + str.slice(1); + }, + + chop: function(str, step){ + if (str == null) return []; + str = String(str); + step = ~~step; + return step > 0 ? str.match(new RegExp('.{1,' + step + '}', 'g')) : [str]; + }, + + clean: function(str){ + return _s.strip(str).replace(/\s+/g, ' '); + }, + + count: function(str, substr){ + if (str == null || substr == null) return 0; + return String(str).split(substr).length - 1; + }, + + chars: function(str) { + if (str == null) return []; + return String(str).split(''); + }, + + swapCase: function(str) { + if (str == null) return ''; + return String(str).replace(/\S/g, function(c){ + return c === c.toUpperCase() ? c.toLowerCase() : c.toUpperCase(); + }); + }, + + escapeHTML: function(str) { + if (str == null) return ''; + return String(str).replace(/[&<>"']/g, function(m){ return '&' + reversedEscapeChars[m] + ';'; }); + }, + + unescapeHTML: function(str) { + if (str == null) return ''; + return String(str).replace(/\&([^;]+);/g, function(entity, entityCode){ + var match; + + if (entityCode in escapeChars) { + return escapeChars[entityCode]; + } else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) { + return String.fromCharCode(parseInt(match[1], 16)); + } else if (match = entityCode.match(/^#(\d+)$/)) { + return String.fromCharCode(~~match[1]); + } else { + return entity; + } + }); + }, + + escapeRegExp: function(str){ + if (str == null) return ''; + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); + }, + + splice: function(str, i, howmany, substr){ + var arr = _s.chars(str); + arr.splice(~~i, ~~howmany, substr); + return arr.join(''); + }, + + insert: function(str, i, substr){ + return _s.splice(str, i, 0, substr); + }, + + include: function(str, needle){ + if (needle === '') return true; + if (str == null) return false; + return String(str).indexOf(needle) !== -1; + }, + + join: function() { + var args = slice.call(arguments), + separator = args.shift(); + + if (separator == null) separator = ''; + + return args.join(separator); + }, + + lines: function(str) { + if (str == null) return []; + return String(str).split("\n"); + }, + + reverse: function(str){ + return _s.chars(str).reverse().join(''); + }, + + startsWith: function(str, starts){ + if (starts === '') return true; + if (str == null || starts == null) return false; + str = String(str); starts = String(starts); + return str.length >= starts.length && str.slice(0, starts.length) === starts; + }, + + endsWith: function(str, ends){ + if (ends === '') return true; + if (str == null || ends == null) return false; + str = String(str); ends = String(ends); + return str.length >= ends.length && str.slice(str.length - ends.length) === ends; + }, + + succ: function(str){ + if (str == null) return ''; + str = String(str); + return str.slice(0, -1) + String.fromCharCode(str.charCodeAt(str.length-1) + 1); + }, + + titleize: function(str){ + if (str == null) return ''; + return String(str).replace(/(?:^|\s)\S/g, function(c){ return c.toUpperCase(); }); + }, + + camelize: function(str){ + return _s.trim(str).replace(/[-_\s]+(.)?/g, function(match, c){ return c.toUpperCase(); }); + }, + + underscored: function(str){ + return _s.trim(str).replace(/([a-z\d])([A-Z]+)/g, '$1_$2').replace(/[-\s]+/g, '_').toLowerCase(); + }, + + dasherize: function(str){ + return _s.trim(str).replace(/([A-Z])/g, '-$1').replace(/[-_\s]+/g, '-').toLowerCase(); + }, + + classify: function(str){ + return _s.titleize(String(str).replace(/_/g, ' ')).replace(/\s/g, ''); + }, + + humanize: function(str){ + return _s.capitalize(_s.underscored(str).replace(/_id$/,'').replace(/_/g, ' ')); + }, + + trim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrim) return nativeTrim.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp('\^' + characters + '+|' + characters + '+$', 'g'), ''); + }, + + ltrim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrimLeft) return nativeTrimLeft.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp('^' + characters + '+'), ''); + }, + + rtrim: function(str, characters){ + if (str == null) return ''; + if (!characters && nativeTrimRight) return nativeTrimRight.call(str); + characters = defaultToWhiteSpace(characters); + return String(str).replace(new RegExp(characters + '+$'), ''); + }, + + truncate: function(str, length, truncateStr){ + if (str == null) return ''; + str = String(str); truncateStr = truncateStr || '...'; + length = ~~length; + return str.length > length ? str.slice(0, length) + truncateStr : str; + }, + + /** + * _s.prune: a more elegant version of truncate + * prune extra chars, never leaving a half-chopped word. + * @author github.com/rwz + */ + prune: function(str, length, pruneStr){ + if (str == null) return ''; + + str = String(str); length = ~~length; + pruneStr = pruneStr != null ? String(pruneStr) : '...'; + + if (str.length <= length) return str; + + var tmpl = function(c){ return c.toUpperCase() !== c.toLowerCase() ? 'A' : ' '; }, + template = str.slice(0, length+1).replace(/.(?=\W*\w*$)/g, tmpl); // 'Hello, world' -> 'HellAA AAAAA' + + if (template.slice(template.length-2).match(/\w\w/)) + template = template.replace(/\s*\S+$/, ''); + else + template = _s.rtrim(template.slice(0, template.length-1)); + + return (template+pruneStr).length > str.length ? str : str.slice(0, template.length)+pruneStr; + }, + + words: function(str, delimiter) { + if (_s.isBlank(str)) return []; + return _s.trim(str, delimiter).split(delimiter || /\s+/); + }, + + pad: function(str, length, padStr, type) { + str = str == null ? '' : String(str); + length = ~~length; + + var padlen = 0; + + if (!padStr) + padStr = ' '; + else if (padStr.length > 1) + padStr = padStr.charAt(0); + + switch(type) { + case 'right': + padlen = length - str.length; + return str + strRepeat(padStr, padlen); + case 'both': + padlen = length - str.length; + return strRepeat(padStr, Math.ceil(padlen/2)) + str + + strRepeat(padStr, Math.floor(padlen/2)); + default: // 'left' + padlen = length - str.length; + return strRepeat(padStr, padlen) + str; + } + }, + + lpad: function(str, length, padStr) { + return _s.pad(str, length, padStr); + }, + + rpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'right'); + }, + + lrpad: function(str, length, padStr) { + return _s.pad(str, length, padStr, 'both'); + }, + + sprintf: sprintf, + + vsprintf: function(fmt, argv){ + argv.unshift(fmt); + return sprintf.apply(null, argv); + }, + + toNumber: function(str, decimals) { + if (str == null || str == '') return 0; + str = String(str); + var num = parseNumber(parseNumber(str).toFixed(~~decimals)); + return num === 0 && !str.match(/^0+$/) ? Number.NaN : num; + }, + + numberFormat : function(number, dec, dsep, tsep) { + if (isNaN(number) || number == null) return ''; + + number = number.toFixed(~~dec); + tsep = tsep || ','; + + var parts = number.split('.'), fnums = parts[0], + decimals = parts[1] ? (dsep || '.') + parts[1] : ''; + + return fnums.replace(/(\d)(?=(?:\d{3})+$)/g, '$1' + tsep) + decimals; + }, + + strRight: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strRightBack: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.lastIndexOf(sep); + return ~pos ? str.slice(pos+sep.length, str.length) : str; + }, + + strLeft: function(str, sep){ + if (str == null) return ''; + str = String(str); sep = sep != null ? String(sep) : sep; + var pos = !sep ? -1 : str.indexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + strLeftBack: function(str, sep){ + if (str == null) return ''; + str += ''; sep = sep != null ? ''+sep : sep; + var pos = str.lastIndexOf(sep); + return ~pos ? str.slice(0, pos) : str; + }, + + toSentence: function(array, separator, lastSeparator, serial) { + separator = separator || ', ' + lastSeparator = lastSeparator || ' and ' + var a = array.slice(), lastMember = a.pop(); + + if (array.length > 2 && serial) lastSeparator = _s.rtrim(separator) + lastSeparator; + + return a.length ? a.join(separator) + lastSeparator + lastMember : lastMember; + }, + + toSentenceSerial: function() { + var args = slice.call(arguments); + args[3] = true; + return _s.toSentence.apply(_s, args); + }, + + slugify: function(str) { + if (str == null) return ''; + + var from = "ąà áäâãåæćęèéëêìÃïîłńòóöôõøùúüûñçżź", + to = "aaaaaaaaceeeeeiiiilnoooooouuuunczz", + regex = new RegExp(defaultToWhiteSpace(from), 'g'); + + str = String(str).toLowerCase().replace(regex, function(c){ + var index = from.indexOf(c); + return to.charAt(index) || '-'; + }); + + return _s.dasherize(str.replace(/[^\w\s-]/g, '')); + }, + + surround: function(str, wrapper) { + return [wrapper, str, wrapper].join(''); + }, + + quote: function(str) { + return _s.surround(str, '"'); + }, + + exports: function() { + var result = {}; + + for (var prop in this) { + if (!this.hasOwnProperty(prop) || prop.match(/^(?:include|contains|reverse)$/)) continue; + result[prop] = this[prop]; + } + + return result; + }, + + repeat: function(str, qty, separator){ + if (str == null) return ''; + + qty = ~~qty; + + // using faster implementation if separator is not needed; + if (separator == null) return strRepeat(String(str), qty); + + // this one is about 300x slower in Google Chrome + for (var repeat = []; qty > 0; repeat[--qty] = str) {} + return repeat.join(separator); + }, + + levenshtein: function(str1, str2) { + if (str1 == null && str2 == null) return 0; + if (str1 == null) return String(str2).length; + if (str2 == null) return String(str1).length; + + str1 = String(str1); str2 = String(str2); + + var current = [], prev, value; + + for (var i = 0; i <= str2.length; i++) + for (var j = 0; j <= str1.length; j++) { + if (i && j) + if (str1.charAt(j - 1) === str2.charAt(i - 1)) + value = prev; + else + value = Math.min(current[j], current[j - 1], prev) + 1; + else + value = i + j; + + prev = current[j]; + current[j] = value; + } + + return current.pop(); + } + }; + + // Aliases + + _s.strip = _s.trim; + _s.lstrip = _s.ltrim; + _s.rstrip = _s.rtrim; + _s.center = _s.lrpad; + _s.rjust = _s.lpad; + _s.ljust = _s.rpad; + _s.contains = _s.include; + _s.q = _s.quote; + + // CommonJS module is defined + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + // Export module + module.exports = _s; + } + exports._s = _s; + + } else if (typeof define === 'function' && define.amd) { + // Register as a named module with AMD. + define('underscore.string', [], function() { + return _s; + }); + + } else { + // Integrate with Underscore.js if defined + // or create our own underscore object. + root._ = root._ || {}; + root._.string = root._.str = _s; + } + +}(this, String); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons-2x.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d40389c7639683d37cdc5eb2b0461933d515b573 GIT binary patch literal 3915 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 Lu6{1-oD!M<=LlYM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/static/uploader-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..b72a074b08cb52bc860946ca71085ed2e42ae729 GIT binary patch literal 1593 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 Pz`)??>gTe~DWM4fQ{wx6 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php new file mode 100644 index 000000000..3c3431423 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/accordion_tab.php @@ -0,0 +1,4 @@ +<h3 class="accordion_tab" id="<?php echo esc_attr($id) ?>"><a href="#"><?php echo_h($title) ?></a></h3> +<div id="<?php echo esc_attr($id) ?>_content"> + <?php echo $content ?> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php new file mode 100644 index 000000000..8b3767deb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/attach_to_post.php @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + <head> + <title><?php echo_h($page_title)?></title> + <?php + wp_print_styles(); + wp_print_scripts(); + ?> + </head> + <body> + <div id="attach_to_post_tabs"> + <div class='ui-tabs-icon'><span class="nextgen_logo"><?php echo_h('NextGEN')?></span> <span class="nextgen_logo_sub"><?php echo_h('Gallery')?></span></div> + <ul> + <?php foreach ($tabs as $id => $tab_params): ?> + <li> + <a href='#<?php echo esc_attr($id)?>'> + <?php echo_h($tab_params['title']) ?> + </a> + </li> + <?php endforeach ?> + </ul> + <?php reset($tabs); foreach ($tabs as $id => $tab_params): ?> + <div class="main_menu_tab" id="<?php echo esc_attr($id) ?>"><?php echo $tab_params['content'] ?></div> + <?php endforeach ?> + </div> + + <?php wp_print_footer_scripts() ?> + </body> +</html> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php new file mode 100644 index 000000000..9defe7b5e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_settings_form.php @@ -0,0 +1,3 @@ +<form rel="<?php echo esc_attr($display_type_name) ?>" class="<?php echo esc_attr($css_class) ?>" method='POST' action='<?php echo esc_attr($_SERVER['REQUEST_URI'])?>'> + <?php echo $settings ?> +</form> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php new file mode 100644 index 000000000..e5f17e3ae --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab.php @@ -0,0 +1,11 @@ +<div id="errors"> + +</div> +<div class="accordion" id="display_settings_accordion"> +<?php foreach($tabs as $tab): ?> + <?php echo $tab ?> +<?php endforeach ?> +</div> +<p> + <input type="button" id="save_displayed_gallery" value="Save"/> +</p> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php new file mode 100644 index 000000000..aa79ce57e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_js.php @@ -0,0 +1,1669 @@ +jQuery(function($){ + + /***************************************************************************** + ** NGG DEFINITION + ***/ + + /** + Setup a namespace for NextGEN-offered Backbone components + **/ + var Ngg = { + Models: {}, + Views: {} + }; + + /***************************************************************************** + ** NGG MODELS + ***/ + + /** + * Ngg.Models.SelectableItems + * A collection of items that can be selectable. Commonly used with the + * Ngg.Views.SelectTag widget (view) + **/ + Ngg.Models.SelectableItems = Backbone.Collection.extend({ + selected: function(){ + return this.filter(function(item){ + return item.get('selected') == true; + }); + }, + + deselect_all: function(){ + this.each(function(item){ + item.set('selected', false); + }); + }, + + selected_ids: function(){ + return _.pluck(this.selected(), 'id'); + }, + + select: function(ids){ + if (!_.isArray(ids)) ids = [ids]; + this.each(function(item){ + if (_.indexOf(ids, item.id) >= 0) { + item.set('selected', true); + } + }); + this.trigger('selected'); + } + }); + + + /***************************************************************************** + ** NGG VIEWS + ***/ + + /** + * Ngg.Views.SelectTag + * Used to render a Select tag (drop-down list) + **/ + Ngg.Views.SelectTag = Backbone.View.extend({ + tagName: 'select', + + collection: null, + + multiple: false, + + value_field: 'id', + + text_field: 'title', + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.collection.on('add', this.render_new_option, this); + this.collection.on('remove', this.remove_existing_option, this); + this.collection.on('reset', this.empty_list, this); + }, + + events: { + 'change': 'selection_changed' + }, + + empty_list: function(){ + this.$el.empty(); + }, + + render_new_option: function(item){ + this.$el.append(new this.Option({ + model: item, + value_field: this.value_field, + text_field: this.text_field + }).render().el); + }, + + remove_existing_option: function(item){ + this.$el.find("option[value='"+item.id+"']").remove(); + }, + + /** + * After a selection has changed, set the 'selected' property for each item in the + * collection + * @triggers 'selected' + **/ + selection_changed: function(){ + // Get selected options from DOM + var selections = _.map(this.$el.find(':selected'), function(element){ + return $(element).val(); + }); + + // Set the 'selected' attribute for each item in the collection + this.collection.each(function(item){ + if (_.indexOf(selections, item.id) >= 0 || _.indexOf(selections, item.id.toString()) >= 0) + item.set('selected', true); + else + item.set('selected', false); + }); + this.collection.trigger('selected'); + }, + + render: function(){ + this.$el.empty(); + if (this.options.include_blank) { + this.$el.append("<option></option>"); + } + this.collection.each(function(item){ + var option = new this.Option({ + model: item, + value_field: this.value_field, + text_field: this.text_field + }); + this.$el.append(option.render().el); + }, this); + if (this.multiple) this.$el.prop('multiple', true); + if (this.width) this.$el.width(this.width); + return this; + }, + + /** + * Represents an option in the Select drop-down + **/ + Option: Backbone.View.extend({ + tagName: 'option', + + model: null, + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.model.on('change', this.render, this); + }, + + render: function(){ + var self = this; + this.$el.html(this.model.get(this.text_field).replace(/\\&/g, '&').replace(/\\'/g, "'")); + this.$el.prop({ + value: this.value_field == 'id' ? this.model.id : this.model.get(this.value_field), + }); + if (self.model.get('selected') == true) { + this.$el.attr('selected', 'selected'); + } + return this; + } + }) + }); + + + Ngg.Views.Chosen = Backbone.View.extend({ + tagName: 'span', + + initialize: function(){ + this.collection = this.options.collection; + if (!this.options.multiple) this.options.include_blank = true; + this.select_tag = new Ngg.Views.SelectTag(this.options); + this.collection.on('change', this.selection_changed, this); + }, + + selection_changed: function(e){ + if (_.isUndefined(e.changed['selected'])) this.render(); + }, + + render: function(){ + + this.$el.append(this.select_tag.render().$el); + if (this.options.width) + this.select_tag.$el.width(this.options.width); + + // Configure select2 options + this.select2_opts = { + placeholder: this.options.placeholder + }; + + // Create the select2 drop-down + if (this.$el.parent().length == 0) { + $('body').append(this.$el); + this.select_tag.$el.select2(this.select2_opts); + var container = this.select_tag.$el.select2('container').detach(); + this.$el.append(container); + this.$el.detach(); + + } + else this.select_tag.$el.select2(this.select2_opts); + + // Hack for multi-select elements + if (this.options.multiple && this.collection.selected().length == 0) + this.select_tag.$el.select2('val', ''); + + // For IE, ensure that the text field has a width + this.$el.find('.select2-input').width(this.options.width-20); + + // For IE8, ensure that the selection is being displayed + if (!this.options.multiple) { + var selected_value = this.$el.find('.select2-choice span:first'); + if (selected_value.text().length == 0 && this.collection.selected().length > 0) { + var selected_item = this.collection.selected().pop(); + selected_value.text(selected_item.get(this.select_tag.text_field)); + } + } + else { + var selected_values = this.$el.find('.select2-search-choice'); + if (this.collection.selected().length > 0 && selected_values.length == 0) { + this.select_tag.$el.select2('val', ''); + var data = []; + var value_field = this.select_tag.value_field; + _.each(this.collection.selected(), function(item){ + var value = value_field == 'id' ? item.id : item.get(value_field); + data.push({ + id: value, + text: item.get(this.select_tag.text_field) + }); + }, this); + this.select_tag.$el.select2('data', data); + } + } + + return this; + } + }); + + /***************************************************************************** + ** DISPLAY TAB DEFINITION + ***/ + + /** + * Setup a namespace + **/ + Ngg.DisplayTab = { + Models: {}, + Views: {}, + App: {} + }; + + /***************************************************************************** + * MODEL CLASSES + **/ + + /** + * A collection that can fetch it's entities from the server + **/ + Ngg.Models.Remote_Collection = Ngg.Models.SelectableItems.extend({ + fetch_limit: 5000, + in_progress: false, + fetch_url: photocrati_ajax.url, + action: '', + extra_data: {}, + + _create_request: function(limit, offset) { + var request = <?php echo $sec_token?>; + request = _.extend(request, { + action: this.action, + limit: limit ? limit : this.fetch_limit, + offset: offset ? offset : 0 + + }); + for (var index in this.extra_data) { + var value = this.extra_data[index]; + if (typeof(request[index]) == 'undefined') { + request[index] = {}; + } + if (typeof(value['toJSON']) != 'undefined') { + value = value.toJSON(); + } + request[index] = _.extend(request[index], value); + } + return request; + }, + + _add_item: function(item) { + this.push(item); + }, + + fetch: function(limit, offset){ + // Request the entities from the server + var self = this; + this.in_progress = true; + $.post(this.fetch_url, this._create_request(limit, offset), function(response){ + if (!_.isObject(response)) response = JSON.parse(response); + + if (response.items) { + _.each(response.items, function(item){ + self._add_item(item); + }); + + // Continue fetching ? + if (response.total >= response.limit+response.offset) { + self.fetch(response.limit, response.offset+response.limit); + } + else { + self.in_progress = false; + self.trigger('finished_fetching'); + } + } + }); + } + }); + + + /** + * Ngg.DisplayTab.Models.Displayed_Gallery + * Represents the displayed gallery being edited or created by the Display Tab + **/ + Ngg.DisplayTab.Models.Displayed_Gallery = Backbone.Model.extend({ + defaults: { + source: null, + container_ids: [], + entity_ids: [], + display_type: null, + display_settings: {}, + exclusions: [], + sortorder: [], + slug: null + } + }); + + /** + * Ngg.DisplayTab.Models.Source + * Represents an individual source used to collect displayable entities from + **/ + Ngg.DisplayTab.Models.Source = Backbone.Model.extend({ + idAttribute: 'name', + defaults: { + title: '', + name: '', + selected: false + } + }); + + /** + * Ngg.DisplayTab.Models.Source_Collection + * Used as a collection of all the available sources for entities + **/ + Ngg.DisplayTab.Models.Source_Collection = Ngg.Models.SelectableItems.extend({ + model: Ngg.DisplayTab.Models.Source, + + selected_value: function(){ + var retval = null; + var selected = this.selected(); + if (selected.length > 0) { + retval = selected[0].get('name'); + } + return retval; + } + }); + + /** + * Ngg.DisplayTab.Models.Gallery + * Represents an individual gallery entity + **/ + Ngg.DisplayTab.Models.Gallery = Backbone.Model.extend({ + idAttribute: '<?php echo $gallery_primary_key ?>', + defaults: { + title: '', + name: '' + } + }); + + /** + * Ngg.DisplayTab.Models.Gallery_Collection + * Collection of gallery objects + **/ + Ngg.DisplayTab.Models.Gallery_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Gallery, + + action: 'get_existing_galleries' + }); + + /** + * Ngg.DisplayTab.Models.Album + * Represents an individual Album object + **/ + Ngg.DisplayTab.Models.Album = Backbone.Model.extend({ + defaults: { + title: '', + name: '' + } + }); + + /** + * Ngg.DisplayTab.Models.Album_Collection + * Used as a collection of album objects + **/ + Ngg.DisplayTab.Models.Album_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Album, + + action: 'get_existing_albums' + }); + + /** + * Ngg.DisplayTab.Models.Tag + * Represents an individual tag object + **/ + Ngg.DisplayTab.Models.Tag = Backbone.Model.extend({ + defaults: { + title: '' + } + }); + + /** + * Ngg.DisplayTab.Models.Tag_Collection + * Represents a collection of tag objects + **/ + Ngg.DisplayTab.Models.Tag_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Tag, + /* + selected_ids: function(){ + return this.selected().map(function(item){ + return item.get('name'); + }); + }, + */ + + action: 'get_existing_image_tags' + }); + + /** + * Ngg.DisplayTab.Models.Display_Type + * Represents an individual display type + **/ + Ngg.DisplayTab.Models.Display_Type = Backbone.Model.extend({ + idAttribute: 'name', + defaults: { + title: '' + }, + + is_compatible_with_source: function(source){ + var success = true; + for (index in source.get('returns')) { + var returned_entity_type = source.get('returns')[index]; + if (_.indexOf(this.get('entity_types'), returned_entity_type) < 0) { + success = false; + break; + } + } + return success; + } + }); + + /** + * Ngg.DisplayTab.Models.Display_Type_Collection + * Represents a collection of display type objects + **/ + Ngg.DisplayTab.Models.Display_Type_Collection = Ngg.Models.SelectableItems.extend({ + model: Ngg.DisplayTab.Models.Display_Type, + + selected_value: function(){ + var retval = null; + var selected = this.selected(); + if (selected.length > 0) { + return selected[0].get('name'); + } + return retval; + } + }); + + /** + * Ngg.DisplayTab.Models.Entity + * Represents an entity to display on the front-end + **/ + Ngg.DisplayTab.Models.Entity = Backbone.Model.extend({ + entity_id: function(){ + return this.get(this.get('id_field')); + }, + + is_excluded: function() { + current_value = this.get('exclude'); + if (_.isUndefined(current_value)) return false; + else if (_.isBoolean(current_value)) return current_value; + else return parseInt(current_value) == 0 ? false : true; + }, + + is_included: function(){ + return !this.is_excluded(); + }, + + is_gallery: function(){ + retval = false; + if (this.get('is_gallery') == true) retval = true; + return retval; + }, + + is_album: function(){ + retval = false; + if (this.get('is_album') == true) retval = true; + return retval; + }, + + is_image: function(){ + return !this.is_album() && !this.is_gallery(); + }, + + alttext: function(){ + if (this.is_image()) { + return this.get('alttext'); + } + else if (this.is_gallery()) { + return this.get('title'); + } + else if (this.is_album()) { + return this.get('name'); + } + } + }); + + /** + * Ngg.DisplayTab.Models.Entity_Collection + * Represents a collection of entities + **/ + Ngg.DisplayTab.Models.Entity_Collection = Ngg.Models.Remote_Collection.extend({ + model: Ngg.DisplayTab.Models.Entity, + + action: 'get_displayed_gallery_entities', + + _add_item: function(item){ + item.exclude = parseInt(item.exclude) == 1 ? true : false; + item.is_gallery = parseInt(item.is_gallery) == 1 ? true : false; + item.is_album = parseInt(item.is_album) == 1 ? true : false; + this.push(item); + }, + + entity_ids: function(){ + return this.map(function(item){ + return item.entity_id(); + }); + }, + + included_ids: function(){ + return _.compact(this.map(function(item){ + if (item.is_included()) return item.entity_id(); + })); + }, + + excluded_ids: function() { + return _.compact(this.map(function(item) { + if (!item.is_included()) { + return item.entity_id(); + } + })); + } + }); + + + Ngg.DisplayTab.Models.SortOrder = Backbone.Model.extend({ + }); + + Ngg.DisplayTab.Models.SortOrder_Options = Ngg.Models.SelectableItems.extend({ + model: Ngg.DisplayTab.Models.SortOrder + }); + Ngg.DisplayTab.Models.SortDirection = Backbone.Model.extend({ + + }); + Ngg.DisplayTab.Models.SortDirection_Options = Backbone.Collection.extend({ + model: Ngg.DisplayTab.Models.SortDirection + }); + + Ngg.DisplayTab.Models.Slug = Backbone.Model.extend({}); + + /***************************************************************************** + * VIEW CLASSES + **/ + + /** + * Ngg.DisplayTab.Views.Source_Config + * Used to populate the source configuration tab + **/ + Ngg.DisplayTab.Views.Source_Config = Backbone.View.extend({ + el: '#source_configuration', + + selected_view: null, + + /** + * Bind to the "sources" collection to know when a selection has been made + * and determine what sub-view to render + **/ + initialize: function(){ + this.sources = Ngg.DisplayTab.instance.sources; + this.sources.on('selected', this.render, this); + _.bindAll(this, 'render'); + this.render(); + }, + + render: function(){ + var chosen = new Ngg.Views.Chosen({ + id: 'source_select', + collection: this.sources, + placeholder: 'Select a source', + width: 500 + }); + + this.$el.html('<tr><td><label>Sources</label></td><td id="source_column"></td></tr>'); + this.$el.find('#source_column').append(chosen.render().el); + + var selected = this.sources.selected(); + if (selected.length) { + var view_name = _.str.capitalize(selected.pop().id)+"Source"; + if (typeof(Ngg.DisplayTab.Views[view_name]) != 'undefined') { + var selected_view = new Ngg.DisplayTab.Views[view_name]; + this.$el.append(selected_view.render().el); + } + } + + return this; + } + }); + + Ngg.DisplayTab.Views.Slug_Config = Backbone.View.extend({ + el: '#slug_configuration', + + selected_view: null, + + initialize: function() { + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.slug = Ngg.DisplayTab.instance.displayed_gallery.get('slug'); + this.render(); + }, + + render: function() { + var self = this; + + var input = $('<input>').prop({ + type: 'text', + name: 'slug', + value: this.slug, + placeholder: '(optional)', + id: 'field_slug' + }); + + input.change(function() { + self.displayed_gallery.set('slug', $(this).val()); + }); + + var tooltip = 'Sets an SEO-friendly name to this gallery for URLs. Currently only in use by the Pro Lightbox.'; + this.$el.append('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="' + tooltip + '">Slug</label></td><td id="slug_column"></td></tr>'); + this.$el.find('#slug_column').append(input); + + return this; + } + }); + + Ngg.DisplayTab.Views.Display_Type_Selector = Backbone.View.extend({ + el: '#display_type_selector', + + initialize: function(){ + this.display_types = Ngg.DisplayTab.instance.display_types; + this.display_type_order_base = Ngg.DisplayTab.instance.display_type_order_base; + this.display_type_order_step = Ngg.DisplayTab.instance.display_type_order_step; + this.sources = Ngg.DisplayTab.instance.sources; + this.render(); + }, + + selection_changed: function(value){ + var selected_type = null; + this.display_types.each(function(item){ + if (item.get('name') == value) { + selected_type = item; + item.set('selected', true); + } + else { + item.set('selected', false); + } + }); + + if (selected_type) { + var selected_source = this.sources.selected_value(); + var default_source = selected_type.get('default_source'); + + // If the default source isn't selected, then select it + if (default_source && selected_source != default_source) { + + // Get the default source object by name + default_source = this.sources.where({ + name: default_source + }); + + // Does the default source exist ? + if (default_source.length > 0) { + default_source = default_source[0]; + this.sources.deselect_all(); + this.sources.select(default_source.id); + } + } + } + + $('.display_settings_form').each(function(){ + $this = $(this); + if ($this.attr('rel') == value) $this.removeClass('hidden'); + else $this.addClass('hidden'); + }); + }, + + render: function(){ + var selected_source = this.sources.selected(); + var current_step = 0; + selected_source = selected_source.length > 0 ? selected_source[0] : false; + this.$el.empty(); + + var order_base = this.display_type_order_base; + var order_step = this.display_type_order_step; + + this.display_types.each(function(item){ + if (selected_source && !item.is_compatible_with_source(selected_source)) { + + // Show all display types if we're viewing the display type + // selector tab + var display_tab = $('#display_type_tab_content:visible'); + if (display_tab.length == 0) return; + else if (display_tab.css('visibility') == 'hidden') return; + } + var display_type = new this.DisplayType; + display_type.model = item; + display_type.on('selected', this.selection_changed, this); + if (!this.display_types.selected_value()) { + item.set('selected', true); + this.selection_changed(item.id); + } + var display_order = item.get('view_order'); + if (!display_order) + display_order = order_base; + var display_step = Math.floor(display_order / order_step); + if (current_step > 0 && display_step > current_step) { + this.$el.append('<li class="clear" style="height: 10px" />'); + } + current_step = display_step; + this.$el.append(display_type.render().el); + }, this); + return this; + }, + + DisplayType: Backbone.View.extend({ + className: 'display_type_preview', + + events: { + click: 'clicked' + }, + + clicked: function(e){ + this.trigger('selected', this.model.get('name')); + }, + + render: function() { + // Create all elements + var image_container = $('<div/>').addClass('image_container'); + var img = $('<img/>').attr({ + src: photocrati_ajax.wp_site_static_url + '/' + this.model.get('preview_image_relpath'), + title: this.model.get('title'), + alt: this.model.get('alt') + }); + var inner_div = $('<div/>'); + var radio_button = $('<input/>').prop({ + type: 'radio', + value: this.model.get('name'), + title: this.model.get('title'), + name: 'display_type', + checked: this.model.get('selected') + }); + image_container.append(inner_div); + image_container.append(img); + inner_div.append(radio_button); + inner_div.append(this.model.get('title')); + this.$el.append(image_container); + return this; + } + }) + }); + + Ngg.DisplayTab.Views.Preview_Area = Backbone.View.extend({ + el: '#preview_area', + + initialize: function(){ + this.entities = Ngg.DisplayTab.instance.entities; + this.sources = Ngg.DisplayTab.instance.sources; + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + + // Create the entity list + this.entity_list = $('<ul/>').attr('id', 'entity_list').append('<li class="clear"/>'); + + // When an entity is added/removed to the collection, we'll add/remove it on the DOM + this.entities.on('add', this.render_entity, this); + this.entities.on('remove', this.remove_entity, this); + + // When the collection is reset, we add a list item to clear the float. This is important - + // jQuery sortable() will break without the cleared element. + this.entities.on('reset', this.entities_reset, this); + + // When jQuery sortable() is finished sorting, we need to adjust the order of models in the collection + this.entities.on('change:sortorder', function(model){ + this.entities.remove(model, {silent: true}); + this.entities.add(model, {at: model.changed.sortorder, silent: true}); + this.displayed_gallery.set('sortorder', this.entities.entity_ids()); + this.displayed_gallery.set('order_by', 'sortorder'); + }, this); + + // Reset when the source changes + this.sources.on('selected', this.render, this); + + this.render(); + }, + + events: { + opened: 'entities_reset' + }, + + entities_reset: function(e){ + this.entities.reset(null, {silent: true}); + this.entity_list.empty().append('<li class="clear"/>'); + if (!this.entities.in_progress) this.entities.fetch(); + }, + + render_entity: function(model){ + var entity_element = new this.EntityElement({model: model}); + this.entity_list.find('.clear').before(entity_element.render().$el); + entity_element.$el.css('visibility', 'hidden'); + setTimeout(function(){ + entity_element.$el.css('visibility', 'visible'); + }, 0); + if (this.$el.find('.no_entities').length == 1) { + this.render(); + } + else if (this.entities.length > 1) { + this.entity_list.sortable('refresh'); + } + }, + + remove_entity: function(model){ + var id = this.id = model.get('id_field')+'_'+model.entity_id(); + var entity = this.entity_list.find('#'+id).remove(); + this.entity_list.sortable('refresh'); + if (this.entities.length == 0) { + this.render_no_images_notice(); + } + }, + + render_no_images_notice: function(){ + this.$el.empty(); + this.$el.append("<p class='no_entities'>No entities to display for this source.</p>"); + }, + + render: function(){ + this.$el.empty(); + if (this.entities.length > 0 && this.displayed_gallery.get('container_ids').length > 0) { + + // Render header rows + this.$el.append(new this.RefreshButton({ + entities: this.entities + }).render().el); + this.$el.append(new this.SortButtons({ + entities: this.entities, + displayed_gallery: this.displayed_gallery, + sources: this.sources + }).render().el); + this.$el.append(new this.ExcludeButtons({ + entities: this.entities + }).render().el); + + this.$el.append(this.entity_list); + + // Activate jQuery Sortable for the entity list + this.entity_list.sortable({ + placeholder: 'placeholder', + forcePlaceholderSize: true, + containment: 'parent', + opacity: 0.7, + revert: true, + dropOnEmpty: true, + start: function(e, ui){ + ui.placeholder.css({ + height: ui.item.height() + }); + return true; + }, + stop: function(e, ui) { + ui.item.trigger('drop', ui.item.index()); + } + }); + this.entity_list.disableSelection(); + } + else { + this.render_no_images_notice(); + } + return this; + }, + + RefreshButton: Backbone.View.extend({ + className: 'refresh_button', + + tagName: 'input', + + label: 'Refresh', + + events: { + click: 'clicked' + }, + + clicked: function(){ + this.entities.reset(); + }, + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + render: function(){ + this.$el.attr({ + value: this.label, + type: 'button' + }); + return this; + } + }), + + ExcludeButtons: Backbone.View.extend({ + className: 'header_row', + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + render: function(){ + this.$el.empty(); + this.$el.append('<strong>Exclude:</strong>'); + var all_button = new this.Button({ + value: true, + text: 'All', + entities: this.entities + }); + this.$el.append(all_button.render().el); + this.$el.append('<span class="separator">|</span>'); + var none_button = new this.Button({ + value: false, + text: 'None', + entities: this.entities + }); + this.$el.append(none_button.render().el); + return this; + }, + + Button: Backbone.View.extend({ + tagName: 'a', + + value: 1, + + text: '', + + events: { + click: 'clicked' + }, + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + clicked: function(e){ + e.preventDefault(); + this.entities.each(function(item){ + item.set('exclude', this.value); + }, this); + }, + + render: function(){ + this.$el.text(this.text).attr('href', '#'); + return this; + } + }) + }), + + SortButtons: Backbone.View.extend({ + className: 'header_row', + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.sortorder_options = new Ngg.DisplayTab.Models.SortOrder_Options(); + this.sortorder_options.on('change:selected', this.sortoption_changed, this); + + // Create sort directions and listen for selection changes + this.sortdirection_options = new Ngg.DisplayTab.Models.SortDirection_Options([ + { + value: 'ASC', + title: 'Ascending', + selected: this.displayed_gallery.get('order_direction') == 'ASC' + }, + { + value: 'DESC', + title: 'Descending', + selected: this.displayed_gallery.get('order_direction') == 'DESC' + } + ]); + this.sortdirection_options.on('change:selected', this.sortdirection_changed, this); + }, + + populate_sorting_fields: function(){ + // We display difference sorting buttons depending on what type of entities we're dealing with. + var entity_types = this.sources.selected().pop().get('returns'); + if (_.indexOf(entity_types, 'image') !== -1) { + this.fill_image_sortorder_options(); + } + else { + this.fill_gallery_sortorder_options(); + } + }, + + create_sortorder_option: function(name, title){ + return new Ngg.DisplayTab.Models.SortOrder({ + name: name, + title: title, + value: name, + selected: this.displayed_gallery.get('order_by') == name + }); + }, + + fill_image_sortorder_options: function(){ + this.sortorder_options.reset(); + this.sortorder_options.push(this.create_sortorder_option('', 'None')); + this.sortorder_options.push(this.create_sortorder_option('sortorder', 'Custom')); + this.sortorder_options.push(this.create_sortorder_option(Ngg.DisplayTab.instance.image_key, 'Image ID')); + this.sortorder_options.push(this.create_sortorder_option('filename', 'Filename')); + this.sortorder_options.push(this.create_sortorder_option('alttext', 'Alt/Title Text')); + this.sortorder_options.push(this.create_sortorder_option('imagedate', 'Date/Time')); + }, + + fill_gallery_sortorder_options: function(){ + this.sortorder_options.reset(); + this.sortorder_options.push(this.create_sortorder_option('', 'None')); + this.sortorder_options.push(this.create_sortorder_option('sortorder' ,'Custom')); + this.sortorder_options.push(this.create_sortorder_option('name', 'Name')); + this.sortorder_options.push(this.create_sortorder_option('galdesc', 'Description')); + }, + + sortoption_changed: function(model){ + this.sortorder_options.each(function(item){ + item.set('selected', model.get('value') == item.get('value') ? true : false, {silent: true}); + }); + + this.displayed_gallery.set('sortorder', []); + + var sort_by = model.get('value'); + + // If "None" was selected, then clear the "sortorder" property + if (model.get('value').length == 0) { + sort_by = 'sortorder'; + } + + // Change the "sort by" parameter + this.displayed_gallery.set('order_by', sort_by); + + this.entities.reset(); + this.$el.find('a.sortorder').each(function(){ + var $item = $(this); + if ($item.attr('value') == model.get('value')) + $item.addClass('selected'); + else + $item.removeClass('selected'); + }); + }, + + sortdirection_changed: function(model){ + + this.sortdirection_options.each(function(item){ + item.set('selected', model.get('value') == item.get('value') ? true : false, {silent: true}); + }); + this.displayed_gallery.set('order_direction', model.get('value')); + this.entities.reset(); + this.$el.find('a.sortdirection').each(function(){ + var $item = $(this); + if ($item.attr('value') == model.get('value')) + $item.addClass('selected'); + else + $item.removeClass('selected'); + }); + }, + + render: function(){ + this.$el.empty(); + this.populate_sorting_fields(); + this.$el.append('<strong>Sort By:</strong>'); + this.sortorder_options.each(function(item, index){ + var button = new this.Button({model: item, className: 'sortorder'}); + this.$el.append(button.render().el); + if (this.sortorder_options.length-1 > index) { + this.$el.append('<span class="separator">|</span>'); + } + }, this); + this.$el.append('<strong style="margin-left: 30px;">Order By:</strong>'); + this.sortdirection_options.each(function(item, index){ + var button = new this.Button({model: item, className: 'sortdirection'}); + this.$el.append(button.render().el); + if (this.sortdirection_options.length-1 > index) { + this.$el.append('<span class="separator">|</span>'); + } + }, this); + return this; + }, + + Button: Backbone.View.extend({ + tagName: 'a', + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + }, + + events: { + click: 'clicked' + }, + + clicked: function(e){ + e.preventDefault(); + this.model.set('selected', true); + }, + + render: function(){ + this.$el.prop({ + value: this.model.get('value'), + href: '#' + }); + this.$el.text(this.model.get('title')); + if (this.model.get('selected')) this.$el.addClass('selected'); + return this; + } + }) + }), + + // Individual entity in the preview area + EntityElement: Backbone.View.extend({ + tagName: 'li', + + events: { + drop: 'item_dropped' + }, + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.model.on('change', this.render, this); + this.id = this.model.get('id_field')+'_'+this.model.entity_id() + }, + + item_dropped: function(e, index){ + this.model.set('sortorder', index); + }, + + render: function(){ + this.$el.empty(); + var image_container = $('<div/>').addClass('image_container'); + var alt_text = this.model.alttext().replace(/\\&/g, '&').replace(/\\'/g, "'"); + var timestamp = new Date().getTime(); + image_container.attr({ + title: alt_text, + style: "background-image: url('"+this.model.get('thumb_url')+"?timestamp"+timestamp+"')" + }).css({ + width: this.model.get('max_width'), + height: this.model.get('max_height'), + 'max-width': this.model.get('max_width'), + 'max-height': this.model.get('max_height') + }); + + this.$el.append(image_container).addClass('ui-state-default'); + + // Add exclude checkbox + var exclude_container = $('<div/>').addClass('exclude_container'); + exclude_container.append('Exclude?'); + var exclude_checkbox = new this.ExcludeCheckbox({model: this.model}); + exclude_container.append(exclude_checkbox.render().el); + image_container.append(exclude_container); + return this; + }, + + ExcludeCheckbox: Backbone.View.extend({ + tagName: 'input', + + events: { + 'change': 'entity_excluded' + }, + + type_set: false, + + entity_excluded: function(e){ + this.model.set('exclude', e.target.checked); + }, + + initialize: function(){ + _.each(this.options, function(value, key){ + this[key] = value; + }, this); + this.model.on('change:exclude', this.render, this); + }, + + render: function(){ + if (!this.type_set) { + this.$el.attr('type', 'checkbox'); + this.type_set = true; + } + if (this.model.is_excluded()) this.$el.prop('checked', true); + else this.$el.prop('checked', false); + return this; + } + }) + }) + }); + + + // Additional source configuration views. These will be rendered dynamically by PHP. + // Adapters will add them. + Ngg.DisplayTab.Views.GalleriesSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.galleries = Ngg.DisplayTab.instance.galleries; + }, + + render: function(){ + var select = new Ngg.Views.Chosen({ + collection: this.galleries, + placeholder: 'Select a gallery', + multiple: true, + width: 500 + }); + var html = $('<tr><td><label>Galleries</label></td><td class="galleries_column"></td></tr>'); + this.$el.empty(); + this.$el.append(html); + this.$el.find('.galleries_column').append(select.render().el); + return this; + } + }); + + Ngg.DisplayTab.Views.AlbumsSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.albums = Ngg.DisplayTab.instance.albums; + }, + + render: function(){ + var album_select = new Ngg.Views.Chosen({ + collection: this.albums, + multiple: true, + placeholder: 'Select an album', + text_field: 'name', + width: 500 + }); + this.$el.empty(); + this.$el.append('<tr><td><label>Albums</label></td><td class="albums_column"></td></tr>'); + this.$el.find('.albums_column').append(album_select.render().el); + return this; + } + }); + + Ngg.DisplayTab.Views.TagsSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.tags = Ngg.DisplayTab.instance.tags; + }, + + render: function(){ + var tag_select = new Ngg.Views.Chosen({ + collection: this.tags, + multiple: true, + placeholder: 'Select a tag', + text_field: 'name', + width: 500 + }); + this.$el.empty(); + this.$el.append('<tr><td><label>Tags</label></td><td class="tags_column"></td></tr>'); + this.$el.find('.tags_column').append(tag_select.render().el); + return this; + } + }); + + Ngg.DisplayTab.Views.Recent_imagesSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.maximum_entity_count = Ngg.DisplayTab.instance.displayed_gallery.get('maximum_entity_count'); + this.displayed_gallery.set('container_ids', []); + }, + + render: function(){ + var self = this; + var edit_field = $('<input/>').prop({ + type: 'text', + value: this.maximum_entity_count, + name: 'maximum_entity_count' + }); + + edit_field.change(function () { + self.displayed_gallery.set('maximum_entity_count', $(this).val()); + }); + + this.$el.empty(); + this.$el.append('<tr><td><label># of Images To Display</label></td><td class="recent_images_column"></td></tr>'); + this.$el.find('.recent_images_column').append(edit_field); + return this; + } + }); + + Ngg.DisplayTab.Views.Random_imagesSource = Backbone.View.extend({ + tagName: 'tbody', + + initialize: function(){ + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.maximum_entity_count = Ngg.DisplayTab.instance.displayed_gallery.get('maximum_entity_count'); + this.displayed_gallery.set('container_ids', []); + }, + + render: function(){ + var self = this; + var edit_field = $('<input/>').prop({ + type: 'text', + value: this.maximum_entity_count, + name: 'maximum_entity_count' + }); + + edit_field.change(function () { + self.displayed_gallery.set('maximum_entity_count', $(this).val()); + }); + + this.$el.empty(); + this.$el.append('<tr><td><label># of Images To Display</label></td><td class="random_images_column"></td></tr>'); + this.$el.find('.random_images_column').append(edit_field); + return this; + } + }); + + Ngg.DisplayTab.Views.SaveButton = Backbone.View.extend({ + el: '#save_displayed_gallery', + + errors_el: '#errors', + + displayed_gallery: null, + + events: { + click: 'clicked' + }, + + initialize: function(){ + this.displayed_gallery = Ngg.DisplayTab.instance.displayed_gallery; + this.entities = Ngg.DisplayTab.instance.entities; + this.render(); + }, + + clicked: function(){ + this.set_display_settings(); + var request = <?php echo $sec_token?>; + request = _.extend(request, { + action: 'save_displayed_gallery', + displayed_gallery: this.displayed_gallery.toJSON() + }); + + var self = this; + $.post(photocrati_ajax.url, request, function(response){ + if (!_.isObject(response)) response = JSON.parse(response); + if (response['validation_errors'] != undefined) { + $(self.errors_el).empty().append(response.validation_errors); + } + else if (response['error'] != undefined) { + alert(response.error); + } + else { + var id_field = response.displayed_gallery.id_field; + var id = response.displayed_gallery[id_field]; + self.displayed_gallery.set('id', id); + var editor = parent.tinyMCE.activeEditor; + var preview_url = ngg_displayed_gallery_preview_url + '/id--'+id; + var snippet = "<img class='ngg_displayed_gallery mceItem' src='" + preview_url + "'/>"; + if (editor.getContent().indexOf(preview_url) < 0) + editor.execCommand('mceInsertContent', false, snippet); + else { + $(editor.contentDocument).find(".ngg_displayed_gallery[src='"+preview_url+"']").attr('src', preview_url); + } + close_attach_to_post_window(); + } + }); + }, + + set_display_settings: function(){ + var display_type = this.displayed_gallery.get('display_type'); + if (display_type) { + // Collect display settings + var form = $("form[rel='"+display_type+"']"); + var display_settings = (function(item){ + var obj = {}; + $.each(item.serializeArray(), function(key, item) { + var parts = item.name.split('['); + var current_obj = obj; + for (var i=0; i<parts.length; i++) { + var part = parts[i].replace(/\]$/, ''); + if (!current_obj[part]) { + if (i == parts.length-1) + current_obj[part] = item.value; + else + current_obj[part] = {}; + } + current_obj = current_obj[part]; + } + }); + return obj; + })(form); + + // Set display settings for displayed gallery + this.displayed_gallery.set('display_settings', display_settings[display_type]); + } + }, + + render: function(){ + return this; + } + }); + + /***************************************************************************** + * APPLICATION + **/ + Ngg.DisplayTab.App = Backbone.View.extend({ + /** + * Initializes the DisplayTab object + **/ + initialize: function(){ + // TODO: We're currently fetching ALL galleries, albums, and tags + // in one shot. Instead, we should display the displayed_gallery's + // containers, if there are any, otherwise get the first 100 or so. + // We can then use AJAX to fetch the rest of batches. + this.displayed_gallery = new Ngg.DisplayTab.Models.Displayed_Gallery( + <?php echo $displayed_gallery ?> + ); + + this.original_displayed_gallery = new Ngg.DisplayTab.Models.Displayed_Gallery( + <?php echo $displayed_gallery ?> + ); + this.galleries = new Ngg.DisplayTab.Models.Gallery_Collection( + <?php echo $galleries ?> + ); + this.albums = new Ngg.DisplayTab.Models.Album_Collection( + <?php echo $albums ?> + ); + this.tags = new Ngg.DisplayTab.Models.Tag_Collection( + <?php echo $tags ?> + ); + this.sources = new Ngg.DisplayTab.Models.Source_Collection( + <?php echo $sources ?> + ) + this.display_types = new Ngg.DisplayTab.Models.Display_Type_Collection( + <?php echo $display_types ?> + ); + this.display_type_order_base = <?php echo NEXTGEN_DISPLAY_PRIORITY_BASE; ?>; + this.display_type_order_step = <?php echo NEXTGEN_DISPLAY_PRIORITY_STEP; ?>; + this.entities = new Ngg.DisplayTab.Models.Entity_Collection(); + this.entities.extra_data.displayed_gallery = this.displayed_gallery; + + // Pre-select current displayed gallery values + if (this.displayed_gallery.get('source')) { + + // Pre-select source + if (this.displayed_gallery.get('source')) { + var source = this.sources.find(function(item){ + return item.get('name') == this.displayed_gallery.get('source'); + }, this); + if (source) source.set('selected', true); + } + + // Pre-select containers + if (this.displayed_gallery.get('container_ids')) { + _.each(this.displayed_gallery.get('container_ids'), function(id){ + var container = this[this.displayed_gallery.get('source')].find(function(item){ + return item.id == id; + }, this); + if (container) container.set('selected', true); + }, this); + } + + // Pre-select display type + if (this.displayed_gallery.get('display_type')) { + var display_type = this.display_types.find(function(item){ + return item.get('name') == this.displayed_gallery.get('display_type'); + }, this); + if (display_type) display_type.set('selected', true); + } + } + + // Bind to the 'selected' event for each of the collections, and update the displayed + // gallery object's 'container_ids' attribute when something has changed + collections = ['galleries', 'albums', 'tags']; + _.each(collections, function(collection){ + this[collection].on('selected', function(){this.update_selected_containers(collection);}, this); + }, this); + + // Bind to the 'selected' event for the display types collection, updating the displayed gallery + this.display_types.on('change:selected', function(){ + this.displayed_gallery.set('display_type', this.display_types.selected_value()); + }, this); + + // Bind to the 'selected' event for the source, updating the displayed gallery + this.sources.on('selected', function(){ + this.displayed_gallery.set('source', this.sources.selected_value()); + + // If the source changed, and it's not the set to the original value, then + // exclusions get's set to [] + if (this.sources.selected_value() != this.original_displayed_gallery.get('source')) + this.displayed_gallery.set('exclusions', this.entities.excluded_ids()); + + // Otherwise, we revert to the original exclusions + else + this.displayed_gallery.set('exclusions', this.original_displayed_gallery.get('exclusions')); + + // special exemption: these should default to a reasonable limit + if (this.sources.selected_value() == 'random_images' || this.sources.selected_value() == 'recent_images') { + this.displayed_gallery.set('maximum_entity_count', 20); + } + + // Reset everything else + this.galleries.deselect_all(); + this.albums.deselect_all(); + this.tags.deselect_all(); + + // If the selected source is incompatible with the current display type, then + // display a new list + var selected_display_type = this.display_types.selected(); + var selected_source = this.sources.selected(); + if (selected_display_type.length > 0 && selected_source.length > 0) { + selected_display_type = selected_display_type[0]; + selected_source = selected_source[0]; + if (!selected_display_type.is_compatible_with_source(selected_source)) + this.display_types.deselect_all(); + if (this.display_type_selector) this.display_type_selector.render(); + } + if (this.preview_area) this.preview_area.render(); + }, this); + + // Synchronize changes made to entities with the displayed gallery + this.entities.on('change:exclude finished_fetching', function(){ + //this.displayed_gallery.set('sortorder', this.entities.entity_ids()); + this.displayed_gallery.set('exclusions', this.entities.excluded_ids()); + }, this); + + // Monitor events in other tabs and respond as appropriate + if (window.Frame_Event_Publisher) { + var app = this; + + // New gallery event + Frame_Event_Publisher.listen_for('attach_to_post:new_gallery', function(){ + app.galleries.reset(); + app.galleries.fetch(); + }); + + // A change has been made using the "Manage Galleries" page + Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries attach_to_post:manage_images', function(data){ + + // Refresh the list of galleries + app.galleries.reset(); + app.galleries.fetch(); + + // If we're viewing galleries or images, then we need to refresh the entity list + var selected_source = app.sources.selected().pop(); + if (selected_source) { + if (_.indexOf(selected_source.get('returns'), 'image') >= 0 || + _.indexOf(selected_source.get('returns'), 'gallery')) { + app.entities.reset(); + } + } + }); + + // A change has been made using the "Manage Albums" page + Frame_Event_Publisher.listen_for('attach_to_post:manage_album', function(data){ + // Refresh the list of albums + app.albums.reset(); + app.albums.fetch(); + + // If we're viewing albums, then we need to refresh the entity list + var selected_source = app.sources.selected().pop(); + if (selected_source) { + if (_.indexOf(selected_source.get('returns'), 'album') >= 0) { + app.entities.reset(); + } + } + }); + + // A change has been made using the "Manage Tags" page + Frame_Event_Publisher.listen_for('attach_to_post:manage_tags attach_to_post:manage_images', function(data){ + // Refresh the list of tags + app.tags.reset(); + app.tags.fetch(); + + // If we're viewing galleries or images, then we need to refresh the entity list + var selected_source = app.sources.selected().pop(); + if (selected_source) { + if (_.indexOf(selected_source.get('returns'), 'image') >= 0 || + _.indexOf(selected_source.get('returns'), 'gallery')) { + app.entities.reset(); + } + } + }); + + // Thumbnail modified event + Frame_Event_Publisher.listen_for('attach_to_post:thumbnail_modified', function(data){ + var selected_source = app.sources.selected().pop(); + var image_id = data.image[data.image.id_field]; + + if (selected_source) { + + // Does the currently selected source return images? If so, + // check refresh the modified image's thumbnail + if(_.indexOf(selected_source.get('returns'), 'image') >= 0) { + var image = app.entities.find(function(item){ + return parseInt(item.entity_id()) == parseInt(image_id); + }, this); + if (image) image.set('thumb_url', data.image.thumb_url); + } + + // It must be an album or gallery + else { + var entity = app.entities.find(function(item){ + return parseInt(item.get('previewpic')) == image_id; + }, this); + if (entity) entity.trigger('change'); + } + } + }); + } + }, + + // Updates the selected container_ids for the displayed gallery + update_selected_containers: function(collection){ + this.displayed_gallery.set('container_ids', this[collection].selected_ids()); + }, + + render: function(){ + this.display_type_selector = new Ngg.DisplayTab.Views.Display_Type_Selector(); + new Ngg.DisplayTab.Views.Source_Config(); + new Ngg.DisplayTab.Views.Slug_Config(); + this.preview_area = new Ngg.DisplayTab.Views.Preview_Area(); + new Ngg.DisplayTab.Views.SaveButton(); + } + }); + Ngg.DisplayTab.instance = new Ngg.DisplayTab.App(); + Ngg.DisplayTab.instance.render(); + + // Invoke styling libraries + $('span.tooltip, label.tooltip').tooltip(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php new file mode 100644 index 000000000..2a00bece7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_source.php @@ -0,0 +1,2 @@ +<table id="source_configuration"></table> +<table id='slug_configuration'></table> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php new file mode 100644 index 000000000..32bf167b7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/display_tab_type.php @@ -0,0 +1,3 @@ +<div id="display_type_selector"> + +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php new file mode 100644 index 000000000..445f2fb65 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/no_display_type_selected.php @@ -0,0 +1,3 @@ +<p class="<?php echo esc_attr($css_class) ?>"> + <?php echo_h($no_display_type_selected)?> +</p> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php new file mode 100644 index 000000000..47d94fc03 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/attach_to_post/templates/preview_tab.php @@ -0,0 +1,3 @@ +<div id="preview_area"> + +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php new file mode 100644 index 000000000..85d03dfdd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/class.cache.php @@ -0,0 +1,85 @@ +<?php + +class C_Cache extends C_Component +{ + public static $_instances = array(); + + function define($context = FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Cache'); + $this->implement('I_Cache'); + } + + public static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Cache($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Cache extends Mixin +{ + /** + * Empties a directory of all of its content + * + * @param string $directory Absolute path + * @param bool $recursive Remove files from subdirectories of the cache + * @param string $regex (optional) Only remove files matching pattern; '/^.+\.png$/i' will match all .png + */ + public function flush_directory($directory, $recursive = TRUE, $regex = NULL) + { + // It is possible that the cache directory has not been created yet + if (!is_dir($directory)) + { + return; + } + + if ($recursive) + { + $directory = new DirectoryIterator($directory); + } + else { + $directory = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($directory), + RecursiveIteratorIterator::CHILD_FIRST + ); + } + + if (!is_null($regex)) + { + $iterator = RegexIterator($directory, $regex, RecursiveRegexIterator::GET_MATCH); + } + else { + $iterator = $directory; + } + + foreach ($iterator as $file) { + if ($file->isFile() || $file->isLink()) { + unlink($file->getPathname()); + } + elseif ($file->isDir() && !$file->isDot() && $recursive) { + rmdir($file->getPathname()); + } + } + } + + /** + * Flushes cache from all available galleries + * + * @param array $galleries When provided only the requested galleries' cache is flushed + */ + public function flush_galleries($galleries = array()) + { + if (empty($galleries)) + $galleries = $this->object->get_registry()->get_utility('I_Gallery_Mapper')->find_all(); + + foreach ($galleries as $gallery) { + $this->object->get_registry()->get_utility('I_Gallery_Storage')->flush_cache($gallery); + } + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php new file mode 100644 index 000000000..40340a816 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/interface.cache.php @@ -0,0 +1,7 @@ +<?php + +interface I_Cache +{ + function flush_directory($directory, $recursive = TRUE, $regex = NULL); + function flush_galleries($galleries = array()); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php new file mode 100644 index 000000000..f31fa81f8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/cache/module.cache.php @@ -0,0 +1,42 @@ +<?php +/*** +{ + Module: photocrati-cache +} +***/ +class M_Cache extends C_Base_Module +{ + /** + * Defines the module name & version + */ + function define() + { + parent::define( + 'photocrati-cache', + 'Cache', + 'Handles clearing of NextGen caches', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + /** + * Register utilities + */ + function _register_utilities() + { + $this->get_registry()->add_utility('I_Cache', 'C_Cache'); + } + + function get_type_list() + { + return array( + 'C_Cache' => 'class.cache.php', + 'I_Cache' => 'interface.cache.php' + ); + } +} + +new M_Cache(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt new file mode 100644 index 000000000..4b1f6eb01 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/README.txt @@ -0,0 +1 @@ +See the datamapper unit tests for details about the API \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php new file mode 100644 index 000000000..a9b40bbff --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/adapter.datamapper_factory.php @@ -0,0 +1,24 @@ +<?php + +class A_DataMapper_Factory extends Mixin +{ + function datamapper_model($mapper, $properties=array(), $context=FALSE) + { + return new C_DataMapper_Model($mapper, $properties=array(), $context); + } + + function datamapper($object_name, $context=FALSE) + { + return new C_DataMapper($object_name, $context); + } + + function custom_table_datamapper($object_name, $context=FALSE) + { + return new C_CustomTable_DataMapper_Driver($object_name, $context); + } + + function custom_post_datamapper($object_name, $context=FALSE) + { + return new C_CustomPost_DataMapper_Driver($object_name, $context); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.custompost_datamapper_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.custompost_datamapper_driver.php new file mode 100644 index 000000000..2d96435b8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.custompost_datamapper_driver.php @@ -0,0 +1,547 @@ +<?php + +class Mixin_CustomPost_DataMapper_Driver extends Mixin +{ + + /** + * Returns a list of querable table columns for posts + * @return array + */ + function _get_querable_table_columns() + { + return array('name', 'author', 'date', 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand', 'comment_count'); + } + + /** + * Used to select which fields should be returned. NOT currently used by + * this implementation of the datamapper driver + * @param type $fields + * @return C_DataMapper_Driver_Base + */ + function select($fields='*') + { + $this->object->_query_args = array( + 'post_type' => $this->object->get_object_name(), + 'paged' => FALSE, + 'fields' => $fields, + 'post_status' => 'any', + 'datamapper' => TRUE, + 'posts_per_page'=> -1, + 'is_select' => TRUE, + 'is_delete' => FALSE + ); + return $this->object; + } + + + /** + * Specifies an order clause + * @param type $order_by + * @param type $direction + * @return C_DataMapper_Driver_Base + */ + function order_by($order_by, $direction='ASC') + { + // Make an exception for the rand() method + $order_by = preg_replace("/rand\(\s*\)/", 'rand', $order_by); + + if (in_array($order_by, $this->object->_get_querable_table_columns())) { + $this->object->_query_args['orderby'] = $order_by; + } + else { // ordering by a meta value + $this->object->_query_args['orderby'] = 'meta_value'; + $this->object->_query_args['meta_key'] = $order_by; + } + $this->object->_query_args['order'] = $direction; + + return $this->object; + } + + /** + * Specifies a limit and optional offset + * @param integer $max + * @param integer $offset + * @return C_DataMapper_Driver_Base + */ + function limit($max, $offset=FALSE) + { + if ($max) { + $this->object->_query_args['paged'] = TRUE; + $this->object->_query_args['offset'] = $offset; + $this->object->_query_args['posts_per_page'] = $max; + } + + return $this->object; + } + + + /** + * Specifies a list of columns to group by + * @param array|string $columns + */ + function group_by($columns=array()) + { + if (!isset($this->object->_query_args['group_by_columns'])) + $this->object->_query_args['group_by_columns'] = $columns; + else { + $this->object->_query_args['group_by_columns'] = array_merge( + $this->object->_query_args['group_by_columns'], + $columns + ); + } + + return $this->object; + } + + /** + * Adds a WP_Query where clause + * @param array $where_clauses + * @param string $join + */ + function _add_where_clause($where_clauses, $join) + { + foreach ($where_clauses as $clause) { + // $clause => array( + // 'column' => 'ID', + // 'value' => 1210, + // 'compare' => '=' + // ) + + // Determine where what the where clause is comparing + switch($clause['column']) { + case 'author': + case 'author_id': + $this->object->_query_args['author'] = $clause['value']; + break; + case 'author_name': + $this->object->_query_args['author_name'] = $clause['value']; + break; + case 'cat': + case 'cat_id': + case 'category_id': + switch($clause['compare']) { + case '=': + case 'BETWEEN'; + case 'IN'; + if (!isset($this->object->_query_args['category__in'])) { + $this->object->_query_args['category__in'] = array(); + } + $this->object->_query_args['category__in'][] = $clause['value']; + break; + case '!=': + case 'NOT BETWEEN'; + case 'NOT IN'; + if (!isset($this->object->_query_args['category__not_in'])) { + $this->object->_query_args['category__not_in'] = array(); + } + $this->object->_query_args['category__not_in'][] = $clause['value']; + break; + } + break; + case 'category_name': + $this->object->_query_args['category_name'] = $clause['value']; + break; + case 'post_id': + case $this->object->get_primary_key_column(): + switch ($clause['compare']) { + case '=': + case 'IN'; + case 'BETWEEN'; + if (!isset($this->object->_query_args['post__in'])) { + $this->object->_query_args['post__in'] = array(); + } + $this->object->_query_args['post__in'][] = $clause['value']; + break; + default: + if (!isset($this->object->_query_args['post__not_in'])) { + $this->object->_query_args['post__not_in'] = array(); + } + $this->object->_query_args['post__not_in'][] = $clause['value']; + break; + } + break; + case 'pagename': + case 'postname': + case 'page_name': + case 'post_name': + if ($clause['compare'] == 'LIKE') + $this->object->_query_args['page_name__like'] = $clause['value']; + elseif ($clause['compare'] == '=') + $this->object->_query_args['pagename'] = $clause['value']; + elseif ($clause['compare'] == 'IN') + $this->object->_query_args['page_name__in'] = $clause['value']; + break; + case 'post_title': + // Post title uses custom WHERE clause + if ($clause['compare'] == 'LIKE') + $this->object->_query_args['post_title__like'] = $clause['value']; + else + $this->object->_query_args['post_title'] = $clause['value']; + break; + default: + // Must be metadata + $clause['key'] = $clause['column']; + unset($clause['column']); + + // Convert values to array, when required + if (in_array($clause['compare'], array('IN', 'BETWEEN'))) { + $clause['value'] = explode(',', $clause['value']); + foreach ($clause['value'] as &$val) { + if (!is_numeric($val)) { + + // In the _parse_where_clause() method, we + // quote the strings and add slashes + $val = stripslashes($val); + $val = substr($val, 1, strlen($val)-2); + } + } + } + + if (!isset($this->object->_query_args['meta_query'])) { + $this->object->_query_args['meta_query'] = array(); + } + $this->object->_query_args['meta_query'][] = $clause; + break; + } + } + + // If any where clauses have been added, specify how the conditions + // will be conbined/joined + if (isset($this->object->_query_args['meta_query'])) { + $this->object->_query_args['meta_query']['relation'] = $join; + } + + } + + + /** + * Destroys/deletes an entity from the database + * @param stdObject|C_DataMapper_Model $entity + * @return type + */ + function destroy($entity, $skip_trash=TRUE) + { + $retval = FALSE; + + $key = $this->object->get_primary_key_column(); + + // Find the id of the entity + if (is_object($entity) && isset($entity->$key)) { + $id = (int)$entity->$key; + } + else { + $id = (int)$entity; + } + + // If we have an ID, then delete the post + if (is_integer($id)) { + + // TODO: We assume that we can skip the trash. Is that correct? + // FYI, Deletes postmeta as wells + if (is_object(wp_delete_post($id, TRUE))) $retval = TRUE; + } + + return $retval; + } + + /** + * Converts a post to an entity + * @param \stdClass $post + * @param boolean $model + * @return \stdClass + */ + function convert_post_to_entity($post, $model=FALSE) + { + + $entity = new stdClass(); + foreach ($post as $key => $value) { + if ($key == 'post_content') { + $post_content = $this->object->unserialize($value); + if ($post_content) { + foreach ($post_content as $key2 => $value2) { + $entity->$key2 = $value2; + } + } + } + else $entity->$key = $value; + } + $this->object->_convert_to_entity($entity); + return $model? $this->object->convert_to_model($entity) : $entity; + } + + + /** + * Converts an entity to a post + * @param type $entity + * @return type + */ + function _convert_entity_to_post($entity) + { + // Was a model passed instead of an entity? + $post = $entity; + if (!($entity instanceof stdClass)) $post = $entity->get_entity(); + + // Create the post content + unset($post->id_field); + unset($post->post_content_filtered); + unset($post->post_content); + $post->post_content = $this->object->serialize($post); + $post->post_content_filtered = $post->post_content; + $post->post_type = $this->object->get_object_name(); + + // Sometimes an entity can contain a data stored in an array or object + // Those will be removed from the post, and serialized in the + // post_content field + foreach ($post as $key => $value) { + if (in_array(strtolower(gettype($value)), array('object','array'))) + unset($post->$key); + } + + // A post required a title + if (!property_exists($post, 'post_title')) { + $post->post_title = $this->object->get_post_title($post); + } + + // A post also requires an excerpt + if (!property_exists($post, 'post_excerpt')) { + $post->post_excerpt = $this->object->get_post_excerpt($post); + } + + return $post; + } + + /** + * Returns the WordPress database class + * @global wpdb $wpdb + * @return wpdb + */ + function _wpdb() + { + global $wpdb; + return $wpdb; + } + + + /** + * Flush and update all postmeta for a particular post + * @param int $post_id + */ + function _flush_and_update_postmeta($post_id, $entity, $omit=array()) + { + // We need to insert post meta data for each property + // Unfortunately, that means flushing all existing postmeta + // and then inserting new values. Depending on the number of + // properties, this could be slow. So, we directly access the database + /* @var $wpdb wpdb */ + global $wpdb; + if (!is_array($omit)) $omit = array($omit); + $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE post_id = %s", $post_id)); + $sql_parts = array(); + foreach($entity as $key => $value) { + if (in_array($key, $omit)) continue; + if (is_array($value) or is_object($value)) { + $value = $this->object->serialize($value); + } + $sql_parts[] = $wpdb->prepare("(%s, %s, %s)", $post_id, $key, $value); + } + $wpdb->query("INSERT INTO {$wpdb->postmeta} (post_id, meta_key, meta_value) VALUES ".implode(',', $sql_parts)); + } + + + /** + * Saves an entity to the database + * @param stdObject $entity + */ + function _save_entity($entity) + { + $post = $this->object->_convert_entity_to_post($entity); + $primary_key = $this->object->get_primary_key_column(); + + if (($post_id = wp_insert_post($post))) { + + $new_entity = $this->object->find($post_id, TRUE); + foreach ($new_entity->get_entity() as $key => $value) $entity->$key = $value; + + // Save properties as post meta + $this->object->_flush_and_update_postmeta( + $post_id, + $entity instanceof stdClass ? $entity : $entity->get_entity() + ); + } + + $entity->id_field = $primary_key; + + return $post_id; + } + + + /** + * Determines whether the current statement is SELECT + * @return boolean + */ + function is_select_statement() + { + return isset($this->object->_query_args['is_select']) && $this->object->_query_args['is_select']; + } + + + /** + * Determines whether the current statement is DELETE + * @return type + */ + function is_delete_statement() + { + return isset($this->object->_query_args['is_delete']) && $this->object->_query_args['is_delete']; + } + + + /** + * Starts a new DELETE statement + */ + function delete() + { + $this->object->select(); + $this->object->_query_args['is_select'] = FALSE; + $this->object->_query_args['is_delete'] = TRUE; + return $this->object; + } + + + /** + * Runs the query + * @param string $sql optionally run the specified query + * @return array + */ + function run_query($sql=FALSE, $model=FALSE) + { + $retval = array(); + + if ($sql) + { + $this->object->_query_args['cache_results'] = FALSE; + $this->object->_query_args['custom_sql'] = $sql; + } + + // Execute the query + $query = new WP_Query(); + $query->query_vars = $this->object->_query_args; + add_action('pre_get_posts', array(&$this, 'set_query_args'), PHP_INT_MAX-1, 1); + foreach ($query->get_posts() as $row) { + $row = $this->object->convert_post_to_entity($this->scrub_result($row), $model); + if (!$model) + $row->id_field = $this->object->get_primary_key_column(); + $retval[] = $row; + } + remove_action('pre_get_posts', array(&$this, 'set_query_args'), PHP_INT_MAX-1, 1); + + return $retval; + } + + /** + * Ensure that the query args are set. We need to do this in case a third-party + * plugin overrides our query + * @param $query + */ + function set_query_args($query) + { + if ($query->get('datamapper')) $query->query_vars = $this->object->_query_args; + } + + /** + * Fetches the last row + * @param array $conditions + * @return C_DataMapper_Entity + */ + function find_last($conditions=array(), $model=FALSE) + { + $retval = NULL; + + // Get row number for the last row + $table_name = $this->object->_clean_column($this->object->get_table_name()); + $object_name = $this->object->_clean_column($this->object->get_object_name()); + $sql = $this->_wpdb()->prepare("SELECT COUNT(*) FROM {$table_name} WHERE post_type = %s", $object_name); + $count = $this->_wpdb()->get_var($sql); + $offset = $count-1; + $results = $this->select()->where_and($conditions)->limit(1, $offset)->run_query(); + if ($results) { + $retval = $model? $this->object->convert_to_model($results[0]) : $results[0]; + } + + return $retval; + } + + + + /** + * Returns the number of total records/entities that exist + * @return int + */ + function count() + { + $retval = 0; + + global $wpdb; + $key = $this->object->get_primary_key_column(); + $sql = $wpdb->prepare( + "SELECT COUNT({$key}) FROM {$wpdb->posts} WHERE post_type = %s", + $this->object->get_object_name() + ); + $results = $this->object->run_query($sql); + if ($results && isset($results[0]->$key)) + $retval = (int)$results[0]->$key; + + return $retval; + } + + + /** + * Returns the title of the post. Used when post_title is not set + * @param stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return "Untitled {$this->object->get_object_name()}"; + } + + /** + * Returns the excerpt of the post. Used when post_excerpt is not set + * @param stdClass $entity + * @return string + */ + function get_post_excerpt($entity) + { + return ''; + } +} + +class C_CustomPost_DataMapper_Driver extends C_DataMapper_Driver_Base +{ + var $_query_args = array(); + var $_primary_key_column = 'ID'; + + function define($object_name, $context=FALSE) + { + parent::define($object_name, $context); + $this->add_mixin('Mixin_CustomPost_DataMapper_Driver'); + $this->implement('I_CustomPost_DataMapper'); + } + + function initialize($object_name) + { + if (strlen($object_name) > 20) throw new Exception("The custom post name can be no longer than 20 characters long"); + parent::initialize($object_name); + } + + + /** + * Gets the name of the table + * @global string $table_prefix + * @return string + */ + function get_table_name() + { + global $table_prefix; + return $table_prefix.'posts'; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php new file mode 100644 index 000000000..39d50d59a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.customtable_datamapper_driver.php @@ -0,0 +1,486 @@ +<?php + +class C_CustomTable_DataMapper_Driver_Mixin extends Mixin +{ + /** + * Gets the name of the primary key column + * @return string + */ + function get_primary_key_column() + { + return $this->object->_primary_key_column; + } + + + /** + * Selects which fields to collect from the table. + * NOTE: Not protected from SQL injection - DO NOT let your users + * specify DB columns + * @param string $fields + */ + function select($fields='*') + { + // Create a fresh slate + $this->object->_init(); + $this->object->_select_clause = "SELECT {$fields}"; + + return $this->object; + } + + /** + * Determines whether we're going to execute a SELECT statement + * @return boolean + */ + function is_select_statement() + { + return ($this->object->_select_clause) ? TRUE : FALSE; + } + + /** + * Determines if we're going to be executing a DELETE statement + * @return type + */ + function is_delete_statement() + { + return $this->object->_delete_clause ? TRUE : FALSE; + } + + + /** + * Start a delete statement + */ + function delete() + { + // Create a fresh slate + $this->object->_init(); + $this->object->_delete_clause = "DELETE"; + return $this->object; + } + + + /** + * Orders the results of the query + * This method may be used multiple of times to order by more than column + * @param $order_by + * @param $direction + */ + function order_by($order_by, $direction='ASC') + { + // We treat the rand() function as an exception + if (preg_match("/rand\(\s*\)/", $order_by)) { + $order = 'rand()'; + } + else { + $order_by = $this->object->_clean_column($order_by); + + // If the order by clause is a column, then it should be backticked + if ($this->object->has_column($order_by)) $order_by = "`{$order_by}`"; + + $direction = $this->object->_clean_column($direction); + $order = "{$order_by} {$direction}"; + } + + $this->object->_order_clauses[] = $order; + + return $this->object; + } + + /** + * Specifies a limit and optional offset + * @param integer $max + * @param integer $offset + */ + function limit($max, $offset=0) + { + if ($offset) + $limit = $this->_wpdb()->prepare("LIMIT %d, %d",$offset,$max); + else + $limit = $this->_wpdb()->prepare("LIMIT %d", $max); + if ($limit) $this->object->_limit_clause = $limit; + + return $this->object; + } + + + /** + * Specifics a group by clause for one or more columns + * @param array|string $columns + */ + function group_by($columns=array()) + { + if (!is_array($columns)) $columns = array($columns); + $this->object->_group_by_columns = array_merge($this->object->_group_by_columns, $columns); + return $this->object; + } + + + /** + * Adds a where clause to the driver + * @param array $where_clauses + * @param string $join + */ + function _add_where_clause($where_clauses, $join) + { + $clauses = array(); + + foreach ($where_clauses as $clause) { + extract($clause); + if ($this->object->has_column($column)) $column = "`{$column}`"; + if (!is_array($value)) $value = array($value); + foreach ($value as $index => $v) { + $v = $clause['type'] == 'numeric' ? $v : "'{$v}'"; + $value[$index] = $v; + } + if ($compare == 'BETWEEN') { + $value = "{$value[0]} AND {$value[1]}"; + } + else { + $value = implode(', ', $value); + if (strpos($compare, 'IN') !== FALSE) $value = "({$value})"; + } + + $clauses[] = "{$column} {$compare} {$value}"; + } + + $this->object->_where_clauses[] = implode(" {$join} ", $clauses); + } + + + /** + * Returns the total number of entities known + * @return type + */ + function count() + { + $retval = 0; + + $key = $this->object->get_primary_key_column(); + $results = $this->object->run_query( + "SELECT COUNT(`{$key}`) AS `{$key}` FROM `{$this->object->get_table_name()}`" + ); + if ($results && isset($results[0]->$key)) + $retval = (int)$results[0]->$key; + + return $retval; + } + + /** + * Returns the generated SQL query to be executed + * @return string + */ + function get_generated_query() + { + $sql = array(); + + if ($this->object->is_select_statement()) $sql[] = $this->object->_select_clause; + elseif ($this->object->is_delete_statement()) $sql[] = $this->object->_delete_clause; + $sql[] = 'FROM `'.$this->object->get_table_name().'`'; + $where_clauses = array(); + foreach ($this->object->_where_clauses as $where) { + $where_clauses[] = '('.$where.')'; + } + if ($where_clauses) $sql[] = 'WHERE '.implode(' AND ', $where_clauses); + + if ($this->object->is_select_statement()) { + if ($this->object->_order_clauses) $sql[] = 'ORDER BY '.implode(', ', $this->object->_order_clauses); + if ($this->object->_group_by_columns) $sql[] = 'GROUP BY '.implode(', ', $this->object->_group_by_columns); + if ($this->object->_limit_clause) $sql[] = $this->object->_limit_clause; + } + return implode(' ', $sql); + } + + + /** + * Run the query + * @param $sql optionally run the specified SQL insteads + * return + */ + function run_query($sql=FALSE, $no_entities=FALSE) + { + $retval = array(); + + // Or generate SQL query + if (!$sql) + $sql = $this->object->get_generated_query(); + + // If we have a SQL statement to execute, then heck, execute it! + if ($sql) + { + if ($this->object->debug) + var_dump($sql); + + $this->_wpdb()->query($sql); + + if ($this->_wpdb()->last_result) + { + $retval = array(); + // For each row, create an entity, update it's properties, and add it to the result set + if ($no_entities) + { + $retval = $this->_wpdb()->last_result; + } + else { + foreach ($this->_wpdb()->last_result as $row) { + $retval[] = $this->_convert_to_entity($this->scrub_result($row)); + } + } + } + } + + return $retval; + } + + /** + * Stores the entity + * @param stdClass $entity + */ + function _save_entity($entity) + { + $retval = FALSE; + + unset($entity->id_field); + $primary_key = $this->object->get_primary_key_column(); + if (isset($entity->$primary_key)) { + if($this->object->_update($entity)) $retval = intval($entity->$primary_key); + } + else { + $retval = $this->object->_create($entity); + if ($retval) { + $new_entity = $this->object->find($retval); + foreach ($new_entity as $key => $value) $entity->$key = $value; + } + } + $entity->id_field = $primary_key; + + return $retval; + } + + /** + * Converts an entity to something suitable for inserting into + * a database column + * @param stdObject $entity + * @return array + */ + function _convert_to_table_data($entity) + { + $data = (array) $entity; + foreach ($data as $key => $value) { + if (is_array($value)) $data[$key] = $this->object->serialize($value); + } + + return $data; + } + + + /** + * Destroys/deletes an entity + * @param stdObject|C_DataMapper_Model|int $entity + * @return boolean + */ + function destroy($entity) + { + $retval = FALSE; + $key = $this->object->get_primary_key_column(); + + // Find the id of the entity + if (is_object($entity) && isset($entity->$key)) { + $id = (int)$entity->$key; + } + else { + $id = (int)$entity; + } + + // If we have an ID, then delete the post + if (is_numeric($id)) { + $sql = $this->object->_wpdb()->prepare( + "DELETE FROM `{$this->object->get_table_name()}` WHERE {$key} = %s", + $id + ); + $retval = $this->object->_wpdb()->query($sql); + } + + return $retval; + } + + /** + * Creates a new record in the database + * @param stdObject $entity + * @return boolean + */ + function _create($entity) + { + $retval = FALSE; + $id = $this->object->_wpdb()->insert( + $this->object->get_table_name(), + $this->object->_convert_to_table_data($entity) + ); + if ($id) { + $key = $this->object->get_primary_key_column(); + $retval = $entity->$key = intval($this->object->_wpdb()->insert_id); + } + return $retval; + } + + + /** + * Updates a record in the database + * @param stdObject $entity + */ + function _update($entity) + { + $key = $this->object->get_primary_key_column(); + + return $this->object->_wpdb()->update( + $this->object->get_table_name(), + $this->object->_convert_to_table_data($entity), + array($key => $entity->$key) + ); + } + + + /** + * Fetches the last row + * @param array $conditions + * @return C_DataMapper_Entity + */ + function find_last($conditions=array(), $model=FALSE) + { + $retval = NULL; + + // Get row number for the last row + $table_name = $this->object->_clean_column($this->object->get_table_name()); + $count = $this->_wpdb()->get_var("SELECT COUNT(*) FROM `{$table_name}`"); + $offset = $count-1; + $results = $this->select()->where_and($conditions)->limit(1, $offset)->run_query(); + if ($results) { + $retval = $model? $this->object->convert_to_model($results[0]) : $results[0]; + } + + return $retval; + } + + + /** + * Looks up using SQL the columns existing in the database + */ + function lookup_columns() + { + $this->object->_columns = array(); + $sql = "SHOW COLUMNS FROM `{$this->object->get_table_name()}`"; + foreach ($this->object->run_query($sql, TRUE) as $row) { + $this->object->_columns[] = $row->Field; + } + return $this->object->_columns; + } + + /** + * Determines whether a column is present for the table + * @param string $column_name + * @return string + */ + function has_column($column_name) + { + if (empty($this->object->_columns)) $this->object->lookup_columns(); + return array_search($column_name, $this->object->_columns); + } + + /** + * Defines a column for this table + * @param string $column_name + * @param string $datatype + */ + function define_column($column_name, $datatype) + { + $this->object->_defined_columns[$column_name] = $datatype; + } + + function add_column($column_name, $datatype=FALSE) + { + // If no datatype was specified, perhaps the column was already defined + if (!$datatype && isset($this->object->_defined_columns[$column_name])) { + $datatype = $this->object->_defined_columns[$column_name]; + } + + // Ensure that we have a datatype before continuing... + if ($datatype) { + $sql = "ALTER TABLE `{$this->get_table_name()}` ADD COLUMN ``{$column_name}` {$datatype}"; + $this->object->run_query($sql); + } + + $this->object->lookup_columns(); + } + + /** + * Migrates the schema of the database + */ + function migrate() + { + if (empty($this->object->_columns)) $this->object->lookup_columns(); + foreach ($this->object->_columns as $column_name) { + if (!$this->object->has_column($column_name)) { + $this->object->add_column($column_name); + } + } + } + + + function _init() + { + $this->object->_where_clauses = array(); + $this->object->_order_clauses = array(); + $this->object->_group_by_columns = array(); + $this->object->_limit_clause = ''; + $this->object->_select_clause = ''; + } +} + +class C_CustomTable_DataMapper_Driver extends C_DataMapper_Driver_Base +{ + /** + * The WordPress Database Connection + * @var wpdb + */ + var $_where_clauses = array(); + var $_order_clauses = array(); + var $_group_by_columns = array(); + var $_limit_clause = ''; + var $_select_clause = ''; + var $_delete_clause = ''; + var $_columns = array(); + var $_defined_columns = array(); + + function define($object_name, $context=FALSE) + { + parent::define($context); + $this->add_mixin('C_CustomTable_DataMapper_Driver_Mixin'); + $this->implement('I_CustomTable_DataMapper'); + } + + function initialize($object_name) + { + parent::initialize($object_name); + if (!isset($this->_primary_key_column)) + $this->_primary_key_column = $this->_lookup_primary_key_column(); + } + + /** + * Returns the database connection object for WordPress + * @global wpdb $wpdb + * @return wpdb + */ + function _wpdb() + { + global $wpdb; + return $wpdb; + } + + /** + * Looks up the primary key column for this table + */ + function _lookup_primary_key_column() + { + $key = $this->_wpdb()->get_row("SHOW INDEX FROM {$this->get_table_name()} WHERE Key_name='PRIMARY'", ARRAY_A); + if (!$key) throw new Exception("Please specify the primary key for {$this->get_table_name ()}"); + return $key['Column_name']; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php new file mode 100644 index 000000000..635b61daf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_driver_base.php @@ -0,0 +1,609 @@ +<?php + +/** + * Thrown when an entity does not exist + */ +class E_EntityNotFoundException extends RuntimeException +{ + +} + +/** + * Thrown when an invalid data type is used as an entity, such as an associative + * array which is not yet supported due to a problem with references and the + * call_user_func_array() function. + */ +class E_InvalidEntityException extends RuntimeException +{ + function __construct($message_or_previous=FALSE, $code=0, $previous=NULL) + { + // We don't know if we have been passed a message yet or not + $message = FALSE; + + // Determine if the first parameter is a string or exception + if ($message_or_previous) { + if (is_string($message_or_previous)) + $message = $message_or_previous; + else { + $previous = $message_or_previous; + } + } + + // If no message was provided, create a default message + if (!$message) { + $message = "Invalid data type used for entity. Please use stdClass + or a subclass of C_DataMapper_Model. Arrays will be supported in + the future."; + } + parent::__construct($message, $code); + } +} + + +class Mixin_DataMapper_Driver_Base extends Mixin +{ + /** + * Used to clean column or table names in a SQL query + * @param string $val + * @return string + */ + function _clean_column($val) + { + return str_replace( + array(';', "'", '"', '`'), + array(''), + $val + ); + } + + /** + * Serializes the data + * @param mixed $value + * @return string + */ + function serialize($value) + { + //Using json_encode here because PHP's serialize is not Unicode safe + return base64_encode(json_encode($value)); + } + + + /** + * Unserializes data using our proprietary format + * @param string $value + * @return mixed + */ + function unserialize($value) + { + $retval = NULL; + if (is_string($value)) + { + $retval = stripcslashes($value); + + if (strlen($value) > 1) + { + //Using json_decode here because PHP's unserialize is not Unicode safe + $retval = json_decode(base64_decode($retval), TRUE); + + // JSON Decoding failed. Perhaps it's PHP serialized data? + if ($retval === NULL) { + $er = error_reporting(0); + $retval = unserialize($value); + error_reporting($er); + } + } + } + + return $retval; + } + + + /** + * Finds a partiular entry by id + * @param int|stdClass|C_DataMapper_Model $entity + * @return C_DataMapper_Entity + */ + function find($entity, $model=FALSE) + { + $retval = NULL; + + // Get primary key of the entity + $pkey = $this->object->get_primary_key_column(); + if (!is_numeric($entity)) { + $entity = isset($entity->$pkey) ? intval($entity->$pkey) : FALSE; + } + + // If we have an entity ID, then get the record + if ($entity) { + $results = $this->object->select()->where_and( + array("{$pkey} = %d", $entity) + )->limit(1,0)->run_query(); + + if ($results) $retval = $model ? $this->object->convert_to_model($results[0]) : $results[0]; + } + + return $retval; + } + + /** + * Fetches the first row + * @param array $conditions + * @return C_DataMapper_Entity + */ + function find_first($conditions=array(), $model=FALSE) + { + $results = $this->object->select()->where_and($conditions)->limit(1,0)->run_query(); + if ($results) + return $model? $this->object->convert_to_model($results[0]) : $results[0]; + else + return NULL; + } + + + /** + * Queries all rows + * @param array $conditions + * @return array + */ + function find_all($conditions=array(), $model=FALSE) + { + // Sometimes users will forget that the first parameter is conditions, and think it's $model instead + if ($conditions === TRUE) + { + $conditions = array(); + $model = TRUE; + } + + if ($conditions === FALSE) + { + $conditions = array(); + $model = FALSE; + } + + $results = $this->object->select()->where_and($conditions)->run_query(); + if ($results && $model) + { + foreach ($results as &$r) { + $r = $this->object->convert_to_model($r); + } + } + + return $results; + } + + + /** + * Filters the query using conditions: + * E.g. + * array("post_title = %s", "Foo") + * array( + * array("post_title = %s", "Foo"), + * + * ) + */ + function where_and($conditions=array()) + { + return $this->object->_where($conditions, 'AND'); + } + + function where_or($conditions=array()) + { + return $this->object->where($conditions, 'OR'); + } + + + function where($conditions=array()) + { + return $this->object->_where($conditions, 'AND'); + } + + + /** Parses the where clauses + * They could look like the following: + * + * array( + * "post_id = 1" + * array("post_id = %d", 1), + * ) + * + * or simply "post_id = 1" + * @param array|string $conditions + * @param string $operator + * @return ExtensibleObject + */ + function _where($conditions=array(), $operator) + { + $where_clauses = array(); + + // If conditions is not an array, make it one + if (!is_array($conditions)) $conditions = array($conditions); + elseif (!empty($conditions) && !is_array($conditions[0])) { + // Just a single condition was passed, but with a bind + $conditions = array($conditions); + } + + // Iterate through each condition + foreach ($conditions as $condition) { + if (is_string($condition)) { + $clause = $this->object->_parse_where_clause($condition); + if ($clause) $where_clauses[] = $clause; + } + else { + $clause = array_shift($condition); + $clause = $this->object->_parse_where_clause($clause, $condition); + if ($clause) $where_clauses[] = $clause; + } + } + + // Add where clause to query + if ($where_clauses) $this->object->_add_where_clause($where_clauses, $operator); + + return $this->object; + } + + /** + * Parses a where clause and returns an associative array + * representing the query + * + * E.g. parse_where_clause("post_title = %s", "Foo Bar") + * + * @global wpdb $wpdb + * @param string $condition + * @return array + */ + function _parse_where_clause($condition) + { + $column = ''; + $operator = ''; + $value = ''; + $numeric = TRUE; + + // Substitute any placeholders + global $wpdb; + $binds = func_get_args(); + $binds = $binds[1]; // first argument is the condition + foreach ($binds as &$bind) { + + // A bind could be an array, used for the 'IN' operator + // or a simple scalar value. We need to convert arrays + // into scalar values + if (is_object($bind)) + $bind = (array)$bind; + + if (is_array($bind) && !empty($bind)) { + foreach ($bind as &$val) { + if (!is_numeric($val)) { + $val = '"'.addslashes($val).'"'; + $numeric = FALSE; + } + } + $bind = implode(',', $bind); + } + else if (is_array($bind) && empty($bind)) { + $bind = 'NULL'; + } + else if(!is_numeric($bind)) { + $numeric = FALSE; + } + } + $condition = $wpdb->prepare($condition, $binds); + + // Parse the where clause + if (preg_match("/^[^\s]+/", $condition, $match)) { + $column = trim(array_shift($match)); + $condition = str_replace($column, '', $condition); + } + + if (preg_match("/(NOT )?IN|(NOT )?LIKE|(NOT )?BETWEEN|[=!<>]+/i", $condition, $match)) { + $operator = trim(array_shift($match)); + $condition = str_replace($operator, '', $condition); + $operator = strtolower($operator); + $value = trim($condition); + } + + // Values will automatically be quoted, so remove them + // If the value is part of an IN clause or BETWEEN clause and + // has multiple values, we attempt to split the values apart into an + // array and iterate over them individually + if ($operator == 'in') { + $values = preg_split("/'?\s?(,)\s?'?/i", $value); + } + elseif ($operator == 'between') { + $values = preg_split("/'?\s?(AND)\s?'?/i", $value); + } + + // If there's a single value, treat it as an array so that we + // can still iterate + if (empty($values)) $values = array($value); + foreach ($values as $index => $value) { + $value = preg_replace("/^(\()?'/", '', $value); + $value = preg_replace("/'(\))?$/", '', $value); + $values[$index] = $value; + } + if (count($values)>1) $value = $values; + + // Return the WP Query meta query parameters + $retval = array( + 'column' => $column, + 'value' => $value, + 'compare' => strtoupper($operator), + 'type' => $numeric ? 'numeric' : 'string', + ); + + return $retval; + } + + /** + * Converts a stdObject to an Entity + * @param stdObject $stdObject + * @return stdObject + */ + function _convert_to_entity($stdObject) + { + // Add name of the id_field to the entity, and convert + // the ID to an integer + $stdObject->id_field = $key = $this->object->get_primary_key_column(); + if (isset($stdObject->$key)) { + $stdObject->$key = (int) $stdObject->$key; + } + + // Set defaults for this entity + $this->object->set_defaults($stdObject); + + return $stdObject; + } + + /** + * Converts a stdObject entity to a model + * @param stdObject $stdObject + */ + function convert_to_model($stdObject, $context=FALSE) + { + // Create a factory + $retval = NULL; + + try { + $this->object->_convert_to_entity($stdObject); + } + catch (Exception $ex) { + throw new E_InvalidEntityException($ex); + } + $retval = $this->object->create($stdObject, $context); + + return $retval; + } + + /** + * Creates a new model + * @param stdClass|array $properties + * @return C_DataMapper_Model + */ + function create($properties=array(), $context=FALSE) + { + $entity = $properties; + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + if (!is_object($properties)) { + $entity = new stdClass; + foreach ($properties as $k=>$v) $entity->$k = $v; + } + return $factory->create($this->object->get_model_factory_method(), $this->object, $entity, $context); + } + + + /** + * Determines whether an object is actually a model + * @param mixed $obj + * @return bool + */ + function is_model($obj) + { + return is_subclass_of($obj, 'C_DataMapper_Model') or get_class($obj) == 'C_DataMapper_Model'; + } + + /** + * Saves an entity + * @param stdClass|C_DataMapper_Model $entity + * @return bool + */ + function save($entity) + { + $retval = FALSE; + $model = $entity; + + // Attempt to use something else, most likely an associative array + // TODO: Support assocative arrays. The trick is to support references + // with dynamic calls using __call() and call_user_func_array(). + if (is_array($entity)) throw new E_InvalidEntityException(); + + // We can work with what we have. But we need to ensure that we've got + // a model + elseif (!$this->object->is_model($entity)) { + $model = $this->object->convert_to_model($entity); + } + + // Validate the model + $model->validate(); + + if ($model->is_valid()) { + $saved_entity = $model->get_entity(); + unset($saved_entity->_errors); + $retval = $this->object->_save_entity($saved_entity); + } + + // We always return the same type of entity that we given + if (get_class($entity) == 'stdClass') $model->get_entity(); + + return $retval; + } + + + /** + * Gets validation errors for the entity + * @param stdClass|C_DataMapper_Model $entity + * @return array + */ + function get_errors($entity) + { + $model = $entity; + if (!$this->object->is_model($entity)) { + $model = $this->object->convert_to_model($entity); + } + $model->validate(); + return $model->get_errors(); + } + + /** + * Called to set defaults for the record/model/entity. + * Subclasses and adapters should extend this method to provide their + * implementation. The implementation should make use of the + * _set_default_value() method + */ + function set_defaults() + { + + } + + /** + * If a field has no value, then use the default value. + * @param stdClass|C_DataMapper_Model $object + */ + function _set_default_value($object) + { + $array = NULL; + $field = NULL; + $default_value = NULL; + + // The first argument MUST be an object + if (!is_object($object)) throw new E_InvalidEntityException(); + + // This method has two signatures: + // 1) _set_default_value($object, $field, $default_value) + // 2) _set_default_value($object, $array_field, $field, $default_value) + + // Handle #1 + $args = func_get_args(); + if (count($args) == 4) { + list($object, $array, $field, $default_value) = $args; + if (!isset($object->{$array})) { + $object->{$array} = array(); + $object->{$array}[$field] = NULL; + } + else { + $arr = &$object->{$array}; + if (!isset($arr[$field])) $arr[$field] = NULL; + } + $array = &$object->{$array}; + $value = &$array[$field]; + if ($value === '' OR is_null($value)) $value = $default_value; + } + + // Handle #2 + else { + list($object, $field, $default_value) = $args; + if (!isset($object->$field)) { + $object->$field = NULL; + } + $value = $object->$field; + if ($value === '' OR is_null($value)) $object->$field = $default_value; + } + } + + function scrub_result($result) + { + if (is_object($result)) + { + $new_result = new stdClass(); + foreach ($result as $key => $value) { + $new_value = $this->scrub_result($value); + $new_result->$key = $new_value; + } + return $new_result; + } + else if (is_array($result)) { + $new_array = array(); + foreach ($result as $key => $value) { + $new_array[$key] = $this->scrub_result($value); + } + return $new_array; + } else { + return stripslashes($result); + } + } +} + +class C_DataMapper_Driver_Base extends C_Component +{ + var $_object_name; + var $_model_factory_method = FALSE; + + function define($object_name, $context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_DataMapper_Driver_Base'); + $this->implement('I_DataMapper_Driver'); + } + + function initialize($object_name) + { + parent::initialize(); + $this->_object_name = $object_name; + } + + /** + * Gets the object name + * @return string + */ + function get_object_name() + { + return $this->_object_name; + } + + /** + * Gets the name of the table + * @global string $table_prefix + * @return string + */ + function get_table_name() + { + global $table_prefix; + return $table_prefix.$this->_object_name; + } + + /** + * Sets the name of the factory method used to create a model for this entity + * @param string $method_name + */ + function set_model_factory_method($method_name) + { + $this->_model_factory_method = $method_name; + } + + + /** + * Gets the name of the factory method used to create a model for this entity + */ + function get_model_factory_method() + { + return $this->_model_factory_method; + } + + + /** + * Gets the name of the primary key column + * @return string + */ + function get_primary_key_column() + { + return $this->_primary_key_column; + } + + + /** + * Gets the class name of the driver used + * @return string + */ + function get_driver_class_name() + { + return get_called_class(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php new file mode 100644 index 000000000..f41b32293 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_installer.php @@ -0,0 +1,14 @@ +<?php + +class C_DataMapper_Installer +{ + function __construct() + { + $this->settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('datamapper_driver', 'custom_post_datamapper'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php new file mode 100644 index 000000000..3e16760f4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/class.datamapper_model.php @@ -0,0 +1,157 @@ +<?php + +class C_DataMapper_Model extends C_Component +{ + var $_mapper; + var $_stdObject; + + /** + * Define the model + */ + function define($mapper, $properties, $context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Validation'); + $this->add_mixin('Mixin_DataMapper_Model_Instance_Methods'); + $this->add_mixin('Mixin_DataMapper_Model_Validation'); + $this->implement('I_DataMapper_Model'); + } + + /** + * Creates a new entity for the specified mapper + * @param C_DataMapper_Driver_Base $mapper + * @param array|stdClass $properties + * @param string $context + */ + function initialize($mapper, $properties=FALSE) + { + $this->_mapper = $mapper; + $this->_stdObject = $properties ? (object)$properties : new stdClass(); + parent::initialize(); + $this->set_defaults(); + } + + /** + * Gets the data mapper for the entity + * @return C_DataMapper_Driver_Base + */ + function get_mapper() + { + return $this->_mapper; + } + + + /** + * Gets a property of the model + */ + function &__get($property_name) + { + if (isset($this->_stdObject->$property_name)) { + $retval = &$this->_stdObject->$property_name; + return $retval; + } + else { + // We need to assign NULL to a variable first, since only + // variables can be returned by reference + $retval = NULL; + return $retval; + } + } + + /** + * Sets a property for the model + */ + function __set($property_name, $value) + { + return $this->_stdObject->$property_name = $value; + } + + + function __isset($property_name) + { + return isset($this->_stdObject->$property_name); + } + + + /** + * Saves the entity + * @param type $updated_attributes + */ + function save($updated_attributes=array()) + { + $this->update_attributes($updated_attributes); + return $this->get_mapper()->save($this->get_entity()); + } + + /** + * Updates the attributes for an object + */ + function update_attributes($array=array()) + { + foreach ($array as $key => $value) $this->_stdObject->$key = $value; + } + + + /** + * Sets the default values for this model + */ + function set_defaults() + { + $this->get_mapper()->set_defaults($this); + } + + /** + * Destroys or deletes the entity + */ + function destroy() + { + $this->get_mapper()->destroy($this->_stdObject); + } + + + /** + * Determines whether the object is new or existing + * @return type + */ + function is_new() + { + return $this->id() ? FALSE: TRUE; + } + + /** + * Gets/sets the primary key + */ + function id() + { + $key = $this->get_mapper()->get_primary_key_column(); + $args = func_get_args(); + if ($args) { + return $this->__set($key, $args[0]); + } + else { + return $this->__get($key); + } + } +} + +/** + * This mixin should be overwritten by other modules + */ +class Mixin_DataMapper_Model_Validation extends Mixin +{ + function validation() + { + return $this->object->is_valid(); + } +} + +class Mixin_DataMapper_Model_Instance_Methods extends Mixin +{ + /** + * Returns the associated entity + */ + function &get_entity() + { + return $this->object->_stdObject; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php new file mode 100644 index 000000000..0018b1814 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.custompost_datamapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_CustomPost_DataMapper +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.customtable_datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.customtable_datamapper.php new file mode 100644 index 000000000..9c384dbf1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.customtable_datamapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_CustomTable_DataMapper +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_driver.php new file mode 100644 index 000000000..77cbf1326 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_driver.php @@ -0,0 +1,29 @@ +<?php + +interface I_DataMapper_Driver +{ + function select($fields='*'); + function order_by($order_by, $direction); + function limit($offset, $limit); + function where_and($conditions=array()); + function where($conditions=array()); + function where_or($conditions=array()); + function group_by($columns=array()); + function find($id=NULL); + function find_first(); + function find_last(); + function find_all(); + function run_query(); + function get_table_name(); + function get_object_name(); + function _save_entity($entity); + function get_primary_key_column(); + function get_model_factory_method(); + function set_model_factory_method($method_name); + function count(); + function convert_to_model($stdObject, $context=FALSE); + function get_driver_class_name(); + function is_select_statement(); + function is_delete_statement(); + function delete(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_model.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_model.php new file mode 100644 index 000000000..b20cf2801 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/interface.datamapper_model.php @@ -0,0 +1,9 @@ +<?php + +interface I_DataMapper_Model +{ + function save($attributes=array()); + function destroy(); + function update_attributes(); + function is_new(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php new file mode 100644 index 000000000..e5836bb95 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/datamapper/module.datamapper.php @@ -0,0 +1,210 @@ +<?php + +/*** + { + Module: photocrati-datamapper, + Depends: { photocrati-validation } + } +***/ +class M_DataMapper extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-datamapper', + 'DataMapper', + 'Provides a database abstraction layer following the DataMapper pattern', + '0.3', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.datamapper_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Datamapper_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Component_Factory', 'A_DataMapper_Factory'); + } + + + function _register_hooks() + { + add_filter('posts_request', array(&$this, 'set_custom_wp_query'), 50, 2); + add_filter('posts_fields', array(&$this, 'set_custom_wp_query_fields'), 50, 2); + add_filter('posts_where', array(&$this, 'set_custom_wp_query_where'), 50, 2); + add_filter('posts_groupby', array(&$this, 'set_custom_wp_query_groupby'), 50, 2); + } + + + /** + * Sets a custom SQL query for the WP_Query class, when the Custom Post + * DataMapper implementation is used + * @param string $sql + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query($sql, &$wp_query) + { + if ($wp_query->get('datamapper')) { + // Set the custom query + if (($custom_sql = $wp_query->get('custom_sql'))) { + $sql = $custom_sql; + } + + // Perhaps we're to initiate a delete query instead? + elseif ($wp_query->get('is_delete')) { + $sql = preg_replace("/^SELECT.*FROM/i", "DELETE FROM", $sql); + } + } + + return $sql; + } + + /** + * Sets custom fields to select from the database + * @param string $fields + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query_fields($fields, &$wp_query) + { + if ($wp_query->get('datmapper')) { + if (($custom_fields = $wp_query->get('fields'))) { + $fields = $custom_fields; + } + } + + return $fields; + } + + + /** + * Sets custom where clauses for a query + * @param string $where + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query_where($where, &$wp_query) + { + if ($wp_query->get('datamapper')) { + $this->add_post_title_where_clauses($where, $wp_query); + $this->add_post_name_where_clauses($where, $wp_query); + } + + return $where; + } + + + /** + * Adds additional group by clauses to the SQL query + * @param string $groupby + * @param WP_Query $wp_query + * @return string + */ + function set_custom_wp_query_groupby($groupby, &$wp_query) + { + $retval = $groupby; + $group_by_columns = $wp_query->get('group_by_columns'); + if ($group_by_columns) { + $retval = str_replace('GROUP BY', '', $retval); + $columns = explode(',', $retval); + foreach (array_reverse($columns) as $column) { + array_unshift($group_by_columns, trim($column)); + } + $retval = "GROUP BY ".implode(', ', $group_by_columns); + } + // Not all mysql servers allow access to create temporary tables which are used when doing GROUP BY + // statements; this can potentially ruin basic queries. If no group_by_columns is set AND the query originates + // within the datamapper we strip the "GROUP BY" clause entirely in this filter. + else if ($wp_query->get('datamapper')) { + $retval = ''; + } + return $retval; + } + + + /** + * Formats the value of used in a WHERE IN + * SQL clause for use in the WP_Query where clause + * @param string|array $values + * @return string + */ + function format_where_in_value($values) + { + if (is_string($values) && strpos($values, ',') !== FALSE) + $values = explode(", ", $values); + elseif (!is_array($values)) + $values = array($values); + + // Quote the titles + foreach ($values as $index => $value) { + $values[$index] = "'{$value}'"; + } + + return implode(', ', $values); + } + + + /** + * Adds post_title to the where clause + * @param string $where + * @param WP_Query $wp_query + * @return string + */ + function add_post_title_where_clauses(&$where, &$wp_query) + { + global $wpdb; + + // Handle post_title query var + if (($titles = $wp_query->get('post_title'))) { + $titles = $this->format_where_in_value($titles); + $where .= " AND {$wpdb->posts}.post_title IN ({$titles})"; + } + + // Handle post_title_like query var + elseif (($value = $wp_query->get('post_title__like'))) { + $where .= " AND {$wpdb->posts}.post_title LIKE '{$value}'"; + } + } + + + /** + * Adds post_name to the where clause + * @param type $where + * @param type $wp_query + */ + function add_post_name_where_clauses(&$where, &$wp_query) + { + global $wpdb; + + if (($name = $wp_query->get('page_name__like'))) { + $where .= " AND {$wpdb->posts}.post_name LIKE '{$name}'"; + } + elseif (($names = $wp_query->get('page_name__in'))) { + $names = $this->format_where_in_value($names); + $where .= " AND {$wpdb->posts}.post_name IN ({$names})"; + } + } + + function get_type_list() + { + return array( + 'A_Datamapper_Factory' => 'adapter.datamapper_factory.php', + 'C_Datamapper_Installer' => 'class.datamapper_installer.php', + 'C_Datamapper' => 'class.datamapper.php', + 'C_Custompost_Datamapper_Driver' => 'class.custompost_datamapper_driver.php', + 'C_Customtable_Datamapper_Driver' => 'class.customtable_datamapper_driver.php', + 'C_Datamapper_Driver_Base' => 'class.datamapper_driver_base.php', + 'C_Datamapper_Model' => 'class.datamapper_model.php', + 'I_Custompost_Datamapper' => 'interface.custompost_datamapper.php', + 'I_Customtable_Datamapper' => 'interface.customtable_datamapper.php', + 'I_Datamapper_Driver' => 'interface.datamapper_driver.php', + 'I_Datamapper_Model' => 'interface.datamapper_model.php', + 'M_Datamapper' => 'module.datamapper.php' + ); + } +} +new M_DataMapper(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php new file mode 100644 index 000000000..50a91b2c9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/adapter.dynamic_stylesheet_routes.php @@ -0,0 +1,21 @@ +<?php + +class A_Dynamic_Stylesheet_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Add Dynamic Stylesheet Route', + get_class(), + 'add_dynamic_stylesheet_route' + ); + } + + function add_dynamic_stylesheet_route() + { + $app = $this->create_app('/nextgen-dcss'); + $app->rewrite('/{\d}/{*}', '/index--{1}/data--{2}'); + $app->route('/', 'I_Dynamic_Stylesheet#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php new file mode 100644 index 000000000..ff99ceb6a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_controller.php @@ -0,0 +1,128 @@ +<?php + +class C_Dynamic_Stylesheet_Controller extends C_MVC_Controller +{ + static $_instances = array(); + var $_known_templates = array(); + var $_app = NULL; + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Dynamic_Stylesheet_Instance_Methods'); + $this->add_mixin('Mixin_Dynamic_Stylesheet_Actions'); + $this->implement('I_Dynamic_Stylesheet'); + } + + function initialize() + { + parent::initialize(); + $this->_app = C_NextGen_Settings::get_instance()->dynamic_stylesheet_slug; + } + + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +/** + * Provides instance methods for the dynamic stylesheet utility + */ +class Mixin_Dynamic_Stylesheet_Instance_Methods extends Mixin +{ + /** + * Registers a template with the dynamic stylesheet utility. A template + * must be registered before it can be loaded + * @param string $name + * @param string $template + */ + function register($name, $template) + { + $this->object->_known_templates[$name] = $template; + } + + /** + * Finds a registered template by name + * @param string $name + * @return int + */ + function get_css_template_index($name) + { + return array_search($name, array_keys($this->object->_known_templates)); + } + + function get_css_template($index) + { + $keys = array_keys($this->object->_known_templates); + return $this->object->_known_templates[$keys[$index]]; + } + + /** + * Loads a template, along with the dynamic variables to be interpolated + * @param string $name + * @param array $vars + */ + function enqueue($name, $data=array()) + { + if (($index = $this->object->get_css_template_index($name)) !== FALSE) + { + if (is_subclass_of($data, 'C_DataMapper_Model')) + $data = $data->get_entity(); + $data = $this->object->encode($data); + wp_enqueue_style( + 'dyncss-' . $index . $data . '@dynamic', + $this->object->get_router()->get_url("/{$this->object->_app}", FALSE) . "/{$index}/{$data}" + ); + } + } + + /** + * Encodes $data + * + * base64 encoding uses '==' to denote the end of the sequence, but keep it out of the url + * @param $data + * @return string + */ + function encode($data) + { + $data = json_encode($data); + $data = base64_encode($data); + $data = str_replace('/', '\\', $data); + $data = rtrim($data, '='); + return $data; + } + + /** + * Decodes $data + * + * @param $data + * @return array|mixed + */ + function decode($data) + { + $data = str_replace('\\', '/', $data); + $data = base64_decode($data . '=='); + $data = json_decode($data); + return $data; + } +} + +/** + * Provides controller actions for the dynamic stylesheet + */ +class Mixin_Dynamic_Stylesheet_Actions extends Mixin +{ + function index_action() + { + $this->set_content_type('css'); + if (($data = $this->param('data')) !== FALSE && ($index = $this->param('index')) !== FALSE) { + $data = $this->object->decode($data); + $this->render_view($this->object->get_css_template($index), $data); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php new file mode 100644 index 000000000..7a531ecd9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/class.dynamic_stylesheet_installer.php @@ -0,0 +1,14 @@ +<?php + +class C_Dynamic_Stylesheet_Installer +{ + function __construct() + { + $this->settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('dynamic_stylesheet_slug', 'nextgen-dcss'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php new file mode 100644 index 000000000..cab06fbd2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/interface.dynamic_stylesheet.php @@ -0,0 +1,7 @@ +<?php + +interface I_Dynamic_Stylesheet +{ + function register($name, $template); + function enqueue($name, $vars); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php new file mode 100644 index 000000000..f7e349d90 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_stylesheet/module.dynamic_stylesheet.php @@ -0,0 +1,53 @@ +<?php + +/* +{ + Module: photocrati-dynamic_stylesheet, + Depends: { photocrati-mvc, photocrati-lzw } +} + */ +class M_Dynamic_Stylesheet extends C_Base_Module +{ + function define($context=FALSE) + { + parent::define( + 'photocrati-dynamic_stylesheet', + 'Dynamic Stylesheet', + 'Provides the ability to generate and enqueue a dynamic stylesheet', + '0.3', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com', + $context + ); + + include_once('class.dynamic_stylesheet_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Dynamic_Stylesheet_Installer'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + "I_Dynamic_Stylesheet", 'C_Dynamic_Stylesheet_Controller' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter( + 'I_Router', 'A_Dynamic_Stylesheet_Routes' + ); + } + + function get_type_list() + { + return array( + 'A_Dynamic_Stylesheet_Routes' => 'adapter.dynamic_stylesheet_routes.php', + 'C_Dynamic_Stylesheet_Installer' => 'class.dynamic_stylesheet_installer.php', + 'C_Dynamic_Stylesheet_Controller' => 'class.dynamic_stylesheet_controller.php', + 'I_Dynamic_Stylesheet' => 'interface.dynamic_stylesheet.php' + ); + } +} + +new M_Dynamic_Stylesheet; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php new file mode 100644 index 000000000..63a9191cb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnail_routes.php @@ -0,0 +1,28 @@ +<?php + +class A_Dynamic_Thumbnail_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds Dynamic Thumbnail routes', + get_class(), + 'add_dynamic_thumbnail_routes' + ); + } + + function add_dynamic_thumbnail_routes() + { + $app = $this->create_app('/nextgen-image'); + + // The C_Dynamic_Thumbnails Controller was created before the new + // router implementation was conceptualized. It uses it's own mechanism + // to parse the REQUEST_URI. It should be refactored to use the router's + // parameter mechanism, but for now - we'll just removed the segments + // from the router's visibility, and let the Dynamic Thumbnails Controller + // do it's own parsing + $app->rewrite('/{*}', '/'); + $app->route('/', 'I_Dynamic_Thumbnails_Controller#index'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php new file mode 100644 index 000000000..a0ffa1332 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/adapter.dynamic_thumbnails_storage_driver.php @@ -0,0 +1,104 @@ +<?php + +class A_Dynamic_Thumbnails_Storage_Driver extends Mixin +{ + function get_image_abspath($image, $size=FALSE, $check_existance=FALSE) + { + $retval = NULL; + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) + { + // If we have the id, get the actual image entity + if (is_numeric($image)) { + $image = $this->object->_image_mapper->find($image); + } + + // Ensure we have the image entity - user could have passed in an + // incorrect id + if (is_object($image)) { + if ($folder_path = $this->object->get_cache_abspath($image->galleryid)) + { + $params = $dynthumbs->get_params_from_name($size, true); + $image_filename = $dynthumbs->get_image_name($image, $params); + + $image_path = path_join($folder_path, $image_filename); + + if ($check_existance) + { + if (@file_exists($image_path)) + { + $retval = $image_path; + } + } + else + { + $retval = $image_path; + } + } + } + } + else { + $retval = $this->call_parent('get_image_abspath', $image, $size, $check_existance); + } + + return $retval; + } + + function get_image_url($image, $size='full') + { + $retval = NULL; + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) { + + $abspath = $this->object->get_image_abspath($image, $size, true); + + if ($abspath == null) { + $params = $dynthumbs->get_params_from_name($size, true); + $retval = $dynthumbs->get_image_url($image, $params); + } + } + + if ($retval == null) { + $retval = $this->call_parent('get_image_url', $image, $size); + } + + return $retval; + } + + function get_image_dimensions($image, $size = 'full') + { + $retval = $this->call_parent('get_image_dimensions', $image, $size); + + if ($retval == null) { + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) + { + $new_dims = $this->object->calculate_image_size_dimensions($image, $size); + + $retval = array('width' => $new_dims['real_width'], 'height' => $new_dims['real_height']); + } + } + + return $retval; + } + + function get_image_size_params($image, $size, $params = null, $skip_defaults = false) + { + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs && $dynthumbs->is_size_dynamic($size)) + { + $named_params = $dynthumbs->get_params_from_name($size, true); + + foreach ($named_params as $param_name => $param_value) + { + $params[$param_name] = $param_value; + } + } + + return $this->call_parent('get_image_size_params', $image, $size, $params, $skip_defaults); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php new file mode 100644 index 000000000..d51f8b1e8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_controller.php @@ -0,0 +1,72 @@ +<?php + +class C_Dynamic_Thumbnails_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->implement('I_Dynamic_Thumbnails_Controller'); + } + + /** + * Returns an instance of this class + * + * @param string $context + * @return C_Dynamic_Thumbnails_Controller + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + function index_action() + { + $dynthumbs = $this->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + $uri = $_SERVER['REQUEST_URI']; + $params = $dynthumbs->get_params_from_uri($uri); + $request_params = $params; + + if ($params != null) + { + $storage = $this->get_registry()->get_utility('I_Gallery_Storage'); + + // Note, URLs should always include quality setting when returned by Gallery Storage component + // this sanity check is mostly for manually testing URLs + if (!isset($params['quality'])) { + // Note: there's a problem when doing this as using the same set of parameters to *retrieve* the image path/URL will lead to a different filename than the one tha was used to *generate* it (which went through here) + // The statement above about URLs always containing quality setting is not true anymore, this is because we need to retrieve default quality from the imgQuality and thumbquality settings, depending on "full" or "thumbnail" request in the ngglegacy storage + //$params['quality'] = 100; + } + + $image_id = $params['image']; + $size = $dynthumbs->get_size_name($params); + $abspath = $storage->get_image_abspath($image_id, $size, true); + $valid = true; + + // Render invalid image if hash check fails + if ($abspath == null) { + $uri_plain = $dynthumbs->get_uri_from_params($request_params); + $hash = wp_hash($uri_plain); + + if (strpos($uri, $hash) === false) { + $valid = false; + $filename = $this->object->find_static_file('invalid_image.png'); + $this->set_content_type('image/png'); + readfile($filename); + $this->render(); + } + } + + if ($valid) { + $storage->render_image($image_id, $size); + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php new file mode 100644 index 000000000..7963a3f05 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_installer.php @@ -0,0 +1,14 @@ +<?php + +class C_Dynamic_Thumbnails_Installer +{ + function __construct() + { + $this->settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('dynamic_thumbnail_slug', 'nextgen-image'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php new file mode 100644 index 000000000..52e6ad3f7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/class.dynamic_thumbnails_manager.php @@ -0,0 +1,517 @@ +<?php + +class Mixin_Dynamic_Thumbnails_Manager extends Mixin +{ + function get_route_name() + { + return C_NextGen_Settings::get_instance()->get('dynamic_thumbnail_slug'); + } + + function _get_params_sanitized($params) + { + if (isset($params['rotation'])) + { + $rotation = intval($params['rotation']); + + if ($rotation && in_array(abs($rotation), array(90, 180, 270))) + { + $rotation = $rotation % 360; + + if ($rotation < 0) + { + $rotation = 360 - $rotation; + } + + $params['rotation'] = $rotation; + } + else + { + unset($params['rotation']); + } + } + + if (isset($params['flip'])) + { + $flip = strtolower($params['flip']); + + if (in_array($flip, array('h', 'v', 'hv'))) + { + $params['flip'] = $flip; + } + else + { + unset($params['flip']); + } + } + + return $params; + } + + function get_uri_from_params($params) + { + $params = $this->object->_get_params_sanitized($params); + + $image = isset($params['image']) ? $params['image'] : null; + $image_id = is_scalar($image) ? ((int)$image) : $image->pid; + $image_width = isset($params['width']) ? $params['width'] : null; + $image_height = isset($params['height']) ? $params['height'] : null; + $image_quality = isset($params['quality']) ? $params['quality'] : null; + $image_type = isset($params['type']) ? $params['type'] : null; + $image_crop = isset($params['crop']) ? $params['crop'] : null; + $image_watermark = isset($params['watermark']) ? $params['watermark'] : null; + $image_rotation = isset($params['rotation']) ? $params['rotation'] : null; + $image_flip = isset($params['flip']) ? $params['flip'] : null; + $image_reflection = isset($params['reflection']) ? $params['reflection'] : null; + + $router = $this->get_registry()->get_utility('I_Router'); + + $uri = null; + + $uri .= '/'; + $uri .= $this->object->get_route_name() . '/'; + $uri .= strval($image_id) . '/'; + + $uri .= strval($image_width) . 'x' . strval($image_height); + + if ($image_quality != null) + { + $uri .= 'x' . strval($image_quality); + } + + $uri .= '/'; + + if ($image_type != null) + { + $uri .= $image_type . '/'; + } + + if ($image_crop) + { + $uri .= 'crop/'; + } + + if ($image_watermark) + { + $uri .= 'watermark/'; + } + + if ($image_rotation) + { + $uri .= 'rotation-' . $image_rotation . '/'; + } + + if ($image_flip) + { + $uri .= 'flip-' . $image_flip . '/'; + } + + if ($image_reflection) + { + $uri .= 'reflection/'; + } + + return $uri; + } + + function get_image_uri($image, $params) + { + $params['image'] = $image; + $uri = $this->object->get_uri_from_params($params); + + if (substr($uri, -1) != '/') + { + $uri .= '/'; + } + + $uri .= wp_hash($uri) . '/'; + + return $uri; + } + + function get_image_url($image, $params) + { + $router = $this->get_registry()->get_utility('I_Router'); + + return $router->get_url($this->object->get_image_uri($image, $params), FALSE); + } + + function get_params_from_uri($uri) + { + $regex = '/\\/?' . $this->object->get_route_name() . '\\/(\\d+)(?:\\/(.*))?/'; + $match = null; + + // XXX move this URL clean up to I_Router? + $uri = preg_replace('/\\/index.php\\//', '/', $uri, 1); + $uri = trim($uri, '/'); + + if (@preg_match($regex, $uri, $match) > 0) + { + $image_id = $match[1]; + $uri_args = isset($match[2]) ? explode('/', $match[2]) : array(); + $params = array( + 'image' => $image_id, + ); + + foreach ($uri_args as $uri_arg) + { + $uri_arg_set = explode('-', $uri_arg); + $uri_arg_name = array_shift($uri_arg_set); + $uri_arg_value = $uri_arg_set ? array_shift($uri_arg_set) : null; + $size_match = null; + + if ($uri_arg == 'watermark') + { + $params['watermark'] = true; + } + else if ($uri_arg_name == 'rotation') + { + $params['rotation'] = $uri_arg_value; + } + else if ($uri_arg_name == 'flip') + { + $params['flip'] = $uri_arg_value; + } + else if ($uri_arg == 'reflection') + { + $params['reflection'] = true; + } + else if ($uri_arg == 'crop') + { + $params['crop'] = true; + } + else if (in_array(strtolower($uri_arg), array('gif', 'jpg', 'png'))) + { + $params['type'] = $uri_arg; + } + else if (preg_match('/(\\d+)x(\\d+)(?:x(\\d+))?/i', $uri_arg, $size_match) > 0) + { + $params['width'] = $size_match[1]; + $params['height'] = $size_match[2]; + + if (isset($size_match[3])) + { + $params['quality'] = $size_match[3]; + } + } + } + + return $this->object->_get_params_sanitized($params); + } + + return null; + } + + function _get_name_prefix_list() + { + return array( + 'id' => 'nggid0', + 'size' => 'ngg0dyn-', + 'flags' => '00f0', + 'flag' => array('w0' => 'watermark', 'c0' => 'crop', 'r1' => 'rotation', 'f1' => 'flip', 'r0' => 'reflection', 't0' => 'type'), + 'flag_len' => 2, + 'max_value_length' => 15, // Note: this can't be increased beyond 15, as a single hexadecimal character is used to encode the value length in names. Increasing it over 15 requires changing the algorithm to use an arbitrary letter instead of a hexadecimal digit (this would bump max length to 35, 9 numbers + 26 letters) + ); + } + + function get_name_from_params($params, $only_size_name = false, $id_in_name = true) + { + $prefix_list = $this->object->_get_name_prefix_list(); + $id_prefix = $prefix_list['id']; + $size_prefix = $prefix_list['size']; + $flags_prefix = $prefix_list['flags']; + $flags = $prefix_list['flag']; + $max_value_length = $prefix_list['max_value_length']; + + $params = $this->object->_get_params_sanitized($params); + $image = isset($params['image']) ? $params['image'] : null; + $image_width = isset($params['width']) ? $params['width'] : null; + $image_height = isset($params['height']) ? $params['height'] : null; + $image_quality = isset($params['quality']) ? $params['quality'] : null; + + $extension = null; + $name = null; + + // if $only_size_name is false then we include the file name and image id for the image + if (!$only_size_name) + { + if (is_int($image)) + { + $imap = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $image = $imap->find($image); + } + + if ($image != null) + { + // this is used to remove the extension and then add it back at the end of the name + $extension = pathinfo($image->filename, PATHINFO_EXTENSION); + + if ($extension != null) + { + $extension = '.' . $extension; + } + + $name .= basename($image->filename, $extension); + $name .= '-'; + + if ($id_in_name) + { + $image_id = strval($image->pid); + $id_len = min($max_value_length, strlen($image_id)); + $id_len_hex = dechex($id_len); + + // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter + if (strlen($id_len_hex) == 1) + { + $name .= $id_prefix . $id_len . substr($image_id, 0, $id_len); + $name .= '-'; + } + } + } + } + + $name .= $size_prefix; + $name .= strval($image_width) . 'x' . strval($image_height); + + if ($image_quality != null) + { + $name .= 'x' . $image_quality; + } + + $name .= '-'; + + $name .= $flags_prefix; + + foreach ($flags as $flag_prefix => $flag_name) + { + $flag_value = 0; + + if (isset($params[$flag_name])) + { + $flag_value = $params[$flag_name]; + + if (!is_string($flag_value)) + { + // only strings or ints allowed, sprintf is required because intval(0) returns '' and not '0' + $flag_value = intval($flag_value); + $flag_value = sprintf('%d', $flag_value); + } + } + + $flag_value = strval($flag_value); + $flag_len = min($max_value_length, strlen($flag_value)); + $flag_len_hex = dechex($flag_len); + + // sanity check, should never occurr if $max_value_length is not messed up, ensure only 1 character is used to encode length or else skip parameter + if (strlen($flag_len_hex) == 1) + { + $name .= $flag_prefix . $flag_len . substr($flag_value, 0, $flag_len); + } + } + + $name .= $extension; + + return $name; + } + + function get_size_name($params) + { + $name = $this->object->get_name_from_params($params, true); + + return $name; + } + + function get_image_name($image, $params) + { + $params['image'] = $image; + $name = $this->object->get_name_from_params($params); + + return $name; + } + + function get_params_from_name($name, $is_only_size_name = false) + { + $prefix_list = $this->object->_get_name_prefix_list(); + $id_prefix = $prefix_list['id']; + $size_prefix = $prefix_list['size']; + $flags_prefix = $prefix_list['flags']; + $max_value_length = $prefix_list['max_value_length']; + $size_name = null; + $id_name = null; + $params = array(); + + if (!$is_only_size_name) + { + $extension = pathinfo($name, PATHINFO_EXTENSION); + + if ($extension != null) + { + $extension = '.' . $extension; + } + + $name = basename($name, $extension); + } + + $size_index = strrpos($name, $size_prefix); + + if ($size_index > 0 || $size_index === 0) + { + // check if name contains dynamic size/params info by looking for prefix + $size_name = substr($name, $size_index); + } + + if (!$is_only_size_name) + { + // name should contain the image id, search for prefix + $id_index = strrpos($name, $id_prefix); + + if ($id_index > 0 || $id_index === 0) + { + if ($size_index > 0 && $size_index > $id_index) + { + $id_name = substr($name, $id_index, ($size_index - $id_index)); + } + else + { + $id_name = substr($name, $id_index); + } + } + } + + // Double check we got a correct dynamic size/params string + if (substr($size_name, 0, strlen($size_prefix)) == $size_prefix) + { + $flags = $prefix_list['flag']; + // get the length of the flag id (the key in the $flags array) in the string (how many characters to consume) + $flag_id_len = $prefix_list['flag_len']; + $params_str = substr($size_name, strlen($size_prefix)); + $params_parts = explode('-', $params_str); + + // $param_part is a single param, separated by '-' + foreach ($params_parts as $param_part) + { + // Parse WxHxQ - Q=quality + $param_size = explode('x', $param_part); + $param_size_count = count($param_size); + + if (substr($param_part, 0, strlen($flags_prefix)) == $flags_prefix) + { + /* Set flags, using $flags keys as prefixes */ + + // move string pointer up (after the main flags prefix) + $param_flags = substr($param_part, strlen($flags_prefix)); + $param_flags_len = strlen($param_flags); + $flags_todo = $flags; + + while (true) + { + // ensure we don't run into an infinite loop ;) + if (count($flags_todo) == 0 || strlen($param_flags) == 0) + { + break; + } + + // get the flag prefix (a key in the $flags array) using flag id length + $flag_prefix = substr($param_flags, 0, $flag_id_len); + // move string pointer up (after the single flag prefix) + $param_flags = substr($param_flags, $flag_id_len); + + // get the length of the flag value in the string (how many characters to consume) + // flag value length is stored in a single hexadecimal character next to the flag prefix + $flag_value_len = min(hexdec(substr($param_flags, 0, 1)), min($max_value_length, strlen($param_flags) - 1)); + // get the flag value + $flag_value = substr($param_flags, 1, $flag_value_len); + // move string pointer up (after the entire flag) + $param_flags = substr($param_flags, $flag_value_len + 1); + + // make sure the flag is supported + if (isset($flags[$flag_prefix])) + { + $flag_name = $flags[$flag_prefix]; + + if (is_numeric($flag_value)) + { + // convert numerical flags to integers + $flag_value = intval($flag_value); + } + + $params[$flag_name] = $flag_value; + + if (isset($flags_todo[$flag_prefix])) + { + unset($flags_todo[$flag_prefix]); + } + } + else + { + // XXX unknown flag? + } + } + } + else if ($param_size_count == 2 || $param_size_count == 3) + { + // Set W H Q + $params['width'] = intval($param_size[0]); + $params['height'] = intval($param_size[1]); + + if (isset($param_size[2]) && intval($param_size[2]) > 0) + { + $params['quality'] = intval($param_size[2]); + } + } + } + } + + // Double check we got a correct id string + if (substr($id_name, 0, strlen($id_prefix)) == $id_prefix) + { + // move string pointer up (after the prefix) + $id_name = substr($id_name, strlen($id_prefix)); + // get the length of the image id in the string (how many characters to consume) + $id_len = min(hexdec(substr($id_name, 0, 1)), min($max_value_length, strlen($id_name) - 1)); + // get the id based on old position and id length + $image_id = intval(substr($id_name, 1, $id_len)); + + if ($image_id > 0) + { + $params['image'] = $image_id; + } + } + + return $this->object->_get_params_sanitized($params); + } + + function is_size_dynamic($name, $is_only_size_name = false) + { + $params = $this->object->get_params_from_name($name, $is_only_size_name); + + if (isset($params['width']) && isset($params['height'])) + { + return true; + } + + return false; + } +} + +class C_Dynamic_Thumbnails_Manager extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + + $this->implement('I_Dynamic_Thumbnails_Manager'); + $this->add_mixin('Mixin_Dynamic_Thumbnails_Manager'); + } + + static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Dynamic_Thumbnails_Manager($context); + } + + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php new file mode 100644 index 000000000..19fa02276 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_controller.php @@ -0,0 +1,5 @@ +<?php + +interface I_Dynamic_Thumbnails_Controller +{ +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_manager.php new file mode 100644 index 000000000..b0e881ee3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/interface.dynamic_thumbnails_manager.php @@ -0,0 +1,24 @@ +<?php + +interface I_Dynamic_Thumbnails_Manager +{ + function get_route_name(); + + function get_uri_from_params($params); + + function get_image_uri($image, $params); + + function get_image_url($image, $params); + + function get_params_from_uri($uri); + + function get_name_from_params($params, $only_size_name = false, $id_in_name = true); + + function get_size_name($params); + + function get_image_name($image, $params); + + function get_params_from_name($name, $is_only_size_name = false); + + function is_size_dynamic($name, $is_only_size_name = false); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php new file mode 100644 index 000000000..b5e116ab6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/module.dynamic_thumbnails.php @@ -0,0 +1,53 @@ +<?php + +/*** + { + Module: photocrati-dynamic_thumbnails + } + ***/ +class M_Dynamic_Thumbnails extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-dynamic_thumbnails', + 'Dynamic Thumbnails', + 'Adds support for dynamic thumbnails', + '0.3', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.dynamic_thumbnails_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Dynamic_Thumbnails_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Router', 'A_Dynamic_Thumbnail_Routes'); + $this->get_registry()->add_adapter('I_GalleryStorage_Driver', 'A_Dynamic_Thumbnails_Storage_Driver'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Manager', 'C_Dynamic_Thumbnails_Manager'); + $this->get_registry()->add_utility('I_Dynamic_Thumbnails_Controller', 'C_Dynamic_Thumbnails_Controller'); + } + + function get_type_list() + { + return array( + 'A_Dynamic_Thumbnails_Storage_Driver' => 'adapter.dynamic_thumbnails_storage_driver.php', + 'A_Dynamic_Thumbnail_Routes' => 'adapter.dynamic_thumbnail_routes.php', + 'C_Dynamic_Thumbnails_Installer' => 'class.dynamic_thumbnails_installer.php', + 'C_Dynamic_Thumbnails_Controller' => 'class.dynamic_thumbnails_controller.php', + 'C_Dynamic_Thumbnails_Manager' => 'class.dynamic_thumbnails_manager.php', + 'I_Dynamic_Thumbnails_Controller' => 'interface.dynamic_thumbnails_controller.php', + 'I_Dynamic_Thumbnails_Manager' => 'interface.dynamic_thumbnails_manager.php' + ); + } + +} + +new M_Dynamic_Thumbnails(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/static/invalid_image.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/dynamic_thumbnails/static/invalid_image.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c5af285befadb65f76cd447376e76c6119ec65 GIT binary patch literal 2797 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F<YIoCO|{#S9F3${@^GvDChd zfq{X&#M9T6{SLRZxRjQ*ykIi}16Plyi(^Q}y{i$`1tC`@|IgiB{eEBh=No6M%@a3Q z3N}p)KfvK8A}jbdV(!JPXx&^#6@#){nXgNZ*;`%yZ*}?7%&@{&FD#apYOu0*DJwXc zu<|q}%wu6P%<<Tym|{M=_FnaQ%fHDdCy8?=Rs1+RXXo=fd!JkHzhC#frr+7(`47GB zZ)IA~dm00|oH#n%n4M0Pw>y0Bn!hda`|s7i&zpsMr@j6;YyO|C{AIg!EUv%i*v@Q| z&U3sx@BhE4>w^F5tXxxZdBM{6b-%v7ub2JApSe$%rD~RcN^ji9e@Rcj&-0ug{>0_# ztajDzqg(bp{`~j!yGo`ai=Jb9<^Swhu%lw-iNyhnloKu{iiDp#|1NLM?Kkhgzj~j^ zB<@!qx9s7m^F^^YrL@`)O0tGN+AwSDhMPRE_ucvXZt<Lr)sqjLm|B<nxpD4#v2Z;d zr7R{Jc2*1KZuY>4ung&cyGl<VINEomdXmHI<-6q#W`EINvV5k))C{IQtD20t)J|XE zHhi*^TQ1A?&qd?n)K*L7g00(c-?@Ej!_p<2l$uX3W(XF3uyRsHPt!5Chi8gkwC$d4 zUMlzB<o!HF2T|7J_BGkLZe_=W(-t!<JN2NaDZ|A>vr@pNHpx1WRm!UA&!RuBYun5I zYRGZjm1fbKpL>djH}=*ez0Wf;YDDG)GBh0B%hb1OdV=msMn#r60V_5N7`<g{T=DR$ z`0RZ%>aTMiX>v5F{j*;D`P8Yp(>-)H#_nJ`IgNSp=Q@r>a?9@gUf_M2eY$9YhC>a< zJEiH%-+q|KdvIZ6zUZBOrj6$wvwI~qHuCOV=cC)JZo{vr)U(c&!!6}UjolH=#-qW! zi>@+iG55MnOq#MVb)k3^-{173vC0Cxzf9-;x8AUD%ce~s0nR6D*OgZ+kSf|x`Z{b) z++Hc`vNsKy%Vmze`FWkc<cAhlcagEaseHAr!G-J{+ALCbRrNa^mGp1EbqlcMI;X*M zlH>Fqtpdm9bLafFY~Q|k{d#@{rZujs7hH@M$_wp0=+We{`PKEUvUk7#Si9`&cAp1c z=PMsCUH0qNqpnLn8lCm>KCOo3j3t?VJ?tja++NG(&A5A-;oJeqRw=2b%bA->%w=x8 z$+fNYKKOPT=N8$!-(9w8m(M-w;xM)1kgHU1;<<RX2`{e-IWn(K7j@}oo}-Zv(rRYa zac9n#P~G<LHpfH0o)h@6ZQd6CdG^7t^)wAGZ(P87V9tJ)MMn)E$7rhZUwb6gz{RP3 zf-&VLtLByaTVLLpKHoCmn$c9w{qer~KML2U#;(1r@xV*zl9y(s!OnN{x4u$pIS}<l zq2%Sy2PS-a+6OY^KNYR{KKI`DgW4Az9()sek!krb(Ain~^QX;647YQx6`OWQE92|6 z*_RY&$!@5UbIIAjeQ}?ei+(+;_G?j-S0}We`^m)>+~#Qc<9z6(?fbuXg5zS=B`!W` zb38%6$uK)BKz8%7lCX_p*AGkxWmA3Oe5YRWB6sPDjYsdy{rcOy?T@p0?5jFuCfWJ# z<5x|;!T<K9+l3nz+an`*9p^+W_n5>o*N>gSKw{ah%8PUQ*37!Tz;qb{!wR8x!&|J1 zcYgml*?+G(;T-3W-+O<(o9v#|EjHzef}9VFu3KV>Udz3Q^FHlW@$`I<wz)ED?zT(r z6E=N#`6Pm~a$<I`^`7|Jjg>Egre~hxC^&Xu!|(U~H`nZ1o_p+dUU0To^U+vdB_H2( z6DePzAH5tID$GXmw>S({%{ThZapIcmJS#5lc2&yz$Hi_550cz}UAX=>`tDNJFe&Nh zX57;pH>LSnw+l46c8eumT@_leGsgT%uI7rS+MC_i*9v@5JS<~SE!}^muJ+lCTC<## zZ324kN<W^g&(HHRy=X6Pu~ulR`@v8y&9kjN?AM%4eB~W1pHE1Y>{{fo{<`z(y&re> zeA&ME^V@VmX$x)!0pFDpMtXsZj!jzY|MydWe)jsgOQSa(Xbmp??DRKw_NSP#&SQrk zXtA0wt(nK3&rx@V$!acN+U82P4-5$>w49Hf`r0tzhaczfL~-_`CmgP?w$)YVN}FY^ z+*naDrR2)n-<g4~Cz*Ps{L&_|xpVgH<W6T1?R43Yd)sW!zhAE{N?u&(xi93D5dTT( z%;$CS(i>ODp4hm#^(=e&UZJnQ^Lr1h{QoY3$MQo_+hLz$P16)!CF;hp_L>y4$@IEy zOg_$+b9)=_@jltZIg7kcx;{JAtB~ZR-`k!TSmm*0|Kq3EcJ2LMo6OYM7#Caq_~F@k zN#$}+9E`4;KhtTjTU-(5&?3O$<n;GOv6<)E3L&xb&?2Aq-49DXG_4b!zeh?+ZcdrJ z-|Cqwwa(T2dAK;U?6t8OH)HSd$))S2ylYx8(>7q1kJ_JSz4ssH=kIOa>c4KcCR0>0 z*B8F?7BWUX7xi9LKG@m!i&=a5T;sc^?|r+x($?2~Tgcj&oaBuYQ`Vj5bX~EVvB|Az zfpJqXm(<7R;8ZDLhJKMwg`;`~W(@VG|3&(!DcD`<ow&JOeNPzE^oeul=I7h**=&~o zZ&6#0e`SRmlTYZyPdDeK$L3u>%$6&Y72+qRFelKZYPR6cJ6r{AHwwfT?Ug;b<3nz1 zU}=}$IgKp`{g%Acme04_@%p4r`At8gJa0e62f6l7xqk18*N%KOF(b!<@!zcP4|~*( zf1D`iQoWBU_^BnM{p1ykn@^niJp0^y`@J`>*M9Q|d-z8?dB3j(^F;>+^?!fQRfRi- zEiH?gIFIGL(Djz01>zIE*Os%?1g)Fbe0bFwi=EH+K7Z<=^0SJm@tiRG>Bx!~PtWiO zFDxois+hzeFaOT*NHtqb=RM003>hUXnNIU7w!Xg7#=ZO%*D`?xT}|uS&d)14S1cx= zYLj}~z_jg#gSFB<;{>laeNFzSGUSccXn;Iq==RcuY4KsZi{;xgGozxSgnrx*3v#RF zC^c2Mb>DFB@tw{}l4~ynM|QBb7auFy@kCL~w93_FhTc!TIERmaxfNe9EtqI9WdXlW zpTialg(&0qQWcCsCbL3H%(u3Fo*z~1R;;^!)`Z@9YyU6#@nGBie+P4n^h{@+nIzTS zATUdZGc}TJZ`!Wgsx1O9Tx2`cHmW_B=`jolbxbHQ$e6$XPxJEoKTgkI(>LdZ2-6%x zo>;5=FY~fbOMYYLIhY{O+uQ3BD00a1_{LvVm+UY2JFqY%I4RHR7u`2`zUSA+zvl?p zy_01>!1+8z#5L}70k6NW?^CVRJC8pW^dD#58+YE=*qHg|QPIE8w)8yNKSM=;hb=HZ zzF*nBf6>~tbGK~YE*v?Hb^dvEgJUcVOcs|F3iFOh%}le|*{gnlaf9dImAxD%_nl2k zHk;jh^KIF-ijPYB_N?N{zP6_E^2<3M3zjZr-MV$_l7$N$JB}tjZp>1%RsX(RdUB!v z87_;9FV23^*3x?M?d|QKU834*LJ2*IDJd+uxw#p6d1}l3=c^q|2*}9E5fO0}<WO|d z5K*ez|KH6)Jvzba;bf`VE<MYaEi>AD^NhuF9}(AWDJO-}wnqJYbhJA%F;P)pSGV=@ z%RP0e#=)MNr;XUy*$+xID{y?M+MAJ`t$barpWREu)iE|!_T%rrkKZ>Qi&m)gSiO36 zWm%cokFQ66Ze>1w`t<3YmtXp<n>leJqvxc&j>2oRex$V)*IkzL5@?ydPB3k<rE<ac bC;!(<#4|S7c(yPwFfe$!`njxgN@xNAZk;gv literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_installer.php new file mode 100644 index 000000000..e81015648 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_communication_installer.php @@ -0,0 +1,14 @@ +<?php + +class C_Frame_Communication_Installer +{ + function __construct() + { + $this->settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->set_default_value('frame_communication_option_name', 'X-Frame-Events'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_event_publisher.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_event_publisher.php new file mode 100644 index 000000000..63a15508d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/class.frame_event_publisher.php @@ -0,0 +1,79 @@ +<?php + +class C_Frame_Event_Publisher extends C_Component +{ + static $_instances = array(); + var $setting_name = NULL; + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Frame_Event_Publisher'); + $this->implement('I_Frame_Event_Publisher'); + } + + function initialize() + { + parent::initialize(); + $this->setting_name = C_NextGen_Settings::get_instance()->frame_communication_option_name; + } + + /** + * Gets an instance of the publisher + * @param string $context + * @return C_Frame_Event_Publisher + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Frame_Event_Publisher extends Mixin +{ + /** + * Encodes data for a setting + * @param array $data + * @return string + */ + function _encode($data) + { + return rawurlencode(json_encode($data)); + } + + /** + * Decodes data from a setting + * @param string $data + * @return array + */ + function _decode($data) + { + return (array)json_decode(rawurldecode($data)); + } + + /** + * Adds a setting to the frame events + * @param type $data + * @return type + */ + function add_event($data) + { + $id = md5(serialize($data)); + $data['context'] = $this->object->context; + + $write_cookie = TRUE; + if (defined('XMLRPC_REQUEST')) { + $write_cookie = XMLRPC_REQUEST == FALSE; + } + + if ($write_cookie) { + setrawcookie($this->object->setting_name.'_'.$id,$this->object->_encode($data)); + } + + return $data; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php new file mode 100644 index 000000000..a861a8735 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/interface.frame_event_publisher.php @@ -0,0 +1,6 @@ +<?php + +interface I_Frame_Event_Publisher +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php new file mode 100644 index 000000000..211dce039 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/module.frame_communication.php @@ -0,0 +1,66 @@ +<?php + +/*** + { + Module: photocrati-frame_communication, + Depends: { photocrati-router } + } +***/ + +class M_Frame_Communication extends C_Base_Module +{ + function define($context=FALSE) + { + parent::define( + 'photocrati-frame_communication', + 'Frame/iFrame Inter-Communication', + 'Provides a means for HTML frames to share server-side events with each other', + '0.2', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com', + $context + ); + + include_once('class.frame_communication_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Frame_Communication_Installer'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + 'I_Frame_Event_Publisher', 'C_Frame_Event_Publisher' + ); + } + + function _register_hooks() + { + add_action('init', array($this, 'enqueue_admin_scripts')); + + } + + function enqueue_admin_scripts() + { + $router = $this->get_registry()->get_utility('I_Router'); + + wp_register_script( + 'frame_event_publisher', + $router->get_static_url('photocrati-frame_communication#frame_event_publisher.js'), + array('jquery') + ); + + if (is_admin()) + wp_enqueue_script('frame_event_publisher'); + } + + function get_type_list() + { + return array( + 'C_Frame_Communication_Installer' => 'class.frame_communication_installer.php', + 'C_Frame_Event_Publisher' => 'class.frame_event_publisher.php', + 'I_Frame_Event_Publisher' => 'interface.frame_event_publisher.php' + ); + } +} + +new M_Frame_Communication(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js new file mode 100644 index 000000000..2246c85b2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/frame_communication/static/frame_event_publisher.js @@ -0,0 +1,162 @@ +window.Frame_Event_Publisher = { + id: window.name, + cookie_name: 'X-Frame-Events', + received: [], + initialized: false, + children: {}, + + is_parent: function(){ + return self.parent.document === self.document; + }, + + is_child: function(){ + return !this.is_parent(); + }, + + setup_ajax_handlers: function() { + var publisher = this; + jQuery(document).ajaxComplete(function(e, xhr, settings) { + setTimeout(function() { + publisher.ajax_handler(); + }, 0); + }); + }, + + ajax_handler: function() { + this.broadcast(this.get_events(document.cookie)); + }, + + initialize: function(){ + this.setup_ajax_handlers(); + if (this.id.length == 0) this.id = "Unknown"; + this.received = this.get_events(document.cookie); + this.initialized = true; + if (this.is_parent()) this.emit(this.received, true); + return this.received; + }, + + register_child: function(child) { + this.children[child.id] = child; + }, + + broadcast: function(events, child){ + if (!this.initialized) events = this.initialize(); + if (this.is_child()) { + if (arguments.length <= 1) child = window; + this.find_parent(child).register_child(child.Frame_Event_Publisher); + this.notify_parent(events, child); + } + else { + if (arguments.length == 0) events = this.received; + this.notify_children(events); + } + + }, + + /** + * Notifies the parent with a list of events to broadcast + */ + notify_parent: function(events, child){ + this.find_parent(child).broadcast(events, child); + }, + + /** + * Notifies (broadcasts) to children the list of available events + */ + notify_children: function(events){ + this.emit(events); + for (var index in this.children) { + var child = this.children[index]; + try { + child.emit(events); + } + catch (ex) { + if (typeof(console) != "undefined") console.log(ex); + delete this.children.index; + } + } + }, + + /** + * Finds the parent window for the current child window + */ + find_parent: function(child){ + var retval = child; + try { + while (retval.document !== retval.parent.document) retval = retval.parent; + } + catch (ex){ + if (typeof(console) != "undefined") console.log(ex); + } + return retval.Frame_Event_Publisher; + }, + + /** + * Emits all known events to all children + */ + emit: function(events, forced){ + if (typeof(forced) == "undefined") forced = false; + for (var event_id in events) { + var event = events[event_id]; + if (!forced && !this.has_received_event(event_id)) { + if (typeof(console) != "undefined") console.log("Emitting "+event_id+":"+event.event+" to "+this.id); + this.trigger_event(event_id, events[event_id]); + } + } + }, + + has_received_event: function(id){ + return this.received[id] != undefined; + }, + + trigger_event: function(id, event){ + var signal = event.context+':'+event.event; + event.id = id; + if (typeof(window) != "undefined") jQuery(window).trigger(signal, event); + this.received[id] = event; + }, + + /** + * Parses the events found in the cookie + */ + get_events: function(cookie){ + var frame_events = {}; + var cookies = cookie.split(' '); + try { + for (var i=0; i<cookies.length; i++) { + var current_cookie = cookies[i]; + var parts = current_cookie.match(/X-Frame-Events_([^=]+)=(.*)/); + if (parts) { + var event_id = parts[1]; + var event_data = parts[2].replace(/;$/, ''); + frame_events[event_id] = JSON.parse(unescape(event_data)); + var cookie_name = 'X-Frame-Events_'+event_id; + this.delete_cookie(cookie_name); + } + } + } + catch (Exception) {} + return frame_events; + }, + + delete_cookie: function(cookie){ + var date = new Date(); + document.cookie = cookie+'=; expires='+date.toGMTString()+';'; + }, + + listen_for: function(signal, callback){ + var publisher = this; + jQuery(window).bind(signal, function(e, event){ + var context = event.context; + var event_id = event.id; + if (!publisher.has_received_event(event_id)) { + callback.call(publisher, event); + publisher.received[event_id] = event; + } + }); + } +} + +jQuery(function($){ + Frame_Event_Publisher.broadcast(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/class.fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/class.fs.php new file mode 100644 index 000000000..e6b4a0552 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/class.fs.php @@ -0,0 +1,368 @@ +<?php + +class C_Fs extends C_Component +{ + static $_instances = array(); + var $_document_root; + + /** + * Gets an instance of the FS utility + * @param mixed $context + * @return C_Fs + */ + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + /** + * Defines the instance of the FS utility + * @param mixed $context the context in this case is the product + */ + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Fs_Instance_Methods'); + $this->implement('I_Fs'); + } + + function initialize() + { + parent::initialize(); + $this->_document_root = $this->set_document_root($_SERVER['DOCUMENT_ROOT']); + } +} + +class Mixin_Fs_Instance_Methods extends Mixin +{ + + function add_trailing_slash($path) + { + if (substr($path, -1) != '/') $path .= '/'; + return $path; + } + + + /** + * Returns a calculated path to a file + * @param string $path + * @param string $module + * @param boolean $relpath + * @returns string + */ + function get_abspath($path, $module=FALSE, $relpath=FALSE) + { + // Wel'l assume that we're to calculate the path relative to + // the site document root + $retval = $path; + if (strpos($path, $this->get_document_root()) === FALSE) { + $retval = $this->join_paths( + $this->get_document_root(), + $path + ); + } + + // If a module is provided, then we should calculate the path + // relative to the module directory + if ($module) { + if (($module_dir = $this->get_registry()->get_module_dir($module))) { + $retval = $this->join_paths($module_dir, $path); + } + else { + $retval = $this->join_path( + $this->get_document_root(), $module, $path + ); + } + } + + // Return the calculated path relative to the document root + if ($relpath) $retval = $this->object->remove_path_segment( + $retval, $this->get_document_root() + ); + + return $retval; + } + + + /** + * Returns a calculated relpath to a particular file + * @param string $path + * @param string $module + * @return string + */ + function get_relpath($path, $module=FALSE) + { + return $this->object->get_abspath($path, $module, TRUE); + } + + /** + * Removes a path segment from a url or filesystem path + * @param string $path + * @param string $segment + * @return string + */ + function remove_path_segment($path, $segment) + { + if (substr($segment, -1) == '/') $segment = substr($segment, 0, -1); + $parts = explode($segment, $path); + return $this->join_paths($parts); + } + + + /** + * Gets the absolute path to a file/directory for a specific Pope product + * + * If the path doesn't exist, then NULL is returned + * @param string $path + * @param string $module + * @returns string|NULL + */ + function find_abspath($path, $module=FALSE, $relpath=FALSE, $search_paths=array()) + { + $retval = NULL; + + // Ensure that we weren't passed a module id in the path + if (!$module) + list($path, $module) = $this->object->parse_formatted_path($path); + + if (@file_exists($path)) + { + $retval = $path; + } + else { + + // Ensure that we know where to search for the file + if (!$search_paths) + $search_paths = $this->object->get_search_paths($path, $module); + + // See if the file is located under one of the search paths directly + foreach ($search_paths as $dir) { + if (@file_exists($this->join_paths($dir, $path))) { + $retval = $this->join_paths($dir, $path); + break; + } + } + + // Use rglob to find the file + if (!$retval) foreach ($search_paths as $dir) { + if (($retval = $this->object->_rglob($dir, $path))) { + break; + } + } + + // Return the relative path if we're to do so + if ($relpath) { + $retval = $this->object->remove_path_segment($retval, $this->get_document_root()); + } + } + + return $retval; + } + + /** + * Returns a list of directories to search for a particular filename + * @param string $path + * @param string $module + * @return array + */ + function get_search_paths($path, $module=FALSE) + { + $append_module = FALSE; + + // Ensure that we weren't passed a module id in the path + if (!$module) list($path, $module) = $this->object->parse_formatted_path($path); + + // Directories to search + $directories = array(); + + // If a name of a module has been provided, then we need to search within + // that directory first + if ($module) { + + // Were we given a module id? + if (($module_dir = $this->get_registry()->get_module_dir($module))) { + $directories[] = $module_dir; + } + else { + $append_module = TRUE; + } + } + + // Add product's module directories + foreach ($this->get_registry()->get_product_list() as $product_id) { + $product_dir = $this->get_registry()->get_product_module_path($product_id); + if ($append_module) $directories[] = $this->join_paths( + $product_dir, $module + ); + $directories[] = $product_dir; + } + + // If all else fails, we search from the document root + $directories[] = $this->get_document_root(); + + return $directories; + } + + /** + * Searches for a file recursively + * + * @param string $base_path + * @param string $file + * @return string + */ + function _rglob($base_path, $file) + { + $retval = NULL; + + $results = @file_exists($this->join_paths($base_path, $file)); + + // Must be located in a sub-directory + if (!$results) + { + // the modules cache a list of all their files when they are initialized. Ask POPE for our current + // modules and inspect their file listing to determine which module provides what we need + $modules = $this->object->get_registry()->get_module_list(); + foreach ($modules as $module) { + $module_file_list = array_values($this->object->get_registry()->get_module($module)->get_type_list()); + $module_dir = $this->object->get_registry()->get_module_dir($module); + + $variations = array( + $file, + ltrim($file, DIRECTORY_SEPARATOR) + ); + + foreach ($variations as $variant) { + if (in_array($variant, $module_file_list)) + { + $retval = $this->join_paths($module_dir, $variant); + break 2; + } + } + } + } + else { + $retval = $this->join_paths($base_path, $file); + } + + return $retval; + } + + /** + * Gets the relative path to a file/directory for a specific Pope product. + * If the path doesn't exist, then NULL is returned + * @param type $path + * @param type $module + * @returns string|NULL + */ + function find_relpath($path, $module=FALSE) + { + return $this->object->find_abspath($path, $module, TRUE); + } + + + /** + * Joins multiple path segments together + * @return string + */ + function join_paths() + { + $segments = array(); + $retval = array(); + $protocol = NULL; + $params = func_get_args(); + $this->_flatten_array($params, $segments); + + // if a protocol exists strip it from the string and store it for later + $pattern = "#^[a-zA-Z].+://#i"; + preg_match($pattern, $segments[0], $matches); + if (!empty($matches)) { + $protocol = reset($matches); + $segments[0] = preg_replace($pattern, '', $segments[0], 1); + } + + foreach ($segments as $segment) { + $segment = trim($segment, '/\\'); + $pieces = array_values(preg_split('/[\/\\\\]/', $segment)); + + // determine if each piece should be appended to $retval + foreach ($pieces as $ndx => $val) { + if ($val === '') continue; + $one = array_search($val, $retval); + $two = array_search($val, $pieces); + $one = (FALSE === $one ? 0 : count($one) + 1); + $two = (FALSE === $two ? 0 : count($two) + 1); + if (!empty($protocol)) { + $existing_val = isset($retval[$ndx]) ? $retval[$ndx] : NULL; + if ($existing_val !== $val || $two >= $one) + $retval[] = $val; + } + else { + $existing_val = isset($retval[$ndx]) ? $retval[$ndx] : NULL; + if ($existing_val !== $val && $two >= $one) + $retval[] = $val; + } + } + + } + + $retval = $protocol . implode('/', $retval); + + if ((empty($protocol) && 'WINNT' !== PHP_OS) + && strpos($retval, '/') !== 0 + && is_null($protocol) + && !@file_exists($retval)) + { + $retval = '/' . $retval; + } + + return $retval; + } + + function _flatten_array($obj, &$arr) + { + if (is_array($obj)) { + foreach ($obj as $inner_obj) $this->_flatten_array($inner_obj, $arr); + } + elseif ($obj) $arr[] = $obj; + } + + /** + * Parses the path for a module and filename + * @param string $str + */ + function parse_formatted_path($str) + { + $module = FALSE; + $path = $str; + $parts = explode('#', $path); + if (count($parts) > 1) { + $module = array_shift($parts); + $path = array_shift($parts); + } + return array($path, $module); + } + + /** + * Gets the document root for this application + * @return string + */ + function get_document_root() + { + return $this->_document_root; + } + + /** + * Sets the document root for this application + * @param type $value + * @return type + */ + function set_document_root($value) + { + // Even for windows hosts we force '/' as the path separator + return $this->_document_root = untrailingslashit(str_replace('\\', '/', $value)); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php new file mode 100644 index 000000000..4e8325329 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/interface.fs.php @@ -0,0 +1,6 @@ +<?php + +interface I_Fs +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php new file mode 100644 index 000000000..b2c5fba69 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/module.fs.php @@ -0,0 +1,36 @@ +<?php +/* +{ + Module: photocrati-fs +} + */ +class M_Fs extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-fs', + 'Filesystem', + 'Provides a filesystem abstraction layer for Pope modules', + '0.2', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Fs', 'C_Fs'); + } + + function get_type_list() + { + return array( + 'C_Fs' => 'class.fs.php', + 'I_Fs' => 'interface.fs.php' + ); + } +} + +new M_Fs; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php new file mode 100644 index 000000000..11bb2da57 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_factory.php @@ -0,0 +1,14 @@ +<?php + +class A_Lightbox_Factory extends Mixin +{ + function lightbox_library($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Lightbox_Library($mapper, $properties, $context); + } + + function lightbox($mapper=FALSE, $properties=array(), $context=FALSE) + { + return $this->object->lightbox_library($mapper, $properties, $context); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php new file mode 100644 index 000000000..1bf00c464 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/adapter.lightbox_library_form.php @@ -0,0 +1,66 @@ +<?php + +class A_Lightbox_Library_Form extends Mixin +{ + function get_model() + { + return $this->object + ->get_registry() + ->get_utility('I_Lightbox_Library_Mapper') + ->find_by_name($this->object->context, TRUE); + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + return array( + 'lightbox_library_code', + 'lightbox_library_css_stylesheets', + 'lightbox_library_scripts' + ); + } + + /** + * @param $lightbox + * @return mixed + */ + function _render_lightbox_library_code_field($lightbox) + { + return $this->_render_text_field( + $lightbox, + 'code', + 'Code', + $lightbox->code + ); + } + + /** + * @param $lightbox + * @return mixed + */ + function _render_lightbox_library_css_stylesheets_field($lightbox) + { + return $this->_render_textarea_field( + $lightbox, + 'css_stylesheets', + 'Stylesheet URL', + $lightbox->css_stylesheets + ); + } + + /** + * @param $lightbox + * @return mixed + */ + function _render_lightbox_library_scripts_field($lightbox) + { + return $this->_render_textarea_field( + $lightbox, + 'scripts', + 'Javascript URL', + $lightbox->scripts + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php new file mode 100644 index 000000000..4074eeb43 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_installer.php @@ -0,0 +1,176 @@ +<?php + +class C_Lightbox_Installer +{ + function __construct() + { + $this->registry = C_Component_Registry::get_instance(); + $this->router = $this->registry->get_utility('I_Router'); + $this->mapper = $this->registry->get_utility('I_Lightbox_Library_Mapper'); + } + + + function set_attr(&$obj, $key, $val) + { + if (!isset($obj->$key)) + $obj->$key = $val; + } + + /** + * Installs a lightbox library + * @param string $name + * @param string $code + * @param array $stylesheet_paths + * @param array $script_paths + * @param array $values + */ + function install_lightbox($name, $title, $code, $stylesheet_paths=array(), $script_paths=array(), $values=array()) + { + // Try to find the existing lightbox. If we can't find it, we'll create + $lightbox = $this->mapper->find_by_name($name); + if (!$lightbox) + $lightbox = new stdClass; + + $styles = array(); + foreach ($stylesheet_paths as $stylesheet) { + if (preg_match("/http(s)?/", $stylesheet)) + $styles[] = $stylesheet; + else + $styles[] = $this->router->get_static_url($stylesheet); + } + + $scripts = array(); + foreach ($script_paths as $script) { + if (preg_match("/http(s)?/", $script)) + $scripts[] = $script; + else + $scripts[] = $this->router->get_static_url($script); + } + + // Set properties + $lightbox->name = $name; + $this->set_attr($lightbox, 'title', $title); + $this->set_attr($lightbox, 'code', $code); + $this->set_attr($lightbox, 'values', $values); + $this->set_attr($lightbox, 'css_stylesheets', implode("\n", $styles)); + $this->set_attr($lightbox, 'scripts', implode("\n", $scripts)); + + // Save the lightbox + $this->mapper->save($lightbox); + } + + /** + * Uninstalls an existing lightbox + * @param string $name + */ + function uninstall_lightbox($name) + { + if (($lightbox = $this->mapper->find_by_name($name))) { + $this->mapper->destroy($lightbox); + } + } + + /** + * Installs all of the lightbox provided by this module + */ + function install() + { + // Install "None" option + $this->install_lightbox( + 'none', + 'No lightbox', + '', + array(), + array() + ); + + $this->install_lightbox( + 'lightbox', + 'Lightbox', + "class='ngg_lightbox'", + array('photocrati-lightbox#jquery.lightbox/jquery.lightbox-0.5.css'), + array( + 'photocrati-lightbox#jquery.lightbox/jquery.lightbox-0.5.min.js', + 'photocrati-lightbox#jquery.lightbox/nextgen_lightbox_init.js' + ), + array( + 'nextgen_lightbox_loading_img_url' => + $this->router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-ico-loading.gif'), + + 'nextgen_lightbox_close_btn_url' => + $this->router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-btn-close.gif'), + + 'nextgen_lightbox_btn_prev_url' => + $this->router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-btn-prev.gif'), + + 'nextgen_lightbox_btn_next_url' => + $this->router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-btn-next.gif'), + + 'nextgen_lightbox_blank_img_url' => + $this->router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-blank.gif') + ) + ); + + // Install Fancybox 1.3.4 + $this->install_lightbox( + 'fancybox', + 'Fancybox', + 'class="ngg-fancybox" rel="%GALLERY_NAME%"', + array('photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.css'), + array( + 'photocrati-lightbox#fancybox/jquery.easing-1.3.pack.js', + 'photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.pack.js', + 'photocrati-lightbox#fancybox/nextgen_fancybox_init.js' + ) + ); + + // Install highslide + $this->install_lightbox( + 'highslide', + 'Highslide', + 'class="highslide" onclick="return hs.expand(this, {slideshowGroup: ' . "'%GALLERY_NAME%'" . '});"', + array('photocrati-lightbox#highslide/highslide.css'), + array('photocrati-lightbox#highslide/highslide-full.packed.js', 'photocrati-lightbox#highslide/nextgen_highslide_init.js'), + array('nextgen_highslide_graphics_dir' => $this->router->get_static_url('photocrati-lightbox#highslide/graphics')) + ); + + // Install Shutter + $this->install_lightbox( + 'shutter', + 'Shutter', + 'class="shutterset_%GALLERY_NAME%"', + array('photocrati-lightbox#shutter/shutter.css'), + array('photocrati-lightbox#shutter/shutter.js', 'photocrati-lightbox#shutter/nextgen_shutter.js'), + array( + 'msgLoading' => 'L O A D I N G', + 'msgClose' => 'Click to Close', + ) + ); + + // Install Shutter Reloaded + $this->install_lightbox( + 'shutter2', + 'Shutter 2', + 'class="shutterset_%GALLERY_NAME%"', + array('photocrati-lightbox#shutter_reloaded/shutter.css'), + array('photocrati-lightbox#shutter_reloaded/shutter.js', 'photocrati-lightbox#shutter_reloaded/nextgen_shutter_reloaded.js') + ); + + // Install Thickbox + $this->install_lightbox( + 'thickbox', + 'Thickbox', + "class='thickbox' rel='%GALLERY_NAME%'", + array(includes_url('/js/thickbox/thickbox.css')), + array('photocrati-lightbox#thickbox/nextgen_thickbox_init.js', includes_url('/js/thickbox/thickbox.js')) + ); + } + + /** + * Uninstalls all lightboxes + */ + function uninstall($hard = FALSE) + { + $this->mapper->delete()->run_query(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php new file mode 100644 index 000000000..e0fabafed --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library.php @@ -0,0 +1,31 @@ +<?php + +/** + * Provides an entity for Lightbox Libraries. + * + * Properties: + * - name + * - code + * - css_stylesheets + * - scripts + */ +class C_Lightbox_Library extends C_DataMapper_Model +{ + function define($mapper, $properties, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_Lightbox_Library_Validation'); + $this->implement('I_Lightbox_Library'); + } +} + +class Mixin_Lightbox_Library_Validation extends Mixin +{ + function validation() + { + $this->object->validates_presence_of('name'); + $this->object->validates_uniqueness_of('name'); + + return $this->object->is_valid(); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php new file mode 100644 index 000000000..61d57022c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/class.lightbox_library_mapper.php @@ -0,0 +1,83 @@ +<?php + +/** + * Provides CRUD operations for lightbox libraries + */ +class C_Lightbox_Library_Mapper extends C_CustomPost_DataMapper_Driver +{ + static $_instances = array(); + + /** + * Defines the lightbox library datamapper + * @param type $context + */ + function define($context = FALSE) + { + if (!is_array($context)) $context = array($context); + array_push($context, 'lightbox_library'); + parent::define('lightbox_library', $context); + $this->add_mixin('Mixin_Lightbox_Library_Mapper'); + $this->implement('I_Lightbox_Library_Mapper'); + $this->set_model_factory_method('lightbox_library'); + } + + /** + * Initializes the datamapper + */ + function initialize() + { + parent::initialize('lightbox_library'); + } + + /** + * Returns an instance of the mapper + * @param string|FALSE $context + * @return C_Lightbox_Library_Mapper + */ + static function get_instance($context=FALSE) + { + $klass = get_class(); + if (!isset(self::$_instances[$context])) { + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Lightbox_Library_Mapper +{ + /** + * Uses the name property as the post title when the Custom Post driver + * is used + * @param stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return $entity->name; + } + + + /** + * Selects a lightbox library by name + * @param string $name + * @param type $model + */ + function find_by_name($name, $model=FALSE) + { + $results = $this->object->select()->where(array('name = %s', $name))->run_query(FALSE, $model); + if ($results) $results = $results[0]; + return $results; + } + + /** + * Sets default values for the lightbox library + * @param stdClass|C_DataMapper_Model $entity + */ + function set_defaults($entity) + { + $this->object->_set_default_value($entity, 'css_stylesheets', ''); + $this->object->_set_default_value($entity, 'scripts', ''); + $this->object->_set_default_value($entity, 'display_settings', array()); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php new file mode 100644 index 000000000..3fd5de31a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library.php @@ -0,0 +1,6 @@ +<?php + +interface I_Lightbox_Library extends I_DataMapper_Model +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library_mapper.php new file mode 100644 index 000000000..8f8ec61d8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/interface.lightbox_library_mapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_Lightbox_Library_Mapper +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php new file mode 100644 index 000000000..8e856dba9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/module.lightbox.php @@ -0,0 +1,82 @@ +<?php + +/*** + { + Module: photocrati-lightbox, + Depends: { photocrati-nextgen_admin } + } +***/ + +define('NEXTGEN_LIGHTBOX_OPTIONS_SLUG', 'ngg_lightbox_options'); +define('NEXTGEN_LIGHTBOX_ADVANCED_OPTIONS_SLUG', 'ngg_lightbox_advanced_options'); + +class M_Lightbox extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-lightbox', + 'Lightbox', + _("Provides integration with JQuery's lightbox plugin"), + '0.4', + 'http://leandrovieira.com/projects/jquery/lightbox/', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.lightbox_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Lightbox_Installer'); + } + + function initialize() + { + parent::initialize(); + if (is_admin()) { + add_action('admin_init', array(&$this, 'add_all_lightbox_forms')); + } + } + + /** + * Adds a configuration form to each library + */ + function add_all_lightbox_forms() + { + foreach ($this->get_registry()->get_utility('I_Lightbox_Library_Mapper')->find_all() as $lib) { + $this->get_registry()->add_adapter('I_Form', 'A_Lightbox_Library_Form', $lib->name); + C_Form_Manager::get_instance()->add_form(NEXTGEN_LIGHTBOX_ADVANCED_OPTIONS_SLUG, $lib->name); + } + } + + function _register_utilities() + { + // Provides a utility to perform CRUD operations for Lightbox libraries + $this->get_registry()->add_utility( + 'I_Lightbox_Library_Mapper', + 'C_Lightbox_Library_Mapper' + ); + } + + function _register_adapters() + { + // Provides factory methods for instantiating lightboxes + $this->get_registry()->add_adapter('I_Component_Factory', 'A_Lightbox_Factory'); + + // Provides an installer for lightbox libraries + $this->get_registry()->add_adapter('I_Installer', 'A_Lightbox_Installer'); + } + + function get_type_list() + { + return array( + 'A_Lightbox_Factory' => 'adapter.lightbox_factory.php', + 'C_Lightbox_Installer' => 'class.lightbox_installer.php', + 'A_Lightbox_Library_Form' => 'adapter.lightbox_library_form.php', + 'C_Lightbox_Library' => 'class.lightbox_library.php', + 'C_Lightbox_Library_Mapper' => 'class.lightbox_library_mapper.php', + 'I_Lightbox_Library' => 'interface.lightbox_library.php', + 'I_Lightbox_Library_Mapper' => 'interface.lightbox_library_mapper.php' + ); + } +} + +new M_Lightbox(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/blank.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..35d42e808f0a8017b8d52a06be2f8fec0b466a66 GIT binary patch literal 43 ucmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7DfgJ1_m7v0g_>0Vsc?*um%9gss{N0 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_close.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_close.png new file mode 100644 index 0000000000000000000000000000000000000000..07035307ad435f8f2f8eedf0bce50f7ec8a858c2 GIT binary patch literal 1517 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_loading.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_loading.png new file mode 100644 index 0000000000000000000000000000000000000000..2503017960b3972499d3aa92f89953935ae40934 GIT binary patch literal 10195 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 KT-G@yGywqH_1k3t literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_left.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ebaa6a4fd34e51575a01da366312c20618985cbc GIT binary patch literal 1446 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04mJh`25W<Lix?PKb3I)gLp+YJ4bS$N9WHV0 z$c$s&k8?L3%f5EzmZ^n)@ziZzffvj+SjsBB%~~CLgws!A1@l2pznr~Wy0#oOT>aa; z#rMs(<MLJ|#YxfEuB}yAv|@pCm}u6Sqcd*U=2zHXoH1j|?Z);eb3V`eZuxxg+|QL2 zGWTp41t0$T`8n?7$&-_Um-|(&zM7SpoxS?~T<h{bEBqH&P7-`l`8L};N`+13z(iqn zzaP`5PuI@7zfbn^ojYsRtyyDJ_xjq}@4I*J_FukaiHn%HxVxE&iOYlUx+eBfhqI5a z-^?hqWUjZTXIR*@MVmJV8yguds{Q!rsPE>RHXl!|%gxWXkBpE1pH@-v<M5t6dtP*O zbST_wm{Ph^MSSA|9W^yI1$%q@Rm+z@pX0au_rZBNsi{YIZP<{oRlfe`r>EaHOwckk z43w0R&`^(E6a3`W61y#rwZqq~U}tBy-xRf$dx?Ph-Nwwb8yXmmcI|E0`StDFw`q$n z?l`>3zwnp$hw3RYdi*ML&-v+1IMpX-D>Y^A+_mrCzdzsFryFEqVv^F?*LQD=`WE+? zm^uGGK0Yq?@JqyZ&0|S3VxD!xocTB5`0?YbqoShpB6Oy?M%}r6J6o*#s8#q9CXa0^ zS7v%E>@R;Gw=QU9kILOM8>I{8$u!m}Dk`4p>gp=ym@>b0@-C%TdD*B(@9yqSyVUsO zhwR_-#^fUhW0VvZ^iAlzeEG8fx36DCFEj0p%Wqw89y`&`*EdpHT6+7N=X>_<Ej@ku z^z9|tB_&_9UsSO_cAS%y)Oh3i@#F5D8g}OP_Wxx$%S%gV@+<p#d0o=i)4SEwStomP z%G9YdGwMo9zlwi(+-P98b^3$&AMyXTg{|J3U?4GXQbAVMs)q(aOV08wKhO77_9QDi zd%jXw&OSa44v*tAxHuU0*v_!EFfj?4Jb7~Q%oZ~<vo-G~Oqx0OXT*Wc>F0AA!=j_3 zU%r1Y-@Z}6Y<v5W^XL5=t7Zp9Mg6kmJbUI$#6SL^L(S~`+bnkF|N8Z7U;D-YKV5## zKhn!CW}I7a?b?J3pP!$X72>vAI&I>_!~*rbY;0^fM|K2QUGQg`A`&bobI+^QsZdQ< zckQH>YuB#n{6D(A+R)N6Q|0HYSFhY=`g~(NcIdmHx5}i;T2oiCJbfoGR5H!WiEF2` zpDBaUwkb}Dzj$QWI}RJnV6u;&J$tsa^1)TBv?j0qQ|jthI#+*+{l)z(Dz|4xF+OU! zapMNloz3?*eK4z8U)+8tQm((Z_hsfkb(1fj8)^@xdaFNJ5~6kW&=J!W7XBHGagx#R zLe@>1G>Q3|rk0jb(aAs3KV!N#av#}fKKDq>fzY_PxJ*Y!M^%s2d5Tq@jl0EL8aAh& zm-=9_p~!?kVU2{xW_<;vZI)9vv#_}6b)B59@oD$;`r6vR({?XuZEba%d@@B@R$jio zW22Npd&%wTK7#Udxpqi-u>Ulj@iF_#Ysbc#s;XNd0Ragm&&s)$barw!EAU^kH@L?U zqdIp@^?lWi)w-XqE@j;07}xfzmbrh=!KF)=N;)deZ9Anf&qeLfV)uR@r&9&I5qa6! zi@hJR1-R{sc;1*@c;A^}fw#5b1tCj6kKOz3U%dG7_M10vzG$oSPPA=zKkS_1u0MZ@ z$JRBcA37)8zs$ZM-Am-R%52}z=2e&7q#H!*&YU^(XY0Ck@AR4SwtW2X;e+EW=36(G zhgaq@y)OFo<>vPr$p<~m1YI8=KT!IBdx6}=`#f77)ocG1?{xWUQ$9EKaz(Dn>raJW z&xpRY+&SlO(VTL>Q+iDE8KyTn9ZQwleZq)y&ohbF1wZ#}{oggAXcp_HNf`>${3jhS z_Z9ko{X>k&X|_*MFK5^IR=nHT&@%PJjhuaDA0Aq2p00ZPv#x4!zJ~kkLe}lK_RFcg W+Q2`rOOSzqfx*+&&t;ucLK6ViMa3%s literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_right.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_nav_right.png new file mode 100644 index 0000000000000000000000000000000000000000..873294e969db9160f5ddd4e1ab498ff60b080e3f GIT binary patch literal 1454 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04mJh`25W<Lix?PKOFdm2Lp+Wz4bSzM9WJu1 z)3EpAF&FXdKWApGoO|%6Vfe~WFYYYn*{c_O%-yzC_YsS_&lSgmqA?r4?(XPXJonvw z0ke&_=l{D9Xs-S@VQpSh$08?LqtyYX^2e6kEk0D~diltbx7_?E_rBkGzWDvl=X0v# z<>&96U)#`8@aIS2{VP{OJe{1H=KC$5Y-VbD(%RaZd4=zS@)YG8pKn~R%a|ZBf#LV# zM~|3JpE`9VH#gUimzQ@}S67$w+O=!tzkT^4<LT|)t)r>gxu@!D7E9gzgTfBU6>EN! zsyVco6l+dQNl#y$e{au9c{w>V9ew@#8=}@G>(8CHcJ12Zt5>hS&&$hOJ7@lUd09ch zg^xHrW}aTWqk}iq(9qB^{oI_+UA4czZT$N6>-;%Kr%jvo=JV&zWzYXTKR^FJ2Y=?| z$&*dJmIgV-oYDNWC8&N@VPN3Iyn=!c!n^O<`L{&8<lb?Oi+@JK=6%8i+cz#<dNj*y zcKn97!fXENe6#gh7@*O4`R*y!z?+TC>>-wxmb?D_`*-=l4V6W^%irHxw0N=k9M-vl z^78pLUtUb~jj%md+qX|bZ2C?i@y~S{Lc+pZdwY9#n$6B_Wc&W@Th!5{kGs?Z8B?m? z-rDNxxM%n7-&@=kcdF!FyTP}kR;H0rQBiT$r%#`fIi|$7PTeJR^j@yOw^<J1;nSyD z2*}qj`fFD(!6d?4h2=_JQDIovwTJum?GutpFp+wDBYXOjuV25;78Vx%w)e>2KYy-? zi;HjXczthg_5Fs|wqI6TTs_jX;m-a0@y!}`X6EMKnI+3hN+Rw~R4S5neB!xh%a$un zW#{MF{^ot_qR<omR{M?qxA>3i4kny1o$2F$!ot?}?vp+PRn?;!9hddD#@=LQXU|s% zlc|;!5t-6zrz^nn<L8E|f{ct6cKZ73C-hvqcJ0l)rW4U0KYlE9UvTx>wJ;VowquL+ zTkgJ9=H%cASbT3;?7o_x-bS<L&D&Nfd@yS5HIH}qy#Jh=Ydu@$uKAOqpX@KVpI-Si zF`@qOm#V*kS8hoe&6+c3OXX}kb-y_VoGUkP*zn=d&%Xx_G&oDJds*MoY-me5)qXg7 zaoFnqw6wIa2^UYD>Iy$(eb-l8o!{d2o&ELqecrELz4~>k(M|Uk-1k*=CVKQGJW!po z`~Qgxv06KYOGWR7Feg0r&=gswzu;q6frQoN4d<Vyr>DE0*sy8SrB7yySXRBRS@5U# zTcpC(n^&_q)Q=uJCiY;?-lNB&Z~WeV>hZ*hg334lHnG30NeC~nyu@jtGu4Z?ppaMV zT(VR{^s!~yhgPl9;@+|Co6z2ZhfOoRpY1>KJnGBSNypBW2o*D4|Mlxv+NzLM-X5#v z6oWbs+~yFUFmYnyp{EDVU9@S~C!}zBXG6!0=OO1N2?#6?^x5Y&@xI-k*RNig?G@G4 z(=&_K5o>?(;>8Q*FIO2VkGzdBa@|v+^}tGj`_c1<$MOT$v$K9&xl+^H(XsL7-F?9d zy}iA;&rMwZJJs73^jXZTzOJ~jR_D{jrR+rtab3S^WvA~sxZHofA9u?ZDXr!mLXjN& z@^)J|G!L65Y}~nXCSU7o2hBpm=i0{~t?OoRXfHELP$*n8A?<H%b@gv~V`JlB{kt|R zqBid^v2iH-^2y8d%7GX?eWu;(>=<H$7ghKd-3T>ZVRhDovEt$L$?E?9>YkpOTF+r| z(e3cz!|X3*FPy2a>N~DxIQ{nO^XpE_NxN<8){wGi)nkfhEbaKmwt(~h>=*kzR8~DM z7r$vX`M8_W^!>}T*JT_(CAvqyz2ccm8P^XU4VEs+);r~0xsxi+I6nJOvA6VJ*My>3 znln|TI-X8d`RF<M(EqQ0^k(HwwF&#B7BBp}tis`tic#6@JDmUi_?_Ce&wAhddoQF< hT}`n$xcYfLTk)%>i%kTUGB7YOc)I$ztaD0e0sy*=)6D<? literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_e.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_e.png new file mode 100644 index 0000000000000000000000000000000000000000..2eda0893649371f8d92b92976d8542cdd1b601ed GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0y~yU=U$oU|{56V_;yoH>ppRfq}uu)5S4_<9f1)xaih| zgoGc=NB%ebFc<jW`slvL4|{?C4Xb{#KmFhQih1Mz{S{xij-)d%yj2$Y&sqQN1p@;E NgQu&X%Q~loCIE;JCMf^_ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_n.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_n.png new file mode 100644 index 0000000000000000000000000000000000000000..69aa10e233b039077e7dc600177ddb1eb46217e3 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU=ZP8V_;zL;R|2Lz`$VW>Eal|aXs|(K~4q* zk;50#1I-1#&;L>#yhlVRDD-IDYF5!N3s{@}tYiQD=+E<`?+y7DZfBX}sbS0j0-mmZ JF6*2UngE|rAp-ya literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_ne.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..79f6980a3ba5c43de120d963dbba2516b8f27ac7 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqq6B~KT}5R21mr)2jXHsEMs zpChyI)!+Q>uOypp+AsShwlh>aS4F$-L1MyzX)}MFKmTs~Z0}jSjXmQle^=UsB&eOd zzK{9LzSI{9#*AU<oU_l>{g%zXpdse5H1Uw*+0U}h`9GzyZLbwH{7_evZn*Mkru6Zw z`rC#w42uFvq!K(27O~%mG{|w>5Z)x=YUufV*AxlW0LJrSNu0|(4+x7(x=F_Bp80s_ zAE!k@fnvO9+D7@;N{9PnW%(*>rL31Fto!WcyXDyooi`3=H-<>uYB{A-R~8Y*C#$n) zZEK}j;FVo3JKxNHC$Zt>&c0p+x2eyCT2ciV_FnM4=yi0*w`;ng)7cq>ev5v~&~ZJG zRJpDFYr|$H%jom$bN-y{KX4|hUiv_}ztrvU{g$uNj|H@;wJ<O+FnGH9xvX<aXaWEL CxRaLv literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_nw.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_nw.png new file mode 100644 index 0000000000000000000000000000000000000000..7182cd938ae98e7e28c65a0bc55df576042ff9f5 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqq6Zci7-5R21mr!aCg8}PW! zHu=i2>G%EM-I{+tag?5jSa@aHv*&+Zw%)7$`Fw-(hpp@EkJhEhum1Ks*pan({`qsC z)tk7!G$*X7J!ADQqdxm)!Nr2Qj$DDQCHrkux0GC)=&)q@WStC6hsAumRZ2~pmfYva z^xnF-g7vOhSbdVETZ0UX49ldsUzaYpTe59=RM-uXrIRYeQZ`sgZIJbFc^y7!X6kX* zE~AMH=N-@JTAEO|z3NqlYqHEEzJuKpOtm8_#TF<<vL4yeb~B7I_UPsla~9n!n%S{R zkoQaDRgYP-gD!tx8Ll*8iSH4X%kOlgnIg>3vR-3Wuv5O1xZQV`=fVSZJAdDH`E}iO glWe9LgHHbY*JU9u5BM)+U|?YIboFyt=akR{0NWssS^xk5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_s.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_s.png new file mode 100644 index 0000000000000000000000000000000000000000..d8858bfb78efb8d7268736920efa1eae8873f89c GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU=ZP8V_;zL;R|2Lz`$VU>Eal|aozRQLEZ)f zfg=YJS1K+N{*})yQuIg9{`RKq9_tkkxYI6QGq2dSHZQt=UU~tWcj!;XvOU5nuO64S RGcYhPc)I$ztaD0e0swMGBsKs5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_se.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_se.png new file mode 100644 index 0000000000000000000000000000000000000000..541e3ffd3e88224b34a4d2097c66a780e6060aeb GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqq6bx#+^5R22jA%S_$h8)Iw z;uhYrtoqOGyZ7KNmT$~+pMP57*0o6G#zw}Y`_^5TZixNNsKEH=O5N2rzga%4F=b?7 zSZ!T%|NRH0%4-V+Copmz_-MXo*+n^q0>LKN-vUV&7FW%$UDvXk$$VwB%dsa`n?$#5 zQZbmU9?2KP9J!cNTySBLRP$Ni{+UN4o)-juwF=193%tI1Vzc<e<^v0C-ZnbuE?4{H z#8McvQ(?osnKoVCk*ti<S@g9!CQsgY%eTTKLEF}2=`9m0ZZ#9neV(o5g5PgCE-}=6 zQula)hQX4bu_FJa^=u_lj;>^P)|nOZ+gDM$dQ#N#n7l(buNe7q1Z7Uq7Z#enP0F*@ zV@=bt!c`aA8zkyPC)dui`SMGnn8EPFln1_5&yH`D?~Ttk-031CcKHSa0|SGntDnm{ Hr-UW|+MJNJ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_sw.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_sw.png new file mode 100644 index 0000000000000000000000000000000000000000..b451689fa7b57b7432820e4c06d0864c143c79ab GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqq6X-^l&5R21mCkN&+EAqI^ zPc+}@c;)x~;==kj8CI&9+NMIEx(+1IFq}BE#zu~TxkD;sZfL(0<DKj}hUGQ>32uz+ z8(2!ND6uRl4cmKlS6sb`LBpDpZTyW}E^U70du<+5&jxLCjo(~MF3(ElEUM7hU>?K9 z(Ri+RebtMwhig{Ft=p9rrLc!<sc4x%rdIH-1&PjAY^{$tU;Os+y*JaTRS^m24~HgJ zZ#`r0Gk5j8Te5sPQzLGz&GD3d_K@KQV|(Lev(-Uc*>iK=oK*CDo%nXKU6a25)nLAx zbM&h=hqm9i`2Q$hM~ktl%2wyAE9c*DxFOn}8?orwttIEI7qD;AnXqN&SH2zDi*NjR v^KdWgzmkq^;eXs7#`8-$xTSrXzu#Z^O-(f0g{k%o3=9mOu6{1-oD!M<Qo@qT literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_w.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_shadow_w.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4e4a887f18384a204563c0048c9cd1328f7faa GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU=U$oU|{56V_;yoH>ppRfq_BK)5S4_<9hO+|Nrfo zIXpT#4Vg646xc5M@CY1WN;P&iw4TD&S?uuCVTS0ceqIJPdFGnRWGiL{1_lOCS3j3^ HP6<r_yx1BV literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_left.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_left.png new file mode 100644 index 0000000000000000000000000000000000000000..6049223d1ec6af46e100499c01f6489c9e2c6240 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9U{K&-VPIfLSAC_#z`(fA)5S4F<9zRAUyZ|s z636#{OY=#S4nDL;#!cwy+C3?Lar`oOG&af3Ig)7_<W+d^Y@zy76|aRcWfvZ0SoTC{ zhaK6n@}#%i`TPIhr~dvQUbp}D|IgL){(r8S|DO4TKU=)$l?x8q?ppuWG|RC)QPLM( zDVchBM-Kna<lE;PQ&zZ&9glc#?qPM(K>FF=e>>*CnEP$soQc;y#Ah@deJ_%v7jJcl zqwel{<wJjzr!!n%+*ZuVb~J+b|7Dx&pTv}B?f>m46s9QbCUXCs@Y^Gk69Rfn54<W9 z*jsl)?`g#GjoTKhE?Rr##)1h^{Y*Cwx4WF{kXdb6D){Qrb(gJ*me)4;EzPL&6_}|v zr9e*W!Zg0@L?=}%IptF)RcoGw>-l=^dl{PNqqVj?Xu{H8TE58=7M5W`p_5o+-x_nS ztNZ2`7-Eu`aZp<#@u}ixn^Kk56-~^G_X+QmJ<>RBft>A(f=d7V7Ma~24Nv+klGV|0 zSN>(dc-~RrX4j&bTs!`=l_axVHqBmb7ym-(SFY>9`<8ze^hCcoqHxTRm0zsBSH~t{ z{h}G&IZuq(4SE89N=YQ9ioTt*RPwFY@1x!=HDQ;IE&lbNOH1d2delRq6V3bA?qpzK OVDNPHb6Mw<&;$T5X5#+< literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_main.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_main.png new file mode 100644 index 0000000000000000000000000000000000000000..8044271f29b5d4e4471570e75cdce90bf9a1497c GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU{K&-VPIgWd~<6e0|SG)r;B3<$Mxidg!BY~ z)F1!lTO{%(^)FEKNliGBlu(eKaDh$o^Z`DGa3-l~VUfX~7#J8BJYD@<);T3K0RVi@ B8?pcZ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_over.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_over.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f458f4bb8770466e44ba97dd8fe1f2936090db GIT binary patch literal 70 zcmeAS@N?(olHy`uVBq!ia0y~yU|<Ac4mJh`26@pVonQ$U#}JO|$q5Mw5j+eGD;Sm> UT{uI5fq{X+)78&qol`;+0Ha3^zyJUM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_right.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancy_title_right.png new file mode 100644 index 0000000000000000000000000000000000000000..e36d9db2a7c6e570aec993d3665cbc13620115e2 GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9U{K&-VPIfLSAC_#z`%IW)5S4F<9uzfw?<2# zgl*cf<eok4LdTLDRZgw8F$$Z<EmkHX$*sLH$V2leoAv2PP3=IgRAX*mos&r&nO&Nn zPOO;dzOMMJ{jc<Y^>^|s&wamJea=>1fM2-BK%sAG@ui7e+><6a%yM+Dw64DS%};;2 zBJas15{osQEcvBRJd`ok4;G$P!}tH*YjIA-?{)k}mdZ^JCSHBDyK1`e9ln&0s#;Cz zA=A3Qs(V^UId5|cIK1iE`_>;dGqazFroHOuZhCl=lcR8Zf6Xfop0Dl)wyo~ZS6ucs zB$4xLwNiHXUw7{f8|@w0%YL+ekX^(RW|ev2Kxmv*L37rV!aae^=`ma%1zniAUM|!W zyVE07H_fyB$7cDp8m??-FIL~$X|1NynroHJvwp|4Z6&?OD`uH|eIl`U*P*nZss|HJ zi`+8ZrV_Wt=2U==#l`+#8o`GP3+5(pluc0%|2awR{)T#Uh2MVp$LC16s%Hg!_`dL= zhTNRQwgmH60cRXq9~b<5@@d^Jt?LGzjwK7GRjqwxpt~uXN%@7d^ivT*pPy%U3msMD z30OYY`Lv|c%wSQDEf*GMz0yf(xMY&;@H)3dBRW#)?7YAGoBr#6;LmmuI&tdE)wv7| O3=E#GelF{r5}E*GH{2)y literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-x.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-x.png new file mode 100644 index 0000000000000000000000000000000000000000..c2130f8698f682d68b1550bffedecfe19eaa1a81 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imVDR8zV_;w~cbc!uz`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk@0*VDx@q~g|=enY+n10LqPVqC(^K}Sz5uaxm; z40M{S7%1=1Hu<euFOwkSwjd`Kg(D6tSOtIkgqqE+uGs9~<FfUAsO_>l_l~6A%$|8W z;cV9u{tLoUzFWB0>RqyW+gE=f-#X~9-<l&n4J+m|Ff)9XQZ5lI)ploKU|{fc^>bP0 Hl+XkK$?-(w literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-y.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox-y.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef399b9908976fc36f760fad7876a4d9c38e006 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-U|{56V_;xd6Z>W|0|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-<dIW#P$G8wLi3AWs*^kcwMAJ+XWZ3Ovp24OL8s{`$LHG;;2` zdCcy{6YuYrbzNHm_ikl5-LUWG@<mqN&gXuvlwG;&HlzH#0|%M<BkX7FoKpC8o%J=t gXDRvX8JHOiJtY1+m|D(cU|?YIboFyt=akR{07`N|KL7v# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/fancybox.png new file mode 100644 index 0000000000000000000000000000000000000000..65e14f68fd83b87f75c22c0c074e7b20bf20a133 GIT binary patch literal 15287 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 ZA-|)a|9v*;Cj$cmgQu&X%Q~loCIINs+C=~W literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js new file mode 100644 index 000000000..9028179e7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.easing-1.3.pack.js @@ -0,0 +1,72 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});',62,74,'||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce'.split('|'),0,{})) + +/* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright © 2001 Robert Penner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.css new file mode 100644 index 000000000..bc0f15fd1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.css @@ -0,0 +1,366 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + width: 40px; + height: 40px; + margin-top: -20px; + margin-left: -20px; + cursor: pointer; + overflow: hidden; + z-index: 1104; + display: none; +} + +#fancybox-loading div { + position: absolute; + top: 0; + left: 0; + width: 40px; + height: 480px; + background-image: url('fancybox.png'); +} + +#fancybox-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 1100; + display: none; +} + +#fancybox-tmp { + padding: 0; + margin: 0; + border: 0; + overflow: auto; + display: none; +} + +#fancybox-wrap { + position: absolute; + top: 0; + left: 0; + padding: 20px; + z-index: 1101; + outline: none; + display: none; +} + +#fancybox-outer { + position: relative; + width: 100%; + height: 100%; + background: #fff; +} + +#fancybox-content { + width: 0; + height: 0; + padding: 0; + outline: none; + position: relative; + overflow: hidden; + z-index: 1102; + border: 0px solid #fff; +} + +#fancybox-hide-sel-frame { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: transparent; + z-index: 1101; +} + +#fancybox-close { + position: absolute; + top: -15px; + right: -15px; + width: 30px; + height: 30px; + background: transparent url('fancybox.png') -40px 0px; + cursor: pointer; + z-index: 1103; + display: none; +} + +#fancybox-error { + color: #444; + font: normal 12px/20px Arial; + padding: 14px; + margin: 0; +} + +#fancybox-img { + width: 100%; + height: 100%; + padding: 0; + margin: 0; + border: none; + outline: none; + line-height: 0; + vertical-align: top; +} + +#fancybox-frame { + width: 100%; + height: 100%; + border: none; + display: block; +} + +#fancybox-left, #fancybox-right { + position: absolute; + bottom: 0px; + height: 100%; + width: 35%; + cursor: pointer; + outline: none; + background: transparent url('blank.gif'); + z-index: 1102; + display: none; +} + +#fancybox-left { + left: 0px; +} + +#fancybox-right { + right: 0px; +} + +#fancybox-left-ico, #fancybox-right-ico { + position: absolute; + top: 50%; + left: -9999px; + width: 30px; + height: 30px; + margin-top: -15px; + cursor: pointer; + z-index: 1102; + display: block; +} + +#fancybox-left-ico { + background-image: url('fancybox.png'); + background-position: -40px -30px; +} + +#fancybox-right-ico { + background-image: url('fancybox.png'); + background-position: -40px -60px; +} + +#fancybox-left:hover, #fancybox-right:hover { + visibility: visible; /* IE6 */ +} + +#fancybox-left:hover span { + left: 20px; +} + +#fancybox-right:hover span { + left: auto; + right: 20px; +} + +.fancybox-bg { + position: absolute; + padding: 0; + margin: 0; + border: 0; + width: 20px; + height: 20px; + z-index: 1001; +} + +#fancybox-bg-n { + top: -20px; + left: 0; + width: 100%; + background-image: url('fancybox-x.png'); +} + +#fancybox-bg-ne { + top: -20px; + right: -20px; + background-image: url('fancybox.png'); + background-position: -40px -162px; +} + +#fancybox-bg-e { + top: 0; + right: -20px; + height: 100%; + background-image: url('fancybox-y.png'); + background-position: -20px 0px; +} + +#fancybox-bg-se { + bottom: -20px; + right: -20px; + background-image: url('fancybox.png'); + background-position: -40px -182px; +} + +#fancybox-bg-s { + bottom: -20px; + left: 0; + width: 100%; + background-image: url('fancybox-x.png'); + background-position: 0px -20px; +} + +#fancybox-bg-sw { + bottom: -20px; + left: -20px; + background-image: url('fancybox.png'); + background-position: -40px -142px; +} + +#fancybox-bg-w { + top: 0; + left: -20px; + height: 100%; + background-image: url('fancybox-y.png'); +} + +#fancybox-bg-nw { + top: -20px; + left: -20px; + background-image: url('fancybox.png'); + background-position: -40px -122px; +} + +#fancybox-title { + font-family: Helvetica; + font-size: 12px; + z-index: 1102; +} + +.fancybox-title-inside { + padding-bottom: 10px; + text-align: center; + color: #333; + background: #fff; + position: relative; +} + +.fancybox-title-outside { + padding-top: 10px; + color: #fff; +} + +.fancybox-title-over { + position: absolute; + bottom: 0; + left: 0; + color: #FFF; + text-align: left; +} + +#fancybox-title-over { + padding: 10px; + background-image: url('fancy_title_over.png'); + display: block; +} + +.fancybox-title-float { + position: absolute; + left: 0; + bottom: -20px; + height: 32px; +} + +#fancybox-title-float-wrap { + border: none; + border-collapse: collapse; + width: auto; +} + +#fancybox-title-float-wrap td { + border: none; + white-space: nowrap; +} + +#fancybox-title-float-left { + padding: 0 0 0 15px; + background: url('fancybox.png') -40px -90px no-repeat; +} + +#fancybox-title-float-main { + color: #FFF; + line-height: 29px; + font-weight: bold; + padding: 0 0 3px 0; + background: url('fancybox-x.png') 0px -40px; +} + +#fancybox-title-float-right { + padding: 0 0 0 15px; + background: url('fancybox.png') -55px -90px no-repeat; +} + +/* IE6 */ + +.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } +.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { + height: expression(this.parentNode.clientHeight + "px"); +} + +#fancybox-loading.fancybox-ie6 { + position: absolute; margin-top: 0; + top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); +} + +#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); } + +/* IE6, IE7, IE8 */ + +.fancybox-ie .fancybox-bg { background: transparent !important; } + +.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } + +/* Note: Prevents issues with "style resets" or themes that apply 'box-sizing: border-box' to everything */ +#fancybox-wrap, #fancybox-content, #fancybox-outer { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.js new file mode 100644 index 000000000..a8520051d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.js @@ -0,0 +1,1156 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +;(function($) { + var tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right, + + selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [], + + ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i, + + loadingTimer, loadingFrame = 1, + + titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('<div/>')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('<div class="fancybox-inline-tmp" />') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>'; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += '<param name="' + name + '" value="' + val + '"></param>'; + emb += ' ' + name + '="' + val + '"'; + }); + + str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>'; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>'); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("<img />").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>'; + } + + return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>'; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></iframe>').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('<div id="fancybox-tmp"></div>'), + loading = $('<div id="fancybox-loading"><div></div></div>'), + overlay = $('<div id="fancybox-overlay"></div>'), + wrap = $('<div id="fancybox-wrap"></div>') + ); + + outer = $('<div id="fancybox-outer"></div>') + .append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>') + .appendTo( wrap ); + + outer.append( + content = $('<div id="fancybox-content"></div>'), + close = $('<a id="fancybox-close"></a>'), + title = $('<div id="fancybox-title"></div>'), + + nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'), + nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js new file mode 100644 index 000000000..1373ed083 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.fancybox-1.3.4.pack.js @@ -0,0 +1,46 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("<div/>")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>'); +F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)|| +c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick= +false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel", +function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("<img />").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+c+ +'"></param>';P="";b.each(e.swf,function(x,H){C+='<param name="'+x+'" value="'+H+'"></param>';P+=" "+x+'="'+H+'"'});C+='<embed src="'+c+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+P+"></embed></object>";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win== +"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('<div style="width:'+a+";height:"+c+ +";overflow: "+(e.scrolling=="auto"?"auto":e.scrolling=="yes"?"scroll":"hidden")+';position:relative;"></div>');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor, +opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length? +d.titlePosition=="float"?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding}); +y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height== +i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents()); +f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode== +37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto"); +s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(b.browser.msie?'allowtransparency="true""':"")+' scrolling="'+e.scrolling+'" src="'+d.href+'"></iframe>').appendTo(j); +f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c); +j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type== +"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"), +10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)}; +b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k= +0,C=a.length;k<C;k++)if(typeof a[k]=="object")b(a[k]).data("fancybox",b.extend({},g,a[k]));else a[k]=b({}).data("fancybox",b.extend({content:a[k]},g));o=jQuery.merge(o,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},g,a));else a=b({}).data("fancybox",b.extend({content:a},g));o.push(a)}if(q>o.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+ +1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a<l.length){q=a;I()}else if(d.cyclic&&l.length>1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h= +true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1; +b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5- +d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),t=b('<div id="fancybox-loading"><div></div></div>'),u=b('<div id="fancybox-overlay"></div>'),f=b('<div id="fancybox-wrap"></div>'));D=b('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(f); +D.append(j=b('<div id="fancybox-content"></div>'),E=b('<a id="fancybox-close"></a>'),n=b('<div id="fancybox-title"></div>'),z=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),A=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()}); +b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(D)}}}; +b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing", +easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js new file mode 100644 index 000000000..cb66588e2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/jquery.mousewheel-3.0.4.pack.js @@ -0,0 +1,14 @@ +/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) +* Licensed under the MIT License (LICENSE.txt). +* +* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. +* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. +* Thanks to: Seamus Leahy for adding deltaX and deltaY +* +* Version: 3.0.4 +* +* Requires: 1.2.2+ +*/ + +(function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a= +f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js new file mode 100644 index 000000000..4dd03fca1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/fancybox/nextgen_fancybox_init.js @@ -0,0 +1,13 @@ +jQuery(function($) { + var nextgen_fancybox_init = function() { + $(".ngg-fancybox").fancybox({ + titlePosition: 'inside', + // Needed for twenty eleven + onComplete: function() { + $('#fancybox-wrap').css('z-index', 10000); + } + }); + }; + $(this).bind('refreshed', nextgen_fancybox_init); + nextgen_fancybox_init(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png new file mode 100644 index 0000000000000000000000000000000000000000..4de4396d4a09677774f79289de2a09511baeea22 GIT binary patch literal 1910 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04mJh`25W<Lix?OfI14-?iy0WWg+Z8+Vb&Z8 z1_lO}bVpxD28J82zsiWLVqjoUNcITwWnjpi!N5@5$H4HZkb$8&hk>DaHv_|!6ATQ7 zZx|RP_sr`!YR|yH_Quo2F{I*FQpy2-iG?!`9z59i^7HfaJ@$2f68`-Bte#v|WyLKn zF8+8+=H<G^Czci#|2}{E^v}NF!2$af_x=a;h%&GUaLaMeTreXtHg;~PvvaesM=_&r zTIIJlH|x{V(j3La#L^Z#Jzr8%BJt$u)BpB0KR!Iax;lLS{<^=v_yg|8EBs?WD#6FV zq2MMn&8T_9iWM5G7cNwszJ2@l8SB=qlM%T6`Sa)78#ir=Qpo=C`T2R)gp4_M_5c1n zTN%7O&Z_j)mGp!af0(Qum|tP6zo^U3p-^&!g_qTjm6f&e!i9jHJBy#+V&IMaEzi5B z;^U+D&FuXD7IoME`BBJfkRsB^H%&-H<O%ysR@2FxH<cO~oW5&%Fi!93=?U=h={a?* zSNiY2e}8{7q&!$3zyIIaIhLQN&z^nTe8H^qCvIH1@+CVz|NZ*+_xJyAUbS~a`TKhw z$;ru<2^^eFXIf_Q@+UShIBlOYxxe54#NE5GsaIEpHaZyBHSyfqS^Qi+L8i`eyMQe7 z<%8Fa)6e~B{3*9WUrJ*c!`3;%H;Wn=niK=(Y+^RtKX2Z=r10?R><0JbnoQ2mxBoA0 zpjfMxqRG>IW!tuG|5_sLYJYuk(A3n7oNzP1+M&#liACVd_B9S?l$Df}rcRxj`uW}6 z-MR+zCnaebv85VMkUa3Ekmtm8rX<b@vH`niFfegUTVUbfn3JBqd}qSJCYK3qAdj*h zGxho)B`I0Eb=$UM9m$4<8}(0~JZaw$$*p(n*s*UvUtV6m-!V<rrecF!#x$*f7>*S2 z6W19SSvJp*Ug60#qbv8_{r&p|mQ;Lta&rF!UiN2K*Kc@`os;v2Q#d>*=oi-(hB+%7 zI{730qoQu{Pxvw0JpUW>&ngEU&abB24h#n$iA((d;}sVdCwG5e?QVvkoW#V&N5%n< zm`?q5-xd=ZDw?OsQBq$1-{qRJj?N#}8DR&Cn3$N#91L9*#2Avy8W@_U#vOX}=#kaG zfBym%T<6=>{_57f*T8zxJmqxbs|VB8MQ?v+zU@oF$49OOPTKnV=UK&8N;wz`1{5%} z2x!cZtgNV*(a6~?91+yWBH7T&d@U&L^|iJ2jTb-4MrbwubZ9;hnf&+H*ZPJ>_6?PC z&iorBST7%7@_crGfBlCLUIB*(msm6ooH=pg1lJXgu8Ow%`|BU;+<JF!@9+Por|WC* z?JjzH%06dW6N8UTil)IqBWK+-CJu!SM-MzmuKD^(^zdBk@_o%egoK15cp1gmd=A`d z7nUgRInj3Q+O<uLkLU2tmP?RhyB>Dn(N|-2b@e?Aj2sGV8T%$NiT!!j)zx+Kz@vAf z8h#fx3mJT@Wprcon)B<|uSG{H{rt}He>ubwQP#X!WJAI!mRpHzBGcKPDm5@9Ijyq( z&$#)@{Nw%d_Zc`@*x46{%$zlAmd^o}4x#0<&GXrgTM9H>WjM{4mSTJE+_^IcJ~cjl zdU|@eUhJ+fj1sLMqPP?q670m7cO7%^_0`?8etkaQmTy0MV-ya2Qaus=Vx@S9XTv7( zDh*ky5{^0F8~N_=JYi?tXeZF!d@8qrp($N`!txt8Z|-fFb-JPQv(2^|PcA<Xj~{%x zM)MgjyI2OCVNPM!v1Viu*u%h>nwQXhD9pn{!%|f>RZZuf1KWfw%@q->tlA#-8xl9j zX-wldvh4&bhXaG5@^*^`&v~LVc38}_sXTP%?AgDZ5-qbB85wmP{_-67^i7{xP{GV> zTI$(Zrf&{xn)UL=#^mLVnW^FdKR5;UGd=2e;PGnM&&b3P=jp&*AQ~XWcr4Lo!`BN; zI_u33)zm#c)+_(;;lukEAIr8m^0qua-hX)VkBf`l&odsK-Dts=qIM;xLX}a#p~s__ zp)7-uuZuZz!P8F%gnTuPjDj{VTjmxV6(tq2+knA)ZM}K^y+6!rJ{(*rJi}L_p;Ks1 zm19l9)L%Ri?f11bH7z-x++!AvbND0Dai76Z<74Bcv+)fKNiJC&8ysQ}vu}+N%Gk+c zaPTD4=T%=?IEAm&)YQ04nL73AM%Isu-TU9Yy}kXtuEEoI)?@k_8S>7}KP<0Y^1qP4 zw$<T3Ba47?)agm0S(f@H5l0qAFh#uTVEnvVV1t67fuW%w>$SKA&v=+Or2Z6)5ZuG~ ztYy0bzw_fytOEO69+h8s(Qs7PLZ6vMKzUl4u5{3b=AhjQCc8NugH`wqzBb?XKcLmm zc;X+k&y@R(5+XhF3&a{_KFZCSk#O)g_s*Hz0uDV9v$p#L%-`&2Y-Mi3Qn9e_p;MN% zp#v|o<R9KFPMw3btdHIYaMvrFzB|aE&>->gi&De_2{9&vGi}%W{;~INj}Kt~<MQdD ze8ikZ<}VnTIt2ZtrEdzJh?R2F`IYcj<%u5mrc{Zq)(#AYMgsgDp}*%#xH2%ZF|fXP WH0Rfkl8p=u3=E#GelF{r5}E+_enraw literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/closeX.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/closeX.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5d018172d784bd44896127e4d252dc35880dc8 GIT binary patch literal 3665 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 G2~7a4=F-vt literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2403fe83a93608b4d944b0d2c92f3b82d27a33d GIT binary patch literal 5109 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f72e0a817c601e48dfcf27f8e1c5b38ee9c355 GIT binary patch literal 1300 zcmeAS@N?(olHy`uVBq!ia0y~yVAN$`V07SMW?*2r7k(>(fq~&qfKQ0)|NsC0(jEN& z|NqC2ACDeAnmKdk-Me>9O-<X|+dqE%XlrXbckWzcV`Fb`?=xr4<mTpvhK3$JdeqU; zarNre78VwLeSM!lf3B{s-oAbN)TvXqZQJ(l-Md+{W*t6!c;38u=gyt`{rmUQrAu$$ zzJ2P{sa301Em*MN>eZ|N{{5Rhd-kzo$A13&xp(j04<9}}dGh4%-@kI_`%W`3FsPRV z`2{mDe7MB(Sx%y8<C(W7g(`BMH~!(@BF)Km<9yw&Oi{(^sO?Yow!}U>*80Jnfq{WB z$=lt<@aApVA_fNL$(}BbAr*0NZn*O`JMgq7+9$9XeVMgN#cQ{~_x;{WJR=niet%#4 ze=6%V8zz1G+!$lO1;<KL`}i3f7IHkRGHQQezt$ppmFAZFnP1mGouS3;u;HwUVXL5m zMv39ohAk`CsR}!<yEQ}Tgxl>)f}1XHo8rV&>XW_9Rr{ZdS9nh4F6Vi-rU`jSzX&qg z`0vxg_Wi5wt~j<@>Tj;)(pNkV3^#JFJjzxuh-un6$>(o%=C@CqZu_@?NjuNS$-v;C z(9yW~P`CIO{Z8lPg6&el)5{It3B)&K-nT2e-H~L_^DH;Xc<RhA_l#G%R{k&NOmN~} z|IA#0ePZFhqgT6TH)~E|h&_KfaZ5(0m~PaTjEh2Ga*-;Cy~uU-Gmk}~w(bIJU(HLl zj=FlcIL9S>!>(TzTVtZ<Mc?cErhD^g=EX&>-P1Baq}bZu=ARg&YCm6lThSEueeQ1c zk34JNRqJo!jJkZfqU&07`%9j+?*0E;gtyGIsh!4mp{lMb&!MamY!}4Fr{*1&dgf7E zT)M%|IjQFlW<a^IZ|tvb+4Zbr(N$A-k+thA7iE-w4J_KZ&1U-^;kVJ7PG4T++AXFF zc8YG4slEM~=WbitG!HK_4UiOD`_OA+hV0MW7q>p$`Q*1HAI)gpVwH<gS$zso-dAO$ zFG{VMm8=}q9O^B*d|LMD;?vd__o?o-0S65<fWE#ewR2c~Z;x%KdPeBp>i>%K7KVQP z7;NU49rai<YQFzv$*A~!b=>M1wf{dF%P#o(`uk2sl)##HU*Xw~JBR>BHNJG?|B%b8 zQu{Qbww@7mT|LcmQO4CE_mfX?IR5kJ!!>y>*)xoEqL`;9UX)rV(tXW-7jJCzyl9YL z!4^XT*fl%$v0zko`5D*MyRGLHsxOP!a!qdSgR~`EzuCoXIdrFU-X}AT+bi?!w)B~U z;sxs6tLd%ETb@}IY{~e#@Bax<oGePUUWydjyJKyfvcpA-FRohEm42sFQ*3Q)Z&-ox vrCV3=85;^W_G-vGSCD<1=3atWc`5!{hk8}4-j!Pn3=9mOu6{1-oD!M<MoGZB literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white-small.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white-small.gif new file mode 100644 index 0000000000000000000000000000000000000000..462fce751415eec173b073494a6016fc45e7d8ec GIT binary patch literal 3151 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 I;sOlT00>u5WdHyG literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f143f5b854c9ec603974dbbd8e0a9735fe7cb68 GIT binary patch literal 4999 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 Ci%K#8 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif new file mode 100644 index 0000000000000000000000000000000000000000..39ad65218c2cdb03f4680c90e78780007b8c6919 GIT binary patch literal 884 zcmZ?wbhEHbyu_fuaFqcB{{R2~@87?_fB*jZ^XK>P-@ktS`tjq(w{PFReEIU})2ELg zKYsY|;r;vfuV24@`SRt97cZVYd-mkXlShvpJ$Ufo{{8!R@7}$A`}U<vmo8kmaQ5uk zlP6CeJ$m%ep+o!j?c1|w&#qm&cI?=(ef#!Jn>MXmw{FdvHOrSTU%Ytn!i5VLELbpS z&YT%DW=x+xed^SyQ>ILrIC0{H2^0GI`ntNhIyySq+uPgP+FDy%>+9=lYHG^L%1TN~ z3JVMK^Ye3abJNn&{{R24_>+Z^fx(_Z2jmlwpBUKwAGp6>Y>@!di6uoRbFAiHSW)7& zHfsHiHIpYMa<&?Dl=<k*KL4U5R6yvO+^Zcme(R@u@1Ib6{{8RETqeTxEv+FOLZzG` z%<L&@?roDMdvX}th!%_4$^<cM8}&sgl(9}>p5i;r&TdBG>@{=!=dW29wW&x@OJ$0Z zmf*^%#%tEB%Mi0UVz<M4%aLsnXEJuJ*)v&b&Hk0EPpzGqu66gc&$&~Qk(W}h9Jw~> z#*teqrEeCp>OMO2^vKJQKasCb-IA<Yt}|~*rCrF0jqUuM`y!J6L^9s+O;BvQ%X7<- zL7mg7)su(E=<o*V_V&k0lNM^|v9?Y(NIsNPklJ`=w!UwNHpd#irvFkBQ))t*64+af zRj1y}@Ni2KnP$DXYqJLH;w!5^R2}>IQh9}Y)zlgZ*Q)ocF4sjYNIL3e+I4kngz2n@ zuO1)m+^wFp;ZWmu7p|~m&uMon#d1a2A3o4pSN8O6(n>9vIfem`H*S*c^w_1)v+Tnp zUUQxGx!gxLW~7>%Em17I#lFReIikSs@l4Ja*Q`D54Qs8o%3QPaDUrCx$hunUh;_{h zRjzMbE4MCo*)IEQ6`%Bt&DrPQJ>+VC`(Weq1FvTDWv};WYpeBTTk2_idG?*YRkQiu ze=74>z`sC_lj&RXj^k6j($0hj>RUfN?q2+-vDJl<hwaB4PtUiPL!{V@%6!eaq%KX2 zm(n;Hr0BB!NMb^5wZIicMJ}H7Is7L|3$92iY8fVZT|84L-Bp&bd6A-W2lE4o`n}ta z^ge&$ah&br%7u+t2UP^07z<7+bmTwvBlsatsNcnuDG6zYPbZ|tcrFrFEsRW>k#o(E zX=YkX<P2M51&4&$71tJXhzi8bcs{?u>r?827O||O3)<9HX$W`dy~<c5!@|g54FIRg BzX1RM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar3.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar3.gif new file mode 100644 index 0000000000000000000000000000000000000000..3eebb8110e175065ccb344819598d0dd48233eab GIT binary patch literal 838 zcmZ?wbhEHbT+ATLaFqcB{{R2~@87?_fB*je{rlIiUq62Q`1bAFmoHyFefsqA<Hrvl zKD>Yb{`KqEFJHcV_Uze{Cr=(ddi3DIgZuaI-@SYH_U+r3E?v5C;lkOoXHT9ydGzSf zLx&FS+qZAeo;|yE?b@+p$M)^pH*MOqZr!>yYt}4ZzI^fG#S0fMT(DrloH=u5%$PBK z`t+$&r%stNW#Yt%eSLjhU0od=9qsMyZEbC>t*!O-^))p$Wo2b0B_)N0h57mUxw*M% zX=(re{|C7nj1_;fFfuUMFzA4IAU`p%{de$9@X(R!Ke43fWRBJR3oAl2=R~c)v8L?z znxg#)9~c+8+OV@NH$Ri-&cERfi}%H~lbf$-pWTzpndi#f=v`oKT@+T@Ue~1AUR@i_ zuc6f9tf0X^-L0*?qc~8+a=vvhW98C`A(2zsr%hLApEZYZ-qOwhjio*AEBA<dFZW$H ze?!Zr`CGP1ZVqG7-m|Rl(qZRoo=2A+Z#=p5bjw+5jqnRso%b)j!T8$s)}A|g_x3!9 zX6JK#^u&c#FyPr9lO?~etcz_ZzvSl;abkm_Gn<Eq#he`zTDIiR-Xb$0QE|Sp5_^Hi z5AojXJ;hlaZ+D&8^t7*HM$D-t(=VPnCM(<dLc1uT-Q)ixBi>EXO$Ez*W-vaJoErK5 z<XKr=FAv>^j{<sEs`|<N`pNRZb)oY_lZc%qnn6obV;5yGEN$r7vb12r%Tte5Pf3)_ zI54-eY`u?^<dTjLyOXC*X4HD)c5vGC4@dX)RWj}~s$lQronb!1LPhy=8{dQ<GId9U za&{ln%Rduwc9&^3pNGkgd3$diyMG{(?YYb*;grOSzHC~4KUuye`(@bsK2u66Z@A~o zC&A}ul_9QqY`fzA9Wp!xFBmx((v|K^32!>G@%2?XZ=-kK4;D{ZU$k%f676FX+df{i z4PZJm`|X9BY|4&?@q%A{m3zc`U$VF9{EZcAGP!KJFx0_aMS@2=I)x#5nyAE{@Y4dq zbwP>3qAwQs2|Yh(Fi%jfM`N+H>bw^&UEelFOzQTTVDPv<u_fWLu;w~uULJN6L1!ih xvz@F8kux5)RQP=`Xqp_6c9M<XrbeM*T0)y8>vWqH1qYdumaSA1a%5nz1^`Rspg#Zr literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4-hover.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4-hover.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca08b59c22a9c970396d85a341423850ff08da3b GIT binary patch literal 2410 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 NeVS#ylaZ0Z8UX2O*WCaB literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4.gif new file mode 100644 index 0000000000000000000000000000000000000000..7a3ad34421a038f582fc82762c9cf2311ad90230 GIT binary patch literal 854 zcmZ?wbhEHbT+X1xaFqcB{{R2~@87>4KYo1w{{7RZPai*ieE<Ian>TM>zkdDd)vIUE zp548B_s*R=w{G3KdGqFt8#k_8xpM5-v7<+i9zJ|{|Ni}Z_Uzfcd-twgyS8oHwsq^) z&6_u`UcGw7iWSS3FJHE7+2X~E7cN{lckbMoGiOepK7H!csZ*v*`Tzev$YN?>#h)yU z3=HZFIv~S9eqvzze;_!)Lr1Fr#FC<uIac#8thiFS%5VLRHD#x#hONE3p~6OI!p``I zm1pbhJo?u#C>QG4rKLsPefPVaUsX-DFt}Jvt<;-aSxvFht2&lPqK-q1z23F4qq#MJ zNqlanSI^vj?@3WSa%ytZI%dq8v$!RYZ*fPL+p@({D>Eb4%w1p0v3OH0Cl}Y;Gn_%f zJD0fboh!?7AU^!?;-k68cb=@B8+mEx?rR-4styL;-FZLf;pNA%6P%yAvIRb0T>8pq zL-zK!oO?1qUAr(l?NHn_cJZDU%99p4?#~pL>Xq^k;F;Xa<E-SeDPYM-Kfa|bt3py9 zP2g40ar!7eDcRl5(_x;?%mR;-|L3X)TRl9Y*c7;UZl6@H=;x%fIsPGv7dfw_oM*6K zJxgR&%d{{T-*lrbH(g!{vaj9uZqKaHw_A9*7C8t!+17GKo!i4_@q?ptg|_6mZsOGu zdN*~annOs$o*lxEk1Dd=-MYB&mY!DKbOyCIy(-UR+BTm_^*oZ=z+1MM#fAN-&g8Q^ z>-#dhHNJ>(2u3RzElMn!+@Pf6e)bJZS$eW!?)}L-s^`Bt^_t_tmDZgLL>{k8XzY7^ z{LAMU=H<bcpA~ZD+)NVFir>6Oa#4B^(=CyD$<FN0YcI5OZlBj1?y}86Q9i`=g1ekw zq=myRo4;QlhBgF<2;4Mfkutoi{!MWC$+pA-rs6~qA-C-<_7Z77jxxwB(>Nxr+9bgg z>EXfb7%8<X<FV+E2N4g2?%XYDVlZdZd?Hb;VDV(4$F{H~6Ftpdst9_!X+E725|;UN zYDC(~r_;j34nCcp(5CrpMoN&S%gl^rE1%6uWjpX}cEK^t<pRamGM~?lVq;{m1^{Y3 BfXM&= literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/fullexpand.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/fullexpand.gif new file mode 100644 index 0000000000000000000000000000000000000000..26d9ed02ba5245846bb424bb02d3a31a334f112a GIT binary patch literal 209 zcmZ?wbhEHbRANwKn8?6jY;64h|Ns9CAfWh@g;j)si9rX%0m(BkEo!M>bXu3gafS&) z`}8%JZ_G%Y_$2nBX5BU8S$@?MpB!HMFzo26d5cT*qaRxBTlgXQ$Je~A5kbM5_byuJ zR&df_nu}WQw99ML_Is~Cw){Zo)fZD{e9N0}Sh(|V-}&pWKg|s7I?m?WvW;z8nZ@@@ zQ#&HIEpIaQ*y!p$_0p87DJ&MH9R(_#o}A{%WsgLUDF6Dt^RUq&(bcn#hcI0d7rYta M!J5n-%)np`0K(T@jQ{`u literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png new file mode 100644 index 0000000000000000000000000000000000000000..309bb27838e57efe124ed123a1892dfc56992957 GIT binary patch literal 2817 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 GLK6U*NK_I4 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..b74a073c13b0ffe7e970c3402396e89be9ee9113 GIT binary patch literal 867 zcmZ?wbhEHb6krfw_|5<VjEsy-Oiawo%q%P{tgNhTY;5f8>>L~%oSd9oTwL7T+&nxy zyu7@8e0==;`~m_3f`WoVLPEmA!XhFfqN1W=Vq)Ur;t~=Pl9G~AQc}{=(lRnKva+&r za&q$W@(KzHii(O#N=nMg$|@=<s;a7LYHI50>KYmvnwpwgT3XuL+B!Nqy1Kf0dV2c$ z`UVCDhK7blMn=ZQ#wI2vrlzK5W@hH*<`xzfmX?-QR#w*5);2aawzjr*c6Rpm_6`mX zj*gB_PEO9w&Mq!4uCA_bZf@@G?j9Z<o}QjwUS8hb-abA)zP`SGet!P`{s932fq{WR zK|#U6!66|bp`oE+VPWCn;SmuLk&%&6QBl#+(J?VGv9YmnadGkS@d*hDiHV6xNlD4c z$tfu*si~=HX=&-{=@}UrnVFecSy|cH**Q5mxw*M{d3pKy`2__9g@uJhMMcHM#U&*r zrKP21Wo6~%<rNhbm6erMRaMp1)ipIWwY9Z%b#?Xi^$iUTjg5^>O-;?s%`Gi0t*xzX zZEfxC?HwH*ot>RsU0vPX-90@$y}iACeSQ7?{Szikm^g9bq)C$|Po6ww%9N>7r%szT zZTj@-GiJ<~IdkT$S+i!(o;_#IoVj!7&YL%H{`~n17A#n}aN(jwixw|lykyCerAwDC zTefWZ^5rX5tXR2n<*HSyR<B;YX3d(lYuBz@w{HFV^&2*9*tl`yrcIkRZ{ECR%a*NM zw{F|EZTt4^J9g~YxpU{PUAuPg-o0nfp1phb?%TI-|Ni|44jedm@Zh0ChYlY;eB{WH zqeqV(J9g~&@#7~>oH%*%<f&7qPM<z~=FFM1XV0EHckcZ8^A|2$xOnm6rAwDCU%q_h z%9X2EuU@-$?fUiWH*VaxdGqG2TeoiCzJ2G;ox6AM-n)12{{8z89z1yX@ZqCJj~+jM z{N%}#r%#_gd-m-4^XD&Kym<NY<*Qe(UcY|*=FOY8Z{NOq_wN1s_a8od`1tYTr%#_g zfByXC%a^ZTzkd7n?fdudKYsl9`Sa(mU%!6;{{83ApTB?q{`>du|Ns9wpd0|o3k)0{ z4F5T0JT@#i*vug;<#Tw$!ozLMmo@$z59pm`GT))r=|sSSBlQa`>OzzY9v|!zVQsU? eocM5gkBqY4pBX`lXWPW(!{(gWtbV?M!5RR2o1<X> literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..0b31f6f9e20b112f99ff0551d787ccea44cea3cd GIT binary patch literal 668 zcmZ?wbhEHb6krfw_{0DL|NsBDv9Z~+XV3rt|L4q^Q&Urular(PPt-RtB~>A*Qo%7R zvBD=mF-0#kFD;)z@h1xd7Xt%>;(u;G*N|Xm#{gF&Jp*P&1_lNlkZB-u8JLYZcHQ}B zaLO}VIGMwWLvjwg-;6X)*NujUc8Sb9xJ@tN$f3duy3rDrcbBnSO7O6IWk2^|fEvw+ zY>o-Y9KRk#1?d)^-5Z{DxfD7Dh9nqDDkS*0MoX=zk=a^$|81fKdxOGtiAQbDlABaj zw1l7rF(Dgd#<9ytS^JdZi3w+>gz2-jCd=@Bk@WlM>6AEQb%D$Wt}~nW${bsv%@p}o z{10REVSb~PDN^(Ivp|hvMmEZrV^@-@_9>&biErkF#kY1Z<7`#rVKH=RPm~c{<<_*} zqC9g_Q0!-0c>@a_ss0m7iY$F#eq%v4$B1KBk-E0m^AwQ}5}$n<dDO}dC&VO$OlfV| zDVGuHq<Q|7g8;MKOB?yaYG8AMCc%thMK;EmW0%6A36|oIOP=q!HP1luxXc4ZJ*RDR zPlc~pWXQwDEmEAgdxPossf>*V8#p_6&(GELf|<jHY>p8qs6TKD-kcK}JB#t%t-^w- z2_1J6=iD`!*6QeX)IelH!t8B~yex+t1ZEpH9J+RHBFq?e3}XyVd9F@%x-v)ex*P|` sVTHcqg?ucA1}jf(SQj91C{cnv?AB5yh0-L6rg_nV6Brn*K?w(p0Z3EQa{vGU literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2a1bc0c6f545e20e631a96e8e92f9822e75d046 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkFF)%PBB_%aAHBFi{N%5bQb5UwyNotBh zd1gt5LSj~8MNWQVie6@3T0Vo~PZkC)1_lPj|J;7AA;Hd$0j@@R2F#2M3=BF93=9k) z!x@;3Id<LoXK>0hTR54+ibHY^yWfm7PS=fwhjxj~Jh)9S;mD!F3%bz~mUox2TT1Y- zdu2cOV1OFUh-{7t$Q-{OMFr^=p4}Usb-5He1%@OTN-8AyxJFB@sFB%PdjD;r1bc(R zb%{r9&XSu{RkVbl1~DNUWX7?}NLl-o<B17priAIUwI<8(eUbG0=;@R=V|9Vd2d*=l z_sSewq0JQeR{RfR^I?9Yl_^s5_p?BaVn#N~m}6Ixs`e?Pwux`%gvGaZFXL=g<Y6&% zX-||9T;<lZ;i5cqQc&z?TX_Qu9jX2kONuOgV18pkHphr#SCP85*YgyS4-%h!8hO;p z4kyGUg-mH}*(sM1>7;r7l!E}X+)Eqz!)jo2f+oR?VMR8^m}8g1p$V4ak4v8Kxi!x~ z^0>?cMLnl&b5Dh@S!Bq=#w}8uxO;=?_o<AH1{*j#chAq&^n#hghHQ=zD5yVh3f`O( z8as>e-L1lcsR<o-6X)DDnbzv)cGN&*Lc;8AjJzy|90X<?HXOQkZX(PWb_`<-PI<0Q zb-FS~^ST@d$6<xO<Ar=Ih6XE7ZCDo|aVSxOJ?z#}CWX=@iKcncf)f}RtU(C}i~;o{ B(boU~ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd new file mode 100644 index 0000000000000000000000000000000000000000..540565151015ca3714d732147896bc2250404e60 GIT binary patch literal 171802 zcmcC;3J7LkWPku>1_s6nV9de53=vwq!NSSYmxTq)lagU#U|?ckl3@y9;0wtwDlSRQ z%v13Akyo4vR;3D7C2%yWUh=0^*BrkUk%CKoM9zcdR6uevr8f2z1&PVosU-?Ysp*+{ zw(9S9?^jpIOtDoDH}y5}EpSfF$n>ZxN)4{^3rViZPPR-@x3}Z6sj#ZZEyztRNmQuF z&B-gas<2g0Ovz75waP2D0txG@D}a@hWZSAo_y#DH<mcyPXO<`!>lx@8S?DOF6(#1T zmgg5`D;VmTsoQbc6s4qD1-ZCEjVnq?vsKS1DJihh*Do(G*DE*H%P&gTH?*|0)Hg8F zH!{*KN=ef#uFNY*tkBIXR#u1V%Zz|)%PZCcyGSoNKUY69Lf=r&KwsUCi%S7)l}l=I za#3bMNoIbY0?6vbr2NtnTlLb?%oHnwBqJjO^Tb45OLManT|>i^WL-;hLsQ-46mwH! z3yVaHloV5SE(NHSsTG+Bx1v}Il7U&PpkM>yS~=(E<QD}OBqpcY8QSQh3vt1e1!PvF z=0vz;=BDNqXXfYGnHU&ARin$GYKg?D1xW_3#VseXI0Nkcg2bZY)R4-8R9p3+)Z+Zo zqU2O{J1zy7bKEkEQd8_gib_+Vu7C(26a=M~losXL!5j(YBIJGZQ&QowU=Bjgtu!wg z6b~ro!^9BEf>KjlD^tOGksN{~3i1{tM8W>D<5IBE2SqJXRMQ~(3y@MOO6(V;r0E;# z8H3UseH@aJUy@&(kzas42Nb}hky0dF%*rFPxFo-*(#}R7Q;a_0Sdy8BBO8HakQ@!- zTKN}crskC-f|HG*jXs7LC@p{mBS6VHrxdKv$Xp+$7FigsHWIs9WMQ~kgwoKw%o00e zs2k9P;mV!!a|?=6i@|x>45}7c46e{Cz}4L|uOzi7IU_MIJ=HD0C^xah&e*^RstLP1 ze(gS~dFdq?pzH?@60Al*)zBxdD-v-e(u%|aq?oQqEU<DeN=+<DbxABqwKFm>Fw-@# z)HN^)F|f2UG_W!?&^9o%0+oztDnY>k7s@XR$<NQRa|G2+3IVWOpx_*=5T2Qrl3!kI zqmQl@rr$TUBrzqiBoSu4xvrt1u8~2Ap^25TiIu4(vh^rx;RfWVWTsUTr5&M?K5<Z7 z5|oM~!@**q7*rwXgOW6;J_t%pQ%2N!6^RADzSv6|nD*RUaM`C|16FJ0l3J8mmYU*L zl%GqW$^kpgDl@ORBrz{J)zifeTq_$HSQr_aTN>yZCz=|8YUL!|#H6G|-Bfd<Bnu03 z(?sJGV;g-8z2FK2BASw)T$-DjSK{en2W}ZyrQ|1PrdT0LJR=j6MC0VdWL;y+)KrKS zmPSeDx=H3{CT8YF$*GoRi7+dW3`4S_EVT%f$30y@wL8RCgb*lIfYO?;FLGdjs##bN z5p<xTp=qk6X&O=(U~wQcyb*?hEQSb%A-fM<h&~CgBC#MSGd-iE7=P+10;@r!Ac!6- z-^8M9cvA#!6igWEQK;JR)TH2&#FA7{oZEp~k!6|LS&3z-WqNt};7pHA9en~JB^mDf zg3_WKaN{;5SwA%g?AT&`Lp?*N*He<M(jb*UVnIPpW-_?W(=W?Qfwpepsn<pyp%fGj zDalsJpu#i12$aGgt={0&LNEuy%gMAu^cfEC$Scl-G?;QS!HOUps1~s42=gFvs4Xjq zSdfdG9hZ$hxbY9_2!M@JpfvzxL0a3PFlq@&K|C5<qrpW|2#}<BG<A&z7fB&NlH$?S zH5yzbg#by4M^o2maFG-OBq<(EU8BK8QV5Wwcr<m51{Y}|fS6%S%}cRWFITs>V*t%S zGQS1QKr#q0xc~nTn#6?BAUPH_upA$l1QYfR3}9U>ykIV9{xb@!QWDOW1M!(ZgZZ3b zl7WGN5u%F=%x8r1xWPPrv@s#DN_7FS92a~JmI-X?SForDgML~X10zFDS{efzScDNO zvT)`sxQG$h+9(DFxQHoOL>D0fHuDGAgaQVJ|5yR@3y?fkssEJ7f$Rna9|LIWm=Vll z0@=iX6xtv@ScU_{V(<aGpMlAN0gM@V7#KJl7#SEi8yFcFxDGHfFsOrA8X%SyDCAfk zfc&b!z`($sz`($u4KhW?fq{WRw*ef=EOH<b2Cy^0_DF&FTB{fs7(h0H;s81ao>!Wa z!@vNZ{pLtYEKc=H%uNk(jR;|2VBlo%XDDSTVaQ>~WXNMkWhe%j!N8W3Uz(Rv?4OjC z3~@C`G$^^mkbwbWUr2s|LQZ~OI!GLZeNxj(kois}`MD52XzrbXAt*fqDi7wf73X9o zrxu6h_<-yaLa~PxEXTmWAPn+3nB(aJGRyB%z&nsodQpC90g4b?eo<z6W?pJuX)Xf; z1CMJk$aH_O7y|<XZ)tIAk$Y-hYEfcIY6{4;ez^(?Q2#SAn1e(Z7(nCnPy@Ii27p9B za-O;AphzGkOu|6=kitYA#7Be)11LU`!i2#Z6g#CwIZ#I-MH{M!Z*e*-;vj0+5_3vI z64Oys@g=9`<b<SFlz0|<g!uX-<>%*s6m!6YQ517#<QG*r=47VBLXRKfc@LN{D8y4z z(-KQ_N<hh_EVZZvi}Em-FsgFyq;&9PJt!!lfh!0x-^m>=0SX(x{Jd0<@g?~M{-q_w zsnEm%l49V>Nlh!k5amhAFDc2-#SrHP4|<~t6PLbx|1A6iaz0Y}f(lWTzRbX$plbSJ zv;mokJAE+*faDQ*ZZv%jiu9HF;Rbs8f(TKRzCiUN19i(UjPwO6pBND37e@MW9WB2G zzWnle#0qKwup^aUP$7!amkFpWp>6tNi~!kzJAE;NTQ8&aBLn9^){j2i^Y@{ZUr-^6 z(w8wP?x~x;7|_~Z=;;f+{WY4t21EVmb@0*^wDbiPq9}cVdXiMG9~qoLX%^A`!bo4> z^oMAFji#@`kiI;%uJog&FQ^bj=?l~+rg8cLx8IT4Uy$+*k-iv4+h2pA|LE3o_%K@f zf(lWTzAQjx4VCLhwDOAqeS89~`~s&x=F#>SecN9`pu~hU{>8w+d=?~x)V_x#4F&?~ zE3vdBA7%UtX*h=Ru`aM15OpD#i(FQL(;A|z0+0WVrX_{}PfO<pVOj#G72IhFoOY1M zO+n?>Xj&Thv~+$5q$N-r38`E{PfOr7{AgMl__TCk@TVnke-2+-nlL&ZO8@atEbXO> zgD@?D+tx^R9QxQgcy0&LUK;J&4aC?1mb7$f5T+&YJTg*R0=0*b%O&)*1WIe8b=<($ zahC^wS^~F+@T4Vh9XOhn20ksJkC{U{-~&1)0GS`gQ!atpN67s+P}_VoEe(8Hx;psE zCG@m}Q7)mSrO|R}aI}}e#SrpZ1h4?ZfR;-TCm@weU;(6c2k2=D#2+n}XjU$PSFLJ* zBY_9B&eZ+`m<?Io$`4}mcrY;Vc=%-I<ueH|Fy!Wy6a~3EDMUm@DX^boU}E58U}G?3 zU`R|ZF7OR@1FdIe@N{)nC=PN5k0gRjfZ%V}Kr3n)7%uC21So)3b3%lPBL$NSib@z5 zz$KA!N@{U30|R3V0|P@&c}W3C9OP<|q-+qI3A7qlq$naXih+Sif`NfSBpt%m0kM-H zY|t8Bk(AuL6b1$+kedrqa#KL;BMb}-9c87UHLA>@)xvFMnW^Or49uV!UL~hAH<N*Z z8MNM6BsVp&n1O)>6lN+VsmU1(3@iqqg|9^+LCy>eEH(@b96aer>?9<1NooaXAt!@# zenBO8sicBNvZjKerKN>}M{0RaYDtN1Kw@%sVo{0$=x~+9yh;WJh@ZiMB?Jmv1y5IJ zGeb)=GhHJ+==3LHNw5mSL_}m1G=4q@g5!))><mH-p&ucZzleds;wu9K^8|!g(o6=1 z?X3(961NayDhn7G_*)nlww*`vj~FPuARUsGnVPHz3Q)L31Qozl;$|S(rw6hR9(D>Y zkd?Ixpj4flpOar&q)-ex*h)bcJrR?w5y@Fd?$8NJO-n6G%}Y*I2+K?@&&*3#aL&(5 z$pjtpqmY@0D~8F`hU5ki6Oyh$OT3r-V-ShgV-Pqm!od9Y3<HZWHv@CbJWyExk2fFA zFb2?i)^PdfkaQ0+0h}_x3<SXhn%!qA&IGU4W^fJ)QAjQ=Duc*_vLyp60~Z57g9w8p zgB*i0g9d{xgAs!{gEfN#gDZm<gFizELnK2SLo!1KLoP!RLpehYLnA{QLpQ?&hN%p* z80Ir9VOYtqj$sqSc7{C+2N{kroMyPdaFyXU!vlt=46hkJFnnY9&B(~e&dAFs%qYny z%&1l4E!Dz?m%IL!w#2Cq#z?jaM$5_f(!`RH&%{Ym17UM$3m5du1cQPJiJjr;G z@h0O##+Qtr7=JM_Gx0EqFv&8hG3hf|FgY@LGlek4GNm&WGF36PF!eFbU|PhqhG`qq zL8jA8SD79#y=MB#%)rdeEXJ(Jtjlb{?9A-X9L1c*T*O?*+{HYNc@gtE=3UIknJ+Ux zV1C2=lZA~%m_>m_m&KaJgC&$DnWd1Wj-`iX7Rw5jZ7fGvF0(vj`M~mzm6uh9Rh!j{ z)sr=XHJ!DbwT*Qe>oV4@tVda|vOZ<~#>U1b#-`3@&gQ`u$(F@d&DO&<mu)@U0k(^5 zkJ-Mmv$IRGYqQ(3`?Dvqm$0|7&tzZ2zMuUP`&0HG9NZl897Y^&98ny398Db4I974& z<G94}oZ~mA0H-Ra6{kOE3TGu}Kj#w8U7Y7RpK|`@668|nvgHcl%HnF|n!&Y>>nPV9 zuFu@u+)CV*+=1Mg+zs3_xHoX0;C{&clShb0i^rKKhNqOLk7qg00iK&YpLuzC)p#9v zqj*br`*>IK9_GEr`-4xIPmj-&FNLq3Z#LgHzDs=X_&NDi`5pP=_^bG*@o(lo&;Le% zQ$S6?Ss+oMPGGjcPJ!zJUj>B)4F&xLa|L?@R|%dJd?Caxq$cDllp@q3v{>k{&|_g{ zVP#=w;bh@v;U&UHg`bMBiKvTsie!m&i>wtnC-Om5NYq3$OteCDw&-5b2V%@(YGR&Z zIb!`{o5Ze({SucIcN9+*?-XAreo6ehgtUZ%M5;uW#CnOV62BxBBwZ!5B_~R5m%J;* zBBdo2C{->sPwJ@D8)*?~Yw2X^F6m9uw`7=Pv}A&0s$~|-oRRq|D<|tNTOd1A_OR?5 zIWaj0xh%OUa{J_7$_vZe$!E$>k>4->N<mb?Q6WcRhQbkr4~jC19*U)k3l+~P{#H^~ z3RP-STCa3hnM>J1IZb(r@*(99D)K76Dm5yrRc@(rs#>UKs7_ZsuKHa~T`gR#U2VJC z3v~%~PxUJG)#`UNcs1-b3N;pKT+w9Hw9w4foU3_3i%H8=D?@9x)_H9vZ8Pmm?YY_) zby#&Qb@Fr;>0H<4(RI`<(_O9mP)|(HN3Th5yWTr}75ymviTcO&{~4GX<QOb5xNRt8 z=w;YsxXbX9k(N=i(QKnD#=ORE#`VTKj6a%ao1~h|Gr3_ZZ0c*;ZhFY{ubH`7k=Z)4 zm*y(w3FdRmuUm*%1X%P~oUmlIbh50s+++FE%FL?7YLnG_YhCMX>s8h-Y}9R1ZI;+P zwpFrCv|VWXz)ry~!ES-w1A9gLMEgbdj~tX8QXG~!Ja^P|%yL}g_|D0|smN)o(|2bp z=UV3jF3c|OE?q9?T!maiU1z!8b5n9lcU$fD!QIro+WmkBtB1G8M33v9vYyGFD?LAW znS0fG9r5Pz4)&hq{m4hlr^siQFO#pA?_}RQeyV<Xe%t*S{5}0A``-;v4=4=S9mp0K z5I8&VS&(5+P0;aR;o$h-Rl(mvoI?6TZii}wmWCb*;}44oTN(B}+$DTc_=5=jh}wwL zky4SFkvpQ;qr#$=MSYESjh-6)G{!WhE#_LRdTd4P$vCOFoVdO5{PBtLn-f?Q!V^{{ z{7LjrT$K1V$untA(uZW{<mt(;QyfyJq`XYEO`VkbJk2(3Qre4j+w{rlFEi{jre(az zbk3ZW`7z5QYkt=EZ2#=#+5dCGbJpi_<R;|q%oEDX&O4GXmtT>8u|T_^t>8hSRpHda z4@KTZ%ZeF`V~cl`h?EqRoGH~PZ7qFRW>+@5>_>T6`Q{42ioA+5m0FdZmCvi(s+Lx> zR3}#-s!^<Ita(`LSi7)}u`a3ZP`z?}Oa0RZ_l6aXT#ea{XPXR~CN+I&4sYJoBHPl? z^0?K#b#)tGTT$EfcI)=}9V{K09p^fYJ7;$O>q_Z5)osu{t@}?;a?hz=!`>Oa|NGMV z&h?x1&zrzDA#cL9iS`p$OcI<_HR<tW-^tsiC`{>^@?~oL)RWUprp=$uHNABDgBd<E zcFa_nIbr6XSsAmg&UTu;evZtX&N<)brp&!G&tcxW`Lgr7=l@!ex!}e^_l4UQsV$ne zm~C;{;%7_3mK<Mdv2^7!sb$^E{w~j3{$NGWiX$t{SFT(ov#NhJ)9TXIFW1DZxv<t{ z?T&T2>lUsTTi?BbVMFPLR~r*HUfblo>Ck42&Fi+PZke-Hcx%@-#%-0`K5Wm}{$NMs zj*C0Jb{^Vgy=&`kz1_?ADDIiPS9EXxKCXQ&`~L5*+W+-H!GSji(+@sA6o2UU;fTXm zjszY#chvjniDPcZ4j*?szW;>ni9IK+PVPKqaccW%v(wwon4Z~s*7WSwb7tqZoi{(f z<AUXdT^DUG?z?1v>ELCT%g3&GUO9c$@9M>Cq1SF)kGcNfM#_yBH*;=&yj6DV_w9x| ztarNZ3f!G`Pv+jD`<nOHKQMc+_o2(fGmnBF-F}?>`1O<GCx4!{JmY;f?YaE(l`o85 z?0M<-^1`d=S5IFTy#D>B?XBS3Iqx*yZF%qT{>+Dn4^KZ9ef<Ba=d<MJ<zGy`9QqpY z_1?GKZ@<5H{gC{z;-|&W<G;dxJ^x+)hyBltznXt{{qz2J=YQ`1|KPrc2)H%C5-y#} z3+97b&<yOLU520?QVSRu7#1)vFg{>l1U1*$?HD8&82{h+|A0Zj%gxh`fsu)k!Gpnr zf#LsK1|INPc=67@42=KZG4O$T3@HtumdpR!3@r>i92^{+96X$yJc8U@+=8O~JUslO z62iiw!om`QJYWE&z-$bHk(ZmBmycI~k552^kB?6TMDU3~v<N~d9w>#O7cB7q0D~Y0 z!vcl{%#2D5OoEKef{g#~GO#dk{XfEJ&%nUQ$_NJF00C_cWMpDtWn<^y<l<&Tmt<sM zVuncyFfg((GBdF-v9hyqurl))Gcqs<GP5WO8L~PCCJHMRHX5;sOkB9pNm)fS=wOnu zNm0{9XLi*|!5<!eOfEJRTePWJ&1G^(itC}pC1&E6LLa4m+T3#Za_QsGZt7E(v~HPt z<jRvTOSc}q`t)m9T3Oq)W!sKjd-l!TJv_a<efsk4$FD#CF37;d#K^?L0(KKS8>=bU z35te7ERKPRg-XJ#MvW6iKrT2Kbn%0+O47rkrb*7hqRGW3A63~v4q#U^J#@)sa>!!w z6xUF*lGI0VC*XF0I>HJ6Z!z#NgY6V#uxI!hGRad_Q)QB;m#504ph=!8Q<mTo@c(}S zqFVLYxBm>i*{^rq`YTg^@y0h!{TbPF&i{VZ|Iga|Kf}V~zwb?&@8wy!9?qQ(XAvtg z`#*#1?EefG9{+vs>A!Tzp34ZnH-brml>dK*zO(-sUKIZOzGV5ONpaZ-{)+v7a#PqW zx(c5#Rn~uBvi!18=&!Qy+g5dYDU9D{Wp87b`?l?@{kbrq;QtrF0bp;O{-44B)PIKl z?f=%k5Lko6d$r3eM3qxz(o{|-PnD%k0h2s61E#1<LJ>@_6|dncIrmHNhscz_@?W$6 zGYHSs{?EYq_&>w*WxA@f(M43I{Ac)o32O6mgw3yZ+0}pfv;N2L`d4=vCQX^-sj^gM zlBcGp$|SEKPZcDAxnE*GXkNB{vHL+#@R$0l>;L$btpB6l|DR#rj4jjhp?p;ce^T)O z%TTM3ymf-(=YNLFpY}g~`=4QT5fhsE$QG)VUo1bc+~@tG_l<u#HGkQ^y8chyD*T`D z@&63xeWJY0QTd*l|F1x8L-E+g`G4)T|JmLDwSCn~EFOYcIP<>iedeFS%RqMib0I!3 zuTsg*CCgv@XILHoW6sO?AO7<H8Eg$Rb?&c@|1lTAS6Tl58q_wV@O*(Bo>fGKr>FnL z{|sUKKU!bf|6!i}zpA85k^51&p8o%@gYB|YpZ-sK-;SHpYkL+=I(|EOR&81*U-6tv z&HovC!>{}Q?)U$@=juC8mF0))Kd$=q@;^i2%l{19XHEZS8Xs%_&es0h=kT2>ljigO zXE?U{_42>Rm;bw$760REZOMOz9bf)4+&&xkWRh2n`F{qf_3P$;mz)2)a%KJF(65*O zJ-+;(A>XumlBec}`+u_b?W(_1RsZ(cQrcN-{U_vaiLUaSFR%E2r0ExVs+#;V)7?=k z&o1=i>&B0(R-G_1H|$;e+yCpVbt;p*>R}}qk>%Y@a4o9{u4IBibt9;n<!5kYNMXol zNMcB3P+$mP$Y984C}GHFC<e0%7#J9Y2&hnCaAp7-2N@|;0-4WP<?G9!1>XD4&BzSi z>&^%|JAhFL%4TF>V3cBD1-XKOfngG(G@Lz)Q3I+5bXL3}1866|Gy?;}B1R)H8`Nsp z%V-T|gLc(lWMTyGf(MzX$HW9<GcdGg!r4z47#L+37#Kk2fIJPR!L0<W=jSpQ85o#b z85&v{87RO`#$`Y|SQ6w*29`;j5Vu-9WMEjp2w^iYGB7NFyMuAU0%n*yAgkO!=Ln#L z2|OGavk>9HSOgCT(24j6KUN|85$p;EP%8*zD}?q<4NjB>wW1gpKqM%PKz?Rm;Pl8Z z2`<Pl@pJ(nl)%8inE?~XL7X1I4HZOMmdp*+2oeI>2%6IX+Y$}pF@R$n%)&x2g6#&Y zjs;1x%w%9-K)6XLII%3%C$TcMs5m&aq$D#hy%-ce3=9l{o_WbRr75XSiOJcZMb>#K zpuO`TBgDb#-7<4hgA>a#^U`4&Q8t$2QUqEH#=yWJ1vkT`6mke@s#9u4Vp(Q>5p-+3 zlq*~YWEJR?2AB$v5Aw@Wi^_{KOH!Tl^U^YlKt~-Q%mgV0kJpxDCS~SimQ<oR4Uamg z>tx}s!!XG=F&PvNpiq^=tt!;dGXkbe5x25%$a&E)m54BdS(~4inpXll8G;SP7lN=* z0eKXx4w{)oF(g3g1{$hDt{AeQS<aOFWRR6Kvw*8KFD138I61#4m1cG@_*548(av;G zrW>NBGpB-QIfNkz5q$P9EYCs@9RX!)Ua)j<YEEi$2|O2~3W5%$NX*FrD+HAj0*KPX zH?<@qKLwh~FvLL`^YfsG&oeMEaD^lmrKgsF(j3wO9N<za4&)XF7SN$Bp!$*@)DLA~ z_>r5Km+2Yg7R127@CGFAnCAj=!5L6l08RJ|3@k`zyD&Jq1tTAv!Qd7Q&q<6Z5ed@; z9u{|WE6PPGjTzjE-HM=r#0V01EqUV(a-mx><j@rm8-#tF^H6Oo^2~$j!)hC-1YvM1 zf|vp^738m={2b8!Zjkpu#)9i~{)J$sOm13HCba56l;EHPi5MU!8SyUytCP%4Pt60f zFbI$h{ENZD=DC@<Ae*4Kz#!ELu<!u6kTWwkF+J5cu>e*GL2X(BGQ;d%Za!$94_xoU z&PQSg$$+$iXefrxVL^GQ6j<s1j~_pRgjqm`6M-1GXs{du1H=DOJQ@b0X<$UA0Z<tL z#Vnu_3{e*HL8=v4<;K9kAPQ3GoKqBnQU-HDj$2Ah$^o6T1nS{1IOh~0iZ})a_RM0} zip1m+P}2-#1cPr$i8HDheu*WSWvPLsiJ()oz@?~Djsol)FmP$+UX+Kz4@yCm4=Ktk z23Y_q0=W}YQeZcJz{I#fdliFHQ%aLlK|&yR2!iIti$Xvych1i%Day}5ag-p!V^C>m zeZiBHpPZeV0+vShCr@!kW?G4BUP)0V`~)(PJ^U$|B^jwjjydW1MVTcTxzLK8-vw0| zq!iRJ0v#*{(GieZl$?rE6>_Cz=0IzHs3}~aHYnsG8c>7V-O~-!B*+9^Qj?RIoC@z~ zu;%0!7gvI6U64JXH63~RzKJEEHh)fj5iCeJ^Gb6e{(`Cm)iy#!pkM>d-=lj$2ppg& zG9c4I?H*8iDay~u0rf3>6N^hyivkisYe3+kFI`fUm{(ko2wEyoi53)4zu^fX2`svE z^Go4@1xiQ!<*7-*peVr%NA9ZpywntkttgSs83mH?%uCCM9!SRty6Pt{H3!nRfL5iv zsksFiiN%>!si4!)V1Xw97Yze9`@rcD6dtT;Ir;fT&=3U)h=8pJU+a`!l$aZy3c5~X z0NlX^c83orWzgGp=mvIB3x^q$XF<UN!k`caVNg31N`r(^@MsHXw6-3Rwe@IAo%G%c zQpv&SfzrdpY~g@=iUZO*AyBWg2Kc!ffzC_g!mQbOuvO%=tz8+Q$J>mS-lI8^^c*=F zW}{(7Y#JCXy{X?fVt^igH(GiVn+iwOjh0xWX@K-JFj{)kp!9|wjXPR;kLF0ybL424 zjfNSqX<)SUrbX!uJxd=nSu;BBJvxp(I*vV>256E7MoVuRl-|COYjsB3-o&;cM%9hB zH%HR|>1klJ^rl7W4ZVkNwCz3G=AucPYqX>zy`&qCVK!QN)1dT*-O@W+dXJXgqowy~ z8lYJk7%jbNP<n%R%Pj>3En81+aVqGfNW@+f*e*HHu0b)-)#8Ya(y;v}DC^T<>e)ai z{UOwXcP=>Pl%_(L+Jl-FB52a?MX9NINb*8x@<FL7NV4d<gG&-iV5Wmc?}ZV%JwcoM z0uoCykTzj5Fo=W}r-Ef1ixEm;8wPklUd8J{anLpj$DH!S%3{Zq6vvzr$C8qw%%sv1 z@HPsN3wYro&WXh^r-63R@Hpq>7pFSr<b))q!*?QZxaKA2r)1`(L;VPf4++=e<ivth zm;BPCoK&aElGM;3ALoq3BDf|Y&=wOs+tXpO!Og(Hzy~`06V<06S4!gCe-3pBNRgOF zNp23vF3?t1_)cut4jVS8N+u{RL4Xzm9rpkZ`ry)}wEUcu)FP0%(AZ&TNMguj$YDrf zNM$Gjg#rT?bdP?7ZvZTQ1VI`=4oSqi_Z{YMP-ycalp^hF=R=4h?_x(X7j4(NuzzVu zL1~F^X--LIK~5?tFyPT30f_>T7|dAkR&`haaY6$GytNi|C@ho@3ov0Q9~O|f0uU5% z;=wtY$zbcTS_LzL0cs@7Xc;IU!)VYM2(X+0j}CY+hZd*$<maWkR+OaX6=&u{HgbU? zMZi7ZC$lUS76m!rR1cN_N33sRflq#NB53~+)MC)~Gai^6XsbR{9HfUI8o|!_xw)W| z06^A*lARD#JSw#)-#4)+JriO-NQ%ufF9o^*3%VDD+b1(G)in>4g^HnOgQA}s5^oWp z3=J|DWS>xAX?_VP1HyACI4VKr3I>CYVl66m%`GUYbWY95ftdx;2b1*3FUqXS&nrpH zfm#GA9r>X;!%~Y%GLuoHc!EnRb5e^Td%>VuK<4p=xP)h>lw^2-cNsw?K(1g9NlZs8 zG}uCmQ=Nl@VO{{0UZ9u(c?%vpAW4vRG1wM6h~M#+W1xbX+c71@xwN<>Ki4w|W(K=s zN{VZQryGb5ax0r-N(xd26oznv^Gk~$sWCLj6Q-0uyeP9I)i*OQGdD2@Nsky<Ji<31 zBtJMaB{ey*2$W;MK@YNlJuI~dl*XXpz`(#bKZb#E)&vI7m_A4WXyefY1_s6n3@rcu zGcZ8*f%7i{ok_yK2y{{l{~}ObmX}|Y`=0@H#57Y3RGS6^14sv9%!Mc*!F$qkO7lQ_ z(Ltv=b1^tEBr+s3WHY2Q6fxv8lrrQoq=4+psmuiJX=4eOPI(97C+8%A_G_|$Vgkg^ z%uB0)Zdn7HnVpvn+rkFs=M)#DA<O3^=YYyR4yfC~YKk**Qy3T+K?mh9gUrm$DF)Tk zASECgv%UspHwK?X$lf@R%Rowf5`#<d?$!tEax3zI6<pu~3$kmUfgv?7F$osMU^k>x z!uH>T(m&Xp$+<b8^9n$gfljtYxQhYl%mTjrqRe!+h@jN8fc(t75|s7>OdZ%I9z|7o zDfy*IAmd;-tf(XzUCgJl$P<)mp#J2|0iE;$OZ8Yi46_ClM;yudxdlF%#qgj383nZt z<j=H<B2c)4`~nq)Q=lVmG#MBe{TLV+vmmLG0~D7Gf-Im^DaZ~=l>*>Yfk>4sf1vt_ zPL<s0IiQVzx+#f8*&r9?q*WL(Fff5)9%K~AWgw3*Fu=S8D)<<JlXDb8^Ge*51B#Lz zBL4qhE>n0M)DFl6@A-6#2rkboNzMSpC|I*gQE&!oRDeW4TV6qSz#<>4)Hg*z0lE>C z!6_%t7o@;9rvwyApdH2vsKx}jJ2`_!20*GndxOzq543+6T@19x7+uW2Ah`tYA4kx! ziy#vj7)sM~(&4_yNlecHD{{<BcYqwS0aoQwT#^SC52(n29XSt@aL&$!8d?F$v>+ic zPRc1Qf~g0c-3}IHU|{geFHVJs7bU~QK(u3Ci6h7nAT~otQC=`=7zAe&fWiQrs{L{m z6yR+gABIeZJcd+;XVA6|gL6@t0yN1op_<`b6ab2Guo=YU48pn{@*jZR3nF0o3P}u- zkDT-Kl2a3Nz{NBp<XnuLBDV+z2F4!HnL42Kn4FsjI+_byPD7QX6sMFkFfbT{H)eyK z%)r0^Dh9y`2xK7$gEZ%s<|r^SMuNBy3=+&l)($$q3nT^74r7D(;1UO<oq=&bm=7jE z+Vj(MK(>R924eyr`305%H5B&kg?OPjxhRieKd4&x{~son3DKnub~D@}OkIqq+LBVs zKuO0BtPSQyR)jSm2Z3G505S?x2Z3D!CYbi`2Ne`pWI(!#^V2}J59s78CJ-M~hJfq_ zYlU>OK^-YD7bFj@tw3jxaWkYd<bV%YD`u!<&}B$rNMtBt$cDHIQDdcoYZF@3Sa?cJ z(9J(u3=E9E3=E8!kWy2!3gih6Cs1H;IDtw{9xafMKtBEtKH`lj1Ehk10aUSr!jLfL z$}cTREz(WT$u9?|6lmx`>T*#1T>|c5=t4uP9AqCNWK!OO__PQaXkA_dDic9=kX)C) z1%(7%>vGWjoY-p_TGr(te?rP2qUv&RDFdsgKtY73Vh4pgo)ikJ*8><B7;_*gR2-DQ z8F-d~QYg<da0*=pG6gAxf=XwQy+qgRyhZt-6T?z;%QG@dQlWVh(&7Z2?!b#^XELNR zq%i0*lrv;7WHNx#EhI%FTAm+3ZW)xR6?9Vy!w5*NAb$>QYDH>=@??P$B1ao2wQ{t9 zQY%LrD20Gh>wa)~DyjlfK}vbbo|Iaanv)9Y^MG5RtTUiyV3rNw9>K6~fd(CbdY%p~ zP~;Zth;M;1Fr+3Wp&keX76A>cfuaOf1%O+c8R<E`=v|dyP}`4zfgvM32lcQc25emw zqy{kqtgC`72J5OIi)Eze_``Y$4oC^5IHerJHL#9TaY{K6t^s)vhGDLO@j*1qH6S(& z7pIhCbxl%PP6#Y)Kx~lu;4~-DHB<~qWjVnxIVaa(Py?62Gp`7I#THQ=E}z7l6mSrL zI%0MpqanDsC_M-)4(gR6wfb>&xRT0pT#y_B9$oOvQvlVE!=<0amzY<QnV6HASnLk! z=fk^^!D)y-D^eenqqI0RI3uwDKIF<(S`0qzsI&+!1S;!E?WKY93;tdjS~qJ*_tHSk zMJ7m_3)C3|g&3Y*8u)-=%>Ell7n!{@&<WF^xsFtZGKN%!9B>N{y;b)aWIpX$b-bWj z8r%a!^g-A_?E*x74x32<g%<L7;%889CfKS2na_Z0JkcjLtpa6?0%jL@^a?cigjJRo zWHZWe3up`neXz(mrwGq56t+?lTWN}IxC%6q1hNgePR2JNhO53t8O{pY2?D!7Uc*0l zG>C?W81N5dfeLi=a6+k?aShcWS1*tTHQEpqmIeSU>3}j71FotERGxxdgjALis6vKb zXe0X#U)71Peh0M$U{x-N4N8@;b^%HZ;%`8~G8uBi2$so^#bB8XS&Trl4XHT;$~QZ~ z83$K-!r!ohxf0|_7>2nL#s|?bSAy6uOrSZ3)s?u~Kgg*bM}vTvik}b1=sqmoKu+gL z%1O;j@h<?)&K9GTu_!X2={AsZYy}mlUdqKg|HHNd<wP&!nF(5s8G-60NTEU0m=U;w zLJk`Sj9Llia<J0T9xavTRFG>=Ts0(0C6B*a#9tK+qGBA9HVIc~qdi(s(F4NR3h2=u zEjz<to;k!(fiZwuV35v#MGjI+g_w#BrD{T{v|t4^xc`c+vI1QYME)E<=+tJ=Y!zrO zAR96lAiWBdFnO#%qpLhtpwU$xD^QIH8eN6XR*}5&ggd1uzd*M*BQYf(G7|-v2Y}4w zrGRGw3K(?37bYcwuTm<9^j(o=tibmj(yq722pR-J>n$>XR=yDKErMq$3HBDj5s0m~ z2nt*Ltqq2OnV|yt3sRyJ)!G1eqLEu0<j+un2I&kL7#Q6c7#NcvsgnH?C{?mw0;Nj! zOQ2NAehCzENU1Ucq=J+&e-_`w;%w->8_@Yv(EXV#489DB48;tP)hO^;s8mLfeKbsg zWY3wVg3}hk6bOzWY$*^FZpaY_^5<YokzjugM2ci&;24FYAut*OxI&=uKL~yVla2pJ zX;5g4hQnw&7)=MD5ExAdpimes4@T3$XgUCez-T%Eg~DigFq#fV(*Y<1C{G6rqdoM| z5sJ|ez!L(Xd^TF+P+roEh9f8hM#B*l3ZwaHG#!kl15gNzrUOtYjFtzZ>0mS+fI?t2 z9e_e%v^+qhgV7#3uDR1u@zD?fg}`Wu0SW;`i2>q`mY}2IF`5oQAuyT_K%p>N9*m}g z(R2U`fzfmT3Wd?~U^E?!rUOt2P@WD(d+4BE*eD(i0bC&f%4efB4&^1yXgGpGU^E;- zp)i`CM$^G)Isk>hXgUCe!f1Ignhr+O0Vo7U(*Y<HM#}?4I$&UA;9=lmU>k*_Api{l zE(RV(hiA?I8~-2r&-l!N;aSuF#{UQZGdu(3ode*0#wa-&0;3@?8UmvsFd71=A%LhY zQ0fpy1~mpf1|BHn1Jm3LJPdpc{B(x`45UF)Tu6$^d<+8xVevpO8stxOyZ9L7IKvW? zGD;fy`zKDCKJn{>2NQ1epYHqBce$T?@|4MwCUsR8q$VYXamQ6wmX{Rf<>lt*=ibPF znfE^TMb6LcrP<GOzUO|<y_NSr|9|fPeAc4Uipt73#>VvKw8peUX^iQOjLmV)35^Md z5*Xu}8EeCvBO4<RMKXrhG8P0h2R8;E3T6x_U`lcHZSiaLJM72g>zKkAV%u!lXnDwz z(Kv=Nz_8h%(cq8)qecLOPm_A1`XO~jd1ppDxn_k%g+mIAVx~-HQc^9Fjgp5YnWO}D zm`o%ETLc;fjtDRdiwJ6saz{ghzKKCd7$wyW6E3rfq#%DQBwvBNL^9u4QUFCi5?@eA zP>Xq#4-X%_;c-~tzaRr5xJJ2ThsF^BW`04`l*cbH%4ar~fTu)Ac#y_tG?r+FloKG` zqdZVcWHcm3(}VyszkrZ7a(*C#cSwK{u4|MHDQQN-VGx7^te*vGk1!ca3bgPy@*n1B z5)jmarg`*u(m{v|Be8|F8TCa$H3&$(7Ne0wvtXm(AwfnVT}Es9X7NVxL*k5*=8Qg? z&5DhRhZGrAJQ%{hnO`v5XWnRj(44`EDbmg9kMlpLbI$vno;aO!zUFk&iNo2+$=TV- z**TJdkwJ$+13dBp>I*~0Kp-qqMi{80mXvV{kXlk~1*s<%gGL4h27^MLo*3jybo&Gt z<ha99Q?tvOCQO_(dGe%Flg~~1KJop;*Ave5-<$A%;+cuuQ>RUtJf)|$C?hpBj61Qa zs-m<gKQF(aApcmw^Zb{2zjD{-Ud}s{_rKtO{{I5j;<AdWszk;n_!vkNV@o`A3?#mV zu`U8S1`<)nSQrQ$0|_i-N_B#dfjFfyhQh``Okx=Wji6&7nt_bI8qJVF5Cs=TdwJ*} zh`1S(g*1E+L`av(R0`4U7t$W(j)n$w5QI*NK}Z<IqG7^iHjzRa1QF6EgAeaofr5nD zL<-Iq6at$!%7+dz;SG<&0!)HP!8OVyJ2b$9AV@(8;tP!OnN1PHm7s1LseDFL$!6Ff zh>-Ru4>AZc8WN*vf?q%wB|nhFGXdwSLjsJ#+Ki*@(Qp`KX#m#Gg0x4NOr+q0An=k8 zJ<fEXbpuFT7b#8aFdB$~YLG($j3PRW#*)xM5D|SwTLtJKh?F^_uNHI=MAefi+}xtY zywUuWIfKPda|So2NKfZKF8`d*x$Jj-;(XHOn)69#4i{%<7Z+z27tk<>26z~R3p^Au zIt&6DDgg}+3=BpelAtvo<V$or1Q@uv!_v}o%bO=onlyRJ<Wp0wPW~|I>7=<6|4lqU z2{HuITUU~mo)*TPj5Gvts^Dt=hrAbgM{}>`oyp@aD9q0<C@e0ktg1?8Y|el#1IcJ+ zXl+VpOgNap(8^d39{{PxHvnP>T?Aqh%NS&g7y$9ZF#uvdIsii7KEALBN*{lei#*N- z>fXbugChdWLzgQJ8#)7df!S0VbpV8PK74=!Y95>q?(myRkMfZRKyZZzq=mr@lOE-Q z20+LP4bXrGvStt;GynoKY?Ke4w}vM*BEy5xR2tNLg{o#Wl^W%N!*Mhu5JN#DHBAWX zAg2N{c%aTA%#2Ysq-+@thd~eyuof?*J;G!vjWPfN&hO~)qzlapAaP{24x=G_00cZR z0$BwjqR(gt8vv2EWb}g#fT(#fMOh#ZfOs%QdN;c?x*T+20F8FYF{mIxF@{k%(n0_^ z{^kBL{Ac{n#KO$N!phpq*2s2_?LX^(78YhECPv1847?1CjLa-->|8v&`~rf4{X&gG z7li%`atrYD@^G=Uu`n|-g48gxa_|U<NJz^mC@J@=G^$)s;Z;^rkdu}W5#ZrqWoBgH zWn^aM<P(-s($F(9v$X2BZnVB&&1+?8W~8T~Bqhwp$;!;g%gDmPCn~FMWaHu;7#h(Z z*%)~tk~bnW(A&kvNL^NxkAsDgmx+x>SXR^AEhHhUu)Mmzwz2j?EpK&sVOBzjo4KZ} zFb^9OFB7|fl)AZRTtR*B^!ZErmo+ZCu#9)f{OP^*1#zC{>QVyiOl-_tB1%SXaUBee z3?~`b;@pgsM7WsQSa>8fY(fg4q6Hx~8WKD#Y%ILedM*j|P|^AX7d>fS7B*IXIV10^ zUZ`kqmbZ}{KPwxnfPz_I;dH3z^uj<h1p!tzHbEuJ(DM0E(fQ?}mP&$bY;1zcRuR=p zprT8vBdnA`qCzUxk+sX9qRVO{tyP5B*w{uzN5kPH1KVhNfaKWGa2O4T(Q<OMW*99I zM_US`ZKKgPBB&KV+9nun6O6VAM%x6VZGzD@!DyRcv`sL=+XUE07qN~+Vjs1{KEjE8 zG!*;DDb`U|V#a5Q8s{ZuyqK7AX9h;X<JUxtgX14bXJCXLXE}Pb>1YUmLjZJq=^^m( zrK99%2#kinXb6mkz-S2I4uR1Y#Api&H3UXm5ThY58UmvsFd71*AwWzBV6-5(7)Iep z3jy%h1FRj<xUX^Fp?$=VzxH+fZ~TAq|F3<ctkEzSO$VcSVYECLEeS_U!qJj&v?LrV zB_T2GJct?wMg}nk1qL|=DFzV+AqF7^K?adgIO0M;5FGa+3{v2<AjhD<AoiExKO++} z3u_m9Bl~f77FN&}u)hrd88{i4SlGGwg+#=}dc_;XPl^8*;}j9%=VoVNVq{?8Vqj!q z;}()sP}9=s(QDK@smG<GrKTV$#LdRU$iU9X#KtSu^!jh-|Hl6({&W6)+pni2#>>XU zz{1GFEq18wf8+n7|Jlx%tBP^6Ffuc-3pKU=Z~TAcKkE#0B_Vc3W@c{5&rp$Xo_dnp z%*-tOivK_&hySxgS}O9hFtG`#{rTU?(8zFt;m?1TR3|kdHYRpaZ6vW=4=qu4CU!9$ zB(VZ-9WjuY9+Fs*j~+-&99gW`M^BuciG5UTGz>=5!DwD!87&X~kA}gY(J%njwWE1q zG#!kl14z4bG%t+ih0(k)nipXG(9!Z>v^*Fs4@S#_VNf23A&-Ya$H*|p(wNyrwP6Eu zxgOf0?96OJYF|Mkbw~cQ{s0flfyVA8Kt(o0S}F3gurPB=>Yag(0^UvqkMOZGu?s1g z&;IxiI%fFq%cfL+@Ms`6Xv|R6+%qC2r=X~}xUu+DF?UfxPD+F)Wc-i|Jld$FXX)tf z)#KCXbJB;)%iYluI^u|bq>|7$C-%`%__`Y*20jJ>2GE(~BW=~msDHV@@eYc8A=v60 z2DV0qMuvS1$mAaern4V@LJ~F8_g9;KG5lp<cnV4T4Cj6`{9|A|`wzlp{5R_l!#@Uw zFObZ_@D$AZ1Lgey@ml^j{y+SGlr<U#qv>EYFZ^Q|4TI4z7_ALPYlG3+VCa;D48M_E zbPVsIyt|-$%(xNO7W`ZF2h>tL2Wc8IZ2Zmehk<F{y)V#~<fkijzfjtl$Zbvtd$gA_ zx*LLFw3jm4V;XHGGK{toLAA@!sUt^SI+|ifQ|xHJX0%^3P$l7LFJ-j%K*taO&7qCX zrHr;yN9VRi=l4c??4v#Q(UNeqBpfXXM@vEiB_SPqDFO^U;Px==yq(b%P$Mq{kmH_* zLEt|FV=HtrkNI~i0|O(&&F24&{}26Vyve}O+VsEi|H1zZ4GjOFtbd?0y$*m+h(;xU zLN_x1{6ESX4TBR5qhT-_2B3otM$^G)Iv7m{kV8I3^TKFe7|eMASKAKJ`a`q`k=u#r zZAb=21|hVb2CUUNN{_q{0QIqW7=->uGGzxxv_&>X9*ty)2+od-WQ+`Lj%<uP6v-GG z$&lR?*%)~+k|Bp749W^^jBJcN5IIVYhQMeDjE2By2#n+qK-3C|ngY50z^q+HTOo)& zoue%9xc6u)WVA&!8UmvsFd71*AwX6LjJ85XTM`t7!01@W=!ni}2#kinXb6mk0NEix zRx5;$L5@L%K@AKg7)Iep3jqxV2!x~n6$Uv5zP}8=7<-r+nNBnPVg%in@t2W}iJ66k zm5r^By^;Ma`+qhTRu&d!roW8;85kJ;F|sqUu(Gjpa&iCToxs<~cb@MbFFQ9ECp#M} z3)4SF1_nL`Mn+~9HV!Uc0YPC=F|i5ajpFCU|BLa63JVJGa&fSMF6LnP&&b2X!p_Mf zAS^B=Bd@45LAg=+yfUAXqP&chxUc{ZC+K<(#{Y~wENq;-f?_fXsv6pQ1``Y$4bL0$ z8R%(is4B>a3G#BXu`n{SF*31o@Cb@^Ff=lpWZ+Ph6%*v)U}a)tV`OII5)hMxitDS& ziV1MBF*C9;vas_C%cw%dt@Tx9gn8LnK;oPN;tJYOaW`{q1#tmRkT@%spp>d1RNUX* zP*qBhi<Oa$iH%!WM#Bs$9_DJMAtTJq#>B?N#w#kXZ3PvN^|I2I7v%+sv-656>e)iY zll*P<6vcSinb?@vdBv0r9H8Q9K@J8=P;owSWkW}(cxH&Bp|Ut1SUpJG2`Ziy>NF~T zl7VA193bg`G#p05VYGZ0Ehk6Ifzfhcv>X^M2S&?*(Q;t492hMJM$3WGa$vL^7%c}z z%Yo5yV6+?<dgTDNabR5I#yG~Aag9sk7{_MBKJLxW$O0ZGH+Kt)P0KB=teIHbSbL$C zzoxP{H!U^@K5otr9cS0KcJmL5O-jq0nAMndA&WmVEh#q4-wi(Q&JP`@SJgMSclGiQ z3Yi$%7<wU;KP1TC%hlc-K5ows9p{%-)iyM<vUPBr=+x+R!HM6|!Pd&mP#Zq(Pu#2l zaWfFa&1MiYFY=!O-^>c?EDZd_Ysfw!(0Y+kJhDOn67wh|=rr^L;Iq<klfM``{x|+V z`TqyQC~GtfM$^G)UKlM8MoYrcl5n&n94!flN=ZmeI}ewd(Vhc%kKf4ZE1>!orOyD_ zr+_Q9Ad8RIlB2ccXe~KfOAeJ<a<se}Ew4t)tI_gmw7f!;gvjkVQrV+DhtZw`q_==f z5|fG$>2H)ZS|^Xz$)k1hXq`M-5{{OHqb1>JNjOwWLSou^xYVHa9I%W(Bey6=*~23Q zK<9*C0N(*KN{)uWXb6mkz-R~zmk=1O(T7JJO`0zneH(o*_>PjJAut*OqaiRF0>dc; zMr(A^>cZiny0N6O<U+|PIT`|^Aut*OqaiSyLSVE;A0BlyX})M&)41lsno)8z1V%$( zGz3ONU^s;U0|;0+dHMz<mXyHQj(K_c3=Ax*7?>Cs85lsAWl>2*i6esyh|R#wz`(%4 zz`!8Oz`!8Ez`!8Fz`!8Dz`)4Lz`)qd!0`Y7|NqU+3=DiB`9;MgshN2S9zXJmGZ`2d z#9ge63=GT+EDcNy4NWbLEVT^`)eQ{P85mfcN-9d685mg1{{3eNVaQ-eWl&(qXDDST zVaQ>~WXNMkWhiD)U`S*r0?Q;b<TK<l6fop76f>kUq=40?F(@!tFeor&GUPHOGNglb z=zwKFx)m7G81fm47!(*%84?+i88R3Y7>XG(8B)OJB{JkeO~IuWWMdK79YqX!3<_{J zB8wxt(1^i+p@IQK7BEyWD1hA#v7-d)JDBarx(va(KqN>PvOO@>3JmECMGT1y1q>Ms znGDG&p;F9H0uG-Nu>T<8Qo@iA_GtkF$d3vPFxyiZ@)$}OGQsK*A)&{>%fQPJ0@jlZ zmP=$P0f$f}I5t4xm(NhnkOvM|<k$g)G$`D&!KxD((A^1%J5Y>5LILC&NW6heLHG{l zK3|4JhGK?n1_g#3hD3%+hE#?k29O;|;54DYkjIeEPy&w43a|@7rh?K*Is?Lwuy9lW zr-&kkbZ|<7$b<X^N-Lny2kA=zhbBlA5^hNhl}ILm(qj%o0a987#SO@fF#qN-<e<0} zW^NfnCODlXG30<lCY7OrA(<hSp#bc9m~TPhf=KBgca?xsb`C=tIJJRd#g73L@(SR1 z2l-r`!Ic5zY7iUb0|f?8us=a5Ux6VAoX%4iDjC$lCU}D547&<YxF&=BmJAMYH-=2G zYjqjy7=jrR8Op#e&j-61l)Ew+s-U?J6i0dtAP9<IP#l2L5=;locbF*_<X%Y11f>*E zo-1d7<j@>&js&GMkQzu_VJ{0n`5C5K4_r!dFboc;$6&@F0)=8=T9`qEL5xA1?vT{0 zMo4iXDQ1f?3>1XL1HEXFKhf<HV^CuNrGvqdItShrCJYAPTmcFvP`H5T(fk2QIrPVn zu%{mh@*%oy5~KM8rRFjK=MN!p9vRIapn3+BY6b?Qr&U_>LB2${Ljv4-5J5>J15k>C z7T-4h{|H`wJ4%m+1A2P6`Je0G`TV4el7{~NiIcWWd@}LMgd6=|`Y!fe?&q02W%8s+ zUDXAtN%`mhz4`y~|IPnA-?J+#%S#IL@^bU@b8qCo%=@1EGxtT#qU=A}&vRbp-pc!* z|3CMCK3h>~MP+67cZe>gca7<5(i+odrZJ^AzJrRrY>r!#(3mhYfhn%}B}}X~d`)Cy z<jhE>@LIT7LBN{e#^9O3OaTQ@G3J*kj=pRC8vSPZG5b2EKt-8ehS;vLY_yzd$z&V@ z7Yi_4W6)?Y(|}1M04m1#(r2}LqxwvBCV6M55YtOLxit!n3Nsa$#7v=L%rDKPq}EC{ zO3spGmJ-x~i<(FZt`%q$m@U8}EF!2iDtz-l^UKjN8BGvFH8%(eW6i~*!jLi<Idc;Z z6BbZWz`qVsJ|Zcnp185309Nyn#07=mG0O6CR2)=q54~`hCGcO65mvn-oIff&?89WX z01Lk$_8iPFFe(mec@B<nkbsxOsP3VPIMYjGi8YXV1j+PKQAn*k8V;l3z%rUIhHCjB zqzxT6K*`565S=N&gkkEaSfjvb7>tGisC6-#4#-Of@KFJj{unc;x4o9Xk$)CHGoqyq zE8}p5HEd`VNu4kjF{E-#UlbO1u+9+EOCyOjf{lVR1(}3&;bp6}{2K8_@tNXGlICzR zAI&w2jfyiBnN&QWVvH{nzL{Szdv4xnKEs^R4=T$1ZgqguALoBg=bT?S?RGlp{NHJT z6Q{G2le4pvv+ru?C^qx=2gmoW-P5>d)*j})#~;APyZ?QEx8`Nz%b72k-hBs;oTHDs zkMcnwFghOt3Wd>mxzTiR^FPnO^F^uIWla+%PMSP<(y7UBCq0_<bmHp?m-_$q-<xo1 zBG1%mQzlR8sV&M#Ekex3<yKWylosXZ<rfs>A1nBn|2_X@-iq8md5iP@7yQrvU%*ye zR#8=z3oDo2HNofMnxG{Z)6154=sa9}3$*NGdRZ3%orjC4gNqdgLg(QE3!!4nFH@c1 z^Kee7P*J9rp|E*4lUTS|pb>N)PBRcL=Bu#=G7+cX0vEHFhfc(an?c2xUs_1RC*t6x zJM&9ZDa1q^ymA;7hEGn8h6!lodo)1|l>{Lqj5WoM3PXmvkP|ZDFkyLVA|;5JD1(PA zHO1k>zevsjnGY8i6hg6gRQ%@up%*^01egV}MB}J1Yzz+(rNb;tz!Py;q8=nJFe(n2 zh#LgqV2W50!H*m-)DdTTX(|aCZb6OpQBg>(JQ@z8;lP5F>qgVVkV+52uu2>y-l!^S z0xmsg3NRs=Ix5EWax@G^!{Fxs(J-Ja4B(>zD18s+mnKpIu!%T$3l&zz;VO#|lWvd} zA4nZyG7XVm5$X)YKrO?W0!$(ZF=I*SM4X5|bO4v>rL6*VB2Ef15$CG~orqKQgsNkH znP_gY*1XYtp*e%aPjki~nE1QZ!OnkN{yCp>dEva<`J~H#=LOE3F3!#_F3v7~qf>F9 zNu<#!6i_IPPNj{e14`2Ycq*<qJ-57h;-pEFr%XOI<?ZB`ldnuVHu37j^OGRcaJ_XU zS?R@yX}El(X}D7bZ}VT~U(Y+5`#*1S9#27Gettn=aam<mRX%(gt~mp`9WJ98It|D8 zvUPPrW5SFC##U&l$MmuuJ_%P37b9U3&JMa64rvlD$QW}H&X34RIP=j-IPji7cy$V| zdPjvv!(_NjH6l&rAgAw9VaTus?l6&tEk-~JDwda~(%2{As3#7eR70~DE{-w@XDU4^ z4w{4;YT<y=y8|UFNHmTL!^ZE1ZJ2<jU6AKrky0+wurtE@AoVDdK!_Yasvfpq1m0d5 zD&fZT(o`BW)PfqjOfOBPMnypbXrti(YJiTW2S_VzG#rLhI3VrzK+4B75CsirBL=D= zc8!XGcK~68_Gq|_h6|`|F`5ntrvvz?07`$1`K75e)=4;Un+;dEA|~7r<r6kBL^);% zpM*oGGr=+mX9t^vleUBpC;P!B;ncjKV$3g7ERZMRf}!F}?^cJdacOj!>B2NR<pw@a LadfJM*r^r(Tz`_| literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png new file mode 100644 index 0000000000000000000000000000000000000000..fc428f415ca5017a82c42e568e6d75f17789bd9d GIT binary patch literal 1848 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-;NHQ(!oa{_In5}Zfr0J6r;B4q#jUruyt89c zW!N9wKRG8RD{zAd%UW*HLj4^D&)EfHB98bgbVQ5ml{{@PczCFFf!-Z0uBJzBADX1i zwL}+g+Y)qn#*&jMdF#9Twwg`$tSXvy&gA?Xwr92H{ukYo_6)uBE`4FDe(9tTPrLfm z*GuElXWZ`Hv1I<%i?5dF@1OqF$Ya%{Cx_SUv9~BTtzSO>V(#$}qZ3<WBL2Sk8YA=e zisz-u)W2t@#+*z0rP=$+?8JjB#p~<7o;&o@%2RLup1IyTXT{Chy5f|^U7mR-#UrCV zCiP~SzV6+*BxQ<Y)ybJQ0qUOScmLe(n-u8AzF@UZisIGY_ltQZ39o$p+C$QO@sjy# zOTMp7ooc0Cq}2WR`?@7P?pL<6-9H=u(|T`;*3Jn}ZDv??PriS6_QAMqpFW#Mp8fW3 zYxT#R^y|&#jjExWX5|+r)_?eNGjN;n95%I3tCMAVdkWUgb1E&W_ggwS`{qslGdqgC zXR_%%OPQAc=Ubm1pM%1OdknAdTDz)yZkqE{^YFAyla}(RuQB`jZttU%Nl!NF`1U^D zr;}zZz57J$gHsY!HCj6+9PJ4@cGHJ-`ld<d=j@8MZGPXmZ2DWy>Pp*{-qAbftQLOt z`M<yY?3;U1nI)Q^E_*)Z%jRjl%v<WGB(|A<`&?vv!}tBMm8(-`B>v*<Q)>QyKznIC zZ}8jMPvY(v+`f6{TK$7->UW=eTfOwTb9`CyNrSsFXQQs^r&%|zQd#L|`#Z06mB}2l z=A3ln>t%ZNbKifyTe{)gV*kC@>UV`K4LtRCQ}N67^FMjlo%p#*<)<;f?(>H>GmRrN zLrzS}`*&jf&KvhvdQFNmE82CAd1w8r!o;e3(vk1^UxjS0_y76e^t6NbZ}olnzU|=J znfYGpb3X*#e$YDYpw{}Wyml9jEIt=Ya<DKpo-+f%?UmaqU!VTEX6gKt30q@M_RBxt zJZJaU<@xXAY!l}^<pwEqP!QnA`8m&MANQRqbBh<UN!PzuCCy>~`}s;sVRd6B$GeF| zQp@J-4Yo^ZS$loMSH1g%A1?T=l)AQISGH-6?NjT3!^bqw|NFGH;KM7KH-c-;pLS&3 zsA_4iXy}!**q!jXUQ5n@uQS8vss}brQ>5*aidvQ?wxrI>zERY&IsS0<uG7^^W2BbF zJTrfqY(70bbMh^29o~aR`!(+$j-B^cw7Ske{`-fU&m{CV9RE-Qb1n;0BgoaG)M$VR z4BH^6*nYsuGssjX_U_gx{DL3%EW1-ReRZ2=c(wbD9ji9~Pm+)1O|R8Ef9cBX`%_l8 z35FftaC-B8xpVoaLJv<_oqQuzQ0}>&xn2|VbDq2)z5W9?S-qXt{;~eb$0&30Q2~pf zS>2H*9NvdHPEWl0K|pZZy(!8}(f&JSCd@I&s|&VMvB-)zd@;^c#<ZuPBt^gMwcxh6 l!;x|O8XOb~9zB<De7X43md{+@7#J8BJYD@<);T3K0RRE`o-6<W literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/drop-shadow.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/drop-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..0186c2ee472a79b1076f2ac5f4b639d885b30cf4 GIT binary patch literal 2091 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-;NHQ(!oa{_In5}Zfr0&#r;B4q#jUqD?&gbx ziZFaoj>u`fWagsd%j>l};gZYK)hbep9CkP8tFUl)eLcu7<obcx)bQed+4Fqfch|ms z=Tp6V+o#)~O^m<)`F3uub+P@U$|=1SsRw)SXV(^HIDDD@=HIV_^)n8CtU4AUbFw12 z`^6mj)u&|MEi`Y`-za`T+E6h6*u@!Z9##17u_!iK?-x?SUf21L`^}X%9zE#~PtNF@ zX(5<@^kmQW>P5wW!s2G06q+1aWMgb)dY5J2n%L!O$2Yy`^qJfJ(?a(B(U}o1I*luz zmBh_FEu_Bb$;MU7?nZrUo_ovp$^LUGvd<ph%{cmdqlo+w_riVZcBhQJE0<1HeYW|D zPnu82);lb6r>;qy|L^^-@@)K~_aRR<o{@QdWuv&wod2KF?j1T=vE1xO;`BM^&M40< zd&6q|)_mq#Bl)$r9;l02&X1fNYMsZV{%QWbbJHSM@oszUwe9)tnWl4Z&OWel%{L#r z-C=Xq^WN+9|7^I`C|hmw@v4K)H`&}*OV`;?%WlrzD0O<~#hot~Ys$Q0SKoYi-nr-> zJIr>-%|Cv8W}%g_x_R?l_aY<fx9o*m&3@$G`*QV6g}$+Me=7F}pRzmWvzq%K<<(4+ zOy9=V|NL^)3AcS=(tq^c9o>2+;>4N9x0|nLH{U-lUMRa`I{(s&?V5KscJHrhwdXr( zA73kf<4?}E%{#AezBvEL<{!%cdiL-7m@a2~dUOA$S9cG}-<YSUVE<-*%0uf)@7Fg! z^lz%Jx!?Q#(~H|SyQhWUZf<Xw=eSB~{gbzA(iY!8IqS}8zCTLuo?e`5vwK$fdLFqY zRc#l$VoqI)JeOW!T77G4jeOjZtv0)6rBDC->e7S6Ek7LME3|@YHf>?Qyz`OpxlO@I zuczE?V3w{^-<Z1nhVPfsTS6DVM@{Y6C%)h1OYJPLBcBi1D+q9~?A!I=7}t`JoHY(! zM_~-tkB$5Oge>`yvhqjCx*si@zf8FiCMv+e!qn)XAn>D}O`e}!{IS!W6}<lhvI~`s z#kMo2YZojv`=RpgxEJfWJpQ;G7CVm*kIEi|h{vquwd>VS-pcKl%ezgg(Z1~9HH8mB zTe6$&kA`17*OT<%{NV$^q7|DNe;DM2Jy==a{8+TYOwXL5e&vDFGp{lpFXy-GUjMpb zyHw-$Q%$cAAAHL8V7=&$nhghwD}R>de%Ss)Eie7p&SoyZ_gr)Cam~r*__vSo9Ao2e zah*TQ_B6%Mwq-nT#&TWzLqmVnbm`{B^DN&SytC}bo7E@(6#Q>yPTO$w`HlY#Z`~5A z1tMx9KhD>$$!c27d*EDDK1W2&#|Vj-JAykRxN2r;|B`y(rCg9&{o%*D15Ue@_}kuh ziQG@q<TAS-xy!yHJyX6R`|yEQw+D~)b{GVGs7e0t=fuI+y$-vNIDi5f9B|O^8>L_= zX*48;TSy#WX0p@cUw4%;--Icjhgsi*O}|GZCWqzU1y=FXjo;mQ&V_-p(Nd=L(+&Qo zn)%zB#ig6YPdECrHwVWSY!%#bi*>nIgZ;7ThYwuqJ8;e8pf~S<`C1<?8Em-A@JH*` zZ>c|(5*4cqe{A5MC&g$H*O>me=*}A6f0G`ZJ!28w`1rTbpItgX*2q<?7OcpQZ{C0G zS3$u}L-f+ZGC_RKJy8o=p@MaaKYp`Wu(OCUbC>7LUvKolQQ~VC|Cee5QBAwwzxbcG zGpBE`jt;ZA^PGErRKmlnFV1b}Smw6l?54?cm);c2`+ifEjj55H>5p{M$)8Dim#!{j QU|?YIboFyt=akR{0Q=Gr9RL6T literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/glossy-dark.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/glossy-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3c64c0d41c6a223bca4d0ccd9fff8ab5566e5b6c GIT binary patch literal 2793 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-;NHQ(#=yWZdH$~}3=CWwJY5_^DsH{Kdp|!o zRp!9M!?NW82g;;7n_XnzxJ%?@NAf77I;!L~c(k}o;bz=hU?3o)k|na&i18cqKQ~{F z|A$^z?)H6s>+KZjdwla$=WoeA|FZJZ<}%yAda+_oCwA@3@n-nEKKJ>#xz>MwygU@& z?d`pAr@FuRp~<aBH*DB(<40X$rltM<s$0u;<m{d{&zAf2`T6ZjpFW*>JI*>b+{DG( z#FTma|DQij-shLI<Jl<x{P|)2@9$c7T9+Ssvo<=htjw%t{``BpYIg^I{`vK2>g}yX ze`AvG{=YV#yZqff-tX`3^MC%#f9Te?#j3MrH7<>>uNKL>_s8tcjzZ<kivqeAukh&D z|N7hi;p+A4hqh*CcDH48F8j|||Lf=U4@aM#et2rCwr6)+MkeFEd9%5n>&I}2>&N*- znYeg!f0+IH`r(sRwm$y;?K5Z2R5_aK?!09SgZ=&zO&RMl8y`PEwcMN<o0`h6S=t}| zw4OioP&qlVq{JkXolh?3%`>qF%P$)zJ~+^5U|=v|%fH&+hgPm!8TR0#u==6hfBz=N z?{heHYO2?a6=BhhR~K)+u)RG0#p~DHd-v}3?7FS@_LgXyyIWM_V`1Ti=6V5It#hr* z_kAmSe^2(?o12#z`1p7knV9w&739<?efjcD^`Pl??RGw1US^P>!Pm<^I(gNXm(RSn zZ*MPa`I{RPm#`H%KWLeMu&?p(VdcBk{Kw)ebK^IZU0qzU<E);YNtMN(V7=w+&-5kO zZohq`oc#Ew?Ty`^0{kOb`edxGaQ!i`&**QjnfhmiR_e!<>%wN|)W_5m6d1g@zu!Ld z{oenM7N1YvEX%KrsS8{!%e!@P<<_XgtGrq<+naCy&v^Bv`|E+Atx<pTUVWK4{cCV= zuk!D&M^9hRDzDxB)NEDd&SzgAy*yd<H+9RJdgkKlxcWHV_4CTL0>6ej|NphUVf$Jo z?~m(zV=}L9%6;9VxJzos#XXCoPnpdsFY%6iwbLUIome%~V|nVz=Sr>^M4HmvX-n<8 zw7CSpz`)Sps?U<kZ;~7iC?%koR62R4yZMw{v(GQuHZ7ApI&;tFO8Mu$sxv0~tj+uV zW>xCjPxa4*ZC8g1o%7K0?VEb~&sS*$8iRzT+>N3RNZ^1j&znrPZwyQ{19_h&KDM<J zmIVhFK4OD*!&6;W9cG%jWYpl%5Eu=C(GVEkA&{4uzzQv9HzdQEP!VM6Ln&i510w`j z)1nI4*Lr{pTAw|b&HP0^4rJSI{s=Y}2&gG;NJXlOsK`99UHAvTkoax0-5M<Z3=9km Mp00i_>zopr09803>i_@% literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png new file mode 100644 index 0000000000000000000000000000000000000000..288d43feffd656511f5b1f5189b5b0047dc146ae GIT binary patch literal 3423 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 LS3j3^P6<r_02yfD literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-black.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-black.png new file mode 100644 index 0000000000000000000000000000000000000000..a77e65d8f3fdca14bc002a40a90cf58e8b117784 GIT binary patch literal 3031 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 Cx<teP literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4b8176f57c44f41071c8cff7b86ece9c8c1f9a GIT binary patch literal 2050 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-;NHQ(!oa{_In5}Zfr0&`r;B4q#jUq@Pv^&6 zm1OuZnZ0Kzhob9)k4t7Zxrj|TbC}UJ)!jT-SV+Bb+LqU4?x7x!j+8Mi)r{TF-7?{a zdO&!qYPLZ3k+#^-i|txmO#;=w&Xy*rKmKv-$DB^}Z|`fQUV0Uudw*|d|L5B8eI}EC zt;|_6u|YdG{K&j5=C%{0q<h#GeV><g=j=A7cV4?6pLM%6UC!_KW#vqxMUleI-{m{! z@gMJS>$y|QyqA%02m9l-e^*Yeo58nC{qn*q`@Chk;@B6LYrDPezIZx?Rj-(T>B;@E ze~*jD>wh!9u`lM&pZNU$mM@McXUnfTAzF~XCi&B4{@=4R-q%m*Tc+N0NBq>f)PnLi zt$*Lg$KL6=9{=k6e&HvNKOU4eKWMvf`@g@b^^@OTUVr)gqvq{SH#hUV>rMW8W9!nh zP4QnZ>tF7_l)UgwESr4KS=$@uGhUj%JYIO@dwWP@@0W}!E$%<LzcS~z^tY8T&+%#B zbRhiFM+<%ReAe5M4|aa3k(m~KAWf}eAJc3H1%V3j4L`nw)-?5se8}~iB(<brd04Q+ z)FuD^T}?aKzhBZXC{(KUwf=1HFV}zT?-kGdax?mJ#?%+VznlBbnD>2+%()-1Xua1& z4Yj^~-`=VJ|9ige`&0Yrc7N`#|0i|lOo3+6;)t$E&okD%&iPeZW!ZOor^W7T{lym_ zKYdYY=C($2TG*+b5&qU)UC%H1U)pG~`PJiyFI9R~_ZQC5jw|R}prRMOrT=@a*Vc!^ zg1u*UWQJJpn96r#^-RIlPNhs=E={c1YMd1MLOjnwL4bpWsqui-hF#BhOuFa6{nF`e zt!M0+utPChW9}Bt@zh^-`Q?$=_deIUCr>p9))m*Zu+Fq<$=kXo=z?GB^dqO87A~p{ zji_`f*zrF%w<cKpWqINA@*m&Q`9L9*f1s>>rJ2}krM<hpNzeBSTen+4a%J)F;7564 z7Sf%oc60f;*qvb3UmDEl*Sdx2+ol6Q8LCweww`$H{GddwLanIS@q^KaeGJ|6+joY0 z6>j*j)V$pKhK9lIGa;LOH~##P#A<f>?2Ts5ZNWl&oViXgpI^`FT@!diCQ(YZVXO16 z>#vm#JU;y3;lJ{&g=_Uztv9+pMQN+^EAFWb{Zm<|7DK&0#HiPe>lxgc<5u_Hy2{vi zz>sM_g!Pzf+vbDc3@Y}Tbv19jZO`?gBJxA%13y;r?8RlJ4iD5GoqG_J%g}zH_`q6* z?8kBqXLCOMWSD*6QbH{=U*q%r_7S%m925jBv_3Eyh*{5k(0PTCsSzA9>)7Y9^hsNA zgA&Qb2JyxNOb<d{r8OC^l;$e1Zk`U(#i7GCZ`b|<ok<T^z=_G>!8exbn+f^pjj%9| zW<R(5GT1n##sgmuutF0ZZ}ar`?gduDHj|e@EQ8v~)OcVm`+5e5SYG;usl59H61YL> z6lw+~)Sbu$^6so~o4`i(@!mMi#QvY*1~aNS(|+?E3@i|_J<A_tLfj430un5cIZz1^ zI`Ed;ENSCx&Us#U1Eiqx2ev+tfrJM{4Jdr&9xOFsh8VbG?m<7Z8?a!`6Ua$x64&0q z36X^RHP5y}2+G+Z2aW}(>0oLa)9srH(op$|^bbx}jA;5n&O~zrR5@`}xe<n?FeA&A zUdS(k#1Tvg#yfDad9Kcfqy|~I&rxl&2r5{`VZn;St;Z$yu;7q-&s@NUY80H;XKBHX zLl?|h;4p)^b-T!%c<wUegTX7Kg<>SwqGvvMT4HtJ+S&wt?ma>Y>s5Y4SsC;Ar8ll$ zE`F)R^TYSU4;p<w^nOWdV9#q3-dLf+{m1!NrIpYr7tIf^qCULT`OyDT{N>9{54=+k znztX6Uy{D*fIaIE9}U)nn-5%Kf9jz2BaOB1^VFhJ-H4KHl0F+MA0!;JGn$d`pPw;v WbKz8uXFLoH3=E#GelF{r5}E*674XLZ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif new file mode 100644 index 0000000000000000000000000000000000000000..9100de776d506f8b9f061d475beed274b550aa29 GIT binary patch literal 70 zcmZ?wbhEHb<YwSzn8*ME|NsBrv1Q@^|Nj+#vM@3*Ff!<XL_zWlOyWKLP1?Jz$(87{ US$*CZ_WgCig6l150SpY*00mJOV*mgE literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/scrollarrows.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/scrollarrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d55756dc7339e1a04ec07be5068d4a12ef27e2 GIT binary patch literal 6463 zcmeAS@N?(olHy`uVBq!ia0y~yVDJWE4mJh`1`EHcR}2gcoCO|{#S9GG!XV7ZFl&wk z0|S?Trn7TEKt_H^esM;Afr6*AvqC{pep+TuDg#5st+~PJA;B-jY`@?8;^f`YFvUAR zNR&e%$f>(QWTKjuBBy{?hvLGUqJakmU0qqEPb}zQ?(1vl5e?Mg>EgP<{zP$6U-ROQ zu2a7sRxi%Jw&(k^v;VeUw|l<k^W4qn*$;5=O!F`fG;QEn=_Dukp!xWbV-KI`IW%&q z6fg*IY)(-u{;SN$@T1PgMqB9s`#uK7ip$&_3<rE?A25(<|Ih!*X=V&#Lkr`9l8F}H z91S824pn_l%NQKo7#rr!Pzz>Qz`~GlIyvbvLx3(rf_nY4%M1;3f6T0AWQd-kD9X5C zB7=f(YKIF$hBd>Q^I=`C3=swlB5B@7EE#U-G8lM<r+F}J*v@d^oB;PG1`ZwugTRhf zO$L@~hJ+K!$`uSPGZ{qOK84$S)Ltj>T#JFBV&*2Bohp{DjnN#sh3w(sdU6`)JjJy| z%o3RrXF2E{s+=il)M�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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomin.cur b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomin.cur new file mode 100644 index 0000000000000000000000000000000000000000..cb7912438f010fb05b72f31563d88e24b6639dbd GIT binary patch literal 326 zcmZQzU}9ioP*7lEU}s=wFkob05My9q&|qL-P+(wSaA06yU}Ruq00SrmW+M^*|Nlqg zk-{usU|{HAU|{56U|<qpVBk?;VE*91z$eqdAaSgLK~RZ-!PuCAL4^~7L2Qti#4!d2 zJ{blE<_`$F{*wjz|NsBb{{R0!_W%F?@c;kAApidZgZ=*p4E6sHD%Af!Ch`A&3rGF` a4i*Rou|Z-775@K!!1(|F2WGG~u+0Dh*K;KR literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur new file mode 100644 index 0000000000000000000000000000000000000000..acf61999635514eac804c124d24b447a33bbfae9 GIT binary patch literal 326 zcmZQzU}9ioP*7lEU}s=wFkob05My9q&|qL-P+(wSaA06yU}Ruq00SrmW+M^*|Nlqg zk-{usU|{HAU|{56U|<qpVBk?;VE*91z$eqdAi>taAi%`HVE&tdL4^~7L2Qti1RDbb zp9}*7^9O`o|H%UV|NsAI|Ns9V`~Uxc`2YW5kpKUI!T$dPhWh^pAJqRp{^S4u28R0o b9V`$GVuQpEKKTFt0ptJwADF?~z%~N_P}g=P literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js new file mode 100644 index 000000000..7f58786ae --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js @@ -0,0 +1,3320 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if (!hs) { var hs = { +// Language strings +lang : { + cssDirection: 'ltr', + loadingText : 'Loading...', + loadingTitle : 'Click to cancel', + focusTitle : 'Click to bring to front', + fullExpandTitle : 'Expand to actual size (f)', + creditsText : 'Powered by <i>Highslide JS</i>', + creditsTitle : 'Go to the Highslide JS homepage', + previousText : 'Previous', + nextText : 'Next', + moveText : 'Move', + closeText : 'Close', + closeTitle : 'Close (esc)', + resizeTitle : 'Resize', + playText : 'Play', + playTitle : 'Play slideshow (spacebar)', + pauseText : 'Pause', + pauseTitle : 'Pause slideshow (spacebar)', + previousTitle : 'Previous (arrow left)', + nextTitle : 'Next (arrow right)', + moveTitle : 'Move', + fullExpandText : '1:1', + number: 'Image %1 of %2', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 10001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a', 'area'], // Add more to allow slideshow indexing +transitions : [], +transitionDuration: 250, +dimmingOpacity: 0, // Lightbox style dimming background +dimmingDuration: 50, // 0 for instant dimming + +allowWidthReduction : false, +allowHeightReduction : true, +preserveContent : true, // Preserve changes made to the content and position of HTML popups. +objectLoadTime : 'before', // Load iframes 'before' or 'after' expansion. +cacheAjax : true, // Cache ajax popups for instant display. Can be overridden for each popup. +anchor : 'auto', // where the image expands from +align : 'auto', // position in the client (overrides anchor) +targetX: null, // the id of a target element +targetY: null, +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +skin : { + controls: + '<div class="highslide-controls"><ul>'+ + '<li class="highslide-previous">'+ + '<a href="#" title="{hs.lang.previousTitle}">'+ + '<span>{hs.lang.previousText}</span></a>'+ + '</li>'+ + '<li class="highslide-play">'+ + '<a href="#" title="{hs.lang.playTitle}">'+ + '<span>{hs.lang.playText}</span></a>'+ + '</li>'+ + '<li class="highslide-pause">'+ + '<a href="#" title="{hs.lang.pauseTitle}">'+ + '<span>{hs.lang.pauseText}</span></a>'+ + '</li>'+ + '<li class="highslide-next">'+ + '<a href="#" title="{hs.lang.nextTitle}">'+ + '<span>{hs.lang.nextText}</span></a>'+ + '</li>'+ + '<li class="highslide-move">'+ + '<a href="#" title="{hs.lang.moveTitle}">'+ + '<span>{hs.lang.moveText}</span></a>'+ + '</li>'+ + '<li class="highslide-full-expand">'+ + '<a href="#" title="{hs.lang.fullExpandTitle}">'+ + '<span>{hs.lang.fullExpandText}</span></a>'+ + '</li>'+ + '<li class="highslide-close">'+ + '<a href="#" title="{hs.lang.closeTitle}" >'+ + '<span>{hs.lang.closeText}</span></a>'+ + '</li>'+ + '</ul></div>' + , + contentWrapper: + '<div class="highslide-header"><ul>'+ + '<li class="highslide-previous">'+ + '<a href="#" title="{hs.lang.previousTitle}" onclick="return hs.previous(this)">'+ + '<span>{hs.lang.previousText}</span></a>'+ + '</li>'+ + '<li class="highslide-next">'+ + '<a href="#" title="{hs.lang.nextTitle}" onclick="return hs.next(this)">'+ + '<span>{hs.lang.nextText}</span></a>'+ + '</li>'+ + '<li class="highslide-move">'+ + '<a href="#" title="{hs.lang.moveTitle}" onclick="return false">'+ + '<span>{hs.lang.moveText}</span></a>'+ + '</li>'+ + '<li class="highslide-close">'+ + '<a href="#" title="{hs.lang.closeTitle}" onclick="return hs.close(this)">'+ + '<span>{hs.lang.closeText}</span></a>'+ + '</li>'+ + '</ul></div>'+ + '<div class="highslide-body"></div>'+ + '<div class="highslide-footer"><div>'+ + '<span class="highslide-resize" title="{hs.lang.resizeTitle}"><span></span></span>'+ + '</div></div>' +}, +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'anchor', + 'align', + 'targetX', + 'targetY', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + 'autoplay', + 'numberPosition', + 'transitions', + 'dimmingOpacity', + + 'width', + 'height', + + 'contentId', + 'allowWidthReduction', + 'allowHeightReduction', + 'preserveContent', + 'maincontentId', + 'maincontentText', + 'maincontentEval', + 'objectType', + 'cacheAjax', + 'objectWidth', + 'objectHeight', + 'objectLoadTime', + 'swfOptions', + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +swfOptions: { flashvars: {}, params: {}, attributes: {} }, +timers : [], + +slideshows : [], + +pendingOutlines : {}, +sleeping : [], +preloadTheseAjax : [], +cacheBindings : [], +cachedGets : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + if (/area/i.test(el.tagName)) { + var imgs = document.getElementsByTagName('img'); + for (var i = 0; i < imgs.length; i++) { + var u = imgs[i].useMap; + if (u && u.replace(/^.*?#/, '') == el.parentNode.name) { + el = imgs[i]; + break; + } + } + } + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + if (type == 'html') { + for (var i = 0; i < hs.sleeping.length; i++) { + if (hs.sleeping[i] && hs.sleeping[i].a == a) { + hs.sleeping[i].awake(); + hs.sleeping[i] = null; + return false; + } + } + hs.hasHtmlExpanders = true; + } + try { + new hs.Expander(a, params, custom, type); + return false; + } catch (e) { return true; } +}, + +htmlExpand : function(a, params, custom) { + return hs.expand(a, params, custom, 'html'); +}, + +getSelfRendered : function() { + return hs.createElement('div', { + className: 'highslide-html-content', + innerHTML: hs.replaceLang(hs.skin.contentWrapper) + }); +}, +getElementByClass : function (el, tagName, className) { + var els = el.getElementsByTagName(tagName); + for (var i = 0; i < els.length; i++) { + if ((new RegExp(className)).test(els[i].className)) { + return els[i]; + } + } + return null; +}, +replaceLang : function(s) { + s = s.replace(/\s/g, ' '); + var re = /{hs\.lang\.([^}]+)\}/g, + matches = s.match(re), + lang; + if (matches) for (var i = 0; i < matches.length; i++) { + lang = matches[i].replace(re, "$1"); + if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]); + } + return s; +}, + + +setClickEvents : function () { + var els = document.getElementsByTagName('a'); + for (var i = 0; i < els.length; i++) { + var type = hs.isUnobtrusiveAnchor(els[i]); + if (type && !els[i].hsHasSetClick) { + (function(){ + var t = type; + if (hs.fireEvent(hs, 'onSetClickEvent', { element: els[i], type: t })) { + els[i].onclick =(type == 'image') ?function() { return hs.expand(this) }: + function() { return hs.htmlExpand(this, { objectType: t } );}; + } + })(); + els[i].hsHasSetClick = true; + } + } + hs.getAnchors(); +}, +isUnobtrusiveAnchor: function(el) { + if (el.rel == 'highslide') return 'image'; + else if (el.rel == 'highslide-ajax') return 'ajax'; + else if (el.rel == 'highslide-iframe') return 'iframe'; + else if (el.rel == 'highslide-swf') return 'swf'; +}, + +getCacheBinding : function (a) { + for (var i = 0; i < hs.cacheBindings.length; i++) { + if (hs.cacheBindings[i][0] == a) { + var c = hs.cacheBindings[i][1]; + hs.cacheBindings[i][1] = c.cloneNode(1); + return c; + } + } + return null; +}, + +preloadAjax : function (e) { + var arr = hs.getAnchors(); + for (var i = 0; i < arr.htmls.length; i++) { + var a = arr.htmls[i]; + if (hs.getParam(a, 'objectType') == 'ajax' && hs.getParam(a, 'cacheAjax')) + hs.push(hs.preloadTheseAjax, a); + } + + hs.preloadAjaxElement(0); +}, + +preloadAjaxElement : function (i) { + if (!hs.preloadTheseAjax[i]) return; + var a = hs.preloadTheseAjax[i]; + var cache = hs.getNode(hs.getParam(a, 'contentId')); + if (!cache) cache = hs.getSelfRendered(); + var ajax = new hs.Ajax(a, cache, 1); + ajax.onError = function () { }; + ajax.onLoad = function () { + hs.push(hs.cacheBindings, [a, cache]); + hs.preloadAjaxElement(i + 1); + }; + ajax.run(); +}, + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +dim : function(exp) { + if (!hs.dimmer) { + isNew = true; + hs.dimmer = hs.createElement ('div', { + className: 'highslide-dimming highslide-viewport-size', + owner: '', + onclick: function() { + if (hs.fireEvent(hs, 'onDimmerClick')) + + hs.close(); + } + }, { + visibility: 'visible', + opacity: 0 + }, hs.container, true); + + if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) { + var body = document.body; + function pixDimmerSize() { + hs.setStyles(hs.dimmer, { + width: body.scrollWidth +'px', + height: body.scrollHeight +'px' + }); + } + pixDimmerSize(); + hs.addEventListener(window, 'resize', pixDimmerSize); + } + } + hs.dimmer.style.display = ''; + + var isNew = hs.dimmer.owner == ''; + hs.dimmer.owner += '|'+ exp.key; + + if (isNew) { + if (hs.geckoMac && hs.dimmingGeckoFix) + hs.setStyles(hs.dimmer, { + background: 'url('+ hs.graphicsDir + 'geckodimmer.png)', + opacity: 1 + }); + else + hs.animate(hs.dimmer, { opacity: exp.dimmingOpacity }, hs.dimmingDuration); + } +}, +undim : function(key) { + if (!hs.dimmer) return; + if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|'+ key, ''); + + if ( + (typeof key != 'undefined' && hs.dimmer.owner != '') + || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity')) + ) return; + + if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none'; + else hs.animate(hs.dimmer, { opacity: 0 }, hs.dimmingDuration, null, function() { + hs.dimmer.style.display = 'none'; + }); +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + if (!adj || exp.transitions[1] != 'crossfade') + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + if (!hs.fireEvent(hs, 'onKeyDown', e)) return true; + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + op = 2; + break; + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {if (op != 2)hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else if (op == 2) { + if (exp.slideshow) exp.slideshow.hitSpace(); + } else { + if (exp.slideshow) exp.slideshow.pause(); + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +addSlideshow : function (options) { + var sg = options.slideshowGroup; + if (typeof sg == 'object') { + for (var i = 0; i < sg.length; i++) { + var o = {}; + for (var x in options) o[x] = options[x]; + o.slideshowGroup = sg[i]; + hs.push(hs.slideshows, o); + } + } else { + hs.push(hs.slideshows, options); + } +}, + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.hsKey !== undefined) return el.hsKey; + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, +fireEvent : function (obj, evt, args) { + return obj && obj[evt] ? (obj[evt](obj, args) !== false) : true; +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + else if (/highslide-html/.test(el.className) && hs.focusKey != exp.key) { + exp.focus(); + exp.doShowHide('hidden'); + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + if (hs.fireEvent(exp, 'onImageClick')) + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + + if (hs.dragArgs.exp.releaseMask) + hs.dragArgs.exp.releaseMask.style.display = 'none'; + + if (hasDragged) hs.fireEvent(hs.dragArgs.exp, 'onDrop', hs.dragArgs); + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + if (exp.iframe) { + if (!exp.releaseMask) exp.releaseMask = hs.createElement('div', null, + { position: 'absolute', width: exp.x.size+'px', height: exp.y.size+'px', + left: exp.x.cb+'px', top: exp.y.cb+'px', zIndex: 4, background: (hs.ieLt9 ? 'white' : 'none'), + opacity: 0.01 }, + exp.wrapper, true); + if (exp.releaseMask.style.display == 'none') + exp.releaseMask.style.display = ''; + } + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + if (!hs.fireEvent(exp, 'onDrag', a)) return false; + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + hs.fireEvent(exp, over ? 'onMouseOver' : 'onMouseOut', e); + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + hs.ie6SSL = hs.ieLt7 && location.protocol == 'https:'; + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + hs.viewport = hs.createElement('div', { + className: 'highslide-viewport highslide-viewport-size' + }, { + visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden' + }, hs.container, 1 + ); + hs.clearing = hs.createElement('div', null, + { clear: 'both', paddingTop: '1px' }, null, true); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + Math.easeOutQuad = function (t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + hs.fireEvent(this, 'onActivate'); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [], htmls = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + else if (re[0] == 'hs.htmlExpand') hs.push(htmls, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images, htmls: htmls }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'loadingPosXfade': + return this.pos + this.cb+ this.p1 + (this.size - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + // get alignment + if (exp.align == 'center') this.justify = 'center'; + else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null; + else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.target = exp['target'+ this.dim.toUpperCase()]; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (exp.releaseMask) exp.releaseMask.style[this.wh] = i +'px'; + if (this.dim == 'y' && exp.iDoc && exp.body.style.height != 'auto') try { + exp.iDoc.body.style.overflow = 'auto'; + } catch (e) {} + if (exp.isHtml) { + var d = exp.scrollerDiv; + if (this.sizeDiff === undefined) + this.sizeDiff = exp.innerContent['offset'+ this.ucwh] - d['offset'+ this.ucwh]; + d.style[this.wh] = (this.size - this.sizeDiff) +'px'; + + if (this.dim == 'x') exp.mediumContent.style.width = 'auto'; + if (exp.body) exp.body.style[this.wh] = 'auto'; + } + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); + if (this.dim == 'x' && exp.slideshow && exp.isImage) { + if (i == this.full) exp.slideshow.disable('full-expand'); + else exp.slideshow.enable('full-expand'); + } +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isHtml = (contentType == 'html'); + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + this.last = hs.last; + hs.last = null; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + if (!hs.fireEvent(this, 'onInit')) return true; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a + && !(this.last && this.transitions[1] == 'crossfade')) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + if (/area/i.test(el.tagName)) this.getImageMapAreaCorrection(el); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType + || (this.last && this.isImage && this.transitions[1] == 'crossfade')) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + + + if (!hs.fireEvent(this, 'onShowLoading')) return; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + if (!tgt && this.last && this.transitions[1] == 'crossfade') + var tgt = this.last; + if (tgt) { + l = tgt.x.get('loadingPosXfade') +'px'; + t = tgt.y.get('loadingPosXfade') +'px'; + this.loading.style.zIndex = hs.zIndexCounter++; + } + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +htmlCreate : function () { + if (!hs.fireEvent(this, 'onBeforeGetContent')) return; + + this.content = hs.getCacheBinding(this.a); + if (!this.content) + this.content = hs.getNode(this.contentId); + if (!this.content) + this.content = hs.getSelfRendered(); + this.getInline(['maincontent']); + if (this.maincontent) { + var body = hs.getElementByClass(this.content, 'div', 'highslide-body'); + if (body) body.appendChild(this.maincontent); + this.maincontent.style.display = 'block'; + } + hs.fireEvent(this, 'onAfterGetContent'); + + var innerContent = this.innerContent = this.content; + + if (/(swf|iframe)/.test(this.objectType)) this.setObjContainerSize(innerContent); + + // the content tree + hs.container.appendChild(this.wrapper); + hs.setStyles( this.wrapper, { + position: 'static', + padding: '0 '+ hs.marginRight +'px 0 '+ hs.marginLeft +'px' + }); + this.content = hs.createElement( + 'div', { + className: 'highslide-html' + }, { + position: 'relative', + zIndex: 3, + height: 0, + overflow: 'hidden' + }, + this.wrapper + ); + this.mediumContent = hs.createElement('div', null, null, this.content, 1); + this.mediumContent.appendChild(innerContent); + + hs.setStyles (innerContent, { + position: 'relative', + display: 'block', + direction: hs.lang.cssDirection || '' + }); + if (this.width) innerContent.style.width = this.width +'px'; + if (this.height) hs.setStyles(innerContent, { + height: this.height +'px', + overflow: 'hidden' + }); + if (innerContent.offsetWidth < this.minWidth) + innerContent.style.width = this.minWidth +'px'; + + + + if (this.objectType == 'ajax' && !hs.getCacheBinding(this.a)) { + this.showLoading(); + var exp = this; + var ajax = new hs.Ajax(this.a, innerContent); + ajax.src = this.src; + ajax.onLoad = function () { if (hs.expanders[exp.key]) exp.contentLoaded(); }; + ajax.onError = function () { location.href = exp.src; }; + ajax.run(); + } + else + + if (this.objectType == 'iframe' && this.objectLoadTime == 'before') { + this.writeExtendedContent(); + } + else + this.contentLoaded(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + hs.fireEvent(this, 'onHideLoading'); + } + if (this.isImage) { + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + } else if (this.htmlGetSize) this.htmlGetSize(); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + + + this.initSlideshow(); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.isHtml) this.htmlSizeOperations(); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + if (this.isImage) + this.correctRatio(ratio); + else this.fitOverlayBox(); + var ss = this.slideshow; + if (ss && this.last && ss.controls && ss.fixedControls) { + var pos = ss.overlayOptions.position || '', p; + for (var dim in hs.oPos) for (var i = 0; i < 5; i++) { + p = this[dim]; + if (pos.match(hs.oPos[dim][i])) { + p.pos = this.last[dim].pos + + (this.last[dim].p1 - p.p1) + + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i]; + if (ss.fixedControls == 'fit') { + if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax) + p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2; + if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin; + } + } + } + } + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + + +setObjContainerSize : function(parent, auto) { + var c = hs.getElementByClass(parent, 'DIV', 'highslide-body'); + if (/(iframe|swf)/.test(this.objectType)) { + if (this.objectWidth) c.style.width = this.objectWidth +'px'; + if (this.objectHeight) c.style.height = this.objectHeight +'px'; + } +}, + +writeExtendedContent : function () { + if (this.hasExtendedContent) return; + var exp = this; + this.body = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (this.objectType == 'iframe') { + this.showLoading(); + var ruler = hs.clearing.cloneNode(1); + this.body.appendChild(ruler); + this.newWidth = this.innerContent.offsetWidth; + if (!this.objectWidth) this.objectWidth = ruler.offsetWidth; + var hDiff = this.innerContent.offsetHeight - this.body.offsetHeight, + h = this.objectHeight || hs.page.height - hDiff - hs.marginTop - hs.marginBottom, + onload = this.objectLoadTime == 'before' ? + ' onload="if (hs.expanders['+ this.key +']) hs.expanders['+ this.key +'].contentLoaded()" ' : ''; + this.body.innerHTML += '<iframe name="hs'+ (new Date()).getTime() +'" frameborder="0" key="'+ this.key +'" ' + +' style="width:'+ this.objectWidth +'px; height:'+ h +'px" ' + + onload +' src="'+ this.src +'" ></iframe>'; + this.ruler = this.body.getElementsByTagName('div')[0]; + this.iframe = this.body.getElementsByTagName('iframe')[0]; + + if (this.objectLoadTime == 'after') this.correctIframeSize(); + + } + if (this.objectType == 'swf') { + this.body.id = this.body.id || 'hs-flash-id-' + this.key; + var a = this.swfOptions; + if (!a.params) a.params = {}; + if (typeof a.params.wmode == 'undefined') a.params.wmode = 'transparent'; + if (swfobject) swfobject.embedSWF(this.src, this.body.id, this.objectWidth, this.objectHeight, + a.version || '7', a.expressInstallSwfurl, a.flashvars, a.params, a.attributes); + } + this.hasExtendedContent = true; +}, +htmlGetSize : function() { + if (this.iframe && !this.objectHeight) { // loadtime before + this.iframe.style.height = this.body.style.height = this.getIframePageHeight() +'px'; + } + this.innerContent.appendChild(hs.clearing); + if (!this.x.full) this.x.full = this.innerContent.offsetWidth; + this.y.full = this.innerContent.offsetHeight; + this.innerContent.removeChild(hs.clearing); + if (hs.ie && this.newHeight > parseInt(this.innerContent.currentStyle.height)) { // ie css bug + this.newHeight = parseInt(this.innerContent.currentStyle.height); + } + hs.setStyles( this.wrapper, { position: 'absolute', padding: '0'}); + hs.setStyles( this.content, { width: this.x.t +'px', height: this.y.t +'px'}); + +}, + +getIframePageHeight : function() { + var h; + try { + var doc = this.iDoc = this.iframe.contentDocument || this.iframe.contentWindow.document; + var clearing = doc.createElement('div'); + clearing.style.clear = 'both'; + doc.body.appendChild(clearing); + h = clearing.offsetTop; + if (hs.ie) h += parseInt(doc.body.currentStyle.marginTop) + + parseInt(doc.body.currentStyle.marginBottom) - 1; + } catch (e) { // other domain + h = 300; + } + return h; +}, +correctIframeSize : function () { + var wDiff = this.innerContent.offsetWidth - this.ruler.offsetWidth; + hs.discardElement(this.ruler); + if (wDiff < 0) wDiff = 0; + + var hDiff = this.innerContent.offsetHeight - this.iframe.offsetHeight; + if (this.iDoc && !this.objectHeight && !this.height && this.y.size == this.y.full) try { + this.iDoc.body.style.overflow = 'hidden'; + } catch (e) {} + hs.setStyles(this.iframe, { + width: Math.abs(this.x.size - wDiff) +'px', + height: Math.abs(this.y.size - hDiff) +'px' + }); + hs.setStyles(this.body, { + width: this.iframe.style.width, + height: this.iframe.style.height + }); + + this.scrollingContent = this.iframe; + this.scrollerDiv = this.scrollingContent; + +}, +htmlSizeOperations : function () { + + this.setObjContainerSize(this.innerContent); + + + if (this.objectType == 'swf' && this.objectLoadTime == 'before') this.writeExtendedContent(); + + // handle minimum size + if (this.x.size < this.x.full && !this.allowWidthReduction) this.x.size = this.x.full; + if (this.y.size < this.y.full && !this.allowHeightReduction) this.y.size = this.y.full; + this.scrollerDiv = this.innerContent; + hs.setStyles(this.mediumContent, { + position: 'relative', + width: this.x.size +'px' + }); + hs.setStyles(this.innerContent, { + border: 'none', + width: 'auto', + height: 'auto' + }); + var node = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (node && !/(iframe|swf)/.test(this.objectType)) { + var cNode = node; // wrap to get true size + node = hs.createElement(cNode.nodeName, null, {overflow: 'hidden'}, null, true); + cNode.parentNode.insertBefore(node, cNode); + node.appendChild(hs.clearing); // IE6 + node.appendChild(cNode); + + var wDiff = this.innerContent.offsetWidth - node.offsetWidth; + var hDiff = this.innerContent.offsetHeight - node.offsetHeight; + node.removeChild(hs.clearing); + + var kdeBugCorr = hs.safari || navigator.vendor == 'KDE' ? 1 : 0; // KDE repainting bug + hs.setStyles(node, { + width: (this.x.size - wDiff - kdeBugCorr) +'px', + height: (this.y.size - hDiff) +'px', + overflow: 'auto', + position: 'relative' + } + ); + if (kdeBugCorr && cNode.offsetHeight > node.offsetHeight) { + node.style.width = (parseInt(node.style.width) + kdeBugCorr) + 'px'; + } + this.scrollingContent = node; + this.scrollerDiv = this.scrollingContent; + } + if (this.iframe && this.objectLoadTime == 'before') this.correctIframeSize(); + if (!this.scrollingContent && this.y.size < this.mediumContent.offsetHeight) this.scrollerDiv = this.content; + + if (this.scrollerDiv == this.content && !this.allowWidthReduction && !/(iframe|swf)/.test(this.objectType)) { + this.x.size += 17; // room for scrollbars + } + if (this.scrollerDiv && this.scrollerDiv.offsetHeight > this.scrollerDiv.parentNode.offsetHeight) { + setTimeout("try { hs.expanders["+ this.key +"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}", + hs.expandDuration); + } +}, + +getImageMapAreaCorrection : function(area) { + var c = area.coords.split(','); + for (var i = 0; i < c.length; i++) c[i] = parseInt(c[i]); + + if (area.shape.toLowerCase() == 'circle') { + this.x.tpos += c[0] - c[2]; + this.y.tpos += c[1] - c[2]; + this.x.t = this.y.t = 2 * c[2]; + } else { + var maxX, maxY, minX = maxX = c[0], minY = maxY = c[1]; + for (var i = 0; i < c.length; i++) { + if (i % 2 == 0) { + minX = Math.min(minX, c[i]); + maxX = Math.max(maxX, c[i]); + } else { + minY = Math.min(minY, c[i]); + maxY = Math.max(maxY, c[i]); + } + } + this.x.tpos += minX; + this.x.t = maxX - minX; + this.y.tpos += minY; + this.y.t = maxY - minY; + } +}, +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + if (tgt && tgt.match(/ /)) { + tgtArr = tgt.split(' '); + tgt = tgtArr[0]; + } + if (tgt && hs.$(tgt)) { + p.pos = hs.getPosition(hs.$(tgt))[dim]; + if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/)) + p.pos += parseInt(tgtArr[1]); + if (p.size < p.minSize) p.size = p.minSize; + + } else if (p.justify == 'auto' || p.justify == 'center') { + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + if (p.justify == 'center') + p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2); + else + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + } else if (p.justify == 'max') { + p.pos = Math.floor(p.pos - p.size + p.t); + } + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox && (this.isImage || this.allowHeightReduction)) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +reflow : function () { + if (this.scrollerDiv) { + var h = /iframe/i.test(this.scrollerDiv.tagName) ? (this.getIframePageHeight() + 1) +'px' : 'auto'; + if (this.body) this.body.style.height = h; + this.scrollerDiv.style.height = h; + this.y.setSize(this.innerContent.offsetHeight); + } +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + hs.fireEvent(this, 'onBeforeExpand'); + if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb(); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + // transition + var trans = this.transitions, + other = up ? (this.last ? this.last.a : null) : hs.upcoming, + t = (trans[1] && other + && hs.getParam(other, 'transitions')[1] == trans[1]) ? + trans[1] : trans[0]; + + if (this[t] && t != 'expand') { + this[t](up, to); + return; + } + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy( + (this.isHtml && this.preserveContent)); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (up && this.isHtml) { + hs.setStyles(this.wrapper, { + left: (x.tpos - x.cb + x.tb) +'px', + top: (y.tpos - y.cb + y.tb) +'px' + }); + } + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + if (exp.isHtml) { + if (args.prop == 'left') + exp.mediumContent.style.left = (x.pos - val) +'px'; + if (args.prop == 'top') + exp.mediumContent.style.top = (y.pos - val) +'px'; + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + if (this.isHtml) this.innerContent.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + +fade : function(up, to) { + this.outlineWhileAnimating = false; + var exp = this, t = up ? hs.expandDuration : 0; + + if (up) { + hs.animate(this.wrapper, to.wrapper, 0); + hs.setStyles(this.wrapper, { opacity: 0, visibility: 'visible' }); + hs.animate(this.content, to.content, 0); + this.content.style.visibility = 'visible'; + + hs.animate(this.wrapper, { opacity: 1 }, t, null, + function() { exp.afterExpand(); }); + } + + if (this.outline) { + this.outline.table.style.zIndex = this.wrapper.style.zIndex; + var dir = up || -1, + offset = this.outline.offset, + startOff = up ? 3 : offset, + endOff = up? offset : 3; + for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) { + (function() { + var o = up ? endOff - i : startOff - i; + setTimeout(function() { + exp.outline.setPosition(0, o, 1); + }, t); + })(); + } + } + + + if (up) {}//setTimeout(function() { exp.afterExpand(); }, t+50); + else { + setTimeout( function() { + if (exp.outline) exp.outline.destroy(exp.preserveContent); + + exp.destroyOverlays(); + + hs.animate( exp.wrapper, { opacity: 0 }, hs.restoreDuration, null, function(){ + exp.afterClose(); + }); + }, t); + } +}, +crossfade : function (up, to, from) { + if (!up) return; + var exp = this, + last = this.last, + x = this.x, + y = this.y, + lastX = last.x, + lastY = last.y, + wrapper = this.wrapper, + content = this.content, + overlayBox = this.overlayBox; + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + hs.setStyles(content, { + width: (x.imgSize || x.size) +'px', + height: (y.imgSize || y.size) +'px' + }); + if (overlayBox) overlayBox.style.overflow = 'visible'; + this.outline = last.outline; + if (this.outline) this.outline.exp = exp; + last.outline = null; + var fadeBox = hs.createElement('div', { + className: 'highslide-'+ this.contentType + }, { + position: 'absolute', + zIndex: 4, + overflow: 'hidden', + display: 'none' + } + ); + var names = { oldImg: last, newImg: this }; + for (var n in names) { + this[n] = names[n].content.cloneNode(1); + hs.setStyles(this[n], { + position: 'absolute', + border: 0, + visibility: 'visible' + }); + fadeBox.appendChild(this[n]); + } + wrapper.appendChild(fadeBox); + if (this.isHtml) hs.setStyles(this.mediumContent, { + left: 0, + top: 0 + }); + if (overlayBox) { + overlayBox.className = ''; + wrapper.appendChild(overlayBox); + } + fadeBox.style.display = ''; + last.content.style.display = 'none'; + + + if (hs.safari && hs.uaVersion < 525) { + this.wrapper.style.visibility = 'visible'; + } + hs.animate(wrapper, { + width: x.size + }, { + duration: hs.transitionDuration, + step: function(val, args) { + var pos = args.pos, + invPos = 1 - pos; + var prop, + size = {}, + props = ['pos', 'size', 'p1', 'p2']; + for (var n in props) { + prop = props[n]; + size['x'+ prop] = Math.round(invPos * lastX[prop] + pos * x[prop]); + size['y'+ prop] = Math.round(invPos * lastY[prop] + pos * y[prop]); + size.ximgSize = Math.round( + invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size)); + size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad')); + size.yimgSize = Math.round( + invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size)); + size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad')); + } + if (exp.outline) exp.outline.setPosition({ + x: size.xpos, + y: size.ypos, + w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb, + h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb + }); + last.wrapper.style.clip = 'rect(' + + (size.ypos - lastY.pos)+'px, ' + + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) +'px, ' + + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) +'px, ' + + (size.xpos - lastX.pos)+'px)'; + + hs.setStyles(content, { + top: (size.yp1 + y.get('imgPad')) +'px', + left: (size.xp1 + x.get('imgPad')) +'px', + marginTop: (y.pos - size.ypos) +'px', + marginLeft: (x.pos - size.xpos) +'px' + }); + hs.setStyles(wrapper, { + top: size.ypos +'px', + left: size.xpos +'px', + width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb)+ 'px', + height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px' + }); + hs.setStyles(fadeBox, { + width: (size.ximgSize || size.xsize) + 'px', + height: (size.yimgSize || size.ysize) +'px', + left: (size.xp1 + size.ximgPad) +'px', + top: (size.yp1 + size.yimgPad) +'px', + visibility: 'visible' + }); + + hs.setStyles(exp.oldImg, { + top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad)+'px', + left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad)+'px' + }); + + hs.setStyles(exp.newImg, { + opacity: pos, + top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) +'px', + left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) +'px' + }); + if (overlayBox) hs.setStyles(overlayBox, { + width: size.xsize + 'px', + height: size.ysize +'px', + left: (size.xp1 + x.cb) +'px', + top: (size.yp1 + y.cb) +'px' + }); + }, + complete: function () { + wrapper.style.visibility = content.style.visibility = 'visible'; + content.style.display = 'block'; + hs.discardElement(fadeBox); + exp.afterExpand(); + last.afterClose(); + exp.last = null; + } + + }); +}, +reuseOverlay : function(o, el) { + if (!this.last) return false; + for (var i = 0; i < this.last.overlays.length; i++) { + var oDiv = hs.$('hsId'+ this.last.overlays[i]); + if (oDiv && oDiv.hsId == o.hsId) { + this.genOverlayBox(); + oDiv.reuse = this.key; + hs.push(this.overlays, this.last.overlays[i]); + return true; + } + } + return false; +}, + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + + if (this.isHtml && this.objectLoadTime == 'after') this.writeExtendedContent(); + if (this.iframe) { + try { + var exp = this, + doc = this.iframe.contentDocument || this.iframe.contentWindow.document; + hs.addEventListener(doc, 'mousedown', function () { + if (hs.focusKey != exp.key) exp.focus(); + }); + } catch(e) {} + if (hs.ie && typeof this.isClosing != 'boolean') // first open + this.iframe.style.width = (this.objectWidth - 1) +'px'; // hasLayout + } + if (this.dimmingOpacity) hs.dim(this); + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + hs.fireEvent(this, 'onAfterExpand'); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) { + if (op == 1) return as[0]; + else if (op == -1) return as[as.length-1]; + } + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +getNumber : function() { + if (this[this.numberPosition]) { + var arr = hs.anchors.groups[this.slideshowGroup || 'none']; + if (arr) { + var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length); + this[this.numberPosition].innerHTML = + '<div class="highslide-number">'+ s +'</div>'+ this[this.numberPosition].innerHTML; + } + } +}, +initSlideshow : function() { + if (!this.last) { + for (var i = 0; i < hs.slideshows.length; i++) { + var ss = hs.slideshows[i], sg = ss.slideshowGroup; + if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup) + this.slideshow = new hs.Slideshow(this.key, ss); + } + } else { + this.slideshow = this.last.slideshow; + } + var ss = this.slideshow; + if (!ss) return; + var key = ss.expKey = this.key; + + ss.checkFirstAndLast(); + ss.disable('full-expand'); + if (ss.controls) { + this.createOverlay(hs.extend(ss.overlayOptions || {}, { + overlayId: ss.controls, + hsId: 'controls', + zIndex: 5 + })); + } + if (ss.thumbstrip) ss.thumbstrip.add(this); + if (!this.last && this.autoplay) ss.play(true); + if (ss.autoplay) { + ss.autoplay = setTimeout(function() { + hs.next(key); + }, (ss.interval || 500)); + } +}, + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (hs.upcoming == this.a) hs.upcoming = null; + hs.undim(this.key); + if (this.loading) hs.loading.style.left = '-9999px'; + hs.fireEvent(this, 'onHideLoading'); +}, + +writeCredits : function () { + if (this.credits) return; + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left', + hsId: 'credits' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (type == 'caption' && !hs.fireEvent(this, 'onBeforeGetCaption')) return; + else if (type == 'heading' && !hs.fireEvent(this, 'onBeforeGetHeading')) return; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + if (!this[type] && !s && this.numberPosition == type) s = '\n'; + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + if (!this.dimmingOpacity) { // hide all if dimming + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + } + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + if (blurExp.isImage) { + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + hs.fireEvent(blurExp, 'onBlur'); + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + if (this.isImage) { + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + } + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + hs.fireEvent(this, 'onFocus'); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = this.isHtml ? e.height + e.dY : w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + if (this.transitions[1] == 'crossfade' && hs.upcoming) { + hs.getExpander(hs.upcoming).cancelLoading(); + hs.upcoming = null; + } + if (!hs.fireEvent(this, 'onBeforeClose')) return; + this.isClosing = true; + if (this.slideshow && !hs.upcoming) this.slideshow.pause(); + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + if (this.isHtml) this.htmlPrepareClose(); + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +htmlPrepareClose : function() { + if (hs.geckoMac) { // bad redraws + if (!hs.mask) hs.mask = hs.createElement('div', null, + { position: 'absolute' }, hs.container); + hs.setStyles(hs.mask, { width: this.x.size +'px', height: this.y.size +'px', + left: this.x.pos +'px', top: this.y.pos +'px', display: 'block' }); + } + if (this.objectType == 'swf') try { hs.$(this.body.id).StopPlay(); } catch (e) {} + + if (this.objectLoadTime == 'after' && !this.preserveContent) this.destroyObject(); + if (this.scrollerDiv && this.scrollerDiv != this.scrollingContent) + this.scrollerDiv.style.overflow = 'hidden'; +}, + +destroyObject : function () { + if (hs.ie && this.iframe) + try { this.iframe.contentWindow.document.body.innerHTML = ''; } catch (e) {} + if (this.objectType == 'swf') swfobject.removeSWF(this.body.id); + this.body.innerHTML = ''; +}, + +sleep : function() { + if (this.outline) this.outline.table.style.display = 'none'; + this.releaseMask = null; + this.wrapper.style.display = 'none'; + this.isExpanded = false; + hs.push(hs.sleeping, this); +}, + +awake : function() {try { + + hs.expanders[this.key] = this; + + if (!hs.allowMultipleInstances &&hs.focusKey != this.key) { + try { hs.expanders[hs.focusKey].close(); } catch (e){} + } + + var z = hs.zIndexCounter++, stl = { display: '', zIndex: z }; + hs.setStyles (this.wrapper, stl); + this.isClosing = false; + + var o = this.outline || 0; + if (o) { + if (!this.outlineWhileAnimating) stl.visibility = 'hidden'; + hs.setStyles (o.table, stl); + } + if (this.slideshow) { + this.initSlideshow(); + } + + this.show(); +} catch (e) {} + + +}, + +createOverlay : function (o) { + var el = o.overlayId, + relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position)); + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + if (!hs.fireEvent(this, 'onCreateOverlay', { overlay: el })) return; + el.style.display = 'block'; + o.hsId = o.hsId || o.overlayId; + if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + }, + relToVP ? hs.viewport :this.overlayBox, + true + ); + if (relToVP) overlay.hsKey = this.key; + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + relToVP = (overlay.relativeTo == 'viewport'), + offX = overlay.offsetX, + offY = overlay.offsetY; + if (relToVP) { + hs.viewport.style.display = 'block'; + overlay.hsKey = this.key; + if (overlay.offsetWidth > overlay.parentNode.offsetWidth) + overlay.style.width = '100%'; + } else + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + var parOff = overlay.parentNode.offsetHeight; + overlay.style.height = 'auto'; + if (relToVP && overlay.offsetHeight > parOff) + overlay.style.height = hs.ieLt7 ? parOff +'px' : '100%'; + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + this.getNumber(); + if (this.caption) hs.fireEvent(this, 'onAfterGetCaption'); + if (this.heading) hs.fireEvent(this, 'onAfterGetHeading'); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + if (this.isImage || (this.isHtml && o.useOnHtml)) + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + if (this.slideshow) { + var c = this.slideshow.controls; + if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c); + } + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o); + } + if (this.isHtml && this.preserveContent) { + this.overlayBox.style.top = '-9999px'; + hs.container.appendChild(this.overlayBox); + } else + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + if (this.slideshow && this.slideshow.controls) { + this.slideshow.enable('full-expand'); + return; + } + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + if (!hs.fireEvent(this, 'onCreateFullExpand')) return; + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (!hs.fireEvent(this, 'onDoFullExpand')) return; + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + + if (this.isHtml && this.preserveContent + && this.transitions[1] != 'crossfade') { + this.sleep(); + } else { + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + } + if (hs.mask) hs.mask.style.display = 'none'; + this.destroyOverlays(); + if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none'; + + if (this.dimmingOpacity) hs.undim(this.key); + hs.fireEvent(this, 'onAfterClose'); + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; + + +// hs.Ajax object prototype +hs.Ajax = function (a, content, pre) { + this.a = a; + this.content = content; + this.pre = pre; +}; + +hs.Ajax.prototype = { +run : function () { + var xhr; + if (!this.src) this.src = hs.getSrc(this.a); + if (this.src.match('#')) { + var arr = this.src.split('#'); + this.src = arr[0]; + this.id = arr[1]; + } + if (hs.cachedGets[this.src]) { + this.cachedGet = hs.cachedGets[this.src]; + if (this.id) this.getElementContent(); + else this.loadHTML(); + return; + } + try { xhr = new XMLHttpRequest(); } + catch (e) { + try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } + catch (e) { + try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } + catch (e) { this.onError(); } + } + } + var pThis = this; + xhr.onreadystatechange = function() { + if(pThis.xhr.readyState == 4) { + if (pThis.id) pThis.getElementContent(); + else pThis.loadHTML(); + } + }; + var src = this.src; + this.xhr = xhr; + if (hs.forceAjaxReload) + src = src.replace(/$/, (/\?/.test(src) ? '&' : '?') +'dummy='+ (new Date()).getTime()); + xhr.open('GET', src, true); + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.send(null); +}, + +getElementContent : function() { + hs.init(); + var attribs = window.opera || hs.ie6SSL ? { src: 'about:blank' } : null; + + this.iframe = hs.createElement('iframe', attribs, + { position: 'absolute', top: '-9999px' }, hs.container); + + this.loadHTML(); +}, + +loadHTML : function() { + var s = this.cachedGet || this.xhr.responseText, + regBody; + if (this.pre) hs.cachedGets[this.src] = s; + if (!hs.ie || hs.uaVersion >= 5.5) { + s = s.replace(new RegExp('<link[^>]*>', 'gi'), '') + .replace(new RegExp('<script[^>]*>.*?</script>', 'gi'), ''); + if (this.iframe) { + var doc = this.iframe.contentDocument; + if (!doc && this.iframe.contentWindow) doc = this.iframe.contentWindow.document; + if (!doc) { // Opera + var pThis = this; + setTimeout(function() { pThis.loadHTML(); }, 25); + return; + } + doc.open(); + doc.write(s); + doc.close(); + try { s = doc.getElementById(this.id).innerHTML; } catch (e) { + try { s = this.iframe.document.getElementById(this.id).innerHTML; } catch (e) {} // opera + } + hs.discardElement(this.iframe); + } else { + regBody = /(<body[^>]*>|<\/body>)/ig; + if (regBody.test(s)) s = s.split(regBody)[hs.ieLt9 ? 1 : 2]; + + } + } + hs.getElementByClass(this.content, 'DIV', 'highslide-body').innerHTML = s; + this.onLoad(); + for (var x in this) this[x] = null; +} +}; + + +hs.Slideshow = function (expKey, options) { + if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors(); + this.expKey = expKey; + for (var x in options) this[x] = options[x]; + if (this.useControls) this.getControls(); + if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this); +}; +hs.Slideshow.prototype = { +getControls: function() { + this.controls = hs.createElement('div', { innerHTML: hs.replaceLang(hs.skin.controls) }, + null, hs.container); + + var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close']; + this.btn = {}; + var pThis = this; + for (var i = 0; i < buttons.length; i++) { + this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-'+ buttons[i]); + this.enable(buttons[i]); + } + this.btn.pause.style.display = 'none'; + //this.disable('full-expand'); +}, +checkFirstAndLast: function() { + if (this.repeat || !this.controls) return; + var exp = hs.expanders[this.expKey], + cur = exp.getAnchorIndex(), + re = /disabled$/; + if (cur == 0) + this.disable('previous'); + else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className)) + this.enable('previous'); + if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) { + this.disable('next'); + this.disable('play'); + } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) { + this.enable('next'); + this.enable('play'); + } +}, +enable: function(btn) { + if (!this.btn) return; + var sls = this, a = this.btn[btn].getElementsByTagName('a')[0], re = /disabled$/; + a.onclick = function() { + sls[btn](); + return false; + }; + if (re.test(a.className)) a.className = a.className.replace(re, ''); +}, +disable: function(btn) { + if (!this.btn) return; + var a = this.btn[btn].getElementsByTagName('a')[0]; + a.onclick = function() { return false; }; + if (!/disabled$/.test(a.className)) a.className += ' disabled'; +}, +hitSpace: function() { + if (this.autoplay) this.pause(); + else this.play(); +}, +play: function(wait) { + if (this.btn) { + this.btn.play.style.display = 'none'; + this.btn.pause.style.display = ''; + } + + this.autoplay = true; + if (!wait) hs.next(this.expKey); +}, +pause: function() { + if (this.btn) { + this.btn.pause.style.display = 'none'; + this.btn.play.style.display = ''; + } + + clearTimeout(this.autoplay); + this.autoplay = null; +}, +previous: function() { + this.pause(); + hs.previous(this.btn.previous); +}, +next: function() { + this.pause(); + hs.next(this.btn.next); +}, +move: function() {}, +'full-expand': function() { + hs.getExpander().doFullExpand(); +}, +close: function() { + hs.close(this.btn.close); +} +}; +hs.Thumbstrip = function(slideshow) { + function add (exp) { + hs.extend(options || {}, { + overlayId: dom, + hsId: 'thumbstrip', + className: 'highslide-thumbstrip-'+ mode +'-overlay ' + (options.className || '') + }); + if (hs.ieLt7) options.fade = 0; + exp.createOverlay(options); + hs.setStyles(dom.parentNode, { overflow: 'hidden' }); + }; + + function scroll (delta) { + selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7)); + }; + + function selectThumb (i, scrollBy) { + if (i === undefined) for (var j = 0; j < group.length; j++) { + if (group[j] == hs.expanders[slideshow.expKey].a) { + i = j; + break; + } + } + if (i === undefined) return; + var as = dom.getElementsByTagName('a'), + active = as[i], + cell = active.parentNode, + left = isX ? 'Left' : 'Top', + right = isX ? 'Right' : 'Bottom', + width = isX ? 'Width' : 'Height', + offsetLeft = 'offset' + left, + offsetWidth = 'offset' + width, + overlayWidth = div.parentNode.parentNode[offsetWidth], + minTblPos = overlayWidth - table[offsetWidth], + curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0, + tblPos = curTblPos, + mgnRight = 20; + if (scrollBy !== undefined) { + tblPos = curTblPos - scrollBy; + + if (minTblPos > 0) minTblPos = 0; + if (tblPos > 0) tblPos = 0; + if (tblPos < minTblPos) tblPos = minTblPos; + + + } else { + for (var j = 0; j < as.length; j++) as[j].className = ''; + active.className = 'highslide-active-anchor'; + var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft], + activeRight = cell[offsetLeft] + cell[offsetWidth] + + (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0); + if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight; + else if (activeLeft < -curTblPos) tblPos = -activeLeft; + } + var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos; + hs.animate(table, isX ? { left: tblPos } : { top: tblPos }, null, 'easeOutQuad'); + hs.animate(marker, isX ? { left: markerPos } : { top: markerPos }, null, 'easeOutQuad'); + scrollUp.style.display = tblPos < 0 ? 'block' : 'none'; + scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none'; + + }; + + + // initialize + var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'], + options = slideshow.thumbstrip, + mode = options.mode || 'horizontal', + floatMode = (mode == 'float'), + tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'], + isX = (mode == 'horizontal'), + dom = hs.createElement('div', { + className: 'highslide-thumbstrip highslide-thumbstrip-'+ mode, + innerHTML: + '<div class="highslide-thumbstrip-inner">'+ + '<'+ tree[0] +'><'+ tree[1] +'></'+ tree[1] +'></'+ tree[0] +'></div>'+ + '<div class="highslide-scroll-up"><div></div></div>'+ + '<div class="highslide-scroll-down"><div></div></div>'+ + '<div class="highslide-marker"><div></div></div>' + }, { + display: 'none' + }, hs.container), + domCh = dom.childNodes, + div = domCh[0], + scrollUp = domCh[1], + scrollDown = domCh[2], + marker = domCh[3], + table = div.firstChild, + tbody = dom.getElementsByTagName(tree[1])[0], + tr; + for (var i = 0; i < group.length; i++) { + if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody); + (function(){ + var a = group[i], + cell = hs.createElement(tree[3], null, null, tr), + pI = i; + hs.createElement('a', { + href: a.href, + title: a.title, + onclick: function() { + if (/highslide-active-anchor/.test(this.className)) return false; + hs.getExpander(this).focus(); + return hs.transit(a); + }, + innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML + }, null, cell); + })(); + } + if (!floatMode) { + scrollUp.onclick = function () { scroll(-1); }; + scrollDown.onclick = function() { scroll(1); }; + hs.addEventListener(tbody, document.onmousewheel !== undefined ? + 'mousewheel' : 'DOMMouseScroll', function(e) { + var delta = 0; + e = e || window.event; + if (e.wheelDelta) { + delta = e.wheelDelta/120; + if (hs.opera) delta = -delta; + } else if (e.detail) { + delta = -e.detail/3; + } + if (delta) scroll(-delta * 0.2); + if (e.preventDefault) e.preventDefault(); + e.returnValue = false; + }); + } + + return { + add: add, + selectThumb: selectThumb + } +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor || hs.dimmingOpacity) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + addRule ('.highslide-viewport-size', + hs.ie && (hs.uaVersion < 7 || backCompat) ? + 'position: absolute; '+ + 'left:'+ fix('scrollLeft') + + 'top:'+ fix('scrollTop') + + 'width:'+ fix('clientWidth') + + 'height:'+ fix('clientHeight') : + 'position: fixed; width: 100%; height: 100%; left: 0; top: 0'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); + if (hs.viewport) for (var i = 0; i < hs.viewport.childNodes.length; i++) { + var node = hs.viewport.childNodes[i], + exp = hs.getExpander(node); + exp.positionOverlay(node); + if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb(); + } +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); +hs.addEventListener(document, 'ready', hs.setClickEvents); +hs.addEventListener(window, 'load', hs.preloadImages); +hs.addEventListener(window, 'load', hs.preloadAjax); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js new file mode 100644 index 000000000..8674ad9b2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by <i>Highslide JS</i>",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",number:"Image %1 of %2",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:10001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a","area"],transitions:[],transitionDuration:250,dimmingOpacity:0,dimmingDuration:50,allowWidthReduction:false,allowHeightReduction:true,preserveContent:true,objectLoadTime:"before",cacheAjax:true,anchor:"auto",align:"auto",targetX:null,targetY:null,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{controls:'<div class="highslide-controls"><ul><li class="highslide-previous"><a href="#" title="{hs.lang.previousTitle}"><span>{hs.lang.previousText}</span></a></li><li class="highslide-play"><a href="#" title="{hs.lang.playTitle}"><span>{hs.lang.playText}</span></a></li><li class="highslide-pause"><a href="#" title="{hs.lang.pauseTitle}"><span>{hs.lang.pauseText}</span></a></li><li class="highslide-next"><a href="#" title="{hs.lang.nextTitle}"><span>{hs.lang.nextText}</span></a></li><li class="highslide-move"><a href="#" title="{hs.lang.moveTitle}"><span>{hs.lang.moveText}</span></a></li><li class="highslide-full-expand"><a href="#" title="{hs.lang.fullExpandTitle}"><span>{hs.lang.fullExpandText}</span></a></li><li class="highslide-close"><a href="#" title="{hs.lang.closeTitle}" ><span>{hs.lang.closeText}</span></a></li></ul></div>',contentWrapper:'<div class="highslide-header"><ul><li class="highslide-previous"><a href="#" title="{hs.lang.previousTitle}" onclick="return hs.previous(this)"><span>{hs.lang.previousText}</span></a></li><li class="highslide-next"><a href="#" title="{hs.lang.nextTitle}" onclick="return hs.next(this)"><span>{hs.lang.nextText}</span></a></li><li class="highslide-move"><a href="#" title="{hs.lang.moveTitle}" onclick="return false"><span>{hs.lang.moveText}</span></a></li><li class="highslide-close"><a href="#" title="{hs.lang.closeTitle}" onclick="return hs.close(this)"><span>{hs.lang.closeText}</span></a></li></ul></div><div class="highslide-body"></div><div class="highslide-footer"><div><span class="highslide-resize" title="{hs.lang.resizeTitle}"><span></span></span></div></div>'},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","anchor","align","targetX","targetY","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","autoplay","numberPosition","transitions","dimmingOpacity","width","height","contentId","allowWidthReduction","allowHeightReduction","preserveContent","maincontentId","maincontentText","maincontentEval","objectType","cacheAjax","objectWidth","objectHeight","objectLoadTime","swfOptions","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},swfOptions:{flashvars:{},params:{},attributes:{}},timers:[],slideshows:[],pendingOutlines:{},sleeping:[],preloadTheseAjax:[],cacheBindings:[],cachedGets:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(c){if(/area/i.test(c.tagName)){var e=document.getElementsByTagName("img");for(var b=0;b<e.length;b++){var a=e[b].useMap;if(a&&a.replace(/^.*?#/,"")==c.parentNode.name){c=e[b];break}}}var d={x:c.offsetLeft,y:c.offsetTop};while(c.offsetParent){c=c.offsetParent;d.x+=c.offsetLeft;d.y+=c.offsetTop;if(c!=document.body&&c!=document.documentElement){d.x-=c.scrollLeft;d.y-=c.scrollTop}}return d},expand:function(b,h,f,d){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return h}if(d=="html"){for(var c=0;c<hs.sleeping.length;c++){if(hs.sleeping[c]&&hs.sleeping[c].a==b){hs.sleeping[c].awake();hs.sleeping[c]=null;return false}}hs.hasHtmlExpanders=true}try{new hs.Expander(b,h,f,d);return false}catch(g){return true}},htmlExpand:function(b,d,c){return hs.expand(b,d,c,"html")},getSelfRendered:function(){return hs.createElement("div",{className:"highslide-html-content",innerHTML:hs.replaceLang(hs.skin.contentWrapper)})},getElementByClass:function(e,c,d){var b=e.getElementsByTagName(c);for(var a=0;a<b.length;a++){if((new RegExp(d)).test(b[a].className)){return b[a]}}return null},replaceLang:function(c){c=c.replace(/\s/g," ");var b=/{hs\.lang\.([^}]+)\}/g,d=c.match(b),e;if(d){for(var a=0;a<d.length;a++){e=d[a].replace(b,"$1");if(typeof hs.lang[e]!="undefined"){c=c.replace(d[a],hs.lang[e])}}}return c},setClickEvents:function(){var b=document.getElementsByTagName("a");for(var a=0;a<b.length;a++){var c=hs.isUnobtrusiveAnchor(b[a]);if(c&&!b[a].hsHasSetClick){(function(){var d=c;if(hs.fireEvent(hs,"onSetClickEvent",{element:b[a],type:d})){b[a].onclick=(c=="image")?function(){return hs.expand(this)}:function(){return hs.htmlExpand(this,{objectType:d})}}})();b[a].hsHasSetClick=true}}hs.getAnchors()},isUnobtrusiveAnchor:function(a){if(a.rel=="highslide"){return"image"}else{if(a.rel=="highslide-ajax"){return"ajax"}else{if(a.rel=="highslide-iframe"){return"iframe"}else{if(a.rel=="highslide-swf"){return"swf"}}}}},getCacheBinding:function(b){for(var d=0;d<hs.cacheBindings.length;d++){if(hs.cacheBindings[d][0]==b){var e=hs.cacheBindings[d][1];hs.cacheBindings[d][1]=e.cloneNode(1);return e}}return null},preloadAjax:function(f){var b=hs.getAnchors();for(var d=0;d<b.htmls.length;d++){var c=b.htmls[d];if(hs.getParam(c,"objectType")=="ajax"&&hs.getParam(c,"cacheAjax")){hs.push(hs.preloadTheseAjax,c)}}hs.preloadAjaxElement(0)},preloadAjaxElement:function(d){if(!hs.preloadTheseAjax[d]){return}var b=hs.preloadTheseAjax[d];var c=hs.getNode(hs.getParam(b,"contentId"));if(!c){c=hs.getSelfRendered()}var e=new hs.Ajax(b,c,1);e.onError=function(){};e.onLoad=function(){hs.push(hs.cacheBindings,[b,c]);hs.preloadAjaxElement(d+1)};e.run()},focusTopmost:function(){var c=0,b=-1,a=hs.expanders,e,f;for(var d=0;d<a.length;d++){e=a[d];if(e){f=e.wrapper.style.zIndex;if(f&&f>c){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},dim:function(d){if(!hs.dimmer){a=true;hs.dimmer=hs.createElement("div",{className:"highslide-dimming highslide-viewport-size",owner:"",onclick:function(){if(hs.fireEvent(hs,"onDimmerClick")){hs.close()}}},{visibility:"visible",opacity:0},hs.container,true);if(/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)){var b=document.body;function c(){hs.setStyles(hs.dimmer,{width:b.scrollWidth+"px",height:b.scrollHeight+"px"})}c();hs.addEventListener(window,"resize",c)}}hs.dimmer.style.display="";var a=hs.dimmer.owner=="";hs.dimmer.owner+="|"+d.key;if(a){if(hs.geckoMac&&hs.dimmingGeckoFix){hs.setStyles(hs.dimmer,{background:"url("+hs.graphicsDir+"geckodimmer.png)",opacity:1})}else{hs.animate(hs.dimmer,{opacity:d.dimmingOpacity},hs.dimmingDuration)}}},undim:function(a){if(!hs.dimmer){return}if(typeof a!="undefined"){hs.dimmer.owner=hs.dimmer.owner.replace("|"+a,"")}if((typeof a!="undefined"&&hs.dimmer.owner!="")||(hs.upcoming&&hs.getParam(hs.upcoming,"dimmingOpacity"))){return}if(hs.geckoMac&&hs.dimmingGeckoFix){hs.dimmer.style.display="none"}else{hs.animate(hs.dimmer,{opacity:0},hs.dimmingDuration,null,function(){hs.dimmer.style.display="none"})}},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{if(!a||d.transitions[1]!="crossfade"){d.close()}}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}if(!hs.fireEvent(hs,"onKeyDown",a)){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:c=2;break;case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){if(c!=2){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)}if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{if(c==2){if(b.slideshow){b.slideshow.hitSpace()}}else{if(b.slideshow){b.slideshow.pause()}hs.previousOrNext(b.key,c)}}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},addSlideshow:function(b){var d=b.slideshowGroup;if(typeof d=="object"){for(var c=0;c<d.length;c++){var e={};for(var a in b){e[a]=b[a]}e.slideshowGroup=d[c];hs.push(hs.slideshows,e)}}else{hs.push(hs.slideshows,b)}},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.hsKey!==undefined){return e.hsKey}if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a<hs.expanders.length;a++){var f=hs.expanders[a];if(f&&f.a==e){return a}}}e=e.parentNode}}return null},getExpander:function(b,a){if(typeof b=="undefined"){return hs.expanders[hs.focusKey]||null}if(typeof b=="number"){return hs.expanders[b]||null}if(typeof b=="string"){b=hs.$(b)}return hs.expanders[hs.getWrapperKey(b,a)]||null},isHsAnchor:function(b){return(b.onclick&&b.onclick.toString().replace(/\s/g," ").match(/hs.(htmlE|e)xpand/))},reOrder:function(){for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&hs.expanders[a].isExpanded){hs.focusTopmost()}}},fireEvent:function(c,a,b){return c&&c[a]?(c[a](c,b)!==false):true},mouseClickHandler:function(d){if(!d){d=window.event}if(d.button>1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}else{if(/highslide-html/.test(b.className)&&hs.focusKey!=f.key){f.focus();f.doShowHide("hidden")}}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){if(hs.fireEvent(f,"onImageClick")){f.close()}}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}if(hs.dragArgs.exp.releaseMask){hs.dragArgs.exp.releaseMask.style.display="none"}if(c){hs.fireEvent(hs.dragArgs.exp,"onDrop",hs.dragArgs)}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;if(d.iframe){if(!d.releaseMask){d.releaseMask=hs.createElement("div",null,{position:"absolute",width:d.x.size+"px",height:d.y.size+"px",left:d.x.cb+"px",top:d.y.cb+"px",zIndex:4,background:(hs.ieLt9?"white":"none"),opacity:0.01},d.wrapper,true)}if(d.releaseMask.style.display=="none"){d.releaseMask.style.display=""}}b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(!hs.fireEvent(d,"onDrag",b)){return false}if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}hs.fireEvent(d,b?"onMouseOver":"onMouseOut",c);for(var a=0;a<d.overlays.length;a++){(function(){var e=hs.$("hsId"+d.overlays[a]);if(e&&e.hideOnMouseOut){if(b){hs.setStyles(e,{visibility:"visible",display:""})}hs.animate(e,{opacity:b?e.opacity:0},e.dur)}})()}}catch(c){}},addEventListener:function(a,c,b){if(a==document&&c=="ready"){hs.push(hs.onReady,b)}try{a.addEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b);a.attachEvent("on"+c,b)}catch(d){a["on"+c]=b}}},removeEventListener:function(a,c,b){try{a.removeEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b)}catch(d){a["on"+c]=null}}},preloadFullImage:function(b){if(hs.continuePreloading&&hs.preloadTheseImages[b]&&hs.preloadTheseImages[b]!="undefined"){var a=document.createElement("img");a.onload=function(){a=null;hs.preloadFullImage(b+1)};a.src=hs.preloadTheseImages[b]}},preloadImages:function(c){if(c&&typeof c!="object"){hs.numberOfImagesToPreload=c}var a=hs.getAnchors();for(var b=0;b<a.images.length&&b<hs.numberOfImagesToPreload;b++){hs.push(hs.preloadTheseImages,hs.getSrc(a.images[b]))}if(hs.outlineType){new hs.Outline(hs.outlineType,function(){hs.preloadFullImage(0)})}else{hs.preloadFullImage(0)}if(hs.restoreCursor){var d=hs.createElement("img",{src:hs.graphicsDir+hs.restoreCursor})}},init:function(){if(!hs.container){hs.ieLt7=hs.ie&&hs.uaVersion<7;hs.ieLt9=hs.ie&&hs.uaVersion<9;hs.getPageSize();hs.ie6SSL=hs.ieLt7&&location.protocol=="https:";for(var a in hs.langDefaults){if(typeof hs[a]!="undefined"){hs.lang[a]=hs[a]}else{if(typeof hs.lang[a]=="undefined"&&typeof hs.langDefaults[a]!="undefined"){hs.lang[a]=hs.langDefaults[a]}}}hs.container=hs.createElement("div",{className:"highslide-container"},{position:"absolute",left:0,top:0,width:"100%",zIndex:hs.zIndexCounter,direction:"ltr"},document.body,true);hs.loading=hs.createElement("a",{className:"highslide-loading",title:hs.lang.loadingTitle,innerHTML:hs.lang.loadingText,href:"javascript:;"},{position:"absolute",top:"-9999px",opacity:hs.loadingOpacity,zIndex:1},hs.container);hs.garbageBin=hs.createElement("div",null,{display:"none"},hs.container);hs.viewport=hs.createElement("div",{className:"highslide-viewport highslide-viewport-size"},{visibility:(hs.safari&&hs.uaVersion<525)?"visible":"hidden"},hs.container,1);hs.clearing=hs.createElement("div",null,{clear:"both",paddingTop:"1px"},null,true);Math.linearTween=function(f,e,h,g){return h*f/g+e};Math.easeInQuad=function(f,e,h,g){return h*(f/=g)*f+e};Math.easeOutQuad=function(f,e,h,g){return -h*(f/=g)*(f-2)+e};hs.hideSelects=hs.ieLt7;hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=="KDE"||(hs.ieLt7&&hs.uaVersion<5.5));hs.fireEvent(this,"onActivate")}},ready:function(){if(hs.isReady){return}hs.isReady=true;for(var a=0;a<hs.onReady.length;a++){hs.onReady[a]()}},updateAnchors:function(){var a,d,l=[],h=[],k=[],b={},m;for(var e=0;e<hs.openerTagNames.length;e++){d=document.getElementsByTagName(hs.openerTagNames[e]);for(var c=0;c<d.length;c++){a=d[c];m=hs.isHsAnchor(a);if(m){hs.push(l,a);if(m[0]=="hs.expand"){hs.push(h,a)}else{if(m[0]=="hs.htmlExpand"){hs.push(k,a)}}var f=hs.getParam(a,"slideshowGroup")||"none";if(!b[f]){b[f]=[]}hs.push(b[f],a)}}}hs.anchors={all:l,groups:b,images:h,htmls:k};return hs.anchors},getAnchors:function(){return hs.anchors||hs.updateAnchors()},close:function(a){var b=hs.getExpander(a);if(b){b.close()}return false}};hs.fx=function(b,a,c){this.options=a;this.elem=b;this.prop=c;if(!a.orig){a.orig={}}};hs.fx.prototype={update:function(){(hs.fx.step[this.prop]||hs.fx.step._default)(this);if(this.options.step){this.options.step.call(this.elem,this.now,this)}},custom:function(e,d,c){this.startTime=(new Date()).getTime();this.start=e;this.end=d;this.unit=c;this.now=this.start;this.pos=this.state=0;var a=this;function b(f){return a.step(f)}b.elem=this.elem;if(b()&&hs.timers.push(b)==1){hs.timerId=setInterval(function(){var g=hs.timers;for(var f=0;f<g.length;f++){if(!g[f]()){g.splice(f--,1)}}if(!g.length){clearInterval(hs.timerId)}},13)}},step:function(d){var c=(new Date()).getTime();if(d||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"loadingPosXfade":return this.pos+this.cb+this.p1+(this.size-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";if(a.align=="center"){this.justify="center"}else{if(new RegExp(this.lt).test(a.anchor)){this.justify=null}else{if(new RegExp(this.rb).test(a.anchor)){this.justify="max"}}}this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.target=a["target"+this.dim.toUpperCase()];this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var f=this.exp;if(f.isImage&&(f.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);f.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}f.content.style[this.wh]=a+"px";f.wrapper.style[this.wh]=this.get("wsize")+"px";if(f.outline){f.outline.setPosition()}if(f.releaseMask){f.releaseMask.style[this.wh]=a+"px"}if(this.dim=="y"&&f.iDoc&&f.body.style.height!="auto"){try{f.iDoc.body.style.overflow="auto"}catch(b){}}if(f.isHtml){var c=f.scrollerDiv;if(this.sizeDiff===undefined){this.sizeDiff=f.innerContent["offset"+this.ucwh]-c["offset"+this.ucwh]}c.style[this.wh]=(this.size-this.sizeDiff)+"px";if(this.dim=="x"){f.mediumContent.style.width="auto"}if(f.body){f.body.style[this.wh]="auto"}}if(this.dim=="x"&&f.overlayBox){f.sizeOverlayBox(true)}if(this.dim=="x"&&f.slideshow&&f.isImage){if(a==this.full){f.slideshow.disable("full-expand")}else{f.slideshow.enable("full-expand")}}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isHtml=(l=="html");this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];this.last=hs.last;hs.last=null;hs.init();var m=this.key=hs.expanders.length;for(var g=0;g<hs.overrides.length;g++){var c=hs.overrides[g];this[c]=f&&typeof f[c]!="undefined"?f[c]:hs[c]}if(!this.src){this.src=k.href}var d=(f&&f.thumbnailId)?hs.$(f.thumbnailId):k;d=this.thumb=d.getElementsByTagName("img")[0]||d;this.thumbsUserSetId=d.id||k.id;if(!hs.fireEvent(this,"onInit")){return true}for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].a==k&&!(this.last&&this.transitions[1]=="crossfade")){hs.expanders[g].focus();return false}}if(!hs.allowSimultaneousLoading){for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].thumb!=d&&!hs.expanders[g].onLoadStarted){hs.expanders[g].cancelLoading()}}}hs.expanders[m]=this;if(!hs.allowMultipleInstances&&!hs.upcoming){if(hs.expanders[m-1]){hs.expanders[m-1].close()}if(typeof hs.focusKey!="undefined"&&hs.expanders[hs.focusKey]){hs.expanders[hs.focusKey].close()}}this.el=d;this.tpos=this.pageOrigin||hs.getPosition(d);hs.getPageSize();var j=this.x=new hs.Dimension(this,"x");j.calcThumb();var h=this.y=new hs.Dimension(this,"y");h.calcThumb();if(/area/i.test(d.tagName)){this.getImageMapAreaCorrection(d)}this.wrapper=hs.createElement("div",{id:"highslide-wrapper-"+this.key,className:"highslide-wrapper "+this.wrapperClassName},{visibility:"hidden",position:"absolute",zIndex:hs.zIndexCounter+=2},null,true);this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;if(this.contentType=="image"&&this.outlineWhileAnimating==2){this.outlineWhileAnimating=0}if(!this.outlineType||(this.last&&this.isImage&&this.transitions[1]=="crossfade")){this[this.contentType+"Create"]()}else{if(hs.pendingOutlines[this.outlineType]){this.connectOutline();this[this.contentType+"Create"]()}else{this.showLoading();var e=this;new hs.Outline(this.outlineType,function(){e.connectOutline();e[e.contentType+"Create"]()})}}return true};hs.Expander.prototype={error:function(a){if(hs.debug){alert("Line "+a.lineNumber+": "+a.message)}else{window.location.href=this.src}},connectOutline:function(){var a=this.outline=hs.pendingOutlines[this.outlineType];a.exp=this;a.table.style.zIndex=this.wrapper.style.zIndex-1;hs.pendingOutlines[this.outlineType]=null},showLoading:function(){if(this.onLoadStarted||this.loading){return}this.loading=hs.loading;var c=this;this.loading.onclick=function(){c.cancelLoading()};if(!hs.fireEvent(this,"onShowLoading")){return}var c=this,a=this.x.get("loadingPos")+"px",b=this.y.get("loadingPos")+"px";if(!d&&this.last&&this.transitions[1]=="crossfade"){var d=this.last}if(d){a=d.x.get("loadingPosXfade")+"px";b=d.y.get("loadingPosXfade")+"px";this.loading.style.zIndex=hs.zIndexCounter++}setTimeout(function(){if(c.loading){hs.setStyles(c.loading,{left:a,top:b,zIndex:hs.zIndexCounter++})}},100)},imageCreate:function(){var b=this;var a=document.createElement("img");this.content=a;a.onload=function(){if(hs.expanders[b.key]){b.contentLoaded()}};if(hs.blockRightClick){a.oncontextmenu=function(){return false}}a.className="highslide-image";hs.setStyles(a,{visibility:"hidden",display:"block",position:"absolute",maxWidth:"9999px",zIndex:3});a.title=hs.lang.restoreTitle;if(hs.safari&&hs.uaVersion<525){hs.container.appendChild(a)}if(hs.ie&&hs.flushImgSize){a.src=null}a.src=this.src;this.showLoading()},htmlCreate:function(){if(!hs.fireEvent(this,"onBeforeGetContent")){return}this.content=hs.getCacheBinding(this.a);if(!this.content){this.content=hs.getNode(this.contentId)}if(!this.content){this.content=hs.getSelfRendered()}this.getInline(["maincontent"]);if(this.maincontent){var a=hs.getElementByClass(this.content,"div","highslide-body");if(a){a.appendChild(this.maincontent)}this.maincontent.style.display="block"}hs.fireEvent(this,"onAfterGetContent");var d=this.innerContent=this.content;if(/(swf|iframe)/.test(this.objectType)){this.setObjContainerSize(d)}hs.container.appendChild(this.wrapper);hs.setStyles(this.wrapper,{position:"static",padding:"0 "+hs.marginRight+"px 0 "+hs.marginLeft+"px"});this.content=hs.createElement("div",{className:"highslide-html"},{position:"relative",zIndex:3,height:0,overflow:"hidden"},this.wrapper);this.mediumContent=hs.createElement("div",null,null,this.content,1);this.mediumContent.appendChild(d);hs.setStyles(d,{position:"relative",display:"block",direction:hs.lang.cssDirection||""});if(this.width){d.style.width=this.width+"px"}if(this.height){hs.setStyles(d,{height:this.height+"px",overflow:"hidden"})}if(d.offsetWidth<this.minWidth){d.style.width=this.minWidth+"px"}if(this.objectType=="ajax"&&!hs.getCacheBinding(this.a)){this.showLoading();var c=this;var b=new hs.Ajax(this.a,d);b.src=this.src;b.onLoad=function(){if(hs.expanders[c.key]){c.contentLoaded()}};b.onError=function(){location.href=c.src};b.run()}else{if(this.objectType=="iframe"&&this.objectLoadTime=="before"){this.writeExtendedContent()}else{this.contentLoaded()}}},contentLoaded:function(){try{if(!this.content){return}this.content.onload=null;if(this.onLoadStarted){return}else{this.onLoadStarted=true}var j=this.x,g=this.y;if(this.loading){hs.setStyles(this.loading,{top:"-9999px"});this.loading=null;hs.fireEvent(this,"onHideLoading")}if(this.isImage){j.full=this.content.width;g.full=this.content.height;hs.setStyles(this.content,{width:j.t+"px",height:g.t+"px"});this.wrapper.appendChild(this.content);hs.container.appendChild(this.wrapper)}else{if(this.htmlGetSize){this.htmlGetSize()}}j.calcBorders();g.calcBorders();hs.setStyles(this.wrapper,{left:(j.tpos+j.tb-j.cb)+"px",top:(g.tpos+j.tb-g.cb)+"px"});this.initSlideshow();this.getOverlays();var f=j.full/g.full;j.calcExpanded();this.justify(j);g.calcExpanded();this.justify(g);if(this.isHtml){this.htmlSizeOperations()}if(this.overlayBox){this.sizeOverlayBox(0,1)}if(this.allowSizeReduction){if(this.isImage){this.correctRatio(f)}else{this.fitOverlayBox()}var k=this.slideshow;if(k&&this.last&&k.controls&&k.fixedControls){var h=k.overlayOptions.position||"",a;for(var c in hs.oPos){for(var b=0;b<5;b++){a=this[c];if(h.match(hs.oPos[c][b])){a.pos=this.last[c].pos+(this.last[c].p1-a.p1)+(this.last[c].size-a.size)*[0,0,0.5,1,1][b];if(k.fixedControls=="fit"){if(a.pos+a.size+a.p1+a.p2>a.scroll+a.clientSize-a.marginMax){a.pos=a.scroll+a.clientSize-a.size-a.marginMin-a.marginMax-a.p1-a.p2}if(a.pos<a.scroll+a.marginMin){a.pos=a.scroll+a.marginMin}}}}}}if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(d){this.error(d)}},setObjContainerSize:function(a,d){var b=hs.getElementByClass(a,"DIV","highslide-body");if(/(iframe|swf)/.test(this.objectType)){if(this.objectWidth){b.style.width=this.objectWidth+"px"}if(this.objectHeight){b.style.height=this.objectHeight+"px"}}},writeExtendedContent:function(){if(this.hasExtendedContent){return}var f=this;this.body=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(this.objectType=="iframe"){this.showLoading();var g=hs.clearing.cloneNode(1);this.body.appendChild(g);this.newWidth=this.innerContent.offsetWidth;if(!this.objectWidth){this.objectWidth=g.offsetWidth}var c=this.innerContent.offsetHeight-this.body.offsetHeight,d=this.objectHeight||hs.page.height-c-hs.marginTop-hs.marginBottom,e=this.objectLoadTime=="before"?' onload="if (hs.expanders['+this.key+"]) hs.expanders["+this.key+'].contentLoaded()" ':"";this.body.innerHTML+='<iframe name="hs'+(new Date()).getTime()+'" frameborder="0" key="'+this.key+'" style="width:'+this.objectWidth+"px; height:"+d+'px" '+e+' src="'+this.src+'" ></iframe>';this.ruler=this.body.getElementsByTagName("div")[0];this.iframe=this.body.getElementsByTagName("iframe")[0];if(this.objectLoadTime=="after"){this.correctIframeSize()}}if(this.objectType=="swf"){this.body.id=this.body.id||"hs-flash-id-"+this.key;var b=this.swfOptions;if(!b.params){b.params={}}if(typeof b.params.wmode=="undefined"){b.params.wmode="transparent"}if(swfobject){swfobject.embedSWF(this.src,this.body.id,this.objectWidth,this.objectHeight,b.version||"7",b.expressInstallSwfurl,b.flashvars,b.params,b.attributes)}}this.hasExtendedContent=true},htmlGetSize:function(){if(this.iframe&&!this.objectHeight){this.iframe.style.height=this.body.style.height=this.getIframePageHeight()+"px"}this.innerContent.appendChild(hs.clearing);if(!this.x.full){this.x.full=this.innerContent.offsetWidth}this.y.full=this.innerContent.offsetHeight;this.innerContent.removeChild(hs.clearing);if(hs.ie&&this.newHeight>parseInt(this.innerContent.currentStyle.height)){this.newHeight=parseInt(this.innerContent.currentStyle.height)}hs.setStyles(this.wrapper,{position:"absolute",padding:"0"});hs.setStyles(this.content,{width:this.x.t+"px",height:this.y.t+"px"})},getIframePageHeight:function(){var a;try{var d=this.iDoc=this.iframe.contentDocument||this.iframe.contentWindow.document;var b=d.createElement("div");b.style.clear="both";d.body.appendChild(b);a=b.offsetTop;if(hs.ie){a+=parseInt(d.body.currentStyle.marginTop)+parseInt(d.body.currentStyle.marginBottom)-1}}catch(c){a=300}return a},correctIframeSize:function(){var b=this.innerContent.offsetWidth-this.ruler.offsetWidth;hs.discardElement(this.ruler);if(b<0){b=0}var a=this.innerContent.offsetHeight-this.iframe.offsetHeight;if(this.iDoc&&!this.objectHeight&&!this.height&&this.y.size==this.y.full){try{this.iDoc.body.style.overflow="hidden"}catch(c){}}hs.setStyles(this.iframe,{width:Math.abs(this.x.size-b)+"px",height:Math.abs(this.y.size-a)+"px"});hs.setStyles(this.body,{width:this.iframe.style.width,height:this.iframe.style.height});this.scrollingContent=this.iframe;this.scrollerDiv=this.scrollingContent},htmlSizeOperations:function(){this.setObjContainerSize(this.innerContent);if(this.objectType=="swf"&&this.objectLoadTime=="before"){this.writeExtendedContent()}if(this.x.size<this.x.full&&!this.allowWidthReduction){this.x.size=this.x.full}if(this.y.size<this.y.full&&!this.allowHeightReduction){this.y.size=this.y.full}this.scrollerDiv=this.innerContent;hs.setStyles(this.mediumContent,{position:"relative",width:this.x.size+"px"});hs.setStyles(this.innerContent,{border:"none",width:"auto",height:"auto"});var e=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(e&&!/(iframe|swf)/.test(this.objectType)){var b=e;e=hs.createElement(b.nodeName,null,{overflow:"hidden"},null,true);b.parentNode.insertBefore(e,b);e.appendChild(hs.clearing);e.appendChild(b);var c=this.innerContent.offsetWidth-e.offsetWidth;var a=this.innerContent.offsetHeight-e.offsetHeight;e.removeChild(hs.clearing);var d=hs.safari||navigator.vendor=="KDE"?1:0;hs.setStyles(e,{width:(this.x.size-c-d)+"px",height:(this.y.size-a)+"px",overflow:"auto",position:"relative"});if(d&&b.offsetHeight>e.offsetHeight){e.style.width=(parseInt(e.style.width)+d)+"px"}this.scrollingContent=e;this.scrollerDiv=this.scrollingContent}if(this.iframe&&this.objectLoadTime=="before"){this.correctIframeSize()}if(!this.scrollingContent&&this.y.size<this.mediumContent.offsetHeight){this.scrollerDiv=this.content}if(this.scrollerDiv==this.content&&!this.allowWidthReduction&&!/(iframe|swf)/.test(this.objectType)){this.x.size+=17}if(this.scrollerDiv&&this.scrollerDiv.offsetHeight>this.scrollerDiv.parentNode.offsetHeight){setTimeout("try { hs.expanders["+this.key+"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",hs.expandDuration)}},getImageMapAreaCorrection:function(d){var h=d.coords.split(",");for(var b=0;b<h.length;b++){h[b]=parseInt(h[b])}if(d.shape.toLowerCase()=="circle"){this.x.tpos+=h[0]-h[2];this.y.tpos+=h[1]-h[2];this.x.t=this.y.t=2*h[2]}else{var f,e,a=f=h[0],g=e=h[1];for(var b=0;b<h.length;b++){if(b%2==0){a=Math.min(a,h[b]);f=Math.max(f,h[b])}else{g=Math.min(g,h[b]);e=Math.max(e,h[b])}}this.x.tpos+=a;this.x.t=f-a;this.y.tpos+=g;this.y.t=e-g}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";if(h&&h.match(/ /)){g=h.split(" ");h=g[0]}if(h&&hs.$(h)){f.pos=hs.getPosition(hs.$(h))[e];if(g&&g[1]&&g[1].match(/^[-]?[0-9]+px$/)){f.pos+=parseInt(g[1])}if(f.size<f.minSize){f.size=f.minSize}}else{if(f.justify=="auto"||f.justify=="center"){var d=false;var a=f.exp.allowSizeReduction;if(f.justify=="center"){f.pos=Math.round(f.scroll+(f.clientSize+f.marginMin-f.marginMax-f.get("wsize"))/2)}else{f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2))}if(f.pos<f.scroll+f.marginMin){f.pos=f.scroll+f.marginMin;d=true}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos+f.get("wsize")>f.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")<f.get("fitsize")){f.pos=f.scroll+f.clientSize-f.marginMax-f.get("wsize")}else{f.pos=f.scroll+f.marginMin;if(!b&&a){f.size=f.get(e=="y"?"fitsize":"maxsize")}}}}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}}else{if(f.justify=="max"){f.pos=Math.floor(f.pos-f.size+f.t)}}}if(f.pos<f.marginMin){var c=f.pos;f.pos=f.marginMin;if(a&&!b){f.size=f.size-(f.pos-c)}}},correctRatio:function(c){var a=this.x,g=this.y,e=false,d=Math.min(a.full,a.size),b=Math.min(g.full,g.size),f=(this.useBox||hs.padToMinWidth);if(d/b>c){d=b*c;if(d<a.minSize){d=a.minSize;b=d/c}e=true}else{if(d/b<c){b=d/c;e=true}}if(hs.padToMinWidth&&a.full<a.minSize){a.imgSize=a.full;g.size=g.imgSize=g.full}else{if(this.useBox){a.imgSize=d;g.imgSize=b}else{a.size=d;g.size=b}}e=this.fitOverlayBox(this.useBox?null:c,e);if(f&&g.size<g.imgSize){g.imgSize=g.size;a.imgSize=g.size*c}if(e||f){a.pos=a.tpos-a.cb+a.tb;a.minSize=a.size;this.justify(a,true);g.pos=g.tpos-g.cb+g.tb;g.minSize=g.size;this.justify(g,true);if(this.overlayBox){this.sizeOverlayBox()}}},fitOverlayBox:function(b,c){var a=this.x,d=this.y;if(this.overlayBox&&(this.isImage||this.allowHeightReduction)){while(d.size>this.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},reflow:function(){if(this.scrollerDiv){var a=/iframe/i.test(this.scrollerDiv.tagName)?(this.getIframePageHeight()+1)+"px":"auto";if(this.body){this.body.style.height=a}this.scrollerDiv.style.height=a;this.y.setSize(this.innerContent.offsetHeight)}},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");hs.fireEvent(this,"onBeforeExpand");if(this.slideshow&&this.slideshow.thumbstrip){this.slideshow.thumbstrip.selectThumb()}this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(d,i,b){var k=this.transitions,e=d?(this.last?this.last.a:null):hs.upcoming,j=(k[1]&&e&&hs.getParam(e,"transitions")[1]==k[1])?k[1]:k[0];if(this[j]&&j!="expand"){this[j](d,i);return}if(this.outline&&!this.outlineWhileAnimating){if(d){this.outline.setPosition()}else{this.outline.destroy((this.isHtml&&this.preserveContent))}}if(!d){this.destroyOverlays()}var c=this,h=c.x,g=c.y,f=this.easing;if(!d){f=this.easingClose||f}var a=d?function(){if(c.outline){c.outline.table.style.visibility="visible"}setTimeout(function(){c.afterExpand()},50)}:function(){c.afterClose()};if(d){hs.setStyles(this.wrapper,{width:h.t+"px",height:g.t+"px"})}if(d&&this.isHtml){hs.setStyles(this.wrapper,{left:(h.tpos-h.cb+h.tb)+"px",top:(g.tpos-g.cb+g.tb)+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:d?0:1});hs.extend(i.wrapper,{opacity:d})}hs.animate(this.wrapper,i.wrapper,{duration:b,easing:f,step:function(n,l){if(c.outline&&c.outlineWhileAnimating&&l.prop=="top"){var m=d?l.pos:1-l.pos;var o={w:h.t+(h.get("wsize")-h.t)*m,h:g.t+(g.get("wsize")-g.t)*m,x:h.tpos+(h.pos-h.tpos)*m,y:g.tpos+(g.pos-g.tpos)*m};c.outline.setPosition(o,0,1)}if(c.isHtml){if(l.prop=="left"){c.mediumContent.style.left=(h.pos-n)+"px"}if(l.prop=="top"){c.mediumContent.style.top=(g.pos-n)+"px"}}}});hs.animate(this.content,i.content,b,f,a);if(d){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";if(this.isHtml){this.innerContent.style.visibility="visible"}this.a.className+=" highslide-active-anchor"}},fade:function(f,h){this.outlineWhileAnimating=false;var c=this,j=f?hs.expandDuration:0;if(f){hs.animate(this.wrapper,h.wrapper,0);hs.setStyles(this.wrapper,{opacity:0,visibility:"visible"});hs.animate(this.content,h.content,0);this.content.style.visibility="visible";hs.animate(this.wrapper,{opacity:1},j,null,function(){c.afterExpand()})}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex;var b=f||-1,d=this.outline.offset,a=f?3:d,g=f?d:3;for(var e=a;b*e<=b*g;e+=b,j+=25){(function(){var i=f?g-e:a-e;setTimeout(function(){c.outline.setPosition(0,i,1)},j)})()}}if(f){}else{setTimeout(function(){if(c.outline){c.outline.destroy(c.preserveContent)}c.destroyOverlays();hs.animate(c.wrapper,{opacity:0},hs.restoreDuration,null,function(){c.afterClose()})},j)}},crossfade:function(g,m,o){if(!g){return}var f=this,p=this.last,l=this.x,k=this.y,d=p.x,b=p.y,a=this.wrapper,i=this.content,c=this.overlayBox;hs.removeEventListener(document,"mousemove",hs.dragHandler);hs.setStyles(i,{width:(l.imgSize||l.size)+"px",height:(k.imgSize||k.size)+"px"});if(c){c.style.overflow="visible"}this.outline=p.outline;if(this.outline){this.outline.exp=f}p.outline=null;var h=hs.createElement("div",{className:"highslide-"+this.contentType},{position:"absolute",zIndex:4,overflow:"hidden",display:"none"});var j={oldImg:p,newImg:this};for(var e in j){this[e]=j[e].content.cloneNode(1);hs.setStyles(this[e],{position:"absolute",border:0,visibility:"visible"});h.appendChild(this[e])}a.appendChild(h);if(this.isHtml){hs.setStyles(this.mediumContent,{left:0,top:0})}if(c){c.className="";a.appendChild(c)}h.style.display="";p.content.style.display="none";if(hs.safari&&hs.uaVersion<525){this.wrapper.style.visibility="visible"}hs.animate(a,{width:l.size},{duration:hs.transitionDuration,step:function(u,r){var x=r.pos,q=1-x;var w,s={},t=["pos","size","p1","p2"];for(var v in t){w=t[v];s["x"+w]=Math.round(q*d[w]+x*l[w]);s["y"+w]=Math.round(q*b[w]+x*k[w]);s.ximgSize=Math.round(q*(d.imgSize||d.size)+x*(l.imgSize||l.size));s.ximgPad=Math.round(q*d.get("imgPad")+x*l.get("imgPad"));s.yimgSize=Math.round(q*(b.imgSize||b.size)+x*(k.imgSize||k.size));s.yimgPad=Math.round(q*b.get("imgPad")+x*k.get("imgPad"))}if(f.outline){f.outline.setPosition({x:s.xpos,y:s.ypos,w:s.xsize+s.xp1+s.xp2+2*l.cb,h:s.ysize+s.yp1+s.yp2+2*k.cb})}p.wrapper.style.clip="rect("+(s.ypos-b.pos)+"px, "+(s.xsize+s.xp1+s.xp2+s.xpos+2*d.cb-d.pos)+"px, "+(s.ysize+s.yp1+s.yp2+s.ypos+2*b.cb-b.pos)+"px, "+(s.xpos-d.pos)+"px)";hs.setStyles(i,{top:(s.yp1+k.get("imgPad"))+"px",left:(s.xp1+l.get("imgPad"))+"px",marginTop:(k.pos-s.ypos)+"px",marginLeft:(l.pos-s.xpos)+"px"});hs.setStyles(a,{top:s.ypos+"px",left:s.xpos+"px",width:(s.xp1+s.xp2+s.xsize+2*l.cb)+"px",height:(s.yp1+s.yp2+s.ysize+2*k.cb)+"px"});hs.setStyles(h,{width:(s.ximgSize||s.xsize)+"px",height:(s.yimgSize||s.ysize)+"px",left:(s.xp1+s.ximgPad)+"px",top:(s.yp1+s.yimgPad)+"px",visibility:"visible"});hs.setStyles(f.oldImg,{top:(b.pos-s.ypos+b.p1-s.yp1+b.get("imgPad")-s.yimgPad)+"px",left:(d.pos-s.xpos+d.p1-s.xp1+d.get("imgPad")-s.ximgPad)+"px"});hs.setStyles(f.newImg,{opacity:x,top:(k.pos-s.ypos+k.p1-s.yp1+k.get("imgPad")-s.yimgPad)+"px",left:(l.pos-s.xpos+l.p1-s.xp1+l.get("imgPad")-s.ximgPad)+"px"});if(c){hs.setStyles(c,{width:s.xsize+"px",height:s.ysize+"px",left:(s.xp1+l.cb)+"px",top:(s.yp1+k.cb)+"px"})}},complete:function(){a.style.visibility=i.style.visibility="visible";i.style.display="block";hs.discardElement(h);f.afterExpand();p.afterClose();f.last=null}})},reuseOverlay:function(d,c){if(!this.last){return false}for(var b=0;b<this.last.overlays.length;b++){var a=hs.$("hsId"+this.last.overlays[b]);if(a&&a.hsId==d.hsId){this.genOverlayBox();a.reuse=this.key;hs.push(this.overlays,this.last.overlays[b]);return true}}return false},afterExpand:function(){this.isExpanded=true;this.focus();if(this.isHtml&&this.objectLoadTime=="after"){this.writeExtendedContent()}if(this.iframe){try{var g=this,f=this.iframe.contentDocument||this.iframe.contentWindow.document;hs.addEventListener(f,"mousedown",function(){if(hs.focusKey!=g.key){g.focus()}})}catch(d){}if(hs.ie&&typeof this.isClosing!="boolean"){this.iframe.style.width=(this.objectWidth-1)+"px"}}if(this.dimmingOpacity){hs.dim(this)}if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.pos<b&&b<this.x.pos+this.x.get("wsize")&&this.y.pos<a&&a<this.y.pos+this.y.get("wsize");if(this.overlayBox){this.showOverlays()}hs.fireEvent(this,"onAfterExpand")},prepareNextOutline:function(){var a=this.key;var b=this.outlineType;new hs.Outline(b,function(){try{hs.expanders[a].preloadNext()}catch(c){}})},preloadNext:function(){var b=this.getAdjacentAnchor(1);if(b&&b.onclick.toString().match(/hs\.expand/)){var a=hs.createElement("img",{src:hs.getSrc(b)})}},getAdjacentAnchor:function(c){var b=this.getAnchorIndex(),a=hs.anchors.groups[this.slideshowGroup||"none"];if(a&&!a[b+c]&&this.slideshow&&this.slideshow.repeat){if(c==1){return a[0]}else{if(c==-1){return a[a.length-1]}}}return(a&&a[b+c])||null},getAnchorIndex:function(){var a=hs.getAnchors().groups[this.slideshowGroup||"none"];if(a){for(var b=0;b<a.length;b++){if(a[b]==this.a){return b}}}return null},getNumber:function(){if(this[this.numberPosition]){var a=hs.anchors.groups[this.slideshowGroup||"none"];if(a){var b=hs.lang.number.replace("%1",this.getAnchorIndex()+1).replace("%2",a.length);this[this.numberPosition].innerHTML='<div class="highslide-number">'+b+"</div>"+this[this.numberPosition].innerHTML}}},initSlideshow:function(){if(!this.last){for(var c=0;c<hs.slideshows.length;c++){var b=hs.slideshows[c],d=b.slideshowGroup;if(typeof d=="undefined"||d===null||d===this.slideshowGroup){this.slideshow=new hs.Slideshow(this.key,b)}}}else{this.slideshow=this.last.slideshow}var b=this.slideshow;if(!b){return}var a=b.expKey=this.key;b.checkFirstAndLast();b.disable("full-expand");if(b.controls){this.createOverlay(hs.extend(b.overlayOptions||{},{overlayId:b.controls,hsId:"controls",zIndex:5}))}if(b.thumbstrip){b.thumbstrip.add(this)}if(!this.last&&this.autoplay){b.play(true)}if(b.autoplay){b.autoplay=setTimeout(function(){hs.next(a)},(b.interval||500))}},cancelLoading:function(){hs.discardElement(this.wrapper);hs.expanders[this.key]=null;if(hs.upcoming==this.a){hs.upcoming=null}hs.undim(this.key);if(this.loading){hs.loading.style.left="-9999px"}hs.fireEvent(this,"onHideLoading")},writeCredits:function(){if(this.credits){return}this.credits=hs.createElement("a",{href:hs.creditsHref,target:hs.creditsTarget,className:"highslide-credits",innerHTML:hs.lang.creditsText,title:hs.lang.creditsTitle});this.createOverlay({overlayId:this.credits,position:this.creditsPosition||"top left",hsId:"credits"})},getInline:function(types,addOverlay){for(var i=0;i<types.length;i++){var type=types[i],s=null;if(type=="caption"&&!hs.fireEvent(this,"onBeforeGetCaption")){return}else{if(type=="heading"&&!hs.fireEvent(this,"onBeforeGetHeading")){return}}if(!this[type+"Id"]&&this.thumbsUserSetId){this[type+"Id"]=type+"-for-"+this.thumbsUserSetId}if(this[type+"Id"]){this[type]=hs.getNode(this[type+"Id"])}if(!this[type]&&!this[type+"Text"]&&this[type+"Eval"]){try{s=eval(this[type+"Eval"])}catch(e){}}if(!this[type]&&this[type+"Text"]){s=this[type+"Text"]}if(!this[type]&&!s){this[type]=hs.getNode(this.a["_"+type+"Id"]);if(!this[type]){var next=this.a.nextSibling;while(next&&!hs.isHsAnchor(next)){if((new RegExp("highslide-"+type)).test(next.className||null)){if(!next.id){this.a["_"+type+"Id"]=next.id="hsId"+hs.idCounter++}this[type]=hs.getNode(next.id);break}next=next.nextSibling}}}if(!this[type]&&!s&&this.numberPosition==type){s="\n"}if(!this[type]&&s){this[type]=hs.createElement("div",{className:"highslide-"+type,innerHTML:s})}if(addOverlay&&this[type]){var o={position:(type=="heading")?"above":"below"};for(var x in this[type+"Overlay"]){o[x]=this[type+"Overlay"][x]}o.overlayId=this[type];this.createOverlay(o)}}},doShowHide:function(a){if(hs.hideSelects){this.showHideElements("SELECT",a)}if(hs.hideIframes){this.showHideElements("IFRAME",a)}if(hs.geckoMac){this.showHideElements("*",a)}},showHideElements:function(c,b){var e=document.getElementsByTagName(c);var a=c=="*"?"overflow":"visibility";for(var f=0;f<e.length;f++){if(a=="visibility"||(document.defaultView.getComputedStyle(e[f],"").getPropertyValue("overflow")=="auto"||e[f].getAttribute("hidden-by")!=null)){var h=e[f].getAttribute("hidden-by");if(b=="visible"&&h){h=h.replace("["+this.key+"]","");e[f].setAttribute("hidden-by",h);if(!h){e[f].style[a]=e[f].origProp}}else{if(b=="hidden"){var k=hs.getPosition(e[f]);k.w=e[f].offsetWidth;k.h=e[f].offsetHeight;if(!this.dimmingOpacity){var j=(k.x+k.w<this.x.get("opos")||k.x>this.x.get("opos")+this.x.get("osize"));var g=(k.y+k.h<this.y.get("opos")||k.y>this.y.get("opos")+this.y.get("osize"))}var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&a==hs.focusKey){var b=hs.expanders[a];b.content.className+=" highslide-"+b.contentType+"-blur";if(b.isImage){b.content.style.cursor=hs.ieLt7?"hand":"pointer";b.content.title=hs.lang.focusTitle}hs.fireEvent(b,"onBlur")}}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex-1}this.content.className="highslide-"+this.contentType;if(this.isImage){this.content.title=hs.lang.restoreTitle;if(hs.restoreCursor){hs.styleRestoreCursor=window.opera?"pointer":"url("+hs.graphicsDir+hs.restoreCursor+"), pointer";if(hs.ieLt7&&hs.uaVersion<6){hs.styleRestoreCursor="hand"}this.content.style.cursor=hs.styleRestoreCursor}}hs.focusKey=this.key;hs.addEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);hs.fireEvent(this,"onFocus")},moveTo:function(a,b){this.x.setPos(a);this.y.setPos(b)},resize:function(d){var a,b,c=d.width/d.height;a=Math.max(d.width+d.dX,Math.min(this.minWidth,this.x.full));if(this.isImage&&Math.abs(a-this.x.full)<12){a=this.x.full}b=this.isHtml?d.height+d.dY:a/c;if(b<Math.min(this.minHeight,this.y.full)){b=Math.min(this.minHeight,this.y.full);if(this.isImage){a=b*c}}this.resizeTo(a,b)},resizeTo:function(a,b){this.y.setSize(b);this.x.setSize(a);this.wrapper.style.height=this.y.get("wsize")+"px"},close:function(){if(this.isClosing||!this.isExpanded){return}if(this.transitions[1]=="crossfade"&&hs.upcoming){hs.getExpander(hs.upcoming).cancelLoading();hs.upcoming=null}if(!hs.fireEvent(this,"onBeforeClose")){return}this.isClosing=true;if(this.slideshow&&!hs.upcoming){this.slideshow.pause()}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{if(this.isHtml){this.htmlPrepareClose()}this.content.style.cursor="default";this.changeSize(0,{wrapper:{width:this.x.t,height:this.y.t,left:this.x.tpos-this.x.cb+this.x.tb,top:this.y.tpos-this.y.cb+this.y.tb},content:{left:0,top:0,width:this.x.t,height:this.y.t}},hs.restoreDuration)}catch(a){this.afterClose()}},htmlPrepareClose:function(){if(hs.geckoMac){if(!hs.mask){hs.mask=hs.createElement("div",null,{position:"absolute"},hs.container)}hs.setStyles(hs.mask,{width:this.x.size+"px",height:this.y.size+"px",left:this.x.pos+"px",top:this.y.pos+"px",display:"block"})}if(this.objectType=="swf"){try{hs.$(this.body.id).StopPlay()}catch(a){}}if(this.objectLoadTime=="after"&&!this.preserveContent){this.destroyObject()}if(this.scrollerDiv&&this.scrollerDiv!=this.scrollingContent){this.scrollerDiv.style.overflow="hidden"}},destroyObject:function(){if(hs.ie&&this.iframe){try{this.iframe.contentWindow.document.body.innerHTML=""}catch(a){}}if(this.objectType=="swf"){swfobject.removeSWF(this.body.id)}this.body.innerHTML=""},sleep:function(){if(this.outline){this.outline.table.style.display="none"}this.releaseMask=null;this.wrapper.style.display="none";this.isExpanded=false;hs.push(hs.sleeping,this)},awake:function(){try{hs.expanders[this.key]=this;if(!hs.allowMultipleInstances&&hs.focusKey!=this.key){try{hs.expanders[hs.focusKey].close()}catch(b){}}var d=hs.zIndexCounter++,a={display:"",zIndex:d};hs.setStyles(this.wrapper,a);this.isClosing=false;var c=this.outline||0;if(c){if(!this.outlineWhileAnimating){a.visibility="hidden"}hs.setStyles(c.table,a)}if(this.slideshow){this.initSlideshow()}this.show()}catch(b){}},createOverlay:function(e){var d=e.overlayId,a=(e.relativeTo=="viewport"&&!/panel$/.test(e.position));if(typeof d=="string"){d=hs.getNode(d)}if(e.html){d=hs.createElement("div",{innerHTML:e.html})}if(!d||typeof d=="string"){return}if(!hs.fireEvent(this,"onCreateOverlay",{overlay:d})){return}d.style.display="block";e.hsId=e.hsId||e.overlayId;if(this.transitions[1]=="crossfade"&&this.reuseOverlay(e,d)){return}this.genOverlayBox();var c=e.width&&/^[0-9]+(px|%)$/.test(e.width)?e.width:"auto";if(/^(left|right)panel$/.test(e.position)&&!/^[0-9]+px$/.test(e.width)){c="200px"}var b=hs.createElement("div",{id:"hsId"+hs.idCounter++,hsId:e.hsId},{position:"absolute",visibility:"hidden",width:c,direction:hs.lang.cssDirection||"",opacity:0},a?hs.viewport:this.overlayBox,true);if(a){b.hsKey=this.key}b.appendChild(d);hs.extend(b,{opacity:1,offsetX:0,offsetY:0,dur:(e.fade===0||e.fade===false||(e.fade==2&&hs.ie))?0:250});hs.extend(b,e);if(this.gotOverlays){this.positionOverlay(b);if(!b.hideOnMouseOut||this.mouseIsOver){hs.animate(b,{opacity:b.opacity},b.dur)}}hs.push(this.overlays,hs.idCounter-1)},positionOverlay:function(e){var f=e.position||"middle center",c=(e.relativeTo=="viewport"),b=e.offsetX,a=e.offsetY;if(c){hs.viewport.style.display="block";e.hsKey=this.key;if(e.offsetWidth>e.parentNode.offsetWidth){e.style.width="100%"}}else{if(e.parentNode!=this.overlayBox){this.overlayBox.appendChild(e)}}if(/left$/.test(f)){e.style.left=b+"px"}if(/center$/.test(f)){hs.setStyles(e,{left:"50%",marginLeft:(b-Math.round(e.offsetWidth/2))+"px"})}if(/right$/.test(f)){e.style.right=-b+"px"}if(/^leftpanel$/.test(f)){hs.setStyles(e,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=e.offsetWidth}else{if(/^rightpanel$/.test(f)){hs.setStyles(e,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=e.offsetWidth}}var d=e.parentNode.offsetHeight;e.style.height="auto";if(c&&e.offsetHeight>d){e.style.height=hs.ieLt7?d+"px":"100%"}if(/^top/.test(f)){e.style.top=a+"px"}if(/^middle/.test(f)){hs.setStyles(e,{top:"50%",marginTop:(a-Math.round(e.offsetHeight/2))+"px"})}if(/^bottom/.test(f)){e.style.bottom=-a+"px"}if(/^above$/.test(f)){hs.setStyles(e,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=e.offsetHeight}else{if(/^below$/.test(f)){hs.setStyles(e,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=e.offsetHeight;e.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);this.getNumber();if(this.caption){hs.fireEvent(this,"onAfterGetCaption")}if(this.heading){hs.fireEvent(this,"onAfterGetHeading")}if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a<hs.overlays.length;a++){var d=hs.overlays[a],e=d.thumbnailId,b=d.slideshowGroup;if((!e&&!b)||(e&&e==this.thumbsUserSetId)||(b&&b===this.slideshowGroup)){if(this.isImage||(this.isHtml&&d.useOnHtml)){this.createOverlay(d)}}}var c=[];for(var a=0;a<this.overlays.length;a++){var d=hs.$("hsId"+this.overlays[a]);if(/panel$/.test(d.position)){this.positionOverlay(d)}else{hs.push(c,d)}}for(var a=0;a<c.length;a++){this.positionOverlay(c[a])}this.gotOverlays=true},genOverlayBox:function(){if(!this.overlayBox){this.overlayBox=hs.createElement("div",{className:this.wrapperClassName},{position:"absolute",width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+"px",height:(this.y.size||this.y.full)+"px",visibility:"hidden",overflow:"hidden",zIndex:hs.ie?4:"auto"},hs.container,true)}},sizeOverlayBox:function(f,d){var c=this.overlayBox,a=this.x,h=this.y;hs.setStyles(c,{width:a.size+"px",height:h.size+"px"});if(f||d){for(var e=0;e<this.overlays.length;e++){var g=hs.$("hsId"+this.overlays[e]);var b=(hs.ieLt7||document.compatMode=="BackCompat");if(g&&/^(above|below)$/.test(g.position)){if(b){g.style.width=(c.offsetWidth+2*a.cb+a.p1+a.p2)+"px"}h[g.position=="above"?"p1":"p2"]=g.offsetHeight}if(g&&b&&/^(left|right)panel$/.test(g.position)){g.style.height=(c.offsetHeight+2*h.cb)+"px"}}}if(f){hs.setStyles(this.content,{top:h.p1+"px"});hs.setStyles(c,{top:(h.p1+h.cb)+"px"})}},showOverlays:function(){var a=this.overlayBox;a.className="";hs.setStyles(a,{top:(this.y.p1+this.y.cb)+"px",left:(this.x.p1+this.x.cb)+"px",overflow:"visible"});if(hs.safari){a.style.visibility="visible"}this.wrapper.appendChild(a);for(var c=0;c<this.overlays.length;c++){var d=hs.$("hsId"+this.overlays[c]);d.style.zIndex=d.zIndex||4;if(!d.hideOnMouseOut||this.mouseIsOver){d.style.visibility="visible";hs.setStyles(d,{visibility:"visible",display:""});hs.animate(d,{opacity:d.opacity},d.dur)}}},destroyOverlays:function(){if(!this.overlays.length){return}if(this.slideshow){var d=this.slideshow.controls;if(d&&hs.getExpander(d)==this){d.parentNode.removeChild(d)}}for(var a=0;a<this.overlays.length;a++){var b=hs.$("hsId"+this.overlays[a]);if(b&&b.parentNode==hs.viewport&&hs.getExpander(b)==this){hs.discardElement(b)}}if(this.isHtml&&this.preserveContent){this.overlayBox.style.top="-9999px";hs.container.appendChild(this.overlayBox)}else{hs.discardElement(this.overlayBox)}},createFullExpand:function(){if(this.slideshow&&this.slideshow.controls){this.slideshow.enable("full-expand");return}this.fullExpandLabel=hs.createElement("a",{href:"javascript:hs.expanders["+this.key+"].doFullExpand();",title:hs.lang.fullExpandTitle,className:"highslide-full-expand"});if(!hs.fireEvent(this,"onCreateFullExpand")){return}this.createOverlay({overlayId:this.fullExpandLabel,position:hs.fullExpandPosition,hideOnMouseOut:true,opacity:hs.fullExpandOpacity})},doFullExpand:function(){try{if(!hs.fireEvent(this,"onDoFullExpand")){return}if(this.fullExpandLabel){hs.discardElement(this.fullExpandLabel)}this.focus();var c=this.x.size,a=this.y.size;this.resizeTo(this.x.full,this.y.full);var b=this.x.pos-(this.x.size-c)/2;if(b<hs.marginLeft){b=hs.marginLeft}var f=this.y.pos-(this.y.size-a)/2;if(f<hs.marginTop){f=hs.marginTop}this.moveTo(b,f);this.doShowHide("hidden")}catch(d){this.error(d)}},afterClose:function(){this.a.className=this.a.className.replace("highslide-active-anchor","");this.doShowHide("visible");if(this.isHtml&&this.preserveContent&&this.transitions[1]!="crossfade"){this.sleep()}else{if(this.outline&&this.outlineWhileAnimating){this.outline.destroy()}hs.discardElement(this.wrapper)}if(hs.mask){hs.mask.style.display="none"}this.destroyOverlays();if(!hs.viewport.childNodes.length){hs.viewport.style.display="none"}if(this.dimmingOpacity){hs.undim(this.key)}hs.fireEvent(this,"onAfterClose");hs.expanders[this.key]=null;hs.reOrder()}};hs.Ajax=function(b,c,d){this.a=b;this.content=c;this.pre=d};hs.Ajax.prototype={run:function(){var d;if(!this.src){this.src=hs.getSrc(this.a)}if(this.src.match("#")){var a=this.src.split("#");this.src=a[0];this.id=a[1]}if(hs.cachedGets[this.src]){this.cachedGet=hs.cachedGets[this.src];if(this.id){this.getElementContent()}else{this.loadHTML()}return}try{d=new XMLHttpRequest()}catch(b){try{d=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){try{d=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){this.onError()}}}var f=this;d.onreadystatechange=function(){if(f.xhr.readyState==4){if(f.id){f.getElementContent()}else{f.loadHTML()}}};var c=this.src;this.xhr=d;if(hs.forceAjaxReload){c=c.replace(/$/,(/\?/.test(c)?"&":"?")+"dummy="+(new Date()).getTime())}d.open("GET",c,true);d.setRequestHeader("X-Requested-With","XMLHttpRequest");d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");d.send(null)},getElementContent:function(){hs.init();var a=window.opera||hs.ie6SSL?{src:"about:blank"}:null;this.iframe=hs.createElement("iframe",a,{position:"absolute",top:"-9999px"},hs.container);this.loadHTML()},loadHTML:function(){var c=this.cachedGet||this.xhr.responseText,b;if(this.pre){hs.cachedGets[this.src]=c}if(!hs.ie||hs.uaVersion>=5.5){c=c.replace(new RegExp("<link[^>]*>","gi"),"").replace(new RegExp("<script[^>]*>.*?<\/script>","gi"),"");if(this.iframe){var f=this.iframe.contentDocument;if(!f&&this.iframe.contentWindow){f=this.iframe.contentWindow.document}if(!f){var g=this;setTimeout(function(){g.loadHTML()},25);return}f.open();f.write(c);f.close();try{c=f.getElementById(this.id).innerHTML}catch(d){try{c=this.iframe.document.getElementById(this.id).innerHTML}catch(d){}}hs.discardElement(this.iframe)}else{b=/(<body[^>]*>|<\/body>)/ig;if(b.test(c)){c=c.split(b)[hs.ieLt9?1:2]}}}hs.getElementByClass(this.content,"DIV","highslide-body").innerHTML=c;this.onLoad();for(var a in this){this[a]=null}}};hs.Slideshow=function(c,b){if(hs.dynamicallyUpdateAnchors!==false){hs.updateAnchors()}this.expKey=c;for(var a in b){this[a]=b[a]}if(this.useControls){this.getControls()}if(this.thumbstrip){this.thumbstrip=hs.Thumbstrip(this)}};hs.Slideshow.prototype={getControls:function(){this.controls=hs.createElement("div",{innerHTML:hs.replaceLang(hs.skin.controls)},null,hs.container);var b=["play","pause","previous","next","move","full-expand","close"];this.btn={};var c=this;for(var a=0;a<b.length;a++){this.btn[b[a]]=hs.getElementByClass(this.controls,"li","highslide-"+b[a]);this.enable(b[a])}this.btn.pause.style.display="none"},checkFirstAndLast:function(){if(this.repeat||!this.controls){return}var c=hs.expanders[this.expKey],b=c.getAnchorIndex(),a=/disabled$/;if(b==0){this.disable("previous")}else{if(a.test(this.btn.previous.getElementsByTagName("a")[0].className)){this.enable("previous")}}if(b+1==hs.anchors.groups[c.slideshowGroup||"none"].length){this.disable("next");this.disable("play")}else{if(a.test(this.btn.next.getElementsByTagName("a")[0].className)){this.enable("next");this.enable("play")}}},enable:function(d){if(!this.btn){return}var c=this,b=this.btn[d].getElementsByTagName("a")[0],e=/disabled$/;b.onclick=function(){c[d]();return false};if(e.test(b.className)){b.className=b.className.replace(e,"")}},disable:function(c){if(!this.btn){return}var b=this.btn[c].getElementsByTagName("a")[0];b.onclick=function(){return false};if(!/disabled$/.test(b.className)){b.className+=" disabled"}},hitSpace:function(){if(this.autoplay){this.pause()}else{this.play()}},play:function(a){if(this.btn){this.btn.play.style.display="none";this.btn.pause.style.display=""}this.autoplay=true;if(!a){hs.next(this.expKey)}},pause:function(){if(this.btn){this.btn.pause.style.display="none";this.btn.play.style.display=""}clearTimeout(this.autoplay);this.autoplay=null},previous:function(){this.pause();hs.previous(this.btn.previous)},next:function(){this.pause();hs.next(this.btn.next)},move:function(){},"full-expand":function(){hs.getExpander().doFullExpand()},close:function(){hs.close(this.btn.close)}};hs.Thumbstrip=function(k){function p(i){hs.extend(f||{},{overlayId:r,hsId:"thumbstrip",className:"highslide-thumbstrip-"+m+"-overlay "+(f.className||"")});if(hs.ieLt7){f.fade=0}i.createOverlay(f);hs.setStyles(r.parentNode,{overflow:"hidden"})}function c(i){d(undefined,Math.round(i*r[h?"offsetWidth":"offsetHeight"]*0.7))}function d(L,M){if(L===undefined){for(var K=0;K<j.length;K++){if(j[K]==hs.expanders[k.expKey].a){L=K;break}}}if(L===undefined){return}var G=r.getElementsByTagName("a"),z=G[L],w=z.parentNode,y=h?"Left":"Top",N=h?"Right":"Bottom",I=h?"Width":"Height",B="offset"+y,H="offset"+I,x=n.parentNode.parentNode[H],F=x-s[H],v=parseInt(s.style[h?"left":"top"])||0,C=v,D=20;if(M!==undefined){C=v-M;if(F>0){F=0}if(C>0){C=0}if(C<F){C=F}}else{for(var K=0;K<G.length;K++){G[K].className=""}z.className="highslide-active-anchor";var J=L>0?G[L-1].parentNode[B]:w[B],A=w[B]+w[H]+(G[L+1]?G[L+1].parentNode[H]:0);if(A>x-v){C=x-A}else{if(J<-v){C=-J}}}var E=w[B]+(w[H]-g[H])/2+C;hs.animate(s,h?{left:C}:{top:C},null,"easeOutQuad");hs.animate(g,h?{left:E}:{top:E},null,"easeOutQuad");l.style.display=C<0?"block":"none";t.style.display=(C>F)?"block":"none"}var j=hs.anchors.groups[hs.expanders[k.expKey].slideshowGroup||"none"],f=k.thumbstrip,m=f.mode||"horizontal",u=(m=="float"),o=u?["div","ul","li","span"]:["table","tbody","tr","td"],h=(m=="horizontal"),r=hs.createElement("div",{className:"highslide-thumbstrip highslide-thumbstrip-"+m,innerHTML:'<div class="highslide-thumbstrip-inner"><'+o[0]+"><"+o[1]+"></"+o[1]+"></"+o[0]+'></div><div class="highslide-scroll-up"><div></div></div><div class="highslide-scroll-down"><div></div></div><div class="highslide-marker"><div></div></div>'},{display:"none"},hs.container),e=r.childNodes,n=e[0],l=e[1],t=e[2],g=e[3],s=n.firstChild,a=r.getElementsByTagName(o[1])[0],b;for(var q=0;q<j.length;q++){if(q==0||!h){b=hs.createElement(o[2],null,null,a)}(function(){var v=j[q],i=hs.createElement(o[3],null,null,b),w=q;hs.createElement("a",{href:v.href,title:v.title,onclick:function(){if(/highslide-active-anchor/.test(this.className)){return false}hs.getExpander(this).focus();return hs.transit(v)},innerHTML:hs.stripItemFormatter?hs.stripItemFormatter(v):v.innerHTML},null,i)})()}if(!u){l.onclick=function(){c(-1)};t.onclick=function(){c(1)};hs.addEventListener(a,document.onmousewheel!==undefined?"mousewheel":"DOMMouseScroll",function(i){var v=0;i=i||window.event;if(i.wheelDelta){v=i.wheelDelta/120;if(hs.opera){v=-v}}else{if(i.detail){v=-i.detail/3}}if(v){c(-v*0.2)}if(i.preventDefault){i.preventDefault()}i.returnValue=false})}return{add:p,selectThumb:d}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie&&window==window.top){(function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,50);return}hs.ready()})()}hs.addEventListener(document,"DOMContentLoaded",hs.ready);hs.addEventListener(window,"load",hs.ready);hs.addEventListener(document,"ready",function(){if(hs.expandCursor||hs.dimmingOpacity){var d=hs.createElement("style",{type:"text/css"},null,document.getElementsByTagName("HEAD")[0]),c=document.compatMode=="BackCompat";function b(f,g){if(hs.ie&&(hs.uaVersion<9||c)){var e=document.styleSheets[document.styleSheets.length-1];if(typeof(e.addRule)=="object"){e.addRule(f,g)}}else{d.appendChild(document.createTextNode(f+" {"+g+"}"))}}function a(e){return"expression( ( ( ignoreMe = document.documentElement."+e+" ? document.documentElement."+e+" : document.body."+e+" ) ) + 'px' );"}if(hs.expandCursor){b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")}b(".highslide-viewport-size",hs.ie&&(hs.uaVersion<7||c)?"position: absolute; left:"+a("scrollLeft")+"top:"+a("scrollTop")+"width:"+a("clientWidth")+"height:"+a("clientHeight"):"position: fixed; width: 100%; height: 100%; left: 0; top: 0")}});hs.addEventListener(window,"resize",function(){hs.getPageSize();if(hs.viewport){for(var a=0;a<hs.viewport.childNodes.length;a++){var b=hs.viewport.childNodes[a],c=hs.getExpander(b);c.positionOverlay(b);if(b.hsId=="thumbstrip"){c.slideshow.thumbstrip.selectThumb()}}}});hs.addEventListener(document,"mousemove",function(a){hs.mouse={x:a.clientX,y:a.clientY}});hs.addEventListener(document,"mousedown",hs.mouseClickHandler);hs.addEventListener(document,"mouseup",hs.mouseClickHandler);hs.addEventListener(document,"ready",hs.setClickEvents);hs.addEventListener(window,"load",hs.preloadImages);hs.addEventListener(window,"load",hs.preloadAjax)}; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.packed.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.packed.js new file mode 100644 index 000000000..9419d2ed2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.packed.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash +packed + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){A m={18:{97:\'aK\',aZ:\'fw...\',aY:\'8G 2i fP\',bD:\'8G 2i g0 2i eR\',9Z:\'eZ 2i fc D (f)\',cq:\'f8 by <i>an ao</i>\',cr:\'f4 2i f6 an ao fg\',8Y:\'aq\',8W:\'ay\',8Z:\'ag\',92:\'am\',90:\'am (eD)\',b0:\'eY\',ab:\'al\',au:\'al 1p (aj)\',ac:\'ah\',ad:\'ah 1p (aj)\',8s:\'aq (8w 1b)\',8X:\'ay (8w 3m)\',8V:\'ag\',ae:\'1:1\',3G:\'g7 %1 fz %2\',9W:\'8G 2i 26 2R, dC aA dE 2i 3u. dF 8w dB O 1D aA 3a.\'},5c:\'K/dw/\',7R:\'dv.5q\',6h:\'dx.5q\',6W:5Z,9A:5Z,4W:15,9B:15,4d:15,6L:15,4F:cY,be:0.75,9l:M,9f:5,3Y:2,ei:3,5S:1j,bz:\'4Q 3m\',bA:1,br:M,ct:\'em://K.eh/\',cs:\'ec\',aS:M,9w:[\'a\',\'5v\'],3q:[],cE:5Z,4b:0,87:50,6J:1j,6X:M,4D:M,3U:\'60\',7W:M,46:\'1M\',9n:\'1M\',b1:I,aC:I,a7:M,4s:aw,6k:aw,5Y:M,1Z:\'ev-dV\',8i:{2X:\'<P 1W="K-2X"><6t>\'+\'<1H 1W="K-3a">\'+\'<a 21="#" 24="{m.18.8s}">\'+\'<1C>{m.18.8Y}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3L">\'+\'<a 21="#" 24="{m.18.au}">\'+\'<1C>{m.18.ab}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3p">\'+\'<a 21="#" 24="{m.18.ad}">\'+\'<1C>{m.18.ac}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1D">\'+\'<a 21="#" 24="{m.18.8X}">\'+\'<1C>{m.18.8W}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3u">\'+\'<a 21="#" 24="{m.18.8V}">\'+\'<1C>{m.18.8Z}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1a-2F">\'+\'<a 21="#" 24="{m.18.9Z}">\'+\'<1C>{m.18.ae}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-26">\'+\'<a 21="#" 24="{m.18.90}" >\'+\'<1C>{m.18.92}</1C></a>\'+\'</1H>\'+\'</6t></P>\',bd:\'<P 1W="K-e2"><6t>\'+\'<1H 1W="K-3a">\'+\'<a 21="#" 24="{m.18.8s}" 2p="E m.3a(k)">\'+\'<1C>{m.18.8Y}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1D">\'+\'<a 21="#" 24="{m.18.8X}" 2p="E m.1D(k)">\'+\'<1C>{m.18.8W}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3u">\'+\'<a 21="#" 24="{m.18.8V}" 2p="E 1j">\'+\'<1C>{m.18.8Z}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-26">\'+\'<a 21="#" 24="{m.18.90}" 2p="E m.26(k)">\'+\'<1C>{m.18.92}</1C></a>\'+\'</1H>\'+\'</6t></P>\'+\'<P 1W="K-19"></P>\'+\'<P 1W="K-e7"><P>\'+\'<1C 1W="K-3O" 24="{m.18.b0}"><1C></1C></1C>\'+\'</P></P>\'},64:[],a1:M,16:[],a4:[\'5Y\',\'3t\',\'46\',\'9n\',\'b1\',\'aC\',\'1Z\',\'3Y\',\'dU\',\'dM\',\'dL\',\'b3\',\'dK\',\'dI\',\'dJ\',\'b2\',\'cv\',\'a7\',\'42\',\'6l\',\'3q\',\'4b\',\'L\',\'N\',\'88\',\'6J\',\'6X\',\'4D\',\'dN\',\'dO\',\'dT\',\'2I\',\'7W\',\'4j\',\'4x\',\'3U\',\'8e\',\'a9\',\'4s\',\'6k\',\'6M\',\'9i\',\'aX\',\'2N\',\'2Q\',\'cF\',\'cD\',\'1e\'],1T:[],61:0,8g:{x:[\'bM\',\'1b\',\'4X\',\'3m\',\'bC\'],y:[\'5N\',\'Y\',\'9a\',\'4Q\',\'7E\']},7B:{},b2:{},b3:{},8e:{aG:{},29:{},aF:{}},4m:[],6u:[],4n:{},4R:[],7q:[],5a:[],7k:{},8c:{},7l:[],2t:/dP\\/4\\.0/.11(4A.6d)?8:8J((4A.6d.5G().3b(/.+(?:b9|dQ|e9|2h)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),2h:(W.6q&&!1S.3z),4M:/ea/.11(4A.6d),6y:/eu.+b9:1\\.[0-8].+es/.11(4A.6d),$:C(1v){q(1v)E W.9Q(1v)},2o:C(2a,3j){2a[2a.V]=3j},1d:C(ba,4l,49,6c,bh){A el=W.1d(ba);q(4l)m.3A(el,4l);q(bh)m.R(el,{94:0,8H:\'1E\',9D:0});q(49)m.R(el,49);q(6c)6c.1X(el);E el},3A:C(el,4l){O(A x 2Y 4l)el[x]=4l[x];E el},R:C(el,49){O(A x 2Y 49){q(m.3R&&x==\'1z\'){q(49[x]>0.99)el.G.ew(\'5Q\');J el.G.5Q=\'bg(1z=\'+(49[x]*2w)+\')\'}J el.G[x]=49[x]}},2z:C(el,1f,3C){A 4T,51,4w;q(1F 3C!=\'7j\'||3C===I){A 2H=c5;3C={4h:2H[2],2Q:2H[3],76:2H[4]}}q(1F 3C.4h!=\'3G\')3C.4h=5Z;3C.2Q=1h[3C.2Q]||1h.bj;3C.7g=m.3A({},1f);O(A 2Z 2Y 1f){A e=1J m.fx(el,3C,2Z);4T=8J(m.8I(el,2Z))||0;51=8J(1f[2Z]);4w=2Z!=\'1z\'?\'F\':\'\';e.3E(4T,51,4w)}},8I:C(el,1f){q(el.G[1f]){E el.G[1f]}J q(W.8L){E W.8L.cK(el,I).co(1f)}J{q(1f==\'1z\')1f=\'5Q\';A 3j=el.5y[1f.2k(/\\-(\\w)/g,C(a,b){E b.bi()})];q(1f==\'5Q\')3j=3j.2k(/bg\\(1z=([0-9]+)\\)/,C(a,b){E b/2w});E 3j===\'\'?1:3j}},7S:C(){A d=W,w=1S,63=d.7a&&d.7a!=\'8v\'?d.5h:d.19,3R=m.2h&&(m.2t<9||1F bf==\'1L\');A L=3R?63.8F:(d.5h.8F||7c.ep),N=3R?63.c4:7c.eo;m.4g={L:L,N:N,5O:3R?63.5O:bf,5R:3R?63.5R:ed};E m.4g},6K:C(el){q(/5v/i.11(el.3J)){A 7N=W.2C(\'1N\');O(A i=0;i<7N.V;i++){A u=7N[i].eb;q(u&&u.2k(/^.*?#/,\'\')==el.23.2Z){el=7N[i];5m}}}A p={x:el.4V,y:el.8O};5g(el.bb){el=el.bb;p.x+=el.4V;p.y+=el.8O;q(el!=W.19&&el!=W.5h){p.x-=el.5O;p.y-=el.5R}}E p},2F:C(a,29,3E,T){q(!a)a=m.1d(\'a\',I,{1o:\'1E\'},m.2b);q(1F a.6a==\'C\')E 29;q(T==\'3D\'){O(A i=0;i<m.4R.V;i++){q(m.4R[i]&&m.4R[i].a==a){m.4R[i].bP();m.4R[i]=I;E 1j}}m.aU=M}1t{1J m.5A(a,29,3E,T);E 1j}1y(e){E M}},9u:C(a,29,3E){E m.2F(a,29,3E,\'3D\')},89:C(){E m.1d(\'P\',{1c:\'K-3D-S\',2d:m.8b(m.8i.bd)})},4p:C(el,3J,1c){A 1m=el.2C(3J);O(A i=0;i<1m.V;i++){q((1J 4Y(1c)).11(1m[i].1c)){E 1m[i]}}E I},8b:C(s){s=s.2k(/\\s/g,\' \');A 2m=/{m\\.18\\.([^}]+)\\}/g,6v=s.3b(2m),18;q(6v)O(A i=0;i<6v.V;i++){18=6v[i].2k(2m,"$1");q(1F m.18[18]!=\'1L\')s=s.2k(6v[i],m.18[18])}E s},c1:C(){A 1m=W.2C(\'a\');O(A i=0;i<1m.V;i++){A T=m.aH(1m[i]);q(T&&!1m[i].aI){(C(){A t=T;q(m.1A(m,\'ek\',{7y:1m[i],T:t})){1m[i].2p=(T==\'2R\')?C(){E m.2F(k)}:C(){E m.9u(k,{2I:t})}}})();1m[i].aI=M}}m.6p()},aH:C(el){q(el.7b==\'K\')E\'2R\';J q(el.7b==\'K-2W\')E\'2W\';J q(el.7b==\'K-1k\')E\'1k\';J q(el.7b==\'K-3x\')E\'3x\'},86:C(a){O(A i=0;i<m.5a.V;i++){q(m.5a[i][0]==a){A c=m.5a[i][1];m.5a[i][1]=c.5J(1);E c}}E I},bI:C(e){A 2a=m.6p();O(A i=0;i<2a.56.V;i++){A a=2a.56[i];q(m.43(a,\'2I\')==\'2W\'&&m.43(a,\'7W\'))m.2o(m.7q,a)}m.8k(0)},8k:C(i){q(!m.7q[i])E;A a=m.7q[i];A 6z=m.4J(m.43(a,\'88\'));q(!6z)6z=m.89();A 2W=1J m.7x(a,6z,1);2W.9z=C(){};2W.3F=C(){m.2o(m.5a,[a,6z]);m.8k(i+1)};2W.9r()},aQ:C(){A 8d=0,7n=-1,16=m.16,B,1B;O(A i=0;i<16.V;i++){B=16[i];q(B){1B=B.U.G.1B;q(1B&&1B>8d){8d=1B;7n=i}}}q(7n==-1)m.3d=-1;J 16[7n].3M()},43:C(a,6b){a.6a=a.2p;A p=a.6a?a.6a():I;a.6a=I;E(p&&1F p[6b]!=\'1L\')?p[6b]:(1F m[6b]!=\'1L\'?m[6b]:I)},7s:C(a){A 1e=m.43(a,\'1e\');q(1e)E 1e;E a.21},4J:C(1v){A 1P=m.$(1v),4q=m.8c[1v],a={};q(!1P&&!4q)E I;q(!4q){4q=1P.5J(M);4q.1v=\'\';m.8c[1v]=4q;E 1P}J{E 4q.5J(M)}},3B:C(d){q(d)m.9y.1X(d);m.9y.2d=\'\'},1u:C(B){q(!m.2v){84=M;m.2v=m.1d(\'P\',{1c:\'K-dc K-2x-D\',5r:\'\',2p:C(){q(m.1A(m,\'d3\'))m.26()}},{1n:\'1Y\',1z:0},m.2b,M);q(/(df|d2|cU|cT)/.11(4A.6d)){A 19=W.19;C 81(){m.R(m.2v,{L:19.cR+\'F\',N:19.cV+\'F\'})}81();m.2j(1S,\'3O\',81)}}m.2v.G.1o=\'\';A 84=m.2v.5r==\'\';m.2v.5r+=\'|\'+B.Q;q(84){q(m.6y&&m.aR)m.R(m.2v,{9t:\'7T(\'+m.5c+\'d0.ak)\',1z:1});J m.2z(m.2v,{1z:B.4b},m.87)}},9x:C(Q){q(!m.2v)E;q(1F Q!=\'1L\')m.2v.5r=m.2v.5r.2k(\'|\'+Q,\'\');q((1F Q!=\'1L\'&&m.2v.5r!=\'\')||(m.2q&&m.43(m.2q,\'4b\')))E;q(m.6y&&m.aR)m.2v.G.1o=\'1E\';J m.2z(m.2v,{1z:0},m.87,I,C(){m.2v.G.1o=\'1E\'})},8N:C(7z,B){A 1i=B||m.2G();B=1i;q(m.2q)E 1j;J m.1i=1i;m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{m.2q=7z;7z.2p()}1y(e){m.1i=m.2q=I}1t{q(!7z||B.3q[1]!=\'4e\')B.26()}1y(e){}E 1j},7O:C(el,2n){A B=m.2G(el);q(B)E m.8N(B.7V(2n),B);J E 1j},3a:C(el){E m.7O(el,-1)},1D:C(el){E m.7O(el,1)},68:C(e){q(!e)e=1S.2u;q(!e.2L)e.2L=e.9k;q(1F e.2L.9j!=\'1L\')E M;q(!m.1A(m,\'dz\',e))E M;A B=m.2G();A 2n=I;b6(e.dy){2c 70:q(B)B.7r();E M;2c 32:2n=2;5m;2c 34:2c 39:2c 40:2n=1;5m;2c 8:2c 33:2c 37:2c 38:2n=-1;5m;2c 27:2c 13:2n=0}q(2n!==I){q(2n!=2)m.4z(W,1S.3z?\'6U\':\'71\',m.68);q(!m.aS)E M;q(e.5n)e.5n();J e.c0=1j;q(B){q(2n==0){B.26()}J q(2n==2){q(B.1p)B.1p.cl()}J{q(B.1p)B.1p.3p();m.7O(B.Q,2n)}E 1j}}E M},du:C(14){m.2o(m.1T,m.3A(14,{22:\'22\'+m.61++}))},dt:C(1r){A 3c=1r.2N;q(1F 3c==\'7j\'){O(A i=0;i<3c.V;i++){A o={};O(A x 2Y 1r)o[x]=1r[x];o.2N=3c[i];m.2o(m.6u,o)}}J{m.2o(m.6u,1r)}},9U:C(7y,7h){A el,2m=/^K-U-([0-9]+)$/;el=7y;5g(el.23){q(el.6R!==1L)E el.6R;q(el.1v&&2m.11(el.1v))E el.1v.2k(2m,"$1");el=el.23}q(!7h){el=7y;5g(el.23){q(el.3J&&m.77(el)){O(A Q=0;Q<m.16.V;Q++){A B=m.16[Q];q(B&&B.a==el)E Q}}el=el.23}}E I},2G:C(el,7h){q(1F el==\'1L\')E m.16[m.3d]||I;q(1F el==\'3G\')E m.16[el]||I;q(1F el==\'a8\')el=m.$(el);E m.16[m.9U(el,7h)]||I},77:C(a){E(a.2p&&a.2p.cC().2k(/\\s/g,\' \').3b(/m.(dj|e)dh/))},bw:C(){O(A i=0;i<m.16.V;i++)q(m.16[i]&&m.16[i].55)m.aQ()},1A:C(6i,9K,2H){E 6i&&6i[9K]?(6i[9K](6i,2H)!==1j):M},8z:C(e){q(!e)e=1S.2u;q(e.ds>1)E M;q(!e.2L)e.2L=e.9k;A el=e.2L;5g(el.23&&!(/K-(2R|3u|3D|3O)/.11(el.1c))){el=el.23}A B=m.2G(el);q(B&&(B.62||!B.55))E M;q(B&&e.T==\'8y\'){q(e.2L.9j)E M;A 3b=el.1c.3b(/K-(2R|3u|3O)/);q(3b){m.2y={B:B,T:3b[1],1b:B.x.H,L:B.x.D,Y:B.y.H,N:B.y.D,aV:e.7A,aO:e.7F};m.2j(W,\'7D\',m.6H);q(e.5n)e.5n();q(/K-(2R|3D)-9J/.11(B.S.1c)){B.3M();m.a6=M}E 1j}J q(/K-3D/.11(el.1c)&&m.3d!=B.Q){B.3M();B.59(\'1q\')}}J q(e.T==\'c3\'){m.4z(W,\'7D\',m.6H);q(m.2y){q(m.54&&m.2y.T==\'2R\')m.2y.B.S.G.4L=m.54;A 3I=m.2y.3I;q(!3I&&!m.a6&&!/(3u|3O)/.11(m.2y.T)){q(m.1A(B,\'dr\'))B.26()}J q(3I||(!3I&&m.aU)){m.2y.B.59(\'1q\')}q(m.2y.B.3W)m.2y.B.3W.G.1o=\'1E\';q(3I)m.1A(m.2y.B,\'do\',m.2y);m.a6=1j;m.2y=I}J q(/K-2R-9J/.11(el.1c)){el.G.4L=m.54}}E 1j},6H:C(e){q(!m.2y)E M;q(!e)e=1S.2u;A a=m.2y,B=a.B;q(B.1k){q(!B.3W)B.3W=m.1d(\'P\',I,{1l:\'2l\',L:B.x.D+\'F\',N:B.y.D+\'F\',1b:B.x.cb+\'F\',Y:B.y.cb+\'F\',1B:4,9t:(m.3R?\'eB\':\'1E\'),1z:0.eU},B.U,M);q(B.3W.G.1o==\'1E\')B.3W.G.1o=\'\'}a.dX=e.7A-a.aV;a.dY=e.7F-a.aO;A 9g=1h.fG(1h.aE(a.dX,2)+1h.aE(a.dY,2));q(!a.3I)a.3I=(a.T!=\'2R\'&&9g>0)||(9g>(m.fK||5));q(a.3I&&e.7A>5&&e.7F>5){q(!m.1A(B,\'fN\',a))E 1j;q(a.T==\'3O\')B.3O(a);J{B.9m(a.1b+a.dX,a.Y+a.dY);q(a.T==\'2R\')B.S.G.4L=\'3u\'}}E 1j},aP:C(e){1t{q(!e)e=1S.2u;A 66=/fM/i.11(e.T);q(!e.2L)e.2L=e.9k;q(!e.7P)e.7P=66?e.fE:e.fD;A B=m.2G(e.2L);q(!B.55)E;q(!B||!e.7P||m.2G(e.7P,M)==B||m.2y)E;m.1A(B,66?\'ft\':\'fr\',e);O(A i=0;i<B.1T.V;i++)(C(){A o=m.$(\'22\'+B.1T[i]);q(o&&o.7d){q(66)m.R(o,{1n:\'1Y\',1o:\'\'});m.2z(o,{1z:66?o.1z:0},o.4i)}})()}1y(e){}},2j:C(el,2u,3Q){q(el==W&&2u==\'41\'){m.2o(m.7l,3Q)}1t{el.2j(2u,3Q,1j)}1y(e){1t{el.aM(\'65\'+2u,3Q);el.fy(\'65\'+2u,3Q)}1y(e){el[\'65\'+2u]=3Q}}},4z:C(el,2u,3Q){1t{el.4z(2u,3Q,1j)}1y(e){1t{el.aM(\'65\'+2u,3Q)}1y(e){el[\'65\'+2u]=I}}},7C:C(i){q(m.a1&&m.64[i]&&m.64[i]!=\'1L\'){A 1N=W.1d(\'1N\');1N.4N=C(){1N=I;m.7C(i+1)};1N.1e=m.64[i]}},c2:C(3G){q(3G&&1F 3G!=\'7j\')m.9f=3G;A 2a=m.6p();O(A i=0;i<2a.4Z.V&&i<m.9f;i++){m.2o(m.64,m.7s(2a.4Z[i]))}q(m.1Z)1J m.6r(m.1Z,C(){m.7C(0)});J m.7C(0);q(m.6h)A 5q=m.1d(\'1N\',{1e:m.5c+m.6h})},7m:C(){q(!m.2b){m.3Z=m.2h&&m.2t<7;m.3R=m.2h&&m.2t<9;m.7S();m.cf=m.3Z&&85.g5==\'g4:\';O(A x 2Y m.7o){q(1F m[x]!=\'1L\')m.18[x]=m[x];J q(1F m.18[x]==\'1L\'&&1F m.7o[x]!=\'1L\')m.18[x]=m.7o[x]}m.2b=m.1d(\'P\',{1c:\'K-2b\'},{1l:\'2l\',1b:0,Y:0,L:\'2w%\',1B:m.4F,9S:\'aK\'},W.19,M);m.2r=m.1d(\'a\',{1c:\'K-2r\',24:m.18.aY,2d:m.18.aZ,21:\'bt:;\'},{1l:\'2l\',Y:\'-4v\',1z:m.be,1B:1},m.2b);m.9y=m.1d(\'P\',I,{1o:\'1E\'},m.2b);m.2x=m.1d(\'P\',{1c:\'K-2x K-2x-D\'},{1n:(m.4M&&m.2t<73)?\'1Y\':\'1q\'},m.2b,1);m.3w=m.1d(\'P\',I,{aJ:\'bc\',g9:\'ga\'},I,M);1h.g2=C(t,b,c,d){E c*t/d+b};1h.bj=C(t,b,c,d){E c*(t/=d)*t+b};1h.8S=C(t,b,c,d){E-c*(t/=d)*(t-2)+b};m.cO=m.3Z;m.cQ=((1S.3z&&m.2t<9)||4A.av==\'at\'||(m.3Z&&m.2t<5.5));m.1A(k,\'fU\')}},41:C(){q(m.9F)E;m.9F=M;O(A i=0;i<m.7l.V;i++)m.7l[i]()},95:C(){A el,1m,6q=[],4Z=[],56=[],3i={},2m;O(A i=0;i<m.9w.V;i++){1m=W.2C(m.9w[i]);O(A j=0;j<1m.V;j++){el=1m[j];2m=m.77(el);q(2m){m.2o(6q,el);q(2m[0]==\'m.2F\')m.2o(4Z,el);J q(2m[0]==\'m.9u\')m.2o(56,el);A g=m.43(el,\'2N\')||\'1E\';q(!3i[g])3i[g]=[];m.2o(3i[g],el)}}}m.4U={6q:6q,3i:3i,4Z:4Z,56:56};E m.4U},6p:C(){E m.4U||m.95()},26:C(el){A B=m.2G(el);q(B)B.26();E 1j}};m.fx=C(30,1r,1f){k.1r=1r;k.30=30;k.1f=1f;q(!1r.b7)1r.b7={}};m.fx.5w={82:C(){(m.fx.3P[k.1f]||m.fx.3P.ap)(k);q(k.1r.3P)k.1r.3P.ax(k.30,k.4o,k)},3E:C(8u,2i,4w){k.9c=(1J 7K()).79();k.4T=8u;k.51=2i;k.4w=4w;k.4o=k.4T;k.H=k.96=0;A 7c=k;C t(7i){E 7c.3P(7i)}t.30=k.30;q(t()&&m.4m.2o(t)==1){m.af=fX(C(){A 4m=m.4m;O(A i=0;i<4m.V;i++)q(!4m[i]())4m.gd(i--,1);q(!4m.V){eT(m.af)}},13)}},3P:C(7i){A t=(1J 7K()).79();q(7i||t>=k.1r.4h+k.9c){k.4o=k.51;k.H=k.96=1;k.82();k.1r.7g[k.1f]=M;A 9s=M;O(A i 2Y k.1r.7g)q(k.1r.7g[i]!==M)9s=1j;q(9s){q(k.1r.76)k.1r.76.ax(k.30)}E 1j}J{A n=t-k.9c;k.96=n/k.1r.4h;k.H=k.1r.2Q(n,0,1,k.1r.4h);k.4o=k.4T+((k.51-k.4T)*k.H);k.82()}E M}};m.3A(m.fx,{3P:{1z:C(fx){m.R(fx.30,{1z:fx.4o})},ap:C(fx){1t{q(fx.30.G&&fx.30.G[fx.1f]!=I)fx.30.G[fx.1f]=fx.4o+fx.4w;J fx.30[fx.1f]=fx.4o}1y(e){}}}});m.6r=C(1Z,3F){k.3F=3F;k.1Z=1Z;A v=m.2t,47;k.9G=m.2h&&m.2t<7;q(!1Z){q(3F)3F();E}m.7m();k.2g=m.1d(\'2g\',{eJ:0},{1n:\'1q\',1l:\'2l\',eN:\'eM\',L:0},m.2b,M);A 4G=m.1d(\'4G\',I,I,k.2g,1);k.2J=[];O(A i=0;i<=8;i++){q(i%3==0)47=m.1d(\'47\',I,{N:\'1M\'},4G,M);k.2J[i]=m.1d(\'2J\',I,I,47,M);A G=i!=4?{eL:0,eK:0}:{1l:\'4y\'};m.R(k.2J[i],G)}k.2J[4].1c=1Z+\' K-1g\';k.ai()};m.6r.5w={ai:C(){A 1e=m.5c+(m.f1||"fi/")+k.1Z+".ak";A ar=m.4M&&m.2t<73?m.2b:I;k.3V=m.1d(\'1N\',I,{1l:\'2l\',Y:\'-4v\'},ar,M);A 3v=k;k.3V.4N=C(){3v.az()};k.3V.1e=1e},az:C(){A o=k.1w=k.3V.L/4,H=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1u={N:(2*o)+\'F\',L:(2*o)+\'F\'};O(A i=0;i<=8;i++){q(H[i]){q(k.9G){A w=(i==1||i==7)?\'2w%\':k.3V.L+\'F\';A P=m.1d(\'P\',I,{L:\'2w%\',N:\'2w%\',1l:\'4y\',2e:\'1q\'},k.2J[i],M);m.1d(\'P\',I,{5Q:"fo:fn.bv.fm(fl=fe, 1e=\'"+k.3V.1e+"\')",1l:\'2l\',L:w,N:k.3V.N+\'F\',1b:(H[i][0]*o)+\'F\',Y:(H[i][1]*o)+\'F\'},P,M)}J{m.R(k.2J[i],{9t:\'7T(\'+k.3V.1e+\') \'+(H[i][0]*o)+\'F \'+(H[i][1]*o)+\'F\'})}q(1S.3z&&(i==3||i==5))m.1d(\'P\',I,1u,k.2J[i],M);m.R(k.2J[i],1u)}}k.3V=I;q(m.4n[k.1Z])m.4n[k.1Z].5U();m.4n[k.1Z]=k;q(k.3F)k.3F()},4C:C(H,1w,aB,4i,2Q){A B=k.B,5X=B.U.G,1w=1w||0,H=H||{x:B.x.H+1w,y:B.y.H+1w,w:B.x.Z(\'2f\')-2*1w,h:B.y.Z(\'2f\')-2*1w};q(aB)k.2g.G.1n=(H.h>=4*k.1w)?\'1Y\':\'1q\';m.R(k.2g,{1b:(H.x-k.1w)+\'F\',Y:(H.y-k.1w)+\'F\',L:(H.w+2*k.1w)+\'F\'});H.w-=2*k.1w;H.h-=2*k.1w;m.R(k.2J[4],{L:H.w>=0?H.w+\'F\':0,N:H.h>=0?H.h+\'F\':0});q(k.9G)k.2J[3].G.N=k.2J[5].G.N=k.2J[4].G.N},5U:C(bk){q(bk)k.2g.G.1n=\'1q\';J m.3B(k.2g)}};m.6A=C(B,1u){k.B=B;k.1u=1u;k.3l=1u==\'x\'?\'bY\':\'bW\';k.3k=k.3l.5G();k.6m=1u==\'x\'?\'cj\':\'c8\';k.6Y=k.6m.5G();k.9L=1u==\'x\'?\'c7\':\'bX\';k.b5=k.9L.5G();k.1G=k.36=0};m.6A.5w={Z:C(Q){b6(Q){2c\'9T\':E k.1K+k.3s+(k.t-m.2r[\'1w\'+k.3l])/2;2c\'9v\':E k.H+k.cb+k.1G+(k.D-m.2r[\'1w\'+k.3l])/2;2c\'2f\':E k.D+2*k.cb+k.1G+k.36;2c\'5e\':E k.4K-k.3o-k.4S;2c\'8D\':E k.Z(\'5e\')-2*k.cb-k.1G-k.36;2c\'6e\':E k.H-(k.B.1g?k.B.1g.1w:0);2c\'9R\':E k.Z(\'2f\')+(k.B.1g?2*k.B.1g.1w:0);2c\'2K\':E k.1V?1h.3e((k.D-k.1V)/2):0}},8a:C(){k.cb=(k.B.S[\'1w\'+k.3l]-k.t)/2;k.4S=m[\'9D\'+k.9L]},9M:C(){k.t=k.B.el[k.3k]?3H(k.B.el[k.3k]):k.B.el[\'1w\'+k.3l];k.1K=k.B.1K[k.1u];k.3s=(k.B.el[\'1w\'+k.3l]-k.t)/2;q(k.1K==0||k.1K==-1){k.1K=(m.4g[k.3k]/2)+m.4g[\'28\'+k.6m]}},8h:C(){A B=k.B;k.2T=\'1M\';q(B.9n==\'4X\')k.2T=\'4X\';J q(1J 4Y(k.6Y).11(B.46))k.2T=I;J q(1J 4Y(k.b5).11(B.46))k.2T=\'4t\';k.H=k.1K-k.cb+k.3s;q(k.9i&&k.1u==\'x\')B.6M=1h.31(B.6M||k.1a,B.9i*k.1a/B.y.1a);k.D=1h.31(k.1a,B[\'4t\'+k.3l]||k.1a);k.2U=B.5Y?1h.31(B[\'31\'+k.3l],k.1a):k.1a;q(B.2E&&B.3t){k.D=B[k.3k];k.1V=k.1a}q(k.1u==\'x\'&&m.5S)k.2U=B.4s;k.2L=B[\'2L\'+k.1u.bi()];k.3o=m[\'9D\'+k.6m];k.28=m.4g[\'28\'+k.6m];k.4K=m.4g[k.3k]},72:C(i){A B=k.B;q(B.2E&&(B.3t||m.5S)){k.1V=i;k.D=1h.4t(k.D,k.1V);B.S.G[k.6Y]=k.Z(\'2K\')+\'F\'}J k.D=i;B.S.G[k.3k]=i+\'F\';B.U.G[k.3k]=k.Z(\'2f\')+\'F\';q(B.1g)B.1g.4C();q(B.3W)B.3W.G[k.3k]=i+\'F\';q(k.1u==\'y\'&&B.5C&&B.19.G.N!=\'1M\')1t{B.5C.19.G.2e=\'1M\'}1y(e){}q(B.2A){A d=B.2s;q(k.9e===1L)k.9e=B.1s[\'1w\'+k.3l]-d[\'1w\'+k.3l];d.G[k.3k]=(k.D-k.9e)+\'F\';q(k.1u==\'x\')B.4c.G.L=\'1M\';q(B.19)B.19.G[k.3k]=\'1M\'}q(k.1u==\'x\'&&B.1x)B.57(M);q(k.1u==\'x\'&&B.1p&&B.2E){q(i==k.1a)B.1p.5d(\'1a-2F\');J B.1p.4u(\'1a-2F\')}},aa:C(i){k.H=i;k.B.U.G[k.6Y]=i+\'F\';q(k.B.1g)k.B.1g.4C()}};m.5A=C(a,29,3E,35){q(W.bS&&m.2h&&!m.9F){m.2j(W,\'41\',C(){1J m.5A(a,29,3E,35)});E}k.a=a;k.3E=3E;k.35=35||\'2R\';k.2A=(35==\'3D\');k.2E=!k.2A;m.a1=1j;k.1T=[];k.1i=m.1i;m.1i=I;m.7m();A Q=k.Q=m.16.V;O(A i=0;i<m.a4.V;i++){A 2Z=m.a4[i];k[2Z]=29&&1F 29[2Z]!=\'1L\'?29[2Z]:m[2Z]}q(!k.1e)k.1e=a.21;A el=(29&&29.9P)?m.$(29.9P):a;el=k.aW=el.2C(\'1N\')[0]||el;k.6Q=el.1v||a.1v;q(!m.1A(k,\'f3\'))E M;O(A i=0;i<m.16.V;i++){q(m.16[i]&&m.16[i].a==a&&!(k.1i&&k.3q[1]==\'4e\')){m.16[i].3M();E 1j}}q(!m.f5)O(A i=0;i<m.16.V;i++){q(m.16[i]&&m.16[i].aW!=el&&!m.16[i].6D){m.16[i].6P()}}m.16[Q]=k;q(!m.9l&&!m.2q){q(m.16[Q-1])m.16[Q-1].26();q(1F m.3d!=\'1L\'&&m.16[m.3d])m.16[m.3d].26()}k.el=el;k.1K=k.aX||m.6K(el);m.7S();A x=k.x=1J m.6A(k,\'x\');x.9M();A y=k.y=1J m.6A(k,\'y\');y.9M();q(/5v/i.11(el.3J))k.b8(el);k.U=m.1d(\'P\',{1v:\'K-U-\'+k.Q,1c:\'K-U \'+k.a9},{1n:\'1q\',1l:\'2l\',1B:m.4F+=2},I,M);k.U.eX=k.U.eS=m.aP;q(k.35==\'2R\'&&k.3Y==2)k.3Y=0;q(!k.1Z||(k.1i&&k.2E&&k.3q[1]==\'4e\')){k[k.35+\'9H\']()}J q(m.4n[k.1Z]){k.9I();k[k.35+\'9H\']()}J{k.6n();A B=k;1J m.6r(k.1Z,C(){B.9I();B[B.35+\'9H\']()})}E M};m.5A.5w={9o:C(e){q(m.g8)dq(\'dk \'+e.dl+\': \'+e.dD);J 1S.85.21=k.1e},9I:C(){A 1g=k.1g=m.4n[k.1Z];1g.B=k;1g.2g.G.1B=k.U.G.1B-1;m.4n[k.1Z]=I},6n:C(){q(k.6D||k.2r)E;k.2r=m.2r;A B=k;k.2r.2p=C(){B.6P()};q(!m.1A(k,\'d5\'))E;A B=k,l=k.x.Z(\'9T\')+\'F\',t=k.y.Z(\'9T\')+\'F\';q(!2P&&k.1i&&k.3q[1]==\'4e\')A 2P=k.1i;q(2P){l=2P.x.Z(\'9v\')+\'F\';t=2P.y.Z(\'9v\')+\'F\';k.2r.G.1B=m.4F++}4a(C(){q(B.2r)m.R(B.2r,{1b:l,Y:t,1B:m.4F++})},2w)},ey:C(){A B=k;A 1N=W.1d(\'1N\');k.S=1N;1N.4N=C(){q(m.16[B.Q])B.69()};q(m.e3)1N.dp=C(){E 1j};1N.1c=\'K-2R\';m.R(1N,{1n:\'1q\',1o:\'3X\',1l:\'2l\',6M:\'4v\',1B:3});1N.24=m.18.9W;q(m.4M&&m.2t<73)m.2b.1X(1N);q(m.2h&&m.dH)1N.1e=I;1N.1e=k.1e;k.6n()},d4:C(){q(!m.1A(k,\'da\'))E;k.S=m.86(k.a);q(!k.S)k.S=m.4J(k.88);q(!k.S)k.S=m.89();k.a2([\'6C\']);q(k.6C){A 19=m.4p(k.S,\'P\',\'K-19\');q(19)19.1X(k.6C);k.6C.G.1o=\'3X\'}m.1A(k,\'fp\');A 1s=k.1s=k.S;q(/(3x|1k)/.11(k.2I))k.91(1s);m.2b.1X(k.U);m.R(k.U,{1l:\'fa\',94:\'0 \'+m.9B+\'F 0 \'+m.4W+\'F\'});k.S=m.1d(\'P\',{1c:\'K-3D\'},{1l:\'4y\',1B:3,N:0,2e:\'1q\'},k.U);k.4c=m.1d(\'P\',I,I,k.S,1);k.4c.1X(1s);m.R(1s,{1l:\'4y\',1o:\'3X\',9S:m.18.97||\'\'});q(k.L)1s.G.L=k.L+\'F\';q(k.N)m.R(1s,{N:k.N+\'F\',2e:\'1q\'});q(1s.1O<k.4s)1s.G.L=k.4s+\'F\';q(k.2I==\'2W\'&&!m.86(k.a)){k.6n();A B=k;A 2W=1J m.7x(k.a,1s);2W.1e=k.1e;2W.3F=C(){q(m.16[B.Q])B.69()};2W.9z=C(){85.21=B.1e};2W.9r()}J q(k.2I==\'1k\'&&k.3U==\'60\'){k.6T()}J k.69()},69:C(){1t{q(!k.S)E;k.S.4N=I;q(k.6D)E;J k.6D=M;A x=k.x,y=k.y;q(k.2r){m.R(k.2r,{Y:\'-4v\'});k.2r=I;m.1A(k,\'cu\')}q(k.2E){x.1a=k.S.L;y.1a=k.S.N;m.R(k.S,{L:x.t+\'F\',N:y.t+\'F\'});k.U.1X(k.S);m.2b.1X(k.U)}J q(k.7Z)k.7Z();x.8a();y.8a();m.R(k.U,{1b:(x.1K+x.3s-x.cb)+\'F\',Y:(y.1K+x.3s-y.cb)+\'F\'});k.a0();k.bB();A 2M=x.1a/y.1a;x.8h();k.2T(x);y.8h();k.2T(y);q(k.2A)k.b4();q(k.1x)k.57(0,1);q(k.5Y){q(k.2E)k.cG(2M);J k.8x();A 1R=k.1p;q(1R&&k.1i&&1R.2X&&1R.aT){A H=1R.cB.1l||\'\',p;O(A 1u 2Y m.8g)O(A i=0;i<5;i++){p=k[1u];q(H.3b(m.8g[1u][i])){p.H=k.1i[1u].H+(k.1i[1u].1G-p.1G)+(k.1i[1u].D-p.D)*[0,0,.5,1,1][i];q(1R.aT==\'f0\'){q(p.H+p.D+p.1G+p.36>p.28+p.4K-p.4S)p.H=p.28+p.4K-p.D-p.3o-p.4S-p.1G-p.36;q(p.H<p.28+p.3o)p.H=p.28+p.3o}}}}q(k.2E&&k.x.1a>(k.x.1V||k.x.D)){k.bs();q(k.1T.V==1)k.57()}}k.a5()}1y(e){k.9o(e)}},91:C(6c,1M){A c=m.4p(6c,\'7J\',\'K-19\');q(/(1k|3x)/.11(k.2I)){q(k.4j)c.G.L=k.4j+\'F\';q(k.4x)c.G.N=k.4x+\'F\'}},6T:C(){q(k.aD)E;A B=k;k.19=m.4p(k.1s,\'7J\',\'K-19\');q(k.2I==\'1k\'){k.6n();A 5o=m.3w.5J(1);k.19.1X(5o);k.eP=k.1s.1O;q(!k.4j)k.4j=5o.1O;A 5b=k.1s.1U-k.19.1U,h=k.4x||m.4g.N-5b-m.4d-m.6L,4N=k.3U==\'60\'?\' 4N="q (m.16[\'+k.Q+\']) m.16[\'+k.Q+\'].69()" \':\'\';k.19.2d+=\'<1k 2Z="m\'+(1J 7K()).79()+\'" eQ="0" Q="\'+k.Q+\'" \'+\' G="L:\'+k.4j+\'F; N:\'+h+\'F" \'+4N+\' 1e="\'+k.1e+\'" ></1k>\';k.5o=k.19.2C(\'P\')[0];k.1k=k.19.2C(\'1k\')[0];q(k.3U==\'6x\')k.8A()}q(k.2I==\'3x\'){k.19.1v=k.19.1v||\'m-fY-1v-\'+k.Q;A a=k.8e;q(!a.29)a.29={};q(1F a.29.aN==\'1L\')a.29.aN=\'fR\';q(9p)9p.fT(k.1e,k.19.1v,k.4j,k.4x,a.g1||\'7\',a.gb,a.aG,a.29,a.aF)}k.aD=M},7Z:C(){q(k.1k&&!k.4x){k.1k.G.N=k.19.G.N=k.8p()+\'F\'}k.1s.1X(m.3w);q(!k.x.1a)k.x.1a=k.1s.1O;k.y.1a=k.1s.1U;k.1s.9q(m.3w);q(m.2h&&k.aL>3H(k.1s.5y.N)){k.aL=3H(k.1s.5y.N)}m.R(k.U,{1l:\'2l\',94:\'0\'});m.R(k.S,{L:k.x.t+\'F\',N:k.y.t+\'F\'})},8p:C(){A h;1t{A 2B=k.5C=k.1k.9O||k.1k.6g.W;A 3w=2B.1d(\'P\');3w.G.aJ=\'bc\';2B.19.1X(3w);h=3w.8O;q(m.2h)h+=3H(2B.19.5y.4d)+3H(2B.19.5y.6L)-1}1y(e){h=de}E h},8A:C(){A 5i=k.1s.1O-k.5o.1O;m.3B(k.5o);q(5i<0)5i=0;A 5b=k.1s.1U-k.1k.1U;q(k.5C&&!k.4x&&!k.N&&k.y.D==k.y.1a)1t{k.5C.19.G.2e=\'1q\'}1y(e){}m.R(k.1k,{L:1h.9Y(k.x.D-5i)+\'F\',N:1h.9Y(k.y.D-5b)+\'F\'});m.R(k.19,{L:k.1k.G.L,N:k.1k.G.N});k.52=k.1k;k.2s=k.52},b4:C(){k.91(k.1s);q(k.2I==\'3x\'&&k.3U==\'60\')k.6T();q(k.x.D<k.x.1a&&!k.6J)k.x.D=k.x.1a;q(k.y.D<k.y.1a&&!k.6X)k.y.D=k.y.1a;k.2s=k.1s;m.R(k.4c,{1l:\'4y\',L:k.x.D+\'F\'});m.R(k.1s,{8H:\'1E\',L:\'1M\',N:\'1M\'});A 1P=m.4p(k.1s,\'7J\',\'K-19\');q(1P&&!/(1k|3x)/.11(k.2I)){A 5f=1P;1P=m.1d(5f.d8,I,{2e:\'1q\'},I,M);5f.23.dG(1P,5f);1P.1X(m.3w);1P.1X(5f);A 5i=k.1s.1O-1P.1O;A 5b=k.1s.1U-1P.1U;1P.9q(m.3w);A 6E=m.4M||4A.av==\'at\'?1:0;m.R(1P,{L:(k.x.D-5i-6E)+\'F\',N:(k.y.D-5b)+\'F\',2e:\'1M\',1l:\'4y\'});q(6E&&5f.1U>1P.1U){1P.G.L=(3H(1P.G.L)+6E)+\'F\'}k.52=1P;k.2s=k.52}q(k.1k&&k.3U==\'60\')k.8A();q(!k.52&&k.y.D<k.4c.1U)k.2s=k.S;q(k.2s==k.S&&!k.6J&&!/(1k|3x)/.11(k.2I)){k.x.D+=17}q(k.2s&&k.2s.1U>k.2s.23.1U){4a("1t { m.16["+k.Q+"].2s.G.2e = \'1M\'; } 1y(e) {}",m.6W)}},b8:C(5v){A c=5v.fC.7G(\',\');O(A i=0;i<c.V;i++)c[i]=3H(c[i]);q(5v.ff.5G()==\'eI\'){k.x.1K+=c[0]-c[2];k.y.1K+=c[1]-c[2];k.x.t=k.y.t=2*c[2]}J{A 5H,5z,5x=5H=c[0],5B=5z=c[1];O(A i=0;i<c.V;i++){q(i%2==0){5x=1h.31(5x,c[i]);5H=1h.4t(5H,c[i])}J{5B=1h.31(5B,c[i]);5z=1h.4t(5z,c[i])}}k.x.1K+=5x;k.x.t=5H-5x;k.y.1K+=5B;k.y.t=5z-5B}},2T:C(p,5u){A 4H,2P=p.2L,1u=p==k.x?\'x\':\'y\';q(2P&&2P.3b(/ /)){4H=2P.7G(\' \');2P=4H[0]}q(2P&&m.$(2P)){p.H=m.6K(m.$(2P))[1u];q(4H&&4H[1]&&4H[1].3b(/^[-]?[0-9]+F$/))p.H+=3H(4H[1]);q(p.D<p.2U)p.D=p.2U}J q(p.2T==\'1M\'||p.2T==\'4X\'){A 8C=1j;A 5s=p.B.5Y;q(p.2T==\'4X\')p.H=1h.3e(p.28+(p.4K+p.3o-p.4S-p.Z(\'2f\'))/2);J p.H=1h.3e(p.H-((p.Z(\'2f\')-p.t)/2));q(p.H<p.28+p.3o){p.H=p.28+p.3o;8C=M}q(!5u&&p.D<p.2U){p.D=p.2U;5s=1j}q(p.H+p.Z(\'2f\')>p.28+p.4K-p.4S){q(!5u&&8C&&5s){p.D=1h.31(p.D,p.Z(1u==\'y\'?\'5e\':\'8D\'))}J q(p.Z(\'2f\')<p.Z(\'5e\')){p.H=p.28+p.4K-p.4S-p.Z(\'2f\')}J{p.H=p.28+p.3o;q(!5u&&5s)p.D=p.Z(1u==\'y\'?\'5e\':\'8D\')}}q(!5u&&p.D<p.2U){p.D=p.2U;5s=1j}}J q(p.2T==\'4t\'){p.H=1h.dm(p.H-p.D+p.t)}q(p.H<p.3o){A cH=p.H;p.H=p.3o;q(5s&&!5u)p.D=p.D-(p.H-cH)}},cG:C(2M){A x=k.x,y=k.y,3T=1j,3f=1h.31(x.1a,x.D),3y=1h.31(y.1a,y.D),3t=(k.3t||m.5S);q(3f/3y>2M){ 3f=3y*2M;q(3f<x.2U){3f=x.2U;3y=3f/2M}3T=M}J q(3f/3y<2M){ 3y=3f/2M;3T=M}q(m.5S&&x.1a<x.2U){x.1V=x.1a;y.D=y.1V=y.1a}J q(k.3t){x.1V=3f;y.1V=3y}J{x.D=3f;y.D=3y}3T=k.8x(k.3t?I:2M,3T);q(3t&&y.D<y.1V){y.1V=y.D;x.1V=y.D*2M}q(3T||3t){x.H=x.1K-x.cb+x.3s;x.2U=x.D;k.2T(x,M);y.H=y.1K-y.cb+y.3s;y.2U=y.D;k.2T(y,M);q(k.1x)k.57()}},8x:C(2M,3T){A x=k.x,y=k.y;q(k.1x&&(k.2E||k.6X)){5g(y.D>k.6k&&x.D>k.4s&&y.Z(\'2f\')>y.Z(\'5e\')){y.D-=10;q(2M)x.D=y.D*2M;k.57(0,1);3T=M}}E 3T},dS:C(){q(k.2s){A h=/1k/i.11(k.2s.3J)?(k.8p()+1)+\'F\':\'1M\';q(k.19)k.19.G.N=h;k.2s.G.N=h;k.y.72(k.1s.1U)}},a5:C(){A x=k.x,y=k.y;k.59(\'1q\');m.1A(k,\'et\');q(k.1p&&k.1p.2D)k.1p.2D.5t();k.9b(1,{U:{L:x.Z(\'2f\'),N:y.Z(\'2f\'),1b:x.H,Y:y.H},S:{1b:x.1G+x.Z(\'2K\'),Y:y.1G+y.Z(\'2K\'),L:x.1V||x.D,N:y.1V||y.D}},m.6W)},9b:C(1I,2i,4i){A 5M=k.3q,8o=1I?(k.1i?k.1i.a:I):m.2q,t=(5M[1]&&8o&&m.43(8o,\'3q\')[1]==5M[1])?5M[1]:5M[0];q(k[t]&&t!=\'2F\'){k[t](1I,2i);E}q(k.1g&&!k.3Y){q(1I)k.1g.4C();J k.1g.5U((k.2A&&k.4D))}q(!1I)k.78();A B=k,x=B.x,y=B.y,2Q=k.2Q;q(!1I)2Q=k.cF||2Q;A 6x=1I?C(){q(B.1g)B.1g.2g.G.1n="1Y";4a(C(){B.6I()},50)}:C(){B.5D()};q(1I)m.R(k.U,{L:x.t+\'F\',N:y.t+\'F\'});q(1I&&k.2A){m.R(k.U,{1b:(x.1K-x.cb+x.3s)+\'F\',Y:(y.1K-y.cb+y.3s)+\'F\'})}q(k.cD){m.R(k.U,{1z:1I?0:1});m.3A(2i.U,{1z:1I})}m.2z(k.U,2i.U,{4h:4i,2Q:2Q,3P:C(3j,2H){q(B.1g&&B.3Y&&2H.1f==\'Y\'){A 5W=1I?2H.H:1-2H.H;A H={w:x.t+(x.Z(\'2f\')-x.t)*5W,h:y.t+(y.Z(\'2f\')-y.t)*5W,x:x.1K+(x.H-x.1K)*5W,y:y.1K+(y.H-y.1K)*5W};B.1g.4C(H,0,1)}q(B.2A){q(2H.1f==\'1b\')B.4c.G.1b=(x.H-3j)+\'F\';q(2H.1f==\'Y\')B.4c.G.Y=(y.H-3j)+\'F\'}}});m.2z(k.S,2i.S,4i,2Q,6x);q(1I){k.U.G.1n=\'1Y\';k.S.G.1n=\'1Y\';q(k.2A)k.1s.G.1n=\'1Y\';k.a.1c+=\' K-4I-46\'}},6w:C(1I,2i){k.3Y=1j;A B=k,t=1I?m.6W:0;q(1I){m.2z(k.U,2i.U,0);m.R(k.U,{1z:0,1n:\'1Y\'});m.2z(k.S,2i.S,0);k.S.G.1n=\'1Y\';m.2z(k.U,{1z:1},t,I,C(){B.6I()})}q(k.1g){k.1g.2g.G.1B=k.U.G.1B;A 6Z=1I||-1,1w=k.1g.1w,8r=1I?3:1w,8q=1I?1w:3;O(A i=8r;6Z*i<=6Z*8q;i+=6Z,t+=25){(C(){A o=1I?8q-i:8r-i;4a(C(){B.1g.4C(0,o,1)},t)})()}}q(1I){}J{4a(C(){q(B.1g)B.1g.5U(B.4D);B.78();m.2z(B.U,{1z:0},m.9A,I,C(){B.5D()})},t)}},4e:C(1I,2i,8u){q(!1I)E;A B=k,1i=k.1i,x=k.x,y=k.y,3n=1i.x,3g=1i.y,U=k.U,S=k.S,1x=k.1x;m.4z(W,\'7D\',m.6H);m.R(S,{L:(x.1V||x.D)+\'F\',N:(y.1V||y.D)+\'F\'});q(1x)1x.G.2e=\'1Y\';k.1g=1i.1g;q(k.1g)k.1g.B=B;1i.1g=I;A 5l=m.1d(\'P\',{1c:\'K-\'+k.35},{1l:\'2l\',1B:4,2e:\'1q\',1o:\'1E\'});A 8t={cN:1i,cM:k};O(A n 2Y 8t){k[n]=8t[n].S.5J(1);m.R(k[n],{1l:\'2l\',8H:0,1n:\'1Y\'});5l.1X(k[n])}U.1X(5l);q(k.2A)m.R(k.4c,{1b:0,Y:0});q(1x){1x.1c=\'\';U.1X(1x)}5l.G.1o=\'\';1i.S.G.1o=\'1E\';q(m.4M&&m.2t<73){k.U.G.1n=\'1Y\'}m.2z(U,{L:x.D},{4h:m.cE,3P:C(3j,2H){A H=2H.H,4B=1-H;A 1f,D={},93=[\'H\',\'D\',\'1G\',\'36\'];O(A n 2Y 93){1f=93[n];D[\'x\'+1f]=1h.3e(4B*3n[1f]+H*x[1f]);D[\'y\'+1f]=1h.3e(4B*3g[1f]+H*y[1f]);D.cI=1h.3e(4B*(3n.1V||3n.D)+H*(x.1V||x.D));D.6S=1h.3e(4B*3n.Z(\'2K\')+H*x.Z(\'2K\'));D.cJ=1h.3e(4B*(3g.1V||3g.D)+H*(y.1V||y.D));D.6V=1h.3e(4B*3g.Z(\'2K\')+H*y.Z(\'2K\'))}q(B.1g)B.1g.4C({x:D.3h,y:D.3r,w:D.5L+D.44+D.8U+2*x.cb,h:D.5K+D.45+D.8T+2*y.cb});1i.U.G.d7=\'d6(\'+(D.3r-3g.H)+\'F, \'+(D.5L+D.44+D.8U+D.3h+2*3n.cb-3n.H)+\'F, \'+(D.5K+D.45+D.8T+D.3r+2*3g.cb-3g.H)+\'F, \'+(D.3h-3n.H)+\'F)\';m.R(S,{Y:(D.45+y.Z(\'2K\'))+\'F\',1b:(D.44+x.Z(\'2K\'))+\'F\',4d:(y.H-D.3r)+\'F\',4W:(x.H-D.3h)+\'F\'});m.R(U,{Y:D.3r+\'F\',1b:D.3h+\'F\',L:(D.44+D.8U+D.5L+2*x.cb)+\'F\',N:(D.45+D.8T+D.5K+2*y.cb)+\'F\'});m.R(5l,{L:(D.cI||D.5L)+\'F\',N:(D.cJ||D.5K)+\'F\',1b:(D.44+D.6S)+\'F\',Y:(D.45+D.6V)+\'F\',1n:\'1Y\'});m.R(B.cN,{Y:(3g.H-D.3r+3g.1G-D.45+3g.Z(\'2K\')-D.6V)+\'F\',1b:(3n.H-D.3h+3n.1G-D.44+3n.Z(\'2K\')-D.6S)+\'F\'});m.R(B.cM,{1z:H,Y:(y.H-D.3r+y.1G-D.45+y.Z(\'2K\')-D.6V)+\'F\',1b:(x.H-D.3h+x.1G-D.44+x.Z(\'2K\')-D.6S)+\'F\'});q(1x)m.R(1x,{L:D.5L+\'F\',N:D.5K+\'F\',1b:(D.44+x.cb)+\'F\',Y:(D.45+y.cb)+\'F\'})},76:C(){U.G.1n=S.G.1n=\'1Y\';S.G.1o=\'3X\';m.3B(5l);B.6I();1i.5D();B.1i=I}})},bQ:C(o,el){q(!k.1i)E 1j;O(A i=0;i<k.1i.1T.V;i++){A 6G=m.$(\'22\'+k.1i.1T[i]);q(6G&&6G.22==o.22){k.9V();6G.cS=k.Q;m.2o(k.1T,k.1i.1T[i]);E M}}E 1j},6I:C(){k.55=M;k.3M();q(k.2A&&k.3U==\'6x\')k.6T();q(k.1k){1t{A B=k,2B=k.1k.9O||k.1k.6g.W;m.2j(2B,\'8y\',C(){q(m.3d!=B.Q)B.3M()})}1y(e){}q(m.2h&&1F k.62!=\'cW\')k.1k.G.L=(k.4j-1)+\'F\'}q(k.4b)m.1u(k);q(m.2q&&m.2q==k.a)m.2q=I;k.cL();A p=m.4g,8Q=m.7B.x+p.5O,8P=m.7B.y+p.5R;k.9C=k.x.H<8Q&&8Q<k.x.H+k.x.Z(\'2f\')&&k.y.H<8P&&8P<k.y.H+k.y.Z(\'2f\');q(k.1x)k.bn();m.1A(k,\'d1\')},cL:C(){A Q=k.Q;A 1Z=k.1Z;1J m.6r(1Z,C(){1t{m.16[Q].cP()}1y(e){}})},cP:C(){A 1D=k.7V(1);q(1D&&1D.2p.cC().3b(/m\\.2F/))A 1N=m.1d(\'1N\',{1e:m.7s(1D)})},7V:C(2n){A 7U=k.7v(),as=m.4U.3i[k.2N||\'1E\'];q(as&&!as[7U+2n]&&k.1p&&k.1p.cm){q(2n==1)E as[0];J q(2n==-1)E as[as.V-1]}E(as&&as[7U+2n])||I},7v:C(){A 2a=m.6p().3i[k.2N||\'1E\'];q(2a)O(A i=0;i<2a.V;i++){q(2a[i]==k.a)E i}E I},bq:C(){q(k[k.6l]){A 2a=m.4U.3i[k.2N||\'1E\'];q(2a){A s=m.18.3G.2k(\'%1\',k.7v()+1).2k(\'%2\',2a.V);k[k.6l].2d=\'<P 1W="K-3G">\'+s+\'</P>\'+k[k.6l].2d}}},a0:C(){q(!k.1i){O(A i=0;i<m.6u.V;i++){A 1R=m.6u[i],3c=1R.2N;q(1F 3c==\'1L\'||3c===I||3c===k.2N)k.1p=1J m.83(k.Q,1R)}}J{k.1p=k.1i.1p}A 1R=k.1p;q(!1R)E;A Q=1R.4k=k.Q;1R.ch();1R.5d(\'1a-2F\');q(1R.2X){k.4O(m.3A(1R.cB||{},{4P:1R.2X,22:\'2X\',1B:5}))}q(1R.2D)1R.2D.7p(k);q(!k.1i&&k.42)1R.3L(M);q(1R.42){1R.42=4a(C(){m.1D(Q)},(1R.fH||fs))}},6P:C(){m.3B(k.U);m.16[k.Q]=I;q(m.2q==k.a)m.2q=I;m.9x(k.Q);q(k.2r)m.2r.G.1b=\'-4v\';m.1A(k,\'cu\')},bp:C(){q(k.67)E;k.67=m.1d(\'a\',{21:m.ct,2L:m.cs,1c:\'K-67\',2d:m.18.cq,24:m.18.cr});k.4O({4P:k.67,1l:k.cv||\'Y 1b\',22:\'67\'})},a2:C(8f,cy){O(A i=0;i<8f.V;i++){A T=8f[i],s=I;q(T==\'9X\'&&!m.1A(k,\'eH\'))E;J q(T==\'58\'&&!m.1A(k,\'eG\'))E;q(!k[T+\'5p\']&&k.6Q)k[T+\'5p\']=T+\'-O-\'+k.6Q;q(k[T+\'5p\'])k[T]=m.4J(k[T+\'5p\']);q(!k[T]&&!k[T+\'8j\']&&k[T+\'cw\'])1t{s=fh(k[T+\'cw\'])}1y(e){}q(!k[T]&&k[T+\'8j\']){s=k[T+\'8j\']}q(!k[T]&&!s){k[T]=m.4J(k.a[\'cA\'+T+\'5p\']);q(!k[T]){A 1D=k.a.cz;5g(1D&&!m.77(1D)){q((1J 4Y(\'K-\'+T)).11(1D.1c||I)){q(!1D.1v)k.a[\'cA\'+T+\'5p\']=1D.1v=\'22\'+m.61++;k[T]=m.4J(1D.1v);5m}1D=1D.cz}}}q(!k[T]&&!s&&k.6l==T)s=\'\\n\';q(!k[T]&&s)k[T]=m.1d(\'P\',{1c:\'K-\'+T,2d:s});q(cy&&k[T]){A o={1l:(T==\'58\')?\'5N\':\'7E\'};O(A x 2Y k[T+\'cx\'])o[x]=k[T+\'cx\'][x];o.4P=k[T];k.4O(o)}}},59:C(1n){q(m.cO)k.6B(\'fk\',1n);q(m.cQ)k.6B(\'dd\',1n);q(m.6y)k.6B(\'*\',1n)},6B:C(3J,1n){A 1m=W.2C(3J);A 1f=3J==\'*\'?\'2e\':\'1n\';O(A i=0;i<1m.V;i++){q(1f==\'1n\'||(W.8L.cK(1m[i],"").co(\'2e\')==\'1M\'||1m[i].bH(\'1q-by\')!=I)){A 2S=1m[i].bH(\'1q-by\');q(1n==\'1Y\'&&2S){2S=2S.2k(\'[\'+k.Q+\']\',\'\');1m[i].5F(\'1q-by\',2S);q(!2S)1m[i].G[1f]=1m[i].9N}J q(1n==\'1q\'){A 3N=m.6K(1m[i]);3N.w=1m[i].1O;3N.h=1m[i].1U;q(!k.4b){A bl=(3N.x+3N.w<k.x.Z(\'6e\')||3N.x>k.x.Z(\'6e\')+k.x.Z(\'9R\'));A bG=(3N.y+3N.h<k.y.Z(\'6e\')||3N.y>k.y.Z(\'6e\')+k.y.Z(\'9R\'))}A 6F=m.9U(1m[i]);q(!bl&&!bG&&6F!=k.Q){q(!2S){1m[i].5F(\'1q-by\',\'[\'+k.Q+\']\');1m[i].9N=1m[i].G[1f];1m[i].G[1f]=\'1q\'}J q(2S.bF(\'[\'+k.Q+\']\')==-1){1m[i].5F(\'1q-by\',2S+\'[\'+k.Q+\']\')}}J q((2S==\'[\'+k.Q+\']\'||m.3d==6F)&&6F!=k.Q){1m[i].5F(\'1q-by\',\'\');1m[i].G[1f]=1m[i].9N||\'\'}J q(2S&&2S.bF(\'[\'+k.Q+\']\')>-1){1m[i].5F(\'1q-by\',2S.2k(\'[\'+k.Q+\']\',\'\'))}}}}},3M:C(){k.U.G.1B=m.4F+=2;O(A i=0;i<m.16.V;i++){q(m.16[i]&&i==m.3d){A 4r=m.16[i];4r.S.1c+=\' K-\'+4r.35+\'-9J\';q(4r.2E){4r.S.G.4L=m.3Z?\'bE\':\'7Q\';4r.S.24=m.18.bD}m.1A(4r,\'eW\')}}q(k.1g)k.1g.2g.G.1B=k.U.G.1B-1;k.S.1c=\'K-\'+k.35;q(k.2E){k.S.24=m.18.9W;q(m.6h){m.54=1S.3z?\'7Q\':\'7T(\'+m.5c+m.6h+\'), 7Q\';q(m.3Z&&m.2t<6)m.54=\'bE\';k.S.G.4L=m.54}}m.3d=k.Q;m.2j(W,1S.3z?\'6U\':\'71\',m.68);m.1A(k,\'fd\')},9m:C(x,y){k.x.aa(x);k.y.aa(y)},3O:C(e){A w,h,r=e.L/e.N;w=1h.4t(e.L+e.dX,1h.31(k.4s,k.x.1a));q(k.2E&&1h.9Y(w-k.x.1a)<12)w=k.x.1a;h=k.2A?e.N+e.dY:w/r;q(h<1h.31(k.6k,k.y.1a)){h=1h.31(k.6k,k.y.1a);q(k.2E)w=h*r}k.9h(w,h)},9h:C(w,h){k.y.72(h);k.x.72(w);k.U.G.N=k.y.Z(\'2f\')+\'F\'},26:C(){q(k.62||!k.55)E;q(k.3q[1]==\'4e\'&&m.2q){m.2G(m.2q).6P();m.2q=I}q(!m.1A(k,\'eV\'))E;k.62=M;q(k.1p&&!m.2q)k.1p.3p();m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{q(k.2A)k.bJ();k.S.G.4L=\'fj\';k.9b(0,{U:{L:k.x.t,N:k.y.t,1b:k.x.1K-k.x.cb+k.x.3s,Y:k.y.1K-k.y.cb+k.y.3s},S:{1b:0,Y:0,L:k.x.t,N:k.y.t}},m.9A)}1y(e){k.5D()}},bJ:C(){q(m.6y){q(!m.6s)m.6s=m.1d(\'P\',I,{1l:\'2l\'},m.2b);m.R(m.6s,{L:k.x.D+\'F\',N:k.y.D+\'F\',1b:k.x.H+\'F\',Y:k.y.H+\'F\',1o:\'3X\'})}q(k.2I==\'3x\')1t{m.$(k.19.1v).f9()}1y(e){}q(k.3U==\'6x\'&&!k.4D)k.bK();q(k.2s&&k.2s!=k.52)k.2s.G.2e=\'1q\'},bK:C(){q(m.2h&&k.1k)1t{k.1k.6g.W.19.2d=\'\'}1y(e){}q(k.2I==\'3x\')9p.fb(k.19.1v);k.19.2d=\'\'},bx:C(){q(k.1g)k.1g.2g.G.1o=\'1E\';k.3W=I;k.U.G.1o=\'1E\';k.55=1j;m.2o(m.4R,k)},bP:C(){1t{m.16[k.Q]=k;q(!m.9l&&m.3d!=k.Q){1t{m.16[m.3d].26()}1y(e){}}A z=m.4F++,5X={1o:\'\',1B:z};m.R(k.U,5X);k.62=1j;A o=k.1g||0;q(o){q(!k.3Y)5X.1n=\'1q\';m.R(o.2g,5X)}q(k.1p){k.a0()}k.a5()}1y(e){}},4O:C(o){A el=o.4P,53=(o.bO==\'2x\'&&!/7M$/.11(o.1l));q(1F el==\'a8\')el=m.4J(el);q(o.3D)el=m.1d(\'P\',{2d:o.3D});q(!el||1F el==\'a8\')E;q(!m.1A(k,\'f7\',{14:el}))E;el.G.1o=\'3X\';o.22=o.22||o.4P;q(k.3q[1]==\'4e\'&&k.bQ(o,el))E;k.9V();A L=o.L&&/^[0-9]+(F|%)$/.11(o.L)?o.L:\'1M\';q(/^(1b|3m)7M$/.11(o.1l)&&!/^[0-9]+F$/.11(o.L))L=\'f2\';A 14=m.1d(\'P\',{1v:\'22\'+m.61++,22:o.22},{1l:\'2l\',1n:\'1q\',L:L,9S:m.18.97||\'\',1z:0},53?m.2x:k.1x,M);q(53)14.6R=k.Q;14.1X(el);m.3A(14,{1z:1,bN:0,bL:0,4i:(o.6w===0||o.6w===1j||(o.6w==2&&m.2h))?0:5Z});m.3A(14,o);q(k.bo){k.5V(14);q(!14.7d||k.9C)m.2z(14,{1z:14.1z},14.4i)}m.2o(k.1T,m.61-1)},5V:C(14){A p=14.1l||\'9a 4X\',53=(14.bO==\'2x\'),74=14.bN,6O=14.bL;q(53){m.2x.G.1o=\'3X\';14.6R=k.Q;q(14.1O>14.23.1O)14.G.L=\'2w%\'}J q(14.23!=k.1x)k.1x.1X(14);q(/1b$/.11(p))14.G.1b=74+\'F\';q(/4X$/.11(p))m.R(14,{1b:\'50%\',4W:(74-1h.3e(14.1O/2))+\'F\'});q(/3m$/.11(p))14.G.3m=-74+\'F\';q(/^bM$/.11(p)){m.R(14,{3m:\'2w%\',9B:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.1G=14.1O}J q(/^bC$/.11(p)){m.R(14,{1b:\'2w%\',4W:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.36=14.1O}A 9d=14.23.1U;14.G.N=\'1M\';q(53&&14.1U>9d)14.G.N=m.3Z?9d+\'F\':\'2w%\';q(/^Y/.11(p))14.G.Y=6O+\'F\';q(/^9a/.11(p))m.R(14,{Y:\'50%\',4d:(6O-1h.3e(14.1U/2))+\'F\'});q(/^4Q/.11(p))14.G.4Q=-6O+\'F\';q(/^5N$/.11(p)){m.R(14,{1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',4Q:\'2w%\',6L:k.y.cb+\'F\',L:\'1M\'});k.y.1G=14.1U}J q(/^7E$/.11(p)){m.R(14,{1l:\'4y\',1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',Y:\'2w%\',4d:k.y.cb+\'F\',L:\'1M\'});k.y.36=14.1U;14.G.1l=\'2l\'}},bB:C(){k.a2([\'58\',\'9X\'],M);k.bq();q(k.9X)m.1A(k,\'eE\');q(k.58)m.1A(k,\'eF\');q(k.58&&k.a7)k.58.1c+=\' K-3u\';q(m.br)k.bp();O(A i=0;i<m.1T.V;i++){A o=m.1T[i],6N=o.9P,3c=o.2N;q((!6N&&!3c)||(6N&&6N==k.6Q)||(3c&&3c===k.2N)){q(k.2E||(k.2A&&o.eO))k.4O(o)}}A 7I=[];O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);q(/7M$/.11(o.1l))k.5V(o);J m.2o(7I,o)}O(A i=0;i<7I.V;i++)k.5V(7I[i]);k.bo=M},9V:C(){q(!k.1x)k.1x=m.1d(\'P\',{1c:k.a9},{1l:\'2l\',L:(k.x.D||(k.3t?k.L:I)||k.x.1a)+\'F\',N:(k.y.D||k.y.1a)+\'F\',1n:\'1q\',2e:\'1q\',1B:m.2h?4:\'1M\'},m.2b,M)},57:C(98,bm){A 1x=k.1x,x=k.x,y=k.y;m.R(1x,{L:x.D+\'F\',N:y.D+\'F\'});q(98||bm){O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);A 9E=(m.3Z||W.7a==\'8v\');q(o&&/^(5N|7E)$/.11(o.1l)){q(9E){o.G.L=(1x.1O+2*x.cb+x.1G+x.36)+\'F\'}y[o.1l==\'5N\'?\'1G\':\'36\']=o.1U}q(o&&9E&&/^(1b|3m)7M$/.11(o.1l)){o.G.N=(1x.1U+2*y.cb)+\'F\'}}}q(98){m.R(k.S,{Y:y.1G+\'F\'});m.R(1x,{Y:(y.1G+y.cb)+\'F\'})}},bn:C(){A b=k.1x;b.1c=\'\';m.R(b,{Y:(k.y.1G+k.y.cb)+\'F\',1b:(k.x.1G+k.x.cb)+\'F\',2e:\'1Y\'});q(m.4M)b.G.1n=\'1Y\';k.U.1X(b);O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);o.G.1B=o.1B||4;q(!o.7d||k.9C){o.G.1n=\'1Y\';m.R(o,{1n:\'1Y\',1o:\'\'});m.2z(o,{1z:o.1z},o.4i)}}},78:C(){q(!k.1T.V)E;q(k.1p){A c=k.1p.2X;q(c&&m.2G(c)==k)c.23.9q(c)}O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);q(o&&o.23==m.2x&&m.2G(o)==k)m.3B(o)}q(k.2A&&k.4D){k.1x.G.Y=\'-4v\';m.2b.1X(k.1x)}J m.3B(k.1x)},bs:C(){q(k.1p&&k.1p.2X){k.1p.4u(\'1a-2F\');E}k.7u=m.1d(\'a\',{21:\'bt:m.16[\'+k.Q+\'].7r();\',24:m.18.9Z,1c:\'K-1a-2F\'});q(!m.1A(k,\'fq\'))E;k.4O({4P:k.7u,1l:m.bz,7d:M,1z:m.bA})},7r:C(){1t{q(!m.1A(k,\'fZ\'))E;q(k.7u)m.3B(k.7u);k.3M();A 3f=k.x.D,3y=k.y.D;k.9h(k.x.1a,k.y.1a);A 3h=k.x.H-(k.x.D-3f)/2;q(3h<m.4W)3h=m.4W;A 3r=k.y.H-(k.y.D-3y)/2;q(3r<m.4d)3r=m.4d;k.9m(3h,3r);k.59(\'1q\')}1y(e){k.9o(e)}},5D:C(){k.a.1c=k.a.1c.2k(\'K-4I-46\',\'\');k.59(\'1Y\');q(k.2A&&k.4D&&k.3q[1]!=\'4e\'){k.bx()}J{q(k.1g&&k.3Y)k.1g.5U();m.3B(k.U)}q(m.6s)m.6s.G.1o=\'1E\';k.78();q(!m.2x.7L.V)m.2x.G.1o=\'1E\';q(k.4b)m.9x(k.Q);m.1A(k,\'fW\');m.16[k.Q]=I;m.bw()}};m.7x=C(a,S,7t){k.a=a;k.S=S;k.7t=7t};m.7x.5w={9r:C(){A 2V;q(!k.1e)k.1e=m.7s(k.a);q(k.1e.3b(\'#\')){A 2a=k.1e.7G(\'#\');k.1e=2a[0];k.1v=2a[1]}q(m.7k[k.1e]){k.cd=m.7k[k.1e];q(k.1v)k.a3();J k.6f();E}1t{2V=1J cp()}1y(e){1t{2V=1J bu("fS.bR")}1y(e){1t{2V=1J bu("bv.bR")}1y(e){k.9z()}}}A 3v=k;2V.gc=C(){q(3v.2V.bS==4){q(3v.1v)3v.a3();J 3v.6f()}};A 1e=k.1e;k.2V=2V;q(m.g3)1e=1e.2k(/$/,(/\\?/.11(1e)?\'&\':\'?\')+\'g6=\'+(1J 7K()).79());2V.ca(\'fQ\',1e,M);2V.ce(\'X-fA-fB\',\'cp\');2V.ce(\'fu-fv\',\'fL/x-fO-9j-fJ\');2V.fF(I)},a3:C(){m.7m();A 4l=1S.3z||m.cf?{1e:\'fI:eC\'}:I;k.1k=m.1d(\'1k\',4l,{1l:\'2l\',Y:\'-4v\'},m.2b);k.6f()},6f:C(){A s=k.cd||k.2V.dn,7H;q(k.7t)m.7k[k.1e]=s;q(!m.2h||m.2t>=5.5){s=s.2k(1J 4Y(\'<di[^>]*>\',\'c9\'),\'\').2k(1J 4Y(\'<cc[^>]*>.*?</cc>\',\'c9\'),\'\');q(k.1k){A 2B=k.1k.9O;q(!2B&&k.1k.6g)2B=k.1k.6g.W;q(!2B){A 3v=k;4a(C(){3v.6f()},25);E}2B.ca();2B.dg(s);2B.26();1t{s=2B.9Q(k.1v).2d}1y(e){1t{s=k.1k.W.9Q(k.1v).2d}1y(e){}}m.3B(k.1k)}J{7H=/(<19[^>]*>|<\\/19>)/db;q(7H.11(s))s=s.7G(7H)[m.3R?1:2]}}m.4p(k.S,\'7J\',\'K-19\').2d=s;k.3F();O(A x 2Y k)k[x]=I}};m.83=C(4k,1r){q(m.cX!==1j)m.95();k.4k=4k;O(A x 2Y 1r)k[x]=1r[x];q(k.cZ)k.cg();q(k.2D)k.2D=m.ci(k)};m.83.5w={cg:C(){k.2X=m.1d(\'P\',{2d:m.8b(m.8i.2X)},I,m.2b);A 6j=[\'3L\',\'3p\',\'3a\',\'1D\',\'3u\',\'1a-2F\',\'26\'];k.1Q={};A 3v=k;O(A i=0;i<6j.V;i++){k.1Q[6j[i]]=m.4p(k.2X,\'1H\',\'K-\'+6j[i]);k.4u(6j[i])}k.1Q.3p.G.1o=\'1E\'},ch:C(){q(k.cm||!k.2X)E;A B=m.16[k.4k],5q=B.7v(),2m=/7w$/;q(5q==0)k.5d(\'3a\');J q(2m.11(k.1Q.3a.2C(\'a\')[0].1c))k.4u(\'3a\');q(5q+1==m.4U.3i[B.2N||\'1E\'].V){k.5d(\'1D\');k.5d(\'3L\')}J q(2m.11(k.1Q.1D.2C(\'a\')[0].1c)){k.4u(\'1D\');k.4u(\'3L\')}},4u:C(1Q){q(!k.1Q)E;A cn=k,a=k.1Q[1Q].2C(\'a\')[0],2m=/7w$/;a.2p=C(){cn[1Q]();E 1j};q(2m.11(a.1c))a.1c=a.1c.2k(2m,\'\')},5d:C(1Q){q(!k.1Q)E;A a=k.1Q[1Q].2C(\'a\')[0];a.2p=C(){E 1j};q(!/7w$/.11(a.1c))a.1c+=\' 7w\'},cl:C(){q(k.42)k.3p();J k.3L()},3L:C(ck){q(k.1Q){k.1Q.3L.G.1o=\'1E\';k.1Q.3p.G.1o=\'\'}k.42=M;q(!ck)m.1D(k.4k)},3p:C(){q(k.1Q){k.1Q.3p.G.1o=\'1E\';k.1Q.3L.G.1o=\'\'}d9(k.42);k.42=I},3a:C(){k.3p();m.3a(k.1Q.3a)},1D:C(){k.3p();m.1D(k.1Q.1D)},3u:C(){},\'1a-2F\':C(){m.2G().7r()},26:C(){m.26(k.1Q.26)}};m.ci=C(1p){C 7p(B){m.3A(1r||{},{4P:4E,22:\'2D\',1c:\'K-2D-\'+5k+\'-14 \'+(1r.1c||\'\')});q(m.3Z)1r.6w=0;B.4O(1r);m.R(4E.23,{2e:\'1q\'})};C 28(3K){5t(1L,1h.3e(3K*4E[3S?\'1O\':\'1U\']*0.7))};C 5t(i,80){q(i===1L)O(A j=0;j<5I.V;j++){q(5I[j]==m.16[1p.4k].a){i=j;5m}}q(i===1L)E;A as=4E.2C(\'a\'),4I=as[i],48=4I.23,1b=3S?\'cj\':\'c8\',3m=3S?\'c7\':\'bX\',L=3S?\'bY\':\'bW\',4V=\'1w\'+1b,1O=\'1w\'+L,7e=P.23.23[1O],5j=7e-2g[1O],6o=3H(2g.G[3S?\'1b\':\'Y\'])||0,2O=6o,ej=20;q(80!==1L){2O=6o-80;q(5j>0)5j=0;q(2O>0)2O=0;q(2O<5j)2O=5j}J{O(A j=0;j<as.V;j++)as[j].1c=\'\';4I.1c=\'K-4I-46\';A 7X=i>0?as[i-1].23[4V]:48[4V],7Y=48[4V]+48[1O]+(as[i+1]?as[i+1].23[1O]:0);q(7Y>7e-6o)2O=7e-7Y;J q(7X<-6o)2O=-7X}A 8R=48[4V]+(48[1O]-7f[1O])/2+2O;m.2z(2g,3S?{1b:2O}:{Y:2O},I,\'8S\');m.2z(7f,3S?{1b:8R}:{Y:8R},I,\'8S\');8l.G.1o=2O<0?\'3X\':\'1E\';8M.G.1o=(2O>5j)?\'3X\':\'1E\'};A 5I=m.4U.3i[m.16[1p.4k].2N||\'1E\'],1r=1p.2D,5k=1r.5k||\'bV\',8K=(5k==\'en\'),4f=8K?[\'P\',\'6t\',\'1H\',\'1C\']:[\'2g\',\'4G\',\'47\',\'2J\'],3S=(5k==\'bV\'),4E=m.1d(\'P\',{1c:\'K-2D K-2D-\'+5k,2d:\'<P 1W="K-2D-eg">\'+\'<\'+4f[0]+\'><\'+4f[1]+\'></\'+4f[1]+\'></\'+4f[0]+\'></P>\'+\'<P 1W="K-28-1I"><P></P></P>\'+\'<P 1W="K-28-ee"><P></P></P>\'+\'<P 1W="K-7f"><P></P></P>\'},{1o:\'1E\'},m.2b),5E=4E.7L,P=5E[0],8l=5E[1],8M=5E[2],7f=5E[3],2g=P.ef,4G=4E.2C(4f[1])[0],47;O(A i=0;i<5I.V;i++){q(i==0||!3S)47=m.1d(4f[2],I,I,4G);(C(){A a=5I[i],48=m.1d(4f[3],I,I,47),ex=i;m.1d(\'a\',{21:a.21,24:a.24,2p:C(){q(/K-4I-46/.11(k.1c))E 1j;m.2G(k).3M();E m.8N(a)},2d:m.bT?m.bT(a):a.2d},I,48)})()}q(!8K){8l.2p=C(){28(-1)};8M.2p=C(){28(1)};m.2j(4G,W.eA!==1L?\'er\':\'eq\',C(e){A 3K=0;e=e||1S.2u;q(e.bU){3K=e.bU/dR;q(m.3z)3K=-3K}J q(e.bZ){3K=-e.bZ/3}q(3K)28(-3K*0.2);q(e.5n)e.5n();e.c0=1j})}E{7p:7p,5t:5t}};m.7o=m.18;A e8=m.5A;q(m.2h&&1S==1S.Y){(C(){1t{W.5h.e4(\'1b\')}1y(e){4a(c5.dZ,50);E}m.41()})()}m.2j(W,\'dW\',m.41);m.2j(1S,\'8B\',m.41);m.2j(W,\'41\',C(){q(m.7R||m.4b){A G=m.1d(\'G\',{T:\'e0/8I\'},I,W.2C(\'e1\')[0]),8E=W.7a==\'8v\';C 5P(8m,8n){q(m.2h&&(m.2t<9||8E)){A 1i=W.c6[W.c6.V-1];q(1F(1i.5P)=="7j")1i.5P(8m,8n)}J{G.1X(W.e6(8m+" {"+8n+"}"))}}C 5T(1f){E\'e5( ( ( ez = W.5h.\'+1f+\' ? W.5h.\'+1f+\' : W.19.\'+1f+\' ) ) + \\\'F\\\' );\'}q(m.7R)5P(\'.K 1N\',\'4L: 7T(\'+m.5c+m.7R+\'), 7Q !dA;\');5P(\'.K-2x-D\',m.2h&&(m.2t<7||8E)?\'1l: 2l; \'+\'1b:\'+5T(\'5O\')+\'Y:\'+5T(\'5R\')+\'L:\'+5T(\'8F\')+\'N:\'+5T(\'c4\'):\'1l: fV; L: 2w%; N: 2w%; 1b: 0; Y: 0\')}});m.2j(1S,\'3O\',C(){m.7S();q(m.2x)O(A i=0;i<m.2x.7L.V;i++){A 1P=m.2x.7L[i],B=m.2G(1P);B.5V(1P);q(1P.22==\'2D\')B.1p.2D.5t()}});m.2j(W,\'7D\',C(e){m.7B={x:e.7A,y:e.7F}});m.2j(W,\'8y\',m.8z);m.2j(W,\'c3\',m.8z);m.2j(W,\'41\',m.c1);m.2j(1S,\'8B\',m.c2);m.2j(1S,\'8B\',m.bI)}',62,1006,'||||||||||||||||||||this||hs||||if||||||||||var|exp|function|size|return|px|style|pos|null|else|highslide|width|true|height|for|div|key|setStyles|content|type|wrapper|length|document||top|get||test|||overlay||expanders||lang|body|full|left|className|createElement|src|prop|outline|Math|last|false|iframe|position|els|visibility|display|slideshow|hidden|options|innerContent|try|dim|id|offset|overlayBox|catch|opacity|fireEvent|zIndex|span|next|none|typeof|p1|li|up|new|tpos|undefined|auto|img|offsetWidth|node|btn|ss|window|overlays|offsetHeight|imgSize|class|appendChild|visible|outlineType||href|hsId|parentNode|title||close||scroll|params|arr|container|case|innerHTML|overflow|wsize|table|ie|to|addEventListener|replace|absolute|re|op|push|onclick|upcoming|loading|scrollerDiv|uaVersion|event|dimmer|100|viewport|dragArgs|animate|isHtml|doc|getElementsByTagName|thumbstrip|isImage|expand|getExpander|args|objectType|td|imgPad|target|ratio|slideshowGroup|tblPos|tgt|easing|image|hiddenBy|justify|minSize|xhr|ajax|controls|in|name|elem|min||||contentType|p2||||previous|match|sg|focusKey|round|xSize|lastY|xpos|groups|val|wh|ucwh|right|lastX|marginMin|pause|transitions|ypos|tb|useBox|move|pThis|clearing|swf|ySize|opera|extend|discardElement|opt|html|custom|onLoad|number|parseInt|hasDragged|tagName|delta|play|focus|elPos|resize|step|func|ieLt9|isX|changed|objectLoadTime|graphic|releaseMask|block|outlineWhileAnimating|ieLt7||ready|autoplay|getParam|xp1|yp1|anchor|tr|cell|styles|setTimeout|dimmingOpacity|mediumContent|marginTop|crossfade|tree|page|duration|dur|objectWidth|expKey|attribs|timers|pendingOutlines|now|getElementByClass|clone|blurExp|minWidth|max|enable|9999px|unit|objectHeight|relative|removeEventListener|navigator|invPos|setPosition|preserveContent|dom|zIndexCounter|tbody|tgtArr|active|getNode|clientSize|cursor|safari|onload|createOverlay|overlayId|bottom|sleeping|marginMax|start|anchors|offsetLeft|marginLeft|center|RegExp|images||end|scrollingContent|relToVP|styleRestoreCursor|isExpanded|htmls|sizeOverlayBox|heading|doShowHide|cacheBindings|hDiff|graphicsDir|disable|fitsize|cNode|while|documentElement|wDiff|minTblPos|mode|fadeBox|break|preventDefault|ruler|Id|cur|owner|allowReduce|selectThumb|moveOnly|area|prototype|minX|currentStyle|maxY|Expander|minY|iDoc|afterClose|domCh|setAttribute|toLowerCase|maxX|group|cloneNode|ysize|xsize|trans|above|scrollLeft|addRule|filter|scrollTop|padToMinWidth|fix|destroy|positionOverlay|fac|stl|allowSizeReduction|250|before|idCounter|isClosing|iebody|preloadTheseImages|on|over|credits|keyHandler|contentLoaded|getParams|param|parent|userAgent|opos|loadHTML|contentWindow|restoreCursor|obj|buttons|minHeight|numberPosition|uclt|showLoading|curTblPos|getAnchors|all|Outline|mask|ul|slideshows|matches|fade|after|geckoMac|cache|Dimension|showHideElements|maincontent|onLoadStarted|kdeBugCorr|wrapperKey|oDiv|dragHandler|afterExpand|allowWidthReduction|getPosition|marginBottom|maxWidth|tId|offY|cancelLoading|thumbsUserSetId|hsKey|ximgPad|writeExtendedContent|keypress|yimgPad|expandDuration|allowHeightReduction|lt|dir||keydown|setSize|525|offX||complete|isHsAnchor|destroyOverlays|getTime|compatMode|rel|self|hideOnMouseOut|overlayWidth|marker|curAnim|expOnly|gotoEnd|object|cachedGets|onReady|init|topmostKey|langDefaults|add|preloadTheseAjax|doFullExpand|getSrc|pre|fullExpandLabel|getAnchorIndex|disabled|Ajax|element|adj|clientX|mouse|preloadFullImage|mousemove|below|clientY|split|regBody|os|DIV|Date|childNodes|panel|imgs|previousOrNext|relatedTarget|pointer|expandCursor|getPageSize|url|current|getAdjacentAnchor|cacheAjax|activeLeft|activeRight|htmlGetSize|scrollBy|pixDimmerSize|update|Slideshow|isNew|location|getCacheBinding|dimmingDuration|contentId|getSelfRendered|calcBorders|replaceLang|clones|topZ|swfOptions|types|oPos|calcExpanded|skin|Text|preloadAjaxElement|scrollUp|sel|dec|other|getIframePageHeight|endOff|startOff|previousTitle|names|from|BackCompat|arrow|fitOverlayBox|mousedown|mouseClickHandler|correctIframeSize|load|hasMovedMin|maxsize|backCompat|clientWidth|Click|border|css|parseFloat|floatMode|defaultView|scrollDown|transit|offsetTop|mY|mX|markerPos|easeOutQuad|yp2|xp2|moveTitle|nextText|nextTitle|previousText|moveText|closeTitle|setObjContainerSize|closeText|props|padding|updateAnchors|state|cssDirection|doWrapper||middle|changeSize|startTime|parOff|sizeDiff|numberOfImagesToPreload|distance|resizeTo|maxHeight|form|srcElement|allowMultipleInstances|moveTo|align|error|swfobject|removeChild|run|done|background|htmlExpand|loadingPosXfade|openerTagNames|undim|garbageBin|onError|restoreDuration|marginRight|mouseIsOver|margin|ie6|isReady|hasAlphaImageLoader|Create|connectOutline|blur|evt|ucrb|calcThumb|origProp|contentDocument|thumbnailId|getElementById|osize|direction|loadingPos|getWrapperKey|genOverlayBox|restoreTitle|caption|abs|fullExpandTitle|initSlideshow|continuePreloading|getInline|getElementContent|overrides|show|hasFocused|dragByHeading|string|wrapperClassName|setPos|playText|pauseText|pauseTitle|fullExpandText|timerId|Move|Pause|preloadGraphic|spacebar|png|Play|Close|Highslide|JS|_default|Previous|appendTo||KDE|playTitle|vendor|200|call|Next|onGraphicLoad|and|vis|targetY|hasExtendedContent|pow|attributes|flashvars|isUnobtrusiveAnchor|hsHasSetClick|clear|ltr|newHeight|detachEvent|wmode|clickY|wrapperMouseHandler|focusTopmost|dimmingGeckoFix|enableKeyListener|fixedControls|hasHtmlExpanders|clickX|thumb|pageOrigin|loadingTitle|loadingText|resizeTitle|targetX|headingOverlay|captionOverlay|htmlSizeOperations|rb|switch|orig|getImageMapAreaCorrection|rv|tag|offsetParent|both|contentWrapper|loadingOpacity|pageXOffset|alpha|nopad|toUpperCase|easeInQuad|hide|clearsX|doPanels|showOverlays|gotOverlays|writeCredits|getNumber|showCredits|createFullExpand|javascript|ActiveXObject|Microsoft|reOrder|sleep||fullExpandPosition|fullExpandOpacity|getOverlays|rightpanel|focusTitle|hand|indexOf|clearsY|getAttribute|preloadAjax|htmlPrepareClose|destroyObject|offsetY|leftpanel|offsetX|relativeTo|awake|reuseOverlay|XMLHTTP|readyState|stripItemFormatter|wheelDelta|horizontal|Height|Bottom|Width|detail|returnValue|setClickEvents|preloadImages|mouseup|clientHeight|arguments|styleSheets|Right|Top|gi|open||script|cachedGet|setRequestHeader|ie6SSL|getControls|checkFirstAndLast|Thumbstrip|Left|wait|hitSpace|repeat|sls|getPropertyValue|XMLHttpRequest|creditsText|creditsTitle|creditsTarget|creditsHref|onHideLoading|creditsPosition|Eval|Overlay|addOverlay|nextSibling|_|overlayOptions|toString|fadeInOut|transitionDuration|easingClose|correctRatio|tmpMin|ximgSize|yimgSize|getComputedStyle|prepareNextOutline|newImg|oldImg|hideSelects|preloadNext|hideIframes|scrollWidth|reuse|iPod|iPhone|scrollHeight|boolean|dynamicallyUpdateAnchors|10001|useControls|geckodimmer|onAfterExpand|iPad|onDimmerClick|htmlCreate|onShowLoading|rect|clip|nodeName|clearTimeout|onBeforeGetContent|ig|dimming|IFRAME|300|Android|write|xpand|link|htmlE|Line|lineNumber|floor|responseText|onDrop|oncontextmenu|alert|onImageClick|button|addSlideshow|registerOverlay|zoomin|graphics|zoomout|keyCode|onKeyDown|important|keys|click|message|drag|Use|insertBefore|flushImgSize|headingText|headingEval|headingId|captionEval|captionText|maincontentId|maincontentText|Trident|it|120|reflow|maincontentEval|captionId|shadow|DOMContentLoaded|||callee|text|HEAD|header|blockRightClick|doScroll|expression|createTextNode|footer|HsExpander|ra|Safari|useMap|_self|pageYOffset|down|firstChild|inner|com|outlineStartOffset|mgnRight|onSetClickEvent||http|float|innerHeight|innerWidth|DOMMouseScroll|mousewheel|Gecko|onBeforeExpand|Macintosh|drop|removeAttribute|pI|imageCreate|ignoreMe|onmousewheel|white|blank|esc|onAfterGetCaption|onAfterGetHeading|onBeforeGetHeading|onBeforeGetCaption|circle|cellSpacing|fontSize|lineHeight|collapse|borderCollapse|useOnHtml|newWidth|frameborder|front|onmouseout|clearInterval|01|onBeforeClose|onBlur|onmouseover|Resize|Expand|fit|outlinesDir|200px|onInit|Go|allowSimultaneousLoading|the|onCreateOverlay|Powered|StopPlay|static|removeSWF|actual|onFocus|scale|shape|homepage|eval|outlines|default|SELECT|sizingMethod|AlphaImageLoader|DXImageTransform|progid|onAfterGetContent|onCreateFullExpand|onMouseOut|500|onMouseOver|Content|Type|Loading||attachEvent|of|Requested|With|coords|toElement|fromElement|send|sqrt|interval|about|urlencoded|dragSensitivity|application|mouseover|onDrag|www|cancel|GET|transparent|Msxml2|embedSWF|onActivate|fixed|onAfterClose|setInterval|flash|onDoFullExpand|bring|version|linearTween|forceAjaxReload|https|protocol|dummy|Image|debug|paddingTop|1px|expressInstallSwfurl|onreadystatechange|splice'.split('|'),0,{})) diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-ie6.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-ie6.css new file mode 100644 index 000000000..b4d54840d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-ie6.css @@ -0,0 +1,76 @@ +.closebutton { + /* NOTE! This URL is relative to the HTML page, not the CSS */ + filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( + src='../highslide/graphics/close.png', sizingMethod='scale'); + + background: none; + cursor: hand; +} + +/* Viewport fixed hack */ +.highslide-viewport { + position: absolute; + left: expression( ( ( ignoreMe1 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' ); + top: expression( ( ignoreMe2 = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) + 'px' ); + width: expression( ( ( ignoreMe3 = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) ) + 'px' ); + height: expression( ( ( ignoreMe4 = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) ) + 'px' ); +} + +/* Thumbstrip PNG fix */ +.highslide-scroll-down, .highslide-scroll-up { + position: relative; + overflow: hidden; +} +.highslide-scroll-down div, .highslide-scroll-up div { + /* NOTE! This URL is relative to the HTML page, not the CSS */ + filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( + src='../highslide/graphics/scrollarrows.png', sizingMethod='scale'); + background: none !important; + position: absolute; + cursor: hand; + width: 75px; + height: 75px !important; +} +.highslide-thumbstrip-horizontal .highslide-scroll-down div { + left: -50px; + top: -15px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-up div { + top: -15px; +} +.highslide-thumbstrip-vertical .highslide-scroll-down div { + top: -50px; +} + +/* Thumbstrip marker arrow trasparent background fix */ +.highslide-thumbstrip .highslide-marker { + border-color: white; /* match the background */ +} +.dark .highslide-thumbstrip-horizontal .highslide-marker { + border-color: #111; +} +.highslide-viewport .highslide-marker { + border-color: #333; +} +.highslide-thumbstrip { + float: left; +} + +/* Positioning fixes for the control bar */ +.text-controls .highslide-controls { + width: 480px; +} +.text-controls a span { + width: 4em; +} +.text-controls .highslide-full-expand a span { + width: 0; +} +.text-controls .highslide-close a span { + width: 0; +} + +/* Special */ +.in-page .highslide-thumbstrip-horizontal .highslide-marker { + border-bottom: gray; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.js new file mode 100644 index 000000000..fa1333e25 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.js @@ -0,0 +1,2657 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +slideshow +positioning +transitions +viewport +thumbstrip + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if (!hs) { var hs = { +// Language strings +lang : { + cssDirection: 'ltr', + loadingText : 'Loading...', + loadingTitle : 'Click to cancel', + focusTitle : 'Click to bring to front', + fullExpandTitle : 'Expand to actual size (f)', + creditsText : 'Powered by <i>Highslide JS</i>', + creditsTitle : 'Go to the Highslide JS homepage', + previousText : 'Previous', + nextText : 'Next', + moveText : 'Move', + closeText : 'Close', + closeTitle : 'Close (esc)', + resizeTitle : 'Resize', + playText : 'Play', + playTitle : 'Play slideshow (spacebar)', + pauseText : 'Pause', + pauseTitle : 'Pause slideshow (spacebar)', + previousTitle : 'Previous (arrow left)', + nextTitle : 'Next (arrow right)', + moveTitle : 'Move', + fullExpandText : '1:1', + number: 'Image %1 of %2', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 1001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a'], // Add more to allow slideshow indexing +transitions : [], +transitionDuration: 250, +dimmingOpacity: 0, // Lightbox style dimming background +dimmingDuration: 50, // 0 for instant dimming + +anchor : 'auto', // where the image expands from +align : 'auto', // position in the client (overrides anchor) +targetX: null, // the id of a target element +targetY: null, +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +skin : { + controls: + '<div class="highslide-controls"><ul>'+ + '<li class="highslide-previous">'+ + '<a href="#" title="{hs.lang.previousTitle}">'+ + '<span>{hs.lang.previousText}</span></a>'+ + '</li>'+ + '<li class="highslide-play">'+ + '<a href="#" title="{hs.lang.playTitle}">'+ + '<span>{hs.lang.playText}</span></a>'+ + '</li>'+ + '<li class="highslide-pause">'+ + '<a href="#" title="{hs.lang.pauseTitle}">'+ + '<span>{hs.lang.pauseText}</span></a>'+ + '</li>'+ + '<li class="highslide-next">'+ + '<a href="#" title="{hs.lang.nextTitle}">'+ + '<span>{hs.lang.nextText}</span></a>'+ + '</li>'+ + '<li class="highslide-move">'+ + '<a href="#" title="{hs.lang.moveTitle}">'+ + '<span>{hs.lang.moveText}</span></a>'+ + '</li>'+ + '<li class="highslide-full-expand">'+ + '<a href="#" title="{hs.lang.fullExpandTitle}">'+ + '<span>{hs.lang.fullExpandText}</span></a>'+ + '</li>'+ + '<li class="highslide-close">'+ + '<a href="#" title="{hs.lang.closeTitle}" >'+ + '<span>{hs.lang.closeText}</span></a>'+ + '</li>'+ + '</ul></div>' +}, +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'anchor', + 'align', + 'targetX', + 'targetY', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + 'autoplay', + 'numberPosition', + 'transitions', + 'dimmingOpacity', + + 'width', + 'height', + + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +timers : [], + +slideshows : [], + +pendingOutlines : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + try { + new hs.Expander(a, params, custom); + return false; + } catch (e) { return true; } +}, +getElementByClass : function (el, tagName, className) { + var els = el.getElementsByTagName(tagName); + for (var i = 0; i < els.length; i++) { + if ((new RegExp(className)).test(els[i].className)) { + return els[i]; + } + } + return null; +}, +replaceLang : function(s) { + s = s.replace(/\s/g, ' '); + var re = /{hs\.lang\.([^}]+)\}/g, + matches = s.match(re), + lang; + if (matches) for (var i = 0; i < matches.length; i++) { + lang = matches[i].replace(re, "$1"); + if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]); + } + return s; +}, + + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +dim : function(exp) { + if (!hs.dimmer) { + isNew = true; + hs.dimmer = hs.createElement ('div', { + className: 'highslide-dimming highslide-viewport-size', + owner: '', + onclick: function() { + + hs.close(); + } + }, { + visibility: 'visible', + opacity: 0 + }, hs.container, true); + + if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) { + var body = document.body; + function pixDimmerSize() { + hs.setStyles(hs.dimmer, { + width: body.scrollWidth +'px', + height: body.scrollHeight +'px' + }); + } + pixDimmerSize(); + hs.addEventListener(window, 'resize', pixDimmerSize); + } + } + hs.dimmer.style.display = ''; + + var isNew = hs.dimmer.owner == ''; + hs.dimmer.owner += '|'+ exp.key; + + if (isNew) { + if (hs.geckoMac && hs.dimmingGeckoFix) + hs.setStyles(hs.dimmer, { + background: 'url('+ hs.graphicsDir + 'geckodimmer.png)', + opacity: 1 + }); + else + hs.animate(hs.dimmer, { opacity: exp.dimmingOpacity }, hs.dimmingDuration); + } +}, +undim : function(key) { + if (!hs.dimmer) return; + if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|'+ key, ''); + + if ( + (typeof key != 'undefined' && hs.dimmer.owner != '') + || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity')) + ) return; + + if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none'; + else hs.animate(hs.dimmer, { opacity: 0 }, hs.dimmingDuration, null, function() { + hs.dimmer.style.display = 'none'; + }); +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + if (!adj || exp.transitions[1] != 'crossfade') + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + op = 2; + break; + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {if (op != 2)hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else if (op == 2) { + if (exp.slideshow) exp.slideshow.hitSpace(); + } else { + if (exp.slideshow) exp.slideshow.pause(); + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +addSlideshow : function (options) { + var sg = options.slideshowGroup; + if (typeof sg == 'object') { + for (var i = 0; i < sg.length; i++) { + var o = {}; + for (var x in options) o[x] = options[x]; + o.slideshowGroup = sg[i]; + hs.push(hs.slideshows, o); + } + } else { + hs.push(hs.slideshows, options); + } +}, + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.hsKey !== undefined) return el.hsKey; + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + hs.viewport = hs.createElement('div', { + className: 'highslide-viewport highslide-viewport-size' + }, { + visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden' + }, hs.container, 1 + ); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + Math.easeOutQuad = function (t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'loadingPosXfade': + return this.pos + this.cb+ this.p1 + (this.size - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + // get alignment + if (exp.align == 'center') this.justify = 'center'; + else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null; + else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.target = exp['target'+ this.dim.toUpperCase()]; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); + if (this.dim == 'x' && exp.slideshow && exp.isImage) { + if (i == this.full) exp.slideshow.disable('full-expand'); + else exp.slideshow.enable('full-expand'); + } +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + this.last = hs.last; + hs.last = null; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a + && !(this.last && this.transitions[1] == 'crossfade')) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType + || (this.last && this.isImage && this.transitions[1] == 'crossfade')) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + if (!tgt && this.last && this.transitions[1] == 'crossfade') + var tgt = this.last; + if (tgt) { + l = tgt.x.get('loadingPosXfade') +'px'; + t = tgt.y.get('loadingPosXfade') +'px'; + this.loading.style.zIndex = hs.zIndexCounter++; + } + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + } + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + + + this.initSlideshow(); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + this.correctRatio(ratio); + var ss = this.slideshow; + if (ss && this.last && ss.controls && ss.fixedControls) { + var pos = ss.overlayOptions.position || '', p; + for (var dim in hs.oPos) for (var i = 0; i < 5; i++) { + p = this[dim]; + if (pos.match(hs.oPos[dim][i])) { + p.pos = this.last[dim].pos + + (this.last[dim].p1 - p.p1) + + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i]; + if (ss.fixedControls == 'fit') { + if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax) + p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2; + if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin; + } + } + } + } + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + if (tgt && tgt.match(/ /)) { + tgtArr = tgt.split(' '); + tgt = tgtArr[0]; + } + if (tgt && hs.$(tgt)) { + p.pos = hs.getPosition(hs.$(tgt))[dim]; + if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/)) + p.pos += parseInt(tgtArr[1]); + if (p.size < p.minSize) p.size = p.minSize; + + } else if (p.justify == 'auto' || p.justify == 'center') { + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + if (p.justify == 'center') + p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2); + else + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + } else if (p.justify == 'max') { + p.pos = Math.floor(p.pos - p.size + p.t); + } + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb(); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + // transition + var trans = this.transitions, + other = up ? (this.last ? this.last.a : null) : hs.upcoming, + t = (trans[1] && other + && hs.getParam(other, 'transitions')[1] == trans[1]) ? + trans[1] : trans[0]; + + if (this[t] && t != 'expand') { + this[t](up, to); + return; + } + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy(); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + +fade : function(up, to) { + this.outlineWhileAnimating = false; + var exp = this, t = up ? hs.expandDuration : 0; + + if (up) { + hs.animate(this.wrapper, to.wrapper, 0); + hs.setStyles(this.wrapper, { opacity: 0, visibility: 'visible' }); + hs.animate(this.content, to.content, 0); + this.content.style.visibility = 'visible'; + + hs.animate(this.wrapper, { opacity: 1 }, t, null, + function() { exp.afterExpand(); }); + } + + if (this.outline) { + this.outline.table.style.zIndex = this.wrapper.style.zIndex; + var dir = up || -1, + offset = this.outline.offset, + startOff = up ? 3 : offset, + endOff = up? offset : 3; + for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) { + (function() { + var o = up ? endOff - i : startOff - i; + setTimeout(function() { + exp.outline.setPosition(0, o, 1); + }, t); + })(); + } + } + + + if (up) {}//setTimeout(function() { exp.afterExpand(); }, t+50); + else { + setTimeout( function() { + if (exp.outline) exp.outline.destroy(exp.preserveContent); + + exp.destroyOverlays(); + + hs.animate( exp.wrapper, { opacity: 0 }, hs.restoreDuration, null, function(){ + exp.afterClose(); + }); + }, t); + } +}, +crossfade : function (up, to, from) { + if (!up) return; + var exp = this, + last = this.last, + x = this.x, + y = this.y, + lastX = last.x, + lastY = last.y, + wrapper = this.wrapper, + content = this.content, + overlayBox = this.overlayBox; + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + hs.setStyles(content, { + width: (x.imgSize || x.size) +'px', + height: (y.imgSize || y.size) +'px' + }); + if (overlayBox) overlayBox.style.overflow = 'visible'; + this.outline = last.outline; + if (this.outline) this.outline.exp = exp; + last.outline = null; + var fadeBox = hs.createElement('div', { + className: 'highslide-'+ this.contentType + }, { + position: 'absolute', + zIndex: 4, + overflow: 'hidden', + display: 'none' + } + ); + var names = { oldImg: last, newImg: this }; + for (var n in names) { + this[n] = names[n].content.cloneNode(1); + hs.setStyles(this[n], { + position: 'absolute', + border: 0, + visibility: 'visible' + }); + fadeBox.appendChild(this[n]); + } + wrapper.appendChild(fadeBox); + if (overlayBox) { + overlayBox.className = ''; + wrapper.appendChild(overlayBox); + } + fadeBox.style.display = ''; + last.content.style.display = 'none'; + + + if (hs.safari && hs.uaVersion < 525) { + this.wrapper.style.visibility = 'visible'; + } + hs.animate(wrapper, { + width: x.size + }, { + duration: hs.transitionDuration, + step: function(val, args) { + var pos = args.pos, + invPos = 1 - pos; + var prop, + size = {}, + props = ['pos', 'size', 'p1', 'p2']; + for (var n in props) { + prop = props[n]; + size['x'+ prop] = Math.round(invPos * lastX[prop] + pos * x[prop]); + size['y'+ prop] = Math.round(invPos * lastY[prop] + pos * y[prop]); + size.ximgSize = Math.round( + invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size)); + size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad')); + size.yimgSize = Math.round( + invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size)); + size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad')); + } + if (exp.outline) exp.outline.setPosition({ + x: size.xpos, + y: size.ypos, + w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb, + h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb + }); + last.wrapper.style.clip = 'rect(' + + (size.ypos - lastY.pos)+'px, ' + + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) +'px, ' + + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) +'px, ' + + (size.xpos - lastX.pos)+'px)'; + + hs.setStyles(content, { + top: (size.yp1 + y.get('imgPad')) +'px', + left: (size.xp1 + x.get('imgPad')) +'px', + marginTop: (y.pos - size.ypos) +'px', + marginLeft: (x.pos - size.xpos) +'px' + }); + hs.setStyles(wrapper, { + top: size.ypos +'px', + left: size.xpos +'px', + width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb)+ 'px', + height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px' + }); + hs.setStyles(fadeBox, { + width: (size.ximgSize || size.xsize) + 'px', + height: (size.yimgSize || size.ysize) +'px', + left: (size.xp1 + size.ximgPad) +'px', + top: (size.yp1 + size.yimgPad) +'px', + visibility: 'visible' + }); + + hs.setStyles(exp.oldImg, { + top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad)+'px', + left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad)+'px' + }); + + hs.setStyles(exp.newImg, { + opacity: pos, + top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) +'px', + left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) +'px' + }); + if (overlayBox) hs.setStyles(overlayBox, { + width: size.xsize + 'px', + height: size.ysize +'px', + left: (size.xp1 + x.cb) +'px', + top: (size.yp1 + y.cb) +'px' + }); + }, + complete: function () { + wrapper.style.visibility = content.style.visibility = 'visible'; + content.style.display = 'block'; + hs.discardElement(fadeBox); + exp.afterExpand(); + last.afterClose(); + exp.last = null; + } + + }); +}, +reuseOverlay : function(o, el) { + if (!this.last) return false; + for (var i = 0; i < this.last.overlays.length; i++) { + var oDiv = hs.$('hsId'+ this.last.overlays[i]); + if (oDiv && oDiv.hsId == o.hsId) { + this.genOverlayBox(); + oDiv.reuse = this.key; + hs.push(this.overlays, this.last.overlays[i]); + return true; + } + } + return false; +}, + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + if (this.dimmingOpacity) hs.dim(this); + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) { + if (op == 1) return as[0]; + else if (op == -1) return as[as.length-1]; + } + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +getNumber : function() { + if (this[this.numberPosition]) { + var arr = hs.anchors.groups[this.slideshowGroup || 'none']; + if (arr) { + var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length); + this[this.numberPosition].innerHTML = + '<div class="highslide-number">'+ s +'</div>'+ this[this.numberPosition].innerHTML; + } + } +}, +initSlideshow : function() { + if (!this.last) { + for (var i = 0; i < hs.slideshows.length; i++) { + var ss = hs.slideshows[i], sg = ss.slideshowGroup; + if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup) + this.slideshow = new hs.Slideshow(this.key, ss); + } + } else { + this.slideshow = this.last.slideshow; + } + var ss = this.slideshow; + if (!ss) return; + var key = ss.expKey = this.key; + + ss.checkFirstAndLast(); + ss.disable('full-expand'); + if (ss.controls) { + this.createOverlay(hs.extend(ss.overlayOptions || {}, { + overlayId: ss.controls, + hsId: 'controls', + zIndex: 5 + })); + } + if (ss.thumbstrip) ss.thumbstrip.add(this); + if (!this.last && this.autoplay) ss.play(true); + if (ss.autoplay) { + ss.autoplay = setTimeout(function() { + hs.next(key); + }, (ss.interval || 500)); + } +}, + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (hs.upcoming == this.a) hs.upcoming = null; + hs.undim(this.key); + if (this.loading) hs.loading.style.left = '-9999px'; +}, + +writeCredits : function () { + if (this.credits) return; + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left', + hsId: 'credits' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + if (!this[type] && !s && this.numberPosition == type) s = '\n'; + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + if (!this.dimmingOpacity) { // hide all if dimming + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + } + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + if (this.transitions[1] == 'crossfade' && hs.upcoming) { + hs.getExpander(hs.upcoming).cancelLoading(); + hs.upcoming = null; + } + this.isClosing = true; + if (this.slideshow && !hs.upcoming) this.slideshow.pause(); + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +createOverlay : function (o) { + var el = o.overlayId, + relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position)); + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + el.style.display = 'block'; + o.hsId = o.hsId || o.overlayId; + if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + }, + relToVP ? hs.viewport :this.overlayBox, + true + ); + if (relToVP) overlay.hsKey = this.key; + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + relToVP = (overlay.relativeTo == 'viewport'), + offX = overlay.offsetX, + offY = overlay.offsetY; + if (relToVP) { + hs.viewport.style.display = 'block'; + overlay.hsKey = this.key; + if (overlay.offsetWidth > overlay.parentNode.offsetWidth) + overlay.style.width = '100%'; + } else + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + var parOff = overlay.parentNode.offsetHeight; + overlay.style.height = 'auto'; + if (relToVP && overlay.offsetHeight > parOff) + overlay.style.height = hs.ieLt7 ? parOff +'px' : '100%'; + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + this.getNumber(); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + if (this.slideshow) { + var c = this.slideshow.controls; + if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c); + } + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o); + } + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + if (this.slideshow && this.slideshow.controls) { + this.slideshow.enable('full-expand'); + return; + } + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + this.destroyOverlays(); + if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none'; + + if (this.dimmingOpacity) hs.undim(this.key); + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; + + +hs.Slideshow = function (expKey, options) { + if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors(); + this.expKey = expKey; + for (var x in options) this[x] = options[x]; + if (this.useControls) this.getControls(); + if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this); +}; +hs.Slideshow.prototype = { +getControls: function() { + this.controls = hs.createElement('div', { innerHTML: hs.replaceLang(hs.skin.controls) }, + null, hs.container); + + var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close']; + this.btn = {}; + var pThis = this; + for (var i = 0; i < buttons.length; i++) { + this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-'+ buttons[i]); + this.enable(buttons[i]); + } + this.btn.pause.style.display = 'none'; + //this.disable('full-expand'); +}, +checkFirstAndLast: function() { + if (this.repeat || !this.controls) return; + var exp = hs.expanders[this.expKey], + cur = exp.getAnchorIndex(), + re = /disabled$/; + if (cur == 0) + this.disable('previous'); + else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className)) + this.enable('previous'); + if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) { + this.disable('next'); + this.disable('play'); + } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) { + this.enable('next'); + this.enable('play'); + } +}, +enable: function(btn) { + if (!this.btn) return; + var sls = this, a = this.btn[btn].getElementsByTagName('a')[0], re = /disabled$/; + a.onclick = function() { + sls[btn](); + return false; + }; + if (re.test(a.className)) a.className = a.className.replace(re, ''); +}, +disable: function(btn) { + if (!this.btn) return; + var a = this.btn[btn].getElementsByTagName('a')[0]; + a.onclick = function() { return false; }; + if (!/disabled$/.test(a.className)) a.className += ' disabled'; +}, +hitSpace: function() { + if (this.autoplay) this.pause(); + else this.play(); +}, +play: function(wait) { + if (this.btn) { + this.btn.play.style.display = 'none'; + this.btn.pause.style.display = ''; + } + + this.autoplay = true; + if (!wait) hs.next(this.expKey); +}, +pause: function() { + if (this.btn) { + this.btn.pause.style.display = 'none'; + this.btn.play.style.display = ''; + } + + clearTimeout(this.autoplay); + this.autoplay = null; +}, +previous: function() { + this.pause(); + hs.previous(this.btn.previous); +}, +next: function() { + this.pause(); + hs.next(this.btn.next); +}, +move: function() {}, +'full-expand': function() { + hs.getExpander().doFullExpand(); +}, +close: function() { + hs.close(this.btn.close); +} +}; +hs.Thumbstrip = function(slideshow) { + function add (exp) { + hs.extend(options || {}, { + overlayId: dom, + hsId: 'thumbstrip', + className: 'highslide-thumbstrip-'+ mode +'-overlay ' + (options.className || '') + }); + if (hs.ieLt7) options.fade = 0; + exp.createOverlay(options); + hs.setStyles(dom.parentNode, { overflow: 'hidden' }); + }; + + function scroll (delta) { + selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7)); + }; + + function selectThumb (i, scrollBy) { + if (i === undefined) for (var j = 0; j < group.length; j++) { + if (group[j] == hs.expanders[slideshow.expKey].a) { + i = j; + break; + } + } + if (i === undefined) return; + var as = dom.getElementsByTagName('a'), + active = as[i], + cell = active.parentNode, + left = isX ? 'Left' : 'Top', + right = isX ? 'Right' : 'Bottom', + width = isX ? 'Width' : 'Height', + offsetLeft = 'offset' + left, + offsetWidth = 'offset' + width, + overlayWidth = div.parentNode.parentNode[offsetWidth], + minTblPos = overlayWidth - table[offsetWidth], + curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0, + tblPos = curTblPos, + mgnRight = 20; + if (scrollBy !== undefined) { + tblPos = curTblPos - scrollBy; + + if (minTblPos > 0) minTblPos = 0; + if (tblPos > 0) tblPos = 0; + if (tblPos < minTblPos) tblPos = minTblPos; + + + } else { + for (var j = 0; j < as.length; j++) as[j].className = ''; + active.className = 'highslide-active-anchor'; + var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft], + activeRight = cell[offsetLeft] + cell[offsetWidth] + + (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0); + if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight; + else if (activeLeft < -curTblPos) tblPos = -activeLeft; + } + var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos; + hs.animate(table, isX ? { left: tblPos } : { top: tblPos }, null, 'easeOutQuad'); + hs.animate(marker, isX ? { left: markerPos } : { top: markerPos }, null, 'easeOutQuad'); + scrollUp.style.display = tblPos < 0 ? 'block' : 'none'; + scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none'; + + }; + + + // initialize + var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'], + options = slideshow.thumbstrip, + mode = options.mode || 'horizontal', + floatMode = (mode == 'float'), + tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'], + isX = (mode == 'horizontal'), + dom = hs.createElement('div', { + className: 'highslide-thumbstrip highslide-thumbstrip-'+ mode, + innerHTML: + '<div class="highslide-thumbstrip-inner">'+ + '<'+ tree[0] +'><'+ tree[1] +'></'+ tree[1] +'></'+ tree[0] +'></div>'+ + '<div class="highslide-scroll-up"><div></div></div>'+ + '<div class="highslide-scroll-down"><div></div></div>'+ + '<div class="highslide-marker"><div></div></div>' + }, { + display: 'none' + }, hs.container), + domCh = dom.childNodes, + div = domCh[0], + scrollUp = domCh[1], + scrollDown = domCh[2], + marker = domCh[3], + table = div.firstChild, + tbody = dom.getElementsByTagName(tree[1])[0], + tr; + for (var i = 0; i < group.length; i++) { + if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody); + (function(){ + var a = group[i], + cell = hs.createElement(tree[3], null, null, tr), + pI = i; + hs.createElement('a', { + href: a.href, + title: a.title, + onclick: function() { + if (/highslide-active-anchor/.test(this.className)) return false; + hs.getExpander(this).focus(); + return hs.transit(a); + }, + innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML + }, null, cell); + })(); + } + if (!floatMode) { + scrollUp.onclick = function () { scroll(-1); }; + scrollDown.onclick = function() { scroll(1); }; + hs.addEventListener(tbody, document.onmousewheel !== undefined ? + 'mousewheel' : 'DOMMouseScroll', function(e) { + var delta = 0; + e = e || window.event; + if (e.wheelDelta) { + delta = e.wheelDelta/120; + if (hs.opera) delta = -delta; + } else if (e.detail) { + delta = -e.detail/3; + } + if (delta) scroll(-delta * 0.2); + if (e.preventDefault) e.preventDefault(); + e.returnValue = false; + }); + } + + return { + add: add, + selectThumb: selectThumb + } +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor || hs.dimmingOpacity) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + addRule ('.highslide-viewport-size', + hs.ie && (hs.uaVersion < 7 || backCompat) ? + 'position: absolute; '+ + 'left:'+ fix('scrollLeft') + + 'top:'+ fix('scrollTop') + + 'width:'+ fix('clientWidth') + + 'height:'+ fix('clientHeight') : + 'position: fixed; width: 100%; height: 100%; left: 0; top: 0'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); + if (hs.viewport) for (var i = 0; i < hs.viewport.childNodes.length; i++) { + var node = hs.viewport.childNodes[i], + exp = hs.getExpander(node); + exp.positionOverlay(node); + if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb(); + } +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); + +hs.addEventListener(document, 'ready', hs.getAnchors); +hs.addEventListener(window, 'load', hs.preloadImages); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js new file mode 100644 index 000000000..6e634d648 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +slideshow +positioning +transitions +viewport +thumbstrip + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by <i>Highslide JS</i>",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",number:"Image %1 of %2",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a"],transitions:[],transitionDuration:250,dimmingOpacity:0,dimmingDuration:50,anchor:"auto",align:"auto",targetX:null,targetY:null,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{controls:'<div class="highslide-controls"><ul><li class="highslide-previous"><a href="#" title="{hs.lang.previousTitle}"><span>{hs.lang.previousText}</span></a></li><li class="highslide-play"><a href="#" title="{hs.lang.playTitle}"><span>{hs.lang.playText}</span></a></li><li class="highslide-pause"><a href="#" title="{hs.lang.pauseTitle}"><span>{hs.lang.pauseText}</span></a></li><li class="highslide-next"><a href="#" title="{hs.lang.nextTitle}"><span>{hs.lang.nextText}</span></a></li><li class="highslide-move"><a href="#" title="{hs.lang.moveTitle}"><span>{hs.lang.moveText}</span></a></li><li class="highslide-full-expand"><a href="#" title="{hs.lang.fullExpandTitle}"><span>{hs.lang.fullExpandText}</span></a></li><li class="highslide-close"><a href="#" title="{hs.lang.closeTitle}" ><span>{hs.lang.closeText}</span></a></li></ul></div>'},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","anchor","align","targetX","targetY","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","autoplay","numberPosition","transitions","dimmingOpacity","width","height","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},timers:[],slideshows:[],pendingOutlines:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;b.x+=a.offsetLeft;b.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){b.x-=a.scrollLeft;b.y-=a.scrollTop}}return b},expand:function(b,g,d,c){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return g}try{new hs.Expander(b,g,d);return false}catch(f){return true}},getElementByClass:function(e,c,d){var b=e.getElementsByTagName(c);for(var a=0;a<b.length;a++){if((new RegExp(d)).test(b[a].className)){return b[a]}}return null},replaceLang:function(c){c=c.replace(/\s/g," ");var b=/{hs\.lang\.([^}]+)\}/g,d=c.match(b),e;if(d){for(var a=0;a<d.length;a++){e=d[a].replace(b,"$1");if(typeof hs.lang[e]!="undefined"){c=c.replace(d[a],hs.lang[e])}}}return c},focusTopmost:function(){var c=0,b=-1,a=hs.expanders,e,f;for(var d=0;d<a.length;d++){e=a[d];if(e){f=e.wrapper.style.zIndex;if(f&&f>c){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},dim:function(d){if(!hs.dimmer){a=true;hs.dimmer=hs.createElement("div",{className:"highslide-dimming highslide-viewport-size",owner:"",onclick:function(){hs.close()}},{visibility:"visible",opacity:0},hs.container,true);if(/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)){var b=document.body;function c(){hs.setStyles(hs.dimmer,{width:b.scrollWidth+"px",height:b.scrollHeight+"px"})}c();hs.addEventListener(window,"resize",c)}}hs.dimmer.style.display="";var a=hs.dimmer.owner=="";hs.dimmer.owner+="|"+d.key;if(a){if(hs.geckoMac&&hs.dimmingGeckoFix){hs.setStyles(hs.dimmer,{background:"url("+hs.graphicsDir+"geckodimmer.png)",opacity:1})}else{hs.animate(hs.dimmer,{opacity:d.dimmingOpacity},hs.dimmingDuration)}}},undim:function(a){if(!hs.dimmer){return}if(typeof a!="undefined"){hs.dimmer.owner=hs.dimmer.owner.replace("|"+a,"")}if((typeof a!="undefined"&&hs.dimmer.owner!="")||(hs.upcoming&&hs.getParam(hs.upcoming,"dimmingOpacity"))){return}if(hs.geckoMac&&hs.dimmingGeckoFix){hs.dimmer.style.display="none"}else{hs.animate(hs.dimmer,{opacity:0},hs.dimmingDuration,null,function(){hs.dimmer.style.display="none"})}},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{if(!a||d.transitions[1]!="crossfade"){d.close()}}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:c=2;break;case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){if(c!=2){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)}if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{if(c==2){if(b.slideshow){b.slideshow.hitSpace()}}else{if(b.slideshow){b.slideshow.pause()}hs.previousOrNext(b.key,c)}}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},addSlideshow:function(b){var d=b.slideshowGroup;if(typeof d=="object"){for(var c=0;c<d.length;c++){var e={};for(var a in b){e[a]=b[a]}e.slideshowGroup=d[c];hs.push(hs.slideshows,e)}}else{hs.push(hs.slideshows,b)}},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.hsKey!==undefined){return e.hsKey}if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a<hs.expanders.length;a++){var f=hs.expanders[a];if(f&&f.a==e){return a}}}e=e.parentNode}}return null},getExpander:function(b,a){if(typeof b=="undefined"){return hs.expanders[hs.focusKey]||null}if(typeof b=="number"){return hs.expanders[b]||null}if(typeof b=="string"){b=hs.$(b)}return hs.expanders[hs.getWrapperKey(b,a)]||null},isHsAnchor:function(b){return(b.onclick&&b.onclick.toString().replace(/\s/g," ").match(/hs.(htmlE|e)xpand/))},reOrder:function(){for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&hs.expanders[a].isExpanded){hs.focusTopmost()}}},mouseClickHandler:function(d){if(!d){d=window.event}if(d.button>1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){f.close()}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}for(var a=0;a<d.overlays.length;a++){(function(){var e=hs.$("hsId"+d.overlays[a]);if(e&&e.hideOnMouseOut){if(b){hs.setStyles(e,{visibility:"visible",display:""})}hs.animate(e,{opacity:b?e.opacity:0},e.dur)}})()}}catch(c){}},addEventListener:function(a,c,b){if(a==document&&c=="ready"){hs.push(hs.onReady,b)}try{a.addEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b);a.attachEvent("on"+c,b)}catch(d){a["on"+c]=b}}},removeEventListener:function(a,c,b){try{a.removeEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b)}catch(d){a["on"+c]=null}}},preloadFullImage:function(b){if(hs.continuePreloading&&hs.preloadTheseImages[b]&&hs.preloadTheseImages[b]!="undefined"){var a=document.createElement("img");a.onload=function(){a=null;hs.preloadFullImage(b+1)};a.src=hs.preloadTheseImages[b]}},preloadImages:function(c){if(c&&typeof c!="object"){hs.numberOfImagesToPreload=c}var a=hs.getAnchors();for(var b=0;b<a.images.length&&b<hs.numberOfImagesToPreload;b++){hs.push(hs.preloadTheseImages,hs.getSrc(a.images[b]))}if(hs.outlineType){new hs.Outline(hs.outlineType,function(){hs.preloadFullImage(0)})}else{hs.preloadFullImage(0)}if(hs.restoreCursor){var d=hs.createElement("img",{src:hs.graphicsDir+hs.restoreCursor})}},init:function(){if(!hs.container){hs.ieLt7=hs.ie&&hs.uaVersion<7;hs.ieLt9=hs.ie&&hs.uaVersion<9;hs.getPageSize();for(var a in hs.langDefaults){if(typeof hs[a]!="undefined"){hs.lang[a]=hs[a]}else{if(typeof hs.lang[a]=="undefined"&&typeof hs.langDefaults[a]!="undefined"){hs.lang[a]=hs.langDefaults[a]}}}hs.container=hs.createElement("div",{className:"highslide-container"},{position:"absolute",left:0,top:0,width:"100%",zIndex:hs.zIndexCounter,direction:"ltr"},document.body,true);hs.loading=hs.createElement("a",{className:"highslide-loading",title:hs.lang.loadingTitle,innerHTML:hs.lang.loadingText,href:"javascript:;"},{position:"absolute",top:"-9999px",opacity:hs.loadingOpacity,zIndex:1},hs.container);hs.garbageBin=hs.createElement("div",null,{display:"none"},hs.container);hs.viewport=hs.createElement("div",{className:"highslide-viewport highslide-viewport-size"},{visibility:(hs.safari&&hs.uaVersion<525)?"visible":"hidden"},hs.container,1);Math.linearTween=function(f,e,h,g){return h*f/g+e};Math.easeInQuad=function(f,e,h,g){return h*(f/=g)*f+e};Math.easeOutQuad=function(f,e,h,g){return -h*(f/=g)*(f-2)+e};hs.hideSelects=hs.ieLt7;hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=="KDE"||(hs.ieLt7&&hs.uaVersion<5.5))}},ready:function(){if(hs.isReady){return}hs.isReady=true;for(var a=0;a<hs.onReady.length;a++){hs.onReady[a]()}},updateAnchors:function(){var a,c,k=[],h=[],b={},l;for(var e=0;e<hs.openerTagNames.length;e++){c=document.getElementsByTagName(hs.openerTagNames[e]);for(var d=0;d<c.length;d++){a=c[d];l=hs.isHsAnchor(a);if(l){hs.push(k,a);if(l[0]=="hs.expand"){hs.push(h,a)}var f=hs.getParam(a,"slideshowGroup")||"none";if(!b[f]){b[f]=[]}hs.push(b[f],a)}}}hs.anchors={all:k,groups:b,images:h};return hs.anchors},getAnchors:function(){return hs.anchors||hs.updateAnchors()},close:function(a){var b=hs.getExpander(a);if(b){b.close()}return false}};hs.fx=function(b,a,c){this.options=a;this.elem=b;this.prop=c;if(!a.orig){a.orig={}}};hs.fx.prototype={update:function(){(hs.fx.step[this.prop]||hs.fx.step._default)(this);if(this.options.step){this.options.step.call(this.elem,this.now,this)}},custom:function(e,d,c){this.startTime=(new Date()).getTime();this.start=e;this.end=d;this.unit=c;this.now=this.start;this.pos=this.state=0;var a=this;function b(f){return a.step(f)}b.elem=this.elem;if(b()&&hs.timers.push(b)==1){hs.timerId=setInterval(function(){var g=hs.timers;for(var f=0;f<g.length;f++){if(!g[f]()){g.splice(f--,1)}}if(!g.length){clearInterval(hs.timerId)}},13)}},step:function(d){var c=(new Date()).getTime();if(d||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"loadingPosXfade":return this.pos+this.cb+this.p1+(this.size-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";if(a.align=="center"){this.justify="center"}else{if(new RegExp(this.lt).test(a.anchor)){this.justify=null}else{if(new RegExp(this.rb).test(a.anchor)){this.justify="max"}}}this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.target=a["target"+this.dim.toUpperCase()];this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var b=this.exp;if(b.isImage&&(b.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);b.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}b.content.style[this.wh]=a+"px";b.wrapper.style[this.wh]=this.get("wsize")+"px";if(b.outline){b.outline.setPosition()}if(this.dim=="x"&&b.overlayBox){b.sizeOverlayBox(true)}if(this.dim=="x"&&b.slideshow&&b.isImage){if(a==this.full){b.slideshow.disable("full-expand")}else{b.slideshow.enable("full-expand")}}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];this.last=hs.last;hs.last=null;hs.init();var m=this.key=hs.expanders.length;for(var g=0;g<hs.overrides.length;g++){var c=hs.overrides[g];this[c]=f&&typeof f[c]!="undefined"?f[c]:hs[c]}if(!this.src){this.src=k.href}var d=(f&&f.thumbnailId)?hs.$(f.thumbnailId):k;d=this.thumb=d.getElementsByTagName("img")[0]||d;this.thumbsUserSetId=d.id||k.id;for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].a==k&&!(this.last&&this.transitions[1]=="crossfade")){hs.expanders[g].focus();return false}}if(!hs.allowSimultaneousLoading){for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].thumb!=d&&!hs.expanders[g].onLoadStarted){hs.expanders[g].cancelLoading()}}}hs.expanders[m]=this;if(!hs.allowMultipleInstances&&!hs.upcoming){if(hs.expanders[m-1]){hs.expanders[m-1].close()}if(typeof hs.focusKey!="undefined"&&hs.expanders[hs.focusKey]){hs.expanders[hs.focusKey].close()}}this.el=d;this.tpos=this.pageOrigin||hs.getPosition(d);hs.getPageSize();var j=this.x=new hs.Dimension(this,"x");j.calcThumb();var h=this.y=new hs.Dimension(this,"y");h.calcThumb();this.wrapper=hs.createElement("div",{id:"highslide-wrapper-"+this.key,className:"highslide-wrapper "+this.wrapperClassName},{visibility:"hidden",position:"absolute",zIndex:hs.zIndexCounter+=2},null,true);this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;if(this.contentType=="image"&&this.outlineWhileAnimating==2){this.outlineWhileAnimating=0}if(!this.outlineType||(this.last&&this.isImage&&this.transitions[1]=="crossfade")){this[this.contentType+"Create"]()}else{if(hs.pendingOutlines[this.outlineType]){this.connectOutline();this[this.contentType+"Create"]()}else{this.showLoading();var e=this;new hs.Outline(this.outlineType,function(){e.connectOutline();e[e.contentType+"Create"]()})}}return true};hs.Expander.prototype={error:function(a){if(hs.debug){alert("Line "+a.lineNumber+": "+a.message)}else{window.location.href=this.src}},connectOutline:function(){var a=this.outline=hs.pendingOutlines[this.outlineType];a.exp=this;a.table.style.zIndex=this.wrapper.style.zIndex-1;hs.pendingOutlines[this.outlineType]=null},showLoading:function(){if(this.onLoadStarted||this.loading){return}this.loading=hs.loading;var c=this;this.loading.onclick=function(){c.cancelLoading()};var c=this,a=this.x.get("loadingPos")+"px",b=this.y.get("loadingPos")+"px";if(!d&&this.last&&this.transitions[1]=="crossfade"){var d=this.last}if(d){a=d.x.get("loadingPosXfade")+"px";b=d.y.get("loadingPosXfade")+"px";this.loading.style.zIndex=hs.zIndexCounter++}setTimeout(function(){if(c.loading){hs.setStyles(c.loading,{left:a,top:b,zIndex:hs.zIndexCounter++})}},100)},imageCreate:function(){var b=this;var a=document.createElement("img");this.content=a;a.onload=function(){if(hs.expanders[b.key]){b.contentLoaded()}};if(hs.blockRightClick){a.oncontextmenu=function(){return false}}a.className="highslide-image";hs.setStyles(a,{visibility:"hidden",display:"block",position:"absolute",maxWidth:"9999px",zIndex:3});a.title=hs.lang.restoreTitle;if(hs.safari&&hs.uaVersion<525){hs.container.appendChild(a)}if(hs.ie&&hs.flushImgSize){a.src=null}a.src=this.src;this.showLoading()},contentLoaded:function(){try{if(!this.content){return}this.content.onload=null;if(this.onLoadStarted){return}else{this.onLoadStarted=true}var j=this.x,g=this.y;if(this.loading){hs.setStyles(this.loading,{top:"-9999px"});this.loading=null}j.full=this.content.width;g.full=this.content.height;hs.setStyles(this.content,{width:j.t+"px",height:g.t+"px"});this.wrapper.appendChild(this.content);hs.container.appendChild(this.wrapper);j.calcBorders();g.calcBorders();hs.setStyles(this.wrapper,{left:(j.tpos+j.tb-j.cb)+"px",top:(g.tpos+j.tb-g.cb)+"px"});this.initSlideshow();this.getOverlays();var f=j.full/g.full;j.calcExpanded();this.justify(j);g.calcExpanded();this.justify(g);if(this.overlayBox){this.sizeOverlayBox(0,1)}if(this.allowSizeReduction){this.correctRatio(f);var k=this.slideshow;if(k&&this.last&&k.controls&&k.fixedControls){var h=k.overlayOptions.position||"",a;for(var c in hs.oPos){for(var b=0;b<5;b++){a=this[c];if(h.match(hs.oPos[c][b])){a.pos=this.last[c].pos+(this.last[c].p1-a.p1)+(this.last[c].size-a.size)*[0,0,0.5,1,1][b];if(k.fixedControls=="fit"){if(a.pos+a.size+a.p1+a.p2>a.scroll+a.clientSize-a.marginMax){a.pos=a.scroll+a.clientSize-a.size-a.marginMin-a.marginMax-a.p1-a.p2}if(a.pos<a.scroll+a.marginMin){a.pos=a.scroll+a.marginMin}}}}}}if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(d){this.error(d)}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";if(h&&h.match(/ /)){g=h.split(" ");h=g[0]}if(h&&hs.$(h)){f.pos=hs.getPosition(hs.$(h))[e];if(g&&g[1]&&g[1].match(/^[-]?[0-9]+px$/)){f.pos+=parseInt(g[1])}if(f.size<f.minSize){f.size=f.minSize}}else{if(f.justify=="auto"||f.justify=="center"){var d=false;var a=f.exp.allowSizeReduction;if(f.justify=="center"){f.pos=Math.round(f.scroll+(f.clientSize+f.marginMin-f.marginMax-f.get("wsize"))/2)}else{f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2))}if(f.pos<f.scroll+f.marginMin){f.pos=f.scroll+f.marginMin;d=true}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos+f.get("wsize")>f.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")<f.get("fitsize")){f.pos=f.scroll+f.clientSize-f.marginMax-f.get("wsize")}else{f.pos=f.scroll+f.marginMin;if(!b&&a){f.size=f.get(e=="y"?"fitsize":"maxsize")}}}}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}}else{if(f.justify=="max"){f.pos=Math.floor(f.pos-f.size+f.t)}}}if(f.pos<f.marginMin){var c=f.pos;f.pos=f.marginMin;if(a&&!b){f.size=f.size-(f.pos-c)}}},correctRatio:function(c){var a=this.x,g=this.y,e=false,d=Math.min(a.full,a.size),b=Math.min(g.full,g.size),f=(this.useBox||hs.padToMinWidth);if(d/b>c){d=b*c;if(d<a.minSize){d=a.minSize;b=d/c}e=true}else{if(d/b<c){b=d/c;e=true}}if(hs.padToMinWidth&&a.full<a.minSize){a.imgSize=a.full;g.size=g.imgSize=g.full}else{if(this.useBox){a.imgSize=d;g.imgSize=b}else{a.size=d;g.size=b}}e=this.fitOverlayBox(this.useBox?null:c,e);if(f&&g.size<g.imgSize){g.imgSize=g.size;a.imgSize=g.size*c}if(e||f){a.pos=a.tpos-a.cb+a.tb;a.minSize=a.size;this.justify(a,true);g.pos=g.tpos-g.cb+g.tb;g.minSize=g.size;this.justify(g,true);if(this.overlayBox){this.sizeOverlayBox()}}},fitOverlayBox:function(b,c){var a=this.x,d=this.y;if(this.overlayBox){while(d.size>this.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");if(this.slideshow&&this.slideshow.thumbstrip){this.slideshow.thumbstrip.selectThumb()}this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(d,i,b){var k=this.transitions,e=d?(this.last?this.last.a:null):hs.upcoming,j=(k[1]&&e&&hs.getParam(e,"transitions")[1]==k[1])?k[1]:k[0];if(this[j]&&j!="expand"){this[j](d,i);return}if(this.outline&&!this.outlineWhileAnimating){if(d){this.outline.setPosition()}else{this.outline.destroy()}}if(!d){this.destroyOverlays()}var c=this,h=c.x,g=c.y,f=this.easing;if(!d){f=this.easingClose||f}var a=d?function(){if(c.outline){c.outline.table.style.visibility="visible"}setTimeout(function(){c.afterExpand()},50)}:function(){c.afterClose()};if(d){hs.setStyles(this.wrapper,{width:h.t+"px",height:g.t+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:d?0:1});hs.extend(i.wrapper,{opacity:d})}hs.animate(this.wrapper,i.wrapper,{duration:b,easing:f,step:function(n,l){if(c.outline&&c.outlineWhileAnimating&&l.prop=="top"){var m=d?l.pos:1-l.pos;var o={w:h.t+(h.get("wsize")-h.t)*m,h:g.t+(g.get("wsize")-g.t)*m,x:h.tpos+(h.pos-h.tpos)*m,y:g.tpos+(g.pos-g.tpos)*m};c.outline.setPosition(o,0,1)}}});hs.animate(this.content,i.content,b,f,a);if(d){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";this.a.className+=" highslide-active-anchor"}},fade:function(f,h){this.outlineWhileAnimating=false;var c=this,j=f?hs.expandDuration:0;if(f){hs.animate(this.wrapper,h.wrapper,0);hs.setStyles(this.wrapper,{opacity:0,visibility:"visible"});hs.animate(this.content,h.content,0);this.content.style.visibility="visible";hs.animate(this.wrapper,{opacity:1},j,null,function(){c.afterExpand()})}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex;var b=f||-1,d=this.outline.offset,a=f?3:d,g=f?d:3;for(var e=a;b*e<=b*g;e+=b,j+=25){(function(){var i=f?g-e:a-e;setTimeout(function(){c.outline.setPosition(0,i,1)},j)})()}}if(f){}else{setTimeout(function(){if(c.outline){c.outline.destroy(c.preserveContent)}c.destroyOverlays();hs.animate(c.wrapper,{opacity:0},hs.restoreDuration,null,function(){c.afterClose()})},j)}},crossfade:function(g,m,o){if(!g){return}var f=this,p=this.last,l=this.x,k=this.y,d=p.x,b=p.y,a=this.wrapper,i=this.content,c=this.overlayBox;hs.removeEventListener(document,"mousemove",hs.dragHandler);hs.setStyles(i,{width:(l.imgSize||l.size)+"px",height:(k.imgSize||k.size)+"px"});if(c){c.style.overflow="visible"}this.outline=p.outline;if(this.outline){this.outline.exp=f}p.outline=null;var h=hs.createElement("div",{className:"highslide-"+this.contentType},{position:"absolute",zIndex:4,overflow:"hidden",display:"none"});var j={oldImg:p,newImg:this};for(var e in j){this[e]=j[e].content.cloneNode(1);hs.setStyles(this[e],{position:"absolute",border:0,visibility:"visible"});h.appendChild(this[e])}a.appendChild(h);if(c){c.className="";a.appendChild(c)}h.style.display="";p.content.style.display="none";if(hs.safari&&hs.uaVersion<525){this.wrapper.style.visibility="visible"}hs.animate(a,{width:l.size},{duration:hs.transitionDuration,step:function(u,r){var x=r.pos,q=1-x;var w,s={},t=["pos","size","p1","p2"];for(var v in t){w=t[v];s["x"+w]=Math.round(q*d[w]+x*l[w]);s["y"+w]=Math.round(q*b[w]+x*k[w]);s.ximgSize=Math.round(q*(d.imgSize||d.size)+x*(l.imgSize||l.size));s.ximgPad=Math.round(q*d.get("imgPad")+x*l.get("imgPad"));s.yimgSize=Math.round(q*(b.imgSize||b.size)+x*(k.imgSize||k.size));s.yimgPad=Math.round(q*b.get("imgPad")+x*k.get("imgPad"))}if(f.outline){f.outline.setPosition({x:s.xpos,y:s.ypos,w:s.xsize+s.xp1+s.xp2+2*l.cb,h:s.ysize+s.yp1+s.yp2+2*k.cb})}p.wrapper.style.clip="rect("+(s.ypos-b.pos)+"px, "+(s.xsize+s.xp1+s.xp2+s.xpos+2*d.cb-d.pos)+"px, "+(s.ysize+s.yp1+s.yp2+s.ypos+2*b.cb-b.pos)+"px, "+(s.xpos-d.pos)+"px)";hs.setStyles(i,{top:(s.yp1+k.get("imgPad"))+"px",left:(s.xp1+l.get("imgPad"))+"px",marginTop:(k.pos-s.ypos)+"px",marginLeft:(l.pos-s.xpos)+"px"});hs.setStyles(a,{top:s.ypos+"px",left:s.xpos+"px",width:(s.xp1+s.xp2+s.xsize+2*l.cb)+"px",height:(s.yp1+s.yp2+s.ysize+2*k.cb)+"px"});hs.setStyles(h,{width:(s.ximgSize||s.xsize)+"px",height:(s.yimgSize||s.ysize)+"px",left:(s.xp1+s.ximgPad)+"px",top:(s.yp1+s.yimgPad)+"px",visibility:"visible"});hs.setStyles(f.oldImg,{top:(b.pos-s.ypos+b.p1-s.yp1+b.get("imgPad")-s.yimgPad)+"px",left:(d.pos-s.xpos+d.p1-s.xp1+d.get("imgPad")-s.ximgPad)+"px"});hs.setStyles(f.newImg,{opacity:x,top:(k.pos-s.ypos+k.p1-s.yp1+k.get("imgPad")-s.yimgPad)+"px",left:(l.pos-s.xpos+l.p1-s.xp1+l.get("imgPad")-s.ximgPad)+"px"});if(c){hs.setStyles(c,{width:s.xsize+"px",height:s.ysize+"px",left:(s.xp1+l.cb)+"px",top:(s.yp1+k.cb)+"px"})}},complete:function(){a.style.visibility=i.style.visibility="visible";i.style.display="block";hs.discardElement(h);f.afterExpand();p.afterClose();f.last=null}})},reuseOverlay:function(d,c){if(!this.last){return false}for(var b=0;b<this.last.overlays.length;b++){var a=hs.$("hsId"+this.last.overlays[b]);if(a&&a.hsId==d.hsId){this.genOverlayBox();a.reuse=this.key;hs.push(this.overlays,this.last.overlays[b]);return true}}return false},afterExpand:function(){this.isExpanded=true;this.focus();if(this.dimmingOpacity){hs.dim(this)}if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.pos<b&&b<this.x.pos+this.x.get("wsize")&&this.y.pos<a&&a<this.y.pos+this.y.get("wsize");if(this.overlayBox){this.showOverlays()}},prepareNextOutline:function(){var a=this.key;var b=this.outlineType;new hs.Outline(b,function(){try{hs.expanders[a].preloadNext()}catch(c){}})},preloadNext:function(){var b=this.getAdjacentAnchor(1);if(b&&b.onclick.toString().match(/hs\.expand/)){var a=hs.createElement("img",{src:hs.getSrc(b)})}},getAdjacentAnchor:function(c){var b=this.getAnchorIndex(),a=hs.anchors.groups[this.slideshowGroup||"none"];if(a&&!a[b+c]&&this.slideshow&&this.slideshow.repeat){if(c==1){return a[0]}else{if(c==-1){return a[a.length-1]}}}return(a&&a[b+c])||null},getAnchorIndex:function(){var a=hs.getAnchors().groups[this.slideshowGroup||"none"];if(a){for(var b=0;b<a.length;b++){if(a[b]==this.a){return b}}}return null},getNumber:function(){if(this[this.numberPosition]){var a=hs.anchors.groups[this.slideshowGroup||"none"];if(a){var b=hs.lang.number.replace("%1",this.getAnchorIndex()+1).replace("%2",a.length);this[this.numberPosition].innerHTML='<div class="highslide-number">'+b+"</div>"+this[this.numberPosition].innerHTML}}},initSlideshow:function(){if(!this.last){for(var c=0;c<hs.slideshows.length;c++){var b=hs.slideshows[c],d=b.slideshowGroup;if(typeof d=="undefined"||d===null||d===this.slideshowGroup){this.slideshow=new hs.Slideshow(this.key,b)}}}else{this.slideshow=this.last.slideshow}var b=this.slideshow;if(!b){return}var a=b.expKey=this.key;b.checkFirstAndLast();b.disable("full-expand");if(b.controls){this.createOverlay(hs.extend(b.overlayOptions||{},{overlayId:b.controls,hsId:"controls",zIndex:5}))}if(b.thumbstrip){b.thumbstrip.add(this)}if(!this.last&&this.autoplay){b.play(true)}if(b.autoplay){b.autoplay=setTimeout(function(){hs.next(a)},(b.interval||500))}},cancelLoading:function(){hs.discardElement(this.wrapper);hs.expanders[this.key]=null;if(hs.upcoming==this.a){hs.upcoming=null}hs.undim(this.key);if(this.loading){hs.loading.style.left="-9999px"}},writeCredits:function(){if(this.credits){return}this.credits=hs.createElement("a",{href:hs.creditsHref,target:hs.creditsTarget,className:"highslide-credits",innerHTML:hs.lang.creditsText,title:hs.lang.creditsTitle});this.createOverlay({overlayId:this.credits,position:this.creditsPosition||"top left",hsId:"credits"})},getInline:function(types,addOverlay){for(var i=0;i<types.length;i++){var type=types[i],s=null;if(!this[type+"Id"]&&this.thumbsUserSetId){this[type+"Id"]=type+"-for-"+this.thumbsUserSetId}if(this[type+"Id"]){this[type]=hs.getNode(this[type+"Id"])}if(!this[type]&&!this[type+"Text"]&&this[type+"Eval"]){try{s=eval(this[type+"Eval"])}catch(e){}}if(!this[type]&&this[type+"Text"]){s=this[type+"Text"]}if(!this[type]&&!s){this[type]=hs.getNode(this.a["_"+type+"Id"]);if(!this[type]){var next=this.a.nextSibling;while(next&&!hs.isHsAnchor(next)){if((new RegExp("highslide-"+type)).test(next.className||null)){if(!next.id){this.a["_"+type+"Id"]=next.id="hsId"+hs.idCounter++}this[type]=hs.getNode(next.id);break}next=next.nextSibling}}}if(!this[type]&&!s&&this.numberPosition==type){s="\n"}if(!this[type]&&s){this[type]=hs.createElement("div",{className:"highslide-"+type,innerHTML:s})}if(addOverlay&&this[type]){var o={position:(type=="heading")?"above":"below"};for(var x in this[type+"Overlay"]){o[x]=this[type+"Overlay"][x]}o.overlayId=this[type];this.createOverlay(o)}}},doShowHide:function(a){if(hs.hideSelects){this.showHideElements("SELECT",a)}if(hs.hideIframes){this.showHideElements("IFRAME",a)}if(hs.geckoMac){this.showHideElements("*",a)}},showHideElements:function(c,b){var e=document.getElementsByTagName(c);var a=c=="*"?"overflow":"visibility";for(var f=0;f<e.length;f++){if(a=="visibility"||(document.defaultView.getComputedStyle(e[f],"").getPropertyValue("overflow")=="auto"||e[f].getAttribute("hidden-by")!=null)){var h=e[f].getAttribute("hidden-by");if(b=="visible"&&h){h=h.replace("["+this.key+"]","");e[f].setAttribute("hidden-by",h);if(!h){e[f].style[a]=e[f].origProp}}else{if(b=="hidden"){var k=hs.getPosition(e[f]);k.w=e[f].offsetWidth;k.h=e[f].offsetHeight;if(!this.dimmingOpacity){var j=(k.x+k.w<this.x.get("opos")||k.x>this.x.get("opos")+this.x.get("osize"));var g=(k.y+k.h<this.y.get("opos")||k.y>this.y.get("opos")+this.y.get("osize"))}var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&a==hs.focusKey){var b=hs.expanders[a];b.content.className+=" highslide-"+b.contentType+"-blur";b.content.style.cursor=hs.ieLt7?"hand":"pointer";b.content.title=hs.lang.focusTitle}}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex-1}this.content.className="highslide-"+this.contentType;this.content.title=hs.lang.restoreTitle;if(hs.restoreCursor){hs.styleRestoreCursor=window.opera?"pointer":"url("+hs.graphicsDir+hs.restoreCursor+"), pointer";if(hs.ieLt7&&hs.uaVersion<6){hs.styleRestoreCursor="hand"}this.content.style.cursor=hs.styleRestoreCursor}hs.focusKey=this.key;hs.addEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)},moveTo:function(a,b){this.x.setPos(a);this.y.setPos(b)},resize:function(d){var a,b,c=d.width/d.height;a=Math.max(d.width+d.dX,Math.min(this.minWidth,this.x.full));if(this.isImage&&Math.abs(a-this.x.full)<12){a=this.x.full}b=a/c;if(b<Math.min(this.minHeight,this.y.full)){b=Math.min(this.minHeight,this.y.full);if(this.isImage){a=b*c}}this.resizeTo(a,b)},resizeTo:function(a,b){this.y.setSize(b);this.x.setSize(a);this.wrapper.style.height=this.y.get("wsize")+"px"},close:function(){if(this.isClosing||!this.isExpanded){return}if(this.transitions[1]=="crossfade"&&hs.upcoming){hs.getExpander(hs.upcoming).cancelLoading();hs.upcoming=null}this.isClosing=true;if(this.slideshow&&!hs.upcoming){this.slideshow.pause()}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{this.content.style.cursor="default";this.changeSize(0,{wrapper:{width:this.x.t,height:this.y.t,left:this.x.tpos-this.x.cb+this.x.tb,top:this.y.tpos-this.y.cb+this.y.tb},content:{left:0,top:0,width:this.x.t,height:this.y.t}},hs.restoreDuration)}catch(a){this.afterClose()}},createOverlay:function(e){var d=e.overlayId,a=(e.relativeTo=="viewport"&&!/panel$/.test(e.position));if(typeof d=="string"){d=hs.getNode(d)}if(e.html){d=hs.createElement("div",{innerHTML:e.html})}if(!d||typeof d=="string"){return}d.style.display="block";e.hsId=e.hsId||e.overlayId;if(this.transitions[1]=="crossfade"&&this.reuseOverlay(e,d)){return}this.genOverlayBox();var c=e.width&&/^[0-9]+(px|%)$/.test(e.width)?e.width:"auto";if(/^(left|right)panel$/.test(e.position)&&!/^[0-9]+px$/.test(e.width)){c="200px"}var b=hs.createElement("div",{id:"hsId"+hs.idCounter++,hsId:e.hsId},{position:"absolute",visibility:"hidden",width:c,direction:hs.lang.cssDirection||"",opacity:0},a?hs.viewport:this.overlayBox,true);if(a){b.hsKey=this.key}b.appendChild(d);hs.extend(b,{opacity:1,offsetX:0,offsetY:0,dur:(e.fade===0||e.fade===false||(e.fade==2&&hs.ie))?0:250});hs.extend(b,e);if(this.gotOverlays){this.positionOverlay(b);if(!b.hideOnMouseOut||this.mouseIsOver){hs.animate(b,{opacity:b.opacity},b.dur)}}hs.push(this.overlays,hs.idCounter-1)},positionOverlay:function(e){var f=e.position||"middle center",c=(e.relativeTo=="viewport"),b=e.offsetX,a=e.offsetY;if(c){hs.viewport.style.display="block";e.hsKey=this.key;if(e.offsetWidth>e.parentNode.offsetWidth){e.style.width="100%"}}else{if(e.parentNode!=this.overlayBox){this.overlayBox.appendChild(e)}}if(/left$/.test(f)){e.style.left=b+"px"}if(/center$/.test(f)){hs.setStyles(e,{left:"50%",marginLeft:(b-Math.round(e.offsetWidth/2))+"px"})}if(/right$/.test(f)){e.style.right=-b+"px"}if(/^leftpanel$/.test(f)){hs.setStyles(e,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=e.offsetWidth}else{if(/^rightpanel$/.test(f)){hs.setStyles(e,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=e.offsetWidth}}var d=e.parentNode.offsetHeight;e.style.height="auto";if(c&&e.offsetHeight>d){e.style.height=hs.ieLt7?d+"px":"100%"}if(/^top/.test(f)){e.style.top=a+"px"}if(/^middle/.test(f)){hs.setStyles(e,{top:"50%",marginTop:(a-Math.round(e.offsetHeight/2))+"px"})}if(/^bottom/.test(f)){e.style.bottom=-a+"px"}if(/^above$/.test(f)){hs.setStyles(e,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=e.offsetHeight}else{if(/^below$/.test(f)){hs.setStyles(e,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=e.offsetHeight;e.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);this.getNumber();if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a<hs.overlays.length;a++){var d=hs.overlays[a],e=d.thumbnailId,b=d.slideshowGroup;if((!e&&!b)||(e&&e==this.thumbsUserSetId)||(b&&b===this.slideshowGroup)){this.createOverlay(d)}}var c=[];for(var a=0;a<this.overlays.length;a++){var d=hs.$("hsId"+this.overlays[a]);if(/panel$/.test(d.position)){this.positionOverlay(d)}else{hs.push(c,d)}}for(var a=0;a<c.length;a++){this.positionOverlay(c[a])}this.gotOverlays=true},genOverlayBox:function(){if(!this.overlayBox){this.overlayBox=hs.createElement("div",{className:this.wrapperClassName},{position:"absolute",width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+"px",height:(this.y.size||this.y.full)+"px",visibility:"hidden",overflow:"hidden",zIndex:hs.ie?4:"auto"},hs.container,true)}},sizeOverlayBox:function(f,d){var c=this.overlayBox,a=this.x,h=this.y;hs.setStyles(c,{width:a.size+"px",height:h.size+"px"});if(f||d){for(var e=0;e<this.overlays.length;e++){var g=hs.$("hsId"+this.overlays[e]);var b=(hs.ieLt7||document.compatMode=="BackCompat");if(g&&/^(above|below)$/.test(g.position)){if(b){g.style.width=(c.offsetWidth+2*a.cb+a.p1+a.p2)+"px"}h[g.position=="above"?"p1":"p2"]=g.offsetHeight}if(g&&b&&/^(left|right)panel$/.test(g.position)){g.style.height=(c.offsetHeight+2*h.cb)+"px"}}}if(f){hs.setStyles(this.content,{top:h.p1+"px"});hs.setStyles(c,{top:(h.p1+h.cb)+"px"})}},showOverlays:function(){var a=this.overlayBox;a.className="";hs.setStyles(a,{top:(this.y.p1+this.y.cb)+"px",left:(this.x.p1+this.x.cb)+"px",overflow:"visible"});if(hs.safari){a.style.visibility="visible"}this.wrapper.appendChild(a);for(var c=0;c<this.overlays.length;c++){var d=hs.$("hsId"+this.overlays[c]);d.style.zIndex=d.zIndex||4;if(!d.hideOnMouseOut||this.mouseIsOver){d.style.visibility="visible";hs.setStyles(d,{visibility:"visible",display:""});hs.animate(d,{opacity:d.opacity},d.dur)}}},destroyOverlays:function(){if(!this.overlays.length){return}if(this.slideshow){var d=this.slideshow.controls;if(d&&hs.getExpander(d)==this){d.parentNode.removeChild(d)}}for(var a=0;a<this.overlays.length;a++){var b=hs.$("hsId"+this.overlays[a]);if(b&&b.parentNode==hs.viewport&&hs.getExpander(b)==this){hs.discardElement(b)}}hs.discardElement(this.overlayBox)},createFullExpand:function(){if(this.slideshow&&this.slideshow.controls){this.slideshow.enable("full-expand");return}this.fullExpandLabel=hs.createElement("a",{href:"javascript:hs.expanders["+this.key+"].doFullExpand();",title:hs.lang.fullExpandTitle,className:"highslide-full-expand"});this.createOverlay({overlayId:this.fullExpandLabel,position:hs.fullExpandPosition,hideOnMouseOut:true,opacity:hs.fullExpandOpacity})},doFullExpand:function(){try{if(this.fullExpandLabel){hs.discardElement(this.fullExpandLabel)}this.focus();var c=this.x.size,a=this.y.size;this.resizeTo(this.x.full,this.y.full);var b=this.x.pos-(this.x.size-c)/2;if(b<hs.marginLeft){b=hs.marginLeft}var f=this.y.pos-(this.y.size-a)/2;if(f<hs.marginTop){f=hs.marginTop}this.moveTo(b,f);this.doShowHide("hidden")}catch(d){this.error(d)}},afterClose:function(){this.a.className=this.a.className.replace("highslide-active-anchor","");this.doShowHide("visible");if(this.outline&&this.outlineWhileAnimating){this.outline.destroy()}hs.discardElement(this.wrapper);this.destroyOverlays();if(!hs.viewport.childNodes.length){hs.viewport.style.display="none"}if(this.dimmingOpacity){hs.undim(this.key)}hs.expanders[this.key]=null;hs.reOrder()}};hs.Slideshow=function(c,b){if(hs.dynamicallyUpdateAnchors!==false){hs.updateAnchors()}this.expKey=c;for(var a in b){this[a]=b[a]}if(this.useControls){this.getControls()}if(this.thumbstrip){this.thumbstrip=hs.Thumbstrip(this)}};hs.Slideshow.prototype={getControls:function(){this.controls=hs.createElement("div",{innerHTML:hs.replaceLang(hs.skin.controls)},null,hs.container);var b=["play","pause","previous","next","move","full-expand","close"];this.btn={};var c=this;for(var a=0;a<b.length;a++){this.btn[b[a]]=hs.getElementByClass(this.controls,"li","highslide-"+b[a]);this.enable(b[a])}this.btn.pause.style.display="none"},checkFirstAndLast:function(){if(this.repeat||!this.controls){return}var c=hs.expanders[this.expKey],b=c.getAnchorIndex(),a=/disabled$/;if(b==0){this.disable("previous")}else{if(a.test(this.btn.previous.getElementsByTagName("a")[0].className)){this.enable("previous")}}if(b+1==hs.anchors.groups[c.slideshowGroup||"none"].length){this.disable("next");this.disable("play")}else{if(a.test(this.btn.next.getElementsByTagName("a")[0].className)){this.enable("next");this.enable("play")}}},enable:function(d){if(!this.btn){return}var c=this,b=this.btn[d].getElementsByTagName("a")[0],e=/disabled$/;b.onclick=function(){c[d]();return false};if(e.test(b.className)){b.className=b.className.replace(e,"")}},disable:function(c){if(!this.btn){return}var b=this.btn[c].getElementsByTagName("a")[0];b.onclick=function(){return false};if(!/disabled$/.test(b.className)){b.className+=" disabled"}},hitSpace:function(){if(this.autoplay){this.pause()}else{this.play()}},play:function(a){if(this.btn){this.btn.play.style.display="none";this.btn.pause.style.display=""}this.autoplay=true;if(!a){hs.next(this.expKey)}},pause:function(){if(this.btn){this.btn.pause.style.display="none";this.btn.play.style.display=""}clearTimeout(this.autoplay);this.autoplay=null},previous:function(){this.pause();hs.previous(this.btn.previous)},next:function(){this.pause();hs.next(this.btn.next)},move:function(){},"full-expand":function(){hs.getExpander().doFullExpand()},close:function(){hs.close(this.btn.close)}};hs.Thumbstrip=function(k){function p(i){hs.extend(f||{},{overlayId:r,hsId:"thumbstrip",className:"highslide-thumbstrip-"+m+"-overlay "+(f.className||"")});if(hs.ieLt7){f.fade=0}i.createOverlay(f);hs.setStyles(r.parentNode,{overflow:"hidden"})}function c(i){d(undefined,Math.round(i*r[h?"offsetWidth":"offsetHeight"]*0.7))}function d(L,M){if(L===undefined){for(var K=0;K<j.length;K++){if(j[K]==hs.expanders[k.expKey].a){L=K;break}}}if(L===undefined){return}var G=r.getElementsByTagName("a"),z=G[L],w=z.parentNode,y=h?"Left":"Top",N=h?"Right":"Bottom",I=h?"Width":"Height",B="offset"+y,H="offset"+I,x=n.parentNode.parentNode[H],F=x-s[H],v=parseInt(s.style[h?"left":"top"])||0,C=v,D=20;if(M!==undefined){C=v-M;if(F>0){F=0}if(C>0){C=0}if(C<F){C=F}}else{for(var K=0;K<G.length;K++){G[K].className=""}z.className="highslide-active-anchor";var J=L>0?G[L-1].parentNode[B]:w[B],A=w[B]+w[H]+(G[L+1]?G[L+1].parentNode[H]:0);if(A>x-v){C=x-A}else{if(J<-v){C=-J}}}var E=w[B]+(w[H]-g[H])/2+C;hs.animate(s,h?{left:C}:{top:C},null,"easeOutQuad");hs.animate(g,h?{left:E}:{top:E},null,"easeOutQuad");l.style.display=C<0?"block":"none";t.style.display=(C>F)?"block":"none"}var j=hs.anchors.groups[hs.expanders[k.expKey].slideshowGroup||"none"],f=k.thumbstrip,m=f.mode||"horizontal",u=(m=="float"),o=u?["div","ul","li","span"]:["table","tbody","tr","td"],h=(m=="horizontal"),r=hs.createElement("div",{className:"highslide-thumbstrip highslide-thumbstrip-"+m,innerHTML:'<div class="highslide-thumbstrip-inner"><'+o[0]+"><"+o[1]+"></"+o[1]+"></"+o[0]+'></div><div class="highslide-scroll-up"><div></div></div><div class="highslide-scroll-down"><div></div></div><div class="highslide-marker"><div></div></div>'},{display:"none"},hs.container),e=r.childNodes,n=e[0],l=e[1],t=e[2],g=e[3],s=n.firstChild,a=r.getElementsByTagName(o[1])[0],b;for(var q=0;q<j.length;q++){if(q==0||!h){b=hs.createElement(o[2],null,null,a)}(function(){var v=j[q],i=hs.createElement(o[3],null,null,b),w=q;hs.createElement("a",{href:v.href,title:v.title,onclick:function(){if(/highslide-active-anchor/.test(this.className)){return false}hs.getExpander(this).focus();return hs.transit(v)},innerHTML:hs.stripItemFormatter?hs.stripItemFormatter(v):v.innerHTML},null,i)})()}if(!u){l.onclick=function(){c(-1)};t.onclick=function(){c(1)};hs.addEventListener(a,document.onmousewheel!==undefined?"mousewheel":"DOMMouseScroll",function(i){var v=0;i=i||window.event;if(i.wheelDelta){v=i.wheelDelta/120;if(hs.opera){v=-v}}else{if(i.detail){v=-i.detail/3}}if(v){c(-v*0.2)}if(i.preventDefault){i.preventDefault()}i.returnValue=false})}return{add:p,selectThumb:d}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie&&window==window.top){(function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,50);return}hs.ready()})()}hs.addEventListener(document,"DOMContentLoaded",hs.ready);hs.addEventListener(window,"load",hs.ready);hs.addEventListener(document,"ready",function(){if(hs.expandCursor||hs.dimmingOpacity){var d=hs.createElement("style",{type:"text/css"},null,document.getElementsByTagName("HEAD")[0]),c=document.compatMode=="BackCompat";function b(f,g){if(hs.ie&&(hs.uaVersion<9||c)){var e=document.styleSheets[document.styleSheets.length-1];if(typeof(e.addRule)=="object"){e.addRule(f,g)}}else{d.appendChild(document.createTextNode(f+" {"+g+"}"))}}function a(e){return"expression( ( ( ignoreMe = document.documentElement."+e+" ? document.documentElement."+e+" : document.body."+e+" ) ) + 'px' );"}if(hs.expandCursor){b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")}b(".highslide-viewport-size",hs.ie&&(hs.uaVersion<7||c)?"position: absolute; left:"+a("scrollLeft")+"top:"+a("scrollTop")+"width:"+a("clientWidth")+"height:"+a("clientHeight"):"position: fixed; width: 100%; height: 100%; left: 0; top: 0")}});hs.addEventListener(window,"resize",function(){hs.getPageSize();if(hs.viewport){for(var a=0;a<hs.viewport.childNodes.length;a++){var b=hs.viewport.childNodes[a],c=hs.getExpander(b);c.positionOverlay(b);if(b.hsId=="thumbstrip"){c.slideshow.thumbstrip.selectThumb()}}}});hs.addEventListener(document,"mousemove",function(a){hs.mouse={x:a.clientX,y:a.clientY}});hs.addEventListener(document,"mousedown",hs.mouseClickHandler);hs.addEventListener(document,"mouseup",hs.mouseClickHandler);hs.addEventListener(document,"ready",hs.getAnchors);hs.addEventListener(window,"load",hs.preloadImages)}; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.packed.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.packed.js new file mode 100644 index 000000000..449942c8e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-gallery.packed.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +slideshow +positioning +transitions +viewport +thumbstrip +packed + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){u m={18:{9C:\'9t\',9f:\'bb...\',9g:\'8o 1L ba\',9Y:\'8o 1L bd 1L bw\',7p:\'bx 1L bl B (f)\',aS:\'bp by <i>8H 8I</i>\',b0:\'bn 1L bj 8H 8I bz\',8T:\'8C\',8U:\'8D\',8w:\'8E\',8v:\'8J\',8t:\'8J (bv)\',bu:\'bg\',8P:\'8G\',8A:\'8G 1g (8B)\',8N:\'8F\',8M:\'8F 1g (8B)\',8S:\'8C (8l 14)\',8O:\'8D (8l 2V)\',8s:\'8E\',8r:\'1:1\',3n:\'b9 %1 bq %2\',84:\'8o 1L 26 2M, c4 8L c6 1L 3i. c0 8l c1 K 1p 8L 3c.\'},4p:\'L/bX/\',5M:\'bI.4y\',5m:\'bK.4y\',7f:53,8p:53,4L:15,9M:15,4j:15,9K:15,4z:bE,91:0.75,9j:J,7A:5,3B:2,bP:3,4R:1f,at:\'4g 2V\',aq:1,an:J,aF:\'bQ://L.c2/\',aE:\'bO\',8V:J,8e:[\'a\'],2Z:[],aL:53,3I:0,7G:50,3Q:\'2n\',6H:\'2n\',8y:H,8x:H,7v:J,5c:8R,5w:8R,5q:J,1B:\'bR-bS\',a6:{2B:\'<X 2s="L-2B"><7V>\'+\'<1R 2s="L-3c">\'+\'<a 1Y="#" 1X="{m.18.8S}">\'+\'<23>{m.18.8T}</23></a>\'+\'</1R>\'+\'<1R 2s="L-3r">\'+\'<a 1Y="#" 1X="{m.18.8A}">\'+\'<23>{m.18.8P}</23></a>\'+\'</1R>\'+\'<1R 2s="L-2S">\'+\'<a 1Y="#" 1X="{m.18.8M}">\'+\'<23>{m.18.8N}</23></a>\'+\'</1R>\'+\'<1R 2s="L-1p">\'+\'<a 1Y="#" 1X="{m.18.8O}">\'+\'<23>{m.18.8U}</23></a>\'+\'</1R>\'+\'<1R 2s="L-3i">\'+\'<a 1Y="#" 1X="{m.18.8s}">\'+\'<23>{m.18.8w}</23></a>\'+\'</1R>\'+\'<1R 2s="L-1a-2D">\'+\'<a 1Y="#" 1X="{m.18.7p}">\'+\'<23>{m.18.8r}</23></a>\'+\'</1R>\'+\'<1R 2s="L-26">\'+\'<a 1Y="#" 1X="{m.18.8t}" >\'+\'<23>{m.18.8v}</23></a>\'+\'</1R>\'+\'</7V></X>\'},4X:[],6Z:J,W:[],6V:[\'5q\',\'30\',\'3Q\',\'6H\',\'8y\',\'8x\',\'1B\',\'3B\',\'bG\',\'bH\',\'bJ\',\'8u\',\'bW\',\'cd\',\'cc\',\'8z\',\'aW\',\'7v\',\'3D\',\'5b\',\'2Z\',\'3I\',\'M\',\'1b\',\'7B\',\'5c\',\'5w\',\'6F\',\'6R\',\'9i\',\'2t\',\'2r\',\'aT\',\'aD\',\'1G\'],1x:[],4V:0,7q:{x:[\'9H\',\'14\',\'4i\',\'2V\',\'9L\'],y:[\'4T\',\'11\',\'8h\',\'4g\',\'6D\']},66:{},8z:{},8u:{},3u:[],4U:[],48:{},7I:{},5G:[],21:/ca\\/4\\.0/.19(4B.5r)?8:8n((4B.5r.5Y().2H(/.+(?:9y|c9|ce|2m)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),2m:(R.52&&!1A.3q),4u:/cf/.19(4B.5r),5Z:/ci.+9y:1\\.[0-8].+cg/.19(4B.5r),$:z(1M){q(1M)D R.c7(1M)},2p:z(2o,3j){2o[2o.S]=3j},1c:z(9m,4k,3P,8b,9n){u C=R.1c(9m);q(4k)m.3b(C,4k);q(9n)m.V(C,{bY:0,aM:\'1F\',6S:0});q(3P)m.V(C,3P);q(8b)8b.2E(C);D C},3b:z(C,4k){K(u x 2T 4k)C[x]=4k[x];D C},V:z(C,3P){K(u x 2T 3P){q(m.4d&&x==\'1n\'){q(3P[x]>0.99)C.G.c5(\'5j\');I C.G.5j=\'9o(1n=\'+(3P[x]*28)+\')\'}I C.G[x]=3P[x]}},2b:z(C,Z,31){u 41,4v,47;q(1q 31!=\'6q\'||31===H){u 36=9V;31={3J:36[2],2r:36[3],63:36[4]}}q(1q 31.3J!=\'3n\')31.3J=53;31.2r=1d[31.2r]||1d.93;31.5S=m.3b({},Z);K(u 35 2T Z){u e=24 m.1E(C,31,35);41=8n(m.7U(C,35))||0;4v=8n(Z[35]);47=35!=\'1n\'?\'F\':\'\';e.3F(41,4v,47)}},7U:z(C,Z){q(C.G[Z]){D C.G[Z]}I q(R.6T){D R.6T.9P(C,H).9Q(Z)}I{q(Z==\'1n\')Z=\'5j\';u 3j=C.bf[Z.2j(/\\-(\\w)/g,z(a,b){D b.92()})];q(Z==\'5j\')3j=3j.2j(/9o\\(1n=([0-9]+)\\)/,z(a,b){D b/28});D 3j===\'\'?1:3j}},6v:z(){u d=R,w=1A,5d=d.6i&&d.6i!=\'7P\'?d.4l:d.3x,4d=m.2m&&(m.21<9||1q 9l==\'1C\');u M=4d?5d.8m:(d.4l.8m||5J.b2),1b=4d?5d.aK:5J.b3;m.3S={M:M,1b:1b,5l:4d?5d.5l:9l,5i:4d?5d.5i:be};D m.3S},6g:z(C){u p={x:C.4f,y:C.9h};4o(C.9k){C=C.9k;p.x+=C.4f;p.y+=C.9h;q(C!=R.3x&&C!=R.4l){p.x-=C.5l;p.y-=C.5i}}D p},2D:z(a,2O,3F,T){q(!a)a=m.1c(\'a\',H,{1u:\'1F\'},m.22);q(1q a.5u==\'z\')D 2O;2d{24 m.4Z(a,2O,3F);D 1f}1W(e){D J}},a4:z(C,4F,U){u 1i=C.2L(4F);K(u i=0;i<1i.S;i++){q((24 5X(U)).19(1i[i].U)){D 1i[i]}}D H},a7:z(s){s=s.2j(/\\s/g,\' \');u 1T=/{m\\.18\\.([^}]+)\\}/g,4S=s.2H(1T),18;q(4S)K(u i=0;i<4S.S;i++){18=4S[i].2j(1T,"$1");q(1q m.18[18]!=\'1C\')s=s.2j(4S[i],m.18[18])}D s},9w:z(){u 7J=0,6j=-1,W=m.W,A,1r;K(u i=0;i<W.S;i++){A=W[i];q(A){1r=A.Q.G.1r;q(1r&&1r>7J){7J=1r;6j=i}}}q(6j==-1)m.3v=-1;I W[6j].43()},5h:z(a,5p){a.5u=a.2G;u p=a.5u?a.5u():H;a.5u=H;D(p&&1q p[5p]!=\'1C\')?p[5p]:(1q m[5p]!=\'1C\'?m[5p]:H)},73:z(a){u 1G=m.5h(a,\'1G\');q(1G)D 1G;D a.1Y},4W:z(1M){u 3w=m.$(1M),45=m.7I[1M],a={};q(!3w&&!45)D H;q(!45){45=3w.7j(J);45.1M=\'\';m.7I[1M]=45;D 3w}I{D 45.7j(J)}},3H:z(d){q(d)m.8j.2E(d);m.8j.2R=\'\'},1m:z(A){q(!m.2a){7E=J;m.2a=m.1c(\'X\',{U:\'L-bk L-1Z-B\',4x:\'\',2G:z(){m.26()}},{1e:\'1D\',1n:0},m.22,J);q(/(bm|bt|bo|br)/.19(4B.5r)){u 3x=R.3x;z 7H(){m.V(m.2a,{M:3x.bA+\'F\',1b:3x.b5+\'F\'})}7H();m.1Q(1A,\'3O\',7H)}}m.2a.G.1u=\'\';u 7E=m.2a.4x==\'\';m.2a.4x+=\'|\'+A.P;q(7E){q(m.5Z&&m.9q)m.V(m.2a,{9e:\'5O(\'+m.4p+\'bh.97)\',1n:1});I m.2b(m.2a,{1n:A.3I},m.7G)}},7Q:z(P){q(!m.2a)D;q(1q P!=\'1C\')m.2a.4x=m.2a.4x.2j(\'|\'+P,\'\');q((1q P!=\'1C\'&&m.2a.4x!=\'\')||(m.1U&&m.5h(m.1U,\'3I\')))D;q(m.5Z&&m.9q)m.2a.G.1u=\'1F\';I m.2b(m.2a,{1n:0},m.7G,H,z(){m.2a.G.1u=\'1F\'})},83:z(6n,A){u Y=A||m.2h();A=Y;q(m.1U)D 1f;I m.Y=Y;m.49(R,1A.3q?\'5P\':\'5Q\',m.4N);2d{m.1U=6n;6n.2G()}1W(e){m.Y=m.1U=H}2d{q(!6n||A.2Z[1]!=\'3Y\')A.26()}1W(e){}D 1f},6d:z(C,1P){u A=m.2h(C);q(A)D m.83(A.7b(1P),A);I D 1f},3c:z(C){D m.6d(C,-1)},1p:z(C){D m.6d(C,1)},4N:z(e){q(!e)e=1A.29;q(!e.2i)e.2i=e.7l;q(1q e.2i.9x!=\'1C\')D J;u A=m.2h();u 1P=H;8Y(e.cq){1I 70:q(A)A.6k();D J;1I 32:1P=2;5B;1I 34:1I 39:1I 40:1P=1;5B;1I 8:1I 33:1I 37:1I 38:1P=-1;5B;1I 27:1I 13:1P=0}q(1P!==H){q(1P!=2)m.49(R,1A.3q?\'5P\':\'5Q\',m.4N);q(!m.8V)D J;q(e.4D)e.4D();I e.9W=1f;q(A){q(1P==0){A.26()}I q(1P==2){q(A.1g)A.1g.ad()}I{q(A.1g)A.1g.2S();m.6d(A.P,1P)}D 1f}}D J},d5:z(O){m.2p(m.1x,m.3b(O,{1H:\'1H\'+m.4V++}))},d4:z(1h){u 2C=1h.2t;q(1q 2C==\'6q\'){K(u i=0;i<2C.S;i++){u o={};K(u x 2T 1h)o[x]=1h[x];o.2t=2C[i];m.2p(m.4U,o)}}I{m.2p(m.4U,1h)}},86:z(7N,65){u C,1T=/^L-Q-([0-9]+)$/;C=7N;4o(C.1O){q(C.5F!==1C)D C.5F;q(C.1M&&1T.19(C.1M))D C.1M.2j(1T,"$1");C=C.1O}q(!65){C=7N;4o(C.1O){q(C.4F&&m.5L(C)){K(u P=0;P<m.W.S;P++){u A=m.W[P];q(A&&A.a==C)D P}}C=C.1O}}D H},2h:z(C,65){q(1q C==\'1C\')D m.W[m.3v]||H;q(1q C==\'3n\')D m.W[C]||H;q(1q C==\'8q\')C=m.$(C);D m.W[m.86(C,65)]||H},5L:z(a){D(a.2G&&a.2G.aI().2j(/\\s/g,\' \').2H(/m.(d6|e)d7/))},ai:z(){K(u i=0;i<m.W.S;i++)q(m.W[i]&&m.W[i].55)m.9w()},87:z(e){q(!e)e=1A.29;q(e.d9>1)D J;q(!e.2i)e.2i=e.7l;u C=e.2i;4o(C.1O&&!(/L-(2M|3i|5W|3O)/.19(C.U))){C=C.1O}u A=m.2h(C);q(A&&(A.8c||!A.55))D J;q(A&&e.T==\'aH\'){q(e.2i.9x)D J;u 2H=C.U.2H(/L-(2M|3i|3O)/);q(2H){m.2I={A:A,T:2H[1],14:A.x.E,M:A.x.B,11:A.y.E,1b:A.y.B,9v:e.6c,9u:e.68};m.1Q(R,\'6o\',m.5V);q(e.4D)e.4D();q(/L-(2M|5W)-89/.19(A.17.U)){A.43();m.7R=J}D 1f}}I q(e.T==\'aA\'){m.49(R,\'6o\',m.5V);q(m.2I){q(m.4I&&m.2I.T==\'2M\')m.2I.A.17.G.46=m.4I;u 3y=m.2I.3y;q(!3y&&!m.7R&&!/(3i|3O)/.19(m.2I.T)){A.26()}I q(3y||(!3y&&m.d8)){m.2I.A.5s(\'1s\')}m.7R=1f;m.2I=H}I q(/L-2M-89/.19(C.U)){C.G.46=m.4I}}D 1f},5V:z(e){q(!m.2I)D J;q(!e)e=1A.29;u a=m.2I,A=a.A;a.5T=e.6c-a.9v;a.7o=e.68-a.9u;u 7s=1d.ck(1d.9r(a.5T,2)+1d.9r(a.7o,2));q(!a.3y)a.3y=(a.T!=\'2M\'&&7s>0)||(7s>(m.cX||5));q(a.3y&&e.6c>5&&e.68>5){q(a.T==\'3O\')A.3O(a);I{A.7C(a.14+a.5T,a.11+a.7o);q(a.T==\'2M\')A.17.G.46=\'3i\'}}D 1f},8Q:z(e){2d{q(!e)e=1A.29;u 6C=/cW/i.19(e.T);q(!e.2i)e.2i=e.7l;q(!e.6E)e.6E=6C?e.db:e.di;u A=m.2h(e.2i);q(!A.55)D;q(!A||!e.6E||m.2h(e.6E,J)==A||m.2I)D;K(u i=0;i<A.1x.S;i++)(z(){u o=m.$(\'1H\'+A.1x[i]);q(o&&o.69){q(6C)m.V(o,{1e:\'1D\',1u:\'\'});m.2b(o,{1n:6C?o.1n:0},o.3t)}})()}1W(e){}},1Q:z(C,29,3l){q(C==R&&29==\'3s\'){m.2p(m.5G,3l)}2d{C.1Q(29,3l,1f)}1W(e){2d{C.9s(\'54\'+29,3l);C.dn(\'54\'+29,3l)}1W(e){C[\'54\'+29]=3l}}},49:z(C,29,3l){2d{C.49(29,3l,1f)}1W(e){2d{C.9s(\'54\'+29,3l)}1W(e){C[\'54\'+29]=H}}},6A:z(i){q(m.6Z&&m.4X[i]&&m.4X[i]!=\'1C\'){u 1y=R.1c(\'1y\');1y.64=z(){1y=H;m.6A(i+1)};1y.1G=m.4X[i]}},9R:z(3n){q(3n&&1q 3n!=\'6q\')m.7A=3n;u 2o=m.60();K(u i=0;i<2o.4A.S&&i<m.7A;i++){m.2p(m.4X,m.73(2o.4A[i]))}q(m.1B)24 m.4O(m.1B,z(){m.6A(0)});I m.6A(0);q(m.5m)u 4y=m.1c(\'1y\',{1G:m.4p+m.5m})},71:z(){q(!m.22){m.3E=m.2m&&m.21<7;m.4d=m.2m&&m.21<9;m.6v();K(u x 2T m.5U){q(1q m[x]!=\'1C\')m.18[x]=m[x];I q(1q m.18[x]==\'1C\'&&1q m.5U[x]!=\'1C\')m.18[x]=m.5U[x]}m.22=m.1c(\'X\',{U:\'L-22\'},{1j:\'2v\',14:0,11:0,M:\'28%\',1r:m.4z,9F:\'9t\'},R.3x,J);m.1S=m.1c(\'a\',{U:\'L-1S\',1X:m.18.9g,2R:m.18.9f,1Y:\'av:;\'},{1j:\'2v\',11:\'-4P\',1n:m.91,1r:1},m.22);m.8j=m.1c(\'X\',H,{1u:\'1F\'},m.22);m.1Z=m.1c(\'X\',{U:\'L-1Z L-1Z-B\'},{1e:(m.4u&&m.21<6t)?\'1D\':\'1s\'},m.22,1);1d.de=z(t,b,c,d){D c*t/d+b};1d.93=z(t,b,c,d){D c*(t/=d)*t+b};1d.7n=z(t,b,c,d){D-c*(t/=d)*(t-2)+b};m.9U=m.3E;m.9z=((1A.3q&&m.21<9)||4B.cU==\'cV\'||(m.3E&&m.21<5.5))}},3s:z(){q(m.6I)D;m.6I=J;K(u i=0;i<m.5G.S;i++)m.5G[i]()},7O:z(){u C,1i,52=[],4A=[],2N={},1T;K(u i=0;i<m.8e.S;i++){1i=R.2L(m.8e[i]);K(u j=0;j<1i.S;j++){C=1i[j];1T=m.5L(C);q(1T){m.2p(52,C);q(1T[0]==\'m.2D\')m.2p(4A,C);u g=m.5h(C,\'2t\')||\'1F\';q(!2N[g])2N[g]=[];m.2p(2N[g],C)}}}m.3R={52:52,2N:2N,4A:4A};D m.3R},60:z(){D m.3R||m.7O()},26:z(C){u A=m.2h(C);q(A)A.26();D 1f}};m.1E=z(2F,1h,Z){k.1h=1h;k.2F=2F;k.Z=Z;q(!1h.8Z)1h.8Z={}};m.1E.5o={8a:z(){(m.1E.3k[k.Z]||m.1E.3k.96)(k);q(k.1h.3k)k.1h.3k.95(k.2F,k.4c,k)},3F:z(72,1L,47){k.80=(24 8X()).94();k.41=72;k.4v=1L;k.47=47;k.4c=k.41;k.E=k.7X=0;u 5J=k;z t(5N){D 5J.3k(5N)}t.2F=k.2F;q(t()&&m.3u.2p(t)==1){m.8W=cx(z(){u 3u=m.3u;K(u i=0;i<3u.S;i++)q(!3u[i]())3u.cw(i--,1);q(!3u.S){cv(m.8W)}},13)}},3k:z(5N){u t=(24 8X()).94();q(5N||t>=k.1h.3J+k.80){k.4c=k.4v;k.E=k.7X=1;k.8a();k.1h.5S[k.Z]=J;u 8d=J;K(u i 2T k.1h.5S)q(k.1h.5S[i]!==J)8d=1f;q(8d){q(k.1h.63)k.1h.63.95(k.2F)}D 1f}I{u n=t-k.80;k.7X=n/k.1h.3J;k.E=k.1h.2r(n,0,1,k.1h.3J);k.4c=k.41+((k.4v-k.41)*k.E);k.8a()}D J}};m.3b(m.1E,{3k:{1n:z(1E){m.V(1E.2F,{1n:1E.4c})},96:z(1E){2d{q(1E.2F.G&&1E.2F.G[1E.Z]!=H)1E.2F.G[1E.Z]=1E.4c+1E.47;I 1E.2F[1E.Z]=1E.4c}1W(e){}}}});m.4O=z(1B,3V){k.3V=3V;k.1B=1B;u v=m.21,3L;k.7h=m.2m&&m.21<7;q(!1B){q(3V)3V();D}m.71();k.1V=m.1c(\'1V\',{cr:0},{1e:\'1s\',1j:\'2v\',cC:\'cD\',M:0},m.22,J);u 4a=m.1c(\'4a\',H,H,k.1V,1);k.2e=[];K(u i=0;i<=8;i++){q(i%3==0)3L=m.1c(\'3L\',H,{1b:\'2n\'},4a,J);k.2e[i]=m.1c(\'2e\',H,H,3L,J);u G=i!=4?{cP:0,cO:0}:{1j:\'8i\'};m.V(k.2e[i],G)}k.2e[4].U=1B+\' L-16\';k.98()};m.4O.5o={98:z(){u 1G=m.4p+(m.cN||"cQ/")+k.1B+".97";u 9a=m.4u&&m.21<6t?m.22:H;k.3d=m.1c(\'1y\',H,{1j:\'2v\',11:\'-4P\'},9a,J);u 7T=k;k.3d.64=z(){7T.9b()};k.3d.1G=1G},9b:z(){u o=k.1k=k.3d.M/4,E=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1m={1b:(2*o)+\'F\',M:(2*o)+\'F\'};K(u i=0;i<=8;i++){q(E[i]){q(k.7h){u w=(i==1||i==7)?\'28%\':k.3d.M+\'F\';u X=m.1c(\'X\',H,{M:\'28%\',1b:\'28%\',1j:\'8i\',3a:\'1s\'},k.2e[i],J);m.1c(\'X\',H,{5j:"cL:cG.cF.cE(cH=cI, 1G=\'"+k.3d.1G+"\')",1j:\'2v\',M:w,1b:k.3d.1b+\'F\',14:(E[i][0]*o)+\'F\',11:(E[i][1]*o)+\'F\'},X,J)}I{m.V(k.2e[i],{9e:\'5O(\'+k.3d.1G+\') \'+(E[i][0]*o)+\'F \'+(E[i][1]*o)+\'F\'})}q(1A.3q&&(i==3||i==5))m.1c(\'X\',H,1m,k.2e[i],J);m.V(k.2e[i],1m)}}k.3d=H;q(m.48[k.1B])m.48[k.1B].5x();m.48[k.1B]=k;q(k.3V)k.3V()},3Z:z(E,1k,9d,3t,2r){u A=k.A,cK=A.Q.G,1k=1k||0,E=E||{x:A.x.E+1k,y:A.y.E+1k,w:A.x.N(\'1N\')-2*1k,h:A.y.N(\'1N\')-2*1k};q(9d)k.1V.G.1e=(E.h>=4*k.1k)?\'1D\':\'1s\';m.V(k.1V,{14:(E.x-k.1k)+\'F\',11:(E.y-k.1k)+\'F\',M:(E.w+2*k.1k)+\'F\'});E.w-=2*k.1k;E.h-=2*k.1k;m.V(k.2e[4],{M:E.w>=0?E.w+\'F\':0,1b:E.h>=0?E.h+\'F\':0});q(k.7h)k.2e[3].G.1b=k.2e[5].G.1b=k.2e[4].G.1b},5x:z(9c){q(9c)k.1V.G.1e=\'1s\';I m.3H(k.1V)}};m.6r=z(A,1m){k.A=A;k.1m=1m;k.3m=1m==\'x\'?\'ah\':\'au\';k.3G=k.3m.5Y();k.4M=1m==\'x\'?\'af\':\'ag\';k.6B=k.4M.5Y();k.7d=1m==\'x\'?\'a5\':\'a8\';k.90=k.7d.5Y();k.1o=k.2z=0};m.6r.5o={N:z(P){8Y(P){1I\'78\':D k.1K+k.3o+(k.t-m.1S[\'1k\'+k.3m])/2;1I\'6Q\':D k.E+k.cb+k.1o+(k.B-m.1S[\'1k\'+k.3m])/2;1I\'1N\':D k.B+2*k.cb+k.1o+k.2z;1I\'4n\':D k.3W-k.2P-k.3X;1I\'7a\':D k.N(\'4n\')-2*k.cb-k.1o-k.2z;1I\'5t\':D k.E-(k.A.16?k.A.16.1k:0);1I\'7M\':D k.N(\'1N\')+(k.A.16?2*k.A.16.1k:0);1I\'2f\':D k.1z?1d.2y((k.B-k.1z)/2):0}},74:z(){k.cb=(k.A.17[\'1k\'+k.3m]-k.t)/2;k.3X=m[\'6S\'+k.7d]},6X:z(){k.t=k.A.C[k.3G]?7L(k.A.C[k.3G]):k.A.C[\'1k\'+k.3m];k.1K=k.A.1K[k.1m];k.3o=(k.A.C[\'1k\'+k.3m]-k.t)/2;q(k.1K==0||k.1K==-1){k.1K=(m.3S[k.3G]/2)+m.3S[\'1J\'+k.4M]}},6P:z(){u A=k.A;k.2k=\'2n\';q(A.6H==\'4i\')k.2k=\'4i\';I q(24 5X(k.6B).19(A.3Q))k.2k=H;I q(24 5X(k.90).19(A.3Q))k.2k=\'56\';k.E=k.1K-k.cb+k.3o;q(k.6R&&k.1m==\'x\')A.6F=1d.2X(A.6F||k.1a,A.6R*k.1a/A.y.1a);k.B=1d.2X(k.1a,A[\'56\'+k.3m]||k.1a);k.2q=A.5q?1d.2X(A[\'2X\'+k.3m],k.1a):k.1a;q(A.3A&&A.30){k.B=A[k.3G];k.1z=k.1a}q(k.1m==\'x\'&&m.4R)k.2q=A.5c;k.2i=A[\'2i\'+k.1m.92()];k.2P=m[\'6S\'+k.4M];k.1J=m.3S[\'1J\'+k.4M];k.3W=m.3S[k.3G]},82:z(i){u A=k.A;q(A.3A&&(A.30||m.4R)){k.1z=i;k.B=1d.56(k.B,k.1z);A.17.G[k.6B]=k.N(\'2f\')+\'F\'}I k.B=i;A.17.G[k.3G]=i+\'F\';A.Q.G[k.3G]=k.N(\'1N\')+\'F\';q(A.16)A.16.3Z();q(k.1m==\'x\'&&A.1l)A.4K(J);q(k.1m==\'x\'&&A.1g&&A.3A){q(i==k.1a)A.1g.4J(\'1a-2D\');I A.1g.3T(\'1a-2D\')}},7Z:z(i){k.E=i;k.A.Q.G[k.6B]=i+\'F\';q(k.A.16)k.A.16.3Z()}};m.4Z=z(a,2O,3F,2Q){q(R.cs&&m.2m&&!m.6I){m.1Q(R,\'3s\',z(){24 m.4Z(a,2O,3F,2Q)});D}k.a=a;k.3F=3F;k.2Q=2Q||\'2M\';k.3A=!k.cp;m.6Z=1f;k.1x=[];k.Y=m.Y;m.Y=H;m.71();u P=k.P=m.W.S;K(u i=0;i<m.6V.S;i++){u 35=m.6V[i];k[35]=2O&&1q 2O[35]!=\'1C\'?2O[35]:m[35]}q(!k.1G)k.1G=a.1Y;u C=(2O&&2O.7y)?m.$(2O.7y):a;C=k.9p=C.2L(\'1y\')[0]||C;k.6x=C.1M||a.1M;K(u i=0;i<m.W.S;i++){q(m.W[i]&&m.W[i].a==a&&!(k.Y&&k.2Z[1]==\'3Y\')){m.W[i].43();D 1f}}q(!m.cm)K(u i=0;i<m.W.S;i++){q(m.W[i]&&m.W[i].9p!=C&&!m.W[i].6G){m.W[i].5K()}}m.W[P]=k;q(!m.9j&&!m.1U){q(m.W[P-1])m.W[P-1].26();q(1q m.3v!=\'1C\'&&m.W[m.3v])m.W[m.3v].26()}k.C=C;k.1K=k.9i||m.6g(C);m.6v();u x=k.x=24 m.6r(k,\'x\');x.6X();u y=k.y=24 m.6r(k,\'y\');y.6X();k.Q=m.1c(\'X\',{1M:\'L-Q-\'+k.P,U:\'L-Q \'+k.7B},{1e:\'1s\',1j:\'2v\',1r:m.4z+=2},H,J);k.Q.cu=k.Q.cB=m.8Q;q(k.2Q==\'2M\'&&k.3B==2)k.3B=0;q(!k.1B||(k.Y&&k.3A&&k.2Z[1]==\'3Y\')){k[k.2Q+\'6J\']()}I q(m.48[k.1B]){k.6L();k[k.2Q+\'6J\']()}I{k.6U();u A=k;24 m.4O(k.1B,z(){A.6L();A[A.2Q+\'6J\']()})}D J};m.4Z.5o={7D:z(e){q(m.dm)dk(\'do \'+e.d0+\': \'+e.d1);I 1A.cZ.1Y=k.1G},6L:z(){u 16=k.16=m.48[k.1B];16.A=k;16.1V.G.1r=k.Q.G.1r-1;m.48[k.1B]=H},6U:z(){q(k.6G||k.1S)D;k.1S=m.1S;u A=k;k.1S.2G=z(){A.5K()};u A=k,l=k.x.N(\'78\')+\'F\',t=k.y.N(\'78\')+\'F\';q(!2l&&k.Y&&k.2Z[1]==\'3Y\')u 2l=k.Y;q(2l){l=2l.x.N(\'6Q\')+\'F\';t=2l.y.N(\'6Q\')+\'F\';k.1S.G.1r=m.4z++}4r(z(){q(A.1S)m.V(A.1S,{14:l,11:t,1r:m.4z++})},28)},da:z(){u A=k;u 1y=R.1c(\'1y\');k.17=1y;1y.64=z(){q(m.W[A.P])A.8K()};q(m.cY)1y.dj=z(){D 1f};1y.U=\'L-2M\';m.V(1y,{1e:\'1s\',1u:\'4H\',1j:\'2v\',6F:\'4P\',1r:3});1y.1X=m.18.84;q(m.4u&&m.21<6t)m.22.2E(1y);q(m.2m&&m.dc)1y.1G=H;1y.1G=k.1G;k.6U()},8K:z(){2d{q(!k.17)D;k.17.64=H;q(k.6G)D;I k.6G=J;u x=k.x,y=k.y;q(k.1S){m.V(k.1S,{11:\'-4P\'});k.1S=H}x.1a=k.17.M;y.1a=k.17.1b;m.V(k.17,{M:x.t+\'F\',1b:y.t+\'F\'});k.Q.2E(k.17);m.22.2E(k.Q);x.74();y.74();m.V(k.Q,{14:(x.1K+x.3o-x.cb)+\'F\',11:(y.1K+x.3o-y.cb)+\'F\'});k.aB();k.9J();u 2x=x.1a/y.1a;x.6P();k.2k(x);y.6P();k.2k(y);q(k.1l)k.4K(0,1);q(k.5q){k.aZ(2x);u 1v=k.1g;q(1v&&k.Y&&1v.2B&&1v.ar){u E=1v.aC.1j||\'\',p;K(u 1m 2T m.7q)K(u i=0;i<5;i++){p=k[1m];q(E.2H(m.7q[1m][i])){p.E=k.Y[1m].E+(k.Y[1m].1o-p.1o)+(k.Y[1m].B-p.B)*[0,0,.5,1,1][i];q(1v.ar==\'dg\'){q(p.E+p.B+p.1o+p.2z>p.1J+p.3W-p.3X)p.E=p.1J+p.3W-p.B-p.2P-p.3X-p.1o-p.2z;q(p.E<p.1J+p.2P)p.E=p.1J+p.2P}}}}q(k.3A&&k.x.1a>(k.x.1z||k.x.B)){k.ap();q(k.1x.S==1)k.4K()}}k.aG()}1W(e){k.7D(e)}},2k:z(p,4C){u 4b,2l=p.2i,1m=p==k.x?\'x\':\'y\';q(2l&&2l.2H(/ /)){4b=2l.dh(\' \');2l=4b[0]}q(2l&&m.$(2l)){p.E=m.6g(m.$(2l))[1m];q(4b&&4b[1]&&4b[1].2H(/^[-]?[0-9]+F$/))p.E+=7L(4b[1]);q(p.B<p.2q)p.B=p.2q}I q(p.2k==\'2n\'||p.2k==\'4i\'){u 79=1f;u 4q=p.A.5q;q(p.2k==\'4i\')p.E=1d.2y(p.1J+(p.3W+p.2P-p.3X-p.N(\'1N\'))/2);I p.E=1d.2y(p.E-((p.N(\'1N\')-p.t)/2));q(p.E<p.1J+p.2P){p.E=p.1J+p.2P;79=J}q(!4C&&p.B<p.2q){p.B=p.2q;4q=1f}q(p.E+p.N(\'1N\')>p.1J+p.3W-p.3X){q(!4C&&79&&4q){p.B=1d.2X(p.B,p.N(1m==\'y\'?\'4n\':\'7a\'))}I q(p.N(\'1N\')<p.N(\'4n\')){p.E=p.1J+p.3W-p.3X-p.N(\'1N\')}I{p.E=p.1J+p.2P;q(!4C&&4q)p.B=p.N(1m==\'y\'?\'4n\':\'7a\')}}q(!4C&&p.B<p.2q){p.B=p.2q;4q=1f}}I q(p.2k==\'56\'){p.E=1d.df(p.E-p.B+p.t)}q(p.E<p.2P){u aU=p.E;p.E=p.2P;q(4q&&!4C)p.B=p.B-(p.E-aU)}},aZ:z(2x){u x=k.x,y=k.y,3e=1f,2A=1d.2X(x.1a,x.B),2Y=1d.2X(y.1a,y.B),30=(k.30||m.4R);q(2A/2Y>2x){ 2A=2Y*2x;q(2A<x.2q){2A=x.2q;2Y=2A/2x}3e=J}I q(2A/2Y<2x){ 2Y=2A/2x;3e=J}q(m.4R&&x.1a<x.2q){x.1z=x.1a;y.B=y.1z=y.1a}I q(k.30){x.1z=2A;y.1z=2Y}I{x.B=2A;y.B=2Y}3e=k.aY(k.30?H:2x,3e);q(30&&y.B<y.1z){y.1z=y.B;x.1z=y.B*2x}q(3e||30){x.E=x.1K-x.cb+x.3o;x.2q=x.B;k.2k(x,J);y.E=y.1K-y.cb+y.3o;y.2q=y.B;k.2k(y,J);q(k.1l)k.4K()}},aY:z(2x,3e){u x=k.x,y=k.y;q(k.1l){4o(y.B>k.5w&&x.B>k.5c&&y.N(\'1N\')>y.N(\'4n\')){y.B-=10;q(2x)x.B=y.B*2x;k.4K(0,1);3e=J}}D 3e},aG:z(){u x=k.x,y=k.y;k.5s(\'1s\');q(k.1g&&k.1g.2g)k.1g.2g.4G();k.8f(1,{Q:{M:x.N(\'1N\'),1b:y.N(\'1N\'),14:x.E,11:y.E},17:{14:x.1o+x.N(\'2f\'),11:y.1o+y.N(\'2f\'),M:x.1z||x.B,1b:y.1z||y.B}},m.7f)},8f:z(1t,1L,3t){u 5k=k.2Z,6M=1t?(k.Y?k.Y.a:H):m.1U,t=(5k[1]&&6M&&m.5h(6M,\'2Z\')[1]==5k[1])?5k[1]:5k[0];q(k[t]&&t!=\'2D\'){k[t](1t,1L);D}q(k.16&&!k.3B){q(1t)k.16.3Z();I k.16.5x()}q(!1t)k.67();u A=k,x=A.x,y=A.y,2r=k.2r;q(!1t)2r=k.aT||2r;u ay=1t?z(){q(A.16)A.16.1V.G.1e="1D";4r(z(){A.62()},50)}:z(){A.5v()};q(1t)m.V(k.Q,{M:x.t+\'F\',1b:y.t+\'F\'});q(k.aD){m.V(k.Q,{1n:1t?0:1});m.3b(1L.Q,{1n:1t})}m.2b(k.Q,1L.Q,{3J:3t,2r:2r,3k:z(3j,36){q(A.16&&A.3B&&36.Z==\'11\'){u 4Q=1t?36.E:1-36.E;u E={w:x.t+(x.N(\'1N\')-x.t)*4Q,h:y.t+(y.N(\'1N\')-y.t)*4Q,x:x.1K+(x.E-x.1K)*4Q,y:y.1K+(y.E-y.1K)*4Q};A.16.3Z(E,0,1)}}});m.2b(k.17,1L.17,3t,2r,ay);q(1t){k.Q.G.1e=\'1D\';k.17.G.1e=\'1D\';k.a.U+=\' L-42-3Q\'}},5n:z(1t,1L){k.3B=1f;u A=k,t=1t?m.7f:0;q(1t){m.2b(k.Q,1L.Q,0);m.V(k.Q,{1n:0,1e:\'1D\'});m.2b(k.17,1L.17,0);k.17.G.1e=\'1D\';m.2b(k.Q,{1n:1},t,H,z(){A.62()})}q(k.16){k.16.1V.G.1r=k.Q.G.1r;u 5D=1t||-1,1k=k.16.1k,7c=1t?3:1k,6Y=1t?1k:3;K(u i=7c;5D*i<=5D*6Y;i+=5D,t+=25){(z(){u o=1t?6Y-i:7c-i;4r(z(){A.16.3Z(0,o,1)},t)})()}}q(1t){}I{4r(z(){q(A.16)A.16.5x(A.cz);A.67();m.2b(A.Q,{1n:0},m.8p,H,z(){A.5v()})},t)}},3Y:z(1t,1L,72){q(!1t)D;u A=k,Y=k.Y,x=k.x,y=k.y,2W=Y.x,2U=Y.y,Q=k.Q,17=k.17,1l=k.1l;m.49(R,\'6o\',m.5V);m.V(17,{M:(x.1z||x.B)+\'F\',1b:(y.1z||y.B)+\'F\'});q(1l)1l.G.3a=\'1D\';k.16=Y.16;q(k.16)k.16.A=A;Y.16=H;u 4s=m.1c(\'X\',{U:\'L-\'+k.2Q},{1j:\'2v\',1r:4,3a:\'1s\',1u:\'1F\'});u 77={aO:Y,aR:k};K(u n 2T 77){k[n]=77[n].17.7j(1);m.V(k[n],{1j:\'2v\',aM:0,1e:\'1D\'});4s.2E(k[n])}Q.2E(4s);q(1l){1l.U=\'\';Q.2E(1l)}4s.G.1u=\'\';Y.17.G.1u=\'1F\';q(m.4u&&m.21<6t){k.Q.G.1e=\'1D\'}m.2b(Q,{M:x.B},{3J:m.aL,3k:z(3j,36){u E=36.E,3U=1-E;u Z,B={},6N=[\'E\',\'B\',\'1o\',\'2z\'];K(u n 2T 6N){Z=6N[n];B[\'x\'+Z]=1d.2y(3U*2W[Z]+E*x[Z]);B[\'y\'+Z]=1d.2y(3U*2U[Z]+E*y[Z]);B.aJ=1d.2y(3U*(2W.1z||2W.B)+E*(x.1z||x.B));B.6p=1d.2y(3U*2W.N(\'2f\')+E*x.N(\'2f\'));B.aN=1d.2y(3U*(2U.1z||2U.B)+E*(y.1z||y.B));B.6f=1d.2y(3U*2U.N(\'2f\')+E*y.N(\'2f\'))}q(A.16)A.16.3Z({x:B.2K,y:B.2J,w:B.58+B.3C+B.6O+2*x.cb,h:B.5a+B.3z+B.6W+2*y.cb});Y.Q.G.ct=\'cn(\'+(B.2J-2U.E)+\'F, \'+(B.58+B.3C+B.6O+B.2K+2*2W.cb-2W.E)+\'F, \'+(B.5a+B.3z+B.6W+B.2J+2*2U.cb-2U.E)+\'F, \'+(B.2K-2W.E)+\'F)\';m.V(17,{11:(B.3z+y.N(\'2f\'))+\'F\',14:(B.3C+x.N(\'2f\'))+\'F\',4j:(y.E-B.2J)+\'F\',4L:(x.E-B.2K)+\'F\'});m.V(Q,{11:B.2J+\'F\',14:B.2K+\'F\',M:(B.3C+B.6O+B.58+2*x.cb)+\'F\',1b:(B.3z+B.6W+B.5a+2*y.cb)+\'F\'});m.V(4s,{M:(B.aJ||B.58)+\'F\',1b:(B.aN||B.5a)+\'F\',14:(B.3C+B.6p)+\'F\',11:(B.3z+B.6f)+\'F\',1e:\'1D\'});m.V(A.aO,{11:(2U.E-B.2J+2U.1o-B.3z+2U.N(\'2f\')-B.6f)+\'F\',14:(2W.E-B.2K+2W.1o-B.3C+2W.N(\'2f\')-B.6p)+\'F\'});m.V(A.aR,{1n:E,11:(y.E-B.2J+y.1o-B.3z+y.N(\'2f\')-B.6f)+\'F\',14:(x.E-B.2K+x.1o-B.3C+x.N(\'2f\')-B.6p)+\'F\'});q(1l)m.V(1l,{M:B.58+\'F\',1b:B.5a+\'F\',14:(B.3C+x.cb)+\'F\',11:(B.3z+y.cb)+\'F\'})},63:z(){Q.G.1e=17.G.1e=\'1D\';17.G.1u=\'4H\';m.3H(4s);A.62();Y.5v();A.Y=H}})},9E:z(o,C){q(!k.Y)D 1f;K(u i=0;i<k.Y.1x.S;i++){u 61=m.$(\'1H\'+k.Y.1x[i]);q(61&&61.1H==o.1H){k.7z();61.cl=k.P;m.2p(k.1x,k.Y.1x[i]);D J}}D 1f},62:z(){k.55=J;k.43();q(k.3I)m.1m(k);q(m.1U&&m.1U==k.a)m.1U=H;k.aQ();u p=m.3S,7i=m.66.x+p.5l,7e=m.66.y+p.5i;k.7m=k.x.E<7i&&7i<k.x.E+k.x.N(\'1N\')&&k.y.E<7e&&7e<k.y.E+k.y.N(\'1N\');q(k.1l)k.ak()},aQ:z(){u P=k.P;u 1B=k.1B;24 m.4O(1B,z(){2d{m.W[P].aP()}1W(e){}})},aP:z(){u 1p=k.7b(1);q(1p&&1p.2G.aI().2H(/m\\.2D/))u 1y=m.1c(\'1y\',{1G:m.73(1p)})},7b:z(1P){u 7g=k.6e(),as=m.3R.2N[k.2t||\'1F\'];q(as&&!as[7g+1P]&&k.1g&&k.1g.ab){q(1P==1)D as[0];I q(1P==-1)D as[as.S-1]}D(as&&as[7g+1P])||H},6e:z(){u 2o=m.60().2N[k.2t||\'1F\'];q(2o)K(u i=0;i<2o.S;i++){q(2o[i]==k.a)D i}D H},a3:z(){q(k[k.5b]){u 2o=m.3R.2N[k.2t||\'1F\'];q(2o){u s=m.18.3n.2j(\'%1\',k.6e()+1).2j(\'%2\',2o.S);k[k.5b].2R=\'<X 2s="L-3n">\'+s+\'</X>\'+k[k.5b].2R}}},aB:z(){q(!k.Y){K(u i=0;i<m.4U.S;i++){u 1v=m.4U[i],2C=1v.2t;q(1q 2C==\'1C\'||2C===H||2C===k.2t)k.1g=24 m.7S(k.P,1v)}}I{k.1g=k.Y.1g}u 1v=k.1g;q(!1v)D;u P=1v.3N=k.P;1v.aa();1v.4J(\'1a-2D\');q(1v.2B){k.4h(m.3b(1v.aC||{},{44:1v.2B,1H:\'2B\',1r:5}))}q(1v.2g)1v.2g.6s(k);q(!k.Y&&k.3D)1v.3r(J);q(1v.3D){1v.3D=4r(z(){m.1p(P)},(1v.cT||cS))}},5K:z(){m.3H(k.Q);m.W[k.P]=H;q(m.1U==k.a)m.1U=H;m.7Q(k.P);q(k.1S)m.1S.G.14=\'-4P\'},am:z(){q(k.4Y)D;k.4Y=m.1c(\'a\',{1Y:m.aF,2i:m.aE,U:\'L-4Y\',2R:m.18.aS,1X:m.18.b0});k.4h({44:k.4Y,1j:k.aW||\'11 14\',1H:\'4Y\'})},a2:z(76,aw){K(u i=0;i<76.S;i++){u T=76[i],s=H;q(!k[T+\'4t\']&&k.6x)k[T+\'4t\']=T+\'-K-\'+k.6x;q(k[T+\'4t\'])k[T]=m.4W(k[T+\'4t\']);q(!k[T]&&!k[T+\'6K\']&&k[T+\'aX\'])2d{s=cJ(k[T+\'aX\'])}1W(e){}q(!k[T]&&k[T+\'6K\']){s=k[T+\'6K\']}q(!k[T]&&!s){k[T]=m.4W(k.a[\'aV\'+T+\'4t\']);q(!k[T]){u 1p=k.a.b1;4o(1p&&!m.5L(1p)){q((24 5X(\'L-\'+T)).19(1p.U||H)){q(!1p.1M)k.a[\'aV\'+T+\'4t\']=1p.1M=\'1H\'+m.4V++;k[T]=m.4W(1p.1M);5B}1p=1p.b1}}}q(!k[T]&&!s&&k.5b==T)s=\'\\n\';q(!k[T]&&s)k[T]=m.1c(\'X\',{U:\'L-\'+T,2R:s});q(aw&&k[T]){u o={1j:(T==\'6z\')?\'4T\':\'6D\'};K(u x 2T k[T+\'9T\'])o[x]=k[T+\'9T\'][x];o.44=k[T];k.4h(o)}}},5s:z(1e){q(m.9U)k.5I(\'cM\',1e);q(m.9z)k.5I(\'cR\',1e);q(m.5Z)k.5I(\'*\',1e)},5I:z(4F,1e){u 1i=R.2L(4F);u Z=4F==\'*\'?\'3a\':\'1e\';K(u i=0;i<1i.S;i++){q(Z==\'1e\'||(R.6T.9P(1i[i],"").9Q(\'3a\')==\'2n\'||1i[i].a1(\'1s-by\')!=H)){u 2u=1i[i].a1(\'1s-by\');q(1e==\'1D\'&&2u){2u=2u.2j(\'[\'+k.P+\']\',\'\');1i[i].5A(\'1s-by\',2u);q(!2u)1i[i].G[Z]=1i[i].88}I q(1e==\'1s\'){u 3g=m.6g(1i[i]);3g.w=1i[i].2c;3g.h=1i[i].3f;q(!k.3I){u ax=(3g.x+3g.w<k.x.N(\'5t\')||3g.x>k.x.N(\'5t\')+k.x.N(\'7M\'));u 9Z=(3g.y+3g.h<k.y.N(\'5t\')||3g.y>k.y.N(\'5t\')+k.y.N(\'7M\'))}u 5H=m.86(1i[i]);q(!ax&&!9Z&&5H!=k.P){q(!2u){1i[i].5A(\'1s-by\',\'[\'+k.P+\']\');1i[i].88=1i[i].G[Z];1i[i].G[Z]=\'1s\'}I q(2u.9X(\'[\'+k.P+\']\')==-1){1i[i].5A(\'1s-by\',2u+\'[\'+k.P+\']\')}}I q((2u==\'[\'+k.P+\']\'||m.3v==5H)&&5H!=k.P){1i[i].5A(\'1s-by\',\'\');1i[i].G[Z]=1i[i].88||\'\'}I q(2u&&2u.9X(\'[\'+k.P+\']\')>-1){1i[i].5A(\'1s-by\',2u.2j(\'[\'+k.P+\']\',\'\'))}}}}},43:z(){k.Q.G.1r=m.4z+=2;K(u i=0;i<m.W.S;i++){q(m.W[i]&&i==m.3v){u 5g=m.W[i];5g.17.U+=\' L-\'+5g.2Q+\'-89\';5g.17.G.46=m.3E?\'9O\':\'5R\';5g.17.1X=m.18.9Y}}q(k.16)k.16.1V.G.1r=k.Q.G.1r-1;k.17.U=\'L-\'+k.2Q;k.17.1X=m.18.84;q(m.5m){m.4I=1A.3q?\'5R\':\'5O(\'+m.4p+m.5m+\'), 5R\';q(m.3E&&m.21<6)m.4I=\'9O\';k.17.G.46=m.4I}m.3v=k.P;m.1Q(R,1A.3q?\'5P\':\'5Q\',m.4N)},7C:z(x,y){k.x.7Z(x);k.y.7Z(y)},3O:z(e){u w,h,r=e.M/e.1b;w=1d.56(e.M+e.5T,1d.2X(k.5c,k.x.1a));q(k.3A&&1d.co(w-k.x.1a)<12)w=k.x.1a;h=w/r;q(h<1d.2X(k.5w,k.y.1a)){h=1d.2X(k.5w,k.y.1a);q(k.3A)w=h*r}k.7k(w,h)},7k:z(w,h){k.y.82(h);k.x.82(w);k.Q.G.1b=k.y.N(\'1N\')+\'F\'},26:z(){q(k.8c||!k.55)D;q(k.2Z[1]==\'3Y\'&&m.1U){m.2h(m.1U).5K();m.1U=H}k.8c=J;q(k.1g&&!m.1U)k.1g.2S();m.49(R,1A.3q?\'5P\':\'5Q\',m.4N);2d{k.17.G.46=\'cA\';k.8f(0,{Q:{M:k.x.t,1b:k.y.t,14:k.x.1K-k.x.cb+k.x.3o,11:k.y.1K-k.y.cb+k.y.3o},17:{14:0,11:0,M:k.x.t,1b:k.y.t}},m.8p)}1W(e){k.5v()}},4h:z(o){u C=o.44,4E=(o.9A==\'1Z\'&&!/6w$/.19(o.1j));q(1q C==\'8q\')C=m.4W(C);q(o.5W)C=m.1c(\'X\',{2R:o.5W});q(!C||1q C==\'8q\')D;C.G.1u=\'4H\';o.1H=o.1H||o.44;q(k.2Z[1]==\'3Y\'&&k.9E(o,C))D;k.7z();u M=o.M&&/^[0-9]+(F|%)$/.19(o.M)?o.M:\'2n\';q(/^(14|2V)6w$/.19(o.1j)&&!/^[0-9]+F$/.19(o.M))M=\'cy\';u O=m.1c(\'X\',{1M:\'1H\'+m.4V++,1H:o.1H},{1j:\'2v\',1e:\'1s\',M:M,9F:m.18.9C||\'\',1n:0},4E?m.1Z:k.1l,J);q(4E)O.5F=k.P;O.2E(C);m.3b(O,{1n:1,9B:0,9G:0,3t:(o.5n===0||o.5n===1f||(o.5n==2&&m.2m))?0:53});m.3b(O,o);q(k.al){k.5y(O);q(!O.69||k.7m)m.2b(O,{1n:O.1n},O.3t)}m.2p(k.1x,m.4V-1)},5y:z(O){u p=O.1j||\'8h 4i\',4E=(O.9A==\'1Z\'),5E=O.9B,5C=O.9G;q(4E){m.1Z.G.1u=\'4H\';O.5F=k.P;q(O.2c>O.1O.2c)O.G.M=\'28%\'}I q(O.1O!=k.1l)k.1l.2E(O);q(/14$/.19(p))O.G.14=5E+\'F\';q(/4i$/.19(p))m.V(O,{14:\'50%\',4L:(5E-1d.2y(O.2c/2))+\'F\'});q(/2V$/.19(p))O.G.2V=-5E+\'F\';q(/^9H$/.19(p)){m.V(O,{2V:\'28%\',9M:k.x.cb+\'F\',11:-k.y.cb+\'F\',4g:-k.y.cb+\'F\',3a:\'2n\'});k.x.1o=O.2c}I q(/^9L$/.19(p)){m.V(O,{14:\'28%\',4L:k.x.cb+\'F\',11:-k.y.cb+\'F\',4g:-k.y.cb+\'F\',3a:\'2n\'});k.x.2z=O.2c}u 8g=O.1O.3f;O.G.1b=\'2n\';q(4E&&O.3f>8g)O.G.1b=m.3E?8g+\'F\':\'28%\';q(/^11/.19(p))O.G.11=5C+\'F\';q(/^8h/.19(p))m.V(O,{11:\'50%\',4j:(5C-1d.2y(O.3f/2))+\'F\'});q(/^4g/.19(p))O.G.4g=-5C+\'F\';q(/^4T$/.19(p)){m.V(O,{14:(-k.x.1o-k.x.cb)+\'F\',2V:(-k.x.2z-k.x.cb)+\'F\',4g:\'28%\',9K:k.y.cb+\'F\',M:\'2n\'});k.y.1o=O.3f}I q(/^6D$/.19(p)){m.V(O,{1j:\'8i\',14:(-k.x.1o-k.x.cb)+\'F\',2V:(-k.x.2z-k.x.cb)+\'F\',11:\'28%\',4j:k.y.cb+\'F\',M:\'2n\'});k.y.2z=O.3f;O.G.1j=\'2v\'}},9J:z(){k.a2([\'6z\',\'dd\'],J);k.a3();q(k.6z&&k.7v)k.6z.U+=\' L-3i\';q(m.an)k.am();K(u i=0;i<m.1x.S;i++){u o=m.1x[i],6y=o.7y,2C=o.2t;q((!6y&&!2C)||(6y&&6y==k.6x)||(2C&&2C===k.2t)){k.4h(o)}}u 6u=[];K(u i=0;i<k.1x.S;i++){u o=m.$(\'1H\'+k.1x[i]);q(/6w$/.19(o.1j))k.5y(o);I m.2p(6u,o)}K(u i=0;i<6u.S;i++)k.5y(6u[i]);k.al=J},7z:z(){q(!k.1l)k.1l=m.1c(\'X\',{U:k.7B},{1j:\'2v\',M:(k.x.B||(k.30?k.M:H)||k.x.1a)+\'F\',1b:(k.y.B||k.y.1a)+\'F\',1e:\'1s\',3a:\'1s\',1r:m.2m?4:\'2n\'},m.22,J)},4K:z(7t,aj){u 1l=k.1l,x=k.x,y=k.y;m.V(1l,{M:x.B+\'F\',1b:y.B+\'F\'});q(7t||aj){K(u i=0;i<k.1x.S;i++){u o=m.$(\'1H\'+k.1x[i]);u 7u=(m.3E||R.6i==\'7P\');q(o&&/^(4T|6D)$/.19(o.1j)){q(7u){o.G.M=(1l.2c+2*x.cb+x.1o+x.2z)+\'F\'}y[o.1j==\'4T\'?\'1o\':\'2z\']=o.3f}q(o&&7u&&/^(14|2V)6w$/.19(o.1j)){o.G.1b=(1l.3f+2*y.cb)+\'F\'}}}q(7t){m.V(k.17,{11:y.1o+\'F\'});m.V(1l,{11:(y.1o+y.cb)+\'F\'})}},ak:z(){u b=k.1l;b.U=\'\';m.V(b,{11:(k.y.1o+k.y.cb)+\'F\',14:(k.x.1o+k.x.cb)+\'F\',3a:\'1D\'});q(m.4u)b.G.1e=\'1D\';k.Q.2E(b);K(u i=0;i<k.1x.S;i++){u o=m.$(\'1H\'+k.1x[i]);o.G.1r=o.1r||4;q(!o.69||k.7m){o.G.1e=\'1D\';m.V(o,{1e:\'1D\',1u:\'\'});m.2b(o,{1n:o.1n},o.3t)}}},67:z(){q(!k.1x.S)D;q(k.1g){u c=k.1g.2B;q(c&&m.2h(c)==k)c.1O.dl(c)}K(u i=0;i<k.1x.S;i++){u o=m.$(\'1H\'+k.1x[i]);q(o&&o.1O==m.1Z&&m.2h(o)==k)m.3H(o)}m.3H(k.1l)},ap:z(){q(k.1g&&k.1g.2B){k.1g.3T(\'1a-2D\');D}k.6a=m.1c(\'a\',{1Y:\'av:m.W[\'+k.P+\'].6k();\',1X:m.18.7p,U:\'L-1a-2D\'});k.4h({44:k.6a,1j:m.at,69:J,1n:m.aq})},6k:z(){2d{q(k.6a)m.3H(k.6a);k.43();u 2A=k.x.B,2Y=k.y.B;k.7k(k.x.1a,k.y.1a);u 2K=k.x.E-(k.x.B-2A)/2;q(2K<m.4L)2K=m.4L;u 2J=k.y.E-(k.y.B-2Y)/2;q(2J<m.4j)2J=m.4j;k.7C(2K,2J);k.5s(\'1s\')}1W(e){k.7D(e)}},5v:z(){k.a.U=k.a.U.2j(\'L-42-3Q\',\'\');k.5s(\'1D\');q(k.16&&k.3B)k.16.5x();m.3H(k.Q);k.67();q(!m.1Z.6l.S)m.1Z.G.1u=\'1F\';q(k.3I)m.7Q(k.P);m.W[k.P]=H;m.ai()}};m.7S=z(3N,1h){q(m.d2!==1f)m.7O();k.3N=3N;K(u x 2T 1h)k[x]=1h[x];q(k.d3)k.a9();q(k.2g)k.2g=m.ae(k)};m.7S.5o={a9:z(){k.2B=m.1c(\'X\',{2R:m.a7(m.a6.2B)},H,m.22);u 59=[\'3r\',\'2S\',\'3c\',\'1p\',\'3i\',\'1a-2D\',\'26\'];k.1w={};u 7T=k;K(u i=0;i<59.S;i++){k.1w[59[i]]=m.a4(k.2B,\'1R\',\'L-\'+59[i]);k.3T(59[i])}k.1w.2S.G.1u=\'1F\'},aa:z(){q(k.ab||!k.2B)D;u A=m.W[k.3N],4y=A.6e(),1T=/6m$/;q(4y==0)k.4J(\'3c\');I q(1T.19(k.1w.3c.2L(\'a\')[0].U))k.3T(\'3c\');q(4y+1==m.3R.2N[A.2t||\'1F\'].S){k.4J(\'1p\');k.4J(\'3r\')}I q(1T.19(k.1w.1p.2L(\'a\')[0].U)){k.3T(\'1p\');k.3T(\'3r\')}},3T:z(1w){q(!k.1w)D;u a0=k,a=k.1w[1w].2L(\'a\')[0],1T=/6m$/;a.2G=z(){a0[1w]();D 1f};q(1T.19(a.U))a.U=a.U.2j(1T,\'\')},4J:z(1w){q(!k.1w)D;u a=k.1w[1w].2L(\'a\')[0];a.2G=z(){D 1f};q(!/6m$/.19(a.U))a.U+=\' 6m\'},ad:z(){q(k.3D)k.2S();I k.3r()},3r:z(ac){q(k.1w){k.1w.3r.G.1u=\'1F\';k.1w.2S.G.1u=\'\'}k.3D=J;q(!ac)m.1p(k.3N)},2S:z(){q(k.1w){k.1w.2S.G.1u=\'1F\';k.1w.3r.G.1u=\'\'}b8(k.3D);k.3D=H},3c:z(){k.2S();m.3c(k.1w.3c)},1p:z(){k.2S();m.1p(k.1w.1p)},3i:z(){},\'1a-2D\':z(){m.2h().6k()},26:z(){m.26(k.1w.26)}};m.ae=z(1g){z 6s(A){m.3b(1h||{},{44:4e,1H:\'2g\',U:\'L-2g-\'+4m+\'-O \'+(1h.U||\'\')});q(m.3E)1h.5n=0;A.4h(1h);m.V(4e.1O,{3a:\'1s\'})};z 1J(3h){4G(1C,1d.2y(3h*4e[3p?\'2c\':\'3f\']*0.7))};z 4G(i,7K){q(i===1C)K(u j=0;j<51.S;j++){q(51[j]==m.W[1g.3N].a){i=j;5B}}q(i===1C)D;u as=4e.2L(\'a\'),42=as[i],3M=42.1O,14=3p?\'af\':\'ag\',2V=3p?\'a5\':\'a8\',M=3p?\'ah\':\'au\',4f=\'1k\'+14,2c=\'1k\'+M,6h=X.1O.1O[2c],4w=6h-1V[2c],5z=7L(1V.G[3p?\'14\':\'11\'])||0,2w=5z,bs=20;q(7K!==1C){2w=5z-7K;q(4w>0)4w=0;q(2w>0)2w=0;q(2w<4w)2w=4w}I{K(u j=0;j<as.S;j++)as[j].U=\'\';42.U=\'L-42-3Q\';u 7F=i>0?as[i-1].1O[4f]:3M[4f],7x=3M[4f]+3M[2c]+(as[i+1]?as[i+1].1O[2c]:0);q(7x>6h-5z)2w=6h-7x;I q(7F<-5z)2w=-7F}u 7r=3M[4f]+(3M[2c]-6b[2c])/2+2w;m.2b(1V,3p?{14:2w}:{11:2w},H,\'7n\');m.2b(6b,3p?{14:7r}:{11:7r},H,\'7n\');7Y.G.1u=2w<0?\'4H\':\'1F\';85.G.1u=(2w>4w)?\'4H\':\'1F\'};u 51=m.3R.2N[m.W[1g.3N].2t||\'1F\'],1h=1g.2g,4m=1h.4m||\'ao\',81=(4m==\'bi\'),3K=81?[\'X\',\'7V\',\'1R\',\'23\']:[\'1V\',\'4a\',\'3L\',\'2e\'],3p=(4m==\'ao\'),4e=m.1c(\'X\',{U:\'L-2g L-2g-\'+4m,2R:\'<X 2s="L-2g-b4">\'+\'<\'+3K[0]+\'><\'+3K[1]+\'></\'+3K[1]+\'></\'+3K[0]+\'></X>\'+\'<X 2s="L-1J-1t"><X></X></X>\'+\'<X 2s="L-1J-b6"><X></X></X>\'+\'<X 2s="L-6b"><X></X></X>\'},{1u:\'1F\'},m.22),57=4e.6l,X=57[0],7Y=57[1],85=57[2],6b=57[3],1V=X.b7,4a=4e.2L(3K[1])[0],3L;K(u i=0;i<51.S;i++){q(i==0||!3p)3L=m.1c(3K[2],H,H,4a);(z(){u a=51[i],3M=m.1c(3K[3],H,H,3L),cj=i;m.1c(\'a\',{1Y:a.1Y,1X:a.1X,2G:z(){q(/L-42-3Q/.19(k.U))D 1f;m.2h(k).43();D m.83(a)},2R:m.9I?m.9I(a):a.2R},H,3M)})()}q(!81){7Y.2G=z(){1J(-1)};85.2G=z(){1J(1)};m.1Q(4a,R.c3!==1C?\'bB\':\'bZ\',z(e){u 3h=0;e=e||1A.29;q(e.9D){3h=e.9D/ch;q(m.3q)3h=-3h}I q(e.9N){3h=-e.9N/3}q(3h)1J(-3h*0.2);q(e.4D)e.4D();e.9W=1f})}D{6s:6s,4G:4G}};m.5U=m.18;u bC=m.4Z;q(m.2m&&1A==1A.11){(z(){2d{R.4l.bD(\'14\')}1W(e){4r(9V.bF,50);D}m.3s()})()}m.1Q(R,\'bL\',m.3s);m.1Q(1A,\'az\',m.3s);m.1Q(R,\'3s\',z(){q(m.5M||m.3I){u G=m.1c(\'G\',{T:\'bM/7U\'},H,R.2L(\'bT\')[0]),8k=R.6i==\'7P\';z 5e(7w,7W){q(m.2m&&(m.21<9||8k)){u Y=R.9S[R.9S.S-1];q(1q(Y.5e)=="6q")Y.5e(7w,7W)}I{G.2E(R.bU(7w+" {"+7W+"}"))}}z 5f(Z){D\'bV( ( ( bN = R.4l.\'+Z+\' ? R.4l.\'+Z+\' : R.3x.\'+Z+\' ) ) + \\\'F\\\' );\'}q(m.5M)5e(\'.L 1y\',\'46: 5O(\'+m.4p+m.5M+\'), 5R !c8;\');5e(\'.L-1Z-B\',m.2m&&(m.21<7||8k)?\'1j: 2v; \'+\'14:\'+5f(\'5l\')+\'11:\'+5f(\'5i\')+\'M:\'+5f(\'8m\')+\'1b:\'+5f(\'aK\'):\'1j: bc; M: 28%; 1b: 28%; 14: 0; 11: 0\')}});m.1Q(1A,\'3O\',z(){m.6v();q(m.1Z)K(u i=0;i<m.1Z.6l.S;i++){u 3w=m.1Z.6l[i],A=m.2h(3w);A.5y(3w);q(3w.1H==\'2g\')A.1g.2g.4G()}});m.1Q(R,\'6o\',z(e){m.66={x:e.6c,y:e.68}});m.1Q(R,\'aH\',m.87);m.1Q(R,\'aA\',m.87);m.1Q(R,\'3s\',m.60);m.1Q(1A,\'az\',m.9R)}',62,831,'||||||||||||||||||||this||hs||||if||||var|||||function|exp|size|el|return|pos|px|style|null|else|true|for|highslide|width|get|overlay|key|wrapper|document|length|type|className|setStyles|expanders|div|last|prop||top|||left||outline|content|lang|test|full|height|createElement|Math|visibility|false|slideshow|options|els|position|offset|overlayBox|dim|opacity|p1|next|typeof|zIndex|hidden|up|display|ss|btn|overlays|img|imgSize|window|outlineType|undefined|visible|fx|none|src|hsId|case|scroll|tpos|to|id|wsize|parentNode|op|addEventListener|li|loading|re|upcoming|table|catch|title|href|viewport||uaVersion|container|span|new||close||100|event|dimmer|animate|offsetWidth|try|td|imgPad|thumbstrip|getExpander|target|replace|justify|tgt|ie|auto|arr|push|minSize|easing|class|slideshowGroup|hiddenBy|absolute|tblPos|ratio|round|p2|xSize|controls|sg|expand|appendChild|elem|onclick|match|dragArgs|ypos|xpos|getElementsByTagName|image|groups|params|marginMin|contentType|innerHTML|pause|in|lastY|right|lastX|min|ySize|transitions|useBox|opt||||name|args||||overflow|extend|previous|graphic|changed|offsetHeight|elPos|delta|move|val|step|func|ucwh|number|tb|isX|opera|play|ready|dur|timers|focusKey|node|body|hasDragged|yp1|isImage|outlineWhileAnimating|xp1|autoplay|ieLt7|custom|wh|discardElement|dimmingOpacity|duration|tree|tr|cell|expKey|resize|styles|anchor|anchors|page|enable|invPos|onLoad|clientSize|marginMax|crossfade|setPosition||start|active|focus|overlayId|clone|cursor|unit|pendingOutlines|removeEventListener|tbody|tgtArr|now|ieLt9|dom|offsetLeft|bottom|createOverlay|center|marginTop|attribs|documentElement|mode|fitsize|while|graphicsDir|allowReduce|setTimeout|fadeBox|Id|safari|end|minTblPos|owner|cur|zIndexCounter|images|navigator|moveOnly|preventDefault|relToVP|tagName|selectThumb|block|styleRestoreCursor|disable|sizeOverlayBox|marginLeft|uclt|keyHandler|Outline|9999px|fac|padToMinWidth|matches|above|slideshows|idCounter|getNode|preloadTheseImages|credits|Expander||group|all|250|on|isExpanded|max|domCh|xsize|buttons|ysize|numberPosition|minWidth|iebody|addRule|fix|blurExp|getParam|scrollTop|filter|trans|scrollLeft|restoreCursor|fade|prototype|param|allowSizeReduction|userAgent|doShowHide|opos|getParams|afterClose|minHeight|destroy|positionOverlay|curTblPos|setAttribute|break|offY|dir|offX|hsKey|onReady|wrapperKey|showHideElements|self|cancelLoading|isHsAnchor|expandCursor|gotoEnd|url|keypress|keydown|pointer|curAnim|dX|langDefaults|dragHandler|html|RegExp|toLowerCase|geckoMac|getAnchors|oDiv|afterExpand|complete|onload|expOnly|mouse|destroyOverlays|clientY|hideOnMouseOut|fullExpandLabel|marker|clientX|previousOrNext|getAnchorIndex|yimgPad|getPosition|overlayWidth|compatMode|topmostKey|doFullExpand|childNodes|disabled|adj|mousemove|ximgPad|object|Dimension|add|525|os|getPageSize|panel|thumbsUserSetId|tId|heading|preloadFullImage|lt|over|below|relatedTarget|maxWidth|onLoadStarted|align|isReady|Create|Text|connectOutline|other|props|xp2|calcExpanded|loadingPosXfade|maxHeight|margin|defaultView|showLoading|overrides|yp2|calcThumb|endOff|continuePreloading||init|from|getSrc|calcBorders||types|names|loadingPos|hasMovedMin|maxsize|getAdjacentAnchor|startOff|ucrb|mY|expandDuration|current|hasAlphaImageLoader|mX|cloneNode|resizeTo|srcElement|mouseIsOver|easeOutQuad|dY|fullExpandTitle|oPos|markerPos|distance|doWrapper|ie6|dragByHeading|sel|activeRight|thumbnailId|genOverlayBox|numberOfImagesToPreload|wrapperClassName|moveTo|error|isNew|activeLeft|dimmingDuration|pixDimmerSize|clones|topZ|scrollBy|parseInt|osize|element|updateAnchors|BackCompat|undim|hasFocused|Slideshow|pThis|css|ul|dec|state|scrollUp|setPos|startTime|floatMode|setSize|transit|restoreTitle|scrollDown|getWrapperKey|mouseClickHandler|origProp|blur|update|parent|isClosing|done|openerTagNames|changeSize|parOff|middle|relative|garbageBin|backCompat|arrow|clientWidth|parseFloat|Click|restoreDuration|string|fullExpandText|moveTitle|closeTitle|captionOverlay|closeText|moveText|targetY|targetX|headingOverlay|playTitle|spacebar|Previous|Next|Move|Pause|Play|Highslide|JS|Close|contentLoaded|and|pauseTitle|pauseText|nextTitle|playText|wrapperMouseHandler|200|previousTitle|previousText|nextText|enableKeyListener|timerId|Date|switch|orig|rb|loadingOpacity|toUpperCase|easeInQuad|getTime|call|_default|png|preloadGraphic||appendTo|onGraphicLoad|hide|vis|background|loadingText|loadingTitle|offsetTop|pageOrigin|allowMultipleInstances|offsetParent|pageXOffset|tag|nopad|alpha|thumb|dimmingGeckoFix|pow|detachEvent|ltr|clickY|clickX|focusTopmost|form|rv|hideIframes|relativeTo|offsetX|cssDirection|wheelDelta|reuseOverlay|direction|offsetY|leftpanel|stripItemFormatter|getOverlays|marginBottom|rightpanel|marginRight|detail|hand|getComputedStyle|getPropertyValue|preloadImages|styleSheets|Overlay|hideSelects|arguments|returnValue|indexOf|focusTitle|clearsY|sls|getAttribute|getInline|getNumber|getElementByClass|Right|skin|replaceLang|Bottom|getControls|checkFirstAndLast|repeat|wait|hitSpace|Thumbstrip|Left|Top|Width|reOrder|doPanels|showOverlays|gotOverlays|writeCredits|showCredits|horizontal|createFullExpand|fullExpandOpacity|fixedControls||fullExpandPosition|Height|javascript|addOverlay|clearsX|after|load|mouseup|initSlideshow|overlayOptions|fadeInOut|creditsTarget|creditsHref|show|mousedown|toString|ximgSize|clientHeight|transitionDuration|border|yimgSize|oldImg|preloadNext|prepareNextOutline|newImg|creditsText|easingClose|tmpMin|_|creditsPosition|Eval|fitOverlayBox|correctRatio|creditsTitle|nextSibling|innerWidth|innerHeight|inner|scrollHeight|down|firstChild|clearTimeout|Image|cancel|Loading|fixed|bring|pageYOffset|currentStyle|Resize|geckodimmer|float|the|dimming|actual|Android|Go|iPhone|Powered|of|iPod|mgnRight|iPad|resizeTitle|esc|front|Expand||homepage|scrollWidth|mousewheel|HsExpander|doScroll|1001|callee|captionId|captionText|zoomin|captionEval|zoomout|DOMContentLoaded|text|ignoreMe|_self|outlineStartOffset|http|drop|shadow|HEAD|createTextNode|expression|headingId|graphics|padding|DOMMouseScroll|Use|keys|com|onmousewheel|click|removeAttribute|drag|getElementById|important|it|Trident||headingEval|headingText|ra|Safari|Gecko|120|Macintosh|pI|sqrt|reuse|allowSimultaneousLoading|rect|abs|isHtml|keyCode|cellSpacing|readyState|clip|onmouseover|clearInterval|splice|setInterval|200px|preserveContent|default|onmouseout|borderCollapse|collapse|AlphaImageLoader|Microsoft|DXImageTransform|sizingMethod|scale|eval|stl|progid|SELECT|outlinesDir|fontSize|lineHeight|outlines|IFRAME|500|interval|vendor|KDE|mouseover|dragSensitivity|blockRightClick|location|lineNumber|message|dynamicallyUpdateAnchors|useControls|addSlideshow|registerOverlay|htmlE|xpand|hasHtmlExpanders|button|imageCreate|fromElement|flushImgSize|caption|linearTween|floor|fit|split|toElement|oncontextmenu|alert|removeChild|debug|attachEvent|Line'.split('|'),0,{})) diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.js new file mode 100644 index 000000000..c53d877f8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.js @@ -0,0 +1,2481 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +inline +ajax +iframe +flash + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if (!hs) { var hs = { +// Language strings +lang : { + cssDirection: 'ltr', + loadingText : 'Loading...', + loadingTitle : 'Click to cancel', + focusTitle : 'Click to bring to front', + fullExpandTitle : 'Expand to actual size (f)', + creditsText : 'Powered by <i>Highslide JS</i>', + creditsTitle : 'Go to the Highslide JS homepage', + previousText : 'Previous', + nextText : 'Next', + moveText : 'Move', + closeText : 'Close', + closeTitle : 'Close (esc)', + resizeTitle : 'Resize', + playText : 'Play', + playTitle : 'Play slideshow (spacebar)', + pauseText : 'Pause', + pauseTitle : 'Pause slideshow (spacebar)', + previousTitle : 'Previous (arrow left)', + nextTitle : 'Next (arrow right)', + moveTitle : 'Move', + fullExpandText : '1:1', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 1001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a'], // Add more to allow slideshow indexing + +allowWidthReduction : false, +allowHeightReduction : true, +preserveContent : true, // Preserve changes made to the content and position of HTML popups. +objectLoadTime : 'before', // Load iframes 'before' or 'after' expansion. +cacheAjax : true, // Cache ajax popups for instant display. Can be overridden for each popup. +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +skin : { + contentWrapper: + '<div class="highslide-header"><ul>'+ + '<li class="highslide-previous">'+ + '<a href="#" title="{hs.lang.previousTitle}" onclick="return hs.previous(this)">'+ + '<span>{hs.lang.previousText}</span></a>'+ + '</li>'+ + '<li class="highslide-next">'+ + '<a href="#" title="{hs.lang.nextTitle}" onclick="return hs.next(this)">'+ + '<span>{hs.lang.nextText}</span></a>'+ + '</li>'+ + '<li class="highslide-move">'+ + '<a href="#" title="{hs.lang.moveTitle}" onclick="return false">'+ + '<span>{hs.lang.moveText}</span></a>'+ + '</li>'+ + '<li class="highslide-close">'+ + '<a href="#" title="{hs.lang.closeTitle}" onclick="return hs.close(this)">'+ + '<span>{hs.lang.closeText}</span></a>'+ + '</li>'+ + '</ul></div>'+ + '<div class="highslide-body"></div>'+ + '<div class="highslide-footer"><div>'+ + '<span class="highslide-resize" title="{hs.lang.resizeTitle}"><span></span></span>'+ + '</div></div>' +}, +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + + 'width', + 'height', + + 'contentId', + 'allowWidthReduction', + 'allowHeightReduction', + 'preserveContent', + 'maincontentId', + 'maincontentText', + 'maincontentEval', + 'objectType', + 'cacheAjax', + 'objectWidth', + 'objectHeight', + 'objectLoadTime', + 'swfOptions', + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +swfOptions: { flashvars: {}, params: {}, attributes: {} }, +timers : [], + +pendingOutlines : {}, +sleeping : [], +preloadTheseAjax : [], +cacheBindings : [], +cachedGets : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + if (type == 'html') { + for (var i = 0; i < hs.sleeping.length; i++) { + if (hs.sleeping[i] && hs.sleeping[i].a == a) { + hs.sleeping[i].awake(); + hs.sleeping[i] = null; + return false; + } + } + hs.hasHtmlExpanders = true; + } + try { + new hs.Expander(a, params, custom, type); + return false; + } catch (e) { return true; } +}, + +htmlExpand : function(a, params, custom) { + return hs.expand(a, params, custom, 'html'); +}, + +getSelfRendered : function() { + return hs.createElement('div', { + className: 'highslide-html-content', + innerHTML: hs.replaceLang(hs.skin.contentWrapper) + }); +}, +getElementByClass : function (el, tagName, className) { + var els = el.getElementsByTagName(tagName); + for (var i = 0; i < els.length; i++) { + if ((new RegExp(className)).test(els[i].className)) { + return els[i]; + } + } + return null; +}, +replaceLang : function(s) { + s = s.replace(/\s/g, ' '); + var re = /{hs\.lang\.([^}]+)\}/g, + matches = s.match(re), + lang; + if (matches) for (var i = 0; i < matches.length; i++) { + lang = matches[i].replace(re, "$1"); + if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]); + } + return s; +}, + + +getCacheBinding : function (a) { + for (var i = 0; i < hs.cacheBindings.length; i++) { + if (hs.cacheBindings[i][0] == a) { + var c = hs.cacheBindings[i][1]; + hs.cacheBindings[i][1] = c.cloneNode(1); + return c; + } + } + return null; +}, + +preloadAjax : function (e) { + var arr = hs.getAnchors(); + for (var i = 0; i < arr.htmls.length; i++) { + var a = arr.htmls[i]; + if (hs.getParam(a, 'objectType') == 'ajax' && hs.getParam(a, 'cacheAjax')) + hs.push(hs.preloadTheseAjax, a); + } + + hs.preloadAjaxElement(0); +}, + +preloadAjaxElement : function (i) { + if (!hs.preloadTheseAjax[i]) return; + var a = hs.preloadTheseAjax[i]; + var cache = hs.getNode(hs.getParam(a, 'contentId')); + if (!cache) cache = hs.getSelfRendered(); + var ajax = new hs.Ajax(a, cache, 1); + ajax.onError = function () { }; + ajax.onLoad = function () { + hs.push(hs.cacheBindings, [a, cache]); + hs.preloadAjaxElement(i + 1); + }; + ajax.run(); +}, + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else { + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + else if (/highslide-html/.test(el.className) && hs.focusKey != exp.key) { + exp.focus(); + exp.doShowHide('hidden'); + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + + if (hs.dragArgs.exp.releaseMask) + hs.dragArgs.exp.releaseMask.style.display = 'none'; + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + if (exp.iframe) { + if (!exp.releaseMask) exp.releaseMask = hs.createElement('div', null, + { position: 'absolute', width: exp.x.size+'px', height: exp.y.size+'px', + left: exp.x.cb+'px', top: exp.y.cb+'px', zIndex: 4, background: (hs.ieLt9 ? 'white' : 'none'), + opacity: 0.01 }, + exp.wrapper, true); + if (exp.releaseMask.style.display == 'none') + exp.releaseMask.style.display = ''; + } + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + hs.ie6SSL = hs.ieLt7 && location.protocol == 'https:'; + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + hs.clearing = hs.createElement('div', null, + { clear: 'both', paddingTop: '1px' }, null, true); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [], htmls = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + else if (re[0] == 'hs.htmlExpand') hs.push(htmls, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images, htmls: htmls }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (exp.releaseMask) exp.releaseMask.style[this.wh] = i +'px'; + if (this.dim == 'y' && exp.iDoc && exp.body.style.height != 'auto') try { + exp.iDoc.body.style.overflow = 'auto'; + } catch (e) {} + if (exp.isHtml) { + var d = exp.scrollerDiv; + if (this.sizeDiff === undefined) + this.sizeDiff = exp.innerContent['offset'+ this.ucwh] - d['offset'+ this.ucwh]; + d.style[this.wh] = (this.size - this.sizeDiff) +'px'; + + if (this.dim == 'x') exp.mediumContent.style.width = 'auto'; + if (exp.body) exp.body.style[this.wh] = 'auto'; + } + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isHtml = (contentType == 'html'); + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +htmlCreate : function () { + + this.content = hs.getCacheBinding(this.a); + if (!this.content) + this.content = hs.getNode(this.contentId); + if (!this.content) + this.content = hs.getSelfRendered(); + this.getInline(['maincontent']); + if (this.maincontent) { + var body = hs.getElementByClass(this.content, 'div', 'highslide-body'); + if (body) body.appendChild(this.maincontent); + this.maincontent.style.display = 'block'; + } + + var innerContent = this.innerContent = this.content; + + if (/(swf|iframe)/.test(this.objectType)) this.setObjContainerSize(innerContent); + + // the content tree + hs.container.appendChild(this.wrapper); + hs.setStyles( this.wrapper, { + position: 'static', + padding: '0 '+ hs.marginRight +'px 0 '+ hs.marginLeft +'px' + }); + this.content = hs.createElement( + 'div', { + className: 'highslide-html' + }, { + position: 'relative', + zIndex: 3, + height: 0, + overflow: 'hidden' + }, + this.wrapper + ); + this.mediumContent = hs.createElement('div', null, null, this.content, 1); + this.mediumContent.appendChild(innerContent); + + hs.setStyles (innerContent, { + position: 'relative', + display: 'block', + direction: hs.lang.cssDirection || '' + }); + if (this.width) innerContent.style.width = this.width +'px'; + if (this.height) hs.setStyles(innerContent, { + height: this.height +'px', + overflow: 'hidden' + }); + if (innerContent.offsetWidth < this.minWidth) + innerContent.style.width = this.minWidth +'px'; + + + + if (this.objectType == 'ajax' && !hs.getCacheBinding(this.a)) { + this.showLoading(); + var exp = this; + var ajax = new hs.Ajax(this.a, innerContent); + ajax.src = this.src; + ajax.onLoad = function () { if (hs.expanders[exp.key]) exp.contentLoaded(); }; + ajax.onError = function () { location.href = exp.src; }; + ajax.run(); + } + else + + if (this.objectType == 'iframe' && this.objectLoadTime == 'before') { + this.writeExtendedContent(); + } + else + this.contentLoaded(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + } + if (this.isImage) { + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + } else if (this.htmlGetSize) this.htmlGetSize(); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.isHtml) this.htmlSizeOperations(); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + if (this.isImage) + this.correctRatio(ratio); + else this.fitOverlayBox(); + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + + +setObjContainerSize : function(parent, auto) { + var c = hs.getElementByClass(parent, 'DIV', 'highslide-body'); + if (/(iframe|swf)/.test(this.objectType)) { + if (this.objectWidth) c.style.width = this.objectWidth +'px'; + if (this.objectHeight) c.style.height = this.objectHeight +'px'; + } +}, + +writeExtendedContent : function () { + if (this.hasExtendedContent) return; + var exp = this; + this.body = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (this.objectType == 'iframe') { + this.showLoading(); + var ruler = hs.clearing.cloneNode(1); + this.body.appendChild(ruler); + this.newWidth = this.innerContent.offsetWidth; + if (!this.objectWidth) this.objectWidth = ruler.offsetWidth; + var hDiff = this.innerContent.offsetHeight - this.body.offsetHeight, + h = this.objectHeight || hs.page.height - hDiff - hs.marginTop - hs.marginBottom, + onload = this.objectLoadTime == 'before' ? + ' onload="if (hs.expanders['+ this.key +']) hs.expanders['+ this.key +'].contentLoaded()" ' : ''; + this.body.innerHTML += '<iframe name="hs'+ (new Date()).getTime() +'" frameborder="0" key="'+ this.key +'" ' + +' style="width:'+ this.objectWidth +'px; height:'+ h +'px" ' + + onload +' src="'+ this.src +'" ></iframe>'; + this.ruler = this.body.getElementsByTagName('div')[0]; + this.iframe = this.body.getElementsByTagName('iframe')[0]; + + if (this.objectLoadTime == 'after') this.correctIframeSize(); + + } + if (this.objectType == 'swf') { + this.body.id = this.body.id || 'hs-flash-id-' + this.key; + var a = this.swfOptions; + if (!a.params) a.params = {}; + if (typeof a.params.wmode == 'undefined') a.params.wmode = 'transparent'; + if (swfobject) swfobject.embedSWF(this.src, this.body.id, this.objectWidth, this.objectHeight, + a.version || '7', a.expressInstallSwfurl, a.flashvars, a.params, a.attributes); + } + this.hasExtendedContent = true; +}, +htmlGetSize : function() { + if (this.iframe && !this.objectHeight) { // loadtime before + this.iframe.style.height = this.body.style.height = this.getIframePageHeight() +'px'; + } + this.innerContent.appendChild(hs.clearing); + if (!this.x.full) this.x.full = this.innerContent.offsetWidth; + this.y.full = this.innerContent.offsetHeight; + this.innerContent.removeChild(hs.clearing); + if (hs.ie && this.newHeight > parseInt(this.innerContent.currentStyle.height)) { // ie css bug + this.newHeight = parseInt(this.innerContent.currentStyle.height); + } + hs.setStyles( this.wrapper, { position: 'absolute', padding: '0'}); + hs.setStyles( this.content, { width: this.x.t +'px', height: this.y.t +'px'}); + +}, + +getIframePageHeight : function() { + var h; + try { + var doc = this.iDoc = this.iframe.contentDocument || this.iframe.contentWindow.document; + var clearing = doc.createElement('div'); + clearing.style.clear = 'both'; + doc.body.appendChild(clearing); + h = clearing.offsetTop; + if (hs.ie) h += parseInt(doc.body.currentStyle.marginTop) + + parseInt(doc.body.currentStyle.marginBottom) - 1; + } catch (e) { // other domain + h = 300; + } + return h; +}, +correctIframeSize : function () { + var wDiff = this.innerContent.offsetWidth - this.ruler.offsetWidth; + hs.discardElement(this.ruler); + if (wDiff < 0) wDiff = 0; + + var hDiff = this.innerContent.offsetHeight - this.iframe.offsetHeight; + if (this.iDoc && !this.objectHeight && !this.height && this.y.size == this.y.full) try { + this.iDoc.body.style.overflow = 'hidden'; + } catch (e) {} + hs.setStyles(this.iframe, { + width: Math.abs(this.x.size - wDiff) +'px', + height: Math.abs(this.y.size - hDiff) +'px' + }); + hs.setStyles(this.body, { + width: this.iframe.style.width, + height: this.iframe.style.height + }); + + this.scrollingContent = this.iframe; + this.scrollerDiv = this.scrollingContent; + +}, +htmlSizeOperations : function () { + + this.setObjContainerSize(this.innerContent); + + + if (this.objectType == 'swf' && this.objectLoadTime == 'before') this.writeExtendedContent(); + + // handle minimum size + if (this.x.size < this.x.full && !this.allowWidthReduction) this.x.size = this.x.full; + if (this.y.size < this.y.full && !this.allowHeightReduction) this.y.size = this.y.full; + this.scrollerDiv = this.innerContent; + hs.setStyles(this.mediumContent, { + position: 'relative', + width: this.x.size +'px' + }); + hs.setStyles(this.innerContent, { + border: 'none', + width: 'auto', + height: 'auto' + }); + var node = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body'); + if (node && !/(iframe|swf)/.test(this.objectType)) { + var cNode = node; // wrap to get true size + node = hs.createElement(cNode.nodeName, null, {overflow: 'hidden'}, null, true); + cNode.parentNode.insertBefore(node, cNode); + node.appendChild(hs.clearing); // IE6 + node.appendChild(cNode); + + var wDiff = this.innerContent.offsetWidth - node.offsetWidth; + var hDiff = this.innerContent.offsetHeight - node.offsetHeight; + node.removeChild(hs.clearing); + + var kdeBugCorr = hs.safari || navigator.vendor == 'KDE' ? 1 : 0; // KDE repainting bug + hs.setStyles(node, { + width: (this.x.size - wDiff - kdeBugCorr) +'px', + height: (this.y.size - hDiff) +'px', + overflow: 'auto', + position: 'relative' + } + ); + if (kdeBugCorr && cNode.offsetHeight > node.offsetHeight) { + node.style.width = (parseInt(node.style.width) + kdeBugCorr) + 'px'; + } + this.scrollingContent = node; + this.scrollerDiv = this.scrollingContent; + } + if (this.iframe && this.objectLoadTime == 'before') this.correctIframeSize(); + if (!this.scrollingContent && this.y.size < this.mediumContent.offsetHeight) this.scrollerDiv = this.content; + + if (this.scrollerDiv == this.content && !this.allowWidthReduction && !/(iframe|swf)/.test(this.objectType)) { + this.x.size += 17; // room for scrollbars + } + if (this.scrollerDiv && this.scrollerDiv.offsetHeight > this.scrollerDiv.parentNode.offsetHeight) { + setTimeout("try { hs.expanders["+ this.key +"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}", + hs.expandDuration); + } +}, + +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox && (this.isImage || this.allowHeightReduction)) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy( + (this.isHtml && this.preserveContent)); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (up && this.isHtml) { + hs.setStyles(this.wrapper, { + left: (x.tpos - x.cb + x.tb) +'px', + top: (y.tpos - y.cb + y.tb) +'px' + }); + } + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + if (exp.isHtml) { + if (args.prop == 'left') + exp.mediumContent.style.left = (x.pos - val) +'px'; + if (args.prop == 'top') + exp.mediumContent.style.top = (y.pos - val) +'px'; + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + if (this.isHtml) this.innerContent.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + + if (this.isHtml && this.objectLoadTime == 'after') this.writeExtendedContent(); + if (this.iframe) { + try { + var exp = this, + doc = this.iframe.contentDocument || this.iframe.contentWindow.document; + hs.addEventListener(doc, 'mousedown', function () { + if (hs.focusKey != exp.key) exp.focus(); + }); + } catch(e) {} + if (hs.ie && typeof this.isClosing != 'boolean') // first open + this.iframe.style.width = (this.objectWidth - 1) +'px'; // hasLayout + } + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (this.loading) hs.loading.style.left = '-9999px'; +}, + +writeCredits : function () { + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + if (blurExp.isImage) { + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + if (this.isImage) { + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + } + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = this.isHtml ? e.height + e.dY : w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + this.isClosing = true; + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + if (this.isHtml) this.htmlPrepareClose(); + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +htmlPrepareClose : function() { + if (hs.geckoMac) { // bad redraws + if (!hs.mask) hs.mask = hs.createElement('div', null, + { position: 'absolute' }, hs.container); + hs.setStyles(hs.mask, { width: this.x.size +'px', height: this.y.size +'px', + left: this.x.pos +'px', top: this.y.pos +'px', display: 'block' }); + } + if (this.objectType == 'swf') try { hs.$(this.body.id).StopPlay(); } catch (e) {} + + if (this.objectLoadTime == 'after' && !this.preserveContent) this.destroyObject(); + if (this.scrollerDiv && this.scrollerDiv != this.scrollingContent) + this.scrollerDiv.style.overflow = 'hidden'; +}, + +destroyObject : function () { + if (hs.ie && this.iframe) + try { this.iframe.contentWindow.document.body.innerHTML = ''; } catch (e) {} + if (this.objectType == 'swf') swfobject.removeSWF(this.body.id); + this.body.innerHTML = ''; +}, + +sleep : function() { + if (this.outline) this.outline.table.style.display = 'none'; + this.releaseMask = null; + this.wrapper.style.display = 'none'; + this.isExpanded = false; + hs.push(hs.sleeping, this); +}, + +awake : function() {try { + + hs.expanders[this.key] = this; + + if (!hs.allowMultipleInstances &&hs.focusKey != this.key) { + try { hs.expanders[hs.focusKey].close(); } catch (e){} + } + + var z = hs.zIndexCounter++, stl = { display: '', zIndex: z }; + hs.setStyles (this.wrapper, stl); + this.isClosing = false; + + var o = this.outline || 0; + if (o) { + if (!this.outlineWhileAnimating) stl.visibility = 'hidden'; + hs.setStyles (o.table, stl); + } + + this.show(); +} catch (e) {} + + +}, + +createOverlay : function (o) { + var el = o.overlayId; + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + el.style.display = 'block'; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + },this.overlayBox, + true + ); + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + offX = overlay.offsetX, + offY = overlay.offsetY; + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + if (this.isImage || (this.isHtml && o.useOnHtml)) + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + if (this.isHtml && this.preserveContent) { + this.overlayBox.style.top = '-9999px'; + hs.container.appendChild(this.overlayBox); + } else + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + + if (this.isHtml && this.preserveContent) { + this.sleep(); + } else { + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + } + if (hs.mask) hs.mask.style.display = 'none'; + + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; + + +// hs.Ajax object prototype +hs.Ajax = function (a, content, pre) { + this.a = a; + this.content = content; + this.pre = pre; +}; + +hs.Ajax.prototype = { +run : function () { + var xhr; + if (!this.src) this.src = hs.getSrc(this.a); + if (this.src.match('#')) { + var arr = this.src.split('#'); + this.src = arr[0]; + this.id = arr[1]; + } + if (hs.cachedGets[this.src]) { + this.cachedGet = hs.cachedGets[this.src]; + if (this.id) this.getElementContent(); + else this.loadHTML(); + return; + } + try { xhr = new XMLHttpRequest(); } + catch (e) { + try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } + catch (e) { + try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } + catch (e) { this.onError(); } + } + } + var pThis = this; + xhr.onreadystatechange = function() { + if(pThis.xhr.readyState == 4) { + if (pThis.id) pThis.getElementContent(); + else pThis.loadHTML(); + } + }; + var src = this.src; + this.xhr = xhr; + if (hs.forceAjaxReload) + src = src.replace(/$/, (/\?/.test(src) ? '&' : '?') +'dummy='+ (new Date()).getTime()); + xhr.open('GET', src, true); + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.send(null); +}, + +getElementContent : function() { + hs.init(); + var attribs = window.opera || hs.ie6SSL ? { src: 'about:blank' } : null; + + this.iframe = hs.createElement('iframe', attribs, + { position: 'absolute', top: '-9999px' }, hs.container); + + this.loadHTML(); +}, + +loadHTML : function() { + var s = this.cachedGet || this.xhr.responseText, + regBody; + if (this.pre) hs.cachedGets[this.src] = s; + if (!hs.ie || hs.uaVersion >= 5.5) { + s = s.replace(new RegExp('<link[^>]*>', 'gi'), '') + .replace(new RegExp('<script[^>]*>.*?</script>', 'gi'), ''); + if (this.iframe) { + var doc = this.iframe.contentDocument; + if (!doc && this.iframe.contentWindow) doc = this.iframe.contentWindow.document; + if (!doc) { // Opera + var pThis = this; + setTimeout(function() { pThis.loadHTML(); }, 25); + return; + } + doc.open(); + doc.write(s); + doc.close(); + try { s = doc.getElementById(this.id).innerHTML; } catch (e) { + try { s = this.iframe.document.getElementById(this.id).innerHTML; } catch (e) {} // opera + } + hs.discardElement(this.iframe); + } else { + regBody = /(<body[^>]*>|<\/body>)/ig; + if (regBody.test(s)) s = s.split(regBody)[hs.ieLt9 ? 1 : 2]; + + } + } + hs.getElementByClass(this.content, 'DIV', 'highslide-body').innerHTML = s; + this.onLoad(); + for (var x in this) this[x] = null; +} +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); + +hs.addEventListener(document, 'ready', hs.getAnchors); +hs.addEventListener(window, 'load', hs.preloadImages); +hs.addEventListener(window, 'load', hs.preloadAjax); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js new file mode 100644 index 000000000..aa2119ff6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +inline +ajax +iframe +flash + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by <i>Highslide JS</i>",creditsTitle:"Go to the Highslide JS homepage",previousText:"Previous",nextText:"Next",moveText:"Move",closeText:"Close",closeTitle:"Close (esc)",resizeTitle:"Resize",playText:"Play",playTitle:"Play slideshow (spacebar)",pauseText:"Pause",pauseTitle:"Pause slideshow (spacebar)",previousTitle:"Previous (arrow left)",nextTitle:"Next (arrow right)",moveTitle:"Move",fullExpandText:"1:1",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a"],allowWidthReduction:false,allowHeightReduction:true,preserveContent:true,objectLoadTime:"before",cacheAjax:true,dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",skin:{contentWrapper:'<div class="highslide-header"><ul><li class="highslide-previous"><a href="#" title="{hs.lang.previousTitle}" onclick="return hs.previous(this)"><span>{hs.lang.previousText}</span></a></li><li class="highslide-next"><a href="#" title="{hs.lang.nextTitle}" onclick="return hs.next(this)"><span>{hs.lang.nextText}</span></a></li><li class="highslide-move"><a href="#" title="{hs.lang.moveTitle}" onclick="return false"><span>{hs.lang.moveText}</span></a></li><li class="highslide-close"><a href="#" title="{hs.lang.closeTitle}" onclick="return hs.close(this)"><span>{hs.lang.closeText}</span></a></li></ul></div><div class="highslide-body"></div><div class="highslide-footer"><div><span class="highslide-resize" title="{hs.lang.resizeTitle}"><span></span></span></div></div>'},preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","width","height","contentId","allowWidthReduction","allowHeightReduction","preserveContent","maincontentId","maincontentText","maincontentEval","objectType","cacheAjax","objectWidth","objectHeight","objectLoadTime","swfOptions","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},swfOptions:{flashvars:{},params:{},attributes:{}},timers:[],pendingOutlines:{},sleeping:[],preloadTheseAjax:[],cacheBindings:[],cachedGets:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;b.x+=a.offsetLeft;b.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){b.x-=a.scrollLeft;b.y-=a.scrollTop}}return b},expand:function(b,h,f,d){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return h}if(d=="html"){for(var c=0;c<hs.sleeping.length;c++){if(hs.sleeping[c]&&hs.sleeping[c].a==b){hs.sleeping[c].awake();hs.sleeping[c]=null;return false}}hs.hasHtmlExpanders=true}try{new hs.Expander(b,h,f,d);return false}catch(g){return true}},htmlExpand:function(b,d,c){return hs.expand(b,d,c,"html")},getSelfRendered:function(){return hs.createElement("div",{className:"highslide-html-content",innerHTML:hs.replaceLang(hs.skin.contentWrapper)})},getElementByClass:function(e,c,d){var b=e.getElementsByTagName(c);for(var a=0;a<b.length;a++){if((new RegExp(d)).test(b[a].className)){return b[a]}}return null},replaceLang:function(c){c=c.replace(/\s/g," ");var b=/{hs\.lang\.([^}]+)\}/g,d=c.match(b),e;if(d){for(var a=0;a<d.length;a++){e=d[a].replace(b,"$1");if(typeof hs.lang[e]!="undefined"){c=c.replace(d[a],hs.lang[e])}}}return c},getCacheBinding:function(b){for(var d=0;d<hs.cacheBindings.length;d++){if(hs.cacheBindings[d][0]==b){var e=hs.cacheBindings[d][1];hs.cacheBindings[d][1]=e.cloneNode(1);return e}}return null},preloadAjax:function(f){var b=hs.getAnchors();for(var d=0;d<b.htmls.length;d++){var c=b.htmls[d];if(hs.getParam(c,"objectType")=="ajax"&&hs.getParam(c,"cacheAjax")){hs.push(hs.preloadTheseAjax,c)}}hs.preloadAjaxElement(0)},preloadAjaxElement:function(d){if(!hs.preloadTheseAjax[d]){return}var b=hs.preloadTheseAjax[d];var c=hs.getNode(hs.getParam(b,"contentId"));if(!c){c=hs.getSelfRendered()}var e=new hs.Ajax(b,c,1);e.onError=function(){};e.onLoad=function(){hs.push(hs.cacheBindings,[b,c]);hs.preloadAjaxElement(d+1)};e.run()},focusTopmost:function(){var c=0,b=-1,a=hs.expanders,e,f;for(var d=0;d<a.length;d++){e=a[d];if(e){f=e.wrapper.style.zIndex;if(f&&f>c){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{d.close()}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{hs.previousOrNext(b.key,c)}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a<hs.expanders.length;a++){var f=hs.expanders[a];if(f&&f.a==e){return a}}}e=e.parentNode}}return null},getExpander:function(b,a){if(typeof b=="undefined"){return hs.expanders[hs.focusKey]||null}if(typeof b=="number"){return hs.expanders[b]||null}if(typeof b=="string"){b=hs.$(b)}return hs.expanders[hs.getWrapperKey(b,a)]||null},isHsAnchor:function(b){return(b.onclick&&b.onclick.toString().replace(/\s/g," ").match(/hs.(htmlE|e)xpand/))},reOrder:function(){for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&hs.expanders[a].isExpanded){hs.focusTopmost()}}},mouseClickHandler:function(d){if(!d){d=window.event}if(d.button>1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}else{if(/highslide-html/.test(b.className)&&hs.focusKey!=f.key){f.focus();f.doShowHide("hidden")}}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){f.close()}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}if(hs.dragArgs.exp.releaseMask){hs.dragArgs.exp.releaseMask.style.display="none"}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;if(d.iframe){if(!d.releaseMask){d.releaseMask=hs.createElement("div",null,{position:"absolute",width:d.x.size+"px",height:d.y.size+"px",left:d.x.cb+"px",top:d.y.cb+"px",zIndex:4,background:(hs.ieLt9?"white":"none"),opacity:0.01},d.wrapper,true)}if(d.releaseMask.style.display=="none"){d.releaseMask.style.display=""}}b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}for(var a=0;a<d.overlays.length;a++){(function(){var e=hs.$("hsId"+d.overlays[a]);if(e&&e.hideOnMouseOut){if(b){hs.setStyles(e,{visibility:"visible",display:""})}hs.animate(e,{opacity:b?e.opacity:0},e.dur)}})()}}catch(c){}},addEventListener:function(a,c,b){if(a==document&&c=="ready"){hs.push(hs.onReady,b)}try{a.addEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b);a.attachEvent("on"+c,b)}catch(d){a["on"+c]=b}}},removeEventListener:function(a,c,b){try{a.removeEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b)}catch(d){a["on"+c]=null}}},preloadFullImage:function(b){if(hs.continuePreloading&&hs.preloadTheseImages[b]&&hs.preloadTheseImages[b]!="undefined"){var a=document.createElement("img");a.onload=function(){a=null;hs.preloadFullImage(b+1)};a.src=hs.preloadTheseImages[b]}},preloadImages:function(c){if(c&&typeof c!="object"){hs.numberOfImagesToPreload=c}var a=hs.getAnchors();for(var b=0;b<a.images.length&&b<hs.numberOfImagesToPreload;b++){hs.push(hs.preloadTheseImages,hs.getSrc(a.images[b]))}if(hs.outlineType){new hs.Outline(hs.outlineType,function(){hs.preloadFullImage(0)})}else{hs.preloadFullImage(0)}if(hs.restoreCursor){var d=hs.createElement("img",{src:hs.graphicsDir+hs.restoreCursor})}},init:function(){if(!hs.container){hs.ieLt7=hs.ie&&hs.uaVersion<7;hs.ieLt9=hs.ie&&hs.uaVersion<9;hs.getPageSize();hs.ie6SSL=hs.ieLt7&&location.protocol=="https:";for(var a in hs.langDefaults){if(typeof hs[a]!="undefined"){hs.lang[a]=hs[a]}else{if(typeof hs.lang[a]=="undefined"&&typeof hs.langDefaults[a]!="undefined"){hs.lang[a]=hs.langDefaults[a]}}}hs.container=hs.createElement("div",{className:"highslide-container"},{position:"absolute",left:0,top:0,width:"100%",zIndex:hs.zIndexCounter,direction:"ltr"},document.body,true);hs.loading=hs.createElement("a",{className:"highslide-loading",title:hs.lang.loadingTitle,innerHTML:hs.lang.loadingText,href:"javascript:;"},{position:"absolute",top:"-9999px",opacity:hs.loadingOpacity,zIndex:1},hs.container);hs.garbageBin=hs.createElement("div",null,{display:"none"},hs.container);hs.clearing=hs.createElement("div",null,{clear:"both",paddingTop:"1px"},null,true);Math.linearTween=function(f,e,h,g){return h*f/g+e};Math.easeInQuad=function(f,e,h,g){return h*(f/=g)*f+e};hs.hideSelects=hs.ieLt7;hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=="KDE"||(hs.ieLt7&&hs.uaVersion<5.5))}},ready:function(){if(hs.isReady){return}hs.isReady=true;for(var a=0;a<hs.onReady.length;a++){hs.onReady[a]()}},updateAnchors:function(){var a,d,l=[],h=[],k=[],b={},m;for(var e=0;e<hs.openerTagNames.length;e++){d=document.getElementsByTagName(hs.openerTagNames[e]);for(var c=0;c<d.length;c++){a=d[c];m=hs.isHsAnchor(a);if(m){hs.push(l,a);if(m[0]=="hs.expand"){hs.push(h,a)}else{if(m[0]=="hs.htmlExpand"){hs.push(k,a)}}var f=hs.getParam(a,"slideshowGroup")||"none";if(!b[f]){b[f]=[]}hs.push(b[f],a)}}}hs.anchors={all:l,groups:b,images:h,htmls:k};return hs.anchors},getAnchors:function(){return hs.anchors||hs.updateAnchors()},close:function(a){var b=hs.getExpander(a);if(b){b.close()}return false}};hs.fx=function(b,a,c){this.options=a;this.elem=b;this.prop=c;if(!a.orig){a.orig={}}};hs.fx.prototype={update:function(){(hs.fx.step[this.prop]||hs.fx.step._default)(this);if(this.options.step){this.options.step.call(this.elem,this.now,this)}},custom:function(e,d,c){this.startTime=(new Date()).getTime();this.start=e;this.end=d;this.unit=c;this.now=this.start;this.pos=this.state=0;var a=this;function b(f){return a.step(f)}b.elem=this.elem;if(b()&&hs.timers.push(b)==1){hs.timerId=setInterval(function(){var g=hs.timers;for(var f=0;f<g.length;f++){if(!g[f]()){g.splice(f--,1)}}if(!g.length){clearInterval(hs.timerId)}},13)}},step:function(d){var c=(new Date()).getTime();if(d||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var f=this.exp;if(f.isImage&&(f.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);f.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}f.content.style[this.wh]=a+"px";f.wrapper.style[this.wh]=this.get("wsize")+"px";if(f.outline){f.outline.setPosition()}if(f.releaseMask){f.releaseMask.style[this.wh]=a+"px"}if(this.dim=="y"&&f.iDoc&&f.body.style.height!="auto"){try{f.iDoc.body.style.overflow="auto"}catch(b){}}if(f.isHtml){var c=f.scrollerDiv;if(this.sizeDiff===undefined){this.sizeDiff=f.innerContent["offset"+this.ucwh]-c["offset"+this.ucwh]}c.style[this.wh]=(this.size-this.sizeDiff)+"px";if(this.dim=="x"){f.mediumContent.style.width="auto"}if(f.body){f.body.style[this.wh]="auto"}}if(this.dim=="x"&&f.overlayBox){f.sizeOverlayBox(true)}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isHtml=(l=="html");this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];hs.init();var m=this.key=hs.expanders.length;for(var g=0;g<hs.overrides.length;g++){var c=hs.overrides[g];this[c]=f&&typeof f[c]!="undefined"?f[c]:hs[c]}if(!this.src){this.src=k.href}var d=(f&&f.thumbnailId)?hs.$(f.thumbnailId):k;d=this.thumb=d.getElementsByTagName("img")[0]||d;this.thumbsUserSetId=d.id||k.id;for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].a==k){hs.expanders[g].focus();return false}}if(!hs.allowSimultaneousLoading){for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].thumb!=d&&!hs.expanders[g].onLoadStarted){hs.expanders[g].cancelLoading()}}}hs.expanders[m]=this;if(!hs.allowMultipleInstances&&!hs.upcoming){if(hs.expanders[m-1]){hs.expanders[m-1].close()}if(typeof hs.focusKey!="undefined"&&hs.expanders[hs.focusKey]){hs.expanders[hs.focusKey].close()}}this.el=d;this.tpos=this.pageOrigin||hs.getPosition(d);hs.getPageSize();var j=this.x=new hs.Dimension(this,"x");j.calcThumb();var h=this.y=new hs.Dimension(this,"y");h.calcThumb();this.wrapper=hs.createElement("div",{id:"highslide-wrapper-"+this.key,className:"highslide-wrapper "+this.wrapperClassName},{visibility:"hidden",position:"absolute",zIndex:hs.zIndexCounter+=2},null,true);this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;if(this.contentType=="image"&&this.outlineWhileAnimating==2){this.outlineWhileAnimating=0}if(!this.outlineType){this[this.contentType+"Create"]()}else{if(hs.pendingOutlines[this.outlineType]){this.connectOutline();this[this.contentType+"Create"]()}else{this.showLoading();var e=this;new hs.Outline(this.outlineType,function(){e.connectOutline();e[e.contentType+"Create"]()})}}return true};hs.Expander.prototype={error:function(a){if(hs.debug){alert("Line "+a.lineNumber+": "+a.message)}else{window.location.href=this.src}},connectOutline:function(){var a=this.outline=hs.pendingOutlines[this.outlineType];a.exp=this;a.table.style.zIndex=this.wrapper.style.zIndex-1;hs.pendingOutlines[this.outlineType]=null},showLoading:function(){if(this.onLoadStarted||this.loading){return}this.loading=hs.loading;var c=this;this.loading.onclick=function(){c.cancelLoading()};var c=this,a=this.x.get("loadingPos")+"px",b=this.y.get("loadingPos")+"px";setTimeout(function(){if(c.loading){hs.setStyles(c.loading,{left:a,top:b,zIndex:hs.zIndexCounter++})}},100)},imageCreate:function(){var b=this;var a=document.createElement("img");this.content=a;a.onload=function(){if(hs.expanders[b.key]){b.contentLoaded()}};if(hs.blockRightClick){a.oncontextmenu=function(){return false}}a.className="highslide-image";hs.setStyles(a,{visibility:"hidden",display:"block",position:"absolute",maxWidth:"9999px",zIndex:3});a.title=hs.lang.restoreTitle;if(hs.safari&&hs.uaVersion<525){hs.container.appendChild(a)}if(hs.ie&&hs.flushImgSize){a.src=null}a.src=this.src;this.showLoading()},htmlCreate:function(){this.content=hs.getCacheBinding(this.a);if(!this.content){this.content=hs.getNode(this.contentId)}if(!this.content){this.content=hs.getSelfRendered()}this.getInline(["maincontent"]);if(this.maincontent){var a=hs.getElementByClass(this.content,"div","highslide-body");if(a){a.appendChild(this.maincontent)}this.maincontent.style.display="block"}var d=this.innerContent=this.content;if(/(swf|iframe)/.test(this.objectType)){this.setObjContainerSize(d)}hs.container.appendChild(this.wrapper);hs.setStyles(this.wrapper,{position:"static",padding:"0 "+hs.marginRight+"px 0 "+hs.marginLeft+"px"});this.content=hs.createElement("div",{className:"highslide-html"},{position:"relative",zIndex:3,height:0,overflow:"hidden"},this.wrapper);this.mediumContent=hs.createElement("div",null,null,this.content,1);this.mediumContent.appendChild(d);hs.setStyles(d,{position:"relative",display:"block",direction:hs.lang.cssDirection||""});if(this.width){d.style.width=this.width+"px"}if(this.height){hs.setStyles(d,{height:this.height+"px",overflow:"hidden"})}if(d.offsetWidth<this.minWidth){d.style.width=this.minWidth+"px"}if(this.objectType=="ajax"&&!hs.getCacheBinding(this.a)){this.showLoading();var c=this;var b=new hs.Ajax(this.a,d);b.src=this.src;b.onLoad=function(){if(hs.expanders[c.key]){c.contentLoaded()}};b.onError=function(){location.href=c.src};b.run()}else{if(this.objectType=="iframe"&&this.objectLoadTime=="before"){this.writeExtendedContent()}else{this.contentLoaded()}}},contentLoaded:function(){try{if(!this.content){return}this.content.onload=null;if(this.onLoadStarted){return}else{this.onLoadStarted=true}var a=this.x,d=this.y;if(this.loading){hs.setStyles(this.loading,{top:"-9999px"});this.loading=null}if(this.isImage){a.full=this.content.width;d.full=this.content.height;hs.setStyles(this.content,{width:a.t+"px",height:d.t+"px"});this.wrapper.appendChild(this.content);hs.container.appendChild(this.wrapper)}else{if(this.htmlGetSize){this.htmlGetSize()}}a.calcBorders();d.calcBorders();hs.setStyles(this.wrapper,{left:(a.tpos+a.tb-a.cb)+"px",top:(d.tpos+a.tb-d.cb)+"px"});this.getOverlays();var b=a.full/d.full;a.calcExpanded();this.justify(a);d.calcExpanded();this.justify(d);if(this.isHtml){this.htmlSizeOperations()}if(this.overlayBox){this.sizeOverlayBox(0,1)}if(this.allowSizeReduction){if(this.isImage){this.correctRatio(b)}else{this.fitOverlayBox()}if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(c){this.error(c)}},setObjContainerSize:function(a,d){var b=hs.getElementByClass(a,"DIV","highslide-body");if(/(iframe|swf)/.test(this.objectType)){if(this.objectWidth){b.style.width=this.objectWidth+"px"}if(this.objectHeight){b.style.height=this.objectHeight+"px"}}},writeExtendedContent:function(){if(this.hasExtendedContent){return}var f=this;this.body=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(this.objectType=="iframe"){this.showLoading();var g=hs.clearing.cloneNode(1);this.body.appendChild(g);this.newWidth=this.innerContent.offsetWidth;if(!this.objectWidth){this.objectWidth=g.offsetWidth}var c=this.innerContent.offsetHeight-this.body.offsetHeight,d=this.objectHeight||hs.page.height-c-hs.marginTop-hs.marginBottom,e=this.objectLoadTime=="before"?' onload="if (hs.expanders['+this.key+"]) hs.expanders["+this.key+'].contentLoaded()" ':"";this.body.innerHTML+='<iframe name="hs'+(new Date()).getTime()+'" frameborder="0" key="'+this.key+'" style="width:'+this.objectWidth+"px; height:"+d+'px" '+e+' src="'+this.src+'" ></iframe>';this.ruler=this.body.getElementsByTagName("div")[0];this.iframe=this.body.getElementsByTagName("iframe")[0];if(this.objectLoadTime=="after"){this.correctIframeSize()}}if(this.objectType=="swf"){this.body.id=this.body.id||"hs-flash-id-"+this.key;var b=this.swfOptions;if(!b.params){b.params={}}if(typeof b.params.wmode=="undefined"){b.params.wmode="transparent"}if(swfobject){swfobject.embedSWF(this.src,this.body.id,this.objectWidth,this.objectHeight,b.version||"7",b.expressInstallSwfurl,b.flashvars,b.params,b.attributes)}}this.hasExtendedContent=true},htmlGetSize:function(){if(this.iframe&&!this.objectHeight){this.iframe.style.height=this.body.style.height=this.getIframePageHeight()+"px"}this.innerContent.appendChild(hs.clearing);if(!this.x.full){this.x.full=this.innerContent.offsetWidth}this.y.full=this.innerContent.offsetHeight;this.innerContent.removeChild(hs.clearing);if(hs.ie&&this.newHeight>parseInt(this.innerContent.currentStyle.height)){this.newHeight=parseInt(this.innerContent.currentStyle.height)}hs.setStyles(this.wrapper,{position:"absolute",padding:"0"});hs.setStyles(this.content,{width:this.x.t+"px",height:this.y.t+"px"})},getIframePageHeight:function(){var a;try{var d=this.iDoc=this.iframe.contentDocument||this.iframe.contentWindow.document;var b=d.createElement("div");b.style.clear="both";d.body.appendChild(b);a=b.offsetTop;if(hs.ie){a+=parseInt(d.body.currentStyle.marginTop)+parseInt(d.body.currentStyle.marginBottom)-1}}catch(c){a=300}return a},correctIframeSize:function(){var b=this.innerContent.offsetWidth-this.ruler.offsetWidth;hs.discardElement(this.ruler);if(b<0){b=0}var a=this.innerContent.offsetHeight-this.iframe.offsetHeight;if(this.iDoc&&!this.objectHeight&&!this.height&&this.y.size==this.y.full){try{this.iDoc.body.style.overflow="hidden"}catch(c){}}hs.setStyles(this.iframe,{width:Math.abs(this.x.size-b)+"px",height:Math.abs(this.y.size-a)+"px"});hs.setStyles(this.body,{width:this.iframe.style.width,height:this.iframe.style.height});this.scrollingContent=this.iframe;this.scrollerDiv=this.scrollingContent},htmlSizeOperations:function(){this.setObjContainerSize(this.innerContent);if(this.objectType=="swf"&&this.objectLoadTime=="before"){this.writeExtendedContent()}if(this.x.size<this.x.full&&!this.allowWidthReduction){this.x.size=this.x.full}if(this.y.size<this.y.full&&!this.allowHeightReduction){this.y.size=this.y.full}this.scrollerDiv=this.innerContent;hs.setStyles(this.mediumContent,{position:"relative",width:this.x.size+"px"});hs.setStyles(this.innerContent,{border:"none",width:"auto",height:"auto"});var e=hs.getElementByClass(this.innerContent,"DIV","highslide-body");if(e&&!/(iframe|swf)/.test(this.objectType)){var b=e;e=hs.createElement(b.nodeName,null,{overflow:"hidden"},null,true);b.parentNode.insertBefore(e,b);e.appendChild(hs.clearing);e.appendChild(b);var c=this.innerContent.offsetWidth-e.offsetWidth;var a=this.innerContent.offsetHeight-e.offsetHeight;e.removeChild(hs.clearing);var d=hs.safari||navigator.vendor=="KDE"?1:0;hs.setStyles(e,{width:(this.x.size-c-d)+"px",height:(this.y.size-a)+"px",overflow:"auto",position:"relative"});if(d&&b.offsetHeight>e.offsetHeight){e.style.width=(parseInt(e.style.width)+d)+"px"}this.scrollingContent=e;this.scrollerDiv=this.scrollingContent}if(this.iframe&&this.objectLoadTime=="before"){this.correctIframeSize()}if(!this.scrollingContent&&this.y.size<this.mediumContent.offsetHeight){this.scrollerDiv=this.content}if(this.scrollerDiv==this.content&&!this.allowWidthReduction&&!/(iframe|swf)/.test(this.objectType)){this.x.size+=17}if(this.scrollerDiv&&this.scrollerDiv.offsetHeight>this.scrollerDiv.parentNode.offsetHeight){setTimeout("try { hs.expanders["+this.key+"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",hs.expandDuration)}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";var d=false;var a=f.exp.allowSizeReduction;f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2));if(f.pos<f.scroll+f.marginMin){f.pos=f.scroll+f.marginMin;d=true}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos+f.get("wsize")>f.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")<f.get("fitsize")){f.pos=f.scroll+f.clientSize-f.marginMax-f.get("wsize")}else{f.pos=f.scroll+f.marginMin;if(!b&&a){f.size=f.get(e=="y"?"fitsize":"maxsize")}}}}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos<f.marginMin){var c=f.pos;f.pos=f.marginMin;if(a&&!b){f.size=f.size-(f.pos-c)}}},correctRatio:function(c){var a=this.x,g=this.y,e=false,d=Math.min(a.full,a.size),b=Math.min(g.full,g.size),f=(this.useBox||hs.padToMinWidth);if(d/b>c){d=b*c;if(d<a.minSize){d=a.minSize;b=d/c}e=true}else{if(d/b<c){b=d/c;e=true}}if(hs.padToMinWidth&&a.full<a.minSize){a.imgSize=a.full;g.size=g.imgSize=g.full}else{if(this.useBox){a.imgSize=d;g.imgSize=b}else{a.size=d;g.size=b}}e=this.fitOverlayBox(this.useBox?null:c,e);if(f&&g.size<g.imgSize){g.imgSize=g.size;a.imgSize=g.size*c}if(e||f){a.pos=a.tpos-a.cb+a.tb;a.minSize=a.size;this.justify(a,true);g.pos=g.tpos-g.cb+g.tb;g.minSize=g.size;this.justify(g,true);if(this.overlayBox){this.sizeOverlayBox()}}},fitOverlayBox:function(b,c){var a=this.x,d=this.y;if(this.overlayBox&&(this.isImage||this.allowHeightReduction)){while(d.size>this.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(b,h,c){if(this.outline&&!this.outlineWhileAnimating){if(b){this.outline.setPosition()}else{this.outline.destroy((this.isHtml&&this.preserveContent))}}if(!b){this.destroyOverlays()}var e=this,a=e.x,g=e.y,f=this.easing;if(!b){f=this.easingClose||f}var d=b?function(){if(e.outline){e.outline.table.style.visibility="visible"}setTimeout(function(){e.afterExpand()},50)}:function(){e.afterClose()};if(b){hs.setStyles(this.wrapper,{width:a.t+"px",height:g.t+"px"})}if(b&&this.isHtml){hs.setStyles(this.wrapper,{left:(a.tpos-a.cb+a.tb)+"px",top:(g.tpos-g.cb+g.tb)+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:b?0:1});hs.extend(h.wrapper,{opacity:b})}hs.animate(this.wrapper,h.wrapper,{duration:c,easing:f,step:function(k,i){if(e.outline&&e.outlineWhileAnimating&&i.prop=="top"){var j=b?i.pos:1-i.pos;var l={w:a.t+(a.get("wsize")-a.t)*j,h:g.t+(g.get("wsize")-g.t)*j,x:a.tpos+(a.pos-a.tpos)*j,y:g.tpos+(g.pos-g.tpos)*j};e.outline.setPosition(l,0,1)}if(e.isHtml){if(i.prop=="left"){e.mediumContent.style.left=(a.pos-k)+"px"}if(i.prop=="top"){e.mediumContent.style.top=(g.pos-k)+"px"}}}});hs.animate(this.content,h.content,c,f,d);if(b){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";if(this.isHtml){this.innerContent.style.visibility="visible"}this.a.className+=" highslide-active-anchor"}},afterExpand:function(){this.isExpanded=true;this.focus();if(this.isHtml&&this.objectLoadTime=="after"){this.writeExtendedContent()}if(this.iframe){try{var g=this,f=this.iframe.contentDocument||this.iframe.contentWindow.document;hs.addEventListener(f,"mousedown",function(){if(hs.focusKey!=g.key){g.focus()}})}catch(d){}if(hs.ie&&typeof this.isClosing!="boolean"){this.iframe.style.width=(this.objectWidth-1)+"px"}}if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.pos<b&&b<this.x.pos+this.x.get("wsize")&&this.y.pos<a&&a<this.y.pos+this.y.get("wsize");if(this.overlayBox){this.showOverlays()}},prepareNextOutline:function(){var a=this.key;var b=this.outlineType;new hs.Outline(b,function(){try{hs.expanders[a].preloadNext()}catch(c){}})},preloadNext:function(){var b=this.getAdjacentAnchor(1);if(b&&b.onclick.toString().match(/hs\.expand/)){var a=hs.createElement("img",{src:hs.getSrc(b)})}},getAdjacentAnchor:function(c){var b=this.getAnchorIndex(),a=hs.anchors.groups[this.slideshowGroup||"none"];return(a&&a[b+c])||null},getAnchorIndex:function(){var a=hs.getAnchors().groups[this.slideshowGroup||"none"];if(a){for(var b=0;b<a.length;b++){if(a[b]==this.a){return b}}}return null},cancelLoading:function(){hs.discardElement(this.wrapper);hs.expanders[this.key]=null;if(this.loading){hs.loading.style.left="-9999px"}},writeCredits:function(){this.credits=hs.createElement("a",{href:hs.creditsHref,target:hs.creditsTarget,className:"highslide-credits",innerHTML:hs.lang.creditsText,title:hs.lang.creditsTitle});this.createOverlay({overlayId:this.credits,position:this.creditsPosition||"top left"})},getInline:function(types,addOverlay){for(var i=0;i<types.length;i++){var type=types[i],s=null;if(!this[type+"Id"]&&this.thumbsUserSetId){this[type+"Id"]=type+"-for-"+this.thumbsUserSetId}if(this[type+"Id"]){this[type]=hs.getNode(this[type+"Id"])}if(!this[type]&&!this[type+"Text"]&&this[type+"Eval"]){try{s=eval(this[type+"Eval"])}catch(e){}}if(!this[type]&&this[type+"Text"]){s=this[type+"Text"]}if(!this[type]&&!s){this[type]=hs.getNode(this.a["_"+type+"Id"]);if(!this[type]){var next=this.a.nextSibling;while(next&&!hs.isHsAnchor(next)){if((new RegExp("highslide-"+type)).test(next.className||null)){if(!next.id){this.a["_"+type+"Id"]=next.id="hsId"+hs.idCounter++}this[type]=hs.getNode(next.id);break}next=next.nextSibling}}}if(!this[type]&&s){this[type]=hs.createElement("div",{className:"highslide-"+type,innerHTML:s})}if(addOverlay&&this[type]){var o={position:(type=="heading")?"above":"below"};for(var x in this[type+"Overlay"]){o[x]=this[type+"Overlay"][x]}o.overlayId=this[type];this.createOverlay(o)}}},doShowHide:function(a){if(hs.hideSelects){this.showHideElements("SELECT",a)}if(hs.hideIframes){this.showHideElements("IFRAME",a)}if(hs.geckoMac){this.showHideElements("*",a)}},showHideElements:function(c,b){var e=document.getElementsByTagName(c);var a=c=="*"?"overflow":"visibility";for(var f=0;f<e.length;f++){if(a=="visibility"||(document.defaultView.getComputedStyle(e[f],"").getPropertyValue("overflow")=="auto"||e[f].getAttribute("hidden-by")!=null)){var h=e[f].getAttribute("hidden-by");if(b=="visible"&&h){h=h.replace("["+this.key+"]","");e[f].setAttribute("hidden-by",h);if(!h){e[f].style[a]=e[f].origProp}}else{if(b=="hidden"){var k=hs.getPosition(e[f]);k.w=e[f].offsetWidth;k.h=e[f].offsetHeight;var j=(k.x+k.w<this.x.get("opos")||k.x>this.x.get("opos")+this.x.get("osize"));var g=(k.y+k.h<this.y.get("opos")||k.y>this.y.get("opos")+this.y.get("osize"));var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&a==hs.focusKey){var b=hs.expanders[a];b.content.className+=" highslide-"+b.contentType+"-blur";if(b.isImage){b.content.style.cursor=hs.ieLt7?"hand":"pointer";b.content.title=hs.lang.focusTitle}}}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex-1}this.content.className="highslide-"+this.contentType;if(this.isImage){this.content.title=hs.lang.restoreTitle;if(hs.restoreCursor){hs.styleRestoreCursor=window.opera?"pointer":"url("+hs.graphicsDir+hs.restoreCursor+"), pointer";if(hs.ieLt7&&hs.uaVersion<6){hs.styleRestoreCursor="hand"}this.content.style.cursor=hs.styleRestoreCursor}}hs.focusKey=this.key;hs.addEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)},moveTo:function(a,b){this.x.setPos(a);this.y.setPos(b)},resize:function(d){var a,b,c=d.width/d.height;a=Math.max(d.width+d.dX,Math.min(this.minWidth,this.x.full));if(this.isImage&&Math.abs(a-this.x.full)<12){a=this.x.full}b=this.isHtml?d.height+d.dY:a/c;if(b<Math.min(this.minHeight,this.y.full)){b=Math.min(this.minHeight,this.y.full);if(this.isImage){a=b*c}}this.resizeTo(a,b)},resizeTo:function(a,b){this.y.setSize(b);this.x.setSize(a);this.wrapper.style.height=this.y.get("wsize")+"px"},close:function(){if(this.isClosing||!this.isExpanded){return}this.isClosing=true;hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{if(this.isHtml){this.htmlPrepareClose()}this.content.style.cursor="default";this.changeSize(0,{wrapper:{width:this.x.t,height:this.y.t,left:this.x.tpos-this.x.cb+this.x.tb,top:this.y.tpos-this.y.cb+this.y.tb},content:{left:0,top:0,width:this.x.t,height:this.y.t}},hs.restoreDuration)}catch(a){this.afterClose()}},htmlPrepareClose:function(){if(hs.geckoMac){if(!hs.mask){hs.mask=hs.createElement("div",null,{position:"absolute"},hs.container)}hs.setStyles(hs.mask,{width:this.x.size+"px",height:this.y.size+"px",left:this.x.pos+"px",top:this.y.pos+"px",display:"block"})}if(this.objectType=="swf"){try{hs.$(this.body.id).StopPlay()}catch(a){}}if(this.objectLoadTime=="after"&&!this.preserveContent){this.destroyObject()}if(this.scrollerDiv&&this.scrollerDiv!=this.scrollingContent){this.scrollerDiv.style.overflow="hidden"}},destroyObject:function(){if(hs.ie&&this.iframe){try{this.iframe.contentWindow.document.body.innerHTML=""}catch(a){}}if(this.objectType=="swf"){swfobject.removeSWF(this.body.id)}this.body.innerHTML=""},sleep:function(){if(this.outline){this.outline.table.style.display="none"}this.releaseMask=null;this.wrapper.style.display="none";this.isExpanded=false;hs.push(hs.sleeping,this)},awake:function(){try{hs.expanders[this.key]=this;if(!hs.allowMultipleInstances&&hs.focusKey!=this.key){try{hs.expanders[hs.focusKey].close()}catch(b){}}var d=hs.zIndexCounter++,a={display:"",zIndex:d};hs.setStyles(this.wrapper,a);this.isClosing=false;var c=this.outline||0;if(c){if(!this.outlineWhileAnimating){a.visibility="hidden"}hs.setStyles(c.table,a)}this.show()}catch(b){}},createOverlay:function(d){var c=d.overlayId;if(typeof c=="string"){c=hs.getNode(c)}if(d.html){c=hs.createElement("div",{innerHTML:d.html})}if(!c||typeof c=="string"){return}c.style.display="block";this.genOverlayBox();var b=d.width&&/^[0-9]+(px|%)$/.test(d.width)?d.width:"auto";if(/^(left|right)panel$/.test(d.position)&&!/^[0-9]+px$/.test(d.width)){b="200px"}var a=hs.createElement("div",{id:"hsId"+hs.idCounter++,hsId:d.hsId},{position:"absolute",visibility:"hidden",width:b,direction:hs.lang.cssDirection||"",opacity:0},this.overlayBox,true);a.appendChild(c);hs.extend(a,{opacity:1,offsetX:0,offsetY:0,dur:(d.fade===0||d.fade===false||(d.fade==2&&hs.ie))?0:250});hs.extend(a,d);if(this.gotOverlays){this.positionOverlay(a);if(!a.hideOnMouseOut||this.mouseIsOver){hs.animate(a,{opacity:a.opacity},a.dur)}}hs.push(this.overlays,hs.idCounter-1)},positionOverlay:function(c){var d=c.position||"middle center",b=c.offsetX,a=c.offsetY;if(c.parentNode!=this.overlayBox){this.overlayBox.appendChild(c)}if(/left$/.test(d)){c.style.left=b+"px"}if(/center$/.test(d)){hs.setStyles(c,{left:"50%",marginLeft:(b-Math.round(c.offsetWidth/2))+"px"})}if(/right$/.test(d)){c.style.right=-b+"px"}if(/^leftpanel$/.test(d)){hs.setStyles(c,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=c.offsetWidth}else{if(/^rightpanel$/.test(d)){hs.setStyles(c,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=c.offsetWidth}}if(/^top/.test(d)){c.style.top=a+"px"}if(/^middle/.test(d)){hs.setStyles(c,{top:"50%",marginTop:(a-Math.round(c.offsetHeight/2))+"px"})}if(/^bottom/.test(d)){c.style.bottom=-a+"px"}if(/^above$/.test(d)){hs.setStyles(c,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=c.offsetHeight}else{if(/^below$/.test(d)){hs.setStyles(c,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=c.offsetHeight;c.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a<hs.overlays.length;a++){var d=hs.overlays[a],e=d.thumbnailId,b=d.slideshowGroup;if((!e&&!b)||(e&&e==this.thumbsUserSetId)||(b&&b===this.slideshowGroup)){if(this.isImage||(this.isHtml&&d.useOnHtml)){this.createOverlay(d)}}}var c=[];for(var a=0;a<this.overlays.length;a++){var d=hs.$("hsId"+this.overlays[a]);if(/panel$/.test(d.position)){this.positionOverlay(d)}else{hs.push(c,d)}}for(var a=0;a<c.length;a++){this.positionOverlay(c[a])}this.gotOverlays=true},genOverlayBox:function(){if(!this.overlayBox){this.overlayBox=hs.createElement("div",{className:this.wrapperClassName},{position:"absolute",width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+"px",height:(this.y.size||this.y.full)+"px",visibility:"hidden",overflow:"hidden",zIndex:hs.ie?4:"auto"},hs.container,true)}},sizeOverlayBox:function(f,d){var c=this.overlayBox,a=this.x,h=this.y;hs.setStyles(c,{width:a.size+"px",height:h.size+"px"});if(f||d){for(var e=0;e<this.overlays.length;e++){var g=hs.$("hsId"+this.overlays[e]);var b=(hs.ieLt7||document.compatMode=="BackCompat");if(g&&/^(above|below)$/.test(g.position)){if(b){g.style.width=(c.offsetWidth+2*a.cb+a.p1+a.p2)+"px"}h[g.position=="above"?"p1":"p2"]=g.offsetHeight}if(g&&b&&/^(left|right)panel$/.test(g.position)){g.style.height=(c.offsetHeight+2*h.cb)+"px"}}}if(f){hs.setStyles(this.content,{top:h.p1+"px"});hs.setStyles(c,{top:(h.p1+h.cb)+"px"})}},showOverlays:function(){var a=this.overlayBox;a.className="";hs.setStyles(a,{top:(this.y.p1+this.y.cb)+"px",left:(this.x.p1+this.x.cb)+"px",overflow:"visible"});if(hs.safari){a.style.visibility="visible"}this.wrapper.appendChild(a);for(var c=0;c<this.overlays.length;c++){var d=hs.$("hsId"+this.overlays[c]);d.style.zIndex=d.zIndex||4;if(!d.hideOnMouseOut||this.mouseIsOver){d.style.visibility="visible";hs.setStyles(d,{visibility:"visible",display:""});hs.animate(d,{opacity:d.opacity},d.dur)}}},destroyOverlays:function(){if(!this.overlays.length){return}if(this.isHtml&&this.preserveContent){this.overlayBox.style.top="-9999px";hs.container.appendChild(this.overlayBox)}else{hs.discardElement(this.overlayBox)}},createFullExpand:function(){this.fullExpandLabel=hs.createElement("a",{href:"javascript:hs.expanders["+this.key+"].doFullExpand();",title:hs.lang.fullExpandTitle,className:"highslide-full-expand"});this.createOverlay({overlayId:this.fullExpandLabel,position:hs.fullExpandPosition,hideOnMouseOut:true,opacity:hs.fullExpandOpacity})},doFullExpand:function(){try{if(this.fullExpandLabel){hs.discardElement(this.fullExpandLabel)}this.focus();var c=this.x.size,a=this.y.size;this.resizeTo(this.x.full,this.y.full);var b=this.x.pos-(this.x.size-c)/2;if(b<hs.marginLeft){b=hs.marginLeft}var f=this.y.pos-(this.y.size-a)/2;if(f<hs.marginTop){f=hs.marginTop}this.moveTo(b,f);this.doShowHide("hidden")}catch(d){this.error(d)}},afterClose:function(){this.a.className=this.a.className.replace("highslide-active-anchor","");this.doShowHide("visible");if(this.isHtml&&this.preserveContent){this.sleep()}else{if(this.outline&&this.outlineWhileAnimating){this.outline.destroy()}hs.discardElement(this.wrapper)}if(hs.mask){hs.mask.style.display="none"}hs.expanders[this.key]=null;hs.reOrder()}};hs.Ajax=function(b,c,d){this.a=b;this.content=c;this.pre=d};hs.Ajax.prototype={run:function(){var d;if(!this.src){this.src=hs.getSrc(this.a)}if(this.src.match("#")){var a=this.src.split("#");this.src=a[0];this.id=a[1]}if(hs.cachedGets[this.src]){this.cachedGet=hs.cachedGets[this.src];if(this.id){this.getElementContent()}else{this.loadHTML()}return}try{d=new XMLHttpRequest()}catch(b){try{d=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){try{d=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){this.onError()}}}var f=this;d.onreadystatechange=function(){if(f.xhr.readyState==4){if(f.id){f.getElementContent()}else{f.loadHTML()}}};var c=this.src;this.xhr=d;if(hs.forceAjaxReload){c=c.replace(/$/,(/\?/.test(c)?"&":"?")+"dummy="+(new Date()).getTime())}d.open("GET",c,true);d.setRequestHeader("X-Requested-With","XMLHttpRequest");d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");d.send(null)},getElementContent:function(){hs.init();var a=window.opera||hs.ie6SSL?{src:"about:blank"}:null;this.iframe=hs.createElement("iframe",a,{position:"absolute",top:"-9999px"},hs.container);this.loadHTML()},loadHTML:function(){var c=this.cachedGet||this.xhr.responseText,b;if(this.pre){hs.cachedGets[this.src]=c}if(!hs.ie||hs.uaVersion>=5.5){c=c.replace(new RegExp("<link[^>]*>","gi"),"").replace(new RegExp("<script[^>]*>.*?<\/script>","gi"),"");if(this.iframe){var f=this.iframe.contentDocument;if(!f&&this.iframe.contentWindow){f=this.iframe.contentWindow.document}if(!f){var g=this;setTimeout(function(){g.loadHTML()},25);return}f.open();f.write(c);f.close();try{c=f.getElementById(this.id).innerHTML}catch(d){try{c=this.iframe.document.getElementById(this.id).innerHTML}catch(d){}}hs.discardElement(this.iframe)}else{b=/(<body[^>]*>|<\/body>)/ig;if(b.test(c)){c=c.split(b)[hs.ieLt9?1:2]}}}hs.getElementByClass(this.content,"DIV","highslide-body").innerHTML=c;this.onLoad();for(var a in this){this[a]=null}}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie&&window==window.top){(function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,50);return}hs.ready()})()}hs.addEventListener(document,"DOMContentLoaded",hs.ready);hs.addEventListener(window,"load",hs.ready);hs.addEventListener(document,"ready",function(){if(hs.expandCursor){var d=hs.createElement("style",{type:"text/css"},null,document.getElementsByTagName("HEAD")[0]),c=document.compatMode=="BackCompat";function b(f,g){if(hs.ie&&(hs.uaVersion<9||c)){var e=document.styleSheets[document.styleSheets.length-1];if(typeof(e.addRule)=="object"){e.addRule(f,g)}}else{d.appendChild(document.createTextNode(f+" {"+g+"}"))}}function a(e){return"expression( ( ( ignoreMe = document.documentElement."+e+" ? document.documentElement."+e+" : document.body."+e+" ) ) + 'px' );"}if(hs.expandCursor){b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")}}});hs.addEventListener(window,"resize",function(){hs.getPageSize()});hs.addEventListener(document,"mousemove",function(a){hs.mouse={x:a.clientX,y:a.clientY}});hs.addEventListener(document,"mousedown",hs.mouseClickHandler);hs.addEventListener(document,"mouseup",hs.mouseClickHandler);hs.addEventListener(document,"ready",hs.getAnchors);hs.addEventListener(window,"load",hs.preloadImages);hs.addEventListener(window,"load",hs.preloadAjax)}; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js new file mode 100644 index 000000000..6febacff6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-with-html.packed.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +inline +ajax +iframe +flash +packed + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){u m={1e:{89:\'8H\',8K:\'co...\',8G:\'6Q 2h cA\',9s:\'6Q 2h cB 2h c1\',9Y:\'bX 2h bT G (f)\',ag:\'c7 by <i>8g 8f</i>\',9F:\'d3 2h d6 8g 8f dg\',91:\'8n\',8W:\'8e\',8R:\'9g\',8V:\'8j\',8U:\'8j (di)\',93:\'dj\',dd:\'8h\',d2:\'8h 8m (8l)\',cM:\'8k\',bR:\'8k 8m (8l)\',90:\'8n (6L 1f)\',8X:\'8e (6L 2G)\',8S:\'9g\',b8:\'1:1\',7h:\'6Q 2h 28 2D, aR 8Y aL 2h 3I. aH 6L aT W 1M 8Y 5n.\'},56:\'U/aN/\',5v:\'bG.6E\',4E:\'bB.6E\',7c:6j,a7:6j,4j:15,6m:15,3N:15,6f:15,4l:bt,8N:0.75,7m:J,71:5,3g:2,aZ:3,4M:1h,9Z:\'3E 2G\',9U:1,a1:J,9y:\'b2://U.b4/\',9E:\'aO\',8C:J,7B:[\'a\'],5D:1h,5A:J,48:J,31:\'4K\',82:J,7b:J,3O:8Z,4s:8Z,4I:J,1x:\'aS-aP\',8A:{8B:\'<1i 3n="U-aU"><92>\'+\'<3u 3n="U-5n">\'+\'<a 2v="#" 2u="{m.1e.90}" 2M="D m.5n(k)">\'+\'<2p>{m.1e.91}</2p></a>\'+\'</3u>\'+\'<3u 3n="U-1M">\'+\'<a 2v="#" 2u="{m.1e.8X}" 2M="D m.1M(k)">\'+\'<2p>{m.1e.8W}</2p></a>\'+\'</3u>\'+\'<3u 3n="U-3I">\'+\'<a 2v="#" 2u="{m.1e.8S}" 2M="D 1h">\'+\'<2p>{m.1e.8R}</2p></a>\'+\'</3u>\'+\'<3u 3n="U-28">\'+\'<a 2v="#" 2u="{m.1e.8U}" 2M="D m.28(k)">\'+\'<2p>{m.1e.8V}</2p></a>\'+\'</3u>\'+\'</92></1i>\'+\'<1i 3n="U-V"></1i>\'+\'<1i 3n="U-b0"><1i>\'+\'<2p 3n="U-3q" 2u="{m.1e.93}"><2p></2p></2p>\'+\'</1i></1i>\'},4P:[],6n:J,P:[],6s:[\'4I\',\'2K\',\'1x\',\'3g\',\'b5\',\'bc\',\'aG\',\'9e\',\'aM\',\'b3\',\'bQ\',\'9c\',\'9K\',\'7b\',\'K\',\'M\',\'7f\',\'5D\',\'5A\',\'48\',\'bD\',\'bC\',\'bH\',\'2f\',\'82\',\'3i\',\'3J\',\'31\',\'7I\',\'78\',\'3O\',\'4s\',\'5X\',\'6N\',\'8d\',\'4h\',\'2g\',\'an\',\'am\',\'T\'],1Q:[],4y:0,bI:{x:[\'ad\',\'1f\',\'6H\',\'2G\',\'ac\'],y:[\'4U\',\'18\',\'6q\',\'3E\',\'6a\']},5R:{},9c:{},9e:{},7I:{al:{},1E:{},ay:{}},3t:[],3G:{},3C:[],5b:[],4o:[],5J:{},7k:{},6h:[],26:/bM\\/4\\.0/.16(46.5V)?8:6t((46.5V.5x().2Z(/.+(?:9f|bJ|bK|1L)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),1L:(N.4F&&!1y.30),4X:/bL/.16(46.5V),7V:/bx.+9f:1\\.[0-8].+bi/.16(46.5V),$:B(1j){q(1j)D N.6F(1j)},20:B(1P,2R){1P[1P.1c]=2R},14:B(9b,3h,3l,4r,95){u C=N.14(9b);q(3h)m.3e(C,3h);q(95)m.Q(C,{6z:0,ap:\'24\',6V:0});q(3l)m.Q(C,3l);q(4r)4r.1G(C);D C},3e:B(C,3h){W(u x 3A 3h)C[x]=3h[x];D C},Q:B(C,3l){W(u x 3A 3l){q(m.2Y&&x==\'1B\'){q(3l[x]>0.99)C.F.bp(\'4C\');L C.F.4C=\'97(1B=\'+(3l[x]*2A)+\')\'}L C.F[x]=3l[x]}},41:B(C,1a,2P){u 3S,3Y,3P;q(1t 2P!=\'6W\'||2P===I){u 2S=aE;2P={3w:2S[2],2g:2S[3],83:2S[4]}}q(1t 2P.3w!=\'42\')2P.3w=6j;2P.2g=1r[2P.2g]||1r.8M;2P.5d=m.3e({},1a);W(u 2z 3A 1a){u e=1w m.1C(C,2P,2z);3S=6t(m.79(C,2z))||0;3Y=6t(1a[2z]);3P=2z!=\'1B\'?\'E\':\'\';e.2O(3S,3Y,3P)}},79:B(C,1a){q(C.F[1a]){D C.F[1a]}L q(N.87){D N.87.9k(C,I).9i(1a)}L{q(1a==\'1B\')1a=\'4C\';u 2R=C.4u[1a.2i(/\\-(\\w)/g,B(a,b){D b.bo()})];q(1a==\'4C\')2R=2R.2i(/97\\(1B=([0-9]+)\\)/,B(a,b){D b/2A});D 2R===\'\'?1:2R}},5y:B(){u d=N,w=1y,58=d.5G&&d.5G!=\'6M\'?d.44:d.V,2Y=m.1L&&(m.26<9||1t 8y==\'1X\');u K=2Y?58.8Q:(d.44.8Q||5o.bv),M=2Y?58.bu:5o.bm;m.3k={K:K,M:M,5T:2Y?58.5T:8y,5U:2Y?58.5U:bf};D m.3k},85:B(C){u p={x:C.8x,y:C.6G};3T(C.8p){C=C.8p;p.x+=C.8x;p.y+=C.6G;q(C!=N.V&&C!=N.44){p.x-=C.5T;p.y-=C.5U}}D p},53:B(a,1E,2O,R){q(!a)a=m.14(\'a\',I,{1O:\'24\'},m.1S);q(1t a.4V==\'B\')D 1E;q(R==\'2Q\'){W(u i=0;i<m.3C.1c;i++){q(m.3C[i]&&m.3C[i].a==a){m.3C[i].a8();m.3C[i]=I;D 1h}}m.8O=J}1m{1w m.4S(a,1E,2O,R);D 1h}1l(e){D J}},8D:B(a,1E,2O){D m.53(a,1E,2O,\'2Q\')},7E:B(){D m.14(\'1i\',{1p:\'U-2Q-O\',2n:m.8w(m.8A.8B)})},4d:B(C,4c,1p){u 1k=C.3x(4c);W(u i=0;i<1k.1c;i++){q((1w 5P(1p)).16(1k[i].1p)){D 1k[i]}}D I},8w:B(s){s=s.2i(/\\s/g,\' \');u 2t=/{m\\.1e\\.([^}]+)\\}/g,55=s.2Z(2t),1e;q(55)W(u i=0;i<55.1c;i++){1e=55[i].2i(2t,"$1");q(1t m.1e[1e]!=\'1X\')s=s.2i(55[i],m.1e[1e])}D s},7t:B(a){W(u i=0;i<m.4o.1c;i++){q(m.4o[i][0]==a){u c=m.4o[i][1];m.4o[i][1]=c.61(1);D c}}D I},af:B(e){u 1P=m.4Z();W(u i=0;i<1P.4q.1c;i++){u a=1P.4q[i];q(m.3U(a,\'2f\')==\'2x\'&&m.3U(a,\'82\'))m.20(m.5b,a)}m.7r(0)},7r:B(i){q(!m.5b[i])D;u a=m.5b[i];u 51=m.3z(m.3U(a,\'7f\'));q(!51)51=m.7E();u 2x=1w m.5j(a,51,1);2x.7v=B(){};2x.2J=B(){m.20(m.4o,[a,51]);m.7r(i+1)};2x.7y()},8L:B(){u 7n=0,5g=-1,P=m.P,A,1u;W(u i=0;i<P.1c;i++){A=P[i];q(A){1u=A.Y.F.1u;q(1u&&1u>7n){7n=1u;5g=i}}}q(5g==-1)m.2q=-1;L P[5g].3d()},3U:B(a,4R){a.4V=a.2M;u p=a.4V?a.4V():I;a.4V=I;D(p&&1t p[4R]!=\'1X\')?p[4R]:(1t m[4R]!=\'1X\'?m[4R]:I)},5m:B(a){u T=m.3U(a,\'T\');q(T)D T;D a.2v},3z:B(1j){u 1D=m.$(1j),3M=m.7k[1j],a={};q(!1D&&!3M)D I;q(!3M){3M=1D.61(J);3M.1j=\'\';m.7k[1j]=3M;D 1D}L{D 3M.61(J)}},3j:B(d){q(d)m.7g.1G(d);m.7g.2n=\'\'},8t:B(7F,A){u 3r=A||m.3v();A=3r;q(m.3B)D 1h;L m.3r=3r;m.4g(N,1y.30?\'5i\':\'5h\',m.4D);1m{m.3B=7F;7F.2M()}1l(e){m.3r=m.3B=I}1m{A.28()}1l(e){}D 1h},5k:B(C,2w){u A=m.3v(C);q(A)D m.8t(A.6B(2w),A);L D 1h},5n:B(C){D m.5k(C,-1)},1M:B(C){D m.5k(C,1)},4D:B(e){q(!e)e=1y.1Y;q(!e.2j)e.2j=e.6p;q(1t e.2j.7O!=\'1X\')D J;u A=m.3v();u 2w=I;8T(e.aI){1J 70:q(A)A.7i();D J;1J 32:1J 34:1J 39:1J 40:2w=1;7N;1J 8:1J 33:1J 37:1J 38:2w=-1;7N;1J 27:1J 13:2w=0}q(2w!==I){m.4g(N,1y.30?\'5i\':\'5h\',m.4D);q(!m.8C)D J;q(e.65)e.65();L e.aY=1h;q(A){q(2w==0){A.28()}L{m.5k(A.S,2w)}D 1h}}D J},b1:B(19){m.20(m.1Q,m.3e(19,{2F:\'2F\'+m.4y++}))},7S:B(7C,5M){u C,2t=/^U-Y-([0-9]+)$/;C=7C;3T(C.3a){q(C.1j&&2t.16(C.1j))D C.1j.2i(2t,"$1");C=C.3a}q(!5M){C=7C;3T(C.3a){q(C.4c&&m.5W(C)){W(u S=0;S<m.P.1c;S++){u A=m.P[S];q(A&&A.a==C)D S}}C=C.3a}}D I},3v:B(C,5M){q(1t C==\'1X\')D m.P[m.2q]||I;q(1t C==\'42\')D m.P[C]||I;q(1t C==\'7L\')C=m.$(C);D m.P[m.7S(C,5M)]||I},5W:B(a){D(a.2M&&a.2M.9C().2i(/\\s/g,\' \').2Z(/m.(aV|e)b7/))},ab:B(){W(u i=0;i<m.P.1c;i++)q(m.P[i]&&m.P[i].4e)m.8L()},7K:B(e){q(!e)e=1y.1Y;q(e.aJ>1)D J;q(!e.2j)e.2j=e.6p;u C=e.2j;3T(C.3a&&!(/U-(2D|3I|2Q|3q)/.16(C.1p))){C=C.3a}u A=m.3v(C);q(A&&(A.4z||!A.4e))D J;q(A&&e.R==\'7H\'){q(e.2j.7O)D J;u 2Z=C.1p.2Z(/U-(2D|3I|3q)/);q(2Z){m.2a={A:A,R:2Z[1],1f:A.x.H,K:A.x.G,18:A.y.H,M:A.y.G,8J:e.5Q,8F:e.5f};m.1R(N,\'6o\',m.8a);q(e.65)e.65();q(/U-(2D|2Q)-7s/.16(A.O.1p)){A.3d();m.7p=J}D 1h}L q(/U-2Q/.16(C.1p)&&m.2q!=A.S){A.3d();A.4a(\'1n\')}}L q(e.R==\'9t\'){m.4g(N,\'6o\',m.8a);q(m.2a){q(m.4i&&m.2a.R==\'2D\')m.2a.A.O.F.3L=m.4i;u 3f=m.2a.3f;q(!3f&&!m.7p&&!/(3I|3q)/.16(m.2a.R)){A.28()}L q(3f||(!3f&&m.8O)){m.2a.A.4a(\'1n\')}q(m.2a.A.2W)m.2a.A.2W.F.1O=\'24\';m.7p=1h;m.2a=I}L q(/U-2D-7s/.16(C.1p)){C.F.3L=m.4i}}D 1h},8a:B(e){q(!m.2a)D J;q(!e)e=1y.1Y;u a=m.2a,A=a.A;q(A.11){q(!A.2W)A.2W=m.14(\'1i\',I,{1d:\'22\',K:A.x.G+\'E\',M:A.y.G+\'E\',1f:A.x.cb+\'E\',18:A.y.cb+\'E\',1u:4,94:(m.2Y?\'bh\':\'24\'),1B:0.cD},A.Y,J);q(A.2W.F.1O==\'24\')A.2W.F.1O=\'\'}a.5q=e.5Q-a.8J;a.5r=e.5f-a.8F;u 6A=1r.cU(1r.8E(a.5q,2)+1r.8E(a.5r,2));q(!a.3f)a.3f=(a.R!=\'2D\'&&6A>0)||(6A>(m.cR||5));q(a.3f&&e.5Q>5&&e.5f>5){q(a.R==\'3q\')A.3q(a);L{A.7x(a.1f+a.5q,a.18+a.5r);q(a.R==\'2D\')A.O.F.3L=\'3I\'}}D 1h},8c:B(e){1m{q(!e)e=1y.1Y;u 67=/cW/i.16(e.R);q(!e.2j)e.2j=e.6p;q(!e.6l)e.6l=67?e.cZ:e.cY;u A=m.3v(e.2j);q(!A.4e)D;q(!A||!e.6l||m.3v(e.6l,J)==A||m.2a)D;W(u i=0;i<A.1Q.1c;i++)(B(){u o=m.$(\'2F\'+A.1Q[i]);q(o&&o.5Z){q(67)m.Q(o,{1q:\'2l\',1O:\'\'});m.41(o,{1B:67?o.1B:0},o.3b)}})()}1l(e){}},1R:B(C,1Y,35){q(C==N&&1Y==\'3p\'){m.20(m.6h,35)}1m{C.1R(1Y,35,1h)}1l(e){1m{C.8I(\'4Q\'+1Y,35);C.cX(\'4Q\'+1Y,35)}1l(e){C[\'4Q\'+1Y]=35}}},4g:B(C,1Y,35){1m{C.4g(1Y,35,1h)}1l(e){1m{C.8I(\'4Q\'+1Y,35)}1l(e){C[\'4Q\'+1Y]=I}}},68:B(i){q(m.6n&&m.4P[i]&&m.4P[i]!=\'1X\'){u 1v=N.14(\'1v\');1v.3H=B(){1v=I;m.68(i+1)};1v.T=m.4P[i]}},9u:B(42){q(42&&1t 42!=\'6W\')m.71=42;u 1P=m.4Z();W(u i=0;i<1P.3Z.1c&&i<m.71;i++){m.20(m.4P,m.5m(1P.3Z[i]))}q(m.1x)1w m.4L(m.1x,B(){m.68(0)});L m.68(0);q(m.4E)u 6E=m.14(\'1v\',{T:m.56+m.4E})},5N:B(){q(!m.1S){m.3F=m.1L&&m.26<7;m.2Y=m.1L&&m.26<9;m.5y();m.9z=m.3F&&7T.cI==\'cH:\';W(u x 3A m.5z){q(1t m[x]!=\'1X\')m.1e[x]=m[x];L q(1t m.1e[x]==\'1X\'&&1t m.5z[x]!=\'1X\')m.1e[x]=m.5z[x]}m.1S=m.14(\'1i\',{1p:\'U-1S\'},{1d:\'22\',1f:0,18:0,K:\'2A%\',1u:m.4l,8b:\'8H\'},N.V,J);m.21=m.14(\'a\',{1p:\'U-21\',2u:m.1e.8G,2n:m.1e.8K,2v:\'9X:;\'},{1d:\'22\',18:\'-3R\',1B:m.8N,1u:1},m.1S);m.7g=m.14(\'1i\',I,{1O:\'24\'},m.1S);m.2I=m.14(\'1i\',I,{ar:\'aw\',cF:\'cJ\'},I,J);1r.cK=B(t,b,c,d){D c*t/d+b};1r.8M=B(t,b,c,d){D c*(t/=d)*t+b};m.9m=m.3F;m.9l=((1y.30&&m.26<9)||46.ai==\'ah\'||(m.3F&&m.26<5.5))}},3p:B(){q(m.6Z)D;m.6Z=J;W(u i=0;i<m.6h.1c;i++)m.6h[i]()},8u:B(){u C,1k,4F=[],3Z=[],4q=[],3m={},2t;W(u i=0;i<m.7B.1c;i++){1k=N.3x(m.7B[i]);W(u j=0;j<1k.1c;j++){C=1k[j];2t=m.5W(C);q(2t){m.20(4F,C);q(2t[0]==\'m.53\')m.20(3Z,C);L q(2t[0]==\'m.8D\')m.20(4q,C);u g=m.3U(C,\'4h\')||\'24\';q(!3m[g])3m[g]=[];m.20(3m[g],C)}}}m.5K={4F:4F,3m:3m,3Z:3Z,4q:4q};D m.5K},4Z:B(){D m.5K||m.8u()},28:B(C){u A=m.3v(C);q(A)A.28();D 1h}};m.1C=B(2k,1N,1a){k.1N=1N;k.2k=2k;k.1a=1a;q(!1N.8s)1N.8s={}};m.1C.54={7Q:B(){(m.1C.3o[k.1a]||m.1C.3o.8z)(k);q(k.1N.3o)k.1N.3o.8v(k.2k,k.3Q,k)},2O:B(8q,2h,3P){k.84=(1w 5s()).59();k.3S=8q;k.3Y=2h;k.3P=3P;k.3Q=k.3S;k.H=k.80=0;u 5o=k;B t(5e){D 5o.3o(5e)}t.2k=k.2k;q(t()&&m.3t.20(t)==1){m.8r=dk(B(){u 3t=m.3t;W(u i=0;i<3t.1c;i++)q(!3t[i]())3t.dh(i--,1);q(!3t.1c){df(m.8r)}},13)}},3o:B(5e){u t=(1w 5s()).59();q(5e||t>=k.1N.3w+k.84){k.3Q=k.3Y;k.H=k.80=1;k.7Q();k.1N.5d[k.1a]=J;u 86=J;W(u i 3A k.1N.5d)q(k.1N.5d[i]!==J)86=1h;q(86){q(k.1N.83)k.1N.83.8v(k.2k)}D 1h}L{u n=t-k.84;k.80=n/k.1N.3w;k.H=k.1N.2g(n,0,1,k.1N.3w);k.3Q=k.3S+((k.3Y-k.3S)*k.H);k.7Q()}D J}};m.3e(m.1C,{3o:{1B:B(1C){m.Q(1C.2k,{1B:1C.3Q})},8z:B(1C){1m{q(1C.2k.F&&1C.2k.F[1C.1a]!=I)1C.2k.F[1C.1a]=1C.3Q+1C.3P;L 1C.2k[1C.1a]=1C.3Q}1l(e){}}}});m.4L=B(1x,2J){k.2J=2J;k.1x=1x;u v=m.26,5O;k.6C=m.1L&&m.26<7;q(!1x){q(2J)2J();D}m.5N();k.2m=m.14(\'2m\',{d7:0},{1q:\'1n\',1d:\'22\',d8:\'dc\',K:0},m.1S,J);u 7W=m.14(\'7W\',I,I,k.2m,1);k.29=[];W(u i=0;i<=8;i++){q(i%3==0)5O=m.14(\'5O\',I,{M:\'1H\'},7W,J);k.29[i]=m.14(\'29\',I,I,5O,J);u F=i!=4?{db:0,da:0}:{1d:\'3K\'};m.Q(k.29[i],F)}k.29[4].1p=1x+\' U-1o\';k.8P()};m.4L.54={8P:B(){u T=m.56+(m.d9||"cL/")+k.1x+".cE";u 98=m.4X&&m.26<8i?m.1S:I;k.2X=m.14(\'1v\',I,{1d:\'22\',18:\'-3R\'},98,J);u 36=k;k.2X.3H=B(){36.96()};k.2X.T=T},96:B(){u o=k.1s=k.2X.K/4,H=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1F={M:(2*o)+\'E\',K:(2*o)+\'E\'};W(u i=0;i<=8;i++){q(H[i]){q(k.6C){u w=(i==1||i==7)?\'2A%\':k.2X.K+\'E\';u 1i=m.14(\'1i\',I,{K:\'2A%\',M:\'2A%\',1d:\'3K\',1W:\'1n\'},k.29[i],J);m.14(\'1i\',I,{4C:"c6:c5.9M.c4(c8=c9, T=\'"+k.2X.T+"\')",1d:\'22\',K:w,M:k.2X.M+\'E\',1f:(H[i][0]*o)+\'E\',18:(H[i][1]*o)+\'E\'},1i,J)}L{m.Q(k.29[i],{94:\'6X(\'+k.2X.T+\') \'+(H[i][0]*o)+\'E \'+(H[i][1]*o)+\'E\'})}q(1y.30&&(i==3||i==5))m.14(\'1i\',I,1F,k.29[i],J);m.Q(k.29[i],1F)}}k.2X=I;q(m.3G[k.1x])m.3G[k.1x].5l();m.3G[k.1x]=k;q(k.2J)k.2J()},4B:B(H,1s,9a,3b,2g){u A=k.A,4A=A.Y.F,1s=1s||0,H=H||{x:A.x.H+1s,y:A.y.H+1s,w:A.x.1b(\'1K\')-2*1s,h:A.y.1b(\'1K\')-2*1s};q(9a)k.2m.F.1q=(H.h>=4*k.1s)?\'2l\':\'1n\';m.Q(k.2m,{1f:(H.x-k.1s)+\'E\',18:(H.y-k.1s)+\'E\',K:(H.w+2*k.1s)+\'E\'});H.w-=2*k.1s;H.h-=2*k.1s;m.Q(k.29[4],{K:H.w>=0?H.w+\'E\':0,M:H.h>=0?H.h+\'E\':0});q(k.6C)k.29[3].F.M=k.29[5].F.M=k.29[4].F.M},5l:B(9d){q(9d)k.2m.F.1q=\'1n\';L m.3j(k.2m)}};m.5t=B(A,1F){k.A=A;k.1F=1F;k.2H=1F==\'x\'?\'cd\':\'cc\';k.2C=k.2H.5x();k.4J=1F==\'x\'?\'ca\':\'c3\';k.6J=k.4J.5x();k.6P=1F==\'x\'?\'c2\':\'bV\';k.bU=k.6P.5x();k.1V=k.2U=0};m.5t.54={1b:B(S){8T(S){1J\'7R\':D k.1A+k.2s+(k.t-m.21[\'1s\'+k.2H])/2;1J\'1K\':D k.G+2*k.cb+k.1V+k.2U;1J\'4b\':D k.5E-k.3y-k.5F;1J\'6K\':D k.1b(\'4b\')-2*k.cb-k.1V-k.2U;1J\'4w\':D k.H-(k.A.1o?k.A.1o.1s:0);1J\'88\':D k.1b(\'1K\')+(k.A.1o?2*k.A.1o.1s:0);1J\'5u\':D k.1T?1r.5Y((k.G-k.1T)/2):0}},6v:B(){k.cb=(k.A.O[\'1s\'+k.2H]-k.t)/2;k.5F=m[\'6V\'+k.6P]},6y:B(){k.t=k.A.C[k.2C]?49(k.A.C[k.2C]):k.A.C[\'1s\'+k.2H];k.1A=k.A.1A[k.1F];k.2s=(k.A.C[\'1s\'+k.2H]-k.t)/2;q(k.1A==0||k.1A==-1){k.1A=(m.3k[k.2C]/2)+m.3k[\'3s\'+k.4J]}},6u:B(){u A=k.A;k.3X=\'1H\';k.H=k.1A-k.cb+k.2s;q(k.6N&&k.1F==\'x\')A.5X=1r.2L(A.5X||k.Z,A.6N*k.Z/A.y.Z);k.G=1r.2L(k.Z,A[\'7l\'+k.2H]||k.Z);k.2E=A.4I?1r.2L(A[\'2L\'+k.2H],k.Z):k.Z;q(A.2o&&A.2K){k.G=A[k.2C];k.1T=k.Z}q(k.1F==\'x\'&&m.4M)k.2E=A.3O;k.3y=m[\'6V\'+k.4J];k.3s=m.3k[\'3s\'+k.4J];k.5E=m.3k[k.2C]},7J:B(i){u A=k.A;q(A.2o&&(A.2K||m.4M)){k.1T=i;k.G=1r.7l(k.G,k.1T);A.O.F[k.6J]=k.1b(\'5u\')+\'E\'}L k.G=i;A.O.F[k.2C]=i+\'E\';A.Y.F[k.2C]=k.1b(\'1K\')+\'E\';q(A.1o)A.1o.4B();q(A.2W)A.2W.F[k.2C]=i+\'E\';q(k.1F==\'y\'&&A.4v&&A.V.F.M!=\'1H\')1m{A.4v.V.F.1W=\'1H\'}1l(e){}q(A.1Z){u d=A.2c;q(k.7a===1X)k.7a=A.1g[\'1s\'+k.2H]-d[\'1s\'+k.2H];d.F[k.2C]=(k.G-k.7a)+\'E\';q(k.1F==\'x\')A.3D.F.K=\'1H\';q(A.V)A.V.F[k.2C]=\'1H\'}q(k.1F==\'x\'&&A.1z)A.4m(J)},7j:B(i){k.H=i;k.A.Y.F[k.6J]=i+\'E\';q(k.A.1o)k.A.1o.4B()}};m.4S=B(a,1E,2O,2B){q(N.9r&&m.1L&&!m.6Z){m.1R(N,\'3p\',B(){1w m.4S(a,1E,2O,2B)});D}k.a=a;k.2O=2O;k.2B=2B||\'2D\';k.1Z=(2B==\'2Q\');k.2o=!k.1Z;m.6n=1h;k.1Q=[];m.5N();u S=k.S=m.P.1c;W(u i=0;i<m.6s.1c;i++){u 2z=m.6s[i];k[2z]=1E&&1t 1E[2z]!=\'1X\'?1E[2z]:m[2z]}q(!k.T)k.T=a.2v;u C=(1E&&1E.6O)?m.$(1E.6O):a;C=k.8o=C.3x(\'1v\')[0]||C;k.6b=C.1j||a.1j;W(u i=0;i<m.P.1c;i++){q(m.P[i]&&m.P[i].a==a){m.P[i].3d();D 1h}}q(!m.cf)W(u i=0;i<m.P.1c;i++){q(m.P[i]&&m.P[i].8o!=C&&!m.P[i].6e){m.P[i].6w()}}m.P[S]=k;q(!m.7m&&!m.3B){q(m.P[S-1])m.P[S-1].28();q(1t m.2q!=\'1X\'&&m.P[m.2q])m.P[m.2q].28()}k.C=C;k.1A=k.8d||m.85(C);m.5y();u x=k.x=1w m.5t(k,\'x\');x.6y();u y=k.y=1w m.5t(k,\'y\');y.6y();k.Y=m.14(\'1i\',{1j:\'U-Y-\'+k.S,1p:\'U-Y \'+k.78},{1q:\'1n\',1d:\'22\',1u:m.4l+=2},I,J);k.Y.cg=k.Y.cw=m.8c;q(k.2B==\'2D\'&&k.3g==2)k.3g=0;q(!k.1x){k[k.2B+\'7P\']()}L q(m.3G[k.1x]){k.81();k[k.2B+\'7P\']()}L{k.4t();u A=k;1w m.4L(k.1x,B(){A.81();A[A.2B+\'7P\']()})}D J};m.4S.54={7w:B(e){q(m.cv)cu(\'ct \'+e.cx+\': \'+e.cy);L 1y.7T.2v=k.T},81:B(){u 1o=k.1o=m.3G[k.1x];1o.A=k;1o.2m.F.1u=k.Y.F.1u-1;m.3G[k.1x]=I},4t:B(){q(k.6e||k.21)D;k.21=m.21;u A=k;k.21.2M=B(){A.6w()};u A=k,l=k.x.1b(\'7R\')+\'E\',t=k.y.1b(\'7R\')+\'E\';4T(B(){q(A.21)m.Q(A.21,{1f:l,18:t,1u:m.4l++})},2A)},cz:B(){u A=k;u 1v=N.14(\'1v\');k.O=1v;1v.3H=B(){q(m.P[A.S])A.4x()};q(m.cs)1v.cr=B(){D 1h};1v.1p=\'U-2D\';m.Q(1v,{1q:\'1n\',1O:\'4H\',1d:\'22\',5X:\'3R\',1u:3});1v.2u=m.1e.7h;q(m.4X&&m.26<8i)m.1S.1G(1v);q(m.1L&&m.ch)1v.T=I;1v.T=k.T;k.4t()},cl:B(){k.O=m.7t(k.a);q(!k.O)k.O=m.3z(k.7f);q(!k.O)k.O=m.7E();k.77([\'6i\']);q(k.6i){u V=m.4d(k.O,\'1i\',\'U-V\');q(V)V.1G(k.6i);k.6i.F.1O=\'4H\'}u 1g=k.1g=k.O;q(/(3c|11)/.16(k.2f))k.7d(1g);m.1S.1G(k.Y);m.Q(k.Y,{1d:\'cp\',6z:\'0 \'+m.6m+\'E 0 \'+m.4j+\'E\'});k.O=m.14(\'1i\',{1p:\'U-2Q\'},{1d:\'3K\',1u:3,M:0,1W:\'1n\'},k.Y);k.3D=m.14(\'1i\',I,I,k.O,1);k.3D.1G(1g);m.Q(1g,{1d:\'3K\',1O:\'4H\',8b:m.1e.89||\'\'});q(k.K)1g.F.K=k.K+\'E\';q(k.M)m.Q(1g,{M:k.M+\'E\',1W:\'1n\'});q(1g.2e<k.3O)1g.F.K=k.3O+\'E\';q(k.2f==\'2x\'&&!m.7t(k.a)){k.4t();u A=k;u 2x=1w m.5j(k.a,1g);2x.T=k.T;2x.2J=B(){q(m.P[A.S])A.4x()};2x.7v=B(){7T.2v=A.T};2x.7y()}L q(k.2f==\'11\'&&k.31==\'4K\'){k.5S()}L k.4x()},4x:B(){1m{q(!k.O)D;k.O.3H=I;q(k.6e)D;L k.6e=J;u x=k.x,y=k.y;q(k.21){m.Q(k.21,{18:\'-3R\'});k.21=I}q(k.2o){x.Z=k.O.K;y.Z=k.O.M;m.Q(k.O,{K:x.t+\'E\',M:y.t+\'E\'});k.Y.1G(k.O);m.1S.1G(k.Y)}L q(k.76)k.76();x.6v();y.6v();m.Q(k.Y,{1f:(x.1A+x.2s-x.cb)+\'E\',18:(y.1A+x.2s-y.cb)+\'E\'});k.aa();u 2d=x.Z/y.Z;x.6u();k.3X(x);y.6u();k.3X(y);q(k.1Z)k.aq();q(k.1z)k.4m(0,1);q(k.4I){q(k.2o)k.aA(2d);L k.6Y();q(k.2o&&k.x.Z>(k.x.1T||k.x.G)){k.9W();q(k.1Q.1c==1)k.4m()}}k.7M()}1l(e){k.7w(e)}},7d:B(4r,1H){u c=m.4d(4r,\'5H\',\'U-V\');q(/(11|3c)/.16(k.2f)){q(k.3i)c.F.K=k.3i+\'E\';q(k.3J)c.F.M=k.3J+\'E\'}},5S:B(){q(k.av)D;u A=k;k.V=m.4d(k.1g,\'5H\',\'U-V\');q(k.2f==\'11\'){k.4t();u 4n=m.2I.61(1);k.V.1G(4n);k.cn=k.1g.2e;q(!k.3i)k.3i=4n.2e;u 45=k.1g.1I-k.V.1I,h=k.3J||m.3k.M-45-m.3N-m.6f,3H=k.31==\'4K\'?\' 3H="q (m.P[\'+k.S+\']) m.P[\'+k.S+\'].4x()" \':\'\';k.V.2n+=\'<11 2z="m\'+(1w 5s()).59()+\'" cq="0" S="\'+k.S+\'" \'+\' F="K:\'+k.3i+\'E; M:\'+h+\'E" \'+3H+\' T="\'+k.T+\'" ></11>\';k.4n=k.V.3x(\'1i\')[0];k.11=k.V.3x(\'11\')[0];q(k.31==\'4O\')k.6S()}q(k.2f==\'3c\'){k.V.1j=k.V.1j||\'m-cm-1j-\'+k.S;u a=k.7I;q(!a.1E)a.1E={};q(1t a.1E.aF==\'1X\')a.1E.aF=\'ci\';q(7D)7D.cj(k.T,k.V.1j,k.3i,k.3J,a.ck||\'7\',a.cC,a.al,a.1E,a.ay)}k.av=J},76:B(){q(k.11&&!k.3J){k.11.F.M=k.V.F.M=k.at()+\'E\'}k.1g.1G(m.2I);q(!k.x.Z)k.x.Z=k.1g.2e;k.y.Z=k.1g.1I;k.1g.aj(m.2I);q(m.1L&&k.au>49(k.1g.4u.M)){k.au=49(k.1g.4u.M)}m.Q(k.Y,{1d:\'22\',6z:\'0\'});m.Q(k.O,{K:k.x.t+\'E\',M:k.y.t+\'E\'})},at:B(){u h;1m{u 1U=k.4v=k.11.6r||k.11.52.N;u 2I=1U.14(\'1i\');2I.F.ar=\'aw\';1U.V.1G(2I);h=2I.6G;q(m.1L)h+=49(1U.V.4u.3N)+49(1U.V.4u.6f)-1}1l(e){h=bY}D h},6S:B(){u 4k=k.1g.2e-k.4n.2e;m.3j(k.4n);q(4k<0)4k=0;u 45=k.1g.1I-k.11.1I;q(k.4v&&!k.3J&&!k.M&&k.y.G==k.y.Z)1m{k.4v.V.F.1W=\'1n\'}1l(e){}m.Q(k.11,{K:1r.7u(k.x.G-4k)+\'E\',M:1r.7u(k.y.G-45)+\'E\'});m.Q(k.V,{K:k.11.F.K,M:k.11.F.M});k.4p=k.11;k.2c=k.4p},aq:B(){k.7d(k.1g);q(k.2f==\'3c\'&&k.31==\'4K\')k.5S();q(k.x.G<k.x.Z&&!k.5D)k.x.G=k.x.Z;q(k.y.G<k.y.Z&&!k.5A)k.y.G=k.y.Z;k.2c=k.1g;m.Q(k.3D,{1d:\'3K\',K:k.x.G+\'E\'});m.Q(k.1g,{ap:\'24\',K:\'1H\',M:\'1H\'});u 1D=m.4d(k.1g,\'5H\',\'U-V\');q(1D&&!/(11|3c)/.16(k.2f)){u 47=1D;1D=m.14(47.bZ,I,{1W:\'1n\'},I,J);47.3a.c0(1D,47);1D.1G(m.2I);1D.1G(47);u 4k=k.1g.2e-1D.2e;u 45=k.1g.1I-1D.1I;1D.aj(m.2I);u 5C=m.4X||46.ai==\'ah\'?1:0;m.Q(1D,{K:(k.x.G-4k-5C)+\'E\',M:(k.y.G-45)+\'E\',1W:\'1H\',1d:\'3K\'});q(5C&&47.1I>1D.1I){1D.F.K=(49(1D.F.K)+5C)+\'E\'}k.4p=1D;k.2c=k.4p}q(k.11&&k.31==\'4K\')k.6S();q(!k.4p&&k.y.G<k.3D.1I)k.2c=k.O;q(k.2c==k.O&&!k.5D&&!/(11|3c)/.16(k.2f)){k.x.G+=17}q(k.2c&&k.2c.1I>k.2c.3a.1I){4T("1m { m.P["+k.S+"].2c.F.1W = \'1H\'; } 1l(e) {}",m.7c)}},3X:B(p,3W){u bW,bS=p.2j,1F=p==k.x?\'x\':\'y\';u 6R=1h;u 3V=p.A.4I;p.H=1r.5Y(p.H-((p.1b(\'1K\')-p.t)/2));q(p.H<p.3s+p.3y){p.H=p.3s+p.3y;6R=J}q(!3W&&p.G<p.2E){p.G=p.2E;3V=1h}q(p.H+p.1b(\'1K\')>p.3s+p.5E-p.5F){q(!3W&&6R&&3V){p.G=1r.2L(p.G,p.1b(1F==\'y\'?\'4b\':\'6K\'))}L q(p.1b(\'1K\')<p.1b(\'4b\')){p.H=p.3s+p.5E-p.5F-p.1b(\'1K\')}L{p.H=p.3s+p.3y;q(!3W&&3V)p.G=p.1b(1F==\'y\'?\'4b\':\'6K\')}}q(!3W&&p.G<p.2E){p.G=p.2E;3V=1h}q(p.H<p.3y){u ao=p.H;p.H=p.3y;q(3V&&!3W)p.G=p.G-(p.H-ao)}},aA:B(2d){u x=k.x,y=k.y,2V=1h,2r=1r.2L(x.Z,x.G),2N=1r.2L(y.Z,y.G),2K=(k.2K||m.4M);q(2r/2N>2d){ 2r=2N*2d;q(2r<x.2E){2r=x.2E;2N=2r/2d}2V=J}L q(2r/2N<2d){ 2N=2r/2d;2V=J}q(m.4M&&x.Z<x.2E){x.1T=x.Z;y.G=y.1T=y.Z}L q(k.2K){x.1T=2r;y.1T=2N}L{x.G=2r;y.G=2N}2V=k.6Y(k.2K?I:2d,2V);q(2K&&y.G<y.1T){y.1T=y.G;x.1T=y.G*2d}q(2V||2K){x.H=x.1A-x.cb+x.2s;x.2E=x.G;k.3X(x,J);y.H=y.1A-y.cb+y.2s;y.2E=y.G;k.3X(y,J);q(k.1z)k.4m()}},6Y:B(2d,2V){u x=k.x,y=k.y;q(k.1z&&(k.2o||k.5A)){3T(y.G>k.4s&&x.G>k.3O&&y.1b(\'1K\')>y.1b(\'4b\')){y.G-=10;q(2d)x.G=y.G*2d;k.4m(0,1);2V=J}}D 2V},7M:B(){u x=k.x,y=k.y;k.4a(\'1n\');k.7z(1,{Y:{K:x.1b(\'1K\'),M:y.1b(\'1K\'),1f:x.H,18:y.H},O:{1f:x.1V+x.1b(\'5u\'),18:y.1V+y.1b(\'5u\'),K:x.1T||x.G,M:y.1T||y.G}},m.7c)},7z:B(2y,2h,3b){q(k.1o&&!k.3g){q(2y)k.1o.4B();L k.1o.5l((k.1Z&&k.48))}q(!2y)k.9V();u A=k,x=A.x,y=A.y,2g=k.2g;q(!2y)2g=k.an||2g;u 4O=2y?B(){q(A.1o)A.1o.2m.F.1q="2l";4T(B(){A.aC()},50)}:B(){A.7A()};q(2y)m.Q(k.Y,{K:x.t+\'E\',M:y.t+\'E\'});q(2y&&k.1Z){m.Q(k.Y,{1f:(x.1A-x.cb+x.2s)+\'E\',18:(y.1A-y.cb+y.2s)+\'E\'})}q(k.am){m.Q(k.Y,{1B:2y?0:1});m.3e(2h.Y,{1B:2y})}m.41(k.Y,2h.Y,{3w:3b,2g:2g,3o:B(2R,2S){q(A.1o&&A.3g&&2S.1a==\'18\'){u 4G=2y?2S.H:1-2S.H;u H={w:x.t+(x.1b(\'1K\')-x.t)*4G,h:y.t+(y.1b(\'1K\')-y.t)*4G,x:x.1A+(x.H-x.1A)*4G,y:y.1A+(y.H-y.1A)*4G};A.1o.4B(H,0,1)}q(A.1Z){q(2S.1a==\'1f\')A.3D.F.1f=(x.H-2R)+\'E\';q(2S.1a==\'18\')A.3D.F.18=(y.H-2R)+\'E\'}}});m.41(k.O,2h.O,3b,2g,4O);q(2y){k.Y.F.1q=\'2l\';k.O.F.1q=\'2l\';q(k.1Z)k.1g.F.1q=\'2l\';k.a.1p+=\' U-9T-9O\'}},aC:B(){k.4e=J;k.3d();q(k.1Z&&k.31==\'4O\')k.5S();q(k.11){1m{u A=k,1U=k.11.6r||k.11.52.N;m.1R(1U,\'7H\',B(){q(m.2q!=A.S)A.3d()})}1l(e){}q(m.1L&&1t k.4z!=\'ce\')k.11.F.K=(k.3i-1)+\'E\'}q(m.3B&&m.3B==k.a)m.3B=I;k.ax();u p=m.3k,6I=m.5R.x+p.5T,6D=m.5R.y+p.5U;k.6x=k.x.H<6I&&6I<k.x.H+k.x.1b(\'1K\')&&k.y.H<6D&&6D<k.y.H+k.y.1b(\'1K\');q(k.1z)k.9N()},ax:B(){u S=k.S;u 1x=k.1x;1w m.4L(1x,B(){1m{m.P[S].9h()}1l(e){}})},9h:B(){u 1M=k.6B(1);q(1M&&1M.2M.9C().2Z(/m\\.53/))u 1v=m.14(\'1v\',{T:m.5m(1M)})},6B:B(2w){u 9B=k.9A(),as=m.5K.3m[k.4h||\'24\'];D(as&&as[9B+2w])||I},9A:B(){u 1P=m.4Z().3m[k.4h||\'24\'];q(1P)W(u i=0;i<1P.1c;i++){q(1P[i]==k.a)D i}D I},6w:B(){m.3j(k.Y);m.P[k.S]=I;q(k.21)m.21.F.1f=\'-3R\'},a0:B(){k.7e=m.14(\'a\',{2v:m.9y,2j:m.9E,1p:\'U-7e\',2n:m.1e.ag,2u:m.1e.9F});k.4W({60:k.7e,1d:k.9K||\'18 1f\'})},77:B(7X,9x){W(u i=0;i<7X.1c;i++){u R=7X[i],s=I;q(!k[R+\'43\']&&k.6b)k[R+\'43\']=R+\'-W-\'+k.6b;q(k[R+\'43\'])k[R]=m.3z(k[R+\'43\']);q(!k[R]&&!k[R+\'7Z\']&&k[R+\'9I\'])1m{s=d4(k[R+\'9I\'])}1l(e){}q(!k[R]&&k[R+\'7Z\']){s=k[R+\'7Z\']}q(!k[R]&&!s){k[R]=m.3z(k.a[\'9G\'+R+\'43\']);q(!k[R]){u 1M=k.a.9H;3T(1M&&!m.5W(1M)){q((1w 5P(\'U-\'+R)).16(1M.1p||I)){q(!1M.1j)k.a[\'9G\'+R+\'43\']=1M.1j=\'2F\'+m.4y++;k[R]=m.3z(1M.1j);7N}1M=1M.9H}}}q(!k[R]&&s)k[R]=m.14(\'1i\',{1p:\'U-\'+R,2n:s});q(9x&&k[R]){u o={1d:(R==\'66\')?\'4U\':\'6a\'};W(u x 3A k[R+\'9w\'])o[x]=k[R+\'9w\'][x];o.60=k[R];k.4W(o)}}},4a:B(1q){q(m.9m)k.5a(\'d5\',1q);q(m.9l)k.5a(\'de\',1q);q(m.7V)k.5a(\'*\',1q)},5a:B(4c,1q){u 1k=N.3x(4c);u 1a=4c==\'*\'?\'1W\':\'1q\';W(u i=0;i<1k.1c;i++){q(1a==\'1q\'||(N.87.9k(1k[i],"").9i(\'1W\')==\'1H\'||1k[i].9j(\'1n-by\')!=I)){u 23=1k[i].9j(\'1n-by\');q(1q==\'2l\'&&23){23=23.2i(\'[\'+k.S+\']\',\'\');1k[i].4N(\'1n-by\',23);q(!23)1k[i].F[1a]=1k[i].7q}L q(1q==\'1n\'){u 2T=m.85(1k[i]);2T.w=1k[i].2e;2T.h=1k[i].1I;u 9o=(2T.x+2T.w<k.x.1b(\'4w\')||2T.x>k.x.1b(\'4w\')+k.x.1b(\'88\'));u 9p=(2T.y+2T.h<k.y.1b(\'4w\')||2T.y>k.y.1b(\'4w\')+k.y.1b(\'88\'));u 5c=m.7S(1k[i]);q(!9o&&!9p&&5c!=k.S){q(!23){1k[i].4N(\'1n-by\',\'[\'+k.S+\']\');1k[i].7q=1k[i].F[1a];1k[i].F[1a]=\'1n\'}L q(23.9v(\'[\'+k.S+\']\')==-1){1k[i].4N(\'1n-by\',23+\'[\'+k.S+\']\')}}L q((23==\'[\'+k.S+\']\'||m.2q==5c)&&5c!=k.S){1k[i].4N(\'1n-by\',\'\');1k[i].F[1a]=1k[i].7q||\'\'}L q(23&&23.9v(\'[\'+k.S+\']\')>-1){1k[i].4N(\'1n-by\',23.2i(\'[\'+k.S+\']\',\'\'))}}}}},3d:B(){k.Y.F.1u=m.4l+=2;W(u i=0;i<m.P.1c;i++){q(m.P[i]&&i==m.2q){u 4f=m.P[i];4f.O.1p+=\' U-\'+4f.2B+\'-7s\';q(4f.2o){4f.O.F.3L=m.3F?\'9q\':\'5w\';4f.O.2u=m.1e.9s}}}q(k.1o)k.1o.2m.F.1u=k.Y.F.1u-1;k.O.1p=\'U-\'+k.2B;q(k.2o){k.O.2u=m.1e.7h;q(m.4E){m.4i=1y.30?\'5w\':\'6X(\'+m.56+m.4E+\'), 5w\';q(m.3F&&m.26<6)m.4i=\'9q\';k.O.F.3L=m.4i}}m.2q=k.S;m.1R(N,1y.30?\'5i\':\'5h\',m.4D)},7x:B(x,y){k.x.7j(x);k.y.7j(y)},3q:B(e){u w,h,r=e.K/e.M;w=1r.7l(e.K+e.5q,1r.2L(k.3O,k.x.Z));q(k.2o&&1r.7u(w-k.x.Z)<12)w=k.x.Z;h=k.1Z?e.M+e.5r:w/r;q(h<1r.2L(k.4s,k.y.Z)){h=1r.2L(k.4s,k.y.Z);q(k.2o)w=h*r}k.7G(w,h)},7G:B(w,h){k.y.7J(h);k.x.7J(w);k.Y.F.M=k.y.1b(\'1K\')+\'E\'},28:B(){q(k.4z||!k.4e)D;k.4z=J;m.4g(N,1y.30?\'5i\':\'5h\',m.4D);1m{q(k.1Z)k.a5();k.O.F.3L=\'d1\';k.7z(0,{Y:{K:k.x.t,M:k.y.t,1f:k.x.1A-k.x.cb+k.x.2s,18:k.y.1A-k.y.cb+k.y.2s},O:{1f:0,18:0,K:k.x.t,M:k.y.t}},m.a7)}1l(e){k.7A()}},a5:B(){q(m.7V){q(!m.57)m.57=m.14(\'1i\',I,{1d:\'22\'},m.1S);m.Q(m.57,{K:k.x.G+\'E\',M:k.y.G+\'E\',1f:k.x.H+\'E\',18:k.y.H+\'E\',1O:\'4H\'})}q(k.2f==\'3c\')1m{m.$(k.V.1j).cN()}1l(e){}q(k.31==\'4O\'&&!k.48)k.a4();q(k.2c&&k.2c!=k.4p)k.2c.F.1W=\'1n\'},a4:B(){q(m.1L&&k.11)1m{k.11.52.N.V.2n=\'\'}1l(e){}q(k.2f==\'3c\')7D.cO(k.V.1j);k.V.2n=\'\'},9S:B(){q(k.1o)k.1o.2m.F.1O=\'24\';k.2W=I;k.Y.F.1O=\'24\';k.4e=1h;m.20(m.3C,k)},a8:B(){1m{m.P[k.S]=k;q(!m.7m&&m.2q!=k.S){1m{m.P[m.2q].28()}1l(e){}}u z=m.4l++,4A={1O:\'\',1u:z};m.Q(k.Y,4A);k.4z=1h;u o=k.1o||0;q(o){q(!k.3g)4A.1q=\'1n\';m.Q(o.2m,4A)}k.7M()}1l(e){}},4W:B(o){u C=o.60;q(1t C==\'7L\')C=m.3z(C);q(o.2Q)C=m.14(\'1i\',{2n:o.2Q});q(!C||1t C==\'7L\')D;C.F.1O=\'4H\';k.9Q();u K=o.K&&/^[0-9]+(E|%)$/.16(o.K)?o.K:\'1H\';q(/^(1f|2G)73$/.16(o.1d)&&!/^[0-9]+E$/.16(o.K))K=\'cG\';u 19=m.14(\'1i\',{1j:\'2F\'+m.4y++,2F:o.2F},{1d:\'22\',1q:\'1n\',K:K,8b:m.1e.89||\'\',1B:0},k.1z,J);19.1G(C);m.3e(19,{1B:1,a9:0,ae:0,3b:(o.7U===0||o.7U===1h||(o.7U==2&&m.1L))?0:6j});m.3e(19,o);q(k.9R){k.5p(19);q(!19.5Z||k.6x)m.41(19,{1B:19.1B},19.3b)}m.20(k.1Q,m.4y-1)},5p:B(19){u p=19.1d||\'6q 6H\',64=19.a9,62=19.ae;q(19.3a!=k.1z)k.1z.1G(19);q(/1f$/.16(p))19.F.1f=64+\'E\';q(/6H$/.16(p))m.Q(19,{1f:\'50%\',4j:(64-1r.5Y(19.2e/2))+\'E\'});q(/2G$/.16(p))19.F.2G=-64+\'E\';q(/^ad$/.16(p)){m.Q(19,{2G:\'2A%\',6m:k.x.cb+\'E\',18:-k.y.cb+\'E\',3E:-k.y.cb+\'E\',1W:\'1H\'});k.x.1V=19.2e}L q(/^ac$/.16(p)){m.Q(19,{1f:\'2A%\',4j:k.x.cb+\'E\',18:-k.y.cb+\'E\',3E:-k.y.cb+\'E\',1W:\'1H\'});k.x.2U=19.2e}q(/^18/.16(p))19.F.18=62+\'E\';q(/^6q/.16(p))m.Q(19,{18:\'50%\',3N:(62-1r.5Y(19.1I/2))+\'E\'});q(/^3E/.16(p))19.F.3E=-62+\'E\';q(/^4U$/.16(p)){m.Q(19,{1f:(-k.x.1V-k.x.cb)+\'E\',2G:(-k.x.2U-k.x.cb)+\'E\',3E:\'2A%\',6f:k.y.cb+\'E\',K:\'1H\'});k.y.1V=19.1I}L q(/^6a$/.16(p)){m.Q(19,{1d:\'3K\',1f:(-k.x.1V-k.x.cb)+\'E\',2G:(-k.x.2U-k.x.cb)+\'E\',18:\'2A%\',3N:k.y.cb+\'E\',K:\'1H\'});k.y.2U=19.1I;19.F.1d=\'22\'}},aa:B(){k.77([\'66\',\'cP\'],J);q(k.66&&k.7b)k.66.1p+=\' U-3I\';q(m.a1)k.a0();W(u i=0;i<m.1Q.1c;i++){u o=m.1Q[i],63=o.6O,6d=o.4h;q((!63&&!6d)||(63&&63==k.6b)||(6d&&6d===k.4h)){q(k.2o||(k.1Z&&o.cQ))k.4W(o)}}u 6g=[];W(u i=0;i<k.1Q.1c;i++){u o=m.$(\'2F\'+k.1Q[i]);q(/73$/.16(o.1d))k.5p(o);L m.20(6g,o)}W(u i=0;i<6g.1c;i++)k.5p(6g[i]);k.9R=J},9Q:B(){q(!k.1z)k.1z=m.14(\'1i\',{1p:k.78},{1d:\'22\',K:(k.x.G||(k.2K?k.K:I)||k.x.Z)+\'E\',M:(k.y.G||k.y.Z)+\'E\',1q:\'1n\',1W:\'1n\',1u:m.1L?4:\'1H\'},m.1S,J)},4m:B(74,9P){u 1z=k.1z,x=k.x,y=k.y;m.Q(1z,{K:x.G+\'E\',M:y.G+\'E\'});q(74||9P){W(u i=0;i<k.1Q.1c;i++){u o=m.$(\'2F\'+k.1Q[i]);u 72=(m.3F||N.5G==\'6M\');q(o&&/^(4U|6a)$/.16(o.1d)){q(72){o.F.K=(1z.2e+2*x.cb+x.1V+x.2U)+\'E\'}y[o.1d==\'4U\'?\'1V\':\'2U\']=o.1I}q(o&&72&&/^(1f|2G)73$/.16(o.1d)){o.F.M=(1z.1I+2*y.cb)+\'E\'}}}q(74){m.Q(k.O,{18:y.1V+\'E\'});m.Q(1z,{18:(y.1V+y.cb)+\'E\'})}},9N:B(){u b=k.1z;b.1p=\'\';m.Q(b,{18:(k.y.1V+k.y.cb)+\'E\',1f:(k.x.1V+k.x.cb)+\'E\',1W:\'2l\'});q(m.4X)b.F.1q=\'2l\';k.Y.1G(b);W(u i=0;i<k.1Q.1c;i++){u o=m.$(\'2F\'+k.1Q[i]);o.F.1u=o.1u||4;q(!o.5Z||k.6x){o.F.1q=\'2l\';m.Q(o,{1q:\'2l\',1O:\'\'});m.41(o,{1B:o.1B},o.3b)}}},9V:B(){q(!k.1Q.1c)D;q(k.1Z&&k.48){k.1z.F.18=\'-3R\';m.1S.1G(k.1z)}L m.3j(k.1z)},9W:B(){k.69=m.14(\'a\',{2v:\'9X:m.P[\'+k.S+\'].7i();\',2u:m.1e.9Y,1p:\'U-Z-53\'});k.4W({60:k.69,1d:m.9Z,5Z:J,1B:m.9U})},7i:B(){1m{q(k.69)m.3j(k.69);k.3d();u 2r=k.x.G,2N=k.y.G;k.7G(k.x.Z,k.y.Z);u 6k=k.x.H-(k.x.G-2r)/2;q(6k<m.4j)6k=m.4j;u 6c=k.y.H-(k.y.G-2N)/2;q(6c<m.3N)6c=m.3N;k.7x(6k,6c);k.4a(\'1n\')}1l(e){k.7w(e)}},7A:B(){k.a.1p=k.a.1p.2i(\'U-9T-9O\',\'\');k.4a(\'2l\');q(k.1Z&&k.48){k.9S()}L{q(k.1o&&k.3g)k.1o.5l();m.3j(k.Y)}q(m.57)m.57.F.1O=\'24\';m.P[k.S]=I;m.ab()}};m.5j=B(a,O,5L){k.a=a;k.O=O;k.5L=5L};m.5j.54={7y:B(){u 2b;q(!k.T)k.T=m.5m(k.a);q(k.T.2Z(\'#\')){u 1P=k.T.az(\'#\');k.T=1P[0];k.1j=1P[1]}q(m.5J[k.T]){k.9D=m.5J[k.T];q(k.1j)k.7Y();L k.4Y();D}1m{2b=1w 9n()}1l(e){1m{2b=1w a6("bE.9L")}1l(e){1m{2b=1w a6("9M.9L")}1l(e){k.7v()}}}u 36=k;2b.bF=B(){q(36.2b.9r==4){q(36.1j)36.7Y();L 36.4Y()}};u T=k.T;k.2b=2b;q(m.bd)T=T.2i(/$/,(/\\?/.16(T)?\'&\':\'?\')+\'bz=\'+(1w 5s()).59());2b.ak(\'bA\',T,J);2b.9J(\'X-bP-bN\',\'9n\');2b.9J(\'bw-bj\',\'bk/x-bl-7O-be\');2b.bg(I)},7Y:B(){m.5N();u 3h=1y.30||m.9z?{T:\'bs:br\'}:I;k.11=m.14(\'11\',3h,{1d:\'22\',18:\'-3R\'},m.1S);k.4Y()},4Y:B(){u s=k.9D||k.2b.bq,5I;q(k.5L)m.5J[k.T]=s;q(!m.1L||m.26>=5.5){s=s.2i(1w 5P(\'<bn[^>]*>\',\'aB\'),\'\').2i(1w 5P(\'<aD[^>]*>.*?</aD>\',\'aB\'),\'\');q(k.11){u 1U=k.11.6r;q(!1U&&k.11.52)1U=k.11.52.N;q(!1U){u 36=k;4T(B(){36.4Y()},25);D}1U.ak();1U.bO(s);1U.28();1m{s=1U.6F(k.1j).2n}1l(e){1m{s=k.11.N.6F(k.1j).2n}1l(e){}}m.3j(k.11)}L{5I=/(<V[^>]*>|<\\/V>)/ba;q(5I.16(s))s=s.az(5I)[m.2Y?1:2]}}m.4d(k.O,\'5H\',\'U-V\').2n=s;k.2J();W(u x 3A k)k[x]=I}};m.5z=m.1e;u b6=m.4S;q(m.1L&&1y==1y.18){(B(){1m{N.44.aW(\'1f\')}1l(e){4T(aE.aX,50);D}m.3p()})()}m.1R(N,\'b9\',m.3p);m.1R(1y,\'7o\',m.3p);m.1R(N,\'3p\',B(){q(m.5v){u F=m.14(\'F\',{R:\'aK/79\'},I,N.3x(\'aQ\')[0]),a2=N.5G==\'6M\';B 5B(6U,6T){q(m.1L&&(m.26<9||a2)){u 3r=N.a3[N.a3.1c-1];q(1t(3r.5B)=="6W")3r.5B(6U,6T)}L{F.1G(N.bb(6U+" {"+6T+"}"))}}B cT(1a){D\'cS( ( ( cV = N.44.\'+1a+\' ? N.44.\'+1a+\' : N.V.\'+1a+\' ) ) + \\\'E\\\' );\'}q(m.5v)5B(\'.U 1v\',\'3L: 6X(\'+m.56+m.5v+\'), 5w !d0;\')}});m.1R(1y,\'3q\',B(){m.5y()});m.1R(N,\'6o\',B(e){m.5R={x:e.5Q,y:e.5f}});m.1R(N,\'7H\',m.7K);m.1R(N,\'9t\',m.7K);m.1R(N,\'3p\',m.4Z);m.1R(1y,\'7o\',m.9u);m.1R(1y,\'7o\',m.af)}',62,827,'||||||||||||||||||||this||hs||||if||||var||||||exp|function|el|return|px|style|size|pos|null|true|width|else|height|document|content|expanders|setStyles|type|key|src|highslide|body|for||wrapper|full||iframe|||createElement||test||top|overlay|prop|get|length|position|lang|left|innerContent|false|div|id|els|catch|try|hidden|outline|className|visibility|Math|offset|typeof|zIndex|img|new|outlineType|window|overlayBox|tpos|opacity|fx|node|params|dim|appendChild|auto|offsetHeight|case|wsize|ie|next|options|display|arr|overlays|addEventListener|container|imgSize|doc|p1|overflow|undefined|event|isHtml|push|loading|absolute|hiddenBy|none||uaVersion||close|td|dragArgs|xhr|scrollerDiv|ratio|offsetWidth|objectType|easing|to|replace|target|elem|visible|table|innerHTML|isImage|span|focusKey|xSize|tb|re|title|href|op|ajax|up|name|100|contentType|wh|image|minSize|hsId|right|ucwh|clearing|onLoad|useBox|min|onclick|ySize|custom|opt|html|val|args|elPos|p2|changed|releaseMask|graphic|ieLt9|match|opera|objectLoadTime||||func|pThis||||parentNode|dur|swf|focus|extend|hasDragged|outlineWhileAnimating|attribs|objectWidth|discardElement|page|styles|groups|class|step|ready|resize|last|scroll|timers|li|getExpander|duration|getElementsByTagName|marginMin|getNode|in|upcoming|sleeping|mediumContent|bottom|ieLt7|pendingOutlines|onload|move|objectHeight|relative|cursor|clone|marginTop|minWidth|unit|now|9999px|start|while|getParam|allowReduce|moveOnly|justify|end|images||animate|number|Id|documentElement|hDiff|navigator|cNode|preserveContent|parseInt|doShowHide|fitsize|tagName|getElementByClass|isExpanded|blurExp|removeEventListener|slideshowGroup|styleRestoreCursor|marginLeft|wDiff|zIndexCounter|sizeOverlayBox|ruler|cacheBindings|scrollingContent|htmls|parent|minHeight|showLoading|currentStyle|iDoc|opos|contentLoaded|idCounter|isClosing|stl|setPosition|filter|keyHandler|restoreCursor|all|fac|block|allowSizeReduction|uclt|before|Outline|padToMinWidth|setAttribute|after|preloadTheseImages|on|param|Expander|setTimeout|above|getParams|createOverlay|safari|loadHTML|getAnchors||cache|contentWindow|expand|prototype|matches|graphicsDir|mask|iebody|getTime|showHideElements|preloadTheseAjax|wrapperKey|curAnim|gotoEnd|clientY|topmostKey|keydown|keypress|Ajax|previousOrNext|destroy|getSrc|previous|self|positionOverlay|dX|dY|Date|Dimension|imgPad|expandCursor|pointer|toLowerCase|getPageSize|langDefaults|allowHeightReduction|addRule|kdeBugCorr|allowWidthReduction|clientSize|marginMax|compatMode|DIV|regBody|cachedGets|anchors|pre|expOnly|init|tr|RegExp|clientX|mouse|writeExtendedContent|scrollLeft|scrollTop|userAgent|isHsAnchor|maxWidth|round|hideOnMouseOut|overlayId|cloneNode|offY|tId|offX|preventDefault|heading|over|preloadFullImage|fullExpandLabel|below|thumbsUserSetId|ypos|sg|onLoadStarted|marginBottom|os|onReady|maincontent|250|xpos|relatedTarget|marginRight|continuePreloading|mousemove|srcElement|middle|contentDocument|overrides|parseFloat|calcExpanded|calcBorders|cancelLoading|mouseIsOver|calcThumb|padding|distance|getAdjacentAnchor|hasAlphaImageLoader|mY|cur|getElementById|offsetTop|center|mX|lt|maxsize|arrow|BackCompat|maxHeight|thumbnailId|ucrb|Click|hasMovedMin|correctIframeSize|dec|sel|margin|object|url|fitOverlayBox|isReady||numberOfImagesToPreload|ie6|panel|doWrapper||htmlGetSize|getInline|wrapperClassName|css|sizeDiff|dragByHeading|expandDuration|setObjContainerSize|credits|contentId|garbageBin|restoreTitle|doFullExpand|setPos|clones|max|allowMultipleInstances|topZ|load|hasFocused|origProp|preloadAjaxElement|blur|getCacheBinding|abs|onError|error|moveTo|run|changeSize|afterClose|openerTagNames|element|swfobject|getSelfRendered|adj|resizeTo|mousedown|swfOptions|setSize|mouseClickHandler|string|show|break|form|Create|update|loadingPos|getWrapperKey|location|fade|geckoMac|tbody|types|getElementContent|Text|state|connectOutline|cacheAjax|complete|startTime|getPosition|done|defaultView|osize|cssDirection|dragHandler|direction|wrapperMouseHandler|pageOrigin|Next|JS|Highslide|Play|525|Close|Pause|spacebar|slideshow|Previous|thumb|offsetParent|from|timerId|orig|transit|updateAnchors|call|replaceLang|offsetLeft|pageXOffset|_default|skin|contentWrapper|enableKeyListener|htmlExpand|pow|clickY|loadingTitle|ltr|detachEvent|clickX|loadingText|focusTopmost|easeInQuad|loadingOpacity|hasHtmlExpanders|preloadGraphic|clientWidth|moveText|moveTitle|switch|closeTitle|closeText|nextText|nextTitle|and|200|previousTitle|previousText|ul|resizeTitle|background|nopad|onGraphicLoad|alpha|appendTo||vis|tag|headingOverlay|hide|captionOverlay|rv|Move|preloadNext|getPropertyValue|getAttribute|getComputedStyle|hideIframes|hideSelects|XMLHttpRequest|clearsX|clearsY|hand|readyState|focusTitle|mouseup|preloadImages|indexOf|Overlay|addOverlay|creditsHref|ie6SSL|getAnchorIndex|current|toString|cachedGet|creditsTarget|creditsTitle|_|nextSibling|Eval|setRequestHeader|creditsPosition|XMLHTTP|Microsoft|showOverlays|anchor|doPanels|genOverlayBox|gotOverlays|sleep|active|fullExpandOpacity|destroyOverlays|createFullExpand|javascript|fullExpandTitle|fullExpandPosition|writeCredits|showCredits|backCompat|styleSheets|destroyObject|htmlPrepareClose|ActiveXObject|restoreDuration|awake|offsetX|getOverlays|reOrder|rightpanel|leftpanel|offsetY|preloadAjax|creditsText|KDE|vendor|removeChild|open|flashvars|fadeInOut|easingClose|tmpMin|border|htmlSizeOperations|clear||getIframePageHeight|newHeight|hasExtendedContent|both|prepareNextOutline|attributes|split|correctRatio|gi|afterExpand|script|arguments|wmode|captionEval|Use|keyCode|button|text|drag|headingId|graphics|_self|shadow|HEAD|click|drop|keys|header|htmlE|doScroll|callee|returnValue|outlineStartOffset|footer|registerOverlay|http|headingText|com|captionId|HsExpander|xpand|fullExpandText|DOMContentLoaded|ig|createTextNode|captionText|forceAjaxReload|urlencoded|pageYOffset|send|white|Gecko|Type|application|www|innerHeight|link|toUpperCase|removeAttribute|responseText|blank|about|1001|clientHeight|innerWidth|Content|Macintosh||dummy|GET|zoomout|maincontentText|maincontentId|Msxml2|onreadystatechange|zoomin|maincontentEval|oPos|it|ra|Safari|Trident|With|write|Requested|headingEval|pauseTitle|tgt|actual|rb|Bottom|tgtArr|Expand|300|nodeName|insertBefore|front|Right|Top|AlphaImageLoader|DXImageTransform|progid|Powered|sizingMethod|scale|Left||Height|Width|boolean|allowSimultaneousLoading|onmouseover|flushImgSize|transparent|embedSWF|version|htmlCreate|flash|newWidth|Loading|static|frameborder|oncontextmenu|blockRightClick|Line|alert|debug|onmouseout|lineNumber|message|imageCreate|cancel|bring|expressInstallSwfurl|01|png|paddingTop|200px|https|protocol|1px|linearTween|outlines|pauseText|StopPlay|removeSWF|caption|useOnHtml|dragSensitivity|expression|fix|sqrt|ignoreMe|mouseover|attachEvent|toElement|fromElement|important|default|playTitle|Go|eval|SELECT|the|cellSpacing|borderCollapse|outlinesDir|fontSize|lineHeight|collapse|playText|IFRAME|clearInterval|homepage|splice|esc|Resize|setInterval'.split('|'),0,{})) diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css new file mode 100644 index 000000000..e4b60ee3f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css @@ -0,0 +1,889 @@ +/** +* @file: highslide.css +* @version: 4.1.13 +*/ +.highslide-container div { + font-family: Verdana, Helvetica; + font-size: 10pt; +} +.highslide-container table { + background: none; +} +.highslide { + outline: none; + text-decoration: none; +} +.highslide img { + border: 2px solid silver; +} +.highslide:hover img { + border-color: gray; +} +.highslide-active-anchor img { + visibility: hidden; +} +.highslide-gallery .highslide-active-anchor img { + border-color: black; + visibility: visible; + cursor: default; +} +.highslide-image { + border-width: 2px; + border-style: solid; + border-color: white; +} +.highslide-wrapper, .highslide-outline { + background: white; +} +.glossy-dark { + background: #111; +} + +.highslide-image-blur { +} +.highslide-number { + font-weight: bold; + color: gray; + font-size: .9em; +} +.highslide-caption { + display: none; + font-size: 1em; + padding: 5px; + /*background: white;*/ +} +.highslide-heading { + display: none; + font-weight: bold; + margin: 0.4em; +} +.highslide-dimming { + /*position: absolute;*/ + background: black; +} +a.highslide-full-expand { + background: url(graphics/fullexpand.gif) no-repeat; + display: block; + margin: 0 10px 10px 0; + width: 34px; + height: 34px; +} +.highslide-loading { + display: block; + color: black; + font-size: 9px; + font-weight: bold; + text-transform: uppercase; + text-decoration: none; + padding: 3px; + border: 1px solid white; + background-color: white; + padding-left: 22px; + background-image: url(graphics/loader.white.gif); + background-repeat: no-repeat; + background-position: 3px 1px; +} +a.highslide-credits, +a.highslide-credits i { + padding: 2px; + color: silver; + text-decoration: none; + font-size: 10px; +} +a.highslide-credits:hover, +a.highslide-credits:hover i { + color: white; + background-color: gray; +} +.highslide-move, .highslide-move * { + cursor: move; +} + +.highslide-viewport { + display: none; + position: fixed; + width: 100%; + height: 100%; + z-index: 10001; + background: none; + left: 0; + top: 0; +} +.highslide-overlay { + display: none; +} +.hidden-container { + display: none; +} +/* Example of a semitransparent, offset closebutton */ +.closebutton { + position: relative; + top: -15px; + left: 15px; + width: 30px; + height: 30px; + cursor: pointer; + background: url(graphics/close.png); + /* NOTE! For IE6, you also need to update the highslide-ie6.css file. */ +} + +/*****************************************************************************/ +/* Thumbnail boxes for the galleries. */ +/* Remove these if you are not using a gallery. */ +/*****************************************************************************/ +.highslide-gallery ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.highslide-gallery ul li { + display: block; + position: relative; + float: left; + width: 106px; + height: 106px; + border: 1px solid silver; + background: #ededed; + margin: 2px; + padding: 0; + line-height: 0; + overflow: hidden; +} +.highslide-gallery ul a { + position: absolute; + top: 50%; + left: 50%; +} +.highslide-gallery ul img { + position: relative; + top: -50%; + left: -50%; +} +html>/**/body .highslide-gallery ul li { + display: table; + text-align: center; +} +html>/**/body .highslide-gallery ul li { + text-align: center; +} +html>/**/body .highslide-gallery ul a { + position: static; + display: table-cell; + vertical-align: middle; +} +html>/**/body .highslide-gallery ul img { + position: static; +} + +/*****************************************************************************/ +/* Controls for the galleries. */ +/* Remove these if you are not using a gallery */ +/*****************************************************************************/ +.highslide-controls { + width: 195px; + height: 40px; + background: url(graphics/controlbar-white.gif) 0 -90px no-repeat; + margin: 20px 15px 10px 0; +} +.highslide-controls ul { + position: relative; + left: 15px; + height: 40px; + list-style: none; + margin: 0; + padding: 0; + background: url(graphics/controlbar-white.gif) right -90px no-repeat; + +} +.highslide-controls li { + float: left; + padding: 5px 0; + margin:0; + list-style: none; +} +.highslide-controls a { + background-image: url(graphics/controlbar-white.gif); + display: block; + float: left; + height: 30px; + width: 30px; + outline: none; +} +.highslide-controls a.disabled { + cursor: default; +} +.highslide-controls a.disabled span { + cursor: default; +} +.highslide-controls a span { + /* hide the text for these graphic buttons */ + display: none; + cursor: pointer; +} + + +/* The CSS sprites for the controlbar - see http://www.google.com/search?q=css+sprites */ +.highslide-controls .highslide-previous a { + background-position: 0 0; +} +.highslide-controls .highslide-previous a:hover { + background-position: 0 -30px; +} +.highslide-controls .highslide-previous a.disabled { + background-position: 0 -60px !important; +} +.highslide-controls .highslide-play a { + background-position: -30px 0; +} +.highslide-controls .highslide-play a:hover { + background-position: -30px -30px; +} +.highslide-controls .highslide-play a.disabled { + background-position: -30px -60px !important; +} +.highslide-controls .highslide-pause a { + background-position: -60px 0; +} +.highslide-controls .highslide-pause a:hover { + background-position: -60px -30px; +} +.highslide-controls .highslide-next a { + background-position: -90px 0; +} +.highslide-controls .highslide-next a:hover { + background-position: -90px -30px; +} +.highslide-controls .highslide-next a.disabled { + background-position: -90px -60px !important; +} +.highslide-controls .highslide-move a { + background-position: -120px 0; +} +.highslide-controls .highslide-move a:hover { + background-position: -120px -30px; +} +.highslide-controls .highslide-full-expand a { + background-position: -150px 0; +} +.highslide-controls .highslide-full-expand a:hover { + background-position: -150px -30px; +} +.highslide-controls .highslide-full-expand a.disabled { + background-position: -150px -60px !important; +} +.highslide-controls .highslide-close a { + background-position: -180px 0; +} +.highslide-controls .highslide-close a:hover { + background-position: -180px -30px; +} + +/*****************************************************************************/ +/* Styles for the HTML popups */ +/* Remove these if you are not using Highslide HTML */ +/*****************************************************************************/ +.highslide-maincontent { + display: none; +} +.highslide-html { + background-color: white; +} +.mobile .highslide-html { + border: 1px solid silver; +} +.highslide-html-content { + display: none; + width: 400px; + padding: 0 5px 5px 5px; +} +.highslide-header { + padding-bottom: 5px; +} +.highslide-header ul { + margin: 0; + padding: 0; + text-align: right; +} +.highslide-header ul li { + display: inline; + padding-left: 1em; +} +.highslide-header ul li.highslide-previous, .highslide-header ul li.highslide-next { + display: none; +} +.highslide-header a { + font-weight: bold; + color: gray; + text-transform: uppercase; + text-decoration: none; +} +.highslide-header a:hover { + color: black; +} +.highslide-header .highslide-move a { + cursor: move; +} +.highslide-footer { + height: 16px; +} +.highslide-footer .highslide-resize { + display: block; + float: right; + margin-top: 5px; + height: 11px; + width: 11px; + background: url(graphics/resize.gif) no-repeat; +} +.highslide-footer .highslide-resize span { + display: none; +} +.highslide-body { +} +.highslide-resize { + cursor: nw-resize; +} + +/*****************************************************************************/ +/* Styles for the Individual wrapper class names. */ +/* See www.highslide.com/ref/hs.wrapperClassName */ +/* You can safely remove the class name themes you don't use */ +/*****************************************************************************/ + +/* hs.wrapperClassName = 'draggable-header' */ +.draggable-header .highslide-header { + height: 18px; + border-bottom: 1px solid #dddddd; +} +.draggable-header .highslide-heading { + position: absolute; + margin: 2px 0.4em; +} + +.draggable-header .highslide-header .highslide-move { + cursor: move; + display: block; + height: 16px; + position: absolute; + right: 24px; + top: 0; + width: 100%; + z-index: 10001; +} +.draggable-header .highslide-header .highslide-move * { + display: none; +} +.draggable-header .highslide-header .highslide-close { + position: absolute; + right: 2px; + top: 2px; + z-index: 10005; + padding: 0; +} +.draggable-header .highslide-header .highslide-close a { + display: block; + height: 16px; + width: 16px; + background-image: url(graphics/closeX.png); +} +.draggable-header .highslide-header .highslide-close a:hover { + background-position: 0 16px; +} +.draggable-header .highslide-header .highslide-close span { + display: none; +} +.draggable-header .highslide-maincontent { + padding-top: 1em; +} + +/* hs.wrapperClassName = 'titlebar' */ +.titlebar .highslide-header { + height: 18px; + border-bottom: 1px solid #dddddd; +} +.titlebar .highslide-heading { + position: absolute; + width: 90%; + margin: 1px 0 1px 5px; + color: #666666; +} + +.titlebar .highslide-header .highslide-move { + cursor: move; + display: block; + height: 16px; + position: absolute; + right: 24px; + top: 0; + width: 100%; + z-index: 10001; +} +.titlebar .highslide-header .highslide-move * { + display: none; +} +.titlebar .highslide-header li { + position: relative; + top: 3px; + z-index: 10002; + padding: 0 0 0 1em; +} +.titlebar .highslide-maincontent { + padding-top: 1em; +} + +/* hs.wrapperClassName = 'no-footer' */ +.no-footer .highslide-footer { + display: none; +} + +/* hs.wrapperClassName = 'wide-border' */ +.wide-border { + background: white; +} +.wide-border .highslide-image { + border-width: 10px; +} +.wide-border .highslide-caption { + padding: 0 10px 10px 10px; +} + +/* hs.wrapperClassName = 'borderless' */ +.borderless .highslide-image { + border: none; +} +.borderless .highslide-caption { + border-bottom: 1px solid white; + border-top: 1px solid white; + background: silver; +} + +/* hs.wrapperClassName = 'outer-glow' */ +.outer-glow { + background: #444; +} +.outer-glow .highslide-image { + border: 5px solid #444444; +} +.outer-glow .highslide-caption { + border: 5px solid #444444; + border-top: none; + padding: 5px; + background-color: gray; +} + +/* hs.wrapperClassName = 'colored-border' */ +.colored-border { + background: white; +} +.colored-border .highslide-image { + border: 2px solid green; +} +.colored-border .highslide-caption { + border: 2px solid green; + border-top: none; +} + +/* hs.wrapperClassName = 'dark' */ +.dark { + background: #111; +} +.dark .highslide-image { + border-color: black black #202020 black; + background: gray; +} +.dark .highslide-caption { + color: white; + background: #111; +} +.dark .highslide-controls, +.dark .highslide-controls ul, +.dark .highslide-controls a { + background-image: url(graphics/controlbar-black-border.gif); +} + +/* hs.wrapperClassName = 'floating-caption' */ +.floating-caption .highslide-caption { + position: absolute; + padding: 1em 0 0 0; + background: none; + color: white; + border: none; + font-weight: bold; +} + +/* hs.wrapperClassName = 'controls-in-heading' */ +.controls-in-heading .highslide-heading { + color: gray; + font-weight: bold; + height: 20px; + overflow: hidden; + cursor: default; + padding: 0 0 0 22px; + margin: 0; + background: url(graphics/icon.gif) no-repeat 0 1px; +} +.controls-in-heading .highslide-controls { + width: 105px; + height: 20px; + position: relative; + margin: 0; + top: -23px; + left: 7px; + background: none; +} +.controls-in-heading .highslide-controls ul { + position: static; + height: 20px; + background: none; +} +.controls-in-heading .highslide-controls li { + padding: 0; +} +.controls-in-heading .highslide-controls a { + background-image: url(graphics/controlbar-white-small.gif); + height: 20px; + width: 20px; +} + +.controls-in-heading .highslide-controls .highslide-move { + display: none; +} + +.controls-in-heading .highslide-controls .highslide-previous a { + background-position: 0 0; +} +.controls-in-heading .highslide-controls .highslide-previous a:hover { + background-position: 0 -20px; +} +.controls-in-heading .highslide-controls .highslide-previous a.disabled { + background-position: 0 -40px !important; +} +.controls-in-heading .highslide-controls .highslide-play a { + background-position: -20px 0; +} +.controls-in-heading .highslide-controls .highslide-play a:hover { + background-position: -20px -20px; +} +.controls-in-heading .highslide-controls .highslide-play a.disabled { + background-position: -20px -40px !important; +} +.controls-in-heading .highslide-controls .highslide-pause a { + background-position: -40px 0; +} +.controls-in-heading .highslide-controls .highslide-pause a:hover { + background-position: -40px -20px; +} +.controls-in-heading .highslide-controls .highslide-next a { + background-position: -60px 0; +} +.controls-in-heading .highslide-controls .highslide-next a:hover { + background-position: -60px -20px; +} +.controls-in-heading .highslide-controls .highslide-next a.disabled { + background-position: -60px -40px !important; +} +.controls-in-heading .highslide-controls .highslide-full-expand a { + background-position: -100px 0; +} +.controls-in-heading .highslide-controls .highslide-full-expand a:hover { + background-position: -100px -20px; +} +.controls-in-heading .highslide-controls .highslide-full-expand a.disabled { + background-position: -100px -40px !important; +} +.controls-in-heading .highslide-controls .highslide-close a { + background-position: -120px 0; +} +.controls-in-heading .highslide-controls .highslide-close a:hover { + background-position: -120px -20px; +} + +/*****************************************************************************/ +/* Styles for text based controls. */ +/* You can safely remove this if you don't use text based controls */ +/*****************************************************************************/ + +.text-controls .highslide-controls { + width: auto; + height: auto; + margin: 0; + text-align: center; + background: none; +} +.text-controls ul { + position: static; + background: none; + height: auto; + left: 0; +} +.text-controls .highslide-move { + display: none; +} +.text-controls li { + background-image: url(graphics/controlbar-text-buttons.png); + background-position: right top !important; + padding: 0; + margin-left: 15px; + display: block; + width: auto; +} +.text-controls a { + background: url(graphics/controlbar-text-buttons.png) no-repeat; + background-position: left top !important; + position: relative; + left: -10px; + display: block; + width: auto; + height: auto; + text-decoration: none !important; +} +.text-controls a span { + background: url(graphics/controlbar-text-buttons.png) no-repeat; + margin: 1px 2px 1px 10px; + display: block; + min-width: 4em; + height: 18px; + line-height: 18px; + padding: 1px 0 1px 18px; + color: #333; + font-family: "Trebuchet MS", Arial, sans-serif; + font-size: 12px; + font-weight: bold; + white-space: nowrap; +} +.text-controls .highslide-next { + margin-right: 1em; +} +.text-controls .highslide-full-expand a span { + min-width: 0; + margin: 1px 0; + padding: 1px 0 1px 10px; +} +.text-controls .highslide-close a span { + min-width: 0; +} +.text-controls a:hover span { + color: black; +} +.text-controls a.disabled span { + color: #999; +} + +.text-controls .highslide-previous span { + background-position: 0 -40px; +} +.text-controls .highslide-previous a.disabled { + background-position: left top !important; +} +.text-controls .highslide-previous a.disabled span { + background-position: 0 -140px; +} +.text-controls .highslide-play span { + background-position: 0 -60px; +} +.text-controls .highslide-play a.disabled { + background-position: left top !important; +} +.text-controls .highslide-play a.disabled span { + background-position: 0 -160px; +} +.text-controls .highslide-pause span { + background-position: 0 -80px; +} +.text-controls .highslide-next span { + background-position: 0 -100px; +} +.text-controls .highslide-next a.disabled { + background-position: left top !important; +} +.text-controls .highslide-next a.disabled span { + background-position: 0 -200px; +} +.text-controls .highslide-full-expand span { + background: none; +} +.text-controls .highslide-full-expand a.disabled { + background-position: left top !important; +} +.text-controls .highslide-close span { + background-position: 0 -120px; +} + + +/*****************************************************************************/ +/* Styles for the thumbstrip. */ +/* See www.highslide.com/ref/hs.addSlideshow */ +/* You can safely remove this if you don't use a thumbstrip */ +/*****************************************************************************/ + +.highslide-thumbstrip { + height: 100%; + direction: ltr; +} +.highslide-thumbstrip div { + overflow: hidden; +} +.highslide-thumbstrip table { + position: relative; + padding: 0; + border-collapse: collapse; +} +.highslide-thumbstrip td { + padding: 1px; + /*text-align: center;*/ +} +.highslide-thumbstrip a { + outline: none; +} +.highslide-thumbstrip img { + display: block; + border: 1px solid gray; + margin: 0 auto; +} +.highslide-thumbstrip .highslide-active-anchor img { + visibility: visible; +} +.highslide-thumbstrip .highslide-marker { + position: absolute; + width: 0; + height: 0; + border-width: 0; + border-style: solid; + border-color: transparent; /* change this to actual background color in highslide-ie6.css */ +} +.highslide-thumbstrip-horizontal div { + width: auto; + /* width: 100% breaks in small strips in IE */ +} +.highslide-thumbstrip-horizontal .highslide-scroll-up { + display: none; + position: absolute; + top: 3px; + left: 3px; + width: 25px; + height: 42px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-up div { + margin-bottom: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) left center no-repeat; + height: 42px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-down { + display: none; + position: absolute; + top: 3px; + right: 3px; + width: 25px; + height: 42px; +} +.highslide-thumbstrip-horizontal .highslide-scroll-down div { + margin-bottom: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) center right no-repeat; + height: 42px; +} +.highslide-thumbstrip-horizontal table { + margin: 2px 0 10px 0; +} +.highslide-viewport .highslide-thumbstrip-horizontal table { + margin-left: 10px; +} +.highslide-thumbstrip-horizontal img { + width: auto; + height: 40px; +} +.highslide-thumbstrip-horizontal .highslide-marker { + top: 47px; + border-left-width: 6px; + border-right-width: 6px; + border-bottom: 6px solid gray; +} +.highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker { + margin-left: 10px; +} +.dark .highslide-thumbstrip-horizontal .highslide-marker, .highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker { + border-bottom-color: white !important; +} + +.highslide-thumbstrip-vertical-overlay { + overflow: hidden !important; +} +.highslide-thumbstrip-vertical div { + height: 100%; +} +.highslide-thumbstrip-vertical a { + display: block; +} +.highslide-thumbstrip-vertical .highslide-scroll-up { + display: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 25px; +} +.highslide-thumbstrip-vertical .highslide-scroll-up div { + margin-left: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) top center no-repeat; + height: 25px; +} +.highslide-thumbstrip-vertical .highslide-scroll-down { + display: none; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 25px; +} +.highslide-thumbstrip-vertical .highslide-scroll-down div { + margin-left: 10px; + cursor: pointer; + background: url(graphics/scrollarrows.png) bottom center no-repeat; + height: 25px; +} +.highslide-thumbstrip-vertical table { + margin: 10px 0 0 10px; +} +.highslide-thumbstrip-vertical img { + width: 60px; /* t=5481 */ +} +.highslide-thumbstrip-vertical .highslide-marker { + left: 0; + margin-top: 8px; + border-top-width: 6px; + border-bottom-width: 6px; + border-left: 6px solid gray; +} +.dark .highslide-thumbstrip-vertical .highslide-marker, .highslide-viewport .highslide-thumbstrip-vertical .highslide-marker { + border-left-color: white; +} + +.highslide-viewport .highslide-thumbstrip-float { + overflow: auto; +} +.highslide-thumbstrip-float ul { + margin: 2px 0; + padding: 0; +} +.highslide-thumbstrip-float li { + display: block; + height: 60px; + margin: 0 2px; + list-style: none; + float: left; +} +.highslide-thumbstrip-float img { + display: inline; + border-color: silver; + max-height: 56px; +} +.highslide-thumbstrip-float .highslide-active-anchor img { + border-color: black; +} +.highslide-thumbstrip-float .highslide-scroll-up div, .highslide-thumbstrip-float .highslide-scroll-down div { + display: none; +} +.highslide-thumbstrip-float .highslide-marker { + display: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js new file mode 100644 index 000000000..9c543a0b0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.js @@ -0,0 +1,1891 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if (!hs) { var hs = { +// Language strings +lang : { + cssDirection: 'ltr', + loadingText : 'Loading...', + loadingTitle : 'Click to cancel', + focusTitle : 'Click to bring to front', + fullExpandTitle : 'Expand to actual size (f)', + creditsText : 'Powered by <i>Highslide JS</i>', + creditsTitle : 'Go to the Highslide JS homepage', + restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.' +}, +// See http://highslide.com/ref for examples of settings +graphicsDir : 'highslide/graphics/', +expandCursor : 'zoomin.cur', // null disables +restoreCursor : 'zoomout.cur', // null disables +expandDuration : 250, // milliseconds +restoreDuration : 250, +marginLeft : 15, +marginRight : 15, +marginTop : 15, +marginBottom : 15, +zIndexCounter : 1001, // adjust to other absolutely positioned elements +loadingOpacity : 0.75, +allowMultipleInstances: true, +numberOfImagesToPreload : 5, +outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only +outlineStartOffset : 3, // ends at 10 +padToMinWidth : false, // pad the popup width to make room for wide caption +fullExpandPosition : 'bottom right', +fullExpandOpacity : 1, +showCredits : true, // you can set this to false if you want +creditsHref : 'http://highslide.com/', +creditsTarget : '_self', +enableKeyListener : true, +openerTagNames : ['a'], // Add more to allow slideshow indexing + +dragByHeading: true, +minWidth: 200, +minHeight: 200, +allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight +outlineType : 'drop-shadow', // set null to disable outlines +// END OF YOUR SETTINGS + + +// declare internal properties +preloadTheseImages : [], +continuePreloading: true, +expanders : [], +overrides : [ + 'allowSizeReduction', + 'useBox', + 'outlineType', + 'outlineWhileAnimating', + 'captionId', + 'captionText', + 'captionEval', + 'captionOverlay', + 'headingId', + 'headingText', + 'headingEval', + 'headingOverlay', + 'creditsPosition', + 'dragByHeading', + + 'width', + 'height', + + 'wrapperClassName', + 'minWidth', + 'minHeight', + 'maxWidth', + 'maxHeight', + 'pageOrigin', + 'slideshowGroup', + 'easing', + 'easingClose', + 'fadeInOut', + 'src' +], +overlays : [], +idCounter : 0, +oPos : { + x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'], + y: ['above', 'top', 'middle', 'bottom', 'below'] +}, +mouse: {}, +headingOverlay: {}, +captionOverlay: {}, +timers : [], + +pendingOutlines : {}, +clones : {}, +onReady: [], +uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : + parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]), +ie : (document.all && !window.opera), +//ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant? +safari : /Safari/.test(navigator.userAgent), +geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent), + +$ : function (id) { + if (id) return document.getElementById(id); +}, + +push : function (arr, val) { + arr[arr.length] = val; +}, + +createElement : function (tag, attribs, styles, parent, nopad) { + var el = document.createElement(tag); + if (attribs) hs.extend(el, attribs); + if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0}); + if (styles) hs.setStyles(el, styles); + if (parent) parent.appendChild(el); + return el; +}, + +extend : function (el, attribs) { + for (var x in attribs) el[x] = attribs[x]; + return el; +}, + +setStyles : function (el, styles) { + for (var x in styles) { + if (hs.ieLt9 && x == 'opacity') { + if (styles[x] > 0.99) el.style.removeAttribute('filter'); + else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')'; + } + else el.style[x] = styles[x]; + } +}, +animate: function(el, prop, opt) { + var start, + end, + unit; + if (typeof opt != 'object' || opt === null) { + var args = arguments; + opt = { + duration: args[2], + easing: args[3], + complete: args[4] + }; + } + if (typeof opt.duration != 'number') opt.duration = 250; + opt.easing = Math[opt.easing] || Math.easeInQuad; + opt.curAnim = hs.extend({}, prop); + for (var name in prop) { + var e = new hs.fx(el, opt , name ); + + start = parseFloat(hs.css(el, name)) || 0; + end = parseFloat(prop[name]); + unit = name != 'opacity' ? 'px' : ''; + + e.custom( start, end, unit ); + } +}, +css: function(el, prop) { + if (el.style[prop]) { + return el.style[prop]; + } else if (document.defaultView) { + return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); + + } else { + if (prop == 'opacity') prop = 'filter'; + var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })]; + if (prop == 'filter') + val = val.replace(/alpha\(opacity=([0-9]+)\)/, + function (a, b) { return b / 100 }); + return val === '' ? 1 : val; + } +}, + +getPageSize : function () { + var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' + ? d.documentElement : d.body, + ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined'); + + var width = ieLt9 ? iebody.clientWidth : + (d.documentElement.clientWidth || self.innerWidth), + height = ieLt9 ? iebody.clientHeight : self.innerHeight; + hs.page = { + width: width, + height: height, + scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset, + scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset + }; + return hs.page; +}, + +getPosition : function(el) { + var p = { x: el.offsetLeft, y: el.offsetTop }; + while (el.offsetParent) { + el = el.offsetParent; + p.x += el.offsetLeft; + p.y += el.offsetTop; + if (el != document.body && el != document.documentElement) { + p.x -= el.scrollLeft; + p.y -= el.scrollTop; + } + } + return p; +}, + +expand : function(a, params, custom, type) { + if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container); + if (typeof a.getParams == 'function') return params; + try { + new hs.Expander(a, params, custom); + return false; + } catch (e) { return true; } +}, + + +focusTopmost : function() { + var topZ = 0, + topmostKey = -1, + expanders = hs.expanders, + exp, + zIndex; + for (var i = 0; i < expanders.length; i++) { + exp = expanders[i]; + if (exp) { + zIndex = exp.wrapper.style.zIndex; + if (zIndex && zIndex > topZ) { + topZ = zIndex; + topmostKey = i; + } + } + } + if (topmostKey == -1) hs.focusKey = -1; + else expanders[topmostKey].focus(); +}, + +getParam : function (a, param) { + a.getParams = a.onclick; + var p = a.getParams ? a.getParams() : null; + a.getParams = null; + + return (p && typeof p[param] != 'undefined') ? p[param] : + (typeof hs[param] != 'undefined' ? hs[param] : null); +}, + +getSrc : function (a) { + var src = hs.getParam(a, 'src'); + if (src) return src; + return a.href; +}, + +getNode : function (id) { + var node = hs.$(id), clone = hs.clones[id], a = {}; + if (!node && !clone) return null; + if (!clone) { + clone = node.cloneNode(true); + clone.id = ''; + hs.clones[id] = clone; + return node; + } else { + return clone.cloneNode(true); + } +}, + +discardElement : function(d) { + if (d) hs.garbageBin.appendChild(d); + hs.garbageBin.innerHTML = ''; +}, +transit : function (adj, exp) { + var last = exp || hs.getExpander(); + exp = last; + if (hs.upcoming) return false; + else hs.last = last; + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + try { + hs.upcoming = adj; + adj.onclick(); + } catch (e){ + hs.last = hs.upcoming = null; + } + try { + exp.close(); + } catch (e) {} + return false; +}, + +previousOrNext : function (el, op) { + var exp = hs.getExpander(el); + if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp); + else return false; +}, + +previous : function (el) { + return hs.previousOrNext(el, -1); +}, + +next : function (el) { + return hs.previousOrNext(el, 1); +}, + +keyHandler : function(e) { + if (!e) e = window.event; + if (!e.target) e.target = e.srcElement; // ie + if (typeof e.target.form != 'undefined') return true; // form element has focus + var exp = hs.getExpander(); + + var op = null; + switch (e.keyCode) { + case 70: // f + if (exp) exp.doFullExpand(); + return true; + case 32: // Space + case 34: // Page Down + case 39: // Arrow right + case 40: // Arrow down + op = 1; + break; + case 8: // Backspace + case 33: // Page Up + case 37: // Arrow left + case 38: // Arrow up + op = -1; + break; + case 27: // Escape + case 13: // Enter + op = 0; + } + if (op !== null) {hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + if (!hs.enableKeyListener) return true; + + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + if (exp) { + if (op == 0) { + exp.close(); + } else { + hs.previousOrNext(exp.key, op); + } + return false; + } + } + return true; +}, + + +registerOverlay : function (overlay) { + hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } )); +}, + + +getWrapperKey : function (element, expOnly) { + var el, re = /^highslide-wrapper-([0-9]+)$/; + // 1. look in open expanders + el = element; + while (el.parentNode) { + if (el.id && re.test(el.id)) return el.id.replace(re, "$1"); + el = el.parentNode; + } + // 2. look in thumbnail + if (!expOnly) { + el = element; + while (el.parentNode) { + if (el.tagName && hs.isHsAnchor(el)) { + for (var key = 0; key < hs.expanders.length; key++) { + var exp = hs.expanders[key]; + if (exp && exp.a == el) return key; + } + } + el = el.parentNode; + } + } + return null; +}, + +getExpander : function (el, expOnly) { + if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null; + if (typeof el == 'number') return hs.expanders[el] || null; + if (typeof el == 'string') el = hs.$(el); + return hs.expanders[hs.getWrapperKey(el, expOnly)] || null; +}, + +isHsAnchor : function (a) { + return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/)); +}, + +reOrder : function () { + for (var i = 0; i < hs.expanders.length; i++) + if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost(); +}, + +mouseClickHandler : function(e) +{ + if (!e) e = window.event; + if (e.button > 1) return true; + if (!e.target) e.target = e.srcElement; + + var el = e.target; + while (el.parentNode + && !(/highslide-(image|move|html|resize)/.test(el.className))) + { + el = el.parentNode; + } + var exp = hs.getExpander(el); + if (exp && (exp.isClosing || !exp.isExpanded)) return true; + + if (exp && e.type == 'mousedown') { + if (e.target.form) return true; + var match = el.className.match(/highslide-(image|move|resize)/); + if (match) { + hs.dragArgs = { + exp: exp , + type: match[1], + left: exp.x.pos, + width: exp.x.size, + top: exp.y.pos, + height: exp.y.size, + clickX: e.clientX, + clickY: e.clientY + }; + + + hs.addEventListener(document, 'mousemove', hs.dragHandler); + if (e.preventDefault) e.preventDefault(); // FF + + if (/highslide-(image|html)-blur/.test(exp.content.className)) { + exp.focus(); + hs.hasFocused = true; + } + return false; + } + } else if (e.type == 'mouseup') { + + hs.removeEventListener(document, 'mousemove', hs.dragHandler); + + if (hs.dragArgs) { + if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') + hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor; + var hasDragged = hs.dragArgs.hasDragged; + + if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) { + exp.close(); + } + else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) { + hs.dragArgs.exp.doShowHide('hidden'); + } + hs.hasFocused = false; + hs.dragArgs = null; + + } else if (/highslide-image-blur/.test(el.className)) { + el.style.cursor = hs.styleRestoreCursor; + } + } + return false; +}, + +dragHandler : function(e) +{ + if (!hs.dragArgs) return true; + if (!e) e = window.event; + var a = hs.dragArgs, exp = a.exp; + + a.dX = e.clientX - a.clickX; + a.dY = e.clientY - a.clickY; + + var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2)); + if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) + || (distance > (hs.dragSensitivity || 5)); + + if (a.hasDragged && e.clientX > 5 && e.clientY > 5) { + + if (a.type == 'resize') exp.resize(a); + else { + exp.moveTo(a.left + a.dX, a.top + a.dY); + if (a.type == 'image') exp.content.style.cursor = 'move'; + } + } + return false; +}, + +wrapperMouseHandler : function (e) { + try { + if (!e) e = window.event; + var over = /mouseover/i.test(e.type); + if (!e.target) e.target = e.srcElement; // ie + if (!e.relatedTarget) e.relatedTarget = + over ? e.fromElement : e.toElement; // ie + var exp = hs.getExpander(e.target); + if (!exp.isExpanded) return; + if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp + || hs.dragArgs) return; + for (var i = 0; i < exp.overlays.length; i++) (function() { + var o = hs.$('hsId'+ exp.overlays[i]); + if (o && o.hideOnMouseOut) { + if (over) hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur); + } + })(); + } catch (e) {} +}, +addEventListener : function (el, event, func) { + if (el == document && event == 'ready') { + hs.push(hs.onReady, func); + } + try { + el.addEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + el.attachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = func; + } + } +}, + +removeEventListener : function (el, event, func) { + try { + el.removeEventListener(event, func, false); + } catch (e) { + try { + el.detachEvent('on'+ event, func); + } catch (e) { + el['on'+ event] = null; + } + } +}, + +preloadFullImage : function (i) { + if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') { + var img = document.createElement('img'); + img.onload = function() { + img = null; + hs.preloadFullImage(i + 1); + }; + img.src = hs.preloadTheseImages[i]; + } +}, +preloadImages : function (number) { + if (number && typeof number != 'object') hs.numberOfImagesToPreload = number; + + var arr = hs.getAnchors(); + for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) { + hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i])); + } + + // preload outlines + if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} ); + else + + hs.preloadFullImage(0); + + // preload cursor + if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor }); +}, + + +init : function () { + if (!hs.container) { + + hs.ieLt7 = hs.ie && hs.uaVersion < 7; + hs.ieLt9 = hs.ie && hs.uaVersion < 9; + + hs.getPageSize(); + for (var x in hs.langDefaults) { + if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x]; + else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') + hs.lang[x] = hs.langDefaults[x]; + } + + hs.container = hs.createElement('div', { + className: 'highslide-container' + }, { + position: 'absolute', + left: 0, + top: 0, + width: '100%', + zIndex: hs.zIndexCounter, + direction: 'ltr' + }, + document.body, + true + ); + hs.loading = hs.createElement('a', { + className: 'highslide-loading', + title: hs.lang.loadingTitle, + innerHTML: hs.lang.loadingText, + href: 'javascript:;' + }, { + position: 'absolute', + top: '-9999px', + opacity: hs.loadingOpacity, + zIndex: 1 + }, hs.container + ); + hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container); + + // http://www.robertpenner.com/easing/ + Math.linearTween = function (t, b, c, d) { + return c*t/d + b; + }; + Math.easeInQuad = function (t, b, c, d) { + return c*(t/=d)*t + b; + }; + + hs.hideSelects = hs.ieLt7; + hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' + || (hs.ieLt7 && hs.uaVersion < 5.5)); + } +}, +ready : function() { + if (hs.isReady) return; + hs.isReady = true; + for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i](); +}, + +updateAnchors : function() { + var el, els, all = [], images = [],groups = {}, re; + + for (var i = 0; i < hs.openerTagNames.length; i++) { + els = document.getElementsByTagName(hs.openerTagNames[i]); + for (var j = 0; j < els.length; j++) { + el = els[j]; + re = hs.isHsAnchor(el); + if (re) { + hs.push(all, el); + if (re[0] == 'hs.expand') hs.push(images, el); + var g = hs.getParam(el, 'slideshowGroup') || 'none'; + if (!groups[g]) groups[g] = []; + hs.push(groups[g], el); + } + } + } + hs.anchors = { all: all, groups: groups, images: images }; + return hs.anchors; + +}, + +getAnchors : function() { + return hs.anchors || hs.updateAnchors(); +}, + + +close : function(el) { + var exp = hs.getExpander(el); + if (exp) exp.close(); + return false; +} +}; // end hs object +hs.fx = function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if (!options.orig) options.orig = {}; +}; +hs.fx.prototype = { + update: function(){ + (hs.fx.step[this.prop] || hs.fx.step._default)(this); + + if (this.options.step) + this.options.step.call(this.elem, this.now, this); + + }, + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit;// || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && hs.timers.push(t) == 1 ) { + hs.timerId = setInterval(function(){ + var timers = hs.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval(hs.timerId); + } + }, 13); + } + }, + step: function(gotoEnd){ + var t = (new Date()).getTime(); + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if (this.options.complete) this.options.complete.call(this.elem); + } + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + this.pos = this.options.easing(n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + this.update(); + } + return true; + } + +}; + +hs.extend( hs.fx, { + step: { + + opacity: function(fx){ + hs.setStyles(fx.elem, { opacity: fx.now }); + }, + + _default: function(fx){ + try { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + else + fx.elem[ fx.prop ] = fx.now; + } catch (e) {} + } + } +}); + +hs.Outline = function (outlineType, onLoad) { + this.onLoad = onLoad; + this.outlineType = outlineType; + var v = hs.uaVersion, tr; + + this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7; + if (!outlineType) { + if (onLoad) onLoad(); + return; + } + + hs.init(); + this.table = hs.createElement( + 'table', { + cellSpacing: 0 + }, { + visibility: 'hidden', + position: 'absolute', + borderCollapse: 'collapse', + width: 0 + }, + hs.container, + true + ); + var tbody = hs.createElement('tbody', null, null, this.table, 1); + + this.td = []; + for (var i = 0; i <= 8; i++) { + if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true); + this.td[i] = hs.createElement('td', null, null, tr, true); + var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' }; + hs.setStyles(this.td[i], style); + } + this.td[4].className = outlineType +' highslide-outline'; + + this.preloadGraphic(); +}; + +hs.Outline.prototype = { +preloadGraphic : function () { + var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png"; + + var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null; + this.graphic = hs.createElement('img', null, { position: 'absolute', + top: '-9999px' }, appendTo, true); // for onload trigger + + var pThis = this; + this.graphic.onload = function() { pThis.onGraphicLoad(); }; + + this.graphic.src = src; +}, + +onGraphicLoad : function () { + var o = this.offset = this.graphic.width / 4, + pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]], + dim = { height: (2*o) +'px', width: (2*o) +'px' }; + for (var i = 0; i <= 8; i++) { + if (pos[i]) { + if (this.hasAlphaImageLoader) { + var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px'; + var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true); + hs.createElement ('div', null, { + filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')", + position: 'absolute', + width: w, + height: this.graphic.height +'px', + left: (pos[i][0]*o)+'px', + top: (pos[i][1]*o)+'px' + }, + div, + true); + } else { + hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'}); + } + + if (window.opera && (i == 3 || i ==5)) + hs.createElement('div', null, dim, this.td[i], true); + + hs.setStyles (this.td[i], dim); + } + } + this.graphic = null; + if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy(); + hs.pendingOutlines[this.outlineType] = this; + if (this.onLoad) this.onLoad(); +}, + +setPosition : function (pos, offset, vis, dur, easing) { + var exp = this.exp, + stl = exp.wrapper.style, + offset = offset || 0, + pos = pos || { + x: exp.x.pos + offset, + y: exp.y.pos + offset, + w: exp.x.get('wsize') - 2 * offset, + h: exp.y.get('wsize') - 2 * offset + }; + if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) + ? 'visible' : 'hidden'; + hs.setStyles(this.table, { + left: (pos.x - this.offset) +'px', + top: (pos.y - this.offset) +'px', + width: (pos.w + 2 * this.offset) +'px' + }); + + pos.w -= 2 * this.offset; + pos.h -= 2 * this.offset; + hs.setStyles (this.td[4], { + width: pos.w >= 0 ? pos.w +'px' : 0, + height: pos.h >= 0 ? pos.h +'px' : 0 + }); + if (this.hasAlphaImageLoader) this.td[3].style.height + = this.td[5].style.height = this.td[4].style.height; + +}, + +destroy : function(hide) { + if (hide) this.table.style.visibility = 'hidden'; + else hs.discardElement(this.table); +} +}; + +hs.Dimension = function(exp, dim) { + this.exp = exp; + this.dim = dim; + this.ucwh = dim == 'x' ? 'Width' : 'Height'; + this.wh = this.ucwh.toLowerCase(); + this.uclt = dim == 'x' ? 'Left' : 'Top'; + this.lt = this.uclt.toLowerCase(); + this.ucrb = dim == 'x' ? 'Right' : 'Bottom'; + this.rb = this.ucrb.toLowerCase(); + this.p1 = this.p2 = 0; +}; +hs.Dimension.prototype = { +get : function(key) { + switch (key) { + case 'loadingPos': + return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2; + case 'wsize': + return this.size + 2 * this.cb + this.p1 + this.p2; + case 'fitsize': + return this.clientSize - this.marginMin - this.marginMax; + case 'maxsize': + return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ; + case 'opos': + return this.pos - (this.exp.outline ? this.exp.outline.offset : 0); + case 'osize': + return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0); + case 'imgPad': + return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0; + + } +}, +calcBorders: function() { + // correct for borders + this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2; + + this.marginMax = hs['margin'+ this.ucrb]; +}, +calcThumb: function() { + this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : + this.exp.el['offset'+ this.ucwh]; + this.tpos = this.exp.tpos[this.dim]; + this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2; + if (this.tpos == 0 || this.tpos == -1) { + this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt]; + }; +}, +calcExpanded: function() { + var exp = this.exp; + this.justify = 'auto'; + + + // size and position + this.pos = this.tpos - this.cb + this.tb; + + if (this.maxHeight && this.dim == 'x') + exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full); + + this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full); + this.minSize = exp.allowSizeReduction ? + Math.min(exp['min'+ this.ucwh], this.full) :this.full; + if (exp.isImage && exp.useBox) { + this.size = exp[this.wh]; + this.imgSize = this.full; + } + if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth; + this.marginMin = hs['margin'+ this.uclt]; + this.scroll = hs.page['scroll'+ this.uclt]; + this.clientSize = hs.page[this.wh]; +}, +setSize: function(i) { + var exp = this.exp; + if (exp.isImage && (exp.useBox || hs.padToMinWidth)) { + this.imgSize = i; + this.size = Math.max(this.size, this.imgSize); + exp.content.style[this.lt] = this.get('imgPad')+'px'; + } else + this.size = i; + + exp.content.style[this.wh] = i +'px'; + exp.wrapper.style[this.wh] = this.get('wsize') +'px'; + if (exp.outline) exp.outline.setPosition(); + if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true); +}, +setPos: function(i) { + this.pos = i; + this.exp.wrapper.style[this.lt] = i +'px'; + + if (this.exp.outline) this.exp.outline.setPosition(); + +} +}; + +hs.Expander = function(a, params, custom, contentType) { + if (document.readyState && hs.ie && !hs.isReady) { + hs.addEventListener(document, 'ready', function() { + new hs.Expander(a, params, custom, contentType); + }); + return; + } + this.a = a; + this.custom = custom; + this.contentType = contentType || 'image'; + this.isImage = !this.isHtml; + + hs.continuePreloading = false; + this.overlays = []; + hs.init(); + var key = this.key = hs.expanders.length; + // override inline parameters + for (var i = 0; i < hs.overrides.length; i++) { + var name = hs.overrides[i]; + this[name] = params && typeof params[name] != 'undefined' ? + params[name] : hs[name]; + } + if (!this.src) this.src = a.href; + + // get thumb + var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a; + el = this.thumb = el.getElementsByTagName('img')[0] || el; + this.thumbsUserSetId = el.id || a.id; + + // check if already open + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].a == a) { + hs.expanders[i].focus(); + return false; + } + } + + // cancel other + if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) { + hs.expanders[i].cancelLoading(); + } + } + hs.expanders[key] = this; + if (!hs.allowMultipleInstances && !hs.upcoming) { + if (hs.expanders[key-1]) hs.expanders[key-1].close(); + if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) + hs.expanders[hs.focusKey].close(); + } + + // initiate metrics + this.el = el; + this.tpos = this.pageOrigin || hs.getPosition(el); + hs.getPageSize(); + var x = this.x = new hs.Dimension(this, 'x'); + x.calcThumb(); + var y = this.y = new hs.Dimension(this, 'y'); + y.calcThumb(); + this.wrapper = hs.createElement( + 'div', { + id: 'highslide-wrapper-'+ this.key, + className: 'highslide-wrapper '+ this.wrapperClassName + }, { + visibility: 'hidden', + position: 'absolute', + zIndex: hs.zIndexCounter += 2 + }, null, true ); + + this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler; + if (this.contentType == 'image' && this.outlineWhileAnimating == 2) + this.outlineWhileAnimating = 0; + + // get the outline + if (!this.outlineType) { + this[this.contentType +'Create'](); + + } else if (hs.pendingOutlines[this.outlineType]) { + this.connectOutline(); + this[this.contentType +'Create'](); + + } else { + this.showLoading(); + var exp = this; + new hs.Outline(this.outlineType, + function () { + exp.connectOutline(); + exp[exp.contentType +'Create'](); + } + ); + } + return true; +}; + +hs.Expander.prototype = { +error : function(e) { + if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message); + else window.location.href = this.src; +}, + +connectOutline : function() { + var outline = this.outline = hs.pendingOutlines[this.outlineType]; + outline.exp = this; + outline.table.style.zIndex = this.wrapper.style.zIndex - 1; + hs.pendingOutlines[this.outlineType] = null; +}, + +showLoading : function() { + if (this.onLoadStarted || this.loading) return; + + this.loading = hs.loading; + var exp = this; + this.loading.onclick = function() { + exp.cancelLoading(); + }; + var exp = this, + l = this.x.get('loadingPos') +'px', + t = this.y.get('loadingPos') +'px'; + setTimeout(function () { + if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })} + , 100); +}, + +imageCreate : function() { + var exp = this; + + var img = document.createElement('img'); + this.content = img; + img.onload = function () { + if (hs.expanders[exp.key]) exp.contentLoaded(); + }; + if (hs.blockRightClick) img.oncontextmenu = function() { return false; }; + img.className = 'highslide-image'; + hs.setStyles(img, { + visibility: 'hidden', + display: 'block', + position: 'absolute', + maxWidth: '9999px', + zIndex: 3 + }); + img.title = hs.lang.restoreTitle; + if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img); + if (hs.ie && hs.flushImgSize) img.src = null; + img.src = this.src; + + this.showLoading(); +}, + +contentLoaded : function() { + try { + if (!this.content) return; + this.content.onload = null; + if (this.onLoadStarted) return; + else this.onLoadStarted = true; + + var x = this.x, y = this.y; + + if (this.loading) { + hs.setStyles(this.loading, { top: '-9999px' }); + this.loading = null; + } + x.full = this.content.width; + y.full = this.content.height; + + hs.setStyles(this.content, { + width: x.t +'px', + height: y.t +'px' + }); + this.wrapper.appendChild(this.content); + hs.container.appendChild(this.wrapper); + + x.calcBorders(); + y.calcBorders(); + + hs.setStyles (this.wrapper, { + left: (x.tpos + x.tb - x.cb) +'px', + top: (y.tpos + x.tb - y.cb) +'px' + }); + this.getOverlays(); + + var ratio = x.full / y.full; + x.calcExpanded(); + this.justify(x); + + y.calcExpanded(); + this.justify(y); + if (this.overlayBox) this.sizeOverlayBox(0, 1); + + + if (this.allowSizeReduction) { + this.correctRatio(ratio); + if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) { + this.createFullExpand(); + if (this.overlays.length == 1) this.sizeOverlayBox(); + } + } + this.show(); + + } catch (e) { + this.error(e); + } +}, + +justify : function (p, moveOnly) { + var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y'; + + var hasMovedMin = false; + + var allowReduce = p.exp.allowSizeReduction; + p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2)); + if (p.pos < p.scroll + p.marginMin) { + p.pos = p.scroll + p.marginMin; + hasMovedMin = true; + } + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) { + if (!moveOnly && hasMovedMin && allowReduce) { + p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize')); + } else if (p.get('wsize') < p.get('fitsize')) { + p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize'); + } else { // image larger than viewport + p.pos = p.scroll + p.marginMin; + if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize'); + } + } + + if (!moveOnly && p.size < p.minSize) { + p.size = p.minSize; + allowReduce = false; + } + + + + if (p.pos < p.marginMin) { + var tmpMin = p.pos; + p.pos = p.marginMin; + + if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin); + + } +}, + +correctRatio : function(ratio) { + var x = this.x, + y = this.y, + changed = false, + xSize = Math.min(x.full, x.size), + ySize = Math.min(y.full, y.size), + useBox = (this.useBox || hs.padToMinWidth); + + if (xSize / ySize > ratio) { // width greater + xSize = ySize * ratio; + if (xSize < x.minSize) { // below minWidth + xSize = x.minSize; + ySize = xSize / ratio; + } + changed = true; + + } else if (xSize / ySize < ratio) { // height greater + ySize = xSize / ratio; + changed = true; + } + + if (hs.padToMinWidth && x.full < x.minSize) { + x.imgSize = x.full; + y.size = y.imgSize = y.full; + } else if (this.useBox) { + x.imgSize = xSize; + y.imgSize = ySize; + } else { + x.size = xSize; + y.size = ySize; + } + changed = this.fitOverlayBox(this.useBox ? null : ratio, changed); + if (useBox && y.size < y.imgSize) { + y.imgSize = y.size; + x.imgSize = y.size * ratio; + } + if (changed || useBox) { + x.pos = x.tpos - x.cb + x.tb; + x.minSize = x.size; + this.justify(x, true); + + y.pos = y.tpos - y.cb + y.tb; + y.minSize = y.size; + this.justify(y, true); + if (this.overlayBox) this.sizeOverlayBox(); + } + + +}, +fitOverlayBox : function(ratio, changed) { + var x = this.x, y = this.y; + if (this.overlayBox) { + while (y.size > this.minHeight && x.size > this.minWidth + && y.get('wsize') > y.get('fitsize')) { + y.size -= 10; + if (ratio) x.size = y.size * ratio; + this.sizeOverlayBox(0, 1); + changed = true; + } + } + return changed; +}, + +show : function () { + var x = this.x, y = this.y; + this.doShowHide('hidden'); + + // Apply size change + this.changeSize( + 1, { + wrapper: { + width : x.get('wsize'), + height : y.get('wsize'), + left: x.pos, + top: y.pos + }, + content: { + left: x.p1 + x.get('imgPad'), + top: y.p1 + y.get('imgPad'), + width:x.imgSize ||x.size, + height:y.imgSize ||y.size + } + }, + hs.expandDuration + ); +}, + +changeSize : function(up, to, dur) { + + if (this.outline && !this.outlineWhileAnimating) { + if (up) this.outline.setPosition(); + else this.outline.destroy(); + } + + + if (!up) this.destroyOverlays(); + + var exp = this, + x = exp.x, + y = exp.y, + easing = this.easing; + if (!up) easing = this.easingClose || easing; + var after = up ? + function() { + + if (exp.outline) exp.outline.table.style.visibility = "visible"; + setTimeout(function() { + exp.afterExpand(); + }, 50); + } : + function() { + exp.afterClose(); + }; + if (up) hs.setStyles( this.wrapper, { + width: x.t +'px', + height: y.t +'px' + }); + if (this.fadeInOut) { + hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 }); + hs.extend(to.wrapper, { opacity: up }); + } + hs.animate( this.wrapper, to.wrapper, { + duration: dur, + easing: easing, + step: function(val, args) { + if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') { + var fac = up ? args.pos : 1 - args.pos; + var pos = { + w: x.t + (x.get('wsize') - x.t) * fac, + h: y.t + (y.get('wsize') - y.t) * fac, + x: x.tpos + (x.pos - x.tpos) * fac, + y: y.tpos + (y.pos - y.tpos) * fac + }; + exp.outline.setPosition(pos, 0, 1); + } + } + }); + hs.animate( this.content, to.content, dur, easing, after); + if (up) { + this.wrapper.style.visibility = 'visible'; + this.content.style.visibility = 'visible'; + this.a.className += ' highslide-active-anchor'; + } +}, + + + + +afterExpand : function() { + this.isExpanded = true; + this.focus(); + if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null; + this.prepareNextOutline(); + var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop; + this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') + && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize'); + if (this.overlayBox) this.showOverlays(); + +}, + + +prepareNextOutline : function() { + var key = this.key; + var outlineType = this.outlineType; + new hs.Outline(outlineType, + function () { try { hs.expanders[key].preloadNext(); } catch (e) {} }); +}, + + +preloadNext : function() { + var next = this.getAdjacentAnchor(1); + if (next && next.onclick.toString().match(/hs\.expand/)) + var img = hs.createElement('img', { src: hs.getSrc(next) }); +}, + + +getAdjacentAnchor : function(op) { + var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none']; + return (as && as[current + op]) || null; +}, + +getAnchorIndex : function() { + var arr = hs.getAnchors().groups[this.slideshowGroup || 'none']; + if (arr) for (var i = 0; i < arr.length; i++) { + if (arr[i] == this.a) return i; + } + return null; +}, + + +cancelLoading : function() { + hs.discardElement (this.wrapper); + hs.expanders[this.key] = null; + if (this.loading) hs.loading.style.left = '-9999px'; +}, + +writeCredits : function () { + this.credits = hs.createElement('a', { + href: hs.creditsHref, + target: hs.creditsTarget, + className: 'highslide-credits', + innerHTML: hs.lang.creditsText, + title: hs.lang.creditsTitle + }); + this.createOverlay({ + overlayId: this.credits, + position: this.creditsPosition || 'top left' + }); +}, + +getInline : function(types, addOverlay) { + for (var i = 0; i < types.length; i++) { + var type = types[i], s = null; + if (!this[type +'Id'] && this.thumbsUserSetId) + this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId; + if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']); + if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try { + s = eval(this[type +'Eval']); + } catch (e) {} + if (!this[type] && this[type +'Text']) { + s = this[type +'Text']; + } + if (!this[type] && !s) { + this[type] = hs.getNode(this.a['_'+ type + 'Id']); + if (!this[type]) { + var next = this.a.nextSibling; + while (next && !hs.isHsAnchor(next)) { + if ((new RegExp('highslide-'+ type)).test(next.className || null)) { + if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++; + this[type] = hs.getNode(next.id); + break; + } + next = next.nextSibling; + } + } + } + + if (!this[type] && s) this[type] = hs.createElement('div', + { className: 'highslide-'+ type, innerHTML: s } ); + + if (addOverlay && this[type]) { + var o = { position: (type == 'heading') ? 'above' : 'below' }; + for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x]; + o.overlayId = this[type]; + this.createOverlay(o); + } + } +}, + + +// on end move and resize +doShowHide : function(visibility) { + if (hs.hideSelects) this.showHideElements('SELECT', visibility); + if (hs.hideIframes) this.showHideElements('IFRAME', visibility); + if (hs.geckoMac) this.showHideElements('*', visibility); +}, +showHideElements : function (tagName, visibility) { + var els = document.getElementsByTagName(tagName); + var prop = tagName == '*' ? 'overflow' : 'visibility'; + for (var i = 0; i < els.length; i++) { + if (prop == 'visibility' || (document.defaultView.getComputedStyle( + els[i], "").getPropertyValue('overflow') == 'auto' + || els[i].getAttribute('hidden-by') != null)) { + var hiddenBy = els[i].getAttribute('hidden-by'); + if (visibility == 'visible' && hiddenBy) { + hiddenBy = hiddenBy.replace('['+ this.key +']', ''); + els[i].setAttribute('hidden-by', hiddenBy); + if (!hiddenBy) els[i].style[prop] = els[i].origProp; + } else if (visibility == 'hidden') { // hide if behind + var elPos = hs.getPosition(els[i]); + elPos.w = els[i].offsetWidth; + elPos.h = els[i].offsetHeight; + + + var clearsX = (elPos.x + elPos.w < this.x.get('opos') + || elPos.x > this.x.get('opos') + this.x.get('osize')); + var clearsY = (elPos.y + elPos.h < this.y.get('opos') + || elPos.y > this.y.get('opos') + this.y.get('osize')); + var wrapperKey = hs.getWrapperKey(els[i]); + if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image + if (!hiddenBy) { + els[i].setAttribute('hidden-by', '['+ this.key +']'); + els[i].origProp = els[i].style[prop]; + els[i].style[prop] = 'hidden'; + + } else if (hiddenBy.indexOf('['+ this.key +']') == -1) { + els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']'); + } + } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey) + && wrapperKey != this.key) { // on move + els[i].setAttribute('hidden-by', ''); + els[i].style[prop] = els[i].origProp || ''; + } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) { + els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', '')); + } + + } + } + } +}, + +focus : function() { + this.wrapper.style.zIndex = hs.zIndexCounter += 2; + // blur others + for (var i = 0; i < hs.expanders.length; i++) { + if (hs.expanders[i] && i == hs.focusKey) { + var blurExp = hs.expanders[i]; + blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur'; + blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer'; + blurExp.content.title = hs.lang.focusTitle; + } + } + + // focus this + if (this.outline) this.outline.table.style.zIndex + = this.wrapper.style.zIndex - 1; + this.content.className = 'highslide-'+ this.contentType; + this.content.title = hs.lang.restoreTitle; + + if (hs.restoreCursor) { + hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer'; + if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand'; + this.content.style.cursor = hs.styleRestoreCursor; + } + + hs.focusKey = this.key; + hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); +}, +moveTo: function(x, y) { + this.x.setPos(x); + this.y.setPos(y); +}, +resize : function (e) { + var w, h, r = e.width / e.height; + w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full)); + if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full; + h = w / r; + if (h < Math.min(this.minHeight, this.y.full)) { + h = Math.min(this.minHeight, this.y.full); + if (this.isImage) w = h * r; + } + this.resizeTo(w, h); +}, +resizeTo: function(w, h) { + this.y.setSize(h); + this.x.setSize(w); + this.wrapper.style.height = this.y.get('wsize') +'px'; +}, + +close : function() { + if (this.isClosing || !this.isExpanded) return; + this.isClosing = true; + + hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler); + + try { + this.content.style.cursor = 'default'; + this.changeSize( + 0, { + wrapper: { + width : this.x.t, + height : this.y.t, + left: this.x.tpos - this.x.cb + this.x.tb, + top: this.y.tpos - this.y.cb + this.y.tb + }, + content: { + left: 0, + top: 0, + width: this.x.t, + height: this.y.t + } + }, hs.restoreDuration + ); + } catch (e) { this.afterClose(); } +}, + +createOverlay : function (o) { + var el = o.overlayId; + if (typeof el == 'string') el = hs.getNode(el); + if (o.html) el = hs.createElement('div', { innerHTML: o.html }); + if (!el || typeof el == 'string') return; + el.style.display = 'block'; + this.genOverlayBox(); + var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto'; + if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px'; + var overlay = hs.createElement( + 'div', { + id: 'hsId'+ hs.idCounter++, + hsId: o.hsId + }, { + position: 'absolute', + visibility: 'hidden', + width: width, + direction: hs.lang.cssDirection || '', + opacity: 0 + },this.overlayBox, + true + ); + + overlay.appendChild(el); + hs.extend(overlay, { + opacity: 1, + offsetX: 0, + offsetY: 0, + dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250 + }); + hs.extend(overlay, o); + + + if (this.gotOverlays) { + this.positionOverlay(overlay); + if (!overlay.hideOnMouseOut || this.mouseIsOver) + hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur); + } + hs.push(this.overlays, hs.idCounter - 1); +}, +positionOverlay : function(overlay) { + var p = overlay.position || 'middle center', + offX = overlay.offsetX, + offY = overlay.offsetY; + if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay); + if (/left$/.test(p)) overlay.style.left = offX +'px'; + + if (/center$/.test(p)) hs.setStyles (overlay, { + left: '50%', + marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px' + }); + + if (/right$/.test(p)) overlay.style.right = - offX +'px'; + + if (/^leftpanel$/.test(p)) { + hs.setStyles(overlay, { + right: '100%', + marginRight: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p1 = overlay.offsetWidth; + + } else if (/^rightpanel$/.test(p)) { + hs.setStyles(overlay, { + left: '100%', + marginLeft: this.x.cb +'px', + top: - this.y.cb +'px', + bottom: - this.y.cb +'px', + overflow: 'auto' + }); + this.x.p2 = overlay.offsetWidth; + } + + if (/^top/.test(p)) overlay.style.top = offY +'px'; + if (/^middle/.test(p)) hs.setStyles (overlay, { + top: '50%', + marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px' + }); + if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px'; + if (/^above$/.test(p)) { + hs.setStyles(overlay, { + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + bottom: '100%', + marginBottom: this.y.cb +'px', + width: 'auto' + }); + this.y.p1 = overlay.offsetHeight; + + } else if (/^below$/.test(p)) { + hs.setStyles(overlay, { + position: 'relative', + left: (- this.x.p1 - this.x.cb) +'px', + right: (- this.x.p2 - this.x.cb) +'px', + top: '100%', + marginTop: this.y.cb +'px', + width: 'auto' + }); + this.y.p2 = overlay.offsetHeight; + overlay.style.position = 'absolute'; + } +}, + +getOverlays : function() { + this.getInline(['heading', 'caption'], true); + if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move'; + if (hs.showCredits) this.writeCredits(); + for (var i = 0; i < hs.overlays.length; i++) { + var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup; + if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) + || (sg && sg === this.slideshowGroup)) { + this.createOverlay(o); + } + } + var os = []; + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + if (/panel$/.test(o.position)) this.positionOverlay(o); + else hs.push(os, o); + } + for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]); + this.gotOverlays = true; +}, +genOverlayBox : function() { + if (!this.overlayBox) this.overlayBox = hs.createElement ( + 'div', { + className: this.wrapperClassName + }, { + position : 'absolute', + width: (this.x.size || (this.useBox ? this.width : null) + || this.x.full) +'px', + height: (this.y.size || this.y.full) +'px', + visibility : 'hidden', + overflow : 'hidden', + zIndex : hs.ie ? 4 : 'auto' + }, + hs.container, + true + ); +}, +sizeOverlayBox : function(doWrapper, doPanels) { + var overlayBox = this.overlayBox, + x = this.x, + y = this.y; + hs.setStyles( overlayBox, { + width: x.size +'px', + height: y.size +'px' + }); + if (doWrapper || doPanels) { + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat'); + if (o && /^(above|below)$/.test(o.position)) { + if (ie6) { + o.style.width = (overlayBox.offsetWidth + 2 * x.cb + + x.p1 + x.p2) +'px'; + } + y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight; + } + if (o && ie6 && /^(left|right)panel$/.test(o.position)) { + o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px'; + } + } + } + if (doWrapper) { + hs.setStyles(this.content, { + top: y.p1 +'px' + }); + hs.setStyles(overlayBox, { + top: (y.p1 + y.cb) +'px' + }); + } +}, + +showOverlays : function() { + var b = this.overlayBox; + b.className = ''; + hs.setStyles(b, { + top: (this.y.p1 + this.y.cb) +'px', + left: (this.x.p1 + this.x.cb) +'px', + overflow : 'visible' + }); + if (hs.safari) b.style.visibility = 'visible'; + this.wrapper.appendChild (b); + for (var i = 0; i < this.overlays.length; i++) { + var o = hs.$('hsId'+ this.overlays[i]); + o.style.zIndex = o.zIndex || 4; + if (!o.hideOnMouseOut || this.mouseIsOver) { + o.style.visibility = 'visible'; + hs.setStyles(o, { visibility: 'visible', display: '' }); + hs.animate(o, { opacity: o.opacity }, o.dur); + } + } +}, + +destroyOverlays : function() { + if (!this.overlays.length) return; + hs.discardElement(this.overlayBox); +}, + + + +createFullExpand : function () { + this.fullExpandLabel = hs.createElement( + 'a', { + href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();', + title: hs.lang.fullExpandTitle, + className: 'highslide-full-expand' + } + ); + + this.createOverlay({ + overlayId: this.fullExpandLabel, + position: hs.fullExpandPosition, + hideOnMouseOut: true, + opacity: hs.fullExpandOpacity + }); +}, + +doFullExpand : function () { + try { + if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel); + + this.focus(); + var xSize = this.x.size, + ySize = this.y.size; + this.resizeTo(this.x.full, this.y.full); + + var xpos = this.x.pos - (this.x.size - xSize) / 2; + if (xpos < hs.marginLeft) xpos = hs.marginLeft; + + var ypos = this.y.pos - (this.y.size - ySize) / 2; + if (ypos < hs.marginTop) ypos = hs.marginTop; + + this.moveTo(xpos, ypos); + this.doShowHide('hidden'); + + } catch (e) { + this.error(e); + } +}, + + +afterClose : function () { + this.a.className = this.a.className.replace('highslide-active-anchor', ''); + + this.doShowHide('visible'); + if (this.outline && this.outlineWhileAnimating) this.outline.destroy(); + + hs.discardElement(this.wrapper); + + hs.expanders[this.key] = null; + hs.reOrder(); +} + +}; +hs.langDefaults = hs.lang; +// history +var HsExpander = hs.Expander; +if (hs.ie && window == window.top) { + (function () { + try { + document.documentElement.doScroll('left'); + } catch (e) { + setTimeout(arguments.callee, 50); + return; + } + hs.ready(); + })(); +} +hs.addEventListener(document, 'DOMContentLoaded', hs.ready); +hs.addEventListener(window, 'load', hs.ready); + +// set handlers +hs.addEventListener(document, 'ready', function() { + if (hs.expandCursor) { + var style = hs.createElement('style', { type: 'text/css' }, null, + document.getElementsByTagName('HEAD')[0]), + backCompat = document.compatMode == 'BackCompat'; + + + function addRule(sel, dec) { + if (hs.ie && (hs.uaVersion < 9 || backCompat)) { + var last = document.styleSheets[document.styleSheets.length - 1]; + if (typeof(last.addRule) == "object") last.addRule(sel, dec); + } else { + style.appendChild(document.createTextNode(sel + " {" + dec + "}")); + } + } + function fix(prop) { + return 'expression( ( ( ignoreMe = document.documentElement.'+ prop + + ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );'; + } + if (hs.expandCursor) addRule ('.highslide img', + 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;'); + } +}); +hs.addEventListener(window, 'resize', function() { + hs.getPageSize(); +}); +hs.addEventListener(document, 'mousemove', function(e) { + hs.mouse = { x: e.clientX, y: e.clientY }; +}); +hs.addEventListener(document, 'mousedown', hs.mouseClickHandler); +hs.addEventListener(document, 'mouseup', hs.mouseClickHandler); + +hs.addEventListener(document, 'ready', hs.getAnchors); +hs.addEventListener(window, 'load', hs.preloadImages); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js new file mode 100644 index 000000000..2437ab7cb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +if(!hs){var hs={lang:{cssDirection:"ltr",loadingText:"Loading...",loadingTitle:"Click to cancel",focusTitle:"Click to bring to front",fullExpandTitle:"Expand to actual size (f)",creditsText:"Powered by <i>Highslide JS</i>",creditsTitle:"Go to the Highslide JS homepage",restoreTitle:"Click to close image, click and drag to move. Use arrow keys for next and previous."},graphicsDir:"highslide/graphics/",expandCursor:"zoomin.cur",restoreCursor:"zoomout.cur",expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:"bottom right",fullExpandOpacity:1,showCredits:true,creditsHref:"http://highslide.com/",creditsTarget:"_self",enableKeyListener:true,openerTagNames:["a"],dragByHeading:true,minWidth:200,minHeight:200,allowSizeReduction:true,outlineType:"drop-shadow",preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:["allowSizeReduction","useBox","outlineType","outlineWhileAnimating","captionId","captionText","captionEval","captionOverlay","headingId","headingText","headingEval","headingOverlay","creditsPosition","dragByHeading","width","height","wrapperClassName","minWidth","minHeight","maxWidth","maxHeight","pageOrigin","slideshowGroup","easing","easingClose","fadeInOut","src"],overlays:[],idCounter:0,oPos:{x:["leftpanel","left","center","right","rightpanel"],y:["above","top","middle","bottom","below"]},mouse:{},headingOverlay:{},captionOverlay:{},timers:[],pendingOutlines:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(a){if(a){return document.getElementById(a)}},push:function(a,b){a[a.length]=b},createElement:function(a,f,e,d,c){var b=document.createElement(a);if(f){hs.extend(b,f)}if(c){hs.setStyles(b,{padding:0,border:"none",margin:0})}if(e){hs.setStyles(b,e)}if(d){d.appendChild(b)}return b},extend:function(b,c){for(var a in c){b[a]=c[a]}return b},setStyles:function(b,c){for(var a in c){if(hs.ieLt9&&a=="opacity"){if(c[a]>0.99){b.style.removeAttribute("filter")}else{b.style.filter="alpha(opacity="+(c[a]*100)+")"}}else{b.style[a]=c[a]}}},animate:function(f,a,d){var c,g,j;if(typeof d!="object"||d===null){var i=arguments;d={duration:i[2],easing:i[3],complete:i[4]}}if(typeof d.duration!="number"){d.duration=250}d.easing=Math[d.easing]||Math.easeInQuad;d.curAnim=hs.extend({},a);for(var b in a){var h=new hs.fx(f,d,b);c=parseFloat(hs.css(f,b))||0;g=parseFloat(a[b]);j=b!="opacity"?"px":"";h.custom(c,g,j)}},css:function(a,c){if(a.style[c]){return a.style[c]}else{if(document.defaultView){return document.defaultView.getComputedStyle(a,null).getPropertyValue(c)}else{if(c=="opacity"){c="filter"}var b=a.currentStyle[c.replace(/\-(\w)/g,function(e,d){return d.toUpperCase()})];if(c=="filter"){b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(e,d){return d/100})}return b===""?1:b}}},getPageSize:function(){var f=document,b=window,e=f.compatMode&&f.compatMode!="BackCompat"?f.documentElement:f.body,g=hs.ie&&(hs.uaVersion<9||typeof pageXOffset=="undefined");var c=g?e.clientWidth:(f.documentElement.clientWidth||self.innerWidth),a=g?e.clientHeight:self.innerHeight;hs.page={width:c,height:a,scrollLeft:g?e.scrollLeft:pageXOffset,scrollTop:g?e.scrollTop:pageYOffset};return hs.page},getPosition:function(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a.offsetParent){a=a.offsetParent;b.x+=a.offsetLeft;b.y+=a.offsetTop;if(a!=document.body&&a!=document.documentElement){b.x-=a.scrollLeft;b.y-=a.scrollTop}}return b},expand:function(b,g,d,c){if(!b){b=hs.createElement("a",null,{display:"none"},hs.container)}if(typeof b.getParams=="function"){return g}try{new hs.Expander(b,g,d);return false}catch(f){return true}},focusTopmost:function(){var c=0,b=-1,a=hs.expanders,e,f;for(var d=0;d<a.length;d++){e=a[d];if(e){f=e.wrapper.style.zIndex;if(f&&f>c){c=f;b=d}}}if(b==-1){hs.focusKey=-1}else{a[b].focus()}},getParam:function(b,d){b.getParams=b.onclick;var c=b.getParams?b.getParams():null;b.getParams=null;return(c&&typeof c[d]!="undefined")?c[d]:(typeof hs[d]!="undefined"?hs[d]:null)},getSrc:function(b){var c=hs.getParam(b,"src");if(c){return c}return b.href},getNode:function(e){var c=hs.$(e),d=hs.clones[e],b={};if(!c&&!d){return null}if(!d){d=c.cloneNode(true);d.id="";hs.clones[e]=d;return c}else{return d.cloneNode(true)}},discardElement:function(a){if(a){hs.garbageBin.appendChild(a)}hs.garbageBin.innerHTML=""},transit:function(a,d){var b=d||hs.getExpander();d=b;if(hs.upcoming){return false}else{hs.last=b}hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{hs.upcoming=a;a.onclick()}catch(c){hs.last=hs.upcoming=null}try{d.close()}catch(c){}return false},previousOrNext:function(a,c){var b=hs.getExpander(a);if(b){return hs.transit(b.getAdjacentAnchor(c),b)}else{return false}},previous:function(a){return hs.previousOrNext(a,-1)},next:function(a){return hs.previousOrNext(a,1)},keyHandler:function(a){if(!a){a=window.event}if(!a.target){a.target=a.srcElement}if(typeof a.target.form!="undefined"){return true}var b=hs.getExpander();var c=null;switch(a.keyCode){case 70:if(b){b.doFullExpand()}return true;case 32:case 34:case 39:case 40:c=1;break;case 8:case 33:case 37:case 38:c=-1;break;case 27:case 13:c=0}if(c!==null){hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);if(!hs.enableKeyListener){return true}if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(b){if(c==0){b.close()}else{hs.previousOrNext(b.key,c)}return false}}return true},registerOverlay:function(a){hs.push(hs.overlays,hs.extend(a,{hsId:"hsId"+hs.idCounter++}))},getWrapperKey:function(c,b){var e,d=/^highslide-wrapper-([0-9]+)$/;e=c;while(e.parentNode){if(e.id&&d.test(e.id)){return e.id.replace(d,"$1")}e=e.parentNode}if(!b){e=c;while(e.parentNode){if(e.tagName&&hs.isHsAnchor(e)){for(var a=0;a<hs.expanders.length;a++){var f=hs.expanders[a];if(f&&f.a==e){return a}}}e=e.parentNode}}return null},getExpander:function(b,a){if(typeof b=="undefined"){return hs.expanders[hs.focusKey]||null}if(typeof b=="number"){return hs.expanders[b]||null}if(typeof b=="string"){b=hs.$(b)}return hs.expanders[hs.getWrapperKey(b,a)]||null},isHsAnchor:function(b){return(b.onclick&&b.onclick.toString().replace(/\s/g," ").match(/hs.(htmlE|e)xpand/))},reOrder:function(){for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&hs.expanders[a].isExpanded){hs.focusTopmost()}}},mouseClickHandler:function(d){if(!d){d=window.event}if(d.button>1){return true}if(!d.target){d.target=d.srcElement}var b=d.target;while(b.parentNode&&!(/highslide-(image|move|html|resize)/.test(b.className))){b=b.parentNode}var f=hs.getExpander(b);if(f&&(f.isClosing||!f.isExpanded)){return true}if(f&&d.type=="mousedown"){if(d.target.form){return true}var a=b.className.match(/highslide-(image|move|resize)/);if(a){hs.dragArgs={exp:f,type:a[1],left:f.x.pos,width:f.x.size,top:f.y.pos,height:f.y.size,clickX:d.clientX,clickY:d.clientY};hs.addEventListener(document,"mousemove",hs.dragHandler);if(d.preventDefault){d.preventDefault()}if(/highslide-(image|html)-blur/.test(f.content.className)){f.focus();hs.hasFocused=true}return false}}else{if(d.type=="mouseup"){hs.removeEventListener(document,"mousemove",hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=="image"){hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor}var c=hs.dragArgs.hasDragged;if(!c&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){f.close()}else{if(c||(!c&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide("hidden")}}hs.hasFocused=false;hs.dragArgs=null}else{if(/highslide-image-blur/.test(b.className)){b.style.cursor=hs.styleRestoreCursor}}}}return false},dragHandler:function(c){if(!hs.dragArgs){return true}if(!c){c=window.event}var b=hs.dragArgs,d=b.exp;b.dX=c.clientX-b.clickX;b.dY=c.clientY-b.clickY;var f=Math.sqrt(Math.pow(b.dX,2)+Math.pow(b.dY,2));if(!b.hasDragged){b.hasDragged=(b.type!="image"&&f>0)||(f>(hs.dragSensitivity||5))}if(b.hasDragged&&c.clientX>5&&c.clientY>5){if(b.type=="resize"){d.resize(b)}else{d.moveTo(b.left+b.dX,b.top+b.dY);if(b.type=="image"){d.content.style.cursor="move"}}}return false},wrapperMouseHandler:function(c){try{if(!c){c=window.event}var b=/mouseover/i.test(c.type);if(!c.target){c.target=c.srcElement}if(!c.relatedTarget){c.relatedTarget=b?c.fromElement:c.toElement}var d=hs.getExpander(c.target);if(!d.isExpanded){return}if(!d||!c.relatedTarget||hs.getExpander(c.relatedTarget,true)==d||hs.dragArgs){return}for(var a=0;a<d.overlays.length;a++){(function(){var e=hs.$("hsId"+d.overlays[a]);if(e&&e.hideOnMouseOut){if(b){hs.setStyles(e,{visibility:"visible",display:""})}hs.animate(e,{opacity:b?e.opacity:0},e.dur)}})()}}catch(c){}},addEventListener:function(a,c,b){if(a==document&&c=="ready"){hs.push(hs.onReady,b)}try{a.addEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b);a.attachEvent("on"+c,b)}catch(d){a["on"+c]=b}}},removeEventListener:function(a,c,b){try{a.removeEventListener(c,b,false)}catch(d){try{a.detachEvent("on"+c,b)}catch(d){a["on"+c]=null}}},preloadFullImage:function(b){if(hs.continuePreloading&&hs.preloadTheseImages[b]&&hs.preloadTheseImages[b]!="undefined"){var a=document.createElement("img");a.onload=function(){a=null;hs.preloadFullImage(b+1)};a.src=hs.preloadTheseImages[b]}},preloadImages:function(c){if(c&&typeof c!="object"){hs.numberOfImagesToPreload=c}var a=hs.getAnchors();for(var b=0;b<a.images.length&&b<hs.numberOfImagesToPreload;b++){hs.push(hs.preloadTheseImages,hs.getSrc(a.images[b]))}if(hs.outlineType){new hs.Outline(hs.outlineType,function(){hs.preloadFullImage(0)})}else{hs.preloadFullImage(0)}if(hs.restoreCursor){var d=hs.createElement("img",{src:hs.graphicsDir+hs.restoreCursor})}},init:function(){if(!hs.container){hs.ieLt7=hs.ie&&hs.uaVersion<7;hs.ieLt9=hs.ie&&hs.uaVersion<9;hs.getPageSize();for(var a in hs.langDefaults){if(typeof hs[a]!="undefined"){hs.lang[a]=hs[a]}else{if(typeof hs.lang[a]=="undefined"&&typeof hs.langDefaults[a]!="undefined"){hs.lang[a]=hs.langDefaults[a]}}}hs.container=hs.createElement("div",{className:"highslide-container"},{position:"absolute",left:0,top:0,width:"100%",zIndex:hs.zIndexCounter,direction:"ltr"},document.body,true);hs.loading=hs.createElement("a",{className:"highslide-loading",title:hs.lang.loadingTitle,innerHTML:hs.lang.loadingText,href:"javascript:;"},{position:"absolute",top:"-9999px",opacity:hs.loadingOpacity,zIndex:1},hs.container);hs.garbageBin=hs.createElement("div",null,{display:"none"},hs.container);Math.linearTween=function(f,e,h,g){return h*f/g+e};Math.easeInQuad=function(f,e,h,g){return h*(f/=g)*f+e};hs.hideSelects=hs.ieLt7;hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=="KDE"||(hs.ieLt7&&hs.uaVersion<5.5))}},ready:function(){if(hs.isReady){return}hs.isReady=true;for(var a=0;a<hs.onReady.length;a++){hs.onReady[a]()}},updateAnchors:function(){var a,c,k=[],h=[],b={},l;for(var e=0;e<hs.openerTagNames.length;e++){c=document.getElementsByTagName(hs.openerTagNames[e]);for(var d=0;d<c.length;d++){a=c[d];l=hs.isHsAnchor(a);if(l){hs.push(k,a);if(l[0]=="hs.expand"){hs.push(h,a)}var f=hs.getParam(a,"slideshowGroup")||"none";if(!b[f]){b[f]=[]}hs.push(b[f],a)}}}hs.anchors={all:k,groups:b,images:h};return hs.anchors},getAnchors:function(){return hs.anchors||hs.updateAnchors()},close:function(a){var b=hs.getExpander(a);if(b){b.close()}return false}};hs.fx=function(b,a,c){this.options=a;this.elem=b;this.prop=c;if(!a.orig){a.orig={}}};hs.fx.prototype={update:function(){(hs.fx.step[this.prop]||hs.fx.step._default)(this);if(this.options.step){this.options.step.call(this.elem,this.now,this)}},custom:function(e,d,c){this.startTime=(new Date()).getTime();this.start=e;this.end=d;this.unit=c;this.now=this.start;this.pos=this.state=0;var a=this;function b(f){return a.step(f)}b.elem=this.elem;if(b()&&hs.timers.push(b)==1){hs.timerId=setInterval(function(){var g=hs.timers;for(var f=0;f<g.length;f++){if(!g[f]()){g.splice(f--,1)}}if(!g.length){clearInterval(hs.timerId)}},13)}},step:function(d){var c=(new Date()).getTime();if(d||c>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var a=true;for(var b in this.options.curAnim){if(this.options.curAnim[b]!==true){a=false}}if(a){if(this.options.complete){this.options.complete.call(this.elem)}}return false}else{var e=c-this.startTime;this.state=e/this.options.duration;this.pos=this.options.easing(e,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};hs.extend(hs.fx,{step:{opacity:function(a){hs.setStyles(a.elem,{opacity:a.now})},_default:function(a){try{if(a.elem.style&&a.elem.style[a.prop]!=null){a.elem.style[a.prop]=a.now+a.unit}else{a.elem[a.prop]=a.now}}catch(b){}}}});hs.Outline=function(g,e){this.onLoad=e;this.outlineType=g;var a=hs.uaVersion,f;this.hasAlphaImageLoader=hs.ie&&hs.uaVersion<7;if(!g){if(e){e()}return}hs.init();this.table=hs.createElement("table",{cellSpacing:0},{visibility:"hidden",position:"absolute",borderCollapse:"collapse",width:0},hs.container,true);var b=hs.createElement("tbody",null,null,this.table,1);this.td=[];for(var c=0;c<=8;c++){if(c%3==0){f=hs.createElement("tr",null,{height:"auto"},b,true)}this.td[c]=hs.createElement("td",null,null,f,true);var d=c!=4?{lineHeight:0,fontSize:0}:{position:"relative"};hs.setStyles(this.td[c],d)}this.td[4].className=g+" highslide-outline";this.preloadGraphic()};hs.Outline.prototype={preloadGraphic:function(){var b=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var a=hs.safari&&hs.uaVersion<525?hs.container:null;this.graphic=hs.createElement("img",null,{position:"absolute",top:"-9999px"},a,true);var c=this;this.graphic.onload=function(){c.onGraphicLoad()};this.graphic.src=b},onGraphicLoad:function(){var d=this.offset=this.graphic.width/4,f=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],c={height:(2*d)+"px",width:(2*d)+"px"};for(var b=0;b<=8;b++){if(f[b]){if(this.hasAlphaImageLoader){var a=(b==1||b==7)?"100%":this.graphic.width+"px";var e=hs.createElement("div",null,{width:"100%",height:"100%",position:"relative",overflow:"hidden"},this.td[b],true);hs.createElement("div",null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:"absolute",width:a,height:this.graphic.height+"px",left:(f[b][0]*d)+"px",top:(f[b][1]*d)+"px"},e,true)}else{hs.setStyles(this.td[b],{background:"url("+this.graphic.src+") "+(f[b][0]*d)+"px "+(f[b][1]*d)+"px"})}if(window.opera&&(b==3||b==5)){hs.createElement("div",null,c,this.td[b],true)}hs.setStyles(this.td[b],c)}}this.graphic=null;if(hs.pendingOutlines[this.outlineType]){hs.pendingOutlines[this.outlineType].destroy()}hs.pendingOutlines[this.outlineType]=this;if(this.onLoad){this.onLoad()}},setPosition:function(g,e,c,b,f){var d=this.exp,a=d.wrapper.style,e=e||0,g=g||{x:d.x.pos+e,y:d.y.pos+e,w:d.x.get("wsize")-2*e,h:d.y.get("wsize")-2*e};if(c){this.table.style.visibility=(g.h>=4*this.offset)?"visible":"hidden"}hs.setStyles(this.table,{left:(g.x-this.offset)+"px",top:(g.y-this.offset)+"px",width:(g.w+2*this.offset)+"px"});g.w-=2*this.offset;g.h-=2*this.offset;hs.setStyles(this.td[4],{width:g.w>=0?g.w+"px":0,height:g.h>=0?g.h+"px":0});if(this.hasAlphaImageLoader){this.td[3].style.height=this.td[5].style.height=this.td[4].style.height}},destroy:function(a){if(a){this.table.style.visibility="hidden"}else{hs.discardElement(this.table)}}};hs.Dimension=function(b,a){this.exp=b;this.dim=a;this.ucwh=a=="x"?"Width":"Height";this.wh=this.ucwh.toLowerCase();this.uclt=a=="x"?"Left":"Top";this.lt=this.uclt.toLowerCase();this.ucrb=a=="x"?"Right":"Bottom";this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0};hs.Dimension.prototype={get:function(a){switch(a){case"loadingPos":return this.tpos+this.tb+(this.t-hs.loading["offset"+this.ucwh])/2;case"wsize":return this.size+2*this.cb+this.p1+this.p2;case"fitsize":return this.clientSize-this.marginMin-this.marginMax;case"maxsize":return this.get("fitsize")-2*this.cb-this.p1-this.p2;case"opos":return this.pos-(this.exp.outline?this.exp.outline.offset:0);case"osize":return this.get("wsize")+(this.exp.outline?2*this.exp.outline.offset:0);case"imgPad":return this.imgSize?Math.round((this.size-this.imgSize)/2):0}},calcBorders:function(){this.cb=(this.exp.content["offset"+this.ucwh]-this.t)/2;this.marginMax=hs["margin"+this.ucrb]},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el["offset"+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el["offset"+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page["scroll"+this.uclt]}},calcExpanded:function(){var a=this.exp;this.justify="auto";this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=="x"){a.maxWidth=Math.min(a.maxWidth||this.full,a.maxHeight*this.full/a.y.full)}this.size=Math.min(this.full,a["max"+this.ucwh]||this.full);this.minSize=a.allowSizeReduction?Math.min(a["min"+this.ucwh],this.full):this.full;if(a.isImage&&a.useBox){this.size=a[this.wh];this.imgSize=this.full}if(this.dim=="x"&&hs.padToMinWidth){this.minSize=a.minWidth}this.marginMin=hs["margin"+this.uclt];this.scroll=hs.page["scroll"+this.uclt];this.clientSize=hs.page[this.wh]},setSize:function(a){var b=this.exp;if(b.isImage&&(b.useBox||hs.padToMinWidth)){this.imgSize=a;this.size=Math.max(this.size,this.imgSize);b.content.style[this.lt]=this.get("imgPad")+"px"}else{this.size=a}b.content.style[this.wh]=a+"px";b.wrapper.style[this.wh]=this.get("wsize")+"px";if(b.outline){b.outline.setPosition()}if(this.dim=="x"&&b.overlayBox){b.sizeOverlayBox(true)}},setPos:function(a){this.pos=a;this.exp.wrapper.style[this.lt]=a+"px";if(this.exp.outline){this.exp.outline.setPosition()}}};hs.Expander=function(k,f,b,l){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,"ready",function(){new hs.Expander(k,f,b,l)});return}this.a=k;this.custom=b;this.contentType=l||"image";this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];hs.init();var m=this.key=hs.expanders.length;for(var g=0;g<hs.overrides.length;g++){var c=hs.overrides[g];this[c]=f&&typeof f[c]!="undefined"?f[c]:hs[c]}if(!this.src){this.src=k.href}var d=(f&&f.thumbnailId)?hs.$(f.thumbnailId):k;d=this.thumb=d.getElementsByTagName("img")[0]||d;this.thumbsUserSetId=d.id||k.id;for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].a==k){hs.expanders[g].focus();return false}}if(!hs.allowSimultaneousLoading){for(var g=0;g<hs.expanders.length;g++){if(hs.expanders[g]&&hs.expanders[g].thumb!=d&&!hs.expanders[g].onLoadStarted){hs.expanders[g].cancelLoading()}}}hs.expanders[m]=this;if(!hs.allowMultipleInstances&&!hs.upcoming){if(hs.expanders[m-1]){hs.expanders[m-1].close()}if(typeof hs.focusKey!="undefined"&&hs.expanders[hs.focusKey]){hs.expanders[hs.focusKey].close()}}this.el=d;this.tpos=this.pageOrigin||hs.getPosition(d);hs.getPageSize();var j=this.x=new hs.Dimension(this,"x");j.calcThumb();var h=this.y=new hs.Dimension(this,"y");h.calcThumb();this.wrapper=hs.createElement("div",{id:"highslide-wrapper-"+this.key,className:"highslide-wrapper "+this.wrapperClassName},{visibility:"hidden",position:"absolute",zIndex:hs.zIndexCounter+=2},null,true);this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;if(this.contentType=="image"&&this.outlineWhileAnimating==2){this.outlineWhileAnimating=0}if(!this.outlineType){this[this.contentType+"Create"]()}else{if(hs.pendingOutlines[this.outlineType]){this.connectOutline();this[this.contentType+"Create"]()}else{this.showLoading();var e=this;new hs.Outline(this.outlineType,function(){e.connectOutline();e[e.contentType+"Create"]()})}}return true};hs.Expander.prototype={error:function(a){if(hs.debug){alert("Line "+a.lineNumber+": "+a.message)}else{window.location.href=this.src}},connectOutline:function(){var a=this.outline=hs.pendingOutlines[this.outlineType];a.exp=this;a.table.style.zIndex=this.wrapper.style.zIndex-1;hs.pendingOutlines[this.outlineType]=null},showLoading:function(){if(this.onLoadStarted||this.loading){return}this.loading=hs.loading;var c=this;this.loading.onclick=function(){c.cancelLoading()};var c=this,a=this.x.get("loadingPos")+"px",b=this.y.get("loadingPos")+"px";setTimeout(function(){if(c.loading){hs.setStyles(c.loading,{left:a,top:b,zIndex:hs.zIndexCounter++})}},100)},imageCreate:function(){var b=this;var a=document.createElement("img");this.content=a;a.onload=function(){if(hs.expanders[b.key]){b.contentLoaded()}};if(hs.blockRightClick){a.oncontextmenu=function(){return false}}a.className="highslide-image";hs.setStyles(a,{visibility:"hidden",display:"block",position:"absolute",maxWidth:"9999px",zIndex:3});a.title=hs.lang.restoreTitle;if(hs.safari&&hs.uaVersion<525){hs.container.appendChild(a)}if(hs.ie&&hs.flushImgSize){a.src=null}a.src=this.src;this.showLoading()},contentLoaded:function(){try{if(!this.content){return}this.content.onload=null;if(this.onLoadStarted){return}else{this.onLoadStarted=true}var a=this.x,d=this.y;if(this.loading){hs.setStyles(this.loading,{top:"-9999px"});this.loading=null}a.full=this.content.width;d.full=this.content.height;hs.setStyles(this.content,{width:a.t+"px",height:d.t+"px"});this.wrapper.appendChild(this.content);hs.container.appendChild(this.wrapper);a.calcBorders();d.calcBorders();hs.setStyles(this.wrapper,{left:(a.tpos+a.tb-a.cb)+"px",top:(d.tpos+a.tb-d.cb)+"px"});this.getOverlays();var b=a.full/d.full;a.calcExpanded();this.justify(a);d.calcExpanded();this.justify(d);if(this.overlayBox){this.sizeOverlayBox(0,1)}if(this.allowSizeReduction){this.correctRatio(b);if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1){this.sizeOverlayBox()}}}this.show()}catch(c){this.error(c)}},justify:function(f,b){var g,h=f.target,e=f==this.x?"x":"y";var d=false;var a=f.exp.allowSizeReduction;f.pos=Math.round(f.pos-((f.get("wsize")-f.t)/2));if(f.pos<f.scroll+f.marginMin){f.pos=f.scroll+f.marginMin;d=true}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos+f.get("wsize")>f.scroll+f.clientSize-f.marginMax){if(!b&&d&&a){f.size=Math.min(f.size,f.get(e=="y"?"fitsize":"maxsize"))}else{if(f.get("wsize")<f.get("fitsize")){f.pos=f.scroll+f.clientSize-f.marginMax-f.get("wsize")}else{f.pos=f.scroll+f.marginMin;if(!b&&a){f.size=f.get(e=="y"?"fitsize":"maxsize")}}}}if(!b&&f.size<f.minSize){f.size=f.minSize;a=false}if(f.pos<f.marginMin){var c=f.pos;f.pos=f.marginMin;if(a&&!b){f.size=f.size-(f.pos-c)}}},correctRatio:function(c){var a=this.x,g=this.y,e=false,d=Math.min(a.full,a.size),b=Math.min(g.full,g.size),f=(this.useBox||hs.padToMinWidth);if(d/b>c){d=b*c;if(d<a.minSize){d=a.minSize;b=d/c}e=true}else{if(d/b<c){b=d/c;e=true}}if(hs.padToMinWidth&&a.full<a.minSize){a.imgSize=a.full;g.size=g.imgSize=g.full}else{if(this.useBox){a.imgSize=d;g.imgSize=b}else{a.size=d;g.size=b}}e=this.fitOverlayBox(this.useBox?null:c,e);if(f&&g.size<g.imgSize){g.imgSize=g.size;a.imgSize=g.size*c}if(e||f){a.pos=a.tpos-a.cb+a.tb;a.minSize=a.size;this.justify(a,true);g.pos=g.tpos-g.cb+g.tb;g.minSize=g.size;this.justify(g,true);if(this.overlayBox){this.sizeOverlayBox()}}},fitOverlayBox:function(b,c){var a=this.x,d=this.y;if(this.overlayBox){while(d.size>this.minHeight&&a.size>this.minWidth&&d.get("wsize")>d.get("fitsize")){d.size-=10;if(b){a.size=d.size*b}this.sizeOverlayBox(0,1);c=true}}return c},show:function(){var a=this.x,b=this.y;this.doShowHide("hidden");this.changeSize(1,{wrapper:{width:a.get("wsize"),height:b.get("wsize"),left:a.pos,top:b.pos},content:{left:a.p1+a.get("imgPad"),top:b.p1+b.get("imgPad"),width:a.imgSize||a.size,height:b.imgSize||b.size}},hs.expandDuration)},changeSize:function(b,h,c){if(this.outline&&!this.outlineWhileAnimating){if(b){this.outline.setPosition()}else{this.outline.destroy()}}if(!b){this.destroyOverlays()}var e=this,a=e.x,g=e.y,f=this.easing;if(!b){f=this.easingClose||f}var d=b?function(){if(e.outline){e.outline.table.style.visibility="visible"}setTimeout(function(){e.afterExpand()},50)}:function(){e.afterClose()};if(b){hs.setStyles(this.wrapper,{width:a.t+"px",height:g.t+"px"})}if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:b?0:1});hs.extend(h.wrapper,{opacity:b})}hs.animate(this.wrapper,h.wrapper,{duration:c,easing:f,step:function(k,i){if(e.outline&&e.outlineWhileAnimating&&i.prop=="top"){var j=b?i.pos:1-i.pos;var l={w:a.t+(a.get("wsize")-a.t)*j,h:g.t+(g.get("wsize")-g.t)*j,x:a.tpos+(a.pos-a.tpos)*j,y:g.tpos+(g.pos-g.tpos)*j};e.outline.setPosition(l,0,1)}}});hs.animate(this.content,h.content,c,f,d);if(b){this.wrapper.style.visibility="visible";this.content.style.visibility="visible";this.a.className+=" highslide-active-anchor"}},afterExpand:function(){this.isExpanded=true;this.focus();if(hs.upcoming&&hs.upcoming==this.a){hs.upcoming=null}this.prepareNextOutline();var c=hs.page,b=hs.mouse.x+c.scrollLeft,a=hs.mouse.y+c.scrollTop;this.mouseIsOver=this.x.pos<b&&b<this.x.pos+this.x.get("wsize")&&this.y.pos<a&&a<this.y.pos+this.y.get("wsize");if(this.overlayBox){this.showOverlays()}},prepareNextOutline:function(){var a=this.key;var b=this.outlineType;new hs.Outline(b,function(){try{hs.expanders[a].preloadNext()}catch(c){}})},preloadNext:function(){var b=this.getAdjacentAnchor(1);if(b&&b.onclick.toString().match(/hs\.expand/)){var a=hs.createElement("img",{src:hs.getSrc(b)})}},getAdjacentAnchor:function(c){var b=this.getAnchorIndex(),a=hs.anchors.groups[this.slideshowGroup||"none"];return(a&&a[b+c])||null},getAnchorIndex:function(){var a=hs.getAnchors().groups[this.slideshowGroup||"none"];if(a){for(var b=0;b<a.length;b++){if(a[b]==this.a){return b}}}return null},cancelLoading:function(){hs.discardElement(this.wrapper);hs.expanders[this.key]=null;if(this.loading){hs.loading.style.left="-9999px"}},writeCredits:function(){this.credits=hs.createElement("a",{href:hs.creditsHref,target:hs.creditsTarget,className:"highslide-credits",innerHTML:hs.lang.creditsText,title:hs.lang.creditsTitle});this.createOverlay({overlayId:this.credits,position:this.creditsPosition||"top left"})},getInline:function(types,addOverlay){for(var i=0;i<types.length;i++){var type=types[i],s=null;if(!this[type+"Id"]&&this.thumbsUserSetId){this[type+"Id"]=type+"-for-"+this.thumbsUserSetId}if(this[type+"Id"]){this[type]=hs.getNode(this[type+"Id"])}if(!this[type]&&!this[type+"Text"]&&this[type+"Eval"]){try{s=eval(this[type+"Eval"])}catch(e){}}if(!this[type]&&this[type+"Text"]){s=this[type+"Text"]}if(!this[type]&&!s){this[type]=hs.getNode(this.a["_"+type+"Id"]);if(!this[type]){var next=this.a.nextSibling;while(next&&!hs.isHsAnchor(next)){if((new RegExp("highslide-"+type)).test(next.className||null)){if(!next.id){this.a["_"+type+"Id"]=next.id="hsId"+hs.idCounter++}this[type]=hs.getNode(next.id);break}next=next.nextSibling}}}if(!this[type]&&s){this[type]=hs.createElement("div",{className:"highslide-"+type,innerHTML:s})}if(addOverlay&&this[type]){var o={position:(type=="heading")?"above":"below"};for(var x in this[type+"Overlay"]){o[x]=this[type+"Overlay"][x]}o.overlayId=this[type];this.createOverlay(o)}}},doShowHide:function(a){if(hs.hideSelects){this.showHideElements("SELECT",a)}if(hs.hideIframes){this.showHideElements("IFRAME",a)}if(hs.geckoMac){this.showHideElements("*",a)}},showHideElements:function(c,b){var e=document.getElementsByTagName(c);var a=c=="*"?"overflow":"visibility";for(var f=0;f<e.length;f++){if(a=="visibility"||(document.defaultView.getComputedStyle(e[f],"").getPropertyValue("overflow")=="auto"||e[f].getAttribute("hidden-by")!=null)){var h=e[f].getAttribute("hidden-by");if(b=="visible"&&h){h=h.replace("["+this.key+"]","");e[f].setAttribute("hidden-by",h);if(!h){e[f].style[a]=e[f].origProp}}else{if(b=="hidden"){var k=hs.getPosition(e[f]);k.w=e[f].offsetWidth;k.h=e[f].offsetHeight;var j=(k.x+k.w<this.x.get("opos")||k.x>this.x.get("opos")+this.x.get("osize"));var g=(k.y+k.h<this.y.get("opos")||k.y>this.y.get("opos")+this.y.get("osize"));var d=hs.getWrapperKey(e[f]);if(!j&&!g&&d!=this.key){if(!h){e[f].setAttribute("hidden-by","["+this.key+"]");e[f].origProp=e[f].style[a];e[f].style[a]="hidden"}else{if(h.indexOf("["+this.key+"]")==-1){e[f].setAttribute("hidden-by",h+"["+this.key+"]")}}}else{if((h=="["+this.key+"]"||hs.focusKey==d)&&d!=this.key){e[f].setAttribute("hidden-by","");e[f].style[a]=e[f].origProp||""}else{if(h&&h.indexOf("["+this.key+"]")>-1){e[f].setAttribute("hidden-by",h.replace("["+this.key+"]",""))}}}}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var a=0;a<hs.expanders.length;a++){if(hs.expanders[a]&&a==hs.focusKey){var b=hs.expanders[a];b.content.className+=" highslide-"+b.contentType+"-blur";b.content.style.cursor=hs.ieLt7?"hand":"pointer";b.content.title=hs.lang.focusTitle}}if(this.outline){this.outline.table.style.zIndex=this.wrapper.style.zIndex-1}this.content.className="highslide-"+this.contentType;this.content.title=hs.lang.restoreTitle;if(hs.restoreCursor){hs.styleRestoreCursor=window.opera?"pointer":"url("+hs.graphicsDir+hs.restoreCursor+"), pointer";if(hs.ieLt7&&hs.uaVersion<6){hs.styleRestoreCursor="hand"}this.content.style.cursor=hs.styleRestoreCursor}hs.focusKey=this.key;hs.addEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler)},moveTo:function(a,b){this.x.setPos(a);this.y.setPos(b)},resize:function(d){var a,b,c=d.width/d.height;a=Math.max(d.width+d.dX,Math.min(this.minWidth,this.x.full));if(this.isImage&&Math.abs(a-this.x.full)<12){a=this.x.full}b=a/c;if(b<Math.min(this.minHeight,this.y.full)){b=Math.min(this.minHeight,this.y.full);if(this.isImage){a=b*c}}this.resizeTo(a,b)},resizeTo:function(a,b){this.y.setSize(b);this.x.setSize(a);this.wrapper.style.height=this.y.get("wsize")+"px"},close:function(){if(this.isClosing||!this.isExpanded){return}this.isClosing=true;hs.removeEventListener(document,window.opera?"keypress":"keydown",hs.keyHandler);try{this.content.style.cursor="default";this.changeSize(0,{wrapper:{width:this.x.t,height:this.y.t,left:this.x.tpos-this.x.cb+this.x.tb,top:this.y.tpos-this.y.cb+this.y.tb},content:{left:0,top:0,width:this.x.t,height:this.y.t}},hs.restoreDuration)}catch(a){this.afterClose()}},createOverlay:function(d){var c=d.overlayId;if(typeof c=="string"){c=hs.getNode(c)}if(d.html){c=hs.createElement("div",{innerHTML:d.html})}if(!c||typeof c=="string"){return}c.style.display="block";this.genOverlayBox();var b=d.width&&/^[0-9]+(px|%)$/.test(d.width)?d.width:"auto";if(/^(left|right)panel$/.test(d.position)&&!/^[0-9]+px$/.test(d.width)){b="200px"}var a=hs.createElement("div",{id:"hsId"+hs.idCounter++,hsId:d.hsId},{position:"absolute",visibility:"hidden",width:b,direction:hs.lang.cssDirection||"",opacity:0},this.overlayBox,true);a.appendChild(c);hs.extend(a,{opacity:1,offsetX:0,offsetY:0,dur:(d.fade===0||d.fade===false||(d.fade==2&&hs.ie))?0:250});hs.extend(a,d);if(this.gotOverlays){this.positionOverlay(a);if(!a.hideOnMouseOut||this.mouseIsOver){hs.animate(a,{opacity:a.opacity},a.dur)}}hs.push(this.overlays,hs.idCounter-1)},positionOverlay:function(c){var d=c.position||"middle center",b=c.offsetX,a=c.offsetY;if(c.parentNode!=this.overlayBox){this.overlayBox.appendChild(c)}if(/left$/.test(d)){c.style.left=b+"px"}if(/center$/.test(d)){hs.setStyles(c,{left:"50%",marginLeft:(b-Math.round(c.offsetWidth/2))+"px"})}if(/right$/.test(d)){c.style.right=-b+"px"}if(/^leftpanel$/.test(d)){hs.setStyles(c,{right:"100%",marginRight:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p1=c.offsetWidth}else{if(/^rightpanel$/.test(d)){hs.setStyles(c,{left:"100%",marginLeft:this.x.cb+"px",top:-this.y.cb+"px",bottom:-this.y.cb+"px",overflow:"auto"});this.x.p2=c.offsetWidth}}if(/^top/.test(d)){c.style.top=a+"px"}if(/^middle/.test(d)){hs.setStyles(c,{top:"50%",marginTop:(a-Math.round(c.offsetHeight/2))+"px"})}if(/^bottom/.test(d)){c.style.bottom=-a+"px"}if(/^above$/.test(d)){hs.setStyles(c,{left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",bottom:"100%",marginBottom:this.y.cb+"px",width:"auto"});this.y.p1=c.offsetHeight}else{if(/^below$/.test(d)){hs.setStyles(c,{position:"relative",left:(-this.x.p1-this.x.cb)+"px",right:(-this.x.p2-this.x.cb)+"px",top:"100%",marginTop:this.y.cb+"px",width:"auto"});this.y.p2=c.offsetHeight;c.style.position="absolute"}}},getOverlays:function(){this.getInline(["heading","caption"],true);if(this.heading&&this.dragByHeading){this.heading.className+=" highslide-move"}if(hs.showCredits){this.writeCredits()}for(var a=0;a<hs.overlays.length;a++){var d=hs.overlays[a],e=d.thumbnailId,b=d.slideshowGroup;if((!e&&!b)||(e&&e==this.thumbsUserSetId)||(b&&b===this.slideshowGroup)){this.createOverlay(d)}}var c=[];for(var a=0;a<this.overlays.length;a++){var d=hs.$("hsId"+this.overlays[a]);if(/panel$/.test(d.position)){this.positionOverlay(d)}else{hs.push(c,d)}}for(var a=0;a<c.length;a++){this.positionOverlay(c[a])}this.gotOverlays=true},genOverlayBox:function(){if(!this.overlayBox){this.overlayBox=hs.createElement("div",{className:this.wrapperClassName},{position:"absolute",width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+"px",height:(this.y.size||this.y.full)+"px",visibility:"hidden",overflow:"hidden",zIndex:hs.ie?4:"auto"},hs.container,true)}},sizeOverlayBox:function(f,d){var c=this.overlayBox,a=this.x,h=this.y;hs.setStyles(c,{width:a.size+"px",height:h.size+"px"});if(f||d){for(var e=0;e<this.overlays.length;e++){var g=hs.$("hsId"+this.overlays[e]);var b=(hs.ieLt7||document.compatMode=="BackCompat");if(g&&/^(above|below)$/.test(g.position)){if(b){g.style.width=(c.offsetWidth+2*a.cb+a.p1+a.p2)+"px"}h[g.position=="above"?"p1":"p2"]=g.offsetHeight}if(g&&b&&/^(left|right)panel$/.test(g.position)){g.style.height=(c.offsetHeight+2*h.cb)+"px"}}}if(f){hs.setStyles(this.content,{top:h.p1+"px"});hs.setStyles(c,{top:(h.p1+h.cb)+"px"})}},showOverlays:function(){var a=this.overlayBox;a.className="";hs.setStyles(a,{top:(this.y.p1+this.y.cb)+"px",left:(this.x.p1+this.x.cb)+"px",overflow:"visible"});if(hs.safari){a.style.visibility="visible"}this.wrapper.appendChild(a);for(var c=0;c<this.overlays.length;c++){var d=hs.$("hsId"+this.overlays[c]);d.style.zIndex=d.zIndex||4;if(!d.hideOnMouseOut||this.mouseIsOver){d.style.visibility="visible";hs.setStyles(d,{visibility:"visible",display:""});hs.animate(d,{opacity:d.opacity},d.dur)}}},destroyOverlays:function(){if(!this.overlays.length){return}hs.discardElement(this.overlayBox)},createFullExpand:function(){this.fullExpandLabel=hs.createElement("a",{href:"javascript:hs.expanders["+this.key+"].doFullExpand();",title:hs.lang.fullExpandTitle,className:"highslide-full-expand"});this.createOverlay({overlayId:this.fullExpandLabel,position:hs.fullExpandPosition,hideOnMouseOut:true,opacity:hs.fullExpandOpacity})},doFullExpand:function(){try{if(this.fullExpandLabel){hs.discardElement(this.fullExpandLabel)}this.focus();var c=this.x.size,a=this.y.size;this.resizeTo(this.x.full,this.y.full);var b=this.x.pos-(this.x.size-c)/2;if(b<hs.marginLeft){b=hs.marginLeft}var f=this.y.pos-(this.y.size-a)/2;if(f<hs.marginTop){f=hs.marginTop}this.moveTo(b,f);this.doShowHide("hidden")}catch(d){this.error(d)}},afterClose:function(){this.a.className=this.a.className.replace("highslide-active-anchor","");this.doShowHide("visible");if(this.outline&&this.outlineWhileAnimating){this.outline.destroy()}hs.discardElement(this.wrapper);hs.expanders[this.key]=null;hs.reOrder()}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie&&window==window.top){(function(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,50);return}hs.ready()})()}hs.addEventListener(document,"DOMContentLoaded",hs.ready);hs.addEventListener(window,"load",hs.ready);hs.addEventListener(document,"ready",function(){if(hs.expandCursor){var d=hs.createElement("style",{type:"text/css"},null,document.getElementsByTagName("HEAD")[0]),c=document.compatMode=="BackCompat";function b(f,g){if(hs.ie&&(hs.uaVersion<9||c)){var e=document.styleSheets[document.styleSheets.length-1];if(typeof(e.addRule)=="object"){e.addRule(f,g)}}else{d.appendChild(document.createTextNode(f+" {"+g+"}"))}}function a(e){return"expression( ( ( ignoreMe = document.documentElement."+e+" ? document.documentElement."+e+" : document.body."+e+" ) ) + 'px' );"}if(hs.expandCursor){b(".highslide img","cursor: url("+hs.graphicsDir+hs.expandCursor+"), pointer !important;")}}});hs.addEventListener(window,"resize",function(){hs.getPageSize()});hs.addEventListener(document,"mousemove",function(a){hs.mouse={x:a.clientX,y:a.clientY}});hs.addEventListener(document,"mousedown",hs.mouseClickHandler);hs.addEventListener(document,"mouseup",hs.mouseClickHandler);hs.addEventListener(document,"ready",hs.getAnchors);hs.addEventListener(window,"load",hs.preloadImages)}; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.packed.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.packed.js new file mode 100644 index 000000000..42837a211 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.packed.js @@ -0,0 +1,9 @@ +/** + * Name: Highslide JS + * Version: 4.1.13 (2011-10-06) + * Config: default +packed + * Author: Torstein Hønsi + * Support: www.highslide.com/support + * License: www.highslide.com/#license + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){u m={1F:{8l:\'6P\',6K:\'93...\',6L:\'6b 1L 92\',7T:\'6b 1L 91 1L 8Z\',88:\'90 1L 94 I (f)\',8e:\'95 2t <i>6I 6F</i>\',8b:\'9a 1L 98 6I 6F 97\',5V:\'6b 1L 2h 1Y, 96 6O 8Y 1L 3c. 8X 8Q 8P S 1A 6O 79.\'},47:\'1c/8O/\',4l:\'8M.6A\',3S:\'8N.6A\',84:5c,7y:5c,43:15,7J:15,48:15,7N:15,3L:8R,7g:0.75,8j:G,5U:5,2R:2,8S:3,3V:1a,7z:\'2S 2o\',7O:1,7W:G,8x:\'8W://1c.8V/\',8o:\'8U\',7e:G,5t:[\'a\'],68:G,3Y:6W,3K:6W,3N:G,1h:\'9b-9c\',3U:[],5j:G,N:[],5i:[\'3N\',\'2d\',\'1h\',\'2R\',\'9u\',\'9t\',\'9s\',\'6R\',\'9q\',\'9r\',\'9v\',\'6X\',\'89\',\'68\',\'M\',\'16\',\'60\',\'3Y\',\'3K\',\'4X\',\'5q\',\'8h\',\'3b\',\'1J\',\'85\',\'86\',\'1l\'],1v:[],3F:0,9w:{x:[\'8n\',\'18\',\'6c\',\'2o\',\'7x\'],y:[\'42\',\'W\',\'6a\',\'2S\',\'4r\']},4B:{},6X:{},6R:{},2A:[],2Q:{},6m:{},4a:[],1R:/9A\\/4\\.0/.14(3W.4V)?8:6g((3W.4V.58().2X(/.+(?:6V|9z|9y|1P)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),1P:(L.3R&&!1n.2r),4D:/9x/.14(3W.4V),8y:/9p.+6V:1\\.[0-8].+9o/.14(3W.4V),$:A(1t){q(1t)C L.9h(1t)},2e:A(2c,2v){2c[2c.X]=2v},Z:A(6S,3a,2F,6f,6U){u B=L.Z(6S);q(3a)m.2q(B,3a);q(6U)m.T(B,{9f:0,9d:\'3r\',5h:0});q(2F)m.T(B,2F);q(6f)6f.2g(B);C B},2q:A(B,3a){S(u x 3v 3a)B[x]=3a[x];C B},T:A(B,2F){S(u x 3v 2F){q(m.2Y&&x==\'1o\'){q(2F[x]>0.99)B.F.9e(\'3P\');K B.F.3P=\'7k(1o=\'+(2F[x]*1V)+\')\'}K B.F[x]=2F[x]}},3p:A(B,Q,25){u 2O,3h,2M;q(1m 25!=\'5I\'||25===H){u 2y=87;25={2Z:2y[2],1J:2y[3],5y:2y[4]}}q(1m 25.2Z!=\'3g\')25.2Z=5c;25.1J=1d[25.1J]||1d.6Z;25.4c=m.2q({},Q);S(u 2b 3v Q){u e=1S m.1k(B,25,2b);2O=6g(m.5s(B,2b))||0;3h=6g(Q[2b]);2M=2b!=\'1o\'?\'D\':\'\';e.2z(2O,3h,2M)}},5s:A(B,Q){q(B.F[Q]){C B.F[Q]}K q(L.63){C L.63.8B(B,H).8s(Q)}K{q(Q==\'1o\')Q=\'3P\';u 2v=B.8L[Q.31(/\\-(\\w)/g,A(a,b){C b.9j()})];q(Q==\'3P\')2v=2v.31(/7k\\(1o=([0-9]+)\\)/,A(a,b){C b/1V});C 2v===\'\'?1:2v}},4N:A(){u d=L,w=1n,3D=d.5a&&d.5a!=\'5K\'?d.3i:d.4J,2Y=m.1P&&(m.1R<9||1m 71==\'1Z\');u M=2Y?3D.7j:(d.3i.7j||4H.9n),16=2Y?3D.9m:4H.9l;m.2J={M:M,16:16,4w:2Y?3D.4w:71,4y:2Y?3D.4y:9k};C m.2J},62:A(B){u p={x:B.7n,y:B.7s};3m(B.7m){B=B.7m;p.x+=B.7n;p.y+=B.7s;q(B!=L.4J&&B!=L.3i){p.x-=B.4w;p.y-=B.4y}}C p},4b:A(a,21,2z,J){q(!a)a=m.Z(\'a\',H,{3q:\'3r\'},m.20);q(1m a.3E==\'A\')C 21;1z{1S m.46(a,21,2z);C 1a}1C(e){C G}},7a:A(){u 5X=0,54=-1,N=m.N,z,1p;S(u i=0;i<N.X;i++){z=N[i];q(z){1p=z.V.F.1p;q(1p&&1p>5X){5X=1p;54=i}}}q(54==-1)m.2u=-1;K N[54].3k()},5r:A(a,3J){a.3E=a.3x;u p=a.3E?a.3E():H;a.3E=H;C(p&&1m p[3J]!=\'1Z\')?p[3J]:(1m m[3J]!=\'1Z\'?m[3J]:H)},5l:A(a){u 1l=m.5r(a,\'1l\');q(1l)C 1l;C a.3y},3B:A(1t){u 4s=m.$(1t),2U=m.6m[1t],a={};q(!4s&&!2U)C H;q(!2U){2U=4s.7f(G);2U.1t=\'\';m.6m[1t]=2U;C 4s}K{C 2U.7f(G)}},3t:A(d){q(d)m.5k.2g(d);m.5k.3G=\'\'},74:A(66,z){u 2G=z||m.2C();z=2G;q(m.2W)C 1a;K m.2G=2G;m.3d(L,1n.2r?\'4R\':\'4T\',m.3H);1z{m.2W=66;66.3x()}1C(e){m.2G=m.2W=H}1z{z.2h()}1C(e){}C 1a},4e:A(B,1W){u z=m.2C(B);q(z)C m.74(z.5m(1W),z);K C 1a},79:A(B){C m.4e(B,-1)},1A:A(B){C m.4e(B,1)},3H:A(e){q(!e)e=1n.1G;q(!e.1M)e.1M=e.6x;q(1m e.1M.7c!=\'1Z\')C G;u z=m.2C();u 1W=H;7u(e.8F){1q 70:q(z)z.5M();C G;1q 32:1q 34:1q 39:1q 40:1W=1;6r;1q 8:1q 33:1q 37:1q 38:1W=-1;6r;1q 27:1q 13:1W=0}q(1W!==H){m.3d(L,1n.2r?\'4R\':\'4T\',m.3H);q(!m.7e)C G;q(e.4F)e.4F();K e.8E=1a;q(z){q(1W==0){z.2h()}K{m.4e(z.R,1W)}C 1a}}C G},8G:A(O){m.2e(m.1v,m.2q(O,{2a:\'2a\'+m.3F++}))},65:A(6l,4u){u B,30=/^1c-V-([0-9]+)$/;B=6l;3m(B.2V){q(B.1t&&30.14(B.1t))C B.1t.31(30,"$1");B=B.2V}q(!4u){B=6l;3m(B.2V){q(B.4g&&m.4E(B)){S(u R=0;R<m.N.X;R++){u z=m.N[R];q(z&&z.a==B)C R}}B=B.2V}}C H},2C:A(B,4u){q(1m B==\'1Z\')C m.N[m.2u]||H;q(1m B==\'3g\')C m.N[B]||H;q(1m B==\'69\')B=m.$(B);C m.N[m.65(B,4u)]||H},4E:A(a){C(a.3x&&a.3x.7F().31(/\\s/g,\' \').2X(/m.(8J|e)8D/))},7Y:A(){S(u i=0;i<m.N.X;i++)q(m.N[i]&&m.N[i].3C)m.7a()},6i:A(e){q(!e)e=1n.1G;q(e.8I>1)C G;q(!e.1M)e.1M=e.6x;u B=e.1M;3m(B.2V&&!(/1c-(1Y|3c|4Z|2T)/.14(B.1g))){B=B.2V}u z=m.2C(B);q(z&&(z.6k||!z.3C))C G;q(z&&e.J==\'7o\'){q(e.1M.7c)C G;u 2X=B.1g.2X(/1c-(1Y|3c|2T)/);q(2X){m.1U={z:z,J:2X[1],18:z.x.E,M:z.x.I,W:z.y.E,16:z.y.I,72:e.4z,76:e.4o};m.1D(L,\'6w\',m.6D);q(e.4F)e.4F();q(/1c-(1Y|4Z)-5W/.14(z.11.1g)){z.3k();m.6B=G}C 1a}}K q(e.J==\'7i\'){m.3d(L,\'6w\',m.6D);q(m.1U){q(m.3e&&m.1U.J==\'1Y\')m.1U.z.11.F.2N=m.3e;u 2E=m.1U.2E;q(!2E&&!m.6B&&!/(3c|2T)/.14(m.1U.J)){z.2h()}K q(2E||(!2E&&m.8C)){m.1U.z.45(\'1i\')}m.6B=1a;m.1U=H}K q(/1c-1Y-5W/.14(B.1g)){B.F.2N=m.3e}}C 1a},6D:A(e){q(!m.1U)C G;q(!e)e=1n.1G;u a=m.1U,z=a.z;a.5b=e.4z-a.72;a.6o=e.4o-a.76;u 6n=1d.a7(1d.7q(a.5b,2)+1d.7q(a.6o,2));q(!a.2E)a.2E=(a.J!=\'1Y\'&&6n>0)||(6n>(m.al||5));q(a.2E&&e.4z>5&&e.4o>5){q(a.J==\'2T\')z.2T(a);K{z.5v(a.18+a.5b,a.W+a.6o);q(a.J==\'1Y\')z.11.F.2N=\'3c\'}}C 1a},8g:A(e){1z{q(!e)e=1n.1G;u 4C=/ao/i.14(e.J);q(!e.1M)e.1M=e.6x;q(!e.4v)e.4v=4C?e.an:e.9C;u z=m.2C(e.1M);q(!z.3C)C;q(!z||!e.4v||m.2C(e.4v,G)==z||m.1U)C;S(u i=0;i<z.1v.X;i++)(A(){u o=m.$(\'2a\'+z.1v[i]);q(o&&o.4K){q(4C)m.T(o,{1b:\'1X\',3q:\'\'});m.3p(o,{1o:4C?o.1o:0},o.2p)}})()}1C(e){}},1D:A(B,1G,2i){q(B==L&&1G==\'2H\'){m.2e(m.4a,2i)}1z{B.1D(1G,2i,1a)}1C(e){1z{B.7l(\'3Z\'+1G,2i);B.ac(\'3Z\'+1G,2i)}1C(e){B[\'3Z\'+1G]=2i}}},3d:A(B,1G,2i){1z{B.3d(1G,2i,1a)}1C(e){1z{B.7l(\'3Z\'+1G,2i)}1C(e){B[\'3Z\'+1G]=H}}},4A:A(i){q(m.5j&&m.3U[i]&&m.3U[i]!=\'1Z\'){u 1f=L.Z(\'1f\');1f.4S=A(){1f=H;m.4A(i+1)};1f.1l=m.3U[i]}},7E:A(3g){q(3g&&1m 3g!=\'5I\')m.5U=3g;u 2c=m.51();S(u i=0;i<2c.36.X&&i<m.5U;i++){m.2e(m.3U,m.5l(2c.36[i]))}q(m.1h)1S m.41(m.1h,A(){m.4A(0)});K m.4A(0);q(m.3S)u 6A=m.Z(\'1f\',{1l:m.47+m.3S})},6y:A(){q(!m.20){m.3j=m.1P&&m.1R<7;m.2Y=m.1P&&m.1R<9;m.4N();S(u x 3v m.4O){q(1m m[x]!=\'1Z\')m.1F[x]=m[x];K q(1m m.1F[x]==\'1Z\'&&1m m.4O[x]!=\'1Z\')m.1F[x]=m.4O[x]}m.20=m.Z(\'1O\',{1g:\'1c-20\'},{1e:\'29\',18:0,W:0,M:\'1V%\',1p:m.3L,8a:\'6P\'},L.4J,G);m.1E=m.Z(\'a\',{1g:\'1c-1E\',3w:m.1F.6L,3G:m.1F.6K,3y:\'8u:;\'},{1e:\'29\',W:\'-3X\',1o:m.7g,1p:1},m.20);m.5k=m.Z(\'1O\',H,{3q:\'3r\'},m.20);1d.at=A(t,b,c,d){C c*t/d+b};1d.6Z=A(t,b,c,d){C c*(t/=d)*t+b};m.8A=m.3j;m.8f=((1n.2r&&m.1R<9)||3W.aw==\'ay\'||(m.3j&&m.1R<5.5))}},2H:A(){q(m.5n)C;m.5n=G;S(u i=0;i<m.4a.X;i++)m.4a[i]()},7p:A(){u B,17,3R=[],36=[],2s={},30;S(u i=0;i<m.5t.X;i++){17=L.4U(m.5t[i]);S(u j=0;j<17.X;j++){B=17[j];30=m.4E(B);q(30){m.2e(3R,B);q(30[0]==\'m.4b\')m.2e(36,B);u g=m.5r(B,\'3b\')||\'3r\';q(!2s[g])2s[g]=[];m.2e(2s[g],B)}}}m.4p={3R:3R,2s:2s,36:36};C m.4p},51:A(){C m.4p||m.7p()},2h:A(B){u z=m.2C(B);q(z)z.2h();C 1a}};m.1k=A(1Q,1w,Q){k.1w=1w;k.1Q=1Q;k.Q=Q;q(!1w.7h)1w.7h={}};m.1k.53={5C:A(){(m.1k.2x[k.Q]||m.1k.2x.7r)(k);q(k.1w.2x)k.1w.2x.77(k.1Q,k.2I,k)},2z:A(7b,1L,2M){k.5x=(1S 78()).73();k.2O=7b;k.3h=1L;k.2M=2M;k.2I=k.2O;k.E=k.5E=0;u 4H=k;A t(4d){C 4H.2x(4d)}t.1Q=k.1Q;q(t()&&m.2A.2e(t)==1){m.7d=9M(A(){u 2A=m.2A;S(u i=0;i<2A.X;i++)q(!2A[i]())2A.9P(i--,1);q(!2A.X){9Q(m.7d)}},13)}},2x:A(4d){u t=(1S 78()).73();q(4d||t>=k.1w.2Z+k.5x){k.2I=k.3h;k.E=k.5E=1;k.5C();k.1w.4c[k.Q]=G;u 5z=G;S(u i 3v k.1w.4c)q(k.1w.4c[i]!==G)5z=1a;q(5z){q(k.1w.5y)k.1w.5y.77(k.1Q)}C 1a}K{u n=t-k.5x;k.5E=n/k.1w.2Z;k.E=k.1w.1J(n,0,1,k.1w.2Z);k.2I=k.2O+((k.3h-k.2O)*k.E);k.5C()}C G}};m.2q(m.1k,{2x:{1o:A(1k){m.T(1k.1Q,{1o:1k.2I})},7r:A(1k){1z{q(1k.1Q.F&&1k.1Q.F[1k.Q]!=H)1k.1Q.F[1k.Q]=1k.2I+1k.2M;K 1k.1Q[1k.Q]=1k.2I}1C(e){}}}});m.41=A(1h,2P){k.2P=2P;k.1h=1h;u v=m.1R,4Y;k.5J=m.1P&&m.1R<7;q(!1h){q(2P)2P();C}m.6y();k.28=m.Z(\'28\',{9V:0},{1b:\'1i\',1e:\'29\',9X:\'9Y\',M:0},m.20,G);u 5R=m.Z(\'5R\',H,H,k.28,1);k.1H=[];S(u i=0;i<=8;i++){q(i%3==0)4Y=m.Z(\'4Y\',H,{16:\'2l\'},5R,G);k.1H[i]=m.Z(\'1H\',H,H,4Y,G);u F=i!=4?{9Z:0,aF:0}:{1e:\'6j\'};m.T(k.1H[i],F)}k.1H[4].1g=1h+\' 1c-19\';k.7t()};m.41.53={7t:A(){u 1l=m.47+(m.9K||"9O/")+k.1h+".9N";u 6T=m.4D&&m.1R<7v?m.20:H;k.2k=m.Z(\'1f\',H,{1e:\'29\',W:\'-3X\'},6T,G);u 6E=k;k.2k.4S=A(){6E.6N()};k.2k.1l=1l},6N:A(){u o=k.1j=k.2k.M/4,E=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1x={16:(2*o)+\'D\',M:(2*o)+\'D\'};S(u i=0;i<=8;i++){q(E[i]){q(k.5J){u w=(i==1||i==7)?\'1V%\':k.2k.M+\'D\';u 1O=m.Z(\'1O\',H,{M:\'1V%\',16:\'1V%\',1e:\'6j\',2L:\'1i\'},k.1H[i],G);m.Z(\'1O\',H,{3P:"a0:9U.9W.a1(a8=9I, 1l=\'"+k.2k.1l+"\')",1e:\'29\',M:w,16:k.2k.16+\'D\',18:(E[i][0]*o)+\'D\',W:(E[i][1]*o)+\'D\'},1O,G)}K{m.T(k.1H[i],{9J:\'5T(\'+k.2k.1l+\') \'+(E[i][0]*o)+\'D \'+(E[i][1]*o)+\'D\'})}q(1n.2r&&(i==3||i==5))m.Z(\'1O\',H,1x,k.1H[i],G);m.T(k.1H[i],1x)}}k.2k=H;q(m.2Q[k.1h])m.2Q[k.1h].4q();m.2Q[k.1h]=k;q(k.2P)k.2P()},3A:A(E,1j,6H,2p,1J){u z=k.z,9E=z.V.F,1j=1j||0,E=E||{x:z.x.E+1j,y:z.y.E+1j,w:z.x.P(\'1u\')-2*1j,h:z.y.P(\'1u\')-2*1j};q(6H)k.28.F.1b=(E.h>=4*k.1j)?\'1X\':\'1i\';m.T(k.28,{18:(E.x-k.1j)+\'D\',W:(E.y-k.1j)+\'D\',M:(E.w+2*k.1j)+\'D\'});E.w-=2*k.1j;E.h-=2*k.1j;m.T(k.1H[4],{M:E.w>=0?E.w+\'D\':0,16:E.h>=0?E.h+\'D\':0});q(k.5J)k.1H[3].F.16=k.1H[5].F.16=k.1H[4].F.16},4q:A(6Y){q(6Y)k.28.F.1b=\'1i\';K m.3t(k.28)}};m.4W=A(z,1x){k.z=z;k.1x=1x;k.2D=1x==\'x\'?\'ax\':\'av\';k.2w=k.2D.58();k.3O=1x==\'x\'?\'ar\':\'au\';k.5o=k.3O.58();k.5f=1x==\'x\'?\'az\':\'aA\';k.aG=k.5f.58();k.1B=k.2f=0};m.4W.53={P:A(R){7u(R){1q\'5O\':C k.1s+k.2j+(k.t-m.1E[\'1j\'+k.2D])/2;1q\'1u\':C k.I+2*k.Y+k.1B+k.2f;1q\'3o\':C k.55-k.2K-k.4I;1q\'5G\':C k.P(\'3o\')-2*k.Y-k.1B-k.2f;1q\'3Q\':C k.E-(k.z.19?k.z.19.1j:0);1q\'64\':C k.P(\'1u\')+(k.z.19?2*k.z.19.1j:0);1q\'4h\':C k.1y?1d.56((k.I-k.1y)/2):0}},5w:A(){k.Y=(k.z.11[\'1j\'+k.2D]-k.t)/2;k.4I=m[\'5h\'+k.5f]},5g:A(){k.t=k.z.B[k.2w]?aC(k.z.B[k.2w]):k.z.B[\'1j\'+k.2D];k.1s=k.z.1s[k.1x];k.2j=(k.z.B[\'1j\'+k.2D]-k.t)/2;q(k.1s==0||k.1s==-1){k.1s=(m.2J[k.2w]/2)+m.2J[\'2B\'+k.3O]}},5B:A(){u z=k.z;k.3n=\'2l\';k.E=k.1s-k.Y+k.2j;q(k.5q&&k.1x==\'x\')z.4X=1d.22(z.4X||k.U,z.5q*k.U/z.y.U);k.I=1d.22(k.U,z[\'67\'+k.2D]||k.U);k.1T=z.3N?1d.22(z[\'22\'+k.2D],k.U):k.U;q(z.3f&&z.2d){k.I=z[k.2w];k.1y=k.U}q(k.1x==\'x\'&&m.3V)k.1T=z.3Y;k.2K=m[\'5h\'+k.3O];k.2B=m.2J[\'2B\'+k.3O];k.55=m.2J[k.2w]},6h:A(i){u z=k.z;q(z.3f&&(z.2d||m.3V)){k.1y=i;k.I=1d.67(k.I,k.1y);z.11.F[k.5o]=k.P(\'4h\')+\'D\'}K k.I=i;z.11.F[k.2w]=i+\'D\';z.V.F[k.2w]=k.P(\'1u\')+\'D\';q(z.19)z.19.3A();q(k.1x==\'x\'&&z.1r)z.35(G)},5Z:A(i){k.E=i;k.z.V.F[k.5o]=i+\'D\';q(k.z.19)k.z.19.3A()}};m.46=A(a,21,2z,26){q(L.ab&&m.1P&&!m.5n){m.1D(L,\'2H\',A(){1S m.46(a,21,2z,26)});C}k.a=a;k.2z=2z;k.26=26||\'1Y\';k.3f=!k.ak;m.5j=1a;k.1v=[];m.6y();u R=k.R=m.N.X;S(u i=0;i<m.5i.X;i++){u 2b=m.5i[i];k[2b]=21&&1m 21[2b]!=\'1Z\'?21[2b]:m[2b]}q(!k.1l)k.1l=a.3y;u B=(21&&21.5Y)?m.$(21.5Y):a;B=k.8k=B.4U(\'1f\')[0]||B;k.4Q=B.1t||a.1t;S(u i=0;i<m.N.X;i++){q(m.N[i]&&m.N[i].a==a){m.N[i].3k();C 1a}}q(!m.ad)S(u i=0;i<m.N.X;i++){q(m.N[i]&&m.N[i].8k!=B&&!m.N[i].52){m.N[i].6t()}}m.N[R]=k;q(!m.8j&&!m.2W){q(m.N[R-1])m.N[R-1].2h();q(1m m.2u!=\'1Z\'&&m.N[m.2u])m.N[m.2u].2h()}k.B=B;k.1s=k.8h||m.62(B);m.4N();u x=k.x=1S m.4W(k,\'x\');x.5g();u y=k.y=1S m.4W(k,\'y\');y.5g();k.V=m.Z(\'1O\',{1t:\'1c-V-\'+k.R,1g:\'1c-V \'+k.60},{1b:\'1i\',1e:\'29\',1p:m.3L+=2},H,G);k.V.aB=k.V.aD=m.8g;q(k.26==\'1Y\'&&k.2R==2)k.2R=0;q(!k.1h){k[k.26+\'5e\']()}K q(m.2Q[k.1h]){k.5N();k[k.26+\'5e\']()}K{k.5H();u z=k;1S m.41(k.1h,A(){z.5N();z[z.26+\'5e\']()})}C G};m.46.53={5Q:A(e){q(m.aE)aa(\'a9 \'+e.9L+\': \'+e.9F);K 1n.9H.3y=k.1l},5N:A(){u 19=k.19=m.2Q[k.1h];19.z=k;19.28.F.1p=k.V.F.1p-1;m.2Q[k.1h]=H},5H:A(){q(k.52||k.1E)C;k.1E=m.1E;u z=k;k.1E.3x=A(){z.6t()};u z=k,l=k.x.P(\'5O\')+\'D\',t=k.y.P(\'5O\')+\'D\';5S(A(){q(z.1E)m.T(z.1E,{18:l,W:t,1p:m.3L++})},1V)},af:A(){u z=k;u 1f=L.Z(\'1f\');k.11=1f;1f.4S=A(){q(m.N[z.R])z.81()};q(m.aq)1f.9D=A(){C 1a};1f.1g=\'1c-1Y\';m.T(1f,{1b:\'1i\',3q:\'7I\',1e:\'29\',4X:\'3X\',1p:3});1f.3w=m.1F.5V;q(m.4D&&m.1R<7v)m.20.2g(1f);q(m.1P&&m.a2)1f.1l=H;1f.1l=k.1l;k.5H()},81:A(){1z{q(!k.11)C;k.11.4S=H;q(k.52)C;K k.52=G;u x=k.x,y=k.y;q(k.1E){m.T(k.1E,{W:\'-3X\'});k.1E=H}x.U=k.11.M;y.U=k.11.16;m.T(k.11,{M:x.t+\'D\',16:y.t+\'D\'});k.V.2g(k.11);m.20.2g(k.V);x.5w();y.5w();m.T(k.V,{18:(x.1s+x.2j-x.Y)+\'D\',W:(y.1s+x.2j-y.Y)+\'D\'});k.80();u 1K=x.U/y.U;x.5B();k.3n(x);y.5B();k.3n(y);q(k.1r)k.35(0,1);q(k.3N){k.7R(1K);q(k.3f&&k.x.U>(k.x.1y||k.x.I)){k.8p();q(k.1v.X==1)k.35()}}k.7U()}1C(e){k.5Q(e)}},3n:A(p,3l){u a5,a3=p.1M,1x=p==k.x?\'x\':\'y\';u 5D=1a;u 3s=p.z.3N;p.E=1d.56(p.E-((p.P(\'1u\')-p.t)/2));q(p.E<p.2B+p.2K){p.E=p.2B+p.2K;5D=G}q(!3l&&p.I<p.1T){p.I=p.1T;3s=1a}q(p.E+p.P(\'1u\')>p.2B+p.55-p.4I){q(!3l&&5D&&3s){p.I=1d.22(p.I,p.P(1x==\'y\'?\'3o\':\'5G\'))}K q(p.P(\'1u\')<p.P(\'3o\')){p.E=p.2B+p.55-p.4I-p.P(\'1u\')}K{p.E=p.2B+p.2K;q(!3l&&3s)p.I=p.P(1x==\'y\'?\'3o\':\'5G\')}}q(!3l&&p.I<p.1T){p.I=p.1T;3s=1a}q(p.E<p.2K){u 7X=p.E;p.E=p.2K;q(3s&&!3l)p.I=p.I-(p.E-7X)}},7R:A(1K){u x=k.x,y=k.y,2m=1a,1N=1d.22(x.U,x.I),24=1d.22(y.U,y.I),2d=(k.2d||m.3V);q(1N/24>1K){ 1N=24*1K;q(1N<x.1T){1N=x.1T;24=1N/1K}2m=G}K q(1N/24<1K){ 24=1N/1K;2m=G}q(m.3V&&x.U<x.1T){x.1y=x.U;y.I=y.1y=y.U}K q(k.2d){x.1y=1N;y.1y=24}K{x.I=1N;y.I=24}2m=k.7S(k.2d?H:1K,2m);q(2d&&y.I<y.1y){y.1y=y.I;x.1y=y.I*1K}q(2m||2d){x.E=x.1s-x.Y+x.2j;x.1T=x.I;k.3n(x,G);y.E=y.1s-y.Y+y.2j;y.1T=y.I;k.3n(y,G);q(k.1r)k.35()}},7S:A(1K,2m){u x=k.x,y=k.y;q(k.1r){3m(y.I>k.3K&&x.I>k.3Y&&y.P(\'1u\')>y.P(\'3o\')){y.I-=10;q(1K)x.I=y.I*1K;k.35(0,1);2m=G}}C 2m},7U:A(){u x=k.x,y=k.y;k.45(\'1i\');k.6e(1,{V:{M:x.P(\'1u\'),16:y.P(\'1u\'),18:x.E,W:y.E},11:{18:x.1B+x.P(\'4h\'),W:y.1B+y.P(\'4h\'),M:x.1y||x.I,16:y.1y||y.I}},m.84)},6e:A(23,1L,2p){q(k.19&&!k.2R){q(23)k.19.3A();K k.19.4q()}q(!23)k.8v();u z=k,x=z.x,y=z.y,1J=k.1J;q(!23)1J=k.85||1J;u 7A=23?A(){q(z.19)z.19.28.F.1b="1X";5S(A(){z.7B()},50)}:A(){z.5P()};q(23)m.T(k.V,{M:x.t+\'D\',16:y.t+\'D\'});q(k.86){m.T(k.V,{1o:23?0:1});m.2q(1L.V,{1o:23})}m.3p(k.V,1L.V,{2Z:2p,1J:1J,2x:A(2v,2y){q(z.19&&z.2R&&2y.Q==\'W\'){u 3I=23?2y.E:1-2y.E;u E={w:x.t+(x.P(\'1u\')-x.t)*3I,h:y.t+(y.P(\'1u\')-y.t)*3I,x:x.1s+(x.E-x.1s)*3I,y:y.1s+(y.E-y.1s)*3I};z.19.3A(E,0,1)}}});m.3p(k.11,1L.11,2p,1J,7A);q(23){k.V.F.1b=\'1X\';k.11.F.1b=\'1X\';k.a.1g+=\' 1c-7P-7Q\'}},7B:A(){k.3C=G;k.3k();q(m.2W&&m.2W==k.a)m.2W=H;k.7w();u p=m.2J,5u=m.4B.x+p.4w,5p=m.4B.y+p.4y;k.6q=k.x.E<5u&&5u<k.x.E+k.x.P(\'1u\')&&k.y.E<5p&&5p<k.y.E+k.y.P(\'1u\');q(k.1r)k.8d()},7w:A(){u R=k.R;u 1h=k.1h;1S m.41(1h,A(){1z{m.N[R].7K()}1C(e){}})},7K:A(){u 1A=k.5m(1);q(1A&&1A.3x.7F().2X(/m\\.4b/))u 1f=m.Z(\'1f\',{1l:m.5l(1A)})},5m:A(1W){u 8r=k.8q(),as=m.4p.2s[k.3b||\'3r\'];C(as&&as[8r+1W])||H},8q:A(){u 2c=m.51().2s[k.3b||\'3r\'];q(2c)S(u i=0;i<2c.X;i++){q(2c[i]==k.a)C i}C H},6t:A(){m.3t(k.V);m.N[k.R]=H;q(k.1E)m.1E.F.18=\'-3X\'},8c:A(){k.6v=m.Z(\'a\',{3y:m.8x,1M:m.8o,1g:\'1c-6v\',3G:m.1F.8e,3w:m.1F.8b});k.49({4x:k.6v,1e:k.89||\'W 18\'})},7Z:A(6u,8w){S(u i=0;i<6u.X;i++){u J=6u[i],s=H;q(!k[J+\'3z\']&&k.4Q)k[J+\'3z\']=J+\'-S-\'+k.4Q;q(k[J+\'3z\'])k[J]=m.3B(k[J+\'3z\']);q(!k[J]&&!k[J+\'6s\']&&k[J+\'8i\'])1z{s=ah(k[J+\'8i\'])}1C(e){}q(!k[J]&&k[J+\'6s\']){s=k[J+\'6s\']}q(!k[J]&&!s){k[J]=m.3B(k.a[\'8t\'+J+\'3z\']);q(!k[J]){u 1A=k.a.83;3m(1A&&!m.4E(1A)){q((1S aj(\'1c-\'+J)).14(1A.1g||H)){q(!1A.1t)k.a[\'8t\'+J+\'3z\']=1A.1t=\'2a\'+m.3F++;k[J]=m.3B(1A.1t);6r}1A=1A.83}}}q(!k[J]&&s)k[J]=m.Z(\'1O\',{1g:\'1c-\'+J,3G:s});q(8w&&k[J]){u o={1e:(J==\'4P\')?\'42\':\'4r\'};S(u x 3v k[J+\'8z\'])o[x]=k[J+\'8z\'][x];o.4x=k[J];k.49(o)}}},45:A(1b){q(m.8A)k.4f(\'8K\',1b);q(m.8f)k.4f(\'8H\',1b);q(m.8y)k.4f(\'*\',1b)},4f:A(4g,1b){u 17=L.4U(4g);u Q=4g==\'*\'?\'2L\':\'1b\';S(u i=0;i<17.X;i++){q(Q==\'1b\'||(L.63.8B(17[i],"").8s(\'2L\')==\'2l\'||17[i].7H(\'1i-2t\')!=H)){u 1I=17[i].7H(\'1i-2t\');q(1b==\'1X\'&&1I){1I=1I.31(\'[\'+k.R+\']\',\'\');17[i].3T(\'1i-2t\',1I);q(!1I)17[i].F[Q]=17[i].61}K q(1b==\'1i\'){u 2n=m.62(17[i]);2n.w=17[i].44;2n.h=17[i].3u;u 7G=(2n.x+2n.w<k.x.P(\'3Q\')||2n.x>k.x.P(\'3Q\')+k.x.P(\'64\'));u 7M=(2n.y+2n.h<k.y.P(\'3Q\')||2n.y>k.y.P(\'3Q\')+k.y.P(\'64\'));u 4j=m.65(17[i]);q(!7G&&!7M&&4j!=k.R){q(!1I){17[i].3T(\'1i-2t\',\'[\'+k.R+\']\');17[i].61=17[i].F[Q];17[i].F[Q]=\'1i\'}K q(1I.7L(\'[\'+k.R+\']\')==-1){17[i].3T(\'1i-2t\',1I+\'[\'+k.R+\']\')}}K q((1I==\'[\'+k.R+\']\'||m.2u==4j)&&4j!=k.R){17[i].3T(\'1i-2t\',\'\');17[i].F[Q]=17[i].61||\'\'}K q(1I&&1I.7L(\'[\'+k.R+\']\')>-1){17[i].3T(\'1i-2t\',1I.31(\'[\'+k.R+\']\',\'\'))}}}}},3k:A(){k.V.F.1p=m.3L+=2;S(u i=0;i<m.N.X;i++){q(m.N[i]&&i==m.2u){u 3M=m.N[i];3M.11.1g+=\' 1c-\'+3M.26+\'-5W\';3M.11.F.2N=m.3j?\'7V\':\'4i\';3M.11.3w=m.1F.7T}}q(k.19)k.19.28.F.1p=k.V.F.1p-1;k.11.1g=\'1c-\'+k.26;k.11.3w=m.1F.5V;q(m.3S){m.3e=1n.2r?\'4i\':\'5T(\'+m.47+m.3S+\'), 4i\';q(m.3j&&m.1R<6)m.3e=\'7V\';k.11.F.2N=m.3e}m.2u=k.R;m.1D(L,1n.2r?\'4R\':\'4T\',m.3H)},5v:A(x,y){k.x.5Z(x);k.y.5Z(y)},2T:A(e){u w,h,r=e.M/e.16;w=1d.67(e.M+e.5b,1d.22(k.3Y,k.x.U));q(k.3f&&1d.9B(w-k.x.U)<12)w=k.x.U;h=w/r;q(h<1d.22(k.3K,k.y.U)){h=1d.22(k.3K,k.y.U);q(k.3f)w=h*r}k.5L(w,h)},5L:A(w,h){k.y.6h(h);k.x.6h(w);k.V.F.16=k.y.P(\'1u\')+\'D\'},2h:A(){q(k.6k||!k.3C)C;k.6k=G;m.3d(L,1n.2r?\'4R\':\'4T\',m.3H);1z{k.11.F.2N=\'9g\';k.6e(0,{V:{M:k.x.t,16:k.y.t,18:k.x.1s-k.x.Y+k.x.2j,W:k.y.1s-k.y.Y+k.y.2j},11:{18:0,W:0,M:k.x.t,16:k.y.t}},m.7y)}1C(e){k.5P()}},49:A(o){u B=o.4x;q(1m B==\'69\')B=m.3B(B);q(o.4Z)B=m.Z(\'1O\',{3G:o.4Z});q(!B||1m B==\'69\')C;B.F.3q=\'7I\';k.7C();u M=o.M&&/^[0-9]+(D|%)$/.14(o.M)?o.M:\'2l\';q(/^(18|2o)6z$/.14(o.1e)&&!/^[0-9]+D$/.14(o.M))M=\'8T\';u O=m.Z(\'1O\',{1t:\'2a\'+m.3F++,2a:o.2a},{1e:\'29\',1b:\'1i\',M:M,8a:m.1F.8l||\'\',1o:0},k.1r,G);O.2g(B);m.2q(O,{1o:1,6Q:0,8m:0,2p:(o.6d===0||o.6d===1a||(o.6d==2&&m.1P))?0:5c});m.2q(O,o);q(k.82){k.4m(O);q(!O.4K||k.6q)m.3p(O,{1o:O.1o},O.2p)}m.2e(k.1v,m.3F-1)},4m:A(O){u p=O.1e||\'6a 6c\',57=O.6Q,59=O.8m;q(O.2V!=k.1r)k.1r.2g(O);q(/18$/.14(p))O.F.18=57+\'D\';q(/6c$/.14(p))m.T(O,{18:\'50%\',43:(57-1d.56(O.44/2))+\'D\'});q(/2o$/.14(p))O.F.2o=-57+\'D\';q(/^8n$/.14(p)){m.T(O,{2o:\'1V%\',7J:k.x.Y+\'D\',W:-k.y.Y+\'D\',2S:-k.y.Y+\'D\',2L:\'2l\'});k.x.1B=O.44}K q(/^7x$/.14(p)){m.T(O,{18:\'1V%\',43:k.x.Y+\'D\',W:-k.y.Y+\'D\',2S:-k.y.Y+\'D\',2L:\'2l\'});k.x.2f=O.44}q(/^W/.14(p))O.F.W=59+\'D\';q(/^6a/.14(p))m.T(O,{W:\'50%\',48:(59-1d.56(O.3u/2))+\'D\'});q(/^2S/.14(p))O.F.2S=-59+\'D\';q(/^42$/.14(p)){m.T(O,{18:(-k.x.1B-k.x.Y)+\'D\',2o:(-k.x.2f-k.x.Y)+\'D\',2S:\'1V%\',7N:k.y.Y+\'D\',M:\'2l\'});k.y.1B=O.3u}K q(/^4r$/.14(p)){m.T(O,{1e:\'6j\',18:(-k.x.1B-k.x.Y)+\'D\',2o:(-k.x.2f-k.x.Y)+\'D\',W:\'1V%\',48:k.y.Y+\'D\',M:\'2l\'});k.y.2f=O.3u;O.F.1e=\'29\'}},80:A(){k.7Z([\'4P\',\'9i\'],G);q(k.4P&&k.68)k.4P.1g+=\' 1c-3c\';q(m.7W)k.8c();S(u i=0;i<m.1v.X;i++){u o=m.1v[i],5d=o.5Y,4n=o.3b;q((!5d&&!4n)||(5d&&5d==k.4Q)||(4n&&4n===k.3b)){k.49(o)}}u 4k=[];S(u i=0;i<k.1v.X;i++){u o=m.$(\'2a\'+k.1v[i]);q(/6z$/.14(o.1e))k.4m(o);K m.2e(4k,o)}S(u i=0;i<4k.X;i++)k.4m(4k[i]);k.82=G},7C:A(){q(!k.1r)k.1r=m.Z(\'1O\',{1g:k.60},{1e:\'29\',M:(k.x.I||(k.2d?k.M:H)||k.x.U)+\'D\',16:(k.y.I||k.y.U)+\'D\',1b:\'1i\',2L:\'1i\',1p:m.1P?4:\'2l\'},m.20,G)},35:A(6p,7D){u 1r=k.1r,x=k.x,y=k.y;m.T(1r,{M:x.I+\'D\',16:y.I+\'D\'});q(6p||7D){S(u i=0;i<k.1v.X;i++){u o=m.$(\'2a\'+k.1v[i]);u 6C=(m.3j||L.5a==\'5K\');q(o&&/^(42|4r)$/.14(o.1e)){q(6C){o.F.M=(1r.44+2*x.Y+x.1B+x.2f)+\'D\'}y[o.1e==\'42\'?\'1B\':\'2f\']=o.3u}q(o&&6C&&/^(18|2o)6z$/.14(o.1e)){o.F.16=(1r.3u+2*y.Y)+\'D\'}}}q(6p){m.T(k.11,{W:y.1B+\'D\'});m.T(1r,{W:(y.1B+y.Y)+\'D\'})}},8d:A(){u b=k.1r;b.1g=\'\';m.T(b,{W:(k.y.1B+k.y.Y)+\'D\',18:(k.x.1B+k.x.Y)+\'D\',2L:\'1X\'});q(m.4D)b.F.1b=\'1X\';k.V.2g(b);S(u i=0;i<k.1v.X;i++){u o=m.$(\'2a\'+k.1v[i]);o.F.1p=o.1p||4;q(!o.4K||k.6q){o.F.1b=\'1X\';m.T(o,{1b:\'1X\',3q:\'\'});m.3p(o,{1o:o.1o},o.2p)}}},8v:A(){q(!k.1v.X)C;m.3t(k.1r)},8p:A(){k.4M=m.Z(\'a\',{3y:\'8u:m.N[\'+k.R+\'].5M();\',3w:m.1F.88,1g:\'1c-U-4b\'});k.49({4x:k.4M,1e:m.7z,4K:G,1o:m.7O})},5M:A(){1z{q(k.4M)m.3t(k.4M);k.3k();u 1N=k.x.I,24=k.y.I;k.5L(k.x.U,k.y.U);u 4G=k.x.E-(k.x.I-1N)/2;q(4G<m.43)4G=m.43;u 4t=k.y.E-(k.y.I-24)/2;q(4t<m.48)4t=m.48;k.5v(4G,4t);k.45(\'1i\')}1C(e){k.5Q(e)}},5P:A(){k.a.1g=k.a.1g.31(\'1c-7P-7Q\',\'\');k.45(\'1X\');q(k.19&&k.2R)k.19.4q();m.3t(k.V);m.N[k.R]=H;m.7Y()}};m.4O=m.1F;u 9G=m.46;q(m.1P&&1n==1n.W){(A(){1z{L.3i.a4(\'18\')}1C(e){5S(87.ag,50);C}m.2H()})()}m.1D(L,\'ai\',m.2H);m.1D(1n,\'6M\',m.2H);m.1D(L,\'2H\',A(){q(m.4l){u F=m.Z(\'F\',{J:\'am/5s\'},H,L.4U(\'ap\')[0]),6G=L.5a==\'5K\';A 4L(5A,5F){q(m.1P&&(m.1R<9||6G)){u 2G=L.6J[L.6J.X-1];q(1m(2G.4L)=="5I")2G.4L(5A,5F)}K{F.2g(L.a6(5A+" {"+5F+"}"))}}A 9T(Q){C\'9S( ( ( 9R = L.3i.\'+Q+\' ? L.3i.\'+Q+\' : L.4J.\'+Q+\' ) ) + \\\'D\\\' );\'}q(m.4l)4L(\'.1c 1f\',\'2N: 5T(\'+m.47+m.4l+\'), 4i !ae;\')}});m.1D(1n,\'2T\',A(){m.4N()});m.1D(L,\'6w\',A(e){m.4B={x:e.4z,y:e.4o}});m.1D(L,\'7o\',m.6i);m.1D(L,\'7i\',m.6i);m.1D(L,\'2H\',m.51);m.1D(1n,\'6M\',m.7E)}',62,663,'||||||||||||||||||||this||hs||||if||||var|||||exp|function|el|return|px|pos|style|true|null|size|type|else|document|width|expanders|overlay|get|prop|key|for|setStyles|full|wrapper|top|length|cb|createElement||content|||test||height|els|left|outline|false|visibility|highslide|Math|position|img|className|outlineType|hidden|offset|fx|src|typeof|window|opacity|zIndex|case|overlayBox|tpos|id|wsize|overlays|options|dim|imgSize|try|next|p1|catch|addEventListener|loading|lang|event|td|hiddenBy|easing|ratio|to|target|xSize|div|ie|elem|uaVersion|new|minSize|dragArgs|100|op|visible|image|undefined|container|params|min|up|ySize|opt|contentType||table|absolute|hsId|name|arr|useBox|push|p2|appendChild|close|func|tb|graphic|auto|changed|elPos|right|dur|extend|opera|groups|by|focusKey|val|wh|step|args|custom|timers|scroll|getExpander|ucwh|hasDragged|styles|last|ready|now|page|marginMin|overflow|unit|cursor|start|onLoad|pendingOutlines|outlineWhileAnimating|bottom|resize|clone|parentNode|upcoming|match|ieLt9|duration|re|replace||||sizeOverlayBox|images||||attribs|slideshowGroup|move|removeEventListener|styleRestoreCursor|isImage|number|end|documentElement|ieLt7|focus|moveOnly|while|justify|fitsize|animate|display|none|allowReduce|discardElement|offsetHeight|in|title|onclick|href|Id|setPosition|getNode|isExpanded|iebody|getParams|idCounter|innerHTML|keyHandler|fac|param|minHeight|zIndexCounter|blurExp|allowSizeReduction|uclt|filter|opos|all|restoreCursor|setAttribute|preloadTheseImages|padToMinWidth|navigator|9999px|minWidth|on||Outline|above|marginLeft|offsetWidth|doShowHide|Expander|graphicsDir|marginTop|createOverlay|onReady|expand|curAnim|gotoEnd|previousOrNext|showHideElements|tagName|imgPad|pointer|wrapperKey|os|expandCursor|positionOverlay|sg|clientY|anchors|destroy|below|node|ypos|expOnly|relatedTarget|scrollLeft|overlayId|scrollTop|clientX|preloadFullImage|mouse|over|safari|isHsAnchor|preventDefault|xpos|self|marginMax|body|hideOnMouseOut|addRule|fullExpandLabel|getPageSize|langDefaults|heading|thumbsUserSetId|keypress|onload|keydown|getElementsByTagName|userAgent|Dimension|maxWidth|tr|html||getAnchors|onLoadStarted|prototype|topmostKey|clientSize|round|offX|toLowerCase|offY|compatMode|dX|250|tId|Create|ucrb|calcThumb|margin|overrides|continuePreloading|garbageBin|getSrc|getAdjacentAnchor|isReady|lt|mY|maxHeight|getParam|css|openerTagNames|mX|moveTo|calcBorders|startTime|complete|done|sel|calcExpanded|update|hasMovedMin|state|dec|maxsize|showLoading|object|hasAlphaImageLoader|BackCompat|resizeTo|doFullExpand|connectOutline|loadingPos|afterClose|error|tbody|setTimeout|url|numberOfImagesToPreload|restoreTitle|blur|topZ|thumbnailId|setPos|wrapperClassName|origProp|getPosition|defaultView|osize|getWrapperKey|adj|max|dragByHeading|string|middle|Click|center|fade|changeSize|parent|parseFloat|setSize|mouseClickHandler|relative|isClosing|element|clones|distance|dY|doWrapper|mouseIsOver|break|Text|cancelLoading|types|credits|mousemove|srcElement|init|panel|cur|hasFocused|ie6|dragHandler|pThis|JS|backCompat|vis|Highslide|styleSheets|loadingText|loadingTitle|load|onGraphicLoad|and|ltr|offsetX|captionOverlay|tag|appendTo|nopad|rv|200|headingOverlay|hide|easeInQuad||pageXOffset|clickX|getTime|transit||clickY|call|Date|previous|focusTopmost|from|form|timerId|enableKeyListener|cloneNode|loadingOpacity|orig|mouseup|clientWidth|alpha|detachEvent|offsetParent|offsetLeft|mousedown|updateAnchors|pow|_default|offsetTop|preloadGraphic|switch|525|prepareNextOutline|rightpanel|restoreDuration|fullExpandPosition|after|afterExpand|genOverlayBox|doPanels|preloadImages|toString|clearsX|getAttribute|block|marginRight|preloadNext|indexOf|clearsY|marginBottom|fullExpandOpacity|active|anchor|correctRatio|fitOverlayBox|focusTitle|show|hand|showCredits|tmpMin|reOrder|getInline|getOverlays|contentLoaded|gotOverlays|nextSibling|expandDuration|easingClose|fadeInOut|arguments|fullExpandTitle|creditsPosition|direction|creditsTitle|writeCredits|showOverlays|creditsText|hideIframes|wrapperMouseHandler|pageOrigin|Eval|allowMultipleInstances|thumb|cssDirection|offsetY|leftpanel|creditsTarget|createFullExpand|getAnchorIndex|current|getPropertyValue|_|javascript|destroyOverlays|addOverlay|creditsHref|geckoMac|Overlay|hideSelects|getComputedStyle|hasHtmlExpanders|xpand|returnValue|keyCode|registerOverlay|IFRAME|button|htmlE|SELECT|currentStyle|zoomin|zoomout|graphics|keys|arrow|1001|outlineStartOffset|200px|_self|com|http|Use|drag|front|Expand|bring|cancel|Loading|actual|Powered|click|homepage|the||Go|drop|shadow|border|removeAttribute|padding|default|getElementById|caption|toUpperCase|pageYOffset|innerHeight|clientHeight|innerWidth|Gecko|Macintosh|headingId|headingText|captionEval|captionText|captionId|headingEval|oPos|Safari|ra|it|Trident|abs|toElement|oncontextmenu|stl|message|HsExpander|location|scale|background|outlinesDir|lineNumber|setInterval|png|outlines|splice|clearInterval|ignoreMe|expression|fix|DXImageTransform|cellSpacing|Microsoft|borderCollapse|collapse|lineHeight|progid|AlphaImageLoader|flushImgSize|tgt|doScroll|tgtArr|createTextNode|sqrt|sizingMethod|Line|alert|readyState|attachEvent|allowSimultaneousLoading|important|imageCreate|callee|eval|DOMContentLoaded|RegExp|isHtml|dragSensitivity|text|fromElement|mouseover|HEAD|blockRightClick|Left||linearTween|Top|Height|vendor|Width|KDE|Right|Bottom|onmouseover|parseInt|onmouseout|debug|fontSize|rb'.split('|'),0,{})) diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js new file mode 100644 index 000000000..6269bf0af --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js @@ -0,0 +1,37 @@ +// Apply default settings +var galleryOptions = { + align: 'center', + dimmingOpacity: 0.8, + fadeInOut: true, + marginBottom: 80, + marginLeft: 100, + numberPosition: 'caption', + slideshowGroup: 'gallery', + transitions: ['expand', 'crossfade'], + wrapperClassName: 'dark borderless floating-caption', + graphicsDir: nextgen_highslide_graphics_dir + '/' +}; + +hs.align = galleryOptions['align']; +hs.dimmingOpacity = galleryOptions['dimmingOpacity']; +hs.fadeInOut = galleryOptions['fadeInOut']; +hs.marginBottom = galleryOptions['marginBottom']; +hs.marginLeft = galleryOptions['marginLeft']; +hs.numberPosition = galleryOptions['numberPosition']; +hs.transitions = galleryOptions['transitions']; +hs.showCredits = galleryOptions['showCredits']; +hs.graphicsDir = galleryOptions['graphicsDir']; +hs.wrapperClassName = galleryOptions['wrapperClassName']; + +// Enable slideshows +hs.addSlideshow({ + fixedControls: true, + interval: 5000, + overlayOptions: { + hideOnMouseOut: true, + opacity: .6, + position: 'top center' + }, + repeat: true, + useControls: true +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.js new file mode 100644 index 000000000..3747929d8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.3 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ + * $Rev: 4663 $ + */ +(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else +selector=[];}}else +return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else +return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else +script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else +for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else +for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else +ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else +for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else +jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css new file mode 100644 index 000000000..580597799 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.css @@ -0,0 +1,103 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.css + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +#jquery-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 10090; + width: 100%; + height: 500px; +} +#jquery-lightbox { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 10100; + text-align: center; + line-height: 0; +} +#jquery-lightbox a img { border: none; } +#lightbox-container-image-box { + position: relative; + background-color: #fff; + width: 250px; + height: 250px; + margin: 0 auto; +} +#lightbox-container-image { padding: 10px; } +#lightbox-loading { + position: absolute; + top: 40%; + left: 0%; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} +#lightbox-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10010; +} +#lightbox-container-image-box > #lightbox-nav { left: 0; } +#lightbox-nav a { outline: none;} +#lightbox-nav-btnPrev, #lightbox-nav-btnNext { + width: 49%; + height: 100%; + zoom: 1; + display: block; +} +#lightbox-nav-btnPrev { + left: 0; + float: left; +} +#lightbox-nav-btnNext { + right: 0; + float: right; +} +#lightbox-container-image-data-box { + font: 10px Verdana, Helvetica, sans-serif; + background-color: #fff; + margin: 0 auto; + line-height: 1.4em; + overflow: auto; + width: 100%; + padding: 0 10px 0; + position: relative; + min-height: 32px; +} +#lightbox-container-image-data { + padding: 0 10px; + color: #666; +} +#lightbox-container-image-data #lightbox-image-details { + width: 70%; + float: left; + text-align: left; +} +#lightbox-image-details-caption { font-weight: bold; } +#lightbox-image-details-currentNumber { + display: block; + clear: left; + padding-bottom: 1.0em; +} +#lightbox-secNav-btnClose { + width: 66px; + float: right; + padding-bottom: 0.7em; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js new file mode 100644 index 000000000..28a61bbf6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.js @@ -0,0 +1,472 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ + +// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias +(function($) { + /** + * $ is an alias to jQuery object + * + */ + $.fn.lightBox = function(settings) { + // Settings to configure the jQuery lightBox plugin how you like + settings = jQuery.extend({ + // Configuration related to overlay + overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. + overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 + // Configuration related to navigation + fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. + // Configuration related to images + imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon + imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image + imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image + imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn + imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) + // Configuration related to container image box + containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value + containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. + // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. + txtImage: 'Image', // (string) Specify text "Image" + txtOf: 'of', // (string) Specify text "of" + // Configuration related to keyboard navigation + keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. + keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image + keyToNext: 'n', // (string) (n = next) Letter to show the next image. + // Don�t alter these variables in any way + imageArray: [], + activeImage: 0 + },settings); + // Caching the jQuery object with all elements matched + var jQueryMatchedObj = this; // This, in this context, refer to jQuery object + /** + * Initializing the plugin calling the start function + * + * @return boolean false + */ + function _initialize() { + _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked + return false; // Avoid the browser following the link + } + /** + * Start the jQuery lightBox plugin + * + * @param object objClicked The object (link) whick the user have clicked + * @param object jQueryMatchedObj The jQuery object with all elements matched + */ + function _start(objClicked,jQueryMatchedObj) { + // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'hidden' }); + // Call the function to create the markup structure; style some elements; assign events in some elements. + _set_interface(); + // Unset total images in imageArray + settings.imageArray.length = 0; + // Unset image active information + settings.activeImage = 0; + // We have an image set? Or just an image? Let�s see it. + if ( jQueryMatchedObj.length == 1 ) { + settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); + } else { + // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references + for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { + settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); + } + } + while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { + settings.activeImage++; + } + // Call the function that prepares image exibition + _set_image_to_view(); + } + /** + * Create the jQuery lightBox plugin interface + * + * The HTML markup will be like that: + <div id="jquery-overlay"></div> + <div id="jquery-lightbox"> + <div id="lightbox-container-image-box"> + <div id="lightbox-container-image"> + <img src="../fotos/XX.jpg" id="lightbox-image"> + <div id="lightbox-nav"> + <a href="#" id="lightbox-nav-btnPrev"></a> + <a href="#" id="lightbox-nav-btnNext"></a> + </div> + <div id="lightbox-loading"> + <a href="#" id="lightbox-loading-link"> + <img src="../images/lightbox-ico-loading.gif"> + </a> + </div> + </div> + </div> + <div id="lightbox-container-image-data-box"> + <div id="lightbox-container-image-data"> + <div id="lightbox-image-details"> + <span id="lightbox-image-details-caption"></span> + <span id="lightbox-image-details-currentNumber"></span> + </div> + <div id="lightbox-secNav"> + <a href="#" id="lightbox-secNav-btnClose"> + <img src="../images/lightbox-btn-close.gif"> + </a> + </div> + </div> + </div> + </div> + * + */ + function _set_interface() { + // Apply the HTML markup into body tag + $('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>'); + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + backgroundColor: settings.overlayBgColor, + opacity: settings.overlayOpacity, + width: arrPageSizes[0], + height: arrPageSizes[1] + }).fadeIn(); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }).show(); + // Assigning click events in elements to close overlay + $('#jquery-overlay,#jquery-lightbox').click(function() { + _finish(); + }); + // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects + $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { + _finish(); + return false; + }); + // If window was resized, calculate the new overlay dimensions + $(window).resize(function() { + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + width: arrPageSizes[0], + height: arrPageSizes[1] + }); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }); + }); + } + /** + * Prepares image exibition; doing a image�s preloader to calculate it�s size + * + */ + function _set_image_to_view() { // show the loading + // Show the loading + $('#lightbox-loading').show(); + if ( settings.fixedNavigation ) { + $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } else { + // Hide some elements + $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } + // Image preload process + var objImagePreloader = new Image(); + objImagePreloader.onload = function() { + $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); + // Perfomance an effect in the image container resizing it + _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); + // clear onLoad, IE behaves irratically with animated gifs otherwise + objImagePreloader.onload=function(){}; + }; + objImagePreloader.src = settings.imageArray[settings.activeImage][0]; + }; + /** + * Perfomance an effect in the image container resizing it + * + * @param integer intImageWidth The image�s width that will be showed + * @param integer intImageHeight The image�s height that will be showed + */ + function _resize_container_image_box(intImageWidth,intImageHeight) { + // Get current width and height + var intCurrentWidth = $('#lightbox-container-image-box').width(); + var intCurrentHeight = $('#lightbox-container-image-box').height(); + // Get the width and height of the selected image plus the padding + var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image�s width and the left and right padding value + var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image�s height and the left and right padding value + // Diferences + var intDiffW = intCurrentWidth - intWidth; + var intDiffH = intCurrentHeight - intHeight; + // Perfomance the effect + $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); + if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { + if ( $.browser.msie ) { + ___pause(250); + } else { + ___pause(100); + } + } + $('#lightbox-container-image-data-box').css({ width: intImageWidth }); + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); + }; + /** + * Show the prepared image + * + */ + function _show_image() { + $('#lightbox-loading').hide(); + $('#lightbox-image').fadeIn(function() { + _show_image_data(); + _set_navigation(); + }); + _preload_neighbor_images(); + }; + /** + * Show the image information + * + */ + function _show_image_data() { + $('#lightbox-container-image-data-box').slideDown('fast'); + $('#lightbox-image-details-caption').hide(); + if ( settings.imageArray[settings.activeImage][1] ) { + $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); + } + // If we have a image set, display 'Image X of X' + if ( settings.imageArray.length > 1 ) { + $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); + } + } + /** + * Display the button navigations + * + */ + function _set_navigation() { + $('#lightbox-nav').show(); + + // Instead to define this configuration in CSS file, we define here. And it�s need to IE. Just. + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + + // Show the prev button, if not the first image in set + if ( settings.activeImage != 0 ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnPrev').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } + } + + // Show the next button, if not the last image in set + if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnNext').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } + } + // Enable keyboard navigation + _enable_keyboard_navigation(); + } + /** + * Enable a support to keyboard navigation + * + */ + function _enable_keyboard_navigation() { + $(document).keydown(function(objEvent) { + _keyboard_action(objEvent); + }); + } + /** + * Disable the support to keyboard navigation + * + */ + function _disable_keyboard_navigation() { + $(document).unbind(); + } + /** + * Perform the keyboard actions + * + */ + function _keyboard_action(objEvent) { + // To ie + if ( objEvent == null ) { + keycode = event.keyCode; + escapeKey = 27; + // To Mozilla + } else { + keycode = objEvent.keyCode; + escapeKey = objEvent.DOM_VK_ESCAPE; + } + // Get the key in lower case form + key = String.fromCharCode(keycode).toLowerCase(); + // Verify the keys to close the ligthBox + if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { + _finish(); + } + // Verify the key to show the previous image + if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { + // If we�re not showing the first image, call the previous + if ( settings.activeImage != 0 ) { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + // Verify the key to show the next image + if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { + // If we�re not showing the last image, call the next + if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + } + /** + * Preload prev and next images being showed + * + */ + function _preload_neighbor_images() { + if ( (settings.imageArray.length -1) > settings.activeImage ) { + objNext = new Image(); + objNext.src = settings.imageArray[settings.activeImage + 1][0]; + } + if ( settings.activeImage > 0 ) { + objPrev = new Image(); + objPrev.src = settings.imageArray[settings.activeImage -1][0]; + } + } + /** + * Remove jQuery lightBox plugin HTML markup + * + */ + function _finish() { + $('#jquery-lightbox').remove(); + $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); + // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'visible' }); + } + /** + / THIRD FUNCTION + * getPageSize() by quirksmode.com + * + * @return Array Return an array with page width, height and window width, height + */ + function ___getPageSize() { + var xScroll, yScroll; + if (window.innerHeight && window.scrollMaxY) { + xScroll = window.innerWidth + window.scrollMaxX; + yScroll = window.innerHeight + window.scrollMaxY; + } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac + xScroll = document.body.scrollWidth; + yScroll = document.body.scrollHeight; + } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari + xScroll = document.body.offsetWidth; + yScroll = document.body.offsetHeight; + } + var windowWidth, windowHeight; + if (self.innerHeight) { // all except Explorer + if(document.documentElement.clientWidth){ + windowWidth = document.documentElement.clientWidth; + } else { + windowWidth = self.innerWidth; + } + windowHeight = self.innerHeight; + } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode + windowWidth = document.documentElement.clientWidth; + windowHeight = document.documentElement.clientHeight; + } else if (document.body) { // other Explorers + windowWidth = document.body.clientWidth; + windowHeight = document.body.clientHeight; + } + // for small pages with total height less then height of the viewport + if(yScroll < windowHeight){ + pageHeight = windowHeight; + } else { + pageHeight = yScroll; + } + // for small pages with total width less then width of the viewport + if(xScroll < windowWidth){ + pageWidth = xScroll; + } else { + pageWidth = windowWidth; + } + arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); + return arrayPageSize; + }; + /** + / THIRD FUNCTION + * getPageScroll() by quirksmode.com + * + * @return Array Return an array with x,y page scroll values. + */ + function ___getPageScroll() { + var xScroll, yScroll; + if (self.pageYOffset) { + yScroll = self.pageYOffset; + xScroll = self.pageXOffset; + } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict + yScroll = document.documentElement.scrollTop; + xScroll = document.documentElement.scrollLeft; + } else if (document.body) {// all other Explorers + yScroll = document.body.scrollTop; + xScroll = document.body.scrollLeft; + } + arrayPageScroll = new Array(xScroll,yScroll); + return arrayPageScroll; + }; + /** + * Stop the code execution from a escified time in milisecond + * + */ + function ___pause(ms) { + var date = new Date(); + curDate = null; + do { var curDate = new Date(); } + while ( curDate - date < ms); + }; + // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once + return this.unbind('click').click(_initialize); + }; +})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js new file mode 100644 index 000000000..429f0c557 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox-0.5.min.js @@ -0,0 +1,42 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;} +function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}} +while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){settings.activeImage++;} +_set_image_to_view();} +function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});} +function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} +var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}} +$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();} +if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}} +function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}} +if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}} +_enable_keyboard_navigation();} +function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});} +function _disable_keyboard_navigation(){$(document).unbind();} +function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;} +key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();} +if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}} +if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}} +function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];} +if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}} +function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});} +function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;} +var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;} +windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;} +if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;} +if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;} +arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;} +arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();} +while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-blank.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 ucmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ|~c3=BFT0wlx0#N@)rU=0A%AqP7E literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-close.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..33bcf517a35b72135b6a5b97bac72425762b8343 GIT binary patch literal 700 zcmZ?wbhEHbbYc)=xXQrr|NsBLfB*ja_3OuvA78(I{qW(#>({SezI^%Y*|R54p4`8G z|IVE|w{G3Ke*OB@t5+{wx^(*V=@TbT?Ay0*`}XZywrtt7Y18`k>sPE;v3T*~dGqGY zo;`cov}qG3PVDdR@9F7jZ*OmEYHDa`sI9FnD=RB5E-oxA%*)Hm%*;$rPftlnNlHqJ zkB^Uyjg5+m3Jnbn4h{|o2=Mds^Y-@k^z?Ldb7LR`6o0ZXurvH;&;cm~`H6w;ze7WT zhmKVLi6uoRbFAiHSg}QNM$~#2#^;SaIV^5XhYKa-WLTaw7EPSeoxUZ&W*tAf%&o4( zmMs}FnZ=U&t@`p#;`)5<LT#<$&MZp(f((59t<GX5`i9!PE`qv-`X&<2Q{<C#I=kHj z+f%uwh&ajUi}MLerp}Nl?QvpLG1fQI;&xiR)L4<#Nkm`Lz3Y&RhDH+ui-wMqzKYw7 ziSBI5M)Ned>z0}*FgxG7?Q+eP>#}Q0kG{s^ou20;n;V<17z*6xlW|Jw?=bOR#PEpA zg=KOFx5Rw`%jtY<J<0NqcomO-2(_K8%;;Bju<6lKpX(hW8XqrCW-}0F40C>|_3ZS` zqUjnN13nacHVT_2ml!nlJA2OW%MmP8S=ga0=sH=)An?><L*CGi4Ij2&Uhd@LQjjU* z^vLy^GIzj|?uki9-6a$Jnf6|}%%Qr-=|iIFqqn&eS+y^nRG6sH6uu{M=T_Ed4AWIz zWek#1mNc+(bMk3au+33CJcIwIP8QoKg^k>j$~+u1KUln%@oJ3-U|ygRY{{;{vyg#@ zVe7)XGmJPB4>%ce-gMSF@xfy;(;UM9kqL%E%RL+UjM8k(gB06(gljgeIR7Z|k07_Y Yz?%8?E)08>7@u6ee}4b|UkVJ?0I^^iLI3~& literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0d4fcf84a784f2cf44c33084145dde5df294ccf GIT binary patch literal 812 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pWnZK|N8ao=g*%%e*F0U{rk6X-@bnR z`sK@)&!0bk_Uze{Cr=(ddi3DIgM0Vx-MMq;#*G`-u3fuy>C%M@7tWnKck0xs6DLj_ zJ9g~Qp+g4_9N4pG&#qm&wr$(CWy_Y$n>TOVxN-gZ^=sFzUA=ns%9SgZFJHcN>C(lE z7tftLclPYrGiT16IB{Zse}8XpZ+CZhdwY9pYio0Jb7Ny;LqkJdU0qdGRYgTbSy@?0 zNl8ILL0(>7PEJl%R#rwvMp{~0N=iynQc^-fLR?&2OiWBvR8&MnL|9l@NJvOfP*6ZX zfS;eAudlDSx3{OKr@OnmtE;QCv-AJ|{}~1WQ2fcl$j%VVpaXIXC{7sI|2G5&Gqkj} zwRd!Ob@y~M_fD8NY4Vh*)27duIcxTux%1{PSh#5MlBLU*uUNn+r6%6WB%{Q@rl6{} zU7cS<V_gfEsx+UbnyRv@x&q5QMm>LL!4_sSR|Xy@Pe&&wS8*O&Hvxt-z7k>{PHtY# z&KB&abv=EIPBELhFmSsXbMpK>CE=UEa^gUWYXc*%*oumv#Dh%?r(^z99Asf(U^IEB zYw$@)kXu!;?1MwX3YICX3upYyXn5Sg%pm!Z_hBHDE0+)}hv1HlM?6}c)fSj|XihxP zqVhROk0Z&Y{e;xJBWEjuROT#P;2i2{BcR|qS;(;MfwmH}BNHo^0+YbPCoL1C13Nhr zRev?7G|IU)F&s=^!n%mVJ&WPThbKou7nXQ38Ek*TZl`2v<?-!90t2s#5ChMSi78GC zcdm+h(=pr0lfTAcmP4fO(-sc(HqJl`qo}+oYZh<_1Zewh-@(jrM$IGOfkTutyBLQ; sh{M58Ar~}R1q2rCDt&#?^y9g6dv||-|KM<Uxk=ol1)nA`F)~;K09YwEl>h($ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..040ee5992f7fdb9b51907cb4ba1c5570b1b5482a GIT binary patch literal 832 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pFe*5`1bAFmoHyFefsp_!-se8-o1MD z>gCIq&!0bk`t<4J$B!RAe0cx<{kwPX-oAbN)~#DNZrr$b?b?+qS1w$*aPHi>GiT16 zK7IP+$&<&AA3u8Z=;6bM4<0<YfB*iyd-v|yvuD??T|0K{*tTukrcImHty{Nt?b_9= zSFc>Ta{2P*ix)3mxNzb8`Sa(^n>T09oLRGG&6qJ`%9JS+CQRt>@9*vHZEbCBZf<UD zY;0&~sHv%`s;a7}s3<EdD=8@{Dk>^0EX>c(&&|!v&d$!v%uG#9O-@cuN=iydNQjGz zi;0Peii(PehzJV{3keAc4h{|s4D|Q+_x1Jl_V)Jl^mKQ3cXD!aaB%ql|33rWf#OdV zMs|is1|5*ipg3V*|KGsS)ZEhA*51+C)fO4q-9KSsf8V63)27duIcxTux%1{PSh#5M zlBLU*uUI*oSwcZUUX-Otc%7mocN4pu{GL5LQZkIq%+k_}SS<rRPg@Hx=mvOsdAMmZ z2zvW@`}lZ?n+6Is3wxOzw{l`-R}C>^()AW%7IgF#;R`Ym5c$I>AFRi=az)ca839HH zCWDWO4Xu;dn!;Ru9!NOV<;2m!qsg$Kp<m&UljsFO7RN@RupE|zjV?!81l%V%6ntQD z?+{e6QRw;T!py)O>e8dtpxiY{)w9Zn;Q&+DL{<NW5(b6D&PhsceGeoU5)O$-GNh;^ z8kn>T^2=(RsM_Yj%%!C~m&LQg=rCgo2cOeB0j7s1cv_y<Nfb?VX=IT1;0u_WbXK5U z(|nSM%qnJ%a3{Sf77Pkar@FHPGeRVC6&n|@IIsG^QQ5;j@pN;7O<~#s_o=-6^CEU0 zlJ4eoWK4*$4AeT%#I}Z2bHau&$5vKm6`vV)vIiG1i&(6>Ro8i-fsyGD_YXe>%kM5s eOe^B||J(EX`-jJ;=lk#fr|R`h)Rc>b!5RR}{6zWy literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f1429c06cb2ffd2910b038d06b01a4b3ee00a21 GIT binary patch literal 3990 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 G25SKH<Tm91 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js new file mode 100644 index 000000000..0e0c60377 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js @@ -0,0 +1,60 @@ +jQuery(function($) { + /** + * Inserts the body of a function into the beginning of another method + * defined in another scope/object + */ + function insert_code_in_another_methods_scope(scope, method_name, callback) + { + var do_that_name = 'e' + '' + ('v'); + do_that_name += 'a' + 'l'; + var do_that = window[do_that_name]; + var scope_code = do_that(scope).toString(); + var callback_code = callback.toString().replace(/[^\{]*{/, '').replace(/\}$/, ''); + var regex = new RegExp('(fu' + 'nc' + '' + 'tion '+method_name+'\\([^\\)]*\\)){'); + scope_code = scope_code.replace(regex, function(str, match){ + return str+callback_code; + }).replace(/\$([\s\.\(=])/g, function(str, match){ + return 'jQuery'+match; + }); + do_that(scope+" = "+scope_code); + return do_that(scope); + }; + + // Adjusts the _resize_container_image_box() function to take into + // consideration the size of the window and aspect ratio of the image + insert_code_in_another_methods_scope('jQuery.fn.lightBox', '_resize_container_image_box', function(intImageWidth, intImageHeight){ + var $overlay = jQuery('#jquery-overlay'); + var aspect_ratio = intImageWidth / intImageHeight; + var padding = settings.containerBorderSize * 4; + if (intImageWidth >= $overlay.width()) { + var oldWidth = intImageWidth; + var oldHeight = intImageHeight; + intImageWidth = $overlay.width()-padding; + intImageHeight = intImageHeight / aspect_ratio; + var width_diff = oldWidth - intImageWidth; + var height_diff = oldHeight - intImageHeight; + var $lightbox = jQuery('#jquery-lightbox'); + $lightbox.css({ + top: $lightbox.css('top')-height_diff, + left: $lightbox.css('left')-width_diff + }); + } + jQuery('#lightbox-image').css({ + width: intImageWidth, + height: intImageHeight + }); + }); + + var nextgen_jquery_lightbox_init = function() { + $('.ngg_lightbox').lightBox({ + imageLoading: nextgen_lightbox_loading_img_url, + imageBtnClose: nextgen_lightbox_close_btn_url, + imageBtnPrev: nextgen_lightbox_btn_prev_url, + imageBtnNext: nextgen_lightbox_btn_next_url, + imageBlank: nextgen_lightbox_blank_img_url + }); + }; + $(this).bind('refreshed', nextgen_jquery_lightbox_init); + nextgen_jquery_lightbox_init(); + +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js new file mode 100644 index 000000000..ece8b1e9a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/nextgen_shutter.js @@ -0,0 +1,13 @@ +jQuery(function($){ + var callback = function(){ + var shutterLinks = {}, shutterSets = {}; shutterReloaded.init(); + }; + $(this).bind('refreshed', callback); + + var flag = 'shutter'; + if (typeof($(window).data(flag)) == 'undefined') + $(window).data(flag, true); + else return; + + callback(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css new file mode 100644 index 000000000..9005cf46d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.css @@ -0,0 +1,94 @@ +/* Shutter */ +#shDisplay div#shTitle { + font: normal 12px/17px 'Lucida Grande', Verdana, sans-serif; /* caption font */ + color: #ffffff; /* caption colour */ + text-align: center; + margin: 0 auto; +} + +#shDisplay div#shCount { + color: #999999; + font: normal 10px/12px 'Lucida Grande', Verdana, sans-serif; +} + +#shDisplay div#shTitle a { + text-decoration: none; + font: bold 16pt 'Courier New', Courier, fixed; + letter-spacing: -2px; + margin: 0 10px; + width: 26px; + color: #999999; +} + +#shDisplay div#shTitle a:hover { + color: #ffffff; + border: none; +} + +#shDisplay div#shNext{ + float:right; +} + +#shDisplay div#shPrev { + float:left; +} + +body { + height: 100%; +} + +#shShutter *, #shDisplay * { + padding: 0; + margin: 0; +} + +div#shShutter, div#shDisplay { + top: 0; + left: 0; + width: 100%; + position: absolute; +} + +div#shShutter { + height: 100%; + z-index: 10000; + background-color: #000000; + opacity: 0.8; + filter:alpha(opacity=80); +} + +div#shDisplay { + display: block; + background-color: transparent; + z-index: 10002; +} + +div#shDisplay img#shTopImg { + margin: 0 auto; + border: 1px solid #555; + background: transparent; + display: block; + max-width: none; + max-height: none; + float: none; + padding:2px; + cursor: pointer; +} + +div#shDisplay div#shWrap { + visibility: hidden; +} + +div#shWaitBar { + font: bold 32px 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif; + height: 36px; + width: 100%; + left: 0; + cursor: default; + opacity: 0.999; + filter: alpha(opacity=100); + z-index: 10001; + margin-top: 160px; + color: #ae0a0a; + text-align: center; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js new file mode 100644 index 000000000..6a1b8d1a7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter/shutter.js @@ -0,0 +1,299 @@ +/* +Shutter Reloaded for NextGEN Gallery +http://www.laptoptips.ca/javascripts/shutter-reloaded/ +Version: 1.3.3 +Copyright (C) 2007-2008 Andrew Ozz (Modification by Alex Rabe) +Released under the GPL, http://www.gnu.org/copyleft/gpl.html + +Acknowledgement: some ideas are from: Shutter by Andrew Sutherland - http://code.jalenack.com, WordPress - http://wordpress.org, Lightbox by Lokesh Dhakar - http://www.huddletogether.com, the icons are from Crystal Project Icons, Everaldo Coelho, http://www.everaldo.com + +*/ + +shutterReloaded = { + + I : function (a) { + return document.getElementById(a); + }, + + settings : function() { + var t = this, s = shutterSettings; + + t.imageCount = s.imageCount || 0; + t.msgLoading = s.msgLoading || 'L O A D I N G'; + t.msgClose = s.msgClose || 'Click to Close'; + }, + + init : function (a) { + var t = this, L, T, ext, i, m, setid, inset, shfile, shMenuPre, k, img; + shutterLinks = {}, shutterSets = {}; + if ( 'object' != typeof shutterSettings ) shutterSettings = {}; + + // If the screen orientation is defined we are in a modern mobile OS + t.mobileOS = typeof orientation != 'undefined' ? true : false; + + for ( i = 0; i < document.links.length; i++ ) { + L = document.links[i]; + ext = ( L.href.indexOf('?') == -1 ) ? L.href.slice(-4).toLowerCase() : L.href.substring( 0, L.href.indexOf('?') ).slice(-4).toLowerCase(); + if ( ext != '.jpg' && ext != '.png' && ext != '.gif' && ext != 'jpeg' ) continue; + if ( a == 'sh' && L.className.toLowerCase().indexOf('shutter') == -1 ) continue; + if ( a == 'lb' && L.rel.toLowerCase().indexOf('lightbox') == -1 ) continue; + + if ( L.className.toLowerCase().indexOf('shutterset') != -1 ) + setid = L.className.replace(/\s/g, '_'); + else if ( L.rel.toLowerCase().indexOf('lightbox[') != -1 ) + setid = L.rel.replace(/\s/g, '_'); + else setid = 0, inset = -1; + + if( setid ) { + if ( ! shutterSets[setid] ) shutterSets[setid] = []; + inset = shutterSets[setid].push(i); + } + + shfile = L.href.slice(L.href.lastIndexOf('/')+1); + T = ( L.title && L.title != shfile ) ? L.title : ''; + + shutterLinks[i] = {link:L.href,num:inset,set:setid,title:T} + L.onclick = new Function('shutterReloaded.make("' + i + '");return false;'); + } + + t.settings(); + + }, + + make : function(ln,fs) { + var t = this, prev, next, prevlink = '', nextlink = '', previmg, nextimg, D, S, W, fsarg = -1, imgNum, NavBar; + + if ( ! t.Top ) { + if ( typeof window.pageYOffset != 'undefined' ) t.Top = window.pageYOffset; + else t.Top = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop; + } + + if (window.parent) { + // XXX exception test attach to post tabs + var container = window.parent; + + if (typeof(container.ngg_get_measures_for_frame) != 'undefined') { + var measures = container.ngg_get_measures_for_frame(window.frameElement); + + t.Top = t.Top + measures.scrollTop; + //t.pgHeight = measures.scrollHeight; + } + } + + if ( typeof t.pgHeight == 'undefined' ) + t.pgHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); + + if ( fs ) t.FS = ( fs > 0 ) ? 1 : 0; + else t.FS = shutterSettings.FS || 0; + + if ( t.resizing ) t.resizing = null; + + // resize event if window or orientation changed (i.e. iOS) + if(t.mobileOS == true) + window.onorientationchange = new Function('shutterReloaded.resize("'+ln+'");'); + else + window.onresize = new Function('shutterReloaded.resize("'+ln+'");'); + + document.documentElement.style.overflowX = 'hidden'; + if ( ! t.VP ) { + t._viewPort(); + t.VP = true; + } + + if ( ! (S = t.I('shShutter')) ) { + S = document.createElement('div'); + S.setAttribute('id','shShutter'); + document.getElementsByTagName('body')[0].appendChild(S); + t.hideTags(); + } + + if ( ! (D = t.I('shDisplay')) ) { + D = document.createElement('div'); + D.setAttribute('id','shDisplay'); + D.style.top = t.Top + 'px'; + document.getElementsByTagName('body')[0].appendChild(D); + } + + S.style.height = t.pgHeight + 'px'; + + var dv = t.textBtns ? ' | ' : ''; + if ( shutterLinks[ln].num > 1 ) { + prev = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num - 2]; + prevlink = '<a href="#" id="prevpic" onclick="shutterReloaded.make('+prev+');return false"><<</a>'+dv; + previmg = new Image(); + previmg.src = shutterLinks[prev].link; + } else { + prevlink = ''; + } + + if ( shutterLinks[ln].num != -1 && shutterLinks[ln].num < (shutterSets[shutterLinks[ln].set].length) ) { + next = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num]; + nextlink = '<a href="#" id="nextpic" onclick="shutterReloaded.make('+next+');return false">>></a>'+dv; + nextimg = new Image(); + nextimg.src = shutterLinks[next].link; + } else { + nextlink = ''; + } + + imgNum = ( (shutterLinks[ln].num > 0) && t.imageCount ) ? '<div id="shCount"> ( ' + shutterLinks[ln].num + ' / ' + shutterSets[shutterLinks[ln].set].length + ' ) </div>' : ''; + + NavBar = '<div id="shTitle"><div id="shPrev">' + prevlink + '</div><div id="shNext">' + nextlink + '</div><div id="shName">' + shutterLinks[ln].title + '</div>' + imgNum + '</div>'; + + D.innerHTML = '<div id="shWrap"><img src="'+shutterLinks[ln].link+'" id="shTopImg" title="' + t.msgClose + '" onload="shutterReloaded.showImg();" onclick="shutterReloaded.hideShutter();" />' + NavBar +'</div>'; + + document.onkeydown = function(event){shutterReloaded.handleArrowKeys(event);}; + //Google Chrome 4.0.249.78 bug for onload attribute + document.getElementById('shTopImg').src = shutterLinks[ln].link; + + window.setTimeout(function(){shutterReloaded.loading();},1000); + }, + + loading : function() { + var t = this, S, WB, W; + if ( (W = t.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( ! (S = t.I('shShutter')) ) return; + if ( t.I('shWaitBar') ) return; + WB = document.createElement('div'); + WB.setAttribute('id','shWaitBar'); + WB.style.top = t.Top + 'px'; + WB.style.marginTop =(t.pgHeight/2) + 'px' + WB.innerHTML = t.msgLoading; + S.appendChild(WB); + }, + + hideShutter : function() { + var t = this, D, S; + if ( D = t.I('shDisplay') ) D.parentNode.removeChild(D); + if ( S = t.I('shShutter') ) S.parentNode.removeChild(S); + t.hideTags(true); + window.scrollTo(0,t.Top); + window.onresize = t.FS = t.Top = t.VP = null; + document.documentElement.style.overflowX = ''; + document.onkeydown = null; + }, + + resize : function(ln) { + var t = this; + + if ( t.resizing ) return; + if ( ! t.I('shShutter') ) return; + var W = t.I('shWrap'); + if ( W ) W.style.visibility = 'hidden'; + + window.setTimeout(function(){shutterReloaded.resizing = null},500); + window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.make("'+ln+'");'),100); + t.resizing = true; + }, + + _viewPort : function() { + var t = this; + var wiH = window.innerHeight ? window.innerHeight : 0; + var dbH = document.body.clientHeight ? document.body.clientHeight : 0; + var deH = document.documentElement ? document.documentElement.clientHeight : 0; + + if( wiH > 0 ) { + t.wHeight = ( (wiH - dbH) > 1 && (wiH - dbH) < 30 ) ? dbH : wiH; + t.wHeight = ( (t.wHeight - deH) > 1 && (t.wHeight - deH) < 30 ) ? deH : t.wHeight; + } else t.wHeight = ( deH > 0 ) ? deH : dbH; + + var deW = document.documentElement ? document.documentElement.clientWidth : 0; + var dbW = window.innerWidth ? window.innerWidth : document.body.clientWidth; + t.wWidth = ( deW > 1 ) ? deW : dbW; + }, + + showImg : function() { + var t = this, S = t.I('shShutter'), D = t.I('shDisplay'), TI = t.I('shTopImg'), T = t.I('shTitle'), NB = t.I('shNavBar'), W, WB, wHeight, wWidth, shHeight, maxHeight, itop, mtop, resized = 0; + + if ( ! S ) return; + if ( (W = t.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( WB = t.I('shWaitBar') ) WB.parentNode.removeChild(WB); + + S.style.width = D.style.width = ''; + T.style.width = (TI.width - 4) + 'px'; + + shHeight = t.wHeight - 50; + + if (window.parent) { + // XXX exception test attach to post tabs + var container = window.parent; + + if (typeof(container.ngg_get_measures_for_frame) != 'undefined') { + var measures = container.ngg_get_measures_for_frame(window.frameElement); + + shHeight = measures.scrollHeight - 50; + } + } + + if ( t.FS ) { + if ( TI.width > (t.wWidth - 10) ) + S.style.width = D.style.width = TI.width + 10 + 'px'; + document.documentElement.style.overflowX = ''; + } else { + window.scrollTo(0,t.Top); + if ( TI.height > shHeight ) { + TI.width = TI.width * (shHeight / TI.height); + TI.height = shHeight; + resized = 1; + } + if ( TI.width > (t.wWidth - 16) ) { + TI.height = TI.height * ((t.wWidth - 16) / TI.width); + TI.width = t.wWidth - 16; + resized = 1; + } + T.style.width = (TI.width - 4) + 'px'; + } + + maxHeight = t.Top + TI.height + 10; + if ( maxHeight > t.pgHeight ) S.style.height = maxHeight + 'px'; + window.scrollTo(0,t.Top); + + itop = (shHeight - TI.height) * 0.45; + mtop = (itop > 3) ? Math.floor(itop) : 3; + D.style.top = t.Top + mtop + 'px'; + W.style.visibility = 'visible'; + }, + + hideTags : function(arg) { + var sel = document.getElementsByTagName('select'); + var obj = document.getElementsByTagName('object'); + var emb = document.getElementsByTagName('embed'); + var ifr = document.getElementsByTagName('iframe'); + + var vis = ( arg ) ? 'visible' : 'hidden'; + + for (i = 0; i < sel.length; i++) sel[i].style.visibility = vis; + for (i = 0; i < obj.length; i++) obj[i].style.visibility = vis; + for (i = 0; i < emb.length; i++) emb[i].style.visibility = vis; + for (i = 0; i < ifr.length; i++) ifr[i].style.visibility = vis; + }, + + handleArrowKeys : function(e) { + var code = 0; + if (!e) var e = window.event + if (e.keyCode) code = e.keyCode; + else if (e.which) code = e.which; + + var nextlink = document.getElementById('prevpic'); + var prevlink = document.getElementById('nextpic'); + var closelink = document.getElementById('shTopImg'); + + switch (code) { + case 39: + if (prevlink) prevlink.onclick(); + break; + case 37: + if (nextlink) nextlink.onclick(); + break; + case 27: + if (closelink) closelink.onclick(); + break; + } + } +} +shutterOnload = function(){shutterReloaded.init('sh');} + +if (typeof shutterOnload == 'function') { + if ('undefined' != typeof jQuery) jQuery(document).ready(function(){shutterOnload();}); + else if( typeof window.onload != 'function' ) window.onload = shutterOnload; + else {oldonld = window.onload;window.onload = function(){if(oldonld){oldonld();};shutterOnload();}}; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/close.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..057a43f33de04cb44adb9b10d7a113d90a6ef55a GIT binary patch literal 1062 zcmZ?wbhEHb6krfw_<o$>zqYnF3yUusTb71~D=TY`rq+$_ZZBqLXBL((-@aM1vwJc# z_c1W+Q&*qL!BNV<;K9jx&BNo%moLuT+z-XYABl;@NJw07YVu)aJ$&-yJ#q0Vva%<P zjgPal|F5dM%FqA*(CL3#T0ayOe<&;euW4Mt!{g1xRmi~b)zL9WL-X&SKe?=|S&WQ- z|NaeRWu3&v_CF)z<LA$DY;315UoI09Pmq+{fBu5IfWR+J&7UeN=eBIwBqH)bR`$Q9 z=E0*!KYjUfxvy`psp++zo>#A4tyEKcQdqcOOKZN8k{>&JAtU3LRjc-1xN!aM-BvcX z{|yb15)%K*%08@I`9D1^N>+9)FYm>*>n6CkgiA=A<L7@C5b$Nkj-5tE_m(V~Z)LSi zQ}btR>;^Tp2M-?HxO?y3ojdUo5-x0PJ}fMYoSfn$Bs|#I_N%L(jgFoqExkfX>3@BF z4Ff~AhQ>S*5f@(G6OobCqN3*u3YJPrUb%M7fs^ynoH?&vyts1h`uX<u|A&sAynOlp zfuqk{T{mcI9zJ&b(UT{)_4V_lrO(92U$}7b|DjWB)YM$r*e+ybyoiW+8XDRzF5WLA zQ^vsXUP9tmRMbQ(>#s^m|BoE;WM@BHU%$ZF`BZXp4+DcUE9;XvbN<&gT*%2eUs(9@ z{d<2Np2xFiUtYB6tE_A#1H<>7J2TkWd_+aBnVBu}^0MRL_#YGV$<eV}P3`QNGtWv& zeraeNIey%opZ_E`_y6LO|5;g6m6Wbdo_y8T_T}u^{|}rvX=mpxB=ks1%9VqoMMma} znArcSDo<hIM~@#*WMKIJ|3Aaf0g69a7#SFjGw6Vv49XJ>9RC^mIc?gq9J-iTAMi++ zZAjD)t}knJxUziGG-=-cvq4Ntr?Csoy~9x~<a+J^=dOs<NM%p19{o0nn~ziqrV2Rh zbbA@uvgqn^#Y!a;rbP-N0;Z)slFX*+lUbI|v-n_?c=D>QQp}W984E)~m<>8FY0L^b z5hxR5FQn3un9we3c7Q`c<ME>q&CtXSUa4ZY;K`y!0s;wzj~b^smme{>`8n&7w1=me zW5q#+U^Yi%y^kN2PrFY~;;WNg5S-M_CoOJu!Dz#hE<r65F&XX+jNYr1q%=Z4uy$W) zcV}mtm3dfMXsMv33yX58ih~<tW71a!1_c&AeF-Bjm!hLgGo>=-aWH2{2ryU!01+2$ AfdBvi literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/loading.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..7150ca97e54868ee3f9f60070cbed460964cecaf GIT binary patch literal 10049 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/next.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/next.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e289a1692f4ecb9a63bb5da100b96b1b48d421c GIT binary patch literal 549 zcmZ?wbhEHb6krfwcvi?DIq!{F|04!QCjRovtd`{r972rTqU`q7OcKV-ayE*6_c=Wp zxjdU0`6NTuz3^N5kiYi2Sl=V%y5r0;riPPl^B0|Gv#wxKG-fl;X0^$bnEzI5$y@0u zPt7-d=JapV^{=v<aoc0*6S-agMfx7u&wU_Le_d(cf3JCW1&S}Iull6E|G(^xf9*S- zOU10<a_eSRapW((sN8c;W9nl@E+G!L29?$u){CCWZ1};*B_NZtMs4Cl%{8AD7rj&L zyT@i%#hZ85bJ-KA(w&?x&B|@pq>2v<lwA~`|4w@KSDDpc1xhZ6=53ML|DVk|LvPn_ zsrsu@ZMRjr?r;Y7h=;D^aH<Je_K+)RV&uk`%yO1oJ}sv4Q+e~xak$i}7oXtpZMT_m zPq6x`Pvdp%W$%UK)@aOm&Z3{f<=e{PH%Ynviu9UqQhED?`yQ)i?DksnSfKo}V$Egk zHJ=%URTxMCia%Kx85jx~bU>Owal*jf)KJ(YAKBE_-oc`y+tJ%5>zkR<*Dhx5t!1P) zrO7T|Nn0&3X%4$|hKIYkri(;haIzG`W;Ywdv_30kLB_pVGCA2DCVBRvp03P(3L!Ba z-04vo2D#4aaiP6Drp)oGBK$&AA_4^bRTRDE6mr=*m<7I;3*&Q?d|eouVELoT>2D(g GgEauEjJ%Bi literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/prev.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..0978e3345f42811e4324fa806796297255d8f03d GIT binary patch literal 551 zcmZ?wbhEHb6krfwcvi?DIq!{F|04!QCjRovtd`{r972rTqU`q7OcKV-ayE*6_c=Wp zxjdU0`6NTuz3^N5kiYi2Sl=V%y5r0;riPPl^B0|Gv#wxKG-fl;X0^$bnEzI5$y@0u zPt7-d=JapV^{=v<aoc0*6S-agMfx7u&wU_Le_d(cf3JCW1&S}Iull6E|G(^xf9*S- zOU10<a_eSRapW((sN8c;W9nl@E+G!L29?$u){CCWZ1};*B_NZtMs4Cl%{8AD7rj&L zyT@i%#hZ85bJ-KA(w&?x&B|@pq>2v<lwA~`|4w@KSDDpc1xhZ6=53ML|DVk|LvPn_ zsrsu@ZMRjr?r;Y7h=;D^aH<Je_K+)RV&uk`%yO1oJ}sv4Q+e~xak$i}7oXtpZMT_m zPq6x`Pvdp%W$%UK)@aOm&Z3{f<=e{PH%Ynviu9UqQhED?`yQ)i?DksnSfKo}V$Egk zHJ=%URTxMCia%Kx85jx~bU>Owal*jf(oopc+)@}R-`d%vtHaXOl9K5w+t**HXQbtA zJ*_Y)QB7MZ->yr-Mbq5fBSV_KGtJP(jbW=)a&T*Qj!YKgenDlc=+>AJ1wUq2Pf`24 zuFyDj=UfAgsC4drA$}3ncxF?cetj=R6@P(%h`E7g4z^sWbDJFb!oD<HCdB@13UXp& IWn!=f09WI@YybcN literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize1.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize1.gif new file mode 100644 index 0000000000000000000000000000000000000000..ec6cd7f312c804b991bf933bec16f94dcc80aa45 GIT binary patch literal 942 zcmZ?wbhEHb6krfw_}<LGz{J47$iT?N$iT|LtjWN@&d~9{USci}vlt@-7Xzax12YeE z)6H79hh_{s4D39tOo~j5+6??AoN^x0Ec`6I#+(d_3<v-3%lVpMyhMY;lxfNTSuC0i zX?=+-yv+Vj92PxUV9{yN^1sA1#I*W<4o3(Zmnet0FP~GHRmq#IzWbfVg}Uwk3upZ6 zv{|Hk;QKzkNUa@TwriFvBz_JsKCNt9ZxS%Wn~{Yv^qR-wn~NJBR52PeaOtx#Ffd51 z;nA(s;aknXBhR(=-^%{~Eliw@hyQO~aef{n3j;$bga3Uy@q8Y6FDcXcx>B(M`G>Lu zmG}<*-&eRaXVJ3-Azz$WIGH`N-FN)hYF42u?j@Y}GETgTCvcNz+vb*>8&MJOJ=T6* zo%B0!`Q_!Qm*Tj!IE+FJ7+4q>IT+aZSkw<o$lJ;YYVjI}7)4F+=jvtP_vHv(>0@(J ztM`Ak<~9lCSoxFx53ozK@))wSN-^`9aXRPQaw&7N*)dwS7`Yy^WYb|};$ZCkTVMA- zN55QyVH6BR2q^w!VPs%vX3zmy4$2b@9Ni4;oH8C8794Emh)r<xDBu&;k4-QT`O)Us z<)C{)U{6s~0*7W84};Mrw*+3XYMy61HZ0_rYoq<>jKvRSwke7#n>rXKt1ulBcQWw# zd4YlNFkgJhg9VLle2guDAssItGoNT|u3FVluu0WfS|#d_go|KXH?O17lqnfS6V5I$ UY1ZPIWYBT^$nFYOHWmhJ01Gg<r~m)} literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize2.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/images/resize2.gif new file mode 100644 index 0000000000000000000000000000000000000000..62d03b316c6d1bfe33d10a18430d2fc13484152f GIT binary patch literal 953 zcmZ?wbhEHb6krfw_};<5#K6GI$SBCbz{tQL&Bi9n!0<oZdk!D-Sy#s%CHWJ&qAZMz zN(>B=JUj{v3>*v$s?1E2IGF_)7=qbZ1KHTB_&Frl*!~Hynlmy?W?)ccW`1QOT_wa_ zDa`S}*;<H=?W4WPmsv9|MFsyeF_mUv(i0MrWMq2iY}qNm_98#)zrA??3)9t<I2RTs zP9~;$5&o|X3?En+o-JPZkcF{VR^qRW_%B`AFVf=wTdV(@8C~FJt`HYgla#z8$Nz6i zmpBJI3j@RdVB7!EK}!7mQ!EU(iwhO1DK3|ln9aw*!NjD@z@WsyxH=-_oTxyuoXq|D z>WA@BstimbtgH$wEZ@Cc_HZ&NF|phz%<1IeUChkzOGB2Gfx(x9<v0U_BPZK`1H-?r z_UjlJ=81CYvoLSrWcnWy`>d;7fsuiWf#Fk53OfUX3?rio1A`<ht0)s=tT2C^l<d0Z zrYJ^+<?Ia8)RnJ?`f)QbY_>A}r=!Ef$T*Ra!HkJvH!q`&h{#I@hNq$ew*=TP26!&; z_6%WQ;9+FE%D}LZo#DTi4Z|p)O9&|bWMO1r=wQ$R*#^oJ3>?!K1UY3qHas|B%%sjC z)56i`=;HQdfrHRPhWQfZ8X{X19(ByqX)B3Y@#&c&H;d~bkyVDz6_uF6ndW9Za%UBs z-ZAgWM}|ko#O3{BW;ISa#xPYdwcw4x4@DO)wUU;GgOim#*qe=5d>yAem>?!mZx#~a sWZ>7?Xp(d01(OHkLB(1Qx5|snK5Tjx>_q~XmGm9;>zKLSL<AVD0Tk$>0RR91 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js new file mode 100644 index 000000000..b0742b270 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/nextgen_shutter_reloaded.js @@ -0,0 +1,13 @@ +jQuery(function($){ + var callback = function(){ + var shutterLinks = {}, shutterSets = {}; shutterReloaded.Init(); + }; + $(this).bind('refreshed', callback); + + var flag = 'shutterReloaded'; + if (typeof($(window).data(flag)) == 'undefined') + $(window).data(flag, true); + else return; + + callback(); +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css new file mode 100644 index 000000000..e67ce17da --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.css @@ -0,0 +1,92 @@ +/* Shutter */ +#shNavBar a { +color: #aaf; /* colour for the text buttons */ +text-decoration: none; +} +#shNavBar a:hover { +color: #fff; /* highlight colour for the text buttons */ +} +#shDisplay div#shTitle { +font: normal 12px/17px 'Lucida Grande', Verdana, sans-serif; /* caption font */ +color: #ffffff; /* caption colour */ +text-align: center; +margin: 0 auto; +} +div#shNavBar { +font: normal 12px/12px 'Lucida Grande', Verdana, sans-serif; /* font for text buttons and image numbers */ +color: #999; /* colour for the image numbers */ +position: fixed; +left: 0; +bottom: 0; +background-color: #2e2e2e; +width: 100%; +padding: 4px 0 5px; +text-align: center; +cursor: pointer; +z-index: 10011; +} +body { +height: 100%; +} +#shShutter *, #shDisplay * { +padding: 0; +margin: 0; +} +div#shShutter, div#shDisplay { +top: 0; +left: 0; +width: 100%; +position: absolute; +} +div#shShutter { +height: 100%; +z-index: 10000; +background-color: #000000; +opacity: 0.8; +filter:alpha(opacity=80); +} +div#shDisplay { +display: block; +background-color: transparent; +z-index: 10002; +} +div#shDisplay img#shTopImg { +margin: 0 auto; +border: 1px solid #555; +background: transparent; +display: block; +max-width: none; +max-height: none; +} +div#shDisplay div#shWrap { +visibility: hidden; +} +div#shWaitBar { +position: absolute; +width: 100px; +left: 50%; +margin-left: -50px; +margin-top: 120px; +} +#shWaitBar img { +border: 0; +} +#fullSize { +display: none; +} +#shNavBar img { +border: 0; +vertical-align: middle; +margin: 0 2px; +opacity: 0.6; +filter: alpha(opacity=60); +} +#shNavBar img:hover { +opacity: 0.999; +filter: alpha(opacity=100); +} +* html div#shNavBar { +_position: absolute; +_top: expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop+document.documentElement.clientHeight-this.clientHeight : document.body.scrollTop+document.body.clientHeight-this.clientHeight); +_left: expression(eval(document.compatMode&&document.compatMode=='CSS1Compat') ? document.documentElement.scrollLeft : document.body.scrollLeft); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js new file mode 100644 index 000000000..4eb469104 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/shutter_reloaded/shutter.js @@ -0,0 +1,287 @@ +/* +Shutter Reloaded +http://www.laptoptips.ca/javascripts/shutter-reloaded/ +Version: 2.0.1 + +Acknowledgement: some ideas are from: Shutter by Andrew Sutherland - http://code.jalenack.com, WordPress - http://wordpress.org, Lightbox by Lokesh Dhakar - http://www.huddletogether.com, the icons are from Crystal Project Icons, Everaldo Coelho, http://www.everaldo.com + +Released under the GPL, http://www.gnu.org/copyleft/gpl.html + + Copyright (C) 2007 Andrew Ozz + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +*/ + +// Compute path to images +var imagePath = nextgen_lightbox_settings.static_path + '/shutter_reloaded/images/'; + +if (typeof(window.console) != 'undefined') { + console.log(imagePath); +} + +shutterReloaded = { + +// *************************************************************************** + +// edit below to change the text buttons/titles for the menu (use html entities for non-ascii characters) + L10n : ['Previous','Next','Close','Full Size','Fit to Screen','Image','of','Loading...'], + +// change to "true/false" to enable/disable showing the number of images in a set. + imageCount : true, + +// change to true/false to enable/disable text buttons instead of images + textBtns : false, + +// change the path to Shutter's image buttons directory if needed + shImgDir : imagePath, + +// *************************************************************************** + + I : function (a) { + return document.getElementById(a); + }, + + Init : function (a) { + var L, T, ext, i, setid, inset, shfile, shMenuPre, k, img; + for ( i = 0; i < document.links.length; i++ ) { + L = document.links[i]; + ext = ( L.href.indexOf('?') == -1 ) ? L.href.slice(-4).toLowerCase() : L.href.substring( 0, L.href.indexOf('?') ).slice(-4).toLowerCase(); + if ( ext != '.jpg' && ext != '.png' && ext != '.gif' && ext != 'jpeg' ) continue; + if ( a == 'sh' && L.className.toLowerCase().indexOf('shutter') == -1 ) continue; + if ( a == 'lb' && L.rel.toLowerCase().indexOf('lightbox') == -1 ) continue; + + if ( L.className.toLowerCase().indexOf('shutterset') != -1 ) + setid = ( L.className.indexOf(' ') != -1 ) ? L.className.slice(0,L.className.indexOf(' ')) : L.className; + else if ( L.rel.toLowerCase().indexOf('lightbox[') != -1 ) + setid = L.rel; + else setid = 0, inset = -1; + + if( setid ) { + if ( ! shutterSets[setid] ) shutterSets[setid] = []; + inset = shutterSets[setid].push(i); + } + + shfile = L.href.slice(L.href.lastIndexOf('/')+1); + T = ( L.title && L.title != shfile ) ? L.title : ''; + + shutterLinks[i] = {link:L.href,num:inset,set:setid,title:T} + L.onclick = new Function('shutterReloaded.Make("'+i+'");return false;'); + } + + if ( ! this.textBtns ) { + shMenuPre = ['close.gif','prev.gif','next.gif','resize1.gif','resize2.gif','loading.gif']; + for ( k = 0; k < shMenuPre.length; k++ ) { + img = new Image(); + img.src = this.shImgDir+shMenuPre[k]; + } + } + }, + + Make : function(ln,fs) { + var prev, next, prevlink = '', nextlink = '', previmg, nextimg, prevbtn, nextbtn, D, S, W, NB, fsarg = '', imgNum, closebtn, fsbtn, fsLink; + + if ( ! this.Top ) { + if ( typeof window.pageYOffset != 'undefined' ) this.Top = window.pageYOffset; + else this.Top = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop; + } + + if ( typeof this.pgHeight == 'undefined' ) + this.pgHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); + + if ( fs ) this.FS = true; + else this.FS = null; + + if ( this.resizing ) this.resizing = null; + window.onresize = new Function('shutterReloaded.Resize("'+ln+'");'); + + document.documentElement.style.overflowX = 'hidden'; + if ( ! this.VP ) { + this._viewPort(); + this.VP = true; + } + + if ( ! (S = this.I('shShutter')) ) { + S = document.createElement('div'); + S.setAttribute('id','shShutter'); + document.getElementsByTagName('body')[0].appendChild(S); + this.fixTags(); + } + + if ( ! (D = this.I('shDisplay')) ) { + D = document.createElement('div'); + D.setAttribute('id','shDisplay'); + D.style.top = this.Top + 'px'; + document.getElementsByTagName('body')[0].appendChild(D); + } + + S.style.height = this.pgHeight + 'px'; + + var dv = this.textBtns ? ' | ' : ''; + if ( shutterLinks[ln].num > 1 ) { + prev = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num - 2]; + prevbtn = this.textBtns ? this.L10n[0] : '<img src="'+this.shImgDir+'prev.gif" title="'+this.L10n[0]+'" />'; + prevlink = '<a href="#" onclick="shutterReloaded.Make('+prev+');return false">'+prevbtn+'</a>'+dv; + previmg = new Image(); + previmg.src = shutterLinks[prev].link; + } + + if ( shutterLinks[ln].num != -1 && shutterLinks[ln].num < (shutterSets[shutterLinks[ln].set].length) ) { + next = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num]; + nextbtn = this.textBtns ? this.L10n[1] : '<img src="'+this.shImgDir+'next.gif" title="'+this.L10n[1]+'" />'; + nextlink = '<a href="#" onclick="shutterReloaded.Make('+next+');return false">'+nextbtn+'</a>'+dv; + nextimg = new Image(); + nextimg.src = shutterLinks[next].link; + } + + closebtn = this.textBtns ? this.L10n[2] : '<img src="'+this.shImgDir+'close.gif" title="'+this.L10n[2]+'" />'; + + imgNum = ( (shutterLinks[ln].num > 0) && this.imageCount ) ? ' '+this.L10n[5]+' '+shutterLinks[ln].num+' '+this.L10n[6]+' '+shutterSets[shutterLinks[ln].set].length : ''; + if ( imgNum && this.textBtns ) imgNum += ' |'; + + if ( this.FS ) { + fsbtn = this.textBtns ? this.L10n[4] : '<img src="'+this.shImgDir+'resize2.gif" title="'+this.L10n[4]+'" />'; + } else { + fsbtn = this.textBtns ? this.L10n[3] : '<img src="'+this.shImgDir+'resize1.gif" title="'+this.L10n[3]+'" />'; + fsarg = ',1'; + } + + fsLink = '<span id="fullSize"><a href="#" onclick="shutterReloaded.Make('+ln+fsarg+');return false">'+fsbtn+'</a>'+dv+'</span>'; + + if ( ! (NB = this.I('shNavBar')) ) { + NB = document.createElement('div'); + NB.setAttribute('id','shNavBar'); + document.getElementsByTagName('body')[0].appendChild(NB); + } + + NB.innerHTML = dv+prevlink+'<a href="#" onclick="shutterReloaded.hideShutter();return false">'+closebtn+'</a>'+dv+fsLink+nextlink+imgNum; + + D.innerHTML = '<div id="shWrap"><img src="'+shutterLinks[ln].link+'" id="shTopImg" onload="shutterReloaded.ShowImg();" onclick="shutterReloaded.hideShutter();" /><div id="shTitle">'+shutterLinks[ln].title+'</div></div>'; + + window.setTimeout(function(){shutterReloaded.loading();},2000); + }, + + loading : function() { + var S, WB, W; + if ( (W = this.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( ! (S = this.I('shShutter')) ) return; + if ( this.I('shWaitBar') ) return; + WB = document.createElement('div'); + WB.setAttribute('id','shWaitBar'); + WB.style.top = this.Top + 'px'; + WB.innerHTML = '<img src="'+this.shImgDir+'loading.gif" title="'+this.L10n[7]+'" />'; + S.appendChild(WB); + }, + + hideShutter : function() { + var D, S, NB; + if ( D = this.I('shDisplay') ) D.parentNode.removeChild(D); + if ( S = this.I('shShutter') ) S.parentNode.removeChild(S); + if ( NB = this.I('shNavBar') ) NB.parentNode.removeChild(NB); + this.fixTags(true); + window.scrollTo(0,this.Top); + window.onresize = this.FS = this.Top = this.VP = null; + document.documentElement.style.overflowX = ''; + }, + + Resize : function(ln) { + if ( this.resizing ) return; + if ( ! this.I('shShutter') ) return; + var W = this.I('shWrap'); + if ( W ) W.style.visibility = 'hidden'; + + window.setTimeout(function(){shutterReloaded.resizing = null},500); + window.setTimeout(new Function('shutterReloaded.VP = null;shutterReloaded.Make("'+ln+'");'),100); + this.resizing = true; + }, + + _viewPort : function() { + var wiH = window.innerHeight ? window.innerHeight : 0; + var dbH = document.body.clientHeight ? document.body.clientHeight : 0; + var deH = document.documentElement ? document.documentElement.clientHeight : 0; + + if( wiH > 0 ) { + this.wHeight = ( (wiH - dbH) > 1 && (wiH - dbH) < 30 ) ? dbH : wiH; + this.wHeight = ( (this.wHeight - deH) > 1 && (this.wHeight - deH) < 30 ) ? deH : this.wHeight; + } else this.wHeight = ( deH > 0 ) ? deH : dbH; + + var deW = document.documentElement ? document.documentElement.clientWidth : 0; + var dbW = window.innerWidth ? window.innerWidth : document.body.clientWidth; + this.wWidth = ( deW > 1 ) ? deW : dbW; + }, + + ShowImg : function() { + var S, W, WB, D, T, TI, NB, wHeight, wWidth, capH, shHeight, maxHeight, itop, mtop, resized = 0; + if ( ! (S = this.I('shShutter')) ) return; + if ( (W = this.I('shWrap')) && W.style.visibility == 'visible' ) return; + if ( WB = this.I('shWaitBar') ) WB.parentNode.removeChild(WB); + + D = this.I('shDisplay'); + TI = this.I('shTopImg'); + T = this.I('shTitle'); + NB = this.I('shNavBar'); + S.style.width = D.style.width = ''; + T.style.width = (TI.width - 4) + 'px'; + + capH = NB.offsetHeight ? T.offsetHeight + NB.offsetHeight : 30; + shHeight = this.wHeight - 7 - capH; + + if ( this.FS ) { + if ( TI.width > (this.wWidth - 10) ) + S.style.width = D.style.width = TI.width + 10 + 'px'; + document.documentElement.style.overflowX = ''; + } else { + window.scrollTo(0,this.Top); + if ( TI.height > shHeight ) { + TI.width = TI.width * (shHeight / TI.height); + TI.height = shHeight; + resized = 1; + } + if ( TI.width > (this.wWidth - 16) ) { + TI.height = TI.height * ((this.wWidth - 16) / TI.width); + TI.width = this.wWidth - 16; + resized = 1; + } + T.style.width = (TI.width - 4) + 'px'; + NB.style.bottom = '0px'; + } + + maxHeight = this.Top + TI.height + capH + 10; + if ( maxHeight > this.pgHeight ) S.style.height = maxHeight + 'px'; + window.scrollTo(0,this.Top); + if ( (this.FS && (TI.height > shHeight || TI.width > this.wWidth)) || resized ) this.I('fullSize').style.display = 'inline'; + + itop = (shHeight - TI.height) * 0.45; + mtop = (itop > 3) ? Math.floor(itop) : 3; + D.style.top = this.Top + mtop + 'px'; + NB.style.bottom = '0'; + W.style.visibility = 'visible'; + }, + + fixTags : function(arg) { + var sel = document.getElementsByTagName('select'); + var obj = document.getElementsByTagName('object'); + var emb = document.getElementsByTagName('embed'); + + if ( arg ) var vis = 'visible'; + else var vis = 'hidden'; + + for (i = 0; i < sel.length; i++) sel[i].style.visibility = vis; + for (i = 0; i < obj.length; i++) obj[i].style.visibility = vis; + for (i = 0; i < emb.length; i++) emb[i].style.visibility = vis; + } +} + +var shutterLinks = {}, shutterSets = {}; +if (typeof shutterOnload == 'function') { + oldonload = window.onload; + if( typeof window.onload != 'function' ) window.onload = shutterOnload; + else window.onload = function(){shutterOnload();if(oldonload){oldonload();}}; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js new file mode 100644 index 000000000..61486fd2f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js @@ -0,0 +1,10 @@ +var thickboxL10n = { + loadingAnimation: photocrati_ajax.wp_site_static_url + '/wp-includes/js/thickbox/loadingAnimation.gif', + closeImage: photocrati_ajax.wp_site_static_url + '/wp-includes/js/thickbox/tb-close.png', + next: 'Next >', + prev: '< Prev', + image: 'Image', + of: 'of', + close: 'Close', + noiframes: 'This feature requires inline frames. You have iframes disabled or your browser does not support them.' +}; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php new file mode 100644 index 000000000..8303d5e2b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/class.lzw.php @@ -0,0 +1,119 @@ +<?php + +/** +* @link http://code.google.com/p/php-lzw/ +* @author Jakub Vrana, http://www.vrana.cz/ +* @copyright 2009 Jakub Vrana +* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 +*/ + + +class Mixin_Lzo_Instance_Methods extends Mixin +{ + /** LZW compression + * @param string data to compress + * @return string binary data + */ + function compress($string) { + // compression + $dictionary = array_flip(range("\0", "\xFF")); + $word = ""; + $codes = array(); + for ($i=0; $i <= strlen($string); $i++) { + $x = substr($string, $i, 1); + if (strlen($x) && isset($dictionary[$word . $x])) { + $word .= $x; + } elseif ($i) { + $codes[] = $dictionary[$word]; + $dictionary[$word . $x] = count($dictionary); + $word = $x; + } + } + + // convert codes to binary string + $dictionary_count = 256; + $bits = 8; // ceil(log($dictionary_count, 2)) + $return = ""; + $rest = 0; + $rest_length = 0; + foreach ($codes as $code) { + $rest = ($rest << $bits) + $code; + $rest_length += $bits; + $dictionary_count++; + if ($dictionary_count >> $bits) { + $bits++; + } + while ($rest_length > 7) { + $rest_length -= 8; + $return .= chr($rest >> $rest_length); + $rest &= (1 << $rest_length) - 1; + } + } + return $return . ($rest_length ? chr($rest << (8 - $rest_length)) : ""); + } + + + /** LZW decompression + * @param string compressed binary data + * @return string original data + */ + function decompress($binary) { + // convert binary string to codes + $dictionary_count = 256; + $bits = 8; // ceil(log($dictionary_count, 2)) + $codes = array(); + $rest = 0; + $rest_length = 0; + for ($i=0; $i < strlen($binary); $i++) { + $rest = ($rest << 8) + ord($binary[$i]); + $rest_length += 8; + if ($rest_length >= $bits) { + $rest_length -= $bits; + $codes[] = $rest >> $rest_length; + $rest &= (1 << $rest_length) - 1; + $dictionary_count++; + if ($dictionary_count >> $bits) { + $bits++; + } + } + } + + // decompression + $dictionary = range("\0", "\xFF"); + $return = ""; + foreach ($codes as $i => $code) { + $element = $dictionary[$code]; + if (!isset($element)) { + $element = $word . $word[0]; + } + $return .= $element; + if ($i) { + $dictionary[] = $word . $element[0]; + } + $word = $element; + } + return $return; + } +} + +class C_Lzw extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Lzo_Instance_Methods'); + $this->implement('I_Lzw'); + } + + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php new file mode 100644 index 000000000..7b32c9902 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/interface.lzw.php @@ -0,0 +1,7 @@ +<?php + +interface I_Lzw +{ + function compress($obj); + function decompress($str); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/module.lzw.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/module.lzw.php new file mode 100644 index 000000000..1a7716bd2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/lzw/module.lzw.php @@ -0,0 +1,38 @@ +<?php + +/* +{ + Module: photocrati-lzw +} + */ +class M_Lzw extends C_Base_Module +{ + function define($context=FALSE) + { + parent::define( + 'photocrati-lzw', + 'LZW', + 'Provides LZW compression utility', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com', + $context + ); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Lzw', 'C_Lzw'); + } + + function get_type_list() + { + return array( + 'C_Lzw' => 'class.lzw.php', + 'I_Lzw' => 'interface.lzw.php' + ); + } +} + +new M_Lzw; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php new file mode 100644 index 000000000..b7ec2457e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/adapter.mediarss_routes.php @@ -0,0 +1,27 @@ +<?php + +class A_MediaRSS_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds MediaRSS routes', + get_class(), + 'add_mediarss_routes' + ); + } + + function add_mediarss_routes() + { + $app = $this->create_app('/nextgen-mediarss'); + $app->route( + '/', + array( + 'controller' => 'I_MediaRSS_Controller', + 'action' => 'index', + 'context' => FALSE + ) + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php new file mode 100644 index 000000000..593c1674f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/class.mediarss_controller.php @@ -0,0 +1,172 @@ +<?php + +class Mixin_MediaRSS_Controller extends Mixin +{ + /** + * Renders a MediaRSS feed + */ + function index_action() + { + $this->object->set_content_type('xml'); + + if ($this->object->param('source')) { + $method = 'render_'.$this->object->param('source'); + if ($this->object->has_method($method)) { + $this->object->$method(); + } + } + else $this->object->http_error("No source specified"); + } + + function render_latest_images() + { + $this->object->set_param('params', json_encode(array( + 'source' => 'recent' + ))); + + $this->object->render_displayed_gallery(); + } + + /** + * Renders a feed for a displayed gallery + */ + function render_displayed_gallery() + { + $displayed_gallery = NULL; + $mapper = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + $template = $this->object->param('template'); + + if (!in_array($template, array('mediarss_feed', 'playlist_feed'))) { + $template = 'mediarss_feed'; + } + + $template = 'photocrati-mediarss#' . $template; + + // Find the displayed gallery by it's database id + if (($id = $this->object->param('id'))) { + $displayed_gallery = $mapper->find($id, TRUE); + } + elseif ($transient_id = $this->object->param('transient_id')) + { + // retrieve by transient id + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery', $mapper); + $displayed_gallery->apply_transient($transient_id); + } + elseif (($params = $this->object->param('params'))) + { + // Create the displayed gallery based on the URL parameters + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create( + 'displayed_gallery', $mapper, json_decode($params) + ); + } + + // Assuming we have a displayed gallery, display it! + if ($displayed_gallery) { + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $this->render_view($template, array( + 'storage' => $storage, + 'images' => $displayed_gallery->get_included_entities(), + 'feed_title' => $this->object->_get_feed_title($displayed_gallery), + 'feed_description' => $this->object->_get_feed_description($displayed_gallery), + 'feed_link' => $this->object->_get_feed_link($displayed_gallery), + 'generator' => $this->object->_get_feed_generator($displayed_gallery), + 'copyright' => $this->object->_get_feed_copyright($displayed_gallery), + )); + } + else { + $this->object->http_error("Invalid ID", 404); + } + } + + /** + * Gets the name of the feed generator + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_generator($displayed_gallery) + { + return 'NextGEN Gallery [http://nextgen-gallery.com]'; + } + + + /** + * Gets the copyright for the feed + */ + function _get_feed_copyright($displayed_gallery) + { + $site_url = $this->object->get_site_url(); + $blog_name = get_option('blogname'); + return "Copyright (C) {$blog_name} ({$site_url})"; + } + + /** + * Gets the Site URL + * @return string + */ + function get_site_url() + { + $router = $this->get_registry()->get_utility('I_Router'); + return $router->get_base_url(); + } + + /** + * Gets a description for the feed + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_description($displayed_gallery) + { + return ''; + } + + /** + * Gets a link for the feed + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_link($displayed_gallery) + { + return $this->object->get_site_url(); + } + + + /** + * Gets a title for the feed + * @param C_Displayed_Gallery $displayed_gallery + * @return string + */ + function _get_feed_title($displayed_gallery) + { + // Get gallery titles + $gallery_titles = array(); + foreach ($displayed_gallery->get_galleries() as $gallery) { + $gallery_titles[] = $gallery->title; + } + + return "Images from: ".implode(', ', $gallery_titles); + } +} + +class C_MediaRSS_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_MediaRSS_Controller'); + $this->implement('I_MediaRSS_Controller'); + } + + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php new file mode 100644 index 000000000..bb03c9355 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/interface.mediarss_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_MediaRSS_Controller +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/module.mediarss.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/module.mediarss.php new file mode 100644 index 000000000..0851b468c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/module.mediarss.php @@ -0,0 +1,46 @@ +<?php +/*** +{ + Module: photocrati-mediarss, + Depends: { photocrati-router, photocrati-nextgen_gallery_display } +} +***/ +class M_MediaRss extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-mediarss', + 'MediaRss', + 'Generates MediaRSS feeds of image collections', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Router', 'A_MediaRss_Routes'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + 'I_MediaRSS_Controller', 'C_MediaRSS_Controller' + ); + } + + function get_type_list() + { + return array( + 'A_Mediarss_Routes' => 'adapter.mediarss_routes.php', + 'C_Mediarss_Controller' => 'class.mediarss_controller.php', + 'I_Mediarss_Controller' => 'interface.mediarss_controller.php' + ); + } + +} + +new M_MediaRss(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php new file mode 100644 index 000000000..22d765990 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/mediarss_feed.php @@ -0,0 +1,34 @@ +<?php echo('<?xml version="1.0" encoding="UTF-8"?>');?> +<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'> + <channel> + <generator><![CDATA[<?php echo_h($generator)?>]]></generator> + <title><?php echo_h($feed_title) ?></title> + <description><?php echo_h($feed_description) ?></description> + <link><![CDATA[<?php echo esc_url($feed_link)?>]]></link> + <?php foreach($images as $image): ?> + <?php + $image_url = $storage->get_image_url($image); + $thumb_url = $storage->get_thumb_url($image); + $thumb_size = $storage->get_thumb_dimensions($image); + $width = $thumb_size['width']; + $height = $thumb_size['height']; + ?> + <item> + <title><![CDATA[<?php echo_h($image->alttext)?>]]></title> + <description><![CDATA[<?php echo_h($image->description)?>]]></description> + <link><![CDATA[<?php echo esc_url($image_url)?>]]></link> + <guid>image-id:<?php echo_h($image->id_field)?></guid> + <media:content url="<?php echo esc_url($image_url)?>" medium="image" /> + <media:title><![CDATA[<?php echo_h($image->alttext)?>]]></media:title> + <?php if (isset($description)): ?> + <media:description><![CDDATA[<?php echo_h($image->description)?>]]></media:description> + <?php endif ?> + <media:thumbnail width="<?php echo esc_attr($width)?>" height="<?php echo esc_attr($height)?>" url="<?php echo esc_url($thumb_url) ?>"/> + <?php if (isset($tagnames)): ?> + <media:keywords><![CDATA[<?php echo_h($tagnames)?>]]></media:keywords> + <?php endif ?> + <media:copyright><![CDATA[<?php echo_h($copyright)?>]]></media:copyright> + </item> + <?php endforeach ?> + </channel> +</rss> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php new file mode 100644 index 000000000..e62dfadce --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mediarss/templates/playlist_feed.php @@ -0,0 +1,25 @@ +<playlist version='1' xmlns='http://xspf.org/ns/0/'> + <trackList> + <?php foreach($images as $image): ?> + <?php + $image_url = $storage->get_image_url($image); + $thumb_url = $storage->get_thumb_url($image); + $thumb_size = $storage->get_thumb_dimensions($image); + $width = $thumb_size['width']; + $height = $thumb_size['height']; + + $image_title = $image->description; + + if ($image_title == null) + $image_title = $image->alttext; + + if (strlen($image_title) >= 25) + $image_title = substr_replace($image_title, '...', 15, -10); + ?> + <track> + <title><![CDATA[<?php echo_h($image_title)?>]]></title> + <location><![CDATA[<?php echo esc_url($image_url)?>]]></location> + </track> + <?php endforeach ?> + </trackList> +</playlist> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README new file mode 100644 index 000000000..082c31de4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/README @@ -0,0 +1,85 @@ + +VIEW ELEMENTS + +Elements are sub-pieces of a template/view identified by a "unique" ID. The ID is unique in the sense that it uniquely defines the "origin" or creator for the element itself. + +For instance if you have a module called pro_lightbox and specific adapter for trigger buttons and you add an element for it the unique ID identifying the element could be nextgen_pro_lightbox.trigger_buttons + +The ID doesn't however need to be unique in the view itself, meaning you can have multiple elements with the same ID if for instance the element is being rendered for multiple images. We might add an extra "context" parameter to elements together to the ID if we want to uniquely identify element objects. + +Example of how elements are initiated: + +$elem = $this->start_element('flash_cont'); +echo 'cont'; +$this->start_element('flash_test'); +echo 'test'; +$this->start_element('flash_stuff'); +echo 'stuff'; +$this->end_element(); +$this->end_element(); +$this->end_element(); + +var_dump($elem); + +This would create this output: + +object(C_MVC_View_Element)#775 (3) { + ["_id"]=>string(10) "flash_cont" + ["_type"]=>string(7) "element" + ["_list"]=>array(2) { + [0]=>string(4) "cont" + [1]=>object(C_MVC_View_Element)#768 (3) { + ["_id"]=>string(10) "flash_test" + ["_type"]=>string(7) "element" + ["_list"]=>array(2) { + [0]=>string(4) "test" + [1]=>object(C_MVC_View_Element)#769 (3) { + ["_id"]=>string(11) "flash_stuff" + ["_type"]=>string(7) "element" + ["_list"]=>array(1) { + [0]=>string(5) "stuff" + } + } + } + } + } +} + +The way the MVC view will render these is by creating a root View Element that contains the entire template rendered in the view and which is then "rasterized" e.g. converted to markup/text ready for output + +The rendering from template to element will occur in the render_object() method while rasterization will occur in a method called rasterize_object() + +Elements created for templates will have ID corresponding to template name/path so for instance _id would equal 'photocrati-nextgen_basic_gallery#slideshow/index' this way adapters adapting rasterize_object() can easily distinguish between for which template rasterization is occurring and act accordingly (for instance trigger buttons being enabled only for certain display types) + +Sub-templates will also be automatically rendered to elements meaning image/before and image/after etc. will become sub-elements of the root template element. I don't think this will affect performance much but if so we could easily replace the before/after mechanism to use elements directly + +So for instance instead of: +$this->include_template('image/before'); +<div class="image">...</div> +$this->include_template('image/after'); + +We would have: +$this->start_element('nextgen_gallery.image'); +$this->include_template('image/before'); +<div class="image">...</div> +$this->include_template('image/after'); +$this->end_element(); + +Then you could have an adapter like: + + function rasterize_object($root_element) + { + if ($root_element->get_id() == 'photocrati-nextgen_basic_gallery#slideshow/index') + { + $list = $root_element->find('nextgen_gallery.image'); + + foreach ($list as $element) + { + $element->append('<div>description</div>'); + } + } + } + +This would reduce the amount of elements overall and improve performance and possibly readability. Then the before/after templates could be left untouched as in the example above. + + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php new file mode 100644 index 000000000..6a034a9ad --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_factory.php @@ -0,0 +1,9 @@ +<?php + +class A_MVC_Factory extends Mixin +{ + function mvc_view($template, $params=array(), $engine='php', $context=FALSE) + { + return new C_MVC_View($template, $params, $engine, $context); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_fs.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_fs.php new file mode 100644 index 000000000..5c32744dd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_fs.php @@ -0,0 +1,44 @@ +<?php + +class A_MVC_Fs extends Mixin +{ + /** + * Gets the absolute path to a static resource. If it doesn't exist, then NULL is returned + * + * @param string $path + * @param string $module + * @param string $relative + * @return string|NULL + */ + function find_static_abspath($path, $module = FALSE, $relative = FALSE) + { + // Find the module directory + $fs = $this->object->get_registry()->get_utility('I_Fs'); + if (!$module) list($path, $module) = $fs->parse_formatted_path($path); + $mod_dir = $this->object->get_registry()->get_module_dir($module); + + // Create the absolute path to the file + $path = $fs->join_paths( + $mod_dir, + C_NextGen_Settings::get_instance()->get('mvc_static_dirname'), + $path + ); + + // Get the relative path, if asked + if ($relative) $path = str_replace($fs->get_document_root(), '', $path); + + return $path; + } + + /** + * Gets the relative path to a static resource. If it doesn't exist, then NULL is returned + * + * @param string $path + * @param string $module + * @return string|NULL + */ + function find_static_relpath($path, $module = FALSE) + { + return $this->object->find_static_abspath($path, $module, TRUE); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php new file mode 100644 index 000000000..40dd93f85 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/adapter.mvc_router.php @@ -0,0 +1,25 @@ +<?php + +class A_MVC_Router extends Mixin +{ + /** + * First tries to find the static file in the 'static' folder + * @param string $path + * @param string $module + * @return string + */ + function get_static_url($path, $module=FALSE) + { + // Determine the base url + $base_url = $this->object->get_base_url(TRUE); + $base_url = $this->object->remove_url_segment('/index.php', $base_url); + + // Find the module directory + $fs = $this->object->get_registry()->get_utility('I_Fs'); + + return $fs->join_paths( + $base_url, + $fs->find_static_abspath($path, $module, TRUE) + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php new file mode 100644 index 000000000..af948de9a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_controller.php @@ -0,0 +1,272 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + + +class Mixin_MVC_Controller_Defaults extends Mixin +{ + // Provide a default view + function index_action($return=FALSE) + { + return $this->render_view('photocrati-mvc#index', array(), $return); + } +} + + +/** + * Provides actions that are executed based on the requested url + */ +abstract class C_MVC_Controller extends C_Component +{ + var $_content_type = 'text/html'; + var $message = ''; + var $debug = FALSE; + + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_MVC_Controller_Defaults'); + $this->add_mixin('Mixin_MVC_Controller_Instance_Methods'); + $this->implement('I_MVC_Controller'); + } +} + +/** + * Adds methods for MVC Controller + */ +class Mixin_MVC_Controller_Instance_Methods extends Mixin +{ + function set_content_type($type) + { + switch ($type) { + case 'html': + case 'xhtml': + $type = 'text/html'; + break; + case 'xml': + $type = 'text/xml'; + break; + case 'rss': + case 'rss2': + $type = 'application/rss+xml'; + break; + case 'css': + $type = 'text/css'; + break; + case 'javascript': + case 'jscript': + case 'emcascript': + $type = 'text/javascript'; + break; + case 'json': + $type = 'application/json'; + break; + case 'jpeg': + case 'jpg': + case 'jpe': + $type = 'image/jpeg'; + break; + case 'gif': + $type = 'image/gif'; + break; + case 'png': + $type = 'image/x-png'; + break; + case 'tiff': + case 'tif': + $type = 'image/tiff'; + break; + case 'pdf': + $type = 'application/pdf'; + break; + } + $this->object->_content_type = $type; + return $type; + } + + function do_not_cache() + { + if (!headers_sent()) { + header('Cache-Control: no-cache'); + header('Pragma: no-cache'); + } + } + + function expires($time) + { + $time = strtotime($time); + if (!headers_sent()) { + header('Expires: '.strftime("%a, %d %b %Y %H:%M:%S %Z", $time)); + } + } + + function http_error($message, $code=500) + { + $this->message = $message; + $method = "http_{$code}_action"; + $this->$method(); + } + + function is_valid_request($method) + { + return TRUE; + } + + + function is_post_request() + { + return "POST" == $this->object->get_router()->get_request_method(); + } + + + function is_get_request() + { + return "GET" == $this->object->get_router()->get_request_method(); + } + + + function is_delete_request() + { + return "DELETE" == $this->object->get_router()->get_request_method(); + } + + + function is_put_request() + { + return "PUT" == $this->object->get_router()->get_request_method(); + } + + + function is_custom_request($type) + { + return strtolower($type) == strtolower($this->object->get_router()->get_request_method()); + } + + + function get_router() + { + return $this->object->get_registry()->get_utility('I_Router'); + } + + function get_routed_app() + { + return $this->object->get_router()->get_routed_app(); + } + + /** + * Returns the value of a parameters + * @param string $key + * @return mixed + */ + function param($key, $prefix = NULL, $default = NULL) + { + return $this->object->get_routed_app()->get_parameter($key, $prefix, $default); + } + + function set_param($key, $value, $id=NULL, $use_prefix=FALSE) + { + return $this->object->get_routed_app()->set_parameter($key, $value, $id, $use_prefix); + } + + function set_param_for($url, $key, $value, $id=NULL, $use_prefix=FALSE) + { + return $this->object->get_routed_app()->set_parameter($key, $value, $id, $use_prefix, $url); + } + + function remove_param($key, $id=NULL) + { + return $this->object->get_routed_app()->remove_parameter($key, $id); + } + + function remove_param_for($url, $key, $id=NULL) + { + $app = $this->object->get_routed_app(); + $retval = $app->remove_parameter($key, $id, $url); + return $retval; + } + + /** + * Gets the routed url, generated by the Routing App + * @return string + */ + function get_routed_url($with_qs=FALSE) + { + return $this->object->get_routed_app()->get_app_url(FALSE, $with_qs); + } + + /** + * Gets the absolute path of a static resource + * @param string $path + * @param string $module + * @param boolean $relative + * @return string + */ + function get_static_abspath($path, $module=FALSE, $relative=FALSE) + { + return $this->get_registry()->get_utility('I_Fs')->find_static_abspath( + $path, $module + ); + } + + /** + * Gets the relative path of a static resource + * @param string $path + * @param string $module + * @return string + */ + function get_static_relpath($path, $module=FALSE) + { + return $this->get_registry()->get_utility('I_Fs')->find_static_abspath( + $path, $module, TRUE + ); + } + + + function get_static_url($path, $module=FALSE) + { + return $this->get_registry()->get_utility('I_Router')->get_static_url( + $path, $module + ); + } + + /** + * Renders a template and outputs the response headers + * @param string $name + * @param array $vars + */ + function render_view($name, $vars=array(),$return=FALSE) + { + $this->object->render(); + return $this->object->render_partial($name, $vars, $return); + } + + + /** + * Outputs the response headers + */ + function render() + { + if (!headers_sent()) header('Content-Type: ' . $this->object->_content_type . '; charset=' . get_option('blog_charset'), true ); + } + + + /** + * Renders a view + */ + function render_partial($template, $params=array(), $return=FALSE, $context=NULL) + { + // We'll use the name of the view as the context if one hasn't been provided + if (is_null($context)) $context = $template; + $view = $this->object->create_view($template, $params, $context); + return $view->render($return); + } + + function create_view($template, $params=array(), $context=NULL) + { + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $view = $factory->create('mvc_view', $template, $params, NULL, $context); + + return $view; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_installer.php new file mode 100644 index 000000000..5cef4fd27 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_installer.php @@ -0,0 +1,16 @@ +<?php + +class C_MVC_Installer +{ + function __construct() + { + $this->settings = C_NextGen_Settings::get_instance(); + } + + function install() + { + $this->settings->delete('mvc_template_dir'); + $this->settings->set_default_value('mvc_template_dirname', '/templates'); + $this->settings->set_default_value('mvc_static_dirname', '/static'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php new file mode 100644 index 000000000..734f4b2d8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_option_handler.php @@ -0,0 +1,9 @@ +<?php + +class C_Mvc_Option_Handler +{ + function get($option, $default=NULL) + { + return path_join(dirname(__FILE__), 'templates'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view.php new file mode 100644 index 000000000..9a428daee --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view.php @@ -0,0 +1,288 @@ +<?php + +class C_MVC_View extends C_Component +{ + var $_template = ''; + var $_engine = ''; + var $_params = array(); + var $_queue = array(); + + + function define($template, $params=array(), $engine='php', $context=FALSE) + { + parent::define($context); + $this->implement('I_MVC_View'); + $this->add_mixin('Mixin_Mvc_View_Instance_Methods'); + } + + /** + * Initialize the view with some parameters + * @param array $params + * @param context $context + */ + function initialize($template, $params=array(), $engine='php', $context=FALSE) + { + parent::initialize($context); + $this->_template = $template; + $this->_params = (array) $params; + $this->_engine = $engine; + } +} + +class Mixin_Mvc_View_Instance_Methods extends Mixin +{ + /** + * Returns the variables to be used in the template + * @return array + */ + function get_template_vars() + { + $retval = array(); + + foreach ($this->object->_params as $key => $value) { + if (strpos($key, '_template') !== FALSE) { + $value = $this->object->get_template_abspath($value); + } + $retval[$key] = $value; + } + + return $retval; + } + + + /** + * Returns the abspath of the template to be rendered + * @param string $key + * @return string + */ + function get_template_abspath($value=NULL) + { + if (!$value) $value = $this->object->_template; + + if ($value[0] == '/' && @file_exists($value)) { + // key is already abspath + } + else $value = $this->object->find_template_abspath($value); + + return $value; + } + + + + /** + * Renders the view (template) + * @param string $__return + * @return string|NULL + */ + function render($return = FALSE) + { + $element = $this->object->render_object(); + + $content = $this->object->rasterize_object($element); + + if (!$return) { + echo $content; + } + + return $content; + } + + + function render_object() + { + // We use underscores to prefix local variables to avoid conflicts wth + // template vars + $__element = $this->start_element($this->object->_template, 'template', $this->object); + + extract($this->object->get_template_vars()); + + include($this->object->get_template_abspath()); + + $this->end_element(); + + return $__element; + } + + + function rasterize_object($element) + { + return $element->rasterize(); + } + + + function start_element($id, $type = null, $context = null) + { + if ($type == null) + { + $type = 'element'; + } + + $count = count($this->object->_queue); + $element = new C_MVC_View_Element($id, $type); + + if ($context != null) + { + if (!is_array($context)) + { + $context = array('object' => $context); + } + + foreach ($context as $context_name => $context_value) + { + $element->set_context($context_name, $context_value); + } + } + + $this->object->_queue[] = $element; + + if ($count > 0) + { + $old_element = $this->object->_queue[$count - 1]; + + $content = ob_get_contents(); + ob_clean(); + + $old_element->append($content); + $old_element->append($element); + } + + ob_start(); + + return $element; + } + + function end_element() + { + $content = ob_get_clean(); + + $element = array_pop($this->object->_queue); + + if ($content != null) + { + $element->append($content); + } + + return $element; + } + + /** + * Renders a sub-template for the view + * @param string $__template + * @param array $__params + * @param string $__return + * @return NULL + */ + function include_template($__template, $__params = null, $__return=FALSE) + { + // We use underscores to prefix local variables to avoid conflicts wth + // template vars + if ($__params == null) { + $__params = array(); + } + + $__params['template_origin'] = $this->object->_template; + + $__target = $this->object->get_template_abspath($__template); + $__origin_target = $this->object->get_template_abspath($this->object->_template); + $__image_before_target = $this->object->get_template_abspath('photocrati-nextgen_gallery_display#image/before'); + $__image_after_target = $this->object->get_template_abspath('photocrati-nextgen_gallery_display#image/after'); + + if ($__origin_target != $__target) + { + if ($__target == $__image_before_target) + { + $__image = isset($__params['image']) ? $__params['image'] : null; + + $this->start_element('nextgen_gallery.image_panel', 'item', $__image); + } + + if ($__target == $__image_after_target) + { + $this->end_element(); + } + + extract($__params); + + include($__target); + + if ($__target == $__image_before_target) + { + $__image = isset($__params['image']) ? $__params['image'] : null; + + $this->start_element('nextgen_gallery.image', 'item', $__image); + } + + if ($__target == $__image_after_target) + { + $this->end_element(); + } + } + } + + + /** + * Gets the absolute path of an MVC template file + * + * @param string $path + * @param string $module + * @return string + */ + function find_template_abspath($path, $module=FALSE) + { + $fs = $this->get_registry()->get_utility('I_Fs'); + $settings = C_NextGen_Settings::get_instance(); + + // We also accept module_name#path, which needs parsing. + if (!$module) + list($path, $module) = $fs->parse_formatted_path($path); + + // Append the suffix + $path = $path . '.php'; + + $retval = $fs->join_paths( + $fs->get_document_root(), + $this->object->get_registry()->get_module_dir($module), + $settings->mvc_template_dirname, + $path + ); + + if (!@file_exists($retval)) + throw new RuntimeException("{$retval} is not a valid MVC template"); + + return $retval; + } + + /** + * Adds a template parameter + * @param $key + * @param $value + */ + function set_param($key, $value) + { + $this->object->_params[$key] = $value; + } + + + /** + * Removes a template parameter + * @param $key + */ + function remove_param($key) + { + unset($this->object->_params[$key]); + } + + /** + * Gets the value of a template parameter + * @param $key + * @param null $default + * @return mixed + */ + function get_param($key, $default=NULL) + { + if (isset($this->object->_params[$key])) { + return $this->object->_params[$key]; + } + else return $default; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php new file mode 100644 index 000000000..758595113 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/class.mvc_view_element.php @@ -0,0 +1,116 @@ +<?php + +class C_MVC_View_Element +{ + var $_id; + var $_type; + var $_list; + var $_context; + + function __construct($id, $type = null) + { + $this->_id = $id; + $this->_type = $type; + $this->_list = array(); + $this->_context = array(); + } + + function get_id() + { + return $this->_id; + } + + function append($child) + { + $this->_list[] = $child; + } + + function insert($child, $position = 0) + { + array_splice($this->_list, $position, 0, $child); + } + + function delete($child) + { + $index = array_search($child, $this->_list); + + if ($index !== false) + { + array_splice($this->_list, $index, 1); + } + } + + function find($id, $recurse = false) + { + $list = array(); + + $this->_find($list, $id, $recurse); + + return $list; + } + + function _find(array &$list, $id, $recurse = false) + { + foreach ($this->_list as $index => $element) + { + if ($element instanceof C_MVC_View_Element) + { + if ($element->get_id() == $id) + { + $list[] = $element; + } + + if ($recurse) + { + $element->_find($list, $id, $recurse); + } + } + } + } + + function get_context($name) + { + if (isset($this->_context[$name])) + { + return $this->_context[$name]; + } + + return null; + } + + function set_context($name, $value) + { + $this->_context[$name] = $value; + } + + function get_object() + { + return $this->get_context('object'); + } + + // XXX not implemented + function parse() + { + + } + + function rasterize() + { + $ret = null; + + foreach ($this->_list as $index => $element) + { + if ($element instanceof C_MVC_View_Element) + { + $ret .= $element->rasterize(); + } + else + { + $ret .= (string) $element; + } + } + + return $ret; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php new file mode 100644 index 000000000..7214bddaa --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_controller.php @@ -0,0 +1,12 @@ +<?php + +interface I_MVC_Controller +{ + function set_content_type($type); + + function render_view($__name, $__args); + + function render_partial($__name, $__args, $__return); + + function http_error($message, $code); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_view.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_view.php new file mode 100644 index 000000000..ad1563f16 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/interface.mvc_view.php @@ -0,0 +1,5 @@ +<?php + +interface I_MVC_View +{ +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php new file mode 100644 index 000000000..5ef882d1b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/module.mvc.php @@ -0,0 +1,67 @@ +<?php + +/*** + { + Module: photocrati-mvc, + Depends: { photocrati-router, photocrati-nextgen_settings } + } +***/ + +/** + * TODO: The file below should be deprecated. We should use an example template + * engine, such as Twig + */ +require_once('template_helper.php'); + +class M_MVC extends C_Base_Module +{ + function define() + { + parent::define( + "photocrati-mvc", + "MVC Framework", + "Provides an MVC architecture for the plugin to use", + "0.4", + "http://www.photocrati.com", + "Photocrati Media", + "http://www.photocrati.com" + ); + + include_once('class.mvc_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Mvc_Installer'); + + include_once('class.mvc_option_handler.php'); + C_NextGen_Settings::add_option_handler('C_Mvc_Option_Handler', array( + 'mvc_template_dir' + )); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Http_Response', 'C_Http_Response_Controller'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Fs', 'A_MVC_Fs'); + $this->get_registry()->add_adapter('I_Router', 'A_MVC_Router'); + $this->get_registry()->add_adapter('I_Component_Factory', 'A_MVC_Factory'); + } + + function get_type_list() + { + return array( + 'A_Mvc_Factory' => 'adapter.mvc_factory.php', + 'A_Mvc_Fs' => 'adapter.mvc_fs.php', + 'A_Mvc_Router' => 'adapter.mvc_router.php', + 'C_Mvc_Installer' => 'class.mvc_installer.php', + 'C_Mvc_Controller' => 'class.mvc_controller.php', + 'C_Mvc_View' => 'class.mvc_view.php', + 'C_Mvc_View_Element' => 'class.mvc_view_element.php', + 'I_Mvc_Controller' => 'interface.mvc_controller.php', + 'I_Mvc_View' => 'interface.mvc_view.php' + ); + } +} + +new M_MVC(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php new file mode 100644 index 000000000..9a6d9d1bd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/template_helper.php @@ -0,0 +1,26 @@ +<?php + +// These functions do NOT work when the Adminer plugin is installed, and being +// viewed. As there's no need to use these functions when viewing Adminer, we'll +// just skip this +if (strpos($_SERVER['REQUEST_URI'], 'adminer') === FALSE) { + + if (!function_exists('h')) { + function h($str) + { + if (defined('ENT_HTML401')) { + return str_replace("'", "'", htmlentities($str, ENT_COMPAT | ENT_HTML401, 'UTF-8')); + } + else { + return str_replace("'", "'", htmlentities($str, ENT_COMPAT, 'UTF-8')); + } + } + } + + if (!function_exists('echo_h')) { + function echo_h($str) + { + echo h($str); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/404.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/404.php new file mode 100644 index 000000000..edba2907f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/404.php @@ -0,0 +1,9 @@ +<html> + <head> + <title>Error 404: <?php echo_h($message) ?></title> + </head> + <body> + <h1>Error 404: <?php echo_h($message) ?></h1> + <p>We're sorry, but the page you've requested cannot be found.</p> + </body> +</html> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/500.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/500.php new file mode 100644 index 000000000..0f8ae69ba --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/500.php @@ -0,0 +1,9 @@ +<html> + <head> + <title>Error 500 <?php echo_h($message) ?></title> + </head> + <body> + <h1>Error: <?php echo_h($message) ?></h1> + <p>You requested something the server doesn't understand.</p> + </body> +</html> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/index.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/index.php new file mode 100644 index 000000000..93b699062 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/mvc/templates/index.php @@ -0,0 +1,15 @@ +<?php +$settings = C_NextGen_Settings::get_instance(); +$obj = method_exists($this, 'get_class_definition_dir') ? $this : $this->object; +$template_dir = path_join($obj->get_class_definition_dir(), 'templates'); +$default_template_dir = $settings->mvc_template_dir; +?> + +<h1>Welcome to Pope MVC!</h1> +<p> + You have not yet created a index.php file in:<br/><strong><?php echo $template_dir; ?></strong> +</p> +<p> + So, you're being served the index.php from the default directory:<br/> + <strong><?php echo $default_template_dir ?></strong> +</p> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php new file mode 100644 index 000000000..c7e5704af --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.import_folder_form.php @@ -0,0 +1,23 @@ +<?php + +class A_Import_Folder_Form extends Mixin +{ + function get_title() + { + return "Import Folder"; + } + + function enqueue_static_resources() + { + wp_enqueue_style('jquery.filetree'); + wp_enqueue_style('ngg_progressbar'); + wp_enqueue_script('jquery.filetree'); + wp_enqueue_script('ngg_progressbar'); + } + + function render() + { + return $this->object->render_partial('photocrati-nextgen_addgallery_page#import_folder', array( + ), TRUE); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php new file mode 100644 index 000000000..c09c097ea --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_ajax.php @@ -0,0 +1,171 @@ +<?php + +class A_NextGen_AddGallery_Ajax extends Mixin +{ + function cookie_dump_action() + { + return array('success' => 1); + } + + function upload_image_action() + { + $retval = array(); + + $gallery_id = intval($this->param('gallery_id')); + $gallery_name = urldecode($this->param('gallery_name')); + $error = FALSE; + + if ($this->validate_ajax_request('nextgen_upload_image')) + { + // We need to create a gallery + if ($gallery_id == 0) { + if (strlen($gallery_name) > 0) { + $gallery_mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $gallery = $gallery_mapper->create(array( + 'title' => $gallery_name + )); + if (!$gallery->save()) { + $retval['error'] = $gallery->get_errors(); + $error = TRUE; + } + else { + $gallery_id = $gallery->id(); + } + } + else { + $error = TRUE; + $retval['error'] = "No gallery name specified"; + } + } + + // Upload the image to the gallery + if (!$error) { + $retval['gallery_id'] = $gallery_id; + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + + try{ + if ($storage->is_zip()) { + if (($results = $storage->upload_zip($gallery_id))) { + $retval = $results; + } + else $retval['error'] = 'Failed to extract images from ZIP'; + } + elseif (($image = $storage->upload_image($gallery_id))) { + $retval['image_ids'] = array($image->id()); + } + else { + $retval['error'] = 'Image generation failed'; + $error = TRUE; + } + } + catch (E_InsufficientWriteAccessException $ex) { + $retval['error'] = $ex->getMessage(); + $error = TRUE; + } + catch (Exception $ex) { + $retval['error'] = "An unexpected error occured."; + $retval['error_details'] = $ex->getMessage(); + $error = TRUE; + } + } + } + else { + $retval['error'] = "No permissions to upload images. Try refreshing the page."; + $error = TRUE; + } + + if ($error) header('HTTP/1.1 400 Bad Request'); + else $retval['gallery_name'] = esc_html($gallery_name); + + return $retval; + } + + + function browse_folder_action() + { + $retval = array(); + $html = array(); + + if ($this->validate_ajax_request('nextgen_upload_image')) + { + if (($dir = urldecode($this->param('dir')))) { + $fs = $this->get_registry()->get_utility('I_Fs'); + $root = path_join($fs->get_document_root(), 'wp-content'); + + $browse_path = $fs->join_paths($root, $dir); + if (@file_exists($browse_path)) { + $files = scandir($browse_path); + natcasesort($files); + if( count($files) > 2 ) { /* The 2 accounts for . and .. */ + $html[] = "<ul class=\"jqueryFileTree\" style=\"display: none;\">"; + foreach( $files as $file ) { + $file_path = path_join($browse_path, $file); + $rel_file_path = str_replace(WP_CONTENT_DIR, '', $file_path); + if(@file_exists($file_path) && $file != '.' && $file != '..' && is_dir($file_path) ) { + $html[] = "<li class=\"directory collapsed\"><a href=\"#\" rel=\"" . htmlentities($rel_file_path) . "/\">" . htmlentities($file) . "</a></li>"; + } + } + $html[] = "</ul>"; + } + $retval['html'] = implode("\n", $html); + } + else { + $retval['error'] = "Directory does not exist."; + } + } + else { + $retval['error'] = "No directory specified."; + } + } + else { + $retval['error'] = "No permissions to browse folders. Try refreshing the page."; + } + + return $retval; + } + + + function import_folder_action() + { + $retval = array(); + + if ($this->validate_ajax_request('nextgen_upload_image')) + { + if (($folder = $this->param('folder'))) { + $storage = $this->get_registry()->get_utility('I_Gallery_Storage'); + $fs = $this->get_registry()->get_utility('I_Fs'); + try { + $keep_files = $this->param('keep_location') == 'on'; + $retval = $storage->import_gallery_from_fs($fs->join_paths($fs->get_document_root(), 'wp-content', $folder), false, !$keep_files); + if (!$retval) $retval = array('error' => "Could not import folder. No images found."); + } + catch (Exception $ex) { + $retval['error'] = $ex->getMessage(); + } + } + else { + $retval['error'] = "No folder specified"; + } + } + else { + $retval['error'] = "No permissions to import folders. Try refreshing the page."; + } + + return $retval; + } + + function validate_ajax_request($action, $check_token = false) + { + $valid_request = false; + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + $sec_token = $security->get_request_token($action); + + if ($sec_actor->is_allowed($action) && (!$check_token || $sec_token->check_current_request())) + { + $valid_request = true; + } + + return $valid_request; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php new file mode 100644 index 000000000..9959908b9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_controller.php @@ -0,0 +1,27 @@ +<?php + +class A_NextGen_AddGallery_Controller extends Mixin +{ + function get_page_title() + { + return 'Add Gallery / Images'; + } + + function get_required_permission() + { + return 'NextGEN Upload images'; + } + + function enqueue_backend_resources() + { + $this->call_parent('enqueue_backend_resources'); + wp_enqueue_style('nextgen_addgallery_page'); + wp_enqueue_script('nextgen_addgallery_page'); + wp_enqueue_script('frame_event_publisher'); + } + + function show_save_button() + { + return FALSE; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_forms.php new file mode 100644 index 000000000..8549da3ea --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_forms.php @@ -0,0 +1,19 @@ +<?php + +class A_NextGen_AddGallery_Forms extends Mixin +{ + function initialize() + { + $settings = C_NextGen_Settings::get_instance(); + $registry = $this->object->get_registry(); + + $forms = array('upload_images' => 'A_Upload_Images_Form'); + if (!is_multisite() || (is_multisite() && $settings->get('wpmuImportFolder'))) + $forms['import_folder'] = 'A_Import_Folder_Form'; + + foreach ($forms as $form => $adapter) { + $registry->add_adapter('I_Form', $adapter, $form); + $this->object->add_form(NEXTGEN_ADD_GALLERY_SLUG, $form); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_pages.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_pages.php new file mode 100644 index 000000000..83b61800b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.nextgen_addgallery_pages.php @@ -0,0 +1,15 @@ +<?php + +class A_NextGen_AddGallery_Pages extends Mixin +{ + function initialize() + { + $this->object->add( + NEXTGEN_ADD_GALLERY_SLUG, + 'A_NextGen_AddGallery_Controller', + NGGFOLDER, + true, + 'nggallery-manage-gallery' + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php new file mode 100644 index 000000000..4fc76117c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/adapter.upload_images_form.php @@ -0,0 +1,90 @@ +<?php + +class A_Upload_Images_Form extends Mixin +{ + function get_title() + { + return "Upload Images"; + } + + + function enqueue_static_resources() + { + wp_enqueue_style('plupload.queue'); + wp_enqueue_script('browserplus'); + wp_enqueue_script('plupload.queue'); + + } + + function render() + { + return $this->object->render_partial('photocrati-nextgen_addgallery_page#upload_images', array( + 'plupload_options' => json_encode($this->object->get_plupload_options()), + 'galleries' => $this->object->get_galleries() + ), TRUE); + } + + function get_plupload_options() + { + $retval = array(); + + $retval['runtimes'] = 'gears,browserplus,html5,flash,silverlight,html4'; + $retval['max_file_size'] = strval(round( (int) wp_max_upload_size() / 1024 )).'kb'; + $retval['filters'] = $this->object->get_plupload_filters(); + $retval['flash_swf_url'] = includes_url('js/plupload/plupload.flash.swf'); + $retval['silverlight_xap_url'] = includes_url('js/plupload/plupload.silverlight.xap'); + $retval['debug'] = TRUE; + + return $retval; + } + + function get_plupload_filters() + { + $retval = array(); + + $imgs = new stdClass; + $imgs->title = "Image files"; + $imgs->extensions = "jpg,jpeg,gif,png,JPG,JPEG,GIF,PNG"; + $retval[] = $imgs; + + $settings = C_NextGen_Settings::get_instance(); + if (!is_multisite() || (is_multisite() && $settings->get('wpmuZipUpload'))) + { + $zips = new stdClass; + $zips->title = "Zip files"; + $zips->extensions = "zip,ZIP"; + $retval[] = $zips; + } + + return $retval; + } + + function get_galleries() + { + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + $galleries = array(); + + if ($sec_actor->is_allowed('nextgen_edit_gallery')) + { + $gallery_mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $galleries = $gallery_mapper->find_all(); + + if (!$sec_actor->is_allowed('nextgen_edit_gallery_unowned')) + { + $galleries_all = $galleries; + $galleries = array(); + + foreach ($galleries_all as $gallery) + { + if ($sec_actor->is_user() && $sec_actor->get_entity_id() == (int)$gallery->author) + { + $galleries[] = $gallery; + } + } + } + } + + return $galleries; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php new file mode 100644 index 000000000..627d90825 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php @@ -0,0 +1,62 @@ +<?php +/** +{ + Module: photocrati-nextgen_addgallery_page +} +**/ + +define('NEXTGEN_ADD_GALLERY_SLUG', 'ngg_addgallery'); + +class M_NextGen_AddGallery_Page extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_addgallery_page', + 'NextGEN Add Gallery Page', + 'Provides admin page for adding a gallery and uploading images', + '0.2', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function get_type_list() + { + return array( + 'A_Import_Folder_Form' => 'adapter.import_folder_form.php', + 'A_Nextgen_Addgallery_Ajax' => 'adapter.nextgen_addgallery_ajax.php', + 'A_Nextgen_Addgallery_Controller' => 'adapter.nextgen_addgallery_controller.php', + 'A_Nextgen_Addgallery_Forms' => 'adapter.nextgen_addgallery_forms.php', + 'A_Nextgen_Addgallery_Pages' => 'adapter.nextgen_addgallery_pages.php', + 'A_Upload_Images_Form' => 'adapter.upload_images_form.php', + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Page_Manager', 'A_NextGen_AddGallery_Pages'); + $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_AddGallery_Forms'); + $this->get_registry()->add_adapter('I_Ajax_Controller', 'A_NextGen_AddGallery_Ajax'); + } + + function _register_hooks() + { + add_action('admin_init', array(&$this, 'register_scripts')); + } + + function register_scripts() + { + if (is_admin()) { + $router = $this->_get_registry()->get_utility('I_Router'); + wp_register_script('plupload.queue', $router->get_static_url('photocrati-nextgen_addgallery_page#plupload_queue/jquery.plupload.queue.js'), array('plupload-all')); + wp_register_style('plupload.queue', $router->get_static_url('photocrati-nextgen_addgallery_page#plupload_queue/css/jquery.plupload.queue.css')); + wp_register_style('nextgen_addgallery_page', $router->get_static_url('photocrati-nextgen_addgallery_page#styles.css')); + wp_register_script('jquery.filetree', $router->get_static_url('photocrati-nextgen_addgallery_page#jquery.filetree/jquery.filetree.js'), array('jquery')); + wp_register_style('jquery.filetree', $router->get_static_url('photocrati-nextgen_addgallery_page#jquery.filetree/jquery.filetree.css')); + wp_register_script('browserplus', 'http://bp.yahooapis.com/2.4.21/browserplus-min.js'); + } + } +} +new M_NextGen_AddGallery_Page(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/directory.png new file mode 100644 index 0000000000000000000000000000000000000000..784e8fa48234f4f64b6922a6758f254ee0ca08ec GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfpN8`i(`nz>7$c(cZoQP zwC#WORx)~HJF9C+Ad7IidAZ{aA7|nD2abdbFgqGt5x;Qez?lF8VZ#rMVrNCn3k2_e zHL|__cHKIw{f^s>laq`Z)mJ_$`1k(KsyQlQ8(TzkQysWIJbXI!?wajepWZR@4|(kW z+fXFD@s<8m=7g%B$9_*>vQYiYZS8M;&N4vxn5EOt$CnPiYp&fI*RVCuzw7J6C$C>y zANVZNut4bZ@m2Z#oprpE<jy@!k-mQ8M%@ipCZ3drf|DmV%g4XD6VH$}{e;cM@`;?* zzkF<M6N-Mc`IYg7G*>QRVEOd#uHL5Z&yo+OL|Pm=?@;GuD>w0b{=~Vra-{zSH_qa^ zRNCRWi{T3A%a6uu^6$-K=Q{jH-036NQAI9i5jPFL6X)(Xd+9K$92J_qH@oSvL@U#3 zb`3s7k+t<Lk3>Qo_il01QsIvHyZ59>yN1Zy+6!rNXBmTL=x<}JI4KzT<0@CT>&?QB zLluhKHf0*?Fh0o@NVE69GC8mBY3CKj(~ipn*D&-?dRF48GHvOTwNVVGUR}I5dG_s& t*A}1Z_r)^4TYLP=n#c$L|Ml)?+}9yr|M2!KKL!Q{22WQ%mvv4FO#nTH?>PVf literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/folder_open.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3548352fc4a82e91ebc7e79907565e40aae457 GIT binary patch literal 583 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGf$^rNi(^Q|ts}wvvqc<5 z{-wRo+pKsmu};BIDp1geNmE$JLc2NCK_EEl*dNv~rvq*mPPyq^o;5|>DTrmGs1B2- zD6jg?AFua3HhXsN&bc?|KA(N_YUhHhqI`Sin(uyJd;j;nJ)$lxdDEKp!ml$#e!g*k z#;uQB!op5}I^8+^__P9Fod2Zgk;?fyCwBgQUfl+T^qeg_CJ8&uu$j&C?Qq%KSJ&sd zi+bIgHMNl2W#TF``~6i1j+=5fOt^JnllqTOOcT#+*ueDs`NQ5jM^1bZ7T<PpR^k>` z@pCgDmM?u&#O}b^zU4_u-&K~{s*bFmrW=0$iN6%9e%<`TZuT_?FF(|L!hdYK?v>Ng zI|6Fh@(XMP|Ey-}(mpZo=<lo2bJd(IPkfuVIj^=}_WHZL;u&e7@`AtKxF26|;YRtl z*&p=meC{)e^ao#YdwbS9X5VI>r};%2_}5CA%?wPMaDrh=KwRvR2Tv}=u`4`yRFV;^ zyI-}Z?u?YF(6bw>M6VzF>VJ3lRY?`kFNvv))1Qf3?%)gBTCx3_$AO-?4SY&z`{TVl z6;?{0c(^BPmyXSQfu}pB*wjlTg&8{wJz?Rz8-2LWn)d?VJguLZzcSu_lrgvczrFhO smv7Z+?{^yod+|Q4|1Vw7Wx#OD{@2<~DZAG(FfcH9y85}Sb4q9e023Sv=>Px# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/spinner.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/images/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..85b99d46b9911ba53a792d716d9f688f3bb3c784 GIT binary patch literal 2530 zcmZ?wbhEHb6krfwU|?WS{Lk&@8WQa67~pE8XTZ$(|38D`PZn-A27U$|kUU6Pv%bE5 zSy|bXDN~j%UAlJd+O1o+?%lih*s){h&Yin<?b^M2_ntq0{{H>@@87@w2LqPQ4=10e zaF)K>?o`F}z@&9kp#uXGzmd)@Ch-QrT_-N<^a-=Hxj8gw@NifsKVHbOM9SOiv4O?` zwRLAyK2DTiOSqhtWe~ucv9T>sLx5*8tCMzMjA}4r(Pvu&4L6QpPF@}^M^1O|G8tx0 zSMEN39?mEgRz7wX{*ZcUZWe=C$}F)`%0e7$qP$UpSbSq^Yg=4g+}+(xtZ%wMoP7R- zqx9AGrYgn<CJh^HeFPc~C^NKgGdR!K&bh&?`!NTTi?V@(1RKM#MFtrKdQEMgFD4jp zbNe2eFjGZHIGM3JONOV-xY6NW1UJj%mW408L~eRA8!GsyyR)0{`8ct2hH|m-a@P7) z_;YeZFemVE#_}ffv9p*mn@DrBM9x)aNsv|+auel^#pWMNOUwHDdJ<v><R2Bm(pTG$ zR5?B{XxwP~<O9b+E}2`0Y&<4x;Jjeg^;o3Y#W^8BfrG(KuhWQ!tGDgQMGgjrRvz|+ zQ(0JqTMib?$hCUh+~}ZDW7gx;m@vtpO8RK@B?lgkASu685eE)lcBgVSUe5ZUDj7$P zJVy=ADBdDa1hF%x8M4UF4PoI_4-rbj5kFQ|R<*UYGiJ;nHhy|PoP54Svh>yQQ&r9n zOc*!W@&-0Aa?H4V$mY}pfhH!76^|@h8y6*7=m@njJZ4}pv6$|pY|LfCJM%cx#Hk!? z!YvCeZtE~HF&=aXs5RTAmT>4p?zLHLNe&fRdhEsy%pAPzoV=xMyqq=uT=Lvz9CBtd zoRPe&;1tKsoGQi5B0o==g;QNwC`mL}7+VZEIy&a(=aZP?RE$br9p|cMe`w;o$(A>< z;czfZ*S4Bd3uF!piL7{J!5V$IAwffciA_l$qkyN`N!eJ4fvMw6^2ECW6=KZ~Kit$| z@o8-Q5IaYN@jz+P6)!G!UuHuE3w6FCW_hTecsLo;i~P9qxK%k=r)YCBM}a)0sFP~M zlBcN5q9(1Jh{HcNHa7M3^(4el&xe!G5&mff`{zhAPdCUvEoT}QbUzl^*2Z`+LW85H zMd88&3AR?ZG#3sIAtRTxA`2hAw!`U%Bcga&oD{c3vfOLrblx~sWY6Sd-52IqFflNy z*;|2Ph?|9ho0);Zm&>r1lY@zsft8<=HCkn^B7c955sRTBANNdkWibhvXlxPW;NXy* zolQan5$~a1)(r;@dANGdyf9Fhp~mf!R&*nh2jn3Io_TCc3k8(<S(*;EEWF{hYt}LD zm4zG(OosMWydhkitc+faj6Ph3+@U?}3`OSADy)2r4E%FA)wx*=85sDu8MLL9g?dB- zv8FgvQ`7YH^v1?UQt}XSF@*5YhaO+Cjx#C~XT<QdpI=sJ(7?;$bZ}MTl2Bncr|g%0 zQtKItA4zbq$=myLF&daN@vt*7`EVJsF|aZ*axm&fMDZ{%fxI+XO`4rSZ5|&FBfGk? z&}1AwQdLz=NlBS7VFIx}0+({|JcKXJ;q}p>1-oC0gxqTkTeQJTf{~$NWnr6U6%#jO z6E`Ol4=1w+zp4TQ3lk$JBfAV|R0Sj7B>stI(G1#?_;{GCrIm%4nQ-{W&dx4BKc58u zbP=70Q2fK!1d1URhK2)qmn|fCZZ!NVcqI~Yy9w+cCWGL|HZ?NwOx#Q?JUpCiyqwG) z3OSq%`Anv<?NPj0e9TPze)7`XN&K_<cvxbkm4*Cpc*ow}zPPxU1n;!t@J`u`^+HC> zO?rL849sp14n$~h^tvWqsL)|yU|8&#DZ|!!<B7rvAEC}p1qZ(THEf3;irdbyV!i6p zcvEA`q+<*M3;cMPT}131wRm_+K;F@_;&Nt-WKQJajN@gBWz!9pm-bJbqs)>fr7Tv; z8;7kl(9_e)&(H7e?Ikv;fhr(S=2^~A#s1Kwb(1X*Lj$OIn>K^p;m(;4rrnQOwz(-x zh|u8Jb7;Xw4+dslwWWm;B1w~*6^uPq)R-G@Y*{G9b4&5#5e*TJwv$W;r)q4N)aIx& zSAvb5M}(P?m4_YF<^e~KUOYE5Cr9{H4bB)9Rz5`q<|b)w7DGj4mUwApF$sR&7(oVW E0Pke+0ssI2 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.css new file mode 100644 index 000000000..db969e2de --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.css @@ -0,0 +1,95 @@ +UL.jqueryFileTree { + font-family: Verdana, sans-serif; + font-size: 11px; + line-height: 18px; + padding: 0px; + margin: 0px; +} + +UL.jqueryFileTree LI { + list-style: none; + padding: 0px; + padding-left: 20px; + margin: 0px; + white-space: nowrap; +} + +UL.jqueryFileTree A { + color: #333; + text-decoration: none; + display: block; + padding: 0px 2px; +} + +UL.jqueryFileTree A:hover { + background: #BDF; +} + +UL.jqueryFileTree A.selected_folder { + background-color: #EEEEEE; +} + +/* Core Styles */ +.jqueryFileTree LI.directory { background: url(images/directory.png) left top no-repeat; } +.jqueryFileTree LI.expanded { background: url(images/folder_open.png) left top no-repeat; } +.jqueryFileTree LI.file { background: url(images/file.png) left top no-repeat; } +.jqueryFileTree LI.wait { background: url(images/spinner.gif) left top no-repeat; } +/* File Extensions*/ +.jqueryFileTree LI.ext_3gp { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_afp { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_afpa { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_asp { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_aspx { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_avi { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_bat { background: url(images/application.png) left top no-repeat; } +.jqueryFileTree LI.ext_bmp { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_c { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_cfm { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_cgi { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_com { background: url(images/application.png) left top no-repeat; } +.jqueryFileTree LI.ext_cpp { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_css { background: url(images/css.png) left top no-repeat; } +.jqueryFileTree LI.ext_doc { background: url(images/doc.png) left top no-repeat; } +.jqueryFileTree LI.ext_exe { background: url(images/application.png) left top no-repeat; } +.jqueryFileTree LI.ext_gif { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_fla { background: url(images/flash.png) left top no-repeat; } +.jqueryFileTree LI.ext_h { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_htm { background: url(images/html.png) left top no-repeat; } +.jqueryFileTree LI.ext_html { background: url(images/html.png) left top no-repeat; } +.jqueryFileTree LI.ext_jar { background: url(images/java.png) left top no-repeat; } +.jqueryFileTree LI.ext_jpg { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_jpeg { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_js { background: url(images/script.png) left top no-repeat; } +.jqueryFileTree LI.ext_lasso { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_log { background: url(images/txt.png) left top no-repeat; } +.jqueryFileTree LI.ext_m4p { background: url(images/music.png) left top no-repeat; } +.jqueryFileTree LI.ext_mov { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_mp3 { background: url(images/music.png) left top no-repeat; } +.jqueryFileTree LI.ext_mp4 { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_mpg { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_mpeg { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_ogg { background: url(images/music.png) left top no-repeat; } +.jqueryFileTree LI.ext_pcx { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_pdf { background: url(images/pdf.png) left top no-repeat; } +.jqueryFileTree LI.ext_php { background: url(images/php.png) left top no-repeat; } +.jqueryFileTree LI.ext_png { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_ppt { background: url(images/ppt.png) left top no-repeat; } +.jqueryFileTree LI.ext_psd { background: url(images/psd.png) left top no-repeat; } +.jqueryFileTree LI.ext_pl { background: url(images/script.png) left top no-repeat; } +.jqueryFileTree LI.ext_py { background: url(images/script.png) left top no-repeat; } +.jqueryFileTree LI.ext_rb { background: url(images/ruby.png) left top no-repeat; } +.jqueryFileTree LI.ext_rbx { background: url(images/ruby.png) left top no-repeat; } +.jqueryFileTree LI.ext_rhtml { background: url(images/ruby.png) left top no-repeat; } +.jqueryFileTree LI.ext_rpm { background: url(images/linux.png) left top no-repeat; } +.jqueryFileTree LI.ext_ruby { background: url(images/ruby.png) left top no-repeat; } +.jqueryFileTree LI.ext_sql { background: url(images/db.png) left top no-repeat; } +.jqueryFileTree LI.ext_swf { background: url(images/flash.png) left top no-repeat; } +.jqueryFileTree LI.ext_tif { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_tiff { background: url(images/picture.png) left top no-repeat; } +.jqueryFileTree LI.ext_txt { background: url(images/txt.png) left top no-repeat; } +.jqueryFileTree LI.ext_vb { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_wav { background: url(images/music.png) left top no-repeat; } +.jqueryFileTree LI.ext_wmv { background: url(images/film.png) left top no-repeat; } +.jqueryFileTree LI.ext_xls { background: url(images/xls.png) left top no-repeat; } +.jqueryFileTree LI.ext_xml { background: url(images/code.png) left top no-repeat; } +.jqueryFileTree LI.ext_zip { background: url(images/zip.png) left top no-repeat; } \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.js new file mode 100644 index 000000000..dcc51d0f0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/jquery.filetree/jquery.filetree.js @@ -0,0 +1,100 @@ +// jQuery File Tree Plugin +// +// Version 1.01 +// +// Cory S.N. LaViska +// A Beautiful Site (http://abeautifulsite.net/) +// 24 March 2008 +// +// Visit http://abeautifulsite.net/notebook.php?article=58 for more information +// +// Usage: $('.fileTreeDemo').fileTree( options, callback ) +// +// Options: root - root folder to display; default = / +// script - location of the serverside AJAX file to use; default = jqueryFileTree.php +// folderEvent - event to trigger expand/collapse; default = click +// expandSpeed - default = 500 (ms); use -1 for no animation +// collapseSpeed - default = 500 (ms); use -1 for no animation +// expandEasing - easing function to use on expand (optional) +// collapseEasing - easing function to use on collapse (optional) +// multiFolder - whether or not to limit the browser to one subfolder at a time +// loadMessage - Message to display while initial tree loads (can be HTML) +// +// History: +// +// 1.01 - updated to work with foreign characters in directory/file names (12 April 2008) +// 1.00 - released (24 March 2008) +// +// TERMS OF USE +// +// This plugin is dual-licensed under the GNU General Public License and the MIT License and +// is copyright 2008 A Beautiful Site, LLC. +// +if(jQuery) (function($){ + + $.extend($.fn, { + fileTree: function(o, h) { + // Defaults + if( !o ) var o = {}; + if( o.root == undefined ) o.root = '/'; + if( o.script == undefined ) o.script = 'jqueryFileTree.php'; + if( o.folderEvent == undefined ) o.folderEvent = 'click'; + if( o.expandSpeed == undefined ) o.expandSpeed= 500; + if( o.collapseSpeed == undefined ) o.collapseSpeed= 500; + if( o.expandEasing == undefined ) o.expandEasing = null; + if( o.collapseEasing == undefined ) o.collapseEasing = null; + if( o.multiFolder == undefined ) o.multiFolder = true; + if( o.loadMessage == undefined ) o.loadMessage = 'Loading...'; + if (o.post_params == undefined ) o.post_params = {}; + + $(this).each( function() { + + function showTree(c, t) { + $(c).addClass('wait'); + $(".jqueryFileTree.start").remove(); + var post_params = $.extend(o.post_params, {dir: t}); + $.post(o.script, post_params, function(response) { + if (typeof(response) != 'object') response = JSON.parse(response); + data = response.html; + $(c).find('.start').html(''); + $(c).removeClass('wait').append(data); + if( o.root == t ) $(c).find('UL:hidden').show(); else $(c).find('UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing }); + bindTree(c); + }); + } + + function bindTree(t) { + $(t).find('LI A').bind(o.folderEvent, function() { + if( $(this).parent().hasClass('directory') ) { + if( $(this).parent().hasClass('collapsed') ) { + // Expand + if( !o.multiFolder ) { + $(this).parent().parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); + $(this).parent().parent().find('LI.directory').removeClass('expanded').addClass('collapsed'); + } + $(this).parent().find('UL').remove(); // cleanup + showTree( $(this).parent(), escape($(this).attr('rel').match( /.*\// )) ); + $(this).parent().removeClass('collapsed').addClass('expanded'); + } else { + // Collapse + $(this).parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); + $(this).parent().removeClass('expanded').addClass('collapsed'); + } + h($(this).attr('rel'), true); + } else { + h($(this).attr('rel'), false); + } + return false; + }); + // Prevent A from triggering the # on non-click events + if( o.folderEvent.toLowerCase != 'click' ) $(t).find('LI A').bind('click', function() { return false; }); + } + // Loading message + $(this).html('<ul class="jqueryFileTree start"><li class="wait">' + o.loadMessage + '<li></ul>'); + // Get the initial file list + showTree( $(this), escape(o.root) ); + }); + } + }); + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/css/jquery.plupload.queue.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/css/jquery.plupload.queue.css new file mode 100644 index 000000000..4f377e226 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/css/jquery.plupload.queue.css @@ -0,0 +1,177 @@ +/* + Plupload +------------------------------------------------------------------- */ + +.plupload_button { + display: -moz-inline-box; /* FF < 3*/ + display: inline-block; + font: normal 12px sans-serif; + text-decoration: none; + color: #42454a; + border: 1px solid #bababa; + padding: 2px 8px 3px 20px; + margin-right: 4px; + background: #f3f3f3 url('../img/buttons.png') no-repeat 0 center; + outline: 0; + + /* Optional rounded corners for browsers that support it */ + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} + +.plupload_button:hover { + color: #000; + text-decoration: none; +} + +.plupload_disabled, a.plupload_disabled:hover { + color: #737373; + border-color: #c5c5c5; + background: #ededed url('../img/buttons-disabled.png') no-repeat 0 center; + cursor: default; +} + +.plupload_add { + background-position: -181px center; +} + +.plupload_wrapper { + font: normal 11px Verdana,sans-serif; + width: 100%; +} + +.plupload_container { + padding: 8px; + background: url('../img/transp50.png'); + /*-moz-border-radius: 5px;*/ +} + +.plupload_container input { + border: 1px solid #DDD; + font: normal 11px Verdana,sans-serif; + width: 98%; +} + +.plupload_header {background: #2A2C2E url('../img/backgrounds.gif') repeat-x;} +.plupload_header_content { + background: url('../img/backgrounds.gif') no-repeat 0 -317px; + min-height: 56px; + padding-left: 60px; + color: #FFF; +} +.plupload_header_title { + font: normal 18px sans-serif; + padding: 6px 0 3px; +} +.plupload_header_text { + font: normal 12px sans-serif; +} + +.plupload_filelist { + margin: 0; + padding: 0; + list-style: none; +} + +.plupload_scroll .plupload_filelist { + height: 185px; + background: #F5F5F5; + overflow-y: scroll; +} + +.plupload_filelist li { + padding: 10px 8px; + background: #F5F5F5 url('../img/backgrounds.gif') repeat-x 0 -156px; + border-bottom: 1px solid #DDD; +} + +.plupload_filelist_header, .plupload_filelist_footer { + background: #DFDFDF; + padding: 8px 8px; + color: #42454A; +} +.plupload_filelist_header { + border-top: 1px solid #EEE; + border-bottom: 1px solid #CDCDCD; +} + +.plupload_filelist_footer {border-top: 1px solid #FFF; height: 22px; line-height: 20px; vertical-align: middle;} +.plupload_file_name {float: left; overflow: hidden} +.plupload_file_status {color: #777;} +.plupload_file_status span {color: #42454A;} +.plupload_file_size, .plupload_file_status, .plupload_progress { + float: right; + width: 80px; +} +.plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;} + +.plupload_filelist .plupload_file_name {width: 205px} + +.plupload_file_action { + float: right; + width: 16px; + height: 16px; + margin-left: 15px; +} + +.plupload_file_action * { + display: none; + width: 16px; + height: 16px; +} + +li.plupload_uploading {background: #ECF3DC url('../img/backgrounds.gif') repeat-x 0 -238px;} +li.plupload_done {color:#AAA} + +li.plupload_delete a { + background: url('../img/delete.gif'); +} + +li.plupload_failed a { + background: url('../img/error.gif'); + cursor: default; +} + +li.plupload_done a { + background: url('../img/done.gif'); + cursor: default; +} + +.plupload_progress, .plupload_upload_status { + display: none; +} + +.plupload_progress_container { + margin-top: 3px; + border: 1px solid #CCC; + background: #FFF; + padding: 1px; +} +.plupload_progress_bar { + width: 0px; + height: 7px; + background: #CDEB8B; +} + +.plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action { + margin-right: 17px; +} + +/* Floats */ + +.plupload_clear,.plupload_clearer {clear: both;} +.plupload_clearer, .plupload_progress_bar { + display: block; + font-size: 0; + line-height: 0; +} + +li.plupload_droptext { + background: transparent; + text-align: center; + vertical-align: middle; + border: 0; + line-height: 165px; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/backgrounds.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/backgrounds.gif new file mode 100644 index 0000000000000000000000000000000000000000..39e33ebc02114ebea6bb33dee2fb76af3a6dd4dc GIT binary patch literal 2977 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 J2@?~8H2|$c+)Mxf literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/buttons-disabled.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/buttons-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..afa11af9b93bcbd261faa6a5b0835e82493712b2 GIT binary patch literal 1292 zcmeAS@N?(olHy`uVBq!ia0y~yV9aD-U=ZP8W?*2b$g{c5z`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk^}Gr%Xr_3PKK@7}%p{Q2|8k00N@ef#Chm-p}A zfB5j>)2C1W|Nk%85xHp5qW1Ro@;wQA_wJoLckaT43y&Q;wrSI*BbWCS?}}NlV8QX@ z$GbPSuV24@-n@Cs4lJ27XU@^1N8NkvW}Ip7>+737eR}@Zh@zD#n{O_iezm*iaCX#; zz;iE8PP@|GbGp%^&u;szRmU$K3!mq@_4bOKRZ$c6RNudUf5PtC&V3bi2Qxc5I{FXQ zF1<Z_&6+hEH*TDAxvOSZO82hPmd(YjXDhdD+xGbJ<LSp+yUy2ko~Ylvd2?4+*O{xQ zw%%W}`R>ZoS59ubyQXq)-qalvE?hr*<@Nc(eepBSbhVwVdGP5@>cX(j&d$2y`BlfV z@7}$8^5n@oA8%x=4&MG?{f-?wW?t+*`r^R(>t|iN?M^>CykyCe#fuj=ZqBXUnZ5r0 z(k*9J%sAavyDvR&Ys9uw8!z9wP`Wzx%B_pFd(!qk**0-cUEi6O+MQWjZY^7KZp!XE z>r>{3PunpeYfW_O>QMiQ9{F1%d-qkZzA~q6YiY~Yf})+#jb}>N-(R-n%*w7qmCoH( zO-)T(?yg#OY@tiH)r1KXuD`pq<>dO3?J*_Wqn&!qmR*>(`NX;vD^?slcyQVIY5o2E zH8nMd4jt;d)I9BSr**5zfddB;=Y|B#blh=w{eqiQ8yXtgPF9_`blkb$V$02?n{Kbz zvuDrLsZ(dpoLRp!ch!}-`yOpOeE9H#2M-q9oK|o!dBu_W6ZX_(uZjqm<T>eRL&cVq z%7ZD}Pj8Bu89evKq^VcBT)XTVx8x?z51xLewQghP<g*?B|Np=Faq}hy28P2WL4Lvi zhdf~D^HbQ*z`)q$>EaktaqG>6<YMMPiMEHn+kJOCUS6^-_cj#0{d{_t@2!8$+diLr zWBYmD=dUxl4>PnGXnD<=^zXk5LmNwcV0dM8Sa!Wu&&7tNs`{%gJC}s>cfC*W;I7>+ zr_G}J<)??$RhKC@=RI3e;?CzR@mKlmqYY;iJ*Ur*JZ8Tq{Dti~^|b517$(h2>@r^K z&*1rd7ynwz3Za(nvMuWiWmz%}>#`;ne|vN(FfU2L=}9C@$*XpDAs5?dt)IW-4rK8B z_lfJ9t#bVK)cHppTTWElUAm?4!*C5BFGG)*N4m!i&5zSWBKH<7x&Oz;YTuI2(NzaL z9`8`Po_$LC_(KotcHJX$OedV{`F8!8Hpit!O-oW^`a@kCTTWQ}zu3*2I{6Z-a%l7> z2DjuA$1@g^OC7By2vi=FnrfY+={EV-ie;I%)EX|{zcf>5&R<)POJ5F6mlmEHbbQa- z)2^%>iw&g?2>hQL5w}rt{x+HFAO=IJ4JK#pJ=`l71YYZK^ZdWbWQ{>$gJQ>G&6oRM dIX5se<aVvEI${_e$iTqB;OXk;vd$@?2>_mY8n^%e literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/buttons.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..153e73885ac4a1fd1a98dccd5df73b8d72a2df10 GIT binary patch literal 1439 zcmeAS@N?(olHy`uVBq!ia0y~yV9aD-U=ZP8W?*2b$g{c5z`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk@;dVo)e>*vp(zkdDt<;$0M@7{g<`0?Mre}Dh} zef#$9w{PEm|Ni~+=g;@=-~a#r|IeR4-@kwV@#Dv@U%x(l`0(k|r-B`k<$Ds2T;8+l z^u({<KQBA5q<dp~@vfM)XQxcqQ)Ar0UAreOW@d27_L$8#mzJ#dUvP8k<y#l(4rXdL zan&5o-f?&R$1fi$52oCBel=@NbmQizy5sp1cGnghOiq~}e)`$rEoWAC?#S*xRBP5D zweWaX+t$*?Go>#5VlA7CSDc>Ex-F~gP^C$yM9bEK#?84)Z_i$OqBno3?VXpm*56;6 zx5Q%lnby{`mFw>>JALJ3!{)>*ug|Z(GH2DXh10KgXD+r3pXa*l!Zep|E9ZWTqMgy7 zzI_Ovp;2`#d&#*e0h2tp-d{80P;>Hp!|e~&$1ilAu&2bM&+gpIlXGuODqWrW;M1KI zN9L!_H{5)8W#_(%!e#cyFCDw|`0SNi7c*7|&p6%YKhb0AjtL8HPP_i@l54l!mRrkK zU74G=HDcSTjnfY`O*`0N-ocr_HDbn@_Q_{EHlJ8mv@&JO-Bn%_WqM9Gww<i1*pi~r zz?{7*V(aY{8B5)2cBLfG4=&sn-?}aB&c_>#TXNe@*33B5HEqX)`klFFuAXx5wF{cA zH1B9f&H7N|cF~vxHkEtxCLL`^Tk5gx?wY<!%}%{$`CB75-CkkcYI5Sz@x4#Br7jFB z*&e;{Sl5)xUHcwwOPXgGH6w8QtyKXt9dlMiEjvH0Z&&{AJL{)i?wqivx^83U)GJ+` zC+hpow4A?wwrOkn_S2i3yRDACIPl@?+bw5S#Lc&I?XtV}?2=qHbM4No>Bn1>7Q6NC ztG;mkZ0)}E4d<ps&(=(w8!~ZEUG`%0?p>ubFLtjyH6de>>6Vl0ZMp@fUFl9;9qKkg za?8!7wL7!B&e#6`|Nlj+rZxiu!`+e~zu^DF7%==a=UmUgz_``Z#WAGfR?-8>rU!hF z1z332I1BW&eaY~6%$>PSk>i~~V`JAxOLlke|FJ&KOgs-Kh)wM@`s90U#-v^887(II zB5(4~Kb6&bz{f1m5qD$Gwlgbl<j%kQNt?%+vB1fp;_REqcFT4ShSrjM*Gm6tezjho z8!u3Qy5Q9X&diU}u^T_X+1ei9A#V}3XipY9fB*7baXuHGEEKrJq@W<TFlFEFS372| zJ}`lyyrre(%k%23K64HqUaYKCTDWe{g$L|BF$xnFYEOHS96h(dWpcJggSC#1j&K<J z7N=i^hgLoH)M=J?aI&&4Smt}br+HIWjI-L3?Wy;+wX}WF+`rdZami1`gx(n^Pp$sr z%+la=tLoA;kLK403dHz6TL{{UIL+c`((}$Q+V)6V=|SIu1qoGklf%|?7%b5iIpw6v z%5I<Vpn>80<xA6NS+;TPIDGbO?WT_}k_0s$x^C4LF`uIMRPGOh*d@K^kI(tYdnulc zy?Oasr26&Pg3ZaDEZ+k-UM{qVC~lWzkvg}|ocG?0tsf?^d=6mX@o^S#aGG^<cgEW- z6P!-UJi9nyS)m8N?g0algR<WgIozCQ#W5%xU^rnWdFsdVYfcOd3=E#GelF{r5}E+V Cr(gg8 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/delete.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/delete.gif new file mode 100644 index 0000000000000000000000000000000000000000..78ca8b3b49e8f739df6ecfa4ef1119058b40e035 GIT binary patch literal 180 zcmZ?wbhEHb6krfw*v!H3|NsC0XU_aTGxPt<ng3^|{ZC6f1473C|Nm#e1{8m?FfuT3 zFzA3JL1r+pBnq7L%w|29q1@nlQ=q3wEF@8ZCnrE+Ig7+2hdbq&6$*kkc0?x@NO)vy zYbvs=k!3Y+C|RW<*BJcjLxHNnOcrKwN12-GsWXrLk?p8luywmbfqc^BGl?1d>ltcY LE96^*1R1OW`o2DC literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/done.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/done.gif new file mode 100644 index 0000000000000000000000000000000000000000..29f3ed7c97eb2e5bd17a7e6bab98d696377cfda0 GIT binary patch literal 1024 zcmZ?wbhEHb6krfw_&%Ru-JPX#Z%mqSuD<9*M)SGyKYxF3f4F|@!*x|>a`TQPIW08y z+@NmXYwfboIA>eftmEx7PPc8lxOLj;wk@}o)$U1Kdw+KQj?7u7+G7q_7aUKWu%~bR zon_CzK797&@#5>#ChqKCeR=lWbKTo6Y;8YOwD9`W!0mdKC$n$9xnkdKU4N?J%dby0 zyHXy!eqg;&z4BnntSh~RJEP0@B-9<xpLVum-{Wn&Zg2hj@2^^m^1^FVXJ4PFR<B&J zKRok<SN^e-tepW{?yj0~rhWh89qlJ8pL}}QdbG6RRB`dHn3BUOwfoXbPGoGoz2fDM zrzsnJ>|3oj-CkkZZ+PIz&iq4(r6)4xUz)J}=GOefiTPV2bGL_Yxw$lNYefFmh~ndE zIY+&>-d_`Q*w(b(@Zp<>wcFFSKin|$Y?u8^o3fLc-6tyEet(^I)N{&-{-V>Nn&qme z-|XLbclqX<OIO{Q-g%^~;Y`u#w+H-YJNitwEjXAQwa<M0^#vu{qgP*=J@aCB$)U)+ zqse(k60;6_7VL<;_U@8azv}!;6U$CzX;!Je{Qh*y{WZ<|a^qHdOh40VQe#kfBzeQ* z`LSE=OSZ?XyS{MW{jC!Z^s5)C1TAoS{PAJozWC71rqhl$&%Dr6cQEtd<84Jdqd)%q z@ZjBp|6sr{3h;)2;!hSv28Q_zIv`b`Ji)+mm%*M>#$!XmLDils2^$_i=Vfo6|K!7s z$BYaNGIlzdS|^TmGcYr92yhe}@Zt7g=3XdRz;JK@qvw(t1}yH3s*R#$5)K9m%=1~g zGfuo{(&%;2Qz@GA^5SwY5si6PFE}0D5<1Naw{<XvsCO)9nqg$SOR?Z!n~1ALrPb$B zHXfDo5{?{|7e@sZwQO!qC`b)n#IC{Om-y+htE!UvF^dzAG7ib`GPRpXJXC3$Xdkxa zL1FSk?ir1yOtL{tEr+-`A`W?U1xz?K*;Cx%$xavdi5wksl?)ZOEIY|ACeSR-!@*z; E0I+R*0RR91 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/error.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/error.gif new file mode 100644 index 0000000000000000000000000000000000000000..4682b63007c89fae09f6640e1a968a073d98b90d GIT binary patch literal 994 zcmZ?wbhEHb6krfw_};*9b)oIQ-*5l@e)sRs`)iBszTS%X_xshqKVQDwin+ST?*G5P zzrQ^G_xt_f9Jc2NYJa}F{`Gdu&zDm^T?_qix&OnZo-emz|NVaR_t)1i*Zuzedh_v0 z>zAA1pKtV@Ea!c=%JBE6!+*Zrczrtj)3uOqx1+w?ivDyh;``H`|9*XZd!q2y`>j8o zPq{fm`Na;auQ!6uw~GD$_w&u+sDHnnzd8{2bbrVDb8TPluY7%O^{INT7l+$F-w1!O zT=&{!g-_QbzC1qg{l($GKi~d(fA!P#uus>+|9rjj_t&$3f4+Tvyzkqcn7=>n{r&m; z>&=i$lU?pF(SEVZ_4lV+Z%<YqE988&&*jDbq>tC<KHC}l_vgpASGL`mr~dK!qE9!b z+*}a)<L$j~x024(3Eo{|{r%O64;P!R&5ix@`S_PRaX+3-Iheux<z~$Pzdyg-Pr2M9 z{q;uRi|x+u&y{?-v+2vVfV&&re?0Aecc${+pU?mPe0qN><KOSkw`QyU{q^zP@z}cy zHNQSwd$CLA>F$iDo6LW`p7(5<$N&HT8Aidtg@EEu7Dfh!1_m9F6F_-_fnz@dBd3hV zh6RoeTpun37Hm*p=S}!xB2%GsN>(9zl@H4iweC3*!Wlj#haUN`*h|{jWN<7##?Qpk zmawqs0!x>8vXF{_aD)HsCf8Xtib0GF42nrr6+0aa_*j`!1okirurLX+Td?W92!4K8 zkR`*(BVbX|!Fjq&sXm@e=`5U!m7;bq8ai_;$OrK)(Fjmr?-!E3lJFoYp>wLe8=rxI pLc)QDql`=uGm;-46PES)6ti)2lDm|6td&D%fZ7?iW=2K^YXI3KXjK3J literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/throbber.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/throbber.gif new file mode 100644 index 0000000000000000000000000000000000000000..4ae8b16a5a474c3da1e426afc20d2167ebd360f1 GIT binary patch literal 1922 zcmZ?wbhEHb6krfwXklPbQB#>SYtET-XWqPe6B8G6=hmGs-@feGx5vlJr=_Xo$gv|= zu3h=^>C2NxPyYP-6A~0MWzv)@m#(~d_vX&MJAZ!tIdbTTkDpIVTg#bKXBe;n#sA!X zt|7tBjsdPldIrpl3=9m4KUp~082A`;K<YuxU|_9Tplo%l#q{80k!0)8tA>sawSl^! zGVZ3=8BQmJ9FX8*>TE7jP>>Lurr36HtH;E98`XF8DQ!&he_86WqSte=jn{7VoQb!t zByW(sa#!(C+!wJ5_SjTb!!m9r5pLEpJ|1p2R&HgH1lue_QMWK9?wP{+wl#76T$vKw zDN2e^2Z<mY)S{xMa^%pFCy$<7xpXBbE9c9nFD*?VFW$KY@^npIjf<Phkz+^RynA!y z+LfHVoG;(LOqn$0%(*k5Q2F-<<T1RMwMs!X=t2p{Aw$PxYt|264taR1a>$&pVpdf; zvhcwKlZIYqWygRC3EsEgGBPL>F?NQytdQc{aBN!93cZxcA9W9jowzckQ(8tKpF4m( z$KV>fOa&uPazqjzJ0~9ptC9=503V<71gj!jP6y>WYhy;{nYz4uJVrdsWrV$(2l6h+ zH>b|rxpk+es^-tHKR$jwaPO9sm3;a31>)D5x|%=4c(+(VHE2Q!$00?>WNp?BAn$5| zyt}xk!}*|K<{v5c`wQ3_f95E$ubIH@vS1P8nS%|c8>X}cD=>GbWOU9<%8+07fP-Pf zinxs}l}<7V4f4gNeC%8xuR1#kbK0u}88TTp^#xkl7%)fh#u)K1$14+zR<J+MfIT^7 z(v&~H{<t`~ym|Mgq^#t~u_I5OJ-Kr2N=XsItAGCeadC6O8><YgAb(y=;b<~+g+!~n zw<^2LiK@vx?9LArBmao8-CrQq_%mk_$e$hy7BRj_Y|z~>r8U@$vHJwm%$bw?Di5+Q zH!)zyX6~<8(CB++e@q=aYb1*(H$T6!V6im^!vs-2vtHr;2|O)k9lX=H1WMul6vmZ& zG5lFmRbyjigNRR5PvZ9>M3%Mefr{UR6pkiXe7akM{AmU9CpbRY(Bm_)!F0pqwqP}| zKP!>^*;moPxUO!e06&YVurnJd*$S{Q^l>oRa@s3#a`iEA7?(sa^K;Kaj#4zQPMHSE zd2imm$;r!sWKdA<Jahz9R9(CB<=dB<s+uQ{o`eL2oH=#o$|X>72Fa#AUZ7N6Q&$7= z6;_h9;(>}^_ZO41%DTzgiW|Nha<!IZ?Kx4E+S7W<>7&FSHh%df+Zt@^wskUzom6BA z6l7Vp;sD#tlMG>*Ck`piRGHwhK>gV<Mur1v$|>A)1@0+{2$YBfn1v<q@CgcV2`UM? zICJ$e*ID!0vb6+R*%$~!GRGQ;3M9be6<4wJ<<pmxq?9wKKm|9%*EMxDQzlIT`5l&i zA^8+qSpWOe($<32k8nZO3Q(~GO26=8NtOegens0J2wDaRP3p)GaAsiOnb!NMK~UuU zp%9Y>TM7Te)07%b#a`TxFcaKzT&bK(O;Y&G)dLB4cx~P>@+Mm{mh#*2bFe6}@Usc< z^DA>!S~J;lW+_dzF{lm}YB%C#MkHb()I>aI-W*6}Q&LoN<j@gNto{1a)75k4)R~Z= z5J+7Gsh=Qq6{MB|m0jn~#6-ow{e_jmTE0NV>)2wJz$Am@ZiWvjB3~|fu`@Co#X7WK zWICh}!nMYcNn?XyM&|?HOA9Q;OiqQUEHD+?axlzjfg{h0jU2L_ORnZI?@+jBwcu(~ y!W~_cclOB<B_V;l+<Z!W@jSe|%Dr}Mf_4r;N|me`cGbbmyy<KLOr=VS4AubpVA5s) literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/transp50.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/img/transp50.png new file mode 100644 index 0000000000000000000000000000000000000000..eb0efe104bdcc277ddcc3f6efdb54e1d533a5179 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0y~yV3-EN9Bd2>3^t5~j~EyjSkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfl<-Z#WAGf)|*Qk1sM!D zj%=84^5&n&hDkwE2cLUg;_s{FG!Q#>C?Y|pr*-3j2np`w#*GGI$C#26b$VEj9g2|P s?rGg<ASS_`oTx)bg>-XEneqXKbS0LR_0DQd3=9kmp00i_>zopr08M#{Qvd(} literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/jquery.plupload.queue.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/jquery.plupload.queue.js new file mode 100644 index 000000000..836999c0d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/plupload_queue/jquery.plupload.queue.js @@ -0,0 +1,340 @@ +/** + * jquery.plupload.queue.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under GPL License. + * + * License: http://www.plupload.com/license + * Contributing: http://www.plupload.com/contributing + */ + +// JSLint defined globals +/*global plupload:false, jQuery:false, alert:false */ + +(function($) { + var uploaders = {}; + + function _(str) { + return plupload.translate(str) || str; + } + + function renderUI(id, target) { + // Remove all existing non plupload items + target.contents().each(function(i, node) { + node = $(node); + + if (!node.is('.plupload')) { + node.remove(); + } + }); + + target.prepend( + '<div class="plupload_wrapper plupload_scroll">' + + '<div id="' + id + '_container" class="plupload_container">' + + '<div class="plupload">' + + '<div class="plupload_header">' + + '<div class="plupload_header_content">' + + '<div class="plupload_header_title">' + _('Select files') + '</div>' + + '<div class="plupload_header_text">' + _('Add files to the upload queue and click the start button.') + '</div>' + + '</div>' + + '</div>' + + + '<div class="plupload_content">' + + '<div class="plupload_filelist_header">' + + '<div class="plupload_file_name">' + _('Filename') + '</div>' + + '<div class="plupload_file_action"> </div>' + + '<div class="plupload_file_status"><span>' + _('Status') + '</span></div>' + + '<div class="plupload_file_size">' + _('Size') + '</div>' + + '<div class="plupload_clearer"> </div>' + + '</div>' + + + '<ul id="' + id + '_filelist" class="plupload_filelist"></ul>' + + + '<div class="plupload_filelist_footer">' + + '<div class="plupload_file_name">' + + '<div class="plupload_buttons">' + + '<a href="#" class="plupload_button plupload_add">' + _('Add Files') + '</a>' + + '<a href="#" class="plupload_button plupload_start">' + _('Start Upload') + '</a>' + + '</div>' + + '<span class="plupload_upload_status"></span>' + + '</div>' + + '<div class="plupload_file_action"></div>' + + '<div class="plupload_file_status"><span class="plupload_total_status">0%</span></div>' + + '<div class="plupload_file_size"><span class="plupload_total_file_size">0 b</span></div>' + + '<div class="plupload_progress">' + + '<div class="plupload_progress_container">' + + '<div class="plupload_progress_bar"></div>' + + '</div>' + + '</div>' + + '<div class="plupload_clearer"> </div>' + + '</div>' + + '</div>' + + '</div>' + + '</div>' + + '<input type="hidden" id="' + id + '_count" name="' + id + '_count" value="0" />' + + '</div>' + ); + } + + $.fn.pluploadQueue = function(settings) { + if (settings) { + this.each(function() { + var uploader, target, id; + + target = $(this); + id = target.attr('id'); + + if (!id) { + id = plupload.guid(); + target.attr('id', id); + } + + uploader = new plupload.Uploader($.extend({ + dragdrop : true, + container : id + }, settings)); + + uploaders[id] = uploader; + + function handleStatus(file) { + var actionClass; + + if (file.status == plupload.DONE) { + actionClass = 'plupload_done'; + } + + if (file.status == plupload.FAILED) { + actionClass = 'plupload_failed'; + } + + if (file.status == plupload.QUEUED) { + actionClass = 'plupload_delete'; + } + + if (file.status == plupload.UPLOADING) { + actionClass = 'plupload_uploading'; + } + + var icon = $('#' + file.id).attr('class', actionClass).find('a').css('display', 'block'); + if (file.hint) { + icon.attr('title', file.hint); + } + } + + function updateTotalProgress() { + $('span.plupload_total_status', target).html(uploader.total.percent + '%'); + $('div.plupload_progress_bar', target).css('width', uploader.total.percent + '%'); + $('span.plupload_upload_status', target).html( + _('Uploaded %d/%d files').replace(/%d\/%d/, uploader.total.uploaded+'/'+uploader.files.length) + ); + } + + function updateList() { + var fileList = $('ul.plupload_filelist', target).html(''), inputCount = 0, inputHTML; + + $.each(uploader.files, function(i, file) { + inputHTML = ''; + + if (file.status == plupload.DONE) { + if (file.target_name) { + inputHTML += '<input type="hidden" name="' + id + '_' + inputCount + '_tmpname" value="' + plupload.xmlEncode(file.target_name) + '" />'; + } + + inputHTML += '<input type="hidden" name="' + id + '_' + inputCount + '_name" value="' + plupload.xmlEncode(file.name) + '" />'; + inputHTML += '<input type="hidden" name="' + id + '_' + inputCount + '_status" value="' + (file.status == plupload.DONE ? 'done' : 'failed') + '" />'; + + inputCount++; + + $('#' + id + '_count').val(inputCount); + } + + fileList.append( + '<li id="' + file.id + '">' + + '<div class="plupload_file_name"><span>' + file.name + '</span></div>' + + '<div class="plupload_file_action"><a href="#"></a></div>' + + '<div class="plupload_file_status">' + file.percent + '%</div>' + + '<div class="plupload_file_size">' + plupload.formatSize(file.size) + '</div>' + + '<div class="plupload_clearer"> </div>' + + inputHTML + + '</li>' + ); + + handleStatus(file); + + $('#' + file.id + '.plupload_delete a').click(function(e) { + $('#' + file.id).remove(); + uploader.removeFile(file); + + e.preventDefault(); + }); + }); + + $('span.plupload_total_file_size', target).html(plupload.formatSize(uploader.total.size)); + + if (uploader.total.queued === 0) { + $('span.plupload_add_text', target).html(_('Add Files')); + } else { + $('span.plupload_add_text', target).html(_('%d files queued').replace(/%d/, uploader.total.queued)); + } + + $('a.plupload_start', target).toggleClass('plupload_disabled', uploader.files.length == (uploader.total.uploaded + uploader.total.failed)); + + // Scroll to end of file list + fileList[0].scrollTop = fileList[0].scrollHeight; + + updateTotalProgress(); + + // Re-add drag message if there is no files + if (!uploader.files.length && uploader.features.dragdrop && uploader.settings.dragdrop) { + $('#' + id + '_filelist').append('<li class="plupload_droptext">' + _("Drag files here.") + '</li>'); + } + } + + uploader.bind("UploadFile", function(up, file) { + $('#' + file.id).addClass('plupload_current_file'); + }); + + uploader.bind('Init', function(up, res) { + renderUI(id, target); + + // Enable rename support + if (!settings.unique_names && settings.rename) { + target.on('click', '#' + id + '_filelist div.plupload_file_name span', function(e) { + var targetSpan = $(e.target), file, parts, name, ext = ""; + + // Get file name and split out name and extension + file = up.getFile(targetSpan.parents('li')[0].id); + name = file.name; + parts = /^(.+)(\.[^.]+)$/.exec(name); + if (parts) { + name = parts[1]; + ext = parts[2]; + } + + // Display input element + targetSpan.hide().after('<input type="text" />'); + targetSpan.next().val(name).focus().blur(function() { + targetSpan.show().next().remove(); + }).keydown(function(e) { + var targetInput = $(this); + + if (e.keyCode == 13) { + e.preventDefault(); + + // Rename file and glue extension back on + file.name = targetInput.val() + ext; + targetSpan.html(file.name); + targetInput.blur(); + } + }); + }); + } + + $('a.plupload_add', target).attr('id', id + '_browse'); + + up.settings.browse_button = id + '_browse'; + + // Enable drag/drop (see PostInit handler as well) + if (up.settings.dragdrop) { + up.settings.drop_element = id + '_filelist'; + } + + $('#' + id + '_container').attr('title', 'Using runtime: ' + res.runtime); + + $('a.plupload_start', target).click(function(e) { + if (!$(this).hasClass('plupload_disabled')) { + uploader.start(); + } + + e.preventDefault(); + }); + + $('a.plupload_stop', target).click(function(e) { + e.preventDefault(); + uploader.stop(); + }); + + $('a.plupload_start', target).addClass('plupload_disabled'); + }); + + uploader.bind("PostInit", function(up) { + // features are populated only after input components are fully instantiated + if (up.settings.dragdrop && up.features.dragdrop) { + $('#' + id + '_filelist').append('<li class="plupload_droptext">' + _("Drag files here.") + '</li>'); + } + }); + + uploader.init(); + + uploader.bind("Error", function(up, err) { + var file = err.file, message; + + if (file) { + message = err.message; + + if (err.details) { + message += " (" + err.details + ")"; + } + + if (err.code == plupload.FILE_SIZE_ERROR) { + alert(_("Error: File too large:") + " " + file.name); + } + + if (err.code == plupload.FILE_EXTENSION_ERROR) { + alert(_("Error: Invalid file extension:") + " " + file.name); + } + + file.hint = message; + $('#' + file.id).attr('class', 'plupload_failed').find('a').css('display', 'block').attr('title', message); + } + }); + + uploader.bind('StateChanged', function() { + if (uploader.state === plupload.STARTED) { + $('li.plupload_delete a,div.plupload_buttons', target).hide(); + $('span.plupload_upload_status,div.plupload_progress,a.plupload_stop', target).css('display', 'block'); + $('span.plupload_upload_status', target).html('Uploaded ' + uploader.total.uploaded + '/' + uploader.files.length + ' files'); + + if (settings.multiple_queues) { + $('span.plupload_total_status,span.plupload_total_file_size', target).show(); + } + } else { + updateList(); + $('a.plupload_stop,div.plupload_progress', target).hide(); + $('a.plupload_delete', target).css('display', 'block'); + } + }); + + uploader.bind('QueueChanged', updateList); + + uploader.bind('FileUploaded', function(up, file) { + handleStatus(file); + }); + + uploader.bind("UploadProgress", function(up, file) { + // Set file specific progress + $('#' + file.id + ' div.plupload_file_status', target).html(file.percent + '%'); + + handleStatus(file); + updateTotalProgress(); + + if (settings.multiple_queues && uploader.total.uploaded + uploader.total.failed == uploader.files.length) { + $(".plupload_buttons,.plupload_upload_status", target).css("display", "inline"); + $(".plupload_start", target).addClass("plupload_disabled"); + $('span.plupload_total_status,span.plupload_total_file_size', target).hide(); + } + }); + + // Call setup function + if (settings.setup) { + settings.setup(uploader); + } + }); + + return this; + } else { + // Get uploader instance for specified element + return uploaders[$(this[0]).attr('id')]; + } + }; +})(jQuery); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css new file mode 100644 index 000000000..ee99f9ba8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/static/styles.css @@ -0,0 +1,40 @@ +#gallery_selection { + background-color: #EFEFEF; + padding: 7px; +} + +#gallery_selection label { + font-weight: 600; + position: relative; + top: -1px; +} + +#gallery_name { + width: auto; + min-width: 200px; +} + +#gallery_name.error { + border: solid 1px red; +} + +#upload_images_content { + padding: 0px; +} + +#upload_images_content .plupload_container { + padding: 0px; +} + +.plupload_header { + display: none; +} + +.plupload_buttons { + display: inline +} + +.plupload_droptext { + font-size: 16px; + color: silver; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php new file mode 100644 index 000000000..669b191c0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/import_folder.php @@ -0,0 +1,63 @@ +<p>Select a folder to import. The folder name will be used as the title of the gallery.</p> +<div id="file_browser"> +</div> +<p> + <input type="checkbox" id="import_keep_location" name="keep_location" value="on" /> <label for="import_keep_location"> <?php esc_html_e('Keep images in original location.', 'nggallery'); ?> <span style="font-size: 85%"><?php esc_html_e('Caution: If you keep images in the original folder and later delete the gallery, the images in that folder might be deleted depending on your settings.', 'nggallery'); ?></span></label><br/><br/> + <input type="button" id="import_button" name="import_folder" value="Import Folder" class="button-primary"/> +</p> +<script type="text/javascript"> + var selected_folder = null; + jQuery(function($){ + // Only run this function once! + if (typeof($(window).data('ready')) == 'undefined') + $(window).data('ready', true); + else return; + + // Render file browser + $('#file_browser').fileTree({ + root: '/', + script: photocrati_ajax.url, + post_params: {action: 'browse_folder', token: ''} + }, function(file){ + selected_folder = file; + $('#file_browser a').each(function(){ + $(this).removeClass('selected_folder'); + }) + $('#file_browser a[rel="'+file+'"]').addClass('selected_folder'); + file = file.split("/"); + file.pop(); + file = '/'+file.pop(); + $('#import_button').val("Import "+file); + }); + + // Import the folder + $('#import_button').click(function(e){ + e.preventDefault(); + + // Show progress bar + var progress_bar = $.nggProgressBar({ + title: "Importing gallery", + infinite: true, + starting_value: 'In Progress...' + }); + + // Start importing process + var post_params = { + action: 'import_folder', + folder: selected_folder, + keep_location: $('#import_keep_location').is(":checked") ? 'on' : 'off' + }; + $.post(photocrati_ajax.url, post_params, function(response){ + if (typeof(response) != 'object') response = JSON.parse(response); + if (typeof(response.error) == 'string') { + progress_bar.set("Error occurred"); + alert(response.error); + } + else { + progress_bar.set('Done! Successfully imported '+response.image_ids.length+' images.'); + } + progress_bar.close(); + }); + }) + }); +</script> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php new file mode 100644 index 000000000..b3688469a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php @@ -0,0 +1,223 @@ +<div id="gallery_selection"> + <label for="gallery_id">Gallery</label> + <select id="gallery_id"> + <option value="0">Create a new gallery</option> + <?php foreach ($galleries as $gallery): ?> + <option value="<?php echo esc_attr($gallery->{$gallery->id_field}) ?>"><?php echo esc_attr($gallery->title) ?></option> + <?php endforeach ?> + </select> + <input type="text" id="gallery_name" name="gallery_name"/> +</div> + +<div id="uploader"> + <p>You browser doesn't have Flash, Silverlight, HTML5, or HTML4 support.</p> +</div> +<script type="text/javascript"> + (function($){ + + // Listen for events emitted in other frames + if (window.Frame_Event_Publisher) { + + // If a gallery has been deleted, remove it from the drop-downs of available galleries + Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries', function() { + window.location.href = window.location.href; + }); + } + + + $(function(){ + // Show the page content + $('#ngg_page_content').css('visibility', 'visible'); + + // Only execute this code once! + var flag = 'addgallery'; + if (typeof($(window).data(flag)) == 'undefined') + $(window).data(flag, true); + else return; + + window.urlencode = function(str){ + str = (str + '').toString(); + + // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current + // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following. + return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28'). + replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+'); + }; + + // Sets the plupload url with necessary parameters in the QS + window.set_plupload_url = function(gallery_id, gallery_name) { + var qs = "?action=upload_image&gallery_id="+urlencode(gallery_id); + qs += "&gallery_name="+urlencode(gallery_name); + return photocrati_ajax.url + qs; + }; + + // Reinitializes plupload + window.reinit_plupload = function(up){ + $("#uploader").animate({ + 'opacity': 0.0, + }, 'slow'); + up.destroy(); + $('#gallery_id').val(0); + $('#gallery_name').val(''); + init_plupload(); + $("#uploader").animate({ + 'opacity': 1.0 + }, 'slow'); + }; + + // Initializes plupload + window.init_plupload = function() { + var plupload_options = <?php echo $plupload_options ?>; + var $gallery_id = $('#gallery_id'); + var $gallery_name = $('#gallery_name').show(); + var $gallery_selection = $('#gallery_selection').detach(); + window.uploaded_image_ids = []; + + // Override some final plupload options + plupload_options.url = photocrati_ajax.url; + plupload_options.preinit = { + PostInit: function(up){ + + // Hide/show the gallery name field + $gallery_selection.insertAfter('.plupload_header'); + var gallery_select = $('#gallery_id'); + gallery_select.on('change', function(){ + var optionSelected = $("option:selected", this); + var valueSelected = parseInt(this.value); + + if (valueSelected == 0) { + $('#gallery_name:hidden').fadeIn().focus(function(){ + up.refresh(); // must be done for IE + }).focus(); + } + else { + $('#gallery_name:visible').fadeOut(400, function(){ + gallery_select.focus(); + up.refresh(); // must be done for IE + }); + } + }); + + // Change the text for the dragdrop + $('.plupload_droptext').html("Drag image and ZIP files here or click <strong>Add Files</strong>"); + + // Move the buttons + var buttons = $('.plupload_buttons').detach(); + $gallery_selection.append(buttons); + + // Hide/show the validation for the gallery name field + $gallery_name.keypress(function(){ + if ($gallery_name.val().length > 0) { + $gallery_name.removeClass('error'); + } + }); + + // Don't let the uploader continue without a gallery name + var start_button = $('#uploader a.plupload_start'); + start_button.click(function(e){ + e.preventDefault(); + + var up = $('#uploader').pluploadQueue(); + + if ($gallery_id.val() == 0 && $gallery_name.val().length == 0) { + $gallery_name.addClass('error'); + e.stopImmediatePropagation(); + alert("Please enter a gallery name"); + $gallery_name.focus(); + return false; + } + else { + $gallery_name.removeClass('error'); + return true; + } + }); + + // Rearrange event handler for start button, to ensure that it has the ability + // to execute first + var click_events = $._data(start_button[0], 'events').click; + if (click_events.length == 2) click_events.unshift(click_events.pop()); + + }, + + // change url before upload + BeforeUpload: function(up, file) { + up.settings.url = window.set_plupload_url($gallery_id.val(), $gallery_name.val()); + }, + + // Refresh the interface after a successful upload + StateChanged: function(up){ + + // Determine appropriate message to display + var upload_count = window.uploaded_image_ids.length; + var msg = upload_count + " images were uploaded successfully"; + if (upload_count == 1) { + msg = "1 image was uploaded successfully"; + } + else if (upload_count == 0) { + msg = "0 images were uploaded"; + } + + // Display message/notification + if (up.state == plupload.STOPPED) { + $.gritter.add({ + title: "Upload complete", + text: msg, + sticky: true + }); + setTimeout(function(){ + reinit_plupload(up); + }, 3000); + } + }, + + // When a gallery has been created, use the same gallery for each request going forward + FileUploaded: function(up, file, info){ + var response = info.response; + if (typeof(response) != 'object') { + try { + response = JSON.parse(info.response); + } + catch (ex) { + up.trigger('Error', { + code: plupload.IO_ERROR, + msg: "An unexpected error occured. This is most likely due to a server misconfiguration. Check your PHP error log or ask your hosting provider for assistance.", + details: response.replace(/<.*>/, '').trim(), + file: file + }); + return; + } + } + window.uploaded_image_ids = window.uploaded_image_ids.concat(response.image_ids); + up.settings.url = window.set_plupload_url(response.gallery_id, $gallery_name.val()); + + // If we created a new gallery, ensure it's now in the drop-down list, and select it + if ($gallery_id.find('option[value="'+response.gallery_id+'"]').length == 0) { + var option = $('<option/>').attr('value', response.gallery_id).text(response.gallery_name); + $gallery_id.append(option); + $gallery_id.val(response.gallery_id); + option.attr('selected', 'selected'); + } + + // our Frame-Event-Publisher hooks onto the jQuery ajaxComplete action which plupload + // of course does not honor. Tie them together here.. + if (window.Frame_Event_Publisher) { + $.post(photocrati_ajax.url, {'action': 'cookie_dump'}, function(){ + window.Frame_Event_Publisher.find_parent(window).broadcast(); + }); + } + }, + + Error: function(up, args){ + if (typeof(window.console) != 'undefined') console.log(args); + } + }; + $("#uploader").pluploadQueue(plupload_options); + var uploader = $('#uploader').pluploadQueue(); + uploader.refresh(); + + }; + + window.init_plupload(); + }); + })(jQuery); +</script> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.fs_access_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.fs_access_page.php new file mode 100644 index 000000000..ad7d72524 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.fs_access_page.php @@ -0,0 +1,43 @@ +<?php + +// TODO: Finish the implementation +class A_Fs_Access_Page extends Mixin +{ + function index_action() + { + $router = $this->get_registry()->get_utility('I_Router'); + $url = $this->param('uri') ? $router->get_url($uri) : + admin_url('/admin.php?'.$router->get_querystring()); + + // Request filesystem credentials from user + $creds = request_filesystem_credentials( + $url, + '', + FALSE, + ABSPATH, + array() + ); + + if (WP_Filesystem($creds)) { + global $wp_filesystem; + } + } + + /** + * Determines whether the given paths are writable + * @return boolean + */ + function are_paths_writable() + { + $retval = TRUE; + $path = $this->object->param('path'); + if (!is_array($path)) $path = array($path); + foreach ($path as $p) { + if (!is_writable($p)) { + $retval = FALSE; + break; + } + } + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.mvc_validation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.mvc_validation.php new file mode 100644 index 000000000..c9cc55bf1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.mvc_validation.php @@ -0,0 +1,33 @@ +<?php +/** + * Provides validation for datamapper entities within an MVC controller + */ +class A_MVC_Validation extends Mixin +{ + function show_errors_for($entity, $return=FALSE) + { + $retval = ''; + + if ($entity->is_invalid()) { + $retval = $this->object->render_partial('photocrati-nextgen_admin#entity_errors', array( + 'entity' => $entity + ), $return); + } + + return $retval; + } + + function show_success_for($entity, $message, $return=FALSE) + { + $retval = ''; + + if ($entity->is_valid()) { + $retval = $this->object->render_partial('photocrati-nextgen_admin#entity_saved', array( + 'entity' => $entity, + 'message' => $message + )); + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_admin_default_pages.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_admin_default_pages.php new file mode 100644 index 000000000..8ff7f1ddf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_admin_default_pages.php @@ -0,0 +1,11 @@ +<?php + +class A_NextGen_Admin_Default_Pages extends Mixin +{ + function initialize() + { + $this->object->add( + NEXTGEN_FS_ACCESS_SLUG, 'A_Fs_Access_Page', NGGFOLDER, FALSE + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_settings_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_settings_routes.php new file mode 100644 index 000000000..036077377 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/adapter.nextgen_settings_routes.php @@ -0,0 +1,20 @@ +<?php + +class A_NextGen_Settings_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds NextGen Admin-Settings routes', + get_class(), + 'add_nextgen_settings_routes' + ); + } + + function add_nextgen_settings_routes() + { + $this->create_app('/nextgen-settings') + ->route('/update_watermark_preview', 'I_Settings_Manager_Controller#watermark_update'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form.php new file mode 100644 index 000000000..9c982689b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form.php @@ -0,0 +1,375 @@ +<?php + +class C_Form extends C_MVC_Controller +{ + static $_instances = array(); + + /** + * Gets an instance of a form + * @param string $context + * @return C_Form + */ + static function &get_instance($context) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + /** + * Defines the form + * @param string $context + */ + function define($context) + { + parent::define($context); + $this->add_mixin('Mixin_Form_Instance_Methods'); + $this->add_mixin('Mixin_Form_Field_Generators'); + $this->implement('I_Form'); + } +} + +class Mixin_Form_Instance_Methods extends Mixin +{ + /** + * Enqueues any static resources required by the form + */ + function enqueue_static_resources() + { + } + + /** + * Gets a list of fields to render + * @return array + */ + function _get_field_names() + { + return array(); + } + + function get_id() + { + return $this->object->context; + } + + function get_title() + { + return $this->object->context; + } + + /** + * Saves the form/model + * @param array $attributes + * @return type + */ + function save_action($attributes=array()) + { + if ($this->object->has_method('get_model')) { + return $this->object->get_model()->save($attributes); + } + else return TRUE; + } + + /** + * Returns the rendered form + */ + function render($wrap = TRUE) + { + $fields = array(); + foreach ($this->object->_get_field_names() as $field) { + $method = "_render_{$field}_field"; + if ($this->object->has_method($method)) { + $fields[] = $this->object->$method($this->object->get_model()); + } + } + + return $this->object->render_partial( + 'photocrati-nextgen_admin#form', + array( + 'fields' => $fields, + 'wrap' => $wrap + ), + TRUE + ); + } +} + +/** + * Provides some default field generators for forms to use + */ +class Mixin_Form_Field_Generators extends Mixin +{ + function _render_select_field($display_type, $name, $label, $options=array(), $value, $text = '', $hidden = FALSE) + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_select', + array( + 'display_type_name' => $display_type->name, + 'name' => $name, + 'label' => _($label), + 'options' => $options, + 'value' => $value, + 'text' => $text, + 'hidden' => $hidden + ), + True + ); + } + + function _render_radio_field($display_type, $name, $label, $value, $text = '', $hidden = FALSE) + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_radio', + array( + 'display_type_name' => $display_type->name, + 'name' => $name, + 'label' => _($label), + 'value' => $value, + 'text' => $text, + 'hidden' => $hidden + ), + True + ); + } + + function _render_number_field($display_type, + $name, + $label, + $value, + $text = '', + $hidden = FALSE, + $placeholder = '', + $min = NULL, + $max = NULL) + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_number', + array( + 'display_type_name' => $display_type->name, + 'name' => $name, + 'label' => _($label), + 'value' => $value, + 'text' => $text, + 'hidden' => $hidden, + 'placeholder' => $placeholder, + 'min' => $min, + 'max' => $max + ), + True + ); + } + + function _render_text_field($display_type, $name, $label, $value, $text = '', $hidden = FALSE, $placeholder = '') + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_text', + array( + 'display_type_name' => $display_type->name, + 'name' => $name, + 'label' => _($label), + 'value' => $value, + 'text' => $text, + 'hidden' => $hidden, + 'placeholder' => $placeholder + ), + True + ); + } + + function _render_textarea_field($display_type, $name, $label, $value, $text = '', $hidden = FALSE, $placeholder = '') + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_textarea', + array( + 'display_type_name' => $display_type->name, + 'name' => $name, + 'label' => _($label), + 'value' => $value, + 'text' => $text, + 'hidden' => $hidden, + 'placeholder' => $placeholder + ), + True + ); + } + + function _render_color_field($display_type, $name, $label, $value, $text = '', $hidden = FALSE) + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_color', + array( + 'display_type_name' => $display_type->name, + 'name' => $name, + 'label' => _($label), + 'value' => $value, + 'text' => $text, + 'hidden' => $hidden + ), + True + ); + } + + function _render_ajax_pagination_field($display_type) + { + return $this->object->_render_radio_field( + $display_type, + 'ajax_pagination', + _('Enable AJAX pagination'), + isset($display_type->settings['ajax_pagination']) ? $display_type->settings['ajax_pagination'] : FALSE + ); + } + + function _render_thumbnail_override_settings_field($display_type) + { + $override_field = $this->_render_radio_field( + $display_type, + 'override_thumbnail_settings', + 'Override thumbnail settings', + $display_type->settings['override_thumbnail_settings'], + "This does not affect existing thumbnails; overriding the thumbnail settings will create an additional set of thumbnails. To change the size of existing thumbnails please visit 'Manage Galleries' and choose 'Create new thumbnails' for all images in the gallery." + ); + + $dimensions_field = $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/thumbnail_settings', + array( + 'display_type_name' => $display_type->name, + 'name' => 'thumbnail_dimensions', + 'label'=> _('Thumbnail dimensions'), + 'thumbnail_width' => $display_type->settings['thumbnail_width'], + 'thumbnail_height'=> $display_type->settings['thumbnail_height'], + 'hidden' => empty($display_type->settings['override_thumbnail_settings']) ? 'hidden' : '', + 'text' => '' + ), + TRUE + ); + + $qualities = array(); + for ($i = 100; $i > 40; $i -= 5) { $qualities[$i] = "{$i}%"; } + $quality_field = $this->_render_select_field( + $display_type, + 'thumbnail_quality', + 'Thumbnail quality', + $qualities, + $display_type->settings['thumbnail_quality'], + '', + empty($display_type->settings['override_thumbnail_settings']) ? TRUE : FALSE + ); + + $crop_field = $this->_render_radio_field( + $display_type, + 'thumbnail_crop', + 'Thumbnail crop', + $display_type->settings['thumbnail_crop'], + '', + empty($display_type->settings['override_thumbnail_settings']) ? TRUE : FALSE + ); + + $watermark_field = $this->_render_radio_field( + $display_type, + 'thumbnail_watermark', + 'Thumbnail watermark', + $display_type->settings['thumbnail_watermark'], + '', + empty($display_type->settings['override_thumbnail_settings']) ? TRUE : FALSE + ); + + $everything = $override_field . $dimensions_field . $quality_field . $crop_field . $watermark_field; + + return $everything; + } + + + /** + * Renders the thumbnail override settings field(s) + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_image_override_settings_field($display_type) + { + $override_field = $this->_render_radio_field( + $display_type, + 'override_image_settings', + 'Override image settings', + $display_type->settings['override_image_settings'], + 'Overriding the image settings will create an additional set of images' + ); + + $qualities = array(); + for ($i = 100; $i > 40; $i -= 5) { $qualities[$i] = "{$i}%"; } + $quality_field = $this->_render_select_field( + $display_type, + 'image_quality', + 'Image quality', + $qualities, + $display_type->settings['image_quality'], + '', + empty($display_type->settings['override_image_settings']) ? TRUE : FALSE + ); + + $crop_field = $this->_render_radio_field( + $display_type, + 'image_crop', + 'Image crop', + $display_type->settings['image_crop'], + '', + empty($display_type->settings['override_image_settings']) ? TRUE : FALSE + ); + + $watermark_field = $this->_render_radio_field( + $display_type, + 'image_watermark', + 'Image watermark', + $display_type->settings['image_watermark'], + '', + empty($display_type->settings['override_image_settings']) ? TRUE : FALSE + ); + + $everything = $override_field . $quality_field . $crop_field . $watermark_field; + + return $everything; + } + + /** + * Renders a pair of fields for width and width-units (px, em, etc) + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_width_and_unit_field($display_type) + { + return $this->object->render_partial( + 'photocrati-nextgen_admin#field_generator/nextgen_settings_field_width_and_unit', + array( + 'display_type_name' => $display_type->name, + 'name' => 'width', + 'label' => 'Gallery width', + 'value' => $display_type->settings['width'], + 'text' => 'An empty or "0" setting will make the gallery full width', + 'placeholder' => '(optional)', + 'unit_name' => 'width_unit', + 'unit_value' => $display_type->settings['width_unit'], + 'options' => array('px' => 'Pixels', '%' => 'Percent') + ), + TRUE + ); + } + + function _get_aspect_ratio_options() + { + return array( + 'first_image' => __('First Image', 'nggallery'), + 'image_average' => __('Average', 'nggallery'), + '1.5' => '3:2 [1.5]', + '1.333' => '4:3 [1.333]', + '1.777' => '16:9 [1.777]', + '1.6' => '16:10 [1.6]', + '1.85' => '1.85:1 [1.85]', + '2.39' => '2.39:1 [2.39]', + '1.81' => '1.81:1 [1.81]', + '1' => '1:1 (Square) [1]' + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form_manager.php new file mode 100644 index 000000000..787ffb27f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.form_manager.php @@ -0,0 +1,189 @@ +<?php + +class C_Form_Manager extends C_Component +{ + static $_instances = array(); + var $_forms = array(); + /** + * Returns an instance of the form manager + * @returns C_Form_Manager + */ + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + /** + * Defines the instance + * @param mixed $context + */ + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Form_Manager'); + $this->implement('I_Form_Manager'); + } +} + +class Mixin_Form_Manager extends Mixin +{ + /** + * Adds one or more + * @param type $type + * @param type $form_names + * @return type + */ + function add_form($type, $form_names) + { + if (!isset($this->object->_forms[$type])) { + $this->object->_forms[$type] = array(); + } + + if (!is_array($form_names)) $form_names= array($form_names); + foreach ($form_names as $form) $this->object->_forms[$type][] = $form; + + return $this->object->get_form_count($type); + } + + /** + * Alias for add_form() method + * @param string $type + * @param string|array $form_names + * @return int + */ + function add_forms($type, $form_names) + { + return $this->object->add_form($type, $form_names); + } + + /** + * Removes one or more forms of a particular type + * @param string $type + * @param string|array $form_names + * @return int number of forms remaining for the type + */ + function remove_form($type, $form_names) + { + $retval = 0; + if (isset($this->object->_forms[$type])) { + foreach ($form_names as $form) { + if (($index = array_search($form, $this->object->_forms[$type]))) + unsset($this->object->_forms[$type][$index]); + } + $retval = $this->object->get_form_count($type); + } + + return $retval; + } + + /** + * Alias for remove_form() method + * @param string $type + * @param string|array $form_names + * @return int + */ + function remove_forms($type, $form_names) + { + return $this->object->remove_form($type, $form_names); + } + + /** + * Gets known form types + * @return type + */ + function get_known_types() + { + return array_keys($this->object->_forms); + } + + + /** + * Gets forms of a particular type + * @param string $type + * @return array + */ + function get_forms($type, $instantiate=FALSE) + { + $retval = array(); + if (isset($this->object->_forms[$type])) { + if (!$instantiate) $retval = $this->object->_forms[$type]; + else foreach ($this->object->_forms[$type] as $context) { + $retval[] = $this->get_registry()->get_utility('I_Form', $context); + } + } + return $retval; + } + + /** + * Gets the number of forms registered for a particular type + * @param string $type + * @return int + */ + function get_form_count($type) + { + $retval = 0; + if (isset($this->object->_forms[$type])) { + $retval = count($this->object->_forms[$type]); + } + return $retval; + } + + /** + * Gets the index of a particular form + * @param string $type + * @param string $name + * @return FALSE|int + */ + function get_form_index($type, $name) + { + $retval = FALSE; + if ($this->object->get_form_count($type) > 0) { + $retval = array_search($name, $this->object->_forms[$type]); + } + return $retval; + } + + /** + * Adds one or more forms before a form already registered + * @param string $type + * @param string $before + * @param string|array $form_names + * @param int $offset + * @return int + */ + function add_form_before($type, $before, $form_names, $offset=0) + { + $retval = 0; + $index = FALSE; + $use_add = FALSE; + + // Append the forms + if ($this->object->get_form_count($type) == 0) $use_add = TRUE; + else if (($index = $this->object->get_form_index($type, $name)) == FALSE) $use_add = FALSE; + if ($use_add) $this->object->add_forms($type, $form_names); + else { + $before = array_slice($this->object->get_forms($type), 0, $offset); + $after = array_slice($this->object->get_forms($type), $offset); + $this->object->_forms[$type] = array_merge($before, $form_names, $after); + $retval = $this->object->get_form_count($type); + } + + return $retval; + } + + /** + * Adds one or more forms after an existing form + * @param string $type + * @param string $after + * @param string|array $form_names + * @return int + */ + function add_form_after($type, $after, $form_names) + { + return $this->object->add_form_before($type, $after, $form_names, 1); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_installer.php new file mode 100644 index 000000000..3e2d71aee --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_installer.php @@ -0,0 +1,27 @@ +<?php + +class C_NextGen_Admin_Installer +{ + function install() + { + // In version 0.2 of this module and earlier, the following values + // were statically set rather than dynamically using a handler. Therefore, we need + // to delete those static values + $module_name = 'photocrati-nextgen_admin'; + $settings = C_NextGen_Settings::get_instance(); + $modules = $settings->pope_module_list; + $cleanup = FALSE; + if (!isset($modules[$module_name])) $cleanup = FALSE; + elseif (floatval(str_replace($module_name, '|', $modules[$module_name])) < '0.3') { + $cleanup = TRUE; + } + if ($cleanup) { + $keys = array( + 'jquery_ui_theme', + 'jquery_ui_theme_version', + 'jquery_ui_theme_url' + ); + foreach ($keys as $key) $settings->delete($key); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_option_handler.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_option_handler.php new file mode 100644 index 000000000..dfa8a6ad8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_option_handler.php @@ -0,0 +1,29 @@ +<?php + +class C_NextGen_Admin_Option_Handler +{ + function get_router() + { + return C_Component_Registry::get_instance()->get_utility('I_Router'); + } + + + function get($key, $default=NULL) + { + $retval = $default; + + switch ($key) { + case 'jquery_ui_theme': + $retval = 'jquery-ui-nextgen'; + break; + case 'jquery_ui_theme_version': + $retval = '1.8'; + break; + case 'jquery_ui_theme_url': + $retval = $this->get_router()->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.9.1.custom.css'); + break; + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php new file mode 100644 index 000000000..aafc55848 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.nextgen_admin_page_controller.php @@ -0,0 +1,276 @@ +<?php + +class C_NextGen_Admin_Page_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + function define($context=FALSE) + { + if (is_array($context)) $this->name = $context[0]; + else $this->name = $context; + + parent::define($context); + $this->add_mixin('Mixin_NextGen_Admin_Page_Instance_Methods'); + $this->implement('I_NextGen_Admin_Page'); + } + + function initialize() + { + parent::initialize(); + $this->add_pre_hook( + 'index_action', + 'Enqueue Backend Resources', + 'Hook_NextGen_Admin_Page_Resources', + 'enqueue_backend_resources' + ); + } +} + +class Hook_NextGen_Admin_Page_Resources extends Hook +{ + function enqueue_backend_resources() + { + $this->object->enqueue_backend_resources(); + } +} + + +class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin +{ + /** + * Authorizes the request + */ + function is_authorized_request($privilege=NULL) + { + if (!$privilege) $privilege = $this->object->get_required_permission(); + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $retval = $sec_token = $security->get_request_token(str_replace(array(' ', "\n", "\t"), '_', $privilege)); + $sec_actor = $security->get_current_actor(); + + // Ensure that the user has permission to access this page + if (!$sec_actor->is_allowed($privilege)) + $retval = FALSE; + + // Ensure that nonce is valid + if ($this->object->is_post_request() && !$sec_token->check_current_request()) { + $retval = FALSE; + } + + return $retval; + } + + /** + * Returns the permission required to access this page + * @return string + */ + function get_required_permission() + { + return $this->object->name; + } + + /** + * Enqueues resources required by a NextGEN Admin page + */ + function enqueue_backend_resources() + { + wp_enqueue_script('jquery'); + $this->object->enqueue_jquery_ui_theme(); + wp_enqueue_script('jquery-ui-accordion'); + wp_enqueue_script( + 'nextgen_display_settings_page_placeholder_stub', + $this->get_static_url('photocrati-nextgen_admin#jquery.placeholder.min.js'), + array('jquery'), + '2.0.7', + TRUE + ); + wp_register_script('iris', $this->get_router()->get_url('/wp-admin/js/iris.min.js', FALSE, TRUE), array('jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch')); + wp_register_script('wp-color-picker', $this->get_router()->get_url('/wp-admin/js/color-picker.js', FALSE, TRUE), array('iris')); + wp_localize_script('wp-color-picker', 'wpColorPickerL10n', array( + 'clear' => __( 'Clear' ), + 'defaultString' => __( 'Default' ), + 'pick' => __( 'Select Color' ), + 'current' => __( 'Current Color' ), + )); + wp_enqueue_script( + 'nextgen_admin_page', + $this->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'), + array('wp-color-picker') + ); + wp_enqueue_style( + 'nextgen_admin_page', + $this->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.css'), + array('wp-color-picker') + ); + + // Ensure select2 + wp_enqueue_style('select2'); + wp_enqueue_script('select2'); + } + + function enqueue_jquery_ui_theme() + { + $settings = C_NextGen_Settings::get_instance(); + wp_enqueue_style( + $settings->jquery_ui_theme, + is_ssl() ? + str_replace('http:', 'https:', $settings->jquery_ui_theme_url) : + $settings->jquery_ui_theme_url, + NULL, + $settings->jquery_ui_theme_version + ); + } + + /** + * Returns the page title + * @return string + */ + function get_page_title() + { + return $this->object->name; + } + + /** + * Returns the page heading + * @return string + */ + function get_page_heading() + { + return $this->object->get_page_title(); + } + + /** + * Returns the type of forms to render on this page + * @return string + */ + function get_form_type() + { + + return is_array($this->object->context) ? + $this->object->context[0] : $this->object->context; + } + + function get_success_message() + { + return "Saved successfully"; + } + + + /** + * Returns an accordion tab, encapsulating the form + * @param I_Form $form + */ + function to_accordion_tab($form) + { + return $this->object->render_partial('photocrati-nextgen_admin#accordion_tab', array( + 'id' => $form->get_id(), + 'title' => $form->get_title(), + 'content' => $form->render(TRUE) + ), TRUE); + } + + /** + * Returns the + * @return type + */ + function get_forms() + { + $forms = array(); + $form_manager = C_Form_Manager::get_instance(); + foreach ($form_manager->get_forms($this->object->get_form_type()) as $form) { + $forms[] = $this->get_registry()->get_utility('I_Form', $form); + } + return $forms; + } + + /** + * Gets the action to be executed + * @return string + */ + function _get_action() + { + $retval = preg_quote($this->object->param('action'), '/'); + $retval = strtolower(preg_replace( + "/[^\w]/", + '_', + $retval + )); + return preg_replace("/_{2,}/", "_", $retval).'_action'; + } + + /** + * Returns the template to be rendered for the index action + * @return string + */ + function index_template() + { + return 'photocrati-nextgen_admin#nextgen_admin_page'; + } + + function show_save_button() + { + return TRUE; + } + + /** + * Renders a NextGEN Admin Page using jQuery Accordions + */ + function index_action() + { + if (($token = $this->object->is_authorized_request())) { + // Get each form. Validate it and save any changes if this is a post + // request + $tabs = array(); + $errors = array(); + $success = $this->object->is_post_request() ? + $this->object->get_success_message() : ''; + + foreach ($this->object->get_forms() as $form) { + $form->enqueue_static_resources(); + if ($this->object->is_post_request()) { + $action = $this->object->_get_action(); + if ($form->has_method($action)) { + $form->$action($this->object->param($form->context)); + } + } + + $tabs[] = $this->object->to_accordion_tab($form); + + if ($form->has_method('get_model') && $form->get_model()) { + if ($form->get_model()->is_invalid()) { + if (($form_errors = $this->object->show_errors_for($form->get_model(), TRUE))) { + $errors[] = $form_errors; + } + $form->get_model()->clear_errors(); + } + } + } + + // Render the view + $this->render_partial($this->object->index_template(), array( + 'page_heading' => $this->object->get_page_heading(), + 'tabs' => $tabs, + 'errors' => $errors, + 'success' => $success, + 'form_header' => $token->get_form_html(), + 'show_save_button' => $this->object->show_save_button() + )); + } + + // The user is not authorized to view this page + else { + $this->render_view('photocrati-nextgen_admin#not_authorized', array( + 'name' => $this->object->name, + 'title' => $this->object->get_page_title() + )); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.page_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.page_manager.php new file mode 100644 index 000000000..c7b2727cc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/class.page_manager.php @@ -0,0 +1,146 @@ +<?php + +class C_Page_Manager extends C_Component +{ + static $_instances = array(); + var $_pages = array(); + + /** + * Gets an instance of the Page Manager + * @param string $context + * @return C_Page_Manager + */ + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + /** + * Defines the instance of the Page Manager + * @param type $context + */ + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Page_Manager'); + $this->implement('I_Page_Manager'); + } +} + +class Mixin_Page_Manager extends Mixin +{ + function add($slug, $adapter, $parent=NULL, $add_menu=TRUE, $before = NULL) + { + $this->object->_pages[$slug] = array( + 'adapter' => $adapter, + 'parent' => $parent, + 'add_menu' => $add_menu, + 'before' => $before + ); + } + + function move_page($slug, $other_slug, $after = false) + { + $page_list = $this->object->_pages; + + if (isset($page_list[$slug]) && isset($page_list[$other_slug])) + { + $slug_list = array_keys($page_list); + $item_list = array_values($page_list); + + $slug_idx = array_search($slug, $slug_list); + $item = $page_list[$slug]; + + unset($slug_list[$slug_idx]); + unset($item_list[$slug_idx]); + + $slug_list = array_values($slug_list); + $item_list = array_values($item_list); + + $other_idx = array_search($other_slug, $slug_list); + + array_splice($slug_list, $other_idx, 0, array($slug)); + array_splice($item_list, $other_idx, 0, array($item)); + + $this->object->_pages = array_combine($slug_list, $item_list); + } + } + + function remove_page($slug) + { + unset($this->object->_pages[$slug]); + } + + function get_all() + { + return $this->object->_pages; + } + + function setup() + { + $registry = $this->get_registry(); + $controllers = array(); + foreach ($this->object->_pages as $slug => $properties) { + $registry->add_adapter( + 'I_NextGen_Admin_Page', + $properties['adapter'], + $slug + ); + $controllers[$slug] = $registry->get_utility( + 'I_NextGen_Admin_Page', + $slug + ); + if ($properties['add_menu']) { + add_submenu_page( + $properties['parent'], + $controllers[$slug]->get_page_title(), + $controllers[$slug]->get_page_heading(), + $controllers[$slug]->get_required_permission(), + $slug, + array(&$controllers[$slug], 'index_action') + ); + + if ($properties['before']) { + global $submenu; + + $parent = $submenu[$properties['parent']]; + $item_index = -1; + $before_index = -1; + + if ($parent != null) { + foreach ($parent as $index => $menu) { + + // under add_submenu_page, $menu_slug is index 2 + // $submenu[$parent_slug][] = array ( $menu_title, $capability, $menu_slug, $page_title ); + if ($menu[2] == $slug) { + $item_index = $index; + } + else if ($menu[2] == $properties['before']) { + $before_index = $index; + } + } + } + + if ($item_index > -1 && $before_index > -1) { + + $item = $parent[$item_index]; + + unset($parent[$item_index]); + $parent = array_values($parent); + + if ($item_index < $before_index) + $before_index--; + + array_splice($parent, $before_index, 0, array($item)); + + $submenu[$properties['parent']] = $parent; + } + } + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form.php new file mode 100644 index 000000000..e3a7855fc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form.php @@ -0,0 +1,7 @@ +<?php + +interface I_Form +{ + function render($retval=TRUE); + function save_action($properties=array()); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form_manager.php new file mode 100644 index 000000000..60e678de6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.form_manager.php @@ -0,0 +1,11 @@ +<?php + +interface I_Form_Manager +{ + function add_form($type, $interfaces); + function remove_form($type, $interfaces); + function add_form_before($type, $before, $interfaces); + function add_form_after($type, $after, $interfaces); + function get_forms($type); + function get_known_types(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.nextgen_admin_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.nextgen_admin_page.php new file mode 100644 index 000000000..362d09b12 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.nextgen_admin_page.php @@ -0,0 +1,6 @@ +<?php + +interface I_NextGen_Admin_Page +{ + function enqueue_backend_resources(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.page_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.page_manager.php new file mode 100644 index 000000000..f4884397c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/interface.page_manager.php @@ -0,0 +1,6 @@ +<?php + +interface I_Page_Manager +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php new file mode 100644 index 000000000..0a8f76fda --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php @@ -0,0 +1,149 @@ +<?php + +/*** +{ + Module: photocrati-nextgen_admin +} +***/ + +define('NEXTGEN_FS_ACCESS_SLUG', 'ngg_fs_access'); + +class M_NextGen_Admin extends C_Base_Module +{ + /** + * Defines the module + */ + function define() + { + parent::define( + 'photocrati-nextgen_admin', + 'NextGEN Administration', + 'Provides a framework for adding Administration pages', + '0.4', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_admin_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Admin_Installer'); + + include_once('class.nextgen_admin_option_handler.php'); + C_NextGen_Settings::add_option_handler('C_NextGen_Admin_Option_Handler', array( + 'jquery_ui_theme', + 'jquery_ui_theme_version', + 'jquery_ui_theme_url' + )); + } + + /** + * Register utilities necessary for this module (and the plugin) + */ + function _register_utilities() + { + // Provides a NextGEN Administation page + $this->get_registry()->add_utility( + 'I_NextGen_Admin_Page', + 'C_NextGen_Admin_Page_Controller' + ); + + $this->get_registry()->add_utility( + 'I_Page_Manager', + 'C_Page_Manager' + ); + + // Provides a form manager + $this->get_registry()->add_utility( + 'I_Form_Manager', + 'C_Form_Manager' + ); + + // Provides a form + $this->get_registry()->add_utility( + 'I_Form', + 'C_Form' + ); + } + + /** + * Registers adapters required by this module + */ + function _register_adapters() + { + $this->get_registry()->add_adapter( + 'I_MVC_Controller', + 'A_MVC_Validation' + ); + + $this->get_registry()->add_adapter( + 'I_Router', + 'A_NextGen_Settings_Routes' + ); + + $this->get_registry()->add_adapter( + 'I_Page_Manager', + 'A_NextGen_Admin_Default_Pages' + ); + } + + /** + * Hooks into the WordPress Framework + */ + function _register_hooks() + { + // Register scripts + add_action('init', array(&$this, 'register_scripts')); + + // Provides menu options for managing NextGEN Settings + add_action('admin_menu', array(&$this, 'add_menu_pages'), 999); + } + + + function register_scripts() + { + $router = $this->get_registry()->get_utility('I_Router'); + wp_register_script('gritter', $router->get_static_url('photocrati-nextgen_admin#gritter/gritter.min.js'), array('jquery')); + wp_register_style('gritter', $router->get_static_url('photocrati-nextgen_admin#gritter/css/gritter.css')); + wp_register_script('ngg_progressbar', $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.js'), array('gritter')); + wp_register_style('ngg_progressbar', $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.css'), array('gritter')); + wp_register_style('select2', $router->get_static_url('photocrati-nextgen_admin#select2/select2.css')); + wp_register_script('select2', $router->get_static_url('photocrati-nextgen_admin#select2/select2.modded.js')); + + $match = preg_quote("/wp-admin/post.php", "#"); + if (preg_match("#{$match}#", $_SERVER['REQUEST_URI'])) { + wp_enqueue_script('ngg_progressbar'); + wp_enqueue_style('ngg_progressbar'); + } + } + + /** + * Adds menu pages to manage NextGen Settings + * @uses action: admin_menu + */ + function add_menu_pages() + { + $this->get_registry()->get_utility('I_Page_Manager')->setup(); + } + + function get_type_list() + { + return array( + 'A_Fs_Access_Page' => 'adapter.fs_access_page.php', + 'A_Mvc_Validation' => 'adapter.mvc_validation.php', + 'C_Nextgen_Admin_Installer' => 'class.nextgen_admin_installer.php', + 'A_Nextgen_Admin_Default_Pages' => 'adapter.nextgen_admin_default_pages.php', + 'A_Nextgen_Settings_Routes' => 'adapter.nextgen_settings_routes.php', + 'C_Form' => 'class.form.php', + 'C_Form_Manager' => 'class.form_manager.php', + 'C_Nextgen_Admin_Page_Controller' => 'class.nextgen_admin_page_controller.php', + 'C_Page_Manager' => 'class.page_manager.php', + 'I_Form' => 'interface.form.php', + 'I_Form_Manager' => 'interface.form_manager.php', + 'I_Nextgen_Admin_Page' => 'interface.nextgen_admin_page.php', + 'I_Nextgen_Settings' => 'interface.nextgen_settings.php', + 'I_Page_Manager' => 'interface.page_manager.php' + ); + } +} + +new M_NextGen_Admin(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/animation.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/animation.gif new file mode 100644 index 0000000000000000000000000000000000000000..d61b3fd1fef1e416acabb9f674e8b3bcfd47a38f GIT binary patch literal 44130 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css new file mode 100644 index 000000000..7b1d130cd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css @@ -0,0 +1,101 @@ +/* the norm */ +#gritter-notice-wrapper { + position:fixed; + top:30px; + right:20px; + width:301px; + z-index: 999999; +} +#gritter-notice-wrapper.top-left { + left: 20px; + right: auto; +} +#gritter-notice-wrapper.bottom-right { + top: auto; + left: auto; + bottom: 20px; + right: 20px; +} +#gritter-notice-wrapper.bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; +} +.gritter-item-wrapper { + position:relative; + margin:0 0 10px 0; + background:url('../images/ie-spacer.gif'); /* ie7/8 fix */ +} +.gritter-top { + background:url(../images/gritter.png) no-repeat left -30px; + height:10px; +} +.hover .gritter-top { + background-position:right -30px; +} +.gritter-bottom { + background:url(../images/gritter.png) no-repeat left bottom; + height:8px; + margin:0; +} +.hover .gritter-bottom { + background-position: bottom right; +} +.gritter-item { + display:block; + background:url(../images/gritter.png) no-repeat left -40px; + color:#eee; + padding:2px 11px 8px 11px; + font-size: 11px; + font-family:verdana; +} +.hover .gritter-item { + background-position:right -40px; +} +.gritter-item p { + padding:0; + margin:0; + word-wrap:break-word; +} +.gritter-close { + display:none; + position:absolute; + top:5px; + right:3px; + background:url(../images/gritter.png) no-repeat left top; + cursor:pointer; + width:30px; + height:30px; +} +.gritter-title { + font-size:14px; + font-weight:bold; + padding:0 0 7px 0; + display:block; + text-shadow:1px 1px 0 #000; /* Not supported by IE :( */ +} +.gritter-image { + width:48px; + height:48px; + float:left; +} +.gritter-with-image, +.gritter-without-image { + padding:0; +} +.gritter-with-image { + width:220px; + float:right; +} +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url(../images/gritter-light.png); + color: #222; +} +.gritter-light .gritter-title { + text-shadow: none; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/gritter.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/gritter.min.js new file mode 100644 index 000000000..ff8c3f01e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/gritter.min.js @@ -0,0 +1 @@ +(function(b){b.gritter={};b.gritter.options={position:"",class_name:"",fade_in_speed:"medium",fade_out_speed:1000,time:6000};b.gritter.add=function(f){try{return a.add(f||{})}catch(d){var c="Gritter Error: "+d;(typeof(console)!="undefined"&&console.error)?console.error(c,f):alert(c)}};b.gritter.remove=function(d,c){a.removeSpecific(d,c||{})};b.gritter.removeAll=function(c){a.stop(c||{})};var a={position:"",fade_in_speed:"",fade_out_speed:"",time:"",_custom_timer:0,_item_count:0,_is_setup:0,_tpl_close:'<div class="gritter-close"></div>',_tpl_title:'<span class="gritter-title">[[title]]</span>',_tpl_item:'<div id="gritter-item-[[number]]" class="gritter-item-wrapper [[item_class]]" style="display:none"><div class="gritter-top"></div><div class="gritter-item">[[close]][[image]]<div class="[[class_name]]">[[title]]<p>[[text]]</p></div><div style="clear:both"></div></div><div class="gritter-bottom"></div></div>',_tpl_wrap:'<div id="gritter-notice-wrapper"></div>',add:function(g){if(typeof(g)=="string"){g={text:g}}if(g.text===null){throw'You must supply "text" parameter.'}if(!this._is_setup){this._runSetup()}var k=g.title,n=g.text,e=g.image||"",l=g.sticky||false,m=g.class_name||b.gritter.options.class_name,j=b.gritter.options.position,d=g.time||"";this._verifyWrapper();this._item_count++;var f=this._item_count,i=this._tpl_item;b(["before_open","after_open","before_close","after_close"]).each(function(p,q){a["_"+q+"_"+f]=(b.isFunction(g[q]))?g[q]:function(){}});this._custom_timer=0;if(d){this._custom_timer=d}var c=(e!="")?'<img src="'+e+'" class="gritter-image" />':"",h=(e!="")?"gritter-with-image":"gritter-without-image";if(k){k=this._str_replace("[[title]]",k,this._tpl_title)}else{k=""}i=this._str_replace(["[[title]]","[[text]]","[[close]]","[[image]]","[[number]]","[[class_name]]","[[item_class]]"],[k,n,this._tpl_close,c,this._item_count,h,m],i);if(this["_before_open_"+f]()===false){return false}b("#gritter-notice-wrapper").addClass(j).append(i);var o=b("#gritter-item-"+this._item_count);o.fadeIn(this.fade_in_speed,function(){a["_after_open_"+f](b(this))});if(!l){this._setFadeTimer(o,f)}b(o).bind("mouseenter mouseleave",function(p){if(p.type=="mouseenter"){if(!l){a._restoreItemIfFading(b(this),f)}}else{if(!l){a._setFadeTimer(b(this),f)}}a._hoverState(b(this),p.type)});b(o).find(".gritter-close").click(function(){a.removeSpecific(f,{},null,true)});return f},_countRemoveWrapper:function(c,d,f){d.remove();this["_after_close_"+c](d,f);if(b(".gritter-item-wrapper").length==0){b("#gritter-notice-wrapper").remove()}},_fade:function(g,d,j,f){var j=j||{},i=(typeof(j.fade)!="undefined")?j.fade:true,c=j.speed||this.fade_out_speed,h=f;this["_before_close_"+d](g,h);if(f){g.unbind("mouseenter mouseleave")}if(i){g.animate({opacity:0},c,function(){g.animate({height:0},300,function(){a._countRemoveWrapper(d,g,h)})})}else{this._countRemoveWrapper(d,g)}},_hoverState:function(d,c){if(c=="mouseenter"){d.addClass("hover");d.find(".gritter-close").show()}else{d.removeClass("hover");d.find(".gritter-close").hide()}},removeSpecific:function(c,g,f,d){if(!f){var f=b("#gritter-item-"+c)}this._fade(f,c,g||{},d)},_restoreItemIfFading:function(d,c){clearTimeout(this["_int_id_"+c]);d.stop().css({opacity:"",height:""})},_runSetup:function(){for(opt in b.gritter.options){this[opt]=b.gritter.options[opt]}this._is_setup=1},_setFadeTimer:function(f,d){var c=(this._custom_timer)?this._custom_timer:this.time;this["_int_id_"+d]=setTimeout(function(){a._fade(f,d)},c)},stop:function(e){var c=(b.isFunction(e.before_close))?e.before_close:function(){};var f=(b.isFunction(e.after_close))?e.after_close:function(){};var d=b("#gritter-notice-wrapper");c(d);d.fadeOut(function(){b(this).remove();f()})},_str_replace:function(v,e,o,n){var k=0,h=0,t="",m="",g=0,q=0,l=[].concat(v),c=[].concat(e),u=o,d=c instanceof Array,p=u instanceof Array;u=[].concat(u);if(n){this.window[n]=0}for(k=0,g=u.length;k<g;k++){if(u[k]===""){continue}for(h=0,q=l.length;h<q;h++){t=u[k]+"";m=d?(c[h]!==undefined?c[h]:""):c[0];u[k]=(t).split(l[h]).join(m);if(n&&u[k]!==t){this.window[n]+=(t.length-u[k].length)/l[h].length}}}return p?u:u[0]},_verifyWrapper:function(){if(b("#gritter-notice-wrapper").length==0){b("body").append(this._tpl_wrap)}}}})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-light.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-light.png new file mode 100644 index 0000000000000000000000000000000000000000..1b5238efc5d524014046ad5cd90ab1024c9ba250 GIT binary patch literal 4978 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-long.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter-long.png new file mode 100644 index 0000000000000000000000000000000000000000..578b89104feb2460a821b8543be29c50008666b6 GIT binary patch literal 6299 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 OFnGH9xvX<aXaWEt+<ZC! literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/gritter.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca3bc0a0f8068194082db9719d6e20a8645985f GIT binary patch literal 4880 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 KT-G@yGywp2k*=Zu literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/ie-spacer.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/ie-spacer.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9 GIT binary patch literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/trees.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/gritter/images/trees.jpg new file mode 100644 index 0000000000000000000000000000000000000000..00b2d5d7acbf85458a799bb33d1968243acd6a8c GIT binary patch literal 274003 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/information.png new file mode 100644 index 0000000000000000000000000000000000000000..60a3aac3aa2ef1a78e7a8f362ae0ba9f52fa5840 GIT binary patch literal 462 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+FeQ1ryD<E3??1Djfq{Xu zz$3Dlfq`2Xgc%uT&5>YWU|=ut^mS#w!!01Dr+NQ>+z$o@#&}N`#}JM4wiow%UrA(O z`*8mEz3=Vm8IHj$W-ieWg#_0&3GoGTIbN9L+`QfVD?3ZCmB$4klbJU})OT8VY?0+< zoq0h}op+%|WqDEE{kC=UK0a(r|G{$jjP86pFJ*zMt<&?x{%`Ya`1$h2p2SO$EbLKs ztJ1>E+nRsAEI!M=%kJmG^ee96SNE0~Y~D4|#i{sU-}i5KzB_%oyiAtcNqE!Fr;+h* zR!MhgOuaF6cBpPNPkD9!>0C#H3!y8uS*AXjHuc{vk7akJcTWmF|1m^u!6tuCo?Tu$ zV-lrJXU43%B08aP&4iFiQbjYRnvy42uIzGBRa6S^=wO>8@cXsw(ipQpe2aY6UAY*q zK4ZuC+EX(cv)46?ww{^jn>{_q`tm!IZPS+Z{9LnCsP~lY%}bdX!UlDpAGR*_oIZCV z%l_KSo38)(aO$DJ=^fhJ=l9(4WNn#z?{@k5n$jQf!af%IO{etV*59dT*dSXb9&vJq RJ_7>-gQu&X%Q~loCIH`#$N~TW literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/nextgen-logo-small.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/nextgen-logo-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..580d0b4338ad7a6a063573994962b2dd84ebf684 GIT binary patch literal 8965 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 bn`XkK2$c=qEM<3g#NZkZ01p)K|Gx<UXY=FY literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-U`XL$V_;zTl2TN~z`#)L>EalY(fIb9A>#oB z0S3bZ`zM)4s+63#z$ean)A;imdFy!gdm<sMp^l*eqSU3t5AR_<IyZThCIbTlgQu&X J%Q~loCIDB)Fbe<x literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_65_ececec_40x100.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_65_ececec_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..78457140c37667b5bd60074bfa403df2d58c9ebc GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-U`XL$V_;zTl2TN~z`#)L>EalY(fIb9A>#oB z0S3bZ`>%WtP$@Zaflr+Ert#-B^49U}_e4TiLmfi{M5#-OXQs1sYr1P6XJBAp@O1Ta JS?83{1OT|VFRK6m literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8b229af950c29356abf64a6c4aa894575445f0 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-U`XL$V_;zTl2TN~z`#)H>EalY(fIb9A>#oB z0fvo1|L4hb@|Yi(pmAc>%%5`K?(@yz2y2>}pc=tRT}nEuo8^e6(RDut1_lOCS3j3^ HP6<r_cab-} literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_55_ffffe0_1x400.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_55_ffffe0_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..e74334377f31331ff7e35edf99af466b8b6883c0 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4T3g#=yXkAHj8-fq}uw)5S5wqWA6jg}e*~ z0!|mtzuljnzGBg{BP(yI@jhd1VyfQB;KU)n+4^R{B#r2~4z>-?tX}`-R&0@G7s?f4 VUc*r9&%nUI;OXk;vd$@?2>>+%BclKS literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_95_ffebe8_1x400.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_glass_95_ffebe8_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd9675d326cc5738a117b078cd1deec79c8baef GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4T3g#=yXkAHj8-fq}u<)5S5wqWA52L#_q~ z0q2YJ@BH7eX=>QU8?1sh4LX@}l1z<?k2@H>G=CS(wP5r<ba8Tv>iQ!#_gNDnvmdaZ epAuxZgHgF$h_!y+r<n{43=E#GelF{r5}E*&Bq)*q literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-hard_75_ececec_1x100.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-hard_75_ececec_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..e6766510116d18abb68bf7edab6377bc84be272e GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`XL$V_;x#*NIACU|>-5ba4!kn40|K)6>)S zYHVz5Z4X`l{Qob{|N8#^`V&bUoF=7*Co?eoHkIsZWuGyNfq{X+)78&qol`;+0C`Rv AzyJUM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-soft_75_ececec_1x100.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_highlight-soft_75_ececec_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..84041634ed81f3376054a84ee8a57bea30382053 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`XL$V_;x#*NIACU|`Vmba4!kn40|K)6>)S zYHVz5ZHg{`{{NS6K7HZ@N2+4V#+8SUxh5<2NL8%A)WpEhoUGKfKjGIx1_lNOPgg&e IbxsLQ0EOHk4gdfE literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_inset-hard_75_ececec_1x100.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-bg_inset-hard_75_ececec_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..46f974296a25e7698adf6b26bfad8b3acac23e4a GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`XL$V_;x#*NIACU|>-7ba4!kn3`Pi`Ptce yH8wW3wufE@Mn*{mf=NC;J`%4sY-|%|WYE0HvPjnMnivBE1B0ilpUXO@geCyOTNm~K literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons-photocrati.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons-photocrati.png new file mode 100644 index 0000000000000000000000000000000000000000..acd45b8bcc4951519bf8b41a26fade87bcc417ce GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0y~yVBiN~4kiW$#>1P9x)~T4SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfl<uU#WAGfR?>~yZ|DC1 z|If(O!PsG3=EcY&pxklt0E2*o&dl9Q8bur!8Y`A=ca=E6pwJM}@Z%|C90$8XgTpCB zh84034HDjYoX#%0L+>-N2%Mh&`%Qr9Djo*LBcHx1N;C5?un3&ka_YGg&x!@HpJW{v z8h!qKYZ3Kra-77d(BL2x|8C=A?-@o6ECPq8C5Qh{W>}!$z~FedpN)a3W8<Tl3d=Mc z7&iX-d8kE`OTa;AznwvH7ZZ!X>Gj`rW-MZ0WDz;KNKBz2qOSgs5|@C(jaW7T2Zf8T zu1CnUb4Iz|XJ!#N!CAl0&`^M#fr(>@)au|3ObrZ7E04XBUBjTzps*^kBZODLA>pcg ohpDte!-0K&oYv?wGVw4R7S3E^!hJuVfq{X+)78&qol`;+0MZ<V4FCWD literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_21759b_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_21759b_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..a41a5e6fdc5ae183345aff3f2b445d6c09d27049 GIT binary patch literal 4369 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 BLCpXF literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_333333_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_333333_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..fe079a59506b5df3307dc763b574c492ce81ce9c GIT binary patch literal 4369 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 B5h?%x literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_999999_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_999999_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..50ff803dceabc920d514d6a41634fe4388b6c128 GIT binary patch literal 4369 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 BaX<h7 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_cc0000_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/images/ui-icons_cc0000_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..03a953b0dd87d7a6893b2d150ebc1beab6d8a384 GIT binary patch literal 4369 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 BBJcnJ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css new file mode 100644 index 000000000..6c2835b14 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery-ui/jquery-ui-1.9.1.custom.css @@ -0,0 +1,1887 @@ +/*! jQuery UI - v1.9.1 - 2012-11-05 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=sans-serif&fwDefault=normal&fsDefault=12px&cornerRadius=4px&bgColorHeader=ececec&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=dfdfdf&fcHeader=333333&iconColorHeader=999999&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=dfdfdf&fcContent=333333&iconColorContent=333333&bgColorDefault=ececec&bgTextureDefault=04_highlight_hard.png&bgImgOpacityDefault=75&borderColorDefault=dfdfdf&fcDefault=333333&iconColorDefault=333333&bgColorHover=ececec&bgTextureHover=06_inset_hard.png&bgImgOpacityHover=75&borderColorHover=cccccc&fcHover=000000&iconColorHover=333333&bgColorActive=ececec&bgTextureActive=01_flat.png&bgImgOpacityActive=65&borderColorActive=dfdfdf&fcActive=333333&iconColorActive=333333&bgColorHighlight=ffffe0&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=e6db55&fcHighlight=333333&iconColorHighlight=21759b&bgColorError=ffebe8&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cc0000&fcError=cc0000&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=3px +* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */ +/* This theme is made to look like the Wordpress style when possible */ +/* This file is presented as-is from jqueryui.com; scroll to line ~1812 to find changes */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} + +.ui-helper-hidden-accessible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); + clip: rect(1px, 1px, 1px, 1px); +} + +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} + +.ui-helper-clearfix:before, .ui-helper-clearfix:after { + content: ""; + display: table; +} + +.ui-helper-clearfix:after { + clear: both; +} + +.ui-helper-clearfix { + zoom: 1; +} + +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter: Alpha(Opacity = 0); +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ui-resizable { + position: relative; +} + +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; +} + +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { + display: none; +} + +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} + +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} + +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} + +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} + +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} + +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} + +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} + +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} + +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} + +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin-top: 2px; + padding: .5em .5em .5em .7em; + zoom: 1; +} + +.ui-accordion .ui-accordion-icons { + padding-left: 2.2em; +} + +.ui-accordion .ui-accordion-noicons { + padding-left: .7em; +} + +.ui-accordion .ui-accordion-icons .ui-accordion-icons { + padding-left: 2.2em; +} + +.ui-accordion .ui-accordion-header .ui-accordion-header-icon { + position: absolute; + left: .5em; + top: 50%; + margin-top: -8px; +} + +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; + zoom: 1; +} + +.ui-autocomplete { + position: absolute; + top: 0; /* #8656 */ + cursor: default; +} + +/* workarounds */ +* html .ui-autocomplete { + width: 1px; +} + +/* without this, the menu expands to 100% in IE6 */ +.ui-button { + display: inline-block; + position: relative; + padding: 0; + margin-right: .1em; + cursor: pointer; + text-align: center; + zoom: 1; + overflow: visible; +} + +/* the overflow property removes extra width in IE */ +.ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { + text-decoration: none; +} + +.ui-button-icon-only { + width: 2.2em; +} + +/* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { + width: 2.4em; +} + +/* button elements seem to need a little more width */ +.ui-button-icons-only { + width: 3.4em; +} + +button.ui-button-icons-only { + width: 3.7em; +} + +/*button text element */ +.ui-button .ui-button-text { + display: block; + line-height: 1.4; +} + +.ui-button-text-only .ui-button-text { + padding: .4em 1em; +} + +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { + padding: .4em; + text-indent: -9999999px; +} + +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { + padding: .4em 1em .4em 2.1em; +} + +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { + padding: .4em 2.1em .4em 1em; +} + +.ui-button-text-icons .ui-button-text { + padding-left: 2.1em; + padding-right: 2.1em; +} + +/* no icon support for input elements, provide padding by default */ +input.ui-button { + padding: .4em 1em; +} + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { + position: absolute; + top: 50%; + margin-top: -8px; +} + +.ui-button-icon-only .ui-icon { + left: 50%; + margin-left: -8px; +} + +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { + left: .5em; +} + +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { + right: .5em; +} + +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { + right: .5em; +} + +/*button sets*/ +.ui-buttonset { + margin-right: 7px; +} + +.ui-buttonset .ui-button { + margin-left: 0; + margin-right: -.3em; +} + +/* workarounds */ +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* reset extra padding in Firefox */ +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} + +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} + +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} + +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} + +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} + +.ui-datepicker .ui-datepicker-next { + right: 2px; +} + +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} + +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} + +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} + +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} + +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} + +.ui-datepicker select.ui-datepicker-month-year { + width: 100%; +} + +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 49%; +} + +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} + +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} + +.ui-datepicker td { + border: 0; + padding: 1px; +} + +.ui-datepicker td span, .ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} + +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} + +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} + +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} + +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} + +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} + +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} + +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} + +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} + +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { + border-left-width: 0; +} + +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} + +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} + +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0em; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} + +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} + +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} + +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} + +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} + +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} + +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} + +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { + float: right; +} + +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} + +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} + +.ui-dialog { + position: absolute; + padding: .2em; + width: 300px; + overflow: hidden; +} + +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} + +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 16px .1em 0; +} + +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 19px; + margin: -10px 0 0 0; + padding: 1px; + height: 18px; +} + +.ui-dialog .ui-dialog-titlebar-close span { + display: block; + /*margin: 1px; -- breaks WP 3.6 */ +} + +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { + padding: 0; +} + +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; + zoom: 1; +} + +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin: .5em 0 0 0; + padding: .3em 1em .5em .4em; +} + +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} + +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} + +.ui-dialog .ui-resizable-se { + width: 14px; + height: 14px; + right: 3px; + bottom: 3px; +} + +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} + +.ui-menu { + list-style: none; + padding: 2px; + margin: 0; + display: block; + outline: none; +} + +.ui-menu .ui-menu { + margin-top: -3px; + position: absolute; +} + +.ui-menu .ui-menu-item { + margin: 0; + padding: 0; + zoom: 1; + width: 100%; +} + +.ui-menu .ui-menu-divider { + margin: 5px -2px 5px -2px; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} + +.ui-menu .ui-menu-item a { + text-decoration: none; + display: block; + padding: 2px .4em; + line-height: 1.5; + zoom: 1; + font-weight: normal; +} + +.ui-menu .ui-menu-item a.ui-state-focus, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} + +.ui-menu .ui-state-disabled { + font-weight: normal; + margin: .4em 0 .2em; + line-height: 1.5; +} + +.ui-menu .ui-state-disabled a { + cursor: default; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} + +.ui-menu-icons .ui-menu-item a { + position: relative; + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: .2em; + left: .2em; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + position: static; + float: right; +} + +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} + +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} + +.ui-slider { + position: relative; + text-align: left; +} + +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} + +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +.ui-slider-horizontal { + height: .8em; +} + +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} + +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} + +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} + +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} + +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} + +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} + +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} + +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} + +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} + +.ui-spinner-input { + border: none; + background: none; + padding: 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 22px; +} + +.ui-spinner-button { + width: 16px; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} + +.ui-spinner a.ui-spinner-button { + border-top: none; + border-bottom: none; + border-right: none; +} + +/* more specificity required here to overide default borders */ +.ui-spinner .ui-icon { + position: absolute; + margin-top: -8px; + top: 50%; + left: 0; +} + +/* vertical centre icon */ +.ui-spinner-up { + top: 0; +} + +.ui-spinner-down { + bottom: 0; +} + +/* TR overrides */ +.ui-spinner .ui-icon-triangle-1-s { + /* need to fix icons sprite */ + background-position: -65px -16px; +} + +.ui-tabs { + position: relative; + padding: .2em; + zoom: 1; +} + +/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} + +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom: 0; + padding: 0; + white-space: nowrap; +} + +.ui-tabs .ui-tabs-nav li a { + float: left; + padding: .5em 1em; + text-decoration: none; +} + +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} + +.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { + cursor: text; +} + +.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { + cursor: pointer; +} + +/* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} + +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; + -webkit-box-shadow: 0 0 5px #aaa; + box-shadow: 0 0 5px #aaa; +} + +/* Fades and background-images don't work well together in IE6, drop the image */ +* html .ui-tooltip { + background-image: none; +} + +body .ui-tooltip { + border-width: 2px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: sans-serif; + font-size: 12px; +} + +.ui-widget .ui-widget { + font-size: 1em; +} + +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { + font-family: sans-serif; + font-size: 1em; +} + +.ui-widget-content { + border: 1px solid #dfdfdf; + background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; + color: #333333; +} + +.ui-widget-content a { + color: #333333; +} + +.ui-widget-header { + border: 1px solid #dfdfdf; + background: #ececec url(images/ui-bg_highlight-soft_75_ececec_1x100.png) 50% 50% repeat-x; + color: #333333; + font-weight: bold; +} + +.ui-widget-header a { + color: #333333; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + border: 1px solid #dfdfdf; + background: #ececec url(images/ui-bg_highlight-hard_75_ececec_1x100.png) 50% 50% repeat-x; + font-weight: normal; + color: #333333; +} + +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { + color: #333333; + text-decoration: none; +} + +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { + border: 1px solid #cccccc; + background: #ececec url(images/ui-bg_inset-hard_75_ececec_1x100.png) 50% 50% repeat-x; + font-weight: normal; + color: #000000; +} + +.ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { + color: #000000; + text-decoration: none; +} + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { + border: 1px solid #dfdfdf; + background: #ececec url(images/ui-bg_flat_65_ececec_40x100.png) 50% 50% repeat-x; + font-weight: normal; + color: #333333; +} + +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { + color: #333333; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { + border: 1px solid #e6db55; + background: #ffffe0 url(images/ui-bg_glass_55_ffffe0_1x400.png) 50% 50% repeat-x; + color: #333333; +} + +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { + color: #333333; +} + +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { + border: 1px solid #cc0000; + background: #ffebe8 url(images/ui-bg_glass_95_ffebe8_1x400.png) 50% 50% repeat-x; + color: #cc0000; +} + +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { + color: #cc0000; +} + +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { + color: #cc0000; +} + +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { + font-weight: bold; +} + +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { + opacity: .7; + filter: Alpha(Opacity = 70); + font-weight: normal; +} + +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity = 35); + background-image: none; +} + +.ui-state-disabled .ui-icon { + filter: Alpha(Opacity = 35); +} + +/* For IE8 - See #6059 */ + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; + background-image: url(images/ui-icons_333333_256x240.png); +} + +.ui-widget-content .ui-icon { + background-image: url(images/ui-icons_333333_256x240.png); +} + +.ui-widget-header .ui-icon { + background-image: url(images/ui-icons_999999_256x240.png); +} + +.ui-state-default .ui-icon { + background-image: url(images/ui-icons_333333_256x240.png); +} + +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { + background-image: url(images/ui-icons_333333_256x240.png); +} + +.ui-state-active .ui-icon { + background-image: url(images/ui-icons_333333_256x240.png); +} + +.ui-state-highlight .ui-icon { + background-image: url(images/ui-icons_21759b_256x240.png); +} + +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { + background-image: url(images/ui-icons_cc0000_256x240.png); +} + +/* positioning */ +.ui-icon-carat-1-n { + background-position: 0 0; +} + +.ui-icon-carat-1-ne { + background-position: -16px 0; +} + +.ui-icon-carat-1-e { + background-position: -32px 0; +} + +.ui-icon-carat-1-se { + background-position: -48px 0; +} + +.ui-icon-carat-1-s { + background-position: -64px 0; +} + +.ui-icon-carat-1-sw { + background-position: -80px 0; +} + +.ui-icon-carat-1-w { + background-position: -96px 0; +} + +.ui-icon-carat-1-nw { + background-position: -112px 0; +} + +.ui-icon-carat-2-n-s { + background-position: -128px 0; +} + +.ui-icon-carat-2-e-w { + background-position: -144px 0; +} + +.ui-icon-triangle-1-n { + background-position: 0 -16px; +} + +.ui-icon-triangle-1-ne { + background-position: -16px -16px; +} + +.ui-icon-triangle-1-e { + background-position: -32px -16px; +} + +.ui-icon-triangle-1-se { + background-position: -48px -16px; +} + +.ui-icon-triangle-1-s { + background-position: -64px -16px; +} + +.ui-icon-triangle-1-sw { + background-position: -80px -16px; +} + +.ui-icon-triangle-1-w { + background-position: -96px -16px; +} + +.ui-icon-triangle-1-nw { + background-position: -112px -16px; +} + +.ui-icon-triangle-2-n-s { + background-position: -128px -16px; +} + +.ui-icon-triangle-2-e-w { + background-position: -144px -16px; +} + +.ui-icon-arrow-1-n { + background-position: 0 -32px; +} + +.ui-icon-arrow-1-ne { + background-position: -16px -32px; +} + +.ui-icon-arrow-1-e { + background-position: -32px -32px; +} + +.ui-icon-arrow-1-se { + background-position: -48px -32px; +} + +.ui-icon-arrow-1-s { + background-position: -64px -32px; +} + +.ui-icon-arrow-1-sw { + background-position: -80px -32px; +} + +.ui-icon-arrow-1-w { + background-position: -96px -32px; +} + +.ui-icon-arrow-1-nw { + background-position: -112px -32px; +} + +.ui-icon-arrow-2-n-s { + background-position: -128px -32px; +} + +.ui-icon-arrow-2-ne-sw { + background-position: -144px -32px; +} + +.ui-icon-arrow-2-e-w { + background-position: -160px -32px; +} + +.ui-icon-arrow-2-se-nw { + background-position: -176px -32px; +} + +.ui-icon-arrowstop-1-n { + background-position: -192px -32px; +} + +.ui-icon-arrowstop-1-e { + background-position: -208px -32px; +} + +.ui-icon-arrowstop-1-s { + background-position: -224px -32px; +} + +.ui-icon-arrowstop-1-w { + background-position: -240px -32px; +} + +.ui-icon-arrowthick-1-n { + background-position: 0 -48px; +} + +.ui-icon-arrowthick-1-ne { + background-position: -16px -48px; +} + +.ui-icon-arrowthick-1-e { + background-position: -32px -48px; +} + +.ui-icon-arrowthick-1-se { + background-position: -48px -48px; +} + +.ui-icon-arrowthick-1-s { + background-position: -64px -48px; +} + +.ui-icon-arrowthick-1-sw { + background-position: -80px -48px; +} + +.ui-icon-arrowthick-1-w { + background-position: -96px -48px; +} + +.ui-icon-arrowthick-1-nw { + background-position: -112px -48px; +} + +.ui-icon-arrowthick-2-n-s { + background-position: -128px -48px; +} + +.ui-icon-arrowthick-2-ne-sw { + background-position: -144px -48px; +} + +.ui-icon-arrowthick-2-e-w { + background-position: -160px -48px; +} + +.ui-icon-arrowthick-2-se-nw { + background-position: -176px -48px; +} + +.ui-icon-arrowthickstop-1-n { + background-position: -192px -48px; +} + +.ui-icon-arrowthickstop-1-e { + background-position: -208px -48px; +} + +.ui-icon-arrowthickstop-1-s { + background-position: -224px -48px; +} + +.ui-icon-arrowthickstop-1-w { + background-position: -240px -48px; +} + +.ui-icon-arrowreturnthick-1-w { + background-position: 0 -64px; +} + +.ui-icon-arrowreturnthick-1-n { + background-position: -16px -64px; +} + +.ui-icon-arrowreturnthick-1-e { + background-position: -32px -64px; +} + +.ui-icon-arrowreturnthick-1-s { + background-position: -48px -64px; +} + +.ui-icon-arrowreturn-1-w { + background-position: -64px -64px; +} + +.ui-icon-arrowreturn-1-n { + background-position: -80px -64px; +} + +.ui-icon-arrowreturn-1-e { + background-position: -96px -64px; +} + +.ui-icon-arrowreturn-1-s { + background-position: -112px -64px; +} + +.ui-icon-arrowrefresh-1-w { + background-position: -128px -64px; +} + +.ui-icon-arrowrefresh-1-n { + background-position: -144px -64px; +} + +.ui-icon-arrowrefresh-1-e { + background-position: -160px -64px; +} + +.ui-icon-arrowrefresh-1-s { + background-position: -176px -64px; +} + +.ui-icon-arrow-4 { + background-position: 0 -80px; +} + +.ui-icon-arrow-4-diag { + background-position: -16px -80px; +} + +.ui-icon-extlink { + background-position: -32px -80px; +} + +.ui-icon-newwin { + background-position: -48px -80px; +} + +.ui-icon-refresh { + background-position: -64px -80px; +} + +.ui-icon-shuffle { + background-position: -80px -80px; +} + +.ui-icon-transfer-e-w { + background-position: -96px -80px; +} + +.ui-icon-transferthick-e-w { + background-position: -112px -80px; +} + +.ui-icon-folder-collapsed { + background-position: 0 -96px; +} + +.ui-icon-folder-open { + background-position: -16px -96px; +} + +.ui-icon-document { + background-position: -32px -96px; +} + +.ui-icon-document-b { + background-position: -48px -96px; +} + +.ui-icon-note { + background-position: -64px -96px; +} + +.ui-icon-mail-closed { + background-position: -80px -96px; +} + +.ui-icon-mail-open { + background-position: -96px -96px; +} + +.ui-icon-suitcase { + background-position: -112px -96px; +} + +.ui-icon-comment { + background-position: -128px -96px; +} + +.ui-icon-person { + background-position: -144px -96px; +} + +.ui-icon-print { + background-position: -160px -96px; +} + +.ui-icon-trash { + background-position: -176px -96px; +} + +.ui-icon-locked { + background-position: -192px -96px; +} + +.ui-icon-unlocked { + background-position: -208px -96px; +} + +.ui-icon-bookmark { + background-position: -224px -96px; +} + +.ui-icon-tag { + background-position: -240px -96px; +} + +.ui-icon-home { + background-position: 0 -112px; +} + +.ui-icon-flag { + background-position: -16px -112px; +} + +.ui-icon-calendar { + background-position: -32px -112px; +} + +.ui-icon-cart { + background-position: -48px -112px; +} + +.ui-icon-pencil { + background-position: -64px -112px; +} + +.ui-icon-clock { + background-position: -80px -112px; +} + +.ui-icon-disk { + background-position: -96px -112px; +} + +.ui-icon-calculator { + background-position: -112px -112px; +} + +.ui-icon-zoomin { + background-position: -128px -112px; +} + +.ui-icon-zoomout { + background-position: -144px -112px; +} + +.ui-icon-search { + background-position: -160px -112px; +} + +.ui-icon-wrench { + background-position: -176px -112px; +} + +.ui-icon-gear { + background-position: -192px -112px; +} + +.ui-icon-heart { + background-position: -208px -112px; +} + +.ui-icon-star { + background-position: -224px -112px; +} + +.ui-icon-link { + background-position: -240px -112px; +} + +.ui-icon-cancel { + background-position: 0 -128px; +} + +.ui-icon-plus { + background-position: -16px -128px; +} + +.ui-icon-plusthick { + background-position: -32px -128px; +} + +.ui-icon-minus { + background-position: -48px -128px; +} + +.ui-icon-minusthick { + background-position: -64px -128px; +} + +.ui-icon-close { + background-position: -80px -128px; +} + +.ui-icon-closethick { + background-position: -96px -128px; +} + +.ui-icon-key { + background-position: -112px -128px; +} + +.ui-icon-lightbulb { + background-position: -128px -128px; +} + +.ui-icon-scissors { + background-position: -144px -128px; +} + +.ui-icon-clipboard { + background-position: -160px -128px; +} + +.ui-icon-copy { + background-position: -176px -128px; +} + +.ui-icon-contact { + background-position: -192px -128px; +} + +.ui-icon-image { + background-position: -208px -128px; +} + +.ui-icon-video { + background-position: -224px -128px; +} + +.ui-icon-script { + background-position: -240px -128px; +} + +.ui-icon-alert { + background-position: 0 -144px; +} + +.ui-icon-info { + background-position: -16px -144px; +} + +.ui-icon-notice { + background-position: -32px -144px; +} + +.ui-icon-help { + background-position: -48px -144px; +} + +.ui-icon-check { + background-position: -64px -144px; +} + +.ui-icon-bullet { + background-position: -80px -144px; +} + +.ui-icon-radio-on { + background-position: -96px -144px; +} + +.ui-icon-radio-off { + background-position: -112px -144px; +} + +.ui-icon-pin-w { + background-position: -128px -144px; +} + +.ui-icon-pin-s { + background-position: -144px -144px; +} + +.ui-icon-play { + background-position: 0 -160px; +} + +.ui-icon-pause { + background-position: -16px -160px; +} + +.ui-icon-seek-next { + background-position: -32px -160px; +} + +.ui-icon-seek-prev { + background-position: -48px -160px; +} + +.ui-icon-seek-end { + background-position: -64px -160px; +} + +.ui-icon-seek-start { + background-position: -80px -160px; +} + +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { + background-position: -80px -160px; +} + +.ui-icon-stop { + background-position: -96px -160px; +} + +.ui-icon-eject { + background-position: -112px -160px; +} + +.ui-icon-volume-off { + background-position: -128px -160px; +} + +.ui-icon-volume-on { + background-position: -144px -160px; +} + +.ui-icon-power { + background-position: 0 -176px; +} + +.ui-icon-signal-diag { + background-position: -16px -176px; +} + +.ui-icon-signal { + background-position: -32px -176px; +} + +.ui-icon-battery-0 { + background-position: -48px -176px; +} + +.ui-icon-battery-1 { + background-position: -64px -176px; +} + +.ui-icon-battery-2 { + background-position: -80px -176px; +} + +.ui-icon-battery-3 { + background-position: -96px -176px; +} + +.ui-icon-circle-plus { + background-position: 0 -192px; +} + +.ui-icon-circle-minus { + background-position: -16px -192px; +} + +.ui-icon-circle-close { + background-position: -32px -192px; +} + +.ui-icon-circle-triangle-e { + background-position: -48px -192px; +} + +.ui-icon-circle-triangle-s { + background-position: -64px -192px; +} + +.ui-icon-circle-triangle-w { + background-position: -80px -192px; +} + +.ui-icon-circle-triangle-n { + background-position: -96px -192px; +} + +.ui-icon-circle-arrow-e { + background-position: -112px -192px; +} + +.ui-icon-circle-arrow-s { + background-position: -128px -192px; +} + +.ui-icon-circle-arrow-w { + background-position: -144px -192px; +} + +.ui-icon-circle-arrow-n { + background-position: -160px -192px; +} + +.ui-icon-circle-zoomin { + background-position: -176px -192px; +} + +.ui-icon-circle-zoomout { + background-position: -192px -192px; +} + +.ui-icon-circle-check { + background-position: -208px -192px; +} + +.ui-icon-circlesmall-plus { + background-position: 0 -208px; +} + +.ui-icon-circlesmall-minus { + background-position: -16px -208px; +} + +.ui-icon-circlesmall-close { + background-position: -32px -208px; +} + +.ui-icon-squaresmall-plus { + background-position: -48px -208px; +} + +.ui-icon-squaresmall-minus { + background-position: -64px -208px; +} + +.ui-icon-squaresmall-close { + background-position: -80px -208px; +} + +.ui-icon-grip-dotted-vertical { + background-position: 0 -224px; +} + +.ui-icon-grip-dotted-horizontal { + background-position: -16px -224px; +} + +.ui-icon-grip-solid-vertical { + background-position: -32px -224px; +} + +.ui-icon-grip-solid-horizontal { + background-position: -48px -224px; +} + +.ui-icon-gripsmall-diagonal-se { + background-position: -64px -224px; +} + +.ui-icon-grip-diagonal-se { + background-position: -80px -224px; +} + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + -khtml-border-top-left-radius: 4px; + border-top-left-radius: 4px; +} + +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + -khtml-border-top-right-radius: 4px; + border-top-right-radius: 4px; +} + +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + -khtml-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + -khtml-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity = 30); +} + +.ui-widget-shadow { + margin: -8px 0 0 -8px; + padding: 8px; + background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity = 30); + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} + +/* Everything that follows was added by Photocrati */ +.ui-icon { + float: left; +} + +/* Make accordions look like Wordpress' semi-accordion header field */ +.ui-accordion .ui-accordion-header { + font-size: 1.17em; + text-shadow: #fff 0 1px 0; + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + line-height: 1; +} + +/* Tabs: remove background, change text color, and add :hover state */ +.ui-tabs .ui-tabs-nav li { + background: white; + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif; + margin-bottom: -1px; + margin-right: .5em; +} + +.ui-tabs .ui-tabs-nav li a { + color: #aaa; + outline: none; + font-size: 120%; +} + +.ui-tabs .ui-tabs-nav li a:hover { + color: #d54e21; +} + +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + padding-bottom: -1px; +} + +.ui-tabs .ui-tabs-nav li.ui-tabs-active a { + color: #464646; +} + +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { + border-top: 1px solid #8a8a8a; + border-right: 1px solid #8a8a8a; + border-left: 1px solid #8a8a8a; + border-bottom: 1px solid #ffffff; +} + +.ui-tabs-icon + ul.ui-tabs-nav { + -moz-border-radius-bottomleft: 0px; + -webkit-border-bottom-left-radius: 0px; + -khtml-border-bottom-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +.ui-tabs-icon { + float: left; + background: url('images/nextgen-logo-small.jpg') no-repeat left center; + font-size: 18px; + font-family: HelveticaNeue-Light, 'Helvetica Neue Light', 'Helvetica Neue', sans-serif; + width: 200px; + height: 40px; +} + +.ui-tabs-icon .nextgen_logo { + display: none; +} +.ui-tabs-icon .nextgen_logo_sub { + display: none; + font-size: 14px; +} + +/** Fix overlays in IE8 **/ +.ui-widget-overlay { + background: #000000 50% 50% repeat-x; + opacity: .4; + filter: Alpha(Opacity = 40); + filter: -\9; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery.placeholder.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery.placeholder.min.js new file mode 100644 index 000000000..138ddd32b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/jquery.placeholder.min.js @@ -0,0 +1,2 @@ +/*! http://mths.be/placeholder v2.0.7 by @mathias */ +;(function(f,h,$){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=$.fn,c=$.valHooks,k,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){var l=this;l.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind({'focus.placeholder':b,'blur.placeholder':e}).data('placeholder-enabled',true).trigger('blur.placeholder');return l};j.input=a;j.textarea=d;k={get:function(m){var l=$(m);return l.data('placeholder-enabled')&&l.hasClass('placeholder')?'':m.value},set:function(m,n){var l=$(m);if(!l.data('placeholder-enabled')){return m.value=n}if(n==''){m.value=n;if(m!=h.activeElement){e.call(m)}}else{if(l.hasClass('placeholder')){b.call(m,true,n)||(m.value=n)}else{m.value=n}}return l}};a||(c.input=k);d||(c.textarea=k);$(function(){$(h).delegate('form','submit.placeholder',function(){var l=$('.placeholder',this).each(b);setTimeout(function(){l.each(e)},10)})});$(f).bind('beforeunload.placeholder',function(){$('.placeholder').each(function(){this.value=''})})}function g(m){var l={},n=/^jQuery\d+$/;$.each(m.attributes,function(p,o){if(o.specified&&!n.test(o.name)){l[o.name]=o.value}});return l}function b(m,n){var l=this,o=$(l);if(l.value==o.attr('placeholder')&&o.hasClass('placeholder')){if(o.data('placeholder-password')){o=o.hide().next().show().attr('id',o.removeAttr('id').data('placeholder-id'));if(m===true){return o[0].value=n}o.focus()}else{l.value='';o.removeClass('placeholder');l==h.activeElement&&l.select()}}}function e(){var q,l=this,p=$(l),m=p,o=this.id;if(l.value==''){if(l.type=='password'){if(!p.data('placeholder-textinput')){try{q=p.clone().attr({type:'text'})}catch(n){q=$('<input>').attr($.extend(g(this),{type:'text'}))}q.removeAttr('name').data({'placeholder-password':true,'placeholder-id':o}).bind('focus.placeholder',b);p.data({'placeholder-textinput':q,'placeholder-id':o}).before(q)}p=p.removeAttr('id').hide().prev().attr('id',o).show()}p.addClass('placeholder');p[0].value=p.attr('placeholder')}else{p.removeClass('placeholder')}}}(this,document,jQuery)); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css new file mode 100644 index 000000000..d3aa91633 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css @@ -0,0 +1,39 @@ +.hidden { + display: none; +} + +.nextgen_advanced_toggle_link { + font-size: 11px; + position: relative; + bottom: 5px; + color: #444444; +} + +.url_field { + width: 400px; +} + +.nextgen_settings_colorpicker { + width: 85px !important; + text-align: center; + margin-left: 50px; +} + +#nextgen_settings_wmXpos, +#nextgen_settings_wmYpos { + width: 65px !important; +} + +table.nextgen_settings_position { + width: auto !important; +} + + +span.tooltip, +label.tooltip { + outline: none; + background-image: url('information.png'); + background-repeat: no-repeat; + padding-left: 18px; + padding-bottom: 1px; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js new file mode 100644 index 000000000..aff7def4b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js @@ -0,0 +1,67 @@ +jQuery(function($){ + + // Activate accordions + $('.accordion').accordion({ + clearStyle: true, + autoHeight: false, + heightStyle: 'content' + }); + + // When a submit button is clicked... + $('input[type="submit"]').click(function(e){ + var $button = $(this); + var message = false; + + // Check if a confirmation dialog is required + if ((message = $button.attr('data-confirm'))) { + if (!confirm(message)) { + e.preventDefault(); + return; + } + } + + // Check if this is a proxy button for another field + if ($button.attr('name').indexOf('_proxy') != -1) { + + // Get the value to set + var value = $button.attr('data-proxy-value'); + if (!value) value = $button.attr('value'); + + // Get the name of the field that is being proxied + var field_name = $button.attr('name').replace('_proxy', ''); + + // Try getting the existing field + var $field = $('input[name="'+field_name+'"]'); + if ($field.length > 0) $field.val(value); + else { + $field = $('<input/>').attr({ + type: 'hidden', + name: field_name, + value: value + }); + $button.parents('form').append($field); + } + } + }); + + + // Toggle the advanced settings + $('.nextgen_advanced_toggle_link').on('click', function(e){ + e.preventDefault(); + var form_id = '#'+$(this).attr('rel'); + var btn = $(this); + $(form_id).toggle(500, 'swing', function(){ + if ($(this).hasClass('hidden')) { + $(this).removeClass('hidden'); + btn.text(btn.attr('active_label')); + } + else { + $(this).addClass('hidden'); + btn.text(btn.attr('hidden_label')); + } + }); + }); + + $('input.nextgen_settings_field_colorpicker').wpColorPicker(); + $('#ngg_page_content').css('visibility', 'visible'); +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.css new file mode 100644 index 000000000..69ed138bc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.css @@ -0,0 +1,28 @@ +.ngg_progressbar { + width: 100%; + background: #292929; + border: 1px solid #111; + border-radius: 5px; + overflow: hidden; + box-shadow: 0 0 5px #333; + height: 25px; +} + +.ngg_progressbar div { + width: 0%; + text-align: right; + color: white; + background-image: url('animation.gif'); + border: solid 1px darkolivegreen; + overflow: hidden; + border-radius: 5px; + height: 100%; + font-size: 12px; + padding-top: 3px; + font-family: Helvetica, Arial +} + +.ngg_progressbar.infinite div { + width: 100%; + text-align: center; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.js new file mode 100644 index 000000000..27fef37d9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/ngg_progressbar.js @@ -0,0 +1,102 @@ +(function($){ + + $.nggProgressBar = function(options){ + var progressBar = { + defaults: { + starting_value: 0, + infinite: false, + in_progress_text: 'In progress...', + finished_text: 'Done!' + }, + + // Initializes the progress bar + init: function(options){ + + // Set the options + this.options = $.extend(this.defaults, options); + + // Display the sticky Gritter notification + this.gritter_id = this.find_gritter(window).add({ + progressBar: this, + sticky: true, + title: this.options.title, + text: "<div class='ngg_progressbar'><div></div></div>", + }); + + // Find the gritter element added + this.find_gritter_el(window); + + // Is this an infinite progress bar? + if (this.options.infinite) { + this.gritter_el.find('.ngg_progressbar').addClass('infinite'); + } + + // Set the starting value + this.set(this.options.starting_value); + }, + + set: function(percent, text){ + // You can set the percentage of completion, as well as the text message to appear + if (typeof(text) == 'undefined') text = percent; + + // You can optionally just pass in a message, and we'll assume that it's an infinite progress bar + // and use 100 completion, with the message as the text + if (isNaN(percent)) { + text = percent; + percent = 100; + } + percent = percent + "%"; + this.status_el.animate({ + width: percent + }).text(text); + }, + + // Closes the progress bar + close: function(delay){ + if (typeof(delay) == 'undefined') delay = 1000; + var gritter = this.find_gritter(window) + var gritter_id = this.gritter_id; + setTimeout(function(){ + gritter.remove(gritter_id); + }, delay); + }, + + // Finds the parent window + find_parent: function(win){ + var retval = win; + try { + while (retval.document !== retval.parent.document) retval = retval.parent; + } + catch (ex){ + if (typeof(console) != "undefined") console.log(ex); + } + return retval; + }, + + // Finds the gritter library + find_gritter: function(win){ + return this.find_parent(win).jQuery.gritter + }, + + + // Finds the gritter element + find_gritter_el: function(win){ + var selector = '#gritter-item-'+this.gritter_id; + this.gritter_el = $(selector); + if (this.gritter_el.length == 0) { + this.gritter_el = this.find_parent(win).jQuery(selector); + } + + this.status_el = this.gritter_el.find('.ngg_progressbar:first div'); + this.gritter_el.data('nggProgressBar', this); + + return this.gritter_el; + } + }; + + progressBar.init(options); + + return progressBar; + }; + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2-spinner.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2-spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css new file mode 100644 index 000000000..3eae7318e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.css @@ -0,0 +1,573 @@ +/* +Version: @@ver@@ Timestamp: @@timestamp@@ +*/ +.select2-container { + position: relative; + display: inline-block; + /* inline-block for ie7 */ + zoom: 1; + *display: inline; + vertical-align: top; +} + +.select2-container, +.select2-drop, +.select2-search, +.select2-search input{ + /* + Force border-box so that % widths fit the parent + container without overlap because of margin/padding. + + More Info : http://www.quirksmode.org/css/box.html + */ + -webkit-box-sizing: border-box; /* webkit */ + -khtml-box-sizing: border-box; /* konqueror */ + -moz-box-sizing: border-box; /* firefox */ + -ms-box-sizing: border-box; /* ie */ + box-sizing: border-box; /* css3 */ +} + +.select2-container .select2-choice { + display: block; + height: 26px; + padding: 0 0 0 8px; + overflow: hidden; + position: relative; + + border: 1px solid #aaa; + white-space: nowrap; + line-height: 26px; + color: #444; + text-decoration: none; + + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + background-color: #fff; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white)); + background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%); + background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%); + background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%); + background-image: -ms-linear-gradient(top, #ffffff 0%, #eeeeee 50%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0); + background-image: linear-gradient(top, #ffffff 0%, #eeeeee 50%); +} + +.select2-container.select2-drop-above .select2-choice { + border-bottom-color: #aaa; + + -webkit-border-radius:0 0 4px 4px; + -moz-border-radius:0 0 4px 4px; + border-radius:0 0 4px 4px; + + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white)); + background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%); + background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%); + background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%); + background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 90%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); + background-image: linear-gradient(top, #eeeeee 0%,#ffffff 90%); +} + +.select2-container .select2-choice span { + margin-right: 26px; + display: block; + overflow: hidden; + + white-space: nowrap; + + -ms-text-overflow: ellipsis; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; +} + +.select2-container .select2-choice abbr { + display: block; + width: 12px; + height: 12px; + position: absolute; + right: 26px; + top: 8px; + + font-size: 1px; + text-decoration: none; + + border: 0; + background: url('select2.png') right top no-repeat; + cursor: pointer; + outline: 0; +} +.select2-container .select2-choice abbr:hover { + background-position: right -11px; + cursor: pointer; +} + +.select2-drop { + width: 100%; + margin-top:-1px; + position: absolute; + z-index: 9999; + top: 100%; + + background: #fff; + color: #000; + border: 1px solid #aaa; + border-top: 0; + + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; + + -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); + -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); + -o-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); + box-shadow: 0 4px 5px rgba(0, 0, 0, .15); +} + +.select2-drop.select2-drop-above { + margin-top: 1px; + border-top: 1px solid #aaa; + border-bottom: 0; + + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; + + -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); + -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); + -o-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); + box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); +} + +.select2-container .select2-choice div { + display: block; + width: 18px; + height: 100%; + position: absolute; + right: 0; + top: 0; + + border-left: 1px solid #aaa; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + background: #ccc; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee)); + background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%); + background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%); + background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%); + background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0); + background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%); +} + +.select2-container .select2-choice div b { + display: block; + width: 100%; + height: 100%; + background: url('select2.png') no-repeat 0 1px; +} + +.select2-search { + display: inline-block; + width: 100%; + min-height: 26px; + margin: 0; + padding-left: 4px; + padding-right: 4px; + + position: relative; + z-index: 10000; + + white-space: nowrap; +} + +.select2-search-hidden { + display: block; + position: absolute; + left: -10000px; +} + +.select2-search input { + width: 100%; + height: auto !important; + min-height: 26px; + padding: 4px 20px 4px 5px; + margin: 0; + + outline: 0; + font-family: sans-serif; + font-size: 1em; + + border: 1px solid #aaa; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + + background: #fff url('select2.png') no-repeat 100% -22px; + background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); + background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); + background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); + background: url('select2.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); + background: url('select2.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%); + background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%); +} + +.select2-drop.select2-drop-above .select2-search input { + margin-top: 4px; +} + +.select2-search input.select2-active { + background: #fff url('select2-spinner.gif') no-repeat 100%; + background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); + background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); + background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); + background: url('select2-spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); + background: url('select2-spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%); + background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%); +} + +.select2-container-active .select2-choice, +.select2-container-active .select2-choices { + border: 1px solid #5897fb; + outline: none; + + -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3); + -moz-box-shadow: 0 0 5px rgba(0,0,0,.3); + -o-box-shadow: 0 0 5px rgba(0,0,0,.3); + box-shadow: 0 0 5px rgba(0,0,0,.3); +} + +.select2-dropdown-open .select2-choice { + border: 1px solid #aaa; + border-bottom-color: transparent; + -webkit-box-shadow: 0 1px 0 #fff inset; + -moz-box-shadow: 0 1px 0 #fff inset; + -o-box-shadow: 0 1px 0 #fff inset; + box-shadow: 0 1px 0 #fff inset; + + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; + + -webkit-border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; + + background-color: #eee; + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee)); + background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%); + background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%); + background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); + background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%); +} + +.select2-dropdown-open .select2-choice div { + background: transparent; + border-left: none; + filter: none; +} +.select2-dropdown-open .select2-choice div b { + background-position: -18px 1px; +} + +/* results */ +.select2-results { + max-height: 200px; + padding: 0 0 0 4px; + margin: 4px 4px 4px 0; + position: relative; + overflow-x: hidden; + overflow-y: auto; +} + +.select2-results ul.select2-result-sub { + margin: 0; +} + +.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px } +.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px } +.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px } + +.select2-results li { + list-style: none; + display: list-item; +} + +.select2-results li.select2-result-with-children > .select2-result-label { + font-weight: bold; +} + +.select2-results .select2-result-label { + padding: 3px 7px 4px; + margin: 0; + cursor: pointer; +} + +.select2-results .select2-highlighted { + background: #3875d7; + color: #fff; +} +.select2-results li em { + background: #feffde; + font-style: normal; +} +.select2-results .select2-highlighted em { + background: transparent; +} +.select2-results .select2-no-results, +.select2-results .select2-searching, +.select2-results .select2-selection-limit { + background: #f4f4f4; + display: list-item; +} + +/* +disabled look for already selected choices in the results dropdown +.select2-results .select2-disabled.select2-highlighted { + color: #666; + background: #f4f4f4; + display: list-item; + cursor: default; +} +.select2-results .select2-disabled { + background: #f4f4f4; + display: list-item; + cursor: default; +} +*/ +.select2-results .select2-disabled { + display: none; +} + +.select2-more-results.select2-active { + background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%; +} + +.select2-more-results { + background: #f4f4f4; + display: list-item; +} + +/* disabled styles */ + +.select2-container.select2-container-disabled .select2-choice { + background-color: #f4f4f4; + background-image: none; + border: 1px solid #ddd; + cursor: default; +} + +.select2-container.select2-container-disabled .select2-choice div { + background-color: #f4f4f4; + background-image: none; + border-left: 0; +} + +.select2-container.select2-container-disabled .select2-choice abbr { + display: none +} + + +/* multiselect */ + +.select2-container-multi .select2-choices { + height: auto !important; + height: 1%; + margin: 0; + padding: 0; + position: relative; + + border: 1px solid #aaa; + cursor: text; + overflow: hidden; + + background-color: #fff; + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); + background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%); + background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%); + background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%); + background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%); + background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%); +} + +.select2-locked { + padding: 3px 5px 3px 5px !important; +} + +.select2-container-multi .select2-choices { + min-height: 26px; +} + +.select2-container-multi.select2-container-active .select2-choices { + border: 1px solid #5897fb; + outline: none; + + -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3); + -moz-box-shadow: 0 0 5px rgba(0,0,0,.3); + -o-box-shadow: 0 0 5px rgba(0,0,0,.3); + box-shadow: 0 0 5px rgba(0,0,0,.3); +} +.select2-container-multi .select2-choices li { + float: left; + list-style: none; +} +.select2-container-multi .select2-choices .select2-search-field { + margin: 0; + padding: 0; + white-space: nowrap; +} + +.select2-container-multi .select2-choices .select2-search-field input { + height: 15px; + padding: 5px; + margin: 1px 0; + + font-family: sans-serif; + font-size: 100%; + color: #666; + outline: 0; + border: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -o-box-shadow: none; + box-shadow: none; + background: transparent !important; +} + +.select2-container-multi .select2-choices .select2-search-field input.select2-active { + background: #fff url('select2-spinner.gif') no-repeat 100% !important; +} + +.select2-default { + color: #999 !important; +} + +.select2-container-multi .select2-choices .select2-search-choice { + padding: 3px 5px 3px 18px; + margin: 3px 0 3px 5px; + position: relative; + + line-height: 13px; + color: #333; + cursor: default; + border: 1px solid #aaaaaa; + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05); + -moz-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05); + box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05); + + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + + background-color: #e4e4e4; + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0 ); + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); +} +.select2-container-multi .select2-choices .select2-search-choice span { + cursor: default; +} +.select2-container-multi .select2-choices .select2-search-choice-focus { + background: #d4d4d4; +} + +.select2-search-choice-close { + display: block; + width: 12px; + height: 13px; + position: absolute; + right: 3px; + top: 4px; + + font-size: 1px; + outline: none; + background: url('select2.png') right top no-repeat; +} + +.select2-container-multi .select2-search-choice-close { + left: 3px; +} + +.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover { + background-position: right -11px; +} +.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close { + background-position: right -11px; +} + +/* disabled styles */ +.select2-container-multi.select2-container-disabled .select2-choices{ + background-color: #f4f4f4; + background-image: none; + border: 1px solid #ddd; + cursor: default; +} + +.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice { + padding: 3px 5px 3px 5px; + border: 1px solid #ddd; + background-image: none; + background-color: #f4f4f4; +} + +.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { + display: none; +} +/* end multiselect */ + + +.select2-result-selectable .select2-match, +.select2-result-unselectable .select2-result-selectable .select2-match { + text-decoration: underline; +} +.select2-result-unselectable .select2-match { + text-decoration: none; +} + +.select2-offscreen { + position: absolute; + left: -10000px; +} + +/* Retina-ize icons */ + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) { + .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b { + background-image: url('select2x2.png') !important; + background-repeat: no-repeat !important; + background-size: 60px 40px !important; + } + .select2-search input { + background-position: 100% -21px !important; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.modded.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.modded.js new file mode 100644 index 000000000..9f2a11ebc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.modded.js @@ -0,0 +1,2432 @@ +/* +Copyright 2012 Igor Vaynberg + +Version: @@ver@@ Timestamp: @@timestamp@@ + +This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU +General Public License version 2 (the "GPL License"). You may choose either license to govern your +use of this software only upon the condition that you accept all of the terms of either the Apache +License or the GPL License. + +You may obtain a copy of the Apache License and the GPL License at: + + http://www.apache.org/licenses/LICENSE-2.0 + http://www.gnu.org/licenses/gpl-2.0.html + +Unless required by applicable law or agreed to in writing, software distributed under the +Apache License or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for +the specific language governing permissions and limitations under the Apache License and the GPL License. +*/ + (function ($) { + if(typeof $.fn.each2 == "undefined"){ + $.fn.extend({ + /* + * 4-10 times faster .each replacement + * use it carefully, as it overrides jQuery context of element on each iteration + */ + each2 : function (c) { + var j = $([0]), i = -1, l = this.length; + while ( + ++i < l + && (j.context = j[0] = this[i]) + && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object + ); + return this; + } + }); + } +})(jQuery); + +(function ($, undefined) { + "use strict"; + /*global document, window, jQuery, console */ + + if (window.Select2 !== undefined) { + return; + } + + var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer, + lastMousePosition, $document; + + KEY = { + TAB: 9, + ENTER: 13, + ESC: 27, + SPACE: 32, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + SHIFT: 16, + CTRL: 17, + ALT: 18, + PAGE_UP: 33, + PAGE_DOWN: 34, + HOME: 36, + END: 35, + BACKSPACE: 8, + DELETE: 46, + isArrow: function (k) { + k = k.which ? k.which : k; + switch (k) { + case KEY.LEFT: + case KEY.RIGHT: + case KEY.UP: + case KEY.DOWN: + return true; + } + return false; + }, + isControl: function (e) { + var k = e.which; + switch (k) { + case KEY.SHIFT: + case KEY.CTRL: + case KEY.ALT: + return true; + } + + if (e.metaKey) return true; + + return false; + }, + isFunctionKey: function (k) { + k = k.which ? k.which : k; + return k >= 112 && k <= 123; + } + }; + + $document = $(document); + + nextUid=(function() { var counter=1; return function() { return counter++; }; }()); + + function indexOf(value, array) { + var i = 0, l = array.length, v; + + if (typeof value === "undefined") { + return -1; + } + + if (value.constructor === String) { + for (; i < l; i = i + 1) if (value.localeCompare(array[i]) === 0) return i; + } else { + for (; i < l; i = i + 1) { + v = array[i]; + if (v.constructor === String) { + if (v.localeCompare(value) === 0) return i; + } else { + if (v === value) return i; + } + } + } + return -1; + } + + /** + * Compares equality of a and b taking into account that a and b may be strings, in which case localeCompare is used + * @param a + * @param b + */ + function equal(a, b) { + if (a === b) return true; + if (a === undefined || b === undefined) return false; + if (a === null || b === null) return false; + if (a.constructor === String) return a.localeCompare(b) === 0; + if (b.constructor === String) return b.localeCompare(a) === 0; + return false; + } + + /** + * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty + * strings + * @param string + * @param separator + */ + function splitVal(string, separator) { + var val, i, l; + if (string === null || string.length < 1) return []; + val = string.split(separator); + for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]); + return val; + } + + function getSideBorderPadding(element) { + return element.outerWidth(false) - element.width(); + } + + function installKeyUpChangeEvent(element) { + var key="keyup-change-value"; + element.bind("keydown", function () { + if ($.data(element, key) === undefined) { + $.data(element, key, element.val()); + } + }); + element.bind("keyup", function () { + var val= $.data(element, key); + if (val !== undefined && element.val() !== val) { + $.removeData(element, key); + element.trigger("keyup-change"); + } + }); + } + + $document.bind("mousemove", function (e) { + lastMousePosition = {x: e.pageX, y: e.pageY}; + }); + + /** + * filters mouse events so an event is fired only if the mouse moved. + * + * filters out mouse events that occur when mouse is stationary but + * the elements under the pointer are scrolled. + */ + function installFilteredMouseMove(element) { + element.bind("mousemove", function (e) { + var lastpos = lastMousePosition; + if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) { + $(e.target).trigger("mousemove-filtered", e); + } + }); + } + + /** + * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made + * within the last quietMillis milliseconds. + * + * @param quietMillis number of milliseconds to wait before invoking fn + * @param fn function to be debounced + * @param ctx object to be used as this reference within fn + * @return debounced version of fn + */ + function debounce(quietMillis, fn, ctx) { + ctx = ctx || undefined; + var timeout; + return function () { + var args = arguments; + window.clearTimeout(timeout); + timeout = window.setTimeout(function() { + fn.apply(ctx, args); + }, quietMillis); + }; + } + + /** + * A simple implementation of a thunk + * @param formula function used to lazily initialize the thunk + * @return {Function} + */ + function thunk(formula) { + var evaluated = false, + value; + return function() { + if (evaluated === false) { value = formula(); evaluated = true; } + return value; + }; + }; + + function installDebouncedScroll(threshold, element) { + var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);}); + element.bind("scroll", function (e) { + if (indexOf(e.target, element.get()) >= 0) notify(e); + }); + } + + function killEvent(event) { + event.preventDefault(); + event.stopPropagation(); + } + function killEventImmediately(event) { + event.preventDefault(); + event.stopImmediatePropagation(); + } + + function measureTextWidth(e) { + if (!sizer){ + var style = e[0].currentStyle || window.getComputedStyle(e[0], null); + sizer = $("<div></div>").css({ + position: "absolute", + left: "-10000px", + top: "-10000px", + display: "none", + fontSize: style.fontSize, + fontFamily: style.fontFamily, + fontStyle: style.fontStyle, + fontWeight: style.fontWeight, + letterSpacing: style.letterSpacing, + textTransform: style.textTransform, + whiteSpace: "nowrap" + }); + $("body").append(sizer); + } + sizer.text(e.val()); + return sizer.width(); + } + + function markMatch(text, term, markup) { + var match=text.toUpperCase().indexOf(term.toUpperCase()), + tl=term.length; + + if (match<0) { + markup.push(text); + return; + } + + markup.push(text.substring(0, match)); + markup.push("<span class='select2-match'>"); + markup.push(text.substring(match, match + tl)); + markup.push("</span>"); + markup.push(text.substring(match + tl, text.length)); + } + + /** + * Produces an ajax-based query function + * + * @param options object containing configuration paramters + * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax + * @param options.url url for the data + * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url. + * @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified + * @param options.traditional a boolean flag that should be true if you wish to use the traditional style of param serialization for the ajax request + * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often + * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2. + * The expected format is an object containing the following keys: + * results array of objects that will be used as choices + * more (optional) boolean indicating whether there are more results available + * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true} + */ + function ajax(options) { + var timeout, // current scheduled but not yet executed request + requestSequence = 0, // sequence used to drop out-of-order responses + handler = null, + quietMillis = options.quietMillis || 100; + + return function (query) { + window.clearTimeout(timeout); + timeout = window.setTimeout(function () { + requestSequence += 1; // increment the sequence + var requestNumber = requestSequence, // this request's sequence number + data = options.data, // ajax data function + transport = options.transport || $.ajax, + traditional = options.traditional || false, + type = options.type || 'GET'; // set type of request (GET or POST) + + data = data.call(this, query.term, query.page, query.context); + + if( null !== handler) { handler.abort(); } + + handler = transport.call(null, { + url: options.url, + dataType: options.dataType, + data: data, + type: type, + traditional: traditional, + success: function (data) { + if (requestNumber < requestSequence) { + return; + } + // TODO 3.0 - replace query.page with query so users have access to term, page, etc. + var results = options.results(data, query.page); + query.callback(results); + } + }); + }, quietMillis); + }; + } + + /** + * Produces a query function that works with a local array + * + * @param options object containing configuration parameters. The options parameter can either be an array or an + * object. + * + * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys. + * + * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain + * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text' + * key can either be a String in which case it is expected that each element in the 'data' array has a key with the + * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract + * the text. + */ + function local(options) { + var data = options, // data elements + dataText, + text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search + + if (!$.isArray(data)) { + text = data.text; + // if text is not a function we assume it to be a key name + if (!$.isFunction(text)) { + dataText = data.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available + text = function (item) { return item[dataText]; }; + } + data = data.results; + } + + return function (query) { + var t = query.term, filtered = { results: [] }, process; + if (t === "") { + query.callback({results: data}); + return; + } + + process = function(datum, collection) { + var group, attr; + datum = datum[0]; + if (datum.children) { + group = {}; + for (attr in datum) { + if (datum.hasOwnProperty(attr)) group[attr]=datum[attr]; + } + group.children=[]; + $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); }); + if (group.children.length || query.matcher(t, text(group))) { + collection.push(group); + } + } else { + if (query.matcher(t, text(datum))) { + collection.push(datum); + } + } + }; + + $(data).each2(function(i, datum) { process(datum, filtered.results); }); + query.callback(filtered); + }; + } + + // TODO javadoc + function tags(data) { + // TODO even for a function we should probably return a wrapper that does the same object/string check as + // the function for arrays. otherwise only functions that return objects are supported. + if ($.isFunction(data)) { + return data; + } + + // if not a function we assume it to be an array + + return function (query) { + var t = query.term, filtered = {results: []}; + $(data).each(function () { + var isObject = this.text !== undefined, + text = isObject ? this.text : this; + if (t === "" || query.matcher(t, text)) { + filtered.results.push(isObject ? this : {id: this, text: this}); + } + }); + query.callback(filtered); + }; + } + + /** + * Checks if the formatter function should be used. + * + * Throws an error if it is not a function. Returns true if it should be used, + * false if no formatting should be performed. + * + * @param formatter + */ + function checkFormatter(formatter, formatterName) { + if ($.isFunction(formatter)) return true; + if (!formatter) return false; + throw new Error("formatterName must be a function or a falsy value"); + } + + function evaluate(val) { + return $.isFunction(val) ? val() : val; + } + + function countResults(results) { + var count = 0; + $.each(results, function(i, item) { + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + }); + return count; + } + + /** + * Default tokenizer. This function uses breaks the input on substring match of any string from the + * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those + * two options have to be defined in order for the tokenizer to work. + * + * @param input text user has typed so far or pasted into the search field + * @param selection currently selected choices + * @param selectCallback function(choice) callback tho add the choice to selection + * @param opts select2's opts + * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value + */ + function defaultTokenizer(input, selection, selectCallback, opts) { + var original = input, // store the original so we can compare and know if we need to tell the search to update its text + dupe = false, // check for whether a token we extracted represents a duplicate selected choice + token, // token + index, // position at which the separator was found + i, l, // looping variables + separator; // the matched separator + + if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined; + + while (true) { + index = -1; + + for (i = 0, l = opts.tokenSeparators.length; i < l; i++) { + separator = opts.tokenSeparators[i]; + index = input.indexOf(separator); + if (index >= 0) break; + } + + if (index < 0) break; // did not find any token separator in the input string, bail + + token = input.substring(0, index); + input = input.substring(index + separator.length); + + if (token.length > 0) { + token = opts.createSearchChoice(token, selection); + if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) { + dupe = false; + for (i = 0, l = selection.length; i < l; i++) { + if (equal(opts.id(token), opts.id(selection[i]))) { + dupe = true; break; + } + } + + if (!dupe) selectCallback(token); + } + } + } + + if (original.localeCompare(input) != 0) return input; + } + + /** + * blurs any Select2 container that has focus when an element outside them was clicked or received focus + * + * also takes care of clicks on label tags that point to the source element + */ + $document.ready(function () { + $document.bind("mousedown touchend", function (e) { + var target = $(e.target).closest("div.select2-container").get(0), attr; + if (target) { + $document.find("div.select2-container-active").each(function () { + if (this !== target) $(this).data("select2").blur(); + }); + } else { + target = $(e.target).closest("div.select2-drop").get(0); + $document.find("div.select2-drop-active").each(function () { + if (this !== target) $(this).data("select2").blur(); + }); + } + + target=$(e.target); + attr = target.attr("for"); + if ("LABEL" === e.target.tagName && attr && attr.length > 0) { + attr = attr.replace(/([\[\].])/g,'\\$1'); /* escapes [, ], and . so properly selects the id */ + target = $("#"+attr); + target = target.data("select2"); + if (target !== undefined) { target.focus(); e.preventDefault();} + } + }); + }); + + /** + * Creates a new class + * + * @param superClass + * @param methods + */ + function clazz(SuperClass, methods) { + var constructor = function () {}; + constructor.prototype = new SuperClass; + constructor.prototype.constructor = constructor; + constructor.prototype.parent = SuperClass.prototype; + constructor.prototype = $.extend(constructor.prototype, methods); + return constructor; + } + + AbstractSelect2 = clazz(Object, { + + // abstract + bind: function (func) { + var self = this; + return function () { + func.apply(self, arguments); + }; + }, + + // abstract + init: function (opts) { + var results, search, resultsSelector = ".select2-results"; + + // prepare options + this.opts = opts = this.prepareOpts(opts); + + this.id=opts.id; + + // destroy if called on an existing component + if (opts.element.data("select2") !== undefined && + opts.element.data("select2") !== null) { + this.destroy(); + } + + this.enabled=true; + this.container = this.createContainer(); + + this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid()); + this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1'); + this.container.attr("id", this.containerId); + + // cache the body so future lookups are cheap + this.body = thunk(function() { return opts.element.closest("body"); }); + + if (opts.element.attr("class") !== undefined) { + this.container.addClass(opts.element.attr("class").replace(/validate\[[\S ]+] ?/, '')); + } + + this.container.css(evaluate(opts.containerCss)); + this.container.addClass(evaluate(opts.containerCssClass)); + + // swap container for the element + this.opts.element + .data("select2", this) + .hide() + .before(this.container); + this.container.data("select2", this); + + this.dropdown = this.container.find(".select2-drop"); + this.dropdown.addClass(evaluate(opts.dropdownCssClass)); + this.dropdown.data("select2", this); + + this.results = results = this.container.find(resultsSelector); + this.search = search = this.container.find("input.select2-input"); + + search.attr("tabIndex", this.opts.element.attr("tabIndex")); + + this.resultsPage = 0; + this.context = null; + + // initialize the container + this.initContainer(); + this.initContainerWidth(); + + installFilteredMouseMove(this.results); + this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent)); + + installDebouncedScroll(80, this.results); + this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded)); + + // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel + if ($.fn.mousewheel) { + results.mousewheel(function (e, delta, deltaX, deltaY) { + var top = results.scrollTop(), height; + if (deltaY > 0 && top - deltaY <= 0) { + results.scrollTop(0); + killEvent(e); + } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) { + results.scrollTop(results.get(0).scrollHeight - results.height()); + killEvent(e); + } + }); + } + + installKeyUpChangeEvent(search); + search.bind("keyup-change", this.bind(this.updateResults)); + search.bind("focus", function () { search.addClass("select2-focused"); if (search.val() === " ") search.val(""); }); + search.bind("blur", function () { search.removeClass("select2-focused");}); + + this.dropdown.delegate(resultsSelector, "mouseup", this.bind(function (e) { + if ($(e.target).closest(".select2-result-selectable:not(.select2-disabled)").length > 0) { + this.highlightUnderEvent(e); + this.selectHighlighted(e); + } else { + this.focusSearch(); + } + killEvent(e); + })); + + // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening + // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's + // dom it will trigger the popup close, which is not what we want + this.dropdown.bind("click mouseup mousedown", function (e) { e.stopPropagation(); }); + + if ($.isFunction(this.opts.initSelection)) { + // initialize selection based on the current value of the source element + this.initSelection(); + + // if the user has provided a function that can set selection based on the value of the source element + // we monitor the change event on the element and trigger it, allowing for two way synchronization + this.monitorSource(); + } + + if (opts.element.is(":disabled") || opts.element.is("[readonly='readonly']")) this.disable(); + }, + + // abstract + destroy: function () { + var select2 = this.opts.element.data("select2"); + if (select2 !== undefined) { + select2.container.remove(); + select2.dropdown.remove(); + select2.opts.element + .removeData("select2") + .unbind(".select2") + .show(); + } + }, + + // abstract + prepareOpts: function (opts) { + var element, select, idKey, ajaxUrl; + + element = opts.element; + + if (element.get(0).tagName.toLowerCase() === "select") { + this.select = select = opts.element; + } + + if (select) { + // these options are not allowed when attached to a select because they are picked up off the element itself + $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () { + if (this in opts) { + throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element."); + } + }); + } + + opts = $.extend({}, { + populateResults: function(container, results, query) { + var populate, data, result, children, id=this.opts.id, self=this; + + populate=function(results, container, depth) { + + var i, l, result, selectable, compound, node, label, innerContainer, formatted; + for (i = 0, l = results.length; i < l; i = i + 1) { + + result=results[i]; + selectable=id(result) !== undefined; + compound=result.children && result.children.length > 0; + + node=$("<li></li>"); + node.addClass("select2-results-dept-"+depth); + node.addClass("select2-result"); + node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable"); + if (compound) { node.addClass("select2-result-with-children"); } + node.addClass(self.opts.formatResultCssClass(result)); + + label=$("<div></div>"); + label.addClass("select2-result-label"); + + formatted=opts.formatResult(result, label, query); + if (formatted!==undefined) { + label.html(self.opts.escapeMarkup(formatted)); + } + + node.append(label); + + if (compound) { + + innerContainer=$("<ul></ul>"); + innerContainer.addClass("select2-result-sub"); + populate(result.children, innerContainer, depth+1); + node.append(innerContainer); + } + + node.data("select2-data", result); + container.append(node); + } + }; + + populate(results, container, 0); + } + }, $.fn.select2.defaults, opts); + + if (typeof(opts.id) !== "function") { + idKey = opts.id; + opts.id = function (e) { return e[idKey]; }; + } + + if (select) { + opts.query = this.bind(function (query) { + var data = { results: [], more: false }, + term = query.term, + children, firstChild, process; + + process=function(element, collection) { + var group; + if (element.is("option")) { + if (query.matcher(term, element.text(), element)) { + collection.push({id:element.attr("value"), text:element.text(), element: element.get(), css: element.attr("class")}); + } + } else if (element.is("optgroup")) { + group={text:element.attr("label"), children:[], element: element.get(), css: element.attr("class")}; + element.children().each2(function(i, elm) { process(elm, group.children); }); + if (group.children.length>0) { + collection.push(group); + } + } + }; + + children=element.children(); + + // ignore the placeholder option if there is one + if (this.getPlaceholder() !== undefined && children.length > 0) { + firstChild = children[0]; + if ($(firstChild).text() === "") { + children=children.not(firstChild); + } + } + + children.each2(function(i, elm) { process(elm, data.results); }); + + query.callback(data); + }); + // this is needed because inside val() we construct choices from options and there id is hardcoded + opts.id=function(e) { return e.id; }; + opts.formatResultCssClass = function(data) { return data.css; } + } else { + if (!("query" in opts)) { + if ("ajax" in opts) { + ajaxUrl = opts.element.data("ajax-url"); + if (ajaxUrl && ajaxUrl.length > 0) { + opts.ajax.url = ajaxUrl; + } + opts.query = ajax(opts.ajax); + } else if ("data" in opts) { + opts.query = local(opts.data); + } else if ("tags" in opts) { + opts.query = tags(opts.tags); + if (opts.createSearchChoice === undefined) { + opts.createSearchChoice = function (term) { return {id: term, text: term}; }; + } + opts.initSelection = function (element, callback) { + var data = []; + $(splitVal(element.val(), opts.separator)).each(function () { + var id = this, text = this, tags=opts.tags; + if ($.isFunction(tags)) tags=tags(); + $(tags).each(function() { if (equal(this.id, id)) { text = this.text; return false; } }); + data.push({id: id, text: text}); + }); + + callback(data); + }; + } + } + } + if (typeof(opts.query) !== "function") { + throw "query function not defined for Select2 " + opts.element.attr("id"); + } + + return opts; + }, + + /** + * Monitor the original element for changes and update select2 accordingly + */ + // abstract + monitorSource: function () { + this.opts.element.bind("change.select2", this.bind(function (e) { + if (this.opts.element.data("select2-change-triggered") !== true) { + this.initSelection(); + } + })); + }, + + /** + * Triggers the change event on the source element + */ + // abstract + triggerChange: function (details) { + + details = details || {}; + details= $.extend({}, details, { type: "change", val: this.val() }); + // prevents recursive triggering + this.opts.element.data("select2-change-triggered", true); + this.opts.element.trigger(details); + this.opts.element.data("select2-change-triggered", false); + + // some validation frameworks ignore the change event and listen instead to keyup, click for selects + // so here we trigger the click event manually + this.opts.element.click(); + + // ValidationEngine ignorea the change event and listens instead to blur + // so here we trigger the blur event manually if so desired + if (this.opts.blurOnChange) + this.opts.element.blur(); + }, + + + // abstract + enable: function() { + if (this.enabled) return; + + this.enabled=true; + this.container.removeClass("select2-container-disabled"); + this.opts.element.removeAttr("disabled"); + }, + + // abstract + disable: function() { + if (!this.enabled) return; + + this.close(); + + this.enabled=false; + this.container.addClass("select2-container-disabled"); + this.opts.element.attr("disabled", "disabled"); + }, + + // abstract + opened: function () { + return this.container.hasClass("select2-dropdown-open"); + }, + + // abstract + positionDropdown: function() { + var offset = this.container.offset(), + height = this.container.outerHeight(false), + width = this.container.outerWidth(false), + dropHeight = this.dropdown.outerHeight(false), + viewPortRight = $(window).scrollLeft() + document.documentElement.clientWidth, + viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight, + dropTop = offset.top + height, + dropLeft = offset.left, + enoughRoomBelow = dropTop + dropHeight <= viewportBottom, + enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(), + dropWidth = this.dropdown.outerWidth(false), + enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight, + aboveNow = this.dropdown.hasClass("select2-drop-above"), + bodyOffset, + above, + css; + + // console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow); + // console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove); + + // fix positioning when body has an offset and is not position: static + + if (this.body().css('position') !== 'static') { + bodyOffset = this.body().offset(); + dropTop -= bodyOffset.top; + dropLeft -= bodyOffset.left; + } + + // always prefer the current above/below alignment, unless there is not enough room + + if (aboveNow) { + above = true; + if (!enoughRoomAbove && enoughRoomBelow) above = false; + } else { + above = false; + if (!enoughRoomBelow && enoughRoomAbove) above = true; + } + + if (!enoughRoomOnRight) { + dropLeft = offset.left + width - dropWidth; + } + + if (above) { + dropTop = offset.top - dropHeight; + this.container.addClass("select2-drop-above"); + this.dropdown.addClass("select2-drop-above"); + } + else { + this.container.removeClass("select2-drop-above"); + this.dropdown.removeClass("select2-drop-above"); + } + + css = $.extend({ + top: dropTop, + left: dropLeft, + width: width + }, evaluate(this.opts.dropdownCss)); + + this.dropdown.css(css); + }, + + // abstract + shouldOpen: function() { + var event; + + if (this.opened()) return false; + + event = $.Event("open"); + this.opts.element.trigger(event); + return !event.isDefaultPrevented(); + }, + + // abstract + clearDropdownAlignmentPreference: function() { + // clear the classes used to figure out the preference of where the dropdown should be opened + this.container.removeClass("select2-drop-above"); + this.dropdown.removeClass("select2-drop-above"); + }, + + /** + * Opens the dropdown + * + * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example, + * the dropdown is already open, or if the 'open' event listener on the element called preventDefault(). + */ + // abstract + open: function () { + + if (!this.shouldOpen()) return false; + + window.setTimeout(this.bind(this.opening), 1); + + return true; + }, + + /** + * Performs the opening of the dropdown + */ + // abstract + opening: function() { + var cid = this.containerId, selector = this.containerSelector, + scroll = "scroll." + cid, resize = "resize." + cid; + + this.container.parents().each(function() { + $(this).bind(scroll, function() { + var s2 = $(selector); + if (s2.length == 0) { + $(this).unbind(scroll); + } + s2.select2("close"); + }); + }); + + window.setTimeout(function() { + // this is done inside a timeout because IE will sometimes fire a resize event while opening + // the dropdown and that causes this handler to immediately close it. this way the dropdown + // has a chance to fully open before we start listening to resize events + $(window).bind(resize, function() { + var s2 = $(selector); + if (s2.length == 0) { + $(window).unbind(resize); + } + s2.select2("close"); + }) + }, 10); + + this.clearDropdownAlignmentPreference(); + + if (this.search.val() === " ") { this.search.val(""); } + + this.container.addClass("select2-dropdown-open").addClass("select2-container-active"); + + this.updateResults(true); + + if(this.dropdown[0] !== this.body().children().last()[0]) { + this.dropdown.detach().appendTo(this.body()); + } + + this.dropdown.show(); + + this.positionDropdown(); + this.dropdown.addClass("select2-drop-active"); + + this.ensureHighlightVisible(); + + this.focusSearch(); + }, + + // abstract + close: function () { + if (!this.opened()) return; + + var self = this; + + this.container.parents().each(function() { + $(this).unbind("scroll." + self.containerId); + }); + $(window).unbind("resize." + this.containerId); + + this.clearDropdownAlignmentPreference(); + + this.dropdown.hide(); + this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"); + this.results.empty(); + this.clearSearch(); + + this.opts.element.trigger($.Event("close")); + }, + + // abstract + clearSearch: function () { + + }, + + // abstract + ensureHighlightVisible: function () { + var results = this.results, children, index, child, hb, rb, y, more; + + index = this.highlight(); + + if (index < 0) return; + + if (index == 0) { + + // if the first element is highlighted scroll all the way to the top, + // that way any unselectable headers above it will also be scrolled + // into view + + results.scrollTop(0); + return; + } + + children = results.find(".select2-result-selectable"); + + child = $(children[index]); + + hb = child.offset().top + child.outerHeight(true); + + // if this is the last child lets also make sure select2-more-results is visible + if (index === children.length - 1) { + more = results.find("li.select2-more-results"); + if (more.length > 0) { + hb = more.offset().top + more.outerHeight(true); + } + } + + rb = results.offset().top + results.outerHeight(true); + if (hb > rb) { + results.scrollTop(results.scrollTop() + (hb - rb)); + } + y = child.offset().top - results.offset().top; + + // make sure the top of the element is visible + if (y < 0 && child.css('display') != 'none' ) { + results.scrollTop(results.scrollTop() + y); // y is negative + } + }, + + // abstract + moveHighlight: function (delta) { + var choices = this.results.find(".select2-result-selectable"), + index = this.highlight(); + + while (index > -1 && index < choices.length) { + index += delta; + var choice = $(choices[index]); + if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled")) { + this.highlight(index); + break; + } + } + }, + + // abstract + highlight: function (index) { + var choices = this.results.find(".select2-result-selectable").not(".select2-disabled"); + + if (arguments.length === 0) { + return indexOf(choices.filter(".select2-highlighted")[0], choices.get()); + } + + if (index >= choices.length) index = choices.length - 1; + if (index < 0) index = 0; + + choices.removeClass("select2-highlighted"); + + $(choices[index]).addClass("select2-highlighted"); + this.ensureHighlightVisible(); + + }, + + // abstract + countSelectableResults: function() { + return this.results.find(".select2-result-selectable").not(".select2-disabled").length; + }, + + // abstract + highlightUnderEvent: function (event) { + var el = $(event.target).closest(".select2-result-selectable"); + if (el.length > 0 && !el.is(".select2-highlighted")) { + var choices = this.results.find('.select2-result-selectable'); + this.highlight(choices.index(el)); + } else if (el.length == 0) { + // if we are over an unselectable item remove al highlights + this.results.find(".select2-highlighted").removeClass("select2-highlighted"); + } + }, + + // abstract + loadMoreIfNeeded: function () { + var results = this.results, + more = results.find("li.select2-more-results"), + below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible + offset = -1, // index of first element without data + page = this.resultsPage + 1, + self=this, + term=this.search.val(), + context=this.context; + + if (more.length === 0) return; + below = more.offset().top - results.offset().top - results.height(); + + if (below <= 0) { + more.addClass("select2-active"); + this.opts.query({ + term: term, + page: page, + context: context, + matcher: this.opts.matcher, + callback: this.bind(function (data) { + + // ignore a response if the select2 has been closed before it was received + if (!self.opened()) return; + + + self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context}); + + if (data.more===true) { + more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1)); + window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10); + } else { + more.remove(); + } + self.positionDropdown(); + self.resultsPage = page; + })}); + } + }, + + /** + * Default tokenizer function which does nothing + */ + tokenize: function() { + + }, + + /** + * @param initial whether or not this is the call to this method right after the dropdown has been opened + */ + // abstract + updateResults: function (initial) { + var search = this.search, results = this.results, opts = this.opts, data, self=this, input; + + // if the search is currently hidden we do not alter the results + if (initial !== true && (this.showSearchInput === false || !this.opened())) { + return; + } + + search.addClass("select2-active"); + + function postRender() { + results.scrollTop(0); + search.removeClass("select2-active"); + self.positionDropdown(); + } + + function render(html) { + results.html(self.opts.escapeMarkup(html)); + postRender(); + } + + if (opts.maximumSelectionSize >=1) { + data = this.data(); + if ($.isArray(data) && data.length >= opts.maximumSelectionSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) { + render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(opts.maximumSelectionSize) + "</li>"); + return; + } + } + + if (search.val().length < opts.minimumInputLength) { + if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) { + render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>"); + } else { + render(""); + } + return; + } + else if (opts.formatSearching()) { + render("<li class='select2-searching'>" + opts.formatSearching() + "</li>"); + } + + // give the tokenizer a chance to pre-process the input + input = this.tokenize(); + if (input != undefined && input != null) { + search.val(input); + } + + this.resultsPage = 1; + opts.query({ + term: search.val(), + page: this.resultsPage, + context: null, + matcher: opts.matcher, + callback: this.bind(function (data) { + var def; // default choice + + // ignore a response if the select2 has been closed before it was received + if (!this.opened()) return; + + // save context, if any + this.context = (data.context===undefined) ? null : data.context; + + // create a default choice and prepend it to the list + if (this.opts.createSearchChoice && search.val() !== "") { + def = this.opts.createSearchChoice.call(null, search.val(), data.results); + if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) { + if ($(data.results).filter( + function () { + return equal(self.id(this), self.id(def)); + }).length === 0) { + data.results.unshift(def); + } + } + } + + if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) { + render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>"); + return; + } + + results.empty(); + self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null}); + + if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) { + results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>"); + window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10); + } + + this.postprocessResults(data, initial); + + postRender(); + })}); + }, + + // abstract + cancel: function () { + this.close(); + }, + + // abstract + blur: function () { + this.close(); + this.container.removeClass("select2-container-active"); + this.dropdown.removeClass("select2-drop-active"); + // synonymous to .is(':focus'), which is available in jquery >= 1.6 + if (this.search[0] === document.activeElement) { this.search.blur(); } + this.clearSearch(); + this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"); + this.opts.element.triggerHandler("blur"); + }, + + // abstract + focusSearch: function () { + // need to do it here as well as in timeout so it works in IE + this.search.show(); + this.search.focus(); + + /* we do this in a timeout so that current event processing can complete before this code is executed. + this makes sure the search field is focussed even if the current event would blur it */ + window.setTimeout(this.bind(function () { + // reset the value so IE places the cursor at the end of the input box + this.search.show(); + this.search.focus(); + this.search.val(this.search.val()); + }), 10); + }, + + // abstract + selectHighlighted: function () { + var index=this.highlight(), + highlighted=this.results.find(".select2-highlighted").not(".select2-disabled"), + data = highlighted.closest('.select2-result-selectable').data("select2-data"); + if (data) { + highlighted.addClass("select2-disabled"); + this.highlight(index); + this.onSelect(data); + } + }, + + // abstract + getPlaceholder: function () { + return this.opts.element.attr("placeholder") || + this.opts.element.attr("data-placeholder") || // jquery 1.4 compat + this.opts.element.data("placeholder") || + this.opts.placeholder; + }, + + /** + * Get the desired width for the container element. This is + * derived first from option `width` passed to select2, then + * the inline 'style' on the original element, and finally + * falls back to the jQuery calculated element width. + */ + // abstract + initContainerWidth: function () { + function resolveContainerWidth() { + var style, attrs, matches, i, l; + + if (this.opts.width === "off") { + return null; + } else if (this.opts.width === "element"){ + return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px'; + } else if (this.opts.width === "copy" || this.opts.width === "resolve") { + // check if there is inline style on the element that contains width + style = this.opts.element.attr('style'); + if (style !== undefined) { + attrs = style.split(';'); + for (i = 0, l = attrs.length; i < l; i = i + 1) { + matches = attrs[i].replace(/\s/g, '') + .match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/); + if (matches !== null && matches.length >= 1) + return matches[1]; + } + } + + if (this.opts.width === "resolve") { + // next check if css('width') can resolve a width that is percent based, this is sometimes possible + // when attached to input type=hidden or elements hidden via css + style = this.opts.element.css('width'); + if (style.indexOf("%") > 0) return style; + + // finally, fallback on the calculated width of the element + return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px'); + } + + return null; + } else if ($.isFunction(this.opts.width)) { + return this.opts.width(); + } else { + return this.opts.width; + } + }; + + var width = resolveContainerWidth.call(this); + if (width !== null) { + this.container.attr("style", "width: "+width); + } + } + }); + + SingleSelect2 = clazz(AbstractSelect2, { + + // single + + createContainer: function () { + var container = $("<div></div>", { + "class": "select2-container" + }).html([ + " <a href='javascript:void(0)' onclick='return false;' class='select2-choice'>", + " <span></span><abbr class='select2-search-choice-close' style='display:none;'></abbr>", + " <div><b></b></div>" , + "</a>", + " <div class='select2-drop select2-offscreen'>" , + " <div class='select2-search'>" , + " <input type='text' autocomplete='off' class='select2-input'/>" , + " </div>" , + " <ul class='select2-results'>" , + " </ul>" , + "</div>"].join("")); + return container; + }, + + // single + opening: function () { + this.search.show(); + this.parent.opening.apply(this, arguments); + this.dropdown.removeClass("select2-offscreen"); + }, + + // single + close: function () { + if (!this.opened()) return; + this.parent.close.apply(this, arguments); + this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show(); + }, + + // single + focus: function () { + this.close(); + this.selection.focus(); + }, + + // single + isFocused: function () { + return this.selection[0] === document.activeElement; + }, + + // single + cancel: function () { + this.parent.cancel.apply(this, arguments); + this.selection.focus(); + }, + + // single + initContainer: function () { + + var selection, + container = this.container, + dropdown = this.dropdown, + clickingInside = false; + + this.selection = selection = container.find(".select2-choice"); + + this.search.bind("keydown", this.bind(function (e) { + if (!this.enabled) return; + + if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) { + // prevent the page from scrolling + killEvent(e); + return; + } + + if (this.opened()) { + switch (e.which) { + case KEY.UP: + case KEY.DOWN: + this.moveHighlight((e.which === KEY.UP) ? -1 : 1); + killEvent(e); + return; + case KEY.TAB: + case KEY.ENTER: + this.selectHighlighted(); + killEvent(e); + return; + case KEY.ESC: + this.cancel(e); + killEvent(e); + return; + } + } else { + + if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) { + return; + } + + if (this.opts.openOnEnter === false && e.which === KEY.ENTER) { + return; + } + + this.open(); + + if (e.which === KEY.ENTER) { + // do not propagate the event otherwise we open, and propagate enter which closes + return; + } + } + })); + + this.search.bind("focus", this.bind(function() { + this.selection.attr("tabIndex", "-1"); + })); + this.search.bind("blur", this.bind(function() { + if (!this.opened()) this.container.removeClass("select2-container-active"); + window.setTimeout(this.bind(function() { + // restore original tab index + var ti=this.opts.element.attr("tabIndex"); + if (ti) { + this.selection.attr("tabIndex", ti); + } else { + this.selection.removeAttr("tabIndex"); + } + }), 10); + })); + + selection.delegate("abbr", "mousedown", this.bind(function (e) { + if (!this.enabled) return; + this.clear(); + killEventImmediately(e); + this.close(); + this.triggerChange(); + this.selection.focus(); + })); + + selection.bind("mousedown", this.bind(function (e) { + clickingInside = true; + + if (this.opened()) { + this.close(); + this.selection.focus(); + } else if (this.enabled) { + this.open(); + } + + clickingInside = false; + })); + + dropdown.bind("mousedown", this.bind(function() { this.search.focus(); })); + + selection.bind("focus", this.bind(function() { + this.container.addClass("select2-container-active"); + // hide the search so the tab key does not focus on it + this.search.attr("tabIndex", "-1"); + })); + + selection.bind("blur", this.bind(function() { + if (!this.opened()) { + this.container.removeClass("select2-container-active"); + } + window.setTimeout(this.bind(function() { this.search.attr("tabIndex", this.opts.element.attr("tabIndex")); }), 10); + })); + + selection.bind("keydown", this.bind(function(e) { + if (!this.enabled) return; + + if (e.which == KEY.DOWN || e.which == KEY.UP + || (e.which == KEY.ENTER && this.opts.openOnEnter)) { + this.open(); + killEvent(e); + return; + } + + if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) { + if (this.opts.allowClear) { + this.clear(); + } + killEvent(e); + return; + } + })); + selection.bind("keypress", this.bind(function(e) { + var key = String.fromCharCode(e.which); + this.search.val(key); + this.open(); + })); + + this.setPlaceholder(); + + this.search.bind("focus", this.bind(function() { + this.container.addClass("select2-container-active"); + })); + }, + + // single + clear: function() { + this.opts.element.val(""); + this.selection.find("span").empty(); + this.selection.removeData("select2-data"); + this.setPlaceholder(); + }, + + /** + * Sets selection based on source element's value + */ + // single + initSelection: function () { + var selected; + if (this.opts.element.val() === "" && this.opts.element.text() === "") { + this.close(); + this.setPlaceholder(); + } else { + var self = this; + this.opts.initSelection.call(null, this.opts.element, function(selected){ + if (selected !== undefined && selected !== null) { + self.updateSelection(selected); + self.close(); + self.setPlaceholder(); + } + }); + } + }, + + // single + prepareOpts: function () { + var opts = this.parent.prepareOpts.apply(this, arguments); + + if (opts.element.get(0).tagName.toLowerCase() === "select") { + // install the selection initializer + opts.initSelection = function (element, callback) { + var selected = element.find("option[selected]"); + // a single select box always has a value, no need to null check 'selected' + if ($.isFunction(callback)) + callback({id: selected.attr("value"), text: selected.text(), element:selected}); + }; + } + + return opts; + }, + + // single + setPlaceholder: function () { + var placeholder = this.getPlaceholder(); + + if (this.opts.element.val() === "" && placeholder !== undefined) { + + // check for a first blank option if attached to a select + if (this.select && this.select.find("option:first").text() !== "") return; + + this.selection.find("span").html(this.opts.escapeMarkup(placeholder)); + + this.selection.addClass("select2-default"); + + this.selection.find("abbr").hide(); + } + }, + + // single + postprocessResults: function (data, initial) { + var selected = 0, self = this, showSearchInput = true; + + // find the selected element in the result list + + this.results.find(".select2-result-selectable").each2(function (i, elm) { + if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) { + selected = i; + return false; + } + }); + + // and highlight it + + this.highlight(selected); + + // hide the search box if this is the first we got the results and there are a few of them + + if (initial === true) { + showSearchInput = this.showSearchInput = countResults(data.results) >= this.opts.minimumResultsForSearch; + this.dropdown.find(".select2-search")[showSearchInput ? "removeClass" : "addClass"]("select2-search-hidden"); + + //add "select2-with-searchbox" to the container if search box is shown + $(this.dropdown, this.container)[showSearchInput ? "addClass" : "removeClass"]("select2-with-searchbox"); + } + + }, + + // single + onSelect: function (data) { + var old = this.opts.element.val(); + + this.opts.element.val(this.id(data)); + this.updateSelection(data); + this.close(); + this.selection.focus(); + + if (!equal(old, this.id(data))) { this.triggerChange(); } + }, + + // single + updateSelection: function (data) { + + var container=this.selection.find("span"), formatted; + + this.selection.data("select2-data", data); + + container.empty(); + formatted=this.opts.formatSelection(data, container); + if (formatted !== undefined) { + container.append(this.opts.escapeMarkup(formatted)); + } + + this.selection.removeClass("select2-default"); + + if (this.opts.allowClear && this.getPlaceholder() !== undefined) { + this.selection.find("abbr").show(); + } + }, + + // single + val: function () { + var val, data = null, self = this; + + if (arguments.length === 0) { + return this.opts.element.val(); + } + + val = arguments[0]; + + if (this.select) { + this.select + .val(val) + .find("option[selected]").each2(function (i, elm) { + data = {id: elm.attr("value"), text: elm.text()}; + return false; + }); + this.updateSelection(data); + this.setPlaceholder(); + } else { + if (this.opts.initSelection === undefined) { + throw new Error("cannot call val() if initSelection() is not defined"); + } + // val is an id. !val is true for [undefined,null,''] + if (!val) { + this.clear(); + return; + } + this.opts.element.val(val); + this.opts.initSelection(this.opts.element, function(data){ + self.opts.element.val(!data ? "" : self.id(data)); + self.updateSelection(data); + self.setPlaceholder(); + }); + } + }, + + // single + clearSearch: function () { + this.search.val(""); + }, + + // single + data: function(value) { + var data; + + if (arguments.length === 0) { + data = this.selection.data("select2-data"); + if (data == undefined) data = null; + return data; + } else { + if (!value || value === "") { + this.clear(); + } else { + this.opts.element.val(!value ? "" : this.id(value)); + this.updateSelection(value); + } + } + } + }); + + MultiSelect2 = clazz(AbstractSelect2, { + + // multi + createContainer: function () { + var container = $("<div></div>", { + "class": "select2-container select2-container-multi" + }).html([ + " <ul class='select2-choices'>", + //"<li class='select2-search-choice'><span>California</span><a href="javascript:void(0)" class="select2-search-choice-close"></a></li>" , + " <li class='select2-search-field'>" , + " <input type='text' autocomplete='off' class='select2-input'>" , + " </li>" , + "</ul>" , + "<div class='select2-drop select2-drop-multi' style='display:none;'>" , + " <ul class='select2-results'>" , + " </ul>" , + "</div>"].join("")); + return container; + }, + + // multi + prepareOpts: function () { + var opts = this.parent.prepareOpts.apply(this, arguments); + + // TODO validate placeholder is a string if specified + + if (opts.element.get(0).tagName.toLowerCase() === "select") { + // install sthe selection initializer + opts.initSelection = function (element,callback) { + + var data = []; + element.find("option[selected]").each2(function (i, elm) { + data.push({id: elm.attr("value"), text: elm.text(), element: elm}); + }); + + if ($.isFunction(callback)) + callback(data); + }; + } + + return opts; + }, + + // multi + initContainer: function () { + + var selector = ".select2-choices", selection; + + this.searchContainer = this.container.find(".select2-search-field"); + this.selection = selection = this.container.find(selector); + + this.search.bind("keydown", this.bind(function (e) { + if (!this.enabled) return; + + if (e.which === KEY.BACKSPACE && this.search.val() === "") { + this.close(); + + var choices, + selected = selection.find(".select2-search-choice-focus"); + if (selected.length > 0) { + this.unselect(selected.first()); + this.search.width(10); + killEvent(e); + return; + } + + choices = selection.find(".select2-search-choice:not(.select2-locked)"); + if (choices.length > 0) { + choices.last().addClass("select2-search-choice-focus"); + } + } else { + selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"); + } + + if (this.opened()) { + switch (e.which) { + case KEY.UP: + case KEY.DOWN: + this.moveHighlight((e.which === KEY.UP) ? -1 : 1); + killEvent(e); + return; + case KEY.ENTER: + case KEY.TAB: + this.selectHighlighted(); + killEvent(e); + return; + case KEY.ESC: + this.cancel(e); + killEvent(e); + return; + } + } + + if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) + || e.which === KEY.BACKSPACE || e.which === KEY.ESC) { + return; + } + + if (this.opts.openOnEnter === false && e.which === KEY.ENTER) { + return; + } + + this.open(); + + if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) { + // prevent the page from scrolling + killEvent(e); + } + })); + + this.search.bind("keyup", this.bind(this.resizeSearch)); + + this.search.bind("blur", this.bind(function(e) { + this.container.removeClass("select2-container-active"); + this.search.removeClass("select2-focused"); + this.clearSearch(); + e.stopImmediatePropagation(); + })); + + this.container.delegate(selector, "mousedown", this.bind(function (e) { + if (!this.enabled) return; + if ($(e.target).closest(".select2-search-choice").length > 0) { + // clicked inside a select2 search choice, do not open + return; + } + this.clearPlaceholder(); + this.open(); + this.focusSearch(); + e.preventDefault(); + })); + + this.container.delegate(selector, "focus", this.bind(function () { + if (!this.enabled) return; + this.container.addClass("select2-container-active"); + this.dropdown.addClass("select2-drop-active"); + this.clearPlaceholder(); + })); + + // set the placeholder if necessary + this.clearSearch(); + }, + + // multi + enable: function() { + if (this.enabled) return; + + this.parent.enable.apply(this, arguments); + + this.search.removeAttr("disabled"); + }, + + // multi + disable: function() { + if (!this.enabled) return; + + this.parent.disable.apply(this, arguments); + + this.search.attr("disabled", true); + }, + + // multi + initSelection: function () { + var data; + if (this.opts.element.val() === "" && this.opts.element.text() === "") { + this.updateSelection([]); + this.close(); + // set the placeholder if necessary + this.clearSearch(); + } + if (this.select || this.opts.element.val() !== "") { + var self = this; + this.opts.initSelection.call(null, this.opts.element, function(data){ + if (data !== undefined && data !== null) { + self.updateSelection(data); + self.close(); + // set the placeholder if necessary + self.clearSearch(); + } + }); + } + }, + + // multi + clearSearch: function () { + var placeholder = this.getPlaceholder(); + + if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) { + this.search.val(placeholder).addClass("select2-default"); + // stretch the search box to full width of the container so as much of the placeholder is visible as possible + this.resizeSearch(); + } else { + // we set this to " " instead of "" and later clear it on focus() because there is a firefox bug + // that does not properly render the caret when the field starts out blank + this.search.val(" ").width(10); + } + }, + + // multi + clearPlaceholder: function () { + if (this.search.hasClass("select2-default")) { + this.search.val("").removeClass("select2-default"); + } else { + // work around for the space character we set to avoid firefox caret bug + if (this.search.val() === " ") this.search.val(""); + } + }, + + // multi + opening: function () { + this.parent.opening.apply(this, arguments); + + this.clearPlaceholder(); + this.resizeSearch(); + this.focusSearch(); + }, + + // multi + close: function () { + if (!this.opened()) return; + this.parent.close.apply(this, arguments); + }, + + // multi + focus: function () { + this.close(); + this.search.focus(); + }, + + // multi + isFocused: function () { + return this.search.hasClass("select2-focused"); + }, + + // multi + updateSelection: function (data) { + var ids = [], filtered = [], self = this; + + // filter out duplicates + $(data).each(function () { + if (indexOf(self.id(this), ids) < 0) { + ids.push(self.id(this)); + filtered.push(this); + } + }); + data = filtered; + + this.selection.find(".select2-search-choice").remove(); + $(data).each(function () { + self.addSelectedChoice(this); + }); + self.postprocessResults(); + }, + + tokenize: function() { + var input = this.search.val(); + input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts); + if (input != null && input != undefined) { + this.search.val(input); + if (input.length > 0) { + this.open(); + } + } + + }, + + // multi + onSelect: function (data) { + this.addSelectedChoice(data); + if (this.select || !this.opts.closeOnSelect) this.postprocessResults(); + + if (this.opts.closeOnSelect) { + this.close(); + this.search.width(10); + } else { + if (this.countSelectableResults()>0) { + this.search.width(10); + this.resizeSearch(); + this.positionDropdown(); + } else { + // if nothing left to select close + this.close(); + } + } + + // since its not possible to select an element that has already been + // added we do not need to check if this is a new element before firing change + this.triggerChange({ added: data }); + + this.focusSearch(); + }, + + // multi + cancel: function () { + this.close(); + this.focusSearch(); + }, + + addSelectedChoice: function (data) { + var enableChoice = !data.locked, + enabledItem = $( + "<li class='select2-search-choice'>" + + " <div></div>" + + " <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" + + "</li>"), + disabledItem = $( + "<li class='select2-search-choice select2-locked'>" + + "<div></div>" + + "</li>"); + var choice = enableChoice ? enabledItem : disabledItem, + id = this.id(data), + val = this.getVal(), + formatted; + + formatted=this.opts.formatSelection(data, choice.find("div")); + if (formatted != undefined) { + choice.find("div").replaceWith("<div>"+this.opts.escapeMarkup(formatted)+"</div>"); + } + + if(enableChoice){ + choice.find(".select2-search-choice-close") + .bind("mousedown", killEvent) + .bind("click dblclick", this.bind(function (e) { + if (!this.enabled) return; + + $(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){ + this.unselect($(e.target)); + this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"); + this.close(); + this.focusSearch(); + })).dequeue(); + killEvent(e); + })).bind("focus", this.bind(function () { + if (!this.enabled) return; + this.container.addClass("select2-container-active"); + this.dropdown.addClass("select2-drop-active"); + })); + } + + choice.data("select2-data", data); + choice.insertBefore(this.searchContainer); + + val.push(id); + this.setVal(val); + }, + + // multi + unselect: function (selected) { + var val = this.getVal(), + data, + index; + + selected = selected.closest(".select2-search-choice"); + + if (selected.length === 0) { + throw "Invalid argument: " + selected + ". Must be .select2-search-choice"; + } + + data = selected.data("select2-data"); + + index = indexOf(this.id(data), val); + + if (index >= 0) { + val.splice(index, 1); + this.setVal(val); + if (this.select) this.postprocessResults(); + } + selected.remove(); + this.triggerChange({ removed: data }); + }, + + // multi + postprocessResults: function () { + var val = this.getVal(), + choices = this.results.find(".select2-result-selectable"), + compound = this.results.find(".select2-result-with-children"), + self = this; + + choices.each2(function (i, choice) { + var id = self.id(choice.data("select2-data")); + if (indexOf(id, val) >= 0) { + choice.addClass("select2-disabled").removeClass("select2-result-selectable"); + } else { + choice.removeClass("select2-disabled").addClass("select2-result-selectable"); + } + }); + + compound.each2(function(i, e) { + if (!e.is('.select2-result-selectable') && e.find(".select2-result-selectable").length==0) { // FIX FOR HIRECHAL DATA + e.addClass("select2-disabled"); + } else { + e.removeClass("select2-disabled"); + } + }); + + if (this.highlight() == -1){ + choices.each2(function (i, choice) { + if (!choice.hasClass("select2-disabled") && choice.hasClass("select2-result-selectable")) { + self.highlight(0); + return false; + } + }); + } + + }, + + // multi + resizeSearch: function () { + + var minimumWidth, left, maxWidth, containerLeft, searchWidth, + sideBorderPadding = getSideBorderPadding(this.search); + + minimumWidth = measureTextWidth(this.search) + 10; + + left = this.search.offset().left; + + maxWidth = this.selection.width(); + containerLeft = this.selection.offset().left; + + searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding; + if (searchWidth < minimumWidth) { + searchWidth = maxWidth - sideBorderPadding; + } + + if (searchWidth < 40) { + searchWidth = maxWidth - sideBorderPadding; + } + this.search.width(searchWidth); + }, + + // multi + getVal: function () { + var val; + if (this.select) { + val = this.select.val(); + return val === null ? [] : val; + } else { + val = this.opts.element.val(); + return splitVal(val, this.opts.separator); + } + }, + + // multi + setVal: function (val) { + var unique; + if (this.select) { + this.select.val(val); + } else { + unique = []; + // filter out duplicates + $(val).each(function () { + if (indexOf(this, unique) < 0) unique.push(this); + }); + this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator)); + } + }, + + // multi + val: function () { + var val, data = [], self=this; + + if (arguments.length === 0) { + return this.getVal(); + } + + val = arguments[0]; + + if (!val) { + this.opts.element.val(""); + this.updateSelection([]); + this.clearSearch(); + return; + } + + // val is a list of ids + this.setVal(val); + + if (this.select) { + this.select.find("option[selected]").each(function () { + data.push({id: $(this).attr("value"), text: $(this).text()}); + }); + this.updateSelection(data); + } else { + if (this.opts.initSelection === undefined) { + throw new Error("val() cannot be called if initSelection() is not defined") + } + + this.opts.initSelection(this.opts.element, function(data){ + var ids=$(data).map(self.id); + self.setVal(ids); + self.updateSelection(data); + self.clearSearch(); + }); + } + this.clearSearch(); + }, + + // multi + onSortStart: function() { + if (this.select) { + throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead."); + } + + // collapse search field into 0 width so its container can be collapsed as well + this.search.width(0); + // hide the container + this.searchContainer.hide(); + }, + + // multi + onSortEnd:function() { + + var val=[], self=this; + + // show search and move it to the end of the list + this.searchContainer.show(); + // make sure the search container is the last item in the list + this.searchContainer.appendTo(this.searchContainer.parent()); + // since we collapsed the width in dragStarted, we resize it here + this.resizeSearch(); + + // update selection + + this.selection.find(".select2-search-choice").each(function() { + val.push(self.opts.id($(this).data("select2-data"))); + }); + this.setVal(val); + this.triggerChange(); + }, + + // multi + data: function(values) { + var self=this, ids; + if (arguments.length === 0) { + return this.selection + .find(".select2-search-choice") + .map(function() { return $(this).data("select2-data"); }) + .get(); + } else { + if (!values) { values = []; } + ids = $.map(values, function(e) { return self.opts.id(e)}); + this.setVal(ids); + this.updateSelection(values); + this.clearSearch(); + } + } + }); + + $.fn.select2 = function () { + + var args = Array.prototype.slice.call(arguments, 0), + opts, + select2, + value, multiple, allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "onSortStart", "onSortEnd", "enable", "disable", "positionDropdown", "data"]; + + this.each(function () { + if (args.length === 0 || typeof(args[0]) === "object") { + opts = args.length === 0 ? {} : $.extend({}, args[0]); + opts.element = $(this); + + if (opts.element.get(0).tagName.toLowerCase() === "select") { + multiple = opts.element.attr("multiple"); + } else { + multiple = opts.multiple || false; + if ("tags" in opts) {opts.multiple = multiple = true;} + } + + select2 = multiple ? new MultiSelect2() : new SingleSelect2(); + select2.init(opts); + } else if (typeof(args[0]) === "string") { + + if (indexOf(args[0], allowedMethods) < 0) { + throw "Unknown method: " + args[0]; + } + + value = undefined; + select2 = $(this).data("select2"); + if (select2 === undefined) return; + if (args[0] === "container") { + value=select2.container; + } else { + value = select2[args[0]].apply(select2, args.slice(1)); + } + if (value !== undefined) {return false;} + } else { + throw "Invalid arguments to select2 plugin: " + args; + } + }); + return (value === undefined) ? this : value; + }; + + // plugin defaults, accessible to users + $.fn.select2.defaults = { + width: "copy", + closeOnSelect: true, + openOnEnter: true, + containerCss: {}, + dropdownCss: {}, + containerCssClass: "", + dropdownCssClass: "", + formatResult: function(result, container, query) { + var markup=[]; + markMatch(result.text, query.term, markup); + return markup.join(""); + }, + formatSelection: function (data, container) { + return data ? data.text : undefined; + }, + formatResultCssClass: function(data) {return undefined;}, + formatNoMatches: function () { return "No matches found"; }, + formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1? "" : "s"); }, + formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); }, + formatLoadMore: function (pageNumber) { return "Loading more results..."; }, + formatSearching: function () { return "Searching..."; }, + minimumResultsForSearch: 0, + minimumInputLength: 0, + maximumSelectionSize: 0, + id: function (e) { return e.id; }, + matcher: function(term, text) { + return text.toUpperCase().indexOf(term.toUpperCase()) >= 0; + }, + separator: ",", + tokenSeparators: [], + tokenizer: defaultTokenizer, + escapeMarkup: function (markup) { + if (markup && typeof(markup) === "string") { + return markup.replace(/&/g, "&"); + } + return markup; + }, + blurOnChange: false + }; + + // exports + window.Select2 = { + query: { + ajax: ajax, + local: local, + tags: tags + }, util: { + debounce: debounce, + markMatch: markMatch + }, "class": { + "abstract": AbstractSelect2, + "single": SingleSelect2, + "multi": MultiSelect2 + } + }; + +}(jQuery)); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2.png new file mode 100644 index 0000000000000000000000000000000000000000..1d804ffb99699b9e030f1010314de0970b5a000d GIT binary patch literal 613 zcmeAS@N?(olHy`uVBq!ia0y~yV6b6eV9?-TV_;xdw0q`%1_mY_PZ!6Kid%1Qp7$0> zlsW!!D~DH4>ovWkSS^i{9ejdiD^srVF0v8%yFfmG<u7xaVi0@b_K+7B7J9HKbL?>! z5v+V0bYuO}?kTN}9wi1oGwk-ZzJF-BLnl}B_VvmKr891}*50!|e}-?frsrudp*=dy z|BnZ1h`f6ou|f8sT-Xk7wO2wd{uzhdL=<_ddGd}`b4;Gmpz~|Nb=BDZ>k}m1le-?8 zR&d)nJTu<5n@4R8>*Rw*a@^Ct&s61q=6v~tPSOWg4&fUOr3Wo-L(FEF&po0!hhvWG zu0x!>k3TBOKjpq5n3I33GWt?#^Ll5Fy@zLUscqukui&zBsr=LC+(pV0W*$Drwf|?} zi9JVGW%1r?k>p?&Jyzzx!5fmg!FPxJ{r`{d>}|8&A^YO@b$83zXRjr3EN`xDH|#hw zpJn~=eIZl%7g;GB$#CXQQ?M!dZtWAoJkN2)QGSl|7vFsH)9zX%^(f9^S;y79eBI95 z{rVGTx}8fkNOb>T9C56_>FM3KhCeh~rmr~c)#LQy<E|yq7X@<C3l7|zq-Q_rfr<sE zU(@P`6VFANoICyev+26#&NqidQsNfgO*Kd?SL}Igl;`+t$LfTpB7u2IvTyG9=Ff23 zyZnLUksG@XWQQv}v0?2`xTY7hw6AXW@&|Ps?Orx)eH*U_7YMg#Zn?S7s>JEXi;r5h zd`7M{tv)@{a`o-sA28la;0eDN{>pH}^LqYj#bV*D>zZ|UNf!%5-DQvdB7Ee=wtx@$ ZHP3713OV-QWME)m@O1TaS?83{1OOp#7GD4W literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2x2.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/static/select2/select2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..4bdd5c961d452c49dfa0789c2c7ffb82c238fc24 GIT binary patch literal 845 zcmeAS@N?(olHy`uVBq!ia0y~yV5neVU<lw~V_;yoG<#zw0|T>&r;B4q#jUq<H|7aD z3OFb`3UYQiFJYBct$)ZA6L433$)a!K3f-rK6ap0;OQ)3lWBK2>-sKR7Hmh!4%nX(7 zJxhB{qVA@>Z?VXGQ+`Q%Qmp2uy>H%}dGoaB(VS-HXD{*@nivl@BxIaCYdZVvDO>f4 z-sc@R$ZoNC&Z%mC&T)g_mK_~WUdXWA7G9&dHHJl6Rk3jCel?fd{+nXBCh1f+?e@^q zoZKTAx4q@*RGwh=%}uiAQ*9+qENZlpc#%@7bgg0jyG)5i;<XH_uIubd<aml_T~Vr8 z!+L$v*Ls0H0rvHRJjHT%oIb2*eh_%xG+A*+1Jl8~-`gv>cNWjQm2Pob>0+vG3P)c1 zz2|0zJL`1bM}7z?5M0J#R^?opG*!X9fcuLmcW3RpN~?`t8ypJE4{mJ9zOwj%!bYzk zg&ozAM*PC7|FM+o-`2T$@bSkTB8y5l%=_%m^19{p<lypurcrY~w@i|Lc0^UaHoG7r zqfqeVMoSqp2@$wYMSt2oKj_xc{?NkaVxmuh_(_||sl6X|sp@<VQPq|>_~xL481I#X z4(i-i-xqOSWSpbMn17Rzg&7>64j(QSe=%n`*pT30pdcZ@!y)(Kx3f{AQb?0<*3nD- zsagNzSfnde6EA*n|6JN2T*t}U#Jk|hJnmA3uTeWb#h7>4xqsMjQ9FG7jr)hnA1?h6 zQK7O&DD05l4_6HVn}k2}b_X8XcBuN{mc;rxjhauzS?AqO2-w6N6jsev-{ZaK%A39q zjypoME1MoX<ceGM_uK3O|DQdccA|Py9&jCGR=rWJek$4PQ})~n#fk?_d)KJTve=8S z6Ug!Y5X>UHD4*p#$3-@ds7djyzjdF?;}rM$AawAs-sF<z$BPThCpy+I^VxL$#R}VK z{SRv#-!VVz-Vj<;?zC)~V#R{BUU%#Eh}3c9x1=B9ez^8S@cJ0n&IImu-iMCPe>NO6 z4N$sqtuS#d$I*95lLT{~AE>{nu;Wwm%z$Gm%0E8*UmM$*@VV*oB*C26f~ca_gv(%d sOo4{v!Ec^lS8A(PbR{@^F#N!7sHTw{zHH-d1_lNOPgg&ebxsLQ0RItrLI3~& literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/accordion_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/accordion_tab.php new file mode 100644 index 000000000..3c3431423 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/accordion_tab.php @@ -0,0 +1,4 @@ +<h3 class="accordion_tab" id="<?php echo esc_attr($id) ?>"><a href="#"><?php echo_h($title) ?></a></h3> +<div id="<?php echo esc_attr($id) ?>_content"> + <?php echo $content ?> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_errors.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_errors.php new file mode 100644 index 000000000..c4b323744 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_errors.php @@ -0,0 +1,10 @@ +<div class="entity_errors"> + <p>Please correct the following:</p> + <ul> + <?php foreach($entity->get_errors() as $property => $errors): ?> + <?php foreach ($errors as $error): ?> + <li><?php echo_h($error) ?></li> + <?php endforeach ?> + <?php endforeach ?> + </ul> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_saved.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_saved.php new file mode 100644 index 000000000..4f26e34d2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/entity_saved.php @@ -0,0 +1,3 @@ +<div class='success updated'> + <p><?php echo_h($message) ?> saved successfully</p> +</div> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php new file mode 100644 index 000000000..2d11be220 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_color.php @@ -0,0 +1,17 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <input type='text' + id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>' + name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + class='<?php print esc_attr("{$display_type_name}_{$name}"); ?> nextgen_settings_field_colorpicker' + value='<?php print esc_attr($value); ?>' + data-default-color='<?php print esc_attr($value); ?>'/> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_number.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_number.php new file mode 100644 index 000000000..e1bab0484 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_number.php @@ -0,0 +1,20 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <input type='number' + step='any' + id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>' + name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + class='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + <?php if (!empty($placeholder)) { ?>placeholder='<?php print esc_attr($placeholder); ?>'<?php } ?> + <?php if (!empty($min) || $min === 0) { ?>min='<?php print esc_attr($min); ?>'<?php } ?> + <?php if (!empty($max) || $max === 0) { ?>max='<?php print esc_attr($max); ?>'<?php } ?> + value='<?php print esc_attr($value); ?>'/> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php new file mode 100644 index 000000000..a82936254 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_radio.php @@ -0,0 +1,26 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <input type="radio" + id="<?php print esc_attr($display_type_name . '_' . $name); ?>" + name="<?php print esc_attr($display_type_name . '[' . $name . ']'); ?>" + class="<?php print esc_attr($display_type_name . '_' . $name); ?>" + value="1" + <?php checked(True, !empty($value)); ?>/> + <label for="<?php print esc_attr($display_type_name . '_' . $name); ?>"><?php _e('Yes'); ?></label> + + <input type="radio" + id="<?php print esc_attr($display_type_name . '_' . $name); ?>_no" + name="<?php print esc_attr($display_type_name . '[' . $name . ']'); ?>" + class="<?php print esc_attr($display_type_name . '_' . $name); ?>" + value="0" + <?php checked(True, empty($value)); ?>/> + <label for="<?php print esc_attr($display_type_name . '_' . $name); ?>_no"><?php _e('No'); ?></label> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_select.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_select.php new file mode 100644 index 000000000..b310b207f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_select.php @@ -0,0 +1,18 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <select id="<?php print esc_attr($display_type_name . '_' . $name); ?>" + name="<?php print esc_attr($display_type_name . '[' . $name . ']'); ?>" + class="<?php print esc_attr($display_type_name . '_' . $name); ?>"> + <?php foreach ($options as $key => $val) { ?> + <option value='<?php print esc_attr($key); ?>' <?php selected($key, $value); ?>><?php print htmlentities(_($val)); ?></option> + <?php } ?> + </select> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php new file mode 100644 index 000000000..e73fb46a9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_text.php @@ -0,0 +1,17 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <input type='text' + id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>' + name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + class='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + <?php if (!empty($placeholder)) { ?>placeholder='<?php print esc_attr($placeholder); ?>'<?php } ?> + value='<?php print esc_attr($value); ?>'/> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_textarea.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_textarea.php new file mode 100644 index 000000000..88cfa9ff3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_textarea.php @@ -0,0 +1,16 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <textarea id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>' + name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + class='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + <?php if (!empty($placeholder)) { ?>placeholder='<?php print esc_attr($placeholder); ?>'<?php } ?> + ><?php print esc_attr($value); ?></textarea> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_width_and_unit.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_width_and_unit.php new file mode 100644 index 000000000..d712bb54a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/nextgen_settings_field_width_and_unit.php @@ -0,0 +1,25 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <input type='number' + id='<?php print esc_attr("{$display_type_name}_{$name}"); ?>' + name='<?php print esc_attr("{$display_type_name}[{$name}]"); ?>' + class='<?php print esc_attr("{$display_type_name}[{$name}]"); ?> nextgen_settings_field_width_and_unit' + <?php if (!empty($placeholder)) { ?>placeholder='<?php print esc_attr($placeholder); ?>'<?php } ?> + value='<?php print esc_attr($value); ?>'/> + + <select id="<?php print esc_attr("{$display_type_name}_{$unit_name}"); ?>" + name="<?php print esc_attr("{$display_type_name}[{$unit_name}]"); ?>" + class="<?php print esc_attr("{$display_type_name}_{$unit_name}"); ?> nextgen_settings_field_width_and_unit"> + <?php foreach ($options as $key => $val) { ?> + <option value='<?php print $key; ?>' <?php selected($key, $unit_value); ?>><?php print _($val); ?></option> + <?php } ?> + </select> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/thumbnail_settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/thumbnail_settings.php new file mode 100644 index 000000000..e73d1d8f1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/field_generator/thumbnail_settings.php @@ -0,0 +1,22 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_{$name}"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <?php + $thumbnails_template_width_value = $thumbnail_width; + $thumbnails_template_height_value = $thumbnail_height; + $thumbnails_template_id = $display_type_name . '_thumbnail_dimensions'; + $thumbnails_template_width_id = $display_type_name . '_thumbnail_width'; + $thumbnails_template_height_id = $display_type_name . '_thumbnail_height'; + $thumbnails_template_name = $display_type_name . '_thumbnail_dimensions'; + $thumbnails_template_width_name = $display_type_name . '[thumbnail_width]'; + $thumbnails_template_height_name = $display_type_name . '[thumbnail_height]'; + include(path_join(NGGALLERY_ABSPATH, implode(DIRECTORY_SEPARATOR, array('admin', 'thumbnails-template.php')))); + ?> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php new file mode 100644 index 000000000..3b5d01647 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/form.php @@ -0,0 +1,5 @@ +<?php if ($wrap) { ?><table><?php } ?> + <?php foreach($fields as $field): ?> + <?php echo $field ?> + <?php endforeach ?> +<?php if ($wrap) { ?></table><?php } ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php new file mode 100644 index 000000000..b4bbbb69e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/nextgen_admin_page.php @@ -0,0 +1,29 @@ +<div class="wrap" id='ngg_page_content' style='position: relative; visibility: hidden;'> + <h2><?php echo_h($page_heading)?></h2> + <?php if ($errors): ?> + <?php foreach ($errors as $msg): ?> + <?php echo $msg ?> + <?php endforeach ?> + <?php endif ?> + <?php if ($success AND empty($errors)): ?> + <div class='success updated'> + <p><?php echo_h($success);?></p> + </div> + <?php endif ?> + <form method="POST" action="<?php echo esc_url($_SERVER['REQUEST_URI'])?>"> + <?php if (isset($form_header)): ?> + <?php echo $form_header."\n"; ?> + <?php endif ?> + <input type="hidden" name="action"/> + <div class="accordion" id="nextgen_admin_accordion"> + <?php foreach($tabs as $tab): ?> + <?php echo $tab ?> + <?php endforeach ?> + </div> + <?php if ($show_save_button): ?> + <p> + <input type="submit" name='action_proxy' value="Save" class="button-primary"/> + </p> + <?php endif ?> + </form> +</div> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/not_authorized.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/not_authorized.php new file mode 100644 index 000000000..0a3ab6916 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_admin/templates/not_authorized.php @@ -0,0 +1,3 @@ +<h1>Not Authorized</h1> +<p>You are not permitted to access this page. If you believe this is by error, try +refreshing the page.</p> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album.php new file mode 100644 index 000000000..f6073f3a3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album.php @@ -0,0 +1,39 @@ +<?php + +class A_NextGen_Basic_Album extends Mixin +{ + /** + * Adds a hook to perform validation for albums + */ + function initialize() + { + $ngglegacy_albums = array( + NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM, + NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM + ); + if (in_array($this->object->name, $ngglegacy_albums)) { + $this->object->add_pre_hook( + 'validation', + 'NextGEN Basic Album Validation', + 'Hook_NextGen_Basic_Album_Validation' + ); + } + } + + function get_order() + { + return NEXTGEN_DISPLAY_PRIORITY_BASE + NEXTGEN_DISPLAY_PRIORITY_STEP; + } +} + +/** + * Provides validation for NextGen Basic Albums + */ +class Hook_NextGen_Basic_Album_Validation extends Hook +{ + function validation() + { + $this->object->validates_presence_of('gallery_display_type'); + $this->object->validates_numericality_of('galleries_per_page'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_controller.php new file mode 100644 index 000000000..205a8867b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_controller.php @@ -0,0 +1,299 @@ +<?php + +class A_NextGen_Basic_Album_Controller extends Mixin +{ + + function initialize() + { + $this->albums = array(); + $this->object->add_mixin('Mixin_NextGen_Basic_Pagination'); + } + + /** + * Renders the front-end for the NextGen Basic Album display type + * + * @param $displayed_gallery + * @param bool $return + */ + function index_action($displayed_gallery, $return = FALSE) + { + $display_settings = $displayed_gallery->display_settings; + + // We need to fetch the album containers selected in the Attach + // to Post interface. We need to do this, because once we fetch the + // included entities, we need to iterate over each entity and assign it + // a parent_id, which is the album that it belongs to. We need to do this + // because the link to the gallery, is not /nggallery/gallery--id, but + // /nggallery/album--id/gallery--id + + // Are we to display a gallery? + if (($gallery = $this->param('gallery'))) + { + // basic albums only support one per post + if (isset($GLOBALS['nggShowGallery'])) + return; + $GLOBALS['nggShowGallery'] = TRUE; + + if (!is_numeric($gallery)) + { + $mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $result = reset($mapper->select()->where(array('slug = %s', $gallery))->limit(1)->run_query()); + $gallery = $result->{$result->id_field}; + } + + $renderer = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images( + array( + 'source' => 'galleries', + 'container_ids' => array($gallery), + 'display_type' => $display_settings['gallery_display_type'], + 'original_display_type' => $displayed_gallery->display_type + ), + $return + ); + } + + // If we're viewing a sub-album, then we use that album as a container instead + else if (($album = $this->param('album'))) { + + // Are we to display a sub-album? + { + $mapper = $this->object->get_registry()->get_utility('I_Album_Mapper'); + $result = array_pop($mapper->select()->where(array('slug = %s', $album))->limit(1)->run_query()); + $album_sub = $result ? $result->{$result->id_field} : null; + + if ($album_sub != null) { + $album = $album_sub; + } + } + $displayed_gallery->entity_ids = array(); + $displayed_gallery->sortorder = array(); + $displayed_gallery->container_ids = ($album === '0' OR $album === 'all') ? array() : array($album); + } + + // Get the albums + $this->albums = $displayed_gallery->get_albums(); + + // None of the above: Display the main album. Get the settings required for display + $current_page = (int)$this->param('page', 1); + $offset = $display_settings['galleries_per_page'] * ($current_page - 1); + $entities = $displayed_gallery->get_included_entities($display_settings['galleries_per_page'], $offset); + + // If there are entities to be displayed + if ($entities) + { + if (!empty($display_settings['template'])) + { + // Add additional parameters + $pagination_result = $this->object->create_pagination( + $current_page, + $displayed_gallery->get_entity_count(), + $display_settings['galleries_per_page'], + urldecode($this->object->param('ajax_pagination_referrer')) + ); + $this->object->remove_param('ajax_pagination_referrer'); + $display_settings['current_page'] = $current_page; + $display_settings['entities'] = &$entities; + $display_settings['pagination_prev'] = $pagination_result['prev']; + $display_settings['pagination_next'] = $pagination_result['next']; + $display_settings['pagination'] = $pagination_result['output']; + + // Render legacy template + $this->object->add_mixin('Mixin_NextGen_Basic_Templates'); + $display_settings = $this->prepare_legacy_album_params($displayed_gallery->get_entity(), $display_settings); + return $this->object->legacy_render($display_settings['template'], $display_settings, $return, 'album'); + } + else { + $params = $display_settings; + $albums = $this->prepare_legacy_album_params($displayed_gallery->get_entity(), array('entities' => $entities));; + $params['galleries'] = $albums['galleries']; + $params['displayed_gallery'] = $displayed_gallery; + $params = $this->object->prepare_display_parameters($displayed_gallery, $params); + + switch ($displayed_gallery->display_type) { + case NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM: + $template = 'compact'; + break; + case NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM: + $template = 'extended'; + break; + } + + return $this->object->render_view("photocrati-nextgen_basic_album#{$template}", $params, $return); + } + } + else { + return $this->object->render_partial('photocrati-nextgen_gallery_display#no_images_found', array(), $return); + } + } + + /** + * Gets the parent album for the entity being displayed + * @param int $entity_id + * @return stdClass (album) + */ + function get_parent_album_for($entity_id) + { + $retval = NULL; + + foreach ($this->albums as $album) { + if (in_array($entity_id, $album->sortorder)) { + $retval = $album; + break; + } + } + + return $retval; + } + + + function prepare_legacy_album_params($displayed_gallery, $params) + { + $image_mapper = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $image_gen = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if (empty($displayed_gallery->display_settings['override_thumbnail_settings'])) + { + // legacy templates expect these dimensions + $image_gen_params = array( + 'width' => 91, + 'height' => 68, + 'crop' => TRUE + ); + } + else { + // use settings requested by user + $image_gen_params = array( + 'width' => $displayed_gallery->display_settings['thumbnail_width'], + 'height' => $displayed_gallery->display_settings['thumbnail_height'], + 'quality' => $displayed_gallery->display_settings['thumbnail_quality'], + 'crop' => $displayed_gallery->display_settings['thumbnail_crop'], + 'watermark' => $displayed_gallery->display_settings['thumbnail_watermark'] + ); + } + + // Transform entities + $params['galleries'] = $params['entities']; + unset($params['entities']); + + foreach ($params['galleries'] as &$gallery) { + + // Get the preview image url + $gallery->previewurl = ''; + if ($gallery->previewpic && $gallery->previewpic > 0) + { + if (($image = $image_mapper->find(intval($gallery->previewpic)))) + { + $gallery->previewurl = $storage->get_image_url($image, $image_gen->get_size_name($image_gen_params)); + $gallery->previewname = $gallery->name; + } + } + + // Get the page link. If the entity is an album, then the url will + // look like /nggallery/album--slug. + $id_field = $gallery->id_field; + if ($gallery->is_album) + { + if ($gallery->pageid > 0) + $gallery->pagelink = get_post_permalink($gallery->pageid); + else { + $gallery->pagelink = $this->object->set_param_for( + $this->object->get_routed_url(TRUE), + 'album', + $gallery->slug + ); + } + } + + // Otherwise, if it's a gallery then it will look like + // /nggallery/album--slug/gallery--slug + else { + if ($gallery->pageid > 0) + $gallery->pagelink = get_post_permalink($gallery->pageid); + else { + $pagelink = $this->object->get_routed_url(TRUE); + $parent_album = $this->object->get_parent_album_for($gallery->$id_field); + if ($parent_album) { + $pagelink = $this->object->set_param_for( + $pagelink, + 'album', + $parent_album->slug + ); + } + // Legacy compat: use an album slug of 'all' if we're missing a container_id + else if($displayed_gallery->container_ids === array('0') + || $displayed_gallery->container_ids === array('')) { + $pagelink = $this->object->set_param_for($pagelink, 'album', 'all'); + } + else { + $pagelink = $this->object->set_param_for($pagelink, 'album', 'album'); + } + $gallery->pagelink = $this->object->set_param_for( + $pagelink, + 'gallery', + $gallery->slug + ); + } + } + + // The router by default will generate param segments that look like, + // /gallery--foobar. We need to convert these to the admittingly + // nicer links that ngglegacy uses + if ($gallery->pageid <= 0) + $gallery->pagelink = $this->object->prettify_pagelink($gallery->pagelink); + + // Let plugins modify the gallery + $gallery = apply_filters('ngg_album_galleryobject', $gallery); + } + + // Clean up + unset($storage); + unset($image_mapper); + unset($image_gen); + unset($image_gen_params); + + return $params; + } + + + function prettify_pagelink($pagelink) + { + $param_separator = C_NextGen_Settings::get_instance()->get('router_param_separator'); + + $regex = implode('', array( + '#', + '/(gallery|album)', + preg_quote($param_separator, '#'), + '([^/?]+)', + '#' + )); + + $pagelink = preg_replace($regex, '/\2', $pagelink); + + return $pagelink; + } + + + function _get_js_lib_url() + { + return $this->object->get_static_url('photocrati-nextgen_basic_album#init.js'); + } + + /** + * Enqueues all static resources required by this display type + * + * @param C_Displayed_Gallery $displayed_gallery + */ + function enqueue_frontend_resources($displayed_gallery) + { + $this->call_parent('enqueue_frontend_resources', $displayed_gallery); + + wp_enqueue_style('nextgen_basic_album_style', $this->object->get_static_url('photocrati-nextgen_basic_album#nextgen_basic_album.css')); + wp_enqueue_script('jquery.dotdotdot', $this->object->get_static_url('photocrati-nextgen_basic_album#jquery.dotdotdot-1.5.7-packed.js'), array('jquery')); + + $this->enqueue_ngg_styles(); + + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_forms.php new file mode 100644 index 000000000..1f43051f2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_forms.php @@ -0,0 +1,16 @@ +<?php + +class A_NextGen_Basic_Album_Forms extends Mixin +{ + function initialize() + { + $this->add_form( + NEXTGEN_DISPLAY_SETTINGS_SLUG, + NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM + ); + $this->add_form( + NEXTGEN_DISPLAY_SETTINGS_SLUG, + NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_mapper.php new file mode 100644 index 000000000..f9c13c532 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_mapper.php @@ -0,0 +1,49 @@ +<?php + +class A_NextGen_Basic_Album_Mapper extends Mixin +{ + /** + * Adds a hook for setting default values + */ + function initialize() + { + $this->object->add_post_hook( + 'set_defaults', + 'NextGen Basic Album Defaults', + 'Hook_NextGen_Basic_Album_Defaults', + 'set_defaults' + ); + } +} + + +class Hook_NextGen_Basic_Album_Defaults extends Hook +{ + function set_defaults($entity) + { + if (in_array($entity->name, array( + NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM, + NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM))) { + + // Set defaults for both display (album) types + $settings = C_NextGen_Settings::get_instance(); + $this->object->_set_default_value($entity, 'settings', 'galleries_per_page', $settings->galPagedGalleries); + $this->object->_set_default_value($entity, 'settings', 'disable_pagination', 0); + $this->object->_set_default_value($entity, 'settings', 'template', ''); + + // Thumbnail dimensions -- only used by extended albums + if ($entity->name == NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM) + { + $this->_set_default_value($entity, 'settings', 'override_thumbnail_settings', 0); + $this->_set_default_value($entity, 'settings', 'thumbnail_width', $settings->thumbwidth); + $this->_set_default_value($entity, 'settings', 'thumbnail_height', $settings->thumbheight); + $this->_set_default_value($entity, 'settings', 'thumbnail_quality', $settings->thumbquality); + $this->_set_default_value($entity, 'settings', 'thumbnail_crop', $settings->thumbfix); + $this->_set_default_value($entity, 'settings', 'thumbnail_watermark', 0); + } + + if (defined('NEXTGEN_GALLERY_BASIC_THUMBNAILS')) + $this->object->_set_default_value($entity, 'settings', 'gallery_display_type', NEXTGEN_GALLERY_BASIC_THUMBNAILS); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_routes.php new file mode 100644 index 000000000..30b128233 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_routes.php @@ -0,0 +1,44 @@ +<?php + +class A_NextGen_Basic_Album_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'render', + 'Add late url rewriting for albums', + __CLASS__, + '_nextgen_basic_album_rewrite_rules' + ); + } + + function _nextgen_basic_album_rewrite_rules($displayed_gallery) + { + // Get display types + $original_display_type = isset($displayed_gallery->display_settings['original_display_type']) ? + $displayed_gallery->display_settings['original_display_type'] : ''; + $display_type = $displayed_gallery->display_type; + + // Get router + $router = $this->get_registry()->get_utility('I_Router'); + $app = $router->get_routed_app(); + $slug = C_NextGen_Settings::get_instance()->router_param_slug; + + // If we're viewing an album, rewrite the urls + $regex = "/photocrati-nextgen_basic_\w+_album/"; + if (preg_match($regex, $display_type)) { + $app->rewrite("{$slug}/pid--{*}", "{$slug}/pid--{1}", FALSE, TRUE); // avoid conflicts with imagebrowser + $app->rewrite("{$slug}/{\\w}", "{$slug}/album--{1}"); + $app->rewrite("{$slug}/{\\w}/{\\w}", "{$slug}/album--{1}/gallery--{2}"); + $app->rewrite("{$slug}/{\\w}/{\\w}/{\\w}{*}", "{$slug}/album--{1}/gallery--{2}/{3}{4}"); + } + elseif (preg_match($regex, $original_display_type)) { + $app->rewrite("{$slug}/album--{\\w}", "{$slug}/{1}"); + $app->rewrite("{$slug}/album--{\\w}/gallery--{\\w}", "{$slug}/{1}/{2}"); + $app->rewrite("{$slug}/album--{\\w}/gallery--{\\w}/{*}", "{$slug}/{1}/{2}/{3}"); + } + + // Perform rewrites + $app->do_rewrites(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_urls.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_urls.php new file mode 100644 index 000000000..bc8f3db47 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_album_urls.php @@ -0,0 +1,13 @@ +<?php + +class A_NextGen_Basic_Album_Urls extends Mixin +{ + function create_parameter_segment($key, $value, $id=NULL, $use_prefix=FALSE) + { + if ($key == 'page') { + return 'page/'.$value; + } + else + return $this->call_parent('create_parameter_segment', $key, $value, $id, $use_prefix); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_compact_album_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_compact_album_form.php new file mode 100644 index 000000000..6838b9ecb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_compact_album_form.php @@ -0,0 +1,31 @@ +<?php + +class A_NextGen_Basic_Compact_Album_Form extends Mixin_NextGen_Basic_Album_Form +{ + function get_display_type_name() + { + return NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM; + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + $fields = parent::_get_field_names(); + $fields[] = 'thumbnail_override_settings'; + return $fields; + } + + /** + * Enqueues static resources required by this form + */ + function enqueue_static_resources() + { + wp_enqueue_script( + 'nextgen_basic_compact_albums_settings_script', + $this->object->get_static_url('photocrati-nextgen_basic_album#compact_settings.js'), + array('jquery.nextgen_radio_toggle') + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_extended_album_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_extended_album_form.php new file mode 100644 index 000000000..ff7387c06 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/adapter.nextgen_basic_extended_album_form.php @@ -0,0 +1,31 @@ +<?php + +class A_NextGen_Basic_Extended_Album_Form extends Mixin_NextGen_Basic_Album_Form +{ + function get_display_type_name() + { + return NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM; + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + $fields = parent::_get_field_names(); + $fields[] = 'thumbnail_override_settings'; + return $fields; + } + + /** + * Enqueues static resources required by this form + */ + function enqueue_static_resources() + { + wp_enqueue_script( + 'nextgen_basic_extended_albums_settings_script', + $this->object->get_static_url('photocrati-nextgen_basic_album#extended_settings.js'), + array('jquery.nextgen_radio_toggle') + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php new file mode 100644 index 000000000..fc7a282c4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/class.nextgen_basic_album_installer.php @@ -0,0 +1,25 @@ +<?php + +class C_NextGen_Basic_Album_Installer extends C_Gallery_Display_Installer +{ + function install() + { + $this->install_display_type( + NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM, array( + 'title' => 'NextGEN Basic Compact Album', + 'entity_types' => array('album', 'gallery'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_album#compact_preview.jpg', + 'default_source' => 'albums', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + 200 + )); + + $this->install_display_type( + NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM, array( + 'title' => 'NextGEN Basic Extended Album', + 'entity_types' => array('album', 'gallery'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_album#extended_preview.jpg', + 'default_source' => 'albums', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + 210 + )); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php new file mode 100644 index 000000000..39fe3b7b8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/mixin.nextgen_basic_album_form.php @@ -0,0 +1,54 @@ +<?php + +class Mixin_NextGen_Basic_Album_Form extends Mixin_Display_Type_Form +{ + function _get_field_names() + { + return array( + 'nextgen_basic_album_gallery_display_type', + 'nextgen_basic_templates_template', + ); + } + + /** + * Renders the Gallery Display Type field + * @param C_Display_Type $display_type + */ + function _render_nextgen_basic_album_gallery_display_type_field($display_type) + { + $mapper = $this->object->get_registry()->get_utility('I_Display_Type_Mapper'); + + return $this->render_partial( + 'photocrati-nextgen_basic_album#nextgen_basic_album_gallery_display_type', + array( + 'display_type_name' => $display_type->name, + 'gallery_display_type_label' => _('Display galleries as'), + 'gallery_display_type_help' => _('How would you like galleries to be displayed?'), + 'gallery_display_type' => $display_type->settings['gallery_display_type'], + 'galleries_per_page_label' => _('Galleries per page'), + 'galleries_per_page' => $display_type->settings['galleries_per_page'], + 'display_types' => $mapper->find_by_entity_type('image') + ), + TRUE + ); + } + + + /** + * Renders the Galleries Per Page field + * @param C_Display_Type $display_type + */ + function _render_nextgen_basic_album_galleries_per_page_field($display_type) + { + return $this->render_partial( + 'photocrati-nextgen_basic_album#nextgen_basic_album_galleries_per_page', + array( + 'display_type_name' => $display_type->name, + 'galleries_per_page_label' => _('Items per page'), + 'galleries_per_page_help' => _('Maximum number of galleries or sub-albums to appear on a single page'), + 'galleries_per_page' => $display_type->settings['galleries_per_page'] + ), + TRUE + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php new file mode 100644 index 000000000..fb7786b88 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/module.nextgen_basic_album.php @@ -0,0 +1,142 @@ +<?php + +/* +{ + Module: photocrati-nextgen_basic_album, + Depends: { photocrati-nextgen_gallery_display, photocrati-nextgen_basic_templates, photocrati-nextgen_pagination } +} + */ + +define('NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM', 'photocrati-nextgen_basic_compact_album'); +define('NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM', 'photocrati-nextgen_basic_extended_album'); + +class M_NextGen_Basic_Album extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_basic_album', + 'NextGEN Basic Album', + "Provides support for NextGEN's Basic Album", + '0.4', + 'http://nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_basic_album_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Basic_Album_Installer'); + } + + + function _register_adapters() + { + // Add validation for album display settings + $this->get_registry()->add_adapter( + 'I_Display_Type', + 'A_NextGen_Basic_Album' + ); + + // Add a controller for displaying albums on the front-end + $this->get_registry()->add_adapter( + 'I_Display_Type_Controller', + 'A_NextGen_Basic_Album_Controller', + array( + NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM, + NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM, + $this->module_id + ) + ); + + // Add a mapper for setting the defaults for the album + $this->get_registry()->add_adapter( + 'I_Display_Type_Mapper', + 'A_NextGen_Basic_Album_Mapper' + ); + + // Add a generic adapter for display types to do late url rewriting + $this->get_registry()->add_adapter( + 'I_Displayed_Gallery_Renderer', + 'A_NextGen_Basic_Album_Routes' + ); + + // Add a display settings form for each display type + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_Compact_Album_Form', + NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM + ); + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_Extended_Album_Form', + NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM + ); + + // Creates special parameter segments + $this->get_registry()->add_adapter( + 'I_Routing_App', + 'A_NextGen_Basic_Album_Urls' + ); + + $this->get_registry()->add_adapter( + 'I_Form_Manager', + 'A_NextGen_Basic_Album_Forms' + ); + } + + function _register_hooks() + { + C_NextGen_Shortcode_Manager::add('album', array(&$this, 'ngglegacy_shortcode')); + C_NextGen_Shortcode_Manager::add('nggalbum', array(&$this, 'ngglegacy_shortcode')); + } + + /** + * Gets a value from the parameter array, and if not available, uses the default value + * + * @param string $name + * @param mixed $default + * @param array $params + * @return mixed + */ + function _get_param($name, $default, $params) + { + return (isset($params[$name])) ? $params[$name] : $default; + } + + /** + * Renders the shortcode for rendering an album + * @param array $params + * @param null $inner_content + * @return string + */ + function ngglegacy_shortcode($params, $inner_content=NULL) + { + $params['source'] = $this->_get_param('source', 'albums', $params); + $params['container_ids'] = $this->_get_param('id', NULL, $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM, $params); + + unset($params['id']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function get_type_list() + { + return array( + 'A_Nextgen_Basic_Album' => 'adapter.nextgen_basic_album.php', + 'A_Nextgen_Basic_Album_Controller' => 'adapter.nextgen_basic_album_controller.php', + 'A_Nextgen_Basic_Album_Forms' => 'adapter.nextgen_basic_album_forms.php', + 'C_Nextgen_Basic_Album_Installer' => 'class.nextgen_basic_album_installer.php', + 'A_Nextgen_Basic_Album_Mapper' => 'adapter.nextgen_basic_album_mapper.php', + 'A_Nextgen_Basic_Album_Routes' => 'adapter.nextgen_basic_album_routes.php', + 'A_Nextgen_Basic_Album_Urls' => 'adapter.nextgen_basic_album_urls.php', + 'A_Nextgen_Basic_Compact_Album_Form' => 'adapter.nextgen_basic_compact_album_form.php', + 'A_Nextgen_Basic_Extended_Album_Form' => 'adapter.nextgen_basic_extended_album_form.php', + 'Mixin_Nextgen_Basic_Album_Form' => 'mixin.nextgen_basic_album_form.php' + ); + } +} + + +new M_NextGen_Basic_Album(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/albumset.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/albumset.gif new file mode 100644 index 0000000000000000000000000000000000000000..8dc3d4ed8f486f8fe0082bc38145a638eb528e68 GIT binary patch literal 814 zcmZ?wbhEHb%w~vS*v!wcckkXickaA-^XA>VcduT(dhz1L!-o&QeEIVI`}eP3zaBVn zVE_L8`}XZ)U|{$U28usf7#SG&8FUyJ7#KiiFtGgp;K`;D+;#EjH1?^>8MxXD=Pj?D z+p$(RVNv&-)Q6LDqdbFl-}1Zsv)5vh%He}KR`V~cDDhewwf>50P~+RG{SP(-?-rPS z{>29Mvw6E`%cv(QEV%x@=~sgP^Y8y_D=Vri8yZ{dnw!eHdfNM{TA4WfrTo}g*%)Wf znLBU(f`y9~FIl>jjde=0w=X9P?}m+=HgDOwZTpU$yLN8~P@T@on}7I--ywgM1ILe^ z$vs_=>dUeI?A6TkKH`4sZd|(;dw1H}EBBv12zcbfaq!vOu!jsqPu_hAxGOsS^Vi>e z4=?(#fBCq$Tt80O=Pui<&)a<$9BSS7&(c9b;h}T>-K-Od<rnYThWY##3VHKFaIQ<9 z%I#E^mkJAxPB|K8R>N6*!&dKc#<h~qh0pwYUhpuL{J5NUp~k9v(aUeIA9yT1b7-Rr zhpCp;G>z3l$yy~!?rZZ?wpDRWdw#Lm<@Bt^<vwd~s!J8`DrHmUyS1cv{T-KC-)DJN zR{Rb+Sz)v`K}WKXkGICc>(RE}!vfEwC3`|nP2JnUn`yCm%5nDnRo9}+vz}k{SG(`p zD={~TJu)(!ac{&o>v$baBe}J^w!J;Lbo<1=Z-2bcdNjXT-aT*qI+s;vX4_}JvfgE= zadKL8dQs%>Z})WlZ{L%t+n)YG>1?{1e0BByUF&bx@7Ic{eOj<Sc2~Yr-2Z>yr;4P- z-%k0?@k730b&S!Sn#)hsrJDVg7*DL&)VTdzLvLyL-0Ce`w=5{Nl`Ub=SDBXasB^bQ z`2x{fYcg76^@1E7dqM>q7mMgxC|vC2JF>W`&niQpiPfbgz;U9ifTuI3^OlCD$=WiR zj2t0ho~o=t>l&OmJzoVJ<aD~W;4By4h9k+6Ts8+-ImAyaXyQ{(P)O%gdU1eJP(~*6 z={%b)4(VL#I~Z1Q*DWh><Z631a|zF_C6<i+f@+42vvrR+99bGHHj{Zy;i;ER%aszM bmU2y<mGE*>e3JpwbQOhDD|kFz7#OSpD^8AG literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9f609f2a919d211bb2642925c7ce50c6073ede48 GIT binary patch literal 7320 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 L_CVHw`u{fpRT{w| literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_settings.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_settings.js new file mode 100644 index 000000000..897a5027a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/compact_settings.js @@ -0,0 +1,7 @@ +jQuery(function($){ + $('input[name="photocrati-nextgen_basic_compact_album[override_thumbnail_settings]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_compact_album_thumbnail_dimensions')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_compact_album_thumbnail_quality')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_compact_album_thumbnail_crop')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_compact_album_thumbnail_watermark')); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbedf94ff02b9918721e6fd736fc770c91f5c5f3 GIT binary patch literal 6202 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%0AFaao}5PQM9T zL)LC?jfnfgwl#O*a{oCyP6nUd;-X->+~anldfBlATlsJM3SZ8>Q^*s|kd$&ebz4+! z+mR55s{&F2@<&p3T5k|7o9Z65JV~sA?b3?ZA#a?{Gu#T5&6?X0`9Ruh@!H^x+&0Xa zA*HLz6w@1WwfeUD9ntx~yEO3H${Vfo7`Lplx@s-3`9Ru{KR<15OgYoYDWu3Dsi~#) zL{4V!3ohrkdX<fjE%^5DyL8z&dShr(<l@@Lg|mCjv{JSSdu`*mwNr?B#k+H_!c;uc z=7<N%<$qS)rR?e&C$jCzsre~vPs5rcXDsveZrN$``kZFd1c|%cfq_Q)T#+fP{kJ70 zZ(6Y&4xaSR+bY=2gP+mNOY3%KZcFFEgN)&6S4yMGB-0vlZuPD9JFIhocXr^_%p0k* z7&m8Gt+nRa>|mDb9=benS_a$M6|c6uF*?g|bE|CF+_uOC(q@ZSUEXloge}Lzzx(V& zZx4=6rHKqeLP~mp4^H1}SYmhS`3yPZhHEpce3#6q{pKo_C^CPBU56u!Bd15lNgYR- zRU3rtBj4Gd$-IBo^V<ggYt{XqrOH1C)vjUnv|Ls4WrMG$$(<{kr+vxa<YRF&HdJ&& z%T=+Xt{!~Zy;<H5vgb1FxVB^;+s+HzWN;b3SjnGZnYwEm*Mx}s_gq6aE8RSpUdE*N z%hy(Ww`lpy-Bs5P1{{!KWfxsws9>U~qNwWX>cMYz_oP@>-`>k!9?U+AqKoD#X041) z=i0FM1#i}EXTSNDg_D-g&ggK+_M5ovkl)*$16B5KYaU;=-tkCc8^e*4+fL_fxy{?L zqH&diiGqE{$)fTEt+%*Ri5bxe?QG}IPn8=rXEF(?I0+a9g@m54v8=uz(ta!EGxM<m z+4|b0%hI+dtva&V?f0?A=2AH!Cv()M<_K;rQeh9gJNL>Oj|pcj^cLCNf974{*44E~ zGk4`wyA!;p*0OCj^qDoCv#9d=oM2W3!(C#F7Nx|AY&yX$zs<;aQwe9=a@9N2N|yCZ zkYmc361wfuZBF6lCZ=_`QVBEB361B*g!$sLm8MM)6mnH!P*HJ-S$uH%UPh1FrRNQ7 z(ixj)v3ta-yIzX^{yuhZZfEMY{|p>Fb<$TpDaiA_subXF`)bp{ez<C$3-iOh{z{A= u?k%6l@FPF?L_>}F$|nwXSQN53FNn3?D|(M_(&=rH`FHpJvsAGEe-i*kjFA)o literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_settings.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_settings.js new file mode 100644 index 000000000..d169fdd9b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/extended_settings.js @@ -0,0 +1,7 @@ +jQuery(function($){ + $('input[name="photocrati-nextgen_basic_extended_album[override_thumbnail_settings]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_extended_album_thumbnail_dimensions')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_extended_album_thumbnail_quality')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_extended_album_thumbnail_crop')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_extended_album_thumbnail_watermark')); +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/init.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/init.js new file mode 100644 index 000000000..d1eb1714b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/init.js @@ -0,0 +1,6 @@ +jQuery(function($){ + $('.ngg-album-desc').dotdotdot(); + $('.ngg-albumoverview').each(function(){ + $(this).css('opacity', 1.0); + }); +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.js new file mode 100644 index 000000000..67ef39d49 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/jquery.dotdotdot-1.5.7-packed.js @@ -0,0 +1,15 @@ +/* + * jQuery dotdotdot 1.5.7 + * + * Copyright (c) 2013 Fred Heusschen + * www.frebsite.nl + * + * Plugin website: + * dotdotdot.frebsite.nl + * + * Dual licensed under the MIT and GPL licenses. + * http://en.wikipedia.org/wiki/MIT_License + * http://en.wikipedia.org/wiki/GNU_General_Public_License + */ + +(function(a){function c(a,b,c){var d=a.children(),e=!1;a.empty();for(var g=0,h=d.length;h>g;g++){var i=d.eq(g);if(a.append(i),c&&a.append(c),f(a,b)){i.remove(),e=!0;break}c&&c.remove()}return e}function d(b,c,g,h,i){var j=b.contents(),k=!1;b.empty();for(var l="table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style",m=0,n=j.length;n>m&&!k;m++){var o=j[m],p=a(o);void 0!==o&&(b.append(p),i&&b[b.is(l)?"after":"append"](i),3==o.nodeType?f(g,h)&&(k=e(p,c,g,h,i)):k=d(p,c,g,h,i),k||i&&i.remove())}return k}function e(a,b,c,d,h){var k=!1,l=a[0];if(l===void 0)return!1;for(var m="letter"==d.wrap?"":" ",n=j(l).split(m),o=-1,p=-1,q=0,r=n.length-1;r>=q;){var s=Math.floor((q+r)/2);if(s==p)break;p=s,i(l,n.slice(0,p+1).join(m)+d.ellipsis),f(c,d)?r=p:(o=p,q=p)}if(-1==o||1==n.length&&0==n[0].length){var u=a.parent();a.remove();var v=h?h.length:0;if(u.contents().size()>v){var w=u.contents().eq(-1-v);k=e(w,b,c,d,h)}else{var l=u.prev().contents().eq(-1)[0];if(l!==void 0){var t=g(j(l),d);i(l,t),u.remove(),k=!0}}}else{var t=g(n.slice(0,o+1).join(m),d);k=!0,i(l,t)}return k}function f(a,b){return a.innerHeight()>b.maxHeight}function g(b,c){for(;a.inArray(b.slice(-1),c.lastCharacter.remove)>-1;)b=b.slice(0,-1);return 0>a.inArray(b.slice(-1),c.lastCharacter.noEllipsis)&&(b+=c.ellipsis),b}function h(a){return{width:a.innerWidth(),height:a.innerHeight()}}function i(a,b){a.innerText?a.innerText=b:a.nodeValue?a.nodeValue=b:a.textContent&&(a.textContent=b)}function j(a){return a.innerText?a.innerText:a.nodeValue?a.nodeValue:a.textContent?a.textContent:""}function k(b,c){return b===void 0?!1:b?"string"==typeof b?(b=a(b,c),b.length?b:!1):"object"==typeof b?b.jquery===void 0?!1:b:!1:!1}function l(a){for(var b=a.innerHeight(),c=["paddingTop","paddingBottom"],d=0,e=c.length;e>d;d++){var f=parseInt(a.css(c[d]),10);isNaN(f)&&(f=0),b-=f}return b}function m(a,b){return a?(b="string"==typeof b?"dotdotdot: "+b:["dotdotdot:",b],window.console!==void 0&&window.console.log!==void 0&&window.console.log(b),!1):!1}if(!a.fn.dotdotdot){a.fn.dotdotdot=function(e){if(0==this.length)return e&&e.debug===!1||m(!0,'No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){a(this).dotdotdot(e)});var g=this;g.data("dotdotdot")&&g.trigger("destroy.dot"),g.bind_events=function(){return g.bind("update.dot",function(b,e){b.preventDefault(),b.stopPropagation(),j.maxHeight="number"==typeof j.height?j.height:l(g),j.maxHeight+=j.tolerance,e!==void 0&&(("string"==typeof e||e instanceof HTMLElement)&&(e=a("<div />").append(e).contents()),e instanceof a&&(i=e)),q=g.wrapInner('<div class="dotdotdot" />').children(),q.empty().append(i.clone(!0)).css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var h=!1,k=!1;return n.afterElement&&(h=n.afterElement.clone(!0),n.afterElement.remove()),f(q,j)&&(k="children"==j.wrap?c(q,j,h):d(q,g,q,j,h)),q.replaceWith(q.contents()),q=null,a.isFunction(j.callback)&&j.callback.call(g[0],k,i),n.isTruncated=k,k}).bind("isTruncated.dot",function(a,b){return a.preventDefault(),a.stopPropagation(),"function"==typeof b&&b.call(g[0],n.isTruncated),n.isTruncated}).bind("originalContent.dot",function(a,b){return a.preventDefault(),a.stopPropagation(),"function"==typeof b&&b.call(g[0],i),i}).bind("destroy.dot",function(a){a.preventDefault(),a.stopPropagation(),g.unwatch().unbind_events().empty().append(i).data("dotdotdot",!1)}),g},g.unbind_events=function(){return g.unbind(".dot"),g},g.watch=function(){if(g.unwatch(),"window"==j.watch){var b=a(window),c=b.width(),d=b.height();b.bind("resize.dot"+n.dotId,function(){c==b.width()&&d==b.height()&&j.windowResizeFix||(c=b.width(),d=b.height(),p&&clearInterval(p),p=setTimeout(function(){g.trigger("update.dot")},10))})}else o=h(g),p=setInterval(function(){var a=h(g);(o.width!=a.width||o.height!=a.height)&&(g.trigger("update.dot"),o=h(g))},100);return g},g.unwatch=function(){return a(window).unbind("resize.dot"+n.dotId),p&&clearInterval(p),g};var i=g.contents(),j=a.extend(!0,{},a.fn.dotdotdot.defaults,e),n={},o={},p=null,q=null;return n.afterElement=k(j.after,g),n.isTruncated=!1,n.dotId=b++,g.data("dotdotdot",!0).bind_events().trigger("update.dot"),j.watch&&g.watch(),g},a.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",lastCharacter:{remove:[" ",",",";",".","!","?"],noEllipsis:[]},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0,debug:!1};var b=1,n=a.fn.html;a.fn.html=function(a){return a!==void 0?this.data("dotdotdot")&&"function"!=typeof a?this.trigger("update",[a]):n.call(this,a):n.call(this)};var o=a.fn.text;a.fn.text=function(b){if(b!==void 0){if(this.data("dotdotdot")){var c=a("<div />");return c.text(b),b=c.html(),c.remove(),this.trigger("update",[b])}return o.call(this,b)}return o.call(this)}}})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.css new file mode 100644 index 000000000..997087a2e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/static/nextgen_basic_album.css @@ -0,0 +1,98 @@ +/* ----------- Album Styles Extend -------------*/ + +.ngg-albumoverview { + margin-top: 10px; + width: 100%; + clear: both; + display: block !important; +} + +.ngg-album { + height: 100%; + overflow: hidden; + padding: 5px; + margin-bottom: 5px; + border: 1px solid #cccccc; +} + +.ngg-albumtitle { + text-align: left; + font-weight: bold; + margin: 0px; + padding: 0px; + font-size: 1.4em; + margin-bottom: 10px; +} + +.ngg-thumbnail { + float: left; + margin-right: 12px; +} + +.ngg-thumbnail img { + background-color: #FFFFFF; + border: 1px solid #A9A9A9; + margin: 4px 0px 4px 5px; + padding: 4px; + position: relative; +} + +.ngg-thumbnail img:hover { + background-color: #A9A9A9; +} + +.ngg-description { + text-align: left; +} + +/* ----------- Album Styles Compact -------------*/ + +.ngg-album-compact { + float: left; + height: 180px; + padding: 0 6px 4px 0 !important; + margin: 0px !important; + text-align: left; + width: 120px; +} + +.ngg-album-compactbox { + background: transparent url(albumset.gif) no-repeat scroll 0%; + height: 88px; + margin: 0pt 0pt 6px !important; + padding: 8px 0pt 0pt 8px !important; + width: 120px; + box-sizing: border-box; + -moz-box-sizing: border-box; +} + +.ngg-album-compactbox .Thumb { + margin: 0px !important; + padding: 0px 0 0 0 !important; + width: 91px; + height: 68px; + border: none; +} + +.ngg-album-compact h4 { + font-size: 15px; + font-weight: bold; + width: 110px; + margin: 0; +} + +.ngg-album-compact h4 .ngg-album-desc { + overflow: hidden; + display: block; + height: 54px; +} + +.ngg-album-compact p { + font-size: 11px; + margin: 0; +} + +.ngg-clear { + clear: both; + float: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php new file mode 100644 index 000000000..f6f11df66 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/compact.php @@ -0,0 +1,27 @@ +<?php $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery); ?> +<div class="ngg-albumoverview"> + <?php foreach ($galleries as $gallery) { ?> + <div class="ngg-album-compact"> + <div class="ngg-album-compactbox"> + <div class="ngg-album-link"> + <a class="Link" href="<?php echo $gallery->pagelink; ?>"> + <img class="Thumb" + alt="<?php echo $gallery->title; ?>" + src="<?php echo $gallery->previewurl; ?>"/> + </a> + </div> + </div> + <h4> + <a class="ngg-album-desc" + title="<?php echo $gallery->title; ?>" + href="<?php echo $gallery->pagelink; ?>" + ><?php echo $gallery->title; ?></a> + </h4> + <?php if (isset($gallery->counter) && $gallery->counter > 0) { ?> + <p><strong><?php echo $gallery->counter; ?></strong> <?php _e('Photos', 'nggallery'); ?></p> + <?php } ?> + </div> + <?php } ?> + <br class="ngg-clear"/> +</div> +<?php $this->end_element(); ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php new file mode 100644 index 000000000..bc5b322cd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/extended.php @@ -0,0 +1,22 @@ +<?php $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery); ?> +<div class="ngg-albumoverview"> + <?php foreach ($galleries as $gallery) { ?> + <div class="ngg-album"> + <div class="ngg-albumtitle"> + <a href="<?php echo $gallery->pagelink; ?>"><?php echo $gallery->title; ?></a> + </div> + <div class="ngg-albumcontent"> + <div class="ngg-thumbnail"> + <a href="<?php echo $gallery->pagelink; ?>"><img class="Thumb" alt="<?php echo $gallery->title; ?>" src="<?php echo $gallery->previewurl; ?>"/></a> + </div> + <div class="ngg-description"> + <p><?php echo $gallery->galdesc; ?></p> + <?php if (isset($gallery->counter) && $gallery->counter > 0) { ?> + <p><strong><?php echo $gallery->counter; ?></strong> <?php _e('Photos', 'nggallery'); ?></p> + <?php } ?> + </div> + </div> + </div> + <?php } ?> +</div> +<?php $this->end_element(); ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_galleries_per_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_galleries_per_page.php new file mode 100644 index 000000000..e4c81ce1f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_galleries_per_page.php @@ -0,0 +1,19 @@ +<tr> + <td> + <label class="tooltip" + for="<?php echo esc_attr($display_type_name)?>_galleries_per_page" + title="<?php echo_h($galleries_per_page_help)?>"> + <?php echo_h($galleries_per_page_label) ?> + </label> + </td> + <td> + <input + id="<?php echo esc_attr($display_type_name)?>_galleries_per_page" + name="<?php echo esc_attr($display_type_name) ?>[galleries_per_page]" + type="number" + min="0" + value="<?php echo esc_attr($galleries_per_page)?>" + placeholder="#" + /> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_gallery_display_type.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_gallery_display_type.php new file mode 100644 index 000000000..26a3cb23e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_album/templates/nextgen_basic_album_gallery_display_type.php @@ -0,0 +1,23 @@ +<tr> + <td> + <label for="<?php echo esc_attr($display_type_name) ?>_gallery_display_type" + class="tooltip" + title="<?php echo_h($gallery_display_type_help)?>"> + <?php echo_h($gallery_display_type_label)?> + </label> + </td> + <td> + <select + style="width: 400px" + id="<?php echo esc_attr($display_type_name) ?>_gallery_display_type" + name="<?php echo esc_attr($display_type_name)?>[gallery_display_type]"> + <?php foreach ($display_types as $display_type): ?> + <option + value="<?php echo esc_attr($display_type->name) ?>" + <?php selected($display_type->name, $gallery_display_type) ?>> + <?php echo_h($display_type->title)?> + </option> + <?php endforeach ?> + </select> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.ajax_pagination_actions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.ajax_pagination_actions.php new file mode 100644 index 000000000..64120d72d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.ajax_pagination_actions.php @@ -0,0 +1,29 @@ +<?php + +class A_Ajax_Pagination_Actions extends Mixin +{ + function get_displayed_gallery_page_action() + { + $retval = array(); + $mapper = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + + if (($id = $this->object->param('displayed_gallery_id'))) + { + // retrieve by transient id + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery', $mapper); + $displayed_gallery->apply_transient($id); + $displayed_gallery->transient_id = $id; + + // Prevent future "show slideshow" links from using the AJAX request URI + if ($displayed_gallery->display_settings['ajax_pagination']) + $displayed_gallery->display_settings['slideshow_link_origin'] = $_SERVER['HTTP_REFERER']; + + // render the displayed gallery + $this->renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + $retval['html'] = $this->renderer->render($displayed_gallery, TRUE); + $retval['displayed_gallery_id'] = $displayed_gallery->id(); + } + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_forms.php new file mode 100644 index 000000000..d38dd748c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_forms.php @@ -0,0 +1,10 @@ +<?php + +class A_NextGen_Basic_Gallery_Forms extends Mixin +{ + function initialize() + { + $this->add_form(NEXTGEN_DISPLAY_SETTINGS_SLUG, NEXTGEN_GALLERY_BASIC_THUMBNAILS); + $this->add_form(NEXTGEN_DISPLAY_SETTINGS_SLUG, NEXTGEN_GALLERY_BASIC_SLIDESHOW); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php new file mode 100644 index 000000000..27d461053 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_mapper.php @@ -0,0 +1,102 @@ +<?php + +class A_NextGen_Basic_Gallery_Mapper extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'set_defaults', + 'NextGen Basic Gallery Defaults', + 'Hook_NextGen_Basic_Gallery_Defaults' + ); + } +} + +/** + * Sets default values for the NextGen Basic Slideshow display type + */ +class Hook_NextGen_Basic_Gallery_Defaults extends Hook +{ + function set_defaults($entity) + { + if ($entity->name == NEXTGEN_GALLERY_BASIC_SLIDESHOW) + $this->set_slideshow_defaults($entity); + + else if ($entity->name == NEXTGEN_GALLERY_BASIC_THUMBNAILS) + $this->set_thumbnail_defaults($entity); + } + + function set_slideshow_defaults($entity) + { + $settings = C_NextGen_Settings::get_instance(); + $this->object->_set_default_value($entity, 'settings', 'images_per_page', 10); + $this->object->_set_default_value($entity, 'settings', 'gallery_width', $settings->irWidth); + $this->object->_set_default_value($entity, 'settings', 'gallery_height', $settings->irHeight); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_width', $settings->thumbwidth); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_height', $settings->thumbheight); + $this->object->_set_default_value($entity, 'settings', 'cycle_interval', $settings->irRotatetime); + $this->object->_set_default_value($entity, 'settings', 'cycle_effect', $settings->slideFx); + $this->object->_set_default_value($entity, 'settings', 'flash_enabled', $settings->enableIR); + $this->object->_set_default_value($entity, 'settings', 'flash_path', $settings->irURL); + $this->object->_set_default_value($entity, 'settings', 'flash_shuffle', $settings->irShuffle); + $this->object->_set_default_value($entity, 'settings', 'flash_next_on_click', $settings->irLinkfromdisplay); + $this->object->_set_default_value($entity, 'settings', 'flash_navigation_bar', $settings->irShownavigation); + $this->object->_set_default_value($entity, 'settings', 'flash_loading_icon', $settings->irShowicons); + $this->object->_set_default_value($entity, 'settings', 'flash_watermark_logo', $settings->irWatermark); + $this->object->_set_default_value($entity, 'settings', 'flash_stretch_image', $settings->irOverstretch); + $this->object->_set_default_value($entity, 'settings', 'flash_transition_effect', $settings->irTransition); + $this->object->_set_default_value($entity, 'settings', 'flash_slow_zoom', $settings->irKenburns); + $this->object->_set_default_value($entity, 'settings', 'flash_background_color', $settings->irBackcolor); + $this->object->_set_default_value($entity, 'settings', 'flash_text_color', $settings->irFrontcolor); + $this->object->_set_default_value($entity, 'settings', 'flash_rollover_color', $settings->irLightcolor); + $this->object->_set_default_value($entity, 'settings', 'flash_screen_color', $settings->irScreencolor); + $this->object->_set_default_value($entity, 'settings', 'flash_background_music', $settings->irAudio); + $this->object->_set_default_value($entity, 'settings', 'flash_xhtml_validation', $settings->irXHTMLvalid); + $this->object->_set_default_value($entity, 'settings', 'effect_code', $settings->thumbCode); + $this->object->_set_default_value($entity, 'settings', 'show_thumbnail_link', $settings->galShowSlide ? 1 : 0); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_link_text', $settings->galTextGallery); + $this->object->_set_default_value($entity, 'settings', 'template', ''); + + // Part of the pro-modules + $this->object->_set_default_value($entity, 'settings', 'ngg_triggers_display', 'never'); + } + + + function set_thumbnail_defaults($entity) + { + $settings = C_NextGen_Settings::get_instance(); + $this->object->_set_default_value($entity, 'settings', 'images_per_page', $settings->galImages); + $this->object->_set_default_value($entity, 'settings', 'number_of_columns', $settings->galColumns); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_width', $settings->thumbwidth); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_height', $settings->thumbheight); + $this->object->_set_default_value($entity, 'settings', 'show_all_in_lightbox', $settings->galHiddenImg); + $this->object->_set_default_value($entity, 'settings', 'ajax_pagination', $settings->galAjaxNav); + $this->object->_set_default_value($entity, 'settings', 'use_imagebrowser_effect', $settings->galImgBrowser); + $this->object->_set_default_value($entity, 'settings', 'template', ''); + $this->object->_set_default_value($entity, 'settings', 'display_no_images_error', 1); + + // TODO: Should this be called enable pagination? + $this->object->_set_default_value($entity, 'settings', 'disable_pagination', 0); + + // Alternative view support + $this->object->_set_default_value($entity, 'settings', 'show_slideshow_link', $settings->galShowSlide ? 1 : 0); + $this->object->_Set_default_value($entity, 'settings', 'slideshow_link_text', $settings->galTextSlide); + + // override thumbnail settings + $this->object->_set_default_value($entity, 'settings', 'override_thumbnail_settings', 0); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_quality', '100'); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_crop', 1); + $this->object->_set_default_value($entity, 'settings', 'thumbnail_watermark', 0); + + // Show piclens link ? + $this->object->_set_default_value($entity, 'settings', 'piclens_link_text', _('[Show PicLens]')); + $this->object->_set_default_value($entity, 'settings', 'show_piclens_link', + isset($entity->settings['show_piclens_link']) && + preg_match("/^true|yes|y$/", $entity->settings['show_piclens_link']) ? + 1 : 0 + ); + + // Part of the pro-modules + $this->object->_set_default_value($entity, 'settings', 'ngg_triggers_display', 'never'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_routes.php new file mode 100644 index 000000000..80646af82 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_routes.php @@ -0,0 +1,25 @@ +<?php + +class A_NextGen_Basic_Gallery_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + get_class(), + get_class(), + 'add_nextgen_basic_gallery_routes' + ); + } + + function add_nextgen_basic_gallery_routes() + { + $slug = C_NextGen_Settings::get_instance()->router_param_slug; + $this->object->rewrite("{$slug}{*}/image/{*}", "{$slug}{1}/pid--{2}"); + $this->object->rewrite("{$slug}{*}/slideshow/{*}", "{$slug}{1}/show--" . NEXTGEN_GALLERY_BASIC_SLIDESHOW . "{2}"); + $this->object->rewrite("{$slug}{*}/thumbnails/{*}", "{$slug}{1}/show--". NEXTGEN_GALLERY_BASIC_THUMBNAILS . "{2}"); + $this->object->rewrite("{$slug}{*}/show--slide/{*}", "{$slug}{1}/show--" . NEXTGEN_GALLERY_BASIC_SLIDESHOW . "/{2}"); + $this->object->rewrite("{$slug}{*}/show--gallery/{*}", "{$slug}{1}/show--" . NEXTGEN_GALLERY_BASIC_THUMBNAILS . "/{2}"); + $this->object->rewrite("{$slug}{*}/page/{\\d}{*}", "{$slug}{1}/page--{2}{3}"); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_urls.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_urls.php new file mode 100644 index 000000000..4160b5633 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_urls.php @@ -0,0 +1,85 @@ +<?php + +class A_NextGen_Basic_Gallery_Urls extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'set_parameter_value', + get_class(), + get_class(), + '_set_nextgen_basic_thumbnail_parameter' + ); + $this->object->add_post_hook( + 'remove_parameter', + get_class(), + get_class(), + '_remove_nextgen_basic_thumbnail_parameter' + ); + + } + + + function create_parameter_segment($key, $value, $id=NULL, $use_prefix=FALSE) + { + if ($key == 'show') { + if ($value == NEXTGEN_GALLERY_BASIC_SLIDESHOW) $value = 'slideshow'; + elseif ($value == NEXTGEN_GALLERY_BASIC_THUMBNAILS) $value = 'thumbnails'; + elseif ($value == NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER) $value = 'imagebrowser'; + return '/'.$value; + } + elseif ($key == 'page') { + return 'page/'.$value; + } + else + return $this->call_parent('create_parameter_segment', $key, $value, $id, $use_prefix); + + } + + + function _set_nextgen_basic_thumbnail_parameter($key, $value, $id=NULL, $use_prefix=NULL) + { + $this->_set_ngglegacy_page_parameter($key, $id); + } + + + function _remove_nextgen_basic_thumbnail_parameter($key, $id=NULL, $url=FALSE) + { + $this->_set_ngglegacy_page_parameter($key, $id); + + } + + + function _set_ngglegacy_page_parameter($key, $id=NULL) + { + // Get the returned url + $retval = $this->object->get_method_property( + $this->method_called, ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE + ); + + // Get the settings manager + $settings = C_NextGen_Settings::get_instance(); + + // Create the regex pattern + $sep = preg_quote($settings->router_param_separator, '#'); + if ($id)$id = preg_quote($id, '#').$sep; + $prefix = preg_quote($settings->router_param_prefix, '#'); + $regex = implode('', array( + '#//?', + $id ? "({$id})?" : "(\w+{$sep})?", + "($prefix)?page{$sep}(\d+)/?#" + )); + + // Replace any page parameters with the ngglegacy equivalent + if (preg_match($regex, $retval, $matches)) { + $retval = str_replace($matches[0], "/page/{$matches[3]}/", $retval); + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE, + $retval + ); + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_validation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_validation.php new file mode 100644 index 000000000..a0430421b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_gallery_validation.php @@ -0,0 +1,46 @@ +<?php + +class A_NextGen_Basic_Gallery_Validation extends Mixin +{ + function initialize() + { + if ($this->object->name == NEXTGEN_GALLERY_BASIC_THUMBNAILS) { + $this->object->add_pre_hook( + 'validation', + get_class(), + 'Hook_NextGen_Basic_Thumbnail_Validation' + ); + } + else if ($this->object->name == NEXTGEN_GALLERY_BASIC_SLIDESHOW) { + $this->object->add_pre_hook( + 'validation', + get_class(), + 'Hook_NextGen_Basic_Slideshow_Validation' + ); + } + + } +} + +class Hook_NextGen_Basic_Slideshow_Validation extends Hook +{ + function validation() + { + $this->object->validates_presence_of('gallery_width'); + $this->object->validates_presence_of('gallery_height'); + $this->object->validates_numericality_of('gallery_width'); + $this->object->validates_numericality_of('gallery_height'); + } +} + +class Hook_NextGen_Basic_Thumbnail_Validation extends Hook +{ + function validation() + { + $this->object->validates_presence_of('thumbnail_width'); + $this->object->validates_presence_of('thumbnail_height'); + $this->object->validates_numericality_of('thumbnail_width'); + $this->object->validates_numericality_of('thumbnail_height'); + $this->object->validates_numericality_of('images_per_page'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_controller.php new file mode 100644 index 000000000..0b02703ff --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_controller.php @@ -0,0 +1,104 @@ +<?php + +class A_NextGen_Basic_Slideshow_Controller extends Mixin_NextGen_Basic_Gallery_Controller +{ + /** + * Displays the ngglegacy thumbnail gallery. + * This method deprecates the use of the nggShowGallery() function. + * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery + */ + function index_action($displayed_gallery, $return=FALSE) + { + // Get the images to be displayed + $current_page = (int)$this->param('page', 1); + + // TODO: Shouldn't we be using maximum_entity_count instead? + $limit = FALSE; + if (in_array($displayed_gallery->source, array('random_images', 'recent_images'))) + $limit = $displayed_gallery->display_settings['images_per_page']; + + if (($images = $displayed_gallery->get_included_entities($limit))) + { + // Get the gallery storage component + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + + // Create parameter list for the view + $params = $displayed_gallery->display_settings; + $params['storage'] = &$storage; + $params['images'] = &$images; + $params['displayed_gallery_id'] = $displayed_gallery->id(); + $params['current_page'] = $current_page; + $params['effect_code'] = $this->object->get_effect_code($displayed_gallery); + $params['anchor'] = 'ngg-slideshow-' . $displayed_gallery->id() . '-' . rand(1, getrandmax()) . $current_page; + $gallery_width = $displayed_gallery->display_settings['gallery_width']; + $gallery_height = $displayed_gallery->display_settings['gallery_height']; + $params['aspect_ratio'] = $gallery_width/$gallery_height; + $params['flash_path'] = $this->object->get_static_url('photocrati-nextgen_basic_gallery#slideshow/imagerotator.swf'); + $params['placeholder'] = $this->object->get_static_url('photocrati-nextgen_basic_gallery#slideshow/placeholder.gif'); + + // Are we displayed a flash slideshow? + if ($displayed_gallery->display_settings['flash_enabled']) + { + include_once(path_join(NGGALLERY_ABSPATH, implode(DIRECTORY_SEPARATOR, array('lib', 'swfobject.php')))); + $transient_id = $displayed_gallery->transient_id; + $params['mediarss_link'] = $this->get_router()->get_url( + '/nextgen-mediarss?template=playlist_feed&source=displayed_gallery&transient_id=' . $transient_id, false + ); + } + + // Are we to generate a thumbnail link? + if ($displayed_gallery->display_settings['show_thumbnail_link']) { + $params['thumbnail_link'] = $this->object->get_url_for_alternate_display_type( + $displayed_gallery, NEXTGEN_GALLERY_BASIC_THUMBNAILS + ); + } + + $params = $this->object->prepare_display_parameters($displayed_gallery, $params); + + $retval = $this->object->render_partial('photocrati-nextgen_basic_gallery#slideshow/index', $params, $return); + } + + // No images found + else { + $retval = $this->object->render_partial('photocrati-nextgen_gallery_display#no_images_found', array(), $return); + } + + return $retval; + } + + /** + * Enqueues all static resources required by this display type + * @param C_Displayed_Gallery $displayed_gallery + */ + function enqueue_frontend_resources($displayed_gallery) + { + if ($this->object->is_flash_enabled($displayed_gallery)) { + wp_enqueue_script('swfobject'); // WordPress built-in library + } + else { + $resource = defined('SCRIPT_DEBUG') ? 'jquery.cycle.all.min.js' : "jquery.cycle.all.js"; + wp_register_script('jquery-cycle', $this->get_static_url("photocrati-nextgen_basic_gallery#slideshow/{$resource}"), array('jquery')); + wp_enqueue_script('jquery-cycle'); + } + + wp_enqueue_style('nextgen_basic_slideshow_style', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/nextgen_basic_slideshow.css')); + wp_enqueue_script('waitforimages', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/jquery.waitforimages.js'), array('jquery')); + $this->call_parent('enqueue_frontend_resources', $displayed_gallery); + $this->enqueue_ngg_styles(); + } + + function is_flash_enabled($displayed_gallery) + { + return $displayed_gallery->display_settings['flash_enabled']; + } + + /** + * Provides the url of the JavaScript library required for + * NextGEN Basic Slideshow to display + * @return string + */ + function _get_js_lib_url() + { + return $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/nextgen_basic_slideshow.js'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php new file mode 100644 index 000000000..19ffaba33 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_slideshow_form.php @@ -0,0 +1,338 @@ +<?php + +/** + * Provides the display settings form for the NextGen Basic Slideshow + */ +class A_NextGen_Basic_Slideshow_Form extends Mixin_Display_Type_Form +{ + function get_display_type_name() + { + return NEXTGEN_GALLERY_BASIC_SLIDESHOW; + } + + function enqueue_static_resources() + { + wp_enqueue_script( + 'nextgen_basic_slideshow_settings-js', + $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/nextgen_basic_slideshow_settings.js'), + array('jquery.nextgen_radio_toggle') + ); + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + return array( + 'nextgen_basic_slideshow_gallery_dimensions', + 'nextgen_basic_slideshow_cycle_effect', + 'nextgen_basic_slideshow_cycle_interval', + 'nextgen_basic_slideshow_images_per_page', + 'nextgen_basic_slideshow_flash_enabled', + 'nextgen_basic_slideshow_flash_background_music', + 'nextgen_basic_slideshow_flash_stretch_image', + 'nextgen_basic_slideshow_flash_transition_effect', + 'nextgen_basic_slideshow_flash_shuffle', + 'nextgen_basic_slideshow_flash_next_on_click', + 'nextgen_basic_slideshow_flash_navigation_bar', + 'nextgen_basic_slideshow_flash_loading_icon', + 'nextgen_basic_slideshow_flash_watermark_logo', + 'nextgen_basic_slideshow_flash_slow_zoom', + 'nextgen_basic_slideshow_flash_xhtml_validation', + 'nextgen_basic_slideshow_flash_background_color', + 'nextgen_basic_slideshow_flash_text_color', + 'nextgen_basic_slideshow_flash_rollover_color', + 'nextgen_basic_slideshow_flash_screen_color', + 'nextgen_basic_slideshow_show_thumbnail_link', + 'nextgen_basic_slideshow_thumbnail_link_text' + ); + } + + function _render_nextgen_basic_slideshow_cycle_interval_field($display_type) + { + return $this->_render_number_field( + $display_type, + 'cycle_interval', + 'Interval', + $display_type->settings['cycle_interval'], + '', + FALSE, + '# of seconds', + 1 + ); + } + + function _render_nextgen_basic_slideshow_images_per_page_field($display_type) + { + return $this->_render_number_field( + $display_type, + 'images_per_page', + 'Image limit', + $display_type->settings['images_per_page'], + 'Maximum number of images to display with recent or random sources', + FALSE, + '# of images', + 0 + ); + } + + function _render_nextgen_basic_slideshow_cycle_effect_field($display_type) + { + return $this->_render_select_field( + $display_type, + 'cycle_effect', + 'Effect', + array( + 'fade' => 'fade', + 'blindX' => 'blindX', + 'cover' => 'cover', + 'scrollUp' => 'scrollUp', + 'scrollDown' => 'scrollDown', + 'shuffle' => 'shuffle', + 'toss' => 'toss', + 'wipe' => 'wipe' + ), + $display_type->settings['cycle_effect'], + '', + FALSE + ); + } + + function _render_nextgen_basic_slideshow_gallery_dimensions_field($display_type) + { + return $this->render_partial('photocrati-nextgen_basic_gallery#slideshow/nextgen_basic_slideshow_settings_gallery_dimensions', array( + 'display_type_name' => $display_type->name, + 'gallery_dimensions_label' => _('Maximum dimensions'), + 'gallery_width' => $display_type->settings['gallery_width'], + 'gallery_height' => $display_type->settings['gallery_height'], + ), True); + } + + function _render_nextgen_basic_slideshow_flash_enabled_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_enabled', + 'Enable flash slideshow', + $display_type->settings['flash_enabled'], + 'Integrate the flash based slideshow for all flash supported devices' + ); + } + + function _render_nextgen_basic_slideshow_flash_shuffle_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_shuffle', + 'Shuffle', + $display_type->settings['flash_shuffle'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_next_on_click_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_next_on_click', + 'Show next image on click', + $display_type->settings['flash_next_on_click'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_navigation_bar_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_navigation_bar', + 'Show navigation bar', + $display_type->settings['flash_navigation_bar'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_loading_icon_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_loading_icon', + 'Show loading icon', + $display_type->settings['flash_loading_icon'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_watermark_logo_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_watermark_logo', + 'Use watermark logo', + $display_type->settings['flash_watermark_logo'], + 'Use the watermark image in the Flash object. Note: this does not watermark the image itself, and cannot be applied with text watermarks', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_stretch_image_field($display_type) + { + return $this->_render_select_field( + $display_type, + 'flash_stretch_image', + 'Stretch image', + array('true' => 'true', 'false' => 'false', 'fit' => 'fit', 'none' => 'none'), + $display_type->settings['flash_stretch_image'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_transition_effect_field($display_type) + { + return $this->_render_select_field( + $display_type, + 'flash_transition_effect', + 'Transition / fade effect', + array( + 'fade' => 'fade', + 'bgfade' => 'bgfade', + 'slowfade' => 'slowfade', + 'circles' => 'circles', + 'bubbles' => 'bubbles', + 'blocks' => 'blocks', + 'fluids' => 'fluids', + 'flash' => 'flash', + 'lines' => 'lines', + 'random' => 'random' + ), + $display_type->settings['flash_transition_effect'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_slow_zoom_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_slow_zoom', + 'Use slow zooming effect', + $display_type->settings['flash_slow_zoom'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_background_music_field($display_type) + { + return $this->_render_text_field( + $display_type, + 'flash_background_music', + 'Background music (url)', + $display_type->settings['flash_background_music'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE, + 'http://...' + ); + } + + function _render_nextgen_basic_slideshow_flash_xhtml_validation_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'flash_xhtml_validation', + 'Try XHTML validation', + $display_type->settings['flash_xhtml_validation'], + 'Uses CDATA. Important: Could cause problems with some older browsers', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_background_color_field($display_type) + { + return $this->_render_color_field( + $display_type, + 'flash_background_color', + 'Background', + $display_type->settings['flash_background_color'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_text_color_field($display_type) + { + return $this->_render_color_field( + $display_type, + 'flash_text_color', + 'Texts / buttons', + $display_type->settings['flash_text_color'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_rollover_color_field($display_type) + { + return $this->_render_color_field( + $display_type, + 'flash_rollover_color', + 'Rollover / active', + $display_type->settings['flash_rollover_color'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + function _render_nextgen_basic_slideshow_flash_screen_color_field($display_type) + { + return $this->_render_color_field( + $display_type, + 'flash_screen_color', + 'Screen', + $display_type->settings['flash_screen_color'], + '', + empty($display_type->settings['flash_enabled']) ? TRUE : FALSE + ); + } + + /** + * Renders the show_thumbnail_link settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_slideshow_show_thumbnail_link_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'show_thumbnail_link', + 'Show thumbnail link', + $display_type->settings['show_thumbnail_link'] + ); + } + + /** + * Renders the thumbnail_link_text settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_slideshow_thumbnail_link_text_field($display_type) + { + return $this->_render_text_field( + $display_type, + 'thumbnail_link_text', + 'Thumbnail link text', + $display_type->settings['thumbnail_link_text'], + '', + !empty($display_type->settings['show_thumbnail_link']) ? FALSE : TRUE + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php new file mode 100644 index 000000000..8a0ad3498 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnail_form.php @@ -0,0 +1,200 @@ +<?php + +class A_NextGen_Basic_Thumbnail_Form extends Mixin_Display_Type_Form +{ + function get_display_type_name() + { + return NEXTGEN_GALLERY_BASIC_THUMBNAILS; + } + + /** + * Enqueues static resources required by this form + */ + function enqueue_static_resources() + { + wp_enqueue_style( + 'nextgen_basic_thumbnails_settings', + $this->object->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails_settings.css'), + false + ); + + wp_enqueue_script( + 'nextgen_basic_thumbnails_settings', + $this->object->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails_settings.js'), + array('jquery.nextgen_radio_toggle') + ); + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + return array( + 'thumbnail_override_settings', + 'nextgen_basic_thumbnails_images_per_page', + 'nextgen_basic_thumbnails_number_of_columns', + 'nextgen_basic_thumbnails_ajax_pagination', + 'nextgen_basic_thumbnails_hidden', + 'nextgen_basic_thumbnails_imagebrowser_effect', + 'nextgen_basic_thumbnails_show_piclens_link', + 'nextgen_basic_thumbnails_piclens_link_text', + 'nextgen_basic_thumbnails_show_slideshow_link', + 'nextgen_basic_thumbnails_slideshow_link_text', + 'nextgen_basic_templates_template', + ); + } + + /** + * Renders the images_per_page settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_images_per_page_field($display_type) + { + return $this->_render_number_field( + $display_type, + 'images_per_page', + 'Images per page', + $display_type->settings['images_per_page'], + '"0" will display all images at once', + FALSE, + '# of images', + 0 + ); + } + + /** + * Renders the number_of_columns settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_number_of_columns_field($display_type) + { + return $this->_render_number_field( + $display_type, + 'number_of_columns', + 'Number of columns to display', + $display_type->settings['number_of_columns'], + '', + FALSE, + '# of columns', + 0 + ); + } + + /** + * Renders the piclens_link_text settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_piclens_link_text_field($display_type) + { + return $this->_render_text_field( + $display_type, + 'piclens_link_text', + 'Piclens link text', + $display_type->settings['piclens_link_text'], + '', + !empty($display_type->settings['show_piclens_link']) ? FALSE : TRUE + ); + } + + /** + * Renders the show_piclens_link settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_show_piclens_link_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'show_piclens_link', + 'Show piclens link', + $display_type->settings['show_piclens_link'] + ); + } + + /** + * Renders the show_piclens_link settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_hidden_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'show_all_in_lightbox', + 'Add Hidden Images', + $display_type->settings['show_all_in_lightbox'], + 'If pagination is used this option will show all images in the modal window (Thickbox, Lightbox etc.) This increases page load.' + ); + } + + function _render_nextgen_basic_thumbnails_imagebrowser_effect_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'use_imagebrowser_effect', + 'Use imagebrowser effect', + $display_type->settings['use_imagebrowser_effect'], + 'When active each image in the gallery will link to an imagebrowser display and lightbox effects will not be applied.' + ); + } + + /** + * Renders the show_piclens_link settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_ajax_pagination_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'ajax_pagination', + 'Enable AJAX pagination', + $display_type->settings['ajax_pagination'], + 'Browse images without reloading the page.' + ); + } + + /** + * Renders the show_slideshow_link settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_show_slideshow_link_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'show_slideshow_link', + 'Show slideshow link', + $display_type->settings['show_slideshow_link'] + ); + } + + /** + * Renders the slideshow_link_text settings field + * + * @param C_Display_Type $display_type + * @return string + */ + function _render_nextgen_basic_thumbnails_slideshow_link_text_field($display_type) + { + return $this->_render_text_field( + $display_type, + 'slideshow_link_text', + 'Slideshow link text', + $display_type->settings['slideshow_link_text'], + '', + !empty($display_type->settings['show_slideshow_link']) ? FALSE : TRUE + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnails_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnails_controller.php new file mode 100644 index 000000000..d04ce3241 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/adapter.nextgen_basic_thumbnails_controller.php @@ -0,0 +1,221 @@ +<?php + +class A_NextGen_Basic_Thumbnails_Controller extends Mixin_NextGen_Basic_Gallery_Controller +{ + /** + * Adds framework support for thumbnails + */ + function initialize() + { + parent::initialize(); + $this->add_mixin('Mixin_NextGen_Basic_Pagination'); + } + + /** + * Displays the ngglegacy thumbnail gallery. + * This method deprecates the use of the nggShowGallery() function. + * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery + */ + function index_action($displayed_gallery, $return=FALSE) + { + $display_settings = $displayed_gallery->display_settings; + + // If these options are on we must use the transient_id to identify the gallery + if ($display_settings['show_piclens_link'] || $display_settings['ajax_pagination']) + $gallery_id = $displayed_gallery->transient_id; + else + $gallery_id = $displayed_gallery->id(); + + if (!$display_settings['disable_pagination']) + $current_page = (int)$this->param('page', $gallery_id, 1); + else + $current_page = 1; + + $offset = $display_settings['images_per_page'] * ($current_page - 1); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $total = $displayed_gallery->get_entity_count(); + + // Get the images to be displayed + if ($display_settings['images_per_page'] > 0 && $display_settings['show_all_in_lightbox']) + { + // the "Add Hidden Images" feature works by loading ALL images and then marking the ones not on this page + // as hidden (style="display: none") + $images = $displayed_gallery->get_included_entities(); + $i = 0; + foreach ($images as &$image) { + if ($i < $display_settings['images_per_page'] * ($current_page - 1)) + { + $image->hidden = TRUE; + } + elseif ($i >= $display_settings['images_per_page'] * ($current_page)) + { + $image->hidden = TRUE; + } + $i++; + } + } + else { + // just display the images for this page, as normal + $images = $displayed_gallery->get_included_entities($display_settings['images_per_page'], $offset); + } + + if (in_array($displayed_gallery->source, array('random_images', 'recent_images'))) + $display_settings['disable_pagination'] = TRUE; + + // Are there images to display? + if ($images) { + + // Create pagination + if ($display_settings['images_per_page'] && !$display_settings['disable_pagination']) { + $pagination_result = $this->object->create_pagination( + $current_page, + $total, + $display_settings['images_per_page'], + urldecode($this->object->param('ajax_pagination_referrer')) + ); + $this->object->remove_param('ajax_pagination_referrer'); + $pagination_prev = $pagination_result['prev']; + $pagination_next = $pagination_result['next']; + $pagination = $pagination_result['output']; + } else { + list($pagination_prev, $pagination_next, $pagination) = array(NULL, NULL, NULL); + } + + $thumbnail_size_name = 'thumbnail'; + + if ($display_settings['override_thumbnail_settings']) + { + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + + if ($dynthumbs != null) + { + $dyn_params = array( + 'width' => $display_settings['thumbnail_width'], + 'height' => $display_settings['thumbnail_height'], + ); + + if ($display_settings['thumbnail_quality']) + $dyn_params['quality'] = $display_settings['thumbnail_quality']; + + if ($display_settings['thumbnail_crop']) + $dyn_params['crop'] = true; + + if ($display_settings['thumbnail_watermark']) + $dyn_params['watermark'] = true; + + $thumbnail_size_name = $dynthumbs->get_size_name($dyn_params); + } + } + + // Determine what the piclens link would be + $piclens_link = ''; + if ($display_settings['show_piclens_link']) { + $mediarss_link = $this->object->get_router()->get_url('/nextgen-mediarss?source=displayed_gallery&transient_id=' . $gallery_id, FALSE); + $piclens_link = "javascript:PicLensLite.start({feedUrl:'{$mediarss_link}'});"; + } + + // Generate a slideshow link + $slideshow_link = ''; + if ($display_settings['show_slideshow_link']) + { + // origin_url is necessary for ajax operations. slideshow_link_origin will NOT always exist. + $origin_url = (empty($display_settings['slideshow_link_origin']) ? FALSE : $display_settings['slideshow_link_origin']); + $slideshow_link = $this->object->get_url_for_alternate_display_type( + $displayed_gallery, NEXTGEN_GALLERY_BASIC_SLIDESHOW, $origin_url + ); + } + + // This setting 1) points all images to an imagebrowser display & 2) disables the lightbox effect + if ($display_settings['use_imagebrowser_effect']) + { + // this hook *MUST* be removed later; it should not apply to galleries that may come after this one! + $storage->add_post_hook( + 'get_image_url', + 'imagebrowser alternate url replacer', + 'Hook_NextGen_Basic_Imagebrowser_Alt_URLs', + 'get_image_url' + ); + $effect_code = ''; + } + else { + $effect_code = $this->object->get_effect_code($displayed_gallery); + } + + // The render functions require different processing + if (!empty($display_settings['template'])) + { + $this->object->add_mixin('A_NextGen_Basic_Template_Form'); + $this->object->add_mixin('Mixin_NextGen_Basic_Templates'); + $params = $this->object->prepare_legacy_parameters( + $images, + $displayed_gallery, + array( + 'next' => (empty($pagination_next)) ? FALSE : $pagination_next, + 'prev' => (empty($pagination_prev)) ? FALSE : $pagination_prev, + 'pagination' => $pagination, + 'piclens_link' => $piclens_link, + 'slideshow_link' => $slideshow_link + ) + ); + $output = $this->object->legacy_render($display_settings['template'], $params, $return, 'gallery'); + } + else { + $params = $display_settings; + $params['storage'] = &$storage; + $params['images'] = &$images; + $params['displayed_gallery_id'] = $gallery_id; + $params['transient_id'] = $displayed_gallery->transient_id; + $params['current_page'] = $current_page; + $params['piclens_link'] = $piclens_link; + $params['effect_code'] = $effect_code; + $params['pagination'] = $pagination; + $params['thumbnail_size_name'] = $thumbnail_size_name; + $params['slideshow_link'] = $slideshow_link; + + $params = $this->object->prepare_display_parameters($displayed_gallery, $params); + + $output = $this->object->render_view('photocrati-nextgen_basic_gallery#thumbnails/index', $params, $return); + } + + if ($display_settings['use_imagebrowser_effect']) + $storage->del_post_hook('get_image_url', 'imagebrowser alternate url replacer'); + + return $output; + + } + else if ($display_settings['display_no_images_error']) { + return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return); + } + } + + /** + * Enqueues all static resources required by this display type + * @param C_Displayed_Gallery $displayed_gallery + */ + function enqueue_frontend_resources($displayed_gallery) + { + $this->call_parent('enqueue_frontend_resources', $displayed_gallery); + + wp_enqueue_style('nextgen_basic_thumbnails_style', $this->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.css')); + + if ($displayed_gallery->display_settings['show_piclens_link']) + wp_enqueue_script('piclens', $this->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/piclens/lite/piclens.js')); + + if ($displayed_gallery->display_settings['ajax_pagination']) + wp_enqueue_script('nextgen-basic-thumbnails-ajax-pagination', $this->object->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/ajax_pagination.js')); + + wp_enqueue_style('nextgen_pagination_style', $this->get_static_url('photocrati-nextgen_pagination#style.css')); + + $this->enqueue_ngg_styles(); + } + + /** + * Provides the url of the JavaScript library required for + * NextGEN Basic Thumbnails to display + * @return string + */ + function _get_js_lib_url() + { + return $this->object->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.js'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php new file mode 100644 index 000000000..e3cfcc117 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/class.nextgen_basic_gallery_installer.php @@ -0,0 +1,27 @@ +<?php + +class C_NextGen_Basic_Gallery_Installer extends C_Gallery_Display_Installer +{ + function install() + { + $this->install_display_type(NEXTGEN_GALLERY_BASIC_THUMBNAILS, + array( + 'title' => 'NextGEN Basic Thumbnails', + 'entity_types' => array('image'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_gallery#thumb_preview.jpg', + 'default_source' => 'galleries', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + ) + ); + + $this->install_display_type(NEXTGEN_GALLERY_BASIC_SLIDESHOW, + array( + 'title' => 'NextGEN Basic Slideshow', + 'entity_types' => array('image'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_gallery#slideshow_preview.jpg', + 'default_source' => 'galleries', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + 10 + ) + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/hook.nextgen_basic_gallery_integration.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/hook.nextgen_basic_gallery_integration.php new file mode 100644 index 000000000..2029c71a4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/hook.nextgen_basic_gallery_integration.php @@ -0,0 +1,50 @@ +<?php + +class Hook_NextGen_Basic_Gallery_Integration extends Hook +{ + function index_action($displayed_gallery, $return=FALSE) + { + $show = $this->object->param('show'); + $pid = $this->object->param('pid'); + + if (!empty($pid) && isset($displayed_gallery->display_settings['use_imagebrowser_effect']) && intval($displayed_gallery->display_settings['use_imagebrowser_effect'])) + $show = NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER; + + // Are we to display a different display type? + if (!empty($show)) + { + $params = (array)$displayed_gallery->get_entity(); + $ds = $params['display_settings']; + + if ((!empty($ds['show_slideshow_link']) || !empty($ds['show_thumbnail_link']) || !empty($ds['use_imagebrowser_effect'])) + && $show != $this->object->context) + { + // We've got an alternate request. We'll use a different display + // type to serve the request and not run the original controller + // action + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RUN, + FALSE + ); + + // Render the new display type + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + $displayed_gallery->original_display_type = $displayed_gallery->display_type; + $displayed_gallery->display_type = $show; + $params = (array)$displayed_gallery->get_entity(); + unset($params['display_settings']); + $retval = $renderer->display_images($params, $return); + + // Set return value + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE, + $retval + ); + + return $retval; + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/mixin.nextgen_basic_gallery_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/mixin.nextgen_basic_gallery_controller.php new file mode 100644 index 000000000..f1cb3bdde --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/mixin.nextgen_basic_gallery_controller.php @@ -0,0 +1,30 @@ +<?php + +class Mixin_NextGen_Basic_Gallery_Controller extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'index_action', + get_class(), + 'Hook_NextGen_Basic_Gallery_Integration' + ); + } + + + /** + * Returns a url to view the displayed gallery using an alternate display + * type + * @param C_Displayed_Gallery $displayed_gallery + * @param string $display_type + * @return string + */ + function get_url_for_alternate_display_type($displayed_gallery, $display_type, $origin_url = FALSE) + { + $url = ($origin_url ? $origin_url : $this->object->get_routed_url(TRUE)); + $url = $this->object->remove_param_for($url, 'show', $displayed_gallery->id()); + $url = $this->object->set_param_for($url, 'show', $display_type, $displayed_gallery->id()); + + return $url; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php new file mode 100644 index 000000000..115b37e65 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/module.nextgen_basic_gallery.php @@ -0,0 +1,242 @@ +<?php +/* +{ + Module: photocrati-nextgen_basic_gallery, + Depends: { photocrati-nextgen_pagination } +} +*/ + +define( + 'NEXTGEN_GALLERY_BASIC_THUMBNAILS', + 'photocrati-nextgen_basic_thumbnails' +); + +define( + 'NEXTGEN_GALLERY_BASIC_SLIDESHOW', + 'photocrati-nextgen_basic_slideshow' +); + + +class M_NextGen_Basic_Gallery extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_basic_gallery', + 'NextGEN Basic Gallery', + "Provides NextGEN Gallery's basic thumbnail/slideshow integrated gallery", + '0.6', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_basic_gallery_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Basic_Gallery_Installer'); + } + + function get_type_list() + { + return array( + 'A_Ajax_Pagination_Actions' => 'adapter.ajax_pagination_actions.php', + 'A_Nextgen_Basic_Gallery_Forms' => 'adapter.nextgen_basic_gallery_forms.php', + 'C_Nextgen_Basic_Gallery_Installer' => 'class.nextgen_basic_gallery_installer.php', + 'A_Nextgen_Basic_Gallery_Mapper' => 'adapter.nextgen_basic_gallery_mapper.php', + 'A_Nextgen_Basic_Gallery_Routes' => 'adapter.nextgen_basic_gallery_routes.php', + 'A_Nextgen_Basic_Gallery_Urls' => 'adapter.nextgen_basic_gallery_urls.php', + 'A_Nextgen_Basic_Gallery_Validation' => 'adapter.nextgen_basic_gallery_validation.php', + 'A_Nextgen_Basic_Slideshow_Controller' => 'adapter.nextgen_basic_slideshow_controller.php', + 'A_Nextgen_Basic_Slideshow_Form' => 'adapter.nextgen_basic_slideshow_form.php', + 'A_Nextgen_Basic_Thumbnail_Form' => 'adapter.nextgen_basic_thumbnail_form.php', + 'A_Nextgen_Basic_Thumbnails_Controller' => 'adapter.nextgen_basic_thumbnails_controller.php', + 'Hook_Nextgen_Basic_Gallery_Integration' => 'hook.nextgen_basic_gallery_integration.php', + 'Mixin_Nextgen_Basic_Gallery_Controller' => 'mixin.nextgen_basic_gallery_controller.php' + ); + } + + + function _register_adapters() + { + // Provides the display type forms + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_Slideshow_Form', + NEXTGEN_GALLERY_BASIC_SLIDESHOW + ); + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_Thumbnail_Form', + NEXTGEN_GALLERY_BASIC_THUMBNAILS + ); + + // Provides the controllers for the display types + $this->get_registry()->add_adapter( + 'I_Display_Type_Controller', + 'A_NextGen_Basic_Slideshow_Controller', + NEXTGEN_GALLERY_BASIC_SLIDESHOW + ); + $this->get_registry()->add_adapter( + 'I_Display_Type_Controller', + 'A_NextGen_Basic_Thumbnails_Controller', + NEXTGEN_GALLERY_BASIC_THUMBNAILS + ); + + // Provide defaults for the display types + $this->get_registry()->add_adapter( + 'I_Display_Type_Mapper', + 'A_NextGen_Basic_Gallery_Mapper' + ); + + // Provides validation for the display types + $this->get_registry()->add_adapter( + 'I_Display_Type', + 'A_NextGen_Basic_Gallery_Validation' + ); + + // Provides url generation support for the display types + $this->get_registry()->add_adapter( + 'I_Routing_App', + 'A_NextGen_Basic_Gallery_Urls' + ); + + // Provides routing logic for the display types + $this->get_registry()->add_adapter( + 'I_Router', + 'A_NextGen_Basic_Gallery_Routes' + ); + + + // Provides AJAX pagination actions required by the display types + $this->get_registry()->add_adapter( + 'I_Ajax_Controller', + 'A_Ajax_Pagination_Actions' + ); + + // Adds the settings forms + $this->get_registry()->add_adapter( + 'I_Form_Manager', + 'A_NextGen_Basic_Gallery_Forms' + ); + } + + function _register_hooks() + { + C_NextGen_Shortcode_Manager::add('nggallery', array(&$this, 'render')); + C_NextGen_Shortcode_Manager::add('nggtags', array(&$this, 'render_based_on_tags')); + C_NextGen_Shortcode_Manager::add('random', array(&$this, 'render_random_images')); + C_NextGen_Shortcode_Manager::add('recent', array(&$this, 'render_recent_images')); + C_NextGen_Shortcode_Manager::add('thumb', array(&$this, 'render_thumb_shortcode')); + C_NextGen_Shortcode_Manager::add('slideshow', array(&$this, 'render_slideshow')); + C_NextGen_Shortcode_Manager::add('nggslideshow', array(&$this, 'render_slideshow')); + } + + /** + * Gets a value from the parameter array, and if not available, uses the default value + * + * @param string $name + * @param mixed $default + * @param array $params + * @return mixed + */ + function _get_param($name, $default, $params) + { + return (isset($params[$name])) ? $params[$name] : $default; + } + + /** + * Short-cut for rendering an thumbnail gallery + * @param array $params + * @param null $inner_content + * @return string + */ + function render($params, $inner_content=NULL) + { + $params['gallery_ids'] = $this->_get_param('id', NULL, $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_BASIC_THUMBNAILS, $params); + if (isset($params['images'])) + { + $params['images_per_page'] = $this->_get_param('images', NULL, $params); + } + unset($params['id']); + unset($params['images']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function render_based_on_tags($params, $inner_content=NULL) + { + $params['tag_ids'] = $this->_get_param('gallery', $this->_get_param('album', array(), $params), $params); + $params['source'] = $this->_get_param('source', 'tags', $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_BASIC_THUMBNAILS, $params); + unset($params['gallery']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function render_random_images($params, $inner_content=NULL) + { + $params['source'] = $this->_get_param('source', 'random', $params); + $params['images_per_page'] = $this->_get_param('max', NULL, $params); + $params['disable_pagination'] = $this->_get_param('disable_pagination', TRUE, $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_BASIC_THUMBNAILS, $params); + + // inside if because Mixin_Displayed_Gallery_Instance_Methods->get_entities() doesn't handle NULL container_ids + // correctly + if (isset($params['id'])) + { + $params['container_ids'] = $this->_get_param('id', NULL, $params); + } + + unset($params['max']); + unset($params['id']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function render_recent_images($params, $inner_content=NULL) + { + $params['source'] = $this->_get_param('source', 'recent', $params); + $params['images_per_page'] = $this->_get_param('max', NULL, $params); + $params['disable_pagination'] = $this->_get_param('disable_pagination', TRUE, $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_BASIC_THUMBNAILS, $params); + + if (isset($params['id'])) + { + $params['container_ids'] = $this->_get_param('id', NULL, $params); + } + + unset($params['max']); + unset($params['id']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function render_thumb_shortcode($params, $inner_content=NULL) + { + $params['entity_ids'] = $this->_get_param('id', NULL, $params); + $params['source'] = $this->_get_param('source', 'galleries', $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_BASIC_THUMBNAILS, $params); + unset($params['id']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function render_slideshow($params, $inner_content=NULL) + { + $params['gallery_ids'] = $this->_get_param('id', NULL, $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_BASIC_SLIDESHOW, $params); + $params['gallery_width'] = $this->_get_param('w', NULL, $params); + $params['gallery_height'] = $this->_get_param('h', NULL, $params); + unset($params['id'], $params['w'], $params['h']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } +} + +new M_NextGen_Basic_Gallery; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/imagerotator.swf b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/imagerotator.swf new file mode 100644 index 0000000000000000000000000000000000000000..6c2d76f32a78e6cec140b53bddf336cd987bcdc4 GIT binary patch literal 42706 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 WEynllt>ahMiT!*0pZREhQx^bgj%$Sg literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.js new file mode 100644 index 000000000..44c501735 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.js @@ -0,0 +1,1548 @@ +/*! + * jQuery Cycle Plugin (with Transition Definitions) + * Examples and documentation at: http://jquery.malsup.com/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.9999.6 (11-SEP-2012) + * Dual licensed under the MIT and GPL licenses. + * http://jquery.malsup.com/license.html + * Requires: jQuery v1.3.2 or later + */ +;(function($, undefined) { +"use strict"; + +var ver = '2.9999.6'; + +// if $.support is not defined (pre jQuery 1.3) add what I need +if ($.support === undefined) { + $.support = { + opacity: !($.browser.msie) + }; +} + +function debug(s) { + if ($.fn.cycle.debug) + log(s); +} +function log() { + if (window.console && console.log) + console.log('[cycle] ' + Array.prototype.join.call(arguments,' ')); +} +$.expr[':'].paused = function(el) { + return el.cyclePause; +}; + + +// the options arg can be... +// a number - indicates an immediate transition should occur to the given slide index +// a string - 'pause', 'resume', 'toggle', 'next', 'prev', 'stop', 'destroy' or the name of a transition effect (ie, 'fade', 'zoom', etc) +// an object - properties to control the slideshow +// +// the arg2 arg can be... +// the name of an fx (only used in conjunction with a numeric value for 'options') +// the value true (only used in first arg == 'resume') and indicates +// that the resume should occur immediately (not wait for next timeout) + +$.fn.cycle = function(options, arg2) { + var o = { s: this.selector, c: this.context }; + + // in 1.3+ we can fix mistakes with the ready state + if (this.length === 0 && options != 'stop') { + if (!$.isReady && o.s) { + log('DOM not ready, queuing slideshow'); + $(function() { + $(o.s,o.c).cycle(options,arg2); + }); + return this; + } + // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() + log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); + return this; + } + + // iterate the matched nodeset + return this.each(function() { + var opts = handleArguments(this, options, arg2); + if (opts === false) + return; + + opts.updateActivePagerLink = opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink; + + // stop existing slideshow for this container (if there is one) + if (this.cycleTimeout) + clearTimeout(this.cycleTimeout); + this.cycleTimeout = this.cyclePause = 0; + this.cycleStop = 0; // issue #108 + + var $cont = $(this); + var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children(); + var els = $slides.get(); + + if (els.length < 2) { + log('terminating; too few slides: ' + els.length); + return; + } + + var opts2 = buildOptions($cont, $slides, els, opts, o); + if (opts2 === false) + return; + + var startTime = opts2.continuous ? 10 : getTimeout(els[opts2.currSlide], els[opts2.nextSlide], opts2, !opts2.backwards); + + // if it's an auto slideshow, kick it off + if (startTime) { + startTime += (opts2.delay || 0); + if (startTime < 10) + startTime = 10; + debug('first timeout: ' + startTime); + this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts.backwards);}, startTime); + } + }); +}; + +function triggerPause(cont, byHover, onPager) { + var opts = $(cont).data('cycle.opts'); + var paused = !!cont.cyclePause; + if (paused && opts.paused) + opts.paused(cont, opts, byHover, onPager); + else if (!paused && opts.resumed) + opts.resumed(cont, opts, byHover, onPager); +} + +// process the args that were passed to the plugin fn +function handleArguments(cont, options, arg2) { + if (cont.cycleStop === undefined) + cont.cycleStop = 0; + if (options === undefined || options === null) + options = {}; + if (options.constructor == String) { + switch(options) { + case 'destroy': + case 'stop': + var opts = $(cont).data('cycle.opts'); + if (!opts) + return false; + cont.cycleStop++; // callbacks look for change + if (cont.cycleTimeout) + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + if (opts.elements) + $(opts.elements).stop(); + $(cont).removeData('cycle.opts'); + if (options == 'destroy') + destroy(cont, opts); + return false; + case 'toggle': + cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1; + checkInstantResume(cont.cyclePause, arg2, cont); + triggerPause(cont); + return false; + case 'pause': + cont.cyclePause = 1; + triggerPause(cont); + return false; + case 'resume': + cont.cyclePause = 0; + checkInstantResume(false, arg2, cont); + triggerPause(cont); + return false; + case 'prev': + case 'next': + opts = $(cont).data('cycle.opts'); + if (!opts) { + log('options not found, "prev/next" ignored'); + return false; + } + $.fn.cycle[options](opts); + return false; + default: + options = { fx: options }; + } + return options; + } + else if (options.constructor == Number) { + // go to the requested slide + var num = options; + options = $(cont).data('cycle.opts'); + if (!options) { + log('options not found, can not advance slide'); + return false; + } + if (num < 0 || num >= options.elements.length) { + log('invalid slide index: ' + num); + return false; + } + options.nextSlide = num; + if (cont.cycleTimeout) { + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + } + if (typeof arg2 == 'string') + options.oneTimeFx = arg2; + go(options.elements, options, 1, num >= options.currSlide); + return false; + } + return options; + + function checkInstantResume(isPaused, arg2, cont) { + if (!isPaused && arg2 === true) { // resume now! + var options = $(cont).data('cycle.opts'); + if (!options) { + log('options not found, can not resume'); + return false; + } + if (cont.cycleTimeout) { + clearTimeout(cont.cycleTimeout); + cont.cycleTimeout = 0; + } + go(options.elements, options, 1, !options.backwards); + } + } +} + +function removeFilter(el, opts) { + if (!$.support.opacity && opts.cleartype && el.style.filter) { + try { el.style.removeAttribute('filter'); } + catch(smother) {} // handle old opera versions + } +} + +// unbind event handlers +function destroy(cont, opts) { + if (opts.next) + $(opts.next).unbind(opts.prevNextEvent); + if (opts.prev) + $(opts.prev).unbind(opts.prevNextEvent); + + if (opts.pager || opts.pagerAnchorBuilder) + $.each(opts.pagerAnchors || [], function() { + this.unbind().remove(); + }); + opts.pagerAnchors = null; + $(cont).unbind('mouseenter.cycle mouseleave.cycle'); + if (opts.destroy) // callback + opts.destroy(opts); +} + +// one-time initialization +function buildOptions($cont, $slides, els, options, o) { + var startingSlideSpecified; + // support metadata plugin (v1.0 and v2.0) + var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {}); + var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null; + if (meta) + opts = $.extend(opts, meta); + if (opts.autostop) + opts.countdown = opts.autostopCount || els.length; + + var cont = $cont[0]; + $cont.data('cycle.opts', opts); + opts.$cont = $cont; + opts.stopCount = cont.cycleStop; + opts.elements = els; + opts.before = opts.before ? [opts.before] : []; + opts.after = opts.after ? [opts.after] : []; + + // push some after callbacks + if (!$.support.opacity && opts.cleartype) + opts.after.push(function() { removeFilter(this, opts); }); + if (opts.continuous) + opts.after.push(function() { go(els,opts,0,!opts.backwards); }); + + saveOriginalOpts(opts); + + // clearType corrections + if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) + clearTypeFix($slides); + + // container requires non-static position so that slides can be position within + if ($cont.css('position') == 'static') + $cont.css('position', 'relative'); + if (opts.width) + $cont.width(opts.width); + if (opts.height && opts.height != 'auto') + $cont.height(opts.height); + + if (opts.startingSlide !== undefined) { + opts.startingSlide = parseInt(opts.startingSlide,10); + if (opts.startingSlide >= els.length || opts.startSlide < 0) + opts.startingSlide = 0; // catch bogus input + else + startingSlideSpecified = true; + } + else if (opts.backwards) + opts.startingSlide = els.length - 1; + else + opts.startingSlide = 0; + + // if random, mix up the slide array + if (opts.random) { + opts.randomMap = []; + for (var i = 0; i < els.length; i++) + opts.randomMap.push(i); + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + if (startingSlideSpecified) { + // try to find the specified starting slide and if found set start slide index in the map accordingly + for ( var cnt = 0; cnt < els.length; cnt++ ) { + if ( opts.startingSlide == opts.randomMap[cnt] ) { + opts.randomIndex = cnt; + } + } + } + else { + opts.randomIndex = 1; + opts.startingSlide = opts.randomMap[1]; + } + } + else if (opts.startingSlide >= els.length) + opts.startingSlide = 0; // catch bogus input + opts.currSlide = opts.startingSlide || 0; + var first = opts.startingSlide; + + // set position and zIndex on all the slides + $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) { + var z; + if (opts.backwards) + z = first ? i <= first ? els.length + (i-first) : first-i : els.length-i; + else + z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i; + $(this).css('z-index', z); + }); + + // make sure first slide is visible + $(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case + removeFilter(els[first], opts); + + // stretch slides + if (opts.fit) { + if (!opts.aspect) { + if (opts.width) + $slides.width(opts.width); + if (opts.height && opts.height != 'auto') + $slides.height(opts.height); + } else { + $slides.each(function(){ + var $slide = $(this); + var ratio = (opts.aspect === true) ? $slide.width()/$slide.height() : opts.aspect; + if( opts.width && $slide.width() != opts.width ) { + $slide.width( opts.width ); + $slide.height( opts.width / ratio ); + } + + if( opts.height && $slide.height() < opts.height ) { + $slide.height( opts.height ); + $slide.width( opts.height * ratio ); + } + }); + } + } + + if (opts.center && ((!opts.fit) || opts.aspect)) { + $slides.each(function(){ + var $slide = $(this); + $slide.css({ + "margin-left": opts.width ? + ((opts.width - $slide.width()) / 2) + "px" : + 0, + "margin-top": opts.height ? + ((opts.height - $slide.height()) / 2) + "px" : + 0 + }); + }); + } + + if (opts.center && !opts.fit && !opts.slideResize) { + $slides.each(function(){ + var $slide = $(this); + $slide.css({ + "margin-left": opts.width ? ((opts.width - $slide.width()) / 2) + "px" : 0, + "margin-top": opts.height ? ((opts.height - $slide.height()) / 2) + "px" : 0 + }); + }); + } + + // stretch container + var reshape = (opts.containerResize || opts.containerResizeHeight) && !$cont.innerHeight(); + if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9 + var maxw = 0, maxh = 0; + for(var j=0; j < els.length; j++) { + var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight(); + if (!w) w = e.offsetWidth || e.width || $e.attr('width'); + if (!h) h = e.offsetHeight || e.height || $e.attr('height'); + maxw = w > maxw ? w : maxw; + maxh = h > maxh ? h : maxh; + } + if (opts.containerResize && maxw > 0 && maxh > 0) + $cont.css({width:maxw+'px',height:maxh+'px'}); + if (opts.containerResizeHeight && maxh > 0) + $cont.css({height:maxh+'px'}); + } + + var pauseFlag = false; // https://github.com/malsup/cycle/issues/44 + if (opts.pause) + $cont.bind('mouseenter.cycle', function(){ + pauseFlag = true; + this.cyclePause++; + triggerPause(cont, true); + }).bind('mouseleave.cycle', function(){ + if (pauseFlag) + this.cyclePause--; + triggerPause(cont, true); + }); + + if (supportMultiTransitions(opts) === false) + return false; + + // apparently a lot of people use image slideshows without height/width attributes on the images. + // Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that. + var requeue = false; + options.requeueAttempts = options.requeueAttempts || 0; + $slides.each(function() { + // try to get height/width of each slide + var $el = $(this); + this.cycleH = (opts.fit && opts.height) ? opts.height : ($el.height() || this.offsetHeight || this.height || $el.attr('height') || 0); + this.cycleW = (opts.fit && opts.width) ? opts.width : ($el.width() || this.offsetWidth || this.width || $el.attr('width') || 0); + + if ( $el.is('img') ) { + // sigh.. sniffing, hacking, shrugging... this crappy hack tries to account for what browsers do when + // an image is being downloaded and the markup did not include sizing info (height/width attributes); + // there seems to be some "default" sizes used in this situation + var loadingIE = ($.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete); + var loadingFF = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete); + var loadingOp = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete); + var loadingOther = (this.cycleH === 0 && this.cycleW === 0 && !this.complete); + // don't requeue for images that are still loading but have a valid size + if (loadingIE || loadingFF || loadingOp || loadingOther) { + if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever + log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH); + setTimeout(function() {$(o.s,o.c).cycle(options);}, opts.requeueTimeout); + requeue = true; + return false; // break each loop + } + else { + log('could not determine size of image: '+this.src, this.cycleW, this.cycleH); + } + } + } + return true; + }); + + if (requeue) + return false; + + opts.cssBefore = opts.cssBefore || {}; + opts.cssAfter = opts.cssAfter || {}; + opts.cssFirst = opts.cssFirst || {}; + opts.animIn = opts.animIn || {}; + opts.animOut = opts.animOut || {}; + + $slides.not(':eq('+first+')').css(opts.cssBefore); + $($slides[first]).css(opts.cssFirst); + + if (opts.timeout) { + opts.timeout = parseInt(opts.timeout,10); + // ensure that timeout and speed settings are sane + if (opts.speed.constructor == String) + opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed,10); + if (!opts.sync) + opts.speed = opts.speed / 2; + + var buffer = opts.fx == 'none' ? 0 : opts.fx == 'shuffle' ? 500 : 250; + while((opts.timeout - opts.speed) < buffer) // sanitize timeout + opts.timeout += opts.speed; + } + if (opts.easing) + opts.easeIn = opts.easeOut = opts.easing; + if (!opts.speedIn) + opts.speedIn = opts.speed; + if (!opts.speedOut) + opts.speedOut = opts.speed; + + opts.slideCount = els.length; + opts.currSlide = opts.lastSlide = first; + if (opts.random) { + if (++opts.randomIndex == els.length) + opts.randomIndex = 0; + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else if (opts.backwards) + opts.nextSlide = opts.startingSlide === 0 ? (els.length-1) : opts.startingSlide-1; + else + opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1; + + // run transition init fn + if (!opts.multiFx) { + var init = $.fn.cycle.transitions[opts.fx]; + if ($.isFunction(init)) + init($cont, $slides, opts); + else if (opts.fx != 'custom' && !opts.multiFx) { + log('unknown transition: ' + opts.fx,'; slideshow terminating'); + return false; + } + } + + // fire artificial events + var e0 = $slides[first]; + if (!opts.skipInitializationCallbacks) { + if (opts.before.length) + opts.before[0].apply(e0, [e0, e0, opts, true]); + if (opts.after.length) + opts.after[0].apply(e0, [e0, e0, opts, true]); + } + if (opts.next) + $(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);}); + if (opts.prev) + $(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);}); + if (opts.pager || opts.pagerAnchorBuilder) + buildPager(els,opts); + + exposeAddSlide(opts, els); + + return opts; +} + +// save off original opts so we can restore after clearing state +function saveOriginalOpts(opts) { + opts.original = { before: [], after: [] }; + opts.original.cssBefore = $.extend({}, opts.cssBefore); + opts.original.cssAfter = $.extend({}, opts.cssAfter); + opts.original.animIn = $.extend({}, opts.animIn); + opts.original.animOut = $.extend({}, opts.animOut); + $.each(opts.before, function() { opts.original.before.push(this); }); + $.each(opts.after, function() { opts.original.after.push(this); }); +} + +function supportMultiTransitions(opts) { + var i, tx, txs = $.fn.cycle.transitions; + // look for multiple effects + if (opts.fx.indexOf(',') > 0) { + opts.multiFx = true; + opts.fxs = opts.fx.replace(/\s*/g,'').split(','); + // discard any bogus effect names + for (i=0; i < opts.fxs.length; i++) { + var fx = opts.fxs[i]; + tx = txs[fx]; + if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) { + log('discarding unknown transition: ',fx); + opts.fxs.splice(i,1); + i--; + } + } + // if we have an empty list then we threw everything away! + if (!opts.fxs.length) { + log('No valid transitions named; slideshow terminating.'); + return false; + } + } + else if (opts.fx == 'all') { // auto-gen the list of transitions + opts.multiFx = true; + opts.fxs = []; + for (var p in txs) { + if (txs.hasOwnProperty(p)) { + tx = txs[p]; + if (txs.hasOwnProperty(p) && $.isFunction(tx)) + opts.fxs.push(p); + } + } + } + if (opts.multiFx && opts.randomizeEffects) { + // munge the fxs array to make effect selection random + var r1 = Math.floor(Math.random() * 20) + 30; + for (i = 0; i < r1; i++) { + var r2 = Math.floor(Math.random() * opts.fxs.length); + opts.fxs.push(opts.fxs.splice(r2,1)[0]); + } + debug('randomized fx sequence: ',opts.fxs); + } + return true; +} + +// provide a mechanism for adding slides after the slideshow has started +function exposeAddSlide(opts, els) { + opts.addSlide = function(newSlide, prepend) { + var $s = $(newSlide), s = $s[0]; + if (!opts.autostopCount) + opts.countdown++; + els[prepend?'unshift':'push'](s); + if (opts.els) + opts.els[prepend?'unshift':'push'](s); // shuffle needs this + opts.slideCount = els.length; + + // add the slide to the random map and resort + if (opts.random) { + opts.randomMap.push(opts.slideCount-1); + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + } + + $s.css('position','absolute'); + $s[prepend?'prependTo':'appendTo'](opts.$cont); + + if (prepend) { + opts.currSlide++; + opts.nextSlide++; + } + + if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg) + clearTypeFix($s); + + if (opts.fit && opts.width) + $s.width(opts.width); + if (opts.fit && opts.height && opts.height != 'auto') + $s.height(opts.height); + s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height(); + s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width(); + + $s.css(opts.cssBefore); + + if (opts.pager || opts.pagerAnchorBuilder) + $.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts); + + if ($.isFunction(opts.onAddSlide)) + opts.onAddSlide($s); + else + $s.hide(); // default behavior + }; +} + +// reset internal state; we do this on every pass in order to support multiple effects +$.fn.cycle.resetState = function(opts, fx) { + fx = fx || opts.fx; + opts.before = []; opts.after = []; + opts.cssBefore = $.extend({}, opts.original.cssBefore); + opts.cssAfter = $.extend({}, opts.original.cssAfter); + opts.animIn = $.extend({}, opts.original.animIn); + opts.animOut = $.extend({}, opts.original.animOut); + opts.fxFn = null; + $.each(opts.original.before, function() { opts.before.push(this); }); + $.each(opts.original.after, function() { opts.after.push(this); }); + + // re-init + var init = $.fn.cycle.transitions[fx]; + if ($.isFunction(init)) + init(opts.$cont, $(opts.elements), opts); +}; + +// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt +function go(els, opts, manual, fwd) { + var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide]; + + // opts.busy is true if we're in the middle of an animation + if (manual && opts.busy && opts.manualTrump) { + // let manual transitions requests trump active ones + debug('manualTrump in go(), stopping active transition'); + $(els).stop(true,true); + opts.busy = 0; + clearTimeout(p.cycleTimeout); + } + + // don't begin another timeout-based transition if there is one active + if (opts.busy) { + debug('transition active, ignoring new tx request'); + return; + } + + + // stop cycling if we have an outstanding stop request + if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual) + return; + + // check to see if we should stop cycling based on autostop options + if (!manual && !p.cyclePause && !opts.bounce && + ((opts.autostop && (--opts.countdown <= 0)) || + (opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) { + if (opts.end) + opts.end(opts); + return; + } + + // if slideshow is paused, only transition on a manual trigger + var changed = false; + if ((manual || !p.cyclePause) && (opts.nextSlide != opts.currSlide)) { + changed = true; + var fx = opts.fx; + // keep trying to get the slide size if we don't have it yet + curr.cycleH = curr.cycleH || $(curr).height(); + curr.cycleW = curr.cycleW || $(curr).width(); + next.cycleH = next.cycleH || $(next).height(); + next.cycleW = next.cycleW || $(next).width(); + + // support multiple transition types + if (opts.multiFx) { + if (fwd && (opts.lastFx === undefined || ++opts.lastFx >= opts.fxs.length)) + opts.lastFx = 0; + else if (!fwd && (opts.lastFx === undefined || --opts.lastFx < 0)) + opts.lastFx = opts.fxs.length - 1; + fx = opts.fxs[opts.lastFx]; + } + + // one-time fx overrides apply to: $('div').cycle(3,'zoom'); + if (opts.oneTimeFx) { + fx = opts.oneTimeFx; + opts.oneTimeFx = null; + } + + $.fn.cycle.resetState(opts, fx); + + // run the before callbacks + if (opts.before.length) + $.each(opts.before, function(i,o) { + if (p.cycleStop != opts.stopCount) return; + o.apply(next, [curr, next, opts, fwd]); + }); + + // stage the after callacks + var after = function() { + opts.busy = 0; + $.each(opts.after, function(i,o) { + if (p.cycleStop != opts.stopCount) return; + o.apply(next, [curr, next, opts, fwd]); + }); + if (!p.cycleStop) { + // queue next transition + queueNext(); + } + }; + + debug('tx firing('+fx+'); currSlide: ' + opts.currSlide + '; nextSlide: ' + opts.nextSlide); + + // get ready to perform the transition + opts.busy = 1; + if (opts.fxFn) // fx function provided? + opts.fxFn(curr, next, opts, after, fwd, manual && opts.fastOnEvent); + else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ? + $.fn.cycle[opts.fx](curr, next, opts, after, fwd, manual && opts.fastOnEvent); + else + $.fn.cycle.custom(curr, next, opts, after, fwd, manual && opts.fastOnEvent); + } + else { + queueNext(); + } + + if (changed || opts.nextSlide == opts.currSlide) { + // calculate the next slide + var roll; + opts.lastSlide = opts.currSlide; + if (opts.random) { + opts.currSlide = opts.nextSlide; + if (++opts.randomIndex == els.length) { + opts.randomIndex = 0; + opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;}); + } + opts.nextSlide = opts.randomMap[opts.randomIndex]; + if (opts.nextSlide == opts.currSlide) + opts.nextSlide = (opts.currSlide == opts.slideCount - 1) ? 0 : opts.currSlide + 1; + } + else if (opts.backwards) { + roll = (opts.nextSlide - 1) < 0; + if (roll && opts.bounce) { + opts.backwards = !opts.backwards; + opts.nextSlide = 1; + opts.currSlide = 0; + } + else { + opts.nextSlide = roll ? (els.length-1) : opts.nextSlide-1; + opts.currSlide = roll ? 0 : opts.nextSlide+1; + } + } + else { // sequence + roll = (opts.nextSlide + 1) == els.length; + if (roll && opts.bounce) { + opts.backwards = !opts.backwards; + opts.nextSlide = els.length-2; + opts.currSlide = els.length-1; + } + else { + opts.nextSlide = roll ? 0 : opts.nextSlide+1; + opts.currSlide = roll ? els.length-1 : opts.nextSlide-1; + } + } + } + if (changed && opts.pager) + opts.updateActivePagerLink(opts.pager, opts.currSlide, opts.activePagerClass); + + function queueNext() { + // stage the next transition + var ms = 0, timeout = opts.timeout; + if (opts.timeout && !opts.continuous) { + ms = getTimeout(els[opts.currSlide], els[opts.nextSlide], opts, fwd); + if (opts.fx == 'shuffle') + ms -= opts.speedOut; + } + else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic + ms = 10; + if (ms > 0) + p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.backwards); }, ms); + } +} + +// invoked after transition +$.fn.cycle.updateActivePagerLink = function(pager, currSlide, clsName) { + $(pager).each(function() { + $(this).children().removeClass(clsName).eq(currSlide).addClass(clsName); + }); +}; + +// calculate timeout value for current transition +function getTimeout(curr, next, opts, fwd) { + if (opts.timeoutFn) { + // call user provided calc fn + var t = opts.timeoutFn.call(curr,curr,next,opts,fwd); + while (opts.fx != 'none' && (t - opts.speed) < 250) // sanitize timeout + t += opts.speed; + debug('calculated timeout: ' + t + '; speed: ' + opts.speed); + if (t !== false) + return t; + } + return opts.timeout; +} + +// expose next/prev function, caller must pass in state +$.fn.cycle.next = function(opts) { advance(opts,1); }; +$.fn.cycle.prev = function(opts) { advance(opts,0);}; + +// advance slide forward or back +function advance(opts, moveForward) { + var val = moveForward ? 1 : -1; + var els = opts.elements; + var p = opts.$cont[0], timeout = p.cycleTimeout; + if (timeout) { + clearTimeout(timeout); + p.cycleTimeout = 0; + } + if (opts.random && val < 0) { + // move back to the previously display slide + opts.randomIndex--; + if (--opts.randomIndex == -2) + opts.randomIndex = els.length-2; + else if (opts.randomIndex == -1) + opts.randomIndex = els.length-1; + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else if (opts.random) { + opts.nextSlide = opts.randomMap[opts.randomIndex]; + } + else { + opts.nextSlide = opts.currSlide + val; + if (opts.nextSlide < 0) { + if (opts.nowrap) return false; + opts.nextSlide = els.length - 1; + } + else if (opts.nextSlide >= els.length) { + if (opts.nowrap) return false; + opts.nextSlide = 0; + } + } + + var cb = opts.onPrevNextEvent || opts.prevNextClick; // prevNextClick is deprecated + if ($.isFunction(cb)) + cb(val > 0, opts.nextSlide, els[opts.nextSlide]); + go(els, opts, 1, moveForward); + return false; +} + +function buildPager(els, opts) { + var $p = $(opts.pager); + $.each(els, function(i,o) { + $.fn.cycle.createPagerAnchor(i,o,$p,els,opts); + }); + opts.updateActivePagerLink(opts.pager, opts.startingSlide, opts.activePagerClass); +} + +$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) { + var a; + if ($.isFunction(opts.pagerAnchorBuilder)) { + a = opts.pagerAnchorBuilder(i,el); + debug('pagerAnchorBuilder('+i+', el) returned: ' + a); + } + else + a = '<a href="#">'+(i+1)+'</a>'; + + if (!a) + return; + var $a = $(a); + // don't reparent if anchor is in the dom + if ($a.parents('body').length === 0) { + var arr = []; + if ($p.length > 1) { + $p.each(function() { + var $clone = $a.clone(true); + $(this).append($clone); + arr.push($clone[0]); + }); + $a = $(arr); + } + else { + $a.appendTo($p); + } + } + + opts.pagerAnchors = opts.pagerAnchors || []; + opts.pagerAnchors.push($a); + + var pagerFn = function(e) { + e.preventDefault(); + opts.nextSlide = i; + var p = opts.$cont[0], timeout = p.cycleTimeout; + if (timeout) { + clearTimeout(timeout); + p.cycleTimeout = 0; + } + var cb = opts.onPagerEvent || opts.pagerClick; // pagerClick is deprecated + if ($.isFunction(cb)) + cb(opts.nextSlide, els[opts.nextSlide]); + go(els,opts,1,opts.currSlide < i); // trigger the trans +// return false; // <== allow bubble + }; + + if ( /mouseenter|mouseover/i.test(opts.pagerEvent) ) { + $a.hover(pagerFn, function(){/* no-op */} ); + } + else { + $a.bind(opts.pagerEvent, pagerFn); + } + + if ( ! /^click/.test(opts.pagerEvent) && !opts.allowPagerClickBubble) + $a.bind('click.cycle', function(){return false;}); // suppress click + + var cont = opts.$cont[0]; + var pauseFlag = false; // https://github.com/malsup/cycle/issues/44 + if (opts.pauseOnPagerHover) { + $a.hover( + function() { + pauseFlag = true; + cont.cyclePause++; + triggerPause(cont,true,true); + }, function() { + if (pauseFlag) + cont.cyclePause--; + triggerPause(cont,true,true); + } + ); + } +}; + +// helper fn to calculate the number of slides between the current and the next +$.fn.cycle.hopsFromLast = function(opts, fwd) { + var hops, l = opts.lastSlide, c = opts.currSlide; + if (fwd) + hops = c > l ? c - l : opts.slideCount - l; + else + hops = c < l ? l - c : l + opts.slideCount - c; + return hops; +}; + +// fix clearType problems in ie6 by setting an explicit bg color +// (otherwise text slides look horrible during a fade transition) +function clearTypeFix($slides) { + debug('applying clearType background-color hack'); + function hex(s) { + s = parseInt(s,10).toString(16); + return s.length < 2 ? '0'+s : s; + } + function getBg(e) { + for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) { + var v = $.css(e,'background-color'); + if (v && v.indexOf('rgb') >= 0 ) { + var rgb = v.match(/\d+/g); + return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]); + } + if (v && v != 'transparent') + return v; + } + return '#ffffff'; + } + $slides.each(function() { $(this).css('background-color', getBg(this)); }); +} + +// reset common props before the next transition +$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) { + $(opts.elements).not(curr).hide(); + if (typeof opts.cssBefore.opacity == 'undefined') + opts.cssBefore.opacity = 1; + opts.cssBefore.display = 'block'; + if (opts.slideResize && w !== false && next.cycleW > 0) + opts.cssBefore.width = next.cycleW; + if (opts.slideResize && h !== false && next.cycleH > 0) + opts.cssBefore.height = next.cycleH; + opts.cssAfter = opts.cssAfter || {}; + opts.cssAfter.display = 'none'; + $(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0)); + $(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1)); +}; + +// the actual fn for effecting a transition +$.fn.cycle.custom = function(curr, next, opts, cb, fwd, speedOverride) { + var $l = $(curr), $n = $(next); + var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut; + $n.css(opts.cssBefore); + if (speedOverride) { + if (typeof speedOverride == 'number') + speedIn = speedOut = speedOverride; + else + speedIn = speedOut = 1; + easeIn = easeOut = null; + } + var fn = function() { + $n.animate(opts.animIn, speedIn, easeIn, function() { + cb(); + }); + }; + $l.animate(opts.animOut, speedOut, easeOut, function() { + $l.css(opts.cssAfter); + if (!opts.sync) + fn(); + }); + if (opts.sync) fn(); +}; + +// transition definitions - only fade is defined here, transition pack defines the rest +$.fn.cycle.transitions = { + fade: function($cont, $slides, opts) { + $slides.not(':eq('+opts.currSlide+')').css('opacity',0); + opts.before.push(function(curr,next,opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.opacity = 0; + }); + opts.animIn = { opacity: 1 }; + opts.animOut = { opacity: 0 }; + opts.cssBefore = { top: 0, left: 0 }; + } +}; + +$.fn.cycle.ver = function() { return ver; }; + +// override these globally if you like (they are all optional) +$.fn.cycle.defaults = { + activePagerClass: 'activeSlide', // class name used for the active pager link + after: null, // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag) + allowPagerClickBubble: false, // allows or prevents click event on pager anchors from bubbling + animIn: null, // properties that define how the slide animates in + animOut: null, // properties that define how the slide animates out + aspect: false, // preserve aspect ratio during fit resizing, cropping if necessary (must be used with fit option) + autostop: 0, // true to end slideshow after X transitions (where X == slide count) + autostopCount: 0, // number of transitions (optionally used with autostop to define X) + backwards: false, // true to start slideshow at last slide and move backwards through the stack + before: null, // transition callback (scope set to element to be shown): function(currSlideElement, nextSlideElement, options, forwardFlag) + center: null, // set to true to have cycle add top/left margin to each slide (use with width and height options) + cleartype: !$.support.opacity, // true if clearType corrections should be applied (for IE) + cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides) + containerResize: 1, // resize container to fit largest slide + containerResizeHeight: 0, // resize containers height to fit the largest slide but leave the width dynamic + continuous: 0, // true to start next transition immediately after current one completes + cssAfter: null, // properties that defined the state of the slide after transitioning out + cssBefore: null, // properties that define the initial state of the slide before transitioning in + delay: 0, // additional delay (in ms) for first transition (hint: can be negative) + easeIn: null, // easing for "in" transition + easeOut: null, // easing for "out" transition + easing: null, // easing method for both in and out transitions + end: null, // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options) + fastOnEvent: 0, // force fast transitions when triggered manually (via pager or prev/next); value == time in ms + fit: 0, // force slides to fit container + fx: 'fade', // name of transition effect (or comma separated names, ex: 'fade,scrollUp,shuffle') + fxFn: null, // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) + height: 'auto', // container height (if the 'fit' option is true, the slides will be set to this height as well) + manualTrump: true, // causes manual transition to stop an active transition instead of being ignored + metaAttr: 'cycle', // data- attribute that holds the option data for the slideshow + next: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for next slide + nowrap: 0, // true to prevent slideshow from wrapping + onPagerEvent: null, // callback fn for pager events: function(zeroBasedSlideIndex, slideElement) + onPrevNextEvent: null, // callback fn for prev/next events: function(isNext, zeroBasedSlideIndex, slideElement) + pager: null, // element, jQuery object, or jQuery selector string for the element to use as pager container + pagerAnchorBuilder: null, // callback fn for building anchor links: function(index, DOMelement) + pagerEvent: 'click.cycle', // name of event which drives the pager navigation + pause: 0, // true to enable "pause on hover" + pauseOnPagerHover: 0, // true to pause when hovering over pager link + prev: null, // element, jQuery object, or jQuery selector string for the element to use as event trigger for previous slide + prevNextEvent: 'click.cycle',// event which drives the manual transition to the previous or next slide + random: 0, // true for random, false for sequence (not applicable to shuffle fx) + randomizeEffects: 1, // valid when multiple effects are used; true to make the effect sequence random + requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded + requeueTimeout: 250, // ms delay for requeue + rev: 0, // causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle) + shuffle: null, // coords for shuffle animation, ex: { top:15, left: 200 } + skipInitializationCallbacks: false, // set to true to disable the first before/after callback that occurs prior to any transition + slideExpr: null, // expression for selecting slides (if something other than all children is required) + slideResize: 1, // force slide width/height to fixed size before every transition + speed: 1000, // speed of the transition (any valid fx speed value) + speedIn: null, // speed of the 'in' transition + speedOut: null, // speed of the 'out' transition + startingSlide: undefined,// zero-based index of the first slide to be displayed + sync: 1, // true if in/out transitions should occur simultaneously + timeout: 4000, // milliseconds between slide transitions (0 to disable auto advance) + timeoutFn: null, // callback for determining per-slide timeout value: function(currSlideElement, nextSlideElement, options, forwardFlag) + updateActivePagerLink: null,// callback fn invoked to update the active pager link (adds/removes activePagerClass style) + width: null // container width (if the 'fit' option is true, the slides will be set to this width as well) +}; + +})(jQuery); + + +/*! + * jQuery Cycle Plugin Transition Definitions + * This script is a plugin for the jQuery Cycle Plugin + * Examples and documentation at: http://malsup.com/jquery/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.73 + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($) { +"use strict"; + +// +// These functions define slide initialization and properties for the named +// transitions. To save file size feel free to remove any of these that you +// don't need. +// +$.fn.cycle.transitions.none = function($cont, $slides, opts) { + opts.fxFn = function(curr,next,opts,after){ + $(next).show(); + $(curr).hide(); + after(); + }; +}; + +// not a cross-fade, fadeout only fades out the top slide +$.fn.cycle.transitions.fadeout = function($cont, $slides, opts) { + $slides.not(':eq('+opts.currSlide+')').css({ display: 'block', 'opacity': 1 }); + opts.before.push(function(curr,next,opts,w,h,rev) { + $(curr).css('zIndex',opts.slideCount + (rev !== true ? 1 : 0)); + $(next).css('zIndex',opts.slideCount + (rev !== true ? 0 : 1)); + }); + opts.animIn.opacity = 1; + opts.animOut.opacity = 0; + opts.cssBefore.opacity = 1; + opts.cssBefore.display = 'block'; + opts.cssAfter.zIndex = 0; +}; + +// scrollUp/Down/Left/Right +$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var h = $cont.height(); + opts.cssBefore.top = h; + opts.cssBefore.left = 0; + opts.cssFirst.top = 0; + opts.animIn.top = 0; + opts.animOut.top = -h; +}; +$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var h = $cont.height(); + opts.cssFirst.top = 0; + opts.cssBefore.top = -h; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.top = h; +}; +$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var w = $cont.width(); + opts.cssFirst.left = 0; + opts.cssBefore.left = w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = 0-w; +}; +$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push($.fn.cycle.commonReset); + var w = $cont.width(); + opts.cssFirst.left = 0; + opts.cssBefore.left = -w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = w; +}; +$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) { + $cont.css('overflow','hidden').width(); + opts.before.push(function(curr, next, opts, fwd) { + if (opts.rev) + fwd = !fwd; + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW); + opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW; + }); + opts.cssFirst.left = 0; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.top = 0; +}; +$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) { + $cont.css('overflow','hidden'); + opts.before.push(function(curr, next, opts, fwd) { + if (opts.rev) + fwd = !fwd; + $.fn.cycle.commonReset(curr,next,opts); + opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1); + opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.left = 0; +}; + +// slideX/slideY +$.fn.cycle.transitions.slideX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $(opts.elements).not(curr).hide(); + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.animIn.width = next.cycleW; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; + opts.animIn.width = 'show'; + opts.animOut.width = 0; +}; +$.fn.cycle.transitions.slideY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $(opts.elements).not(curr).hide(); + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.animIn.height = next.cycleH; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.height = 0; + opts.animIn.height = 'show'; + opts.animOut.height = 0; +}; + +// shuffle +$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) { + var i, w = $cont.css('overflow', 'visible').width(); + $slides.css({left: 0, top: 0}); + opts.before.push(function(curr,next,opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + }); + // only adjust speed once! + if (!opts.speedAdjusted) { + opts.speed = opts.speed / 2; // shuffle has 2 transitions + opts.speedAdjusted = true; + } + opts.random = 0; + opts.shuffle = opts.shuffle || {left:-w, top:15}; + opts.els = []; + for (i=0; i < $slides.length; i++) + opts.els.push($slides[i]); + + for (i=0; i < opts.currSlide; i++) + opts.els.push(opts.els.shift()); + + // custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!) + opts.fxFn = function(curr, next, opts, cb, fwd) { + if (opts.rev) + fwd = !fwd; + var $el = fwd ? $(curr) : $(next); + $(next).css(opts.cssBefore); + var count = opts.slideCount; + $el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() { + var hops = $.fn.cycle.hopsFromLast(opts, fwd); + for (var k=0; k < hops; k++) { + if (fwd) + opts.els.push(opts.els.shift()); + else + opts.els.unshift(opts.els.pop()); + } + if (fwd) { + for (var i=0, len=opts.els.length; i < len; i++) + $(opts.els[i]).css('z-index', len-i+count); + } + else { + var z = $(curr).css('z-index'); + $el.css('z-index', parseInt(z,10)+1+count); + } + $el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() { + $(fwd ? this : curr).hide(); + if (cb) cb(); + }); + }); + }; + $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 }); +}; + +// turnUp/Down/Left/Right +$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.cssBefore.top = next.cycleH; + opts.animIn.height = next.cycleH; + opts.animOut.width = next.cycleW; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.cssBefore.height = 0; + opts.animIn.top = 0; + opts.animOut.height = 0; +}; +$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssFirst.top = 0; + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.cssBefore.height = 0; + opts.animOut.height = 0; +}; +$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.cssBefore.left = next.cycleW; + opts.animIn.width = next.cycleW; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; + opts.animIn.left = 0; + opts.animOut.width = 0; +}; +$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.animIn.width = next.cycleW; + opts.animOut.left = curr.cycleW; + }); + $.extend(opts.cssBefore, { top: 0, left: 0, width: 0 }); + opts.animIn.left = 0; + opts.animOut.width = 0; +}; + +// zoom +$.fn.cycle.transitions.zoom = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,false,true); + opts.cssBefore.top = next.cycleH/2; + opts.cssBefore.left = next.cycleW/2; + $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH }); + $.extend(opts.animOut, { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 }); + }); + opts.cssFirst.top = 0; + opts.cssFirst.left = 0; + opts.cssBefore.width = 0; + opts.cssBefore.height = 0; +}; + +// fadeZoom +$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,false); + opts.cssBefore.left = next.cycleW/2; + opts.cssBefore.top = next.cycleH/2; + $.extend(opts.animIn, { top: 0, left: 0, width: next.cycleW, height: next.cycleH }); + }); + opts.cssBefore.width = 0; + opts.cssBefore.height = 0; + opts.animOut.opacity = 0; +}; + +// blindX +$.fn.cycle.transitions.blindX = function($cont, $slides, opts) { + var w = $cont.css('overflow','hidden').width(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.width = next.cycleW; + opts.animOut.left = curr.cycleW; + }); + opts.cssBefore.left = w; + opts.cssBefore.top = 0; + opts.animIn.left = 0; + opts.animOut.left = w; +}; +// blindY +$.fn.cycle.transitions.blindY = function($cont, $slides, opts) { + var h = $cont.css('overflow','hidden').height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssBefore.top = h; + opts.cssBefore.left = 0; + opts.animIn.top = 0; + opts.animOut.top = h; +}; +// blindZ +$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) { + var h = $cont.css('overflow','hidden').height(); + var w = $cont.width(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH; + }); + opts.cssBefore.top = h; + opts.cssBefore.left = w; + opts.animIn.top = 0; + opts.animIn.left = 0; + opts.animOut.top = h; + opts.animOut.left = w; +}; + +// growX - grow horizontally from centered 0 width +$.fn.cycle.transitions.growX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true); + opts.cssBefore.left = this.cycleW/2; + opts.animIn.left = 0; + opts.animIn.width = this.cycleW; + opts.animOut.left = 0; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; +}; +// growY - grow vertically from centered 0 height +$.fn.cycle.transitions.growY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false); + opts.cssBefore.top = this.cycleH/2; + opts.animIn.top = 0; + opts.animIn.height = this.cycleH; + opts.animOut.top = 0; + }); + opts.cssBefore.height = 0; + opts.cssBefore.left = 0; +}; + +// curtainX - squeeze in both edges horizontally +$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,false,true,true); + opts.cssBefore.left = next.cycleW/2; + opts.animIn.left = 0; + opts.animIn.width = this.cycleW; + opts.animOut.left = curr.cycleW/2; + opts.animOut.width = 0; + }); + opts.cssBefore.top = 0; + opts.cssBefore.width = 0; +}; +// curtainY - squeeze in both edges vertically +$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) { + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,false,true); + opts.cssBefore.top = next.cycleH/2; + opts.animIn.top = 0; + opts.animIn.height = next.cycleH; + opts.animOut.top = curr.cycleH/2; + opts.animOut.height = 0; + }); + opts.cssBefore.height = 0; + opts.cssBefore.left = 0; +}; + +// cover - curr slide covered by next slide +$.fn.cycle.transitions.cover = function($cont, $slides, opts) { + var d = opts.direction || 'left'; + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts); + if (d == 'right') + opts.cssBefore.left = -w; + else if (d == 'up') + opts.cssBefore.top = h; + else if (d == 'down') + opts.cssBefore.top = -h; + else + opts.cssBefore.left = w; + }); + opts.animIn.left = 0; + opts.animIn.top = 0; + opts.cssBefore.top = 0; + opts.cssBefore.left = 0; +}; + +// uncover - curr slide moves off next slide +$.fn.cycle.transitions.uncover = function($cont, $slides, opts) { + var d = opts.direction || 'left'; + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + if (d == 'right') + opts.animOut.left = w; + else if (d == 'up') + opts.animOut.top = -h; + else if (d == 'down') + opts.animOut.top = h; + else + opts.animOut.left = -w; + }); + opts.animIn.left = 0; + opts.animIn.top = 0; + opts.cssBefore.top = 0; + opts.cssBefore.left = 0; +}; + +// toss - move top slide and fade away +$.fn.cycle.transitions.toss = function($cont, $slides, opts) { + var w = $cont.css('overflow','visible').width(); + var h = $cont.height(); + opts.before.push(function(curr, next, opts) { + $.fn.cycle.commonReset(curr,next,opts,true,true,true); + // provide default toss settings if animOut not provided + if (!opts.animOut.left && !opts.animOut.top) + $.extend(opts.animOut, { left: w*2, top: -h/2, opacity: 0 }); + else + opts.animOut.opacity = 0; + }); + opts.cssBefore.left = 0; + opts.cssBefore.top = 0; + opts.animIn.left = 0; +}; + +// wipe - clip animation +$.fn.cycle.transitions.wipe = function($cont, $slides, opts) { + var w = $cont.css('overflow','hidden').width(); + var h = $cont.height(); + opts.cssBefore = opts.cssBefore || {}; + var clip; + if (opts.clip) { + if (/l2r/.test(opts.clip)) + clip = 'rect(0px 0px '+h+'px 0px)'; + else if (/r2l/.test(opts.clip)) + clip = 'rect(0px '+w+'px '+h+'px '+w+'px)'; + else if (/t2b/.test(opts.clip)) + clip = 'rect(0px '+w+'px 0px 0px)'; + else if (/b2t/.test(opts.clip)) + clip = 'rect('+h+'px '+w+'px '+h+'px 0px)'; + else if (/zoom/.test(opts.clip)) { + var top = parseInt(h/2,10); + var left = parseInt(w/2,10); + clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)'; + } + } + + opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)'; + + var d = opts.cssBefore.clip.match(/(\d+)/g); + var t = parseInt(d[0],10), r = parseInt(d[1],10), b = parseInt(d[2],10), l = parseInt(d[3],10); + + opts.before.push(function(curr, next, opts) { + if (curr == next) return; + var $curr = $(curr), $next = $(next); + $.fn.cycle.commonReset(curr,next,opts,true,true,false); + opts.cssAfter.display = 'block'; + + var step = 1, count = parseInt((opts.speedIn / 13),10) - 1; + (function f() { + var tt = t ? t - parseInt(step * (t/count),10) : 0; + var ll = l ? l - parseInt(step * (l/count),10) : 0; + var bb = b < h ? b + parseInt(step * ((h-b)/count || 1),10) : h; + var rr = r < w ? r + parseInt(step * ((w-r)/count || 1),10) : w; + $next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' }); + (step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none'); + })(); + }); + $.extend(opts.cssBefore, { display: 'block', opacity: 1, top: 0, left: 0 }); + opts.animIn = { left: 0 }; + opts.animOut = { left: 0 }; +}; + +})(jQuery); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js new file mode 100644 index 000000000..57f08336e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.cycle.all.min.js @@ -0,0 +1,10 @@ +/*! + * jQuery Cycle Plugin (with Transition Definitions) + * Examples and documentation at: http://jquery.malsup.com/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.9999.6 (11-SEP-2012) + * Dual licensed under the MIT and GPL licenses. + * http://jquery.malsup.com/license.html + * Requires: jQuery v1.3.2 or later + */ +(function(a,b){function d(b){if(a.fn.cycle.debug)e(b)}function e(){if(window.console&&console.log)console.log("[cycle] "+Array.prototype.join.call(arguments," "))}function f(b,c,d){var e=a(b).data("cycle.opts");var f=!!b.cyclePause;if(f&&e.paused)e.paused(b,e,c,d);else if(!f&&e.resumed)e.resumed(b,e,c,d)}function g(c,d,g){function k(b,c,d){if(!b&&c===true){var f=a(d).data("cycle.opts");if(!f){e("options not found, can not resume");return false}if(d.cycleTimeout){clearTimeout(d.cycleTimeout);d.cycleTimeout=0}n(f.elements,f,1,!f.backwards)}}if(c.cycleStop===b)c.cycleStop=0;if(d===b||d===null)d={};if(d.constructor==String){switch(d){case"destroy":case"stop":var h=a(c).data("cycle.opts");if(!h)return false;c.cycleStop++;if(c.cycleTimeout)clearTimeout(c.cycleTimeout);c.cycleTimeout=0;if(h.elements)a(h.elements).stop();a(c).removeData("cycle.opts");if(d=="destroy")i(c,h);return false;case"toggle":c.cyclePause=c.cyclePause===1?0:1;k(c.cyclePause,g,c);f(c);return false;case"pause":c.cyclePause=1;f(c);return false;case"resume":c.cyclePause=0;k(false,g,c);f(c);return false;case"prev":case"next":h=a(c).data("cycle.opts");if(!h){e('options not found, "prev/next" ignored');return false}a.fn.cycle[d](h);return false;default:d={fx:d}}return d}else if(d.constructor==Number){var j=d;d=a(c).data("cycle.opts");if(!d){e("options not found, can not advance slide");return false}if(j<0||j>=d.elements.length){e("invalid slide index: "+j);return false}d.nextSlide=j;if(c.cycleTimeout){clearTimeout(c.cycleTimeout);c.cycleTimeout=0}if(typeof g=="string")d.oneTimeFx=g;n(d.elements,d,1,j>=d.currSlide);return false}return d}function h(b,c){if(!a.support.opacity&&c.cleartype&&b.style.filter){try{b.style.removeAttribute("filter")}catch(d){}}}function i(b,c){if(c.next)a(c.next).unbind(c.prevNextEvent);if(c.prev)a(c.prev).unbind(c.prevNextEvent);if(c.pager||c.pagerAnchorBuilder)a.each(c.pagerAnchors||[],function(){this.unbind().remove()});c.pagerAnchors=null;a(b).unbind("mouseenter.cycle mouseleave.cycle");if(c.destroy)c.destroy(c)}function j(c,d,g,i,j){var o;var s=a.extend({},a.fn.cycle.defaults,i||{},a.metadata?c.metadata():a.meta?c.data():{});var t=a.isFunction(c.data)?c.data(s.metaAttr):null;if(t)s=a.extend(s,t);if(s.autostop)s.countdown=s.autostopCount||g.length;var u=c[0];c.data("cycle.opts",s);s.$cont=c;s.stopCount=u.cycleStop;s.elements=g;s.before=s.before?[s.before]:[];s.after=s.after?[s.after]:[];if(!a.support.opacity&&s.cleartype)s.after.push(function(){h(this,s)});if(s.continuous)s.after.push(function(){n(g,s,0,!s.backwards)});k(s);if(!a.support.opacity&&s.cleartype&&!s.cleartypeNoBg)r(d);if(c.css("position")=="static")c.css("position","relative");if(s.width)c.width(s.width);if(s.height&&s.height!="auto")c.height(s.height);if(s.startingSlide!==b){s.startingSlide=parseInt(s.startingSlide,10);if(s.startingSlide>=g.length||s.startSlide<0)s.startingSlide=0;else o=true}else if(s.backwards)s.startingSlide=g.length-1;else s.startingSlide=0;if(s.random){s.randomMap=[];for(var v=0;v<g.length;v++)s.randomMap.push(v);s.randomMap.sort(function(a,b){return Math.random()-.5});if(o){for(var w=0;w<g.length;w++){if(s.startingSlide==s.randomMap[w]){s.randomIndex=w}}}else{s.randomIndex=1;s.startingSlide=s.randomMap[1]}}else if(s.startingSlide>=g.length)s.startingSlide=0;s.currSlide=s.startingSlide||0;var x=s.startingSlide;d.css({position:"absolute",top:0,left:0}).hide().each(function(b){var c;if(s.backwards)c=x?b<=x?g.length+(b-x):x-b:g.length-b;else c=x?b>=x?g.length-(b-x):x-b:g.length-b;a(this).css("z-index",c)});a(g[x]).css("opacity",1).show();h(g[x],s);if(s.fit){if(!s.aspect){if(s.width)d.width(s.width);if(s.height&&s.height!="auto")d.height(s.height)}else{d.each(function(){var b=a(this);var c=s.aspect===true?b.width()/b.height():s.aspect;if(s.width&&b.width()!=s.width){b.width(s.width);b.height(s.width/c)}if(s.height&&b.height()<s.height){b.height(s.height);b.width(s.height*c)}})}}if(s.center&&(!s.fit||s.aspect)){d.each(function(){var b=a(this);b.css({"margin-left":s.width?(s.width-b.width())/2+"px":0,"margin-top":s.height?(s.height-b.height())/2+"px":0})})}if(s.center&&!s.fit&&!s.slideResize){d.each(function(){var b=a(this);b.css({"margin-left":s.width?(s.width-b.width())/2+"px":0,"margin-top":s.height?(s.height-b.height())/2+"px":0})})}var y=(s.containerResize||s.containerResizeHeight)&&!c.innerHeight();if(y){var z=0,A=0;for(var B=0;B<g.length;B++){var C=a(g[B]),D=C[0],E=C.outerWidth(),F=C.outerHeight();if(!E)E=D.offsetWidth||D.width||C.attr("width");if(!F)F=D.offsetHeight||D.height||C.attr("height");z=E>z?E:z;A=F>A?F:A}if(s.containerResize&&z>0&&A>0)c.css({width:z+"px",height:A+"px"});if(s.containerResizeHeight&&A>0)c.css({height:A+"px"})}var G=false;if(s.pause)c.bind("mouseenter.cycle",function(){G=true;this.cyclePause++;f(u,true)}).bind("mouseleave.cycle",function(){if(G)this.cyclePause--;f(u,true)});if(l(s)===false)return false;var H=false;i.requeueAttempts=i.requeueAttempts||0;d.each(function(){var b=a(this);this.cycleH=s.fit&&s.height?s.height:b.height()||this.offsetHeight||this.height||b.attr("height")||0;this.cycleW=s.fit&&s.width?s.width:b.width()||this.offsetWidth||this.width||b.attr("width")||0;if(b.is("img")){var c=a.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete;var d=a.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete;var f=a.browser.opera&&(this.cycleW==42&&this.cycleH==19||this.cycleW==37&&this.cycleH==17)&&!this.complete;var g=this.cycleH===0&&this.cycleW===0&&!this.complete;if(c||d||f||g){if(j.s&&s.requeueOnImageNotLoaded&&++i.requeueAttempts<100){e(i.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){a(j.s,j.c).cycle(i)},s.requeueTimeout);H=true;return false}else{e("could not determine size of image: "+this.src,this.cycleW,this.cycleH)}}}return true});if(H)return false;s.cssBefore=s.cssBefore||{};s.cssAfter=s.cssAfter||{};s.cssFirst=s.cssFirst||{};s.animIn=s.animIn||{};s.animOut=s.animOut||{};d.not(":eq("+x+")").css(s.cssBefore);a(d[x]).css(s.cssFirst);if(s.timeout){s.timeout=parseInt(s.timeout,10);if(s.speed.constructor==String)s.speed=a.fx.speeds[s.speed]||parseInt(s.speed,10);if(!s.sync)s.speed=s.speed/2;var I=s.fx=="none"?0:s.fx=="shuffle"?500:250;while(s.timeout-s.speed<I)s.timeout+=s.speed}if(s.easing)s.easeIn=s.easeOut=s.easing;if(!s.speedIn)s.speedIn=s.speed;if(!s.speedOut)s.speedOut=s.speed;s.slideCount=g.length;s.currSlide=s.lastSlide=x;if(s.random){if(++s.randomIndex==g.length)s.randomIndex=0;s.nextSlide=s.randomMap[s.randomIndex]}else if(s.backwards)s.nextSlide=s.startingSlide===0?g.length-1:s.startingSlide-1;else s.nextSlide=s.startingSlide>=g.length-1?0:s.startingSlide+1;if(!s.multiFx){var J=a.fn.cycle.transitions[s.fx];if(a.isFunction(J))J(c,d,s);else if(s.fx!="custom"&&!s.multiFx){e("unknown transition: "+s.fx,"; slideshow terminating");return false}}var K=d[x];if(!s.skipInitializationCallbacks){if(s.before.length)s.before[0].apply(K,[K,K,s,true]);if(s.after.length)s.after[0].apply(K,[K,K,s,true])}if(s.next)a(s.next).bind(s.prevNextEvent,function(){return p(s,1)});if(s.prev)a(s.prev).bind(s.prevNextEvent,function(){return p(s,0)});if(s.pager||s.pagerAnchorBuilder)q(g,s);m(s,g);return s}function k(b){b.original={before:[],after:[]};b.original.cssBefore=a.extend({},b.cssBefore);b.original.cssAfter=a.extend({},b.cssAfter);b.original.animIn=a.extend({},b.animIn);b.original.animOut=a.extend({},b.animOut);a.each(b.before,function(){b.original.before.push(this)});a.each(b.after,function(){b.original.after.push(this)})}function l(b){var c,f,g=a.fn.cycle.transitions;if(b.fx.indexOf(",")>0){b.multiFx=true;b.fxs=b.fx.replace(/\s*/g,"").split(",");for(c=0;c<b.fxs.length;c++){var h=b.fxs[c];f=g[h];if(!f||!g.hasOwnProperty(h)||!a.isFunction(f)){e("discarding unknown transition: ",h);b.fxs.splice(c,1);c--}}if(!b.fxs.length){e("No valid transitions named; slideshow terminating.");return false}}else if(b.fx=="all"){b.multiFx=true;b.fxs=[];for(var i in g){if(g.hasOwnProperty(i)){f=g[i];if(g.hasOwnProperty(i)&&a.isFunction(f))b.fxs.push(i)}}}if(b.multiFx&&b.randomizeEffects){var j=Math.floor(Math.random()*20)+30;for(c=0;c<j;c++){var k=Math.floor(Math.random()*b.fxs.length);b.fxs.push(b.fxs.splice(k,1)[0])}d("randomized fx sequence: ",b.fxs)}return true}function m(b,c){b.addSlide=function(d,e){var f=a(d),g=f[0];if(!b.autostopCount)b.countdown++;c[e?"unshift":"push"](g);if(b.els)b.els[e?"unshift":"push"](g);b.slideCount=c.length;if(b.random){b.randomMap.push(b.slideCount-1);b.randomMap.sort(function(a,b){return Math.random()-.5})}f.css("position","absolute");f[e?"prependTo":"appendTo"](b.$cont);if(e){b.currSlide++;b.nextSlide++}if(!a.support.opacity&&b.cleartype&&!b.cleartypeNoBg)r(f);if(b.fit&&b.width)f.width(b.width);if(b.fit&&b.height&&b.height!="auto")f.height(b.height);g.cycleH=b.fit&&b.height?b.height:f.height();g.cycleW=b.fit&&b.width?b.width:f.width();f.css(b.cssBefore);if(b.pager||b.pagerAnchorBuilder)a.fn.cycle.createPagerAnchor(c.length-1,g,a(b.pager),c,b);if(a.isFunction(b.onAddSlide))b.onAddSlide(f);else f.hide()}}function n(c,e,f,g){function q(){var a=0,b=e.timeout;if(e.timeout&&!e.continuous){a=o(c[e.currSlide],c[e.nextSlide],e,g);if(e.fx=="shuffle")a-=e.speedOut}else if(e.continuous&&h.cyclePause)a=10;if(a>0)h.cycleTimeout=setTimeout(function(){n(c,e,0,!e.backwards)},a)}var h=e.$cont[0],i=c[e.currSlide],j=c[e.nextSlide];if(f&&e.busy&&e.manualTrump){d("manualTrump in go(), stopping active transition");a(c).stop(true,true);e.busy=0;clearTimeout(h.cycleTimeout)}if(e.busy){d("transition active, ignoring new tx request");return}if(h.cycleStop!=e.stopCount||h.cycleTimeout===0&&!f)return;if(!f&&!h.cyclePause&&!e.bounce&&(e.autostop&&--e.countdown<=0||e.nowrap&&!e.random&&e.nextSlide<e.currSlide)){if(e.end)e.end(e);return}var k=false;if((f||!h.cyclePause)&&e.nextSlide!=e.currSlide){k=true;var l=e.fx;i.cycleH=i.cycleH||a(i).height();i.cycleW=i.cycleW||a(i).width();j.cycleH=j.cycleH||a(j).height();j.cycleW=j.cycleW||a(j).width();if(e.multiFx){if(g&&(e.lastFx===b||++e.lastFx>=e.fxs.length))e.lastFx=0;else if(!g&&(e.lastFx===b||--e.lastFx<0))e.lastFx=e.fxs.length-1;l=e.fxs[e.lastFx]}if(e.oneTimeFx){l=e.oneTimeFx;e.oneTimeFx=null}a.fn.cycle.resetState(e,l);if(e.before.length)a.each(e.before,function(a,b){if(h.cycleStop!=e.stopCount)return;b.apply(j,[i,j,e,g])});var m=function(){e.busy=0;a.each(e.after,function(a,b){if(h.cycleStop!=e.stopCount)return;b.apply(j,[i,j,e,g])});if(!h.cycleStop){q()}};d("tx firing("+l+"); currSlide: "+e.currSlide+"; nextSlide: "+e.nextSlide);e.busy=1;if(e.fxFn)e.fxFn(i,j,e,m,g,f&&e.fastOnEvent);else if(a.isFunction(a.fn.cycle[e.fx]))a.fn.cycle[e.fx](i,j,e,m,g,f&&e.fastOnEvent);else a.fn.cycle.custom(i,j,e,m,g,f&&e.fastOnEvent)}else{q()}if(k||e.nextSlide==e.currSlide){var p;e.lastSlide=e.currSlide;if(e.random){e.currSlide=e.nextSlide;if(++e.randomIndex==c.length){e.randomIndex=0;e.randomMap.sort(function(a,b){return Math.random()-.5})}e.nextSlide=e.randomMap[e.randomIndex];if(e.nextSlide==e.currSlide)e.nextSlide=e.currSlide==e.slideCount-1?0:e.currSlide+1}else if(e.backwards){p=e.nextSlide-1<0;if(p&&e.bounce){e.backwards=!e.backwards;e.nextSlide=1;e.currSlide=0}else{e.nextSlide=p?c.length-1:e.nextSlide-1;e.currSlide=p?0:e.nextSlide+1}}else{p=e.nextSlide+1==c.length;if(p&&e.bounce){e.backwards=!e.backwards;e.nextSlide=c.length-2;e.currSlide=c.length-1}else{e.nextSlide=p?0:e.nextSlide+1;e.currSlide=p?c.length-1:e.nextSlide-1}}}if(k&&e.pager)e.updateActivePagerLink(e.pager,e.currSlide,e.activePagerClass)}function o(a,b,c,e){if(c.timeoutFn){var f=c.timeoutFn.call(a,a,b,c,e);while(c.fx!="none"&&f-c.speed<250)f+=c.speed;d("calculated timeout: "+f+"; speed: "+c.speed);if(f!==false)return f}return c.timeout}function p(b,c){var d=c?1:-1;var e=b.elements;var f=b.$cont[0],g=f.cycleTimeout;if(g){clearTimeout(g);f.cycleTimeout=0}if(b.random&&d<0){b.randomIndex--;if(--b.randomIndex==-2)b.randomIndex=e.length-2;else if(b.randomIndex==-1)b.randomIndex=e.length-1;b.nextSlide=b.randomMap[b.randomIndex]}else if(b.random){b.nextSlide=b.randomMap[b.randomIndex]}else{b.nextSlide=b.currSlide+d;if(b.nextSlide<0){if(b.nowrap)return false;b.nextSlide=e.length-1}else if(b.nextSlide>=e.length){if(b.nowrap)return false;b.nextSlide=0}}var h=b.onPrevNextEvent||b.prevNextClick;if(a.isFunction(h))h(d>0,b.nextSlide,e[b.nextSlide]);n(e,b,1,c);return false}function q(b,c){var d=a(c.pager);a.each(b,function(e,f){a.fn.cycle.createPagerAnchor(e,f,d,b,c)});c.updateActivePagerLink(c.pager,c.startingSlide,c.activePagerClass)}function r(b){function c(a){a=parseInt(a,10).toString(16);return a.length<2?"0"+a:a}function e(b){for(;b&&b.nodeName.toLowerCase()!="html";b=b.parentNode){var d=a.css(b,"background-color");if(d&&d.indexOf("rgb")>=0){var e=d.match(/\d+/g);return"#"+c(e[0])+c(e[1])+c(e[2])}if(d&&d!="transparent")return d}return"#ffffff"}d("applying clearType background-color hack");b.each(function(){a(this).css("background-color",e(this))})}"use strict";var c="2.9999.6";if(a.support===b){a.support={opacity:!a.browser.msie}}a.expr[":"].paused=function(a){return a.cyclePause};a.fn.cycle=function(b,c){var f={s:this.selector,c:this.context};if(this.length===0&&b!="stop"){if(!a.isReady&&f.s){e("DOM not ready, queuing slideshow");a(function(){a(f.s,f.c).cycle(b,c)});return this}e("terminating; zero elements found by selector"+(a.isReady?"":" (DOM not ready)"));return this}return this.each(function(){var h=g(this,b,c);if(h===false)return;h.updateActivePagerLink=h.updateActivePagerLink||a.fn.cycle.updateActivePagerLink;if(this.cycleTimeout)clearTimeout(this.cycleTimeout);this.cycleTimeout=this.cyclePause=0;this.cycleStop=0;var i=a(this);var k=h.slideExpr?a(h.slideExpr,this):i.children();var l=k.get();if(l.length<2){e("terminating; too few slides: "+l.length);return}var m=j(i,k,l,h,f);if(m===false)return;var p=m.continuous?10:o(l[m.currSlide],l[m.nextSlide],m,!m.backwards);if(p){p+=m.delay||0;if(p<10)p=10;d("first timeout: "+p);this.cycleTimeout=setTimeout(function(){n(l,m,0,!h.backwards)},p)}})};a.fn.cycle.resetState=function(b,c){c=c||b.fx;b.before=[];b.after=[];b.cssBefore=a.extend({},b.original.cssBefore);b.cssAfter=a.extend({},b.original.cssAfter);b.animIn=a.extend({},b.original.animIn);b.animOut=a.extend({},b.original.animOut);b.fxFn=null;a.each(b.original.before,function(){b.before.push(this)});a.each(b.original.after,function(){b.after.push(this)});var d=a.fn.cycle.transitions[c];if(a.isFunction(d))d(b.$cont,a(b.elements),b)};a.fn.cycle.updateActivePagerLink=function(b,c,d){a(b).each(function(){a(this).children().removeClass(d).eq(c).addClass(d)})};a.fn.cycle.next=function(a){p(a,1)};a.fn.cycle.prev=function(a){p(a,0)};a.fn.cycle.createPagerAnchor=function(b,c,e,g,h){var i;if(a.isFunction(h.pagerAnchorBuilder)){i=h.pagerAnchorBuilder(b,c);d("pagerAnchorBuilder("+b+", el) returned: "+i)}else i='<a href="#">'+(b+1)+"</a>";if(!i)return;var j=a(i);if(j.parents("body").length===0){var k=[];if(e.length>1){e.each(function(){var b=j.clone(true);a(this).append(b);k.push(b[0])});j=a(k)}else{j.appendTo(e)}}h.pagerAnchors=h.pagerAnchors||[];h.pagerAnchors.push(j);var l=function(c){c.preventDefault();h.nextSlide=b;var d=h.$cont[0],e=d.cycleTimeout;if(e){clearTimeout(e);d.cycleTimeout=0}var f=h.onPagerEvent||h.pagerClick;if(a.isFunction(f))f(h.nextSlide,g[h.nextSlide]);n(g,h,1,h.currSlide<b)};if(/mouseenter|mouseover/i.test(h.pagerEvent)){j.hover(l,function(){})}else{j.bind(h.pagerEvent,l)}if(!/^click/.test(h.pagerEvent)&&!h.allowPagerClickBubble)j.bind("click.cycle",function(){return false});var m=h.$cont[0];var o=false;if(h.pauseOnPagerHover){j.hover(function(){o=true;m.cyclePause++;f(m,true,true)},function(){if(o)m.cyclePause--;f(m,true,true)})}};a.fn.cycle.hopsFromLast=function(a,b){var c,d=a.lastSlide,e=a.currSlide;if(b)c=e>d?e-d:a.slideCount-d;else c=e<d?d-e:d+a.slideCount-e;return c};a.fn.cycle.commonReset=function(b,c,d,e,f,g){a(d.elements).not(b).hide();if(typeof d.cssBefore.opacity=="undefined")d.cssBefore.opacity=1;d.cssBefore.display="block";if(d.slideResize&&e!==false&&c.cycleW>0)d.cssBefore.width=c.cycleW;if(d.slideResize&&f!==false&&c.cycleH>0)d.cssBefore.height=c.cycleH;d.cssAfter=d.cssAfter||{};d.cssAfter.display="none";a(b).css("zIndex",d.slideCount+(g===true?1:0));a(c).css("zIndex",d.slideCount+(g===true?0:1))};a.fn.cycle.custom=function(b,c,d,e,f,g){var h=a(b),i=a(c);var j=d.speedIn,k=d.speedOut,l=d.easeIn,m=d.easeOut;i.css(d.cssBefore);if(g){if(typeof g=="number")j=k=g;else j=k=1;l=m=null}var n=function(){i.animate(d.animIn,j,l,function(){e()})};h.animate(d.animOut,k,m,function(){h.css(d.cssAfter);if(!d.sync)n()});if(d.sync)n()};a.fn.cycle.transitions={fade:function(b,c,d){c.not(":eq("+d.currSlide+")").css("opacity",0);d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d);d.cssBefore.opacity=0});d.animIn={opacity:1};d.animOut={opacity:0};d.cssBefore={top:0,left:0}}};a.fn.cycle.ver=function(){return c};a.fn.cycle.defaults={activePagerClass:"activeSlide",after:null,allowPagerClickBubble:false,animIn:null,animOut:null,aspect:false,autostop:0,autostopCount:0,backwards:false,before:null,center:null,cleartype:!a.support.opacity,cleartypeNoBg:false,containerResize:1,containerResizeHeight:0,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:"fade",fxFn:null,height:"auto",manualTrump:true,metaAttr:"cycle",next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:"click.cycle",pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:"click.cycle",random:0,randomizeEffects:1,requeueOnImageNotLoaded:true,requeueTimeout:250,rev:0,shuffle:null,skipInitializationCallbacks:false,slideExpr:null,slideResize:1,speed:1e3,speedIn:null,speedOut:null,startingSlide:b,sync:1,timeout:4e3,timeoutFn:null,updateActivePagerLink:null,width:null}})(jQuery);(function(a){"use strict";a.fn.cycle.transitions.none=function(b,c,d){d.fxFn=function(b,c,d,e){a(c).show();a(b).hide();e()}};a.fn.cycle.transitions.fadeout=function(b,c,d){c.not(":eq("+d.currSlide+")").css({display:"block",opacity:1});d.before.push(function(b,c,d,e,f,g){a(b).css("zIndex",d.slideCount+(g!==true?1:0));a(c).css("zIndex",d.slideCount+(g!==true?0:1))});d.animIn.opacity=1;d.animOut.opacity=0;d.cssBefore.opacity=1;d.cssBefore.display="block";d.cssAfter.zIndex=0};a.fn.cycle.transitions.scrollUp=function(b,c,d){b.css("overflow","hidden");d.before.push(a.fn.cycle.commonReset);var e=b.height();d.cssBefore.top=e;d.cssBefore.left=0;d.cssFirst.top=0;d.animIn.top=0;d.animOut.top=-e};a.fn.cycle.transitions.scrollDown=function(b,c,d){b.css("overflow","hidden");d.before.push(a.fn.cycle.commonReset);var e=b.height();d.cssFirst.top=0;d.cssBefore.top=-e;d.cssBefore.left=0;d.animIn.top=0;d.animOut.top=e};a.fn.cycle.transitions.scrollLeft=function(b,c,d){b.css("overflow","hidden");d.before.push(a.fn.cycle.commonReset);var e=b.width();d.cssFirst.left=0;d.cssBefore.left=e;d.cssBefore.top=0;d.animIn.left=0;d.animOut.left=0-e};a.fn.cycle.transitions.scrollRight=function(b,c,d){b.css("overflow","hidden");d.before.push(a.fn.cycle.commonReset);var e=b.width();d.cssFirst.left=0;d.cssBefore.left=-e;d.cssBefore.top=0;d.animIn.left=0;d.animOut.left=e};a.fn.cycle.transitions.scrollHorz=function(b,c,d){b.css("overflow","hidden").width();d.before.push(function(b,c,d,e){if(d.rev)e=!e;a.fn.cycle.commonReset(b,c,d);d.cssBefore.left=e?c.cycleW-1:1-c.cycleW;d.animOut.left=e?-b.cycleW:b.cycleW});d.cssFirst.left=0;d.cssBefore.top=0;d.animIn.left=0;d.animOut.top=0};a.fn.cycle.transitions.scrollVert=function(b,c,d){b.css("overflow","hidden");d.before.push(function(b,c,d,e){if(d.rev)e=!e;a.fn.cycle.commonReset(b,c,d);d.cssBefore.top=e?1-c.cycleH:c.cycleH-1;d.animOut.top=e?b.cycleH:-b.cycleH});d.cssFirst.top=0;d.cssBefore.left=0;d.animIn.top=0;d.animOut.left=0};a.fn.cycle.transitions.slideX=function(b,c,d){d.before.push(function(b,c,d){a(d.elements).not(b).hide();a.fn.cycle.commonReset(b,c,d,false,true);d.animIn.width=c.cycleW});d.cssBefore.left=0;d.cssBefore.top=0;d.cssBefore.width=0;d.animIn.width="show";d.animOut.width=0};a.fn.cycle.transitions.slideY=function(b,c,d){d.before.push(function(b,c,d){a(d.elements).not(b).hide();a.fn.cycle.commonReset(b,c,d,true,false);d.animIn.height=c.cycleH});d.cssBefore.left=0;d.cssBefore.top=0;d.cssBefore.height=0;d.animIn.height="show";d.animOut.height=0};a.fn.cycle.transitions.shuffle=function(b,c,d){var e,f=b.css("overflow","visible").width();c.css({left:0,top:0});d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,true,true)});if(!d.speedAdjusted){d.speed=d.speed/2;d.speedAdjusted=true}d.random=0;d.shuffle=d.shuffle||{left:-f,top:15};d.els=[];for(e=0;e<c.length;e++)d.els.push(c[e]);for(e=0;e<d.currSlide;e++)d.els.push(d.els.shift());d.fxFn=function(b,c,d,e,f){if(d.rev)f=!f;var g=f?a(b):a(c);a(c).css(d.cssBefore);var h=d.slideCount;g.animate(d.shuffle,d.speedIn,d.easeIn,function(){var c=a.fn.cycle.hopsFromLast(d,f);for(var i=0;i<c;i++){if(f)d.els.push(d.els.shift());else d.els.unshift(d.els.pop())}if(f){for(var j=0,k=d.els.length;j<k;j++)a(d.els[j]).css("z-index",k-j+h)}else{var l=a(b).css("z-index");g.css("z-index",parseInt(l,10)+1+h)}g.animate({left:0,top:0},d.speedOut,d.easeOut,function(){a(f?this:b).hide();if(e)e()})})};a.extend(d.cssBefore,{display:"block",opacity:1,top:0,left:0})};a.fn.cycle.transitions.turnUp=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,false);d.cssBefore.top=c.cycleH;d.animIn.height=c.cycleH;d.animOut.width=c.cycleW});d.cssFirst.top=0;d.cssBefore.left=0;d.cssBefore.height=0;d.animIn.top=0;d.animOut.height=0};a.fn.cycle.transitions.turnDown=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,false);d.animIn.height=c.cycleH;d.animOut.top=b.cycleH});d.cssFirst.top=0;d.cssBefore.left=0;d.cssBefore.top=0;d.cssBefore.height=0;d.animOut.height=0};a.fn.cycle.transitions.turnLeft=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,false,true);d.cssBefore.left=c.cycleW;d.animIn.width=c.cycleW});d.cssBefore.top=0;d.cssBefore.width=0;d.animIn.left=0;d.animOut.width=0};a.fn.cycle.transitions.turnRight=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,false,true);d.animIn.width=c.cycleW;d.animOut.left=b.cycleW});a.extend(d.cssBefore,{top:0,left:0,width:0});d.animIn.left=0;d.animOut.width=0};a.fn.cycle.transitions.zoom=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,false,false,true);d.cssBefore.top=c.cycleH/2;d.cssBefore.left=c.cycleW/2;a.extend(d.animIn,{top:0,left:0,width:c.cycleW,height:c.cycleH});a.extend(d.animOut,{width:0,height:0,top:b.cycleH/2,left:b.cycleW/2})});d.cssFirst.top=0;d.cssFirst.left=0;d.cssBefore.width=0;d.cssBefore.height=0};a.fn.cycle.transitions.fadeZoom=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,false,false);d.cssBefore.left=c.cycleW/2;d.cssBefore.top=c.cycleH/2;a.extend(d.animIn,{top:0,left:0,width:c.cycleW,height:c.cycleH})});d.cssBefore.width=0;d.cssBefore.height=0;d.animOut.opacity=0};a.fn.cycle.transitions.blindX=function(b,c,d){var e=b.css("overflow","hidden").width();d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d);d.animIn.width=c.cycleW;d.animOut.left=b.cycleW});d.cssBefore.left=e;d.cssBefore.top=0;d.animIn.left=0;d.animOut.left=e};a.fn.cycle.transitions.blindY=function(b,c,d){var e=b.css("overflow","hidden").height();d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d);d.animIn.height=c.cycleH;d.animOut.top=b.cycleH});d.cssBefore.top=e;d.cssBefore.left=0;d.animIn.top=0;d.animOut.top=e};a.fn.cycle.transitions.blindZ=function(b,c,d){var e=b.css("overflow","hidden").height();var f=b.width();d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d);d.animIn.height=c.cycleH;d.animOut.top=b.cycleH});d.cssBefore.top=e;d.cssBefore.left=f;d.animIn.top=0;d.animIn.left=0;d.animOut.top=e;d.animOut.left=f};a.fn.cycle.transitions.growX=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,false,true);d.cssBefore.left=this.cycleW/2;d.animIn.left=0;d.animIn.width=this.cycleW;d.animOut.left=0});d.cssBefore.top=0;d.cssBefore.width=0};a.fn.cycle.transitions.growY=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,false);d.cssBefore.top=this.cycleH/2;d.animIn.top=0;d.animIn.height=this.cycleH;d.animOut.top=0});d.cssBefore.height=0;d.cssBefore.left=0};a.fn.cycle.transitions.curtainX=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,false,true,true);d.cssBefore.left=c.cycleW/2;d.animIn.left=0;d.animIn.width=this.cycleW;d.animOut.left=b.cycleW/2;d.animOut.width=0});d.cssBefore.top=0;d.cssBefore.width=0};a.fn.cycle.transitions.curtainY=function(b,c,d){d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,false,true);d.cssBefore.top=c.cycleH/2;d.animIn.top=0;d.animIn.height=c.cycleH;d.animOut.top=b.cycleH/2;d.animOut.height=0});d.cssBefore.height=0;d.cssBefore.left=0};a.fn.cycle.transitions.cover=function(b,c,d){var e=d.direction||"left";var f=b.css("overflow","hidden").width();var g=b.height();d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d);if(e=="right")d.cssBefore.left=-f;else if(e=="up")d.cssBefore.top=g;else if(e=="down")d.cssBefore.top=-g;else d.cssBefore.left=f});d.animIn.left=0;d.animIn.top=0;d.cssBefore.top=0;d.cssBefore.left=0};a.fn.cycle.transitions.uncover=function(b,c,d){var e=d.direction||"left";var f=b.css("overflow","hidden").width();var g=b.height();d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,true,true);if(e=="right")d.animOut.left=f;else if(e=="up")d.animOut.top=-g;else if(e=="down")d.animOut.top=g;else d.animOut.left=-f});d.animIn.left=0;d.animIn.top=0;d.cssBefore.top=0;d.cssBefore.left=0};a.fn.cycle.transitions.toss=function(b,c,d){var e=b.css("overflow","visible").width();var f=b.height();d.before.push(function(b,c,d){a.fn.cycle.commonReset(b,c,d,true,true,true);if(!d.animOut.left&&!d.animOut.top)a.extend(d.animOut,{left:e*2,top:-f/2,opacity:0});else d.animOut.opacity=0});d.cssBefore.left=0;d.cssBefore.top=0;d.animIn.left=0};a.fn.cycle.transitions.wipe=function(b,c,d){var e=b.css("overflow","hidden").width();var f=b.height();d.cssBefore=d.cssBefore||{};var g;if(d.clip){if(/l2r/.test(d.clip))g="rect(0px 0px "+f+"px 0px)";else if(/r2l/.test(d.clip))g="rect(0px "+e+"px "+f+"px "+e+"px)";else if(/t2b/.test(d.clip))g="rect(0px "+e+"px 0px 0px)";else if(/b2t/.test(d.clip))g="rect("+f+"px "+e+"px "+f+"px 0px)";else if(/zoom/.test(d.clip)){var h=parseInt(f/2,10);var i=parseInt(e/2,10);g="rect("+h+"px "+i+"px "+h+"px "+i+"px)"}}d.cssBefore.clip=d.cssBefore.clip||g||"rect(0px 0px 0px 0px)";var j=d.cssBefore.clip.match(/(\d+)/g);var k=parseInt(j[0],10),l=parseInt(j[1],10),m=parseInt(j[2],10),n=parseInt(j[3],10);d.before.push(function(b,c,d){if(b==c)return;var g=a(b),h=a(c);a.fn.cycle.commonReset(b,c,d,true,true,false);d.cssAfter.display="block";var i=1,j=parseInt(d.speedIn/13,10)-1;(function o(){var a=k?k-parseInt(i*(k/j),10):0;var b=n?n-parseInt(i*(n/j),10):0;var c=m<f?m+parseInt(i*((f-m)/j||1),10):f;var d=l<e?l+parseInt(i*((e-l)/j||1),10):e;h.css({clip:"rect("+a+"px "+d+"px "+c+"px "+b+"px)"});i++<=j?setTimeout(o,13):g.css("display","none")})()});a.extend(d.cssBefore,{display:"block",opacity:1,top:0,left:0});d.animIn={left:0};d.animOut={left:0}}})(jQuery) diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.js new file mode 100644 index 000000000..36f3259ec --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/jquery.waitforimages.js @@ -0,0 +1,135 @@ +/*! waitForImages jQuery Plugin - v1.4.1 - 2012-10-12 +* https://github.com/alexanderdickson/waitForImages +* Copyright (c) 2012 Alex Dickson; Licensed MIT */ + +(function ($) { + // Namespace all events. + var eventNamespace = 'waitForImages'; + + // CSS properties which contain references to images. + $.waitForImages = { + hasImageProperties: ['backgroundImage', 'listStyleImage', 'borderImage', 'borderCornerImage'] + }; + + // Custom selector to find `img` elements that have a valid `src` attribute and have not already loaded. + $.expr[':'].uncached = function (obj) { + // Ensure we are dealing with an `img` element with a valid `src` attribute. + if (!$(obj).is('img[src!=""]')) { + return false; + } + + // Firefox's `complete` property will always be `true` even if the image has not been downloaded. + // Doing it this way works in Firefox. + var img = new Image(); + img.src = obj.src; + return !img.complete; + }; + + $.fn.waitForImages = function (finishedCallback, eachCallback, waitForAll) { + + var allImgsLength = 0; + var allImgsLoaded = 0; + + // Handle options object. + if ($.isPlainObject(arguments[0])) { + finishedCallback = arguments[0].finished; + eachCallback = arguments[0].each; + waitForAll = arguments[0].waitForAll; + } + + // Handle missing callbacks. + finishedCallback = finishedCallback || $.noop; + eachCallback = eachCallback || $.noop; + + // Convert waitForAll to Boolean + waitForAll = !! waitForAll; + + // Ensure callbacks are functions. + if (!$.isFunction(finishedCallback) || !$.isFunction(eachCallback)) { + throw new TypeError('An invalid callback was supplied.'); + } + + return this.each(function () { + // Build a list of all imgs, dependent on what images will be considered. + var obj = $(this); + var allImgs = []; + // CSS properties which may contain an image. + var hasImgProperties = $.waitForImages.hasImageProperties || []; + // To match `url()` references. + // Spec: http://www.w3.org/TR/CSS2/syndata.html#value-def-uri + var matchUrl = /url\(\s*(['"]?)(.*?)\1\s*\)/g; + + if (waitForAll) { + + // Get all elements (including the original), as any one of them could have a background image. + obj.find('*').andSelf().each(function () { + var element = $(this); + + // If an `img` element, add it. But keep iterating in case it has a background image too. + if (element.is('img:uncached')) { + allImgs.push({ + src: element.attr('src'), + element: element[0] + }); + } + + $.each(hasImgProperties, function (i, property) { + var propertyValue = element.css(property); + var match; + + // If it doesn't contain this property, skip. + if (!propertyValue) { + return true; + } + + // Get all url() of this element. + while (match = matchUrl.exec(propertyValue)) { + allImgs.push({ + src: match[2], + element: element[0] + }); + } + }); + }); + } else { + // For images only, the task is simpler. + obj.find('img:uncached') + .each(function () { + allImgs.push({ + src: this.src, + element: this + }); + }); + } + + allImgsLength = allImgs.length; + allImgsLoaded = 0; + + // If no images found, don't bother. + if (allImgsLength === 0) { + finishedCallback.call(obj[0]); + } + + $.each(allImgs, function (i, img) { + + var image = new Image(); + + // Handle the image loading and error with the same callback. + $(image).bind('load.' + eventNamespace + ' error.' + eventNamespace, function (event) { + allImgsLoaded++; + + // If an error occurred with loading the image, set the third argument accordingly. + eachCallback.call(img.element, allImgsLoaded, allImgsLength, event.type == 'load'); + + if (allImgsLoaded == allImgsLength) { + finishedCallback.call(obj[0]); + return false; + } + + }); + + image.src = img.src; + }); + }); + }; +}(jQuery)); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.css new file mode 100644 index 000000000..1e5a1d803 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.css @@ -0,0 +1,67 @@ +body { +} + +#page { + overflow: visible; +} + +/* ----------- Slideshow -------------*/ + +.slideshow { + margin-left: auto; + margin-right: auto; + text-align: center; + outline: none; +} + +.slideshowlink { +} + +/* ----------- JS Slideshow -------------*/ + +.ngg-slideshow { + overflow: hidden; + position: relative; + margin-left: auto; + margin-right: auto; + text-align: center; + clear: both; + z-index: 0; +} + +.ngg-slideshow * { + vertical-align: middle; +} + +.ngg-slideshow img { + max-width: 100% !important; + max-height: 100%; + width: auto; + height: auto; + border: none; +} + +.ngg-slideshow .ngg-gallery-slideshow-image { + position: relative; + width: 100% !important; + height: 100% !important; + max-width: 100% !important; + max-height: 100% !important; +} + +.ngg-slideshow .image-placeholder { + visibility: hidden; +} + +/* See also : http://www.brunildo.org/test/img_center.html */ +.ngg-slideshow-loader { + display: table-cell; + text-align: center; + vertical-align: middle; +} + +.ngg-slideshow-loader img { + background: none !important; + border: 0 none !important; + margin: auto !important; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.js new file mode 100644 index 000000000..f9c9eeb47 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow.js @@ -0,0 +1,55 @@ +jQuery.fn.nggShowSlideshow = function(args) { + + var defaults = { + id: 1, + width: 600, + height: 400, + fx: 'fade', + domain: '', + timeout: 5000 + }; + + var s = jQuery.extend({}, defaults, args); + var selector = this.selector; + + jQuery(selector + '-loader').empty().remove(); + + var container = jQuery(selector); + var gallery = jQuery(selector + '-image-list'); + var self = this; + + jQuery(gallery).waitForImages(function() { + var list = gallery.contents().detach(); + var placeholder = container.attr('data-placeholder'); + + gallery.remove(); + + list.appendTo(self); + + self.show(); + + if (placeholder) { + self.prepend('<img class="image-placeholder" src="' + placeholder + '" width="' + s.width + '" height="' + s.height + '" style="width: ' + s.width + 'px; height: ' + s.height + 'px;" />'); + } + + if (self.children().length > 1) { + self.cycle({ + fx: s.fx, + slideExpr: '.ngg-gallery-slideshow-image', + slideResize: false, + containerResize: false, + fit: 1, + timeout: s.timeout, + next: self, // advance to next image when clicked + after: function(currSlideElement, nextSlideElement, options, forwardFlag) { + // update the pro-lightbox triggers should they exist + jQuery(nextSlideElement).parent().siblings('div.ngg-trigger-buttons').each(function() { + jQuery(this).find('i').each(function() { + jQuery(this).data('image-id', jQuery(nextSlideElement).find('img').data('image-id')); + }); + }); + } + }); + } + }); +}; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow_settings.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow_settings.js new file mode 100644 index 000000000..d4d9e63c0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/nextgen_basic_slideshow_settings.js @@ -0,0 +1,20 @@ +jQuery(function($) { + $('input[name="photocrati-nextgen_basic_slideshow[show_thumbnail_link]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_thumbnail_link_text')); + + $('input[name="photocrati-nextgen_basic_slideshow[flash_enabled]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_background_music')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_stretch_image')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_transition_effect')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_shuffle')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_next_on_click')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_navigation_bar')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_loading_icon')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_watermark_logo')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_slow_zoom')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_xhtml_validation')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_background_color')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_text_color')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_rollover_color')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_slideshow_flash_screen_color')); +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/placeholder.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow/placeholder.gif new file mode 100644 index 0000000000000000000000000000000000000000..37e18887d1880311d3b6fa25158ee252dd554903 GIT binary patch literal 156 zcmZ?wbhEHbOkqf2XkcLY4+e@qSs1w(7#VaJ7#J8pG7L<`J^d?BzvW*%XUnbb&G+{F z=5KrCG3{CBvR9|Jz2iRq$>;jF-siv0egDVL!_|Id(Z>!St?6f$edg@-T7G5K*RHc! z+wZLV&dt|-{K=-DJ$|dNzuESixBv9>FT4KsoqzrP&%Xcs5*ijB5g8R7Ggj<4apT1g Kj?4%K25SI-)l*mi literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/slideshow_preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f3da223cf6b1c0f2cb87120c54a609ca83222069 GIT binary patch literal 5254 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 Zdv2MB@yz;3%k{DznQ+*EY;^p869Cx|&#M3c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumb_preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..413a59cf028c06c6ef4b5c62f5caf2f781fca411 GIT binary patch literal 6538 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 TMc+TMm3=XK!$O3W{r^n>VslNz literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/ajax_pagination.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/ajax_pagination.js new file mode 100644 index 000000000..d15de65ce --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/ajax_pagination.js @@ -0,0 +1,67 @@ +jQuery(function($){ + NggAjaxNavigation = { + loading_image: null, + + /** + * Initializes the AJAX paginators + */ + init: function(){ + var self = this; + jQuery('body').on('click', 'a.page-numbers, a.prev, a.next', function(e){ + e.preventDefault(); + var $this = $(this); + var $gallery = $this.parents('.ngg-galleryoverview:first'); + var gallery_id= $gallery.attr('id').replace('ngg-gallery-','').replace(/-\d+$/, ''); + + self.toggle_busy(true); + + // Create a request to render a displayed gallery + var params = self.get_querystring_params_from_url($this.attr('href')); + params['action'] = 'get_displayed_gallery_page'; + params['displayed_gallery_id'] = gallery_id; + params['page'] = $this.data('pageid'); + params['ajax_pagination_referrer'] = document.URL; + + $.get(photocrati_ajax.url, params, function(response){ + + // Ensure that the server returned JSON + if (typeof(response) != 'object') response = JSON.parse(response); + if (response) { + $gallery.replaceWith(response.html); + } + + // Let the user know that we've refreshed the content + $(document).trigger('refreshed'); + }).always(function() { + self.toggle_busy(false); + }); + + }); + }, + + /** + * Gets the querystring parameters for a url + * @param url + * @return {Object} + */ + get_querystring_params_from_url: function(url){ + var url_params = {}; + var url_parts = url.split('?'); + if (url_parts.length == 2) { + url_parts = url_parts[1].split('&'); + for (var key in url_parts) { + var param = url_parts[key].split('='); + url_params[param[0]] = param.length == 2 ? param[1] : ''; + } + } + return url_params; + }, + + + toggle_busy: function(busy) { + $('body, a').css('cursor', busy ? 'wait' : 'auto'); + } + }; + + NggAjaxNavigation.init(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.css new file mode 100644 index 000000000..529a3598f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.css @@ -0,0 +1,102 @@ +/* ----------- Gallery style -------------*/ + +.ngg-galleryoverview { + overflow: hidden; + margin-top: 10px; + width: 100%; + clear: both; + display: block !important; +} + +.ngg-galleryoverview .desc { + /* required for description */ + margin: 0px 10px 10px 0px; + padding: 5px; +} + +.ngg-gallery-thumbnail-box { + float: left; + margin-right: 5px; +} + +.ngg-template-caption .ngg-gallery-thumbnail-box { + margin-right: 0px; +} + +.ngg-gallery-thumbnail { + float: left; + text-align: center; +} + +.ngg-gallery-thumbnail img { + background-color: #FFFFFF; + border: 1px solid #A9A9A9; + display: block; + margin: 4px 0px 4px 4px; + padding: 4px; + position: relative; +} + +.ngg-gallery-thumbnail img:hover { + background-color: #A9A9A9; +} + +.ngg-gallery-thumbnail span { + /* Images description */ + font-size: 90%; + padding-left: 5px; + display: block; +} + +/* ----------- Gallery list (Carousel template) -------------*/ + +.ngg-galleryoverview ul li:before { + content: '' !important; +} + +.ngg-gallery-list { + list-style-type: none; + padding: 0px !important; + text-indent: 0px !important; +} + +.ngg-galleryoverview div.pic img { + width: 100%; + border: 0px; + border-radius: 0px; +} + +.ngg-gallery-list li { + float: left; + margin: 0 2px 0px 2px !important; + overflow: hidden; +} + +.ngg-gallery-list li a { + border: 1px solid #CCCCCC; + display: block; + padding: 2px; +} + +.ngg-gallery-list li.selected a { + -moz-background-inline-policy: continuous; + -moz-background-origin: padding; + background: #000000 none repeat scroll 0 0; +} + +.ngg-gallery-list li img { + height: 40px; + width: 40px; +} + +li.ngg-next, li.ngg-prev { + height: 40px; + width: 40px; + font-size: 3.5em; +} + +li.ngg-next a, li.ngg-prev a { + padding-top: 10px; + border: none; + text-decoration: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.js new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails.js @@ -0,0 +1,2 @@ + + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.css new file mode 100644 index 000000000..58e7d9100 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.css @@ -0,0 +1,3 @@ +.nextgen-thumb-size-custom br { +display:none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.js new file mode 100644 index 000000000..83fc64962 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/nextgen_basic_thumbnails_settings.js @@ -0,0 +1,13 @@ +jQuery(function($) { + $('input[name="photocrati-nextgen_basic_thumbnails[override_thumbnail_settings]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_thumbnails_thumbnail_dimensions')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_thumbnails_thumbnail_quality')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_thumbnails_thumbnail_crop')) + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_thumbnails_thumbnail_watermark')); + + $('input[name="photocrati-nextgen_basic_thumbnails[show_piclens_link]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_thumbnails_piclens_link_text')); + + $('input[name="photocrati-nextgen_basic_thumbnails[show_slideshow_link]"]') + .nextgen_radio_toggle_tr('1', $('#tr_photocrati-nextgen_basic_thumbnails_slideshow_link_text')) +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/NoFlash.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/NoFlash.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94f643dc7824f1179fec635c245d852f8cfbcb03 GIT binary patch literal 72549 zcmex=<NpH&0WUXCHwH!~28I-d6b6R>Zx{q!N|UoI85kK@7#J7=7#RM)W8ia4$xljU zNIAg3z`*$bHbV;o6C5xzF)=Z-FoOtI77$=%V+8{?Hg<Lnc6K&SPA)D^P99Xi$jr>l z%EHRY#>UCZ&B@Kn&&S8d$IlN|1f_T&Jg^WZ@&5pWAP1uZb2u}jAOn*iBeNjm|04`v z7#JBC*clla8Q_44nT3^&or95+i;<CmiJ1{uk`XG&DZs$M!pg+R%E`vd$HB?T!3>gN z5ENo%OJr9xoG2{9;TWhi<;qpDF!4g8;1JPi3pZX2N-CP9yd~6Jg0u0Ulkw!umsM0v zOSgtgHf_3;yyVDKHRs~RCN3$iscs(@9cn(@(x&eI@MFo7Gz|+)v$6<51|~)(Mm7#^ zRyH;!Mpi}!21X`9W)?-mKp|E!$B99ggo8!d5(^tQUQ{wFnzYDd;U;5|kPinRIyISo zOiG^2F0Smn_)zoa%PJiIZ!z#NGcqs<G7B=;GyK%Od3>{7=q<J{Poj4GWai$q$|=Rt zspX|gF{{JPRmFT06ZHiju`2Mo$*F2K{JP!sP4&&|UPI4SHyobwGb{*wcYS%Dcw`{M zQ<2M79@GD@9AY^7UHD7&n{S!<MK!9;Yj>Z}6gH_inL5|VXp$t;+Zc^{_J0~j<jW`I zEV!4n&Qo6VbKhC($=fSU4~w2$`^4$N5r>m{6I)(bx?EmZ!lxiA@Ic0bp<O_LnV}&+ z>gM!ytB$6a>Lss@F3CA++n;LB5?68d#*SV#yDOWQe82H6_=D^7_M}H9d{;Ivsg^rc z$Fb+bn;5soThmJVlW+PT6rU&C-EqM>=-k9N)tWz)J|Es#D8-%?c?oJ#nVz!4TW>4( zjc=Ae=swSP^hk#6%5;x!wp0EHRzAG3qnCNB&P%!Do8~v^+gOVWE+|_%S9#RR(SRLI zKBJjrgcb!K%BnT^kqXj4%Uf%f?%-@(v4TPN#Btln9sQrC_g&bmC(O4a`FeI@i|m#_ z%c3)EChH>S*e=O+dXqkLS|B6igqAi#Nqz<XOY-S4ob&GIv@!QZP4-=VTrBLn^z4bM zrFZf;MGw7_QDds|t8z+y?-lf63ga=0eXsNTQ*&>g(5ZfB?tAjcXVp6~Yqy)U@T6Xm zV=2yg$+B`;e3fgo&r<(Z1qRmj)%<POPU{?7`})g?&2x2craj+#`{=Igv9C`Rv0J>m zHc|9#?}oD0ml3-)vsh-Ei@GdbyQ?{BU01M#AJc>a;fXezjvkU!l$!ClZO*2X7w*qp zZTNO~yy%wH?LBGl3rbTe!c?uTH>Y`V@iiPWo$H;wz(C{)r&x@dO=bGl#`mmmR7;iF z=1uv}Q0%r%J2~pe<*1;L3)dIU;lKW^{YuR0=f?5|?#?xZwz2Cpi+gQvZals7xLn5T z-_Eb}LO;*!pP{(VV&1yzB0CS4<rKXuJU+|n--Tb@Q)`|jKjX;nQ(wLHs9wR{*)qH5 z6h7<Qzr}9R(|F4nKbxc<cfNXC=sm|g?YQ1^naaiM-}0~68GbI!E}`wmqpIC8LC<+d zEgB8F(Zn#Ck48&|(L!~!ni#ENN81d8wYfFv+`jYcM5K97-8%nI`jVLT>HiGjpR|mB zFX*`U`u(k~dGj=jXIk$}P1|W_`oi$^weyc7XRBvD_%58nZSLxNH#wZ`Xl9vKW~;ju z=S0`wB390hFYfCc)I?4R?oQ53*w+8gdg6;`p9_xuEDAn-EIanVqYZI;<o1M5T(8bQ zx#Q>W9k<KY*{r;~MWNeK&VOwm+tr&vhrADzeyh9Cr(`GW>yfVa=BZ5Zin^)04WH$F z*G~KPUUA!8bG@L==G*T|H?Dl~PVCFU-7V)2xJ(Y1%5wN#r+Wv7n|I)~Nv?Wc9nZDn z4&|q3-aT-_Xz#cD!rL)Xho0V@b~x2-f)(cy#-Oru6PEir%{iv9;@xD?NY3CH-iz)X zyHntG>+GB>hYm;X+-&sbaCcejjk7m)<;;C{VO`*sG|%eUJ{w$4ZcLfEN@R{nz*R=S zU5!p_)zp|dR>ZULlv*zPxYIh}scvNAHlL7HBG;ww9$3%U^Gr4C!m^ny)>Ac#8p@yK zePR5(Y^?%olmlmf6@yRp1@_HyUl?Y5U%+yFFN2!x3r55DFd3%gdkw-=l4L&FU&Y|> z!5B7y32ZsnmIl#G2CYjBp-UK64;5jqw)HX_OYXi_y^`^9(UQp3OMFxUO*s^j=CpBg zaB%prC~)0<xoP9+HDPBiie)OkjN)Eclhc)|<atlxLb#jH(gy(%T`D^o7#Jj-MHa9! z^cOemzGcBK`E>4{sSh)M+wZO9SMT2bQzvOkky~ZW9=rLPpIMKtIq}5vHd}&v#Vp0c zulrd4R($NctC#g7qpH;EaP)yP|D@QDC(GJZcW%#f-2EuLS>XGcO6N}JCHhT#(z81R z1N0dsJq{|EE4u9Eo!t88=-H?Xmv340wMiYnyXjlYt?Ao*Y#;CG(Q(^#%kLwbxyTe> z2le=}J1)l*{pP%OIe6glNxK(rw(Hxb$%|?iom)Bk(B!{Qzm@*Dw^8!A@%p)oW7BF^ zeY-86v9a(v*VFG=F4Eg`W_4`S{N1$b)s#JU7kFhZSNyy^^V#-0-xaGTJ<)4C{Jn`G z<OEa51dn|mMY@zsCM-N5{Jx{3qvL?Y4*r@1jsq^0c2gJ)7+kDBC@ndla3JLS;_EMK zJ-GV%-|U;h>hAu{`HX<5to%)W1BZ~3`V^akjDZ*bPWa3+c%;@}YFPQ)UGEL6hsy?* zjWfy<JQ-&1XK+w^&%^k%>Hyc*2GQ3H+SeGu*D$P)V2s<qv^Rlu2nb7Fp1``TH)!^u z7e>uoRV8bj_SN<5x%j4f$?D7NKdrZXw)@D-i}s)G4L_ItyRtH`cC7(FtM_itf2*F% zDb#nGab^FRJ<o%#tZvQ!v;IuVY$4%YyM71!D%^c{|8di@`w!+j7$?^&<|dSH4E@ir ze%;5ouk}ScANAkq%zOV=#D4XA<G8C!Dj#pEVm>~JVFt6|lLjph;dc&ATRP7$w|I(b zG3sw@6jgq)qxyzm@VR~uu6cosfiA4B0-_=gA!IU33PcqQO&U#ABpB2WF)dY^)S<G} za7&}gLK{vS=JPuls)uM9#%w3-pC!lspJ8Q}{R_AL^gI6<vi>vd+VgzId$sJi&!6S3 zi}Ft`ogBT}{t&lJj{9}@`*Fp~(_hN(`g8PllKtG++7-1HH{acVJj3kygSnq)OaBzl zK2$Sf*Zu3;GuBt_-x>4K{hiD9@_$|OSHI6(zkCfO(xx%2@bCC^py^R(rNxm6C2aR{ zQtuZSPI~fYvrO5MEAczGf0dpeEBecAsmC#kuO%X?YOGE3j2{?g96W6hxN`pFP0JiI z8}i~L4J19BUOp+T>uhHWWlxzi=Kz!R%+|v9e^%QcczDssR8sy~^E9cFcWJ@~PiMq7 z|Mij;R$rWQ>6`f(U(LKULBoI3K53Nr^t$<}C(B%Tr21`kb3=oF|EYVf0&lmNO1`WX zf95vVdVbS~f73r{^!2&CGD@r#eYQ+Mv)r21pkJY0`=^L=v)7tlH}{{D(~YNZIU_yq z?UTT$-mt2?BRenF|C-u7`)ysg{8x>Ttj&kMsh{&xV%%9_>v+Jy>7D#5!&0_mi<SSJ z_<aAZI@|Nzl_LIbC$FT>pD9=QcWJ_%@A*pYZpRkO&s0NjkGq{{-Y8a;=X>g4eaQ8I z{|rG8C49AimnQ5lE&ZfXQluO>fj=qc4U0p$HrvC)4R`l+$x5pS&Z|qgdA_{3AgI5> z?d_95S(&!Qj5lUmy?YnO6<?Bf&sF&1#uex5jdGs<_C09#>g|(2K3+kPKnz^Kan*VD zjb;ThyXQ8E2b$hKvA{I)`7{67{~0oW$ls0K(<Lgk=KE*0bM{-_2)|o*&sA9D>5QyR z@z26%wd*~9(0Fg=x_ho-FK$}(Ov^haInl+T+?i!Y(Z}7DB35Rmk}7w5KRx1Lc-O~$ zJbL>?*IjC+k{sVGPdiU9F$iFMckb<zfEP2aq-_3Xcj~0&yEfj#Q|hNK{UKtd=C)Wx zdXt#{q3V@QEx#X^fueG*TafNeX=Q~@|6Ml}c$RCe`_HiEK$7e>Q^`f<(K+#NLyw)z z+wo*t&4laE*mi6!P7_y}DXjI%e5v1-F18hZ6PGFoObJ{i@JXuY_%$t075_Edf+BY+ z6F8o)VYFlkFIg#&GpSEJs6=U^%X3MVW3D<!QWz~59<uX_8u3jG+;nupOi?ct10OYE z%_TMooW|D}{394`6Ii}BXh+?Cr{9%ql=SeShmqw3k5>#F-&wqvHJGM4X-sPO44SDL zWH8a?98<8!QArLCegOdqCeGIk>T4M0ZD0%SesFVN-r^%0_SpTLzB*5nzrgQwesO^j zYk&)fR&&Y~A;y-)nx9T2a6~_pT)nhNMCy_GcI`)M0W+gCqwmc5c334@(4i`5nNq`q zBL>n-mN_vopJYh-e2rmmMB$l!&5G<Y!^E8_<xDE6eTS}HP48xMnIQ3Kma1jLLW3En z0$7)(T+Lgx_KsSKxWhBwln_SE6Gc5e!6GRN3W|!14XWp%9u!9SRo&dRJbS^_RbG}w zPo0+B+~g{}Vo|$*riatCBqb#y1`ej@^~X2K1U=h2U1Q^&!riBfCcM)%cRRJYWM+tl zOjAm@CLcpm2ZxVEy9Co&aNvQ>W>!2|sI!^7Zt8l&V|h2`o;}1`(z@%@$ujP_%rlN? zE%iLek*F}EO+$hyn33<n0f{eP8^GEi!4GCK{b%S;y6G14_B4;b%&wI8Gq+h^&snQ; zy=s;3WJ8bAb1odkBCUp}m=ZY|Itm{%L_k76y*2k)>5lW)w<YXYdtR&RO2gtKYfs1~ zIJ5~e%}j0xn!(Z1;G<~4bb3Pa_cwkYzRR6ltM|tIbY@rhx9KM(**Q8-gmOovGYG6` zV`i^mVPn|rAHl3&y#42Ab&J>LGu#|5-ir&87s}eY^-@+W*HRO1AxQ&qhOE<iJ-n9f zH45Ckw=S1$xHB*E{kH36(R=qgdj4JcOUtaNsqu)%Dy>F8$HylW8KReik_l7Q0a%J5 z$YiSvoOg8(=YNJrPXE|4zSW-pw*L3(bCrFc(zd?0H~f5F?a!)+{|rlS{u79JoMgAl z?$_tJ*7hEMuRqh<E%@iv>$lD?kDV|3&mePfyFJT$og4R0{7#d7lbHYd^qTO!@psl$ zEdH((z573dEB~wCXRd$El&g3%uW`pG2T@PyNi0UM8XH(Fswb*O-mGRUn#Nv}8zFM0 zsD&q}UsYdHFS(9SaN4z^3;MJ7?qj|AO``hnW5&t9VqX3>YS_=laMw-6;VEaAHseu; z=yrxDP4PcDCoc;Yj^A>u=xSlw_Vm+}`WzaTa>jYB;7W3^O(-%J>P%5QR<lRh)T?A3 z(?q`OGbOl}T)r{APb8&S>8HwihGeCcYU;iYY{txDF;1E*I<9|^G}FITZF~BYbewX} zx5}u`6XP#MR;zBgDdf>T<+hTZn8*}s1&s?cU0l?c>m(d~EGBk&&aJ?Z(8W_${Sf8t zHkkV}>$p{D)me?Dv(H`FQMUDr&NQ~0uCF&wo?U15(!q1>*O*?rb;X@W6*M>_Ia<y! z$v7F^_6iJI8|=AW*x=+TqrzELC%63JEs(glyK>Qm<F397JXS3;nX~Mqr@_0^&9X_i zI(q9F`0k%=aB$C<Bw2U-Qcy$jSBWge^$*l0e`z-LStNHnNI>viDl4y@B5#Q49~S$2 zeC?7suNeO`9A$hW=+~wkQ(qCq@<`gIr~Q8WQknfP1WQ>aT>rrTp4TaU;u5>k`k!Fa zSpO<{3Lnxtv;E0qn-%tP_YAH&#~-Nv`{>E^CyD#{{)Ou=&F9EcT;~=1rE9`d2HBZ8 z!tzniPrkc-Bym;S{s!qU-BX+o+-z&Gy=WGq{BNNkNN}3{k_6}f42yl1-W53IenJr> zR$p<U<$zh@%-x496PN#BF%7u>LEt|_#mgU^+Y)Cr-eEk=KK-liLxG24rh8Zx*G+5` zl>g_wf#E;H-z6@Uzgof<bzH0Bu-}v7V3D(1k?%)plKd-y7mG~$d4IXN9Q-Mf!X#7w zpF!Jvg5#}@YgL@}_jH)8ww2DbUc@|ghV$$dZV_9ia$f%+$Ny5qfx+ds!wFNKB?k}R z`Dw@JvhvEF{@gzc16eM<dAI2Ji>}9u{1pP8znJoU`SKM-JSjV~%C?qXHJut-5jI(L zPUz}gr-b}NU+pR|ohx$Ax;VwRamVgAztR$xI&`d^pb>Rs-ml>8{VK^p-j*}{dbY`L z&waA^!5hsm!8tEaoIO16o<O<Me};+T;ZsGkA1>6WF1yzk$asT+PlorUy!tN|(=$~^ zC4U#ihcNh<DI7MOF4I)}Hy}yiy42B~>vLZ(y>i_o_qG(@wap7wpWYe$Bz5KL6rLch zRa-Z6c{$54)ZP=6dK`0K+J6sc-n)An&Yw*Bl9A_sf1|X&pL@z|Q7gqz(^IoT8QZ6& zcD7vUR-X0SCvI2Gb;-n#W0$+OcpSWE^j>b~FRzw_$)}R170>;3<k6DF7sBdS3wYYJ zJ&|;nTv1ki%iQ|@t{LyxT(6|&6sT8Eyc0BG?%tgn!gh8Ba4?=fXvERbAaPWXk@J9T z;EucN0&jVrJ)K)^_-LApy2#Nxa`&EV8LQmgzsn*guQ#;SHA{1{VV4410ADc!<0}2V z43?)$cL(H6`;v6+O|V_m<)ZwY9n+rNd)3Tx+g5n0X%I`R%Sv^3RTq~94l^1!`Z<`M zH+=KHr+eVIMC#fZw>EaOKAUiSeo8sZ+rve|Ehl(`4J4fz58vyU!j%`)(ZV?C?eP@Z zb9>(#N$1W=*3;E_lV!9c&1=cWP3b>H4?UW&D`jKLlL%hV1`TEo4h{~+1_y@qZyj%j ztKX777d-vO#!nk>iM@~9a{Rt_f#=~y(ThHdqtXJxW~^a<s()b$<CHR~H;<F=`E-4s z@m$v~;LwN7i<-=mIi^~-9!(IQ(#`3XG)aZQ@bsaDhD=FOT?!@dp8lJ_W1n5*zPozs z@2qP-(~e9Fy0!U}rRv58tviRDmz~^Q_KIPdGed*?LB{D#fjT`3g?`VUR$kAoy}Nby zfwHfM#NDo`z2Qx9J(Rudu8C-<Ys`*{B6FW5!nz7Z4e>Xocbs71Y5M-lzS=eNt#+)y zwj1wPE%2N0tvdGz&l?8@p9IBlUm*#nn1(_@`6_0HqHp5cW<GnEn%I(LvHSM6fZ!GG zVGGoq((ZDu2s!7oVZsWLHYp!1P6zgOeGcZ8diNK<-V(a$%GR^owQZkvX*M;dB^NQ4 z<p~Q-5%W}OIe3rN;=4LS{{D*#j=tTjb?<cU$ywKa_wL=gboVnoj+AMxDbp*0mo4OB zNSd*Xk&%(J;efP!N)hktZK<&<XTDu`@A1#twZ~qk9P*xe>FuYav+L9fk~%aT90LnF z1UM7|3{^}$?j-Qf-LXCO?&CYW`<zQYS_^w$ZF~0MrD?+1qUOu1_^oDkxGe}^YS27B zg)6ASNrAzDJ)<o5mfeNBbIh53=4H1gOV0kYTFUeD>&W#<C*4k}Jn)#&yfJHK8kdB_ z6HOns2MP%j9AsAfPBGtIZ+^NoI{IT7M~Y67c>38`rJaFWqUY#r{P+DDuc6J6#adp; zvz!w70vmL!&))Pe-KH;>I^|hoTGWZ3pUSSxjgBul#;&z&(Gs8FP!m66B{g{#_Q^er z+p49@!t(c;i_a{p%`Mn=!^rh=*lMGi*`?vT7c35Bdo^KmgwTsn%NB2c0e<cs3K@U) zZ|3{@(9%w|E%w7_i<6uC=3iXxyYm#k-wxB|%M4qEXRMskP+-_o$iQ^wkOG4;LymWQ z;@tlXDF-jNUE3}D?9D-exTjsw>)u}5Wv<wi7^S4D(9!aQ)pGf7$pbQz%)TGl(Yr8h zmDx_w^TDB$o{CKIEwFdfToK&B2?`0Dxi^?!+CJXE7cuQv((0Rrhj-q04?irem$vuj z2BX|;jeVM2ce0d})EKgoeU6zNxg@~Zz<Ac8KBe~I87Z5c6S>7K)6z>S(@dXzFVDKk zDsK?+_KwO7fm0fZS}QvpGA4X#=qPN^5uZEjj_$O(F-%8yh}lmT-*NZtxm^8;A$?NT z9_ub?_H>=>nBuZXflcGY(HTArJb?n{={akH70*@2#ck9Hy0-SY!oG#6xw+dHD+tfI z_Ql2Jm_eggPy=UAGKa`gMuQFp2Pww5^VMslr&+rkmUsI;Z%KniZN}EUId6I{OZvp_ z@O5<MN((giD46OxUzou`a$EjQ_R0-4X)mX(Id^_?<Qi7XO~H?^tIS`W%W}ZgZ_@-u zK3NHt^Bz(Y9vLwRHkfR?^Y&i&uAR{`+FS{9k1Ot2wrj1F)~?)BN!xu+tx#IDOw-9# zqhGMW+I%a2vh=Y#>watAwwCI8TW6Z+c=p@-f}IMBH<pElu%6SDIAZZbX+Dzx_dUJ{ z=8A6@-u&KWeRbb9)(_Q6UXgEi#BN=BT4{%+=WLPiu&2dBOD}1dYE*J?Of{Nu(C7@) zf*JB=-;>k6bEoQ`NdDcJ^3(A271yI{UulV!t-GXgDOqWw8nZ`FPvFGvLkYs1joS<R zj{bf+Idbjv=G(av7uT=&^5gHczeS$CM?bQt$qEOD6m>M5^9r)P_l5D?%r?cz36`># zg-*YDePfff(O&M~#hoF6Q%)t#Sfpyn!^Ea}N-3D3VTy|a&urscG0z!~71SJ7-lo!K zxns@IZ<<AUPt{o?m6lCf#Kq)hILTC7{GbKHr<P^G9-QB8XW#L*yAkod?P1~z1DVbT zo3_R7N@;c04m!eUU109zBymE9;h2U<Md62T1I@RyedpZWcJ2G_T;0qn-u^qmTkUtQ zc&Mb2o;8zcs!D)iW2jpmrxlmcWBV#2=JK1nh4RndyLR!@wbiywPm7(`M1J%>dXa5< zddkz^x0C%QPS?;#;wVpL$X$16$JPG~!uM-$9NpyY-EHTbe*5;}=-!n@Cqu5Xf4k4- zXdoaUAk@Lp*x=yc!lJ+%o&Lu7me}Vc)rU59w+_BK>-e}P^y^6$z2z=<yp$UEh#aXX z2ze?XII)2(fuX4P*~QZ1dDo>yzunop>T^cH;^?_sPqLa$j8qOPl39F&g++mXgT=OE z@6U1G)a{er#=|Usw`Q}-PiO5NhP%u&o=iK;w9MnBomT6F3zJxvEMLKJ{I>@4vuUs1 zUVHQSt<LQBorgAmPJeBw%>8+Hqx`P2rTeCYiuPX8SaOOXsA2vTO9gJ#^_j-AkKIVA zK6L0t*A6+&Le*8@i^Vmjy4=-BTcYW8=NK!GaK&_?X)z@d%rD!X_Wx%v-0z;ZMmPS^ ztp|LZZxf8(O7Gr(`BdGvIgF9p{!TS7E-oxF_Kvm=Z5FRvIbrkNPwX#mpZJ^9F|F;W zfyDEf4PH#DOdSmk{EQPMnCDKvv!vYg-uZ3ErtD6CGl#i!&9<jOMFE07tFCD;EA&{x zB*T*|ae(FTTqPz3w#TQcMf3aQyW=+P-tEmFe(de(*!*u>^xmHPxH#-((<+&lJspWm zJ`Nnk9H(4obf&TN6mLxX&+z2@+qDvpbuOfrY%$xreZSsc#spru&<nmPt)6qfa9juw zW+)V35RhP&yq$OY_QstzUK(>JOXpd4tXnxDdD0XAOWRG0R;Dq9Xs>i`bx>Ww>GMo@ zhLl6X?%A7fw{Njju8Foder5Ze`4d*%5_LFQboW)7sY2SRrGfrOQdGYmFk)nw!?^qH z-S+Qq|L$Dfnp@`W`t)}~dEVi5=4of&y<VcAY_#2=)62%9sa>O8afyNgLzYZ*lDWUZ z-e)(iP8SQg$#>5*@?L0i!J-T+mky38PnEnRcvdbGVw%9>YcS=R0NVq(!?ufRr3>rz zj1Icz2C(ZHn!MAHd*^Z{&@!#j#WP@v8q2zkPnfPAVtAs;wa80WHQ2~&NupBc9F}F8 zT}A=|ataCtEI6iCjKB2SuB(#&w@Cj%8kX@tJJ9%F|F78j4_W)nlwU7?zuxll<}dws z>yln?ls~s_-xa$#Ip6a?o{=v8;P?9M**{aaJ+$-5jDNj)3AX-VHl#n;F2S@?xu~#_ z^`h`=q0qUS8{YTu7;kHQSXvzQ&cT06z*(01OUbJHGn_5kzwL97e`p=@HmGCKaeM9L zw!XKgrC%-*On*CVUUJ`wXHO={##-OKYW66~m1$21)68@8Yc2hETAWB!nev{aG}P~P zfzmn=(K)NawHT)c-23U=!QYbjuH#5kvikJs=xx)vegD1A+7W%w>GnEaIgLqg8<RRi zS^Aib8c!*)P1kU<-nOvJYIE153!hWYq-?HwI#cuZ<euqV8X`)swi}zi3uou)OSGJ^ z=4J2#HNh3W7bOlwp6_RP+C62;oY}co_pCp3O8B;9$CZ?pM|r^<9sL#ungVX!X!v*a ziyK43wPp6qr&k=9#JF|i55dbl4hqu2lIIsbeAmOsaBD`xzsra3HnK2hCdpVyey>dM zWIyTSP@nlXvWF4O$^fYYvoe1furOz(p1$zmyZbbSNfEbZG<@)iU(MkB$(z6NyIV4Y zgV{0#qZbv`8(5UHlI?FTw{>G^elkt?@8TCd4vNy=e9RX<eRwLt#6Ky*N2Oo#%wof* zjB^~-qAb&rf<;3<{a%%>>CjN5#VVjtBv$l<?@Lthl$Bw3jkG@Kax6)d*!F1B>eb7+ zFa1$zHR{>w$QZ7*bFF3vR~O?`yFku{Q(7_8Ead`EztsL$R6m))!BQ;n&dK=V$*)|P z&wCmz`r&%={siwMY$^X4)EEwhS7$gLZoRr=g`P}j>(2=Rk4je?$Q%t{{FGUO!G*oW zIb)W5NVVP~@BFm8oAYM6EGx*q{mXrayMLDd3zn2^Q?*i;xn!)nV4hIC`=^qM$?4qe ztQ09u-M3c^YA-cQ$Q28p%epds2Fo#pDPhZ&{NBhi_2uk_LJ6Vr=P#b@z5TX!!Q4$% zD}xIsJ}Q?kU9n6u>_MNDtx(JFy~3gFUlsU#>oeoC&3(T0JUjU5<A$7GqbD;SPoBvX zGcoPS@=(D5uLV>3ChIdd`aYP!Bivy9`$=#2y|{DNeGhNU*}6I_&h(D8n%b_naT-5^ zw#DAv5TnCg;`?%?d7H)*4x7oV`x%V>U7zN6UVQH*uj@O1AD;Md{l?kWYGpZgw^KsT z?w#zs{F2Dob1p}kv^ah^$v#l{eSm>keplYKi_fb&Z=9Aqu<7@-;=0>wCazugaAM32 zowJ9|^pq`iUuLvK-6M06(9^#YI?fz6u+-m{x&QCky#4aOs_kEW+rWO|{>ACl+jrcW z^IO(8sQ22<X}m{o8GmTp{Y*E|;nI7~SsL;y8EPipxg)M}+vm0N;i7Hpq+{3ehbpXj zu#B-}!kj8~&l&grbc?xbHcu;Hzc&Bk^o%X)TYvs@n3UQ3^IPzz>ZdzO=K3yHJGEWo zyTe}P))oa`=NpSFwwD{fRh}AcEHmk2d1m#tn7i?B{HKMwoe9s`RV%Tmv90Z|VDE(n z5eAj4)RPK!U2os1c14w!*BV)SyS+>?-#*RdeY=l`x`xoLS*;%&)cmF#7oPq4_#rt( zhMHGzrtXQ}JFRTP$y`e{&$3;&-Zxg8xh9sZT4j>Lb0*OtD6de+{KXU|l_&=bsd;Z0 z?^>9yyO{encwg3SVPAFenqcADDy^bNZ~XoW8a7z6oK%_7Uq5{}L(<+!Y~}Z^{L1(9 z{{6y1!adby<~_+9rQeeCJ<a()TKmOTrZjDSac(oKoQ2Qw>5`ls3<hjl-pKF%-ML44 z_Kx!0BPT^p%)4E9?ZxeLCDPlqG*^8IG30Q2xhyjDq(OsG?$WoC+p0@<?_Kn5e?eYj zmuB6a?7i16PhO+uyYbfnl`C(r7Wip!S}|DiB{KbR`_QEz%DC7%wybd9Bk7E`2Z_J8 zPsroDy5Q&DgGZZw7ulZaWqY8|UH;~d$X%h8bHX*%J*3<;u2l9k9Nq8MalUrbIr|^H z{~5k6UB}SBVa}T$%d=$uotr3f&ftvF9#2OFjfH-TtD7eWI5G;(T61B}7QQ!(r)De8 zO1&2Q;eb)J?!m`<COw>N<au*f@XYiFKQ9UwbsdxJJXkd6sLAuwb`i`u-`;GwrSo^` z=A>JWCi?>O^Xg0TCIp4tv&fh^RgmG`%7f1QB|gdwIe(AK|7Tcd+a&p);qmeLEhz<T z%t<$N_a51{nd{EKi_+~?8zMJ11RmpVO!htT=-I;!mx_0=%7k?}6mjy|u{7{_^#)vI zDCzrJC0%qw?u7Xq!|2y%YUgEKyWg|t<k6k)o~B+}<E--FY}#~YGfgj+hmPKNIha=# zzgAtjEp`9*+WC77c6?h{+kJalW?scy@94Fut|p9X!4s=e9TkI;lo*N?xI{P<)R=pB zt8UvE{f&Fey384=;xS%t{(cI}S#6ln)c2kzY6Z(n5zQLa?7(n!=Kg(*TrFvF3|=?p z9N%PiH08VZ-_<onF|Dniu5DfQz1QyeUD4TFLIs4nmS`!l332c&lW9tLVsM6k7Jtw6 zb$ebp*?KPzUgcN(VwIG-oz0}D4c7a=^zrO=G<y7>p=Is<7V8G1_m`3<+!MJQqb_QD zG~fMZQbug_t%gG!&By)cE37&c=V-9(PAj9F1E0)dhTLmDlJD#;e&gPec1V1=+nGz- zwI1GRJeqc*bb%6A=ko~7D}kB~wO@9eD`4CARy_C3!-?<1;!Ezt{yF_7vUlZ6Dc+e| zdk=No=DM=<MPSwfHAN4WJ~oXXZU*zGTwrT{J9$@i?yjG1tknnd&l!c6_2gRH`PP)2 zO!L|qxoeqGmQ2@#$%ea}C0r~Drx!8YC{tViefLJ@nz%dD<4<o(w@kZt<HlmsE6G*S z3mq0I8!id0Nopvc#P@~qvSsybwamPGamUT#dM}n8&Uv#cu_35Iw)$$v-pmUV4j%Da zvF1h_Uu4tdIcFInK1ipo7Wd!CcHl0@%#agd<vV9Kr!p}3z392SZ>!o0|3i}wsZ97V z%k}9L#+BbEE>By%?`vA6Tl6h;lTGPmdm0alIPUE|c<jpFy@kGNZ^N|ezHV5?s@P?d z8eUew?)*0HWrFm=Tff!Memi>eeeTIkuNGERtTvq`d-meehbw$eYB))_1itV#;Ph@N za*$VEGkfy9ZFja=PdN4C=d-G%ccwG!{L(IZXJ??ptn>*#Tmsk^3sqm#xU5y-ARGG2 zHTT;x*@cZq_i%-W*CgHg^xeb5^<qfDoke*+zHlr(#<1$F`+tVl`!n3?|9ThyzWa`$ zdrP5++$q@!*O(-Nl(lE_tzfvsW*8{c(67MJ=oa_jfOzgM&C|auw!b*0*%fNMEzRc; zlPG)Sac_h7EeD(!?*5);|L53W*_z6TsQpK`9+2U`b>h-n+1-2U-#)dk_G5S%6R&=g z?{akTmfMDN)AF}1FEV?%^Q}bhk(VXcx;w9HWvXfUIBb<!vHZYu4~Nf85?8$#ZtRZU zUb#H&?bf%I1pzB}-PMV@cXIA()r`at&z#sDYr=c|7CJm-n(7#GK=J(~27wO>{8L`v zk=t4H^!4=BJ1RaLx89zmk-Tc<)cGD-GA=HMGJBrcB=9ee-CCT}I`8JUv_lbh?ig;^ zb4cRuI$wc+BihSZv#zSR2I#C}Y2Z=i``J?6$dD&@?Z)-=L-)RYXS-v2bN_>~GuEOR z(-b>z<#O#!zRL1Sf$yNpi6qV|ER2TJ6$GsRIP89#7Ju`%&F->{TRG|GJMv6F=NL)1 z9=q`CYfkK<V=4Ep7Zpt^T{YADPi&Ief~E3R6Dul=8BFXRE8krB?Bi3(z5f}u)a7QL zzmbwB9=>>^rQzFkGj|wz+!eJ_6i`l7P;+4XzLbM`k=gyy4>7;DEc=odc5RpVnv+`& z>|VZVYv_iRMM)1D124z47@Rax5uVb*#PFc*#Li<repez??;d^o`TEb?vxj}Ao;p3} zcun|<)$tLAt6r*9g?!kb5+E?4frD|awYz!F>3Z|d%`RPcnNq(e3ktDx1zInjaf$DN zk9!N_(pA?OLf0^?j$jPiz_d1jHR=G@)&|jRh8z}N+f6mX{~3<3%71Zo-~6tAYyI80 z;xpxwP1jfc?4SSB{Atkfzk26CG#!@~{Ce^G^*JwZ{&Ih}->~#X|MT$pEO|e(>g_+C z@$USgUX=FipYQDr^VQ7Oe?5Cn``-F@;WmN4C+gn)&#<WdYwfe_Ut9Za%KWpgF|72s zb)YRq*lwe0<eoCq56f#$OI#7!nSA*0e}+SQ@?NC=<8l`3Uc6H9T*$X225UFVrtGP6 zI`w9{*6yWiPHh#O|8JY|$yA>`pJlRkGIZ<B*JU@XYztHqn&A|`R)`~kgT;F8jRr@( z9}YrC_8xrNpxRNcz?meV(iX_j;QXIq6N^B(#Q^~hhe^B&94vMX<q90`9kq-SO`cB7 z$32)Nn1l=Yi+3_Op0+HU!^qHX!^k(0p}~n|!l!?G99fq7O=4YnYDr$C-%?)x3r{;z z7Rwh;x^-cOQmUMcMeQ3+{k!~EI*MJl`cxhZEQnwc@KtMl-w>9|miF+AQeTe7G}F6Q zr3X*9%J}!P8+6tO>}fnJx-w}-ij#zc3M-?W+>=LP1?RU(n_SVot-rZP)!(-(T4u)n zln<<q^Y$dCSt@ngF?W>PJu~OMaVK0MtNH2C2^uf1wB&xV(zs?QR(7g@&yZ!&tBE@; z4s0y;Ijr!QAwEZv_qo{KTc2#Io@`z8Gqq^;?%0z%E-lhlF%>yz+3<=<NZ^5jB15_D z<*jXJ-aWQ1n!E6upiR3@LRapUvm2)$Pk35#@?=!1k=nx}4s8)nX7nm}Fbmw#yA++Y z?QHBf=XA5F&v^Up=be2YF1`2Aht<cK-ZC#p3=p=^GPaBs*dxl+vO|pFglyT|n`dty zU&CAN`PTKc+S$Tss@u2RvB~^kTJe@iDuFM^@S@I-j-E3`SJVu-yjm1^<)^$WyB%dN z&3xvYaenNBUITaE_$G1hN$aofw90rQBkFqKn7JDp!;3RPG7jGN8jRmv{C#ob?sKz# z=IL+Sz9zi%ecmnINpW-bvCf#QBHg9#Ytpq=&EV3E@QXqvXPlA@*k<3H`|50&v4Ok( zp}R{j%{9y|-@J=icJ{YJ3QCinXm;7KFdQ{>;R$>q>BGXmB>tZI=9!^;r*FxfSX#Ja z%fyaWvEQ3ZuDqM6yobdn&SoC}s{>N0cK5j+|33EH>d>}7+x`fBO-sx?VUW&u!ZFgj za+*lowm=q#-YJ@*EH9TlQ022(x`21t{+H}G-{fE7>CW4xaqZ7%bq3p4&vr^|RG#{y zL-usrf<>nr{gg5}M0`&h2+m<Vc{}*FbdlNX(xSJgcL~aDnBBHh^z0h0IcG0N2nw=2 zy6M2mDr~OMm3fAT!JoyUf`joIcin{CIUCm2p8DY1VXS-Pq|nrR?{-FPX6NF#YOZ%% z)b*N%^dSMEDZYA2%tsh5T8rNHJ;%7idgYGWlhdnb#+&O%d}+=PRC|)c(;A@UqBVI^ ziqBI;rX&T{M@lvcJeN~{7d@ICUvT&P`VZM#FYKN?FSh8JO5Rf@?i4+CW<gdhevYTp z1^EQnB)8kH-?&G8v!3HdzKz_IU+;Z(dScY2{VKaubDZyWJy<y>*t|_)zMp9M(?bl` z|4y!Ui>$VKVwwBuYv0}zmrlGrVdTi>wPfOCBX6#zWUe_ZEEWX~=4^_$t|xVUE;_k0 zT1>KA=DzWcr#-SeeVf1Y9{d=j7=7VM%Znoo{ri;WWXUn!Wjc7vd|U4RQnR1SF1|g+ zC85UBIqU19RV9tC(Hjk9H@nO>*LP`hvE-;@Gw7JIK%{}!AtUeX?Fah~yvz1^{$%35 z+hIwMuGVZ7jB5;yvJ{eWRb}A`Fck4<XE5-%wEW;)2ezB(x1#gQ7MJGkyq{jf_|Lr0 zCT+LRXTE*bqJq2BcHLEXo6xkbiou7$%2=$VU(+Y5E5T^Bea5=e6>JXM9>3k6{(F^m zo9OEF)Uur-IoGahO>sE2-KRaIM)HTEV~Pxi=7$E0^=4=Ff45GH{~WXMdEEY#zH^@* z?O;`9mTnC8*(~KT(}Bb3e4_*NPKMIF>)(2BE!pO~?%4ZfckdSa<jd{RtT-xnb6#m_ zU|_ITq2_^52QO9Q)+I@E92^}P6*xi^;(2eyCx70%?MQ*_^INN*zPX)z+2r=`xsx7+ zh;Wy5&ElOS@m#Z8CCJsdBRrI$U`d68*xvJR<GY^U5WAW<EqAAx$n~6}Y1h-lj^#O) z?N>8?>Cs%YV)=cZwQRcS1{H2A?x-^){%*e2^t|k?OzeM#1Cl$A%PR1AO<nq`HF%ll z?j*B<rblxcPOb~;;9wVEoZ)eRnIYG7cWRPZ?YWc1KJGdGFX~?2KDg{-?$Mhie&-%M z*eW7t8qnDx=qwmK)xjz$_>7Cw;*bD??0*lx8UD2T@mTW4oHf^PPj<by&7{7@$|pi^ zQ<`F!$C23L*^3NUX~-;NoKV2Q+`H-;!#m!0ZxuKHe&4pR^i<iY7pH4(Mc$5@^|V)x zA(|mDdZ|^L%c@BWOud4FRg|Kh1~x1(VB7gNe81Sd3$xqP&gxuKuXr7uW_9n>V)a$a zR<#9+=iTXQNcrL6c!Fh%1k=-rW&NJtj^*sTnSAZ~wV3sp`i<4jnlFPz`Zi@*hAJyL zeCSG&Eb5p0!npa9-6h#M<{c4Fsvm9&ug~bc;L5%BKZEcN=8`;x&P-;VSzU`%A22Xl zonbs6GJ(NCrhn)4H_VEsrqyqo5%oh%E9`{Atz%DrO=tC4<T~-X)v6y3S_OhSXBcdn zk2$ctc(d}B<^1$D{TkI(8}uhXzG=<&(sJvzK$COfYvwSWm8t#0viM@-6oz*VGg#PL z7(3t2`*Zh0@8A4=<}UojW$!)~?08c4#NT6w*9&gZQ!c^<54brd)i8L)ePN8<UAypo z<h7p*_w3l@mGmn4Rdh4gwmC<FS19HxR++SLF*s^oS@TS1<%c7CCa}FZx!b8M_U`tK zr@yyvEZ?@fWn(b+=RaXjI5zK)Rl39$usl>z*MUKJi65iFOI`&DX2DzgE?HM^p1pmC zb!TJl>eHgr{&vqh-2Uj;j_ymFVq6#gD(BW!<qH+f;*!|P(J;e-SJOdq?&2-^sk`%> zVz2O>TYu@U%e0@a(plo3$xn7MT)#HS=a^hy`iBEn%#3VK0V}i`EdDbTe^*zzyXM*7 z`Kj5<mOlEkLFUCGrV!~RGaXF=Tox%QxSR;k@NsdU;^N|xz&pS0-tW-+oApFDaz@H3 zmml4<v`Ae1vBr#Tp{iVe7EBE0=i!kp*yG;L*kD$7r)<V;*KJidH%0&6_P%&cwpc~_ zjNW?}Ua#JhA9=;zt#U<2E7QsYJfSKo0veMK&S(suRkrbvezowNH(~Ny9h;KNP1inb z7u~#Xlcw6$&*kgHc4)1?FBX}sWaB(3LD*!OLSSm`s*QizHQpSpcNg7Z?w&Y%v(vjf zuT|9QbQ>3NEKoc!`PE^q-47Xxr+s?9*4(<JIOb=wXl~A@*`4#YZ{K0)x5(AdE6OM7 zgW!ki32gt4l)G;--F3J9u90r{iRotz({eh#ta<k!JN4>oBLS<+ljgj<q%~*jj26Fn z4;puz;hwvAJ73n}s$$)9wY?j6J(heNq8rI}S7$|c^6gn7!Ff(=R1CP5Xr4EoX{fo{ zB7i}GmFe>AcmBzzTiaFbL^s^zU9Z2_ps07{;njy)5_76{vT!_AX*~3xz~ixj!UQhG z0~!xhnOW}NeZMuIcXwuFv`*ieW4Gso?z8#wF2vWNXqAf3qE#hDA{kHQ4A^dL`!@I1 zoBs?f$2RP{6dm{7bjL&Asy@?sH|8-%&oE<}vc$K*@Dg(eqXUb}GtHeYQ+<vxhoweu z+!paJa{EvB^ccRU+skcaADy2QmoF}SM||gsL>D2g6B5UjQZzk^W-PJk<Kp08*J#{n zRQvbM%3c1)jqlv;*l&FPo(ON9ooNY6gni7?B_aW=AufvwIXfD)e?69;#&F2&@)omu zZ~Gp+yXV@Id-=7R;=IS)$v2*9O+CDJWxl9K2iGdg0)|wE<37iy3v#VoacPCa#oea! zw%nGzcxdzUH=(<XkFHa#dUWs3QKhaaOARwMdk?T5dUrr1dhN_@cXUskE1u?aWxL5~ zeZP0TH*}Kbx_CTwv=Dfv&nPgzh~fIzYz8eXZF@8BVE^2Bmj4WIKlT4oTzvDp{jL4) z)>}TaJ~`|9o<GN#p4^}6E&m0}GTrMK%XD|op8eB4|M1?vm4EY#y1uXeJ@vdu-4pNf z`WFlT##hc@b(E`k)78YV!sj3p*O#+Gp|kBX<}t^7T<KO+owa-0^qS)ddl|n6HF8^S z_<mPm#~Z(=%2usvIdT(BGyaOY)CZ_b>pqDyR@t<;qv~>bn&`xWNq23g{Jzy{zW>Ai zB<1^^27+8(90iJ7CO8PWEaPJeWPH!z(!|)HAn-(@!NDeh(@FmC1{NmaC+{4Dj{j%a z$1<T`&iJoKgM*@;fkJ~r<?ab8(-aw;Y=1B@K0Lmk!6EbChVPF!RXZF6IvfNz3cn|C zxbJ814mj%5v}(DQXS-IrfM(_K76-%SGkrJiInkOwh3}E0lK<YoB{CP?O(I=qoL;l+ z*`oyx9tRD7*mL}6C`*`rq04g9trf?o1iJQV=`Flwe_iHK;xC(tK^~<I0!$1O-ehJx zN!Q;i7jsys@w>T%MzrA@u}eXh#JWv4E|_55(4;DHGi##vfvD%JUeui1vG1q5`l&qO z)$8N+@))WgEI#TZ?~ojEByLteLx;*9C7TI4vBClq9E7zv7y}%*nixU^m=-jMvM{Vr zV0B~|gn~I@Zu9Q!=l}g>e^XDj-Sgk!f3H5bIbLZT^?m+~2YY6JTABQBdioE?<lc^7 zFMhv1SMuhs^7r@|yWY5eUcG)R|8i;D+kcAL?)(wny1BSs=)j?x86W>MtX*e_vBIBe zb;Rf6DWPi^O^vgexSP_RJQfO_dF-BrcFk|zfX5Fs%X04eZ;g2{v3bS?t<AG%+xmvz zj@;>Uim6oeNZu-Q|JPIV+Wj1!tEA^mG}>HoV{PnAqnu))%JSnM%(-lj=bYZ7eOt*> zLQJ|kX>DZ3)Zmvc4sJE>J&9L$&J90tvApR1=1F@@Lq1D-$DNOzxNfoIhda{CLM)W7 zK7L)<z*51%T)a$iK~M7B(>JfA`!o4$5nXk0N4RsYQ23kv8!r#~*eY$CIA?j*nRh9Q zJhlh4PS4r*BypPBuSjLp$DT7qyF(Wjelj}ue8c**?#8Umd42i0Gg?}uuWo(GRAuGz zSidA$JR`1uEC0r6f97uc<o(wDT<`naugfmKyH>p2tom|K-`O6kw5iMfd|&YL&Z4*7 z<)PYF8&>)(k2vzd!GgWcDx&(X?pCXy{W~u1%sp1MT66v7tvdVP@&yFd9-L9P;}~ah zGSA04xAL6wvbVo9{Ix^BF1mg@j%iDw^oI)?i<%pP?@cvrN<J1mp(U~J`r+-K=JHY} zO7rTE&yIEVy0yJ%XC~*`tjxs^^v;`YE|{@R`)c7-z6*c6Hff1^vMe`bc>n!z@n^Fa zbBpJko_p!mglqp9j?G(F9~oN7<Mc3fPt>8+Q@5t6K0F#(UTMi@tRA!C(fvbl8(tRa ziml{%dbe?%znH$2+UgSKi*_2aGp<Cg2z(;cw)X_nM3-qUd|C@urFeLRh8VJNI0hUF zV(dL3D#60MPr*>?)RvW2Ygb)X)TrR`WL4Om5z4Aq(iyVC`(o!QX1gyfNw+3laNBgr zXQumvqXroY_Fjt18kXGI($QWQ7<6PIXTkeV4gwc4PfeU(6~MaeVa2v+hodEL_G+-R zy*%;!yNY1AN~h;$-pZL)HmCEm!j`_%+kT(V?qThVx)rXn#}7oh9F4Up`|?-$xR#ZD zt)sBF17nwY&{6xM#3PnU3=P5!!VLlpYBrV?-xV0ljV~`cF?sE;mD~K{V>X_eQ7hP* z8U7&QchTQpxpI01QbB2rPZy}%a{RKm>Wfrw4ae3un{$3vr&+A&@}7Tx2SdbvhMeVX z_AbdDN7ByjWbScHdN<)yVWaAa=EKt%W}*%QVXHwzu~#euE6ki=VDjzjkNW$m@?R1$ zr=Mk%C)b7Q)L(k@pMgWCaHD*zd~M~qx$~FQz5Xm7+wrfo^xMKOkJES8_a)q(-&9ss zkpF0hMfn=`e_M9AR$u*l>Uo!ak?QXKUjqKE-*bj<VZTk8t22X-&tVIu2NT;{Ji}t& z_MJKPGOH$V!lsJm2D$HU3#7j;2zd3oIiYBtbNU2MS<_w7N7y?!LmX3{D6YxL+Uc%j zJb9bl=k0pin)Br1Hh<$?#}O%_eOmS`d+%J!vKz0r8)@1IN$%|6T*jy@HBZ4<XL0NU zgTG4i);wJ^ZL956pVdDnclT_%svdfv_}+zmOCC%$jTQd9pKCc=aqiaBW}nXW{yb%t zRxUkz$|Tdi8+V(p`-=p+Otue?c~bFUIn##^r;?^mbF?@q{h@EWE4%o7om81Urj@fk zEPtY}acW|@%B-_*HLWT{rPnupoFUz_T)5!JQ}?9XH{vX{(q$&9yZMG(7qq-9Fl{@x ztSDEq%u>Zwnq5kflN-*f#J>D3==pMW$;ThOb(8KEUF-aCG320db<cLs<EM3I>O6WE zwq)zw3&xvvY?n1XBD3u0im4*vn)N9hGA?@$a}@M+-92fsB3!xZ+}5I#lV%yc^jMRp zT|8y^o2{>o%~YK3S6Pu6JfmEoH|O_(n}<?T-gbp^bH7xH+)~gP!;~h>cqJmkLdAGR zrKOkP+K%p>Nl%jQ#;8nw=pXub<qNCdc29DXa?W{Xt)7rKb8G3;y0hvPkHg;XJni%I z__JS^6&!b7F`8bj$+ALQ@x#$wE37p|m$-L&2s6HOKe;Yp+mWEF$D&uCmG1J23w3pV zw?5<H*7=Tw2X$s9bGo0n^!I6Xj`rr%gNKiCCtiQ;{VhYZ^sVpI(DJpb`B_eF)0`I3 zIeVX~<oCzCXVj~Mu5Zq}`(pX@pwN)ZGj8@-eeUW>ZJYcs$jd1Ec*M3ZsUF+o&30!8 zIhwwmE_3WclE{JvrhIW12ewpBnS~zg*E-$IKV08^Z13uTkJ(GV1z(6?e)#08`y2D` zbx+&$J6-&DiluY;hBH~WllIzgk3F-xtyAE|_KKUQvgcGe%x_yDGRL9%pxo}%xLbN} z>J5{_bf0Ek)!*`I?%RWJW+vpFJ9=fEo2AmVu-8-7UHW1)>wW~h<7|F;e5IXJPOHID zy_0W^Q>Hsk+R1if@x+OT4kXu~Ve!fom~7B-LOJZ8Vr0vbSC=Nmq<Ndg-dwRxc;kf3 zl=3an>ofM;T>I*dQS83blI=24Q&&%OOxnKe#k!LUAv~^fJd@ThHg7BZekibwcaQ7V z(xnqm^|uCI?mj$i+20qt1*Qm}xU}j)jpp;q5A5<nk~gjKQMJ4sqQ)0sFsYa~IWyhT z-|&mpv&XrHwet_^&CJv9ymk9tp|w_)=+*`DG52)BGFPSC(kjqw2r+8dz4T0iutr|T zlnIl~n~vN+a`))&irk#ZbHz3XuFX`p4ENtGbK3Ep!3=BrY2o>=F1lG}te$<<Q+2vp z*{8i~{kN+1ZoOaj^6~7-+#^ztcx9&^+MYA((UTR+CWmloX{?M^S;2LR(OXF=xS`|U z3CrXSZ<97elw0qZ?q_9wVAZBM$8Ge~zAas28+CEgK5_TS-=!zrzF99++;^92ox-KB zwR_^)u6I0Dtgg)3wv|PC=FO`{U4kwvUbHM&DK6x3C`v?5QReT&?S&R^Y}PqmU758v zW!h5Xt4n>uHiw_ce{0*`dhl+*q@~GgwnkT-J{oq}|NDI7cR!2SG_~B8b2lHkD=8%? zzt^MBRgfXf*+8hhNzw9y#5bcIJNV@m{qWy-cR@8{j+*4Qo!6p!V#-DL1*hkQe7K{^ zv#?We&z%rMudtP(*+J_>ExnZLIu#9j7!{`LBo*iXkW^%OGBq>YYajEo{n_)*MO;s} z>CSp{<L<AYm9hs9&PpwByZ$h*^v15(;_ZPuMe<yh1z7SPIKs@X@NrIZ&uWod%bdO^ zt~8gr*1KMoyYA{Yo4aqH+&&%m^kKeX{e*Y#WjAH!?YuK3<JY#Vk}QtNtLIv|IJZoh zH}Uzm_R0-6WSln^iA#Hi9y9HW*R4A|x8s(;X4^>3ifj3nlkWUyaDSg|U6c}PyDPE8 zGq_VAaPGIesyvKVo|knd%y6+}us9|i`|;*>`&rq)RQ{Zt@p$WoPf=GhGfmVUy_xqm zSEy|2cVo87j_vz(Hdk9Oy_T~pPc)A~Yf4+*sySZF$BO#4G3O+FeCN$y9C>VNNY>Pk zi}TKD-F<dNHuJHm!|psjo*RBjk5)M<D7Lt`PhfH|mUy}3_98Q7akWXOZkntTcou5Z z@uj0zTP;Co#^QSd1`J1pExd#ZCuOdA`6T;9MQV^bvkbSLSA$dClSeX>&i_8tT)Ao9 zRF@tFhLtStEe!_^<%<fgMR}Gz*Z+^2z~VcnEdMusj=AHMrI!*x>5QlI6l4*j2d zcvrfJdOq{ca5=8g*sWMGHCSLq0p~%jCztqFNw!{)PX0Od!0`_=Z^^G>m-`{sAn_vU z?<~$;+s?6WUZ$yV*S^_j$ukX>;!~2%g_10eDY1cqGaM#82<BP9@k)X*-~d+}Lx=&> z!Uj<uh7}2{&J0?EPcTP1ad|@w^S_@O{}~qZAayQ^L7j_-HN<x=Hhyldeay}Gwd4M^ z{6~9V{d-z`RDP$>-TS{Z>cj7)u?D!$vsPNrpsd(bz<N~JWol~R@%L%db#^!`wtCw9 zZ|d*#wwa9&PdunT#K*z*%f0tD|5f87PxlBHy!~;`rcb|U3-^bkde>(c^gD5V>70A; z%8Rxdrg>A8S(G0xTwca|T5)sWy&S%_w^xr%&Fk`7u_#SDP)H$9!IdN6k+PxSCBsK? z+NPZsKh3M>6+V%2IQsC?=nvOUPvchl_`2ZoBwzpX4W=_~eP8J9J$uSSF@NWtj8zBD z^j;C}WswsKpOkofhmCS@u++1qmgYWNe6_YuI9V4KRJb);`DFNkJ@VU<ZftvhGkV1n ziTigfQ?#1i%qUG>)}^*=R<LGM;^Bs)a%{o#J$*e*-7cT{lXEm%u<DLXsnXRV^_j}9 zY2s<uZ@)ivHsobj*;%d?jT!=hqI|_un0LS5nY=tt*RAJxnjUAkZ{4lg_oeSI|K_*u zCeMm%)5N~`m|ar3b40{n^HR`q%@7-w>W$9|tNE9H-DURVUd;ad3BRVX@BOy$Rm>bK zlTGTfGQ1T&H|s8)T-H7P<dd8t?p>`uP0`Jz99o<|ebgCP8CIU|5J`?^-&7cuw_IX( zwohEl{JlT?)@kppmV9`7`)ci(qB0qCi?6p$eCRQ4d*+{m)}~js)f`oh<$21S+-X(P zy}L+NqhW_<$es2Gkt-^vJbz!DQuVuH_O30ng7Vt}{ZGEMnfrHbsCrtV|Ie`Ps~?{D zblKG>Tj4E#`T4Tvwi}*2-x~dH{mjx7Nn;<L*-e}$60DpORxDe=mMH5Hf9TwqDGL_c zaq0A5D0=s{`$o69ve`7RVE>LMO)OnAI0~7j-<{LkQrvIRxAayFcbU;_F~j=XZ#SJT z+NOE4&heyJ+`ak<dfy(&1O=+`AJFm)ImHxUl&rNg*<ZN5_kM0#X;kooRS(^~E7~)k zl&q^4=jFYVyZcVHocjK}O=s*4wm*KAyY|r4=G*TwMOwBjxag$g7CQZq<xwWCRWoWo z2&79*dwc4N?(Oc9pf!8+ZELu;F0v~77?}4tGqrv7gHZ2&Q~%j%Gd8cZ<mj$vC|%rA zdihl0z2pVup?i0IZ_0Jf$@}!^U7vP)lz-vYoen{P-OqUsyuXyA{5y%E$~U~mEoS2L z4P~)Cu6KG@PnxoIbJpJUSEo<T{IK}K-Tl(jaxcExp)$w#wU(BjO=UQ<#y4@b;~R3O z)=Ycd88>mqEor9wViTzqZn;r0`@2_6p2~bkGtA@Jhs%6Z_AGfU)4R9x$T{AK!ku|r zrbwTEl&w{tc=yJQ8o6y-pS`_vZmGZ3nTwaLdv}<#&rsu9+HRWJYHW10w99_`vfrzg z-7L9oe7yPc5AK<k&B0SDHFf@I9-n!W@9Rv9+Z(ORX6Hqnwav`VTC#GcYvJ75<<fdu zeqYp!mHae+ZCqBfXZdVb|K20|KC4t%S@Y&SaL|0}TWa(D(!0>p@*$PyXUZ?OyRThZ z`|C~5x#!hv5~A}p%cnls_Usj7tiZPAj@M)-8VFb|6Y+96!8)gfy<M=|@u<n{^Ap8e zSNg5hTCr+BlU@10Nq>&Yd@eVu*2-yGJL8FU+1g8IZkDv}I+#~FCAM|pRFB%1XJ)1; z-kV;g6nSc^TW;Su>F>R7!c%k?oBn55eRsX2@te8F^xK;Q3N{~7EDAKeqf`Gw#Z!^d z<e8EX$HgN#e{_#uy1Qlh@+p^$9^@Ps?dokWj1Kx&shhF<&&u_m)7GUPo^W;M`b^tH z=We8HC7V~LDJLndnK!q$Re$n*t#en@trZJGk1vndn{idd^Wn@uO&$>`qms;fEgQZ) zln6ZL85(rE^5x9En$K-ZZ{Id&Ocz)eyW9F}&ziU^+a*r<S#2-4EA>t1PTX>DIlrp( z%X?Rse|o!TTJ6#;@!k2=^+%)hUj41#uC&-O_VOf=cE{h&3{3ff6PUKNv`<lH<4$|{ zq4U%gji+;;o_^$S-tqai-?{VKtsW|_csecM#N9pf&Taqfw(o4wI^ovKC3m;}XIN`# z+_a$UP@=W5NH@b28$rb$CI*EB#@=tYe6><TPA`0Jk`r6D&MkAxqszYOzNx+y!KdQy z#|rMU+<DjI>FdoJO$r|$e-=5dv5`w5xq?war-6aVbWKFq+AKFM%>tcc->%#$-`1xW zF~{{}%ucOruei&Lmb102=wDtPev`YvnA@8<ZmqaY>}IpF!y0eHT0@nmJvbBYwocSj zNJJzqrq$5-KEv^=+um1yylwW3nYU?s($jX1mFJ4;t^{>&)i{2wYjWM1{j)r;UtRcM zTiB7q$+?f#KT<6+?wPkHXld4~<zk<_!}=rBJ)fK^YKu=yICgQmz}s1tQ8&(h;@qbs zGUd33PiMH>0%k@Z#X$DGa_@5=eE2)NW7k`!RcGdJS}hse_|o@@&ARhPV*fl{omI4W zPDNbky#AAOWh)yV&vxBw?U}qcMWUI<?(=4e)^7PdQPH<1**Vs4msI(ceThYrd97^e zfgp!q!GNWV%={96((l=>+)|dN&EL9Fy!x}OcJSoP=t;SUZZGros3_X%Qu{vnFn4Fr z)bn8mSI=yn=A~)&`FLdNy3n;x)Sms$?zk&<`1`W6Tgui5h89b^>0I60IBQ$kwB=#b z-mT-B8J6hft?_fCSMm(+KoQ066O6KP?{ahEj0GiPCr!G#`fA*&Ng-LQwoKcU*WYZo z{odTk4L855=X0;SG&^w0e}-?)>T5+0i+o))pI0ktyXyzV#<b%;m&9{;t~uFD1Uc%L z*?!Y~ViRp?*uefT?oGyoloj4Bj!7>%4oupyjMG7yId4O1@$J*wvSKE0ys5KBe0R$A zuN_)~v)K+XEozwQ!tzYAL1clAyXOIMp6NF(>iS(e;y+_;oyQS2f4#X55^F>oG?G<1 zm{zt53;l3=ta*xI>s_<c1#6}`J(*r(^fqr}r&n=IcutW(t3`vzDTbC4OiBz)37luF zKQNu#7Tr84iob5d!|Ty&7ffxi&%1L>@x}MM@+F@HCR}1Z-mb$~xBcO@>DCcGOH<@{ zKis?>Q*xlaEpNqYQE^L-#+C)C+8SO-vM-o!?YsTtx=r8j%)=k6-(Fq1>BZ8WN*0;k zOL|0S8d+(og<M(Cq$E6@u|d`5z&kHKu|r4G_Sx-w%5yd3j93bb)@rp)t#ZqfWDc!L z^;w{1(BR$CU$G!LQp~je$U3(zDcj1!yeE2uR?XgW)VM26kZI252T2_bC!E_km^F&G zf1lm@?{<HZne^Lhk3O9{_hhxY&q39Fe>(kEEz#sFc%fz9P|V@OV*Sv-;Pu&gulr-} zMy}uXTx|AgVUcxj-*srNnlWQR(UsuBN5Ks3HEacJ{u6TNJxJPi<b9-^e97ipR}DS* zV-_R{EVJLMHTM$7CkCmQ3J1w^XWwQ#*G#o!J$Af&?@hxr_Q<X4t|&~}F5SRsWtJM@ zvD8>|m8q&QLy?0->|?f*=jJ|ENo>BGb7OU)xQcPtHQ&v}>ryzJEe(ZPSwu7@l{9oT zd}z>IA6+=_@wArp*YCK!%-W)*qG4Bb=ZPY#CnuxlM;~8<2{KFt47UsCO_u$#<woy? z9S>Ca*xu-#zu2UFV#9Yw!|D5{S{)EyyXHvl&)H|r&c1d|c74VXeer7RvO@`$^G!S! z-O<$Gn3pCQe78ZTlI?DK#KN^pPi*v_x*(s6DePcDM}y9aQ=U_t6658oPcLB<?%i>I zmi6Wh#qD<k>+54LR~rkP+50?nb7Qh#QrFt|P5B|u5}7>{SZ=r7cqh8*bMEo`54VS1 zpM5aIbZNtOgSjVE0<Gq9OiL(KbV_58lfA(#p*ro|+NEcIS|?Aw8M#B*z1+d)P*e5_ zQBh;LAZCt2h6bbPxLbLwZyy+JefZtI@61u@8A@)?7+>|JX{=GoWDxb_wW&CfdXm9o z)7y826Yk`d%{J36tS#KMN+b5xRAG^`q0C*iQdcjrm^vtWe4ODRG$WyM>7{4?&gLIo zm-lYl(i69y=lgCv8un^Mq9(`6R3jfRo4pSkbkA(u{rA*=h8J7+oqPGs_42CQPfCPE z#a{-j2-Q`czlTY}_a1}blLqZgJn{xd^K{-?@|hQGjag^%XU@eG-{7tuRtC43jmH); zOiVxC!np0tY|ZNJkE(lX&KG8{ofs|K(f@Jlb<K%Br@tK4Y`C*PiB-PJNP_A3wrcyS zspWIL9u^&0x9Y+5>e(ss_k=u-C~ON1@OiHJGn4bw22S=mhO6bzRz$y_K8?5Gz}@cW zycd{xj<rlR<TiZQ)5LJ{?eD}L)1w8RT)U(9?%Pqvsk%qSjvMmLbaS(0U|KxI;*1xQ z4Er7fmY(Xo&3o30y(>K9_q-zOMHq|hc86mwhZ?4c{(jEXs+7Pu<5P!&#N*wzx9*pQ z9r<<Z>C&g72Ul&|I@wTM>yQG2qe27E5f@d4{N5wC5)Z%qQD>QR@RRnm=!s@24|7_b zX9QXwooLjjdv>N;%aNdm##~cb+7dOGL+)>TZ*}xubnZ_!?ZU0Q_pIQ!6%;8rxz#5@ zLv3PHs^K!l2My;t${%paH1nSNXfk8%<mB^fJnx))XeL`Ktd#0=;i%GqpjpljIGcNR z?@{1=IOWamJ;{PcB^EY3Dc|#0H=}#%dsf5A+4)6_x@2^pW`wYWgfDP8RAAJg_`bQF zgL%Hx&2{J3ZjU}~o!xG>THNu|*@H%$lX9>1X)e4p$3lFG0f$)4Vulj6@U1`QE_%7w zS8~yl6%VdyOaJDOO*ELA{v<8+sN?iDChb`cHWS#ojuqO>Hma#k(@id~t(oMs>4b@o zzf*z&Q*pndQxc=0T%61X*4*ukXV-l{zT@h4(Ve^ZN4q#Z&Q>n|vi6D5tOE)nY|AD% zh@N;`_sC+m^~S|*u~T;&#HziI6y12_q{c3{SOxont!jZ596d{f8&spsuG{a8nsZ+_ zqV?k6r7Ko(?R90AXwu+l+EVWC(9pP&al(fN&5d)|P0ma#c`SY`{@(3P27;&FP7)Sa zF0g_#-~`L1#~y{#ix?seWNxd3mgGb%z4T&nc&zKqfSiT9#2JDmf<jWiZ)8w7x6&(s zb<y91y^p?|zPZV}^6b19x12VMdv;|pNT>ySR600!a1=-|oh4_!&rEj7<%4>P{~4;M z)L%SiJHPnv>VL03&r9Ajb8YqcGX?K_e}-)Q&)~iJkHW@dM`}xIzdpArtDE?H{h8P@ z<)2rt-)g_yJMZm3%jUc~&g(x<?)%=}@>3`6-^N<e_u=2Q=V|;sG40)dhKtU>_I)<6 z0xj=!jXD561&6yy{Tgdz0pm>f9#6NDWmZ4LHr<#$za=b}+cwCjMSfAlox^EHN1vFs zDQ<jzPW&$SCCMT&!}J~Bmnr9j&YV86YPYDz0-06fjjv3a<~`Rb`BrwaVt1Zb$dXxS zW93AO3vXO)-?{2)*6KMo_RqW*QXuGVv2B%tgW;*Lq-2(#44ju6`d_(a=A`WZR<r(6 zQpER@zrCKxc5aql8Tu-EVzSbS-%n(sV+9T|p4Q**-SXp<>AE-9bDvIH-u+`{?xQQ8 zm7d5pmaFEqta#TZReH^Tsdk`e-3-pVwki>i{WeWFw)t?d&BP7ML!)GV@3WSkmLqyz zYTMK8)v+IL#_oN4?8>K0+@f}!U7gETifBDxVw=?}FrDLYk<=Vheffw(K?mNS6YxD< zdSj+&=8KkBvc?iVqKpp9bdEUhmdz16T5&Qfa({OGgxfuTW=fS@m|MfHF1RiC;k2!{ z%S9?f{On>`rWVA^m^@QTD)wprmzIh9e$VfZG5hiKtbzNU9p<MW#Z7AUF;?VLy1H?> z{g1@IC6D@dMLVXwxc}8Ivvm6h|F(FpFH^D~T|f3x>tUKllka4sRWn2w1r%#PGz7^^ zY<pk&t#yT0QIBcT?2`FR=O>4p<=xscXG+N2=tW;E;-?&MaB?-Q<Y7qaYd)fUetBp} zY1HC{o6CL|mG9N=v)nd2f460sQR~?U(T2B~qc7fyieB~LP~uF#P~p6pea41MSQ+IE z+uq(T6Iti2Hht3igYkD#H@8kxT%j_%a$;chTftk3!YMb(-1ka$J;}@NGo5;KuEqA9 zE=PTyC;eR2)ttD}aLJJs%OAz53e0(|mHG5iQdrOf%TsTs-^y)BJF{}9h0m7GU`Yi} zcE$eRnzj8lLE%C=3vT8_J>Ok!#yef<`=gtp4s8incTA8ft@O3xsJs$c#JPB(+^gjG zx5LAv{EVVbt`qrm-JWyxo(ON_vUy5cfhC#Om187#a9b~*J>jLxuT$4AYbiU5_^MnE zI5uUOy2nyssTegSWeL^0F)^`nQZ@dUa`Zk#p4%w!_#a!qsptE}UwiNIT)JKB^jqx( zE^X(kE$)UmtXz@mwK(y`nMGWTJ(+VgrJRf(O1<B;ea*GUhhw@PR&DZ{`RPO5Jz?ed zqPx%PpNXFQAT;#igS6dSZm!Qi^YQMYbB`XsxRtg$mO)rbz_Y8>s4Z@>KuWL&597n~ z#p&FeHqO{xt2^6xj`r$^qg&T{T~_DiDK`{b>*-eHx##4b=NJB7dE0u+xc>fI+4=Tw zj`yVeHGOc?Pcdn8)Vt%Q6V1e4ZI9g?dgATnrUeOtR&!&H&g>BNo5&G!bH;1IIm?qC z_1G?ZsO5g|<b;l-HD@pS>HfI>X3uizyfojPlC_(&?>&n!JuS2Op~d4Kd-h%Hj=l`6 z%-eqFuH6gAOHY>u8yPQFO4RtE!5WjKzS*$z+%`R3*T||#UqiJcQ@#dAX8qvo(>n9w zvBj<zlg=NXul3mV(&<}VUsG?##AoYA=WpM6PrAjj;<HS+T56H_+37p<uZab$yAdNL z!{TSOWRu1TEzLHQDV=4(lS?a$r`^8xX2bqi>8IkhYc}1^JErM%?S1BsyAmC9RyKMp z<a+AP9O;p;<kJivmSr5Bwl)11pXs+19rpFRvf^r3%HO4KD^;$g|GpL_!M)(ivJV%x z8F%gVdh&s#F+FY7_jJ8$-w!SH3TbpS+54qS$!3wE_xFc+eC1L-VP$v4r|#*9ZZ*;q zI$3bL=jZH$q30B9Q&yelxhit!mb}2BXA^@LE_wT71<Qw(Pp3<|sdjGF)L40JZK&3& ztxI*@rbgCi+<2jPY<=jH%A&L?$qdt_e|N5arhi-K?5TgU+6y)@Fa%EM+!b<CVa6#V zrzdHv#b$l5ni0J6d#wGX_nV&Q+~iNPtZgiNdyqM1&G*xlVIfuq3SX8kG`S);U9-#R zo%ba3+(%1UeO{}%PdCfw><XLw!Di<k^|NQ+ycO=xJ84w3)#<~xr{xYOZms(sw<tVe z<`u;=lP8;5bTtG`@Ctlae0=ZT`#vJyV(+N#Hf}w6)ZJ?8)~TT{L*09}-t9>#YcUkw z%^BS@yHaZQiI)#f{ITr4-&1z`$j05K^Et}9WA!U0{rKgRKP|erb>pTj#$r#Tt9(7K zo^Imoc){u#=FxH8PG!Et4>|SS;>*?r6-}OUWoqier+F*ar#H=Uzp4NBj_r@Arfmxr z%#G?QU3F%&Rd~}f^NhFFJ8yrUpCA^q@6%mx)!wy-zE@{mouu3I?^Cz<n+p|Ri#n$i zE#k0d@havhckvGBY+rkK-Mgrp6|=7^%zCMIYt5<^m)7~rd>Wa$`t+P<Z)2BjEL(F( z_mbeU)$3P%x*oRnV%munt75n3K9w-O(onH`NA#p=4QtMRQNH?UUU1vFx&%4Sien4e zoH{-{?a+ytXtqIREpq{%0o%u$)@LWIN{<Nr^`^CP-@^#et+(Iz^?H}R?<iVzf4Rj6 zrE~!S!}iJTyBT71cE?W1z2@Kd^yk%$lOpPDYqzZ~t@3VGR|#b-ncg<ZQ>Ro^r)?pF zy2`8R63lsKTkjkCd@eU<*4u9s&U8Yze9`v0=qA3Py~_)jr#7d(R9o0n%<4LUGsS_k zfX{%HdA8|y!@W7nl3U|vDz+z!Wm{J_AFOLOd7~%6!Fxbv$)XlRmlQSO;O_?{3psr_ zBUOJLtln@xZ<^{P?%3nCQr0P|QdKTJC!?k_^|Wv;T$ZPJw?Xl2e)sJ+bC;dX*(JGX zJI}p)9dmbWnH$2hd9ut>p`Ig)73S=o!`^T}^v!!q)jegb_hima{q?3z<gfa+a)05> z%iBYf1yfFKyz1exV#;MzwN*6@Hcf23_wE!O?0NES+co7?7vgW;w%wiVwNLlNwe)O> zzsho390e={7<hywKR!Oqkl(6T$rbsD<8hhU%x3Oow<6x|v~BsW^7gde$*`47t$F*s zW}aH;!c-EXAUwlCin(y(oT#(APCqug{qnesxQ}3IVdO#CnVsRjdK)HASLhUZbtqXZ z@#`iz1p{`UCqI7sWOLlNHs)rw4qY2vZG7{6_PyT1o$(zvZ>fnd_c=Y&K+{VhpVjD+ z+7dP61{1xDdR-M}zeQcWoVB}ELb{R}INR4uZ*-`1V>lCfYF1Qk>~x_$cYG|?ZaH3G zyS?#Dic|N_RiP=}RxcIP6&W8IFg!A5);u2*SGZ)m)hFNm+x8vXY+zNMb5N!uPUYwB z=_-M{r%2B{&@peJ#uP5k3F;>TB$zeN<gJf-a{cV-Lm#5!!h82`)Ce(}u%9bK>PA|u z(Aufn=N|NO^jM(!qS5jSqr#e0h77xNexlwQXAZ8tD=qx>!|GFFr+2qDvfSPkBBaID zwfMl6IS%P}raa)ecQtSK1L>l5rt_^Fx%YX`ij+&*CRowD_2R43XJ0>j5fZ@R%B|$% z-tl{LgZ{yZt1IvR{kK`}-z-VpZ#RoKJt$|->zd?hD5_Ysh+D>?Q!-^T)08yE!_$%( zlGo~8&z*aFjpw|euS!pKijVDN?Uzt)xw9iPFQ;>INphFFg^D{<qJ~gn$dQA01(-AJ z@;h38-cSE#9@dz0hwXazuk9f%Rx0oG<plq(SZ495#8+}k^SA#DD;bi)Y?ghTo3?v? zeqyib$!+%)cN%Q9O`3aEI(S)5Zj**l(TzhJc~q2A*BqVLp{&{Alg4sv+M3*F!jm7& zC{~+2?XlcBIjf3;M<3*#i!(EF_1*kwu4$llgF@qEK}I<{2?oXm+@+U|Pn=JA%k%HS zMIC32+|;AF-dodt$ZDvtyW~~wRB9LHOMAZLaX?2Azkmd@N6yx!i&N7bPW|{AbTPl? zZMVohX3;!<VGma`hZpy^ez`0lT)s^92J@<$_M4Nr%WC4)w%jtf78cX==kD2=yD!^& zU0Z$ZC|g>=qSNb=q?a0snw(eq{cw2?W8;mFG3R*?e*ds@>)q|%bz8dL-2StqdGQ@F z<%XAX%VuTCWC~b1EoR`j!l=irVDx2e`00CJa?d?^{F7TKccFCT?c4KPkFo@(G)gbK zo1Hkjt6^bCXjZp_NSZq5Cn<-bHphv{Cw87%o1G|j{kv<Pxq!E(_3qA?2_XdwCOq{t zcg<095SVgFK(cTS<K@>I_S`qmXTF<Lu9|c``z_B}uHFadFFI;RvuUV>Uwb-Hl;Mfx zk>$D!aY_ra6-?vGCvGj@;;_!@sdw$X_dCn4ztvqiCs-gybJ^mk6HLqx7<c$s@G$n2 zwU+UhtEM+SkXiHYbV}&y2?i1&A-N|)k|iwNYBsQa&Mi%t_jtuY>C4%+zm;x&3#)Pa zwCSm<N#1HB=f(PdHbRyMmMO?3C@3pDQe=oQT*m)FMqB=<@$wGEn!S0d6aN|Zc29{} zb5`wiW9(jYmr|~oB6As!sGmN<;>K|4_RI3h(z|m$yj!QW-*fB3OFS;GxLTAnXSJM| zFUX)FvVc*8xjb6`TDRHjvgDn2<}bS1oFjGV?(NNU7)|;%uH%@##N<f;vqogcCw9Sy z4AIgLw%6{y+53C@6F-SXpWdvq5nGnAC+}hD?9IDQ#9Zh+r|RoBMPrqdkvX3Lo9le* ztm^lfjmlHba3|f^86aT6n-sEkGt<Y%nuSvsS8mfh=aroLtvk%%zTxrwx6wwYbKG_= z&niiAb)Kmzt(O{Pb3!3&B{NH#8z;{L-jxN%b>A7r-neyl%_+g%_oGwKuH*W0{-WpE zduPHNg10FhH%f_KZE3iA!pG?~2bkFSPV6+}-g5hN^3J`c+ZAnZ%j6bl>7Cfr)U|Te zie=mi3lALhRW%SftfwOP!a+K6_jYr)YUddV5~2GI?9}_CXHC5Egz3Py)6J1zm&9x{ zdND!UqO+%1%uA$3Pk?pl<Riv&cOMo%R<KRd^wHs}y|(+4U)(#J9e3;F?Z=jRJB5{2 zlq?ZB!sTjl*;m141DoND)bHKX?&d2$@7R8Pz4)0|cW(VmPk7R;u5xPyx4<g3WTsZ5 zPR1SuB_`X84I1C2rFN#j-L}=c`q?S#&2OX3bDExfO!hR}_IZUC*K*AegBjWk3<5Jc z4#=!0dpVn#>YU4m^c3xXhb;crXZYs#{I~Jn!{>aKeR4MYUR`p>r~Fe(i9F3@$2s4_ z!hBz+)US~{im{kXXnm2*$D5+n6WABj*(_uTUsPv%Lg4gFUZd|yUd9zkd_FZ<_dU)p zcsW_%%BorMPJvt79vV3tUaXxV6FF(`x30~1-ki@{?yhunJx6yUgRjxu-2PvI0f!GP zP|J!l+@74}&9ro?#<iU#PfQJ^EtB5qd|hfJ>(l1iAo_c^b(wf+k#uy(z4iT@83Hf) z_9beH82T#e9I^1<DY?DZ*L>otOFN5ay-(V)=gq#h^!}CMQHe96uK6;A3h&sgQ6#ld zsDtT*$N`1`jm|UqEX>mkk7wP^zZqF#bm>4${Mm0(+u85L*nGeH<doqXt!LG`zm?J+ z{)?L363FUvvQetjp?eOaP_L}QlsQ^*Hc8VqZk&5EFxZ^0p8dU%KfkHO+N?|a9~JfI z`?MXM)OO5%>$*}|<<t}6akqA@<UV9lRi>7st;Dug>!@;LHp2>wX$gkW+Z78}ReC!K zwH3#`T|4RCF0)2w@o4LPQES@v=+|u7Yii5&lC#BX@&X^0w_ZX*4Of)kr%PEIXD5EJ zSX%bCd(y1ANsm><w$>eA`)6kj&(W>h!t^DR!g69;5-qG=yGNQ_XZ{y1mUDlSL3#UY z&ZpkdlBEfjx!0|uUam^^V0kSVG{NBsXS=||UlYH`*w=3mFXVgjen<2ouPbkN>`k8@ z9qrHjVBv%H-}N(Y9X@tPH|%ZJv*l}6E)H)jSoL&eb@tY<)0_RL=+1QQeC!t(vR+tY zy7PoXY#J{V<z}6)FbH3`mNQ#d<3Y@g-)>j7rn-D7m^S;~rOh(=>ajA-@)jF6-U+o> z_Lo^>;badV2G-U0d6qB;_KR-aaA|XyY3US|Ny{5<9(r@9YIjyhNN{&$@v8Y2vwCxG z&TvR8dnq;XDWecO$4}O+9!np%Uw>zHazD5Bhj#IUci!YKlg=oelE$N_aVI+YO}Oud zF5M8V)sm-|x(MaXRa7);Vtq2FxNPn3ur<DSCw0~6>&5ZR(RuZzI$STl-CbO5hnUYC z(;ALzu?s&vIQLz?z*ud&ckbp(Yi8cQ`hmN!r!XnhdX<Gk)74;~P4+G;n>GsaF-v?X zU#e{ww9a+zs_>KZW@&8}J08)acRKX=k-3=%=bILVUVLt9HAzW}*H|;ipwqdXtNP<^ z=NWU2<_CX!omF%_+I#D(du3mvCq<f0?4INF;o>i`rFmvYg>}yG-j_9uOnWBGxJ$F$ z-KlM&ACukg)cR8uYv+o#9!U(n9njU2vUH`D&cvwoDwFyuEB54{c&q>8**U8x8!c*l z*2c`)x@4(nk!WS=ztr%9GgA%TG+o_(<LHxXHQS%&B!<i>aj7iy@at+7_z<FX?ca<= zGx!+|T^y2czj^<YKlQDIrrX`$br#v~hhMv`_-O6C^LKW7%;KHxJ7sn%+eQZatvzM4 zFL?8B+myd^3y%ABEqk1};H`J|Lw(nhi1Unj%l5Q%bFj1=GgoMvxOn@v`_I-|M9jGz zBem0b)m3}OTQ?*$A3j~*u~p*anqMb>toUQaKVNpnjNGrwv&-WP*XQSL-}7|tQ?VPZ zUH5a@ect?yyu>fOCswT7IdzhCU$0)<LSfcm#uZ9?&mX;WIA`~CJukBl8+K~mojrNY zbhpXd^8~+cT^Tml_@Zpyr=&Nxk2vY=Ra=`hy?4p&(}!QJ$~^5-%DUL}XnE>4(du)B zXNofdZ=X)Qzj0rJn0Yx*w`xtIVxQZI<xV;$f(2gbg!09)S$e-;Cbu{xNlcsVW3|!S zGp@TY6)t`G%I)0h%#~~2#Rx8%T4Zy4{?08Q-u{bw98l=3k~D8$Z)SMtv$ffx^V=1> z-j~I<*xr`u$dR_JIkd@p?qr4Xf-Q3&_BU@&FXfuL^TykEe5toAiqc-pabQ^LH(5=T zak;d_-Pyg{8;^OtQ;pd!E#ayQr{K_(KmB+G~nQOBr>|MLDWoO4>H%-lRZ^S3< zG!<w1aNQ`%sOId!sEy?_9_8j~Gx>^?C~-;hZ3&F&=)5iPqV5de0tTMC(mB7Zt8NK? ztq%L;J!@CZ@{6%2Z}b?xfARX(*|*2mW~EC{uRS^UiFNZVgDo@U&3q2LWIth75`Rn5 zz$(SdiNRUMLxq9yaof>j%dTun%~V@Ct82B_!+(peFJ8|duB&nT+>Yot_Je=bIo~Wj zt+n}GXurb2^<uNty!$uqxO>BXubtPuD<`&PmC7i&iW)k+S~EeSb6GscGXbWSV-kPo zw;q4^y#1KUo3lYNcA`($B^lh9`EZ@~woBLgLPKVKT2^bc|699R&hLzO6}G2dc0RnG z9c^};g^N4Buq3AQ_I)AOLyr`Kt;AMxihh_PB)5TS%0W5ye<nA+@7`N3`g3h~RrsCs z%Kr>+H+!5qx3tJP)N`fAv#VF@PTqa5rgqMlKU;gsvpG|RuU+?DvfQU{XVCiIl(fG4 zb5`a&&VR#mxx8PydFi~!-o8hiJ4E$!r1VlR#ILcm^w67P*%7zFL2$`&#Re57#V_6w zH)8f`m*u{Sx?WjY<oj|xYw=o3Kh-xPZzFo%oip0GYTBxjEC1$+Z8j^*d-Cp?ZR+kF zFTb76e51qj)Mdtv!{S++nx-_mToC08n(FFk$aTOz&4^*j;{BXXeqExWS?l$3_W2tg zibz}W_13Bw6VDGXPcCl#Fspit+M}Gd+8dt>^38f@9y8c`ps;?!tv54W_e<!`JayFX zLDM-_152+}PMQ;*82rA>n%bM=lBi+MGo>=Psv_CxTC#R|NXqM&^ZK{;+~iAt^L@*V zWAAf%@AIGd#5N=Q^u1@{31{vrgwEdVI9uvntI!XnMRys57b(nO?)bg&z_BFN<ZE4P zjaOYh{f~Xg%^wkuvN^3XO4fx=UC*5D=g+yKEMtZ4?#S$E+lB7UjM7=XHL+TgYhvt@ zyJ<d`3WCHN9bQgv**B-;!^Jg=j}<R_alhx*?QO5hxUEF}*T(iK$$oHEFsPL{*;%*I zEvqetOK_cItw#lmV@gb*oS%nK=+$=)TzgM2hVNw1`mVql_k>~fod(hB2~6vY7(xe1 zihJv>{|seYw(K$5Zfopz{oB#>az%#Ckvl__?n=yX@L^C_bV*UP^r&zUn?<?P88^IX zn<rVs|NG41{|pKkt-Y>I#JBb~ob!E{^zhzh@4uFJFi);Km~{!%+{<LBVtXW`z;(s< z<RKQLR}*)zc)I1D5iFLv@KWGELt{}M^F0fOV>Q-ayARy{t=Y5v)b{w|wdaei^;D)F zmN}xYnpsoj#=DL&r*3hmOPJ*;A(uXuLs7o*Oa;s?aZN8x=QEXj+;jd!?Aaxk9xknM z&Hc}yaXe>n*(tHJ(J8Yx*PL7@_RW3sZb!CjVVZgx3pTB0T#^uKz^LzjV4)%-!vm49 zE8*^Q-PL<P?B{g*x^(TVeYtGXwP$kKPIT6sGM1iu>1CpMXnIld1hrIQW)Y#1QctIb z9VKjr4#I{^^|8lFc8X0~Q(UpiN2)UQxl!!dRo7d^MYrd<8T_3)@!)!~DQhb^rz$@? zy^M23*$Xul7ctEpbJ~5H?`rhxWJiW8ny#A{ueH8)X8LN4Uu$LN&WQ=yv*5s~dsp}0 z<p|zZ@iX+yj;7Q+mlF=cKb$>8m{xwAvU}o%rp%|N%e_+U4!xP5Id|#iH)1Cu@~da} z-1y`jC!DoC{^q`7)wSntEm6puYnZpDCy;@G&raMX<DAiyTY)E+U&xCt=n2l(fBQ^7 z?XCLew#dZ7TkL#%6NNNf&wM=5u`0Nuq=Z?J=|rPt!|4eOdvDz6nzSm=(93hrv(~el z`c78PKXpF--96L%z4KzjRX1DKUHr9duB+6kbCZK?+%|Q(zfR7RIQ=cz<Jv6apPwuF zO7G5Y*=w8WWOZj%;NO{lmYYAnS$ApDi4SML&(7bJG9y|%t+{8uq=Wowl}ts!ievX~ zZB>)6Hkg!P<5InGYI6G2?Hbo@<^0r&^K(+3OFAxh+k7;<H~6hx{N2sV`z9)T8~Pnw z>A`A!)c(2p1n+hY0o!v{$9mQkDDPc8ZCUmf>%AQbVLgwfPJUe8@L64{ecL<Mc~kXt zV;DjjbS8H$+vI9dsLpwQzg&6No6|dHZ=4ewbY6U7MaIP!-~29bZrk$E)a^gR%=8bT zGC#|ATkX4>7v8@1lH=X0!8$M1I=VbdnivDS{1ikvLacg9-bTDwuwd1tv%%A=1uw@; zxhq^{EY8Y#Nu}f`Ye>t!r>;|SXSrW~Q@>^1fhX3^n=AUVXU7-X?9Mk-+vZ^O?dZGS z8!-YQQ8P~$<m`?L7RylozU0VKbC1OEB_YRbiVJ7B*P3cvo4M)V&CS8)4fhTwi7pr0 z{Nc&p)iJ*+ggu_T`Oi>L_-Eg@XxrN+y03Y+#)|}9uiEnX?94T@T~k<%jpi(R((C=c z@5X5li%T}?vfAZpix&DutWx!vBl%*pz2)iMZ7oZlJY91)J2YnN*?4m%!_#%q?MdOs zxNb+@+N_=AvBq^BL+h(sZ`zIA6xC+j74dXxY+>^fIciY-=vdsW?A96kHS_Hj8Q-0A z=k4ZW-&QLg*v=Ykq5JFK;^)))C!g8mZMIO*$JNDeV)yqW&pll%t?wwG&z)0V@m00; z=Jz=Tmpo62Y<IU>b~l~VGo`24D#fnw-rwf!h0$RWYv)W`ldJJM+tt)I)7&@XbmQ!K z$8Y(k6h>#6&8fZpJD4TwMby%4Q5Tj<ms5H>&ne~o>`|85ZJzo4eEQ871wY#JMAr&! zp8Mg+mWn^_MZ2$d?0OgT;_LjMkM?wGq<xUs_Moiq_MPQir*)=X|Nb;@`flghrF&H_ zgwA#}y3)YZ;(0<%Rk9*jq2c@DENTC}KUQC;xRZK3Z{MEMhpRPGeJzgN$qsq(Ib-G3 z8@8w3vkA*4y?xiesP)9D$Yk|Zn=fBk*A=+9^_o^gS5mLTDle5JPTP+ea!PT23WB#Y z)9h}2zVfRv<?W+mkGI`jVKC>#`}0+IV^n6`yA~H+x;Xl6ZbY=ucGVQWtCzp<1jksp zR)sKVha4C6N?>BhE(vP(vwSgq($2c`+uDwMEe%zBIrV4e<hQ^1=SL?OA6ZlBtbX%$ z-o}2_%%Zz)j~c9IZ(i)Aq}efr&F$SegSXz{>uy}#@KQJRu+JPzU+axi7JEFmnkxJ9 z&9ghbeRJ1749nXYyM*J`WCg)fE=+;}{|vPnxL6sdGjM$7PtA4vyY%V&4+d@$OTEk| zUbp9)FS+8g&hK=Yy+`$agy}u$Un?1G{mq3-g}3MJ;$W_><&o1OSYAn_FeQEXZsDGt znz(V>I`fWMh0FY-c4qC+=$W?mZs_$hXLh~5<(`-KU8n28`#imFHlNU*pZwFLmz#Ud z{#T;L(o*H1AhIZ7LeDZL;eLnr{;H}oubh+)Ik!LGvOACMUv%-`t;yTp6wYp4`?>mX z`1|#GdPi!SdTy!|DcxDorLaLm%|hb1)iFLHrtb;ss@7S>)~C*}&W`kUT9}wQD~<ie z@49QrVcrkltSe5JT<1E`JZbY1ua}z`ZZd5NG?>7Y`NOM_aYbdS)ZW=;f8R|GJ!$c3 z$>h`1^*@+TyRx-?<Hgq+C;cP0UGwQytJhvx@#agQ+r#O*gPS^T-!cxUWZOE;sExDS zV)02?8Kot&mZdre?#<a3XKa0!-BxqsvClI^&dGS+omIb9WZ&PUp2M@MFZ8HPZ#nMK z<lW_bz`|kDqO}S<&-3P6WKS{iou;31I#2&Z*|yhlj{bpK$0sx`e<|i@IfY9>R&nLy z`%@UNe3x-MaJ|w@>2Ag0T(h3GAB{5UW!BXJKY4@a92c=-Im7Po*rE3GB0<%l2?r$9 z<Y(XB&TXB)edaakzMY#=wzKBu>P_1non3nB-m0b~^U&RGM-)0lzFY}zY;c}dGl6aC z(QnrtPkEQW+3o!8EmhIY*Suq<%~%$+fz@Z@fyN_;z1)PRSi0{$&5)<N_V~utYS}x& zZi~4|cAJ=eSFl<ywp~BpNP7aqT*(Q=#*7VIY%};3+RG9ck`HhB-m}zp(YEd7Y1_B& zeXRFxz21=wUB|^@t5>ahC%+<CCfw5DO5>6^k?HNi4&sNCcAVCoaNeEw)a7&C1t)cK zg93D4Z77*^RJ7Y+(S|vhVH<=bc#n5*h#XL4NWSjdt}J2{oosVbdtPxzwCJw*jgz9U z`>uDp(rUeAc8pJ!Sg26PnFS7WS{N#L8jc(LuG^aMV{g~f(z6^j>;5xjXI7+kspl47 zlw5sK*Ca;$qQn!8&Yma-rl1)eEeG!JzPeQ`=5)p8ZPRM*-8*j_*j@f@j>MYlzhC9N z?T~ai_kv-i+R9Ti`+^#zQUwGB<}fZ?b2~ak&$91H<g=<ao@q&?&SGggVmq`pY0MF_ zo-QkRnMG(#3X>_vr^eJ{4Bs_w+BA!8eUcYz>-hGz<cXU%?%ljK#gE<T(f#EqKUH0v zGS}EKFic^q*^|b=`tIunacj21f+Km7!g-6cj>V>m%k+x4yi~h6)6cbo^Gl<#=s{Nb z+S7O5IY@j<-Fj`0y!fV=cRv@UoqGT6*z`7uSz*tWCf>3Uy6k(P?u)vji%-&Jg(=IF z6d95w^o;vb-pMVjKP`5wr$POSw8>V>-IitQ>-P1kJ#x@cV`Vg$@$f*6fSdta#k!+0 zH=fRHo%V6!hAodHjMc7dze`z_HB%tt%Ti;%-kl5~MytaW{2R`&sGl@Yy<s+6@^s!$ z=A8UusT~_0ml^E4^GW^Mah_9?TnadKCSEY?$vQFPOQXXK-UADa=QMn@U3paM)`gQs zwr9K!cgN4)o!$~t=UMRZ>RGm|k}R9Rg&~@=7qLy?Ig{)^Vewt2XV(+t&2~S3yJ^kB ztzAdApN+KHk-~FJznER)PQ$UZ#VJAyjwzlBTyaQ&<=yuL?lAi;+qBo2Pky%D_n_PP zwwwC(iqZNlTX&bGukLhoT9tOPGt^O0u`8>G$$sP17#5!L%#AhK`ggL~Oee<rUAkCM z<q~X^u|mBfSu1EFgAmUpQ3m(Ja;y#J=M+00u6?t2QI6T0og3fy&bVz=(|KE+Q|$i5 zJ7F(_SdNH<1`8}<n&SQbjDi5$hVqT;?#6BVyG(xa=2JS>eUp!_*{Rf_b)-}5mh$zZ zr?fcFI5;pRA4$K%c|a^@bM}p>!q8%wXf2s_7xQ+g=j@wWo%L<&>@_=mQbLrnXZ+Q2 zU*N!NVDi+6y?~25?M94##WnE>H}5a|@iWh>CNjE0P1V@^@Wq)7md_Lt0*$Yq5Mp?D zKvMQ`ie8xazsI*^<0e_l?%%9jrutNc<>ejL=T1C<E(_{e!i}ypTrm=mi(q>7J>lqz zxSY<XFL&M1W?k#O^t7<*-n!K)f~?nadQYtqiRtX<Rq*6!Xpn9=Ah|8R@!?O={VC_` z?}$YN@7~9qnV6NLBUY9=hiM&;wxv~?Plrlk$P(rmK1vF9JYC8R#cbidcMb0JeeRB% ztW|C;y?ATs#a<VKDK)|qTo_!IYczH#F&?N?;Hjg>y{BfXEte0!bNtUxF{S>A8~U2D z!Zu&x*Nk1YJh|_8AInc&`Pb_fVQj484%_&=?*#ZvLe?a;M=}Y{dM{>2Oj>iZg1K4b zyW7KuA)KpNzpF7z=KOX!aOAt!Iqz+mZH;R??({sC+F{Bf=F`O>E8csJnL&d|n5l8G z>9xgLds*&;o{0!LyzV$(ue6ja(=-S93Ju2UJ1)w?dsz<!MooU8E&aff>nKBhYF2=L z6N9#?%Ko4QUH{U!+ux*oF{;c6S-9n==9#><vzacJSNP~fPVTR7+?n`uMP`l9c1QIE z%l0Mg<TKA#z4XG3bF1}~TO!gseN(MmIf|#Hs=rBbd@RiUarUB>k+-IVMwT4;HtFH4 z4Y?(m6CO<~s8ZKX(Pxh}=UU+$q{672%B3dvAoQ4#y1JIeuFRAEwsnW*t<`!m`Qo&F zS+&bjyUOzRrA3s5&xtIyDbV?0C>E}hU^e^Yx|~Tl3EHi$jS;1-TvMK9aTxI#PBUBf zR(q`}ySk{_O0jD-JNMT&obKGpZ63O`Ok8!<(pTYX+fuGfi7iTBwyrI9#<$Q@pXP+! zpZ0cHdiL43(?f;X#LaI!{m&q^ZN=S0Cbh5X->2~gMlu9A8qZlakw=x;D^V(9O^m^H z-P>6~<;E7S=Qv-?xxSk1Kf_edrw@!148%8Xnv<*YROEJdrti}ELAuxS4@zwgj;|Jf zcY5mlT_-nZ2l?e@YAx90xZi75!X&2^jU4REmy#Mh9t1Kn&fsWC3}0HuS2k_0bfl_O zXtn2-yQ*>`pJt}E_O`FC^1HJ#He6D(cBRb6&C=za?}Ba`{ap5l@5YUfOKwYiZ%n)T zFw}afs1KKI?qj7XUYh4z4Q4pFw{zUyoa(oAsz%1SJd;H$Z&z2|&`<mBxbfYO{v4tG z$8PO3mY#a%#>T)`?_M&CDobo<6`s-1aBAi04nHFuo0zQGb^0GQ-g(-rnrHvPFlPRj z+LRfyrye}_c-zUhCq)k}-4k)<Ot6)P!~$oo^dfe}shUkL20oi4KRlMrw$^7Yt<$-D za^g|_``>1n8_wvcf88Awoc~>B|Bl_>83)(sz318F9?q^SnloWTk%oky_UenXyV4CB zrcZBqwA(#7`p~T@kImIq&YN=jsf6!R?e8KnL4NxaSFF`_{QBx-u0_9V;m$2-D;-jl zT(4`TaelXuNS@lbm3znRfccv>kJ^{+S@uos$=aK99?x~%`q*3Xu79;@;+ob(Zl!ij zK2_$q7mu(w@3fPd`0eC(|Ab{<bFIRai)z@<F1%N}<ocRVA1?LInYio5Z60^)UCGzB zElWGQ*o|A|#-U^m?zWYy5@+uCDC}n!eeVsQJnNR_*}SsRSq7P5J7a<?|ETY{A+dYL z9+|v5xhGF~tyjx5=`B-?RS{(sk~zvM^7z3NA5os>J;MEFWg4|gxAp{QeosvFyT4V8 zC-(57wFSr4_}`whF7Mj30}AE54DVKlWGbvM)=UrSVABY(*S+=Q?#d>=g1zfGE*Vwb zJA3@V-zc45MFme!)bgi2_*SN-8MAez*=+A{8}ZLNTWjKUX8NhzQ#D-luC1)bbrO$Z z+ItSM+0{mpCc&<1ot&qfWL&(I5)3*xJ{{kGW7VsJQ7>l~FAMv$ed>pK+L>SSh3z_3 zrJgKvo$>1Kp1(4;FVA|r%X(?){^+$9&pf*oCnxg0)zYrmp_AUCbvAnEc4Lpz!b^Pa z_(ZLc3lL=Fczy25;;eAf=p|W`&g(O+6~C3?6j&UXtF!Y<p@enanQzg#k4~9a@4fqU z-IH0#6K}Pq%&<8=>&rSR{o;!7q*=$@m!_>+c~+?1UF%GsP~&dd^IJEW9nHCS<YZE| z#+OX(lEQ84EiHXtopm$n+micw*N?ddxmUYxewcd0$yO$5)|Az{nO;$=xC~FrroY*F zS)H-zTZw;W+`F}3=RLn2of1)gvRti9gzv$div=Irm$JtidKGxNd}v#^JmT5yBTi?J zz0OTpR2<q{6B-%MDE_kOR&lVmau(mD534Rdxl}6`oNUJb#CluVYmP&9j%hA#cRp<2 zcJ@tb4g+J*yPoa$#SFO(l$eSo4%zXPtX<<WC+Aj6bm{7_yC=6lSQ^w-vno(Is_3w# z_1cq9J>8dF?X|Jd%S~O99Xzu<U-BmV&a`uhyQ@1Ui=2r|otiq0y(iu@Lia#}PUE@o zl`3qm2YuN5+gsvn<|OkS-(M`-xlw&((V6A1PH9<9zFIPAO?J50tSJ?e(*>o))}Fl` z+;i#FlBc1QR@?b(^|cqAK0PyH+P$}B6^FfBFNiy@jJ}j}S0u#cnLxzy$N&b-Q$mI= z>WAY5zjR+SReG9rMpY}NS6ONw*Y=67_2zsn1-h|8v%>Yf3|FlVogDaZNk!^nqf2My zZ)J1WwkO`sSo%Rn?Dp;3OK*y-DJyVwXWhQlgXhk>sV*&?4XYGHE8ONw2Foeu92d^# z73~PTKJ}#c74JYTmBpNap*rhNKeT0C`7ph-F4EJ@>`L7Bt(MuIUpDo|t)5aEww~GN z-Q6a&14+`AH}74Yl&&9Pe&U07oBz&j&-Lz@ZJp|D9=w`awQGV(d25V~iMF87?*~&B zN0z@A->iFMYwoSEg&}uk-d&43Q<}Wy((2O5fgxvJRo=-j{8o2qn$p|vrFVB-TT;51 zyV7>$POn+#Lv<sT{b@hz+aA1R%QN#(^-D49e0h!8uQhM(`TF~XyVaSm>%9D}S3kCm z-Lb;aG0js?r}esB;pMouo(v!Ij#OloYV}s{yUe<B`(BP?UV5GV>Jm-fO>Pfl5<IQe zCh%+)%x|-)dATpUVpqhCxjUM<dp9o1XX(?{X)Wnn<)nEre2?V0*pmmO->!T2U>o<p zQ@7q6F5mgcI_T}|<<q~PSQdWn++V+mP7Cg=k`VT2V)S(REcx-tjK;K0Y0-|`%col| zGstN+ITI*)_1J}7oAVCcI(g_oQqyZj8NEfz{1ysLQ4xO6)537YV(F!OF&nquSKfb5 zr$schXzjmKPAmSZt1(M-P2gE&|DlN~k=ZYJx&-qQx%bngawevq+PU-ob+!93AJcC( zy$Q&A^}3+UzA`dII3Uxf^@GDPgW3C-Pboy|N?+|XP`hJLn_u_ueBNO_i@Kt&RHf_^ zbLHMF6JZI5M*$Olgq-gvc-o-5a8B+#(dKx=Jz_6w_TIk}pY#2hd3U$UY%|NXrzM^` z1Zf>NtTK@7Y`@=e%9Y^}o9n#yzU#F!>-I*K`&(|(ugzNMyX~3FY9r6m$xB@vZ&)c- zZRqIP_cc`cef0!3v-d@XY_mP956*s4DHgZ%t{Th6i1#_OCrS&wy`t48n)gCH;!$t| zCr1#YlandCV1u6j_kN+`Tb}P;FY|6ldM6NQa#_TSZ<TFF?m?4ZUiEqM>%Q+PX)wG} zw0GlKLms({^Y`sb-rl?4)s5lVrL*dtcit|G2vbshDdxQ}Vk-w@51W38L%IU9@rG}0 z8)g?3?^&$8afeK}Vs5_atOKoDlIjt^R_JDm`X~uAh`4Q>@%!OZ4ra0Vs#|++zFwyF zQ(XJ`ck#YRx!(#4u9dInERI<g;2WA&6f8E=Ycjvw6Gqc#Paf%-P5Ror{lq7kJ>N?r zCLK-QyD`rt$9sFoD!t9+4!e#mdBEf((hxA=hvSh1?z|g$Y{vZ$ex@1x`_E8yaQ*c5 zw{fa7BBVtRZ@sy|QS<FHf!K{Ff+eyTnNKA@Ea2pjy!*V$?6dNT;@hcLrJpaj-JiU1 zb8XQ=<vTa+Hwjqny3#deRn+tN7N-1#4B5NOJhxXQNq1))*B9^pZL?nJr{>(Fw?%Go z+~Ij^>LV+mvtX)%ufd0wtW}Acg$-JgskcjKBt)dC&%cvz@$_(hXoYv_sVf)NSME>v zm^bIejP_8u&ZOA~6@N^N@nN!QNYyQGm)`MC^|XPv+R3t;TlaG3?iSC^&g%Z8pS@k( zarPaKbWX;;6(WlQCUyi0&UwP55cX*H&W78@XBJyHeV_Pn+UvD1-TO9Z*Y4fCy7ba* zPlvVFH0Mld33U`@d88sVg;z<cCV^MFCr#{5b@5usU1ggU)3-fQ*){3Z9j7I;rXKgc zpr-7Z=2W3Nr@6g|;ijMQ*}Yq$%~xIRx8D;p@lM;Ckj<;U&dQJ!XQ^2{by8SspU8wZ z2IlsCk{=ivv<%L^+MIaCEQaIk>+2F)H?=CYG(CkSw|)rL<hdHP{F1-|wMVQU8klO* z7^2M0ZPIHt{+XY1ch6~a&)Zk7Nz4A+pm2A0(UeEBN)1orrY6ms$>|Yvs>(s`E!*4M zX8#V(xV>&|c*V!0X)l{)l^UileXDj(YT3>sK7mXZ9wjLn&U9i}vnSu%-8!)IvDmZM zinBIGHc6^JIKtq0bl<Vft+|<g3xzpZ3+5dD#<-;6%;((q+n)BWyUDt{WOGmA->aRc zmfcnA&^yxa)63*?_v?}aYx@c$&l=jaxXr(DK;rY6&8bGusx!6){Z`p_r$DB*b=8}* zi&bQli+vaNEO(fAW+$s~STSpwM#GfqCIPnXcWU;_onL4E=giX`Th8cTe=7RZ!clSi z(o8K@CB_I(#~79c%!elO*=%521Mcb|AHS}J<>W@uYz9h%dAs|iD(0S1|Id&ig01_u zjfC#o70HYHdm@->rY-oRdnO#?zTShcu7PH`!0uh?a%WD0W2M8LIn@_cBj+cq{!+d* zXjQDWb3^q~0f{ZKQUd2<%^4O<bKIuCj4^umX;mKEODnUARyx0%%&|{t&B;R{MiHki zl}&=J&Ru1iYSzm5lGnaksi(ca&g5Rw$<UeFAGbW3cD?Vj&Aj`)Rt}-BA}*+ve>Yz} zp&@CJ%S21A4ygpD;*Q436q|{H+n&7?dY8qm*?DWb;^me+@#QxTt@)UyrEv4^o7E!6 z@-{dAK9$ZWz{*n>z{KFa%dk9YrtqmC^Bqwq;<n2=)HbRY`YqmEv6;Jf<H>Fhy_=yS zE~}=n?@(K@?*)&+%hg-zgs#ucy()ctbD!MO{|ssT<>?7#$rF|r?A>_uZR*|<#k_(^ z2ZC1ZHfO$idr{_@QydkJclxG#ER@>rJn!*ZEeW=7@t>#dxcYWl(Z%lL3_nGU%F7t? z{=G@>mEP`k@5t&EUCXq~muh-{U#gZQ;=Yf0>Cf5M*1Ls0S!bIXvF&kQ=hgM0>*TZI zuD86t&RxdGr+0Vj)WFv<d0sQ0M*U})w*Klv_Z<Q2x9|LBVR>}(rS8?a`!Xi;wx>?8 zKK^#wv+d%k44yxfl-zYaR<%SP7Y+-m$eh*bnENN~)KTrM%-45|<~($jEt$PW)HM3) z*Pw^z=WFh6zp*;!)|6|$5gO60$JhNbx%73p)+tW==xF8m(-Yq3@LsC;cF!v4d#PGT z&6IV4Sqm?vojU21drf2WQK1*SUMz;k?|1qn{<`PzFz0LQ;g}<L4&Q9uJw2~vda~GE zRsGZ-bBdPFoB5e{W7*%AhweUqbvtU~*O2(uJC&){Gp8(jsQg&#X_{7x|B{duZf z@A|aOT5AiIt-WXDc>1V>n#=XNRa{?AEm>4F<@BkHo3|pmr!5p`n_L$h&X{)hq<3ss z`}MsWZpodxEu3>|uIb?qXC{42P2kT9V>3Hy^k-_(^e){9#R7KGRS!OCG8!{hFOy^` z{&3q_lKsb&YbPhGPq=gBfx+}-zfSLPy_hW@e)4{9Haxs}Pe74+wQb9T@5kO<%Pc;4 z=kd0wdefXGR<66d_pI?2eU~REWkd|UjZWNQpTewtTVjQ6<eh2mOaI-|XIy_{24`yT zil?5}L+frD+jAbX-JjcG_-6mkB{{82XKC0S>zW-Vwv1<`{;8meteaE}o%bs~zT4ZQ zcWLhJRlM7yp655L{W~}9>~;-TwUskfYD_oSNauz2#5C^MBc1!}&I`##M#qT2l9|5@ z6h0Wt3Yzfgc-oz>YD=Cxc8^V+XYw%gWawO()hDfsR$U9JG<te+wpz?Sp5<4i*ZpUB zeopN4J2M-p^F6oY1Sd>ib3?Z;rbB^^c}2)w(V%7dTy9LQ&i5b6T9nV`mcFhRcPnCs z<_b5fE7vB6eqG73*k`B6j&sR3zw157apvE==1$quvZBS4dXlXyj%}Vixzc{>DtR08 z`}#Z6t5;5Vay`8#eqYh08&}=Mo~^yPUC1=0OGQKJs>x)HDcs5)d-iPZm5I~4ruBGt z=AFV4&pY3qy1J`BsJz~A^X9had53x)=NYYDwf&9GdiCCV<4ak>Cmgt~vV|tFR5Wn5 zaLN0bo_)M><LYCHn|~^MFI~*#_H*){&CN2AdoQwvhg~n6DLw6tL-4n)9>J0Z{`Y1q zU=x^9F~@bcv^Rgzk>}n;)7Sbxi~K4sTDn8>t*&OmdZ#bB+Y8;5Dkq;^bAQ^bJtih; z&u`wjVZ7$knNM%l{{78<F0i&DZr;>G&+>vbk^_y-@Fi+6lru2d`kmV?y(7D*X-Q0| zcyq(28^8UoDHTp$?XUe|{*u_qZ>?{Z^WON|y6N6;$E0iA`?R-LT;26C)$dKwitZ!2 zFQ*<1aa5X@uKA4F;DMrKoL%0=rfL3c{`|}<S6*=2TEG2Px;fwdyPZ0#^^1%5U8{b4 zSf!*Tc=Mi`N6phF3#=BLA>pMUG+~yrSb5B>Jl)F&HdS`^lolyJVRPME+Z$K5@}BL9 zE!%e7Fgx_S?{-u|%i+R98v~;^2r}%{a(kd#B`o9cC{-oUqNC$XMW2n^*@L+fE0U8n z9j#uiv{?3^;jGU;Wp`Pd9OW44u6ff|Pj<Q(YgyxxV?KYw(S_Qpr&$N?{JvdWSgTy; zqD$wZ7pJ8*cRhG{dCDK<q7!qhC*IhbpMLC2PV{#3Jd>(*Pfr|IT6B{0*iMrxpCxjq zZ%wTVUw5x1<ww$D_34K-c2)A`m%nvxPnmsn)6P}a%H=ZEIUze|Ml*L$yc3_#x$4Tv zEk5UC1*3wqj11IR7c8CW#b|N)#^yISj*00;Z<ja~6u4D3;`Mo(m2>x8&AmGJY2!}K zn7Oyt<#}mZnyXDI`H+5L;>FzGdC{{tMUVeh+OuPY(~PBlzw3Qnm^Mu8;heZBf$hEY zl)WduT;F}Tb53cpxI9;`{fA3CyqwbxTJ2PSvi|LZbjfe4?pJ^NIy)~iu58!MtvLqM zrsq$*8GT>!*Lv>)D_Ny=A{HHI?fP8j3$94+?>~0$$d-5iZtm#)V<smyIk41Vt9gFO z#7#GHmK0}arX8EPF*iT^V%Gy*$!#x!SWi?nT-N9~7re@*&O9mMqxsy^6DQ9;aqGk; zJE`<+^Nz2#_4i1;VO`EG+!HESWtkdT8oh2+jmfg0*PA&@b98TZ|Bm|J&Z-)-C}cvu z=HDB~*ByQuG@aMq^v{wtD-)ts3mA-91RNT_Gbl?<F3nlVUB@7kv}C%-@yR`oNe^ax zc-o+b?T#2qS|hAc(2HhhZV2PX!o~jLyV(C$?BC0SbQl=;q~XVRW)pqV@Ur5?^-`PI ztFFnnT40`bZR-p=?HY7A8mp6<1k<NGhYzVNHr8>CGKzL|$z;81<R;7GD1WWn-Ac*w z%<&RQo$5NVrwqcYuIp|y(_mmZpy!mvtl3fY<zx1`nO`I&BhLNaDfWfqX79~|K@KT5 zPA$$64N|NSHCngGX~Ber2N<52WbJjI|9!fj$I<s?ub+7qNw0JJySjbRgk}0MRtb#< zt}>kSPz&k^Vq#(vtT<;F(pz^)m0jmQ!;a<KlOrw*ZS%e6aY86##k#wTXCF?Tpmaz` z)QYdq$@b;B*cV<;p3byWbJ{LCcb(Di9Y6W*E!^IFpt$Xo-7(!2hTCsn3JFy{DBU=x zlfy}9Ru{M2gc<CdA6mCsoHduye-Kr*PFF3l+Hl|Q$c&@;+s=IbxK`V0M~v64v%VLD zcBg%qGSOWn;i}6S24;`OsWXZuFx*M3j>`R%@hRLk)M9^1;+05~tEm@C)=u9hp4OvU zQ+amHxpf^kx$}*9qHfAHPI{Hu&}&=3F>(6K20kvCHU>?Hg^Gqf5)ZQs){2Ec{Ge;6 zm7;e$ZN)vi+q;XW+<zyYyX)Y=%d0o>MeI3Qw3@qMr+L=fLwbHX9k<?ISXOeyZ%GTI zp~k1q1~;Q8**d|K7I#-Jy3W;WyiYtN?&!&=*_ppK`Fg5do)hOTuCv9re(I)Vx%)fr zPMEIdYY_d<KfR`5;?h+QUfnyZ_RghC;N3)DxlK+pgXVA*Fr7cR!Y7$ymf@jmt8<@D zKCh*6zi*21qm6mLdP0=*1VUPr*IW^6)!ga3UV703&lHRN+|7?4Zr6UyzT@+p^&IDT zx+;&|Gpbs;=X={*+3ss+dA_QIM|4gM(3ry!Ifp5j^Ne=K=1W@3-8S2NS=n~=tWUpI z<+aH#c{hKVl6QCg!f>uPJ5#q<=iKO-WhZ2B)oJdrAV`T@<?5y>Qx<BL%zIN@t#zxk z*!*e#oW;IA^Al6+f4NvE#LTrRyPx{)+O?-2gW2`3ZrjD4&eCwyBQ)^nokfKT5)O-! zJ}^o;zS(2Xv-Ec**KyenZzXs8{PxUqmu9cte*KMi5ob?y!Rl3KME4qO-kde*xv@LL z<^rYGf`<+a!PA^iN=wv;&Mpq>js7rW{iD1)y{cX^1$R>~R9w8p{k7b8uF}KJ3%GWf z1_vxxe0q1uK})x<Co~TpUA1i1^4@?eJ#%7%7spufwmjB6eaD9VRhpLIA#JYDjtc~; zoc#|k^=eu;U*p)Mo73)?T4^m=`Pz=3FFAT~(~{YB*EXH{{Blv`pETaGg11)>mfp9r zzV5D-uz2#67Q+S(hRCK=jRHQIi954SZIyLdF`YI0_sv-%%Y2UR-WA!-V8CBJ!J&e` zevjdVjnh{a?TU@-ZrEvKJb|I`^4=ZxA*Uo%?e~3IkRat0EXZGGlAI+rH6*NOV%Ohe zU)Fm)UOf5o)cu}ab`~0Y52igalGQx7NJV(2v&b=hM&UU=$vi*KxVT5$=~@zGvgFlm zbLVjBjDyXBcFJjyDYq1_i-w5BI%|7`CF*-C%y_Bcb=PR8{p}ON>lux2@#&pm+4jfk z%9JjpDYFy;W-xRx9=WT~5@oh^)1K}_e_1>)927dEr+x4J^h;CcF3dg|sNJ?=(Trs? z1HU&+bZKBbdCWn$<LmTIFQ2TRv-EV~{4J}WE)20;dSYd#_XJy3ml|cYkjpB&4>*ap z{JnANo%!7Tn=d3rMCcrydCu!^^kVPjv9Yc<m#oT=O7iPo$|<q(qp*kbv}Dn(dVTZw z>@{cJj?6sd6|TBt^{I!E-+k0pCEj~1xwK=lVzkHReI;8Dc%-YX@tCnBa00`n#2KI5 zBt1`CmP|SmzPe_oUMPpQNW&(DyIx$Zvm8%EwwQJVp7ff_yp2^U!gLLTnx4$=!gp7S zmI(blWwyr3@yBVK6UWwhm0Z6)tMLRkC-WV3jw>4B$|nR=MV|<E=!8#j3t$Q58MJ3p zq8*pXxN&2%zw|ElzXgl`GpJ!KJe@$oHls=BdjFJNkbRw5&k=`t$y&l!mdeMQ!1n+M zPcj#1(APa9qvU0*v_=2wyKC*j(_OyG+2>^0$Ega+JiB`@#Btx<`*THHc+=}McQo#9 z)z+TGrD6Q8Lcwraww95{rBxd}L@Yx>cvK~&Tn*b_9(|R#&@U~g!`QNi!Fb||>FT$g zBYQ)l^uue4WfIE2i(V7*oAx$H)5^8~4%3GRvY(4s!h#DUJp+9%+~hrL(`i37rn{Ag zVWY%mtpyyWEH4D4obQLQN%ofou6pO?uQ}6Ib;9Cfk+)(Oz4e~0a_5WI6vot0Ax1A% z!3pBKkLjE+654ZATA*oa+l@Cbrz|K^3F`FAd%^kClA};izDPT4^JM4a+p}#CrgWV; zbabb<XV9{nPG8tOBRvgQOj2*Mad2-@jX4?qU973MHtE-OMMr@EPZgOH91G6{Om~xM z2#}Lm{Ju$9H|jU%Tq(bKQ9=7$XI$I1dvbO0?^S(LH4C~o$?A0l3&>3oVQy#_c=D8E zrrN2aOXr-Mcy5>1YsW_noJ}ghYc!l0t55bk3*`IZW}3G1^p{y&1?Q|*rTLn3?=(DX zDqgVOYvU6J)-{ihTzbcGbn2AwB~?5{AE#)Srahf`%EV$(lJeKK6-uuJBfEB*Pn@yP zZSsT%HXcdyzdED~Iab^LeR$*$yTH28Y(0;Y>t$I@Q@zZhWY#TS+OzAJutoucVf&td z39c%yUPWnjwaimcuzmN&QRUH&kOitfcO_YBU$~YATAi7qY$(j}!^v3i{W%>+UR6Ga zr*Z~Nj`#jXFrGdk<;C#*PJ;jwLpDQ&5~JZeb{)nmKfD~S^BkSLgu&~?ar=K8Po1h& z<ha%6oqft@^Q=EzCF^BZ*|>(D%PZ_nmaOurRPfRk7MS58rrl+uz@NpzY=6M;cb?0- zIPZxf29X=1*WR4&R;BWEkwZ$$rKg<z0`HDTr#yK3DE4ms)2){4tF#pl-QMl=jyIz0 z<?H*~+2eff%1=3#W2U{$x7g`oN?Q8*>&y}>8@rsQv~cwm&v_IyVJX9m8HX4Im$n{? zJsK1CR_o-ytGQ3S51pH4EuYSsd3UdF#CpB(nJSyM{SZ18e?RwKz`>^z7v454is^ag zce)_!>#8@`EqOgp@pY_N!W8(FSwdAhyv$DR&O#~m^>4On?AZUxKU|$Ra$)iw3GWR% zO`h!1+1#^O<DBMG|G>35dqiAb_uWpNcD;;k)z+LRM(M5FBkvhk+`U{XEAiBSk?6#L zr-}_e!YiC#@I-w(dgRvB9b4vmd`-GCW%ATauVt4iE4&haA8+2vy(wtYi^XeIHBK1? zF0Q(@$#d)EhFyJU^EhJmxp7;$?JiY)$DF6V?a|5rN0&>6Jq*j6l(YpLcohXCzq6T{ z=gVFysp^goJvHmp7GGUU<2BE={m8l3z3ipjvQ2&4)~sBsa?fXG?ewr6MH2UXo1a8X z68m1>cH*n_dJi5wUYP}NS$QTjX!uQJp0gn7`~)|Xjl1>!@w$ZzU7eb7ImmD3r=yz} zZZ5kgp5axn>E0I2h*L%_Q;V%U)!kw?p51t+XthUt&Kp77IpTqvwzJ+<xNCC7htt4f zO_5j9LI>+dHp+JViH|mx?TRjpnwqtC$>fmpVOti*XOvH8ZrFPvZt_cwSzSF#Zk3*0 zHLpFEwRr8^J7GHS{Ns|3<wOT%uY0<xPrA8T=|*N`%7m9zuEP4)r?4!(BiJ+f-7~8@ zs+!Tu)<%bhE-Bu!I&9k1$&O9etGA`zJS4C?wro<ScX(9XnV6LxCqG56dblue!`pSS z6Qgg%+%U@Pww`n>KO^w<u`@?s9g&nYJ6f=iXGOz@56;tD5)ZwJ2~*=L=<@QLxMs0z z`XZ~d;U{vEcOP#$cxUSFNqK>x)7GTgy8K9cG^>AlL)YnTk!$}(@8Z#U6q=*wb?J+{ z){@(+RwS*+T%|3sAgDntv*W`Pz85YJx5?=XJX^@Kp=4@Q-|Exzwp=ir`}9Df=+2m( zlb)0=ba}dFQ`%L(^;#!iq?D~)f9Ac;ZJXr$Jk|QkHIuHU_XZYyk?v?(bd^<9tE(|n zPF1IUr^Re(Zt*&;z^>D=Ax}k~`uy6Mx9OAU(el~MZL?dR{Ef;sm9#h<ZMJ7pVQ-E8 zvFyhT6OJjKQn6(5N}8dfpm>T&@MP9Z$$P%0A<h9VLf|T5!0(T_@nhxk{#fUKTjK8> zLt1FG6LdILksk>o)fX!-?w_LDXy;vNUmvB7arbDVXf~+Z2EOvt*XK`V0{7wMPlcUY zr&nmYyR7-okQu6K@wf3*{<TIw;bq?)m&f1QdwNCF0{yN#vdV{QJZ^+*wCp``y4=*~ z%yZ{G%yUjH%2eBM%~8LE_xKdcWMwz58Si|j86Tffdb*=|X$Yh0-o^%&*D}_PhZ~)z z9DARw&~<Xfs!5yX94*_kYhO(0t{9e(q6M5@ojeJiD$frZ3Dt1PyYIHRp1bE+s7s*a z#g;Y=5r$=q8sF`vxN@%46up|Kq%p@sS)XH(f}x6F_t9gkde}9aoPrrRyr*}R*M~7Q ztX>tw=<tYzQIO%CkCT%k`xF7LE`CPK_Wt@w49$_BzB@5+FnszE!2DH}L4jrWoD0m; zq8xZD-S;vmurU113uq8ve(Atp{#Akf^1B0!@BHU6l>a!Pz{04TI7yqMoFlXRrvl%G zZ71iMXX$e)rsY(&%c<oA|25`GUA>fZT3NQ5vH>&4M}u>QGfw|XK6y-G(n`a}r<sms zNVn@Std3yL$(7z+Wp1-~>9IGb&WW$_dYhB-@z;Vb*~Ck!O0I^-ie~gzPqMyye~xm| zn{-v#?BK4VlF&(uPF2=@joz&trk*D>Z|U#iEUisfyK|oy+wRHFII!M4MDJ#pW+BhE z6W=Z!yeY%|EccGYNtxEVpeaoup-a4!e_igIcA|Cd{4%enw}W0PYAlb<SU&OBPf=x^ zGmqc?p1y5uhu78FA7A9T<pu{8^@aShS+}`2Yhs1!p=)~|^B*&w9w8M`aYuH)aZKjH zDkdxKL|?^<Rq7UMvz7}re6Nw`a+KzJyEArkvdEhft4mXL_sqJrCF-rY$H~jxnk(MK zwRZoQBXnf<uZg{R$FE(zwq}>9%GRZ#aW+#^LvQ`g%Ir^g6BlR5_FX%#=F+22cY7q2 zw&k4(W?=P8c@})x;YwAH0#ne8G{MP&UE8_E5;boI^?p@bdpXo?=BM<tQ?GtdI};Hj z`g+D3pNDzBTQ+R!n)>RsSLwH)%FygdCXuDHLJW7?1*Uu3-rqgx`?e>!H5;DtzR~yF z5cJgb&XlN$pvpg~y@B!0lU^M=vrESwFMGDqx;!MdcG<0~-p4k}%EX=Bt2=kI?y=iz zcW;xqYCBb8Z@KD0_qP&8+uO8qPFrivUy{8_a?-obJmH2_VapO`Iy$Ip2!zb=-!HQ> zN#R@2)-_wFK6`n1^@>eDR+TMo-LdV-`mDX~?Sa>p`Q}aB74EmzrhRc`inPJhp6Mco zp5>ek?~Z14U}fEY@}<D48IxyB+aSRB{>Z;1*(qzYtL_??tc%K0jmlUN;oYCN`<;I9 zr&n4bC)Zvw_j<YfM(*ss_=M=HdvVSRSxaZ!IJH)IN6AwWE9a;lzYcy&pHNBf*IWC( zzFn9W9eL-a*m9Sv*^~ClYJRL;KJD<EH9loLIbVXptx|QPs;<1uj;h{c#S{BE+wDPe zbzYg})alZ}qT5+l{mtKH&DOP`<eG5z5{~@ayPSIC*d-g-_0^`{F5A}IW8M40d2!#G zDN9#fmES7*=j!>%nwK_~eLHzH>B@)idaE~IZ&@f?s<kT1^FM>$>XWZimd5wJob&ve zOw-jp-BEcdibdLId!{{mE}(Q?dZR~BV1kbWud<}koC<agKjXK)tJ4MZCElLCJ$IL$ zq{b?9f2oygH<rmMb5=8~JN)78-D{OsRLw)BUM`taGn1#6XXD;$R~uqKPM^VCe&gxP z-n}=Ail^>9+PzJf>!MK?W8Z`h#*?njmgjr&oaNTt-dJ?_@Jc7a?w3Y>Mr~btHa-kl z{b|n2H#;Ntc5UtK(>(U{<jE4dtve6Z2rW9P|8&|`@d+2)HmgtApIcHr^~TzBMyc=e z?x~fAC`QUM8cm8|Xj>p=&eFhg$i{l(lY5d$Y0I@Ybnkd}FZ|V|^?E+D?w_9XJzL_# zw7V-JcdKSbcb(W<s-+*U7wh`=+7!dnQ#VRiTWc>_&$CW_x2bXKEK|dt)yAUE>K84T zMHrR|=ms%9x#VP3zDB#SWy)jS)F_>gr@g!n|E~BYQ4_N6+>_Xy?m;2GmnNT>n>^ht zs$Obo+UkhwW=EswHROnSoi?^nPBS}|%p2<#+W&HN|Ic8MjD8cJIte%NvCf_S)3?EY zVxxU+7?w)T6j8~!ITt={&^z0&3995KEf+Q`U_5<s-h^ut8{Nu-wUa9Kq;4+gSke1i zitU)fM@CVJl61bxW0_AIXU?}1Iw7#(!HuV{9!)yOvvui&?Jg|_GY>s?Sft9xFoEUx zA-N~fQC({ed+n0>Ua=$g{dLxL<w{zmS07Ar2z+tT$M#ibdja!{ehE-*=CUH%ik(SD zAfS|~$5DMRbAR_Lq2G)RvP_>JHEsIs*kJQQraXG}cV>nv4*d^YuOIL*u!#TIwWoRu zM-St3hsW(7OHC)TF??T8csFmwhsO_iz=HQg<v)M~<9FQ+c;Cy+z`A>aAm5rT|F$od z{OqXJcy-R7(E2-Pzbf6@bm2#v<JG&~|FX6;PpLAl_2>=TA+d_#?txF{A*n}d7(3YK zGWU0bthZv97Y~02HuQnW^#c;j=NgY6&|KeOz`UUF16R?f00Z{DOrPcVXer)bkihP+ z=RZScSnMx0h7#_6zQ))Z#s-G2{|pRk{#__(P+c*rMPaVX6h$t@$d+aWjSiM$46mwJ zwr;cAvPWoPzNf*vq6tg>R-E`Oa5n8kjnKyjj3Qcb9kmrMV%kFHauGtIjXT&S(C%o* zmZ&IPBtWxadA1XW&sv+_Q2)=s6ZoIujKsIv^WWD0UVW~z@6)rb@9hmw-86q1MBIh) zYQN8&{j=tR^_j{48Du@ySMA>!^U?jC%l7hrUGi7I&uk4{0vhSK#1OiK@ujcglLkHC zD^D83Vmm6Qc;Dyb@eHfwy~Qkg@6Ow=#~KZf-AY=0LiP9Qsh0%gOO{SaZ;O~2cw&9E z&bJP3?=yZ^cStP!$YfreyJdUq(}Tj(?rnU<Bq^kjBvQf9;d7_bC8>{hqL<VYYmWSi z4|=7YmxLJp1y;#4{%3gb$V$y<-oM1(5A`IksVUz57g+o2&7&&Gf>f46-?;A!bBGx4 z@k;*BP_gfm#j+(k0=bqr-cYV(abdPRay))Ye5H)ncJ-NDo?9lZ{v=qJu>181$z$r4 zANi-q7yX!HWvTAA!f!rX@x?cs`wkzz+~ecE_fz+K<?d6b`^r{{#k4oy5UxG^pFuil zR{tsenm+A|Mt^0t$kipxeq}6pu24YWk?>C28NcTrd3e!qr7rVl*86@z&n-IJy(iyS z?tHOF<M?!E#XpD4&$*c|x9I1Kf2zLs{@-(24-TzsiulHT-;$#*zmvmzf}X!kpVT~g z%h?O(HD$%NZ$E0fE8%RRa;J-1<4!w<8I$@R$9>y4pYQJKu54ZHZ>uEqqJz7;|E_rD z^nByGA6tc{`fL|AIl#iQUH$IMnm8+cS=E0!*Z%aB)OKG8n!WMe*EwD4FUz!;7G}<f zi7$9;`JdtJm#)}jrwXQI&JDI!v#>bk`Qn4VV~%~Y?=uY<{+Y>2Y8uO!KQ$kGDj@hY z_ikU-M)etY0`d)=>W*6<@|;nulau*CiU00T9p}v|{_eW0n!A<qUiek^S(%)wKR)-T ziIrOD(KSz{=1$ojt6w`K`LW*T=g$Au@^!v6ygT3Br}ydykz;SR?{eX@tZkoE^m^T% zdBU4Do(t`kSoQB&u=HlL=R)!COM7aM_wAXdylA4~v~5{amcMztGv(>2H;eC0K5l=& z<%_?UPLTZOXOEZ36wP+ud0nQSS@?ockY@je+id|-o4P&P`tI=mJEnbclhKsrH+2sv zHq4uJn<w%6f^hGSj!z!U3up9LnYns;=3Gm>yj}IMO5&B4r{b|vr?s*e(u{mO0t`Mp z5#(6i?6mChnb2iNet3y|Ip(S~r7|^wqn7E&o+DBx*E4XeWW8xz{)k&?r{X1+sim0= zTA(b#u-bz$Yy#6-1=c7Bt}P9sWDAEdUa3yKaehnN>#eyZ$Ib3O-F4&zSBd`jr@~v! zEO~^rIz=ybY+54saFWkKh7$en5#Rb>%}u`~!@g|FKmVV84=)#;3jS%l_{rn<|N1$Y z=arjpT%O6hJmcBRNx7R(_qMK(czyqkmU?N9lZaZXsCJ^&Nde|5r<MgYSmuZ@K50;* zmM^de1#?Pb+uT*}<ezic|6DA0e&@fd{~1av&l}#0xwiNDGs|MNKdU1CGc3LNPaxuP zlHD%5U!Uh%+k5=I{!DMT;Gb8o-#WiMcE0RCgUrG0_AK{i-rPSefb)~F|DR;c<Dm4` zCZCs`2tKrmLAqauF>2z|yH6T<b}ZY{z*eXldGojR?lPb7+&9~z_gzt+s+}MEK)sUZ zq_^iZ*U&1bDUr>g4pV0M2(RwfNo`rNSuALgaeC|ugJa1Lzg34O=rb_A<C^q`OZQR* z+s3r`ZE`Gk>i?PUHQzaZPNn^Ki;{UvrCrKpHx4qS*v`1u|DQo_{>dcS^9;Fm46@q| z3LgL5w3ktT&wqw`|HFTURAWB~hWPT`v4~**&v4AW$>{OFf0|Dw3hlaa!o_x{!Nd9g z8Me76G5;1kFY+m3+3pM8Q#0e3<j+qQ<YRqv=EV}ZpkE~m{xhsP@_O5+MOsy|y9|qF zrM@}$DCmjIQ$P6^8}p_gh>o2k^7eG^45!#RvP%NKFXg#$SpTZnhL<+Xu@m|8d{P`3 zs;%}alxLo0Kbg4xfz+ERwmS;@|1&&yZ(P4DN&eM^mqHH|PwhOZU3U9uzh+r!S^PgE zdA076^A16pytl(8gng`S_Na3*uqD~~i-rrGnkX81O5AqS#&GtRB5(eDSgx7r<2}8j z;QEjK67!}Xh&{Vc=uY1CA3LTWxDme8fak#DX`C(gPn4|U8N-zt{jN*=JpM`HgT=Yz zDQD^{I$uUy%h<mD)}a#%I;N-I6DU2oOn%RilC2NaW2asH9UL{~LF~MO8HG<ztoqMz z<M5IXf@>nLyw%M$=xDpNCTjothyS>^UiYOsu8E%dR^q_F@7dGUi+_Gv|96V)wNG1Q z?j_w>pCRTxW!u%Dj&i$*8Fk+U*FTVYH$^w={o>$$-o2rgMI5me{~0=Y>lv=;X6IY6 zOSbVWs!5YS75ty!Lc8Y!#Z7nCy%%(xzldx4e};O-{|pz~Js+q?Y?m)NlYA{E)#V)9 zie>DH2b?EVT2FXs!xFMg_Hd+UW8npr--{mAuN8P67<9bu#GQMROYVHTa#KJ?G*~0l z<&nvR2dq<?cV!;&3gw*^!sZ~8)FQ6Lw~=M)OX+)O5<Ek}37T4M3(;xM_}_hJ6Pq3E zy3X8tam%de+_xuE#bQhQSbSAZ1PB`TB{DGZ1vc0_*-qHa`Y75lcgyqWrFofC-|cP^ zyyP>7QO01y3<sW&2?|$SV+3kH9k%j4sL2pkVAt<s{g6RT_Ctd(-wy|Q^WE{^IFD>^ zx><Ve+qygFh3`&#V!brdjLCfa{WA<|Mt&S36V=(}t2THoE(l97oxp!S`C0#3bM|Z9 zn_bs#kB)AQidp;4BjuW7iJwZKDn|mNW=Dd6fShB43N4pX+?4QKp1ZsKrbt~2`cj8y zI>aw^C{IuO7p+h}Yw4G>SPpdGwFPtmD!9I|WiEWupcQO3L17K6h0BE8-;$?%>aNW= zl{B#@;mUD?qZds~=N`7(-g%AbX6%YdX$DMR1sEI_Yc2IxarH1P-8|cC@;~pw<8My? z^Ko@_$T@V${#(|6hO+pTT#YYVmw!xxuqRZ%oC@bmvNhWBPbdD}>92|bNaAc4<YwO5 zFSh=>>#qqbO~LFPzc>B$2nnf5&-xR!|L*ixPAi(v`>c)cj;Xy_w?vEI)^KYb#GIh4 z3d!6xz6#scDSvzVYofOH3Fi|PHOuZL&WH}@|8V-N(yyN0633Uedn|f)=E<kY2Pqz1 zxTe#2%5C?5=Oe85{jggS9<h<(so4Dv-S3WHl}uYb*wwbzIOgx-U&%GWOQ!FhO-~sA zhvrvKOY9jrp6IauYuSF6{YvwMjE4L(?El)<-(|nj>Z#iMvH!@`-wS?CSfL<&S@A!^ zBJJ;vUlju!%-fRxGq?o5YZ7IV*EX4RaMhfLUljw~rrumIXQ|jL0Uo1O2}biKtXNo6 z(f%<}fWIn1{?E=wj2@jO9jukMC&aW)*vzq1;QUH<#g3&)Wc;fACHc*7nP!s{+h_f` zuuk$pQgoV%D^rT}>Lo``uM>V4T*AX3{B9K+pDG9QyYN#7zg}Q|8u04{<EIt1B@919 z>~=BKtdfsqsL}qb{@XL_=;oa4sx{l5yQc48%8rYfx>tqAVYi77PjmB^a{>&;)1C?l z=seTpZ0~Gw;h*kWcf^7H$?NCcxBon4aJ@dWPH*3jz5CAvFt0cI6I=VSx_-_A_PEp^ zyM90V_MgGhfp5?0kEP#_zWrC!AX_>8(d+kMeO90Kk6ynozWwJZhSF#8-Rt-1=YO8U z@cPVt@%Wm!`_DBPN3yw$n+#k}?bg0Aard;7Q;x8ldb47xGpmA9R$ydNgO7{tmmlt% z-_>uezZ+M4rhKyL`pTbu*(djFO|ySlR^K9Kaif1-|GquX{mx&qFa6oQ?nu4WuHON_ z3OC=~f7~GV{6TZGiu|V!IX{_szvRJOIDS|Qv2eU&+2hj;Ap*A!G?mtIe0=B7oVw`C z+O;QIYXozc^*^W?rq9^8l8;Y(>-HSi3;~CwQxzZjF!%&Y`ga^^^|5#o&}PWzpxI?) z=%Tc=v!wr8y9vXRx-FIqSe5VbWiWdD%_w%@a)0eSiy_E9O6CI7#9tSlHHh?In?8%- z)5KpFe$QaO1(yAOXwCtq+Fwb*3wcAnEj9T)W4ou4slcpRwP$3W99v{FareQK_qxOs z!AA3E%CCi)EeAH1eGA0m>Vsz)H09Uw?*v%^a!K_9=3f)o_e#uiPzZP=)5wtKEw*hL zqvV+e<4%R`Dv=CzdmOa772bVpRC(01^cX|m+5~D<o?KfS?0$V?RnC@An-h4-NNFeU zsrQ8yiU)ia%B?!VQvKLDsD<(R^f@P|wp}dU7c)&{?X|G%eRV5XokF73QbP>b%Um@M z$g6%_d-d(yTf3f4eR?}`)`r_M((+Yl*Sa02D6twXRnTyIv{7o^rdJn|xY`1|=A3=d z=-k3_F4wl>ZRRdXJI#H!3wLI#-7ovLTxRe7#EIKIMW%#Yd!%tUZ?4EGjxW7)xQYz9 zJrCURHtLw8l_}eO=iD9X{|vd>bK*;*BiHPxeJB)HB!0p~d3t(@itsX*U$a)O;+@F# z%b1bNv{1NX3b(><4e^r<3@Z)!gyjOCb*Ma=e~HKK`nfZe(My+<7T#Vu>&XfCDXZpw z@@aAY!|ukx{2;kh&EfH#2KB3Jh#R&ed4wfrj=<&23SLg+j)M=l<FK2Qj>GMr5BJ{_ zb*kx5{-;AA=kTsCW0)2EN`TeT-;(903-de{N$2NH(Z!n@_r5L`v3nM%Gg*p(fkEex zgAm6gF7cj@Ct5m<0eo!lUl=58oVjC)%Q6OLhL4P0lPWJ%PhfW`%e}ce?cFnd$@?;M zrFlCy#@?Cak{OtF)=^k<_hh-i{`kATo!PS5)7R@}L|={CnjIB<ZE4ivt6oNVQ!1wh zKHUBBp7m|DGm6Qor>8EN7aMVGYNpN9uaiPg&iQ5Fcj~u<lgPYIfiDfLZlR8X(@We6 z-;13+q;sP>o`1<t;rDh|^Y+i&dHfH@e$%-<Umf-DhWy%SJGbSp?fOREXSepR+<E*D z`?Jj(=dDovy=s1#?7+zI*PG7mg*a}*n>Xq&-_~&Cn_d0ud(Qqr<<B*5(pPcTy;^>? zJw4IhKl_1m<+k;&@(TYmFb;Yt=7@L4Q|4}o=ihUu;G6q~_*~tPvMWadj=2W7EGiaw zYF@)U&Ge(}?L*0rFS=bxEPT?lIO0+a=c-pbwoiPr>fFrBH*LS)var55_4T@^yMA4q zD(5FQS8LX}O&32bej4r~<$mn^h2%xN3hXXY4tyOZ4NTMdgdQ@av`(BoLH*PW_J27Z zx<?=0?NFF$o8b9EBK<UjEA_e&46_?PHrSo|CV6gB`Np$v6gHIhczyUgtK<A3Cd=S; z6E3~y*kQo%{XhcW+LJPhlOAt>Q+m2t>E3^aywbdajTJLmN;)SRHmJ!s@LDiG-FEq1 z+J`bXcir2&&t2Jj>TUiztvhSJt0ireo_k@@ET&a?!j4H=lUh6tg?^~3m-jOW&N#Cz zIR86q*xiNYo2@plO*>((FSUR3=EqHwT8fsRDz%O{aObimcU0y?rP+rB=5u=ZDoTfM zDAwMlxK+|R`sv)aeNW!&7OgO^Yg#+iis5LdM}pE)jn1q!3=Wp*_c}P<p7&^eXxGDO zv3dKvif-GE!v3xUdPcvm?wyoz{*aJa@Oqg`?-{mhaJ-WJ!TdNoa3XVm5yMKFZ9uyj z!MUvUiQR#T=qG5;H6r><Mc<9{r2jrHkbM&P_l*+9VIk7cTbM;z7~eV`zT2S2*u*f$ zxi#gx6N@-|pLX8D^!HB!{|0udEPCm@&p?4|^Sd5S&1*hgEkF5W+8Q)^0yH??@3TA? zWzQ{BFX7eyd8o-~)x8`0KP{8L*1z&U!|`ojKipXQuR1P!`N{oHPGrX(`mwI^?R@8b zQTo@9@A|XaF7*QcwC=AT{;ZZ|bo#E7a-gYPyOF{Ak>IRr=jR^xSQI9?DX{2J!{TdF zJJa0dKbMMoyqxO4RhWU{-;&5TZ+@+{N?+{PmOb0<>DEZsC0`aj{`AU0Sd=O5O~RkW z7ZU#L)V1l|v`AIyK_XuOW4DdSv=V#0K+Ds&%tLw)9E&}*SY`GSrs5fuDXcn2l2y!d zmTcXut8<b^X4y;8Fkfd4-_Ve}m7-Y>^|;Jqnr5DUH{}46pzr~cRVyw(jC4ICvUZoJ z$*KF(PS|hmiJzKge|pNhA{VJerBebl6?`g=K5U$FS4cJSl}GucUE6HK?w4=5qst%Q zYOcMd>Sow0K~@(=Qy*8ZKqd(v1~xfngDFw>*vu1_=M_$g&a~KaHLNt`^E#27yEn_% znl0y4n_9GNQ|3qEkdwEUxtxud6DpwPqAx6QOp<|tT~JVBO@UDE58jH0F>{4ZxwLt7 zJ;;>tNRsec$a~<Z0Z$7Hdj|)PdSju`p&h$SLjG)vU*A(dHMNTI)5W@d@>7!+=v12C zS@pP*skH89ZdqK3pWyb!!@+{N{~2c4l_c#=oA%@n&yQGz_dInO_Mx5ZRSX{1hZ$64 zA2tZ_ePJx|cz99$oy!NNX*KSS9W22dj0O#&EDS3YSRENCTnST>o)&vg?fP@Bjk_#g z{WumEax3Pl!HM2GYKgDT@!r$mJmbt?z#H)U2J@=}DF+moxO~_rq%%~%)c<*c@umLH z^NSg5RsS<seo5eGS7Ugjb%J?HIz!Erx6XT5?&kbt6Kl6k7Cp?h+B)fo<ix{Md6-@v ztbQt}=n?p?F^j*JA;aWJP=kZu6#=FN4d!~P$w%KvD6c(xCg<_w=G8mbSd^)iUd_6D zdWwK{yWiavogFJDI;>h2pp>RD=h=iA42um^WAt}tPJ1kVRs879+;h3vN`5))o8~>* zy6aV7$jUVrLu7S6oX`q6dr8p2(!*rNvI(6D{5rdJr^Vfjoa+0x>u&kUi`sL7g?GeE z%q`uyXu(P01&u#M!~_Jqmm0GA-v~9BA?}~5>$$1VocHL>ZkyJ1URyUFU3&P*rI6kW z4p+^^j_D>mU#c;K)3U2hWC3q>%VU1yoZT`<);{)L)AXQOX^o<RN0$tvtM50>N$F;d z3^}pyj&0Z-d+qS#w~JGwbKfPLO^&z}>KbO`m%DoI<Sl1Pdy+eQG$&Sad|-8o<5|G- zJ*V1sZ|R&HZ!0%VGf&YreJ82L5xqgZBI`!vidE{dEPXRiB^WGARtxTGWt@3}bq?c- zk8fA+i_h`d<X%3TPcvipy3IMY=Nt=^1$V5v<FL9ksYAl0bB4pRfGf+`KDb<-!?@w2 z?v%>Hqvmsa|J}KCcxLY3)AAnQtq(s)yLRj5&H1I9SJX{j6tJo(GeCh|*k`ZEt4C~m zcf6HLx%9m!GD6|9@|P>^!NR+5$*MhUex#%ndZdp>MbnB=<I94jN;6o_D?DcKI$5^w zd*98_lhSwJRK~W>UUK7Z-i*(m?0hFLbvQIBkAb00LxaVXovABrO2Z=q*4HV9uf;qk zJ;{vU_~2B)=A`i3r=<m_mUPD0Y~Nz^_Jms6DsK*nrwkK)j}@>~svf!#t^7gm{F#r+ zS`NNCE#fDZ-FPOzG-JWrPaPfS8yHV1E@7Pbe7F7Och_D%{*k3)xW}5MH2U@2t1l;| z=H(PBWis`N8+FY&rIF<ku;!VZLxaKeYU>#bCp^CK+hBWKvsT*LV+ZTE@AdRfdULyE zZt8(u1`}3J-0xI3eF;;irewRyfs-Hi&X46eoFls1X7e)(z0euAKE9rN>d2qd3oq$C z)tfo%n7Y#@bt^SNjT36ZLeeda{?p&g{dQ?v-lrS?4t<!>wN5tnV_3M!ox8f%J``RQ zb)7iljPRO<1&n8s{0}ooFdf_^@pQ7m-8sUNCuY_xPT6zk#Jwk{mjud9G}LVIzNC~S zv&VVLGR6ioyIa%qwg>BEwrFpDQ@CY4hb8k<v+TJ~UPt{h@mpXM&>v^za8gb6!+|G! zviE*SEdINL`<&^9vm0(}&UyN~<J|k}r$T%GWR_ho_nm0)<y46$qo4<ai>6M~;&L~J zjq%%NeNEXS_3z$)hQ24;!nU*MPVb&N>5;qV?K?YHFJuqaWLaYGmKCBQ(d=>J&IFeJ zl${fcPhY#U<|5loKAZ0C;mtZ51Xt<aG#B^MOKnkgSi+zx_vY|^hL|;^<Uo;#XBVGF z%C<e9-1KcVZ`;YDpvx6I<L)gx(0g~HLhvFB?T4Jb0U}E^I9u+XWawaAoyEb3xMk8T z?*6RId(D3?+Rdr9d;UB8@73ov$19DazR#cWd=Bx0jG5_e{~0Rhu~(YdS7GbXtdjVA zJSD_{X<>sX52FE(fkIEafMtn<kY8w^&=kuW1-U!}7SV=(M-=$A^{=%szL04C&v2i? zX<@L?xjOMT34GJvT(5PPj@GSuv@1;6g?TZ9;Eb+i?>cI8Y8U@gJ$PC)UtILSTl@bE zil62FGaQckCs{x3`MjG~>#pS9eJ)?*|LO7Tzm3HQe^>Hz|14eDpB47*bN^2Lp9OEY z=keb@VXwEvxbW??yz_Fm*1o#$)+4y{$q%b*)n-bIuXsF|c641IqiQ^po1kv0<|)n@ zl{`X^*aZ4bx0i){wDxD+l&UTrKK10CtGOjzw^p?lUsk>rW%S(R>u!F288fkOdWL>a zG8Tu%M(x@3@r9yi?C-m>+x#{4Ufwp|Q~LJSvF1DJPZwF&oqAZcLp^8vvZsqOXGBY! zwqRV~Bgb=uAyru8jqSuO_WC~~BX=w;T=^x>V2ZBeogI(O{?><CzWDTH)yjF#xHFPJ z+`6=9Iosn`uS1usuUfTovbOP`#mQ5*8Q;lHHrw5C@9lOob@Q#ov*&JQ`*HS-?oq9N zspuU{O9GAvm#76gY93i^$<k8sgYWC=&4*(qAGV0!vGAf>?)|OnCkgNTvo>tjD?>li z7}I6ZdoOL4IHwtNt!dq6@1T%#ix2G)O;f(b^?pl5n)PPB58HM!bDs-uzWIJlRoIze z$GbZpWy!C((>H6;@;HOb0YXcDAA8c*U%cUVxNOI<<05ZQiM_wmym)ruoT#X6uU1~v z*|Ju3snp+xH-Bh{t@#o-X>v<ks@s;+?eT9^@04qPyO^VPIi;d{^36}a?<;FdC#LyM z_BkJznO@{}VuNe)`9+$$94sy=WOZfo>qMP9+;;2sjNKAb*XDCdXNldeS{I)5<k_Wf zvzCe$1ui;yIxXjQ(BUU@ud8e7XH6^#^lvz3aQpS#yK0p?qNmTfA9{FO)q$HaU2kTn zJbJM)X3fTkjX7EzleUJwv@um<y!*hI_wDkQzN2LZ71Cl?--I4pD6?_f)}ZTiR!*DP zx6b3IiLH&EP;}tAe|klQ+eO3Y`D-r;pSCk{+J*zO(id)?UOVrk-Z?|xdwc9QteECD z$zJ2;ylA1&%L`+oIfWvuc5!J0sO){g@<*S2es%Ww^tz&Zm$tH&b93DJ&v5MC(i?ZO z46j~Wv-tHX!_sy2Y%%Y5ixu)+*>I_9x^&!D(?!?9XDgqWZ8-bw`kc=^+U4)6-KRh0 z&yO~lu;;|gCmvhbu4fm9T4`HtpSeNgC8LJ$r8P&K92I6<-rI5{S4Pa3JwM~-mW5p< z&D)-?%`5SBd$u)XbyS$8cC2L5vx5ikY%hw)^p3h$n-%2klR5iTe(s&1XU|RE3T@_D z^f)oM|IOWLZ;Q8Y_T6}S$3&B!q6Hh)O=?$6lUd2ht0=I_Nm0&w_r~o!a_54#O747| z=cKzcOf>si)LON_Z&M%G@?AXa_4JIZ%A;KpSGB6{v4=iexW-oIkiqx8v!>`hNcG55 z`(%Fby~S)Z-J7!9QP<PoRy|(swa!s<GRsuM=w&PxUs`^@IbqcI{dwVx7rCZCtNnRf zD>`C|iq;;@6S~q966cw%^3HR|+Q_OY6Hjj4XmBI);Zw<zvGd)o3N4Awj@<Pj_-16$ znw{J~%f2>0kA6NQ#oXt4k?h0U%>~ErC;tdCdz!yg(IMRS?&ng5r6PUFoDLl-GS2Ny zY>R#0&b-~n&YLEtqrD^JPVk;*Yl}ixc!s`Kowj-Mho{T7dC$GKxvczsZ1L=HsU@bR zTVC5c#UGx2^WEHC-U55e7yAZJ6^LokTHs*NSmnT6V6xMBzudQH2X;=rxz<A4U(M%u z`|j4BluLfC>071CE05oq{Ab6}8{#(d+b10VS-Nn_yYI5i&-!Kxh_8L*?l76@RF;UB z@Q1D4w{J||u4?Ynw<pdyUNTWzxTNm%XL-F;`Ck7^?2{xI6&qv{*d>^j8lPy8eKEmX zP_oBCl!tozs{}Mer#Lt<ytG~QR<iKOZPR0$1>>G3=P^v(_0Dtd;gG`(Y6~kveD<EK zaOGnR@L=HEw>eLDvSL>FH1EUJvkMsnt+*IlHoueE_ha$G1~!J>zkL4{zc?V)eeQ9j z;j?9xHG8&g-LApWct?X(*n5Z5@5g+tj1tVf=EYm4p4Q8HEq<uAy0r5ISGe}UXS3Tg z`x$+WJ}sNsJgrW!x#5y9BlB!2#fuFEj~Qar8MGuA0}e<(7qeY&bL-&k=6i3i$?TRo zA-?a?<MN`}V&!bt*<Nffxge{f>T23iB5Y|DEW*Q-z&OJ}y6kk-iH)_J?#ziV+MYW3 zxZZ}(Q5$-9yZyTNW|FF7*dsP!lgPA_GAow_Db3J~>{6SUBEb4LX42iMaT|GVU6^*m z;MnY_HT!i_zCWJ+v|D+0w245Zvcc=Kb1baV-Et4IthC^CS|HiMxKi)B%jdld?ufs* zr|VehUo<y$x^~uS#k|<C{3w}*)oEF4lBKd{#Y&}FOrMl|njzWRynge8X@9;K%Jr^$ zShppbGyRC+^w*qzFV8-B)I9Z<N|<Y*FI&R~i6aIc$2CHj8B%l2g{4k!d-gE5vNt&* z_i*m}o}xW*=kp^^sq9>`t0lK2!(pd&NwUmQEiFc210RmWB`L<tX^+cxYsD^HXMNy# zq2aU}qF>*>`kc0FZDpE!)~pv-&$}IUOABAKsN`rB|D|O?3}T@?rwvSP?;Vp~+m;*k z<CtSY(qo<t^W{#hnclrw+jFMI<mY;hADE8@z6^>qJ>ZkF%7D{_MV%q%_1?##ceKO) zJf6mL?%c)8iynlX@jQC-RoH|5@^V=ZSGRJMt0{PV2?>^Q*b~gm>2i?4^RUsG;@rU7 zd-t5wH#5I(kUIU(?t<4WJ8!M!e&TaE<K(V)l5?I~W;x|C3ja_IzVEk^u_JAJ`iy6{ zo|Z*-NtgESKO?gtYnpXONw|5w)aDr3uUqGC+iBssD#a+3DI{3dt4CytS_X66o7}(K ztgFxIao-EtXeq<4?snnFJI0kqKTZ3}xKSX$C-9}ul7@!B6~0;(2c*6|pPP1lTUPXX z%hq@A^FzE+BlhmFEa+@$V$+yuDq`s7B+Mtk9`l4d$x`iU{@YiF)@ja2^^S|wY%|^; zE4?_a<j8@#9Z!W<yxbkGwM^A-(u$=Dfrbq{iU+uUZ+#L}zHvIY+mnY8S6>~@II%Ww zU0IW%=|t{Ht1V)!i>EC}IpOwt*$Sm{6G=nER<B;G1>9BMN!z-QU5)+pJ5IDYo#(sK zft{TlcW1B84?5S}V7+|1h_rRl#T9B<85R;vis4PH8V95%^X|JP{dD)Ymrozg;<&fb zXX)ORr_Kp$#;$u>Bq?&yu!mvc6$U{Kv822wjD6o~cHPdoeR+Gh_t~Rsmt8yc##Qdl zJRKJSmj>rnFRcYrmh!qJaQoh_+FtZKuQYQ{o||jIHanl7s-w|Ok0za*p^~H#^(3jI zsNsVIb5XM22kXOfXTSB#`kZH+9Xee@_2i`UzczX74|-Y<ckkY#Rq9&3lVTptby5mk zaCwGER)hZauVQ+q-_^FgT6QnONO=FIm|2e`HqXw`3Cp=s5E>eKxb&KKGry0Q(90_U z3k{cOe`uIH`N_2fHy!RK*{-&{Q&ZY@d!LJoYl7+0#Gk%5&)Dp>Hharqdw(B)9mD?B zlcG1RzNR=kO6WG5#O3VJ=}*_p`&0C1V@h#$S`)WQnr!9fc6Of^XLl$}RcF))VK!ti zDGQ&z@x-?2YN6h%P4&ay-l(h#yEd11nh{@wOx3~2l2tQJURzADQD$^MxFUhCdPM@O zGo&EmYGb%rU6I-P!v2gvT@OYp{0;G~@U--0{9f|y6&-b-FxOJH`zW86ooLV?3>p`) zUBSfAv7GaOpu_>A#|%|m9CfF^Dlqo2Jr!hZP+)whznH-#xz%XC3ggzYk3S4I$6uY( za$Z8f{jTqYe_QHW{xdYLEtz~wpLPGg%}2gZ=e_*6;NyP=zt=z4O3q(W|6KV?`jfu+ z<R9!y>YpqARJ`$zIX724gWWo4TXb%H&xZ3KWDh1pmlZeN2@TxkFXZ8q65@KuAz5LQ zQ*ls%=2F86p`P8(cOSp=<85nN!ESAfZlP;i%QQWY?s<9i$&^^p<j|<}rNJ)})_8L* zm5t5t3|xNrk8e}m<sEGD+h^tpZi)^qJ}Cc8yqfpzInR<4ZLiYuHs0<sSF2@WOPlM! zrK&mO&z#MDM(@<DrTaH`-I}rEUhj(7rk322s*8Ks^QtaguMv6><96!m*1UktxyRO8 zUE6nh)dOAWxwp7;%5Ar~*4J;Do-Ox0<?Yj=z0pP6HE%k8oXoW1%e2GW%$YkvG`>ud z>^Y-sC_A_H&fBG%QuEFj7R(d7eNr;Ad-uwi3FW2Ja!yrk{ZJr!<dFGm_1u;FMAf}s zE`O&J-MQc5+mqa5*B?)pQOvHZ-xd~TvDxP=_spKNXJ_4Wo~Ux}Kp=zGVxu#66~0$L zV7+}~@5LiIdlz=?<$e`W<MOohcEQ)hWx1iNr+zDbvaDbFaMy;7VhbgmuXP2ktq^Zm zb8xrotz7Av+9h{+_vG)IU2*S0^)ib)dfHKXW$D@e%dE{;s;zHGH0;rwF-e%?Oo~xY zbokEl{N&&6j2#s@&V6g{E!vs)CM?y$TxPY>HNTarK1bKwzPkCs-L^g2q0@TpnYBOe zyEsEmy6&{@jdK@db?4vFsg!1`-hN&B*L&IhftyyZ=shdlv0Y(%%v_D2pk*qYJUcoh zb`<VCbv$`Z<lH~${~2y3J>Hr1CRgJamzU=4vaj>@$Qo@|xzFe7o*ni$^Q6=Lf0kNa zrsp57XV#kcZ9{p|j<;IYw(SeI&nP>)zr1wA<MnYXOQRnB{2^=JeJ7SvK)7VZijsyU z3=5W<^uEtry8g#Ei|&f;Th?2D-x%1VYH>6=phe@Mbm5wnt5ueU$EJ&h&f9)%j_lSn ztBuXMI$!f`JuB-oZFFw*J$^jfeM{oDa@mK0hIh1IeV?kg_^M;D-eTz@wY<jYB@53O z%h_>sW^#&nTbu8cINEhM{+7l5GwxjTT}5-FzphxcyzsT>IZvILo1U&KdGsi1a_{P@ zb#<55)^t18oU%@0^DMjjdO_|B<8Q0CpZVa|{IqWJic*&|e!Ihi^nF8vUp(=wtvI%h z`Jd^ZwQFSep9%kTV`lt%ci-CdSpVEtm#4n2UgkYL-O~3}bwS|yS#vCVl)m3`(T|Kz zd$af=L-x<TH#b(h2mEx~Kh0LUVAfxK&#T^7cU7tSY6V)Jxp?)^cl8B_-s;%<#-I25 z@_MCT|8hT*W!u-Uj``ZQttDZnq+eP3>K|F!cD3<p{#(v&^t&><GV#uv<(2btMepVw z+4bZ)Puqo$eNnsJQaxWb97*`da<f5ak{Y9+B)exoW48iBU)Y6reD=bdb8}8SR@iWH zt8`J&hNW7EZBKZfzdB{lt}Q2C2b(UJh%4V^zV3G2wR!B5|M=zYOYb*|X;(U>r<!-~ z;pAAk*!kvJe!WaOUyIi*3{p8ZiLp;1U_L{Ce#=dRLl58HXpPA|WZ?TW*HvTHKJm$# zC--iSy}9#bYVJOx+b`vRo;dqcSw8s(ck81643}ebJFeSJy`?h!wg#g_p@eO8P?hj! znZIi{Z8ZpA>T~Vczp!Fc+o#O4?B^}N=AmNB;A0{o<m$QaNRlICLxq2fgUuX9NfuSj z19BWK5BSvtm=YPNLwH+yB{XPy%vyU@>uq@8rYGOKRT32s-!V)vV10PZd&bn$+ZIl{ z*SM4G+7zqbT}<0DG>mkM9wl@9-oV=EB380;dfBeNF#G+H!JKF8UiKO`Xids<`8|O( zz{663KaB!crrn%YTY9$6-SM_|>9mXe3s#Bw)Lpp0+9-#6g|=Rjnwn+Ht2t@O5{Hxz zSTZm$9Kx`Q?ey)1GuJ2nX9!pSaS?s0$SLLiRB!n&yX_Bg%jCFUcfTK3ygdD-{H{Mo zuP52hjjdf#YjN}4{l_!Ro<Eo^ZEODfYBAr(=zkyPV3{R<bqRDZA!02Q^92*e7xO2# zFg{Jb*C5(o#qfQ}C58|Fc25{*CBO6i#QJj=v$;yi$(xfHKeV!RJT>KGyvsB*$p7w~ zy7vDJf4=u@<jK=I@?^?$i5<)T+*%j9ylch7<b>T$N1ngg5z|^>`sD2??NbZ2Dpt;& z@}EId|LetH`xkUx|1+nAf6DY<FG>XEC-*gen)II`maj?qQ{e@>p!nAdFSykCS+Sq; z{##<j(SP!|!%xrpb?uIVKP_I!YwCZ!@IuL6U6%Q&>c3sGEbdPpFQ{3v|GM*n4$94B z{Vusf_tV$4rM%v0e8Ckz10_XG1S~Wb_Sl|eDE`prckjr<4-(wh-+Q_Vwye6}@#uRu zujuCYj@7{}3q=n-H+d|wXMNXtBh#af{~0D6|6KEhy(v$@fPJspM1>FjmIWQ`TUna# zG$_z^p*CaK1eW7Y@*4Xd{${hkdNzTx7|$Aa#{07E);hWW88Ww;yX?H@SbO~P!3kUR z^TSSU4%y{Ur_UG=BD1Z~vb5;3ukFqAEe*H!&%XZRyX5J*a+ZVl+1&qDvlN!MGheHn z^hMq${=@sKdpYv|8C2*0XGm1}&HBqG`1|kgJ5>KO-06SDvFY{?_5Tc;-%MX{)c(ih zy#nW3{xdw;`k&#A#@S8ri)R{6{O$0L(fW~&=--^0WTo2??tlI>r0iu|@}J?c-iO0> z(*GGIUAK9&>_5Yz<ixv5vs=vBt*pFQPULOPdGenj?Rdb4l>ZFxCfqn5|9QXEw#sb` z^(Ae`s{S*~{c&~k*$vFUmzWt}|MULX+IhJR@^=+C&fEXI&NSz94#U5fyggt4GgyCI zojyB({kum_`ud;ud!ub`GuZEPPPVN-_b2P-vm1<mFG)+j{#X7u?7Z0lF*f-{?>DPn zd-3gf_C1?fPph_lnXhs4*4;I$t@1C-5ei=F(!=s(!6Q~v2O+@;9~<o4zRkaNTI^*0 zy6UYrPGA47t){VBWTx%TxvH|7*K*&^)zFd@nW*q1TY|}jpDlRCM*$O6@VZhQ`w-0H z?(kgO+x|CX{^R3li_m(7C)b7Q)L(k@pMgWCaHD*zd~M~qx$~FQz5Xm7+wrfo^xMKO zkJES8_a)q(-;~4i<^KEJ8|o*o{%2tG!m?xTGiV)}@HGbi2u9lkmah%M*BHL=$X;x) znYV$d>Hz2KFCam!s67QIOYWK!Ee_}8xg4p?>BGFBCH-*HI?#2SDGx24`dXPjb(8*4 zUH;%<kyc>k<xtn(mww;)C^}1`dYQ3Un&1_eKtYLb6aO<zu0AR1+Pm}9FTV7IhZUyR z|1*@mx2cM+`Vm(D=3D#$m;Vem?>_yTdw%)_|AdG2SHRMrFa5rM$ml;q`lf$u^54oU z>!XXGe&IWK=s&~Ce{b(qK41EMe@p7W^QnJ$?BBfm^l#hq(=TM3TmLfz|GmBE<ICFj z4<+k2->hfm|82cz|Jt3OezC(%u8Obz;T8|F`0&4T@AY5j)$D7$VG;k;{_gJca?|hq z6P*6rcKQc{{|uXVpZ;}wzW#zTKJmZ)-}647uhrlCM_K<{wf=*|{|xEn)4y)Fi+6Y< zqyKCEySvZlQP*5Y*;ZuVM56g7F%cS02wR<DzG<rF=Ki<*_x8%?^YD4+I6MehFoW>Z z#CPr$I}~(dY?!thG)~EB$~5<RB-2#1D2Q?CojHZu_E&$~cfDzQ&yjOa!kH^=RtDN@ z&gS1_a83P^o9@Z9qAAO+cb+}DUNLpv#^-z!ps9*MeGLOmnZmLCpSs`KZ%F(bbB$pt zEM+4lav0NY=fCdMDr^7Dz*SCWe+n4xzUO;xzmTEO;cml1Jt^=0Oa1*N>|d(4yjW54 zpCK*p{I|Dn<8@CL@9Ff>&)oKMgZ1f8N}U`F&w8xTy%-u`$m!*3c&<=$C707g;g;RA zwNrJRr#ySf@jU(X?*9z;Z_idTdy|-WDQUfxlfKb|YniE~d7Yu*dNJ*0`Q3My%O2Px zoZ9xpx~9wb@|M+QtJmr*$`o0>N}-;EtCYbfveC`?z4uA6{dw0teo4Lh;Uldr-v4J# zwd?War|zxQoPRaaC{(9!PL2A@V;3iHJ+|#?PU|B+xrGT^EOzY3yRx8ks_!bb2#<+r zq7p}S8mt$~JKM|5Qr(^%?K*Mm7USrw={o&t+i$L$@lCMZu<GXp^F78@f7-O4FU`34 zl2Ocy-Q&)~hZCMG;9(G8JG8N^A-!f}zMMmi*W={vxyg@>QeJ+%#JFoluCJbFgE=$P z+beS0oVc=tzqx!^Eh_BIr}SxaUT_W9a_{6fFW<_fuF)~Fo*cNY<z8gPqE+`B#l);X zPPn^v+jAXVvyeRA!aq$Pr)({G8sKOy@%h?YvAoGmj4QMjZ1)J|arW5K(^hz<?b4h_ zv%Gd~%3D9-Qr14HYs+^YDOcxh+ih`Y?s4&|v%B*Qqt01$cooj>u8b)yjR}s-o~~$p z`|ri*z@iYtDMB0XgzveXJMHVW06mZ0TW-(U|1xF?>k^@Ws5y%m6jU`kDm$bc-g;WR zUh!*vr0SomT}7uKoP3sAE_Nn=kIs7YBCRV=Ri?W<ta_pwB(%14y2rejNm+r5uCCs8 z%ly6J-kqBxZzi2(`t>7k(ZiXOOVk8X?p=Gh<?;+krgh?yCGEl@TtV|ETxrdHYrQ#3 zOFQzqKT~&{*6Z|7vnBRDeo(MsXI1&ri|&gTuc@CGzR+gpvWFLb8!pb>@w_+g=b<8= zzW4pxs%Jc2*mIw6(bA}EvyQ|tv|2Q!&*Vwabvzczx9JJrGO2QPt~-6JFI4z$Z9VvK zqn?EIUfo?<UVWCCQ&X4an#AvYI=57Rt-V2Q#JM6*ZyRBymC>^o6(mUrggTY9XdbZ< zG-P-p%)qa~*i`$W!Qym=+56&;XWyJN=6;-AEM~4M$9nOH%Bl`q-Ge9PX6PPy*_BkN z!0N@h;`<^ta|L<6dJmyi`|Q8ZEZrM+Z}tA$bBy6}<!hXIopH0-m9$4cgy(;Bs_#c$ zGYZ~pW>QAN;U{y`7s*Y(=e$REKdT#NC6^@3@%ea)j{?gf1`LAtMBi=6*sW%+SHgZ~ zoS64x_JoirH8Un1xN)Mis^PD~kGw2_=`I29&oRt8pCJ<Xdx>0}471VB2;Ds0Z=Y>K zU#rYkdLg@P#+t6o2`6{uDQK;7s{P#gOh`cgbgr;=cJ*o1>$+zzsn@lxdeG(l<(Q?d zd?2$di%87!N#)KAf(8bit3LEU@ZgWlm9tDptgWx!w_iG|%=GT|vg$(Nii?-M_pV*| z<gEE|t%gPZEK68L6@CO;dTJgJXgjkda&;2x4FT8Ab$si>4>38E>nzO`lNBz{o3$i( zjyz+_@`z2GtxgFV91_RO+mmxX@98=@`3`6K*5qlcdyk6F==bVAY?h_Hgw2Rs#4E~e zF{8+w(=I>GFzlG0nL9UI!Nce%mqhe(oy`rpJL<bE^KRZ==sSUX;cHcaq)iFQGxa$Z z+Or(UVCv4<Xj80Gwo^}2_IJo9Z{5ADB8Im)Z|yPOH*M3h!X<v3Vnqg*??^BmoV|UM zS>6HNvOlGZx-{yhddr@C{JDdHr7>t{z=MFt2b>sA8g{Fh#O}|Wa3{CS{kypN?$yS# zJ{MM;@M%_?_H?pxky)UD#g!*t{r5#MEnRlibkEjfcht-ME<IOe%YD0Ma$aeW=p40l zE{%t&bHo=b3Msa@EXeE-VVL7`lv!!hTRtnkyfs($O#1Wd!NExutBb#=zL<YU&+~Sd zK6ifIgCz@22^^WUj8XHIL4}eBGvBt{=$M5^SMHOX%zG#QdEL3=*Kcw&#{OL+z2+se zXX=60SMR)5r3-%8`?AZqpux2G+1kKemdUwQ=4K~%81c%NsCzGGFjXk<$g*JE>A>D! z!%*QMz3b(sHM%_4cG;eqw{=_e#k!>zVxkz;9n#b@JQc3QakhxQPIULvn8Bh_Bs_(o z?dH~q-`cm;uK#Hb*L}Bomzvd8wKNSISMDnPuEnifk8)eQo*FfJaaANF2r`{`#HQXH z^|3u{cJu1PX?c0=6_cxz%-i#F*NAus8%|@HyC}d%T%*%MXQ3CX<cZ5498L<~V!5~V zRDAdBd3I(K_gEz6l$|x_{F)uaR+6OgN8F)n&dDhbi*BlVDKV&toJx>jR^FBK&ANPN zjP&Dh_HEauwf*(o-KzWCN-uVMN_dyX%S-P$oVc16da&jNcNENWWn`A%Eu5SvcBkxk zP2}DSdF$V7x7OBfTAr2mVCFktJ-!Tw0}mYnrfk<uvr09M;eOE2dEn}0(2y&5+?DzS zQ}IFmDRKW9j&At3E}Ow~h685{0~Uhu>+CNHdO^|E9%{<JQ`gH2aDM8Ldm=Ocp@WQN z!=st=UZ;lLQD)q%IWbi{Z$iXv;Xsv^qb_ZM&Rkt{S~R_aIyz<?U=aMg+d?yD+M3YF z-^v-^XPx6ay|=1rW8}T?XRFWE#-9J)cJ~Hz+P2#%I^SZdt?#^<A$FqN>3Ye^(<-hf zy_mGrCSDd4mRRB`D91EQDUox=V!4TDbAB6c6`3<HJpT5#g&!jlpWb`BxLUrdczc#f z>vk#4z=}WX;-5_wORGsf^=Wa+PBrI=tFG?d8`JjW-IK*)twIYL=dMX@HF0oBaSHWx zs$sHNXLTvx^ULXq*0d|R%VR?phtItjwEj@t#y8<5IlJ?+AFY^q$}HOJym($9gW;*0 zf&oVu<rvhMKFq0J{AuOFvP0iDMfbdyKYk<Uoybj|-?F9C*M#xDH5WU|9o${X(S5;j zr-Q7(^{SNy9Lr2UeptX=T>JZ0vcX;MwX1WaIBsm(U1mSYR_skc#?RHEVd=Sh_m{C4 zsGVe$&~mvNvG`(Bs?do=OrldnrmC#!xn?M?;~#frPU_T9vw5NJQ!{;+FSQc=-uv=a zY5uvldE3s;^PFyedisXtIT=?cKVLUZCTFJLyln=P-!Isp<o0ypvf@Uzk_I=;#I>GR z59$7xxHmob@teaz_mtiwyR2BQvSPKX%V*upz=CXBozIH*ZHx}LKB}HSA(#C`c<%AA z*O@iP6@BNfeHoN+^zqWk1rIN!igG+PQ*!aDWLlJRxIuzV=S_6(>Cn*UC6PXXw|1Pk z-Mh5vQH#`+<h8mHCsTvE)(ZP;WozkA`+M+K>$mg9cbwj4d#A3?o^S1RKe047<?hXS zvYXXaeMOEmguS*5ObHSYWL&c_-~-2^LpMXdDo-|Zop4@v|CS|B?y0>l_VoVGpt3hr z>Y}$^$kwGUpF>}!UORis>TZ4I);GB`N-vgvFKiC~v9RIEi<1}UI_zEa(t%OSE2_)E zsL_yBOVh)&*Kk9TZ_f5yZ|)p(fwSR<dvuJ|*2mpm`!aTR_Xceh>2+xbT!np>m#whS z4031_wA{hC<ACgjnZH~v2Q{l-65(|`<fe0|NZ=iZgWv)AY5(qPG5(It*Z4l~w)g$- z+on1Gy1*`vQJuo7*qgJ{jLU2Ie@(PM-k*NwKSS1khFyD}&v>tv9ryXOls_rkLCzLm zuHR>V;JxJb2OXIE$ek8|wrJv5!<wQv^}f@)sbA#1o;3$;@{H@$V%#WQYT&+b@nWG8 z`D&rg6vfjFv9t5+60WZh+3sZNb~Edz;A-<;sonWktP)}b1KBxN%v!)DvW(HvCt=AX zd4^3)Yi_TdH}it+mxd>0p{)mH)b4Id*ILBm9qH1^(iV2@j`J?hPcyzUn%_ECAjcWM z!FPXn?26l$w?uPX2q@ZI&aI~FbwyBUuG>n911gUde?7j!Drl~4q}?hr?~S`##JMw1 z#dD=B9rJdj`0WgHEb*JvB5dyA(5^9Mk<%qc4W<({t9~uL_Od$YLGqpV9y{}kN|MxU zmHaM?Oj8i?_H^(_)CgkqsJ`i;z<qh|sWbD<#m?zHHF9@Mk?E8&^?AqjkTGZB9hpv% z(;Au*9$Xq~7VL^m3|k_KPJc71deiSX<Lj~YM|irl8Fr*z;$jzwXlGo$)SU5w@rQ;4 z?#XA~Jug&P^6z?rRjkm<32SxCrm->WbzWrt(sN6xP$)dG;)4OhrxwQEm1Q+sSI(X4 z`f6MB-JMkzx2kZ7SGWkrd}RnR72TAmD9LKWpk~bUL-JZkNX`kNcO{+uI(LuG2=-Ny zWR03O#fM#!;jjnK9!1IT=?o#e@Az!J)fRBw<kndc>4{>xQky(gZtrC8{Gw^*sidN? z)6vn8iz&JKp=1xE;j^b{`Bj0och<Uw@Z53jc3ac3Brr&C#e}FOQ`tgYPHD+(GJN{5 zvx#9#tWkIG&CAu@4UXEI{H9f{y}F5GTV&`}%aApX8ig5`9G&5#ZYXDafazz+oj>P3 zoP4_T?a3X6b==Iy*5<y65_BvonG*4c_k#c7fD-~f`87&1?$a2)&U=~m#xZVvxew0@ zRxOQ_vzB}L2B#=BUU50*;&)d`t<c9yUDIjT0&df8gME)XtTJ<BH{P_h6fHRTTWvbq zqg4qCu8!gzYn<jRNMtZ{;9bL5^=<ha?(*I%dnTTbQ+_gMSHam??_9Mf^0{YBJ+)$H zlG*}|%n8ex&ZIFgD>f+S?z(x}Z%WW^g;ddq*UhcDZ^A;AS9J=6FAR0zDQR@MtmzkW zWI+Ny2OGmC-I-7H>Vnzzg-W6ix4m2Ex#sGomcX>$>luwNt(*cxE)^|cX|U*!zAv(f zA?Yi1)`sI=S}uHVhFxIge+H4mzjm%+R9b**H9F(h>@SI7JHP*2r7FB?>!MRh0@hnr zeX;+tfG_6gH}|dQ?xe8pPm(zLT=b;mlFcdW#ZFHanX|<8gr*kfn%OI-Et=t!DtUZP z+xh+M5v%N_>`r&SFFSMO@Z#O38vEEKO(*MRNxZ$kd41;Vzh~b*``LQ;eR%bxMOzQO z`uF7G>8V%DHLr$-yIG#G{mjwhee?V5)sZ#Xm%?P<-@Nu{G3O<1qrgetCsze5yy?Fs zcxgvhbk3X500)l1+I$U;-;16wDQ{l)spj6K^1}@O8NSs{dNzOgYG$^6LzXw!Qx2S+ zZ*1-U)~8TmrfTqlrz;k*aW-`Luob>I-#cyd+cq}6jp`@1Rvf&?oB5Mlvf$9i!n73K zt>y+>1EQ_`mn*g|Qc8&0c}aM_1hahhhTV?&DPq6<?ACVfxFxXB!gSI5;_X_`?%g;w z*CbZw;w>+W57R7WoSJdW)H$$?VSn_t)wyf641;bbx=y&Q|1#y<CzY26J$f%n2Sf@- zw7gu&G_`|CVa_hgijeS!4wAl?4)({bn{oBklRJHR5!FZUKVDar%6avUMaFJXe@DKc zc}rw8JY{$oLk?&$2rzS&Z=Rj<_w3WducO;DQ_NfRukZG{-aYZ{x;)+Kc~8~3qFZll z6=aoCQIZvD;r49sQetAgbaGpDb)V&?-5YNTZd=)BxyO2=TKCk0VqNjqUW?0h3Wfx0 zh6W#E3ih-VW@=&VR^4E2H??z~QMK^&Y0{-jzxLhCsjl8_<GXg>qef}Vy!&fx0)jLr z`z#RQ;ACMqA~d^)ac7WmNszCQ4wFk4i^g0>%N8ynuD(KHiRwqnh7D>ZC;n*Ky-?sk z{huK(wQGIW+s78Xj-MtQHGKMgyEy3I7RHlXapnWw+1r%OuOIl&uwwG}6G*2#rGZX) zT1xzR);@>r%zr<x=lgi;A6pCNOwN%kw3!_0oMMAzvpdyJ$iXms-jDhzarH+HK#gz@ zd=n#V)y?mwJ;+_TF8!d<^c@G^t9opAHZt_m7UlY7U@&9xfxU`5AMo6%_RT-omUid# z&X!6SSH=GfHxJ0w6<fdmyY%kPOaJ&7*fZz;U}WSyvzwt^;jI3H2V5K8`ri^+sBpLY z1w#>omj5RO_UFO3q<=^5uX{yD4zK;>RP#Tle*9-pJ*Af&xBj}L;yQ72CZ<)3W~F*G zB{DEPaAGJbSK#KwJ1>xTz2}|yh5rmIgfSD{G7=KqdOP#quP3xuy6tZ?$GqcXYLxpt zYbDChO2SA9p-X6&%23S~<!}G#djF5_eo*z|PY;Jkn`gU~TfeBk`{eI8q@#Rif{yad z{4@L0%9MZ8(|<T7_jdex@%#0;k~e>qzsJv5bK_~3_o*j>3@bLy-o0s=!trg3qt)W) zNmZ_MvHdD_`pE3VdnL<y&x_POaXau!qdxpzntIs8=jRUK%SKc<<%+fe#_Ij?UtsBf z2H|{Akr0d;a}=G<h11<^r*Azz^}J5*L3F46)$sO9{mFO5-E03dOsza`e9tsA`(9nL zZ;JMm-;1*>_?x_UTlVkRsoY%`dTjZ>)aO>y7W-(&KdnnTyzP3!mM6Y`#X+-{F-d<- zj!(P)V!c}0@u-)&Ci%6;w$Itl7Rkjbym8k87nxOz2Ffi>t}CkNDzY%xU8#O3`|k6@ zId=>LPm4{O-ni!K$MuFMZ-iedUE^(48YlAkqrK(2R}!Dx7g2M~F;^P{bYBVe)-j`) z$+fz%{i(S9N3s75ubypS)kUn@qq4mrj9WKsIh}S)@2B)amVMz9BhR<oHebP2XESxq zvFSAn0{infzOD0TwBB^$UE25L*}d0Kx>d$5E&gn=<91(0`o}$gyyivC+4b)A<)<EZ zS<*Q7`6kG34dDHC@ri2L_R>G5wo2Q*tM)NVy9O()6jeBJM6%%+%Zt>k<pB>O-)?%J zEmN<+q}8>A<(w;fV^fXAr-p`4JXLQeZ(Z=<&Arp&6PHz<UA%e8(o45as>G~|E-Yl0 zttow7y;-?qrr7Eg96J^G6&)U%T>0+e`D@R{82>WUd)ve^m;YI>9LM#nKGDqV-J+}e z#pX?&T9_W6nfis_LQsGwF`1$6gzSb1zb6+lOGU5UQlY!POXhL*_75@JKb*c${X(qt z)uw;u`JYzIy?QG)>c_%!(g&NK{@L_}-(mCm(CHs{*H3jWEt?*;Pouc)L&DB_oxRK# zbY5Rg{gZe9X~5msrB~N?$voU6p%;Hz-{A|l)z`>+>Fqy5%)>KFvmdov<g;;4|8)9- zEz`NZVe!Y_{tM+DwPZB7MpM^lJ{c`mMpywUxW4&$pUk=kg{B=`qC2?)st!~r+*DDs zKju6oc+SFIyS-P(i&!46Fo@YdEv{*_@)@m0M_U~fw4c};8=rlixN)fv|9b0fChd22 z82shvy?#r^!28$YbF%xJAIz@5tnWDS_P4*g1=x3%9^`9OWbR$M@`y*J|G~&)Mi%FN zLG3@B1TP;huRACHpFvG4E9773>{I_4iXNNfzwO@9AIvYd`p<d$iB%Q7)jM~0%ssMf z%dI0E7Y&#yWVjU`uxhX@VU&5hdFwsZSH}%^Z#FA;*t&Gig;3tm@9CDu=UTfMuw0oI z%FKAlV#2`_ib8WavX)h6+?msLiNVRrsIy(s&$#!swAa@)XRhpS+FER79AbX#lhcV8 zQ!c$b?q>V&h_YX_)M>5S-LZ9AafRLQRX@#bPpK~7^(SP{W8NqGtocrSdtdrvW#uvH zlQm_s6W`u@{W0iskNKn@Z>*JX@4fzL>2ryE)sHvI+_zV+Kk9wX;GXy64R8AMzQ=b> zpOd&}`tih@a(CbD7uB~oT&dr8c$4k!yC8eoKE=z9S~D7GqbY4P-wZ%ubMnFatyk(_ zEakrnF1)6BiAUe9iCDy`7UW~WaZK}jv!I@^ika<<4-&kOt@g)dvFn|8+@Hj((3koq h_x8QZ=5G^oZ=dP0IBs~vCs9!FT~C%Yivj!pn*b<UpsWA@ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensButton.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensButton.png new file mode 100644 index 0000000000000000000000000000000000000000..daba6435b070324df0e756ddfe7d385ecbdd6809 GIT binary patch literal 3281 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 WOKGvHfHVdM1_n=8KbLh*2~7Z81{bja literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensLite.swf b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/PicLensLite.swf new file mode 100644 index 0000000000000000000000000000000000000000..3bfd4ea495027027b457595699afe0a23fbe5949 GIT binary patch literal 251875 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ⅈiA#IJ@fhnL^8gq9p~$+KPh)nK>b(i*6fF7eic8L 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens.js new file mode 100644 index 000000000..982b76acf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens.js @@ -0,0 +1,1127 @@ +/* PicLens Lite: version 1.3.1 (14221) + * Copyright (c) 2008 Cooliris, Inc. All Rights Reserved. + * + * The JavaScript part of PicLens Lite (i.e., this file) is BSD licensed (see: http://lite.piclens.com/bsdlicense) + * This launcher includes and interacts with SWFObject (MIT), BrowserDetect (BSD Compatible), and Lytebox (CC Attribution 3.0). + * + * There are two versions of this JS: + * http://lite.piclens.com/current/piclens.js full commented file (~39KB) + * http://lite.piclens.com/current/piclens_optimized.js lighter deployment file (~21KB) + * + * Updated 2012-09-21 by Photocrati with higher z-index scores + */ +var PicLensLite = { + // PUBLIC API + + // PicLens Lite can be deployed in one of two ways: + // 1) include http://lite.piclens.com/current/piclens.js in the <head> of your webpage + // 2) download the zip file and deploy it on your own website (unzip it anywhere, and point to the JS file in the <head> of your page) + // see: http://lite.piclens.com/releases/current.zip + // + // For example: the directory layout looks like: + // lite.piclens.com/current/ contains the SWF, JS, and image files + // /lytebox/ contains slideshow support for browsers w/o Flash + // + // Pointing to the JS directly will configure Lite relative to that URL. + // Alternatively, you can customize the URLs with PicLensLite.setLiteURLs + + // 1) Call PicLensLite.start() to launch the default feed (specified in the head) + // 2) Call PicLensLite.start({feedUrl:'http://myWebsite.com/myFeed.rss', ...}) to launch a specific feed + // Option 2 supports the following named arguments: + // feedUrl : String // is the URL to the specific Media RSS feed you want to launch + // feedData : String // is the Media RSS feed itself (do not use feedUrl if you want to programmatically generate & pass in the feed text) + // guid : String // starts from the item in the feed that is tagged w/ this unique id + // maxScale : Number // normally, images fill the stage; 0 -> never scale up; any other positive number S --> scale up to S times the original size of the photo (but never bigger than the stage) + // loadFeedInFlash : Boolean // if true, we ask Flash to load the feed, instead of AJAX (expert option) + // loop : Boolean // if true, we turn looping on by default + // paused : Boolean // if true, we start the slideshow in paused mode + // To enable smoothing for images. a crossdomain.xml file is required at the root of your image server. + // Lite detects this crossdomain.xml and applies smoothing automatically. + start : function (namedArgs) { + this.determineBrowserParams(); + clearTimeout(this.REMOVE_TIMER_ID); + clearTimeout(this.AUTO_CLOSE_TIMER_ID); + this.ARGS = {}; // clear out previous args + + // handle named arguments + if (typeof namedArgs !== "undefined" && namedArgs !== null) { + this.ARGS = namedArgs; + + // if feedUrl is specified, it launches immediately + if (namedArgs.feedUrl) { + this.THE_FEED_URL = namedArgs.feedUrl; + if (this.checkForPluginAndLaunchIfPossible(namedArgs.feedUrl, namedArgs.guid)) { + return; + } + if (namedArgs.loadFeedInFlash) { + // read up on flash crossdomain.xml if you choose this option + // Flash can only load feeds from servers hosting a crossdomain.xml + // pass the URL as a FlashVar, and load the contents via a GET request + this.showFlashUI(""); + } else { + // load the contents of the URL via AJAX, and launch the Flash UI afterward.... + this.loadViaXHR(namedArgs.feedUrl); + } + } + // pass in the feed XML directly through Javascript + // use feedUrl OR feedData, but not both! + if (typeof namedArgs.feedData !== 'undefined') { + this.showFlashUI(namedArgs.feedData); + } + + } else { + // find the feed from the header, since none was specified + // build list of XML feeds + var feeds = this.indexFeeds(); + if (feeds.length !== 0) { // view the first feed, if available + var feed = feeds[0]; + this.THE_FEED_URL = feed.url; + if (this.checkForPluginAndLaunchIfPossible(feed.url)) { + return; + } + this.loadViaXHR(feed.url); + } + } + }, + // check if the slideshow is currently running + isRunning : function () { + return this.LITE_IS_RUNNING; + }, + // check if the browser plug-in is installed + hasClient : function () { + return this.hasCooliris(); + }, + // call this before starting lite. we currently support a single custom button + // the icon is a 24x24 PNG + // we will perform a GET request of a provided URL (w/ the item's GUID) when the user clicks + // http://yourwebserver.com/buttonURL?itemGUID=guidVal + addCustomButton : function (buttonRESTUrl, buttonLabel, buttonIcon) { + this.CUSTOM_BUTTON = {targetURL: buttonRESTUrl, labelText: buttonLabel, iconImage: buttonIcon}; + }, + // OPTIONAL: provide callbacks to be notified in certain situations. Call this BEFORE PicLensLite.start(...) + // onNoPlugins():Boolean + // is called when the user invokes Lite but does not have PicLens / Flash installed + // onExit(itemUID):void + // is called when the user exits from Lite + // we provide the item's GUID if it exists, and the item's content URL otherwise + // itemUID is undefined if the user exited before Lite launched, or if the user did not have Flash + setCallbacks : function (args) { + if (args.onNoPlugins) { + this.ON_NO_PLUGINS = args.onNoPlugins; + } + if (args.onExit) { + this.ON_EXIT = args.onExit; + } + }, + // OPTIONAL: customize the location of resources. Call this BEFORE PicLensLite.start(...) + // Normally, we locate the PicLensLite files relative to the JS file + // To use this function, pass in an object with the following named arguments: + // args = { + // lite : other paths can be determined from this (make sure it ends in a slash) + // swf : the URL of the SWF file 1 + // button : image allowing users to download piclens 1 + // lbox : where to find lytebox 1 + // lboxcss : the CSS file 2 + // lboxjs : the JS file 2 + // } + // 1: Can be determined from args.lite + // 2: Can be determined from args.lbox or args.lite + setLiteURLs : function (args) { + if (!this.LITE_URL) { + if (args.swf) { + this.LITE_URL = args.swf; + } else if (args.lite) { + this.LITE_URL = args.lite + "PicLensLite.swf"; + } // if both lite & swf aren't set, it won't work + } + if (!this.BUTTON_URL) { + if (args.button) { + this.BUTTON_URL = args.button; + } else if (args.lite) { + this.BUTTON_URL = args.lite + "NoFlash.jpg"; + } + } + + var lboxUrl = ""; + if (args.lbox) { + lboxUrl = args.lbox; + } else if (args.lite) { + lboxUrl = args.lite + "../lytebox/"; + } + + if (!this.LBOX_CSS_URL) { + if (args.lboxcss) { + this.LBOX_CSS_URL = args.lboxcss; + } else if (lboxUrl != "") { + this.LBOX_CSS_URL = lboxUrl + "lytebox.css"; + } + } + + if (!this.LBOX_JS_URL) { + if (args.lboxjs) { + this.LBOX_JS_URL = args.lboxjs; + } else if (lboxUrl != "") { + this.LBOX_JS_URL = lboxUrl + "lytebox.js"; + } + } + }, + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////// + // The PRIVATE API is below + // DO NOT USE these functions/variables directly; they WILL change in future releases + // Email us to request changes to the public API + ARGS : {}, + DEBUG_NOCLIENT : false, // if true, we will NEVER launch the PicLens Client (for testing Lite) + DEBUG_NOFLASH : false, // if true, we will assume the user does not have Flash (for testing Lite) + HPAD : 60, // horizontal padding + VPAD : 20, // vertical padding + LITE_BG_DIV : null, // the grey/black background overlay + LITE_FG_DIV : null, // the foreground div that contains the flash component + LITE_URL : null, // the location of PicLensLite.SWF + BUTTON_URL : null, // image to display if the user doesn't have flash + LBOX_CSS_URL : null, // where to find lytebox css/js files + LBOX_JS_URL : null, + LBOX_COUNT : 0, // try to start lytebox, but if it doesn't exist after a few tries, give up... + SHOW_LBOX : false, // if true, skip flash altogether + OS_WIN : false, // OS Detect + OS_MAC : false, // sadly, sometimes we have to do something different depending on our Browser/OS/Configuration + BROWSER_FFX : false, // Browser Detect + BROWSER_SAF : false, + BROWSER_IE : false, + BROWSER_IE6 : false, + OLD_B_MARGIN : null, + OLD_B_OVERFLOW : null, + OLD_B_HEIGHT : null, + OLD_H_OVERFLOW : null, + OLD_H_HEIGHT : null, + THE_FEED : "", // the feed text + THE_FEED_URL : "", // the feed url + LITE_IS_RUNNING : false, // use isRunning() + piclensIsRunning_ : false, // maintain compatibility with the Wordpress Plugin for a few iterations... + FLASH_ID_1 : "pllflash1", // outer + FLASH_ID_2 : "pllflash2", // inner + FLASH_VER : null, // the version of Flash we're running + FLASH_URL : "http://www.adobe.com/go/getflashplayer", + PL_URL : "http://download.piclens.com/partner/", // downloads PL immediately + PLC : null, // PicLens Client + LEARN_PL_URL : "http://affiliate.piclens.com/partner/", // landing page to read about / download PL + FONT : "font-family: Lucida Grande, Myriad Pro, Verdana, Helvetica, Arial, sans-serif;", + KEY_HANDLERS : "", // save the old key handlers, if any + ON_NO_PLUGINS : null, // callback + ON_EXIT : null, // callback + AUTO_CLOSE_TIMER_ID : 0, // + REMOVE_TIMER_ID : 0, // the timer for removing the children... + RESIZE_TIMER_IE6 : null, // every second, autoresizes the UI + RESIZE_HANDLER_EXISTS : false,// add a handler to detect user resize events in safari + CUSTOM_BUTTON : null, // add an action to the UI + + addKeyHandlers : function() { + var self = this; + if (typeof document.onkeydown !== 'undefined') { // save & later restore key handlers... + this.KEY_HANDLERS = document.onkeydown; + } + document.onkeydown = function(e) { + var keycode; + if (typeof e === "undefined" || e === null) { // ie + keycode = window.event.keyCode; + } else { // mozilla + keycode = e.which; + } + var val=self.handleKeyPress(keycode); + if (typeof e != "undefined" && e != null) { + e.returnValue = val; + } + return val; + }; + }, + addMouseHandlers : function() { + if (window.addEventListener) { // Firefox/Opera + window.addEventListener("DOMMouseScroll", this.handleMouseWheel, false); + } else if (document.attachEvent) { // IE + document.attachEvent("onmousewheel", this.handleMouseWheel); + } + // must be outside of the if-else + window.onmousewheel = document.onmousewheel = this.handleMouseWheel; // Safari & Others + }, + // call this at the last possible moment (especially for Win/Firefox) + appendElementsToDocument : function() { + if (this.BROWSER_FFX && this.OS_MAC) { // avoid redraw bug by not showing the background + this.LITE_BG_DIV.style.display = "none"; + } + document.body.appendChild(this.LITE_BG_DIV); + document.body.appendChild(this.LITE_FG_DIV); + }, + autoResize : function() { // for the IE6 auto resize + if (!this.isRunning()) { + // unregister the timer + clearInterval(this.RESIZE_TIMER_IE6); + return; + } + + // resize the BG and FG divs + var size = this.getPageSize(); + var bg = this.LITE_BG_DIV; + if (bg) { + bg.style.height = size.h + 'px'; + bg.style.width = size.w + 'px'; + } + if (this.LITE_FG_DIV) { + var fgs = this.LITE_FG_DIV.style; + this.resizeToPaddedBox(fgs); + this.resizeToFitPaddedBox(fgs, size); + this.resizeFlashToFitPaddedBox(); + } + }, + checkForPluginAndLaunchIfPossible : function (url, guid) { + // if we have the correct version of piclens, pass it onto the client and do not use LITE + if (this.hasCooliris()) { + if (typeof(guid) != "undefined") { + this.PLC.launch(url,'uid',guid); + } else { + this.PLC.launch(url,'',''); + } + + return true; // launched! + } + return false; + }, + createBackgroundOverlay : function () { + // create a background that covers the page + var bg = document.createElement('div'); + this.LITE_BG_DIV = bg; + bg.id = "lite_bg_div"; + + var bgs = bg.style; + bgs.position = 'fixed'; + + // stick to the sides when the window resizes + bgs.width = bgs.height = "100%"; + + if (this.BROWSER_IE6) { + var b = document.body; + var bs = b.currentStyle; + var de = document.documentElement; + var ds = de.currentStyle; + + // save previous document styles + this.OLD_B_MARGIN = bs.margin; + this.OLD_B_OVERFLOW = bs.overflow; + this.OLD_B_HEIGHT = bs.height; + this.OLD_H_OVERFLOW = ds.overflow; + this.OLD_H_HEIGHT = ds.height; + this.OLD_SCROLL_Y = de.scrollTop; + + // simulate position:fixed... + b.style.margin = "0"; + b.style.overflow = "auto"; + b.style.height = "100%"; + de.style.overflow = "auto"; + de.style.height = "100%"; + + bgs.position = 'absolute'; + var page = this.getPageSize(); + bgs.height = page.h + 'px'; + bgs.width = page.w + 'px'; + } + + bgs.left = bgs.right = bgs.top = bgs.bottom = '0'; + bgs.backgroundColor = '#000'; + bgs.zIndex = 10000; + bgs.opacity = '0.5'; + bgs.filter = 'alpha(opacity=50)'; // IE7 + + var self = this; + bg.onclick = function () { + self.exitPicLensLite(); + }; + }, + createForegroundFlashComponent : function () { // configure the box + var fg = document.createElement('div'); + this.LITE_FG_DIV = fg; + fg.id = "lite_fg_div"; + + var fgs = fg.style; + fgs.backgroundColor = '#000'; + fgs.position = 'fixed'; + fgs.border = '2px solid #555'; + fgs.zIndex = 10001; // above the bg + + this.resizeToPaddedBox(fgs); + + if (this.BROWSER_IE6) { + fgs.position = 'absolute'; + this.resizeToFitPaddedBox(fgs); + } + }, + // this just removes the HTML elements + // we call this from Flash (thus, we need to allow the function to return before removing the children) + closeFlashUI : function (itemID) { + var doc = document; + + // remove the keyboard & mouse handlers... + doc.onkeydown = this.KEY_HANDLERS; + window.onmousewheel = doc.onmousewheel = ""; + if (window.removeEventListener) { + window.removeEventListener("DOMMouseScroll", this.handleMouseWheel, false); + } + if (doc.detachEvent) { // IE/Opera + doc.detachEvent("onmousewheel", this.handleMouseWheel); + } + + // hide the div now; remove them later + this.LITE_BG_DIV.style.display = this.LITE_FG_DIV.style.display = 'none'; + this.REMOVE_TIMER_ID = setTimeout(function (){PicLensLite.removeChildren();}, 150); // 0.15s + + if (this.BROWSER_IE6) { // restore styles + var b = document.body; + var de = document.documentElement; + b.style.margin = this.OLD_B_MARGIN; + b.style.overflow = this.OLD_B_OVERFLOW; + b.style.height = this.OLD_B_HEIGHT; + de.style.overflow = this.OLD_H_OVERFLOW; + de.style.height = this.OLD_H_HEIGHT; + window.scrollTo(0, this.OLD_SCROLL_Y); + } + + if (this.ON_EXIT !== null) { + this.ON_EXIT(itemID); // call on exit + } + this.setRunningFlag(false); + }, + // for handling cross-browser quirks... + determineBrowserParams : function () { + // BrowserDetect {.OS, .browser, .version} e.g., "Mac Firefox 2" and "Windows Explorer 7" + var os = BrowserDetect.OS; + var b = BrowserDetect.browser; + this.OS_MAC = (os == "Mac"); + this.OS_WIN = (os == "Windows"); + this.BROWSER_FFX = (b == "Firefox"); + this.BROWSER_SAF = (b == "Safari"); + this.BROWSER_IE = (b == "Explorer"); + this.BROWSER_IE6 = (this.BROWSER_IE && BrowserDetect.version == "6"); + this.FLASH_VER = swfobjlite.getFlashPlayerVersion(); // what version of Flash is the browser running? + }, + // we should tell Flash we are exiting when this is called... + // this should only be called when the user clicks outside of the flash component + // all other exits are handled through Flash + exitPicLensLite : function () { + var fl = this.getFlash(); + if (fl !== null && fl.fl_exitPicLensLite) { // binding exists + // tell flash that we are quitting + fl.fl_exitPicLensLite(); + // close after .5 seconds, if nothing happened + // TODO: make sure this doesn't crash any browsers + // TODO: Check the Return Value to Fire this Timer? + this.AUTO_CLOSE_TIMER_ID = setTimeout(function (){ if (PicLensLite.isRunning()) { PicLensLite.closeFlashUI();}}, 500); // 0.5s + } else { + // if it's not running already, we just remove the DIVs (flash isn't defined) + this.closeFlashUI(); + } + }, + // a website should include the absolute URL of the piclens.js in its header + // This function looks for the script tag and extracts the ROOT_URL + // <script type="text/javascript" src="ROOT_URL/piclens.js"></script> + // we assume the SWF and JPEG/PNG/GIF files are relative to this ROOT_URL... + findScriptLocation : function () { + var scriptTags = document.getElementsByTagName("script"); + for (var i = 0; i != scriptTags.length; ++i) { + var script = scriptTags[i]; + var type = script.getAttribute("type"); + if (type == "text/javascript") { + var src = script.getAttribute("src"); + if (src === null) { + continue; + } + var index = src.indexOf("piclens.js"); + if (index != -1) { + this.setLiteURLs({lite:src.substring(0,index)}); + return; + } else { + index = src.indexOf("piclens_optimized.js"); + if (index != -1) { + this.setLiteURLs({lite:src.substring(0,index)}); + return; + } + } + } + } + }, + // returns an object describing the page size of the browser window + getPageSize : function () { + var xScroll, yScroll, winW, winH; + var doc = document; + var body = doc.body; + var html; + if (window.innerHeight && window.scrollMaxY) { + xScroll = doc.scrollWidth; + yScroll = (this.isFrame ? parent.innerHeight : self.innerHeight) + (this.isFrame ? parent.scrollMaxY : self.scrollMaxY); + } else if (body.scrollHeight > body.offsetHeight){ + xScroll = body.scrollWidth; + yScroll = body.scrollHeight; + } else { + html = doc.getElementsByTagName("html").item(0); + xScroll = html.offsetWidth; + yScroll = html.offsetHeight; + xScroll = (xScroll < body.offsetWidth) ? body.offsetWidth : xScroll; + yScroll = (yScroll < body.offsetHeight) ? body.offsetHeight : yScroll; + } + var docElement = doc.documentElement; + if (self.innerHeight) { + winW = (this.isFrame) ? parent.innerWidth : self.innerWidth; + winH = (this.isFrame) ? parent.innerHeight : self.innerHeight; + } else if (docElement && docElement.clientHeight) { + winW = docElement.clientWidth; + winH = docElement.clientHeight; + } else if (body) { + html = doc.getElementsByTagName("html").item(0); + winW = html.clientWidth; + winH = html.clientHeight; + winW = (winW == 0) ? body.clientWidth : winW; + winH = (winH == 0) ? body.clientHeight : winH; + } + var pageHeight = (yScroll < winH) ? winH : yScroll; + var pageWidth = (xScroll < winW) ? winW : xScroll; + return {pw:pageWidth, ph:pageHeight, w:winW, h:winH}; // pw and ph are the larger pair. use w and h. + }, + getElementsFromXMLFeed : function () { + var xmlDoc; + if (window.ActiveXObject) { // IE + xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + xmlDoc.async=false; + xmlDoc.loadXML(PicLensLite.THE_FEED); + } else { // Mozilla, Firefox, Opera, etc. + var parser = new DOMParser(); + xmlDoc = parser.parseFromString(PicLensLite.THE_FEED, "text/xml"); + } + var elements = xmlDoc.getElementsByTagName('*'); + return elements; + }, + getBasicSlideShowHTML : function () { + if (!this.LBOX_JS_URL || !this.LBOX_CSS_URL) { + return ""; + } + + // make sure the lytebox JS is included + var head = document.getElementsByTagName('head').item(0); + + // add the script tag + var script = document.createElement('script'); + script.src = this.LBOX_JS_URL; + script.type = 'text/javascript'; + head.appendChild(script); + + // add the lytebox CSS too + var link = document.createElement('link'); + link.rel = "stylesheet"; + link.href = this.LBOX_CSS_URL; + link.type = "text/css"; + link.media = "screen"; + head.appendChild(link); + + // find all image URLs from the feed. + var xmlElements = this.getElementsFromXMLFeed(); + + var i; + var hiddenURLs = ""; + for (i = 0; i < xmlElements.length; i++) { + if (xmlElements[i].nodeName == "media:content") { // what about the namespace? + var url = xmlElements[i].getAttribute("url"); + if (url.indexOf(".flv") == -1) { // images only... avoid FLV files + hiddenURLs += '<a id="lboxImage" href="' + url + '" rel="lytebox[lite]"></a> '; + } + } + } + // rel="lytebox[lite]" + var basicSlideShow = "<div id='lightbox_images' align='center' style='display: none; padding-top:10px; color:#FFFFFF; font-size:.8em; " +this.FONT+ " color:#999999;'>"; + basicSlideShow += '( Alternatively, <a onclick="javascript:PicLensLite.invokeLytebox();return false;" href="#" style="color:#656588">click here for a basic slideshow</a>. )'; + basicSlideShow += hiddenURLs; + basicSlideShow += "</div><br/>"; + + return basicSlideShow; + }, + generateAlternativeContent : function () { + var altContentHTML = '<div id="altContent" style="text-align:center; margin: 0 0 0 0; padding: 0 0 0 0; background-color: #000; min-width:860px;">'; + altContentHTML += '<div align="center" style="width: 100%; padding-top:60px; '+this.FONT+'">'; + + var v = this.FLASH_VER; + var flashMessage; + if (v.major > 0) { // has some version of Flash + flashMessage = "update your Flash Player from version "+ v.major + '.' + v.minor + '.' + v.release + " to version 9.0.28 or newer"; + } else { + flashMessage = "install the most recent Flash Player"; + } + + var basicSlideShow = ""; + if (this.THE_FEED !== "") { // do this if we've loaded the feed in AJAX + basicSlideShow = this.getBasicSlideShowHTML(); + } + + var downloadPL = this.PL_URL; + var learnPL = this.LEARN_PL_URL; + var pid = this.ARGS.pid; + if (pid) { + downloadPL += pid + "/"; + learnPL += pid + "/"; + } else { + var x = "000000000001/"; + downloadPL += x; + learnPL += x; + } + + if (this.SHOW_LBOX) { + // don't show the image, because we will invoke lytebox immediately + } else { + var sp = "<span style='padding-left:25px; color:#C6C6C6; font-size:"; + altContentHTML += + "<div style='padding:10px;'>" + + sp+"1.5em; font-weight: bold; " +this.FONT+ "'>You're clicks away from going full screen!</span><br/>" + + sp+".9em; padding-bottom: 15px; " +this.FONT+ "'>You must get the <a href='"+downloadPL+"' style='color:#656588'>Cooliris</a> browser plugin, or "+flashMessage+".</span>" + + "</div>"; + if (!this.BUTTON_URL) { + altContentHTML += + '<a href="' + downloadPL + '" style="color:#ACD">Get Cooliris Now!</a>'; + } else { + var area = '<area shape="rect" coords='; + altContentHTML += + '<img src="'+this.BUTTON_URL+'" alt="" border="0" usemap="#Map">' + + '<map name="Map" id="Map">' + + area+'"0,0,33,33" href="#" onclick="javascript:PicLensLite.closeFlashUI();" />' + + area+'"35,35,325,325" href="' + downloadPL +'" />' + + area+'"593,209,825,301" href="' + this.FLASH_URL +'" />' + + area+'"327,148,448,178" href="' + learnPL +'" />' + + '</map>'; + } + } + + altContentHTML += '</div>'; + altContentHTML += basicSlideShow; + altContentHTML += '<div align="center" style="color:#666666; font-size:11px; '+this.FONT+'">© 2008 Cooliris, Inc. All trademarks are property of their respective holders.<br/><br/><br/></div>'; + altContentHTML += '</div>'; + return altContentHTML; + }, + generateFlashVars : function () { + var fv = ''; + var args = this.ARGS; + if (typeof args.guid !== 'undefined') { + fv += "&startItemGUID=" + args.guid; + } + if (args.loadFeedInFlash) { + fv += "&feedURL=" + encodeURIComponent(this.THE_FEED_URL); // may need crossdomain.xml to allow loading of feed + } + if (args.paused) { + fv += "&paused=" + args.paused; + } + if (args.loop) { + fv += "&loop=" + args.loop; + } + if (args.delay) { // seconds: from 1-10 + fv += "&delay=" + args.delay; + } + if (args.pid) { + fv += "&pid=" + args.pid; + } + if (typeof args.maxScale != 'undefined') { // allow 0 + fv += "&maxScale=" + args.maxScale; + } + if (typeof args.overlayToolbars != 'undefined') { + fv += "&overlayToolbars=" + args.overlayToolbars; + } + var cb = this.CUSTOM_BUTTON; + if (cb != null) { + fv += "&cButtonURL=" + encodeURIComponent(cb.targetURL); + if (cb.labelText != null) { + fv += "&cButtonLabel=" + encodeURIComponent(cb.labelText); + } + if (cb.iconImage != null) { + fv += "&cButtonIcon=" + encodeURIComponent(cb.iconImage); + } + } + fv += "&swfURL="+encodeURIComponent(this.LITE_URL); + fv = fv.substring(1); // kill the first & + return fv; + }, + // does the right thing for each browser + // returns the Flash object, so we can communicate with it over the ExternalInterface + getFlash : function () { + // we should determine which one to pass back depending on Browser/OS configuration + if (this.BROWSER_SAF || this.BROWSER_IE) { + return document.getElementById(this.FLASH_ID_1); // outer <object> + } else { + return document.getElementById(this.FLASH_ID_2); // inner <object> + } + }, + getWindowSize : function () { // inner size + var docElement = document.documentElement; + var docBody = document.body; + var w = 0, h = 0; + if (typeof(window.innerWidth) == 'number') { + // not IE + w = window.innerWidth; + h = window.innerHeight; + } else if (docElement && (docElement.clientWidth || docElement.clientHeight)) { + // IE 6+ in 'standards compliant mode' + w = docElement.clientWidth; + h = docElement.clientHeight; + } else if (docBody && (docBody.clientWidth || docBody.clientHeight)) { + // IE 4 compatible + w = docBody.clientWidth; + h = docBody.clientHeight; + } + return {w:w, h:h}; + }, + handleKeyPress : function (code) { + if (!this.isRunning()) { return true; } + var fl = this.getFlash(); + if (fl != null && fl.fl_keyPressed) { + fl.fl_keyPressed(code); // forward to Flash + } else { + if (code == 27) { // ESC to close + this.closeFlashUI(); + return false; + } + } + if (code == 9 || code == 13) { // trap tab, enter + return false; + } + return true; // allow the browser to process the key + }, + handleMouseWheel : function (e) { + // e.wheelDelta + // Safari/Windows (MouseWheel Up is +120; Down is -120) + var delta = 0; + if (!e) { + e = window.event; + } + if (e.wheelDelta) { // IE/Opera + delta = e.wheelDelta/120; + if (window.opera) { + delta = -delta; + } + } else if (e.detail) { // Firefox/Moz + var d = e.detail; + // on mac, don't divide by 3... + if (Math.abs(d) < 3) { + delta = -d; + } else { + delta = -d/3; + } + } + if (delta) { + // don't send abs values < 1; otherwise, you can only scroll next + PicLensLite.sendMouseScrollToFlash(delta); + } + if (e.preventDefault) { + e.preventDefault(); + } + e.returnValue = false; + return false; + }, + hasPicLensClient : function () { // DEPRECATED! Use hasClient() + return this.hasCooliris(); + }, + // check if Cooliris Client is available + hasCooliris : function () { + // a flag to turn off the client + if (this.DEBUG_NOCLIENT) { + return false; + } + + // check if the bridge has already been defined + var clientExists = false; + if (this.PLC) { + clientExists = true; + } else if (window.piclens && window.piclens.launch) { + this.PLC = window.piclens; + clientExists = true; + } else { // if not, try to define it here... + var context = null; + if (typeof PicLensContext != 'undefined') { // Firefox + context = new PicLensContext(); + } else { + try { + context = new ActiveXObject("PicLens.Context"); // IE + } catch (e) { + if (navigator.mimeTypes['application/x-cooliris']) { // Safari + context = document.createElement('object'); + context.style.display = 'none'; + context.width = 0; + context.height = 0; + context.type = 'application/x-cooliris'; + document.documentElement.appendChild(context); + } else { + context = null; + } + } + } + + this.PLC = context; + if (this.PLC) { + clientExists = true; + } + } + + if (clientExists) { // check the version number + if (this.BROWSER_SAF) { // for Safari, we just return true (the first v. was 1.8) + return true; + } + + var version; + try { version = this.PLC.version; } catch (e) { return false; } + + var parts = version.split('.'); // minimum ver. is: 1.6.0.824 + if (parts[0] > 1) { // a ver. 2.X product + return true; + } else if (parts[0] == 1) { // a 1.X product + if (parts[1] > 6) { // a 1.7.X product + return true; + } else if (parts[1] == 6) { // a 1.6 product + if (parts[2] > 0) { // a 1.6.1.X product + return true; + } else if (parts[2] == 0) { + if (parts[3] >= 824) { // 1.6.0.824 or newer... + return true; + } + } + } + } + return false; // a 0.X product + } else { + return false; + } + }, + invokeLytebox : function () { + this.SHOW_LBOX = true; // user has specified that she wants to use the basic slideshow + myLytebox.start(document.getElementById("lboxImage"), false, false); + this.closeFlashUI(); + }, + showLyteboxLink : function () { + myLytebox.updateLyteboxItems(); + myLytebox.doAnimations = false; + var lboxImages = document.getElementById('lightbox_images'); + if (lboxImages != null) { + lboxImages.style.display = "block"; + if (this.SHOW_LBOX && this.getFlash()==null) { // the user has clicked on lbox once, so we assume it going forward + this.invokeLytebox(); + } + } + }, + startLytebox : function () { // allows us to include lytebox, unmodified + if (typeof myLytebox != "undefined") { + this.showLyteboxLink(); + } else { + if (typeof initLytebox != "undefined") { + initLytebox(); + this.showLyteboxLink(); + } else { + if (this.LBOX_COUNT >= 4) { + return; // give up after 600 ms + } + setTimeout(function (){PicLensLite.startLytebox();}, 150); // try again in 150 ms + this.LBOX_COUNT++; + } + } + }, + injectFlashPlayer : function () { + var fg = this.LITE_FG_DIV; + + // determine the width and height of the flash component + var flashWInner; + var flashHInner; + flashWInner = flashHInner = '100%'; + if (this.BROWSER_IE6) { + flashWInner = flashHInner = '0'; + } + + var flashVars = this.generateFlashVars(); + var altContentHTML = this.generateAlternativeContent(); // non-flash content + + if (this.meetsReqs()) { + var par = '<param name='; + fg.innerHTML = + '<object id="'+ this.FLASH_ID_1 +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">' + // SAF & IE + par+'"movie" value="' + this.LITE_URL + '" />' + + par+'"quality" value="high"/> ' + + par+'"bgcolor" value="#000000"/> ' + + par+'"allowScriptAccess" value="always"/> ' + + par+'"FlashVars" value="' + flashVars + '"/> ' + + par+'"allowFullScreen" value="true"/> ' + + par+'"wmode" value="window"/> ' + + par+'"scale" value="noscale"/> ' + + '<object type="application/x-shockwave-flash" data="' + this.LITE_URL + '" width="'+flashWInner+'" height="'+flashHInner+'" ' + // NOT IE + 'quality="high" ' + + 'bgcolor="#000000" id="'+ this.FLASH_ID_2 + '" ' + + 'quality="high" ' + + 'FlashVars="' + flashVars + '" ' + + 'allowFullScreen="true" ' + + 'scale="noscale" ' + + 'wmode="window" ' + + 'allowScriptAccess="always">' + + altContentHTML + // IE + '</object>'+ // NOT IE + '</object>'; + } else { + if (this.ON_NO_PLUGINS) { + this.ON_NO_PLUGINS(); // callback instead of showing NoFlash.jpg + } else { + fg.innerHTML = altContentHTML; + fg.style.minWidth = "860px"; + fg.style.minHeight = "550px"; + } + } + + if (this.BROWSER_SAF) { + this.resizeUI(); // fixes layout + } + }, + // find the RSS feeds on this page, and return an array + indexFeeds : function () { + var linkTags = document.getElementsByTagName("link"); + var feeds = []; + for (var i = 0; i != linkTags.length; ++i) { + var link = linkTags[i], type = link.getAttribute("type"); + if (type == "application/rss+xml" || type == "text/xml") { + feeds.push({ title: link.getAttribute("title"), url: link.getAttribute("href") }); + } + } + return feeds; + }, + // once we get the response text, we launch flash + loadViaXHR : function (url) { + var self = this; + var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0"); + try { + request.open("GET", url, true); + request.onreadystatechange = function () { + if (request.readyState == 4) { + if ((request.status == 200 || request.status == 0)) { // 0 -> File System Testing + if (request.responseText) { + // at this point, we have the text + self.showFlashUI(request.responseText); + } + } else { + if (console) {console.log("PicLens Lite could not load the RSS Feed: " + url);} + } + } + }; + request.send(""); + } catch (err) { // probably a crossdomain issue, so ask flash to try loading + this.ARGS.loadFeedInFlash = true; + this.showFlashUI(""); + } + }, + meetsReqs : function () { + if (this.DEBUG_NOFLASH) { + return false; + } + // if IE7 and Flash detect returns v0, we show the Flash + var ie7FlashDetectionWorkaround = (this.FLASH_VER.major == 0) && this.BROWSER_IE; + var hasFlash = swfobjlite.hasFlashPlayerVersion("9.0.28"); + return hasFlash || ie7FlashDetectionWorkaround; + }, + removeChildren : function () { + this.REMOVE_TIMER_ID = 0; + // remove the divs after a timeout + if (this.LITE_BG_DIV !== null) { + document.body.removeChild(this.LITE_BG_DIV); + this.LITE_BG_DIV = null; + } + if (this.LITE_FG_DIV !== null) { + document.body.removeChild(this.LITE_FG_DIV); + this.LITE_FG_DIV = null; + } + }, + resizeFlashToFitPaddedBox : function () { + var flash = this.getFlash(); + if (flash) { + var size = this.getPageSize(); + var w = size.w - this.HPAD * 2; + var h = size.h - this.VPAD * 2; + flash.style.width = w; flash.style.height = h; + flash.width = w; flash.height = h; + } + }, + resizeToFitPaddedBox : function (s, size) { + if (typeof size == 'undefined') { + size = this.getPageSize(); + } + s.width = (size.w - this.HPAD * 2) + 'px'; + s.height = (size.h - this.VPAD * 2) + 'px'; + }, + resizeToPaddedBox : function (s) { + s.left = s.right = this.HPAD + 'px'; + s.top = s.bottom = this.VPAD + 'px'; + }, + resizeUI : function () { // resize handler for Safari + if (this.LITE_FG_DIV) { + var fgs = this.LITE_FG_DIV.style; + this.resizeToPaddedBox(fgs); + this.resizeToFitPaddedBox(fgs); + this.resizeFlashToFitPaddedBox(); + } + }, + setRunningFlag : function (flag) { + this.LITE_IS_RUNNING = flag; + this.piclensIsRunning_ = flag; + }, + setResizeHandler : function () { // for safari + if (!this.RESIZE_HANDLER_EXISTS && this.BROWSER_SAF) { + var self = this; + window.addEventListener('resize', function () { self.resizeUI(); }, false); + this.RESIZE_HANDLER_EXISTS = true; + } + }, + setResizeTimer : function () { // only do it for IE6... + if (this.BROWSER_IE6) { + this.RESIZE_TIMER_IE6 = setInterval(function () { PicLensLite.autoResize(); }, 1000); + } + }, + showFlashUI : function (feedText) { + this.THE_FEED = feedText; // is "" if we are loading the feed in Flash + this.findScriptLocation(); + this.createBackgroundOverlay(); + this.createForegroundFlashComponent(); + if (this.BROWSER_IE) { + this.appendElementsToDocument(); + } + this.injectFlashPlayer(); + if (!this.BROWSER_IE) { + // Win Firefox needs this to be last + // Other Browsers are OK with this + this.appendElementsToDocument(); + } + this.addKeyHandlers(); + this.addMouseHandlers(); + this.setRunningFlag(true); + this.setResizeTimer(); + this.setResizeHandler(); + this.startLytebox(); + }, + sendMouseScrollToFlash : function (delta) { + if (!this.isRunning()) { return; } + var fl = this.getFlash(); + if (fl != null && fl.fl_mouseMoved) { + fl.fl_mouseMoved(delta); + } + } + // don't end the last function with a comma; it messes up IE7 +}; + + + + +/* SWFObject v2.0 <http://code.google.com/p/swfobject/> / Copyright 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis / MIT License */ +var swfobjlite = function() { + var UNDEF = "undefined", + OBJECT = "object", + SHOCKWAVE_FLASH = "Shockwave Flash", + SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", + win = window, + doc = document, + nav = navigator; + + var ua = function() { + var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF && typeof doc.appendChild != UNDEF + && typeof doc.replaceChild != UNDEF && typeof doc.removeChild != UNDEF && typeof doc.cloneNode != UNDEF, + playerVersion = [0,0,0], + d = null; + if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { + d = nav.plugins[SHOCKWAVE_FLASH].description; + if (d) { + d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); + playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); + playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); + playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0; + } + } + else if (typeof win.ActiveXObject != UNDEF) { + var a = null, fp6Crash = false; + try { + a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7"); + } + catch(e) { + try { + a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6"); + playerVersion = [6,0,21]; + a.AllowScriptAccess = "always"; // Introduced in fp6.0.47 + } + catch(e) { + if (playerVersion[0] == 6) { + fp6Crash = true; + } + } + if (!fp6Crash) { + try { + a = new ActiveXObject(SHOCKWAVE_FLASH_AX); + } + catch(e) {} + } + } + if (!fp6Crash && a) { // a will return null when ActiveX is disabled + try { + d = a.GetVariable("$version"); // Will crash fp6.0.21/23/29 + if (d) { + d = d.split(" ")[1].split(","); + playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; + } + } + catch(e) {} + } + } + var u = nav.userAgent.toLowerCase(), + p = nav.platform.toLowerCase(), + webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit + ie = false, + windows = p ? /win/.test(p) : /win/.test(u), + mac = p ? /mac/.test(p) : /mac/.test(u); + /*@cc_on + ie = true; + @if (@_win32) + windows = true; + @elif (@_mac) + mac = true; + @end + @*/ + return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac }; + }(); + + return { // PUBLIC API + hasFlashPlayerVersion : function(rv) { + var pv = ua.pv, v = rv.split("."); + v[0] = parseInt(v[0], 10); + v[1] = parseInt(v[1], 10); + v[2] = parseInt(v[2], 10); + return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; + }, + getFlashPlayerVersion: function() { + return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; + } + }; +}(); + + + + + +/* BrowserDetect: http://www.quirksmode.org/js/detect.html */ +var BrowserDetect={ + init:function() { this.browser = this.searchString(this.dataBrowser) || "Unknown Browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown Version"; this.OS = this.searchString(this.dataOS) || "Unknown OS"; }, + searchString:function(data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) {return data[i].identity;} } else if (dataProp) { return data[i].identity; } } }, + searchVersion:function(dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) {return;} return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, + dataBrowser:[ + { string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" }, + { string: navigator.vendor, subString: "Apple", identity: "Safari" }, + { prop: window.opera, identity: "Opera" }, + { string: navigator.vendor, subString: "iCab", identity: "iCab" }, + { string: navigator.vendor, subString: "KDE", identity: "Konqueror" }, + { string: navigator.userAgent, subString: "Firefox", identity: "Firefox" }, + { string: navigator.vendor, subString: "Camino", identity: "Camino" }, + { string: navigator.userAgent, subString: "Netscape", identity: "Netscape" }, // newer Netscapes (6+) + { string: navigator.userAgent, subString: "MSIE", identity: "Explorer", versionSearch: "MSIE" }, + { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" }, + { string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla" } // older Netscapes (4-) + ], + dataOS:[{ string: navigator.platform, subString: "Win", identity: "Windows" }, { string: navigator.platform, subString: "Mac", identity: "Mac" }, { string: navigator.platform, subString: "Linux", identity: "Linux" } ] +}; +BrowserDetect.init(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens_optimized.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens_optimized.js new file mode 100644 index 000000000..b254ddb2a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lite/piclens_optimized.js @@ -0,0 +1,20 @@ +/* PicLens Lite: version 1.3.1 (14221) + * Copyright (c) 2008 Cooliris, Inc. All Rights Reserved. + * + * The JavaScript part of PicLens Lite (i.e., this file) is BSD licensed (see: http://lite.piclens.com/bsdlicense) + * This launcher includes and interacts with SWFObject (MIT), BrowserDetect (BSD Compatible), and Lytebox (CC Attribution 3.0). + * + * There are two versions of this JS: + * http://lite.piclens.com/current/piclens.js full commented file (~39KB) + * http://lite.piclens.com/current/piclens_optimized.js lighter deployment file (~21KB) + */ +var PicLensLite={start:function(B){this.determineBrowserParams();clearTimeout(this.REMOVE_TIMER_ID);clearTimeout(this.AUTO_CLOSE_TIMER_ID);this.ARGS={};if(typeof B!=="undefined"&&B!==null){this.ARGS=B;if(B.feedUrl){this.THE_FEED_URL=B.feedUrl;if(this.checkForPluginAndLaunchIfPossible(B.feedUrl,B.guid)){return }if(B.loadFeedInFlash){this.showFlashUI("")}else{this.loadViaXHR(B.feedUrl)}}if(typeof B.feedData!=="undefined"){this.showFlashUI(B.feedData)}}else{var A=this.indexFeeds();if(A.length!==0){var C=A[0];this.THE_FEED_URL=C.url;if(this.checkForPluginAndLaunchIfPossible(C.url)){return }this.loadViaXHR(C.url)}}},isRunning:function(){return this.LITE_IS_RUNNING},hasClient:function(){return this.hasCooliris()},addCustomButton:function(C,B,A){this.CUSTOM_BUTTON={targetURL:C,labelText:B,iconImage:A}},setCallbacks:function(A){if(A.onNoPlugins){this.ON_NO_PLUGINS=A.onNoPlugins}if(A.onExit){this.ON_EXIT=A.onExit}},setLiteURLs:function(A){if(!this.LITE_URL){if(A.swf){this.LITE_URL=A.swf}else{if(A.lite){this.LITE_URL=A.lite+"PicLensLite.swf"}}}if(!this.BUTTON_URL){if(A.button){this.BUTTON_URL=A.button}else{if(A.lite){this.BUTTON_URL=A.lite+"NoFlash.jpg"}}}var B="";if(A.lbox){B=A.lbox}else{if(A.lite){B=A.lite+"../lytebox/"}}if(!this.LBOX_CSS_URL){if(A.lboxcss){this.LBOX_CSS_URL=A.lboxcss}else{if(B!=""){this.LBOX_CSS_URL=B+"lytebox.css"}}}if(!this.LBOX_JS_URL){if(A.lboxjs){this.LBOX_JS_URL=A.lboxjs}else{if(B!=""){this.LBOX_JS_URL=B+"lytebox.js"}}}},ARGS:{},DEBUG_NOCLIENT:false,DEBUG_NOFLASH:false,HPAD:60,VPAD:20,LITE_BG_DIV:null,LITE_FG_DIV:null,LITE_URL:null,BUTTON_URL:null,LBOX_CSS_URL:null,LBOX_JS_URL:null,LBOX_COUNT:0,SHOW_LBOX:false,OS_WIN:false,OS_MAC:false,BROWSER_FFX:false,BROWSER_SAF:false,BROWSER_IE:false,BROWSER_IE6:false,OLD_B_MARGIN:null,OLD_B_OVERFLOW:null,OLD_B_HEIGHT:null,OLD_H_OVERFLOW:null,OLD_H_HEIGHT:null,THE_FEED:"",THE_FEED_URL:"",LITE_IS_RUNNING:false,piclensIsRunning_:false,FLASH_ID_1:"pllflash1",FLASH_ID_2:"pllflash2",FLASH_VER:null,FLASH_URL:"http://www.adobe.com/go/getflashplayer",PL_URL:"http://download.piclens.com/partner/",PLC:null,LEARN_PL_URL:"http://affiliate.piclens.com/partner/",FONT:"font-family: Lucida Grande, Myriad Pro, Verdana, Helvetica, Arial, sans-serif;",KEY_HANDLERS:"",ON_NO_PLUGINS:null,ON_EXIT:null,AUTO_CLOSE_TIMER_ID:0,REMOVE_TIMER_ID:0,RESIZE_TIMER_IE6:null,RESIZE_HANDLER_EXISTS:false,CUSTOM_BUTTON:null,addKeyHandlers:function(){var A=this;if(typeof document.onkeydown!=="undefined"){this.KEY_HANDLERS=document.onkeydown}document.onkeydown=function(C){var B;if(typeof C==="undefined"||C===null){B=window.event.keyCode}else{B=C.which}var D=A.handleKeyPress(B);if(typeof C!="undefined"&&C!=null){C.returnValue=D}return D}},addMouseHandlers:function(){if(window.addEventListener){window.addEventListener("DOMMouseScroll",this.handleMouseWheel,false)}else{if(document.attachEvent){document.attachEvent("onmousewheel",this.handleMouseWheel)}}window.onmousewheel=document.onmousewheel=this.handleMouseWheel},appendElementsToDocument:function(){if(this.BROWSER_FFX&&this.OS_MAC){this.LITE_BG_DIV.style.display="none"}document.body.appendChild(this.LITE_BG_DIV);document.body.appendChild(this.LITE_FG_DIV)},autoResize:function(){if(!this.isRunning()){clearInterval(this.RESIZE_TIMER_IE6);return }var C=this.getPageSize();var B=this.LITE_BG_DIV;if(B){B.style.height=C.h+"px";B.style.width=C.w+"px"}if(this.LITE_FG_DIV){var A=this.LITE_FG_DIV.style;this.resizeToPaddedBox(A);this.resizeToFitPaddedBox(A,C);this.resizeFlashToFitPaddedBox()}},checkForPluginAndLaunchIfPossible:function(B,A){if(this.hasCooliris()){if(typeof (A)!="undefined"){this.PLC.launch(B,"uid",A)}else{this.PLC.launch(B,"","")}return true}return false},createBackgroundOverlay:function(){var D=document.createElement("div");this.LITE_BG_DIV=D;D.id="lite_bg_div";var E=D.style;E.position="fixed";E.width=E.height="100%";if(this.BROWSER_IE6){var A=document.body;var C=A.currentStyle;var H=document.documentElement;var G=H.currentStyle;this.OLD_B_MARGIN=C.margin;this.OLD_B_OVERFLOW=C.overflow;this.OLD_B_HEIGHT=C.height;this.OLD_H_OVERFLOW=G.overflow;this.OLD_H_HEIGHT=G.height;this.OLD_SCROLL_Y=H.scrollTop;A.style.margin="0";A.style.overflow="auto";A.style.height="100%";H.style.overflow="auto";H.style.height="100%";E.position="absolute";var F=this.getPageSize();E.height=F.h+"px";E.width=F.w+"px"}E.left=E.right=E.top=E.bottom="0";E.backgroundColor="#000";E.zIndex=1000;E.opacity="0.5";E.filter="alpha(opacity=50)";var B=this;D.onclick=function(){B.exitPicLensLite()}},createForegroundFlashComponent:function(){var B=document.createElement("div");this.LITE_FG_DIV=B;B.id="lite_fg_div";var A=B.style;A.backgroundColor="#000";A.position="fixed";A.border="2px solid #555";A.zIndex=1001;this.resizeToPaddedBox(A);if(this.BROWSER_IE6){A.position="absolute";this.resizeToFitPaddedBox(A)}},closeFlashUI:function(C){var B=document;B.onkeydown=this.KEY_HANDLERS;window.onmousewheel=B.onmousewheel="";if(window.removeEventListener){window.removeEventListener("DOMMouseScroll",this.handleMouseWheel,false)}if(B.detachEvent){B.detachEvent("onmousewheel",this.handleMouseWheel)}this.LITE_BG_DIV.style.display=this.LITE_FG_DIV.style.display="none";this.REMOVE_TIMER_ID=setTimeout(function(){PicLensLite.removeChildren()},150);if(this.BROWSER_IE6){var A=document.body;var D=document.documentElement;A.style.margin=this.OLD_B_MARGIN;A.style.overflow=this.OLD_B_OVERFLOW;A.style.height=this.OLD_B_HEIGHT;D.style.overflow=this.OLD_H_OVERFLOW;D.style.height=this.OLD_H_HEIGHT;window.scrollTo(0,this.OLD_SCROLL_Y)}if(this.ON_EXIT!==null){this.ON_EXIT(C)}this.setRunningFlag(false)},determineBrowserParams:function(){var B=BrowserDetect.OS;var A=BrowserDetect.browser;this.OS_MAC=(B=="Mac");this.OS_WIN=(B=="Windows");this.BROWSER_FFX=(A=="Firefox");this.BROWSER_SAF=(A=="Safari");this.BROWSER_IE=(A=="Explorer");this.BROWSER_IE6=(this.BROWSER_IE&&BrowserDetect.version=="6");this.FLASH_VER=swfobjlite.getFlashPlayerVersion()},exitPicLensLite:function(){var A=this.getFlash();if(A!==null&&A.fl_exitPicLensLite){A.fl_exitPicLensLite();this.AUTO_CLOSE_TIMER_ID=setTimeout(function(){if(PicLensLite.isRunning()){PicLensLite.closeFlashUI()}},500)}else{this.closeFlashUI()}},findScriptLocation:function(){var E=document.getElementsByTagName("script");for(var C=0;C!=E.length;++C){var A=E[C];var D=A.getAttribute("type");if(D=="text/javascript"){var F=A.getAttribute("src");if(F===null){continue}var B=F.indexOf("piclens.js");if(B!=-1){this.setLiteURLs({lite:F.substring(0,B)});return }else{B=F.indexOf("piclens_optimized.js");if(B!=-1){this.setLiteURLs({lite:F.substring(0,B)});return }}}}},getPageSize:function(){var J,F,G,C;var I=document;var E=I.body;var D;if(window.innerHeight&&window.scrollMaxY){J=I.scrollWidth;F=(this.isFrame?parent.innerHeight:self.innerHeight)+(this.isFrame?parent.scrollMaxY:self.scrollMaxY)}else{if(E.scrollHeight>E.offsetHeight){J=E.scrollWidth;F=E.scrollHeight}else{D=I.getElementsByTagName("html").item(0);J=D.offsetWidth;F=D.offsetHeight;J=(J<E.offsetWidth)?E.offsetWidth:J;F=(F<E.offsetHeight)?E.offsetHeight:F}}var A=I.documentElement;if(self.innerHeight){G=(this.isFrame)?parent.innerWidth:self.innerWidth;C=(this.isFrame)?parent.innerHeight:self.innerHeight}else{if(A&&A.clientHeight){G=A.clientWidth;C=A.clientHeight}else{if(E){D=I.getElementsByTagName("html").item(0);G=D.clientWidth;C=D.clientHeight;G=(G==0)?E.clientWidth:G;C=(C==0)?E.clientHeight:C}}}var B=(F<C)?C:F;var H=(J<G)?G:J;return{pw:H,ph:B,w:G,h:C}},getElementsFromXMLFeed:function(){var B;if(window.ActiveXObject){B=new ActiveXObject("Microsoft.XMLDOM");B.async=false;B.loadXML(PicLensLite.THE_FEED)}else{var C=new DOMParser();B=C.parseFromString(PicLensLite.THE_FEED,"text/xml")}var A=B.getElementsByTagName("*");return A},getBasicSlideShowHTML:function(){if(!this.LBOX_JS_URL||!this.LBOX_CSS_URL){return""}var D=document.getElementsByTagName("head").item(0);var A=document.createElement("script");A.src=this.LBOX_JS_URL;A.type="text/javascript";D.appendChild(A);var G=document.createElement("link");G.rel="stylesheet";G.href=this.LBOX_CSS_URL;G.type="text/css";G.media="screen";D.appendChild(G);var F=this.getElementsFromXMLFeed();var C;var H="";for(C=0;C<F.length;C++){if(F[C].nodeName=="media:content"){var B=F[C].getAttribute("url");if(B.indexOf(".flv")==-1){H+='<a id="lboxImage" href="'+B+'" rel="lytebox[lite]"></a> '}}}var E="<div id='lightbox_images' align='center' style='display: none; padding-top:10px; color:#FFFFFF; font-size:.8em; "+this.FONT+" color:#999999;'>";E+='( Alternatively, <a onclick="javascript:PicLensLite.invokeLytebox();return false;" href="#" style="color:#656588">click here for a basic slideshow</a>. )';E+=H;E+="</div><br/>";return E},generateAlternativeContent:function(){var J='<div id="altContent" style="text-align:center; margin: 0 0 0 0; padding: 0 0 0 0; background-color: #000; min-width:860px;">';J+='<div align="center" style="width: 100%; padding-top:60px; '+this.FONT+'">';var I=this.FLASH_VER;var G;if(I.major>0){G="update your Flash Player from version "+I.major+"."+I.minor+"."+I.release+" to version 9.0.28 or newer"}else{G="install the most recent Flash Player"}var D="";if(this.THE_FEED!==""){D=this.getBasicSlideShowHTML()}var A=this.PL_URL;var E=this.LEARN_PL_URL;var F=this.ARGS.pid;if(F){A+=F+"/";E+=F+"/"}else{var H="000000000001/";A+=H;E+=H}if(this.SHOW_LBOX){}else{var C="<span style='padding-left:25px; color:#C6C6C6; font-size:";J+="<div style='padding:10px;'>"+C+"1.5em; font-weight: bold; "+this.FONT+"'>You're clicks away from going full screen!</span><br/>"+C+".9em; padding-bottom: 15px; "+this.FONT+"'>You must get the <a href='"+A+"' style='color:#656588'>Cooliris</a> browser plugin, or "+G+".</span></div>";if(!this.BUTTON_URL){J+='<a href="'+A+'" style="color:#ACD">Get Cooliris Now!</a>'}else{var B='<area shape="rect" coords=';J+='<img src="'+this.BUTTON_URL+'" alt="" border="0" usemap="#Map"><map name="Map" id="Map">'+B+'"0,0,33,33" href="#" onclick="javascript:PicLensLite.closeFlashUI();" />'+B+'"35,35,325,325" href="'+A+'" />'+B+'"593,209,825,301" href="'+this.FLASH_URL+'" />'+B+'"327,148,448,178" href="'+E+'" /></map>'}}J+="</div>";J+=D;J+='<div align="center" style="color:#666666; font-size:11px; '+this.FONT+'">© 2008 Cooliris, Inc. All trademarks are property of their respective holders.<br/><br/><br/></div>';J+="</div>";return J},generateFlashVars:function(){var C="";var B=this.ARGS;if(typeof B.guid!=="undefined"){C+="&startItemGUID="+B.guid}if(B.loadFeedInFlash){C+="&feedURL="+encodeURIComponent(this.THE_FEED_URL)}if(B.paused){C+="&paused="+B.paused}if(B.loop){C+="&loop="+B.loop}if(B.delay){C+="&delay="+B.delay}if(B.pid){C+="&pid="+B.pid}if(typeof B.maxScale!="undefined"){C+="&maxScale="+B.maxScale}if(typeof B.overlayToolbars!="undefined"){C+="&overlayToolbars="+B.overlayToolbars}var A=this.CUSTOM_BUTTON;if(A!=null){C+="&cButtonURL="+encodeURIComponent(A.targetURL);if(A.labelText!=null){C+="&cButtonLabel="+encodeURIComponent(A.labelText)}if(A.iconImage!=null){C+="&cButtonIcon="+encodeURIComponent(A.iconImage)}}C+="&swfURL="+encodeURIComponent(this.LITE_URL);C=C.substring(1);return C},getFlash:function(){if(this.BROWSER_SAF||this.BROWSER_IE){return document.getElementById(this.FLASH_ID_1)}else{return document.getElementById(this.FLASH_ID_2)}},getWindowSize:function(){var B=document.documentElement;var D=document.body;var A=0,C=0;if(typeof (window.innerWidth)=="number"){A=window.innerWidth;C=window.innerHeight}else{if(B&&(B.clientWidth||B.clientHeight)){A=B.clientWidth;C=B.clientHeight}else{if(D&&(D.clientWidth||D.clientHeight)){A=D.clientWidth;C=D.clientHeight}}}return{w:A,h:C}},handleKeyPress:function(A){if(!this.isRunning()){return true}var B=this.getFlash();if(B!=null&&B.fl_keyPressed){B.fl_keyPressed(A)}else{if(A==27){this.closeFlashUI();return false}}if(A==9||A==13){return false}return true},handleMouseWheel:function(A){var C=0;if(!A){A=window.event}if(A.wheelDelta){C=A.wheelDelta/120;if(window.opera){C=-C}}else{if(A.detail){var B=A.detail;if(Math.abs(B)<3){C=-B}else{C=-B/3}}}if(C){PicLensLite.sendMouseScrollToFlash(C)}if(A.preventDefault){A.preventDefault()}A.returnValue=false;return false},hasPicLensClient:function(){return this.hasCooliris()},hasCooliris:function(){if(this.DEBUG_NOCLIENT){return false}var E=false;if(this.PLC){E=true}else{if(window.piclens&&window.piclens.launch){this.PLC=window.piclens;E=true}else{var B=null;if(typeof PicLensContext!="undefined"){B=new PicLensContext()}else{try{B=new ActiveXObject("PicLens.Context")}catch(D){if(navigator.mimeTypes["application/x-cooliris"]){B=document.createElement("object");B.style.display="none";B.width=0;B.height=0;B.type="application/x-cooliris";document.documentElement.appendChild(B)}else{B=null}}}this.PLC=B;if(this.PLC){E=true}}}if(E){if(this.BROWSER_SAF){return true}var A;try{A=this.PLC.version}catch(D){return false}var C=A.split(".");if(C[0]>1){return true}else{if(C[0]==1){if(C[1]>6){return true}else{if(C[1]==6){if(C[2]>0){return true}else{if(C[2]==0){if(C[3]>=824){return true}}}}}}}return false}else{return false}},invokeLytebox:function(){this.SHOW_LBOX=true;myLytebox.start(document.getElementById("lboxImage"),false,false);this.closeFlashUI()},showLyteboxLink:function(){myLytebox.updateLyteboxItems();myLytebox.doAnimations=false;var A=document.getElementById("lightbox_images");if(A!=null){A.style.display="block";if(this.SHOW_LBOX&&this.getFlash()==null){this.invokeLytebox()}}},startLytebox:function(){if(typeof myLytebox!="undefined"){this.showLyteboxLink()}else{if(typeof initLytebox!="undefined"){initLytebox();this.showLyteboxLink()}else{if(this.LBOX_COUNT>=4){return }setTimeout(function(){PicLensLite.startLytebox()},150);this.LBOX_COUNT++}}},injectFlashPlayer:function(){var A=this.LITE_FG_DIV;var D;var F;D=F="100%";if(this.BROWSER_IE6){D=F="0"}var E=this.generateFlashVars();var B=this.generateAlternativeContent();if(this.meetsReqs()){var C="<param name=";A.innerHTML='<object id="'+this.FLASH_ID_1+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">'+C+'"movie" value="'+this.LITE_URL+'" />'+C+'"quality" value="high"/> '+C+'"bgcolor" value="#000000"/> '+C+'"allowScriptAccess" value="always"/> '+C+'"FlashVars" value="'+E+'"/> '+C+'"allowFullScreen" value="true"/> '+C+'"wmode" value="window"/> '+C+'"scale" value="noscale"/> <object type="application/x-shockwave-flash" data="'+this.LITE_URL+'" width="'+D+'" height="'+F+'" quality="high" bgcolor="#000000" id="'+this.FLASH_ID_2+'" quality="high" FlashVars="'+E+'" allowFullScreen="true" scale="noscale" wmode="window" allowScriptAccess="always">'+B+"</object></object>"}else{if(this.ON_NO_PLUGINS){this.ON_NO_PLUGINS()}else{A.innerHTML=B;A.style.minWidth="860px";A.style.minHeight="550px"}}if(this.BROWSER_SAF){this.resizeUI()}},indexFeeds:function(){var E=document.getElementsByTagName("link");var A=[];for(var B=0;B!=E.length;++B){var D=E[B],C=D.getAttribute("type");if(C=="application/rss+xml"||C=="text/xml"){A.push({title:D.getAttribute("title"),url:D.getAttribute("href")})}}return A},loadViaXHR:function(B){var A=this;var D=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("MSXML2.XMLHTTP.3.0");try{D.open("GET",B,true);D.onreadystatechange=function(){if(D.readyState==4){if((D.status==200||D.status==0)){if(D.responseText){A.showFlashUI(D.responseText)}}else{if(console){console.log("PicLens Lite could not load the RSS Feed: "+B)}}}};D.send("")}catch(C){this.ARGS.loadFeedInFlash=true;this.showFlashUI("")}},meetsReqs:function(){if(this.DEBUG_NOFLASH){return false}var B=(this.FLASH_VER.major==0)&&this.BROWSER_IE;var A=swfobjlite.hasFlashPlayerVersion("9.0.28");return A||B},removeChildren:function(){this.REMOVE_TIMER_ID=0;if(this.LITE_BG_DIV!==null){document.body.removeChild(this.LITE_BG_DIV);this.LITE_BG_DIV=null}if(this.LITE_FG_DIV!==null){document.body.removeChild(this.LITE_FG_DIV);this.LITE_FG_DIV=null}},resizeFlashToFitPaddedBox:function(){var B=this.getFlash();if(B){var C=this.getPageSize();var A=C.w-this.HPAD*2;var D=C.h-this.VPAD*2;B.style.width=A;B.style.height=D;B.width=A;B.height=D}},resizeToFitPaddedBox:function(B,A){if(typeof A=="undefined"){A=this.getPageSize()}B.width=(A.w-this.HPAD*2)+"px";B.height=(A.h-this.VPAD*2)+"px"},resizeToPaddedBox:function(A){A.left=A.right=this.HPAD+"px";A.top=A.bottom=this.VPAD+"px"},resizeUI:function(){if(this.LITE_FG_DIV){var A=this.LITE_FG_DIV.style;this.resizeToPaddedBox(A);this.resizeToFitPaddedBox(A);this.resizeFlashToFitPaddedBox()}},setRunningFlag:function(A){this.LITE_IS_RUNNING=A;this.piclensIsRunning_=A},setResizeHandler:function(){if(!this.RESIZE_HANDLER_EXISTS&&this.BROWSER_SAF){var A=this;window.addEventListener("resize",function(){A.resizeUI()},false);this.RESIZE_HANDLER_EXISTS=true}},setResizeTimer:function(){if(this.BROWSER_IE6){this.RESIZE_TIMER_IE6=setInterval(function(){PicLensLite.autoResize()},1000)}},showFlashUI:function(A){this.THE_FEED=A;this.findScriptLocation();this.createBackgroundOverlay();this.createForegroundFlashComponent();if(this.BROWSER_IE){this.appendElementsToDocument()}this.injectFlashPlayer();if(!this.BROWSER_IE){this.appendElementsToDocument()}this.addKeyHandlers();this.addMouseHandlers();this.setRunningFlag(true);this.setResizeTimer();this.setResizeHandler();this.startLytebox()},sendMouseScrollToFlash:function(B){if(!this.isRunning()){return }var A=this.getFlash();if(A!=null&&A.fl_mouseMoved){A.fl_mouseMoved(B)}}};var swfobjlite=function(){var UNDEF="undefined",OBJECT="object",SHOCKWAVE_FLASH="Shockwave Flash",SHOCKWAVE_FLASH_AX="ShockwaveFlash.ShockwaveFlash",win=window,doc=document,nav=navigator;var ua=function(){var w3cdom=typeof doc.getElementById!=UNDEF&&typeof doc.getElementsByTagName!=UNDEF&&typeof doc.createElement!=UNDEF&&typeof doc.appendChild!=UNDEF&&typeof doc.replaceChild!=UNDEF&&typeof doc.removeChild!=UNDEF&&typeof doc.cloneNode!=UNDEF,playerVersion=[0,0,0],d=null;if(typeof nav.plugins!=UNDEF&&typeof nav.plugins[SHOCKWAVE_FLASH]==OBJECT){d=nav.plugins[SHOCKWAVE_FLASH].description;if(d){d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);playerVersion[2]=/r/.test(d)?parseInt(d.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof win.ActiveXObject!=UNDEF){var a=null,fp6Crash=false;try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".7")}catch(e){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".6");playerVersion=[6,0,21];a.AllowScriptAccess="always"}catch(e){if(playerVersion[0]==6){fp6Crash=true}}if(!fp6Crash){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX)}catch(e){}}}if(!fp6Crash&&a){try{d=a.GetVariable("$version");if(d){d=d.split(" ")[1].split(",");playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)]}}catch(e){}}}}var u=nav.userAgent.toLowerCase(),p=nav.platform.toLowerCase(),webkit=/webkit/.test(u)?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ie=false,windows=p?/win/.test(p):/win/.test(u),mac=p?/mac/.test(p):/mac/.test(u); +/*@cc_on + ie = true; + @if (@_win32) + windows = true; + @elif (@_mac) + mac = true; + @end + @*/ +return{w3cdom:w3cdom,pv:playerVersion,webkit:webkit,ie:ie,win:windows,mac:mac}}();return{hasFlashPlayerVersion:function(rv){var pv=ua.pv,v=rv.split(".");v[0]=parseInt(v[0],10);v[1]=parseInt(v[1],10);v[2]=parseInt(v[2],10);return(pv[0]>v[0]||(pv[0]==v[0]&&pv[1]>v[1])||(pv[0]==v[0]&&pv[1]==v[1]&&pv[2]>=v[2]))?true:false},getFlashPlayerVersion:function(){return{major:ua.pv[0],minor:ua.pv[1],release:ua.pv[2]}}}}();var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"Unknown Browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"Unknown Version";this.OS=this.searchString(this.dataOS)||"Unknown OS"},searchString:function(D){for(var A=0;A<D.length;A++){var B=D[A].string;var C=D[A].prop;this.versionSearchString=D[A].versionSearch||D[A].identity;if(B){if(B.indexOf(D[A].subString)!=-1){return D[A].identity}}else{if(C){return D[A].identity}}}},searchVersion:function(B){var A=B.indexOf(this.versionSearchString);if(A==-1){return }return parseFloat(B.substring(A+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/blank.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 ucmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ|~c3=BFT0wlx0#N@)rU=0A%AqP7E literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_blue.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..297368c821c5cf9fa2f9ec3294a3ff4410238667 GIT binary patch literal 1788 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 I&MBb@03&)%IRF3v literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_gold.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b847694285ee99bead9f76ced1fe468c92ff66 GIT binary patch literal 1652 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 RDh37y22WQ%mvv4FO#lU@`>X%} literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_green.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_green.png new file mode 100644 index 0000000000000000000000000000000000000000..83909e2d766a2002e239a69fb0a7ed2e1dc74b9e GIT binary patch literal 1525 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_grey.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..bc83ac55ef79ac1f8e27c8cdd8b2fba16cf2de8c GIT binary patch literal 1715 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_red.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/close_red.png new file mode 100644 index 0000000000000000000000000000000000000000..3d835bb305b2ebcf9a876055d53a8a0aef7623b4 GIT binary patch literal 1525 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/loading.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..f864d5fd38b7466c76b5a36dc0e3e9455c0126e2 GIT binary patch literal 2767 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 Cg1uh= literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_blue.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..4666e44d3555af0c91cf467c1a94d229fd3d5cf6 GIT binary patch literal 733 zcmZ?wbhEHbv}aIYc*el+|NsAwUw?o4`upRTUmw2w`tbSZ)7L*9zx?*_#n<Z(zg)ii z;q;A<r>=iEdF}m)tM86qd3)^go1>RrAG!GI@P$_g&%fM$;>Cs|uht)ax%S}mRr{VS z+x1}D#>Z3EKb*Ao{)E+c`&QoWS$?Z)>5Y!X*V-0dX_<eia`vr~X;<?n-^ibMF{|fH zQrFdt&QmEJ=Mvk_#J69LY&;uQdn&l<xL@U&fbt{0B?r9<_q*lovC27Ro^jkPWuIR1 zakHdt`iTd$;*Y3BA5f3nsT96PC2X5|*habF9a8>V#k@BPxv%AOUd3s@?EnA&41*ph z{$ycfXYgdu0l5?uCk*WW8$3N3T3XxMJ370%dpeqXCrq3)dCJsj(`U?_HG9t7dGi-6 zT(o$}(q+q6EVL49mA2w$SZB3)GlRN0TML`HI)m1h1JVm@EjU|bY<U<?sLGs^VPLY* zYtge{Vh}&4XM0xW)O<TTBSr>UJKkq6Iwb5Q-b%DTf4Ruvn;L_h1K-czo%%KvdmNVZ z&tIWv5W#cuL*fZ$2Htj$KM5}yjxcvf*@?KS9BYuVj}mBPU|<mxQE-@`6Vk{rk*mXJ z9ZzTq8w0CrksE`+q7&zwS(?tw5NtWHaGt%h<U&V}W<g~khK`0VjaESxj-DkJCZ?-a zD4TMvwJ>5l(4nmDwnCOM;gI0AG^>+RR?%T1Lei~VZx%2#uuR(Dz|C<pF{6C~Q|q5k lzDIX#OlD|M{$J~}bJNq)GmNwE`MeZNcWbgU=3-&61^`J+5FY>l literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_gold.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_gold.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5ba21f5cf44fd06e65d30739e06c3087b2c2925 GIT binary patch literal 732 zcmZ?wbhEHbv}aIYc*el+|NsA=Ki~iO@&5bw_usy~|MKPj$B*~lzrX+P-T4<U&cAxK z|HX^_&!6vq`gH%3C;J~g+W+9e{`>d$-@Uv4{{8uP?(DyNcmD0$>u=qff9=}*D_80- zUaUWVe*U?0^`}qQpEyx}^l1IDWATR$)gL+Hzkh%IzJ2j~_SEm+Z@+VA{jOd1+qcJW z+2X%`ef)+E{u?*iZ`h!}cCG#D)$!}s^RHN8zj7u2s#Oe&7u(ODZ@**-!>n2M^X4(k zoy$LKmi)A7_S2^`OrFd?X%a(kuYOMte@_oXON)GKD?@!fLuDmHaWTkW3_}4Z{$ycf zXYgRq0XY^FCk*WW8$3K1T3XxMJ370%dpeqXCrq3)dCJsj(`U?_HG9t7dGi-6T(o$} z(q+q6EHn{rl{DdESZA_%GlP;LYYVHP5`)^71Ck5OjX7GR%()p(C`g@?Vqi4ZXwfic zWDq^4VSZNX)O<@zy&E!?JPglXw2NDczZGwPwb=Hn3WKaI?~h-dx>i<E3a7UFU+EXu zs!RCr;V>gZo4rz%L5jj6Mi(C0E+Hl71AOv2EjA1v96h@D<=w<KDY$g7x~PV>DFrb* zFezCmGH^J$JYUG@n01B2=z)O${DoaN6t*n%n8?B4X5+eL(TPT8*D#q$T%l70Wm*#? zCNeB&5tLB9G>t*w;E7wCk}Y{>s%pRD=yzgi2w*69)Ny}5OB;hBOA1G$Q|<R<QD=4- gHte79*J_^6&P`8G&oItj_9equ*>RpED-(k?0KTmY!2kdN literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_green.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_green.gif new file mode 100644 index 0000000000000000000000000000000000000000..85a1433b83d52854dd7b968c66e05e12a7da37fd GIT binary patch literal 732 zcmZ?wbhEHbv}aIYc*el+|NsB@-`>Cf`u_cw_wPTyzyJRJ{nz*Jzr26`>G|{b&+ost zfB)_M`|s@Ee{=u-8~gWP+rR(H{{5Ht@4vWz|M~sv&#a$+ZvOn!^XH$OKmW-5`FrNq z@2#)jRbRiozJ7Ck{f7Gbwe|HY>+6@**DtQGUr-;vB0hdWy#G@F_!;r>6XNaX*!xfR zkMD`MpKkBp=WpL@Z{KNe-(s)drEgznZ(n6^Ut-VS!f#(-&tJ>WP{SafFVA1dub-mN zP|CoN&%mF`&yc|&A0f{l$Ip<&z!1&A5W>LV$H3suz~Bh-7sF5hia%Kx*%>?-bU=;; z#R&uZ{{{~ahL+a0_Kwc3?w*e3-U$;YO`bA!+VmMSXU(27ci#L33l}Y3vUJ(<6$>py zTcs?x7}i;A-prt8%G$zes>YzX<$%-z8*`2pX&WAf6Drc@q!}2^by{@H85zXR>DZi= zJ~iLg*6@amEjPon7wzJ<;%~*<UoE!(s>&d1&->$7r=FEnjKZny{!=E1YqcbNP&mTK z(B`C6Wsst<h|z^dwo8i1*?~`9x6Ov(L*j`}et9>sMFuGxtS+jdZAwba4opfGiVO^n zF3%S-I;Nc9FnS>1KYwA@8HFheJtlH6IN7+iEIQH1>>405i7Rx9pj2y^#6$*%mWiTD zm%11f4xYHRDcO>DrmFU<j$S90G9LzmM;-U~voyRh*uu=w=v4cCS=5;wh7J2C{I#0r Zvvbqa(=&{-mwm}FR(6~x$;!lF4FDZj?D_xz literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_grey.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_grey.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1773cd195fe982a3e7911d3ff09cc6c21885a6c GIT binary patch literal 731 zcmZ?wbhEHbv}aIYc*el+|NsB*-@kwR_U-G}uV21=`TY6w`}gnPym|BT<;!Q!p54EH z|K7cOckbM|b?erR8#k_Bzkc=V)ytPJU%Ytn!i5WG&z?PX>eSJrM-Lo0uy^m?J$v@- z+_`h>)~%a1ZCby6{hBpvR<B;YV#SIjOO`BNym;Zlg$ouem_2*;)TvV^O`0@u;=~CP zCiM39c6WDobab@0w>LF4H8wWZ)YMc}Rh5;Mm6nzk7Z(>56%`g1=H%pLWMrhJrKP5( zCMG7v$HzxSMTLil2L=XudU`rLJOBUxpJ8YM#h)yU><mr}Iw0qR;)H?ye}j_~LrZI0 zdq-zicTY!i?}UkyCQq3<ZTgIvvu4kkJ8%Aig^Lz1S-NcbiiP^Zt>XGz4D0kaZ)Q-? zVQXR2QD9KnazK26p&n<8q#-xM2|3Agk_?P`sx7K|j0_^@R1MEco|<oBqQ%4@Wy169 zMTe+~=v&eD=PwtTe^X+RHs}5MyHnFRZHdE@{`nfR+CDEf9B^!BX5cOLc#`m<;Rthw zl%2@Y#YY>YECN1MFf3s17m~G_pySfW&d=51vySKKV^#)MyCNrs4+oE*b7m<!bIb8T z!1?(L>kcTiJUrgdv2C7`)kkK=CV6$f#tB+n9X(E34IT^vOdVYU8O{t77+iECH?~=v z>Jt?`;<k{<GNPB`(DwXBIZK|WF9H`_hznaOq#eh@(DC?qzohp(pPieYo}OVGT(xB8 M#0BSim>3zX0sJBc)Bpeg literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_red.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/next_red.gif new file mode 100644 index 0000000000000000000000000000000000000000..4ddff3daec5c54af69221f9c082172f5ec21f74f GIT binary patch literal 732 zcmZ?wbhEHbv}aIYc*el+|NsA=@8AD^|Nh(i_dnjh|9SuZm;3iW+`s?j{Q1}C&wtpz z|I_~c@AmJ1y?_6+{rg|;-~VL){zv=w-`~Ig?*9D`)~|mvfBwt)^PkS2e{cT$%k$?y ztFM1pUw@~*{ziTM<@)+__4Oy~>yOmeAE>Y2U0;7IKK@*M{Gs^xZSnCN;^Xi5`ycZ6 z-|g>z)878Fz5Nk;`@Qz|TkY-F+1oF-w_jjyKhxg+xW4`bef^d4@)!8|kMr|)$jfiz z=U>dvKZ~FLECa(428LY>3>z63mNPKSWnh@Xz|h6O(8$104)zzrPymWQSs2+FJQ#F9 zjs?XD1N;954-bZx*0%PJ&aUpBj^^G86DLicGIiSY88c_io-=pe`~?daEnc#8+42<& z?L=Fp?6?`$*=^p;plQL{!fK((ptI$G)B<};juvTqE`}2-(&wZZm@IW$bS;?}#Lns3 zpOro}-@(E3hKvIb!?PFd;tt|(#oJ#kcKoW!AnVBc<5#DiwRMcbsqOw#CWvdbBz#bK z!pP9(q*P^)qOge3g-5naib?qZubg(91;dBLj!u4gH?c(qDIBaWs-bO4Ld*_KN*0O? z42~|(6`5?4j=XSuAmBfLVb=+TDGNO&axggAxRxwB(a7xTCo_pFbjn1@)&Pl#3=S=V zB1)IK7!(ekxV0(Sl6R)6_A8EFC*~X<27^Z(_xCfG+%QOSKHlI|`+Zr|nH`1=`zQRh bn&-1~)6>&4jI)=0$uL%SoF~c3#9$2oPvH2I literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_blue.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..3d4e34f689a96db7b6911bddcaeff8aeedea1777 GIT binary patch literal 1357 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&vdGiLF(jh( z>5O`x&{B~D_TTqa%iC4h1TYG_Di|N*uMg2z-Wc`o&J|VR;N@4ZEt)oETb5Pq>8&rL z+)@|&{#ts@_w<z+U6C0_4OG;YJv;s9WD3j54ts|}k>_^59v^Hy{n+-zR?AO0-}|f2 z?R-A(`_B8t=f3}*a_!o+uy+Z8`Q=R8qqp3idthzXtbGUlpX=6dbB_*xxtW3Cm+R7n z8eFSZT`2iD<EWU>)UK>sHjK$%G8uN|IfsghxPIJxvve)5-v^0XFWwY=KK63M$An4U z%hmXg&3*Ez_*_KD!Cy-?RgShsemVd2-?@dsy?=gH?sB!a+AUK)sk_uWh+#)va7A&g z>QVRgOcO-JPhG0y+%Y-k$@^6gAIF;BRl8}Lw|fh7z;4C`nOP1NV)lZ~HyRaF?1Y?i z|Hi-3S(|)+Vb!;N&(l0YI$rKryrnPu`v0`#i}Ux)wLK(s#9&W{MBPDG9-hP5_w-L$ zdmcT>HgBE~_W}O>F~?qRV0`fPSJD|7`Q*xcgN?7vif5LK?!9}>nBn0%M!&dIGHeaM z?-fj|uj*?0`#jP_`(VkRT~BP34&7@m)tNoNLwn2ODxSj*F1r{NB;43%%&*^l=Ef6` zX=nXe6x5B+^*m-)NJ(=sHnZF`oxvnT)qyj^Y_mO!@Yd`}5Ba2(ny%me_%ut;H2B%d z=bb$n>&(nHuYWX2)gzygr|XKw=PR?%m$%*EdvHI;`^_xg*zJkebL-4vKfin%^}%d; z7e~0%Y)$*R*4(38_x!&q>C$rYUB>0iyYIAITEaI8NnVM6zWGq`G=(-6#tSP=?#0gN zIm~x+HNSDWE9=wa>whrL*!)Q0<L2&;`LRc4txa!c-jIExly~>t|L(75J=?vj@p7bz zAoKZ~*(rM;X16_DD7Dja<r0;a*?#fwR;N8;4&>=AobdHVg58axw#Uz<Jbk~Idfn&Z zxWa7p<>g9djnnm0L|^-DczayRt3NjB?4!UlGYv%6Zx<D8R#)dy)jRg^v;RwZlge2B zJ!js2yEnB#O=*eRu86NrQVfsX+#+SR)%<4<m!91zE8#SA`8>tIzXF1GHv>KIt^Quh zbfK7&VaK5oyBM3UH<BNHVqy-x@>RdZuw`w-@#Mcn92^eZW~{ez4<=_QHEo_R^<ine z$XsWa6Z#gubq6zp<0GODpL%||qu^DGWrz!le=4(byF0^!l{pSB9K|I(kJ_YlT`Wo& zF1_n}u<(foU&X7&=r@dx#}?c(W2-h~U9))A=8*V|MNdw+ik*`>Xl<G7^Y_^zt)e3B z8?_6ju?7pzFwc}|wZCfcc5716CbtU(i(AjShIUBonNivQ^UkKN?ko3QIP$~rVo3ZB z&yy3oedNV&b2c1Y_I}lk`Yq=s9siUb#LRG^DW@f8MOW9QV9qTa3T^d&nQFHD7132X zGhZnGqW+9o2VPgUpSWGs1hQ?SVT*6R?U_})a$)Pf=X$#H^{2cQGJot|ZW5fnqW9D- zw=Vwq$3>SJmj}u0)W4t4lp&b-SnmHZaS4Y9a~G`p`QXbH<|+HCWWp|+8`M6_5k9c4 zY3;Pb7p7#+)W}u+kehh$|7U|QXV1N5%&q?Z=0#|a-EO9T+B+Zr7uflj@egxD(N~+N UvCpg-7#J8lUHx3vIVCg!0EuLMmjD0& literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_gold.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..ee529699c446ee5c2564745088bf695e8349ba5b GIT binary patch literal 1207 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&!sF@U7!uL? zbjI0i;aHLO`BOZD*KBE?A*D29hU-PK-xC`a=vjqovF`uHm3OBkrZn?k%NP5OlBEiM z<xW?Z)h&2&h-Im&(#CuRT{fS~S>74qxmOn$2e0i`oa}db$w$`-`~Du(c{Z>3yzTd$ z&+nb-&8@Aiog2Gm*8aH%?oa!$UHHd(DTxhJx7^*cbKlzB&1E_a49kUc%vP*yj9FK8 z+wE-zL)mUa&*+y;${el?Q&oC;M5=GU?X{RIboQ*{9KV%EEQJIoF40(YBQdkzO?BF| zq?nyax|=5oO8cdYPZD8uxE@~d*)1(Gk%u8LXZd2~p39mOy;^6?lDcDb@@%2G|0bb^ zwK-z;zRka?`0eKV*v(g+EU7kIcJccBwqI52U(PtG@#OPrAOCjCLZ^)^7fUZ}x%6OG z+6}HQx8D&lJ%vwBlrq@W^(b&CG1%8h{IiSSpL(b3WO&5W`%D}1=TG0ZO@QI|ckexQ zwY?=#3pX35SnaD{zaVqMNf!>5uoY`XeQ)22s$|H{KKk8%e$tMZSQe&4hCW&DnT1>o zeDc!@cP`0#_TPP*!`Ww{n{K<Bob_0-KtF!dnX^YfRQ>+>t90tjnH{PgTSXrfRLq#& zJ@Ks6UvnoNh95sS7afvT<zQpky?2lAjb~F<Uo<)KJbcFdek0qp28M!8mk&ICX*~Dd zUhc)20vs&`7B(tEiQW^kv=^-QW|XS@@<LwDX2Oj5{j;_)HT?d*TT*J1p-GCe9Dk_K zK7)fr3|#)IoU_=tx&Ie^&ogJ>b5~yOfB)c19l4T|OAak`o}Q8M;nE!)V?)Cej~=P` z`nLIR6)pI%phYLW@~4r9mg$)@KIVJ(mS^Nn^<`MQ_OFRa1!KYPrMZk#v_E^9aWjOr zE?ZVsRn-&vwPH=P+GMWz_UkvL_fNlhQ=|HORbXhx@xw7Y7R+D>*=n+5RTLwGg^beP zy<BtWI_BMfry|8WlOaU3Pj0Grk;d#j2|gR{NCuos`*^ujfMw&G1)VKT>kj|;!F%j@ z{*1RPLt5s|6Mgl{g~ie3y5jWNN1ht3Qkp({iNNj!@9*>0H!!nX73|(UV{R|wF|iA! zKjzLpS;nyHm*|bGsa#QU=O+0bx2XJN_58f}_gbZe1@G^fE?cJb<F8R}uF=US65I1U z=U9n8xxHOfh?6z6_3`oMwEf5Xn|1WlKmJrPF7rOED%`N@(CzJ9@^&t|m2)hGZyD|P zN{##4K4D!n|Ek`quUb9pn(ymJ-}+lO^WsH?jS&+2<CiU6+P^y7z4D{dk<IDHj`!TY zd+zCJ#TvVlZ^EOsH*J}sI#+JVx^)x3eXG-p<C)D+BKzp$!$~%$7*{M~+Qyu4d*$_q zjf~RI&xtbH)MV`CnQI%p#kTgB{azm1%AkAS{#2G4mgTVi(R};M-lfd8A^ug&8sW6R T+`AYU7#KWV{an^LB{Ts59=RT( literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_green.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_green.png new file mode 100644 index 0000000000000000000000000000000000000000..c52f28c1c4e16760ab62c7c356fb6a38dd50b9ed GIT binary patch literal 1149 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&e96<rF(jh( z=?wo2nNXSI_QK9hx~a<-sUMx|w37Yk-3c-xtE`JTxZ2W+FE#HFmJ0c@q4+{``vuLQ z3rz+q!`4Q8Y7(&7x%t6Tv65whff*-Vcp|jYs)P7vMgDKFj+)<o^US}qWs4gHKDU<7 z`2KhA{om)_|E=49b9>j6piS+D8!j`INi|#RKDh5B8Ep0JNor;AI@#T33=DTzHI7u) z?CssX+3tRC_Mvxt2LyVj-{HF6!k8MCn7m?n$fxegJ*MkdZ>;iC{bBcF#`W{BH8#)9 zTz*FD#q+OEEdMC0?4RNP?ex5}YSlO8Z<}Oi%FRw%k(tw)eMrI7L*6I3Z)Ql{x(x-X zjYR=zZ<m^GX^u+L(BocpRqLE8`^Oy_Uq7h_yneJd?D?w`-8TQq?T#*XWw;Y6UK-JR zQhH-;;+BT8+1K8!v~K%(UedsW<rX7v^&K_``z6MEEqZ?hCD>=Fw>{!!6x?xI@8L#) zuVGssKGj!v^~iQrap{lyKc4VCFX*#mxbe8`@cG^w_hd{j^1t32nxCM|aCg#@`$7w@ zX~oHgJ)WE`6!&vw)Bab%5}E;P!wQ+VU-drnO!C4L>%I29`(Hg?cjUEoQv~zBce*=R zr8VvDH1GE0<PmWE;oVVw)wxD(gSVN>g#GsOB`oDF1sea(@crc=^}OlwtEK081pGOJ zwlA4sW!zd9b$s_L(-T!}66>Wjj*Cut%vE;t-P*bx$G!8GvahMx-Slx2qeE7F*Uv*X zH+OI5eK?;(?fq<*-LZ#j4m^3nuFkoRJ>_!gY`f})x_-Z>C9JP)yIYsC_N?c5Hh<pn znj1M^8rr!s$}=|p72Lc1SMCoko}lKQX$K7-2VZ@kdpD$_=~b1e@6``sdv`cqJ@E5_ zqm6#jVmogJhr7#_<_SjhNA&EmX!^TPmVH4S)3d<M&WD%XSf{pvZ{_SfEj_M|gmZI~ z&&~CIcGo}F$=K!Y`eU`qO$oXR)f(rz5_B6n+@`Z1x}RL#ux6TSxk~&0t@4w<3MFWp zPmW`Janv+%!)?vn1)q{x|9ANt#viHN7Wn<qqJ&>tGw+;_JyR$gY_1uvwRr!6WZ%e^ z{jG%$vJ!kFPFlUr?LNgX`lV;yk9jo(MryBB74$gv9LT<yXrEawe#4*h%MVGx!w%2Z z%z4xHNZPftF=pSkI|rAl1sNGn_MGSKtvYk&Ne><sHY4N76PGRxYTy4wIJ2|S$9GA} z!>LU%|4U=NG@o)7Dn;J5+tnDTlCNml{zO(~@s=XKN!KUN$$ffj;hSr(HyABDP;6rK zz~^>qM%yvlhj;#eHTsgq|L*R;m^Zh0Zs@)FY47r_hT$J$#gBK4hi1gqF)%PNc)I$z JtaD0e0sv<q7773W literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_grey.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2e9e0b21e58eeecd289d94cc5ee561fb3ee16e GIT binary patch literal 1282 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&67K2Z7!uL? zbVj^KaK6NGd+Fbkbprxd%zoBs*s39^wC30XjpZpmth==?%yxVcDz51C;Amc3#l^D% zySkK=5+`zVU5d2`bo6q)=zPyah_meC{MLh&@yp8ut>0Q~zxMun^M~u--`Sl1Y*&5n z{b$?r)%Rw8`}XbIkM6{Oms$U0M*J&b{4a9$>{-@r=K1&jT-q+*K8>N_@$vp-qnQS? z&({3-urMdyj?a`aY_;g-n>{B}tS(GfULd0Luppv-!|k^kT}{_ty9Q2adhqaJVpVmu zW#OZigZ~~JWWKk*{``dt6AsGpwXa;gdhzz{;tal*JB~kIvwl6Z{jMw5uC*=FP?_vG z>Ex3}*LUY<??0Ku5}`9~k)87#fu>cfv}Vnk_2bi1?(XjHHEY%s{Qj1^YW3=`2aX<f z-B<Vb)SEXtckkY9Q@MTnHishDByPnU_wHSrFK=7rqBZr<^UsV6R%w;(mTkx}>lSEQ zwoGl+s#RWMd*?Sa?~2*R)FL2bUDk7Yx<2!R5-Uk*>BnDRU*EEA+pEUUpFeXbMnpv| z+PimdS6A14wFhr+Z{HE4w=Qlk*MX(p)4$kQTU&D|eyFh75wmU+$A+6ZGkliSf90Cd zD&V16+I%<9ox{;=_SM|^cC}8Sp*C{-Gkw~oP8D?)(o79x`c!N!!xs{I_4@P4GlCDi zd-qO%+h1X^Zr0UTyRK&GzS<n&)o<A?(Bz|b_}4EhdHXt*i5?0q58m9|Ty^2e6BQ?p zbul{+-MS^UK5p-!*I!@#D-tdE`>WK=-M!Oo@s;b>g?ZRAGcp+Jv=UNMT>AOhnpv6; zE;{;Lq#$5=vGIfH>l>y_Dt~`Zu+ybMKKA9ymk*zuoLqI`$`z6Hb8{9hTgJBj`sp7( zETpBSE#~??aR2_vdT#TSOAD5?wXrEp<mi{TPfJT{yLvU$X`w*f{`qs~$}XAm<8NJ7 zb~a<d?z^hp`l_FUo=9+9Fga_m(to~PE{BKO<eGnfW}Z6b6%x91*DfjF%M~9VvDVhs z{&F+*)%IAI8O3Pm-Y=&r!gcY|r9%%MDEQB_Ir#qj<g;lPO?c;@4-as@_{iJm*Cu~P zO;xkmYhU!M32`o&a^!L0qmMiC=FgqGbop}j_QQ>5)119LwWdD0vND)qNswmI&f*{6 z-b(YeGc&jb7VN&eX6;(W7hFH)N(Q_V(U{%PylaZH)!eki#Kv>y{POPYS$SJsU43Wu zcfI1`ViqPwy_g*bzI-uZW@auaE#0_vtE<vPhs!3nZr}b|`u*Kq<+*;BZ`@e%+^+nc zOvAc{&Q8v0)2H*6-q}(3_`ol(lY6e1H#IV7E=>%0`uOGL<sO=unVE(+m>U@`W=x6D zaZ?a@@aN~}J3EWp+xg{-{{O3Gh|v?@o_BZA#*KmT<xfrsnwgtNMnoKVSWxisk?XJD zzZ>UsRs8&v>L`1ZL*wexqJGEAiF^6X&CQG7-ZHJ7oSdB8b~?b_z1{EJ=JfOb=1*T3 yp%ZrH`=6hmHx<c5vHl7F@%q2O&)1wk`2Hk)yrONrKY)ROfx*+&&t;ucLK6UK0BNBB literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_red.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/pause_red.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee4dcf5cf5b4292a865332a6f4ee4280c42a2c8 GIT binary patch literal 1133 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&e8|(qF(jh( z>5RMCPf|pV)vvtVx9QN5Hvtj*)lLV+ioOwH`JT32^24FoTQ@)WyC?OawEir6#n19f znmC%i&0YO<-OSZ{BaU!3eLZFt>b-Q+ZpZ9sE^f)|=eFF9edRjY=b850u7E6g4(D^0 zmhUU)+dNm1eEQ+ThY7_!3oq+E*fP=TEz>{UJZ-P(Z%;d%@!aP(Cz6TbQ^TQ&J@qz? z`hCW}2MpHwmMKkr(4Cy&8OYHu8v3+u<B7*nYtuh;t-4flSMT?(b(^m^mw9&`+O^L8 z`T3gpzmFzuxff+8zjkZttRvZ-@_!9@dRX?We>^%di|J)dpP}N7?>5`CMYpXEy;u8V z!j@&Ojn+Y*%J-gYOEuI>jh@83;HGk=v4+x-sEr<X3oA0q#2VbUot?0X>4Qp#y!O;v z*L<BOF*(K8|LU8N#gOUy*z_{XgQj(xt&9)1O^M;mVc75O$$Vo&uHJ9El?w_QY!_Tq zu4MK&er~%=`^A--deLGG>u04+dG0ANU$p7sjI2o$ww!E?UcmY0IPWSi;R>ny9nUwu zv`Fz*mAn2r=Vn>-q}pHF3iD>i^!Xl7wBBLo_vo_1zng}v$0t7OXo)l8uRYGYb7AZQ z{rl<5!yY$I(V4Bb`#{7-3D&<^k#CsR&sKX<^hfB<L4oQ6dHqjzH|ig0nIe;7R8#$0 z?EVWY>y44c0!Qv^i|kmeaVJouu1|A=_#xhJ$_h4<CS)=6P8BudW@T_Ql3aK8yz#8_ z?vAU2iZZKaanCxY?X)3A@AHY$of1b>wmQsdFpPcfeEu=};RoBjSl0(UIQGZpv6G9g zL7djdBm?G6$G03Za2I-S&fF%Ez-H3;<_OF6=H0)FjxWj%3R-{tqDilPwrSi2lUWBg zrGBh4;F;X^z_C5oC3L5vYQ7{}yuaV4y_rUOE?1bsTVAYMC_l-}(twfoK|ttly;p39 z^9%F(j_%xfVqeznnD4chR&lNJV!lxrdyFac&5m~ywUTQ0$sc3BSu?LYIQY*)3x{lu zc`0lvxkghTWOu)o3NidK@A$6AAMU-;kw5b5-qcC2&hTV!^Nr)UC(<;3Rp`D;rRyZw zs`vG4tNuQ)B+=#iT~nT#^UjyQYJ8WzeA(f(;SLp5eye-VU+gv~OgR3a(7!Q6xv}BB zPB+_!K7rhCdjxbO*i26=>9d4)yV^xXJeZeRv^|FH!KEWC=DxzZ%ho&(nVNe(d2P(I zpFVBdy;bwrj<j(_tO?om%0o%Pld)M~!JMn-AKvadq`rmY$CPjV3;Qz#KUn_1+`sU= tP)$6~jK^oR9_&A~^S|?xJHj9McVwiR#TR|)V_;xl@O1TaS?83{1OWEE22=n5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_blue.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c8cd259c46fc4574b987823d88b6507ee8a7c63e GIT binary patch literal 1231 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&qT=b|7!uL? zbb7AO)KrP%_1}xnJuFb*`&4Gt<viu2Na2<(W=mf<3qQY<=2?8WOV{9R(WYtH#ap&s zymV~N<Xbb6&xW3UCVg@df5K8pD}fl@dyiZi_H=0oxc3Hsul1Afn`80N(&hoX_3Qn2 z<>$TL_3wLa?EmLg>uk4wsIZaycl?4}2@}7RqW*z>%DOSKzmm`WnIOJkUunygIb42o zUe6b{f5K{z!Sqz{iCC?BVCC&KKX<X5&{*+(?U}p1B6Uv|Y^=TW{Jegq^5O+?*BfW< zmd<>?_i=jhy}*=rc`Eyt_)f3YYGG);=(D5L?svc0q`zrv*V(8o^k&dh-Il?;K5x$X zV9ASfa%I%=>xKWC$1rFtoe*?x$N8DJUiVnW)zb;Uatt=<XA@(#!de-{iZ+`ce z8a*r7Se_m9fXSqB8RwdfWl3)|=j^`Y{L9<)3$OnRP2c?t-y($9=lebS+q6_<|D>iV zle)N@8|oPS>g_wGOqzB2y5#=H^8bszG39*jk+HkV>hS*q%kuO58!~-mPES%|ey7>u zaM|RLkDJ`4V@dIQCf)xvcS-*0Me9;?j?MYPxj@8A^L}wi3*$<WyzSq`oitnLJlZe* zt4)2!m72-v#<@LKv2$`I=80{7e^m7g&)sJqR_cA5wl&F+`(A~eWd)<t0?x*pDMxaQ zgaq>x3ojPg%xYaTH?-#G;jIt;EV#FOLXgp;lECXmhfaQGma)0lIAv1l>c@<=vL6aV z&4awYJyH2w(9`*8)w@i?*J0`#tW3K;t>3ldMoIIYubnzR9Q<(&Y67zqbk018p2orL zshN30Oh@hc+pKR>%-ElukJ%UAu&gg|o5<C`iXZB`*yl{yGtDikNMwP3gZ{pk4_~@J zj+l{<=sj)jvcABmUB{Lm72UU?<>E(9ox}<MeIDf33q8tXpW)-SKh=Qaj#txh?H~n- zbQ{Kipp8izr#^c7l3`7(<n#C8c~f})aLWAOHhp8Ec<0B5F<HA#9%?C=5+bwm&5|u2 z1oz)CeOainGGd+yfA*5hV|Ucr7u-zwaPyAW$JL8x?vL5N(q>0vZ+0%@&s{7Nf`la3 z`D)h)8J8Y-e)Zlr{nZ5lVGlptT%Gk><KDie7xkiAOTWyvJgD&DT%*C{?Ng%9-7nno z*Qe*I&)@XfGv(9yPF>e^*wCWJYVjend;Z@}9%;{S9D08$dgq?keR^PB{k?A+XXTYm zHTm%MXkF3f$?2u{LNaExU0`ureC$GkyzJYxHaoKf)A>_hJ$fzTuyBg?f_P2yAgz1W zx1OZmpFaKEjkWd@gC@@2d*b}`*>lfCFAe|k;fVfs0firx!G@O1>&mQNynmZ?ep_hG zhUA%gdJP<3Uw^n(zCNIG-Q3D+9)0^JpKLq+IQ{7LtBn6MIUKV#_0DpRypeo3&7c1( w--<km#J|ZKi=VacVffxXVL#t}{eNuAmv_9-jG3Izz`(%Z>FVdQ&MBb@08`yd?*IS* literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_gold.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..766d6513cef1102218a69434dee315866e166b3f GIT binary patch literal 1141 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&e9F_sF(jh( z>2$*!;c$uL_0NA42&o>EYg*~@ru&MT8uP}cCKl({E}J5nW-Se}PQ2nLnGwboA}(QN zFoSU#k3?IS7Do&VhoWQd$`-dHd=e8IL?x{!DYJMz5r{rm&Y5O0=Z0xnT*88||CglS zRo^dv|NH;_|9dZcwmL05@L!_s{M`f3-R^Q1yuD>8CLSyw8~>eYNzng-KR>4X`2PJE z__b8OLB;cc*5bwX1%H2S)V<ElX<(+dwm;#*p}p14d#XgE=JU7S>FM=!;$~|WGn(0+ zYUq1ffG3Kh^^ViWAP*sl-UKu89fgn0&&_)){%SFYB4dbX%1y`c>-slxoK+^*7yT}? z-x>3%c5&6YG!GS~Cq>?8&ipw2Xj9I?mtQ9OwR@^Cz5aOeq+rob)vBsLA<Zg{2N}Y& zZ{!%*%09ZXa{Y;vXD%x`xf6^u-`sqh{Qn=r?{9P6Llxz&&yI~16@GAYGs7ybP8WgD zvs2Dm&Q;F2{Y*jVBjbd#YL&mfFqQpIToV>v%ET7S63Mn%QiN4ZEX}g=lBdzn@5^jC zxff(gpWl?@7@C;tTQ634;8W40ojVP>ie}`Lbv{4eENWR>TPG$S?Bn-qNA-2?oa0YF zU9HK#$hc`u|1q}>w-08-JpA%<edV7W-=1pdIOt7RoXcluEd1bKt^6u3zT*N4&l*;0 z+OOiO{{G8gri{ztsoTP)DBilYPf_UOWUtnj@8lM44PEKG;0WW<i&t1=Wj7S3Hx@tN z_x#k<`KzwypOTw<=g%Kyz1UaJpPg0K(NU3<u<(zbo#!jaek6(U&9{8R*`ij~d(WJ= zfAsWpyJ%%?t=*=Zsw$b*de=KVs#Ezi`r6nkev5Ij8c3{)zu-2J^;6}Ijf>g)-S3;W zAC5I!pIPN+dL)T4ZhzdOoso)Dxh`H>G~xW=BQ5it+nG{#zI~hbsdB^3m>E9Pe5<uf z9R#zp4XnAfwcYyU{?2{(?)|E3+?)$C6HKDCI>a~bimG$}BYiQ0!MFM2N8_IU`H}th zl|n}zpS*A*!Y}0Vm+~%$NoIDf45v>E^g9=CZWUHfnsN56>FZY6fbN8gjOFisoO&cH zo3|#cwZi61BeT7+#g4*vi!U-v*OyPMvhv7ZU+(>S>Y@rxGm`_|;=j(lzjycahXR)s zaW@#ZmMwYF5WT%lx4YWr!!utt-^EQS`Rk{z4tM8h|0`M?UFh(ULuK*=KW`bEAIi<m zi<6EvguLH>SX`g)!-IqITeg@y{2I4l_3B@h{{>oPKHPU}jNQF2p`xPc+O=EH|2nUz wW<T;cxuh&F_quoBccvPxSO3a?1b^h?l4?35a;te30|Nttr>mdKI;Vst0O*STtpET3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_green.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_green.png new file mode 100644 index 0000000000000000000000000000000000000000..6e832a43872ab925516109007c12cf1de141819e GIT binary patch literal 1097 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&JkQg`F(jh( z=?wo2nN*2m^_x38*Y-+EJ8B=1&170THRbG4Ig^>J%^g#8k~T0Vs++JMbau}d^jbc} zfnQARYk=al8c|LaTZ=}eEXQ=!tZ8PY!XAnOh1&zPJKpwa7(PB#al?1h>s{89zXgcP z&p7@2`R{w*XFjh@bo*3$|9O4SiM@Ic;ugQ-l&H<0a>swC^||%cOwZPzz5KC={c^m| z{lL1r!V0b`pX%l<+}<uRSK@A2od(mA<V(+#`%kJY6S`r4V|LxwIb9__T%`+b)F$to zskzy*-r_{E(JM>SDSH<+t9`g#<F~iI>&NVm0i{!xu_wzevR*9n-qvrC^1+<6X+LgS z+`N6W>Hm2rAAuvHjjwmjh@Y8S_OniM@pXl*lbm7%XP4E6=^xpj5hN<OfU!a(;DF!l zl6}`sex1L*Jxf=HQBFgb%WZ#SMX15gQz{h-myRZVZk?gfQOPJ5aX-=`+i#|Sy`TCn z?XHiVj1J$zrhUFYPhHYms9GoNZ@|hMuErPGWE!qYuYMza>-e3mI}glq(q6E|ac897 zjZd!4?hBYU?N9O4UG8Bw_eg2%nx0U>WWE_s@}3#!No6=KHoesKu_^HP1Ga4(8Ej>Y z{)eJ2OYK$O>vR5UT;D>`2Y+5AtiRE*p7q#qwu%WayhQ#eiX_zKHL)M_X1h2|<5~LD zO@1ZnFRB;ue-55}rHE^<zk6nImVC^rhTi3@FPQ4rpMSWW&-l|jkE>rUa7Dz#s?-^s z`*1UHlYQDuA3ve$JsM{PtQ~4JB`UHQo+h%sU2yEtE2Wt+%aqPpq&%?FTg$ul#owxe zTtO|)3^u98{alJc&R<#YO4KlK;JfQ(zAUUF`xWEXJMsohhs1Vlj}?hL7`H93OnU?0 zGgsk{Z5rL7-&b$o+ql>8$=srX+@&lz3j8__kKgzD%$=F^;X%UHF9j?W3g#!L_D+wB zNM<>r$|%<p{kSLk@$9nfbB8X<JYoNLamDd#b(~HwIT-FRT~e^u*!<<8(A(X&vzN7p zIh>W$*E;aygog3zSgljaTq|2e+=bl@<L}R^F7!00sgigt&Am4M_PyGrHv$gS9{7GB z^hM>e_SSMSr==jx=0PC`I{E#k+@Ad4&$9;hTc4w5dcVGY;rxpk#%ZdIw*wEbF?uVk z^^ozDOH4{pN-=tH-SUz8W4rT@-dk)rJb$On=C^+exPI^-KA!IXT<+5H%UkS2s_*^h zo%H_tcm9do;ra$Qf@@E+FMP+jBl^nU=O6Aq%0DpMz@YPpY7zqj1B0ilpUXO@geCyl CwdoxI literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_grey.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..8e18760be80a81e21a4864b48f3452e3de7c4057 GIT binary patch literal 1178 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&{NB^WF(jh( z=?q_ul6;9{^~Dm0XLLj+ESwo&B6(9`apX@8rKF`MW?t9A%%=3_@N9DOoIID6TZQYS z!AW;JHJuKjAc@Z6a|!p3-u6*jKlAYJivO4YuL^#C=X|a0^L^`!=RSWaGxhxQ&mZmE zKCI{dalNC0v8}y*=gyr!4ecMXTG-eu*|%@r(xpq~KPtyDI0{tM*DqhZxcTD6i}{}y zPgN-`FK0hzD#h!zc;cc(N<D7M438f_o-=>`<(oGp%huhy7dLD6Y)@Zb-Xku7DG3P; zSFVK2nmzmQF?*+_K?^TtTzFa1)6?^yZ1>C8uY)g%Ex5oqNkvdx+}+cYGcq#r&D*zz zMn;GJ{<UR@TQBZ8>Cm~&d-tAw{8%|VJKOQ&jT;eb!nD=Z)pPRm*&i7j8{62~1qB9v zEM;zLP~cdyWJ!XF)Xf_=7OY&^dHZ&>>RL^4hvk<8qoTZ=otaBZOFbqXdG<_gK@7w6 z)2%9=Z{EE5@adC~N!rGU3t3ywoIT4}P+org*DtHI%`>-b*`ohEWM#;T5Und&rk<Xj zGknza^z}1ya*n($YhUZRkztb#`#Mu8-bpGSfBoWW&^evRx?}h5!*9zb&!69a{BdG_ z{`+7*Utiwq*RP*BckWSvg#e4<lgsV*nK+snqSm^t4HFg@cP}e5yLj>9mMvR0?Aj$Y zX?+Ak|M9~gKN|WipS*IVri$mG95d!qG8;B*Xi)JC2@6|v`Q?oH^Z!qoJbilm!Gwgm zx_O5WJFf}TK6&!wLTQ1P2IfEQVXKd(7$q7=WaQ_k7ZiNR-q-YRV(QGxmxHUSswCv( zp1pd-HT$evRh1RP`t|D_`F;vdn?C*I*|V<euLp;O9C`UtQ(Rnp{-;%|SAVRqadCAG zjEa)lwyl5tf#c2sEcfo+t25WExw~vptb>Rv51Vs>s@Y5*$H$v=l)D~H|1))}=)3pt zJ$-zRye*qNWlD=i*O@bCE?m1NHf8qY$;}#FDJdxnu4Wy+_AH(yIVp*0<M!?5-@bpZ ztgA~)NN9NU=#l=<E|v+YGiS`0;otlF;nyl>tAxTr!N_Sd=gmv2s<IM@kB&Z^wpmbK z{{PFmxb@+lnGB7l3=bYYY`l9nR!B&wz(VH5*IyH2j`DF_U2vaKSXkJxaPv(cFE6g> z=;$lgu3fryOG+X-BH}>a_Qxewn)>?xul=<<w4cqz)wQs&@ZiCNjIFJ$H{O=H)*R*I z`0Db9PeNLnyX$t2*}Qr4CZx{Xv}x0Vjh{XhwY9a)m^0^(%7Jp32lrX~`uZ%atq-Sd zX62L>+sEM^9zOki(#9XFR;{YhoBsNCjVs@e^~%P^lmGquw;}r3`~{zWD*bLh@$8uz qD=Vx0Gxt3V_1zu+W&TC~VX~^6|ET1*YzqSe1B0ilpUXO@geCwTcqH%u literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_red.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/play_red.png new file mode 100644 index 0000000000000000000000000000000000000000..887d6449648072b7f85bc494c838323cf2c093e1 GIT binary patch literal 1079 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU=ZP8V_;ygEwi>~U|?V=cJd72;Nak>;YjIV zU|`@Z@Q5sCVBi)4Va7{$>;5n>Fo>17MwB=gr6!hS=I1GdWag$a7#Qgrn&}&u^XrPX zF)%R5gH#0Pr<If^7Ns)yCMFl<=ccA)CMvjP7NwTw7iAYKSZvL>RKdW&+~euu7!uL? zbcTP1NV>$a`pwIx{n7l{645j3T}02ZCf_Vk{YAUCJXpCy+|mE$0ue9%a|gY>4hHJ) zwA?Au)!s9`p{hXnQdKcqi^kf_w3R}^|9uuMQ@v{CoU-iV)sGWy?$~W;Eo^&ZDSu6S z?ep4i)%Vlqe{YS{<Y;R6Zz%MBS3`O4Eb#}+@5Raa`|L5?|BQ9R`k05mzrH>>-|ny5 zpIPDxik>X3O!jZ?pFeu<-qO#HReC)x{n^;^piJ#>PvRMSdH<yn6PHAYM>##{@0)gX zo;BYzfu7|-8y_v5&`_0-D^Rd*eZTzWml35Rg5C`B6%&0f6+PkLoyk+r%RAA3`OK}k z4D;G717}<-owq~pyXjh;eLfsvtF-E8t6kn@C%=EOhD~AYwU8&_W)m20HTXB|NxX3V zUZ1t4<npZ*Oce~9&bY7g+P!XbUIGLE4tcTP`G)FDlXux2KmAn0!tdtht6hh>Qzp$` z#nq61`^IuV#a+8I-@J<YV!iak9`-dX+Zg%t?>>rfXP-P>-~F1%ZN|+@RTMuoI{m1e zmcd@J?d+7yOPB7R?RotvU2nU>^4QB2Hiid%LsL~|FTHT*%&ve5S-dI@PakG7*)dDi z%-=WHdZ*w<nPlsPV}&!!c;3CTTD+=@y=KNqhGHfc%LJdx9~yX9bxrXp`fIu^ZtBSk zTe8LXXG?wenQZ2|&~cjbYj1<+4UaOJwlT>%9_Xz7ZBhRrAv90LCgIek9TWVDS1xaF z-*)ynGxHjbwUX&9c`vMVtG`{)IKAd<+RRNl|5iq{G0YATy<VzmV!qiiP$}E{Ll%oy zKZ}j_vyjLOr4!8!(%(-z=U3LU|JJOowKAqm$-DYq?>e#R4D;ayann9F-Z$yh_nIc> zkge6qzvjiOq@4m2w|ed=au8&FAfB*nUEks6=A1jb%LD6l7;O{;k{lnqy7V5%*zu?B z_ixE}@8|c&pMQGep~ar~i!0oJo?F>=NtNRRhXk8c>w^lr^X$2~p+7gu2CQAMi1|!c z>r|hm0-Mh4$lUbzf@0b9Gkcf5=K1=?VA|=6GtcV1+!rL`o*-Eu{X_Ie$!W2D`^t31 z?6)y5V)@W8zh6$byPoq$Uo(5ox{OW6v!Bjcl#p?YiE-Mi29^ZI<Vi=u+4(m7esXd~ zj>3vUo@JL0ZWpKtkC*>b`0UK2pBrU9#J7pCoLIZIrueH?ui)o>9Q(KZ7uZ?+O-DZb p=BL0Fm5leqO#fT`*;c`M&(*T!@{^V485kHCJYD@<);T3K0RWZ=?0EnH literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_blue.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..beba13ef5e1748d02b4cfb88f2ead310fdf06405 GIT binary patch literal 748 zcmZ?wbhEHbv}aIYc*el+|Ns9_Uw?o6^83T*Ur%2Dc=-IwjYnUuKm2m_{-?`#KU}>1 z?(~h1r>=iEdF}m)tM86qd3)^go1>RrAG!GI@P$_g&%fMt>eaU6&o>=@y!PPpH3y!p z+V^DT-pBK{KAN@Z-n5O6r>uWCY3=<9tMB%$yxp_>R_F5jT}y9tEWXyZ@Jh@4OEq)v zRL;ItKJ|S5<Qq8?uO+sfiEqCg({drQ@oZS_snDuJ!BxloD$n?q9CR-}>Q%VkrRcOv z{$aPgJytoV9CP;DW*;$5Jz|!!PcQkne&PY6#9dnPN3>)2s6`*pj@qIgxl<{8k6iE$ zg`iDR{##}I){A*>6mnn7=e&y3e%b&3{}~1cQ2fcl$j%VNpaXIaC{7sI|2Hr+HMg|3 zwRd!OwFL!r_fMGE-#2OMwCOWu&YC@E?!5U67A{)6Wa+ZyD^|{STw|ld-6Xfh(MFT8 ziF@;AZWTwiW;REaMJ|@|S}rau4Dv2o^7<~iO*}68@;BsJ*v~beU|-~B&?Moez@Xs9 z+hpq2#QUtx)V|r?bg`#llc=X6gQBMlgTMpl4h8nVJcS;U7#-SFWZX1&esnm@tIEO9 zF+*c<hY)X*oQC8|mtzWys*EQBloCWHPxqOSBVf|h$*16B#nW`4<yeQHG5gMhLzh`K z)oqnr6haPpwy=1xyA}jJn!u{=JSRfo>yb7^VSg0{hHR$^E$XTKx|N%jh=|CvdHOlb zWJowLQH_<sr=oh%`_4U0VGfajTBrD&H5LU3lqjC!VGvp5F>g=AgeDEHkj#5$Dla@a cA86Gr=eujm%gZZ*SHE+~G+pG@$iQF?06Tjhwg3PC literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_gold.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_gold.gif new file mode 100644 index 0000000000000000000000000000000000000000..b481932586c7b5324160b79bd3f18bc2a1b26962 GIT binary patch literal 748 zcmZ?wbhEHbv}aIYc*el+|NsAAzuy1+`Toa`_us$2|MKPjyLb2Bzd!%(-T7Cq&cAxK z|HX^*FJA0_{(S$_r{|wO-T&mt{zs4YKX|bJ{{8*;@2|gmcmJI``)}S{f9ux#8#m@( zyEgyw<@Hyt%)fG_{?euXix=z9ovS~8KL5;_{?n)HPn@Vfbt?Yo(fVV@;tw6FKXSx> z|Ni<td+HAy@ZY(!e%CJh&71SLZL{CF(SE}Q{|y`T*RHi+zg~X*dj1tF>{qQ~Shh@m z=~DS6OZb;8VOY3OfBt;?dGq{d&9a|8TYug>{(18lX3dhHHqCy<4E`B27^X~-pFEj= z(j<n?PWhf5hW2*;)>ekbM*fBdhRRBY;$o1;83qAR{K>+|&JfI?19A%}P8it#H!w6c zx3spkcXW2O1qXNcPng)>H)-m$=`&`|nmuRky!i_jE?T@~>9XZ3R?fCqW2VW~B)i7K zOqH>TYx8C<MGN+3b_>NtHm36GHa4sb@;2)7dNw*uJT`jrH{@A4&NZLlSmbQbB;l;U zpy15gWbE9;`>f5_y4l)zvAbcDh`Ta_vb!9Ezyjxv1?+!$DlH~4I<zUvxoMtcbaduZ z<z$#J!{cy=5O0%$hUChYV+$Bn87~AFC5TL(?lY-CAf?HZU&+UXr|ZCzHcnw<_LB*R zg4s0H9aTIOS`Kx#uzIk27BoG&z^d*sCq{wwXuG0lfEokCYNrb<8mauIjhB{$h$ysq zhPkX{XgDxQosA)+V)vr=U3;41Tq*;-yab(fmqZ9`aXiJ(AhyI~-kyjF%$j^5nfK0A fUU+go$f{e;ch{DemsbR@e&>>Dy2!1Ofx#L8bkiX4 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_green.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_green.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d4e14e5230de53ac80a9c0a874b584f1ca0020b GIT binary patch literal 748 zcmZ?wbhEHbv}aIYc*el+|NsB@-`>Cf{{H>f_wT>FzyI$3{TKJoKRbW^>G|^y&!4}4 z{`~Fp`|s`Fe|!J_JNx(F+`s?E{{7eX@4vEt|K<JrFYMocasT=Y>(`%Jzy8Sj`6uVk zKQ@2<k@@ov&F|maU%$7$e|vxZuKN1z_4S+U>o?TrZ_Te?TVKDbzJ7Uq{gV3n1@-Z3 z<KtJv`!Ds+pONpsz~6qly?>v-{bYOlUVHmad;1o9{Vsj~T7Ua$d-*nb{d#@-GJE|h zefvUt{uX}uDtY}9eg1NO`2u-{8V3GCe)%kUhEfLpY<`A(2L3dD`FMGT3<icI2L331 zh8PC^5PpVG28I9z22TbCCy>V(1_4m~$->Ca5X_(hatkO<7})<eFf=u{w6?W(bau4` z2Y2^RnAqPpY3j7;GiJ`3J!kH``3n{<TD)ZGvgIpQ&URX3tHaYIx5mj<i>Zlc^JX3u zC-!D`CzVC677E&~uB;3SuG$Lvu6j*;uKEf$6j(XVHJ{*E<Zjp`>8{A2=+4_@>fXfr ztj*M+*}-(Nmr;|LmlA`LmmCAfgXE3{?0<Pm0~Rqhu&K(r>7Havbna8-Wayb;arnd} z-X;Yd$(<?37BH$Zo{2C@2$?+HcS3<c$fA>d3chwcT^Cy1I)#kc4`v(^W?QLlui~MQ z@~D%A)q~x$BI(hER&|$oF$%0t+ZGB3s4*~9J6&MWNaZ(dJhUW4M7GT{z-1*vgM*Md z8$(D%_agnSJxx(AnSowh{LY$70t8wdyLcHymUztD6LEn_lRG5y-kHh^PtFHfb<6qg W+Vb-9is04nTry1;xivB{SOWlX&i<bO literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_grey.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_grey.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7f2260a56877db4e24dae5e09072dbc7e2c75b2 GIT binary patch literal 748 zcmZ?wbhEHbv}aIYc*el+|NsB*-@kwR_U-G}uV21=dH3$!ix)4RKY#x0*|SHF9^Jox z|K7cOckbM|b?erR8#k_Bzkc=V)ytPJU%Ytn!i5W`PMtb&;>6LTM~@sia`^D!0|yT5 z+qZAeo;^Ev?%c6s$JVV|H*MOqVZ(;?>({SYvu5?`)hkx4Sh8fv;>C*>E?hW!_Usum zW=xwlZQ{g<6DCaP?d|RE?(XX9>gecbZ*OmGY^<xRtF5iAsi~>1uCA)8Dl021EiElB zE-or6Dl9C_%gf8j$;r;n&dA6}O-+rDkB^Ry4i66x2?+@d4D|H$bar<B|NlS3pa+US zSs2+FJQ;LAE(OI21N;95hNkA0*0%PJ&aO63&+h&S6Z`unO`SG<#>`o>=ggfqf5E~< zi<c~2wtU6P*+y#&RJfWX*BBWnFg9^*-pnOy#NNzqB)iC5Us}oBoRvY^TuEBPT&;=Q zTtoVXG%Lrs<`W!?thAa$tYjEutazGqt(thAwdtBQo9QmL(`gd2lVgyxlVT7sP;Otq z_LnE~Lm;CAtGtvO>%@l#ntBvC8ER&{SmZ9i-6X>zDS71R0!CHF9UMjpQzlGzYDf?e zaq{SubvnmcrJ&;0Az;kDR^U)EtEQ5Lf`fud69)^c2fL$!(IWv?CHsy5h14Z&ib8Hm z3=G~*0W8X?{Je%nORfmYw0U~TOk`+in4rYQ;8791D8F-0Q;>{jAQvaUv-$)dff7be xUIyU_9`pA6keyVz$|(Du&Wn!c=jT~=%lYow^78VE;MMP3GEEn`H8L<*0|45V23G(8 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_red.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/images/prev_red.gif new file mode 100644 index 0000000000000000000000000000000000000000..f702e6333684923a099633f2d8af55cfd928bc6b GIT binary patch literal 748 zcmZ?wbhEHbv}aIYc*el+|NsAA@8AD?|NhVW_ut>Y|8f8R`}_C5oj?EO{P}n1&%Zu@ z{^|MiANKG6w15A*{rg|<-~V#|{%8C5Kit3n$^QNK_wT>EfB*CK>+h~#e`Wppr}O7O znm_;U{Q0-$&%fK>f2F_wS$+M(`uaQd^*8G4FV)wdt*<{>Uw@>&et&)auKN1N`T5)P z^B=^=--?gF<L`gX-+#Bi{{nyi%l7uC?d^})+wZZr-(qjS%-(*!z5NV(`{Vlh+w}F< z>FY1o*FP;Uze`?zg}nR%dHD<c{QdIs`}p~{@$;|d=U>Fnf0lt^0zdx|28MQi{#^_V z8yOguF)++wV3^Fn(8<8iz`#%j_Bg{J0E$0Z7}*(u8FWBy0mTUe`~L=prskH`w)T$B zuD0Od?*0iA`}-zMoi=^O%vrPN%$+xX!NNt0mn>bje8tMy?rR)%d7I?dxI1byH}P)X z%&Y0n-puZ<xyaL2LC4dRl|jK%N5RljuZhRgP~nCGE62I!6C8`YjhZCA6&V!0`I;=f zoA{o!Svog6TQ2r7ZW8lRVo>stW8iqu+_8ZDFHdR0BE|+bHCZ>)i;RiQeQKNxJu^HO zdranSQZSLc*>X&QQI+vRhEl?m$<zIM3ItpZo$QnMv*GD_u!N0M$e4X^!J*HrE7fh( zd=x?+on&G4VE3&EdUT;x-C<sg0_)K>Md1Jy28L{>2`n0^{ECfDOG2hdw|V-xEM#bC z5Kv`f2&kxD^uBXXQ;17opcfaPv&NDTffh$D9tP1R9`p7@Twv1V4#~WCrt-p*^FdbK Ya=yE^yu7?3c=bD%Ow&bfjSLLd05^pTsQ>@~ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.css new file mode 100644 index 000000000..e01ce7900 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.css @@ -0,0 +1,93 @@ +#lbOverlay { position: fixed; top: 0; left: 0; z-index: 99998; width: 100%; height: 500px; } + #lbOverlay.grey { background-color: #000000; } + #lbOverlay.red { background-color: #330000; } + #lbOverlay.green { background-color: #003300; } + #lbOverlay.blue { background-color: #011D50; } + #lbOverlay.gold { background-color: #666600; } + +#lbMain { position: absolute; left: 0; width: 100%; z-index: 99999; text-align: center; line-height: 0; } +#lbMain a img { border: none; } + +#lbOuterContainer { position: relative; background-color: #fff; width: 200px; height: 200px; margin: 0 auto; } + #lbOuterContainer.grey { border: 3px solid #888888; } + #lbOuterContainer.red { border: 3px solid #DD0000; } + #lbOuterContainer.green { border: 3px solid #00B000; } + #lbOuterContainer.blue { border: 3px solid #5F89D8; } + #lbOuterContainer.gold { border: 3px solid #B0B000; } + +#lbDetailsContainer { font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; width: 100%; line-height: 1.4em; overflow: auto; margin: 0 auto; } + #lbDetailsContainer.grey { border: 3px solid #888888; border-top: none; } + #lbDetailsContainer.red { border: 3px solid #DD0000; border-top: none; } + #lbDetailsContainer.green { border: 3px solid #00B000; border-top: none; } + #lbDetailsContainer.blue { border: 3px solid #5F89D8; border-top: none; } + #lbDetailsContainer.gold { border: 3px solid #B0B000; border-top: none; } + +#lbImageContainer, #lbIframeContainer { padding: 10px; } +#lbLoading { + position: absolute; top: 45%; left: 0%; height: 32px; width: 100%; text-align: center; line-height: 0; background: url(images/loading.gif) center no-repeat; +} + +#lbHoverNav { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; } +#lbImageContainer>#lbHoverNav { left: 0; } +#lbHoverNav a { outline: none; } + +#lbPrev { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; left: 0; float: left; } + #lbPrev.grey:hover, #lbPrev.grey:visited:hover { background: url(images/prev_grey.gif) left 15% no-repeat; } + #lbPrev.red:hover, #lbPrev.red:visited:hover { background: url(images/prev_red.gif) left 15% no-repeat; } + #lbPrev.green:hover, #lbPrev.green:visited:hover { background: url(images/prev_green.gif) left 15% no-repeat; } + #lbPrev.blue:hover, #lbPrev.blue:visited:hover { background: url(images/prev_blue.gif) left 15% no-repeat; } + #lbPrev.gold:hover, #lbPrev.gold:visited:hover { background: url(images/prev_gold.gif) left 15% no-repeat; } + +#lbNext { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; right: 0; float: right; } + #lbNext.grey:hover, #lbNext.grey:visited:hover { background: url(images/next_grey.gif) right 15% no-repeat; } + #lbNext.red:hover, #lbNext.red:visited:hover { background: url(images/next_red.gif) right 15% no-repeat; } + #lbNext.green:hover, #lbNext.green:visited:hover { background: url(images/next_green.gif) right 15% no-repeat; } + #lbNext.blue:hover, #lbNext.blue:visited:hover { background: url(images/next_blue.gif) right 15% no-repeat; } + #lbNext.gold:hover, #lbNext.gold:visited:hover { background: url(images/next_gold.gif) right 15% no-repeat; } + +#lbPrev2, #lbNext2 { text-decoration: none; font-weight: bold; } + #lbPrev2.grey, #lbNext2.grey, #lbSpacer.grey { color: #333333; } + #lbPrev2.red, #lbNext2.red, #lbSpacer.red { color: #620000; } + #lbPrev2.green, #lbNext2.green, #lbSpacer.green { color: #003300; } + #lbPrev2.blue, #lbNext2.blue, #lbSpacer.blue { color: #01379E; } + #lbPrev2.gold, #lbNext2.gold, #lbSpacer.gold { color: #666600; } + +#lbPrev2_Off, #lbNext2_Off { font-weight: bold; } + #lbPrev2_Off.grey, #lbNext2_Off.grey { color: #CCCCCC; } + #lbPrev2_Off.red, #lbNext2_Off.red { color: #FFCCCC; } + #lbPrev2_Off.green, #lbNext2_Off.green { color: #82FF82; } + #lbPrev2_Off.blue, #lbNext2_Off.blue { color: #B7CAEE; } + #lbPrev2_Off.gold, #lbNext2_Off.gold { color: #E1E100; } + +#lbDetailsData { padding: 0 10px; } + #lbDetailsData.grey { color: #333333; } + #lbDetailsData.red { color: #620000; } + #lbDetailsData.green { color: #003300; } + #lbDetailsData.blue { color: #01379E; } + #lbDetailsData.gold { color: #666600; } + +#lbDetails { width: 60%; float: left; text-align: left; } +#lbCaption { display: block; font-weight: bold; } +#lbNumberDisplay { float: left; display: block; padding-bottom: 1.0em; } +#lbNavDisplay { float: left; display: block; padding-bottom: 1.0em; } + +#lbClose { width: 64px; height: 28px; float: right; margin-bottom: 1px; } + #lbClose.grey { background: url(images/close_grey.png) no-repeat; } + #lbClose.red { background: url(images/close_red.png) no-repeat; } + #lbClose.green { background: url(images/close_green.png) no-repeat; } + #lbClose.blue { background: url(images/close_blue.png) no-repeat; } + #lbClose.gold { background: url(images/close_gold.png) no-repeat; } + +#lbPlay { width: 64px; height: 28px; float: right; margin-bottom: 1px; } + #lbPlay.grey { background: url(images/play_grey.png) no-repeat; } + #lbPlay.red { background: url(images/play_red.png) no-repeat; } + #lbPlay.green { background: url(images/play_green.png) no-repeat; } + #lbPlay.blue { background: url(images/play_blue.png) no-repeat; } + #lbPlay.gold { background: url(images/play_gold.png) no-repeat; } + +#lbPause { width: 64px; height: 28px; float: right; margin-bottom: 1px; } + #lbPause.grey { background: url(images/pause_grey.png) no-repeat; } + #lbPause.red { background: url(images/pause_red.png) no-repeat; } + #lbPause.green { background: url(images/pause_green.png) no-repeat; } + #lbPause.blue { background: url(images/pause_blue.png) no-repeat; } + #lbPause.gold { background: url(images/pause_gold.png) no-repeat; } \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.js new file mode 100644 index 000000000..d9e29dc34 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/static/thumbnails/piclens/lytebox/lytebox.js @@ -0,0 +1,843 @@ +//***********************************************************************************************************************************/ +// LyteBox v3.22 +// +// Author: Markus F. Hay +// Website: http://www.dolem.com/lytebox +// Date: October 2, 2007 +// License: Creative Commons Attribution 3.0 License (http://creativecommons.org/licenses/by/3.0/) +// Browsers: Tested successfully on WinXP with the following browsers (using no DOCTYPE and Strict/Transitional/Loose DOCTYPES): +// * Firefox: 2.0.0.7, 1.5.0.12 +// * Internet Explorer: 7.0, 6.0 SP2, 5.5 SP2 +// * Opera: 9.23 +// +// Releases: For up-to-date and complete release information, visit http://www.dolem.com/forum/showthread.php?tid=62 +// * v3.22 (10/02/07) +// * v3.21 (09/30/07) +// * v3.20 (07/12/07) +// * v3.10 (05/28/07) +// * v3.00 (05/15/07) +// * v2.02 (11/13/06) +// +// Credit: LyteBox was originally derived from the Lightbox class (v2.02) that was written by Lokesh Dhakar. For more +// information please visit http://huddletogether.com/projects/lightbox2/ +//***********************************************************************************************************************************/ +Array.prototype.removeDuplicates = function () { for (var i = 1; i < this.length; i++) { if (this[i][0] == this[i-1][0]) { this.splice(i,1); } } } +Array.prototype.empty = function () { for (var i = 0; i <= this.length; i++) { this.shift(); } } +String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, ''); } + +function LyteBox() { + /*** Start Global Configuration ***/ + this.theme = 'grey'; // themes: grey (default), red, green, blue, gold + this.hideFlash = true; // controls whether or not Flash objects should be hidden + this.outerBorder = true; // controls whether to show the outer grey (or theme) border + this.resizeSpeed = 8; // controls the speed of the image resizing (1=slowest and 10=fastest) + this.maxOpacity = 80; // higher opacity = darker overlay, lower opacity = lighter overlay + this.navType = 1; // 1 = "Prev/Next" buttons on top left and left (default), 2 = "<< prev | next >>" links next to image number + this.autoResize = true; // controls whether or not images should be resized if larger than the browser window dimensions + this.doAnimations = true; // controls whether or not "animate" Lytebox, i.e. resize transition between images, fade in/out effects, etc. + + this.borderSize = 12; // if you adjust the padding in the CSS, you will need to update this variable -- otherwise, leave this alone... + /*** End Global Configuration ***/ + + /*** Configure Slideshow Options ***/ + this.slideInterval = 4000; // Change value (milliseconds) to increase/decrease the time between "slides" (10000 = 10 seconds) + this.showNavigation = true; // true to display Next/Prev buttons/text during slideshow, false to hide + this.showClose = true; // true to display the Close button, false to hide + this.showDetails = true; // true to display image details (caption, count), false to hide + this.showPlayPause = true; // true to display pause/play buttons next to close button, false to hide + this.autoEnd = true; // true to automatically close Lytebox after the last image is reached, false to keep open + this.pauseOnNextClick = false; // true to pause the slideshow when the "Next" button is clicked + this.pauseOnPrevClick = true; // true to pause the slideshow when the "Prev" button is clicked + /*** End Slideshow Configuration ***/ + + if(this.resizeSpeed > 10) { this.resizeSpeed = 10; } + if(this.resizeSpeed < 1) { resizeSpeed = 1; } + this.resizeDuration = (11 - this.resizeSpeed) * 0.15; + this.resizeWTimerArray = new Array(); + this.resizeWTimerCount = 0; + this.resizeHTimerArray = new Array(); + this.resizeHTimerCount = 0; + this.showContentTimerArray = new Array(); + this.showContentTimerCount = 0; + this.overlayTimerArray = new Array(); + this.overlayTimerCount = 0; + this.imageTimerArray = new Array(); + this.imageTimerCount = 0; + this.timerIDArray = new Array(); + this.timerIDCount = 0; + this.slideshowIDArray = new Array(); + this.slideshowIDCount = 0; + this.imageArray = new Array(); + this.activeImage = null; + this.slideArray = new Array(); + this.activeSlide = null; + this.frameArray = new Array(); + this.activeFrame = null; + this.checkFrame(); + this.isSlideshow = false; + this.isLyteframe = false; + /*@cc_on + /*@if (@_jscript) + this.ie = (document.all && !window.opera) ? true : false; + /*@else @*/ + this.ie = false; + /*@end + @*/ + this.ie7 = (this.ie && window.XMLHttpRequest); + this.initialize(); +} +LyteBox.prototype.initialize = function() { + this.updateLyteboxItems(); + var objBody = this.doc.getElementsByTagName("body").item(0); + if (this.doc.getElementById('lbOverlay')) { + objBody.removeChild(this.doc.getElementById("lbOverlay")); + objBody.removeChild(this.doc.getElementById("lbMain")); + } + var objOverlay = this.doc.createElement("div"); + objOverlay.setAttribute('id','lbOverlay'); + objOverlay.setAttribute((this.ie ? 'className' : 'class'), this.theme); + if ((this.ie && !this.ie7) || (this.ie7 && this.doc.compatMode == 'BackCompat')) { + objOverlay.style.position = 'absolute'; + } + objOverlay.style.display = 'none'; + objBody.appendChild(objOverlay); + var objLytebox = this.doc.createElement("div"); + objLytebox.setAttribute('id','lbMain'); + objLytebox.style.display = 'none'; + objBody.appendChild(objLytebox); + var objOuterContainer = this.doc.createElement("div"); + objOuterContainer.setAttribute('id','lbOuterContainer'); + objOuterContainer.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objLytebox.appendChild(objOuterContainer); + var objIframeContainer = this.doc.createElement("div"); + objIframeContainer.setAttribute('id','lbIframeContainer'); + objIframeContainer.style.display = 'none'; + objOuterContainer.appendChild(objIframeContainer); + var objIframe = this.doc.createElement("iframe"); + objIframe.setAttribute('id','lbIframe'); + objIframe.setAttribute('name','lbIframe'); + objIframe.style.display = 'none'; + objIframeContainer.appendChild(objIframe); + var objImageContainer = this.doc.createElement("div"); + objImageContainer.setAttribute('id','lbImageContainer'); + objOuterContainer.appendChild(objImageContainer); + var objLyteboxImage = this.doc.createElement("img"); + objLyteboxImage.setAttribute('id','lbImage'); + objImageContainer.appendChild(objLyteboxImage); + var objLoading = this.doc.createElement("div"); + objLoading.setAttribute('id','lbLoading'); + objOuterContainer.appendChild(objLoading); + var objDetailsContainer = this.doc.createElement("div"); + objDetailsContainer.setAttribute('id','lbDetailsContainer'); + objDetailsContainer.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objLytebox.appendChild(objDetailsContainer); + var objDetailsData =this.doc.createElement("div"); + objDetailsData.setAttribute('id','lbDetailsData'); + objDetailsData.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objDetailsContainer.appendChild(objDetailsData); + var objDetails = this.doc.createElement("div"); + objDetails.setAttribute('id','lbDetails'); + objDetailsData.appendChild(objDetails); + var objCaption = this.doc.createElement("span"); + objCaption.setAttribute('id','lbCaption'); + objDetails.appendChild(objCaption); + var objHoverNav = this.doc.createElement("div"); + objHoverNav.setAttribute('id','lbHoverNav'); + objImageContainer.appendChild(objHoverNav); + var objBottomNav = this.doc.createElement("div"); + objBottomNav.setAttribute('id','lbBottomNav'); + objDetailsData.appendChild(objBottomNav); + var objPrev = this.doc.createElement("a"); + objPrev.setAttribute('id','lbPrev'); + objPrev.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objPrev.setAttribute('href','#'); + objHoverNav.appendChild(objPrev); + var objNext = this.doc.createElement("a"); + objNext.setAttribute('id','lbNext'); + objNext.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objNext.setAttribute('href','#'); + objHoverNav.appendChild(objNext); + var objNumberDisplay = this.doc.createElement("span"); + objNumberDisplay.setAttribute('id','lbNumberDisplay'); + objDetails.appendChild(objNumberDisplay); + var objNavDisplay = this.doc.createElement("span"); + objNavDisplay.setAttribute('id','lbNavDisplay'); + objNavDisplay.style.display = 'none'; + objDetails.appendChild(objNavDisplay); + var objClose = this.doc.createElement("a"); + objClose.setAttribute('id','lbClose'); + objClose.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objClose.setAttribute('href','#'); + objBottomNav.appendChild(objClose); + var objPause = this.doc.createElement("a"); + objPause.setAttribute('id','lbPause'); + objPause.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objPause.setAttribute('href','#'); + objPause.style.display = 'none'; + objBottomNav.appendChild(objPause); + var objPlay = this.doc.createElement("a"); + objPlay.setAttribute('id','lbPlay'); + objPlay.setAttribute((this.ie ? 'className' : 'class'), this.theme); + objPlay.setAttribute('href','#'); + objPlay.style.display = 'none'; + objBottomNav.appendChild(objPlay); +}; +LyteBox.prototype.updateLyteboxItems = function() { + var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a'); + for (var i = 0; i < anchors.length; i++) { + var anchor = anchors[i]; + var relAttribute = String(anchor.getAttribute('rel')); + if (anchor.getAttribute('href')) { + if (relAttribute.toLowerCase().match('lytebox')) { + anchor.onclick = function () { myLytebox.start(this, false, false); return false; } + } else if (relAttribute.toLowerCase().match('lyteshow')) { + anchor.onclick = function () { myLytebox.start(this, true, false); return false; } + } else if (relAttribute.toLowerCase().match('lyteframe')) { + anchor.onclick = function () { myLytebox.start(this, false, true); return false; } + } + } + } +}; +LyteBox.prototype.start = function(imageLink, doSlide, doFrame) { + if (this.ie && !this.ie7) { this.toggleSelects('hide'); } + if (this.hideFlash) { this.toggleFlash('hide'); } + this.isLyteframe = (doFrame ? true : false); + var pageSize = this.getPageSize(); + var objOverlay = this.doc.getElementById('lbOverlay'); + var objBody = this.doc.getElementsByTagName("body").item(0); + objOverlay.style.height = pageSize[1] + "px"; + objOverlay.style.display = ''; + this.appear('lbOverlay', (this.doAnimations ? 0 : this.maxOpacity)); + var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a'); + if (this.isLyteframe) { + this.frameArray = []; + this.frameNum = 0; + if ((imageLink.getAttribute('rel') == 'lyteframe')) { + var rev = imageLink.getAttribute('rev'); + this.frameArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title'), (rev == null || rev == '' ? 'width: 400px; height: 400px; scrolling: auto;' : rev))); + } else { + if (imageLink.getAttribute('rel').indexOf('lyteframe') != -1) { + for (var i = 0; i < anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) { + var rev = anchor.getAttribute('rev'); + this.frameArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'), (rev == null || rev == '' ? 'width: 400px; height: 400px; scrolling: auto;' : rev))); + } + } + this.frameArray.removeDuplicates(); + while(this.frameArray[this.frameNum][0] != imageLink.getAttribute('href')) { this.frameNum++; } + } + } + } else { + this.imageArray = []; + this.imageNum = 0; + this.slideArray = []; + this.slideNum = 0; + if ((imageLink.getAttribute('rel') == 'lytebox')) { + this.imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title'))); + } else { + if (imageLink.getAttribute('rel').indexOf('lytebox') != -1) { + for (var i = 0; i < anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) { + this.imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'))); + } + } + this.imageArray.removeDuplicates(); + while(this.imageArray[this.imageNum][0] != imageLink.getAttribute('href')) { this.imageNum++; } + } + if (imageLink.getAttribute('rel').indexOf('lyteshow') != -1) { + for (var i = 0; i < anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) { + this.slideArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'))); + } + } + this.slideArray.removeDuplicates(); + while(this.slideArray[this.slideNum][0] != imageLink.getAttribute('href')) { this.slideNum++; } + } + } + } + var object = this.doc.getElementById('lbMain'); + object.style.top = (this.getPageScroll() + (pageSize[3] / 15)) + "px"; + object.style.display = ''; + if (!this.outerBorder) { + this.doc.getElementById('lbOuterContainer').style.border = 'none'; + this.doc.getElementById('lbDetailsContainer').style.border = 'none'; + } else { + this.doc.getElementById('lbOuterContainer').style.borderBottom = ''; + this.doc.getElementById('lbOuterContainer').setAttribute((this.ie ? 'className' : 'class'), this.theme); + } + this.doc.getElementById('lbOverlay').onclick = function() { myLytebox.end(); return false; } + this.doc.getElementById('lbMain').onclick = function(e) { + var e = e; + if (!e) { + if (window.parent.frames[window.name] && (parent.document.getElementsByTagName('frameset').length <= 0)) { + e = window.parent.window.event; + } else { + e = window.event; + } + } + var id = (e.target ? e.target.id : e.srcElement.id); + if (id == 'lbMain') { myLytebox.end(); return false; } + } + this.doc.getElementById('lbClose').onclick = function() { myLytebox.end(); return false; } + this.doc.getElementById('lbPause').onclick = function() { myLytebox.togglePlayPause("lbPause", "lbPlay"); return false; } + this.doc.getElementById('lbPlay').onclick = function() { myLytebox.togglePlayPause("lbPlay", "lbPause"); return false; } + this.isSlideshow = doSlide; + this.isPaused = (this.slideNum != 0 ? true : false); + if (this.isSlideshow && this.showPlayPause && this.isPaused) { + this.doc.getElementById('lbPlay').style.display = ''; + this.doc.getElementById('lbPause').style.display = 'none'; + } + if (this.isLyteframe) { + this.changeContent(this.frameNum); + } else { + if (this.isSlideshow) { + this.changeContent(this.slideNum); + } else { + this.changeContent(this.imageNum); + } + } +}; +LyteBox.prototype.changeContent = function(imageNum) { + if (this.isSlideshow) { + for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); } + } + this.activeImage = this.activeSlide = this.activeFrame = imageNum; + if (!this.outerBorder) { + this.doc.getElementById('lbOuterContainer').style.border = 'none'; + this.doc.getElementById('lbDetailsContainer').style.border = 'none'; + } else { + this.doc.getElementById('lbOuterContainer').style.borderBottom = ''; + this.doc.getElementById('lbOuterContainer').setAttribute((this.ie ? 'className' : 'class'), this.theme); + } + this.doc.getElementById('lbLoading').style.display = ''; + this.doc.getElementById('lbImage').style.display = 'none'; + this.doc.getElementById('lbIframe').style.display = 'none'; + this.doc.getElementById('lbPrev').style.display = 'none'; + this.doc.getElementById('lbNext').style.display = 'none'; + this.doc.getElementById('lbIframeContainer').style.display = 'none'; + this.doc.getElementById('lbDetailsContainer').style.display = 'none'; + this.doc.getElementById('lbNumberDisplay').style.display = 'none'; + if (this.navType == 2 || this.isLyteframe) { + object = this.doc.getElementById('lbNavDisplay'); + object.innerHTML = ' <span id="lbPrev2_Off" style="display: none;" class="' + this.theme + '">« prev</span><a href="#" id="lbPrev2" class="' + this.theme + '" style="display: none;">« prev</a> <b id="lbSpacer" class="' + this.theme + '">||</b> <span id="lbNext2_Off" style="display: none;" class="' + this.theme + '">next »</span><a href="#" id="lbNext2" class="' + this.theme + '" style="display: none;">next »</a>'; + object.style.display = 'none'; + } + if (this.isLyteframe) { + var iframe = myLytebox.doc.getElementById('lbIframe'); + var styles = this.frameArray[this.activeFrame][2]; + var aStyles = styles.split(';'); + for (var i = 0; i < aStyles.length; i++) { + if (aStyles[i].indexOf('width:') >= 0) { + var w = aStyles[i].replace('width:', ''); + iframe.width = w.trim(); + } else if (aStyles[i].indexOf('height:') >= 0) { + var h = aStyles[i].replace('height:', ''); + iframe.height = h.trim(); + } else if (aStyles[i].indexOf('scrolling:') >= 0) { + var s = aStyles[i].replace('scrolling:', ''); + iframe.scrolling = s.trim(); + } else if (aStyles[i].indexOf('border:') >= 0) { + // Not implemented yet, as there are cross-platform issues with setting the border (from a GUI standpoint) + //var b = aStyles[i].replace('border:', ''); + //iframe.style.border = b.trim(); + } + } + this.resizeContainer(parseInt(iframe.width), parseInt(iframe.height)); + } else { + imgPreloader = new Image(); + imgPreloader.onload = function() { + var imageWidth = imgPreloader.width; + var imageHeight = imgPreloader.height; + if (myLytebox.autoResize) { + var pagesize = myLytebox.getPageSize(); + var x = pagesize[2] - 150; + var y = pagesize[3] - 150; + if (imageWidth > x) { + imageHeight = Math.round(imageHeight * (x / imageWidth)); + imageWidth = x; + if (imageHeight > y) { + imageWidth = Math.round(imageWidth * (y / imageHeight)); + imageHeight = y; + } + } else if (imageHeight > y) { + imageWidth = Math.round(imageWidth * (y / imageHeight)); + imageHeight = y; + if (imageWidth > x) { + imageHeight = Math.round(imageHeight * (x / imageWidth)); + imageWidth = x; + } + } + } + var lbImage = myLytebox.doc.getElementById('lbImage') + lbImage.src = (myLytebox.isSlideshow ? myLytebox.slideArray[myLytebox.activeSlide][0] : myLytebox.imageArray[myLytebox.activeImage][0]); + lbImage.width = imageWidth; + lbImage.height = imageHeight; + myLytebox.resizeContainer(imageWidth, imageHeight); + imgPreloader.onload = function() {}; + } + imgPreloader.src = (this.isSlideshow ? this.slideArray[this.activeSlide][0] : this.imageArray[this.activeImage][0]); + } +}; +LyteBox.prototype.resizeContainer = function(imgWidth, imgHeight) { + this.wCur = this.doc.getElementById('lbOuterContainer').offsetWidth; + this.hCur = this.doc.getElementById('lbOuterContainer').offsetHeight; + this.xScale = ((imgWidth + (this.borderSize * 2)) / this.wCur) * 100; + this.yScale = ((imgHeight + (this.borderSize * 2)) / this.hCur) * 100; + var wDiff = (this.wCur - this.borderSize * 2) - imgWidth; + var hDiff = (this.hCur - this.borderSize * 2) - imgHeight; + if (!(hDiff == 0)) { + this.hDone = false; + this.resizeH('lbOuterContainer', this.hCur, imgHeight + this.borderSize*2, this.getPixelRate(this.hCur, imgHeight)); + } else { + this.hDone = true; + } + if (!(wDiff == 0)) { + this.wDone = false; + this.resizeW('lbOuterContainer', this.wCur, imgWidth + this.borderSize*2, this.getPixelRate(this.wCur, imgWidth)); + } else { + this.wDone = true; + } + if ((hDiff == 0) && (wDiff == 0)) { + if (this.ie){ this.pause(250); } else { this.pause(100); } + } + this.doc.getElementById('lbPrev').style.height = imgHeight + "px"; + this.doc.getElementById('lbNext').style.height = imgHeight + "px"; + this.doc.getElementById('lbDetailsContainer').style.width = (imgWidth + (this.borderSize * 2) + (this.ie && this.doc.compatMode == "BackCompat" && this.outerBorder ? 2 : 0)) + "px"; + this.showContent(); +}; +LyteBox.prototype.showContent = function() { + if (this.wDone && this.hDone) { + for (var i = 0; i < this.showContentTimerCount; i++) { window.clearTimeout(this.showContentTimerArray[i]); } + if (this.outerBorder) { + this.doc.getElementById('lbOuterContainer').style.borderBottom = 'none'; + } + this.doc.getElementById('lbLoading').style.display = 'none'; + if (this.isLyteframe) { + this.doc.getElementById('lbIframe').style.display = ''; + this.appear('lbIframe', (this.doAnimations ? 0 : 100)); + } else { + this.doc.getElementById('lbImage').style.display = ''; + this.appear('lbImage', (this.doAnimations ? 0 : 100)); + this.preloadNeighborImages(); + } + if (this.isSlideshow) { + if(this.activeSlide == (this.slideArray.length - 1)) { + if (this.autoEnd) { + this.slideshowIDArray[this.slideshowIDCount++] = setTimeout("myLytebox.end('slideshow')", this.slideInterval); + } + } else { + if (!this.isPaused) { + this.slideshowIDArray[this.slideshowIDCount++] = setTimeout("myLytebox.changeContent("+(this.activeSlide+1)+")", this.slideInterval); + } + } + this.doc.getElementById('lbHoverNav').style.display = (this.showNavigation && this.navType == 1 ? '' : 'none'); + this.doc.getElementById('lbClose').style.display = (this.showClose ? '' : 'none'); + this.doc.getElementById('lbDetails').style.display = (this.showDetails ? '' : 'none'); + this.doc.getElementById('lbPause').style.display = (this.showPlayPause && !this.isPaused ? '' : 'none'); + this.doc.getElementById('lbPlay').style.display = (this.showPlayPause && !this.isPaused ? 'none' : ''); + this.doc.getElementById('lbNavDisplay').style.display = (this.showNavigation && this.navType == 2 ? '' : 'none'); + } else { + this.doc.getElementById('lbHoverNav').style.display = (this.navType == 1 && !this.isLyteframe ? '' : 'none'); + if ((this.navType == 2 && !this.isLyteframe && this.imageArray.length > 1) || (this.frameArray.length > 1 && this.isLyteframe)) { + this.doc.getElementById('lbNavDisplay').style.display = ''; + } else { + this.doc.getElementById('lbNavDisplay').style.display = 'none'; + } + this.doc.getElementById('lbClose').style.display = ''; + this.doc.getElementById('lbDetails').style.display = ''; + this.doc.getElementById('lbPause').style.display = 'none'; + this.doc.getElementById('lbPlay').style.display = 'none'; + } + this.doc.getElementById('lbImageContainer').style.display = (this.isLyteframe ? 'none' : ''); + this.doc.getElementById('lbIframeContainer').style.display = (this.isLyteframe ? '' : 'none'); + try { + this.doc.getElementById('lbIframe').src = this.frameArray[this.activeFrame][0]; + } catch(e) { } + } else { + this.showContentTimerArray[this.showContentTimerCount++] = setTimeout("myLytebox.showContent()", 200); + } +}; +LyteBox.prototype.updateDetails = function() { + var object = this.doc.getElementById('lbCaption'); + var sTitle = (this.isSlideshow ? this.slideArray[this.activeSlide][1] : (this.isLyteframe ? this.frameArray[this.activeFrame][1] : this.imageArray[this.activeImage][1])); + object.style.display = ''; + object.innerHTML = (sTitle == null ? '' : sTitle); + this.updateNav(); + this.doc.getElementById('lbDetailsContainer').style.display = ''; + object = this.doc.getElementById('lbNumberDisplay'); + if (this.isSlideshow && this.slideArray.length > 1) { + object.style.display = ''; + object.innerHTML = "Image " + eval(this.activeSlide + 1) + " of " + this.slideArray.length; + this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 && this.showNavigation ? '' : 'none'); + } else if (this.imageArray.length > 1 && !this.isLyteframe) { + object.style.display = ''; + object.innerHTML = "Image " + eval(this.activeImage + 1) + " of " + this.imageArray.length; + this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 ? '' : 'none'); + } else if (this.frameArray.length > 1 && this.isLyteframe) { + object.style.display = ''; + object.innerHTML = "Page " + eval(this.activeFrame + 1) + " of " + this.frameArray.length; + this.doc.getElementById('lbNavDisplay').style.display = ''; + } else { + this.doc.getElementById('lbNavDisplay').style.display = 'none'; + } + this.appear('lbDetailsContainer', (this.doAnimations ? 0 : 100)); +}; +LyteBox.prototype.updateNav = function() { + if (this.isSlideshow) { + if (this.activeSlide != 0) { + var object = (this.navType == 2 ? this.doc.getElementById('lbPrev2') : this.doc.getElementById('lbPrev')); + object.style.display = ''; + object.onclick = function() { + if (myLytebox.pauseOnPrevClick) { myLytebox.togglePlayPause("lbPause", "lbPlay"); } + myLytebox.changeContent(myLytebox.activeSlide - 1); return false; + } + } else { + if (this.navType == 2) { this.doc.getElementById('lbPrev2_Off').style.display = ''; } + } + if (this.activeSlide != (this.slideArray.length - 1)) { + var object = (this.navType == 2 ? this.doc.getElementById('lbNext2') : this.doc.getElementById('lbNext')); + object.style.display = ''; + object.onclick = function() { + if (myLytebox.pauseOnNextClick) { myLytebox.togglePlayPause("lbPause", "lbPlay"); } + myLytebox.changeContent(myLytebox.activeSlide + 1); return false; + } + } else { + if (this.navType == 2) { this.doc.getElementById('lbNext2_Off').style.display = ''; } + } + } else if (this.isLyteframe) { + if(this.activeFrame != 0) { + var object = this.doc.getElementById('lbPrev2'); + object.style.display = ''; + object.onclick = function() { + myLytebox.changeContent(myLytebox.activeFrame - 1); return false; + } + } else { + this.doc.getElementById('lbPrev2_Off').style.display = ''; + } + if(this.activeFrame != (this.frameArray.length - 1)) { + var object = this.doc.getElementById('lbNext2'); + object.style.display = ''; + object.onclick = function() { + myLytebox.changeContent(myLytebox.activeFrame + 1); return false; + } + } else { + this.doc.getElementById('lbNext2_Off').style.display = ''; + } + } else { + if(this.activeImage != 0) { + var object = (this.navType == 2 ? this.doc.getElementById('lbPrev2') : this.doc.getElementById('lbPrev')); + object.style.display = ''; + object.onclick = function() { + myLytebox.changeContent(myLytebox.activeImage - 1); return false; + } + } else { + if (this.navType == 2) { this.doc.getElementById('lbPrev2_Off').style.display = ''; } + } + if(this.activeImage != (this.imageArray.length - 1)) { + var object = (this.navType == 2 ? this.doc.getElementById('lbNext2') : this.doc.getElementById('lbNext')); + object.style.display = ''; + object.onclick = function() { + myLytebox.changeContent(myLytebox.activeImage + 1); return false; + } + } else { + if (this.navType == 2) { this.doc.getElementById('lbNext2_Off').style.display = ''; } + } + } + this.enableKeyboardNav(); +}; +LyteBox.prototype.enableKeyboardNav = function() { document.onkeydown = this.keyboardAction; }; +LyteBox.prototype.disableKeyboardNav = function() { document.onkeydown = ''; }; +LyteBox.prototype.keyboardAction = function(e) { + var keycode = key = escape = null; + keycode = (e == null) ? event.keyCode : e.which; + key = String.fromCharCode(keycode).toLowerCase(); + escape = (e == null) ? 27 : e.DOM_VK_ESCAPE; + if ((key == 'x') || (key == 'c') || (keycode == escape)) { + myLytebox.end(); + } else if ((key == 'p') || (keycode == 37)) { + if (myLytebox.isSlideshow) { + if(myLytebox.activeSlide != 0) { + myLytebox.disableKeyboardNav(); + myLytebox.changeContent(myLytebox.activeSlide - 1); + } + } else if (myLytebox.isLyteframe) { + if(myLytebox.activeFrame != 0) { + myLytebox.disableKeyboardNav(); + myLytebox.changeContent(myLytebox.activeFrame - 1); + } + } else { + if(myLytebox.activeImage != 0) { + myLytebox.disableKeyboardNav(); + myLytebox.changeContent(myLytebox.activeImage - 1); + } + } + } else if ((key == 'n') || (keycode == 39)) { + if (myLytebox.isSlideshow) { + if(myLytebox.activeSlide != (myLytebox.slideArray.length - 1)) { + myLytebox.disableKeyboardNav(); + myLytebox.changeContent(myLytebox.activeSlide + 1); + } + } else if (myLytebox.isLyteframe) { + if(myLytebox.activeFrame != (myLytebox.frameArray.length - 1)) { + myLytebox.disableKeyboardNav(); + myLytebox.changeContent(myLytebox.activeFrame + 1); + } + } else { + if(myLytebox.activeImage != (myLytebox.imageArray.length - 1)) { + myLytebox.disableKeyboardNav(); + myLytebox.changeContent(myLytebox.activeImage + 1); + } + } + } +}; +LyteBox.prototype.preloadNeighborImages = function() { + if (this.isSlideshow) { + if ((this.slideArray.length - 1) > this.activeSlide) { + preloadNextImage = new Image(); + preloadNextImage.src = this.slideArray[this.activeSlide + 1][0]; + } + if(this.activeSlide > 0) { + preloadPrevImage = new Image(); + preloadPrevImage.src = this.slideArray[this.activeSlide - 1][0]; + } + } else { + if ((this.imageArray.length - 1) > this.activeImage) { + preloadNextImage = new Image(); + preloadNextImage.src = this.imageArray[this.activeImage + 1][0]; + } + if(this.activeImage > 0) { + preloadPrevImage = new Image(); + preloadPrevImage.src = this.imageArray[this.activeImage - 1][0]; + } + } +}; +LyteBox.prototype.togglePlayPause = function(hideID, showID) { + if (this.isSlideshow && hideID == "lbPause") { + for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); } + } + this.doc.getElementById(hideID).style.display = 'none'; + this.doc.getElementById(showID).style.display = ''; + if (hideID == "lbPlay") { + this.isPaused = false; + if (this.activeSlide == (this.slideArray.length - 1)) { + this.end(); + } else { + this.changeContent(this.activeSlide + 1); + } + } else { + this.isPaused = true; + } +}; +LyteBox.prototype.end = function(caller) { + var closeClick = (caller == 'slideshow' ? false : true); + if (this.isSlideshow && this.isPaused && !closeClick) { return; } + this.disableKeyboardNav(); + this.doc.getElementById('lbMain').style.display = 'none'; + this.fade('lbOverlay', (this.doAnimations ? this.maxOpacity : 0)); + this.toggleSelects('visible'); + if (this.hideFlash) { this.toggleFlash('visible'); } + if (this.isSlideshow) { + for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); } + } + if (this.isLyteframe) { + this.initialize(); + } +}; +LyteBox.prototype.checkFrame = function() { + if (window.parent.frames[window.name] && (parent.document.getElementsByTagName('frameset').length <= 0)) { + this.isFrame = true; + this.lytebox = "window.parent." + window.name + ".myLytebox"; + this.doc = parent.document; + } else { + this.isFrame = false; + this.lytebox = "myLytebox"; + this.doc = document; + } +}; +LyteBox.prototype.getPixelRate = function(cur, img) { + var diff = (img > cur) ? img - cur : cur - img; + if (diff >= 0 && diff <= 100) { return 10; } + if (diff > 100 && diff <= 200) { return 15; } + if (diff > 200 && diff <= 300) { return 20; } + if (diff > 300 && diff <= 400) { return 25; } + if (diff > 400 && diff <= 500) { return 30; } + if (diff > 500 && diff <= 600) { return 35; } + if (diff > 600 && diff <= 700) { return 40; } + if (diff > 700) { return 45; } +}; +LyteBox.prototype.appear = function(id, opacity) { + var object = this.doc.getElementById(id).style; + object.opacity = (opacity / 100); + object.MozOpacity = (opacity / 100); + object.KhtmlOpacity = (opacity / 100); + object.filter = "alpha(opacity=" + (opacity + 10) + ")"; + if (opacity == 100 && (id == 'lbImage' || id == 'lbIframe')) { + try { object.removeAttribute("filter"); } catch(e) {} /* Fix added for IE Alpha Opacity Filter bug. */ + this.updateDetails(); + } else if (opacity >= this.maxOpacity && id == 'lbOverlay') { + for (var i = 0; i < this.overlayTimerCount; i++) { window.clearTimeout(this.overlayTimerArray[i]); } + return; + } else if (opacity >= 100 && id == 'lbDetailsContainer') { + try { object.removeAttribute("filter"); } catch(e) {} /* Fix added for IE Alpha Opacity Filter bug. */ + for (var i = 0; i < this.imageTimerCount; i++) { window.clearTimeout(this.imageTimerArray[i]); } + this.doc.getElementById('lbOverlay').style.height = this.getPageSize()[1] + "px"; + } else { + if (id == 'lbOverlay') { + this.overlayTimerArray[this.overlayTimerCount++] = setTimeout("myLytebox.appear('" + id + "', " + (opacity+20) + ")", 1); + } else { + this.imageTimerArray[this.imageTimerCount++] = setTimeout("myLytebox.appear('" + id + "', " + (opacity+10) + ")", 1); + } + } +}; +LyteBox.prototype.fade = function(id, opacity) { + var object = this.doc.getElementById(id).style; + object.opacity = (opacity / 100); + object.MozOpacity = (opacity / 100); + object.KhtmlOpacity = (opacity / 100); + object.filter = "alpha(opacity=" + opacity + ")"; + if (opacity <= 0) { + try { + object.display = 'none'; + } catch(err) { } + } else if (id == 'lbOverlay') { + this.overlayTimerArray[this.overlayTimerCount++] = setTimeout("myLytebox.fade('" + id + "', " + (opacity-20) + ")", 1); + } else { + this.timerIDArray[this.timerIDCount++] = setTimeout("myLytebox.fade('" + id + "', " + (opacity-10) + ")", 1); + } +}; +LyteBox.prototype.resizeW = function(id, curW, maxW, pixelrate, speed) { + if (!this.hDone) { + this.resizeWTimerArray[this.resizeWTimerCount++] = setTimeout("myLytebox.resizeW('" + id + "', " + curW + ", " + maxW + ", " + pixelrate + ")", 100); + return; + } + var object = this.doc.getElementById(id); + var timer = speed ? speed : (this.resizeDuration/2); + var newW = (this.doAnimations ? curW : maxW); + object.style.width = (newW) + "px"; + if (newW < maxW) { + newW += (newW + pixelrate >= maxW) ? (maxW - newW) : pixelrate; + } else if (newW > maxW) { + newW -= (newW - pixelrate <= maxW) ? (newW - maxW) : pixelrate; + } + this.resizeWTimerArray[this.resizeWTimerCount++] = setTimeout("myLytebox.resizeW('" + id + "', " + newW + ", " + maxW + ", " + pixelrate + ", " + (timer+0.02) + ")", timer+0.02); + if (parseInt(object.style.width) == maxW) { + this.wDone = true; + for (var i = 0; i < this.resizeWTimerCount; i++) { window.clearTimeout(this.resizeWTimerArray[i]); } + } +}; +LyteBox.prototype.resizeH = function(id, curH, maxH, pixelrate, speed) { + var timer = speed ? speed : (this.resizeDuration/2); + var object = this.doc.getElementById(id); + var newH = (this.doAnimations ? curH : maxH); + object.style.height = (newH) + "px"; + if (newH < maxH) { + newH += (newH + pixelrate >= maxH) ? (maxH - newH) : pixelrate; + } else if (newH > maxH) { + newH -= (newH - pixelrate <= maxH) ? (newH - maxH) : pixelrate; + } + this.resizeHTimerArray[this.resizeHTimerCount++] = setTimeout("myLytebox.resizeH('" + id + "', " + newH + ", " + maxH + ", " + pixelrate + ", " + (timer+.02) + ")", timer+.02); + if (parseInt(object.style.height) == maxH) { + this.hDone = true; + for (var i = 0; i < this.resizeHTimerCount; i++) { window.clearTimeout(this.resizeHTimerArray[i]); } + } +}; +LyteBox.prototype.getPageScroll = function() { + if (self.pageYOffset) { + return this.isFrame ? parent.pageYOffset : self.pageYOffset; + } else if (this.doc.documentElement && this.doc.documentElement.scrollTop){ + return this.doc.documentElement.scrollTop; + } else if (document.body) { + return this.doc.body.scrollTop; + } +}; +LyteBox.prototype.getPageSize = function() { + var xScroll, yScroll, windowWidth, windowHeight; + if (window.innerHeight && window.scrollMaxY) { + xScroll = this.doc.scrollWidth; + yScroll = (this.isFrame ? parent.innerHeight : self.innerHeight) + (this.isFrame ? parent.scrollMaxY : self.scrollMaxY); + } else if (this.doc.body.scrollHeight > this.doc.body.offsetHeight){ + xScroll = this.doc.body.scrollWidth; + yScroll = this.doc.body.scrollHeight; + } else { + xScroll = this.doc.getElementsByTagName("html").item(0).offsetWidth; + yScroll = this.doc.getElementsByTagName("html").item(0).offsetHeight; + xScroll = (xScroll < this.doc.body.offsetWidth) ? this.doc.body.offsetWidth : xScroll; + yScroll = (yScroll < this.doc.body.offsetHeight) ? this.doc.body.offsetHeight : yScroll; + } + if (self.innerHeight) { + windowWidth = (this.isFrame) ? parent.innerWidth : self.innerWidth; + windowHeight = (this.isFrame) ? parent.innerHeight : self.innerHeight; + } else if (document.documentElement && document.documentElement.clientHeight) { + windowWidth = this.doc.documentElement.clientWidth; + windowHeight = this.doc.documentElement.clientHeight; + } else if (document.body) { + windowWidth = this.doc.getElementsByTagName("html").item(0).clientWidth; + windowHeight = this.doc.getElementsByTagName("html").item(0).clientHeight; + windowWidth = (windowWidth == 0) ? this.doc.body.clientWidth : windowWidth; + windowHeight = (windowHeight == 0) ? this.doc.body.clientHeight : windowHeight; + } + var pageHeight = (yScroll < windowHeight) ? windowHeight : yScroll; + var pageWidth = (xScroll < windowWidth) ? windowWidth : xScroll; + return new Array(pageWidth, pageHeight, windowWidth, windowHeight); +}; +LyteBox.prototype.toggleFlash = function(state) { + var objects = this.doc.getElementsByTagName("object"); + for (var i = 0; i < objects.length; i++) { + objects[i].style.visibility = (state == "hide") ? 'hidden' : 'visible'; + } + var embeds = this.doc.getElementsByTagName("embed"); + for (var i = 0; i < embeds.length; i++) { + embeds[i].style.visibility = (state == "hide") ? 'hidden' : 'visible'; + } + if (this.isFrame) { + for (var i = 0; i < parent.frames.length; i++) { + try { + objects = parent.frames[i].window.document.getElementsByTagName("object"); + for (var j = 0; j < objects.length; j++) { + objects[j].style.visibility = (state == "hide") ? 'hidden' : 'visible'; + } + } catch(e) { } + try { + embeds = parent.frames[i].window.document.getElementsByTagName("embed"); + for (var j = 0; j < embeds.length; j++) { + embeds[j].style.visibility = (state == "hide") ? 'hidden' : 'visible'; + } + } catch(e) { } + } + } +}; +LyteBox.prototype.toggleSelects = function(state) { + var selects = this.doc.getElementsByTagName("select"); + for (var i = 0; i < selects.length; i++ ) { + selects[i].style.visibility = (state == "hide") ? 'hidden' : 'visible'; + } + if (this.isFrame) { + for (var i = 0; i < parent.frames.length; i++) { + try { + selects = parent.frames[i].window.document.getElementsByTagName("select"); + for (var j = 0; j < selects.length; j++) { + selects[j].style.visibility = (state == "hide") ? 'hidden' : 'visible'; + } + } catch(e) { } + } + } +}; +LyteBox.prototype.pause = function(numberMillis) { + var now = new Date(); + var exitTime = now.getTime() + numberMillis; + while (true) { + now = new Date(); + if (now.getTime() > exitTime) { return; } + } +}; +if (window.addEventListener) { + window.addEventListener("load",initLytebox,false); +} else if (window.attachEvent) { + window.attachEvent("onload",initLytebox); +} else { + window.onload = function() {initLytebox();} +} +function initLytebox() { myLytebox = new LyteBox(); } \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php new file mode 100644 index 000000000..33c490760 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/index.php @@ -0,0 +1,203 @@ +<?php $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery); ?> +<?php if ($show_thumbnail_link): ?> +<!-- Thumbnails Link --> +<div class="slideshowlink"> + <a href='<?php echo $thumbnail_link ?>'><?php echo_h($thumbnail_link_text) ?></a> +</div> +<?php endif ?> + +<?php if ($flash_enabled): ?> + <!-- Display Flash Slideshow --> + + <?php + // Configure slideshow parameters + $width = $gallery_width; + $height = $gallery_height; + + if ($cycle_interval == 0) + $cycle_interval = 1; + + if ($flash_background_color && $flash_background_color[0] == '#') + $flash_background_color = substr($flash_background_color, 1); + + if ($flash_text_color && $flash_text_color[0] == '#') + $flash_text_color = substr($flash_text_color, 1); + + if ($flash_rollover_color && $flash_rollover_color[0] == '#') + $flash_rollover_color = substr($flash_rollover_color, 1); + + if ($flash_screen_color && $flash_screen_color[0] == '#') + $flash_screen_color = substr($flash_screen_color, 1); + + // init the flash output + $swfobject = new swfobject( $flash_path, 'so' . $displayed_gallery_id, $width, $height, '7.0.0', 'false'); + + $swfobject->message = '<p>' . __('Slideshows require the <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> and a <a href="http://www.mozilla.com/firefox/">browser with Javascript support</a>.', 'nggallery') . '</p>'; + + $swfobject->add_params('wmode', 'opaque'); + $swfobject->add_params('allowfullscreen', 'true'); + $swfobject->add_params('bgcolor', $flash_screen_color, 'FFFFFF', 'string', '#'); + $swfobject->add_attributes('styleclass', 'slideshow'); + $swfobject->add_attributes('name', 'so' . $displayed_gallery_id); + + // adding the flash parameter + //$swfobject->add_flashvars( 'file', urlencode ( trailingslashit ( home_url() ) . 'index.php?callback=imagerotator&gid=' . $displayed_gallery_id ) ); + $swfobject->add_flashvars( 'file', urlencode ( $mediarss_link ) ); + $swfobject->add_flashvars( 'shuffle', $flash_shuffle, 'false', 'bool'); + + // option has oposite meaning : true should switch to next image + $swfobject->add_flashvars( 'linkfromdisplay', !$flash_next_on_click, 'false', 'bool'); + $swfobject->add_flashvars( 'shownavigation', $flash_navigation_bar, 'true', 'bool'); + $swfobject->add_flashvars( 'showicons', $flash_loading_icon, 'true', 'bool'); + $swfobject->add_flashvars( 'kenburns', $flash_slow_zoom, 'false', 'bool'); + $swfobject->add_flashvars( 'overstretch', $flash_stretch_image, 'false', 'string'); + $swfobject->add_flashvars( 'rotatetime', $cycle_interval, 5, 'int'); + $swfobject->add_flashvars( 'transition', $flash_transition_effect, 'random', 'string'); + + $swfobject->add_flashvars( 'backcolor', $flash_background_color, 'FFFFFF', 'string', '0x'); + $swfobject->add_flashvars( 'frontcolor', $flash_text_color, '000000', 'string', '0x'); + $swfobject->add_flashvars( 'lightcolor', $flash_rollover_color, '000000', 'string', '0x'); + $swfobject->add_flashvars( 'screencolor', $flash_screen_color, '000000', 'string', '0x'); + if ($flash_watermark_logo) { + $ngg_options = C_NextGen_Settings::get_instance(); + $swfobject->add_flashvars( 'logo', $ngg_options['wmPath'], '', 'string'); + } + + + $swfobject->add_flashvars( 'audio', $flash_background_music, '', 'string'); + $swfobject->add_flashvars( 'width', $width, '260'); + $swfobject->add_flashvars( 'height', $height, '320'); + ?> + + <div class="slideshow" id="gallery_<?php echo_h($displayed_gallery_id) ?>"> + <?php echo $swfobject->output(); ?> + </div> + <script type="text/javascript" defer="defer"> + <?php if ($flash_xhtml_validation): ?> + <!-- + <?php endif ?> + jQuery(function($){ + <?php echo $swfobject->javascript(); ?> + }); + <?php if ($flash_xhtml_validation): ?> + --> + <?php endif ?> + </script> + +<?php else: ?> + <!-- Display JQuery Cycle Slideshow --> + <div class="ngg-slideshow-image-list ngg-slideshow-nojs" id="<?php echo_h($anchor)?>-image-list"> + <?php + + $this->include_template('photocrati-nextgen_gallery_display#list/before'); + + ?> + <?php for ($i=0; $i<count($images); $i++): ?> + + <?php + // Determine image dimensions + $image = $images[$i]; + $image_size = $storage->get_original_dimensions($image); + + if ($image_size == null) { + $image_size['width'] = $image->meta_data['width']; + $image_size['height'] = $image->meta_data['height']; + } + + // Determine whether an image is hidden or not + if (isset($image->hidden) && $image->hidden) { + $image->style = 'style="display: none;"'; + } + else { + $image->style = ''; + } + + // Determine image aspect ratio + $image_ratio = $image_size['width'] / $image_size['height']; + if ($image_ratio > $aspect_ratio) { + if ($image_size['width'] > $gallery_width) { + $image_size['width'] = $gallery_width; + $image_size['height'] = (int) round($gallery_width / $image_ratio); + } + } + else { + if ($image_size['height'] > $gallery_height) { + $image_size['width'] = (int) round($gallery_height * $image_ratio); + $image_size['height'] = $gallery_height; + } + } + ?> + + <?php + + $template_params = array( + 'index' => $i, + 'class' => 'ngg-gallery-slideshow-image' + ); + $template_params = array_merge(get_defined_vars(), $template_params); + + $this->include_template('photocrati-nextgen_gallery_display#image/before', $template_params); + + ?> + + <img data-image-id='<?php echo esc_attr($image->pid); ?>' + title="<?php echo esc_attr($image->description)?>" + alt="<?php echo esc_attr($image->alttext)?>" + src="<?php echo esc_attr($storage->get_image_url($image))?>" + width="<?php echo esc_attr($image_size['width'])?>" + height="<?php echo esc_attr($image_size['height'])?>" + /> + + <?php + + $this->include_template('photocrati-nextgen_gallery_display#image/after', $template_params); + + ?> + + <?php endfor ?> + + <?php + + $this->include_template('photocrati-nextgen_gallery_display#list/after'); + + ?> + </div> + + <?php + + $this->include_template('photocrati-nextgen_gallery_display#container/before'); + + ?> + <div + class="ngg-galleryoverview ngg-slideshow" + id="<?php echo_h($anchor)?>" + data-placeholder="<?php echo esc_url($placeholder)?>" + style="max-width:<?php echo_h($gallery_width) ?>px; max-height:<?php echo_h($gallery_height) ?>px;"> + + <div + class="ngg-slideshow-loader" + id="<?php echo_h($anchor)?>-loader" + style="width:<?php echo_h($gallery_width) ?>px; height:<?php echo_h($gallery_height) ?>px;"> + <img src="<?php echo_h(NGGALLERY_URLPATH) ?>images/loader.gif" alt="" /> + </div> + </div> + <?php + + $this->include_template('photocrati-nextgen_gallery_display#container/after'); + + ?> + <script type="text/javascript"> + jQuery('#<?php echo_h($anchor)?>-image-list').hide().removeClass('ngg-slideshow-nojs'); + jQuery(function($){ + jQuery('#<?php echo_h($anchor); ?>').nggShowSlideshow({ + id: '<?php echo_h($displayed_gallery_id); ?>', + fx: '<?php echo_h($cycle_effect); ?>', + width: <?php echo_h($gallery_width); ?>, + height: <?php echo_h($gallery_height); ?>, + domain: '<?php echo_h(trailingslashit(home_url())); ?>', + timeout: <?php echo_h(intval($cycle_interval) * 1000); ?> + }); + }); + </script> +<?php endif ?> +<?php $this->end_element(); ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php new file mode 100644 index 000000000..f1a2b5787 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/slideshow/nextgen_basic_slideshow_settings_gallery_dimensions.php @@ -0,0 +1,27 @@ +<tr> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_gallery_width'> + <?php echo_h($gallery_dimensions_label); ?> + </label> + </td> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_gallery_width'>w</label> + <input type='number' + id='<?php echo esc_attr($display_type_name); ?>_gallery_width' + name='<?php echo esc_attr($display_type_name); ?>[gallery_width]' + class='nextgen_settings_field_width_and_height' + placeholder='<?php _e('Width'); ?>' + min='1' + required='required' + value='<?php echo esc_attr($gallery_width); ?>'/> / + <input type='number' + id='<?php echo esc_attr($display_type_name); ?>_gallery_height' + name='<?php echo esc_attr($display_type_name); ?>[gallery_height]' + class='nextgen_settings_field_width_and_height' + placeholder='<?php _e('Height'); ?>' + min='1' + required='required' + value='<?php echo esc_attr($gallery_height); ?>'/> + <label for='<?php echo esc_attr($display_type_name); ?>_gallery_height'>h</label> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php new file mode 100644 index 000000000..91886cbb2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php @@ -0,0 +1,99 @@ +<?php + +$this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery); + +?> +<div + class="ngg-galleryoverview" + id="ngg-gallery-<?php echo_h($displayed_gallery_id)?>-<?php echo_h($current_page)?>"> + + <?php if (!empty($slideshow_link)): ?> + <div class="slideshowlink"> + <a href='<?php echo $slideshow_link ?>'><?php echo $slideshow_link_text ?></a> + + </div> + <?php endif ?> + + <?php if ($show_piclens_link): ?> + <!-- Piclense link --> + <div class="piclenselink"> + <a class="piclenselink" href="<?php echo esc_attr($piclens_link) ?>"> + <?php echo_h($piclens_link_text); ?> + </a> + </div> + <?php endif ?> + <?php + + $this->start_element('nextgen_gallery.image_list_container', 'container', $images); + + ?> + <!-- Thumbnails --> + <?php for ($i=0; $i<count($images); $i++): + $image = $images[$i]; + $thumb_size = $storage->get_image_dimensions($image, $thumbnail_size_name); + $style = isset($image->style) ? $image->style : null; + + if (isset($image->hidden) && $image->hidden) { + $style = 'style="display: none;"'; + } + else { + $style = null; + } + + $this->start_element('nextgen_gallery.image_panel', 'item', $image); + + ?> + <div id="<?php echo_h('ngg-image-' . $i) ?>" class="ngg-gallery-thumbnail-box" <?php if ($style) echo $style; ?>> + <?php + + $this->start_element('nextgen_gallery.image', 'item', $image); + + ?> + <div class="ngg-gallery-thumbnail"> + <a href="<?php echo esc_attr($storage->get_image_url($image))?>" + title="<?php echo esc_attr($image->description)?>" + data-image-id='<?php echo esc_attr($image->pid); ?>' + <?php echo $effect_code ?>> + <img + title="<?php echo esc_attr($image->alttext)?>" + alt="<?php echo esc_attr($image->alttext)?>" + src="<?php echo esc_attr($storage->get_image_url($image, $thumbnail_size_name))?>" + width="<?php echo esc_attr($thumb_size['width'])?>" + height="<?php echo esc_attr($thumb_size['height'])?>" + style="max-width:none;" + /> + </a> + </div> + <?php + + $this->end_element(); + + ?> + </div> + <?php + + $this->end_element(); + + ?> + + <?php if ($number_of_columns > 0): ?> + <?php if ((($i + 1) % $number_of_columns) == 0 ): ?> + <br style="clear: both" /> + <?php endif; ?> + <?php endif; ?> + + <?php endfor ?> + <?php + + $this->end_element(); + + ?> + + <?php if ($pagination): ?> + <!-- Pagination --> + <?php echo $pagination ?> + <?php else: ?> + <div class="ngg-clear"></div> + <?php endif ?> +</div> +<?php $this->end_element(); ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser.php new file mode 100644 index 000000000..df0978d09 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser.php @@ -0,0 +1,28 @@ +<?php + +/** + * Adds validation for the NextGen Basic ImageBrowser display type + */ +class A_NextGen_Basic_ImageBrowser extends Mixin +{ + function initialize() + { + if ($this->object->name == NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER) { + $this->object->add_pre_hook( + 'validation', + __CLASS__, + 'Hook_NextGen_Basic_ImageBrowser_Validation' + ); + } + } +} + +/** + * Provides validation for the NextGen Basic ImageBrowser display type + */ +class Hook_NextGen_Basic_ImageBrowser_Validation extends Hook +{ + function validation() + { + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_controller.php new file mode 100644 index 000000000..5d35d3469 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_controller.php @@ -0,0 +1,205 @@ +<?php + +/** + * Provides rendering logic for the NextGen Basic ImageBrowser + */ +class A_NextGen_Basic_ImageBrowser_Controller extends Mixin_NextGen_Basic_Gallery_Controller +{ + /** + * Renders the front-end display for the imagebrowser display type + * + * @param C_Displayed_Gallery $displayed_gallery + * @param bool $return + * @return string + */ + function index_action($displayed_gallery, $return = FALSE) + { + $picture_list = array(); + + foreach ($displayed_gallery->get_included_entities() as $image) { + $picture_list[$image->{$image->id_field}] = $image; + } + + if ($picture_list) + { + $retval = $this->render_image_browser($displayed_gallery, $picture_list); + + if ($return) + { + return $retval; + } + else { + echo $retval; + } + } + else { + return $this->object->render_partial('photocrati-nextgen_gallery_display#no_images_found', array(), $return); + } + + } + + /** + * Returns the rendered template of an image browser display + * + * @param C_Displayed_Gallery + * @param array $picture_list + * @return string Rendered HTML (probably) + */ + function render_image_browser($displayed_gallery, $picture_list) + { + $display_settings = $displayed_gallery->display_settings; + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $imap = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $application = $this->object->get_registry()->get_utility('I_Router')->get_routed_app(); + + // the pid may be a slug so we must track it & the slug target's database id + $pid = $this->object->param('pid'); + $numeric_pid = NULL; + + // makes the upcoming which-image-am-I loop easier + $picture_array = array(); + foreach ($picture_list as $picture) { + $picture_array[] = $picture->{$imap->get_primary_key_column()}; + } + + // Determine which image in the list we need to display + if (!empty($pid)) + { + if (is_numeric($pid)) + { + $numeric_pid = intval($pid); + } + else { + // in the case it's a slug we need to search for the pid + foreach ($picture_list as $key => $picture) { + if ($picture->image_slug == $pid) + { + $numeric_pid = $key; + break; + } + } + } + } + else { + reset($picture_array); + $numeric_pid = current($picture_array); + } + + // get ids to the next and previous images + $total = count($picture_array); + $key = array_search($numeric_pid, $picture_array); + if (!$key) + { + $numeric_pid = reset($picture_array); + $key = key($picture_array); + } + + // for "viewing image #13 of $total" + $picture_list_pos = $key + 1; + + // our image to display + $picture = new C_Image_Wrapper($imap->find($numeric_pid), $displayed_gallery, TRUE); + $picture = apply_filters('ngg_image_object', $picture, $numeric_pid); + + // determine URI to the next & previous images + $back_pid = ($key >= 1) ? $picture_array[$key - 1] : end($picture_array); + + // 'show' is set when using the imagebrowser as an alternate view to a thumbnail or slideshow + // for which the basic-gallery module will rewrite the show parameter into existence as long as 'image' + // is set. We remove 'show' here so navigation appears fluid. + $prev_image_link = $this->object->set_param_for( + $application->get_routed_url(TRUE), + 'pid', + $picture_list[$back_pid]->image_slug + ); + $prev_image_link = trailingslashit($this->object->remove_param_for($prev_image_link, 'show', $displayed_gallery->id())); + + $next_pid = ($key < ($total - 1)) ? $picture_array[$key + 1] : reset($picture_array); + $next_image_link = $this->object->set_param_for( + $application->get_routed_url(TRUE), + 'pid', + $picture_list[$next_pid]->image_slug + ); + $next_image_link = trailingslashit($this->object->remove_param_for($next_image_link, 'show', $displayed_gallery->id())); + + // css class + $anchor = 'ngg-imagebrowser-' . $displayed_gallery->id() . '-' . (get_the_ID() == false ? 0 : get_the_ID()); + + // try to read EXIF data, but fallback to the db presets + $meta = new C_NextGen_Metadata($picture); + $meta->sanitize(); + $meta_results = array( + 'exif' => $meta->get_EXIF(), + 'iptc' => $meta->get_IPTC(), + 'xmp' => $meta->get_XMP(), + 'db' => $meta->get_saved_meta() + ); + $meta_results['exif'] = ($meta_results['exif'] == false) ? $meta_results['db'] : $meta_results['exif']; + + if (!empty($display_settings['template'])) + { + $this->object->add_mixin('Mixin_NextGen_Basic_Templates'); + $picture->href_link = $picture->get_href_link(); + $picture->previous_image_link = $prev_image_link; + $picture->previous_pid = $back_pid; + $picture->next_image_link = $next_image_link; + $picture->next_pid = $next_pid; + $picture->number = $picture_list_pos; + $picture->total = $total; + $picture->anchor = $anchor; + + return $this->object->legacy_render( + $display_settings['template'], + array( + 'image' => $picture, + 'meta' => $meta, + 'exif' => $meta_results['exif'], + 'iptc' => $meta_results['iptc'], + 'xmp' => $meta_results['xmp'], + 'db' => $meta_results['db'] + ), + TRUE, + 'imagebrowser' + ); + } + else { + $params = $display_settings; + $params['anchor'] = $anchor; + $params['image'] = $picture; + $params['storage'] = &$storage; + $params['previous_pid'] = $back_pid; + $params['next_pid'] = $next_pid; + $params['number'] = $picture_list_pos; + $params['total'] = $total; + + $params['previous_image_link'] = $prev_image_link; + $params['next_image_link'] = $next_image_link; + $params['effect_code'] = $this->object->get_effect_code($displayed_gallery); + + $params = $this->object->prepare_display_parameters($displayed_gallery, $params); + + return $this->object->render_partial( + 'photocrati-nextgen_basic_imagebrowser#nextgen_basic_imagebrowser', + $params, + TRUE + ); + } + } + + /** + * Enqueues all static resources required by this display type + * + * @param C_Displayed_Gallery $displayed_gallery + */ + function enqueue_frontend_resources($displayed_gallery) + { + $this->call_parent('enqueue_frontend_resources', $displayed_gallery); + + wp_enqueue_style( + 'nextgen_basic_imagebrowser_style', + $this->get_static_url('photocrati-nextgen_basic_imagebrowser#style.css') + ); + + $this->enqueue_ngg_styles(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_form.php new file mode 100644 index 000000000..35896765a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_form.php @@ -0,0 +1,20 @@ +<?php + +class A_NextGen_Basic_ImageBrowser_Form extends Mixin_Display_Type_Form +{ + function get_display_type_name() + { + return NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER; + } + + /** + * Returns a list of fields to render on the settings page + */ + function _get_field_names() + { + return array( + 'ajax_pagination', + 'nextgen_basic_templates_template', + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_forms.php new file mode 100644 index 000000000..956798862 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_forms.php @@ -0,0 +1,11 @@ +<?php + +class A_NextGen_Basic_ImageBrowser_Forms extends Mixin +{ + function initialize() + { + $this->add_form( + NEXTGEN_DISPLAY_SETTINGS_SLUG, NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_mapper.php new file mode 100644 index 000000000..5277564ef --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_mapper.php @@ -0,0 +1,34 @@ +<?php + +class A_NextGen_Basic_ImageBrowser_Mapper extends Mixin +{ + /** + * Adds a hook for setting default values + */ + function initialize() + { + $this->object->add_post_hook( + 'set_defaults', + 'NextGen Basic ImageBrowser Defaults', + 'Hook_NextGen_Basic_ImageBrowser_Defaults', + 'set_defaults' + ); + } +} + +/** + * Adds default values for the NextGEN Basic ImageBrowser display type + */ +class Hook_NextGen_Basic_ImageBrowser_Defaults extends Hook +{ + function set_defaults($entity) + { + if ($entity->name == NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER) + { + $this->object->_set_default_value($entity, 'settings', 'template', ''); + + // Part of the pro-modules + $this->object->_set_default_value($entity, 'settings', 'ngg_triggers_display', 'never'); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_routes.php new file mode 100644 index 000000000..d0806366b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_routes.php @@ -0,0 +1,20 @@ +<?php + +class A_NextGen_Basic_ImageBrowser_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds Routes for NextGen Basic ImageBrowser', + get_class(), + '_add_nextgen_basic_imagebrowser_routes' + ); + } + + function _add_nextgen_basic_imagebrowser_routes() + { + $slug = C_NextGen_Settings::get_instance()->router_param_slug; + $this->object->rewrite("{$slug}{*}/image/{\\w}", "{$slug}{1}/pid--{2}"); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_urls.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_urls.php new file mode 100644 index 000000000..4f5daba5b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/adapter.nextgen_basic_imagebrowser_urls.php @@ -0,0 +1,12 @@ +<?php + +class A_NextGen_Basic_ImageBrowser_Urls extends Mixin +{ + function create_parameter_segment($key, $value, $id=NULL, $use_prefix=FALSE) + { + if ($key == 'pid') + return "image/{$value}"; + else + return $this->call_parent('create_parameter_segment', $key, $value, $id, $use_prefix); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/class.nextgen_basic_imagebrowser_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/class.nextgen_basic_imagebrowser_installer.php new file mode 100644 index 000000000..d43e95cf4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/class.nextgen_basic_imagebrowser_installer.php @@ -0,0 +1,17 @@ +<?php + +class C_NextGen_Basic_ImageBrowser_Installer extends C_Gallery_Display_Installer +{ + function install() + { + $this->install_display_type( + NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER, array( + 'title' => 'NextGEN Basic ImageBrowser', + 'entity_types' => array('image'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_imagebrowser#preview.jpg', + 'default_source' => 'galleries', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + 20 + ) + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/hook.nextgen_basic_imagebrowser_alt_urls.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/hook.nextgen_basic_imagebrowser_alt_urls.php new file mode 100644 index 000000000..9461b6164 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/hook.nextgen_basic_imagebrowser_alt_urls.php @@ -0,0 +1,45 @@ +<?php + +class Hook_NextGen_Basic_Imagebrowser_Alt_URLs extends Hook { + /** + * Replaces the full-size image url with a path to the current url + a pid (image) parameter. This causes + * basic thumbnail displays to render a basic imagebrowser. + * + * @param $image + * @param string $size + * @return null + */ + function get_image_url($image, $size='full') + { + // Get the method to be returned + $retval = $this->object->get_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE + ); + + if ($size == 'full') + { + $router = $this->object->get_registry()->get_utility('I_Router'); + $controller = $this->object->get_registry()->get_utility('I_Display_Type_Controller'); + $application = $router->get_routed_app(); + + if ($router->param('ajax_pagination_referrer')) + $url = $router->param('ajax_pagination_referrer'); + else + $url = $application->get_routed_url(TRUE); + + $url = $controller->set_param_for($url, 'pid', $image->image_slug); + $url = $controller->remove_param_for($url, 'show'); + + $retval = $url; + + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE, + $retval + ); + } + + return $retval; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php new file mode 100644 index 000000000..77d3fb386 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php @@ -0,0 +1,122 @@ +<?php +/*** +{ + Module: photocrati-nextgen_basic_imagebrowser, + Depends: { photocrati-nextgen_gallery_display } +} +***/ + +define( + 'NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER', + 'photocrati-nextgen_basic_imagebrowser' +); + +class M_NextGen_Basic_ImageBrowser extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_basic_imagebrowser', + 'NextGEN Basic ImageBrowser', + 'Provides the NextGEN Basic ImageBrowser Display Type', + '0.4', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_basic_imagebrowser_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Basic_ImageBrowser_Installer'); + } + + /** + * Register adapters required for the NextGen Basic ImageBrowser + */ + function _register_adapters() + { + $this->get_registry()->add_adapter( + 'I_Display_Type_Mapper', 'A_NextGen_Basic_ImageBrowser_Mapper' + ); + + // Add validation for the display type + $this->get_registry()->add_adapter( + 'I_Display_Type', 'A_NextGen_Basic_ImageBrowser' + ); + + // Add rendering logic + $this->get_registry()->add_adapter( + 'I_Display_Type_Controller', 'A_NextGen_Basic_ImageBrowser_Controller', + $this->module_id + ); + + // Add imagebrowser routes + $this->get_registry()->add_adapter( + 'I_Routing_App', 'A_NextGen_Basic_ImageBrowser_Routes' + ); + + // Add imagebrowser ngglegacy-compatible urls + $this->get_registry()->add_adapter( + 'I_Routing_App', 'A_NextGen_Basic_ImageBrowser_Urls' + ); + + // Provide the imagebrowser form + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_ImageBrowser_Form', + $this->module_id + ); + + // Provides the setting forms + $this->get_registry()->add_adapter( + 'I_Form_Manager', + 'A_NextGen_Basic_ImageBrowser_Forms' + ); + } + + function _register_hooks() + { + C_NextGen_Shortcode_Manager::add('imagebrowser', array(&$this, 'render_shortcode')); + } + + /** + * Gets a value from the parameter array, and if not available, uses the default value + * + * @param string $name + * @param mixed $default + * @param array $params + * @return mixed + */ + function _get_param($name, $default, $params) + { + return (isset($params[$name])) ? $params[$name] : $default; + } + + function render_shortcode($params, $inner_content=NULL) + { + $params['gallery_ids'] = $this->_get_param('id', NULL, $params); + $params['source'] = $this->_get_param('source', 'galleries', $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER, $params); + + unset($params['id']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function get_type_list() + { + return array( + 'A_Nextgen_Basic_Imagebrowser' => 'adapter.nextgen_basic_imagebrowser.php', + 'A_Nextgen_Basic_Imagebrowser_Controller' => 'adapter.nextgen_basic_imagebrowser_controller.php', + 'A_Nextgen_Basic_Imagebrowser_Form' => 'adapter.nextgen_basic_imagebrowser_form.php', + 'A_Nextgen_Basic_Imagebrowser_Forms' => 'adapter.nextgen_basic_imagebrowser_forms.php', + 'C_Nextgen_Basic_Imagebrowser_Installer' => 'class.nextgen_basic_imagebrowser_installer.php', + 'A_Nextgen_Basic_Imagebrowser_Mapper' => 'adapter.nextgen_basic_imagebrowser_mapper.php', + 'A_Nextgen_Basic_Imagebrowser_Routes' => 'adapter.nextgen_basic_imagebrowser_routes.php', + 'A_Nextgen_Basic_Imagebrowser_Urls' => 'adapter.nextgen_basic_imagebrowser_urls.php', + 'Hook_NextGen_Basic_Imagebrowser_Alt_URLs' => 'hook.nextgen_basic_imagebrowser_alt_urls.php' + ); + } +} + +new M_NextGen_Basic_ImageBrowser(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..791b8941c4c777e966eac27fbfa762daa690bd60 GIT binary patch literal 5571 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 DunLHf literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.css new file mode 100644 index 000000000..a5ce78853 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/static/style.css @@ -0,0 +1,58 @@ +/* ----------- Image browser style -------------*/ + +.ngg-imagebrowser { +} + +.ngg-imagebrowser h3 { + text-align: center; +} + +.ngg-imagebrowser-desc { + clear: both; +} + +.ngg-imagebrowser .pic { + max-width: 100%; + margin-top: 10px; + margin-bottom: 10px; + border: 1px solid #A9A9A9; +} +.ngg-imagebrowser .pic a { + display: block !important; + font-size: 0px; + margin: 5px; + text-align: center; +} + +.ngg-imagebrowser img { + max-width: 100%; + margin: 0; + padding: 0; + border: none; +} + +.ngg-imagebrowser-nav { + padding: 5px; +} + +.ngg-imagebrowser-nav .back { + float: left; + border: 1px solid #DDDDDD; + padding: 3px 7px; +} + +.ngg-imagebrowser-nav .next { + float: right; + border: 1px solid #DDDDDD; + padding: 3px 7px; +} + +.ngg-imagebrowser-nav .counter { + text-align: center; + font-size: 0.9em !important; +} + +.exif-data { + margin-left: auto !important; + margin-right: auto !important; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php new file mode 100644 index 000000000..48e731f6e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/templates/nextgen_basic_imagebrowser.php @@ -0,0 +1,72 @@ +<?php $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery); ?> + <div class='ngg-imagebrowser' id='<?php echo $anchor; ?>'> + + <h3><?php echo esc_attr($image->alttext); ?></h3> + + <?php + + $template_params = array( + 'index' => 0, + 'class' => 'pic', + 'image' => $image, + ); + + $this->include_template('photocrati-nextgen_gallery_display#image/before', $template_params); + + ?> + <a href='<?php echo esc_attr($storage->get_image_url($image)); ?>' + title='<?php echo esc_attr($image->description); ?>' + data-image-id='<?php echo esc_attr($image->pid); ?>' + <?php echo $effect_code ?>> + <img title='<?php echo esc_attr($image->alttext); ?>' + alt='<?php echo esc_attr($image->alttext); ?>' + src='<?php echo esc_attr($storage->get_image_url($image)); ?>'/> + </a> + <?php + + $this->include_template('photocrati-nextgen_gallery_display#image/after', $template_params); + + ?> + + <div class='ngg-imagebrowser-nav'> + + <div class='back'> + <a class='ngg-browser-prev' + id='ngg-prev-<?php echo $previous_pid; ?>' + href='<?php echo $previous_image_link; ?>'> + ◄ <?php _e('Back', 'nggallery'); ?> + </a> + </div> + + <div class='next'> + <a class='ngg-browser-next' + id='ngg-next-<?php echo $next_pid; ?>' + href='<?php echo $next_image_link; ?>'> + <?php _e('Next', 'nggallery'); ?> + ► + </a> + </div> + + <div class='counter'> + <?php _e('Picture', 'nggallery'); ?> <?php echo $number; ?> <?php _e('of', 'nggallery'); ?> <?php echo $total; ?> + </div> + + <div class='ngg-imagebrowser-desc'> + <p> + <?php echo $image->description; ?> + </p> + </div> + + </div> + +</div> +<?php $this->end_element(); ?> +<script type='text/javascript'> + jQuery(function($){ + new NggPaginatedGallery( + '<?php echo $displayed_gallery->id() ?>', + $('#<?php echo $anchor ?>'), + $('#<?php echo $anchor ?> .ngg-browser-prev, #<?php echo $anchor ?> .ngg-browser-next') + ) + }); +</script> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic.php new file mode 100644 index 000000000..122ac01e1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic.php @@ -0,0 +1,23 @@ +<?php + +class A_NextGen_Basic_Singlepic extends Mixin +{ + function initialize() + { + if ($this->object->name == NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME) + { + $this->object->add_pre_hook( + 'validation', + get_class(), + 'Hook_NextGen_Basic_Singlepic_Validation' + ); + } + } +} + +class Hook_NextGen_Basic_Singlepic_Validation extends Hook +{ + function validation() + { + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_controller.php new file mode 100644 index 000000000..b3154fdc6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_controller.php @@ -0,0 +1,153 @@ +<?php + +class A_NextGen_Basic_Singlepic_Controller extends Mixin +{ + /** + * Displays the 'singlepic' display type + * + * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery + */ + function index_action($displayed_gallery, $return = FALSE) + { + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $dynthumbs = $this->object->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + $display_settings = $displayed_gallery->display_settings; + $image = array_shift($displayed_gallery->get_included_entities(1)); + + if (!$image) + return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return); + + switch ($display_settings['float']) { + case 'left': + $display_settings['float'] = 'ngg-left'; + break; + case 'right': + $display_settings['float'] = 'ngg-right'; + break; + case 'center': + $display_settings['float'] = 'ngg-center'; + break; + default: + $display_settings['float'] = ''; + break; + } + + $params = array(); + + if (!empty($display_settings['link'])) + { + $target = '_blank'; + $effect_code = ''; + } + else { + $display_settings['link'] = $storage->get_image_url($image); + $target = '_self'; + $effect_code = $this->object->get_effect_code($displayed_gallery); + } + $params['target'] = $target; + + // mode is a legacy parameter + if (!is_array($display_settings['mode'])) + $display_settings['mode'] = explode(',', $display_settings['mode']); + if (in_array('web20', $display_settings['mode'])) + $display_settings['display_reflection'] = TRUE; + if (in_array('watermark', $display_settings['mode'])) + $display_settings['display_watermark'] = TRUE; + + if (isset($display_settings['w'])) + $display_settings['width'] = $display_settings['w']; + elseif (isset($display_settings['h'])) + unset($display_settings['width']); + + if (isset($display_settings['h'])) + $display_settings['height'] = $display_settings['h']; + elseif (isset($display_settings['w'])) + unset($display_settings['height']); + + // legacy assumed no width/height meant full size unlike generate_thumbnail: force a full resolution + if (!isset($display_settings['width']) && !isset($display_settings['height'])) + $display_settings['width'] = $image->meta_data['width']; + + if (isset($display_settings['width'])) + $params['width'] = $display_settings['width']; + + if (isset($display_settings['height'])) + $params['height'] = $display_settings['height']; + + $params['quality'] = $display_settings['quality']; + $params['crop'] = $display_settings['crop']; + $params['watermark'] = $display_settings['display_watermark']; + $params['reflection'] = $display_settings['display_reflection']; + + // Fall back to full in case dynamic images aren't available + $size = 'full'; + + if ($dynthumbs != null) + $size = $dynthumbs->get_size_name($params); + + $thumbnail_url = $storage->get_image_url($image, $size); + + if (!empty($display_settings['template'])) + { + $this->object->add_mixin('A_NextGen_Basic_Template_Form'); + $this->object->add_mixin('Mixin_NextGen_Basic_Templates'); + $params = $this->object->prepare_legacy_parameters(array($image), $displayed_gallery, array('single_image' => TRUE)); + + // the wrapper is a lazy-loader that calculates variables when requested. We here override those to always + // return the same precalculated settings provided + $params['image']->container[0]->_cache_overrides['caption'] = $displayed_gallery->inner_content; + $params['image']->container[0]->_cache_overrides['classname'] = 'ngg-singlepic ' . $display_settings['float']; + $params['image']->container[0]->_cache_overrides['imageURL'] = $display_settings['link']; + $params['image']->container[0]->_cache_overrides['thumbnailURL'] = $thumbnail_url; + $params['target'] = $target; + + // if a link is present we temporarily must filter out the effect code + if (empty($effect_code)) + add_filter('ngg_get_thumbcode', array(&$this, 'strip_thumbcode'), 10); + + $retval = $this->object->legacy_render($display_settings['template'], $params, $return, 'singlepic'); + + if (empty($effect_code)) + remove_filter('ngg_get_thumbcode', array(&$this, 'strip_thumbcode'), 10); + + return $retval; + } + else { + $params = $display_settings; + $params['storage'] = &$storage; + $params['image'] = &$image; + $params['effect_code'] = $effect_code; + $params['inner_content'] = $displayed_gallery->inner_content; + $params['settings'] = $display_settings; + $params['thumbnail_url'] = $thumbnail_url; + $params['target'] = $target; + + $params = $this->object->prepare_display_parameters($displayed_gallery, $params); + + return $this->object->render_partial('photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic', $params, $return); + } + } + + /** + * Intentionally disable the application of the effect code + */ + function strip_thumbcode($thumbcode) + { + return ''; + } + + /** + * Enqueues all static resources required by this display type + * + * @param C_Displayed_Gallery $displayed_gallery + */ + function enqueue_frontend_resources($displayed_gallery) + { + $this->call_parent('enqueue_frontend_resources', $displayed_gallery); + + wp_enqueue_style('nextgen_basic_singlepic_style', $this->get_static_url('photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic.css')); + + $this->enqueue_ngg_styles(); + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php new file mode 100644 index 000000000..b2a3bfbda --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_form.php @@ -0,0 +1,113 @@ +<?php + +class A_NextGen_Basic_SinglePic_Form extends Mixin_Display_Type_Form +{ + /** + * Returns the name of the display type + * @return string + */ + function get_display_type_name() + { + return NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME; + } + + /** + * Returns the name of the fields to render for the SinglePic + */ + function _get_field_names() + { + return array( + 'nextgen_basic_singlepic_dimensions', + 'nextgen_basic_singlepic_link', + 'nextgen_basic_singlepic_float', + 'nextgen_basic_singlepic_quality', + 'nextgen_basic_singlepic_crop', + 'nextgen_basic_singlepic_display_watermark', + 'nextgen_basic_singlepic_display_reflection', + 'nextgen_basic_templates_template' + ); + } + + function _render_nextgen_basic_singlepic_dimensions_field($display_type) + { + return $this->object->render_partial( + 'photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic_settings_dimensions', + array( + 'display_type_name' => $display_type->name, + 'dimensions_label' => _('Thumbnail dimensions'), + 'width_label' => _('Width'), + 'width' => $display_type->settings['width'], + 'height_label' => _('Width'), + 'height' => $display_type->settings['height'], + ), + True + ); + } + + function _render_nextgen_basic_singlepic_link_field($display_type) + { + return $this->object->render_partial( + 'photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic_settings_link', + array( + 'display_type_name' => $display_type->name, + 'link_label' => _('Link'), + 'link' => $display_type->settings['link'], + ), + True + ); + } + + function _render_nextgen_basic_singlepic_quality_field($display_type) + { + return $this->object->render_partial( + 'photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic_settings_quality', + array( + 'display_type_name' => $display_type->name, + 'quality_label' => _('Image quality'), + 'quality' => $display_type->settings['quality'], + ), + True + ); + } + + function _render_nextgen_basic_singlepic_display_watermark_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'display_watermark', + 'Display watermark', + $display_type->settings['display_watermark'] + ); + } + + function _render_nextgen_basic_singlepic_display_reflection_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'display_reflection', + 'Display reflection', + $display_type->settings['display_reflection'] + ); + } + + function _render_nextgen_basic_singlepic_crop_field($display_type) + { + return $this->_render_radio_field( + $display_type, + 'crop', + 'Crop thumbnail', + $display_type->settings['crop'] + ); + } + + function _render_nextgen_basic_singlepic_float_field($display_type) + { + return $this->_render_select_field( + $display_type, + 'float', + 'Float', + array('' => 'None', 'left' => 'Left', 'right' => 'Right'), + $display_type->settings['float'] + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_forms.php new file mode 100644 index 000000000..734e4cd66 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_forms.php @@ -0,0 +1,11 @@ +<?php + +class A_NextGen_Basic_SinglePic_Forms extends Mixin +{ + function initialize() + { + $this->add_form( + NEXTGEN_DISPLAY_SETTINGS_SLUG, NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_mapper.php new file mode 100644 index 000000000..87bc4645d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_mapper.php @@ -0,0 +1,77 @@ +<?php + +class A_NextGen_Basic_SinglePic_Mapper extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'set_defaults', + get_class(), + get_class(), + '_set_singlepic_defaults' + ); + + if ($this->object->has_context('attach_to_post')) { + $this->object->add_post_hook( + 'run_query', + get_class(), + get_class(), + '_remove_singlepic_from_results' + ); + } + } + + /** + * Removes the singlepic display type from a resultset to hide it from + * the Attach to Post interface + */ + function _remove_singlepic_from_results() + { + $retval = array(); + + // Get all of the returned display types + $results = $this->object->get_method_property( + $this->method_called, ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE + ); + + // Iterate through each display type to be returned, and remove the + // SinglePic display type + foreach ($results as &$display_type) { + if (!((isset($display_type->name) && $display_type->name == NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME))) { + $retval[] = $display_type; + } + } + + // Set the new return value + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE, + $retval + ); + + return $retval; + } + + /** + * Sets default values for SinglePic settings + * @param stdClass|C_DataMapper_Model $entity + */ + function _set_singlepic_defaults($entity) + { + if ($entity->name == NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME) { + $this->object->_set_default_value($entity, 'settings', 'width', ''); + $this->object->_set_default_value($entity, 'settings', 'height', ''); + $this->object->_set_default_value($entity, 'settings', 'mode', ''); + $this->object->_set_default_value($entity, 'settings', 'display_watermark', 0); + $this->object->_set_default_value($entity, 'settings', 'display_reflection', 0); + $this->object->_set_default_value($entity, 'settings', 'float', ''); + $this->object->_set_default_value($entity, 'settings', 'link', ''); + $this->object->_set_default_value($entity, 'settings', 'quality', 100); + $this->object->_set_default_value($entity, 'settings', 'crop', 0); + $this->object->_set_default_value($entity, 'settings', 'template', ''); + + // Part of the pro-modules + $this->object->_set_default_value($entity, 'settings', 'ngg_triggers_display', 'never'); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/class.nextgen_basic_singlepic_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/class.nextgen_basic_singlepic_installer.php new file mode 100644 index 000000000..83b40a54d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/class.nextgen_basic_singlepic_installer.php @@ -0,0 +1,16 @@ +<?php + +class C_NextGen_Basic_SinglePic_Installer extends C_Gallery_Display_Installer +{ + function install() + { + $this->install_display_type( + NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME, array( + 'title' => 'NextGEN Basic SinglePic', + 'entity_types' => array('image'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_singlepic#preview.gif', + 'default_source' => 'galleries', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + 60 + )); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php new file mode 100644 index 000000000..d975ddca2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php @@ -0,0 +1,101 @@ +<?php + +/*** +{ + Module: photocrati-nextgen_basic_singlepic, + Depends: { photocrati-nextgen_gallery_display } +} + ***/ + +define('NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME', 'photocrati-nextgen_basic_singlepic'); + +class M_NextGen_Basic_Singlepic extends C_Base_Module +{ + function define() + { + parent::define( + NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME, + 'NextGen Basic Singlepic', + 'Provides a singlepic gallery for NextGEN Gallery', + '0.4', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_basic_singlepic_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Basic_SinglePic_Installer'); + } + + + function _register_adapters() + { + // Provides settings fields and frontend rendering + $this->get_registry()->add_adapter( + 'I_Display_Type_Controller', + 'A_NextGen_Basic_Singlepic_Controller', + $this->module_id + ); + + // Provides default values for the display type + $this->get_registry()->add_adapter( + 'I_Display_Type_Mapper', + 'A_NextGen_Basic_Singlepic_Mapper' + ); + + // Provides the display settings form for the SinglePic display type + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_SinglePic_Form', + $this->module_id + ); + + // Adds the setting forms + $this->get_registry()->add_adapter( + 'I_Form_Manager', + 'A_NextGen_Basic_SinglePic_Forms' + ); + } + + function _register_hooks() + { + C_NextGen_Shortcode_Manager::add('singlepic', array(&$this, 'render_singlepic')); + } + + /** + * Gets a value from the parameter array, and if not available, uses the default value + * + * @param string $name + * @param mixed $default + * @param array $params + * @return mixed + */ + function _get_param($name, $default, $params) + { + return (isset($params[$name])) ? $params[$name] : $default; + } + + function render_singlepic($params, $inner_content=NULL) + { + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME, $params); + $params['image_ids'] = $this->_get_param('id', NULL, $params); + unset($params['id']); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function get_type_list() + { + return array( + 'A_Nextgen_Basic_Singlepic' => 'adapter.nextgen_basic_singlepic.php', + 'A_Nextgen_Basic_Singlepic_Controller' => 'adapter.nextgen_basic_singlepic_controller.php', + 'A_Nextgen_Basic_Singlepic_Form' => 'adapter.nextgen_basic_singlepic_form.php', + 'A_Nextgen_Basic_Singlepic_Forms' => 'adapter.nextgen_basic_singlepic_forms.php', + 'C_NextGen_Basic_SinglePic_Installer' => 'class.nextgen_basic_singlepic_installer.php', + 'A_Nextgen_Basic_Singlepic_Mapper' => 'adapter.nextgen_basic_singlepic_mapper.php' + ); + } +} + +new M_NextGen_Basic_Singlepic(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.css new file mode 100644 index 000000000..c82808475 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/nextgen_basic_singlepic.css @@ -0,0 +1,38 @@ +/* ----------- Single picture -------------*/ + +.ngg-gallery-singlepic-image { +margin: 0 auto 1em auto; +} +.ngg-gallery-singlepic-image a { +max-width: 100%; +} +.ngg-gallery-singlepic-image img { +margin: 0; +max-width: 100%; +border: none; +} + +.ngg-singlepic { + background-color: #FFFFFF; + display: block; + padding: 4px; +} + +.ngg-left { + float: left; + margin-right: 10px; +} + +.ngg-right { + float: right; + margin-left: 10px; +} + +.ngg-center { + margin-left: auto !important; + margin-right: auto !important; +} + +.ngg-gallery-singlepic-image .ngg-trigger-buttons { +margin: 5px 0 0 0; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/preview.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/static/preview.gif new file mode 100644 index 0000000000000000000000000000000000000000..8389b127b1ac30f1d96b57a9e29e167fa01da3bc GIT binary patch literal 272 zcmZ?wbhEHb%wzCpn8*ME|NsBrym|Bg|Nj+#vM@3*Ff-_YL_zWlOb>hdSDt>$zc^&k zt?teD_Wb5=o2EGJS?99k1>4?LPx|0<y(#B;Rp<ME^ItNy+bMpGFjktbr}|kk*>Sn1 z`qxt%leUZNPJjJ3>2Q+PP9EFEGhdl*daHKm@d3-d8hi8K{*u{0e+s+BS96Zwj2kL5 zcC?&`*!n|5Tr<)=va|hX*~*v4Z%T4lJ<)jO7&Yr_=c*mMif?s&<l1eNtsGr#J)3*? z?OVHlbxXxq=|u5V-I=*&XV1-;pE{C%EzU;Ft;n5WyMy<}-S2C~>&*Sa<;vep+qbRn bTHH51vHzz0%c8Q47VbZP|NZ&^1_o;Y4pfBG literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic.php new file mode 100644 index 000000000..63f4d92ed --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic.php @@ -0,0 +1,91 @@ +<?php if (!empty($image)): ?> + <?php + + $this->start_element('nextgen_gallery.gallery_container', 'container', $displayed_gallery); + + $image_size = $storage->get_original_dimensions($image); + + if ($image_size == null) { + $image_size['width'] = $image->meta_data['width']; + $image_size['height'] = $image->meta_data['height']; + } + + $image_ratio = $image_size['width'] / $image_size['height']; + + $width = isset($settings['width']) ? $settings['width'] : null; + $height = isset($settings['height']) ? $settings['height'] : null; + + $width = intval($width); + $height = intval($height); + + if ($width != null && $height != null) + { + // check image aspect ratio, avoid distortions + $aspect_ratio = $width / $height; + if ($image_ratio > $aspect_ratio) { + if ($image_size['width'] > $width) { + $height = (int) round($width / $image_ratio); + } + } + else { + if ($image_size['height'] > $height) { + $width = (int) round($height * $image_ratio); + } + } + + // Ensure that height is always null, or else the image won't be responsive correctly + $height = null; + } + else if ($height != null) + { + $width = (int) round($height * $image_ratio); + // Ensure that height is always null, or else the image won't be responsive correctly + $height = null; + } + + $style = null; + + if ($width) { + $style .= 'max-width: ' . $width . 'px'; + } + + if ($height) { + $style .= 'max-height: ' . $height . 'px'; + } + + ?> + <?php $this->start_element('nextgen_gallery.image_panel', 'item', $image); ?> + + <div class="ngg-gallery-singlepic-image <?php echo $settings['float']; ?>" style="<?php echo esc_attr($style); ?>"> + <?php + + $this->start_element('nextgen_gallery.image', 'item', $image); + + ?> + <a href="<?php echo esc_attr($settings['link']); ?>" + title="<?php echo esc_attr($image->description)?>" + data-image-id='<?php echo esc_attr($image->pid); ?>' + target='<?php echo esc_attr($target); ?>' + <?php echo $effect_code ?>> + <img class="ngg-singlepic" + src="<?php echo $thumbnail_url; ?>" + alt="<?php echo esc_attr($image->alttext); ?>" + title="<?php echo esc_attr($image->alttext); ?>" + <?php if ($width) { ?> width="<?php echo esc_attr($width); ?>" <?php } ?> + <?php if ($height) { ?> height="<?php echo esc_attr($height); ?>" <?php } ?> /> + </a> + <?php + + $this->end_element(); + ?> + </div> + <?php if (!is_null($inner_content)) { ?><span><?php echo $inner_content; ?></span><?php } ?> + <?php + + $this->end_element(); + + $this->end_element(); + ?> +<?php else: ?> + <p>No image found</p> +<?php endif ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php new file mode 100644 index 000000000..46054ec74 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_dimensions.php @@ -0,0 +1,25 @@ +<tr> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_image_dimensions'> + <?php echo_h($dimensions_label); ?> + </label> + </td> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_width'>w</label> + <input type='number' + id='<?php echo esc_attr($display_type_name); ?>_width' + name='<?php echo esc_attr($display_type_name); ?>[width]' + class='nextgen_settings_field_width_and_height' + placeholder='<?php _e('Width'); ?>' + min='1' + value='<?php echo esc_attr($width); ?>'/> / + <input type='number' + id='<?php echo esc_attr($display_type_name); ?>_height' + name='<?php echo esc_attr($display_type_name); ?>[height]' + class='nextgen_settings_field_width_and_height' + placeholder='<?php _e('Height'); ?>' + min='1' + value='<?php echo esc_attr($height); ?>'/> + <label for='<?php echo esc_attr($display_type_name); ?>_height'>h</label> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_link.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_link.php new file mode 100644 index 000000000..92ec7948e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_link.php @@ -0,0 +1,15 @@ +<tr> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_link'> + <?php echo_h($link_label); ?> + </label> + </td> + <td> + <input type='text' + id='<?php echo esc_attr($display_type_name); ?>_link' + name='<?php echo esc_attr($display_type_name); ?>[link]' + class='ngg_singlepic_link' + placeholder='http://...' + value='<?php echo esc_attr($link); ?>'> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_quality.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_quality.php new file mode 100644 index 000000000..afa0a064a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_quality.php @@ -0,0 +1,17 @@ +<tr> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_quality'> + <?php echo_h($quality_label); ?> + </label> + </td> + <td> + <input type='number' + id='<?php echo esc_attr($display_type_name); ?>_quality' + name='<?php echo esc_attr($display_type_name); ?>[quality]' + class='ngg_singlepic_quality' + placeholder='quality %' + min='1' + max='100' + value='<?php echo esc_attr($quality); ?>'> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php new file mode 100644 index 000000000..6ea96eaa7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_radio.php @@ -0,0 +1,26 @@ +<tr> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <input type="radio" + id="<?php print $display_type_name . '_' . $name; ?>" + name="<?php print $display_type_name . '[' . $name . ']'; ?>" + class="<?php print $display_type_name . '_' . $name; ?>" + value="1" + <?php checked(1, $value); ?>/> + <label for="<?php print $display_type_name . '_' . $name; ?>"><?php _e('Yes'); ?></label> + + <input type="radio" + id="<?php print $display_type_name . '_' . $name; ?>_no" + name="<?php print $display_type_name . '[' . $name . ']'; ?>" + class="<?php print $display_type_name . '_' . $name; ?>" + value="0" + <?php checked(0, $value); ?>/> + <label for="<?php print $display_type_name . '_' . $name; ?>_no"><?php _e('No'); ?></label> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_select.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_select.php new file mode 100644 index 000000000..f23d575cb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_singlepic/templates/nextgen_basic_singlepic_settings_select.php @@ -0,0 +1,19 @@ +<tr> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <select + id="<?php print $display_type_name . '_' . $name; ?>" + name="<?php print $display_type_name . '[' . $name . ']'; ?>" + class="<?php print $display_type_name . '_' . $name; ?>"> + <?php foreach ($options as $key => $val) { ?> + <option value='<?php print $key; ?>' <?php selected($key, $value); ?>><?php print _($val); ?></option> + <?php } ?> + </select> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud.php new file mode 100644 index 000000000..6767f6f3f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud.php @@ -0,0 +1,23 @@ +<?php + +class A_NextGen_Basic_Tagcloud extends Mixin +{ + function initialize() + { + if ($this->object->name == NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME) { + $this->object->add_pre_hook( + 'validation', + get_class(), + 'Hook_NextGen_Basic_Tagcloud_Validation' + ); + } + } +} + +class Hook_NextGen_Basic_Tagcloud_Validation extends Hook +{ + function validation() + { + $this->object->validates_presence_of('display_type'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_controller.php new file mode 100644 index 000000000..5e8f0679b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_controller.php @@ -0,0 +1,78 @@ +<?php + +class A_NextGen_Basic_Tagcloud_Controller extends Mixin +{ + /** + * Displays the 'tagcloud' display type + * + * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery + */ + function index_action($displayed_gallery, $return = FALSE) + { + $display_settings = $displayed_gallery->display_settings; + $application = $this->object->get_registry()->get_utility('I_Router')->get_routed_app(); + $tag = $this->param('gallerytag'); + + // we're looking at a tag, so show images w/that tag as a thumbnail gallery + if (!is_home() && !empty($tag)) + { + return $this->object->get_registry() + ->get_utility('I_Displayed_Gallery_Renderer') + ->display_images( + array( + 'source' => 'tags', + 'container_ids' => array(esc_attr($tag)), + 'display_type' => $display_settings['display_type'] + ) + ); + } + + $defaults = array( + 'exclude' => '', + 'format' => 'list', + 'include' => $displayed_gallery->get_term_ids_for_tags(), + 'largest' => 22, + 'link' => 'view', + 'number' => 45, + 'order' => 'ASC', + 'orderby' => 'name', + 'smallest' => 8, + 'taxonomy' => 'ngg_tag', + 'unit' => 'pt' + ); + $args = wp_parse_args('', $defaults); + + // Always query top tags + $tags = get_terms($args['taxonomy'], array_merge($args, array('orderby' => 'count', 'order' => 'DESC'))); + + foreach ($tags as $key => $tag) { + $tags[$key]->link = $this->object->set_param_for($application->get_routed_url(TRUE), 'gallerytag', $tag->slug); + $tags[$key]->id = $tag->term_id; + } + + $params = $display_settings; + $params['inner_content'] = $displayed_gallery->inner_content; + $params['storage'] = &$storage; + $params['tagcloud'] = wp_generate_tag_cloud($tags, $args); + $params['displayed_gallery_id'] = $displayed_gallery->id(); + + $params = $this->object->prepare_display_parameters($displayed_gallery, $params); + + return $this->object->render_partial('photocrati-nextgen_basic_tagcloud#nextgen_basic_tagcloud', $params, $return); + } + + /** + * Enqueues all static resources required by this display type + * + * @param C_Displayed_Gallery $displayed_gallery + */ + function enqueue_frontend_resources($displayed_gallery) + { + $this->call_parent('enqueue_frontend_resources', $displayed_gallery); + + wp_enqueue_style('photocrati-nextgen_basic_tagcloud-style', $this->get_static_url('photocrati-nextgen_basic_tagcloud#nextgen_basic_tagcloud.css')); + + $this->enqueue_ngg_styles(); + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php new file mode 100644 index 000000000..b242b2717 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_form.php @@ -0,0 +1,41 @@ +<?php + +class A_NextGen_Basic_Tagcloud_Form extends Mixin_Display_Type_Form +{ + function get_display_type_name() + { + return NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME; + } + + + function _get_field_names() + { + return array( + 'nextgen_basic_tagcloud_display_type' + ); + } + + function _render_nextgen_basic_tagcloud_display_type_field($display_type) + { + $types = array(); + $skip_types = array( + 'photocrati-nextgen_basic_tagcloud', + 'photocrati-nextgen_basic_singlepic' + ); + $mapper = $this->object->get_registry()->get_utility('I_Display_Type_Mapper'); + $display_types = $mapper->find_all(); + foreach ($display_types as $dt) { + if (in_array($dt->name, $skip_types)) continue; + $types[$dt->name] = str_replace('NextGEN Basic ', '', $dt->title); + } + + return $this->_render_select_field( + $display_type, + 'display_type', + 'Display type', + $types, + $display_type->settings['display_type'], + 'The display type that the tagcloud will point its results to' + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_forms.php new file mode 100644 index 000000000..cc90442ae --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_forms.php @@ -0,0 +1,11 @@ +<?php + +class A_NextGen_Basic_TagCloud_Forms extends Mixin +{ + function initialize() + { + $this->add_form( + NEXTGEN_DISPLAY_SETTINGS_SLUG, NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_mapper.php new file mode 100644 index 000000000..daa7e7436 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_mapper.php @@ -0,0 +1,28 @@ +<?php + +class A_NextGen_Basic_TagCloud_Mapper extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'set_defaults', + 'NextGen Basic TagCloud Default Values', + 'Hook_NextGen_Basic_TagCloud_Defaults' + ); + } +} + +class Hook_NextGen_Basic_TagCloud_Defaults extends Hook +{ + function set_defaults($entity) + { + if ($entity->name == NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME) { + $this->object->_set_default_value( + $entity, + 'settings', + 'display_type', + 'photocrati-nextgen_basic_thumbnails' + ); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_routes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_routes.php new file mode 100644 index 000000000..57fdaf696 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_routes.php @@ -0,0 +1,20 @@ +<?php + +class A_NextGen_Basic_TagCloud_Routes extends Mixin +{ + function initialize() + { + $this->object->add_pre_hook( + 'serve_request', + 'Adds Routes for NextGen Basic TagCloud', + get_class(), + '_add_nextgen_basic_tagcloud_routes' + ); + } + + function _add_nextgen_basic_tagcloud_routes() + { + $slug = C_NextGen_Settings::get_instance()->router_param_slug; + $this->object->rewrite("{$slug}{*}/tags/{\\w}{*}", "{$slug}{1}/gallerytag--{2}{3}"); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_urls.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_urls.php new file mode 100644 index 000000000..6536004ba --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/adapter.nextgen_basic_tagcloud_urls.php @@ -0,0 +1,75 @@ +<?php + +class A_NextGen_Basic_TagCloud_Urls extends Mixin +{ + function initialize() + { + $this->object->add_post_hook( + 'set_parameter_value', + get_class(), + get_class(), + '_set_tag_cloud_parameter' + ); + $this->object->add_post_hook( + 'remove_parameter', + get_class(), + get_class(), + '_remove_tag_cloud_parameter' + ); + } + + + function create_parameter_segment($key, $value, $id, $use_prefix) + { + if ($key == 'gallerytag') { + return 'tags/'.$value; + } + else return $this->call_parent('create_parameter_segment', $key, $value, $id, $use_prefix); + } + + + function _set_tag_cloud_parameter($key, $value, $id=NULL, $use_prefix=NULL) + { + $this->_set_tag_cloud_parameters($key, $id); + } + + + function _remove_tag_cloud_parameter($key, $id=NULL, $use_prefix=NULL) + { + $this->_set_tag_cloud_parameters($key, $id); + } + + + function _set_tag_cloud_parameters($key, $id=NULL) + { + // Get the returned url + $retval = $this->object->get_method_property( + $this->method_called, ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE + ); + + // Get the settings manager + $settings = C_NextGen_Settings::get_instance(); + + // Create the regex pattern + $sep = preg_quote($settings->router_param_separator, '#'); + if ($id)$id = preg_quote($id, '#').$sep; + $prefix = preg_quote($settings->router_param_prefix, '#'); + $regex = implode('', array( + '#//?', + $id ? "({$id})?" : "(\w+{$sep})?", + "($prefix)?gallerytag{$sep}([\w-_]+)/?#" + )); + + // Replace any page parameters with the ngglegacy equivalent + if (preg_match($regex, $retval, $matches)) { + $retval = str_replace($matches[0], "/tags/{$matches[3]}/", $retval); + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE, + $retval + ); + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.nextgen_basic_tagcloud_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.nextgen_basic_tagcloud_installer.php new file mode 100644 index 000000000..0788ae64d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.nextgen_basic_tagcloud_installer.php @@ -0,0 +1,21 @@ +<?php + +class C_NextGen_Basic_Tagcloud_Installer extends C_Gallery_Display_Installer +{ + /** + * Installs the display type for NextGEN Basic Tagcloud + */ + function install() + { + $this->install_display_type( + NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME, array( + 'title' => 'NextGEN Basic TagCloud', + 'entity_types' => array('image'), + 'preview_image_relpath' => 'photocrati-nextgen_basic_tagcloud#preview.gif', + 'default_source' => 'tags', + 'view_order' => NEXTGEN_DISPLAY_PRIORITY_BASE + 100 + ) + + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.taxonomy_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.taxonomy_controller.php new file mode 100644 index 000000000..a51bf1e1b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/class.taxonomy_controller.php @@ -0,0 +1,117 @@ +<?php + +class C_Taxonomy_Controller extends C_MVC_Controller +{ + static $_instances = array(); + protected $ngg_tag_detection_has_run = FALSE; + + /** + * Returns an instance of this class + * + * @param string $context + * @return C_Taxonomy_Controller + */ + static function get_instance($context = FALSE) + { + if (!isset(self::$_instances[$context])) + { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + function define($context = FALSE) + { + parent::define($context); + $this->implement('I_Taxonomy_Controller'); + } + + /** + * Returns the rendered HTML of a gallery based on the provided tag + * + * @param string $tag + * @return string + */ + function index_action($tag) + { + $renderer = $this->object->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + $output = $renderer->display_images(array( + 'source' => 'tags', + 'container_ids' => $tag, + 'slug' => $tag, + 'display_type' => NEXTGEN_GALLERY_BASIC_THUMBNAILS + )); + + // This strips extra whitespace and strips newlines. For some reason this is especially + // necessary on Wordpress taxonomy pages. + return trim(preg_replace("/\s\s+/", " ", $output)); + } + + /** + * Determines if the current page is /ngg_tag/{*} + * + * @param $posts Wordpress post objects + * @return array Wordpress post objects + */ + function detect_ngg_tag($posts) + { + global $wp; + global $wp_query; + + // This appears to be necessary for multisite installations, but I can't imagine why. More hackery.. + $tag = (get_query_var('ngg_tag') ? get_query_var('ngg_tag') : get_query_var('name')); + + if (!$this->ngg_tag_detection_has_run // don't run more than once; necessary for certain themes + && !is_admin() // will destroy 'view all posts' page without this + && !empty($tag) // only run when a tag has been given to wordpress + && (stripos($wp->request, 'ngg_tag') === 0 // make sure the query begins with /ngg_tag + || (isset($wp_query->query_vars['page_id']) + && $wp_query->query_vars['page_id'] === 'ngg_tag') + ) + ) + { + $this->ngg_tag_detection_has_run = TRUE; + + // Wordpress somewhat-correctly generates several notices, so silence them as they're really unnecessary + if (!defined('WP_DEBUG') || !WP_DEBUG) + error_reporting(0); + + // create in-code a fake post; we feed it back to Wordpress as the sole result of the "the_posts" filter + $posts = NULL; + $posts[] = $this->create_ngg_tag_post($tag); + + $wp_query->is_404 = FALSE; + $wp_query->is_page = TRUE; + $wp_query->is_singular = TRUE; + $wp_query->is_home = FALSE; + $wp_query->is_archive = FALSE; + $wp_query->is_category = FALSE; + + unset($wp_query->query['error']); + $wp_query->query_vars['error'] = ''; + } + + return $posts; + } + + function create_ngg_tag_post($tag) + { + $post = new stdClass; + $post->post_author = FALSE; + $post->post_name = 'ngg_tag'; + $post->guid = get_bloginfo('wpurl') . '/' . 'ngg_tag'; + $post->post_title = "Images tagged "{$tag}""; + $post->post_content = $this->index_action($tag); + $post->ID = FALSE; + $post->post_type = 'page'; + $post->post_status = 'static'; + $post->comment_status = 'closed'; + $post->ping_status = 'closed'; + $post->comment_count = 0; + $post->post_date = current_time('mysql'); + $post->post_date_gmt = current_time('mysql', 1); + + return($post); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/interface.taxonomy_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/interface.taxonomy_controller.php new file mode 100644 index 000000000..492c5767a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/interface.taxonomy_controller.php @@ -0,0 +1,8 @@ +<?php + +interface I_Taxonomy_Controller extends I_MVC_Controller +{ + function index_action($tag); + function detect_ngg_tag($posts); + function create_ngg_tag_post($tag); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php new file mode 100644 index 000000000..ddf24b9ab --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php @@ -0,0 +1,141 @@ +<?php + +/*** +{ + Module: photocrati-nextgen_basic_tagcloud, + Depends: { photocrati-nextgen_gallery_display } +} + ***/ + +define('NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME', 'photocrati-nextgen_basic_tagcloud'); + +class M_NextGen_Basic_Tagcloud extends C_Base_Module +{ + function define() + { + parent::define( + NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME, + 'NextGen Basic Tagcloud', + 'Provides a tagcloud for NextGEN Gallery', + '0.4', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_basic_tagcloud_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Basic_Tagcloud_Installer'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Taxonomy_Controller', 'C_Taxonomy_Controller'); + } + + function _register_adapters() + { + // Provides settings fields and frontend rendering + $this->get_registry()->add_adapter( + 'I_Display_Type_Controller', + 'A_NextGen_Basic_Tagcloud_Controller', + $this->module_id + ); + + // Provides validation for the display type + $this->get_registry()->add_adapter( + 'I_Display_Type', + 'A_NextGen_Basic_Tagcloud' + ); + + // Provides default values for the display type + $this->get_registry()->add_adapter( + 'I_Display_Type_Mapper', + 'A_NextGen_Basic_TagCloud_Mapper' + ); + + // Add routing for ngglegacy routes + $this->get_registry()->add_adapter( + 'I_Routing_App', + 'A_NextGen_Basic_TagCloud_Routes' + ); + + // Add legacy urls + $this->get_registry()->add_adapter( + 'I_Routing_App', + 'A_NextGen_Basic_TagCloud_Urls' + ); + + // Adds a display settings form + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_TagCloud_Form', + $this->module_id + ); + + // Provides the forms for the settings + $this->get_registry()->add_adapter( + 'I_Form_Manager', + 'A_NextGen_Basic_TagCloud_Forms' + ); + } + + function _register_hooks() + { + C_NextGen_Shortcode_Manager::add('tagcloud', array(&$this, 'render_shortcode')); + + add_filter( + 'the_posts', + array( + $this->get_registry()->get_utility('I_Taxonomy_Controller'), + 'detect_ngg_tag'), + -10 + ); + } + + /** + * Gets a value from the parameter array, and if not available, uses the default value + * + * @param string $name + * @param mixed $default + * @param array $params + * @return mixed + */ + function _get_param($name, $default, $params) + { + return (isset($params[$name])) ? $params[$name] : $default; + } + + /** + * Short-cut for rendering a thumbnail gallery based on tags + * @param array $params + * @param null $inner_content + * @return string + */ + function render_shortcode($params, $inner_content=NULL) + { + $params['tagcloud'] = $this->_get_param('tagcloud', 'yes', $params); + $params['source'] = $this->_get_param('source', 'tags', $params); + $params['display_type'] = $this->_get_param('display_type', NEXTGEN_BASIC_TAG_CLOUD_MODULE_NAME, $params); + + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + function get_type_list() + { + return array( + 'A_Nextgen_Basic_Tagcloud' => 'adapter.nextgen_basic_tagcloud.php', + 'A_Nextgen_Basic_Tagcloud_Controller' => 'adapter.nextgen_basic_tagcloud_controller.php', + 'A_Nextgen_Basic_Tagcloud_Form' => 'adapter.nextgen_basic_tagcloud_form.php', + 'A_Nextgen_Basic_Tagcloud_Forms' => 'adapter.nextgen_basic_tagcloud_forms.php', + 'C_NextGen_Basic_Tagcloud_Installer' => 'class.nextgen_basic_tagcloud_installer.php', + 'A_Nextgen_Basic_Tagcloud_Mapper' => 'adapter.nextgen_basic_tagcloud_mapper.php', + 'A_Nextgen_Basic_Tagcloud_Routes' => 'adapter.nextgen_basic_tagcloud_routes.php', + 'A_Nextgen_Basic_Tagcloud_Urls' => 'adapter.nextgen_basic_tagcloud_urls.php', + 'I_Taxonomy_Controller' => 'interface.taxonomy_controller.php', + 'C_Taxonomy_Controller' => 'class.taxonomy_controller.php' + ); + } +} + +new M_NextGen_Basic_Tagcloud(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.css new file mode 100644 index 000000000..1e80d054f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/nextgen_basic_tagcloud.css @@ -0,0 +1,22 @@ +.ngg-tagcloud { + display: inline-block; +} +.ngg-tagcloud ul.wp-tag-cloud { + margin: 0; + padding: 0; +} + +.ngg-tagcloud ul.wp-tag-cloud li { + list-style: none; + float: left; + height: 30pt; + margin: 0 4px 0 0; + padding: 0; +} + +.ngg-tagcloud ul.wp-tag-cloud li a { + display: table-cell; + display: block\9; + vertical-align: bottom; + height: 30pt; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/static/preview.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4533f1142df13b980e5b0c144e5c1ce7f1dbb98 GIT binary patch literal 869 zcmZ?wbhEHb%wzCpxXJ(m|NsC0{rmU#@83Uv{`~&^``52uzkK=f`Sa%wA3nT)|Nh;( zcW>XmedWrPix)3mxNzarsZ&Re965C8(7t{9_UzfSef#ze8#b(1v0~Y>WwU0@nlWR> zq)C%HIy&0h+uPdOnwpv_D=W*&%8HANi;9Z!^YgQ_vr|)3larI<;^M-?!~g&P4{`wo zSn($dBLjmLgAT|Hke?XX{vT*4@X(R!Ke43fWRBJR3oA;z)<&(rv8L?w+p7H!HdOfN z%|8EPOV!!D-S<E2sPS8G&Dp)DPJhE@WzEK>X0}8wk&ey|p1OwS{#F-pg(*{~O`j(2 zF4o^9(L1-rmA!iDvTAmBe#td!*9g?{&zQzqw{825orRk=@14rOE4FXpkw(Eu`%ca( z*fZ^b+u@@Nk2^0}e!XgCLB&!Q_luYMuN;iJbL0BGCk4!1Z{Kxt<O{F+@@2mN+5OIJ z4=?9S|7Du0F{%I3W`<{9mN-YOSG0A@V_=i<P)VHE`f8p@#rM1zH+wPfuRl51WK^7G z6gMS)_iNtb;jE_mdg~gF<pJL}70lpVBqsR3j?rJ}r@^8X7Z<zA&$#4vK~YDS^W0NO z%a(@2d}^Dru38;>K4C@B%1JWb+ty5)P_x2Dp>fgL+uIB7PO^wNzGQ`F8FSy{lb?gm zYOp$9I4jNZ%x_zPXUHcni#rzCLDPdcJ2x7hS;4E4aqo@;|J7rcY%X#7WEVX<yCQgb zUc<#VH;a>|Zg_ISaNg`nzPGF!Y*aotE^zG4wEW_i%CK*$AB*gbh^7hbiW9;jGEBES zKMu<)J0;1mNsj+?xwp4M%ceP@yz|v=dPH9|ywn|gdcOaEOSN5$W#`tI?yj}Iy=%sD zc@8Co)G5sKSQ%mp7Ck*aIlQ2OHCpg$WH^5rqeq8t&ezfxO$%i*R9A$>f4_N1T6BTn z<pq-a1Pd26|K2HaM?rg9;ynTVtcu<U&0oUaMgnevi$d1cc3fz2^ZNKm_sGs<nIe^@ zfXkh_#}?jIzEde4X=br6WS*w$rp7qiSE-Ehs*Y+apUp~|=5eH9-;$RPd*fY?DbB8V Yw(|MBnr|<k&u?JUda)pfjgi3`08X)xT>t<8 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud.php new file mode 100644 index 000000000..fa2073fa0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud.php @@ -0,0 +1,7 @@ +<div class='ngg-tagcloud' id="gallery_<?php echo $displayed_gallery_id ?>"> + <?php if ($tagcloud): ?> + <?php print $tagcloud; ?> + <?php else: ?> + No images have been tagged. + <?php endif ?> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud_settings_select.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud_settings_select.php new file mode 100644 index 000000000..f23d575cb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_tagcloud/templates/nextgen_basic_tagcloud_settings_select.php @@ -0,0 +1,19 @@ +<tr> + <td> + <label for="<?php print esc_attr("{$display_type_name}_{$name}"); ?>" + <?php if (!empty($text)) { ?>title='<?php print esc_attr($text); ?>'<?php } ?> + <?php if (!empty($text)) { ?>class='tooltip'<?php } ?>> + <?php print $label; ?> + </label> + </td> + <td> + <select + id="<?php print $display_type_name . '_' . $name; ?>" + name="<?php print $display_type_name . '[' . $name . ']'; ?>" + class="<?php print $display_type_name . '_' . $name; ?>"> + <?php foreach ($options as $key => $val) { ?> + <option value='<?php print $key; ?>' <?php selected($key, $value); ?>><?php print _($val); ?></option> + <?php } ?> + </select> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php new file mode 100644 index 000000000..b1c45ec2e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/adapter.nextgen_basic_template_form.php @@ -0,0 +1,214 @@ +<?php + +class A_NextGen_Basic_Template_Form extends Mixin +{ + /** + * Renders 'template' settings field + * + * @param $display_type + * @return mixed + */ + function _render_nextgen_basic_templates_template_field($display_type) + { + switch($display_type->name) { + case 'photocrati-nextgen_basic_singlepic': + $prefix = 'singlepic'; + break; + case 'photocrati-nextgen_basic_thumbnails': + $prefix = 'gallery'; + break; + case 'photocrati-nextgen_basic_slideshow': + $prefix = 'gallery'; + break; + case 'photocrati-nextgen_basic_imagebrowser': + $prefix = 'imagebrowser'; + break; + case NEXTGEN_GALLERY_NEXTGEN_BASIC_COMPACT_ALBUM: + $prefix = 'album'; + break; + case NEXTGEN_GALLERY_NEXTGEN_BASIC_EXTENDED_ALBUM: + $prefix = 'album'; + break; + default: + $prefix = FALSE; + break; + } + + // ensure the current file is in the list + $templates = $this->object->_get_available_templates($prefix); + if (!isset($templates[$display_type->settings['template']])) + $templates[$display_type->settings['template']] = $display_type->settings['template']; + + return $this->object->render_partial( + 'photocrati-nextgen_basic_templates#nextgen_basic_templates_settings_template', + array( + 'display_type_name' => $display_type->name, + 'template_label' => _('Template'), + 'template_text' => _('Use a legacy template when rendering (not recommended).'), + 'chosen_file' => $display_type->settings['template'], + 'templates' => $templates + ), + True + ); + } + + /** + * Retrieves listing of available templates + * + * Override this function to modify or add to the available templates listing, array format + * is array(file_abspath => label) + * @return array + */ + function _get_available_templates($prefix = FALSE) + { + $templates = array(); + foreach ($this->object + ->get_registry() + ->get_utility('I_Legacy_Template_Locator') + ->find_all($prefix) as $label => $files) { + foreach ($files as $file) { + $tmp = explode(DIRECTORY_SEPARATOR, $file); + $templates[$file] = "{$label}: " . end($tmp); + } + } + asort($templates); + return $templates; + } + + /** + * Returns the parameter objects necessary for legacy template rendering (legacy_render()) + * + * @param array $images Array of image objects + * @param string $slideshow_link Slideshow HTML string + * @param string string $piclens_link Piclens HTML string + * @param string $pagination Pagination HTML string + * @return array + */ + function prepare_legacy_parameters($images, $displayed_gallery, $params = array()) + { + // setup + $image_map = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $gallery_map = C_Component_Registry::get_instance()->get_utility('I_Gallery_Mapper'); + $image_key = $image_map->get_primary_key_column(); + $gallery_key = $gallery_map->get_primary_key_column(); + $pid = $this->object->param('pid'); + + // because picture_list implements ArrayAccess any array-specific actions must be taken on + // $picture_list->container or they won't do anything + $picture_list = new C_Image_Wrapper_Collection(); + $current_pid = NULL; + + // begin processing + $current_page = (@get_the_ID() == FALSE) ? 0 : @get_the_ID(); + + // determine what the "current image" is; used mostly for carousel + if (!is_numeric($pid) && !empty($pid)) + { + $picture = $image_map->find_first(array('image_slug = %s', $pid)); + $pid = $picture->$image_key; + } + + // create our new wrappers + foreach ($images as $image) { + $new_image = new C_Image_Wrapper($image, $displayed_gallery); + if ($pid == $new_image->$image_key) + $current_pid = $new_image; + $picture_list[] = $new_image; + } + reset($picture_list->container); + + // assign current_pid + $current_pid = (is_null($current_pid)) ? current($picture_list->container) : $current_pid; + + foreach ($picture_list as &$image) { + if (isset($image->hidden) && $image->hidden) + { + $tmp = $displayed_gallery->display_settings['number_of_columns']; + $image->style = ($tmp > 0) ? 'style="width:' . floor(100 / $tmp) . '%;display: none;"' : 'style="display: none;"'; + } + } + + // find our gallery to build the new one on + $orig_gallery = $gallery_map->find(current($picture_list->container)->galleryid); + + // create the 'gallery' object + $gallery = new stdclass; + $gallery->ID = $displayed_gallery->id(); + $gallery->name = stripslashes($orig_gallery->name); + $gallery->title = stripslashes($orig_gallery->title); + $gallery->description = html_entity_decode(stripslashes($orig_gallery->galdesc)); + $gallery->pageid = $orig_gallery->pageid; + + if ($displayed_gallery->display_settings['ajax_pagination']) + $gallery_id = $displayed_gallery->transient_id; + else + $gallery_id = $displayed_gallery->id(); + + $gallery->anchor = 'ngg-gallery-' . $gallery_id . '-' . $current_page; + $gallery->displayed_gallery = &$displayed_gallery; + $gallery->columns = @intval($displayed_gallery->display_settings['number_of_columns']); + $gallery->imagewidth = ($gallery->columns > 0) ? 'style="width:' . floor(100 / $gallery->columns) . '%;"' : ''; + + if (!empty($displayed_gallery->display_settings['show_slideshow_link'])) { + $gallery->show_slideshow = TRUE; + $gallery->slideshow_link = $params['slideshow_link']; + $gallery->slideshow_link_text = $displayed_gallery->display_settings['slideshow_link_text']; + } + else $gallery->show_slideshow = FALSE; + + if (!empty($displayed_gallery->display_settings['show_piclens_link'])) { + $gallery->show_piclens = true; + $gallery->piclens_link = $params['piclens_link']; + $gallery->piclens_link_text = $displayed_gallery->display_settings['piclens_link_text']; + } + else $gallery->show_piclens = FALSE; + + $gallery = apply_filters('ngg_gallery_object', $gallery, 4); + + // build our array of things to return + $return = array( + 'registry' => C_Component_Registry::get_instance(), + 'gallery' => $gallery, + ); + + // single_image is an internally added flag + if (!empty($params['single_image'])) + { + $return['image'] = $picture_list[0]; + } + else { + $return['current'] = $current_pid; + $return['images'] = $picture_list->container; + } + + // this is expected to always exist + if (!empty($params['pagination'])) + { + $return['pagination'] = $params['pagination']; + } + else { + $return['pagination'] = NULL; + } + + $return['next'] = $params['next']; + $return['prev'] = $params['prev']; + + return $return; + } + + function enqueue_static_resources() + { + wp_enqueue_style( + 'ngg_template_settings', + $this->get_static_url('photocrati-nextgen_basic_templates#ngg_template_settings.css') + ); + + wp_enqueue_script( + 'ngg_template_settings', + $this->get_static_url('photocrati-nextgen_basic_templates#ngg_template_settings.js'), + array('jquery-ui-autocomplete', 'jquery-ui-button'), + $this->module_version, + TRUE + ); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/class.legacy_template_locator.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/class.legacy_template_locator.php new file mode 100644 index 000000000..78b6c61c6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/class.legacy_template_locator.php @@ -0,0 +1,152 @@ +<?php + +/** + * Provides a utility to locate legacy templates + */ +class C_Legacy_Template_Locator extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Legacy_Template_Locator'); + $this->implement('I_Legacy_Template_Locator'); + } + + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + + +/** + * Provides instance methods for the legacy template locator + */ +class Mixin_Legacy_Template_Locator extends Mixin +{ + /** + * Returns an array of template storing directories + * + * @return array Template storing directories + */ + function get_template_directories() + { + return array( + 'Child Theme' => get_stylesheet_directory() . DIRECTORY_SEPARATOR . 'nggallery' . DIRECTORY_SEPARATOR, + 'Parent Theme' => get_template_directory() . DIRECTORY_SEPARATOR . 'nggallery' . DIRECTORY_SEPARATOR, + 'NextGEN' => NGGALLERY_ABSPATH . 'view' . DIRECTORY_SEPARATOR + ); + } + + /** + * Returns an array of all available template files + * + * @return array All available template files + */ + function find_all($prefix = FALSE) + { + $files = array(); + foreach ($this->object->get_template_directories() as $label => $dir) { + $tmp = $this->object->get_templates_from_dir($dir, $prefix); + if (!$tmp) + continue; + $files[$label] = $tmp; + } + return $files; + } + + /** + * Recursively scans $dir for files ending in .php + * + * @param string $dir Directory + * @return array All php files in $dir + */ + function get_templates_from_dir($dir, $prefix = FALSE) + { + if (!is_dir($dir)) + { + return; + } + + $dir = new RecursiveDirectoryIterator($dir); + $iterator = new RecursiveIteratorIterator($dir); + + // convert single-item arrays to string + if (is_array($prefix) && count($prefix) <= 1) + { + $prefix = end($prefix); + } + + // we can filter results by allowing a set of prefixes, one prefix, or by showing all available files + if (is_array($prefix)) + { + $str = implode('|', $prefix); + $regex_iterator = new RegexIterator($iterator, "/({$str})-.+\.php$/i", RecursiveRegexIterator::GET_MATCH); + } + elseif (is_string($prefix)) + { + $regex_iterator = new RegexIterator($iterator, "#(.*)/{$prefix}\-?.*\.php$#i", RecursiveRegexIterator::GET_MATCH); + } + else { + $regex_iterator = new RegexIterator($iterator, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH); + } + + $files = array(); + foreach ($regex_iterator as $filename) { + $files[] = reset($filename); + } + + return $files; + } + + + /** + * Find a particular template by name + * @param $template + */ + function find($template_name) + { + $template_abspath = FALSE; + + // hook into the render feature to allow other plugins to include templates + $custom_template = apply_filters('ngg_render_template', FALSE, $template_name); + + if ($custom_template === FALSE) + $custom_template = $template_name; + + // Ensure we have a PHP extension + if (strpos($custom_template, '.php') === FALSE) + $custom_template .= '.php'; + + // Find the abspath of the template to render + if (!@file_exists($custom_template)) + { + foreach ($this->object->get_template_directories() as $dir) { + if ($template_abspath) + break; + $filename = path_join($dir, $custom_template); + if (@file_exists($filename)) + { + $template_abspath = $filename; + } + elseif (strpos($custom_template, '-template') === FALSE) { + $filename = path_join($dir, str_replace('.php', '', $custom_template) . '-template.php'); + if (@file_exists($filename)) + $template_abspath = $filename; + } + } + } + else { + // An absolute path was already given + $template_abspath = $custom_template; + } + + return $template_abspath; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/interface.legacy_template_locator.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/interface.legacy_template_locator.php new file mode 100644 index 000000000..b7edb1322 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/interface.legacy_template_locator.php @@ -0,0 +1,9 @@ +<?php + +interface I_Legacy_Template_Locator +{ + function find($template_name); + function find_all($prefix = FALSE); + function get_template_directories(); + function get_templates_from_dir($dir, $prefix = FALSE); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/mixin.nextgen_basic_templates.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/mixin.nextgen_basic_templates.php new file mode 100644 index 000000000..ea896f7fe --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/mixin.nextgen_basic_templates.php @@ -0,0 +1,37 @@ +<?php + +class Mixin_NextGen_Basic_Templates extends Mixin +{ + /** + * Renders NextGen-Legacy style templates + * + * @param string $template_name File name + * @param array $vars Specially formatted array of parameters + * @param bool $callback + * @param bool $return + */ + function legacy_render($template_name, $vars = array(), $return = FALSE, $prefix = NULL) + { + $retval = "[Not a valid template]"; + $template_locator = $this->object->get_registry()->get_utility('I_Legacy_Template_Locator'); + + // search first for files with their prefix + $template_abspath = $template_locator->find($prefix . '-' . $template_name); + if (!$template_abspath) + $template_abspath = $template_locator->find($template_name); + + if ($template_abspath) + { + // render the template + extract($vars); + if ($return) ob_start(); + include ($template_abspath); + if ($return) { + $retval = ob_get_contents(); + ob_end_clean(); + } + } + + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php new file mode 100644 index 000000000..75c1640e0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/module.nextgen_basic_templates.php @@ -0,0 +1,52 @@ +<?php + +/*** +{ + Module: photocrati-nextgen_basic_templates, + Depends: { photocrati-nextgen_gallery_display, photocrati-nextgen_basic_album } +} + ***/ + +class M_NextGen_Basic_Templates extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_basic_templates', + 'NextGen Basic Templates', + 'Provides a NextGen-Legacy compatible thumbnail gallery for NextGEN Gallery', + '0.2', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_utilities() + { + $this->get_registry()->add_utility( + 'I_Legacy_Template_Locator', + 'C_Legacy_Template_Locator' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter( + 'I_Form', + 'A_NextGen_Basic_Template_Form' + ); + } + + function get_type_list() + { + return array( + 'A_Nextgen_Basic_Template_Form' => 'adapter.nextgen_basic_template_form.php', + 'C_Legacy_Template_Locator' => 'class.legacy_template_locator.php', + 'I_Legacy_Template_Locator' => 'interface.legacy_template_locator.php', + 'Mixin_Nextgen_Basic_Templates' => 'mixin.nextgen_basic_templates.php' + ); + } +} + +new M_NextGen_Basic_Templates(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.css new file mode 100644 index 000000000..ecf2d7703 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.css @@ -0,0 +1,19 @@ +.ngg_settings_template_wrapper .ui-combobox { + position: relative; + display: inline-block; +} +.ngg_settings_template_wrapper .ui-combobox-toggle { + position: absolute; + top: 0; + bottom: 0; + margin-left: -1px; +} +.ngg_settings_template_wrapper .ui-combobox-input { + margin: 0; + padding: 0.3em; + width: 365px; +} + +.ngg_settings_template_wrapper .ui-helper-hidden-accessible { + display: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.js new file mode 100644 index 000000000..717ee97c1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/static/ngg_template_settings.js @@ -0,0 +1,114 @@ +(function( $ ) { + $.widget("ui.combobox", { + _create: function() { + var input, + that = this, + select = this.element.hide(), + selected = select.children(":selected"), + value = selected.val() ? selected.text() : "", + wrapper = this.wrapper = $("<span>").addClass("ui-combobox") + .insertAfter(select); + + function removeIfInvalid(element) { + var value = $(element).val(), + matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(value) + "$", "i" ), + valid = false; + + select.children("option").each(function() { + if ($(this).text().match(matcher)) { + this.selected = valid = true; + return false; + } + }); + + if (!valid) { + var new_option = new Option(value, value, true, true); + select.append(new_option); + select.val(value); + $(element).val(value); + input.data('autocomplete').term = value; + return true; + } + } + + input = $("<input>").appendTo(wrapper) + .val(value) + .attr("title", "") + .addClass("ui-state-default ui-combobox-input") + .autocomplete({ + delay: 0, + minLength: 0, + source: function(request, response) { + var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); + response(select.children("option").map(function() { + var text = $(this).text(); + if (!request.term || matcher.test(text)) { + var label = text; + if (request.term != '' && matcher.test(label)) { + label = label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"); + } + return { + label: label, + value: text, + option: this + }; + } + })); + }, + select: function(event, ui) { + ui.item.option.selected = true; + that._trigger("selected", event, { + item: ui.item.option + }); + }, + change: function(event, ui) { + if (!ui.item) { + return removeIfInvalid(this); + } + } + }) + .addClass("ui-widget ui-widget-content ui-corner-left"); + var autocomplete = input.data("autocomplete"); + if (autocomplete) autocomplete._renderItem = function(ul, item) { + return $("<li>").data("item.autocomplete", item) + .append("<a>" + item.label + "</a>") + .appendTo(ul); + }; + + $("<a>").attr("tabIndex", -1) + .attr("title", "Show All Items") + .appendTo(wrapper) + .button({ + icons: { primary: "ui-icon-triangle-1-s" }, + text: false + }) + .removeClass("ui-corner-all") + .addClass("ui-corner-right ui-combobox-toggle") + .click(function() { + // close if already visible + if (input.autocomplete("widget").is(":visible")) { + input.autocomplete("close"); + removeIfInvalid(input); + return; + } + + // work around a bug (likely same cause as #5265) + $(this).blur(); + + // pass empty string as value to search for, displaying all results + input.autocomplete("search", ""); + input.focus(); + }); + }, + + destroy: function() { + this.wrapper.remove(); + this.element.show(); + $.Widget.prototype.destroy.call( this ); + } + }); +})(jQuery); + +jQuery(function($) { + $(".ngg_settings_template").combobox(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/templates/nextgen_basic_templates_settings_template.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/templates/nextgen_basic_templates_settings_template.php new file mode 100644 index 000000000..c4dcf78e3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_templates/templates/nextgen_basic_templates_settings_template.php @@ -0,0 +1,21 @@ +<tr> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_template' + class='tooltip' + title="<?php echo_h($template_text); ?>"> + <?php echo_h($template_label); ?> + </label> + </td> + <td> + <div class='ngg_settings_template_wrapper'> + <select name='<?php echo esc_attr($display_type_name); ?>[template]' + id='<?php echo esc_attr($display_type_name); ?>_template>' + class='ngg_thumbnail_template ngg_settings_template'> + <option value=''> </option> + <?php foreach ($templates as $file => $label) { ?> + <option value="<?php echo $file; ?>" <?php selected($chosen_file, $file, TRUE); ?>><?php echo_h($label); ?></option> + <?php } ?> + </select> + </div> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.attachment_datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.attachment_datamapper.php new file mode 100644 index 000000000..fb51b863b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.attachment_datamapper.php @@ -0,0 +1,62 @@ +<?php + +/** + * Modifies a custom post datamapper to use the WordPress built-in 'attachment' + * custom post type, as used by the Media Library + */ +class A_Attachment_DataMapper extends Mixin +{ + function initialize() + { + $this->object->_object_name = 'attachment'; + } + + /** + * Saves the entity using the wp_insert_attachment function + * instead of the wp_insert_post + * @param stdObject $entity + */ + function _save_entity($entity) + { + $post = $this->object->_convert_entity_to_post($entity); + $filename = property_exists($entity, 'filename') ? $entity->filename : FALSE; + $primary_key = $this->object->get_primary_key_column(); + + if (($post_id = $attachment_id = wp_insert_attachment($post, $filename))) { + $new_entity = $this->object->find($post_id); + foreach ($new_entity as $key => $value) $entity->$key = $value; + + // Merge meta data with WordPress Attachment Meta Data + if (property_exists($entity, 'meta_data')) { + $meta_data = wp_get_attachment_metadata($attachment_id); + if (isset($meta_data['image_meta'])) { + $entity->meta_data = array_merge_recursive( + $meta_data['image_meta'], + $entity->meta_data + ); + wp_update_attachment_metadata($attachment_id, $entity->meta_data); + } + } + + // Save properties are post meta as well + $this->object->_flush_and_update_postmeta($attachment_id, ($entity instanceof stdClass ? $entity : $entity->get_entity()), array( + '_wp_attached_file', + '_wp_attachment_metadata', + '_mapper' + )); + + $entity->id_field = $primary_key; + } + + return $attachment_id; + } + + function select($fields='*') + { + $ret = $this->call_parent('select', $fields); + + $this->object->_query_args['datamapper_attachment'] = true; + + return $ret; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.customtable_sorting_datamapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.customtable_sorting_datamapper.php new file mode 100644 index 000000000..76c9635e0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.customtable_sorting_datamapper.php @@ -0,0 +1,42 @@ +<?php + +/** + * Modifies a custom table datamapper sorting to use natural sorting + */ +class A_CustomTable_Sorting_DataMapper extends Mixin +{ +# function initialize() +# { +# $this->object->get_wrapped_instance()->add_post_hook( +# 'order_by', +# 'Natural Sorting', +# 'Hook_CustomTable_Natural_Sorting' +# ); +# } + + function order_by($order_by, $direction='ASC') + { + // We treat the rand() function as an exception + if (!preg_match("/rand\(\s*\)/", $order_by)) { + $order_by_col = $this->object->_clean_column($order_by); + + // If the order by clause is a column, then it should be backticked + if ($this->object->has_column($order_by_col)) $order_by_col = "ABS(`{$order_by_col}`)"; + + $direction = $this->object->_clean_column($direction); + $order = "{$order_by_col} {$direction}"; + + $this->object->_order_clauses[] = $order; + } + + return $this->call_parent('order_by', $order_by, $direction); + } +} + +class Hook_CustomTable_Natural_Sorting extends Hook +{ + function order_by($order_by, $direction='ASC') + { + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.nextgen_data_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.nextgen_data_factory.php new file mode 100644 index 000000000..652976f48 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/adapter.nextgen_data_factory.php @@ -0,0 +1,51 @@ +<?php + +class A_NextGen_Data_Factory extends Mixin +{ + function gallery($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Gallery($properties, $mapper, $context); + } + + + function gallery_image($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Image($properties, $mapper, $context); + } + + + function image($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Image($properties, $mapper, $context); + } + + + function album($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Album($mapper, $properties, $context); + } + + + function ngglegacy_gallery_storage($context=FALSE) + { + return new C_NggLegacy_GalleryStorage_Driver($context); + } + + + function wordpress_gallery_storage($context=FALSE) + { + return new C_WordPress_GalleryStorage_Driver($context); + } + + + function gallery_storage($context=FALSE) + { + return new C_Gallery_Storage($context); + } + + + function gallerystorage($context=FALSE) + { + return $this->object->gallery_storage($context); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album.php new file mode 100644 index 000000000..5d76d7485 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album.php @@ -0,0 +1,56 @@ +<?php + +class C_Album extends C_DataMapper_Model +{ + var $_mapper_interface = 'I_Album_Mapper'; + + + function define($mapper=FALSE, $properties=FALSE, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_NextGen_Album_Instance_Methods'); + $this->implement('I_Album'); + } + + + /** + * Instantiates an Album object + * @param bool|\C_DataMapper|\FALSE $mapper + * @param array $properties + */ + function initialize($mapper=FALSE, $properties=array()) { + + // Get the mapper is not specified + if (!$mapper) { + $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + } + + // Initialize + parent::initialize($mapper, $properties); + } +} + +/** + * Provides instance methods for the album + */ +class Mixin_NextGen_Album_Instance_Methods extends Mixin +{ + function validation() + { + $this->validates_presence_of('name'); + $this->validates_numericality_of('previewpic'); + return $this->object->is_valid(); + } + + /** + * Gets all galleries associated with the album + */ + function get_galleries($models=FALSE) + { + $retval = array(); + $mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $gallery_key = $mapper->get_primary_key_column(); + $retval = $mapper->find_all(array("{$gallery_key} IN %s", $this->object->sortorder), $models); + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album_mapper.php new file mode 100644 index 000000000..e0e49c267 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.album_mapper.php @@ -0,0 +1,123 @@ +<?php + +class C_Album_Mapper extends C_CustomTable_DataMapper_Driver +{ + static $_instances = array(); + + function define($context=FALSE) + { + if (!is_array($context)) $context = array($context); + array_push($context, 'album'); + + $this->_primary_key_column = 'id'; + + parent::define('ngg_album', $context); + $this->add_mixin('Mixin_Album_Mapper'); + $this->implement('I_Album_Mapper'); + $this->set_model_factory_method('album'); + $this->add_post_hook( + '_convert_to_entity', + 'Unserialize Galleries', + 'Hook_Unserialize_Album_Galleries', + 'unserialize_galleries' + ); + } + + function initialize() + { + parent::initialize('ngg_album'); + } + + + /** + * Returns an instance of the album datamapper + * @param bool|mixed $context + * @return C_Album_Mapper + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +/** + * NextGEN stores all gallery ids for the album in a property called sortorder + */ +class Hook_Unserialize_Album_Galleries extends Hook +{ + function unserialize_galleries($entity) + { + if (isset($entity->sortorder) && is_string($entity->sortorder)) { + $entity->sortorder = $this->object->unserialize($entity->sortorder); + } + } +} + + +/** + * Provides album-specific methods for the datamapper + */ +class Mixin_Album_Mapper extends Mixin +{ + /** + * Gets the post title when the Custom Post driver is used + * @param C_DataMapper_Model|C_Album|stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return $entity->name; + } + + /** + * Override the save method to avoid trying to save the 'exclude' property + * to the database, which will fail since the column doesn't exist in the + * database. + * TODO: This is just a workaround and should be removed when we implement + * https://www.wrike.com/open.htm?id=8250095 + * @param stdClass|C_DataMapper_Model $entity + * @return boolean + */ + function _convert_to_table_data($entity) + { + $exclude = $entity->exclude; + $new_sortorder = property_exists($entity, 'new_sortorder') ? $entity->new_sortorder : NULL; + unset($entity->exclude); + unset($entity->new_sortorder); + $retval = $this->call_parent('_convert_to_table_data', $entity); + $entity->exclude = $exclude; + if ($new_sortorder) $entity->new_sortorder = $new_sortorder; + return $retval; + } + + function _save_entity($entity) + { + $retval = $this->call_parent('_save_entity', $entity); + if ($retval) { + C_Photocrati_Cache::flush(); + } + return $retval; + } + + /** + * Sets the defaults for an album + * @param C_DataMapper_Model|C_Album|stdClass $entity + */ + function set_defaults($entity) + { + $this->object->_set_default_value($entity, 'name', ''); + $this->object->_set_default_value($entity, 'albumdesc', ''); + $this->object->_set_default_value($entity, 'sortorder', array()); + $this->object->_set_default_value($entity, 'previewpic', 0); + $this->object->_set_default_value($entity, 'exclude', 0); + $this->object->_set_default_value( + $entity, + 'slug', + nggdb::get_unique_slug( sanitize_title( $entity->name ), 'album' ) + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery.php new file mode 100644 index 000000000..b82910bc7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery.php @@ -0,0 +1,81 @@ +<?php + +class Mixin_NextGen_Gallery_Validation +{ + /** + * Validates whether the gallery can be saved + */ + function validation() + { + // If a title is present, we can auto-populate some other properties + if (isset($this->object->title)) { + + // If no name is present, use the title to generate one + if (!isset($this->object->name)) { + $this->object->name = sanitize_file_name( sanitize_title($this->object->title)); + $this->object->name = apply_filters('ngg_gallery_name', $this->object->name); + } + + // If no slug is set, use the title to generate one + if (!isset($this->object->slug)) { + $this->object->slug = nggdb::get_unique_slug( sanitize_title($this->object->title), 'gallery' ); + } + } + + // Set what will be the path to the gallery + if (empty($this->object->path)) + { + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $this->object->path = $storage->get_upload_relpath($this->object); + unset($storage); + } + + $this->object->validates_presence_of('title'); + $this->object->validates_presence_of('name'); + $this->object->validates_uniqueness_of('slug'); + $this->object->validates_numericality_of('author'); + + return $this->object->is_valid(); + } +} + +/** + * Creates a model representing a NextGEN Gallery object + */ +class C_Gallery extends C_DataMapper_Model +{ + var $_mapper_interface = 'I_Gallery_Mapper'; + + /** + * Defines the interfaces and methods (through extensions and hooks) + * that this class provides + */ + function define($properties, $mapper, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_NextGen_Gallery_Validation'); + $this->implement('I_Gallery'); + } + + /** + * Instantiates a new model + * @param array|stdClass $properties + * @param C_DataMapper $mapper + * @param string $context + */ + function initialize($properties = FALSE, $mapper=FALSE) + { + + // Get the mapper is not specified + if (!$mapper) { + $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + } + parent::initialize($mapper, $properties); + } + + function get_images() + { + $mapper = C_Image_Mapper::get_instance(); + return $mapper->find_all(array('galleryid = %d', $this->gid)); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_mapper.php new file mode 100644 index 000000000..8fcea6576 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_mapper.php @@ -0,0 +1,136 @@ +<?php + +/** + * Provides a datamapper for galleries + */ +class C_Gallery_Mapper extends C_CustomTable_DataMapper_Driver +{ + public static $_instances = array(); + + /** + * Define the object + * @param string $context + */ + function define($context=FALSE) + { + // Add 'gallery' context + if (!is_array($context)) $context = array($context); + array_push($context, 'gallery'); + + $this->_primary_key_column = 'gid'; + + // Continue defining the object + parent::define('ngg_gallery', $context); + $this->set_model_factory_method('gallery'); + $this->add_mixin('Mixin_Gallery_Mapper'); + $this->implement('I_Gallery_Mapper'); + } + + function initialize() + { + parent::initialize('ngg_gallery'); + } + + /** + * Returns a singleton of the gallery mapper + * @param string $context + * @return C_Gallery_Mapper + */ + public static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Gallery_Mapper($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Gallery_Mapper extends Mixin +{ + /** + * Uses the title property as the post title when the Custom Post driver + * is used + */ + function get_post_title($entity) + { + return $entity->title; + } + + /** + * Override the save method to avoid trying to save the 'new_sortorder' property + * to the database, which will fail since the column doesn't exist in the + * database. + * TODO: This is just a workaround and should be removed when we implement + * https://www.wrike.com/open.htm?id=8250095 + * @param stdClass|C_DataMapper_Model $entity + * @return boolean + */ + function _convert_to_table_data($entity) + { + $new_sortorder = property_exists($entity, 'new_sortorder') ? $entity->new_sortorder : NULL; + unset($entity->new_sortorder); + $retval = $this->call_parent('_convert_to_table_data', $entity); + if ($new_sortorder) $entity->new_sortorder = $new_sortorder; + return $retval; + } + + + function _save_entity($entity) + { + $retval = $this->call_parent('_save_entity', $entity); + + if ($retval) { + do_action('ngg_created_new_gallery', $entity->{$entity->id_field}); + C_Photocrati_Cache::flush(); + } + + return $retval; + } + + function destroy($image) + { + $retval = $this->call_parent('destroy',$image); + C_Photocrati_Cache::flush(); + return $retval; + } + + function set_preview_image($gallery, $image, $only_if_empty=FALSE) + { + $retval = FALSE; + + // We need the gallery object + if (is_numeric($gallery)) { + $gallery = $this->object->find($gallery); + } + + // We need the image id + if (!is_numeric($image)) { + if (method_exists($image, 'id')) { + $image = $image->id(); + } + else { + $image = $image->{$image->id_field}; + } + } + + if ($gallery && $image) { + if (($only_if_empty && !$gallery->previewpic) OR !$only_if_empty) { + $gallery->previewpic = $image; + $retval = $this->object->save($gallery); + } + } + + return $retval; + } + + /** + * Sets default values for the gallery + */ + function set_defaults($entity) + { + // If author is missing, then set to the current user id + // TODO: Using wordpress function. Should use abstraction + $this->object->_set_default_value($entity, 'author', get_current_user_id()); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_storage.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_storage.php new file mode 100644 index 000000000..6a26609e6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallery_storage.php @@ -0,0 +1,76 @@ +<?php + +class GalleryStorageDriverNotSelectedException extends RuntimeException +{ + function __construct($message='', $code=NULL, $previous=NULL) + { + if (!$message) $message = "No gallery storage driver selected."; + parent::__construct($message, $code, $previous); + } +} + +class Mixin_GalleryStorage extends Mixin +{ + /** + * Returns the name of the class which provides the gallerystorage + * implementation + * @return string + */ + function _get_driver_factory_method($context=FALSE) + { + $factory_method = ''; + + // No constant has been defined to establish a global gallerystorage driver + if (!defined('GALLERYSTORAGE_DRIVER')) { + + // Get the datamapper configured in the database + $factory_method = C_NextGen_Settings::get_instance()->gallerystorage_driver; + + // Define a constant and use this as the global gallerystorage driver, + // unless running in a SimpleTest Environment + if (!isset($GLOBALS['SIMPLE_TEST_RUNNING'])) + define('GALLERYSTORAGE_DRIVER', $factory_method); + } + + // Use the globally defined gallerystorage driver in the constant + else $factory_method = GALLERYSTORAGE_DRIVER; + + return $factory_method; + } +} + +class C_Gallery_Storage extends C_GalleryStorage_Base +{ + public static $_instances = array(); + + function define($object_name, $context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_GalleryStorage'); + $this->wrap('I_GalleryStorage_Driver', array(&$this, '_get_driver'), array($object_name, $context)); + $this->implement('I_Gallery_Storage'); + } + + static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Gallery_Storage($context); + } + return self::$_instances[$context]; + } + + /** + * Returns the implementation for the gallerystorage + * @param array $args + * @return mixed + */ + function _get_driver($args) + { + $object_name = $args[0]; + $context = $args[1]; + $factory_method = $this->_get_driver_factory_method($context); + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + return $factory->create($factory_method, $object_name, $context); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_base.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_base.php new file mode 100644 index 000000000..a7e3c9b90 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_base.php @@ -0,0 +1,21 @@ +<?php + +class C_GalleryStorage_Base extends C_Component +{ + /** + * Gets the url or path of an image of a particular size + * @param string $method + * @param array $args + */ + function __call($method, $args) + { + if (preg_match("/^get_(\w+)_(abspath|url|dimensions|html|size_params)$/", $method, $match)) { + if (isset($match[1]) && isset($match[2]) && !$this->has_method($method)) { + $method = 'get_image_'.$match[2]; + $args[] = $match[1]; // array($image, $size) + return parent::__call($method, $args); + } + } + return parent::__call($method, $args); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php new file mode 100644 index 000000000..79b554e8f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php @@ -0,0 +1,1362 @@ +<?php + +class E_UploadException extends RuntimeException +{ + function __construct($message='', $code=NULL, $previous=NULL) + { + if (!$message) $message = "There was a problem uploading the file."; + parent::__construct($message, $code, $previous); + } +} + +class E_InsufficientWriteAccessException extends RuntimeException +{ + function __construct($message=FALSE, $filename=NULL, $code=NULL, $previous=NULL) + { + if (!$message) $message = "Could not write to file. Please check filesystem permissions."; + if ($filename) $message .= " Filename: {$filename}"; + parent::__construct($message, $code, $previous); + } +} + +class E_NoSpaceAvailableException extends RuntimeException +{ + function __construct($message='', $code=NULL, $previous=NULL) + { + if (!$message) $message = "You have exceeded your storage capacity. Please remove some files and try again."; + parent::__construct($message, $code, $previous); + } +} + +class Mixin_GalleryStorage_Driver_Base extends Mixin +{ + /** + * Set correct file permissions (taken from wp core). Should be called + * after writing any file + * + * @class nggAdmin + * @param string $filename + * @return bool $result + */ + function _chmod($filename = '') + { + $stat = @ stat( dirname($filename) ); + $perms = $stat['mode'] & 0000666; // Remove execute bits for files + if ( @chmod($filename, $perms) ) + return TRUE; + + return FALSE; + } + + /** + * Gets the id of a gallery, regardless of whether an integer + * or object was passed as an argument + * @param mixed $gallery_obj_or_id + */ + function _get_gallery_id($gallery_obj_or_id) + { + $retval = NULL; + $gallery_key = $this->object->_gallery_mapper->get_primary_key_column(); + if (is_object($gallery_obj_or_id)) { + if (isset($gallery_obj_or_id->$gallery_key)) { + $retval = $gallery_obj_or_id->$gallery_key; + } + } + elseif(is_numeric($gallery_obj_or_id)) { + $retval = $gallery_obj_or_id; + } + + return $retval; + } + + /** + * Gets the id of an image, regardless of whether an integer + * or object was passed as an argument + * @param type $image_obj_or_id + */ + function _get_image_id($image_obj_or_id) + { + $retval = NULL; + + $image_key = $this->object->_image_mapper->get_primary_key_column(); + if (is_object($image_obj_or_id)) { + if (isset($image_obj_or_id->$image_key)) { + $retval = $image_obj_or_id->$image_key; + } + } + elseif (is_numeric($image_obj_or_id)) { + $retval = $image_obj_or_id; + } + + return $retval; + } + + + function delete_directory($abspath) + { + $retval = FALSE; + + if (@file_exists($abspath)) { + $files = scandir($abspath); + array_shift($files); + array_shift($files); + foreach ($files as $file) { + $file_abspath = path_join($abspath, $file); + if (is_dir($file_abspath)) $this->object->delete_directory($file_abspath); + else unlink($file_abspath); + } + rmdir($abspath); + $retval = @file_exists($abspath); + } + + return $retval; + } + + /** + * Backs up an image file + * @param int|object $image + */ + function backup_image($image) + { + $retval = FALSE; + + if (($image_path = $this->object->get_image_abspath($image))) { + $retval = copy($image_path, $this->object->get_backup_abspath($image)); + } + + return $retval; + } + + /** + * Copies images into another gallery + * @param array $images + * @param int|object $gallery + * @param boolean $db optionally only copy the image files + * @param boolean $move move the image instead of copying + */ + function copy_images($images, $gallery, $db=TRUE, $move=FALSE) + { + $retval = FALSE; + + // Ensure we have a valid gallery + if (($gallery = $this->object->_get_gallery_id($gallery))) { + $gallery_path = $this->object->get_gallery_abspath($gallery); + $image_key = $this->object->_image_mapper->get_primary_key_column(); + $retval = TRUE; + + // Iterate through each image to copy... + foreach ($images as $image) { + + // Copy each image size + foreach ($this->object->get_image_sizes() as $size) { + $image_path = $this->object->get_image_abspath($image, $size); + $dst = path_join($gallery_path, basename($image_path)); + $success = $move ? move($image_path, $dst) : copy($image_path, $dst); + if (!$success) $retval = FALSE; + } + + // Copy the db entry + if ($db) { + if (is_numeric($image)) $this->object->_image_mapper($image); + unset($image->$image_key); + $image->galleryid = $gallery; + } + } + } + + return $retval; + } + + /** + * Empties the gallery cache directory of content + */ + function flush_cache($gallery) + { + $cache = $this->object->get_registry()->get_utility('I_Cache'); + $cache->flush_directory($this->object->get_cache_abspath($gallery)); + } + + /** + * Gets the absolute path of the backup of an original image + * @param string $image + */ + function get_backup_abspath($image) + { + $retval = NULL; + + if (($image_path = $this->object->get_image_abspath($image))) { + $retval = $image_path.'_backup'; + } + + return $retval; + } + + /** + * Returns the absolute path to the cache directory of a gallery. + * + * Without the gallery parameter the legacy (pre 2.0) shared directory is returned. + * + * @param int|stdClass|C_Gallery $gallery (optional) + * @return string Absolute path to cache directory + */ + function get_cache_abspath($gallery = FALSE) + { + $retval = NULL; + + if (FALSE == $gallery) + { + $gallerypath = C_NextGen_Settings::get_instance()->gallerypath; + $retval = path_join(WINABSPATH, $gallerypath); + $retval = path_join($retval, 'cache'); + } + else { + if (is_numeric($gallery)) + { + $gallery = $this->object->_gallery_mapper->find($gallery); + } + $retval = path_join($this->object->get_gallery_abspath($gallery), 'dynamic'); + } + + return $retval; + } + + /** + * Gets the absolute path where the full-sized image is stored + * @param int|object $image + */ + function get_full_abspath($image) + { + return $this->object->get_image_abspath($image, 'full'); + } + + /** + * Alias to get_image_dimensions() + * @param int|object $image + * @return array + */ + function get_full_dimensions($image) + { + return $this->object->get_image_dimensions($image, 'full'); + } + + /** + * Alias to get_image_html() + * @param int|object $image + * @return string + */ + function get_full_html($image) + { + return $this->object->get_image_html($image, 'full'); + } + + /** + * Alias for get_original_url() + * + * @param int|stdClass|C_Image $image + * @return string + */ + function get_full_url($image) + { + return $this->object->get_image_url($image, 'full'); + } + + /** + * Gets the dimensions for a particular-sized image + * + * @param int|object $image + * @param string $size + * @return array + */ + function get_image_dimensions($image, $size='full') + { + $retval = NULL; + + // If an image id was provided, get the entity + if (is_numeric($image)) $image = $this->object->_image_mapper->find($image); + + // Ensure we have a valid image + if ($image) { + + // Adjust size parameter + switch ($size) { + case 'original': + $size = 'full'; + break; + case 'thumbnails': + case 'thumbnail': + case 'thumb': + case 'thumbs': + $size = 'thumbnail'; + break; + } + + // Image dimensions are stored in the $image->meta_data + // property for all implementations + if (isset($image->meta_data) && isset($image->meta_data[$size])) { + $retval = $image->meta_data[$size]; + } + + // Didn't exist for meta data. We'll have to compute + // dimensions in the meta_data after computing? This is most likely + // due to a dynamic image size being calculated for the first time + else { + + $abspath = $this->object->get_image_abspath($image, $size); + + if (@file_exists($abspath)) + { + $dims = getimagesize($abspath); + + if ($dims) { + $retval['width'] = $dims[0]; + $retval['height'] = $dims[1]; + } + } + } + } + + return $retval; + } + + /** + * Gets the HTML for an image + * @param int|object $image + * @param string $size + * @return string + */ + function get_image_html($image, $size='full', $attributes=array()) + { + $retval = ""; + + if (is_numeric($image)) $image = $this->object->_image_mapper->find($image); + + if ($image) { + + // Set alt text if not already specified + if (!isset($attributes['alttext'])) { + $attributes['alt'] = esc_attr($image->alttext); + } + + // Set the title if not already set + if (!isset($attributes['title'])) { + $attributes['title'] = esc_attr($image->alttext); + } + + // Set the dimensions if not set already + if (!isset($attributes['width']) OR !isset($attributes['height'])) { + $dimensions = $this->object->get_image_dimensions($image, $size); + if (!isset($attributes['width'])) { + $attributes['width'] = $dimensions['width']; + } + if (!isset($attributes['height'])) { + $attributes['height'] = $dimensions['height']; + } + } + + // Set the url if not already specified + if (!isset($attributes['src'])) { + $attributes['src'] = $this->object->get_image_url($image, $size); + } + + // Format attributes + $attribs = array(); + foreach ($attributes as $attrib => $value) $attribs[] = "{$attrib}=\"{$value}\""; + $attribs = implode(" ", $attribs); + + // Return HTML string + $retval = "<img {$attribs} />"; + } + + return $retval; + } + + /** + * An alias for get_full_abspath() + * @param int|object $image + */ + function get_original_abspath($image) + { + return $this->object->get_image_abspath($image, 'full'); + } + + /** + * Alias to get_image_dimensions() + * @param int|object $image + * @return array + */ + function get_original_dimensions($image) + { + return $this->object->get_image_dimensions($image, 'full'); + } + + /** + * Alias to get_image_html() + * @param int|object $image + * @return string + */ + function get_original_html($image) + { + return $this->object->get_image_html($image, 'full'); + } + + /** + * Gets the url to the original-sized image + * @param int|stdClass|C_Image $image + * @return string + */ + function get_original_url($image) + { + return $this->object->get_image_url($image, 'full'); + } + + /** + * Gets the upload path, optionally for a particular gallery + * @param int|C_Gallery|stdClass $gallery + */ + function get_upload_relpath($gallery=FALSE) + { + return str_replace(ABSPATH, '', $this->object->get_upload_abspath($gallery)); + } + + /** + * Moves images from to another gallery + * @param array $images + * @param int|object $gallery + * @param boolean $db optionally only move the image files, not the db entries + * @return boolean + */ + function move_images($images, $gallery, $db=TRUE) + { + return $this->object->copy_images($images, $gallery, $db, TRUE); + } + + + function is_zip() + { + $retval = FALSE; + + if ((isset($_FILES['file']) && $_FILES['file']['error'] == 0)) { + $file_info = $_FILES['file']; + + if (isset($file_info['type'])) { + $type = $file_info['type']; + $type_parts = explode('/', $type); + + if (strtolower($type_parts[0]) == 'application') { + $spec = $type_parts[1]; + $spec_parts = explode('-', $spec); + $spec_parts = array_map('strtolower', $spec_parts); + + if (in_array($spec, array('zip', 'octet-stream')) || in_array('zip', $spec_parts)) { + $retval = true; + } + } + } + } + + return $retval; + } + + function upload_zip($gallery_id) + { + $memory_limit = intval(ini_get('memory_limit')); + if ($memory_limit < 256) @ini_set('memory_limit', '256M'); + + $retval = FALSE; + + if ($this->object->is_zip()) { + $zipfile = $_FILES['file']['tmp_name']; + $dest_path = path_join(get_temp_dir(), 'unpacked-'.basename($zipfile)); + $fs = $this->get_registry()->get_utility('I_Fs'); + + // Ensure that we truly have the gallery id + $gallery_id = $this->_get_gallery_id($gallery_id); + + // Uses the WordPress ZIP abstraction API + wp_mkdir_p($dest_path); + include_once($fs->join_paths(ABSPATH, 'wp-admin', 'includes', 'file.php')); + WP_Filesystem(); + if ((unzip_file($zipfile, $dest_path) === TRUE)) { + $retval = $this->object->import_gallery_from_fs($dest_path, $gallery_id); + } + $this->object->delete_directory($dest_path); + } + + @ini_set('memory_limit', $memory_limit.'M'); + + return $retval; + } + + + /** + * Uploads base64 file to a gallery + * @param int|stdClass|C_Gallery $gallery + * @param $data base64-encoded string of data representing the image + * @param type $filename specifies the name of the file + * @return C_Image + */ + function upload_base64_image($gallery, $data, $filename=FALSE, $image_id=FALSE) + { + $settings = C_NextGen_Settings::get_instance(); + $memory_limit = intval(ini_get('memory_limit')); + if ($memory_limit < 256) @ini_set('memory_limit', '256M'); + + $retval = NULL; + if (($gallery_id = $this->object->_get_gallery_id($gallery))) { + + // Ensure that there is capacity available + require_once(ABSPATH . 'wp-admin/includes/ms.php'); + if ( (is_multisite()) && nggWPMU::wpmu_enable_function('wpmuQuotaCheck')) { + if (upload_is_user_over_quota(FALSE)) { + throw new E_NoSpaceAvailableException(); + } + } + + // Get path information. The use of get_upload_abspath() might + // not be the best for some drivers. For example, if using the + // WordPress Media Library for uploading, then the wp_upload_bits() + // function should perhaps be used + $upload_dir = $this->object->get_upload_abspath($gallery); + + // Perhaps a filename was given instead of base64 data? + if ($data[0] == '/' && @file_exists($data)) { + if (!$filename) $filename = basename($data); + $data = file_get_contents($data); + } + + // Determine filenames + $filename = $filename ? sanitize_title_with_dashes($filename) : uniqid('nextgen-gallery'); + if (preg_match("/\-(png|jpg|gif|jpeg)$/i", $filename, $match)) { + $filename = str_replace($match[0], '.'.$match[1], $filename); + } + $abs_filename = path_join($upload_dir, $filename); + + // Create or retrieve the image object + $image = NULL; + if ($image_id) { + $image = $this->object->_image_mapper->find($image_id, TRUE); + unset($image->meta_data['saved']); + } + if (!$image) $image = $this->object->_image_mapper->create(); + $retval = $image; + + // Create or update the database record + $image->alttext = sanitize_title_with_dashes(basename($filename, '.' . pathinfo($filename, PATHINFO_EXTENSION))); + $image->galleryid = $this->object->_get_gallery_id($gallery); + $image->filename = $filename; + $image->image_slug = nggdb::get_unique_slug( sanitize_title_with_dashes( $image->alttext ), 'image' ); + $image_key = $this->object->_image_mapper->get_primary_key_column(); + + // If we can't write to the directory, then there's no point in continuing + if (!@file_exists($upload_dir)) @wp_mkdir_p($upload_dir); + if (!is_writable($upload_dir)) { + throw new E_InsufficientWriteAccessException( + FALSE, $upload_dir, FALSE + ); + } + + // Save the image + if (($image_id = $this->object->_image_mapper->save($image))) { + try { + // Try writing the image + if (!@file_exists($upload_dir)) wp_mkdir_p($upload_dir); + $fp = fopen($abs_filename, 'w'); + fwrite($fp, $data); + fclose($fp); + + if ($settings->imgBackup) + $this->object->backup_image($image); + + if ($settings->imgAutoResize) + $this->object->generate_image_clone( + $abs_filename, + $abs_filename, + $this->object->get_image_size_params($image_id, 'full') + ); + + // Ensure that fullsize dimensions are added to metadata array + $dimensions = getimagesize($abs_filename); + $full_meta = array( + 'width' => $dimensions[0], + 'height' => $dimensions[1] + ); + if (!isset($image->meta_data) OR (is_string($image->meta_data) && strlen($image->meta_data) == 0)) { + $image->meta_data = array(); + } + $image->meta_data = array_merge($image->meta_data, $full_meta); + $image->meta_data['full'] = $full_meta; + + // Generate a thumbnail for the image + $this->object->generate_thumbnail($image); + + // Set gallery preview image if missing + $this->object->get_registry()->get_utility('I_Gallery_Mapper')->set_preview_image($gallery, $image_id, TRUE); + + // Notify other plugins that an image has been added + do_action('ngg_added_new_image', $image); + + // delete dirsize after adding new images + delete_transient( 'dirsize_cache' ); + + // Seems redundant to above hook. Maintaining for legacy purposes + do_action( + 'ngg_after_new_images_added', + $gallery_id, + array($image->$image_key) + ); + } + catch(Exception $ex) { + throw new E_InsufficientWriteAccessException( + FALSE, $abs_filename, FALSE, $ex + ); + } + } + else throw new E_InvalidEntityException(); + } + else throw new E_EntityNotFoundException(); + + @ini_set('memory_limit', $memory_limit.'M'); + + return $retval; + } + + function import_gallery_from_fs($abspath, $gallery_id=FALSE, $move_files=TRUE) + { + $retval = FALSE; + if (@file_exists($abspath)) { + + // Ensure that this folder has images + $files_all = scandir($abspath); + $files = array(); + + // first perform some filtering on file list + foreach ($files_all as $file) + { + if ($file == '.' || $file == '..') + continue; + + $files[] = $file; + } + + if (!empty($files)) { + + // Get needed utilities + $fs = $this->get_registry()->get_utility('I_Fs'); + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); + + // Sometimes users try importing a directory, which actually has all images under another directory + $first_file_abspath = $fs->join_paths($abspath, $files[0]); + if (is_dir($first_file_abspath) && count($files) == 1) return $this->import_gallery_from_fs($first_file_abspath, $gallery_id, $move_files); + + // If no gallery has been specified, then use the directory name as the gallery name + if (!$gallery_id) { + // Create the gallery + $gallery = $gallery_mapper->create(array( + 'title' => basename($abspath), + )); + + if (!$move_files) { + $gallery->path = str_ireplace(ABSPATH, '', $abspath); + } + + // Save the gallery + if ($gallery->save()) $gallery_id = $gallery->id(); + } + + // Ensure that we have a gallery id + if ($gallery_id) { + $retval = array('gallery_id' => $gallery_id, 'image_ids' => array()); + foreach ($files as $file) { + if (!preg_match("/\.(jpg|jpeg|gif|png)/i", $file)) continue; + $file_abspath = $fs->join_paths($abspath, $file); + $image = null; + + if ($move_files) { + $image = $this->object->upload_base64_image( + $gallery_id, + file_get_contents($file_abspath), + str_replace(' ', '_', $file) + ); + } + else { + // Create the database record ... TODO cleanup, some duplication here from upload_base64_image + $factory = $this->object->get_registry()->get_utility('I_Component_Factory'); + $image = $factory->create('image'); + $image->alttext = sanitize_title_with_dashes(basename($file_abspath, '.' . pathinfo($file_abspath, PATHINFO_EXTENSION))); + $image->galleryid = $this->object->_get_gallery_id($gallery_id); + $image->filename = basename($file_abspath); + $image->image_slug = nggdb::get_unique_slug( sanitize_title_with_dashes( $image->alttext ), 'image' ); + $image_key = $this->object->_image_mapper->get_primary_key_column(); + $abs_filename = $file_abspath; + + if (($image_id = $this->object->_image_mapper->save($image))) { + try { + // backup and image resizing should have already been performed, better to avoid +# if ($settings->imgBackup) +# $this->object->backup_image($image); + +# if ($settings->imgAutoResize) +# $this->object->generate_image_clone( +# $abs_filename, +# $abs_filename, +# $this->object->get_image_size_params($image_id, 'full') +# ); + + // Ensure that fullsize dimensions are added to metadata array + $dimensions = getimagesize($abs_filename); + $full_meta = array( + 'width' => $dimensions[0], + 'height' => $dimensions[1] + ); + if (!isset($image->meta_data) OR (is_string($image->meta_data) && strlen($image->meta_data) == 0)) { + $image->meta_data = array(); + } + $image->meta_data = array_merge($image->meta_data, $full_meta); + $image->meta_data['full'] = $full_meta; + + // Generate a thumbnail for the image + $this->object->generate_thumbnail($image); + + // Set gallery preview image if missing + $this->object->get_registry()->get_utility('I_Gallery_Mapper')->set_preview_image($gallery, $image_id, TRUE); + + // Notify other plugins that an image has been added + do_action('ngg_added_new_image', $image); + + // delete dirsize after adding new images + delete_transient( 'dirsize_cache' ); + + // Seems redundant to above hook. Maintaining for legacy purposes + do_action( + 'ngg_after_new_images_added', + $gallery_id, + array($image->$image_key) + ); + } + catch(Exception $ex) { + throw new E_InsufficientWriteAccessException( + FALSE, $abs_filename, FALSE, $ex + ); + } + } + else throw new E_InvalidEntityException(); + } + + $retval['image_ids'][] = $image->{$image->id_field}; + } + + // Add the gallery name to the result + $gallery = $gallery_mapper->find($gallery_id); + $retval['gallery_name'] = $gallery->title; + unset($gallery); + } + } + } + + return $retval; + } + + function get_image_format_list() + { + $format_list = array(IMAGETYPE_GIF => 'gif', IMAGETYPE_JPEG => 'jpg', IMAGETYPE_PNG => 'png'); + + return $format_list; + } + + /** + * Returns an array of properties of a resulting clone image if and when generated + * @param string $image_path + * @param string $clone_path + * @param array $params + * @return array + */ + function calculate_image_clone_result($image_path, $clone_path, $params) + { + $width = isset($params['width']) ? $params['width'] : NULL; + $height = isset($params['height']) ? $params['height'] : NULL; + $quality = isset($params['quality']) ? $params['quality'] : NULL; + $type = isset($params['type']) ? $params['type'] : NULL; + $crop = isset($params['crop']) ? $params['crop'] : NULL; + $watermark = isset($params['watermark']) ? $params['watermark'] : NULL; + $rotation = isset($params['rotation']) ? $params['rotation'] : NULL; + $reflection = isset($params['reflection']) ? $params['reflection'] : NULL; + $crop_frame = isset($params['crop_frame']) ? $params['crop_frame'] : NULL; + $result = NULL; + + // Ensure we have a valid image + if ($image_path && @file_exists($image_path)) + { + // Ensure target directory exists, but only create 1 subdirectory + $image_dir = dirname($image_path); + $clone_dir = dirname($clone_path); + $image_extension = pathinfo($image_path, PATHINFO_EXTENSION); + $image_extension_str = null; + $clone_extension = pathinfo($clone_path, PATHINFO_EXTENSION); + $clone_extension_str = null; + + if ($image_extension != null) + { + $image_extension_str = '.' . $image_extension; + } + + if ($clone_extension != null) + { + $clone_extension_str = '.' . $clone_extension; + } + + $image_basename = basename($image_path, $image_extension_str); + $clone_basename = basename($clone_path, $clone_extension_str); + // We use a default suffix as passing in null as the suffix will make WordPress use a default + $clone_suffix = null; + $format_list = $this->object->get_image_format_list(); + $clone_format = null; // format is determined below and based on $type otherwise left to null + + // suffix is only used to reconstruct paths for image_resize function + if (strpos($clone_basename, $image_basename) === 0) + { + $clone_suffix = substr($clone_basename, strlen($image_basename)); + } + + if ($clone_suffix != null && $clone_suffix[0] == '-') + { + // WordPress adds '-' on its own + $clone_suffix = substr($clone_suffix, 1); + } + + // Get original image dimensions + $dimensions = getimagesize($image_path); + + if ($width == null && $height == null) { + if ($dimensions != null) { + + if ($width == null) { + $width = $dimensions[0]; + } + + if ($height == null) { + $height = $dimensions[1]; + } + } + else { + // XXX Don't think there's any other option here but to fail miserably...use some hard-coded defaults maybe? + return null; + } + } + + if ($dimensions != null) { + $dimensions_ratio = $dimensions[0] / $dimensions[1]; + + if ($width == null) { + $width = (int) round($height * $dimensions_ratio); + + if ($width == ($dimensions[0] - 1)) + { + $width = $dimensions[0]; + } + } + else if ($height == null) { + $height = (int) round($width / $dimensions_ratio); + + if ($height == ($dimensions[1] - 1)) + { + $height = $dimensions[1]; + } + } + + if ($width > $dimensions[0]) { + $width = $dimensions[0]; + } + + if ($height > $dimensions[1]) { + $height = $dimensions[1]; + } + + $image_format = $dimensions[2]; + + if ($type != null) + { + if (is_string($type)) + { + $type = strtolower($type); + + // Indexes in the $format_list array correspond to IMAGETYPE_XXX values appropriately + if (($index = array_search($type, $format_list)) !== false) + { + $type = $index; + + if ($type != $image_format) + { + // Note: this only changes the FORMAT of the image but not the extension + $clone_format = $type; + } + } + } + } + } + + if ($width == null || $height == null) { + // Something went wrong... + return null; + } + + $result['clone_path'] = $clone_path; + $result['clone_directory'] = $clone_dir; + $result['clone_suffix'] = $clone_suffix; + $result['clone_format'] = $clone_format; + $result['base_width'] = $dimensions[0]; + $result['base_height'] = $dimensions[1]; + + // image_resize() has limitations: + // - no easy crop frame support + // - fails if the dimensions are unchanged + // - doesn't support filename prefix, only suffix so names like thumbs_original_name.jpg for $clone_path are not supported + // also suffix cannot be null as that will make WordPress use a default suffix...we could use an object that returns empty string from __toString() but for now just fallback to ngg generator + if (FALSE) { // disabling the WordPress method for Iteration #6 +// if (($crop_frame == null || !$crop) && ($dimensions[0] != $width && $dimensions[1] != $height) && $clone_suffix != null) + $result['method'] = 'wordpress'; + + $new_dims = image_resize_dimensions($dimensions[0], $dimensions[1], $width, $height, $crop); + + if ($new_dims) { + list($dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) = $new_dims; + + $width = $dst_w; + $height = $dst_h; + } + else { + $result['error'] = new WP_Error( 'error_getting_dimensions', __('Could not calculate resized image dimensions') ); + } + } + else + { + $result['method'] = 'nextgen'; + $original_width = $dimensions[0]; + $original_height = $dimensions[1]; + $original_ratio = $original_width / $original_height; + + $aspect_ratio = $width / $height; + + $orig_ratio_x = $original_width / $width; + $orig_ratio_y = $original_height / $height; + + if ($crop) + { + $algo = 'shrink'; // either 'adapt' or 'shrink' + + if ($crop_frame != null) + { + $crop_x = (int) round($crop_frame['x']); + $crop_y = (int) round($crop_frame['y']); + $crop_width = (int) round($crop_frame['width']); + $crop_height = (int) round($crop_frame['height']); + $crop_final_width = (int) round($crop_frame['final_width']); + $crop_final_height = (int) round($crop_frame['final_height']); + + $crop_width_orig = $crop_width; + $crop_height_orig = $crop_height; + + $crop_factor_x = $crop_width / $crop_final_width; + $crop_factor_y = $crop_height / $crop_final_height; + + $crop_ratio_x = $crop_width / $width; + $crop_ratio_y = $crop_height / $height; + + if ($algo == 'adapt') + { + // XXX not sure about this...don't use for now +# $crop_width = (int) round($width * $crop_factor_x); +# $crop_height = (int) round($height * $crop_factor_y); + } + else if ($algo == 'shrink') + { + if ($crop_ratio_x < $crop_ratio_y) + { + $crop_width = max($crop_width, $width); + $crop_height = (int) round($crop_width / $aspect_ratio); + } + else + { + $crop_height = max($crop_height, $height); + $crop_width = (int) round($crop_height * $aspect_ratio); + } + + if ($crop_width == ($crop_width_orig - 1)) + { + $crop_width = $crop_width_orig; + } + + if ($crop_height == ($crop_height_orig - 1)) + { + $crop_height = $crop_height_orig; + } + } + + $crop_diff_x = (int) round(($crop_width_orig - $crop_width) / 2); + $crop_diff_y = (int) round(($crop_height_orig - $crop_height) / 2); + + $crop_x += $crop_diff_x; + $crop_y += $crop_diff_y; + + $crop_max_x = ($crop_x + $crop_width); + $crop_max_y = ($crop_y + $crop_height); + + // Check if we're overflowing borders + // + if ($crop_x < 0) + { + $crop_x = 0; + } + else if ($crop_max_x > $original_width) + { + $crop_x -= ($crop_max_x - $original_width); + } + + if ($crop_y < 0) + { + $crop_y = 0; + } + else if ($crop_max_y > $original_height) + { + $crop_y -= ($crop_max_y - $original_height); + } + } + else + { + if ($orig_ratio_x < $orig_ratio_y) + { + $crop_width = $original_width; + $crop_height = (int) round($height * $orig_ratio_x); + + } + else + { + $crop_height = $original_height; + $crop_width = (int) round($width * $orig_ratio_y); + } + + if ($crop_width == ($width - 1)) + { + $crop_width = $width; + } + + if ($crop_height == ($height - 1)) + { + $crop_height = $height; + } + + $crop_x = (int) round(($original_width - $crop_width) / 2); + $crop_y = (int) round(($original_height - $crop_height) / 2); + } + + $result['crop_area'] = array('x' => $crop_x, 'y' => $crop_y, 'width' => $crop_width, 'height' => $crop_height); + } + else { + // Just constraint dimensions to ensure there's no stretching or deformations + list($width, $height) = wp_constrain_dimensions($original_width, $original_height, $width, $height); + } + } + + $result['width'] = $width; + $result['height'] = $height; + $result['quality'] = $quality; + + $real_width = $width; + $real_height = $height; + + if ($rotation && in_array(abs($rotation), array(90, 270))) + { + $real_width = $height; + $real_height = $width; + } + + if ($reflection) + { + // default for nextgen was 40%, this is used in generate_image_clone as well + $reflection_amount = 40; + // Note, round() would probably be best here but using the same code that C_NggLegacy_Thumbnail uses for compatibility + $reflection_height = intval($real_height * ($reflection_amount / 100)); + $real_height = $real_height + $reflection_height; + } + + $result['real_width'] = $real_width; + $result['real_height'] = $real_height; + } + + return $result; + } + + /** + * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated + * @param string $image_path + * @param string $clone_path + * @param array $params + * @return array + */ + function calculate_image_clone_dimensions($image_path, $clone_path, $params) + { + $retval = null; + $result = $this->object->calculate_image_clone_result($image_path, $clone_path, $params); + + if ($result != null) { + $retval = array( + 'width' => $result['width'], + 'height' => $result['height'], + 'real_width' => $result['real_width'], + 'real_height' => $result['real_height'] + ); + } + + return $retval; + } + + /** + * Generates a "clone" for an existing image, the clone can be altered using the $params array + * @param string $image_path + * @param string $clone_path + * @param array $params + * @return object + */ + function generate_image_clone($image_path, $clone_path, $params) + { + $width = isset($params['width']) ? $params['width'] : NULL; + $height = isset($params['height']) ? $params['height'] : NULL; + $quality = isset($params['quality']) ? $params['quality'] : NULL; + $type = isset($params['type']) ? $params['type'] : NULL; + $crop = isset($params['crop']) ? $params['crop'] : NULL; + $watermark = isset($params['watermark']) ? $params['watermark'] : NULL; + $reflection = isset($params['reflection']) ? $params['reflection'] : NULL; + $rotation = isset($params['rotation']) ? $params['rotation'] : NULL; + $flip = isset($params['flip']) ? $params['flip'] : NULL; + $crop_frame = isset($params['crop_frame']) ? $params['crop_frame'] : NULL; + $destpath = NULL; + $thumbnail = NULL; + + // Do this before anything else can modify the original -- $detailed_size + // may hold IPTC metadata we need to write to our clone + $size = getimagesize($image_path, $detailed_size); + + $result = $this->object->calculate_image_clone_result($image_path, $clone_path, $params); + + // XXX this should maybe be removed and extra settings go into $params? + $settings = C_NextGen_Settings::get_instance(); + + // Ensure we have a valid image + if ($image_path && @file_exists($image_path) && $result != null && !isset($result['error'])) + { + $image_dir = dirname($image_path); + $clone_path = $result['clone_path']; + $clone_dir = $result['clone_directory']; + $clone_suffix = $result['clone_suffix']; + $clone_format = $result['clone_format']; + $format_list = $this->object->get_image_format_list(); + + // Ensure target directory exists, but only create 1 subdirectory + if (!@file_exists($clone_dir)) + { + if (strtolower(realpath($image_dir)) != strtolower(realpath($clone_dir))) + { + if (strtolower(realpath($image_dir)) == strtolower(realpath(dirname($clone_dir)))) + { + wp_mkdir_p($clone_dir); + } + } + } + + $method = $result['method']; + $width = $result['width']; + $height = $result['height']; + $quality = $result['quality']; + + if ($quality == null) + { + $quality = 100; + } + + if ($method == 'wordpress') + { + $original = wp_get_image_editor($image_path); + $destpath = $clone_path; + if (!is_wp_error($original)) + { + $original->resize($width, $height, $crop); + $original->set_quality($quality); + $original->save($clone_path); + } + } + else if ($method == 'nextgen') + { + $destpath = $clone_path; + $thumbnail = new C_NggLegacy_Thumbnail($image_path, true); + + if ($crop) { + $crop_area = $result['crop_area']; + $crop_x = $crop_area['x']; + $crop_y = $crop_area['y']; + $crop_width = $crop_area['width']; + $crop_height = $crop_area['height']; + + $thumbnail->crop($crop_x, $crop_y, $crop_width, $crop_height); + } + + $thumbnail->resize($width, $height); + } + + // We successfully generated the thumbnail + if (is_string($destpath) && (@file_exists($destpath) || $thumbnail != null)) + { + if ($clone_format != null) + { + if (isset($format_list[$clone_format])) + { + $clone_format_extension = $format_list[$clone_format]; + $clone_format_extension_str = null; + + if ($clone_format_extension != null) + { + $clone_format_extension_str = '.' . $clone_format_extension; + } + + $destpath_info = pathinfo($destpath); + $destpath_extension = $destpath_info['extension']; + $destpath_extension_str = null; + + if ($destpath_extension != null) + { + $destpath_extension_str = '.' . $destpath_extension; + } + + if (strtolower($destpath_extension) != strtolower($clone_format_extension)) + { + $destpath_dir = $destpath_info['dirname']; + $destpath_basename = $destpath_info['filename']; + $destpath_new = $destpath_dir . DIRECTORY_SEPARATOR . $destpath_basename . $clone_format_extension_str; + + if ((@file_exists($destpath) && rename($destpath, $destpath_new)) || $thumbnail != null) + { + $destpath = $destpath_new; + } + } + } + } + + if (is_null($thumbnail)) + { + $thumbnail = new C_NggLegacy_Thumbnail($destpath, true); + } + else + { + $thumbnail->fileName = $destpath; + } + + // This is quite odd, when watermark equals int(0) it seems all statements below ($watermark == 'image') and ($watermark == 'text') both evaluate as true + // so we set it at null if it evaluates to any null-like value + if ($watermark == null) + { + $watermark = null; + } + + if ($watermark == 1 || $watermark === true) + { + if (in_array(strval($settings->wmType), array('image', 'text'))) + { + $watermark = $settings->wmType; + } + else + { + $watermark = 'text'; + } + } + + $watermark = strval($watermark); + + if ($watermark == 'image') + { + $thumbnail->watermarkImgPath = $settings['wmPath']; + $thumbnail->watermarkImage($settings['wmPos'], $settings['wmXpos'], $settings['wmYpos']); + } + else if ($watermark == 'text') + { + $thumbnail->watermarkText = $settings['wmText']; + $thumbnail->watermarkCreateText($settings['wmColor'], $settings['wmFont'], $settings['wmSize'], $settings['wmOpaque']); + $thumbnail->watermarkImage($settings['wmPos'], $settings['wmXpos'], $settings['wmYpos']); + } + + if ($rotation && in_array(abs($rotation), array(90, 180, 270))) + { + $thumbnail->rotateImageAngle($rotation); + } + + $flip = strtolower($flip); + + if ($flip && in_array($flip, array('h', 'v', 'hv'))) + { + $flip_h = in_array($flip, array('h', 'hv')); + $flip_v = in_array($flip, array('v', 'hv')); + + $thumbnail->flipImage($flip_h, $flip_v); + } + + if ($reflection) + { + $thumbnail->createReflection(40, 40, 50, FALSE, '#a4a4a4'); + } + + if ($clone_format != null && isset($format_list[$clone_format])) + { + // Force format + $thumbnail->format = strtoupper($format_list[$clone_format]); + } + + $thumbnail->save($destpath, $quality); + + // IF the original contained IPTC metadata we should attempt to copy it + if (isset($detailed_size['APP13'])) { + $metadata = iptcembed($detailed_size['APP13'], $destpath); + $fp = fopen($destpath, 'wb'); + fwrite($fp, $metadata); + fclose($fp); + } + } + } + + return $thumbnail; + } +} + +class C_GalleryStorage_Driver_Base extends C_GalleryStorage_Base +{ + public static $_instances = array(); + + function define($context) + { + parent::define($context); + $this->add_mixin('Mixin_GalleryStorage_Driver_Base'); + $this->implement('I_GalleryStorage_Driver'); + } + + function initialize() + { + parent::initialize(); + $this->_gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); + $this->_image_mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + } + + public static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_GalleryStorage_Driver_Base($context); + } + return self::$_instances[$context]; + } + + + /** + * Gets the class name of the driver used + * @return string + */ + function get_driver_class_name() + { + return get_called_class(); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image.php new file mode 100644 index 000000000..e0f012ef5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image.php @@ -0,0 +1,57 @@ +<?php + + +class Mixin_NextGen_Gallery_Image_Validation extends Mixin +{ + function validation() + { + $this->validates_presence_of('galleryid', 'filename', 'alttext', 'exclude', 'sortorder', 'imagedate'); + $this->validates_numericality_of('galleryid'); + $this->validates_numericality_of($this->id()); + $this->validates_numericality_of('sortorder'); + + return $this->object->is_valid(); + } +} + +/** + * Model for NextGen Gallery Images + */ +class C_Image extends C_DataMapper_Model +{ + var $_mapper_interface = 'I_Image_Mapper'; + + function define($properties=FALSE, $mapper=FALSE, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_NextGen_Gallery_Image_Validation'); + $this->implement('I_Image'); + } + + /** + * Instantiates a new model + * @param array|stdClass $properties + * @param C_DataMapper $mapper + * @param string $context + */ + function initialize($properties = FALSE, $mapper=FALSE, $context=FALSE) { + + // Get the mapper is not specified + if (!$mapper) { + $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + } + + // Initialize + parent::initialize($mapper, $properties); + } + + /** + * Returns the model representing the gallery associated with this image + * @return C_Gallery|stdClass + */ + function get_gallery($model=FALSE) + { + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); + return $gallery_mapper->find($this->galleryid, $model); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_mapper.php new file mode 100644 index 000000000..5d747cb47 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_mapper.php @@ -0,0 +1,176 @@ +<?php + +class C_Image_Mapper extends C_CustomTable_DataMapper_Driver +{ + public static $_instances = array(); + + /** + * Defines the gallery image mapper + * @param type $context + */ + function define($context=FALSE) + { + // Add 'attachment' context + if (!is_array($context)) $context = array($context); + array_push($context, 'attachment'); + + $this->primary_key_column = 'pid'; + + parent::define('ngg_pictures', $context); + $this->add_mixin('Mixin_Gallery_Image_Mapper'); + $this->add_post_hook( + '_convert_to_entity', + 'Unserialize Metadata', + 'Hook_Unserialize_Image_Metadata', + 'unserialize_metadata' + ); + $this->implement('I_Image_Mapper'); + $this->set_model_factory_method('image'); + } + + function initialize() + { + parent::initialize('ngg_pictures'); + } + + static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Image_Mapper($context); + } + return self::$_instances[$context]; + } +} + +/** + * Sets the alttext property as the post title + */ +class Mixin_Gallery_Image_Mapper extends Mixin +{ + function destroy($image) + { + $retval = $this->call_parent('destroy',$image); + C_Photocrati_Cache::flush(); + return $retval; + } + + /** + * Override the save method to avoid trying to save the 'new_sortorder' property + * to the database, which will fail since the column doesn't exist in the + * database. + * TODO: This is just a workaround and should be removed when we implement + * https://www.wrike.com/open.htm?id=8250095 + * @param stdClass|C_DataMapper_Model $entity + * @return boolean + */ + function _convert_to_table_data($entity) + { + $new_sortorder = property_exists($entity, 'new_sortorder') ? $entity->new_sortorder : NULL; + unset($entity->new_sortorder); + $retval = $this->call_parent('_convert_to_table_data', $entity); + if ($new_sortorder) $entity->new_sortorder = $new_sortorder; + return $retval; + } + + + function _save_entity($entity) + { + // If successfully saved, then import metadata and + $retval = $this->call_parent('_save_entity', $entity); + if ($retval) { + include_once(NGGALLERY_ABSPATH.'/admin/functions.php'); + $image_id = $this->get_id($entity); + if (!isset($entity->meta_data['saved'])) { + nggAdmin::import_MetaData($image_id); + } + C_Photocrati_Cache::flush(); + } + return $retval; + } + + /** + * Retrieves the id from an image + * @param $image + * @return bool + */ + function get_id($image) + { + $retval = FALSE; + + // Have we been passed an entity and is the id_field set? + if ($image instanceof stdClass) { + if (isset($image->id_field)) { + $retval = $image->{$image->id_field}; + } + } + + // Have we been passed a model? + else $retval = $image->id(); + + // If we still don't have an id, then we'll lookup the primary key + // and try fetching it manually + if (!$retval) { + $key = $this->object->get_primary_key_column(); + $retval = $image->$key; + + } + + return $retval; + } + + + function get_post_title($entity) + { + return $entity->alttext; + } + + function set_defaults($entity) + { + // If not set already, we'll add an exclude property. This is used + // by NextGEN Gallery itself, as well as the Attach to Post module + $this->object->_set_default_value($entity, 'exclude', 0); + + // Ensure that the object has a description attribute + $this->object->_set_default_value($entity, 'description', ''); + + // If not set already, set a default sortorder + $this->object->_set_default_value($entity, 'sortorder', 0); + + // The imagedate must be set + if ((!isset($entity->imagedate)) OR is_null($entity->imagedate) OR $entity->imagedate == '0000-00-00 00:00:00') + $entity->imagedate = date("Y-m-d H:i:s"); + + // If a filename is set, and no alttext is set, then set the alttext + // to the basename of the filename (legacy behavior) + if (isset($entity->filename)) { + $path_parts = pathinfo( $entity->filename); + $alttext = ( !isset($path_parts['filename']) ) ? + substr($path_parts['basename'], 0,strpos($path_parts['basename'], '.')) : + $path_parts['filename']; + $this->object->_set_default_value($entity, 'alttext', $alttext); + } + + // Set unique slug + if (isset($entity->alttext)) { + $this->object->_set_default_value($entity, 'image_slug', nggdb::get_unique_slug( sanitize_title_with_dashes( $entity->alttext ), 'image' )); + } + + // Ensure that the exclude parameter is an integer or boolean-evaluated + // value + if (is_string($entity->exclude)) $entity->exclude = intval($entity->exclude); + } +} + +/** + * Unserializes the metadata when fetched from the database + */ +class Hook_Unserialize_Image_Metadata extends Hook +{ + function unserialize_metadata($entity) + { + if (isset($entity->meta_data) && is_string($entity->meta_data)) { + $entity->meta_data = $this->object->unserialize($entity->meta_data); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper.php new file mode 100644 index 000000000..c270e7835 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper.php @@ -0,0 +1,513 @@ +<?php + +/** + * This class provides a lazy-loading wrapper to the NextGen-Legacy "nggImage" class for use in legacy style templates + */ +class C_Image_Wrapper +{ + public $_cache; // cache of retrieved values + public $_settings; // I_Settings_Manager cache + public $_storage; // I_Gallery_Storage cache + public $_galleries; // cache of I_Gallery_Mapper (plural) + public $_orig_image; // original provided image + public $_orig_image_id; // original image ID + public $_cache_overrides; // allow for forcing variable values + public $_legacy = FALSE; + public $_displayed_gallery; // cached object + + /** + * Constructor. Converts the image class into an array and fills from defaults any missing values + * + * @param object $gallery Individual result from displayed_gallery->get_entities() + * @param object $displayed_gallery Displayed gallery -- MAY BE NULL + * @param bool $legacy Whether the image source is from NextGen Legacy or NextGen + * @return void + */ + public function __construct($image, $displayed_gallery=NULL, $legacy = FALSE) + { + // for clarity + if ($displayed_gallery && isset($displayed_gallery->display_settings['number_of_columns'])) + { + $columns = $displayed_gallery->display_settings['number_of_columns']; + } + else { + $columns = 0; + } + + // Public variables + $defaults = array( + 'errmsg' => '', // Error message to display, if any + 'error' => FALSE, // Error state + 'imageURL' => '', // URL Path to the image + 'thumbURL' => '', // URL Path to the thumbnail + 'imagePath' => '', // Server Path to the image + 'thumbPath' => '', // Server Path to the thumbnail + 'href' => '', // A href link code + + // Mostly constant + 'thumbPrefix' => 'thumbs_', // FolderPrefix to the thumbnail + 'thumbFolder' => '/thumbs/', // Foldername to the thumbnail + + // Image Data + 'galleryid' => 0, // Gallery ID + 'pid' => 0, // Image ID + 'filename' => '', // Image filename + 'description' => '', // Image description + 'alttext' => '', // Image alttext + 'imagedate' => '', // Image date/time + 'exclude' => '', // Image exclude + 'thumbcode' => '', // Image effect code + + // Gallery Data + 'name' => '', // Gallery name + 'path' => '', // Gallery path + 'title' => '', // Gallery title + 'pageid' => 0, // Gallery page ID + 'previewpic' => 0, // Gallery preview pic + + 'style' => ($columns > 0) ? 'style="width:' . floor(100 / $columns) . '%;"' : '', + 'hidden' => FALSE, + 'permalink' => '', + 'tags' => '', + ); + + // convert the image to an array and apply the defaults + $this->_orig_image = $image; + $image = (array)$image; + foreach ($defaults as $key => $val) { + if (!isset($image[$key])) + { + $image[$key] = $val; + } + } + + // cache the results + ksort($image); + $id_field = (!empty($image['id_field']) ? $image['id_field'] : 'pid'); + $this->_cache = (array) apply_filters('ngg_image_object', (object) $image, $image[$id_field]); + $this->_orig_image_id = $image[$id_field]; + $this->_legacy = $legacy; + $this->_displayed_gallery = $displayed_gallery; + } + + public function __set($name, $value) + { + $this->_cache[$name] = $value; + } + + public function __isset($name) + { + return isset($this->_cache[$name]); + } + + public function __unset($name) + { + unset($this->_cache[$name]); + } + + /** + * Lazy-loader for image variables. + * + * @param string $name Parameter name + * @return mixed + */ + public function __get($name) + { + if (isset($this->_cache_overrides[$name])) + { + return $this->_cache_overrides[$name]; + } + + // at the bottom we default to returning $this->_cache[$name]. + switch ($name) + { + case 'alttext': + $this->_cache['alttext'] = (empty($this->_cache['alttext'])) ? ' ' : html_entity_decode(stripslashes(nggGallery::i18n($this->_cache['alttext'], 'pic_' . $this->__get('id') . '_alttext'))); + return $this->_cache['alttext']; + + case 'author': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['author'] = $gallery->name; + return $this->_cache['author']; + + case 'caption': + $caption = html_entity_decode(stripslashes(nggGallery::i18n($this->__get('description'), 'pic_' . $this->__get('id') . '_description'))); + if (empty($caption)) + { + $caption = ' '; + } + $this->_cache['caption'] = $caption; + return $this->_cache['caption']; + + case 'description': + $this->_cache['description'] = (empty($this->_cache['description'])) ? ' ' : html_entity_decode(stripslashes(nggGallery::i18n($this->_cache['description'], 'pic_' . $this->__get('id') . '_description'))); + return $this->_cache['description']; + + case 'galdesc': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['galdesc'] = $gallery->name; + return $this->_cache['galdesc']; + + case 'gid': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['gid'] = $gallery->name; + return $this->_cache['gid']; + + case 'href': + return $this->__get('imageHTML'); + + case 'id': + return $this->_orig_image_id; + + case 'imageHTML': + $tmp = '<a href="' . $this->__get('imageURL') . '" title="' + . htmlspecialchars(stripslashes(nggGallery::i18n($this->__get('description'), 'pic_' . $this->__get('id') . '_description'))) + . '" ' . $this->get_thumbcode($this->__get('name')) . '>' . '<img alt="' . $this->__get('alttext') + . '" src="' . $this->__get('imageURL') . '"/>' . '</a>'; + $this->_cache['href'] = $tmp; + $this->_cache['imageHTML'] = $tmp; + return $this->_cache['imageHTML']; + + case 'imagePath': + $storage = $this->get_storage(); + $this->_cache['imagePath'] = $storage->get_image_abspath($this->_orig_image, 'full'); + return $this->_cache['imagePath']; + + case 'imageURL': + $storage = $this->get_storage(); + $this->_cache['imageURL'] = $storage->get_image_url($this->_orig_image, 'full'); + return $this->_cache['imageURL']; + + case 'linktitle': + $this->_cache['linktitle'] = htmlspecialchars(stripslashes(nggGallery::i18n($this->__get('description'), 'pic_' . $this->__get('id') . '_description'))); + return $this->_cache['linktitle']; + + case 'name': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['name'] = $gallery->name; + return $this->_cache['name']; + + case 'pageid': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['pageid'] = $gallery->name; + return $this->_cache['pageid']; + + case 'path': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['path'] = $gallery->name; + return $this->_cache['path']; + + case 'permalink': + $this->_cache['permalink'] = $this->__get('imageURL'); + return $this->_cache['permalink']; + + case 'pid': + return $this->_orig_image_id; + + case 'pidlink': + $application = C_Component_Registry::get_instance()->get_utility('I_Router')->get_routed_app(); + $controller = C_Component_Registry::get_instance()->get_utility('I_Display_Type_Controller'); + $this->_cache['pidlink'] = $controller->set_param_for( + $application->get_routed_url(TRUE), + 'pid', + $this->__get('image_slug') + ); + return $this->_cache['pidlink']; + + case 'previewpic': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['previewpic'] = $gallery->name; + return $this->_cache['previewpic']; + + case 'size': + if (is_string($this->_orig_image->meta_data)) { + $this->_orig_image = C_Image_Mapper::get_instance()->unserialize( + $this->_orig_image->meta_data + ); + } + $w = $this->_orig_image->meta_data['thumbnail']['width']; + $h = $this->_orig_image->meta_data['thumbnail']['height']; + return "width='{$w}' height='{$h}'"; + + case 'slug': + if ($this->_legacy) + { + $gallery = $this->get_legacy_gallery($this->__get('galleryid')); + } + else { + $gallery_map = $this->get_gallery($this->__get('galleryid')); + $gallery = $gallery_map->find($this->__get('galleryid')); + } + $this->_cache['slug'] = $gallery->name; + return $this->_cache['slug']; + + case 'tags': + $this->_cache['tags'] = wp_get_object_terms($this->__get('id'), 'ngg_tag', 'fields=all'); + return $this->_cache['tags']; + + case 'thumbHTML': + $tmp = '<a href="' . $this->__get('imageURL') . '" title="' + . htmlspecialchars(stripslashes(nggGallery::i18n($this->__get('description'), 'pic_' . $this->__get('id') . '_description'))) + . '" ' . $this->get_thumbcode($this->__get('name')) . '>' . '<img alt="' . $this->__get('alttext') + . '" src="' . $this->thumbURL . '"/>' . '</a>'; + $this->_cache['href'] = $tmp; + $this->_cache['thumbHTML'] = $tmp; + return $this->_cache['thumbHTML']; + + case 'thumbPath': + $storage = $this->get_storage(); + $this->_cache['thumbPath'] = $storage->get_image_abspath($this->_orig_image, 'thumbnail'); + return $this->_cache['thumbPath']; + + case 'thumbnailURL': + $storage = $this->get_storage(); + $this->_cache['thumbnailURL'] = $storage->get_thumb_url($this->_orig_image); + return $this->_cache['thumbnailURL']; + + case 'thumbcode': + $this->_cache['thumbcode'] = $this->get_thumbcode($this->__get('name')); + return $this->_cache['thumbcode']; + + case 'thumbURL': + return $this->__get('thumbnailURL'); + + case 'title': + $this->_cache['title'] = stripslashes($this->__get('name')); + return $this->_cache['title']; + + case 'url': + $storage = $this->get_storage(); + $this->_cache['url'] = $storage->get_image_url($this->_orig_image, 'full'); + return $this->_cache['url']; + + default: + return $this->_cache[$name]; + } + } + + // called on initial nggLegacy image at construction. not sure what to do with it now. + function construct_ngg_Image($gallery) + { + do_action_ref_array('ngg_get_image', array(&$this)); + unset($this->tags); + } + + /** + * Retrieves and caches an I_Settings_Manager instance + * + * @return mixed + */ + function get_settings() + { + if (is_null($this->_settings)) + { + $this->_settings = C_NextGen_Settings::get_instance(); + } + return $this->_settings; + } + + /** + * Retrieves and caches an I_Gallery_Storage instance + * + * @return mixed + */ + function get_storage() + { + if (is_null($this->_storage)) + { + $this->_storage = C_Component_Registry::get_instance()->get_utility('I_Gallery_Storage'); + } + return $this->_storage; + } + + /** + * Retrieves I_Gallery_Mapper instance. + * + * @param int $gallery_id Gallery ID + * @return mixed + */ + function get_gallery($gallery_id) + { + if (isset($this->container) && method_exists($this->container, 'get_gallery')) + { + return $this->container->get_gallery($gallery_id); + } + $gallery_map = C_Component_Registry::get_instance()->get_utility('I_Gallery_Mapper'); + return $gallery_map->find($gallery_id); + } + + /** + * Retrieves I_Gallery_Mapper instance. + * + * @param int $gallery_id Gallery ID + * @return mixed + */ + function get_legacy_gallery($gallery_id) + { + return C_Component_Registry::get_instance()->get_utility('I_Gallery_Mapper')->find($gallery_id); + } + + /** + * Get the thumbnail code (to add effects on thumbnail click) + * + * Applies the filter 'ngg_get_thumbcode' + */ + function get_thumbcode($gallery_name = '') + { + if (empty($this->_displayed_gallery)) + { + $effect_code = C_NextGen_Settings::get_instance()->thumbCode; + $effect_code = str_replace('%GALLERY_ID%', $gallery_name, $effect_code); + $effect_code = str_replace('%GALLERY_NAME%', $gallery_name, $effect_code); + $retval = $effect_code; + } + else { + $controller = C_Component_Registry::get_instance()->get_utility('I_Display_Type_Controller'); + $retval = $controller->get_effect_code($this->_displayed_gallery); + + // This setting requires that we disable the effect code + $ds = $this->_displayed_gallery->display_settings; + if (isset($ds['use_imagebrowser_effect']) && $ds['use_imagebrowser_effect']) + $retval = ''; + } + + $retval = apply_filters('ngg_get_thumbcode', $retval, $this); + + $retval .= ' data-image-id="' . $this->__get('id') . '"'; + + $this->_cache['thumbcode'] = $retval; + return $retval; + } + + /** + * For compatibility support + * + * @return mixed + */ + function get_href_link() + { + return $this->__get('imageHTML'); + } + + /** + * For compatibility support + * + * @return mixed + */ + function get_href_thumb_link() + { + return $this->__get('thumbHTML'); + } + + /** + * Function exists for legacy support but has been gutted to not do anything + * + * @param int $width + * @param int $height + * @param string $mode could be watermark | web20 | crop + * @return the url for the image or false if failed + */ + function cached_singlepic_file($width = '', $height = '', $mode = '' ) + { + $dynthumbs = C_Component_Registry::get_instance()->get_utility('I_Dynamic_Thumbnails_Manager'); + $storage = $this->get_storage(); + + // determine what to do with 'mode' + $display_reflection = FALSE; + $display_watermark = FALSE; + + if (!is_array($mode)) + $mode = explode(',', $mode); + if (in_array('web20', $mode)) + $display_reflection = TRUE; + if (in_array('watermark', $mode)) + $display_watermark = TRUE; + + // and go for it + $params = array( + 'width' => $width, + 'height' => $height, + 'watermark' => $display_watermark, + 'reflection' => $display_reflection + ); + + return $storage->get_image_url((object)$this->_cache, $dynthumbs->get_size_name($params)); + } + + /** + * Get the tags associated to this image + */ + function get_tags() + { + return $this->__get('tags'); + } + + /** + * Get the permalink to the image + * + * TODO: Get a permalink to a page presenting the image + */ + function get_permalink() + { + return $this->__get('permalink'); + } + + /** + * Returns the _cache array; used by nggImage + * @return array + */ + function _get_image() + { + return $this->_cache; + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper_collection.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper_collection.php new file mode 100644 index 000000000..341882a5b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.image_wrapper_collection.php @@ -0,0 +1,54 @@ +<?php + +class C_Image_Wrapper_Collection implements ArrayAccess +{ + + public $container = array(); + public $galleries = array(); + + public function offsetExists($offset) + { + return isset($this->container[$offset]); + } + + public function offsetGet($offset) + { + return isset($this->container[$offset]) ? $this->container[$offset] : null; + } + + public function offsetSet($offset, $value) + { + if (is_object($value)) + { + $value->container = $this; + } + + if (is_null($offset)) + { + $this->container[] = $value; + } + else { + $this->container[$offset] = $value; + } + } + + public function offsetUnset($offset) + { + unset($this->container[$offset]); + } + + /** + * Retrieves and caches an I_Gallery_Mapper instance for this gallery id + * + * @param int $gallery_id Gallery ID + * @return mixed + */ + public function get_gallery($gallery_id) + { + if (!isset($this->galleries[$gallery_id]) || is_null($this->galleries[$gallery_id])) + { + $this->galleries[$gallery_id] = C_Component_Registry::get_instance()->get_utility('I_Gallery_Mapper'); + } + return $this->galleries[$gallery_id]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_data_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_data_installer.php new file mode 100644 index 000000000..c930dcdf6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_data_installer.php @@ -0,0 +1,32 @@ +<?php + +class C_NextGen_Data_Installer +{ + function get_registry() + { + return C_Component_Registry::get_instance(); + } + + function uninstall($hard = FALSE) + { + if ($hard) { + /* Yes: this is commented twice. + // TODO for now never delete galleries/albums/content +# $mappers = array( +# $this->get_registry()->get_utility('I_Album_Mapper'), +# $this->get_registry()->get_utility('I_Gallery_Mapper'), +# $this->get_registry()->get_utility('I_Image_Mapper'), +# ); + +# foreach ($mappers as $mapper) { +# $mapper->delete()->run_query(); +# } + +# // Remove ngg tags +# global $wpdb; +# $wpdb->query("DELETE FROM {$wpdb->terms} WHERE term_id IN (SELECT term_id FROM {$wpdb->term_taxonomy} WHERE taxonomy='ngg_tag')"); +# $wpdb->query("DELETE FROM {$wpdb->term_taxonomy} WHERE taxonomy='ngg_tag'"); + */ + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php new file mode 100644 index 000000000..9e6030acb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.nextgen_metadata.php @@ -0,0 +1,677 @@ +<?php + +class C_NextGen_Metadata extends C_Component +{ + // Image data + public $image = ''; // The image object + public $file_path = ''; // Path to the image file + public $size = FALSE; // The image size + public $exif_data = FALSE; // EXIF data array + public $iptc_data = FALSE; // IPTC data array + public $xmp_data = FALSE; // XMP data array + + // Filtered Data + public $exif_array = FALSE; // EXIF data array + public $iptc_array = FALSE; // IPTC data array + public $xmp_array = FALSE; // XMP data array + + public $sanitize = FALSE; // sanitize meta data on request + + /** + * Class constructor + * + * @param int $image Image ID + * @param bool $onlyEXIF TRUE = will parse only EXIF data + * @return bool FALSE if the file does not exist or metadat could not be read + */ + public function __construct($image, $onlyEXIF = FALSE) + { + if (is_numeric($image)) + { + $image = $this->get_registry()->get_utility('I_Image_Mapper')->find($image); + } + + $this->image = apply_filters('ngg_find_image_meta', $image); + + $this->file_path = $this->get_registry()->get_utility('I_Gallery_Storage')->get_image_abspath($this->image); + + if (!@file_exists($this->file_path)) + { + return FALSE; + } + + $this->size = @getimagesize ($this->file_path , $metadata); + + if ($this->size && is_array($metadata)) + { + // get exif - data + if (is_callable('exif_read_data')) + { + $this->exif_data = @exif_read_data($this->file_path , 0, TRUE); + } + + // stop here if we didn't need other meta data + if ($onlyEXIF) + { + return TRUE; + } + + // get the iptc data - should be in APP13 + if (is_callable('iptcparse') && isset($metadata['APP13'])) + { + $this->iptc_data = @iptcparse($metadata['APP13']); + } + + // get the xmp data in a XML format + if (is_callable('xml_parser_create')) + { + $this->xmp_data = $this->extract_XMP($this->file_path); + } + + return TRUE; + } + + return FALSE; + } + + /** + * Return a parsed meta-data attribute of an object + * + * @param stdClass $object (optional) + * @return array|mixed Returns either the complete array or the single object + */ + function get_saved_meta($object = FALSE) + { + $meta = $this->image->meta_data; + + // check if we already import the meta data to the database + if (!is_array($meta) || !isset($meta['saved']) OR ($meta['saved'] != TRUE)) + { + return FALSE; + } + + // return one element if requested + if ($object) + { + return $meta[$object]; + } + + // remove saved parameter we don't need that to show + unset($meta['saved']); + + // and remove empty tags or arrays + foreach ($meta as $key => $value) { + if (empty($value) OR is_array($value)) + { + unset($meta[$key]); + } + } + + // on request sanitize the output + if (TRUE == $this->sanitize) + { + array_walk($meta , create_function('&$value', '$value = esc_html($value);')); + } + + return $meta; + } + + /** + * Parses exif data into an array + * + * @param stdClass $object + * @see http://trac.wordpress.org/changeset/6313 + * @return array structured EXIF data + */ + function get_EXIF($object = FALSE) + { + + if (!$this->exif_data) + { + return FALSE; + } + + if (!is_array($this->exif_array)) + { + $meta = array(); + + if (isset($this->exif_data['EXIF'])) + { + $exif = $this->exif_data['EXIF']; + + if (!empty($exif['FNumber'])) + $meta['aperture'] = 'F ' . round($this->exif_frac2dec($exif['FNumber']), 2); + + if (!empty($exif['Model'])) + $meta['camera'] = trim($exif['Model']); + + if (!empty($exif['DateTimeDigitized'])) + $meta['created_timestamp'] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $this->exif_date2ts($exif['DateTimeDigitized'])); + else if (!empty($exif['DateTimeOriginal'])) + $meta['created_timestamp'] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $this->exif_date2ts($exif['DateTimeOriginal'])); + + if (!empty($exif['FocalLength'])) + $meta['focal_length'] = $this->exif_frac2dec($exif['FocalLength']) . __(' mm','nggallery'); + + if (!empty($exif['ISOSpeedRatings'])) + $meta['iso'] = $exif['ISOSpeedRatings']; + + if (!empty($exif['ExposureTime'])) + { + $meta['shutter_speed'] = $this->exif_frac2dec ($exif['ExposureTime']); + $meta['shutter_speed'] = ($meta['shutter_speed'] > 0.0 and $meta['shutter_speed'] < 1.0) ? ('1/' . round(1 / $meta['shutter_speed'], -1)) : ($meta['shutter_speed']); + $meta['shutter_speed'] .= __(' sec','nggallery'); + } + + //Bit 0 indicates the flash firing status + if (!empty($exif['Flash'])) + $meta['flash'] = ($exif['Flash'] & 1) ? __('Fired', 'nggallery') : __('Not fired',' nggallery'); + } + + // additional information + if (isset($this->exif_data['IFD0'])) + { + $exif = $this->exif_data['IFD0']; + + if (!empty($exif['Model'])) + $meta['camera'] = $exif['Model']; + if (!empty($exif['Make'])) + $meta['make'] = $exif['Make']; + if (!empty($exif['ImageDescription'])) + $meta['title'] = utf8_encode($exif['ImageDescription']); + if (!empty($exif['Orientation'])) + $meta['Orientation'] = $exif['Orientation']; + } + + // this is done by Windows + if (isset($this->exif_data['WINXP'])) + { + $exif = $this->exif_data['WINXP']; + + if (!empty($exif['Title']) && empty($meta['title'])) + $meta['title'] = utf8_encode($exif['Title']); + if (!empty($exif['Author'])) + $meta['author'] = utf8_encode($exif['Author']); + if (!empty($exif['Keywords'])) + $meta['tags'] = utf8_encode($exif['Keywords']); + if (!empty($exif['Subject'])) + $meta['subject'] = utf8_encode($exif['Subject']); + if (!empty($exif['Comments'])) + $meta['caption'] = utf8_encode($exif['Comments']); + } + + $this->exif_array = $meta; + } + + // return one element if requested + if ($object == TRUE) + { + $value = isset($this->exif_array[$object]) ? $this->exif_array[$object] : FALSE; + return $value; + } + + // on request sanitize the output + if ($this->sanitize == TRUE) + { + array_walk($this->exif_array , create_function('&$value', '$value = esc_html($value);')); + } + + return $this->exif_array; + + } + + /** + * Convert a fraction string to a decimal + * + * @param string $str + * @return string + */ + function exif_frac2dec($str) + { + @list($n, $d) = explode('/', $str); + if (!empty($d)) + { + return $n / $d; + } + return $str; + } + + /** + * Convert EXIF date format to a unix timestamp + * + * @param $str + * @return int + */ + function exif_date2ts($str) + { + @list($date, $time) = explode(' ', trim($str)); + @list($y, $m, $d) = explode(':', $date); + return strtotime("{$y}-{$m}-{$d} {$time}"); + } + + /** + * Parses IPTC Data Information for EXIF Display + * + * @param mixed $output_tag + * @return array IPTC tags + */ + function get_IPTC($object = FALSE) + { + + if (!$this->iptc_data) + { + return FALSE; + } + + if (!is_array($this->iptc_array)) + { + // Set up array functions + $iptcTags = array( + "2#005" => 'title', + "2#007" => 'status', + "2#012" => 'subject', + "2#015" => 'category', + "2#025" => 'keywords', + "2#055" => 'created_date', + "2#060" => 'created_time', + "2#080" => 'author', + "2#085" => 'position', + "2#090" => 'city', + "2#092" => 'location', + "2#095" => 'state', + "2#100" => 'country_code', + "2#101" => 'country', + "2#105" => 'headline', + "2#110" => 'credit', + "2#115" => 'source', + "2#116" => 'copyright', + "2#118" => 'contact', + "2#120" => 'caption' + ); + + $meta = array(); + foreach ($iptcTags as $key => $value) { + if (isset ($this->iptc_data[$key])) + { + $meta[$value] = trim(utf8_encode(implode(", ", $this->iptc_data[$key]))); + } + + } + $this->iptc_array = $meta; + } + + // return one element if requested + if ($object) + { + return (isset($this->iptc_array[$object])) ? $this->iptc_array[$object] : NULL; + } + + // on request sanitize the output + if ($this->sanitize == TRUE) + { + array_walk($this->iptc_array , create_function('&$value', '$value = esc_html($value);')); + } + + return $this->iptc_array; + } + + /** + * Extracts XMP DATA + * + * Code by Pekka Saarinen: http://photography-on-the.net + * @param mixed $filename + * @return XML data + */ + function extract_XMP($filename) + { + // TODO: Requires a lot of memory; this could be done better + ob_start(); + @readfile($filename); + $source = ob_get_contents(); + ob_end_clean(); + + $start = strpos($source, "<x:xmpmeta"); + $end = strpos($source, "</x:xmpmeta>"); + if ((!$start === FALSE) && (!$end === FALSE)) + { + $length = $end - $start; + $xmp_data = substr($source, $start, $length+12); + unset($source); + return $xmp_data; + } + + unset($source); + return FALSE; + } + + /** + * @see http://php.net/manual/en/function.xml-parse-into-struct.php + * @author Alf Marius Foss Olsen & Alex Rabe + * @return XML Array or object + */ + function get_XMP($object = FALSE) + { + + if (!$this->xmp_data) + { + return FALSE; + } + + if (!is_array($this->xmp_array)) + { + $parser = xml_parser_create(); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); // Dont mess with my cAsE sEtTings + xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); // Dont bother with empty info + xml_parse_into_struct($parser, $this->xmp_data, $values); + xml_parser_free($parser); + + $xmlarray = array(); // The XML array + $this->xmp_array = array(); // The returned array + $stack = array(); // tmp array used for stacking + $list_array = array(); // tmp array for list elements + $list_element = FALSE; // rdf:li indicator + + foreach ($values as $val) { + + if ($val['type'] == "open") + { + array_push($stack, $val['tag']); + } + elseif ($val['type'] == "close") + { + // reset the compared stack + if ($list_element == FALSE) + { + array_pop($stack); + } + // reset the rdf:li indicator & array + $list_element = FALSE; + $list_array = array(); + + } + elseif ($val['type'] == "complete") + { + if ($val['tag'] == "rdf:li") + { + // first go one element back + if ($list_element == FALSE) + { + array_pop($stack); + } + $list_element = TRUE; + + // do not parse empty tags + if (empty($val['value'])) + { + continue; + } + + // save it in our temp array + $list_array[] = $val['value']; + + // in the case it's a list element we serialize it + $value = implode(",", $list_array); + $this->setArrayValue($xmlarray, $stack, $value); + } + else { + array_push($stack, $val['tag']); + + // do not parse empty tags + if (!empty($val['value'])) + { + $this->setArrayValue($xmlarray, $stack, $val['value']); + } + array_pop($stack); + } + } + + } + + // don't parse a empty array + if (empty($xmlarray) || empty($xmlarray['x:xmpmeta'])) + { + return FALSE; + } + + // cut off the useless tags + $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description']; + + // Some values from the XMP format + $xmpTags = array( + 'xap:CreateDate' => 'created_timestamp', + 'xap:ModifyDate' => 'last_modfied', + 'xap:CreatorTool' => 'tool', + 'dc:format' => 'format', + 'dc:title' => 'title', + 'dc:creator' => 'author', + 'dc:subject' => 'keywords', + 'dc:description' => 'caption', + 'photoshop:AuthorsPosition' => 'position', + 'photoshop:City' => 'city', + 'photoshop:Country' => 'country' + ); + + foreach ($xmpTags as $key => $value) { + if (isset($xmlarray[$key])) + { + switch ($key) { + case 'xap:CreateDate': + case 'xap:ModifyDate': + $this->xmp_array[$value] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), strtotime($xmlarray[$key])); + break; + default : + $this->xmp_array[$value] = $xmlarray[$key]; + } + } + } + } + + // return one element if requested + if ($object != FALSE) + { + return isset($this->xmp_array[$object]) ? $this->xmp_array[$object] : FALSE; + } + + // on request sanitize the output + if ($this->sanitize == TRUE) + { + array_walk($this->xmp_array , create_function('&$value', '$value = esc_html($value);')); + } + + return $this->xmp_array; + } + + function setArrayValue(&$array, $stack, $value) + { + if ($stack) + { + $key = array_shift($stack); + $this->setArrayValue($array[$key], $stack, $value); + return $array; + } + else { + $array = $value; + } + } + + /** + * Return meta values from the available list + * + * @param string $object + * @return mixed $value + */ + function get_META($object = FALSE) + { + // defined order first look into database, then XMP, IPTC and EXIF. + if ($value = $this->get_saved_meta($object)) + { + return $value; + } + + if ($value = $this->get_XMP($object)) + { + return $value; + } + + if ($value = $this->get_IPTC($object)) + { + return $value; + } + + if ($value = $this->get_EXIF($object)) + { + return $value; + } + + // nothing found + return FALSE; + } + + /** + * nggMeta::i8n_name() - localize the tag name + * + * @param mixed $key + * @return translated $key + */ + function i8n_name($key) + { + $tagnames = array( + 'aperture' => __('Aperture', 'nggallery'), + 'credit' => __('Credit', 'nggallery'), + 'camera' => __('Camera', 'nggallery'), + 'caption' => __('Caption', 'nggallery'), + 'created_timestamp' => __('Date/Time', 'nggallery'), + 'copyright' => __('Copyright', 'nggallery'), + 'focal_length' => __('Focal length', 'nggallery'), + 'iso' => __('ISO', 'nggallery'), + 'shutter_speed' => __('Shutter speed', 'nggallery'), + 'title' => __('Title', 'nggallery'), + 'author' => __('Author', 'nggallery'), + 'tags' => __('Tags', 'nggallery'), + 'subject' => __('Subject', 'nggallery'), + 'make' => __('Make', 'nggallery'), + 'status' => __('Edit Status', 'nggallery'), + 'category' => __('Category', 'nggallery'), + 'keywords' => __('Keywords', 'nggallery'), + 'created_date' => __('Date Created', 'nggallery'), + 'created_time' => __('Time Created', 'nggallery'), + 'position' => __('Author Position', 'nggallery'), + 'city' => __('City', 'nggallery'), + 'location' => __('Location', 'nggallery'), + 'state' => __('Province/State', 'nggallery'), + 'country_code' => __('Country code', 'nggallery'), + 'country' => __('Country', 'nggallery'), + 'headline' => __('Headline', 'nggallery'), + 'credit' => __('Credit', 'nggallery'), + 'source' => __('Source', 'nggallery'), + 'copyright' => __('Copyright Notice', 'nggallery'), + 'contact' => __('Contact', 'nggallery'), + 'last_modfied' => __('Last modified', 'nggallery'), + 'tool' => __('Program tool', 'nggallery'), + 'format' => __('Format', 'nggallery'), + 'width' => __('Image Width', 'nggallery'), + 'height' => __('Image Height', 'nggallery'), + 'flash' => __('Flash', 'nggallery') + ); + + if (isset($tagnames[$key])) + { + $key = $tagnames[$key]; + } + + return($key); + + } + + /** + * Return the Timestamp from the image. If possible it's read from exif data. + * + * @return + */ + function get_date_time() + { + // get exif - data + if (isset($this->exif_data['EXIF'])) + { + // try to read the date / time from the exif + if (empty($this->exif_data['EXIF']['DateTimeDigitized'])) + { + $date_time = $this->exif_data['EXIF']['DateTimeOriginal']; + } + else { + $date_time = $this->exif_data['EXIF']['DateTimeDigitized']; + } + + // if we didn't get the correct exif value we take filetime + if ($date_time == NULL) + { + $date_time = $this->exif_data['FILE']['FileDateTime']; + } + else { + $date_time = $this->exif_date2ts($date_time); + } + } + else { + // if no other date available, get the filetime + $date_time = @filectime($this->file_path); + } + + // Return the MySQL format + $date_time = date('Y-m-d H:i:s', $date_time); + + return $date_time; + } + + /** + * This function return the most common metadata, via a filter we can add more + * Reason : GD manipulation removes that options + * + * @since V1.4.0 + * @return void + */ + function get_common_meta() + { + $meta = array( + 'aperture' => 0, + 'credit' => '', + 'camera' => '', + 'caption' => '', + 'created_timestamp' => 0, + 'copyright' => '', + 'focal_length' => 0, + 'iso' => 0, + 'shutter_speed' => 0, + 'flash' => 0, + 'title' => '', + 'keywords' => '' + ); + + $meta = apply_filters('ngg_read_image_metadata', $meta); + + // meta should be still an array + if (!is_array($meta)) + { + return FALSE; + } + + foreach ($meta as $key => $value) { + $meta[$key] = $this->get_META($key); + } + + //let's add now the size of the image + $meta['width'] = $this->size[0]; + $meta['height'] = $this->size[1]; + + return $meta; + } + + /** + * If needed sanitize each value before output + * + * @return void + */ + function sanitize() + { + $this->sanitize = TRUE; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php new file mode 100644 index 000000000..c6db00528 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_gallerystorage_driver.php @@ -0,0 +1,794 @@ +<?php + +class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin +{ + /** + * Returns the named sizes available for images + * @return array + */ + function get_image_sizes() + { + return array('full', 'thumbnail'); + } + + + function get_upload_abspath($gallery=FALSE) + { + // Base upload path + $retval = C_NextGen_Settings::get_instance()->gallerypath; + $fs = $this->get_registry()->get_utility('I_Fs'); + + // If a gallery has been specified, then we'll + // append the slug + if ($gallery) { + if (!is_object($gallery)) { + $gallery = $this->object->_get_gallery_id($gallery); + $gallery = $this->object->_gallery_mapper->find($gallery); + } + + if ($gallery) { + $path = $gallery->path; + $base = basename($path); + $slug = $gallery->slug; + + if ($base == null) { + $base = $slug; + } + + $retval = $fs->join_paths($retval, $base); + } + } + + // We need to make this an absolute path + if (strpos($retval, $fs->get_document_root()) === FALSE) + $retval = $fs->join_paths($fs->get_document_root(), $retval); + + return $retval; + } + + + /** + * Get the gallery path persisted in the database for the gallery + * @param int|stdClass|C_NextGen_Gallery $gallery + */ + function get_gallery_abspath($gallery) + { + $retval = NULL; + $fs = $this->get_registry()->get_utility('I_Fs'); + + // Get the gallery entity from the database + if ($gallery) { + if (is_numeric($gallery)) { + $gallery = $this->object->_gallery_mapper->find($gallery); + } + } + + // If a path was stored in the entity, then use that + if ($gallery && isset($gallery->path)) { + $retval = $fs->join_paths($fs->get_document_root(), $gallery->path); + } + elseif ($gallery) { + // fallback to the upload abspath + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $retval = $storage->get_upload_abspath($gallery); + } + + return $retval; + } + + + /** + * Gets the absolute path where the image is stored + * Can optionally return the path for a particular sized image + */ + function get_image_abspath($image, $size='full', $check_existance=FALSE) + { + $retval = NULL; + $fs = $this->get_registry()->get_utility('I_Fs'); + + // Ensure that we have a size + if (!$size) { + $size = 'full'; + } + + // If we have the id, get the actual image entity + if (is_numeric($image)) { + $image = $this->object->_image_mapper->find($image); + } + + // Ensure we have the image entity - user could have passed in an + // incorrect id + if (is_object($image)) { + if (($gallery_path = $this->object->get_gallery_abspath($image->galleryid))) { + $folder = $prefix = $size; + switch ($size) { + + # Images are stored in the associated gallery folder + case 'full': + case 'original': + case 'image': + $retval = $fs->join_paths($gallery_path, $image->filename); + break; + + case 'thumbnails': + case 'thumbnail': + case 'thumb': + case 'thumbs': + $size = 'thumbnail'; + $folder = 'thumbs'; + $prefix = 'thumbs'; + // deliberately no break here + + // We assume any other size of image is stored in the a + //subdirectory of the same name within the gallery folder + // gallery folder, but with the size appended to the filename + default: + $image_path = $fs->join_paths($gallery_path, $folder); + + // NGG 2.0 stores relative filenames in the meta data of + // an image. It does this because it uses filenames + // that follow conventional WordPress naming scheme. + if (isset($image->meta_data) && isset($image->meta_data[$size]) && isset($image->meta_data[$size]['filename'])) { + $image_path = $fs->join_paths($image_path, $image->meta_data[$size]['filename']); + } + + // NGG Legacy does not store relative filenames in the + // image entity for sizes other than the original. + // Although the naming scheme for filenames differs from + // WordPress conventions, NGG legacy does follow it's + // own naming schema consistently so we can guess the path + else { + $image_path = $fs->join_paths($image_path, "{$prefix}_{$image->filename}"); + } + + // Should we check whether the image actually exists? + if ($check_existance && @file_exists($image_path)) { + $retval = $image_path; + } + elseif (!$check_existance) $retval = $image_path; + break; + } + } + } + + return $retval; + } + + + /** + * Gets the url of a particular-sized image + * @param int|object $image + * @param string $size + * @returns array + */ + function get_image_url($image, $size='full') + { + $fs = $this->get_registry()->get_utility('I_Fs'); + $router = $this->get_registry()->get_utility('I_Router'); + $request_uri = str_replace( + trailingslashit($fs->get_document_root()), + '', + $this->object->get_image_abspath($image, $size) + ); + return $router->remove_url_segment('/index.php', $router->get_url($request_uri, FALSE, TRUE)); + } + + /** + * Uploads an image for a particular gallerys + * @param int|stdClass|C_NextGEN_Gallery $gallery + * @param type $filename, specifies the name of the file + * @param type $data if specified, expects base64 encoded string of data + * @return C_Image + */ + function upload_image($gallery, $filename=FALSE, $data=FALSE) + { + $retval = NULL; + + // Ensure that we have the data present that we require + if ((isset($_FILES['file']) && $_FILES['file']['error'] == 0)) { + + // $_FILES = Array( + // [file] => Array ( + // [name] => Canada_landscape4.jpg + // [type] => image/jpeg + // [tmp_name] => /private/var/tmp/php6KO7Dc + // [error] => 0 + // [size] => 64975 + // ) + // + $file = $_FILES['file']; + + if ($this->object->is_zip()) { + $retval = $this->object->upload_zip($gallery); + } + else { + $retval = $this->object->upload_base64_image( + $gallery, + file_get_contents($file['tmp_name']), + $filename ? $filename : (isset($file['name']) ? $file['name'] : FALSE) + ); + } + } + elseif ($data) { + $retval = $this->object->upload_base64_image( + $filename, + $data + ); + } + else throw new E_UploadException(); + + return $retval; + } + + function get_image_size_params($image, $size, $params = null, $skip_defaults = false) + { + // Get the image entity + if (is_numeric($image)) { + $image = $this->object->_image_mapper->find($image); + } + + // Ensure we have a valid image + if ($image) + { + $settings = C_NextGen_Settings::get_instance(); + + if (!$skip_defaults) + { + // Get default settings + if ($size == 'full') { + if (!isset($params['quality'])) { + $params['quality'] = $settings->imgQuality; + } + } + else { + if (!isset($params['crop'])) { + $params['crop'] = $settings->thumbfix; + } + + if (!isset($params['quality'])) { + $params['quality'] = $settings->thumbquality; + } + } + + // Not sure why this was here... commenting out for now, always require watermark parameters to be explicit +# if (!isset($params['watermark'])) { +# $params['watermark'] = $settings->wmType; +# } + } + + // width and height when omitted make generate_image_clone create a clone with original size, so try find defaults regardless of $skip_defaults + if (!isset($params['width']) || !isset($params['height'])) { + // First test if this is a "known" image size, i.e. if we store these sizes somewhere when users re-generate these sizes from the UI...this is required to be compatible with legacy + // try the 2 default built-in sizes, first thumbnail... + if ($size == 'thumbnail') { + if (!isset($params['width'])) { + $params['width'] = $settings->thumbwidth; + } + + if (!isset($params['height'])) { + $params['height'] = $settings->thumbheight; + } + } + // ...and then full, which is the size specified in the global resize options + else if ($size == 'full') { + if (!isset($params['width'])) { + if ($settings->imgAutoResize) { + $params['width'] = $settings->imgWidth; + } + } + + if (!isset($params['height'])) { + if ($settings->imgAutoResize) { + $params['height'] = $settings->imgHeight; + } + } + } + // Only re-use old sizes as last resort + else if (isset($image->meta_data) && isset($image->meta_data[$size])) { + $dimensions = $image->meta_data[$size]; + + if (!isset($params['width'])) { + $params['width'] = $dimensions['width']; + } + + if (!isset($params['height'])) { + $params['height'] = $dimensions['height']; + } + } + } + + if (!isset($params['crop_frame'])) { + $crop_frame_size_name = 'thumbnail'; + + if (isset($image->meta_data[$size]['crop_frame'])) { + $crop_frame_size_name = $size; + } + + if (isset($image->meta_data[$crop_frame_size_name]['crop_frame'])) { + $params['crop_frame'] = $image->meta_data[$crop_frame_size_name]['crop_frame']; + + if (!isset($params['crop_frame']['final_width'])) { + $params['crop_frame']['final_width'] = $image->meta_data[$crop_frame_size_name]['width']; + } + + if (!isset($params['crop_frame']['final_height'])) { + $params['crop_frame']['final_height'] = $image->meta_data[$crop_frame_size_name]['height']; + } + } + } + else { + if (!isset($params['crop_frame']['final_width'])) { + $params['crop_frame']['final_width'] = $params['width']; + } + + if (!isset($params['crop_frame']['final_height'])) { + $params['crop_frame']['final_height'] = $params['height']; + } + } + } + + return $params; + } + + /** + * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated + * @param string $image_path + * @param string $clone_path + * @param array $params + * @return array + */ + function calculate_image_size_dimensions($image, $size, $params = null, $skip_defaults = false) + { + $retval = FALSE; + + // Get the image entity + if (is_numeric($image)) { + $image = $this->object->_image_mapper->find($image); + } + + // Ensure we have a valid image + if ($image) + { + $params = $this->object->get_image_size_params($image, $size, $params, $skip_defaults); + + // Get the image filename + $image_path = $this->object->get_original_abspath($image, 'original'); + $clone_path = $this->object->get_image_abspath($image, $size); + + $retval = $this->object->calculate_image_clone_dimensions($image_path, $clone_path, $params); + } + + return $retval; + } + + /** + * Generates a specific size for an image + * @param int|stdClass|C_Image $image + * @return bool|object + */ + function generate_image_size($image, $size, $params = null, $skip_defaults = false) + { + $retval = FALSE; + + // Get the image entity + if (is_numeric($image)) { + $image = $this->object->_image_mapper->find($image); + } + + // Ensure we have a valid image + if ($image) + { + $params = $this->object->get_image_size_params($image, $size, $params, $skip_defaults); + $settings = C_NextGen_Settings::get_instance(); + + // Get the image filename + $filename = $this->object->get_original_abspath($image, 'original'); + $thumbnail = null; + + if ($size == 'full' && $settings->imgBackup == 1) { + // XXX change this? 'full' should be the resized path and 'original' the _backup path + $backup_path = $this->object->get_backup_abspath($image); + + if (!@file_exists($backup_path)) + { + @copy($filename, $backup_path); + } + } + + // Generate the thumbnail using WordPress + $existing_image_abpath = $this->object->get_image_abspath($image, $size); + $existing_image_dir = dirname($existing_image_abpath); + + // removing the old thumbnail is actually not needed as generate_image_clone() will replace it, leaving commented in as reminder in case there are issues in the future + if (@file_exists($existing_image_abpath)) { + //unlink($existing_image_abpath); + } + + wp_mkdir_p($existing_image_dir); + + $clone_path = $existing_image_abpath; + $thumbnail = $this->object->generate_image_clone($filename, $clone_path, $params); + + // We successfully generated the thumbnail + if ($thumbnail != null) + { + $clone_path = $thumbnail->fileName; + + if (function_exists('getimagesize')) + { + $dimensions = getimagesize($clone_path); + } + else + { + $dimensions = array($params['width'], $params['height']); + } + + if (!isset($image->meta_data)) + { + $image->meta_data = array(); + } + + $size_meta = array( + 'width' => $dimensions[0], + 'height' => $dimensions[1], + 'filename' => basename($clone_path), + 'generated' => microtime() + ); + + if (isset($params['crop_frame'])) { + $size_meta['crop_frame'] = $params['crop_frame']; + } + + $image->meta_data[$size] = $size_meta; + + if ($size == 'full') + { + $image->meta_data['width'] = $size_meta['width']; + $image->meta_data['height'] = $size_meta['height']; + } + + $retval = $this->object->_image_mapper->save($image); + + if ($retval == 0) { + $retval = false; + } + + if ($retval) { + $retval = $thumbnail; + } + } + else { + // Something went wrong. Thumbnail generation failed! + } + } + + return $retval; + } + + /** + * Generates a thumbnail for an image + * @param int|stdClass|C_Image $image + * @return bool + */ + function generate_thumbnail($image, $params = null, $skip_defaults = false) + { + $sized_image = $this->object->generate_image_size($image, 'thumbnail', $params, $skip_defaults); + $retval = false; + + if ($sized_image != null) + { + $retval = true; + + $sized_image->destruct(); + } + + return $retval; + } + + /** + * Outputs/renders an image + * @param int|stdClass|C_NextGen_Gallery_Image $image + * @return bool + */ + function render_image($image, $size=FALSE) + { + $format_list = $this->object->get_image_format_list(); + $abspath = $this->get_image_abspath($image, $size, true); + + if ($abspath == null) + { + $thumbnail = $this->object->generate_image_size($image, $size); + + if ($thumbnail != null) + { + $abspath = $thumbnail->fileName; + + $thumbnail->destruct(); + } + } + + if ($abspath != null) + { + $data = @getimagesize($abspath); + $format = 'jpg'; + + if ($data != null && is_array($data) && isset($format_list[$data[2]])) + { + $format = $format_list[$data[2]]; + } + + // Clear output + while (ob_get_level() > 0) + { + ob_end_clean(); + } + + $format = strtolower($format); + + // output image and headers + header('Content-type: image/' . $format); + readfile($abspath); + + return true; + } + + return false; + } + + function delete_image($image, $size=FALSE) + { + $retval = FALSE; + + // Ensure that we have the image entity + if (is_numeric($image)) + $image = $this->object->_image_mapper->find($image); + + if ($image) + { + // Delete only a particular image size + if ($size) + { + $abspath = $this->object->get_image_abspath($image, $size); + if ($abspath && @file_exists($abspath)) + unlink($abspath); + if (isset($image->meta_data) && isset($image->meta_data[$size])) + { + unset($image->meta_data[$size]); + $this->object->_image_mapper->save($image); + } + } + // Delete all sizes of the image + else { + // Get the paths to fullsize and thumbnail files + $abspaths = array( + $this->object->get_full_abspath($image), + $this->object->get_thumb_abspath($image) + ); + + if (isset($image->meta_data)) + { + foreach (array_keys($image->meta_data) as $size) { + $abspaths[] = $this->object->get_image_abspath($image, $size); + } + } + + // Delete each image + foreach ($abspaths as $abspath) { + if ($abspath && @file_exists($abspath)) + { + unlink($abspath); + } + } + + // Delete the entity + $this->object->_image_mapper->destroy($image); + } + $retval = TRUE; + } + + return $retval; + } + + /** + * Copies (or moves) images into another gallery + * + * @param array $images + * @param int|object $gallery + * @param boolean $db optionally only copy the image files + * @param boolean $move move the image instead of copying + * @return mixed NULL on failure, array|image-ids on success + */ + function copy_images($images, $gallery, $db = TRUE, $move = FALSE) + { + // return values + $message = ''; + $new_image_pids = array(); + + $settings = C_NextGen_Settings::get_instance(); + $fs = $this->get_registry()->get_utility('I_Fs'); + + // move_images() is a wrapper to this function so we implement both features here + $func = $move ? 'rename' : 'copy'; + + // ngg-legacy allows for arrays of just the ID + if (!is_array($images)) + { + $images = array($images); + } + + // Ensure we have a valid gallery + $gallery_id = $this->object->_get_gallery_id($gallery); + if (!$gallery_id) + { + return; + } + + $image_key = $this->object->_image_mapper->get_primary_key_column(); + + // Check for folder permission + if (!is_dir($gallery->path) && !wp_mkdir_p($gallery->path)) + { + $message .= sprintf(__('Unable to create directory %s.', 'nggallery'), esc_html(WINABSPATH . $gallery->path)); + return; + } + if (!is_writable(WINABSPATH . $gallery->path)) + { + $message .= sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), esc_html(WINABSPATH . $gallery->path)); + return; + } + + foreach ($images as $image) { + + // Ensure that there is capacity available + if ((is_multisite()) && $settings->get('wpmuQuotaCheck')) + { + require_once(ABSPATH . 'wp-admin/includes/ms.php'); + if (upload_is_user_over_quota(FALSE)) { + $message .= sprintf(__('Sorry, you have used your space allocation. Please delete some files to upload more files.', 'nggallery')); + throw new E_NoSpaceAvailableException(); + } + } + + // Copy the db entry + if (is_numeric($image)) + { + $image = $this->object->_image_mapper->find($image); + } + $old_pid = $image->$image_key; + + if ($db) + { + $new_image = clone $image; + unset($new_image->$image_key); + $new_image->galleryid = $gallery_id; + $new_pid = $this->object->_image_mapper->save($new_image); + $new_image = $this->object->_image_mapper->find($new_image); + } else { + $new_pid = $old_pid; + } + + if (!$new_pid) { + $message .= sprintf(__('Failed to copy database row for picture %s', 'nggallery'), $old_pid) . '<br />'; + continue; + } + + $new_image_pids[] = $new_pid; + + // Copy each image size + foreach ($this->object->get_image_sizes() as $size) { + + $orig_path = $this->object->get_image_abspath($image, $size, TRUE); + if (!$orig_path) + { + $message .= sprintf(__('Failed to get image path for %s', 'nggallery'), esc_html($image->filename)) . '<br/>'; + continue; + } + + $new_path = basename($orig_path); + + $prefix = ''; + $prefix_count = 0; + while (@file_exists($gallery->path . DIRECTORY_SEPARATOR . $new_path)) + { + $prefix = 'copy_' . ($prefix_count++) . '_'; + $new_path = $prefix . $new_path; + } + $new_path = $fs->join_paths($gallery->path, $new_path); + + // Copy files + if (!@$func($orig_path, $new_path)) + { + $message .= sprintf(__('Failed to copy image %1$s to %2$s', 'nggallery'), esc_html($orig_path), esc_html($new_path)) . '<br/>'; + continue; + } + else { + $message .= sprintf(__('Copied image %1$s to %2$s', 'nggallery'), esc_html($orig_path), esc_html($new_path)) . '<br/>'; + } + + // Copy backup file, if possible + @$func($orig_path . '_backup', $new_path . '_backup'); + + if ($prefix != '') + { + $message .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery.', 'nggallery'), $old_pid, esc_html($orig_path), $new_pid, esc_html($new_path)) . '<br />'; + } + else + { + $message .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s)', 'nggallery'), $old_pid, esc_html($orig_path), $new_pid, esc_html($new_path)) . '<br />'; + } + + // Copy tags + if ($db) + { + $tags = wp_get_object_terms($old_pid, 'ngg_tag', 'fields=ids'); + $tags = array_map('intval', $tags); + wp_set_object_terms($new_pid, $tags, 'ngg_tag', true); + } + } + } + + $message .= '<hr />' . sprintf(__('Copied %1$s picture(s) to gallery %2$s .', 'nggallery'), count($new_image_pids), $gallery->title); + + return $new_image_pids; + } + + /** + * Recover image from backup copy and reprocess it + * + * @param int|stdClass|C_Image $image + * @return string result code + */ + function recover_image($image) { + + if (is_numeric($image)) + { + $image = $this->object->_image_mapper->find($image); + } + + if (isset($image->meta_data)) + { + $orig_metadata = $image->meta_data; + } + + $path = $this->object->get_registry()->get_utility('I_Gallery_Storage')->get_image_abspath($image); + + if (!is_object($image)) + { + return __("Could not find image", 'nggallery'); + } + + if (!is_writable($path) && !is_writable(dirname($path))) + { + return ' <strong>' . esc_html($image->filename) . __(' is not writeable', 'nggallery') . '</strong>'; + } + + if (!@file_exists($path . '_backup')) + { + return ' <strong>' . __('Backup file does not exist', 'nggallery') . '</strong>'; + } + + if (!@copy($path . '_backup', $path)) + { + return ' <strong>' . __("Could not restore original image", 'nggallery') . '</strong>'; + } + + if (isset($orig_metadata)) + { + $NextGen_Metadata = new C_NextGen_Metadata($image); + $new_metadata = $NextGen_Metadata->get_common_meta(); + $image->meta_data = array_merge((array)$orig_metadata, (array)$new_metadata); + $this->object->_image_mapper->save($image); + } + + return '1'; + } +} + +class C_NggLegacy_GalleryStorage_Driver extends C_GalleryStorage_Driver_Base +{ + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_NggLegacy_GalleryStorage_Driver'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_thumbnail.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_thumbnail.php new file mode 100644 index 000000000..6caa17da6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.ngglegacy_thumbnail.php @@ -0,0 +1,1030 @@ +<?php +/** + * gd.thumbnail.inc.php + * + * @author Ian Selby (ian@gen-x-design.com) + * @copyright Copyright 2006-2011 + * @version 1.3.0 (based on 1.1.3) + * @modded by Alex Rabe + * + */ + +/** + * PHP class for dynamically resizing, cropping, and rotating images for thumbnail purposes and either displaying them on-the-fly or saving them. + * + */ +class C_NggLegacy_Thumbnail { + /** + * Error message to display, if any + * + * @var string + */ + var $errmsg; + /** + * Whether or not there is an error + * + * @var boolean + */ + var $error; + /** + * Format of the image file + * + * @var string + */ + var $format; + /** + * File name and path of the image file + * + * @var string + */ + var $fileName; + /** + * Current dimensions of working image + * + * @var array + */ + var $currentDimensions; + /** + * New dimensions of working image + * + * @var array + */ + var $newDimensions; + /** + * Image resource for newly manipulated image + * + * @var resource + * @access private + */ + var $newImage; + /** + * Image resource for image before previous manipulation + * + * @var resource + * @access private + */ + var $oldImage; + /** + * Image resource for image being currently manipulated + * + * @var resource + * @access private + */ + var $workingImage; + /** + * Percentage to resize image by + * + * @var int + * @access private + */ + var $percent; + /** + * Maximum width of image during resize + * + * @var int + * @access private + */ + var $maxWidth; + /** + * Maximum height of image during resize + * + * @var int + * @access private + */ + var $maxHeight; + /** + * Image for Watermark + * + * @var string + * + */ + var $watermarkImgPath; + /** + * Text for Watermark + * + * @var string + * + */ + var $watermarkText; + /** + * Image Resource ID for Watermark + * + * @var string + * + */ + function __construct($fileName,$no_ErrorImage = false) { + //make sure the GD library is installed + if(!function_exists("gd_info")) { + echo 'You do not have the GD Library installed. This class requires the GD library to function properly.' . "\n"; + echo 'visit http://us2.php.net/manual/en/ref.image.php for more information'; + C_NextGEN_Bootstrap::shutdown(); + } + //initialize variables + $this->errmsg = ''; + $this->error = false; + $this->currentDimensions = array(); + $this->newDimensions = array(); + $this->fileName = $fileName; + $this->percent = 100; + $this->maxWidth = 0; + $this->maxHeight = 0; + $this->watermarkImgPath = ''; + $this->watermarkText = ''; + + //check to see if file exists + if(!@file_exists($this->fileName)) { + $this->errmsg = 'File not found'; + $this->error = true; + } + //check to see if file is readable + elseif(!is_readable($this->fileName)) { + $this->errmsg = 'File is not readable'; + $this->error = true; + } + + //if there are no errors, determine the file format + if($this->error == false) { + $data = @getimagesize($this->fileName); + if (isset($data) && is_array($data)) { + $extensions = array('1' => 'GIF', '2' => 'JPG', '3' => 'PNG'); + $extension = array_key_exists($data[2], $extensions) ? $extensions[$data[2]] : ''; + if($extension) { + $this->format = $extension; + } else { + $this->errmsg = 'Unknown file format'; + $this->error = true; + } + } else { + $this->errmsg = 'File is not an image'; + $this->error = true; + } + } + + // increase memory-limit if possible, GD needs this for large images + // @ini_set('memory_limit', '128M'); + + if($this->error == false) { + // Check memory consumption if file exists + $this->checkMemoryForImage($this->fileName); + } + + //initialize resources if no errors + if($this->error == false) { + + switch($this->format) { + case 'GIF': + $this->oldImage = @ImageCreateFromGif($this->fileName); + break; + case 'JPG': + $this->oldImage = @ImageCreateFromJpeg($this->fileName); + break; + case 'PNG': + $this->oldImage = @ImageCreateFromPng($this->fileName); + break; + } + if (!$this->oldImage) { + $this->errmsg = 'Create Image failed. Check memory limit'; + $this->error = true; + } else { + $size = GetImageSize($this->fileName); + $this->currentDimensions = array('width'=>$size[0],'height'=>$size[1]); + $this->newImage = $this->oldImage; + } + } + + + if($this->error == true) { + if(!$no_ErrorImage) + $this->showErrorImage(); + return; + } + } + + /** + * Calculate the memory limit + * + */ + function checkMemoryForImage( $filename ){ + + if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) { + $imageInfo = getimagesize($filename); + switch($this->format) { + case 'GIF': + // measured factor 1 is better + $CHANNEL = 1; + break; + case 'JPG': + $CHANNEL = $imageInfo['channels']; + break; + case 'PNG': + // didn't get the channel for png + $CHANNEL = 3; + break; + } + $MB = 1048576; // number of bytes in 1M + $K64 = 65536; // number of bytes in 64K + $TWEAKFACTOR = 1.68; // Or whatever works for you + $memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1] + * $imageInfo['bits'] + * $CHANNEL / 8 + + $K64 + ) * $TWEAKFACTOR + ); + $memoryNeeded = memory_get_usage() + $memoryNeeded; + // get memory limit + $memory_limit = ini_get('memory_limit'); + + // PHP docs : Note that to have no memory limit, set this directive to -1. + if ($memory_limit == -1 ) return; + + // Just check megabyte limits, not higher + if ( strtolower(substr($memory_limit, -1)) == 'm' ) { + + if ($memory_limit != '') { + $memory_limit = substr($memory_limit, 0, -1) * 1024 * 1024; + } + + if ($memoryNeeded > $memory_limit) { + $memoryNeeded = round ($memoryNeeded / 1024 / 1024, 2); + $this->errmsg = 'Exceed Memory limit. Require : '.$memoryNeeded. " MByte" ; + $this->error = true; + } + } + } + return; + } + + function __destruct() { + $this->destruct(); + } + + /** + * Must be called to free up allocated memory after all manipulations are done + * + */ + function destruct() { + if(is_resource($this->newImage)) @ImageDestroy($this->newImage); + if(is_resource($this->oldImage)) @ImageDestroy($this->oldImage); + if(is_resource($this->workingImage)) @ImageDestroy($this->workingImage); + } + + /** + * Returns the current width of the image + * + * @return int + */ + function getCurrentWidth() { + return $this->currentDimensions['width']; + } + + /** + * Returns the current height of the image + * + * @return int + */ + function getCurrentHeight() { + return $this->currentDimensions['height']; + } + + /** + * Calculates new image width + * + * @param int $width + * @param int $height + * @return array + */ + function calcWidth($width,$height) { + $newWp = (100 * $this->maxWidth) / $width; + $newHeight = ($height * $newWp) / 100; + + if (intval($newHeight) == $this->maxHeight - 1) + $newHeight = $this->maxHeight; + + return array('newWidth'=>intval($this->maxWidth),'newHeight'=>intval($newHeight)); + } + + /** + * Calculates new image height + * + * @param int $width + * @param int $height + * @return array + */ + function calcHeight($width,$height) { + $newHp = (100 * $this->maxHeight) / $height; + $newWidth = ($width * $newHp) / 100; + + if (intval($newWidth) == $this->maxWidth - 1) + $newWidth = $this->maxWidth; + + return array('newWidth'=>intval($newWidth),'newHeight'=>intval($this->maxHeight)); + } + + /** + * Calculates new image size based on percentage + * + * @param int $width + * @param int $height + * @return array + */ + function calcPercent($width,$height) { + $newWidth = ($width * $this->percent) / 100; + $newHeight = ($height * $this->percent) / 100; + return array('newWidth'=>intval($newWidth),'newHeight'=>intval($newHeight)); + } + + /** + * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight + * + * @param int $width + * @param int $height + */ + function calcImageSize($width,$height) { + $newSize = array('newWidth'=>$width,'newHeight'=>$height); + + if($this->maxWidth > 0) { + + $newSize = $this->calcWidth($width,$height); + + if($this->maxHeight > 0 && $newSize['newHeight'] > $this->maxHeight) { + $newSize = $this->calcHeight($newSize['newWidth'],$newSize['newHeight']); + } + + //$this->newDimensions = $newSize; + } + + if($this->maxHeight > 0) { + $newSize = $this->calcHeight($width,$height); + + if($this->maxWidth > 0 && $newSize['newWidth'] > $this->maxWidth) { + $newSize = $this->calcWidth($newSize['newWidth'],$newSize['newHeight']); + } + + //$this->newDimensions = $newSize; + } + + $this->newDimensions = $newSize; + } + + /** + * Calculates new image size based percentage + * + * @param int $width + * @param int $height + */ + function calcImageSizePercent($width,$height) { + if($this->percent > 0) { + $this->newDimensions = $this->calcPercent($width,$height); + } + } + + /** + * Displays error image + * + */ + function showErrorImage() { + header('Content-type: image/png'); + $errImg = ImageCreate(220,25); + $bgColor = imagecolorallocate($errImg,0,0,0); + $fgColor1 = imagecolorallocate($errImg,255,255,255); + $fgColor2 = imagecolorallocate($errImg,255,0,0); + imagestring($errImg,3,6,6,'Error:',$fgColor2); + imagestring($errImg,3,55,6,$this->errmsg,$fgColor1); + imagepng($errImg); + imagedestroy($errImg); + } + + /** + * Resizes image to fixed Width x Height + * + * @param int $Width + * @param int $Height + */ + function resizeFix($Width = 0, $Height = 0, $deprecated = 3) { + $this->newWidth = $Width; + $this->newHeight = $Height; + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($this->newWidth,$this->newHeight); + } + else { + $this->workingImage = ImageCreate($this->newWidth,$this->newHeight); + } + +// ImageCopyResampled( + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + 0, + 0, + $this->newWidth, + $this->newHeight, + $this->currentDimensions['width'], + $this->currentDimensions['height'] + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $this->newWidth; + $this->currentDimensions['height'] = $this->newHeight; + } + + + /** + * Resizes image to maxWidth x maxHeight + * + * @param int $maxWidth + * @param int $maxHeight + */ + function resize($maxWidth = 0, $maxHeight = 0, $deprecated = 3) { + $this->maxWidth = $maxWidth; + $this->maxHeight = $maxHeight; + + $this->calcImageSize($this->currentDimensions['width'],$this->currentDimensions['height']); + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + else { + $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + +// ImageCopyResampled( + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + 0, + 0, + $this->newDimensions['newWidth'], + $this->newDimensions['newHeight'], + $this->currentDimensions['width'], + $this->currentDimensions['height'] + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $this->newDimensions['newWidth']; + $this->currentDimensions['height'] = $this->newDimensions['newHeight']; + } + + /** + * Resizes the image by $percent percent + * + * @param int $percent + */ + function resizePercent($percent = 0) { + $this->percent = $percent; + + $this->calcImageSizePercent($this->currentDimensions['width'],$this->currentDimensions['height']); + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + else { + $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + + $this->ImageCopyResampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + 0, + 0, + $this->newDimensions['newWidth'], + $this->newDimensions['newHeight'], + $this->currentDimensions['width'], + $this->currentDimensions['height'] + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $this->newDimensions['newWidth']; + $this->currentDimensions['height'] = $this->newDimensions['newHeight']; + } + + /** + * Crops the image from calculated center in a square of $cropSize pixels + * + * @param int $cropSize + */ + function cropFromCenter($cropSize) { + if($cropSize > $this->currentDimensions['width']) $cropSize = $this->currentDimensions['width']; + if($cropSize > $this->currentDimensions['height']) $cropSize = $this->currentDimensions['height']; + + $cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2); + $cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2); + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($cropSize,$cropSize); + } + else { + $this->workingImage = ImageCreate($cropSize,$cropSize); + } + + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + $cropX, + $cropY, + $cropSize, + $cropSize, + $cropSize, + $cropSize + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $cropSize; + $this->currentDimensions['height'] = $cropSize; + } + + /** + * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner. + * + * @param int $startX + * @param int $startY + * @param int $width + * @param int $height + */ + function crop($startX, $startY, $width, $height) { + //make sure the cropped area is not greater than the size of the image + if($width > $this->currentDimensions['width']) $width = $this->currentDimensions['width']; + if($height > $this->currentDimensions['height']) $height = $this->currentDimensions['height']; + //make sure not starting outside the image + if(($startX + $width) > $this->currentDimensions['width']) $startX = ($this->currentDimensions['width'] - $width); + if(($startY + $height) > $this->currentDimensions['height']) $startY = ($this->currentDimensions['height'] - $height); + if($startX < 0) $startX = 0; + if($startY < 0) $startY = 0; + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($width,$height); + } + else { + $this->workingImage = ImageCreate($width,$height); + } + + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + $startX, + $startY, + $width, + $height, + $width, + $height + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $width; + $this->currentDimensions['height'] = $height; + } + + /** + * Outputs the image to the screen, or saves to $name if supplied. Quality of JPEG images can be controlled with the $quality variable + * + * @param int $quality + * @param string $name + */ + function show($quality=100,$name = '') { + switch($this->format) { + case 'GIF': + if($name != '') { + @ImageGif($this->newImage,$name) or $this->error = true; + } + else { + header('Content-type: image/gif'); + ImageGif($this->newImage); + } + break; + case 'JPG': + if($name != '') { + @ImageJpeg($this->newImage,$name,$quality) or $this->error = true; + } + else { + header('Content-type: image/jpeg'); + ImageJpeg($this->newImage,NULL,$quality); + } + break; + case 'PNG': + if($name != '') { + @ImagePng($this->newImage,$name) or $this->error = true; + } + else { + header('Content-type: image/png'); + ImagePng($this->newImage); + } + break; + } + } + + /** + * Saves image as $name (can include file path), with quality of # percent if file is a jpeg + * + * @param string $name + * @param int $quality + * @return bool errorstate + */ + function save($name,$quality=100) { + $this->show($quality,$name); + if ($this->error == true) { + $this->errmsg = 'Create Image failed. Check safe mode settings'; + return false; + } + + if( function_exists('do_action') ) + do_action('ngg_ajax_image_save', $name); + + return true; + } + + /** + * Creates Apple-style reflection under image, optionally adding a border to main image + * + * @param int $percent + * @param int $reflection + * @param int $white + * @param bool $border + * @param string $borderColor + */ + function createReflection($percent,$reflection,$white,$border = true,$borderColor = '#a4a4a4') { + $width = $this->currentDimensions['width']; + $height = $this->currentDimensions['height']; + + $reflectionHeight = intval($height * ($reflection / 100)); + $newHeight = $height + $reflectionHeight; + $reflectedPart = $height * ($percent / 100); + + $this->workingImage = ImageCreateTrueColor($width,$newHeight); + + ImageAlphaBlending($this->workingImage,true); + + $colorToPaint = ImageColorAllocateAlpha($this->workingImage,255,255,255,0); + ImageFilledRectangle($this->workingImage,0,0,$width,$newHeight,$colorToPaint); + + imagecopyresampled( + $this->workingImage, + $this->newImage, + 0, + 0, + 0, + $reflectedPart, + $width, + $reflectionHeight, + $width, + ($height - $reflectedPart)); + $this->imageFlipVertical(); + + imagecopy($this->workingImage,$this->newImage,0,0,0,0,$width,$height); + + imagealphablending($this->workingImage,true); + + for($i=0;$i<$reflectionHeight;$i++) { + $colorToPaint = imagecolorallocatealpha($this->workingImage,255,255,255,($i/$reflectionHeight*-1+1)*$white); + imagefilledrectangle($this->workingImage,0,$height+$i,$width,$height+$i,$colorToPaint); + } + + if($border == true) { + $rgb = $this->hex2rgb($borderColor,false); + $colorToPaint = imagecolorallocate($this->workingImage,$rgb[0],$rgb[1],$rgb[2]); + imageline($this->workingImage,0,0,$width,0,$colorToPaint); //top line + imageline($this->workingImage,0,$height,$width,$height,$colorToPaint); //bottom line + imageline($this->workingImage,0,0,0,$height,$colorToPaint); //left line + imageline($this->workingImage,$width-1,0,$width-1,$height,$colorToPaint); //right line + } + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $width; + $this->currentDimensions['height'] = $newHeight; + } + + /** + * Flip an image. + * + * @param bool $horz flip the image in horizontal mode + * @param bool $vert flip the image in vertical mode + */ + function flipImage( $horz = false, $vert = false ) { + + $sx = $vert ? ($this->currentDimensions['width'] - 1) : 0; + $sy = $horz ? ($this->currentDimensions['height'] - 1) : 0; + $sw = $vert ? -$this->currentDimensions['width'] : $this->currentDimensions['width']; + $sh = $horz ? -$this->currentDimensions['height'] : $this->currentDimensions['height']; + + $this->workingImage = imagecreatetruecolor( $this->currentDimensions['width'], $this->currentDimensions['height'] ); + + $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $sx, $sy, $this->currentDimensions['width'], $this->currentDimensions['height'], $sw, $sh) ; + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + + return true; + } + + /** + * Rotate an image clockwise or counter clockwise + * + * @param string $direction could be CW or CCW + */ + function rotateImage( $dir = 'CW' ) { + $angle = ($dir == 'CW') ? 90 : -90; + + return $this->rotateImageAngle($angle); + } + + /** + * Rotate an image clockwise or counter clockwise + * + * @param string $direction could be CW or CCW + */ + function rotateImageAngle( $angle = 90 ) { + + if ( function_exists('imagerotate') ) { + $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0); // imagerotate() rotates CCW + $this->currentDimensions['width'] = imagesx($this->workingImage); + $this->currentDimensions['height'] = imagesy($this->workingImage); + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + return true; + } + + $this->workingImage = imagecreatetruecolor( $this->currentDimensions['height'], $this->currentDimensions['width'] ); + + imagealphablending($this->workingImage, false); + imagesavealpha($this->workingImage, true); + + switch ($angle) { + + case 90 : + for( $x = 0; $x < $this->currentDimensions['width']; $x++ ) { + for( $y = 0; $y < $this->currentDimensions['height']; $y++ ) { + if ( !imagecopy($this->workingImage, $this->oldImage, $this->currentDimensions['height'] - $y - 1, $x, $x, $y, 1, 1) ) + return false; + } + } + break; + + case -90 : + for( $x = 0; $x < $this->currentDimensions['width']; $x++ ) { + for( $y = 0; $y < $this->currentDimensions['height']; $y++ ) { + if ( !imagecopy($this->workingImage, $this->oldImage, $y, $this->currentDimensions['width'] - $x - 1, $x, $y, 1, 1) ) + return false; + } + } + break; + + default : + return false; + } + + $this->currentDimensions['width'] = imagesx($this->workingImage); + $this->currentDimensions['height'] = imagesy($this->workingImage); + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + + return true; + + } + + /** + * Inverts working image, used by reflection function + * + * @access private + */ + function imageFlipVertical() { + $x_i = imagesx($this->workingImage); + $y_i = imagesy($this->workingImage); + + for($x = 0; $x < $x_i; $x++) { + for($y = 0; $y < $y_i; $y++) { + imagecopy($this->workingImage,$this->workingImage,$x,$y_i - $y - 1, $x, $y, 1, 1); + } + } + } + + /** + * Converts hexidecimal color value to rgb values and returns as array/string + * + * @param string $hex + * @param bool $asString + * @return array|string + */ + function hex2rgb($hex, $asString = false) { + // strip off any leading # + if (0 === strpos($hex, '#')) { + $hex = substr($hex, 1); + } else if (0 === strpos($hex, '&H')) { + $hex = substr($hex, 2); + } + + // break into hex 3-tuple + $cutpoint = ceil(strlen($hex) / 2)-1; + $rgb = explode(':', wordwrap($hex, $cutpoint, ':', $cutpoint), 3); + + // convert each tuple to decimal + $rgb[0] = (isset($rgb[0]) ? hexdec($rgb[0]) : 0); + $rgb[1] = (isset($rgb[1]) ? hexdec($rgb[1]) : 0); + $rgb[2] = (isset($rgb[2]) ? hexdec($rgb[2]) : 0); + + return ($asString ? "{$rgb[0]} {$rgb[1]} {$rgb[2]}" : $rgb); + } + + /** + * Based on the Watermark function by Marek Malcherek + * http://www.malcherek.de + * + * @param string $color + * @param string $wmFont + * @param int $wmSize + * @param int $wmOpaque + */ + function watermarkCreateText($color = '000000', $wmFont, $wmSize = 10, $wmOpaque = 90) + { + // set font path + $wmFontPath = NGGALLERY_ABSPATH . "fonts/" . $wmFont; + if (!is_readable($wmFontPath)) + return; + + // This function requires both the GD library and the FreeType library. + if (!function_exists('ImageTTFBBox')) + return; + + $words = preg_split('/ /', $this->watermarkText); + $lines = array(); + $line = ''; + $watermark_image_width = 0; + + // attempt adding a new word until the width is too large; then start a new line and start again + foreach ($words as $word) { + // sanitize the text being input; imagettftext() can be sensitive + $TextSize = $this->ImageTTFBBoxDimensions( + $wmSize, + 0, + $wmFontPath, + $line . preg_replace( + '~^(&([a-zA-Z0-9]);)~', + htmlentities('${1}'), + mb_convert_encoding($word, "HTML-ENTITIES", "UTF-8") + ) + ); + + if ($watermark_image_width == 0) + $watermark_image_width = $TextSize['width']; + + if ($TextSize['width'] > $this->newDimensions['newWidth']) { + $lines[] = trim($line); + $line = ''; + } + else { + if ($TextSize['width'] > $watermark_image_width) + $watermark_image_width = $TextSize['width']; + } + $line .= $word . ' '; + } + $lines[] = trim($line); + + // use this string to determine our largest possible line height + $line_dimensions = $this->ImageTTFBBoxDimensions($wmSize, 0, $wmFontPath, 'MXQJALYmxqjabdfghjklpqry019`@$^&*(,!132'); + $line_height = $line_dimensions['height'] * 1.05; + + // Create an image to apply our text to + $this->workingImage = ImageCreateTrueColor($watermark_image_width, count($lines) * $line_height); + ImageSaveAlpha($this->workingImage, true); + ImageAlphaBlending($this->workingImage, false); + $bgText = imagecolorallocatealpha($this->workingImage, 255, 255, 255, 127); + imagefill($this->workingImage, 0, 0, $bgText); + $wmTransp = 127 - ($wmOpaque * 1.27); + $rgb = $this->hex2rgb($color, false); + $TextColor = imagecolorallocatealpha($this->workingImage, $rgb[0], $rgb[1], $rgb[2], $wmTransp); + + // Put text on the image, line-by-line + $y_pos = $wmSize; + foreach ($lines as $line) { + imagettftext($this->workingImage, $wmSize, 0, 0, $y_pos, $TextColor, $wmFontPath, $line); + $y_pos += $line_height; + } + + $this->watermarkImgPath = $this->workingImage; + + return; + } + + /** + * Calculates the width & height dimensions of ImageTTFBBox(). + * + * Note: ImageTTFBBox() is unreliable with large font sizes + * @param $wmSize + * @param $fontAngle + * @param $wmFontPath + * @param $text + * @return array + */ + function ImageTTFBBoxDimensions($wmSize, $fontAngle, $wmFontPath, $text) + { + $box = @ImageTTFBBox($wmSize, $fontAngle, $wmFontPath, $text) or die; + $max_x = max(array($box[0], $box[2], $box[4], $box[6])); + $max_y = max(array($box[1], $box[3], $box[5], $box[7])); + $min_x = min(array($box[0], $box[2], $box[4], $box[6])); + $min_y = min(array($box[1], $box[3], $box[5], $box[7])); + return array( + "width" => ($max_x - $min_x), + "height" => ($max_y - $min_y) + ); + } + + /** + * Modfied Watermark function by Steve Peart + * http://parasitehosting.com/ + * + * @param string $relPOS + * @param int $xPOS + * @param int $yPOS + */ + function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) { + + // if it's a resource ID take it as watermark text image + if(is_resource($this->watermarkImgPath)) { + $this->workingImage = $this->watermarkImgPath; + } else { + // Would you really want to use anything other than a png? + $this->workingImage = @imagecreatefrompng($this->watermarkImgPath); + // if it's not a valid file die... + if (empty($this->workingImage) or (!$this->workingImage)) + return; + } + + imagealphablending($this->workingImage, false); + imagesavealpha($this->workingImage, true); + $sourcefile_width=imageSX($this->oldImage); + $sourcefile_height=imageSY($this->oldImage); + $watermarkfile_width=imageSX($this->workingImage); + $watermarkfile_height=imageSY($this->workingImage); + + switch(substr($relPOS, 0, 3)){ + case 'top': $dest_y = 0 + $yPOS; break; + case 'mid': $dest_y = ($sourcefile_height / 2) - ($watermarkfile_height / 2); break; + case 'bot': $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS; break; + default : $dest_y = 0; break; + } + switch(substr($relPOS, 3)){ + case 'Left' : $dest_x = 0 + $xPOS; break; + case 'Center': $dest_x = ($sourcefile_width / 2) - ($watermarkfile_width / 2); break; + case 'Right': $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS; break; + default : $dest_x = 0; break; + } + + // debug + // $this->errmsg = 'X '.$dest_x.' Y '.$dest_y; + // $this->showErrorImage(); + + // if a gif, we have to upsample it to a truecolor image + if($this->format == 'GIF') { + $tempimage = imagecreatetruecolor($sourcefile_width,$sourcefile_height); + imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0,$sourcefile_width, $sourcefile_height); + $this->newImage = $tempimage; + } + + imagecopy($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0,$watermarkfile_width, $watermarkfile_height); + } + + /** + * Modfied imagecopyresampled function to save transparent images + * See : http://www.akemapa.com/2008/07/10/php-gd-resize-transparent-image-png-gif/ + * @since 1.9.0 + * + * @param resource $dst_image + * @param resource $src_image + * @param int $dst_x + * @param int $dst_y + * @param int $src_x + * @param int $src_y + * @param int $dst_w + * @param int $dst_h + * @param int $src_w + * @param int $src_h + * @return bool + */ + function imagecopyresampled( &$dst_image , $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h) { + + // Check if this image is PNG or GIF, then set if Transparent + if( $this->format == 'GIF' || $this->format == 'PNG'){ + imagealphablending($dst_image, false); + imagesavealpha($dst_image, true); + $transparent = imagecolorallocatealpha($dst_image, 255, 255, 255, 127); + imagefilledrectangle($dst_image, 0, 0, $dst_w, $dst_h, $transparent); + } + + imagecopyresampled($dst_image , $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h); + return true; + } +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.wordpress_gallerystorage_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.wordpress_gallerystorage_driver.php new file mode 100644 index 000000000..1dc36f6c7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/class.wordpress_gallerystorage_driver.php @@ -0,0 +1,92 @@ +<?php + +class Mixin_WordPress_GalleryStorage_Driver extends Mixin +{ + /** + * Returns the named sizes available for images + * @global array $_wp_additional_image_sizese + * @return array + */ + function get_image_sizes() + { + global $_wp_additional_image_sizes; + $_wp_additional_image_sizes[] = 'full'; + return $_wp_additional_image_sizes; + } + + + /** + * Gets the upload path for new images in this gallery + * This will always be the date-based directory + * @param type $gallery + * @return type + */ + function get_upload_abspath($gallery=FALSE) + { + // Gallery is used for this driver, as the upload path is + // the same, regardless of what gallery is used + + $retval = FALSE; + + $dir = wp_upload_dir(time()); + if ($dir) $retval = $dir['path']; + + return $retval; + } + + + /** + * Will always return the same as get_upload_abspath(), as + * WordPress storage is not organized by gallery but by date + * @param int|object $gallery + */ + function get_gallery_abspath($gallery=FALSE) + { + return $this->object->get_upload_abspath(); + } + + + /** + * Gets the absolute path to a particular size of an image + * @param int|object $image + * @param string $size + * @return string + */ + function get_image_abspath($image, $size='full') + { + return str_replace( + $this->get_registry()->get_utility('I_Router')->get_base_url(TRUE), + ABSPATH, + $this->object->get_image_abspath($image, $size) + ); + } + + + /** + * Gets the url of a particular sized image + * @param int|object $image + * @param type $size + * @return string + */ + function get_image_url($image=FALSE, $size='full') + { + $retval = NULL; + $image_key = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper')->get_primary_key_column(); + + if ($image && (($image_id = $this->object->_get_image_id($image)))) { + $parts = wp_get_attachment_image_src($image->$image_key); + if ($parts) $retval = $parts['url']; + } + + return $retval; + } +} + +class C_WordPress_GalleryStorage_Driver extends C_GalleryStorage_Driver_Base +{ + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_WordPress_GalleryStorage_Driver'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album.php new file mode 100644 index 000000000..72dd53de3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album.php @@ -0,0 +1,6 @@ +<?php + +class I_Album +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album_mapper.php new file mode 100644 index 000000000..046a31b8a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.album_mapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_Album_Mapper +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.component_config.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.component_config.php new file mode 100644 index 000000000..cef644569 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.component_config.php @@ -0,0 +1,10 @@ +<?php + +interface I_Component_Config +{ + function save(); + + function delete(); + + function is_valid(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery.php new file mode 100644 index 000000000..9aac58b81 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery.php @@ -0,0 +1,5 @@ +<?php + +interface I_Gallery +{ +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_mapper.php new file mode 100644 index 000000000..5f0312ad4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_mapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_Gallery_Mapper +{ + static function get_instance($context = False); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_storage.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_storage.php new file mode 100644 index 000000000..0c36505c1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_storage.php @@ -0,0 +1,6 @@ +<?php + +interface I_Gallery_Storage +{ + static function get_instance($context = False); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_type.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_type.php new file mode 100644 index 000000000..86a58a3a4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallery_type.php @@ -0,0 +1,5 @@ +<?php + +interface I_Gallery_Type extends I_Component_Config +{ +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallerystorage_driver.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallerystorage_driver.php new file mode 100644 index 000000000..31d3bef33 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.gallerystorage_driver.php @@ -0,0 +1,31 @@ +<?php + +interface I_GalleryStorage_Driver +{ + function get_image_sizes(); + function get_image_abspath($image, $size=FALSE); + function get_full_abspath($image); + function get_cache_abspath($gallery = FALSE); + function get_original_abspath($image); + function get_upload_abspath($gallery=FALSE); + function get_upload_relpath($gallery=FALSE); + function get_gallery_abspath($gallery); + function get_backup_abspath($image); + function get_image_url($image, $size=FALSE); + function get_original_url($image); + function get_full_url($image); + function get_image_html($image, $size=FALSE); + function get_original_html($image); + function get_full_html($image); + function get_original_dimensions($image); + function get_full_dimensions($image); + function backup_image($image); + function move_images($images, $gallery, $db_entries=TRUE); + function copy_images($images, $gallery, $db_entries=TRUE); + function upload_image($gallery, $data=FALSE); + function get_driver_class_name(); + function generate_image_clone($image_path, $clone_path, $params); + function generate_image_size($image, $size); + function generate_thumbnail($image); + function delete_image($image, $size=FALSE); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image.php new file mode 100644 index 000000000..793801707 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image.php @@ -0,0 +1,6 @@ +<?php + +interface I_Image +{ + function get_gallery(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image_mapper.php new file mode 100644 index 000000000..b5b3400df --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/interface.image_mapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_Image_Mapper +{ + static function get_instance($context = False); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php new file mode 100644 index 000000000..5f956d6f8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php @@ -0,0 +1,99 @@ +<?php + +/*** +{ + Module: photocrati-nextgen-data, + Depends: { photocrati-datamapper } +} +***/ + +class M_NextGen_Data extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen-data', + 'NextGEN Data Tier', + "Provides a data tier for NextGEN gallery based on the DataMapper module", + '0.3', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Data_Installer'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Component_Factory', 'A_NextGen_Data_Factory'); + #$this->get_registry()->add_adapter('I_CustomPost_DataMapper', 'A_Attachment_DataMapper', 'attachment'); + $this->get_registry()->add_adapter('I_CustomTable_DataMapper', 'A_CustomTable_Sorting_DataMapper'); + $this->get_registry()->add_adapter('I_Installer', 'A_NextGen_Data_Installer'); + } + + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Gallery_Mapper', 'C_Gallery_Mapper'); + $this->get_registry()->add_utility('I_Image_Mapper', 'C_Image_Mapper'); + $this->get_registry()->add_utility('I_Album_Mapper', 'C_Album_Mapper'); + $this->get_registry()->add_utility('I_Gallery_Storage', 'C_Gallery_Storage'); + } + + function get_type_list() + { + return array( + 'A_Attachment_Datamapper' => 'adapter.attachment_datamapper.php', + 'A_Customtable_Sorting_Datamapper' => 'adapter.customtable_sorting_datamapper.php', + 'A_Nextgen_Data_Factory' => 'adapter.nextgen_data_factory.php', + 'C_NextGen_Data_Installer' => 'class.nextgen_data_installer.php', + 'A_Parse_Image_Metadata' => 'adapter.parse_image_metadata.php', + 'C_Album' => 'class.album.php', + 'C_Gallery' => 'class.gallery.php', + 'C_Image' => 'class.image.php', + 'C_Album_Mapper' => 'class.album_mapper.php', + 'C_Gallerystorage_Base' => 'class.gallerystorage_base.php', + 'C_Gallerystorage_Driver_Base' => 'class.gallerystorage_driver_base.php', + 'C_Gallery_Mapper' => 'class.gallery_mapper.php', + 'C_Gallery_Storage' => 'class.gallery_storage.php', + 'C_Image_Mapper' => 'class.image_mapper.php', + 'C_Image_Wrapper' => 'class.image_wrapper.php', + 'C_Image_Wrapper_Collection' => 'class.image_wrapper_collection.php', + 'C_Nextgen_Metadata' => 'class.nextgen_metadata.php', + 'C_Ngglegacy_Gallerystorage_Driver' => 'class.ngglegacy_gallerystorage_driver.php', + 'C_Ngglegacy_Thumbnail' => 'class.ngglegacy_thumbnail.php', + 'C_Wordpress_Gallerystorage_Driver' => 'class.wordpress_gallerystorage_driver.php', + 'I_Album' => 'interface.album.php', + 'I_Gallery' => 'interface.gallery.php', + 'I_Image' => 'interface.image.php', + 'I_Album_Mapper' => 'interface.album_mapper.php', + 'I_Component_Config' => 'interface.component_config.php', + 'I_Gallerystorage_Driver' => 'interface.gallerystorage_driver.php', + 'I_Gallery_Mapper' => 'interface.gallery_mapper.php', + 'I_Gallery_Storage' => 'interface.gallery_storage.php', + 'I_Gallery_Type' => 'interface.gallery_type.php', + 'I_Image_Mapper' => 'interface.image_mapper.php' + ); + } + + + function _register_hooks() + { + add_filter('posts_orderby', array($this, 'wp_query_order_by'), 10, 2); + } + + function wp_query_order_by($order_by, $wp_query) + { + if ($wp_query->get('datamapper_attachment')) + { + $order_parts = explode(' ', $order_by); + $order_name = array_shift($order_parts); + + $order_by = 'ABS(' . $order_name . ') ' . implode(' ', $order_parts) . ', ' . $order_by; + } + + return $order_by; + } +} +new M_NextGen_Data(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/README.txt b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/README.txt new file mode 100644 index 000000000..17230e391 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/README.txt @@ -0,0 +1,148 @@ +GALLERY DISPLAY MODULE +====================== + + == Introduction == +------------------- + +This module is responsible for displaying galleries. It's fundamental to this +aspect. It provides the following: + + => An interface to attach a collection of images to a post, and display + them using a particular "display type" (more on display types below) + => A page used to configure Display Settings for "display types" + => A shortcode for rendering a collection of images using a particular + "display type" + + +== Terminology == +------------------- + + *Display Type* + => Used to render a collection of images or galleries. + => Has the following properties: "name", "title", "entity_type", and + "settings". + => The "name" property is the name that will be referenced in code + and shortcodes. For example, "photocrati-nextgen_basic_thumbnails". + => The "title" property is the human-friendly name of the display type, + such as "NextGen Basic Thumbnails". + => The "entity_type" property specifies what kind of display type this is. + One of two values can be specified: "gallery" or "album". This + property essentially establishes whether the display type is a + "gallery type" or "album type". + => The "settings" property is an array of key/value pair settings, serving + as a global configuration to be taken into consideration when rendering + the display type on the front-end. + => Is persisted as a Custom Post using the C_CustomPost_DataMapper_Driver. + + *Displayed Gallery* + => An entity representing the association between a collection of images, + a display type, and a list of display settings applied. Essentially, + a "displayed gallery" represents a gallery being rendered. + => In previous terminology, this was once called an "Attached Gallery". + => Has the following properties: + "source" + - determines where the images or galleries will be coming from + - acceptable values: "galleries", "albums", "recent_images", + "random images", and "tags". + "container_ids": + - specifies what ids in particular the images or galleries will be + coming from. + - If the "source" property is set to "galleries", then + this property will be set to an array of gallery ids. If the + "source" property is set to "albums", then this property will be + set to an array of album ids. + "entity_ids": + - specifies what ids in particular to display. + - If the "source" + property is set to "galleries", then this property will be set + to an array of image ids. Otherwise, if the "source" property + is set to "albums", then this property will be set to an array + of gallery ids. + - this property is mutually exclusive of the "exclusions" property. + You can either use this property to specify what entities in + particular you would like to display, or you could leave this + property empty and set the "exclusions" property to specify what + entities in particular you don't want to display + "exclusions": + - specifies what entities in particular you'd like to exclude from + being displayed. + - If the "source" property is set to "galleries", then this property + is set to an array of image ids that you wish to exclude. If the + "source" property is set to "albums", then this property is set to + an array of gallery ids that you wish to exclude. + + +== Display Types == +------------------- + +See above for an explanation of what a "display type" actually is. Display types +are persisted as a Custom Post in WordPress via the C_Display_Type_Mapper class. +A display type should always do the following: + + 1. Define a new module to encapsulate the display type into a single unit + 2. Define an adapter for the C_Display_Type class. + + C_Display_Type is a model used by the datamapper to perform validation + routines and set defaults. Each "display type module" should register + an adapter to provide validation routines specific to it's display type. + For an example, see "A_NextGen_Basic_Thumbnails". + + 3. Define an adapter for the C_Display_Type_Controller class.. + + There are several important methods that each display type must override. + => index(), details the logic of how to render the display type on the front-end + + => enqueue_frontend_resources(), used to enqueue any static resources (CSS or JS) using + wp_enqueue_script() / wp_enqueue_style() for the front-end + + => get_field_names(), returns a list of field names to render for the settings of + the display tab. This settings tab is used both on the "Display Settings Page" as + well in the "Display Settings Tab" of the "Attach to Post" interface. For each + field name in the returned array, the C_Display_Type_Controller will try to execute + a corresponding method in the format "_render_[field_name]_field($display_type)". + For example, if you defined the following: + + function get_field_names() + { + return array( + 'foobar' + ); + } + + Then the C_Display_Type_Controller will try to execute: + $this->_render_foobar_field($display_type); + + + => enqueue_backend_resources(), used to enqueue any used to enqueue any static + resources (CSS or JS) using wp_enqueue_script() / wp_enqueue_style() for the + backend (settings) + + 4. Define an adapter for the C_NextGen_Activator class. + + The C_NextGen_Activator's install() method gets called when the WordPress plugin is + activated. Each display type needs an adapter that adds a post hook to the install() + method that will install the new display type, and perform any other initialization + for the module required. See adapter.nextgen_basic_thumbnails_activation.php for + an example. + + +== Display Settings Page == +------------------- + +The display settings page is provided by the C_Display_Settings_Controller. It's +an MVC Controller and has a single action, "index". This action is what renders +the "Display Settings" page under the "Gallery" menu. The "Display Settings" +page displays accordion tabs for each "Display Type" installed. + +Specifically, the index() method does the following: + => Finds all display types installed using the C_Display_Type_Mapper. + => Iterates over each display type and... + - If a post request, updates the display type + - Instantiates a new C_Display_Type_Controller, passing the display type + name to the constructor. + - Calls C_Display_Type_Controller->enqueue_backend_resources() to + enqueue necessary resources for the display type. This is useful if + a display type settings tab uses a JavaScript-powered widget that + requires an external script enqueued. + - Calls C_Display_Type_Controller->settings(), which renders the + actual accordion tab to configure the display type's settings. \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php new file mode 100644 index 000000000..56d4f0963 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_controller.php @@ -0,0 +1,24 @@ +<?php + +class A_Display_Settings_Controller extends Mixin +{ + /** + * Static resources required for the Display Settings page + */ + function enqueue_backend_resources() + { + $this->call_parent('enqueue_backend_resources'); + wp_enqueue_style('nextgen_gallery_display_settings'); + wp_enqueue_script('nextgen_gallery_display_settings'); + } + + function get_page_title() + { + return 'Gallery Settings'; + } + + function get_required_permission() + { + return 'NextGEN Change options'; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_page.php new file mode 100644 index 000000000..b6e7f2c47 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.display_settings_page.php @@ -0,0 +1,13 @@ +<?php + +class A_Display_Settings_Page extends Mixin +{ + function initialize() + { + $this->object->add( + 'ngg_display_settings', + 'A_Display_Settings_Controller', + NGGFOLDER + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_ajax.php new file mode 100644 index 000000000..501fc5c0d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_ajax.php @@ -0,0 +1,24 @@ +<?php + +class A_Gallery_Display_Ajax extends Mixin +{ + function render_displayed_gallery_action() + { + $retval = array(); + + if (isset($_POST['ajax_referrer'])) { + $_SERVER['REQUEST_URI'] = $_POST['ajax_referrer']; + C_Router::get_instance()->serve_request(); + } + + if (isset($_POST['displayed_gallery_id'])) { + $displayed_gallery = new C_Displayed_Gallery(); + $displayed_gallery->apply_transient($_POST['displayed_gallery_id']); + $renderer = C_Displayed_Gallery_Renderer::get_instance(); + $retval['html'] = $renderer->render($displayed_gallery, TRUE); + } + + return $retval; + } +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_factory.php new file mode 100644 index 000000000..0255cb34e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_factory.php @@ -0,0 +1,38 @@ +<?php + +class A_Gallery_Display_Factory extends Mixin +{ + /** + * Instantiates a Display Type + * @param C_DataMapper $mapper + * @param array|stdClass|C_DataMapper_Model $properties + * @param string|array|FALSE $context + */ + function display_type($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Display_Type($mapper, $properties, $context); + } + + /** + * Instantiates a Displayed Gallery + * @param C_DataMapper $mapper + * @param array|stdClass|C_DataMapper_Model $properties + * @param string|array|FALSE $context + */ + function displayed_gallery($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Displayed_Gallery($mapper, $properties, $context); + } + + /** + * Instantiates a Displayed Gallery Source + * @param C_DataMapper $mapper + * @param array|stdClass|C_DataMapper_Model $properties + * @param string|array|FALSE $context + * @return C_Displayed_Gallery_Source + */ + function displayed_gallery_source($mapper=FALSE, $properties=array(), $context=FALSE) + { + return new C_Displayed_Gallery_Source($mapper, $properties, $context); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_view.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_view.php new file mode 100644 index 000000000..ef533f5d8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/adapter.gallery_display_view.php @@ -0,0 +1,43 @@ +<?php + +class A_Gallery_Display_View extends Mixin +{ + /** + * Check whether to render certain kinds of extra additions to the view for a displayed gallery + * @param object $displayed_gallery + * @param string $template_id + * @param C_MVC_View_Element $root_element + * @param string $addition_type what kind of addition is being made 'layout', 'decoration', 'style', 'logic' etc. + * @return string|NULL + */ + function _check_addition_rendering($displayed_gallery, $template_id, $root_element, $addition_type) + { + $view = $root_element->get_object(); + $mode = $view->get_param('render_mode'); + $ret = true; + + switch ($addition_type) + { + case 'layout': + { + $ret = !in_array($mode, array('bare', 'basic')); + + break; + } + case 'decoration': + { + break; + } + case 'style': + { + break; + } + case 'logic': + { + break; + } + } + + return $ret; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type.php new file mode 100644 index 000000000..2a5a3e9c2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type.php @@ -0,0 +1,96 @@ +<?php + +/** + * A Display Type is a component which renders a collection of images + * in a "gallery". + * + * Properties: + * - entity_types (gallery, album) + * - name (nextgen_basic-thumbnails) + * - title (NextGEN Basic Thumbnails) + */ +class C_Display_Type extends C_DataMapper_Model +{ + var $_mapper_interface = 'I_Display_Type_Mapper'; + + function define($mapper, $properties, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_Display_Type_Validation'); + $this->add_mixin('Mixin_Display_Type_Instance_Methods'); + $this->implement('I_Display_Type'); + } + + /** + * Initializes a display type with properties + * @param FALSE|C_Display_Type_Mapper $mapper + * @param array|stdClass|C_Display_Type $properties + * @param FALSE|string|array $context + */ + function initialize($mapper=FALSE, $properties=array()) + { + // If no mapper was specified, then get the mapper + if (!$mapper) $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + + // Construct the model + parent::initialize($mapper, $properties); + } + + + /** + * Allows a setting to be retrieved directly, rather than through the + * settings property + * @param string $property + * @return mixed + */ + function &__get($property) + { + if (isset($this->object->settings) && isset($this->object->settings[$property])) { + $retval = &$this->object->settings[$property]; + return $retval; + } + else return parent::__get($property); + } +} + +class Mixin_Display_Type_Validation extends Mixin +{ + function validation() + { + $this->object->validates_presence_of('entity_types'); + $this->object->validates_presence_of('name'); + $this->object->validates_presence_of('title'); + + return $this->object->is_valid(); + } +} + +/** + * Provides methods available for class instances + */ +class Mixin_Display_Type_Instance_Methods extends Mixin +{ + /** + * Determines if this display type is compatible with a displayed gallery + * source + * @param stdClass|C_DataMapper_Model|C_Displayed_Gallery_Source $source + * @return bool + */ + function is_compatible_with_source($source) + { + $success = TRUE; + foreach ($source->returns as $returned_entity_type) { + if (!in_array($returned_entity_type, $this->object->entity_types)) { + $success = FALSE; + break; + } + } + + return $success; + } + + function get_order() + { + return NEXTGEN_DISPLAY_PRIORITY_BASE; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_controller.php new file mode 100644 index 000000000..cdc5920eb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_controller.php @@ -0,0 +1,323 @@ +<?php + +/** + * A Controller which displays the settings form for the display type, as + * well as the front-end display + */ +class C_Display_Type_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Display_Type_Controller'); + $this->implement('I_Display_Type_Controller'); + } + + + /** + * Provides default behavior for rendering fields + * @param string $method + * @param array $args + */ + function __call($method, $args) + { + if (preg_match("/render_([\w_]+)/", $method, $matches) && !$this->has_method($method)) { + $field_name = $matches[1]; + $value = isset($this->_display_type->$field_name) ? + $this->_display_type->$field_name : ''; + return $this->render_partial($field_name, array( + 'value' => $value, 'context' => $this->_display_type->context), TRUE + ); + } + else { + return parent::__call($method, $args); + } + } + + + /** + * Gets a singleton of the mapper + * @param string|array $context + * @return C_Display_Type_Controller + */ + public static function get_instance($context = FALSE) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Display_Type_Controller($context); + } + return self::$_instances[$context]; + } +} + +/** + * Provides instance methods for the C_Display_Type_Controller class + */ +class Mixin_Display_Type_Controller extends Mixin +{ + var $_render_mode; + + /** + * Enqueues static resources required for lightbox effects + * @param type $displayed_gallery + */ + function enqueue_lightbox_resources($displayed_gallery) + { + // Enqueue the lightbox effect library + $settings = C_NextGen_Settings::get_instance(); + $mapper = $this->object->get_registry()->get_utility('I_Lightbox_Library_Mapper'); + $library = $mapper->find_by_name($settings->thumbEffect); + + // Make the path to the static resources available for libraries + // Shutter-Reloaded in particular depends on this + $this->object->_add_script_data( + 'ngg_common', + 'nextgen_lightbox_settings', + array('static_path' => $this->object->get_static_relpath('', 'photocrati-lightbox')), + TRUE, + FALSE + ); + + { + $i=0; + foreach (explode("\n", $library->scripts) as $script) { + wp_enqueue_script( + $library->name.'-'.$i, + $script + ); + if ($i == 0 AND isset($library->values)) { + foreach ($library->values as $name => $value) { + $this->object->_add_script_data( + $library->name . '-0', + $name, + $value, + FALSE + ); + } + } + $i+=1; + } + $i=0; + foreach (explode("\n", $library->css_stylesheets) as $style) { + wp_enqueue_style( + $library->name.'-'.$i, + $style + ); + $i+=1; + } + } + } + + + /** + * This method should be overwritten by other adapters/mixins, and call + * wp_enqueue_script() / wp_enqueue_style() + */ + function enqueue_frontend_resources($displayed_gallery) + { + // This script provides common JavaScript among all display types + wp_enqueue_script('ngg_common'); + + // Enqueue the display type library + wp_enqueue_script($displayed_gallery->display_type, $this->object->_get_js_lib_url($displayed_gallery)); + + // Add "galleries = {};" + $this->object->_add_script_data( + 'ngg_common', + 'galleries', + new stdClass, + TRUE, + FALSE + ); + + // Add "galleries.gallery_1 = {};" + $this->object->_add_script_data( + 'ngg_common', + 'galleries.gallery_' . $displayed_gallery->id(), + (array)$displayed_gallery->get_entity(), + FALSE + ); + + $this->object->enqueue_lightbox_resources($displayed_gallery); + } + + function enqueue_ngg_styles() + { + wp_enqueue_style( + 'nggallery', + C_NextGen_Style_Manager::get_instance()->get_selected_stylesheet_url() + ); + } + + function get_render_mode() + { + return $this->object->_render_mode; + } + + function set_render_mode($mode) + { + $this->object->_render_mode = $mode; + } + + /** + * Ensures that the minimum configuration of parameters are sent to a view + * @param $displayed_gallery + * @param null $params + * @return array|null + */ + function prepare_display_parameters($displayed_gallery, $params = null) + { + if ($params == null) + { + $params = array(); + } + + $params['display_type_rendering'] = true; + $params['displayed_gallery'] = $displayed_gallery; + $params['render_mode'] = $this->object->get_render_mode(); + + return $params; + } + + /** + * Renders the frontend display of the display type + */ + function index_action($displayed_gallery, $return=FALSE) + { + return $this->object->render_partial('photocrati-nextgen_gallery_display#index', array(), $return); + } + + /** + * Returns the url for the JavaScript library required + * @return null|string + */ + function _get_js_lib_url() + { + return NULL; + } + + + /** + * Returns the effect HTML code for the displayed gallery + * @param type $displayed_gallery + */ + function get_effect_code($displayed_gallery) + { + $settings = C_NextGen_Settings::get_instance(); + $effect_code = $settings->thumbCode; + $effect_code = str_replace('%GALLERY_ID%', $displayed_gallery->id(), $effect_code); + $effect_code = str_replace('%GALLERY_NAME%', $displayed_gallery->id(), $effect_code); + return $effect_code; + } + + + /** + * Adds data to the DOM which is then accessible by a script + * @param string $handle + * @param string $object_name + * @param mixed $object_value + * @param bool $define + */ + function _add_script_data($handle, $object_name, $object_value, $define=TRUE, $override=FALSE) + { + $retval = FALSE; + + // wp_localize_script allows you to add data to the DOM, associated + // with a particular script. You can even call wp_localize_script + // multiple times to add multiple objects to the DOM. However, there + // are a few problems with wp_localize_script: + // + // - If you call it with the same object_name more than once, you're + // overwritting the first call. + // - You cannot namespace your objects due to the "var" keyword always + // - being used. + // + // To circumvent the above issues, we're going to use the WP_Scripts + // object to workaround the above issues + global $wp_scripts; + + // Has the script been registered or enqueued yet? + if (isset($wp_scripts->registered[$handle])) { + + // Get the associated data with this script + $script = &$wp_scripts->registered[$handle]; + $data = &$script->extra['data']; + + // Construct the addition + $addition = $define ? "\nvar {$object_name} = " . json_encode($object_value) . ';' : + "\n{$object_name} = " . json_encode($object_value) . ';'; + + // Add the addition + if ($override) { + $data .= $addition; + $retval = TRUE; + } + else if (strpos($data, $object_name) === FALSE) { + $data .= $addition; + $retval = TRUE; + } + + $script->extra['data'] = $data; + } + + return $retval; + } + + // Returns the longest and widest dimensions from a list of entities + function get_entity_statistics($entities, $named_size, $style_images=FALSE) + { + $longest = $widest = 0; + $storage = $this->get_registry()->get_utility('I_Gallery_Storage'); + $image_mapper = FALSE; // we'll fetch this if needed + + // Calculate longest and + foreach ($entities as $entity) { + + // Get the image + $image = FALSE; + if (isset($entity->pid)) { + $image = $entity; + } + elseif (isset($entity->previewpic)) { + if (!$image_mapper) $image_mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + $image = $image_mapper->find($entity->previewpic); + } + + // Once we have the image, get it's dimensions + if ($image) { + $dimensions = $storage->get_image_dimensions($image, $named_size); + if ($dimensions['width'] > $widest) $widest = $dimensions['width']; + if ($dimensions['height'] > $longest) $longest = $dimensions['height']; + } + } + + // Second loop to style images + if ($style_images) foreach ($entities as &$entity) { + + // Get the image + $image = FALSE; + if (isset($entity->pid)) { + $image = $entity; + } + elseif (isset($entity->previewpic)) { + if (!$image_mapper) $image_mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + $image = $image_mapper->find($entity->previewpic); + } + + // Once we have the image, get it's dimension and calculate margins + if ($image) { + $dimensions = $storage->get_image_dimensions($image, $named_size); + } + } + + return array( + 'entities' => $entities, + 'longest' => $longest, + 'widest' => $widest + ); + } +} + + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_mapper.php new file mode 100644 index 000000000..8f7a466dd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.display_type_mapper.php @@ -0,0 +1,110 @@ +<?php + +/** + * Provides a datamapper to perform CRUD operations for Display Types + */ +class C_Display_Type_Mapper extends C_CustomPost_DataMapper_Driver +{ + public static $_instances = array(); + + function define($context=FALSE) + { + $object_name = 'display_type'; + + // Add the object name to the context of the object as well + // This allows us to adapt the driver itself, if required + if (!is_array($context)) $context = array($context); + array_push($context, $object_name); + parent::define(NULL, $context); + + $this->add_mixin('Mixin_Display_Type_Mapper'); + $this->implement('I_Display_Type_Mapper'); + $this->set_model_factory_method($object_name); + } + + function initialize($context=FALSE) + { + parent::initialize('display_type'); + } + + + /** + * Gets a singleton of the mapper + * @param string|array $context + * @return C_Display_Type_Mapper + */ + public static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Display_Type_Mapper($context); + } + return self::$_instances[$context]; + } +} + + +/** + * Provides instance methods for the display type mapper + */ +class Mixin_Display_Type_Mapper extends Mixin +{ + /** + * Locates a Display Type by names + * @param string $name + */ + function find_by_name($name, $model=FALSE) + { + $retval = NULL; + $this->object->select(); + $this->object->where(array('name = %s', $name)); + $results = $this->object->run_query(FALSE, $model); + if ($results) $retval = $results[0]; + return $retval; + } + + /** + * Finds display types used to display specific types of entities + * @param string|array $entity_type e.g. image, gallery, album + * @return array + */ + function find_by_entity_type($entity_type, $model=FALSE) + { + $find_entity_types = is_array($entity_type) ? $entity_type : array($entity_type); + + $retval = NULL; + foreach ($this->object->find_all($model) as $display_type) { + foreach ($find_entity_types as $entity_type) { + if (in_array($entity_type, $display_type->entity_types)) { + $retval[] = $display_type; + break; + } + } + } + + return $retval; + } + + /** + * Uses the title attribute as the post title + * @param stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return $entity->title; + } + + + /** + * Sets default values needed for display types + */ + function set_defaults($entity) + { + if (!isset($entity->settings)) $entity->settings = array(); + $this->_set_default_value($entity, 'preview_image_relpath', ''); + $this->_set_default_value($entity, 'default_source', ''); + $this->_set_default_value($entity, 'view_order', NEXTGEN_DISPLAY_PRIORITY_BASE); + $this->_set_default_value($entity, 'settings', 'use_lightbox_effect', TRUE); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php new file mode 100644 index 000000000..4bc977f30 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php @@ -0,0 +1,923 @@ +<?php + +/** + * Associates a Display Type with a collection of images + * + * * Properties: + * - source (gallery, album, recent_images, random_images, etc) + * - container_ids (gallery ids, album ids, tag ids, etc) + * - display_type (name of the display type being used) + * - display_settings (settings for the display type) + * - exclusions (excluded entity ids) + * - entity_ids (specific images/galleries to include, sorted) + * - order_by + * - order_direction + */ +class C_Displayed_Gallery extends C_DataMapper_Model +{ + var $_mapper_interface = 'I_Displayed_Gallery_Mapper'; + + function define($mapper=FALSE, $properties=FALSE, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_Displayed_Gallery_Validation'); + $this->add_mixin('Mixin_Displayed_Gallery_Instance_Methods'); + $this->add_mixin('Mixin_Displayed_Gallery_Queries'); + $this->implement('I_Displayed_Gallery'); + } + + + /** + * Initializes a display type with properties + * @param FALSE|C_Displayed_Gallery_Mapper $mapper + * @param array|stdClass|C_Displayed_Gallery $properties + * @param FALSE|string|array $context + */ + function initialize($mapper=FALSE, $properties=array()) + { + if (!$mapper) $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + parent::initialize($mapper, $properties); + } +} + +/** + * Provides validation + */ +class Mixin_Displayed_Gallery_Validation extends Mixin +{ + function validation() + { + // Valid sources + $this->object->validates_presence_of('source'); + + // Valid display type? + $this->object->validates_presence_of('display_type'); + if (($display_type = $this->object->get_display_type())) { + $display_type->settings = $this->object->display_settings; + if (!$display_type->validate()) { + foreach ($display_type->get_errors() as $property => $errors) { + foreach ($errors as $error) { + $this->object->add_error($error, $property); + } + } + } + + // Is the display type compatible with the source? E.g., if we're + // using a display type that expects images, we can't be feeding it + // galleries and albums + if (($source = $this->object->get_source())) { + if (!$display_type->is_compatible_with_source($source)) { + $this->object->add_error( + _('Source not compatible with selected display type'), + 'display_type' + ); + } + } + + // If no maximum_entity_count has been given, then set a maximum + if (!isset($this->object->maximum_entity_count)) { + $this->object->maximum_entity_count = C_Photocrati_Settings_Manager::get('maximum_entity_count', 500); + } + + } + else { + $this->object->add_error('Invalid display type', 'display_type'); + } + + return $this->object->is_valid(); + } +} + +class Mixin_Displayed_Gallery_Queries extends Mixin +{ + function get_entities($limit=FALSE, $offset=FALSE, $id_only=FALSE, $returns='included') + { + $retval = array(); + + // If a maximum entity count has been set for the displayed gallery, + // then ensure that's honoured + if (isset($this->object->maximum_entity_count)) { + if (!$limit OR (is_numeric($limit) && $limit > $this->object->maximum_entity_count)) { + $limit = intval($this->object->maximum_entity_count); + } + } + + // Ensure that all parameters have values that are expected + if ($this->object->_parse_parameters()) { + + // Is this an image query? + $source_obj = $this->object->get_source(); + if (in_array('image', $source_obj->returns)) { + $retval = $this->object->_get_image_entities($source_obj, $limit, $offset, $id_only, $returns); + } + + // Is this a gallery/album query? + elseif (in_array('gallery', $source_obj->returns)) { + $retval = $this->object->_get_album_and_gallery_entities($source_obj, $limit, $offset, $id_only, $returns); + } + } + + return $retval; + } + + /** + * Gets all images in the displayed gallery + * @param C_Displayed_Gallery_Source $source_obj + * @param int $limit + * @param int $offset + * @param boolean $id_only + * @param string $returns + */ + function _get_image_entities($source_obj, $limit, $offset, $id_only, $returns) + { + // TODO: This method is very long, and therefore more difficult to read + // Find a way to minimalize or segment + $mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + $image_key = $mapper->get_primary_key_column(); + $select = $id_only ? $image_key : '*'; + $sort_direction = $this->object->order_direction; + $sort_by = $this->object->order_by; + + // Here's what this method is doing: + // 1) Determines what results need returned + // 2) Determines from what container ids the results should come from + // 3) Applies ORDER BY clause + // 4) Applies LIMIT/OFFSET clause + // 5) Executes the query and returns the result + + // We start with the most difficult query. When returns is "both", we + // need to return a list of both included and excluded entity ids, and + // mark specifically which entities are excluded + if ($returns == 'both') { + + // We need to add two dynamic columns, one called "sortorder" and + // the other called "exclude". + $if_true = 1; + $if_false = 0; + $excluded_set = $this->object->entity_ids; + if (!$excluded_set) { + $if_true = 0; + $if_false = 1; + $excluded_set = $this->object->exclusions; + } + $sortorder_set = $this->object->sortorder ? $this->object->sortorder : $excluded_set; + + // Add sortorder column + if ($sortorder_set) { + $select = $this->object->_add_find_in_set_column( + $select, + $image_key, + $sortorder_set, + 'new_sortorder', + TRUE + ); + // A user might want to sort the results by the order of + // images that they specified to be included. For that, + // we need some trickery by reversing the order direction + $sort_direction = $this->object->order_direction == 'ASC' ? 'DESC' : 'ASC'; + $sort_by = 'new_sortorder'; + } + + // Add exclude column + if ($excluded_set) { + $select = $this->object->_add_find_in_set_column( + $select, + $image_key, + $excluded_set, + 'exclude' + ); + $select .= ", IF (exclude = 0 AND @exclude = 0, $if_true, $if_false) AS 'exclude'"; + } + + // Select what we want + $mapper->select($select); + } + + // When returns is "included", the query is relatively simple. We + // just provide a where clause to limit how many images we're returning + // based on the entity_ids, exclusions, and container_ids parameters + if ($returns == 'included') { + + // If the sortorder propery is available, then we need to override + // the sortorder + if ($this->object->sortorder) { + $select = $this->object->_add_find_in_set_column( + $select, + $image_key, + $this->object->sortorder, + 'new_sortorder', + TRUE + ); + $sort_direction = $this->object->order_direction == 'ASC' ? 'DESC' : 'ASC'; + $sort_by = 'new_sortorder'; + } + $mapper->select($select); + + // Filter based on entity_ids selection + if ($this->object->entity_ids) { + $mapper->where(array("{$image_key} IN %s", $this->object->entity_ids)); + } + + // Filter based on exclusions selection + if ($this->object->exclusions) { + $mapper->where(array("{$image_key} NOT IN %s", $this->object->exclusions)); + } + + // Ensure that no images marked as excluded at the gallery level are + // returned + $mapper->where(array("exclude = %d", 0)); + } + + // When returns is "excluded", it's a little more complicated as the + // query is the negated form of the "included". entity_ids become the + // list of exclusions, and exclusions become the list of entity_ids to + // return. All results we return must be marked as excluded + elseif ($returns == 'excluded') { + + // If the sortorder propery is available, then we need to override + // the sortorder + if ($this->object->sortorder) { + $select = $this->object->_add_find_in_set_column( + $select, + $image_key, + $this->object->sortorder, + 'new_sortorder', + TRUE + ); + $sort_direction = $this->object->order_direction == 'ASC' ? 'DESC' : 'ASC'; + $sort_by = 'new_sortorder'; + } + + // Mark each result as excluded + $select .= ", 1 AS exclude"; + $mapper->select($select); + + // Is this case, entity_ids become the exclusions + $exclusions = $this->object->entity_ids; + + // Remove the exclusions always takes precedence over entity_ids, so + // we adjust the list of ids + if ($this->object->exclusions) foreach ($this->object->exclusions as $excluded_entity_id) { + if (($index = array_search($excluded_entity_id, $exclusions)) !== FALSE) { + unset($exclusions[$index]); + } + } + + // Filter based on exclusions selection + if ($exclusions) { + $mapper->where(array("{$image_key} NOT IN %s", $exclusions)); + } + + // Filter based on selected exclusions + else if ($this->object->exclusions) { + $mapper->where(array("{$image_key} IN %s", $this->object->exclusions)); + } + + // Ensure that images marked as excluded are returned as well + $mapper->where(array("exclude = 1")); + } + + // Filter based on containers_ids. Container ids is a little more + // complicated as it can contain gallery ids or tags + if ($this->object->container_ids) { + + // Container ids are tags + if ($source_obj->name == 'tags') { + $term_ids = $this->object->get_term_ids_for_tags($this->object->container_ids); + $mapper->where(array("{$image_key} IN %s",get_objects_in_term($term_ids, 'ngg_tag'))); + } + + // Container ids are gallery ids + else { + $mapper->where(array("galleryid IN %s", $this->object->container_ids)); + } + } + + // Filter based on excluded container ids + if ($this->object->excluded_container_ids) { + + // Container ids are tags + if ($source_obj->name == 'tags') { + $term_ids = $this->object->get_term_ids_for_tags($this->object->excluded_container_ids); + $mapper->where(array("{$image_key} NOT IN %s",get_objects_in_term($term_ids, 'ngg_tag'))); + } + + // Container ids are gallery ids + else { + $mapper->where(array("galleryid NOT IN %s", $this->object->excluded_container_ids)); + } + } + + // Adjust the query more based on what source was selected + if ($this->object->source == 'recent_images') { + $sort_direction = 'DESC'; + $sort_by = 'imagedate'; + } + // If the source is random but entity_ids are present we assume that this is a temporary/"fake" random + // gallery created by randomly selecting X image ids that are then set as the gallery entity_ids + elseif ($this->object->source == 'random_images' && empty($this->object->entity_ids)) { + $sort_by = 'rand()'; + } + + // Apply a sorting order + if ($sort_by) $mapper->order_by($sort_by, $sort_direction); + + // Apply a limit + if ($limit) { + if ($offset) $mapper->limit($limit, $offset); + else $mapper->limit($limit); + } + + return $mapper->run_query(); + } + + /** + * Gets all gallery and album entities from albums specified, if any + * @param C_Displayed_Gallery_Source $source_obj + * @param int $limit + * @param int $offset + * @param boolean $id_only + * @param array $returns + */ + function _get_album_and_gallery_entities($source_obj, $limit=FALSE, $offset=FALSE, $id_only=FALSE, $returns='included') + { + // Albums queries and difficult and inefficient to perform due to the + // database schema. To complicate things, we're returning two different + // types of entities - galleries, and sub-albums. + // The user prefixes entity_id's with an 'a' to distinguish album ids + // from gallery ids. E.g. entity_ids=[1, "a2", 3] + $album_mapper = $this->get_registry()->get_utility('I_Album_Mapper'); + $album_key = $album_mapper->get_primary_key_column(); + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); + $gallery_key = $gallery_mapper->get_primary_key_column(); + $select = $id_only ? $album_key.", sortorder" : '*'; + $retval = array(); + + // If no exclusions are specified, are entity_ids are specified, + // and we're to return is "included", then we have a relatively easy + // query to perform - we just fetch each entity listed in + // the entity_ids field + if ($returns == 'included' && $this->object->entity_ids && empty($this->object->exclusions)) { + $retval = $this->object->_entities_to_galleries_and_albums( + $this->object->entity_ids, $id_only, array(), $limit, $offset + ); + } + + // It's not going to be easy. We'll start by fetching the albums + // and retrieving each of their entities + else { + // Start the query + $album_mapper->select($select); + + // Fetch the albums, and find the entity ids of the sub-albums and galleries + $entity_ids = array(); + $excluded_ids = array(); + + // Filter by container ids. If container_ids === '0' we retrieve all existing gallery_ids and use + // them as the available entity_ids for comparability with 1.9x + $container_ids = $this->object->container_ids; + if ($container_ids) + { + if ($container_ids !== array('0') && $container_ids !== array('')) + { + $album_mapper->where(array("{$album_key} IN %s", $container_ids)); + foreach ($album_mapper->run_query() as $album) { + $entity_ids = array_merge($entity_ids, (array) $album->sortorder); + } + } + else if ($container_ids === array('0') || $container_ids === array('')) { + foreach ($gallery_mapper->select($gallery_key)->run_query() as $gallery) { + $entity_ids[] = $gallery->$gallery_key; + } + } + } + + // Break the list of entities into two groups, included entities + // and excluded entity ids + // -- + // If a specific list of entity ids have been specified, then + // we know what entity ids are meant to be included. We can compute + // the intersect and also determine what entity ids are to be + // excluded + if ($this->object->entity_ids) { + + // Determine the real list of included entity ids. Exclusions + // always take precedence + $included_ids = $this->object->entity_ids; + foreach ($this->object->exclusions as $excluded_id) { + if (($index = array_search($excluded_id, $included_entity_ids)) !== FALSE) { + unset($included_entity_ids[$index]); + } + } + $excluded_ids = array_diff($entity_ids, $included_ids); + } + + // We only have a list of exclusions. + elseif ($this->object->exclusions) { + $included_ids = array_diff($entity_ids, $this->object->exclusions); + $excluded_ids = array_diff($entity_ids, $included_ids); + } + + // We have no entity ids and no exclusions + else { + $included_ids = $entity_ids; + } + + // We've built our two groups. Let's determine how we'll focus on them + // -- + // We're interested in only the included ids + if ($returns == 'included') + $retval = $this->object->_entities_to_galleries_and_albums( + $included_ids, + $id_only, + array(), + $limit, + $offset + ); + + // We're interested in only the excluded ids + elseif ($returns == 'excluded') + $retval = $this->object->_entities_to_galleries_and_albums( + $excluded_ids, + $id_only, + $excluded_ids, + $limit, + $offset + ); + + // We're interested in both groups + else { + $retval = $this->object->_entities_to_galleries_and_albums( + $entity_ids, + $id_only, + $excluded_ids, + $limit, + $offset + ); + } + } + + return $retval; + } + + /** + * Takes a list of entities, and returns the mapped galleries and sub-albums + * + * @param array $entity_ids + * @param bool $id_only + * @param array $exclusions + * @param int $limit + * @param int $offset + * @return array + */ + function _entities_to_galleries_and_albums($entity_ids, + $id_only = FALSE, + $exclusions = array(), + $limit = FALSE, + $offset = FALSE) + { + $retval = array(); + $gallery_ids = array(); + $album_ids = array(); + $album_mapper = $this->get_registry()->get_utility('I_Album_Mapper'); + $album_key = $album_mapper->get_primary_key_column(); + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); + $image_mapper = $this->object->get_registry()->get_utility('I_Image_Mapper'); + $gallery_key = $gallery_mapper->get_primary_key_column(); + $album_select = ($id_only ? $album_key : '*').", 1 AS is_album, 0 AS is_gallery, name AS title, albumdesc AS galdesc"; + $gallery_select = ($id_only ? $gallery_key : '*').", 1 AS is_gallery, 0 AS is_album"; + + // Modify the sort order of the entities + if ($this->object->sortorder) { + $sortorder = array_intersect($this->object->sortorder, $entity_ids); + $entity_ids = array_merge($sortorder,array_diff($entity_ids, $sortorder)); + } + + // Segment entity ids into two groups - galleries and albums + foreach ($entity_ids as $entity_id) { + if (substr($entity_id, 0, 1) == 'a') + $album_ids[] = intval(substr($entity_id, 1)); + else + $gallery_ids[] = intval($entity_id); + } + + // Adjust query to include an exclude property + if ($exclusions) { + $album_select = $this->object->_add_find_in_set_column( + $album_select, + $album_key, + $this->object->exclusions, + 'exclude' + ); + $album_select = $this->object->_add_if_column( + $album_select, + 'exclude', + 0, + 1 + ); + $gallery_select = $this->object->_add_find_in_set_column( + $gallery_select, + $gallery_key, + $this->object->exclusions, + 'exclude' + ); + $gallery_select = $this->object->_add_if_column( + $gallery_select, + 'exclude', + 0, + 1 + ); + } + + // Add sorting parameter to the gallery and album queries + if ($gallery_ids) { + $gallery_select = $this->object->_add_find_in_set_column( + $gallery_select, + $gallery_key, + $gallery_ids, + 'ordered_by', + TRUE + ); + } + else { + $gallery_select .= ", 0 AS ordered_by"; + } + if ($album_ids) { + $album_select = $this->object->_add_find_in_set_column( + $album_select, + $album_key, + $album_ids, + 'ordered_by', + TRUE + ); + } + else { + $album_select .= ", 0 AS ordered_by"; + } + + // Fetch entities + $galleries = $gallery_mapper->select($gallery_select)->where( + array("{$gallery_key} IN %s", $gallery_ids) + )->order_by('ordered_by', 'DESC')->run_query(); + $counts = $image_mapper->select('galleryid, COUNT(*) as counter')->where( + array("galleryid IN %s", $gallery_ids))->group_by('galleryid')->run_query(); + $albums = $album_mapper->select($album_select)->where( + array("{$album_key} IN %s", $album_ids) + )->order_by('ordered_by', 'DESC')->run_query(); + + // Reorder entities according to order specified in entity_ids + foreach ($entity_ids as $entity_id) { + if (substr($entity_id, 0, 1) == 'a') { + $album = array_shift($albums); + if ($album) $retval[] = $album; + } + + else { + $gallery = array_shift($galleries); + if ($gallery) { + foreach ($counts as $id => $gal_count) { + if ($gal_count->galleryid == $gallery->gid) { + $gallery->counter = intval($gal_count->counter); + unset($counts[$id]); + } + } + + $retval[] = $gallery; + } + } + + } + + // Sort the entities + if ($this->object->order_by && $this->object->order_by != 'sortorder') + usort($retval, array(&$this, '_sort_album_result')); + if ($this->object->order_direction == 'DESC') + $retval = array_reverse($retval); + + // Limit the entities + if ($limit && $offset) + $retval = array_slice($retval, $offset, $limit); + + return $retval; + } + + /** + * Returns the total number of entities in this displayed gallery + * @param string $returns + * @returns int + */ + function get_entity_count($returns='included') + { + $retval = 0; + + // Is this an image query? + $source_obj = $this->object->get_source(); + if (in_array('image', $source_obj->returns)) { + $retval = count($this->object->_get_image_entities($source_obj, FALSE, FALSE, TRUE, $returns)); + } + + // Is this a gallery/album query? + elseif (in_array('gallery', $source_obj->returns)) { + $retval = count($this->object->_get_album_and_gallery_entities($source_obj, FALSE, FALSE, TRUE, $returns)); + } + + if (isset($this->object->maximum_entity_count)) { + $max = intval($this->object->maximum_entity_count); + if ($retval > $max) $retval = $max; + } + + return $retval; + } + + /** + * Returns all included entities for the displayed gallery + * @param int $limit + * @param int $offset + * @param boolean $id_only + * @return array + */ + function get_included_entities($limit=FALSE, $offset=FALSE, $id_only=FALSE) + { + return $this->object->get_entities($limit, $offset, $id_only, 'included'); + } + + /** + * Adds a FIND_IN_SET call to the select portion of the query, and + * optionally defines a dynamic column + * @param string $select + * @param string $key + * @param array $array + * @param string $alias + * @param boolean $add_column + * @return string + */ + function _add_find_in_set_column($select, $key, $array, $alias, $add_column=FALSE) + { + $set = implode(",", array_reverse($array)); + if (!$select) $select = "1"; + $select .= ", @{$alias} := FIND_IN_SET({$key}, '{$set}')"; + if ($add_column) $select .= " AS {$alias}"; + return $select; + } + + + function _add_if_column($select, $alias, $true=1, $false=0) + { + if (!$select) $select = "1"; + $select .= ", IF(@{$alias} = 0, {$true}, {$false}) AS {$alias}"; + return $select; + } + + /** + * Returns a list of valid source names, paired with the name of the + * underlying true source name + * @return array + */ + function _get_source_map() + { + $sources = array(); + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Source_Mapper'); + foreach ($mapper->find_all() as $entity) { + $sources[$entity->name] = $entity->name; + foreach ($entity->aliases as $alias) $sources[$alias] = $entity->name; + } + return $sources; + } + + /** + * Parses the list of parameters provided in the displayed gallery, and + * ensures everything meets expectations + * @return boolean + */ + function _parse_parameters() + { + $valid = FALSE; + + // Ensure that the source is valid + $sources = $this->object->_get_source_map(); + if (isset($sources[$this->object->source])) { + $this->object->source = $sources[$this->object->source]; + $valid = TRUE; + } + + // Ensure that exclusions, entity_ids, and sortorder have valid elements. + // IE likes to send empty array as an array with a single element that + // has no value + if ($this->object->exclusions && !$this->object->exclusions[0]) { + $this->object->exclusions = array(); + } + if ($this->object->entity_ids && !$this->object->entity_ids[0]) { + $this->object->entity_ids = array(); + } + if ($this->object->sortorder && !$this->object->sortorder[0]) { + $this->object->sortorder = array(); + } + + return $valid; + } + + /** + * Returns a list of term ids for the list of tags + * @global wpdb $wpdb + * @param array $tags + * @return array + */ + function get_term_ids_for_tags($tags=FALSE) + { + global $wpdb; + + // If no tags were provided, get them from the container_ids + if (!$tags) $tags = $this->object->container_ids; + + // Convert container ids to a string suitable for WHERE IN + $container_ids = array(); + if (!in_array('all', array_map('strtolower', $tags))) { + foreach ($tags as $container) { + $container_ids[]= "'{$container}'"; + } + $container_ids = implode(',', $container_ids); + } + + // Construct query + $query = "SELECT {$wpdb->term_taxonomy}.term_id FROM {$wpdb->term_taxonomy} + INNER JOIN {$wpdb->terms} ON {$wpdb->term_taxonomy}.term_id = {$wpdb->terms}.term_id + WHERE {$wpdb->term_taxonomy}.term_id = {$wpdb->terms}.term_id + AND {$wpdb->term_taxonomy}.taxonomy = %s"; + if (!empty($container_ids)) + $query .= " AND ({$wpdb->terms}.slug IN ({$container_ids}) OR {$wpdb->terms}.name IN ({$container_ids}))"; + $query .= " ORDER BY {$wpdb->terms}.term_id"; + $query = $wpdb->prepare($query, 'ngg_tag'); + + // Get all term_ids for each image tag slug + $term_ids = array(); + foreach ($wpdb->get_results($query) as $row) { + $term_ids[] = $row->term_id; + } + + return $term_ids; + } + + + /** + * Sorts the results of an album query + * @param stdClass $a + * @param stdClass $b + */ + function _sort_album_result($a, $b) + { + $key = $this->object->order_by; + return strcmp($a->$key, $b->$key); + } +} + +/** + * Provides instance methods useful for working with the C_Displayed_Gallery + * model + */ +class Mixin_Displayed_Gallery_Instance_Methods extends Mixin +{ + function get_entity() + { + $entity = $this->call_parent('get_entity'); + unset($entity->post_author); + unset($entity->post_date); + unset($entity->post_date_gmt); + unset($entity->post_title); + unset($entity->post_excerpt); + unset($entity->post_status); + unset($entity->comment_status); + unset($entity->ping_status); + unset($entity->post_name); + unset($entity->to_ping); + unset($entity->pinged); + unset($entity->post_modified); + unset($entity->post_modified_gmt); + unset($entity->post_parent); + unset($entity->guid); + unset($entity->post_type); + unset($entity->post_mime_type); + unset($entity->comment_count); + unset($entity->filter); + unset($entity->post_content_filtered); + + return $entity; + } + + + /** + * Gets the display type object used in this displayed gallery + * @return C_Display_Type + */ + function get_display_type() + { + $mapper = $this->object->get_registry()->get_utility('I_Display_Type_Mapper'); + return $mapper->find_by_name($this->object->display_type, TRUE); + } + + /** + * Gets the corresponding source instance + * @return C_Displayed_Gallery_Source + */ + function get_source() + { + $sources = $this->object->_get_source_map(); + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Source_Mapper'); + $retval = $mapper->find_by_name($sources[$this->object->source], TRUE); + return $retval; + } + + /** + * Returns the galleries queries in this displayed gallery + * @return array + */ + function get_galleries() + { + $retval = array(); + if (($source = $this->object->get_source())) { + if (in_array('image', $source->returns)) { + $mapper = $this->object->get_registry()->get_utility('I_Gallery_Mapper'); + $gallery_key = $mapper->get_primary_key_column(); + $mapper->select(); + if ($this->object->container_ids) { + $mapper->where(array("{$gallery_key} IN %s", $this->object->container_ids)); + } + $retval = $mapper->run_query(); + } + } + return $retval; + } + + /** + * Gets albums queried in this displayed gallery + * @return array + */ + function get_albums() + { + $retval = array(); + if (($source = $this->object->get_source())) { + if (in_array('album', $source->returns)) { + $mapper = $this->get_registry()->get_utility('I_Album_Mapper'); + $album_key = $mapper->get_primary_key_column(); + if ($this->object->container_ids) { + $mapper->select()->where(array("{$album_key} IN %s", $this->object->container_ids)); + } + $retval = $mapper->run_query(); + } + } + return $retval; + } + + /** + * Returns a transient for the displayed gallery + * @return string + */ + function to_transient() + { + // TODO: put this someplace more appropriate + // If the source is random do a separate image id lookup and fill those values into the gallery entity_ids + // This is necessary for compat w/Pro Lightbox so it can retrieve (through it's iframe request) the same images + // the viewer was previously looking at. + if (in_array($this->object->source, array('random', 'random_images')) && empty($this->object->entity_ids)) + { + global $wpdb; + + $image_ids = array(); + $limit = (!empty($this->object->display_settings['images_per_page']) ? $this->object->display_settings['images_per_page'] : $this->object->maximum_entity_count); + + $sql = "SELECT `pid` FROM `{$wpdb->nggpictures}` WHERE `exclude` = 0"; + if (!empty($this->object->exclusions)) + $sql .= sprintf(" AND `pid` NOT IN (%s)", implode(',', $this->object->exclusions)); + $sql .= " ORDER BY RAND() LIMIT {$limit}"; + + foreach ($wpdb->get_results($sql, ARRAY_N) as $res) { + $image_ids[] = reset($res); + } + + $this->object->entity_ids = $image_ids; + } + + $group = 'displayed_galleries'; + $key = C_Photocrati_Cache::generate_key($this->object->get_entity(), $group); + if (is_null(C_Photocrati_Cache::get($key, NULL, $group))) { + C_Photocrati_Cache::set($key, $this->object->get_entity(), $group, 1800); + } + + return $key; + } + + + /** + * Applies the values of a transient to this object + * @param string $transient_id + */ + function apply_transient($transient_id) + { + $retval = FALSE; + if (($transient = C_Photocrati_Cache::get($transient_id, FALSE, 'displayed_galleries'))) { + $this->object->_stdObject = $transient; + $retval = TRUE; + } + + return $retval; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_mapper.php new file mode 100644 index 000000000..bbacde657 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_mapper.php @@ -0,0 +1,101 @@ +<?php + +class C_Displayed_Gallery_Mapper extends C_CustomPost_DataMapper_Driver +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define(NULL, array($context, 'display_gallery')); + $this->add_mixin('Mixin_Displayed_Gallery_Defaults'); + $this->implement('I_Displayed_Gallery_Mapper'); + $this->set_model_factory_method('displayed_gallery'); +// $this->add_post_hook( +// 'save', +// 'Propagate thumbnail dimensions', +// 'Hook_Propagate_Thumbnail_Dimensions_To_Settings' +// ); + } + + + /** + * Initializes the mapper + * @param string|array|FALSE $context + */ + function initialize() + { + parent::initialize('displayed_gallery'); + } + + + /** + * Gets a singleton of the mapper + * @param string|array $context + * @return C_Displayed_Gallery_Mapper + */ + public static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Displayed_Gallery_Mapper($context); + } + return self::$_instances[$context]; + } +} + +/** + * Adds default values for the displayed gallery + */ +class Mixin_Displayed_Gallery_Defaults extends Mixin +{ + /** + * Gets a display type object for a particular entity + * @param stdClass|C_DataMapper_Model $entity + * @return null|stdClass + */ + function get_display_type($entity) + { + $mapper = $this->object->get_registry()->get_utility('I_Display_Type_Mapper'); + return $mapper->find_by_name($entity->display_type); + } + + /** + * Sets defaults needed for the entity + * @param type $entity + */ + function set_defaults($entity) + { + // Ensure that we have a settings array + if (!isset($entity->display_settings)) $entity->display_settings = array(); + + // If the display type is set, then get it's settings and apply them as + // defaults to the "display_settings" of the displayed gallery + if (isset($entity->display_type)) { + + // Get display type mapper + if (($display_type = $this->object->get_display_type($entity))) { + $entity->display_settings = $this->array_merge_assoc( + $display_type->settings, $entity->display_settings, TRUE + ); + } + } + + // Default ordering + $settings = C_NextGen_Settings::get_instance(); + $this->object->_set_default_value($entity, 'order_by', $settings->galSort); + $this->object->_set_default_value($entity, 'order_direction', $settings->galSortDir); + + // Ensure we have an exclusions array + $this->object->_set_default_value($entity, 'exclusions', array()); + + // Ensure other properties exist + $this->object->_set_default_value($entity, 'container_ids', array()); + $this->object->_set_default_value($entity, 'excluded_container_ids', array()); + $this->object->_seT_default_value($entity, 'sortorder', array()); + $this->object->_set_default_value($entity, 'entity_ids', array()); + $this->object->_set_default_value($entity, 'returns', 'included'); + + // Set maximum_entity_count + $this->object->_set_default_value($entity, 'maximum_entity_count', $settings->maximum_entity_count); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_renderer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_renderer.php new file mode 100644 index 000000000..a3bbc9bfb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_renderer.php @@ -0,0 +1,318 @@ +<?php + +class C_Displayed_Gallery_Renderer extends C_Component +{ + static $_instances = array(); + + /** + * Returns an instance of the class + * @param mixed $context + * @return C_Displayed_Gallery_Renderer + */ + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = __CLASS__; + self::$_instances[$context]= new $klass($context); + } + return self::$_instances[$context]; + } + + + /** + * Defines the object + * @param bool $context + */ + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Displayed_Gallery_Renderer'); + $this->implement('I_Displayed_Gallery_Renderer'); + } +} + + +/** + * Provides the ability to render a display type + */ +class Mixin_Displayed_Gallery_Renderer extends Mixin +{ + /** + * Displays a "displayed gallery" instance + * + * Alias Properties: + * gallery_ids/album_ids/tag_ids == container_ids + * image_ids/gallery_ids == entity_ids + * + * Default Behavior: + * - if order_by and order_direction are missing, the default settings + * are used from the "Other Options" page. The exception to this is + * when entity_ids are selected, in which the order is custom unless + * specified. + * + * How to use: + * + * To retrieve images from gallery 1 & 3, but exclude images 4 & 6: + * [ngg_images gallery_ids="1,3" exclusions="4,6" display_type="photocrati-nextgen_basic_thumbnails"] + * + * To retrieve images 1 & 2 from gallery 1: + * [ngg_images gallery_ids="1" image_ids="1,2" display_type="photocrati-nextgen_basic_thumbnails"] + * + * To retrieve images matching tags "landscapes" and "wedding shoots": + * [ngg_images tag_ids="landscapes,wedding shoots" display_type="photocrati-nextgen_basic_thumbnails"] + * + * To retrieve galleries from albums 1 & #, but exclude sub-album 1: + * [ngg_images album_ids="1,2" exclusions="a1" display_type="photocrati-nextgen_basic_compact_album"] + * + * To retrieve galleries from albums 1 & 2, but exclude gallery 1: + * [ngg_images album_ids="1,2" exclusions="1" display_type="photocrati-nextgen_basic_compact_album"] + * + * To retrieve image 2, 3, and 5 - independent of what container is used + * [ngg_images image_ids="2,3,5" display_type="photocrati-nextgen_basic_thumbnails"] + * + * To retrieve galleries 3 & 5, custom sorted, in album view + * [ngg_images source="albums" gallery_ids="3,5" display_type="photocrati-nextgen_basic_compact_album"] + * + * To retrieve recent images, sorted by alt/title text + * [ngg_images source="recent" order_by="alttext" display_type="photocrati-nextgen_basic_thumbnails"] + * + * To retrieve random image + * [ngg_images source="random" display_type="photocrati-nextgen_basic_thumbnails"] + * + * To retrieve a single image + * [ngg_images image_ids='8' display_type='photocrati-nextgen_basic_singlepic'] + * + * To retrieve a tag cloud + * [ngg_images tagcloud=yes display_type='photocrati-nextgen_basic_tagcloud'] + */ + function display_images($params, $inner_content=NULL, $mode=NULL) + { + $retval = ''; + $displayed_gallery = NULL; + + // Get the NextGEN settings to provide some defaults + $settings = C_NextGen_Settings::get_instance(); + + // Configure the arguments + $defaults = array( + 'id' => NULL, + 'source' => '', + 'container_ids' => array(), + 'gallery_ids' => array(), + 'album_ids' => array(), + 'tag_ids' => array(), + 'display_type' => '', + 'exclusions' => array(), + 'order_by' => $settings->galSort, + 'order_direction' => $settings->galSortOrder, + 'image_ids' => array(), + 'entity_ids' => array(), + 'tagcloud' => FALSE, + 'inner_content' => $inner_content, + 'returns' => 'included', + 'slug' => NULL + ); + $args = shortcode_atts($defaults, $params); + + // Are we loading a specific displayed gallery that's persisted? + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + if (!is_null($args['id'])) { + $displayed_gallery = $mapper->find($args['id']); + unset($mapper); // no longer needed + } + + // We're generating a new displayed gallery + else { + // Perform some conversions... + + // Galleries? + if ($args['gallery_ids']) + { + if ($args['source'] != 'albums' AND $args['source'] != 'album') + { + $args['source'] = 'galleries'; + $args['container_ids'] = $args['gallery_ids']; + if ($args['image_ids']) + $args['entity_ids'] = $args['image_ids']; + } + elseif ($args['source'] == 'albums') { + $args['entity_ids'] = $args['gallery_ids']; + } + unset($args['gallery_ids']); + } + + // Albums ? + elseif ($args['album_ids'] || $args['album_ids'] === '0') { + $args['source'] = 'albums'; + $args['container_ids'] = $args['album_ids']; + unset($args['albums_ids']); + } + + // Tags ? + elseif ($args['tag_ids']) { + $args['source'] = 'tags'; + $args['container_ids'] = $args['tag_ids']; + unset($args['tag_ids']); + } + + // Specific images selected + elseif ($args['image_ids']) { + $args['source'] = 'galleries'; + $args['entity_ids'] = $args['image_ids']; + unset($args['image_ids']); + } + + // Tagcloud support + elseif ($args['tagcloud']) { + $args['source'] = 'tags'; + } + + // Convert strings to arrays + if (!is_array($args['container_ids'])) + $args['container_ids'] = preg_split("/,|\|/", $args['container_ids']); + + if (!is_array($args['exclusions'])) + $args['exclusions'] = preg_split("/,|\|/", $args['exclusions']); + + if (!is_array($args['entity_ids'])) + $args['entity_ids'] = preg_split("/,|\|/", $args['entity_ids']); + + // Get the display settings + foreach (array_keys($defaults) as $key) { + unset($params[$key]); + } + + $args['display_settings'] = $params; + + // Create the displayed gallery + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $displayed_gallery = $factory->create('displayed_gallery', $mapper, $args); + + unset($factory); + } + + // Validate the displayed gallery + if ($displayed_gallery) { + if ($displayed_gallery->validate()) { + + // Set a temporary id + $displayed_gallery->id($displayed_gallery->to_transient()); + + + // Display! + return $this->object->render($displayed_gallery, TRUE, $mode); + } + else { + if (C_NextGEN_Bootstrap::$debug) + $retval = "Invalid Displayed Gallery" . var_dump($displayed_gallery->get_errors()); + else + $retval = "Gallery not found. Please <strong>check your settings</strong>."; + } + } + else { + $retval = "Invalid Displayed Gallery"; + } + return $retval; + } + + + /** + * Renders a displayed gallery on the frontend + * @param C_Displayed_Gallery|stdClass $displayed_gallery + */ + function render($displayed_gallery, $return=FALSE, $mode = null) + { + // Simply throwing our rendered gallery into a feed will most likely not work correctly. + // The MediaRSS option in NextGEN is available as an alternative. + if(is_feed()) + return ''; + + if ($mode == null) + { + $mode = 'normal'; + } + + // Save the displayed gallery as a transient if it hasn't already. Allows for ajax operations + // to add or modify the gallery without losing a retrievable ID + if (empty($displayed_gallery->transient_id)) + $displayed_gallery->transient_id = $displayed_gallery->to_transient(); + + // Get the display type controller + $controller = $this->get_registry()->get_utility( + 'I_Display_Type_Controller', $displayed_gallery->display_type + ); + + // Enqueue any necessary static resources + $controller->enqueue_frontend_resources($displayed_gallery); + + // Get routing info + $router = $url = C_Router::get_instance(); + $url = $router->get_url($router->get_request_uri(), TRUE); + + // Should we lookup in cache? + $lookup = TRUE; + if ($displayed_gallery->source == 'random_images') $lookup = FALSE; + elseif (is_array($displayed_gallery->container_ids) && in_array('All', $displayed_gallery->container_ids)) $lookup = FALSE; + elseif ($displayed_gallery->source == 'albums' && ($controller->param('gallery')) OR $controller->param('album')) $lookup = FALSE; + elseif (!$controller->cachable) $lookup = FALSE; + + // Try cache lookup, if we're to do so + $key = null; + $html = FALSE; + if ($lookup) { + // Some settings affect display types + $settings = C_NextGen_Settings::get_instance(); + $key_params = apply_filters('ngg_displayed_gallery_cache_params', array( + $displayed_gallery->get_entity(), + $url, + $mode, + $settings->activateTags, + $settings->appendType, + $settings->maxImages, + $settings->thumbEffect, + $settings->thumbCode, + $settings->galSort, + $settings->galSortDir + )); + + // Try getting the rendered HTML from the cache + $key = C_Photocrati_Cache::generate_key($key_params); + $html = C_Photocrati_Cache::get($key, FALSE); + + // TODO: This is hack. We need to figure out a more uniform way of detecting dynamic image urls + if (strpos($html, C_Photocrati_Settings_Manager::get_instance()->dynamic_thumbnail_slug) !== FALSE) { + $html = FALSE; // forces the cache to be re-generated + } + } + + // If a cached version doesn't exist, then create the cache + if (!$html) { + $current_mode = $controller->get_render_mode(); + $controller->set_render_mode($mode); + $html = $controller->index_action($displayed_gallery, TRUE); + if ($key != null) + C_Photocrati_Cache::set($key, $html); + $controller->set_render_mode($current_mode); + + // Compress the html to avoid wpautop problems + $html = $this->compress_html($html); + } + + if (!$return) echo $html; + + return $html; + } + + /** + * Removes any un-nessessary whitespace from the HTML + * @param string $html + * @return string + */ + function compress_html($html) + { + $html = preg_replace("/>\\s+/", ">", $html); + $html = preg_replace("/\\s+</", "<", $html); + $html = preg_replace("/<!--(?:(?!-->).)*-->/m", "", $html); + return $html; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source.php new file mode 100644 index 000000000..39a26ad4d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source.php @@ -0,0 +1,49 @@ +<?php +/** + * Properties: + * - title + * - name + * - returns + */ +class C_Displayed_Gallery_Source extends C_DataMapper_Model +{ + var $_mapper_interface = 'I_Displayed_Gallery_Source_Mapper'; + + function define($mapper, $properties, $context=FALSE) + { + parent::define($mapper, $properties, $context); + $this->add_mixin('Mixin_Displayed_Gallery_Source'); + $this->implement('I_Displayed_Gallery_Source'); + } + + + /** + * Creates an instance of a displayed gallery source + * @param type $mapper + * @param type $properties + */ + function initialize($mapper=FALSE, $properties=array()) + { + // If no mapper was specified, then get the mapper + if (!$mapper) $mapper = $this->get_registry()->get_utility($this->_mapper_interface); + + // Construct the model + parent::initialize($mapper, $properties); + } +} + +class Mixin_Displayed_Gallery_Source extends Mixin +{ + /** + * Validates the object + * @return bool + */ + function validation() + { + $this->object->validates_presence_of('title'); + $this->object->validates_presence_of('name'); + $this->object->validates_presence_of('returns'); + $this->object->validates_uniqueness_of('name'); + return $this->object->is_valid(); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source_mapper.php new file mode 100644 index 000000000..5262f9eb3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery_source_mapper.php @@ -0,0 +1,89 @@ +<?php + +class C_Displayed_Gallery_Source_Mapper extends C_CustomPost_DataMapper_Driver +{ + + // We maintain singleton objects of this class for each particular context + // used + static $_instances = array(); + + /** + * Returns an instance of this class using a particular context + * @param string|array|bool $context + * @return C_Displayed_Gallery_Source_Mapper + */ + static function &get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } + + /** + * Define the mapper + * @param string|array|bool $context + */ + function define($context=FALSE) + { + $object_name = 'gal_display_source'; + + // Add the object name to the context of the object as well + // This allows us to adapt the driver itself, if required + if (!is_array($context)) $context = array($context); + array_push($context, $object_name); + + // Define the driver + parent::define(NULL, $context); + + // Add the mixin of instance methods + $this->add_mixin('Mixin_Displayed_Gallery_Source_Mapper'); + + // Implement the interface + $this->implement('I_Displayed_Gallery_Source_Mapper'); + + // Set the factory method for instantiating models + $this->set_model_factory_method('displayed_gallery_source'); + } + + /** + * Initializes the datamapper driver + */ + function initialize() + { + parent::initialize('gal_display_source'); + } +} + +class Mixin_Displayed_Gallery_Source_Mapper extends Mixin +{ + /** + * Provides a means to find a displayed gallery source with a particular name + * @param string $name + */ + function find_by_name($name, $return_models=FALSE) + { + $retval = $this->object->find_all(array("name = %s", $name), $return_models); + return array_pop($retval); + } + + /** + * Uses the title attribute as the post title + * @param stdClass $entity + * @return string + */ + function get_post_title($entity) + { + return $entity->title; + } + + /** + * Sets default values for a source + * @param stdClass|C_DataMapper_Model $entity + */ + function set_defaults($entity) + { + if (!isset($entity->aliases)) $entity->aliases = array(); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.gallery_display_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.gallery_display_installer.php new file mode 100644 index 000000000..c6c9d7dc8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/class.gallery_display_installer.php @@ -0,0 +1,133 @@ +<?php + +class C_Gallery_Display_Installer +{ + function get_registry() + { + return C_Component_Registry::get_instance(); + } + + /** + * Installs a display type + * @param string $name + * @param array $properties + */ + function install_display_type($name, $properties=array()) + { + // Try to find the existing entity. If it doesn't exist, we'll create + $fs = $this->get_registry()->get_utility('I_Fs'); + $mapper = $this->get_registry()->get_utility('I_Display_Type_Mapper'); + $display_type = $mapper->find_by_name($name); + if (!$display_type) $display_type = new stdClass; + + // Update the properties of the display type + $properties['name'] = $name; + foreach ($properties as $key=>$val) { + if ($key == 'preview_image_relpath') { + $val = $fs->find_static_relpath($val); + } + $display_type->$key = $val; + } + + // Save the entity + $retval = $mapper->save($display_type); + return $retval; + } + + function install_displayed_gallery_source($name, $properties) + { + // Try to find the existing source. If not found, then we'll create + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Source_Mapper'); + $source = $mapper->find_by_name($name); + if (!$source) $source = new stdClass; + + // Update the properties + foreach ($properties as $key=>$val) $source->$key = $val; + $source->name = $name; + + // Save! + $mapper->save($source); + unset($mapper); + } + + /** + * Deletes all displayed galleries + */ + function uninstall_displayed_galleries() + { + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper'); + $mapper->delete()->run_query(); + } + + /** + * Uninstalls all display types + */ + function uninstall_display_types() + { + $mapper = $this->get_registry()->get_utility('I_Display_Type_Mapper'); + $mapper->delete()->run_query(); + } + + /** + * Installs displayed gallery sources + */ + function install($reset=FALSE) + { + $this->install_displayed_gallery_source('galleries', array( + 'title' => 'Galleries', + 'returns' => array('image'), + 'aliases' => array('gallery', 'images', 'image') + )); + + $this->install_displayed_gallery_source('albums', array( + 'title' => 'Albums', + 'returns' => array('gallery', 'album'), + 'aliases' => array('album') + )); + + $this->install_displayed_gallery_source('tags', array( + 'title' => 'Tags', + 'returns' => array('image'), + 'aliases' => array('tag', 'image_tag', 'image_tags') + )); + + $this->install_displayed_gallery_source('random_images', array( + 'title' => 'Random Images', + 'returns' => array('image'), + 'aliases' => array('random', 'random_image') + )); + + $this->install_displayed_gallery_source('recent_images', array( + 'title' => 'Recent images', + 'returns' => array('image'), + 'aliases' => array('recent', 'recent_image') + )); + } + + /** + * Deletes all displayed gallery sources + */ + function uninstall_displayed_gallery_sources() + { + $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Source_Mapper'); + $mapper->delete()->run_query(); + } + + /** + * Uninstalls this module + */ + function uninstall($hard = FALSE) + { + // Flush displayed gallery cache + C_Photocrati_Cache::flush(); + C_Photocrati_Cache::flush('displayed_galleries'); + + $this->uninstall_display_types(); + $this->uninstall_displayed_gallery_sources(); + + // TODO temporary Don't remove galleries on uninstall + //if ($hard) $this->uninstall_displayed_galleries(); + } + + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/hook.propagate_thumbnail_dimensions_to_settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/hook.propagate_thumbnail_dimensions_to_settings.php new file mode 100644 index 000000000..b55398498 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/hook.propagate_thumbnail_dimensions_to_settings.php @@ -0,0 +1,29 @@ +<?php + +/** + * Propagates saving thumbnail dimensions to global NextGEN Settings + */ +class Hook_Propagate_Thumbnail_Dimensions_To_Settings extends Hook +{ + function save($entity) + { + if ($this->object->get_method_property('save', + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE)) { + $settings = C_NextGen_Settings::get_instance(); + $display_settings = isset($entity->settings) ? $entity->settings : $entity->display_settings; + if (isset($display_settings['thumbnail_width']) && isset($display_settings['thumbnail_height'])) { + $width = $display_settings['thumbnail_width']; + $height = $display_settings['thumbnail_height']; + $new_dimension = "{$width}x{$height}"; + $dimensions = $settings->thumbnail_dimensions; + + if (!in_array($new_dimension, $dimensions)) { + $dimensions[] = $new_dimension; + sort($dimensions); + $settings->thumbnail_dimensions = $dimensions; + $settings->save(); + } + } + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_settings_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_settings_controller.php new file mode 100644 index 000000000..e487e875d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_settings_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_Display_Settings_Controller +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type.php new file mode 100644 index 000000000..f326df536 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type.php @@ -0,0 +1,6 @@ +<?php + +interface I_Display_Type extends I_DataMapper_Model +{ + function is_compatible_with_source($source); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_controller.php new file mode 100644 index 000000000..768b563bc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_controller.php @@ -0,0 +1,6 @@ +<?php + +interface I_Display_Type_Controller extends I_MVC_Controller +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_form.php new file mode 100644 index 000000000..38fd1f8dd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_form.php @@ -0,0 +1,5 @@ +<?php + +interface I_Display_Type_Form +{ +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_mapper.php new file mode 100644 index 000000000..356c7828b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.display_type_mapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_Display_Type_Mapper +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery.php new file mode 100644 index 000000000..1198bfc4f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery.php @@ -0,0 +1,6 @@ +<?php + +interface I_Displayed_Gallery extends I_DataMapper_Model +{ + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_mapper.php new file mode 100644 index 000000000..735436ee0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_mapper.php @@ -0,0 +1,6 @@ +<?php + +interface I_Displayed_Gallery_Mapper +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_renderer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_renderer.php new file mode 100644 index 000000000..2c25cea76 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_renderer.php @@ -0,0 +1,6 @@ +<?php + +interface I_Displayed_Gallery_Renderer +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source.php new file mode 100644 index 000000000..ae1c0f264 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source.php @@ -0,0 +1,6 @@ +<?php + +interface I_Displayed_Gallery_Source +{ + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source_mapper.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source_mapper.php new file mode 100644 index 000000000..dd3e64ddd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/interface.displayed_gallery_source_mapper.php @@ -0,0 +1,10 @@ +<?php + +interface I_Displayed_Gallery_Source_Mapper +{ + /** + * Provides a means to find a displayed gallery source with a particular name + * @param string $name + */ + function find_by_name($name); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/mixin.display_type_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/mixin.display_type_form.php new file mode 100644 index 000000000..bafc2fc01 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/mixin.display_type_form.php @@ -0,0 +1,57 @@ +<?php + +class Mixin_Display_Type_Form extends Mixin +{ + var $_model = null; + + + function initialize() + { + $this->object->implement('I_Display_Type_Form'); + } + + /** + * Returns the name of the display type. Sub-class should override + * @throws Exception + * @returns string + */ + function get_display_type_name() + { + throw new Exception(__METHOD__." not implemented"); + } + + /** + * Returns the model (display type) used in the form + * @return stdClass + */ + function get_model() + { + if ($this->_model == null) + { + $mapper = $this->get_registry()->get_utility('I_Display_Type_Mapper'); + $this->_model = $mapper->find_by_name($this->object->get_display_type_name(), TRUE); + } + + return $this->_model; + } + + /** + * Returns the title of the form, which is the title of the display type + * @returns string + */ + function get_title() + { + return $this->object->get_model()->title; + } + + + /** + * Saves the settings for the display type + * @param array $attributes + * @return boolean + */ + function save_action($attributes=array()) + { + return $this->object->get_model()->save(array('settings'=>$attributes)); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php new file mode 100644 index 000000000..9eabfcd47 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php @@ -0,0 +1,303 @@ +<?php + +/*** + { + Module: photocrati-nextgen_gallery_display, + Depends: { photocrati-simple_html_dom } + } +***/ + +define('NEXTGEN_DISPLAY_SETTINGS_SLUG', 'ngg_display_settings'); +define('NEXTGEN_DISPLAY_PRIORITY_BASE', 10000); +define('NEXTGEN_DISPLAY_PRIORITY_STEP', 2000); + +class M_Gallery_Display extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_gallery_display', + 'Gallery Display', + 'Provides the ability to display gallery of images', + '0.3', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.gallery_display_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Gallery_Display_Installer'); + } + + + /** + * Register utilities required for this module + */ + function _register_utilities() + { + // This utility provides a controller to render the settings form + // for a display type, or render the front-end of a display type + $this->get_registry()->add_utility( + 'I_Display_Type_Controller', + 'C_Display_Type_Controller' + ); + + // This utility provides a datamapper for Display Types + $this->get_registry()->add_utility( + 'I_Display_Type_Mapper', + 'C_Display_Type_Mapper' + ); + + // This utility provides a datamapper for Displayed Galleries. A + // displayed gallery is the association between some entities (images + //or galleries) and a display type + $this->get_registry()->add_utility( + 'I_Displayed_Gallery_Mapper', + 'C_Displayed_Gallery_Mapper' + ); + + // This utility provides a datamapper for Displayed Gallery Sources. A + // source instructs a displayed gallery where the entities are to be + // fetched from - e.g. galleries, albums, etc. + $this->get_registry()->add_utility( + 'I_Displayed_Gallery_Source_Mapper', + 'C_Displayed_Gallery_Source_Mapper' + ); + + // This utility provides the capabilities of rendering a display type + $this->get_registry()->add_utility( + 'I_Displayed_Gallery_Renderer', + 'C_Displayed_Gallery_Renderer' + ); + } + + /** + * Registers adapters required for this module + */ + function _register_adapters() + { + // Provides factory methods for creating display type and + // displayed gallery instances + $this->get_registry()->add_adapter( + 'I_Component_Factory', 'A_Gallery_Display_Factory' + ); + + $this->get_registry()->add_adapter( + 'I_Page_Manager', + 'A_Display_Settings_Page' + ); + + $this->_get_registry()->add_adapter( + 'I_Ajax_Controller', + 'A_Gallery_Display_Ajax' + ); + + $this->get_registry()->add_adapter('I_MVC_View', 'A_Gallery_Display_View'); + } + + /** + * Registers hooks for the WordPress framework + */ + function _register_hooks() + { + // Add a shortcode for displaying galleries + C_NextGen_Shortcode_Manager::add('ngg_images', array(&$this, 'display_images')); + add_action('init', array(&$this, '_register_resources')); + add_action('admin_bar_menu', array(&$this, 'add_admin_bar_menu'), 100); + add_filter('the_content', array($this, '_render_related_images')); + } + + function _render_related_string() + { + $settings = C_NextGen_Settings::get_instance(); + $type = $settings->appendType; + $maxImages = $settings->maxImages; + $sluglist = array(); + + switch ($type) { + case 'tags': + if (function_exists('get_the_tags')) + { + $taglist = get_the_tags(); + if (is_array($taglist)) { + foreach ($taglist as $tag) { + $sluglist[] = $tag->slug; + } + } + } + break; + case 'category': + $catlist = get_the_category(); + if (is_array($catlist)) + { + foreach ($catlist as $cat) { + $sluglist[] = $cat->category_nicename; + } + } + break; + } + + $taglist = implode(',', $sluglist); + + if ($taglist === 'uncategorized' || empty($taglist)) + return; + + $renderer = C_Component_Registry::get_instance()->get_utility('I_Displayed_Gallery_Renderer'); + $view = C_Component_Registry::get_instance()->get_utility('I_Component_Factory') + ->create('mvc_view', ''); + $retval = $renderer->display_images(array( + 'source' => 'tags', + 'container_ids' => $taglist, + 'display_type' => NEXTGEN_GALLERY_BASIC_THUMBNAILS, + 'images_per_page' => $maxImages, + 'maximum_entity_count' => $maxImages, + 'template' => $view->get_template_abspath('photocrati-nextgen_gallery_display#related'), + 'show_all_in_lightbox' => FALSE, + 'show_slideshow_link' => FALSE, + 'disable_pagination' => TRUE, + 'display_no_images_error' => FALSE + )); + + return apply_filters('ngg_show_related_gallery_content', $retval, $taglist); + } + + function _render_related_images($content) + { + $settings = C_NextGen_Settings::get_instance(); + + if ($settings->get('activateTags')) { + $related = $this->_render_related_string(); + + if ($related != null) { + $heading = $settings->relatedHeading; + $content .= $heading . $related; + } + } + + return $content; + } + + /** + * Adds menu item to the admin bar + */ + function add_admin_bar_menu() + { + global $wp_admin_bar; + + if ( current_user_can('NextGEN Change options') ) { + $wp_admin_bar->add_menu(array( + 'parent' => 'ngg-menu', + 'id' => 'ngg-menu-display_settings', + 'title' => __('Gallery Settings', 'nggallery'), + 'href' => admin_url('admin.php?page=ngg_display_settings') + )); + } + } + + /** + * Registers our static settings resources so the ATP module can find them later + */ + function _register_resources() + { + $router = $this->get_registry()->get_utility('I_Router'); + + wp_register_script( + 'nextgen_gallery_display_settings', + $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_display_settings.js'), + array('jquery-ui-accordion', 'jquery-ui-tooltip') + ); + + wp_register_style( + 'nextgen_gallery_display_settings', + $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_display_settings.css') + ); + + wp_register_style( + 'nextgen_gallery_related_images', + $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_related_images.css') + ); + wp_enqueue_style('nextgen_gallery_related_images'); + + wp_register_script( + 'jquery.nextgen_radio_toggle', + $router->get_static_url('photocrati-nextgen_gallery_display#jquery.nextgen_radio_toggle.js'), + array('jquery') + ); + + wp_register_script('ngg_common', $router->get_static_url('photocrati-nextgen_gallery_display#common.js'), array('jquery')); + } + + + /** + * Adds the display settings page to wp-admin + */ + function add_display_settings_page() + { + add_submenu_page( + NGGFOLDER, + _('NextGEN Gallery & Album Settings'), + _('Gallery Settings'), + 'NextGEN Change options', + NEXTGEN_DISPLAY_SETTINGS_SLUG, + array(&$this->controller, 'index_action') + ); + } + + /** + * Provides the [display_images] shortcode + * @param array $params + * @param string $inner_content + * @return string + */ + function display_images($params, $inner_content=NULL) + { + $renderer = $this->get_registry()->get_utility('I_Displayed_Gallery_Renderer'); + return $renderer->display_images($params, $inner_content); + } + + /** + * Gets a value from the parameter array, and if not available, uses the default value + * + * @param string $name + * @param mixed $default + * @param array $params + * @return mixed + */ + function _get_param($name, $default, $params) + { + return (isset($params[$name])) ? $params[$name] : $default; + } + + function get_type_list() + { + return array( + 'A_Gallery_Display_Ajax' => 'adapter.gallery_display_ajax.php', + 'A_Display_Settings_Controller' => 'adapter.display_settings_controller.php', + 'A_Display_Settings_Page' => 'adapter.display_settings_page.php', + 'A_Gallery_Display_Factory' => 'adapter.gallery_display_factory.php', + 'C_Gallery_Display_Installer' => 'class.gallery_display_installer.php', + 'A_Gallery_Display_View' => 'adapter.gallery_display_view.php', + 'C_Displayed_Gallery' => 'class.displayed_gallery.php', + 'C_Displayed_Gallery_Mapper' => 'class.displayed_gallery_mapper.php', + 'C_Displayed_Gallery_Renderer' => 'class.displayed_gallery_renderer.php', + 'C_Displayed_Gallery_Source' => 'class.displayed_gallery_source.php', + 'C_Displayed_Gallery_Source_Mapper' => 'class.displayed_gallery_source_mapper.php', + 'C_Display_Type' => 'class.display_type.php', + 'C_Display_Type_Controller' => 'class.display_type_controller.php', + 'C_Display_Type_Mapper' => 'class.display_type_mapper.php', + 'Hook_Propagate_Thumbnail_Dimensions_To_Settings' => 'hook.propagate_thumbnail_dimensions_to_settings.php', + 'I_Displayed_Gallery' => 'interface.displayed_gallery.php', + 'I_Displayed_Gallery_Mapper' => 'interface.displayed_gallery_mapper.php', + 'I_Displayed_Gallery_Renderer' => 'interface.displayed_gallery_renderer.php', + 'I_Displayed_Gallery_Source' => 'interface.displayed_gallery_source.php', + 'I_Displayed_Gallery_Source_Mapper' => 'interface.displayed_gallery_source_mapper.php', + 'I_Display_Settings_Controller' => 'interface.display_settings_controller.php', + 'I_Display_Type' => 'interface.display_type.php', + 'I_Display_Type_Controller' => 'interface.display_type_controller.php', + 'I_Display_Type_Mapper' => 'interface.display_type_mapper.php', + 'Mixin_Display_Type_Form' => 'mixin.display_type_form.php' + ); + } +} + +new M_Gallery_Display(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.js new file mode 100644 index 000000000..717453a5a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/common.js @@ -0,0 +1,85 @@ +(function($){ + window.NggPaginatedGallery = function(displayed_gallery_id, container, links) { + this.displayed_gallery_id = displayed_gallery_id; + this.links = links; + this.container = container; + + this.get_displayed_gallery_obj = function(){ + var index = 'gallery_'+this.displayed_gallery_id; + if (typeof(window.galleries[index]) == 'undefined') + return false; + else + return window.galleries[index]; + }; + + + this.enable_ajax_pagination = function(){ + var transient_id = this.get_displayed_gallery_obj().transient_id; + var obj = this; + + // Attach a click event handler for each pagination link to + // adjust the request to be sent via XHR + this.links.each(function(){ + var $link = $(this); + $link.click(function(e){ + e.preventDefault(); + + // Describe AJAX request + var request = { + action: 'render_displayed_gallery', + displayed_gallery_id: transient_id, + ajax_referrer: $link.attr('href') + } + + // Notify the user that we're busy + obj.do_ajax(request); + }); + }); + }; + + this.do_ajax = function(request){ + + var container = this.container; + + // Adjust the user notification + window['ngg_ajax_operaton_count']++; + $('body, a').css('cursor', 'wait'); + + // Send the AJAX request + $.post(photocrati_ajax.url, request, function(response){ + + // Adjust the user notification + window['ngg_ajax_operaton_count']--; + if (window['ngg_ajax_operaton_count'] <= 0) { + window['ngg_ajax_operaton_count'] = 0; + $('body, a').css('cursor', 'auto'); + } + + // Ensure that the server returned JSON + if (typeof(response) != 'object') response = JSON.parse(response); + if (response) { + container.replaceWith(response.html); + + // Let the user know that we've refreshed the content + $(document).trigger('refreshed'); + } + }); + }; + + // Initialize + var displayed_gallery = this.get_displayed_gallery_obj(); + if (displayed_gallery) { + if (typeof(displayed_gallery.display_settings['ajax_pagination']) != 'undefined') { + if (parseInt(displayed_gallery.display_settings['ajax_pagination'])) { + this.enable_ajax_pagination(); + } + } + } + + // We maintain a count of all the current AJAX actions initiated + if (typeof(window['ngg_ajax_operation_count']) == 'undefined') { + window['ngg_ajax_operaton_count'] = 0; + } + }; + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/jquery.nextgen_radio_toggle.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/jquery.nextgen_radio_toggle.js new file mode 100644 index 000000000..bfbe721ba --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/jquery.nextgen_radio_toggle.js @@ -0,0 +1,17 @@ +(function($) { + // invoke this on your radio-button set with: + // val: 0|1 - whether to activate on 'on' or 'off' + // target: a jquery selector - the thing to toggle + $.fn.nextgen_radio_toggle_tr = function(val, target) { + return this.each(function() { + var $this = $(this); + $this.bind('change', function() { + if ($this.val() == val) { + target.show('slow'); + } else { + target.hide('slow'); + } + }); + }); + } +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css new file mode 100644 index 000000000..8dc1b740a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.css @@ -0,0 +1,52 @@ +.gallery_page_ngg_display_settings table { + height: 100%; +} + +.gallery_page_ngg_display_settings table tr td:first-child { + vertical-align: top; + text-align: right; + padding-right: 7px; +} + +.gallery_page_ngg_display_settings textarea { + height: 60px; +} + +.gallery_page_ngg_display_settings textarea, +.gallery_page_ngg_display_settings input[type=text] { + width: 155px; +} + +.gallery_page_ngg_display_settings input[type=number] { + width: 75px; + text-align: center; +} + +.gallery_page_ngg_display_settings select { + width: 155px; + text-align: center; +} + +/* paired width & width unit field on same line */ +.gallery_page_ngg_display_settings select.nextgen_settings_field_width_and_unit, +.gallery_page_ngg_display_settings input.nextgen_settings_field_width_and_unit { + text-align: center; + width: 75px; +} + +/* paired width & height fields on same line */ +.gallery_page_ngg_display_settings input.nextgen_settings_field_width_and_height { + width: 65px; +} + +.entity_errors { + color: red; +} + +.entity_errors ul { + margin-left: 30px; +} + +.entity_errors ul li { + list-style-type: disc; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.js new file mode 100644 index 000000000..7ebb3ab57 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_display_settings.js @@ -0,0 +1,12 @@ +jQuery(function($) { + + $('.accordion').accordion({ + clearStyle: true, + autoHeight: false, + heightStyle: 'content' + }); + + $('input, textarea').placeholder(); + $('label.tooltip, span.tooltip').tooltip(); + +}); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.css new file mode 100644 index 000000000..fce8537e3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/static/nextgen_gallery_related_images.css @@ -0,0 +1,22 @@ + +/* ----------- Related images -------------*/ +.ngg-related-gallery { + background:#F9F9F9; + border:1px solid #E0E0E0; + overflow:hidden; + margin-bottom:1em; + margin-top:1em; + padding:5px; +} +.ngg-related-gallery img { + border: 1px solid #DDDDDD; + float: left; + margin: 0pt 3px; + padding: 2px; + height: 50px; + width: 50px; +} + +.ngg-related-gallery img:hover { + border: 1px solid #000000; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php new file mode 100644 index 000000000..30b255dcc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alt_view_link_text.php @@ -0,0 +1,18 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_alt_view_link_text"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_alt_view_link_text' class='tooltip'> + <?php echo_h($alt_view_link_text_label); ?> + <span> + <?php echo_h($tooltip)?> + </span> + </label> + </td> + <td> + <input type='text' + id='<?php echo esc_attr($display_type_name); ?>_alt_view_link_text' + name='<?php echo esc_attr($display_type_name); ?>[alternative_view_link_text]' + class='alt_view_link_text' + placeholder='<?php _e('link text'); ?>' + value='<?php echo esc_attr($alternative_view_link_text); ?>'/> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alternative_view.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alternative_view.php new file mode 100644 index 000000000..cba056cdc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/alternative_view.php @@ -0,0 +1,20 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_alternative_view"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_alternative_view' class="tooltip"> + <?php echo_h($show_alt_view_link_label); ?> + <span> + <?php echo_h($tooltip) ?> + </span> + </label> + </td> + <td> + <select class="ngg_alternative_view" name='<?php echo esc_attr($display_type_name); ?>[alternative_view]'> + <option value="0" <?php echo selected(0, $alternative_view) ?>>None</option> + <?php foreach ($altviews as $altview_name => $altview_properties): ?> + <option value="<?php echo esc_attr($altview_name)?>" <?php echo selected($altview_name, $alternative_view)?>> + <?php echo_h($altview_properties['title'])?> + </option> + <?php endforeach ?> + </select> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/after.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/after.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/before.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/container/before.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/after.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/after.php new file mode 100644 index 000000000..70552e75d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/after.php @@ -0,0 +1 @@ +</div> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/before.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/before.php new file mode 100644 index 000000000..f0b1d8005 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/image/before.php @@ -0,0 +1,7 @@ +<?php + if (!isset($id)) + { + $id = 'ngg-image-' . $index; + } +?> +<div id="<?php echo_h($id) ?>" class="<?php echo_h($class) ?>" <?php if (isset($image->style)) echo $image->style; ?>> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/index.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/index.php new file mode 100644 index 000000000..8b5109d79 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/index.php @@ -0,0 +1,9 @@ +<h1>Default Gallery Type Template</h1> +<p> + This is the default gallery type template, located in:<br/> + <b><?php echo_h(__FILE__)?></b>. +</p> +<p> + If you're seeing this, it's because the gallery type you selected has not + provided a template of it's own. +</p> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/after.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/after.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/before.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/list/before.php new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/no_images_found.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/no_images_found.php new file mode 100644 index 000000000..1c719662d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/no_images_found.php @@ -0,0 +1 @@ +<p>no images were found</p> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php new file mode 100644 index 000000000..46c185ecb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/related.php @@ -0,0 +1,18 @@ +<div class="ngg-related-gallery"> + <?php foreach ($images as $image) { ?> + + <?php + $controller = C_Component_Registry::get_instance()->get_utility('I_Display_Type_Controller'); + $effect_code = $controller->get_effect_code($gallery->displayed_gallery); + ?> + + <a href="<?php echo $image->imageURL; ?>" + title="<?php echo stripslashes(nggGallery::i18n($image->description, 'pic_' . $image->pid . '_description')); ?>" + <?php echo $effect_code; ?>> + <img title="<?php echo stripslashes(nggGallery::i18n($image->alttext, 'pic_' . $image->pid . '_alttext')); ?>" + alt="<?php echo stripslashes(nggGallery::i18n($image->alttext, 'pic_' . $image->pid . '_alttext')); ?>" + data-image-id="<?php echo esc_attr($image->{$image->id_field})?>" + src="<?php echo $image->thumbURL; ?>"/> + </a> + <?php } ?> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php new file mode 100644 index 000000000..bf93e5048 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/return_link_text.php @@ -0,0 +1,18 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_return_link_text"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_return_link_text' class='tooltip'> + <?php echo_h($return_link_text_label); ?> + <span> + <?php echo_h($tooltip)?> + </span> + </label> + </td> + <td> + <input type='text' + id='<?php echo esc_attr($display_type_name); ?>_return_link_text' + name='<?php echo esc_attr($display_type_name); ?>[return_link_text]' + class='return_link_text' + placeholder='<?php _e('link text'); ?>' + value='<?php echo esc_attr($return_link_text); ?>'/> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_altview_link.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_altview_link.php new file mode 100644 index 000000000..82d608df5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_altview_link.php @@ -0,0 +1,27 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_show_altview_link"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_show_altview_link' class='tooltip'> + <?php echo_h($show_alt_view_link_label); ?> + <span> + <?php echo_h($tooltip); ?> + </span> + </label> + </td> + <td> + <input type="radio" + id='<?php echo esc_attr($display_type_name); ?>_show_altview_link' + name='<?php echo esc_attr($display_type_name); ?>[show_alternative_view_link]' + class='show_altview_link' + value='1' + <?php echo checked(1, intval($show_alternative_view_link)); ?>'> + <label for='<?php echo esc_attr($display_type_name); ?>_show_altview_link'>Yes</label> + + <input type="radio" + id='<?php echo esc_attr($display_type_name); ?>_show_altview_link_no' + name='<?php echo esc_attr($display_type_name); ?>[show_alternative_view_link]' + class='show_altview_link' + value='0' + <?php echo checked(0, $show_alternative_view_link); ?>/> + <label for='<?php echo esc_attr($display_type_name); ?>_show_altview_link_no'>No</label> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_return_link.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_return_link.php new file mode 100644 index 000000000..7cbb716d6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_gallery_display/templates/show_return_link.php @@ -0,0 +1,27 @@ +<tr id='tr_<?php print esc_attr("{$display_type_name}_show_return_link"); ?>' class='<?php print !empty($hidden) ? 'hidden' : ''; ?>'> + <td> + <label for='<?php echo esc_attr($display_type_name); ?>_show_return_link' class="tooltip"> + <?php echo_h($show_return_link_label); ?> + <span> + <?php echo_h($tooltip) ?> + </span> + </label> + </td> + <td> + <input type="radio" + id='<?php echo esc_attr($display_type_name); ?>_show_return_link' + name='<?php echo esc_attr($display_type_name); ?>[show_return_link]' + class='show_return_link' + value='1' + <?php echo checked(1, intval($show_return_link)); ?>'> + <label for='<?php echo esc_attr($display_type_name); ?>_show_return_link'>Yes</label> + + <input type="radio" + id='<?php echo esc_attr($display_type_name); ?>_show_return_link_no' + name='<?php echo esc_attr($display_type_name); ?>[show_return_link]' + class='show_return_link' + value='0' + <?php echo checked(0, $show_return_link); ?>/> + <label for='<?php echo esc_attr($display_type_name); ?>_show_return_link_no'>No</label> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php new file mode 100644 index 000000000..509e4d193 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.image_options_form.php @@ -0,0 +1,230 @@ +<?php + +class A_Image_Options_Form extends Mixin +{ + function get_model() + { + return C_Settings_Model::get_instance(); + } + + function get_title() + { + return 'Image Options'; + } + + /** + * Returns the options available for sorting images + * @return array + */ + function _get_image_sorting_options() + { + return array( + 'Custom' => 'sortorder', + 'Image ID' => 'pid', + 'Filename' => 'filename', + 'Alt/Title Text' => 'alttext', + 'Date/Time' => 'imagedate' + ); + } + + + /** + * Returns the options available for sorting directions + * @return array + */ + function _get_sorting_direction_options() + { + return array( + 'Ascending' => 'ASC', + 'Descending' => 'DESC' + ); + } + + + /** + * Returns the options available for matching related images + */ + function _get_related_image_match_options() + { + return array( + 'Categories' => 'category', + 'Tags' => 'tags' + ); + } + + /** + * Tries to create the gallery storage directory if it doesn't exist + * already + * @return string + */ + function _create_gallery_storage_dir($gallerypath=NULL) + { + $retval = TRUE; + + if (!$gallerypath) $gallerypath = $this->object->get_model()->get('gallerypath'); + $fs = $this->get_registry()->get_utility('I_Fs'); + $gallerypath = $fs->get_abspath($gallerypath); + if (!@file_exists($gallerypath)) { + @mkdir($gallerypath); + $retval = @file_exists($gallerypath); + } + + return $retval; + } + + /* + * Renders the form + */ + function render() + { + if (!$this->object->_create_gallery_storage_dir()) { + $this->object->get_model()->add_error( _('Gallery path does not exist and could not be created'), 'gallerypath'); + } + + $settings = $this->object->get_model(); + return $this->render_partial('photocrati-nextgen_other_options#image_options_tab', array( + 'gallery_path_label' => _('Where would you like galleries stored?'), + 'gallery_path_help' => _('Where galleries and their images are stored'), + 'gallery_path' => $settings->gallerypath, + 'delete_image_files_label' => _('Delete Image Files?'), + 'delete_image_files_help' => _('When enabled, image files will be removed after a Gallery has been deleted'), + 'delete_image_files' => $settings->deleteImg, + 'show_related_images_label' => _('Show Related Images on Posts?'), + 'show_related_images_help' => _('When enabled, related images will be appended to each post by matching the posts tags/categories to image tags'), + 'show_related_images' => $settings->activateTags, + 'related_images_hidden_label' => _('(Show Customization Settings)'), + 'related_images_active_label' => _('(Hide Customization Settings)'), + 'match_related_images_label' => _('How should related images be match?'), + 'match_related_images' => $settings->appendType, + 'match_related_image_options' => $this->object->_get_related_image_match_options(), + 'max_related_images_label' => _('Maximum # of related images to display'), + 'max_related_images' => $settings->maxImages, + 'related_images_heading_label' => _('Heading for related images'), + 'related_images_heading' => $settings->relatedHeading, + 'sorting_order_label' => _("What's the default sorting method?"), + 'sorting_order_options' => $this->object->_get_image_sorting_options(), + 'sorting_order' => $settings->galSort, + 'sorting_direction_label' => _('Sort in what direction?'), + 'sorting_direction_options' => $this->object->_get_sorting_direction_options(), + 'sorting_direction' => $settings->galSortDir, + 'automatic_resize_label' => 'Automatically resize images after upload', + 'automatic_resize_help' => 'It is recommended that your images be resized to be web friendly', + 'automatic_resize' => $settings->imgAutoResize, + 'resize_images_label' => _('What should images be resized to?'), + 'resize_images_help' => _('After images are uploaded, they will be resized to the above dimensions and quality'), + 'resized_image_width_label' => _('Width:'), + 'resized_image_height_label' => _('Height:'), + 'resized_image_quality_label' => _('Quality:'), + 'resized_image_width' => $settings->imgWidth, + 'resized_image_height' => $settings->imgHeight, + 'resized_image_quality' => $settings->imgQuality, + 'backup_images_label' => _('Backup the original images?'), + 'backup_images_yes_label' => _('Yes'), + 'backup_images_no_label' => _('No'), + 'backup_images' => $settings->imgBackup + + ), TRUE); + } + + function save_action($image_options) + { + $save = TRUE; + if (($image_options)) { + + // Update the gallery path. Moves all images to the new location + if (isset($image_options['gallerypath']) && (!is_multisite() || get_current_blog_id() == 1)) { + $fs = $this->get_registry()->get_utility('I_Fs'); + $original_dir = $fs->get_abspath($this->object->get_model()->get('gallerypath')); + $new_dir = $fs->get_abspath($image_options['gallerypath']); + $image_options['gallerypath'] = $fs->add_trailing_slash($image_options['gallerypath']); + + // Note: the below file move is disabled because it's quite unreliable as it doesn't perform any checks + // For instance changing gallery path from /wp-content to /wp-content/gallery would attempt a recursive copy and then delete ALL files under wp-content, which would be disastreus +# // If the gallery path has changed... +# if ($original_dir != $new_dir) { + +# // Try creating the new directory +# if ($this->object->_create_gallery_storage_dir($new_dir) AND is_writable($new_dir)) { + +# // Try moving files +# $this->object->recursive_copy($original_dir, $new_dir); +# $this->object->recursive_delete($original_dir); + +# // Update gallery paths +# $mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); +# foreach ($mapper->find_all() as $gallery) { +# $gallery->path = $image_options['gallerypath'] . $gallery->name; +# $mapper->save($gallery); +# } +# } +# else { +# $this->get_model()->add_error("Unable to change gallery path. Insufficient filesystem permissions"); +# $save = FALSE; +# } +# } + } + elseif (isset($image_options['gallerypath'])) { + unset($image_options['gallerypath']); + } + + // Update image options + if ($save) $this->object->get_model()->set($image_options)->save(); + } + } + + /** + * Copies one directory to another + * @param string $src + * @param string $dst + * @return boolean + */ + function recursive_copy($src, $dst) + { + $retval = TRUE; + $dir = opendir($src); + @mkdir($dst); + while(false !== ( $file = readdir($dir)) ) { + if (( $file != '.' ) && ( $file != '..' )) { + if ( is_dir($src . '/' . $file) ) { + if (!$this->object->recursive_copy($src . '/' . $file,$dst . '/' . $file)) { + $retval = FALSE; + break; + } + } + else { + if (!copy($src . '/' . $file,$dst . '/' . $file)) { + $retval = FALSE; + break; + } + } + } + } + closedir($dir); + return $retval; + } + + /** + * Deletes all files within a particular directory + * @param string $dir + * @return boolean + */ + function recursive_delete($dir) + { + $retval = FALSE; + $fp = opendir($dir); + while(false !== ( $file = readdir($fp)) ) { + if (( $file != '.' ) && ( $file != '..' )) { + $file = $dir.'/'.$file; + if ( is_dir($file) ) { + $retval = $this->object->recursive_delete($file); + } + else { + $retval = unlink($file); + } + } + } + closedir($fp); + @rmdir($dir); + return $retval; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php new file mode 100644 index 000000000..c8e21908c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.lightbox_manager_form.php @@ -0,0 +1,98 @@ +<?php + +class A_Lightbox_Manager_Form extends Mixin +{ + function get_model() + { + return C_Settings_Model::get_instance(); + } + + function get_title() + { + return 'Lightbox Effects'; + } + + function render() + { + $form_manager = C_Form_Manager::get_instance(); + $mapper = $this->object->get_registry()->get_utility('I_Lightbox_Library_Mapper'); + + // retrieve and render the settings forms for each library + $sub_fields = array(); + $advanced_fields = array(); + + foreach ($form_manager->get_forms(NEXTGEN_LIGHTBOX_OPTIONS_SLUG, TRUE) as $form) { + $form->enqueue_static_resources(); + $sub_fields[$form->context] = $form->render(FALSE); + } + + foreach ($form_manager->get_forms(NEXTGEN_LIGHTBOX_ADVANCED_OPTIONS_SLUG, TRUE) as $form) { + $form->enqueue_static_resources(); + $advanced_fields[$form->context] = $form->render(FALSE); + } + + // Render container tab + return $this->render_partial( + 'photocrati-nextgen_other_options#lightbox_library_tab', + array( + 'lightbox_library_label' => _('What effect would you like to use?'), + 'libs' => $mapper->find_all(), + 'id_field' => $mapper->get_primary_key_column(), + 'selected' => $this->object->get_model()->thumbEffect, + 'sub_fields' => $sub_fields, + 'adv_fields' => $advanced_fields + ), + TRUE + ); + } + + function save_action() + { + // Ensure that a lightbox library was selected + if (($id = $this->object->param('lightbox_library_id'))) + { + $settings = $this->object->get_model(); + + // Get the lightbox library mapper and find the library selected + $mapper = $this->object->get_registry()->get_utility('I_Lightbox_Library_Mapper'); + $library = $mapper->find($id, TRUE); + + // If a valid library, we have updated settings from the user, then + // try saving the changes + if ($library) + { + if (($params = $this->object->param($library->name))) { + // bind our new values, use display_settings if it isn't a part of the core library + foreach ($params as $k => $v) { + if (isset($library->$k)) { + $library->$k = $v; + } + else { + $library->display_settings[$k] = $v; + } + + } + + $mapper->save($library); + } + + // If the requested changes weren't valid, add the validation + // errors to the C_NextGen_Settings object + if ($settings->is_invalid()) + { + foreach ($library->get_errors() as $property => $errs) { + foreach ($errs as $error) { + $settings->add_error($error, $property); + } + } + } + // The lightbox library update was successful. Update C_NextGen_Settings + else { + $settings->thumbEffect = $library->name; + $settings->thumbCode = $library->code; + $settings->save(); + } + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php new file mode 100644 index 000000000..98d5cb232 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.miscellaneous_form.php @@ -0,0 +1,78 @@ +<?php + +class A_Miscellaneous_Form extends Mixin +{ + function get_model() + { + return C_Settings_Model::get_instance('global'); + } + + function get_title() + { + return 'Miscellaneous'; + } + + function render() + { + return $this->object->render_partial( + 'photocrati-nextgen_other_options#misc_tab', + array( + 'mediarss_activated' => C_NextGen_Settings::get_instance()->useMediaRSS, + 'mediarss_activated_label' => _('Add MediaRSS link?'), + 'mediarss_activated_help' => _('When enabled, adds a MediaRSS link to your header. Third-party web services can use this to publish your galleries'), + 'mediarss_activated_no' => _('No'), + 'mediarss_activated_yes' => _('Yes'), + + 'cache_label' => _('Clear image cache'), + 'cache_confirmation' => _("Completely clear the NextGEN cache of all image modifications?\n\nChoose [Cancel] to Stop, [OK] to proceed."), + + 'slug_field' => $this->_render_text_field( + (object)array('name' => 'misc_settings'), + 'router_param_slug', + 'Permalink slug', + $this->object->get_model()->router_param_slug + ), + + 'maximum_entity_count_field' => $this->_render_number_field( + (object)array('name' => 'misc_settings'), + 'maximum_entity_count', + 'Maximum image count', + $this->object->get_model()->maximum_entity_count, + 'This is the maximum limit of images that NextGEN will restrict itself to querying', + FALSE, + '', + 1 + ) + ), + TRUE + ); + } + + function cache_action() + { + $cache = $this->get_registry()->get_utility('I_Cache'); + $cache->flush_galleries(); + C_Photocrati_Cache::flush(); + C_Photocrati_Cache::flush('displayed_galleries'); + } + + function save_action() + { + if (($settings = $this->object->param('misc_settings'))) + { + // The Media RSS setting is actually a local setting, not a global one + $local_settings = C_NextGen_Settings::get_instance(); + $local_settings->set('useMediaRSS', $settings['useMediaRSS']); + unset($settings['useMediaRSS']); + + // If the router slug has changed, then flush the cache + if ($settings['router_param_slug'] != $this->object->get_model()->router_param_slug) { + C_Photocrati_Cache::flush(); + } + + // Save both setting groups + $this->object->get_model()->set($settings)->save(); + $local_settings->save(); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php new file mode 100644 index 000000000..eeb517969 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_controller.php @@ -0,0 +1,29 @@ +<?php + +class A_Other_Options_Controller extends Mixin +{ + function enqueue_backend_resources() + { + $this->call_parent('enqueue_backend_resources'); + wp_enqueue_script( + 'nextgen_settings_page', + $this->get_static_url('photocrati-nextgen_other_options#nextgen_settings_page.js'), + array('jquery-ui-accordion', 'jquery-ui-tooltip', 'wp-color-picker') + ); + + wp_enqueue_style( + 'nextgen_settings_page', + $this->get_static_url('photocrati-nextgen_other_options#nextgen_settings_page.css') + ); + } + + function get_page_title() + { + return 'Other Options'; + } + + function get_required_permission() + { + return 'NextGEN Change options'; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_forms.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_forms.php new file mode 100644 index 000000000..44d8c8b38 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_forms.php @@ -0,0 +1,42 @@ +<?php + +class A_Other_Options_Forms extends Mixin +{ + function initialize() + { + $forms = array( + 'image_options' => 'A_Image_Options_Form', + 'thumbnail_options' => 'A_Thumbnail_Options_Form', + 'lightbox_effects' => 'A_Lightbox_Manager_Form', + 'watermarks' => 'A_Watermarks_Form' + ); + + if (!is_multisite() || (is_multisite() && C_NextGen_Settings::get_instance()->get('wpmuStyle'))) + $forms['styles'] = 'A_Styles_Form'; + + if (is_super_admin() && (!is_multisite() || (is_multisite() && C_NextGen_Settings::get_instance()->get('wpmuRoles')))) + $forms['roles_and_capabilities'] = 'A_Roles_Form'; + + $forms += array( + 'image_options' => 'A_Image_Options_Form', + 'thumbnail_options' => 'A_Thumbnail_Options_Form', + 'lightbox_effects' => 'A_Lightbox_Manager_Form', + 'watermarks' => 'A_Watermarks_Form', + 'styles' => 'A_Styles_Form', + 'roles_and_capabilities'=> 'A_Roles_Form', + 'miscellaneous' => 'A_Miscellaneous_Form' + ); + + $registry = $this->object->get_registry(); + + foreach ($forms as $form => $adapter) { + $registry->add_adapter('I_Form', $adapter, $form); + + $this->object->add_form( + NEXTGEN_OTHER_OPTIONS_SLUG, + $form + ); + } + + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_page.php new file mode 100644 index 000000000..a2c5b0100 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.other_options_page.php @@ -0,0 +1,13 @@ +<?php + +class A_Other_Options_Page extends Mixin +{ + function initialize() + { + $this->object->add( + NEXTGEN_OTHER_OPTIONS_SLUG, + 'A_Other_Options_Controller', + NGGFOLDER + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php new file mode 100644 index 000000000..4385692bc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.reset_form.php @@ -0,0 +1,59 @@ +<?php + +class A_Reset_Form extends Mixin +{ + function get_title() + { + return 'Reset Options'; + } + + function render() + { + return $this->object->render_partial( + 'photocrati-nextgen_other_options#reset_tab', + array( + 'reset_value' => _('Reset all options to default settings'), + 'reset_warning' => _('Replace all existing options and gallery options with their default settings'), + 'reset_label' => _('Reset settings'), + 'reset_confirmation' => _("Reset all options to default settings?\n\nChoose [Cancel] to Stop, [OK] to proceed.") + // 'uninstall_label' => _('Deactivate & Uninstall'), + // 'uninstall_confirmation'=>_("Completely uninstall NextGEN Gallery (will reset settings and de-activate)?\n\nChoose [Cancel] to Stop, [OK] to proceed."), + ), + TRUE + ); + } + + function reset_action() + { + global $wpdb; + + $installer = C_Photocrati_Installer::get_instance(); + $settings = C_NextGen_Settings::get_instance(); + + // removes lightbox, display type, and source settings + $installer->uninstall(NEXTGEN_GALLERY_PLUGIN_BASENAME); + + // removes ngg_options entry in wp_options + $settings->destroy(); + $settings->save(); + + // TODO: remove this sometime after 2.0.21 + // + // Some installations of NextGen that upgraded from 1.9x to 2.0x have duplicate display types installed, + // so for now (as of 2.0.21) we explicitly remove all display types from the db as a way of fixing this + $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->posts} WHERE post_type = %s", 'display_type')); + + // trigger the install routine + $installer->update(TRUE); + } + + /* + function uninstall_action() + { + $installer = C_Photocrati_Installer::get_instance(); + $installer->uninstall(NEXTGEN_GALLERY_PLUGIN_BASENAME, TRUE); + deactivate_plugins(NEXTGEN_GALLERY_PLUGIN_BASENAME); + wp_redirect(admin_url('/plugins.php')); + } + */ +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php new file mode 100644 index 000000000..a5bfab8a0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.roles_form.php @@ -0,0 +1,22 @@ +<?php + +class A_Roles_Form extends Mixin +{ + function get_title() + { + return 'Roles & Capabilities'; + } + + function render() + { + $view = path_join(NGGALLERY_ABSPATH, implode(DIRECTORY_SEPARATOR, array( + 'admin', 'roles.php' + ))); + include_once ( $view ); + ob_start(); + nggallery_admin_roles(); + $retval = ob_get_contents(); + ob_end_clean(); + return $retval; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php new file mode 100644 index 000000000..f91b5ca7d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.styles_form.php @@ -0,0 +1,45 @@ +<?php + +class A_Styles_Form extends Mixin +{ + function get_model() + { + return C_Settings_Model::get_instance(); + } + + function get_title() + { + return 'Styles'; + } + + function render() + { + return $this->object->render_partial('photocrati-nextgen_other_options#styling_tab', array( + 'select_stylesheet_label' => 'What stylesheet would you like to use?', + 'stylesheets' => C_NextGen_Style_Manager::get_instance()->find_all_stylesheets(), + 'activated_stylesheet' => $this->object->get_model()->CSSfile, + 'hidden_label' => _('(Show Customization Options)'), + 'active_label' => _('(Hide Customization Options)'), + 'cssfile_contents_label' => _('File Content:'), + 'writable_label' => _('Changes you make to the contents will be saved to'), + 'readonly_label' => _('You could edit this file if it were writable') + ), TRUE); + } + + function save_action() + { + // Ensure that we have + if (($settings = $this->object->param('style_settings'))) { + $this->object->get_model()->set($settings)->save(); + + // Are we to modify the CSS file? + if (($contents = $this->object->param('cssfile_contents'))) { + + // Find filename + $css_file = $settings['CSSfile']; + $styles = C_NextGen_Style_Manager::get_instance(); + $styles->save($contents, $css_file); + } + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.stylesheet_ajax_actions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.stylesheet_ajax_actions.php new file mode 100644 index 000000000..83a0e931b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.stylesheet_ajax_actions.php @@ -0,0 +1,49 @@ +<?php + +/** + * Registers new AJAX functions for retrieving/updating + * the contents of CSS stylesheets + */ +class A_Stylesheet_Ajax_Actions extends Mixin +{ + /** + * Retrieves the contents of the CSS stylesheet specified + */ + function get_stylesheet_contents_action() + { + $retval = array(); + + if ($this->object->_authorized_for_stylesheet_action()) { + + $styles = C_NextGen_Style_Manager::get_instance(); + $abspath = $styles->find_selected_stylesheet_abspath($this->object->param('cssfile')); + $writepath = $styles->get_selected_stylesheet_saved_abspath($this->object->param('cssfile')); + if (is_readable($abspath)) { + $retval['contents'] = file_get_contents($abspath); + $retval['writable'] = is_writable($abspath); + $retval['abspath'] = $abspath; + $retval['writepath']= $writepath; + } + else $retval['error'] = "Could not find stylesheet"; + } + else { + $retval['error'] = 'Unauthorized'; + } + + return $retval; + + } + + + /** + * Determines if the request is authorized + * @return boolean + */ + function _authorized_for_stylesheet_action() + { + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + + return $sec_actor->is_allowed('nextgen_edit_style'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php new file mode 100644 index 000000000..e61a07577 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.thumbnail_options_form.php @@ -0,0 +1,42 @@ +<?php + +class A_Thumbnail_Options_Form extends Mixin +{ + function get_model() + { + return C_Settings_Model::get_instance(); + } + + function get_title() + { + return 'Thumbnail Options'; + } + + function render() + { + $settings = $this->object->get_model(); + + return $this->render_partial('photocrati-nextgen_other_options#thumbnail_options_tab', array( + 'thumbnail_dimensions_label' => _('Default thumbnail dimensions:'), + 'thumbnail_dimensions_help' => _('When generating thumbnails, what image dimensions do you desire?'), + 'thumbnail_dimensions_width' => $settings->thumbwidth, + 'thumbnail_dimensions_height' => $settings->thumbheight, + 'thumbnail_crop_label' => _('Set fix dimension?'), + 'thumbnail_crop_help' => _('Ignore the aspect ratio, no portrait thumbnails?'), + 'thumbnail_crop' => $settings->thumbfix, + 'thumbnail_quality_label' => _('Adjust Thumbnail Quality?'), + 'thumbnail_quality_help' => _('When generating thumbnails, what image quality do you desire?'), + 'thumbnail_quality' => $settings->thumbquality, + 'size_list_label' => _('Size List'), + 'size_list_help' => _('List of default sizes used for thumbnails and images'), + 'size_list' => $settings->thumbnail_dimensions, + ), TRUE); + } + + function save_action() + { + if (($settings = $this->object->param('thumbnail_settings'))) { + $this->object->get_model()->set($settings)->save(); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarking_ajax_actions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarking_ajax_actions.php new file mode 100644 index 000000000..ae793c42e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarking_ajax_actions.php @@ -0,0 +1,44 @@ +<?php + +class A_Watermarking_Ajax_Actions extends Mixin +{ + /** + * Gets the new watermark preview url based on the new settings + * @return array + */ + function get_watermark_preview_url_action() + { + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $sec_actor = $security->get_current_actor(); + + if ($sec_actor->is_allowed('nextgen_edit_settings')) { + $settings = C_NextGen_Settings::get_instance(); + $imagegen = $this->get_registry()->get_utility('I_Dynamic_Thumbnails_Manager'); + $mapper = $this->get_registry()->get_utility('I_Image_Mapper'); + $image = $mapper->find_first(); + $storage = $this->object->get_registry()->get_utility('I_Gallery_Storage'); + $sizeinfo = array( + 'quality' => 100, + 'height' => 250, + 'crop' => FALSE, + 'watermark' => TRUE + ); + $size = $imagegen->get_size_name($sizeinfo); + $thumbnail_url = $storage->get_image_url($image, $size); + + // Temporarily update the watermark options. Generate a new image based + // on these settings + if (($watermark_options = $this->param('watermark_options'))) { + $watermark_options['wmFont'] = trim($watermark_options['wmFont']); + $settings->set($watermark_options); + $storage->generate_image_size($image, $size); + $thumbnail_url = $storage->get_image_url($image, $size); + $settings->load(); + } + + return array('thumbnail_url' => $thumbnail_url); + } + + return null; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php new file mode 100644 index 000000000..1df3d16aa --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/adapter.watermarks_form.php @@ -0,0 +1,135 @@ +<?php + +class A_Watermarks_Form extends Mixin +{ + function get_model() + { + return C_Settings_Model::get_instance(); + } + + function get_title() + { + return 'Watermarks'; + } + + /** + * Gets all fonts installed for watermarking + * @return array + */ + function _get_watermark_fonts() + { + $retval = array(); + foreach (scandir(path_join(NGGALLERY_ABSPATH, 'fonts')) as $filename) { + if (strpos($filename, '.') === 0) continue; + else $retval[] = $filename; + } + return $retval; + } + + /** + * Gets watermark sources, along with their respective fields + * @return array + */ + function _get_watermark_sources() + { + // We do this so that an adapter can add new sources + return array( + 'Using an Image' => 'image', + 'Using Text' => 'text', + ); + } + + /** + * Renders the fields for a watermark source (image, text) + * @return string + */ + function _get_watermark_source_fields() + { + $retval = array(); + foreach ($this->object->_get_watermark_sources() as $label => $value) { + $method = "_render_watermark_{$value}_fields"; + if ($this->object->has_method($method)) { + $retval[$value] = $this->object->call_method($method); + } + } + return $retval; + } + + /** + * Render fields that are needed when 'image' is selected as a watermark + * source + * @return string + */ + function _render_watermark_image_fields() + { + return $this->object->render_partial('photocrati-nextgen_other_options#watermark_image_fields', array( + 'image_url_label' => _('Image URL:'), + 'watermark_image_url' => $this->object->get_model()->wmPath, + ), TRUE); + } + + /** + * Render fields that are needed when 'text is selected as a watermark + * source + * @return string + */ + function _render_watermark_text_fields() + { + $settings = $this->object->get_model(); + return $this->object->render_partial('photocrati-nextgen_other_options#watermark_text_fields', array( + 'fonts' => $this->object->_get_watermark_fonts($settings), + 'font_family_label' => _('Font Family:'), + 'font_family' => $settings->wmFont, + 'font_size_label' => _('Font Size:'), + 'font_size' => $settings->wmSize, + 'font_color_label' => _('Font Color:'), + 'font_color' => strpos($settings->wmColor, '#') === 0 ? + $settings->wmColor : "#{$settings->wmColor}", + 'watermark_text_label' => _('Text:'), + 'watermark_text' => $settings->wmText, + 'opacity_label' => _('Opacity:'), + 'opacity' => $settings->wmOpaque, + ), TRUE); + } + + function render() + { + $settings = $this->get_model(); + $registry = $this->object->get_registry(); + $storage = $registry->get_utility('I_Gallery_Storage'); + $image = $registry->get_utility('I_Image_Mapper')->find_first(); + $imagegen = $registry->get_utility('I_Dynamic_Thumbnails_Manager'); + $size = $imagegen->get_size_name(array( + 'height' => 250, + 'crop' => FALSE, + 'watermark' => TRUE + )); + $thumb_url = $image ? $storage->get_image_url($image, $size) : NULL; + + return $this->render_partial('photocrati-nextgen_other_options#watermarks_tab', array( + 'notice' => _('Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone.'), + 'watermark_source_label' => _('How will you generate a watermark?'), + 'watermark_sources' => $this->object->_get_watermark_sources(), + 'watermark_fields' => $this->object->_get_watermark_source_fields($settings), + 'watermark_source' => $settings->wmType, + 'position_label' => _('Position:'), + 'position' => $settings->wmPos, + 'offset_label' => _('Offset:'), + 'offset_x' => $settings->wmXpos, + 'offset_y' => $settings->wmYpos, + 'hidden_label' => _('(Show Customization Options)'), + 'active_label' => _('(Hide Customization Options)'), + 'thumbnail_url' => $thumb_url, + 'preview_label' => _('Preview of saved settings:'), + 'refresh_label' => _('Refresh preview image'), + 'refresh_url' => $settings->ajax_url + ), TRUE); + } + + function save_action() + { + if (($settings = $this->object->param('watermark_options'))) { + $this->object->get_model()->set($settings)->save(); + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/class.settings_model.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/class.settings_model.php new file mode 100644 index 000000000..478a7eb6b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/class.settings_model.php @@ -0,0 +1,55 @@ +<?php + +class C_Settings_Model extends C_Component +{ + /** + * @var C_NextGen_Settings_Base + */ + var $wrapper = NULL; + + static $_instances = array(); + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass; + } + return self::$_instances[$context]; + } + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Validation'); + if ($this->has_context('global') OR $this->has_context('site')) { + $this->wrapper = C_NextGen_Settings::get_instance(); + } + else $this->wrapper = C_NextGen_Settings::get_instance(); + } + + function __get($key) + { + return $this->wrapper->get($key); + } + + function __set($key, $value) + { + $this->wrapper->set($key, $value); + return $this; + } + + function __isset($key) + { + return $this->wrapper->is_set($key); + } + + function __call($method, $args) + { + if (!$this->get_mixin_providing($method)) { + return call_user_func_array(array(&$this->wrapper, $method), $args); + } + else + return parent::__call($method, $args); + + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php new file mode 100644 index 000000000..568a1ed21 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/module.nextgen_other_options.php @@ -0,0 +1,89 @@ +<?php +/* +{ + Module: photocrati-nextgen_other_options, + Depends: { photocrati-nextgen_admin } +} + */ + +define('NEXTGEN_OTHER_OPTIONS_SLUG', 'ngg_other_options'); + +class M_NextGen_Other_Options extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_other_options', + 'Other Options', + 'NextGEN Gallery Others Options Page', + '0.4', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_hooks() + { + add_action('admin_bar_menu', array(&$this, 'add_admin_bar_menu'), 101); + } + + function add_admin_bar_menu() + { + global $wp_admin_bar; + + if ( current_user_can('NextGEN Change options') ) { + $wp_admin_bar->add_menu(array( + 'parent' => 'ngg-menu', + 'id' => 'ngg-menu-other_options', + 'title' => __('Other Options', 'nggallery'), + 'href' => admin_url('admin.php?page=ngg_other_options') + )); + } + } + + function _register_adapters() + { + $this->get_registry()->add_adapter( + 'I_Page_Manager', + 'A_Other_Options_Page' + ); + + $this->get_registry()->add_adapter( + 'I_Form_Manager', + 'A_Other_Options_Forms' + ); + + $this->get_registry()->add_adapter( + 'I_Ajax_Controller', + 'A_Watermarking_Ajax_Actions' + ); + + $this->get_registry()->add_adapter( + 'I_Ajax_Controller', + 'A_Stylesheet_Ajax_Actions' + ); + } + + function get_type_list() + { + return array( + 'A_Image_Options_Form' => 'adapter.image_options_form.php', + 'A_Lightbox_Manager_Form' => 'adapter.lightbox_manager_form.php', + 'A_Miscellaneous_Form' => 'adapter.miscellaneous_form.php', + 'A_Other_Options_Controller' => 'adapter.other_options_controller.php', + 'A_Other_Options_Forms' => 'adapter.other_options_forms.php', + 'A_Other_Options_Page' => 'adapter.other_options_page.php', + 'A_Reset_Form' => 'adapter.reset_form.php', + 'A_Roles_Form' => 'adapter.roles_form.php', + 'A_Styles_Form' => 'adapter.styles_form.php', + 'A_Thumbnail_Options_Form' => 'adapter.thumbnail_options_form.php', + 'A_Watermarking_Ajax_Actions' => 'adapter.watermarking_ajax_actions.php', + 'A_Watermarks_Form' => 'adapter.watermarks_form.php', + 'A_Stylesheet_Ajax_Actions' => 'adapter.stylesheet_ajax_actions.php', + 'C_Settings_Model' => 'class.settings_model.php' + ); + } +} + +new M_NextGen_Other_Options; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css new file mode 100644 index 000000000..f76de6383 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.css @@ -0,0 +1,115 @@ +.gallery_page_ngg_other_options table { + width: 80%; + height: 100%; +} +.gallery_page_ngg_other_options table tr td:first-child { + vertical-align: top; +} +.gallery_page_ngg_other_options table.image_options { + width: 100%; +} + +.gallery_page_ngg_other_options table td.column1 { + width: 240px; +} +.gallery_page_ngg_other_options table td.column2 { + width: 200px; +} +.gallery_page_ngg_other_options .image_options label { + position: relative; + bottom: 2px; +} + +.gallery_page_ngg_other_options textarea { + height: 100px; +} + +.gallery_page_ngg_other_options textarea, +.gallery_page_ngg_other_options input[type=text] { + width: 100%; +} + +.gallery_page_ngg_other_options .image_options td{ + padding-bottom: 8px; +} + +.column_wrapper { + width: 100%; + padding-right: 7px; +} + +#max_related_images { + width: auto; +} + +#image_width, +#image_height{ + width: 40px; +} + +#thumbnail_dimensions_width, +#thumbnail_dimensions_height{ + width: 100px; +} +.nextgen-thumb-size-custom br { +display:none; +} + +.gallery_page_ngg_other_options select.thumbnail_dimensions { + width: 300px; +} + +.description_row{ + position: relative; +} +.description_row .description { + width: auto; + position: absolute; + margin-top: -10px; + margin-bottom: 5px; + z-index: 10; +} + +.full-width { + width: 100%; +} + +.right-aligned { + text-align: right; +} +label.align-to-top, +td.align-to-top { + vertical-align: top +} + +#lightbox_library_advanced_settings td { + text-align: right; +} + +#cssfile_contents { + background: #F9F9F9; + font-family: Consolas,Monaco,monospace; + font-size: 12px; + width: 100%; + height: 300px; + outline: 0; +} + +#writable_identicator { + display: inline; +} + +.entity_errors { + color: red; +} + +.entity_errors ul { + margin-left: 30px; +} +.entity_errors ul li{ + list-style-type: disc; +} + +#nextgen_settings_preview_refresh { + display: block; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.js new file mode 100644 index 000000000..19797414e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/static/nextgen_settings_page.js @@ -0,0 +1,120 @@ +jQuery(function($){ + + $('select.select2').select2(); + $('label.tooltip, span.tooltip').tooltip(); + + /**** LIGHTBOX EFFECT TAB ****/ + + $('tbody#lightbox_library_' + $('#lightbox_library').find(':selected').data('library-name') + '_basic').removeClass('hidden'); + + // Only show the currently selected library; hide the rest + $('#lightbox_library').change(function() { + var name = $(this).find(':selected').data('library-name'); + if ($('#lightbox_library_advanced_toggle').data('currently-hidden') == false) { + $('tbody.lightbox_library_advanced_settings').addClass('hidden'); + $('tbody#lightbox_library_' + name + '_advanced').removeClass('hidden'); + } + + $('tbody.lightbox_library_settings').addClass('hidden'); + $('tbody#lightbox_library_' + name + '_basic').removeClass('hidden'); + + }).change(); + + // "Show Advanced Settings" toggle; only display the currently selected library + $('#lightbox_library_advanced_toggle').bind('click', function(event) { + event.preventDefault(); + if ($(this).data('currently-hidden') == true) { + var name = $('#lightbox_library').find(':selected').data('library-name'); + $('tbody#lightbox_library_' + name + '_advanced').removeClass('hidden'); + $(this).data('currently-hidden', false); + + } else if($(this).data('currently-hidden') == false) { + $('tbody.lightbox_library_advanced_settings').addClass('hidden'); + $(this).data('currently-hidden', true); + } + }); + + /**** WATERMARK TAB ****/ + + // Configure the watermark customization link + $('#watermark_customization').attr('rel', 'watermark_'+$('#watermark_source').val()+'_source'); + + // Configure the button to switch from watermark text to image + $('#watermark_source').change(function(){ + $('#'+$('#watermark_customization').attr('rel')).css('display', '').addClass('hidden'); + if (!$('#'+$(this).val()).hasClass('hidden')) { + $('#'+$(this).val()).removeClass('hidden'); + } + $('#watermark_customization').attr('rel', 'watermark_'+$('#watermark_source').val()+'_source').click(); + }); + + // Don't show any Watermark fields unless Watermarks are enabled + $('#watermark_source').change(function(){ + var value = $(this).val(); + + $('.watermark_field').each(function(){ + if (value == 0) { + $(this).fadeOut().addClass('hidden'); + } + else { + $(this).fadeIn().removeClass('hidden'); + } + }); + }).change(); + + + // sends the current settings to a special ajax endpoint which saves them, regenerates the url, and then reverts + // to the old settings. this submits the form and forces a refresh of the image through the time parameter + $('#nextgen_settings_preview_refresh').click(function(event) { + event.preventDefault(); + + var form = $(this).parents('form:first'); + var self = $(this); + var orig_html = $(self).html(); + + $(self).attr('disabled', 'disabled').html('Processing...'); + $('body').css('cursor', 'wait'); + + $.ajax({ + type: form.attr('method'), + url: $(this).data('refresh-url'), + data: form.serialize()+"&action=get_watermark_preview_url", + dataType: 'json', + success: function(data) { + var img = self.prev(); + var src = data.thumbnail_url; + queryPos = src.indexOf('?'); + if (queryPos != -1) { + src = src.substring(0, queryPos); + } + + img.attr('src', src + '?' + new Date().getTime()); + $(self).removeAttr('disabled').html(orig_html); + $('body').css('cursor', 'default'); + }, + error: function(xob, err, code) { + $(self).removeAttr('disabled').html(orig_html); + $('body').css('cursor', 'default'); + } + }); + + return false; + }); + /**** STYLES TAB ****/ + + // When the selected stylesheet changes, fetch it's contents + $('#activated_stylesheet').change(function(){ + var selected = $(this).find(':selected'); + var data = { + action: 'get_stylesheet_contents', + cssfile: selected.val() + }; + $.post(photocrati_ajax.url, data, function(res) { + if (typeof res !== 'object') res = JSON.parse(res); + $('#cssfile_contents').val(res.error ? res.error : res.contents); + var status = $('#writable_identicator'); + if (res.writable) status.text(status.attr('writable_label')+' '+res.writepath); + else status.text(status.attr('readonly_label')); + }); + }).change(); +}); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php new file mode 100644 index 000000000..a47ba5522 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/image_options_tab.php @@ -0,0 +1,258 @@ +<table class="image_options"> + <?php + if (!is_multisite() || get_current_blog_id() == 1) { + ?> + <tr> + <td class="column1"> + <label for="gallery_path"> + <?php echo_h($gallery_path_label)?> + </label> + </td> + <td colspan="2"> + <input + id="gallery_path" + type="text" + name="image_options[gallerypath]" + data-original-value='<?php echo esc_attr($gallery_path); ?>' + value="<?php echo esc_attr($gallery_path) ?>" + /> + <p class="description"> + <?php echo_h($gallery_path_help)?> + </p> + </td> + </tr> + <?php + } + ?> + <tr> + <td> + <label for="delete_images"> + <?php echo_h($delete_image_files_label) ?> + </label> + </td> + <td colspan="2"> + <p class="description"> + <input type="radio" + id="delete_images" + name="image_options[deleteImg]" + value="1" + <?php checked(1, $delete_image_files); ?>/> + <label for="delete_images"><?php _e('Yes'); ?></label> + + <input type="radio" + id="delete_images_no" + name="image_options[deleteImg]" + value="0" + <?php checked(0, $delete_image_files); ?>/> + <label for="delete_images_no"><?php _e('No'); ?></label> + <?php echo_h($delete_image_files_help); ?> + </p> + </td> + </tr> + <tr> + <td> + <label for="automatic_resize"> + <?php echo_h($automatic_resize_label)?> + </label> + </td> + <td colspan="2"> + <p class="description"> + <input type="radio" + id="automatic_resize" + name="image_options[imgAutoResize]" + value="1" + <?php checked(1, $automatic_resize ? 1 : 0); ?>/> + <label for="automatic_resize"><?php _e('Yes'); ?></label> + + <input type="radio" + id="automatic_resize_no" + name="image_options[imgAutoResize]" + value="0" + <?php checked(0, $automatic_resize ? 1 : 0); ?>/> + <label for="automatic_resize_no"><?php _e('No'); ?></label> + <?php echo_h($automatic_resize_help); ?> + </p> + </td> + </tr> + <tr> + <td> + <label for="resize_images"> + <?php echo_h($resize_images_label) ?> + </label> + </td> + <td class="column2"> + <label for="image_width"><?php echo_h($resized_image_width_label)?></label> + <input + type="text" + id="image_width" + maxlength="4" + name="image_options[imgWidth]" + value="<?php echo esc_attr($resized_image_width) ?>" + /> + <label for="image_height"><?php echo_h($resized_image_height_label)?></label> + <input + type="text" + id="image_height" + maxlength="4" + name="image_options[imgHeight]" + value="<?php echo esc_attr($resized_image_height) ?>" + /> + </td> + <td> + <div class="column_wrapper"> + <label for="image_quality"><?php echo_h($resized_image_quality_label)?></label> + <select id="image_quality" name="image_options[imgQuality]"> + <?php for($i=100; $i>50; $i--): ?> + <option + <?php selected($i, $resized_image_quality) ?> + value="<?php echo_h($i)?>"><?php echo_h($i) ?>%</option> + <?php endfor ?> + </select> + </div> + </td> + </tr> + <tr class="description_row"> + <td class="column1"></td> + <td colspan="2"> + <p class="description"><?php echo_h($resize_images_help) ?></p> + </td> + </tr> + <tr> + <td> + <label for="backup_images"> + <?php echo_h($backup_images_label)?> + </label> + </td> + <td colspan="2"> + <label for="backup_images_yes"> + <?php echo_h($backup_images_yes_label)?> + </label> + <input + id="backup_images_yes" + name="image_options[imgBackup]" + value="1" + type="radio" + <?php checked(1, $backup_images ? 1 : 0)?> + /> + + <label for="backup_images_no"> + <?php echo_h($backup_images_no_label)?> + </label> + <input + id="backup_images_no" + name="image_options[imgBackup]" + value="0" + type="radio" + <?php checked(0, $backup_images ? 1 : 0)?> + /> + </td> + </tr> + <tr id="sorting_options_row"> + <td class="column1"> + <label for="image_sorting_order"> + <?php echo_h($sorting_order_label) ?> + </label> + </td> + <td> + <select name="image_options[galSort]" id="image_sorting_order"> + <?php foreach ($sorting_order_options as $label => $value): ?> + <option value="<?php echo esc_attr($value) ?>" <?php selected($value, $sorting_order)?>> + <?php echo_h($label) ?> + </option> + <?php endforeach ?> + </select> + </td> + <td class="column3"> + <label for="image_sorting_direction"> + <?php echo_h($sorting_direction_label) ?> + </label> + <select name="image_options[galSortDir]" id="image_sorting_direction"> + <?php foreach ($sorting_direction_options as $label => $value): ?> + <option value="<?php echo esc_attr($value) ?>" <?php selected($value, $sorting_direction)?>> + <?php echo_h($label) ?> + </option> + <?php endforeach ?> + </select> + </td> + </tr> + <tr> + <td> + <label for="show_related_images"> + <?php echo_h($show_related_images_label)?> + </label> + </td> + <td colspan="2"> + <p class="description"> + <input type="radio" + id="show_related_images" + name="image_options[activateTags]" + value="1" + <?php checked(1, $show_related_images); ?>/> + <label for="show_related_images"><?php _e('Yes'); ?></label> + + <input type="radio" + id="show_related_images_no" + name="image_options[activateTags]" + value="0" + <?php checked(0, $show_related_images); ?>/> + <label for="show_related_images_no"><?php _e('No'); ?></label> + <?php echo_h($show_related_images_help); ?> + </p> + </td> + </tr> + <tr> + <td colspan="3"> + <a + href="#" + class="nextgen_advanced_toggle_link" + id="related_images_advanced_toggle" + rel="related_images_advanced_form" + hidden_label="<?php echo esc_attr($related_images_hidden_label)?>" + active_label="<?php echo esc_attr($related_images_active_label)?>" + ><?php echo_h($related_images_hidden_label) ?></a> + </td> + </tr> + <tbody id="related_images_advanced_form" class="hidden"> + <tr> + <td> + <label for="match_related_images"> + <?php echo_h($match_related_images_label) ?> + </label> + </td> + <td> + <select id="match_related_images" name="image_options[appendType]"> + <?php foreach ($match_related_image_options as $label => $value): ?> + <option + value="<?php echo esc_attr($value)?>" + <?php selected($value, $match_related_images)?> + > + <?php echo_h($label) ?> + </option> + <?php endforeach ?> + </select> + </td> + <td class="column3"> + <label for="max_related_images"> + <?php echo_h($max_related_images_label)?> + </label> + <input + id="max_related_images" + type="text" + name="image_options[maxImages]" + value="<?php echo esc_attr($max_related_images)?>" + /> + </td> + </tr> + <tr> + <td> + <label for="related_images_heading"> + <?php echo_h($related_images_heading_label) ?> + </label> + </td> + <td> + <input id="related_images_heading" type="text" name="image_options[relatedHeading]" + value="<?php echo esc_attr($related_images_heading)?>"/> + </td> + </tr> + </tbody> +</table> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php new file mode 100644 index 000000000..7026a296f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/lightbox_library_tab.php @@ -0,0 +1,49 @@ +<table> + <!-- Lightbox Library Name --> + <tr> + <td class="column1"> + <label for="lightbox_library"><?php echo_h($lightbox_library_label)?></label> + </td> + <td> + <select name="lightbox_library_id" id="lightbox_library"> + <?php foreach ($libs as $lib) { ?> + <option value="<?php echo esc_attr($lib->$id_field)?>" + <?php selected($lib->name, $selected, TRUE)?> + data-library-name='<?php echo $lib->name; ?>'> + <?php if (isset($lib->title) && $lib->title) { ?> + <?php echo_h($lib->title) ?> + <?php } else { ?> + <?php echo_h($lib->name) ?> + <?php } ?> + </option> + <?php } ?> + </select> + </td> + </tr> + + <?php foreach ($sub_fields as $name => $form) { ?> + <tbody class="lightbox_library_settings hidden" id="lightbox_library_<?php print $name; ?>"> + <?php echo $form; ?> + </tbody> + <?php } ?> + + <tr> + <td colspan="2"> + <a href="#" + id="lightbox_library_advanced_toggle" + data-hidden_label="<?php echo esc_attr(_('(Show Advanced Settings)'))?>" + data-active_label="<?php echo esc_attr(_('(Hide Advanced Settings)'))?>" + data-currently-hidden='true'> + <?php echo_h(_("(Show Advanced Settings)"))?> + </a> + </td> + </tr> + + <?php foreach ($adv_fields as $name => $form) { ?> + <tbody class="lightbox_library_advanced_settings hidden" id="lightbox_library_<?php print $name; ?>_advanced"> + <?php echo $form; ?> + </tbody> + <?php } ?> + + </tbody> +</table> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php new file mode 100644 index 000000000..a5f016a36 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/misc_tab.php @@ -0,0 +1,53 @@ +<table> + <tr> + <td class="column1"> + <label for="mediarss_activated"> + <?php echo_h($mediarss_activated_label)?> + </label> + </td> + <td> + <label for="mediarss_activated"> + <?php echo_h($mediarss_activated_yes) ?> + </label> + <input + id='mediarss_activated' + type="radio" + name="misc_settings[useMediaRSS]" + value="1" + <?php checked(TRUE, $mediarss_activated ? TRUE : FALSE)?> + /> + + <label for="mediarss_activated_no"> + <?php echo_h($mediarss_activated_no) ?> + </label> + <input + id='mediarss_activated_no' + type="radio" + name="misc_settings[useMediaRSS]" + value="0" + <?php checked(FALSE, $mediarss_activated ? TRUE : FALSE)?> + /> + <p class="description"> + <?php echo_h($mediarss_activated_help)?> + </p> + </td> + </tr> + <tr> + <td class='column1'> + <?php echo $cache_label; ?> + </td> + <td> + <input type='submit' + name="action_proxy" + class="button delete button-secondary" + data-proxy-value="cache" + data-confirm="<?php echo $cache_confirmation; ?>" + value='<?php echo $cache_label; ?>' + /> + </td> + </tr> + + <?php print $slug_field; ?> + + <?php print $maximum_entity_count_field; ?> +</table> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php new file mode 100644 index 000000000..bdd95908b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/reset_tab.php @@ -0,0 +1,34 @@ +<table> + <tr> + <td class='column1'> + <span class='tooltip' title="<?php echo $reset_warning; ?>"> + <?php echo $reset_label; ?> + </span> + </td> + <td> + <input type="submit" + class="button-secondary" + data-confirm="<?php echo $reset_confirmation; ?>" + data-proxy-value="reset" + name="action_proxy" + value="<?php echo $reset_value; ?>" + /> + </td> + </tr> + <?php /* + <tr> + <td class='column1'> + <?php echo $uninstall_label; ?> + </td> + <td> + <input type='submit' + name="action_proxy" + class="button delete button-secondary" + data-proxy-value="uninstall" + data-confirm="<?php echo $uninstall_confirmation; ?>" + value='<?php echo $uninstall_label; ?>' + /> + </td> + </tr> + */ ?> +</table> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php new file mode 100644 index 000000000..07125fac0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/styling_tab.php @@ -0,0 +1,53 @@ +<table class="full-width"> + <tr> + <td class="column1"> + <label for="activated_stylesheet"> + <?php echo_h($select_stylesheet_label) ?> + </label> + </td> + <td> + <select id="activated_stylesheet" name="style_settings[CSSfile]"> + <?php foreach ($stylesheets as $value => $p): ?> + <option + value="<?php echo esc_attr($value)?>" + description="<?php echo esc_attr($p['description'])?>" + author="<?php echo esc_attr($p['author'])?>" + version="<?php echo esc_attr($p['version'])?>" + <?php selected($value, $activated_stylesheet)?> + ><?php echo_h($p['name'])?></option> + <?php endforeach ?> + </select> + <p class="description"> + Place any custom stylesheets in <strong>wp-content/ngg_styles</strong><br/> + All stylesheets must contain a <a href='#' onclick='javascript:alert("/*\nCSS Name: Example\nDescription: This is an example stylesheet\nAuthor: John Smith\nVersion: 1.0\n*/");'>file header</a> + </p> + </td> + </tr> + <tr> + <td colspan="2"> + <a + href="#" + id="advanced_stylesheet_options" + class="nextgen_advanced_toggle_link" + rel="advanced_stylesheet_form" + hidden_label="<?php echo esc_attr($hidden_label)?>" + active_label="<?php echo esc_attr($active_label)?>"> + <?php echo_h($hidden_label) ?> + </a> + </td> + </tr> + <tr class="hidden" id="advanced_stylesheet_form"> + <td colspan="2"> + <label for="cssfile_contents" class="align-to-top"> + <?php echo_h($cssfile_contents_label)?> + </label> + <p + class="description" + writable_label="<?php echo esc_attr($writable_label)?>" + readonly_label="<?php echo esc_attr($readonly_label)?>" + id="writable_identicator"> + </p> + <textarea id="cssfile_contents" name="cssfile_contents"></textarea> + </td> + </tr> +</table> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php new file mode 100644 index 000000000..d6fa45c55 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/thumbnail_options_tab.php @@ -0,0 +1,94 @@ +<table class="thumbnail_options"> + <tr> + <td> + <label for="thumbnail_dimensions_width"> + <?php echo_h($thumbnail_dimensions_label) ?> + </label> + </td> + <td colspan="2"> + <?php + $thumbnails_template_width_value = $thumbnail_dimensions_width; + $thumbnails_template_height_value = $thumbnail_dimensions_height; + $thumbnails_template_width_id = 'thumbnail_dimensions_width'; + $thumbnails_template_height_id = 'thumbnail_dimensions_height'; + $thumbnails_template_width_name = 'thumbnail_settings[thumbwidth]'; + $thumbnails_template_height_name = 'thumbnail_settings[thumbheight]'; + include(path_join(NGGALLERY_ABSPATH, implode(DIRECTORY_SEPARATOR, array('admin', 'thumbnails-template.php')))); + ?> + <p class="description"><?php echo_h($thumbnail_dimensions_help)?></p> + </td> + </tr> + <tr> + <td> + <label for="thumbnail_crop"> + <?php echo_h($thumbnail_crop_label) ?> + </label> + </td> + <td colspan="2"> + <input type="radio" + id="thumbnail_crop" + name="thumbnail_settings[thumbfix]" + value="1" + <?php checked(1, $thumbnail_crop); ?>/> + <label for="thumbnail_crop"><?php _e('Yes'); ?></label> + + <input type="radio" + id="thumbnail_crop_no" + name="thumbnail_settings[thumbfix]" + value="0" + <?php checked(0, $thumbnail_crop); ?>/> + <label for="thumbnail_crop_no"><?php _e('No'); ?></label> + <p class="description"><?php echo_h($thumbnail_crop_help); ?></p> + </td> + </tr> + <tr> + <td> + <label for="thumbnail_quality"> + <?php echo_h($thumbnail_quality_label) ?> + </label> + </td> + <td colspan="2"> + <select name="thumbnail_settings[thumbquality]" id="thumbnail_quality"> + <?php for($i=100; $i>50; $i--): ?> + <option + <?php selected($i, $thumbnail_quality) ?> + value="<?php echo_h($i)?>"><?php echo_h($i) ?>%</option> + <?php endfor ?> + </select> + <p class="description"><?php echo_h($thumbnail_quality_help)?></p> + </td> + </tr> + <tr> + <td> + <label for="size_list"> + <?php echo_h($size_list_label) ?> + </label> + </td> + <td colspan="2"> + <?php + if ($size_list != null && is_array($size_list)) + { + ?> + <select class="select2 thumbnail_dimensions" name="size_settings[thumbnail_dimensions][]" id="thumbnail_dimensions" multiple="multiple"> + <?php + foreach ($size_list as $size) + { + ?> + <option + <?php selected($size, $size) ?> + value="<?php echo_h($size)?>"><?php echo_h($size) ?></option> + <?php + } + ?> + </select> + <?php + } + else + { + echo "<i>No default sizes present.</i>"; + } + ?> + <p class="description"><?php echo_h($size_list_help)?></p> + </td> + </tr> +</table> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_image_fields.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_image_fields.php new file mode 100644 index 000000000..a9d7fe2b9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_image_fields.php @@ -0,0 +1,15 @@ +<tr> + <td class="column1"> + <label for="watermark_image_url"> + <?php echo_h($image_url_label)?> + </label> + </td> + <td> + <input + type="text" + name="watermark_options[wmPath]" + id="watermark_image_url" + value="<?php echo esc_attr($watermark_image_url)?>" + /> + </td> +</tr> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_text_fields.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_text_fields.php new file mode 100644 index 000000000..cd7a8d855 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermark_text_fields.php @@ -0,0 +1,75 @@ +<tr> + <td class="column1 align-to-top"> + <label for="watermark_text"> + <?php echo_h($watermark_text_label)?> + </label> + </td> + <td> + <textarea name="watermark_options[wmText]" id="watermark_text"><?php echo_h($watermark_text)?></textarea> + </td> +</tr> + +<tr> + <td> + <label for="watermark_opacity"> + <?php echo_h($opacity_label)?> + </label> + </td> + <td> + <select name="watermark_options[wmOpaque]" id="watermark_opacity"> + <?php for ($i=200; $i>1; $i--): ?> + <option <?php selected($i, $opacity)?>> + <?php echo_h($i)?> + </option> + <?php endfor ?> + </select>% + </td> +</tr> + +<tr> + <td class="column1"> + <label for="font_family"> + <?php echo_h($font_family_label); ?> + </label> + </td> + <td> + <select id="font_family" name="watermark_options[wmFont]"> + <?php foreach ($fonts as $font): ?> + <option <?php selected($font, $font_family); ?>> + <?php echo_h($font); ?> + </option> + <?php endforeach ?> + </select> + </td> +</tr> + +<tr> + <td> + <label for="watermark_font_size"> + <?php echo_h($font_size_label)?> + </label> + </td> + <td> + <select name="watermark_options[wmSize]" id="watermark_font_size"> + <?php for($i=0; $i<200; $i++) { ?> + <option <?php selected($i, (int)$font_size) ?>><?php echo_h($i)?></option> + <?php } ?> + </select>px + </td> +</tr> + +<tr> + <td class="align-to-top"> + <label for="font_color"> + <?php echo_h($font_color_label)?> + </label> + </td> + <td> + <input type='text' + id='font_color' + name='watermark_options[wmColor]' + class='nextgen_settings_field_colorpicker' + value='<?php print esc_attr($font_color); ?>' + data-default-color='<?php print esc_attr($font_color); ?>'/> + </td> +</tr> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php new file mode 100644 index 000000000..78c981768 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_other_options/templates/watermarks_tab.php @@ -0,0 +1,99 @@ +<table> + <tr> + <td class="column1"> + <label for="watermark_source"> + <?php echo_h($watermark_source_label)?> + </label> + </td> + <td> + <div class="column_wrapper"> + <select name="watermark_options[wmType]" id="watermark_source"> + <?php foreach ($watermark_sources as $label => $value): ?> + <option + value="<?php echo esc_attr($value)?>" + <?php selected($value, $watermark_source) ?> + ><?php echo_h($label)?></option> + <?php endforeach ?> + </select> + </div> + </td> + </tr> + + <tr class="watermark_field hidden"> + <td> + <?php echo $position_label; ?> + </td> + <td> + <table class='nextgen_settings_position' border='1'> + <tr> + <td><input type="radio" name="watermark_options[wmPos]" value="topLeft" <?php checked('topLeft', $position); ?>/></td> + <td><input type="radio" name="watermark_options[wmPos]" value="topCenter" <?php checked('topCenter', $position); ?>/></td> + <td><input type="radio" name="watermark_options[wmPos]" value="topRight" <?php checked('topRight', $position); ?>/></td> + </tr> + <tr> + <td><input type="radio" name="watermark_options[wmPos]" value="midLeft" <?php checked('midLeft', $position); ?>/></td> + <td><input type="radio" name="watermark_options[wmPos]" value="midCenter" <?php checked('midCenter', $position); ?>/></td> + <td><input type="radio" name="watermark_options[wmPos]" value="midRight" <?php checked('midRight', $position); ?>/></td> + </tr> + <tr> + <td><input type="radio" name="watermark_options[wmPos]" value="botLeft" <?php checked('botLeft', $position); ?>/></td> + <td><input type="radio" name="watermark_options[wmPos]" value="botCenter" <?php checked('botCenter', $position); ?>/></td> + <td><input type="radio" name="watermark_options[wmPos]" value="botRight" <?php checked('botRight', $position); ?>/></td> + </tr> + </table> + </td + </tr> + + <tr class="watermark_field hidden"> + <td> + <?php echo $offset_label; ?> + </td> + <td> + <label for='nextgen_settings_wmXpos'>w</label> + <input type='number' + id='nextgen_settings_wmXpos' + name='watermark_options[wmXpos]' + placeholder='0' + min='0' + value='<?php echo $offset_x; ?>'/> / + <input type='number' + id='nextgen_settings_wmYpos' + name='watermark_options[wmYpos]' + placeholder='0' + min='0' + value='<?php echo $offset_y; ?>'/> + <label for='nextgen_settings_wmYpos'>h</label> + </td> + </tr> + + <?php if (!is_null($thumbnail_url)) { ?> + <tr class="watermark_field hidden"> + <td> + <?php echo $preview_label; ?> + </td> + <td> + <img src='<?php echo $thumbnail_url; ?>'/> + <button id='nextgen_settings_preview_refresh' data-refresh-url='<?php echo $refresh_url; ?>'><?php echo $refresh_label; ?></button> + </td> + </tr> + <?php } ?> + + <tr class="watermark_field hidden"> + <td colspan="2"> + <a + id="watermark_customization" + href="#" + class="nextgen_advanced_toggle_link" + hidden_label="<?php echo esc_attr($hidden_label)?>" + active_label="<?php echo esc_attr($active_label)?>" + > + <?php echo_h($hidden_label)?> + </a> + </td> + </tr> + <?php foreach ($watermark_fields as $source_name => $fields): ?> + <tbody class="hidden" id="watermark_<?php echo esc_attr($source_name) ?>_source"> + <?php echo $fields ?> + </tbody> + <?php endforeach ?> +</table> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/mixin.nextgen_basic_pagination.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/mixin.nextgen_basic_pagination.php new file mode 100644 index 000000000..7c24728d6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/mixin.nextgen_basic_pagination.php @@ -0,0 +1,78 @@ +<?php + +/** + * Contains function(s) to generate a basic pagination widget + */ +class Mixin_NextGen_Basic_Pagination extends Mixin +{ + + /** + * Returns a formatted HTML string of a pagination widget + * + * @param mixed $page + * @param int $totalElement + * @param int $maxElement + * @return array Of data holding prev & next url locations and a formatted HTML string + */ + public function create_pagination($page, $totalElement, $maxElement = 0, $current_url = NULL) + { + $prev_symbol = apply_filters('ngg_prev_symbol', '◄'); + $next_symbol = apply_filters('ngg_next_symbol', '►'); + + if (empty($current_url)) + $current_url = $this->object->get_routed_url(TRUE); + + $return = array('prev' => '', 'next' => '', 'output' => ''); + + if ($maxElement <= 0) + return $return; + + $total = $totalElement; + + // create navigation + if ($total > $maxElement) + { + $r = ''; + if (1 < $page) + { + $newpage = (1 == $page - 1) ? 1 : $page - 1; + $return['prev'] = $this->object->set_param_for($current_url, 'page', $newpage); + $r .= '<a class="prev" data-pageid="' . $newpage . '" id="ngg-prev-' . $newpage . '" href="' . $return['prev'] . '">' . $prev_symbol . '</a>'; + } + + $total_pages = ceil($total / $maxElement); + + if ($total_pages > 1) + { + for ($page_num = 1; $page_num <= $total_pages; $page_num++) { + if ($page == $page_num) + { + $r .= '<span class="current">' . $page_num . '</span>'; + } + else { + if ($page_num < 3 || ($page_num >= $page - 3 && $page_num <= $page + 3) || $page_num > $total_pages - 3) + { + $newpage = (1 == $page_num ) ? 1 : $page_num; + $link = $this->object->set_param_for($current_url, 'page', $newpage); + $r .= '<a class="page-numbers" data-pageid="' . $newpage . '" href="' . $link . '">' . ($page_num) . '</a>'; + } + } + } + } + + if (($page) * $maxElement < $total || -1 == $total) + { + $newpage = $page + 1; + $return['next'] = $this->object->set_param_for($current_url, 'page', $newpage); + $r .= '<a class="next" data-pageid="' . $newpage . '" id="ngg-next-' . $newpage . '" href="' . $return['next'] . '">' . $next_symbol . '</a>'; + } + + $return['output'] = "<div class='ngg-navigation'>{$r}</div>"; + } + else { + $return['output'] = "<div class='ngg-clear'></div>"; + } + + return $return; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php new file mode 100644 index 000000000..4e4916aee --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/module.nextgen_pagination.php @@ -0,0 +1,30 @@ +<?php +/* +{ + Module: photocrati-nextgen_pagination +} +*/ +class M_NextGen_Pagination extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_pagination', + "Pagination", + "Provides pagination for display types", + '0.1', + "http://www.nextgen-gallery.com", + "Photocrati Media", + "http://www.photocrati.com" + ); + } + + function get_type_list() + { + return array( + 'Mixin_Nextgen_Basic_Pagination' => 'mixin.nextgen_basic_pagination.php' + ); + } +} + +new M_NextGen_Pagination; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.css new file mode 100644 index 000000000..d630e970e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pagination/static/style.css @@ -0,0 +1,41 @@ +/* ----------- Gallery navigation -------------*/ +.ngg-navigation { + font-size: 0.9em !important; + clear: both !important; + display: block !important; + padding-top: 15px; + padding-bottom: 3px; + text-align: center; +} + +.ngg-navigation span { + font-weight: bold; + margin: 0pt 6px; +} + +.ngg-navigation a.page-numbers, +.ngg-navigation a.next, +.ngg-navigation a.prev, +.ngg-navigation span.page-numbers, +.ngg-navigation span.next, +.ngg-navigation span.prev { + border: 1px solid #DDDDDD; + margin-right: 3px; + padding: 3px 8px; + text-decoration: none; +} + +.ngg-navigation a.page-numbers:hover, +.ngg-navigation a.next:hover, +.ngg-navigation a.prev:hover, +.ngg-navigation span.page-numbers:hover, +.ngg-navigation span.next:hover, +.ngg-navigation span.prev:hover { + background-color: #0066CC; + color: #FFFFFF !important; + text-decoration: none !important; +} + +.ngg-clear { + clear: both; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_controller.php new file mode 100644 index 000000000..968554e37 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_controller.php @@ -0,0 +1,45 @@ +<?php + +class A_NextGen_Pro_Upgrade_Controller extends Mixin +{ + function enqueue_backend_resources() + { + $this->call_parent('enqueue_backend_resources'); + wp_enqueue_style( + 'nextgen_pro_upgrade_page', + $this->get_static_url('photocrati-nextgen_pro_upgrade#style.css') + ); + } + + function get_page_title() + { + return 'Upgrade to Pro'; + } + + function get_required_permission() + { + return 'NextGEN Change options'; + } + + function index_action() + { + $key = C_Photocrati_Cache::generate_key('nextgen_pro_upgrade_page'); + if (($html = C_Photocrati_Cache::get('nextgen_pro_upgrade_page', FALSE))) { + echo $html; + } + else { + // Get page content + $params = array( + 'btn_url' => $this->object->get_router()->get_static_url('photocrati-nextgen_pro_upgrade#button.png'), + 'img_url' => $this->object->get_router()->get_static_url('photocrati-nextgen_pro_upgrade#proupgrade.gif') + ); + $html = $this->render_view('photocrati-nextgen_pro_upgrade#index', $params, TRUE); + + // Cache it + C_Photocrati_Cache::set($key, $html); + + // Render it + echo $html; + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_page.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_page.php new file mode 100644 index 000000000..97f228ce7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/adapter.nextgen_pro_upgrade_page.php @@ -0,0 +1,20 @@ +<?php + +class A_NextGen_Pro_Upgrade_Page extends Mixin +{ + function initialize() + { + // Using include() to retrieve the is_plugin_active() is apparently The WordPress Way(tm).. + include_once(ABSPATH . 'wp-admin/includes/plugin.php'); + + // We shouldn't show the upgrade page if they already have the plugin and it's active + if (defined('NEXTGEN_GALLERY_PRO_PLUGIN_BASENAME') && is_plugin_active(NEXTGEN_GALLERY_PRO_PLUGIN_BASENAME)) + return; + + $this->object->add( + 'ngg_pro_upgrade', + 'A_NextGen_Pro_Upgrade_Controller', + NGGFOLDER + ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php new file mode 100644 index 000000000..3f9ee933c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/module.nextgen_pro_upgrade.php @@ -0,0 +1,38 @@ +<?php +/* +{ + Module: photocrati-nextgen_pro_upgrade, + Depends: { photocrati-nextgen_admin } +} +*/ + +class M_NextGen_Pro_Upgrade extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_pro_upgrade', + 'NextGEN Pro Page', + 'NextGEN Gallery Pro Upgrade Page', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Page_Manager', 'A_NextGen_Pro_Upgrade_Page'); + } + + function get_type_list() + { + return array( + 'A_NextGen_Pro_Upgrade_Controller' => 'adapter.nextgen_pro_upgrade_controller.php', + 'A_NextGen_Pro_Upgrade_Page' => 'adapter.nextgen_pro_upgrade_page.php' + ); + } +} + +new M_NextGen_Pro_Upgrade; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/button.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/button.png new file mode 100644 index 0000000000000000000000000000000000000000..54d70ed904a4d931c17159f5b961bd7ea5c7700a GIT binary patch literal 7581 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 CMrrW? literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/proupgrade.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/proupgrade.gif new file mode 100644 index 0000000000000000000000000000000000000000..0902c4c2400dccb36dcf63dcc36867f2334284e7 GIT binary patch literal 578587 zcmZ?wbhEHb{KDwV_>6&JM!L-X^-(G+N*gzA3hUg;lRr&t-VNW91uG^gN_l2^>+uzC z`giusxh3a*l=TT~t8z`<dH2VebivN;9PCWF8GaLrJpw2H5ZCe2^Je?^;ewx==FjUr zIsTdxyK{ZLc)hdPukGsk-p^d*#apoMN^h_K=Cu>I^}BrAV({<XR#gG!{2Xn^(DDt_ za{q7O{Be8z*K=k*6HdP_Vmvp^ynp8U%utWqBA$$y$DLPQ-MOaV>bb4HX*E+;?c`L_ zy7BJsu{*y7)Yw<g?0s<eR@%(pr`H>ATH|-)T(^Lrn8)TfL75sMX#s~@c>cbd;#$7H z^~|q@$E4oPls>hQZ|16LyUrZ@dG}3=6`Ntx?TKsbcVBa#u`27}?vwjV_3ym9)m+}P zYUb+n&<qn}le_PB{{R19Nl@wPx4h8Mu(Y%^XBU_9@{0D3j+rxOhK4#+RV4lY|NPy% zS7~WgGiNr1xwtlT%(HMwc=!K*Vs(Q}XiP;~T55T`W2oJ`cmHQ~bk)vW`2XFz|L^{n zr&YAfY*PHs?dKX2?CcoeYNTht%*epNp!lCV!Z$#{C9xzi!Z*OizM>#8IXksPAt^OI zGtXA({qFrr3YjUkO5vuy2EGN(sTr9bRYj@6RemAKRoTgwDN6Qs3N{s16}bhusU?XD z6}dTi#a0!zN{K1?NvT$O#a19;eI*63l9Fs&B}b5i0?1D1{GwC^Q$1tdWCKG(1v4`} zLlaXoGeaE(BLhPteFGzX12bJi6Dw0QD<g9SC{VIfuqjGOvkG!?gW6S;l4h%vQBqQ1 zrLSLJUanVete0Puu5V~*X$dmJ$Vj&+B~7=uGOr}DLN~8i8D@e@YH@N=W<g12ex3rz z#Kffh(h^%GC8)6#xdm`z^NRJr-qB0W&(*I;EYLU9GXQxB;@8{)Utj!6b93RUi%Wu1 z5$?rmaB)awL8^XGYH@yPQF3ZfYML_0O$AoYMX8A;`9&f5`8lvq49LhY$uG{xFHmp} zHdD~>O-#<r0|{t?b@=*PdFB<DB<3Zjdb-#uRpb`vWoD*W8Jjp8Ivbh0xVjp<85+78 zSvs4#I9oWHx;R=onOK;a!}Pl3Czs}?=9R$orXcjX;?xUD44?q9a!D=9EK5ysE6UGR z0DIah6SrHOaGD3zn}XXd&N%hz+bP)SgQ6BGs$oJwE^Z(uI8}mDsGR~L>8IwU*eVq% z+1oMx|M&OL?_WQEeE;_K%jZuYKfHhU_RZ^8FJC-=_Vmf)M-Ly|zjyb}?OQi*T)%ep z%H>NJFPuMj_RQ&1Cr=zdcJ#>MLkAD+-?w+q?p-@~Y~QwZ%jQiRH>_W`cFpQlD_1OE zwsgtjMGF_qpEq~T>{&BsOrJJ&%H&BCC-nFA_H=i3cC@#(wlp_2Hq_VE)>KzjR+N{O zmJ}Bi7UbvU=45AOW~8U3rX(jNCd9|Z#zaR&Mudljh6D!%2Kf8=`gnVJdbqo}x;Q&I zI@sIU+E`mzT9})eniv}y8tCik>S$|eYN)HJswgWdD#**p%1BE|N{EYziU<n{3h?vs z@^Eu;a<H?pvM@6-GB7CqWMR=^WMI%?U|?VX72*!;{~O$znp>KfY~0#yik!In`X@}B zG<nL@Y13!SoHcuL?}T~13%M69S-foNiiN8dJFQx~e#6F1o40J;wtdG|F{j;o*NW}k zcVN%KBL|M3IC<*ynX~84UpRm4;)T#t*Tinzx_L*;=gzhJ5AWQ+_vG2b$3CGiLm&CH zbaW)yB(=6NiMu5w&EpoBz+fdLQJ}EG{hyMf$B*+u4sCOE9H*EVPSWsVH+FO>U8Q`y ze|6MGtEpa3R!`g$uxZnQQ!1y!+~bZ;+3J15XZGfrkH5A~PWO#CRK~~c^+ohz!pUWd zwr0MXM$4~Em}(uiPV4f@;H6nhPhFj3Sr~Ud^6$5I*=Czk-`{mkX;~X37yqB7M$oAs z;Ybq`qf>)`y5BT5flX&N2&S{ONS6FRmoZ_v<KaD%Ufr9!W}=akI}d-_m*qF7JU=Vv zyxd9hl1k>KB~E)=R=#@XJKH{4?&r_V>H&*g+n=c&t6t&1(5F=2mFsHc#}%h5Qr}8l z(=vD-cU(>T`MI3ZlGZzE`PupLd$-*_%3)CCc&_zR5#Je$2WhRpMc?k-V87t8!!)_v zLocq+U(Vhv+v<3Lf%*5wi|%qkM;^LWe~@)>5Mx-U&@N-OWBK9aGSkNE%1oIz7N)W` zYAB`8hzv>UTu{2?k*iMEvqu?fTh$h4E#9FP>}7oFQ<RR*)oGIh9E?8C_S-EQtWvno zRyF2-@CntgSBfs%9`7lR@SHg{s;NZ0-}ctU$xEX@SKOS&kTNU$9xJDc!NXZ;UK;H! zS^IXX%_>?FxxBj6uj1a^EVU2!X20K=eway4XjWqT1k=FjZC!3bE0lZegfy2-GBfE+ zQA*2Fa?`4M_Of$+E|-+1;Z+H*m5RCztGw21H3{~%c-gUdjrpdq%Q@R6S)b_J3EiA* z;KpXTB=?{uYs`iNdON2WIvHGCGwE<mvW`(i)A6wKuNlwhDtu}v=a?Rswfnp{yNm$0 zu=bpp>6L}cD(CIWh<k9fs^FXD^0@`ie&1u1GP{zoq_@uE<^DFNBN_)<xOhDG|CRDt z89Oz|YUMJKV3w@^U7Qmul#aQ#NWF4j*2Sj0YU!q?tgO|WmVH{ObDZmR-~KBv7Oyj9 z{kl5W=8{g%M4P)|Yc^R6XEIKE)VA|&RP&k7cej77$$opWbH(fB)lWTlJfF>Ckm$Ub zbI<JOvtF)RDaULlv!O}+-Ofa_T`yMcWMZt=yv4Fu;DqmsJ5`PkoW)w-I$Xb7t@_7* z3EO$yjSE@CPklJdW8G7*zehQ5#o{U9G8bKDMBh27KBvCs<1zhx9!95^_w=1QxnW<` zr8S1TdS;#8`9$k?zcK&p;&X>23=b;oRz9m+@uh<^?$X1e?{mxU{+m}aEosl~ue&e2 ze`zZ0GsAZNt-K?G3va)@C;5Ww%U;R$|NO;I1YIN?&m3@-i77E;t}#AypiU;)*uX*N ztK)-ze4j2`f90y5Jp17bwVjMs>l!#>WDcoa-*LioT@g>rjHhZAN&&U2iX~smbm=|b zc&=fc+d^+&Z<|M46XzzGD(2kvP7vEIe{@k)n}9gaeq)=w(&KXNAI@#9SioV}*lC?K zfqB<~at3Ju2M+fo^X6UIqM+x&;h)14a$PM&|ML;f0QL^%ScM7l|5z6CGIJejY?{z+ z@MR&dV?x8PM+OaMZyFrm%{(ab>BGL-t8ep)Pb<r@R~RsTo7i6~67xu?!u$yDgbCf% z3Qxo&H*%;MO%z;ng-O%Hvuo*#CfPd*?A{YSCscm=KY7inqnRxW*6Il+F+F-E%ftO} z>4T3O+VB2aSYETE-*}-rU+u<6EhiqZ>Yr$wuFbG)-kxQ8#-f*Ps%8bqC>Sv9J*&u5 z!{IEw>wtp!mFK>B9{#(+0u=M2JaY3+1v8ZdnD4o|c20#fBjc%~zMD-s=2lIKe)#Rj zdbS@726Z|y5C27Y*nKPR@0k7kAj`|+Y+oE_oxkEQ&-bKR(&j?q#E>P*^4CsudIl_- zx<!Rue1YrPTrT06hgH;VpPvjA@vS)aTUIHg(@SS%(bUt@E!uaTytkR?Rz1%=-*PGS zbhOv|tmiLpaa~{yu~*z|Q+Gp(rOBXyvEU$YX@=78KLTe=cP`}4`Jdt-bwRB?$IWoX z(Uy3zH`k|c%Iary{BTgDW`nrmkwyly3<tUAw_4Z?4$QN?(a3-4RkO{F^9E)b&n-Wy z`R{rZxS=HUN}St+>02gUT+eydS&mQZrrD3Jywm0~%5K^b#>SH7&~EAQmCvB5QB5GB z-+2zdgaG@YFGtyCwcdWH(6xcz(`0K;%bkY`KQ&J9YAIw#I4e6(37n9pm;AcrmAFYk zKc_|cR2z?Z@Aoa4HvP~S-H#oaN_Cp;`ZW)2?#nJSynnR$#mtjk+iK$W=rQaI6G&i< zN@+6M+2Cz8;bABDqzTe55`5P`6Zg;iG<i2mjGVm1RsM`>|E9ZB%)Tw~&b3-F|9|zS z8LS)(YTT(;{G~T7kW<l9;Ld72!1w7wo86g2K4yv4$v=&*U7dEL#xWvWx=JBZqW<HN zy1Ux-|0c8Ud)rVik#`{B(FNAypU&6D-e43z<!bx-Xyb-rUG+H02MPkorhGmN;&)zA zp7HOj0ym4oCf=$uN#~c%$m!jwe2=5+mW@?kVwdm|2mVZEQ-#FM<vR}Zok(a_d(ps? z=iwy8G~45r6i=Xx){I5QBAn7P4LoTEhsBlN-t~%(VvhgOSpM`=gKv10!0yfK-Z}NE zR`nduym`xAJGi!A`knJKlPQWmcR$5?H-BfkZ|W?2=yvb|wcxDnA&YjM`L=BB!tCYG z7DkEm|Bo`wIdpPH=`M%cD=eB7jx_REeRwrXXv2cM&(l{YwK_I)HQT;kxwh)Xtj3=| z%o&b(2s<%%$jkn5n9uxX!D;3X2Yb$jAJb=Bc%0$>L545k5{DB)>xAX9Ze2OHPq(?B z`|52*;X5A^)Ye>fWasGlH791>ft14awrY#{@2Kx*aD1>g^qjNP($26$8;VaGw7=z9 z;;>EL{K38d^A6r?iJ7tQOu_?Wf90061NN^SYibjpam$=wXqPXz#iQNOTwZF>#CqUB zOrF|`Yu9BqunIKrNEt9MQ{Nlo>3!=`%JeNUd%9n4oG<(KbnotRci&|$91j?oelWg& zH7|DO2}SuTua>)uS9kospV@h}St0l#EB`X*7=`wGQ8w?{KK>{-egA1{y?9M&SFp)K zZ9bk8O!}K6<>LQY*+vUD@zw~ivF%A@aD34uSF^Ke#VZH)n7^eFj2w+}4#D<37R`Q7 zx4gC8+3EN3)hy{J$5~}dw(fsZ86E#(!xOy{%Q_eRs`yi(GZ<AX8Qy*7{ua!$P)Fsb zfvx_Iga$c#PT2>iKEAeWnXbS8=aP2YH_YluJ%1IpHC1r2Z%BENV*6mRng3RWr;pe) zza>Ws<TD>&h+QD}w^%-yK{4}cgXgv6Z`T?ano{cyun25tioeGCt2jSnt9hhAvcQi< z-Xey&3%PL&?0FAZ?H$<CC$QYz@}IplnYq@?Jko_h`GG|7)6%$vvXtXxGt$^964)dR zG84_q3eq!Elrp6@l%*`n%=ykbcUz3qg_cMQM!)Y2oekxF%gcXEV9F{iuM98$62O1( zuu02xlMPoYyn=&&OyGa~QTEZtiu+8JcNXz~Enqx5x$@prIe`uG?1vcsim}H|ZIYbE zoY}yZaey_WfGwpV_k$zb2@{6j8|77wv8^o+=(6w)nCf$4N!*DRZ^>t!83r{aLb(Z_ z)y_U=e{(oKrhskoj-28kIV;sBo(+j_ABumQ+?1JWe^|mk>vG7#>1>%7?D=;vX9(DP zZ>xRp$X=z8sBok4b#e9S<qGc{^Ld<H?+gEL=y0^RsbJ6ytG_AS@XjQWg+rcaIs47& zP1VY*&&2a{j+hrZu*Xhd=eOvQ-eztu&f+F!|3uur#+W&_!2b2cg4CmObq5$j7}%o@ zu!aOM${b*1xWFj$fx+VgtJ?=w#}}m~0-0G3j3N!}h3PF)4eU$>Wu6r+fj3$Vc20`! zDD%-Mi+|8M{aWUXXRW#48T^)eRg|}OrMKxXZL4(W$m!tdQfGKHF>75*<s(J$^&+vS zoca6Ro!6z5*PL*+`NEnov!YU?W9oO-stN3p1`0d^teF>B&&*)UzrY%Jfwf>Id!zyD zl@y=*Th;R%;y-*%{Vm9n|A2MYj^K>s8SO9G(ii+^o^pb<|0Zijsol5a>1Q&gm(FDS zp3G*wm8q_XvF;&TyQN~@1lDO8RWG;dt^A?(U9^Gg5G$9Yy-IjdEhD4mGKEN&*<T({ zDEUzErqTBGW0%(!@>T-&j6dSuF7bUgQLW;W{pp{!!H>=IFZH>6k@F5ye5aE5L%g9R zKq6j*t?sJZjH&VoQ`k8r>z^{s=3OzDIl)e;%q}<}Oy@>Ij03Y$0Ha9&qewv((*&lf z=ZyRdm?|1tqdM4C7BFcQEU36p7RfOse!(QE3zKri7m7rc`JZSJ+%<W|wgr9}Y;q4` z(=KF2cQ7)2Sm<j}7I&jXWCF|d47L;p#_1fHhFXjDUM({A`p@RMfKAtGv02yR=^X5( z28(r0d8Z02K4`LJ`idDh#1`iTuytv&J60_=lv)~WwK&9!E%24x^dITQRcsrMPm?&& z;~+4-aOZ>qO9qqU(=wJW%d%p~_`se#l{NFgj2_Jz?jW|34-M%BY%^D~r*KWrw_Fx$ zuq@SU+0+iU*2Lv;6LS9^U2*f+3hqa&cf;7Yla>b_SjN1`tyZx2v+$gbt`)Z84X-D& zrEazR9K33|)SS7yR^9p8<o%3Y|3y>%%>sW>_AlFftP3P!82au_bFFizWlisA+sS+; zBW%J=@z=)83#8aPZiN^Z^mg3pS>3hj^XJrO$7^<1v1bRcl^3v;Utm0V^*^JE1LN&q zYj3SuE3#m1_J&0Vx3ZNNbf!*NoU(z<c@~Ry6kDnT;~lB>zgDd;cUbqcYkj%EhLj2G z^|h8-+*<!_)_Q|o8+fHR=x}Xxt=eFi#b$MDk$CjRtc1k|T1zK}ZTt|m#B5debPr~8 zsSVXq8&Ws0O{!q~D7Dy&YqL)Eii`(K6udW?b}cp9RZ?28boz{?R?*dF5z7K6B>9?# zF$Zj6Zd#VD#rov>vQp3KGcu<$FPO>AS?78?B=!T_#2;*vG&+k;_GCO*?hr8jf%~$$ zS6frOmQ~M6N~~V~^`f{n!*taPtZRR)_}j{s`Cz%LG^=XEGTUj)Gpu%Gn(WA_vQIz2 znjiUp`k7Tb3McGHKVTQ*!2ZXzmXRZx`9NN>slp%Ul6bMI1-FyG?b!KY+p?^v9Z{m4 zlTWOzzP0vw72CU8j2Ro)HgvDQ{c7FIRhxcDZ4h~|w(P)K*$?awrD9%5#XQN{!|c88 zeb)Nv8S77;Ud!9P`vUjgcfZ#E=34wWYRTWK&R?@w*k14TdA{d|7n|DZy+5<qnP;<@ zY}oMs)ZQOmlk|79O|RH!u!@bldU4u@l8MLGn%~-Jd3*7Mu*J5sHs61}|HH1ex4juN z3Oe<?JEul$V1B*Hs%!m@h|ayQ4@}aS_1}B3qt{Ybu6=^LmrUHft<ZBtTJ@I9TMcQ^ z)3x_ZaP^+<d-c$R?+p?!{!g3!bNNh8mIv2aRULMPa<6EU>QvF0KIz0(vp-ui8@7~r zPPejQsJ|T&#eFzn&Q|q5+ao71^S(G@%XT!P=cuOHF3Sg7+_{fNNwZcpu*nv%l`-tj z-f-+@G~0{n-M6$hZ2P@$_v^h{-TQV|AAfmk_sgz*Pj0Q>@q7KdU28o9*4>=Fr%Pr% z({8p0T<hMxI`MwiZjGPoD~~N^U%k)5>$t_PwSP|S(U;m_^5I~?oW0*yZE*EE^>^2) zXW1L3XYBp9YW-vH;~%*9S*$ufp=_fk!-0$oo%{Zr-hYO{WEI<9o-@bpbUH3LZFOqV zz1yzGb@rq?FlGg?#ouN<Aj7gd`k-m{nGarU$N&64JJ-T@`pYwOHCSzUj<PVFJMd=H zkEk>Idd}t<Y}j4Re$3|lm725Fv(Eqgvo-EEBj23!cYkfI59q8}b?*L~P3NUIlqawU zGMvjb*!zp?pvZyF{Wc6|yVt)yy_<FR`gc8Nw5r#aPq_HLx|1#U472p9=fRiu-(mao zXZ;+Gt`m0_r+#45`g=}z_4;EmGoRe)G+n*HY1bk_*^7(sY&4Quyy?$+*|nE)C$JUp z?0z}ximEJ&v(|xoe@+J$bOy+>apyEo`oVrcriR6KcSZvH*BG`PHyG`*Hl!w;iQBN- z*K4KpTIQE;PUlq}i`l>y8E`o&md$DcOWXvO$lkLSFZQ;?o@b8kjQjil^o^eNzFo)j z_a3i#d+qnG^>cO<{hG+y>%;h}hwWN6`?pza2W<9LzCE3Lz}wvGV#(P>4uAJ7;8~nr za8}rQy}tF5T;0W0d*y%L+LtonQq@_8Z&fEARI#t<JyW}8y-Dru8$9bBeAzM?F0<Wb z%Xo186IbRRt9=zd%x}G}e15%1{PoS_wYR6so)vk(x<2>JG}&AKXR%n<-k$nnQ}N%^ z?4@V;ec4Jju$KgE{#x7Y%5_G=tU%PPfLT4s`a$*nJ<Qb!%<TKvc^S?GeMnZ`z|1fA zkhAZBjYZM}SvFe-2H}0|)(rP5za}flJ+hy+)BYN3P{G6Bf_Fdux+{K<?cVE44`f;D zegCsX=3Y1(ef2@^#r8dHd+v4yI;^*vb+z~co8GN`*JRFYd%aF)-KFy(n{}-2Jk05N z-D}4&d;Kce#lq3cO=oXX;$FXF#rbI+Pp`~j^MAUPCHCOkp6=`i2Y%eT7QOD+?>C#a zaPL09`urB_Z5cYdZ^m?H=Ufvx^EB<;j440Z@&mS237ln}eO{3FV9VM4hE;4O8<rbS zU}I7*nECr?O3zlN=_!F5nCJRE@=SZ_n>ssE;n=*q2bmk#SH<05b?%{p9P7vA`_&E% zUt?c?lVx9f?$w&U*Q@wm@9V2w?)P$IUv1!pm-FnH=l^@j;CF0l-7Dh_?0f89Z}nrB z^4qz|?(G%7owxSAomlt(zOMGQNiUYG25iscWO+V^ZBzHL$v4);OgQz^XHU+W^&B#1 zt!C{`F*qyqde70_>(uwI5085yyL!*dtabOj_T1gGSWNl^tNk9?h9%$a_P?Laa_bi3 z^fSB57c9}Xdi*o$#Jf``YX59fj^0q$vsmfv2hQs5t=bzjDmVR@#Zq_RoZjs7!n=2~ z_#WIn`-MUNv+{XoCs<!QUcEj$X1C+}=ec&LU4K3GsAqd=w>#eMTH4#)8{a<Lw0rrn z-50I9KCds|#?4vaxBKPBlRZbIzD?nKeRKNDfIrC}FZZmy_iBpWqp5tav*o`_*}Yz6 z_kHcZH&gu{sl>gkez0>L-=p;Umuc^}2q+xemihlx%AE)M{v}s`U}t&o<Cfp+Db?&k z8{SUcA9>S{omJrHopW#57rdQ+|K|exUse}>E|vc^L;u&R`#&qo)?HeC>-jClP5kRF zojJ3n`n|Ou(}X)8wf`@Am&NYNyI8xMttIY7zGP?B2R7LcY$w;VXX@<U{QmrD{oe<d zUfaKS@sya;XSLtYTYHC9duiE+6Px;vmFsS@%38c}@5PvRo2LHw#O-@_`;XoJ>yQ1; zni0#l-Z*Z9SJ(P729E6P^k$Ltz^e3&^q#VwjP9z;{*0K^sT1pC9hjL_GaNGdVl(q6 zWu#7@kWn?EziMv!%JjOx$jG3%v4PgH%)0}PjWeqYk7hFO2|QAL_W!x_XN}KVpR&Gm zq1xK|vbEW{do0x~kMG^Qb@tv<>$w7RU*EblcV{H?Tjro0LBD?Q_{;qBXVKbbhx`NE ziXR;kTwt6hbGY@P#HEQ2%avR^gw^%d%=nmev{%}=Xvv9<NsOJM?*nWuY)tW*B;$YS z=V$i|bNS3Yr|fZl?k6<gvrbKMa?07crm{WvEPowOm*gt<Fj?y0#w%%*x+bpGxn#w) z)h?CamMm^wexob>*s4<J<v!;(rIx%XC~nuAYg~Tk+TGh`S7W!EWQ43Z@bEOVQCd%p zr{aU|1`#)w8IFHkn;+|^Jh-v(@K&F+HFZ2UFE%_AX0;I6Gh?HUL$8ie{Jt3*ySjM( z%Wd#{b>g7%a=*DO`%0g%{fl1LcYoh&5r((}<%~9GxkWB)WNzA*YqdmPV0m*=W9!YO z>HZsHtQ!T*_ViA8wAj7h(zeE<aYOQvd0(pYdKPOeO#CmXe8=H9ueC|x-P)f|)8(sv zynL?Ez<;m6x#6eah50NJUI7kmGG!ePc?EJV&f{0{Voa!e>6vkuSNj&j0}cU)3k{8i zPCFLW=`rnSZf1GG&fIPAMWeA!=s>`eR@qM#&J$##G@dX@M6FP)zm&K`v0f@L^J&|q z(3wZtN(yeO&PblNa|(00LSZ|X=LCVN%qkNuJd>?Rn9wlSQ{muYR*44(n;AS5J|5*~ z`jC*$6#wHtr)(vs!Sn;Hy>%PY7f<>0;V`TChXtB!r8O(>EIQwMYemt*e{8X`-9f9g zN-9ilWvyNnbSq0XZ9&&@@uCxsnoHL2@`{lylKl|9_@d_X%#xcg3mhs=x;<Z0vZOBZ z*_JC|(a)wNxp6Aje$zF1(q;S1JW+(HEaK@@AwLdBVcrQINz6eej0d}w-*`M}cmAfn zuvK`S`ujZ}uURxrFn=;TaTlMLg~~x8i3bbY`Ce-)_L!J$c-Q@RlSINn+hx_s4cdI1 z%@e(!MHifuQU9~}q=b~@MwU>UH;O!L7koZVRQbN*bMu#d5%bMuzH=<@tPa?7w%hgp z!uu|NJUtIg{S&KlP(DoO|5O$>@gvI^g|rHK+u0krq*f%ia3!!T6#lbd+tTTiY#rx& zczjnaiJcUFV0yWSdwFGv@v86lFCBerzOiNfsqaNA#cnSxT4Hzm$L4Epd28E}(z1U} zofh4>_SuZna}tlssNXEw&*=4Y!(o%j_gHqnJ}0ekLipM5qIN<5GkMHnyXWP#@$JuX zc>80Xj`dmI?{R-7aO|J=@rbzz<ATr14*ZIr*MHyhdy==*`hxfNN;;c9m=;TX{J|?9 zU+|qPIey;+ZSNn+$IUmrNZN0-?RDO6rC$v1d)6&>|HWY!$SlVsDyn@%)6Zo?6QgGX ztIiHh&PhTHiz*l-l_e6HBuox5pJ`xp7W~h}9Dkre>XM0r=n+rWEC(hzlMf81|0uLD zF(jt2d}!Wc_}sg$Ic)m3ZQDQnIh)r!x$pjqZx$zg*A>Mqig`N4W9M1bkDYUhmD;VA z@6@c~OOh~>d%x+#(RY?_*q#{2z2DGoaN+B_o~M@=N%3A-fAyrdQ;tZo)ah^o%chTg zFSYNzuPbj>-gBZ~c$R>I;5B!9xAPM&R!{uAK;5=Sa8j>2bMj%1nR-uid3tBC$p2c# ze%z|=V$F%wPyQ=>vFSRh9rxjvvry2ArfAy(Ej%rkWgm#NR;lJr3yWZ$<#A!Fsp3KA z4K@q7Ocu1Q%RIm=_2VG(ga^wueC5oZb4y^A(1w-rA0CAMznZn^NtedjqrR(WTZ<&k zoRYl#gl1vq3zy|0=T(nth6-kd_oUlwjo7DqD!9k=_uUB!mB&r$geIN1t*rL6!{6Z5 z=J~&TRyeU{U9fig#8Fogx9i6V_YSxG(mInRpN*`VdfZIn&QBKK9kzX)t6Ry$IW7@0 zA3aWb$sMe%o}*%KebSvX^-AqrmB)6jHv<`_UUB1aR@r-@WtqK6Gv5Iwzlj&hn^iI# z7(G0ku1{FdCbCR`pZ~>Vwht3pbVNP*<T`p8Y!bvoXIwRs2vA$N&!L(9!i2W^ssr4L zTV;G!z74E@bZ~*5LPP4NmHz4{qb++Q)@HoCFgw{wecQROE*hJJyWY0^Uv7O@GxFrU z&GYsN%Zr<?cGLT{E^SK6W4qMn{?876>|y!(+%NOh1q;5A1#A{hIlm)L*exn4HECVp zK6}CKdrn&>?23(5GJkdK(Y<pHs}IY*6We)l-m?5<6<3s96SbosIGJoSwrz5W?lM@W z<g?_#Qx$2;Teqt|PGS*xa4V=O^Uw+-Va^DKTYN$ZY&Lfil|4T&$c62=&uq}h5F62) zY?5$|YldlC(Ai)ixd#&Klo-9d6&+WUd|($^z{%;h^J?99ZylAY85<PL7MaO<-#n3~ z(K&hPqt2(6{%3amIQnGv;%;`UCDZxDlNYKa+w<-Uy13}u@f%0i<*e^MKI`4Z1)F$3 zmHuy+x&7(hm!+O^o2JavNmVr8c`~@o$fYvc<C#>(PGhZiu3LY*_pudKU->ILb!E;| z&COGKUqrujx%@Ty{;O*YVgjEg&CGdf_J1AUFVP0JMNUoT4yl?}3mjM<l-&C)b!ctv z)dt4Ufab4B4cQ(G9P~pcsHs>eaB6Eb<gA|XMC-yDuA9usXVSj=ohr-pde|u=`;DQ+ z<Oh=^a|N@w6$7WjlHl2IbvAAYe`9%iQ^n?@HR`g7Ya%84-}eYt-#e<3b@ElN&hpDo zH<l#sKCbaS^6Xu<@*Pus^33kvJRkV&+m54iQ;OJko-NyEoL_(XcDLR8r6#G{cif+w zRyz6iLXWuZ`&q627nB>9@RxK5bC`YzJLclHuGV%o+ix!o4{1f#B!wxdJq#;FLl$ze ztvJ-S!jh3Y?n6+k(d?7n=bBm8G_Z^5>=aBmH)G$aXFRbQj$%a<niam(a5-`~u~q4P zQP^^j)zN>~`C^79nG{BjDvg5-4FOCF5p!RKUq37*CG9G-{KxA6<83?pdR?ooeNM5P zm)sK^Z8JN|Wa%B=CtE{r1t<vrx&79!c<1l4xn}ok?^M>8Klp#|-GS$KKQ!I{o>Og8 zaa4KV`#aCR?^5>vdH<>8`Kjf)Ig16Bv+?C9?h_GVV|g%}-Qg8?|D-8Vx<8nWXEZYH zS#wazV!^VNX}hu|5)>DfT`f}kFY<s%+&r2q>j!h^=6~D;FC5NKpU=3kIq~J${CyW@ z^Or2~KgjB{o`F?Fq2W+Q1Dn5Z9lO<mR<0Y3Yy}q@*d7=>DxDQ^Lu1>cl#_K<)ke4f ztyI<6e(*$E!}l4BYL`^nxK;M5S57Ezm^r<nD!h_aqLSC6flH$Cms{5DCjOuV!!MI; zYgmf*A8x$!tWj}#rHOEp0(+5iMbqsx23tmTlaFj{Ev&wb>TE|cVjnZals3mdU@Y9k z7IWBXEsF+Uf=}Zlr|eDMdyjZ$3287-iOWuKidf)XcuAyRNV4iHtH%e4WA1Fz9GPv| znIajOe2*6=a4_iwFf})d$ObSv9AFA#|KFC~!K}J~-PgR`=Q-1j<+a^U>u!E3oo$?R z<XBSL^_=YMNn4ZyG*>h*uc++MXzaPs!S$n|Poi^@MeNM&a={HuKH^;Y6WBt&b7wHH z^DD6RD>85$2vb!k<uUJ?Xz1J$#PF*mt0qL?rT{CmLy6t?lI;f=EDO5kOjmE5q^@$n zG*8LrrD#jqSLW!$39mv$R5q}kUBPrtBkVwn)8!LBFPAc$3Xzm^U^LTUFF)Yu;ouW! zDpy*-c(+k8_y_Ci6+Yr6g{tk2k|i}o8SP0gm?9rAC1li@EMWWngMohm!>i?W5kDkU z)fw1kG8v^8iA`x&xi%rxq+USNc*SM|?!|Vyi~p<KRkgV>x$Kmf+a=bf$r6*4EGMZ* z25(sE-ae!9_~d|jEm6*!*z+4os~Y+fXRwMMVA5e|Q)OVvPGA?=z?SxbLCnR`ErBij z04q;;S6->3SLOt^on430*?y^5voNsimSD|(;1Jm8ly=lq?MSo4vA7F2dV0(<(^P$Q zM4Z|thPDMtu4ZI^`F*lUMQc&0vsFfz)&mK)&K|i1Y^o1RVka;&C$PtFU}HYesd|9P zBtfEgVe48!>6FWTEsM<h6sJfWNthN{!?m;MJxBkC3di{`XG*Hf`cPqc;8|&ZXuYJ6 z@zc#&@=iu~FB?iTTUl<>Z`op0w5;sklSa*xxqBrmwO9TxTfekk`{g9=)H$oZCZGHn zrBONOtmPc8r~dn$Z7y3f=O1WOP2dU%FSR+&RCa-@<pAsMZEUd&ZB+-Dm>HNlBN^2W zFcq9&YGPxLzcA%ac$e@23H}2P*#Vicmwo0O%alFfEw{mo{fL9b0|(YyJ#n3C+r;~h zw6I^ukbb*VP5p>>b^xR3tmz?78My)y)SfUlCWgr{c+XnK)R@>hRWn0GAzW&SL}yT! z|INPD6=tI86L_wL*S5}l6tN(?h+TxCC-7kp&y~e5raEa&$=u)Jl;=9jhig_(tIP76 z?fi#lDQ=&2Zky|!%dYIjb_LsP-9F9Y-a6-`W%AGKa}G+*O`R36YvuphKimD2z2;<i zC7(aGtmIataHRFpKqgs+(x!k?3r-fsfKscMoK+VXMLx_8+CJB^yfk}9n?gcq+KaG% z8H*QMtUR$KGs~%@X(nsXbI!THrmG%k&URwtn6+Tf6p_ftRhfspxUziS9?cXH2%A1_ zf!dYKgp)pLqM{qh9ozyJT)5Gq(y(yf61JeDz3ze<=TCUY-!!f8Wb!=dV?BeV^wZ=u zE{swNi|0kw2p?cJy1rH{#Y|EqBk`+K%2qahfqvG`2_GwTXErA#r7tx|_FuCsXSV2i zeYd6aT>YD0O#E$?eB#^sKc{layq2@Pp7`%pBvbd&*`WrXstja4EtNU6!9B>1z2Luy zNWlu(fKrDCZHx?U*5Yjr7Z?M@+xx2KRW&eYuVAk_Fi%H;S!V&O=mPe#1q_q3%=}I! zXsu>YTflB|fbpP}#GDDt(HGcq4zTeUFzlMaoGZY>K5IeCv^ZO<P*tfV&qEm_5*)G* z^>C+6;7VXSxW!>k8;imcpHR_0d&h->*Lp-2ux)5xaLudhLKVB>5%0XI)oBc76$koX ziaO=L?w1N+lT8TQAif|w$mi7zN6iV%+1gX$3pPqA6x%aM&iGj{%X0DTOqL{u;@*!{ z*3+4vvG~7#rMM<@y^-;*FV}OvdadV*uK(<1{a-72)$Ltt%&gaX*KgJ~7RauTKb5uf zwqiWj|BcHYtH>zrkvwE_P@7RZfo=9jHusmybqwmBZD(7Pz;0eS&!Td&&I0zR36mKY zuyZj;a&1^XhoLR=N1MZeO$q@laVJWo6WaAIFy6ntNWy$R!_1BUFR;2DXLsDdR^?Ed zY9MVN&6s7d=<pS%SLQxa4vZ!TYS%7gI{&)oh}7!Pt)W~C*baIz>J+RHEm-tQU7G1+ zf;cz3RziYASDe}@##zhQ$`-K2A7IR0z-AwC(0{9!r~yOvfdZ2aY}bA<2**hF2iD}f zF4k07DOFInL}Pwk_JlM6iI{-UiUc+$2KF=oX<38PC&yXyH*n55z}cg^bgppy$LETP z<-1aR%C<%yJ6`txSjHVA{>!`PZ$9=(Wsgtr9uFbak{m^!$*PhY+j4HSrAbKKcW15> z*es>MmO5dtQZ_rof#UcRCDzw>o-S_>WM|6Rv2Xc`d0{6@e7A2*kXWM<&}HJiS>{5? zw;P<10xUO<Gw3xiIeuqLS->9Wz`Tx~Ju86idHU4P1`Jx#tFEnL^S|oU<tDK)kg@I6 zW=5;(gEa@!IqI|wcAU*PB)+;<B8y3!tJLD<n#P4}It$pi9GD-QPrK!wU?0UO-W6x> z$!!1fB%{{Z><I_88V)@RKdDnN`FZuc-d&SBHQPJ8*fJ-utzqEYQ#Pgk0P6&UDM<#! zGpjGmp1HIBP@$6o3pWF!z~281!nPN=9WIK`y(l*KqQu&ZGH)-+%U%-Sdr>L&l5FlJ zb>2(LXD_PcUX=cON$Kq+&De|Dy%z;)FPrVXWU=?M<=+dowU-@yFFO9cVEy*8TP~wW z?-i#7S6uF1@%wwl{lgW%Tt<H1tKPa-!*Urza<7K(y&C)XY83A^@3&VY*IrG`y_V5? zE!p;3=G|*~f3Fqny_%`Z;^T0&RQ7uL+N+hh*GlhR&)s`nY{K=*SXMEI8&$G5T6=HQ zzP;YF_C{SSYtP>s)4O*Xv|pIAcEX|=;YkNrgn1c7-rf}Fy(O=EYl-cxg|e3x%)KR} zdrL$2(we)sHpt%A(!H(o_oB+&%W}S#cg0>dx%>a}zO$EIb1ysFUUA~RW488+&)zFX zWv`ypz3NoJ67%;;WbD-|wO6m@-n~5cZj$cx__Nn?YOiI#y>?&s`jgsgg|+t{)n1>& zd!v~5M)lfz?Psrl<h|czd%u<Uekt$Gj<xrV&2LWTEuOi0f<gFAV-<FGhfDKfZ*j_9 zl+@K1<YlzGz+NlBmT2%$r0${kJoefN>=O4Liri!W_4p>=zgx@ZUR?V2)|R=CH0y2~ z#@^P=y{)BtS+@7`j@&zDdRGqRUJjgl*{k>Q+1ks2xmO(Jo}7Ps=hELhalChZ-(I~D zd-t;M-ITp|AHKbt=KJ){+Pk6io<_ypd)#~PdF=I)-fLfE?<eKm|J3{cMw;ETf4N1> z=brtoy~)^jlf}+ie1djq+;i;<8l~%)<2Ep9E3nu7d)~nJqW;};pAF1~0xufhvE>;s z*KJ_xxyNdJfFXDSt2M*R$O8<<2UxrKF7my5AkO=WXCK3Ydn^m@Jy@Q1Ynk7x<+iU> z*FD-G_gb~~w*I`^3c8og=e@S?ee5QC=fK{_zP?YK@~%4PJ#npj;`8oFu-_FQxu@se zy@}<$mty<&(!HmV|L$IU_w?=Bw~u9?wZFZdw)ffev(F0craX&#$8q;ruHW<WxaT`3 zJ+GU`Q1(ybo!<MMN$+PUz1Lf=-KfW2F;Dwn-uqsr4?Bw()|`8#H17lZ{#VQHeOS(S zYxTVUuVi#zvDd#6JpW;Z-p5V*K5jbqNOA9NQ@hKWwXc=;J~sY$TO<C7eeIjWYwzqm zcjajAn`3%!0(!5+{C#46{*CXt&llvL`ri8-eDB)ByPxCE-V5`)9-{XyukHdv+|3tq z4_MAIv&U-8N_wZZ{KCXSwj2SrVguF~h8O=t*-Or{><ao;_wN0SN$=mUdr?2{o8Iwn zmG6o^$-Q8I@L{#{tNDB%%ksZ-oPSXM|K-|uAJ*LapcMD9F8;?lyB`AkKdhAdDD(e^ zcHC|G{7WW&pVZ|)sjq+S@b9&m-5rtGH}m<g9H@I^!hhB1{T;LVU)J?^FRp!Kv;VGz z{o9LjZxeMF&$fJCoae|j_y6x8`LCR|51z(-4fB7H)bL#U!n=mJ=l?{XmDE1)ad=;J zfF*VU>ufo8W<!QT1s-;T5Bcj~wCJ(tU9dVTsvLQNZCV|-_ig@Z=UCY{Fy~%is||Sh z=;d?v1ZHCa_80;7r1RhZ@N;ncHZ=*fwlsINbvAc$clCF)OzN4~*FSyYtQoWC&YQnr z;i8F7bC>on=UzE`>GHKpX02PXVbv=4txoRickkM<Z|%<A2X-9TwR^wQ$-Sozo;-8z z!o^FMFNvMIcJYSOjcd1VxCuXa<o4w0vu8Fho+r84Br(~%`;_$Z-P;#$o_u?m^jBP* z^B<>-he6{U?xH6$A2u&qDAUZzsKhcO;2c*6@Bi=@Cw3g_?YB())slI*!Ew4|EZdtI z509Pgv&aiOGSjh`t=TfSY0J#Z>ZiMy?b8J!HmvXrbo8C1<XRPydC9F?BQQ(l>Pod$ zbJP;o9+?`v)HhzeSIT=^&dt!xNwr>IyQZy)&%A$XE$jCPqm)%GPtRJv$ur_U(cpU9 zdWO`Nf~S}6YK!xIv^@Ii)WzNE{u>)ki>poEt<bRf(fMb8Vj~JKdAsU6g!fE)+}<}` zG$kx#PQ`{Khwe?fNj5Vawn=jc)U-&hGd|s5ygt03@jye$G`-wSM`lX0JI#B|lUDHN zh1>CtB?3KmwNWKDLCasvpJ$&kHBkAB_wCK=z2>i~_58ZI>gfMhq5o?)GQ3K^*1#g> z(XEjq`(j!Y_c7P&F=Y>zUT;}DXR&`$cjSo~Z4)AAoKOC;VeyR=*}e#V%OsyK{w_sF z5@*S53^kF?-?TE~b{G5F6_4$;&m=Spu$*vV7dQTKF~}$8!bKtRO@@ZD;(A2~Tcu+b zTnzBpBsqn_Wv}Ce)<X6pg$`mjFP1Qfv$w2Nn{~gJeco)hp8_so!Bb8i;5)E)x%!;v z2Up6?d1!g{028mtg~KwHUoJSy9c~nHle2vKq?zCP&4;D@l_`Y`j0Um^%xd3TwM6T_ znKmp}e8^cbb=9BJulH4F)(E{;H+#d_$ZKW8#3(gi>V>xUfpee2qIkFp`I7$2>V=(e z7tg9#)7op9ow(`4l!|_aq8W*9+it#^vAB!np~eL+ABhlU7fZP(Z366P6k2%ayfU1- zH1Z6?Qt7yYjm+YaKMpi_IPyGjbGq#-GQnl5?Uh9WykFhkm9g(&49Ri`Eq}RWvR~uN zg2aSdlV|vC6J%TT_1uQTOIm*gWH9^wxX^s6m8-O2sQ`}v%kiFV7u)8fI7tZ|KkQg# z>``kVaNJ+0c;Vra!WRV$!agY_3_L5BO^>VbHF?lnB6R+U%YL4egGVkW|1vmSV!WiQ zV@1y7S)#YwGE}!Km#8$l-I+LHA(QN1&KD={FIlvT^WMIF)eYje>OQuzb(z20@u<i0 z*_!14pSBoF+D=uUy-;vgWAUObQeJ&YHcvSk+~ka3IJ9kJsx3Sy&Qi~<*S}IxWa3*U z)jf|G+mv0NP82(8vV<@1!bA4Up4*;GaCwq<vgQi^!#?SN9ebxOo1A`~rDz5(&jeQi zrLT;Q@`*wYbyo^`4luA>E;THiA?81ko%x>kM0O9$uM0lTjZHbI;pcdx(JQ2Ao8BIm z2CbJ&jCUCJwzaIRkNt4Td)ep78~>&xnI$-Q{19MUEXc{^dMo5CTf?@g3tTK_o?_zI zY;e#*Ac37{Mo4kfffep&&!<FYI4?3-w#nY{X#4xdhHJMju+MkQs#Wuz%$xRsUFgn1 zHfsq+*;gOhMXxaa=M%laEIvtqeQ}7dW?&<i$_k<F0g{hmwGEot&TQDBzhPo;&+kL2 zBI3u{ZTuKYYGfXpg;+7>WH6~FvD-X3(R^;lI^)(a%1ZYi^4a&Di=6dR=7q%;$?`wV z?BWMh)GR;q-%xZh{V%}$CSuECZic7X(XW}D`5Gp+9eL=^lF%pK(Y{`)*NwgO!oln$ z6XjcXo+<3}y!-u91Dm+(5;s{x-jB1`&dgY&lBKQSaOIMVZ)TWJ^@rIf`IIsanVdah z!BNBMyH9<R%?p<x9uB7)AxSGIFUe&4Ds<U<lR~RxMSjz*!-+>!#8g)PJ<|Br>$3la zB@<PTsrc%Cykfl7lEG{4+F<Yh!V1gdB)4t}Jl^8-S>)Cu12dD>lWd8z8qN0}+4oW> zu+`o9g;T}?22%w`=87Loycr5iDi;z8xhxvy@B6XLVXvovLhM|r`zMYaeVEvro1+}m zE#-bRaY12OO-#t*S?)y~4;Yhv98B$*&?IkgZ1v+8kHvdFw6Y)3oBXALUHS3BHAiCn zCQdbOl7D@1=IJ-gu4Q{;HgV0Ic`hYLA?HjW(=;{q>%GSmQnEXEKTT*h`Jl~vMCb6^ zCkOQ99TM1`3a0Z)O<1Y-MUf-J;jrYn32lr|(iHZb43w$4z$$%1L2cve!;&jXqFO!q z&3RWc=V}=lH08RuS$$yU+08K7;!8G{cB9{axnB#6i}P|BF4)eVlJTgm_myIGj0dv~ zyTcueh!n+J6Pu;qh;B47d7F`E!CYxv6tFU|v*!O94<;qH^A-k~!E$#w%D-uD{I{&J zj_uC6UtX7FCblN}@tnBA;A7VMydv|U>B{g@cAoPaE*=TG(EGe(Pp6ql0VAKnwFb5i z5n;-I6j;MUnPv7lh?w^@q;d<a+;&eQ*nFR1-}K64>G@Ue=Ep*gFlnrklKmdS8!)xd zCQYVOv^<otA#@^>hoiNeKx&c4x|94DR>erK4AV3IBs=4DwxXwcIAhC-2?|=pskZ{J zr+y4wH*cesda%lI?lTD%xexRN6mGMg_!Y^2*7NYTGyfX|t}i`ZW;E$6UxQeS$&Q75 zw<kI4`3g(VSdqqB{;9bqV#-|;mxbIx78@>2OIN;e%F(lQ2IoGZL#JCN3YoKP7N6C| zqB<pJy3hH88<xJjaJSd4#OjIj<(nIp$V}8yQ4@OH=d+~R>}T98W&g(>`Blxg8~oI> z_AZpD)@)O2TGzm5yzr!7)(;J4cHb1W%=<Q_MM4~NR1ykbG->fGyq~<lGb#PlcDIJ4 zHu)15CsxET%3WE&Xd1x4srU83!NpR?71i}tI+s0uB%%JO)BVqiESFUi&jviv|L|j_ zY<|qK+cQ3zO5Hs9=*FsW^#aKa^A6un-usGKpg8o@13|g2Co#&;Hx~bQ+Q+<hdSm;! zkBl>oKa0wVYs6Z`U6)iY2vV3^=qzq^BG&%<PHqPVCaFsc*w<9=;?8(+pFzg@_KgXN z49bjBg8V&gMgg3b21aK!czxNf9(Cl;^zh`|al6%j`hoNFr<tcLf6{94#AWv@?X@L) z3fN@Nq-~$<%OUf`pwhfWckZh@j5{80sGKsVcUDQqj7udBHa}W3y|SG&d`_g_*W}H# zy8DtZ>lb%)y0wqlf1lm}qeCpMXO}3yJ=HNINLh8MBj?-HP1BE*Ff5&VL~*XZ<~{Ss z8z$Aetdmv>Uf$N8AG09D{MLqr2fL20XA<rBu{7Lv72AXfEuX?2ShGItIBB_W$HJih zfBtnXu7B+Gj?rA{CbQH6h6<G=i3N2fDJg!cN#C#6b4fJBU#PEeU=!M5C1TN-wt!98 zqcKgPQDj1+(2hoVjmFXktey#tq8@Cj9&D)wQP}~YvB1;^jYbmEhAWyDw#rCGu%|F& zN>{jsPieN+XmZkM++f(~>cJLQz~1Gq#*!uzc04`sK+CHseyR^`BL!G5n5x&Z$1)4F z?of+*85*T|F+KAG`@&YXis$K--!mNqSOZqHP57Fb^+Ppt19P95_huLGJaP8Er7G@^ z%3fY&WijjEQDD8hmHB9hPvL})%mXdWGg#%ebr>t?e>-Y&InXCyQfJ`>DgU6@D}p&c z+5X3>Z4o-^Y!@rcJ~c?wq%hK$Ay3UX;TU6ChH~4HrLq1(`FRnYYR(<6wj^9<RbBgC zrNkg=aVdLh0ef~rk4OMp>V}@w1omS)*e=cJ$!6$1v!h2gf=%^B&+QXE*KhQkebIBD zqwmIv9?u6or#;wYJ6fKv=s8x=_wYnd`G&q*D|#h8m^CGuB`SJeu4t0lVI|Sgs5OHn zYeQp!LP$zOzfnb_!j47-4>pMx6C^bzzS3y)JkTR_qbEk8w=AG3eZxeph~|G9jXmXT zA_?qgB2;4<n%RFg%dcp*n$hU_fR%Y>;|9UWc@1p^92K=~t$i6nfer~5T3hE|YfbKG zO+FFp5&3_L<pw|Nm+2WF*t0lTR4205x3vZBEX@~)O67=*mW)dNUK-QR_G)o!rTDZA z18?1j?JreXLuV#NPGG(h%A~2t>NA5mKB(i^M^)d<>3tThUk<mlohWBcanN+^$k&|F zcVo((tF4(I*wPEwH8lG~3fRuvXnJ&`>AJ*Bk%XQH8NGKo`lf5nocFTllt#avMSr#f zqsWAw@`j$zGgvO&U_7~_XZ6ZHS%yAUj{fH!j1oK8WEb>^NA^9hn0WTZOp^soKO*`* zYV<w#VEcTd=jhD7HI=h8cJwUo?BmSrTO--Tq&b<(ldYhE%^`T+GfN?!0ye&r6IMIV zd;W7?58K2zf#!2J{xeSNEPH;EL8PE9-GMoM0sA6RR+*4_jt5vdBqu+&WH*#(?qxDj zVx0eUX1Y&Cp2KIEm=$&cRx&vW^Cq6`$t;-X_@GxQitW8+RCIXM^P6nZCt6h-T4Q!B z@|-CY6A{&GIVHtuq0Hum6>Oc-FPrRsExy3fYhFArFk#Yhjae5v=RdV%SbuZo`4@e2 zUoOdKSahRu$(fb2MJ6m1Sk*gsCz~^uNgvaqpb4}0t!$dHa>>Wc{@*K?zL#V<Y}u&N z!4^Mj5pzKQnwvek9Q^{Gefhf@e?>HMSFz1_Ige#m57W<u&ny`vUpCcGm@l)U_he?j z$jrv92dse!^NuCXQ{2@jzq3@K>VNa%r@ikZn^h#5kDcsU9L4robCH_X^5>Zy;o?(% zzHB>^(&lcpDAi$wj4`{S)uLlF7Tl|txa*YR-mcY3tE?0|XH7fVKker{gBLT`WG&rr zvj0-$@?tBQjE2RD6WAnot}tm>CbM{ja%7)~L(@d7HAgP?AI@BUU88aFtln=OO|O2i zA9(3<pmOcuk8Ift6Zc!L($MIA;3adZqer%2<*Z$^Wh+)`W%RIjHoZ8N5&3~F#$lG$ zjm8@q>v?}Ke^oItOJKctMB~)1-m>I*d!(9f6|udqoFu-JO`)slVMo)C6Fuo0mWvon zX5*fp7&VV4fo-SNM$RmDxoeDzS|`2lY|@_DJLly81<x%R1Qb|(vZn_H7zb@&zGcPE zyn#Jpw~$oGyggBx5x=)qJFr&^uqV&nsu^XYyRqpg^BP^ls1C0M?==<~TW)_=vFg~b z9)*dU6BSmh^6X1(Sf5)yv3vr{k5kJMKd^nOn#d^4#vCvwtgE+NU{XrMrdhKZPp?=m zsyQ!Z!X~+ljc0GT9MtR;3E1%^ip}!FydZ|T2RwVbrCCm7OiKB%f#<^ty^NWsICg69 zD36q2aWvSRr7%0YfbG_)9hw|X`Mdg_YBb7L&-}b|&5~amKFkyjo5|L+t2Fofwl;1P zt%}V(Wo%^&njEE8MSCw;q#9*d!FINBbBzM4Y}96r7i{l2=DyzXf9G>ehi}yjIYM>> zXB(*rXDM%9%^0j1xS%V6dt2OY=4t~5+X)McA23%xh~nSFt{kAP%)t15<@SVI%+?I9 zD{mZ>i_zp%ad`ZD-X&?)>Tss~g!!$}OsiMUl+EZV`!FxFpoe+E;+wY}KTGa5U$gh$ zj>Dq6*3Y#(By*W@y7WYqS&P1O&Nr(`SRdJx&9FD8i|zC3rgQ^_!@E~U3N(w~=;2@4 z_ilIJ`OLm^){W10HyLa1G}DMWeX6O<pm$L;o9u>3xqBu>&s@E>>R7qVs+g{0$}^7{ zy-v*fbHrRDYF6gV^aqLB8k?uxY%-ZS@z2Y>r!poQt<aC**c$KT@2B0R71+LN$A4z# zJ-+kibSXcv4LjkaCCFMmfsJ(!yIS%7l^olWy0@}?*qY+Kt@;By%Ln#^+o$HpoQjKX zUvcKtzMTEW1_x&KI4oXsGWN#7HzM11$ZRW7*mlw8>}4N@D?Vr03(nqJbJj}W?A<+Q zum3swz=yqD;OtYIp2Ig*rFXF9e_)HNoci_;TOb2V{s;Cgn&%xZEb8ZEk^R7~>9f8` zYtdZJiMNs_$_ngaj^4cSW|N%91doo!^PY^t)jQYzoGG$^y=uXF^NiUO=gj(Cz47?X ziRUEd3G7^c#$#Ek1M?}5$$C2`Zs2A=pK;7^#$kz<z2|lx>&iLSR&yd_LDLoMoesOF zcAx2SkdC^l@qdNB#GVCRliGPA(_c(g|24JY%(*DZs36V-A$yw^s&4T*%X+h8l1gXG zg_~t{1{>Sw2$@usCjHDjYQwzJXK~DnlPmX}W?gfN>B^QPIYz8K2UhPnwRID_f{nv^ zo31L`GfXc27ebAXJ>1ga>)+RVvPYM7Vy?`EsVBpKZ{6{Sy(Ho6oV_=%<ea^%!?;lV z>`j?l^LTGvj$yd!!@g+mt@&%uuDW~kkq`SS*|RHZ8Oj&jT6*{F(zj<zE}XRrIJZ91 zT)=mw49A>rZ)UBj>|>5@N_AjA&wE!=a_8S2O;2LZWjLID-gB<qr>8w<euGa>!<>sh z|CCo>TNGKoFm^+E1p9)wXIRS;{<H8qF!wkY6qzuVr4)4+ONM-96`GNp*5F<ckQ#k7 zG^eCEK7frko2|%|KR$t7nv>lmAnN4HM3EbelUL7U&10()XifRRAZa)4NJ~rJ@gB>Q z=@+I7#V56v%}msEoMJnZt-OJ)S|IB3pF1mV1UNQmPGHis6>!!%vgLv))22N)Sppc? z0~lBW4ptkScClj$4AB<wc_N~7Fv9wvNDZ^EAA^|zQ^32YW(CYF4h%vHjO+@GtO3um z{GPEWJj;oDrf;TceUG`7Nk+8h`GJYgc@<bC7HimUVAYuX{D9(3JB6FP42*GnPb=*X zDqnb(tjE}2_bjdNS?ao{NqjFe&)v$L_y3uD9K&qC+w=CloTqndVce@_b+6{lyX_(H zs<h$Nig^qR`Cc!JV~-AEC|zJtQNXSu5FGi9!J~n7cb~h&1ICJiknUzi$L}FbA42R8 zFxxK(_5AS0euL_jI0nuJ_A7R8x7>SGdg0ZTdv7Ze-rm0VmQ~>0^}N@2`xvk6d-tI3 zZFJMyqjCc8>)xKP2=-l?taN>?<cxY&-H_6Ni1nM5tQg*NPVm0#SM_e6>RP|5Yx7vP zz58${j=?J7^}Kx_MCD&E)qB0B?xWEAm!df@tPP%J#%Y^7uqV|qyVN}qTELtU_i9Sr zOQAi_^%iRcZFuhg?x}Ub%M`ws<_e7J``Ok1%eK~ij-U7cMc=v4srQ~K7kn}=_>?R6 zOo)Lw%kFE)`e#A<U(F|&w)PnX865PLf0ldiOW(h*zWtxf8NL}@_#AQmb8g=k+j{2A z``=RZz6Q?!65{_oSO05q{4+KN=Gyz8Q~8*y&VRG>f99)yFlyfywR+}yhL@@5ZY9Tk zTJ-kW#hmYx=D%DV$G{i=YK!hI&jrk$1?*Z4Ec^}Zat|1@TG;s~6!I@%`}jOR@*8Vb z!<#tPFyRl(ulBuKe(%++_b;XNU$5nR^)&D85&J(|<vwnZd-rVLJI?;MSNuMlk^jpb z&o03KOZNR+5&qYk>^^Qe`&ah=U*Z3M_xOKYSNBRc|KH5~SGxQE&Gdhn`R@Ne-}x^b z{9oGCe~NwgwBh}atbhN67&zEi%$0owe0lA7gM5PolqXCy6EYW?#%3^0sCimTn{ThL za=UW1`BXNcl`Cg0pR(M1rum!|v(~I$HP@_V`NY<J2b9fsZ`d%Q<@nT%r`MdGB4n`f z$nuMuF6^9jbJoo5tJuzMTsiaNk&DfH%nqG6w0lBNv|SKyx828uK@*nEUcPMeG?w2l z0)7=gJ})a&KH-7mA}3}c6{es+KMWrpZ`POhC=gIMaH6GO#I{N1r*h*-ZnerkKb$^3 zW|^pGD>d^6von(oE0@ZJNCtKPc^*Zd?(7WKxH!+U^N~%|g1&&o{)@fldTniBS?#nw z?QT_Q_W$rT@rRqPicMQ{v;O>vuw5-VZ*S$WJ=*t*)iXpT{8YfkL)Uz#E?0{d>nu_g z7he~(I!N=ko94#t;jbz<r3+Pz?mEp=2)!ng^SLAQVqVSUQm>DzFKq4#JbctV{Ncr8 zUWYqQ`%c}Oy0UZQ?&=p4Y+SpxxpX$MHcfdrNy)Zri8K2=Yu>99X80{?=Hl`&sd<?3 z%>BE(jX}kM&j*-G+O!1J94AevEqg1sFX6|g+TZ-V<)7{!WS+NFkWsjH;sJ3x%h0RA zuCg<(G;uy^ncT<~v{W=q<eACC@PyQilMyo0QbWUM)kr*wOnd996r&OM>6UTf)*0PK zbw@R3Wt&KaB`0rGO#6Q$@%|2tSxKv=PK$_{dDB%g-Em&h^+}6<u$|KP4M|IxaDPf# z^rXExY^S^IH+iHOPPoBvJEO_KOnSy^o60j2Cw3fqqJL7xl3TV!VIiAPw#9{e&Qfbq z;>tW#KDIiSzi4RWlirosF4$8Ra*5UEf#S;s&JPBY1t%E&y2Ni#yF_!boNvoPFD->Y z;d%zH4-E_w6WU#bDz<bv25_k<ineh0nI^XG4(fQgUaC&xP1_MM>qnjHo7#GH&n&tT zZf<>v?R3m#KFjG=>u&By-nQuMjYs{u`^4UDzdNt!$j;V=ODz*Z!^&KyEXpZcw|mOP zXb<LBa*N)n_t>n=*T@R`xj4&K&GLWV!OwDvDLbRYnr|I?#<f{e>6IGuvOSZJW-`ml zPB?I{lq)fzjostOcV{81D~|E2r7{{CrDT;;+RCI>B(^bSsVsC7Qt_A-u&{hZ<8krz zW$B+5@cS-5B;~c;{GOAFfp3#&aIkNaqhMO?g2o+1sSkq>bUnQqp}@!eXyY*@@38pk zTkfv8otGW`c=}$E=Ed>s;gLPbHS%}X-eYCw%j<R*$a8quF~9oo?)Uc+!XGYD)%p3P zUEc2JldtbqTPpp~YFa;g7H^xX&gQ4F6;C_#?et%DTkmT)w7B1H{p{wQ+&}lMU;Xdb zo~c&~h1s%K6v%nMn;O;3^>OX0M)te0OAcPJInnsPov)-Iv5kSt<JW-;dh1&n8Em+F zkF$!exiEuu!u+74IiVfXIwNJ$IJR92QdMM>4dnT7Oj>n{fGfMhjQ9;UD%%n}JzQ=X z%)WK*ka@Z(Ti)p?u`PLDcuPc^MA`z}Q#3X&&6>K}{gKr5mu?w5cTD(D(q_GoGcbK; z%gS{{ZQ6=Fg4>;>Zf$7OopWd3t4)@so-aN7R*Ua0uyB?*_My$>O~TZwDK293PIm?@ zNfgw*pd_u(!Xm<OfnVj4`mZDG%=|wbWjPX>t*<=nVU1|y+ZMc8zhXhiq$qxuo(7{S zYmO_HaD)g69S~%kq1Yq)^NP2FDWl;Z1_yBs2A%|gc3U3x`u~w98dcP1GHW(COgb!i zfZ^YVcIFEYd8#xV*{@w-<XY1>MdgLOK*I#KuwPjX8+2ytoNYU>S=S&^@Qye0Z8Jxy zkFNPaUe{xvEID}8*Daxkb0J56g@LHh#tzphN+!WO&WLW>FzeD5HO}4>R;?e;&0es= z=k+GZb-8($J2ZUM&Fe!fw4#b*-kpiQ_vqx=Z+8>;^Iyzx3VFcLdLdm^=VznLC69K~ zSqHT^cR09Me4WH@qcAblz(JJj0JB_-1K&Pr0k2mDjI&d+Cg^Xx;uSE7L3YAHp0WsL z84pPo1C~TC#}keMF#;{K(iSW;UaRR-9KhsR*1#4YaDZ9Ffm!N+Bcs%V{|<p~6WaM+ zIP%L%Ed9f!VaAm8!e#58)Xh0lPG39m)NSp@V_e5GXI}dAHowYv^@CZFzS~X-x8Bi7 z=UL7fzGGMDy!_T>u^+Xrmp}SC=T*pZ#z&s#4?Pl%5mdc&P)Pftoa(fVOS9i3N4qdE zaj+<?U&So9g<0;ynI}wEKbV~+I53HF_$yY<;wxJa991`sOVRtWdP&Oarik3<stTS5 zm!>4KbowZ;>IX7N$|bNXG$?SG_iFm4TeZqCEUedA;lLi@z{t0zk;x>&nbl+ggRx8K zE}e*_!PWtdTsIi`*2^e_T8B(y$(q{8edTG`;Z<vQuPaUHn)>_!+wt&yTxRRv-+3MX z|2fx#e_{~_*xu#4e7A1Wd(l|We8NfWz=IgZ3&#&tonYc<Xt=9Ww5ne`kTv<U*u@ju zG#2%UX2+<l?y|jekTEQy|AS0IRR2Vs3atQU)~q)S((6@v{@o05w<uyX*7%~RwV+X| zsE3hv4VS~}sslbcdxSj-pG=U~W9U*nz`_~Q$e>!0$N43I@o`rW@6)4<9C|y`1a>?) zJE^32cJYBUtMxNkbuKV*e_?3gI-tnPSKFYduF$ad$fSm&yRvQ-><m5Ta6v3*_WR8t za~^m_|GG5e+?HkLXJ7tXHG{!e!%-||!!v{Rlh|}3j0Fl9TDaDDDJ{sF(yD)^b@r=+ zb}~QDPw4&dpJAhuvrH_5qZr$UEP*KtIQ}v_vfn$vB=jI*l8%O>-OHX<ZNGMot9GfG z{FCHtEh|-*>}__w_Cd}%_c`Md)3-UD*Cza2;l*%^Q+fSii$?AZ={4~IoQn@6uQZj| zy;A2wLo5GJ_kh-x?Y&Kh#g7;?YW#K&-OHNk<Deychc75tLH4%xb#EQ!N0$tjoII_` zwz0b`XG7k)9c@`Pk@pMEuFYRBX}DCnIx~LviKlbrE}i}C_A<vd?YV9LG$ZL9pQT+K z`As%BbN1Y|Pn!Jwpv(mZzD)vY?2i|)Tw2?pIn{?zZ%P8M@#YV^m6KZD7O1d>iyij4 zws}Hx!o#<Jm>D;I=49vnAJD)Ou^_6->valGKzk;;<00mlXA|b`-MB?6@bILiZjZ&M zPup@M^X<LzJIP!b4Qwg_%)Dn7Jf3Fh!mC?-xGglZo&5kKhf(b2HuL;M)%m}<3m)uo zw*17}zD-B*Q1e^IWzDQI365D;_cc#(y|l73de0+0&wtmON;5XCUCU*^o#jh5vr44S zB&pLD!6wf>ZAfo9yjn!Y>Rji(wau>cUzp9Wy#H*PZtAN0&$YGe|0LSge_Nl#p6KR0 z<M^8p8~gI9-r{N52Us<aGG#AdUwJIp(xG&9ONnShdR<txcwqJWWej~nroL_LDh@2= z2aI33<@G%`T$9B1B2a5tYSSuLjXxp(8E-09h<#+fv5;|ByA4kuW60!k6^CT`Vu2^i z@~XqNL^dQ}3DnxX-Nd7T@ns<6)}?G*2Q&lO6y6(#czj^A+Gfnvz#<|bzy47Q&qslq z3)z?yQX~olc0Xqb64rkIEm3NLaYTgdwDuPD6S@42>~aqTq&~>&9~2bcQ1h}iLnTRR z7DMeGl@7rvN*A6>B(l~QZ02hBaO~4CpJ0(W;YY`}=N%7^drz_GoOPmT=Lfrn2<e>y ztbaeVWlRYAbD7a6HI5@AW_nAN<pHKMY%GV>8cZA*;}{%79nu^QFlC9wmMMgYsfDcH zmMy%1aj{zP$)gOG2N=#s1RJV)o;$%{F_l@?;lF8>xvZ&ytgD9U<%Q}?RZSPTGhS<C z5vq{S3aD;99#x)D=~+;IH8FR?)aol6QzACRUJ7JXX~?^Lk@4Vh<G{u0l|^1R1e+6o zFv|r*l`m)dv@yBMT;AgV<8!s_-cRneTZ9rNvL#+JdOlzj`M@ClU1---rg#O9+7ofx zzQpygi8pa{2z@o{mM|A$nLNj0^5kh9rk?Q++9z9CPPRTdDf8i^v!CqV7xPXtnBp9% z#9F{mUBLF}sQto}EanA0Iu6XD2Ux2%cvZBeTL{EPwl^?t=yph83O*^wKY=MpKv0P@ z?h<Qg%C>ab4QUnuj9#kKr5M;{7KD^%vh%NCw`^d}4*1Vxag@Pdlr_VFarg9Ql>kQD zHr6x=(<_br{h3~?Qgdy$nXGM1)?Hj-5@3A2+4g2@Y*%>soS7lk-=YF1%Pn8R6eVuD z^#o%<Lu`RV+GSQIi-y=T2e!UX49ikvt&|Hg(x=%ow2564U~po#OjGw(E?`n%+sGO6 zC6P^pf&KJNcM}7K<Y!)ihGr41lkU7sO?T|L>)FvTW76ZF8P6i;wXO*Lbad{EN^gdZ zoVOSR-mm2RY&n0Hg21$f`Am-NDGnh82`nNX*y=Xqm@Hr@+tBrJE89|u(3lSm6=Doh zYMy!u3oQ*6a%+@di)3Oxkapa{Q*Q!e@B=0uh4g$jmbeMiEf)Mwxi*v4@xUTU0ndpn zWh)}s(l=DbC$OhFuw7r8Tx2=@PKRsO0Y=XSrN<(>?}Uadyka=bTw}IoV`JKq>F!e_ zE*P%4#uy@=7LzbF@B*vbQImtpeU1{LDj(Q7SGG8Mu+7h8*G=}io*KgCATPp^@#Q1K zk|opsu`_u*ue{#ezRNV_LmInC1DpHug})B7rf*<doszL>O2+0Zako9iBCpP!WVLci z)XME83@ME(zjTUe{G9h~CNF~{JF5eO{HFQeC(oa<VZM37D)tTCms``HES+BVfz4q7 zyC!SMjnB)H5*Bb~ESx0bDXz6pKa^?3x9-3w#;h<Vl>~O31&LB-3-|3x%P;%yIZ-6| zh#A9a4bPwpthTPD#oO6tyEBLFV&#@dytB%4)|IuBRI(foFa%EUpSFGGgq5Y9Zj4`c znM8e`kj+rFK)pG80?W0n>t8y``-B=l%9_1+NoAmLsG)Lf=gp|uJClE$U|P==m%Gzz z3+J?oYtt&Or4?;YJGgD3w|nVNV}{HEwmYj9x-Vys*}#@wz?K=n)RUy?=CE19a`TKP zO`i=6Hn%rB9oTHYo55asi{tCfPTX5OW^Zw;-s0}P#dh}=*WX)wZg27C-s)w&H9~r8 z`0lNK*;}KuxB6Re3DMq`;=L_dn<cG#o0IjHoYUK~e{ai*-j-p#y(D^jS@rgkY{rb$ z+pA~)-(I23QnPw{6ZejmY{us59Szz$+E?#r&EC;Ddq>;p9TTm0PKn+*t$ODS@0~sg zJ7@3SIsNrcF@{}}U+-L$y<;i&uFwTLmr3suo3Ly4>s_H2cCP)sYo+w=HNSUlie}w* znk7_$&E)m&o<(H`rT5r8*v%9WSmeME!M*Lw?L7&rw+cMibIE#d^zA*azqejqy)}OK zUXSX%;jg#EW^YZl-j`Xut>E>xLho&27q(>W-dA#ZU#0dIcZ2Qkv{^oTZ~tD+QuBNJ z@7w!py?2ya?`X9?FzNRWmNh&2W*?X|dneDG19QB0ItA>S>Ah?I>0PU&cP{ciD3Wtf zs%E#G&TgLryA|&2+>y<AfcwAJ(df+^(>5PFEqHYG9&QFkN9nzWHhWEC4qrLF*?i66 ztEUeKSs%8PIdb#&;ZW}*&N)Xsv$uJk*%HgW@5%2Ysi*fnw?3Myy}x)j!`JG4<-50i z@80&adV7cTj{nlf*nAH3Rv+u;-kH^NAp6aMiNAN`-8mq%=iqAVgNv(=i{%_#w|iIh znS*O~A6Ky1Eq`a1S@mWOo;{jt4smUrqb;!4<jo2H-G}XZ4o~qpY0h)fmiy$4nv-^a zPFU)kOyEA{bm#EmGh3JWYz@AB<nHbxPiJp?ar@MF?W5~uwmZGv7qw?w@$I9rIoo4( z4%EIrUDmy0f6g(^ngbbo4siTAc52Om8QjMUb9M^8`G26e=lFu?v!!<q%Dp*WFLPpj zHlxJKGPCFt57!*hJj2XXz?j#tcc#qAv#U?eJi}l&fj#m7L!|&)?F4o^16Df*#>fZE zjt1=CW!S!*VG!7Gm`(N+NAAhVXZ9?LIdv`ih~t`5iP=YzP9ItQ=ZM(ceVcfWK9@ed zWzN2xe@<=fIsHxgQfc-6#_ppGKF75G?*HO_=E$65r(@3K#O$0fd#Cx?1LkXw3C%ga zdiKH6H<z#X9CUem{Mw)6ZP_QZea;zopRkZVC#J@37I48Zhr>VnYG2F+-V4mJ7g%`& z*eVrRc`h(lUSMOYy_PZeTIOB0OE=hZ4cHwOSPM5WmF#75t-fHvbBcHF{|i&!T&R1y z_e%HPK<*o&YflN~-jI2FDnELEiuHcw-hDfIE~(UBQd_(I*Xh%GvS)P9?l6cwu<y*7 zf;%@)-Z{2l?wRScFZ1y1x~Ox7f6ZCvxyNPa?7Fw+ivQX}9W{p@^h^{#pb@XY{^arP z1G?;o-rg2>y<W6|>G)llyamj842*%E7uX9J3JVxc)ZWp4z*by)*GhoBq<|sj0E;$w z`JnLww!8&*OYUy=J+S$;@8P$5&%HT&j(fwsPj9b(tG&P2=Z1&P4avQyTK695lzotw zecJi;jc}eFF?Y7@JhOdw&C%c8`|GsNeDOZUq;pJ6?iP2>8Lm4!PWjw2zI(=&_pCzR z<;#2i@4C2W=fyQw)YlyHt=+s&dyhsAi@HyByn~&F;vLR}yQO=Xo;2UNYJ2DCT!s^K zA3N>4n|FY<q~Ko3U747IdvO~cUtjyg%HaM--=|-E?|*)KFVgR+Y0lNqx~G%&+>5w( zy{7m6x3%Zatls;N_kmdNsrFhHro4S#e=e51JL(+0pDpis{qE<}_ioqPyYHX%0YSdY z`nqRC_zp0hIn%xS;pEc~rT(3%dcE`Fp353~FK4g5(#oTCVE3bTnR8jsub66=iGRJ# zSsHlg?`^X_A$z+!MH3#MsC{hR_js+{YxBOx$7=7GJ$M?X`z-q0(_QQCMcsRC{^wrE zyOaCmjvU)}J#F6`;lF!Ca{q66$i1)c?lZqTr>^B44UD<eBYUQQ?eiILkMj4~DdygM z`0r8^-<dk=Gi`P6-t4<+8hgg4;Z|SVt-Ldr8@zAp+`Do#Tl4Xp_p|oBw~)@RUGmDB z@AW3TJ2rk#_RS4gTld&W?~YBJ-KKLNxb`!xvpXO1_uj?TuchPPgyua}sDE>O-|II% zZ(iMfYHjoEnBB88_dcDw_vXsHQvux1h2B2PzIWqh+@-KRpEs;|pqhJ$*Y4)-I}a+m zFLmU-JG|$nd;P<tJ2z9$-0YP*79_tbL;Agl-({zU_d0Xl&(wQ7t?2fjx;@8dzkHy> zru~5ZiSA+J1ZI|iuMf_C*v$82rQaPpzB}vno*d)-|8%Y2b+y7f><LfXH$2^a@8g0G zPe1cMQ{d-{I`_Kc{A>C8r#5Fk^__nze}2z|_n$1!>^;r>*_8jmH|fv+WuIHEzj0IV zbY<OhmD~q=drsfj_x#)KF9|&F7|-ml*!`~E?rXUJj*tINcXz+v*mm2;_qOJqm(O@U zFv_3P*Zyev@3w&ap)me?o8P^%Uiaim@8hSz*RTA&Yj^JZwOYq^{b$ntKX&UqYu5jv za{fm<|Boj7Poa9J`uhLr)PMTq|MRT${~7iFXTRTi_T63=ZVq>DC+_C9mX7wW&W;}U z9;g21KBrEx$-Psj&X_uV*5rA!7A;;Pwq)_Ll`H11Ub9MUnbXGgo3?J*u<5_B+wMJk zZ1%eCPqIncd-$N+(IW>BpWT1tg3bQjm(PnA6>%0_*VgvATcj=i`1W-lPVpCy?_6ik z%e$-1e)G$%Z@096nECz@@csAihiS$GWseCuv1LatK2+nIF3GF#BU<4iTMO%dE=HXr z{ELsPN$97s+`RbMy-(e;%Y}1Ns>c+yWU*PEo0pxPZBhK{PUqwR#rfv7Orl<sS1g*( z&7vB0WXeTF&xvz_q8?;U3Uvy#&%MMlRd|v6@<Uy^s#;;%o7Y9G)U|dLH;6wrA@Fvo zkKWyslS?dT|JKpJlfZN&=EJgecXpNDej@W@n-ib2y)oOF4q?8y$5me*HD>Qga^sih z-Lz%qf1wt~X(yN;{U{WF@9>zpFzv^Q!whDJWO>x~S8sRXu%D#g$j!fR(vwq<)S|2Q z%qXh(^xSaj<tciTmw$bIqmk`y-isAwi|<ZsGxyq;8NSl@a{r@}uYaz&H7_`IpQ~)m z->{_K9asNvyKWMHO5}5x$r%oY-uU`Z=IIhl3Tgf}H!BVwX<55d%w25x&V|kvH?ACx zv{;w9?Iu?Yiy)hH;*uL~Vk>0@Zt_JgIpL61D06|8#rn(y<+kNdCET6a1sViB5BPqO zE_9w}a%a+6#_KXZx|WhpeNOpm&MgjbGFL5&DSP=eAa>gIyFp2lIzuX7Eaki(*1o6w znbLbt(e#iR6{Yh9^8dfRet%vy*NFuNM<g^DjJdpw7Z|?wS+Qc#Pnl&ioj>O6=(T-$ zquJMLMqycli}eo!_pabM%Z~F%76~3-Y3%aMS-y6~3~BM%I~i{~-Mt|Y<Gx?8@`=3* zU#HAEFSgT9Hbfd}>P)@xGDLM#bk)l@o2@dZ3s>08)Rdc*9QXU#tXHvH)wbV1w^Fov z(UEY^+L~A2?=O5Q_Da5)iQ`mrW4+Xlb@eBCj`a%o+?deHFL30bezJDO!#44i@7&HW zEi%|>V8(CO=5L<oam7KRX32`eu1Xfgqdm+AG>-B}P11P8wJGXaZ#K&xu?rr%KUpnV zXT*G4dtF$U%bIn^KkeB(%|B}A8t<e34~gh(@vzrkyT#1#?A@T-=eCqo+)JG;7kqE& z%`~-pe23(Bzii{3ZqULerEhZB<OWZyP0WGQhCFiD9-5Z4KR%vU5OZx|;tPiwU(3mE zD`v{%aVQ4LB^n%Pm5*5<c$|TUMRBI|!xCo(@pZBcv-74sy!?=H=Qri57ylg$E@UeA z{QGoPey2>;Bnxdx>vdM*-?Pu}=w~^YQ|V#iJYl={%Sj)?iacX4olviro#EoEJ8zp` z>FUy1udkVYi%<F-dEMlb+~@nduAWvsAYStSZR@k$l^dC4WG5Mx|14H_>q~t6#dd~3 ztOTE<7|)x7tTwkA+W90NvFTMbaxxm<Tq(6k>PC&me;Lk*M%SWHL8ccBW@ZsSy>}K` z-snjvHIbIJx0%}BZ<xTo{<Gw{pcUG4&%SFljy~s5bD`OC!zx}iF6K<9WGNnA1qGd- zH;b!6=PoqW_I91)=Qn4G%^aBo7L$z!<>#cyYQ1CexwR^6n-HU2O)kIW_fzvEY7<u& z#qsx)So-`-*}B~<PK&Yi=j=O7%Xy1V=<=DJNS66Bq0QvXgZjG*nx+4ISbX}yMfOP# z5Al8Zu=uXdJ0rm}?kvqFt&9Z)sf7&<0-G2bB~uKFHz_$VJ8idWx^Rqr=S3M|4^!sO z7K1bq6<M7`O+mH~4}&XDI7=UDI4pAaQnG|os`RG^%q~U?LW}>Oa288R-8tWKb18R* z1OKiBK@Jwi1Q+9Lo7$#Xr)f^?^zsq&E!)6ux`46E*GEol<BvVLU)$q;Xh|D=Iig<G zH!+8;D!O^s4{pXczP-6ylJBl#<o{*pCi`pBgv2Kag7v8h3^5kX(k}|yEEYWENeP($ zJ3y>m;YcH6<qIasM~cU*r{o(<=~j^0s<`7?MqBeN=~Q7hp@}j#7fdzlU}kJGk!<a0 zXj{<Pp;O5!aOtPAQste43^fi?N1i6~9nNtMIecNG!k0w8Nsr?N+9H+B4H^|!oC;j^ zNP)j{$HLS@feY6sJYTJs^Py?m&$+p5Nh)c7S6Kul`MEWix$HZq(j4f({GUtQfx${( z0kesNlZ-==;4_78B`Ht!EiE5Bjb=RLp8l7KP0v~*?!}>bKe&|Rk9kDdb(TqqA6O$} z5Y28mL$R(X`0;%)Exy7fhqt{nIPRAi%qe@}U`Wgl`TVd2%u{07Qn|PlT3(q;SUfXh zWdCu!-$Y{~Z<?Rn{RkhM6jye&0>$Ml4x!qcH#94J@mnsfa)7VOpn>tr0{3N{O-@Oh znK!-*nz^IVLA>IK{pBqS*?BI^2oY4jYT)oyfor0ubK2C_<~dx&o2(d~#Ta|~uPaz# ztg6qlq+piC8Y8~BzpiJhBv~wTYT!(ND^lIPb7G!Vdc?uWvKPf1*iF|sEcczk$awDm zgckLG%?wV5F7l;qn)J}IZ2c9%IG-7hZ}7ZYz?XL6fcU-zjc5FRax+aR+Ouv=BYRDv z|NPwRjmsYHwW|%xS-`8jfI+n9`o3@6t4*D=9`f)%I~BH|W1{X~w#zG+KX6O)7=}8^ z9+vbx>Qy`SwVSNEi+#x#Up{5i?2b>4hOV)Ewb!Rk?OUR7|FTP37|R8pquX9BW`3ct z$Exe>KZ}{IeQ%9;92pFlYYr?5X}q$M=f=_}DvOnQ0*_rOn0ma#{Di~yWj@89E;uf) z`5+y<?I3$fEDuZ3Ny8()3mIb*4z2u_-OTAeeX<$H%~q>vr{!vRruN!SnmEm5l9Ne7 znv$dkf6x`J|EtR07%yJp@ybnr-R8(cK92<sLLVF$G%h9bZ%*bc3YsLNcD{m9dBXzn zGXkkv{*k95_WhW;(Z)_Yzvk3jR%3&2$~;wTPse4x?*97W(X{u8>$jW_I3|9=fz87I zC)4y;cJVadoz~AK>uR#E<S4I@hz#gy5SD$}FR_SO-$Yhss<)5ju7fSVZmu_EQGLg( zUEXljVTa<Oxh0X^uV=k!d+|mmiGkVg>BF$ev#)Jwo5){rvrX>Nh6C&~OT~kZ+AqEI ztKEFn`!!p%`NRAo8g{*WkTqei5w~wzqfE-Pjp{u{<tat)3(h;`c%;U)h#0&7_73fn zFkqLC6J8?W{G|T#UH+~I|0mY(JA5H4%JTKe8GD=Mdk#xk1T>mnXyjAYaGol<fYD;b zgQmh49~pC&?(P@a`SZ|46-J%zj~dl?PD%W?IA-|aqkcu@sXP1Eq&H4HAG^iXzq#qy z%?GUO_biFYJt8n6gFW=$)Y<h<;+c=JO1bR2(zn?0x4L_^nZ0@_pG!KQn>$~)JHr%J z7M=y{CtPFlE<^=gmr#Cc#}n-SD#4zSCCE5Ha>5aVBd!)JE_o<CQW9X$R{zY)6wJBu z66@}ea`uT@=B8nC({l7K#d$3)%bKoiEl{!KP;>AE_Sy%`_A3NrM5N6G;<^&G_(H-q z6#CRI@Jac~+kM^f(}Z9>r7D4~m3$Nb2X8u5w)vBVLa4x&gZ6u#Fi)PSHGOjI!%*d^ z(*?{IDNi)c_RvVwE0W4f_2oUlU~AC4@nKlRiq>0g4#o$nLl!XbE3lP3;CCuu6mt>O zy<&BMDc|!Eo5*s;&^Gqzs;Sqmcg|W`cx!s?V`2TY1GRV68Sa1g;}_6>QZC+hsQ&Th z`uz&-zn`erI=bZtrg1oFR4!B~PV_%gz}QqMaa5w=O@l;GxOvwjHtPedCg#!qO(a+n zn4J~~>}(TINp94*T*C8^Rr#nvqj9vc09$Z}1=}{IT9ufH?Y!C!><<<+-cevLyuiv{ zV3$-LCf49EugEF+DyyP$)#Q%?ZV^6Po;fpL_@A&eP)c!gIqyxck_Sr54`mBgYTf-H z@TyhdodGlBGQ*um7z8%N%9b?WILgBEq2k0bmf4eIkDE<eo+SNbYx(VKp3+BHe{8m2 z__2Adi<bUMueceOGlP{^ZLFLS+_LOq97ka_n+u!$qgqi1=Es|(xD&J)8J*T$uF^AR z`aGd?`qW6#>75VUQx}{_l~nHv`c}J;qiErd+Td;6_5ww24)uRNGT3iW-(->c(4ptE zP<?Wl#x-XB#)ab5k-WS`X2%TlzcsmCVQ65`kT`my{_zLp_lFffRxrjiSQs;~v%0Xc z9%1b~*5G8oG&Moc?gE>G0DEQtTV4TMoB*GMMyaHQ`RVlkz19Uv%okWyLmZ|YR{V5% z_V&_={pJjHUzD4^c^p!kywNc(yJJ#?$;4UHwI&L-@CZo#y&5-pWBG-j_8SA0tu{Cs zPvFlpkTjnrW%ffLc0tpbCsIWXmYb(L3QzK^R1dvAh1E{dpkJNE%2jLg$DHdSEx`vE z@=U{`o@R2+%ue5tW#^=2FQR37DQlim=wTP>rH0u{1sA+i&|dZ^HpYSZ$o15u1CfQA z3@i`W3lx~LHdM<vu(2B$`zA13B}C3BExZ<<8WffqoW@pBQ22Q9w3Ns~X?2E~sf%N` z6$Z6+t@x4pF=%>o(DbzuMRS*`+dN1unkoK8N#mTtjBoAYO^?Lcnf|*)h&7a5^skPr zQ~zFn#DdSPoj3LZL*0a^jSr>Paw=W5$SrMW%XkoW@Tl}|PmA4G*sr&EEtO=GQDa@@ z$e#LuwWJ}VlsUR+1M}Bq7TOQ&SX4Aig59f=V}g&fdMsZaw;-@in7?p>H@o8G3z}2D zT4*gwl&W4{8T-JUvvbNy!5HHSY&q_8);(mae$FPyBDq2-(cWmaO0wh`6{S5F9aFa( zEiTeJ%9^;raE<0>BhATkmL9a1I5g3&VJ?TF<m}~ToG&w<Z4LbsT)w1mcE=R9Jax+( zF9nth#R)BA&ktbyFsmbIS;wp!UHlt5c$C;n3<UlsM2d)~&dw;D5n6k9d7)|5|HY}9 zg>I`hM3_yxxqRBJjKVmvMP9$AdG6xYEZDf$fN`mWzFfE2=SMt;1?oQ~6`k3@EgxNX zWrEo!q3Ks0?6!M!=Nz`}nHhEa0ow}+Hk~4Yssqhzf(ecRZ0nC2n9Y`W|6vxp0L%QO z1gT<yD^dwO4y)JhToGX|v0){%@d9s6BlbMgnazSqc>-Il6r?g9u$C$``dwE%eRXz3 zd2;t*2Y#^*FVoeN4l46bWLqp``6*L??c*dKlgt(orTD7?$<_>aKUmz6^!zB`*>aut zd2`ae2Z^7bu1<0fOI6Led{rPjLwZ@Gbn%76zzYdq-K77YRC+6Fw0@NUvxD^U76Cp( z$=SyLnX9jtPWfG`{ee|;0Ykw7#<&R`Ycp7O&1NxK!01`P&a|A#W5VKC&D2xc(+q!Y zu(aBc`IEIGAeEt;J+7_rs`uhqq8m+rG29MMy(7Lc#BCpc!=~m-T|Qb2rIKmSrZ0IV zJzZn>^um*cJePR3WGub7p>C(gjKZDu`NBLMFE^$e>$@57F)3+q@N6y;NXVT48ohJ4 z;9fDCZ7mlIGXo3nG1e!WqdqO}S+C0f>hXc}f)yVZZ{u}jcl0n)y~KP$Bj-a0uXY35 z_L*$V3YJyHnwwn%HWV>h3B)ivus^iW>|WJl#8XzVdV$x`?9T0TXDm4+-ql_gtvsbX z`P&W2><9;;YyT6ank=U-&zR`Kzr{N<p=O7E<<Xvrb2d+8<=GX#?4!HmN@bau+0wzs z_Z%?{ULZZ=FzbJ&1-Bzt3v8?0z&&NPqk;4)wpkf$t4{25o4_Q|z^+xmUb1qD)`Cv0 z1x#}~3Z)F}OtTh0%`SYzy}^`ggIs%;>#S*ud%C8Z?wdPj@robQ?meH@J%>rrN@EKT z&pmPdwJ*fpNY6Ojuw)&_ru`LWEH=w(3(vIAJirn&<FnG{udAnjZ0hN`!6tc_A<*IA z+F5MEJQIZ1oPC>m(6}K(mUTgXf<xW}R`1)(nJ>&b_Oyikv0X~Q7Hx&Vya{ai4Qz%< zeb?@=syZArn{zhv0sD=Bet`@BbKfh(lzdP&+hehRt76%b!_~selV@*!cEY>hkNvW5 zd_rRL?3DQT{o;!aRp!)9%;WA~&A9#F3xSEx`4(=I)N;+7ctoO3&0v1Yq?D&U8!s{} zjn10un0@_<=dGQ~_#D~u?(E!e#ava;vPn>D*7Z;aPs8b3E^TPcIbPLo;=n2wz$mqV z&EBErQuShqgp(o*809AH$#!5A6JKJ|wOA@(FT?7>RWkcT%a`2ezP@rzVe#AAr_!l+ zo_E<#VA`O=pt*oM|K`4Y$LYK7L_Q9lzE42^umR(3VTqq9W=HqbO<Fsh>5y4n(x&Ff zwDSkf9DOlkO9Wf&g9E?stop-q;oqFIi;HHjt^9vZ#FqWF51aM(o#_jhop(o-URe3j zhppoYTS@_&>6^2HGOU6zOtA@f)<zwU{lK1Hz}9;?>VgN`(bC386^AZqu)mpXo?^ft zy|{8iqvhAqd9SoQHf@sPUUKwq!@U{G9wB>55?37kR9nJhXz`8rvU;$uQ-P5=8{-E9 ze*Q9sxlPW-57=utEJHku{K}JWOlvWd*j~Y*Qos6QoU4bd*d_C40w&AZL>l&_uVwNK zVDwnPCcA(wt${_$fzjgtqvr$0iUyYW1#FDZI}^_qHvDCXjVzoOvCm1WZuZj7+_`&q zuIZ|(-4N+Et?DhKba~gTt6j$K#nW8bvK)%j1fB-RJ&lO_&z|DI7_jeQMBUSXb59fQ zJxz5ejtgK*Enq8W=!^9$o_OnN{=Yj1e2XWrJuO)9G;P6CljTpV{Mc&tJ<pSSk<a(k zQ{j%yiRSH{w^qj<R@*Yc=0<#J#x99ZFT_=!`-Gq8C_MW;XZh;8?hX^~+_>X@lJ}Lk zE4vwwQB1;$dln9<4h}-4FL!U0{!#OSM}al=fXDKnz%8ddj0IRXy>?%_cCFaavMo~V zB@ZkL0|Hem-fWrm>cG=C`=`HBpZm(b=o0(i=>4gcKZE1veyKRHb*>hVWq;o5KhCTF zG%sJV@y?cYWfi}UJLkUnkf*g=$>V%2ds)K!W4qZ>3*MJsV9b8-K09HLNWgzKkplMY z4Q!qcAK2pAJPkfD-+#*I|H0FNO{o8wh`|TZc(!kTA9(sdX83&+KmRo5+(+L0Jt-4D z@cMrc@n<$M|ER_PiIe{+kN?vMzNevj&jRC~>fV1g&GhNNTc1+jeGWYLS!DhD>;^W8 z|95iy?xvjkB9gyceCwA0v8Sa4&kGoyR@{4DSJxPE|7p~}Md=9#uh+a<Hv8-;-FL!P zFD)M!z7=IPee;bu;Z8391oxBYw_ARzV)&Zbz?Of(y*B@#L&4d*Z_c;OKPxV}OGGE| z9S^^7>Z|T4D|i;pk}6`WpKxb6_e;B!U2jvJN>`K#XGztXtX}wfi?Pv!Wl78VzeVRf zw>Y5s-{ayv0f7t6$L76yui$Zis(`Tp)1r38U!n1H=9g`$6PWbS;=nzN9Cvn4-j_=g zovQ!e$?SXo{oTh5xes#d-?Qd_EIaU#xt?9@JS&g<Un%*I!u{{X*8k1aE0CD~=}!H} z*Y`ihO<-X>|54t*_>n)eaQ!Ed`yY(#KT7a(n534Aq>7}Zcy^?u^<<^=Pw4KMGI_$p z{@$6rDXBB3PMg*`H#IdoBYmZaXL?>-$9nC#bJH{OV?@%+m##1E=$+HEulw-ky+=|u z&CSR>8+(?S`8;!^WhBpyn>T|ZBQFNVUJAVQ<l&`<nO7WnBF|RUXM8;S`OMk;>p|x; zKc4yc{!IQ0!|rQ2ZvW?4#9Z<?Xr|ybOONmFiw}#O+ojVAFD;Fpk?hddcSS5q`ecIa z$(*|`S(C-yD~Ma^Ki=`MsNlG1&b>uX-%KiOFq^Eg`N{3$PyJ_^XJ5PWYC*O@Yi#qi zDM}_86J%Ee&5tUr+8VOZdN;@2mk!h3$O<jDTC;PrS*8$I_WXU7&d(-DnRcCe65A~v zI4LOg&7RU%TQAGHh{U}#z0!F|@%Y?NcDg1%CM;Yzh1>U<_fDVK!|fWZ-6otfW?r1u z@OM&+M$qD*)%NOKq0e|?_RcN1==8L5Vp33^)sf4h{pYm(N*}2B>*-9Ht`b)@`Qua7 z#q%m}Y@WU&)A#xIwuc8A<*%#CxD-A5zlgWuMNix}6Ndwdr=JV#-cxy<`PTV9u3mq( zpf%>c;%pa94)D}1*)-RZcO|=@xT=ANuemH|X|Jhl;o@L(<;adnRd-z`A9f0wqHr#7 z&&JTHApx~lucq!65ef}8vSOVU*5G+{YFa|1tA}EcXXw?`{Me~iQdegzi;Q(|`!-F* z^TGm;<RvS9T-WZ*ICisG<jsy5$sW@bmumJ`F6{{G|GRYQv~)hDr^($19*QTmZBUgm zSm*d@x=O)}kDl}9JlXkV@><2D_IQ&CO&*#nRIYYT=zeMzlbca;z_tFc>~RkDv>!re zbT0fAT_wJC&vO3i^9`G2y`DR!oU?ec#F@{6|K5=U|Eu1ZD);ODb`VaGS~=yRn^w${ zBpt2k*CxwWetp^OW+CXse5A$N*5hoIUF=~+zgIIK`*sMsB`5h^y3^#gF<n3`S@Y$y z8Og!rHw;r|#!Wr6XwR}6tMw*mWr;2cE)-1jm=LmchDvB#K!RAb=hmgyr0OfTc`dB< z4SJT4rRJlW<8jS3B7K&t<<nycb*0f6rGi0`d;0@ZB{Mf2{rOTd@k-9;vlfqKj%4)~ zO#FP_o?Y;yWQRbK&IMEcf^}M{b5^^HII4HIrS~$ty;<y$URx}^rA+Y1`N$dRO3YFJ zZQK{<Et&XP#*yQ;a)`tGN5^Di9OfEdfAzFB#Nx>-;iF}|i-eE<w}_wKTP*#WDQvxB zWQy%pJqNea;|%uv0gttQ$F;d#NIcbHIkR1ouOvMCPvDLhrsoCSZs(}ptT@M`^XZ!W ziq}0x+Kwyqs-&|elcZP3xqGT;O!Ik}9y|NF%#nE=EB<ay?_V*|=G?~3(`Km}On2ON zE!V-1jrU}kV9AE9tl6eIhd&DQU&v^f+*a|p^dj4hrxQ2ZeqC4g*KJqg)JJ>H1u&k` zdt|oc<y{>P-@usAcLwGMws;q=ym3_WpZi`0zNEVH+ebs+Y+ze^VNFitj$4x@oOjOQ zO$f|=6>*9uWAnD!V*=GuJvj~E#7xhs3H3#KFP&7dYxdtnvyKYp3;!mxyy*0={J*r~ zv{Va+_4&d!!@fvYWsLx*IfA}IA{?_4s~#_ZUf~up*HHMQ-(?B0Meq1`dML4;$=Gp& zaj}0##NqP-jR$8>J)l4R5tDFfShx8RXU)_NQa_cPRTfNC>g3XK=FerDmp0`=UE67A zDTdGDW=0B0!J4gCMUEfarm4qi^`VDPj8(#%XQhb#rrGCMBG^P^Q}wnrJe9qqs_eAq zU7F&X1Gj80OB<>#>@v4j6krTiwqeUnY4JExEOvF)t-CyC2~jC;7X?gLQDL2->(iw- z?Zuf{y8S|32bNviq%hUR;8;@RELX)V0&_KMA5~9^etiB`z@!`nUf$A5F6rA7w(r@y z%Dl_sKd;K(lSiX(t>Nv-n5DaDo5@m-*0!hCF1i;CxE5SoX!at@RWt0s;n^D(rUhCs z2L~wnt@WKWIXjs_UvMGwiwNDM^aZl#ZcOt??DQ&p`)A3ckjevAwjtRfy)#Vf#afG- z&Q^u2nR7g7n#(iUL+PhxACXcrR(+w!l<}9Re+SzJwyg<%vrK=#xVy`tbBWDU-5?41 z8MDmJM^?JqW^Ul-u~qI!<zZN3@tEoJt_<Ia6BXTLw{R=Hn!suKw3}yc&UGc8UuT>* zG!?fBvgS<sc`)zV8t&8wOh?#e?Rq#TkvDV2<Fk4vxlBBc@|HB*2(4#p%-9m9!JP4y zuk1qe{Ig~J#y1Yi{lB!z=H|I?+p0P83UV8wFW$=GRu*`dS6aT=(xZ`~y5XIi*R8hu z=gheF_a5R|<j`)hK#{K`!?UnwYM1h?0ym?srozJ?+VwwP+mx7bUCV10>(`@)`~N7+ zO4q7(2>Bu?_ww-b^fl8~B=9te_-EdbJ@BhN<=w}E;8_uzTOuT45A{vidBOF=o(nVA zUR}d$r|aU$-XN`G<R&<EV@r{RtIa>F;2GUThOcfsV09`m<GJGUR5R#c@a&HZkEASE z@Z!>j<wh;jGs-&-%PvbXTj=rdB=dx({LI<LW)2DbM^xAGuX@vbv+uy^YLC34!*iYr z-f-YLV|v?Xy-$p>x;WFcwd+dD8~)#wElFhOEqbkVna5;XsYAnOmyO9M6(o*b^Wlm! z-15-IlTEU_Z{`PH=19TKC;DGGUg&j;lI#n=q@a?jbEhT0dU;9P*I6b;A_2Z9s*Jf3 z=Q{HL(`A-9RnBHD!EH9@MQXye1FUCnS;a0{afR7_c6@?<Q+LXNOG;BVtw@RNy4m5; zx>kPrx|F?*ntZ;ka`zUrpP!}_xY(d4caDf=v_F$U;S5KqG;0Q%)#?tFi;d^4-<|iy zDP^0`CC(`uSHFAk@8Ir2fp=v;Wm_LyO60%G`@>N{FUIPR<E{%+_43r`-L{PW^GH13 ze4b)KVV8CdKYOERx%#WvxTDKiG|B@UTAG!X{;w(1yb!Z0=SEUH3%A;)%{RV$zsEH5 z*nzY_jp|27Tqd&kn%pvq4dsrOn<lbUdku3!<Y}D~J63w|B<bWNMnt<ElUi%elT=`+ zdqk>m#)SioqKrO4Gb*;Nh+W~B)Sj3wDCpd!9kwWQ^OCP?Z<=1TzrKv8?nKV6Z*gqP zING`21SQzaGJ9iOaPWOsbV%>p2W)Z6m8@DnFbAK=)(QT!H{#7KPj<eovm?S!8eRIx zEw$}-9`|19Qx^{ym)(xduQ@&YZsq2Hh7GG@pK5J?^!eUFo_`4iOalKOu$%wbzxefU zTaNkXsxQ1N+icw|$x^=isyzE#?R6i^s_nOJ%s-K{(SFB6<vIWPUijNHUOHd*ZN2?p ztBn1Bp097V-twQP<iP&FAJ^Nxu{h!)prmloNiQ=&iCI8CmVxE{WVR0txn2{UZ+#Kp zBPQ^>Sf$NTy}eL*U7`3C2Jx(q1_={OJ=G)D7^+3Lc)A-IB&i!t-za8y#ql`{SI#Gq zmrfc>o)~WUD85Zm_TYqUbC2wHqrfLer90UJ#AoD`Gh`oY;`qbR{Lv|HZ(`2zYh0T{ zvKhlFRt9KFn|SvJ+j;zOa7dD#B*=9!OvmmZuMAWECpU!~q1CU;V((m!k`_`pzdZVy zdQ9enntRLJb{(x@yk5h@-f^+KuvD#vCA{#Kc=dkKx>t(rAD`8J7OOt{{C`2ohr0Lb z_0wn6u{YGszEL;*MrX-|&IK0rB?9$JD!P_;u&wZ5mu+B`Z4gTmEaeyGm;JzAyiiQ( zY3>;})2swG&j+F2*P0|BH|@{R&rV=J<R}(<HFT<wMA9eQxdFxfMh3jf%8^ad?H{B( zmGrX?CGNN;;S{9l$;iKdGIvIU{?o(d?USl{-AucTN)6pw-y}tCWk@*rqax0<<inRp zzSfGqa<<Aq?w5}uk6e=1dmewVNN>dimdkDW>n_;sDzm-#js2by@1{org&%lcnehv3 z%zGbP`--jZ;qqAP3GKq=ldhRp7iGkPR@th@ep*&2(H?!Zy!zd;wu=n;Yeg0AF#Jyy zV92+W6zbCG{MS}9b4A_4jyj<Ob?gP~-kx3W*}E2ZOnDQ|@FIQcbcy=KJEktFVECBc zwNzr-QVp$VERDj+rF|2{Uy3x%FH_#MSUsG*d0`^gGSwX6P|X)grW?v+*(4O}A{#yg zGPyHm|C^AjKVAQph->SI^nyYzua7xP)YW%3>S=$K`s>iL?O6Gf(wwb^xz01VPM(l% z-omkY3&)=f%>_5*BRM3#wQ~J-&<tMOyyAiT^rFhR6%*!}%IrDD|MVj3$_WYwnS$3@ zD)2ALdo@k)^|Hcpj-n	oNKbZa=R%{j%oV^61(Z)q?G*7c%FbkDM#fo^G>qvf{#O zzi%l|B>$({a#lNPPPP^(<PY!sFthXZ_d5Tbb^bf2OxKuS@?pw{lT*AZyCN*>!#ul~ ztrkRC*3ZtEx?l!N$pn`6gHi@hx^ohxH=Bs1eq>je!Lf>sb5$dI%7cZMCvxzes{1y* z{$+c;h8O#{_9)d;3*441+BKoo=+>+)9y8(=Fs3;$o4PaGcrl9x6vtjtwTfbtWnu5% zkQuMQ5MLl=GC{2D1MBQh+}>O~!LKCaH!ShgVwj)A;%2}Y|A5sqizP~GncD~Mv;(Xx z3)xc?80IFhF@0E;w`)mU0{eOv!3}BbF&A<_6)nB!$X0cPH9U*$;zzdB1xq@cINGK7 z-%PNsyug+_f&KM^|IBw77&j~}JmktSyMlrJL-h1hH7pZS54WZ+e3hD%#;p8dW#YF~ z<qfOM8JO33F$giN7BX19`PHh`S<D6ut2bCN1zlhWdcb_()oOcA#v`{@`#)Q~pKFcn zhBaq)tvMjI=H#z6lf2d(y|vnU!z$|n=3P>&w|K2)by$7NYBj6DIw6B~PqNnC?^^e2 z*Sa^i*1h|+?t|4j-Zqx_21fn{mWl?(3IzuK56nqg3{nj&=?j@W0yd}=h*d0L@|>_f z{sE)s2UhzJ%;B?^G96$R>Sh;zuwJ}+sdxdS%>ibK0>;t_45b0=tOlDn9X6?YZ_<ip z_YBx%z`eO*0)z4FO`6^8s@9vWwEweP{AT5RusQ9(<}?Gwq%1amhNXG8IFffQi~Y4e zziV;KsihvjSvRRMxG}INR4w(|#dbb{-70E&Efdc&20PUTHWLN)y)%}i32a+FF?-1- z=HOti(hD5L+U%;oH&rBTFI})*wYuP)7`v!o{e#f1M(G`;0XwW7OnsqVVEtk8=~?WR z8(3`>*2t8vjc{X_v1%o|0wa3>1N(+mGrSq%zfGPdofdH|Ek!KGd;|OH->J8>b|p=V zF;8Hgb9?R6tlgV-?c5l}V9vm3w}I8}0`vac3<4Wgt)8{&SoWT)zt-&a+H-REsw-Y= zmS-`q<=%Dc*RDIe)^3wty=nLEd%LG>^kTTrweRJw|5KiLu|MtJx20>}%Tw##L^F5_ ztbd`!SpI<FtM-P3hXw52tYHC*-bXWtFJQE3U@vcAkN?0>@qkh4!!rH^7NOq^Ob^z( z9bguCy)o8nOVTf9vF?My4qF7Z86+4sT4Zmk2w*Thy-7W1lS&MON%bc6oXwmKjONmZ zO-^qzsbMs;-t5W99$&yHoWLffz$ToqHE{Q~9tQR%1<`_6tj9UHa(8p2u*f#MvgHMA zDmt*;s$hpQ_hzlrn>1D*3ai|tle0<X^r5sl3~4&YvTW9+o2}h-bl;Iu=BXVkk9^(# zs%rN_?Og%~Kx<ZQ8TQDer>!}?YsT!o53BYr_hK+NVA`k6>g(`7?Y#Ag>#J9H&sp1L z!*r|b<g!(JZ{I$7M~l(?!RkxDQfArg?y6y)+;ig8>^)ajpIEo%gxP~rD|}9_)nPP9 zIK7!`^>!Ubp9^bu@i3czIJt?7nT_GhPM%YntXBW7JR|gheSP)bsT#-cRqcM(z3+GB z+2>jN63?tFZD3?wz|6`Zmes(bWpK{J;9Qo#A;C8XB3~VN_vWB*!p7KN3}Ua(rk&aM z(R!UG_x@jd&S%)HTcC1Gwda^e!n)rzn=)b!sm8D~^By)>b3ya<S>C@FI49^OO0STp zWwgC>SgQB1UGyf|*_)zyHb<^Gs&2hWRPopYo^uH~n{?J5d+=x7&z^Pvb@o4Bb^MCd zf7WN+r&@YWcAwexN_*Y*-)pznF!3%}Q-6nHU)9<hS!oA#R(Hv)Uj6&b>Q^Ux3)UWe zePUDeiCs3UH(Q@xQL}e)&*^!0POj@ZC2)b|?CTRj2UczN-W%V0>VV9(E8cr&$Xq=r zb7p(ZiHhDc*R#)5+pazub1fxz_tBU$2Xh#9{JFC7&8hR<Cs#_v9^5m3z7^9sos$l| zduQxE^Thhf&76Htccmm4Zj#jAXy3qIv0x*I&xW5_TO|TE>a0F5K4HCJH_OkQO$@f{ zRM(t;{OS@@?uA{om(*&G?e9HyZ14GdZ!WODJ+I4i*l_nI)!9e2|6Yo=S*QK??2TB# z9kQ1VZ7&=5-ZqoHSAOUJzInP=?(aI$le2Tfsok5-?ApuC`0&=+$KI=#pE==MaOGh3 znoG0yRKC5sV9)6lJf~LJF!@fn7UZ_Zw_r8nx*NB%88*pW3tD@<>+FNJ+}(-2_gLcg zaQ?fol;_NHn+Fnn*DHO`9MQQEsLRMFcSb4iOlR+Do^uaEFRT^uTiu+?ur}-Q?l;$y zY#*$dwdd&TE7N@*_^YL6t-WF|cOts?%tG#cH@Wv!e_#)DVEXoYfv3PmsWa<&->i4Z z-Xi>gSxR8z*I&%y2A4TMY_w5WW;5Zb;A%Fx56ow485LKr=it4!BlhyKxySy;T;R36 z!(Mwwt>!uN*+a+fUP|h@U2^YsN8jC>YhS#O`hWRR?Yd`C_a?-xdlLKdsrCICajTd8 zx_VOQs$kw8tG_2Nzj^fHF3b0~t6Aq=`%}A$QSXKc->Ep>z2Dbf`@Q#pM&0Y}d5^dA zJ*<>Hqha@O|Gd{5_#WByo;;SfN80bfpWahty$_F_eq9{<Ncr7W>wBvh{T}V`duUvD z`oO%`*Z9sHS#v}A-`kS2ZxVHPm(9KA{&%$(@0#cZSB_=vY3aFlkd@irk1687{-5*S zv+_Kzn84z>V10_#LHh^Gm@YicliDc7dsuGug~T}w1#*Ye|1q<_U;p>jIeUjKv35uD z{Ei*eJ@#Mb(_!8_nP+Zup1plC_gI_XC)2&_9{hdr!RzIed1oiry_|0M|H_q|d!O!} z++cN0%<r0w+=IFI)>fZ=%v$&5yxyY~ci!H5_iAa~{l1tzoBupIaPO_I-rEIhUhC#D zgz7(dzVAdr{X2I9rsVw(rRBaIv-{Rx`>^=#eT#Ds_S$`wfA?*@-W!d1H&pW8{a<@S zweQAZyX(tiuAketYV*7`dw;EQ*Io0e?#<EP>=hGsaChJO(ZwQHzz!PNcVJ{$&Ggla zDQm(lmEZ3x7BKQRFlsRzlv=RCG~p*-!3Ngftc=#bgt}SSyT$kfp3c!{SYLnOOVrP8 zfA1RPuiNc=xnkX?&VB22<^O!%{b#D(=d<;nFZiE*Jp1Ks>-#Nl@3R;@Hi}y<!1r3z z?xDEd|8I%+Usc}y`fUH}rG2mL=H3X=fAe(y>qmKyKb`*<bN;K1-?w9S|HSLwr0{e2 zDl5A;H#ar4wKkjg_Oh8z5HdGlW1DQyH>=OAPiXpr`HQB`pE|3@eDdPyE7u6koH^IL zXNz)^fG=;*PTs(J6%UUC<>h?!5&KH21q9lf_p3x)ymXjPrCdwILrN;%L+gO2hn&=- zLt5E<*(!2OQWYMY9u*Z#_EPro;`VM5tp6GQt6rR_z{t;2%B8{?p`duUT|imwN4xri zBVB^VY*RJ}DjjE%x9np1nZJZ(qN3-#5Kf_`UQ^VQPtDQndUn#=r0~@r5zVwE0n=O} zy{={iEeUgS=3M)qb4%btm%awIttKWKp+2tiTNiP?T)9?ov)I{NS6;kcxPC{OqSTYA z69c^_*lbjaE)$E`;q4i^%H)dRDxb+QOO;X;CdcnScR<RkC7We)%vpsS3e%qS8L(@G zh-fd1Jlbx3y~Xpknf}T3rVl)>9N2cYV<J0~n#9j0UCy~y6&-W`Y!-5Es$JLn$D(5c z!?705mkd4=J{-!IyHJ1Qx8qzZw_bkPICDS2--r8E7?+8hFG~42P0{y|OTMw%?{7v^ zZyn*B|581?_~UA)st_TKl?>O8#D{qLx?c5<`5O|Z7+84qdbqobhli3-R*{SF4wFU? z;Vjbw52Mme4=zx57riPTYu@qyYe#6StVDPW_r0Z|2{l_EO;75Z*~-;t^=?8$><Wn^ zhixhn4Eoq4Ry3R!mwPagMb3k30t;LGpN4kHcpJ?I22B?6JN&{=Ci}~3i+s6VY{S72 zo0I6LFuQ=MMw20je**J)@%W5lRoh=z0#gh5bX5c#n*KGrIPh6s5paIc%O2;cGq-%6 zw{|Gk<m#`fR`-2B9(9plZvC|6{tDGY7LV)mPab^~wBnw-f_BW^@AI1{T&YUx>K1HD z=rqsB;BM{~V4Bt<Ubn-$Evt4#VzN}zj?TnQS(lW$ICj05vSs!O56;+SJ)+kX&q+PI zqV(jP6T9JybBo#7_yaikg~~5DGROw7{a<|0^1y+`jZ)<S1?+P7A{?1GwIUWv9#pAm zY&W}o<|Si}#F3u|nAeA%>@RJXb2z`S<i}#?)Y2=7YW%ltU&%Um{hPevl-$JY8kLj% zR>>_jS-*VcviVg}^Mk&8<k4CmnYz@gDfRAArGU+9s%zJ}Tzpj$D)ueQdvjE&>B0>{ zT@s01f<n6&u8)8JD3O^rWkuqqLwSd`+%i2Ex|Y%Xz*$qpt<z?hZJjy8>Wxm??^U`R z6FNOk$SrV9X3cO>=s9~JY|TU#Mycz<M)N+TEOrv|e-+R!lg6=tjdyOh;sNoZ3S)k@ z4;L7n)!gqmxF4LRII&NPzoyZORbooBi%^zG=5B@+$^Z2n7wXS0FLKe;Kc%tcnPpU* z*OYx%gsSypf89Gf|5?oCphbD-wfvU}g(~^0E3z)W$hgQV`|jVZ`Ky}?59`)nU+aG3 zjgrzom;Kj%U$)Ov6wjLbKu={&n&gC>v$vdtYbNM8PU()~T_oD{$Zh}Hqh|$~u3S}% zau?&XQZ?KsH8EH$VE?+O@7Y)wB4pn!U{m5umSqk;XmiiexnbjL|B74UlBW{b&TUlS zo%_4V^xDHE>SvkF4@5HxdpS0UnyP3_)#zlrCu}@fwqLQ8%VQ5$X+xjId6m#9^Ui9O z?wu8z6+Gut+zO|q$4u54MjbL@>14V*Kk)7<bv~mB-FgvQgB;HaiTs~)|BuEE(=~|& z6GT-~T3BYDa4G6-NHAW|wyohnTJ6!sugWd#tKC-r5ERP$BK_pfx~1E4Ti@3+)TI2~ zb?L-9SEUKA7aI>1wX^eo==1vh$l)NzvWENyX3kp&ma?5HV7JJ5$td-};YgOdY=`Xw zg$EJ5!Vl6Ie}-<JHF1TDs2*eU44DH#XPWPcGB0Y@m{H82D&Zi0X+gUN10#oQVWh-C z54VD(Q$gu_A{*~nX#M`NIX&;q^MHMA-Ma$1`|6J<U)mvL?{+Fb{KMq=&de)4!u2LC z>X@^_MYHQ-*Q^V5!IvkrtNhevkJF71oRZ-pyDKnk+qn>ftl434n%n)WgeHiaI{Y^^ ztYVg}Xpq@9`v!AcF$41(MJbgZhZ$cLF!sD?kYHf;71*iBa3k=Ubob=BY&HeF><z~f zZX9Ty-NP`K^TPojR!s(BuT5uX)a`OUY4p{T)r%7b;870cyzd^pF*qrm&3C%fWB zq^ofd|NLKfLK@yQA8)wDzQCHXRoTGh=4OpFom)&%ce9R)IFw!5+{BXW94d8U+Py8= z3v}LQI`6)9v2WUzd7-JS>=uel|GcuYZ$`O<YDZnzRJOP_<U)S#tDCd8g)Be1wS{+4 z16xBcA2a`9;dv{J)vI$(a$Gia;#y+7%XG~{J}H57{9KEgYkd-u_U~-q<0@dZ<Vat$ zsWP}G`2PnrgPm$V>n5JtcW*+g9z!BSq=W+>n@uYt`$1Mq2ZN^O0}m8<EZF(v7`QbW z_}))iz${wfY{kgabnx8N4X+%}e_7)`*+?xc{nO95fReUH^?Iz$iluF_hbDPVaob@3 z{&!A(Z}hDvpJr&S)y;FZ=6a&^``eB^w(nfLZ+IpBe7|)4(Tx1sKR2`TwuL!=dz(E! z?TNB_N5KL~_o@3fEUn>Su>9|#&%dkWzD4JDFV@12nOBZ5TYg~h-*|J<ta~XeH$OaJ zy6~_uo8>R-jRT3istp^srOrHXWmjbGDf_aR|IY)Vk_6te4|>bA6WF<KG;+_`=FIx# z0F!OWf{M>FhDoc--Tn*D-w}LMJN{?X)*C0do;Jq`KGgKkRE}N$A~*1w(e!GWoT*tM zCr_qkOz*ADNo_A%I$tIwe9osFJ?rS>_RqSe%5Hg^7`^Cr$j)WW+g>V&{Cmhh^Dys% zl`8CvGaQ+n-)`QcuE6m8MP*X)qsEf9&r3J|OYRKqU@1OxC9m#D`GsHqHcNd8VB%Wy zkXN?Cpjp&5)5CujzvKyr#^MBatqTvhxfpgbh!_-2cz%*Q+hD6~*t<;rW{V>VV#(Dp zcWnb|*B`Zgc<=0ej;(9&>T0FzRE{k=larGFGxM15woTPMw-<}ozVwS;yLGSa*Cg)h zS110OU0eItOgysb4jaSo9XpE{m_+_JNPIZtBUBf8y6Vbo_R<LqvUP>*vONC0GbLx- z<DMpY_6@hp-zvpDx2LGR`J~|U{g+cgit=3co~yF|Sr0CWT~Np_UvbGH!9w62SBp%; zg3k^O7VH@fe4;BJ-ZfcpP|9in`}<psY!ZFhXI^?%haEPZzdo%{N<O>z9`lJ4ADsn% z3%xqNF1YsfwR=U|8v9FR&FgQTTwnENqW|Al#=39f{{Omi^qmRQjRS0}Pe0yf<k&8K z!$IoW0j7rr>;@IA%ABSWY^)s1nD~AOnf_3c5ZZIATymM3l!XJ+wFxXz32dy289nLo zhZ<wE7}!}OvQ!^rOlV8s3}aF_z~m6X$hDwKwBf&$hy$aP1G7W~)B7V#Ith&qA1W0X zm{bE8O&HkEDjTmdGgekhGIcJVJE{3DbAXOm_RGh)8>R#Zg@_(6Pq{g*<XU-d;PV{6 z=`F4iwUKGL$^tAeres74u&8b*y34?>(2$VskQSZ9mhpitJAtiSfc+|a*^@A?EkUfC zlp<L+u-9K;yr$4lHbd{ag0sp7y{tuy%feN}7gYRkRX6&=pu41A)PP@3fXB#0w%AGa zT@VB32iCL&Y@CXW@{5^WON9(R@aJhTYEQ5(DboM&jd^P@W9$ni4mKvvXO-F~x)eY= z{2AvQV~XYIUSH8Dn$R72AhX~>gUAQhm2Abv#nn5P|8KsvxY*`;bJ>>C#i}uJ?!j?p zwSh09ynmGV&FH;;t;O#~ser4t0Rv;u1lG(0tQie#4inf^3tD+Tu(h&Db6sHMU}O29 z#*h?X-L+j+JRro~S#;S4&V=t=)r`z$1{^E~`o-ey#~WCAEO|Xk^|CkA-&oLoO~HU^ zM#m=S#4Vp0ZZD0kN#ieP%V2UyG}>aFCD7y%kZ~zcb)BPXUK)Sep}0Q+@o7^TQiB>| z64<LAR4)Bisk5P5c0v=^x5?@rjS3H%c6%_&9AM;9u=1VB<h!#`)`3|>IKI}5Q7=5g zXnB@#hrgOw_S=Kan%k;#w%A3p_uiT@?ZWbDIX9=}%~ViU_|IzDz%*}qlY#()+7Ca~ z1FUxy*ls<Q+G=c7afwyHjk)TXRN*Dn!buFb(nZZD`0+fblum19R!dMYU|{rM@_fMX zZ4r~GL;b8kwo3~nnI=oFSjfcR%+B?JImAi&ra?V(a(%UWgNH!<t%Q0JhlaZ!7>tha zdKkp9H}Fn-$e8ktRofxFL2Z)rQPnGkVcq3Z&(CBkSirvF1d~NUqnBn!o)KfxgE_Y| zr+!z>fA~{v;-@0h4FA}f5qF<(H7w+M5^Q(DiR*Wwl3v<0|Kytdne%_`od4@*n`0ug zj>LkU6;m94c9o~H#|X*fwZ$$rR!?zb<~zo^m|2=9Y9W6B!>5ztEDZlyECi}l7@Qw4 zI7c)vTQsnC8uMB>urM|AigmK89k5XOz-E!aI`bp%w<7&-A6OMn@KzK|dM+@rJ3{5b zSB6c=>Wb}*>YnN*4otE;ssbI@TGQA>9`ju{m0nry^DC5J#98)sYQaxc!}nV&YRvM( zJtyCeT$cK4Zn{==j#c&7CH`LwCDwlsTjjt|Jd4Xsk<mA$Zq|i)(GRP`4a<5@&Tp|Q z-SlYwtH~`LtL)e|ttk7_wqz5t@r6c91{R%wl~;B)>0DrxD4QD_z_jcbQ<=b&nae7& zzcpnysBdMK)(nVMVVAB-i``Z{q0DM|^?|PHtBk1z_3WF=R2&#fE%;YDvRvBmpG{XJ zZQ4Oz!JCT@epvV~eDQatHTS<R%nDe`yqQm7#p0A>`~gnt?{`#*FtA(gVq<1tDsW() z>&E=>)q)M|Ol1i^TZ0=mc&Sf~Xh`|MVC%)y{&}@?>9X&o%NS-a%j#OjuzRlIjHz4G z{R^tH@3N?vZ(vW}xSX}qsirG((*oUpA0s?3_xo>Najk7d`>l=ck2n5{+|;;h<7?qf ze{b|C@7}1gTWj;CdDa0;+cH)<o-ANyTUC{iHM=}q;zXvVN0WrbmYK(y@)_2D-lclS zQvL1&zTiW%*C_IpUzl*?0%QJ%g)$%d4jC9+Q<$@C=T;751CN3#?UTG&2UfFup80=y zyD67yZTo)~(Sk`b4)szm3m$nfnrxW8buv@@0oLbP>~oJZ$fx_%bgMV4W{kcxOK9=p zdCrWY0_&s}@MgEOvoDrha8XjWfwfh6Yn3?fKl6zm2h^Ck=caKPCoGxTv9wxhws@ZN z#@-2>)w^^{FLD|&>GscBq2;ZuHhYu0w04-GXz#87gVP%iXz!WOwOiMEk9zg)!@pNN z+sr=uI%CWQM)t0Z+2u1;Dl#(`R8|R8E&0Z#d1JF!M$`Os_Iq5bm5*=P<ZLkg_L?<{ z&L0#EJ}go>+r?UXW9O%I@17eSxnhf$of&(Zr7FsK=V!M6n9b|^o59=5Kx#q}bMe;e z3UgRC^T`zGABj}WFZ%D3@=PkeVA5?@L$?Ktt;|hZLo&D?cce|QezsuduEUENiuI>; zv&af8Uh#3JLe(T&F23)p8Pk5Pm;ZKHUwm5LkIuXo#;$9G>rV+!aZt7klsMlc{A{y` z>zzo&)k&RPo6pWTdiwUBmxuRgEj!xtYxn-`{!uwc(`2|<7O<yCOqt^~x7xDl?(Ky$ z+cUM(S6-R9+3B~RY(Z1mNv5m|t2QVWl{{L|vqD{E0yEEq6B9KPECpDz8yKr4c)F8$ z`5bte7qeMqsZ>r6xm++w{iMp5*^<4B564&=lm{^Wf4(zIfcJI6nh00MisuC$3H1g( zlk&a0qFoz&E*&s?#rSo*wToB%?G69SJP)V@d|J3rJN|~~Qrj-86^db8T5<0T>aR7Z zyuEGhDWGnmIj>f%`OuGLiJFY_ci4Ir9_fE2%(Q4%j)z3>oueL~k0$yYbG#V#sYdu6 zkJiUG=YH{=|5I~5XyZJ~4q*d^y)(t9EM(v3ppd0`f~mrDt}Qo9Y5?1V-)wiIvzCcX zv0pve;sT>g0=tw$k?QwVIc>3R8jBMyuyx*H%XMh2Q%!JGnBE~X(=vcXHDFPt#KG6A z%b6zgJ=l7x%AEgp!L}oo>IIi3RhS<-Z*}m?^7Tv{d?EqfcD@GT-id;o(n%kfJrhpd zQdnE{JeK1R!;J#{+opW{#r*LNd<ofAeeU^NFaNjP=(z0B$#jK33@R(<W_oQ%-fFWV zt;fvpochD-<{vwARBkMCxS^L;9Q&ra<LvpK*zEW_=NX@#e<E{p!dd^XCzC3ymVa_& zP@TXgY`Zt+LF^){RjjAFn8KQ7wzI9_V3{+k$yH#L_HtG=k8ZsiQ}`9wxGt<(dujnw zLl?7KquB9;iJGiMmJF@|GX<uxS{8(>E-05};GMgX?G{7DuP)vd3oR60oP6)rnKpq* zs^EbA)7i0K7si*ajrdwGR(W!3@Y;h8{4P=xk9(D~KW<#g?i{yu>yPanDxD`MdaHkz za4B|T>)5?2#cXMzu1u(rRbK3axCLx3XSb(*&{#fu*IUDL4R8Nnztt@Kc#d(i?ah>( z)zfpc?;Q3II#_)w<B?Kcww>{#(-DvMhCi~Ncr(C;YmP?tT^C_12gWdNmTZH))uD{j zc2!OcU-^DZlT&oo7LTk2Y3vdm)2C%M$tYNDD2%Jx#x`4OpUwfsC21>nMKJL^V2Zi0 zw<CrrBY?@EmUr17-Ux<7OM`Zwx2xywwm5WCe;VWLD)%)H9$a}P;QXRswuiua#p}G5 zB1L@5Rpd`FUVYW>d4Tcjg#(q#nXGorUirOI<iq5Z<xQdt>|6^Nr@L8iacl@}l~Rjo zh+f1Xf1_cUxO(NK=OIk1e>SKV8d<G-IQ_=fGcgaIS{g8X3=#USBHXanf4|*-;e-FK zztTCUAa~)+ispY$B2>=3IaT-Qc->9;b8e=`lg#5Dn-xC3eot<z)$%GU;k$Z_><;Xy zahIdtZC=y6PU2Xmi9wd<yeBaWSRE8@tDRs9S;;UrEMsqNW7PvzwGU6K8kj3jGU;t# ztU55|`K#?q*D)4snBsl&o$3YF{0VG92CUUH*<=G$Bllj(>JB}y;Z)&l$%^W2@>caP z!Y%%5TWf82Sy8=CWWoCrUoJ*p;x&12vg2L*^;e7)&lyDoK3jQRSNKt$6~H*>)XKtc zpZ9F5Z>REajf>rVc3t!**2>xY^1U09xr<@~*k-G(Ytm#$eGs2-(3YVPo>tOxoa08q z%$_Un{@WT)?8#VCeEMF})pOs9&o>v|cPo?1z8&}Y%f{~y<5t(}3qPzA+UmuAU$0z! zB15Xzb@}g^_A@8T?x?)%ef(=)6XS(e=3`x_Y#BPfRn84x7rY_Ca>1QQ2BxZpb>5Xf zSFPxhe842TfH6l+T9bjr@j_)tMrB9`TUa%l$p&XxhnLfnU#&RE7*jfH|9^(!->XAh zJ3qLkEnCMv?^zS)oC8N^`ba%!3OdiU@NOepZswiyOJeWx{!V&zAcV<e!q&x$tLC~T zZdkL*zTj%nU#YYWY^L+8*0=9ana=d8E4`JCBPl+Ot2sWtRW(qyN;OuMS+$CF$`m2i z=`&{t&6z!C{(^;z7XM$eblIZN<qOyruMt|ee$j^c>ozajwtCevgI)9Y%x77&fB%66 z2ag_~Uoz+98KKk1Sy)+^6%<q*98`76dSYZ{O*BQat3<P3JS!8uW@#Du?wx|A9*<t+ zXVs59A3uEfXt|~_!Eq52J1hIc0)_(z`MMR}OYodnr0*eZ=V&!!W3n5wxL)>|2^$Xw z9+u)Vv65J_u#Jh;MlW=S&!NUPUyE$5fE5RtSXp^ZGzxA+PH5_!$D*B}=&^{IQ^?Ho zfyP4<bqleZenA1BOMJbBw63s}a{8T>nkn@l<HCbWe7t<w85#kb!+Ounm5q2}8^x#? zrXYIfR->}Q3b`rmX8Sywmu;M9?(qK-gQUYwp=DmPjN<=ov7EfpcR_WhobRqJFE6i{ z>uKTU6TT_q*u2Ilw%o0661Gl1`Y>!^lciMN{xw@YA9K&)GGQtBa8{93K>Y8Wzs2Gz z9o<5fniEV`xX+GLQ25Yz;qams2bs!=(+u9{oth#uh27zdk%IdK9!sZ76~-NHY{m{x z6pmVdaQ(!ga>;g5o0sLrr9rG(D?hYyu?2D@I*PBm*eI2CXQ7*r%9_S@Hc^o$S7N1X z64(W@OOo3QrD`0-*=4@DowF=k>)7PImv`x*;H-iR2SYprS6+{|Z8Q%kcX)8wwSw`f zf~QoKi=$++LSf^vs$QS8774c&&1W-gT23}g{7?E&&>+CQ;pQ`@f@7M?=j5Hsd_K40 z*~;hh3U<9rpWm?W=ko;(n>=64Z#@?Id`=tJtBl1H?0#h|Y4`G4xp2m|&Xodl%3i%( zzM$>ZO4d1(v|3iKn73-x%GJ|ety;ZgnUwaLE$6bb*N8ot^?K!wSFc{LKftE_X2TJ_ z(=F?cM+LBMIIZ?NXWel(?zdaSY_xN?-Y{FOv+au9>b2Xi>fK(mE!3beXGX$2%VjfC zKPfawFiC7|T2yl>a{b;iy)ON|e_pL#zW)!~o{YtRZ*{*oz{Wi*bICNbGb@*IW$*fM zM8uv)>xkH9&sR)h8C5LH<+%kntyp~N)~hwE%CfRgZJ*ckdez=zd$KqFH@TiuylLMf zoz3S?JUjDt{iUectG7M0(tfwaQMotw!sA)dC0l$#0*~%Wn>91-YI>Z4K4YHKgY^Oe z8dBSC<o3mGn-lk()9gV0zi##0Ki_$OIQZpSX8D2&^;>3lr&zt&zFfjzXXBCCSuusj zl;Y2<TCO}frs&j!<yD`aXrF)cX|3_?Gpo<eDPL!@-RAqB;`7(1@$I_gsV@8O(rRwm z($~-Ya=%Vb4a;?T%k<&FItlSJ+23ycp2oZ3W`WTCZP$-2pS%8J?q|;Jck<X{KFlq* z-u3<K)N_Bof0JaF+xVa@TIR>$Zfm)JtNR!0Xg_@u&S$)S_US*`e|BBEzw_@r=C_+S zE}vYt>%xEgYO&XgTuqqx1frfsMQvVGYHhIab=j6|h21O@cHch97+A?H{q@Zh8{Rwv zzhq}Q_M1ocRKM-a<p_>udo8BX6#Kq)Qdi>rGz+^!iEG-VmE})}9ou-Q_EhpS=lhSn zw(UDQb$#m8ZpkxMqV`Fq6FYwzUlZ<LYJB}?f9YT01)>{g>|*TWj(+1cnfWM(<L#Gy zO-UXHK3^zXFQj*%SK-d&n^q@|J(?L%RsKin-j@?jZjt=~cOJ|AsOZ>naBhD=+iS(+ zBATn@*gghN>Q?!!^nBCzy=&?|ON;%}<6NWWH?epj^E5H$AN%ua^QK(-HBFpf!jx@O zb}Zi#sdpMDm@Neq^2?k4Kb~`E#p&2%ANvmQsOf!dJ@|@qO=Yc%+I=R^!``+16GXUg zD%EpX1Y2$@?2=Xzj8EO^z3u(%89n#aj5%F>(%wxDY`LcHUg@egYtq~YTB#RyNtmp< zd2U{+iPJlc3P!b(v(xwUXy`k7?AhSRz+|@JAP-+wKr@qZ%TAVuQmsGDUM336y!=`D zTilH^z2^!h+&5nGqv*wnBdz=s7am$B5Se<!YZFh=1eYWs<8VK}TP2hIUDQR*pZk|K z^@U$wB&OM}<q%YLx@5J@bjiaO)|_>mvG0TqaJ>q-V17$*5npPY^JW8PX%hwh;unl8 zyBHdEQWz`kW;F4Cy3lT8vY;=lHQV9;Yg6~Gd)%#BF^`QbcU`nM`aCmtQre?E*H=!I z{5G*qNAq#WHeW@fut^X0%uzLGw?Fmk)TU{nNmkXbg6Fh;+PvuVnt<+ARu?Z#_DSk` zs=a=i9{aU-?C}weye2OKb~1_N@_J;;A3AW`^20X%Tn=Yxi3zQGKN7a@@y!#cdC<&u zKycCat*c9xS3B9?J3C`)){OX{+g3`Kz2Du&qNF4medFk)HOY&dB$JhAyZj0~H|MRb zx^K4EeT`%NoBs$e{r_O*QSB)2Y2TO3$_lNv=Bi8d_1*9|rq+^)$>9Kd8gE{ay3a$d z=!!#jHyQ;V9cW=ykyu@MNsImG74KJmAv1Mz<jS~@{ojyUc4g-M)+q_hw_~%E^inLs zA|G>nH#}MUdFgGJN7dQ8jwI|9-#2sVOux*w`@y?5Px))AD)CV>!EhR<PsF+O8Aa}F zvN8#*Rx@&$=Trx5ur%Lp_rgi+(}8Q8%H}-98O<&FGHg8srhM!j&GXV9w27{9;M4wa zh^s{NQOB{b7mAjwTQt|*r}tfGwSJn~QWox&QsrJr%F6kbj#n+Xzw8Ke2%G=7Wsi2m z$?)aV=B&4PKHD#*)u`K_MZwzr`Ki*Yc|I>UrSA@Ttydf8z<1!^*ZIO9UMDdBzEO9s zSSIa4E8~xCyg>!cd>`(l%bsaqyfMv5ro@5GJmB`}ycetH{pWdR|KFIAiPLS%uFJI< zW!f|DCjQ>gBwq7ENPpL^gO69=Q`r07#dX)E$I2<5u2uVdS6|sPd!EXQE7n@yOD{j1 zx<}_(*xQo@+p3mdwF;fguaSDOi|>G6>#Lb=e4$sSU5t$vIIvOQ;SI~02iK2$+dRLY zH)H1S%3GCf4l)d~IrhbheA)%g+ruY();n_WwiQR!{LZ=tp<T1@zUwoe^T77&s{fl> zTK0Y4`*PW%b<Ce$YyR85RH`-3*>iHpOgHNXK3x`*<)*!T9b2*b314A{|Fw6krrn=t z{QIP;vE&LV{@im(zFIZ+eyx0!^<Z80bv;g_IEMZE9G?7*c{A&L%#8#8jL)XO`y^UY z_n$SU;4q)sq*hsn3a-ivW|6(88Elzj`JQjvwa50)vE}^|3-U^~UtPSqv?kf4>iW^e z?!j-u+iTAxa$Eo7<KC(Hbp71Robh#izEaxmn@Zl5rsvnhW<8ntEcX4Z+iL>8yQfAT zo7B@2z9(CfU;l)+-KRs_exBB?f5UR(;6Ib|HSd?i)~CEq_-rcP@Oe=}ka&22x%x{t z8_s3bA<L_|BHX`StJVt9uM#aYxME(bT9#HG^u#&2X=}2jNNqZMImdFNE>Ug8%Rx)o zvTjeWog-2x;_mnPa*ET2!Zp`CZ(MTmJr?<Nx_{;*>y0JZjxVA%ePNxX&i?*+rAJ2n z5w_w3ZS~*G|K}WhR;2U2WlDMdiL@M_6U7I_s<)=QzueZarM%&Vn!0>h!<O{6EQ|b1 ziMGN;)j}2FqNYBQPo0jcIBPDex&7I8N?T3Olh|hArrzR$3+^tes#zTpDg9rAO4~bT zI0suit^Jf7Eb(01)<Z2UExXO#?e!u5_zx{%9<4qSl?yaleQy*^yI$$LqSCOuUXMM) zr-C6=z3uI{)})BGpyzGLKUy;_y2HesI62yKB-*3R8xOSy-h7(hu&BM>G~&@_=V_k| zFL{)8rWE8%FT1Xx<-VZo`f*<!j^OSWP2WDpc|P-9aw*uf!|!oNpV<nnUCTP{Jrdq~ z6up{M_lu>neM04WiT|z9CyI`$RsN2stP^WJ%vM|<R(XW2JEDRiE3_@?$AsN4CTvlk z7!=+XpD}TBdMKYp^-h)i0*{`{sXhmlCtX_{+b`B@WaeDOQE=fz*^Ft1=gey@%{s1S z*e%^=_d3+>{*R`LbjzhqogQs{k5!sC2Gu2Rspu@PV7jLFKFB)!@Dv+`=s8JxJ_Zwh zJnx_Pyv2iKLMTUZWn0V7>qSSmwa#}hIeM8zKyxB@McXzB_w61H*%}i=(<km;-p$G} zsk<zxc!zsIQO&PorR|$0B`-HPb-n$(dvb1h=IQ6onp<aFdLCi*GNO2U$D7jfiN>7) zC6;%~`<62$v_GGsD4wuwnwm=cf77%{){gEB#tJN}Bb!4r>ytAlyf>e1sLm2&(3)_v zc&~DCs%E`e!?a9|>Dy;C<h-0H969~C=bZg6-KTDL@98kxHA7v#bNaz0wlzPeA9<d1 zM|p;(XT*$0H5}|Nw<K!wmOJ;SOzyFmd0oBFxV852iJ2BZ?56LCN)^)oxn#=9t=7Al z9ecN@rafTGK9&}FAhFP3>Uzs*kuUpwD_Z8bS4L^pr=Bd{<T{am=QQ!kw!@WkSUKiM zO3lrEF-PiUclM5I4v)E&M>2k13-A3l-F-vs;q8r+g32B}?J*GxT6ie=N=eN;x28uk zdtdA{THxlnNGwt-xzAul+-J`ISsIS(t}bz?`0xMrkzP?l?(J<w+5uBt()GeBm%eXr zdGakazO3?NdU0aaQnTYMn>zA#WGu|sxh!Ypv@@0y#iAzedeJ8EbK#aBZ559eDr7A> zu-%DsaZlY!^O~di3GR#aug&e~TG4URqw8jk^o`i8=QA#cHyN--PH^#j_tNfhgtk+d z*7O_m1xlu@H(3?7*!tHKJ!SQluQ%)FSJX3ePMDdlx7l^-lWCRH)a$<=XDM`Ga7>S3 z?phkjnIU^@;nw2|bFG&93YaMutdUDwUL-X~KyvvdsfjtB`ASxEYhNu_Uln*St5N$% z>8TeQtv{3QL}nTvo0J~D_}q<2jN%<uE*-t5GpA%4xo=tdfaQOo=dX}Ip4Q>bor_P- z-#cxJPb!N6`vf0`)k#`8>=!mfTh7+GUgTKLP^VB*8&<hs#_A2}Yeb@K1THY}2(YXb zXJ>xE%x>CtqH9xT<?_N+bFzOeRPkDLS#qv?<nlXGwxtz5;-&3Jr#tl?ntS$#hBjwG z!;clczgC!)>BlQj4Q+nVF~d=f0rZ6`jkomqaG4*_s_XIXl{|m{XuQL~`4_@}>W# zY!HZECaj(Du#920dhrRf;-kB!W$avYCREnAV0)}XOsoNO)wj?yM+4lqGqFraFuSmN zKj)lW%eA|2EIfa6Q(4gF{?*G3xHsRb+FbZ~`SjI`bYE?beLlUJY0KG=b*|R`eIGoY zJD+Ku_v~FSn3ueiEPws7Z=sZ%ihBQy4(pi~yZ`)LpQOa#mZ6tW*}`O5eB@W^mQ`U# zQp3vK^5%Ts#++Ha^XjslQ`ys|vMXt`mhaBBQYbMp7ZfmKxLwBZ(2UhOp@g@Zf$!V0 zuG#x8a;;U&T60Be^JMNt89UZa%TAJi;#Br%=Z(rqj=uvZf7*Y3#yXAGEl*bNdMVns zI@@Tjq?&MoKW~n8hR`gQZ&SjKMJ@B1zwKGwu9H(^ySg@<SaAB-_WEV%|JC=ztk{#v zm2upZ{l+t9<^$X9%eUu!C^p(&Qh0!2#c_sm@0jGH+dYrZHoLI#)#_=T*=uiB9oZ(n z-$Z+-=bHb^r$+C$@NWNpI_dAV(!<}?7Tn(7EU9V5*~D7Dc#YC}Hk~DNl+=Vj9N^!x zJ|?>V<Bj#<YO5A!^$W0U{3gCFwDNf3?!@?KtoN3sM_x#m^sfJOJ>A>AghwG}&s8?Z z4~L8ou*Mx@Wt3uBF`fP1>r`V0d1iyKs%z;Pzf#+y7ixMRIl6Plk~jOVa;-IcePpur z{@oFa0%Y2+GMgWK9{wwO#m$@fk#~G_X3l6YUd%G5AnA|CibDt78jc<HIpcjRWT$me zhRfE!zs_`*7uguh=Ko#C&9$-a8GE^O$(j>IYHzm93O{V7&Th?+zF#$+M}W0vcbd}g zL+;C&V+yvPF=MtiV70yQf3I~zdd!1#N1N^Et+w->T-Kv~YH82%y%Ie--a99~o^$Ke zsY^dkiKw2woZP<S$WHNyqf#&CF3!$ui_AR#{G#~cEhlW$c;_68YRjJG(Qm(Em49Z% z`7`r3zpRY!?kb6CUEt1s`gPZb=Ue}(H{2`BtDJDcF@S0I9o9^NJVTisD%K1<2f~<7 zZC_j-P|ckfW3Z!`d(Mlnh1(=fE!eY<b?pw;yQk!=u5q88c%`e&pXXv!dEm9u)7o8g zqu%T<@-;Mf3F@(o>vJ|$^Gz-4iPGv_wQF)`+7!KyMcIvSv(vKlf-@IP3!i#@Tk##8 zJ*+R6MpV@A74B+gGvl8Y(-pI~YC}%t?EkF63Fi_O1eqDaA`h_U{O)2mSYT|fAO1Fx zv3K9UIamMNoO<#5YNBuVq0DP1IIq3heSzo1ku2Fs*I#BFpS#mC`*iy&^Cp%9uDi=h zb+x8v%>T{h{byH&=#fi4KbI_xvcBiD=HHW9tWi@BXy??fshs|{D0JtoB^~t}RxJ%K z4X|@aPZYRv$W^|2+4+iZhkX_V#5%Cs+iWw~u;!igZH|2noA>U>`L$+y?vaCQZ=b5X zcC+i0lGe3#Hk*(3PFI<^vqIFo;pL*jSc_%c$%bW}{5|te<`l(LTVLj>G<f%DXECEF z%h|L?Q`4^Q4ZV9ZZ5LBr0bAY!R;PDt+S`i`O`GsTy*0GrfBme#X>-noraQ0~3Y>S` z5S@EqJNtp{F_X`8n=<^?srR|Sz?t_TdENtlzh_0SAB4X>FZpYeP~L@CvoG{TpV~Hk zxs2pa3BUc)adQu_7;K*7)0WjJ#gV*hwWf0IrK-ElpMFg7^_*pL?pWa0>$<hpu~APx z@UE8MSdx<PWZK`|@@HDkT5mHd&zpUhO}~e&uz~HSG<&4LCgTZvwGE!$nw|6R&taig z=}sTQvd=x+vu_R0)z@0pw<FFjWL*1<>Ft`s|DF}Dd$YMCFa23S`Kk*Qao5;n_gDMP zRhj9OcXzY?uRGI|iXPP6RS<V<eXAF>dDX7!BGWjx3Ey{5EpKt0SCV2-{8{dQ&WG|1 z)Bg7FKiv|z!>qmLzTE+aT+mc^y5sl5p6vThMd!L4pUqY6xLfYyzC7m0zNdS&-U#(S z$jW;olYi=X-<r&Sn@-Q$=Q|-<$m|2J0W(X&z9oO28SQRcIp^VZyU!xM7h9~>N$!25 zCHKzl<uUt+gr$-#5A;^qd{{O0IUC>a?542yMGshg-oM<LnX{2|+K0O(3CUG^wx0MC zo@Z|Uir4<N@a)Sr<qY%pJY(Pb>G83W@L#D3%%3FnZ)ZsE%~5++#Qi2`-&N`PZ%*x+ zCepP={xx&)v=g=hEI({ncX~YR^S-wB&hnZn^~}Gg<W$saw0(q+8syJ4XgK23wrGl% z=WcJ+|FeQlhv>%6(#yROyXw7<z=K)S>)p;RIIw%_w|6hyHQ2-UGy4eS)p)bdOy4N> z`>CP~d))?RtMA1}{vVF!$l)|)+Gn?bSNlA#_da{`r@XtF+2&o%$@{B1zshGWJCDMj z8~M++)jl|;_fPZn`Q&YDlCLq?Hr!84c*>)|x|Z+1?S;S3s!y6-*tgH(llz-DC7c}G zzT8bM&CP9{tu0+Wef>Qh6DCfc+GE|qUf3g0Xf|!ZG^d4A7xyjeS+;l;_ljk18#cPx zY}&GU(~h0Hc5d6acZZEl(w6;4lJ+r)pE^|}UR0!Al%jp{{JCovw9nnXbGnH0{++X& zK4xad>~)3Av4wf>wPXIr<dxK2)OIR-m-j2CuqyA*kD1?j?rhE1E=!sDu<byPED!&J z%?DNPHi}yDy-;9C3}{yKwQ6FyxzTZgLS@YxONGK?JdVoFeJzz4YA0BgGUYCDZf@k4 zuROFRQ+SI1Yy*#0wv$YW$NS8J#nKpWE%Tpdp%X5%p|E)Qb*K2lR#^s1FZay1KDa7& z%CsQmfJyhPy12!k@086ebGiAsb4q;B8jgiRf3AnF4(4V#F{>e4LMQ5Qg~mPCouBlM zPg1=<tJG)4`pDBW9IYR?-s;l7alrI*nJ(jYQO<<Td1<`&@9O=zFs1CVYM;%$t6?`9 zHkh1lut-0#W8pI8Tdda~&T{RZ-0t{)+RDIMpNGO~{`1(3a|AjLtMDD4@j}|<#36+Y z0eSB97<C5+^{Ox5c3(PUDb(~!hwH0Ah(ykp0}RZ?3a(cg?>)VEtokkM!G;$1vxd&a z+6Ih_J|-VkrbXB-T->P^(W}6zq_J!2BPE?{rs3UMyCP0-)b)Jeh^>DraVlYH$Ds~h zsh6L+b>?zDn3=lMpl!*7Ns^Y{26Jo8PG>D@4O2CH6!VzJVuRtwJI0SwJZ`i8uz7Mg z=yQc4zj*qNi_eNKe7Sa1(zrnItoT(Kmfr01mY@C1V$>8gOeJ;}HY{upDn3wYXv*NI z?)O%p-8(i#@CbvziSI9J=PbHD(Id9?OUAPPw1@v=<tz6bzZY0@rtnI@`%o=cF&$Yh zM`-~|(}q$ro$ZGzWnYC0cg0mcVP>8yaDYYFN#XP)-dCzh)3)RZZhF{hxQTVKk~ZI` z7d(YGZiI*!t2iE%GuyXfowD?+7kd3RR!$ce7Stpj6aS%fvs-r-@6IRtk6ckY#u}KV zrmB;4B9U!INYvpd^OQx0dyFM_EsL7*@QB$w0b_>=N2TBIXgnsl-;kwW-uOjfkU*kA zf_m<SHDY~6>nayIpQ%3NwqjAswO6kf^_yL2<M(a6J;mS7L8RU3=bH!462)I0G%ucA z_Db`(-pj=oX5Lf%x`01dMMEUe(bhsCsL~-odxuV<DEoPFS%v>Bb%(BrykUCv_CbKF zPHGl&*w#GTuUj)~SFGK3x$LyAs<op5lWg`M!=_H|BaZAs9xEK&<2z$^>-D|06RPTa z+c%Gkv7{pL*j}lci@Wy5b4<wB@zOfko&5jVI(_}ww$FYW#A_tyOIoerTQ)VMZQ0o) zJ_;s<CFgX!mkC(kxN!7_^HxK3$&xd|#~tztCb~*z9^gD{lHj!5*W`k&bMJcV>{9<f z;+k54G6FsovNu+4yY4RGID?Uq>3X}F&r>a92?zd`OU*ha4&fS%r)1V`GGUY9R=w+a zp)o+HWwFZ9?CXZ-W=cE|VOpcWckN}%Z9Z4IX*JHmP7G6{QVuD84Oq&}{68j2Zrx*Z z-;zb#0xL!TU3t7B@$83=qe0&80_{g6CO#>up27IkY9fo(m3ATNPjj{kB<}Lu!m57l z(UHClPHaYN&XsOBEH1VG1H;Xy-G&7*XAYJfWLAB6uDs}qY--yP{rd~q_(}sF?-fg1 z>hvkW%;fU1ES@BR8iPg#5y7U44Cj8)5`Bx59g@?-9<)8PS!@}%!0mU6vzl6fGG8r6 zlbynaR>qd)VH@sr32X`yydRSi>BG@KGw7+pkDOM{7>)CMRufy<(h|AuMRpvYX4K5~ z<zN%<pND*FE*oy1>#Olr&?{($XS-*iP|Q4r>A?qHnlXkgNoVii^n2B2F5hrj=F~05 z|9qws9m32WIDBaAxWyNs$<V0F@hb4S5U+axpJ>V4L>^BWjR`C^DvI*y0nBpSlKPl0 zJmje{)KD*IS=(~&#p1*@bNEgyXuP)9uUDft_RXCYm(2YhEOlEkH<hK}c=Vgs<&2Bx zPDoj`+wKyR>Gxd+_C9G?-+D5qvUSSM!%}7&d2S}uiUo+7yg9<Jm#|{;g#vbyJ0Co= zj-0VPZ?N<z&m%jYRAue2i`z6sTSZ+YwVXfMENf<{5Zcbz$^A3=yvU&o&E9Vvl-}$- z#kfpz0l!s;hWg4r@35^47CNj=y&ThVd&494X$%*O%4X$+J#p`4eAF9kC)wZ>W7MRh z(3;^@y+p0;f9AAAzt$E9&Zgrv3`bTj>C*hedDZIc<AryxP3Q>z-SNn(ai_Z~Bd16J z^A4je4AN(EyE&dF3Gcmn(Wzox33tI^$@fz)nXC$Acrf+uUY3M5_6Ms=4X?KP#AjKz zh&oGHes%TLe!Sjd+w^kFzfK=NlrmoVGJVAr4Hc!6PeNxn=1A8xwW;tg;PE^6IPKl; z26-n=e*F*1DW@BQzf8z746gH>crzhBN9)j<4=*0e{9F-VDK}|lALEML=Vt<{mmO$m zPjF@bHDgM5y-~ybGYuNL!nqvpEk#*nJ8Z2VG<mZn$aEBJOXr<=h4GK#x$Rf=^P)~3 zk_mb=*ODcX|J{WSmvdjv{Acu7$jc)k#m}g6Kyr$DraD`WzJHMpN5U!gAZAhCWTSx6 zca|!40<#l?BQ)JTvw{jeoFvaVG#IUTAk0_T+`HuUS~WexUG96fY|n9EH_l3!knOUv zGBG{w!=xzYyeW5IPhfGMQKz>2!&4r^JT2~{Ke+ohY`9xnZYUXbVj(w=g>z<;xXr_p z2YIJHa>_VnvN6}<jC9Q}p`)i1ulXHwW*4`6IBS=C`vgI*L#Gd<eqJ#7ME(x`!<~!f zFEqO3WIkgOw~A1%jKPx$XN?@$Uu38;KWaOqIY*OwZOSQskt++>1dlcdPnr_U5E6Z{ zOfmb-$Hu9mM-MaZD7yD6p)=aDQqVu+f9}aOIj8O)U|n)`mrCQJ(sc2T$M1tOm-Dmo zIK?mK3}8I=aGq#Vg4~jC!Vk-y2D^mtdtK0Jm5qqW+<K`?ZI1O$!G>a~iUmxf77mSE z7ZO<vG7hP$sq3iJr7oBo&A@20_wMzLTXtupFWwuazMFl<7w#z!SFWxV&;DtrW_)<X z%ZUPJ+_SFj?R$0Bbkd}WJ*g_q`{O&9^XARHlGd+jb?)V4nQ5vrAK&<}3(Si*Gdpka zJyO}M=9IwM14mAZwisDl2{4*`n=wDW@E}{+sen64D@%6BcIO%k91`JralTtVi>=-F zs)_%mgEl#lPJCK@8P;m@;a;oKUraf%FfUWX`JlD-{}0w8`(ioY3;V@)L|hcHIKKY0 zXjsAXdk>vM7>;j$eZpFq*+JB5i`s&fg1t5!yDTsEO>Ji~I`CcRpxLYhrC0`bt`Ds2 zD;Q-G*a{ig3l=bH6|lWCmPtr7Phc;L-_GEZ;FkV{wc<nB!Zx?>Mp+UI-15z{HU&35 z|H>-S!0jc(V-+g7O-z!JS@mFo%H+oEk|*Uso3f`BdK`2PIUA63Iv{6@U@mW&4c}rZ zUNz6tht*}(JVhUBTL>o^Iah_g$T=+_&GOCT8l!#D1J48|{yA4X-y78WEmV}8E|`DR z^QnVe;REIsOvU#;D%3so`n+7@&j!9X2aPhC)7Y8xWQ$9#Km0FLrq-d8=q0pKXI??= zr(zA33#>wySi4q;{yf0aQ6!u9*x~g=p?A|A{%z2nBwA;;QQ+`&_B$74l|I$#9AxEE zbSYyKOc!+A;^Z$^EVgBl>EA2%YgGJyI@oeg<exA_Q`CWR{bz>#pUjyQ*kckKe=JPD zvNX_tYwYt>w)tXB>zJDsr#1ahVtDq|O0^>B$0vrS>2Vtv;_Pln*i6trIYDx7no5!Z zkDpWao(av{zh!-K4L;>i(N@mr@WbF<gKCrq-@D66&r4d*B=Pw@W=|=|sb?~N-WGb5 zL6*%>dgb@}bw@%CKdZib+-1y=6LodsI|2KaB(F1@n7@A$IK7=+%S9=2^Zyu~gDKqQ zMOrHb1d}vxE>Tc?A|kQ9M(!|+wE-*d7rC&5{%;hcf-X3PhgC^73F@>IHY^sE+@81f z5r5uijaY^pA4jKO40?|l+q)`~3Kduwr)zSv%j=ghJiRFNn9)ZiN$yKZa)g=EgU9S9 z9~ih6Fa)==^Cz&SJFveLaV}97j{B%7c0+s3;aIh;R%?s(B@V=9ENN1zh+D=MH{qq# z%Cfk<m&@%ZG{0Obv14-i>l^Xn2`r~?@H{-)ytja7M_F+7^H~)vv&+(Fi6^MAJnnB- zkv!dIb5?A^4+B=m3#=Ilxgkl0KNLKzCus3FYAg}=GIO32ch&BkS<-I<-`Wd&;^qI1 zqn!-37syD3g%w7qOBmI5Bu!#T&@wgCoRKu`%|+IF<J6`I&1)O&y$>?n-DqT&P`LS1 zA^$_650UEAT$TPfFq}4wI9}xQKV3b;HR;plu!+kGUwknOmM~|YmAq^cyZiIPybtCq zRt}Pn3YoS<wVS2RdLS@&!L-fS`D#8FaGWY&Z0EB*%xW@$>Eu$zlmJFi1tu;9wzL9< zqz|lTZ&;`l3RhiItY2)9nbIrOz`l+-YkhI=^v>R<BW`PhvlcCLdlJFj#TaKF(6_g& z?|`rk_h;5gh6blDs1&QH{%LAnb5b%&tH1xEWcBx~Qwhr|pZ8bn;&~lh6{Td{FTx&i zV**d{e*sPfmPsrsJQvuLKKo<}uwVW#XW^B~^Ox118nQOEiSP)p<~7(gzp`Up)><cI z_iw=h-$?JAYh7jy$@~|+_|xS+UG(}qQ+xf@6mMn!&4>5|5;dMY7rHi)-I_uAd$6YN zHG77nG>_|3l#9G0j(JYrB;(y|^edn`hoiH>ICb)&MV}bu`L{C}A7C&s6XjQz=LyiX zSJeDdQeALTXmg52tV4>8iDE`&N_&vt)TtdT4_G^ovuZwIHQvDF`=I!*pb)nK(*=tq zXI<HRqe9jkUUF^5hC8J*B^0c6TAOl~2R*tG^h0UpMgvKv3p0Bd<CeXgx%C;(>kg?R zf$SuPxQcX^K&Af%CmbqtW=pzUQYl_Fds~_H)|s1kL@qz=#_RUgK=dPzKtS5n4?GjS zq$Lj-PAbuke88W-fW4%E|GWWjQ&mfpMP>UgW^NUcV+TWLKB*MdluEokF{Xj-9|OO* z+dN6}_H`wNR^O^0xX3UpsyIGTT+DnvJD0-aDW-)t!_Ep;Ya1|>IkB(3#jpK<-8#T7 zry?wDtHvY|X8{G4kK%0ql|^!dt5tr5bxJhwGZySVG_~a@i=s%h>}9#@7x@Y|2)w+& zzjHae_(Os8MlGRBj;v2)H5?slf+Ih$<(oJ#r%Yh+ys(jJ0@I{}J=_HhA>TD(64*UA zurpe3xMdpG)ybZIWQp&s{~KJ7y5*T<-M(R^s==UM+WX@Z^UaExtHn0Sb8lMqbEZ=g z%iWCGjA}d|BzV?y@<eHE-WE37wW)dQN&Q8fn@l?ltg@FoiME`2z!te+q6jmu&x8c_ z3G6uuGVDnu?*gQ_wlRCnu9i9M6%)W#IDsv5f>D(LvsjHl_-d)5WWLA=Y)c*49~@#0 zthPCG!Os21LjG@jcbxePf)cu>YuYSHJ|>vP@H|N|Mf0kole&7hdU@pAgpStJZFvlO zoB~JxuBzDg(Dswzr1zVRUrrDdxFwU&ll%IC(9(2`uT~DqN$G1}u?H0>h?R&cP4W82 zma~G%?EI6utBxj-oO(}w6_{npJU0G6|Ba!d_;IuSO`@L!*y9#36eO@s+GzEPdmmc{ zTloeyE(ZqrkAmDAm{)Bs`*CQ)gvv7St{@%OzRZ>^t%#sBfj&*vru$dRHe7IfuCZtG z$Bo6?H!4WS2`kU4INrRo!TK*#+?q-iX6K3zKe8qYN|vxowNBsM{ybi%kk>Jyt!Tlt zGmENo1Js!r4rMfKIP+n}GFKDj1BQ+>6%K0VT)7}^?7&t#OI5qTHvQA;dCw=51PGjI z6F4uh_S%Ap9@YHD0d}V^Pt<7i&zz?9GgBrgprqs4k-XPJ{}lX7Cnf*7z^BY3kh!!% zT#=ps@5H%J_+oG7o}HL?vq7WIp)KyK-5Y~RzY_k}b{b8W5x0B2L4-Y5=26x5qZ1t% zRpzs$l%#)JD|o$o_oo8(Ln*h{BzOF=jrlM&zkyZu0OPvJ(~~|h&;7})xtcL|3ByYh zVY35`@eA1In|X+5>pu$Z)kqCmwQR<<6*D4!W!|ff)6!tj%7|Oc#$Av;>*Z>Rxi5Qd zE-c-0xhz^L?zslff9*3fAL?&$2;R1A-}=f5w@1O}ddiO_aQD7F)3KfDT#I%^tIunn zs+61cPK<|ot@ulWq^@sZs{ZPj{Mr7F;cgxU*4eYvjqVs!HHZ{HNPYB+Z^_-2CT9!` za<^qL=t-@Vn)uz5cV#mF#T{PHE>26*d_VDQ*&){d<|llvIdU)j&)&s;C-GaD_u``y zHTV}~RCTrQ6yGS*>@+FkjCs_>RUJ-??y@hOYjW@L+Y9rvWk2sczP6-rT|~#<kmO)R zMXo|w^@lqfeC~QJ=6{;_U{(SX!vRK_07jm5tYr#J@dqCGSnY{_a47n240`}u&rPdq zr+Xjmc1vpyTJzYd_GA-(^r_UpWh=^hl=$|oGiH?4eq4FiO>@J(nzv1gznL{REPc%# z|ADoCo29{?JIfs7_RoIUx8AMdokVs97x(XsW$oookss{&lN^>U75O_|;Yl!CoWhFI z0N%I-YIn={Z6|cGh_lr^Xy@8=_RpD$MT}}C3G?Nru;wyNOnxLKZ>bq<z?|{mKfBe3 zIq3mgESg&+CY~40S*u^UmLW;z5U0zZ4-@4hkLU!;ZezKezgS~OqoR6?bL@qxP}UtP zCyk>LHN1X%I4wwNy%F}ZE$p3|p!%t`Ygzo<Z?2uSqT*+YR_=k6&o8~AUK+Cgl@ptO z$?F)u!xV>YSEl|e&`AEr%D0Z8jDdk~9V3?lgG|6%t^)R}&dg~Gn93J0c|N%ME$ESA zUfG&InTwa5%KkoM;j^-dnvXbtzk7c4+SBeV*=ipC4-7pMm*%$geZAq9^M%=H-KLXo z`b=Jwf2vSv?`__EtbAFeN1c0cf8rTo{wMPUd91Xp|CZWjonug)z!oXMnm&OoQj*od zfFXO||COr~Tf!r@o`1l0T}33efE{%B?*lgG1uOS&lv-JB+#)w|?Gd9}#tdA0JeKa0 z5pz>dG2mDK`)vL#b=TkL4){*)*p}kfGg)e3vRHf3e|5zNOZc|AXlS1`wm7y{pup?> zgqPOLRZHhxj53tsm0H`eNK|>-ny#Qo^(o0x>96Hy`Y;EG%C(ridAQoQ=B^NLPOi<m z_YZ^&Y!7X_QgyXTqv*q8kpO+$f2?^I;!_^5$}C`%Tfii>fX#!Uujl3l#ky0fa_>LS z>s9)<q<iIt&-0p=&EL5COjE`cw^%OsxtX*6&U06M-79<h@&5WJDOn#m_-_jSU+O0` z`(%TA$KCxC6SH6M`2WXO$a;w;LtI1GZaG$kJFE(8*fSaaIWXinDm4Dz%Ijj$!dl31 z{8{_Kw9lmr)XzHzSj=a=o2k`Z-uf}2<Q_jqWKLvCiguBBM`ve;c5F<VRb*bNcAR#5 zcTo{%*PNpEqLe)LLiW7ELSsjsNajfE%#|yR&6aPDF*aVAHzQ^_d(2AqIogMd*z1<E zFSRn}+07oil4Y+p=k=S~XV|YVxG}>gCbDv^K+Ftn>y^B*KGp)umKGkmyYzKQWN~id z-+%xAojUs=xr@6+p|WX7)6}I08912z-p(*QE23$C)i3w(6W0UH>~iux2A^0tS^4=w zRvh?zbTOMU)4q%eCqJE@&L02&%#A5OS)0$!jQ@~fU>uU}KToP=Rv=f&^Rsgt3^P2m zf|vXA>$Lx>`H=jiU*1q&!jLKK&5e!9iChLv!3SC<8nS*6IIO%*P_FdprKQ>rnBsRb zF?H{>{*iO<aJlgLsnv=Fk9XNzack3Y^SRF*uNU*;Qd|6N#@Jm;Bz<>zb6$*WIx}H% z<mPO*&V30^Q`LRuG1i^9a&ybd3#yiBe+&{D)OzJiG92C~Tu}9ypBZy!hv#KguCF@A zCk%p04xa51y|j17%_q-#z65k{(|@()<%LZNOLzI)F?9};vD(h&;?vM|Zw=$WyOU1o z7a9~E(6ibhIG1m^iiNYm{u2uiD@s=u^H$IJU&73#c0;A%Y|8^f;d5qn3!K_*Rv08- zG>a*4JfP$F<1m-QVb+PPCR&#^dr7~ZuxSGSWgBK+lf4DW&GM?d7P2$QXnbgv%y#sg z=4&xkl|d+bh6@vCxy8{*e#WV(Q`jQ^PPrQ5&8r$59CG%_vJiJ$gQ>xWvP&C$xi}cY zqBJL5xyqt2^Xk<|gW5o`g^hPvXUyy3atKeZx!5{gVg~E8jM$d5qBobey>!j=?rZ&Z zV{!k}t25G43@*4!^UM*Om9h9`Vw99aPnmK<T*jr?to{j;T;>1s1h7fYu4(j8Y!isi zk&T%X=vH|2sKl}Kt!06_8G$Xwj^^DqaD2$~;)5HT?9=}X9NA^#Dw<C0n)R`*Q|8jy z39bA*9*qHVksQVGMh6U>1#Opmlrz-rpU~9RpC|BvyTa<y=EEv=7aksK;cQCxZ5J>4 z;c4Mha;Am#US9Hfvn?_wxSKy73w%<)^1{WV409i@_7eXZ#PWd8QQ?b%=5~hScrmTx zA3yM@ADejbgw=tC4D4DV3z)*=3l=c?WqB-Ro5^3Wq0P%_Wn;Ufi>_&!zspX|kei9; zTMh<gi-mp*bpM$$nO%w_p>0l)`BUKlxf@Rc6AB8qUgMYl>+m8nQ8epEL}y&q%c$8| zT03JVG_DGd6?a+oBBmv4-OEM2x>nPc&2T(+W2N|+2ay?9QoV0!JN$nU7$uf@fM<zz z>>j~bS>r2g7t&KJ6#q!Z@a&e(KfNoEP5i`C!DMO22yLk~3wa%4r6!!%=xoot<^Zeq zIrhRf@r#<LXIH&e@?Rr=VB5y5bHZ1J+j(7H%|6Y;$@H1KMqE~=-EfJ4n~_k-hP(z2 z8==>1?R<^BNe#?4oC!=UJYV!gSr02+42V3~W7tr7#F78gt)uL^i}c^vG%IeNad1ls zqh9Y5{}e_a_WunJZPj8HNyjW`WXd?e$QQuCujRq?@IV^d!Wk~CA`@n@O<KUlAH$pL ztQahEo=ttzTbDfh$jhS1MpO0Poz=>^b^G3gMP@dv$8>TSPe!Q;%&?PP7m&pGzdQO0 z)8vB@TxtfLXX0LMaz7C9uDF78?sF^m=@-8m>UT==Jj*c>-@m|5FYUykEfNL{3L(cQ zt(zRXX5Dl)la4m-Q%1~^DnI*$mMC)lIngA3B4OT=wGNRBBO2wOY&iAu%&O95EB!KJ z#93dTWw3na=_mQ<0;|cH2RuitnPtzl+uTslk6jeOC^PTkOalXj4DmUR{Us0EgnwqF zYjFu`);XRNyP1%5(eP-k-!f*l$Tf3cMkrXw{cy0n!NBAc!N|HkaY3u*1*PQ^u3I%Z z_8F{5le*);YW2lbhJn{PetEzR9g!0}*(_fKFEucnEK@w|6mTFr+}TNJ1KT9!Rg9eK zu9`ys1Ac8?c*Vsx@QB0AV;PgR>KgM>O`^TmXsFvfI1*qqkt?t-$Ze&Gt6ytCvxe(T z7NZr7Jd0GAWfrUoxmzI;*=le&c&^k{s|k&45xlRp_C|GtPfCn9QMFW+=V7bSiv<F4 zz1lHryRL3en!2V`H#>^=qnGTR#<ar=mz4Tw&Wf7YX5uizaqXAMZPL8z?2WmswigN( z>+Er~n&G>wWXA`i^rMU%*BsZp&T94an-^qq!m+t>iSvQHUx{01^yW52N#7P?G~2Lc zHmjlQire>oJ-1`&VwS2}t^bF|qvaRZEvuJ-{An7C7x@GnbLA>h%Jo~~a4xm&@3V<r z;U$UU>n}8GrF{H<x{2lS?p<>kGfEPD3YH3p?_<qjzu&E5f8!xv`ilcn*9zGGt!rdS zk7%xYU%<}wWjl|^jrVn@H?VQ3Fdp>vJ>>4{*=Qtk<DgiXK^ylTHkRN8hf+NbH7onD z35h!$QoL5sC3`2tXv2-80{^lU-!-gRnfG;N+6=8tt7cslvo>9m_*E-vVOOYpf6@u( zW2+)3w)&V~xv_eY0PCg`UDtQGiJmxlDLa0r0YlgWv*>GzZ!@Y^dLMV2#u)eQQ$dX2 zO~wOa+s-rfs;_NsGZ$$$S-5wJ-a($#eoC9mZgetB3O#APDHdfT>|N4yDqvoompX6y zwu!Y45%)sgG`7B#U8kpH#%=Qd#`=txJ<d|!E+~1cmphbPn11lsOXJdauf<m`yU(Y# z$e?+ul9j8stGLYTF3A^(>`Ud=nRjw#guht6aFxKiyz^gQM$XBedv?=?&F2adtT|@v z{~O!fvN<-9wcLV}H&07uo>!xg@{Pr*9_6j?8xl&DcN}JIE7<KnCr^0yk2UY|$~!*Z zy~1UEgIi<XcB!bCt1Gm=o{IF{Avx(m>+-JICpg`w^$W(m+pM&i=bYE4N!*FyDLW5d zJ}jjjTe@cU${@=}4sn~JCNFI^zGJo_NWvi_y8M>LjGt$iBZ{YMu9W{f!;*Vd?_0?% z@zy9=_NZhz-o(tM=?4AFtj;<+pV?d8R<<wnKYQ!39H}#hU))IAHr;%ZQ^MNk^1oLk z?KrhAcDD80u7_OCTVrl8-?Ht^dN5Dpy4GZg&F_^B8xC1rT`}XU%Y(wZ(<05EAMUIy z-6d1}>O@S-R`0`llY}EootM956mnY?e6}?t{SKc*dciK;n)`e&%J;LTZEvwIXcIbo z<0${R4STM?&8wH5arfi5^4&M*CULHpKC(Oi`}Xs-dDo3=BAnd}Bi!d)Sz08TqdraR z$i`h)<)!DGczI0g=tlWp#tRa8e_UG~vGJGA6P}q*;!5q}Tq}zd!j(>^rJ6{6(kb%_ zbAQ=tTb#04f%VSbq*uFGq<$%uUAtVoAXRtnl&Jazp6y>t+OGa@@Ha2c{J`F0D)nq5 zQ{L24&LZ2;<;*>94)dn4?nz6#rWm(Lq4L<5qAWMhRCVsdUz<*ev8M|(ulyG6`Z!bQ za^;+9#gPn*E<!waLt?EJST?7{3K(PyFfe{Lk~vVuCL+js<VwYf#_Yle0VV1tQ>V9H zdz?8}okwzdUU>pL8(Y=awuBwe^Y2Vc*m*tP(}8*C^jgv7Yzog3u1rg0yOy{Ad%^+s zB%bT}JJl2awzXGPgo>8u^E?mKotAJkyu+oe_Tusa)oblfm$6y2g{oZ->#aytnpU8& zE#c*}+KdG@iB}7opRtx7usNaFRlv$#`k-dfhPsle;nl6-iwn~I)tfA*|7X7Zm}~Eq zwBv2j`pU)n!PbXX$fr!xy;>-BY+=KuV3|c9*^}EE7Jp>Rbm$d$VHG`H=9)6MpINk( zf&HNbTkb`TaSrUqKbF`Xum82Z=~uY2O?!puB-Rz7u{Rz^pGx!jG9l|^f!?kU2E0$3 z4?R$BQm?oc8fnMTpRufdfudAZK}p;R*6a&PD>PUw8?5UC($9UWPVA_DH?4~2S|Z!F z`1F9p2g?#T+;T-8)RsB0t@xg}xID39MfGm=wx7$Yt1PPinoSb@R;B00{8=o?<UoPM zv;1a`4nDWZ1r|E2;$h+2LT7OlSew;`w{<RhGNpe-=c4ZkWe;j&4pg0ZUiB!waAoL! zn>Wu`*UkuiGrb^aTHT4Juq8VRb&oeJ4{hLWo$&5PKw`UY_x6gLK|Kk_vI7hHO0Rjg ztYqiz@ILIAUN)_vEUkOV!l>S@z0WTBvTsV;VPe<T#&zPO(LoCa(a!G3fQfG{X1)H= z_v!}MtZ&}274kDm_39S*dTaFCSTO8i%}jUGUt5s2JW~J9bmp$*QRg;ItP^OH4V$y% z`9$fH@r#a6+*O{yHZ9?IYSqnYxlCz^AHwo}hjMtZO}X6`)>Y9i_pMDYGtWG-ga25* zb!WaD+ccG*b6+g0-c~+Oo~=&fc<0&n0#DJYflq60aTflFtkqqXw=tdlKKsOjk88hl zrb@K4$v*g>x2iQPZG&_`>9jwU(=x7xtlp9m_th(gp|S7!^y6j4>pw&s-I30CB0VLn zp~KxeU%|Tj=Zsk?o|y^ymKQwBwl!FEvAKu$E?yXQtD|qHbERW~ZT<nPg&mC%?(8dF zE3K{<uRBmLA{qI0d42G$zU7t-CD&USZ&nsQh{!6-Szl26W<|01%BbWQ6WPorUE|FE z&RX@+txDFi>a6AR?doj{(i4^)kC(j=Uvn#7u`=P_HOBf0wf?SonkVC1cZA;cWJ}yJ z@2y$E;iAcm?1|=@?WqOJUzsJ}U6%MlEN_>3p~(ZC0MpPPmW2Ud=l{Cd5puOgV0*sc z^$@$r4$*517D=tTa_qmCtXg52Y1N{3p93a#CzQB;TZUJNCgq#z$fk#tJXm;rv3J9? z3cL2SUk7JuoSJDAz9{9JQPOl)p&Jc6H>P)%M;yJ_V;d!t&(O<hQO`f4q4#RQqKn>v z1wKNTePbRphGyibKA2gxvqH(D^y~K}=Ev)mGSZZ#GWTgTy_P86t;xzMksvvJqRh?2 z(i@3ITy5n$CeAojt#UH2yrSJia?+CP8_PX5zCM=g`C!@atN9w&;umq{JyR=uAC{me zmS<?DQ@tZ!F|4|{quumpg5ypv_1`NErd1n+<yA>kFSn`<?40Jwox*p$z`M2Jcjx@T zuL=I5E9Y8OwKn+N@LX`DIU%?8{}#n<Q%`JUW0@6|{vbJQ*_Pa!Atzo<+v*{;>2kXN z@%8&UdYEoZzqV_76?d9tyROlxHA@ec1anCVXiT@s>YdxNZex>-YC!$9U|EG*Gp|16 z`YF{j=j3+g+r|H<v;MqQ-*>g%^1x2p@QJ^Eam|Tl3Ur82?eJkNTe<7GPPV}$nctJr zJlbBfO|t2(7CAk!rfNA$S^TZC_^cb9@2({XxV5cd&;NLAg+f@;{8!0l($!jRNhi3g zZ)tX{4p}botZl1#Qrv;|Pi$dwW*ytY^BpBu>s97ibDA|+Y?<ug;_X`G<(hXwXzTar z&S38pzH9R%QWI=C3!k?6tYM!hrd}mi+I8aMf5tUebj}o)99~qnt8xCmhufOn*m9RL z*FBhV=GAuA?E0$cMOPP3ud7`9uB&&4$=V|pvu)F5FLdl^$?WcWJ)^cwW~wM_t>w-t z&P7X3@7(?5@Vv~Ny_O8B7iRyNzH7C$)SBhX3bGQnWzRibxiUX1(O}zdNwNHTjjBJY zd(t?LO6{JwpFLkrZTXL<Nw3SQs=elR%sSAyVv0T60@u^~VrA;mza}bOE6DJe^00cI zS#>_&w_Lr-DMq(frn64c2+MQnJP}crq;)LRr#k70^nOq4HNMrW0=MS3N`$_QEZmsh z6}NlxV)IF_RxZ9jon^&~)$`h9>H};7S!Hshi}J6w_k8PYs{S8wf@9G_&O<7DDk`Oy z1-DP|*J2H1nDge@uFGOod%m}pe3+D1z<##pR0W&%Wv;Y6UyS@$$-A!U*3fG3<BFWJ zCGFJ=<3~E@mfbGSe^6W2R{dS{)Sg#IKwCzB&6SR9leOHm^K`=9vN<s}Z68)1efn*Z zLgen?HF*N36Y3e}-VmF#e0i>@+9`qS`&BB#^sZHH_`X8r<i7N$+urd^v7B8i$Tl^z zi|yyBo%s&Q&$hK|eaqjoeD|N7CpgR57z8gH<@%;NoRl@VZ1I+#r$J|d4`Z5^uF=`4 z581lrsa$q^kiM8J)cEfv%ez<p3fS5n=QljN*6w<$pX?R!@9b{5iKmovQw{!Ko^MgY ztZ;dL<1X%#B^GbAEPDEmeKTUeQOt9IJ^b$#k=I9fj#ckzXR|oVQ1RpFcULb4Lxx@2 zld~h(@)NF@uiRM0F)zj7y3yLa>;^W6w>Q|9=GAyHCd*#7zB{eT_okI?io4}a%e!nb z22+fF?=c9Q_i*~WFwR1Qw>STNVEgm))`q<|g<_BMOuK39du!s}N#_@_$E00Zv4(xo zt}D+uZ|`sR4&oIES?kTyaA(!iGf}da9TTpf+jJ)3?A6o>Y;Lx_(_D^Jt8Fm6zIJ(H z!<CPBPRwOZ$hgkGtm?GxW#$LVQ|=`0lGQP<y!3L}?o@-j41z2Y$2NESCLeCP^LN6D z1cwKS0somEy4^QA%h38NX)f<=M}@sj4{rXud#|e|X|+jpco>`G$;*jPFT2I2pZLi3 zURSwwLGqTr{HeBQZND2G&gpzncEk59LrO*1%21~0+%w)bm)mEsaQwScUH0gXa?kR{ zd;6Vdt!ub0_>cc;@Aa6ucTXA1M)S6nc3e+ck^lBgUa9XBe_Mw94{Qd;mw7&%i-}A0 z=)26Tm1NDC^z|)2bHWyf)lV6(KQS^&`k%X5@>!Mf-NSWxCsGw|-MP%z8_5(W$0iam zHSNQ*zZ)(;*>*qW?eitlte2*<l-=XcXPB1B_q@C!Kl<szx}JntIVrCsZG_5RUQ=m* z5%%=$T6VX;FWpXe^zr<!{VR6)g7D=)hAP!*QGp6~j;~o}*LSd7W`W+eD+v*D_r8~8 zK6vVqBYRWn#kD7E7Jg(uc=GC{*rzfx^KROnt`2zm`tG?sx2|rxz2YU?Tb={eWp{6y z88Os5?D-IOJ@vwC6QRq+A0Dm?&+n0AV_q=VZFbVSUkNMh9^SioyttynxVQ7a+Umbk zm;c_%YShb?8c^G-dpX}>%1=3#PkY%+?%m&UH}BKQyxhu<nFc8;dk?hFDKPh}dAck# zBCK#)?d2=A6W6G}-!J@;+kAD(JY&w4pVw@7|JAy-sqUQP-K3va7b^43iO;xGeD1x_ zw7VORuinW1_5trYx7;1vD^6ujczgcR1Iyq4zr_E&p?EFqj_=(EeVc1J3Qj#f^P=ya z^!Z0$YmT1hJhuJ#=IQs?QW<V&<aPX>_WpO>ZD-A-iBW6@_wTo_U`t$aQ9qi)@;p~h ze_D@!!ghDY3v#TP)nWAyo;rR={!{vqYwgFBw?BIB|1eWpom%kXuPm#{@5EK&h4N*W z)T_hJ{ywJ2_fm}SW8&ON&HguMp5NB9?`F?EHlJsix%$d6o;Lii9+zG4Tql)m*Ejjg zp9Dt(cEi|)s~*Plct74+$;`<Abus%j&kMfy+HWY9)kx3Fd$jNA{krcTbZfNz-Y0%w z+q*l@<sX}`>fc7*X{%k>e#SBV<>U}aZSst3N=Zr0NbKoN{O{P&k=@+fA>ui)Z`SNt zQ#?~WdFCvh#Umn;ovo5>Sv=b@y?nYz=8|oWGp2P$ZkwH(pE`A7R!Wn|(W9QnPo+*w zIg&EJxlE*c?~=f?$F5ypYO*t}<4#|8M^^6apn{b2s*L<O8`3k<KTlrVnVNp^bNbF7 z<#+CIvT1ep`8%3@^elevx5kLsZRewwWs(}MA3sgK_)ztRMpMkQquk##J7;&Zm{0Su zobW(4ZnhUowD9X&^485!U0PRr&g^i@5P0e(RCu|e=2DNK(67mYdPc8PrY?M_dTXiA zU9-EMOLNn&8Sva|iB?|Cd~?yPrW3cq->z2nI4^WkwK$z&SKfraiH5>@od0<Prumtk z7S+6SFQb{ow6;VdP;z~r#1zRJ-=@YNI`?H2=eF%<j+|g##PdSvN%3Nn&K)HYXBf^( znPlwn(Q5X;ufi2~Zp}sOtn)pR)@3|51XJB+*%k^(eXX_W74eJwx4_fb)^}FbhSz7i zlWt|I$X;AkH0yG3{MzsZeqPEenx7n;qVo9v!z*b;lAEq;Y3+7i%&pGG+#_~0wr|38 z$*8^(L0`iuji06`|N0{?E}0$kj8)CHwYlGTqDiqkyF%H9t5T;jAKfaJwB6j+vBKlv zG3}Kn9tGR9iB9fPD8FGirO#INE2mPv!GYr%%re4$79uBB@T&43OFd@gu2vW=wC3Z} zC;ufEO9($yn^Y-uU43_Ev8N=<uA?1x>jDGPlw%J(dnWmOX{d*7Q^t0li9tLHu40wX zEE!m=*PJ}Tp!{aT@r8CJ-#ZEpN@g9FQ-1UD#p3q9^cQk030-X>U2KBKmsc;?=xkFs z=OC->(qoS9wySq-Ja6~msFp^=wwvyroerkPCzB$dnsNlrk=d%Ec<{y5Gf4$A6@4e$ zCT>01G;z)J6z7!_TC<h&&n(kWt~%l&#>!#V#H}@B!?OsXvVu|`jm;rp31W4;L5Vw> zrv-*4pA<RmGeh!F;?uaDa}5{k*RfUPD(Ail=9#w7K;Xz>K5LnlBg=f8*nHBI&YV;E z&~vCkB*<Zz=YNqmM*=7ErO%k-qUhpuL7gSi!62q!vy(#R60-#}!WJKV`*6kLcDGY6 zH5?o69Nw1r#$e?V0R`VvGLB~oR-6wGug#FTq$ukmQuSwITkPT&j-9h4t&I-c_)>OR zm6a#GM^RGFS?1$mOB<OZ47)um3nXsd+jxCVjlFWR$j64A*>@bT<bHqTxFGS&8cQCN zlTw?fIkWLzEZX)?)nrbiuu_`9;p-DyKhC-;S<iae@n(-mu-lx8jY-FC*3E6)s2s%7 zTzNZfQDdic{hNycGKcuDeVSiobnAuKoEtJLFU<L|!Fl1qn+r^qnDtDsT~ci__oIwg zzr%sW$_@c#0ygaIF@=F88=e1)zum6CDLU7puQPo9&$@*%2hT)ZRL$J&Hl1ynVeAGy z9_AO^ofd+v$txZTe@=FhI-|g0yhNAdyXPe-j^kFxZJT{kg(K{gCN5bO<0@%i#K!xs zVErMLLnV797~ZBd3tp>jDu1$}WA!(~-8Kdn_*(;-B`+{o#EYzS-}vDCs)!CwrPM@* z$Oo5&nO%(iVqOK=RRn65F|5!odf#nfeC5KfiR`me&$D?O#~-Vju<r}+^Ik@w0D-nC zQ_Xk|m`?fVZ>9IBC#@hrICp{<L-oN1`GXh4oE9En^jx;a=#8#MP?tB$;R~!8F%z_- zEtlwCxS+xmx0p9mq0QAny|<Y2sQRsq%>O0R*tNykj>z6zC|jB!%=&6ci(KjhC)ZgI z*<VLI_s!!{dwZwE^34lH-Wcy@xg7`Oo31#^=da)s$nuo6-r+fY*TwdX1s1N7UdalY zH75+<fav)caV4&xuSuu5RlX=pR@SZ{x~rWcT)Ea-m9J{;Fv!of(%0?*Axxg3T(x z`66R5hpK};f2++*%Ps!ZlbFtY5iy<@xV~2+G``?X<awL3pLjE8q&0YbXv>?nfLocB zN#I_Bm`~1Q+58L6Cb7mdub-JBmpAF0^&OMo`iLdWTYfuVZ}PliK69av`PFj<TQ>*K zaAV|76TE10SMcmrpJVxaCe3+MR?SUUS;(AU;Vg3KKi4JmBd)xg797vIaG}w@<Llad z4M)yJ4wvSJositD>CC=QY(cKu!J-AiUfkx*Lf!&P$~I{ACnqeP)qdqLuYl8GS<MCB z3)qz1*FVZ~P3t(#XL+p1{cXG9vxj|G3la^C6SH=eG_%b-WTbJ`!`VmDds>af64jj- zj_*35ImJk(g#Y82^oAt1;}3Y$=NT8wFM4jt{BWPKf3MZKs~fhpH(xWFXFbEwX5#1D z%~j&TB|qMke;2TE_S9W)W3FW3lC%|X(zYyQoHX;3N!1GXug1ZDZ8R7|mah8n%RKcU z%S%Ils|KMZj4M`MJS=(Z7u(wk5A&<Hx(p0lcyujWv@I`kb7}`Z{I7a6)u2ovU9w~2 zY!{E0d`E7a-x9>A6uKcpGEy`t=ESB&ch{^~D>|#kQfK4*tlHE0lXrF{PkShFo;A|@ zSb^fCFBcalW$f7g<^j9oszv?AB};7nHiXWNIvG-Z_3@T9bMIunZ#b<r{b1<Eo9%jQ zUs^P6DB|7J$QzJ3J#tn>-|9`=ZPu?6pBuXr3q36O5OA)b!{6bsAyemJOXe%fHMp+t zICyZ~lDpe|XBys`YixXO;XenPCqL5WP26|Iv2*){_i3wkU$qS>yzyK5$-1cB)gH}d z|2^jf>=(RrVt46^wa?<M1P<)q|E;v5+4fDG^zR%0_8wkka{BVi18Tf1dIcWd0SUXN z{SVu=VPU7<;a7Z{&hYiG{<?8Ta-i-U87HCev$J*57V-#MHkWWsaou{sfyv~Kqa^ns zmlsvL<yXc$auS<-q>JOP!<l<+Et@o2EZ01_<fM@r`>RZLvM8HX?T^NjqKyGl=SQZ_ zs;HU%TB+pt&JXPq3?!Y-hh)vXeziyYzR>cV)U|V*jXKX{wd-u)GF)S@gv0!$^Px6T zS*1G-ZQo*lbu!OgR3pv$>Pb@gy!Ts5TvpDAT^YMJ>tO1Yvi+-9t$ZoIaIss)n#8%W zPp<v4cy@GMS>?2^#d=orPcfGk?DTH17ukLNh?|)#--7S^q@&qu!_8zF<m1fObn%@^ z6D>=49F`(9<JNzT-ej4TzF{{?bk`U%X$wrr6cbsWaW}>D5c6~)z9f!`Oo4k3%V+2; zQeaM#xUlF*$Fz{!?5DDMAMX3B7;x~m^KL!Q{m<7Pnp<=D_@ov!&CVUo!9{E*&MB*W zo^i%b#;CA0wDsKVv-_sXHVIF>>>~Bmp=BlC<f!DMheFDx^)~xonmFZn``I-)pWn?+ zlsMeM)x}d#;=Z!t&VvK*YZt0zPI_)MLoAaq)%3tojX&yH!NKK6K1av3Hxz|uFPz2} z`rO!GU20oeOu-Yspal&(mX+>N%PF5;ULzh?6V9-=tV#VvdCT+i6W^K)Dss{V;uzfc zy<FK9gu>DSlUF)~DWuA(8vOT-Rftx2Dz*M1V^yMr!Y4(;Nh<dPf_FD^B`aB6DUjE> z#`x)zz@H0zCLhIDG9(6ltd?n#uv8RP{>JIK%|PUX<(xn^MYsCK(loI|!L=rmn}chl zr$-)~B4lCcrLn!;ONd+1E%mQKlIf&Wi`3Nj3ldg7P+R>l;fA79tb{c4a?1x76w}LO zC#kxAz2du7E%WteX0aV*lcr}k2(jKyEe*Y_@k%t7L!x`r3uEaO*_*D#Wk2uQ!R9{g zS>xUljrrxSfdR2c!g^F@lxtPw2tA0`mB`VZ(Nitntie%XWYJueUS3t6sQrnZ*O7OV zgKl7|*#1M3i^C;64^>A`EO>KCXm$JlsMHT^tjB^@CyLcwONeN*n%>;19Aq8SsOY&Y zKg)od_hZVOiIQ_RhDJ{{?-USlJEmC8(Vj6W;>>jk+vk=W1bMPrC#*Ucw(enGhhg#7 zX0_C55pMznqdID~EtKXHto>OqF*L1B;-**m)9Pn}?u!y-6(46TEQ~#n*l6e3wIo93 zoT>3q#+Wc=)9pVpY>m4&?g-fT(Cu?*cD8%=$D{R?O2)NJu91-q?_3&OBs1F|W!ES4 z9Gq6ZcU#XHiMWiP*(Ws^o1Ra*=+UHMG5xB?^b=(aS8kLWaa5eTCcqmgpdB2{JCWsk zSgXXR=|M%wejQ1&O`O_JGmbBi>|{t^`;~9g(*NwoMS>Jv!?&g+TnmhnIXO{QLHcQf zbj6N5ULgs?AhsGsjslIoDOX!AZU{XWlByOyVc}B2;*V{Q%F};;P~#1Yd>b(HYEWB* zMEZ{DUS%(e54(iyVkthngyY(hV2iD6+n&ri6ren@A#K+a(~JwO4?JZTKlILIu=i8X z-p3--f2?a`nZ~8kxcuo|-Y2JUyqHor-R|~L<NqT53X`+{-t-fE+8MM&on=S;^Dm8u zD>RmW%jT)-DQTE?h^?1@)wHVT)6{P)NVl9`62Q<TzOXqxr{;Kh!}TVO3U=KU%u2Iz z*cUSE?=X6s#CPF?GJlA!3WL(><&G_k62BTadBu4fBbzf8{BPdi$S%EoQn`T82E%Ai zsTPH;K@J67MXf<s!gATfd=s9vPF7I8`@GQl+bol#g?i6@W^rhD9xW7gtX+Sp)<RHv z+VsLV1%+J+S~-o?i5fmPC#FTV`JR8Kc3p6CS%PfFBR<W-7N4mTqg&Z7C2D0V)OHl4 zUSm<;YQpgJq}}FgGI`-sj$F><sE9i_HIwsJS9_6WNU`RRP}38O=f9o0DlI)mNVSsj zR-o+D&L~OO`7Z)ucg7~(T#%}nbNWQNMAx)^UQHKv^ayB8m)o`Q;nbdkVQWr$E&OM? zrhGzA%km}}sp<cYE;`0G<Km;xndN;pv$*OTSZ_9QRup(GoXirFP@NL+f1Q(}0Iy)2 ztX9PhM|MZ9CD{(_-(LxI91r!#s@%6EXdP>AXw*FIt8JFYlgiwdn+S4#SDLi`X~OO= zKDApSW0pyuabc4c<SY`aE50aEkY@O6L96SsqRB5NeQC%&Z?^Kv!H~}%yx%j_ZaSKt zA&{gol{H6H=zL_!#PpJdj160tWU6gupTf2!qoDNd&3QqeOI`_guZ%LC(xmyLH9jZZ zG+<@7^#=6_&p^SgTi4(6)7!k&>$-aQY2%$*({{bePJg|oyu5sGR?d-Y+xC|=Y28>L zbZWIWN6y(*3$-d3PJLrnIncZ6`?_P_rZ)$+i7552{IGrgc2VCKd2Na=VM@u3p;a9V z{xdgCpWc3b;TNv;B@<XaWK~Ri9bLO~eTjm=^W&jk6%sW*N|}m<mL-VgY-RhtiLWnE z)W4~9^%ifXpFZmgy>+tN_jGQQc~sYXlr`o9+XG3~tAZk~+d4K+-h8~;M^sTNJ4*2U zG5-7o-jg4&=49<zzcAs1b+E=(b*r7eE|m@QH^p!9m>-s2x^h-**k+RyYtt!*7VvZh ze9+e9RF#Rm?fU6z0KaQMtajj$)~O!tTk}&^_g-p9UKw9<;Q%jJT>9_q?9OuGtb<26 zdRZ>?lyz?x|F!VwwbeQ+m`i^jNVymm9k{r>f!%pyq3$*%(_59FrYUdUP_^@c`O~bb zEC$|{4iYv||9fY2SKR#3bn4imY1K#OXbZS#9XWVGu0@-T$$>fk1FOja#-<OfX%5U$ zYrISruoXBkmn}Ft_cCML2UaElJ}C!g5rv}>Ic#Y;$Cw0;Gksu9X*jwjlcnMh>zYiq zxC7#;e;A6_g#I%+&Xm9+oWP=~!0;=8iRS|AwIi$r8`vTlSYj_ETnpsCGLg++q_T>E zJtXFMNsM-ffpzX5-j0OhMTP986IhHVu<~67UDvm94!i9GX8F&JLRVeC9bLd$z%Vn( zc;=@qQ;am9G}})2WMi(Z$x^_aam2M%NRvf@@uCjnl^O=20EUZu&QvonU-mgW^AbbQ z1?H_hMgjrn1On`y-TBWV#Cp!|0kfmRxes^FDKMYYyUeid&N({;)~APEpRPH7KAHKB z&e=;cXITr*9<iEczG30@7zUo$3s-hs;JbT4$o8U$?Zu0yE^r21l<d98I^m*c07L18 zi%PPWB<EgKl)dEHz%F5Mlyd?D(+6g4-V+9E**p?hRT@|-7BG5DV3AvJ$+Lk)>I17p z1Eb|%2JK#UUEM211&nHUFWF3BD4oDyf8i2m1EX&3B?Z~50lb%38?HqEy;v%6EkO2K z)ZI&Ay;nSRuVu_-i2KVLDtj%j_c;Fo#(6xV6*|Y05?ET-TrcD~(UNnbaLx7jhU4YB z48jTw42M~BU$A!FVNFjsR;9~Ua_7G!^M~A3EgbcU9OC9yZ3{VOO!ih@9m2BF+0=r+ zFhSPr<*M6XTxurO^B9<~|7++kBBSt_Irjo{r2+dRpL08HY`LV)Ui-7)#+%!Zi!~aA zG|e}#pY*lspLEB3f$ixzwkO`+Q4Y9!>h9TVK4-7QT)6DRV6fosy*EbD3g@CHoPS<( z?&{ooSI?dgI&kh?&-tBm?pa@8`Fn@qh3?(+I(Ft8&RqO+_jl~sTW?RF-+P~B@7*J- z?(+Oyz-D_<`ql;BeG662ToAweK-Bl5bnQhR*-NY+F0wYTNd9}s`}d;UUv|x2_V^FX zObZyb7F?2QV3$+4qW+H|_z$zjKW5E_N9uVeK$nPp_|NQifLVCMW0QZ(HV2qp;vQEV zxSBBcqNm>_-LqFy&R&a^y%ZOFHEiG2kh9mK@~%boU1|HvkmhhA{=rGRJeH6>*IWLw zCQUe6ZF~Hs7qe^vd!A3^%Ov(P2KG?L;~52o@fQSlJYmf$C{(=YBonl*;=oO|K=!Ar zm=kl^63@O!mVFuEd$s?a@!KuzJ?oktv@W{A^;9PIl8}Pt^hZY9d{0*<+&kWDY&PNS zJsrktJ`5N3+;6>f@A;ZLC*RyTmCMXB@6NTo_xHrzJ#*(QTi=5RckkZQVSQ_JZ)?u| zSGCN0`tD!lW#lz@`!@Ifi?y~F=H1(M?*6&I_qkLV%@r<Oo^yA--GkFS{~xTo_lj-q zU8@ZbuB>@*DE0z>75jCY_oqEB3cQ^r()-Z!-b0x#mhuHm<q53i4;aD{E~^x<s}y{Q zNMPlayW}BowL;*kOYdd-4-6)H*VXkHDhe1q{$Amn@VMg76@T9+tv*l0A3WBd`$R?O zk<Yn{5)-b5+`Afk_DN*jXU}<0v(G+_+skIMfRSH;O>@EVG#>U=nd1>X8w=b-*LWT` zxeyig<7k@$^E@8*d2_s19TER`NkVr?{;5q&r3&nMy;q7HUZ(I?1j=5U*LPLz>{V6X zr+1s*2yJC&pU~5OX<G8i_pAaBg>&Oq$JyCkVBT(f?)%$2>*u{&!}of|p)-Z&-`xIe zb8GQ`Tb6TgFE747smSfL%)1ABe;!@;?s4;*M{k&;FEIEryitDeX7#x<tNQOh<6&H? z|MO1WuTyJ(-F)+gYw6Fwx)&bmz1g+?wZVtGOl$A{vpstt|Lo1)vlnd^UYc`(^Y1&B z1x;V$E_|8yUPSMqK<vei<B#nBUY1u-4Qse8@!+u|-(|NC%<&B@5&{3R8a_Jydn{Ma zs4D+iY45}8{}27^E^#t^3g3G%ftQ1ov!aQ!jkBq=l(nU!qOV<|eR6wG+oZPswz#;| zl&qALxPr8__~mJF*{LR}sp;uu@l0u1>lUS@EQ>EqiBBs{D>_(eb-1gjz3Vh*w-sx5 zX~)H;3#{k6J36j*|G&n1|G`76YJniTAZr$(5*9P%YN2WtmTG15lKVmre||P+F;`aj z@xpP#aZ3*6H&-`5^lxG*{deUp<B$FW9kM}E3VQ<ckGr=1%d_~ye&OE!&i@jAB_}p5 zJw09Q?9Ul9H=g8Z<8hv}hf!JOcnfDf$KUIlpI?~3KT$|jQ>cw);;T5X7nY*WLRP(+ z(^q2=6uW=2jP}21_iYSwtD}$CE#BOhYgh2&%iGBX&;5i{$|qDfEK=<3GL@3!_>uUe zJ%J})PQp-W!H0ekVKIM&Gs(BNtFRg<GhWx7z0l>FL3*-^hj6C*l9h=XE}dVWdpCt; zU;6rbN?XwKqU&a&Z>G%A=iC>w<G+E<%ny$3Cc2jwE|w_Hn(@+Rb{_BTt*`HGihjp- z?$f?}b|$aJhJd+|<z_mks?|T~TGYllJ7p*=Rq$<bXuf1<AoS|;9R66B__`;xDk8x; zoJR#*gk@9vLj*QG5pj?(eZXAHdxIsw&&u%XLR%T9qn9Im1P{pb*gCdM369ESRjdy> znBd@V9CtK6EXK4XsP4_i=b`oWEhS+S;&?OXMY6tlJS`^eW$^S!&nrtC8Eg^`9Oh@@ zC}5mAd2SPnkd{i@LFUZ~26tG~tjZYWX2gE$O>GhR<U41^R!=F#-Wp@6dDlEH&oWzg za_6n|Nfkk-3M#HJ&M7!xYZRk)Li3W3ao3Cg7tS!&);;4Xz8=|r*ZAQU&8W0{4ZrTL zTw(O{JfD=}ksw=*)~OSC`Ala%S)0k~GQU>RQ!t>8SCQjlu-2~2E{z<D)mOZ2ekLE_ z<^GkD)S`d##AFsu&x<b1QnK7rtQllI8Ui&nIo1Yf*tv!VUl-c_u9-JfHK;{z-irx6 zKdxyk-gBgjTetr!i|EDR_Y6k`S>zU)3VQKvy!yfF=Z04QNv|g)uyXP}XlzVuwryaX z;i2-aAx>_^0>)|0i9ZkXpM5d2;Z#P^HvX)eH+Oo>yByJcODQ+&(=4;zjOG}%HL(Z0 zmrStRbf)N{%7ILib0u7NmoJ!gt9R}V*WOpxVs<a@x3d@hZ}Hyw;;NK_Ni0u3mj?as zx!~evJhxb}?tt6VM<E<)rcK+P+zjbEpg*_cN}#ptRiS!=O)5K@IAw2_H-2NtKHn%m zt>s<tk)*yyd(N3zTlAH)$4zAk^*Au!!&qs?`)8NhrUV?|d?<eDQ2+Z_zPb&?PXwX@ z?`nPI^<Cx6E~}C--GfO^rSUkk{ftkC<ARmGwI*J+|K*(G=Ck4B)SizEKBniN;_*BG zaQ?D%QxoQ2vs8=nj9;Ypt0?&zUcVwJTRi8OeU#Ao1h?3$c}8;A9gfajxA(a1!wKC? z_dl6-O?(^vG3j=2i;#6i!O}3@nF0<9AI!L8HJnR+U%L@C$$VnU>s+&k|DyxqrdXX} z_12i-J?Ev&q#c(l_3X_Uz4$6s3>GhFZ}%;HxVJ*dLR>D@X~yh@-U%%hQemlX#!=!z zGn1z9?R>2EpUKNL@4>{L27$cCivAo&ohDTlELA!(>-dLHj~G-G)KdE<`Xn+nFMY|I zW@zIetXfyl_@JPl-R%H_+=m0r+G}~L+x|FCjdGin^@ch9xp0(eO&I65g>3@Ci;rE| zwy`&lp+J5ale-4*3<s6kc2C|M1?J#R?HN;^II8%Z+R0?J?VCY&!tqDb#6u;foK*EF z^gJT%5OBgg|6qWYZ-{u)v`P!fS$y&AU2{z0cOI5$JMC!mCh?x%^dn-wyo*04EfW5p zKEvmT>&D0s!v?FM^eJU+D(Yqo;(m2a3%O?|a~m(@XIET4xwZ8PfBgz~kpu_+`YWoO zo*I&zCJP$-I~xspDjQt(e^5P?@RF%Ar$?~DVX0kHzcJ^G11U<yww7+smWb)9EI9T2 zgvHs;$>qO-8QDyiJCz)ho+}bxc23<PaMGtK94VL9w!JcC3wpC6yZFJamXjMI!ajCw ztr2AHf9m?H!aHFf%QK$i-_|64Tg7?o%<YFF%Mae=G@O&B`h2&Jxn<_3jCS^<j%fD+ zmPXyBv)yjaHJ1#UvS(88>N|53yMwN;kqA2)^`uGBQ!0d?D{kT{yBkckkJ9|}F20R< z*KtVxUBdrX`<NaUl><x}YZF+NI==DEc4guWIWYaDW?E|N$$1`|pU=>GIk8_tK!t76 zgxkjw`VE>Adjy-h_x5UCvR?k^Tv^FAkI$h>wa-4c6;(z#1pNE5%h@$Gps+RM-Lgrl zUQ@kd`gcyfYsfcEIcHhmoo(m0@6;`NCY30B+Vbl9B7@cEavt&KobXM{yIRswtRC=+ zD}MVkfpx6smYE5rFqARfm^;r|{P`S>a}4=c+t{O~C*(#<$(Bu>_K?fN(&mL@%{K;T zDZz*SOiipde-eBYqTfyrS<rMfs^^$TKy$Zf=ZZUZi94D-8QHEmFt$BP)HnUd-Fv-2 zoGalV*P^`<abKF)_x%6h${?}h?8$(mb6>t&v+Q|u%A5kTSp^}}muDQyyB@OBA#B&p z-MWp&71Oou?OA5-__}qe(DWOjS#1U}(K4?sX5N^bJCnKP2dhrQ$(sq{*F5$czA<Kf z>Gd)@=)=_aQ)T!$Yg%~x4K7_jRM7U@XUcw~i-#U=xwcfleOJ0&>xNT%w!|#ebTcqJ zsPO!UR#R!k#BDbdSnDn_%*fgkb!`=+PfFHWhK9q;!6M62v@RI-$`-I+c;?C+e<Nbs z*#<^Nn*|HwSA3Lm$YxVs;=nMul0hz}o5jZG%$fT)e3Ty_G0wYEVsiUL@Q(?ngG`Hk zSFoGB3he#$Y)R6F2Uob}Y+Z5n!PjlS{-0a^T5D-z={g~;T{GEd`M32*p5dBZb@6xV zsm&P@g_mP@O;=ndv$TK1;TD04N9<|_Pi?0ANi15oTA(j~^>gW$Y}FZ;oF#V#|H?kX z(X2iD_Z8LJMGdX?4clJ&{&%h`E4bPs(9d#poms|4yS(hzH<+7S40|J2GiGEnBr81T zmdko`%=C$?kCefZY440?S*g5A?SJ^)?#-2DOno<{S`PT^OMNDL`ap?%`o48#-LLMx ztNXsYz)g$ou=cL#eH~9kWR|b2wJZKHNqnu>lgifi&O^NmLcb{In>@0)^7)FnMXB)m zlGyY*W+wB8PfNFQMi}31nNl8g=yXfsVa@9g!w(h2fBrvpqNU~k^#yOc4@#@)nDM$P z2u6#w*6-+++GO)YDqhDctRdFPB%5_@^EJl0M58zv2S(8?`<dc}%KG+yX)qO#e*IRA zkL^!L1NVnQ!!#oqn+v?RT1}UvG~86ozhkI%H!!$udvF$8!K#pu+-nsR%+uFCsbF`n z<azGHX&$D$y;wx7@Ibl3L6ItvX-&(`932#`wLJWkmRH$**D>*EX1JE2_&u()l*QV@ za=*B5@8Pgr<vK1N;S7q!#^1B1Hy3X)&z!tD{&Q>d>E&6%<u&KOWc*!Pe5E~ezf+6M z6hRI{o0Xxd(a+2HK9mGKE4lWJ;oJ2*sRnk_4N>VCtb7J#AJzZoL>k3pe^;#v<T|KW zar=V1n5*himV*0+9@8d7hZ||?wKlMwX!sBo+qvCTNTR^$Xc|j;BcDiRv0M72?~Odu zo0`)6>REk$r|JfjgsFsgE&5)#+T5qXx$E@vcnb}YN#C+eZ=^d)SlZrb*)zR5k2x%% zG~Q-YvuB5%iA2$n@}j)t?(Vc^#p?wvp_%MTt?R#Mg@z>PiYHk;(f!S0aM+n)g)4jA zLZ%PPnJPC%Wgif4Dhco~$YT#+XBSmfF|eta(B3kUDWWN$bP;pTMe7-p7{Zl;T3w>u z9@KZ1#Poeg3QtngZdN_h%%1jvIeq~{euO&X6W&j5u~w#?D}%i5O#L6L6xqnJy^$?_ z5<7d>RP_vv2*26eYm6;K14@e3)Lm9Q?+UbNHZJeA5$`oSSu^Ew=KAnvr-McBORI&C zH~U*;?iTMkxI)+UMzy=9!L}7WO4nPo!ZW*!r_{PNhj>io7BA{6bH0*daIq!x$3u&~ zTc*8O#2o0<cj_^th--4zgxs6U*wPl{?QCst-^ks|7<lYx;GU_rEryJm3X(PfF`HGR z)m@{tC#!aSG_3rX8#ztl?J~CDNy+gC0zWQJyW^PO#Xd<fva$Dhh18DD$<t@4ubd>P z<agjom$pUs%I7`5zxH_jXwq9*W$>fR#AULPM3c+Us=42r%}><m9`Dw^p1EKAe@~o8 ziwnopUDGr5uD6^LZ#rEu%}t{@U`5aCOO=z8=O$Hl-MDFSX=PEcX<>u|dr)}m<}zlh z1T{|wh9@hMB^I!0ZOA)WoFl)O;dGlsegp&i0~6K{$xIWNe*Iu|Q=5KUOor1zjc;WT zYk-G9se8qiK<QG|zn$zd6U0N+cs(XC7#?15qqU*qdwy}D!>!g%*6EEJCp&d^g~<G9 zl-rTM?nKvli^*;&5v!)R$X#D-UNPG_a?Yj~#XCHfgjF(sFRi|PvSy~4k9k4$+%*1U z90JnnJ?A**23Ss&GOE6q(Y@ZII#zUP07t?pjZ6p6-YJ*UcdRJd_FUKUOY<d_sp~gK zRu=weH~pY0#}LyQ#9mUs@FhUJT*0GEBG=;pqlW{dXTypg3pfImqF!*Ql{fUQc`D9# zAfR)h5r>sTy=08gEEc{%_V7t6Oqm=tQ{0=j<lX*|XYab`U)dt{U5mI_R_CP^=xbFP zu9{>N;%u^N^)An%IqdVyzQ<4crm(AW@}?I(#uBYgSw$y*tiG7C)N$eDt?u)5mQS&% zSZjNtC?RyIGsj#Fl^&TZQ>-JWPBL3(UD@m&)w{)gYQnGL$1hv;woh4~vi74F!|TlT z5!X}R9#i{$N{wX!v%NyShy$Zl8_T)`ahZmh9a*WyZS~(X+moBvd0o{Gm`X@3V3Jd) zcb}Frv8sN_)&G&=&8!gx?3WA{EpIYib1HbMM8PbM)jC<LH9XS|rMq-iW}N&oOV_gL zlDp;nwAnfm-92fu4I+Ctot*5XHRp*`(E*9Mp4DqhTBii;YQA38vYmZhpk>P;j=9y! zJs*EHt8q+;Wt|dWF~!SzZN$vA5t2nWPfWRQG56lh=918GmQwcg4#RIVQx>qQWe3d9 zS|G7pV8iig;(6}LolOCklcn=l<egn?Q+`0E`~cq@1;)Hi7LyOE6T3=7#a5nbme|?K zc*o2m%YiZayUL=QtJdzS(D9x$v!Zb|=VpDu#WEF}n~zPhNnfm`F(>QQx^>@|ZVm74 z{x->J)w&l^OJX{A@2zHG`|!Uyuxso6pE@_P*6vz9XRG`A0PeNU66<aq(oI;Z8?aKB zdE1mE>1`)pEOl8q=j3h%n;FYoGg~sP_eK7klK*P!<?Jb!o|MdYWr}4_l}N5%UCOSd zIKQ+&xcNap$JFE*mL9W%*jTM3JQmno{Kk;BL0qLl+{(e~NU*q2XP@VUT*=!9u9VH6 za7tXblU;O;8Cyz6Y;r?-S*OF(P0J-WOU;<HW~a+ii`}!PZ?=q1^r-G}I5pMhW6SCl zYhp5sUS;js8L@}AZO`>td(KI(_tl(ouA1dVc8?9m($By5gs!P}m*|P#p&PntZ^EBt z+S}*8@^13-*yc6oSn%m1ueJA2cT;}$bB*hY|IMy9kJ)Aj&n^{@JQnr3yl&0W<5JG- z)gRa^9OjEZn8uyT#b1z<C7{Y|z+hrv^g}yYXf<2J^J$we7->&nm|e<XJc(hRPXJ2+ zLuV56%1sWf9S+N8$E@;cTz$H;|M{*d<*SXXcH6D0T-$N@b7<2+u3GEsEj{068*pxO zv)Sg+v&ZL5^T{<+dJh-voxR7e`{<=P`!36D-EH1->$YRUoU?u_m%Pk6bLdZ1R?pFs zt9#sLZu7J*KCq%Ws9NDt%#@ei{O@<>t=TGGzA(zDjfKm=w$)KhXsJhEBAfOC=9B=Q z`Ul)e21eZ7>_r#mpW1BGQo^{tZO`vi#!r#Wiw`SFlrTKl`ajm?>M3>)_P_;^&41YQ z8CVowp3>u9yz*z~D$BzsQZ{eXxxDDb;?SRQY7)K5=1uNe-3NP)#NJ#Q%XP(T&lxY9 zy?Kl0cx7GjwmIjz_RM9Q{TD0G9)59D`nay-q$_40tA(~tK4i1af9<iY$B$gl+4~}9 zox_fz7t-55{Mi$3vv;2Id?|sISsTtDUY3%6<AB99i6hS#?VjySJHT4NkS8Z>ba&eH zPDKU}1Bs6-HCPpt#U|_ty|9KYfOYcQEb%3?mS*p2ieX}AV98v-UeCaiae!5I!le~H zvpBAM8UMayVB2K&YSyOM%lZ;$Uf=H7>%PvxYR{=3i<h%q$(gfe3h%j;-ZTEO|F4Di ztWBPK?82NQsdw)L@ZLRDbM(5`)!S8fZ+l-YsmToFI(jtw&dEJzF7cjKZrJxKYwFow zXY4zsT;aL;Qu^jxw)>en_s>SLvN+W9K4p}<P?r$Im=T^_`hr2!p-gMS^j#Bj%Ct5n zD=|zvRa-oByU&Cpp$&T`)-q4No3J$4YU)`bncPG2xg8pN_{$AWs4}qR2QbA3JaPzl zl(C>w`R1lgJcs9M9A4nj6}2^eb8nMrl(R&e^StMZiPqcBNHrhzy7KVto})Eq&dJ_O zjNN*?`p&60ch2xWJ<5CU{ONlU+C7q+3jKB#c}i}7`TK6rxhJl^&zxqibL3lgY4$$X z&L<anpMIG8e~;J%xy3O&3vL-%C5Tr$FfmNkVD`1inO^$ZjoE~u>_<-Sb9crH#zUe3 z+qpwi-?A-g+i-H~$135to69Y%WbQu9RNlGx<fi+D?A9MnWPUiITJS370^^e0NAu_1 z(!ITF!@PnmGM6po{N%Pj-uidxnU&5FmX0SQCMVCD?A&?gsPDC-eY=muy-Ce`n&<oU zNZlQ8zPAB#*Mef!x@9gsxAN+nw?|@DJvn#oiO;@x5!-z)ZLd9wJNGD;p)l`F$h;%w z1q@{i4X4jiJ?^@FPHRA)>;k3<3<e9Bmn%$Me!#}9pp4(vBR(KCF(~y)n_<NB5~<5| z0--ZDxkfj*Nc^_5(tWtR>Cb=mSzp<k_ORz&3}$5r2)w{3JAo~`;8Xqu#=r&a4i7$M zGO%d<dbB!s(hAGh>t&B@?47-3?reh{b7HDPW3n>s%a5Jlx^uejiTl4d$Mc?EJa^?R z@7+^&Uz7RXownN=!4u~FyW3s!*j>Fl{_~G`#(#Cyy>hbZ-2>TgiSxgm;JI)9pyaAp zZsm#_mdhBr4@%6@_PFFQu|$EFBZ{rJFW}?@ap^hkzX}*S>^T;Asopf6P#O}najQhv zk-)=8ZTKg!<Qp(pGB8<Q_-Sdtp!eYCqWeD=_A@yO{0cH)P>W}h-Oy+8tWM+tqk7#d z<^{Wq?N_gmJiT5z-SU6o!tIwW-%VO$apthd|8*RRz9KE#-oAQm{`{@4{<-6RUz6?M z2F5+R$p0=(|68ctv-8$Rujamu%&AT|cg=g(w+r=uJ@xmRcs%qz_wLUBs)@eWKF<G^ zqT8qVc}8zz>KSA1E*1_ZekOZOw{|ysH-0y!g0wWI-gqH4Hr7ctliY0VZRU#4w-H{l zbk5@TwvH})dnP86{6J>aNXzY(j(U!k!Mi0LgB=|uckA)&u++0uP(62E)j^f{tSGC{ z^_w?t-?}Sw`_6+~_a8lZ_WZ?5w)?MNPksO1{QcX{U*CQIX8y}uS=rb3-><LMMvpk` zo6H5?MOPed*we<V8@j3Fh{I83QQfFTCkm5~^-39cec|}D=>M@k1<x`Q$)csFCd%lm z9r2i~aJET8*i3PU@xpzRG(+e8;rO!TSO;%sT}$SrLl<U9&y^~8wPlf=bP1Qtg2^ot zR=c#ZWK^j>I6YmyS!ku`gh$;9HjDI5_zIjl!QxVO)$f5|mazJ+8uz=dUs{=3&6)Ff zADi+VO^WS4$RVBfMr?v<S;mZwpW9mJnabL=e>>CUYM#Gh|I)DBcTw3T>n@*cd)_zK zmXp8Ge^2dfxxKZ2XE|_W1SlRBWaoWX{6jb?V2bxbwp7h2FTYH8TPod~C;R*I1PRS+ zA@e3wOrCk#T}brQJ?rYFfq~oBSbbe`<=4lh_ii{JV&oK6xl_n4$GPLvQP%(VH5(7P zeUb@qVC3X5XlxOdFj~mK=~Ln?%6erZQxm^U!@<T$JDy%w?Bdxb#?SvEkcoA}6az_# zp1^H4^bRvDK5eAOFi}#*<iY{R38EziQUVSy7+EsQmOM+b2<SU}D|>TjC!g(;1j~ue z+kU3qo*vh<#J_-1@%V+AC!VG}v)d8*NG9N7?)9LuJ3GtgdcO`7UtV^7Eqi*!C)=g| zg>1FUpBEP?d0le<uIe>kHOQ6gW$|~#qX{DQH64yZQav5++Ds~qEXr#a%xK^fs#(#Y zvWBbR;7ZOLN1d7Yi;8(;H<T4!kDc{rssj`Ioy0b_w9<s`Bn!J~$pX0y&dL3vGZ@%6 z{%@*T*s!&UV*!KA!kZsw%Ep;U`mJ4OYuPs?*iSM#C#)&5-!dXgQ!sbWPc=3B|2$7F z&*T=po?jeoHASfO>eeahbC}b^r&MviuUxT+<?!@^!;d`IY&fbX`t{DiUN0-nMRLt9 zQ=QEYBrq45eQ|ecDF3t2S(e4Ag0Zn^&WsbW%^3@t*s^v^UBDi1Bd|qbPC?N@)6keE z-X_iu4U6JyDi1YFiYRchaGVkl_UWzh+33o4C`I9$h-AY<CXShf8`iSjidyY3;a*w7 z@jId^Zp=Gx&RG4<@=a5)-|o#<)uQ)&sq)OvXHtLa@At>d@19fV`Q{JDy3f5#Ur_w* z=e)AQU!1~E|Cd$SiTHMEamhZLqE!=r;)m&}1+zD(=Qh0IJ@}!$o?+de<MQP{+FPVr zY$hZyN&NY>pmV*?hlX=u8xmL>!X`AdaCwCE@8&8GnBVk?z0GL#Ww(k22l<;<W?bjL zzK+p_kH^96rr~L(=F>)JrW|16P}t*mm^mxtK%<mYKm%Jtii&N(0;Yl=PONJdZdYH* zZT2KW`~h3KYIQ27d>ePL^&Jz9IX9m8oOyW3?gaDh4hNmU4~ZwA&r{lXI`*93w8`hW zHPbY%Yz#<TmhI2ysJ85Sq*ECacaoQnhPA@K0_7V!n)%*+u;Jq2;BOMR6=^b&fmvXI zJyTSqaJbsumunqaZ_J+eUrOV{{8zsItm&C8ANT^hIOn$3<m4PtQ~SVb%%k9`T5vF> zZ6ddL$^u^17Yy8U8k<)$E@b9j;>gO=?8d_pz%0VhJMqD`Hr8jkF*9_o-;=9YSMo)- zAinANR1WcF<(UQEVIMg;h1mtYb=^DESmu^nxi4>>D-ftVWg(wo+OFoe0m+;GEH!AI zA*3J`oZ!mhY1D7AJ1L5ZjjiF}w44G4S%t<_j|qpboHJ^a|D(>ywCk|x<OwVWlO|SO zE_V1P<G^TOmB9OE&*6HH1XkgKz^Y7^`w1cw#a#pr=}AQ#mcBQEb**Hx_^E_8If0!A z_#~dyn=tgsE)nDvxX`qyy@i?m!T*AjY<ZvZ<(CRQ_@H=7XXciIST9XB)k}xxEHNrH znCk9RE8*R1>0`BJ&W*WQE1hL-36yBdr1{rN&6k;FFwG@IZBdWLm5jV6UH^U_=Fi`- z+x8D5_ny<MMAtR6R$pq=z8V}US<mjru#$maYQ{aAjpBQ=ll15DX{5g|a&KDarmwwU z=}4@|MmJ}h2A=E-4YHFMnUd%9O8!W8Ow%~f#5JLT%_E{&$|`_K#$vHa{)P;rX^bp< zCMOrKo+z~2?&V2NF1;z?Mw)ECnmZHt1eck#u3cJZc{uvnrR6TAx(3;|L*_pFP^9c| zY~ut*mgpCZyq$>$`1Y-0wz|W>_Qycdq}U?%zk=WPnU0=mf|J>pZ<m&)mV7;bYQhBD z!lGB)o<Eq_J~S{IKTs5OI($I(QdPU)N`(#SJh#3a;V}6c#K2j4q&d>9g{3Hse@^_; z!*U8Pt6A1O;P$xT(zHZ_LyBjUr0R~NMjy7Th$(E^D6XdS??XAakh~a+gM-3Oqt4!| z8{8%fPT|c|=U6{Q&Topg>z(X+t7ty8CEFe3Ug?%fKT%@7e8N%EQ7mI(Ok9bg(E1-v zoJJFxO;fyi+zgl{?<BFwHZ0k7rX(#uh2iWHR-ZBh1&8-x+n!bb@^iRRyj<$SCL^v5 zXZI>QT~uP2!@=7ToL&*oC{?$-(P_U^MZAI-|Gp0k*j4{O;NCJxlAp_9cYa8tZ0LmM z$P9+|Riz9S6I2?FxMl|g?S612;&7v!)`IrmiM^7H35{ZDYgwgoRx=j}xU{|#Qx$8z zlE1k1()wWU<SW<OmL%LtI8d;1h1~my8GBrfHZS#koAtklML@!V{oIAdNFD{=x38I4 z_gpaMy}-b3DbXO?mNso6rvqQQ-J_*bWzSw)r<{35^|RG3@2eUKQ_Cwjb}+Y<`l`G* zvnGaRLUK5pYuHLweV5lQ+s<(ua|+KtH%Vjag%+`{y(Vk*D}P>HzmKt5<A<R5G}(=^ zVv&sD;$lZtB@C}QTws)Gcu>b2u!d8Nqk(nXu4_p<PJer2)F}FTt;~M|wr|XrO&?1I zf4H&AR%UN`^NLwfzb(V|Tj{Sq_jR>%3QNKXN6vd2+UylP`STf^k}f>RbF5%I%yr@# z{}G32n*t84d_6()>cX3M1>ZPuHOM!J6fiQ?KYm~z`DBsJ;`Y|}_ryPH{csS{3SfR& znZWCLfLYRz->rG|cAe&eR<;ig?G29)GFSY#D<ONpj7LU_x!K^fx&e!#yE*UaO35?o zZ<5xs^PJ@2-|*pY-o{2=^(pRW3>w#-<#prBc)-|p;8Tl;LR+@sqWQOttup?zCHtD~ zy|JL=SJvA^{mZF)+t0uIwdLyhx-4VS_o-$FP8KbExH(dn*Wti_sWS>~A})~`Obh-q zN={=|yTtLYoMU!?tH+jnGY8%;(^<bv=6UJHyXAxY+b3006Iike;=f;Ie5B$ZyM@i8 zfzj63#BD;Dhk&Qj3MRKjY<d-L{|c)<x!7hY*i|T)$Snx-XkagL@Jn#9eGsB|Y%;^F zZ_En=INTD%o;sK8PGVU#fhlDHPh^Arie(Y;1|{7S+{zYm?Y!=`WJ2}dEwy}8N)Eau ze@;pc5clHl$oam(@h!Xc%k;W@i}sR?Ix_**?Ex%F>byDv44tCcc19eI%ehh##jXc2 z9ZpCsea^*K&X{tH@2vyFxe2V3JtAIS<GEtc8Ytj-)0rt-A?(s-w);yfb_&}zuqk*b z*rkO04}ail%k>~E&DB<v-GSdgt92P;`+^Ks1%J;CE`pE5_HSbHUCbQ)kxj}#r`5sa zuS-eJ5w3|YwK5Zuv=Y*7ni)G1xZ-}a?w-^ef5L6SQ{EXO$$Qx>J}r>G^d&}B)nKZE z@2-W?%Ugr8BicV%^ndx`{o9a1TCMm>frr9_b_W55xvkZ|TT;u|t3(WVWCO(96xf<S za3vmOp7BjOBA_@{H7=roS^Q^ggaeDjPd1AQo$c%j;UD6;+1;4FvVGZNr1XL@Er8=i za~Fe1L&jHz#%W;;LCjY^Gt3n?Nf%UFYrxUy#-X{u_=&S(?}XO2ggnL@j3x>kM}*2N z3VUx{@4cJxe@fhmmS>ZDBX;(>UC7WeYtt7Cdi%*|*G2&r2fhnS`JYEjds`8u^0Y0s zyzZ;Tbk}V;%bZKyO$5y@NQN6HEuY35yP@dEW=6{mDg_IaVj|pA1US`_*k)`@J>kqT zJAq@$vixao4AZ8vwwL?AF|8^o_0PXh5mn;vvcag#)n9Z&Gt+}Akq3+_70s!R%twMU zo<5Q1bFfXHsN3yeJ0XNEp26hECYw-Zrl{Z<aU1L$92ol_h#k5t)|n=@aCuzM3|;;J zySybFt1k2=bo8Ft(d&D|?QaN|?AF?c8ac{Sr)ABQ&e<gJJcIewPW}r^%GFt?mqgCr z+dBQru^@%S>HAyeYi|6ndO4J{+JL$20^{r88Q<8MVi&M`H6@vaGl?ExeN`+u(P2W` z0=5{2n!JZ%?FqUk4s*;_Q0&W?In{wdVMEG7$FfV8{a&yrL@>BLUdq(_+**P`;ij-# zg@OML=ZrFOrL7s0vK<)pb{Lsnux9&SZ)#!dDWEiI!DOip$?O9Q940vMU#Op*X6{%d zd9_K*sknh(LF>G_k{Ekj*hx3v6D@aF_TK5}jkB1S$l15(s5w7N>8Wq?(ogEM6fnP= zx%~bIfy!0<HC;ickInyhBl`XFx@aMT&RNbazvd?|)A;vtMfa)|zjrnmY+x^QU=&OZ zY<?oSIMBR#Nx+(GjDe?^rYEwe9r!<aRu+5C<q4A>)StLqzeb5o%7JN#xPrL@L;VKk zEeuQxCaPo~U|M~m@w!R;D^`W;%n5QAT&+JZew17w$KZC+c-8||KTC}zZHBYHUp3~s zFyVBtSlSXsHzSX^f-3VFS#}q2t8U2S`e1fabN1|QY@94}i&PlIXEmuftXdYicJ3v= zIh&^5IXN}UYQyfNlK9S&!)`h6f5e1+iK#lp&+~9zxZuX@O#-!1$sLzg+zeg$MRH~H zsURutm91RU%OW@Z^qhZw;|k?!ucz#r&TnBhS2u54lC>;~$?H;<(P^eYDJg^PS!}ab z3TI_AIg~dGD1Du!+j@;7!<EtV0po)sUH=Vvy`26tXDwjJdXN@j(qwhm)nkF*8xy;f zkJg$m7~ZHXnf%rDzoV^^McfK=x3r}UG7FgcTp17TWOM9V+k7mqEMc>uJ9n9a$@N35 zmkJj7&SX+DGWm1Z_(N2NUd2|G1&ul1;$;OCzK87mT++;uQ5fGa_2JH`We=yaRhMwC z4w5txypXDPLQx<&Xru6MwH+5@-+I*jTDj@x&yAa_cl(NN+Hrd0ugdBDvo?M7D3#mY zFv)mj@N<E{2Ii#~S;H@9G0&*aXm?k=z{>2gYH6d&;>6-A0TtN`6VwhZ`Nv)>?J;@& zj~y4gSm!t~3TygJ_!`T0J#*uXNmm}b7|beItC68t)Du6!I%32Brl%$GKHW{{*_*W- zm@5+4u78P7Yi0Q#oKdiVP5Dw@XExg=PiBV$W+o5BmOiMz`e>p3&RIEy3(Gz<O}OG0 z&ys#QI8Nb5XZeSC`HY<^4U7*g59d^guW+1qUwq=4qvdBl?&4P5$iJKaou<HvkIO&Y z6tGyfsoN_5c=hfdD|gGz-njSn?tdrePw`s0ReF!!>$XGDUZ>Lds|^?eKdiP(VsCCy zIiJ8DptUeRVe=&g-ZK;O!Y=n~nweZXKEcnEF}-lBeS}*=3A?M;&g&|+E4Odcc4oPM zHSEKa^(!<IZau0};c(k<Jniz0uBW>vX1;EE^>oK}Pp0D@%qklS9*9P^w7EGk{|}UT z#dT_P;qFat8G<%*jWXEO6F7~OcqId-)GVH8n!)(VdeMorM<#CbJi^4jH(TFWC1P}V z{_Uh~MH}X_cuf!E{QQmYLQ3DoFNb+1PP<ULOMrWYQb=F!4#!Q&dyZCbiqP4u7QHh3 z%+U~^O>gc<KkwQ7bWfCy_4)0ED;*lxbP^)DTP3SLOf;O%%yWw|=7Z$CT>)%X3{y@d za@5*4W|UtOFLw!Ey=~T^o0AW{S`zlk#a6<g>LOQD#Fa(L8Vt`={IVY~{%h$v!8N)0 zjO*fzosU#ZGDSWAZ*4qa6ZbG=pQwPtkx!@YhUhwM<_P-2oT#NG&=dC3v?}9bS>Q3_ zONSdDvHY(w=?rVyux8$j_3<f__R555TAT=*5LfOfW_ISx!rOuQtN7xL&b9?xyT93x zs_A>?;|9AP>71fHVKJF;I_KZKIU3tD{pp(IZ_lp#`gn;gxn4W>=!Z8)Cq*!2K2Tbm zXy2T&`FBpSgTlh>ghV!xRc5mzFM<X+8D-Ph3j&rltk!LE*rHjmRr$x_a)DW~s{WIA zUu9@pzgWX>=Vw=A&&gA~nf`yR*`GOi6G!*d*|u*&{j@G$%`#Z~MnvJolE#TsDwS^d zy}#n>JXwKlyUqTeoz{zuFDGw(AUe5GO`+^`cTa=y>CH>B44U`;(acg&<aE+0S-LIV zC5~?a+tte6TQ{esy#258qDk+Ox>uGi<8-y)g1voyq1L%UeZ_BOj?TW(zPGK(x9&;K zjSk+2dbf|ZzI~vx+EMb{_10LgU0f{n0!zydur6E0e)hvL@oB6M1#B4~B&}yloN?Hz z@oaTQkEz+|IjM>ln|9ckY5A#4NQ_iqZJN%!O@TG?1DoszHmwU6PjpqRxe;o;m?^}0 z;^H68k5m{ez2bIWK3UdX(fQ}n_alw|XI)dSgo=JRek1wv<%pB4%fg;+nN*~G_iYHH zRpv9}ii;X6*eVk4&-N~fpV(rwmhr*of+bC2bCk3kCtG_kxUUYlS8*|;@^S6cm*%Eo zXTP&Oc;EDrO>X|~i__TWO<S@gsPpdshxNJFSIm1QH1E39zE^VV9!m3_uaD(7Z(ysx zz?iz>Nz8^P-;x)Yi}RXlZ=D&qz_Uq0^#JRFD32M6yv4yxG6A)P;ak>UsP}wv+VLD4 zj{@u4!zq$#kKY{TR{h{Ax?$#-zcU}1p31m#iO*o?=CjY+mQ7gbbU!l0c9GCp!&z6q zhuE&(aWUq1e5V@6rz49N1?`Lf(&_bzQJgm+enJ)F^d^CCooxQwId*8>k(~N>ic&da z;^Iw(PcFONW}Y{ndsl^V-=@OMi#a*Z6)djS#0Ii=PHi~ymF?UTzw;k%yjm>xaQ(km zrsuD>=YF<3|JjEBT(tn}xdt}2F18sD*{2?1ou9kP;P`)@scYHG8rVD^-OPT#Dw42Z zS(KD(kW@heyN%w(q=xF0iA*94OwG%694AO@bC8Taz|C`j;gj&BPggqo(@!L|TIWnV zbpCl0;}h}ND6xE1e@&jn@lWJ4&%Mx@wN2&2%?&G<dK@mkG1>o=RiWZTXIgcb(_)+N ztt=~NaTJOzna^R8{Qu*E?Hrfou2l$Lo1HM(@Xy@2t9yU-nlDeB7nYP}R>rr(pP#Xg z-^gFO>GL%E_Ydss|5)n3ek`tkeE**{p`Sk}%+JtdRO<>X>)t!li`hoH*l_s*g#{|h zqLK{mWoeq3Hy!!fyEU)rz+;xq2Brz_Uk<Z71_b0D;Er_Y6tZ~orujcl>&^WJJRBY> ze4gbhDiIM{<yw609v<-?+3i|V{8>`*QX*Ot=2cWkcu09@skHUB^-RuQ-o8OJi(hM6 zg^GvBitZH~R!^Oq<-sr2-m`q`vhsCOOf%-DF=;ZnX}a;J%{s?_?uwhR+r#^AOgE)G zneJU-ihq0UF{{u=)-PW^eHQxk^Y_otzkh!7{F(f~zv)0DJMSmqiVcbT+W2I(LQZ^8 zJlZL$9Cv5N#U%G08Qmt9NJEvweHxxsB9WgIdTRAm)uwzXdL(a~v1i4`%Zw+a6)f(B zyg0DvNP|qI!xM%@%hTCyy&6L<1TSLY5OcV;M)6crYY$h#{sQ3z4rfeCqrYyr@IQ&2 zV}hPz)02b?%X|gw9J`*J5L}WMD$~9}!RZO-N!eh}EY-l~hf@|G-r%vr>Fa}8o6Go> ztY0{IG0UCb<Kw#S$*Btot|D47zaBLPs_|r{)do5r{O~YHMI#_!F$3q!fL&V-EmCl3 z)((oV<Cu})X5N~?Z*VZu{q6DQCr^%a2FvBemRqF0Iq;Jy{QyJt*H<r{`2`XVe*5q} zbmq^xl)s(KoP8mdL5ogy%b(m5<nd?gkxPwiY**x)xI32w_;OikBvzXWeh?AQcyUoA zOd;Z`t61pN4b!8;LRneDMCWk0aO%7;3=OY3v7j}opx|>u<O7e-tlecxBAVnZVvaIJ zRGkt1e?-L5z@S0IBXy&=Si7W>l(Os;heMj}p$V=^6D7+yR4aT|Hc4fN2+R=OH)E5V zo>axMMyWS0M$6dOUJ;AVo0RFqt(vVOI5%k{XG0@f+8=>ATz4)kaO8@=k=QPkHe;jP z>_oXmovQpk2l~`<XMJSgT~PJGl}k9M>8#G3nu&d7Pu9$mwM?2)9K!c};q-ep-;ONT zw*PvUJ;3wR!*Yc>&Y#m4Y!u|vR%kdSbmBqN1-BhK8xLu@F!=nwbK$|d4|_}2vRr>P zfkjF;DRiA&-ozIvoF*YFlfre&8k)OBZ!qSw>TpCZHco0e?8_xm(vZJP%_r1=L&4+f z6gHUxhH0`3mhJc-&e?EPDT&Ro<;OAUaH(V;-8E|-9w?j=a-btcqnnLeRV#W^C!3X~ z)ZNmQ8wVR@cNID{GgVY9Xyg*9X>6RSGJ(_Ng4BhC&Pz<o)iy-Q-gxsuCzmVANO@k6 z@-cpyHHCBYPA<K`aVa-V{iW2)is!PHX)>vD0^1+WinIGz@O$3+J=@y9`&==L&fRoc zjyv}OkC^tthlgKv?P$K7b=rIb(^VEl2Z69Y-5ozGPM>G2-gB^NPsCJ)q)>$y8>h<Z zeG19%(%ZI<b<c+I1q}=ZCX<^axTYvv4Nz}lT`%UKa;A|fd&3T68Q#kiYWn$`7pTO? z%=ySBm9}EzCayFg-;-0DWSIV6Q<S|Bw&ld)xk0z5rUYzgTa>>l@zv}yfmNLOSA(Ot zIYk*_8I5I*96LC}VKD>ym2xhb2im3%H*Tt~D(*|0!N|OJ(K(Y73mHs%me<d{aKI?$ z8PAnQt*n@cX32d9PR3Ifa5Gyd-g&Z3uBPC1>&Jt$>uw$1zK>Ba^3tMd4IJBb4`rq} z)H>hs;ZZ*_!{<nc$xE@PM&j}uwb}CiElSTm6*g!#ar62+i+9HyVcl?{p;G!#c(>Mq zR)#Yjtc)+Z-W-`=!goM1ey?-{>kfwX3XKO?6>b~|)k>JAf8l^mN}$7A3kPPg3ts#@ z98PSTHn3g(`H-9I#euv7mpT`4`tr&J$ZP(;;?Nu@>R!9}<x#yg>fBN<j!jwhvW;nx zV%v+11#t@=J<+ytur{60D?P_!-tU~9(n1>)k~SB#&AVi{D*MI>>3^S;3zuEwQC^W{ zCUSv6@}5d}_6)|Pv;|yd`xmrpEO|J)>Os@mcMJQ!9{4cl#h=^jvQF$^`<brFdFUbU z-Jh$go)y@4PfizVJ?dAcXDA;yWsw78*3qW0K&BFn20pzH%>^oJeOwlbi(5HdT;B7s zXMMA{z?>;lesm`CMn(u8Dl!OaQPk1oWM&fQdfCLg<H6GXXQr5{88otUd}`5@VUS<e zu(5NNI<L}_g9RnU?T1woCu?~$eR}Yv^}v-!Lf0Q2<KO4-pHXVf!(x*a4U6`5?D@Fm zrEhMPBx}`_(6xN6EKHkSSW7nV_u0eAe01T#{x=I4lr<K(Ukr&iF`Y2?X^*q)+kgh~ zj03!m+mc&m8!)e!WjOn=5f|U%MrHxF2P#o>H?X{#Ih*@+*!GfT!EO3q(zo8Tw8;Az zyyf#Ab^D8%mZk54=d;e0abzr7tA0zYxMYT|)Azvk{0k<m0k2bbUwA6AeNNw^SkL5r zlY(xZddJG5DKfX?+o3z1FV|^sRBOt`&uSLicv|W$)1eNDgef~y7J9{S@Jm{7wwsnH zndfh6DQ0mCyei<uy5QF8M9~Rbz8!32+M0a)?YTt_We!1^X^R-Rn=VYz`R}2~z4=t5 z%JwGvyDSAhENj+lnl5b6pA{51^8uT}+{707Et@Q4cVxY|@zl+tfs1cR)>TuF8yZGi zm|J5U!lhOmnj(5nIlRO;eM0-4$n$mAPJEl9zTr~mEzY&ZCj<PJ=Tx6?QT_CI+m@|K zdF8Wj=f`Sq4^?51U1Y!@6R}jor_zhvs?zw0-xa=Ikr{g(0%FDAr0VNU;GU~qHpSN3 zQ`55IrO1xi8-#pZD?=DW*?k<Q?lov&v^>GU{OQhR_9>1V(<A1yol9uX3DGxAkW5gw zGFZm)*njo%Cl0eU8kog5Fr<54mX8SF6;ml#z`QZw;I{|`k+|^EMGh8+#do#YZ&7>r z|Jo~W!*$c=J_^3XuxVxBl`C8^56TRB%o1*T9X_*k#jRRLo(BdS7?NDA^ItvWu{bCY zdWoThFXP&rIl2B5TW#`HZcE$wZY$sScyqpr|IJgs|CsYIYaP{iR(3l0Pm$fWnh!O9 z7!!9niwhJy(|GdlQh#!e*WPKTFFLSSoiFs1IMfs#Y2UnJiL}DY(030QEI5J~n?knA ze%do#q)d_B#x;nIZ9%)c=PACF1qV&<dNb-g*yZCSZ^p_shtodGH83f2`pj3>2i~w2 ztaY(IGU3DXxIckYSk$$IS#8{>2p>IWaq&sR_bV6n8)mAmU*-}w`_@w#zCCYzGwy0} zMwBRt6)-SV{WoZoYF@%F_2kBmXhtTf3k7XHw-Z06YB(<o|MITlb=JLU>%Z?cmrp%c z{qM8BN`+(m3zxe>dmjFNvB^ecUv#VXABOsdK$n%9jNNaZIU1$vA0G6lmG8#Qo#)rS z@oo;-b#?3Q2^Uf?7Jr<vq2_HXtLU?q04s*39SW}HHHD3nC#X#SxTdixO~QZog$b<U z1_>q47QP8|*wXg(p1yg)N`3V+DW{U=OI1hx^x5?D$(+BM{`IL2Y<`Y`QXk?MBzc9J zI_zxp+Bs2bqM||4bCVmPN~hH%m?sAvWM+yrD3VoDYQ4s4VH%maq2j(tWaL72W(KCm zQ!0N4q|9Q^cVd&*=cqD?xZG^UA-{-SfL&DH@<cQD_vY|z(SI%!Y+YKwo-WF)EL!x< zHOf%L`f}pDCTq<Dj0y&<S4z{%mx(-67mqTvk!2IpzGNNt&_+2mT`N3D-BjF0lttSq zHg6(p;X>=|1or9A+*1Qo94D{_GBiapC`m11pPDLHJ&`T{0oTF6_(_gAy8?}tPm@Yr z#OC?IcvoRgg@bgIVCODF-*|)e{_SahmvU=Pv%MG0UErRxV_Ws9$x;Cm_0Edd$6hRt zeNZmxk-jBEPT>Y?zC*`kQwA;8bcszB&jdLb6o0a?=rA%c=rAxaFnnS3WprTw-@x3| z%pAxZ+tSq0*3sG5KVf3e#Fp-k?)JdgS#x4D=Py{eD0A-8*~^!;_V%sr42s;qv&oUi zaoe_B$K0Kp_U?7u5ZN_%@zG<)PaI#GId9hdxhtkEo3(1y+}8G)7nk1&JahSO?8OIH zZ{D0fWkb`UzBf~tBiFBcH(}R-Pm#NFc{c3gdC$<gQkY}?f&&R0!dfvq1mq63^To3& zr@WFh_dmL>_xBUd<W2nx<|r0ln<%o%=hmsjTP7zjSQfXfuoe2|b*e#TgUX{blblbj zk8;Q~+;CFww9bP6mlg!hayx%%x%bzGOP`Nx&N2^oO>{lHReR6;cQ;%)zr7Y)>vV=q z^Xae9MYr8m|8rb4k?3~xFO!J9C8MTsif47k4wh$HJG37fcbwL+3uZG+(o5$tf9fTA zWo4;d?as>@!a}w?1(P4%nwlOy+hE!AmXpG4rfWOnO@n=Iil>=PzrpZIu0+5$<@f<* z?{mLit~8t|W2sc`=Ci~+Uvcq7BhI@Kn=`gvj6If{w>{m_g?n9h#Dt8q;m(hHkMGu8 zawhEF)w|zb?3=nlFQ(o&Y|V@waU+I*><aaNeipJfa@<Q?(AcN=B0)06K_jt6#BRk5 z@l=(>#CoB;9g4{ZTP5b?_x+qE-+5r6#iD{X-fKzWr%arEO73}lKW2PIcDl0Zw3bhg z`eQUp7pDg9U^yM4E980czt@c&CZ4L-<~VVs%Z45gaeJJw$g}^XL%U3$Yv1Kq(`hc1 zv%NB(JmV-&mUEgv{q_$Dm7YnQJFi4JF1vXzq+;HW*_|CLHIkC}n`TIK$W42AtdT?Q zVe4YgAJ1Pjh*s^8uNPrj@p4&O&a0Qp1nQ&|8-FWiWfibZx+T$^C$lRfc>|wTQo^QV zt7bHn-)PKUHC^vnc5>S_t?Z7Lt0$8+f@(vSYsA+zpG?2Az;)S_D?O9el%8!ol2aX- zXL%|(|45-~@$4IIzUIg8Xm;(o(t5a4V}*meyvCL!DXqrxDH2JGWYV-&Ef?ULk-37w z?brK*9QIaO?GuW!jvW?o_HkP-;=d;I|8kD(UoRGO+zM=KO0DpDaOmH(IfaLXl6Gup zSD5~=ebLTsuZ~NuXOqrZwD*zB>kh|x+Cjz<T16dm9Mo3cnf*mlOfqGQ7@KHF_@j(7 zTkXug243>ncstK)X-(zXo=9==ZQD+sUHvX>;hhT62?xG<Z&)r7y+%`J_N7=u$&z#( z^Fw`U9f^_>SwFTvkX6bkzWuGpMq$75ed&ZH(%)kru8{J}`1wT8&+FI{UU#Wi^}O!u zK0M`L=d(as>AzR;tEGJ!65X!i-_+mKp52|R_5RZA((X;WUo5X{`uDPWqxb%ZKl6R0 z*&;4RhMPX`zuz~vr*PNy74!EUWM_Z9h{x>NF{!n;3N`+J>!{o#zqr6(=Hub&?p+_3 zOC-<Pey?@*xgYDT*|~mq<}B7&(LD9kod-<Y4fjWC)&IJ5{|(2{9fx_d!%jF0ZeUt! zn$FwgTNKFQ>NIi7b5Y(b`91Ug{YhW6ZbL@d&1k_7K`l-XHG5tDRWGPhP(CcB#}VG; zIki<|xy8kwyg`c|#~l1OP2-ATfivIa8A9@G>|GnrclvI*ao6aZ*`<%KgZO+VUiOMO zbk9+su$3w7`?t?p|DL?5OPiy>s#&bMI_IOiU-YasB{wX7Kh$x3CB;y6CTZHO&R(OK z!g~crw(aJB)}EIB;@<jCOOHu0t)BQqJ8n{(hSOU`t-vN`C4tvB76z{E`QNV59l+?l z%wX@#px|l3cc0z6KEL^?Zr!WZGjx`6C`4>~AK&WzSk?RKYW-Co0*)*c?`iqz<nZ=% zNVlUJ1H0M6V7Z=>NkTI;ADbQ7Cn^xsW~~^$=i%%_e;obpoA{LO`n1cLEx*asSz+U( zDQlKX8aL&vekdb5d3_?Qezi(b!2KV=r~dzWUc|O}QESe!MecHf!T%@S-_LSI!>e&s z5OeF)hYTGGA%5#-?sQq)e9T-!_-LWQ@8Emp;SZ&|+5)?`W-YxlYlq!V$#<o{E~YP> zvQnZs@Zz#_AuqLfJytyu+3bHn^08I#w4Q9&rP+@%`ZSkpnP%Q5Qe`JPQBqh#+d(oY zbK3uwl+HE3+zKT98?(2>g?)UkIBBZSf^S)K_Oh`Vw1-_>%eVK1YiO%aACr3JMrpOZ zDJ$I8a=n_szBhig*O6AmsZ*x!dvsM<`<K~&n~?O5)l=HSmgzI?<)7NNxmh~F^*D3V zmA;c9%5hI6PD;#cY}4DbigV|SqatjpR@Z%ckw4>DxJ$2KY3h|1OU+(y>YO*RaKYEL zVN12HUfQX<Lndp13qSiMv8b(+bZXXqU6UnxykOzHgWkbX8#b-G&-J}A?5g$+o<x!P z5~_-(Cp~Sht&XdEqG0>|W{}FJ0>iIIi)uI9EEWEEI{weSNp&2~7t*A^SsX9QTDoOU zYTZ{i->6etr*Te8`d_bp=hAM|h>+gDA#H}$?n!gYwq9htS8(Op6#J5=Zb1v<(hV%+ z%{rIHI9p5id~4}hab>xXn&YJ?HRB~aPPmG_>6q7RA1Kh1a!AR;yTzeIh<^^lPI0%7 zt!c}2o@zx$YHW?TFMj4jt6ufY)3MJ!9o{Ch(O~k-Lm6_LXKg=|X1IOl*~~b3@1Nb~ ztnNP!m2K8H{l4b;-&;RBH}(_=S)1-}_7n~|c_z5m>T}<cKKK6qb8}tgE^<@}w3tuO z^RhnlSYVfg%H>y<9?KIOg*ERS)qOpc!#`~8y)XNc)R(4xT~)~R`qMP=eIHc2SKXaG zZ{ZIsTfb-RQ`>#tBuW3iaYD`P$hrS#o~6x?JaeIM^Olcgh8?aSgWK5xM7VnsAJ=6x z#l*zbwf&C1Txry^<k8K!K{8w!6HecKq#<tlWcE_C%IDTIDz_}P|10VK#`W?i&aYN- zpR!7yFvzXA*C}$z`?Z?>ohvKE$_|R>Wq)yzJhlHB=dquK*}dt{_PpyY(#fg4xBHIj zDY5dRQ?CEwrWD_~F8<wOQ|!IM_#Z09`_~yAe01E7BfermH0z}$mmS!YeG-`51R5@# zU7%jP;_wSM`(1)P{|weC99kY@Q&_kmD0JgC-*$a(mBqXCO41fQd=X^sEO|*pt)PW7 z_NYXV)FDYzDa}K|hSPR?&Zsi2xcuy%aiCF#fv(*Dy7$j6S^RsfF>f=cym*~}=iSMc z+>fUu)dc7MF@Cd^EAX4i5mmX9e&4E6Ki&(ES;<m*l4qLp`|j`mS`0I0Bp4ZXd(HEX z?rdCVHaGibP;T?9Emd4w<RT_=sO5I5bZ?ivxoX>5y&Kbc${$?XwWw_QD`VB8g4)f6 zTJmP4a~o@S9j<HHAg8kWf#*k=EkcSDul_yxCeNs0&F^i~{OdQJe4X)Op1IXI6%(;) zwG-(A8QqMc9gg0f0+Q1wun7p6r!L^Edcd>%C`V=iTm1!AwKleT1BLVk8HOUZbB_c! zZnrQMwGcg|B<mD<a%znEVmFo@ZqXM#VipAZ9#QNmG>Q|D%ryGXaEPVaOR!<~=j!NC zJ1bMIN5z_2lkLQ(X*MpE$WRczQXp^D5j@K%a&A+=%g6Hd1`O#2_UaZ*e;1ZT&1kt; zuGp8v=6QkjPa@mIK<``Xfg2Vj@+2DuesK|c%vwId-J6Mv`GQo<jrPO~tQskjkq_Ei zZb&&QNT{VrW(u&>u8?Y7(IA!_DY04N+fnw`6YaSL+V@nO!d7TzD6lRs?5w-N7TLfi zuq<87l`UPNYfVL`V}r)eg^E3i?Cq>vS<@9Wr*^H~(Y<zItK*8=JvX|}i7U#T=xDvc z_Tf_3(hfGijg5;m6f*>Rc3W`d3rJqt(LHN}XiQ=6^o*{w39So%ba1r)Z(AkN5U9`< zDbQehgLRPvi}%9vcURQUXw<tL>v9e@t9sGZYQgYxBHQnZPT?K${}yTSFic>L>~MUL z@RnJT{bsL-se)BRkhH7ghQnPv8+cQlgmT3zPnOp-NObl%HmMx$x)scJ>_z)3K}qvV z6Ivu#q{S4QD>`!zu-+G$++x9gYdYIQjUMmB$#pOKEM82u_pFdetWA2{*sIueqJypV zft&Tq_N$E&Z!0)DUj*iV$b2ops_xlw??bJ~W7dt^+o#W9jkqY`d!uhvhjL#c$C(7d z+)7U6ue?DAx*{Lwnlf=Yoowg%z!|OCRef^G^cBr#mvib^b}gGI^|qsadO_dY6aV!B z17@u0=sBJ+(bBEXAfz&8LK6QA!PAZM84TX36^UsFdhc?`^h9>>7#M}l&`j!_^+<u^ zZA8b?8?)>!r*$&STq4QV6WGYyP_@%?N>@N{$3ph~H>FYoGCy3HUi*V>-UBwqR*5Yy z+k-Cj<Sd+$ys3UdxU|itjM)>W*G5d2v6O9y><CiuIln{m;*S2nr_%p4x~_8QG&nh@ zHq5T^D49~K$^2o;osORGms<Y@&S{mX-mPMHD%q+0K<AMi7Ci^Mgq_VdG6feM=_!9S zw?;#(fBF0x36`b>BB=>%%Wrl)b(r6BLp}2V>)Xx=m5bUXO*odZ_ZXezbW`k!c3!x` z&}7E5|9rw7iWVA+az6;Q9Ow$#P;ato;e>W+gKwtSCyHHJFvsx$&ri<|E04L4J3I4| zC)J){xZ2JZEjgjbXnx%cR!s@*FDDszzOe0C(Hi%v{oBkbEh{t+S{S~(DU~bGuuy1u z;sJ)Vgym~rG%sh7agA_l+S0Yi!l~+!>L*2$&INO>pI}&YNZRC<6jy}h{*4_ao{rXH zbC2$vzQKID(M{Hm1#Bz}d***&b3P@K9;9cmOy~o{g5ri%S0|`3oN5=6Qkk_tFXrGR z^;O(8C;E1u60w`f%73FhH$fu$<fPpf+8JjqTPw(V{O8<-kJ=SiEU&pCp?<3C@5KrK z545k{IlWdwV^2ocsvG~?cg<QD{!6pzR6AowHM_Gfi<9Jimx@OV`PM(+>~rU^)DT~L zVQPD0X>oh=7pL|sAxiT$xP?!eyYPc=cA#kF<Mkb@np?jo9s0ngW>wx`*l0OZOmYhI zd`|DI<E2x7a)x|f*X_o|ynwy&6K~atX(yJ~<(<^43e~ytw2}QZ&%6yHkDXWlaGcyI z$XYC9dOEr6?4c>*+ha2u1bQd7@+}nEBe-P#2dmTv0-GLe*cdSH`sK_&C#JL{SWcY8 zp?IUw?O?|qh7J}Z<J&uBdl@>vuWGo(Uden&`BgAqqj*EQg51Pk{t>$u&VR)2|7p^P z$qAp+_?)yV`UP0ks<mc6W}j4LyJ`D>c@-szX*<o+56t<rlvjv@f1e|p<&BnkmC79g z1+0#nN-f14pE;I4YRq`R?!hfTBh6>}?`lyE$%jt1!Wl~8PU;&rhcDRR#`i@__J)Fw zN1b{Jd--LLv`pLF8xo5rm2TFuW#Mot5852QS?_FX=)Tv9`o;DFUn9C7>w9)&{AIE) zUbdI<v1QPW1a3EjzcUpl6<JPF3V)I9l^iIXp4}Bcp(NuwtJm?gpWXX^S~D^&*zcvz z;I<(?C2T*FgP~>RY{zBp4r*C162<={Y@BGwu+^dDw}QwrH6Hte{DA@*0!j-aLYh+= zwtBPi`=xPDXR>G5lls4UhtEmT_zewN911Sa|2LK`C^J7}x9oMV_xJrV2UBmE`@||3 zF<scr-68SgcIw8EhSYDYbsH>u7}MepR3~oB`F2#kv82>MNj_sj!^YzakK9;zE4(3o zMVZfX4NWgS)u`2G-E514<9idU{{^P~{hH$&b2R8pYV5TA|FsW%n_c3me&GM?Bb9G* zlCPyU^pv@m9}qM;dfz=wxcPXN#sUVRH1?Qgn>EMdx9w+-Ia+gOzvr5gf6^zK{_KyL zR#IJ)CiJX0g+a3GqKjO_rYElaWq}3%#6$wQJ2tkLq<vu9dVznHxm<n#8&d$AxDM<6 z>kEVTq{^-;TjkNozq#zS0e61GPKS;B^DU1uGUc8xJCM5I|5^UU4R4B1{;Al=wIjCp zHRqYitsNJeg%{UGhXrwTyKcPR*8b@%|6zwcN2^1{tIzGRd(pk8?@<5ZMP)Gt=0&Fk zV+!YFx9?eHq2MB|^4rkQE3olOL8BL=g5ira5u;8=9%r4BJxPD0Wtw)RAJts%a=iUd zYQnR$+CL{5WiHqGoLZuDxyh!~bZtpzPsxg&<CzkMQ-hjiySkFMHJsgcDQ&`j?X&xZ zF6Xe<oS5r0Iq-1CJBC!BYejn-cr!oEoOS3ByG&_@dFf)C%fbz8&WYTa3Jk&wirpGH z9v^2W{W&{>yDD?Rc5zFFZ6Ab#Ca}2fk&v9b?#G*{t5=?xH|I*+HxEUP|B4nI&KVO9 zrvx0a$~`5}EaAB~hq32MyUfji<;R)UoHW!)tmY}r+FRoPMgFIaVQmiE|0QL=9`ZJ= ztT-GX;pLs8z%ARfa%cGNjYle!&PdsN$!Nt)V=;c*eCQ#o&GEfaYDab7-u%7#q|x5v zW@q;=opaf&_p-6<i3_qf_1E5Qk~uY9_k_pxyTR<2Z}Q&t<T+JiQ<`;Msl!0zgF~Fd zxB87A`2*d!g?}^)Zi;_pd~`YQ$%$(&cf}lWwH9G7FMj8GaB~5hTLIhN2f|Xn<#YcY z*m{Aj(tzQ|?3<ppC*Gg2^OQLu9I)T*`PsKT5vQ+ep2@j!z)0bZu$HP5+y1o@lKWC) z@BTmGKI8t%n#*(7o(!6EKTFnr-=j0^e?&@d9THbQe1CakJjdgw6-sudX0Dm5da9k| z=A7TBZMahSNJWU!#-z=iEehvqT1C^+Sl`^7r+c({&fWSycdU9Z+tl8*)-4TM{!E|u zL|x4DlDq?p-|la=xm<hZ@&cKYGtJ~OjRb=xT;JQkrYf-H(CeVTj7oZZit%iZm#sMx znvr&eYwMCWex^e42)C}zgHyI15Uup(UNY}`l!xYj>jU@QPd)p)|HqoLJb}v-@9f^Z zq*g1q*)8D0(KDjTF%8RJzYq{>C>A@?q&VlSO`6y9N1lH#gxe^to_Qx#?r==mvtQXP zUw<1|+MO`ndm{MEf5jxT*H2$u&#Phcd~hmefg*QrV>hF$YRQ6)M_zB+o};7tzVyy< zowIw>rrpf{mRc2a;>_B||MT8gze_cfJ@C!?dG5NKf$G<8?|YUbcaQb_vrM@I3&Od# zIVi2XqsbK9nxXL6wmk1ZO4qI9Z+ybH%n0lXTIT*#h~KI3qoC5BpF6q#H$2#}p)9R; zX}p_e`T-B;ySw;&H7@Q+T`sD)%p*nMQKOd%!&ARwOuH_eTzz=I>{+e4?z4ODb88%k zIVKS=Aeq*1*GuN4ET5sR%)P30*O+_Wy2Pb1<{Wr@_oR5-k$&0Io}9O<&)NN1A=0p8 zSxnf;vp&lYw2Qvi5e+;rM@>W{Yx@6-o&`$v2Uz9yJ_>!_Z20Cphv?ahbJ}Ei+5f!F zxw7xhzr34Cd>>NI-DHwK_2TUZ*7J9-=w80I?pJ5dw`=#lCOtUbb?2M4>}B!1_?Y?U zC#<`&qJ(X>gJ@vcRHuuxSEj$JsO3)lVZh!0c5BHurUjF4{5hY*_tMt=<~EUc=?~7j zUO%2){&x4gzjKqi;yBsa|2)*yNn66Jus(kOf;+Ej{#?0H_wd5B>TI>U)&2WrBhr=5 zKU~hs!4#julop@X)RxlG+?|@<m6DR$pPm}e)S8+$dG?fyNmJ%8m@*-)Kh-lXV?t`i z`t>oHn-_GaWK2m(XHHMa%TG_=(Vf;-FlpM6xku;j{6A;X<RjBE(uCtvcXh{4U|Kq@ zf7^vgZ8MtUpTB5--uC4A%=a&5&iMSa>D#B5AHMyZ>GuAgn;Jun`hj?RWkyD}ISLaV z9%|?KYq;gvx&$@9b}r58BQJfVOqkg`PEJZ?@MLq8Xh~UcDP_VGoxpud%3kzI2AenE zv}*QDIN)5T@^F%AgU=qLPX=rz+cOUBP72_+6gt)uDdaah=c$#8-+b5Rzg$U96$VN- zHgvF9%uWCJ;7D8c?NhqPLKmpzp7d)>UjF*#vK6n-s3<;e4VtyiPt#F%nMH(t?0uQ- zO|K%vS0&siQF1!=>an{?<`<WlqO4m|avtuPGs)$G=1u1b0(F5;-+uZpYZTLR)=PMe zce+VF+XBtn?r9Ir^F%J6jo^v5sd{?D?Z5j3D+j}?hwmw81T4JS{GZM3%DM>;Z#bpo zFXQwyI_@z!$Z3|!%%in`b@X>nnRv4MU6Grcs_D7xf3=Ccio!D*Wwqv%CbrpMnwrcK z_M#x^Vg2$HiL+`22}Pa$oO#V{QLPrG{esU+!YA4as3nDzJoWh!rP#!C<brLRNQ#() z<kbjKzn(dpI~gW#ab}YV)jT%Ut-tq$zy9)q#S#{?7bu^!yl`NenDIi7RJM%N3q@?= zYf6N8mDc^()S>z8K=V1(oKz>l(shbg0vzA0_%>Z(&ccV$>4#V@2a4}*b#oKytNd?x zW7Zzt$36*S&xHLI&u_i?tc3aG)QRO!QkO686Wl2_ZAGTb#nzRtT^Zx~R6GTRy(1Th zT=sSqjO>thT=qGpHS%w0kLt%Q8W*}#{;;T;)mb_D_65xBJUe}-PZH;pX%QVcVP;bo zF4x|(Q;A1QKGBVH(!{7t1-JeR$x~Y-Hf@fu7G3D!VVb2nW16evQjg`)X?GqT6)#gW zQQXt^<<`XY8DCEH?VG^Iv>{wT$*5preTkrk_UjEwK03P=6t>q*_$ao(?TJHa;K7s@ z?Nb(CCv5IeOImuBW8(R5swYeqZE#YZGPz+{(Sn6jioB=lC|{CsY}R>xwd~IW;cJoe z>e#212T1?lc!^;%&xA`1fpbJ$q=P=VMb6ykH1lrdElZPY2ZVVd&m3@kmBFEL*X2-a zhSK6?r`?x6_|$RV()A}-+5(Lr-S7z2U@o&oKDUddLb-}MRTvj@Sngz;r+n;$sAopH zGr#YZ{z^8fE0Z1Ac6}3jCC>O~n&7q>AKT2DC!FxHe_pcin&}4#+YiC#*EDnPi4m1o z=yK-TuNYSK$M%`~_K2oMr$Ze-_XKh~XJsl`zB)W(eVWka6Q``Eb_y=B?cTg>OK7P| z-tk$oN$o#=Ke5Q1v*Wt+T$`&e<+paaB{+yJNifV1(erw(;r!X_+WhQ_)mlfhFBctQ z*JV!9<!w3C%JAocj@zF9O~&(9xTdu@I?fYRlYDsKtd0Vs!I87xPHMjnZIWZwPZvlo z>kd3_Rh7u^e4;xd*GN`TC`tSs;|sN|J5FwvQ0$+@deUjf&Qp*44EL;vS&{N?hRlJy zNBu3bE!xf5ef}bk?2l;j`m1{%;u4&sD8ART&7;yq<kW%I*;AHwm^w-EoIJEY{^XlP z;VBXmC5*SFFL~%Xr@~cL>Zx{FMh{O}!@RFAE?EZ#bV^vyZgW@h<T>zSm7Mmi_T~Q! zI~=BVsdXzli*GRR{$j{yvL@naoL0&v&zghW8>QP-zfLkq;AQe$_`pSRR<Xqm%atW; zLM+a^+80%QJQ5e%8PRm2V1c;k5tsin6>h1eB^vIPJUUC;>*CK63t6vKsR=b#MBUyQ z+Wg^EN{p~#(X$G&D4oGPCDiAbfqcs%k&Pc`Nl7LhiR-Z5x#zIr`o)q)MHL)Z4s=T1 zSfLye6WFHrC((T0Pv@;6i@i^{q*jGnxkwp=OZcr>)XINr`Rirv>(dQd%S;xBEB{(F zUAwbY{i^|!YLv-^IKfAK-Y?T5mL%=<s##oZsI_>xi&cZsjfE@ae>$i4TwbBm@Q5e& zfvZ#sW6zY<6yI4dS~XXd2)}V<7m52J;Tz%1wq|CMbcR*4+w}>pNfxgPyjm{p_A0aW z%}O@(T$s8<C{pL2Wx6%XNyUUxmg&p)E>mYX`~OPBgQVU>!PRLC9G~beTF`zwq}$C+ zATl~HWrF_OuaakYBwnmyR;=#S%QRioq4LIP@Af&5=J-W&f2v`&?KsEW{ODJkw93JQ zg|{*%Ocqix_AvBkySYg4$pWv|pf(Qg1a}6xmnSQxS@T_q`dIVZg56im)a#u`j^+=p zGeR4M?A&z@^DMq8%@`ai)YHeN62p8p!{7(U&ziP|2SIl<BR+0%4msl=$?3MeqUnUS z%wunPougG38crJ>eP=k?nOEE7+HIxOW{K}_=6L>oWDw}5zHwTVV5a@j;|JE|8uuLV z`fyKWTilO@X}b;{m3($%v%^zW%^Md2OA3r!$~RoB>sqj=`2VyPg`$Qh6H=EZ`ALK? z=A4_Xbo9`(pmiz}nmB_`T}@rDTe8RH)Jcx5-V;Bb?ke|w>vqcLzR;|AzmI}Coo@{1 zK6z@TF(Y^*$2KP+uH{yzr<xeQ+K>>vv$^>HA+9wG9r@QsJk-nSV6zBNmi{$2I&7E0 zZim9gLV2wmMT=ic;|@IHjr_r}<gS2*$LolLDpxcWH!<y8lXBSb+~QL%#}i$SeC03v z{Gdbf_CxuKnaYPxDL(P)mf-i2%GZ@F<ZAjd-RM|pQ|p`9UjDy@T?a*)&G$ZFGU_Vr zGyd~B;f96VJY!{!GrWg#dkR?|H)(gC*YWNY-|Kd07V~WLD^l~OdWfrTnEjvizQZFi zW(GE04I7>>G9B8nRa~lX7Hmx0`B>z*>&I}7prgjmJNgx#1v%?K=3P?uVaw#BixX4d zEL!j~wC0t@%6s1qGfY^ar4p&?yYP|l%Zn+ZyfFgjj{Rff&Wk*zSrXZ`eS)g<#&5Yf zQv((S$d&ZwKgkxq`ol>|;Hcn@h1a+z?7sI&A*<bOnNV#l-&KjHOKx3X%jfcU$|=>F zj2oB24od|H&hWpZxGHVa-#GD$uA*0K?4svzJgQM&<a{rT&$#1EsZN*rv>8_wS2~NB zYU&<#saoW6!{Ob8dtG0&MR=DP{LEQ3J7CE+v*un#i;l7jkGwuTG1|LBJ~QrqilkN5 z$2G_PKW+~0VO8i_UUtss$xYb{3srl+9A8>7{h|8W+2N8-Nvr;fz4~?Iyq)>#_`iA; z`+qG}3R$_O|L?^gbACS-w`bevukmia*WY<3_sNwppLW{&|Jkyp|6kwh&;NHk-EQ+I zA;$;IOf!VoehBG2ta|Uxy^xWc??=N%0}Fl+H35r8(H|MM&uh7#OICegU-zs*rlL{6 zg8Os0hFYSQ8l$$BA@`4qYzB@(dVvj_l!P5W$X(kmv_VLFosc$DOY!1|`4T0?%txBn zf70TpXfQg#u<ntT&PSo#4=n)_Yyljt91%iq6j_xGg`6{5-(Rm^cieROqvrS(T9Kym z1}|DOX0&B>6svCd-<EfyKFmUB!vyI`ijtxpjS>+Wcc+K`beFpSy?upH$1nAcYL2?^ z?OG4n+t!75)a>Z!U7?k7!ZiLzo2sCE*o-#Igf_1V`LBU3^EkA>H5O;wXzROCn-x*3 zc2Mqbcv~WeeAJ8POoo<;+ob=6)juuQ+W4X&C8&MRkA{VXftw%XJ4p2KY3Qw5VD~E7 z^VE)>Ga6jxVm##+x_2rz?PjdIw!NTOqv;?+iIPUu$M!BoLm?B3*5HU%-xp2s!mYUq zt%(Y)Pa+zaGFqNkwAL7~`*R3?kYKS)X!vZ=`X#-aXGQxj@w%3Z`upZ>kzeb$cho&g zpAg7UH}7Gu-RAm-;S;Yt|6kXq(V4FyuW_R_qhn&~j)_V$+iD~xeKMTT8q_^sG4$?@ zNrILWn~im+mGoR-$T}TSRw^<1{(>Iqq{+87X}mI)u*(ctzR_?)L-sTm2?tHi?xbAj zn-+}6yY061x@9&7RZhLVBT;wf)T0_xr8Xx<yp)KloRZKfnI<{a?dw#986DzZ*pxVW zSWcR5?`VtZXqvdA{dMAmt`*ZcHM?XbJ9{JA%3j9HoM_mfQe_w1bi;h&6ZHv+5tGy_ zi~qLQ{ailb`f)k+#LnqE8e=#cLoJ(HnWVZbr6#mV)-A|5`(yHgZHl%tr>uLa)3r#$ zr?Y2^CZC@quLGy+@~Per7vxQPF#ANs|Ji<;Tqg_J@(S3OSI$Z;n6q-H(V?4jrm4iF zx^te~IH$Xqt*(IWV#b{QfVme=_Dn3C>td;!xN};EMq`D>L|%?*Qo&Q}BqoJL2&HRu z*=5YUGo`lT<_yOd6Iz<Oe{@b_iJbIByuK&0SB|rNrN+#-8?}$cXSH)SeZ4+Y=*7&p zl~OjIoF<X8rFJcpxwTM=Ys$uzTuM^2*LqH|+BtdC%Y_F|&blbT<+W1xR7Ba;&bcc# z^sIRqpd~e>bt21@4U6wb&b{}uXX=ExWd+l$H7C2xnw(fUHDwapd&k;8>C@Nl=t@{o zE0~opA~Ers*;GqTnQ*Q~d5_*jE0@OqniREb#wxRkkFNi(yF0zUxwE6rqpd({;i8wl z>%L7&m^DL3vueV%hKgSe!6$pp2FyM?W6>++GE1vD=9zQvb54C?In63^@!6e|d%5Or zj9j^Hr_qj-+)XDflvYjYV#;bQT-a-+d*)=%@y^M$%-lSdODEr~V}4oBdVNB|i}?(m z+=;8Y-)QpeKGFN8a!PRI!X!za5{)%SS4|Z+Rts4<^`+**b5iU(qZ;>QwTE}knbt5X zKy&5kj<u&|tm^5Sdm)3ftYFSf$#oZ%_?{F+t!#<fvvT&%mK80x7U`~9F=JKFVXK8H znNy?>ci+0T!dhxotKq7Zl}p@Qi#)QHoSHG`TGYCyx0Y6(nDMT>*5KsSJ*WP&UY@a3 z=|#TNj8+$p<&2p#KB{k2c)j$f#+vZRX_l6~-d=0>-CA>#V};u6CDR+1WN1!4)iLL9 z)JmnQ*^?Az?=X>=ervOo)@<*Wi!KC6oP98P%f^NL+tzJdJp0`#PJT1K{h7A1S(Cfm z=4tQVy64sEb5f0WPAq*Cw0=p}`tIZnlUErU@1Ao*YMz<ZmIYl>F5TYkP2L{a>mxO# zQaxIX4l>w<Fa5SHv7*9I=+^4E*E3^QFNv_6cX-#P#M$c;XKtR}#j6>$r6hZc&(F<s zxi;8$Z9aWsu{78E4_>oXeofZ%T7R)=@wuCE+ugTXW^LK&ux*jST(;NAM^~+%(8YGa zt4>&&`+Dd9>?u`}VVzU9yj-`fa-GbsmC9byOxi0xz1qB9dhR`zRZfwUFIL7kRyVp@ zZa#Qn!)dNrjvn=iQc^e7yKl~3f2nFyU*Rm*nLC=eS0rmsy?Jwvb@ldXC3DJFY)V?a zBiwVp;;;S3E%tsowdkbBwsV_i&9I)sF0=bw(c%r-d!xLk{@J~z?ewbaEA}3!-q3$w z->O}^R{fsy=%&R1@1onU*vcksb=@_&ebvIW)9aH@_e8E<`>Se0q-Nu!jdOdnCH1`9 z_pVsIX4Q=A&o?SXFXLZ5zm#ipgk^84<+OCEg^zDH?zGww@44ghtF60NEHT`@>5lZC zP2BVD%-+nCldJRQ0Qa4qhn2@nv;R-q`(x(59}6bzKBoCb;^@jbSv?y}W-rk>Jx_E^ zuY>xu{lAt=J>F~k>Y!3iyI{p`>CMuM5>`mhS~OGZ*oh3q15dUb2$}5pdu~k6$tepq znB6`)?@SMG^}<hD2iAMfR*2fZGGYIcR|n?T92cxvzwcG%-`NL!esRe~^jzGzH|xy` z+c`%~YBsHBI3oKaV|$F@B+L11T}>Ypg`z7ur7IU?M|6I;sP)}Y=$)d&nxGb+9i2=n z4mH0!AH=lyuU^-+b@s8->jHO&zY0)zvL}4*5}vo8*L|p|4y;y@H97hA&AEUn>t1q+ z{*B?8EW>x5`NGehqIXW`7<pZF=A5qUaa^yp(Nt@i;LHEh?pN;%^O9P{(fny<m%3-? zsueTWOlpm~apr4dtMiQ3l`Cdy_{zTz>|C4F#+=f2E#?yQ6S<prIu}Tsv-+!bf6ryZ zi=Ead7;g5QwOrexGm+VD?v?o~BIcK5G+et9vBdASj!i?GEB9pEFx#u)wmGkEo!2zk z)w0WI>6?X1_FPEaFqd!k@iniOZs+LWdbw<CRWI|bGrw0Z$a-<6{OrY*5|^1Lbjsv* zR`0$3|M_+28`o=PFMmI%rBi!DX7!Dr1bLOU&EGe6&U|^+L{|9rowMF2&bs}*u~F%! zhi+eF#ubxX`RhKnJkAQuTzh5B-COJSUSWNEUUmsj;@h4Ro!5S69oCQG%&Pu>%_VZl zy~vdjnWsOSH>Fl}GydwIxQzYqjpgx?s-GRwi|;P0)?7YWVp4C#UFDg3bAC>2S~>Az z&w@`IFIMzkZ`gaWaqmP`h52DKI-l%4qw3g|sSqmmy4zuemTK==^@TT0_THCyed+hw zv(tUAJc_tHdvEJJ-kS^0Uhdl4IpOUC?;CQ)vbW~nJ-e~#%7VW)m#=MhvArqgcSY;Q z*?AsedMT1;6nOqkb3A;pbwyFlx6K0i?Ii;3f{U0Rn+Mgf33Am7XjlDhi=9y$eyfpj z=8VHPX5{_4c0tGB?gRC1k0$YmrsSvvtX;i)5qE^D124XslyP8^yal)T)%H_9OF4f| zmwP$kwc!8xaT0BT4qY<6*9$Wzt&$L0vSS(V%lSOFmL=*<nqJYltiv?5?#zE#d711h zzBjf%xE6n?kZY-<$Q}Xy?HishILPWGsTT2=)$b$MN@tZ_C2T9MwfyjC{?O5<8F(X5 zfG6(&YcWe!$jdnsFTOgE-ThXwvDBi_cJ>t8lUvrk=3cWvYs=hoZzp@{&zkyq?|cuw z)i*Lu2xTnon&K_OzL2kU$>tZw9F}L;Zz_mcwQT7@iOnA}i}t9kJjb<W+xoQ%P7iM# zFP?FFx%l)+C%ST@-YnS|pDVTeZTQ3^c6B`&6Mnp_d%LdV%gKq8Gp<+eZC%>v{l19j zxz*NduYFH=m&EOQCH0L<@!|jD3m(=UvC_?cJMGtNbIWChM{8Hl|0ro{yy{ZXx*Hez z)apNJ%>R^lfZ@Titr=@Q4ozUyTK|csAzg15x3N51@1usm37;JwOnV#2=4kNQae+qq zgwG!9KNaeI_U!+XyFjQ~PoC$(7hn0dNC8%7`_D`B&c|KlW}fglGN3)P;Zse*C!Pae zO)Gak4mcT>&GxEH*u$SIwIKOa2V01K>sfEk*B)Oh(zb2Z)UCe%C3l0OM#)L-<nQJ6 z-?{Gd9GvjOSDxjl)LOwmj;k9FpZm$<@t!x<;HzDKVCI1@9`Y=T6Tf=sv-USQCd6wr z&i}P#!skPbA1&WE)oN>ddI%li`0gTqByz+5Uz+)WPprQg|Nmme+h#eLZOQyk>)1bf z%`iRQ|LMs7<OAzJIbN8$xo^r7%|qQSUy8q+;xhXj`G9SYJX_e;uNwE+M2$a3B-cJ- ze_wUskJ^2<&KI8pcD-M){!@i5!yNywxeRR|`8YBYn_F7j+S_<CGh@4B0|R3x^-t{W z&P+{BNlTeIJ7vMbl#Z5}>GiR>OPYDoW73<JIM$WN&0RPzjd^usMtW-Gra;Gz-5u%a ztC>%qKDhdPTgv`@>46unxAHJY-e%^xv3g(H<CKgeOPJF$n1kMAW@Mb}h&=H%c6Bau zAanm;=I&oAZ(lb(3tD0_b(`&Jq0E~~Ciz@a)+(;&=a*jif6H@{lb6?GuRys|%<a0T zcej7w>T{X${_gw<_d?ckO%mc2ulPD|>rF`&kJ<C=8vp%~d~$#3V%CXvcU<_cuMJ4^ z5S!)ve)@8sne*lfUR~*P(8K7tVK9f@{C)Wkx}tU+Ruxm4Rpn$<wOM1yT%*isrIOv> za>dvZ@2~RyH9>IY+}BKUXKtT)yxt^|NxJHY#*(EPwfvdVyEg^w+nYSol*iUgXi5Ly zUngBpoZpf)MKJi4XY$rF4{maNk8)b}a^>ZFdtEb6P5JUDA%58gt@u7s$*u8UUum+7 z&e>J)+HYsp^RCb<7Jh#F>sQ^Awz<4KLjUTYucxlhUGs3#q05s$#nx8z?DCZTZ=!Bz zop;6~%*T9MO4~WleGFUV^(}6;@msUJ6g+O({&H(iW2?wfe&gzyX%CHf6L%;mM%pZj zNLQAdI=hN>p<<FiKZnFIdyBb>$r7<H<!r6ZE1UwPY!)qyF<O$t>Lv7Dq={3b{KORZ zz`6rT9K|y$4t92A7C3dOxAAO<)yUX$lyl;mhDY8_ZF`I*H0I1;Z!ga|BrMo%wzP#O z(C+OL^@b(AtWonB$|@B5=WS)0SGj19VOX5g$1jruO^ZGr*LLI-4e@2w+|@g8PMMX+ zJln=o2QrvTq*$0&6dgWm70GbIVa0}Lkyq>-1&>ZP<84e!QeNeGDQbOS%EQZA#Vb^& zXaDah{dk<g!SuCG!1`;q*3`Bd7O6?q_o$>Q)+|WmRSZ1f9Ax!OqmyS^+(eUJMU$C3 zC*|hx772O1D!CLcP@$^it7s{DiF=tqrjVK<&xD7pGjC>?8z^QR_{ljtWzWsDBfAQY z@nkRLRk>wWQ+AohJm10mhV{0aY#(Z;@0sW+b-QrU9oY?6B!VOro*nP4H9gd{@%Y&v zH#fU~a=fDC*He4KXSJ?VYMXf8lhO&QTGz@uU4x#l=sWkyvMA~r$D`@SMq4}|&zXB= z%Ewa)D=wIAvr69`v^Y1sdyiQi3$N{_>l%fEp1#xnBwkPrQ)K2UnZYOa{pwlXZ86~? zX7i4O#&6@iSMdK@Am3HpyQb^zJQgwkTA+R*^t*JJXGP$y{E7BGFQzZrvWs`s+YDt^ z^OanuFG#u-d^#$=V@l$&ckzGp8W`dw9QQCB64sY1O+E1N_k))5kK(H=&)jp3QCMa5 z``Zemgf>CX9eaJgt}|9}6}UYA{;}0OTPjTNTa-@{H{ZO!F3Z1uL#CThna94}A9sH~ zWq<6UXz7hKVKwcWjLg%8j5Crd(i+ZL>`Rz^+|<W|Z^;7|bpsnCk@Gw;4W}gQjvsu` z`CKG5;GX!sEmIXOKk(!&IDKQE)688aPO^a(&M_aHW$$?$F4xm;mp6H6w(n}LU|eJS zNvW{@?>*^0iv(mUatsf?uQ~p|W%uewqUt-W86^^#+zjMCHhgb=IP+sqs?EI*r*0fI zTz8QteM^$`-W7-R3j~^S-Xwj<aXxS`x2dOr<(|YzixZa13j2;2JAF7Lam=_&us83F zlFV8UwkL^#eO)f|!vB3SENjSMuzVqLd{?_x?VrO52Vcbrth&xSE60s%MN`-`ffq6_ zw-^XNz7V~7Rr)@eN@fk-*GIVb9^U<FieTTt#S3KFZgB20S;`Zu(XRjRWA|Op#R`fp z_vCN7>=DZPB)&hnOZ9l;9?q;{8;3u#GU^AcQ$F~0%PmQkXpZ3TT(HEirISVcox{u- zvKw{R1YQ#~RJ17Ab+I`7^y%6t7IWW*^qg7$E$*tXo8j}|uigX+(`2{nD=wPZP3kTA z@<Q_L2@m6c>n4_5QPZ25bk1?n#5tXR9?7a|dUW3k>2KswmQI{y?KrJqnKi5HCWc45 zZl*eNEwou><}jK0^VU_>Yj<@V+-2FgDk^kYM65gKEWx#lYMdtSQhxB+?xKCs5!TRZ z$E#s8mYyoP^RV0@WTiptPFJNMgU%y2S<ZaBG_TesT{}s&{dCX_>qBb(l~Y8dO{LV1 zn-qmiYHC#wznQV;ASY+z<dAgH{Vz5N>II}LPMqQybcw?xVf~hZ=zgcbPXe|)4l-vx z$7WRuJ1Xu}Qeyk!buuFBXgAZP?Nu&nZtdP4F3Ut3l&3ELFW!6IgYQ^zg@&jyyQ#KE zA0K~DR*sI?<{552YTFm7r38QI6W`;N^~ut;IM&$i(Z({FUdBj;c%6&t(WQA!=7(24 zD(Yo-bE})!=k%+o+wZ7dZi`cyZRSzQJ&J3BSN24H?=BFyq`;6_a-mtLmidJi`!1WT z4}3?t-!o-ycDOJ#N5)6x5r^wS&%cfAe0yb&A3QaoMPjz_av9O&cekGGHj+ADpZ6rc z(%oVYGv9KBx?rU^u3(wF6}?73BoFWu1k3-jIcC}Iz-lu|$3*$+=DaxO*|!+9eOI?M z?SA!S-K_1>C!f@bPdZw>S@|i?-N*03TQ%RV5B*+~Zp!pwf8U=)^~wKt-8ZqDWcoFG zsvFye&~8JveXCkh^$%GdI_Y~!JHOX3?9PFmhISL0J}avRrC+}iW_z{9mNWJDgu~Z< zFSI&nH#2qbnQA%T8y6c-D1S0M$&hqBtXx>jMB$mttJEhF7d(=#=86eUZ}CegSn6|d zY5vOJ$AoXO%-Ju{YFho;@ngi4MWU*QV^!Fb`PG6qESn+ica6DU?+BZ)lhLLdet}U3 zxWu&7LgZ!}1ztNdb)Ajg<P|&fcOB}UB)o%7UAchKGw$^+!AXs2c?%Y<e%#eA*mFbm zOVRs?bnEk#OTtRm2s$x)vpsoGy4Gr{=d_eVXXbtBz4tPCn_va^^vZ4%=9}$-|C#Uq zU$#k~^QejY=BT4a3%{%IGb<!9Ef@CN@u_f^f^NQs$1?|k$q&1qySeS)dNkEu;V}Q6 ze^rc`$-+BwQ?*OE<k>2Z-*yVRa7OUW#)<>N_w2V_JibTzWks%6;r7e5d*Y7l@HzOx zfqj}{g~7TN498w|X%s9x=Cx;8XpvZ&&h2Y_?;GZwFqwUBn)tpC(`1roPs$APio5dG z%(bGhlRL<CSKQ+JYu7OxQOGbZnlMq~{%4kq_^Xc2+xJJXCW!BMwkhT=uUMgVm}Od6 zy6Zo~vmLg3o<GgA+W0Y0DuqK#qgU&G1e3=h2hGC|wBIDZkgAQ++@oUo^PTl0-gdJi z{mW1PlCTk4{(twSUx#%pO(H6yZ%0-9Ppwe=R?}3H`D?K|vwFtS%hjJl8V-N-OHGM8 ztjs2N#PM{x=e%~G`enY?N-9Ld_#>|bEI7>hXNg*@VENg^92XX=_XjL5P85k$;eFze z^IS3Pm4h#930s1@te07yjT^V_BM0+|x#<sB)k0M7KWyw@>b_`tLHm<L7Ihn*_NvAu zZhfMKBI*?fr+e%S4{f|2-)LU3SG-M}Bj}{Fqo1SWqXjnU8{A!!LoPfD*~sGE{HV5m zAzx+zd$X|P7R8J%k;dEzn-m6<>+C7EuCZk*3<+OEwl0kR8Wg8-t!*2laZ|F9fOBBM zmB6GaZmJ<RLgjAdD*uE3CkIuU1jVGpCVjDWyTG|qnc<<aQy617TX^FAkL?|yepY39 zS417tAK0)=$z`45qE;5UO;zQ`!sxW+YR(-3tc9lbQ{poOd~cTJEqPv9E^ZSSAlp7E zC%u5ZAV8n5BtHKDt6Fi+=?gZjDXNbR3xYe`0>8KLhR19$59)6T3jg78w!ARDqwx3F z_&=%{Rc+OECmMVTJr8bmcbQhZ|4``uN%GHyS>!GX-!@3BVW|jRVt<@DtSqE%rVHPR zMuDl*IxAE>k2}|=9`XBGrXl#1RriRmWMo*&_K6Duav!)BYJ_@}l}*0-EU1dT|HRhd z$5T6}s@ObP;-UK3=A)ZKoB4msyVp41E7me4lpYcDnRg-A=x15L7S8_7q7$C_2^Xuq z|DeXNoX~!p^K2O3gCk{4p>gXaEbc1$7?f32q`MtU7j>>EPB-W?Y?jYrGEZF0XBZ;? zb9!#ZhJyX2trnd#s?^iFG}CAQsM_qFE_>Z$%Fg7tiQ->B^RIKYTNq-m`d!QGYABmo zZfHgK0kLM*o#lmQ{*pT@W<OxtbB(nirF<F-S57<6{fh?GA}$e<x$MbuzJbwGU6Q@o zrao2Sjc7?<l<w=V;Zb(oZKg(%(D&pMn`0W?8<SUb#Hmb*Y>C*Z?ALX}<MGy-%&@TC z#>sOQG&xS;mONrTL&5USN6xAh4l$Mg+4=%!q&cxwo-mqyz|a1OUrmb--}L0VW3xVe znW30A_eAoP)2&H$PXczg3Z%3fotWr1by>;dgHB-~Gme(FWnZfbzfq-lwMNr*k>c0D zNjD3Z9Z|f^AZ#P9`{uD~jHkOeYfeZ<VDhE5j0@S4DP6M_g3}t<WLtb{GEzTW;EZFa zzx|anEGW_TNCdBPZfGTU<7el&qCL`T&1nnTA2-YvX5l_}k<-j{$}_gYz9S8)OFJ}v z+Lk|w?b?!j?`nU9c;f>zKKro1ot~}_L&^oW)V;b=sLHau;z|qSugareoaTn=A4%l; zaBN|Iz+&H*oMJEgPi&oX<A(bJW!ElNbH&R}n{NEiJ<rS?li+$}q08J<wXGj3dYa=e z{@@6C88BJZ<A+3l+OH}FtDq!@pmeSDdO=pz1zI&qvmYPudzewx_MG*zXZcK#^em~0 zt1CP9DDyerXnRr;pQ7dKnQpdeYF@aZ(_0h1L}MA-Fo!1(STi25<u9$jD_R<)VHuWG z@T|?dFf=%ur7hvB?NgWjZV|Vn56tr=GMc`xIV#?ia-gt0tYVVM<fBj8=LfjwIITS$ z8JR8OFv+68Y?WWbG|w|nTU~c1pG#jVdd#UOx#Ge?GaEAord1PFs|q7ht7S@EFO;@k z53dQG>6GIUeMux@a<I|#)QU_2!Q_)^^%|bMrKa<j`)xS&zraUh(fboy+T8koS*Wq9 z@Xfm_I#tYPO8_6!;i+X0mR{A2dFV1-@rCGhmrWH91C%97+S|o9YRKtKE<AT?S=fts z;R${wX$JQ$)|Iquf3$H0f1tNXxsClQ>tm0tXJ^Elu8O=Y=D%&lreqU~56>J0SzRSl zcEqr_m>h4B<m?Q;QLVP6CN80I=jNJD4u>1*c@bN!4_tR;s0?MWs<I24k-<=M)nenT zDZL??4tz^y$0w*h4fmVX9WgD;b!wXD><sr7^+}RP9G_~eyr1kVP~!F|thxLFcXXxr zCA0kV?Vk6Kxz3y1duP^4y=_~%I{Q0jy8VirlTjWS&L(qCV(EKjhf5a!!>(L(y(>29 z$EoBUAv5-dcATg(Xsr~my1bdOq~dc~)r(_BS~GVXkeqj9mg{cuB`2h9LRse;KX;C` z3cnCoZ18)F`0`!S)rH}vb6K?*VkB)iU$S1E7AfGx_VDw%zu9>LiyfIxb{-IJDDI3o z^|(JyrRY}YEcudB>FR1}Z?}Xk?&pFxxioWnvV@nhgr!|NT)-5O+%3v4YWDNG2**m! z`<;o-m6PUr#NPUKDDOe^Qume8;oA#Yx87)7bX+spBbwj7ge{e|Ht!h6R|A1c!#=l* zeC!*|&3EvK1@iVTFb`^AbAKWF_(N}AgU!AIAJI&fnGQC&9t}?&$`(wpzOp4@=7s-r z#iw#Ud0~Auq{h)|cGfJ<t&z*xL)_OtkCjXf6!wlh_O*KRuL48uNjr<#_J*@***Km{ z+muouD07N4Jz09%1isF4AB{O3m$DB(tPJYC?JIKSuxx18Jr$Lm%UT?FiMkcAf8Div z@9UkZ3)&-=A3A5c#ze~HPiK<MF1KxI`+s;%|H*#1-+9%yX)SYYs!m;AdpTj%GV{sR z+;UaR_rGS_XVz9wq|(axq)+uu%bW#9huvh(ZQNb{fY&pfE!%<ryJ~>NWihMdLp~GP z-hSi@bmDc)%n-|9>rqshKEY*6;=1e4xKB*xt8QU?@zQ~%(ZO}~QX$)YPg(L-i+k=q zwr1&$8H?2a*D|>^+}_&#>+rm;?Aeb~7as~w>{>H1?SP;23C=nJyBGn%!-Zxk3|pF= zw_TW3x65blsjqXN%xp;u$TJF)?&9KRpR&(;n(EZjt69gUJ`=RqEXn!I)uBv<_x**X zyEk)8KHBK)Jw12F`OJ_R!lz@Trg(fZ36A^F&R-L5#Njvh0bAN;xow)R_p4QIPnq^1 zqH3P-#geDXuf{a{1a>x0t<|>OT9YYnG(&v$5;>-3g;T{|NwXHSTF#COOs*?fV(-G; zeb+ucJ=(h|aqESvc^lYzF9b-jMX)~1d#<H9Q+-`{qVFM*MNLbspKJ}*Pd`2L$}#55 zdpsE%tU?#<VV>Q%e3s((|Mw=dOvy=U^yk@gZ&vnY0mB78o~=7oSWGl?lXkP!$VF9! zAN&~L#lCK5=t;w3hk_^F-`bYcEoLve)2q@f`m(@x;sJs86M7eXKJj5@+VPUYvaEt2 zjYx(cTl@BQ{*pYOqs|wdVlbU$rpDCj6VcUH->NgTCglIxG4)DyHJiizLhmWTZpu^G zp8euq_F*FH!>H!7)2k=49iGc3)+heK!QpHK@6HYGOkzGy6t0KxcpQ|NlRwoVZf^b3 zs+nF~6~bSW6733>cm#?byU`+2{k+@5`drMnjLFSy)d$>n3Co;cA~7%9Wbziy^#`_f zF3Aq<-@8oXW%9y`>T8{CU#qJ7^r|B@{=fL-vT-x#h27hd_c$-F2(;Pof;&*5Zmv&K z7Srrq&C@(nF4vaCI_}!W_HOT?Y__rmm*-@k&Q7rr_j;x@o#~(H>KeWce`Z|RBigq^ zA;+Uy?w~T;tgB89OF0)ga!yH<n(D~8lTm2pL&d$9wD&)fdZPDk*~7P8j5;eXzTLY> zDXdT7{kwOc<b<XzeEYTU?Hm@3%gl9WokUhLDc#h2A8Tx)o*c!U`hj)+htO+E>WP9( z@82CS5~<G-=oS?6|Mx+n|6_Hay`cU3-AVQn!n}GfhAuP`Q9Unw`?BHX&%*0BvD!^! zUp0X}af9#&Rt4T|c1xCcttir-UHI0{S!&T0b=%9lZwvm1$Q@R9%>V4P|BJ)<kBl4N z3jKd;s`9aC!`oYNUnBNQN&f#35d1MF{{7Q+?@laIx~I1=`usch<Se)K-<D7NZ15_J z^O&8K;RmjI-5(*}%PXgs*K^h{Ec#R6&(&{i`q8^^y{&s_NWG!0Wxdvu&9+aN*UYc{ z;r7&O!i6aDkDEX3%R5mZysT8j^vT=b6TZ!Vsq?|qYvrSF>hCq@7=5lP(#kbpuX*tP z;wE9+Bs=bx{4$4mqC@SQ7D-EeR<9TOCH?8MkN%f0hXodFlq#(^GTWlPBGEay{##1D z<es3f=lga39(ecEPivXTuS4;FmK`&8dLP%mK5KsGFV?WnZl6O`-Al}t{8w5~_@io~ zwEz2eb3V?rc2^EM%-_q#!Q8|g6xkNp+!UDE)0>f>F>z8=eN|6jY+z?oTWjRJpr+WK zN&OSkSH!GXotIu-w|-;#h7GBCsXJ0PtlqO?>BPdSjNX~EW;4%N+}m^NbmrlVDHr!2 zJ~y)|h{w?}_ik=wZsNU1j~?86UVOLaWv*k#?4a9i%<tzkw@32)n%{o>_<M$zPZJb6 z!)F?oRk%KK;+?hGWX7eGNjqKyE$g146jvf9sB|n)ShLQhY$NwcMm5u!Ham?}y?pfl z-n}g{LC$RU!XJ&N9(Fn^vPBj>IsH6yg4ZO;-AiIB*IzhOb=;up&5Sim76<J;C*w0? z_3HoE*RxlyjOti+eQsp>+Y;YLtv$E57u=nu`1q-|<c8wnyI-r=udm*)FKjCBoedvm z9*h*0m#cm?-N0n(DplK4of=9mdfNO~m-|LfsI}y_JZk<z{rS1M_U|vJ-}<C}?)ENL z&4_8Y=9^5Dvx_mQ40(TF-j=K1<IcpqheEntb5@0@`YbbA>^;5m=Dm{HPD|TkriG{+ zn|}PT_3CeLA|HoV9jx+nnr?gV`-k24=HB0@TfMXT<Gh`s_Vtq67}lvPM8D506-bD@ zT6QC;P4QZH6StgOuffxaK?_@3A6^r1ZWR?fV=yhm_^f7^;tVd+-hxYlhT2hAq>VZy zm>(;6&%JWH;8afdf5q0Frc9I7JZrz)Db`VCnme&;!x!ZOAG7vJ_C7PWh)i^H+j&xn z&-U95eIYN6iAra6E<bGI`}TEeW4hLnrH&uZn#xC~u*^6zQ%&vL)!M?RGt=Y#RW6;H z)OmFoS5^J4rU}~7jI$J)oAj2wXyjVR^m0k7mR9D%DQsGaD$_ZV?j>XtoZy+@xv%76 zkK0Tx!L}WhCB9Qnn*4m^cDf}pQN_0D$4V8uX;);6&G%^}PjWxx5wr2=v5eKpJJM!E zw_o^oXo7x3?62kF<y)tQ&(1w}a{274ZSD8BRbOPEE}62RTTkZYw(h*$58H01>1>%( zs<4#(sL=hbI~L4*ugCVWn_HLt>ZbqmXKpK~Uc0nQG3>Vfx_`ek+vn`^c&#eNy;8DQ zy;MgvNQPZ9$5Wnv<&_|D_3{`Ku}Msxm3)QIRZa=nAJME_5;7-{^YY9+m%4brPSV)A zw1e}rQ`xPl*Q-(u?k?Z|RF5}(PQlix&v#dyV^yE`eAdIS*9&Uino7P|CH;Qhm)zOi z`%@Ko!ggjpHh*xZ*y!w9-P*r5y&}FpsxA-DiSJq;G5ZmZ?-{fAQ6)!~|6&&P(v>t; zU8~v8zS(uTS6ra-l#b`pYv#oJ@f3G{G3H-2`^67|Rtx{5meVhEMG7q1apmc~xm%ef z-fw?4&v*L!1BY4j-XHpXyjwnFm+H1%@6F_E=6$=m^#6Rl@)fG`dgs~KuYFtU$v^*V z-XGS}_qds_mDgw8&wg--lkc&na(>J8s?|#kTndlMgmUV5?&`ESnL9Zm#%+S~Jf?41 z4Q{u6r_L(o4V>T?saxdMp_j7rrzw+AZz50bD{;kbt*3L&ou2o}rNZp4;oFv%l~Hpy zU7ET};JxmXLvlOr9NE3>udc08%Wa<d&*xcia<tbro!5;!xX)8E&@fqZPP5DsHIq4f zZlOY~Q<Nlj{c7zB|7(3qXzC5c#6ODOy2+xiU8bx4>1B5j`*X1;VUgCen8mK`!7_ij zRtRbt1=Q`{G{5;*>%51Y{NlyCq&V(3nXX~g*T45^+V`9j9{E2z4gRYnMPKHaqUMn3 zon2D=aQn8Yo|b3d>VA(rAH7Cx>&~ls?M6QGaX*;FnjO6i1P)JRocpowWQt0dOI46G zZ^e!v8@Ix@zvC0Pi0F!#uFlvmBFMV+L=RKbx-gbEsatljta4o2<m@SOW|6`b?$9S6 znhR%otGh~ymrdNzmJoUWCtLa=9;vjzNxK%>FkW9Tnl;(?Zq$-PMpI4x9=PN_WvAbo zDWCW!v8ea#36U{9apVG@nOE@Dlod@0>VbM<pBD)fcetIN?4zqUr87fv)`csQ=eO1_ zjXU8i@F_-cU(^r7oYT>Adm6-@HZ%6OeZKj`=K6MDx6}(kUu*g=A6dEE)60LpTJ8VT z&Ik?9^=q~SH7edZEu=Bet3uslwN+?ZT9WWOrA1-P8VPRe7hPyC6b@;6cww2$RY&iI zra@PFUa@`kn9boEvbJ}nTG$DvWjR`D;u@v5ZQhIRtGoF+p^PJ5KGnl-#<7r`cU^B3 z*d=eye)eUP_1eo3A8rNg?7Py@e3ySN6MK}^&CiZUQ|_KMkkVQvwnkrbsod9Xo%VhQ z(xh*9C_KvBw)nJTns;{46;V}_we4F)=Lzp!q|(K`Hq-FU&X|=VOPO8=O^@==EawcU ztrJ(Ud#FC=!sOFmmu(mOnAATZ<#*Js8Rpx*`Ay3)?$y6l^h$l{to1bwTDJ@yeed9Q zV-h+rckYA#A1;Z9{nO1_Z2PuYJV)clnRJIdLDfK2nIrX1Epj&x=;k##El#yLy}eU= zu}QP{$`*qe2Zg`Bbe*YX(J1M$;WJN?7W2zki;sL$n3NX250c!vvQaqheX4#cd*(TT zdA`eQWHSAya$gbVew7#<^{V#1bNuJ3*6OI$Q6H1u+}$BDDQm8aO3?qvEo{eB)=YX3 ze{KQmojyO~9lFnMcfQYFyTz^}L%w#(fr1k^7X32FtNSxe{r_cKnOnYd9-X>3{k)pj z>W%8hpFjP4)y?9v!eQ|fpLo@6eQ#ZfIpCxlP%ChhPkC2r*Kv`FJ;k;1t-7-5R)=hl ztmHjjdef%TDCX9!(~_Hh{`c6bc5~<18`&}bd(H+vFJ14w=l<mW(+}!pS0&DiUFDt5 zt6o&ZTUC)|(wJgnpfrs`-{fo2GHcECAJ^SFxbE9JEo14dEW=|rBztG3xHYOVpPsg) zsnf`#J$&2Ob>=w+NA!3$yLv8OcUyax^wQPwd(|z!u2y1fE1s))l`G%5XpLA`MZ3X{ zn9Rc99i?s?W2eSm+PaqMSlBYd1^!iH6-LtY%LEe-cK*66b!oe=T#dA!VfAOT#A{m= z?U%)_{Q1OF$5|l5puA~em4Nw*r($#Wefsi7q_isT)RFWC@BO?lPlRkcc_hqyr~bN6 z+<oqo;&hkin&bs9JhM`Ap}b|r|DM<9KL1yl-uWsxe!-mCUDIcaF1glpetDqvvL|BG zedOcS550Bs^UB}(>`vK+v)Ox{=lRQB2;-~Xt?YVHBse)hNWIMS@z)o(H~v}KzLI4j zUkN+2^V$B;-P@*mo-%iMHfv&-{o&<Lb_IlltWP{OPky$z`Xmh>Hl-alD>RkvS-Rax zYudD0yGVGkqsY&&#Z3D)i@xXDXfb2&R=z6pOAP$QdjJ0%FmKzt>*>|cCmx5NE8+`r zZV|L!wdrd`+bVIb4fDz_+JC>%vw(fybM|c;xDzjOoj1*$e#I$<*`oVuDc_E;EuTFY zKi55HHrR7ORInm__p*4i!%@76a`O)bt`O6`cBHaB-6w_df7A1a^*^SHYP53uEss!p zWZw0>^h2PF*EG#qXB!g{=VsOtucftzw}#JlmH56`GqF+PZd$x!heE^jBrP^wu~x%7 z3pu7F2uU$%WlrFo`#|&jc6;$gHM=&mkBRwVlk;A>ly){YZcfnPcB|7_mU3iTnJ#<1 z5l3=}TJ{w4g2zpD*Mn0RE=@R5TG8EVXINfo^h|%@x3IvcDObaF>&=tIu4$gSWT;VS zlKs?x>4-z0GsoNo!cGr`9Rs_Z1VvgEM3^V?G8anmT<Ee>6j}DL>yKFE-?EfKW2ZBZ zBl=k*<Ha(bPj_Nxm%o&(x8ZqK=8j@(@q$T8PSesdd6uV|ZLh1j@xR!!G|z=Yv8ba- z^s39}ZAPi(79WkdJk=EsO~}{2p?JQ*@zMb!_9vZ*SGE5suzoqgzoLVG=?{ymg&ZM* z<rYRd{)HS%c66<i5V8B%<-#b!^0JHP=7d#(EW1v0@0AFi%H}8h(lowdqWDWaXSd95 zH>dLz6W=Y3b5xsTqB>D&=A?Z$;@&b9$nUhCINk5-5rc-~60MtkK4=ItSn@9kv}$Qc z{8C`Wks_Q^B0JMiP%=>Ke*wq51;V~FC*0g1#rv|$#;}X+q~yE<!qXI4qgHlBubjGC zaBAR8{&f;l*PoCIo;hvBLSEsYtdcV)rZG&{(hQDkp0t-^dj86ZMV8b1x5jC{{6D?n z<s_rj>HB8H$()>C8#$?@bB0J|W_?OgW`fqPFP;AmaAaI+>=BT)W1hhHbMj{au7w7& z^2xGa1q9j@x)*kEEYIj)xkA_`vwy|SSql#Euc(~0@WxbT%LyqbrDi8iOFb#Md*!s{ zf^!Z<&N)^&XZc6T_|MbwZqCV*oPLIL?gh!Y=U>h#tektga&G0$xwkau-Z?q<#?I-Q zFC*GDBQJKuO%c_9|228WHudLQt(lXH<kL$`lWT%D337x8&i^d!xp2zmj}}vA3eS_A zGLLhX!_S$kB)b-0oW(3K`+LW%)ibABU!1b?#*`%|rnWJNY+SK$V}>Nx$=RzDB@;Zm z*k?|N@SL-+^Zy*JU5j+8q;7i7J$G`>{hM>IS}v}XoYymRaq?kj#^>@ZCptKSDyM&m z{p_l@Wn10`5${k@xqTCP&aw!3z7%5kX&7B9%W^7|_2}eSSK;U^;rR{1(ZBdM|Kt?u z;$K+MmGNuAqQWj)MJcYGv*T`bC9Pa|(_os-!U?6P7Rpymkc#TsIdgf6=Asg-750M5 ze_!ZgnYrl5%|$({__Z|W6>}DFnfE+z&ebSUFFBmPOf;mSFl_cAWuX>Vxo<oURUJvo zeHUEP`TAT|n$guvY3Zb&#vX@ehDEKOA0fQ#<x;!IfL*)#EjRX07nE}B?BBm@S^EU$ zNs@EyA1+@zb73pj@|IsxoSFY8oUU4~!nKe&bD@9bLZ-?!l3o0<nzI|LCY=7Yti)=a zMARY{$ra^XD_(PTFL(6lJQ=rZhUs#z3X5jW3<0xL2J0WpbD0D-#4BuwzhJgxK}y?k zoo9?Osjku@hs$<v(v)lD5uDDJZonvE&FH4Ukk-KVu|nos<P_aTD-R`CQzc=hipft- zX!n0Kvc2T<SCdOX-2V7+WAi}SC6cq4vR2!?)~s%c3O>l`$JoUbxnfRZTE78@r?zNj zf%IdK)!%-&9DX%B{%X9F_0+VPTQgs_{xaw~Fta~prPThPvp3IJ#Pd_K_@GVRrp3h* z1xlC3|2--*tx_yCkS$GtK~j2y+lGxS-v1|^>)g(iz#_GKJL7D<c1I5FAVJ3>Lmdh0 z2_NHs9gW|$aDHOz#-?nRlm{Dkn|P-@*O|D`_{U0-QwNm_)6<NUj99L2Ue&!c(Q8&j z*XG|hR@+-LnBAVqe2YKk7C+OhS%-hkbn{eJ3%2@mVEKxTiBe^I=56FX`CIY?w@73+ z$L1Fkj?R|4vU<<8)rlu(>ly75&q!dGjAUDV$tS~sEl+ZXWcNm<3v()}_r1BjFKxm` zw*a=L+xuSZ-dH2O;l-u(b`MPh8z%U3E(mmVonw7qvUfn{hJC^ZHcs@^ZZ|Hv_=zpA zV4v*m4Z9x&&Na=-3bKg)#1nr-+e%0`o+XAyD52*2%EH_K`~PV;@+WF<o?;m!r0trd zEVI~qGPCO(&b`wgE}Un`kYcbuenM%X<c2D3hV+J#i5Ct_o!*#e$}sOBLt?2|--fW% z0|LwkRG)aWtzN+XesU?Z_L2C4{qYmnq|F$<PLXG3ukX1LwsA^HpZoN>Ot#l8aqG(@ zv_2jyJHwjqz`u`CwaDFp#pgic)BL=Pt>T9dRUENQV&1p8g){wuY1bLqj0Y#=r8yZw zc$aKDw8A=I)}7<^Ijvg32Xyb83}V#gDG|vM5nfy=>-3W?D)IP{R?(_L@peJ+(v6z2 z%c`3S*y<hnvacP8RoZxKOUs@D?#D$EU(ysf)J|VoTD)3qW9jPZ(-Z!eM(8-#7IGcF zeCqEjv9)tdm$>nlc~4Z~j8A*)enxqHy`<Q+Cu)JJHjNXv6*aP5aO{hFl-T@Glt)nP zRViCwL;4k$RplGvQa7Bh+{jgwxUn>Q``=so1q-T8M6@`Xk1Agh{lFtEmR%M6X7dEW znbSFpf@VotKIX1B;FfCPDr=s3;e!5YRb!qtqTdZKFl<@1^V7xb-8Oq7{L(a%^}mSa zO<-|bRyVy<g2VWX25*r0;SL!Sp1=m<Q;*fBv^UFs@w$B|fTbhj=SOkowWm)VI2F50 zy(C9yZ@9*fLWv2Rnog`an|a{Wq#|~o$yvuOy!IdGRyw%!+XUl;aGOmsVhqW)X|ey0 zE-~9z@sRb^Bi5}G*$y)wXY1u^o6UClkLhL~wk1{xpB`p8Jv){+ktIWbZN}W2v(~cL zEXiSBaB~6gt;h?f4-4E{Cd>ACb@s<4HU&JI4-0P1yvxS8-R$$xz3X{zk<O!nkU zreNh1g&neY7Rs{hOh^{EAzF9f_KZ(e#fo<h-DRy5)0+SG&ceB@i%SGD8E!`&aN%jV zt-yLa^v%XAx_9Dc@jvdpom*hFtnl9Qw?~2!gm&@X;^W;Hn|g2gT-KL!?k<;Qk@-=W z(J0U&mN~Qg_N6zs-xaYvp353zeD~bkl8LdI@xu2H@=h#Udu!6AyF1q2u&xq!Y`FLC z&#@Oww`&wwUqAfMc8jCx>II(jipI;5gwhnQsR(i2Z+h^i_Wn$dEQz?s3(qo?KV-|F zz`9|twu9UqwrP(SoMrgSb>1rP)`Iq<-g&oj8!D#%eKJG$Z0f~_%XzsQ{ytjnz{a!h zaq&XYrFZXLuxWC<93H)-dI#^_J&)|;*WGLrxRqNVkgf1AXu<u3e{V=;C@?fVz4}(H zPVZLwACn!nxB3&byA6bv#7t>&cslDW!)d{niH9^D=2YHjHr=6H7F>60P7|kGou16R zhr7gC8~?pvYkI!p?EQ%!p3S_=KK~NyhP!N&Hgo!F8!ssk*dWU?G4l0Qg@-eF@1CCU znpNf52OExkeK!R@hQ55X(aZ1Iz61YRSMc5X)62d1u@d*3PGRd!u?nm^WW$(K1=sZ5 zoM884QSPls0oEscw{E=aI~MqA)?DMv3GXhwlkq#md3WFZ*n}qs@3M6s=IEPulgEII zAw>J<&P`E_1viST^C!NXyy@k#Ub%a+r`Pt{9+zW#D)?^3Th7P2tPAtr`6#}hb(hVd z@Ljyn0siETCVWp9pJiot<ou;~UwH2Oopv{7o?QLghCwu6sF&yX)emg?^KYia@a~@T zI%3c1<_76mHj;{$Wfb_IZ~mt;<HDE32S+p>-Z4=6ns90UtPh|4|J}P@aIIJ2>x{Lp zXD1uS*h{ZwHQvGda$BB*$R(|5&RlD3<=;E$rG0oG8ux$u#dSB2%;o;i!~Ti!_43%G z6Hk79S$iw>!)J%WTe%-T-ud@lWzw4p`>%&if4$OcdgJXohxr^U*NRHWv)$&^YT|#o zOz3myL7qRs?)MeHEvSFX-}sTmk!zOyH^vHfzV$Z``0>uq|F}p>dyPGV?-51O{ZDu% z>^IrMHM#%h0r|&!QsrhdMHczUm-{~r3Mkrs{`(`=8+$+h4B7wnxh~gX`CD<V-=%8# z{qM196iUox)(UiZ`uzi+=y^3krEfX?SCabw`5zMLv2$I|#1R<F%+u=F+QGxj+|(Nz zm@zSOa?s?-nd#{%Gh;h>re>C>&P>mboIi~@GCd<bbz(;5^2yy>nPV6KU%YNjOzOV! z^exM$PKjK*E;TMK<;=cw>8l)b6R%uN%$*;b?wNXa-<f-NQ%-Mh>VB5l-5=Y$?dfag z)U=&TPRu;8JLB=`lzm^1uUo^(W1JT=scya7Qp>XCp{tE9vjs_S2=Jd(+VqcSLWFLY zb)V4Y8%&l4Tq`}&FE#K8X`gkSp84fZ<&!*zrHmO4Mh4B#L{3`9#vSTm-E?-X>&rWx zF3IePvpR&%Z{2*<Vfm#+rrDQFj(6O(E|%zL>tzbNuxsH?w?amZygBwW42+LDeLgF> zeb>2Jm5v(Qm!8(pGyeJMkxzJHO7lsTkB83oB?Pr9d*^Yl`(#x2z@S|CdawMmGrzTr zKmX@hz99ADh7`RTX74<;NgHBbHMTzE_X^vR?mRUk<jGM+M~}9HGu66Icph5Gy3tgl zQi9DnG4F{4%jDVS-7a2%so9sT!d$1{TjjMWZQ3Ha<=09izg%>E$djSR)weZvy3q6R zZ8!CE?d$*Nas=IpU@>!==iu(E9uTl`rAdHT>sRM^)8aF&$668-lG>#gl_&;EJ+OGZ zpdfd_LwDzMybf*R5<!>Ql2f0k2iT`rh#xabpAsVFf6ZV+XK!N0qnma!62&-UM0vjo zc#6qB=FO8zJw8`=H>2f*2~TcZdgO3g_eqa@AcuK-*2Xh!ZS7%ATTVG!7N&$GtV#)7 z>Tvq1(qo6*{~pWz!sQB&iWX!RO>v#yJVW?JyYA6X9*gv3C62Y2g*Gd?8YFfc%hS6U zdTiPig9EH>^*<i+gycSn@Rc^XmT{J0R%Q^J!QweD?<BB$Jx=Pmsv(i$a5D3gvik$i zs3+^MUT|fTNvl!2wQ<>5<1Xoq*P5eMo~ADCbH7&R?y(?JW=oFb)*SQaD`Tf{PA^o^ zUGmOp&5Npxb!AJM*UeT6G+DYh(D2bZQ@6Fr^2#qQoq`wMW;>N$D8jkp{lcea8qv!# zEM^^>7P-JuP+NJ@kxNk$vrO{Z_NDLyiR^o`?2%ggji_Gz+;ufGj7xkaSX`LbruN!% zY&$AxtZVPycC<t<JIi$6f4$Q>8P<J|FGR(7bl+~^NqXdJb^PV;^u3&~PREMPkTDk5 zR-d~uOq*3zdzQG|!Yd|=Jr0>%-XfvRX(%N&Gd)-Aw(XaaY|X99MM_e4Z=Jg<`)}d9 z2qvqfOIu!xJr4^1$7CjU$iwW@^%(A-sTX%iB$|las7-9TaZi(T#?Og;%M*9R2Spq{ zwIsbI@~o4D(Sc1WOc(QbRn~UMxM@#**7|zo*@9mRr_cS2IM!%4Y2$1)XW=XTy(M2| zSj^9Cxlxm9%g#9~b9rMvoA!-sv%9thUHg<C7QyUxJ7)9Iw*j~Ha-D8wXiwXCL(*t# zQM<h6LXilKPy1$U&=%{nXrFtjoLlor!~g8Hfz!=aO`kF=#EI+I4j;!k3n#9%Iiv4k z73BSI0{=<Nz955}GJhXDnqaiBC3eS6SG7L|!ZUWb2R2Uhetg4~|Jc%$Jc-$y9No-^ z7NltLu8HinJyOON=y96={bF9tv|@*YEsv#Fas~bqND@EfqSoye92Ps{;abCQkM&Mk zJpQ|-!~R0fv96dH9&--m<9jm-d)<tqF1ZDBtDHJ6`zo-@;M)<YgI@}wc3DgmSzbE( z)`Z-MlU1(IXDA<8GG%>Yq4)7Jp%go>m5<bB{!%=`7vcE%$1&5cjmh@sSf+12!CR`+ z)0rF8WXQ&AXr+;<c;iptjMp-r{6&h)IxZ8vYJMCR-S|I2C8h7AOTz}GFufE-9pmMC z2LdKrXti`U=v<lZ(c>G%VCfd6=InQ}K(PP*X=Mq)Lw==M6AgO`)8#gLEIxZ<sr<(+ z&#extpFicXQeeuC2Zer(98Fq}c>cUNCa$-+M_<Pza$e&KNts<dl{!}>AMZY{apFU( zk;HO|XNRQ>w;6MW^EjxjtGJ^g@xejUK!GFj#6fS~gA9)Yj15?qcnhUCa)zw=BJi=o zRc%%x8>7XS75O*#B>$DSA5U~L+Yr!kIVo|*!fl6m${zR_P5Rn;aRy_gt7#L%kzcHg zGZLBH=C*IFIoKcTw`I|;f~ne*o@!@^@s{qWWQ}FA;3!+_B{#dl=fBDVkL~;Kgv4$L zShS4irex)esdK+Pc;RHM9M~CDvdI1Hnl#hwD`$(s80NC-W*A!sE-u@)hR;?vE%5gR zk5kNxCLh&_)bEPCELXa9p6#p5VC!3(ZiQ{(6YW%F`_MkqE<jMyCpT*{Ys|f6p<Cvr zu8X+L6_{3XMfXX!@I9wfmuBBc2{7z^S+vNiPoH7AfJ$kmVvbOYv&JC_-571DW7B+$ z3JxmYJL@NQOPZx+R_|(8)3ps}+t~hGP+eTK(OJdtB5$(j5$=4BQ}x|iJ}aj_<mQuf zcyVgBj`D?VYZ&#i%+)@$a!#mNGk5O#>9;D|T9w%J{~nOAl5m;WHut5+(<)Zuw*S9w zC7)H^@aj~{q;o2kCL5lWtm`O@ZnNtD*qMBYe{W89;_t9K&&0M~Xw8dU&K;%qJM6#( z(?c%lzgd-i4scvv`=VdltLvApDDSBQYf5+ja@9^Z+cK+FW5(v3E032fTzGD--t>jt z*KDtsEfmo$4&UqbC^RfUf;qOOJUolzd)RZHG}q?3^ivGxGKYjVPhhHN-0pQ^$01&J zLFoi<%LbVVCaF9ELe^)$-8fegxu(lgb9Kd}&eRL6F6)>)guYx1>@oehWv|(6`yCF4 z@^+}Ko0!9DzC)|Qn0d#%@*AfoY5sn?<<%OV<;C&O78TsrbJ?MN??@-NsqUGI362aJ zff;&TQn~+4I%dy$_t?qVFUd@AkK;A*rx}yAxf2+ar7ni%y`8!{C;GYBp9cq?Za(6h zopw1aeA7zT*LDFlk!h?FN1QILJ>eN0;xhl+lUUQwGmmPeF?KK>HR#{ua$Dn!(UPq> zS*iVX+p8ykuKl!IUpAjp!I91U%#uqy3tFoE4{AL)Fop4k!{NY<9$Zqs+Z4nN{Vs6} za(>w+zHs)7cF8?kdzwuokMv(%%Wxt=M$*kmhOy_U(vwea8}dUu;!Y??Uf@YGHd!lO zs{6z(JudLgKC@jFH&;(Sdo48O<YP&9rzf75K2&JBJrb;Yz*gNeqfbxbTz~b|_8Z35 zQdZho`{u8IWx*qP@_^m{C37nkg(m9!4%57UZFAH+v%}^6NhaN8yY$y@>kQ9J<KMo` z`1-oPMd8^6_x-+|k~zA$NL(x7{_AUpm!|64Psx_#-N%$Q-=~#1-Ef6t0<U1{sw1+; zZ2o*(JXPSy{c{SpUN7$W`*3Z-QNg`)pK8TdFNy2g5Hg1?IMq1H>sY8ZQ-)@u+3p8o zZckaaTrr7cH@q)i+3-Czc4-dRw}=M`?y^%ucNHY$d`;QxE|J$58Il&3c36Vv5Z8%M ztg{RvIkuKHv?}K>;PG^Do>9Qft?09Ri<Ht7{+W;DSf&KByM?<lCq$@(6fVuO-WKQ| zVbV3x?`%+HWm)Qc(KNYhG26@1gxde7iMrP&yeMitR(MXlR_u6`%JG2EuxjT`{E`*b zs>{n3d<_%38qI#ZF3F9}^P&6Qi^UPf+{^(?liKPugJoq*)3wr*j$ZH3QfD}@k;5@u zR_}OOQ%8U%V}z$d;H)-to&}jYjCx<hOClZes~(4%917UQnvwoJ`NVaT*%ySKB`9*G zmQVZ=nkFp8pBhqdBC)f>UeL8VD?Dt{)YO#Lu<KhxCZ)1XIUXujT4=zLH^p4Mr@`TC zl8d9GUB7{}sYuF&W}&_|Vd>IDzNz*Jk5hI{$Syfvf4_j8<73mj)~2wu^gX5NO6G<8 z*^7@w6gIQP#HeLdNMyL1#tM9|{<EX?Sor_`{YMM_cciJf1#Y??c-54D_Y#fkMyk); zgKkbNF?z~r;ObCT5Ewf(ccnxE-^&i2_OzrABC!lfsSENS2yt5qsJ94YKf2J_wZZhy z*2$L`6l*m2jh<+^IK^IS4NF%o%6ZZ3+i1w!$Q^bxY>z~ON?BsIxzqwv##8B$;;Dhk z;nm4c12%^iopp$gn~<Bv(00Tk%B+3r(eD%DKd}G%z@9ykE!&X8bc^rH3tq;JB8H3- zi%cBnT<7{8YP<D_^9BK_35?yQ?rsa31JjuMKUEZLH=p?}BP2z%aF2P^!m0hj%iE$N zLk@=5Ov~)iYoD2#R-52C>*Cac&a|TK)53zEo6gPnFT9Px>zAlH|CL~d))J{}ep9yc z|6@&v-chtyylqVaXGZ|%?w{$7(@W-?1n(7KeY-VY|0>&;>q$$+!yY??rAxNoP%j9~ z46$9t)6JG=GcBb=HR*f@n}t#M`5OV}K81xZ3BNm`Ui5hDuM>0APj;WZ(7@HI^FSdi zd0W{gw(w2U!W&d0I#MkrTrjt}!8PxC+AlV<wG2Kpl|x>w;QZ`dK0%zb^$Azm0?mB| z0(@nXDjq76JZCDK7wz7f`r}2kre?;z@@$>wt%BP--m<qD--=#(w0gQ`#*ynCCo0n7 zUKGR^q*NI(I9!nBKjPWU#Byw5T=e&#n8|EMzfJPokio~+%C+@>#?qzfsmlt#r3K8} z5VvXq$J7a&9T%+6&Ya_TolW9N{7Q*v5znd9I(uZdwMM5+X_(q!Q54Bj5vY5Ni*rSQ zFl*i$&e`_QxVY2<V<OXBJlh#G89WcLdM1=_W{c>1*&}dOQZ=$!hAld&-Cq5m`I-c^ z?GL$Ee-=3Xpf5>G_w!e+SzcV~P4@abIcH81Q2NDNpekj{#`lvwdR|nV=B#Mm>x-C{ zRqtyLv(j2@zhRB$%KjNQTYFy=>`f2bYZ}(-Hep_5SdT^6@r%X5Maw=t7d*$AJwGFR zt|`~2o4F^#i?YiLi?ibYx0~+V86=z8@pfrqCWCCef#KDgbJ`Q;URzn7{PO==_4Mcl zbswYec{kj}7lnote2AKPKuV-D)L;gGeZVx6CA^tav~-W9r3);|U!pm6s^o6g@Ka)n z>ssfPmt_=lM0b3PQaBcMBfW5L*XGvgVj@z084dj3E?8eVGWFYs+V!ceVLt-)zg!Wz zqJFwy>UPmpM(wR1J+@vpuZ>k>yEto7PsZY8);6_eYpq_@xtyArRz3f}#<rv7v+n+2 zyEL)n_SHF48`#oRQ-#&aZkFd{U0oh`HN{XYaetxwL-Tbhui|EyEqk|=L$<WzZ7XjO zL)p3oO^+8e?K6lvvo!U6TG+eHO{br?*+(uvabVTI4dJsCgm*5`Ot~Op|7@ujoASo% z^N(=+=gIpxTSF@0hE(yXuUjT`P5J0mcw^T#9`kUU&*@X7*C#Fy-*|$xN`b5DFgO3g z@S8vQH>oX(xl(h}ylAs{^wsp8?$Lcay9*|r4Bb(lu2H^q*Y@4|yZV!VY(28P^?p}U zx?B6ot=mM?C-Ftj`EWebWGmOd4fSs$Hy7@hzh{S}#U@EZv%s1aa~81$e}5G;Ng}v= z0(1L?1#_#|=1kkaqk;3cAv?3fqPq?f0V2EZ?+B~iJ!Qe;_ylDJ&cLFA3+0cE`4<U? z_C~V#I)?H-(+c@MiQ{QN!tn~z>E-E>8S!7&$*XTp+`5k~qNi$ElYex(ZC8}-skQMx zr#`yS+<HCb!r^r#h5wamKW{!PE&YqZ*k(!i1VN>g$4f;t?G`6`#Fdu5_nLPjD_wJU z)Wy`T5zlHuZpTPSq?!Dxe!qJ0`pgMNv#L*}MyWqrn{l=7#c{2v(Njg-a%;A8hCI{h zjF4KY)zb7M=*WYK7Z$R&7<9#7PkmR;e&}dCOLb_=^_8o`lWw>tmhR{laGj83mXkEu z^1oO_&QqQCPVqfld}})oybp_Y@eI$OvNQQ;=&ZK65;sC?j`>N3=XU&=aNJ_6^{JT7 zn&mgH2j0I>zNo!cQG)x-1~Jn&+9|@?_Rp%6G|W!6EO`9b^*gK2zW|RLkDF^hS4?W` z`+B5LqsMmQ6YbyIXU(3vR`=G5Vu}A3nAf(=xte><ys*J%v7126o7dGf<&*Ac)>w9> z>6*<l&{|OBR$D4PCsr&h`*}s`h48=wnH7s;mv5NdW)b|xvL@qOy!2a}#m|&)cqMTj zU%pQ?Stj&ouWOk!>+BkdO*W0&H^gKYXM_Yv)aHxs-ypf4HGSu@g-wCK3q_`eng0%W zcQe2xv&K>8WO__rMn{toM}@IOH*2HM$H^&&QtZoALUKiuC7Ok$Uac(K!f`cNV8w37 zJzfPlZ7UvIRIEM9^>+@pb`z(UTTTgE;EFc|Z0h^MJ6bt^Pvv?WGj(tD<yC7^Zf`vt zo}1gb*l|~p*{P^moLeiT%N9HK8CA0dH_q9;@_(Gc)&pOb&v|>5^}x;Sc<ya(2Lg4{ z+1eX8S6A<h-_YsLwk)9MfFx_H;OlJB*2Hw1zTY2KTv6M%_D@ZA#?_UXY;ha9_nT(K zCp2A;zBOI6`JLy1jdwzuW_75R6^pCwyP|eIr?m9Ylk7#u=cT%?2sm*$a;ZyCOO=H1 zF|Wnf1vILZZzNkCb35%3`{f8vp_$(b4&#^!*Zjib9|yN~b)}a6E|_1sm2u^Sui9(l zB^C?S?pOM^buatnMZQbs&wbR>Q7~W9lh1WtzkB}71?<NjX6dPBWec&aa|<Z^ee#cM z<@yErDl*#hVslSBIO+Z55@}qmyDcO7+p66!rujZwsj}DWz1aWgri<J$Tevr*Mw@zF zG&o+q)3!~BH|B&!SgLl7R{6{yFA}TEj~}c_w9fJWcfk0qEa$;9p#^&Li;f-nw<l_O zM2_SV^URH2%yL!-S@L2Y2<34b>pHI3QlhhG&R)B$+S1v_Y%W{tFi+Vl{IdHim#NCD zr$PRGsfEY(luh;A*SaUY=FElUdE4^m&F4E?#8dgK`^K}3*=yskwY^=YcVnYNAOp** zpvjwh<D|q4WqI05W(B;n-EVx0KlJA$<_&d6*KYYH8+%kDwzRrbFjR7$S2*j(nlrnK z_)3#zu57C|+yA_~_HV}8MK*1FR2QVCE?=;9uE~w_s?!74&FJ{V@Z9BV=)?>E+fD_< zRj+vP?`ORFqMYREY%PuRQW+K~G`+gT*(j6x(O|~YxR<$yqT@FFjF`{3vrX1B`Lno~ zBFFUUma9d$lbcs}sOG!B-V(t*o2zo)oSSRrN}i}$wq~Yf#@~vyCR%Lmd-}JQskCj* zG<7vy!La?xN)E>bys-jD;x*?>`L79&-M*u2);`w52ajp3y;l&=_bD(Z?7YLqs%!j- zS~d1!+alv~ld{>Oc2B69^I7d&>Qd9i#=n-<*kt@zw?$FC+Gb;m%bZ5rTLFs&dXpyT zM0jp*Ilqo&`n5NaS57<3n;p>SS@vR4%k|6!yJjz7FHP(|GiQz8n~UrIoqAgF{lL*H zS*{CTCH+@hYUL+#utj92%gIIj^$XY^+&eZqHN8FT){h@kC*MA<!1pEcTk5^Pvnu?T zU(yhDn<8uM8DQZT@Mr6#_66+8$3LIn8c-JhP@-=`QdyW%?3p)asqub+`xa~wHd9Gi zzv*<q)ao1m{wyf0Dw}!c>f+;7(fzYp1=II4@p3SwrKZKZF)_Kh2{*Me#ZTy;*fb$+ zT0B!qdTQ!~wvLWz)2B{wi%&_3Z%#|eT#-IuMcT~Pd8rxeQd(B8N!?X2ZO)1v85yz6 znVD(n8L8>%nSphOGcT;1lb*7<W5&G6?d=N|bTJ8cJ)8I3t#47h@PzFb&YwA&d3N^E z)Ne80>sM?_`QoCu_{Eg}dbw*JoJcBNHbFV>u0q*t6}^coyChCdJ)I#abIe`AnM-0q zs>Ae@lWY@0JdN6?Fj`8ma2{%CoHD~KoiD?KZOZZ}2j!npVcw#v<}W(sJEOJj!NQz1 zXBKoCao_Xzn`W|9aS6BYnz((3%$A6XMVQ6z>&r^ICakzne|wN?sA-7Es_phqvpz5D z3OV61F{1Oyv{jFk9G^+Z8Xf5nTXy)Fitd@Nw!20atJa+D`g1;CEy&d{uxLqFs9nf6 zv%<Gt$4<){UtRXAa>@~&>6<yW+Zwg5OkZZS&`RIxNJi76V}8o3gbcm}TydNomD^<X zLTnvl;3E6OVm=|)_TEa7jC!Ma@xjsN|Jp%oGHi@?6iACM<X^r~Nh+mklIu&M)c*`@ znLG-vVvZ?_!M+@e6gwsBmJ}Y>T=Y}qMtR(xMjzwApGtl$&qRaTly-%byGzCTsQW}M znHzLdL+;h4&T`L!g(tOd6ex)qtLKK#Ev=g|vBmhQ@1@CwTWY@F(RiBsgV%kp=Cu>b z?>`(ptMpb<{9NE})ucJ9N(WmL71O6OvUe?FFz!<5IFNo@C$w{$x9)`n2YY%C@IGSG zt3Olx+(x%5G{AA<j6<j5me#fh#7~`ZFj{SurSM&?loKyk^nSiGsYk9pr?jo7x#PKp z^ZY|!c{)#;qzE{*lpXQSn6yP}Vv)>J&H0s?QCB4X*S`042oek2Ai^rernDkxL*yO9 z*Q=JAUg7J$SDDUTF!f^V^t`B9%-(AKGulqiUQ=`MOxZb(;`XdB5#c>c@+%L%H9nhR ztf@Xz@X$2rvJXZtQu+lpo$j`)bbM>EneEQR1JfD~FST~jb9<`PYO#FL=B+g^3sl>! zQu+jMH8AO`&QIx9(>Og#a*<AxOv;MIm2IbwuKzUW<7>~WN0{$9i%o6gI`AQNH*d{3 z-ljJ3S$iIG$CT84Z0phfcR9`f{?AJxl5uBdw(QyvP!qoN+mqzvime_>Q7!^2zYCft zNxNw)C7sA}@r=FV6670n;fRB0*SbsM(J2g%xl~tHG<zh=N`0E~Kk)67xgB>~Yt8(f z&-_q)zT#}c=DUvimu{}qFK+v~?9$T8yW3;qJDoX{?=;=v-CtwhBJSa>XtSY4&eiR; zW~}q2UDKATguR#~X;*SA?@h_0fVo=}ZqAOHS~0QZzCz-qWi=BzE=nYXb}F5j!yYU9 z^77s%*R~&v;b+p;T+Va%O=$b7)u&f3S^BAeNweMO{<0@o@6P->bL=puRLq{hv#QNr zr@zlK7gSxVo+H1o|K<_F7QG1%?ISBrYE~q%Jx+0py!k7n<Ip8@7e?1~+tXc-zXbMF zeRYfHYi#qJ7RYA*hr`?|s)M0jNN#&Xlcd8$?|8j3zGE`1+N#>TZ&?^cKYdLN_#b=u zL{Qp8=?PzY(&YlDENHV>sIT!P*=40@V$Eeuea?x#cMClvYMG}iXB}2{yXex@@mcO# zpl8|E?ylV|k0xANz-)70iH&!ukzC5pCql10+jX^8NZ&9#6umD(u6TzM$C;@I`EEuC z#$B7fF}3Bm)vv5@2385FrH;qbJr$Vk&u!&Q`0#Yf<R7!HPhy$D@ia%JFzb}jmw>}L z0!|E@blTPSd}8%``Z%sOTEx+YZCSXFdUlakTTEAaoB5x^Zb^H*^|&5y??~w>*zUn( zd&`t3uIpLaw3d*lQy-*C=bqsG?{NB;+6?K0rgz!%EV`yJ>|7Nd;?7X^!h6Yr%TpAl zEt9m{`QP;`N3pc##J7U?g{Nqqm>}UAv1opLw)-TVN0Sf7G9~jSv)EY)o;RAYxT)9T zFayV@19SH*66`VTH&1Y%_l#3bWbTjXZC(%e%+t9d`R2xvFs{i{dlT|zzU6t)|7QCx zokpLUnw5QOQ5LfEcvvIvYMe@v6H@G2a>*se!!7Jjs#IH!YtU`!7P(oIESGh*dCzzB zzP{-r&-zJ>lVU8Doa0IaoNYqua=cosuQ{rAX)Ud(HDq#MdtF0sWpIzjnuT+AiTclK zJrr82_`s{wO`K)jDMgc2r;CJ2H<uRlWM0TTl6WgaBytmztbuNe-kHsOJ0>JAY$<Y| zm7=b#WcxgSRYuq6{~U$<m3pDYlAEp=z7_19JR?M+`NC@-dFF{5@3i`A2l*c>X<HWk z>{yyPi>_*e`z(=%AKL_1oqO!Tws(PFi{8bP^Rm`uhw{~`tSWyo(XMP(mt~|;k;y56 z-8&eh*E9%f89j-*f9LtM<p&lCc=Pb{?f+m>T@j+S&Y>VBbGhPEHbc?1S9?>7jICNF z-RJFnDWY}n!y?~=LtgDCPd($?dg@@n>!hu|Gv2ImQQ=*iEZ($(+5LF&HHU>J9@&xI zn?$y%YRWlDzkS)NA(VVDa>JL>b{$^ze??srat?Ro6<xGlRy67F#gnlgHM}+#c<uIn z!@B&$Teg!Nk8G~)V&42z<1oXjr2ldcD_3ML``G*D90%Wlv!#l@S1!3uD~^00urBDz z##O6NEbGm^sT{<7;8;{#u%zCf#`>6ZQ7c_;vD*IOo3VAu>As&#qL=4A<6GMql6LC* zj_EHB*Y-sTew$Qe{N`ban{ml}$t&$kt}EP>t<HSe)N@4D!EXC3A;Y;6bKcA=;%RT+ zVa*fcm1g9=Ws%F0Gi`CK;=%jB@(5ehuJFD1cu7&i+OYRKji#P$e$vg8zDiW4FX&&D z$I?@R66Kj}dh-s>7drc5%6t)dq5Ov$H71Ao&+TBo;I!pt!V@MvhMmP*)g~Bz>FJ(* zFJpd2S}13#WXU$4xKoySS37o@tmRqQ;<aN#kc8j=KMQ$cJPy_NJ#1y*eZYUiuG8>| z%Ob`Hi=JQI@#Vin(rk@61*iCPj)mR3*jb*yQ64qhthnTqQ}ni^47KFxvU|SYi4{?q z8yoX9?d-Q(&kB9cKF)YiB(*K}$CT$0?H>-wz839kI(cR1?hE&W9|{@&XL^zq*}L6> z%W~FAuSZJTt8}-_JhN=Zy2C>9sS&AKf3~O2_#qop!OgJuv2fFxCV!Ujf^ZYl>l;>> zUEFAKZ2FQ*oIQVYR(wndU;MRn+Vd3?#ZT{?v~c(HC+AzN16Q|5e3-dA;AcloqSoH& zCp-JJjDN^TF;2QHUBTKrDWSdI!rimsk^%D+h2|aVh4<^`?405qw)MYgQ4_aSZpeE6 zz&ku;7iyO1#PU`#>@d6fa!QthVL$iYm(zAn)@YmN_x1{BOOwiii;jU?3y*Kgdo{sW zAjsdo*s5Aw&*HksDF?%J2IKD+Y)cL89|<@eFqYfZE+@8BT5xHKypq<b15S$=*#*8@ z8?nkHEY`S`+_b7KYRP8NlOGhBE`-c{pvT7OAh1!R<e|>JO9p8o*>67S-fR{L{+#x$ zK;_{k@!K2xJ->usO-|alL8`n^+*#4c<BRN%vT7mIoNLWWa~OE$OyIHKEPrvk(76e0 z`3kJZ8+fd)v-&PnI8?x+Qk1#2AT#z@@cadW*S~3JB(OjK#1<NETDVdFmIMFH<^O%I zHi&%`3ZAxv|KC*6;)8)190dy+5?>sPYGUJ?c(gP5hAD%v<n0McNhRLTu62c0u$@-s zo~EQ;9>8BaU95j{=pl#1{Dmf>Wo)b;lfoX^tTJ$ID=@gb&D7SSrFl~X(*xGRXQHB8 zT-FqDyj2nr{laB!SQ6vt=O!qA^MikLknYqAatae;_CHM7wwSADgJh11#+esNQb&qk zeBt3{7tmMI=)ItGO4v?_)ge%n%VQ(AX-j0FqxQLt3QG@Y%w*+WJAt*z!+XvJ?YK|H zhM#qp3b`dtlv*RMneL+7{XqA5laQ4<f3m7*<OH6W1zec{(w5sqJ*IM-l$hSVBwFgE zvUbz|o`fqp4w4Q|Enbe9X(Ed&t62qS8}g-=iMWS}-fNz4dW(nRLz&a!a#9`P%@4Q| z1MThvWZAf;w@#`*n_iW>ja$u<$L_JxhDJ7v=RQ7{C9TWsH!_H;9^!fbA^)|5(2ip= zvpxu&*x){gRVKKZW8x-3=Vyj{8HH4u^SEycmZj(IzETzTOy(_<=*r2u3da({BzU5g zC%sU0?^Uz^#o+mAgXx}jtpH)Ag9<@`3IZvtC46m)=@Ys?9On5d&bmD#{nZnP*98Jn zk8Ea&>#h9A9<o?APk{BXWo!He<)DiqUrqV%Y~i{d%=0El$oDBnyMTDw0)Z73cJ^&v zK}9Yi%nt2E{~aC|R0xT2uMO1B2<5)?O~mVFwNhh*tBd5a>AaeYr_FxA`g@^HLm0Pn zv&Q2JOWs7;1U0SC7wrFU6FWUYbE1T1&*n^vLqZRh^H(jXI<bK#-Zf_XMt|0<nqbkS z&J6;u1f|?XT9_@v1)RG*r;0ph<ucf2pxl+G5hkz5VcqyK|GlN(_rskzg}Qv<Jh2VM zl}Y?e4~xGkn4Bxni!5cEd5C{jQ9}Q*FkO$7lN{nQQYj}y{cb8p^dD|J=+XTqh%GOH zH&@N>yRhDl1<BpTQ&X5cxH%$NQX&;ILN+)DewxUXYf{v3D5hQ{xFbPJ*j@E<sEn$o zzXEgiJ;!ikmApT$|07I9xTQDwJh7Z6yiwp(F=uqM=uE@PtBV!i2iR<Qpuy+jw0;4n z+D6UbhdgS9da(=he<g{;8>e?X>h%BQ_GE&W#9~E{R`Ep-^|MOV5;-$gF!`7M%40}g zzGkbc;KH7yWNYt@%i>n>NP8%K4A8nSuE6)i_`sv$#+B|_SHk?O<O3De&$l?w`fPE; z%s$qk;Nr)1DFuZpo0O&%NT)7nFYaLDQ;oi!oG!d^LZEAU>2_Y{;^kFda_5gly}u@R zK20?)dBW-oNpByr<{#<%#HKir(c<ocivJ$|1=|FtPSCBLDsq0A!|A6sIf3p<)q#^9 zsO%0d%CHPhxhy>|At`1-a^8jiOU^K~zdO`iHHFQ+ivM9ol+L8`qs<!YlO}9=EbXx^ zc8l}8qCn|$i?xoiTZDJ7sIscia<vVsm>?p^cV@B4nUA9J3xxh&W6jzvpL09^_rq-k zr?+Kv%c>m|Dm^V<`dYrAny2D+e(`Cc+S}XnZ*R-Jov-n+_(%iW&xI2UBv@5~b~JNu zSG%a4d0W2xw)SBmNAo~o<BK~TFR;z$-eqiPu0N4=nY5#7!}f~{YV%fPehuL1{=KWK zT5pT??k?{bsg)Dg?B2a6I%ewbZ3nD(s65(!@b<R;-Mdai$Lzhm<LJ{J2X=3tczRo) zfaBh#okz44ikcOQlXn$53-39!y~<k0G*D=n^?%`9hF$DTJG2yqUt}u;9oV;6dKYWc z&a&Uzzh-a0X0D^XasRLC{rZ8sm=^7CsNByIbKsi$K9!F`Q*ZC)@!3%ry@&tJft=Oy ze;)46=H4l~XIJ0qgCc9T7o0e-miy32hJBKI_Ppxe|HN8h&g-2zGW&}c3#~u7Yb*Ee zE!JViHHR(c9Dd%UX)(vt?9Hwn(uaO3Zpkz_vVHZ$>1ju{tgihtQJ%@jTvbM4x%JND z3c~lejeUA#>!O9;uiksxdS||}`Lpb!3#<247VOKg5ss}<(CImrE5MdN=NN~QxnPUJ zvekP_a<*4^Z?CRtXZ>@$LFPo0%?X`@M<XXNU)#P-Va~ybJ-hpE|KE}K`-HO2p(#EG zmjs>cm);ZDb8<KLcBMVrzI*QzR8h$G5uSJY*m558jMqClS0A2{Hg|)K*U2M1e<rwp zD?fZvK<CE8wskSPPlWJ`y=v1wxVPNqxXu{{P8pq>yN_wlIrTVum-a>NpR0vbA87B7 z;hFhqN2&Cw-JgzB)SP*I`)F>@vGkgK#RdDa?wm>1*=LrxU+~G^)jY?JJM91c`uMl# z1E0@qPw?4U;(g**^#Nw49YS+XUY)&1!}G%a(+B0xoIHK|g!;ylY;#Xemfp)hXIs<i zlgGR-+@7<ODd~iz!zsPS<6$)lbGXe9CLQ0CbXfi7X`R^JUnU5Byu(`f`Osmb0}*dd zTW$Y;`2WFU8n$O!Z4{V=9G&*=W$-y$A$^6>_Do;^)B2aEcAU2F*k-Ziwf(N!2kUB1 zyt3J6;B(;Unlm=G#~1zHIj{Rz@d5U{IqZoOuGKIcUy!|hiuGQe2H~aNm-Eja|9j{B zx0?1ZZ_fX?eNley{<ht_D~itg#9SASIhc3)0#A+5q&0h#&+Iw(`hekEdAXYQ&u_G2 zWKVF|9CheD;jDXUS<a=)F~@E8u5IGItab3hjt58Bl1`a?6e`)V#O(S-b=_l2w6CZw zlxI3C?{Hyv^`4uHby%}`&PM&&mJ!W#>pPoS%<1mSce)oRn-;MxJE?b4<@CDW#s5BD zK4N>Y|Lon)zc<>uCly8izx<~9T4B$%nt*H1&s<B)-8awrRMegA0w!m_ow@$i`qtr` zT8F#4js~3W58nN6?~zBg7scn?=y<zl#+e((rEf~;9IVsWQR#j3cFxVJIXD039N4XN zr`_ikN6;yiwR@R+cK+Ob_mS?!J2Ct3*S51A+B<LVepeqJ-Zk64Yacc~v+By;OAliA zUp*tV^7N?}PU>?K{H6pcJHKOB+r(+@t@$|V$=SI+TYs||*d03Jy`z1${LDwEb>B{N z{&VAaz?sxH$8sC4CCKf1>T@l7?zI<x&YCp}Z$JA?+veH5-$E{DFUrITTU=z@u!r+w zDSP^@mj8Qwcb(Yv=c4@2HxEMiP9FPx@P6%{3$Oog&)2>GXU|oUbLS_<-Df|u|NGoS z(sjEW_C6|Leq?62PtWmyV9v|0f6m+OJ!O=)-FDwWle)8uSzh?Py3?Pc^ilQdx-)mq z{!L~1QC`ki?I8E&ke~X;r#y8AdcHH<H^m&@Exmio?Ut=??g#O{*kW^dR@$SJIcM~2 zZdLF+E4a5)RrZy$?YX?1YcF#4<=r_J-*@fW%R4*l4tIOUoUY#UCGQ1)&jk+Nc6PfL zEV4I)_np1E`gqaq>kTz8IreDB%(>qob7hC`8J)Uai+mnT^1fN3cV*?gGxuj-)Yy4k zi}7~kX3eQi>h_cTG}J8*pX1#A?%ijGa8JEAEE*2yQ<Q^^-((biGTZ<Exz_tTe*aGS z{j#vUA99KFfmO_n!rd2F-QE@*dxB5@!zZ7!O>3^R`+aFy{YCxmeY^U{+kdmW$sBR% z7y9?^!Kvt1Gh-h4+&RD<cd_*BNA;TX-)bMW-uXD&_RQg)D=Y8GC$B#{J@!sH@8Q<C zJB8XWgzmgk)c-7V#L+45b4k%M?e-rBJR43ewlO*XV{VmFuYZU`-4oXDpDXQ7o7R1G z?9Z&6a=1%(OZ2&20q5R)>{I_~cx35%`8Cy<P4hq7+B~qket2#Dtw(<^{L<S#!ER@N z^^Nwq7fz_W-}C##uJ<=qOYf<$J@M7|Rk8PnztVrz_5Ny{ySuLb{hHl7mex=5*Zq~j z@Kk>P|G0yGYztXT4&;4ykpId4@kg+**WQ0WOzVH{UiYcw&_9RA+#lk99KILA%FdCR zo}ST?9@Co9)!oz8+~1thF=1kFS7uLDeQ(vY?z!EQC${uVj%k~>vUNh!+NLQhI;LmF z1~M~e?%cI|&(5t|0=LE<I(UeA>+z%8Vox49ka=qVp*_8O4<Ed7<kpEZ+qQ2%bN|u( zGY{__yLIv2Bh|<6w!eLM;{MS`&o0lHkw1OjrcIlB|1D(Ps&UrNebFh6FOyn&4z;Js zXtgZ$xV*?+z}T+DL#<QXNJhC%=dtSJnc*U`iFZy2EIB=0U-{G&j*ls;CvR}`{4_=Q zsjU5!Fki2htmRrQZAD>L|Cergsl04Tp4U>3EHT}J8zrftZF;wj3L<9T<T7i}xmj|q z?xoY@_0#q8j-RsnyjACvUed`EM{CPpzm6=u&Xml2I{Z#VUfEl(=<C}f^=yCkRh>F| zBl2jsb1~CjPVdJqQ(O#hZFy;_a$+W*?Wr}E6GbyS6zmU`WTt(~oW9!D{)i>V(#tE; z&6rvJOfxQBnA_=o)bi`I{OfzWxofhyFT1+cFPPfhUGckYZ_L|Iv!?UhxbyL1kM3)y zowd=gbMF3Y%$d6GUe2u}YQL-O_3GcH>=ky6Jsk6x+jQlDbWgnunGnI|&zdhzluj^k z>e5)hc3MlGOjb&}w1A<?B6r?{E=iuUTK|ts%-zx$a=TmSQCd{qJj3JB+I4@HJXS92 zS$3g)x25>p;B}s@%IT>)65X}S?ks#FJOAnynTeuuo4k}*FQ(oN=-I;>mN11^c|lZO z=GKUcyMimy;@UHvWvh9%9Tl^myM%FOSY)Jf+{|NBSQF+)HZ-dx|GzuQRV*msE4Sk$ zUX$gjp(_t9P`YVZ6__vEW)j?`^=w&`q})-l#huE19+%oS?et)iNjdQ1)vC4oSd!Nm z<a#}JwtS`)+V58MDqB+i)r{mR<vJ@DOQ+vyoGhKKVWPAA%+5#3Q!NuS)l+vov3%H^ zIL|$N{^OR%=Mo=R9F{lA$}^5IZ+#n?reAzYGQDQ^k^j}#8?OJDt{e5}qWH4d{5#eT z3mW-yHY|F#?y5%M)eFb@_m*2N%8_(PjkvW^W7ZbI9HY4}f>v$5YL?}_a$km#jN0sj zuU0R<wQZ$~$xfz}Ni*F_W-l|&`t`csOv&=?IWca{Sr?9_&UCB%dg}MOnW<*Veg|t0 z9$gmmM5gWRJWl7$@Am$f)-E>l{juX>wG&wXJlpl-X{Ny54_jGJRrswJzL#)x1?%#; zTB$C<t<0KhINIj!-IlbXW%jCzT}q~30#_K`I+OHpRj0>n$tmG^J5O#|W%cUx9IMKW znR?AEm7aWtC9Bq}{|s#F^Ia9UX49TsLQ9YBx*3t2?Ra(j7vs<0eD&kH-~LZ6IQXor zbxYV+yFZ;5e?DY>zq`v-*wnOeo~~Z}n`yy5H@?l&y|(pFM0k3cpjMBjWOw%pfex;} zB|9E(-+RaCm#W#59cRs&ZS4PSKAEyBPj6Su(<IZ?Kd-J*{(o7b!{)msbDo~*0xQ|} zh9@eCYtQknm*!iRv)%a0QWgcyt{E+T#hnc^kIJ%WPoIA+Q2hG^Rq0eusoPtW_a^M& z&Ux`MEajAmg!4~<z$(sgvn?sIAE)Y9PJ0lf88mUq1BaK2ub8Jkk&&?1in`dSo+QI$ zuA&;WfvIlIqEJS8j{O}s^c&~j44fpfW20#7#1M`U4)NO1HQxe#BC_^OoM>_5s8Z-_ z!Rh}K&ZnelEZm>_TKKJEzs<GJ;xg~@;w-;(abMhQUE2CK?q^bu?Hfktj43O<lO_i% ze><qbwX(%~(*hQ0f796pr?TpjYm~b`g)3d2>6fm?nBxEC*#RRZJ(X267q@3UI~E@m zSi9_Z2>b1D!_>qhwVRwf^R*^&9I#9k%s<d&nzzEtB<GM&kI{+!Z=Q*6J>o4|%CvNz z+{tsXDZT!uCU{#OWV1=t(VddIOIZKT*A;<LUZTr8F0F{s+{CoWr<mo+oD<K&wKT1! zbgK%gWiNUxy|>jXUuH4qix2ERhyR|M@qO~d6=|O*wmn)CZ2T(3t*AxEQQ>9hl1wil zU6tUV7mgiyhr0iBt-QXQWv{k1%gHl}{Y7i5-+fqd_4PdN<KN^yukjANzxiGzS5R-6 z)#JI-S>!eMOG;_3e9^_-deZ5z)U{(%-z^mEd6AVQrlPbmWYOBrXI=qSo2REvED<`A z;d7zgVbY|II=S7eor{+R#jNXd_KOmFS8}rRQ{^GYX$`Z!^)>1})Scv0Zrx?~w@fpu zsW|bWvdY&#Tb&yeGW>2DPUgMX$i3r(x9yeLlhyvT`dhvfUL93@KCN;Smyc}TG{s9w z-KTchA1>lrm&^LZZ{G^RC#UqHWTIcc^b$SOu3(;C?;De|soP>wNmsXe>$U!%BX;{V z59NeEd~)|r(cUIg{rJhIJ|TDiKhi(ZR^}xCB{s$8;MLP#j2%OCA6ZWPwc@*rzxUPy z;Z;YJdEc&CI^opho^<EJr6H@FcCOawjbzjiihMWKE$67hrXMRNO21T5*n8Hqf5C2_ zyB5>SwpZVeT&UsNx$j4r);t9^?P*J2OTG%IoY}@({p0bfz~|8iCaceMkxpz-Y8UWg zdF!J-hpYXq!Q7t(65DUhJW=<xX}*|{R^7^}!s$UuQ{#F3^4o4}O-=1nZWW&UFD}#J zTq(yczpj@_hHp5VWSpi49$evNnG<u(V|CQrx!UbU-zH4+nw;Sk$!fAYW6SE4{E6>8 zrp(`9q>#JG*gxU7Oa1X2nYl5-qASvFv~E;M{U2bpD)+z1+XmOuH~&jbI^${-^hT~| zjpLgPFN<HRR%x{xo!)!1L8&;kaOv%&TOZp_iRUHF%5F34e=53jai!V1X0hP(eM~0L zTBocydUj9Iq7MNt<mQPiX;{(3SZQ-B_<Yss?+@nbO}x6@%vCrzMm0oUT}&kH#{6=n z31Q}1bD4iWyFF{qktGgCudmvz%r<>VdgerNuRUJV*us}<E6jZ|l}SXw<B&(pg#A08 z{B6E@bXw+O$2p5;?bSVUnE7myV|cZSz?OG&mu4nCH(6eG>Q><7u$o8jTAxe&eDZL~ zx!Vg&mWXkfd{MbFKg?7)Tm2x{VV2y7!Co_suU+~3pxpPbZh@!7|3^<(_JthoG@8;R zeMuwe+oP%ToHwTZ=4zf_d89yS^+!jW)2cn(Kc5OkU1(Y7({udZhP5S&ZwNi#o3YGi zYpbTzS&_RDd$w)9v3aWS%SG%v@;_ZHQeLvwE8h9v+dI2hcNZUEU}Jgsb#m8?7gsa0 z-Fg>&4*j_O@X>oeFZ_sm7pQ0b;K$$J_4nm2giJcM#M0(PZ=qjs&%d5YGd4d?*|`1| z_r$3T-M&A<Wa}E%D^)&nE?+J3Gh@~=y{>)x^=3KD-fwwk;f{r$_2L%kDs2@g`x?0B z<m{)Dw|icmZoN4{gJ%NsdU2NAhKAe^+?$t`&J<AW-&DYRUF2YR*)jFt+~rwfMj;Z1 z{#T3a$Sp~?Rw$|!57v?uv|m+dyuYQ`^0=a!n8{AXuql_*?z=na2Q?>84Jc(Z`Qom6 z<4H-Zc)>hYi>cx&o|jb0p4SMAiild2hZWWA-Y#?Gh^0DH$<zXMmKRm)${W^~+ZZni z@j4u`czeupwSvVHBvT_qRtnT)ya@BVnEl~8ml#X4sdH?@_E=p<i_IUy6_V{Wb{NYm z$IMu4)a>5TyrQ|)yza^N76pmSNgw5=EK1!qJ-cjqk?OMCz(#k=N3P~U?v2TYwMQ+| zO1yOshSy$g+PyGlXM)C>@&?Wm40FENd||WOxHW$1m-Lz6-H$$O_RlELx+o$xy|Q$B zaoLq5jimogH4+gkgOudlBF=<$ZTqOzl-^+$(R{eALU&S;q+!xuv$9?fm1PSWO`b-3 zo(S9gSn^7%(vuxQ{!0=+Pj=N;losErXt+5kR8)caKwjhlhR6y0$0vs{m4$3lO%OjO zQaZ)$jz`Irrn+5MT6!KR{84Weo!;WLB2a2#pK)RMq8mNi7Eb&p9HFb+``~)5&g71h zZ2?9_ofkhfEj?Cu{Y&?}>D7y`3+w+V&RtTpe~HBz3-8j@zVqd-FC{FsA~}yUM7}(l zaLtip%2xGX?0$=m6ePcJ7rv;hoR*gMO=d<#wP+Y`;<L8yu-4EBt1liAnoEmb8M~V_ zYSpX8=q$?7SlJsb^1owy%j7?gg-mxC8AnXw3Qd1@BI)_`Zqu*byOjO@PvZXev{dt& zcK`F@k_aCe&uOOL+$_wy7S3?E^2Pn%)3VkC1@HExtm9MHy0xS)m~cO0mfrR@Igif! zQ~Q>2q-*U6On*B0_*9?ZCk}Z(EnX()?kKdVSM`3>-kUO|W!~he50}mSbu@JbgRE<Z zb$F9ZNoWk4iIqTMa$ZQ+g&Pxh|Kw_YP!n?`cg{kw&mYS&*;{{<a`A^Z=5n;^{mkEc zbi&K$GU1xVVjMlL5?%6#Cx6sPkDj8m|5(iaRM(APgcg5JY)<Pm*d{1bY5z36JhC%? zrAVqfizg2grxlY<=hd)t2Zf8T{#P>iH2c4#a@I_TbF5a?8r~}cryDG^YYyOc{E-rD zG%GdC@Kma*kXl2cdzC&H_v}KpJ2%S5YtF?Wro<(U&b!CNZyZcNgCS!38#q`Jy{ za^^(I)`h0a!!=e_i2SUW;Te4PX8Ps}yqON|!mLt{Elm0*8!44bi9JucCR(d`X_hjx zxAls!-Hht)7hUd))myV!pFCtfu_=zfET7xBbLsQ8EVs11qN!bM$%0#5)jF2+xzEXa z+8178;hq)ITGn~GGiXJikKv4^4JXr`7G@ojRNF4Ftaa;x%3G3a4ts}$2<v$nZ)MIr zbj{-C^ttj+W49KwmA#7hG*S6GUArbqb<T(XHus)byX`EM-ci4|eX)W@UnR5Btc!gw zW>{=Dneyg(<Cl|)d{Z23Di?*i^t@-5&ihicGHcz7tc(M*GM3LQ<8~6C%dn={RM)oL zQTuvK+|^>UixpqfYt0Ocx-3>F{W4zI#kQ9#;G9=UIA`k217<~qyj2_6*Slr!Wr$pK zy?c(u{8KmU?(S&xKe6$|_P(j@ZYw?3JnpRCZPL2z;57Cny>n)*zO*&`9LKs(!RxZ5 zR=&&JB+;G!>r14;&(7{&bLP&n*kzU3zhQ&R#vrj(DoSk&3b|H3S8u<;E_msdYu#sl zKI7u{Swf+VE0`8Ldn{Ai*T5esIMui{fBHrt-RFzXdDWO${hxeb*D{&*E%Q5PWgHX9 zm_4IJ!gbA*A|vjk`B@V!FHipAxoF#@Np?FcU6c|lt<|60?1;TJZ?=-<T;;_}Cd^5D zRUuY7S6w4$6_-x@mQ9m8ttT&P`^&;@`>JyGSDP@gg!@XKTNrrOno7)#Or6~564I15 z@fm-wtC{ka9qF%^CTo=Ws7zd^F#F=u8D_`Vnr6GoJnflwW4hC!;^<cz?Key6oYQ({ zZr<$?xG*a&yHH4Cdc>30?A2QJP2cPv-g1-L+*dQZtFJp_0mIJNAdkH3W`6B9j~RJ( znCi1^<a7-UiML3-7r~j&Z8)dYWzxbG&Res7JZ)Jreb!SBUB}b=`hL!mN&TO`Lb$!_ z^aKO;S-TSi-557HHwzzHv_4|z4!+KAuZ?UI6}UDR2yiCW2DtQ}@ldYXvU+O6&h?4? zaqOJZ=Ifa}7Ebf7xxCS@BDsLkQ~&Q0g;;md+lz!ZDLBpAs*uKAaQ8>=nI}F=Iu9wG zUSMNxZSZ53{InpO8_fp}PDo0dv*P<^V<`)n>p_O0OW#(f`Ms#lu{pG?dbiM|IXje9 z-5*CaJ@G9sTs7l>2*)a)HnV-Z9!c8nI%t=5G<aJ~Owjgy8hJU<W#&=aeMKg&QdxXh zEBw_iJF|)IGH<j`STDQ9R_|rFbpMehkzPyHR-fdlu8Dm$>B#r)Ie`b>UvKWtKAE;y ztn|}=-PVbDnkoESH}pqNU}g=@+-tzFue6J$%KH2wC84QO#ckf~C-*Mn<XkkNG3R-K zqIKEP>9e%bwmj$9ymF18!B!u(U)pQ`?41*F@J#yBvu&L@=H;JOF4??hVV3#%16(Vv zUuHEtUUF#0RHlvm`ALzV8}cj_SpWRE@OE3(uND0rhtBXYT>O2b>P^_i_DfZ3w_kKT zAT;;)+BroBlTs_T9Llk8KK4bueU-6}ZPB5RdsZ^-mOht~<|b5l?osZFnx(qG_lTd# z`N}hU{_Cd1Kd0qZZ-1H75-7Cg(rm>qR_B)9+);2n`D+7r=u=hZ$$6hd`LY_L9~2q9 zcy{sau`{W>mt@ZNOUnMgD9d~4H^;>++v@^ntBPb<)`qWEbgpZb?p3zzJzl2$TIO_E zmd}Klt~^zC4u5AHbyb?fH9Iw?e$$%VpFS(@<^=1R?B63^yySw^PMsMYQkr)UC76kL zgtX_aIGe||xk~u%)qux&?2ko5+$A(cG|uR-ZkN53)2orqd%fWAg<{z|hitF2&$x6< zY{3r6id?hahP?q!y*uhx8|SF*+Iw?J*NGd3j_ayDE6R7?nbJI+<;q<(rs>_hTg`gU zPi)HWO-lSKy}P<e?L(Q^@+kR<(V1UE^WTX`cr7#Y6;)_Ibmr%cyjn-+0Cmrsh6bt! zO7{pT-ZZ>sH>Lk|+qGQTOJ!?s3!nRct;qI{6yK$zwmE11-n}l{d++bV+v!C;zWq1% zT(^kGc~IM|(pgbiY1tlr?5f2hm3w!NuWinE*?czq_z7{Y>mdcUr`5flJ!m!LYrk|c z;4|;815Z8{uKJkf{On*HKeuz@Lj5}*P0sXO%-Z|JW8Rau*KT>P>$kshRd(;w7svWb zWv}m@`!MV6GwFQ~*B@ulYcewX_wd?}*;_x>-p{p+FR-jXcSm>KrRsBcJAOQ>u<S6O zH{B$oS(UHO&&sm<-}5PXY*XtV=elVd^Tl{q>@tz;d1>D1ms#?@;7rTM2ds-T{hbYd z&0uC%wn_9eaG3Ta*7sW6Ki<vzUU{v1@;~<4fxQ<C?fzdsu<zRMj*I*29`4!udY|pX z0>A4AZQmT!yTjhGtV#Su)AbiU^IjVIJ(~KDb^5*+{pVh^>b;xrPD^w0i!*!gl<U1P zTk-C=ZSPUGcheR>pS`%OMRT|NIl1+Q95+R}+c^E*;+}N|-CiH3_rt>GmDqzFwimb8 z-roD}!)kK_uXP_7<({qKbrF60L1^unUn`zvoqKln-J2ZQw@2-+$DI2Zd++uExldB( zK1uamcYN^tp55nrc`vW|S(^Jls;PT?H}9q0|F@s+J%9Hut@Xt7yVEV7+tt<keyNpv z_w-%uOu6@FeA=xm9?Oey&Mtl8-gnE>@51hl9CpjTrs}=ky6zV9`B$v<uUX~)Kgc=% zI%VG(ufA)1_18|<T-<x^)^5I!>2p7x;`#pnY@TB8?KO9=NyL6Hc=t^5-KUHDe)Qb` z5hd~2%>VNw`_Fd&KikHCHkJP}z3!*|{hzk-Uta3<2K3)~bZ=VA^v7zIy|eW;PwJa% z(x`ITWJb7qO5{2o_VauXgucxVIm1zZhPnU4{(6J7``;4e9&FG3({bpv@YxUb?_cxF zzix{EUbg<?p4h)xy%)3RT|ChHSKj~OsWX3BD<1aU|50(b%E12L#kzkM@;|5C`}g+z zzjyrq-`oE*d;jzG`JX@X|2w|FJClzirK!24H6=B*DJ`WSrMqoHQ}4tnQ#z*4D6gAU zo|-;?K}LGU|0PS8Wo8D(X2u4tSryA1$h>jgitRhLuid?B!)E3K2M-;NJbdtI<k6r5 zCr=y*I%;{6`NZXG*DjomymT`%=<dl&_a2@Nx?_3a(LJ7Lw_o17#KZIY?dKq#kC8uq zeLwr@>+5H4Z;J)Yx2a|Ozj5;R2@4Om3n+Wd@z}WNu!6+d89zUzCcF2^I~RS?FjDcH zq+q-1&WTOQr>D!CZkqElXqoTKUNK*-Et>-tsl-i+v1-YDvB14aDAZ_*$I44y)6e~| zJnVX9MNrkH371x}YipUT*!1YtC9N*qkablTqfU2UzY&|=E1B)q8*w-344Y2zvz+zD zi5J+OEV$+~>t0IZ!qi}&f{#0nKly)aX7%>I`3_Y~kI#0OzyIWTcB-}d?c)Lq4_y9k z^8Iv=z}&;<z9$8@tlhBi=xu&Ow!qAwC*Hk=v24pNKQH_E_*k)45zBK6<!5~}l&oB~ z^h{qg!y$8f)>ob~{~IginP#bIeqDBTcHQ@qty8X<?~L2HYiW90&6eFKzIjdUx_&Ei z<Ap_CIz^%$JaMNKBCa=`wke(-$F0_J-LO)%>_+olo@wV2`wW-$ntff;b|L9g!LtA- z_N5sC>GRiao7Jggma-`G+k|WVou*M{Qg*uYBBb*KHf970@Gz(c`)Ess3m5q)sdk7z zo9Ny#xp_)>Tfig3(5I!ZOIOY<UpVK}@$jWv(!FN>zsGwuH87#>=gFDTAD4IQ|L2tO z);(~>NMRleo5mS^HmS$UW4PEZCo~J+TAE<W@1$|2<&@3jgxH?c!@QQgioyL>>lD+H zY!-ZCj^a~&6%n=kn*d9{xt!OrnO5KCJbr0)=ShX~+O;!JEm~uGuA_g#?1eKXOmH#l zoTF@^czcdtOU?CVvlpybIZygVu8^FPW8qBMiZ_kyYI8#8a>my@**2+LGi{Pl*X-zn zlImJNS1t`}Xy7u=n8zZu<CJb8tJH(NY-&;u7k34{IFm3jXfp3o&a8?J=1s0^BvLoc z*m`OQBiHH~7Tfo^2{<2EHp9Q`Z%S7{;`@{xg()9OI?lDf>xsCz`v1a-+a`1`y_j~> zdB->BH5*SVNy~-=Zv6gKGiht~RJHJp+;7#hl|DV&wP*)>SlF^Xg<Hd7<}-!q{hIjm z9p9Qi3%^L_Pcb}rOISkjfOverse;bWUy=FR2R>-7*cZC{`u)hK-xkHsE!xRsu&`H8 zE1dJ0QQql?tm%PGVKFv;)8=e!u;^ROS!%@~P|7%w%b3e>*Q?}>^WI1?yEOgbH$K30 zWk%Oh{Vj`A{wuW2>e`dEZRK0@|0gD>oX}fzanrHPlh4W?&QcP)S2ZJ%<#yVFjql}? z0)>x$$=Sa5n>f>yhwa+SLRh_agiKDdlX|_oJMZbOyM_ODy;(GI>dy48qpsiGY8;PA z|KD;WeCG!@hl4jY<DR|hkI8D>|1Co`ueLb+`jctu#RpRZCM>=X!**;sJ7-Qa3%8rp zmSyV#VqA4H66Y)uxYDCBC8;*C$v?cnP_N=IXURc>IY-65Iea^sDfX}6ZjRcfSqg$4 z5dtSgClr02vT);)$n#8-FWw6gU3d48_|^+tk}Mm{w(s<1U@|x)`An%*ub{B%GV@{v zv5%ZtC5+X!E{YHK6>a%uvfeuWR*Uqdly+OcLhF~C;-!w6Fqo9&_a>i_ey|~8+NL{) zYV}(#bL>Cn(4AQ5@a<Iiey)z~4o?dj=kbUvVcVt<R2AgZ;hCE7ZV@l<v`@_?8-?o) zUM`O<=xq^V`9GWS{Ud=O#+9WmI*f^XF0!s&>Zs$ub5p<gu+?3aM;^W^&Hq<T-)}rY zo0qxbiSfbfd-MDlY7*9*6u<PNHBai{oaa2s60(78CNG>F7?&)a$JN0Vvx`4FhVk_E zFO_ExY<((m`*qTf4KscJ?9BG*|H37;<=WJ>2Pe+|dxrJfkru8NC6Tz*9k=H&Ts;|3 z^+lpf*{3z`XQ0>APhDRQ%{FLN^pQ>TnIf<`fa9%`gpebf;n#$YJcC1hnHo7#K^J^8 zxnBAu*i7*8tvtMMO4W?CcT+s9bC(6rUp3n-<m#$0*JkAd>XV%pEaWk=Y}Q@8fIaj< z6L<6<InOI6T=O@b<w)~5V)6gri?GH;pS!bNTI8M?9;=KvJej#GqsHWy=)rAE#hYed zm%QuNrl)gwjqR6(%wIE2zgIjLXxt(-Q|i_QkD#SBi&n_&`mpl+x&<FZyL=w(cu;&X z+UJUGL)6=ut2kCnmGaPK>N@mf-3|GQlP9<TIQT-JfpvjBtH+Eo>o?keoENsbCWr2u z!tQ_Zz$EX8e#WfdPEyYnZZ#@+KYOu*tH7-T4U9EPViJ~z#gA36W&S!Zdb9DChCrd> zY9Y<p^DRz_FDO}R6u_P38aQ3y(voG5ET0Rqn|;_Qa_8z(o#VpXtj9K;3s^67XRZHq zp9Kl#XCB6UNy=z1IK5NO<4~uaK=zcao#GnN|D&|kz7$R9*?4Kqj;$S^J|By5R_xaN z9c57@v8njYhJ@(Tw?k)S+qdU>D?eB5j@q;|e$kYp;kivWGd3A_M=`!uIKs73X0qnu zYu=Mhi!a_Y`f$4S#+9sq8Yhm8T!*dWO>Ze&F`nzJAaUgEq+7<zuRL%Hh&=Cg@kAh- zZ`)@*=Ywf>%kH)Xo>Y6!zG+9pmI>x}x?XHBoY&N<u=7jiWS7e`Hf*<OcC(3fesyf? zjC8A2*O|=ccSIE&S@3K_+hgSep0}%ZruiD_e^b%lBf5R@1Z{W27>+Q<>W6%@?w$)5 zO=Qzhb=0o^;2b1(@m$cJi6RGnG-p)5V1IXlU8KHZ^363xsv7@Qm(C54?yoQie0ti8 zH%g#StY^QJdf<<p6+h;EF1hhGVg3SLhiP$rA6LZ6E&6bI>1p2wbtR13vd={|?76V& zBg@7MWs8<-Cw7^xRlUdIA3u3hrodLoH7~a(Wx1^3%zeS^E+^)dR5UO1Wy)TW%;iVa zZZ1vUx*)RHRy|hgX2FL`it7Y3J|DTZcE^6VU1|$sE^8D#oEhSGe&5aHyst}MT7@o- z(KOKRcq_J;d%nd-=GPXc<&o{tFJI}4*Zc{1|6#jki1+txmz0mLF3|N=5N{3SD{Oxq zV|G60SaFaCUr!SEtcvz>zIlo@XDsTS>N3-BJzjWhsk2Y(frpKJ(g&To4P7t(FLG7p z3OaS6b$#1*pUt&uFE{^r7uX!z)$YMuvErq0ZlrMio4i{^ksnVc+{ug++daANgj2~j z1`mH<KiyC1^R_Ro4mzx_yK?c@3vq0-7g{p$*F0M}g(KT;uEyJ?-xNFw+rRQ|$~qM$ z{@d!{kJG((Gx*meoz~V$J5!e#?RW71p4~}>Qsw{eE;E;HFOOW3z|qcLmmtVpbv)l8 zQO<5-1KW-CGj6GipX+7@rTPWRE_e{S|3V=12ey!lavRF?{<Lv;2&O#<&v>3(b+52C zNi_Y{wZcv9oQ0xAY8+w#C5_M9DqF>>B~w#VKh!#U1Z;J&ODL@QKZ)&rdS-V4=iCQ* z=?ecvf**$ZDrWpWo>aCy=l8YTtL&V|+tdQ4>s%@0ycxtccZ10DM$Y45VLsD+{oPev z7+nk4<<2eBEp3bZc3D<+N%~tw)6m1L#ZFB#+|&I9ML&I2D`QAcJtU{^!WNcfGQqrJ zx@b|bQHJk{iUS2|soV5?OGLw#*DY#Lty(S{*yvs@&iPTz^{tA=QC02?(E|UZ)Ttf$ z83}PY+sdCBW(8hoZB+<+b1lc%!bB}2Eh$W7Dnq-1T1I=g$U~#NSOK;R61|sRIGtTw z&8*OSqobG8l`HuY+sz-nO6sM2$MUZK=)GjY(6oUw-9dLVN8R0|w0jwSpE!DNm=^pL z6a74+|E9!$mWDRnwur8%rwum+!#xAN&Lmj1PvrTsOwXB7B+yXQ&yc}!0{eXl7G?q8 zUIq~nwb+eQSYJIV?`V)va`jmnkX}_V!N!Fx&cIElMSL!c_-6&4OQw?|KZJaDkdO$R z9Hh$s;YsybcAhoHp^ghC%a;T>8Oj$Q3|{)2!}CMQQuCrK0+Z{evMO$ub)D(U{-PsW zt>N2^P;*DN7=wPsPL2ueYMBfAzj!!BU5txtn3i~<_5HNG>*YDQPo`xq$d`DLSKh&v z*Ewy`w}cxPr~f+9KQo~{yr}Zc!6|K-Jt+z^Zr)&1JT5z*HJMqUzt)mL)WYqPM@YtG z(OgNkX_CFU6S8VD|Mvw=Xz1HHlkX72%AYeh7xS#SIqUfeo<IZEPZ|v=0o{5k6F<#h zO||6ubfQ0^Ntac<o9#qSy27+#HIdS=Ss6dsL$CYQ?#wAEZ*MM`Ry&hTczXJm$!fnm z;wpt%es%Pnouv9XBR*j2yb#kV%ReM7O)%TOfuk%S<JgJ3O`5%ne{y#2Xb>rzpE!ZF zIiN06VAdrK);y;LHzESsg8S}AR3$u||9pmqfK;#8PK6sL3nLxEwrb3K<`Gaju_5ro z%=<G~vnQ}zNl!cYvwvO!d+Z~&@(=N@%yT~d2z??bGULIV`<kLY%?o5^^*&*fRoRjH z?8aidR}E8Fh@8~y&waqQ!edEd!T)&gmmPKwIX}-}o!{W2^v$28C9(N&_6*DTP{I7U z77H(UaH&jD<G3~JYP#>npS{bEE^w}5dsEJ))YY475P!pRq23qHR<~srUQE2xxOkIh zQPl-jKds*Q;MzBg>;+xDH(c3_f3P3yERr+J?o~Hi-k$sUMTY0K6&Fu1aGYXz6}<ey z4Yu<?dJEI$7S7;k((1jG*_UxaxU!8SGiufR^tQSLleaI6n~GOCOBt};jLy91uNju1 z{ZqGox=7tAhP?+Wx89ny>^u8Bsot9*T<x=Zvww14|202<(sF?)wc1z96BpPmHCR}4 z%kTUxuBbL&J}uTyC)UISH1FHhf7MN`L8a-_wEyex&FW1!-p;aZ{gq#AD_(IHA6U=8 z-5b?jr@Do6tyFKQ=c-E*kt@p<e!8Jh$FwSU!bU0UIH}zm3k3bwZdkMbDR+@kworP# z|Mv1ugZ=_{uH0X}vCVAfxn`+XbKI8dop*q1>nzsC%h)qCS3S+@+cZJ+a@4A0%N;pg zxYDN1KG^BICPB}YySMd<vsaeuw<)Qyt^wy)i834TXFQA0pS|E(N(e7^Z;NHxQzH+F zcD=?d+u2qTkAt=>uUwHEF!OiCB&XY1;#VWtz55G`HY>cYb_iK|s(kbB3i-#M7NneF za6B%bs>uDB(c)-WYS0ar)B~Gxn>fs+n=&4(GrrYw>@tVZ?f<j4Z(r+}AS#gEXBoX^ z@y=adTH@;0^fc6}Q-3evlyEe!&UO6VTRMBg?;~5+PuaaGf!!#OEihrv`>gy{v-LM5 zSRNj#=15mt+Zu3q7HiFhnLnC?HYfC*xy73EVTOVC#+x1?vySO+&6;>vd~4za-;Sjo zE2VoQ8RV}m=1Q!dH`|Ttxu)PQ<w+S00SZzjs~03kbc;kB@;jx~f8J>|#~aSP4{M%H zT~l*C_p?M?;BT(!mRw(dFK@ZBb$zt>SCPoF<NEU#ERl?w+IeC7g%=Bqmn>PU5b4!z zQFeQw*9(sOL2U1L?`vAJ@)^g>i8I$`XvY+^q%;*DejV-kF=)$E(M9&NEua1PUz)O% z`=G+Q(%Ch+AJ^ENF<q@ta@%wX=Tz>`Cw6?ExZ{`#SN?@HD+Sc;zIohQQZ?PQian?A z!E;&j>Rrc<Y}y~8npUuRSv%Y9sJQF1mgNRm?tNK3k9%R-q>lC4%kPREw*I5h`e()k zfhmEmDn}i-;u6@Hcg^$*XY-oMn!n|!@0!(Tw0oETu0EVz{9UkQCo4~=mHG3gBTPn{ z{kzQH|1NEkR@n4r#<D80+Q}#1cR8gra+_K%`5kg*t27(W1}+!2to^ey`%N--%xvsk z*<WigFKy<cVDWG!iLK(D2YX}A-mGBDT(zS=Qs2d9?$U~LO_@BBccycQh1clxuil{W z;`rGw&Hvc~4;;FwU9wGqhasoLrAM4QeV_6!)1Nm2owWDwP~h4*XV&7C8@?H<y?ry^ zv7wS>+LAh}t$Jm8U)?e;J>=;2wqNYC@MYul6oIXd7d+obO*A{RyVi!s(qUQH!FByL z^F?Qg->#nT%i$pT>cFkTiynw?m0OuRf5Q3wRxuUER$CTa@#a-HG?mSzNB`!L0=K!n zC-0p9bf+Ofb4zq%rFnO3t3_pq)k?Fdo_PircjaWgy{7g^ip^|BU8OnK$Ew;ej_$68 zg`Zj%Ia?*Dt(e-}aH%$EwaCm~o7>y1e`{piot|9H^UpKx=m*ij#zPsI28Vf8FKJk^ zpx|(bq<Y})(`$B^mlpkxcr|;W+nhk<zw=j3TPDhzP-}g4XTfIgsPe|DxcHjLW{&d6 z3m1O8ocL^^oNDdPM_lO{>>f|DvPyML+!NXURZi^GklPx4v8L^&aO}d36K-&F@w8<x zKYZ=V!I|Q0n|W3!I8`Ly{Ty-eU8Cvt?RNwgNAK)CkP~fc9uxQQE~|OW_QO*>4+rR1 zCwZ?B)n|w)KF)F|sa9@&LjcpFmJe(#QW+vroY!wCro{(YW*1l*uq3!?on7%_!lsDy zyqqN`HI_aTEEUbzIo&}w=<`&q6P@!G-1#)8<iqDa3647(v`jxKbD4!~@O?A6wsW6l z?=;O=rzd;*Id4S&33N3npWx+{Z!G<P|Mf4s-ei@qcd|JthVlI=-fD8UKInc=+x_xI zHRjt>#8Qr^tls@9$hq?F+Qo~HasQBwbZQDdSF!3^MZLO+qo8h(`1GW0?O!!@OVj2| zyU~|>F6V;J_3vrvPK$f?+KLoh&@Ejq`&q+eUV!K~6}?3bPuXXRf4O_GLhyXX&q=%X zPD{)3oh)UZajcpl_@qSc)j8Mi9h6L&t9w<kWKXdat8i?b90$+&sJQ-12WOYmlufGH zmf)}_tayKT$%=-K?ub0r_6B>G+Ud?+J9j<5W0`*~S>Jo}jE|`zcNcNq*`zj+q1}4p z+zQR^8|shzifS9qrQh1)p7+UJ*rzLa-TcCz&d)pli$^t^x1HWGY305}H}y@=9&J5p z>Kh#~)7fB_5_j_1-Am4%dfMxG=D?wK2?|k)_8vcv8i(I}b|cX1&WXQwyA-rbthRH1 z<(}F0x%Vnp?&9v=)Mp}ouNEXYE-}`y<Lc>kIPrc$Cr6&b%`2;RhTRq6^_I=M$+5EU z%;|Zrcm&qfadv<Ek+3Sv@(mwXr^e$IT#j!)aYY7}f3cnsI<;T3mPfmFTBi~B&NG{T znWX)>H=Rdezw(_EZ>*huu6W&Z_S>-o)m*ny)+(G1Yuy<0{&k=0vXI#9?Gp~F)~uDk zq4!qCwY_TB5{A!d6`YO@kC((O=G33{%V3}T%{?z~`W%mDyS_?f?*9LqmhgmLQso!< z-W!$n#bbT{!}RN3`!DjFsPR>CB;9o0B^BjAd&+66ES6UB3jGV&mEYE;xu(CL7PhK< ztMyT{d*5567u^$>bD*u|f1>%TH`A6y1$=N>#&o1|p<B^P>!T0mEQnX@)nEPN>hy!f z3ru_JISZneKUq1+rRq!U)WFZ8WhUpJ_1#!JtuwaLYsqv5j>M)W=9ISfj`Zg4#MZ86 zp0tj%{^s<Q)RajbbJ`}QO-fJC$jn@_Z0VAWjHx|Mt5>I{E?S%s%e-Uft{su<_U&(G zo?S3y7tevF$TgcbEk2Q$n-Q~Nb$a0W8_hviQ)3V0X70#{WR7$^zcYjRfaCJ*J7WX? z$G&I&^6~Y}6S-eMF@Fl&`$^IH^Yaj?%H@luSea=g%+TRE?2;3*>dK-FKKV^arSHOL z^)+3ZGxMsJ_sq^rKEquuY-iU;Uf-}#b23ZHgpLe{Wsxr0(o)WP^{kmk4_sazmROf% z#Jv2nif@3cp>}clk`<Y@jdL|cQ?E1FW}bMs=(*?;yKu)jlTJ=mU93NGi`KH4FR~g| zgs#-#ayj-O&$2A&#NLOd2Xt;#Y~T0y^K|cfYuCl?F5@&xf3H;W@0sS2^qW&xMs4E@ zi<w%ue8H)vrXwmQTE4SgmtFW0c}4ZCyzP2+U$$w>BJ&*UPAzcM)d-e!(~SNn^|MW| zdA8#scm2o9dj6kXa6#(dL(Q(h+0P&3_l59r?q0npfLGCW^UBNWezP?~twUd*kq>$H zdYkC$scWup3;OWswsCI3#d$jO<{Z4wz-+ZVKy&L0M=qoE0>fKju{*9tI#2qm8j`>~ z!6~Bo+}Xo3wR083T2uZmX}n=8`|Wb8h{~qqMO_y2b|iXiKU&6R`dCLuMfp>Vo0Qqq z(Bx@ysWYCP@=3p-8lon-)lgI|?e0;Irr@(m-M;EOo!qp~7$gZbc~(s1RC~5Gbh5td z-gGwc9t~FcnxZTw6&<0l6I~iBdah25c%maAnbz`B=yvR<9Tfr*_KigyD%oYh=Y5i& zsb0^RzwwZ(Zjq#muf<N59sj)-KAoT}WO}(q?GA(9D<?kYSRK|-OJ<&Fl3Jpc-_Cd2 zJ!)Ot9V^>1BV%jp=hqvzt9WZg^LIT<vJq7b69_BsHR4uVT;p|0a{H6i35yp$oI0_9 zneAY!dGnHm?R_<ClfuL|><MMtbAV@pr@Lw1&QP<$rjRRz-7bdDlv01G+)>JuWXeC> z@g#kD^-IUEa=JmL##||FhqC6^|EoMIwl3dcXIIO-JQl5GqT9>wORCPk^mv&`K3Dfy z>B3fT&CW%)M42O9HVVdlKAXgqlEeCq-SA`JBvt{@Wgp$nZk?H-lVrRxXsy$%%x~If zPr6BK)onbw=G2ajS}mL8!nV4-NmqV2^}kofQjsIsn&);|PoKcWb(1%Tg?)36#%<k2 zXBxgZd0yAjmYm)>Sus&a&7jth+0uH3%MpgD&083+C~5t4nWw;0(da1@!_yIWq;yqk z;Zd>6Pgr*_v$$zAa4(uQ^Mum7PyL#g&$xd%nbDwny~0OVRns^_p+wX%^!j3rQ|7^s zzu78&4sx<j3SIpDPWj!>@g0-4nLm5;u;p~<*^urlK^cJ(?{hjXo!hH<>S+}}_c4`+ zx#c$=bbGH@!l)vCQ&%+RN3;9|gRK<{&MI69I;xRz&?fN4!9usqXXl^Wz_zG&kwWdH zF2!{%3k0oFecL}c2?ca?id}jlpxQF`b&v8+F*zm9w*Llm6(>zlcQI-9R^2mc)}<-S zmT$PA`M&V(Yn8(8zcaj20;bG6G2xnReqes6<?Z=ePOfcFe6(!KGeo6UC9`L4d181) z>)MBJ=DJlYR(0-r5YdqIc=6gl4|&Qeu0^CwZ57(ET)2J(@0tlu9Twf~ZCKGUKjfa; zbhp6OX^U35WruuQ%NaC5>+*u@j>kI0t^JH5E-gqn*4EbLIq$5(kH=n*7*w@h%{^EW zw6nWl#d4#b+=3>DEerV#Pw<>vxzgKf%0kZSNH)<)6WUB|l8n+dcFLbp@;wuf$X&SN zOhV9^n%Nnr&;3$7`i6G_%koRH(LN7-4z*4Y+j2(9v?=)P_cKg7SEQc&4?nlTJ&t3o zzd*~PgiGPOw;jnB&Eghauqc90bI-zPYng{(Y&-4JMFrBA-r>4+!`(fCg<s5GCiu=b z7l%n2A)@n7O}nzgVN%Y~OWta&ms;z-D2GINWG(4vZ@Dpj&8;sP%_@R^wYSU;`unOT z$8u!_Oup$Y-E^pCp1?Dn#gQ%&WuEQvGKouPy>v>l^7GZ(l4!d2rPYxSk5~6xY&EYn z7hbg`w}ZQfRqEXXHt$PG{);ahHhHHalcMNbqh#0`ezMSgC-17{4;<|g4F?=tin5fG zb=^5zrgN@HJ0vwn>*$prMyXw#`59FmVcwSuE^_9%SY&KC?6Ie1!S0CnYwL@0rXTu$ zJkTfe4gZa#qmFmY^qf!Sc2Bg;5q~GlSIC=}v3*N|*ZBhWg-n-sgiEP~Uk$qAIVFGA zvc-ym^_+)26-8%GJ@qtrx%J((MTd50PgK&|(W$L<>XiIDt9KR4E`|O3YBa6>)FK`8 ziz-RI(+%V9F210XD(>--CtTTBwBg>=))^N+8dpkYeETN6=x?UCt;SsTxVTfRH&=4o zrwfPAf1u>J{gF}f#n!F@6UHdM<I{6vB+_*6bsJt5y0GQPmiZe_eNB9D&nM&YCe3@- z%=esHr?lixb+%=3S4@JL@T|zS&jgoig)T2UROpwv>g5W_!)nUm(^EJM4gK3gHS|BX z#3V83EjiHe-zZ&?J@;gz{i#25W_L(B`RN`GJo|yw>iSRaigU(uU+ORzpO9=_ay6_p z%}}Dl;6W!(o5#WnHP05#I9Qv~(KNH!Y&xTjx<l?nKY=43ud&QFJH6yolSmPRiTCpd zYGqPukFp$iwYW`{w^nYlqnx?9aZ8}Z8HOp6ZyegJm`%^wPc&A0wdXmf#KD@iar5S$ zPJhiMnaIR+z<BAjK(?g*bdfA6*ONJgEB(^4)3085q59{|bNP9Rtqaz+rQJBD?m6wN ze`p^U@6IKhN#}3g`xdutpX0>mHqwp^Za>Pmd_0rY#60IJyZVkTj)4U&;x^}*-+$ip zeouj~NX_}QAKT}fW=+wz`M>8rSAW?N*}j7Q$$K8ksk5)l-z4uk+u7jF%Fp|)>p~`f z|M^7j`wl@HyL6Vuq}H?#hqN9s3L14=g$5mnb}V##W;C6dmm$9Ua&T#y88fd{D&HY9 zi{EWVF(P7Ls&r(wMp~Qa&${V2z3g11ZKGBHVU?UumwX&9F1eV;eQ4#5@8T&3x#aph zm&c~`Z_u@CJoI_?oomaA4{-l)ZKz+^z5D8suv352i~7Fty%XyT4;6Iu^?Iz(Un|q} zA?CgOyh~;=KaTJI6n;$f{JZ6zUyZ$UN`F+}{&!Bo{KrXGy`sDC|J~0n-*L7$kL})T zn+F%4nIEz@e17A2y3dqZN9Vj<^P!Gk=F$JEZTrqv%8PlYFBH*fzbY&Bzp%^w&VB3W z#V4=ME4IBpC;Hn}R_4oVN;f@kc;S%!>%n4^NiQN|uQ1$5+rePcJXv@10bcuwEMHo* z86vDL6<Aj+v)L3-e59<dL@YCMfkSn=OzP3bN#+#}fn29Hr>}NM4-*WoP?S09UMc3> zsI-jpSXpuHw~Dg|@|8KbraSNyxpAIt;QBs6{IMwi?EsxcDwZ}o%8#^hmQP4s6Jq?| zLH^dJdXp1Eub(<!Hn070EI%u}SonI~zUu}2+pDjar>}WdamBr$b$Z)*HHNbb*p<wL z+_yTsJeVVVL#~RwsNzO`Sz3)sxJJ+e_kxas|6&Cv%Kz8y4R34aD0r1#<b9+=@rBz% zm8`61{F5XUBGuE535w-z%S?HY=9@0w+F1HaDN5cgiv5IKnnMEbinR8$jEn<K?pK9Y z+^A^f;Hop=`jymGuU@S?QAqM|v$P|p&Gib^i1d1Psi~pm_D8b!E~}m?z@@X1%TqvR z{R$gz$HKkeTqTRyj&0V6nZUg#i8s20b9q3x;c>3EfOO?!y3r4tk4*CX^dU^*vD5Sg zeLuF9f8Cb;v#jE~MWIMWEk}4oCr8cU?RAwJ9o^e2*so_<xt9N5(Pw|KdSh9Eut4|v zh?=$&1!~J{Z>!g=xyG7(KrWS|ElHz*sXg6Vy|8O}>t3_w^B(^>mn7*hF#7#vQMzBk z?OWd2rp7bNK>WO-Sgx3AaCug4SX%mqa`lLyO$k1e!UK3Yv|BHx)f+U<P|$Qc*nBZ; zVz0YqtP0QPh`c2W0v{{X_N&V;nNa=8gU#15r+>R>T|mukC(ac&Oy(67oSNQJ;pTWg zm4nf;c<;3AZ5K3_FXemRP<c%$S?H-!{U)vCO^t06CLP<sRo7s?T{Qgn=bjq&6y=Di zJK76>byUA;Z;#?AyslngvAz1jwTYb(lWK2Ph%C?NOfT}Bl4`MJ;+gBMd%w@DUQr-% zGyQzpB);@X%TCTdw!=oaBIje{q?{Wz8x9%XI+Ee<BC#lJ%I`p~J<IqWF#Z?JQ%jq+ zO|)%Wr;=l38iVQ?f!eEP^OTb_*;6wdFR)EFsBmuKjB`lebfEaSS<l5X{k@8T_KIAS z9`Mf(k}fZ74BVl{qpqppSuo=R`%ewd>h0<C7N~7JVI#7m=IoW?qwd|OpU)3-)S9wI zlygd$@kYHOW^<k`0s9Z<rW<pK9WFL|k-qh)*OhPSUp-SECt6LqBy#HV%%5Vj*p|01 zjx6G~oFpVUXPM=s){G*iofBShWJ;9xDsG?1H@%Iivi+ue;V$=C**|8>n@<uAx07Rc zo+QBSHc^w~Vl9J^ghEkCPGG5HKxy$5w$C?(E@zguPg6`Qn-c$^zBN(Yx@+dnGPaZ7 z|5tod&C0jp`X?^Cen<1mADqW-WG{1Wd!p9(%0O<FLU-v_F1hBF<=0gl1kE=XaaWYh zvsn>Xy-e+coA918)yF^Ct{T?rE{st=I7PXozo@*aDnOv7+-#DP(2Q_f6-A}(8zpBw zR4RL3oPNWp+MJi`Vd+$s3P<-OtD~xG3fLoBo#z}dxyCx{*NN7MT@&LwI$9;>a9gfp z)SS?AqAX{6-BHQzv&YLNzs8nEG`@3hJ6zuOGOPIbwd@n_HQdLi>T7bkOsQ%N3fRUh z*t0CnBRMm7+1#?iIU!LKw<a&oG1GWkz?S=A+0pdglnFKU>Xqwvlz(@qpPrC;DUgFl zJt-`5+N2Hti*>v>H@Q_!QEGZD$#-YkjNM-)FGz?g{<h0_Fk_06CYyx!;?l)mw-sDm zwtVi+rdqeYOA6e36|0{HFMjpWv72l1`Utnp57;skN@iKPr8XF`@38y2V8&YuHBn*B zOHp}yCAh;TI_QSw&e+vr$`V?ZF?FYVZTgJ%C7taF8f@(9Y}pk>P29O%KdQMj8QQAb zu9&ZQ_iDxetZM1yt$SxKY?jJBymE<9c<mdn0zOHuV~31OxfCvFrn#5zS`wDV#v=CS zV~${UPG$z%3^mqen>y{Sh5N;=6L#gC_h2(-GPyjHt$*8G^NZP&7VX%yUF~rhNA0s! zeVaw=%~rJ}>osrT;yU_&5qn1Z`LOgg*Lu1vc21hS>U4rrwRZ05ExXsvTqwJG^^R>D z&wnlObY+|WiFKPnNoE22(gne0ulYD8a>%jh`wcDH8uaa-NiOx`U~OfE#z@(%Dtj z?f*_pthv2ZPIKaI_Bky-@-Hl_aO<jVma0iRQQg@Q5`Lr3M{4J_rwa~;&w0{bXnnoH za7N9ciL9NAwf6`}EJ@RN;^6v_(S*%dvrBp-=gtbzOr_k!-MP~>e<>AC2+P&EJyqZ% z+oWl11r2PjlCnVo>6&hwldVKKPEDJ?p}x#0ly#x$M~1!D7W2+)Y|gBi*E4H=jayCB z)I*cBJD9_BpQ_hfP*;?lot`<TpW*xe1@C`$trqZ@bJUnmL?{2V=RGzljjgUl-0T)# z=7r95pPu5mS22{MX>o+bEW1_hb=C)$c&>X{Rd7hMd8y5$Th&V#*lWJKO*&9sXQkej zb8@eYPth8k+&$@gyai8aTdX>}qVlMd*14bU$C5G?nlhgnWahPT_jI*oX-qgaZQZeJ ztYPKCsR|6biJNXma_E*gUSvDUILZBf`q45eme>V-%Qd)ep2*quXwiZV(;mJlF8w}l z@dO=*PwAmELyUJ6-g{m5GVnCd_kvT)cj)t+GGfnl*|RRkquRtnxair=ugd~A2PDKO zo6K_2`e<Ofe1q{;N3KsF*gBI192UySv9v$4R?GSNzkEqXxz5KB@m-6bl`pNyKIF8k zPHau}fzH!wdup0*tlwTU>D0;{a+TA6dDXSfnB=(T;OX+qqB=|aZk^-T$+isE{d>gS z*F1|cA}wWGrm>K;to6?7X=gb**Gb+vReyltejuBnMMj{}?xo)r6s2+Jtm=F=p>)<W zj$|&Wxfd=xom{iH^1_j8DwmF{t$mnOH?6KVtb)INj@b3A)Ei~HPpY|lPx9+62<41o zyLCu)`*csArL5{g%sIxUSCw}cnQiza(ZwnD@4`jKqg+}g-NB1>S?~1BZs>ZMW>j20 z)%WmPrn_rR-frJ}eWGmS5)Snp&Q&$c?h~BOrhC4<a#`lIwQf<H_5ZeO<!!1f3$w0^ zXmKtMa}>+EC2^@zYb}S#gM$o8vYRr0mKPt-Z|+$4bl2WUg%#xqoBWR7oBU0tTS{ya zhl#8}*Q_$(+zre#9h$#zw#Oyy(e}{HK2h=V#qmTNbG~otlY+ubZuCgcnEveZii~tN z?I-N+uUi>1YeYFVA6xzK_VK+;&-Xn!&ZDqTG-vUQ(xo~=K>}xs<U4ivW~rJ89MW9t ztFt=AVbR>%s|x~JT@Nr;cg;9pvbeLgru!~~<tY{SJ5REXw{YxmiK^RjVkw*WT|3#c zD=TYReUJ2o*Xnv+*n9KlJ9T+kud<}8qTJOb7c8^f!lyVrp7}CD^UU$Ro8Me!F#mtn zLo-vP`hJQ++VqOUJR4Y<6-w?)KInV4qTo#HXV0md%%jpa?6@_jU)jWB(O!|#6X~}P z*#szF-2GyP>(b{>tsiwn6sVunZC!hA`h>ckzpNL+oIOv=P0Lb@Z01~ffj353Db|3y zT);8o0sGx&+rBcY6h78{uqjz0Rc5Qg0>{>#TaO~bB_Amq?>Ch_#q#}f`rN0^R!f%s zoV~7kiI>-rkYBSe$K0*AJF9ekz2l!<xzBgC-F~Z~US0oaPOV8p5?klf1!)g`r<C1# zc`@|R(&Z2O&6_)Cugjj8G5K19l=cfZc0om_<v-bF)uSIMOwSR?DHdJ1?iLSM@$v?h zX__-u-s8CU-#g1EB}<!&`}z8bJ9BjuIoamEOOB}HtqNI~cY9yhgDKHle{bi^+nu^Y z!#sW?4}XxyC4<PtPqo4tv)O*QUXkLK3XZIrnYue`t!Bw=zjgWZZ5|1|X<a(=;N!j} z9Vc$s)_!~X?s=A6TVu?+)D?G9*LSSbJbh`KW5r>^l}TwyW*VOy$_i#3esGXiv`OLG zt91`+8t<JpnelqptsHJkPLn0u&iu`t!c@R^_6{qTgv9NWX%{E5&u*?3Q=k3Mrg_V} z!c#wIzcXLt|Gs#RCHMbjH{bkOP_jH&=xlS`g}w6v=G-`yURB+1pOt^4V4|nTd|i{B zzD@4~7CP5WYblEU6grJlee?g|w>$QiFR5H|z(&*UYI)$+t%VJeOZUj7+)xcUa64%B z%ZY02LYH+nHZQU~m~>(mW9O2mb$2A!wAI^vSMZ;h$j8Cd6wlPs+SbP8*3{F{+M3p$ z7S9};8OzKZIcw(3*)#KJ2F{EPij1`6;c;9QSe25V!jzJhnz|(|r7k^vdrE40Mn-yC z!IqYt6T8wfn0X>sEuR&%DroMi8<9aV8IH{9`Kxa{TC+NrIW;3DescW&{b?V!rn>Fu z`Is92=A&CTQ(D}=m&M1s#nx4%-<aq)`SqE(5!*5jdbYcXZHn8jbgHT4{q+OxZ`gz` zrKik46wT7O@S=NL&+c+P<&BS57~I<zlluS3%O1(%dAcT<O&_g<r>xkJsMY#WYnwrW zjY)n3*XGvAVMkIvJxE{?>sfuQLig#xBU=7Tc9$vT&T_R5y1&q|Kv*+r$%*+2^)0_% ziW(#~#qI88`TBKtM#7T)ZhsENPPx$`u{-bXx!gD3uPpalWaap~#Z#C$YxTZ`J3~2c zY~1v#!FQI4#uDpQzd8)PCu{nO<X-ff>7=U4zPjj|gn+lRp2yD6W4Bp6n@>;Eo$%&V z15ecHNBg6C)UQ~TOb*+y;N0r)|E9ZqW|<u3nPoZoNcWppFV7XcR4rL8yV^4U6-)Q( zr~3N)MOseVO%U03twDHW*tJr2$t#yU%$^D*=sW0bA6&uYxm`keLaY281Z%yD(P zfm?4iq=!!RabtJg5g(c1I_ZAYYRR-|y}wqJE{>UW@~DTsz27m334aB)g~xVDTB^hr zm@+L%@;1wCF$>|lFxzyC?PE@pn=6D^oTU@L_W9*qeeCW1e@gqLmaPj8s!p92nW>r= z`6um85fjVe<K{=E7B8Q>X2-(>l|N@fITE%$xN<sLPgbcX!vCqu{2U(D6t*gNR%bSG zW`(En5tb{>d8)qroHRLBZ&i4ktd7<72MeqoZJy=pJ1>JHJD$OFlFEy%hnKZTxtdB< z=CeFy4L?-Ucuam;%0n)<bcPv6^fMWXm-Sgbli)9(*tm4Eq5PrGlOi|$|FP>@--~-E zuJtw=zSNsg;~OyDz9V({iG*ImZyx);sF{Vwb$(qseNWE<Mi(j75TT=$x0W>B(OUL| zd7ke-(~3ozTTe{qS840y_7-2vv%x?s>fFp`vsphRUGyUjV$N0F_>(Eayj`F;cpb;y zQe&fi>q0z^9+xo|s8qc*X+q{tosf$GUdMw1&TeSADx@!%ni18R!0T(;As?s8f4uk2 zsfi3pDZd5Jt$C?6V?xu7Ppns4zdl(d?U*}5E-1wR>G6!ZKZXucWgM(Z*3v@G$7&<C zihesEC>{J*d2OlhvM9k_YC_vz<(<yWPIG+s?s>`0P?ZEm;j-(oZca%ro-;kKvN~Av zUv*jUrY)IGMQX;$!D|)tk9GLlZHu}(aVy)-?Qc|-%8#Y;%?Ysd6SL!<aBS`)myPr0 zp0YgMn)$|7<Eu*eQ;wx|4vxBa7yfqb4QX{=S$zD;%YZ2^QlF=mACuqhQT5q=hl*f- zm;|S|b)V`&p^1!qzb}fFGb~=4azRz_#EFTGQpNi9J?^T!yZU68EfT4z$OztZ;!41| z%?1e#?wT76ZW)BAOgp&L)yY!o$a;@W9GfD}<yc2uzgc!f_S{#26343RuiV_1xbnCe zt_bdl4qCo`M@vda_lF+Mo@VLLjy1sts!tY&u($V5Y4M5A2t8ZWc)&Q}kWuKSyBhNn zdwm0xIW9>2Z}48`#ux1IkoUEwbJ48>42e6`IiEFN%lIUr)pp`YwB+Pjk_SU38lA`% z`th(ye3_GoEk|;&l91QK9Zb55D<AT$XP6psZmB@b4ILx%mq#63zKh99x<o&EbT?C= zbK1@yPdh5L_*GtPl*?r_()`rO<>GXr`!mNoo4J>mjr1+o%yM*54zx~T);-Gee}|U) zq1}C+MG?w>Q?kP{J+D90Ywzf9dFQcg_w-3qTn@@BUM$hCQOIUVIvs4$!+7)eY$>+F zHVqjURnt?hQEL{7aBb|$QeEVG_?rleby^dn<%=HmJzM7R%namudc)<+t81;6TMnih z%nZ;MQ<@@@6rgj|#lPnNnSeDWPZou*H#y`osiCd2$E)RK#z|R+En6oR<!W30boZNL z$hpAArEh~Ui%rQPdy}&+2C9Xz5>ppWC|WluAuafbFmsrY(U+y_EgFXzbXHFJ!}8cJ z?!(DnEf3pzYM%=|b!?V9blJ{C<Fzv*&(y33?33M?QdT5#J`PWl5R#p@dbatK#OM>1 zJLRSccT_*rx_K>)Bka)X*v869DL-5#m3x#q0t=W8cYNxP$l=yuI(5EcR`J5!mdDK^ zHCUx*eqR>Gu+-wmnI`3akG4BjkNr;-3QJyav`jeKl%Dvo-^S-M|MVH2L5qK}={Q9S z^R{L!X_Q{o8N;HmkSQhXWQBjg(GUNPKcpTEnj^fz<JCdd{v&?j%|DMT%B`F?^9T1T zPtgwRB36|epRegbo`<EY3fY}MsWj}3IPdgIedYE=>RRawW_R>tvg!S46sx<iT9;$R z_4tE_mYaDWvkqY57W~dW=UK^`6ocdIjy#*Nv8!1j_Js7VT{}*@S2#{e`R=ru>z^w_ z+^3r!Y66FozO2YiYd*R~gthyV=@XuF7tR`cw8=aUdDQzj;Q+(F3*sy8J>|YU`{vv~ zJLQjG<eHT7f!#(Z=t+#Dhk|~oRMn0P_hy+IH)x6!)+uc|P#eMGmi3bVn3dV7+?T62 z>@nt=DC%Oce~GWPut1a&*I_ZqU$4c>J+w{sK0fjF|AOUF({rL~LN=xU;?Zug-x)7n zW)<YX$G!fgCbPN6(=A;(-B~N-G-n?uY}+gA>MP%*lEAKVIKRoIJ<&L4*BUOzWAC^- z94Ac|WOqBL^tWR*lXa4{`T>UZaqXVJW4|oia{2V%SqC{LE4<G%a+>0Opwm2f8Jo$y z8FQZS9N_s8H23wBr>zPa$1Us>^un@(oM)bC(#lRd7jXI4Zu7|tqlB6`Djx1x@RW(y zG*&Hu*EdNpWkq|Krjhz|#p6#8Nm;D;R4Tjc=OPYfI}gQXhwV){o75WqG)g%2mPT9> zWL-Bwk@M%_S#m;2=1Y34#HXup&Au5Zuwjb2THK5<x3-UMk-_QzwOyl6>EB`&X}x_& z^u#63L*8q|)XPq9(5dr|snhV2uUvO*x%Q(2_h!CVUKV`&)t>bWUtE>4t=CoVEC@Un zV|8a*;^UOr60D+;iIPP%&9Xn;j2HeWYO7~o$i0y3v`)g4xw&umD00<#T3^~?=<(_y zpHcnMYObeuFV1iAeX3HVoc8Xy)K(7N_YohrhbLRKTzIbI_0>b-sM-xlPu;VxM6I)U zi`qK>9I^3sKJ0jW%JHr(OD4X(JmHJul*v6amTO!yk@BDO*z{Cn@q`TvMRhJccxEGX zDnz8~=z?X>CLQ}G5N$1!-aqHAO2Km363w#Q`iZ&zMpn1d%70!G@7rLpMp5wKxBq;c z2L=BzdMSJk*ng0r_K{minR@UMuDMOZOCE}QtMK3Y$p24GhJ8ABExW*PQMbTysrAQA z-U*0vC-QqO6qs71mN!jTBwXr&v429dm}()v@gc+3P~jtHLXSlhT%Rg1J4q#mNI75S z>lMmL6fxnLD&Li$)e{n|R+i;0D!90j&DvEkXrpI(fxOm7yOa%CyoOS8ObYkRlajCV zJz-b+EKuk6xjB1M<?D&&>gqOImy{(;)>C*M(ec7HU);qe$$Ps=vSW$(#Ma!KW!`T} zT>7s{U7u+9V6xnwM2VLU(z_E?`I)5(o~ZH%r(T$x`Po6_(#MYW4SfF|@GRLBl3B`8 z{N#U?+ZEaUmp#ioOu|p_-gz#1>ZtWP_2k;)hMz+uF1Kk1ZFT8YV=z9{Y$dEHcu}h< zBI4d9uhwrpok6v?znZmO7UgV<(lW_99AI&?T~qN2YwScm4nv)%$y)M)ihm1vWHw6e z6VN`&uB)JC@wC|d{sn;sS8r}1iC2emPP>VFut>~%Ji+Hva^R+NHV>8UM<S;bPJ9vO zH|Kf!Cc~iig!Ie?H}%7u=LL+_ZyJ>v8FL?2ynWc#q0w*YSAO9Sp0VPls?TEb3I$pm zQche*v~yQnzDeqiL;Xi%#T$z(FK^2abe*{Pas9Ppsf?d<e44Z;-N;Z`Xern(uzzyc z#Y7Vec4wc`|3Vo_8i`XA8bg&_3TrjLB({WD<SRs-Q?&ScQSr-WMc0pg(oO9PCdFhW zD%=Tj5DYgDx;X8mYM5M*u4bv+duEZ12ee)rRvDR8&)QLc)~)E@^Rm^+$<9f+P9gdW zBxfz?)R)}u`}e^_&w$XG+Xc2JyT&BB2C%t@vIMR_$u;9UU+)&%kk9Rv?iQC8YIwCr z{aG645?1edpvc)+ExpmCCX;9OGp(%)s+$;9w~2I0-ppuUX8gEp>e9vH%IsGAD<x)E z#O8l)TXwWF-?;U}f{<e~Vw4U}Uzw=8cY&znMK$k*vCk&5q&tL#hG%a#km7f=Pw3QK zI79P7ro*olmY<F6-f#F{xk7Ee`{cg+ABFoe!=D$<R!Yv=E6$m^lc)EGi~F_?-zzST zPF4&Wb5*lg>>2cH++C!8CM$82&n=cccd<0RL~>>Vmy$By@(I?fC$OISSixD<ebn7> z=Oh)cQj`4xTyZO{m>jt$e>6Sg)_Q%rNQy~W-eo!dMNQ5c#X**mo=si_?s46rk#;}z zZccM)Kc?JLlxI}J<`pWqUQyb<vW97?f+QQyx@VeRPo09F3U6zW%c``ve>o-XgTSZf z!HXSRE;$M)F{ycp>%|mXoJcY*F)R*PrCXfoBoY)R`)P&9#k`WmGfo{55M}DGJ6YmZ zVK!s4MNm?5&ku)*7LrUW^mVQN>rcADZ|{)YVW=PGD%^BkZ3~;ooC7wpk2uRdEoOee z%XCTO#uv@sOUr(=<=t%L7YX8Au~7H-<&f1Ic@)x<;y#$!A1_!DBCBI4bT_jg=~S7f z+g!hrj*5e;+BaDlhB&|2CRk(Gd~4$5yyCvp0-dmrY-hynSst5Mm$S2~^sc+S{KAr^ zcjW@AtPv6iW&RY1y*VggtkHW{UHDd3;XVb0eMx=SOT^N?r5sA|EHIVY9;g#HF`Mt2 zqoUgc-HR@%R*UnOSI_*RZ~86y!nEWIY8+2oRZ1r^RZVnw`#_(!Q0~qG_SgpL-GZ!v z1#UAIS|_Tpes7fj8sRm;MdQqlj2O2R)rtRw9UW)feWLPQs^W)+zUQ|7>yOMlc8UD` z>bmA(#x>4~MHlrwtY#Xval95XV@c}y`9kK#mRYM9b=EJOYQd<rd4kmO2kb7!A$g6W zq8Gc8RRXRb<i7Y&!C|3}U$U`WqEg)Ch|@=v&U#r^8ghGHjd3wmw7;l%I3VFwg2*f; zp8FR>bse?N9IRRVG-$;}1>LY^>$xUwvDzcJQh$%vo}AB?b61)%f0kfa7O;4Rs(P{9 z&P4YQV#drL?3SO5|CQJiyF|N1NG&gmBS0+tNMpXjL(5G<k~TYcRfHuOPt>@wa+Q6t zAM2&1rwXiAY}v2)%fnx^{Obn6KSwz{j@TQDhiwr!;1c?OM~$Xhf+A<kw)TsjDH$6$ zoD_SXx8;Q|Joxr&`*DG!lcJ{SpEA!fh>FY>nf043IHJl{Q{a(U`R7lrQ%hBT&eHxD zs3qbhvM$>EqLcg<$3xd$xusbY4l)=qJZf<a_Vzll|I@0O@oeQM%~aYPl4o(OE-+W= zJ7(;2TxVvX<aTHEl?+mk7NnlmVvU_}aNR*`3t=;kC9Sh7B!nmMt7_<nI4WM-ylV0V ziPzkk1}dhD(xVKv_pcJ3S(1HV7RQXWi3&P_^$shRH64t%bkqN!(7AbgeMF;!?C%2` zHqNu(Y@FC+a{Pep*XK?r4+!x+<ZGL<z;t0k*hYca2j-_tq(5F3ZE*Q7w=7k0!fvZb z=MHWUE2SHUCQS@(7Etios5mV^SN;>bhBWKqhisF-RQrVMst3;ByID8M*?*0cr2T9D zShvIBHC7My%yf7%F~7j=ngK(-!K9#VlG{E<YALg31aLfjrLyACJfkn%Z!gW<?69^( zrgVKm_y(r9$sfE=A3c8k#KNG%0zW4Rl=L)jdR9H}^JK0pOT$fu9F@-f3Nr(mwET}c z$hr#|e#x;_GkN$%Dpl~np3AlC9Tyh22(3D5AFNn*Zi?ZN&p}+a+Y*v=Gaj%Nhw4>F za5S6vXF7Krt&U&zct49y-uGWiuWq-Sb0zOok%)+($oGktz9`p!QqVn{=&SLpXOq|e zD}TkW&DT7)HEWT>lT(Wo0#77cFYb^oxN=V9t9gA{i`5jKyR3@Stc6pZ;w5z$7>WdA zFVyMYIR4sj=k!Bq#ar?YnXg=>B==Ovha<b6;b52k5@-3dLJuA*->UJG;XT<eBg}My z?~BqcqbaWMw@jQ^CUyL1k^FDj+lBo9ukbAkWqaTh+9`BI=TpkMj`pI|AoDlNvLa7~ zSxTCe@PDq^6~Ap_+oZIw2loCudO~4F-vdW^`A^x7g~pW;4t1R#-JxaN5{tMyCOl}n zbFO=}j{3C)!Ho*V3+EZ|E}xJp**d9c*N(=UCt9ZpJl}aD;mYK%2kae`q}g3WlEioJ zykTly)9-!wzt%+&z3q3j{GDf9Q`*sbTK-_0=rtytBf=3^b9QCkS^MG1vOS+u8IqG# z)xG0?$JGR;u_)T)8FOo^gnkNeHZsv}Tqq%SG3Fvq)|O+{)mKeo3gp(>co^65=PGgw zFUSrRY;<Nhccylw;X*H?s~VMCOkWlT%+==kEGQb>d^K4pg11KEUdv|ns$^?#mnl56 zj+`#<3XneC#Od2@G{3Q8!9w2UC%6itq8?w2=%1=P{mAtBEj`~E?EX%8_$<*@G|hr{ z%GFI9`;UINU3$iI)3hj6RURGfg$LMnx-Dr)u;b4$O6p9mpB*g0a%N%B$}1BVwuny2 zXMDWll)?T~CeHIEwR?E~izOL&-`b+9s^QNP%-=4;Usk~BdEqk8!h=UI@x1%NdT^cM z3Y`Z<+-`bKFK$mgE>I(}VZxFnf^nbR>)r>Lzu^!p4~P(6w7bNVr;4G>aqHdR$L-rW zWUKFWn0udmcxLXh!;!N$+?%$+U`E4x<^uoY3sW2B@XY*H^pwlH?IGK?3zvnO9{EpM z|5}mbSb@;l3&qN<Y=H*y4?Bem!m2$ATi06LcKiJC!YB6QheX#1$v=Fw!#P>vk*iqJ zO$~FlS9Z%9KDCCv%6c@dVq(9AUdp75UB`LudKK%Om$lt?v(D}Q#KL)fywend&U|Tf zmui|Ee?Z{gEm=)n6^BE4MveXA!ms_={|kG5)JVOUVtbZ#Yk}O&rE<<6uPmPUZKe>b z-)C#7f0kAM?k4?OePZpNY~?M2k&R#Pah?_6JzpR*-F%<hq14ouNmF^nTFQ^L1lLcN z<m?hWzj;Au`~~x-uJ%heJQy#TKHvFm)*`+J5dkUdT_KFI|Et(@TN5k;PcsxgczlrO zimb2A;st`0pP7PJXU!J3FfRJIRiF9r{k&<u%>`N}R~!}^O*?tKdfIOXflsTC9WC$- z_Ntl5H{&_?4sD*fN)~nx<DZxPt~<T`%JJjgqHar^1e-SX?-URE;31}y6r`;0BYHSZ zP>$!v<i6wAl^7*1YA>_sX6A5Xif3wWZSQDeYU*k2`7a#FJZVx!#-vCd9>>5)M;_+X z_(f@p;?q)=r>87yX<NH2t*xm=I6f70UD?jvOH$l=TZPlp+;;6uP0y&xSg~UF)QnZB zm(tVgGE!4+o{YJ8Ds$Dj<0o$IoO&{4*Q;Hr?;d$B*%P1AF1+>0yXLj!OIp@;is>?? zJ-OG?bV%)iP=SE>+G?I&8=Dm$x?Reb@OjFV9J@QcOSGC-q=8GqvrV|-XV=&FGwmZ5 zCs<mGcB{+`{T-xgo&3sYmdV9grrnFU!|Za8#JtsF{SdF|@{RA@t5Ut_bu&+Dm8Pik zUtcr(-Gw_hcWFzS&e`d6_YT`SZ;{YbAz!t=ep;!~D78?mYU}p=|G_Rv5`sD{nFr4M zL|P@D`f`#-CO2#Q-8)ZJI}cB9V-sBSH8APmlwFhFMQyn<#UP}pbEakS@=N}i?=~&l zd9x=fEcZ>);e9J_iLDA;U1b~WKH1`G-_AcBtHiUft>~NJ|JK+kOZjf2+GhS7jg5-y zW;G{WHA*g+crfbz>ifc5tY+HG;a)lW@K&uW3bE}8mu^>g>D5#!c^-)=ejMuF<sKec z%;gqX@R8Ll-C#?Mua9flsTBXft=th0-Uf3?KGNB-Apic?C4TNv2Nkck?JP;@?N<0C zHp?clRbsa3@inP3-hQDkPR0KGyENRO?@8)C7G@7Ym!v?R0}N7u6`!t2Kb+~@^}lJw z6v0;U6qSYXv7G_#9iERaG@sGf$<g3u_{CG0&vfhEhwc6rv#us-Mc#^R6EC-Eo*h%5 z6XBm`+39pQs(7oAm(QiQrfNEUT}kqul8NqJPC=SUlNcH~gSwS!bxls>iwSm}t`RzQ zxT}2ilv}5Dy(eB@p<6d|b5fM@R;E=B2dAWWNlczAq>&${yTaSd{_aE8oD(81rzA`E zcFx=UrFYt8@63x&;-+O>*xF}xHRr{dl-Db!iJHIfcyiu&+l~&tJUz}R@!)08rr*?d zU~8G1z{GmdRVb5ZLWIBqlg-|aS0;X)m-6>)h+_FVkwcf->d#m<G_8HJ=+w$o79KBm z&nXYv|69Iy_<lO{?al3CdTi0gH}h9mgve=eg>Ij=<e$o_Te}`yO}>@TdSuW1g<S{Q zg&dd76brcY*EYPTy#2_U3w?_|h?u5u-~6=J$J|roZCtk3XaA*@FS&dw%_iPjrJG+M z7}t}v^>fm3w)ShRb$@PEhb#MAPQMs*Wm1Zmw!~Z}9{u#06VDc`HhIS*Rd(fVpY*$e zR*hEqP0UI;Wewd|{5q#Sn$uoBHBWrPPbp0X=K3WE9mG{5woWyZOVYVNYtNgug>9*8 zLr$IZ+>se!)^aDsyEOjKk;zR;r+=!88(*CM)W<lpC;3>2;-Y|Zw>wk5#d34E&%d;0 z#wNABg66Y2G;cenuK0iCa&Xig{X-lL(tFe9IazjG`BA*quh`LB$8EA$l%|r=j@u`y z<R(q1ZC$SR=B20Poe6CEPu_@c)#!Y%Mv(Wr#=FdOH*eplD|7g+n-$O?%wgMQr1fxu zy530-=LMHkd%0&i`i0zNn`2SIvyRuxL7a&@Z%2S$fsS6>FVEN&vkr+@&-4=3<BF0x z^~f<-#@Xp%16$B9XVGpC7PW^r+j|c@oXjS8xH|Ty6K|y>Pfx>Asf7g#3!0W1T9hjC zN;I}UYEpLiyl`3H`c1rf1@4Q}6_<BEHNHGU;?T;9fNZCkj1!w?6|=qa=r4M*;Y6Fz z^KQls86uTByw9!_8T_8;W+PzO`rq<O;=$b>t$LQ(Q3W+01&lS;t9e(txx6wwY3!2Z zdrN|+T;Q4JKFf<@2R@wL6OlMM`plvNkA=ST=LvO97d@vMA8^t5K}FlSNN)WFEvN5K zSkyE3&qASuPVsFrMeCEFz1IA#aMC<SnNOf|g?V+?MfRIXd_h7<N!1?@73V1P{*x>; zi}yIBwX3~Nvo2Bl-sBm%hb$yM{F&_A9`RIi&&Amx3zmr07M&O0p)#}g+A*)Vh(Px@ z?Z*~<@CbM*a^1T?X~tn!?;yL#vpG99NnLsKQepqgd&i<IxMrGemfNf#q?mDh!kmXs zt-qBVsXWDg?!3&(>djLoFzlGnGEsMx#1@HO36cM+dNwhz@};~uB%9E*;pLY14K<#Z z6*D$XPf2?sSEX}go`h$Bc@MAp@5tF53@-fU6^_!L1<rF%1ZlZ*ws%$rz35zWP~B<~ zf2nJch!Vpl$1IJ-Ri!4b7CH-ibru<m*9Wl5+;~34;8Kfdm$RUx+~>YSss5AFkMwTy zSj5$u@jiGTZ=Q2sxwzG<BTKc9sBQf6MOZ9xnTKifg7zfWh3tAtX$zXB{SVWa{;(t4 z;-O%0XUJt~H?OZDdX6*l3kwDI)E0`r4(tf^xFor<i7SiaXHSF4bDz)@L0|Dn-Y3PT z_n0qOp?oU&`u&to)2%LTte>$`GV@!YZNeN4v001H+sh_S`hR_yah{Fp`63ZE{~xMZ zeeG9IeW{zQ5zN@>@osVo59dy=1v@g#raoqyA{H)Pws2*|o=$g7r^|ds3R5KRereyi zB3)x*)>{1;LamN+iE^_$UagC_kz?dm-!<`=l89`v;I_P9T<a@+m2Y*XE318Q=6lYP z)~xzjVZnC?!IhKL1#?<M_HCXVxy&W#Myq~Y?!}oa|0MYwxgv7qhw}QX5xS}2g%cER zC^{DI(3Hu1;Upea?mqvIBY)t9!;;m8+-F<TSLztH*D#pGrq7$X;qhzN1qL~LvbMIw z{@j=loOyWC%8GBUUn9<6vMJHfe&i<ozH4UOyU-+8)yLevt9;$A6t+jN_^)h{eTPl% zqJYtfiC$HYF5UXr^(Z*>QZrBef_GVGHmu=L+%Q|*(^*q%ljfR#YggJB`kJn+)@o~b zp}g{oNcVE}-nKSn?-eZ`5}m7$8wO6-d{vz_^R>E~f1rzO55wk3Zv#$UR1x+N%RRq! zuHgBPOD@$h9M?J|s?@ei>{kv;X114!n|*%ohxt!5dbPOfG8Y6$2UWd2Vc%rNE6~bp zSv5r^@j2H7$D_r8+BLUAMGT7>&)o74J5+2Ve@fns>3G|}&r_~@yF6rECfwG3<odd4 ze=p3v9Z{J2Biwz)!eeu1I4^iND``dJ&sF|fMGX@kJvRJy<(9&>XAvjzUTE%0m>N`h zUhMxpi7K79oY9RReAboRjdQI_oD_ESjZ9gEU}KOkf8K)97~7bZg?y6)TRvo+5=m@v z)nJ;HAiTWw$-;BuxxANWt1O&ax-a;*kEztPavKBJt{<CH59Xb?kgR-`bJBiJ(bD-Q zUoM>uV3&Jbw(vzni`@0<Ya2csnZ1e2Z>r_#gvUbP1eL$vy6>7=Xjy!*e+7qvQ(j(+ z-?6Rwe~*1W`@D>6Yhq@0h}G%m0%m1~?+m23rIftgDCPK3>RNa~-oz-zA5klg1t}TI zeZO9t+Rme-WFEJ`CUXMod{g_YEczGSWzrY0X9xP08q0Wo^xJd6cIR``>b7E?M|>(@ zjSMgOpA{4I|N7sgdRZLD!|0P&!k!!wZC7cqeI{fm>~rOKdTR=sOuEl(BcZn`@t2Dn z&IbBSb19oFCdg~((>y^)?OOtCc?mD8tW9GZ`$3;nNB#v{ybLeJK4nqXTBz6*BE$bx z@aS~S5)ENP7wf6dO*c>X>2MHUDyTL)FkB#6QTmb6X5%8=WAbio?u^Oa83pEDn=>yM zM^!xG%PXvHTgWx3!M&s;cb_wxjJlj1hu-F=($5|nT?^y6b%FI-fqBXX)m2NP|4eo> zXygfd82ssZ(4NQKuMErr-1WO=q^>W})J_qf9jda_jXS+r({!ppYDcK0V!)M+^&15Z zssy+;FA#WVrm^%=V%UuTyf!W7GcVdz9ZPICPUH^JWj>gf6DB-EN%Y{7_`(&Hw;Qa5 zoE>&2ilt6qsbUbRFVH(^rnN)aME;XfUXb&3vx<_ZroG1v1)aiAF818~oMYR8ipN4$ zdm6->7kYRtu@yATe3hzkfKlu~qU+|Rh6PX9zB00xi-_elX4+rOJf*<P{GgBVa=@H6 zo$@2n1>Yk%g<Gw+s_7_e&YK~8;+mV(WbWJ3!gPz=ekOAtbrRj+#C4>YZ;ggfN1BwV zqsHkM;xm?-+&(DBY$EzMUG8W~rTj&g;-zt#jI~NdF0I1iFH9tV7V<49F!|BS-#b-u z)h6>T(|b#1njSR}4PqCp4RX5J`d>)B)5N^6;PPXM97etFVzv3DVihHd0?V6(lDYC1 zgspW^w<s1ZW9W&zq9t&H&vJ6GvY^MKDO|72+LtBUh+dlJ6eOz^B3Lv-dX+%whfhsg z8kJ%$Ocob52)xi47|_MIm}jl=l!q5s+cwU1=FF2`Y>_{KPoGI7<A7w1iR;<K5_fU; zv<(xsPOJ_0RGxi!w!!B}m5Vddz6JDNR$MhXQuT^*;9+fN3n|ys(Dx}S9~$fC3(gd3 zViQX-xG*6o{X=!^CY}ush3`iCOK(zJ5M*QjS!3!Z`8I}-E;i94Kdt2p>sWV6eK9av zHC^bPn`Yt?-r%z0tW6vX!wY1N@NzemgnapLbiuIeZmaRyL(xi4ZT_z8acftuOp?B# z%>DC+Y+a(vo~sSFgtR4@6Jj0BPAqX^*lAn9nPjq3`PKy1b%kt)CuiP@Y??SB^J?Zi z#>s38w`DRX%ym%YcQ{xfm1OhgV*9HJLPAxVRxYuH>B%#$Su{sj>R4z@V&ppV(f|Jk ziOnq0zKUMwmM&H1%2<@l5&t7(qEl~H8kg!4zUqtVIuqM9U0r@MHL^}+(JP*0tS)O< z9=mQz$K!`yQjX#OBbDl($yK^Y9VxDF{3sY>!0=l^wBdW}UxtV+0UXbRXF0h{2wd*H z_ISxNH^sCE>>m?!wk`E?bL08*Q#SsJ|M@na#|Z{Xod3<cOB|TYcuy=;_E_R>DWW|y zWx;=Ut0{p}>WidfKd`Y~&tx*5a=3W8!@*^|N9QsNWKAw8iB(_?7O7fp;qXX=XKQ7} z)Xnax1sY5o##0aQ+&rM8G~F-HMAA0OFS2oR<fWDcCgM^|fu70>I+x@qA1QmsEIMmb zi2JWntE8#R1EzQi%q}UamHi?dv(Sh=$<*|-46k^9$WxBV7X>a};<nkyCG5caP$A@B zfTZRLwTe*L$!)9mXYl$ytvOMqX!NT=VOgyALvzJ&HkTGI8Fj<uEj$8Sg;`CDHXA!Q zOPbpiy8ii<alNW-XQh+u*W^9U>y2FJ_efa130SE4G_rD1*kaZH2KfO~W_}R9Z8>*x zfjf64Tm6MOlP2&mKWK_d+;VaycdtR_otMQsrbbtURY`o@F3zNCKauD1P5B)gg4H)$ z1V5><cCuY~SVQihA7_`WK=Oj_laayOTn=pzoTa4KXH@W@imhCk?`jwu!|%yai8>3z z+1fs`?PbegbrgSes&tNF*_#`pFF!hLnIyFOfz+xF#RWTMb{~ri-YmP_U7o{nlWB=o z^g^+Mi_U#wIcx`g_Dm8xwm9dis{Fx9<C9aR+1N#<TSsIGYGkIXN@Q4VFzGRG^;-PN zNcs@hy|01SRF(8IT&<rQUDIambmU#Ip&{qggi8i<6&5wlOOv?wVPl|yYj*Sh453HD z<wuI;9`ioGV%Yag`bYxL;#TQrE2G~ohz>6-Nl9?*eJ$biP5DQ1L;T^$*;_s8kJ~R$ z^;*F^J<jWpj$z_KcVQP1=_O3k5!v0l0|N|-a!#HUth!p7w8~a_j{VDv!KGUogrfW( zR!x^b<a1Bi#i&g&GLV1kGo`RO`H?PiNddxJj78%f3(0cu$TAAL{4n0|T$YQ+zOIEQ zGa=zx0sBN@*18Rr2F7}i)7ca!`zscgmK=;^U{Z(?N;r2stK)ZE%M9g(iQM)ZH}K2| z3vA%p7Cq&9fgf9V6}yx4E{<8x8rswpx6WQBI_*K<r4Q^bA|l%vaxVl|iDhz$GwX#L z{-3b^l3+~3`o)(E;+fPep4-XzSUEpi(Vrf8aAwJ;Ae+e?vbAAs8L10X5)y<KrE^S| zKKhaGoy3&mWokl>aZ7$l@BA6Cr$Bh)%%%3Pc(f)(zn_q4e^cS{r*vth{HQRI_|$pR z+>L#5CO%Kt8}>!ZNm(vYTl+_Q;#$`|Oivx&n=axOl}l$}|2);1N0-lG*9G&$qnyq1 zUI+D_2vo7Tx_KOnZ@Fa4q?(;_L0zt_J^$4iy-Td>k1P)?IrFfgu6coI;<Pzu1s4A= zu+VrUl~-t(^^3PYL1MXuMclK1gBycGZYy0ZNxU~z<HG6w*Hgm_nG-}m$+axq{JhNR z{MSA1j}@iT{__OS_I|!vFxQ=rZR*-@iL%xkqqa@q)Ar^za?6fPwPBr8@`S0Ps@r+W ziZi#~uz6mXT$t`}w^-M8qD`iN5#J|A?nE}80~4|rc72lG)hpfi#>{nPr@^)*LY=W< z(#dU$CdX#n6zE%0RTXMw#3nn%YSAA@Kg~Z)&%3965uMBw6W#72Gd-A1QC07Bfnn}t z!&%YS3j%q0nnh-|am{5jIGb=qk-J-XvT@mmYQ^k%k#j|3glwMO3|R3{^{=p$QZ?6U zA?4YZ+mx64f7@lebny*8#dSM#R{qZ6kP$i<8<IL_shHLlt^$EoQCrhp!b^TzCr<o$ zDkb3LmWkVs9H>YTlex|P|MC3xLY*+4mD}=fHTk)+H>RXG+a$7AJQ21ve4Np+Om*!} zCr-Y=3x@@FEN7Fm`L<9X!nw@B)?;U{)vR6C7msIbOp-hB$lh_X>CF_A6dUo@M`^b= z%4J_q6#6W&<4Dg`=9birVewll6z<-CaJu69c2Vi2b2lV%CiE(?zqZv=mORp=ytq*K z=551U2I>WO++MxiB`7&Nd#fm?n3z&}txU<zM*-2V6Xc^VJDZtnsry+?dMiH5wg1=G z!oZ2m%!%Awrb1ts`<l!6e-s)7mG#b;q;)R9<|e!BRD%b~hlJA#E1XvKg$ZfgX|;He z%Xf!iefvM@8S{8{S@2r$DbLjqTcq~i(eCA}YuvkXv()u@w}srQ?3to_xpXCiBHIDS zXK4(!3`N3kWrQ<|Ht#8FnSW6B`9w{N+x6+nlU{tcyTROaI-~re6Wgtub9<&o%`9X8 zuv2U`=koduI^D%xkEGV!+<t9^ukyEIbLGp9+(Ej_Zk>=l&8@jKS997K{TC8(oa(IZ zY;_;hIv(+OZ;QQNlxS;Yb-Jyk|HmG~?UL=r{W+6*moeB1e5~BwCm{A^!m*XwyOLVP z=E_YuXR+nl{oc=(dQY?eP4+grxZ^>Wx{!$Ugo)RrXM5Kd&yI)=$UMNh-<xOJ2eDHH z?ssoq;7ye<dNI$$JbY7=ZqK3B(>EGV(^<zX7<9|ve|E_0>fMXA|Eo*%rv7A==joZi z<e_XBZ!Pp^li&`93#!?i)-~?=42sgGN1nz_ZIu6U`xxuB2{un8rySgvc#Qp8Rtfvt zoRrDY%G>zM1vL0CC#Z__*Jp(|hY3l^l;-L!I%u^;dB&`}^?$ZhD#iqFlYGAMrv{_f z{bi9th3tWkjW>h~2(&~7MQKWu+0EX<*T7SEiP8J+m&?`3iOI>%E0_glaB-x?$EU=n zrFW#IrKD%1q%<+5^)WHUPixOeOYO}_k5A9<=*S3+P0h%hmCjtBk(#nJcKw{52^*$G z*0)Waox<ccDgNNpgVU!UOq(>JEq!+Psp(xU>8)+kryV|etnGi-<r~wcK6p6kLi6#d zj~*Uwb34*~W`FY}Vd1+UTGAqCt;%FB&pWr`l~QWMLA^kcN~h!x{?pBSq)Z<zS#_ns zr1y>IC+B5nmKmoy6>-jdc2U{?-kAfM#ml4I(-nCqzI?<rNx?YKZlTiS<vvoz!YrlT zU%O@oxSFL#37el-p<Hlc+fHV&(kAQju-B1$XX)MDnAzRXDLLhg#|8bUg^aVa{BO3D zxZSuZ-F|Y}hQ%lL*iH&LnI+`$a1E1i&Q<Oh#tkz{w{E#Er&E5HBhvUWtJu@^l^2!v zNd_r+7^z-da;U@2-_*a?ZJE_qj;Y3ubK|*lqfSgRE`7cvwb@;5-PRL(<v#BF|K#Xw zvmFQ56}`3gSbg((8oQ!ty39NC^>O{BcXr=Cv1mcJ!>m&$U!IZG6aD-5=ao!{DU2q9 z`%XPM?Y+vCx$E;>2F<hnZrwjvf+P!Uf)*%sOqg~;abrmEJhelmCQ@$s8J9#&HdaiT zq?9Vs?i*vCD$FC9uUq679xQnHbo7xmQ$xef=Pp$;cqCE&DB&xI!y<;TzfOx)?<p4d znB0rWSfrFaSGY5BMvO5}%FPoelqWyB!J^b3T&DVDiqF2I*F)M`mYiv`*DIdxzSNWH zv}DYJLNB3t4c9!xCGH-aosl~!h_|4pk|oG%qG$Pe6IsvCr+fBXsNmFdcH49<;WX>! zsR<_>#LPogt}kg8(djHbva;>7!cS4VL_-M<2F0H&ES8K63_1)93=CfweHk6t|2J@I za~8F<wYGA0b#=CN_xE?SPo6Y&!t@z4r+3cjnKggGyt!@7t<8OtmNpfwTC!x>YVA_( zH5*n;ZfaSzcG|i%`*uz{)HiR{hT{i!HXmEqy?F7F`O}s!nm1+rmeVKp@4b9|($%vQ zA3b@>Dc<#>`^B5*@7{iR|LJZ2tA|A|dVd`0-9Dl7+pm+t8U2C#lFt2k7^PuwYhU5x zwy(Rs>nAxy+$vJFc76S5N$RN}#^|L!i*<YUulV|S#frs;l9wMyoTMqBY>>4lU~R;- z-r1*TZj4A3o^m<LekSMNrLWvH5{w!qTya#6I6H6G>X(~#UGDlSYrD2h?@cv_*sDWb zF+XLu%-FJaU%&AGg}Gi`8E>N(>|pq0uqoVOwm}0kx17(84G#}@2y4fk*|G8Q@d?V_ z^L%!0N<Ct?Yu)PYp~c~=KU)+}o3&0bqcZpK-C3)?EOv4#O0w>nIbBaJOQn2LO;ule zzH%KuccbGSrXDS^84~Lk#Z*pxe!O3OebJqrt<QZX*e_o<*NW${*n#@#c5*hKU*B3B zygeb=qFV7?_jLXHa%~g7DL=R^aDM*35C5O;RX-y5_~7*U)qfhxn+1Np{eG9@PiDDn z<^5LmdDT2o1rM6O^%@*%mXtD=>-f$naj*P!W%|8xj;`%-tr|hk=M=w6-F~;%;@OI1 z=C+>&9WEOrj|NPbZn1T$Nk!!4DgP%J9c7uUcOql*MLp@zNUq#1TSI)5bV4<+vx>iA zy%XOSo1WZvS$DZy(M`|xJLRWbcRZT?z|}&&OGB?bw#i`Li{~AGKfX+#TX`>Y-ux1! za^|^=-+tb$`>(5^S#RDF?z&WTlek=sQ^+ZW8tyEOmK8sBBb1uCWp2EzcX#-uzHnCG zEx9GEx6G3oeqT+OE4jUJ`QpBtKNBMOI~r1WjP0%-Jf-7&Hb^YOUCT4r^npz41%se# zn<ner{&XdG`$mDOv!`*qTomXXA{8Cvncw&`x*+x5jJqx7elukDo`3suQQ?P=v*)+Z z|5v@BL4fbhsx|A~xZ;;FUdwb`%H@`m*eY;4eZhYL?ggtp3eI^pUF+CSL5^3;xa9=p zS{6rb&|0B$`1r=-lKm52oiWm9Xgq8DxMuSiqh_Dta|Y~hjL$2u&&g^wtk=?FF?GIh z;Ig0dhT=0n{<^=e|MT?M$}0jK7n>6uYi6IlaVt-I$_?v@3!NpcuCNB?s!vQ2_Bc9i zNuEK6K_YYEk(&vJ`2-l|9pzyW$vezr{ic9H+`7c@z=Ogw4L=@7vKYF`^Q64ne*b%+ z9TQ_bM?#xq+>9eZKH?IJZM>5D53G(!r1LNfZ)y1HD%bwfb9oVK)~$QhW`BNX)^cq= zvFrG*s1=*ms_!~p*t$3=WB#dmdiD$2wEClrFLHPMdMUW7$mYTS<&W=A*!bgFzrEe@ zwf*xq{@(ET&96TepLPEKF@K(4EG+Orzmz%fvHTUO3oHypzV&|9w=UNlIKcKxfuHA% zqd<*;Bb(m@MxK}i=9&Wx%x-V%x$Y>i%HBB0XI9V<*)Z!$&b0k3W(%4bSQKV*TxQ$) z@&NaJCFWa~mNm=$Dqyt=kQOMNpsKhtP28K4bN3Pvp}Q~G<X3*4-OjO~QUAz7&NPL? z7fT!%_<I#9<dSYZKjgt+zQB=-r=wZ8yr{vf&XF-i!GSq#0VAW01GChM=4lm^xXUFU z_ScIvzdBOT*tZ~=ZKEIqzut#dNxn2bfm!#i)-2!K&3LBHxmosr$xM?^UwQu5I9*n$ zx%Ykj=e_!ApKr&#dA9x3yuEtqU%XRwQag?RUHz2yuUm>?_J#(vADilTTuJ3<f7zTU z^?Amzk_8;b5k5&;7g|rqEaMh_ae&8a@(i&x&p78>9#}qg!wmK*x2|(tW>fk%p(FG5 zLcX1?W@(&Hyp|;-d6^U~ow24+?A@KtfGL4p+#CluWF9oIX9T$OWE^0Y3UJ^R2w>*F zqQEJ)!hzS~!vzbO1_t&3W>$>_Y^DVcycH(Qa#tPLcncbM76u<+wph@lrS*VYs-i)1 z&)2m#S~xA-DjEdU6c`vY5=!!ZFvXuZ&}uy6A$Pn%vod?L*YB6>(<Gf2{Q1(pf90z; ztIYrJe)_NJruWL5LNj7n)eMSX+A~`DHn6s&nV6pl;}r{@nID>9e7)<;j$>2Tmc=G8 zS04zM|FD(4`l?#O&spu3PZarW8xrETp1g7F*H-pik2i_J+&7PJQ*7#eyPAcuJCbvr zL9>BL8ha@x<DH3{+v8p=6lh*?OMcz9_8jkA{>B|lil3h3Bwt>B^V$yKw6A5+`%=@b zcQ4hckzicN;k$xeZbQ(tRSnDx0gS8<7BsY+D^Yg|5fe<_yjJeqp?3Gbj-{SiZLjuy zVT`|#nE!F(38o$2_r9Czz^LMIUs~h=gB6Fc@^q;gc3U>o?^e-`ecBbi=hoM?w@fx9 zi_eMNZ})9|%hWgjQv|Ia9*(-Pp>6Ai7ESL&j_MzW6`p-aeD3gwN4V@r+th+~>obX` zwn-coi`$rD-t*|ttr<rQr|I+<&q?HZzL3{kZeuUMbmWm;5{DdbtZA-gNICKE#!*QV zUEaXg&eFd&oHB3Gotp0LB6}_@$0hK6L1VXH@g=djceRYmzG||&Y8_x^YF)>{)aA}P z;~_&y2eag@7i_i-3hb&94$?0tu!&D$I3HQy$oEK~U8m&XBJtLPTtN$%_uf3fV_SQG z|4hMCMW&5BTYel;dTAa1>(BuPwgvjDf@2#>bSCX@yqNIFYzMQEkHQ4Yzt5SCa@`I8 zI5245FfD%Tk(0z-eS;~$Vbk0HGcL{3``zmix^i>(-Zz=T(i4PFY-4azZ{VDx$WzR5 zM&_5myMktGZe|WAu@ePX>i<ct3|;exxne?-Jj18{+3T7mB~CIk-q^jo;Y#Vow}11k z|2^P-@%O8J?P8C8U$)%8{O$SS-;X}DTT4H>^Dgt)Tv@A*Y?%iZf0rw*{ae`AJZJfV zo2S<{em-yC)v0fhYI$<)-s}W-#vH2x=X2MmrEYsUCwHUk+NqWIp6XxTwmaKy^QHA? zzAQ_xeC~4n=eecpidVi4Xy1IGN_L%I_v*)&Uq`P$e69X;sZm92ZnFB}8<)>*v)<9j zXSLw)?bUkUuUz}~sv=$Y-dEXO_GX_9SWH)XGD`*gm)ao0V8Y<Q8WPZWSl@0}SA7ku zRD9!!@Hp<N>-TVKB`}?-zQ?k_y+O>Uf#JgJd0&?5*S_%Q|HY+n;OlJvzps4tnXk>? z_f749?Tb?VX2lzJ3_GVY@}(#+D+%0ZaZX_T*g2v4G4uW(N75Y`rsy-j`YreU@Os;? z<@GgpR`2_ET)p<4Z+w;Hinu?U)%U-2pa1jZ^f+#g3VVhl{PpMe&;P6zVDn7${QooG z<v(c=hmoL|bsmeJ5My+KByLN0)*?IK(1hq6?K@)ChYkr!;~291&)?CBF4(;FHU zA{z4q8grbZowujjJTKN<!Ca~kQop1yEr31SxV-3jS+RPfh{gX#i51O)9&D)#%u*LL zrx!F9nKy}^XjJ^sD4)?H8_}rS5weI)CO)Ao?R!fKLzBIQRltj;o6~ZwOS9u{v}&`< zL|(~D`cU3_kZtPmiizwDc^*s*4V4@Z+GeV^PxxNN;J{QA!5FomeZ6}7;_a22#oHSt zI_9!hF$C1DF|T@HUUy`9bst9+<Asj4A2r+9>pDH^7OPk7US73IyyMyN+DFGbKTPj< zAYQ*to%!?kswc;5ian~<9q-to&fNH-dU8icqecC!imJ&Kbz6>i?z>U5{Cn-|<Lz@Y znD`RvXa1;StY~KlU}m(aj1p*I6zydQ=)GLgdr>st_6kNN1BL|Q7Kx7kL5kaRua)J$ z=;({p;7(gm6uTohUZO2|2GdKA{_WG45;*$5m-Sn!dVKleE}YPRvyClt0$av~Mvh9h zjDiVVks;{?>~<MtjuC8&jjci?T4Z-jC^MKSv2p_U$qA_qY&;*>l4taNtYDmdNlyN< z+_EH@EzSH)3hW!$B&I%ZtDjN7G@Owywc$bsql7^FdXAo`1r>9}dls};?h|jg)Lys4 zy#B!U>ND=uXWZMjE@$;>U}k(!UC7a`Cctpmy()5M_2drbN6YJ@0;)L#7_uZ8Tmq_c zG^>`fGiAN3nQXzr5m4>CVcOQ^(-zK{9+}x`v|xJa%c+af>o^=(wx6i{Y~Fn|{Xf%% z*81DqtG8^gPPb&aY0=(o$ue_#{paPZ7mn7?d@*xACxg+3w$JKJIV*ZsM^rMZGOhX< zQxh?HLV536&RC8UjKyxVWj>@SFqo;X?Emi8|Lt4<*KhsxDRcg7w0-)~dPcJCKqkvk z$+`9dIhTLtn{LlOn3i+wSj=Th#>gqHHdk|5EE!@0CS)2gWF)W!CQOK%z*c{NmAi5t zvjA(O8N;{8dEYD<f<9O<Phcy*(D<U0?P(=j_J=gNfLM;NX`D-g+!iogl9;`wqGO49 zFZYU|3=fH{7gbWfX2?BY<hali#ZbS|d`g%2jO8ASj-9Aazgh8qdiCrX^~<JrZ0e|= zZr*-X{Qr!3D;bmw>J~4brt_dWHnXPk=hS239Z%Vrsv~D{B+Oi9&eG_~lIJnYRe&Kl zYf-EugGbklBgdzOSuRZCtch}1>aST9X*s1Pa>`_h8QVK*IwTp&HEXwIEOqFb?$<S4 zp`f-js@lSU#d!fsY-Puh>C=y2?_r+Naq;P*1?2&Y-KWf3*=?!Gq*Sn=pl$Y)Rf|m* zR8Hn-5A3R(QWe1UprKWe<xJ|rGp&qbTDi|#3l1NPS(D|y`qZlBzufefGHm{pwq+H= zvaD5`yjJHwVZ2bbAiiLM;nV=`s5R`NYqXBW2sh-pvC5<@U=NzWni*i38Nk+WY?X0f zqDCrP!35XzfC-L2{<Fsxu%%pB`*vC3!r+PSUs=T)7F4tZC^fi$Tov?a>uec=DQX`W zv@T5f%)T_sVf72s$u$j=yS`V=xY@J2b3?Yplzz)8rY9@cMJ~K`qT_LU`$6^^uZAT{ zIBR%PyRv>R+_huslJrIImrpA@*_*0WS2T0kV|IoWk_}z~mF1R8gLiG(%Rb{cdwsbj zi-JIV<jzf5FWU}@GYB>;dA5CJ=FED@=$gF|U5q!X9~`d~3|Ja&HDxdRO2^l2XEmm+ z>R^z0Fq!YbbR+55iUxLx1x$e}mma)6t<!=fqI1TA_NghElQ%_FdlgJ?teigkd7F3U z<n89|Q3g}5-<Z8HYt^&T1>37uZ(8+#)tXhSmj7Zn$+eT?`0A~*0w!3mKCvohYgXI| zuhrbAc6PpAS(>(!e*#m=ggl-Aw%cM>Z_*|{>k66C7P7iKB;^6Cs3+Uat{{)6Yq&hu zX*|tIQYgw7TVLU_=3a-p)l!Dp?CE@`7|Tm~xgKm1Srw#Nu(0K0OtD!y<J1NDChPfD z&AjttX7RJ$1?o(b)tR<<&04@7J6C;$ivf%2gN~gmde_gWp8CB*@WHZG9W^RmHH*zz z0#{X?KR#XeSB=pEmg^SjTnm_f&Ymu9uywBcCZk(3IUdZ4%VrY1P~&CLnN_)T^N;BY z2~6v5F5aF|7sbFN9l)|`#|pUz8;dz&ohzpmbJXbe{I6GQ2(Vbiq}IR^-@y1`6@$!$ zWd|%aIWrtASlQ0-V7fHJ;+k1g{bo)7Ieog>?IVxEr~X{dwDft~g{NEpzM9%Mv*Wz$ zjuypL+ogh^tM1&xwKGd*rxxpmS;tnr2wi=EYr~eVm{OlLCro$ESsim^)ncw&$7|Ot z<~|j3fpadS<eb);6IN51zI4oKjhS=x=7|fECnugcaXE6;cB%E8s}}5*3|{*C<k6Ec zJu$m3clLkGU@^92KPIt$LRA2}R=|1IblubYww$aC;9@vbwNp1|W8SajlU8inYQB_V z0ppU)$ptevxmGV_3}DRCWXhCekWQHXXZvEoIrSMUSsCUWX`H!VFJLpj&wnPRhO@G7 z+HPtv^L=1YDp=`iuyt}o<t3jQL+NF%0*5|?GkPf;J;2VeJ!6yL117~k(-|L}XIOJs zL1DVS%*v134+cc9aIt2QjbagayKGMRj7v2$<hxidJ`IT8GlggNY$xxk&6=GG0W5PY z>$KKX==Q9yUd^QPYbwX@nIGF3ye2TWZDgH3d(G~wohPeSvsYctt=YMI+s=8XFTY>4 zfKzLy1j9~=4{mojcb;tB!MXIL+uGyDtJfUa-EidesT!a3W8GJebFXh|-*?n2J#KDH z)ZD90;R_e-Zn$^iq+IEq@|g5BR&zf%Nz^#>%6wSjw{pMM2L`zby*I6A{mNltpIV>w z=dhB&|4R|CmL=ZWyz_ar>+1axQ7nrj+mCfrMrcjTtL)9xWL`7p#vINmt0a~(Y+$_0 zb7)%U(&E$G)wt{La4=jw8lbX)QKf-F;Q^DL!xm@FD&^YEHC#-B3%ZN~wxn}1X}i`K z_bhGXWSzB=L0OhjbImj@nHjZFx0ia%x@ptCp}m@K&Q!q$2EJX476%yB8V(eEJN2@r zx8U01#kMQ`UT&Rpe7ekm_H%nWjo!@cQBOC0Ijd}Efa%GKRGah%605Rpc4pN)$d=i; z*lN{Dw&R`IJ2ua{V$Zu%Dq+>)UB?Ult~)+!$2PCkQL*WtxpvwYu!l9U@;zV)Yj~vY z#~yCL#uu<n<pD$3gZ~WS4;W1P9{EjptU2$oWgiRQgUL4Y9@))%tX}uXChzfauWLEE zar_(Dnh&xC%wv>nV3KUO?RtQzS3Lh&m_%XPzNj_lRdSh%qbqOCKAG&j@{DMJQ9;E6 zcBYE#t_?qGg0-jH+}^ybb2ei{{f#xOg3-5JAGC2UJwMswR;LH+)u*#McibpmH!XnS zY}2hHi~)CCH!yMt1m5IXsWoT13HRC9m(_9;s`D&rWgbkwbcS)ojQSm&XIHl`l|C>n ztMia+!)?D`Gj$jie_lJQd?jnaw9Z33&slqC2sSV?G_V|bH}lAwy;fco&saBf+&kpF zV9Mv?OijP51gkfQEIqp7W`*2>!+kIRuPnBBkj%51`vhap>tpl(FeE9QI>2_Eqi)CP zcUOGuR*CYhUJ#w`+`Ia8+!c1Il?$p@FL}ctG~uy)0kfIk8>7BQ5+9g3-?K2jXJJiv z;_{D?^#h~XI~I=y#tMTcejgaaJ}^oIJmGWrDE*$r%<qb)UIo7aV@iQUfE-)S1V&2( zhHQqQGPB9G53Vz@ruRN?o6R0OGpbr=X%N%Zi*u~bEVfEt@UC~aUKPWcec75@vb?q! z1zeEc!05!oVEB5L>4$v@a*R{cH@R@%p1l3-jej%KX4OXpY<U!0?ec*sGiu9cpQV%e z?#wtDWW#;o!Ws6Q2Ih;qmxM$;&Ffq$Y12@=jWKWC{|bu@=X5?W{F-y<0sC3Y02a#y z)4~|;ww#SwC%$y|N(PSuKdxu|5Sw%6!1Jlg>U!_(ILh~66O$^FM?uA<r9m%lKYZbH z@25Ib!Hg|`(x*S0eQuS+i}R`hBKH;^;(ynyxJo?lTJ!R2r|&In$a%ME)=rnTC!1|n zbI;o`;r4^+(kD1i9cMp!#ldH<aKbj$h7Z#3Cnx-7<oeIdmH+SA{(tfT+aw%5%0Kw% zQNaF*f16Fh<In#Yg%~*Go8&!YWTd$Gxs;?jI{AfVlJ%1X!}X`@JI{9Jm?tO4-<6xV zblK7x3q}SdEiMlRHBknJ&0Du@jasK9qr@P?C8NNlDI+Jdg=6o5Mg0GjOxGx#+P6a~ zO4NvB<H3yz&T2-2Y6^@|dyN!a^%NKw8I86u3Uat;=&4=nG(9b<C+Vujpy4QRfaPH2 zB_<xlAQgv+d`59BAC?_$;S_a#GE<|&q0PCOu^>ld6C*pju4_=<j&Okn%cfThObUVx zCnlsA6<rf~$aqjdQqAIk^E2;RT#Wn-89zQQ5cglGW)^v65o;rt=$5>yfPlrXeHd5@ zSNve=Vzy8cHBn$_T+CrvbNbsyquD&#O-uKMWIR~lad0uaT*QM53{S4CROpq`ELg%I zqQu`@k=5{Kd!cf2ueSEDNh>y`??3ym%W2h$E$OZuzpDK1`dr-Tq8TJ%*pztTzXH2_ z0r#N;Uyk?Rk~c^wSg@#R4c7_J2?8zd6?u+3N^j5Wb9Bz;&2rHxOL1wOD#drGeS4F_ z9`%oMYAeJYPHoV1cGNu;z?v{|;nAKQ7eAd|y|1bFL&3Gv>1Q(zaG30RaNN7DIP;@- zz0#IP6CKqu1R1#R&)CptE*hXZpHu2YKuhZumt&5+qCA3(9BK?-?z5>01YYfCV>Auq zlikbgq<>3b3m4O7mXN95A9REcu-#V(P}Y_H%E8BAc`?X2#ORNU3&Z&gMP}|RPg<sW z-!lEwpx#ju9%-~jVR5hi0Sf^igDS^mjBJY~FHYu?)?9jkzk9`kG)I>hma|RA-#mA$ zoud0+xM$Y9f`%*ntvkit1ln_0XQdu+m?mG>6Z&ih`yAU#k=ct5Ol#86{38&Zt=Z9d zOYvIfGKUq@7u^z1S)rPAgyoRscSpv{chhc%o)C>*GvDLE#@Pj@*tXx^bb;&m%a}T= zZw{;EP1HNsO=}h~Dc<J#et_T2;Oe|3CR28Fu!(*t=g@8c@^p&w(!ZbLTQ^QqYlxqi zQQlMbcEblg1FnR{UQ?BpEN~2wjNCqzjW2D<IV-W!re4=g5fY9JTnVM}3DT|%sSF$* z%uXyCVj==YQHz2%S$1bMbL+KTxunPBrLfr1WaEy_fr3T~j|CkAtX?><&bz`CGHZ>7 z>*;;Q%2^#s90LE9y)*=qmbNxB<tjBd%el<pNbmZv^*yu1gs&djN;S@B_U+3k4sEgN zd>h{q{qgI8<f*s1)tM|kq>hQz+M2CSpH`K{!EU0_Hf!n9sa#PRE9O<b-SI@KaMhe@ z&9awC8~ol~S8TJWTbr|bo>X*d&zD0t;+EQP-I4kyk!@$zgvei2GbZTfDWr%5EMVg8 z-G0x4{i@k9Zl#r{z8%=v_BB!VWrC)tB5&E<?ZyTy-F44SO`Cu3iqcLt=0ZotgwhP& zb6*xUIi2EIuu71Bg+QP62^LRp)-=l{0+U0zIJ8B!&6u{8SudWc+jWa`vunf>)sP6c zmMTT@ge^*LTTk?Ge7iRDm&X49MPAF3)_f6*W`0Z({CZO|?3wTs*QEhs3<>vtd~%=K zx8#ET@?YI1W*)QB3|tvYejU2{;|SxEj7-7yNAtg4J1QLe_jKv9jZqn13Of|mr0Mg& zmQi}~RNTAK$#25zq^zjYo%_$U)vcQ7lPYkqL#?hYZlRW}`0R<R<b4)M{uWABGI3yb z-g2&g@=b2mo<@!*g8fW4j9oMW4hu)6wiz8)ka#JU&f~?zTo!#(+W(4x{#oA!+a~VA z;z0sETtAKqP7*oDWPJG8-Uc`3qbqz2EfRLRbSw<3bL0{&+qOm6byDx5No|}fHcX9I zcpQHsu{Cts_4yk@A9&53(8hak5raXc3)}zAFNFAB1@pN6Sfn&l>xk;#)}B)ejlNe^ zB31@1n3tgAAsu-0ncA9%3ph49u|8Yj)+nUNtHbobd%=#@vR_Z8M;*y*er)8_Qs#Pm z^TA~?cLN=H|16c{=i!uMIH8hib@*b4?z8EOgjq#ZQ(e!W^z7MNEaPr$xieYA&9G<n zm9-MV7OWf!?a?w*<%~b?ywsW1vpJC8^v016VU2^#n;jRH)ij2r{MnqQlEBDOG=bSb zB#|Ls;rR3kg&mQGPq{q=8G=koz3lk(P3;95*!Bf5+Df<^1WnE2D>%R;e1U;)kpc4; z9^+HqtBku+lil8m9lUt4blC)z;0B%)6|D<fRxRMG{vR<TZR^1sOT0wbgp$8=O*_YW zRz*SGWfA*<z)h^8PXqowoO$CNhiN>EsuR-#*PlvH3_h7IwFo^tRpZhso46~JnJtU5 zOpUD;T>O}-J#o!#lR1m_=#{M(m0f#>B}qA2@Pd90|BG|%A{WjXP0RIP{mN5`=V4cZ z1Dnn|jjK;RjxJ|cP~{4Z=~<DW%H${2Y$UN_sziwRK6ewP$reYG{NycXo(#+jv3%2= zW%d2?{u9gQDlK5rRa(;8^7AN%m!K<qP!MD5%7gn(UuKXz70_nAW+9L4ivyC^HcVvL zvRcsT&7$h#Tt{s6_(Ys?LRljMn8bG|a5y>~6frVr)%<XfHBy67{Qs2=VSC#?oeb#P zG-bKZQ?2Nqry|a6nzsGSQ@!fQ(~be_mHQaEro6jin4R0Z`cS$Q>-1Mf(^cjr$xS<b z!gT$#o`XFZCdcn{`pn4Vo^>Fn!m&}LhLIz10u$@I6>P>ejQmVLnik6|WJ*nVcsRv_ ziPt2S&2qBuzBRXIXY)*ne7(ehA$RU7F^30_HP<9Fhn#KdI{2$q|IJm~^b<{qO$H4{ z3lzCCIGCAFF}zXuV|61@<1oWHfi@k3-={D1ZQHWk_ia{m^(p2bP3ulJyisqDJT{Ay zcSYT+9dd2Q^p~qmeRgHnu_IrUmM(t1xYR?H>#XgAX{mZ=SFJmmZZc`p$@YN5;x?N9 z8KgEG;M3f2SlUW~mDk6CvB2YuxQbuaG12x4h6Rm<1%gvD0v<k=PDv^@*5vx?^MF0x z!BXyBLA#1d<5SNA3~~pe^aA33KeIT$^IZA4&-2=a4A(8Zv*&Pb-q(Ms@t1pJ9!3RU zJO72RBvzDH(l9&Wr<~dDje+NxBOIE4aaM(2R#i3B@$QMfcS%3##`>EV-$@4Ts(q8M zt|~ew`-Ia4Nt4}L;`~avY{m}`zOM^+7Lww<_J%8gA@T&%Bk}b=jv4>^*w=6KNL0V| zr24;4)3@6^)75W1QXcm?^2eWN!s~yYN|*aQm*4iKXMWZBc)PE2j@LX+=l^vzIPTkK z{@S<c^Q&(B-@fnb>g_f!6y+=L&A0o$$^Y-iO!=DI&i{TcpTFnX()qvd>i_>T_dFxB zmw->O`FYdDQfK!?FJ5K-+qL8QzxU6#UEb@rmd)(?spLln-WxtGPMiPQU37l$xl7)6 z_uk$4*lpGm*W(x5r>ZdBNN)K4Q8GJ)qih3P)&}zimxwE=9A(eNO$<CXh?J}jPM_G^ zSR0Zo_QiE#i^t@R{Ob=`d^>7!(3!E!fmv=sqfCKc*A=TZj1p@VZ1x=%o~V-Ual!rI zVy3JK9==Z)?K3<?9M~idSR7x#)cho9RillJfK7G+yH*2>&o&AFABMdbTMR5(n~yMR zOQ>ylY`uI5!@45f^&8`Sj{nbJ{YhM2)U&%NdF|t%_y)#K<C1(a+%Qq2+`B}dNs z?Ckv`sO^G<`HB+uHqFw*Za=rlGF)q0G$DT5r?l%y_0u%c78QEwTupo4Zt+DZYnrnZ zSAmDf2abozWo&I)tDN*!C|k~TEV6V_*r1`^sS(dAQMz`qxY%(XAqx*jj^^%3kupcx zryXL<F0k3SL)OWq=sHu|u?da6%yn!tB&VuGq&`&dzTC9@hM{4qWY!a@sVNQhPb9iT z^gW(fTU2!XPi<NHSY1-WW`k4dRL1_vfmYp9tmPD1wk6x~C+ogRZ{UB-vrAPgrPx%i zAb6>v^s3;_$CsjyFKFy6wr*G$z3{?+*Dz!I=~LTH)k+r{rp>=3(Z<4l{D5a-i}mOB zysalXV<kL{mX^FJDO$P6($Q3JsZ)B2m`D3kzlYc37dv+UzB=Lc7OTC&`fr|0=3Az< z>EHyOP|4U(OD;97k{0)l$8lcj+8Nt|ELZk-3r9><iCoa^+9}YlrZM%KTV}<L&?Uk) zY!M#58vXN%yxJN(W^Lm6;KBG^LNfJ+Yo3a=Qm4h{&t9h{Yfii9&bgxZdj^N-f!^<? zR;kl^o2PJ0VU$Qe+8pMd7G50Rd)c*UM!Zg@cGzOe1rxf`ccxjI1gL~3ue;beokPOy zd4iouhhu5c?ynM7mAbDLE!PH$^?!DCn4&Mg<A0s`QT1hImgkD4s)NOXPS~vNnEgaa zJ21TMW}<@Svbf;w(MjS{A16gRy$o2gS=78#%cD@st8$9T$$;rIBukdK)&zQMaj<{5 zK0*7c3qNQ5bmuH3PsYoZX%BXYA1U@oTESR%NNR!c0`(;cXEw(vopjHcDgVjbI&e9I zo<@J<6_>TiO_Lj0{xnXX+~Km|L{QJd=yiqxo05`?Z@O0{S}-g5#qN|!{V1`+$^Mvu zxa-aO&)*ySgJT?0Ejgz#EjW<hBqqI?F=BOv)IH~^%Z2C75G|}Ww3+7OY4tO>=YrIi zV)s0=p2=HW#XA$$+?agKa>_kcY5OB3JB*e+JeIcbMS|3X|E#x;GguZ>=Fh6QWxhNo zYI)JD3RMNJ?IsL)Udt^5*o-=@;>)!X+Vk>P#8ofu?J-{Zy-fFZVpu$<wCDEz;*BDY z%d@8M?A6t1zU|2Dcwt$d6bsJ;F;=tojw=y!FWO|NOxnD8`bLXZg9tOl7hbDom?s`) zOqtN$<)FvEfvxt}YSn^?3qP<GpJJ$8#lAXH^2Kx8?nS*dJJ?hYFyt0wCmO7^3}Cw3 z95cC5d&VTG)>6}5oZjVI+&kQtM;>4>IiP;z1KUFP(3RzEiR`m{#JjdTd8VpKeNT&A zTQTKqftyIca!Uo)pb5+l52XKONd-tqmxXx8o(RlS>wLA;GAwz1-iiNRIc0hBo!Uto z)`-oXYxcEs`C>Wum2yD}77bZN8rhLeVl0!I*qXMnMHcAgPGC));Jk!|Gi?H!!vwa> z049eAo4XY9xjt-GHDItmy}4jQd=1lD)eBpEtr?^_Ha|ba&U1lL%D^Mbfzd&L#Ymeq z`#^A~0b{&^#qt}BG1*+X3amN>6J=H~242`~b9%Gv1uF*ui;UUKWdReH-s;G@z!+Ju zt?eS)d@F{mg3VnUv_u40-MceX6ShvbU}RR%jD3)n^G)2tFqY{6L(^rp?1Bk9EEzwf za@Aa@)MVQ>)seZ5d&hEx9Xub{K8xACKDg=KLiSxojJux6WhN}`_*IZ?z_2R%KiB+U zYy}&vUW-bn1Tb|;v!49TDqO&}NjoQlfip#5d**^Yy}u>8elVL%VA~(PmS+N6th<-G zs@m#FySB5X#3r!u?9PAEY4s<yo=bb)4oSP;k8C*0B6^ojShq=ARa-M#VM)s=zX=EY z+&=7Cet<#4n(=O##DopnDGHjo4J9+RHDwt%Url5au<?rAejwxY9<dyDmDH>xZHtSy z1FrmH+m)0($%vt33e&{bay%b6%w1=%Rouj%z?Obt|GSHf(=P9sBy@NM(@yP}<V{CQ zK4urO)o{rslrEZZq$&8|{MB;lnTIXb>=g0QXL@iXaRb}st=ikOB~%sEwBE=$d}t^u zU@Hsw&vs5*GbW)(CWmY1>~imwa``$r3F$2HHC)UNj2RagvkTbLKdje|DbknmTJxK& z?7$vJsjTTI7V~D#yDYk7#pJfN3zw|i(K&gsT-Y1An4VHcos5mzn)wL_Uwu6APB2YP zonhe-c86~%*&8+pFJNz8W5uPTY3X3L)F)_x;h}|7*s=oHX7e0dVR5W2@Zj#4<2(UH z3V#l#Ca|SkV2z65idnGfe42#A8ZD<ca+O`yNizc?*iQ)uuwD4J-!0(y*)(?N7rPgx zusi<pj5@=5W9IRKJ2rdv91>w*j}bVtyx_E9=NWU?$&v2Ix6L{5D~HP@o2`lG;3KP` zwu9_x0w-Suo>(UEKW*}kHD*uS{*<PB-8{;_U2?^WiK~mueuqk}5}L9^NZP~j(#DBx zhMhY<|Gu<B(Pe?oia)9O?l&)eyd^usHUHi1Sz)g{6V)?PP28Asw6-Ow?K)W^-n+u- zXXC!h^%6HF`l^=P7OX4CaAUf2fJZz2;bN`FlJzSqHm*1<^7@FQ=h=N_DMc)M>N(S- zZfi|j(6*xeb>QFYCvJ)^QHb66N>h7h6NitWhx*+^iRv9(-aOy7olaO@dZ%?0@0=Sq z&fM5#bWN??O?>y<=i5AvR!_@2k#2Z%LezGx8nf6L8B^V5L$Y<}O<p{4`C`k=jFZz3 z-})5Uxgt3~XRQ^FW?gD>)=I<tU(^4Wc)Fk3|5j^*Nyk}-leTLod=@@gS$?~+#B$Nu z#YbhAEi&#Fda<_R$z-Mr*4vA_`BqEWuAFy6^C(lnjVEDl=1;XI)>?Y)iaR1}H_Nu? zC^zSgJD2XK&zbpfX5!*G8=J~3Sf%UcT9t`)JZfG)Lw2f)`?clUw6yl-x6KOJa_5|Y z?oq3~+LK;+=42G5_@0_`_vq?PClswOhbym~(aK?HruX}k>)ay~et8{ek~+Ea)14JY zb3A9|Eq}a^;p~LRJ5Mm`*dKnmZ&h-_$K989XxhD->OA9R-1~4#n^^~@O>W~kDw1Sy z%W>Vr%`2}xQMw}Gdu!v~`o32dxob;OocF|g-MzN+s`}gi8~LU02|v)ftg1CzSZnvz z__(>H40k7FhZX()cGE(wbieMc1wQtidQ-0CdfPA1)JoNQ*e<e*>2lvyo?Y1`w>itE z9~PO$+MOHW{pZvp<!Y@y<)cAwW_@*=UH9*0hg8_qdpDO)IxtTpE`q(xCaZpruh!$8 z>*wp8d^Pb-kj*Ae1$NF2ulM|Wz5Cv4&H~2Wes9DNygumn=Fqw~$Jf0%sQ2c4-<zTX zZ}$4VJ!1Fvs@|Iu|K1$bdwWOj?cTmO$Irdp^X|>zx_2+uy?uD@t@ei3Z~5L7eRzGF z@0~Woo4x<ueSi1v*F1)|``&%*d;f3UyT5Vo|DJpOmG9kmJ@&VK@453oe6#!ThwuMe z!Ts+J{(C2O{+-DFw^I5aKl{CV#rO7u-W%Ta@5TAwaNB?6I{%*G|Hp6ZKHQW0pxFQ6 z?!S-5`R|SM-!aaAdwSm6M|^LOt^54^-)HOocNY2|-Ri%bj(hj=-<wnSKHv6xYb*cG zV*ST+dSC9``*MHY=P&=>Fx>wn`Twhe|3|m?Z@kWbk^cX=NPw+&!M8*M_N5QLEob;% zAn#Rc@I6Q0qG*3{as2mX8@`qQPpNzVy;fhd>AhTb{Ey`azK5oLk4*dC!=KuC{@cX) zKkEH|H2eRYZvSKA{+~1Ax#rY=pDh0~*x{|6{>RYupPll*TG#(_?SC5-|0}is>n*=; zN$=lE*MBjTfA?PQ|L1N0zv{=oNm~Do&;PUN|1aVPm^UXDzdOjzdx1gV!5;yEznAR) zUfj=c<^7)v{(l7${@&UD_g?<rTmF9^{QrA3{@=a&e-GvVo#p>~<Nm+b`~Tg#|L?s0 z-%t1de4hW$SK#jr`~PqFIRto{1$+hC1-M%~+S__M+q-)DCin0*wM?HrrGHL;*Mg2o ziziN4I%(O2F69Ml)^V@jxM71`;<oME?8G_ua2D;|yZg{V&fR;C9XW9L#K|*f_U_+v z@#ul$SNGqzz^Q#{&z=2uv>)udfBVLxeJ>y0etGfn>-Ud~9zJ;b`tGeFad8_rH>TVI zPLUv1x2escIx<@hEJ+Ym<4SZW$vF7nNE7dWQ8N>c#Y#PW@~sUbnU0CB{hXR=e=;^D z9BF2YK32kcDcM!gtc63e@$(Z;36;pG6FY;KPms2<p2rjQY5C!qg0r7JdHK2RlC)a3 z*4-$fm8`3ryFcwoT&!|oo_cti?#@k%Z#6~LpECVzpcOt%Q&cXe<3r;8z4h6gTSQyt z+E#o!voQK##k}NWS0~BNp7w5*S<Tetsi)f_?%Et}d+sQAc1DRs;o`lL&%|~azdmyJ z+R1%;`sdp>H0Qtk+dU!iP&c3Pu_N3<88Olh?NI`sf>r$HTK1az`(3g4yvb{_QFzw2 z>X@DR{z<x(SD3DSls!H>e!tAi8ynq9KZ$HwpmFKr^ZX>=|LcV_FGkv&Ra&6MtjECZ zpIj??zlP(~^MptaHVY>IYrd>=8+kvOh_ak7%}@;Foi_DyKojq^!^ulG3iD^poH*G* zwrAo(=Ip7iZT;3Wel{(((wcQS+4Ay&$B(RUABc$Rx?kgbGuu|`o3h<zMK=}eRfa!L z+u3|+j?PQunJ(@mzg2a5*g02qp$?~l6>9!0?-CvqJ19=QQ~PA9$)O@AnZl5HzF&97 z&wuvzW$3)>cT1MfJI%Ukd9~F`&y1RGF|C(^@mJFm8YQB%6tq{yaCIrQRGji!w&B9^ zmn$UHm|m&Quxa90J!!+O2L3I-3{I@w`fI|`wHq#}b0~i`Jk&M&@VP}=EdO~-Ca_P> zeX*dqNBhhUCdr<&Kh|uHv*>=i&B)GrEuU`LWZr(8x@k}P=g(aIE>rWBa)X4~4TGjV zEIT#^@A>@BfPs;vV4=I1Wy*wB-amW-Eg~#Ob|2<rxjljPF!K@Z^)gHX28t{x910DR zTua<kvwwX_ZjtyWp?I9}O3VUhC1rsH%`)*Z3ddz)+8hI7lv}^v>EQWi{;I_-Q$sVf zNXj+SZ=w-<{NgjZ59Tj)l?{!r$)A>`SsU?s=K;a+^G@@xSyyVAX(#sQF3{=>Nb(To zmbmmysr`f2cZHp|vR>br@geH_z0&hm+4swyzcN>xaY5?H-5vj8wVAid)qP*LS?%<R zb^n)l1bOktuq||!yyjHBR{Ua6^^+H$C3ZGV46vGcBW+bX+pV386g#7K{g&9s&JuJZ z;TSXjiiO9-_c3o^laz6pc!Y~xrJiB`Y2gBfgX{(i_k2F3{{9m)*NR3KskEAptxWM5 z4#%=Ky-c3X@c)Jy8~+RGLPwdxf<i{wv>(ZC4l!K33u?ZeRiAc!+AqmkCK0oc#NLo3 zVF4!n)>UCD7lMyl&1Sjn=D2OCuV7yBky~O54?5)}HMeCraLiUXv~y-bf%+WjwN($8 z#n}4t^`G3n&*rYZ|E6xC+M2`%866fe2RF3#Exyf_sk$@dg0Jv4t)rWYF1O{yYDeAQ zb*;z3-PPP9`+teMlKYfxhSrzXsFis<N=n|8F-!UC!C1Es3_>mk7#T7c8MOi!*+mvG z@@)}h5M^Ls5Lm#%aK#~-y@8o^OS-#hh6Ce+>IOCj1t#7K2j+X9<$j19uy%RmSmr*- z`GnawR^tf|C#M87OP&c}<Ldduo?_wreNX%TI|r1SHXKP%wb{WT_|HptyGr7{ysKKi zAB<WLge>GuKCxX+Vsq;;n`ivfPo7CLyWHwrqR72`<{2?1WBwC9Y5boy_~uCo&%VX7 z-0b*F-|V{L*>_#irMGb&DPA{uc4b96|E&g}6f3^AdhSOGla6YgF$`qSYY-Fhe!M0l zQ#<<HtFUdmOxIrOaO;WqZz3z^-oC3d>dT^M!p-bi4Gn#(9JtjUG>Ca5cyI+YFsE%` zj9l|+qV$~v7IzCKAN47%3M`7;%qL#*oSV=l`KFOADd2!q&4%XpwhyY~H;9Q$)#}s# z@PJ83!y!b~;p!@>hE<=n91OEAdo_MJIBnmQ=yhoV?Xnu{@-FeHTTSNl&!1<^|KSbe zV>SVH%>$w9Y-co^*DA2S+nUeRAbLRZLIa!p6UX(Ht*hhsxx<gW`ns{tRww1T!%fQz zlNn9tGBcMwVABjR+tkymb5>>dnv0iu(h>!7Gt^h#IvVwD<MOx8srJ^lZv}1R4U%xk zTdKgyR$|Jtf;BJ8ySn@GIk6q9L)ZMz_T;{~`(7!#@eRkkh2Hy(<~-bWUA0+q(*(=( zLO*s6*9^yns><qWTZ&nAdtEka=q}w>zTjQ#Do1Xsd%rGyPZfFG$ZoTM!OiZ{M5zUh zQYRc5jT^daiY_?wc|Bm$-lfPpYYMaEo&&9VI~X|F6MPs;6d3Gf9N5_xF#nSKz-(-B zx=WpHg{Y|}!-}X-rtn_Fp2e%KvZTCZ+JCf_fg!tvbIO|I_I?L*>lD~}|2i}93mg!i z)U!_{qo>@%?v={aHHM5nLMy|sG042|aObU%oD_epLCQiQ!TM4IbD_`XS)l=pX1jMX z733LnhBz<@g)lIRDljs<@?m1Rar0b7oAH9z|KB{f{(SR%huW9<4}YXPmzP{nF=!N3 z$z^hxt#GN<ZwvFcIWPPsA7E@bXFTUG&nvU%GtU+*E1q+E&$F=Of}HE>OlL*+roBBF zRW0S<wC?DiRK7pgncH|aZ#dj@g`H=??mP`<S*bOT*z|AnrZ;Spes>|kT<7<#)C_~? zEK%*>v$FRYGs$)Z&e0Xg*E>3=*udfX+XrRaci%kMw|&!E+xO}Aw{KnDX1?$F-uKy$ zZ{Pnvt!&Fj*<34;KMyX=E0^5Fo7)_Ho4fRd+^>BTlB2gQJj;+^EN9&3uKUEWzv7R@ zyljJ4y^n7`mVa(>;$hEmugM1<t5qbkrt~q`R>?3beBB}Dz{T)ic!mR;!}pyR>itS2 zMdq?P@b9`f)vtwt#et2{;Naz6zmoadcV9)MS6!KJ*RsG~mfc8!Nw6!fM3N`*MOwSn z)y3<|lv?J#^v?fv>AYVF%a1v)!|ZqSyooDi37Gq;OkUH2d4BQ2_ZMH7%I`Y=zUQ;o zd71O3?{~^6?svD1lIz!cutVlC2ZPD^D3;@CN?WJLen|OU{ouOXkAs{4=4fTT{`#uS z;Q1?o!sSfUj&DD1JE8H-<9q)fpRoV2vHx%3Z=)rOyv#40M0OR_JaboEexbikq_4il zWJ)8?wY~q;#rM^|PMXf0@q;;$Q@d{7uf!itW=#{W`~Ts7k!oR)%p|<+)}yZW|Bd_- z*LTQy->W!&{LV+?=f$SSi}a@#&HNrHdcjR@xqI1`Lc4bN3FcV}p_$cR8bZ}eLc$sU zyO%mM1TiuM1*BKlrkCekskav|b15&&S1C<SFG&_JwN_`A@+h5ZRv|p2#Erek`g(oh zb2ml@7RmHdH}O)_^k&=gQgw+Sr3d9RuUG#5?iQs`DIH!J_@kxhiJSfQdjAY2&Et$p z8{Boui>H;RYj3Ytxb9Xyr84(QOWBo{;2DK+GniuzG3+{CZEIGuuf2Wu^Xenz?K{7> z*Hu)PpQvuSQC&5o-SJy;vjwA5S@qrJu`63*Z#=ENzO^8(q4v&nmMJ?5rfPIPp3Zj0 z{eQ#>b=JrUtUL!8G7K2)ComoS&XDwhndw0aKSM;3g3A>Xzgz~!%m%hN2IDk=7^Z`4 z3fl{3E^n+7aaUX5J~fTWw4p&XqAA9rv8_El{kfZ5MoIpblCJc!lNyzx0;NIeOeNoo z^S_joJui82qTFwK&!ZVV90AM^e-!&|Z_@Ztoc!I*{Y0;dK$(AelY&Ia#AW5)>`XD@ z3<?Y-e(e>HIwqv0Pw*FKaQ!fW@j|Kd@zQ|jB^Do=jS4Djwoi0_QLJFfQhB9UEP_!< zq15O^L(Y@dT#;fk^PZ{4d$L}%Djctzs~&VXqBwVoyIg|1k^+<51&@8(+H#gKs7|od zbV%}H`=6>J*6r~u#gDU_|3ON?$*x!FEcO#p_AH(nI4xyLi^q-T)Ce=rl*nlvDbvy` zr`<R9+_Sk$ctf(=1<!lUY?iLmc?=k?ZSPK>z?$j6#vD+a+Q1e#fpy7@;K+p9Ywex4 z%)RbyHuU<&n&QA*!ZJnbf(MttlnGxL+!io!6u7I*aJNkFDO$ofHKo4tK;LPJN~H^F z`<}J&o?sMhs0j3!WOm#m!=mY=29u3?kP!n@Sa|Dn^#=YQf#vGVQ5z=8FqCj?=+lm9 z4thS@+q^RBLWvFs!_=4M;+?adUzErwlt#Dro!-$`9p0xPz^L<p@ev0D;{zu4nG;U# zD3`cd{M3^rpyK}=anDAD8>OFbRGgA*4dn>hm|3ov!Q}NJ@U-MarmRZ!7iG>riY+cw zrXQaq6Tm#Jo#CoQWzh9fsfxy(o$g*67FI0ld3d5h?EsVbDkctv_ML((LEBQe8W?jT zbK*N~J5o}8I#XgTJq>=@8myX@Qt1)j=FzUQB&N*c&r^@-o=f^mW;%E+Y2T8vIm3W? zLG0WXHZxIHM+1g?mu+uMk4-i33ehTDToM~oz;?^jt4Go^w9PI*GPRc_!6#~F`;w_r zABuC1xY?GM2~KEhpTea1fwks<>W}G#>?<biyEb`hW$S^Rg;5Kb99A-vKWoW(;xT<W zD_`eCj+b*CzZZ9!m+oBopCRf(<71DB{^={<?QmyoD1KqV;wr%C@S;4ne2%)oMAPY& z_c-TS&zNUl+2kBhY5KhUkwvMWIg6mf1gV!L$`P$x2~5%q^PK~VEgmrGH86V#6uUT- zPdm;iYszvst7PW(at;P2hZ7!33hs5&SIzy&EEiDhvA|7Hl0n*Ft;7e$zsJk>?V95} zVZFol%%>6z76lW6#2FPbC#f*Zt6(chzA<M~xqFHRlfnec8_KDFQbUY?O%;*eDA8>j z#<o<P+wM=RM|R~jH>)MSv!;36TH?^fXftbC$(AMFr>xxsX4ri7OsHau?^+gp%hN55 zWyuz=v<5q=&#Y3Dz07wP%)8=g|NH-DVTPG04^pT7jQ6u%9=wvFyvsvo!_2==vl$k6 zOkqj=cAQP5V0rJCElW;XtKUqEIpJYDy(g}s+`+=##A_=9Ln&v)oV@b#9~sR$KiiDi zn^vx3RS=lSxPax?&D9*)3;&*6n|8hNZe~fu3YHICOs4I9AEYK$t1}CJD3P<8H${ah z@O!J@^4YR8N~Ug`r{^&L)Qkzn<&y*}new;Hx#ZOn(6QX*z&w=`6B!OLy_hja_+*1z zLArtiQ@n<Iwe)Pm<xJ%bEEOLZ<rA2E#TktnSY)<NR(e(JBEZPRJ*mCD*jb_cw8uo1 zh}KApxp#L==6g_l^#r3U!$v!=jm}z|T%wi;X8+&xVfPZ%*Gu$&P4(>B^x^b=r&}KG zUR&dirN(^o`2TfTU&;aI8V`v8&%|SlMP3J-xR&Vs_SnakP{5TCkUdjLdwH_<fyuj; z{P0eCwOzIOB0Jl!W${0zGB~hsMXZ=w=FT<4T`866<LlPo6Mb7&%{zaJN$|od#sy3Q zC$~*o&eFoZKHYu7bB?BUuUbqOG@Rln<p^NO4JeilVEJ&f<SFMwJpo413-R9Rb8@fD zEc?=T`Se=X4UCKn+)wRfJlnNl$Eta2vksfeRNPs0EWn(lKV=uo&%>W)tg3#}TG%o{ zR<!aK7sJt8vmIg>uX>b}9bxonV37!5HodS;V#7MwtrNX7_6kJ)XK9>0+uFRCVL|yD zj<V;POdby=%7|B}M`mt)<?g(aNo3bPZLh^QoDX(<*_hzz=@#nwdG*GrOBS=-S<H54 zQ%>dnojl7~{%qu)vxF&Tlf<88A-DIZYchr0o-Dv~@ayeO%r@J^-=r2F+4P?KoLG)~ zDa#VMKORn;2QTKFEB@7$pIM)n;6ByO^S;Cp+v7}DoU`Y)dsJlg%6wp0yvAKUa{_-9 z<F4Opc4jVAoVuJ%vP5UWvAL163tr4s-sx`capAA&k!_hw0Sj2;UreqvVYyT_QJ#ZI z-C(sM>rTA@7Rd)pbHBG<k193|*pMc^LwM%Sc5#Msu_piPB~7<i$1ZPM%rj}S_x}lN zrFKX+FbiI|<eIS4?}yvds3u$UiCzK6j8CkJ_|v#Gnnm|+<^EMn(xHs;23JF@-5q{T z?z~kg7jWeq_q^mcZh<xnt3;+qWgOewwn)ukPtLaMG6Gf22N#*VS`;05BPrlUOYOAQ z*c-87OZr=E4PG&}+Ai6?Xa8i&1OH2>{b4<*z4FlYKl}C^X68#^_4~kRp1``ImvM0~ zYxo0}Nplz^8gBVLVBvefB9y?o^(}*Z0E4{4?Okhc%TKs1<ZyfM+uKKdZ*MspFQ&8n zmd#XQ2R74Y?wSeA%oi9<F4(3Ctk`MDUVP=wUCZWM96Qt|Tq}rnx3WCDXYw2)g=?!h z-HUQpTI~H_9#Juek(<f#z_y$#lP%keCmwIO+O;=+4a1#RC0Q#NGAgb;wVFFCn@RA& zF$s=|OLmp|^D^mu*e-oCe(P?=nbHh5ZkHN0Fsn5jwFtk;*uYdHFwtFtLH~LAty`rM zQcWU!B~i8$84oa-#V{&-aJwNK<iDro+Re$QIm?bqtWtPz?AZx7dDRn)d#CLQzUJuZ z8B{$pyP~D$`h$IzrzX0uRCvx<SmOTLX5l>@CilqGzJ8u!JO`%8PRrbR!$<PWt2e1f z*POOHbwkH`zs~Q2ZnI9y^4wzjz|8mI`7T|?hIO}=<g!Y9U~cDoapv^xGpF~QvR+^R zkMVO9!^C?pCdA!pS@*(+>;D0n1#B`lQwtc_BpaA44IYZfvE?3Mv)u4X)xcY&My zAwjEaY6TwgJ1Qb9PO1G|!MmcT>dAQlnU(gMH>dt=6|rs5TsLoTG~<nK1|5NkEH?}7 zSGu#!d}PYLYK;{Om%xt5(=)HtOn&uq_0s4yk2qLW?#>g|>p#-9X8OqoGqdM#G%#CS zZ<=I%>WJ6F<mXq{?YdXJh4IlZCIyDsYj!afO({D#YrXV^MxMMmieDKx99YVwLYV$A z#Q&K5I&v5P*<P&=YgT76DKs$a1Td)_u-+eiQo1!w#*{@xp-k|?>U%mT<gU-X<-Oo; zWvfWlin+ZhL3vYVZjSd~byNJ$3EwVTv7Y}c5<CySU;X^C&GMhz(|TmLJ66q<pFPE7 z*7GjkCBZNGd-uJF)_=Kc?o|5&%m-!fNGxE|NnkB!xRbp8cK^9O``6x<V0f9g{+oQl z+1S}jl-A6YGho^AmVtvIn=jyGz1+z^SEqTV)z^MluTn5`zaR6D+H1Ts++97lYM)_z z?cpxse_`6rsch#89dAw+ecyUHucunOf16b4#W+US57+FkyN9lI&y-;>*>H$If70zf zCRc~~xo?>yFZ3#|VA5B3Xt{t%x^rLPi9pF$eTo{3R-AgcPqQ!m_`|^I4Mrap3hZQ@ ztH~rOS-G+EX?4gGr}oK3*)!i;xJyl7`j~yhc01!4j!ScA{@;4yokw6Bi=_AjtqoJ{ z)}^aNWS-#XP?BSiVQ7<)QEE|A@@P}BV000c<DWKds-|k<oVjxx`MJ2{WTa%|7RgB| zEo)l3de!1(tE3h!TF5nR=Z>xXn$!2$Cmoo+X!YLhOxw2a+P_O_=`>9@HwpRc*RRRn zV!a{Z!RK+KLQ7QZ>2nb+4+(yW_jhl6`h0H}*XpGgq@?(hB(zMQL^=xv+}T!UFT|Dc zcx581(=&#U3rUAsc)XNc9F;>kr1V(VG0eDdNHJth%+8*M5XOdyO$-)37Z@TLS-5*U z7#uPqIj%A@7;OnLU_8{~ve3YMM?s(p149twB0E+CV{vvC#;y>ZAdc++48o>9I}#cf zH1V()r5q4Bc~FT#lp`w3v7v$4Ti2#pPAE~y=`w?$N5WQ#&|?d_+D;V(2yI`z(7Drt zaY08ziUu!($dwfn4oRMH$!Fhs=Y-=F4<&_yh96N2MYLF3wKlkg{Az6PRcl*e@X_>L zuG3<XtCu>2=W_|__)cNDxFJ{|`fzov&e>Np)+Qa(ioNctGku2q{sa8Gr#S6dS9{pG z)oIK5>+1qfoBZ%GJm^uIb)}9&AmIu7KM|%63Jt2v)4n$_%xz@9*Z4=XV?q5DpU;Px zf4%&EKz!4Iq*K~!ZWt-F&Mjr*srYT{aF*q(;guMPnk!Bo`bsuO92vw#lOEeHl}!Hc z@7XHhl&HrLwaLqE+m0hmfnFgAKHi0yg<;-mb^#s?(i;L8nJ(lU3*vR)HDqCM*)Sng zP;f(82fIYkf@|SM5~Wwe8F&ICGdotKGI96#q;e=LCET3K*;8_*OJVDim!cec4;FB^ zdexLl$F^-SnWg0K_*v3}foElmX6uRu&Si6@j4ml|*jm!BCH$%QLFKB708iCzogXGA zE>sYA$mUnLE@an{P<38ItusidM#f<KqvDkz+kMJ3u5MD)T#@tT9`iDf<@5A!{Cdu_ z&8;M@r<6-0*;{k>1E=oQcB$UH+nBq4&(boPz%5<9e1_0_jrFQRv3u+mww%aapZY{6 zcgu~V|G6|p3LKdCpXXZ5v@<@y;vloux)=Hrk3G5K#Wg)@);$A-jZRuk(|)MGUcX4A zd8UilMwfSmpGr+;v8z=W9Mtb{2);QXYnw`7k?0prhNxY&X&pS18x33(WBiUq_idf9 z=;+#}84C{OuGX29Ink8o+G;(s<r7|B;CNEjy2vl<;)|4uz*8J)Q4YfDTKTNuT^?>% z3+@DPZTTXQ6Q!f<cAtacq->=~+o!{4g{9=UV#7u4xD;3IDB<4s?8efIsn;8~pWLXi zT<G-vb#Cmh%PdZPTDOX!YlnBso)601hAS7?+}X5k#Ui=BX(hLBCOg|OGKdzYU%Ahs zGG_scQU#|%;PUcQ4F3;hMLzt%CSVb=ppC2I;Z>=&x6ck8wv~0u4nJgh%v(BFG-LrI zcOp;2F}aK>iEWa<L+=F0OBMXFd3RAW$jypncJzZa0UH!&O|obcno^<dw$|{7mW7#& zpiYKu?P(9LyyV4~W-L{edvNcR&(x(77h6>eFHRL>TR8pr7T>Vn224v^l;-nFCO5=8 zyK;#fl-B*QSWNi$1hy3lGndu6`ZnE|d~IIQ&Zv{_;Vlddy(|wK7i6-uZ{5jT$@Q^; zQ^SGv?xq%TQ3FOd6+V@<QDSNiCxns(T3HtTU^LD#H1x6H_Q;F~lyGS5n#|)ay6&a2 zmqCec^$j=c>C7p6Qye!W&(L7~-@N<WmNy%9YAV``_swAIk`s3IV$5XHt8U0CFwl|m zVd0Fwz{GoP1DjC6LT1^DW}Wi}A~rJ~a{uNKS18^%|K{IQdg~b`NnQ(R<SSuhvGjNr z5jL55_KXImf(r-4&m3U4-L}wV>xsZ4Wy`g0DLO}V?wG@IM0NFQonGd(E4kmkIDBAo z;)15EE7N4uQw|1B&=%a9<(<aF%B#)Aq@u8}Ny+4paHM8a(2o~B3oRU2-_2#R+Wk3= z%WJdaq=<=8>kntVee&(7;t2)yphYs;1%k>y9GqEVR<(#f-K;W6LZ{`F#CiRsDJy^d zQBf}1BbHN?c_3iJXQ7q@=QQNRHec^}Bz}9*{|ilO0<5;53az(Uww8HacS++>UU@WO z<-<28=Y1}4;9appwvFe7e9qByNvAH>Z7+i5-F%)11ib2DpU}39YmXxPoQn*+CJWm1 z9|XlOTj9yz;n2pnVG>VDM9-}clO(s?Vvc&VvsG~4fhM613z$!yIT%zlp;2Ln!c2z< zW|==(ZI&-SZdu{GHY@z}t!ul!ZQanjHYeTt_N`mrwyl1e?8(QzEp6_pD8b$BFYQV= zr(Oy0h=0l;bYkh6_`T1B9#3qu-STS3rxuUN&eCz`Qc~y7f6&mAa>9|bDS=&o)x&A_ zCe2KLv>5hYYGC44cFfX9=xe>WG9bhw<%*9~_tbTa9F`nS4gYUnXj6EyfP?u&qX=68 zo6()~JinTCn+v@kaz+0*Byny-n`w-_i9^KJ1rzS>=GeJ=W76^{1?`lb94g0O{4t*X zLb0{RLTUY@q}B2t96L*#7jBAKz~TI^m08B+isbJ<i$Y9h9NTk^oxPRwih#(?$x15{ zIJBOGvxL~W)a`vKHDzW7ll=omxepUstk*o`EB|p={?eUB`!$ZdmqZSTEA4q`b^GVJ zigTOieZM0RpwevpttL;cQ}IaA%pXq0Z;npXzZ}!cqdvo2tu6POwvOqOMPk?Pik+y) z+9BY1YsKZR^S_EX4g99|nVk;RW52N6AYD@Q!h;ggKBd#QzpgqZUiZ~icK43|YiCPp ztkmv%VS7co>p@V|tZfpn?HXdZV^)0+Kk$No(SFyLLdhbwSJ~P&ZR~xK6kK(5e+GZm znFXst6lYH;Wie8mz4cA?1EU=d|F(5#2_BQa|0Zo;bd1ErTe+EXJ8!<W<1bq$I!|CB z$Ng^`&mVlBtRV1{{mkpowq43;cWd&yPuvz_?M&p=WsTWd>ZTyTR<!4F<`2C>mQCD7 zUSc}0mNi{w*u!4Z$f)yj-7WF2W-2F7GSB1Coh5lt$Si95!my0)>}x@(tgJ%YHnc2F z7kOX%{*q?H7Z-s}<v&eluV`MdPf$H!#vIPTdW|7oG-6l4iWj2S`WMd)Io=b@wfI+C z)`M9!|KAv8b$Cc<e)Dp@b>ww_R>1wk_ioQykvEsA%wfKjmvVOMYK2$)%HmZ^R^2H- zd1GG7ujf@6pU)>OTIXR_oziu%CWX~v@t3PgcXbTRuEtJq61X%&VwaP7QHHzcu5Vdi zl^1(4i|WX3C}uHHz5dxf(tJbtl~uKd%Nj$LxUDFxy2{XW=QRI$jbDrfVf$Vh-#c(y zQSXv%slJj!%Yq57XGo|m_uqbKMZ?7AzsI_dwRTyC>n^B263Qhl_ET<Fee{aPtG!1m zc5cpc+nV*_vM*Oc-I4`0S{qBZqzQGh$J?};?%kBKT%h#*Qno8bI)R(HK1|f^5|QLT z8oE9q^GXue0jK1S2mh;sSR;RIZwhQy+t{Qx=TOtjMGPy;gr<KBU@$If_!9TCAZClR z=iF}$@(bj+5BZ%fS13xYS^B}?{UqzBO+s=H>UM_2oVl)BWa43dgkPhn*j^!9-jK`V zgRYLK&O7tAzl)NNhi6>as8}$KTVPSEeXGKkLdkX0V!jr&${dcqSeh))p)x^5=~ZIg z1xA(T!+I{$JRdX`>{kfRToJzhLGW&6-sSEsPFHnUCUg83lF>S$`C=iz<)pH2PduhE z_*7kYXz|c}_d$P75&y?SrT;z|_@ztVT~cmb$knmHt|i_7*oErdPh%3l25c|x2(Hk4 zy2)<haXI$GayOP4EC_RceYt8m$NyI8#`2C9x2+E)e|%5cUsPq3Dm1kqRO6CW%Z%jh z7x=Dx%9?bAFJ3_9U_z%#aLkX3x*A4`PD<QYCn~&FsxNA(zqv(m`GGF0R^6@QIenL{ z=QVN)iW-|PVXzf1x~8OZu~F`*N77uu*rm(mlpa~nTb8W(fwd>RR=7C!!Nj_!jrlT@ zIcp<$<}kIaS<GF@9&bKP(8{HAPfLjUN*)&@1Mle-)k_&SY3Sr{@7B8D8|2izY(oET zb+_pc7_$l**?+`DgeN=g%rd#4SmCZ8lP+|)aMGh0TyvD$cv(UfK2De>;JNO&rij4Q z?@9jqzE>|VFzr;)U-zlJ_DH>Hn|10<R~L)_L7&WdS;X5U4ulCZ6}}71KE6Eoy@-Cj zyQ}XL?!yL(M@*G8Z*~YL`@d3_z0KaSQlT<9B74%a;2#oPNe(Fqo(jsJBKTKM+rB}; zp}a=(L*n+S%=-i69XBXd9k6)yJlodX&Eb>cJtqb0t^A=IeV2FYzF1`Ua7swi&+f7U zHj@p$B3rD_X~-8G<4;@QzV={cmx)Y!TIc=-Zzj#s_+sv*#X@e8QkrI&7X<b1l*|^s zz_?&Dx4i*__9fQ#DctR87HtyT4hhi(U)=d6dAlnu-xsE^sWa@nDU+=*KXQXoW<vJE zM{~ASSZ<ym*BKcb^<tu6WT9{aoAx1wGuJ!BS(I2s{#VaxTd-t9lHRIW(wscY%Z)Du z<R9AEY9yt?bwk$KLO)!B=Zhk1)e+Wx+v={B=JQxZ=Re36c3{)K#6Eq4FV6-g*#INq z3GUKuY_AL%;~k>23%G?h2y8yeq%Oh5%N5PDfm@@9ZGmw0kDD^g1#Mj`EY@ze5EfXd z&BUTuVz>AC46fw(Wn02UK1eYXEn7d8)nL|=vy3e3JD2k^vLqbK&XJ0CRAAs%U$k>+ z!Hio1kp}I;4zt%^WlMj~o&Son@&j94C|mF?ncM_6wn;)!9*a4P+7%`h&z(3k;)bM( zasSx{-J}CcR^O6|xlr?C*`&m*6>~qZ&1zBdyCpNVD*x;)f!u)qdaYhdb4r(LPhx#4 zv`D#Xt*`_0ai>YKyOdHHLJz*;ba)V4yiF-vq5jS-86JgtsfIO|PBCN_teg8`LDH6$ z^FGMr?NU;`pyN_ncc#4H_Dc7Bg?hg7f*+?iWf^2ko^j?*V9j(`pZH-z(vlUt8`;z| zS^8daa=zv+NbqF|+oV>#Dc67@=ji&m6PA51o1t-N(;Nj>_T?Lex;I&PCoEu4vTtMK z5!k3Lv}x{R9`)rDgo{>l9uH#(%5^+cvrB7crloak3JdRP&cj-~WfIHUGB>_lRp7fz zDK}x|buTstX|_lO29XU)E?o*YZpj2OY|g*1?C^)JYgTE+>{4P@U<f_U$@AgA!G9O| z_=Kpl7a3cAtmB=yY}d7I%S*SpIjqlZC>AzY**;t7%g2p#4H%9x*tHA09otoqvSEAG z5r*sn_iR(frK{YT6Iha}cDxZ;R$|895}gt%y@9PoiK$@M3Q-o32UFP9Hzyuom?pJ) zy451i^x&@#cPFf7&&*i5{dN>j0^5zEf~SJ951TAJUR%4JGMqXy^UiCYGLHJ@2%c$@ z`_3%SmN3s)r>wJkL55P0yliKPMp2Q^>1fkctG%_|xR!hVE^BgNnzqb5qm3nJ`h}b) z%~q4#n*JW*nq}U0cZ%TS#syrncUZQr{-~I#_?)|}qVQ37@qP!R=M`FiPwTd2&Un+V z`zPRk_0>ayuAlbHH#+|GSZljnH(WJ#`r?|U&r_G4l$G9j*r%fN<LzDXJ8Hiwy8lls zGFeq%S5_ci!x_(^ba%IcoMmQn+B89By{BP??p?*5*(n<iw`8Zzc&Dw`TsBMg^_FQI z_0n?=a&aAa8l69@B=*0W{EbZ>pI+|Uw5wox#cbB;EsrV{)L-tqQ7vCGW6KAQ12ex& zl*_1kuUOop!#j6oVf&sMbDeh89FP9g{HH5)wYC+tui@#H;8`{MINPIR6Q%SPCuDlK z8YPw}eJgZqc_DfE6YIK$hJy+9wKAE1(oQp%m!#Dkd$7CXPN2N%$%5}~$DeW(a%#Bk z6<f)*sbEj%7NtY~x6ORAwMk}%S2m~0vqep2X9YLa9nC6IFQ2iNnMd`KUgl1%&k^S& za?Y)aRQh}2-0GlQ)<frxc+OFJDOEnD-eu~vXEq9VmGn+ED99(BTXv>J?9%ybOBL91 zSsovh_l`Nr{z?03&Z&t<r%S2F?AemU(ra|;!y!}m(;HVRGs~XWxR`v&Me%QqqT{1; zvbpCDU%05>dv=w;1<RH42WMKmy`*<9`}}6HCIh2v_1>JjVi#9+X2_oPeib;=OZKAf z-na*sFa3zv`}DZN<<$y*7w#$&;k^*f^Y4%R!awJAwrfTGQFN11y_8lW(Q_{8Zm#fI z1syZF+f$}-*(!=&lGoh8#HqkuIrl$9&ED%(cdys{y<X3Iqvh`PX5AZ&xi{+eUazTT z<a}_WU-sstyEj^GZ*;G{(c^n_qAq)1E#n;7n|*(8*7M%%JbR;J?)8ejOhprJRrTKJ zJbSC+?yVZx+ne`Z-?I1COxqjVWp8Y`d%NfDt*X7Z>(1WdTySef@6GnuJEwYYpILin z<J?<Eb8oiB-dtLHXPWNatGRb-bMMsG-deTy_G;OC7ysUxX?ySZ-`g+d-nnFZ>jdwO zD%o4J=3Zaudux{Ot@*q+Civc(t9$b|@2!7(?=$?n&%}3g)7~5JWpDgEd*kog8^6{* z_~d(o``rC0y?3v_y?2%O{)@NQS^Vw`&AZ7`cXO@mou{^s6yyHiRl0ZUUhl2Vy^p5n zJ~+Mi(S@^j_3Z8#{JXW|@12WtA8m`hyS4VQb>D66bvJI*-a9b&p2fR69_Q}flYMM? z?}?4xjlE|dUATK^=iPg*dXKi)KJL_IXU)4QANQ1h-*uUL4>|pwef7P`DfjS$?|q59 z8{d5IxA#6wJ$Elh?wMNN!<T!XM(W*W<$LB*_weoAN3UgX)W|(x)O%2#_w4W82ZHyW z+SolSmAgMF?*+5o!zp|Z`|sWq-|%wgyZiI{Ui^r?!Tavn^Ro}9%iV9A_v%0IgE{M7 zuAcWY^WMuT>t4>j_i78@>rL-oZQb{JN8Gd8*k}9t?r+R{KF#jo<+rz%^gW-K`*5x8 z{d&FsFHg>W`e5$!lkeU{zk7aT-%TFA*ER)=l?T!v$h~`H_wEVbJ3E0llY3t+>U*}Z z?%BuM2iN~ToqqROZQmQGy7&HZ_k#HzHR`>1-uwRRyGNV$zO-@RT^;?7WBv!O{U3Pl z3q1e#`f}|H0sWUR`(6mzea!WHwr=jne|jI5_TK2QeJgMOxW?|&x4QQZ``)Y1d&#<f zm&0i`rvzp(24>^<&nEoL1_7+5@vP?OKb!S`HlF|4GM?2X{)=1vXR!%i?D)U<=znpw z|Kg<o#aN%kiGkV4fXPt)i%<R6kowP|{$CC6fA#GD;-UZ9%;9rXKBL)$uW|iflI6dc z?*Hagz-*@QIYRzh*82ZnJl22Cc>m36{+Imx&tf0GhUI^2&S#F;|1E6)j|TtGHt)Y> zod0eg|G8KHtGWFbH~%j_0$<$Dv&{VebHV?gyc?8?4OsL4y=L!w_&)ZDGT*DqbKkwF zyZ?6HdxiNA`}&^h?R&rM?<2+e*SD^}rL^vj*1Fps`|i!DWwZ(Sz<yuGX~Ac!_dn0s zf1Z8*^A&#P%lVAw;{Tra|8nj8-_Qp?3-*7jy#IZ&{NI%G-=FFK@Lm5eH2-sWKBKb0 zchh?2$MK&d^1nv(f6co8&xD`D$=pe-sl`mJ)1XVNySLxmz^SjdJG8rRig|B)*X%jU zP7BQz&7QG<dvX8r(9X36p=;N#UT!dBjoAO`yEgQ04)xi&VdLQ=M|_TL^x;iBbM}m5 zk@h7{?JJjxIB#6Pa_wT#ea@RVuReS#&iVY|%Ns8qJ-zwz*}I2t-hcb@=<C(rkN;l1 zb>|ynkJ`KW2O2m8nVu}qO?1rr@#f@Chl%Zi%1pN`ijTQ_XeaDyI{Ao|`G#SHhWjFs znWvdN61M6n?Aq$JWNE@ox!6ZfSB0N*7whwxb;NVhgqfz<dPX6iCtX^ysbrRyNydxi zGiI38a%oKtzOdNoP#2f?D~+ogChcNc>XNCuI5;o)QOs4&mm6Ysb-ld%Iyrf>0{>#! zFVlJ-*kxW9;GT9PFV?#JqtdR~5$ocf*3962CY&)r{?Xxk5@nnJFPm`7q3FhqzueoC z9v-;#`AY1Dj=;tD4Qf89DXX1Py*Ejxl9Bu0w2R6vUK@Am?$Z#7@XVZV_w;E<`sr{( z^Rv4&uU}N()Z4ej^vRu{3)VWUv=a(h@#^P>r>;w*CUE`xBly+%<#vHAf%;9!f<o7L zf4vk}&~%$?Bog7Gc}Ui`kLP)iPw1CY>4cRZCrhSDZW8mA)o#%6wfUG(e9rRC0*RX` zI&LBUSwA|=1RT3HuiZ+Y-?}V0X{lj}gn8RcHWin7id$w`h{jI2n49=z;qACXJzu;% z6c?s=2O2SYa499UPEw6%b(yXZe2#U-W&aGdMQPEQYC`ktxKEfjHGY)6IA6f&f9ure z4XqNN?y0yJ2z4q}JhE(>>vY9jzV?UXhK9xcm)IQ_C0lmI*M=SqpI?)9s6D=cO-QI~ zQEwkZW8-qStZUO+r?kpw7CI?tFH!z-AVt9Zn#7adJzO&%a;2<!(8_1E=0`;L^u#uP z>oa=Xfty#$UXje~tW{I$yS%`yZ;PAI$wldWg{vQ?3ZG58ILYVLw<l9{Z6$nmcdhyL zlxay%*ZsYnmogKkg?c`^*TBG)I%k$xOlVBiYsId74X2;wD{B`Eb)`?M+!sD|-lvPl zR~(axms+`4AzNqls-JC3GZv}q-_oe<?6diF?0c@x{WZK-{$!lBdk|B6R_}16+~Oj> z(DlXM|2Yk_<+e|9)Y+hz^n2!|4%XGoSA6_q*Q9*ka%0VewY-&44t#stW_3$)eOr7j z;;=;YmUj~lf4!a8Kl?(Kh-Bfq-0feBWDD<d>LyIP!1!Y2#Z7D;CuVhWJmOHAKjF~* zh3&>i;{ulFFx`*n=yFY{bw5&Rc&wVqXGH)nvrfnyZl0#9V;cIWHXZLXV{AODc-rpw zIX(MX)h86|*Ze+bX?&r9-}3n#2IeErZM0dAe4ew1{}BKD8h%HWdYgAvpKEr1JN-Up z^M_4l42+kyZ{4_sPkTYVZr=;--a5%6hwArTHP|;JCu@DDY_9X&dl^yd?(b+|$Z>Fx z?rC5s*}%xdk-^P$;K2Vzvl)&uISvhy1&q8xa~%2DHZ<#`EaVO5U}7#iz`&+az{d55 zN%C3B0p>Li82JsDe?3!MqVh3;Nn7F|kJN;A1(rlMDPbnzC}juB2WRys@3>U9Ym)*? zsit4@&+~IW8H>5}DEM^#J|e0bKDDXyoPA4He}qe@#$-v~RK~8$FHdPq>o}^D)*9vT zoM)+<<u1Qu-xJAi9Imn4dHXSNTXVykl;?Y$q>8FHD=kr6`n*~0$AYT!-6@|GByHZ8 z_NQA2&r?yh-1Fk04)>kivS;JiG^1lPA`VC0y4-QqF4KXxwj=VsNz9Wq<vH4l22s6< zWu+2vx@k%_4;*Ell^oEodB|Y)-+)=xE#SankpgzXlxIx23murwC9qpdH1K;{v<jsu zvS!b45?iu>S-HlMfolPy<gaw8gt#Y4HUfuT4;3<)yEHS#6g2boR5B_Xb@H}!oDA5t z>FAFss&>nF-HA9Qvg*?l%_PCYGm7P^cA7fr`OQD1aazPo-s`USVmWEi<5p~&C;sy5 zpU9P>kZ!))vFdzPt4^HacJ+O(dYdZFPJXGFZDsS|?U~6vElWNudd{r*pk%W1Tg|{s z^_5R;SEV=^ER8>N+++po=~Ww!OzXJDt|V}EQ|{9Vf)nyy>Yi^{mieDK=<c@zPF6M! zywwYuCC_|dmv>me;~60*%d)tcd51u4U8>Xngx{~OA5!|j&2`~`<cklj>=_4UaQ$FP zTCp_j)`8D+-DWgMGF9}6ax|E|*mYL)uE`Ev!;FRBEt9kCzZ&~3^jos_x5nwT?oHP+ z&m_y7zV1=j9X<6ddr;F6<=T|(4UVT)_496smG9O*@yslIqWRX9C56+1=gO8&zIIvD zFWKs@>!mG|jalQ$%x^Z!<%L(z;EDfq=(w}mR>j&6-l>-tx#=wBUCm>$N-&e*&^e{d zXZx?*ntF51!Nr+7jQOl@ILpd?VCBtdIGE+o#1+E8z^lT@nO(rl%Td5!B@(uwNtJ<7 zBO;>q+GmCsfrezu4G~5*7Mr9Dm>V~j@|OQ&P@XS(Acy6D0!!toM#fABX7Mu(g2pn1 z$`YnCrCqf&gI%?PmMXo>cfIyR-F|2Jp2eHqSE;X5V<_rBH}@*jk@P!uLP9(5`fi?e zJtz3l)aw&%JB-VeC7)Y7PvomS(L86q`d+*6@MX8YI?lTv6K5N|sZxLGyD!grGTwas zQq9Zo^wWvw(-r3E*S=$(cJ;#cOxYvh?4A<Ww6|~6J?C?+e#Ns?2cN%^S#y8MGd*Es zSMzC(^q;}3#L&QQ(ZIlR#evmy1tZfGg&d6&3=H-H4P8@p8F)Dum}MRuST}V;HcQ3> zW~m1ZY!ZLouyZ_MpH%v_PQO90VD*nV27jC;o=#}f&k4I}!|~SbmqF@(&p^o?5&t5T zrf+}$VQtA$owX|qkBWb=YkOaou}-pRe|4}O^RM$gGWtj4&w0N6Hszv3d9kwjyAy8L zem<7J{&~UIn7ID>n#Ypgcbwqf`^nt?(z(hE=QF2ow@rFKv+7Fmk8=($ZRcGssd=Z{ zEdAvrYfh=u)aS}owVPip-neY)v4H-iy>%gL!;`a>=3i}K-?FYLgV}*wbVUPO#sUV5 zf&(}EuUfJHn`L)o!=#8~Q{)rH-{kQ<ICzljKm(Ip0poH_wi##5ma&~kU^_JXAaCh{ z!#pn*Fk8(z$YZnPfOy}Vp1YdYce3$Y_}@J9(<T1TqnoU@M^!mLUFx<uudM#%<WrvX zzUu#Xo~$Xios<6m*R|XGz9^orog3a)bw&KwS(WE|=SI$}n)H6&vx;}Mr~TzWPkbHu ztS!#=l&U0)({{%TMSb%^%#-$oYzn%Z@4xi-h3Q^D_X$l~J#W|LZLi8RW4x!m?O!Uh z&mk}Id(|}=1_p+#+Se)>416UE7?mF|vut3}`@&nqpmbkAiQ|O!%f-yxY<Y%mY`v-s z@eFyF4rJyomxvee5ei@s`p~Fo(Ik|>py<KC+Q7HDka5a&p2TgHmrScP&6_v7SDSWJ z=eMP|sMVag&U{k6$i5@}q<TwvSc}VyboUj_d)aHOJF1*BT51j06BAlODq7ARZ&`l4 z$mvD1$Bot)kN>TH9VQiKt%(Y)K^5sPGum7w+F~tQoH=UGhSwZmueLbeqB`Ap$~HmA z1^yov`_KDUHrq@`TcP}Zx+(t+?+@+Dof7r$j(6mJ@A&MVC&$2Gx`5@_G8WMZ_0`jJ zMFQBl7BCwWFtAKuixgmu-N3A*mc-A(?W4eG#=xl2;%l9tRWgAoOTkV#fz5!$*=R}Q zz8g}q6^x1;O)3#hsuj%U9~xf?RO+7KG2p1ObzpyQ!f0;BDB;LvEWlcr5MpP*P*}j8 zTEOPHAWztUG2X!`kfG8wtRi)R$@3?D?@N;1J}_U)Xk-fLduq}D`9$)`w#d8-Y(Y18 ziWju8RHg^cXivQGpDjb7qTjXuXGU+T0fW5Bgw%+(@?$E}hU|_CtbqmWo(iDVm`a+g zsxFgMBAu8E*zyF}11Iz@o6#$z$*M4OLQn%+dI5W>16#%fw!#B>r2*{4u56_RewN3W zPm1NI6|jk%NdA~681KLy*uYlufbF@8gV+p~w;pU20c@EE7|O4)1ud9jEx?j^fT7x< z;vHN5sj}WzWrD&7k~JFy-2|qenHHJ(Anv2H&eP@7AGT+DvzxlAcld0tyY{HOd1Yhn z_wLS}GrE8B&i~4~Ta77NeWnrv`>qVLyyxxfMEabcv*s1B#T;O*GGI_JU~ov7CHpLV zQaOXq0T!2)Nqaduel7X$?<`rVl+mQd!OXT{_OTT`&ki;DOkx+A5&0vd_x%@!Bn1Y| z33HMrFrCu$Ke00B-n2RAH5txy&bhpD&go~lFIxQWwMBHK_CGwCbLQCGGj3C6ELD+6 z6fB*<%G|(ad2?#?1-9G+4D}7{UPZ}IH0SbOi#V1t?^0%?#Dj#22aFX9*rJ~&M2RPg zC?v`_Fnbh~Wi4RLTEHg1fKB*XsnE3r0#b=u0*QiUi3(jTyuTKDEMO~to*-JaNNU2O za`uJ%tC&n2m<8RKjc%2SdMz;Awz&Ly-rH-7`c1>%ruiHTS=jPD;z_2@@1L_gU*+EU z$uMy#!`+(^cV;pLHcWS(zO;4)bIpwZOY;n-I;-1zna>V6Z1?edcLrBSR#$xW$?0pB z_#f~PoWHdxOw*xsRZdvv^4}|y&!jC6lgzL3npYZC5fin-`S{Y!FIh_s>Z^AxXLvO& z|7K5ZLI2F9D(6=ApDxSe5nGxzA%ZWhY`#?P#jtFCt5y8F>KPOkuk>PGDOIK=P_}_< zwHia2S^y)51Jm9%2DJsN)h?{wb8Gd1TdR#6SPn+5Ii$s`*0AQ7)|%6|)|~sbX8)}< z&I{HYUA5*)*P0u<)?E3uX6vfe+jgyvy0BK%fr%ku^|LO9r%~(HM=?rPWlMUkVsK#G z-c~OxwooQveU?D(yI%`qudj<$U&U8e#`TJk`GAV8!vB(z0JdPxW!%4K&RIDrm~$iF z><xJzG9_=6m0qyRI+ZymtYpoT+I#Lgbrzf2x>mIAS{j$NY4glY?X#A4yjrSbUBa__ zlfmsxM!%QF@7ln7dxM4bX6xIVyRz6mm{m&rT+fh@{c6^#U+#$;qSkQ;lrcCkMK!E` z_KM-<t!&YNb)pPqzqW6E@oVkDU2Bi+T6;5U?MbdR`=!=p++H2^Var3WwYk;XZb~uS zjM{!ci@743$=QLW#F~XsVY`b0vqi)9#_H|$-rE@kb{IA6aK5mb@xu0#T|17fTEo$> zhS6Z{;aS@&w3#o@T2m>#?Yh^_T<LXtx)`#e8FyQ)KCo)r=3iTu?Owf(`#;0(SzB|n zSI2Uf#mwFsIeT5e?NayK>;G!4QWYrSUcF&{=VmR<jarrL^IujR*WT#V9xuLo<EF?J zO4WNk3-+3IuSi(6A%<&N9M?YQ<9m#6Z??$ZbE12*`RqOMRcyyzSMWx&aopZ__V>&; zulIC^ZgkSzl09?Y^%F}!t=|9kSh7pCbn%3(BFDCH+}RrcyEL(VoqzVagzsC`9vl#1 zTeD4S?E$T=5`T7`salhi%~YSgcE#*9ItkmSMQ>AjvornnniH#5pSra(W%jQ9zYZP0 zb;w}OE}b>2_p0sI-Lvh$uO0d^hjnb$8r<2T+q2zb!j2nVN9v;wUwL(KY4n<?52Y`- z*6{HhjIsWoIAzCHk!4#%rq#R6-jdi;e^HI;;<E&n*Kx;R?-BidELd{y2jwLx4_Lp6 zW(9BFFUege|GQnadPS~f@3n|IQ?nW^J=r>Z*zykSX<s$fNo&dT6qXEwlT+rfP0Kks z#pYzD0YlJ-dFdZcmTZ{pxa?%C0ISl@$<~>tVjs*?l1!OVb5hlTz1io)<~fn#7iR4^ z!@@e@^o}>-PY*G(z7c1CQ@U$)eYo|(U*ZQhz236t_pT+~2i~08y*2yH(U_yrJPZPF zR!23g$y&X$NP1g2_o2$wtZSmT8~AMBwQAdq940S;b2D%6*pa<!PgTytS!W`ncb(}u z`?+Ur?(4%-fA6?jb#&h8vkVIVnWk2skMP;OPiyzG?A423U$}N>HABMMM^U>&-)xDz zy*h67>a|_#OegF<wda6W_kkmG&fn0vq{YCry-Cn3YUO5|6MDRte`=gKa?<O^(&MEH zS#RCu80F46_HutQ=M{0m>6!(}F1A-}bWhc9I2oI8vi`!A>3dExGh7X9IQee&iOxHH z4>OK0bYuI}eKk&D|EJ$4V;tD*Yp)b?t`u(&e{JX*{Y1!FW%+@VD!a5V9-Xt*^uvLu z-=&w=oLjMb_xkL^ySvUF*tT_rHgnADU2;6@*8X1oOMG2^^|tu$rTetj)URe`@ZA~P zv%CKF;q>mCE2Y=D7_j7f?<kSpuETR-&Fk%xw2$1A`M+-Y+nxTe4`)d;?DAp>)nVSX znq^b>8lJOTMSFJLUUU0O&Mr0IU95B09g8`r<dDd;_Tr0Mcc$oG*sOb3tKry=X$P9; z)+hArI`((>zS;FV+Ok=z75QIIo2qriA$Lxu?B%0B?|tCCZ}axvm)d)dw$r!TFcx<9 zi<hv^w>f3@^CZ*1t8sr%Ms}Wv@O%*e_v9>@zVNqKlg{>a<gnT6UU^!<7{q4%#nG`a zi;d$ZPj0~K*wtIF%bfjnoN=!gi~8TKi?uHb|Gha?cl!&O?WwzWtg7BV?KG2B&10hv zTkq){a-MK_&g-3g9}aqLIAXhQyK@6Ghro`;*W3Tc>{MW2n%=#((tEp^-Tw>Svv<s} zzTi4xNB{2~b=GU699Tl)p04`6z0dl|#Jz`(y*b!Xd$Hp8md#aL>}qc8KE3V1t}|K& zGoMyne8N@s=G0v;?mK05*~i}O{xv<@RAJTbX%QJQ7cMO;Q(C}qxLUC|^UADwFHiqu zo?f+*-=M!x@|A1tm5+b#+5DaG!{WZ3ZSRZPD~_>O-e0+=x#9jZk0tNEop6-A7U9eG zZ|zAX%}MVp{f^lAsg}GsG4IWZf9wHLO9OvJ1igA$w)oZQopa9aTY2(W&RGezUESA{ z-Z08d=-j+)+wD0QuiUxa<9kzS-8uQc2b=%iEb-f+Z*y^%*Y=ZDH@?n$5}kKM>C8^e zJCBR<c1}P2|02WQL(`%e<s2UON3(e7F^9bSkTq{tVcbp!xt)w3p6cj)44Jp4u6sM< zhY!(tPo3X=l(#=LG5TP9_=l3;H&*R^rzG=?p?1rpl?)j@$4cuish`{ZeO~9eT&9cL zN`JN=yB_;lYXPH{0E3RgyGz?jxh6y`(waFvE_3&ZgxxRZ`f)jHwSB$)GWX=OIj(Ex zY}8}3SNL{r<=oW%uYS9}X2gH3zW(jr&4|EPa|`#EpIRCD?%9J59frv~5955htZuT_ zAD9~RV4qiJMM=+9r_-0-rB!tNxu2Q99zA`*#Py|7-*dSVc55jd%{aX^n%$Y}!^1NI zkNm3d=4$7z-&Oij>(P}xXGMMfKR;EwB}ryo;&N8;n039`yL1$uos`+`vv2n=p4<J> zxikMhow526-~XpCY@TcMZx?L1ZJBdZOK*+B2F4ewn4%tRKXQMY!Tr^jf9;TFU^>~e zgIS;1)!@jl>o?8To$r`?*jDF|;D(Pc^bRey-o=sdo;i0{@xR-rb#}LMbEv5?8X2iE zXo+?(C@E=yR-HDrMlrNAaJ0!VL^UxsMR6(3X*TN7(o$=6Y3mkM^Xih3)3Qw5v2%wb ze?0&G{qbA}4)5b<I&k9D@%<;x@^djAy>MaQVXhlohos~V9l9ZPi|gTIIj(09?>u-G zfA`t5!~DXj>FLZoj*;oY8O-TlzF%7MQb_gme+E6~O%ggCZD%A+GA~?M?SAZxI3v@U zh(C)yE@DuYm+!b>5X9`sE8}JN<0AvZTCO=31rkmk7gQNORBgSuw41-vr(I;NRfw~i zI)k2Mp;JQUBr#7d3ywuk8=JY7Oy^T9IO*8UBg1$oi*fad%d6IQ9f~V$EuGrKu$E`1 z>z8RSm#uDYJ0X#zw5ln{IaPrpKqcp4Xd-W`s!D`+lD|o2Q$_a4f(Ws)?L`VqUY8Y| zqPCgUuGYAupql7wu=k7D>en7~eRAi@GO%cP&oJ5;#p5L4>pVx9MZ&42qhOYg>O-@O zUcsxMd2F2#x_8PXUr)6kajXnY>FX38?c+^uUn{jW|Jncbj>Ta*Hf9wMTlNaG>)o~} zlz5e{>~0@hJNb-HgP>&W1LFos;Tyqhk~}Ga6D8yJ6t=mgO*km%F6F2aAjMr&*xnl7 z(jn*}5v%gZLTzfwB~K}vgd@xx8EsRTL?w(^_#6rY?lGsmc_OQ~RCCgaFujS77&Yfy zi4fDA>!ReuJNLq*OCEC^oIHKIBo|3&RL@*+G&J#JY7@uSmP6CSt3)@=$nxM+y%B9v zsM##ET;kAKUr~*NH<OGk)MiX~TA0=$)L+7RAbQ(T%VpEHem(h2k!!|-ri8@GFwLNK z9_5~_Q5s%H1Vk-@I2ev420c}6QJCPRveH7pfki>2v6;Cdp@IFsoW}$O@!5X7?FW`G zkUPbskzU!vpu(Z?@x}b8g0Ncw^EjR^&6uoEdb<C?%kp?Li2&h#gM0JD-!bcUUG_FR z^yK;3x?d9?-?#evxBT2Txe1@SJ4N{}xC#88<LKrl>Z{SvsT9_sC|T}P;&w=MVj!EX z7~dN~H+f%$2Oe5QhaWL(URcqjYWT3_iu%MCFCK~8RULQB^f(uhZx-6ga9UB9c>$wn zidX6(OHIQ?4$B)3ZoQ$hcE+Pl)rFGUvYM?a>|DvMUpT#j9C#bEv=v^IcFxEO3lL>D zRC2q_CcVUrg~>g$l#AVKh1HF?AYrDi0$=qo7LMpp)#ls|!_XFPJ(dQC|0`tnOw|es z&vZ;*)ye%#=SK1=p6zEJulVpv;MgX&;0IUMO*(me$}P7eDM^pSp0imTxiNdH$;xTb zYTZ6c;z4}}!VYh}*BE|w&(nAB)>a)+VfHcLdQyI0{K<;yc#9V$%6#?j_NmK#ey`i_ zXR&|DgkzHN2MPrxAN+s(VZUhJ7gi7H(w4-|hru-)4s$of3m#<(X?;|yRirb?`{9I1 zhbG25MQd3I^oejNq~4pzIcY+Pjo=h_=IIxjnAksZ1Vu1u{K-6`5cEkhiM4?xtxzPW z<cf;EY?5f7=hXzJ3u0ok6qph&I`L+em>rgU)Z`Q_JkiQfQqpAsM|)vUE}!ZQHOB(e z|1un>7iPVfwmrwedsBrs%c~ZSh_9L2MmHL`)edvqQD|TZP->daU~t%P3vY+c8JDH= zoIrzZ%y$A5JS{#-v+z9RllbAlYq3~d)WX3#ELw@LMfsS-)^*;|os-$;vvtjHS;kc3 z7^D7yscUnimg?Pu*Yr0m+;jKfal1#2ZJ$pG_kUh++U|M7y>0iN%KuxSA^WxJX7!KH zo8mt(^M0KnAi3@PhW0=W7ct2ht|pHJ^let~2o>INRx4T9^T)`AJ@~Nahjt;RZ5pgk z4juDYu#lDakG_ok3AW=KIvrx49Mob|VAXu~l_AQ(nI+D$#b?TqC5{!H4c7}6u+N)x zXx)-D0mDiE`P7^aPu({2qHu3zXl}s=u?D6D3$+^z&+Lwg9LqRc+>$X{EJc(-Cd1L9 zzWCuiB?p#9CI`-RVK=p|35-Wp1e#VK3}G+}U|CzyYG@+sm&Ip#St-VebLIvYWe<iU z95E9-jdC-11(KQgIXagKCa|bj2p<UB!NR%a5QC7~L<uF%)J4-1PAwOya=iRD*J#p; zMlJz{r5dfF0!;xftTGQKZCJ@xZgW!1>_Dqm#+~D`Z>3b#11s&rPjy#zsIuDxJaGu^ zW09?oy|;~Hw`XBrx75MiY^n9jBMYykOZUvZ{x$B{sgtYH-R(ErU_P~yJ2XT=+U=L? zErCR_8$AJO3p7}*{<}<?bg=V)Naw>V0-VfEye<hoIj<r&*_d<eW4*pYNyFuu#X=S) zIjuEDD>MUK4K9~dxmvVTPUY?}*yNPJr)|X9%eJm*Rz&UrmMdR{5<`S%aV*F)oi4x^ z^Id7~b`eHa9i9V0X;Co(5%1a+Hn>Dv8p^cjC3UtdI6Y7jSY^A?EmYLONv<$dWXnr7 z5s}o$uoY%&rAt=^FVJve%`!MFU!!AI!Pu1*cW2X9C5H989=KL4aOB%3mn`w~ppIty z_LKPz-%{P5wHYpGY%I~;x#{BKWp=B>`TnoyXt;JoF!S}%Uf)?Q4JlrNNr!E?43~GD zPV!SdACR>EZ^KPy_f^kKCja^0Ex*LUVa?H_GD?As8#I*MVj9;o<ta^`-SZ*f!_=8v zW|8Y}&1?wvkv(#a?W6O-jSt%Gj&eCRf6`i3^j)N{Gt2AS%ZDB}0#`7eaCoq3TCC|! zx9+glA?i{-T&@)kDn=6PnZAXwJic~PSn$L_fdtbTN)lha;({223O0*>G-Bh@x^O_~ zj<)1Jhc9h9Zc`tav6`Kcbhoh7IJ42CRdYh&Ax6^=3~UpO@`5K+X!M^`>a%*-xn{#j z0fjY;oC+NrPMr_JjWYUH{aEfh^U48MdoE{z9`z@u-icNm?mphv@KNvbKU0}g(r<QG z^ceQ`I-UJs=&9v;&)#r)ij1;m@#098$&>$^OgkOnX6$w4!l&{XfAo{`EOn37Jew>K zFzxXKPu*CSNjB{Z`TN-z%vc;%ygt0w;NqDXuH_)4+rbc{`=2{esbE`j?JE87BvTEC zf;;mZrMzmN1u;xHdT8bxr8J8Orpnj1mfu!VWzf@b;>vdVW@34k)smqxXu>B3p@Le2 z<FZZMJ-=6Z^jy((?g$nvx^VH07^6@`prcPAL-4GoUIV>`(DhHvSW+)KH94Bb^c>@z znP%_H60zVVo72?}DThUDQUO;rs*X+dHfa)+V_=9+OY@JDj1t(d9<y-zqR!15H3hfK zxXvK7Zg)`9v=cM;))}p_=i7fMx$0>~dzxbO(+Io#|8b7}I>$bQN3cg6<l-w}66;!U zRXgG#SMm-f&NB-_RsJOMyf<e{E?^IvP|xy$fvJKus+Ccqq25oR-lKrk&!CZCqfz7q zgU#aNA0<U13`~vFnH$-elq{MQ4pgc*ILuBdN&LXEbVEk8u$GPki=mLwlLC=9%S0@` zN6(okd)zVJ=&*RMu-LXljzfw~&7Td!Ckm~)U~*|8la~UM&V``43QU?4Tp|y1)SEfg zD;o1pjh(_SRud#V=^>NG1EvIp=7NQs#w@K?snTtQTq_gZYYqj63xpOc)pRW2ytq*O zNT77LdefYZj0y}ElM@{|7?@->geZSWXB5!NST627Mf{=L|6peYCKUk&(+0+XM-B<i z_Et=3Hzo)fe#|dOWl9le2v?NaRj4&l-EsB_&T^&<Bg1Bn0G2DyQ@=e5zqz^lMmx_J z!NP~-e2?7axjr!Oi}3o|n3f_I`R$`o$f2~}P&xY#%<>7W{6FgWXE3}guNQj3a8;x6 zfk&fAMz3&2qf{HC_zM>K2Miz8`@~-`*j+Em36m3cVB~D)&N;v?If2nKfJs!r_e63@ zu><qsg6!!Gj<T(mW(%cWZ}Af-;c{KX$mGCxQ!#v6lhwk+fOW|hd&|s&O}G=n^8bdG zy9#C*El{2~Ng~3L>$s7-)Rln97PsgknSW22Bo#W0SsiC=7PZR!KRM5$%H$x^5{@i} z59ZA#Ea3|sofD1AT4LKAD}_v1>Wj@=9GEVC3z%4-@`1Hx!vZF*0OnZ<(m7j$CMz}F zR%7xoaN73VODWO*W{8~6Ax<NODS0Lm7D=Y=Ox8;#aIIz+)|)sbyL6JjlbXdh+3UyC zShna1PPZ+4#^X}f)A2O&?r}q%M7>uVbTyCbeFzd&ndtRvi_)VhOg0DlK8n}B|IWA~ zvcc~It9=8bJwyG6?R}e0_LVoV$U8L3A824b(D&*`!wZYXdp{cX{ABzl*x#wipK?Gr z=Yw*w01I;in}~y=+i`ZC3_i~!C+CCWCXN=jzOc@GFhN<7Iplj%!eWttqW@wOmQ9*_ zN%dHu^aLZWX$5i94{&Z<?iMp$sEwJc*Fibl!BSZ<c;Cms#^X})6D78ObXH)sXe=?C zpwPtG<>t>2zp8<$=|xq8dSJ{)Q6Vdf=0<b9i!s41NkKCid6qJ&1jIbz<aK%^#LAgo z-Yz1mHnq`NhhMBl)16my0@K43ArCj6(1{{ug1T)1%KJBoZaut6ZbQhUmC8yV7(*Yr zrJB^vdXj3uo_6Pf%~@e@QSri#tr3=rg^t^V;+Dzpc9t)=HuJ@U35PP|wG&xBJnxlA z=nV_de)FSlohHMJj#(=@Ls=Ir_gIj){Uyuu8SeZ$X7e>LE`8a%M6&(}r@Wh??}?fJ zxoZxv{XD_;dqq|yJClwBqm%-VZBf680pou&|6T@(xdEKXM(*~ngyu1DK6Mh>&zg~P ziNoK?wZ|a4M@TF|aOy)g?YN>4&q5}jgXS??#RFBDEI&kfm1|5DmX#D$ULVxdo)BMc z)De9pld*uQ`1{nBk4%Lc9QV_lrVDhaeif@^XKg;rs35>1J%LeY0*CVf^WE1pCWxq= z{TeW*dCFTC73(Cvh>5W}4;Z)pknB6i^mHXtfKuVphdjP%-dO@-YX!6ng1MG%RL^Y} zscB?*(6F3;!?ec<#{3NKDN0Ls2FpF#Smf52^6^7zOqsm4qrQ@RokmldK)TI~hvC;R z%uG@G9~sAGtNV%Bt%1>Vg1dYGLzC5(!e4c3e=^%FSiZA!1<#J<TQ~LbEl8|z*vfZd z`A*NRD^B)p>SXWd;?vluEWChGuz<Cok@@JslGWccv@Y--Oeo1sV6s<KRXL!R+a%`B z%pH{`>cwbsp+R_Qpvv}R(J3XX*Clq&JK!`yfs6lWshx>O@MSTFC&BYBm`P1=%6Odq z!9_1?X^Bz;vuWwPxt{`EKd3tgEc`Z=xtW2r;<#!`l10r$iInZ?u3JT?v?cHy4LG<- zeD5|!9S5fN9gN36X-{N#ZYktUm{B71McgBjyC`gev#IM((S_-Od)&A@#m#aQ0z{M? zm|NJlXl@A8G5GJ%)FHfhnV)Ax^L<XU#ccep8;diF`S=|+Rc<Xh8q613xa|B6dF`TQ zbC)jt)tIt%$%gX{o0qhBJ^PUSX3?h2CHig~w)$xw?3gwCvPUnU0%K_R3KfT0JDOI! zS&_JH<%+6V?)NMXR_!Xj$G$RY71Oq#%RK_PJtlC;Pw4PCz^JoPh<!>yv4e4+fYw$9 z>%G%e6h0S5b2v6UHvR5s?XJXg$w4S&vhnuR=D8olI~Tj~UzK(>$SW7F+SF`zf2(M# zBa8c#k}VF*dIidQ4V)oIgBNacYAM|JUqtG^nEKiW<z^RiZmI3rw%S#ko1yKwNe1)U zCS%#AjV*H-PlR3P=vu(A>e7FqSyv~hJ=j%sT_n!)ILB;G?llazA9{#<FzVvS;9zjB z5fS~rZIWJMb=*_Y_;8UM#d`ZE$ZvP9UATfxb9+SMvto^hOAE_R&tc`WX{%e_S}XLO zSE;>@Cnt(8T>o(j%N2{+5wj0gW%aD<Tp_ilvp<Yc<-)=81uH^-v#Pz>da-Bg>l@2G z4%Dh#uXTIC==^}?Ee~tBKxJ41LwnUhZN@DXW&JJ;+`qnZs3}aD(@^BrDEj1pO8rEq zr%aq%9yqwDiRP5@O<3UP6O|z(Yg9c^D9S+Rn~Hd3F~{-`PCX6GCZbvlAN=?}WaL)t zn&1-bqiFqKgwcMARnX($hHc_9vqW88{<|zpl(s)2-pFCm<Qy1Nx>58)>BMv{xerb{ z1?8?GQj0uTB^X#Wt{bw}x@sm?H$C)|Vd&RmOy?8f*W3`df2oVTnsEvfgFXZI;lS<9 zI}_4#?dvCU8Y#MpZV+ny&7kUVx?8m5he`j<1mCP}d^s}@EO}yc!~M)`6|d&CGjFN0 zZ8qW2Oki>BKI9sGh^OM_j9hK`2^@J#&gMNiv^D9F@S9#ChnriQdaj0~9sZzHH_Lt9 z*@m^1%f;uM=bWC=aL2f*f!E8>{kL-HhOhId9E|>^$a{7|(JVvJ!mn57oZ!sYuGw{6 zXmx>^@)KvJ3Ui6IE+3`@+g|qDvLS4qfo6MxWvcN1nmZHA^OGdJdygg@7FoV$(N$K* zc?BX99ykj=FiT{Nt2Mlq$fz1C7+`)etfPBlX2_*)m!ox)Se{-Cn>Jy(XJWy%lI-g$ zUV2U`^(#yG3(hG`knb1L(pgdRPwK*|vo_(n!hV~tbWda3V&luReCBjb?>Vd`vs_cA zsj`($Tm0)VPaN9~i|zv#8hrU39>4!`%Fd2)s_fQjy|WhmW!$ldNj-wGa{^c15k`-K ztzv&}x%}R;uJ_3dT`x^TcN2lyGYj1Px<l3f9Fka&=aAh~^!kd_hYZh<;M^wvg)97W zR$T~EWbSVBy0n0SLyyZnM@)W-m$Yl*@-==c2ctJ?i8TL+le7At&k`o09}?7cK}ks= zI%x{?k=tsF2bki6raZo?5_M_szU}MRFO>Ww8|!m$iPv$NG*6a`u4Yq9R!41|AlkY^ z@U76>knog8rWsufzdqZ$KjLt|^l*}ZcFEyI`xm4XUP(RhA^-40WBv)#MGIo$gH(f? z3~Qrb8hqZC^2yXUX}_geWW1Kwdx3O~6U+7_M|RJ=@mPhys>}C=3R_v)<Apzrj;xJb zuah#lbg`QOV^sIk8NE;Zx*6x#8s}cQ>F38-Uv)F8?&;LKAEuv84O!%{^@vbI)kn9y z*`^Pc+%@X8{-gYyh0|c->-*Khg_ZKbm(uRoW^7q3cf*9o{(-U2uGhUU-2P1buXFel zlh^e9K^qxQT5;7ynjD*0ZV~Wh=WkArmQOx%VwL7<9Ri-0|HZ{OJ3Cn_Cp1^iWbh1A z?^+(C+WUcZ!h+yr$6$sJETxVd``cZe1TQXcQi+;2b&f#Ijm2RO@}k!K50YJ02W<*> z`gUr<UGAPVzOc#up+*uh`riwWam+n+;poqZDU+|?Xi|#&E~jndEwg~F;G1c|w9VI+ z*B-HbfBwU}Ba3<Xd)`m(KVX!u?~u)6#`nH!?)&vDvr@%u1Jfey`VPD)5_;yxoEWAb zzmBnBLF#|S=iiO}w!D?C40x#VQ#@#64eNG4qm9akKV02#!B;=1NBDwa!ZYr_ljCNc zW_-)?pVNPqiLMimd~nxXMsC-G$EypMoH@8dhs!ZGki(Q!V+XhA<i<%F4@DIiI82ln zq~t`EI-0c@l%!-t8AW@z<dkH%xTLsbnmL@+7+v)k)uI@p)U~=zmp6BEF)(b9;a8fm zQFLdND8J?u)7jg&wBnnWFQ4Abe>$G)v=oz^76*fz+-ZAz{+s+#45A#OGIB;rQ@grn zNj+<hm)peEd-vRwnNp|cFem>0^V{+I6q}4wDjP01RIxB;6&z`7Yfs~<(LM4cN7AfY zSjWy_lG0ITpQ$`azc`8>88Oa~DwLRha;AHqz0IjVjuVBPefhNtcbvRDO^tv0tHv(| zlNOnFZOeHX^FMuZTh~+>jSB@X$#+gIc3=$?F>rL4UHA7##)qv!O6&~jmNP6w@|PPd zQ?|e5#r>dh#!St7+wN@n6ul<@K+!DcY$rB`EE(%%vMSBO0e(smp%Ow3A!`mfx5bDq zZkQ!@iXlZJuEoKPA#1kSKIYVyx2;@cB6co1a`2$0P_bu_QBkK??|H_K91R`kOPRX8 z5)03!ocZvyNaW(G;6$gR>icK+#VRd1;1b)-;Ue*K#mB~mREa7{!G=%CT>Mu&mh&8U zWL5I=k`-58CHj18-03L{V)l+AqUT+-byLnc*bA~wbcj@q;0|Q?wW-HleByQ=SLs!k zI~r#^SP~t^9y){9U3}92C88byH>W&M4SD-Si8r{?ftgiCLGZeoi{#agpgx1G0U`cx zSwy|R#wuO+%F0l3;EJs^O^`^Mxb?E5=GUW~YSRl2CFnB+6n2YgmrhwU>3hN?ah-dP zOb)zUTq<Xh=N$Oa%dX-0XpY4u3$@cGY66KjB9|*Tc<UV1d^lG#{cl(wS4>@rSD~Hb zte)CwH!k_4$S62;alA`qddl2#<yqze*NlZN#aB8S7>XP^6Amd%uoS+cI7cCYX`xoc z<?AY&CtNwp|7=2*T)TW{qpyqofhEr>#CBHA&~ZpTF7Ij?``D59o9$LbCw?D>BU2JZ zc3j`-z-lSrz-E>q?E3x7rHM1eB>yvBc4s!7w9MA-s)*9InJOOrVTPL0!Il4mwgh{G zT5g-b7OGpZIHW9KL6ekqt;%EPCqE-PdS2g{vB1)ORq@mqmB%SZSOO<$PZO+R{dzIE zrf}ya51&}$d(#d@915*ga8o%JlXcW7(RO;m4nFo-mdTv^4sV&Jt$xojY)Pi`3?*jM z`k9}mt0?IxX)E%Z7=O{+{p(e#jc4x6%hS@&cCFv@eD2|`oX!G*2Mph5G|K2?r0!C@ zGNr}+h51B*s{7ME3b;;I6?I`zWn<V-b8pkRl#sJVk|&pX<xI?c$Wy=h+TnNGIc%4; zdGB>`%xh%5dSroz?YEA^_FaFMSUY`PvZE*L`P~2ARf_+%b?ff?Ub5vA%OcTdbA?(I zl3X@l*xlq2SHE%rE1#vy21W_J21Qm5g%XD*73T%2u{YmvUeK}2=GXjSBvI|$tfJ$P z#Kf)eWCAmXLj<$rnF~CcydC`U7168(O+xq9K9-w#iADF%)!tMNXPF5KP66+nCURD= z2%1RTHT~kmZ9F$!^=Oiyvd+TBV=1qs*PfhdC?Fu0+{4W9&C=UO;vl2s30+nx4YzEc z0FDI{-ZDCFY~gSe?Vg=`NXdVbf|3|x!-E;iMDHcEsAw2=&fKaZ*8GEkVNbJIw!qSK z>pjz+Y!lRrhzL;TI?%wez@>BYi)G?2o{YW`6DKWyvC2;L|Aj*lEl-7bE-q=>D{+0w znNZ<IhZf5SPhk;3vmI_l3+lcIFdnN)5$bbUtSZlWZ|9${4y-PMQw$StvcxdDy;z%B zwbj9owM&3O)W?B&_o@ad9!3VC4GTD24;+-f7tkcM!9mNPQ%R%!3+uNtIb{Kn95X}` z+W$Ue;Lv#>|Fh@;lQ_=-mf)XFk|qfb8@?#U-Miqzq&=xq&@eAk-ic#H$>f9Y9xTv% zEZND<s?hV@;)GZW_r1!DMGZA_N5%F9#2fW&6w^{LRJGmRZ}_aDPwkwWax_;;KoGOb z&NVB<7Eit^U^ivi%eP0xxVHKwCp8{<8pEWJ7s(eOHnC^s+>LXEgS`JwwA&&$tulpa z%Hw{HhOW-E(j%&~J35SoHuE_DRFZpCp;`JMP|i6kLo%~McE`PCQ{|3cj6ch8A$FdK z%@yBbM|MpQ<*Fmctlynjqg$EKRUkF_>0efc3&yOXHbvdDLl4x88Z@z;XmK_Un8>7} za8OFDnoXghft6_q1HW%)XQ|w44dzUaK9?^HQU#1GdLQC5{=3_K0-Zw2vq<uk<g}G1 z-Y1^rSfspffgbM)M!s)1JP$WjELE^&VzDz}<YN+GRJv4Fs*!o(@Ph)CTUiWzuXLgX zb{}M9ydlQfH{nfjs6+Fr+Q)+Z3J1H}zQp=@FzLEhwU}!y=xUw8sLOkCMe+RqtNETu zz2r{4$yvR65ySJk#C@?wLZuxATApiEr)%GQ>vbu5e*4PT9-=c&G41~#V&O5p_N<5l zYlMIciw&#$v&8tU8QEU$bCyePIhvT$zGXs6Uf3+D1qYmFy^R0Nkugzh<;gP!4fBr+ z<f{lo9*eC>=U11#di>wS`F);3VT$tJ=A6Qx8vBAKip*g$>F7ARN5nzR@M%)`q)jU( z%57}3p3=yZ&A`Ox;J{@3z{BlX=KSAMD-`#wU{KeT=r?nfZsAE;z^j+x%+@raS!h8c z&#Jl1JH^hvaI^k(aYEmgCF;H}y`q0znsIK+GV{ML6iUt*Uf+--%dDhaCMLOybIp_8 zXIK>fTd?;yvMKeuPr2$)!P`3b*+GFRYxamuwc+*JeuarQ%dwg7K?B=%mlCEA3Jf-X zzVA;7V3s`Lz?e0CAx}^sGvoQ-uv0}EE@3a{x?c-u%Kf*VC8(fLqlw`F-x^0=CIR(q z_9G2OEQ<V@4$cy64Q-5D6ggr&n(g@Jw(3mL=FL3eEX^kHp|bebLxKJsN7Vg3cG>@t zS9@3((=zq(q#3_7Qk|!{7F>!iFlTY&{G@fjWYP?_UD|6zGk1Qvc2NB(PiboCngc9n z3>wUzI6UVPIPSFO_nUvK8kugcGvhts&}>@b@Pac%#`<y;f95MeVOa)8hAje|)-$e| zsB$RmQBPoL|NdW@BlQFm^Mwg*8VeLTQY@I6Pi*+ccx5(YdWN&)k_)UR4{UiNHJXpI z`~Ns3{qKWlJ~N}_g_n&s4aXTaa=1KN$~$4rI-9s7HS>y%CWaqBcYI5y__N~LHRYDd zUAIqc{<L7ry%ljr=OsP4g}g5?Y92T!ZX&VVDE$u4iaYxIf=;@II&rY8zI&mre)J^2 z+K1*e^@n^C4;b0bG&Jfzc=*e+VB7Cm`DI6{|Nnl#zyF8gx*uzp{&D|G*s{F-d+3DS zk5|h*Ki}oj_p^EBF$JETU4O)4vbvWzM2aejNF{kJ{-pC?)IjC}<B4rX#gmyl!Wknk zaQ|S96*>~L<0xZ@0mlReCP9J!jLSAM9$3n%HlZ;=#hNit*J_)My+SQ#10!buyJrCV z^>%jMAFMV7N^ypDRy&$)ZZz9PWU@Z0kPWP~T&Cd4qR6$ea87ZkqFa%0qLItS`dC-~ zPfZ54m*g}Sa>^}iJ-t|veY4FhWi=5+wWJjcAr8zTA9zC;*pob1lO~BsYA~fl*tkCx zT&-->*AO}LaE(nuZN&tZ^X2SK73}pF7-bz8vp&RsyjE*}qoeOf#{`SQXG{tU+begl zsoe^Yo4G?UTwUOPQK)I5s-~byphtaKVdN(jC9BC2ZdV1T2Zzc&bgXJoTvlOS{zb5# zMR0O>kx5g@z8OAR)0K=GJ&rH(xgqesTjrqAw?$ql$9v9jw4FQAQ#noIOOpF@$Fgl5 zRq79Yo=;@D8xfka-A4O!mwKc4<_<+>*WQgBYKqHvH4f!I3k*N$QFe!|U)xwqu}n_; zvFE)T{XR=8ccwWpKNUQ^-0Rz>><bdTc26B859Xe_F+n;||L+YQcFn%eD<(+HoR~7b z|MrF+$(`AAP6%pDs`6)2Rh}st^GN8FQ47mVxqsz4XBSklCksX`6b$qbS>B?*^oRbD z!$Kzxg)a&bIUMGmmZT`F)F8yEaDP$JoF}1C9~GH|MLCm<0t0me8(Gxbopc2&cRDM} z9TNCc*rie|DkzwI_*nR|CxZVQryaT^@S(lM{nCFWeio6SiR}W$HNl2_FOxV!1y#;X z=#<|anU^TMDv|%sLk?dip=lEmB%B#59w>Q)i(YdmVho<1wV16&RUpt%^!x&S_l48l zHgWnFPG(xnm&s{-<EY}Q@BMR5Oxu51Ao!tDh@r~lo%(VIlBX``<6g*S!oZ$2p-TED zZ}v)e$w|7qGI=9*8hBY&xqDhHvoy|l)M@rrK4(j(jC!}*QpIhpx^fE(f24~<1PMLc zAbzsgde7u!^Up#u?ZT=_f~Btd3XR!&4_mvIsVx7lA3dYK<dJ}(n!(D&hCzwSA_iSo zllX)-&TzfLYjJ31X^YZz2A7kc1@}mb{!X&ueq24(LB!JOzlyt&A@i!~(;7+wCB@|$ zSa>HVXmmFGGEbXTYJ78(kWyF4ou^axxu)*BWS|r^qhx2~g-930!zwAAjB%AkMWMnB z9h^6g&XM{U@^oUX&O_~!Q{=4|7BVJ!x?T}Tdm>W$auTbAidyC*gJO}a0>gkt<weV~ zR2tJ)Fwc8aVj_O2_ssE@f+d~utX|6E^ILBEaXNdg;&g9yiIqywH#ppv*Q#@wxq5~B zQjeEmJ2!I*26s*AXgIJ!*v_n8+Gts2rD1z!&5wnQi+3)zxn*rQk;x`)%G|ANqK9K2 zJJ`4^T(xDQ@}UPxS`Lg0s+3m;%WF+s>{ZylVCO3C#b!L)76l5<^l<+#@b%(!gD&M+ zmHf;HldCKZMITRYeIWAk(#k)Dq5%iPJrAia_@uv(C3XK}#w3GP=Zz*!xxvlY%(2~b z$%jM9D~#uzSfso+pfb2~>YY-<GoD>;i)Je(t@l}^$nbEIPlnZT<F4-xE#amu28OF1 zI?cIzAW86Iq3^ChYp2$VuKBy%x&>DoibN?+{55&b=XuJVx+0$@Z4}#h)VcLBWAV@D zlb<n&)Mg54RVkl*Quwj5$o7%Q@l_#NK?2tb6dk@KD$O#Sp|B)dV0PdRlT4%Fz|N9X zhpF6(i&z@@BLh_=Pbp0(G45-SPwgt1daC~LtM0soKI$2wVw)pNzewa?o8tOt<(!89 z`Vx-?RvON%4ovr&;r^~sNx9NGdd5QYUqOmR%YC$*lpQDh-BI~2K!7_;)T>i*!tr@J zk5+pwTD<XFr*!!yw};xRHu_CU4l#6`_;?|&A!A-#WoJP{M>OmFWh|-3FZUV+rb;c| z+`OdfJi~5=re4vLg08y@#hhB3i`N|wUJ($c{!xg3rh_u4nj@2;q3a}1w}qSkFJy4G zj?Hp%4?neLGncY(v4Bg{9$qJ-qDguur9@K&s<?$`hgPjk(Nx)&RHQh`Xp7>E=}Wej z6m7Fu#Mb*kVb)8rG?B3P8^a<KIm^`!JZ6}?B3t-smB5tD?%NlvFI?K-^h_`?gmd9? zK7-aN_kR2re5bX1rFl2|O5RIfRtaycxjI8we)*~r$=Oou?s=znXBBzuU9iH}O**Tf z^74+#_nb4Tc1`VwJn%v*n<3I>uR)53=){>HL{<j2dUuJxDx5GkdGa@h`Y#QNGAZ*8 z{_d=kQVF<rIBa3`Y*BwZMRl$u?I3Q$5Dnq!%$1Y0l0P@Q+>Bo9^=O4r7>E5K0dpme zS(2NNW-r!ZQFfXrVDm}eW~-tMm*~bz``D9C*!?nm)m<a@%3z<=yr}|CzoNaiEmK>* zgJ+la`nwhVp+7>*D|a$ZOrG_p!p)~!zmwNMamDE$8&nsz7DV-)+n_f+L}1dAgV9$F zqYs8l3kv!>wVY6Lsyg{UQi;>}{;|jhJLfF3IP#ox%VCS~D^FD!F3HW|*y1)-;+d4q z5ofWZucz0pIwP~(@bSu%89T!wJhy*fTI@Z2@iMn1?!ltY-ly0nXUT2~+qP>J*X2cW z4#Lb27iwNVI%_IR;0+~}Zh7WlB`tNOoLQC3#YG-5+xCh3x;v}$2+qHmw5R%F=$hTj z-tRWsCM-Pt@HBoYy&Eg!mUzu?%|5iuO-^s-H1Q;s$6ES-I(S#HsIL9NBNTmBkaNqS zlb&2}m#YPdh%+_hbDfplJf+fO%Xb4tk%K#@ou2%6sbKlR0}jQZS1cx(EIhklN!1sl zRZ1(X4$c(b-@UFhQ>b7`%%?@!>K=2wEdF<&U$XphsIl#urTa8QYft)FNI9)=)>n?? zSf%B-boGpKAI@`93v3=K>K<Y&a}Y8z&N6%2A{Aw}=Ct3hM>nLImVRwC<XyHy@UBv3 zRMvVQ0g<NdPPrnMwNpAa=sl?kS@U@To9FInr?0VAcfI_0AmpRv#FIihpY?rKTJd>P zYp~_=)9TCTuA00wY*Vvw_I8V&8t*Irm!FpXY%p(z|H0k*8%1Y*K2T^>e&wI}Dx<_R zifY!fHR6l4`d4qy=FggEc`Ux=<sGgE0-SEsY8L99STvKthHvWJ_L53tg~>i4f!BQ} zZ4UO_!n!p3+b5n`mRmlHS1EiHELp3fz$!kwp(C?PSn}il<I0I{CyWoXR_lIeXi%M< z5cTW+Yo^V9Q=GP5R?uu;E`E2}!#j=_f<)$orhooa!F56BVMqUqs?KHK99|jJe7|+< z)Mmlz>Isr}!rYEd5dX9)c#hYzm1a7RP9*PjduJGK^w7~uCP}89^ZtoKUoqD?j@!%y z1q%*zOq#}Q|CPbfKs7_5`(#D`<F0$=|IU<2TQ}Z*YPHhrU*nw<#hg6d>+ZbP-qV>| z`ja8cK~Gj;>gri>vm9FF8k4*%)0CKZxIMg?uRL{8xG;CqHL<x>vIeR=4%|;B)+JnI z4VBun>ZIT5RgC!w&z=Z1Y8AcOzU^tWYve;E{rC;fn2XrNKQXhJE93|Kza%Sk=qaP( z+;rZ@dmalK${Fp<7UIeIWu_2m5U_GNufoY-V_h93Mc<a-P=hu1(k59xF4QkOqUby= z`P8G`+LlH3dyDzopFK=s*~KSTb)aVBj~=tXlXsalC^BuHr*ZI;(Z$Ix4+p<~^WJdw z$>x*tE$2i(vUbdyF>!UIYV;=mLvQ}fQE9rs`|*oU3g_k@mf_VG1xmvd<#^_2TQV-W z$FFK&ytw`3`(VM(`#k=%u|*!}P+>U1)f4hz=VOD<Dpzld8lLBu{SYkt;dKHdi_T$7 zsnxCirXtDRC-)Zj%<t~~F4y<_MbBxC$#N}^f41DKRO!~w6sm|zHMQF{an?z8=ZPin z{?~6;_WGQ#TXoJQ{mQ4B2P%S-*rWen&GapE+|M6*;d{cyPiaPsDF&*Q4i@nV-xDq} zG9<A)yUw5cfxTh<Cy|6_ffuZWAADfHl2I(cvPiG;^EB3}_cQ7PN<}WRPBCNPIv~j_ z{WjqsL(2S5e+(GZeXFLtxTaFe_T&=V?kzJ5mVJphqi3f0yMG$nVT-<o{cLlBzXX3` z+mv>>|9<8v{v7Sczy4fcTkDtqFzN3f1y+}R{hAxt)}7<8yui45FWcm6tln{FpLxt- z^V{8e<d<x_u*=%4ZI`)q7XL`t$R^3iq3NdC)T$}W<e1pq)18~j6wln-%hTc}oHC`m zl8Zln9zW0Q|B15v{KCSSOA?DS=TBafm>)lB4UgPB;rLDKSH^eE&XroO$&|asQG_Wi za*ZYbu8mW2(`M{HI7LL0zde14<HGjKz05Kfk1W5NbXU{9W#!E&vT`zVa#C5JHf8TR zH{0>d60cOYn`%;A9ZMP9vV6C5y8R1eGJ1HWCI8Ty1zxHRGK&?it1Xy#w4sN=D03f= z%udbriPMG8Y;f9K=)^T`%8d&d+x5>hI5YR!R#bM(wkmzku~6v<?_~u?vzdHC3mUY{ z88vUzemXKWOV8g;u}|sf(nrCYU2?ziEKX0*@?~IkIODR)SEDrfd27topk}sM3++Uq z1};5Q-VYU~YmPrW&CFQ&|Fq_Zk~N7Yv9cb953DLTN$IIJeVDj4(>J1LikbNA2Za|I z_@{qt>}~scVe7SZ@-=_AZ2R&giQl9^Qel>fYWw8gwQm{pl~ywDdLS`hPVKB$nAT3; zit^gYQyM#0Ob)BnFepuRZ;#78&KnnTTYy_KQGK2CwY+}I>PrU{W3`kgnkL<{e$O+B zE8t=7r(-esjmp;*+X9o^Bc2&vVpLkW$C1nARmT#^nvz_jR;S$?Cb6<TTCnVFe!PT< zKiAF$lWwZ5vQ0Q9Gy8+%vBv*vj~;avJ~LyM#hQshhcx%AewnWBwnAJ;eA5<3{v>;i z53Ow3EEx-#G%o~P?=vfWvZ&#e;-lp1|MnhNI0WwaE=VnP)O|XG!S~eEE?3dEgAOw@ zmrhC-%lkMr%Hy5RlZbZFLSe2%CKo0-<0dnsGtBlfORr>ki3U9|brmd%H}~KAxgl)2 z;?7yK*AzU|v=M9EE+$~w>ftF+6ubCgNwQIqo9oIyj$UGJQ<vWqe|z$lhrml6m3zg8 zWtShR)z0{In<e1Vj|-cxJl(}1bt`s>WZlXKWhpCP6eu*+-r_9k72Kiwda{Li*YaEm z;kKC%Y!?1eVAafL={_<0vL(xuc9VY_V&~WWlM2#`-EsQF#1B3f47794NV^GW<xZCi zYSl`;%-?Jxxy<)xW9W<ECELV%15<ZB4Xb`L=g<8E|Mk;feL5TD`iEOG^$X8&#kVpQ zn_Ri?%WOJfem|1uEW6ufodC9f+b=TPOm}3IjCuB5G~$12r;4FV*{T=$M~}HUo-dm) zG4_(CO1RI(yjCNlbFXw(IoLjDGCvXEc{`;|GIdR&`-9X2iENYp`l>l?nla1q*n`a3 z6EoN7&wpxEcTqtqWGQFqKDmmt3ju6TQfExum{;$byXADV1W)k&l_8yu7xD~0SDd$- zJ#k9jhSVqx_rAw=RYF@o{17?8UVi4&g@ETV>CcZ|aXVohv9~$?_%~m-SC?KHux4HE zkM%ln_hP|>9S2<-cWIqu-n>U8{N<k7m-p@;pI&$EuD+;O`p=bz?@#()8hz=T)!|KN z6kp~=Ym27OIVQQkV}Y^29%=R+MpMc(9{9~U>H6nT`OKHO?}HX{h@RXxZNibQi-T%@ z_cz8R9bjIRVf5WV-byZFyUNn``h%|`8XJlocn`2uss8ac36NNvkoYdh+gT~Vj7j+j z&k|3rf-YYJ#wnX58?$FPxK8$Q)m(Pwylk|}ea6*IF1!~Uc#o_&5zui-D^N5kt##3r zTBm1nE;YI}m#h^}IxO21{AOKiyvRbsJ=@(rZuRZ>v(a7Zpy<@4391^o##dFRJzt;H z(U`3@r+ZP~ihaQsp6iu+#@zmvt{QNUwU{fUf#Y4^;d3FYBA3X>vo@bt^5tsV6fdFw zr!-eEO|w_pSp6p2x1esa{h<X-)<G>CVQG_huAiab*7>_Du*}%!T_<x-?Uhq^of?&n za88_|;j;9{2j?@okKB3ub-eB@nsJm{j8$!cm8i=fi_Mjrj+=Qos=Is(JHj;WlU&#? z9=`C7vrE<(*vV&eEp-wTVVuxq;CoRd<d*QN#UUm2HeZy?cP!@9`W9&ZSJKN#jD2>m zgo(C8))K=LE2enWzN%`u$Q5#JtADE0r5UddXj*!naBbugoWR<{Yij7V&Q~dO#S<@0 zdEOf{_XikF^51#N!e3*Rk>mOhozshg4IZ9On$SOkV-5R_cV^q}|2d%b{^T6NtYT;7 zdyi*N5e!}W|CaC-pTfSN8fGEcn_+_d97<BNSe8j?r*3FeS=v>?d*9{qN@=}|`o&tm zdHoJ%DI*d;u9rO2~Nj_=fYflryT8ReN%)GFWWS-x5FokvlNwZMTjYsLdb-xWv8 zPh8Qh{yaTUYijhjAAy?OlUH0?^<&1DjHeFkM3)EFKNepnv&c@%IEkCJs_R}FZ<Dle z?&NRBRDUo|Sa)pBqF={2@7(2jJKtXSNKnl5fTK+AJ!zq;^<R=5nVWLVUZraBOU_Wy z+grH!fT5E4hsOT>0yp$I!Y<vFIcze0r|*VWnU@cIlUlQ4s;-8j@_lc)-9~$Y-mlm@ z<^1tWn+~mA#l7&c>9a5MivF9_Y;)dn_eXLghh|&9R)5AtQ!gh8;lnOUH}>wIeN)iX ztZ~N5Hxn<P?y`QyB&^)f6U?6(TPj?Aem>ib89t(qKCQdn%lc_Tz39V9Qv4QXeT6Q^ zbzaLvIJw%c)Op&Gxz(fkU9q|D`^}a<b2jGxkJ^5;F@%|aiGn3(^V8RVgF-ePT=Bh4 z+OMc8Vd@c)N8TkLPgEXS=XK=92H&dV+8S+(j+q*_d|{guB)7Ex^1BbYZh>4~`vo#4 zI34ur485_d^`s)>_P9owyxP|+KW1Iu@o($;X5KeR!q$wt?8-K@pMAp;v*6}=xw0*b zYjcvnN8LQlwr#`gyKl0scVEBtZ0pvEz1a!>)o0((zVMZ6!rbh_&9m>mQv1H^`rhmU zee0XokA2_0{qDQ+X6x&x-+kNgc5Qyc`Pp~a-ka~8DVvulZGD?@|F<2|?>?mH$K2i* zw|&o3-hyUr>Bl1Xx1IRu`zfn<_md0XzHSM%E9h81=hnG2%QOCdpJy4{Ji2#m+m`%V z#(DNJPu}tE*b=GtW#REZH|^SYY}d@oUwr@1%Y*MM_m}FnSBCF>p}W0&{mZ=tG0}hS zvWoAxzWLpU#_X6k4Dvs(8QXnZ-MsrXm-~)8`s+$MoNXVK>6hPh&MVy(z30K_ZB}<1 z>&j}AqaRy}TWy%=_o@AV^m~bVvon=;1;>PIpSkScbEf}X<;n7S|3CZs+nku&mwhZa znom3a*Y=&gKPP+JJ`+~2K3S~yamM4?ue$GlU)?WP)#ERF_n=?-@%`uCZc&c=mVAB3 zr~2A&tC?#b$C_I{Z1#V*$GZNBj`-h`q4nQ-#D71?T)*pGvwdAozU{rD^OfJ%*H*1) z-}jX1yY17^|6i_6uKT>L{^xVs^Z(Cl*L~h{JZD;X)raM|lb=_bnm23^ua8?^`b@p- ze0a&dWepdXmsNbPJKk1tO1<VcTjBBJWmm<U@}8Gp*k1Ustl*4#`HAZV&$i`Wyk3&= zz5c`W>Z{8ePo~#MrWfWvuT53YX>8AtnUPm%-fS$9tN6Sz!n{gTy}|E#ott~E_VoYt zv(#I+g||AVR|T3k3Rbk<_+Ir!y=2nz)_K!Q+-_7n_@2$EQJA`->TP)Sx9R!LCmPz_ zYeTQ+zjSXdi)cQ0z3Iocg4pkk?8i%!pEqeqG-j7q%XW0UbFXEMsJ->A{bYMn<Bsz0 zY%P;KIy@x`dY0ElT<<JxFHN0M8K+U}W6>H|(KVaBI8dX&xV>TK^3JW-n~m9<S5B|o z=U)5#TE0O?QHVv?{EX@^;U%kPFc>E=AGKgUF{9^%1pBESJ!dVL&)n!alhJb_qW79c z@AV%&Cnb9C?C8BF(R-Dn??FY+lNmi%D*7&0^gMsjb1|dGY(n3AkG^*t{f}Sto;lI` z{YCGsj{m*iR`gtX(etaK|J{nd6CS;V2|etbz08vRoRt$U&*-}~qmNIs|HFztKFfZw zpZ%YAOgLIG!R$ldEcVuACn~>RFIxShb;0+VoQPH>&*F_9owgFyduCJ|-Ck>$*=nX< zDgGfx?6HB}&&dvwQ=BZPxI|8ItDNF7b4t$zW=-`;x}L3J7Ck1*yFAM)r)<wz&z?J{ zVye!HBEA!4?H1MY;gi>}H!F&FTU9dJB(R7ZNO}F7Rv<aO$Z~o~<n*$ig1#qP7kNxl z|JmizUS(X-z5aO@S4H*qj0W+Ha-ZchPKk9H{it~CHtpQD$=R7KHWS#(XU?3pbLO0z zGv~e3%N3X!@Ux}*<o`)aPqu8XD4(p}aPURL+LaxTwsp6yD0coa)gio^amQrovYGR5 z&ffQP_5sN`_L8#{J15t@oU&qPOU#RwxSg%5R}@Ej)=#`yF==P_wamsN&kCEC=ZLpg zi6_jQ);V*D0lO0evsl7Bg8<f7JLidQnD=VtywC*3=a%z7NzVWFa^8=b^IzSZ_os6H zub=Zj&z$#1ljT$70@f^Mrv&Cto%6&R7VudyJ<Xi=F>=8(&-q^>7fS3}z^1iOde;J$ zT?<*F7XI#>|JQP%GS_@2tA%1&^QE#FohB?${I!VZ)O?Xs^FQ32_dk;L!_37tvljbo zm}eiw>iBE1i`J4?KNs^(;K@p_xA-|l_2>VtbrzFcDvG!5Y}J36$8vmz$;lb>IcC<J zXm01I+x1gu&q*$>Qwt0f7HZC#=cBODCxJ0nYW|Cri%Y7Olxi)>%vxMIYu<~M%f7u_ zu9>x1uWNxo)iTpl3pldo8APpk8aa>g)(YcU3uJFCn6hexvcpQV0+uOK3wVDm((76_ zr)%-smCLwSEnd(y&xv87G6S<d*FybO3)Zb#@L6-Yfz{%StW`@-t<0RYT=>@V_dDn9 zxwY6qYt6ez22U=&8<~^aJd3`yHw0GAVeIG#T3*$cUL+gdB;VeA*nGB^dPg-!nT&e5 zwI*B2E%r?lmX&19E1b2+ooo5xS?jEB&2xM;zu?#M{$0zTYyMx()3v(v)$(0c^S1q3 zzv9%Y=~*i#RL$$_+F(9m)yiKhdv|SE^J@ba*JAU4mEyBDi0@jEt+gVwfSE^&g`0ch z`mPNtcQH)=wP@0*g?g)2@kDQ|)mmVny?o)RRsXy;TURaGZ?)=u){-Nu<{#JMnIe&| zydrP+wmRPHYicxeQaf6eBxklq=JuI)-kMo<;rmjJ7Y%pSJ9bacE@_{A>D$~Ct$9lh zEc+m}{F~$wGpYH7zn1Nvwb|(Q>Q66MwC!5G`PaG{tJO7J>;Ily$FO>#XxD~yTni<w zcCc_QcHgjK3fHDSugwCpH!?}DQn<ZcOKYLt?2QX<tz7kLQSa}C9j~^R{@!GAYPpQp z|J9477nGdZ_^xWT#;MI^UTf^FwIyGarF(2?JigVbBJaG_tefS<K`*yn=B$zQXt(Mp zXxdTZWU<AuyL)QJp54zo_P@xnQDDoCT$UWY+?i|5ud4Y>QcH4XZQFHfkwn#o1;3U* zkX})IYyMBE70bJqae8my;a<qCy_zw5UQ_f=$*i3}z2+N5FO*xoLn>-xd(`}0t5(i^ zy-7J?6L-QUL#`bYt#^o9?a%+c{`c+ex>g&cR&BSjTL1IsuHFmG_r>?rsn@+!t5IH) zck<huwH;GcJi8)ab_ZRrySJ)fmwWlgW7QwF<(t@a9GkxM-?efDjoMu&nS~wp&Mw$o z@@sKH)xK|5i#%)ouVy^8diktP{k!)YSa0U{IoKz?Au{HmOx6AuulC0B>=R=+z!0-Q zRC}?;?S)3s3s!P1oU&?V@2O4eZfz*3*`!>sBTi@jhFjaCdN!=d+F1E!=bEks72S)= zvyS{&c`)?A!HS=aA>K_}q7SLn96F{sYj#ID^NsA*$jS0NWslff=Et<xhVO|vogKfu z=3!NvqD8r!dlSd@$@eYyCPg3lwesMHliT+1+V%7IrjS4Di=!8Z#T*rVwLr0JgIM%- z9j#+8UT&(*I(G8Uj#!_?1*=!GSsiPY-n3S0aq^j!Q>*6{)G(*dI@_gv+-bo9oz(}p zKkU<Zy^43&2C;<WQ>r#`>^j$NwW;3v|AwPI>y}pU+EH`5?ae&91xxxeP8C1j6Q_Ps z*{AZn)>N<T+Q!c6P1g%fZLd~~Y5!1mO62TT-WO{hL^Z9A*`xO2VxahGXPeW#2J9U@ zCvIr3dc(O{t9n)Qs^blBc1HKC`r^4lZ`K0$568dDY+g8fweX+qO<GqzMIN)?d$#NK zIgReKs@x0PPwy1Vx?&W2+;Z(Ij+k@obFOmmFmf|6vY*+ocGsr&YtB8Jvx@uoqV%~} z6Zc+g?%CP%YQ?RXg`Cponq{s}k-BigYtR4dd#+1WOsbi+X8H`J<8#tH+i#sLY*Ih; zL9I^Y?e&hkd+Icrs&<q$vDdBIQ+AJYo{JBs^{nmXStowK`M=tE?s<b>s|>8pxAfeS zvf3ypeLR_WKku52qB#qnMIM{}dwc4fYfc3_iuc_1e!D+=?T!rFJIWh2aM|3M9d-8O z?8~aNSM7=26g&4ojO|@c8>TCN_r27)!+m;F0`J0SF;~~#x~lPd-;*<UbN}oUNVwH` zYQyVX=B(NS?{ryg7c5bY$?w+P8kF5>wSYM;pv7fI8-H$xyv)tcw>MPg<dtq<;@tOu ztM9^B-gW2PYmSFEPOjLkcs3{9eA&awb!A<PbF#Ou;6AGJ>iAOI^V4swRF>Yc(rYun z_oIiWFCUdTVD|RF=gix#u~(*7vE1uDckk}wr)M_2jJc9syYlGTorl)momaI(@7Mo3 z_x>*8h`Fm)ec+1i-3ZyIoIU66zP)|n?c;>Kw|(cGyJNetF?*9hz_T>Dr)THh`|R_G zZ`JYjTnj_&n3N4zEtt0O<#leKeNkB_Uwgy-)C>2uawch8yoia~;=r*^)bAqayX%u< zO1sxR;FLQh^rCsnyK<I!HHx+mXK`$smbq@thFw{w7v<ktR{DF{^PkHqy*6=qtvIXu z{OsISYwV7HjNZYu>Pgq_TQh&HdiQ6??VJS+F}J0DE!s2pT*SYtS+zSN^fndnFmJoJ zp?&vVpMQ^6WnJ~HeHxy3H%9iZf85inyiYFhJ`Jlo5Z!wqYwo#Vy|)Sbt_oaWNIUoL zP2RJYy_-tUY<Oq=fBsV2GfoC~1sbj&nvj>GaI)v^1E%>8e!pe?ZCmn9tZQb?WUuSj zm&#l!R6n)o&Vzoxk5eVO+h62Px4Wpy(W&LJb*AjLO&`v`mVWfCdgJGq9j|ikK015V z`oh&mde3j(U2#Zu<LkBOG_qIdWncOJ`t`SeR}yM>_}_hUp7+c7zB??x&bqIA?9cb~ zrr$eX{ioq}PjAk9`}E!u!}zCBf4`*OyZT=4?o*q0sc~;p?=kQmU`WsZ#yf%4?f^q> z{<p}2XDe@gHJX2~U>`#Z*Rz{*RwyTYvrD+tbAhdP-+e2ElmFK-x6fy3&Hs=R@ZtB} zAI<e2-k8sgYG0aazPsaJhvkb?y|($?asSzyBPvR6<k-nfJI&rcUE=2T?}bwPZuT<V zdiiT7)12eEexHkU-i6BFEz@7g?Xy7Gdc~|)$1MCGpUORZ=IoU(JlA~Qu5!A+%D?wd zRNXcIx#te=dwPA|yF~q`ug|@^boc7*_20tk|K8>Qx<mhK>iTbK@!#(A|BLDU_xc_4 zhyHKb{QvC)SU%imu-owM<^6Z>_&9h4nwtc;x!an%T3UE{a}y^{n&_yVVl_>B*6fs7 zR&%Ya;;d4aEYZ%>j?<oD#kqcc5vMrkrcE2R@6_J9e)pbDyAK{L(muj@bkFVsTMx}X zIAiwlLzm7SKYrxwxqSyOo!owH!@g^$t~|bbO5DcHO?<-S$p)eS#e6~yK8hLq`1Ql- zkAV|I>kWa7g$Z_wKXo`*Ix-v`T7C(M$t(;=bZQdoW4NO6gzZqBIagiC3&95+&KmAH zAuj_?G%0JvmWeP0D?0Scr0Z#T1}eL^8%W-(@VxxgQ&C-9#dl^#z+@L+0aGoNtrHim z5LjfE!*wu_Sw2Cs;Vt8~HIeK4b{RQni{&zJOgnGIH2Z08)cS4-%c$LA`OP-(RkkKx z)ttQT&@8=9BhynsD-Nwo_}kUmeLW@b?li{3ZflG;oxQ#$cEaH!ZJE-AezVmQnAsYy z8|R#v;iw=oU9zy?{E0&ijuXskmwicNICzZXGW!dKyNro#4I=R-GhU{i3;Vy8Tl|R6 zgv&0ggQsxk2;6A>>-4}=?8(#9%kL>TN^`N_l98C4R6E%ty6?{q{fG8*RK6Mu^SHA} zJn%IZ<(TBBE~zxx-<6T|3Wtp2j|JYMyPiyRc2NAfAV`0%iIY;a?bXmQ-rQEDaNiwI zr+2r^xFH%P&>+eZ>Da@1O(gAW!Qwu<8rHC=ZiPozqY9r|q)c!YGg1z1_IT<M>&M4* zqq4d6P?y=cD+j$a7OuI(nba8>G&6Nt?P5vuV-pVh8t1O7?320i@xZK1?j4E83XiS) z7L^yd<=}0G4ZIJSa*bIGT?ICNWjoBb>|jE(Oxg;wW@&zn05;i^Go0nhUav7`EGrV2 z{Qne3VCQn?x#Bg2Pb)dMZlCAMz}q5UEBB~sikG2n$pm+iyC#7(j8jt_H~d#fz07;? zT!_#H$AwiL?RG1dTX@VFe*F7tH4c8MYmy^0vwNgb2pY*SU@)E0?O@BXms=#tpN zqpo6+U#EQyoA83GQhZYCLD7N(nR87=r|>x`xF|W!5qFdBu64RGUD)|B=k&O+#cH!A z-*n>3n5D9~$6)SPrsoDFTnQ|UHP1ZTGxb-i-7d5?FgVJ`d}Q0L%x^QMv9ee@{4!=? zuK9R?;mFMoa~Swn9Ly|zaz#>$KS|<XvoZUGYYbWQ>mHt~6mZ?bUn4(p?wWSFE)C%z z!`N=KTi->m{@31Ymh1htReEi#Ziie}wXT=E+ls*L4+^>CyxOPlU<m6;FMX$^dye(} zZj*ba$@{)OI<3F|<1Xv#6V&V0t)DPs|812?O(Bs>6oY2IZayrqeG})51i52R-zr8= z=T6;K&UI$?=^mL|21i|liwwnAoY_=ZSmW4MSTvzfX1<Yk)*X(TLk`CIhrfy)mt%f& zv4JgqhN3HT$&AF3k_s7nzbmg=vbI_!89a1bDSqYvgH#&Fg;(Om1rZVoMS{^2dn33x zIllQU68ZB*EB6Pd7xTqy3m5R5i;|hd>0Pn(AdlIH=*wJ+9WEI=4p041pi&g`cvX?8 zXxdZPdBqp^SbbNKSh}v*@c$DTzEqE$dn;5uRw&<nxyNZ~-Op|p-m1HmO&>UKHXafd zKRj2>=vhzi-ABebpRQOqB==03=p%JQLGIs`gPR0<A8^a<aAuz5z_xtCL%th_=ViJD z%uaf-z^o|aC}YIN<IFD}Ff`aSFqtf9d-9?o^J3ru@p~b%R!9Bo!lKz%zbIkQUy(1% z#IfM8f|FUatw5g0liPtZ9$wpP4f5ndZgWhZBtO09!c;YuI~<(TcO06Tt-YgUA@}X8 zi<T!G)$HTG%h&$%@Op{OB@R}nc{(N6OL?s;I+VjL@Uc~2^=E@uRi=YrqlYrbo>#KX zADg6SX}D@6<#ZM9QhHzaaM`Pf#ob4e+5V^BS<ac$P$;Ig`Jlohg$Dfu2j+?&O;Yz7 z+BEJo@-!_tJpG@9hnmF}hQ^*1E}RW3^$QgEQVp7aEmD?slk*p2sz~{CMKLI-vQZ+` zxJh!~PrjgcukyIxBm`N^5c%V?I)7Ep0<GAcQ)b?p<h(6Mz$;?9$hD;cf)SB2dJ}I= zSt0VMZ9;ZdsM7VFsh2*qpZX#`c|xTA8av~*GiMU_7)@8+<gw8Gn#hq|`#vq%I_Jdf zSvBm!?u=?j9GHcdN~CM5Y-7?ATfctR%Nf?TTFcGvzLUDl5cjEP1GA&b!3_Qd4niyq z?5qq9tTG=QWUp*sW4iFrl)ZwN(MdY$0@I}}%T*gB>;8XWP+6nM7uRu4oMi!{#f8hY zeIm`L>J~&B2K36h{csXsb7<qf@sK<0x05`}4@dt)ye_t-9g2HgE#`N1PwP1RPKWdO zE|H1ZE89G@9#46-W2IZDfWK#K_zJGWY4;4)9Fg(nfA*UBY+>m>+Y`=pFL$e~wJTm7 zFS>}oXi7U{|G61otd<Fwy6=+z=q+eovO1b$V*3t1CGQCrFFA=D`<YkV5LtUcDE|IR z*OVC&DQ67U*uIYBecV_mQTocKMD79Or-gy6DhG6gG#0S22RN{bXfO*iSw@{NI(Rs4 z0Ryi^0-NasN9L3l^1ZeTnv86Ia!1r1P|E*(?x>U^tJ{x8L6!w=|3A%i3@LhXh~eCV zeRXxZ2Fp`AI*K^wwcagSQDUYw@8ujNp-ORA57qp~VIpUoeh2L>uhg%3y7h(I?$tUe zng+G+Su?A@F5s;^v8C=~wpDH7yBVL(ep%{zHs1fdwg+EXL1aj8!uBgi*=s#Zn5!6e zi%w}YSQ~I=y2D3_y{{7HJb7Z8<ooC7qq)tJhnKk-+m!CfiBXodSzwrEYT#kI!hw~+ z!HHMq0Hf#?2S!tla$bfFZ7LC;7^M{Evt`N1GVa*D&E^3Er^$k+CD{$kU*>I;?3o_n zt`x-luCCz}iyx!e?%nev$~H5|vMAXqCnetf`Z;j%5~XEcN2ebM37_&Q=-!?!|21Z` zdaPeG*D~zn+*?l;=si0bZEMN;UHpJ|Q)T}o%a^}y{fV1(?|seJ=y<PU)8e0JO_rJN z&761t^`+ly-!BW!jsMLSadFyg(>D$|hW;9D>vqPSiE~tZGqG~nyyI%$e&1W(YnhvL zw3sQBmBFFu^r{0aT0fdNj9xcNonT;83t(dM`@qEVB9^s$0(0-mUbm`j2FAzF8aPBA zH2P#pPBdB9$kt=fsQdVxm5sxW&t_R{QZ_evN@wWGK1yi&ANfO8(EQbr{F8-!%dZ!9 zTsz&Pv^{QxnZuJ!WnaST`+U|O+w<M%`Q8uOzAqQw-}Br~W7j$J-usKq|Nl6azpuZk z@8zFuiZB1$^6y&l_4MB*{`)U!e^-p^s!*E7)m9dC#p><4xZO8JpB>e`mt-bn{og?9 z+R>a<mv@O8c<?hga2K$rymVufabPY8XpmV@vE{KlJ3~&%0%nl}wo3~cwG-G<CfJ!i zW9&U%-?O~&_p+QT0qmRtLGcXismlUW9GIC>+0!?$l?AX}a%77*#=LG*!J6<wx$j~A zsy-^uGd`3S?cQF^Jx$-bJ>G43@y+yNFAv|t$E)qWw;cUm<2Jo!j#};A@>bW3)`@K` zbB@*go|;*Fp!TkNd{Rg2l5NE&%WGn{X8qin_3M!@-(i<c#@5kAoJ$?T_lOyWZdZMt z5b^XtetoFl4&|ophyP0|FJ<_z!gR+i_puwJXaM8)w)`%a+$;yiEy_tHNu2Bst_wG~ zcO0pB@|oHGg1`L-*6N6|&8iGbgV^I1F|&T?TED`U<wIBc1csU0gP5j-tQD`G`ng$; zJ!`3Qf|E+Zq31Q1#7k~{Z?#-rbNoh6=!}-hV!b!F*B;-|bM|=6sq)rTkCMcW*2svq zM2nJZGuR(-w28WvToW%zTv7XIMr*KxSS~~Dgkzc4r`P<N8kS#{xb2(7R%OG*3^|ER zNlPbi?!1<BFuAO81#ifc@SrJ%JdwQ0ODiVLi1eA<z`26S<N>3j8dIJC`_TZcTG2^s zJq-VLaHb@%m`r1NwU~kF_@uOg|6S2R?3%@l8zLBl5+<8#GFt7N%&O32bAVaAplWi0 zl2KB%DtpV38!f&PwdT)zuCJ(dJ>L5~A~Eqs?_G<&lO0o&chsErm|7e#HMp`b!Lv8* zM{5A*)Zoggu`BzEFR&$8vez<9PtKegra3KW=CoPYdQYsVxgOqX@04}7yw*#J^_e(l z^TzPXt^Ly*N*7KDS19AG{86WyR$upZ!e{l4<`uk47xBq7FwEm*Sg?{cDuB@>Ay?!; zveW|Rk`3%$7iDieb~n4gVz!|(-GIUR!^EYNW@{fX;orb!J%KGvp&&J_YkM=N(M%ih z36m{$PG(y$neD<H+stkU%_);UgoI9=;>G#D_SlV{dm3%0JjAwjvXvCDr5Z5DOHQlQ zoLc>7KsAq@PnmZ%#{^IW>u6{_~Ub%5Khky|VB2^m)&2%&X{}Ug9~oNOF22LtCN* z+sB{tN+lOmt(^X=wDxXhn_WTJoMZYwE9wq}aaCV+d9l52(T42Eb_wpCoYN#HX>`q0 z)9SE#Fri2wNQPlnKm!9q1H*(F4MrMF=^s*97?^z&7;RrkeKS~MR={kYAj53H5IKR_ zaRM{X1vU?7#uw9=BOTb8*dz6Ks%~QDUC2Jga_8i8H|Gc)&@umD@={<56HDn~36l~9 z24Mw;v;a2i3ALxM*8~|b*9)*SD`eSCSR$Yx<`|HWtMH$dc|tt1K$TW9TZRC;(GF(E z4a{L}sZ-Ro78)^5vtkTfu;Ay;mA_uj3q8reEWn!ifz9X#Yw3i*Br^sstLY(?eOy@! z8Wg8b4oI9V;1IuZ!H%reaXVLSmkK{E%2^=E;<&&wH(<@7SIUkGtc4#U)?QjuVZdBD zVa@)TY*)J2tRL{@o@5A`z`D?iVa7M<#;nzQyE4CNuG!$W;=yL-tv8unjng={M<<J| zpJL9KX;9ktb75CuC*#WXJB}^Y`n6tb*V1Sv*JD2y*#smjF)(;3FfXw5Xbxd3f50Z1 zz*abcExmzF^#PNm06TjCL*WGG7NeBv4a}Q87=j!&MHZ-A9f;C)`0w7OQoui9siK=< zt!ebh&dH}Gmz}Si%*v3<d4MgmEA&^BbbP|fPsUyL28;`tmj9i+C2`r7M6;DzoB1>q z(vrTVMsTO;W}5gE7w|8LW`DkwX#qnbcUp27TSkM)tyyf51@q%xt`aM&-8+#jHNoVi zS#qGX*5V(msSl)Ee$7t*z<x(~RjdH3XVnho1NKZGm}j=9nnl~4?Mhwi6qG!za^~~A z|H=#{8<<lBf?hl9oVdg&v3h5s^tR+@dDFUgO<2OW==QF6+xTjBFAmOTDNQJtP_jEf zdi|o+y8~b63146hb`O`mHRE>{7egm!kENlaCa?Oc3AYNu&oNA9TD|m&_GHD@{~a<1 z>cuQQu7t7IFIj4JfOYY6wu}Q!=>f9?53pu5Y_y!ftlGeqX~68Vjp@QeDV6|sUvAmy z6?;ry+s9iibF*R+`Y<OciedeS$r-N<952}@E)ATlRS+wEP(Y?2`8R9Vm96{}4jP;` zNpjdG*mIEm`9a;E2jjK3B}DJqF75g118a~2XP%@4PXODZYQ{vdphc@wqn;gH^HnBH zyTHRbda1^)#T84tOp=$bt~7hL!|TnCS=*0zo;k94>yf}UM}&3+MySaiUU}qi$&tj_ zT}!!-2IlNqyL-zX)%ET?2V<<aspPO6=vLi-Epflwo`M)Q`D+UoZzxrAQ)BRMXUX=v zAf42(=KuQs#{DNhGe{^fg*;&V8=m|mne7QT@9_o9=?~bg64>(>uxB=~ZF6HQbzn;g zV3Q4CvSeV2ywIs#z)-*y$UdP<^3SBlCC6X4uQ<uMY|EQDR+$G%ix?eV8+^WXddjTb zA-8uYxgBIoXGz*{P+*Q`toJtYJ7*%Eo$30rDQ5S<*OL!kwK*D;lN`Q^Q6iwT+=0m^ zEjMccTT2VeT{q@uIp-uQbMG!=lUZ;sYr(neWx1Aa=Pi~o_5bLwaAOj6U{Yyd_%CyT zA(!bN&jqHp=l{H6_`Bx(pPuvIZO(fboENy8t0izzME9b^*>fHZ=dQJ}dpx*Uv4GLz z0i(x*b01~SzieYSP5Xb&%k12%wES<&?Eb4npP%EgX=z?~%w@40lUx~zT!-T&4#x|9 zj^{C4$rHGeUT~$-^@@}2p7Yj|iYvP6efBoaX>YpY((A~kuf@RO&HD1#B(XJtVn0|H ze`GB&@=Qx$j|qrLm#yl{Zp^yNSf?;~+cDO3hDp(HZ3_M*7XINh%RaDv27_tj<R;y@ zDz0<6UM+K5y(OIcjOiSv?&>q)Q3oe%zdV_P{SNo#?_~`I1^MrCCW?DD%m`)t>~m|` z-V1-vl(FP8iEg;HHkWCG?ClM`<rVHsY6*+YPMzNo%edoi*&iN;J!jAFxqFM@?M#-~ zJKJOL9JReO@8|iAb8jE(EnjVWdrj~E+h$UC4#(cze)i6hv$rqB-kq0u_nz$?uDR!* z^`8Ga=c0J;MeAu7U)M~ux|aL8H}Z?`#RY3`8mwhl)uk#Ic05mDqhs$C_qS}Gz7PKA zJ}3z|{x;pOR%Zj>zHB8gzm*QwC9S2$PoMm;+HT4syR-nUr@?kb3D=TjA4$h)$>yag z>RnU1_fTbB;FL*^Wbbv!eoK^__Mo(NzpCCft9uWnO?SIZSU5@Gn04;WZ*BPt<~De5 zOIfh?iA(^aFW;SCJ?9VbKF$8#5%RBNaVLXO!R<|FpWfHKeW{lr>cidWeNSByn4B*> z-Kfi)w(qH$07K5dXE}Z>sd-GPanDNR7@RLWE6Zal+4uh`Bg5^6ch3v;m`nU#)b4w} z;qUX>yce~4x7*%5%dvZz_wPmYzq^-s8)E%#2cLVIoX5mqaVOdCSw!B`?DpKSy4>ld zk=g3^XOvD9`}vA9BiH@k&F|Clez@iSetY@v-Pc~RS3KuF@U(q%D2|QQ@3EBF-a4NR z3a=Law&D_#<2qpWwn*mq@zV>h`B_WPdRuLK<;1@0`^4V;d;5Cdya%R!S4{oh?K^jJ zrA1n+BwLOHWAXJ|28WBmd9N05KK&lYxOgS&?{j6L=Wa(mxV`@Gt*p8a9Q_~m?0v=& z|8n!$_Y>|toqFz>j=@VoeddC=j~jTO=jT12DEC5U|I;qMPeu*Qt?xc=ocsS-X5aHd zy^n(DKQx{DFzem3_<eV`@V+|4`zq<*oj>np+WxQSwtsrSc9yBuhtRtB!RuaSZ+~T& z^?p;{M5zt0ADBGYoA*x8`VEU8dtCwBp?P0tH@#DGYmd&ldTw2N702;ov%mS~zBS={ zm;dLjN#5h4`YZdtH8AJBtEm58<<HJ}?|XIpmCFC$58eBEB#v$3ESp`eHxeH_399?D zJnrcYwplCe^0J>Z-1v6ejO$MB@>jumi<kJl+Rn=m>-Wlf{)c7%Ul`v1#2)`*Qr(MI zxlb$PKX0&QDUf3*ImhJez_NA!^YU{qs{KAm?0=yo|03V-`7ZevMhjkWIIwKdXWpUz z^4$FwvgiN*S}Ff~!&=tpe=n{6-%<Nezj5u$1$BQH?E7GQ{(Y$4vx?{ML+xfg<DV5; z_vFU4FG>MS8y+Vfta}i9|NF7L2QmB{sp)ymC8>F-R$bawJ$+p%U2)oRR(V~Mx~5N? zHa&0Ng1K|&PcK<If7!~#ZF$R9tY5cr?fT8Ftu1Stw(d?}wzqljjy0YsM@!RAq{YXV zHnrBJro=Nbxy9!u-n?~7REvS(-aS#!$p}$To-#a(Qh6Qq^ttHA4=-PSh~iNDp!S+U z?eC4f%pL*@_SLDSh}f)PUC_gz)}b-Q(U5_!Lm>4*fW$=Qqb+J}6)Gnts(7>trFxh! z8mf4AY5Ts=ez`&6Y`^e-;YVvMUDD4q*)cEBSt+FI$RfXW!Q`F!@=Y~9^G`Le`jTl? z`uJSq?`2n|+w-;dt&$L*)*QZB=F&3O0}GFA%grtOd8qVs$V`{^qO(><R!)rf=+(+R zv_xZ~y6nX%Ggk_qELah|CFtxdSNBaiVcR%<dZ}g<Z-`ER_e#T!EmA0^{EmtxOHQ7W z{?e6_hDHm`-rm~As`I<4$7gOPQw7I?Z_{RTt$%oAVzgcUU7M1}XA~ozm&EK^&O6ua z%)IqX2i}+-W)?jkc=~X=TEr8Ps11qd-aq4<B>Zy9${)=<*{33Q8SFl^O6ICV6W6a7 z%z=$YPcKh)laVb6^5#-x6>?N!y&&u${=e<Yq!y9dlAvmZz;Y3rUlTH%%;Q5RJhG69 zIQ}SHSC3t}C#N%E8XH%|gU0Bit%BhOow{zb47+DK_U7$Y{dttt-N<PMUlVVdgnG(} zg%PGZE}G5GOH**`O4<9O>4bW!#G+=YQ!*>1C6_1!%}UzCTPdF7Sy6aKeByz$C%HR( z6OK&W{PX1PxtmyTsn4%ftI9Ci6ni<@Oe@cIn#Eg#?RQEduO`S^t9xy|Q^aArR5SeN zgy2;xpZsB;(rhVs^kSoR>-EHT-@WRW?SJ<?p484bb-94cz1qW9&5cezSXBEfC4xVA zm6gd63;B)L`PVVKo|wNXMD}Qi-On>mE(G%}YHkR1|L^;}&-^lD!Mn2A%T_;%I&R2* zclo^u%1(U!YzKSh+5C9<Jf|&<^TUCEx6)cB&rB#fIi>BYV#A{Ct}-vCUH)K@VVD_~ ze1xCHzky9EbBUm<xT5<+H*w}AbBe@xSSB82(BPloCZ>3OPTQG`ISW5aW|T~9JsInA z&_T|T<sbvI&gLGsY5%e!Kd_1&2yhh*iVkqS66Sx_g;6`^!B^H|8!5L)&AhAqHuKo3 z`K+Jq*<5Cuqq$wlB8^j8AX3-Pm1z^_qU)DDe-?x^dWh~gHKpU*Tj%?g3R4$PZqZ?7 z5G=hDWOpH0Vd?HUTxzSlT<q^|QmFLjo!VjHzGIQ|TCo>lu8Vd&{%`W+j#b!0t_#*v zvfm}`diKQYoLx-jy)ujW*Y-}e|CsadEW=N;+~~`~*7^otYSiX%B+ZEtl0M*LuV473 z)6K{BhwvQ1qBD-{x|`2xwDWvEZdo7GCSE>KEXB~%LHKO!pYQc<LYqAg9$=WpR3Dp= z71qpnt%ZS^%}9Wa-NS)N??5wmhc3_YQ(Y_PJ?`5&_i@>dF4^r{9$9bAG|+j%5Wci& zX}`$5ch=hu$L#D7ZP=^1ME%~Pj-XQ)oj4g43ND?R<L5L<=wvOQ<D|tW>^+uGj`!@- zbkb~ZPYY_4a!6HT{IQ^h>pFkv+ji~0KfJiwQ$@v>8fd=|c<dPPL$jbZSvR@l|DDbd zg(j0C2bSCvL5nrPW}-JaWJ*+K_c~m#S#Ehg^UmxDrT<G+l^s0U_fO<CohCTPS<<m# z#-1f=rZYYLs*G5fPCVf^`nhNF!#Bw`&GIMyDQudsP^hj<BFOO9_l;MkB$_sTn1AlV zf=xy;K~-BDXEEt2ut*COGdd}#@#HW#a@M_VdNje0>$9NP(-jNYDu27ZpB7~KUWG;J zZe|D91O|qQQ=ZEUYK1x0J)czN%b|8xb7JGaYr-8D)Z@ZgI<_PTF}zez=rjso@~-<d zVTz55ihpIt6TKio$p!|eUoBmZBJ8`$tz1g)OcE<^=va8NHaT*8cC6*TLsmh5ldWVX zsBiqgNK<ol%TeZR!P6hl1?une>~dAwa8dT<2}b^ohDuv5rY{nf2mI248eCat<cO56 zXfnOD()X{b(!{6(FBDHD%X>SYE1Tvu*Yz-WX&2kE69M}-PAW~0JR7O^R{gYb$-(I^ zvI=>64L;HwiHynuhhjhPV%T%5fm3_N16G-@8p0awWeh79MNVmE<WnhYnKAish1_bv z+PZU!+CSS}`3`BfCh5&}W_bR}r(mMu4t86egN@r66qxffSIp<jP!cf=YEjyd9>zM? zBcoJlXKmPvg?rz=-R{G1=k1Q?v)?FQ<88dI8};(AHCN)>n=UCk>jk)%m~9e#zARY( zHHY@B1;)w>AAkIh-Lk}W`OUe3Rk=?X7l^s9n6L6c)l#i(F<ZgpAA7TY%sYPNpWWB} zEKelr{;D2m`skBx$~`M=>nyLe$KLa<m?QlE$rGNCwqtzd4<q%AYuJnpj93@*6gH|W zw5vHJFba4SGKZacB<h^N#;(De|4CsRU)^EZD~=9(N_hA_mppE_XPH-H!9D-Twr`3S z4joprXFPfR$ZMg>M~)3C1}riiPl}&g20Y|j(sW_b@rB%%nk?sAEL5EF(`8|8Qj66U zp>G@}D*U+`_P;gL7793OFzzVMS2eOKuzRt!f=}71FMC_bwzIoDCN|nLC|DXF@?g~b zdS%OxAIG+|ES5W>Egk-);@-UfSqGS<1RBG$mN3ff{I2VGV+MnqfEVK*2c9)-PgjTQ zW(ROxxT?A1Yt7f&w*TBjC$c4{#FXDX>DHw$dBShorpX(5jOT>%^Y-0j*!00@s&6!x z`{`}lqQA9?Z1{DXpJV$D`LK32kB8>f9?X(X!n0C35}D3;uoZS0vu}!+s1vQoSh;uS zgv3BS>ut^+C8ePv?2W?3i~_PeJ6~*9Ef$=6fHltX_eP-#ju%dRxod;wy-0PHp60;0 z^11WzH7$w_362~Jj_m>giVHQaC<VBsyS4~L8M80o;CFrJS-?G!<B!&^B%YIXPE*!g z%Ucy8uygaqH%l3K?_AvYcfsN?CDno{b&3D)Gn`l{vHhIbwt@x@=NBu@3%+CuRxEg# zm6^XUZ11bW_T6uD>Z{kR{P>Ff#I36fzvLfWpk<rPZ*YJ~Ce<`0x%^<W#gy$YdyQEV z+d}Hz@K>FXlw2~`=<CWgw=T;akX{y>o8{e@>gF7Ey6HljiAI8?<u9kp`wPD5-}uY8 zaNX_xpS}||Xeiv_;<&w7#(cLF1H&?g18UZbt2552Nw#o0wsSeWkY#?Wyz7#xcuU8D z`I9#=^!z%qW{XbCojE<LT~?_6YdrH)=-Rm_O6t?^*ynOTTN1z$<8hM1yX!$rD~Ab# zV1vNC*3}mxJ-Jy9OcgX-&R^)3`f^G!>m<LbV{%y^-Bp(U_q~5G`1gbAWm{{OiRvgV zU<?T`Pij#%xEkEdT;j*hAonBFauLJwZM=>j7}h<nT3%ko&(O?up{z)~+(e?BUm#q5 zo8fm;=`wLIdyDM*Y~^d*TJp?W9+|bU9+5s5#<n|=C4GaML^50I1h(`9`@IiyBp$P8 zZS}4%5Z{=><`&R$ZGpsz1#C;hvKCBJUdq;dugvYPqRy@&C6$V5LyP>Qj!fQy=54Kv zQX52bjP>so#N0}B`+CXA-lSbzHTJ(?%GZsV{%L}04ay3NmJA(oPgxpFmq&J8b8?wb z>}?{;yGVF<s_c*S=sWEx3|s3XRdg!Yn7Y^koY<HyZ;ZZUr2S>#|Hx@C3jc46=A76d zuP7wJ9>^zDAEZ{#_kuC5y>|H`zB@*`bDoweEnsNi;J0cO(FrKLry%_JkdlF`hofqq z-is<7iM%H>TAoXkTdYuXozddr(Y&L)n#-Vn)%T`vKblr8uhQ}8{}a*w)g!xplUiy6 zTM|cWW&_WjFGd#ySQQ?J)i<zRn3l-JW^6XuNNKT=#$-EY10&`Oj0?U^%v#a5eL54@ z1W_+Gxh7@?6N7%871g$vG-ppLO<JNX|1|cUO2N(`{nUeEszPq9n|t?bFbg&?AHO6Z zYN1oACg}Wux9(W&{Z9g{970|j`6L7x5(Mkru0(MZ)C(Hue!CJaXvAW-{J$_SBa`a} zMzsKU#sw_q->3dQsOxn+WAbJZD-nj~Z7yPq(!QnZ=6w<5OA`31py+ilhX0b{BPQ9z zDUC`7dTuXccRdR9*eH0BHS^wr!t95>{$HH?Samoq1T!?~Kh)^g@2LKz(P!Av{GhDa z-J<``jsEW^W^L$HUbC{wVp9KSkFs2k*_%E4%hFkrOW9%!7<d9IHJjO*1X!38*o-z$ zocg`eBe*i~gWb}LiA)c2&Y1C5n=>*UV9cD+IR9GPc6Bx`fzp^lcZnkHCkGhIEM$_L z3lv<KbXAz1s3;q3lD*<2dt_5j{6&#ni&!%or)mkN9Q>TNeG%&cqv;nF(`Rg+`uD?s z7j{LRo@42AIkP%Kb&kCVh(9S;`LoW+U49}nli-1<wW18l--V1Fr-sc;o%}g+x2R1> zTG4OCuAMLRE?;yKyg0SCavJX^=K~x<g6)1E)djDZ>#3~Dke{j}Y@`?!z`TD4-v#mL zo9ul5MS^}Z%zDo{`-jG?9pcTucVvC4m{s<pEM9BY*AB*Yk^SE?mi?<J+kUctlV@4_ z^Ty9F7}tdNS<YbNxxmJg&|03z68eL!;uM3zVTO1HqfAwf*J4u4oc5Axyi=B_P5!bX zIU=jeb7iK*B>n~S>VLRhdOH8(M6t3J4B{&M?&78Kj+4KBa$mm5`A%wV`4WbTE%Vt< z@s(c@aN77^P)ATe@3<Hrqo4z)*0(K1qJhe6QUa0J(}fk8k2|_MP79c}gK=x>^#3k` zrr#}|6&888FWP%_%EH#JV^d3=It6~STOIuF{9I7pFNMi#Ldy4aCOHLb`;rbRApxxq zjA{am8!Dzhe!y^Cu*gWU;eR8;^rM9*pXLWGnHs<*J0m$tGe!G|lHiL1{hx<st-W6I zZAHJ1X1^ZCGA4mlh8@dx&s-LHYuR@8O&d;DEl*#zvb-!UYgtPAMjcIucn9e{jch>z zEE>wJuiV%)C-X>!@q~Bqq+Y04CBmCgz+TnFbHK3T#5Nuaqh5dR%zKuTR5h8-1~Oh* zAtYE(+xe6+sjEFd@qhB=jn4LN?z4Z1x}CC`z?Smu62IT{#_ZFK&l=?}q%M&7==*ES zl;1ynPrYJ%x<RDur;y(fIStiVy@hK}a_MP($o$73x~+Bn-zP;+6-%B-)rY#I{$yX| z+~97?zUY47;s;q#WxrFszX$GrF;!t#eR8#uk^_tM1+xkj*Cn5M<GLA58Oow|E~#i> z^!UKY_rc$jWk;o(Lgh7n=MR>Z-{jwZ>TcX@k@#eZsaMzb#}?NnHr*0nG05JS<+XgX z=CYVy8&j<M<GPmqS+OZsYxyS6<=GWY`lt7*W;E@}-1s`XT-brlsd>(opR9(>b9N`P zl^TUzPM8}K!B%x3;mx(YQyaEO3ICr^|B2OKd$zCn)`cvY3=4bG3@s-qyJ=l0*}04{ zVK?u+P#c3*U;px%0#-U{>f6;8%)6<&RkJC@^11on?ZW>Jro6f}Q`NFWZsNL@#VmeO zowur@|Gg@FnkDDBM`7($fds)KDe;=lV?_y`sR{{4xVBEYVYtwIJO8A~{EQEnEEh~= z%3jmHGCl6u5xMJA<CeSiwy``8V%A!qET6z?&c0T40*gcgyT=0ye#31qg<{jpSUR^w z-;5ApXIl85rF&7v)aogUE1U8aQkJd|YgXLd9}_h@Myt7O)l$jTRnJbJ6gfRh;Loz> zw@dW9XNzSwy}jLLaVSf80-Lio!|Q8C@{?Jet^dzWHx2WOp6lTh*0dljNj2Hah_~M8 z4AX?h1#H_Fvdv5G*e0Towdh%d2qTlrhci+JUi=2D>Q(sibCi9TEBk-vU(6<E*{W=} zthDq8e`(89@r!9qtK~i^?$DkSytB)dNu$I>ON1dH>QL%B##Du>*Zk{6qg)O+d$nw9 zERGEmDf(+teCt(e^q+uC6{hcA#s3+Z^cdKj8u?Q8@FzCPma}a<vdI7M5iz@?I~5rj z3|}yEOh|dLi9exynykR?2TV48If|KW&iX7<T^$N13(Fcj7kM8b7POG%-a#v~Pa^ji znDkaQO}aBHvg+isAA4WVZ27o?A+73UM%OYu?o-8D`<Ki7U;gHFTS9D8g6$;X56rEz zSeH&ekiJ1$!nlG*XTnK`uyj*<uiF)hmlNHXR!+Jy_vD+ot8-Y=e^+Zg+R9g<q*YX< z`GGa(gGTX&;5(A5Pu9%7^K+em;Oax4R&gcB>%kNZFd{=`7*MVm4)oQKqPKJ45}B zdSOBNM~ei)vd!JYre>!t5Zur?VcD&owyqT!iaOinFVqBaY?v{(a=nv!T0mKG#FmE3 z4;d#uF6RH}ymc#M_R5S6QGS6(*4Sw2RxGjjyM#e&LV9F++TDUPTntC&X6)f_T<<3s zZ8|GWc58#&qr(gm3|C~A_P9+u{D{FoXs>pRayMJw`>z{wx;9F3FS{T8zb{y}T)lf~ z)~&0H=j@dT=r7QExG3hKs9iIY2<wSVl?o%?zlRg|DxSH*kneM2|7*7iJ}X*(2itS~ zQJ)&SvP*I^{{vY|*Ip%o=FcCLR1VCwtT@|$i2dxG;I!jsbFwxXzDSM~-|gS-J}+zP z{miY?b(th5rieHySQ<{v-y_5LRK)y?`L{p3;!P(OBt_{op4fC)$YmG5S3;TAha$ZV zYZ(ltc^T+2tz!B5h|ws3WsT}i_RuAcJMXC-Sn{HwKJA{sHrM)FN0c6K;`ioSD9^|w zEnr<PRwna7K;i+f{Q}0`r8BxC_gpem*u%OjyHh01jYZIb<w?Vy3$e%Md$3rTr%w(2 zzwX5nzHZJPH(vynOkw@0bTXsr<XX;sIwzMdo!P?9cktVcOZmSxZRFg%&}R9hJ5_~T z*9xqg`5!C~xsezj5SFy#(ZvJOe^2Mg*==@Pu*K?f&e>%Wmo7+eEG(TCwNmXzuCm5# z8HJPoW3w0zOj`Zz;H`i|_iTFa%2Znvz5Mr+_u^c!D=OAI!pqoJu^O<Z{%1MiTd0-B zzK|hEkW=aTjl0j&()ieZ6e;&EF<Qv7wbZ><E~fIE$N|-7rSI192lz!bxJ&*KU}}xF zm|o+?qa9LtTXH_L>x1ICn%2CA7d#BN#V)rH3}CU#jWT_}IJ1r^i=k%0FL$PFou~&4 z6%EIuw?#f?`9I(B`BRlH#a_LD*9<W_3IW`QHk>FoUp3k3{&&lgl)X1MG;LR(ZOCy@ zLwmMX^hVykjgOvPk&xcMl;@gW_o=&g-iVy8df{ERcPE>{=LshYTEit&rm)BqZZfXk z%abzo-O&R-OM2CPz1d6>&KRAWyJqK^pz7I{agQ0+&zqseP@`a`=6`8fec6I#k9D(@ z=ij<pdCV$~ySng|T-eWN+g;P2EuXn%vE>e-dXL89ZLTrjtz^X(vGSO<U&)#}{avBQ zLKY)|=Rd_QT^}%Q`QhuD5LIT!VpmiBe*@!nb<0_ypWUj8x0TMwY-7+7Xz2PQVBgRD zh>3%tNk&P{Ra%WBia{ny>3@?Eqcfus#}p13DFzM?S3Mn58Lin`N*roNY79zz6%rm= z(~J~2wl*=W5><1K>S7dBU|iL$7UjigacI>Fqiz+Bp5;+0hc0Yq&{Dg#$};iZ{d<mF zQe6Dco^r)Ya6RUdd-Fl+{gV%`<3GIMfBBB<_1h<3p7dT;m~dxL<=Y!4g-`H3bYN9F zW$O{hc6O$5>X`|R&dZYBEz<UJ2pA+D@?dlesQW1tbij)-&1u@s8G%o{rYQ&SYT*oU zcHx(@NU2hP(AZGqe$)0rz{8lG^3Q@Mh#X*_bJfj-qtju>lsR?`MkxkDQ#@GMH%!%X zF=5{@aRCD(L&m}-Ydf@J)VN#~9xj~lpHub77ME9|juDAb6U}7#5^^I}h3uVmb}a*g zUW|aNPX3158bV8b%i9?$9xz^K6QB7wEY3tCr$I@uEAyo&!x6R}o75V0C*5SZv*D0L zXNB)eorQtRv*uqg;?n8ZujG+qQ9GTPNhw_7=RR%*&bDVO?6_6EQ!Y+OJ9^Il(LPOv ziN_h9qy}HzasBsh4!KmT(p9ss7I?i}>~9(O^|F9H=f%T(Y|L6Md=78!Fh8{5@U^($ zBq+!-#mRB!;sk$A&y;f=nmrkhI#vD!Bz0<Rdyy3AXUZbtY<E>cp+|3)h69(|6cq>Q z|CNW^^%yoJPh*#R;oM=Cp4oWHG^=yL(aO~w53c@ac04(CzS#MnW-f;384nyvlWs6z zQ8Wr*<IJ77^Lb=UkEoH0paKWeS>>r5)0Sr>c`032G0K_XtTJ<DsASBKwUauSE+`a8 zWz~o=A5huLA=b0x!ifp9*kx3<c{8N41vsiYKiCk-qBG}fRAO_^C61+?J)s9xWGVz4 zS@c*E?&k0AabjYtsA*tPUU<b|I*&!pp$;a7kbrKj^oK?FboQ%wOKPe01a)#9nNgq{ zc`M_gL-B<UBNx_xf7Sbfe*6$tuoBeU(ci#y%=?1V`#;U+ZU5J-cyGfKJL7?cpyiGC zdu85D7TEuzV8;6vMp+)iR=IDj8=NHfF<<FndHDD}bJCIoq5l&c&pn(Lp4Rz++2v+c zcXv!T$09YYEX4y&PF{9RyxaC^DtG3WTx;uGk$kgrt&q+GG0&n2e-^oJ*}88H3)93M z6XH`3%1AYEZ)5!|GjBzQ*jug1T&!oW={?!CM9U>dAWUg1t2zhA#!|28a}UHw9k5={ z`j&}r+KiKPxmxCnhbt{AU|@|gJt5%8Cp|~|ZDqLf!`Kav6&0OW%dZPb@}2H5HB&sq zQhw@^%!)uS9hoZuJgK|BEXq++642uid>OTMot=b)%SYSiSF9J<#n0h*Z_oGh+y&-u zCVS3xh}iGhxKGylNuo;&%hSuwf9(SH*lZC_Np*C%sx@Kii|%;kUa{g^8~-<l?VH^B zYipLy`L?GYGLA5-utzqEEjF6MY4M=X@2Z!0%Y@UhS_RXRrZ6=;y)hwj%2OlHIZezi z8nFg#4lFDMy&SH^VG&ganFJWr8CqAc=p_X=-)eOdxK+i&9W#Mh_=2wJenmb5iOV{- zmaHsmPPkV3X_4j?mj<J=4h`yh$(=mQ4hac*xLT@-im~u8vK-{-&XC#KsOrIF?B^6> z{EMm6qk@}pN+1hE$AnqIoK7ZD3QZYNFBnfNK46wtNanQ=Z*a9aWS*84&1T2wys^Te z<wqw=utTw!^TLfx=Qg=%XrxTLwo}0)@kXqb)D^=jf&Mrl&IunMT=nEHJmICpb?<*u z50j{l;}He!h4&5zbS`OJvfj=3(eYou9!~Z-^M0zSl>DRv;!_gYf~!BRo~Umx;?u<H zs&V2-M1#||{r~>9#}sI?8Z9t9u+$+t=Pc9gsbY$PZ#x$VEM0vpyFjtWW6g1v<*OJf zwgfP{wmc8+<~SE~?ut17kym0Nmn2sNUEb{Px**_2h4fURh%WX9H3q2$r5u;5-0n|b zbs5cQG4c^$l<7DceTFH7#jGG8NK`Xq+D^sTBSl;}0fG$Y4IEwWCLh(7E79wjz$m!n zh^$}*J9E0?!LS3LR702W=vXj35HM?C5(r2W+3MXot;U&!cZGw<*{o3Zg%25~2Q8D; z)Miw>{y)^FinTv}LCDfbUlsj&Q5VN&8F9_O43(NvoZJMI++FG(`Rtt)?0lf+gwfN$ zlM4mHW}e+5VbWfCy1Lh2!|CRYUjZw9Zhd6d_!!L9za+_bb&nJ4Qbi}j3oCn-46{XA z6j+L9sUAHmIKg4X8lL<XN69-o)cQ(pM&<wdWFLKHnvi6R8%xnG_stp$n06jI7TLDo z*bkXgxf3;fDh^F@JA5NmG(z^c>W*bCK}*|MqpVo8&ODLaZP8~az2G48kxM$O&Zded zd^r%LyExiQVO5Nmhw{}usj?euPIhh842_TrXuRC8Jto?co9)$1qy09A`WHNHFjMGk zn0U)ous%n`+BGrcf1BC`#^sC8M6SEV$KQ~!CfirFOJu?n;fEb-KW22atZ45mtq_v? zvnzbxm!;n2DIB%CuFUJ5WVv_Yk54C_c+a1tU48v?sZs3&*;Crbzb7Y&^~|W{yujjh zC9>d!)3R9}t+UcvJBy8!sspU1GtJmEwa{R>jM4<hbz2HUy%U<|eph5-&M$r*$oZ)C zcF85_(2p#kdzcxv3C41*H#>MrW{Tl{%Mg}xqR+1{Xy8}SU@dDu5X0W^%63~Lx6(BZ z@!tVTI@?Z)au_vmu^4bOnEvo#pPI1BF^IWfJ!2zxQ-FlrzBMN2xE8BSxv<OUVz{~5 zi39p62HOH<E-^+)p0-qv;0k>4-{<@UnL}$s1i2UIIa~NwyJQ+gHA>|qg_O@MV9i*- zu#ruZBQ3PB`$MCW*ufVLhJ6>T17`N?7d&+iYnt~(<C-vsXe5h?!y$Hy2A04R?FCv3 z4(x4WD(o<yQ!qidoORy?L(wU-3*=TbawRa{n&dnucxCXiq^<1zFHN7sm7BH;T6CW@ zh`Acc;__TTPEf|#(8+200-v_~j<e<+JZA10x=wWNR_@-cFJ{7VPiFcXa=I!Uh>$tJ z$T7u$qy3g!PL!1Q7VXW91_z$n*lzCOn$j@S^UvC{Ic_l;3C7*gv21y@EZ&zhlM{18 zk{VxhvR;jwyzPuYSKDRHbCEgUI5L(LivKTnI;VFi$<00WS;u2D#}n=w({eT_S3h5K ze`a`NgVjpU+gqF5bbkFXDW1GwFBivA7Tbnn`Lmqn88IA=cqq6>#_|34&xa;Th%9^G zCYdAiJU}3=kn?og+a2oPnAcd!B(Un#Jm3o3!6dgYfJHmyK4&?Dm|Tbh(;MppoXHMN z%<CBHgcKffeW+(;+xMX5SMY!4ujluRzB*s0Zn2<d%VTfmk9^qzY{egVa|GCOCNN4i zFllUH@eW|IIN<R4Lh5}5k^Y9L<4@JMI*J`~bchhrT`?i*SArOGh@{0A)s+WyCQ zB*kz4sM@oEW9uaqts6XFU06@DIW0TNxP6jZk)d_<)&Crs?M%gP@kt@l?FO=r2QoJv zP@nzTRi!lG&Qrga59JC2t5P>{o>}O2D?u#miS)DyL7n1^2?do!i<znyG9@)eoj;V5 zGR1Mq2m46|oD1Dp^cJv|hWIZ|%=;Li`h1DNr^611H}agm(DdMv*470~&KG3nip$HX z%j_))Wo}5yF|>bHAacN1a9=r}{xm-R!_}t8!cv#!pMLJczDPlFk=^facFz>p?mcH= zZKw@<!0@A;HMybIV?+J#=PYm9YyVEKKlFk{UZAexLidk$_UGn3r(e|XO;&vvtUW7~ z&G8Uh&4vb^4k^_QY*`EfVlQ}2PiX#0WwLk>c%z70!b8Bjk^8CBe-7p(S)M0W{e_&t z!eV7jO^g>pju=`mR=2JSGVXuC+4q3Y>j_iR$B+$asv!wtyEd3)Y<9e;$~ljb$+93o zdIF>BgMere`CA2A3zDRDKA3qd;D}*oNS)+3v6#Eb-DGxyT)qYO>_kb|3CyknV!s|r z??`C6mYBEEi6i-j`@|)z784k^2Toqyz!G83VZAM_amSQwF;y1^D~<-{?Vn^8Ei~TJ z&bc^%`B+hC?=r^2hnS46CcImwr?e?;#teQPG12uWI<r}AH@4(62ZjB5z{qpR^LUHE zwPYXejS&oi2Er4W_zKuJov0UTs4scY{ck#hL<8eii5@?JZoU8pz6(7YU;Ll(?Rov) zh?&pBXMX+8Ska(zNJV6pDPu}N@x23VITzS0H}sk$uyG}@v3Gc~sPsxr&`nUBwpfT^ z-ZAkD83LO(r|mh;SoknM;b5QY6Q=Efobx7gJ#3WPcg?$ZJIC*(T)HOWC!g{)3R$iw z^_#&U$Y~P0uTi_8u}O5Ng-1CD`_+(~3NH5~=K}`n85K;74osZ}(ia|Z<_56ne^6bt zNO$9*m?;-67EI2XvLJVwnMUEp#-fLOm4<pwE^{SaIb$OdjWZ>aE;=3BsPj{Sfoo;g zdkqfFD?0a@O2Swewy2jWCFCiqajkkDlu?o<7cgyCGGB>i%8C>lwL?m752xiMdcA${ zUnK6L*H5;vrC;piKKt~sMtlhq5e}Fc_JMIvMmJvp^S%t$-cEM=fbOs14F9Ir^Ceiy zZ|GUj$@t^@%zw*!{;4z0omnrRkR0&Mn?GUJil4l>0xZlI7*hm<(i&!I1vor@kghht z#A1pGV*r<=6JK*eq`RWzjRl-d0#VyPa2F-}pZm!avpA+|D#y~VMjPB(%&&+$KVVwZ zv`B!FSI&Wz(?lzOF{{{0uKj^5>JOw{U4qh_)TbUOU7TdmS{N`#jdRx`){-DM3j_7k zAib#zE6-h$v$!CmVz6qv;<VeI>L!bs)-U9G>L7WcERFY}RPGMW5+iZ7C0z0f9CNoP zf4P*V%l=>gaU=HvVcA;(3_2IMCrx&E=pwZ`z<<NyL?f@o4;b=SdiY!rQIaW2{wgN$ z<$!`}8lQ`lm#SOAvFk-QnFSaQhbw(rvh~EwE7KW*s_G(sF~@IM`Y*lvs7H^~@1;j> z%=i&LbIMBwi3>Bg&6v6EhV=|nz6n<iOQL!?DwbF7S}qe_T>Qc3>1N}-AFTQtE$r1? zmT=}}M`{<U$z0~-^;3%dy_BPWqU1>jrU@;kT@O^!5_JxVi66;yivGO($Vy|)!-<O& zd6X99?rn5FU=V8*S+2&wYP3Prlz~Y@VfFJs7Dt2h#RpVNHka;rz`3)?w5fqvg<;#@ zjVvrn0%MgpQ-wH<9{ex7WGcnqz_5P0{AUM;lwkFQ8-WWRt>f5G7Iui^*9V^)3D!~y zOSl4*tkn`b4YjP7xJ?pviMe65)F5R}khl7`ystra-m_BQG}%v@%75~?g6E<=>6NMh z4-HwJ^F6&H9|sF~UEC#X$XKDWR3e~0&}!zD=PVKjm?ab#=0(n|ShA7z!?F_`Ize7N z$-kCqdoO+ddl_$|-Gr@*!Vg%vR?Mn7(7=$>vVxIGCxEfw!mhLcQB`BtXJRX7eaMY} zru%%0q7P$~pOCKRh3Si#9F9$O*ygZENK@k9Ob!<Tp2Ed*Y%HYH71h-~$n`jys_kK1 z_e^&wquAC;-m4C#+q#@~A22O^@}Eg#0`rsxNxctDeHUc45~ROWGQ~gICMdAu!&a7D z2kx9Db9QdvGCm@mzr|%{fYt2}+};eDzDF{BKQe3-aGB38SlrAc8X#pRVks)X=yIU_ zQvi3v&ZM*&uIvS~rGlH5Z{VqT=+OMlU10@7bfov93HmJ`cE1V=7fFgZol@iVN+E~U z`w4S+ap+05VEs3Ty8eFJ;G!<5WV~!jXZ^i!hV=#PZ`v8{51e{+eA#X9O^L5$le4<l zEvQqAo|*Ql{-yNNtr`2zP1*m&fbmL1G53%CmJBS}A7;sX?@c_w6nV)br6n)rW9mo8 z)a?#^y$b|bmT+IVz-L;~Z*|!3lz`Y#tGENR{!5-$w2o}b$c~<O`U5w|0!F{D3{ek+ z?{^*+6%|un>KZ;pvhA~ZYv9D!j12b$8Pq38g(SCcFJdicoUHfYLPUnzwF!>9o-sLH zH5XWFy466|qG5HiM%1zd*7eJnm_9{m^LWS{$aGbR%68ET`%)!zUCBeKNV%O+l)*}w zm8s=HvXYhK@1ru;m81ld#1<>~TfXuVe7OF;0L!UzgU^qxUo2odeMGcE)8|^WAyeV> zVo}9I#tIylyZ*Q-de7XOmbGlk$<qg%YV}St+karb-R-Xbo3TezXI;SQ1uF~Y&fKSO zy=m*2nfYGKzG-5z%EkX!9G<f=@FmPwIl#2k+u{v_@`}p;;@QXK=QN4iiWnPwsobu> z)aUCkOF`tSV1d9#j#$?!NB7EZ1FZ}ZPB~ZIxmt^yUNS`_tlhJK^-PkZS|rQ*Wyd5m zI82YUhKXpDeo~b+<#bfgP~};pyQWg`YsRY(t7V6zjSiGfc2M8U<e&D*gu$V;WYdms zt(+4JR+oHa`f19!;Iht}0$It&ef$%)t+VC!b<eBOnAPXDR-uiP@i5=lCq_$)&T?L} znouD3Oi(_og+V%4Tj_c7q6I4a2d+F+@Znu-8!D@>(eBN@Nm0bx`@cf!iD>;*5?%>= zr_5Bn%71B>(&ZVuUu>Ezxj*jJru@GQ6)mTFE%%wuW6952w(SqsNA3Un)1>y>%U$Pf zw?99HU-$r{w?WYMB5l_K)_0C9i$Zs8HBwsf^Wv+w$JQU$otwq0^elN<fQku2ptqvP zr!SX179Q&fIGiHfqH};d?~G>ECu7IST1^Jd+YGhTO12jV$}uolTDLO99~5Eva#7EK zYt;en=c#vBHqNbkK7aWE2d@&zsSo5P8LfZ3cHy3fOp*m0R|E2P|MgoU#`vkiZE6A2 zMaJ0pA1gMPvAjr#nUfULzKPqcMQ*t-<9APoq9-~sEe}*P=1)lB>wGO2UnCQ+t*W(B zXP$Xd_A*9$1KaljjG<p2B)2|XBGRxsMPO0n6UDk3k=I3sCwqN8pr_EMaLHxE%Gduz z-4a+#^{%JBx|VVF6hFiD+p9NK=32h%cAqA!Q}K6`72keazFC)>RZpuc2rpnb6Ux1H z!hMBnnH+v40fw_3g~a(?98PS!^(IlBIok6K6O+mWrfFX<dp;6T7F+q)#_Z4q?s?Gx zO^&NiDv2D|)jE10E-8a)#YFLZvFhkR#^w^urU{ZRQ^hyAR=5T*ZSpH;_@Z;b)HL+D zU%|!}*%poB!gKROxwlSSc~ik6<nko74@@lqYT|!<j|p-=HFzp;aLVC8&RLV(E?lcP z^s#FGcU4K1<Ce=AzC{MKTX42ra^hWM%)U~0<tHbWB^wr~B<}pYzILK5d!pfa6MLDw z%@<2-1Q!1{blv53!C3#eyWzU(n){DMH77jE-?gvMc5~6+YXxU#dNi<GIPBlJ=5&RC zPQ%*Mj&i>$TG-<r=HChCOM1Y#)x*NHfkkcsll%fkd4?zsfn@;;mF$CxEe<f%E|j-3 zy!Ce1Esa^lD~~ejY!K&DTI^LQ@_NUj+-35iOxCLzL_Qj-3SQ92+1{ibE4@ZZB1KSI zNg(T2;@bNw8TB`~Fi+X8=ODI=k%PgRQ7uYOfuY4hTFpy}!AOVE*_naENKMU1RIQ1T zQQE>;tyw{DxwDbhv?U7|MNK&@1gCN|Z)VUkQkdyAcc+XJgAA7x2Nwgs6u%so(oruX z4z)cS4|2%Ktme@Af0m2u%uF@G9<F#U84ghyhIuXuj4n|Od^?ro-pceJ)H0o5)N-S+ zVgUoQMcQevmdFzYi2_Y>CK&<?A4VH@N-6o>iTF6%h5uext#Nr_ieaZ5r(M9#PqV%H zMQr<WEHBM=Y*rHe<6)S{)W+}7%=P!dgTwqh_HqdY0V0Q`gw#AH>^Qt-6|;&&olq*5 ziS~s>PTh|zSFE{VJYCab&kmy_oJ=Y{f_wHx9d_Kl#Phbvo$N(U3}RX>nhAj_A8h%R zZfs?C_?WXHpD{+@<A$JwGgGx$6+VC0HGF)$=XU4}aft&jIE-8}cA9v0cQPmhEMPOx z4-{lkiddkgc!q;rsmRtv<NqR77s0Y)4<jcTcJ1tRw$w^^b=z;2n3DPwg$qH69oa6k zrW9~AIG<e3)fC6Bq2%1n#qx}KiMV2th+zC;CWVaS_l|t~J8i?{2-o+aPaL^~E4Rek z{9Cy}D*32F0JFVJK$|4n&lIBxX{HYr^D=!r(ZFooXxr4#aHJq0v2`_1GAEzfg@&0- zVtgCKogHVmD7&i0P6<p_znT)}D!Vfz#a%S<+W~Q1&7VRR8ZTEQPc&xRIZ4na^Xt`V z@)i#n<UIZshy=<fG_Zt-hAePm4GR348dgxtdTmbV#7MQs7k?toFl$yk5EFD3U}R+q zQ~c;?FPHG4LD22bf#bbAGaVLXFl_j5;9?-4))rxRKEr{PJw$+If|jNQvqRH;jt>oK zhkZWtbbVRqET4NfA!=ckkp`QC8p8o)S+&)fjvZn$A`h7q`zu14>(w4KI58N_5Q}8l z$+J05ZAJr=lS#{)?NaPsOM)7O`1+jYs=Z(gaAEo2Ag#e6oulBZuO_gOrD_Aileg7T z6$@OJ>gY_@%e^n4d>~phvuv8`XN?E^3|=Z~hnP)0);wCxwPKfW@9T(7JiXhC9^B73 z{6pC(Q*RjugVmWWi=C_(SRI&pXSgzEN;tYy@_7i|6`pJ^^+H*=S4hx#LLY~y%A`pt zmN%bV2vWM)Gf8ue$Wvx(Uxg4xXU?ft1EVVcyN1jXU2%Cjmq)_a);Td^tk(jxLS?`7 zOMcurh1v8;u4r(W#e`5tdkMqF#pdmea-4GvZipux+;fYE{WHf~pVt1KWlr<Nb}o6v zY-99Is<i*2`9uTJinLoL&T|Z0ZW=L|uyE`@w|SPDT15b(rA1F1kIv#8_Xvj0xdBI( zs%aEh^Q{pToLSE>L7<USiNV6RVars#GpZ&P3yvzxFY)$>XV_|dR$bjnfywl9-g*hO z^KV|w&0H?jdB%`y%C65zhie>WCn;SiuymcXnZs~W(^mEs8B!OcM6DPm^g4t#a9jwQ zY!H{)&w9>9;lK`;<{wK0JXjT_6%0Au9Cl2cT+*VzX81qAy`X4|YGbmRaa8Elupra3 z0xrg`RSUg+9xYiV+AQ(Fqw&Emrz1wJPu0`3f^YFm73F!5=$mtBI@hK}jfSObvtwR! zdDqRD*!$rnqtB7U><2=Ysm(Ghu%FSua3jFtOUD}Fvt18doTe)!u6U8L=~079*K;1N zvmFx4GTFF)HSq{<SipRK!VH6L;TvaUB$Unn(W=Nip_%u?Bh!uxaV!ZewxXdAq~9wx zZ7g`O$Uh+|ayiF=tXs_uG7l1}J0JAMFa$8a3+WC!6yUVWV5{8Ix9w$jqmOE}3&`+h zDA`|#_DKraqV2PVS>|j4&%K}z%@en1h<6<9ZIGG3s}QE<`-o%ttp7~Lwi5(gk`#p8 zw}v?yC+ajybSO?rkVxkgWjX66cV>?Hha0Y&XMAW0JN?i*qG(I8#aWK{If-dIUL2n& zu|?H*%51xg9}V+NHu|KPTnVUCa#OkE$Xf2eByxP^GNY^q-0{p_V)h$?l$0j2vv5YW z?#kRElCVIpWmRLqE1@YanpuJT36IZyaFyqq@@`g{htI)9oC{})gr>Z(j5=fxyed@T znWVxAEe^45jY>5|b;3z8t9sm}f;IYCKPeon+NEV&#<Ots-3v{2p&vMP-!N4v+-hj4 zx@u)nww~qIZ<WW3o-TNskvvgr(lLWg7yJCTWQQLPoL7@^*hYY{J*@5EeA&%6|I1zW z;gLO8z+k%engtt|vcW+Ip4i>y9Aa}?-Kw=7Fbf$P9d|9ZPkqep5n^J+_RXh`HCWIt z#i8Za(uZl5LPCC1)F$^lIkLb?M<_LJ#?0lGo;;cY4rTHRZTewq8P+wIe41_ueV8=e z-_9{faJ`0z=nnI)lxSgglV8HWHho{@cI1Gi#wI1H57YL<UK9%WbnG&Jf^I?YCGI89 z4)AfdwXxkl<!)pn#Iw+|H1&;#Lh0-yT4^SI%zFxa-M2I}Gh9dtzwwHN^T{Or;*&i! z_bYoh_APBXzp;Vk@Pfe5)Q3zm7Mtz<S<dI~3fLWc_ArZOLVGpO4bEQ-8osmsiZf|^ z;9&cID#4;Tp+(ifv1`*=KkHAG61uGy`Ob$ZunM=_aq&@O6SO$6yLV@3hTG%mWvnc1 z!qJ@PZ8q$jCiqB_tNY$7p@VZdI~h1TYkbTWa2m1hd6V)z!JTiy>Mh+1KC}vc>~ORC z6wqyQSb-&1%Hr1<b)A)~vhL1R>`&;}qBiyWR*97vRpzUvPFwXQK%_(I(TQV>Tt7sZ zSp}rmvesPGKk`}b-%^<d`v;Bd6dzuXv@E##EWkq4mQ8l{j#!2nmON8Je(11xGPYzK zc6gQaQra!!)eD7ij>`g`DUVMdt()^uTtRBR)fEjV)kGB@AD+Zm0T*BMNsJ6y+6;^e z9XFF4mT(Eqi1;7ml_xvVfA$RFP6pfG8!eV8Ozd|LIdbxU9j|6G+uHa!IdTlQuCm02 zTxoiH{Bc=KX#156hsCR$&+XZiy|ewJP$=V;F0YFXj?20`7e9Plv-slix^FS=6?{jO zwpN{SVK8`EBeYghv1VcM)J6#l7GGZd*C*_@-*8@aal$M?-$nuRHm$(qCkj?)I*kG* z9Xr_hlHEo?n62W&*2N!ewV5p1EuXXtAJk^mtQHTx_qlG$Zu5IRE1$kUtz=|so6M%~ z_dD~NT0)EaT_2?vm263uOm?n(9<gJ=RYlQBjG>F?P7l>)ikx~}ai!1mCXvev1pkzU zvbb1Or7n5FEqLQ=lj4R3R*U~0*S|Rw@Knq6t~<Oib~OiM!}F_h@`pQG($$(~AI(s# z+IcACOPAEQe3NZL&IOEI3(~_gPO{6V3bP#V{v~;#;z96y$+PJ<9hpv6TFB2a;Fuav zINeb=ESWE&ILnX8|8|%b=OZ_}Vu@bE(sK<BXBzlsF4L3=C^erHBN(XYROF}ju~B9L zo8#x4zgu_=L&`+9#%f=T4RLjlIN{979Oo~r>deH~r0im|LpbQGtLMcS{X)L3Ls{#} z%DA4YD5+Q#muPE=WP8m}F%)$vRcGL0(>&t9yePTu#ex(qWs~d6l!cis-!5QWx=E|~ zu;oS}hto?qS`RQXJz)H2%p>@LbE^A)fx3fXFAf=~8}WTyBtL~!dKF9k%@2|DlRdW_ zDx46&GFj2^&?hO;XFRuD8V*lLTsm1(>k-fIseByi+?EctH<)bhne(1ZvD);=U$`;q z?FAv30OqNRCfT1jE;LDtwYW<tw6Zj^Ok?1FeZ}TWfg$^H*5^x#<|b&Je_;P>0e@$r zgY}fmU}2sgR~j7__joV~8VfqfKg^t|mgT!x<%X++&5AO+l;&dNIOk3NBFEwtIQXm^ zRqa-k&DyBE=WCYqLVj1{U`0o#B6r~+B_Z*N8K=~kOdJ?bngt72XwUk_YrRo8EW+Z` zWd0eO_?|0Td0mwZ;^6DuC?V4jaA#>5n~Qvf%75(=R(nwc!8;<hhaHS&T+}!*!D6mJ z)z)@>rjBUmfOeM)d<u?|rwutZ)TI8I@y`zteDlFl<fcdP_Q=ja{iojwl@bNsCUY-X zkb2QT>eEK~PQj`#j%nu%43{yAKG>{%nW1gU$3~Wklhl>Mv~H-lH82(#3fM2u^4TQh zqr~9ZD00k&<?$w??+gs)H!ZA-B;>wXTn-hRx-gyVf}`w?7S}~R9?E4dp9QUiC;1&# zH*QfiYAJiJ60GPbtQw;FeMg^mquWi<K*O)mzYKa$M)VuAM$ce2m250sqp6~*5~H9v zLFPfc$pWUE$+K@hh`-lRb?0ew<%0=Ji*nDD6n0JNJU!!oRbi#$5hW%Tmzj)HRP<fa zmR}Z^Ip8awY5ij{qwT|Hw^FND4&DhTBQ(mCx&=kgy9jtq<LsHBcW44<=?~8%A2`a6 zGM)L7VRu+U{JX_Vh5AjOgyhTZbhdGSn#grrCGp1gsgs#GS1_g~&rBBe@ZQ!uea-=i zw!*H5p;}u)?6o^2;|1o5ePZC>qIPl9)B_4thK82iPRcgHjmm+h#zz{fCn~$OONfY> z+}4;G<!-5}A^4`VyJk_trfWiPPfS$bxX8SMUoUVLbCK!W7ZaCwnxrjM%KG4RP0fU9 zrfrCnztf~npT~=4ZWioqEbTO$up`s|?w7`WmX`lo8>U&#ncv>-^XtE}-Q($dLMQrG zne<=eJkl`JsYL8@>qK5Q&ixO%vUW_J;~;fX!Q#{hh22IxUQ?Bn4%_b7DkE`?=ko=t zb%D~{?mF7cabFyh<|}G$Omcr0V(>Glx?vfQk^!UW4z6Yf$GH!DE;QMvw(%U?U^_cN z`uqXQnHGXeHgL@}SXdX?FpYta$AqzFlA)w?D9b?&y9xo0r;O)BbY~0k9KFGlzR^c? zlaWbrqfTQ$N95uSrsYnTUB77vzqlb3@jOPZQE2kaGRGa3b~9$K7K@EO?!V&t5}Ox& zMyt}bZ?zh$2FqNWEqTIKIWbpjh1MkHWoZX36e2=Q0w#zoP|9C5^UMU^*dr=7AOABH zacQRAXkF><|2&yV_F#0#1m~VZJrXQ@!VOs&Z4=#<*<LirO}^SSy;ysZIM3X#JW&tk zrfSOaKbpVUNb!}R?gWEw=7mx+2fRK#^tl|~!=<2nf`M~sGvEKsQ|B3)a+er|t&}W` zuos>%by|YdAt$fZn`QS0q@9wSCUjX+^n=CbPm@+V@ch5TcjQurRSL^i6*aa9t)vaY zp`Tf8938qA1!yVxC~uSx`X0H)Qn6&Sv$Pqb*<^o3#`RncEc>taTv2URSrWov>g=oB z=cBwn$W_q7!o)afLmc;78^c+DM1;5&ur1dNzS6;W^Yd($m9sOrmc8-ZZT+eLTG(u! z*@9uK{_{Fj&RX}1@!wL$RhNYM3tG(|EfjvZH8iTTbBeHNhG}T=a#z<Sb2jtLKdNHi zBDaoF@%rt(n}Vz)Peku?OndpEcH8ILZIA4{Ud#UvO5NumJtJY>=FLX@30vP@5MQLc zGR?7GtC3&dnae?>-#Q{BN`U*!La)vR+kL04zQSzlStM3DS>oIk&gq+{-aocr@it}M zDCWgta~Zo$gSZ4MFZ1z#mg_ccn($hva$5$ockI{V7`Y`oEltc{M+k*Yo;+h(FXy7z zd#++mDKn$kml%c$9XRT|l6!q{#;$2A1434%uguK7IeF9hXakm+vqfLWUCGS1>5;g@ z<^Qo{w)p8~E5uErIQ|RDXEeQ7>UL$fcv^--<m%GC##L5MtV$PSl^7?zcrcN}V<%Uo z$x9_>l?jbcyv0;wc-j<ACL~N<cTqxU^4iN6YJWON{a;kP^&$V(LIuxB^A;5w-uY#* z+-ZgB2adS~PF99dVvqS#7t8E?q>#5-`-S16iY3}g!69-F7+MNC??2e5RjlOoiMdy* z#k0{l>-d_##)i$pv*nt2&jm0?a_6}R`^xRw_-U2!3`Uj{TNfXlP|EpfmRtG6`Q4>4 z?s0OJCRx`v1zVK+pIP^!Vxr7O=Le}XYZj$^7SR6jfYD8X!EFJ<T!vL^#3fz|iHcre z%m`&tXka!7V%)Y{O)q%9*CxyBr~fM#Ojs)Km^$O3RIMW`(*f382evut7FkDBD(?uS ztzgW2<ZHTP>T{7T{fm`tCRVXByG}{m9MlxRI(eVW2gZO+JkMNqb$xWwEH;cfAkDk% z<m{TlSrdxBeb~Zp%z14lN91au*PlIKWlW6yvD$K{S_<3je{0&_OelP~S@y+;+G1{d zjt4R65)LN}GK6*P<O}TPJ2q}yBw63Zqou%RSk0dq5qK&fu;_(~Ttk#a)U-bCNk1+y zD(B45brE*)aek6hs>u<3`$dfPFO!IN#@$EP`8^hDHg<k!BXlKG(928ZX{eBGm8!1} z|D6K{g3j_iNi1&@muW5F`8RR)YC*}@jBKs}|C#awm~;v@-d2{|n88<|&ai4z*7~Mp z_dc+i1en}TW52P|-EsnB?gVDl4QwU}Y~GJ5&5hXKFR@lC5uDE?JaLDK^6j-O8>J-F zPwOwyI`=@%`|2$%Aqx{1<#mMui8HqLI$OP+Hud8dDdrz`H?C`yib#nDnKEzG{A@5g z`KD&}jLcI4^)s3Kt}Ze9$DlE}lxJ08Vb4as{ZhBXXY(C#uwv7cSkAs~eP`^8ry1Qv z{8L{tZurG0f19^WvfRfuQK)1)!vtHl4l$#M`3BWHJ2?gaF3FUiSbG0Mu-A(F&cS_e zZuLssSQERXX^rphUu$+1OjmI_QYkEO;Czbr`mTVU!jkw6|0niuss3*!BU$iV!GIy+ z1KX-Ce7_8Md_J-Ie4190>2S`%eP5&?N7C+;;+nobW}OM4`40Egx2n_zSVTlwF|`Wa zsWRzec~+?2q%=WWFSznt*NyWI%onCyo^!Y-KhnWo<-qeJOL|gmo9?D;G;%+7g(K8V zo9WRuKR5YXtiCgvHk}J7p35klT>0kvg9F{$CSAQEcqoA1h=Fyzf`ngo$a(hJa}{IO z&fvf7u)Aq_^`hm;D~}1gP2hF=u==Bi<c2Pmv%g&L2h1@$XSrO6??s`dC<E*2VAYVN zN7bJk?#xs?J2i8?=TS-J#kFMun|gO&={$15*Vt*VNnyHzkz%M=Se)aL|Cds|<yVI@ z`XAu)TEH;pJ8RzS<bsL<x4aOQ15Dlxck%^TRTtzlPPqF&_1@|rLB&;CcdE|ql6KNx z!B}>H$zcKO@#Uc(7KFwmuop;Fyr@-HmR|F4s<6+m_-M}C@|%wrX)|*%u+J?}U`gEE z&9r*@#@_Tor_jw4e4}_g7F3JzcYay^h$Aw@MkyvGY}y}ZtMdoe%<d>zX)YihapKH@ z9{vY%cg5mlPEI*wplGm}@2`@8aYx!WH+e;s#G{)x8WbLuExO?4GqZP5SyiQ9x6>`I z4?jQ8n`x!tqT8H#>IK8e6`JlV0&0(`JiR4w@~MzQ$vHP0)4DBMULEd*D`&pcI=<ZV ze`SqO%UaujHET;{tQUC~KWlPk_4=T{%2B#W-QvUtEei%Fkp=~&{M`W))Uq!y$~Le% z1b~i!Ney5V4Y=2&ClucxczS|};u68mkH?Zz*+m$bUhs2R>L~>4Fe-E?RGG-c$4gZv zPMSQaxPVJ)h7#8tF8=xR=FFTsM``BlC3E=aGDtJZF&L>SEs)_77S^0Cvs!N6iW#f< zHSJe3@$b{*s*sz#MU!D01DBGLj0}UyWv*@e&R&%{%fPTgPDY8rYv1ezcdjysKA9mU zb!zpUITHNmxkR-tZgKki!!av(kJOfw6Dt&)xYcuJF8gYwe(3fNDW0POU&6YY#Uej4 z{5iaAQPcnZ(L2>T0v;|rre4dh#^c;}GK{Nwr^CeHV{6&eRrYOYm7ezK^72J)oy!)w zXnHKyUnnx;@&oSX_CT%$NkIw?5rIo$TqU0#Yn-Paczs1)ZNid_Wua1&?s>aTyLZFK zK2PePDIdestg9Zr4+0K~u?nbFWCl!(VCEIg(g=wNUg+FzEPLTWLSSRhO#M__js?d& z4@^&<S(AFHKzGja<T9U44k{ch-Hsg*8#Y{i!9B;)NAqZ`>*2{8X3nW7`*dNQ@a`wy z!wL-ykF*?O=v@3*$u?|C)1sv}r8K7<;wVl{w|>d=ppna{NYvFp<?WqYY7v)j{1x5! z|7J$;vW$gJA;(&qxY+*hsyW`t&XMtuG00W)^2r#bD-$G`j4~Sg*v}>;_v!zRa6YT^ zyrL*L^xTXF221OOO2IxmPN)R=NH8RXL~(T}UiLlIFx|<|RgvXh)2f2z29CvNKi@Ub z?=oi;IOr*KB<8qaCu3+<>Qm2{n6qCRB$6vX9956CUC`LEB<5&T<gu;7cO$-MEbWYq z57Kn2+_6BpiKi~pu)FF(M6ipXs7*o}m&pZ(Mz*M!<Vn)$YYLA`>M%@nVb$SLbdH=Y zbGTEPzh<IbjLeD&OBoh3GC1)y?KsfD-JE0K!Ju~VW2<DE%gGS=#4`tv%hY~Q<XnG< z%X-cF!$Q`c(up5tv9CY1X`;LI|2^NdIyYQ3`kK8t@lTdcK~Bp-w#|ovtUEWJ;*&nP z_25sd<GT*~O?tcjLlw8q?gMXc>8hTYcUn*Np^@~-y`O&FUcc^I&?dctWACJo9X#gt zX2Xu+EeGH1;P<|CY}em!7Yn!7D!k4<eDB}w)knTdNq>-eXeM)KO0<~9R7;1}V$t>x zPT^C5cP}Q#1fHGY>ZP_$)wRno;i9NX@rjuhXX2W_ZcUG09pK2T%d}^s7OU_TkzPre z84DYwJntm3vu4k6bYr({2x#P7Gt-G{75|KHnHn-GS>2uSXO3m@N%{!72uKR#74oST zI5sOwrF4IIJi%S>=aVVnc|V`dNMHB!*_`rsKcD{hyIMK*?D5#vYZ?U?7yl|qC~FF@ zOzUDeZhB^}-NTrNwWiZo%$QTEZX~*O=5#?NjfF=olrAiI=zGehP~Jvu#e_rRS}Ovk zv0aQwZsN2ENNCD)*$}`cnX*Fgtn!zsPN%gbu1pc@I8_qh!l^29?v<D%!@Xl7mL-jC zQhf%^r|sMiFiCxA;P6?%B!1$6!GSX}^BE@E-AY-uSoXQ^j@1bUuh_(k->g+j+u1d{ zs9okxuB(<9OR$%hDPPW+=h|En$DOS{uvz;!FpC_xnklrP@%)TNHrWbk$w>ihu7L|` z7H)K9eY%M&aAs54hiV7bdjU;n|LAfnD9Eg4yU=Jl<Df}_g~b0u5)Ey}OB{O+CLWO7 zeBprEu8+M1J&R@HpGhroahE)tDL?JT60VdPej$4pSbdE?wr<N{a=+st((b2mB3Wdq zZmIHxnQh8E3X%^eRaLp0?As#FYS1K{-@(M35g;P<fRTUs&oknB24-9<8hN@FIZA2- zv>B~%<XyF9wz6o#)@MGKL_Yj(O7Svi2z}a6pm3u>LEt*0)C!~U3C@QZrX6LlWjWZx zW6&(J#InKK-~mtc2WPQM4Q)Aj#hS%F%dM`TJa=wuBhQNz2FWIdoeBjnr1G+2<-0$M zaqW89WaaHEFYL)|dPm1(-R+ry@1BU>(Jfl==p^^NH50|UYSOJ`AKVi6`p?iJGbNFU zX+a~~z6N&2F9sp~0nUr!GF^;hHnuD8mD0cZcvtCy3Bqm_2i`<XXui2)0ZU*(Bag!a zrm(3DylFEU1outQZ&|vKTk7>8hI1QyO;Q+n6MsAly{+K8rfne)^MNd}a~IBSn)P)} z#?+Qu7aZ73+%!uJB&XUPF6O^l$>ftLB^=SVP$fumN?EGoigJcuQ|AP|C_9vK`opJ? z#>WTKrFJy9C8{lGWBk*|n7t#>X5B%H6%I!YJELAoML0C^ZfG!#In>o8ma;2&&r?6C z2bqDK2Uqd>Fop%6aC(&Cz!tLeYwDAfWa+89$5xl=XX9p0tDYR1OM>z&zLynN=h z|F5FH@8VWDEPg}6a`}tJwacPe{a1)M25x*NQDD?1JMptv&{|K^523=W2a9|5NMwX8 z5O9v(#k5s@+cBw%ss=Hp1B|Dd6nGsktnhewF>=L>kU-G}1BQ%*Nn9%$H$UHSYo^o2 z#9t!1tV|8Jn7w{AZ>oLBZZqS6vcZE6c?m~`IowRl8@wM&-L7bi{J~^<*5O*!t2a8& zIJ&3xTvS{6L&qvNO8*VpZnaxSbxpEAJwMNry==2YZ{=gn^S+<l`Zu{auQYmiK&s1` zS%x8zp@3ndRLJ)Z@0w|*LV7)(8UnMsj_HcNmT0}O&!n+&!j~x(9!(3_=d!4%F!GmH z7Y65_dEsXL|5op%r7X;8e|Bh|W!>v0y{2%%C2s#M{uAP?xKyUP@LrvnH0k=|2FJgZ zQ{*3rwjT31HCJzEmwZWXX_~{A{-RZF<^{RD%oT?j@*aBf9!Ol0SH|x8SW#Lm=RC`d zBu0h@8#q_H9!;OTM{{z)#_5e87?{O>FtSxNB+2!tySe>%yZHLqcV*izYG%JYXKTmH z<#+g3x{uGPNv;cL8OQ$cS?j1fjb-I-tBWoZDpKQ0Vse(59(7{g`Gd>(Gh4fprt^|* z47{RIhZ(hcl$jVOG=4Nnkrl3}v6o~!X7$5jq5Q%h+|BzA%l=cyn0Z@<-$r3OgV@`5 z^M3z%K6kcIht0&xOs&f4|J}0t$^)LC|2VH;62I-%`orDtTe5GvoZ4VsyueItbC1#^ z%a<&oeaFKYG9JD$`QUwgWkKiu9eZ!7Z!gnYp-^6Ipk%xBr{K>00qwKyH}a|MaAx=T z(9U;9kyDv>>aNCfKaN@N(_F={QLE{Wwb9z|j7L4zSIx9oqOveR_xlF6ZR^WrJg#wG zdz+!J{z+&tdq4x5&I^WT$yZEwbtsB%f37NXBhNJZ@?5=>fo(;T7Bk*6`PsbhMORRz z!zC-0T{&jcr<}R2(;#2-@Z*j1{~q5qxS(+UNU(%NZ`IyU&A&dq5l&pMo%Hi;>UBns z1w|+S*iO=yT^29$d3T>qf7hb>Q!-{&GD!Sy&}2|cVo+n=QP2E?lWm3f0){9VhjbAK zYnLRY+(J*wsp6H5_5RGJTdp_C{b*E>Xi|F7C}Yv2=25L$(WE@1N%lmO?usUZ6S;;K z%_bd9rWMT=Gny0AQytqxq#DB|mNf31EIzNP&W2I=qnSz8#ry+DcvmQkJ1co^o1o(I zQC09#!>watpQdNJGs`Y2$f;VUw%WLDv2bJ02fLs~uKbO0dmme6vni!aYW%e<WW^`t zgz4OCj^|b_Ebt8EnOV-Wn6V?yNUbSDq|ZQY;h~12K(&dfA~UvCdKU6@?5Hg2$n1a7 z(Yd3ttyD_GRLwF}WSWHV^zu5H5|LJqR2df@_k;g)e@t&z&1g4oY%Kf2YTwk^*CEnp zB6s*fd(^V#7uN#3#3B!ISRYvtp|GvPaH0sqamB+8aSGph7KC-ZG8Kqh#9+T6&8pZu zCNX}|h19BRZ7ZJoJM56L+iZT4z03Ae!HVT^=OnlsrpfWU3cIE86$uv{WKI{%C|{rM zGJlDb(Pd7459Ytm9K}rd7aH;`Sjf2Un)2hNT?|i+U5&WpHl&rgidqzVi&*l1VQ8}} z_Kr|8xt|yjQfRwsvfK@`HUZ1}F9qIvma<8`oLDBxwRoXgLPS94^@0VeY7aI_rEioH z**Ph4(Zrr5U2+Wy1&@lN+(dR|m?RsU6<<u%n;E6?g!ix8fBrNE_V_K`(?jH@x3udo zWcb21&CRe){9C@7lU%i`xNDh{^JbIv%9V8{icynNo;tR~Et0WOo-!jm+~#Edm&E$# z?h4-n#L}3$9xQCgz2WYbSatJ;T~TMb%VhJljPdVN)nw8qHkOvJToA?J$td`OQzo5z z<^!<?R;8{aEr-tv3Srj&Rk-F`8s9rmxc)k?=s_t#i2{KYOzT7<t}8Hk1Oz%aiky8g zlX1FB2g{t!B(2OJ0uMhlh#cS)e>P|POR0qmX0JD&t9O%|X{W>+1FOlEi8_kr`#oo8 zZ<>2=Vk1`obId1EeI`XNaW2=7E<bljC_QB~3E-7o<RZgl-ySK}|M36J_2x3aGkbS$ zYc1O7vFvcv3WqLFW0Quds*_EGWt7ahGTe_O$UJGxeBzj@IbqTZ)Be9x0#<L7@@mSB z4RUfdnvrdh6)(i&;#3fw$<Gp`;&83CnpwehljE68+sR)f7*BEttc<D@mYf%v>YdCr z|3UoS4-69*X4M?!wmBs8cgy55g$bsq+}AEB9=XZGzI3+eQl|9BUMUx6AKB@i8#M1> zLHU7{@?Ae&`URK$tPuN`X}ffhd5B|R<5TW{kBSVhW^%K6{ExIQcCx-&+;(-d$C^aG zYtC6giCtVD7=v%PBwrMjm@)lQVVm*gCGVH3eXKAJE#ed7oIRnjWPU-4zp>3?wf~~o z$2hM2bX-tS`M;z5>;}~{79MN1O`j9K>g$7folPuBjB?LdtD*(_?roeo@p#)q)})q` zV(pevF-fV%CvqQ)P%sd5T)Dt;o$<_LhO6fl`7eCwxLvZZIB|a6tC=$y*wZ<DJb%UA z6YyTfB(7)~S70dISu}UcE)T5@+@)E@rW=LQCHPK0o@x3~vFlaJ8AG*a0*xhF6ApfE zxVu1X&B3V3%^pjH8s}xQXBW(!F>Ar13#+=c;)4o#uL;i<jGlDwfY7Ch{W(G#*9AMB z;Yiw|##2_Ay76&JL+Si9$A!IC{1%^$r5Hr^UY@<BxpL<WD;_pw7DFzP$`V)M7U7cM zJ<RK!kN-Cj-&No?QTUgd_^QKeI#&ghA6&6YRb9O$KDltlY6i6zT!lLWQeK5C_#d9? zqBvu(g2#dHC5;O?y^YpfR|xudRLFOk)YbxCmt7j~f@jNwX<dKd$>242_4J0W%%Fk- zc7YR{q8~E;v{)vjAzM<#d*mcz>IBaJt28)V7oJgI%G$7V&Zha<hZg&$&0XKFVJkUd zsnD{cjuU!RM6WqB?m8*G_Nn8no7|4dRZ7wPf?M3bTv+Hcy;rb>#fM33!-{E*)&3%_ z+ZX=YBKyQYxSPjr@rvzFOlE(t%-O^x7pZlGQ&J#QRlFql-;K#ETEbhMJr&gg^Q~=W zZr^%HN>)B<XT`L|mR0{#IFE<3JooHc#MpLK)a82S?C;72r<E5PI2O$4Es9k5$B{kH zXvMlhV?K!q){A%i*P69R(q_>ImsO7GXKywv)>JHVWR~2m@$8h~yd`s%PFwm;V`gd8 zx}$>Ti$6<z4BUC|)a;*;f+xZ^$UI-VF2#y*yTb1-f8j-9lV2`ZN=YfLlAk<9s_3v# z#pb08(pQyeA9QgPcvM)|-s#Tpdbi`8n$v+3^lytg6qj^zMf_}IsWzDzoHJ2ba^KvB zmS9hnm?~o#wSs7)^#;GUMVZ<3KM`AUDlzNi%&eDIt4gQmE#f)Oz<y0r>TE=-=Bs(4 z8i5bK`_F7kiI|~!vSE7rmK6bKwuor|mz{Ha=SI#$yBF;CT4LUj)N4I^#oMc*-5a-8 z1~XQOPk70AL{D?$o=y#ZiJ8lqJZ3ux_*A#Cc=P7;IR9<iJ%?#dMAH0~dk$^4ED64O zFo0!NX^!!0fyOn4n`Dn@{x~pg`{jl9#nti?dPIJhB=E?Y8J~$`pQi4^d;Fu=@-r$= z5)Z9foMpZ<o_%>$oywV|OuGvW)r==E@-m+$t+QN4-RZbscj-#;W$hwnk-fr`f+H9M zqVH@v_RzyOxoc*nT;G)i?|amR{;GwXZjG}Ju$&dwo^srg@f_c7QT`W`<h7N)8=iB$ zyvoZ(I8V{self#t=>;CQxFvRLe10AuqqIph)n(<z|K>aP@Chza`=4s{T_pANM$QtQ zO?9V^ot=3~wBT&nMQh${m-U`n{eq>d61mqJPTe$ng-2G({nL)+hZI>3iV6mG_wC_Q zIK%slYns5{O`RGyk~UU)EsaP%y>rf1Wv`_?C&aJz78p-C>#p&qKi8?%^WluU8Z%Y8 z>f<hodAZ6RPM)wzyz=OF^NSn@u3syWu;tnCbn(%ToQAU(MVOzcIHCMFs<k9q)w#*K z`r3Ymc8|S>*QGBs?>?=zdDhyQ-Ojf&g?oQ9$C=OKf3R`mlRm98tE9zDG7n1auM}Oh zS|e)%|J@IcOD9M<9^6oP^V*$Q8N)Mt-Hu1|ZH=#gcG<wqBYUkbQ0+gD>dX}u$*0U) zon^LPmDzSsoJCFKb+gw|<6XShnLjDco%TRni^2K$$<j*CslU|j2`24~Rps!#pR;L= zn2D1x)1|^hmLK0l0uL&3yOrp<@#r@_e8H1m{afVg^peFLDZ1gkf^(Vft#lFdh!efF zr~09&k)jF5p*DlR)|Jwtp3@g8|CG^SnG^8sim0jjm4=nkhd6d=Us!fL%2aW}TE$(m zof@AzS1hpF=#$;X{6{h7?S=!BjRX5uoKEEas_FFJeG%X4**zcf_uXFJ%D8ZOf#}K4 z*A88{7Vv#RrlFt%*MwVHDSmt{rJoqTCPb8-cu>>2pkT+N0~@+}vmV+6H;QQp3(ov6 z=CMk7zQuY^#|g1+)=`3LMvIMAQ{1OmRnB~{W}mf;qnz;4*j4+sNUdd5FE@RCid*)? zL1F!Q9%olF-2LYN+dO;GxkbW`j$J!d9&J70zvJjn?uXt!Vv7pe{=ShC%9LRK&Tvk$ zK-4F-b`3)T&$0(LtB+h<b^e#a>gapbDbK#ooF6u8!G{}jUYxD-Ij!nY!?|jL`L$%* zq`Xseyc6Glb~&9nd-GlY#h(M-SZ|#h`@m`MBkxHCM-KFy+wmZNVx#R&JFoDE?hAR` zPC9mE^g66ajg>6i9~=I7d#m%I<2^2q^0IHoPvqf}5dM3+!J$XlIB<daM~=VW)@M6; zUi@L*o$2He{QtUn;;q>Xz3THDd7ge+^ZlaKKORr_t_907&t5e4dwa#xUexhChXdEf ze7;r37?(7Piq5=lRqgd6|Lu`^Ml(<4Dly4DI?Hf+^T{*czf@`S?Gf7HQO(7ZT%BdV zctzKh`;G^>Z&q<BzG=ziNLez;#U|^;++(SMFW&oCu5q?AcIN+d#A4mH*zGgZ7Pc&n zi_XlBUg=n$t)$52S#gDLX;W0`DH%2Yx7Ky;#tYva>U-c)^yo-}hxeAf0^LzI^B!%{ zU97t9cFkAW%3jrj7gU_@_xx{v7;)RgMtauUqv3W+Zz2O#<xE7DS}oK$9`(g@$2=2J z){oxSlg$~V#Lr57eV6gs<lKLbWY2wGEF4^N{F+%JGA1%|-7+%m9qn9PGF(zJ)8r;~ z&*q=Z#XplPe!<j9{BxU>3YJan1`Wn)X>~S9O`G03O{+_4{?y(rU2`RtALyF7uxbCS z)BESn+_hqv=JFP%xfl5D`GtkAYHHeFo%D3(wFRfn-<*4Ox!XIp509^Dy4`zp|IxLl zv+laRuoJ9WaIl$!cLA5ym!mlk92(~zTIj8)AhS1pnN_C1L&tEn7U8-Oqi5ZTo_y?r zlY}d}VotZ+eB-Gi@^NyT%XE&jQ!)ad*;X_7hsG=uKBqc$Zi%bRi%BzmU7x->sQsf$ zFr;m=RN#%Q^j=vm9^Oj}3jHRnagocD4F2yBm}<(iZA;JsN71P|akBQQMq5PJI5ta5 zp4FAqUaOzc<TP=UtH9KxWcj(<bY8p=Sl@EM%IsE*+1i6{vlX^^-S&>!-?L_c?4Bz= z=>gN1a8xo&<fZN}p77I9J8jL==1SX_sm5PZ=k9qpLoVU*HC`F}OWR{Q)6|xw20J~z z5w<1lqkC!DE^*nG6(6tbdT!TQX}%(1g<svi#7%ECC+Zq|GgWG>*G*vB^Z)*b<_U%m z@3@@Q6^Tsd<ju0UBIn(hdc=<_sU`TNqY{I&c<77HMcq1^a!kb{buyRTYq(j%c+PG? zPT7ej-dT&8)T9n9b%>vyA|a7E`GNyuRr|wB50l?;8vTzk77&%ZsxNz1m8WB#>7-D- z1jC<R+NV>P0<=!5l-{27;O?=9mj4f$H%|O6qkehf3LACK9N~*9C&i^!OuQH2wb7)n zV9LtlULo0bE|)@OCsxeJyP9)7+Vtw#mRM7bOD3nHUVLpowJ_VaYL@=dt&cA(KOYjV zXdy1CEaWWnM~%-_yYI1l!2JZ}M6;xff)1(Vl@sr4PB;_FpVWNjl!#57)-z?+c*z~} zn6g@Ki0jV0kQtWRWza6LajW6>$oaElyI6QD8l40p-G5Fx>6l?@<ki0a>$VwjlFOz> zwKHv8E@5{0%Zn3f({++ghNWjdi||^gbBMcr>6V%LGnhCJr0oAIko4bWB|~N>zYXJ| z_Srk$=%`+3@_&@{eBHY(yL(+f{kf8)?^63*!1C1zZ#k=*53G9wR3}HBop(KxCAN)k z`lUE7C-tu#zE6E_X_W1KIz2b{L1xRsoc_MYmse#jdL-k$_RgiZ4p%czbo(~*7&*=e zSX>-8VY*DUfs*{jX?$C!%-NKnAED{6=EysT@1av)DJZ5!x&59oxkSeBP=aOqsjh+z zPp{a@YBwzWE@b-JR>?bJ!kgJwCw=mI9@#z1VXANB<xrQB*{4H<b&B5!ylu3-KV>C@ zxj^COs^f91KkDl5(Fo-ac<^PqM)9e+HT_p7ESws+;AY1jfr~2+KIijx^xS&itaqo$ z|KLeI)0^I_Zwj({FkAOw^Z72T+Q+@W?^nnaa=rfkML75SoRibu6>1rTRVi!6h0S8s z3qO&gT=2R>J7b!}*$aoV4_b6GExy>{a;8-%{z6Zu%S6uVEh+hNpD(sOFcV@u^;S(h zgxk?7WYWet>tsGw&zqyvHc_hRNYUzQH}{H(dIb|RghVQsx$j+QR4QZ8RWnrJ71}=S zu!U+;?xlwMJh#2yw|MgW_~G&|tK4j_Yp=x9L{`0mrb)YaR$H#0$o}!(^Z8R&3YK49 z#P;`_+Ez!6C3!O*-73rawDMVxbD-GE2#04+^a?ms)LAUK6i*1WxmkUhIN=Smin?UW zG!6xh$vlUp|L-&G`}6ULw9>`slXXuyV`@~&_>_I3vKr@dWU2@*zHySv`@3$+*Qc)h z4;<7EZ(uunBh&a{P(<M~W&xf%O-xz>{w)GdQWsvRigW9*W+px4XfsK(*SrAQk<et8 zsyLb1<LLZrN-L(Gec={#<Eh^54{g5{I76p6oSnbwgqXlK#mTZ3m-8hioHV(TC!JpG z6RWj^GlJz=oA<?877d@}pY7o1otbh#UcId^_$sg5#?#_qzdVc!XDBUTIVJaZhEt#C z&L>K&f{nRJm3!+LE^wsnSZ<YW<;gZDi7Dy86P1eslM0^XC)vGKijEVT?C)_>gt^H5 z21n{CM~mmGeG)UB=S2MPn&S1IG3~}v!HFv^FFa9|-cWr&+-mEBh>j06{*9-CGaQ-M zC3YH>NTyq;9cb;CrN_#AB8AgxqGDqPSGv5jn|OxT<-KZ)i?~-Wtogz@$2+Zv_vPc~ zDt|M#TW)l5U_BkMZ;jwK{|H~X#{$l${(0=*<!8ig|6mDwx!H<`wOS%aCE1dg4qZH5 z6=3%JM5N-*$Fm>Ftg>6#qk1gK>&BzDgUgDqXsT4c3ieMDkvp&8-kRYyK}_yN>J1Lp z;NY+GE^4^6<jQsk7k9EqEmdcYtbOBt>X4x3M3pjsR>>Vj2c^>L+Dyw|vaVQkNicS% zyP0r=vjE$jHU*IgE{#Ll7U|yS{QsM*>f+zfT$m}vvZlsOKx5*B8jdS_^Ee!qO?Yys zM(x8{Po{?!`vv>nC^R`tu?Tk1`KWO0#YCg|m)7$zpDS!+XNdaMxVU@OFRi~b+&B0B zYTIRE*($MO;gj+oGct7_9xKVUmT7;pR%Ydw)sp)*Jk{+F-DEAhddAK*jh?m6JNr}e zJa*)?>7Ey~DgIiRd#7>!<sa(ZVYAwdRLsJR4>;;ZTDC-JE?~3B@kliPdr0qk0k{0b z1m5fw41Ous_|4cnj8hJZvT8M)4v`TRJ|%F#_l$uU*BV8^LffD>50>|{mjs(t&V9ll za9L#bM*Rb?a+sy|9XO`XQ#PH)gGWTto!MFW(SISeTz_$GBgW%?o0xMx`t$v=6kh1W zu}3rJxYwoY$E<hzU&;M<TugUu)c=CRcjTTLv0L~y2eP~ncb|G=;+X*Tn3V_pHmay= zsftapFI%LvzHlv5jM)U;kB8H?SI@FNz;n|01+%=>%C`CoZ%!E3G(Md0#z{RcxGlEq zP=G?6%9gc(O+J@cANQYOjMZo;a_4(s^Um+R%KZzU+@3ASlM>XH&sxP`9q?zO!vvRj z&PmhETWXfocsRd1bg?m4uB~ok+Y^Qr=JM+TI|9E1f6@CI&{=J7%Nj4iAa%_l|J~Eq zGH&L1(q9ZNeX*3Dr2O5jQ_(ZBG2}Rh$d8{YKPRyMe^kbl|Nq1i@pm6?urnwwI<I+x zIb(v~A)^L1yTx)&1u=J)u&X4WO}$vhkYs9+`|aR~$_W!Szw~F?hshgl+}NJ&7h#w2 z;CRoR6lsxfWfP;BKg_&i>HE3hi_f-)yM!<NYLVA$m8f6%olPxA+V4}RDbN3j6ZXDj znRV`SxsSrD{xeNUDVFlrW9p~hDnGJu&B~3}t(B#h)z(Rza@ex-+P#Ug9{2Ca&txkv z`Sjs@J~QvL7rY&(>?W68sGm87ndyO>@P)!x;`N-&?0elKvNveW7f`Ts<d<vV{T870 z=!0ycvVQXw&iXdaw;vsa1B&@qXlYHZa$8V-Y$|KIv;9VP&&|_|lP(l}y#Ak8c!BRL z^O{Hn&cBK^f~9Pk<_$kTCR*O`s7~dITj0lBz?Ry;R&|}N;DDBJ0h^$z!2O0=z3u7m zF1Y4Sx7Yf?mX_+M#ZfNU(Xh#!p{#%{<3hvfa88botX1Om-xL@=Klk_-V#6!J7FocS zJ%LT@MFD?mOoK)1%$BGPmnx=|uw_LQKYYT-^nqDJoHZwf<-Q0@<N*dA0oJMsA-9U7 zw<tE+Z&Y9Z$lzXbq^z;#yQXN<<E(4ltc9BSwK&*wt`s>guoC{z)PIHT^&)d7hh_#- z#`+E384mXM0*b2|_$Rz5aemy~FOqZ8m{I6k#DjvGed4WOKG*d==~>>O9Xo-Q+2B6| z+p~fr8s#&Ouy#6iTupC|xZ%M(frmp#-sqzIy#-BsO-c$PVlKAFiCkd4&(W6~z{YRh z-*4JdmELzGqpIXO=gQFb-YNcT(pY#i*xo;`-*h~C@(bROil~*U4V%OiqK`~Syui5S zauLr5wwMIAQ;C@+EqvwavNp{2r<H{zg@rSVrBptaymf9WZZkBymQ$tPnbXqU7t;Ms zc}nk-s%sa!f4Eo+J4`(Lqr`Wo@BEZ0i2^K~;x*mR+HN=WCI&DGI<`z+!v02J>Prj% zq_3<63@raFf-?%LB{@BBag;s?G3apN)9~n<dByLdQrH^yTEFJ#sSNCy6IdM$*p0Wc z6+8VGtoq*YiDOdrR*zlbEwfA}?pEnG-R7D<v-aoVsfW{p?<y1@6=lghkiFg1%WJEa z?hLiu7E=)>js8o4D;^je{><CK;mIGto5dn?@4(coXS^YvQ}kX`zg99Ve39E&9>wWA zt>CBdK~GPG#;G$y*tRJM=sur%+o5-I%Z%p^;h_?uSpiIy9>Fma>}J07DEwKwNld3w zuqp7^lvA9|&x|zh&R~sHV2!-caN(E*v%tJ|O#z0B4bLp3IXFue889x0Y+-hoImKnx z`LA|QZ+b*-nE59%CVGLZgyq5sA}nbSY(+GLZJGnO9G<gMJxrxF@IxZkCeDQK3nqUn zPM7%1pj+Pa_{aa*pDMcdwNDcCh?)GPz-$JalZC+h%z2N$&DJX7Kf_Vq$th4dVfv&G z%r`P;TOOZlBQE%wV_~`j+fU|6hhGH0yx#M(ab8e4*GUE`8MmI3Tm3{5l({x9`r$Hn z=k}HqhaMA&T)W7=KV}R1LYTHTvh#K<E!JR&c(TaisiWYFDbG&k{5S05U)64Zwa8|v z+l>qIN}>gK%%oEq*fI|=Bu6Bw>=M!5WUf5RX#FRx?k4>;LDAx$s_epM_oqx)lAd|} zMv=pTER$Du>{e6C7RXdhXg^cRZ&wwipS<E`#9}k8>U|TU++TS-mej5aPxSq@<U+V> z5Z81;iCzPZ{>)F==cn<%@c6&>ZSc~~Y~tA)YaPGlCQGp88ZhL4U~`zj{D(7AQ(;Xg zXTsUArHKjbMkl9k&*ZPT<?*%M@VKR?34^_+0Bf%Z%M1w?wakT|x?;-Hnk8m>25oQ+ zkz}*^YNt72V(x;Kju%*~7O<sXW^{0vF{8qtGb{7;if)f@j(0z3NL=-l@Rr`6lpIlR z*|n%EYU^aCfW_%nk!K&yz8%tVy<(lo*M^^;S5KJ2`c+`b&5lKET61(Kt`YvG9N0ZS z_tM(9TfAuzElQr&-LHCzS=Swz5LWt9E9(jGw_i1m7Zfxf)J&3O6Zuf^%ZpdRGxCVU zhM(6JxOUCyw94z2TIi@blflzIOTn`<;(tSY!<PP%o&uNHBbPmYT#nhiQK(^w)vlvS z`#uOOob>)++Wz>&)O?5aCa0!ckP7^CYVnum<{)*!?-w>`F>aY6A}G9ovGvCE&`7t? z-BWHFtUc>7@90s6lnd3H&BEiQ1-~n73w6_EWfu{!X1w*Qh9`jWd~x&9sjMOw{O=x{ zs<cvAfs^H$;Og_{^WNQD`s`(LOi6nE?uqY{Su%HfKWyPUo3?wCJKMX%N{0*u<+JRc zMe`n=m~Z!0(|>8cumCI11Xjy}&gmx@L>S^f325)OWSCxYfT!TVhhKJS4F_1~F!LDf zS(C>0`=>{-0Ly7FHrAd_wLJ%pM9&whIgo#0a#_Oxp)>y(R40T8Gq48*98#OZ+%C9Z zc+LTyf*!X8>>}bUTp8ScUm4hX4$g>R6n@BRo^wd}&%XIbi`=(wOr2m~c7VZu&B1>6 zp45g;&YA-cO~QRSj~T`^CoXcjUeI_pdu8kahMXN6RRh>K8WWofsx?0xop{qD%*Q%o z!a=r}17eZuy?Q!#RvFEVnm=R3L5Bj)tOG&!7}&EpJ@-s!mECYSrKZ8W=YaVfwv|&? z-1~O4Yt4!L0-1SV?K-)S?>o-m(6HF=a!i)NNrM^dL<*XUo@xBJr14*{%l2#9hlf)C zrDtDv4%#6ZlKI)_@s6mi!e_3PPYib1EN$6mcv{2bTICk!o-b8rh0Ome9)IKcX-2>` zL3KmJye9{E)s3`2xrpp{(%c**{rK5|dkk6@JJkX<3+rkK{&H~VY?tvnTDihf`rI13 zBa1lW4hyUg^T-i7pgrlr!iuvJrp8N3Gy+1T89nnPv=#OzUfgcnDdBwXiQ8n}oQpiN z0?#j$30yz+<eD&JYgM+AjM-wF*OOPQY*AW#Y2p4)vNnOPZ<GZWOuzWvd9sQsmsH`J z>oSFwzJi9Ug<pJ>sMurNc&J|PR-<F7%Jfv;qQ%m?4+ValC~-o;Kbui=Rw~z=gH}Ds zzVEiHeP8G#IW?c*%?@WZ5tD^{j3Es*!Pa?GjGrbbH!Kv9R<t+Xtm$27UnmxKLE*pE z)y0V|!lItn+{Ir6O6m$LGp-h#p;r9FbA5)Qw5?&x7XEEpCx35HdD|1@xzu{CMapVc z1*^%8(`7HM+aV?<!FPM3$?Za0&P&(y9~*rLP~_*n{>HiFM1jV(Gr~s>&4~`;nw7-0 z>+^o|?B<<6^KN`7F+S#C!7TYYK(5BMZhn#7#m0aof;zcP(xHr&VM!|9(ks6gsO&os z`_4c_r`2Y0imc*9JJn|H!wxBHYG*q7I)?=wZ(%l;KiquntjJFpkJmn>I%3?jmP)^O zynTCFiv0vzvxs#rpQ|QIH$G##FkeDw`5Lto$(R4HF8ES#WWpg4-y@7U*5L}T7QVAN zt20UCeZ&9z``?^<sK6GMyt8L+V8Jr^Pv7_tC$D-^AhERYxY!H39jpm0S>~J1%KZD5 z()Valo=ae#qT%=3_8fv{`~qgT)ASmc&P`b4SUyKJuhdxfiC&V4b^Z3uIzo1#do}!J z4+Pl>9*yP6XYx=yHO0ZzD{!IQl@?Kti3VJcBa2!B8Cl~a9`UE_dsg&GVEtLcn~$U= zcJKS>^YDvsqr*hgeQRb-KJ~=1_WY)cp0^$t<*g8JnQY_qHd)Oo{oPNk1*O4rpIi`{ z=ymw=t5wd8;d}=y{G#XNC9h=VTmDZVHPK3N`x%qn`?Mb!bXIY>m<b<YDp*`~y+&mx z-=wR@6rxQ9C4Y$t>bm|H`sYw8yIJLoga5G$;a{KdUS0UmH{_DwbAv;nM!)tvK0Mj^ z<;PiP17A+|Uis#ZpypAju39PCNzrc_l74->=c_Dx`DIk`F`Mg;Lq4QFIpT3{(gLGD zX_rpaUF_E_{Q5c4OLX(ii|2(LL;XZlwI;5RxPQQ&Rr}zXfVE+Mi<_D(Yg4Z|O7|+g zJ$_E!LF$8CNAWI(yNCVO&)8l#XUjS6b0!-9f)|I%-#BM~|8+2<i`T7nY>)gN{e3K$ zmnzMBOl_s3@VdNHFLX8L*uH*y@~g;HV}-3(-c&x_{pX3ry{Gj}4$~$`hwQ&0XfEg% zYo`+^m?iaW!(*A{S>L8V4tPG}{43^{nhF2S+zf6S{q9z{x<_pP8CN~&=p%b%OHwB` z*<1(^5C0tbZnD~R%Lk_4Qsx}hkXZkEYu&27xmWtK8*eBz_T+#0adFmu*B*xN$((Di z9Q%A}iTL-I^M2ZY)mpf|@@t~!=h~~zt*NDV_;yY0x_d9Eyyxbb2CH>#O80DB_dMp_ zv?(A+ar34xe12?aTt4y`ojyIQ|M6jazXcnl_D@jMP7IR1{^M)Im+8CT?^6)Gvmi;9 zbye=6J)h6r(t61|iGf3ypUX|yp1(u5t3#8&wM$c2v$s{#esTxXWc#kUlY6<i=FI3= z+QB8YY<Z8S+x&G?yWBRfZJRX7&3^jCX}$4W{ImEcubaM3^Z%?py-9~xO=eoP^u*fU zi8Hsa>5#cCW6vaGB6DEt{Ht>(^c-qxzj^q`yLTIQUfJx{)6f6r+{ACqt9uTxF$N!S zbY8*UBw-mWDiE?F;Jr`lr-BVhHjdZ+@H$WJ65O0ND`sc*k_#6Xwj6eucPStsYBT37 zwJX_E&ZN2~T(A*&vLVQkD~(^+)WmI5<b^CI(FBR|_4gGgE$MLd{dlz5vG=Ub+}l!_ z6WM2T@bU_Oc`<E?+Y5=gYoBsnU$Fj)NKniVhvv}viZ6HWQuV*4n*8;R@7a)EjWs*c zv%?OHY?s>5AKAZD`v{k$1)qmY;Sz~}AY=C!`}(Bsc^j9d9Oq(<i(NZOH8}9UA?upc zCEpxE*aIis+F{7*(#h=lo7wETp`quoKbB?|(pd&sUt(staD)b(YhVvn(h><y(?90% zTyD#A$Ch(JY)83RR+z;HPG7R=ao^J0Tk`LeamW4L8=>UgoH}#rp_rvQhfYS!wfQuU zX;#O@tLo9R-wr#T+7lkEdFYSxT%E}dK__*lpZL;|)yMOg*I+Y`vP0IX84-#pA0j>r z+eF4X&9&a4;})dB%DC83YlX=7X0L_5ru?3hEF)%h8=aiAxV$rg#n;oSspyo&_o+>> z?tEHL=Hy2(ewi?JtxD=Mt=O-@Q<xkK-IHfBNqp)m=v6VFmZM!;s&3SEM00ZQ+Lt@L z%2@w*7EE>fc4yhrGPhQvRONOp)n0YAx^0sjf15tJJ%K~+xM*IcnA3uY?mgcdn%7x$ z_%44|@##U!+^L(rJyrjG?lidY;n6~!Ed`I3*lvjM^6xnEW~xx~;RU<A=iKjAIXfq4 zXVWb=>%s+-IUcOo!0YM~Sj-ocEL**5`X3+VsU1q2T7|4G+|YQV@@Z<z+!?a9Kc^@A zn0hH1H2qj|r%LMMCH~pXcibNuD)w$YZR}y|I@5pN$#1R)?%n*nynM6X&a~J^8VfGR zHcKpdp8MFqW5&|Yo6;ZooMn)@?>s9Y;+gk^lB+2VO&yO{3od+N?BQc^x-!Dcw0&yA z&L?*(&&2E9`g~>TN$xLAG3z$`shZK=$iSfZlZC~Wk%2*nfq{YH3!^Wi1N;95x2EQn z)@E%V7M9Mg-oE|`6DLicGIerK-;AyqJ#%Ky?_Mx>e&^DK%T_G!Ub<%O>a{)_H*Mas zb=&qGJ9q8gvv=SA&79(gj~qRA{KUyqr_Y={cmBe~OPAe*+icoen3|Hreaz+--tR7) z{j}@BqX$oBKk#|v)caoS5zEV2Z~Gtjn0@>4>9yEbX;CeC$HuolqE}2-DQbpthc2CU z;#J7e?hRpkt6aO2*Ys|(IVZ%qW{GE%_Og{RCpRrUJ^gfr$mGtP30r61EaDTo@K$+O zIfL;}ZVt|v{T79MJ35&ay{9cH+;PUEDuJy<(s)jp;j4}p{w?pnePy;TcyqWZ<14R9 zg5%o5e$4-C4}Dcxm3O35NH^<G#l**Por<vs7fDnUtYua&<(%x?V`y^RK-qhq&&)`_ zY%62_LupUC4Nn}GI4!yNP_MLJ%p;x&lTzDei)xpwS)qLVY>!6lq5?(ZTitw@w(fjU zaQMgR7u-e1N<-Ia#O<$$Ri4><B`m0Pq0c()DgWLlEP1ntNl1oYaDC;0`oNX(=cns? z^mOJf)nSYLVsL!H<g3$r_HX+C|7=JyN7^jG6_JWe90iW%XB*PyC(lz9k4paTtMM@7 zRPWM-wld$6n<M2GUH0gZwKKZgp;WZuMCrwuI~J+lf4Nzv`~HK&96TkmQ<7u3zOI;F z{bs3okZ!do8#m8q&l?H<y?<*?mN)Xh6uxlMU&a+aE#e85J=1hJofb5*2?;Hm!Cn>F zA+tet!LwP%MVpr<+ZaTg;Yt^IzD!22@7n`bPMP+!j)qk$9<?b<+wpM0#kn4j7Pg8_ zRZ`K}bk!r;qDuAr(t9t3R|c#)FyVUTiU%AsR=ld66<F<hY|@e`!FG~Qr_A5z^>EV0 zeOU`9Z-|<?)Fei#Svc(gSH!aoEd^%J{EnSzS2NnMR)L-0=;Y7H%#;IZ%MEM4b<UAt zugUOVa8FLuU7We#A**bx!q>G6d!(Y27QI`>u}<Yo=Zlw}dR4DDy63$*t*P?QiAhfF z@3N_#`&Q~a$~^S^Z-wBbO+h!7G>e*5KK#E%==`nuwO-G>RF7T0acko`<#5Y`>zU@| zJUeA2*}<EBbed(F`K7eoP1|Z;b)I0{Jn<Q;WMJT)x3!C2MwZC<@lH6(VEp3YG0D6S zZf(*}mR&r`$6Qj_w%O`}VEgr$3m<2lTinU<V$XwZ-P>-e9I}pG+`)FotVfIO4aXsd zW~T#(x_->&xX*rhcjx_TZSHKQV+Xk;ABpF8?#K}2T3mR%JN3`Ur?SOw4A-r7iZn8e ziaKNYqWAGimD5_$$vLNv3q_we-E<)4#71ZJ4NOTscj|r{9-FzbNqlkTwB?%*R@XId z-KuHSd})p4)-9iz*O)cPWz2AE&(FIMs9ThEEbwo0(T2MV|F_Fe+Q07S!(F?--Fm)S zUSm=2`B<^8w7b7M_M5$k{@*d{!Ta@h%U{p7<q4m2RP~&(%<KLq>#j<$d^*{<`PZSx zKbEMlXRT{kayjOu)|J&PT6)F1nI29NQn%vBU6*VmJdNwD$QscswzN&k!D&J)R+be9 zBM%E45I@tfT<*|8i>ROg4qN550&NqbSu~D+S|YG_#mvNLx9&xoE0m>f{^+!``f*L} zRJa|}iDO;Ijc;*XaNMW6X?3mHje~rfHZU7c%CCLp{8)1LjBOw1=Cj3~aQZxHnaT61 z$#H4U6Bo0vGRvlP7EU;=nBFANX0V`<o#}z2nAFWSlOv7{Rt|^ro)|Q^88!T8FUfc! zbIIVOfx!c&xjfD?XByhpCtjKye}Pf?@Pt<54-2?^dk(WoTsYx=Zo$OJ9jOw}0zBi| z5*ds-CkXDia3al2*grEPMc~4RR^u&-Je3~KvK5x>dOi<$4m@cz{GPyKzD1EEW(R}R zI>|Okm4m#!Q<`K>HHbKeeel%T(_>d?w0lY@bLv5+%cd+WyXUxQ`-uxAIf>s|ohUNV z>DHzR0(Tu4Zu2Pc&fcOZS?9)PbfB^Qgktl~I|=NU887-CnQ)D(V#V_AiD?!|-M#1b zxw=c&@M;!Da0N}9E_M6DLg(lu%D%Z9+81U`>~XhbkbQBW)kaS@yU>IA^E~mrFDmod zGXMYJ%?S|}UH|Y3@BWF-Vh=m^eSezIUh<<Uy=8}U+p_}i-9alph^<<%Yv0ul?%LI{ z_q$Z3?oE|&5>ZllJ8OZ6grj5Stdp!MOegnTTC(2lj&@4wp=*0Cl`iaE8*zM_;<77u zT~hyvgz?0B+?u-3Ct~^ENj$}i4sX45b!)fkF~{8#Z?+nBY~wD<NS;y9kf?BIg4vqG z;&p87wt<C<7e7498u4qv!>8LM_AK<}U%X<uouzjAHK(}DvR%wYwp+Om7c!q;HEFBt z1f!}<hi1Mdms%y~BwB>`&I^uEzQ3xhkvsiBR_N6k$7MVc*<(7IvJX^AZQR?&H!CJf zHg0kALjnHEO_AaM15R&eUsIOI|7hvqOKAsKm)fjeXC0C~?Sn{?@q~js{wB>)SF_rz zR?KJ->M?wj#$#!z@}Tqh!H-1~l@F>vYCN9nrSfRo#ar@!8rodqR@A2L(f<9yqEX<^ z<hj2-vpP$d8LMZ{wRg-GK40|HL0DtO>!@Sr>*h_9_VCkCdF<kRgR6Pl-5IN$+}k>) zoT=P+Cus6~0S%kJ(6U{ERT*9-+n7y0ur0CO!!P>O;i%|@Mzc5%=JN+$vER7jxch9A zulNiJ+clx0%YRJO%=DQ&OV8qJ<&K%BE-w<AdZmL`^HAfgUiZVs8}~hH%cy!;m0rML zBIxgX_7Y=I+~&JW5_%73I54*d{_lCDe?zpR!*t`8z?g8UGG)hkjnkUq_Be}7me_cg zuW<I}EzUygB}$6#1~thgO!g?6#?EfDr03+_<r3oV5}nC+%+|$l)TKW@6(!cPe>3Bn z+Vus}x+YF@_;;_qvDa_@%?{x$X3lCEor$G)cI@ztNNZvB{PRdGUdO5VdDNY@k4)?* zoTUCdXycG<KhhgHdDez+n~mly<VlhESoHM3;gWVWGq1B<a;Hm^=BnS?6q6*dxRB3A z`1C?P^CwZ6c`w>zH{3d~ys<YkVO9G|gRNC1Nu?`SvcFzG_nGN6=GCI9%`$od%T1P5 z{?0h}A<q50ly6|ZSo@3x&3Xn6oqi9Uayqsz_`hqDrQ`Xyja|{%Yz6NpnBUFY_Tk#A zH!V_eJlFrNcobcel-V8OnDn4?R^_3a_5X~|9D2>uFMNdACX?HLss0iEo`Tf+^YiYn zbiTV`&BP|oGjZxkJ8XCF{qnoPuR(ot|KGGD4u$6o;vXlwO%P1jG1<eYe#@rKKW06C z)5@GPYgNXJWSK7;jxCYgwOFIghJWva)<;!ryyq@I4xS#?wA||<Z{CMPF<V_Ce=Tw3 zS~HQ^`!U-)cdKI`jEf%F<~0=iZx5W%E-$z!;HWeE#b&m1kJzS_u-#kiIcrK>-t)53 z2khw$Yyrh=NyThSO5&F>N(Vd3EM~K@+$?gK(WaE4bYGy!;*bBU>YSw5H*h#CSBrR9 zc2KQoVS7Nw(Qs|CN}X?&-OIyL7PROe%jKNp<#?eY?SRMK5Vm<+csIMSxdnKo8Zf3Q z_$J+8PrSg!R8VvM3fuiF9?S(sD_hvyHne4C_@opV9sXLMSE0asynX+4$v@w!?HhzO z18Uk^3l<(_eiPR5?@RTZ!jvWfPebNfsrHK722p(C#+SuAZ5nweWz-rdcWx{$T&T|Q z(3~N^L8`>PNhyOpyCFU%fxS+kF7LR+g+(cK3)ne2^nyc~;uwNzu36hpQT2CWvq<kr z4PaZY!Rl~;b-hRVYL4Ez1go9X7-npdR%(-pb10cGJ$&z_^a>{FxCQ@%S0<WTww4|a zWIJ-rG`+z2YLM=u7dkVaW%RLyRfxy!7iPD*5V$8XcCn+hSCFNdo9cl?Yja^&ZlS7f z*N7VnCR{6z%s!fPR&AnIThfzdNv+cZvad#HFLSnSPcc+s6Q01t^nrnYLR)-M&GF+M zZUrgoGiw@W2yg#h-4<HioDfleW0DnTTC!QqHG!(QBwkBT1*Q+xzsst(OrNa&vw%~m zGoHcPb!X>>#f9SAoi{9wx_Df&(5P15xbSj1+yCqC;;u~_D%g}Vre!W*FHsMzHi@rQ zsrQ+ZvwC6CujOF|+hZ~=u%<m=JvpuCWCr_>Qnqs)Qs*URG<ue&HYA-o!Fu_}|Cr+k z!Xk_+Ey8@A*=?UO1qUiihfJS&(>d$N<Ajj*?8678_dBy$IWz}5_wReyxAU30<ze-G zZ8mO~n>~-P=$i86Y)i9p>G8kOGHrVV-_59J+ni^mcb=Q3urwlf+KP!MPDZ+?P2vB* zd@*uLb47&JPlkixlbEij&QFbqFPl8WakAx2f9dI|hc2~WZJ5WxuA{!0w^?J#+|nAR zfR3aCd7H1#TYkMTK49)5*Gb<iBh-GfN_}AE-;nfYMbhjWQ_it_W*rC=*^qSM(7Y9< z3LBL>g{RlXR~Dytvb{XI(A(M8YqIGY$M_dprD7-K#563DnUSM&sxc-YwCch1)Cnxc zucnth_&@!;L|tYAdwD^zQP$!M6~$Mtux2`x|0<W?9^9CIf$`a=@U0Vjbbhf{U0_w6 zAg#*4!W_W#>1d{+Rztx~lP{|E%mKD}2NsG(^anaib+ftN5n?~y)^u^QUY<C6odGkC zK>fL5wlmi%)yk6UxY*~G&vDr%Z1r;9wUd){Jts}n;CQ@qu6@H~)yOHTmeuaZI^Nx^ zww9a{_HF*fnN!Suw(r<JZ+fHTLNA3@j)G=^8pd*?h30cvZ>@YbGj+0;!rW6%nweFO zo$YU?Db!b_NC_-BxtuNZTCSWcoBGMzDZeT#!WX>U9@u%3nL#vaqD4gW(>$95Htq_x zO%hAW7OX9Cx0Q+d&-8_Lo$jnfx>f6*&dR9|F!hmIav@{gIS<?Xf<^fOp%PEmHhGqp zKVUyOW35?wv1dcirHmdWRo2)KY)zT#G8}BH9BehS)@4qJtGcl8xzxr;<)uNT8-hfa z=Lf8>5!sk2xk;s?Sn5Eor^f<y?FI1-j9RxRW?fy;IcueK_~dJuQ?{scq&)CB_oXc| zZQjmVsVCDXWv*yVU%~dh(kM-U)%8`i?d>g=)jqz_yh}^k<8OE*zSwO4I(0s4l+Mkq z|0U;nS}HK7^Rima_gp#G`s1AV1q@b4Hm#SMs&R8m(do#P-SelNio9$&?~U60JzWJ8 zqf&czICBN0GF@08tGY(^D}(6H|CLz|Y*`Hz+J__GrLFB)KKsb4>5jM7$=qPn;aacF zweHEQMY0dpsr*==r=6r@U8y;H*J|%P&D}}Nt17gjCuRw>s+~?c^KF;*v0clxSDafG zrgJ-L&+J`t40~8sG3InLGVYqs)WFW@HCH`yoA9X>5oR3*(o_7U+0q!I)Pud!FKm8& z#i#fJYg>iU&DEP_Mg1!*7<ddA9;A2)f7lXaz!>k~>HOL!KEUgk2wTvEHn$6`Z%W!S z3>YuEcz?X@6VkmZVzraS&&|t9BeF!dU2Uky3f*(*WzMC{ZA=0OtY)*`?rvvYv-vCw zyS>ALs{*V_cRVsTY>hAIk$pNn?LumM#e7|#|IBFybFUh-Y2INwc1u#@+m5WK6A$f5 z(!V)n!s|TG70wew4o&T@cyT<ZB4Lk24$EehLn#dTCM7A;zE5#{vwK3x9G^4H_6sIP z2C-E<sMx<cjDLcvhgy;&PyUB#$JTD$?Rsq+>n`X0t2U*sKK6U(CZ-45YR;_Al9}rE zfk9_=fxBDE{_Rs-GY|P@rtV9xis+pD?Bx7OIrCai?A<o2df)Mm4?7P;u0EN*d;34m z&PO-%-L=<hZrJY5t)@FAb>5rJZ#Yk}7%kYaYNdI0C&%+t#W{!e-SG)rFgK>nTXPQE z#n(CSwGS~H9JxKgYyY1!Q?68$E@0+9cJRWSLv|b3Z|w;Q-LpB3;lFO_h12J@u(A{| zSQRAStvRb?!ye?oE);N%H|^{zoqg5;&8Jn*CvIT(c4aRWV82ikpZ#G$mI1p`Osi`q z+mAVH@eNxZ-SOcGIHB8l&?{zA&7W<THFq98-oZO((vn-JCh8pCX+9;Y+Q?+)eBGbS z2e+S?U~wtx^+m18lPx6oo}Z}@Q&wXwsdoS53SOC0oBmu{k;*GqndG?Uh~LW`wQtUI zrn2QWoR71((r(J=GW!tEhKm2MPX`uE^6g~XXT#8~&hUHn=G1~Y-OCRv-C@g8P&j9E ze*YX+<=-t#2fQLDoI7vBp1jI7e8!>55A3{Y=Sv&T+fHEV`F!<JHyf+L*(-mNIrjcP z9KV=3EaPl$0b5Zl8<W7*vmz`f@A%{%IA8rYS@=6^h63x4H>ZmeJUAyXR2(R-Xkgb% zW2=}@ClbJB{;DhH0%O$$#_S6fB6E+l@5oE*zS<?V@}T%OC(D9MnsYm|Qam*;8U1F^ zUOBn-#pELHEj?N*^((82sxM!8Id@)Fl}@MRXUS^ilXGpo_nIqS(z={uwS@6h_tjl* zrpQSi(e*r&b=ODEXU>(dtD1k<+{BJV%{|0?AZdBH*ZDbd);+g(&)NU^ZQIXVeNJ<) zW!W;6d|)puU{hDSp1y-U*7<C_1KW>1tR)++cQEVn@}A|HVEd~_<kz2vnqs$j9N4QT zu$2U`l`8ya;Oo1Yx!|n1-otc-7$$`WpZBuc1l(HM%kC8S#MSQ!X9MHXwNIS(MZ|FG z+7~R0<<t$STX^-uzT5>xsSInICa|&8`W+Twxe;(6cf<bj44>Q4UXBMC-fX!LJbO~U zgJ;kLwzw5WmJ<$@dz?u<=a>3{!S3AQ>=j{Cp7><UxRH3_Z0NF;Cv*>LiOk)kGs$Hc zqlv-GtOJZD3m6L)Ffw;dV!AYC!PcaO(|4zR2)x{OTj=M#3BRwb%$q9^la#f9QGFSk zX4PV|=hynv+04E>SHD~?$I4zOnVG+VEiQn~tmpOa#2%3g6?I<Bhy9pkpT0?`yq(|s z`pG0|k=M2!iA_nLA6}mG-!^{pdC7YT^83y|^Lgj})zoV#vsWlX?B)=b4d>s-F_av5 z$GU-ubpiwHg!ilqLf-qaKb!O3cEwra1!t=T*je&F7;j)^w*SDj-i`S|=DcqovX*=Z zH2BE>{{u_ED04iYed@W=3Ge0m-z)XMuL!uo>hR>d-6yBGPfKgxYsTMF3V&*3|Jitd zr-E*pp78vhsx8lK?=5g$`T6Cg`Jue;CGWb`-_<Kw{pGgLo7bKJd7p1xn3S}q^Lq5l z6SEckGgu5`B3#O@=ucD7aAQtoV4wB9Vu>Fc69aop0NbHkEjO-J-gwsHv^ObmkM^=! z57QGV%l3XhwBbqJ{3qJ;8A=~K5?p=$iq8KZl6GfJD}K1;J>gvzlI6tC$^Vggf5?RY z53L;D%g_Hg=l=WO?;cI%|2h5r&)5In+iwkFRbcc|WwhV=e&+j6Ki+-Xu>Spze;<GE zV;5fU#w`DSbv?sxz4xo`H`}{1u>615W$^y<I_5R}KUoysf0_65^}k=dZtuUYdw=cy z@2pS16z0F5v;XgH{ZHFZL_F$`G?f1wn)lCS{=blUC$7vraZ!4%+}|rIfBmbuqYR9z zL;gJpj^j1r=MWaQacgz6x9RM3>+I-hnb6f?)7Rb7(>kHwzO8MRczpZ<@x_Zc7c7tG z<g8f3Sz5YQV)^P-rK@+W-oAV1-hKO5vmWG>ICO~f*oni3kDvU1%!;L?y1In5l+}uz z{pxMjl8fcX&YfUoWoKo1X=eTA&E-oMKeAihc>49}T~;A>mdn*2FLRVEPG2u$%Xw$d zTWk09xPwhk<Zf9v7~I|8{c=(05@p8+mR-D#dBPcaNqdV`y%)WC_F>+Ujz=oXTp}kW z><kvKn4qNUC9-0ko#)FpozIug39!*m@K_bR{KB%XBCSUsT^ks@W>_p0_|Py}kWrJ* z_JzudHId4x7rC@rGA=D%S@77emb-kis?Rhf+p6DU*VlyBH*&r!T_f?J@OY7FbX)pH zqa*!ukM{5wD>=_%lYhs|9+-Br$Lw2++6Q;#qq#ykho;=P_^6}drPQr2I-8~b?>n<) z>s#j=g(~iSlFi4(e(YA>_3&aqy-($Cg~PR~!a^~Qx0kxyJstY|&c5Q8e!*UzsvKWk z`y`E@oqcRrUsrSf!zw4v55E?_ZeGRzDfz*vucw(;XC)?GYiM7P`asdXU}{3$_m9^@ z8#DeIFsf&+RlVL?dD7IgZDPTU8Tuz}j-Bav+_9pkL-pR0MHW-mdYtRlIkqFJ)MQrk zrJQ+=?E#)EuX-$IIezm(znh)W_Y0O*mspleI@GyD&|M@{<gDBt&hP#O_ia{2n{J!A zd5N9;+he?pqM6MzeLRws8)sZx@#TW1-_e;2{3}&VyDOf|6pz<%n;>{>ej3LoW~uBS z;z#CJ`27FiDqUY!cx*niPr$MHkv<8><~wqH$dH)$OOlPb>zSb2GUh)g4=^wrNU_Pz zYtmv^oXcV0xH9pGqK8!dEvcjP(|sI{&ku}YSiNR)+eYSC3ANR0lGPq<l1Mo}i(_ri zq=OQXJ%(!|l3k3&Rz`ZUNW8o=DZMJ1ujJPf?kD}v*Rd?K`#9s-9J{rDC#%ksT6$T! z;BSxFk_l!#WlQ&($7oL2^Shu#Z^lEX_9aCkGq)@`?742`dOnAD9Z%+1p6wL&TOhJ^ ziogAXC8sp(HGjxA#2Idy>&GN=Bb3Yj&xAu~M6T6%C<Q$|a*ZYaZ2J6g7BQoQsF^WL zTQ0dN&%LI4%1w9c7InA(+>%`pt1EJ^MeSbk_IiF<+PdwM#WN=zdVPyorQlYH<u|8* zd)s1eWo_U6EK}s6^qjq~qt=wWtu5UWeQ)j3V&-YA|Fv&DVrdb(l^y=6JAc>vMZJ+n zB%626evo3fC+)$3kH`2=SYO;JthKPmd|rUu;(1<LKRNd%)c*S${<+3Jgq2ItFg`W( zv~|2{d`rwz^@riHXRmvn2~n*ORSsJl6Msh7=uqdC8|m`lTO!NvoAz7?Tc-O%qsjK$ zPs>lnPxf-n?bX|rb<Dr=?o8u}KQpuUdFwy>l9sdoZ{V$%DGcfpc5@aKfBPN7q&dlf z(?p<t_T^}IzU%tOJJk{vE=-tw;!Ceq=KsYCGns>!WiuRvW=$yIKP-JbB7N7Tt?x<< zSZ;DZ{9-7vuSd6aLl>X?0p|Ob8dchpMKAOu?EWv2uYFQ`-rKtNj(MI(HJ3Lh1<(88 zvchL+*QrVTmD@5zLtEZ=-&;LRVq+?QUMFvD#-2XAeTqx!ryMi!&+;`bJ2JafGpFv= zsR)kiDfYDniv3@>p2&Z8KjH99zkx?&A@fyM4<WIH2{m69v#eUM&Q9%9@vQCz`z+Mw z9FX*h^N>nmV!U}=VA7=t0y+#LxfzGWwrxljSCD-jA-Q*k<fDuoEKz#bg%+%c5S-2? zHG$#61vXicCdT@rX1z*DlTUM=+ekGmGr9WVjQ#~J?*C~W%h;YMGknrmp!M(KA_f^| zx16mVHF3=GH_n)w$t*22j}V$XeSwPAQ-}6>pFhX%@;Z6Kj<0CGQpytL*W2A2KTV!r z_2;>R;4hEhwh0Ssn^P26XKf78+f>I?tMb(6r@MVs$>QHO*SRA-gI0<(@#M~EmaYi1 zQhsqD#AXHa;-&!6h}K8`i9eXvxv4T3pHbx5sC9bbp@261C5qgU4bHW4CX6X<irncE zS(3AUEw^0q%0DyU%KT3g*o<Z*E_3_g6ngnXoBh^@+$j$ZuUJ*I!fb-#s@xY%ixpHG z7G7GQb>(tb__jsP>pBi{Bz~NiaQWs|qpG#W*Nt?nFGnmsv-kAEcaQ$xKeXtGvfHQg z8~M(@a5cSs!At7PW(nSme;POaCunWjQmftW^fJA_ep*@LhNZU^ej4_gyfEP{yx}af zZ=p0p+Lpyqyn1sIcAN?oGVfX{?Dcj{Q)9uq<92Q(0pS(L#r|DMXEI@q`k3dw`L<-C z<L8Bv3HzDicq9r_eT-WK&N}VQ%PXE8e}O^fk#tw?x;J*;Zz|R7|KQ7;bD8JsUnjHU zmN%IC18btA-~6!IJS%VG>aDA4*Ct<{a(<WRk7xznOov42#4~9(HgbFGw!6+T6AIsP zM9j@luCe?0&(bM}ZhJU$dNHtwtvSe-YH?U<M?)K*h-sRpK(oZZ#SNw<4*Y2X&AR^& zU+NTzX~;8w*eGex(60OF;mn&N8;l>WR`9DRuevNf>q3FWLX}U?&$z7iZ<@Ahfr!G} zG)|@b^4G!Bcd`^u-+ia6;i+_jUVZDybWZMh#WR(dr~4aqE#<Y%5sJKX;;i)d7Za_e ze^2OJ=k2L0R#;&CCsClv>Zsze#htEa6R(|0xiTlraAoA0K;P&a(q$3Na#jw^wi^~O zIb3L#%Lr)X`?8B!b^(LT2?s{wo}(G@ip;!c0=yNkP3ovmEmA8mS+3irw98}8`LdgD z6h1s-w|BB$KYO;B%YwfT*3X%+?&Gw`v~?W2bmr{fZ`i8CX8T;+A)C?r>y5Lgx61hH zHuLQ`a5m}xi_E#jIqzNx=1V2@JqmGV4``||mua&L+b?`&P37!ktC>@eP22T&{<n)} zC3mu|XUN=eV`CD35Wr?Vq49=^1~c!Dgly|CQP;B<G@jKCXmqkYaO2Oz?79nwL`?%6 zSUnt?q)ZY@crp}TW;rx*T}g<`eLUUfeqZdTJ$ut+qFU2J8LgYUz8~J8vf>Pn)akO_ zxi%XDJod62(mTL@w=-IAv%tkrf$)wOZ=X%Fy?g5QsW;E$3eqQbxOAMnmbF4z_*iwC zrCQ`U_VXcn{n7tE%{ag3S)t1Wqk@OWHinsrTW$Cp_kS0&?KWoCD-7(`a~3jNt6h=G z<EftfebzUViUVN_c*QpSXZXhLcV11%N}yHGg^{<)q50GF{$J(`8kypE#1<Eq$8GxF z{-){wLuR#<uk4*if8D=YeY^3+{1=VUzi(}udEr9O-;Jw(o~eDiYqz+|kH+_(-nzu- z&vQ?CU@R9lck)BYzVAZ(hMBX<8#p>D*(xgEZE0X#kW=8`yV0#mwjkSlIlDtZqr(O^ z5rJ&;ZEULHj3NhEZKfCRIaVyXfK|qUxqPdrBU{8a6$aTA3^D<rPJ#9bMz{7F)dsD| z3#=I**iu@xQZ~eV-x%U*Vrz1_Zlf~8v(otLa53+Wc-~L)4P_js7Uw=_w~jn6>YU=z z%8>3XBKD}&B~DR0>!D3pyZpB1|K3r7Vn4p+izd}KEl5vuFuf*Z_9)rzMTl(e4BgjL z8ve0&bS|rCy`fuuBf%)q?OOrwwFJFBiO#1FI*vJXURUUx@}r|aqjU0#&aVb?f*I^4 z4_Iy0n^w6q7dSABC=~Bm)+MUYr4iA5AdQ_XAfL&Bd2@NnzGK;C53<+aDAxJF<{p-; z)4;46z!?7^&Bv{+V!P{eMs|j4uJHmUzB^hho#PBNG9q@wWKHWec%k6+t@JT#gb0&K z*o~a$t}Y%d&B=ysPp<m@60^;CSo_ty{byU7TXE|-VUvuH;Teu{Rw=ph38o><5!}-% zsysT3nHstz8hFGy_#;(#S0-%P*#7MB|4u`t&h#e<ZBsi98z)Y`(Wz)Tsec8tLPoK< zS@wz_aVu98pX6Yd^<X@7jPc-#?EDXGRSlCJHcYnmOtw<bUO!{<$@Z!Z*BKoeChII< z7d^nVZ&``df|Q!23}p-~ssSNiRedk)@U{9P8gn!Ji)sGdEk>+L99v!5LJd={o25jx z*PbY@wZ4+`=c;_f^0MzAd$Ug}+-s}*%h+0KDdzUY_eWta6T^%KNxvAD2@gajgc-V& zw&(OlaugLX_z1}OBrs34oH>0a-waKe$({_;GiT1zRGIm6=EBaI(==yI(VVrwa@O+5 zS@R@kP5C)%?#h`Pf6m%=a^@z_*|T@f-hOlDzL~RUocurg5a*nEnsa;v<{Y0nXLseC zO__5}b<Q~-Ip@sJIaea*UaOpYW9HmjnR7RV1l{{N_krZRN0#%RM9zEma_%u#uB3pV z*OiRhzsx8-KEv_|^Xr{Vvp8q1m6TZ?Idh&QyA#9g!VfbibIy`9TyUsx{@+Z-@0PRw zo}ABJwScE<_QuSae@?P+S<RX<b0){E*)qRoA2~UD+t1mDEf<~rx$x4>Ij1$}UjDgI zdDmRMsyUN>E;9NxXSo9V^5n(h4U4U+=Goj@Z1-!i!>`4Dg$nOImwe!y|8NJ>pMZr6 zCh`?tu;{%!lTmA?u>o`81y&DLR*$KyK?V%5r<Nw{TIw;CIdav~#96F`3wZMm{9oWB z!0yDf^iboh1q&Cldogfn&1R8WRO&VRm*hgZs0B4vvzxpY%+_2e$F)c$YtGTiMcP(# zPem@euye(=m5chcRvK5$)n=Gy;T1GnYRSA)i|qtO=3A}0ADP$3IluV<XRqe`)5;95 zb_%;Qt}ZfIy{XH{Dr@oPuGN;WSW_Ob6+U1$E?~>Nz-rx~mHq%UdJ${D5VL_PZ^CNd zReS|p28Rll7kJGoxV7ZUs`=Ho*51=v`!Zo|pw_yERWr-A7B!w)&ceW4HEZ4B%tf7D ziw<@!>Up)|T;|FPJLk^Ka-N$t@9(aa469c@zqwx3b;CnRkwspsY`w&mXDxYua@C1x ztK7Rd!wUa1u3NR*GHZjz<c(`eR*P?#C*jRCch%y;4b1sfn{Ilo)#%<7@N3y+t+jfu zH{HCo)-ZZ`x!1btuFaB;>%?{~&xu;McP5{~huLqq*6;G1<2HNI=UXejom%mUYwmBZ z)%SKTX5@CZp0zlrd+YyMTg`86v|Y8)V9EwnRj!2DBFmMxsfeyp74_k_-ssA;apr?< z{hADg1`HV+n6_wbs@Tm`)4g4(TR4fqb*I%1C&f)s+U#}SJ2qD_FkarIyLwaK?zO$U z*BboZ)Em8X((Fx#4z8QIdY04fo%f}7En2;<Bx<>W)a*A=E1G8Q^30y&%)Qck_iTd= z>lM4Vww>O(ZT0G{*}J1|Zw=G_zcu9d?mt=^wtMf{`FiW2?%ipp7w;-bcj4OJ&$)d% z!~DzDOFX5v{+Y#~J%M4zsqGuLFj*Ne+jp=TFJKQl#hN!^W2N?{mhP=F8<=~A4U7-) z#Y|vhzQAhSz*gA678k&tvVkeCl<}eUn#=~a|J~aQ4VYiNW<B?cwa0qrMDCpvU+<W~ zy>3?ZLEl#kURNz}m0s=}wdLo{wR3;&+QxZk^2v3s(hDUW52@FzaQ{6^vu4W-%iV{w z7pGM3Ik9^8Uh7SdBjpa9-W|UB@E+?UQoFbAtKOYZz12l#n|n-9dHSle*{h1IH`XuZ z{AhX9ZNt2`JB8n#3|einI%UH?=b9sSjjQjzUUPKS|E0_y*wP=cSxrbzeZZP`VRfDk zd+7tVk^`*94O$roSkoKWG6h(7KV{1c*!N9xe?RxmuAUR!cTR}%tP{Gk(^z`#<TZQ> ze|DB-9lUgE=d3#iwQXk4+jDR}_bDx&U9V@YENT!wSbcb-$f{L2J5p`9Ruvz1-)L2u zw8Mf+&OYbJ!c&L$p5Dr`d$+I6F^e;&EMzvMRx|z!TXOF92Eo%Cg8$f*itm_FaCGj1 zqn4|-9rb40Gi$Y7jx)#Yt!X-2zs)@0QCbrdz*d|iXH~E?^8wqx-Apk8$9C>wDqO&x z{(yB?^!bmscZi!D6v$!DyLFzW*Rh}b0=w)523~_ndp1prJ~+we;I!5MFU;~eDX+7( zTua53o7t-2@akg5!iHd_y`gChN1XqhI@*2MV2h?>!s5IFjd};J$PdAp2fS7#Z~Gf1 zw_5m;GOwnM0{f~@nl=wY98`~K>26(Qz}(Yx>hSBsCwjJ)mwR8$UJ|4;f6c8u*K9Uk z<=#72L1Z1*o~Mm+OB5I^sy0e-8{gyH#QuQovjV%-12*nA`(G?%*1vvM{J|Ql0|)k= zT3x8aUaEVBY0v&VhJ7&t>@gp%HQU~(wO(Dr&C6Kq*w^gXU%P*W6MKy`d&QX(TBk4k zmASz4_GV`e^XKR_b{!$i6PCu@V%@Pc`t+<doIP614L7YCc1+xPf#dAWiKj1GawXUZ z{$IV?nZr5sa;JlKM#4t%39K`WLgpv2<b6<&HDH`4#3JsXojZZG$A~@cfqL--O}7B8 z;tOm+2bgyYvBfB8racYG4PX~GxVQI{M)3sJg<c%9FI`@6Nz3x1R^kNqcQ@}iq~5J} zVm}ib%CkT#GJ!?hAjGlZro~YPXH({g)2FhekN!0~8o_%syyj}o>lrb&M?)qGGl}&| z|GpZ~a@LV?({AfcD{|D>1GaywzQt^CJZ-`G^Z+)?XKd*WTB#0fQNPdLi#%3ydheap zJDO*&c6_&HhVA|-yth{@S{j>mvsacqb{1P$*YQ&B+n=S`ceZN1Ik3j+!?jSWHR)Ci z)*Fsz7KB6={J#}bbt~15xt`(n4%6G8&aj@n^|Wg(bIt5i<!@O9&YtLuS!2B5#><Va za{q+IqBkxGIIW(1I3oJevqmoKoYgBftbDxi@UE)%n`>4-eQ2E$Em!owroC_LW}Qub ze_t-{d$Ggo^y<Yg6uV#Yzniy><!mHx!Rk}_GV4|qot_c4_F<0pLw745<_GMh0hjh& zcE0<CHSWTi+ZT_@@80A1aMh_iXRj)T9bV@X_b|mZ$Q7SCd(Drn#FwqqV6|$k)vfNm zzH?Te@7nI%x1;Rb_O88qwH?@7YL;^KyvyEuqlWwaHyQTo?DMN^nRh%r&bfy<tLIs| z-m}wQHwz!I{>r|Q?!aE_!`{aG|2^lQ=PT!|uAg(@SN6@8o*m!rZMO=z@vECHJ>W)= z9DA(X$L71|KJ##$FA<UF6M6P9^ky#Gg&UuCeSVlykQ&~Wy7|@Nj}sZnBjo1P$r<&h zdOTbeZulZ~jdQgs8|NpvDen&V?0XR<{c0KCtBO>PGags@q+iFLU!{B4=R>CGm!G1^ zzVkEga|YXTNbfUQUG=){K|h<^jtu|rUv|!m|7-MGldE$6_wv8{9A-Rr^W{nt+P8ln z(+kCG?epXs?|n|%eROBl@fZV!+#WVP@zv(1ZrqPMmbm74^VyFw_qV^xJ0I+KqP6#? z@Ojp+@77e*{Q9-}_`keoUV2Y6Hn6`q%_^k-{LQ`p$6DU5NmpRcd%*tU-Ricv2inix z_#OB0_Uuy?zPBq*?>*P`F6xe}$N5hO_2iRd-?ZLywq0U<$%4z{{i>S&FL&kt9j%k| zP<)Z$|0Zu*YuJml76lF``<JVVUu{0K_vW9A!Ln^pj2xgPwwf*NO~M_W!d+c%{ciS5 z6Wo~Wh3zNw_swo*nlf#Hc#(Kh(()#o?(WqqR<CMjO0rovb>*5C8=EBY-CGtc7S|S! zFJcnkTXedJU0a*IkU29hJtjRbC0_i5cv?|RBy(XM3p=}UWGpjtdP-VaX<SU)iMw~i ze~70<S{D{-Z<AD3?f2Q2`;$-X^mJdoLqXi0PbWWClXeP9`+urr=D}9)IVQ|U&UOed z^`4TMu`aQ=cx?}#d0oi_%VM>(qqFPoM4WbOi<H$n@}y$ripM?TT}5GMLQdtd8aIjb z8)>_W%FOC2dbQ)C;__(>aa-%I3N^p!mfReFX;o{w*u9(Evd@bp|8{klW{@Z`W9A3d zCk;mN7q%SiHuska;Q63-Y_@BI?4gRq5{fzv>qSoRoDvC^X*CdV3}h4byL`ff%g3H) z<0%u5uS(Z;3i$4r!V$#fwV72yD|Xk`r6QYIYo{JPeL^ezSRikcD`(i6=;d>S?T^Il z5{%ljqtQ!Qm3xAzY34l5=Cgdhwy_NAchdOf59OZO@kBzQ^_KMy?#t_b{C8{Xb~cyE z6b>|W?L2<eGp;7tt(w!)rAwSGa&wO%vujD9(-I36c1i7ujZU)KQy#iW884Y~EHrP* zLDs;?yI(GO#c;Z^wQKKqxX{Jw$HS0d`65?08SPga9vS<m&QP3q+9Sk^$@8KigS+vL zz%Id`S0<g;IFRw&Teq|@`IxnFou=B1_(KmT*fOmU^-^DS<=AcA^45p0%5yGcE}z?T zXXW#GRboxEGG_@)nx(Q)caf*sa$cboYTGnE9Z={}iSkrovRQCKrQ}wT*Me3%_EV)t z8?){x&W&)tyP~6FDOW^7pyWA|M;EuWd6mt0?p~38!%<E=bx$adq~g;HcTMU`6#JzA z$2+~aV4n3*y+KCu=E6&BHqQ&pU2`oW+D+1S;m6}X=?e_wgyJ-2U#ogCZL5yvu{j?F ztpl&EXl^gz={##JllP)6`23sSJwXh`7LWJIOj|ugT>tEkhkdqhD;OsWYihDj_FwD3 zVEBL9CMH?NuSVU+<EOHANo1Z~u`K-Hl+tOEcdkrTo0V1gncFB~>l)e9DT>TJ1r1$I zp1BMDC>&FnY-6w@vt4D?t&4NzgkI#e90;4eXq}=i$MQ{%uQ+lib0uwAG?nF-hwhwj zZd(fCGZL;@9~5XhRgnAX1FIybnft3N=eJHWUv+%xOcwDBmbgP39yLvWD_NCtF}B<? zWumKy!rT?^BL5@jNK`zCS;813RybkdBDsu`370D33U<HUW-`?<+g+<OeTUzpzU7nU zm=`3@bCgSd!7Ekwr6tcWeT_1!^&5?QM}66DTfFb+D__3jv4f^-d++%Qi^V?jm+n67 z`=J&(@qO^ljfW?j9Vt9;#8Z!%m+}7*M~2^K5+>Js3U<sXib`i?_KEry@l#c@;D@}- zmWxX#Z1oM^wKFPvL)t7BKPRCzjC|P%ht*t`qy;uH_}%=+qUpcKt#N{dNJ+(EPIK9{ ze%me{QPI2DdCA8qQ>mndN7rzrd%;^lehDcJxvfsdE6(z`{ce&HOA(8%VHM4~)WC4Y z;DFJAgCd(cS(Jjzx?^>Y|L2HT;IB+cRbb}zlgW2DEd63~t3e!Jarz#a2bUyvObGF_ ziS~(=)Cgd+U$c&dXT{wLzvIU*Uz})D{y=QUqZusc_bPJpcr<UdQd+0(^~5$k!CmUh zf_7&=qk@M_Odppy?$KMaQ00qcgXgXQra}w<;*>inA5GfXCh(juJTJ}gR^<6HjgF5z zttQNJH6ENx8v|NAj9a)$7awAEYR{Z<V3t~p^2*e2JeiHR64e(~YTS9EDd@<pSYQ>w z!Qs@^80LK|Yk}of?lu9dz~Up9*Oi&MCqCfjZ+Ont+a@h(#w2XKr&nFewKFB@Gh@8B zg8jxHtQIR6=S>NC#Jod|;TL0Jp67pw1<`7|baNkc2Ap1)6mdaBH)iH@sjFFc)jc_n zO_>wOpZP(>%W=^uMw54y4i?O;$DU40GhHoVxOt`D$LSLzR<iJF)H<uG|7^=%adC;- zQcfv_@{j|Od`lZI$EY%I*EQrd)cu%q&HD0}bGs@`eKQX>FqljTt(f(dJN76;<j$_E zrQdvJ9GW;~iP8)|BL_C4C7qK+<Tgqe`5fSB&O98aXUe#{Es?MJXm29BLF2xEp@ywT zy#;y_ZkRbJ`K4yK%sKbrh5?HsL-WkT;#SfuXPut$E%g*(R{qH0JZD+f#7T>I>pyHZ zkv!C%$(#}Sl+#~%!NYY2c=eJ$e9-W!S<8LM)%id7d4-sh0!eE=9eKpCRk5Mj&1^># zE33`Dk4qOUd?QranSRRWqv-FIoy+HGH*ZN(-Bq9{TA-`xEYM`#ZuDnCq~q=bwXxq? zMcI;<e`n2(t!oHgFJ*BcYtl{eJ%?1cmV_?P@}BL>`X*sb+towqqVJpUYu@uZ8Z7iz zCr@Di2hNshzFl{89$K0kHoEU!W<J$%<LnnlR=CeyHsk)9=W|&K*v>9p$YZ!~p;h9K zL)^1AXYchin!C&FvF{I|K<$0P=DG(DuQX-a^{GZOLOYo4;UiV{j0Jl0r|k*2rC`1z zU!yqcp28iy2_NP)ef-40!yR+5E6I&3^e}_V<EMv>68IbDH7+Rs@9;wQOai;(4Cnd$ z)e)K(8u{KRGlZWph<|Xdk&k^xPr>aE?6Ng0_(~(#R=j@DEBoQ*X&wh=xkD}O`#84q zE%>oYvPHUOecSYN<-JV|_kJ=PAIZF!nBgpP=GV&D$r6iGpFMYCd}ZXj!=gE8H!J6R zvD<w2IJ0vO1)J(GlvdpTGF#`Kux;jQXP?9?LhVIIt}mH$FvTm-R5XPp=IzW}n}s(7 zzC~xW1gmlU`^3}zbN9KajiH$dkC*a(jb0&mj^~a^$!wuByze%|etW%p5u@IO7e-}g z3s#tLlr#KzET7b3-E4H_;MMMV&eBZ>8e|t7R4uu2SpLz2HmiWB9ho~AR_=Fd`yVWv z#?5|#aV7hQk1Q$+_}sp?9&6+-nf>{|<MO$O<#q%W>Ra#P6Fk55`KR#GU+eZ1iCk!4 zyRv}cQPRf4(QiMjJK1$1;Li7e&RGXywuT+diMBks>t^r{!&h%w^(LFmtO%ZWY|j%1 z$+H3t`$Z-{jWfx6Ew*5)Q1r4I<EQ4Aqi;niYefHB-OD=ns8B|yY3D+}*QQ&R^2Dn9 z2%OuX;AQY<UFMDa)J=T9FEp23&ami~uHl<$CUbks7vE+ng+#VX%+nbs7=JzfSn$Jr zCUcI$1<w9le3E89vFuLw+20@Dz-rY}CB8C$%lF9w?QhwCU%a^fXH#$gU3cLNe_A9N zWd9i!n;iL{$k(;5PU6u9Zf(DYzZHfIZtd)D(-|ZZ8dxhD+?F@6{xINdU|+U@+g_nD zETqxKpz&B@<6<QS&j-o%4B3kuTn{cto7xoMCTvrjmLPmAdDddaaN*=G2e!2--ZJG< zw%^#QKQi|RIeC})Hz$~EzUWnd!TY~z(qEJC&)1}HnP@CO80D?Tkv&yRYC*G`fWK4% z8~ajeD_2gHG~Wpf&Eld>8HRz2)Y}#^@MjjuA7!h|RP@je4xaDi>}}$bpBVRH0*lE+ zLD8@AdXxPQDsrtouDeaVN=dybEs)(fi0yN^Qpp6CB1M5?0qi&2*{vKp7ayznpwKzR zqm%tZhEq6u#e@F}@fYiNPv9?YsQWCQ+5atr<w56Z2L1~{>|Gsf4Pva;0<6^qqQ*@f z9Ubk}3EkUvFvl9$wY9NL@nAFCuCT;HYv~Mr&IktP9}TP)y{sI)S57oUJ9UZNsFz&P zd*=l6)N5=d1#DB<in`PygbT!r3kuo8*@Xqz9Vf8PT$=eoA#!tI<{VM=I#X%KDfKf2 z(-R$}W<3k9Y7oy*U|@IW>~@rL5oeoYD&3gM+4U{bZG*(uj0rr)3%@H@v4yoOrYA<N zV8|-swq)j7Wyq~+5w*xbx-`+b|AUyzmC77puB3)m787lT5H^zsVggQVWe%}17RqiD z+X@`?ULK7Vb~RtY{69YMY4U`}$!oU+sV7;k6|s2i!QSP;zQuz1aD>g94a}Jg8E-%H zPwA*-Wl-{%&S15HJ+(7)&5w+^5uJ|g(@QL;3o%T$y3jd+EweC^LAziYD?@MNOolqi z86^P>Rtz&bJQ>>EdfMC=su^ZZ_-0pq(yn0|TZ<V(Yg$Hw*vtvnW-iz{z5m#>X9Wzb z0wtX@XVgcsH=Uf-QOPh#Y({ftZ&ze*OJ)h{gx-5QX79N<d*9F5f7=^HS2W*rQD->n zu)5Xh`nK{_4ULN@aUS2;b6j!Gib-0t5@a_NG#)#sc}a23&&?B~+!9MJR%IHA8y;rf zH$i}92k#|`u1gsu@d+g!?hPyv{~NyEoOfkL!_S@b|8VwN39v8dtZk{Bl{<5Ke;fOj z%-Ic@vnn|=j;xqz{9tC)%`V6G8Dg_$G~Vo#tYVn!Ia6-ebg5ah+A60zsx!{bn6*qZ zv(s|Hrjv^{YtHWEoXxk3-I^g|2HWhsNQRPxMIDvXt*ZFuzF4f$wQyPGEH|meR#mf{ zs}^q3oZ*|bFyPh_kEkU|TuV7G^t{+9AhBSn#ngE(W-k3Zm7gVyXQ_sH9M_z`-$jLA zB)%vyU*Z(;FirjX&)JeUdM|o*UHREtKC7|#R8L)%%$bV0rKgy=C3^qNWZ;`I-y^-( zU42ITtOb`l7<;%@{<K`Vy>ew=)$HcZm9t(gVY&6ctE+O!^2|k(BxkI%T%b2=VMzjW z^?_BUw^l9Lxwu+#sejb!_skg+Bxlw;%oL4Uy`^e~M%IjduU1RkTD<92m;9@R?>Db; zteVlD$#>jq;elBT15Pb)t6J-jwIsxAwZ7FFU#T_Mx)yfqTDt4AHPb`^8-_+c!LGCk z497n3u60vni%=Dxv@~tjykArKlS0$1ZmdtpFmv#zs9n@+s<MH(d)e-ry<EGOmwT;f z*IN0va^)<mjXPE@=$o}b;`B;!>y3V0tM0y9B=dWT%daIXwPp)l=sJ39k$={#^2$x8 zb}eQ<u-Nm}+I>}<%s#9#i&|n5z1qrp^TA(hH%V?je{0hTuFZzsYfjJlzh!dgmWx(1 ztyeJ%8LV<WwaGSnmci-8j<crUIkovp){;$Ce2Z=^I@_W6WR*4hiFuhDb&fIU-oH5^ zQGsvKMpov+u17{S(=P;PG0RmnxR#hi)oj#VFo7ktfqnBrtAYzjjxLPZA0|(n?%ME? zIeIyVxj0+>#q1{=#rwKlZ*NN2{eji0fPG<DXGOz?J(<h*WX|UD+Bjj>O6k)Z*X`aY z&b?bsdiQ4Q*>hj5-O9bmdiQR}XokSuoA&J9?W)D7-koXvd$;ZH-TS&1>7L%CCOt!4 zdgf`a%<`XhYPa^VIxv_!u$wn*naH_%$E+=vx!2n4T5P4YIk0-~8ST~Tv)Asuy=4FD zJ!)P57k~C%>sqz+SL^;?T`Qhf>2<6UcqcXgd64+305;|W3_J>~g&Pv$E7*b>4%9!` zo;u;cDOWa*KWsIP9?TAr9DCSXryj^l6R!;6<U7OgXhZ+LX&%A~Y=?s+-6pVc&S7;k zI2dH0p5AbvF7@EbW8(V8hbLZ4N^stlk+o7PdgGRx8`sZ1qA#^c&U&}co7F3$HkoK2 z-P65Qh+(T_)n3!ryQfsHJ$QRb`^r5Re(y<+ITkW|pZn`g6ISkhCcQaNXW!-OO)j_h zo!-T6E--VA7lRqY%r&Q0ZP<0Jq3pQ)uEi`9_U@}b(K6@g6|T&-JG+m(K6c~uVwQlt zlWVrRuin4=!+x%Z0*p5Q*FC+pw1ca$<JA5mm7H#yb0&N+UBSq`W}(yRZ<^~^P40-v zOfG0V+#)^aQpJStr#2OwN)z=@RXcL%&g_-ZN4(Y?*|Ph{yjf??tl4z#&(RAuYbM?4 z(zRZj5_9bI>U}qA&Ze$8+A6cvY4zF%bN03S>=8P^((kip@|tr6dlp}}KKU%+oT2vd z*FEQ+@ti;Hb$;!Qy|=QD*YM0#X2?)}aJ*^Hn%lSceD1z*+vl9mgWa#RkAIfAnALMZ zGm1TO*8cfA0)I~L-?!l8xfeYje_j;Q;5yyrKe7DOgSHlz&m6NH4m2!ki3-*{Kk;OX z*NUfE>*JzSE!Xz$vOIHdM{w!Hjk4NTj_2$?_2>Ua58EqVvS)qvZf-eq{L<^0E~nQR za&JwKId}Wdo@aCRz34e-SbZXX?a}Mr=bq=B<GXtywfEc)o{LAi&!xv+<CEQ-XM63r z%=LoY^PgqT7x6G(n!RQ1tmFUQT=(kUa`(+{-rVziy;n1IufN=L!$ynoSGS_+-~DE> zs&chU<^G<W_SfLnLI0p<Es83}TM}drPvkrjlCvfCQmu3J{7HG!(l;!<xYJ^*QNcs! z9Y@6sW{SPgtUA5zwAI#KuDxgGo?7I0XRVj-QQx_Dw7pM0;@*5*Ys(U@*)H7M7XMoE zB!(fQ_U=pXYw5gu6LYV{_Fhffd$&F3e01)O7qQpNb8p1Vy%F>G-i^2a@7?gdCuDp6 zCC^EN4_A`r-hEqp{cY^MM{93<<h?nocOC0FW~&1k6$>+h3NG$5VCI%%S!BpA)F+-N zR+u}1?WqOhx#y8Q6T~VP6g`>9evqxrO@aNhDf{b!f}+XwA3Y@E3)mK2WQ&|2$Y{Zs zXE0Gpu7Sy+N_3uhd_h`b*#Tw-{^p6SwHoCI8D-W@Wjg&W)J1pq2J0(FeebyKJ>zY= z=7jFjQ){p0pV@b&`)Ih%wY)cXZ`PbhK64?^`g(EhrrdLPKkz<h)O%iN_q_Puvxwej zC3(+zV$boey~@yct!m!0rgzse>>k|y^L#??`X8?!u<G5M#XE<~x}sXiJXB5NR2k>r zRsS8#)i?s&rQF$WGtJKV@zm&m43A%2+NynR4@=`dxQHFJeR}xpnay#pBj2qI+qXG- z-|lR^2M^}lNbG%4Gw<2HxMNLv&%5{@RO;<NGVfmN-Zw|)z4@5^hI{RslYINz>)xK> zdr@!KSIlCuK$tb~0BgJ|L%{{csts(Z3m6LynC@3(;9Rh$OYWxmT5GevOMk4o99lG| z?|F_<tclCwXgM{r!c%#(4f2v0@^r+OS1PCenD<`rn0?TV+>a`gzJ7MzzSc}|*+-#o ztV$~xGMPSEZc*R(Z&!%k>xjHNTKl)2@7cYlZf(+>7nOd;>gDclTKV?;y1QocKO5V> zI1+v1dhLtLb!X4m{r}Q#_xZNn3*V}@k-X<hHn7Puu;>IZ%5GrmKFwIRfVC=sF~*;n zduh_4iAHG)JlP|23S2c*tCt3KBr3i9xL?L!F0)lZ(qCf1tKBuPezOFGnEA{*@cy`^ zw0fBOw=I*V#BnB+##?LTZixNBs{d-k*<GsrpH#H>81T;yySv9hYRv_yZ5Fqldhb6P zFZ20E-IvAjZ}szkZMFKcX#Q1`-M^0S-u=~yvA}^@*5PZw{C8yz%pwWwQVST$4lrFw zVh@@B+hhTob!5O6f5zPD&Yk*~_qLcOe`ly@VE5R-R=$BvP`~I;Mw0aujx)=0taoUL ze>t`M?RVz)<!U!?TfHb(oZ-V+^1oui^>4K^n9>9j(+j1Gw&$&F_19wKV6tao;%{kf z<&T$$=kM!f5}q`9%G7Dog;_ag&*Gdlf8N6R3l_01o40J`s#R92*x6T=ux{8Ov}N;- zt?X+z?OeTona_d4M?i-n92Giw=Ipt3t4n0lMPfu{%S^J%M6<K6$v(_BG08F!F)1sP zb;ziylD$_}U?O@`ia)9C=bvA0!WAJVRSoSdLcCfZWL%oud4)uI<RxbA$e*xS{<qv8 zgQSfYSR5xCNI8aNJXUt@(VG_1vT^aTsqJxcT1PHUJSHNo`FD1M@zEpGRI~GZ6dx>C zm^D$&SLKP(iY0U1>i<aW*s{`PrE+=DE0(U1|KTCa8ybCEvsyJbAG=@|eR|v4+uIA; zw|1@W>fUZDa$?D0H?}@0(>v?-zFxrY!OB&3ZO_Yu>1{KQ-@3%QFRXD6)BL|?es}&P z_;M<!vhjEbvwF<BynOeRx?m;WPNV*_89y#%ELh|eZ}7~|<&uEgl8!nJ*&~-be0qia z=eca@xBT3{PhDe|?+Jl?523kUhax6E;y0YNG3l54Kh0&HE}iq&Z_%8h@qO{5_Nn$| z`~Lp^^!VEH)BEdh#TP3IC&-=?SkcvZWI<><pXVCqgHksfGQ!#O84S-`#^ofRZ<{)I zvL9<zh=P*2$&<x11!oin@LRsTz`$UBN5ZX<O{!o)BNNwwh5s3PfB3jZD{h?mv6aDI zEh)NqPpU~u@nys39+N~LPMPX|$k#xq!u6-i(;$DlOi@o4!PGmGwrDD_DMs}k5ec3a z(wQ{1`HRbCzjU#!GZ}1bzVc7pQhSiIW@$sK*MgsWm!DejS<&m7e)8MxU5kEnZp|?2 zQ>*e>e1ya5r2&W7tozG9mY!On$)@Cyu#$C#R~BQMjlyk~f|O<n8GZ(}^A@Qq0@<wO zyF4OV9ayw=1o97jKG(8;kz!7w1J8%Z4LS^hYvtnJtZ+<Scj?;<w*K0SZ{3ZTGQ9J+ zY57RFctTCOV8!o%B_}4dL}YgC2=G+r==y!d?RJjqH_tpDW5K4ofmauL{ul9_Jyo4^ zugc5Ws$Eet-A^hyf8*4j*d4Yivqt)QxYv@iE0%Vh$eVcQS`6c+NnWQ|7vyxE)?ePV z>WuDXp9QDavREw8^js5De9rXyol|E`^&=WCn4T_jKW$|)cQfC$f@I&+7Yc2@k|q-t zGAMF69CBpUnerhrGm~dE`-Vj?H$KXdny@&6UF1lt#D=8Vx^JzI@CmF*?ms9vdwW*J zY5k*VD;|Eo?^qOFk&{&tt&$g?^H(|7?hv=<!T#%EA`^MJ@2o#Mak^(^>DJP-W%Fa} z4R7E7leK&O{X1C<?Atf9zg#=vmKEPGanA2{6Q{a;P;mQ@6yv}k%p$Yi=F>^@_kTWL zaM%C;_sbRa^M5{HH=bYn`9%5pKcB8OzyJH=e!c&`9}g$r|NHB;yuF?9hr{pp{r+@3 z|Nq|~$NTsFdVhKT|Njg;3mDiv9GKJ|FhMW)W3&3uDA2QjMcv~dSJa0l!6ye<O;#M_ z{_(DylR55#nKGN@34Oksn;C@zGHgZGO{l(8tjHA_VfWn7vDJ8w+>eA6wz5J8*d9KX z6UgVVmy+Y}aM!ud_3*fp#G?FmTb@PV&TQYW_33=q+spF5r={Efzk0s=>tXr72O<s_ z&HC8$A)1lx`iWy^yFT_7%t>IE{c(`LtHAh>@gY{eghm-F{thjclut}6ZB=f4=(ujY zNN}Qhi{`%%6aTwxkrN8Paa_f1Qf0TuBmUYKhn?>g)J?2e^nHcK(Jzr7r@UfL6+3L< zru&b7>i1w(sdP{8KPv?ri#itTm7hEv_pYc<Zq4GU4eE!i{hs(}N60BYc3|L^>7Qw` z=N?b?jXievCd@o*tipJwfPu;2^Xz7qdjiawo=RLoZFP4Rip-s9=frn$a@(6YlgbyK z!B!V1esW%F7kqQS{;$dP|Gva)AKu|*bnHFDR+9vo;+Ln}tiCLi*pmFdC-S)VNydd2 zXD>5TmuxTQD`GP~afo4)!=*`mCfu<e&N7bzE=}W0V6&ca&|;yvXHk}LmA=U%#g#j3 z%d83~ztKt2Sl;2UnAbmLvC4lfk+&!PKmMKE9aA$uWHZO9Mk$kpj5ZHgBu|C1mwjd8 zX<ZR<{M2cIrh*y!9y_`UtF;NOOJFUU&@9iFz&x{VGN<v24DnA=>=)-uS)weP$@j-A zNVDh4hE~x`sS6L-W!D_w&3n)!{fO(@j$Ms&&MT*@AMT8t^-g5DmF+zL%vpOEB%R;l zzBDas;;E>mpEl25wI<8{ruu;uOd_kl2R{x!%;k8m>FVkoJn!;Pavjtcn7(87LJbb} zMc1}o`{<Ko@Q&&5spcKWLU&!8dRY8X6#I#F4;UuP>P4J1h%{PrfV&`;QFey|yOD+2 zx)cTHnDBrTIebNv&0Qa57*=0)|8;%e)!%U$|5az&T=qIY$EV;~nz)S1XVa<6f8UYM z<+Qr3n{{zp%AQw$R~4LIYi6)!&sW`ocI~8(+di(|JLO%Wd`H+Pi|<FXj|P8~sE9qK zc45~+UPC5+jdsxq51F)%E$uCiiQI6>bpJQgCGOLC9=LzIUb(pSUdG~>2WsXw+PJpG zO?!DVLBe9vl+c*0z<BM`jhiN|67&1qa`Hyv$F3bm%*FENEYCi8_fq9i(J6Toj;@N? z{HSoJ$lK!gX-y7{0y}r?tSO#YsPlxsdB(bbu8Wo^`@XclSAOaL*A-J||GfVya3(_> zpTV?)e~z=<o-o0HXRGF9t=n_$B(|;lvS=o&R%q1v^=H+lZSH)i^FQ5MKI(e$GKKZ( zD;_02u58jR`^Y|fb&f>;h4bD!50saGytdA$<UHpb!`{Q%_Y_{=*mb}3)6%21nLgT; zcb@g#+i9$u=WX9V*Pvn3io&S9`t6^V^Y)c%Demz%*<Ll3<)}ex;oroB=d+F+3|p{B zl<$p@{+;dI_S={?`Z|g(*W9Tu_J#f9lNdRU2A&uR2k~!J4Wcg^IM+959~NBkmiOL_ z)e7efQ-$YdY*3qg>ABAL9dp-YmQDV>@9nXYrKSHo6d7bYKfc?t+xKkdoVr<;SKEGA z<>*`b^yTbV>q=K$I~fxYerUmA!Fq)wym~R&)fVS8mKC2p`p&!E`ofMq%Pg1~W98ES zoBuv~X5EV8ymJdSs2zCnLEAEBE%*0RY13C<oz^U!Hlc0O`Ir+EwlONOTK<&xyT>N0 z>R_(gpLcHg>=)MGD<|FlyJt!Dx4T!mH~9zpzSnBkzj7k@t7>qr-DTs4uU;MA8=S}= zdb95D^>Vu%>y!IFB=p-}KlX0-hv#$3w#N&cQ{pRnDBE!@DJkahg}Cf{s#X*2bU*CQ zuU#FM`|oZ}{DKyf?;A_^D#W)%TVI^`eb1BJ4b8GW$M`2aJ;ZbF0h@lsLk8myLE5Rz zB?giAQ<>Kv@O4bDw0AGDU7qQg9(*#nYJ!M|$c@Zp>@J?=jTb+c__pVtn_RLnz0|(6 z`sL#4kk;xA)Bn5f|6azvCH7Ri!?C5Irs2&8rk81_mmN({KO)|2S5crX-r``<;?m(D z^f;-!rM7f?PFZ_lg-P;G6`N<*9dgy!OAo~TWe<xBV83}a!=${T$bnsDYLI3tTe?Hs z#HVbf4_J+tyJ;_|S2ktN6JYNVXOFoM5v#$@d!pE4d;806#Z$It`hRo&cq}FKd*kP_ zj<bgw+gD^oZR_AIvx{KwoV=p?*R>{2gJy@cGL2=)1{uu;94Wh=W!rp<wwckK>Rx8J zJXtL)C*^sX{f_LM^p>wdwca<<Pr5msKNcf-ynF9q=Aeo?!6mu2X6<<j@zrU`+3t~P z2VxVp#%dP?1t|n6ssE2;f56V1P#=3B!s<e@l><9#L_^^PR^|;sWiQySPV@PEyrEH} z{!K**H%C<?N58}M_FEwx!X36kKRg8^`a{3_DQc9qr&LLMIESk@Epu($UhX~9BIfdQ z_1O_M<{A^1Wz=li(RH_MqVP<IbryvpGYj~`TP!r1MJmGr3TsQY$CPcaRXj53ylU>l z_9CN|MNZ$sx>?(HOzBx<5&NOt*Vv%<vIJ}O)`$sD+0q->YD*&`H$(&~1ifWVvU<R- zbv=3B@#3l1``-TOi;SEaU72b5z4+a-k}o$hJ={AUAM0p#nQ&=yqhf_^&dzDux0DG) z7DtJ8Nl11rS`k}xVZzQOp{1SwCthdkZu*&fP&`c5GiB$K-2JVwi*FRjXiiL=?(i(p z{a8zPxp?vc4V$y3HU}(hL`@kFRs=Fw6ipJXvt^5ap&DP%&=XhMRXEM3WCpXUD(htn zsTha2IDyF639LZ^?9ZOoFZvla(Um=+BJkagzUk)m$6vPdR!prv(QsyEW5Ug;pDap} zIXnNB_D`vZ{}EB8xPrNTTIU{9ciE6wBadc|?L97LwPrUQ1zvW^PMPuedrx-w#P(y3 z9478pzRu8_-qp!DbFbT^_Ouxs<&&nbRM)zhbfjcv>5&}0pEJ)ME!RqmsZnQ7xzKZV z#q`^vDaK+cHOCzuUr)X-5}{oxm3D$v%<6x|wWZ8&(_6I<v}(<o_jx<}sgqO9Hn7iH z&iwp_$wc?OPu~|ud(MrLoa>yG_v1ywn}~4r(7wWkzK3qpmTt>ioIY&<+q`c#CrG!b z+X%2E3b17!C}$R6E1tlXE5KG#z*ur%Y3waF>j~Z&7nW8DuofGz^8~OvY-7%{VrNcZ zvk73cy}-t!z|M1FX?7K(@ddWr1~!f*%t05HRw}TDSuqq(SiyXNt?E~(%>mX}DVBpJ zj1^AoEmkY70+uD+Vv9MzTylV+SYa8@12)blY&;j(V^1-3S*=<)i&dOqb&C{BdPCQv z)CC7l)v8sNbKEL4xR#zClu?;klyjr!-t-xlmO8#z{@+39l*7F;hQbeAzQt_m2ikVH zu$3mneN>Hq#Tps6U~xvmy3`BxW*rWt4Zf4o+xt?B?tP8uTgv=GbxsuLl4<G8%mS<> zKZ0Tow42RZ5|i2g`_`PlQQ_axgOo(soo2EbZwN2ku-4dMgQHdd%(5k|9P<n^*aUyh z&pNs^`PE7rfn|vT>@ri>VrQ|Y1+Z<-V#&L()Y^bCWy31R1z~9u*diTPRVJ{d7_82k z${H)hE_{(S){8wpU|H@1M@MP4Tm=RlX|{9&#`FtInFS_hEnS%?!1C2du=K*xpaU_f zv)H!;E}P7?)lq<j$AQg9n>}fPqs;a#Nm}e@TG?VRu&tJ2ixv34;Lz3<-;7$nh;pv3 zmQ!rAI6p7oeN`lXt9Q%7*hMSSfBsy^6KZobxQi#mrp+vu{leOm3u}um^gLl@*WqHH zu$q}2w0fB>rhqL~Azt#8d3jo_LTY=ALwm^%W+hfe>j^~<zt@}Y+EBWbopA<hO=^)g zYb5vW^%kerN4#9z;Ig<(g8f^2gwk|2Z>^%oFTxi&_VuV2sf)5dFsnMhdyeID=6jD; zwyMSQcB<cF+8NokP;IsQmWPhFk1l7r&=a|9q1+P3d*U`OLc640_TM_neCyKwFVXvF z{@gJ;nJp%w;=l>@TdFDxwb>8+kl6WT9}`cHFhh#;DaWi*MiHNdS*Zt@c>W&{``ne7 z+TC2eX1hgT%kQoGirsHtk7@GWFQ?OUG<g4^9S$|m+3E~h^Pf6|p74z+V8~p+zFs<h z{q7@i3A=7jot+oZr+kz(V9s=ra2wq!#uqagZazJFb85w_6B}ksUwdauP-SbMl|lRZ z13^lm_2yoc2cs9WyztH2a4cp5+bV6TYux+xoSgl{f+1)_`0kUln{_IRHXQqsRaEfw zX!CMryQn3eT+Fhm%o9=%&RV^uA}Ql%G`qnI_15VbRb{zm5%W{qryE3c&0jNb0=MO* zQjX>YjyqX4nTA))-!bDW=g$8tJ9o+Kw2qj#FeW40)#q@?nH%9Vjps}{^2eI{)}g&K z3~E08SDq-nR;PXbte*>Q&vbFI)Tw^wVxKTWOe#F*N2|iNSbMcYRWG9zU!72VI{QY~ z?ki$-58HP&tIv6vQMCI3Tge9IYE>!YfTGV?Mb#IU2=5N6)`=`>*j@bMyw9w9kDV88 zXa{YzlxkExp>&n?PkPbk(&L#Lk$=nMp0h^A?cuat*7v(>j>6VsR#nGuM6tKAS&6=} zc=uZORuemu&iwg5=FdDa{TS;hPKVPDYV(x-L_6r7vX<R6Z`VnOHZ?i*=A!PSOF6pO zSvKjPnEvqR$-uoc%9sofcTMt)ICDMyOv2vo{{e?izUekz6T{7Q%{)id)MsJErYo<q zcRj!EIPG*1-<O4DvH!30xWsS&!kTiR?$nP~$*hHsb6R`Uaw~WzIen}6Y?|A(=7iR- zh}WSFzjE4t-08h0x*>K$+~-}#e%Z7aHn55BX16}T8f(y-xq*HA?%qn)_RBk%mk0Ju z*c#V;b;;40C;G2OJa=UeXzu&Gb^7P6?2!V&U(I_zNrh+M*>F=Lh`E5xi7Dmc*^`Wa z7P>q-(0*BWNAp2P-2>LVr%HCl-q*dduzKOgrEDLcp4_-_x}1$lmXqE@=>w5x0~}(n zIP%^TjXdq-yHMuiOdhR_voSlo3}^agTs!>ckYP^uDbekP-gjSlbEGv)DVX4J;KpIy z<K;E(JqoYdG{O&lINF-9bpN%f3k5a*@3a<MWSOzcV%oV^rMpWG)O}ofXR_*@$-2k1 z9WL3LF|Rp$@rIU^khN6dhexkOBaYUxUHQF!)x+@H62T6AQ?^&{c8uHj;M<9;HH$iP z8a~y`da}G??e92+SoW)87amy)+r~a?d9ZS)u*&7VSGF&X)#u%k_Tf^lp2}P8?b5sM z7OXokXU>)L83r+r3d4#F&X}G$*n0m~>6Ha@?#rmF&Ms8?_cmtdj2NqlqH2+A%9GS* zd0ulfuqo8`DPO*$B)#_Ju?I%S9!QHEl$<wTPo1ss->L4}*h|xj*xLivZ(y!_@KD?; z_Su|RwRfT677UY)w%O_~cy=a2$okxlC6@|aFDd^mzjNe2Oa9ilp6zkIuS|YEk5#p8 zk2%2Vw=XWD<CvCf+hva+t*t>Z7kc9o+V6_6=d%X=YTw=8dTaISpwCiwmd}jK7rp5h zb;&A#tzfBIjox#oMR#`?TfU0Ep02l0de*c4jn9khRC3-OO#f#Q<Y74P)lAI>;XK}t zJulVY)V^@*y|2K%sjNt;?_SHvoR@8<&s?Zc(&9f`Bj=->7^D1gf!B(##%VA0G7s;& z{PO7HnTLe8&wW{^zt$n?L;3wZ3wPVR;XJal?`t^ofrvL*3nfn7D^gz+d4S=uUy$m9 zU6NhX9kwz3x$W?<EAGJFH)<(GHKoV9=F~gRyBIJzoN-5QVFBA6zrO9U|8KhWO-bJn zcc}7sghb?y+1^iA)fc^BWxTO>$-<zR3n%W)cv^2BA2>5kCbq$L+R~N{<$U+lFW%Ah z+#6d^U|k#ZVeOrJZQrhVo>gbP-_u@vpe;<DJzw3KNssBn<!$dTOIzLB`TisG8{vJA ze+wUcF`Mzv*=5(xnfZKYvN<CELUX6cY#oNc6EX8v?l=`Ha{Kzr)Y#8A{&(-bku)oF z=YbXO68jDpK47(uj5N1%k2$~)cwtx7hPN>aH!gG(-F10=ql+!hfmtkTodF*QXnAbB zczbJmTRVGi33EnDQDID8T#9&6cSqNpBJH^JywsE>Da%u=idN4oN}rM!Q&?D%R}!=J zzqWSXo=sa~VlrcmGmSH*Y>G)=ls<Lpo^9vn@7gnSYf<V{tGtxF_34vVKPsA;SFk%z zd;a`8w_`FgVqVQpV`}*>&J>@P7XR<}pC6*1#5c@uXi8yXdh`AK{AH4fN?tsZ-4YM$ z|I+I)Omb<M(f>=0BSBzUFT+H~TLuCL43D;O>T+i~r94?WQC=qg)tQsVtbTo_ja;%^ z#VZ0Ax=xh(IP>zdhWQqeV!m1VFZrjrn`b>O{GxGfox@ws2U%0vCFIghmibnP`PlV{ zhowk9NWa>nS8_(>*AbO-44RRbDx{w-?O8f=)}55dGZhCKbb@xd^fBv)Irz14JhgUN z=FNA&_}m(S|ElVWi+nqyexClm(r4zOx;s|{mvr2D7Mk`%hFPuuOjquzupdItBzVou zKipe-v3VJ{%Jq9LjZqV`rWTm536uE7<Qt@6UwW)FTQ$zTAa?b%k5Nyf=eo-!AMNp# zu76<H@Le)arDXnt{SDt(1Oug#I#~lWQ+X5wCEZd4C&~#=5e(#Wn;;k{{gvZ_o2Q$H z1RL{*i6X}&-Eu4zNveGk7Gz#BrEy|Vtm@Q5fyPa&$^otqpIq`a{abRG*}|9g3Nw?y zPv_noNylrGWD2)VjB*Ywz1Hg$c2gzbLuje$6q&iE^J~`FZkr*OzF=aT?1`z8{!)>5 z425HUX1I08{FT|{C1v^Ffi04cx#6*tWQ+@ApX%(2h3AyobcEz2)0nOul`PFQTCS&k zrO;EhZb4vF-p+%LeQ`}276~dD&pg<zwXx$-oBZ|%LTC62OD?jOE!^Q4DU&Ip>;oz* zrOQ80ndYaq>cqoVnY<+%53$Bwn0RWFxXJ-8%WEqqcUrwtad^4%%9=?BSY>yXPK#vy zRL-yXN5JJ+ecGH$c@DEoLO8+%&lv_v6fZDr6#qWU;}{Fyw`?{qp{0pOTGi(kzV8rT z((r*rX<hasmsFM1kY2r?H!k`5<nGycRMvk%;RK~}mK0y5i9MTq`46zD_!w+l5;id+ z>*|xq{zYG|Mp+e0hPlfwZB>oT{jYgajDPOmtE@9mo4h?PnZ4#<t9%U40oIsVoz=4x zUzIRNN-gJTTA{GBHt@LQgpN;9#jB4QHORGbIk{a<)#`q+Lfm7Lr_=mtN$hiH=Blk! zuX>rFQM#K!__Xe-Rg+HXo<7AmC%?IL@;SY@iiL-_)g_$feRN`1V#S6>6Qy#sccpw< zn|n#j`{ky%xE52lg2t2g9XNO1&U?ptuu;(N*AL^c3z8c{-hGhaoe(5x#T}r0#_FcY zR6qaHlB@og*jYCR_$2-bK5lnz#>U<!@~$dA;U6<>zd64AbHF!9v{f`R^lgsFIoXXS zOQ$+HW_~;yvypvrixY?T%%@Cgg3dx>pSPvjoc-T;I-yVY&4!+GljiW%UWcX6CA23W zJg8qKG+FN2(Rtn~DuHt+NH@J{V6$ahm?_c{Vm#{^>)r{8Y|J+r#rG{>Hkz6!wp@Yr z=81=5BD+%cla!q~o<Evl%-~%z{d4cbk_A1VUmP+&?=)wj3gfPCHm`Y77x-D&HM(X6 zY70N{e9ZNzpyBk<rM<5@m?e*Fm|t^1J@(V0*tDkdiH$EFD^&cEt$iaQUsS5%*W%!< z`1G;h#3c_>9GSen*EuYaj8$d*w&LQknxMtXEBoD?FQ)vQ7Gxxo*`utSJ>OPI(r7lz z(yD94r}(!`w_ljEB>gvc_s4BlRA%-HX*}LFNq4Hr(k&9gx@rGC1QHY$@~qT6%vTq2 z*l58@xj>f3rp6IxjKn9mNzGc=8fJWC_N~?#c3&6s$TB2fo^sJA;mm}*(*{R3>P?WI z`G&b*>(1MmA`d6%FJLq{{iNwx&EXxn4N1kzZ`=`Eo;){X%W^&|jpWRdL<^%UjSF9& zSWyw7sB4l}!phRY%*ZETnfdToUtCqU6W=EJ>Y5`u-%n1eZP|YO?40b7ZyGI<HR9^d z29s2;S948R_lZHNR#EFi@~M+n+mvN)x=dNVCFT1L_QfxzPEvRC^y-^)OQidxQT2=J z`M*kpPBL_fu1<P+qQ0(ORryAbHmAuU@dpdU|NY&hV_?`FJ$XsE+>D3(stG**Q+749 zl{@)Lesnk-FQMGZ_(7AmzVJ-UnJL;Q`4ZUf%s8od=0hJ}!9)Lbn$DM(oMcV+>fK@- z!p8pEf$QkAEVeic7XA-mvqcv?leaPrP7wdSqBSW`dRlXvbeTaz;+({;DbgC74jCUk zBNrkg&f9OXCe`iLBrh4Yxi0ZeS<KQ)ocTU@w(JtR#BY3sk?%E=itlgZxLs{;D_UCo zr>$a=U+}_%$7<G6+lCO^WgSma-*R`U`bsMM`-x7K+bt0ia56+DRCM*a9IgwC)Tg{Y zdueLY!X=*zo=kq5npw5N<~9Gm4-EfbJdTa$STL1k$He9djcm&=aD*>tH~Mt9XuWfz zP|dUdZssS-6uDY@6B46mEZ@0Dk*hybN9DqSIY$mXKItEKZt~6tk=A?EI5~=ZjZYP@ zTTi(*w>+X*_MJkM(P819<sQz7u7VaWIqUe|-$=|7XjCv|WIS1%sl$A9NxI=n&6ZYP zwq%KdNWGTB1`7@-J(8)K@iC&E;pQ2pwEf-3Vr3e*Z|Ab4v0m!GbCpqax3#`pbGTk_ z$J1D`%D^cVETOA!lpm0`p84yNy3v9>9gm;9OIM$MzPK&3=NP|T*Mt?PLM892q}eM( z23n=HY<`!L>T1OqRvMN#`R}?T@g5ygXB?KyT_tt=m^Le~i2_5B`jca~7cUKevRjn- zQsC(l<I6@D7@quRobtf%$FX8Dj^8P!D__d`wG}O3lDgG&+;~fXwKMyUm$OtV6ggSj zEvE16NwZ;DC3Lo<S^m_52&cshd9pj)bM6}5&Y8^AQ!fxK{*I@`gn^Ocdl}EZnJ*%8 zPsMC9Y416se!ADYpv$i$icwZ+?dPX1jS@%KzKN00W<4<Hp?s+0EB}N}VcEdh?n>FE z-iO*B#H`l8<x(}@--vVSO8J#X)OT*s-n{M&$Mcq(p`tVIY}R_X^u~&*GOIVLC6*;J z{^r;()EBod_}bM4TYA)m8~Qh8PTT+L=3yQ#fqN|97**;QgjXEbzGQc2Y2)3*CXK^t z3I8^Q_$V7>KdxJlc1ZgMPgVE-Oor2$pQbGI`F+zllK;%Z-Yi9ps9hh~IQqJp_$^oX zU7U81KkeOLNsR?hm(N_p6BywmzM|*G6PCpr?o1H1S)%iyf+d+D@I<Iol3bm_of<vu z^P&?L3$T7ZypQGK_VRU6>)Oo?o}bIKa29$qfu%0vf&BmPtpArYPW*1W=2~fGd&2g% zgh!VJZ?|QoJt)1OoM4mGFinMlUn5L)ah#lUqS8b?eM4n~i-{)2m46C^s<)Tw8a6H8 zl5@zde0hl>ON(8fdy>QgMyUm5+Rh>NLAIBK6YV8D^$nBWJFEClR9-!$MMW+A_X4)x z7jnKP2prmM?e~LqNkiPca?W@KwwuBUiH85<zkRT76_7pN9`!+lzqGh`YkBq7<?LBu zYE>H|A}2&hyKr$l)T?Vw<$V~=6Bx%G$dxDH?Ay$i-_W*Zx?0!P+70Y=Z7XE_*{Xex zxJ*>6%WOz_$sXBfSijTBv8sSQw4<4!L-5Hr{u^z%Og~s99J>B3V9ZDl(S7V0wmmz{ z&{I0G)V;}8Oh_=^fRQU$C{2M?Tu3nOg2Hzp7Us?I`UmxY81<;WP>eKS)YxReW5Bpm zLqTYvzVPC1E+vD>>PkY2tP(pEGBzk_Xn1n&Fj^?mT;}ez`bv)dV=pP;%HO3SD&Oob zDBGTL%eCIvGJT4$O-8xh#ugQ~%43JS-rf)_*zi9$D}jH-ha|4T_O_3#rh%fLoNbZ= z6+V?Fr3r8uq(r=b6507wLg6Iq&f{&H+^f$r6v#HDRy44$s1RKFW72<t$!!gce?BrB zZ{=V2u;$+MNj~4$GC#0?ekL<>N1Fe&l&|5nsheuj7O?4QS~E&a&R{Ry-(1NgFgfDq zq?H|vs$!F+CUkKnOpfgobZIKpI?)hb+MwNGd!?e6vC-&ugrUBoQXWIE^d+|49m+c` z*i!-&awXZA4H$1*Ffd(U)&4ZS@h7Xa5R0jx!G9(L!G-!ePcXP8^fDXIypW+UbdX^s zOI5YGcbcd7|H=0EgZ0cElV&WbR1K?CS7zXx)XROCo#(@Uw%t2sy>AwFn8cPlL1@oR zp<kP9(=V{?ww!b5C!17<XWE1=*^SmF2Xa#!@=_J%9G)qpb#eM^^B$SR7KxQ%^(qce zC+WRqDmwKbQsHFE$%iTL56GxXvQ#R}efLtySkwB?MFEqW0yRh63m7MFN}m78GdQuL z>$m1)md5#2OXiC==FZyQl@YGO9i?#Atv@w0SAS8Shhfvx$Dv`Y{gSsrC96bTC*?>= zEwY-(_G1!j+J@dhg+*Gs7U`^7<g&5(Uxd+8mqd5QQuj@vI?2rw-KTv^n9luqv4fOg z`UQgz#*8Yz7XR90w0DO=V1tOVo3U~k*BXs*-DEb0F2(+K`9s2H4u}3Tul6)HDxUa3 z(Z*(hJJS~Te*s)U&1@nqZ1c9(e8}wmZp7|6AvnECw54SE>WN*g21y~3Z9I+~by@Bb zfy+{>Z2oo%ns_ewm(a541>?U7UGbI^m@KBP=*SK7%yP>x;%BJXDiWf8P)KE4e5txu zoJW}GFV9BymjA{5rprV&KM{7>ns9mZ!WCacE*@KOQLKC3mqj0Lh{$deJ|MPeznG`? z=Ny5skX5UU86rY<cuh0ixa8;$kr^(wf0YD%y(R`SEXfzJSM2JGjaaK>Xnt1GKJ3@x z+zk_MUgKY^F>&>d%G3`Hwo<we1KGcNu?dL>rXJ=`DPS)zU`q*O^EBA-W0kd@<bMT+ zS4#dbD>)srT7NN1c8aA;tdNovs4x&S%9OWZ*yyF?U?JJoUd1TDy-~VbtnQcfL1q=V zh>$5uy4)5`%=*ya|I;qqa#h5}mBHUjQ+Ljio7JZum7M3ExPUX!>|&G5tFpxBHYcy; zIGHl47xydO%5h}!&U>o7{zZZk$5#D|@uIh~Bab#c_>~j(HCv`paBo_ughx^fy9e9D zUPmjzTmuHZLq<ERM1>P(*h{g7Sohh_VslDbk}thupM`Q-@y2|G9rjl2%p2HyteJau zvv26!k@$eQ#DSq?0av`j@=4Z$#T!_sS2I{Su=g%tw%)K)Sdn!>_WGg++wQMm7I?a= zNZ`LgWjFhugqGVC`avJ8FJ|oe;WXpjjRhvro2OTWaQ<S5`{lVXe6{0l;T+2~XMZ>U z$S|CF#LzjzcHOl_+2MOljJEuFy6`4*w$Un)17*_!SKF?5)%r|BNZ^{yA?7N5!MS^O z&s=n4@$FgL`=&G1>^5L#DE+zHpy=m5$1X*$P5cwB73?!uwnz6E3$S}WU}LpmE?pqb zp|WwasO~~<1{Q|hv#Rx(4SH-AFtf_AMJq7&1~4e_EU`8?7^ArM`zH2R2bkp!?c^z7 zn7*4yQAaRWVanN=2ZRdQ{(ooQX|Y_TXpO9tsGL>*MYrIUJ61<6YP{0z73J!EezEYh zDS5Fo`Y&WJJoWp3*>sbZo85c&sflQDckf+R=KXrjhL$xiGS=8LRA?oK`i1U|Ix6^w zOF`+P0P92k)M$RU0REe8f-^*pGdZv^7aVTToT%Tpo!fb~Ny7=97=vF8p3*vkvJT8y z53Jus9bnQC+9bVS=8ewR3;SoEX2{&Yer%$^<R1N!g!K;}hR=Glt98PuL<e?GhQL+b z4zu>K3qIvv^INf0;Z$Nm&jw5O>IAmAGJ-(~a_h1=+zOWLIn59l9QAEGn~1<>DS^!* z1%fU&Dwdz{JjS(Uy_T0A<M9QVh7oTP6g|9@3R{x5Z{b<B$>CAFi_VrQA*BiGi!aR1 z@wy$qby<#+gfXX@XBPYMAi@74we5ZCKSU>Q*ZW`K)ZmhJ>c`?^8B;Ab?&f~Hy=u*g z@0Zr@KiusQ#l&XF*#3JlPeM{t<<i|1LWVW^=U*%m&t&sFz-nAjvP?(1v1%euCEM|y z!x;~BN++B;k|S5zz+U<JRB3}lHNz5~2fLi+GB5?~zvRIlw3a!I;c$mF!|OxLHatr* z6|R<iV4v=NMN20!#?ahaR*<)Wk#oZ}&IWeQ1=sS<UMszDE$6RpneUb8O$oi>3a_sU z{7+|_n=bfZrTnc*(H}=Ebh|6lQ~SfFD+jJl)VD6XnYq1R_SmE?iNZJg=RGmHaoI~& z%WG3uMep*kiUPZguU@7P`Sm}Z_-M_rE9F0nl&xT9f#{*bw?rImYjaLC-DXP_SY`U~ z%sigztZBUFYlMOnPFD)B7BcYJ_paMjv(w#|Z5Gen2S=F?{5@0Rz+Je3{lZ-Sy*jry z2e6esn3aE;;pW*LTMF3HC$l^5Vy#y^9W8LZaP75h-}|Mq*T2SI*Yeq<roGWE*`z>q zqs77P#R_wTCbEPca^EZB@V#)h=p(l5f{-lM1&)tqY^_?tYG)`UX%Odd`|aZ`yyvcO zN#<X8)yA~3%=@8DhIv^?ci+p?wgooIek&M70?r<Jo!bx<$Ge)}MTad#fR!iV0rz5| zqTSs$r&$|z3+l2+^h{+vb6F%+A)>jBjWtO?M)2v)8~@q-&IzR+c;aIx{`Bgc9M<0a z39L?h+Z_!U@;+324vTmq+NL{2=!FzZ<N;RaUYVsla_Xzpea<mFlihW?W>Ne+);c}b z>D4>ey`IGQgzXgb>_anIi&z4KY`Jgh1_j9;WZK|R|Li%B0k=sno7D#X8n+ib0xZ@6 zr!qG%yNlPYo}-v{KrOxR8M6a>Tfp_~-upj$U+2d%d^>yXfzv^eKld{j9~?Z#e5Kj! z-iZT(6Io3UZnvJmq8%js>8sEI3AX=A3>nIE1rM@L$b1{NXKR=0a#3Le(c&d_*(^8p zp43SjG-?W!XYz9d&pdQuyRX*!#0ByJ(~l%PU+^i|_WGSESpp5Ge*LfD>=f)NIWF_E zc*gemZ#N4(_}NhF5uD->9<L~7sN68uT|neQdx@(x>p}kM50Zra1=ceby*s4m+mUrW zGB0a_!2hu0%KQRqAqA}Lyr~;_Z}Re&6ntKjv;I`gi-oVRI_1mFm)^x1urtW_@ToVu zzD1qRj%9Fazc)2|XJ5k3>J4|D-d`<zuw(VQS4Wn<IwJ6G*CyuJ2VX5+Vl2PxSi0v< z$GI=1w%1u3*jW=^Z?*YediFJE!uK-&@7ZVXA9#1a;s1BzFt&Ruo|YyEXC(CI3b2YN z2xlrR=P6(}Ra9!1pCib~DR`0f?!OtwyVzRqA2d)@dMY<lFiEMn;-|VSThU5IRmT7F zAN7=&nR`!vVBMha!?nZv*yPHj#@y>Y&2!tEAD5kMSj$+DaB^;Y>oI2m69>k}W%7K# z=O5gxcV?FTx1C%6Fqnw!oTCumu}-kHETd9lV{qDrDIYel)!x*bvF7o+P`0<X^sJ9; z<1#c)Yf3ja=XvNZnNjd{i^0`XJRF>?RwaccEhX*kE$l6QCF~PAJJ}~rWSziXUBWWO zYQ7a~(_+@8Q+pS(ma@(=HntA5u4bv;I%n$+<LdR+*3A3%?%%s^Yv$e!*2b+Yg*)cX zX>Y!?diA1JGgvE@HZ9`3b#KxAyPTZjHqT$YeD(T;+sk*aKYV!g?&}LCH#gy5zkUn< z|NrT4g~EgO{|zE+y*4vGJa)HJ=J;(`!|@?;e+}c$r;iiYE4z39WSJqE`AnI={i{P= z&5okvQ=IWV96yXcd!G@BKT*SI;dsDtwnXYA!_TaIb7sV6^jvvx*=Od$tOq=`R#SLn zj7=U~&~R>iA->*pf7f5DO@2b=6>g^#s~?_bH5UJ{Be!~CZj*lLoePeeSMtqcDVp@c zBgoy4$+&b+tit!Da~`v33#fKI&OWd{e%m9P<|WBjyO^|XlAT05`_{TF*7lra(!r<g zX{F*))ut(`nSE_X?CNF7=M57#TM1gEc1|vcIoWY>mhJCph1ab@;=A;8LpAO$W%GP6 z$F_WB)~=(f7U}0?c7J~H|MKR~KOZz6Y%-R=aOA^Nc3;M~JqwQf7g)HzOZ;cEp#N_V zmjt)p1y}l-<jy{x(8O={LdZ*f=@TJ-XGT{MyB{Y~Tmq$Tq_9b<{7Y#IRKB@HDbnoh zlHe|ti>cwsCRNFg<12K&Nmz2Ke4Ei{^G@Q)1S^xpr`0@Tggw(2$UJ(i@uWxCOJm}X zG|9Bh9!Z`W^FycKowWX^nRn))wQXmotY5foZWe2f`q|tYg~7d(s*e=;=+0eJ>8W}{ z;QF0{<pIaNve+vkS1efRF*$bn-KCd2%436O#%dM!9e0j>`tifjrFogRt}T5rLtU$K z!M(-zs@No30vuOLRXkYDey(}mn&&5yU;S_TW)Sgu-Sa;SR=e|<MXVNdzpFmUfA*v6 znw2FhGtR~Lp1k@vzLRn0jd*dDZ%-ze6?HRickUC;n-Wl#oX0fLWV5Hn>J5>%80W@3 zzndE(<iKrEo)@IXIA7z{d)4(9h3@FG{Bew46u&R+l%miPG2XnpM=dqAzdd?%#(4RT zvWD5MtJI=ZSwsYkN}9EPy;vYy-lKL%@bR&X@?}TfJe@sf+VwTj#V1=cV@;DUykWJA ze`OrIB&}**rTWh!@eM|Q4@_Rg$0{<R>F3|i4^}?E=%syi)2&~x*B!Veb^S(t?d`?A zS3hOwZgq@1y>{CJwn{y=N2hGx?fg8=dtLe4S=UaQ)J`)h`hW0#YI$_|hj)q1`6o|I zdRmbBOZ(^a?Pr8!=B?P+Q&D!|WZT&%2JQRqmVKL+H>Y6PX||Ku*?jDr3tErKSkF>D z?$`djy=`6fi=Jb8)~9m&jvFtt+%@%akM;Jg*Tjnsm`*x(=~hVih2m7Jn#!+7)f=jR z95^-E#qa;}tqtqULLM|oZoIO(YSXW-*G(~tAFp0hKQXxe&JX94i+7av2b=F?u$g|Z z$hoViGCfY9IYQ-*iMo3yk8u5EUh@r?)tYqk*t-|AnuHuzKRcBvaZbb?4!v*Nr@cK_ zzH#>5cS2!Zx9{@BahD{%d{eqBxaN$n$(HG=4bz=wPJPoVd%2H2{D<QVR>O|}+YXBG zw@kO0Z^{;IA~aF*$)!Edd^fsT{GJ&-$790J3s1NuK6KU{k(d}!x!&RDNm2K6CyuR5 z><xSO_^R~-_2a6~`0F1pn0@!p_U%ku6B<}#7Ra-AN^{ChXgVPMX!^A!C(a&RowQ}a zLKe4gmP%#mlUO3=7{_It^kXY5o*whySeypuRo_n~#yXc@q<L6L@p&cNJ_$Y)^TR95 zBdc7_XW^@g42v|?d_(Kgk9u;Pj;@dRsF(JGnR(lRGa4^?+)h1mZ0CD4;cf1EMP|VR zEVrB&PRMw|_^W~6kz<qXUl9$~zZK{CPYARcHwg3Qax}^QS?Jp)!IJ&5Gg)@K+G^`p z{`D2g|5F%$cO1|V6>4Ok`@oFv#D&AUB}x3g37Tb@CvTigo1`Q?_kGQclW!7&Ca=5m zg3HxPlXJs`#WxihUYdCAl1M9QF4=LgIAFWJL=lrP@9zjt^XCTVcNX}|x+-e>aT<tv z9SC|Vc}ss`#Pr=OPIToj>=e`xXj?TaQR&i`tFo(ZwV4<!SQTi%B()>z>ZVztT*4O2 zk!Q26$=Dp=Nqu{WVU-rE@`T2<p}b8D`?A91mMmPAF~dRRkOBL)cLzCwR%kK*i@GYC z!#n?tb^Be8Rpte6^c$Mb<Twg?d7L}svylC5Mu2yi%iWn<+UMWSQ0}z2Y}32VccJ!_ z=RS!+Hx6wpF>00B^FPmgPPdrW)D>Iq@ct`ku3g$UX~*Z7T+^=0y|$nDmzcg?;G@-e zQSy0*oG$x{Gl6}tJl}VgTE>aIzckHPvT<W#f`b^BG~1RwQ=UkH1JbKzwQdR9%Ka_( zJ<9{BHU$aCwTTi3SWYd7m?09jo~3QQhmJ5Sk7xu#E{C)97R&1fOCB-_C%lm~in+?0 zZ+bwuB47H4RGTCN%O;Iy2miBaojCQ3cLLMbHBRY&0xrx7NLqCE<9iS9OTD|?j_>*$ zt5FwoTS5HiWZ|j0>Skg_-El@!7vDatV))X@Cv44*Ejtd%ZOPdwdCa7J$((n`)NZLg z=L_AotXuDlU-za^qwC8L?w%qfZv0<-&ee?c`&{pDym%yR$<>g~c+36D1$Lp8j2-g1 zHuA0)zR!25?^pae)gb(=z!Z_kpZghlH>R1^p73kGHo^3oENd>$6TfTQlCSKIeQU#Y zM1K0NUDB?)Uiy*Gx~Jt#o$w@O_S!k>k9{VcTz+K9qYqo2>S+5VNUoW|%j4#3oUdah zSE}iE`-|bkQ`gQktlC-}n|?{WudmZto82JPC2qmZH7kv@?k%74Y;u_I5=GC)0xk+k zXTu6t%wfy)-@E;|@82ElbA%O5nvS&3Un6!W{C(l^KmQV6wk<w<bcU}+k2$ycc_ou8 z3;(Xk5R814p&fqpZ0P50(YFfEx4yaNyj6E?_S(0a|7Yvn+_Y9<{lYu9XRY2+a=1@L zrCs+>l+L^7NA5nD5nA<jLjTUP9nEWtWBtAu1^X=ak<(&q*?#0<ZMI&Tf__DN*~)iS zdv)y=_SbCt-dgx<wi??`hWa0y`$G>N50`!9;i&g%!cJ$Ex7M50EH<wc<o_$3<yg7q zu<Ske#-dr5=lkt>D3X7u&-z}+@}r5|E4g#!k{?g$)BjbJoc!$Rv?k6g_h#g;?)KEV ze<yB3>CY*Z(YrMD|9;uvpZYS#p?co?#FicBckVSfxxBk5?&aoX>t^Wh`t21n<%iV~ zjmew=?eSgKGmN#qSM2-eQrK<%PByFK-syL8QyN+_e^1!%v*eV(-fEBk_PQTaKh4;B z_gjBg$Orzb4{k2}Rw6R*(U0{Ok22>J+S~p6zdJbg&_d3=u2HVroHnOsZJQe7CtiH& zs@ekg*sDibgd7@=FRwcKJa>_~r<g{StVN?jMx)E~su^DbPlZ+6nlnj?$SgIM-gGg0 z+q9~c?AZz$4dSVdi`iXto=O!RGroL0q-2@Ptx!I@#}Y5td}e&Ad3I60{5U^Hqrjaj z!gsFZ+g=owz0@M5X!_E`@5javTZ{B-m+L;Xn|u}*)83@S92zi}RsGNPw(jfo=4=f` zH)M@VER`m6Ui<2xu{}n8d(joP#w%u3hr(kohcbv*Gz)MvwRto%X~-ORZxr)rl=Jvs zCF;>>QPFvPd!zaB?07fsE#He-0%8s}rmlIODkIuB-@U3^qG{#w&g;u!>@`}vm&ST; zHTHVZTxnkJm#pw^K^ap6<EM>opOk%nItVa*;(zi*&gOvaV-?{T4f(s_{u>_&gbQmW zW|(|z_s?3cWa?O!E>YONJyM80%Zx2cVtVp5!}f#Xp0UreXC8=Nc93h4dD<1x;zi8S z?H;l1998um9W4@#|2;aJB|0p2l&DSZ7qaM>8o}Bb(J5@v{L`afen<62_ld?|*u%=K z!k(qD-<&Ah*}qb}aYaPqLiH-2l)O8k-CB{|>Yd%XOm@#NXS6-DeRE9sg@eMY!x?>S z+P=mA+mseDdOHd^a4M?=PEiahyOyF8zkoqWsLyX_fRIa{Agkem)V^0Ml6NdCu3Y4G z?^)jr^K3qkG@%_GMimo;zfR=n>=28XX2j9S896Q6v+7SoC&SNaQ+ISR+?>E?+26FI z<^+4G%F6y+%^CkZrd3)_YV*id-{}%RW76gdzM_E8k_$5)2eMaxV4wStd$J~bwE;s$ zfv<cKTjm6|^aZ{~g6tU&*isy3*<27#HJFuA5PDx&tHgjgR)F1lB7bTFTlxX!^b4$e zIfac6gk}l|=M}J}FbFUy%*t$FQ(DBfxN}ba1lCLjcIQsE@I~w{iENGmp)m$!Z;s_X zQJH6^=<)OU|IA<Qg<&rP!Z{oEmsZUd$dO{6u_sg`^qG`ma?n)s3FVg47&$wC{Fv}> zM!&+%`MEdyJ5J8;TG93A<TN&~NyZX0<aTzfIF_>BVp6-rg0`It(<EnfYSyUTobfum zd%{nVyPB*i4(w-_ySQDLTU-zt84!9hGV#RB@LNaXzfO%v3}9otIJZKSZPQJDyQ)y8 z3v+Wnu)g2QEPQ}j&nvTL>KtK##SW+9t4tZor^dN`SR#{_$P~b47ZsK{f$5GUOZ)^T z*-1=6&C6bh%)6$-P*XC`L~Lrn%?i=wg+15jEo)0#!ptmnBWAIBG2e?^Zjb(yn+vwO zE@+dQ)VXWLpUxG1w^mHB`aeT>Yk$kj1>7s9v34!&tXQ!1=mgeTGj6Ib692%g`?B>_ zLEf_jmb3!4!T|PFr&gW($(mlkCUSs(wIxGl0NY=M)fo<KM|SY1O<<e$kuBwb?Shs3 z9$Av-e)5M)v1~uJn8A^)Xe!&nO14cq;}6YREt|xa@qsN)K`7(EY?H#(%mS=s0Rm|U zSnCh4Y9Gq~x^0=4v+$EI4E~YJ^DLG>pHVo?B&(vTU(>w*7`si*vXY6{yAG*OoBeBI z*Ng=nSu5IRE##fGpy9^C=~fd~aBMWP*eF@OV&3%y3%a_bS1;5m-^lU0^5)h_2^q$= zKU%d{Yu^6qUGy#8xX?FIL^%9J&rdVAw~GJSRz6zy^BcozAydYSax9MWf5a5mo^+E- zlK&*Al*TYcN<hhH=M)n|#xyU1v?>86gRLRj4DLU-noMN+s+F97qM|Kid5M&j410q@ z)HL_+4KsIa%;)Y<)ZQqYy;8+{quA+{)3R2&maWK<+>{cwaY5CF^55I%e_wfh8k_6} zw!6RB0xvL1ZrYk1z@%ERE~%le!huobgJ|l8G~v)y*2=4tx!R(S$i4a4^K)7G!{EAq z3n%|(DB${7euYKwU1EmVMZT*yv=eXCwUq7tpRmj!b8h@XM)!wX6or&lXe-4ROyN@4 z`u3s{d!yf!(s^^ml7H-~kV)^$ww`+Lcb1m>4tDOEzY+g;$Y<><*4)u<y@UDW_KxgL zFQqqi%-+}>z5jD`%AbsA1?%jV?x2Yu*fJ8>Qw<JeJ23X$W_|laSW|(GpMl+hfkpNM zYf{3jBo$#B1@=y9L+#Zq)16k$xg_!BAhSe*fO3xTg&z!G66II^&i}*KtNW(s=@YH~ zF#d<n<yJQdXc!js91}8;(aug;CcK7`>p`!x&(@>fBA*<^PW|o?Fr1wAN_aif@@v`a zc|*6AWli0EdGFom{oiLS+;a4&R(V51^-As&{U5V;XrylHs6O^k`&dlQChhX=9NGJ~ zupNKMy~{7HqeOt!A%IEX46A4YlTH95TMT2219M`vUF2$$R0fv75C7NNy!I7)xJ=1Z zPRmIoq5I^FGrd2jY1#jlOFdru*=vj9#j=OxWh{mQF1HU|Pg%zKkvZd*@Rb$(&p(t& zE#&LkHhKLb0j)z*d=h(h&B^%weaef>qhT}qw2v5dHl3Ng`Dn_t{R*Dh7jpJ}scuMl zbL@}w@lUgl-Lcu1mvi>u@qLmt3nXp!Ut&G$)XG^Ez$klxvFrfThcis?-mo_EoPV9e z-XT_@xNz&Ih3u*u*pf<GC$8a__!Bv6lhQ@+EzF6+K9X)4bB^3uerjROp_Jpk8)5`D z$q1y);$OY#)YX<&X2#R^rXLRa;i?;?z$`8x+_U?V#2LM}mu9FPeQ7y0`i#-4XIXYn z{#(ywaF$hxdeGBwzUJJer|nmLt~m1UdgQbJy3Dzo2am<@oVCxr@@&r8^@VJaAK9`K z*sCU7eS2qzhy(MNJLlScn6n+2*?gF-8U^DUPek2T6h3f(aqq?Q@G{N<_P<J8#v2tq zW}f<>=og`V(e1S2-RE-WEZpYbIi%FP>jUHA`n`v1x1VQc6x7;ug3D%$uFz?>1DlU$ zY~9@B$GtXRU-p)8!o1(=g#{XcHruKvY*730GHB_??5P6M6BegE;69dXbLCdfZAOkO zcMZ>$@$9<%X1#~*o$@!Hj%{q&0gTbP>}PV>vo9QvJbNc@1Dost*6f12CJxMH7tWo0 zdq;G_Rgnbtm<9hCXP#EnOz8P?ZCS;HBOVRx9t#*N8rZMYvU@13&uI7CXziC4F7RZ_ z_1}MOe=N9PWnMPdru=%!n$53!9=N!@Pt4%z(Q$dG$YLb?Qd!XPV$WMOx7BB^ze_yC zV&}K;%>9rRr!zgygmR|X9#fxlC1uOe6r&^Ro3=#tiQj4Vek_~%`0uXUM|1C3-gCOH zd%)zvj)DbjSMM@b9bmc^%ND(HcI4m3WeEqO@1DzeaPG~SI}cPIgnMuCaA17DmMLoi zquhsk@82?JH855zV0ycj(PP5{pYB7c*Png6c9Ct8Z*a$ycUBL69c!H^yZd^JPV)C2 z?K>?-k{J)5YjIu7n|GFf?QP+<x&O5sSIhH%l&jr){aw{=F30C@6%YRxxcqR&-U&)k zDpwz=hZ^~+rP$WJS~2g{ignDX3G8WeubL#BkQKPs`}(eD-!*5syRrwE1n%s3vxhBi z!`&-?*+d!G1q=_aJaeE}c5Bi<Ru{WjeSg^8<XAH<?DTlRSbO%6dQ6$j+EeO0y}rfe z8~)^1=9PV#_58WqUdegBwRiK%r=R-p?!{&qp*zZ#xEAvNa`S!rEzc|2ZBDNc%fgpo zhj#_dIAwIu?P~O`C2hBMAJ)(>4(e@5S!MT8Wd5tuI#HXW4xIb@IPxsxt=PMw0gNUa zuJ&cKhdDCFC>*%>_SM6;cSIJ5iYBmoE@ZI2E%*HH|0AqM!fY{2JAScG3uJm2bvHAB zDf0uHt2}G!g*|48Tb}IO^{Q|4t2hBcM!$_U3a`FA`}3#g!in0g(J#yR_L$yz&gS^? z><tsA-Onx0=X+#6)Yv;&=wm(;zxE8)LX*Ag%T`&(e)=G~|9g#nyV1Qsqjk*J?>-TE zz$)UvHb+}DelJ_qg>zLK?%2n%$uh8P@ME0pe?ou$-Le2i1_x%D1B?^T9(WK^E+F`1 z4<AeZgY!?lzGMopRx#|nl=sE0o{dLWELnYh?yOVacwcbUmM>c=pRw!Et{3@h{ydkQ zw@WzIFSp(I_r~&M`}J?i?yXr<{=;l{OYH}Srb~B?6$<?`A~}wV3jPns?zpw2?P!?K zzuNi#Uj45S@Aqz9Y+cOsKTY6Xs_eaZ+1F?8?r_t4`;(tTRy4azRK&!jwY{KKv{zI# zP1B7@Q`k*2$*rKROg2Wez(jO`sH{wxgKAl4zC%@N`Ua_ZCjNMS`)%=QX<N7RZ?iwh ze`MD-rsF3L#P8p^?da)4{BBp>reC`{{m=<}O?$V453U~BIV0)zt|KSnxtOjWeE;(L zq3buNADnSg_{Wi3({HR}ed0bL!8ndpNX2Ktgv7=c0eQC&jliVC?IP+)Yffxje7s-5 z+3n4Yz$GUqYuK;zn7N71eY&#tp_-G1kI(d(Yo5EZQHgUpU(1^{k(V7;$ns_hTx|Hi zm@$xb>EZy!jF1ku4a=?s9S}@uXXbV4Q|L5hT*Ac8$YnC2F_?30n^%(D5!)MUrZ+?} zsjY}^dwu*~;<iJg)@|A1CWnu!`DV?Yo)FjgOKka%ZSSI03nr^Yc!l|%i7RKaNEV9N zQ1UW|X(gk}H{ClsE^JVboL#W}W^9|de%>0(AoKT=RCSxqNYs2UcznWFO#PgY>W9fk zO^@jme17OP*`WFU9L~wReO^5{xO+|U!UYV=n63mQuzvMnmr4~_D8%i_&uyFk;c@-v zue^%3vO9v91XzSP9!M?9SkNHLxPhUiSz*eBMz(1pUmEoHe7MBjR^IBy8MiaQnKS)0 zi*cvnri=f@0=PD`swtVV#9ofdc(6r6N{@Z5a<8h}6$>BTnHweijebu^ld_*OLD?<A z<I*<?hv_H2EfL&y(Y4!or{fe=*IlVQC*~h&)J*d^Xt+JPL`AXvS&4k%%xAOZDqk*} zR<KDju=HVN%kp{rrPrT3TeUo&%a{FvQ9;~gqm!fL>zj=2VVw$2ZcF?uUvz1+CH?YZ zXJGp1#?HFz;mTSTs}oGzO#ufQo4A%toyHcocG5z9sTqvzQv3Ey7SBoAa6-~ZZ_^GH zi;qVppR|7T=2NTPC6>hueFsg1bvJAm5##UMy5ezvceQCZXWD_PjF}UzY%305pK()+ z-&QxOIJtf6)o-kGqrd%McCk2J>bYvZ=-boJW}Q5HQooqxyY+|JscPzX4jFU4nUsI@ z=gd15$12rVR9s<Q<-9;owXsmrzw)S8(?u-?cA4!32c|J~1Y{g<n11YyW~0IBa&2DU zwT&9AB6rH?E6>~Tp-oYQC#g$w{S<=+S@xNMuf?~13p&jbT<vzU?d%07@hd^kPe?_* z7I-ab^iG8NQOCoAX-<h7SU2;=%~|Mt(mZ+kjIvJEWd)}<pTBg}=YH*b-qLIF2MjBw zvTxn-b<+ygmRW)}4*QsdSp*z@KAo1{_w(7T@^e3*&ui!V^<r+eU*(HM%l&>mUA{eT z=j)}#^M1bBvb(P8>E^?IJ73K+e)#+S0rvm;e?A-$&;RrBg!=kF@3mtd`~jVc@b}A= z@ch4DZ=|pP`|VEo`@fGLL<{c}O#0#X`}L~Z4|f0Z*>L{%t7V`2e*Jv$zOVZ4kLP{= z-+lP}zwXWd-?8t1rCT!U^_M;~e!wVx;sBeHKi|FX1&~7#0;+9R#QiuVZYh`Xh-q^2 z{9o_N_kVksSF2|7kkfsK)9=W>*0<dcIr5JmlAOlZ_T{wv|A-sbUtXRs+o>GO@Ob-9 zC9w&mi<s{T3QO2r)-34sDOn)0Tw~8k*7cR*XBLTVKXFty&7ey9N}I%L#fFa`A27^1 ztSH=apvA)AAd}&qIlMa0-M9rB+SO|o{*SUaeto5XZQ=ilhyT84c-;MYvBqA7K_-{O zTApcR*$U=ZhVb?yUQ&XMtTvAr?2jK&t(w%ez+|3i`}79AS)Zn?@Ok>>$cH@!c?C6B zBMvHZzTEG2OJG7*$ztjE8Fq3}2YPcu9zM(3v0L(-;f$%fm+~afu$J3)Zo-scW&O_< zCseG8I;N;RQZ+p3sV<g3Ij|*3<M_+nL2mp_;ttELLQkG6+ZEj0cRRu6zM!|uJb@XN zF3)T)S6JWqyRmok;ip_LZ}`V~Z7!|%dG>Zj<bFH1%@a>Axv#8RbvDgTsN<$j0{`Ka zfq6~Em9u)3%uianmhAhyM8j26d#Smb#Li2xS0^~zm;bafe^fY2^UdP__RTW`B)(l_ zGuyDzzTC^naauq>pKPMPq}3sZRUc}2YBhvvwT^d+mGlev&NbVZdD2Je!)m3_MXLL? z{3aO*be}VR`R&TAOWSsZR_o{9kx&$$Wqj`9bepM<WjSY_S#(dIudcvZritr@#hL^B zg%%CcO;*f$M;Mu66&5;we-*yu)6^ErTCKp^3VRv3t*sWW^LZI1JadFDu9gf<i0Ib1 zc5T+xH5s<gKl|)DxBb?)Z8tU_e;gxq{lW>x-iDZEe!s0kPCqi@Gk)PDmX^T$G%b<g z)LciI39s+yM3{41&v=*iKQiXbtB{p{-#qu<eLBGY+4~6<J&XNLXP@Xw3aMYVHbv;< z|EvT4U0c_r*5-an(ze|ec7Fd3-U6?q90E+oMNOGJ)TLTCT)ud%U{<ZmyVAAVt*^sw z>|#FgfkETX9d7>}+-KfumoJyR@JVe-+taBz>D*nBpX<!pKjh~3e71aiacSA4=`D+D z+tvN9yt-bVu{4*3QRjiu>PvF0b|3OKPkg}4V>ZD-^sSWj?}!7h4(>W}wV+*h4lBQR zB18PT57WID+~IY;zM;tDGuN@`n-7DwZJOGwoPIYZ#4=p0tZd)>IpVh-+0MV-(aBTt z|K9DheRdZw#C=_6UVkS3=DBYd|NE|<xc7UjXL|lR=D?y!n+5lZ798Z&j&Pjy^Z~2o zngiT6hNUt_cT)fJ^DA%_K46l)FoA99(*>u`>oSU;P{=ZU-N08^;4G_P@#?<V^}e~S z#dD|nrl;JuJa;eG(A0bRiEgK$_Ult*8FSZI^<A4jY1Pw@S?8-9m9p1wd)5}WOZTnc ziJYjDn>VuC8b@%yscpRRa?0Ti?Xv7q-r-lYFEFyapPOdhvx_f9plnq*!z*KnJvWZk zeeU|}^*rtIxtp%CADx9?CABtfn_t<dwRNLa@{dav``({^kr~?^KTThtJ1e%_YG?bq z*H_EdE?Z-=J91WL#r?-q7w&XeT6*qU;PdDgKaXu+wUgmv;O>Q2SjFEkESsHXZ!(R? zE#5fw<({N<!VL%ApYC|==M!V`_`l(Kwe>Ifmv-*6wJx3zxwde-@Y%N$Z|!~RD-u`N zDE?%o_pSF6{9c~@zwh&8DT{j_pFC(xEN-0YCG|*LfMFwh-<O%(H?O2zU|hAauhN_& z=05xM!_V~_+yu+FzgZ#wuH3TvSNHC?o9pLq3ykDRzxAAtEv(hi^e*@JAE(4Gww3+7 zyO%fRkhRn$ujTX3FzTnwmY-i`)gSjo-{S8!Ik}JQZK@YE3mf$}3EejqKWw#Fzx~zu zvQK|icU;<>S7o;S-r3dpo0XFJtKTo1@s;c8JKuEs|BG+&&r<#Fvv+&${_ut`UvuY* z<W*eHFl4W2aZhngw>>@GR=C5qd3telOUka&+QcdUD<&w1+XT3AidCF{T=D8z`C0Xn z3F$Q&9CcCQG4HllJ$_pE^Lw38d!a~py;Viww&Tr>-<)?HPoF2;a-*$C_N%9KY0JUq zQDyAK>NgtHe^ls1H2xE9><epbO?UkNAy4i_@vY-2YCkd_T#pyp;TMom<0bAJon9qm z-n^2%`Q*2@Ro~OjwKYq!=U&~GqY_qqCB>aXwMEf9H*#t2`pcoE>DH_(eC4jX_;u8% ztf<lHD83xrI`NwA)UrmACB@IeZD+l(nXO@Kb-gw5ORKH8U8i`{zNu+v%scykl$)35 zPw4QAVMwYj4d1$>EkCV0ucLd{iMBkCX6L7+)*RIt?8z68{ZHRjUOjhm&n34EY14SS zX$==ocur?#_PbGIp5DrLqU(-EV~R)dgB@MxKX=Zvu)XZwcPqKh{<&Aug4(4Tc3x@> z+64@giy3?h7}zJ|<$QJBe6-+}M%%RM42zdJ?LCq9vAo;RBWC}Jwzcl{+af}CJufX= zkyJ6G{jYfXLsn1jP;a*z6D`?l6k9FNCbv!OXkz%;t0vj1^|JSVN9(=d;;1W~Q_C|y zJ}WN%Y9Xs)*C#9>KB2&`tp7_z|K4vkcdu8RQ?7d;UOd@6YiUZ`{?G|ZY*Tq8d$MnI zzZGw1<7}T@YJX-&b8KaM-B-8psqI%g>|8u7(^rOG^=R<)DCdmuy!PUMS0nr6K8aRg zk4ecpdbLkZdOfXaf<^HY^U0B0I_<YlHjA8m^FrS`6^1ke2A%^9kq1~`n)H7?5x**9 z%JU^%nP#;|)g~~`EHM%d38)O;r7<=7`vmrt6DBQf+qoh#?R&_fiitwv)#=wgYPVVL z2)B&yoL#K$(sE*&%+ZGM8Ix3JPWnHi_il6N+8dKja&`q**uLPfz1%+Ib;S&el{1Q3 zr8uwiFr;Pu^ypu7E#5c1<av0`!<lK%rleT~OlUTp#bG(C_(XT;&9;!A6Lxh@{k*dJ zgxGB1pHo$~c!;E0p7f~x&+fTX(=&t9esYNY6y-T5DktguoL;24a9a9wv8XvyIp*Hh z_+R{gMxXeCXiv4SPfIE~f3`lD?C8C+W*OU*-er?knK9HYNGp0!xy)?J&ocKVor?pf zEiQhNa`S2C()3v?Dyy7lb%)Pv-kmZ3`_3xilkHV6>RAr-{Im4Vh>Y4@yx>RkQlAOa zZk2f||7_vw=#^a6E6`C~@^j83kH(CM=|?j2_^tXbH)raKhAVm5sr_n{HfefQHc$0N z=7qz|@h&BErl%cdn=rkc@pWYPTTh1Oqbtk|m?hiTVh*q_e8yIy5OK03ys>5RoTw$M zPEK%MwIuAOyWq{(Z=UJFUQQ=>%#Z$+qkP=sl!m8^M=oPUl(E=!&y~}YR?Rt=?pOSC z(z)x)gm+CpZ25o93zw4Ys7VZA2_Hk2w^uG-7Qve-TKp`e-?6jb=Ro|tXKZZG+0qrV z?{uYIj>_?z?)O?Ub&eFf^##_L1?+_j*qIHOGZoffK3Xv0S4{6y*1c-pcTNc(Xq}L{ zz1yv8-PfOOUn+BU98QRvzUoq2PPa-+V3cp+^w2Xi76evV#bizU)x7%U7go-I%$Gk` zpIkm&BXXhI%;|R}`!aSdTzg~sx$xS$naku)tts|eUbvJ~S<3P=i{&yk_QZ-Q&!_bJ z9WU7E#(vms9{-F*0$Z4@H!xpfU3p<DTjquQ-C|is-Q<=$V~g3a&gc2sJcaf1#IqR6 zr@D5nGnui3z1!Nrz<sGyz1OM#JqhMLU)7g>*R0OcULb0^S~PpwhvucbzAx3uUZ}i! z+0v5EW1S1vNX%`&wMljMriPW9c1d+ES=ea)a*clJ@<lH!8h$Nb!?NP7hOPF4nM<}Y z&77Wg|5nGAty3b!+0TozPVCB>)y}pkZRLVx>x&XfGaK0MN@dSaTNyCD#Ol^chSw{D zW=@THzD;e*w!mMpTijPUr@HT&-g7Z}d(6x5_?J17KidUQPi57z?!2<#sYSuQU*&Sz zCGxY^TngTixNCZ<)Q)%B)5T|OnsQ><)E7IZUsIX#x^WtJ{;b(^OOE!xRGGk|$j&K{ zbyI4W>8!Mv2DZWll}}zxd3>{Eby=e5wB6|fS(}diXO&iC-FceTYQffxV%a<~Tk;s@ zEhuBKw%YUV<YH}`J=-<rb4G6WirR2kbbDQD`>E``SEM(Fo{D7kTCLtvZT4Y%d-XD> zwl$xl>z@DK;qzx-;EH|6Baa;MnxuVlb$fK*5l;VrMUC&bHBO(+d*Rj5bt<-!Pb$`Y z*=%dM;#bC|Rl8@dZcB`GNXz`Nwr}a~(g$k;mT%2_z#e13e12<U<OSCG;fw!AP0)>* z^`3LXq3G_#ue!^BOt4(D=g^J~G2f?NT0Prp>vm=@`;ys~lG)4=DLYn2>`>I+*YJJg z^VRz%dK?YvDEai;#y9e4!mh658=c7=`HSxCQ|aEP&ao&aW^U*8qt_b#&rN*eHS4zx zL-+xvJGE*Yj@z=?p3d4)8d=bJbXPqOOL_oX+=c^t!r1PdS{o<8el9dI_CdkkW%=?l zIqtJhe9+v}QF9{Y^`RXW^Vu_}y6q}m7a6(KYWBI^d#BfIFTZW&VsYVY^O~otiv!-+ zc*oS$i=P%Z*vB7Rx%KPD<5Cyb=<HMIJ|a-H>B;QrK^~Qpj?FaEJax?cQUTXw=^L#v zFHZmNUaq2b>=CmQPvU_ooGJ5WhQ$T2JymDlm#}HRMC1OaDMDqj7erZk=CDa#W0jth zn7QC=-h{*e_nf>1R|0*j98yob>$&>=&dLuld-QdhKiVArICEQH&dDiTx3NU-U9o*{ zXxIOZECTcD#5YO3?V9UxN<;f%TXmy?_8R`PGo`t@W$&JPD}7XDZj*{`U$c9(_T4pc zKAUxW=U!#-PP=lWv(wK+_lnM}{O@e+DFW<q4W*6ZSxwnDS^h*{-pVZTEmdS1v!^XX zMg!Y{v~xyQl@aCVj$X41KYLYk&DA$=4#oZr?tOE6)y@f@&$OM=KKXgh;Ug?PRyHx0 zxOeQ_<@bDc4RiU5B(4chSLdBrbxM}|^t0J_*S<NW9=p(e&e5H}R=2+`UldbY$-7*h z>#|O-ie~OyIhCe_ockYgdCx1K+dumN|JyS`n=h-`&bgU!%j`qU8e0ZcgX43i7rgov z6J*UWUyQw^fT7OjKf~)^1xL(stQOq1*u}nk?cyaTZ|}T&&id5io;SDm{JlD7)rk|{ zckH*G&)vOb^UCIUubdN6Y}O4AZT3C3p1>xYb?WWid$qEcjNRF+_p!e!S$WQxU2++- zVs2}C6=U9m$FUpMSqrdE>Rb_SSNf7=rC)YXo$chDR5l;;HLAaD+E(so6I-;uXYz`N zjtOrreemdV6R51nt2<kel@h>i%X^7)+42)w(Z23ad#WDhIk2UCxS7|$#yo*7KcPT@ z#fg!<z}SoZSJjrlzC%4WkHTeB751@Tc4b$$d!#kzk>b6pdt)E1c=u>+-nM)*W^23H zdEr$*cUD>M36K3bb-|yzv)<Y;Is9kOHF%R4@aFJ6Hl7XnFI%>r=Bx6U&QRfSKzzZ= zr`c?!3tqldSy@uRn0A2Ss2%gvYd1H&KDBt-_10ep>buyE%CQ}{dt>eJ^r#%mlq|N& zfH#>B*yeex6XLB>TgrS)@8yEX=-0M=Q>rJkJPVq6EPA>&gN5|k4;_;$=Dn{A$n-dQ znQ7l;o>;ewi<ei%*?x{VyCW?&kRdDcSmkBEd4fHkjN1>*uXC?f*ki+3V6;DN{<%ZZ zzOxk8y;6I3POI+KV$Ksg($a1|Wm79z#U{Gp&ziQq^J=WZ-5v|G9F=32RAC6(@a~Ns zdr82X;sXo;@@$z2EQJQ_i5I>ewPUc^!2a>xSDpj^nNtJa@FcLM#J>?2U=2LaoTu<D z_rllQ05+Qq%!wD+a}~Y?##g?d@HKJ6*Z!X~(h`2WzV|Kc{()M7_fh@t%jMta2E55| zU<;E69b+`T|IKT@r=EZA{fpjtBYg59o97enHeQj;|04Era^<;#4VSefYB{$B8F9X8 z(YIBNIXht$dney5-{mj%A1x^gxV`Ax&Ex%bt2De#^<R|;eCEx`GSuI;f7$Kwsh{WW zVz-vt8hc^I?z^8>uDjY^^SMXob=tA4c(L`bZm|X`#MW*-|Ka!}5%KB1ou}T#^2W|* zlVstrVNOhBwrOX|vvw@bZQ-%WYhe~nX>sgqNzAolPO*ub&LsT5IWgVM&AKHfzArb; zZCawE&8oyg;h2_4Ch>htZY3?bkwHfz(}d%9uW(x@&eXR|JEnMcN?&DKd%U=f+r`-% z#CZ-o@??nL-B+|vyy))Rv!BljulV-e?Z=PLzkmJz!o;=Ycz%Mh+=V-_0>uY=XXnM= za{aQ^FVU&(T~%z%kJEFd)!6w?L_TcqaW*d9b7JD-)*cxn?Rzf^ZcOT#ZlxBxFX#EX zx&E?d7Z!AGPHLSkS$IdLAmU0lpR8Z6(2eB7Y>lhJ*G4VPN<PrDKK4Sv%!94j*VaT_ z&T?J-O)F}9#KX9`8<P+8?Ji|cxw+chOKg40=|wB87q5_))#ekJkX^bl`dI&eW&Le} zpYKlZ<lL9?FZBrfLX-9*Q=FPVa4$AURa;Uil5?rWs`ik<k4MXTq$8G|JHb_S@I*$) zwsRje#M`<jTI>!Hb~1L1n4$Cjj-;ir&N)e|m=`-L|Gtps58u!+-7u)#J4pG+MTy9Z zZH_X^Yu8OIw}?Bg+<9^F=P8rd&p%l8|HtO@EG$e{{2jlEw45^kfAR2zX4$m`l69{` zmP~My+SwfFwl8PKjUc|cib;}I8&f8G?^|=gMW*n^GG_5@6BU(xH1<t)@GmMbY>-x7 zyJ3=y;!ei{K^<#DLXtvNXNrZloV~y*>%M74#H5(DSEq$}shyk_74cT^I1jVL=kOWK zFH~FO{>Qo;d^A1w#?d6H>c6g6`nBhzE{*9oou(dRI5Y8BYWxgGH<#Bn!bj3CNK9l^ zEL2Eokvzg$cx+)V#{(JF(vBiW@k=Md?kn#-S(qVF$#H>o@roA?cZyRM7%?lR`#8iZ zisxLLT|6seQmbH5iTbhfM+=;euh=wKu}#os%El}K;|k-sCP6;iv!spJJf3WI{nX|8 z4#EZ<Ikuelf)kn^PLod9!Di-h!N$g*CBQ#rL-Ir`+0uyh=Hfpx^i6EOZn?sk*lF>? zTdne8tE6_~>$Z-}Hvw!i9|A1aJLy}#6qQoiWN~dq?3n~-8O4_j;ZwtEuWks>eRrYt zRECVhamI)uPt}<JQK2WrLW65-4oo**axvVHdCSi0GgI9H)5MG|mN?JMRCrn}6|ims z!-UL>JU8c+2YpM|XDU%XaQz}@!HL}$J}7K+N>;Z1b}Maqt;fxz)pIZ0j!{1J?aqOo zUd6jb&!3yxCRZzeYfDpZnQ-Ht;&1PV`?cmxywkS&@3uWR|1tU4apmoPu$^&TcjfbE zzb3zHI=)F-pxGuOBfm{%)4D#%uWB{Qu9{s_F18oGVQ9%S+9vY2Ur<peL^5_sqms?L zi0nX@f+ykHeeeHxqz5__Z9UHCk@?(cqU*(pSH722?opX)7~Wbut@^^ke-W~;P19zU zan5}fr@ExkO{!|k%eH>2o+GW!|8E-di?7%|Nz+j+yCUjzcv!&p^#}X18y8)8^PzYx zmui39mnM!ngN&KnQ74*&UwT~E`m}ZZ-v`-KKi}G$5iZ#AB_-}ub7Gy*6053*=>=?x z0=up(-Fdz=FLvSYhcA8vS~Yes227tB(I!!3wrS-%2J=_py!rx@_zM}e3_dnV?^qz+ ze#Mcm?n07GOW87G1^+6sn*!TzY~0`SHzP}XrW9kZ3j6!Fje7A(g5MMlh^wbE^8UWe zDEr8y!6HGu+}dD1@0#|#s~U3ZpMAW?^Y74f!?y~2?!UWd^i4dORFYWl{^+7l#T8{` zMb5?*H9X&#G}+gkJm??);1+8_r|wywmVlWv|IbR(5kA^^V4W<-??86r$H({%DR+sS zOtsOu-n+8!8ROm?{A|L{%rjr5PrrE4hc$canVhwcr|UoAGze<wl3(H7{_>PegNeEo zV`ukV`zP$XDiYQ;I4}on@JZ4aXqw3G>(}~eR=EBBLI!zNH9liOZt>F>Ch6}|nQ_;E zv-2E>P4}16vR4Y6J9~;$<URHK<V=MmO9~p^oH=46b@&Oxx`+#lUNHD1-xMr+ajDhT z!o^zS?!mZgUzV9HQRK4z@RFhBl;?t-`6~)Nnw{?~V4k7i=5Bp}uivU`#wiKbG^5Rv z!Xln5ku6xbz=liYkQ~Rv2dXX%bycc|(q^7Mbu&Zhrc#>e|ML}R&&F_<?YWbx<L}|T z;pNxT>?Nz~cFa8cCq}#Z(vk(b^RM^qkUTi2U)IC+xU1fUpU3TI1_xMQe|fHG;pO(% zE=P6tvTchyGHL$42hX1vJla)z_O-LFZU$3@Li_D22YKUp<{6}JnfzjJ(2OmwPreEJ zaD1A~o5guDo}o*R?N?HLus~z(k{N6Z*eA6uSrT8!tkycMby=^VkLPXXgi}{o=dC@H z^x^cAfZI!^FW_v|sPpKO-XpYR@rpB6o`(FM{V6I7j`SFstvLN}$rq8uTQ=p^2eAtU zy9;(aDPF^|`Dxl2h4A?vH`<!l&M|-6b((LMfJE%>1DsD2%oyhs%>1}P)nI+*|A(gn zCDz?NqwRVo>|C*5n8VbwANeXRtj@%V70>(n(UGaig?09}Z1Jyd5AHqH+jR5vN!yh? z6LQQa-FhTe`LWC6$hXg@qP}_aou7Ms_qH4_gX^cJxLP)d^LXujE|uEj+{+|>M%c@0 z9RqJ_*Wv#^wr|khC!!fIC48|-jMXMfo!5yws(SH)_CIP<r?8m@N#A_Krt4Hy)wSW~ z*Ha=}kN6ZZ@Kns_+mRM^Y2Q14k1xV4p?7^a^@YneMC-&Rt~qmN!4dxy2MM{RO5f5s zGuSWqINlagn#lRNXqu$ox2~5}y6NkfB_{B4G<^wFI48&9@OV*K|9Q^y7j}J)ndT~P zzvt@;i~m0uuWn+Q?Zk0>Va?hjQR}LwPhPI`bfTTeI^D>Voias>x|Xdl`XP1ljgHsZ zatV<&e4U3UME!cEe{-pi@ro?zgEdnY-n+6`yMimc`I?Er*6Vsz4yWcAdY)wDY2|i~ zeD$AY$Mcmt_qeA|SU)e_sokhOgxz|=A+_@#M3ybFTp4~vPyB)6iW(*_Spk(Pt5Qo| zpZ>9uFSEBm@AE8%2zBXetMsf^>nCqJ&A~9sL%%TJO=DaBDv6s?Zq}QUV;rMbK9;^X zO~<j!;_Yd^6}N7h-F?}1Mpy2)MThmWc7_y|6(!0nJ&7-mt+y~TyLOHHl+4UDCZ|h$ z@&{WI^dpO%<!2e_Mu+^*VqP9$-ekE!?{`X--KsB7UxuVjXbb5pZp)l<qI%=h+Le0s znsSRCs;kfc_kO~&k9lPqnlEd=^5(PBSTEL{lKL-5f64iHEe-3ar_Y?4uXu)h)t(zy zvhkSJL4n4qi^aZdAD3^v=I*a;7g|xW;qR&S*V~_oOU!Bdwfw*l{)+3@gWCUbxvO70 zkP_ZpYI)YdukL#8?PbmuX_3|D0&fqMzdYhRQ#9{(nZ<<<b=RMBHwWqOf0VLuiK4Kv z(EM<RDe00njp0Iuu2I{<goV?%4AbW<w~0?MFu4&Tq$C`FG>z4*R#w$CFTm#3!dR=T zv5YLL*<m8K#v&OH3S|$+`2=Si75>kz{+#XA;`F=%iF^_FNo^9s;$ESxX||8pst>Sc ztFe~`sCYF>B!9^eY%6h9v)HVnVH{L)J>24YcvLKNY3f(jsvWiR9A@>O)OWUJ#kDss z6%|~ppr@I@&!oWiM8&&(x<SzK95s#X?xW1lQX0+*l-sIUUApFcBTeCpi{7g(mb0Dn zoZGq>1S>3AqIh;FB(*DYH*&mOmh$eA&8Cb%g^4K=qDEEUln;K%ySyY-PbJ{9kx;3i z{(<7a_y@{@6J1R{@%`RxtkoE!y^z_*K&9%LaZRD&O~+QBt8PUi#YuwfZpI9O3HDWH z#mO7ly*(s~m&v+siZ>Q)yOONzS_nG-GAmO-=<m~@gl$Z1ETT3`*>5dPcRQ&3;bXgU zNp@s=w)Bj=?(hoF>5glrH7;G25NY1=w!Bu0r6c}3Lw5%M#mBO05vBjdZJWP(AGzYa zH!%702WHI!oweUPuYT)XouP0bz@Pb}>4{IK`-5EWFY2-_n`}07^1>a?D=s(s+|(=C zoVU3`aiX~I)aNQOCH?zYqq_w3jUM$J+13;r=Dc@-8`olK+hXBgLIFCArA9?;r3d(w z4~8U!rLH*6@_RCa`Oy&Li4$%mdOVPrZXD2OJiS1U-9A@{HFg5)*U4-_8L}k@T9X(Z ztc^qLu9`HswB8ado-7tr;;GJeQQ2>!kQXz5>*W6vl|xcCmY6A~MafKbspfFxDhtb1 z_D&U^?O86_t<I+Uq{Cie@~;U@NesS5nmMl=d`^7!?oKT|{v<28ooiNvpK)bF@%1j= zPYe$(DQw)KaQ<7v|G@IQl?{#0r}*A%e7i{S?S_i4mpUXuMOYTFvoqJd{l=%TQK>4S zh_}_|%;Nmh6^>#{m5nFZJ4|LvXYddfjY)2`5et=5ZH%$I6y)<E)9dQ=DmV6zQ$>s? zio{=>@y%GI<E63l(tvA<4jqCmho?^{lAP|g&@R-K-C06C)4*ZH^P0d-F(qF_LfI?@ zQleTUym>Ucw?CN`7w*Kl(BHArV$+e@0*8(jX&t>Bd`SlX8NZuP5?1gQn<m-a${sR3 zX{MstW06RMOaXg_rSp`_*J=2FDR5et;Wu+~V+^~+oZ!j#n)prHCc6b#t&&*o^kmAT zoy!F#>Dx7h%Q!_#ez*VlNc~3B0<)4>)vMxPCB;%dsP7kTmUy!GXA#4tQl9*P1stoa zSk<RSg|PXm+A3}hStwG%XtMC(iPpRa)f(!pH$K{5zc@o8S?=MAqSrgvzZsYOOj@=7 zxT{ZTbhVqq%Ij&J7Xxn{4T(P#k}4tGn_<>>eCcvd4VUMpE7|G_9+WgbGEHU`^a+`L zW7gV62@TI(^=?s4y)PyQSA|KGbuOO1wDXhvvnR9d%cjgpowDFZ#7yV^le1P?E(x1+ z{L}jTN>e`1(qoxnk>}OG;5g;YBmaepZ139zw`^_fayOj%k#&9;d)il4J;rdYMJxE! z7o<BVNk@C1UMz5J(F)@U%vYX@+icoslc;F2L_j;iAdkT#eL<k{ZEJg`KE<R~uaEXI zKW5xAWxoDUVEWArzoyl#$CS96gZpO|n%}nn8ys!-kUgy=-EVc}|Ie;-ErkpwO0Y0Q zYn6tqE>Zb7sqv(+P2}>hxaSGCyZqg**S-F3`dO4E_kvu^f>QpO3BRZ3z0hJvH(*dW z#_-lL>(DpWYn*)fS0lKjmpyTroV+Xd4%^&UDGeF3rj)SrDX{SsEGbWU)$rdjxzqT6 z-iiwr`CI~<XUu*(N#Mw`)ghWIelx076|f~6Dz%-`uM`pDE@yBIWozVCHh;~YQPBJ+ zQ_vyWRij8!(=e#P%JA+IZ>cYQdb5+>IIvA(@yNes_`8@*Yq8OrtwtT+*sGthI(ih> zs(HjIC^i1HUvflf>qPy!g4B<*h4eQXq^_91D5_SzG)?~?>&M&5LWeBMZ>;BQae44- z0?Xvmg5PUnl^IeOa5`@2pY=hYxxL8AkuBa?`qsjO{EU37H*!{5Gw!pNV=<~IZ(vIm z@Z~gEpy|V=vT1U^(V>EZ^|MNsUDAyF<IrHO$-tJetTH``X`+QwPS^Vs0j||%F;Yit zOf0HS{TGmO5fKp#5_r5^QIP#^C|ha)yW(o0j{@1^2}dIfJSA_%F|P{TpURf{K-h4# zK->en`6)gH6ZRafW<2Y>^<=QpPtA6#3wxs4*c=wCd36|ii?(nJ&u|uukNeQew8hn7 z_CE7$=>=OhAC9i{t!C3s5VlI#njX+wQc_i7>CRbv(!4s=SX(jXbKUc<Q>sg9lfJH9 zx97kLw#4a%TA2-8&#aoSU0};tz`jnvJIH`1&_HX~MD4_Y)9V=c76+*v{$RS(=S;>| zj&udNc@dKncJY7mI@|Pp>4a4NT{q=_BqViOa6Kv0>HNH&O?ua>LlzB-&0TzsJgRJ5 zQ_bLhl{NPegYkp^tRDq}c??1fnvM!j%|7vrJGX|XWlCH+lX`4|oAAL|3O9s1Jv|}? zSoes=$Y1f|bZ$0X$jtL~lh`tWY}Pd?6RSR&rpram{9e3S`6F9$iaoQIh|@#%)CO7K zqao6)mxI45HNOcAIdO8~Dd9ksRVtyON)Oo`s#W|xvihD}>d3j)=GLjg=#<#ai@9W$ zEWX658p3u=*gGSD?}&lc+D#fO3>ni3I8POD#v3eMXTX^8LGpkjM}7iJ%?8e24l*eQ zjLRo!M;2UTmsn<ghkrtL(l>?4sv%Ptn2tQSpulk3;@+YS&ujSaCGA??Y;iAf*NPwK zd{h|f0*b08u&Ej>cv)(aS@3`D`DczZ#Q6(~)TXMisy=9`YBW5e?PPm!md-=FqXA4( zp?l^YXXP`F&zx}V;E}D@4s~ajFiu-mx!{(Nw`yzgG1u#X65Njkb}!HP;C$INFf%ZO zy^f)FdnkJq!{V3O#|}-2iS1sLxs6GrYO~BzeV-#1vD*c9X>Rx0WqN1%_J_ObHh$5V zb>V8u0rs>F*EW4*m6u^F{d;;-B3rpHXW9d<0tTLS7fcUd5W2*`z0-y(q4yZOF2lkP zGBvsa6Idf>N!<9kihsiHPF4=SSvMYbYpk~_yJ4@umUZh9-=_wiq;sWRIumLein%N} zelL3-le9vIt!P6=%my~4M{H#ZO73~=b$|Y|waw~wjtYC{z^1!u#;%XG89atfi-ayX zu*W{w#P*7HUp3p;pYHvyY$moV6`c^;clW61Mn~JmCWmaHOWRLIUorNby!v{@=EZvq zB$+)}x7A#jes}I2d$zFXm<Xk|)PgxLxzDk<uPN_0+qb+mIBCf@?UiioIVVesG&H2T z^IE^JOPRpNWAKWZf%`xJTcki%n!s5e1G$8=y(bnpr!Zti7I3Yc$C{{hZ9$n@L4d+a zy&b{=tc&OI#4ljyQDFT&heyRuVCIeMweEhiID9=aPv6#Yd7vXOy;#TY<udQcUG_7b zyLC4#c|2wL>ouPRrbuY8SxsWiS5SJFw{>6jlbA1T)=dBFCs-`Gp`^HZ9;?HIYz`^k zj{%uFh0}^29M5n_Q{Uk#vACbPVdJX97vde*;}-B)RHq(_z4(zq`1j_J^bHGxBAzVR za(NM_sLw;8&lW;{f~($7*k^S?;FjV?w?Ov7gb9CxGneXEzcp}lT_kVsD-<(DR_VvR zGsa(pg_gX(zOC7#u1V;4(TOj<aZat}H=gZ!`@8&c!d}^JKDk^g8v4I7M8`)yX!DDY z_iM~$Ip4{DUh~lhEdjO_oyMF?tvmT^zV5Ku6B!i$_IBK^>4)bU-{V>KyY6j{Ro_yD z`xA~-ZvI~Nd`+tGlS_L)q!&EdXPqwl;YURq+lI?)`?iPaJY=1`MLc7||Lk=u^Eus) z8$3G1^Ypyk<Ky*5Tt9m6erK0n+K?i0*wsp~Zu`L|qbq_fO6&y<64_}&_gBb%oW1Iq z;H4Ahe=cqRsNEp^`*FzCwL+SLng1pi{(W2-TBcmkqWq}Wr*o-(S@04E&hxd_Uo)0| zX>_V<&M0{~ZLLG5+1=}>roPh+{?DNF^DFD5*D?PY>>d8Av2kd+3A?qnwYS-~ceQHv z^tm;4Olq~C($U=3GQ*93W(!l3@U&U2vzg{GO%tBop5(?fBgtmQ7B?HFjjfyKw6EQ^ zW6RD1Og8IVcWmEq>|jxBB(rKpc3t|lvTNxvSFXimrq{(4i9gYfjm=0+NwYGJ3}TM_ zADN#LUsMzyFJ4rT_U)HA%M3;54QC{+^By@q-lQA7Jtyx>jKSk)2fDgh-hWh{q1G#| zpL&E-!CgqfvReGh$&Z_z=N*!Xys$=Lv(w|fGqvv=`MAjWT$fc!$psND_Z58e;=*1i zXdUO3)XzJ0#Pjj7vqxtc*Itu3J~f4@NJ{v`#uHB(j&^&_KJ_qhS?<0XrXx$vJl9Xq zYm6_tn5!N5K6=ON2M3Odich~2!&rE8YxIv$14B)v*Rv)#O;>X2ms=t9#aUF%&CNry zNyO@+hRY(&@2j>{T~Z8PW6-@wraM&4d6shJy(cFH68(-%xmYxZ`=)N(Hi50X-d0QM zyBzG2-EY7x{(q(k^P+;n8M$Z6TC(}(d6uU+%zFRo+R2#*8E#pBXMS^_@pH-Cy}KA# zYgQU>=s9SfxuB8F`BuU9xu&TP9=nS3ym)v_GPdUOQHIwO6x&@?=B5OB75{ZU#t=JY zLTrO$<kG{<F&8FY@lpHsMA+A6?SWufBQ4k9UW0QkkAuT*s<8W(-Y98|aPHfD-p=lB z@-!KjKILhl;u>YAV~;7MEsfR;w7evq_Tu?959N<b`Dav0x<w>+MM{d#IP*lwLt}Pk znzZt&jA^$syC<+kW%h14c9MT>#HQsLQzks}(4PLqj6-YT#zP&sEg!_9QfG>^d+1F6 zQFcc0q=pl>v0F#rjQPhDH~-HpKJ8(Cdewrui-BUXdlC~WZWK)Jm1oNhZ?`Kb5cIdP zoZ@hyG;&Fz;<TS{lG|jMDi*ej?_P9*xA9g^@dM|WAJbVRQ+Iqk%9Y9^@?@hVmjR!{ z3%@1&(|;By_S<BzOr644XP}ZCYO(P}8=qrbiExkm$%-k`e@|s6M}23}Y(FHWSeX*; zaj*CwSD`?{#0cMWCRx*Lmb5H&sQGEEHnZm?`}L&qm6_uFEoV0^ouz-AwOgyaRA?5% z4BH1M`R9GPHZyhK8OxVNYbP%9;F{sO>ZEGLuTAMH`>wRz)LL-m8)x1|n-3cE*XP!D zs2`M7*3wxfr|x5SLSU}Us#6Zvzv&(}eEffgWTD0sSCNboVL6NJH?;~<RSD(~t3P>s zyvLAH;pisA{qXqtUE&puJ8W5R6}p>N89#|_<jY;&x8rfo62<l(Q>G+t(s=l}b@v4c zJ=Rd$k0Db7j4#fc66%-h+9qvysU*24%62Jpl*!+Wh3|QbQ<wA$-e2r2V|Jv_Av`|T zpm=I@-B16x6tTlR$z^}P7CC4v-*dwuw=pwQdBqm}4&~XLR;L!uEom#!Y;cp(NN@I7 z)R7Sr-1m=d;ue=X>jSrG9%Xd=$mt+hAiO!!Pp2Y{D?a2@*4h)TN-nL_XTDrySvb2@ z@<D<v_qU|n85fQ&Z)u(rJwuVVwfLm;w#Rcnyz%8P{4a6dn=Qd2gGYhA%-dN+ZOH_^ zFHhuUjKbYBUd&f3Ti14Nk=XN72jq<xIC8y+IOyqCG~?n-75V2<?c!A@4kukyR1cka zy;Dwv-73f3^?di?LkpUOm;CXNv0v5I_2sMZ6V;dQv7YmMw@tEPI?~7~y1Prv_3Mm= zo(T$n7JA2B5f#|k@rIivlUuUE$kSl0j^0$C$%Zl0I<DV2BmCaGWs%OugQt%?GxLvb z$&~rH&-U!GCa+}Pi%}CDg5OM<&RLV1uMpbtDCF5RQ65qLGPeVom2L`u7j&nWIr7Ab zIP=U{!@i;^tV?*8uf>UkW8w-&oLfB@Ic{<EKijg9efojL1%juV{+lFN@G~x4s2uoX zs{E@YHvIxee&(oV*=<i<a#HxZWM8=5vv}TGvVbw4DXQ_siH%EZTbd(JKAK>A!Qlww z5oWoNlP4v=ZQcFwBscGSqdN?b9_((sc+Tnjq>26_%QqBWUBVYo*sM@mBq$r<lGJSD za8yT({l(5i!|x|mV!nNv?%8!pzI-OfFQc7(AJ%4yO)Z&u#!HzqcF#)TcfuhH*B#^Z zDtIQ8+<NO$Qs#lYU;ZLYdw7=!&Dg)>Xqxc0lV_QQ8#l{OIAmsF?HczXtK;j;H{4PU z&1^*v`=6*ZPkFSaU(#=>$)R<}HXh^bEBNx5wf%*nT)sqr)%K4!ul+RW_{KBAHvB(# zz?&KD3z)f9)Sqx*RG*i~%eFJunWd`j&aK3JzMamprvwzN3l4HWS*+pt>cE6cb5rDJ z*fh(1l2mMcpvxC?LQ$Meq+M^vx>EVrOuxmK?piEJWQ#c<?t8`2`f+5d`q9r9`{!+B z)?+YD5-(`x<w)4bT+qm1{NY-w+M*DHTgwj|z0m#Z-J+9?As#EUXU){{7VfeSe8hO# zQ}vwIVyRyTH?5ueVSbdlY0{Mon}qgGVKF?Jb<<}F+xpobR;!pecUoTLF<I}U#=oy% zYp_Rd+RuQ)NuQb6kCvVcIvJp*BjeMSQMX~!ZkBT^WOg6Y-*J#{#^Vfkn<_bz3K56> zQVaqXujc*V&6%<LcI;Z)#M#dpZY|{T<mjx=s*YCAQ(nOT>AdW{J<pBrC`!+_ZZ6w! za1GDT64tLy&3?Yqg(f@+b7(xh-2HyC#f%D(j+7ep4!f!yNA5m$4D{^!@Tx-DvCp+C z=0<b%tKCyXIZD|!^p(mm-APy(ma(e;4EOgW!Nj=Y4;zkdJQL|YdAZkurgSNh<^^WP zD>;L@1PXW))bu{?Uo7cs+S|37^JSFdqSR<%z9T*{FS)L(i+@Y+Fk09Weddkp-8bB` zD!F-|EpF5Q!=TsIadi2fC#+Ien!S%cbnKoy^Uy3t<`xk~cQc0VvDcH1x7&uS6gZoF z{^N?DkC+#wi?Kwt-8%Ju=l1dqy3P)_k4#c$R8f4d+r)NBF#AEa%)Y1&(+eB?pZck& zlzS9Eu<^R9!Js(*eanu_gTJ*i7%nc3?KreM!Bj!-$Hgn`GaLo2o8~e+UB{CcS0#4t zLc;a}&Q*^dmv(sitn}<mYdZSmRmag=IVqogvKMZcztpAq-R`IlMl3x~FB%;5E_I)o zt$WO{^W{A66)*XN=YBX6%h<hncIKf?!WSNNc|U$!V}Ib@uSy0<lZ3XTua=)&>Cm^2 zHHiQ3gn2xHL43sv4!=&^pc9h2`@p*mjXRkZ{+u_t&z*D6N4_H~Z$8RB_M^e8+v1Md z#RYr6_UD~vaMoP#@T{D^<(#=c(vMDcbog)V@18FDiB06GZ@1*G2{IoZv>lq-@Jf*@ zz}@9ZVE?B3iyboRuW>&A*RI}I{&;Pdz2)0o9D(HpU&5J~Zm_;cVM{q2I^$8!)DK*l ztfu~(xz-dW^$Rri9`I_oBsteH>FZ~PQ)NjBPrVyIacy!e$Z1V#nd)`zSox>o^3R85 zW)^8^rj?f*QWq4d6x~w3zNF%3u;ZO#>7yUZQZ7qMEnxilfHUS%WzEH^V5WSvWVWmc zo?i|o*DSAEIZ5jtGtZqMwiD?Jm4~YpTC4Y^`^z3+P1dLp-yZvO2|I5h@6`rv<*7xx zp2iv$3Pfqts%}pQb?v{W@4Fh!5-9gcK;d3v?IVN#hUo=**Qc|s6=lttmd3ECL*{Co zr@KoegNx^Mw&&Aj89XfX9twpVuY04;|8IIpMY6mvt9VUQ*~$>F>T(X=9}Z>aQcZ`X z{xh3urIl4*)hKo4h`Q|4uim`zBeT+vZq}0KMFow9-y~O?s~1eod-crW<dg8o=9~>b zynZPrYAUFAvvXIZ_wKx6=U~Ax%dy3Eg?v*Y%UpAT&tm!c6OCR)@H0PT6>$)df8xD& zLc-w*{hJd~ryrKBYp7w`l*%R8CVrhUt)g(9s`mAuYQBfEfnV6(f8ynxS;H2{R<|L& z-i<NcA>ihRw3GyPCMJGk@tU<)1?v~2H3k=cV^I)h>dX}QuT;gLplYCKd@?m;d52R; zovfh6^N9hUXUO?icrO1TCK1q5vB54Uv~1!5j;$6s|BV?_1=xZtrzRROaAlYXhk4Bw zoEqfGwyeQ8<|M;%!|-JeY(bi=zQG*v4Q!4DY-=X42ECltKV2&LhVNd3rtK3oFG`qJ zE_Ixqu0DT5(#DH+3MXWkLuRZ<$e(KHv*AFC)#Vwh1X5lvV5@sr`PNz9#DQ`CcD{ed zbmI&nb&i>7KKAKMOr5s4;LbtI+oBeG#T7EIrEN&{KPVo}loZQyXu{)%0tppzhd1%P z6cmb_(Yo`hZ2h(X<8n5Zk8IBx(~>P>WfxA06H}<4Q1Z;tMX+gt@yY)kGbFSvR!*MK z!Rv4{WcqhjSI>EB#`EMH=DBd@e+z3lYSz5PL}Ov1iIN$Ir@_<{CmDhyS(qAvA`{p? zCa^7TDE(Bx7C*tbw`hLi1@<fh6Jdr0u@9#4ca@}0@Xs`0OpBb#FpIUm!8q^&+waV& z%nDN(ip-f#aq&M$Rq8Yrs5D>vfhW>|E%~O#VYj@a9a0)$np+IHW-a7e{z>ZX=jpdS zA}qJ{_E+Y3I2(Tmv(H+Y&2QlJ^MkQ}SLG~5c993HQ+~3VJjmyDWAlF@ZxdF*exvGQ zq4+K~p%s<Ub2rPza#(OJjM{!YYUNX*jY{qB8CXK6v!pe!#~s&8G@sJ&iod?&zf$%M z!G)%BRSK~a+Lo{TIce3>H187sA0ighH7ugVSZ_2gulm4#djVhkbAG3l^L8DZ=ev}V z-yr4Zgn5giT7EV#c1&-|O83@0VZU#}!bAbRUy^J*3Jl6xQ+W&+gcq;}{hS|Yu%`Kf z<eCW!YZ4mjST!VPu?k;U9r=N^VC8BFtEr9xEWah!DoC+88Zg9PSk1$*Ac%9#-dn8k z3alztj2Q}3a~T%pDlE7(ZSjhU)9$)V->^VZ(j%urm2G-EV_A}V<J4xyX356VHQ&^F znP+p`C36H;RZ2Oq{mNq56_z-w(Jrl^^2^2i*9u0#tU|GiOe~VQ7f(+(+R}e9Re+5( zW|imv*%=?$goS3WTv~UIGeGBNovOfWhN~MJUM+vSLoa`#s&6ZMN`eCS^paUt3O5|u zHZcXvV^z}cu4U|;9Q&-~PE&-f_ml(MLaGAiJ^d*jU%l$5L*K5jDa&tFEZs7NFCuKg zM)i|kQ-duTngiCx9N=PFur^U)0TaV|rdyH{%hsq%NlS9A*{QWS?ZN8nQB#FKuqvFI zFT7yg_ETJYquBVZ*mq^Iedsc7f4#PO0$Z@;`o2r*J4+US-c@yMnz&0xIaiCc;OdAK z3yg(t`*4cn@}275$;erDTBB1zt076<M?$Ld;^L_vR?bai`}ZtgFgic!khnr%)q;sU zHWM0uu24;rN<X~v|FYW~+a6C$>#v%?a5Qa^Yukb6OC4{ol3gS({$XpwEk)m}OE-rK z{9_a{2`SuhRQK?qO{osd^MzL>pWYguUDf_{RqF0lk5@7*y|s$RI%WFu1RsgKb&Z@E ztOxg{tZtN+p5VQ6&4H<o4QxASv7MZ<qhR*-+1zV;qz@%o?&!|m*>`(2a{$|(SL<Z< ztb4m^b!x-*)C88DT|q&W3)9$>_1ZK(Gbi5*(-aAjy2TM@yNcl#<A!hFX7K$Hsb5gX z*fb|CAbf5@K6}NQyd<er)%jJdDG@%#O39qBBG{&Q?tAfhWsT#uGmggTj~uU0HY%AY zw|DAZU-9T%vo^NQ<JoF$+}rnNANarDdujG}vlGs<x3)js9J%{Mz2mmdo~?hQr?jqd zTpM-rRpdPWgl&snt!m$Tpl-GJ+=DG?zh*4H;Qigprz-Lkzlq<qhHWe%TiCd|<0nLa zdd1PTeaFh1r<f9WjkuPrF*r2wdHcaT(M{b7ZVqe@6&YM#A1Y5}({|^$DG;$!b@364 zBkNY!A53xVf7x8W(D=C~!@5_imiRDNNFRD8!<O5?_TgH0w<beu!MUn{NMo5pu^ZHx z9QwKrq;#`}ZsXeiv8wW~BcqL4nQ3y>^y`x8ha{S9bhOH&v)tNl7$~r1PT;+`R`JcD z`h)wNcdCAGW0a~jvRByRkbS~Bt?KPc)%Xp`&MW`#TfOUKT9%P(<P<K06xWxG`>f|l zEMWNeVS22!Z;;d;lj5W7zG1J_!sk5DaM{(XaHG6CefM!St&3^pzO~y6q*>Ul!Y#|z zcPp6Quvy|O+ug{SJDo9HORQV_+sXK1j%PPlaWQNt`^21HaIT1VJM#gb6$Xq)v(9B~ zs3^=mms!wlvvy~k*Uay2#(#aLe#}~y`;p;qLRI0NBP%`}E1Gjj^tbqeD1lo70VzLb zWpChn%CkLXfqd&)c~#y^U52YF7w$VCCeZfhMBuDToNf|J_nuhwSL|`*$rqU?m#;eT z%5vV!H%q*_Di=<azO#6Jr17j)_TJ*H%~?--r?NKHi>6viBtL5VpBu$&fA!DRgBlzg zf7{OyEI(VeVcExuDegY)k~37Mc?)n{JN<Eb(IwNWg~qNG7p7la{p=3g`$KHSdsi>C z;dsC1x~0YWg4?W{W>@UGpfg*X`@^;!&+o7;<TaX`Zp6fxzLW6)<8xd6yL~$h)HbY@ zh>S@8X+1N*^{V0-_LL3D_6Lk!H9wjXyD>y)%lB;$)tcE06d$U~+O;TN$~U}ie>=pL zGe<(fDDLzs`*V8ScW!^!mOST;r0F@1y$iV$@7T>_?ERv(TYX0Ew!mu#RZN<8URl<2 zZ_kTux9<Ann?KECw=Z#Dy|*QN&c<h_9j6&pIArg>vbyj>&&`}CCokXIBQ0{_0ejbf z2jK@hpZBnB;MVvrdnkWHcyiy>HGw__3zq+6(}=(DfZtENd+M$?lek$HGDgfaN_(|j zvza?7sVZCN#EuU)gDu$?&gI`UH^KUxt>(l>OJpytH&;Da(DiV$9uLm}<--To^Pa1J zCH};-@BgkN*}6*|U+rG_XF8wuoi%~di_UJSe0X>D#Iq^)IM#<;d!l>f_Oott=Ekhw zZ=GzO?fqe2wbXQrVdGMfT}B!?-y~*Ln@YyMeR{w|Q@Gn_3ghm&$~zX9uRr_4X1|Oh zbwez_o4~=_8tr`BGZXSBCb_Qu%063b@r{}XnF1`+q!$@!G4SR!ED?X`?ZxKR{wnvw z>S_meJ6DF14gcA-_OlyrV7I>TNzb0aF5#o%oVAe`+)5^Vwp_nFzTs8SP4<!x%Hdyb z-e0vm-e_<1(=(9`uN)6B#1^n0iaT+peDZnChemoUGe2}>7O)3a&5IW}Izx&z=|Ati zp32k@Y&;J>?>fbhA8=Idad^vtmgNFcr^=2_)I4=(Mo)fT|FWEG@AJyHA9-OJ_UzJ% zr}viKt(+=-{j70_@twQROq=_?)FQaz?bJgqUx_>C+gh+YfNjsBGhTNVv9aygS=@W> z^MNxPUx-^ZUw=M_?bj*QLs{nn7rbzr@ZtHIZ!g|_i)Uc}%645W_SZWr2Ce^}j6Zy; zHelG#|0nSQvugk6KNp$5?`1wI|Nl_&26om0hU@iztpXTIH?WJZ|C6Y|>K(}LxQO|_ z|I~~Gw$cXniC@@@dM~!<JeaS&@tYg-<@jHb2VP1>-1y1H;l|Iz#2?=p-zL%7%;eTT z!Cq6?-c49|+Vq)I`=`&cpD}apLd}^o7S5YBp<mN}ohH+|xs$f6+%|9O(&bE(mrPh8 z+&pRJM7O>fOZyir+&}G9)3R;*kDOaA#nn0Y+^qOCrg*9N?ZPRE&z`?{`NEMoO}ORO z<iJ<YGMk&-GQK3n9-sd7H`B80=63de7OPil1Wy#4Yml@qd$VwIYW!>k$6G9S3LiK) zSvpE|-3eZh%xJ~>?~LHi{>I~0;$K$2c5LuFYvuXh<Q;dB0_QyEc&Am-$~g_LJ(WyB z25CBi3)yYhRDXSZ%FX6<zwSZt7Os%ZfmgRY^a}G8R`a~w5!h{Vvg29=|A(zoCV6vi z7iQ@G?Fd~Jc*kkgolj9mb=I0~yL`y)@|D*HdydX?+55Ok>yyp2FA^QrX)90LRkzDM zxozISCTSdh;>D77w}zP}Ot)t|OkCF2Aj`OU%F3uVM+ePnwRw@X>wIP9#92NV2(=$< zFv(o>W<l~}23c9oGaOrI94&W{_u-r3qmY`KW*+~l#BlvO-npXj6%wJ-TN~VsgCx8x zgP(0VQxYhV)FSzXMX^CQGsTcWDq~M$n`GLXR2F4_)24$8;r}xmLKQdexH>I*n#HF? z6NO1HdcqSFnP-~3j|uA3ZT1xMHehE8zOK8hK=nr4A%oHxMu)xx&4|3U!1W}HQ{SSn zgfk*(XUy-_6n7{m)i_6*hRP~4NZn2hJI`E@@>tUL+X3T)^)E{<@+u~;I?RwdJ;a6I z@%^6(NBpLJ*l>m=ULZV1s${~#TYd)?UW}IwJsH@}S8~JUxNK?0_TU=v4+YCySzZJ< z$ZCnsIKVnTOzXa#-5Q4AfVZhp?6Vk`7Pg5`S|)r%N@ND(viZ*~!rdeVuKjq@cHd;u z3Gr${?Ww^>jJ8hi(^pI5)|kVxt#{JI5HZQVH7eW0)hFF8UA*=D91STQ_W!ShP8rOw z`7mwQv7FV5HE%jad&QOMF5}*M_sezOEdB*$Ct4f?)g)|!-Q12zGM7jSh_8rQ=9fKZ zW0jv&cHP6dR_P^^mu8F2WIS2(Wy8Z%3FaM+$He0{v`bo-ESTsfQ}RIY_2JShABA&w zv|V&_;(Rbs-nK+xii0fYk?*aij=r6Efi*=z_86b(@0)I79@`(b$r!Jge7t&MT*8sL z%IydF)@Cs*J?Q_SA=%BMS71`_?#?-;-I{T(&k{|~-l|w4_-vEJ%<!nYhn4j=zBsXN z`~9p%>vnzKRGphJRb-R6>cL;ez8dUBt0Q7H7iE0U+`I1QjfT_;#;UA)2CVK<s!IZo zNi+X<5mZ&2cjk>+7W=lD=cL#9Rvxp9HBdcp^yM7KHrcclf~m**IX)EM_~PN%F5SUp zAoGRijo@*~iCQ&$QdTM@cNV<W?bW)_o#*w%-17WJcS+9^2M@nzKFRpWGPY;dIfl{) zyN+|sQo6-jXRv>c;S%nO2{+eWYhcrx;K*CBfRXi-L!)U)0<VNkuaw4$woQK*c(v_p zQMOwl%IUaTr)aaZ!LCKhnXMm$r&M@9>{+6c)UixZa|e66$CIf$WtyX}S+#07xO697 z@s%<OIU2R<lm4<dr{mijCVZOlqt%{eiRteupZVV=vZ_fPOnk|}YqP^)))h%dzgG)x z9AgP+>zm8e^FrePflQXvHp^=hd3I|Zmb@ge+ty@4mGo+5DYgR)@0T_+8d&!#9u{c- zpvsb79CeHTT|3_jRhL?u1<kHfp=>TM^JPOf_evJH+7x><2KFvG{ELUF^9#?W2|S%n zOjTy5qpk_@yB=1}5-4S~IdPDuV#U1MciddBICOM9oFQab*gjR~<px3jNvAiRVB&Pz zk|dGTIL+STxW%E|)uJ0JCdQgv7tQ^_+NL|@_R|#yc{W9KYpp9}N$=aaUf-l&V28E5 zEt`XmMrh}x7Z%LnEDXmxUC#-933j&*NNzEEx0okLh~ek0#~ZzSisaJ`POI)Y!0`Od z0&eCPhj`>Bu}$D}aAcNf5czLawMk#4ot<UwWx1a6z$z1?8iRw*=gQb7%THLy|GOcI zv0_@wk~fq23@$gCf4RBpN2I@sql1?07W0X2p6XmRUm8W&PI&n+nDFrY2w^fvI2}1j zbovgH*AZ7|F)+RAoLUgu7t?ESUFhJK*p}o)Q)X}+)eM~IY+}?Bd}ooK<l3ihMzds| z{F$~$UG;Hcjk0*yGgYM{G1@vBUf!v4i9Xs(bDfu6xG_a%<Ix*i61jOEHr?J67*M>& zaRd9L2-_!>3O87m@UrRfNp5iByUcbl^ZALx&JrP~iY;2I1d5s!H#f97+&s6VH$-*O zFLBRBH-#0%G7rl%WcM*Dh^CbkWL;+2^nd>AipQ%xoe#VGW7uqMldn+!V~XRu37c&j zy4G&<(T=>j>;7M<BWsJNu8w~BE9|MjgmuR>_^p0SU~4|`<>0A6zF21Q>DzrAG*TnP zm3SOGWM(Ypc`xAG;dQgEhwuI2`3gD)?<O8TAnU>Ke8t5SGjFGpYcAwHwDQ?<N2zm_ z%Sx>u9X%PQX-k7&@Krf#NVn@>yk+nq?_`R~Wv!&{nRDNjoyy>uEhG8F!PsP`Dsu<( znO)oYmp(MHwXXHNIITIZ%|&!&$lSOkJrgc`J94nU@s(TNUg<d|8@5ko%GhkV<Fv=0 zYeoCBb+aQ+b}_Oazk0F2)*$Ak731x+#&vqL9fe-(YP<ixEs;BL!}FpYDST!gjXcvO z81n9ZY|vQK##pxDNKHVmh2_#l|NMqN>$-34T^ksA^}G(3H8r$3hAiRDzu+Nhl%yc> zIgug#N3Os-0}i8#=S!Xmuy6C)BDTTCi8<>+L*^zIQI67U^L#&w&zWXx#Ks}wC1r6| zaaPT1Ela0uD$2`j?<>C0i|LZ{_MNNtAy&a;LZc(ktN#5LCPbIADDtIr96p_-#?CzJ zr*i3yCGJ9xE<OFyrkd-)EcrlY&Pubc$Mb!T^IZ^Vl{6{eUh2lK^nF5`<c*qT%O4&T zzjWb)^QDIhU4C11zt6t5@Vw9ghPILzb)D-^ZIpPmvYkZ~GG&x2p8w|&&vh2kvNa7k zeKNU9L_@NrsGal7uNb8zDbfwLjFy7Y8VC5Q&G!_){@GGvE|uvVdTt`??Y4tFMuq}E z&rIlPKG!`<ZjrdE*Fr_-jE3C%4GBi!+3zmeamL*h2&ot8n|1O>M8MWpvVB{XX2k0r z)BPHgdoX75@qZDS?KO{If1Jc%wI+qhX}6GwY%0%X^-F<wf0#JS{d~;cTECbt&f(SR z9`X61FJc0FxZ?jz@$BHf;>Iqwk<YJNZ58L$#PB=~=LJt5%u=cOelB>er<UbA)5^5E zRhc&q@?82*v_Rl<g6aImlCll|pSfvyZ&9pS%Whw!kkxJG%_>l`eMv(*Tc+po|0VgR znI)pE8z1wfrF+FC@J;`gAIo6IbAhu;Nd1|CbisGl>5Mt)&y|FQf)=)M-V<caP3K#o zCVU_*J6=J!G@UO;ouM+F=UIY6n0Zs68N-YP!U0PdR|xVQYiY4_bIoPu_xw?@Ey(w- z19M`LR77I_@go86Kj?2`kGgk3J6a<!F(dEH6_Hi#c{0n)OcL0ZeXOpVs%ocJquXlz zUZ8Eyqqb5LpS{ktMI3x74_N;=y4yWdKAh4fu&6pkpw8+6Tlxm}H>GTklG%zLc$+R} z_7teS{;@Xo0o#lWt%t?3*Dh)-*03|3EGw?SzF?6C=LL=Ou+Wtu!lsOIGiC_PxM5VD z_P<zgBXed$dPxD>{tC9FZQTNnjn)PXf1Vc^6tj6IXiZFF6Bp=RP!!M6!Oq#yz@6dE zdLe%6mfq_#82Y|72)syOVB_Rl%C{md+VO#Geo*E!1Jh>{1LME5?%X6LSz6Yi99{LD z`JQ33RR)XIL59^6n-eDlzMmkHo4}*Z*z)&Bexd=pRb$>EW}TW29S1kpxF5VS4$LwO z*i0@s`mErLO7eNe#$MVYrMooTKgiveLu6`s<%|!kYMgvb3T*8QxR^dv6f96|5vV#n zr9)k~qa`D+?1Fs75r>!y4$Br6#BE?(Uu5tvh%LWj(z-^rDgy@N%1PBB#b3(V(kD!b z|Jl9r$^Xvn66|M7i~62;T;DiN{dw1etJ8Xlgf@Dx-+b;dyJ&j%B4!qaw7#a=g%+U) z1!bxui>epY3nUi*Ztv-;?AhJX^XGeD&&wHmE$U6!yL&e=y=tD$SulO}&Y7McdT)31 zriPaATJ$Y@nZd!<6!yr}cTw?T<|e&R(FqLEN>^MWn>g<?=uZ()5)3sLY@NM@d5)5c z^|t4nkwQwoDyqCk8R{SKG0e=3H4LB15WM<=P4KbEb%|^R8zyI8o+!n@F5to(W>NXA zY)%V9-cKfxl^5GW1@pb9R;K-6HH)ldzUm@e;PXR7ZABt``U3Xs1KKGL%#SYE{7ag| z&%z!TU{&^D$_eNHY*h~oS1_|zu`Dd{VEmSncPe?ovWaY-FOAfu_MDQCIm;TCGE;yd zr6^<Nw1qDOm(1|;SXx)IbJ~sP8k<&VYAn>86~r*3Q^443`lH6hRsu5w4VfDy*;xc; zc&w`bvwVinuI~QG8G;+@KeaDujVyW<&fpx%UNN&FYS+xDRhnJX8j`GL&8;k1Ub$?= z%M#!A1V*=nl_!^Rh;iQu;;c?Gzpcd6T3~UtQpvGI*;GWr?|DtXzzSgp_Si|R6%3q> zS_!2~)tjxBHyt#4*wAvUp+#Vl&)b<k(qHCn6XM$vI{Dg9zGD}{XBfL1pVU5>?h}_H zrm>lgc>~+erUg|8SmSqU9}WM{R`+0P%rS*OiVIT`7F2A}&RS5JrjcLV(P4Ff^;de3 z=F}kPRkp86r)hRg?<opiEV1}j`&z?QYp-2gtMPGdUy`tM>(Yo-OOveDT{m1;UMW<q zurxSpi5a7Db-@x(DZwsI#=g!aJ2mQeS*-6ZTJoZO?c=V+Pj1aDpSf=Nj+xggdU;lF zV7r}>A+=G+dL!So<X0+sHy7}%70`2DWI011A#2r&t0z~i)NFh$!j&7f=`!bX_HD~! zH5j-U6qhdW$u*SxeuVoBgU%k$sQV6}vl(?$HPRH=LO2u)8rb3trq1b_xGIayWNGzp zCaY2fjfp~<DIa>egvv4s*d9J-yZm^n)rJ3^y^p3Qb+V<MRCx2${eVW=$LT>ox_b7W zm|pu*aCXzoq*c>j&hnb@V)5;+wZ>VpMVZ1Dw*>o=ge<$3&aPY+;kDt(s-<tU)(a*s zeW=xKqP4_NYQ_}n8S5q3WiJYv7BYNGTx{vJ!7^(@sl$%PUEZ&=*2SKhndG%`gZIWq zD@sm1Okn%QeS6dFM@w8TZBXiTR$;leOmy}p1?f%Qua*_O5^KC=!}Vb0hJwl8LwMOQ ziPUvS30?`he!I=#^t`kLEBkBmkt^p`c63Caa1p=2YcyG7Rfl)HgZJBLlg(fDb+ict zFO9on>|N<;viyYcW|vu8TfDM4mugOBoyfi3&TB(_)H-L^|I?jQWoPVOySPGV#pwej zk-|a^UM;uRa>Z=u@Lu;iY6JTQ_6gEEg+K0;%#pw6wLT>4(A?;QwUI)q7k9p@+R?Ln zae3#i$64z-XCH{OT6TLy$)X@lryPMrLc7y<=@fnxmnh;t?4<K>hs;GK?gvUPCuYwI z@yWdB#v}M*+2poaF>jV>XYc9t+GEeauGGf4GTE}2gMI(6)eemdL>R1YSLP*VO#0`v zFYQOqg%0-T(!C2mX{LPLcaTN6-OPJ|(SDwe{Ur`FJx#qA?pVqZz3i4nNZrcmN;V8X ztd<u4UR=((gxBZbG@m8a3_EnQWQ8WIW62g?cw0k#qUM@62W8jncs^^#8>|0^T)Gai z7o1X8JgD|i<FnOzcdi|e9xmRy=k#HngUqYfoy^(5A$Yj^_rYgca?h%EL`fatE8BO% zQPbYwh)d1c31LU>*Bq%z6lguF*rm?9k4bWF^Rk25;qumfZ*BG*K7I5M_wuAUdz!7L zy#3jJ_rS577<Xe$)v4-HR^sw|FCULrV1IqOw(icpOja#d_g*)5?@pbP&Y07x+cm#< zZ#Rz;merZHWzKf@tn~s5PR_4BHK*qA6rV03o*AL8JEl~hdDOUco;O3psRO#UmpAyF z-g0Nh6RXha+B1&zEd9oK_^=M+BgJmn!h=svT{N&+r&)XE{G2oLZx3oTE}fCN-EHj| z%Uv1|B>wl_UQ>KYVz%>{vuuu<E;bIXIoE`x6N^rnA5%!OKO|yt$kOdji9b){N14Wo z-1BvBuPb&>%zkq1YPhJu)#FY&3>R<g<A^nR`}@Y0DPaeXgza!K;eN4SbneYXH#a!5 zZV*<Kn_bB+VsnP)%r3h-ht0eg1Q>TVt~}MJ#3;8$(_ZV$tVM_Zd$HF)SZ`)~*`(*p zzQ1d&&K{JzbJ>dPu$kha6S>TvXPvexIOXBH{ZXQj`(42s&kxR-bID-N;`>~u&&TY# z<GZfx_T`Jbr!A`(I2YV-s$rBU*f;-CP{-Qh>u>HQ_+Go&Ba_%GbC2f;Ti|X%Hy5*S zI;vNA<WDav<Jw)l_WCE8|9hTl?D?9r=`^G3dG+3@lP;Xtcw@n(eba1vMSL&1ZjYa~ zc7MvLhHEPt?t45^h+Q_P_KvC6GQ+Mj%XpTp%idrSC4BJV5+TMjCS8|<?;fzfE7)Wy zxZh{zhP7vWZ7)Bvx?-(&defS_3#4UEt-Uk9_SCn=OOJbn4$nD#!1r=g-jgR*yF6_# zTb<o;<n6(Sy;r0Co@}a>xwPZn#S_Q(iuC5JyZ7Vl@z=iBYJ9GB_uhYS=WJEq{VrLZ z!o=itAH<}*Ir%?WlrbN@QuILh^s;QN^Ap_8_y2oQclI8iZEwvVVcX`gp1+#^y2E~6 z-OrVAljp<+<+w*0_j(<V-#qi?aFOJhnU|ibHvX@@=ExwHbE~ua*4Dh8=6W+M{qAk5 zySno4>9x7cW(Tj>>At?Gd-dSjCma8qIpXu!-RiAb;A=^q+hK7+8oG>PHH&YoeQGRo z__6G>w0)PKoxA&3?zTFkaN)UU?__85<eJpJ@zy)KufO+shVBs-mU9Vn@BN)p(!6VS z|7D$G--No$xtU$pIre?%;d}Yz&(R{*{S)`TG@ZQRSE~0CzDG;!OjgM)lifcv<><}j zeZ31bPp+KzI`r+~ir+hBa~A9BcCVH`JzMkkHoNt!dzWnUTYN(A^=7`StO1|DcrnyZ z`0V`euCMH2kG(sb>vo*ydoy?U6%((wmh*RRn0tDz_S0bdCy#kgAI$y#wB*1Q&9h(5 z#ogJEv;F0{uLg+^tMu-d-aDTAU$|qF{{E1L@Bi)<^qoze`#!;!W65;$(u0!smBd;K zkJj$WotQW4t<3p@uU~N4hbNg{oV51ls%UTNcn0OXN2>d8YTW<0+;-WSo==-=)){vl zI<)rg+Bu(3^8MNx`&o(SX_MxY@Z2wne7m%K-pJ*CIS|LNtLE~9zTd8TPZzwtv&!b{ zCXU|`aj%cozwwv-?Oy+7-s<1sci$ZTdp9cfN%YyT@wMOc^dE}-d$-f%d%S}2lpFg3 zQXUG&iGJRDuY1A0w!b`L-<BU(5V1c&vy<=qzS$OCQX4zxf8gWiuxYY!YvOG0=<Mq5 zX6^mo*~eMY)i<?$8t06Ovu4hnH+%lfsnb}OvRVn1urFV_Xbt-YmJ*g_R?8Nxvtrp@ zy?5X4P3)_LRxdkteCfu0)huU9PFy&7Y1z>e+b(QiKghCDh~?JiO^+VkUG;eL%H2Y& ztKS~mu=M)7^KXQ%Up%IL<IRWjS5I<Q#7I;y9%gM6-zTu=gY!dix%ho52FmS=W_F9| z$NW)Jf9TY1&%$v);X&g`eKq+7F+Ue9IW6y|c4Usj=4EGR85jFCWU{E8nQfH$iX|#z z!o|fNlcjXMUT9o)a+B~(J)(I@)g?@R;x4OI!J+FDwwL9WuAZb@zw}j4(o*LcW>Ftc z?Xq(4k=eZaV9V6Q<!^HSZ??65ckWSj&eXM8|9^-HfAgJYo>cPkf~Waw{+%cD(lhV1 z-i%{RI`+<U@#}SS_m;Ly)a^UU7kz+*jsKLL#O=qeEP|?!R-TYncJ1U67c%(~uuM>y zsm|udL7SbPj2bgP_f-C|I6qr)x_ACgo61k~R0DU_@cpay|KKxqRs8-fe-|tY)~r0r zkh$vWnooz@L|50psat=6A%Y<)<!Vw_+KQ#3XSI4yCNZba;f>(eUb)e^op*1~24({x zAvGz}r4`F=7(966blv>!3)ORJlWRYVb>HD}i^{%y;qtAXWv<f_TCWI9KGm~oZ<_%B zM#m$}In1ojC&&mzesPtRu5DyzP7KLR{V!0evgCpSyXJRhUp2$&O$?eWsWJg(UqvQO zzqWDav)Sn(oyQ6@wg?`P%s910B;@$U=jlQIvYGN>5)DOH7sOm;7t>q#;kmqK^2DcI zhLeMSEX=Bs?BLf~*<yUd*zD5}zT~|LC(iaQ^4iQ7+d4DodUtPWT2%M*BNC5!A2JwA zrj;yAdaR{%tvND#w^LhI#toNiH&!v~m8du|3zjp=d5V=tyB~P?@#w7hGl8ihCNl+( zFl3%M$Sf5dV(Bi;tg_sFYNkhEs&ovCp}wT>0><|YpXWKIO5{#CI7jwd)XY{%;VFSn z8UBRLJi@{nt$Bc_$nQdd6f3)8yI|Unf~DJ;mwbQz|3tIKE6y;r$KO2`wK-L-Sp1jq zh1b%l>yCz>ZI|7>vgO&EUpJR7(h6RsW1_W<fAiG^QQ}tfj%hUZ-z-?H-E!c;Qort7 z4ac;uxW3Mq)qO{0*)78fhR+^bZ+F-oki&IRe9knXSZ*0tCZB@#BSuRTjuZ)}1QyDE z=DOfG)p5qf0_l_&(rnE3YYOwFK2H-&mvH1@sFcXO@a4UD%9+<k?=o~hF@F~CQ(!42 z9I$7{L+<*Cc@m{Q8;);Rnr!oFp}KR>i_;5Dq&6>J!0>;5M5<sLx6$$CR^O5qtYzNv ziTT#688_C}xqWLn-(c4Jb!*vTzU5V0J&yC{-*jzA-P<$y+;`!1MmPW4^0=w3u_$@D zN8(mq;fx4FM$Yi)oE<BtIX5^vsKqi^=B@}5Pg-QqP@7otL&$;YumZzT-UE4|rw*~4 zaj;Of(Bl!$QD9d4z-kxZ#}K$eh*{!Vt47H|p1IL6ib6NqcA4^&u3SCi)rTi-t(*%I zQVs5I?@6}4{nRg2<8$o$eN4vFJ-sSeg#?yzxg6!Xs$=@jA-a8mcyH+neLe0?aTo2F zb!2^yg|1!6-6D6`<mcQB*8>@B`aY`1zZ&*t3r{*`Fi&us(83oP?F-#>z8zX4{ng*% z@WEcC+in6`t}NyU1YH!R(o|1PJ;(8BRm#IpTQ_j}^fAi3e(=OZ!%2wkT+-AvGyZc3 zMl9V`xNwqNfXpks_T_<>RCqagoYW2;oxDtBqOJa6=dgE&H@Tc#(|KIw-p6T@N7a@3 zyD#jCS9E1wW9anRB>f3@)~cBb2@937H+w`GU31@R(I%Yr(nCJ(T@rJ!<>EQ3qugzt zCN2ySIgmN8O3LU_=B#TL$6VG3J!ceh5NK4;^z4@D%eDDrmL=OFaP{S6mCq?^T~S{a zNt|8b)_Z`V?BVLfDg!^Cx)0t7-}qA7e%*b)V1`ZFHj|)}vy(&@o?L8{6xeg!r0v_5 zn~Mb^`6FH=%(rnC>5jQM(fD5QVyoGWitz~@eZjk>B+GY6RnNL;c+*8Wv&S`roAvOj zloWQy{{LT?n^@YTIAd2Za7s;_z~P|aX1H2GO`&7^KNsJt4^R5LXl<IgM03#<OTPdX zZIMI!IyEdhU-0j^5NOSNfTu?5<@}29Gp<|DEbR|UGj4x=#N*_bnI=csLOE4#t#Q)t z{^4;U;Ha8E+r-I|TO?lfmo=`Ij`0nD`Jv71n?aN99f!HTwX3Wv8*fY0s#P!Md~tJ{ zX!NG37o`<$O}%Up%D>B^M1g7IwA&(<Ya3ZEL~;Fm=e+Hzkp9CK_58n09xj_Ee_Ge+ zqbTU?%@QE{&Sm+Y*R1D@N`mIj{t@cmyuh>JxmLvfF!xRSm*}YXNZL#_`xvMnd-}{A z$y*tHo5R1|QM%Q(aP$9JTD-l#Sqg35b4tejDHFf;S;_M8is+Ry4@*D3eK<IAw;#{k z8{6x5Y_vLLmQ-${zu;)nRR8(kO!HbqO@6%&E#>r@@XxSl;(?vMTUH&t)*r)Q<ymyn zyH9x%bNxdbdx_u~6O|{iE3n(V4?S1oJgMoY);FKluak;rOcr`S$3<03vD3>V%9_Rh zS~>4Noiy2+Gbw7q%gnUz8Lo?XD0eYA;&;crgdH8n=SKx^b&h*ic)I+N@wRKy+ZSEU zjpoT>vhg?;YP_`|^-NE&xu`@x=Y8uf+k9{G{WN~z!X8j7(kH@uVqWB|BBvQO(#<mz zPaU$<aLisTkT>;-<%M;hXa3Jh|MTsC3w!*mhI<^|vQPJfs;~<laGox#_U?y^O8lqJ zQZ<KotMk{-*STdHGRJ15q?sL>d(?cfbnWG})0AeP555)<EPB52cGU7D8)+-gIoda* zB(s7hN3EQ!we{1{kB%%B8&?}%xm~tt*Y+c>ua>N?-j?*i_~F+Ei+*oDp0J;brB5Gw zS1#DKmf_ghQ-?C8%TIL++3a7UD(J~kbSAVTU;g-++j1<`twC|d+1A#l0(W_EY>eAm zb@FVU?fI<_dGl2-{XTfucuV?HiHEhHtwSfyyl7_n^v=nW8Oyf_d<x<3le#JNGjnI( z;={|M_6ghO9=Dsc!)lFKVes#5A$w9wAI;D56E-|;_<zf{l}n#?ma93etz*;`?CS|- z&-k0KFu5Y-LigO9mN{Qf-DvBaG5cT6`v`WcmG`%mmn||k617!wpTE9*&spYQLV+(Y z7&R5l`gCE5&6XcA>XHjMbKg5U-<UZ$NzLv|U0L|i^Yd14UbVaY@0&pVuO25k3qQ^C zEHTml-aVVZx-KEMzr+4nNZs*2zx|)qMcr+kYxJx_pNaX?vDcd;4mZU-4&i!QUM`eS zsl7br&Gyin$|~C#1v^<}LZ8L59t~^%Vs?Wy(Doxkm9UWX30d2R@&8?2PF$?sr!Jf= z)O2j4n)O2U4io9a;Q<Az94DsNykeAnHB~zPfXkWfK}qU~9n&(5Q~%ps-ELDDViHxH z`EGJzOJYIv<NWzy<?D*-rnP5(N-x}=RL;)8Tpw;Pl->~eSoy`1a>eUB+m2?LU5J)+ zN-j)EiQF98*iyjy!(>``yIoRc^isE&&7nuaq^~(O-u>FZch&yLv)HW9O$Lc__nzh6 zJ=h`3(NyJ{RuwFKN-(f_YHogMu6~Dy^Q1=8h-P=jE|ta2mK?H73xaGp%0fyqgw<Ns zMYNc*@-6*l_wh^7?Zc*brzdHK+5bA?>l5Ko-kx33QJ$|-#8%P6UQvFhpziRDp5;zG z3&eW)o@ZrPm~2Uv6k49G#w2cCWET3P_vDNo)_{hi5<LfuiVuI63K5H&ZSh~ay(6|E zBka0j`kjwCnuYzh0?q#}O*=V}>E<yR+lT$~J7m~ORX$2IZ!&D=v}`ufh%A`gEVxie z!!UnkME)9%+OsAtf81(CFDZmhj{d(asq#wjmB+P#C(7rmRsJ$*|8=G3`FF96YHiQj z%O7^MpWVS1qS2NRQBhdZ_EsdO#howvN;bcF-?hU%k2U(9n@^tcz2K^g_`zrG><jz2 z52l3u)ZxF;cW#qf(}Y~tjd6k(Q=1pWsU<f3I+6CrB0lS7?psqigNs59UxnxXXe!t` zf&1nJ6=jCwZe4;an+=jD>U?#%biK>awe~!-+lCcxkDGgMRK$3w>8!n~e7!(NH*?CP zi2pMKGO|r?PCDZ;`9(^DrdXfu%E=a-y(c94KAG1WI7EjoPJU+6eK8|tVdZ4cpOdV1 zPT^|rW@hc@i<rvcnA85HDdc8KL2CFv4G|~D^cTmNjS2;XmNx!vZAx2KYCTcrQe@g| z*ZAtmxl*p-rIO+Nk|lf#C%88@JE#jK-kje5WqKp0>k;F!u5B3`Dx$VMDtNxxuH{Ma zO=tc{6~7(Rrp#}gGVf>0!pbQn5(~^N+bdU0{u<nVD57;r_{=jMvpHAwG#;PDvSF6Q ztv1Q+>_0Rs%YMxF+Bq}Iqw>y{*#~D%J+gC=methrMIKI<>;*Qa-#3gfofUC6Ea6rr z%crlhFP>JP*Zl8!u`@!%w8?}~Hf;f8{DLK3Rf19lIr}~?@qZ=l+10H7Q0CiI>9g18 z{brosajk2;#e7jA?xK|W5v;Sf2t@Z!bMxqM3q3HCU8AS4YJtVi`Aks_WgLBt?6dS{ z_K0{bSF)O1B(=b}a^d^%tfuR2ufN+))m&J*Yf=UKg5p;T76i6xWKHOB>4=y)_3+B6 zb56*(T8T)cMz}V{UYV%woF#lgP%ox|ZE3UGiG|G}UP}uK1PeYaDf_^dd4Sb_*Aj_^ zOO|k~5nQ+=etOp|*BM8ZYZJA!+E2PJag6z<X}38;`*4%riVe2ABWAIFShiDgrGS>d zPGnvFuC=vUvznqR=XkC#k^Dc4wPS(K%(ViuX6>B1LX#=GVY}%riA4fj3m#<5WXsCj zo7ti1HT|9{YxD;8_Z<E6B5F<?ock{{(CycTJ82P;rotgX&PI)FdMyV3R3`>#t=TLk z7$7D1e-c}KLCy_JH7&+zsbYd$8<zh4SmPH`Hcxc^so+U5ElLj=qAy+LecIsf_jty( z8@<j~XHK_Vc<9Fh4ylE=q!!(owbs+Kl2vM9@agqs)3@y4T)_Xm?v_G*#Y5ZR(kYEu z1r@8h`(Lfsj_jCiv4MLcOQ{2Us1v)DK#rsb`#m9+;s?44CXR_07!^0N)nt1LH?Suf zuvbX41tqYg2pEPosdpY_E;_IyQNTrr<-dVov13=VYU&5p7H8pffgP=%872#})JU_Y zF|bcM&2S-6KbL`BX(H1mbG3w%({%$UMpxxaYPveCn0WDn;@MeJD<)>i6lu+6Y`7=f z<|G!7@npr{UF$=lw*+f1;E>v?J#&2t*Sa@Wdnao}zvWt~WYwOw+m!j21XsB4q^xZk z=F9*6>P=g{ZRV{$n-A<&(Vol-%{CJ}V-GO%PG+^)z|5V@^38~y<FI45F=Olkr>0WF zIl%@$l7s^v=&oQs5E{g8D8j<d=)!hqhsi{zL<9A2m)L&@Ij_2H@V3Y@Qh{NniC*T0 zomDd(vLE!PI>{Q!h-_UR_xdZtHtEe@#abLZjOTCtzvjfD{5@*!+b-EKp2#lUSnyA? z_1x|C6ScPX-r9R>^}1l2S<kDEzNp^vplYV(x3w2uuM5(coD{S5)~zkGR!(}|z3tuW zl^-m^Z6-Jr2CS0QU^gjo;51=h`dL41gO^i_rO+KVncKPy&TIx#SmGwIT=o=>H*j3) z%y!SniFdO@ACG~th?PmAex(9~l8o^5<V_|m28)Z?lr|pEFtAz`&6Y8NE$xC(s#AQG za<$IxxFiL(bI%iIs&2lhJ|ihA(d=fn?x*ZiU$t|dWVcR{2;6h@{OdibK1T~y?frf0 zNV?3~bJ0g*?;H)9QE+2*LCTe_E^YgQdV<|nc57T;w_T0VXWE8&S^q_33Ogo=u+P2X zY$W0=F?*+0ivjPE{l*s^ri!rIh6}|zu{GXitJrj6r3jn)nY^hkY_rdJPCdf#<CABX zwSIMuYSn25am9<?w}gZh;&aMma@k~e9nafZvt~#1rITDoTuzkrvK1z;IQxwI%=Gr) zXVPcS=<JR1IU7@RImYH}bk5nxoNYmC_C4a+o4$JHy{L1KdCrw;ZM$Bxt!33VeJ<UU zr#dIxr#nT7G>ArA4_u<gF+sy3=xLac^Q~NA0cY_mbH!PgEb~aac{6pAN1Eoxiz!aR zvM+>EPF}O@IX$6i;!m~t8hcN3v)AvHnCb6Xbfziu=da6&cUE-GJ!;c?+2QVu8>jzY z>GQoA|K`f{+I@*RQ{G0^J#9bs(z_veMR)58vll*BS*PBbcVfcv_UZ3k<IkL&W1^Uz z9n_iqNhZ-O{of4Ps>v)F4QyElI?lUo%<xT9y1lwaa^g+P_^sDB=~d@&O_1ga5Zc1C zdDRIG#}&Ipww<>5w8Ha@rshwR6RMMc{JONz_wtLs>tFhoU+doI8N20;?EUAxSJ=w4 zr}Y*sl0D~}%QL^1=WlFz&TAdUbH|>j=6$#!@M34WMkC{+z|xZkJDxu6KW&?KFRec> zGwtj|*&Chdj~D|buBI{>ES0a$+52nBmAA#a+nX=)PV`yD7_=&`()ZG=($fn{jZNcf zg}g%4c178@{_mb<R+n-6=FOgMlWOmq<UaXad+bTfl`}Q>@9(*?+v3VMUxv&NY*h(Q z9VW1)Utr7#U@N%5=peuv<G>c6#GcE@otwx#CGu8O<aC1{&zyw>B|b2y9PBsm$&=V8 zT<N;%>dg((Kc-#VX})f{u*0gR>cgq`)$$%a^A<Qdw=q=s#ZT6YXP0<uz0_G4cX2I) z-n&QMUM~+<t&V447o2&$+46Dg%u9Ff-u;qWl=CY1{MFEo*e7#!pE~wl`9AlCkI&8d zwoiWVz4@*;(>kctV(aVE(n%~0Y%zUoyKb>MG_XwwtxgSKa@fFjH?TU*A--xS(~67t z`xb0?SK(27vXk{Ivx=ddy5axlhxT^tYrk!{adCaC@O{R3{=Ci_)`W1|z}5-3j3dm= za}K{*CZsoSiRZ1Cp08eBo+~|N9Rt?~hRe2UTf@~%6YnNY-+g=SU75<q>E&mS_?`O~ zb))o@?~mO3KKt(X{(Ta(@8%obbMM}sb<cavo__zypPO$_y*j&qJ=K9NHGzG9E!(bD z>{$Uz75A~}Twsh_P<^vgCbr}pC+Bmc8+~jCA0$e?Z`ddM!$R(n;6~S~+uPLB1ijyX z?GxTtBA_1qfn)t0hviGS64)-w-YuB$ZIa$Z?SC@rc50LK*fNwpN>sk8-h0<H`|;<O zukXwJu%CPXhi=_h+xu$#PrUQ)XVm;?<xkS`|G#a4?5zi9K5kssT`0iHe1S3b!q4mj ztl0_d=?7Tz1K5}p*g9u0#cyD%y1*!PA<b<=uDt?V(p#?E^A@!Qgh@28ODxpA<<!N0 zfcdLMy!OTOsbO)qGlf#NHU9IFW1SWuw<7%Qwf^)^f0lQNM8pSvxc5%W@WX7mS3##< zPLfO0dfi{<zeLdc)#??e=WgA-r~9MDx=%;-Zfz5*d#IkoQt?AY|9(F|2dfZkQ%jRi zD{Dt{XLC<acW+Ba+myDR&aRo0`sYla-@;y<sha8Fpd%|<7n7ZyT9y(o?54@YWWSxM zEMK+2jem>V*29Nw+F03}IBnA6<I^fGoJ+fM;eu2={|^5DZo=Dc+uz>)@D|hUqxXal z?R@<Fx!WE7&rEKQcGxG`ANh9s?r)nHwkM7*e!wc{#-$Xqyzk+zb^+ye!V3=G6z472 zq$!}Vap94E1z`~Z&!QzKC#m|ciqRB`JT<K)L1}iThuYcM7KMCWDJzAI=G$>I&UMjv z5fCuL#8S)3ctyZ6=f(e0xJtFIx}0)~Rpsh@#%PsM_44I~gMK%;biRZHoNje9&p&)) z=VHSJM`jf#z2Wtqc<$K=?(;fHtEc&XINJUGUgl@>fCG>8pT9f%dt%e4-F1D>FD@3< zyR);g<|p6cHSgGU<v!#c6x|kZfHn4`!>M@%+9pp<-Lp7%k2grw>;8fGV>18m1y%UY zvf@(lUst2{`PsQ*ul!k=nx#I@)j_tquI{?LcG|We@&8+P`2~a>pS^tM7GYUii$xn| z*q7z7ZdSXp>ep7Qxq7kjUk<fq9pO-riq}mw72>~Tb9hEGpIyU2V=kNG8Eo@2m1iai z{QGc}e~IlCzSKi6MEfk5_p(MA9<pKS$rEnSm~B;4+sv)Itn$e1KATTvL4^lde<~NM z@usU3wY>Nc8g~ArgF{h?#|N2`%NxssgF=0m-c`Gi=@c4fo%%A?@9oNR)k^Qg%x7vZ zR-Sw|t4$z*omI5J@qUfN7FXt|%(WYjiJLA<KJS`#B=|h@RR^~7cE2}NFdCgQ`0Qi$ zx#quwpZ(jEX_9PH?LJ5>pXasXhTZE4VoJI)rn4TU7do=^*nSmJj?!zHHSw%&r_>H9 zXPv4m6Z-ai(|D7!pEYt#fx|Kvl?f+RiVrXbNjV+g+;SnXVe56Fgbt%?PTo&TZk5iA zoAx--iBpZMZ28pE7hAobRfdKAe7570*K|GE+^HMg*d0Ecc4GY-lyF>1v?L*&-9%;0 zdT|M^&pf<oH=O+PcG*k_x6}ETFnP&MlNG0Jr<A_xv*_lXqIu%|g~PmkTaIW<$okU2 zb3Jb7gjbKugyu6xuI9Pw#+RaN{Uk}RaORJ58$7(fL^F9ydq43CRa?%p-N(-RK)6tZ zH#=jXUu4LXwu=9M*G-R^r#Ub9&92U}-P!%V^KRzP^Im@^f0w67X~}^^HkquF1?&g2 zZ#Xu~maSOO7MaZHXTi(F?Z?*k{6fG)vtJ#8XS#QFEt}5ZkrCi7<ndwwvuu`6RrjL) z%w?Z4=EweeWILxZV&>_YKa=}TJ}9`XV7qn3u>dZMe~(wTHoV$Y?t1Quv0&rj1&0@P zZ+qh8m-g&PRpzDLrfY2rT-Bo2hh5LAWw?GaCHCL7r{WF_*CW&CuDkK7)?NSR?Sqo< z_q?3?bMNk{Z~ku!f9xs#|Iq?5t`&*8EVF~P+1w1cE+`cAd}d;`dZ2C{@}SWqp!vWx z2KM<MUBkCph!{wHW8lqT;Fmb?pIL5#1Ec7Q1Sh^-N6nqCY8D!J8EbsLYn8*ubM}E# zQqRug=^D&R^)&&;_W~kw-7XtNJE%$DWRQ#LVAlxWx<-!a!tuCYg-XXo0t5f8m?8e~ zqxK@+)8@Cm7yqB|an4HH)3vXI<EP9^-RgKj(Q8IV^3+4kJa(5($7Jh-|9z+KQ6U*r zSH}J1`@W#Y13y>l{AM~N%~a0DHRmB;OvX{EfQ@X&?mo9`Qubz@<Jfrqz+thVCnuOg z3iwP{FmQStXkg>{!OD84k!kMcD@i{dIZxtTV%#Ihuv|}AdEXXhqqz^;8dJn~mv<bK zSHB!%6?H@~se;S>K$hhBrnJRX6VzsGKXK*D|6`iAB0CpLdnk8GU9DK6wU#01oRPfj z)P-v`d{5UzACCIDOl_&lr6c|2pOqb6n_h6}^0xZdGC5G>rM*?agu?U}Dl#0;+D!`{ zE=*})mdtQyGb(XNn84B`cg$%+)5Zf$ky|3f0yDcW{dHi}ib#BZWrGv1LSk!H0JD%o z`hh%-B`MtpTbE9mshrz%*kod7PrB1rR-Ols+Rp~h{TdWz8=H70b=!**W@|eZE8SwQ z&~54#IR0>^xT#v|6AA4`w<o@Nbt!ZGj3>o&eDtd}eck(Nx7hY`*Vk0v+bqD8^5P#` zRKTCF{&n|*gPmAUM^w07;r`7v=K<UH_1#XJcuWqwnPcYtzp>WWsIY1A<fx2<on4XV ziq0lKY?-hic-F0w<#H9eI;IVba(4_;O|#q0b7q8us~V>@C#@>TZ|9z++SZ*C`t1C@ zMb6<j*SHuy@>wI1>XYlHvg)!kyIH!}s=`^D4EO)N5Z%mtedjtu?cm+duN(+p`_0i) z;7`t)n&-QZ9li8@pT)(-gB;=(wR2PBi?t%=?zs@itCJV6<KQf*aX`$zvdHfihhm(Z zfK*=%<21j$26FE%G)8Zlz@)HmCHsU8{qv8Vkv+vdZ<&YbEImKBl<8US`i+5`%0Gyu zm^x>NwTIokc2!Acr}T-u$<lqVU%6J9v8{Hgkkk@+y6wafr^g=K%4Mei_gTKqk~61R zWXig)R<HN99$i1<_?ZA*_x9fM6)8feHe5U)x<)j0<^zxG3XW&w`k2auGPS>aK2ZBo zQM62BUgNomOolwWS~i3*vt4m$GGD^TJHfA6?%oGBlLE#gS{E+p&s?=o-YTs;bMA4g zjybWb!n9H~-la;^zBpX4&T7uhx$J8W?4B9Ex@Y>mGt0Uoj!7$p38z?haeCdzjQct3 z=DOo*n>S5A`=;t(z8dpl21%A}37a|c;zd_XX5|eNGn%28IAzHKaiM9swr{)Hgr7QO zZZC|wctk^bUCd#IT@PO9EqTZzYjIfG$|2LMJdwd<#=R96W?3z7n|w_F_Hm<VR`JRT zj{hz{90FGy>{RkyJoVwpGa(ZE^O|OqUNu@~`Mh_-bwRH8S?;gq6vd<l<)nG9y=l;2 zd1mJ49J5=0qNeIL?=$dbGu7}ZxGC3tKVk!0#0tmwK9}v1R<}K@DmO6|G#nN`l3+PC z>)hRV1#W>|0Zo<ei42LJhou)?XkE{L;9}~EHseD-7QUb4oU-<_kLmx1+JXzEuBlfS z1_h_=7R+57k}-8h-sCw+FPl7M=Q&;s+Zp*?a;eAl$G(=A7aZHG6uIwd$=|rx$-1A< zRo}bWGk4Mp&5DZ=7as7HoYRzHa~E4Ud8rQ173cj{o;SHF8uR)2au4w9wuyKYONeMV za=KVGFrL`=Bk=!)!;95@GZp?g@~6%?cI)oB^3<+Z+s_G~u)FiuO1kUV?8f$GD@$+o z_VM5P<$t%$^4P1(A-?{{jMhD4@tS@1`CBO!*XniMetMPfG*9c#I35u3%%1s2C0j*< zXOXaJI!Eb*%9aT%WfRJ(FGsd4=4uW$`12{<K_Rm7aDvNm3$|c`;zJf<Q*t>Ui-orP zDWtHpZ&o)sz$jM27CoIUGoa>ZIMd&>GLZzuSsSgNehD#akv#B3;`md6!ob1{AwHYG zmDN6%+<m$1MT_OJBS}9B3g#M0eM|`3YFz$xLCO|JX&y%<*@t2B3zgd@iMu7Ry)wy} z>R!p1QF+NQoS~zkB%=Lt;QwOY2!_fN4J{MeO9R-s%`93rJ7yUM-8sfO=?H7uM6utk z24XG-F$Q_6FPdZu99K-K-)3OInVg$FF_+JUxi73ay`Alpd1j_S?dna6^VRAOFRn{j zsu9YOy-hhrpj=ZvL~CkbjI_GpuGU!dPf9jNT%t}$-cvAS4U(LB$!5P3&k`X?Qzu`u z<hB$ElfwqQldhW-tk4MyOTB%fx94b4nM7ZgiW&Ef_L>gi>Wsds6@671Y}V<HEr;Vp zkFfS#W0Z1WUi#hhyQBK#ql_g*j-``w3ko`;Q&{33IDBVJ=y~jrJ%MZX3P!F5LCF*+ zfnr`m6^4og?T{~B^OPjFwAJlz`Jd&;8mGX*xBip$|AWpmnTrf3Nt_Ik-1~eILy-5< z)KF(LTPr1J{iX{4uc3O2CSQN5CAQN<^SjC2%YMcei=-z{abGmW=jW717HJV-;j9r1 zp`OAoPxRJR^u4|@HFjrv^v=FYkEvD{8kIc6);6%EPBge|7OB3&V)EC1)eJ|O0zT2C zBK`pN`75}(ish>(amjpO5I)K(vw&BClbtKUaDNGJr&HL+1x7jUDW>1#RWb__S&SYh z_{8oIU*6JclOn0VS#sVqZXw~61!<uIg0@#Ils5|5s=6u6`N-PFBwhG1Q|yq*<mt0@ z7~6Nh?6o|ov*+h*kDs;=B<393nUh~3Jj48dc;d;vual-mcJlDvm=ni2&2<x#zzK`~ z6i4+RP2YD+a5z4<nrXt#GDkbr((fmxb3QJ4;$~1+%=NiYUPO&8?LzBJX1=C{WfL|U z$8*#xY^m*@lw@CKHNi4O$lS2rUHO%RVY67uQ31Xrfi}4imubvyFIZx4FUi*bWbG6j zv#V&~feGS<COq3XC9_u)O}^f?=cVmF&N(MvPB}hv&T+~1x$5oNDRW=#Xn!_!su|<l zn4eSKE;XEC5brn?$W-k3TCzjdBkyKd=hJWL%3GT?7cf?BNS8g(k$I45nrY^wuT7sB znH&O`ID}gT6BVxn@GecBZIt5mxW#z=Vr}6ET{{KBcqaaj*)A|yev2!ckd&f`&-!IC z=Y*B~zLc+U%9y@z;hsa@e;?-6Ocd7)^9?FdNb|DE?&v+*H09Qd-UFK90i7%7MCqRq zYS7o3<7+8f$sug^YHEa~FzX4OE17enXSSceIOnqF+$2wqO`L)XY3v0J8rRhfq+250 ztfpre22J|HHc7>ElABoe2euf6YE^@v6T9;NmoC+5;BshSKK$J??ttL2WI@@<8s{0L zpHH8;{!&&Sr*`C)nVUa33OTnO)!=!MVEy&vjLQselUEiRMf$oWWK7qncY3U)xncgi zNxaLa@*5<jv<3A(_Ht#qP_NUq>aIuS@x-{|8!Npn=gfL#FMfNaiPir(LZ>%6X01MF zxiQRA#wx3CYt(9os?}PnWwci_%e3XDU2NoTQ;cU|R|sPiaY#`4(NvbOW^&ouv*N6W z%`+!IGtWOz<87U}T%l(90ncntX0Cv(fyWs|OV($F^9D^{{$$s(wnzN0pG~Se<t*f^ zxobsXP-@-MvaDH)B<{_U_@q#<avArmoy${}__`f#NeWPGnAE!ePzCeu`7RbV=NUF0 z`&oa-qJ3u8l)N3ii*Na@)Y@sXapkGVolCQJ>b}}|(_+rqNFlpjoAjzzS#mAmoxyT> zWxQ+xQ_JJ&Qd<M7ofsvO68KygXDr>ExpB+c@--)<SeIXzaAww;y5=oQDwc+Kajjzb zZzT|^C>^*}>H?#xK*rCVTTd3(ZA{wkVqtjd#PY))hO0IgN-vi%xngx%G~~)-P3^BU zY()}(Hf%6x=HBbRD13$G%u9twHVbyWG_13p{Mcc~|Bw6Q7tB8Pu>N$=Dy^)Qo!mPE zUM{j&xN}DKrh_LBxLY3VicVFu-s#lU_v*&tWxqFVjM{bbVuRuu<^@OMnJ=$i?an;; zQ&ZnXkEYM8CJLS&)oaeMv+V0`ZaU1!pW^uSW1!B4EuR;1u__12E@0A^n5f{!{3nPh zR-m?VqDJ)VwVPI2zG}A#QCas`%C_v3R{bxdTd%v4T8z^}_dRdlaEaMv^Un1dM-@ea zyjy=~*1g^yVzNWCI7iXt#RjGYZBJbf`U|fT%Sr9B-YNL!xB$<l*|&Qor588b99;Ek zr}@N9y?a&}JFZ@O`{34HGF1|XQa(ELmNW%kpDSW8p~<pz#S(@;MO@z6hfl6z58!68 z=9tK|fWcuk*W3`sj0s}()5KOdtSvX%;}B3&@1${Lv-#EPy?!l6+dgLgv|LxV%lfm{ zWX|ui9H!Mhziwkc*>%CqZF)0XAKg|EN>e<udjAB)<6H`CM=l$-2OcleaXT--!Jzn) zg~g1KfkB6Xfq~%*qc5Wa`~L<mE;*T|<~A<=j<&9LIjK(mu1OP{CUt3QPM<V$?ks+{ zc?;(9&!1z@G)t;=irl(s!oqGFw`|?Eef#E3yEpIMJF9cn{E5@KCdhFW6!gy4<T8o3 zpLIght!MiDg*P_s-E*f&xQl60Jb(P-qf-1yZv0ZO9<R7@Y2n+qZ6})EOT{01pOwbM z_GbA5@BR7(XBHSsOgJOnm}W9Taq+T8cHLYoA1*I=CeLg1e&3$%41qp2i!7ga(Ob_) z94umDk*H4b5j<FID1YRPCY$W8z?B+;(&l+;OMGuk5V}0`QTxO)rk)>rzHGU5nRD5s zd0rE>rkF=+mR-E$8kVzlbNv3YXzPQMmM3!kZ&0-|@o=_tJYmxzp>k*)NBH`Nz@len zD>r*yS1UYqL{m@Qr!e^}*J^K_bsKlAYYYBRepT6{;<Id@iq4e<L1%(mlee9i^eAAy zQRCTP3Ni_Nask%YEFG6!^7U@qu6M2f@%}!E-fOPUCe9DM&_5yM&50oA`{gGrE^Lt4 zXg#kn%_WFE_kx1`q^HGQChL|huuuM5a?EFn*0L+V?6q}$ZDLkj*jfBi#nX>}!KBIF zi?1YyhJLmA%5Bc;ca1kJ)zj@}bBZt9!sg_)Pami<eJSD0(9>=5)nGAWQegY>A>325 zWoy`?xHYAlPBWU_U})xL`7q;gpWU+=$^G_RD;G~>IpWy<f1;0B=3x%YcM4BAta}oc zPINkBaEQm+!QcQxT-wINJeHGgKAvea&-1{n%wH?i7-RZoCd;IrV>rkYbIkHEgY}V( z&luS+IJz%rDmut2Rk&c{u|?hIE@W`VyIDDiF_$zxUut}0;>)Gg8B*@cXY}oCUNR*u zag_*9%E1GxRzI8I$``cfmlm@nOJX)#@Ro~g^0_`2kBjX4$Mr^J+or6XjoY>fx~vii z&`Oz}^6!Q+&*fhnOD5lV#_@ErF-PLlsR9+*PnoPcvQ=3GdIa1p*+exG3_TJLFiNHd zI5-QXE)fiE3Hxi}r7Ib<?Q~?gppH)zU)<Af^YFy>xvECbu3pkMIm;ULUz10yw4=-T zRELE69v9UQEEZ|mpHBMU5@44snN_1Z(JyYdGLP}~HOh?Eiz+`)v{?O8d2Y$3o#{(v zteUfgx6<wP^I1Lyd()PA?J`_3sia_GicGqSRJ&YXR#%49talGH#A9nb%S2L^8#3Rr zp5m*ubmJ_o?JL(BZCJy-jcwxV4V4VHw{NIoU$|<ez?+2TDUnCcW{I5@vuhGCl=sX% zYjNM^^F*^3A6f<3mM&=KW6xQgJH_8FuVQCtP-g0@=btjz_<4^0JKXS2#c-mu)zm;Y z6Rru4?lRU5mlA?G`<)Hid6HjrAG(vnVeom@#?X(3l^0vD#~gK33by}QaAuBn*-kT` z|AlWm&l{?);0)#p6D}xJopMnrH)Z?cZoa2~E!RCb#$m<5<Sw(wI+7uHo9+otPLJzO zQuB4pE!7SjXcRaS$#QcGbMVAWw!F<D;<vu3hF#5yII<}8ZrE2X%@3UZ)e)1q(kD1g zUCEO*_mar1eN&nl8xq1S3q+YCRvZ%L>tsk;ov?OV>T3R5TrEdtIjwrqvSrE5PXEPC z(vNqP7-jKxrcL6$v?XiW=Gki>bU**WBr6xh&N!pdgHc9-u{Xs+ZsJ0|1J2iHTvKf* z647vdSIHo=lckaE$3{k`2|kCWnV)bpTW{1hrAO&zk|dwv`UxEke9CD`i#^#qT+e14 z{~1<1BZx)$zp!|4OIe>1o97;9A^RB&3?I#{awl@uZ!igBy#9jK>hAdlr>>`yIUL%I z-z+T2_L1DymZr6Nu0W>dlm*LlT(>eGQ4A;y5LzU2bcL5=R*+>v19w}i_TIH!{yDD} zS{(m*IzCBY_LiuyRT`#RheN&7qg*0ITfdxB_Ix=nc9p_iG4lp)H^WfofQ5eowyn)~ z%w#n4Xf>%5nD@cMmDwO!XbR8vU6&qavcw&@QR`sH$UL=3Mry%9$wQC%OV=D{7L7Q} zlNEeo+Ab3(&dq1q798)M5yp|Qv7*PoNKo8y1;6H^4RH-I%EDC(RNYPpc$sERWO`M| zVBU~;@fSnIj$c#Hc}4yIbWMtT)+S~R7y0)W98bOY&}XFbh}&XQLm!_5!?sI}Y)!l7 z+H5Xm?mU#hQhs*zwv=N_%(y-mOg0j8P-Q*3X=N8<fX$rvhbI@Ge#z4~<MPF)LNgBR zJQWoEKV<p6j;ZDe9~oO-sVwBn?l>IDs@I}2C;HB}lMQ-29?A<QbPApcU{XkNj5x4K znt7Fp*71*FrRf1T)Xy#CWR&nwliQ%IVzPkAV}&ATSC^ZNkA{uA)A?PYg<Q?sexC@) zxIWP+HX?P;!pjLeT=k+9TQ%&KDIJ^8VJdL=cyO_>Sk#gOqB|UUf2%n#{EjSL{r&P& zy`4^dGiny{X)6dZJ~+T=wI{!K)ypIQji-s6=Gy*g{pDL>srs`|=d8TwQJO2Hef7jC znbrsob-s_C<ssqwHtkq%{p0EK4=F3XTwjG&oj$PX$u_OCa@zSPgQg{ftG1?{^yS*f z)wHf+>+0B#jp1>#8jTeNSnOI9c~lje<-ROnW8C^$rQD?1`r8EtwgsySUlh&B4-eon z40ys_uF&jsAjo~*jAogSH;;>l9BAyDa(LIt;2UMDA5K}3F<qP6Ym4_$r8w6`MPlN{ ztjTJQT+STF_T11=HBMp<`9Fihp?$^sh#VL0Rgd}?9n#5Y;LQq<wP7%L72s0wDW*+t zVK&RlrUu?`0eptr7t0jPILH+8eQm+UbzU!xG-QST=diKPY2^FM`m8xo^1<3?mkzD| zcP+Gj^{$xt+SgxJ1-+Vd_EnLv^z|LjE^<9lU^k!O$R2mWQS#h_wl!}ZxOhEem}?e1 zF?*7@JwB$9kHzmp<N5^*jPg4U@_%q`t1o=Oeu43jq~FI5X0Cu{rjTgHttRP04SZ<_ z8XRkc_Js#K1h5x4pSt_O((25C{vT})XP#O#OyoNvv$1%3qr5`V_Zz9UPj0eD?Q#0j zmv(5y+aE5P_EmOo1#fY*Z_D(R-s_QFaLjP(9yz58?H!)_%LJ$Y(=@1vnlbN}`xUW8 zt<B6as(E|!7hOu*%J+k@OWvbYK*oWIE$(ll^%_U7x;M$p-wgWxTXjS-ih3TN@?rs- zkvT(b|9j<KvnD*VeZ$C9Jz?{lixVo1O0xK0_?hiIANuC%M7f*V9t^vmE?_oSuz0}o zU#W?AT|wt%xe}iLcMfnXd=!1M?`z4AI|rHj3R-^8dm!??_MLuR;T`5vKX+W;do)z8 z@IvjnUkj}F9o@YD?{o9{KPA}hqfP&v>33cf`%Z%0Q;CV4Yfm$iXVGiM9R@3Yx!c&J z9r^Dlbcvri{RmG1gYe@3nRtbwcLnap4l5)uO8XaPBn4!Ab>J6#5qq;#taQ6Vj$vGf zipRzT&V7toc^89Q81;WK7|vs9ihk~SW`V?|4Z+6_q&GM+OEr{jabS2d&FaLp|G7ul zisBpC<0r6~Ik2Y~G;jrSF&$8nYhaNwuzuIn!f>!yN`aw#12cP|bzB3R^#gb73yfWh zf`T?MS23{s*v6c`fh~IjdwfU!%<uf^0c<4`SZYF2jHaiRXt=N3p2rc!zQI-!8m zyoS%bX5aIgN5^ZV!x>l$7&<E$d=7MURTTIvs5yV6z^9?3r=p<iMThwI!qyXo^+NSh z=^b-5>gHH<%{|eXJGCq4s&k5gl2W0-Mm7Z#gKpCR#`FUAFyZ=lZj5|^?)wf`y#3Vm zzo72vLWZ;pa-}If3W`D|8-<K-G^H1oY*-i&shIitgM`7-j3%>E(^8N25Kr|J94W{D zOXM#MnRmd>`m5OMseJ_#?Fton=DToDS9ky7(Z5YiwQn=~tYCJ}gvzvljK>X(YEShZ zEN0W1AYI0y<hziu`a5&H1KaIJcH_p@ECz-eHU<e#CfNl{vKJUd8CX0HFxEHZr#>(c zS->U}z$jb5rqaN+c6yQQLq?GRHZk>r2hVHFPSz~g-0^UEq5Sl&r51G#mVPcbjcqqE zXM9qh`l6%v#*{PHJC;=xUNP^QEHQPjdtu9uDUl~@LT9S5ED$J3Z<wUOru1DP<pEo2 z!!(VZF<B0b*#f>L1(W&(1X&dos>0;dTzd{`G~YbTc&^aP`ziMdMYdPL9(w~7lHKKf zH_mVt|DVzRC8%ecq>OUY+X~MYtjb=gJZl=7@)wrQzY=%QfHO@oD<i^US)@h0M)CJ) zX|CItGZNVR1%+2Qu$4Cm`*6sd-^wNx!0fey(|#dm`~o&MM>bCZIi^VVvOs1I28O5r zMlA+bjsV7T2S)#;tl10<90w+}e2`6BP~Neft>S>7)&@3~fZ1{Z%vui^WE+a?Ub6iy zV3U5XK3Sr^UZ_h>y=%pau7Jp{fRh~oFQ@#L>|(hv|H1OEMK7iV?(F<zS@&(`g5?@h zczzY0`(k;KL74lh$dd(pWfx=04l+LeX&txI#9O&VA(2g<k=-aGNHmM@cCfp$x{&Ec zIi7EP#{%M~CjJk38O+}<A~uCl*<-na1D7&ev5o#$#gul>wCPKxJd?O8m}&SZ*x9vA zb%(@E2I)4(KKJb*!V?(wPA}LM&K@to9sj{K=&=A3Q_x1Ya{CD!OrF9X4D*huDlq+& zElQZ6_>-^v0b5)ETiS#ctp!XkelF)b&@FtBQOSXoA%Iz?VPa?2L@fn<K7keG3+77y zTCTj5!NXu)b^&|&0w!I_!qo{A)ibTj8VXZBEYF@$$X8YP`Q`$?RbBN;^A)XDEA3L- zD&<?yIZdgQZO<##)eek#57-I}1hoYOvl7~#easU)7!$XFsnmf@n_+FKgRF?a+IW{W z7qrr!KbXCxnNMoMO05h3Qyrc&GCY`5_fk+Jk~v#o%|R={$A;M@;nNKs@-ZCLV;7Wr zbYX)10}-a=#i3E6cN`>{Rxj@5v=vX9ah)~p_6>=Uu9=g|;@)_8Mn9kVvbk@<K?%mD zjS<WFY<9(4mabd9Va3^0p2r_TL<1Pr0vJsSHkC23a}}(6dO)dKd_tCjELQ`ghXd2u zsVmogV60izlKV==<~e`M1BQk!295^|VGRr~BblGi+|vJx&uI5-&($kD92n0pQOR~- z)LPK;Aefntfq}1K%gdFswG^1-4=~2eUXd|--mS_l7hN=RS#ukWx>n36TCLE0#gjQT zKrr(qE1M@{lQ*N$OIDGEjPKefX*v97meZP39mZI*ip}bQfbXjwkp)6h0)o#b?EHTr zrh-#I=Hj$%$!n9+<laA6_}t2?X7w6nb$-K(B89)Q)@caaedlY4V!V;bq@^Ha@?rU9 zNud=_CM-WPf%Th!%16D;#?~8d@Hg)C2oszkYrVlHO4RzPXr$BzSF2!7Zs{h&%#9B@ zJzoXSS+?=_#EsKg6do3fYj%iEY7os>&QX0_DSm?Vvj_YuPH*im*tFS$S@jeDt%uVu zZRE0i&2Vldlltn-^P-qt9x&)AF)@5#@mjzdH9_1)dxdBK^9#;x0S4PR9GE;`AKX*9 zt)6Rz;>tN^U4^?oaFs0-Kh?>Q5WThG*K(zXgC;TmnUxy0oSwNt;>|&sfQA{bxJ((= z@HH~ZeUMfE+4V`Fr!+-edSZ<IaXoLDR-Vr34>Nb4X=RDOaQJCsF+1bp*Bf_!&JtjC z6e&NZx8QX8b9cTc1{__h7(@jabQqX)4(wRIn$Pc{$o@e0Z%S!Q4;ZxyHfO$)VSd3e zZ?|AlS-Nr)%k&QdOb(2<y=1N$C}eYOkXq5_93H<|fmh^`!krJXk|zvqRmXlvZPHf~ zzkVQCGr%jkTp}f$Lv@AB`ZBLYB_au}lg>Pp*d)k(qm#k^Xu83U73WrNmT_Q`t2&s~ z9lzS((2+UY=Sgj=_hJ$~!1(FW@gJ<s?Yma=tYT4mFuf(=@Q<ngw<&!%E_dMI=}2aV z1uP!j6ZfuR>f~a*pvhF<cu=orn@qwv4uiul=WOwNaE@aEi~k3v?`!6qcyOSziy=UP z`NbL*-2x_m1!f}y7DfXWwF68#0%vR5id_UnUoDjTbgP)Pf^YfknA=tjZ$5EMo^aGp zTgYmn;JXEk$<{3T0+;m-*pdY<>k3>p<z?mh%VMs3S&)aJs_>ld1*Y#cQkxG;GJFVm z*vyzQJEZz}aYv4O>PtS>6?{tK`vdl_|M)<dRpX?Nm%=9@&Ip;=`<BJJZC}4)!k(~$ z`{Kj*vLq|sd8%-hyL5q1uw0S{XYjshUy8d6WFIcR<kZUf>gnDa8-hc)c;p`Z-*nW0 z*GY=I?#^ld)Gc+D6Iu?;dDC;Y`_%!p2M74pvI^)hf3Ml3=D_6gVCB9$G5${%X1tkx z`rr{g$Hf6#V|Glub^8n>hXV7C>P=^Mu8>hU`1IFp2~PGioOgCu-#OFC5T(G(&dVye zhUG=hIR=Bn5-V8(8YXU)s5uzUzH2(m_2t#qw%1xUu+NT`H4&I({Iae*N|y1=k^Tnh z)eoAbU)3FvlxsP_zs_L)=hxFebIX6omixX|I4Os3#q0A%4{lF-aQxw(IY)V$O+Iq4 zD~5iJZq<La$in<sx!DOJz5T`)Cmfr)=iux;p%VJP3OCDq-DA4-ngo+#Fnehu=aT-N zHWMXJF+cv#qujyS_0Vvwqrha&eO-)3ZXW_A7aHn1Dzz1e?DXNTi@7zS;iyLdBUizM zb$9kBDX<+2U~HMNX!VCpa~jWHoO_3NEenV4L5>6_pVR5tA3{tR7_La3)vVm4<uG^g zle*>F$J7%yF(j~Su9UrK)19$Sw&yhCsR=yi9hgHNu-;lIwE0B(%DbnfCah@LaCTh- zi|2ziOy$+b!e35}tG*syuqVBiefi6Kv9+4lYcDNlJ{Z3J>vHC_14W0u1hX7!^EOP= z%MvR3#^?EfEq*E6tzUfGo!Q@b-9Kh9`NOrUH>cL^>0-<JAiOR5z`X8dG7E2IeYnrI z;^CW3F($L**Y7!WgYihf(f=|>syTIMJaRj(I3u7$U2a3u6a%wY+&vRZu6sOw`6Bq` zQHfd4^xu^3Q#E?D@Z_EqjlB^IGc|8yMtE^Ec^<Jb-`}#JrJ2Fbb4H9l_X@dHb3`AU zsgFAQ^-svdJu6fg?q2Ji%eqGP>8$elS!X;2-h6Yq*yO!feWM)zLBZeB4euTvP5v{T zhf!Ytpup^C0o_KHr?=+#tG>DS_Acl5>ZNjD9P4Wisk1kJVJ!;a+gi>TU-0F4`xh>8 z!I%K1{nKCST(9D46xgS+^Icl)A@;)jBSlN{3K#p;E?|BwxP9$Khll(Nc1rlN#a+nJ z6cl=`D7&|Mg25^Nqm75&FFMwAUe7Lkda31qg=%$<dParnj~rdPi5EReY;N6<y0qu= z>wQ}VdtY1Zot)40^&Ut62gwNmna-u2KFftoPD$Cmlgbn14q6p28_n(LZP*fUzur+; zuX~qVmGp*h23q?$ZwgD@kU6V3`_{!ZoBUZBG-p50(`$Zy>RHXRXSWu<P@EZL@_^OI zqWjnjxu$hOGpdD3=j=RYASkTJo?o)Ieno+{K>k|ug7xgxob1b(9GLSM{>Mq>fAfEN z&WbOBk)uevxtUYDv_;#htFy<de?mX|MD6(aBqpY=i4$h`u+N@rHMw+V{LCbNrse!@ z_N(}%;`!6Kq~v7e;&;eN?b{T;FRkc+#J2rhn<X|MJo%sNG`|FYJlBTHmznr)ZQ#1A zd0$ib0hb(?rrYzEZZ96bdGUh({_D37KD`wde(m=2`J10V9x{YgJLDy-$=kOg)p|#6 zG*|n_M-QE+XFY5VnQ>%^zyz&D+uCm#tvuwuNyU>@iQ!5>Am4P37zURgn^c`x+hg`w zWCSQUJon|(a=EhNpyRS_X-q*kX0;ipUYNf#k11fHFsI%$sUpR|g^Sua7RZN$+~{<f zF)L24<l=${s%QHotNvU#p~ZC0mn-|x1Vd(bzL}!cdl$^y=-fBcvFVjc+{7CKi=4Yo zC@6jY{_(MMk%+O_6_1J2MLA7`H`!QST;#T#UAM}m<Lk>Sb7fb?$(}0xzrr!kV&+B{ zH}`kJH{-T$+Hqmp#$=HbD=asA=zpl47B+X$%?UTx$a62fEa3TeiVmZ7`cmze`VV$> zzLC53`1^TT+fQ#U{$<vXx82eIY@6bmYrX$nCn(e|x#ujkmFW_{bmr$E%exti9c|cZ zMb0<eKa+lmg}<YLfk{h|p|zc%BA{8wS>XW#lUBu!h2b0wsiA@Xj0;*hG&2JkMUApP zwunVBJXp-77IHzExA<V9FuTc;5J%RSl7f_Q?Lt-&@3^H)+2juT6n7i!ej|29JS`)D zO}6ktBfF*48^c2!);$c4!pbHe)8-VKEp$%Hdvmdc*Xj-9!CCp296MxMPEBl3XjA*2 z)v>74s4Ze)yBL?$qCU@6H<CL!og^1_r5=mS?BH!WkyI}jq?OsgTeK=`t!mIJ<tbAp zc?PYuQIKKV+p@Azs(Ptvw^W=?xEojef<!l&>M0MUB{!#Ro=~vOZpul&$iM{+cEWpv z6728H+umREo?*&)yGK3N=PUoT1Sjr#bYgklu2-%q4$c2qZwR=saIWw*^?Lf7*X3)E z@cRa~+!U7}nc9{D2gZpm0`*)B4<5E_U1eYp3HY(%5vR;GgBBjCDubz=4l^4Zc%v>X zVB$5q<-yD#!?3{pbW~1<1FQLD2P0PRbyvN4(<=`Mv6ig}6kw3L;Mgu@zSfb^_z8!= zGjY!w|2Hh-jfkJiB2#$Bpo!O<gYhs&^8JLvH<Fuqx3MbUVPL+IwEgZk!7zElrn}|q zJIn7?>QDGCSaExA`GflPFU{{~zcXN9?lBf{5y;*0(SkXMhv6VYq=z8O)0zAae)6O* znCK=|xZohG?A(7#t<qY{qBIuuxc;(Q)ME9jO*(BsAlqjC&hK2N8~->pJ-1_d=*%4C zP~awVVzDC|Z|WH(ZpTeJOC5DLu1LD8704iPDd_qN=DeNv`?UXAzyD%<-tz6o$9c8C zPdHDid>pEw_|?XCN_-I8%*pf3UN~H6*>_Q4=@)JX&!5-#t1LOddM&v@ZD%XH$r6^? zk!zAItZyE*XxS*9^Z$gqkaL5O!wyB=gflD*293QI0gUr|Tp3Lqg1C=PaALjlgt1@+ zv*d*YcIyd=QdujG`jm-o<_b8#60w_E=0w5XofY{~X$jZFIT)I?f+lu_wJ?g#WMJkL zXz2Etz#zWc!c9-efhqQllGw!+N40htcBfY_mRbG6%<7h5UtvwOY+{1hhNWk7(^e<T zUVox?#!!!gxq^GsBZFqwWr=M4Z=6JSJ=m#}qR2iyC5F$yyg?@6Qt^z_jLby>EaEJU zQ+QrD$%O4}4?Xu_s&&8}h8+ivWam5<-Pgd(s<C03{t5+-;u|p{lN{LerzmnoW*p#| z#ky?58*Q=86%A553<T0WPjmlI(daWaacGub!XNYf$28kV>Iar|Fw1aw_3u7)bzN~- zhb+gT34iXDuJ0&eQ8{-je2+xM#0e>fMePstxqg`1RZ;mMQ9<%V?UloRlR6$SyBfBg zsAFMJX}I7n>T|Nqj*XRlh5(n>gNb4(22T8%jm+v6j2uh?L3|5Z*vwcCOsaWu>7PVO z6~Dy_{fq_7Mn_zjofsKdPd#8$QaY(7*YT)%SsJ&Iz=M_S3JxJlrLHo|G;oI7I>>lz zKV^|&$~T3jQQiFHNyaG&46zTg#JvtMh*ubKciuV7^GzXC-|cF*|Jm2UTPu$4c@(<d z-}SNN`4z7EpRR5Q5m_vjyMcM%p#?qtwf}V(H?(a%8C163>_Aeyy7kTNG2e2#=f1hE z;T?6VkD>hBn&nLI4zybQ>71~kR5(YGfpK-O0^ja~nmSF7&(vJIEOBv<ht=1Md}S_A z8byP`t29^?Smn%jayVUZS~{Drw3bEgw!;i}xo-xobxR!X)=tp<WxRp2^t$w&zv51t zJ}I=#WMSU%%GIxvY4eOs2UUaB@BIUroF<-fVEemwBHM}&!ZLx1+UAYU<_{Pe@|Ltp zo%c9xSoSC(?rsyaNWo#o7Yh>CMqTAC*}%+uNg>Sk%n{}o2WJ_-^sBtf8F{zwmTgb2 zX}hqOk;B14n`6_4WC0!qmRJVIetpZZP16$A&htLZ_@8S-6O%#X$uQjmleSuU$|y^+ z<mxWfwD+_!5^UfLtJRWS;?)r9_i4?NGY3Sr`Gkd?Q&?*}V^he%ng+>~#3?)y4l)Mi zUTkk3tcsX=AoOuSn%}tx-9A4SEfQawVO$i*9zWy2Ar>u$hc3s%(gbufHk#c!^^0xx z+7Hk2mNU)~sR-VEc%}N+Nkw{JR{HP!B5`4#RLX)^v#K0U_m&=5!hMkSoVK(XubESo z<2}Z_)r#L9-9K=p`oQC=l!Xs=Twq!8P@7F~wv2Ge%UVg3*B_Nw+~YrbnlB4tl)8K5 z&bb9_Y;_aGm|nZ^ZkpicbY%mR4a-LJ1q?@()C{>iH5M_f`Pr>fa^U}yI`sxl?F-x6 z*!egGiXZZ<wUrg$#c*9{3FDFNpLu0>On4-+n331C%(>S&JXy55=IHXp&L_VvV3(Qx z;Hk|w6^=^`E#?!>J(l_Zqs#ky;k4+TEVgp5RdqA3EfSYyNq^fUw~Oo9I;Bd62{pxY z7T-x)<F)gs?lP@w8)t=D)-2?Ux0q3IL_x-;A#hb^n$sdl-W$tzG5RbwU=BRVk{K92 zOX<R{r&fDjzRDMx{^q&DZ}X=c?ZR$9p7U;rz@z8scN$s`AKdb8TfM@O^^A76>&>33 z*G<d4*K6}(=j%yj)n6Q|a#ngPzgEhteqzr5`Dd-o``7JD_Fmohb7r=zjfU;J-U-#U z|G(V(zU%(p4@VXL-0yz)eTn#igDvuZo=%VZc{+UGm&N%kkNp4tI^X~A>qh;*@6LOv z+>dYl;cqziW3uv}%}jj1(vLPjPG0oa=7jB^O8x(jlTWMcIbZ+h;raTX=k5Q$XsW;A zq_?PCk-eG!R)PQA@*L(6!3`4>c&}9QJgK~(n$5h$?|DlO7i%2n5C7*5+A}`*{J$u; zrp*5TW<gF7e(r^Gn-^8^D(BvJ(t8nP*CC$!+(=K@Q2x=98ViqRMiarKrPWK^<u9n$ zUMm-r-_Dg8z{bp=#yr6~U4bEUf^|xPb?O0Dw*}T`3>h;E*wPeCnJ-lD3TDfg(7Mo> z?N<U@rUP4M!he>S0(Q3zEwLY1Qw$j51XxQXSPL53;~kg-RTu&dbeICzl&3Q(Oy>-I z(w5#4eeN?Wvjbb~ht@MqZ3`dU2pcfx{AjK4V2hk!ox6iSM}r~VptZQ7wR{2_Qv+LF z09%y;L-od%z7t)k3bN@R*j92Rrzf!NerOZ<g3Zl=O?*T3e)ak@*Q+f$>W{nk?A_k; zQ=Q>dM*Wk*dRB|x9}Na|=KQQreKao!3SNrgUdsDSIeSxB<%Wi;P1F3uG911e>0e=B zcXUbQS;&>LJXU1|*LFAUpN|CBeege*#In|*_t__gn~U^r9V+kqF0lB!fKf-RQHPvW zhuqrqtb3QT9x7$7nDD>m?DUCJJ15HAoOrXnY4akk&71h{x7WzcoOq#plHANmY@6%$ zFROc*&h_Yco#xHDtL-)W)n#QIh3>o8-A}JSs?oDMy?&>=5Q|4I_fEb;Pq}K#4OlkC zvX;btTflcRwfU5*-BYKjucq*SSe78yDEQ~1?4P3Sl$Q;>f|X34cx5i~E8XPXc|rc> z0>OJn>=+`aFZ#~x(ZJ|2VS2@e={uTO<QZl({bX$U$tc$#+sGL&;V`57C!<7wkS0Tj zu!+DU1*YGhm>(}?+`Yy7lq2sgG5+GpDZ&#>{im9m88DkMg!LC^SO-K;VP#(HDWPn@ z%=92?izIiNfqam&<er<e_hzyk$o$WFz;Mn*#W{yOt9O1b)GT9@-N1G(k}+u^Q*ff8 z*kmD-qPaITnL->`xfJw-3mDrHI9deewF*ctYABSNE<ItH+~KMGhbkGj2ujaYocAzO zV{#GSJ(hXDI;E``3S%yCE||!`WVL`LY60^syW2YiSeH(_y@Q`~NsahKhkqUpIwxWt znCfRnPJQ=Kj<GoQn?$UfM#ZlOzBdAEmv8I8A=q^Jp&&=_BJRtz(uVzP%CpKM7Yl!6 z{xEgAy}%3=u6T=I%r+Z%tatHrbuwDKn&G-?cDy1JYv4?lg~DEriFX<D;}@{`U6$SY ztY7d5W0nAS*g_`04Wd#HL`@f%_^{;fXK>lK<Uix*MZzZwxGXCS5|Y^57|IXq6t8BS zvs+QNc-Qh{oN7}9?SCv_3~~~YYG4Tz6pe1;7Mdbv|8T`q2a%@}rV2L*?U=B_AW7I% z&{%tN{H32FR)TrcvlQMH$h}n0G(E<8Qn5V6p=b)@9K}xAO|y8P3oJZza`~l+JTf0x zy%sVQ91t%`2$osUbUT8-W_r$%Up{873t3wi&YLd6s_MY2V(?7CfF)$@Uabl9%@uzt zW;cW{dbOaYIJ1J~;IuzX3w<nW**-HH{qleOipxxDJ&QzuThw|tuk{vLODq=(^G{mu z`fI&?!jv~RWUu~EkV;_Rc~bbNiN5f)4Ls6S!U{~HQ=D{6{)>w&U<?Ui%`0J!OEwRh zkUqo3(|Ch$&<6H58Vp|)Gp(oiZvND27_t1&%H;<HUG-L1zinK6@xx-qt(z|~#9vh4 zT`v%zvUBrI*1omr&VK}#?llnIXCUfYDC&P&-r7+hGtv8>Mj2}q17`rkieQGg-&^Cj zx#D+kW&OZv|AAH9fHCa@yJJeP#Utf>?(GU8j7D4MiZ7kZuwkynAx1Ao_WPe=pHJ22 znXMl<bIp$vF@K#ZCr;nO&Z*xwy{fw1?(r-I<*Y0LEw-YW3NttKa!hhiP^@_5Ro2ul zyP?3~v&4pvS<^on+x0wO^iX}0+zq|&2EA54mv5WR>2-4XHfdRn*}L2#|7$ZoseF@A z@ya>o^8}HLt`$!o>xQhH`kblyVMxrm?B-`hcEO&p3oNG|J2j8XW%bIZdwCsK7ryMj zC^CK30)_)K1%fa0JPgcnPvm4v<YY<YJou8wht=jkGj}|b%^d@Qy9)ci7*%pjb=b2^ z|65X}$O^d|QU=_Ac5rY_^pSKpYd(EpW`)Q{`IBCaPhTi_EMj}dk^f%I<?5^5r8l!) zDokklrMKbPT(^~nUMI;ta^Q~7=vT<#<$N3+|6z5_#C?0Tc8f8|zh`Q>5Vb|Wi}N;z z!&at>8PRKBx*UAr9K+Hh_~}rSfZ|dAoBo^`{(oJxk6Im_cisPKs)J|uwEbm*Ckx^- z9{uOeTEJF3(Yt^l#5$1AVQbue1L2HA3MLoj-%F_R-sbkX%zdYXJ6LP!U&j9b%r@*U z4tJi~Gj2M-d}Xa{S4{An?6nEpTNC*FBJDS6H@<XOw8UM3>nm?iPnF=WHL{Eq?lnAl zr-aY$N_Z$JB#>SG@mJHPH*u^Ur=K*Rj*(#7bLaHFKc^4eIW2NQE>hr3VgcJ_0fC@| zGpPyHB{LgECo1sG@E3j9FI%{eS8>;}X<Q#ZthuLiD!fPV_Kme^XIOJToaRY5mK4DI z!1Ua^KR&-MJ1{4lkzHW_H!-(?C*NqHa77OH2eq8PACHy!=r`<<e}47+Rp+>S7vu%5 z@s>I!a=GbW4gS9_`AzSYTL*am>=0RXk$cs}GieUYlPY{3RvbTF&a5%<+2Qi#W-`WA z*)IZGexJy?rm<(6)1<G8r_~l7I_Go9rdBZ{;Y{KIhE#(qWdX^qx$Nh5vT-?PAC);% z_Mz#t%$c)iCOZn8NoT#XFNZy*;p*Ns>_4vf`<}hJ{|?)pD8)>LYy0M~J`T8gfQN-g z;0(_P-p_BY{62DRf6dhxS(XBag@PZiWxPG@I6?j^)5$xx947p^cw^SZzCHd@y$8;1 z4LE*5K7HnvyJhmfN^X3eaFM@ctB_@jestBFF4;NOnejb>o4uw9Dy}`hwSwVi)2=(0 zpA=TS5kB%`0lR}OgPx{riwwV;!T;+Aa@f@bukE+FDx7$IKMy<aSGHp|?W;EMrx~yx zyu<dUhd=GZ^?f$%u@?^fa9}&8!+KeYk165KzBTNTk+DA>+}{6&U0>(k-kv)b&2o>) zuuOEjd+qM&+zD*wT`z7CJJxwN=JwaSa(m@YPOW&UC@A$-uP^)_LmdCkX(uMu_<dH0 zwUk&szgF)3qAIq|T_#-396$Ou$gaP8bu~k8<xgh5mySZ)_TFL7%sy&$NLb;{zBjDA ztdIBd+<A8J-kvx2R6brlc&F`k(A|rF<ux1b?YChln82C(;CgZ{+hfDr=Vz|wJ6t^` zllkD!J(qi@vk&;WH9Y=0mzBBX>E4_tGZWao-kna_`#+~&_Q9E_yrC;Eei6()8Jf*p zmo1>8$02%piq?v!wu%#e9&*Sy{h?Sf_KnXA51oSx80GgIGf}v3{ou|lONSM|56j0b zKDJHw*6jyZTOaVMzTnK8%Bfcs>UVoWq@2#1L(F*%YIU#Nc0RJ2d)Z>`v*LGWp1t6I zedLjj-^y2?b}$@#x>NIosmAUCz1($opXK(w_T+v(_uQ+s=MHT><0mltwUz9poqBq& zAHKQr@AZ{`FL^#+`q=cM<KMB)INN;(nk{(^<BMWhcRZYY@78s@x8EIavKCidiF<u* z-=Ty5?$xb(x*<&d0^b|HHG6mMdwXKu>Bmb>Zk!kMH1XB8u;!KXUh=;GFe~oAJ*WPI zLwc9EBlw@ac*gkt5ZAhoz18pK`9Co_ue7-PW?A0@9@mfWo8pxA-T(gXdG5Xo-*UL0 z3JCs@K5+1vV2&MMi}yvoi6{DUZ%&#MkY1_3+4>>Nj4!M8UcUV-(Ee(foAc+VAEy1A z+<)aW_iStan_u;dd`{eXcJX+rTt-eXXV8wjUs;bU9{BuP{-5?u<#z(iPkoMQ)>TJs zxyF$AvO9R&gTAU;-_sVbg(!0Gp7_0~#`gX1?+SZVkKWvH#wGg!`|i8fzp*gp90~jU zy=R)M{m+b|W4{XH_8qt_7`NwF!m$m1<o?WScJKcsd{0mCrrp|Szc$SGW>>vA&GuVU z%n5$ut#?iTf6MF7Id9e{FsWgi93P8=+0xQKC*q^xKhFv){u96XPs^2A0uxxbOl9p4 zwwZmIVW#ol@^2Qo2CV&?EqM|=BL%#z4@9h(`R7%9)U*A}Py8*XIscm({BNU4c#B&` zwS#AQn`Z$lM<kDBv!i7sb7vEeW3M9*b7Z%*v9Yq5nX<9<9P3WzDb>b{%oa~wK4<=< z)saDKx_f$qb8EKN)b7~1V|(!4;F^8=b9o{KW(rI<vtAc@a)yD~g-bKcoUUA(IYU|C z=&|YdZ{AmatjzuR+0)0znB3f$($eCY-t))vfAvg}%C64iicd4C33PboC&^`UV`)Zu zO4CFU;h;YriqDQaw@dt2G&`~*P}!wZ)4}bJ;lae+lVp6&?o@1=E5#>gQt@Fy!?LDX zX8D)CC@4KUJDXo)+vFb%>KA59<YoQ%{<(2RHCNX%j$gs)A*`B<>>N5jHSjXU9}bfC z-nJ&vr{u+)+GAyFqc^ZDX>4WOuE)3|{_VZB(q?|~J}iI2nD%VHvP`n@k<5bP17{nV ztx8Ph&AH|qWfgNl<(jbjdAW0$k6PSho`+1=o8qLdC%e>JDJ`huWSYZnv$yVjMl2@{ zTFYn0?Z5qHrqP}7k8wMeUua9cE!y&2AT7mOTXwQa)`bJpt_HdvkMzBz(|f}(j-xW= z_Nn>u51(-#X#G6TP9P!B!PeMb?#G$`_56Kp72J^~7oA!7Ock7iV_SrpG&h<&aFUpM zWr8b@>5NM(CMS<HvUzJx2nn@6xh2@w%du3n!);>4`7YOmD?&o#ITttvF!^kK<RtJj z^_uFX#&9mvtCr5a#)Ujz<Ylb-Sb59xCaU(v_}f{E#}>YIRgDb^s}xU6=oC6Gw{&ik z1f#XWq}GyzTLSJ0N%NT0(h4)gqNFmnSaQwiI6J{jJaEbau3SByPo5f8MNLua0xplZ z6fG^1?i3tloye-*&5@L;vfAZPM=sBg3tom(Y_>Z`UrgELRdVHsXjn{1ZE8Qmw-cZH zC2#di<*_)GVDzfw@ePM|zU*}j*^+N3CbD(^e|Lh}zxR*rfrYmG0VghO5e-^>$xCRO zOJa*o;pxzAcg;H1cB|~0F~!$dYeAz_=*=riU21WmSHe_%m+JLIo~&LUChS=f<jHQK ztP;87UexLXRyB<7y<8Ur+>LHbVLivu>3b%7@=`BzhTMq_P7J~ZG6z~%<c$R*WO^3* z9M3Y|v8+R(_n3_<U;70ck27r^LB(R0JR6S3wXW^F&NF{cjE8`+b~%UY(uSX#d8_|O zd{vuQqr`ow-(!=uT8MYJ#Pvu8Ti0tdvUKOhn7J4gUyH3_J$ySk^tuXT+6h7aHT)7E zTcg;o-zqn=?R(0`664drF3Z%Bc!dA+ncyjc=iFG|+WxoS6XnLtJZGb5Q+M#|%B>4# zKY8nQcbZ<6w{)z<`&T;WszZX;-uDpfHrpf->JoKv_k-;}n>2#`eNDd<tQSwewEF0d zw4}4DpK1graU?VfZ=A6G)q)1`hktrMM%<dZE9HAg`Jqm=xl=B6Ds>86UcudGBc!2{ z(R6pk66*$2u7n@?`=6NHI-45y{q|uAb)7(MjtT8Hb;*}vR(+YuIIYu+?F<X!@x^`5 z7aZg<DY#doW~9tJMNvcQ#=)XvZaixQA6q__xNnv=!GQ6DLt>gjv+W&2`Qta!i@Y1T z*lZ3k@=ZwOPrq^PxkLKeqm@UL{w1A!uIFN<`mQfZeOA}ryh-a9w6Ofw3OU#n@@eYS z1vwwPUR`34`xiK+F~pTcrYUfn9K)Vv547DM|BU|B;qK0~Wdi%V3C=FB4EZ(Fj#?i( zJ<p6|!F-X917RIL3yvf>?9Jfunb70&q<mIMGsCQ>)%TjY|9iPMcungHk=T7zjYoqs zsbry0d{LC@k@PL!Oc(L?cd*_RIoPo=wLxM5L#uk(OU}F<P03jgCOEuNUaX(dz<A(* z>y2dxc-Y=FNb?vd81YH8@8*0Ey}|05vs5{Ma?uKnm$L-f-#9e$xpJ2}KjGL~aAkcf z&r%20q7F9?cD<@)@8ShHIbAlTt`{r4*d4TG?&}68(T1d@-T!kg?p|fIzSe6+8SnqO z46-`c%nN1oCmb*8FMlB*VDsQ057&ZbrgH^+UnV?WqP)PlX^v`twZ)o6&ZpuIa%>P` zih0C#GC0LYb!Tv=Vo{RAQU$L@t;;VH7ENN>9bpu<nf*$_D$BGg-rSgrKIvt?hE@@c zVc`=P)|P!;9UbeKvZ<;;bjsH?6D!XoOE@!F2|Qrv;ye?5J8S;WGZ}U%4b4*T#8z9s zS-{BK(3ik!y|0czMUHF337*bQ^W%m`<?gRJzAL1GMRdZFs8=QzthGbtGqk1@nqJbe zS$@=IYQfWa5rGc=MNCR7GXO*&=kbjg`l<w|c@Vn*nm&Z+q)jg<s9W<GHH+RG_* z-e#u4`Tw4Z4(<AH0@S1qG;B_4YUEw{kiRLHiDk>~yA~zsu^9!oig)bheKDnc!wH8r z-dPh`R!Vg9SVuGzwOd{JIZ1iKlNsylE;k?gGOv8M^@CSjuLQ2GE!%oPd&Ucsh2O5N z;j389V)r4e^a0z(G|`BR2ToBZwZgVIxf!L2W_O&HN)nu3dPJk`Oy|{AkB)n^9nA{u zNxGHH|MHe|EVE<>dzOK)O2Go2uE?IKy9U=ztZCr!Xlr-aXE5>Sk%E)vJ?+6P0&a;# z4vFWx!tO15I<dUTrOVXIF*aL8{-=X#uj9&&jEzUrxKp#4!hGI3e${*~@N`M{`q|f= ze|5SRTzcRd7xN-J`2Xrg-kaAJ#z@8$wR#<7UR1(A@#joFw+k$?cM5h%eflW%k1K+s zMl<o<LT8~poROvsEj$$y0wou1U=H(E+%Tu@!0P$MZKgKIuNWO+n0o$$&%saE_aAun ze*N}Bh7CeH4zONWHBt3*lBl@D+DVn$BKZ|^*Q#0HOnb^CEAx3qN_WnYthr`A$9?lM zrvEmS&HK3X`q_69@(dZ(6Bka}f8cQ9HD|_yPXzcw9U6^)95l+aXqNuBH&=33vfR6q ziRS+w&XX~p)APEig72!RFmKGYx%`P2gPn{fN>$3Jy!+8O>+>@|4nf0t-$It3QV-CZ z{btF+Lbfiu-7j6WZXfP9-hSQZfob&r+Fvp~Tyu>VJvKO-YxDU9v%!OlOLz9#O1x(0 zn!!G4D^IMc#p{Tl7a3%~ZD0>vtjH-X!{IGi$IrL+A%C_72dl*uVXhSqcsJcUC~4)u z$QRPUvMjAj@|^>liN`_q^?ZBya{}7;OiDa-y38PQ=Gvr!{u{Rq_<Ex5|B^V>{pQn* z^h29nzvZayu|6@6e{Ym+Jj40qe|H~Gv+3R`TPb$F^wWxb+n(8X^KJ?!uuhrnZ~H}g z!i*J)&RRDvuxou_&n;HuJI?PTc}`&YQ|auJ1~p<gCGQn{KXD@B-^!wIxwjWcvp#kF zrWoL1R>$A!aYRv=QEywwJ)v)lFDt$mdXe*Y<$SY8|6li-pNf55l(%@7Q;92!s<nlX zkj6m3B&HN`zP%!*IYNpoPgc3>|R;NRHf!X%{o<rt&L1eWp#;q}|uecV#d9b%Np zsNKz8YNN;`qrk+#z`()4V7r7x?LpbrrHm;XnhYYCWezcFC9r!gVDp^7Qg%S%>``aa z4Q%hkQVN!a^%zzfv6*xhimy<wEK)Ubcr04PnlIm6rKW7M?0Hq>iq@bXVavX^zTKwQ z8Cdy-E$Pj-u$-eU8^4D+x`lsM<S#94D%W6;nBXSkz*O$QY~#VaKb$eol_4g8E!BZN zU7_Q(kT%zZz+)nvOoj3rl8Tee1+oNuv=W%4H~D+1r2QBFU(X*XXmKd*vx)zw7G2f! zM$Szx>Vow@-Rq-LltV>?irE@=g=XZiD=Q@Fhnv(}sWYhyiR|0T9`r%x_>7)S+j@dF zu$L<Et2?rlTqx)Ku64JCMP`$8)&voW35^~fdgYh|CMr5VRgd&|z<B=!gG>OkmVvOS z1LKVqZ1M~YrU8C7OIUuaV3{f!%XJ_*DTHl>ny}V}Uda_qY@SSYJJ`HdFpCKIm=v%T zI56j_rf5vA$}63?aeCF`w5qw^CDJmgvwq}FNv|vq>`=;VE&f`y!M!c}Q=U}<TV6uj zvgzTe29pYJNMvpdE7)pO_<${@pr-JHW8yaf`wKeX0)=f>u$esg&-nA2v&;jA?1UQI zOv#uJ%|;WGHwP*0I&NWZ;&bh~<No7{9uCZGmeKj!-2Z)wbm=S<zM%g*yhyy!N-MEQ zCb7uZC2E~=^xqQKU=~rUX>R(8!XG|$ui9#5RwQcuquOhtUg8%w7LNwu1&nbE_)`*6 zl+5~498wmf3Gxd#8?i((O_ZOY9J_mYyIcUjXCi;a16JXRth5IfpFi?n4P}15g2^<1 zkt2Ya&w+)5fmP*z^NSPCQ=c-NOPcWI1%uWEmh1(RGNQtA2@~8n82Bbk&;l)@Ww*|l zEt)WaEs|N~0b9j~Ii?Pbz7f?0E85npw{Dy+R_w|yvOz5`RWjF=*~H;LqliOF-hwF; z7lx+<uvtA|{U6Dewty}5f&A-5jJ%%AaRU5W4$L1v$WQtyB=uuvyg~=##7>h3^BKI@ z&TIJazG8KMHdDr{F`i*Ug@EptjY?HN_zgD}{0ekyWt;or$CT^|{3#BMRt+f!Taq^@ z38Wmc*!5g4ZG+;4Ps~dq`+hp6aur3rc%J%mOS;N;!I$hY@(a7-wxqA?h<ssE|9+Ba zg_~>C#i&}frp>0^cGrs&ObRosn(QwwnmE~?@2QR*8^git&R?%Ndnho8F3A4AjIkgg z<NE`~$;J7bmohT%Y?o`8TXA85Oan^=gRo&%2EzwmsY87>8cbI+XY(<z&YCrQ>eK&> z@(nB;3A3+uGMre+WL?tdlWDzeWz(*ev-uKMnQv?|ZD8;SVE!^=w$g!QyJLMS3)qbp zu&<gZQ4+wG;UJ}<oZS16?SUpgQ{jS%rx;UCP6_{}lcec$><DB3tj?=Zk)j6}XTGpF z_m#CxEcWKFHT>)Xoa!seUiivvDidkwNPWQStrp4Oz<5wyz%Gp6-i`6y!YK?d<(gJi ze^yLOT_SHVF+WsoZP}|S93R#OHm;R&m?q`m;~E*>epJt#Ez&GJ*3L`l-4=!UN2iN7 zW=N*HZt*C}j&$)Yv0Ar6$keH5%jBpU&4#)uuI?M_P1uWVuLsy~4@jNv+#xp8<_qJ& z<8!CF{%6u^U{Eud;P<n-F=E}usx5C<<ZEqM&UK*K%X+JafT*#cu=bBRx+j`U0%O^3 z3jZ<`R!UfPypv()&usw;bGK!(=Dps=XR!6niPhU8nRoA6ohQA0$FHV<1uT34t4p~V zls2r^d$EmS0SiY0tNsQSmjK3^=+&YRnw%G~vh7sdeLbl6^Uej)&Qmkmdy{(?oc85R z_w6}4H73&e>qU#T-p)T8r@Ag=k_uo{U%;YU!NhSv*w~2wt%8r-gKb6$Ow*&8r57>S zh0T8SGFkMsj=rGJ_RQV)pUAEF$-k_!&r@;T=L@~Ag|jX`(*NYZSa4xlw{w1Ky0d9g zRF2rvN6!UAy9zbT{|iNFO;>l1S~7W4>ZvG2C8Z0g3p#EtGy5bUvRrsg>9ShO;_V*R zVJ$*cR;%)|XR9pO>C4S9y?W2V<;$ZOnza_}+>yERO~>r=?;AuNSX2Ts-W08szT|Ae zzz}kwN$SCF56+b~OPZ{A^li)BUTV$4p}=fYvsF)nnZtm^Na2WX1{22umZ$_KFPkII zAC3fEVA3}@8p6XGoO3kb!1j*r)qSUT$TqO0CTz8v#u8J&;F-WyF@fLegSO?Zpb1O$ zlr4l?pZQ)+RWY1ca49syCClf0<T`T|OOfM@do5XX8CcanFztE0BdF(u^qn343P=3~ z7^ZhmHUG#uA-FEEyj?rV&3oeiWNYu@i4pwQUdt8uxZRa-JEuB((H_U{&kS2%vFz+* z<V#@vy{u`OnsR0GKCMFGpNyLXm4s?6MN409QezZkF4BEFy(o8@AJ0aSifc-Lx|7oq z7BCw2=r7V=)2uA$m^!s4eCOlh5V6hQKM96J3H>_Q`y!hE;P#WQ2N}5>SP#wE@nOym zofS=;-8-~auox{kqITej(T(#yFBw$~R(b7K)OvBw`h?<@(`DWVo&8R3kV!ar|J4+s zziUMqIt*?cDq~>K<>@d9U<`3!Ei2f`6U}(6dh0>=<=Z2fb?!Fl>|Jd-fyMP(qN`b$ zeA(qpR>^;wl06UErh2wyB?vtExuRQ8;C0b|HjxMHo(3Be|E&9WbN;bIQ+}!W7$xdF zIi;v@^!PCqrf)ATgrYMF0@%xvuRfFzHep~tzr0bV;hM+;)+`6M><49k#QMKqD_A6> z{k>|vY1=xVhkHxEif}P77@3P+nkwSjxMD(=aQta!k4jOeC!N<PMRFzS?r-%|+<j(I zu~mqdf@31fT2|}aDv^`k!Vyz8hdT;ZbBeZm_ON;TScq9$u+QW(6}GvNY$WL8BkA_M ziKVe?&k610woCNh$z0T}*~!*9Ta1SxO5uoF?w%5@wL2thZttA?bc+aw)y8evrK#*4 zb*uE`d@pKqbcibW+?>9S>%(%LoGhW}b%#zj|GKt9>%sr|(<3i`S(_ssmLg_$KQfeU zLSkZ$$Nl7|_l<cUnAwKSk8F?Mz*exJ+U>)|+*r2wfTRLh=P1|9NuvDi%ahK2OS-e| zm}M8cxtq^-HcJT>_Ki+g8#VXnKb)iERk-Bt1;aPzbYCe(Jc(J8EPsz%)K-yc&0Im( zjZvMyg|~KW(s;e}zj=eDyQ{q5ZF}>=s4Yr=Cl!V!`u$?J&irB(IDPug#d^$p+!-R4 zZQ+QCNnBU-W{&7_Vd+m>t77J=9q8NGwZ~?M;`5BVO}~Ua8JjgdRtxD~v<+dbJIAEP z(2@82`TbQ}<mcwU7V_EZI{)_13yCQiuab)UOYgngQ+xHr;<h%&`?vl#J*Z+6X`9c$ z_v#C;<d4WiwSR0e3J+%Od^NFgzL*}rs^CM$eW4#6nDYzno4%D0*~WBEnSpQF!-<J( zEZ-7~3Ua=!eJCcEBt7ju?{wd}cTcUnBan1$>V-x59tl1-ZZu4`NMrSO780zJYhN_m zW`k*n(Djsk>1U%{`U;osxG8Yx-2~eP{?O?WtIj?upH?6iaKuFPp^QEYtMZn~#jg95 zJ|#NuT3+w)``zl`bIE<r`1;-AxrI#=?{4mL>-YPZX(Ftpz*LYRnzTT43y0esowbpt z74QGLSoiNjOWn4&Cz^HhnN$uOl-hsj(k!-wGm=>e3#?Z})q9=wbi3-=meO8c5vBT{ zT|41R=>!IrZC_4JyDu&l#>bW@aO}&mx*VVTp&t5QS)L^v<NN9-|DbF6{a<q{lJ~!6 znYXxT0ds)>f0}@#%u(NO2j!Upw$<<mKg?Xw$;WTgo09nU@`nVUf;&4Ogz%eP>^&B8 z*DWYH#YA30V0!;a-Ai^N`?tRPwZ%7aoBuaEkxzP?j-K(~(Jbsa^J(47b-s#hN_p~{ z-gSSU7aDR0Y>KsJ`TFtU?tS}@ivIBG*PHRX#(I?&2W!*=2E83y*j_S}#vMLsyXt$w zN8O^`Q43g2KC))CxaqukUL|wUHf6q)$F$z63kQ$)ZQ~U7$(--4yCNw>*ki+$)DP_G zADRy?nd0^G|Khe&*=$!>>RA~Zm&W>DV5pwJP{hE&sm)o`+E&z}t=-C5s$JUD-Bi@v z-&{JSe@6GTzBsF{uD-s7(-x*IT(Eel)sn6SOIKK>Y*@N}+ji}(yY}o^V733i!Ib#; zv^0DEQ~XSt_Dp9^NpYn~Nr{MDEilQFGf9i*KmH*80>9K5Caw!-&)5rV@;{9)IL-9* z;wdhEdreI@%?G|S5?T}vHZXG^`^<j9<8U39@;~Pp7alrRFz~bSa9p_0TrVfC7cG{* z<YcSnk(NIvg6=aL@_(Dyv(jJf>`bNJnmHC5o*&TX3YpQs#OlDy!jUD>+T_3)v?O2( zk0IBBRb8vSRxng3F+2QcRrS(hSm4C$(8D0Zu;IcY)nk(-7(y5d4lHbH;}SV{Q6bs4 znak8;LcxLsP0W*4-+vX;y}6xR$|UnlLcn6TW=W%~QxXlD(~ihlm6Qn>Ja%-RDX6Tl zAnt6`*ACVdiJRx$Whs4odv*4EMTXTESY7r%eIe1f+oJH1uY!PuL%X@6OVNod7Xy!R zOPZ%{I(||~)nm4TZ4*nPfkXR3*9(`EtyD56FLLVR3hhc+Ri_cI-JzL0{ZNe2^iLWA zw-Qp{JYZ(AcDUdmGkv1tF-dC^1y_;y7bX5iM{699xnG#V+-{iqB%sk#+0rD?kuP$J zpd0Vf8v_1zKd)SHkWt(+(TVHHjQ>qc3O|)6xLdwcR_WKRb$Mc^$hwlpOUE&IlDoym z78P$Fy9bVar;ps2%*D~s5W;J^;z7f7FHP5wkOW6VmS7Lwg;zr5LK+&F89E*?1VvpD zZQx|AFbxZpDOlhb8M^TR6QAsrP)Bx$B@bKKJf^g@vo#ccXq3vh<H#svGRM(T#w6n^ zWBx4721ZGi8wt!jW&#sl@vc6^z|6SmTGs2eJDx?Y<~84NOPgmen{@ViWrow*>o=&a zUbX3nTD9{=bC=&aTUIDqH1ist*>ITQ4&MY<F=mg04g!)}4j!+#pLX!Tt~YhB-)^@| z5zOCnx9s9uzSuVtbobp|HJh3FKifp+U3d5G{;wx)vgYGaey3S3i~`p#B=E8Z@=S2% zWA0F&#~<|Lf&;U0MWK&{%B(H?CP@y98O2jIm_>XaE~$9rsBtPr!0nvCmjf*FUzsnR zGtIj)`2t5O%i<o6KuP~o-btQME~z*QFERD_x975lb)4>G51+EVDbozA3a$n!X^4v7 z3{`x3C5B;30aI|cG6MrsOz2cICZib(TtiLP1UGVt&IoXfRb%+jz$udv*vJ&c>2**% zt7f62#Ze7`ol-I#3Qke=oU52v&+g=E=DW-gI!mhNrNeQ?HM_kSgxBw{V|c^9L+@Y_ z%bSA{Qp_%f&F`vHr2o9HezW1N-0q!u&Y#wuw_5#r%d%VlZPsqy7L~n9V2#(`_1jnN zdd*>7ps&4V(=7%&7KUt}b-y0<zP2mBzij?N5lMpu?{+bFn;$Lbk;va85-HLD%j*K8 z@r;zBrMr$vZJ5YxR-w-0IH5^Ig{6`69Yf8plkO+4B(Ss0YEF@uz!{*THd$=$i*zrp zNteq$ZSHi?RIz_GktbYelAP=lMz<I4#%C7t%y{C=@G7C5VV>jCzek)McvpA!b$J|~ zT64C<<I*J-g9nWK2@4EDzc4TuEq4{p@M9@sW{AFI!m`UYu_sD^F<RijG>46@`DLDr zRw4$xDqLPXTmp`LD%+1=3Q(|Kt<5a?PN3bmqS0VMvMg)HgbmgOkGcO>yl7*~SjcR? zqK~1_qgk!dfWg=9+2jQ^J~9^;uq!YuWMO7Fcr@k!gE-4UR`Ju0oMi&+*JKwktU0Wz zr+UCD?$f5SvnN%wk}C}hzMd<uULmVLJ=i+@t5BIx!l5?>?q{>iglDmTc=~!qf%OgE zgxGa5=l5<Z)qQc+A@0e;Y5RhfYUQrYW?$R2eAP40cHX}WBu?*8xAa)XAp7QE&F4AK zInKB<Sg9<ONMT5_Q&Dedv2yM>d!dt`nPrN=rxTJ2jmPb^oF+6~a8b973hEErA~3&p z$zr`FfjnEc2&VpFP_T>fa4*{-uVAOC7V4uY>?$;Qt#4;GgH@8hzm}`^QxWDrAO1IR zOzC2=VrpRXdfLDgH*N9WM#G+@HNxWG-CAw582I8&&S85nVR2^00cQRK4GXS(;APBE zXnCP={K=UKEs+x%`SKF@UONc4?`v{nUlYwJdzGP!d5yvb_6v-9jT1d>k2G>mXw{LD z3HAzZQs7qDp<`&+?WK?)7N_unN$S@r))=+0^=p{dNPpmxva&cfWrdC-r-}4woh1jS zEpuI~+xk;qU_sF4bvaM9mos=5Tx8rZ(}!6qLcCq*#Om#=(hlM!$IsllT4c#OA+2nA zr_HNl2TM0J-!0mAVg9FAPq<4Lu&$l)z~-CV`N|8$Q+XdPXs%4@=r}3yNZ>SMZ{45c zauR>nbN=^D5uEwWNA)j95O4JpWARNBTJ0WrwwTTe)L_i;XpU8xHtpfn`FU$o&M<gb zKRS50)#PxtuE;Er*dvc-*|sP;d!OL^y>Mb*L`#~DW1xF<&V;^q7Opl1P7~VS2q<yy zJmJAsG^t<aiL$(8hl2^zlxCeaHSPl^{K_^lESa-Nw|eI3K)%h>kMpEyv`d}|GTS`k zs!f{4a_6&u<{r0Qa3<dD_RmulVn!3c+oZ_xRGzBiE9zhBF+q*}*7;Drl12QrPo;Nv zT$s@J#oPbNBJruy6)k*Do)LLu+^Qp?@;9K<O;M=7=gt{*-^C}d1%*vo|MPLCLgK7z zHzxA)hreC!aI|zu?VtZI<oB;o<|%aR;xWn*J)5yu&~WSeUfVYksyk0=esW4Vv4PoG z!jUg+M}weV0i*E;2ZmUUW*Mz3xw*yGw}l@ZG+eXhq<+b6r(*_(r}Zi}6kfS~T6uEO zzSp|>b>SQx(>u%OzGvi9Uf^gI&E}rcQ^3RMb3h_q;IRCifP%K~()S#6+MOTqerS_s z<||-$r1I34->BsdPXR+a!yf_G3Bq$EZhxzgWtp%^ySwq^dA*{kv(H|X4X!*9de4$y zXz%A>^_1&w?OR-p{$BDbf0C`Qx#)^vmr(s52i3ocYypj%7Oy!gp!}i2pxvuhNPXun z+2FS??bM<k1?Z<NdV2ShamR^7`Tr}g+%&mVc-~y<(xjv-#~Rj~xc9A_An(YsG$yam zG0sci*zGS%<J-(Oi~9dO75(p1tY5L!o9gtFyEQ&}`)!_O=wEd-f2V!<yy7+u_Ea@# zsgvu|3*StBlXLNZ%z5+s#qV0<z67h+UN`zwc&C^{po3va`?@-VDI4@IaS6Y57q@)a zuhaYT)4aoLG>Rps&C$5L<GZ_>LFMji{y8c$cUYb}6*1AF;e6d5_IOv@Yt_HEhHS3q z`Ektpp3$@C`;-2C|Nr8jdA+%D1EWU67xo&fZ`IA)8mg8za8_hFC7T>^tLNO2EPSJZ z&BOScLEYcL8nqUq6!E(M3<@fn1dU6YI>d9NT>mHD3s+IuX5#yu-_WBby3N_brMb|( zSV*)qaC)iHMn20X_rQ>bH{t^J4J`5#S}GbCJqp<0A87GtV3e59BGJGe@`E`nqBZCT zWAuy`!$p>sN=)jls-g?ntd&BSCbCUw<h^<z{>%nGlV`%!42<j_7_tfi>KPbQH?Z?= zVBb*Sec*uAr4;Y2i<zf6v!@w^PA)F_Q^v#hNTJVyPuZC7qgdyRj~yur9;edSVi$M@ zF7V8}ppkijamf$1`~~bwc4(}OV5}Dwk5d#cI>>18x#0h?G|dDy*#I^+7R#&v-s1+A zM+^8RFICNStNEbLCVqf<|HRyQ1@^oRQH2ZGpDFTe`|`iNt(5Vs0-OF*wwsICGe1PM ziT1Uza&c`_4mrTMy)>dB)N|!iw&m(cs+W2GsV4n12t4_m-#VoKKwGIgN22-;<xu9V zDbs`|s3#d+E{Qo-VOvsq{(}7EwB{q%8_!Qj3ksWHGS%7TMZLX3tIWxX`dcS@uu8~k zwko`wsNBi;I-N!9i1LR8jN5mxr5rHMQsbB0<o{EE-_Xh3R6rxnk+EO_qf7vggC@^@ z1sSUZwypzK4;L^_7E<U57x;dxAhm$)=ETmU21W;OC`?~i^lN+JpVk~<0g;J8t|2b2 z8B<+9HH7>*z!y{zChsuq#Re6rrNS}=s$2pZS`1T4CDmI4#r;+Pn>9C2zx;r)G061= zL-Pvto_A{Oo(eK02C`jK8IH5^a0bkrHj}~mN&1~K#vcOwox&Q=E2f7ih?P08Dij7< zE48d&#=u|@`g%gC(UHVo31KxU!n4#=V=rgv{m9zGIpIIY1p6J6bd55P-Dng}RGImW zf4O<)^69<2H~DxsI<sXqJD8OJI$j}ZS+B5j;vLILB_bM4ix`<281H6IQt_N;7dZEV zfr<V^rlgEMh3%8LmMQx$Vle!~kd!(@LV>;QD_7nIrnm<ZaT8?g4zO+xW%^Re!1;mo z(vkq{Vq>NWvY*sC)6`OB*bAOsD3BEIkxb7zHz7=UW|)FjtK5fa5)+*5C;VTeEValZ zwO-exOuwndOrq}hMHP+2vVTu`Y$h<U9$0L5Yq7(x#heaoJzrSM92loIGEPqBWt-wG z=sr10aB10Q^Xg#H&{eEKSxf7MmR3$-3Q=hLet;)gmG|p}QjTlo8NUQgw5D%-nP7CJ zDS^FK+asY~y<E3RaPqM^${vf=u4ScJEk3`XSM#yJMTNkpQ|Edd7jzS-lS<^fIx|@- zRf)|}P*6kQ>#+b+uk4Ep0xm3QdwijLQUqUfx^mI3x;LKL4lH#yU#vKlImck@%0CmF zjXV-q!g|!d^__~W5iU&9a_m=J*elmq`egeuo7CCs!sc(1<n>D8cd#&>5;SA-5#BV` z|5NOLu4!UopW-MP<mz5(GDG{w+GfrvRXf9K1Eoq>)@g|-e5$N%i*#StnYh9-#85Fr z^Gj&hCGp~`=AW&c53~tsdzgfj3+gpZC|R{y?nJ6)Ve{V&!lx~p`c5fJA5(t#J=A`u zX$M#4S%GA6#@goeRiCDp@HTZ`d#I4QfvwMR>di#<n;SPhIm(xkz+N7}rZs!h=Y;t@ z?rh4xJK`P`7`h1_pWa(PtJn4h-%pQV1I8de$1L{O0ujp@oFwYB77FPLwrI7uhk2`f z6)3GZ(mZS0EY~CzZAa!ZgKeS->=hRs8D0v#K9E@AGDFLOx#9rh3gLNEHirDDQZ1_t zdu|o>aMyqSYXw#z&ZfDul^r`>KJA=TKYPdPS<0_2nCM9g*GL-*RyVmDt@mnn(tQ}F zwS@2T1LeP`oGh3VLq1IujGQPuaq%WD;Z@u%#*LQEPGNr5TTE9ilVVvTqUgH)web1y z7Q;nJf2Qxw5MVoGz2~qs!|L*>PYn1J*^|FK7yN!fIMQLyk!Uul)kzPZ&k+(U<E-BM zcgBVvJNDXil>YZhjN;z9*NQPtVejG73^k{OYJQo#<;)fiGYK%-X|AZS)KKFd*ZS0_ z>pY*B?B6NyvP$LC%xwpE?r>lf2~HBeecVY}?0{)Yw&K!l@)vi87rTTyhnfVcYJBV0 zd6s?TWX>hc{#zRTac2J~3QLwNnw4*{TK(32<+7@cj1{{NuHI)>bJ*m;dSQXRW;yJJ zhYr8;-fNr4;#hF_&}~-!OKfgBdm<;u@+2JL*&r;Oz;1SiAu5SY>2qQHhK*8AY?%dz z9Ss&F&pynk$l%IzG~I#i{+6T6h79IsSh)=ulM0TR$*`n-5caP*T<}0SJ>hU<!O{B* zj_P=*evA@6z`0SNde(uP%ks6H50vc`mPy=S8Q7_FGVZ(SRPUr;0i}_PRd^JQC9WD< zI+iMbEthTFb!eO5<gjY<U}d8@a}&DVZJkbr3OjRrWOKX2y6boUR2#;;JBPJ*95#P* z*wy*?rQOH1KOHr@!}`i0PB?)rVb1@plBGve9!T&kIAXqr{oky8p)$gDDp_echif++ zkH3EG@SZx&gfmBev-ukd)W#flam|n_V#_Z$>&A23-)ZO58?!U4oL8JY-}k4K;rDEZ z%j@%RZN7TCN#IYvomqyoYennv<bBsJIIn3~@6+;c&xKg+3(HoWF|%P%J8@wj_mNB4 z>{`=~zp7>v>^S?1n_af{aIC@E3ps~t9OAZTv#IPo!n5F#LSd3fBAZ6;;amkaW<>^_ z+B2GJS^NGRD_(W(@a#@M-93&0Y)@?jQYKsu$hp*f=luL-7kh2?bHyemzI8GaNmRdj z;=k6(ZFg!ezuCQa^+r}TK9^N&H-1f4S<G)HD}3AG|Me+{c&|zY?mu2EQhU)ueczI( zQ%SkyFJuny>b{UV_gY!G6Ju?YTd{Kc+`#>67u054V=`=*nsxJ_ShirA$xL1$gRlKr zR?e$tCrRJE75cniM(}E)!@0P->tz{lGM?$zUvf>!c3&=U=DBodXW>gy)<;CI&5J$0 zvCHR9``*+0de8kl!sjw&RdVQB^A!~uqI`3#T$YCCuz2T8Nw1&jyWHGdF!1%>z-%SE zFKcBEDL#I?=#}q1W;WA1+*<;&?_Vq^4!o|kdhIUjCA;(!`Fxs<oJ#K96yK`P_&}3! zi^=j*2D=Am4wytT3!9{;8ATQU+?%*!)=EYtm)8s;HYIguy|!vH{y$)o6ujZp<!2w3 zYcXz#y1kX(PL*SyNqv^k{TiqDcOT6vySF#%UZnVgN9tQmPCcF#w#CFxh<_i?Lv_m& z?)Ts7Zn<u~+jUc-X(8YJDphmGgI}|z+qQ<~tTqu~<5xR+Lhs;e;hwOM?iHEusx#L; z6O9nEY<lWADfsj%o+TI8)@<ZAau!;)jPFj@(?`6eN7DqZoAcJ?HNV^-&*S{mt7P4M zs{_Ux?;SkpJ}H<ttyK7!16x)B|BOcV+=$LA9~f?UY1RhvxL*;^ve3+74PCzYWzFfZ z99OpNrE9BR&njQNU7uOx@`tq732BYHwua7oVR&#Q(;?T}*ZEHFa{3gd#3#MlrtE)B zWL;9j^_yZhHZo*n@ms7i3Nse}aWG|;%cob{+gES@Sshjqx1PzSR53IxVqdV@A(yP_ zCyWj@i0^2~s%wxFeO^}i?uYdOi8W;r&8oZ$`Ms~cpP;Ssv&Yn8r4oDobk8M~yDWv) z-8^Hz;$W|~N{xx-9j_%fq9i}v6c2tXuX0Rza)@l!htSIEwLiF~Y}_|B;^dNJ6Lu&C zypr6sWXdA83WLx!?txPJmQwm}I`h(h7amyE7Toi@x!3LsSB`M+yEVJ@?$tkE<h6Rm zm3NDppEvNYT@fz7vcIkI>pR8`yU(w6Q<>mBqoRBNjAGSHeT~p1?slvjODoqD?3;8@ z@6?8~CtA+_58|8e>b3QKN!<y{ug10qm$^Oq(4#kd=kDw<^KWa98SA<VIk1)ruIF#l zS82+A`bl7ig8mNAFRv`*^Z#|Lc%<;|^3#;%=X=1=Gjo2~>4H7SvtMi1hn1Ry@aqH# zE4=+SJ<B^pHNaiS{Zm%aJ%gaj!R?Y+Ru_dD+m!<I8#N<xew61pPtKX(Wh}#5e{R0g z!<oS`eRCA1J@t6Mj&FTdaoo?}t4s^+4ov+c$WX}e@rc%%O<JoC`F&FP|H<C}{r!K8 zQ~&?6XBJ@Kh!kjwv=(S<Z)a|f<mu}R0xz*OGiEWHSvYg<yjcra7EPaStZZz(a+)zS z^Qx)V>sSie*-N&?{4dPhm6;hBtIB+Ezw!QFOCHNfYg?zDo4WM;rNXIKHmr>8W}Xxo zIq~kjJGUcGSUNfeJLU$z4t`hr{w2>{9!DO5+b^EK=yNjr&+z|XgJ8h|-X<nyt(X%R zj&;;4D|y+NI-Th25O<$Y`N83UxOst1o!|!tMt4@JZ*MLxIB-~;SEqhP<4U%3%*qyp z%VvBy?7=ljv&3)4hT;_y7rND|-JPkl;`}n<zGqXcOtV5(h86lXEM{BAG?~kz%lD(R z16N;$|E!t`PCii^;-j0selX4L+EM5~ZHc$|np?YE)nyzi1QM3F&Xm$pk#OJmxPf2U z`drI}$tw;|GmX7h^HWGwx|jd<g8wbAj8|G*NfRsxe$DVYI_AZbuEVUpGPg4>iM$qV zE!R(9y5j9jN8NLBSFV($WN%$Nb&C51`J1=H^MBcu<o-DDn%Vz%S^1UNnC;<n|JXP+ z>GUoOe-WSby<axCB!jbwmqS_aT|`5n<FW1^jsnNUl{p=R++C-BVUR4TxOmB<bjru0 zK2mp<TnTY}Te7gtk2O^!C`9w?;mCB!gJOa1siC4_nn9+GOfoALvI$9jX$|*`zo^>8 zZuaSfxV!SR60x|#n-SuDF29yukCKXOy~4<OR9)3U`9*-6WXXk(at>2nHC3Gw<XmQ^ zEjXaiHFMV7pPp(*dYxvauM=RuWxwIdNlsms|9678v#mCKlakH5&={4w{cM7CQOCPO zr+G3pwx8C^FjysH{Gi6zzvSY~&Hik!*L;>Oe>>;1hw}7!-%pr-u?RZh%u|^pFoR_e z*D3pWfvpSp_!v{TrY;NkGT&9`uQ^kF;RMG75B?g*Hc9qLUt5{d4hT-_OxxkuCLUk1 zq#@X@)O*?l`;ALQ!@|BkdDJSgPU6uHy)@G){jSGCm3`b!eZ9Iz$M(YYeWjgC75Xeb zW$4E#ZP=n4tRk5h=I;BJ<>{2ZpUgMyOQsxTb>Ypme4WH9`t6m&l$o9asT)^C7R{Qg z`prlDRB0k-k;d$kER4q8kIpdY$(z4m+^E<-Tknd=tj*_k{V&~k$IMb?El=^<4L!v= zw;o)Uu{in0*p=<wlF6pl59Tf|wQcfgI%U!K<AE=8<Q(RM3g2v91QJW$8O&1M*d_DY zkwZ2?p)qZZ1H<Z)O;*kJ6Hn$^xC&aDG)Y%aet1mI>`h>MW73qXfl--zm$XT8U0^)O z6EmZF>V&&}7QbF<uClng({I_kD!+Hf>>AlW7dhnjdTu*%J^XxIYf9huLo1GLGiWOf z_uR2~ihhF1y{F;9T$5O@-WLw;{P^|N##5_~n8|!#l_|W)XmN!5pziAvOfw_5pD4>; zw(r;C1#3Q;O`g=tcP%*O;7OgSD_BfV>lC+n^%ygs;9TBt#Ii5%Qp4sjmgfI5&myFl z9-GUAtVn0?6$rIFcag8+$YYtv4K7+Q*mp8oBw1aYcu3{b<q6wQW_iC-j7&6I$ZY%} zfwf3M!1K(94Xr)?)z=qa;z&zmwpw$5SNTWGMvf9o<v$6YpQ}10FKl48n)8rH?9zo- zC6AOY9$e?D{Y#*G&7>(yCUEyeG0r>i=&Jbo3RTaqrzZCPW8Jeg$D6^wG48{YQk88F zE^0bkHarkvKJrTR6N9!vx5TSO4aO{iinp5EoLd4s-m#{z&Hp{8`d+!D#F-w>`Cn4b z&QX-P@@A35%@=LUBpxvNvL0kTsljM@B5-Sph?3Zh2WK>#KJ!lvc_hxvz<9~Tlyzxq zfUxoZ>@#v^7f%bS9hQlHeamK>;VQixo}$H?p^6@?PW=yiMT|3!7&@j+*j@T2x5Ar; z@l}C{Ax8rbOM;ltTJa<8Cwz@|{yNV1Z39E_iClhh1LsDIBr(PVDxB#z8YSf%8mCWS z^v-+Gz`kSa(XOy9rAaD}CAKaK6gZl<Sifs}%(V`&$u_IYxn9hTtJ`jKprBBlA)7l| zf^&nd-Ww0EPG`l>nj4)S3D1|1UgV!K!PeuFakz^Nuj=QYCyp*~ntC_Ek8!#tSAbB1 z#kLKtIV`FgSq#Bb9W~l7oq5Pq{zO6c>4cWkVS${nbxC;v%?gGW7xJ+2I7~9=k*Rrc z<od;)0-+-3p8skWrq4)D>1EUkVb$DlQcYOTdE<j44{WY{mN+K(wDZ&@7k+6a$sUPE zb}JehwwC;0PMvy?JH_Ba<0RMJ7E=yJ@W1eSukeJeIP!}6w$STh_Ex(Lldi-*`86T* z*QfRO4{ls$@-{iRrfKK%i6>OfW=~rCZ<APG$O&g>MFv%N^Bu1lKQ8y-Jt5aJLDf7V zbI(ti`Q@Ko*o{;Ua$B7heNZN49-3e*vUo?2X&Qq=kd?D}kJi~GAtz5Mq%g>aJHNK^ zc)ZH?jY8_8i&r^3OTEAD3-D=Ho$vJS_MrxrZB;VTl8#{$6N?Y|?)wyb$HPjgfpbHv zj?7FYmT5EZd7pWHtnIbBY})@17jnL~9A&i%=;oiId*<#F?zjbwxqB*Zmrm?k6d!W; zRSUOUPne{7o#MP{n|qdQSIF>SaL$YE`y{-=pxooO&^u-ouj!R<JIW+1BDnZ2m@Qp& zV_x|*{f8@DJgvTT@<?3>+ImM!u=C&p#XFZ9nKA_8yzSZ!w_2tzaeq7`B;uFA&rH{= zCzSn`O=QbFxnZ@o&*qIrg=>;I9n+^jSZ2t}?6T>b1iJ;x!|RSuo?lxTwISYfscHF| zQv!EF*vo!gXcL;z$d;wR<(U<f!j<!O%|5$U=Up4k7<v=<^DZoGs<T<dDcPZX(}~l| z=0k%;_5;3Hi^B|38<?&CIJmA&z9`l#r1F0`3+ImAvf>5Rw=as=zE9Af_i~%pr75qJ zPV`+2_MW)(y9ldjr)tSVj-WOsW!?=x&${38togWR@1eUpH+!ox%j{8Lu$aME<#8p* zRcUim##)Ags?*9cI~Evzy>_FWeP(`e?Az55OCHIu+OS2yIBmwF^QT(xxuh=%JzM-f z>eln49Y-(D*xd6hV%0jW9KNf$mh(#PTy6579<}P!gCimahD%K%4ofvmXnx<2K0DjH zML~&)QC4Hk(Njjv4*MH~nI}HItrKauGjY=b;~YJ%j1FDiBI!l<>H@WF7k)2l4bdyx znD=Pfb&aqYEy~XwziU?PJYC#>eVY9|S6%)J!M6!P3nx4MuZb^t*ubQgSJpY}NP_Of zikiSP)kjO`6qp@vc4%}`I6qxccnZrZ$({v`_bxUtSY0@HxXi2e#2g8w>+BnAIA;F+ z;MDWd=ll^~F5|kUp8IUi_wTdS{ac#u(3^Rt@z!tEgB&k9vO+$0xcrIT*uyhxxmDU_ z-t!NcuM4v3f7DT5$R=yRke<LMa)6<10b{BHLwSKyR5Jg>1df#qjDJlm?{8B`oxoPz zz;@cGhUtN|%0eB%4k4KY>#PE{V~ZGU8S~SxxJq0SQ7#hZG0*RB&)*-K>g-sM_${fC z(RR`I7?+Hgf`eignPZ)ssw*BcS_c_O2}qo}W)SG8B&=ZPE-G0)?Y~9B4DFHx=0A=M zrzWYJZD8V`pt>(SW1?Uiy92{YQ^hO+sZs~F-iwiy-(vX!<E|_gc>cWh-qvC>c8llB zi{+13JG9m@2G;fd;BP$9F<}dPlo7XMuzhf|*8L5<6F<mY3go|ekS$Sw?Uevq?gh3= zgRaC0?3EYT><ai<HZX0{sI}U_bWy!_s{_NjK<@1qy4g1{+g)JG5nvHX2yp$zaCSLc zcoW-BL*euUeqIIE!sU&gQ{<VFbd(d>jxFk8F%n8K6H59ZtUg2cCsUqSF`L+T);mJ^ zeal@}C+pcibg7>rJTcr-Ts7bRg%xkJSjM%Q3rAZRuctblP+=>t`d?w-^5}m7$BdwC z!@|IY;t?lWmjoo=|Jv3yS)FAAyX!Zh@&h_PGnixo*yl8>S{;@DF;P(2phj&eL)nGG z1Pj4@i8et;c76tSo<;3dD>^E#Ra<6GwCfb)TPQD4nC-$jS%0NP^^7FpgPbKF*l$jd z&Rnc@Pk}Y$CvV6}2HOJ+)(_aW-k7>MqkEIYw8WQFwHrKABfC4UOzjBa-f=^!B8a<U zlVr&PHue|R95ZxIDlv&%P>-o(xOju1P<%#cicHJ_R^g_;lZzPjSClgah&{+q_`Zlu zOF(&Ba_p93;lE{8X&bEqp1A}E2GoUE-8D*;X0@JCE?O{g!v7nUUQRY=FT2NoYhge6 zzh%Qr@s&SC!)COmm@rzkPWF0P-Bs)_ENE%^g|&G(V_E@wmIGVEGe+YJER8c=3bzZM z@L>M8gPl=G;nK>vH+M4pP!u%Y5TJH(Qho6hp^I(yGp9VWoN~>r{OXLkYZj?*jbJYd zVCQt0U-ZHJqU4N=oVD5$7%Woemo_+Wdcl_dfQ@4n^QMEWc?r_i3al3;x;JG^%gpTF z8Zm8K1cSKNwCv7>7t_0Cs~EQ2kW#rNwQELqMG|w~hVm0DY}icoGs_vaEKsj5>MmhW z5UAp?ULY+!QCE6qlklZp&8bZ?4$QhIstgL3h%ImKH&;si#xV7=2<ubfhclYBO_eHI z+~;{(1z!7Kp*tz?+~vwEqOF4IF>WXNC5y!6E{I-G&8t^jrrseI<Wj&FxqPo@rcC=3 z$%RwI1-m^30xBGYOq<wuDJzRKu$=1P;ANQ6&Ba(UfhAR8o{Yc>)rq<(8<;PgoG&n8 zWn-jENdjBy0_KgZmdsz~-jAHJB5R6p<D?HOSI!W#>`+;d6v>cm*}di0RQX*ClQgGU zF)Y~3H7!H4HZ_tvedn}eR*RIQ)*RAWq}Vkry>sE2RcmrA*Pe-5q_V2J{8F5>=k(5- zHPc=)Y6Y-uxgcfoO8v|$Hr?e*dnK1>{>XKlrNhO*&T?o%<98RCM#fh!bR$;?+Y2nM zb5V-0>gP>X3W^HmZ2m92vo-(VRlP;eTM7+rb~;<{N-ivJQQ-NUnslvl-f|m_#Etoe z)qI&&dpPGgOHPq97d+53DeVV?{RfxFY=v4I*fIoIr8?P#H<{HlFg8T8RWD$!xm>e! zDI3RB7V}^184A5Ur&d_)Hp>WLFD;OkR%|q^Sa~UOD<hM_wP_sAnsfJh&1c!g#H`i5 zZ`JCH>Wh2~)>tiAn0{L-+j@<}uQivZt6q&_ICg4H?#*e}q862VFFKL6y{^0abky3W z?6noqiylk0tF7v0QeCbaHTm?(D&2)lq770;QW}K^qzV_P?$ro5TyA;x`_8)>t}Kff zH6s-53-o0_>NG{=+eq|(3oEm_@n6hNal?+#-FKBz-xSS~G1cSCp6%`t%=>xwHckoE zR-xm~DqA)OtY}X=s;xX_W?I><RW6!SoFpxOBr;oVFxQD@x0=8bpJ1uGkWu0RW5ohS zkq_*?KNqAwNT}Wra6dXvf1=LAWsFlA`aC`?c(aYY`#_%c2KLMk?61`n`n?%F7qE3q z;8=HR{-u@j3_>%k1h(yynzp5?yDpo1y7uCj3EQ_GVA)c|knX)*de6bfrw(q~v8{yr zka`V+!kUBmm5Zc&*6Pa~uF^hyeO7njjQA^+mLIa_=pU?-YhV#N%4j-)WyQwOIsx|d z0Jg4^Yd={FeQ9clZ&<Hsy6ata(4)2`?xz@|8vi#hKQ6eryLpG`(!547*3h&iCv^kb ztdd&#-4<A%II&Fot0?=VAm+-R<J@^193u17m&MBLImj)(<#Cg!lL+5SOV2HhSANWk zoUP9Ksa*H;CYyrwB|Pc#X9wvuGM=2o^~iI2S0<ZoG~+sjUTZ1V9~+pn0~kdc_6sO% z&T3~9abUE0z0c*&zAOet0j*w3sopjP)=;5sJFKSF9g`}H-gd_7;I&=$zb9|^Ik4^Y zo--w<51y7e#LD1x?#)3NnL`)nbhCUoqp!nd_UEi=&SAZrMXFtEANK6%Slz9z#Z~w+ z>eTDSK6eg(S;XM6fo%?hRLlmQ`<v&aCdA#*I(pnlc+TU+28RC?6&07<ouOkKC~UyU z9%?a5?^=O>NLuWg=CndF?&M=$7gc<f@_#)``Qs+?dq&~8%STVL?y2Lkb;)Sal#M+o zJzKwbSwNu3jh$xgF}a-^8rLmY+!X1Y(a1jg@!A<@#AYl#{KHF_k1fM^5d(*+vXN7s zQUK#RA4VAkCer}sr~t<F32Z`NPq|C8&ilhG<-iuZkS*{5bLdOvti8+^-Px|KWQ(cn z7CWUb>$O^T&i2Dmhi|+(blGQ7ZSA77HfOK?xgODa_M*>Oxj8pfXPwRSJp5$Mxfed? zuI*xyopZf)^}%O6wbjR6j(1G|)nsFQkdZ-PU1|Y)x&vbelSbSDRyB?N6HflW*?7J8 ztoiz9uUVNy*Xw#P^YzYd@kx7ls6W+F?BNVC|AoR49g2J3Hpiao(@~nBe3X%C`UF<> zbltg^7$akym8y>Zw)Qc+T-PIF*?rlfm*a`--0BG|)z1a1rt7LC2Jr{5Wd}rcdAhz9 zW3?7wUDv?=U|UYulen&*LLv*;<N~fT1TZrMFfP`;r53=pK8D?{tH-8^MJqsAe<Dj^ zG`DBK0j&j0<qp@kJ8&PWIag`T-QTNTen|3`43~M0nw*cZ>EkeicVQEG&pqf-m%k@9 z-FJtU&l&@t!zNlcV*=Qhx(Y2_s>>vh?y!c*#9-#+n?ixUjAaklL=w(#W@t7JeArO- z-*WNks*lpUn72+iVWH@%75IuHCc&ms?NCelvivF=J=xmbK?_}X{S@JRt&(kW-sMr{ z6SLSWrD9!?;x?O<w|CBFG`|$(R>k@~Nta2~Iq)+3p9Sna{Mnn?f6W!{<=pKW7PU2L zeZe(BW<O;uhXdsf>_r8_y4Aacl_niqdEaE=3}!xd1_lPT1x%anoew#yER(>l)xe;X zVEw>rpXnjS@&N8rFO^L<JY2R`)yV5nNdw#Ib1daeJ5H>TDy(?aIeW+44Ubkm47*u# zL-EZafilS#Hs^X|58s}5=CRD->gaO?Gtc$vF4BHrF>j56>$lt)J&aB=%3K>BW=~K} zZ(#c$_xAL;|HdbtJ(W5j8WVTH_smT@t6hs%+sJ&#d-rIGics1^52d_)>$jg)EdCc% z`6TJ)q+@zX%jSqz?eM(xcCL!LB9r+g1BUCV-wz4>I_Gi0_=Ja`M4ugJ(1OMtIxl}P zEVO>`KxehVM%U@RoO#zmm9-jJR2Sa2(pkQ^yC>zt0XYZ8G=cQOZ-*Hg7_=U+Wf!o= zoM+T>Si!J>)jxpoL<F<P2Ug=njM)y%6$THqE-+pYKWejxiSGeJ#01rI^SVm{u5NUE z^x)s)$7{|-740zIcSAqs-D#eief{SyzWLEFf3x-dy9sxt@+O>7-Nh6?;jszN+edF~ zSyC<gYb+~T-s>b5O8YUDEBxPl(@Q$K6m(WsSpvIBzz2U8Vf`q@eVaerbW(gWV+kLx zu&iv0+m79@E-5mfK6=SmL`JCc#UiV|>(N_wZk)0B?h^Ch%ei}wZ*Dny^|;=$ONUo8 zDjD2mId0QpBXUQ3zL;0{9qHOlg%{@CNm6UlUnU)$ogXV**Wkm#VILnaC*>j6%)}or zAtNIt)uJUOC#N-yfiH`TONl|oL`zADLru%WRL+z`B_%CBtGpzmyxdcZgHOgoi%(_$ z{zCSY3YqCzB~m6V>}N|%RL-2ee3_->%9U$Z*)Lu8xpDLM*)uHHp5A%!{AuA+mN&0I zynkaAcji#ZyOM&GxI&YZ!bb&#&d$95d97o<6iB{sWtU8iyEEmY;>Lw8<`U;UR2IKD z*xVOylNHeXu$#$yI^Wl*<aQ@Xb7uCWlHz0jl15n?K3!i}FDbAxv1oAoJaA_9LN(Jl zZ#Y+KswxXFaGGnNc(i|&eUOBwVCd?JYx#qgaGWk(9kMQDuUqS^udA=D$i91QD%aG@ z%&c;@k7TvQ^5gvEEHoc<hi`bGpUi%LZ}yE1LA?D_R$g2Xu5)uk_tCDUTJFcYM6GO^ z^&VJ$5offo(=hma(?`YCMpSgs9*$=BMf^FzN?ncL_$N-cQ3!N)?`@Bjsky4q=-t|7 zD(bPoGs%Z#lC%2U)hiZW30kO9a_zywkdqO;aiafaA~YAPbr$k5goG?8Xgea=J|*OW zMlo;9|D6Ag&3z4zAAIJs`5`0F-uUiFqnkqv=qyv=AeV`fSr#nqjwS&Q*d(<lJnY~~ zopG?yah=1ZM%ncm$y2hmW-vbL(cU2zDHPWtp(JT_<>4u%_&rS>OcU;WJHUVZYJpNp zU&e(KmDA3Y3$vE_T)E&ISK)Z9t-#>wl>n&{m4?8sIm=E2tdz~18XBJKdNm}kHZ&|U z?Wm`CRDKxi^zi7dqR(TBE{a~|Pgr`Ob7Aw%*2u(qM<<ok3ALFk(vl~-zKpGTx%7(X z-MKB|DN|*<LZd<~nc9_ETTO%}FT3Q>E}eDY;AJJRkJG~c`?tzGQVDSX=W<2d<jD<H zkCZP@<}lw@Y&gKqVPVL^VCoRq$fc6ez&^3vW<w`C-;W|TIkmUxYo*pD+*r%Zv7w-y zOZG@%u;MC>$YzecR}AJCJU{8Qp#Jx_@00l0cO2}MF1sKYASALN@wim_ipBuR2~S+w zyt5iUO)!!(yD~viE`Xtv-K2-bt5YiAKx1~?Ee}W8ReeupNm))6T$H}PB9n(TN{P|y zsIX<oBF|=-o68xVXkMLN;HTz#vhv)`=r(cX);CdWJ$S!PoT$i~%EoHK^C?1w|HBbO zm5hTgug-}L%n}QaT6^=`t@QP8C(g~j`d4&8ylz;;vhH_VBbPN9idFoNs}ik~RG*Tm zc4KKrzSon-1-({{Yz!G6Pd@FldBnjc>lk$K`TX}X&y-rUOP}QLc=WK*W3#2FXUd#I z)tpaPD=<9O($WYx{O;7NF2}M(3aj6|+Mg_tUof>}LDweJlHJz3OphGjqH#<nsFV5m z!i5R-hf4DOO|Ne#=9PW0Z=G?<xxfUY6glbSj=I%OVTDKRG8ZthKDl@Ck+M(aU)KL$ zm7`Raed}0I(d)6HLsHT%g)Qo9i-%T6PqET6Ro4Z_I2^R*F!&d1yMI;5N$}!hQnJ|n zcuq%wJZIz|rpwYEGZ^`@1-v{O#3oI0Y4S+DczO1dD`p#itkll?6}_}-#?&1*H3R;a zEQ}V~+$6a#f-SK7XSciB)9Hs~v;sRNeU=GbKC;K+W2f`S(@Qm6MOWWkroyk$U;HT9 znnhqC(}aqaHC-Z8He7sGSfR<n))U;5oN=77(U6TnE8X(TOm*Rx5ASkpJl+_h;VG)( za41%1p-M_8gV$7!P_^KNTqRErm0i8qz+v&B@d?9$vXh?<sGi?Er%W{^_RLF(mW&4W zb$?&0$t)4|=MkKFvVv34rJF~QEm28y#lh@jJC3BBGVxhnk*nVPL3Kt~iPZ0vjt%`M zJXse6GxA;Apg!@V18Z9XlkkKCEL9ASf<6U{u5unQ>)O!8a72kg)a-+gs%Fc2nL=Hs zf(1fWAOD|ZzSiE+AE4ILeBtnmSt*W^awhE+vlt?8DT$fC%+$`E{aobzGf}6zZx`2B zofcf4v|at%2cs!onq2Cl)Ao8?)SJ4=`$3SGreT_!=H$fLe3q#kE(Hxty+7uZIjt0t zvS4BmEjY48<iVT?0p6@fFWeMZvtYh=OH<47#ujxgb_Tz{?<_oT%{AP>Zp#wF!03FU z_4kxZCjxJA$G%WX<gHU@@;6#vc_H|c=JTyyFBls{0vH%Xa@yA^h9s1Fu3{0g`p|km z;1RoH=bP|X5o(f5oSF&Bv!o^ns2MZ9G_lq6G`(JR{&Gle+xnkxl$4}J99vjS&y?`7 zTX@Vg3SE@s*4m@@|3O28yU!y371?~8ZV}POHx5SK3cPf@g=v)mXZz;K3m?DCTRgk( z%PVe?2IiE*O;%=8J(-hUoSLoUdeL(4+1$KcUSS{9E=@Srx>v!JX`<G|nIaL}yV{a` zR!AK_dLS~epsCqe-HbIsSF8Czc_7#A4@;VYznR(Is?2KXWeoePA=)Q3L#+7FH*Q|{ zA9KPU@TpoEcI^*hWH4Od#4|-ee#4?q%$~p0wWluC$xvkAI_%o;DWr0*w6)`gGr~u; zo`o{2Ixup1y||VzwShtT{*MzJ5=*8qK4>|3NrFq?qLHUfph3@Ffx)?hfn!%r(_ucQ zE%J$L8I^zEI<YS7Y{9ZM4Cl`LpKN^krcc%}<BLw>OI$-37$znJv2OX$BDRNt%V>h* zl&uNY3@02oee6CZ2-eCaD=ZMYee#QYj`OayPuV#uBG%^Cr7p1yU!*cY)=Sp=QpX*e z1f~`#7Rd|&(HqNNmQR?fGXD;XI!_i`N6n+j6}OGV*SehBE5B7*=(E^V&21$?9bQus zTnru^UwY9Xc+P<b0Xu?bUD~p=arW~xx7Kc#`IlIpclL8`abObTF|s<_`M|!?aM9a> z1{P5VCsv;ZX7+#sb5slzZ)i*w;p-8y>#JCDu)ny|?cZk$(Sj!m*=t%9dCGP$Y_MPw zk$oCtp>WYB?~}kKtC!OI7qCXu9b6cl@Iv{&{loR54JJ$hd<`o1f3S$WIKr;yx!!or zLDSX)&HV;fp1D3ay2bSt@5BokC5@NZ!sV-5&i&)u7O&ZGc`{Frd!4%lf5P6NfQ@Ht zST}52-*HeY(L1iZZtD4dUE7}A`nMBmOtZp`n*`-5)9+aq&1JuEfRW3hMRbiq(`t>Q zjG_jIGV4AwC<~lgTv=$do_nd}nKf_sI_g-jzy2t22Zz>8&yYpYEW$JX+Bt-Mu;Pp` zwwzh^FZgSlq!Nei)1bX)zUawh_y`~MIL7(m&>F!#GJ0DC9CbAg7B#n=f6BJ9)jr$t zCm$OFXPX1d%jq`{?KvYedEc>MKZ!loGcQ-Eu~vq$&ky|{*<;2icx`XKq>22>n5#{H zbhj6(&T!yV=QzN*prA>Z=OK&#hI)Sn)>E59Pfbek+{RY&K%hc^+hQT}bpa_MiAMGd z%8{R~`xY4=U&yxeuzi(C#l@#q>zhsfu`q}{V9ZKj+a@a1$Y{38UF1EB5Wk3!CWE9~ zc~Y|qla~Oq&UGdoHipJTp*lwk$7IL&3+msdrj?nc`$(9mIa)Ovlozy1ubC{fx*=j^ zg7lW_f_>?tea{7Zo=4<9t}JIN^GGqDG2OXTDJbJaoAOrYTV}4#Cp1cKSoB?z@C`JK zGIt3LtkhMtXl4$sWn_;FiGOTnIrW2~1V>n=xWwWooJtNV^B4TDndea7(^eC-jP=<Q zj*jDumyML>S?K0`wdiwDnfbXku)OOVvwX8y&CFuUdN=0z3s_AYShq$nT4;3Fe@mA+ zkd!W3tn-ZF;_+~+6*`A1<b*g3gd!Txtmrvg!En8RU8zXPGr-8|f!v=!nez+n<UY%k zGf0{k$ec{Em-)<kE|86P2Fp<)&3-2RZ=Y3buQ~lQ;dET=e@sb!zB8LA1H<x-9oem% zH<Y{73zhUa$^$IYO-j<1e75#vH1T*iVd4snnorU_=_PZPwR$DmPGFQsRE(Sb-7J@* zU3{z9F*c2P<&*MuI8RqsFOmpuIKk=kBL1A1tD)uOy2+BEg+j6itCJJ|x41Zo*{^h7 zyr@b=AWLqel}{_XwI}P9GS`U~Ud){Gi&K(Lnx~%Fo_|3|)^llyvXa*V4SBW2mcEA4 z#Y-4Gx8^TY?sl6R!jKR$-+|d}s%60g){q4Dz65p;QKMr5Rv#`F_-?kou*l}~BBm4u zrIQsiv;!I!E}YRhv#0B2PdBGQi38hp1%vfWy%vcAoQLG5avDnr8nAs9@c*o#njEr& zMRI|uL!}4vlE)%~!82Mp*-ee(r4ram1K78Eve_}s=9}2`RXEi5vwtrucYlM)9OJCw zFlqmc61Q~M;u)T+z8g+)$X#sGr2f%*o>NX<pjom<o9fOs>kzZTMQzCuWmALxcW9Zq zv`mZ-Ws!KhQltD}%-hWB5)TU|2hnc9$ix)KCCYh|E>{aD@bEuZ*<_r=`K&DIV(`om zjt*y5t_PhTzNf!?p3!+MBd{$${ikJaq@Sdeqv+@01p<zJN$$3S(?u1!-M3EFkaA}_ zCfu)_AXA`KAh}rm)589T9ET=`x*H358W=BVoS_}SFu!odB1ftDg$&M8OXf8$SsEyH z_Qs6U5=%t{4bEs7<T<cE7M6Mv)X1%&y}n^Ww}GkW1!WiGWu+gCm=^a4%}}ygG$ZsD z&$OF7I?QbwN=-|;Vv9|bPN~kx`!0O!^W@o|TKqE#7BlGoE-eigcdfc8D54rzEm&3> z^j|cwF);Xwc=QobpDCL2w!2RG<+}U3YiE+hon@Lg%Gw(hgU@SrBr1w%ToLWkVyk~> z9_1qDG}EohrC_I`%+X4jc828XUo4eV^ylADS^mR+frb8sNuA-APJ&-LzcITrh-ivT z2${XW<g;?igDD+8lcGZ&YuhhmEO5x(#AIT=#3VVB=VB?>|4)mvZmqLFwPX>a)F-Va zpQ5BbMX{v@u+I-P_{7CtDj@aAYKd>u`XUFmK!NoiZY|NWVEn$4Bgr5=tzc2|CbqK- z1`<q4pQ0KAUiF;UFgW*sZQDz(e_0|*jnW&k*itVDi#FS{r1&iO!14Bki2SP3b!Mxo z44uQ2g|<8Ww@8^1-;*fGdV{lip(}S-rR|iU#Z7_JwN~C=Ci(Dc`<Eq>Qm+0jhc);W z*xui4`Wk6r%W3id>8diub?r@(Gak7tcH(e-+}D}0LdhzAcQEJ6XElN;oDa>VPfl*O zX<u_uP+n3kTIN=-j1!ZIK)1e0Gk?ge%Ub#CZm#|NQ!w<hNWc%%FTxwwtYnz|fm!DO ztC-SK7p@I+s%P|{T*oK4p7-L;g$p@^Kd^q%Vi#9nU(UFC<?Ed%C6;qbM9!bMapK7( zUw^IZTiKI0VRvTKMymvov`H;%L)~2!XD1}PcNhq1oUr@w*tG0aX^T*$#FRAmO%r%K z#Ur*)u2t?Zzarkg$n4m+|7O#}MbjMH#9PJEtlMfnip4mtvbAhccp^B7t3!F46{p#j zU=g7WT&s(IO!|3r-zIT0{}sWLHka)E7}{D;u;|KxhDMfo4YsR9Y^FDCQ{JY%q}hU1 zLuT=jZjD)%^PQPy2K(h&>ON)RRBI0T(5$5<A%FDOLY7Q6j+7EscFAH9mA*$JiorAf zHwcS-SiJxCl4aS7&N{mn8m?rzAh|tzy_nLj?Y|{E97Vllj{dqOl`U{IYR_)lL+kn_ zrHVdqtv|4C_w6HoHA{qE?BdX5;IG~*a&rE5#bbLWiR_7*v*814N&%Z^g2>iMB9#YM ze4kpr`st3QHEOG0xmFpePd8lo%vxQ-^nc~-jdR69=VdUjTr$adl5k}U^MQh%J<XTR z?wI*+IK`RDByzrT)#4>yY*s5LNmVDRTds_*%9?I7(^<v$rN+dMhEo&P#Xs^(HaykT zWx?MSvg`z7*@9`aesp;*m0k3LLr5q3;CIe*jY5J?3_mtow0qCmIcN5!P6wAyT>qkG z%rBh1ef9chcaGRs9epCRK70>TsRH}kJxrVr&S@VwV##zqa1O&;nPXpU&doPGpDMGS zDfWnq703TqGZwwx+5dBf%_8Pao<63<Drb&JN4n1US>(`Kz0|&WlS1|mj?%^bll;$y z2!(x)YC6+2(c?fsbfAu|x=qT;o;fF2-mIM1qpsI$R{7}vygEUVZ=!CYrzM;cw|3mg zd0x4-i|crql!(K{fX^b9OPEdzH*ngpNyJ4~^?zJ&{G*0Sm&4{lq2QU^ZcJiQtgD?4 zZkO4>)}IiPy_0jM@*-gu=2c4yPA;*OV>adqXRP1ATzJ4#akC;91N-t%3z)x27%iHu z_2YW!1Xb+|0#Sd?eb8a&RAB$2b8}MdZi(CH-v2rG?~UXyt(&ua`RDlF{MU1nsrKe$ zn++#Dj-}68GEaJgP{esA>Gc6Q>r)mSb5vx{J7ARZywykL;^dM9KSODc2a0C{*kYTH zZ}4Pueso#>qvO6>>1KoIC6g0$o}8T!b+U3(TeRSng;_b1&g>Hto%h`Pe~|jleYeuC zM&>SWIukRyL43okmRD<6#Dz@C+<c<_jw{2Q-2a@XXI!uenwGzurKR~w!VZJZ)y$f` z#g^=?)l#ZA_`PzSA~;MEm|i(E&skujFD+Y`!g-9*=$r9&(+zAH0c@TR*vc7<n=f!2 zyRyfiS=jN?b?X?8at20$4eZt%n0Xx@Tis*eUBFxvaC2hp`AM=jfAHM=y5`)5+H*hF zoO{3KyglFf|60b|Pak=!bNlI=^U-$}FH*cP`|kPwyN*Wd+)nSgCG>*rP1TVvAJ!YJ zQ0uvF*?nL^OGDFs?u}_oq8ycJ1~ccRu)Ewzb%=N9kUHvE-Y5RAbKgVVxROK8r=Fdd zCHUWEv6K2U-=I4)Pb6&A*py?n(QC8Dkz-9U2Xt-APMqHAW^}pd-zld^t<xLBGfX2c z6v>&mC96DOa5k{!n;xpQA+MqBVT`B8ED!yi<soiY8O8FtraeBeN5#)7am|txS@naB zQUUDuIgDf`cRVQ)PGgWW=VMe3c+8t(BUQkD+wbx1dn^JD?|cj1nK?X}SbN@y@1}j+ z`H8aco!&k9yk@=QJ4ySv_wxfcL>av=b$H_T?n&Ie^Hxks9(^0<H-1RGcb=j8DP#6A z&s9gG&)xDnW0Y1T^{K=vX@c79vMCm#lC3jYVvRWB6pr}^e_G)xy>+HjT0;EEogXvW z9Y2e-^@giw3H}ePcG{ws`$GQc3+0)WIl&q)qqn$q&ohhe_!fCU<Eit{zwzO-U2lhd zNp3kg$(d`p3bUD5s_VB`CTh$9Vzz0nTu000W=JrnrCNUa&f>37uWpv{Ih{*sF^{Oi z8<PaKx(2o%pY22s6#rT#d-x*brUT050d`Xi9QGcR|9(;Uk0I01g;oZ}Ov)EnChUJZ zS^wv)b#I^b{k$djb4LBUiS_Rm<TLmEeezE3$;W>;v<28_?*D1FfnD^)yQTcU|Gi;l z)fW6=rTpW~W4CoT-^JYg=W}yr?9CrMx4+1opCS8^U;gOAK;x!=f{_aYw?8t~=nz(3 z$d);QEy#dDpn%QVfH`Oat7i27(wU-S%?A5VT5<#iFuBex?|*e^vU-qPi@GEK)i3<! z&vstA(56v)agq%;2NyrTre<@yCRbZmdk0fnYs;k8p0>&STun1(Hcy?=;U>Iju`rhs zmz0*N631Ew2Gg}1d`bZu0|GcUdMTN%XHa9{h+>f07!`8lh$uryK~z-P1tT>r4z&!E zY$+KLsrw=+5?pdCwX{UD%L|pQQ)HB6%HAs}iBy-QJ;{<vN%c&#sc3LcZ*gQwGg-0F z;lP5!?aF;U0!EM896JS#t)}cySnSfHz-v}{!|<_3r@H$znTsD)P75l#%T0LP$|I?t znziWUp<)IWO`D|#60=e@nvJzzorwIuQK?bJ(r^B$K&{f1S490cuDifksu{Y*YqF83 zwb@H?#(p`UABippraLmp)m&8gKAYWyx8_I21&3387KLm}G>g;tC0X;n?5Vx|qH*Tt zx#t$;u4ZppcC4jmiNT^urspE_oa?WhnQ8L!>~hP=QMO*jF9KSHM1`(ee&hF=B*A%V zisnQmw@GY)lWaYW7kRWOM0%aOGl{{F|3Xp~cT`AeAU{jh1BHMVc9v~Z6a>uV8iZnY zPO&%;nk-r_ysvAk6q5sM16Nc8iveRh7elH^#=#z;BNG~&Yeg<BIAordaG=*Ao@0rV zP}Y%&N6NB(IJeh+f9cT1CQ;+aCR_Mo0*j>8jsFGByk-X$EaEK@U})|(zwknd$8?(o zQ=jp+8_9ik`yw89xo~+t;c((AY<3m%Et%-<-zIX2kLAXO<2=@H3=S|jq+V1FbYk49 z>Yp-6Glb94N6<xD(r2TqwBr#;^*N3P6OJ+%&v9&*Zdp3fjWcq=$%X}%Z(c6s(_V0p zLEbTA!Xf^PwhS*7@ApjZWV?0Iz(F90=K!lz#5)GY_}YaZk1pXd_;xfozDCg_CP_kZ zx}**Z`*nq!ncE_B)?M7TdfoQkXHqJ2Z3Cin*ZUU8YOXjd##PpR;HW3p1<v%fTPLW9 zcNX1YOFy~o^ij1rJ5H+}kJ6M|abPaH1cwN>&W1e(^Msx?{=eQ;;k;#06Nkr_LtKJJ z9qP=23Ly>$wM9c5nDe;`7}#ab95~3h%%sD?Su*dzM^_<Fn+1-mXB0K`$(CK&z$V)= zaiN=JUC0B*D7giTHnNrcuz1{S{(Q~nb2i`K8239oUz2ps^xht&el|tkW@l3=lP8mW zZW%DKgxsIGbQ&|ut;-CtIX92;BrIqA#*>*a*VNx~N$vBS(N(sGXIN(JEfY_5|7d#C zx@4{?GxLGMj#bS87aZB|XE^k+tA4qVDL&U}0_#;?2LX1;v?HxyG5JTo9yr9mqOjxH z_N~7>UZka%Z`?3jQ~Fl+%8h>Owl8>VbvtL3wsiEHd2d(!+O#x9`kmr|*#Am*x8E09 zR9Q4VmAhug1GDXGx2^8Hb5Co%#zHQJdmATp>+{V~XBJ`PR<^5s#5^J2Kq=(F!Cx{n z7W`uth@VxUXcDmS#IKcN|9Iuvvac7^zFOqSdSL?_*BT%85(|c>TMjE2UwO#DqQD@W zpx`KB(8wt?M?qL+f+Ld$L$kt>1uUu#j{I&Dn&qcV<ct<^<hr+}RqM^fo~kQKVmB|e z*=Gq(EHK$3C+F*7^<?6eGJ~dVTXorkCOF+W(c-doE^mOJ%;jm9#J0;A9AI_KxV&In z+7UgshrA{q4k_+Q><BAm5|&tTfZ@=Eb~A$pef!QslIIMJjc;A#>0ij5^5_$@vDu-b zx&L?cY@D@p^_{;5jOTQEb3F>`%)NU|X!q^A>*P4sCEn~4*tz@e=Lbxyk1=eToGZw% z<ie*Fr$1hta#1jK>!PP?y-oZr*IZ;c#L&<ZnsHG4?ZX50&#rPaI3#jBILykBV!)$n z<H&X-gVk{6LIbUk2G)ZC^EE9Tnxqyy7L^HT_{+w~E_LOg?pmP^-xGoTNeUj0GCL$# z-#Ii``MB$?C}2Kys-S_nL7<8K!2;XQo&KCo22F(?hehVzXw}%VmZfBK^sOJ?#C6^( zHVNn|@+f)*ir->r)0^{<+kDl<`8x&JLRScKriU!`WmV+Xxz)(KWyvMUO&aN;U71sB zwlps=Sm4L(aOpp9WXqD3sf-*cD^4rCP+|zFQRZCawTQn*NnJC5mnpbe>uTAB1;-K? zj3@qz(c1iLyYrG~#`ABaDDNn>e#ns&-f`f`1`|!|ySAsSW<@MfO!>;;;ox35eS%AL z&-R(w6OGo+ezWB1rBA!_=dMnCtK@EG+pt&a0JGeF4S(J(1#%zergQiQI31YqlDq2V zCs8$pHl{8uwzfj$*&jdf${0P=3KxCnY@)!-`anQ{|41{N;UZ?q42Q<NHIBT+hRwb$ z-t4k38W{fXnRMflK)dZ5Mg!vxX4wk@>?S`}vShw+;$&lB5(v1+8sc-C;oE_j`eTV~ zjk6qWC!UV`re@9+xFc9(&VOk~wGW&3%9tp!o3Dr$PAb?h^yLAY>xuh+KV5GYQF+Lt zA$8F927`CZtxJ3dmMwL-+UX^da<Qr0>+sx7CwQ0sKBDNg+>&)dqpZ!<l~=-i+QTXx z`BrPqmA@*G<nNWWVY1Yb7%M@pD@Xg*wl?^_n(}y79Ao5U*JpP%k{0V+H%Xg#wdz2u zZKb5)64#1pyLp!JY@e+c-zGex;YeOr`^n<Ogj%Hl#}1!`Ovj4U<@)}zesgiSd3N4| zb4Px(ipeZ%NOCzY`R}3IbkhrsNikiqPZijgMN}Jd>}q7wo}4auN?<Xw&n_O(7Y7); z7POlzU=)^WFzI|%+0c*_?w{weRr=h9SN}uL3-WHLJ1pJckgbq&eRs$lri$W#rk_k{ z{7d-C82JJkm<$qc2rgmnTxZRo#m2bDaYd5Yr4Iod$2u6!wyvn1?A;*o)-gZw@a1CV zAO1PY+vf>+<cV$SV4Blb%}~E`y)9?J<&4KA2bFprxE?&VsAJUyHZGOJE1yZN4CQ6& z@2kw@wdMJ6$}@e++AL8ySIZmi@#_ThHQSeXIeT24vh4U_E8c|WKgqchZOXPr7Nsjy z&ein(S!TauQ=sJnwz?%rvCE$J=30Jy`po0ex}<wY%tbbG@K2d(D%X9}LPu=TTaJ{A zyF#vO%55kS{KGEAa;fQRw_yKqvF2J6hqu3W<b)i~{C`0DaYulqU6{D+lte`<g{{&} za~-^=C$i<UH$8lFfl*H;ft9_Z`oZIU%WY2vUrle=DtCdQWnJTgYYHcvp2**?c<1%c zuaNoRv~AMuqCB^6H1OBhvii3hvzYL1({p@sneCp#(*%YF&a&;zv9J7!&2ujvvz>Kl z^){h13*Ig5W8QW?dfTSbh1v1l&bHfg{gd_Y&l7+0ob|2u1FklKookYMVon6KKbCv2 z=<fS6p4C$lKiv+v$z|iM`LM}d`Hq^E;r`GiedVj&|8kis{MR~Zdu(>bR#D3%#VI*Q zi?(g%n3a%vrAhMUCh55f(gzpoRzB6;<;Za|xoC1igx54#o)U}cO8-lLO!l2w5V|sm z|8k1on`Ev#4Yog=S??$?wH}ssZs+>6fvHVc@vV|Te<EAO1OW}Bs>1KhU!Slwd~CM= zp%{0e@(5dn_5qgYK!%2Phtln$Dnjfr0_@%Cty`8=xjtmtb&a*;0Bih-n3w~sz3eRc z39VOLTTivICH!bz7T)^lOIC(K_LgO_tIJ)R9;#m|Wr#n~c4ewV!^BqAhJfwQnZjGt zE*#6gbd)vUfVnEcoOLOCN^uS2RoCO~>M4uko^MU~nv!!aJj-}O&7tl7KSXL5i4-rt zBsP1aR-wD2!V;&S#}bT}G8ZxWDJ^15d%()~o!PKm?Bj9wZ^y;9D|+oWlKQdzzofka z+mGqi%MXfiX4G%m9Jcg{^|$LOs>?kW2^jC$$Z4=bKzMU%x@y=%4L$qs;TIGc{I+?W z<gi|s!m)L;)Pc#e@dcr7?xiyX_;0B&MTi=IpTQ~2%n-ATZQE8^y$-JB3m8_na`k*+ zy(v-{vRrHJB8G|((a?pWoEJnQ3MX<dn8>+6MEc}J>763Jg%cwU#WWtVYP@7Kb!5|i zz$&qFV%SCz^+>j|0yfKuEZUjEW)E2{Iwz+-;BRR(w6DxGv23d<nBsAgHQOMw*k#J} zW9ojEnROf3l25SK9%uDf$-Z^l)ac47WetXFp0Rf<V$KVgntp(_?n7(VOE#aviKz!g z{3`xW?0D2-^`M2dL8G*QacxrXyL6ptpILn)rZ-kjFU^c;J}#QqD7IQj@<EB^rbl)2 zH+nQbD131vW#^~R#fBc|A~+6y(w_N6=Te3BsUqD?lReLEvRb;Kx9b~kuY!kzxHNx+ zjm>k;0>$w22m6vzBc3Zs$+vsRFPCchP`Bmd?4=8Jwkxuo^N>38qtO0X;r>bwTQ}(~ z2bq^1WKMFJdnI!2oQZSq{4Bh=a_*JNxo#ik+89VKydw7KXW@&EzL%Es-bG5i;F$ku z=e*p&`ClsM_j%6$Cg~N{HvdJY*TNJprdcz(ABt^_SkR-nVA8||)00!L{anD@HTUt) z1y4^h-|(Ef<b%#y!~YBUtLBPiEtGq;K<d=&OFL(;Ubygl)10F#v`e2#z2C0gRU&nP zqj6SAW2)$^8yPI368+OQNZ%6o;FSpHk<jINVKe`;^~J!b83`p@k{2C)IeVYvteFR` zE=JB-Za7EBy~w+*J~V1+fYj34H)r4bIqzNP+<718&QY8vbW1G5YT2*I`I*0Ff3%!m zAT|Hl%=zCrmw$RWyZF?+d4k$ivzEWkO#OCqKJ%^xuC5E1f5}WQ7VFVmm|e9{%xYd% z)Uv&jQu}@`xLrASj@3#9tL4gBi)Lu8nvo?_^R;f7BS*Qaw%MwlRaQ%Lzk00bvd;M` zedeOHOS`Vpw$+x;XPqh3Z7}6bo+ka|#{b3h7`zu*Es~pVy|B^KKs-hD*OJ&@8pjfQ z0;|?e*OE$jHSa|RTjqlqxf`{Z6W9tLunIS@#Wk>{F-%J}U`%abTT`|!ZvtC-f!L}> zwv+<4XTR2ETv+$QgYCyGHn#(;=?N^E0hUUaSW_pkX+Bt+Vz4e<fHn03Yk%PUmWdT^ z4D074vN0<ZNOEsTnZOpGutB(5iCJKy=<W5w6WA2B8MJ?|lc{F=XTbR4hF1E4O+2sH zW;d`g9ax{wz@GVm%}{OQ-&r%tKCJCz&rX}59^=5qR?SxGuzt#{xf`37-Tk>_CfB?N zkt=1bR>pg+O6XqNzo2VbppGq<bub%ei|OLqLaF;F{$D+jp}9%Gc-<qf_60pBR`yIw zp8f54(X7Jo7ZC;Pgu<I$)`)AQ8j2Seef4<1V|LQ3rB^>DzpI#acxL^qj~szsYxhg0 z6wUHjwb4pGJ#}Z2&Nt3gw#PQz&RV+4d(N8IJJ+7x6(6u(H`}Xk){JK>=VdsqSigJ4 zv~G_Zzjg^Hu;nk1>fA25WXp;^slu(lcO_SCJtw^^ENayY&Xv<{&7B~ny`V}@Lu%W; zra3caF0&W+IP5hm<*MYmg*`{PI9Y#qtzT?YQQEMpYl3`m+5HKY{RR7*7c62~?lF16 zj_H@XU#v)Z&ZN2NkXXR0lqZ*FW=xflJ8rcyTWZBj?HDhq48v6?cg`z6^?#4lo`W)X z4!)V$)B8$nv8e3-pE9|>W~=w?esJsHw9~uhU0mLIWq#YNJ=?4$yMOJ8^4?oLYvG>k zt!@k}-k+SC@oM*-)qB52awJFh{EU_<7Hvp8I&;y>urn32b}>t@N<JDqP3%~pZnO1{ zv~&wAv#4#A`xlk$TzQD&!osfZ1dfGl>}xppzdOFSUr94tk<(JGcSaS*wZfSTR<1oG zsUx?1;gZ#oHD~6`vtI6S=1|w36H;g9{f|7fMSH<t&v`v}c4@|(tjRgtwrfTEsu`v= zmIAMK&hc8wnALqsx^TXYq@B;nT&p9lZ)SJ@o^kBQ;g(Xj<z7Ww3#F%+FrF0DnY6@n zS5NPH#s9j;7jOR%5;8$ByxZlVip-AHBC@9vbxV$}So2kE)e4V~KTqA#;acQ!=<{*O zB1Q3970q>%w8M{fhqr2%oY7f5c}~lkr3)MSatxQRm^f$6MFHgp2~Hn^jE$Jh6lzq2 zx*|8L)jEiHI5B7|m<l*_%O5_xa?K1LsYAV0rxtx?UHwq(ruam`pPa6%8g{MPx8wk` zxWOfr*h^})my~tcHGD70w6DxFyu`$CxytggVJ)L+?Pa6f%VxTl^lnQk{k<%%aLL*- zbBeQN8bh*UEu;TO*5HX()XvVyRMkAeseMv2mGR9g%?DaZ3zm3yaU~qnPVg<_x}&Yw zE|adBx@{3>=c$?N7XG)~;It#nb#|LTYUhF8nF_K^Ejw?^Y}4yvk!WD4>t*+Nz#ws; zyZJAp#|K9F21fA(H@bTnJNDk_;=S3ID|>1Z=PeF~tckL5u~D~f@X7`_hy*aExc5kJ zm(oy+QBGhB3RbmxDiCDM#A3i)Qyf>5p{mBlSp7ll{)64N*;gu9?o^bVdeGv2DD}>X z+&ifY<{b1kulsbT?h{+p2e#(RjG_)qH|83gQAoe@mrH3v5vN1-YuBtgaph_bi5GM4 zz2cQf+i)~UZLUqjm6!mwh3;7k&2zqOY4O={-}}b>(>iSOk`I{V9%vUZE>&eKSa9X< z+iBVl*nBD`&M%xZXUmR_f#I1w|E~q)JS^XO^-V;`)1snDx0BBbZ9lYe=H$x#2Q8!y zbx3`hv;1_=j(gU}zGhzCerUzC!*{B6SDpW;@wtPszL(ve;YLm)W5t8VZhh=b3^!ZX zK5_eZV~Q`AYbgKM2Ai1<OePB!e~#ueX=C4A8r2d#bIAnNv=7WYha$L}SYAAj``PCI z`m3170anioQBntHi}*$#csr$d%JcLB_Da6>8@^?+?k<vfeP@OGU7dit*Y>jA+WVqs zo*$>O!``DkOBXPHba?q@vt9ghy;=VvUMU$(w==xsC|<O5XJZbFWg=T%0b|?+E%6D$ zMFm&9blKBivZYLzvDaf)e*n9CMO)`{^|}}8u?hd}H5u5Ce`jrFV30i!lO!BFQ-b}Y zB<Iyl+e<@tG)+0M>61;)RGG`?bY04Crpu;nerz?N@<^H0I~~56Cx2=L%bx2>;rNuZ z=ezY)!|P&uf6Pdp{rJ`&W;eZ_*0*(b>)!wBWAuFY`121&n}jDE@i(^2%4ido{<XvM zt*+$LPBAXULcy6fD~-9HEATAQ6_7FDiTYsc6~I^$z}_0nC-)%YYeGr)!JCsMr5><M z`L|%QedgqrhwNtdnTKW9O`f>$;z|aOglPE>X@8Zz+)@;fIidHYz`|+!m-#n2mkVU+ z{V08XnCEsN&+`kVGn!alZ~l0DAwx^fd$wCEmc_*!o62zPsp6u^|Gj1@YfngA)udop zw!lF10Ap!vNKF_=m>S!)i5wvh<SS-#hCI+}XyICI8g@Czrss&XYwF^<nJF7i7T<Cz z*}AKqeI>_iPR^4vw3BbooXx+Y+r(;GL7%72`Fqyy4b89qjy(3g?|s7Rg`D|MCS*Rj z^MN-j;K_2K-y8X#-Z?0}=z@V;0-NlEEh`UwOZ{T_(uG-mvRISBqGJYS%a`hDJF{6g zhz1FYsqPfDGI+Kl!>v$pE>i(pS%78Qgy+iA$%`(pIR00Hfos;q-wfA6nB^ZZ)~%JD zl++)hF7URArI~?4g1?#Ho<F|DO;fmwUrt7fi%U*PR7OUNOG!&qYsR#BqEh_-r^|6k zNhvMnPqJU@X3x24^Cni#ZLF+TyGmF~ckVAKm57gLvXKzy6xUqmCKJUV%5W*_@}(OL z(?gUBLbx;^Jh(qeYI;WpKNHu>Bz~?}uRmzEPvZa5{P4rK2M^!3Xfl1{mgsxX;>ym+ zw&(hLImh<3EK4R>aNM&kx9{<&arN&}V(c>cIs3+&#fy40m9khg9S-nMP*p!M$8+<t zv$HKylYV?;ZazQHx^tnF)XUR;({1Y6p8iZ;=2p6V-w7F$gFKSF!Z$cqsCzQDb4@!? zBydsmp^q2CqLo1b&v;m^3U}-{A-LROiVO=M&yB+=4ZKV&IU>JT_pK6iV>+=x=h%*j z(^GZ-NBapRJUe|VX=-nyNm0c`W*)hkUm*%Bw!D}(zkJ`B6E8B4$#?K+ajiTcyVoPu z(&o{3y~!&*zKbyKcMlZgkJ_21dHm>}K3P`beE|WF557=TZkIEtTF}8I%5Z;W2B-ho z>dH?K_Rkb|bp743@qx-IeI2)k-M=(Vv`XCXE84a)=!raVW>ZxWY~U0;66tC0;}U4x zt?}u;Z41vL!Ls!^EwbfjE3S08>-#=A<*mE7WMQP`(ix8u*-sux%AOPZLde_5O|2nV z%kSBYUK_0oliV4%vh*`_+(=*SZ2I^50?*k;J(i@|*h$Vbv@tp9k^R%PBGs=e;iZyO z``#6*>Cw9~)cXEgl-;~JRZ#Cm+O*9FJ<oggZfWAT73sX_Q=q~c>0xYhu!&!>Eresj zLcYKgUWsd#l-ze?d@1=PtjlB8q~5B$68YBn0}I<!3Lcm(nY&rH!oT_FLaP-`oPH7t z79w0L5*&1=d8xZg?vz}-ps8qwXuYUki>!`#5&NYqgP9d;TrAD1C%43|(z+bxVt2C7 z(BqV3T6g5REhog&W-N5v(cY20Zimzsme3t(D-P<(J*=C!E;6A=TX^r>z~~z;`^riJ z-Auwxy$ECcn6+B)-4RW}jVq^dO`ct2H)p8}Z_x`c_jPK&?jMtU|M|Sar-~eZ*Viw0 zpJOg~vFxDu@&k$emQoc7e7yft6au+a4Cgl)pMIJluu9V6u+0>y<b_VoDh{g`9=quN zxUFl??+-fpD*YC`rmgSZ?BKhy{LSG$Tbawo=U4sWsW?BK^)%<=y4{y5Bi5-tb$@xR zCFPgA>w-g!LWROpote*?=$vh=J||X}dizY-vI#j+_g-6c|Gc`3WADSftuNNUVtDQ6 z{j%=iy4`QW!Zz&Px-H|^L(PpvMR)J$p7Lt`#QR#I@YMy)^k5NNiJPt}C*3E!7n0kt zV&0mB6@JHl{t(x`ne;gM;%E72zqfX;fAkcepKwD)D{%RfJ5$+Q7B6bEjNQ9t^M&a= zuE#F9=*xCWX-;-*JI&v5+UWGJ659(-a{Ve3oc}X7PF<t1WdEi;kL`uLF5JAdY=;h` zwqNdM*~2AA4IawANMb5#JMb^CZ{1P`QLYAN-iU8}X_D&-91mT8BC%Y}%<`O0V$?&f z>ml|<Ki?It+CAr~)mEe8wK+v!4xQwB|5T7q^jNukmgoDHtw$zjWD9ynO_0cXtnBGi zC?CE=$=M)GI?N}KC;p3gz1o$dQxy2C+JzJr>1^UNuE?sH$Pm9GMNG@%#G8z#lUp=D z-8fkO<f6>O;AV~#u`TOXIM$i0@MApvo#9T$>S|}f1r`aeC*PMIwP(@lkUA`;IW0F= zj=fX#Jl~F0E{d7HhNsToZrEaQ{zrD`qXQ9NK3$yfDzZiKo5lagn*k+<WE5FCVh^31 zm2+rO!Yf6d6F$p~rk^~M5|qI7{iKue;exiL40YB^IcbuUQq*j814~tIURnI(=`I%* zl`g-Yq$OgDmh0)Aitl<9?v-J{VAs;fXc2PHIcM{p`i{4Z%rlnB{yTZF+~;k+hs7** zn*}C|DikKl%y4m0H9S%DL8rg^NiyShj}FgYYii~TUDe$4;o|KJ415cP6dJyTd%1mj zZ_k`LMgH$W$Mt(x)%@SG^1sleJ#D5Os&^X0rYV_n{A2L0`l+x&Md$j(=(2vc?N65K zdx{^q%sX+0WmVuzwT8CLs;x6kIMT$MF0gHywv{(m!`Ulsl5bkx=jr#10$%+$Q(yBq zFnbQmY3)LlDJvhCWGNr6R{!YHw6*3&;;hIIN^6$QSiUIiQ^Uqdo>J$s!nW8Q@2{Vd zaputvcY!Xh%~SWJDF0OKoD&yR@A)*|_hw?-ySd+F4{)}hv3otga*EjGnS0hA%W&;4 zd7&I8#jN-LSeQVKOorT!r)M^nP1QO!x42X9;q_<lnh(VHYLu}niEYs+vN|04RV{pJ zXUOcMr`P!zbHyY*fBnh0VRO(n-m(Q<KDT!HSlje5W~i>N`)VL*ZIHlshNmeim$_YM zi{gQp3&QrtH5jVoZmdpqJ=~~r^y+56&HQO|4>5?WVfe$A$d$|RQRK^nCQ}y2nUyCR zC4&t9NB(`bomVtq3RBU9`=^)|PIR#NXmp!_rLf?GAOC`e#{H+-71kU~W`7g!e4-<A zmuSnBv%#8qj7v0}BabL>|GZ(V$F*v`?<S=!HARJ-D<)`iugHyX;#8isaT~{~pxqiL zL)T5IR(!k9(rr!QG@jkJPuo3yG9&(PmfQj^fgG+WVV~zdGn>2Uv4i!mi!mOY7W+Ot zkX`<eCnljGe5b)=6C10UkuQ#mOTB%euwywl)80)C9)Dk^h9x9V$xD;ISHNbHQ8g=D z;KB{Fm4Uuu;Y(-gyldEGlf(4VI7f6>uFq+n0~>mc90I~lq={`ab6A??&*RLwG-i=} z?tB-!4c+Y>7D`J3|M!URSz>&5=ifhTn0y&7tPOi6lQF?*Cd-zY-<ERLPTiRyzR_xC z?240nXWnEpywJjPIp=WWs-Tw)-iq9r4$Vn<A^B^S_RO@L5YQMlx4^i9`=YSK52NC< zx9gRQ8O#jzjoBLnjB89e`1^NAzBzo^h+Czfi!&iJci!g&=Z@z`>qIXslwH75rWUsA z$Xmy6>Cbd}Ulio_-JbL*xZ|8pZ0L^!nN?CL>kZE?J71l)o#|)Wf)l)@Y9G?l4jeqa z-|uTO({I0JwP%%B8!sK<P~&IbEBN+hS{Y+<sAq+J)6do&*0Y}WPU;k2cCw+sN6=Fy zUri<|RAHia@jJm&)_W(K%*<qS{I6wV*!+;0w`DeWv_k6b%FIr0fou0QZ~Wz%P~5%u zKw`Gdi?v=CF17ciaxB!ED$rv!>+qFr=JC-TvA_CnOrJmXn)Q4Iu6d!i1SWk;{U_UT zRF310Xzi|x=kMOXJjZ5H=)N;1C9Aa<_zLVFFtjkTIPO0Yvcp%W{u5KI%>g!lPXp!i zJ}X;t)xNa*%s9?bDbB`RU?yC^7I&4AosnJjLEZc1$&L#`jRMQhq|_~I@k|vg(JrlG zUR2$&EnP;VdXsvb{PAeh<Iyhdo}3RY3@%AUJJlF6mA)`(W_Q%8yC!nRJucxIzlT}V z=Jv9<P^Ro-jd#s`;|f}Sm^oLf*E!wrS(^S|K<~QGvbGE^iTsmC7`W5Lo|yYGA5i+U z-6wv7{M7XF{UHtg$KtQ62*=*Y>U6C<e6584V32%73DY6nIVIH`pPX0~eH6YIhOmY| z{OWBKqLrQ2ygSG$Wl~3W8i#M8P|Jakl~dBKBP^<36f<uz?AhG;nyr2B_eQNv7EV*D zHHG4wzO*lwXu2D!l_e}-^Vlf7L_tGIO*f-Uy`yT;jIM-9<#OR&>Fr$_CQTRGJXgAw zbQ`-U&8SH=>(W@!873NDp%Hh(y(v|_S8s|6SA*W~OCr7>9UC6o&3k05y;(Hcl(G1m zl1N0SmXhMp6&81tLbxV69FOS!a>6Nda`opK{g*BNTTV-A|5(xExV%u|N1wxv{ykUw zCp{84#o;2dZNiroh0`u+IH$I-SooSe=sfJv6dT?>|HQ-!jUGh}=Mz7iYSNk<woKg9 zq9EF6-z?#B)?!lmio6p)n3sPr?<n!``fRN2EUNj^c<ojrZDxM6j?nVuedmmP3RNdb z6nCDTk+)@%gXhnQS`xj?H%l*=*B-vsB(EN_`Fp>=<y7aVeLN<X(<8clZuS%kP3yhX zKfR*!Z%69oL&`4_G$#d351%=eVdazx&8Y=Prz>;zF5A(5#H@eeil)kw(JU+uJxpe` zmJ?6R=s0-U_5-us0|B46Y(|qN@V(5KQuVB<CZcT1bkErpRtJ~-FFbj?vyO9`-%Z~s z<<r_MYdIIHUnuJ6n<?<AVpht@=<PpewN~_Nt?1cubGGr58Eq%0Y)_xA{A1dV<FkD= zo2ogBnk?hOS*QQ}F;jhICtIX~(oBVtj;2o?lbB7S795qX`@*+uLg2}1Hom1UMy3(x z7AtU1n!U-%;COQC^T?>x6>761g^#4G-QJ|Tu*7qgOH|Th)|3U(H!X~6Hch_KIA6Ne zfvL#se`k6#6aQpE{_CHFJ}j8Y`^t26Xh2=6<?jQLq8k@JWU^Yzn)c?B(9DYx515_i zF}pwFaBptVn<r%Pdb1rrEBk9^I~f5jug7{v8SJh&irg_aRWMm(z0>-NlcwmQ{~=Mw z+&&sar4)M4UNmpP(RoJ~$9%frB{;=q8>4^9Bc*I1%caF?vpH&xmUI~0nE!vLtbf>| z9f83KQH%CZ3{*PIU)`eNXQnL_WGFC6!{?}c>|w=I?z8?y_WhZ;!f1wot+C9kh6NU` z4pmFIQWDr4uX6k}kXF6ru_A%1+DK#eF2%Ks(S<2oj-s72E{DWAJ1sFax-fZpn3s_b z^AvGWeJKU|sg9BrA5`8v(yIvIS$;v!xzT*Ckk$UEB{w^`>{J$?`DNlJCHmn&<N?J+ zA2*nOe85!^yvRApa`!{i78a-XM^-J%3fObe{nvAz@?$YIzm^4vE9M@WHJ5P#SEP@~ zl@;AT{?Bh!G<te+?Vnqs++S^*Rg#~2rcPLznxwp-{KYKMg;5U}N=0_eKg3eHutl1i z)mTz=1JkQyy`z$%i)|)<kiNIr{otYr`^DGKD4qXpgQDt`85vhXIt+}|g-xY@**XiZ zYg6+7l)_QFX`aI6^(RD~9#pJc$n4?Itmh&aIImUrlN0kUM$X<s4ue?>&R<?)rewb1 z!;;@oc4D&wF9)aknQ|JPc9fg2Y3Ws!qv=|%SC{oWPurxpe#K+m+d`HpOzPb?mi?@f zcyiKl!Yub^k#^53=W~Y!E*A~;EY-06VYpOeVZt<<MN2z6Z|OvBT_(CwdcjwYDGjR_ zwiMSrVHA~;k@a#f{`J54qsj!^rQ7c=-l=?8vg5a5rPNZ}7ltY(dQUf)cor-u&RXSG zEc$hWsKd`i4Tl*$4=@&}7&lv+JebU4BB1y9klq6(y%$a*J%aib4kE7(NL;^UJoBZY zPwH0HARW6)fsb~J_FUPyk!$saD5r<n>*`o!oH~UBRiuA*S(SFDMP1VUd}`T>mOfX` z1x72jSF7awdt#%wn(N-?fTa$chRr)Aj~c$3Y4}r_Z*g=_ZIl<+&d_YBox;}J6}1DK zTNcRgS)N)Lz59!Q$Z>%eD;JzF4O#HoMf}bB?IDVhySE$mq?r9#_{Krx$f>RMlb6J- zws(sX(QRJ7-*JbFm7Pb=qBlZodkp{UowXLxou%ip(e{egy1S>B7%A;r^mTJsTZ)3# zw#PGbyjhiQOUV=zuTPb7)-~DLm9;FbT<z<pWel%GZa3{K(TJM7K}=!ErqJX)RV-$4 zkE6~m_MFQVEG*=I@FQ!H0z2sJoEY|Q9riSVlT&<7iYtItdrqHovU|_TiDyoB-#L-( zz?dCyD*FOs`UW=9fK#Fg>>>`#aUV`Cy~9{`;ndn3_A&=HlK?i8W{<c6k57|XwrksW z=ZGGAb0RH({p6h!lmDFfq-@XT#rWy)={-3MJ{?|s>Wy2yGvgf}<~up;_hL@(ICHvQ z`1I<UQ!mb(U0TC-{?D21yU#9rb2c}SEp>y*E}#GB%N@?AK46=XcB<Tg@xhx@CL7pd z3{J~7u*rU4<6O(m(R)F*;S~Q_){FzJBDxo2E-<p%Ud(nl@40|EyMWE=0h^Trd-?+Q z>;!ht4NNHum`elLwI5v4^JQDeb5i&2r5+!)FFuTM4_I|`&%XV0*<mgV+p6;_p^7g9 zcAS6hej`cQGnXy+c*kZ&>(bq-22bWEESjxvvg~vBvdYyPpT1tdQG44GSJSz><~3Na zOkfMHnWAyzsQ^0zvl+wnqFm+@-s^?F*URT#FVDSRarSz}-|O|dEM^AG$_dQY6Igi~ zZbT}u3QS-XFktAjW#~W4Fh!PSito)x0|x62H=BE}H-5a?@bUl6`j6s^e6O<@FgM#W z&)$2>+JJc#@6E^!H;oM#m<^Z<9T*A<845St4!pq1Jb_L10xLhq?U{F30}Yt>on?4G zow?KZHuDA6pbNLE6PPde-dgqc*7du$*6n5Az4z{oy*KyGWu0it!0&$VQS80$xy&7N znH?uE1}h}Jzspwp;ofK4`+`3br>(ssZ^rt5I_tH)%w`5m)(ngcd^f81UN3uly~_7` zYwm;kyAOEe9w;k35Vm{B?ZCc@MY=CgvgHwnNduce0b5oA&&yAI3yMw5h4%j{toszL zmRhB}wa6>IyuAGN{)%jtc~@73rloqZNJg&?l#@EKWb5Pjw&j&kF}y_#m2>|;V3U)m zfBS^{-GiXK2O@qCdVL>M_}*wfd+Sl}%|~l*u6uiP@!KaX0_@9pZ!OGaPWvamYVF;X zd!J6~y_<WFbww=$y8}D>1GW+e(6o2PgXftO*kTjz#0tD<l)HDv_s$ku=1hg>S$Q|E z%d+3;y<4sD{QBCP`*?3|_*)RG$J!ZtFKEF%{^R!qf81Lpm$Ymid$7U%8ND~R=(2u4 zd;fj-gGjyyOKoo%7+eqD_nQCQ1BQLf$__UU_&q%0_h9>5Hr<C36KBXuIIy`L47sYf z)ue!}(4o+HMor4~`QNK&<z$ulg<rkyw^2Y^S(DYsk~Ny)v`64mp+wtx?|$1{Fphcr za{J%r{{mio%ngCpgZQ5A>AN1|!2Vb7sldAjE9O3(d-qmD@3Tz4TTAYK_!;-?y6^S0 zyqC>uZ*J|q+qm&|<-F%53!WETd|uzjmMOqqwc&P~-HUy>ch2u+KEC(vRJ)gx_T8TJ z?pAN#o%6nT9__u+ReRIs{O2=g8P4pz|M4vQ>U-?92iQO7zS@*`Gx)&0sekLH&%NI{ z_eO->gZQ`)^$TA!`aiAUeIT57<DedkK*9~?xTn?|7}D(@Ca-6nwUE!gRHAnZ$2=GI zj0bGnt?f>3QdqOmCH|AzJFktBE&T7gI*MxES`=?I`h1*gRqCo&-@bf2{=)D5yS`O5 zCYzpedKoW#QnmI$wEk0u`~QC~$iG#oduzMjFaG}@lJ#y0$A8F_W6$mTn!4`Uy4u^7 zh0mquKbJfIe3$>l-MXI|?U<_)UiR2APuBZmWdCR8yw5Y|ezskI=N$jn?|<upAKZKA z`^7!}zMKC2_q<<!-TgaF_V2W}H<<6;innKG(fh}y|Euim`x0FiX88wgXCE-V``5De zn=%6<6Ca}!!<!%c90JPLX6#IE_QFi@n)Xcm{F?k+@u?|k5>i}D{rvG+QvCLsZcCQA ztysQf=}I@@b?es%Z(P4xvsZKd=3N_C>{_>B#Q`@tDH$2Alc!FflH)pe{`|RF6SmFe zT6k)LT>O~{6SyWld~k2#&MlkS%?!-mzI*@S<Nr@@OG*k$Vm|-+{oa7(^&1YBEs7Hq z8tXau)k0ppS2)<tl6FQxBK=rjr?6<)lpTvt_gJv-wb&FK=<Q>+x-+HZ@FxcGnjeoA zbSeiw<1vxHeBqDA#?uXYff<*4jFo%OGcs@TNIamx-MrLqrdO&|i{pgVj?1=Ov}!$n z&8~J?$J1S++E*3yRw?z~5;?@Ty`_vp@*;m*Y}wm?ZxvWJ%En1sRh$v}@Lo1nTAA(a z)Y%mmI5^DisEKV!KFGsS`0C0+Wrd?kMpAMUKYdX(vG7}Za>Bze4Odsmclh*bm2%(E zi(Q_^DQ(s$vg`Jq+MD-!Pt9PLk}=V^-qILp^7PUq(Zkc4ZvEGEc`(P<%S`jPQ3ltx z_Vs3~&ECYm`myr5`++mlEnai4f81`K;MmA`^XF&wk9PI#W+^Ebc$i~SCN>J&9+}w4 zCVS)vqfd*7yQlibmVW8)1qWGujSC}!Wvo8Bgh(k1g@$yxD^8svqOJ9Gk%(XF#O9C) z)`^Z`F<%d|M+CR1h6%8$Eq&x_t#NfqkU+}ChG4st!Wq0yJCem6UUQ^8o$~#s>ja5; zor(wK+O}?Hj_vH7IYS`rRO&MY?jFvAJlYdJ9u=RnL5)qt&1Vs#Wa@&CNBQGdq_wdX zS2Z3}Tyo&pQZ0TPC7=8~M>cikZs6R`tu*c1B2Aqw437^kmumPvx9n_!@&DKrcV=>B zRV?B7aEkv?Df>K*l}W;K<@@elx|y@jx8T6!*Kdm>ro5FopkDp%g!}wytRI)lJN}By z45+^p<n7=p`_{C<Rer0nV2zoJheOK~p$*673QN8S`hMFZ(!N`|D&h){9H**aXZBNr z1`*4YiANb!FIcB^Y5n7VywB@wL~@u}-_s3;O{1Rb_Z04YdL`8T&=0kw4}YGDTMOU4 zs<Vav<pEEw#&rp7J3dUX6jba~bbH2Oyuh-9H*dznc?>BmFWMMNXE1uE&pYt&-u$#D ze>$aJzH8Me+<SD|3$5wjgnX0^{$+}}x;s;MPVNN}<yFNg>Weu|&siGxs$J}H_q)A4 zi0S`b=DiQ4IxV*^VSZDUQgo*9{@b1l^VmLIT$pqG^;PrxCoY=R1=NLWecACugmp)| z%bjx!&)olaXj|4uC+bZMcymwrijURXg~#I-KMx7%QaCZAm7C|w>LhWOwB61VoYYj6 zLoIzKGKSlBU3C-q=a+gl^uLg$AWKN(*D0R_R4f~!gU+Ql@4x<j>C;%|jf<Nl;@3Rj zlvI)Z_noJ<-#~nd%;x?GnZi?oGZo#gc$O^QvEZ79S$stUyN1CE{T)d`M-=<=g*aqf zD&7XhJ$AjGw^*7}iqYy=<hk-Cn|VS~n`I_z@UF5ml?w}Hmd=TGTXRm4L8R_+-u4f^ zRSzaEn8wOi$M|39kW0)lL)j@#j42<SH#B{no^HB2l6Pa!lSw<~A8$MtwaEIyJBbgA z6-vAnXT3h@x@d#mrQR1s)1~ijEpk#?P;yY+(j)o9gzuBP|1cL<7v6i9Vxqj9CBNe6 zWx@Vs2N-gHu5+l~DRFE{_|$DZD`oR;-q`%1Nb>zv)*6P!gN&~hFdJVvDV(;zdB&YW zi36oUY4?hllfr`AZ7=xnSydlVv)b6fP`12*F(s5qkYg)L(JFE7DG&6U1Xr$$JT?82 zz-^NQmt|7t@V4e<w^ej4WZS&-L(60VMx%_Syq+b`!zS#wtde(dX~_xZ2-7F0c^^+) zaO8qx2G@r}0=XLfN?Do?l?Q|V3rikik*LTk3g05sX!B`u(^5n2iYLsU%FG*<<*erZ zcdE%hV!6O+Sr!#hM&X)gp-qdYH1r)j?I=)Wz<knFWZpfkOH%1uY{V^e_>azJl76^z zcdx95W^kZa;~%m9-2o@{eq4;3TDEI`!;1!<U5{q+{c~)$+HiUD#|ojdCluI?TwDZH zH>zldu59$lVdqP?ILsr((8ySDHFO(Kwys*mO83;R>AQ5YS#p2!gt#W>oDX!?ab9?E zQ{`dHi#myB$`g464>0E5zpzXzZK0j)zqhicw;%F0nlhQ!IPz^=(!_LULqlob=S`nG zlwZHOJfX_UL*ePA69*Pmh}5(8muc<2*lYHG)`j~^H<sP@y3X_NrNECFr`ZIL#&rF< zs()*y8Mjd81l|K*0voUDX{-GW6ji<^vTskIk89RjnVFMVPn<cvtmE#rEpp<z^Zq@K zWVzTV!*`&=jgx_I?$0K^j8!3Lx-<)vcN|Y)VU)DG@KUhnL~zBG05+}*oFXX>hvmvH zFla7N6zAEp^lHxGtsbRW7NM7Y3-V4%CvOwAnf0QrRgqD4_r9qik0RUB`BpGk+&MLC zn-(vx)4`?AJ&(-xFM64nx+miMrK6J`XiQPFtc*yKW%H@a&fmcGNto%a0^e7a=_<C` zQ_3nYYS=A&T)1+@#k#-SPL*vj`d;?nVz%XzZGsEM9Vahx`@dzylqIaUoD=^suIni{ zQXaYER0P|}hTNlq6D}9I@0xMwxRv-xot76X<GNg8oisiwvM9PVaT!n8({jX?zhIT5 z#>Ti>gKfv&%x=_hPhgXEaNyHR^UaSk=Hx3_%;Qx2bk2)_wkI76vo~|D*1!JibbQv@ zrrDod^-Dj7ZEssEv2G8WYR*!1(X7YPRcp_#P%c#8-nt{~Oq=h$1i{Dta%^djw|rB( zyOHU9!eRdTIqm(~Jo9H3zN!6SeMaf|<K3$Y&MQ}UOkg=yI-y^tfltq};ibbAHc{RO zTP5c@$yV+@wuNI(^}l;z(-~9rx>e@%1sl9{i`*?fAwk9AQOWU!ou(W!g8rLxuPJtK zVwx*pcywle?YD55$*dD)ujsjHwNIPcl@j~4bP_{?tf9&Yfz5kkr|Go_u$(nW7S!W8 zu#qk2iuePC<q=#D*r!x9NM2Fc!Y-gCGF9ONUreh*RM*yPyRWF~OUjgOGM13w(oka$ z-a41>{;Qc=yQIyO4PSlK*)6s4P<HfT#!^!SN9&0iK0A`bHs^f);hE9oF1t#&{oAjY zG^ZWyns=|;NeX)}zqr*X$bjAd<kxDpAIq5AVv_jzICFHv?JA2V{{Ga>6LFSzsf<%w zwq^U|nO&KcYaQqAes+4}9Qm3=*|QP<?%q5<?}Crw%ZWl!3#6h_zISYGOxu|La(`i( z$p6U)nm0aEVc-==_+XRflcMrzMseRGcBuu;C%;_h;LBFvOlLUzbJs$~fSN|O7>3nr z_V;yp*<NUxTa?XMQI;Aib7>-PQF_j;1r0Y$<hD*^I-XX3+l24QMd?QjjSCLQ@^8>6 zanF6LDsIYLH|=?aSpd6s0{>LelmH_go3`jR&)5>0LOPnoi?7&-IaZ%sBrtt5v(?2E zI}4HTMQ&Q3qO??PLS3x?7NziBO1-@_{qR!V{lOj;-}p8^H{5T|Z)(Dy-InnwP(o6? zZdPd_pLlV9bH@EI=1t8)*OQo6CvtT^;4Ecek27$dZK7uOS;G8sh5Kcx6(2Z$DKor# zC~5I5r?}}qW7u*wsZI4=8az{z!uC!{NHTBO&Bk+Lo9uNKK7|mcs;6c<6*%WIINc8@ ze;B|evV>c|r86x#tJ0XeM4{<TX+$-%4*LWamPEFI>lH?B;(>>nnkE}(6|ie{IRE;f zyFa}3kD$V~=lRLc#DZF^_g&UMtt@6PR2X_u-#kNr`ItydTZTiKMNo;L>Cx8fuB~Yq zk(D3)%vg-yd=`7k!hc`X&V5O+={1QyMUK(~9DhHT%w5Q4-N07bz~1rEsCuG`pCLov zM=|9M43ikEeAzR5FKPVz+&TAv%)^f*4;HXxe_&TwR39Ilz3ocJ#%mm`9G&UMrTNTw z+!%5nPT+YYP=2@ZfBDq}-~8fE!<p)f3N;O%By3~SI`vUgrh(;(gL%_&!!)H@t1aCd zZZx&0TBJ1a78;0qX!cCM?p*z;*6f(vHq+)$7V`OuevvQu3YQdJE)`=aS7E-uH@!I^ zEYZ4bTI=TNw)YnYhh_AYa8C1KluQ=#@H0yO{Xv{LK-9vBHQlrSYOt;NWo3sX_7*1g z@@94Z1#Gen%B?Q0wIQ~#Gd=nb_N_K#-0+CA=&9tLaP@U6T=537at@^_3)oB?6w(+H z<2QSAs^tDHci5$txHYBhaAR0pb5~Vs&LoCL{Uci27nE~*aI&TN&N1Sg#9DFS;v}U8 z79|7iJAqtbk(HmE)vQYXtG)Sb=jAHSvVi%8s7Cw(A<uyNDJd2mjLdJhGO!<r=V#P= z=r+B0r%r-q?fVa6Ta!h%1gHPMWPMH}RbhM4`zJcjcjP^2?du4he&|!W#9@Poiz*>0 zVl5_Or6!^Rhiwd#M72z3I$mJQbjT{cBqf!=K4S-4aahX<VaZMv$qEj2;ScJ;m!*CQ zOLYry%@dG2c~K*E!{TL|nS&;<C4EQ`-j=ZYqZEf&!(M@GL6+GWrDe|;CO`f#J5Xx! z_5xpSjz%L%hq)KEg%2cZg)Du}peZ1sWuKX~EX-FpV6Njg&-cv6MixwJ!AoZ+l-@TN zXLn?GO5oVbm{*zTS={7xxUKt*$$x(31@q>FtmyyV^-h$(eA>c>C6TjKRoYt$-<tIC zFSNKXI=!p8@0GI7&Ipx#%*raPy%!IQ7)%OycWwUvMbl0$pKp;A5G%S;cdNd)Ap`$P z<G1bcA_o|1CIlrVdgM=3nf6nHy&-P*hLUC_E~T4G*EnjmC^^U|lm=ht4Q^)(WC%;0 zp0HamdyPT%fd{3L%1anlNS|t0S`og~KxO#>&c-#5au#$XMOuX~6q<X%Aor=DmR!NI z<7IqT%OVswx^1u9wHk()8E7n=U_Xt8{e`5lNhxzjA%oLmPLm1U&9AylOsASm+vxSP z*mLQEsF^F-tokY*Zs0h@ubklZZKw6tE`>#t|LbzMR$VeKyfoQn%~yRBX&WupXtqh# zEK>sl1Q*qDaGGpjGYMcyVidExBzBcmJl2v!{9wr1%(&@?jN31?>zd4Z*r>Jip<H<b zTiF6O5eK$)CztF`;XX7$BQRO|`oWp}X|sjC)$dL)e|;+4z>{ykq;pNGtf2_sJi}#H z#U>{gB+7mXmn&GZ_hA@!h50@vi?-_$GRd)q&T(@V7_+&U{7vR-d2IL2LB~lzi2WjO z2m`yM^!#gSE2O=}m(8Ac`&&ilEj|_R70yd66o2dRz4n`CHNVX;!N*%+@8z1nE1Q;X z6-ifIXn55o`(Tu>V{H8qTf5ULCl0eN_z)iE&S^4%x%R^Ug^33kQYNrwJ}Ba~63Y#= zH7QPEJHnk7z*b<O9-qKgbV$mqYU_nY#^V!YiZ4&x**R(Lg|+q<l9nD=yXoTo$xVF8 z<=MNQaUHVcyPD#=^kCWT7W1c#NwWfYDzkZVgr}rF=6Qahv*N03)#4SV-^_1zwkaEU z-kGjm?8NYO0*lpT9+?X}SSG}8cTk_=!1!rl?vmA0TDkbw?_SXsK7IPNVyWBw{0}!M zthTM+c-TtDqHyD88AIkkfm9PEQBF}?$AVREL92Wjm7~to#EPyuTy2vpaO`-nsGS09 zgy1or1FY>o+WL30RWfnDTgbSfiOoQ0^A*!IshimK#2nsOZ+YdeF8K1lM(?D3ToW4Q z3fR*V*kl$komjxI({su0Ee@M+a?RbS{a2d1H^MvntHZtrGH;~h%rd!qE$1A3ne)4= za|KWC?TIp9qZ}Uza4oyAbn%7tGSQXW?i903P=B+#?j!?y?{$gE>>JD!*o76?Viqy1 zemU1T?Q~7#itG$#51!qxOPKA#D?K@n9DKp&k<)r{&(seam|qm>77Dn@ek?fsI4>yR z_^Hh{xd+(aoncE9V0$OSmU?kvVvI*nL5i>w`|ihkC4`UJZD7}O6jCu{C>A&$>A<L3 zz*fYwh^v7;BY{nzgRO1>W5xzi|HheLR3-C+*t!eirazc4^%2LKLh}q^2eV%caRvX` zMHjGT6)Z{E-m%W{<kU+XJvX=}Nvzw|ps~52%kt-e7hKC0@9FH6o~+L~M^HoSOV>e> z7Va&KoGq*+x+l(j=}-$)VpngJU|GOe&LIC(vU!TSaj&6x??$Hh2`oz!*%Or5H5u3s z`dqz!#&E&L<aM`=-XxqoC^5gW`H06=yT0Go>)#%HFL2gcCNE1(Wcud<-6oMR8$*33 zWm6^A!UCb^MGUi2EnY2W*51H0>+VhM2B8IOnHTw9V6jzHY|Jmbz~IQh?)Kmk|H(wF zV!wF~%=H%-VnSy;vR)$)5b~{nO+L5uX|<93+NIA@OJ_NRdOEN#5Y*boa5=1*+i$JI z3?-hqhW}^B2uY_sUF-2{8{Zc0jekzcG4L6xOs@Dm>0H}V$KER^rtLT-;C-^dJGN`x zlZDH!<>VPZ-r=;_I6Zb=z+Fzc3tiO<JOwVO^*Q#lT-Z0U;Zl|Z+uDw{1tK@T*D{=9 z6q5CBs*=?a)4P@=yWz`@hXQ(M3f^94KO`1rc<j_{6@y32r<7S|Y`m#Ak74%Pn|kYR z8lSsqQpYemmO=gF&H22ymh|TT`WE0Q$DTLgl5=r=(box664>GvFjq4$>h#^-v6uN& zEoVv5zITFhA_?pk*Swyonx9(8CX{oBtAIz2L35p^bXxS1yH=Xg8C!oI=IRtUAm@2t z_Ys~?dws99Tu~P@e|_rzy7J(Owd*ELJJC5+V%gJ1^FLfi%<eq=^5cc_2BxPcC)Y2E zpIs2Y&nJHJM2R$AF2yelCJA0n)2FlUQ<L@+=)A}qFVK8F=6>(#xZ1bZC)mBN*zt0k z-|HQIufJ|(N`1hZvVb}6!s|Q(=Kq&MgKN&oS}|ChyLsl_O_Ml=Gkk9?-`zZY?y-g6 z1@%IqCBC=V6@>&!buEQU7hb3hET5IIS}0GUD$ap@n=b42-rF&yY>Uj*r+;9maA2-T z@cez-Ywm(qDOo&P4&hP?OiK&-<SJ$VrgJ}USMOZ(q^5$y#cJEOwAm{bIJwC#)%cd9 zA!crnx$`jR3$g!Z=PvS=6ie@Hkt<RBZ~yO?dDfwa{dw0U7_^F&!s9Q<%$&eBD{cmt zC%essnRh3wU#n3vYu`(!>k^ea8I%k953{j1<lgV`yV~>aVZYwBY^N{%jko(5B@E;q zvrM=>GxC*-KF48G&mskOZ3oXqx$JoxnDPqPa?i8c-D1wYz@B@7*|s2MuI{Z_y^k;S zJvPaEYa{pAvhMBd+P78<9^37E`)iuryw|A@EKO#ASaa$kulxe0n1Xy&N5!iB?C;_d z-ku9(5o3QXy@*ld#IsPT-0){64NjlE_aC3Yu~p#rvImlZ&D?7rn#CMST>f$P&*l#i z#rtOlIqo_Zeo0a5ddT{k)+?`P`S9i}eWSJf$o+;{9RGPg)PCxoJ>`a*apyt1<h2rM zNjj%uXH^8$XM-ko*gOl^UxwTIDm-m!IOMyMtz-hrpNJXZ^Kbvi|N7|mlm&bo#-1_C zt!?eCW}V&2T|Iq$t=1i_0?N~72+R^Nvnnm(ELxz=sl9AjskW8%>{-6+l&$9$m9E^f ze5uv45-Y2`n2eY`d3mdLtzzG+&A#l+xmBl6oVGf1eAnLdS8km<d6)hE{SuZ!c9zHN zC2{dwulc2<;@?Zjh>E1Arj|U+W6#^WFYm>Xg~@Krk~T~%HI)e|O%vtqA07NHbl%6B z@smYCz`=zIyp?Z)d^|2*Q1qN+A2g>%K~42AyC#c<2V*eLS$3}fA~pga8WuK8c5C7) z^)PwCvdG<AYHow^a`w5FrDktmnyhMCZWZisc2&?)HdB*~f*C6v4j-T6JNMC&Tbmc1 zTjK66C0P08fRbwkuVa^MCQGAa?~66ns}3G^Qpq~E#&c2Ip*}U<sLUi)iNn_|JU?96 zIC04t*|7C7xw~3k3dzRVpMDpSkTGe=wOVz}qO;!x-d>uiGW&M1!qt`c5BSR(FVmTt zAG~w|^Z#;P$>Oxj`&{q4*+y-8d2!b4OIOeCDlK^Mqfyy?!JQpV+>dL2?#Nr%UMXW! z5aH~nVD<6ezn{u($9ViFG0g~UbG3c@g|(6EprU{E`<jo=(fmt7uEaP^JR;;{`+w<& zW(fn^6qj~Q&I5|RfnQx7@{4e#UJ39zx^+>A$;27gf{hPFJn)e`C$iWpXW`Vu{*Z?| z!Wy&png+#`$htZxZ!+D)k>GbIO`4JA-+{~G5*i<xQ$0MkUX%(n5x6;{`baaItW9I; zMOo&B8{5?;?iGsEUg+o`;F?ks*v6Og!ogj&ErLlSw`E@$2jlIdfgbvk1wN=P(q1xY zj^PD~;#kHD4(@Y|4u}4dUZyS5z-xM^#`&z#gNa^qSKeFmDz^Mwj<M|O2UmabR<a*4 z?6Z9KWad5Qm!cul*edoMW@LRLbHH`oix-!B?X@Q?<ny;-+&$ST_u%42AD*n==b9tJ zejg50`p>HR(9<SMLfF%hG2>l~eXYdgPNpRuL4iN`o=ynjt&LFWi%LwL>SyvS<VJ+S z!cyU2!(~%L!-6BfKJK;1{BU5RhuqF3*_DP)v!^r)Jy@{+oroE~kX*%rCa(CEjcp=H zZfZBgQzkq-$DDN}@R_(si=?D>@}Zq4wLOm{dJ0usE1V_inq74A@($iC=>^I!6ug)? zCj|D$Xx}NilRqbI)!CIZ<P@~Z7bZPE=CHh>Yuk#Ix3tRFE~&cAYx?KI;#I3Mi?{Qx zDLZd_Z|&2$kJ}_&k|x{>=UVmA@06^F-30kxKPKu}{<C$_b+s+z=C@{_wXne{zC!P+ zlkHLyy;fz$uM=K>{J-c*koOy=6YpYVqyqJwwZ3&vdH?&}??+KlnWj$;Xm%HbhP*df zI+aQ0(3Q|b(V}L*dRqk5MEf$%wul@PzTrAsS>D=`b4r&^gQsxDE5FHX8q3!l;xl~T zaGZtd&O&Ba>nn}yv-yIWrS?r|F*(wxWUp{o?h=CuhlitZ(2C1^-vnB%I3DnLRxn7u zNH8>Al4#=B9hEtcZL5!rgUCduqf4}wHgEdNoVV1AP1x^iFOvat$c#(T_9qrH%Ps5T zY~p@&=SSnJdXbM-%bY~lHbrdTb@P<WlZ&A;cNVB7Ec9bue7T`Xr)X;BiUoE@7R)i& zQNU;UVPy&1B#-7tfeV<ovPVSp{9k-j=8Eu-8%q?mDrI+vY+uLU$rz`>x#V5I5~b^3 z`&<hez4wQy=*wxInaG^IcmkW6AkSSFE$2f@)=wP8B`w!z`FjS%OgS>W-?3B3IKn|) z$77e3Kmt3<&j}|dEMPLKdCG4nEX?w)fW2GhMAFe!DJ^#<wz0i=z*F|&CSMuDW?z>? z_WU0TEFThdjTQ3v3n%$-s88k$^Jp^>*l_E5lk(~?&Fs!?My$(b2&@ui_!xHDs`X~c z2fqS_jq{qc&p&A4kW;WS%xn6cZg((HPIFqa0&|VSDVgvEhb+$N$gF7OvQcQ#|8|%+ z<wU#uqy>zOKeglvHmJF}Ww~nWsVL@$_{;paeBjDAB|H9du&39Z<$9&L9_4E{UwC`V zb>Up2Pt`w#<~eITQ(m#+i2Hvf?+}{;Pa#A9ggeb$hnKV~t~kT2!*r!V<ME;uo;!}M zUN0!3?kCLceo>Lr=BI#*5{q8zp~sAopBkhlZD_VuNNmnJ;9TFKBFwuYftN?8S<1qJ zDbwvCZ+*c7zJCR6CN&0WB?51(uWdMEtMbsd^wP2vn}t0pdyI^%JkAwZh-&Y))Rttq zaNPcSC4<_AZ}Uu3#7tve`}y3wFn9T(=XcH>)Tw<nc|J4iJ7LaWyeH=#=4QF&DJ#Bc zt<K5h)OaI)*&Pog6Av&lzcXN#5#n<1T)<w!-o)(ccK!d_^(UO=Dry3H>Xc5*yT#({ zvg@ROK*;W$0zt0Ar^J=2!>3s#38@=-t~yjyq^k7NMNziby}mgmVV%c%ZNpt$5l<dl zOzjEsoR;9KbHs{sW8M#jlAcb<R~sg?+&U8_=g{+bgNmq%4-03egR|oqhqi;yG!@el z(wOBs+ETm{*#loVu*=<O(73UXIV0i?%gYVzO;>z)QydP<ZqPJg_iH<0&GGhnn{)f0 zKacY+1w0a(J5}eyjSD&7Q=BTf9z>NHF>YI1`q}*6n{#(RecoOn_b$IXn(q<cmF-7# zHRhj9UM00TVqN}H4zZ67FStq^!k=02igSEnHT9Ub<iVlC&KEcLvHcfyk-Nt8(#qgd zUt**VYrRQl)k9Ym?{6*6_Kluf<H{G^etNxpM_k~C5EZ5sn-;qqyY2bCW6Olu5f>*) z&bk*SB=&H&!;VD1jq_ApJsCK3F5kMA*1FAf%|l*c2Boi?CNZRSP5%Ccr7-u-VTOMJ z?B^6O$o6!491StJ&VOwybG-zEltw@!*BZv@K{pOdemRh@GMO=xKPgJ`gF*8Q)8gaS z3JyZ=4s?eYuuHj>h+53raXVJjZ+=0Y`s`ee=<BnR&!ssRp9;M9{Msqr3#scu=W&~7 z*l*wSOkdvQY&74|!wdUvh-r6Ay?J24x5ANC)Zwth9S26KC(XMGHZ))2|IRmY*7pCl zkDtzwa?ui%O8&^rbxY5qL{=m+y<_kHg%`Zb9=+jxdU1KTh}OF1Q~K==s+9|u$hF*j z6jCN~;>P)Z6O}K2eQ@A?#;xl6SzA31=VqrTG6*!-JTZ-t%G$P+r&7ziOPpyU`%dQF zwjU2jSKNHZ9`VGMU8y-D;ujy+jYM7%4IbCuvaKdJoLSes-(K|8i*feK#yYzj8~NMf zO=WqeF`e4c$Jg@kX_`g6m0`@Wna7KZW(q$z`*(}t?8kG`(!TCIo3T#a?rP5SopZ&) zcTBRhkA5*n;gRHDmI7v}+lTnt4sE^Ce34`COXmh-fdg!lC$m&Fu$d+cYJ`?{rs=+$ zR?2aLui(Ic#zaA}_Y?G+%FC=Dm1!^u=cx<jnTy+n>S=DuZvSF^D4C@{B~j&*jr&u^ zP*c&^iNdG8<#ehyx3vqO6N_hH7M4ghxp9qa4MXLfE6tK+oV)>Q*;g(319ZZYnkp7B zNF+$C5*D1cvDE&80@Fi<sVYpe1`OE@45tn=GF-^_IF_GXP!cOpQ~rTDwUJS#A*Eh` zHSmE$P=M(f1%5yGsN~1INym5%u0&mKud^_(RX6W&2$9QNmiEkmA<}^PSwN8^OZuUy z#g)g>tJAdJs0VCp>fCmSyCk4t?zRN}O}cCkS$i9+H$G=fa`fJ%Byi;kqsCWl)vF3z zjB(*j>M<(9sSE!L$8WcC7ZTQcXp_HPFV;}}!&OD=&?e`^?Di|xo{A#8TSNHF3`}<@ z$22w>x;E=-*dG4oQU5(>aY*hxm6lmsIj6O<@7rvZt0KR^Trlq|Uwx>K=L$CGt-1$_ z*s2@YZHh}wHn3$cU{nI%_QJ4$De;7$RzSq3=Ztwt-YpOFwF=mM%h^_4NG%Cq=W_5q zk#7EIqRXMB+RdAbYmaH~35rpQoOJ!TwhsgI|8(YO2PWxQPMYjdR~**)FhF~GtDkwg z_O61oYKhM0*VE$|6b}?798i+i3Sbi{U~gMywBx#@$cK!lh5RNHSYAy?h%gGecPNJI zf&8*`SI#sY9o9yH75`Pcp6II|j4LYicrThQ`KWQ-=b%#^@j9P^|0;ztsr7Odi0N=N z-`JtN*P_|lsrmBcoFgxCqK`J;6X|oDkz2hWw|A$v@E7*N2l7jkRrwbQJZ7`sAyRXA zJ9|k3yN@%Q+XT7eDQx8v*it?yNHhqBGcv5}WMBwjR$^dKxsd;-On|#kbaQ5j)`EcY z3;fF)`L;a?XXlhV9aQ&VqxQ~2+7q5lZ02w^VV^4(KB?ozB&Eo?|I;U(x16LmeR45# zrkT1+!R5)OoP3WG<~6nPtt_>OIa$g2tn%FiBhBK8S_)!co-v9zFlINfJ$7K{+Qc`_ zEr?^8t8k!LhjGy2=AZ@5f(efQ`E{16>L$e-iDn;Tix+!ly{$~Yq9t2DRb;EMQeotD z=FjnhZZ@Zx4O1G0`<O*f880%pp{!}4Vp*iz6e;AMXws?Ka^{I|pn}9KW<kvaHXDXK zbyFkp$CXweSwB5yEHSP5)~w65l<oWSj4warq&5n&yqv|yz@XE>;`^QPIcu9%gM^d= zqt=2Y9gfT*<qT;H*yJ8Cs5mf{Y+&o3rn9`X?owq@(2_Jc&dg&={ii=Je8xCgzP$FE zNc#QbbGmjFH!O?(xuvTqtn-RNt<}!L<~HqL0cosT?HQXaZX6Q+6sF5{lu@IZ#gw5s z)q%NegOTWiiH8&fUOF%zekr!-a^{ca|K-9D%?jV-$-Y@oR?B96TJuo}<;<Jb4vfJ< zw}Rg?Es__~Kdm9+`c!$k$s+zRC95FAh>*OKle-N?Lk)^5u1ppy(DbtD$aPr3`CO{< zTASMAMOM2u$3&$n%{9(r`XIN=Yn5iR(&J~1(=yps1+Yss#ELDp@DPw^aA0OgVDeC( zn37PEvVhfeL#g0bIkm|~aZx<IffF;Lm{mToH=K%2abQgOQpo-_`oT;c6HmGNs7)6= zGulrTy=R%E=GnP6wPT`3t(n8-hO*+xS>}Ezn|`|llqV@%DQXE(lutf5MJs{*-}O0i z;_QVEUD;Ox-*1S`m?CiFkR{iusr#3?zInjt&G<h!r@UF|<LdRsLM@u&$_L&5NO@>5 zEh;$f@lVOnEW*aUb<w5IicUtNj!FjQ(KbBSM3znyE?A)4T)D7av#(3CkDtZSI*e`i zWTyB9B|2t#oy{z%E7&v+_ifGay~>m-wves7!1Y6LpjQHuM<g@H2BWwc8@v{<eA#9c z^vgn~fW5q-e@h8_pRq%Z2NTByMkYr-Hdp454Qv5h=Ga_cuK04!)E{$-l<V$F?yU*y zP<&Z*g*&6UquA+7-PQ0~2Gtl7_KuJ4R`bM_t_3NG{FW2hJ-<%N^)bWN!Uya>9GD9> zu$3|JFS+d2xoqnbQ=R!4I>(yaJr61$I}x1K9WOR%d&tuNYj`gz{x(%C(hj+sJpH_} z;hAS4A)!jPNo&<tgk%b;+zyu5%a*hEMCc2xmgiiR2Ewc&?IwH+1xzN+USOqT(b)g) zK+Lp6fjQs8EPZq&m+ri<l!1+tfo}m*g~3!A1*U(~Dx*H^l3`?cA1J2xEX;GllyV2A zyje-60nDNfOe;$#vnO~LI53_S;(IAs+|<0ulAZ6i`d$YW#;ewyMSC`1d^zXj%ekq? zSmwT%dq04En%dr{?8WyFuzq6CQ%u@fP`XbhvE)PIDv#}KF#;zU1y4@wnNsG!$hnno z-xVXy#@HprL3PU$6jY~)9qx8b?0Kam{$|msRQ3u@K@YV=Asf}{#gYF{yCsI4|GdbR z$+KQvbg7%I|I<ZxI1Z^cxt7oF4k^`NT*7eeTXOY>Gp9>(>psq$_M3I_Pu7Y6w)c*V zek<g5y-12TTvqUO*|fx}4+i0>S%wzI8#X-;Px~dOtsIzrVZ+{IjGhi`N*9i7&<vDm zoH%#Il101O_AX#EZCJWx3!8xE@`r}Y>bA1QA7IpY&Hklv&cUslcd_m@l%8j^eUHEO z+(*#?zf|~iy91xUWVM<Q^)xU!wSkXWkUhC2(BuHC-dpw~4m?wQ*y|eDst&LgOc0oM zbB*)LB}-N@nFef-DJ+q8WIE(vnRG;+*+p>0bvZj;_v@Pl{x&WUV?6NTVAH#V#V&&X ztz{OS`q;Fs#k^<Z9sShoHRrXq?+h#BOSW-q^)x?maOVu+jOfN@_k(X-5A58@7Zlpd zFD9PWBC|Nvl&g{b&xFhA4m01k)w2e*_6M&D?hJg(rl+}h31>!?NCH!L;uO~GjeG%& z??1Mzvz#q&Fx#tvK}A8{XXox;D|c^E2^48yan+HJ-gA_11KTf#bBQbLr2-hGXR>@L zh|-w5Qq(r){OcmK*U|M^liuClC%acWNab?jhlYc%+2bCto%kyH<AFu$1J;X=Ed0XR z{s`(8U65yUWV^WN-s`noaRCjLp9D^s-uGX@w9jUK>qaBr=N8L2CZ-2m&iimz$U^Y> zR^2FWo#^HNGnB8&%?_Co@#w1BMMa6lXLO77#rQ(3ORc|(9_+qyO+|P|_3iSVdqj6~ zgdUI)J!-rtVxecg>WnKlL?w)G94|0C_gulp(Rl9z?JJ-7YDG)<ZQVaO=f}K!@N@MN zzYfMt+_Ned9d-4&!Z(wpq<~H3!K|MvSqwMq@}F^k;ayctW&Uqj0#SYWB@RsNl~OV) z%Qh~bKXEcoO27sgfjKW$UNqTxOqzFY(39m#ozE}r)js(865~7mRq1Rp8`O6hM7XtA zMlHE_>=I*4fK}SYyQxve7mZ$SI}&8#z<BYH`n$EvuM$+*nBuM_srnrhv@{fReg4Ef ze7;bH4&yrJ8R}*KSDxhk^xrZvduqh@um@&7LYI_OXSf$}i-_5k>xZt9vOAs9-lNK) zlD$#a$f-g|SX3#&mhCd%1eWW9hixKC<DxIV(X;R>y})fU&Frdy*+ipyrVHwE332<w z3~#s^-B`LWuS@lL*@Ar`d19BJeh`-5(!#*k!0@k+LFP4sYyn$&05ji*b4(44@(&nH z3vSjuWi0=2|8K*TWUWB9{epZ9%MT^6X(`LQ$eicbj7VO^wkvn?0n_K@Jd>Ym@;#5d z^S<|T!0pbc%iNo|?wwJ5k+*=Y_j2{5IDxO7_dXlU$=}EH@1rPdhS-Va_blTC!cKjD zyO-&Gt*R-r&O!^Hn@+338>>7|-SUe5kb?O#J>z<KrfopM}8ufOaNR@&OoZ+rjK z-_?8T^j6t0K7X`u%^RgttMrsD%4P5AKXJ1$TXC?w`faKsv-ZD$n_LymoXz!XXU`Jx z<T`L-`La`<MLKQwxQiArzV~I`&CRZMm%rBcDwoBtrEmCHr8ih7O7bx+6-g8nEL6xU z5cT!D@~>{f|8wuN7?xWlunB&YOEU=cj|dcA%ltzlJoa4M!n^MacJ10AzClhQkoo0T z?s!H4&p8}#b;`Tu>|4q|@z~!N4Sedcd_L`b=?7S|4zOk>{5$SG_1JO7_ka0%FRIsU z`rRBSAe$)m*+Aj*0XZQ?jua^wnJg2j_;{(TG^v9BCR(Z5DU(aPq?)rtQc4S2<I=LS zQl?m?b@KDa^V>7=uUo&7t67FiLe9ffYnKv(idL3(x5%Q_j(8@n)vMOquUsCVW@55g z>eTA#r?^hq3k$mmYu<nO@X>=unlJ31-FvC&_D1vd2hEi)`QN+!y8qz!um6w#Ee%@m zps}fn?X{v$pn%w+lz5Sf3lAEbw>I%`3LRN~VXk{Qn{AFs#l_|mO;7i%lu>EAwjg(< zLFS4B3lB+2Wf^z|2WLdOgtCe%1TJ<u-0!NTQQ)vhqtnQz;>-j?;}1e?ox24xTputn zc1oEpa40+!I-QF>%jQi`<AF78MxGZgTr7OnC&eRTxq>0#DCd7puJmhHcC@l+--ykU zjd{8tn|Chr1b&-7pPidhPoyrJdh$$bpR9GNm9VXIbCWo)NXdkgnI6K1SC+G_EVz7< zccy+-YSJlA>EMOIy%nni3Z*5p=9+pJHkk!7&wIGogr|N=OAnvE_Oz8z&%7ArwrUyZ z1W)5yA0VpKwt9s_qtjxKB?~eOo^lDcg{%ylX~@jZx5h<kgV1Gh;gyBwEVLFfpKoHH zG}+(s{fWg31Ydtp=C}Lv=kocszbs46yD8MR@Y`wZTs+ZDC3ndq9d)^oex{_FBNsaK z(vAeWy<4$l5>v~U6O0TdUnCyzvz$B9Bqo}1(UDb@CDT`H-I~t~N^&bc$^189v<p}| z&7;6Tko|Oo^F&XnC!3}V^D!*w)(fptXkylK=$y}#kolA$!ZW0y#dF7%f=O)o)1EeP z9=3eY5XEqy^7-6^s|MT^<u+o+87JGhu`^B!b8ARp&+%fAyvnhXNpa=VC5IGu7H;U& zSXMPjEI*#dy^+mihhTKz^aP`BuHK9b9fe&Qn?#hDShy21m-rZkDqWq@sTwGjnQ)hD z`IbXnf=mGt+{QmyJ9>TOK7=tdwNz<dF8RFlQIBKqgp)l+zYk74QF~M@CC=qkNpphr zFB^e#O?-9A5BI-+FrCllv&)KyhyG=}SlFiDmodSXxv)gpQBe9wQny6u6hBL4QIn<r zZFx-HC$5u9Uh$YEIP2jiP6h^tju{uL5?Hi1M;u|4xt1~gzRoMZ%Bv?+rg1Jal6Z4- z4wv-Gt!cdNuT0+wL|v_15#U`IDpu`PDKODA_Fd)0dA+wPr*Xt}1voG2G>Z~U?kY22 zmNGsf$SyniUaxt|Y_DxElk+Mzaw#<@2yKgV<=uTEZ}X#t(XN+PIxdLYyo#|)%SLqN zYjI~+ll+bQPO&^I^Z&YvQ!;Ogqua(uFV*L|+K9PoZ{<($ev*6pqWLCc`-`ibrgr+6 zT#PgQyYAqEzE6EU8zL`tPxrgDVcz^QY0XXf?X1do0-GLeka@^&nl+!_f#>t&h4%c; zCj^|>C(fAg|AbPuj?uoi+AfQZ8&BG^s7EoeXwpIX+ZRK9!USU(7#K}1a`}b`>arei zl-_WlpC$Q|EbjwW@fL%VD{7uI&SZ4pW{^1Ia_yMd3f{z+wk&TpPGh}gflJtWHU_iW zFic}g3Q*elK{)yrlc{~7LvCJ_$dyY=wz*whz+86OS^QB0n@NEqv#f`+)T0ZH#&>$T z^G+<%WC_q&Z<?*S>{D;?ffNfLiPcK6Tysn2ebr?+`6PRj^c_Q?i>pILUPpT@WXL%2 zKrW}EPswA$v7n-DZBDlm)npHFesE#q)_dk+9Uj<nQp|n9=M@PW#*?Q@YANhyIOr^T z)at0zwu!ygT93V@659WppWE2Sv2$@X_pS+l8GiIu>b$9uIh5KiR>seH&dBBc>>0<5 z%qD!DtC4EqBzXLR`2PM0$*KH1`dz{vnm!Co2|3((GcLo4!{%I*x#i)bY+sj%u_!%g zU{8tiozl=Cp>fbXF6ngCwI!ya6B@Kt48$+5bJ`Yb(ZJ%dgVptjvhVVhx`CP|kMz1C zwn^<d$*8m-G5Sqpqmf5nTdLC`$#W0bjCv25#cepE-L+NrV@tO~zsY06dlj9bOFnAG zO7%(3Ji5jq?_ICXUnf7mk6j7Ao(!>%PFDFiFz0;PqL8&=Wn4r<v#OycgHD8-HtPrG z?9^-~rVY&Jw>b)YyzwYI?TN5|+y6zg=cp*#KiI5b{4Rq%g`w1Y*Jn;0=AgbXKA!}p z)5mQ^+7#F>PEBkmm1zG^XgtX?XFcc4i-tFsM~LstSNMH6!dTErc~wD+Li~>i2KQ^m zoh&OXS0!Cq!N$&D&Ctnw+2Y7+gT(W?ijJ&m4VSAvS<1v#cnWG=Xc9{Lz#`bPxnWPh z`5oIP9THYLz!l@@q-A2Uu28j$Icipi?u##K3@gt1W$k`<Yg_czhqp3!xb9%$n|5&7 z^+)HL;!g8V*|9^`I*F;|pf^i{fyI0mj)sCYp>yK69v}a`;84GDFNgR>M|r(T?9%=p z=gYgV;*ws)z@qj-&{tt2S9$<P_G?Y9Z4V4q|3B1wDkjp%!>osWS!Y4}sykAVt!F2M zZePVDczu;@<rh=FVvRSlPb}DNSr!Pe*}jl}^B~|S)9>r7g)YbCqysy?X|buUUNK{H z%5{H(Whwn3JCp9)aM+YAQEghG-uq3ZQQu9~Z!T-5REq*5r@=?jt_u&gKD@}laKnjl z`CPAEmwpDFQPSExO^4McOOSIBPiW)TOxD?Ii9I|DyY7BfxUewpkwf|2C88P`Pnn|} z)1$AnFsL@LGI$AiNAECd;oxzU+`o9?w3G!+97P}5MJ}<6r`u+4zgM_-r?$b`<b|&v z$TlBbZ}zJ5{pov=hi5Hewd*Qz$e0)?sHwJpmoEE)0LFmD|I6Bh{xDtHw5YqJmQj7v zMei*iij7#L-|Lk<S>*G_TYuHE1rZ`Aa<<w1Y%TpDp;02*?v=!uB7L9d_^*nkmR}6{ zKTp(m=C|I_rl7qs>Cy|=H{JJBFE2dvXRn8{(!}^9llE-v=r|(9b?Li;Rqfg9l?;rB zA3iI1v{Ekbl$&kU%!g91|J-`Gih=+93J!)lBAe&Euk<qfazIxr=$s{c)|IJkPIhzI zOuZM!WSTlK3G6&Q^|g}2mCR4;F8>wTyt+F|Tc4x)26I6Z#~uYH#tsLT6afa|4aX&{ ze9PBP4}bmV!moD~^G(-h`)1!x?C!o%WgdF>tm~Wy#|{_-vhXIcwTjs=Uir^)qm4b_ zsxs?>wU<JiE2FdQ4j-y8ob@Y^Kil?${C_`xQSmt)+9C(zSpPiG+I`twX_7-T>ss!w zTQ3KN@?Y7z=bG{~7H*5?BFmKK_eQl1PuU%f&YkGg46YNo+|j90S195b)}o^|$JJ+% zpv4Cj^~tX7<_rqVQ?fsczm^PVtvl%Hbl^|9@#HT%rfARo+W%^v%7Z6TAqlPC$3C|! zUEtpP!O@6;p?Z^u!4vhGq6W()Y6V3O0Sy89%|!`?>M|b~V=s!n+-Q~+=)yilEpB?r zv}uhuLz&-9DT!leRZC!Uc3^Q9V9=9baK6x#eU0brhw{D0c)q2EY;Vg^E-ioCD&4W+ zKX29XI8#OjwFRO^1}sJaj74TF$pVaO1%gowtojL=@?TiI1dMerwCZ1IRcByT5)e{S zV2<EmkZ)iqNaD^DQjnM+_RvZHqKNN82j5mjIn8Zc-x*coH?;pqbU&j|a_s>R;~}Gq z4D3=tp`QdCFD^-LS(+cpX5jFQpG&!u#oTVk6UFD7J9(2M_zY{=8w*c|*nc~aESXrV z-PC376zTP>#zELYi;+RyBz=-w+UxCRbFLKSPRxi+5-d38Ipc_!+JU-nA|9@Ws;-l2 zZN!ZwMf@{XICg%^%wDV!zFjnWA=A_J-l@w(-)s?o{v_tUMAo9TR{akwx(Z^`(j2mq zngSO5XYnfN3#(vyeuew~4aRH*HQ|riCoXWE+fcQ>LHto8XYeD}S`LqUpL91nD43-R zWvV1JWblS7_NuKAmHWV$u(6eWNrUW@fb;2<rV0w*jwv$)<fga@-de!h)nIb*OK6pZ z&UeQE+ojD5*eBaQ<(k%7{CZI?#{x!kWub7#p#KTpL5H~3HrR?SPB|Q&EOyDDPPOLQ z;?CphDZI&c@7)X!s|cQcqUzFav`C}ikc!~e1wN)lh2q8n-2ov+i-hD7n7kuO55M4! zI>7YvxC+Mx_1HyqLFQWi%hg|h^#7CYuOq;qVo)g;;F$Fw(*B8K*H7m|i>Ed$GTHIL zOdz5m>S9yW#Q!ZE3s}7(>SC9(7$q=81=RT~Fne3Dy!g?Y)IKZmI#YN@i@=S(S!OJ< z3)rG2$%(HBEK%U7FyOLM;0zWFcW_itYvVjWc@it<#LX96&wkWs31C+L%oXn{P`S}8 zU_x(FAyZb7!`y3`(H<OII=Hs9h0ec{qW(!Z)X-$Pi`*Fn-~Xm9ajorFMCQ*B^<1E? z(DIPsuXrgR1FO8GZ}me4hC^JR6bwXy_(MY#nLc{iUr3py8u9qB_mj=3FN(c)i$u)* zp`q(2@K;f7-$iAY=joz~b9XgOWq1;)ZYVV2s-Xo_Vc0c8?ZaYQEYka)l`S@!bTcHQ zc$&t|E#iV@4#k!JE)M@$L>m}fCRivut6LFbadkp%rt#c6OQycuD7vJR;bw<}hlif_ zjwXdIOXWpoc`-PtEnr#plf}7!DV~EhHLLA;Mc=inj*Kr#vNo}$JFqWrU^&vj;>lo9 znjmXcz>rtKV70;3!BNmvs9vVP(a2EM$k6vHgQb`W$K7L$7SH>iHTIhZR$l7t^_`(w zw2ZZ7L9}5)>@;=;!v(DSu6pn?^4olq7kpy8%eduJX~KqCs`0{tZ=M-5Epkkq*dUlH z#OGQSqr(4r17B$BRECFMt3y&bzWYco3J+RY5ID0y_!s~2Ej4FK1h4I?NuDIGzN(PT zkze$%-60iwsf{a&n|#<8Pc!iPFPt%1?$(s(=o2dTo5a`sT$;n_WE7k`$ED82Doy*j z{S6lm6NV^hV{XY`8h6YsH!;d7XD)pnk}LnD%(F@5%r{5n%#DVVRh(bVOsZna{Kb;A zv6VxhfpNv$%tx8&50<ZTWGi35oE5;<z_r54K-}>5@?{gW7i|_<y3p7%P>|)3iq=(` z37<8VZ{pYytkM-_E3BBbQDC*oDdzea#`a7Mx&lnP0S$)CPNI!w#>}fZPi|oqYx(4w za9WuAQ^O?AN>Pam9xD%+2st`$Tc9fXx&3xgHItD2I`OrSj1|3idY?O`cy|MT$=C2p zvkH=arZ@(!)%@w;_|f7<R>a;b-r;OQvY-F^&Q+Zt_n7yAU}k*Tl1qjSq7Ivat2ZuO z$+}q5_-VTTtZ)&z11eb$>ui&jY)#<pooU=XOMGIPuky;7x0cNCVcPiX)m%{r)~nkp zjF_F~ESZ_}vhVqo%*!j(vWlBtuVB*E-rQKV_eS<+Q*O!937cCT7#$}qPgRh13Ke`S z=w>s~v2jX<r=zxK0^9Zns^<?YWjU%Isf?F<Zofs!^SVl=?+FzzgBANeCbmpa6H_r` zD)p+h*k=90z5a>tu}Fb!vy37lRgZeD5l`AKv|KejP~Z})N#pHsmQ~3d?a3{(*BuRC zsHBrpyH%m1y6gOM!(9uNc6};b*&+Bm!T##^qzmcxN}K<uSU%zvX{@SUvEq}rDvKkl zJxjyeRmIm@H`=CWh($BMF`v}zAZ*~yefznJjT49EM92Kg3vG=iwH(-*5|eAcsUnL< z#bFWav26A;+vJMN{OqRB6(|jO!?JhR12!}16-Lnvbv1j9tWPw0Ri^~V*3XhO@Me!Y zz*v4kt|Wn@@WH0;1zOhD9G{GA6j|A?8Co9t>^7Nw|Lo5UX%i+KR@PttKxUf(he!b9 zk^uIF0t(I%f{PQ_L?1HD*-|&vMrMbBn$z`WeYc>spN(0B)Z(25(o+Q(HV96)SZ6e+ zaO#wdlqRJ^=4<(z3W}#DJFd)kaNF@>v)3gp#g_`I3Wp5UR|zgs_^)<5L0P@i@W>Ux z=M%ad6qWB9)|!9v(K#Ho%^@^&>z3*h0t_b@8FB@^cr@%Eshz!9?8Pu^W~YkwkHlEU z^i@~4t`IHmTwH5oB<TE6Rc1qzb$8VA)F`Ia$C!RA%RD%?Vkv8x0k6r$Q?}x}Y&V(N zvxx2GQumy&w`mX4wb^@HbWT|KZk`y!R-$la)kle@4IIU<md_GkKj_F<Zm_)M0h`TZ zxm}Lj!4IWPmNG1#km33@>C;AzG=|ef37i5SeS0qKU2Gtl>B}{{LCSM02lou&xL)>b z?Fn`ps~ntdg-Vn-4Ao-4Zd2PeResf4k;Y^Ob3WGc8cz0tX*Z^@i3<oR)jWFhpX>1* z@6K+);!QQrd1^lu3kqN9GSXpqxWKwfeeQ`rNml{{qL=1d32Da!s($}y&F{dZc}Tgl zy32kEW5@;W=;%$sx4CC&GB5O;HRp(El_BqqBfcUNik2Uevrtq?`XVCa#%yB9VJNJ! zyftm5D@TC?>%4+o(YGAk&s&x}Qr;HoynZ%|=LV)5)eLXuUamWHuVD?dRqXxGvG?D; zy?jgh>Z(AtS}XAs2Fa2MEO7>s6BRiE?{X{*U|T7Cb!G$4vfxu&k^&bPi!S}cx!@t| zl7I<9iBd}roJ@JZI(wqk{6Mx{$!w?hiY<1UJ%gEZ@u#R84)gCE(s{DW@MOZGEw4|r zNjF?N^IzSyhmp1X#??FgT!ATSZ>IbaOYwN7|AN6`<$(pEZG!J?)=k@96QNevlTm9b zC!&0nujIDujIGyIl2ff7`9FK)8u)xhZ<VOX_M+(}LiLxpgQIhoyfoteYvdf2yLQg$ z{kIv5a+o$VaUM~yj^DlFazIpi+NJ5I?kWkW@GsHkf5Lfdukn<1#z{|<**hG!9KZLz zcCYq_mtWT2|ImB?%h{LjWbYf^ez{!kMD3mBhQF83+;n19p_IsnS2m2iT^r>0Upjeo z5!;r9JTeDf8Qs<{cyPbw4O_7zd*I$TB@fu$ckA8Ony_lYgL9wEGB<MR1RYTiUU#Nl z|NNQS1fSiPpR^ZeB&yu`zh+9u;Rif?-xLh~HKn-o-Q+A*{%)+?vsJ*p=CB6Sv;WNY z&u$h-3L8l@hW6}O!OB=Pi&as3GWYsa6WiOTLz_0l1sh#_=a86LDdWH@?;;%g%aPaj zxU*Hd=Ds?$1a{v^-78$R9h+3&m&PAU5WEsAyiC>DFh0uquu}9<9h>5`RZlsLE`D|q zKi0p9b79}*8{Dtv`n`Jp_vO2{_vXyIY`ymKBE1v!S(|It><wMd9RB|0{zFOGqP%Gj zShsv+EfrXCrHQkq>s9*vZ?|7BUq8=P=NXSq@ER3Ww(naPh7@tk?}_j4+QzkPTg1=R zkMz_kEFM2q3>9)-)G?R;#FZaEjCZb<_@DaSAabAiH13H;&%3s(e>%t-z4lVN!MYW3 ze+?WXejaXfjrd{1*pjFx!7w3CC|~g-;|>P_`=-+dDrV1wGM6tkwqxIDIJqUST_xg< z$~*H!Emdo;hq^1~)-u0QmM`PDC7_`Gl4ITldGqrNwL&fOlWh(+vX}_0$UOh*XYQA@ z_*V<hy`10o?@R61p!Y8qzWd_pfB)TC)<TC@&+|E#2k5+4)9+&7;4e@$;W9Ca(Y9ib zZ!fj7>e6PPlrn*xy_-F6=Ij|(d3n?FQnTXuv-tU$R`W}VNJ%Z1i{Fx^B_qWpA?2}A zDr=XV)Xu}Zk4wpM?T(jNEwTI@*QzVaSDia`SyOn;e}2s?TuO3ETsOHipKIQKwd&Qo zSI?gdf4=?Z_18D|?!Eraf9v<@Kfbe{`6nFIXPM5Lv)tg}s?_@twV%xz?>c1tE7|&a z``SgvIk%cP9CiqDG*XeXsMzsz;Zi+O(~uP_8XD5ha+zAZP?<K#nOD$~QGr2W%8I~Q zGFlTRteniO$Jg7GxnSX;BT_<AF||LJGAKHkwmuLslH^`>ojtBJ_b+Su>TuSyl#_p_ znuxQjBq+XQ-5NeIZvT{jY;h02>pv8Y-#25TazmT6C({{$xFwoGOAk*uQ=_@jdD5Z- zc?uIR&T(RhIa_*1=F_K&^?XKLVwHVgc5YJl+y1o1P&Z*UL)iY%+|d85$9-dXwVEcn zE}E>#F12ynq*5<|AI#~8mM11m4PCryorFK<hKwajyV{;IIpvri^x*pb``Xs}_jPeU ze}DV1_jY{T-IlsPEIZC<ayNdS>$FjW#jo+#g5o&qr-@7CtXO{<-?RQ~^FWAAm)E#Q zZ~u-Z-0h}YzcBik@;trL<=Z)V61&Svh6Db7j1IyKMiT=ZS+xQZl-WfB4lqWTyvbk+ z+nG~3M<@CqqYAI}O3~PGj?!e`aIP=k#3pkx37_tBD`h<-xo#?Fr%Kwg%4f5*XKcK| zRVwoQddAd~6P=Q#`KWcy=D$(smRQxgtyAOL4#}vQ8GddzRl5rgWvKNfHO<z@tNZ`) z@Y44yla{ijO_(SVm8JQayU4camQPgr+E2~PuB@4LbyddON3s<US6-Ub%^}AW=<rJ7 z;p+8YzCMqy{&x1cVD0;v&;4pY{|xtUWBm8w-WE3*4W4Gsh07CcuK0vpuzaiX+t)dg zcS~RO;d6%-^_5f~CmL<svSgCpQ;P!!*<}<SFz8u4`jlv-c6HGi3x*{shuD=07#cX8 z9$s2JL3G9iMsCpnhNnKRVGhhXi)TG~Qfy{-b&6iW5uw%jah}`5k{GkUo~|e<oS@2G zIHPjKtj08_n_MY(av~RJyDhq|R%N*Dta!TIHm2lzCuV-R(DZ6U7ekiVvgMbiywq87 zE;H?sX2Ai^|EEu_%A0mKy6KG&^O@r8k}Nmvr7IuJ6I{&|aItlD-sHI@8|@svYq^ya z&vSa^vD@FZnEki*qmKL6e{6iAw2yb!i!u{S+oOCX7hPuW7nf<Am0vArvEO6Hf+k)j zYr*H@g4X9>?@3U|_LQx%;M;rlY70w%@4_p>9UPL%6TCDRsx<W&F)}<Y_Pdzi#99z= z;6tB{+n!^$jy(9}6>OrhKPj^9K$F0<=yjn+r-NTDIyS-OQUbfA%$kR+8YLf&PCq}V zrEJB&5`o?u;<6siiA~$Y=T@e%md$QwnDR{WSO^1edu7zjGZ$tviShCktZ0tsSbXs2 zmsYbaKU?^oY?!faj*{WtiT}mcT-Y@GUdhuExr9FbI3@10JjbOnE{d!<_PHT+?xFTW zl5Tv}7L9vCy#;m^u-l%yY7uX`(YAB(oF{Fea!F^`D%o$~ubcB@VoGhd)LjXV4g(=` z-qgp|cQ3WKR4m=uqj6Y)e@4Fp$Dt$F_v%S*nmpG#Xc1%K4Oj7y3k-b%*JSvwJW$tD z>^{li(rY&>MW#)qYx1=3hR-y8*o+Jg`dBzLE!A*P_n0to!j$8Smz?lWKdtOG#mmjE zU+}Q!#sdptiVVe#DjIoqs4yp%{B&fxl-8W)l<+`AfqkKB7hfR<FLU?=hC>Ew&P55! zOs0OD!K}qKWAejWs(J!D?n*oqZ2b9D|G#MJOx{zDJnuXom>oOZRbpmjc$m?D_oLKR z>sB1(Ezy{%6T_(Alh7hMKk1?7kqd`AOPm?(1!C+wp7J$n_!S)}N_wP{KJVX~$6a4{ z#?=3E?(gk;-oehx_bTEkzoE}*1(r-#^9MT?G}dM~Jm^YxeYT>v|3;v5e@}RO$RWle zhBuRg3I#thebW;VY+1k`=@yxFWbvjwMw+50T)%fLYFzOyBjv2;yhB{alwtxBc*_Es zrM%pjEhhNub@>R%oVYN}|CN(5*M+5erXJyZhcb=!#2oxHE%W-}idWnPJF=NfW;A4c zE6ps(S{57qgZ1#Ot<Bf22y?Wy8Ot8nJR|fs_u`b`{}M(GXRX#MtlYiJS)Bib%bJUV z+Pr=p-jOz+Bsf00dtZ9Y-*SRUYKzpOiX7FxI8$%?!V;yeHLk~eI=zb?20ikzwpyDM zS=c#KNkjX{hM*;N+Dq?kc)>j3)Zz9BXQhSFZI)BG)+KAMP%fL}ZrKrTUAZ?y!o#3b zJL9JZ{{q*LML|!+l^*e1EO@%$e&HmhGg?cQ-FUG|l!0MFfnaFTn{%3+-f>NnH!H1r z(8QMcfQk21K-grS8*4ZCOpwelkTR~g;VZSGS>{AQyV&*6=8GjdbB>*KIC1al%u<av zMx_s0rHwCdJiDc^m%rQ8B=FkwDPI*5Oirh$1ux>;er9Q0nR8If|16G#?{EDqLnfRy zs#(bQcX#S?r{GP$t5~-)8N51~CTZg~ufY1>o%23ZB`*FtpuV&HaYsS_*S<G#=OROO z!fe@+qNlR8FZ;JAZ->_P1vM)Sy@P-AYHzUaWy!nJ*BJKRB1DO);_j=Z+aDcZ4*8(J zeb=K?TMSMH3oxAOUX{GGZNg1)sXdcf>o+kS-`w4o@<^Zeio?OP-JE@Sjod0ZJv<4H z&2k5t9B0l9ovIe*yu6@OK+C84=;JAdJ&NApa@@J=3KnI@PM!8x-hD%}quZMul0Qxt zDtGxhdW$URS;KKQA#Brx2S-$RlGzLwT;@o*(UK<c>g=wqP7?cmgzGdpwi#Ve{4WyM z!L7Ia?#9d;+r%~-Obz2|6u7f*>Ek--b;YYS*6oyJ^cHy)`XuhVj`qKqPhPsde|jr; zVS|VG(tMYdQtvlTRBf9UdX00JW24>H>y~_bUw!pFbYh{qsEUv3xf88i4_v*YP9;hB z_6Hu^G-YW=MYh7}#iwH1ricjDym0-u=%7JJkw^SzZq@x7&O%mGSoGc`Fc{xB$m5kL zZg(mt`TAp#Zue#Z;|<G>+TAPbd8)uJ`nV#qbVl~$O19<4mRH}Ay|N&~VnxL9VuR0i zc0TOAnm1i~gXerOGn#xd^H+QrSLT!rn;2G2z2Nfy!Q_;{=A#XPZN?WG`C>LChMy|% z4l`3$VEE6Qd$(?~1h2~cQ@cEh!wnKXJv;Pg=LgB_m46Ng+Ep*<k|~w>artyWdTe;d zjkP<q#h6~2%re=nZO&iLd;RX!se(B-kIMYy{VB{KlkcXaz+|kXY%s}o$ufp4h4|=? zCCiS+J$(>=Rmu3O5>v>AI;lklM*<SspNQ-@X7kah%wJG=&oYsJLS7$_DxNgtQGCc{ zTg;YsAxBM->D^*>YXSCj0rnF|SWmDpT3=w`WvFaY^=&rwbyyLuWoF;Uo;>w?vf;Bz znI~-9St`4ZhFhCSE)GvIaZ7$9=6Jm%W$%@geMh|aKi8afQOkXc)`p@Q1tso%4mG+a z)pxf@moo*QYH*$;_P=Cx0-MMK^981vG0)9|TQXxp(jO(&N-r%sYg(lD-0Fl<M(c_Y zxdIMOiOk7tN?8+%9hNh&qz2s;mDg64|Es9`ZA0vR!RS>E0mrx2yL`-ceaK+gWW%AL z%)6M$D1<MjFoBD$Q|f^(*J9Qvhd7&qjIseL`yUucE352l5Yl?cy`w?@$0Z?;4Q$36 z*i!|>H%;crO32yCpp~+L?Zh+1%LjzDHn0mg^a)&GvAe<I%fM*o!O(iN!tk1pm0Ewt z){3Brey<l5R%w-!&BLb!uyrl)UbLKJmV4#Aj~q3s6J)1^Px&r2RbWDuQu5O0tv{bh z*#)cZ_+n{kQayc<rk)~$1jBz7-sKYQ4vx34O3!*2b!lQv`3XOcrK*<$szZaMbbd0Q zDJpr%suS=<`@E6mWh2WokE|q1JEk5Ew3n2h#jM||AaJR%;pK5Zt*5#+;Zl1KIV-a& z+C5Ld>^k+ycPst{2K(C>0vZ@NK4dSSqU7u_ZDWM6QbpO^Z3a;Rr8^6<|A{jjE#N82 zGz|F4&A7tQL?LXiu>F>dD3Jpq%dRRLUs0SMA(k4zw!?+p`apBZ1eS6GW`PMT+a57y zFfa-jFuh*UH@~uvH-Y&*M}N_WzNMYBrfoO*y`#Uyu=VLRpUKNP)@(HCagTUqmQpu$ z0?(2OY?Z#unG^ObsjPf7fjz~?eVgOwvj0xHQv#MQbV_}~bxExA#4^ScYGEP?&T}V8 z6h2g&#O6PhO@98N8mR)8`p3L&#-;}!O)mSAZnB*B(9+4_M=a{Y_?<oZA0I4wA*A<f zg6^YK9^Q!=yqmZfi@Lt63nnhnm1LAV`N%5PviS1{=4eCZ6w7H&jLHlKEKY&bj2u`r zl^RY2GRHm?S+|0fM>)%OsW8I=R-*;13<3;=ne2=+MA*$_T|SnGFE-Sguvp_@_VfyI zxeaXm&oc|YD^8p~DQyBvbwG31LU+#zEF}&M)emOQw`6)=(Pv#St7kitsjzQ}gT&v% z6{~hGZT;Hkvm)v9j-^l8DtpZ<m(NU2s+x7KB>c78|K&z$bIP91-tW2mNm(+FXKPG_ z>4}rZB2%0+FHE%kBKzTzo^ud)y`_}N1eOmbg{cl)eVLOOr=~4;FfU>D7yKywf@SXA z1Cu{$*6A#dkrfT>l&~~TpD%mV;;m-a|3tlFm*B_Ef*w;<g*FQQYUq;rS+{eQ+yjNF zSu6^@*QS16!02o^?e`*<l#^W?6Q-qTiZ~lg+i@Vv!$E|rL0MuIYsiB|P7k|97qA*K ztkYY?s*}K^mcV{Kk<D*nqxGjySpgnRMHRzBaRWvXC5Cd51#A~C)SP^vx$#1Eg@E{B z2likqrp}8(g#k-_AIuc^y+O#DNyK|;h}10p+cW1z+NTRGf6wthIZCQO>X!I9mi|<! z<psBV;tVRKu2k18@ZO#|%UfczH#6tOFWx$@BZMU9Fs(GPJsqy_L^I>!#K#MrCSKEw zW8&E+$~{|?!Mlo$c?0v+2s3;4>U$p|Hy&Zk-@w++HCH<%{eHQ8v`XNwoAbV8rngqa z*#4CNvw-)%0^6+#{P!EWdcW~`e672Gkl%W`8&hNF-<bler{*thTqFE|(Rrehv*WaN zI~FEIGV?Vsgegq>wP~SD0+X}gbkhZ_91j@pS1B_DtlM{D(POW5Po<1}pQ>a}Xb^K| z=XGaXx`c@@fcY?kaQ*`Jk_C+E227VTmafs}$qHb<Izu#zVP?q%O>>Q<8z%l|*%`fY z?oI{)?~UiYH_r9k$j`k|;K81&v-e*4y+OHTQ(@Moo^l3p?paTE_nBSTTU5aKV0Ti{ zg&6{oY-Ja!Gd3{u9AF6A!2EUd(qF5SKCIwK>FUpURbjZTMT@O!fqQF6nC@;-^Ty5Q zr#Bc@Rj~cAX5dv|<t<<<Ur;XafZ5t1cW0_pyaQwEgcY@mCDJD_Yd+PTl~nYF)73h% zHt0xEy7ZLOK}E}V6@S<u|Jcd>4imr3#5(3K#l;zdx7^+Sxmetr5TxBYm2cLXg(}Ry zjrcmMJpve5RRWmLMKOoku=MZV(Kf|qRyV`kWh{?(En0k<Nn2`qnIuEmPn)UTtWpdt zn+*O>=P%&c>?)eIK_n$$Mt~RN*Ixz7&CO>OxL1fqOKo7k%FVcaw~$cG#*3$Cib|iH z6tmIYfa#+3Nm1*KSEDzwKS-LE$SnMO&#XOrg|nIG+C&7*@LuA;R%Xs1V89SLfi);# zzhl5@#|`X%ZnrF3xzy|O{&~myRd-ixS~=VQG3)+9b*2ZawU2T~2q_8OVX#wRwb5Wr zEnx4P$+9D*FRfrjUGuz&6GfMDh|hCnbG*RFq-B2Pkj3<4hm_oPX9`Vesn(gXx%T^l z!+pmD{=BT?+r(!Zv&KqCaP?*Wj4ON|Tjf{musV^&vR$Yli<4Dkm45O}rE^h7`??vt z3Otsut=srwk*3psk*Em?CJz>ANlj;X!2WXALeU2dItHcAPR!X2Z0Q#YPhL>o-oRE} zz_3BEq3uEe*Jifr1erIN=6Yo@e|2Un4A@xhz$R62#mr%&FE6t)1G7^Bv#;+}_XOq; z*{h<}%*qF@#`>O|7;{ot;o8)gliUH<E=XTXsAchOxF(Q&ZR(#5g$>Oa1`G}jY=HtS zxdErYN}py{VBM&5x*>Oe>;$%w1N(RGIejmB)-uV;-8Hi(URc)kfbHUv7L_Fu@ekze z8MYU39NL(W6u*J(g3Q?qXPWai%q$Gx@N{5|HI%A7tZ?({q}vJXIt6m~7IIw@s*`eE z^*S<rk8jbg-c>xTv0pWh$Q1s+!+c5inbYc*6N*HIF6>ph@VIG8)|McB&!C1IQ|~tl zJ!Mc9(-pD*xZ}LnH2noTGCf61g}T#kUJRI;z_XY!B!NAIVOL=4B9#UPsRK+KSFi<& zu6!pdlx?n3GND0^fjuQCluMbZt59}hz=rsV8~kjU%o3PA9T<fDu14fC8#r7I*!xgw z-Bmfct0A?_<`*6+={;1wch%{`)tFl5q_<bId^hIlUQ5<}Y?}ADI)T}H7xP9P)(tWH zznx}?WH`Oa=83Z%!-hZCH|jjG3^;8$fi*qgdWAWIW8ITL1Lk_C@a;QIxK`Tdyz;RU zVC4y5ieZRg*%j1V;PhpSVZH#1oxs+JbN`!*<XEjYuvG+PMm2FsKVzHosOAA<K-vYy zf&-SJi!=`(b>$It?dsF%x~DVUt!`TJwr3Yzjkn72FUk;~$Y(Dj|DES<xcAgru?xp$ zg%q<aT;IG<H;{Q+^--^ai^6NCc?BGOTI*qCAYyP)C`#d;)`Dqk#0)JCFzIG7rK%dg zkuubiVqgqlQn<kAvym-5!BDM`Tc+T-oWh}0hRZSq>@f|^B^yHP6POE@DyA-A_PlWA zYw|;b2@hY^J(Rll&fvqlmvN6i?0fh{@4Zyqqfc`0-}OC=eEZPc;Hu=gs|E!uD*vwP z#66Djy=EGB@~H<y(5&*<h9|Cir!5aKY?ER6cKfl&{Qs<$3ap~>r}YXxZqs?<#djl6 z`lIy)R!#q>O8KXQ1y~{%d@{Jp8uZ|aY6AO<liQ;iWxq_3lRfY;GJvUB_w1V+4Au|W zuGOAPNJ(u7Wjy$im!*j7t<Sbbv#)!bblSW4i`z=FtY1#xE50od_abn+=NpCaZaH4l zsTMw6|76moKi2J8RKNak_QnogF6Cp6f%i80i3BWQ$+Wzf_EXr@fyrgzw9J>U1Ha0A z^<_PKt=piA!|GyYnZb3>fD@06`F1!kl{Y9CD2TrGW!@kpEAfDh<-x<3cJF2E-mlvK zYt8;&Kkxne5clZ2-+Q^b_YuAu<?<Lsq94WfUgZ_I>b~LO|9Mw!JpOOAF8CAJ{X}R! zt62VN(fm)R>z^14d=#>0@UMGv%Kxv{d^Y0=Y=H%z?9VZrn*XF?dbx+)4cP}`nx#(h zM?bH7${09-Jx72|;yzoh!D+h(%|RR3%~&{6(lp)p<N2BFJDA#;nD{lBG&SSXQ~3F% z3b^>Wq`2%`+}woST9z(eD%_&EaP_jaNs~2aY~HX&c(vxv-J4gh+B13Q{$&#;aB<1a zI6Y%d$J{MknkP1IJahfnr7gFQU7fJ`*xfl>`1c>?m*AJvGG*XkkXPa`jp7UV%)sE~ z6%e4$!63_UVUmAmR}IG$hAD|nuB^hM3>O{*Bu-|skTFWTa!5&;m)GRfgpZS2`u_7d zmtIL&;MmB_Yb~;6jpOBq2j))nG|8Con6bf#QEJ}`MTW&IE-rHE74luRMMGGEMMY+A z*OXPEi_O=h=~f+PyS_etchOlZrPYxVY56@7)=W$-vIXoZ6DK*JYS6PzdvRB|{rx-> zV}^1`1@rbqHcNr$CyFeN-_>Xqe$FA3QrLN5#{YL0rBjb5?9AV%VRXcYS4JUAqb9^b z(POrb@wtMT8=bwH*@6__6dF(J$?!=tV14@K#l=PL_Gb<l8vp8MGoEMCA>}$Z<ZIAc zmxoN-b0%p9udA4O$@HY?>a5)*6HjgRk=pD&c}AhKy2BY}W&4z?P4jzinWQ`}F}`p1 zu`v9B!T-Z5j~UtD?_qY}<-Gc!QOs21qk;ni&&Bh$rdyOJ@Gx{N;AfKJQxxPBaZO=o zS6JH?=qBztWuoM{iH4J;WHct9QMbxGu!wzSr~tcc>WeR}y>@D!TP4$M%%=qU8w!So z_<K4yObtGy&^RT^?_|rA@IwNsAwiKhp9XrzhE55OJ9uFkukwwAX}m?dG{feW_AxZi zi(RSue149j0xNUb)1~23nI(o1;(<IDG!iEWO*^_|vKyCXa)+VA&1HH#4Kw2wEPHs9 zA#=*asEP4Qel;k?YbY?VO0C$~#+1c#fKA@fWW!;Gj2jtk`R6Zo92A$AEb=gRNPOf` zc<NtN%&KFKpJGe@?_RR#Zux2(=f3jWwbSoye{u7XY~|rEi@Hr1^SF7<`V=1Zn%%vk zlwb4qAh&+w$1-<?rZ<HT&NbUADl{=moH9OQ%@<PPWY49VvQUic?PETs?=un%c|{8t z+>d#@Si;n;H}gZoe(|Lat?C6U5_8tLX&q?fQ1ZGW<eEJtkde_sc!Bd|>nsO%S*sTU zQ)dK6?OZzDCr49thNb!3&vJh5xy)Arbf>DFi&J%N;Potwy*fM3OR;rcl&q<GcwFh% z<+F2rtt69X`<cz;o)dO$Mp9Q|l|*WAia^VK9s>u>WJeag3IXN{#^d??HyoLb=Orv) zV3YFr_+2LF#{)4IUY-fjIsZME{9=_mAiL<5(c-ngeALhCeD*B2_wn}9zH#NXPvd=& z7v1I$pRKcQe8BR*q4se5W6ttZLjKl9YrKOzlula-aj6~AUa!CJ_N3tMorh02D>CSx zX5QQ)8uj9VjnSS9{XE|_6fX!HX*f<`=5kbI64gq1<H;%+ULg3N{bI-e6#;_&GaPx3 zzdBO<VF4q*j)uI}hGy9b27+936gjgmM6PN&<Y4ilg_(T`Gb3NYQvInHyyAadVpJ($ zP@7O-Y`i0c)24X^<CF#5RWF&6H$7M>nUls4aGUYmDl?ZkcNcVcoRkci6d}4+H_$h4 z(d3)gT&BuqtTJj6mRVZnpuWT50GqMI!T)k)1}hJwHg+f6xqAQKv_?&jM!y27M)8vx ztvXv2Im#4x)vg@qTyUU~DgVZl>>ma0PWKGCd2hr-w^X!e@SYan5b2UKIk1aGD_gR^ z!cRFOP&Ojxz5Uz^Z697twM~4}9X;pE+?}f?uDyD3k=^}*={n)*^F?mB3mp|?sOu51 zeW|M?^Z6so=S_yZc{%;@I|U{(yFPHJ-@DjZscFIy7Zw5DxesIm7#esUsW(f^U|^7z z;&9Yi#yTOyfi*-zok{MI5TAlG&zyjU7fnh#BPKp{m1~&Eq2a(5T-m^uwSZCTg@ZDS z)&ZVL&CZg12QFy$3b3ijES&1$ameC`VmeRnVIHsl8zc@tVPI*|bmZg^ZZ&Z@wb<s4 z<DxWyt<!dG=`b)2K6l1t*(@zrEzgMu_}n&3(UNf03fRafzFsZF;?S4Q*xOQbr|dG_ zalo*vV9DjEA4Tn{GLP7McD!PqbYR+6hXuO%KUam{R&w9|<^b<nD;8DX<vOk!i(+SZ z%nemH*T1<?ecG<eZJI0wjS+p#<?OFqcX-W|tr9(Nw>9OO=^Vy0xo=F%_T-3v6ba<H zllxlm97n*r1snD20`nXvomOWLQCL(_v&PBDp~3jzN&cKu3M_Y~%r|CT#wy8jV4K<x z7NZjH)(?u!%uEacTz_t?lKbhQA`;M?!RWwfec>Tb$&2(K8V6?o4}179oJXbkg2pb% z6|P$rvIr<L>g<v{aAkvmoNFeZSHZ;(SyK#y3w)|?TRY9E6;BV?oPT9n+o8p}XBWmy znlyD?%OTaKmHS!Lye=JKQCn}?+Y!9@>=h*)ak+C1*%94Jfjh)PEe;y`S^a1#^l|re zWl7bDm35T3&a`}PT*Qi!2TkH<4s>iaV-h~j#bvD1nS9LaboAmEt{NViJeiJ3RWCAC zKNNlMzB}>w$*U7wRF>uNq}>%Nx<BFQg!jT-4}Mw1C$KFmoU(lHxn=FPb0a1&n<_N* zO!zkE*O~S?>Saxe8i^e06J`kQ`?<a><KgVBR}bZDzVwqnct&_H>jWF;mBRcP{~2~! zEMj2wc{<5cUV$&p!?!qE>AdjuMo%jRMOmF+?dR`I2(<8V7SWMnH`yY^o5^s<!|{N` z;R|P3Kbrc8HCzyH`&G3^H)REPt#6>!il}xC)<<%mydSh}+ptf2Ptb<x-{KcDN*vHU zvTaI~hU%>Yso|n}kCSxnT+zwMVsK_nmU{e1)2wucANvEtzSXBKj4vEKEY~-AUwT1j z*;egFr8E|$4Y%|@Bz#)?Hd1u^vgPx#o;Ha%>+yfs=FAb=w_5zMB)`GA8o9T;`Bg`w z+awBh?n<}Nmzg9WFirCGo|05$nPU@<zMU|Wo2P(*S?<IPBNvsX{!S0pC886B{w(eP zq3Ou>U)`dSC(C-m55@)C89vNs(z*~Wn4%>0`}Yj?Wg9#FEq;}9MZDm6>A<c(rO_k9 z;;{D)2X^y}UCdP#%=xDRV)!c*`Pe1Ct`MBcrdRNgr-9$*!QXSNCQD-ZJJ_4nY-V6O z?9-U{axeG2+OsW8EWa71ZMShY^>>QkXJhHwczehDq<HaH;<vPyWYoUi{pPI8!S;Ky zX0DMhoG!mt<aV6Flqz=lu;h`(Y{8>9c}$kBJaXVzrjzV}Aj>r&7RP3rEUs*M5yU#z z%H;oH`95JuH^rnsGyHh11di~FIC4Bbq9;^U;-|4OEBtlBX{*~6pA7d2c4davhy{HM zn|wCWYgYA~ilf5+Ik$@No?Re3H=sUM%!}cWRs1qrZV!czEu}rGJSN|n`JQCNClvo= zG1j^uoO_JX^nrfPH=|F<Ozzu##SSsD7z*rnW%a+F_F%E#M-hLkXGWjCl<vOjz~{o8 z_uXB_fsH+YEma^Z<vE+k19s5`>=T$+cDXXA2e73V1XiX8#!g_%D`<^)!IsNj(YCxo z>1(TkXj{)irk6)06k0W$ofy`&Rp!j7JhH94v&gyE+<a%6#1bY`G1Iumt>wxpSvA`w zV-qCG4l|T*WUjHusxfq$DqfR0fwe@~Vt%75vjDqhic^&#!<31vu?4vahgeEJRlB>2 zXbTif65zTxox{FBC(Gf#YtWaxl1VJqi@hf{gmypBIiA=hTJAZ+)iUdW&E-Pb<rBDm z9OQCti>!aD`%zu*`NI0Y>Jj&w(zY6>K5=Lk-q^r!DMM)j&xr>alSTYzi0Z%ln7SsI zd-qe$2@b`zPaWnx$e8Tx`FcT`t)S9_$-TT+_<k`MMmY$4U(BjMSujLFNpi9vLqd$+ zWWk(gjB^|;ZG~i~wD3H5&T8ezyzd#?k!RT{4$LtQ5~~*qmu+a{5zXRxTAo|pn!cd5 zu7EA0p`z+RE3-qk-b_|i2A0?WCjFm*J?YLp$15hMS86|SnsYqBFfC}KS<qH9$<i6D ztFN^`TsmdnHF4!o3CRcMjt`i+9RF)ga*~KOs9d!?aDtJ<7DI+T?wvfY)d$_3_Jvp9 zNpqU>BH)`U`<X=?`wyv@2${G$DN8R)^xqnir@-!`B-MF=>yo>2{#TCHfTH&cwOW35 zZ+={N-BI>aQtzUcl!MBJ4-z8<-5U=+i1;j6G-qak)yBS=q56+2ths)KfBYnW!hw11 zp(2ixwj52xQVooq4aM9{O>cH67%c8H{-I#Fn7?=$zrhOsHZ}(N$to8Q+Dvk0jyi5E z*T5)oK!tZD!(S00hm!#!p6r#^%h(^VX<x{i&%mA|p2fO=nRNq`O(jE}ct!p9m`#Zl z`5P+CPgdyNoYa->tot)?&vN#{1@qYx<}Lj8f4)5Dl$`cSh1)B(OpDuM)_LP++rG5Q zYW8Wnrp0YrRy|>RTqNg|!U=57MGPH_*sV&Y&QoeV<d$P+nUnD{$M0}%Vi7}+g6%O! zWe15G=MYnqT_R_;Go^vLVys64XPj0_Iv&{dtletWWsXgkJvRi@JBo3A`#6(lMo(*l zwU~Lt>MJSx7BKt@<S25reNmpenyKNjgxB?ev?VL`w9GjLH56u?)PHfoL1&Qy*CgeK z&PFFMa86PdeEp$>S+QS#F~i=Kg7QC>&Hu^SDi)A(fHBk5(xP2u?IJeq0tQFsNeiE` z6&_%n8ntr5ulc@@*c^lB{k5FeFSSZ?)>JEpm2K^8t?B<Ov@_=?&tOjBnA|mKfrCK% zlBTv>l3C70a}AG`r93a!w4AbuZK0g2mUGiwmx@g3S>;|QB+40C*t4>mT&7wwuq?io zm5~vswlrJesPnX>4y9e~Q`~b{44C6ITe~9S{TDL#&E%M%z~J*~MZiZ9?}MsdTTCV0 z7)+Fs4sNnI|3J53sqJHT>!@8E*PE6EMn&Aa6fyOruH!b{CqjA~4CF#?h07f;N?O%$ zp+RrK6S+N?We+?FpZ1k^`vU9d9epn@_{3dz$ere|v%9xsYTB(EoM%Ex&rIq4xPn#m zK?Yl8#-|pZtgHPti&wZ^;!!fQn#i@%<M;fO=_~(ot}Oi^vv3<zp!NTGHktGKrA)%A zw^~hDShZkP=7WXB67f|BR!){m{ymdzU0Ox`@z#}HtESB=+xu$uJIg7m2P!mFv!!mW zUN6QT*fFW?`_?Y;H9hR+999ff4H~fmYbGq3Uv)e{O;odqQFG0<$)cUc;;dbl+onlP z2`xPkej;#7#fIF#OPzY6fqM>e%$>%v|2bQq0O#7*VQS?mmjyZ5vUS<JdwvGWZBi)Q z#*lKUDfERox3k(t|6^VYQaE(k6*zY8(QBL_=e_A;%f=hR-kRHaJGR;`my~~TBYcwc zY~C-d?@TOzelgU`D1GVBth8X0zHq4`6Z^~43NN1Mzq^uV_erorO4f>-;q*sV@frV{ zr3C8!drow0-s1Cng)jHYaP6&u(yMrm9(Xo$<>Xm&_gWnk(cBuoVs4B<YyRu3*6H(9 zH7izhO{!bHFmLv%!s%@OKiAAUQ6B$0Yk5|M-keG8+S!}c=6~v(-)7i;i%YYyaN$)h ziHMa8Cu`^ASuEO`zUZc#)9q!<7Qa{z{|MVspu&)r5EyJ4^O!B}fb=QHWUFP2bGpKm z+2!9v6+QXRygET{t98$%4DS^wyE$eQvTMuj|I8&ZJ%uA^R^qN+nFVZjS7gjIZGJ7p zd16A*{laA*56Ms4I`cL+&+A5?8%BDE4XpW(bMO9LaLtkD@g}+68m^@ZY|~{<E|_y{ zk<F<kHe9<>{-0Vp=a|g_@0C8X%X2pD`f}>2JI6ek(`(*vtf)D?$7T0n;bVKhoZjDa zYNJij#MaX`0rE#}xK{5uGk41=w+Cm=tvS=%(|1VX?4>s+Z8n@rI&kJRs~PCPiH zzo}q}(CppI6xcW-B33;pkS*UJ!Vz)e#L4t&3ZD#{&mHKUqN4w+h$rLMl8RQ29}DHz z80g;-P<SC@bNlp+RR?A)U$A%bA1)#3jW+|i(*AI9@11d#snBEB1rDcE*Lcoe`g7(g z<E1ML&nms;*w=IFLX7;0HQp+*r?#y*ZJ2x7<m{<KI+t~NPwSlZ-uLHpn?ix>?M05Z zSM0sI4(!pnJ?F|D9fsp?F7*|hQL_Di>B>R<={8(mbI*paz2c|aGwn?HgE?IHYL4$; zF=M?8cVLwFC8y)3D~@HovVPhi7ucmR!;*K`(&KiUCKxP_ynT4%6$XXXoqL5l_8w)~ zv^a&&Bz?mQg_Fv&FFtdU-E#SYxG#^)-MYD7E`-GHzLj%UG4@iB?A5tvub7=>R#v}t zY0oL2wU_5UIk~m^)cTmq>(-v$8Y63BdwJs2GaGBJTx4G2`unmgx9(n%EB0NtkHwtP z_<QEI&ZQ-L&n&OG*`s;u&YrX9YHwXwds24pjmvvZ#K<o7d?nkuhj&s##DU@s?}8%! z+ss@M!l$IYhxcva=Wy%Zqv!vu*?4!N-ZIHesdI~>+Df+y{6BXs_vE62W6NB6ju_}Z zT6p2sLhk!Da@S(7_MUk#Z|}{uGFQ*_-ek+ZwOr=xlDC&u=U!g-_m=M5Q|ogs8|hv? za%a~rktP4tYMHJtayt9y5bqte+B+xa++3P_=S<BFv%WjW-`=tLcjjWu-9No|pMLVZ z*OX$|u7BO2;qd9*&7$WoSMcoG5ZQf|=VPGE?x&6yt$8#4&iJC_Q$N-AO7W~jJKm&Q z^;dFEis$Y=`daqsh8Z^!ALR8F#+<$TPW-0q+lxg7t$sSEQWV&|56zH%d&=ztYeuN- zD&1S|LXW2QE?IllduhYzQ-zm3UP-5XIJNI#T~flyeH$Mn>%MR_JNNUW_rGc0i|75n zyk98Nt@g#bGgqwZUaUQL=KP(Dt9!U2=AJ#V_VMYQ*VkpA#Q!bG(Ybh;sW@rg-eU&} zzKExG<`k}0@M=41<sWBru+_88M*pKxQOLB0Up6=P8_)b>D|?@(UTp0>-gOs>|Ghor z@h&F!WP<Ni?saFF44Bgl7~f^FZ3<)y{J>fzz#21wEo}pHgM0bLiEL917*Y?suWx6| zJ5XEe&X!rg{-KU7)}dTDfo-o5LwbXTxITlt&WG0T?92)bRSlDjzp=6Ie=ahijCliF zYy#V!FRV+IKI|1@PYYmcGiNZaXH$RqiPisOn8pW_{z)eK49pLtGY*7X%`Z!vz$$*< z-%FnL^vD07xW2NN8GP~D!PXwYCMM6?<@~AY18auEhm?j)rusA1b+3i(9$r6qaf{vE z^!#tj_P*PF?zO|d(++CZPiDN;EVt#^eeD07jitS_PAM#n^=ptjesB8|*-lmcV;1_# z<~DN_F6gye2eDoM6Z?Fce#9!5yVpORUEvVP*M8$#;KlBLx^tggQZ_G&FL=M}i#BUL z8}oy&AOFQ<1h6|<{1y&iUoneCSb#m{0CTzlbBTj&jKH^#er#>qYghNPiR81WYBKD7 z#8!WRHL!rK%HW0mdu=8M<_QNsxiPe+Z(wtqP<A?rt;6Z#j`JUOO(_d(_-m8@=k|2A z7xs)94_Mp6*;<eP{ZaRS)iHZUJ${b#GPjic%=DC$__EB5*s}UKekP{$45pa${PdzU zn~W5j*woTACbtzUY}{6_S+{<L@TSeeZp+uMTfJ*d((cvE*Kcy$vib0lBO4EG)zox5 zt7(63g(egKHGWP0B!0IWw{9?9xOU;p&8N?9YjQok{`@*W7gM~{y&Fl--d?@^^6Hf* zk8iK?-E{R$?C#p@ENm%i4n8~NZ=8{xJ!93hqY=ku_+I#-(`wLvOz&D(Sa!sk^viW7 z(%XzgwGs|#_*$@@5!2$0x$r_$c>#}<Ug4PqnNQM~X8J7DnfoxX?F@@~>7E6QQ&;t@ zoRiM7!!Y^snQO*wrz#AKj`f^hnfBm?%zuRgee=x2zW({+#MyVlD6#U??5dS-X6na3 z^7-qO_UitejD1r~53z1YSnk9+;h?q8f%C>4YzuxyFFPIL6>L3Y;YT*!7#IE*(@ti! zt4ke>U*NaHVCrez={rJR^0{#*Ys)2-F<-yhE#4n{!o@EpE{AD*+Qk5?>~Q~s%)Hk` zGvc@FMOzo23F!+KH%!`9C3sVE37cN@j;y;Uj(%^`U$|BO+SZq!?cU9HsDJ;LnYZ}t z-w%PFr%x31xy!9&x!WvmS$xV!OI27%i_I(9rS-~;kRYwIJ{AZ0P0xk|YxxvDz0{?% z?Zu;R{h*?0nkBUpqfAQzixzoX1wBgYw>qTpq$};_l>Z&NCXA8ES!UNf!V7jDY`U$z zJ7DMSR(;L`&dxea$G!Cu+&mu`p8OKVZFXtRmB8xP7pI>sdz?Bs&Hc=h<7ei`=tij5 zK8@Y%JNuu{BiTB+gz$dnD@%&|n}1Y%zsJw$tCZo9oEFhzc+SA%uCbP)hL6|0Sx*)& zKesSMs6;w+hC-99UvhAP^D(X0YiyV#{rfCmajfo+TlZtOv*RVHY~KTWuKSu=-8+%e z&&MdOv;M*}Hy`II4nI@#_B|<jR5Ybe)5qkP*Yr!aPwz%vnD=3a<UAvuyeE2Ia=M2n z8B6;L^HtY0U7s-Ly2b)V87UT@eurP4UMGv6l^Oe4+_|ttar*KStN+W4*`hu>w~Fj$ zzPD#-pUUz^iTN!Pjl@0w1ZmmLVp-R(X|40-w88(5C6g@A^`xBHaiHq-x<hp*9-ris zU!$Dhprv_!bHc6=nKiot4l(OSf18o4e{}7oZvAWDwAOAHn;7{@Q!(qrgz}dz%hN5t z-*bMy`~05QWy_u}dHK#cW8QP$y3C0S*?6-iG~TuO7;sr&$+3Oui|71Xa(KR^)DtU# zC3lZ?pRvE+x7laz4DB1dC(h1!rMOH!@yCO<!tE)S+Y_~AKfhXYyCi9n1=j+Hb++5; zmcBLI<rnPW`u$zC^NmFu-d8?d;EU*Wf1b7UYQ*DBsjkA`w<T3~uUjJI@`quaY{iV# zlK<nE^IST8(e2)JyWXazS%(c07^Bsz>z_U~-=WJ~dHsdOgin>SGCw1oH@L)bE9k1I zA7GNY;3J|KdEKq_0GpLS<K3)2CTWR->~a%SIlHE_?LMZ<SC!i&9>lg(;)NrJRe{u< z3&)HPv~{(<eOy-_<k|4RZTY3C&Cco4Gd&BYOsG)sQn<l6XV)Re3GI>2jL#iA_Nl1s z`2ME3V9DkMBJLKB%xNrcXCo)R3@hQ0HF(I7(8J7_CcthWr@&Wu;h^M~32asi47p-Y zFfp?kG#Cjz=wsQ?DAT2W)b5vIL$sBj0&8WXu4s^VhmD`2{)7{ba_&4rK7R7f5r>$< z3M{jk+-LnaJ2~%%#u?l9r~5Uwmpii=a@9N+xIL$>aBk&{hurx>3@(ot`){VUcO2;8 zJGyP5fyy;zn}6I>9JWke_de!R|JDNxY!ez9<rN;z6t8Ar`>?@>r{(~2{09bO#ZQc> zQNc6iU#PKlF!J-u2&%}PILH5Jp={&D1+|+l^9e3A@3!fCz>p`=$onm`*}ANek>|!i ziCBdIHkL$o>k~}&i3w~>FDCObU1$jIN^I+jy26ukAVW#-*D3vyFBP&!HQYUy%`jf$ zD3HCN!7J2(QEEj4vy4EaPr4S9R=~n#rdwC~iaM~emgusI?{Hw!Q((7LS+K(0*CD8P z)fG`0(UnC7Ss~#J|F3eFyz>)&aF8o(0kdpC>1xgeSrNTn*Otx-UFj~m$|Ozs$^tcp z`GFqIF^dnlnOK;vaXz~`;Pa~M3%!(E-(NiD<l#P{dg%t`+Y#<on<mRnxzOGwcyh`Q zp>I5IE<BdwHS{QJvYhMr;CaXGM&bDe((@C4osM^W;(us@Cr_UOBfp1$x{ypmi+)YQ zwvBspEe@ab$!-(o-_4u1*NiDxaLzZzbB&V)Z6^5fg*33pzHpG#IKcSqRB`l{f)^ZT z7BDkSNSyzR<vq_KZf1!$#q7)+P69lq8uV%ux$Q16s+uIUC3&a`N}kPEnzZ14pV;|D z3SU>a3Kw4GoT13O)Nw=R1%bOS{)a7KKEIZMK_!NnA>zg%C58r{{8<l6BUD&}Z4ZQn z2Q;kh+QFb?*T8pR1+$e*17BXt#_pF7*vxl5WJvpP{Hu;oh+IqptCrc~39e^aL`8O< zaFa8fv|UOj=Z)yv+}2G&^Lwtbh%7k8!tpp(c!61egmdACRRPsZqKk}{KahKIK>UwE zyIOJVxwD^>`ft4p_HpmkwM%{W)cjqehT#r<mq}e6r45}&%nvfJ-mI`d#QJ-4o?Y<F z&9O&~c5~k04-jVNJHWtSbNg&T-R9Xdg50fK9r&MI+r%Ulp~t>yC8Jb`0;gw0v#eCP zLDrGS5`3)<l2;fQP2Viw%<DMJ(RSD0yd?bp5i5_!9g%++OqUp%e%Wz?`OEH$Jz*gS z*8kDiwpQrUW5%?QG>L|o<G$}q7#{LETwvyw%3%`PF`Gqb--bP=Yj$$3S<sW=^4Nce zL%ZY|hjr_JmP>t82yf(WyHj1!D|w_jw1*{>M_c2t_^S<%6pueV=4kd<ymwEb+>gh{ zqjifS+}ETC-gmaP4Q-Hi%1aVdzxlZS>>B%s5P{Yi>1T5H1<!uCeQr<^U!F8$Zh6NE zfd-b%Y8NN8=~!=CxIgSXN2;*%KL(dh^W1Co4-(!ouo^VxhHT!x@u-8jjci$dSun%C z+-K&O?`>t55cfNCppW6&f<}=o`ErcG%rYk~1nuJ4B_H#D`B5IJ1<kKlB$}*`W0uvL zm&#;t@T1eeM~oaBn%D~%1mApKxnjw*J&*s2?@#5hO?%TY^HTI70|iMonMYmk%=a8T zD6p>KO{)Dv&hvHOgr6}ml=w3<WE_ayw82fl^a0}xsr@^Si8Hdtt*Uua?Z9$P_1U5e zca#_fO8bj;91vHkV_Ok0mB&h>dE;G!kIWaAItywtOYat7w=GfRP06vBOjl?Z32>D4 zxZ=lp>cu1J^FNM04A8&QDA#qFckWZ~l~4Gee2{+{B>!!*!WF}ehnod?ic2mC8eTe} zC=sM+%);xs#O~ciMQvv#*&;69V3(-tQOZWXS518R3JmQZ_=-R9HC*xECqv!u!Ib7C zbMB8OS+5!R?_OXuF<`v)IbO__QJ=Ntt20k&0M|dEK&=l!9t|xb0c;6ZD$*U2eK(eO zCMe4|Fm`>2luu(h-pnPJnk(AcmYE^;<0-2&YtZ#;LM{=ET1$g2rm}C^#+Dtx7~{ZH zwjjtvprdI8(|Z>FtP5GXq2;lU^^ca<oc`XSzm#b=J44`)Aj8tmGgJLueo22YscNl( zaNY*VG)B>=hitxqA=(evQyl6V8cR1F@pcGh&vRh&eZjWy1zTV$XCZ?(*8_IbX>0`v z^&tuDbpdRRJ6c6W&A)8cZ*Gp<=H_$TS+*-!@yR9Ik|g!QAn%_G`6>^&OiKN4wOF`s z-6Zdzc8yyawY<&VDvzulY*OSC<Yk-GH1SB&^ld%{H+&2vnl~-+F<s#^`<d@O5ur`W z!T$~^$SjbpnauRVF#g}8Aej$-4T81T9eDb8)J!_TXxhMF8UR|fC&$TPRwVypA)6cn zgWQK8xd!&@jf`eaLfVSl?#^s~M5`oIMdJ>{rxmiTz8IgC5qQ{?Q7VDyEn7aHL#OEi zCU;FH(}sx>KN*!8So}4au21O<ndx^pm1X(T&M7Nuv=o?PBPWVJ=vZ>CV_HTHmxA-0 zL%b57a+wmu<~eX$3K?BgG2wMqdfy=b<Dh-~1A%Q%(tkWp_bB22&dzY~L}`)&)4_=U z8D%#url&R?{o>6wQBLrn#!}&u=SO(%epD04=zX%$R=-imb9>*#i6s(?6g|Zi7$$0H zxd^}YXnOy#>ve?ECk>~+C;HEBQM@+AcQ5ON4E70ISNh1SF&qo^RtPMQcVNtNXxVhc zsMnbP+)vgO4QVG_xu>ZzMKv&(9AK3CFyW+oq1H0yZ7Z0w4ERkeI~-dWxf1;3f;clS zh%{UjvC0(vy|k@>A>n9|vD_ugOGhSMQt{<#V7cVNFY#c$ghLH;6|ca?NgfXv|J>9( ze8EqqK$gLQIWDtCbOBSVP^WMd<9YQ?{tF!jOBt0WIGsCSeUFXZEQ#%II9rKBVTpl= z)rIim&Hovvd<ZPatW4w#=1NGs**Wvh4nCQNMSl+Sn1wR_IUL-mnZDpF@2XOrqhFex z)HRqnoF5;MeL7)grPCZPNtYub>Mc+EmPO8zFjCUIsPWXpg2BjGl|!$ES#tuj-sVmo zhL^K<{A9FWz-CaIdG||yvDNY|3f708r<#0VPBUy_Og8v*!D91g{kBPZUDM_rVdody zSu@R*E&6Gwb^v?e)zIm?n655he9XyjX4K}kU{T~p*04m;Tu<c!PYK_|`RkLpRTeW! zcTUl2U`f~XjW<{jKVgAD<2?Bf3njc3FHPfRK4myfd?D9{n#7wOr?slZJQ+`wFMPR@ zN%R4))hxetPP`$@{)dEzF&I`c+`AQeKPy%D+M*<NZ>Ls9aR$w^4`QMks)ef(ZLS9Y zC||$uXmG)WRcj^Wt~2)joTb+#G^ySwV^N9UW5bO0Hr|D$X0tl$d8(KGEzrm~<dn3_ z=|PY|eR?BfP^pO_XMa$iM1{|qRF>LP{nADKw|8zbtJqXx#r^z6u<(X8nh9*#4@6cn zZhC)k29t96ZRO3I7cj|bc79yNrqjxvD!}gRkdtu5UwZ+2^@h+{vsPX;khtC$Gxzee zrK=`OxQhRCwf@AAAjdk_@l&wa$Azb+bY5TL!(Y&EsNtJ`d)p)--@UKwzdjON{#1WK z=tTa=Y2v>+<R&nkH@7}IeO@!$e{-9F)Ua(k?*CeA6~JH+#_+&uXX%A5iGb9K2U@$- z6St@*MqQ|8aA5s-YO#z1>(bT1R!@7jrWm-VL@ivpvHco9e@E|=kEx-j_?|o1<t&~V z(PepiMe#F(jHf@sTT@-+t9jpXD5wa{{&~4%#}lJMFC&u`WwpPU*N7QBE9u{6x%csr zW+uZ`#*WNP4D8tf@g)a$U3jL?zjM<CkBO!V%mEv!l|Hb>pNK6NVYS}CUg^T{G?dk# zA;4OJRe*u<^96?89eczAIqMU-@3q-zOtukq6=n)EKDl5%kJSRb)jnJW3(kh{2s~8a z@KXAE$g8br8ka-XX|LGRUNvpp!Luu5pNafmdgH-5m8P)pXKN?j-qEAIvos+!JdC|U zfuH{XbJ_()hQ*4z+*!q!9WhzJx-dJ@jP>a9>|Hif6U|z;%Waz_@LT<VAaD5csBa1C z4-cjle%i3Z+pac<Z`bUqIVJi9&hlqptZNmOJ#k2t>#@K#f!P}>m+@`x>k8Wx`+0Wl zt<6lE_nJyHi!UxyVVpd<AnHJSeN4LdPc0@<hFasP>m9VY+g8^wZm!ij7HWBr_0KbQ z)dCLH2TYHqv4#I&En;A{V3YrRY1&s#iS;HXN1YDFK2+K3JX>bZL7rRl|NdP4N8-%N zj|Vvo7c5&8x%Kx#^*x<86IqNx{hFsOs4q`j`gCnr82i(x|LeM=*|k*pMJ`yhUYcWK z#d&U_fz*QFg{zNzUdH-n%@M1qM?Tn`za6ma`=L_y!$*Cxbo`DlIj}^1cQs$zQo$FS zcjpyr`iO6OEVQv>vEr=@otu{M3VkxjnRPtN%GpI^?}EwwGJlz)o60LPW%u5?sFEB1 z;X}2-?cFmXGcu;l)LNS%p%8q7o4vq+G5tY^N;s2hLQaVTTag1>nE`|40ak}^mlIOB zo}Cdo+H7MRBot$A9ONu+zFEj<qT{igGZSyxKT25hzTxUM2j{}#?e`<JWF1RV7w_p* zj<_Qgl5;maS2d)ffboA(M|?p=Z}Ha22WGr)D6$FNRd6A=UiOCB*X!&n|F1uu9(==* z^#&vRq$K6`4Db7m(|lagxQq1XboM6Im<bAA_{5}N;T9ngoVMRZFO%uwu1B*}BO)eW zn5Dl`Au4?4-h;E`yp{F_tKIu#y{)FsE8WKZ@)a?YM)ipqY0`>M7JDgeaZtV^G}l>w z{^!JVXYcgSnLoS4^3i0?q_ubEOfk4>Y?k~@pxDiD$!2-ib{&^u?Ro4HTdo|<x+Z@@ zD1(hz;r<729%e6|!o_cUquw@0Ikl*re|R+h7*FxHVxH$4cqYx{(G`?kXu0l^Q>Bi+ zXrmeH$C+<q8%0;|Y5h8@Nx5&`-&^x)1+9#%z2D|O>j`BoyYuCd7lT{8jOamy=<6~| z|3B(Y<`U+pVcznPE9kgY_li;(USpeM!t3}Yf)!;p%~`!yATP%5o`-;TOL|k0J|C0d z{|#yH56DlHoOyVP-fY%hvq?`Cd!ueux@dPV_bBLSjHt<KV7dDA%xy)3g;T|zNj_8b zI`Oh)`GQq*i+NYA=icyk%J%<Rvh_~8yB@2*YLHF;=ACnFX2&|U50f6Od~p1FvaOti z(Rz#Ho=fDvP2%0-;-d0miP{hQL%b(0FSv7VqRr;XcFH}P5=RUb4mKOq?Mu6GVr|8~ z6G4IP<$+p!`zC!pzS_@$Y2x``41E8B`_4B`E9(?E*m!r*Wcv*fE-uTxlAiS%m!D5> zo5p4FlzE2!i^BgKLan??dvq53GT(M(b3ws`o>|jd&M>NY*1XDl{`kz&xOtsf7tEhY zzIQZvF0|D=Wx?DmfhgPAehKULJ<i$jGggnkV2N#X?2E)mcFTM358G}zt-z5d<nvum z&vDkLM#0A(yh&~b{{&~=R46~er0|Y$Q|}!<lYj23rtrpIR%Y4jDEaZu;jORak6D;a zik$IOJ|>3ut7rVzo!O$L*Vp+vN#D~GIbrZ7L^tQrM&IX+>oqm6JXb2Z=D8rUul!Mu zPs>H^kQd2|KZfMl2fdSB#PaRW!}Jdq?y2@a{;{|7SKjl2gn7C1%ddX*JA8ZvL-XFs z-*5k2`qnP-{+1`3$pnsScJ`NB{%8N~JNZ|6(W0+2N{{s}NImv^!qeM{Y`1Pka4%|n zBJf3^-fa3JMc;P8dA@zTlbss-K0lZcp}6x3*M{tx%OZ8kjq3m1FI`mp)O1ID)9Z74 z9VRK;$t`7^dG*Wh3%|J{KkMaPH@R=Avf0s@zvkfw^&|n!nrG^F3YJC2e{0?58I_{v z@`QIP--8?{y{<)0r9r(<KR)l>H1n6U&+6aJo%ijl`{cPC-pf2Nf4lhIv&`o=0yRt& zepJ6>Y~tsT;%esCY;JGjlIrfsGLgy3lA6?AkTs#FQ!2i>ldFxNt5vggQM=}f75ocV zu9&}e@!}=(SFc^USa{VY;XOO|x$Sh@zJ%ZHko|wnV~38NJaypo$rDUWnpdt|;!nD` zg2_H<byt@h*W-s$1u`;RSN83F_x{7j_nIe8p4_MTcF%#IKZOtM{q^zp^ZW<)j0I-3 zzts{F&9eAeTzWJfbW0hF>(A0;35d6^`TapsGtBqQp)3t<PZ!T#Ij{Vi+YF1R<xD;6 z^gzbVWo7Zz?XwrEq#a(lDt+ygtxkelJ$*zplN_8iAGCNhclbzUcm!>HaY2zk_H?VW z%L(lpExl)o5>%4bT-n5RW=5cjM}U*_;kb)lsjo!W_*cz8waL}1A$U5Ae2wQ3&yN@D z))p=Ob^J~H=9$xbS-ZcTjoX@O6Z(p^{KZ>w@7Z#nK0WW-y65_y|0-G0cXuUw)H7A{ zZegE&efs^@TeWvIXB%uk%Kzo$ZwUkOt@&;$UfZ7)XOv9Wjl8wHCuf-!YtjLEF8R1W zR~*}>GF>$*(YW`aZOc*rUz?|VjDFy-Hh9+6z)2p{0~UEir}dilMZ~2x$th)LGKfVt zb(nfOmH0m5j1`@<kgct@lGVL^Zh^%N-G*L^Q-+%v#QJ>Wdz?CScRQ#>YMrXsENOJt zbhA&8@?92D&08F-eYK1Kq<Ca5m$-6!(%OsH`1Ssq%<OkuQ#-|9Dlui{(`hkfD^n$P zo<2yGDAQ1L(BtXZ$(9@V=v$2G+oN9&2VAjaNl%y2ExuW{;tZ#Jjm65AQ%-9C12^*} z#2HLzuJHfMc`xw6QFAFj=AN63F^&(Hbg0PuIsQ^LVeQsy&CL}7d`)qCMUz@%E2m~< zc1;wW#w4;&qbnpR)x1M{)v6uhA>J#MbZmnPFRWg_-oy1wa0^dmeA)_*<cRQBtW{oI zZx~muHMph0<nCm0W$J^itsMu|Chv{BdCS(fN+hWGjPHWuGrm;4JQ~at^6IH%u<y*H zGs@=NK36K_d0VnnJF-|k;HKomUT=+sCwx4gGHK2_`X-Z^T_88(B!l5CgO&}8D=e3a zXsY&{WL=kXk(E<uPL@HI`h*TvG0PQgJ3P)kP^ef_=N{(D7qgb{Q=)~xs_%`HKej#+ z?>Y2;)*O?-6%P)3Mb6TiJJ)uT#hzH(LltUk%LIE}=58xkrR7no-(~2jk+o$;?|~PG zZs+a!5E6O&?)wFS@9#%d37%mI>Zxo?Jpbo)s^rHX%EwHEPl^Q}^SGJv#Or2S`6O?4 z<*SnOjvi%k7l<?3aK-<LYgTZ={%4Exr)TfTT5zU2CiGmi)E-m5(;h}fd7C$}*K2ny z)KPk{+G}pn)=LeINs9`7R9S0H<Ci2wT=sfyZmM(Isbw<51&PVYeO%m6Mb$+f@nu_l zdMomCmFRU_evcA&%X%Azo7dJ^*D?PyfBcjCfyt7|GI1h#h3_};df$0Gq0NQGe?_+c z2{*=BMZByfnwFmbeMG+PteKMNv+Qt$&W!CgVQ-S;6KA`A3i~0-dWOego`=i&u;rR! z_g?8b7`F0cCdx+%BpE&zXpt<-aJp&v)^3{sTR@xYoJ$Rl#HtKg>tdETMF;9uiQMTk zig~o*oK26)wE~WWSDUuA*R&-a^N_IRTW0_CjI+d{iSl{V6!-uAdfq!WLdg8a*PaBQ z<*s`JVx~)6-@$3H#8~;G6Z@qJYzi+H^4xN0V?A5IreN@CqV7%wKdWY4#tRE3^=wIz zx)8u-bb`I<;w%P9hZRDtqDO754PDtA7+Ux)I4FFZ@Z@TRgiUFL2eT-H6Q>sgi}jQh zk>3t>E56yl7G)*Ok+I>h?$rNF7m2EEZr_&W6@PEimQ4qmM4Kia?U>QJ_x*{2T$>VB zBj#cet*+0J0>x~pB~MH<9S=)QTGMv;NVxC|7Z$aPk|*sBy7!yC%a8prIa!v!>bTxh zL9<;uIu&-Nw6FS@v?y9hMgNGyF1@9WJesSoORs2b>$|v`#c5;kzCX_mEh2K5B9byC ziat!y_c`b-+rTWp$E8tZPoH-k$1J8>7uxlvIxtE+4HC$3nDtEa!SaUW2DYG*8F_rC z-8Uw51-Bm*SK;EG)8v?>If-3dJ#2I3(j8M1=9xLIa?S3xSj1zWDP;E{a@m5aTaRwM z(Gor#u-NF$DQO$4McZ4YzM1k)T{%soVfFt|hfwcqj&rVz&-j!}rg&E-tn_5O&NlrW zD@WJeATbN3;G=zF(eXRpObgk)wCh($s!nq5w6a(GFS2Q|F5u0b#%8c)L(^mvC)TKw zyKY6l^UR+UzxQqOBx$AWWf>ADVy9hNR=wz*#$w;Q8+&51LoVdSs4qC{!RDy@xjApj zTFEE683}V$mL9zMc0+rqZ<2HM>F_6yHb$;mVLfS<YVSYiZM#xmW^R4Rs?U0m=iQHl zX}1nMP)J$G%+RUnEh(VM$Pkgb_dveHHG`S#OIF53o;Z}YTf`~k#=!&e1;;zZ?>vxs z;W+c5PuPW)Ut9K?oL_C>_efAZ_|6{>Ubk666S=rQZ+Y|e|2Ap8jc4ZVIQ=BAgHf%1 ztG3<Ri@ciek4Ssnd&H9U(Cy$o{(YrSdhMTS2ir|hG!lNGKl97NwEt0MKDi3c`ezK1 z^jsMgn0^#YZxUF^x#q^gG>^i^7i^vzrYb5--e|CQlf#Yv5=Y<8eFf42ceq_2UlC82 z5EeL7u*|VoKk`s=?8K`-&p!GjAs^tqRD0R#Bl3!cZZ#*5bx&b^d~a9j`soYLq;XgY zO`K}J``4GY^3%~08vm<Q;_oiY7KySquut|1?G~SzYISy%<ifK#a+7E4`!JtmNREq> zV(>WQ5WUpN^K3E~lfZ)wp4Zo0@{T;=e&SE!OFdbsYkh4cS3mhgUO%9C_dn~LhIxOF zH<-_0%({N-YVCnvb6-lCubGf}G;hIiLAmc{tp!^&t}L2ux-KfepGmYMZC;?V$ls}| zU#D!+3)Piev?bGxduz~^gEi}xY~3z<neVXk^vR2+NjM(vN#@;Fdid>(C&{-|Z?NtR z)RB*yvhW;B{>hw>lU_?17vGC{WRO_(F++cC=RM~8lca(qr7g4_juv0Y?acI@A=G$C z`0(9%5lgifcerccl2v2%SR<lb6MaW)MOyaZLZ*B54^F7^p9q|!cul?UOs8D&s){H1 zUzyckPBk|<UsLPzMEFpN%JaYnKi6>_<jdinyU9g<vbSzm$(JXGd0g*)wpw<tTmMEP zgJZ-0UDJPT_*K1U_L0?os@Jxggyu-rzlv>_&AxZ$a`0@$yP9#|#LqQU-z{Is8!YQH zq1R&3Dm~wa2fu5r`P<iXw&bjFL;Cxa7wz9enD<GxuuE^^&%axHtNx?ncc~}SWhcCQ zq4wFtJ-acn#@|?4>?pV8@o1AG{zuo-q{<y)g$!0cS1n)=dhjfO%bd}>yf)~G4D%P( z#<0lv1FXBu8PuIhmu@Z<HmHdTvOTuFPIy91q`85(7>ll;NAjYEsoxssghetnusz+T zs@jmeYLm&aiGEwfB;ThO?-P(&_N^{)v3<p2y<G=v<;;tJGME_^#^x5qsvJ)#{@ThG z8p+To!4Tno@5q1gzfLOLEA%)#^to=dl~1pex)!`^VcIWKRq<y*?+O}YCb6;aX!Ls8 z6z`y4#lW99T{UJy-TCRwCI?t86)ZLuChF~Ih*_ThyC5-Ah$Z_0tI-YB)yo;bG_i5A zB&-wl3;)p~XP)KFQM_Ye%e`gECPD&}uF6zD7p$G$wc`r+)8)#$%A{|9&1rM@KP^!C z{*X%TrnvMUQn%V&%+0dcCN_9yl(Tb`FgLfK-roMpAU7}}S87GI*$e)r7162>a%XZ_ zFf+L8%uo$hl{fg&8MUc{bz!GYX<F##e8y?24il39+$dYqk@YdDCG1j`=fk+28@MJZ zs#Y{-WVE%uVHHyTUaxrYf9p)cBEgyVLXqytJ9>26#dB74C8-tuan`RiY1eG2d$%Bw zF<79&qdB=LVU1yKgN0<tGu7M!eETL8ce4qy?`ZlW!RF|YKV=4g^ke=HGgPC>`<60W z<R56+^PpYFl!5nh@?VL%?}gp|hf*gzY&n+LZE&bK?pasW6P4ggg7F<r2OT2BU$zRb zlotBjI`#O((#bI`5BqLBs+Dxl5N2pfVPLQIWNVPr`=ByyPXb$ACR?K?vq^w$aQcjt zh8c~XY_;F`i$2b%=bUl!pj6Gv>2;hlj(+E!^K-h%16H4}O|pq>sRj&Jr&s3+u<#f# zq#wvU;vlN~NXo6C+Hpel&hN7_5B$&j{b0u2l{1z`rZ5yrO`ADGZ^e`aJDPT^oXwoT zK6l%Mt>J938)mJ&$rfqAkXles7e4i_=7iN7ORr?K@SoIM$u=SOX5D&?x<BFq#|2bt zSwtUi<^MOGtN4?&lz~g(X8ElNc215(MV8YyY>R15;=Xl&U+{YBYoS;%c6Y8{b*Cpz zczbe!u-8H^sd@7X7dETOPn^W%`&^GD(J;lF|GQ&#<>Q5)S5yi9Dxaag;PJ^t<|Xr( zG7I0h+ox7cP}x=P-z5E>by3I;Y4y(5yd5eFFG#RX<SuYvjB{XHx`gfiA~vZ_X16!+ ze|MP3*wu4ixUS_ZchL-|h?9$7oNOo;@1CtFbldR1#f~dnpC(REoHb!};iSaosT(^M zoq5=1lwPj+q_0p#=5=|N($6f5Z#?2^=~kx}U4F5w^m<l>d7;}Omkk!S2~|_$x8)d@ zcgI8)u2vAK`rMVHw9NO$goig}TD~&;)Z}zN!YNcJ&9y)@<p77j7Ux#U=^fANGb)$9 zOez(UG7}Y_w8BkQX=Ax$dsa%8Oj+cDSC-2aHQTvo6vn+;>CsXsd8;jL)x2X-i{7TJ zDYMKEwajl$^tk1*{Ex=Mbw3uhT9pfE6+eoKU~+DK`O3{mNale8!~DwScdeEj>MEZ* z%fVhiyi0QC!yvcS7nE*I<>tDuYN`Qea3Bxc(N@XK)y-iZoL2vp`vsS$?pl}fb1rAq z@-tky`Y*~)SQVbinso8n8mF#xC$%<JN-nVyYpq|k>F6%W;)pd_y8`dDZInFSaR269 zPsPZWFE>74wNAZi#eGIqDXwCXU**b^xP#f%ZFkPInI#k~=+bAfm9tT-PmzC#7RMX~ z=S{N$__}-Esur_Et=Gsbx3a1$eLf*1V&w^~?ib~oRJdDrh^#RZUtZjipTA48VAq;Z z&BD6u?fKDbPwmi~pt$*^X8R$o30=3l%B!YMTs6T>dO}wAHl41Rq?!D$8h1XPz!7_L z!Uv-w!L6Fp9xUPf$SQMylgX6-YoXlh4_iO7>c?HJU3rW@_sfcmU(43+SiWoa_GK@3 zF1z?@ImfTfhga2I&{7t%YJcIrJ!#v<y6W9(+G)q7H(i<4)z)42_0{IQsKuGwtEOl# ze{8jhZ{^<fXw@R|ZTACbZ@#cRIHS*B(f<#FU~r?@><e2Xc5ilhy^Cw=#>8C>I~bbZ zMQ$wh+EaRct|j-Hj@5;wl{-#!uQz7e!R*=lqiw;}-`ljjH;L-Z%kN%O*17SfRd3_( zMTcI8I<AtLv&)__CgQF7@=4trkN=+Q8nlwRXMOlorbY$^#h)xJ`iu+=It&a93||<1 z86DXFH>5W;x3spkcXW1j_q3<>rB0kQc~W|R|FoG+Gp6@;WGq;ixp+xn?6PICix;k0 z&^mp}#!Z{IY~46*%Z`~dW;gF?*}re^?jv*i^U_k%n9eZ8pFMx>(wU2wFI>5H_S(g( zcW+$2cmL}3`!^pxe(~t`(>u4`K6&``!Hs(_-`)DL@W763QxE>0TP1nh)F5bMGi$5t zmm?o|q}usqy=pu*PCaVA;7fy7bK4a6zF#bzpMG4puiH6WL)7}_#l>!Q6W=(<{JfZS z(mi8`#U<6^09QS+%P)Qk8{OQLEq=w&`&Zt)po+74SA-{s%n!|cye?_=s?gaXHA!oV zN~`j3U0)hF*Dy5vt7Q1Py#HroyVH(vgl46lcyV{NdA@xFr={vI*BKH{&5gX=c_N03 z{HKVxc3pWX{KBQy%$f1*Oi7Wa9d#`Kyr0|%mb5Q7YONFPTpwt>A^G$?-sqV*w^JTm zF<Zs+J@3|mvo(QkYv1nK_-)c<=ijNimbs}r)^r|QeD3heTX*&-CcCsJ&wXsLaAAVW zxl%p%nG+vQ3jZN#VRLSQd-gi5%iG`I>oq-hZgtQ<568#X<LW{$T}YmA!03iu+stJV zx&}{+7AV;I?(lH!Y)R|UNhyf%7K*#^h_$1#kt3<SX6v!*T_<0N$rNncDKR@=cb`R! z?2iSPuh<rvE|m`nv%Q?$7ykE0Ok|c|<o*A_shpK6lis?Vl!^A6`#9c2OLfYm79OFd z#LR9DjvMhEicL3kQ@PBf9H;CkY?sZG5t5wI<s+0hZ5D$|nq=Oug-Ln(pVTrIwA3ly zS=c7!rIFKRRP|!<MpZAizWWy2uTJsodpu_{qhBa*{m;9mOX@$}VNO^&W0&ak6`5~2 zo<zDOUDYa@d&!*Fi{YtdguRB?47IGyYi@`)?tRwuY~Gd|h3p%4E?Ab`RzBw&zk0oE zN5HzsJdGrwnv)uf7k655tt;rP6I{2mV_EmRofDm`ZWp{{)MUsx%aI-)b~E7ci{kSi z6y^lYKc^aI`RCx#tcFW>)IY?oyybO&#YcscOO{U067BtOu-uh<h8|<Dr|0@ZpN_7L zQ|^~B>e5(j^Wc<%aCA<#LHUc<+Z2^fr>mT~w&>GIb?#fY7wq_ZNBVqoQ}(-y9`b)z zEb3kL`pd2!v%M>F({`-j+4I`K=2cx-l&1Kqzowe{%RSbWuCivxo6C2USzYJ+s(8!H z4O2oMcAuSl@Sp1E4K}Zzx~^C2+fjU9k^jW^bCta-cARW6e^+s$fMagYlkTv*pNsCl zGTr&ilxg~x=L_2TtQL8-&(`bdc_sRUA#uw@XHJDD512R<HZ(AE=xq>Wle&CB%{~8F z)kjy^f+N0P3!L<n-x>LEw=Z6JuIAy<?5&FX4JKdQb2V!v|K=?Jn;g-R1^*|o*PBk$ zx4O+^bowrr?U&#E*?jgJE0<b4Qt_1VtGE~v|L*_)ErzkXZ@4-XP0R}na$c~@CERMs z#MO=d+~=+?TW*@ZVI8mD3@0}8j@>tRHt@?nI3>Anfw27#M&7I+P0lA28azrKGTL}F zOFY`ZW>@OKpzXmderExr<&B3-WdRGNFE}{yUTNem^Kg{CvVhrULSjm3MN)C!7Om~6 zYrBGX#$8*sMYHMTs*qESUgk<$?8Nrw7uh{N+w~`C^PZ(Xsq(AiADg+G{5<L(ac5HU zlY}q242#a07hgFo$NhAR)4%ooR~Fy7u;Te~heTa>C#R?{%QQqi^ZLU|y}A2+rmp|T z^5%bb^b?VNOlDqspSTmIO9|cF_1xB1ibs0VgJ_)=*W)5@&-%%|c5f~+<@s{3C$(^i z>z^kQn{4)-5!>=4^316h+B1(%nxVoS_`t`_-BfAQ#7!sfm~y_flnxY-XR`@^>0v(2 z_tskNl%1#QPCQ@oM)bJU@}%f}PsGfMTXpBg$J{<Nr+C_qyUoR$JRjsUM4II6J67A< z{Os{7b@y+YCB6N^a~{3hA#QT&d{*X>6^@O^PV`BYOl&fF{Kx5<<>^FTz4#r?J0CEx z*as|RQn<h@uxtXebp``p+otokPq>SD@677{p^?ry)n&>1twufWOjB=kne>NRxvqFu zp}_2ZeBEVF)6Ad$dsIRXN1kB%wXq?1ZkEMq(Xht8t!pw|SBFf$cD3JaT|U3=9OGO? zj>Qg>*h~Z_$!Z;7w9OFUa1dx<x);D!U8J1LB|Pb7(H70Qeuas_JvysvR_$G*@pZ0m z=#8l}wEB<sbtOhsKMjge^;)zoIIQIItBY!qwpVt2+p_+smx}t#uvKbr8~uOFL?1or zaA#fi>K9$J@>nx0nKG3WmISh-7pTs3a!C`I-+00$ZIk5e7&hLr)a8d)&Cp+WQ%kOY z@1qRMZogfMK9g^7zf!+Db8kV$`XDzYRZFdE1I?SovJq34)Lngbpy6Iw<z1C^k=|9a zZ?%-Te&?R1%fH>%>E*K8R^yZZlXP4X+XJ2%ot=7S&brq#`O0q?6?1)@v+8x?n`dl2 zo8~rjg|A6c-cWJ$zf*d;_A=2GPRR#;GtCw^-Fo@bHxudD66yZ6E3`J(eAM~UczTBt zXTq&7&(^XmdaZWm!6VKqOZAuxnk2pUOw^C4JX$*Qz@9S#owLuB3g!Kp5py#<@MmR6 z?<t$ll4lMi>Ha?yY3teRw8FG|*498V?o+~ZwcadsGFLk+Juk0AbZ+d0WvP-<0tdQ# z7ckgYNS^s_s<U{H0)y2B2dRB?r!(9MVEcOJ_4Wn(-iJ<4PQH-W+jZLVRk2I<lgRKK z_l;IFEO<Dim2X@=b?LyS8LR(1@=TXJlbBX$yzhTb&aNw#XD)m*ooQW^DN%k*Y1+!* zc>#ytW-xX~rYn4veCP1W#GfgmNx`}MtrOevBbw8z7k%#9FTg4E^!@os1&5cu^yRcZ z5#4&>kLt|+o6E0!QJJ1T;p9v;Mc<mmns;=SLNj+(do4LOefhly%WLNgty=o3WQE<n zoQlsod%veGl|7cIZ}F^*f3aognLWATMz6{>k}^$$_KP*I-@hPL%**O@xZk#Yrx?0C zV|*E^A6Cvd{zt!f>O-@49C?>pt$R~;TfER~6JIpL@NK}0#usZB6wPg1TaxQ=`&8&Q z?u%3V%8G70y&?RANidq{i_YxCma_#L8U7sTS)*TlW&2X@YoG02{!iL2@ocj31cg5r zGV+!va`1HQd7`fWQ=w;qw8)y~1&bWp9ys;K?S5%vYW04PVfU}BZ5M488N58Vbl#q8 zn)B0x>viJ$!fTd4%+}rMr<-Z0|2vMY(4*C4xyJP~FHA2yFx|1DQE$O@Ro3vbwu*o+ zU5*Uh`gdO3pTw;HgJqF6r%Kz2w0jIwz6nI%ls(Bg^XEeW+cQsi)&+)ajE!m2=s2Pz zm87__Q?4^EdDe?egY@r3nK9<+x-9jl5?K7prE3$}Cnjh#PZNq}l6Z8j{>Vh-%mWOT z3apU=EQuc)6AjoMC$L5;uue<Y`*_glmsvsUQl44Q+2Rf`hi$Q)J=JTMoA%R`|3%AN zMC?n=y03c1e)0T%rOGKoCVg>IZF_1iLzB;m7Dopcff=m67OnC#Slg1^_aEgwSC$-k ztu_C6Y1Kw2wleA233_D*ZAudZJ=vw}o%GKdFibekFhQKf@d8`v3|3u5f!WH54$G6i z9OJV3!m(<z<$oi_6o*zH3kKKk`fd{%r?|K0CbTcQAZX{vm9CJP_JHkFL(3a8{d5Da zx5rq|ElB+tEd6#NkN<T=z7tKA6EzMqlr?Dx9&DFOQDA?f5EJ>r;dPVekEg+RoekGt z_bhU3neixVms#?CVg7kX4W4b5d48qvb*t9f135?1*g7hDeQvNZD>Q_wl?Hw0aVucE zVe!Au=LV}-n`FiXIUa|;H#gXRZD?qF)OdXc>jp-4g+m&t8(Q9Y^yM-Leb~<9R?u;y zf~_PyHC}=B#tDWa>I^|U`XAq5E8gZ2KY@*}v-jNzE~#VOZVQWcv={cZ>E|3Sa&{|x zwLweyWY5uxX1}Y-O6rDNE>#^q5xk+vtFJ8i`_r26wA|Mb6MZ{kADpnd&M|S0Kr)v_ zU+RUV_zjagDkgqP<P2Y$nNr5-9xnc=qa*S{{eDAfSs|{|3TfrjS$}o(IwnXz$mqSX zqJ#fn2XAMG<A;)S0#jv;Qoo2z^Iqw^uAoGuvscBViP?Z*^##FD&sLrdYJ!sbMq(lD zGiQih_PX=<zv;dmd|Sd)w;c~YzR`b!`pmyyRKAvG?`7@_-!|>K$ApNh<qnm-JO?^b z4f=u(urmHAIlmyu%d<82WJi@j-}H)B^-IzvmaUlwI+z4z1fO8&=8)cfvt_ww$HjnI zAusy=uaJA};j-&t>nY1t{})``60<`r*keC%tSro!exM_*vX|K*+V4}V*Wotj!|7{( z_+C?BGs+MzQ*3_savsx%d0%g~e&L)SH)B4N!Ti`6sfios|J9stBOu25Yu>+=^FL}X zV81p0`^p83s}|HgZx!)c=;km#apC-LnG5-LEs#95@Yl?RZC_2N9r6!tFL`Uomk}_> z<|Ko{L9TT(%S$&dviaG#yz+lm%7nbNPg_$MX4y!xFz%52FTs1@W=oL4)Jfl1U9I{u z4HzpsJN8zJL>*f)*;)K@<{So1h8vNKeK{uXKF(8EzLf7KTkHbM%gGAqN#T(n7nXfo z_*HV@_sj(hUJE65Ei}5p!}@E%cgy9)RST<sm3{JD*l4woUrOu?=YsNG3x2FzUjJ%= z^sI7buN9rAc-pNNw*M-V&*DF@BKvND;ENkV4va#J8w8yk1=nRpTu_eQ@^RXhrQ(ML zr*nJAXq)M~l-I9oP>?CqkQHpJOJtW;T(#tbz>)yA%!Iy|+stbj>+2`;IBpcI5@5|V zu>JeF_{{Xh<r9>6OgZ(EN^WX-*Dy){6#l<j`ejkc$7u{F^N%=nd<siF`<ds^LCbZo z;@2An9%T|1oyt?LAaj3;Xzr~QjIS1)DOg_KwSw{2`u11zyRBCKkz5(8v7!6b3I^$w z1;5I~XDt_z-q04c;=ktdJg=2$<_qI*tk2h4Ag9%A6X11>!+%BV#I=cSNo;A?KeRfi zvw38cReg83@nGsRq3Kf3xI`UA>~3>qeqfVHl(ul>Dl+G)4_Ni`hoDSh*9T+e4>K0W zuyJ|sp1a=5D*SQIgNoL|m#dbT%Y42h{hm?Z{j#`bm44Q7r|=&oQ#VYsXD<CvU^?*; zkK^U2&QH8&g7q4jw*3*9E;!Nt4Wn`Ku{PZkHhs^Q|JnI}VcoC!%(pkNNiEFFnlI<I zl7(xLsMLyICzmVVUe7gqImfU0f29_bN3Hx5xk15uSIe%Qe{U_D92J$R>~=$-Hey?G zDSJs&h83U7w7{915|*9+Zfst>fPM7^sY8uZj{I7!`?0TBt$f*o$-d>qJRN!#7X{D1 z+9vNPv+Qu`neVe6C26o#h@?GW{r_Xzt`A*%FV@FpZ$G@LA^C@kM$ppaA9`<H(q12m zn!ps0VPJc*pw&ox>ao|`K1fOLdo*R{507gJ^Otn*>XKg0m$OrVXJyr_6)UngcAr`{ z>DEHV?u~t1%enS!th}|M_gAa@n&qorANXgvVyX3tzg&~mqzu;tiGSO&J?6*%X$FsT z?^?!wa@?ZNwWsn1ch2nOsB6{9-&0SjmCFjUE)^@^@Uc_+qM%Eo#uD~2{)vkjZwQ$N zW_g%fwq`rzb2@%ru%K;H*OGA4x7Gz;lG?7CiT5P!K0b{%dU{Ld_l<#9P0oGW^z5fb z8TYbSi-4P_`0FOHH1-I;OjB=NDY|C$E^e(&)3p~U+Z-xdbx_><V71iBwb3UVPA!v^ z-YIOgqVM)eh2ID2tWGNJS*~caOZwG3!N+m;j~WE3$;~(@D04B!>R{?-nKkdc_ph|_ z%*^pT+166t&gNp>>HlYSdV=`N>q0N3*GM^TiCxgK?o(OsB8~dx<(p4QZ`|V1m$coc zy+roYf7V?O*O_h?uZ`K>!CrN$x%iLPL61wv3cpu2G!<LkQapK}lzB_g&(|6jtoj<s zoEg$5nm%~^n6zBt*9rACI|X!>_g0@&_TD+|&3d`l8|7E+nsR5wvNgLV<{bS0YS*MS z8+oF4F0eV+BGqduIhn~IX`eRNstsFqz7km8l^ibN8LoWz#)V_=Ua_tWjFn0hw%*H? zDZrYs!94xLnqsvxe%YNR+!NAgEd4$yHFo#*MbE3xJdXEb4ltILezmdTv{iB8YmK?( z^LSlrzH4XMxZB=aey&XUY|yU739nKYTjUsN<z!sfn7h6Bq%+&4UFN^4L}pu=8GB5A zdZo~zH9od+leTB_qt^d30)%F!GKOwgx@pcT*JlPIN4T%-Z4~v7w5^=&@Tqy~t?R-K z91SO9gro&or_N<t%4S<&z_6^~sGK1~C1d@HyJw%D^oV@D^`CZCn-OE^F7f7uc_$C= zTQU8*XF$!KwDUp7vzLB8TKk=6(e*tMVfuz_%kntpw_k5B6wi6KD{6~$?mLCtuyl<# zZt3}%>p#x2d8)+lMw0jOZp&5TuDQ$3mbq92vao;fJ*P3#)mJcu>GKSg?aiOQ_}M)& zSl^QU<4IvKllhee^Gm+ZPl;W6w4JYi(&Cv7r<Vkr-Y>N#LZ+dly40Y&ZHw%L*aEIp zp1z2K+n(*(dMZ3HYTD8>6U5^y`u83CZ@Joa?aZ*tacTauvqiUNU-$hKZ+^4&Chvq< zx%=bxYz{Hgw>x+5?jD;^Ta&Z74yiV_$9MyR@<i5J6tDEqycOW9opgWQLh<juLCJaU zC0m+jpR|p4X?C)Rn;D|L(JVXgP|>YauiQSq^(`q*qPfbaPP2!y-Id&OG-t2C!^<~M z-;3CLG&=fv`}cEmpWps4y*%wi>3Ye#A=`G|i7j4!D)hl4rFUM(EjmjNJgb=`maFK! zF<gDIQ(axL%-w?A-RmpQz4~}{R_`4jX4?Qw>DI5=d;VU%IN9oh)asQQF*^(0s_&Ym zOzfFb>AyUv#ebvNozzJ#u38H1&-fl!nXK@XxhZDd^grdu3{SSj+u}U8PF^AGqR62# z?aUGBhUl<0Y#E+sW6PEwD_$HoZ;$U<ADf4FDnzT&ZC~82+4A(svqMKLJH?ZZA1^v{ zeBbwDOZ;B``InT-JO9G<R|m^VSDt(9vH14m1bs`f5513$g$7GM<vC~f{A%TD{V8@= zr{}E;+{`mM=`Bn0g9TS6Y2LiPaEXfjBUA6t?7Mos&aIQ|^WV--^=iKBZL#t4{#AmT z_Iz1v;IuDooso9(%EKv(rnl67Kj*BI=2=^=<C69y>H7U2QpaM81DLlPsT;@m9xK{% z)+$clsOL%DIq6@#@8{jT5_fD}j`-bG?;cvN{CfQK_q;n#lb`K>GU=9Q*MHGxD_b+# zUxi(py0kcHX;X@UeSDUmnZcV7w{MXeyG7rrem?r6>Ptz_q@T|m_dhG)I~?KI=`Ov+ z{x0jw6}P`vZOcBp>qF%3ITf4t$UX{X@9QX^l9{uEZO!Y}n>XYBu1ox<UwZoV9_w{% z)Aohb>7OdjOnmm$Vs^Qw-odhiIT`F}2Hxf6^Gl2O<Q-eaJGo6`_qo!<Z!a&#W~Kj_ z@3d$evqbXhGc{$7js`zXKg(CMzH{Bm#=*oC-_+dN(%#h3-6Y=H*4NQCxpiV!f6JuF zvs$M0&7MDLR_BzqIa8-E>Rs8CnUR_jpO%)A7QZQ_X>;o4*7S``n^QJ!?{RB#+un7G z>G1z;o72-%Q!nk@)O_77WzUZDTQ?s%eDvV9O<Oi^dU^Zuw&QKv+T7fPkGpMo@^aaW zR|jS<``fC<@_UkxkZt9`XTA{?8zc@k-agf+J$1e8w)D7pbAL}-y}+owWs;(?@dpXX z%8gIX25(s_rdY)u&Q-8|O~hL7r3#5rrl&4xgidy{75e45qQU>4R^~2-DHkt#d(5Af z<i(Y~%z0kGOeIm#z>6-+SMjNu^!RL<{dnITMa_o0mIap+<|?aosyOyFdt{lEuh-Xe z6`KF@($k=XnfgrOmu7qNPjomUoMxLgZN>syM&VB<qdRnF=w)0v@K)M%^90*%H>~uX zw@r9*(0%pfox+tqJ^#I;-hJ7%<Y|zg@73cj;wfu5o{1ZBbMJDi@SW+?@>Rs>iO({= zb4wi8Tf1s)xg6#dw>QXWm+kY*tAj!<_u9>yvSh_$$%FjowJu(N<FLEwco-Y++W5kc zLe~v8O!&y9`**FeukPQqt>FeK2N?bJ&u$P6YL(eI`MScDFV{|s7i{?KZM<=h>kWe& zDM@V}PYzs-?&`=iKd10WWto)G@v|&*o!@Uzi}m@u!o*{O_DYl6C37w^^V@AY@m11v zPlIx&;Qlo`B8sM7WKFiTQ{r4Qq2EyCj`ODvOxG&ILRIILuh_71u3vuDbk3ke$)i`R zauz*5UuB&t9uoZRYvlcM8{S*bw3vSUckGtU@VKlY)$63mYnom#v1LhiF7wN#^dH9+ z%=MC%DfdpE*6|=QHDJ?us|P9%k7{o`@wLbDr-y~NknYA}ZmatupQAG?eV^Q1zxig_ z8RrA9R$NGPyw@=y^YfYxskPqEo+jw-op-7`^5K-Ls~rvsJ@@P6OkI|oCN88j!@7Hg zHNR5YTGgeo@hMN#=X&0(45<_eP3^3#;oCYj_;uh@Ilo_t)4S%bdazqRhl9N)V^*I_ z>W9N@Y!(Y5?-!hys4L`G%ocgX<M3^>f|{O4kCSV<avOWM9Z_g3;*<zHy}VX&y6>R_ zf!yl^S6WPTH+3yPp?mxu%VR&|q(#>=b_<!@U9p7afBV@aXRV(x1%XYMrPn5?AHS~4 zx-ZoGQrTY9*Y1bJCV%S^&lKr1cyWXKcBl)ZjmBKQ<tsz0JikuSKUDXQeTV&B#&hXm z{P%k`Dg~cw%gt)5pXeqT<8nE}<dTc<^<}q9`i>b~b#Ynna^}1iz2u3O$;T3lIS=!8 z@_Z^i=TodGdq)5Bj=F8PQ{>Zr+da9#wRl&@i_(Q&2Awk_KHFE#jM?0vtEpmiJc;d{ z?z#Qi96lE|);&!A{v!CCsrbbywpr)Y#eI@aT3Fg{IAf6fJ&ebF-*Tm&-=!-aPCk73 zK-s1JO@H|dxvdw><8ZV5@<FrVzxNCVi|ac*BLjk_Gzqb3duVc%{pSmoxUzsvU3HUC z)w^cJ9&UE+6FYf#eP}i?QRLF^&^%|$#T(Nwg|Bo*o7}Gt?G9fQmuN^VD3vI5+@KL4 zR9w1ilg`9WFP}#ycN*GE_9zB<oLMAd8s;)_Ye0(im50(*E80z57INF)Nt8Nu<M3@q z9sk;-$#ox&$yu5*X;c|MV0vg`xsrn?V0GhphUK5sTvi@0v|AYAcVt1c(wRdXJR6#= zxk9GxtmvNP%_G2>c;XPB(8tN@EQ;#xH$3@geVVeuCv~~W_EU;ZTJ5u|LzW-%@HTC` zD7vHNifF0F!Lutj1zXNZ)sNToj^{I;5&vY-v6xa#eG}nMqt9Wg8%vFhEG~2Z=i(AD zo~!A5-ScE#EzcEknPYRmfB4v+^{YkN>cGT{qE75@?y$&O6|ga0ImoAViDl`I30jUS z3xiaCwluy;@Hd~aGPvLYqs-qG9!{JBet(+16qP+zY|{{KHTt5WQUCHFUzgF8g(1s0 zA~`Pg&bu^YR`*ja%Tt%8?z%EvBXucnVCR_`T~oS^PNy{N*y*Y(b}>3jxHlkK-B<t3 zmPuPSTn(76HLL2T>!Oxj=M`n!H8x5-jSpm=J?qm%zDqGG!n>7X!Y?0O`ko`e&hlXL z(<4>x-+Z?Co~&7P%%key<Xt994RbTKOiu;L2o<)N?_F_>r;0sQ>>6+R2j`@(QkOK< zzVW38{C^XZzSBA4)|QrAd!Cu;r~01DGv07&PFm3ZgI6vIg|1vS_4b-6$F|tjruL`# z-l=<*GWDHG&YaSo7ycWhy4I8=2~IGcvS5SN#_q4VzBYm>2THCT&3UwC=knQae7a8t z26dIRiL0*UX5_vkUUh-DY{qIXd#lT5er}z<j7O2v@$|iCOudu*-lRnaSg&7qE-UxD z>T2gtr{gz$E7y1aJ7e|}0|w0t2}}YJhgpssU}h_5kPCXjz+5z;N%Vswf9VTG4mAe` zy9)|@78`hFmjy5x@-XlT-(cia6KI#2;+Ayd=g9>U63I(>oSJsjdfhv7dB@g&+H32Y zB|=!$8}@wrI{9(z`eXm+R0ijr65rx}Wl`~M@25rzW_x0Ea-QEQU^@}?cw?PKv#bV3 zn*Mr$Q;n&MgxRN@%-Hs`^Y8<m%$H&bSG(Hw`A+q?a^c|pE0=bLf8QN_?@$ugj|UM= zzY}As&n+>x7Yd)yYIWy`%!vzaJHPtx+^bdf&UpuCltJ6uvuP&!lJ|d1dl>X#>iSi| zxv%C-Yh6C~>YBjlMK>cJcP;k``#gKQVs=_t*wsraS((aDOfL#luek3~X4)y0V`pxv zd;E5O*mB-I8((cdUpFma{VHMijRs$Or>xdmqHSxzJnwVDbhC*2JlEIXX1ZBuWTri9 z$*QRjjF@(Zgc(&gdYxUwRDI?Dw`*(7Z~xC;Y$hDOW?ov$uUyZz<9;`;EHSqD@aB2f z^UCvI_pU$M`YJxN`N?C2^RIp$TlIWWvdm2_<0lM<7+3^+6gikrG;%L{z$Dhdz^=!^ zEaeb5UuN;;{DV&|GtbO?aXhp2!hzImrPIRstDcFyXf-MiaXFD@YQFI*=k`)bo_Vhu zs%>w?vsat%<jh`wzV*@PSH;KY=0^QWI-UM`?&qMd)o*RP|J*9xzIp!Bb0K@K%N{t) zZIC@Zu~=Y1!?TX`1~D;xX5AwVY-eWlUv9OjTpx6AwRPI}{V(nws9G;NA>-{AM)&vj zU)GeLVkmFBvGiuJXxWwJ>--lUbIJX>CSLZ9`s!z^9`~Hh`~T|R_rG>#!ISTvjcu3x zk@4O5?#+3HmnThoFTH+8@O@j4m47N;q@S8UukYP8mwBJJ)=xISVt)2T@#PtUc~<-7 zFWUbKJh1)Y_TzhB)zAN>K6zI6oGa$Dn7t2Q(0g%z!-MR-<-X=i6@sq?uPdwOOs|e) zum5yZT0kSpJ5~G3(p-V*)%zybWQ$k$9?jj5$mY3#E#85-Yyktm0z&}<JJ$h56%S^S z2EJVZ?9ZLW4?NCs4^%SJ5EOTalD{mj%OrlDf&GD+K|rbOub{d-r8@iLdD%y~%2YD% zE!UGwkN+oHn=M=vaii>TTiHqXoMN`xu#DD>_7E}m*1ub8q$3JXPLEpg^nbw_xBA`b z)i;C+G{eP364*r#FgXM;iZU=%Jz%mtz;1b<U6z5zW`kJK0sp)OY{nn_S(Y*vCa|YW zaNhPno=uc@-6ZFjv{aJ^Y!fAT>k?8I8yl4bu+?o~<5ys>f52XPfb~WTTl@q|6NApe z2V5l+STY=#RW>qZJYb)Eg0+4Dd)fikBN=SdX0Vh$V2g2JK3Tw4=)hL;fW3YKn@Is< zOai<1gPvUyepy8pH_W43S)vuvx#Stc6wQmmJ#yvU`#z=hMf~WKWAFdOA#~BK|J#h# z4-x$dNBiD&^p`CcEO1wFTk5G<8b0T-HA~WjAID>5TAimp)x7LfDWsWFmSXtU@xS~1 zWnuPd2GiQyKM7VjYxspeRhN_05Zx+bw#?v-cwYF%TA|G`!j)lu77p!KCYjBY`kYZz zHN8yuc%f8y)D<V)(rM{A=Iw_M1Q&jcd?OmCx-`OXWq5z6^NJ_o<}Q&}N~iWGMXp;i z^$3e*o=XaIVSmh2@$5s&Vn(_}0@Ge>Zg#xM?SGh4(9=@pW-<F={k)?k4>_bA+a0)? z<=vh8zeg0E5pP^m-Z14#LF(hu6`_p<9>$?*5z8c|*0*M@E3aZ<l1xfs3zVFhcr4=i zRIg1}yw+^7y!h00`H^s5%~^{xCmfwJ)!M|{a*Cy~C~w}E+VIILNedXt7}zx@FnKWX z8>szfu$jOu%xTE=mBS`sj(4y}@e^}hP6z++<l@drZW)vKMN_mbl}|aCn>}=0cp`ky z2B9T_wjP&^t}59kZPL+7<V%~#7WQ+(!c4E^Z!;p(*jrR1Qx8muO$*xV!WMCfN2F!G zd&-PZvk9kC0$4S|KORqOY)xIcB;toy__}r<NfCv3&b-GBGA@U79whU}wZ=4*B>(uB z?EIp5+VMK~jFMU3OZY|Ret%@&_bke2mGzrSyXJ}f@u@kUH@P*K8&wNURtEB4_$0;j zQPtC#&GQ0lnt`m0*Sr@u1$HyUuMO8KR-1BCxG?^+kmDrD{~x(72iWEbhg5~}&wQz{ z<3r6&7Rju{|I5w^N|tZX77|qLP?U62V4JZ(Z_On=fgtWfF5at725#-l{J3z@la{<D zro~s%<@Yb0Uh&94^<{F5;iM_cCQX_qtfG}KrkNbUykxS%5^vTvA@iJ7$Mg4!3$9O= zbUUPXd4nd0c~)FN#D%TeU(1a=Ra6UJnWidoy%4YuUBVvvglq4w)$dApQXg=o7g*Yc zxSrBllRah4IWCv<DQhk+SZ#9Hd;c!6^+s-XU)b*~5Qt~clqp=3nc(u<pw)mw+AT?W z<*6kuOm<8US)DROGY>FC2CR1!VEfUv-Z5Z(<N=1SS4y;^<_K4=WXhiC<B?Hvvi9x@ zVeiHb_bX}xk7nF9=eYg(zvBI5w(qmnOYPn$b9$p=fY#*(-+-o&SsRwFZnSj^*5B+h zvrp4#r?^T<+JYG-)z2qyl$B=t=jDCi7uQt>P48WjYahB^N$@Fjv`H!0{PPu?;X;nc zhAkG_vd3OnYD|(mdW$vVgMVg&n@zWy_b#!Sg$ic{jK8Yz2~8At<IH(_DqViL$s&XG zkqMjSv|0b1;%S;Nr=+^Fdt1Onx9GbbF>~ET%QjWM4V%tvGS|qfrQy+}e4*C5B?7mU z847N1O#dL|V9l8MV2g#d)V8c?sRFF|(rlFt>vIn<1Ql3zY@GK^HEnAH8?ymJ+yT~i zFDI~ut<N=JuSwWlY_Kcx!Myth-UqDy&(6HCEB3;!wX<276Sk(mp1l6>E}jDnKTom$ zv|@KO*qfQ4Dd42JcZG@j>n)KNG`2rroh!8Gi1og&v)F<*3#2@7P8Z=_tG)fMHN&4> zyOWPN+iuaVdET1Nu;1|lo3!;V9s`DBQu-CHyvfHbS>L#+XmL5Zm+)B|I;LsZg<Jfa zeBgfA+zqWek_)GQ-p0k<Bl{q{#O=G#-OWqW8+NL#*;rh_rX(oD9mqE0HrrPbmG})s zez)0<z3NtRJnWafZ*dZv@9Ql*7uGU8+~XmAB)vhKC6VpV?!(?zvZ))6m|HXG3rWt1 zX5)D%ZC|rlel|C^p-oOP_w??ajt;X_0uTB9-l!w|pC__r^WE&VawXP9hgg{$Tz3kv zrWqKO3b1E9VC64hj6Kj}^?^I>AzR!AKeq#{bqV{57O>YnkS}ClFG^r9T)^&sBQvp( zOIkCqyKBXbn-;ZCwmTmS_!Ts1V!)}pZpmE+ymb$>Or3d8a%q0BX4q!6L@(#i-!H5a zcW>lrU`u7O%2{~C?>6i0nWv?0?>(T^xxc;sDg*y<hciESo!+mtHuJ$55ALI~*2hAX zIBs`u2`muayz!XaZH;NBnp+&sE|T6Y%gS%ha8CWsxx@=>>knu=sae&yZNsuTEz{D^ zYkF>2@-X_E`J@(>z&F><GxDbVU7XQ$X;H1@O3#N@%RaJRdvi|h&VRQ21fxj}Y(lw* z94{ywI3VdV=VJPt)iV>$?LH$Wyy2|tn|TW@)~nxP+wed}<L<`T1I@+<&q?jR`1Hd? zh1$(WEQQndT=uZG63sIDtgdl<!kj~y%TFXM=Ly?>py-O<+AFOMS3-DoJl^v8+Dac# zoD-J2eCx)mVY&>yZ?CSJI43^#YRcLxTLZ7gti3k3@tVh7$+A<|V(w=4akaK@*u2Mt zcgLq3`9R?}mRr^tSU1KhZLivXV4{lKE{Wrxte%|Fl{ln)N=bNk!qgolmKh1`N7?2y z%5K{9m`BlE`1$J{Suf3ku4rd&<lrb;W?kI3=OFL2@a6Ue$}OLCo-nAIt>F1^*d{{h z|2)%QRy%5E<b=%*K6EAN>{X{(bB@iuGMDk{Qp4*-XRoE5y<%f<J&*Tll<&1OymxbT zIecTUU;TS!S)f!@tj@jKs~6{9JHdO;FZOzA)YY5HdC#YvY<Aesx6*CjtJ6#eZ*KXN zbl{Uz<{TxL%4JKKdvdm1mlbi__iBxIR^Y}d_fK)HaeOlGKRdUZ>4fqG->JTl8?HFl zUtr}ElJMOu>HCT6zIN1(4Z2yI3%G-XzB%NaT9D&c%6p_i^4??~y+-b+tlOI!4j;VK zy#BA@5@uhfKbe<4_-|lPP?T$wNt6vOzH@TX)kkZuc=$ej^Y+gB+B=!D_g?hg4Ssj; z&Dy(HWv@rfopY-8|1-b0cP_*(5B9x#ZqvQevk5`E&tK<WOK8-uD$(efyUHm^g`aoH zx2J+rK1!qn9H=;YdXG!w+AFKiRZZA@fc5ih=by1_7HxiDuVS<9LG{rx?vIPy_7||H zmbfi2GTSV4Gi2)?RVOw{KkYO|c8=`|`(svLI%Kw{QF*~!CFe_eUk{5%ImyUO<W6n1 zQ@h>lr?OR4ZqpN+O_v!~dz#c%9eQ>?_xba^SFfzScehsg(!6KK&tAJT_fC}Dwezy? zmL@(gIrl7;@9B%X_a3ghQzZNJ_P@8Ul&}8FJ@{WotiwV0oZ$UMha_G#bH`5!vfSeK zA=5eQ%c)JDZ2h%lH_nLIb;UXM1H1p$|B43}2|j7yeGu(>@d4Kb0oL=YjFzt3v%~M> z?gcrA3dB77Tr$1&b(^dUj8*3a3adXhzTkGdT$%ff;k~7We5neG%p0vTHwqnE@YqDS zYkHGwT47e)l_#MO`C{d+KKv*BlJ9ED-fK_RzBB%KH_G>Viru^5dGDU+K0E&R>RsRG z7WG$CdY|R~dw0_4YeL<es+R{JnwRhkHqLu8LECi8)-BFI=enJ8p5|z({BqaQSDxHf z!Vjm{aj$;zVSfP|w;cn!(mID0H|52=#re}z@^i#CDykIfq<1OYJ0j@Cs+i`?bLLKn zJzvqH#>p!cQywgmkoa!<Y$a#7(Z_>=+$YtHmRW5w5&3WYx`2&Mbj9Pf*DmDV36Q;) zaPG^k-mkBD-(Kqb^TzJk+rNJz|Gv$Vzn8P`S%BWRM|1DS*uM*_`}^VS*ZqoDJ#_nw zuT{RcbP-uHHKu@l!lv(+s@UQ_NIu`JVwKEWB3;qyptz8kBR!)kBQrCjqqC#Er>!F< zEhVkBZR(V^z}SrV_=#z0Om1@)&1Yf~Ub@t6+1xa@^}<Z?%T{k*mKL8nY5tx$DRWbH zr5r4nG$(%2;mvCg?@mjde{BAo%iA^`U$*A>#IqN#E^ym%bIzvgj~_kV{BZB_x$&!C zo;jO(=*#{|Yi|Df{pat${|wArG9DWi9BgKt9vQvje3V_bc#5jk;^Pw+Id%MRTPij6 z+zFP7cMf+yne>XU^GiL)A=Kiw)O%XSjs-uRPfSz{IIt_k>dGf!skxbKOKz%qim#8o zQd9eDhF`R2)sCLpL@!@)+ZEqB$~H^s%ye7ty7$4FW$PAt#w?Xf%3gkcu|)sV2T!}j zxz-&HI~`Ve$9iGD&gAX)O0Bl$O4z1YeBT;<=7-AT;}axjcUi3a6dO5Ze}LZhopTz_ z@;$Fw_owp9leXpQu^U8ZmD*icvAMMG#jY($=eJy*JM-7esrRxMMeJSlEr7vli;BIY z_T@?H=UpYlm!3@VST4C=-f{0=jjXC!dVw+%IiJp)v*N*$X@9*e&(8T6)NDQ1^3};7 z53(QS%ys!c+axbOa<A`(X*xv@UH#0~&A2o@?vCNr3;KUrgTgcx)Tk^-@7o(39-IAF zs4ww!LGmPh&CHT%=5CtKY%+fe76(ejOjy_~m$#(wm~>%DLK~mMghDr|x&@3!yc`sQ z+yX=kKPs!FT)Eg|w_#>jbmsKAW`1d5ZEClSif>Me&RgvGC8{!DR-5X~O%vPHGWl5D z<2+YZJXCDBvZCZ-`LviOL07Y_Eo>&~DvUlRsdJdb6CY1JepL3*oALymk1K>v$L~4t zFez|HhtX-{K-bOQhAD~8-0k~Pi&x}V@7=V}{lBD@Oy!1aN!_bfc1^llI@{@T*J55- z=KeKnju^>IFP`afHt>J^RKpcr^HmZhOyX-*g|z2>4St$?HR`p0#_Yz<=vnvI-3$rd zys>iG_9M5%(h6gntkpL1M4mi9^IFP_NZt1jKljWpQ~DI-)l~C+xm=)6$o!@!DyH2V z4m!Tl($<^iv1XN&l=-XbWlmP7%-+4Rnz4$h>+?lx#qgR3E7lxR71z}|%*0)(p03Qc z=KYDKug)C3+B4ZHU+OaNT-BY-4@@5CdZ~M<$9<k&C=lf(Z*@hbO2}^e-srE>QkSXS z+Htc=Ge0{g%vWdH-9<C=Zoc(8nRhGBS|s(B@6KzHd(R)ZB4o?RUo>&vrO-{c8>753 z3f1|__iSxtk+PD||Gaimf>rWW_A|@=A3vvbwc4?`W<yc?)f!&A&3&K3*8h2-Uc4rE zVV3ymeMgN%%k^e!%~|$RS7*&@In^BbCV$>!&A2xmM>0L`FZonrQrhy@G(D^C^wR6+ z@@>QOcw*W9-pEZ~S-N}GLEmLxFCQ1H$mN;anYQ%;_ku}2dUtcb`?bAU=JjrqRn1nr zG?C^Y%i<!9Pwx9UByHv;@-P0tBvpLV|B2E<?L|3UPHKg1l6wS9#VZ$!?@5Si<C@`k zWybTQElsWQA;(uG1THNVl44yY6=D(Zc|ue?io>&{UH)+EVT-EHxoh0mwHY*DON8u> z%Xubhx7zf)$r<nXJy+aRw-x4BpZP5$^qp~8$-=b%c}uew39tTQb6dxdS952_q<>{y z3w7CaJv2S}!)F+Io;>7|9>CUE#=0?Kj-$>ci+N8zFp9G76Ko80^wNH`iN7W@ONadw ze~}wAKjYG#q~M(o*K4p@?=W~8E~b@uRL9I@*_}L#&Q%K^C%l+AS;auhm$7}e0L#I` zJ4?eBZn)4iVWN#`X<)Uph_C4Bsd{>eo~9p-<ZozP-g-m8I5*?;t=wJgX1Y;@vG;!U z=${r@&u-@Iy1T38sm)aGr!Tmr9&BLS=M?Uq(Rf+7i0h=j!S}-=x@w$pKlo25TwUd+ zl-F4B%5~+1CVBC>juNpCS-LYA`+Qn^Z1R}y2<2~F$m`4DaPa>HwP!YLTrn{(GLADP z>KLZ2nxc8uVw1`l&3BQ#5!ZyvN++i3%t|pkowK(3(WHCEmra&tgcX~9in{HSc*-VI ztJuUMSI+-<nTy)Kkjm4qFV);o=B%hnwsWa=Gvc@^Du32ptKs6Y>J1Mq`Xvv`%(IwQ zr1Vie_Rr_l`7JN>PfeO)#L-ouxT#<3&!XK^4_%n}^^btm<qk(qy=4<uzUqGa<IpPB zi5t>ZEs9ccWAbdZ@G5#H@gz*!%Zq(#*5aEBmdEIAQ8>Mdt1;$El6SqOi>95R+115i znf+bf`g#6&_hu{YnHM2xFw=jzp6FU%Z{g!c2M(&9+1T9wB5{fForgSS8&3WAdQ*7k z-nJ$4gCyHDn-(hOeo_nm&3R7!(T`BW6)6&pr$n-^F`hfQ*Fb26!OEtrij6n^WTnl! zEaYLPx!Y)3m%fI!N}|b>-LDxgWP}Q`d6ft*%Hs)FT_z%9#1lGQI<G{3(}~ww)6zEo z>N63!#LCwG&QLe4Nqa?-QkMTlH&vZg+MN;HYC^%g^%mG|oMpE(P3(B<ZM~V_W^R9* zslDJ}tN9T@$qWH*qkk{ktt%Ebl!+X8UlhpSpmo?(ubcJ2wBl<C4okI}!sc(9@r|3S zsLA$>z{M!rqw`;}o|CsQ?*E$-p4fLyeWBcu7w?sJ^ZvPbC{dnkK{|`b#aKx<oq1Ya zEVlm{r*DkVa9qXwQc_sVbgh8an(_twLW?bzc}+fl?9uL|rQN~0S5|Q@50+Y$ZTj}% zl2sO$SKDsP&U)n{vfcke*uGPV#}3c&n6vOiD#MmF+^SsPwz#`Imeqc4HMOT)p*@&! z=^FFbWxmNX8v{ePeOkcycw@Zdnnmeh?W-cpjSnwdvsvlLxfOaR4VF#xacGi!`SwEZ zyy}P3t)E0ZFPZu{UC(y$?B9wXjw`TjIho7VEZTESXHS6lymdE@MtQ|A>*TyGrY*C~ zdx^=HB@#(hiMx(I+%##qJNLTmx$n1b-*9SvR}jCs%=bJNmI&_?4_e><(%9K(qg}qg zv8R}6@u^9kmPG=G9sY0jtCpy{&?^5=lkef&72?0_W+s0UUNkp#_jE(y17|84cAbjY zeaP|)uV2yhJQme=x4tEom`OYB&Ru;WJmyxJWUBhj*1M5mpF|xlDLa4Pb^GtTiu1eg zeLweo-|xTg<9}SY|36b`kLbJ)&GvsD#viJ9U={bVBi`nK)Ow*4>UAHcme)KgkNpuV zeDCv={y&c-?+aO<bP@c(>{W4ydH<#Ed7r~4nuVwJryf3WPs?MO?VIxRzwiCN_r1gY z&%9F)+J4Q5Fjn>}U9o;iR7K#Pu1M#)tc#^d=XCCyU0HnZ(~|j@6_xDsPP%XOTbbS> z>e0x^v!F3o!v5z)?t7nR*8hKM{r~4L>HqisO`re&kD`9%!FIcU|Jy5>JSq)0nzOx- z`7pUbY@_hMPt_ZbRYr(a3w2b7iB(N`P$kS5BYdNh^@}ps3J&d!c5E{^&QIhpDl~}t zZ02TCm~G^n!c@DfC21a;oo`B^ikTkw(IovFL7$uovy!6?k1`itU}K)Zt}}suQ&{NP zY1P}*vzcGiznxzBXL)__jCv-E$|>!wj5jL09#v^SR5vQD`eW2q=G-I^C@gW2!)zj3 z%LDzT&(&FPG#p&s`uC7f*`(ILMosIsS5It@d3)HdY(wSlYdN14vhyayEV<sQZRob~ zJ8P0+a)6QQePO%JTeG%J;ZOO%QP9Cr=Agsq%9f|_pX1;G*8A!Vr3*R>R;a8i>{8<p zUUDL8?b776VOe_5^h`{X*E)9W`q8j=du7Ov?w{tVK^zUe?XAHc?a@10^E2AxGurbc z+N&gbb0vE91Ut$DQk>nZQY!=%PxJ;>)axJAZ(;X8cZt`%Tx{AS>v<cL?rrEkyRGkS zMPJ87{=1t3BA+DkUbk7I%23Y0`MaPiJ3u<EfQ@md-NXm|Hv`y=1ijoAFxxKV_jKsW zTfpd6z_vt#J>!5<(j%W8N3s^FhD?`8e-z%l>_heU<Bbm_TBmMjW7Oz5l+h}6qdRm( zz5j~drUf03UbLQm(aQ3p_08p;a*j5qn?3&y)z!Y3)RZx4_w@fPd&_;*9-2I_P<k`N zK1oeCuyShh_YQXTXwR#9hfI=h9q(WIoX!3uE8|N3B8Lg-3mC;e2(6znq0Wiz;RB(6 z9+ERV*i1gKmMrM_x1!*Map&Y^x-$a1Z(NGf%ixvjsC+lQr)OvD{TWl{l(+UpPVT-r zqt~+XY->;Fjo$K(_O8sy|1V7uh;W#EeDZwt+_Mi@KWynfx}iIrQB233?dc2A*E9M~ zHcsu&NJ<hmV>8dPo>92@EB_=9*9X%Jw(ZchcMW+W9Ab2%X~T<x8|{VL4v6|zi0XD$ zCP*|H{;YiPW9GEVnG6=Gd?(tw)U#d7vafUGepuci_M&x`WM4c-(?ZMYUEBXp*|}}j zm(KakJF4GTI9@KB`jKNn;7dO3AXCAGP1_}cw?uTsF0tm_B{4B{&iTV)!cyiomlqtZ z<lX(W)~Gc}z+AFjvias@UPH~vPj}WYcs_0RkGTuWduk(k3|3aUMb6Wh8MAx(yc-!Y z6%rl)k7%?lpK|Twj9D{<8a-+}Gn53c%-WbaSKvjT6ysDTsin+TN^^^v-LA~hTv51W zV<FqAEQ>TXHZ6e*>75%`lh>6dyC0D{-m);7Gi39G7PXZvf*s}$E2@+v+Lm>;8=tJ3 z7&-Hk_!9N1N$=UKCzkitcXWN?oKk;k?w;c-wuH}Zm8dT2S`y^7R93nF&%~8SgiTV9 ztvs;#e{rakT2cV}n!=7_V(#+=y;x@P7JW#~+rT})k$dN~>}3%(7k4g=-YKx#bk0r| zGk*5Yr<1)ClkF_ky7!%Q>AYF58C6+ewY;W+-G-}PgR}bFt?rN$OTK(x+*nmv_JA$* zfJWJbd8rM(XO{|H`%z!AYPmz#BEN`5%_q7=D(3r@&AxfXQ06jUU(rg%jq87}TKUf_ zaIb^uu8Aym7Z`;%FzX0#7foO-Ghh@yz>sag5PyMLX9JVY0%p|@tcecH>;a4=4a~KU z3>FD2K?bZ`2`n7h+MEI``)>Mph15njFSzdBsXxv8w}z_Nblvb`AH!%<*PAm87tZZJ zzGjYl--oQl@2&pxf3RxYxNS=l*OEQ$+2&RyPq^mY^k~1#wYB!ty5?1Dzbu$l<kTTp zA~wIO<iKJ}&xtFuX8Q(O^`ALjV=TJt`{ji;x4q>p?Jn%JJ^Cy2Wpb2>m~BFpZj<(! zDc6z$EP59Fthh02Yo6(9Ru=y&E4O%^-ttkax+sc&T6cAnH~)m+YoBmctBJ4EG%T@u z)uQJ)Yg@VR#MevK?C$mx)1AUq;JuwU_w~wOtF|34o9d!i;HYA2%~2@bwfgLlg=c0i zeKo0h(?*wXFH}Q6nF*%5SZ=E^coDU9g>A&8MSWSju0&OT{kdz?&0P<wcWyObxyzw% z)ybkSnW+ic`{v%>JA1aM-?P2JrvF1fSnU65z3pwr>`O-bzj3Qqg{S?Qwf+}Z_>Sn6 z#!IHk{Ip5=yiNLL(?cbfb0;^?**07G*Y+r>HHyphGJ^N+n0PQtc+OT;+r-Y`ec@|W z_w2g9W!9wbl!wy$K1PQ=-LWs>bkR8_b+^|`{L&6z7ulwplQ5A%>tw=gHk%_MnM%L4 z(-^wSB`=lttA?@J^e-sXoTqSP<xDZ<hXMhcjT;*krWDKnEn{ThId*x|QSP2S=~k02 zX1bo@o|G0OZICf%zFYLWU;7qYuH0R*@AdAMvNwG*R#$ITKkRe!@Vgy-pKs5y_nF-) z(?36GWls0X*|Yo^v>gAxJW;>>$mZMY)4QiKS@SUq{AaTaV6rq|4SvA1cn-4#1Czo8 z#>57;;3X1k66d6w3Hbe))hRgbQnhK?t7ASYF591)9lPzaFg0Y^f*ooz_bz%l<uCW_ zht-;EtgBa9uI9Hmyeq@8GiQImuPIZVj@+8Fd)}>;GuAlt_Dr4jYyJP#2G8bfyI-T^ zcR4lr4A)#9CdUU%kp>J7511?uFo`Z;U%BVhQw8?<2b2=d<o}r_Hhq@Ffh*k6r3<+> z@~ke*EI897-&J@ib8n1ft)I%lsoR!qS8SDz2%UO*{)*SfPrR{i(%F`9@QfeV35_?i zChs|`_x93#nalV7T$=G~{j5{#pWQjKz-qzl8s4uxrxwp)RWM+6Ft`%6;6E$l2F7fL zr0Wv`os>D<9;hr+V9(yF^fHV+N=NHQ0Q>&W5rR#t-Jb4Iw3#877JXAJS&nDX&Z&C} zv?on<TstHBlIGmw1+zqV{kZt)cc0&?B^tIoPiI`O%I)*4QA$01_NLF&F9&yR&D?f( zje(Wzjj37t!%m)HopU7W<en%7CQAX9IkGIl2N+@tt}qJRikdL}YPI*i(@DnFg{IPn zq&a8s>a01SQ+M?C!Y4@~W!~3hq9zsC?mN3+30vBUsyAWo%l4|*obmN;)a5y18*|uH zrg8Jh{eO3!J;$)SNcK*!*S7vMH`r`W{`J1xviGFJj%#aWrWs$`Y!e}8Y>^dMq<gV? z&2-2AX1wm*vd8tZYeFv1HWSJ?q`dab;j`^GX0Kzk+tPA;ukVYC?0MIJ?^gO(dw0d^ z8*e&Jl-E|DeRccl$_E!e9q!OQHz(`HgSmGn_}u6};dA`@ru~^dYf?LRPCb2uYsYq< z<koIi(LHl^b4qPkcyX24q?^u?5_UTq&K~DKG55*tMjxv!{WI6@Pe0RhYfF)?`mEJk z8+ih*XkH4AJFY!<mgbrpK|jyO*d6(^`-Um+h6TG;_Hl5{O=R;-VB=cASg?R0{s5y$ z0(%}Gdw~P9$b+LN4s6Rd<&Jo3xKAK$filA-hgEIL?63c@M!c0+p{BPds&=zz$k&J& z%4yA!lXcHzUQ^1n+$jCu@r(9Nm5nD()y#JFIkArW5{KPWFNyUo`{tjYw56qDpWADl zKJK$#+$R!$KYqx4B>LS;!MYPm);)A#T&gR}`?_ZT*<;uJyp{%ed9RCMlls6~aDXx9 z0Mm*$Of?UfbS6v}DDu|5ck151w`>dNG`*ZtV||-v&+Jo|PseE{P0A>+F+aC?&(p2d z=YB|?>(aToCvJcIy+hxBzie6ae(me`U#yR||9yD3_N<BQL%-lRfA3z`mbu=s=f<Q5 zCMN{ErZhf_|G-dofJtWoyQskxg$AY?1{N`9E}H_j0tNO8m&nJC?9B(1B67P53K&m0 zT@?t@(9(Y~{{y?o6O|JS*ycMr20Ab=pYfkfq{Z<L1CO}C!(|WHnitf$D6&u35Me3A z>D@0TCMhZ!|8dz1WoFjn0V)>-?$(+tlV^~T{HJxU;`)`ZdGD{xy>UBdy_xKz+dNDA zYIpZ8Jo43UxBr`mTkgC(X7_N1U&oH`XI9+g`K;kw;J|9KfI;&Ct7rh@SD#ZR9~hD* zFwJQZU~nv*wf^T;UxAG>0yYW#*~*Xgo;DX*FZ#wM`P8x8*!R7_s|6D$m3!a$HbL<K z6Hmo1{_xD`-zC!*3P+tYl0ElQV)o@XhnL(t?4P&mRtLv~(hIGzmTXD)(zs^i-r6&* ztvf+C>xkrOzTS7Q?rlyFzMtT=cUt4E=kg0DF;<i`F66iR|9f|Qx#XkYmGdn>*8krU zzipzF+gs3xZBt8gTTEL<M@Dl>T7OFF#PrslDQ#1xPi^X%J8ynQS|8Jr_@zshGc8-O zdesUh@%3xhZd|u+>)JKzH*Q|CXWNRc`?iU%-oNb7;SGoPE<d|+$LSL*cU`)&`s~SF z=a=0*u=2+3^;b4MIJfQI!<R4Cy?z(};p3;zpVB^l`}W~S{Ez<MzZm2{z82rGz`l-I z@Zam_>lZq=_nq*VqOr2)s7K142%X6<dEEQb-<7=iQTW)+TFJU=%VWdK3SKcLiAgOT zlh3-$aZrpp;xT1r{{DTv++pjY)}=nVBKkFqFZ@Ev<)TV%DZQwG><!DFX{GgP{olCm z{EgPXqHE{gEPiokuI+cfQ1hyS$LET<r$0EnyF%UV%4+fT_xCq^4(drMdMs(49`WmA z#-x<fhdVV3UCtDKJaKx4J71UOW}y{MbHtwV<Yq2gK4;OB3CwKyO|P$SNcP`w-0P8p z5ywN$56@5d$OhR9+cD`GnA<Uy7JUDA>34cy#`2cX*z&L1*@edzmG2d`l?i%(Z~Mu` ztE1P&w3VxNJ$h|ykZ<ws@4@*mjFW0RJ@=?gToRs~*xe)gEh4c-R6|gvCUVLArr)_G z$KCr=)gHF!Wjb}FnU}V4DjISgy4l*E@#3cMqN&qPbT0UzA`%+EBdsgjgh8<_$L+<p z5L4&g;Q!Z5&DU-7*4(Nh{KWK`!QwOJZepBM`|n5|o)WZcim0Dm{><=xCw@tbi48NS zTwIi$Hs#6;1*Q|vW(k^lJrQ)PQFU~y%TL>KKSBIr=Eb^SFPE#%E>+_QYG`5nu{8U@ z#3#p_V}fp6^q#r*h=%7M)~rj@ME`!jpQ`FwF|)(?>K9MH&J{bP%yjD}HVLllJlM)4 zY%_r=XUoR}uI%DV8r@_>I1VsN#T7hsm#V(8@sM=7iXpR9%7url$^{xu$E4#g2nvhW z&nR@0DtI&Tm~6_GMt4aEF4Mjsci*FYeYX@@Wp!QVar;C%`%Qi~;irK6)7+msD<^t( z{L`GNyiCH8tCwkk=Klh%jA@e6vxE(Lo;ipuUHHO7Dbgx)saUj3LSh+%#?56Zb1WMf zCI>i09%D$;(L5z~^P$^u#=M%$W&i5#Y&<R+_Ch0LZtV@t^PL}5w03W<`FNlwT}qK{ z)rv#ALi^U}Xv$u3mr@lAbP@KP*8i|_>Rh8c5yEjhz2|;4&GujSJf`^5%tW;ucJsgA z?&xXdEIU}i&BG~`xx?4!{(_Q8lb6qM%&2Hl-&xo$uc{fx=A}RVVcWx0n+i5@MRS`? zlCn-|FQ=98O^cVz+yCvTYg|Ih$9j>E;xFB5);<6A=C>J}P@`z?x?lBG&t9gz5@pqT zwQEm=q<H^%M_tjrn=6!3Ez|p>{(tMe$9nV3r|Y)v-XXVA|N2(g_saMmTq>g?Q1xq# zxZs<3gR=&Ad0(6L9j=r<Ge;ql=hlWhEp45*s}yzxq&aMwaa8hxa=VpCnojV{sXa?d z)(bLtd#TO5ntG^#bBm0-g2imTtuBrKe+JFqaqc`b^P%e2=DT?|J62qZ;7~W1Bas$V z#1?p9Va`5@+dB>&UH8Oyt>()^_sUj%bY5Su)as7)>Ap?HA`2uk-QPXx+O;4=rE;cY zKC>W4WlG>uoxGEBlNAonIu$bSuFMnf6_1YR>@hJ4y6`?>(E|^uQy<)RJk6~)E$Tb? zfZaaS=7?^T%?$bJmkk0NPK9N6CC}aRLhREEx8naQ*3Q3vU6j6bb8+UiMQ8KkOd2n% zw)FhZ4xDi(<5<<yey;<CEDsK(8hq*$H2<T)y!FBYcJZ*3il@eLmB+$O)tvk*{bafX zHi}PO-O_ITN=qne-m$&OGmdJde?FyOS~9mlg{P`eT7KoZ75#xcK_Z`|#htj+Ht1w+ z63MU%z4zzDL`Q`VbB5bX<li$M+qXa|Q9`m$=bZVRUpMuq>{e`+zwm+mz|w<Z>~C3~ zDH$Gj*!Wg3De26tABTne&s>xY&5D|(Q*^XRG-y%y8x>j4@3R8A8ti#jvTL%oZT~y* z{9>J_$t-(6%r0Eo$QXGblW)m^hIw9!?3Pbgs_Yl&p8umwvEj`BM-~Tf%C!DDFZV&S zPyFlzE031TGp?QV+BJzuRyFQzb*l1h<CZP!<bPfg33}VAaPm5@=+)yq?|tT1U16Ki zU~yzVfA?aAD&ecUXMCQ!;)KWCQxn!-IeXRN)#l*$lO6~~8!|0qpDMwAu;oI>$F~cb zot;H?O}NnPc5tI~Ba55d>;RKJ3xy~8W=Ps3YMa-*<Yqjiqx)asq<cq+1p~9hv@^|i z4Nu%==PO3~rWOV-FjC+-;rmXeVb<k^&pNtJ&1p5;w0z21&ZXiHJTD1vo$a!^aqa4T zIoAyjGcC>d^M20`$;iW}3>u#7`o8xAFEg{swR3$okDRI-U;hlUoH%va<~b8LupIj@ z;XHrmx6A$Cjh;JSy59CfZ93!IH!ixKr&&F>xED|O<0*Ihu>Yeu=MJ8H>U8*23X91U zMQ(*@`Io~4Lpu%DPI?%f%<DO=O>fG=$tfB)I18P*yeBPO@7CJx%)LjPdG>pSxPo&! zd0MS=%x>(>P0(XjiQHg(U?HFJi-yjZ1*v*(DlB{wx%o;vT-GUa%DTmzE?v7QZHY&q z&aEGcmCGfTE_L~!aol&~yvMUyFLrruXUu;3`&6a>v`tsJ%N<yBgr)tXpA@cozPIC7 zo~Iupi{eop4Gm>A8Joj*9F;BeH1mHXKl(j^PjvIe&%FmVH^?uLI3nPtd*6dy@l4SZ z{wjv)-4_i0Yh>51Oug5lq0{Ry`@+1u28o+jd_z>$>)-iuNt4e>V8?~NmqMm7S^MI? zPt!b8-f7--YcZS1exbAtb<@w?DgA7+QOLG+VHH#6h2obpzDb$9k>srnEzsQKykg?T zXtN_bul*0weC@ZTf6Cj7YkA*ZJn3GNWBH<!Wou4pR^6I4=6@YSRoFM)3h3R%6UaM5 z^2;1n#>>m*Y~RV!`Y|?XcFoHrb2uVZY#*_?#XQNs^D3>8H7U{aj(&#H%?bNO9v%v) zxLg_HZN)eL_TCH={@pRIZZnpi6v+$<Zg;rzDt!Ku(5$wp8fo0G7sOw_XS+R-;l!rf zcTc^%9(HEgo9eoJagT?r{r@L~2^ODGsh%(M{ku`Z<+(dzB^SJXprdeN(tI7~dB6GY zn-z!^q)W64o>=hQSY_?x^oW`oNry*w_ssgJkmt->+f#A0*=}df2`6us@XbC;+GL$y zRb5HrkKGizef5bm^McoWdnWtq-x+(S?UOIr#;x9J{pu9UKCL$qLHp+a+w1t?t3|t0 z&U5?!dvgzXD%~&mD>8l0mDLJ1^CchiGtOD~d*SuN5~oc*iA2lgvo=@PGzU1}Jt6=1 z1h0U~n*RR=9*yc<3{s{~e4kD$bzaD8)1bFvLc^n=yp&K;7na7v?P52N=3RAh5k66R zZz-R*3g2^~>Qm)vJ01Oalo>J<>RwD|k9+oCW@TGuacRL-@!aME1*r~2KSlheu%|js zU}c`b=DCe4V^QUYsjS6ExuzR1FdtyZEy!H7ylj18oq`z4D?tNGj-(9sI@ZsXpUc^p zCwpnOa+$73znRXtIDzfY^EelaRtJeTg*J~Fi6!SQ@|`%uTK0jpeuGZD0dtuGyX*(y z6GB{*oh7s%u*W$t$GCOmJz(9tsl85t;l?H=kpSgA->Yp^T=`Deh^@$rm|lHAgy(pR z=q`7j(~EPTU*i5JsA=Ek^;y~c$hPuYaTdnp%o%Kzatl4vW+cTrNN?vzy1(74S3riJ z)v8LRdyj-#<6|M_39Oge>KqSvOkSSOTo7d}R)4YVzeK;1q^BEOI!CHdGv|`cTv0db zd!IWB7&UmY@$E4%y>!$$<!I;)$8>i^9@!Z+&)Yhmm32M|>w3r*rchyawb=9n6VD<8 z^`w&g2%+{BL9GhYSXK!1-4KsVxgo_R8DG`FtMQ`zK8MHIi-l&#)wT&{h`)^E*}(C8 zQ*S_6(H29-7=`AE?EL3vBxP=pVJ@z}U@k1<%H|{yAE;o#R8kT<A*q-lrP0yRP&rV# zq{Q!gY``M1q+r+EWiIE0&C(V&UY`~#;4yW<4!+l6rHd`5re0M!m0ojjI^W?No@y`S z!ZVU4I!x{r=W>w9zj}kqZ30Wu54LG7T#7H_F1pKqV3;1L@xPL3^7Ip?sdnisaSPIm zpD0ScoX$6`R+m$z<E5~}iwRYpb!iSW-<h(<D!9oU6zbWeKPx1uN{prBxqC)Io8tin zM+1iDujyw#3g1#-V^yC0MA&?*r<eXxlPAiv+uUX^c`%#jL_=HJ?CmFK=cUZqJ9GAq zopYFy=R8rKv&VDx;hjND3T%gd2JO_GeQD?Hqd#ZsKb^h$qe$p>UUtW(6^CX#l3>f+ zsit?+U`Az?npovicRS$#wsg*_;xF9~pVvA>sC}C@??yR$qshb%SIs47wq6u#x4c=; z9;M7(RqIkAD1UgSd1c>UO#@Di*#|S{NS<QeGP8mGaKkytMJp2KE_t$Wy}<uPw|~yL z8oB7|%!T^578z8{-L+_;y4PI8tVPE)7e8iLyv=j5O4nkZA9E5DRf00PeoPM7n&Gv| zfh}`EPi{e5pcG5c1=ilF*{=^zXMgTC!<@nKKz-mThMgMbztcjQ6z#qrk@5evw0CE- z%yDzA_EshVR>!HVWw(NDMJF#;^I&pji{o1M*_BO7m8~Rex#iX1l_weQx#YCnN-3W; zYt?nRyf5r+St}||F)%Mk?3=;r`)tM3sFm}6tt>kgywbDo;gZ6X3#?umOLH4mo;W14 zz*1tOyF~jz8Ov$PXMfIBSfzcp(%@R=;yay-?*HWC<XEI!wRnlbnzNmY+O{pUmRfT1 z<(i|j{;%2HxoG#P)ps&y%imgb%X1C4$858z+#BEexg@w}9TXN#og%c<SaplQ_XTY~ z6B4+t`93g7N~y}3<0#zknw_*|-TfEoTb@Ler)M`@=6H3{iuaQAf=3daCiC-33?@!c z7kOn^Xfk2N3;W0{Ar2?Ow$hDEj0Qft^7&o;e;p~i@j-avhJ?)z#3ydkXSrszq_|}5 zhPAgd7pd%8tN&__)vVQRVr#UQE<Db)_{y%$cdO>!mYlQsXVA5*IS#A0?8{sfpuJ_+ z$<-2GYwd1tzIW3l{j02JW>eDw_RIyDJqo=ntlK7}a=uXZ_j1$f-NN-hp>R=ZN>a!M zH6e@Tf@+(ybeBJjV0ZnmGeI@_&La7|0~WQ10*`e>-K~h6wAAizf&Ws40x|d1Q=JkD zLln$c%6w}S-!(BoSIOh=Pv8Bl+qZWmOxPgz$HC}B$%ZP^)$1N}d{xcVWOXxDU3aH* ztyR~S8?P37Wp8y}HGALewL4at?8@G9BWmlm)w|WQ)|{HTct7Xj?XMR(S}i_%dadrP z)hAA_KBuX_L0$h`3ilGxN`aFcHp@zCei`sbi(EIcb8F?7E9NMi#kRauYQZJexVA#e zGWL~6qlB+TK3Xj<7PhlUNU$(VscJ)HToM0M$2l759w(YM*%f9TO5^WfH{^d5z5C;S zAsM&EN88>OyRCA_=vOdk2~ulx4ecoZZ}(+Y{4)^^<&Wy(iAky-{d}jUWF6alBYN>c z>BaYUuHJR>@Rg{o$A8Vacypoe?b+9Ng<YPx<?_zWS2)*N#cbWzwf7YF8i}gC`%kYH zjhK2XRCbDh%ni*9{jK(Tp|d{)E9dP#pqE+b+^(cv#M$?iZH{PU+@<8E;z+YHU8d}9 zE3eAbDsKNVA)_>hV`b@~qmI(^Q|9e?D7eu?#xBr#LW1CjiPCG8{ns&Ma2QHBiES48 z===1hiM-FQ7tM#_56u2{SYYx5qYcWOYQcsqV#X~`*`1B;?Q=F;SZ@uSb7Xhc;$5Dn z?e8p7J+;QNd+vdlJ*QS~zMgsb4(Ga{H#>H|I<2v4@#&oZhwo~6*c2F?-PV8oPoCfv zPu9hLH!Q_xKXKjAa-eOCVA<{s3z~MEnB;MM*^W$u#ObcW@e^43zq8MI%Bp@_z}M9O z__88)RnEDhtP0U5!Wa3kNbovR=G517vR|fh_0tn}Y<@D&`0wA?$$nf$cNu^86#m!M z0>L}{{ip6!(3UCS&ieN{-Hv_riW7o2XKXThy~zE|>Fd$EeeSG1a%Pc5^%?(|wYN04 z-jF&IsB>g{=V5!Vy@zHkx>|kMY}J`tRfiAXTKL3k_mL+&YmY2_^vHevg&mPDPG!F% zY%)3LBxr9DEne(no~E!NVeO7@3)npiRGqE`W^9#NE^N{N;M~<k{BohYj&J<WFTN*Z z*=o0mvvXt%H%M`FR(=*ctT>yijsM&4_4(2Ke1WRJQ{0w6wmKJhV#mjfgB#^koF#;{ zx&9qI^sO;BjC<XV(?@n@Zw;xQbK&K}9j|xnUv=1f?V6LfF7L>^Eu*#A|Mle)F}H1I ztzI9y=RoFGhck=swfSs2&X-YibM*zcZ3UjQjknKoD#^4xpl|5CQuVmwv8C%51}a@P z@#~73b96$|g6(~(^S4b5E6y%XolxGzz0G>(O^u@$7jm~8X}huf$cdJ>`n5_aoQ6$P z{_gZ#+MT=AH}y!^p(}QL#cFep```VrKDYaT@WTsom-mT25zM=E)P9<>ne-W*Uu&Eb z*UJA}?IHdDwsX{CrCqDnuU+IccZ*NYo<ncW+^gEW`R4A`y_*BP*X){e#pG6A{OA6c z8@wOZNdKE{oM3z4XIH?IrAzwGocCQSU9DnNvBWa%z^o+>t1EWj+jOk>$KpEuiEOh) zBWH`URxOZW|C7xBl&k4T!C$q`H4dr;4PAK)^bL2Pm~JAVQ@U#@OUq+JalY=k%NG=? z%rQIT8=5okxr&$_mz@17hpH?m!Ty6nqKt=i1LJqJT#?^3_vqWxM!aXNe(kZaIeIu} zj|tb3Yn(?sxbJw{ZoPhM;St|6J8Lf=^<8xA_nzR@roriHzu7$2HJ|%5``nfzQFB=* z_VpY(Ubrjanw_qZfv0iChExBe78C?55{Qh8+t4>*Nzy&m`A3u6d=4pwDqp)}_vrHc z%sI)-jxxU){kIr$t<Ma3@zs-KW8!bMb26s<cVn;a-1&_2@WoGD9*S$8EiFl5w!QyL zCxACd$mJ)iiH(Sl?Ut=;AMLAMb5`fk>8iaaPv4qjw>9L>+?9L7EdFe{$GK+9+?Pjr zK8E}3IduA^yKjbTV(D>TF8O3dy@Qh%T=bj3x~*W=rNy#4Ba=@2Y$yur-ClBf`-Jp> z=e17kQ?0H)I(M_TOtU+IBgf5#?OoHll`mX0PW%&N*|GD$jAZ=?{SC8j=AX-1l5}u~ zq+g8IA%5n<MNgyUVho-hJQ1>qzfH%!M~46R-2Vz92Xk&+*t|{hinFY_@!TUPJ%8-F zwRvaH>`T?NuXo+zlKEktb-1Q$&Dp5T)qD4(<gj@&)qHx<x%30)OQ|>ESzmbXa7UT= zu@!&MOR<Z5A{Ldm-D}?6*`^J~71wUcM$R#PCc2kjXR1L&we+F{vAW`en<rdgRCP-z zk$I(<dA%=4MfyYSM!AW5ynTMH`!gk|TX(v!N8{H=&zPO(+--^7<9IPAX?2wQ?vUnx zkBwqqJt}##{@?5MCB7l1`?ml5=znX|fq(2B|2^0_n3|fK<6D{9I$FAz#GCqhGSXA0 zq?c!8W=xuqId?{COMKg+w2t_+Me%M;E8LcQu1MRoX~~k5l*#|ocg>!)H+}ECnHec= zY3Wsgb7wA{lNlI$G9z`{;^kLURxMlQCd?$fv?)Gy#p4w%D;6!={v;*s?Uc8hQ@6iP z|MKqRjrf#X9h?7uWZ0y{+<s+E)Ju`IMkz}cGK9DKaTZx{BrWP}R`V&ialvDE@Vj>n zlQX=<W)|MKrCW6*BV@;PaXqJBk4~sAp4}cHH|ykzG@m&(soPqPd`?|7Usv2QYRZXa zii_N)%jMqEczJelbJnJsUz=Wu`<^=FHEU_m#N8@>`s;)qynC>#e(AnHOw(TWE;Bw< z_3=~5=~*+4&NlE$FHb+fV6uXPNvAyM+Mb$CJ}14H-Y?#5-1MwBMdI`mNelIt6FvWL zdiOZ_c!BRa?&IrcHC(8d&x?_;yy~3GEnhUd_V%5_E$d>|ovN*VYu3AS_g^=5{**P> zmwtb`y7_Xf?8Qavlb0{AwJxi<mv6W>szd$KBCkTNN2@qiU0WJ=vUusLt*@^Im@kZz z(ZB!i-)jAr4|z16`AqOKeECL=!%X++<9^T28D*#S4{@yMlsl`D%$|_=_oA!R5tAhs zJKPEyryHGjdDw1Qc=3~h$BB)t3Fd86m;~MS+m;2jsBLAvr2BNqwVC-LTZ4LC*;XzK z)7mkG>0DIK%WW}{w+oa#dV<P~Cz;>TIWj>)x^i*g6x%rAnT<cr6uTuY?cIFdq%&|k zN5$JS3GA{C|4lqO#XBZWY?D>k#kfRVFidQrc*%>6bL(3aQbYY-mp+|R`!$et@)GTx zTju+IY*iBVoA!@=L2Yl0ik7?5J&$MkIkGP<h?`7fIv&4k&clW3RUakA)+PBi-<k0* z<O;8md>IqF%bg{MFKDgZ;B?w<`Hr7!G~{P~x+S@I#>1nV7r3b%bGcCD?O}ebaOIn2 zenq#m`g9Gs1EVM2?3k??YxFwJVxr;H6VW`2%Dk+t?_IvOW^U%U^^>&Tx~rF!9w?lf zl@jyZ;6QFEdqL)phV)f_j%%lgRR6JECD$;!FT7}Z#Km&?I+=9WRiU3>ZV{T|yHR3- z>BE%Yr(-e-7V@Y`rb+l1W&i)R`Iei9I(N4F+<>BhDRF+Q1$L}-;m$XE^`ZG}y!_kb zplyokPBBh`ow_*%!RtfwH*IdY6kvAMCGDmoyW7w8T1#_MCTy*7o|CT=ZT`$p=>yx9 zYu1YbKONmRf$Qau#}nM&1qEvT|9&s@!_FF`N+afq%H^IjpWlBz`+E7x<8#yQ3ElL0 z)V)CGD8tIvt#ki8WR;X}nkpVU_lC22jQYtm)$6PNtmsbOx9+s6ePG+mH=7$)f0Nei znfR5zK=|#q*EzDSGqsAs+Ul2XNY3J~`*wKc+NDK&Gaq_s{&JD;zuuwpur>RhOQ*i} zt&-ZnWUZ4k7#=iCx-w-k&-UV|$bj~#1p)8=m%LfXxx{VRJTKd%;)PX`O4EX-eBRNM zI<1NSgxZbC7c%+O44Fkw+bxs+7Ruteh@r<;Yh(9rpGPVQ2VFL{6n1a?;U>MZU}E4a z(Pd&g7xUccYF+uFoG;MRtMf%eckUmhneTc%yk73+eRacCQ1fn@bX-k`#HJmy`}TZr z`}E08`(AoS#h&&0woWeATdtS|PH>C-D8xFesMtcBQLkhDf(R{%<2$EJ)Uj1;eo*0J zzKVArkL^!O*_BojntxWDn`Fs&^I6#;jV~Rif-D<ZB#(d5_fq)CXL_bZx?&mU?iYHz zF&&3yZTPCKva?@wQAMcYJvQy9887*IB#-6pV_mxS&j$IM|C76|(^9*W3{KZ>z0*FU z=%gxZ=w_u|jY4AL7boh>TRVHzDK(3|OI)*Zmr328lyo&}tB&N($ENR$TN+OtSR)_G zJmI%PcZtg91?(r2qJ8G5aHMWCoU!%!f;q~eEWR^#d36~~mebCt(b?e|(6^z9W9uD7 zGtEtcZi1cGmt9r$Sj2dq2I!o9a9pZA*zQoOU{pk~wE2+)w)jPyao-q{t}b|@lpVsW zxM9&z#{-T%`4e1bMFn--dNj%B3a4OcY>LY&gHLv=$|jc{WxTF1k7a$2$4a-!mx8vf zF|(+D;G5|8d1b)*=Q4#ld@{?l6Ic3WOz~>cS@%ElLD;>?j+acm*1g)P{eOv5$4Z{8 z0F54}$R%8_R{Z<mA~bn{;{1w*(_>%u31?5@aOKKcb!5S6&25THO?FOnPi}CoJoV?r zwIhPlRU-Y3a=m-~9WRS_K6xEyADT32N^01g&`C`T1GwE*m8fbLu9Utv+c)M^he`U; zT&e39A{#SGy6#kH&bg@^{r?t|m0wWTg8ID~^#-g{r%P^Yd7i7W?856<btTokk&ZbW zH<Nd<1&K^~*s(@+!VC70PnuI3KeA|iFzruD37!4M$0y~nxTLX|dSpPhXymyB_Tz!U zea|%JwPc@GX^?%RE8x87fP%<`thFq&JWV+?f3*3sbO+bAK9DnQSDq8v^WxZ(Q{mjE z|BD`eyX!qOcWzR)V4#o2R^>TvQ#%wmZcb%)E7>c(IK|1DOOre3XlGzr{*6b<5%1Ss zSoGxQl+Z7S<$tYPV`nynMb$uYfytXg!lqB>1ujUvK4<P~$5SR!q5Ir#&FWL}U2tG| z->(@PCr?l_nYxnKDyxJ)tI=X>Yu@c{C+&y3Mcq%P$)vB^RhcZP$z;hRD7-VGYw7ll zuJZpi+qHN?I^@NeGdZ=6Wlo<ez1eqT)@3CQCwq;HQwsu8_|Nvosb*;zN*8TVe{$v6 zx8jq(`~>!&Yb#RH{FO7;BdL7m4@s$n*3D9m(`9^~=6-YAEAVZjq3nwV%1z7I<&Jke z(|@{P?L)Tfi~nC~*r9OqRQQUY+k($N)6ai#ZmC&f)*SVXn=RI?dzvG*@8usu?%DSQ zq<^o=n4OdLcne$KkFe{)=c8ZEm@j$lV?o-rLyiV|w<cfitW~Z&;j}J%-GV<;rYzTa zwkxbMl{s}vqW#SizDWX$ie+6|8^5uixv+csx)<C#)|sg&<(i~>tv;Ik=HtXAzo&(H zhVbk$nx^OBe|mYHWc%FfmsN#y*UvBGe&o=h`>=3hNMx+a+MFYv%5t;6Mqkbj{q@3U zV)~^vU(x+P7ERSq{&#otZ2qJPK8Hn=pY^Sj_Tk&bBCne2mZh~(&c@7X@m~i6`6<sG z#AP=NS3h+v651cd_V;N#Q~L?E|7;6_T9(_$UOsl@%wc`D^ib!2I{nIS93F03a&~iq zXR~{9ci+_b@rAF<Md1I_Eg4Y(BAxk?O&8bRdmtgRZhzga2lKe9CtaMC=l@qf$HqqH z@r#b7%iH+#vI@U%i@U!*YyQ3m5ArYH6J~gvRQHU#@8|kXllW!NE9ZQ5jBoSQD$!)+ zh?u<GQR%UV+GeNu&S`=b7G2CCjz)ZJ#X=X095xpyX9&yqe-^lr9%a|WcZ)$P`)KZl z$I5Z3F%O(w*bdp;2~&x7x0u9Mw9?dm?X$XF--VQq`#uSYbxo^(=x+WvP~qbh^UXqh zbJE<{ow*JOStl@O8y%9?(C|0AR<S6|<(a~NIbqeD&@iJ@-=f(<BU}QF>PqD`)f@l2 zw=JJ+`8BY(C)KI)Yg_M>_T~i1$sc5TADWsAJ3Kw!$QEp)uraB9hoA1Ir27+C;!?xT zv&+Uf`^!C4^LF+<H_>;)q_VBwwBnMYFSuk$ZVx?DUVX<^X_2XJw_8#5bi3a6<Xg(p z=G*k1Pb;~Qo_y_-R&`lc%0m84C&WC9xx%jmZ`h%8C%8=b0CUThs#i^^c@YuXDaHFk zt7487`8P)Ry2YI^i<^;N>}MjP^W3w~)k*n^$cF`zN@W)E6NRQK1}$46sdUsPfF(06 zRY9yU>sPqJw`qDyQ+S#$O09aRBI9P!u|QJYBBV~_f68gap1m9M<4nSCeYI%`@X2b_ z@t$nrvc>FaunXIy&N+=PXP1}kTawbfz`Uh7OY5L?c5=+gC6m@H^W}ahFmbt&PD#%7 z7e$g^i;NzpaCbzAM6_F)8{M$TdD~j79&G6_J(Vp&{`_~ot)IlR+)8&fa0@=_+v-$$ zcB0A*#q9Sg;;owmS8NdUx~|HQ!u452yum~40&B`!v7!r$TRT0t^}adjUQzuS>?bOi z?XlQAXlckP!-;zW%g-<AoSmWi>4uWyB!L)b^Bv2j_7(LU+u?0!X&0kpb3#KYe2c>B zX<Rnf1bnV#I~@$1wY}2+d!<%-L)x{XtJ9ozA1f=q;c#O{?<=AIp231s)RS{s0yJU- z6el$}Zw;Dypk(S)1?OcYHj5O3Opp4V`K;9<WWk^)D65%y*1dF!q4|;kft3flMZ!9G z#VV{^Yr5IW7VNZtyfM=;!bioZ=y|(-Pja{0B(;6Uybq^yzh;;>!GrBcO3We$pQshx z&#p~OXi@(EN$Sj}cD<r$#xo;6ZcUxbQhcAaO2@hVhvBSc%6)T!<4QzxuAFE{UAADs z<2Xyn`TH%!_gyy*uVjzA(5}_WtE9^7*U3FUQRSwH+M@;+t3_(|MJeIM9Usc9&!<m_ z-(h<G3v2lU1r9-1K?`HUPA&fx6TL-Tozp@^j%&?K;S>1glTx^((`=3i^MAu8=CG?x z6IKU=2$*+^C1wdu=RI2_pisFa|7fq}%?Np^HvM+FIqVI2D+2kJ=uK~~`r9~VA-jmi zm4&w~j7-B9PGg#CY{I?&fEY&zCqwYmkHO0C+IY7=ciY|=6ZNTYXT#KQ!F*Y2^S7HX zJ9wF^|C!9{&^n%nHaA$J?q^E3h)*ou=67&X)R#ljT#k7aD*l3I6>AmqeooR-C@l0c z>yTFssZ^`|A}pia?!L>lX6F|3^%MOHCi!V9s?RK*QnIvR&o@WWU$NTCvnE})6uXt( z8#FsrqJ-zlTK=hPnO$>DEZdnBf+l}Z+n?Zd{<-OggzEmlC5*`l|2L>b%+kN#WZ3cS zzxj#D8!Erm_%#U?lypR2o+GTpE4g{q8rBedSF__^dIh%nZHY?Rx5SL^XJc$rXZWFt z-y0&u$}?X->{i_v#`f9oV}lDTV@mjT)#$CJ1rx*GFEP|o>=Rg3%oUpcU{}ME>uZan zW^IV<ZF*Jtlr=v6hMddH_UEOkL79tpY*3!Kb^Ss|wzH9Jbp=AA%SyOPT>O$$XG?Hr zKdPzzZ1U)VLMm&=AEQ;PKZQv?wtg=*?|OLQ(@#=-E2S5P)f<JD8J~)gvaElx*mXm( z^y!<KQXf@jdHKEK?7GgtzS49}Lr3=K$+eNDDVc_*dyncSg-`LHttq!E{9?q`(x_QW zyBoShBQCA@ALq`!d-0;mmeht7l5tE1ydgg&9TurgPGCP)$?YjHb>Hpw=F8%YlOywm zY#oDE`WaO$cPJG(-1t6WvBr%l+1=c;Z+ORDo?1E8t<}6-?4(V^k)RHBo8vpCTd;LU znug^y%M^awvG9dWrL&vlMO%jwZ?Qz>bC*RvPghVea*I_lyEHLTT{|?JvC`tVr!k}a z{a?kryS8vxY+Zh{LE0*O|2E-UUB!GQvlb*TT+ZoP)nVCQFm<QFoVi(x=XM>^`*X-Z z=CF~?VeOd1dO3^V&p3Sa<Vx!~hwNewD~JZ|KH!ycA?*|cZzcn;M~}9~nL}28j#%zd z4yfr1kueCaIeOUg=&#oQhokQtj_y7hyCy#SKrG*h1-+~Xw`Q)8nZ3K;WNYuyjTg7M zD!$3iN#B*@<Cvaf`CpmA=7NawuETzNjy9b+WG8dNam^u%oD;2kPIRp~;d|$3%$yT8 zcMcuexpkV%5$n(KRR^s#J}Fvn(VpqBK0fB?k~>??yE0b%sb1-Gs-frTI-X;5td4lF zn3P>y=_$jTc_4Q3;<cG)oK_tU<k4Ee<#otw_LTL%Qx5s`n!l{yaof;;*}{hxj@t>a z6c{i|J`kGfv%cle@t!{?THYLaFz4t*n-kr04&C=TY0MMUx904dIY-T6oM+3NpTl!% zfsDkvioUQIjg@=O|Ef9V@aequ8P0thw*Kk)pRqrDYW{>HJCx4PzQf7%iQP@-{LVQB z&s>+YTU0Sr>@MUeDVwu!^~tpjqG_#M2Onmgk(cQeSrRC&$nGe>VzPkQaRFO1Lu7x> z;YoiEo9mo%$T>Ih&f$(bXM20jnb=%$iPfHR^up{rX-<oCr%YwzT+5ShaB98H)xSQ9 zNrBF4hm125jwCv+FE8wKxx+o{%^`Q$^I}F9cFk$XiP*wb)n2}1*E1`p!q9XPo<<29 zM<aKqsu^*1>AQMTSV|`Zw_G?9kaLPHc8-3{iMKW<I(e=v+H<x`_lhg;;n^FEQ|}s2 z`Vc?MCepJu$ieyi%{1p-2X3l9O|$lOt}<L?effst9?r7B|KiMZ52wgpTl9Cfe@=#f zkC&V8?b&~(gd|l7xO$3z6_)<9R$NPJ`{S)Vmo(y5D{n8hw|3+|`F87u1tPbc_MH4X zQ$snmv}U*cbjLsJ?f(}m-z&VZy648EyN71%xzRZ1-pw`lI&E)i_*_<-baU$6+Y_eV z-|ujXm)FEm_}0JNMb2}sn&@8HV{qT*bG*LJ`Ffq(;WBf!@$!Ew&Uol}H(VyN`~my> z40|SL`*|kUZ(3|o{CuoHi=o8f#_AT`kF1lJHh6UevdcP%&RD~rVj$MCfZ5-ZYu5(0 zY0*=pd}k}&-6*t6?or1=;j3F;&9Gq5Jvw>Kxtn{=uKIh!YVW<bZ|{BbJv?>p|C7^f z#edg|d-PtZVz|f{cjS=3Db{y~cEvhRTgy4C=VrzRHfNv9etDdKpR#x6dTlqj`~KQe zTcdmi#r!V^9zGPzbV~BGJYM$U>$Ux%nldizF$)-9w{fH&U{!ehB1VCs^Z;wJ%#F#- zk9Q^PjGyqRU+%1_9{1)J$<hXi+Zj_7;~K);QeTyNrrg;2)b?u7yBib!KCwP~@7bNR zR<%!^Z655F4f?+KS>C;;@p9*P8;f(*v9I28FWmB4q~9Bx$7d%8Jl|FO#(c{5iOIGT z9zOT1<DZaNJ4x8k*8EYF+L<cfExixeE^Xjg?ea46qN!%xRH=f;=^NNY)!hAm3TZd6 zNnJ3A7x>Sf{XvRh|Emq!X*M^v=q{eZIb+?Hf4igB9RBe4^~b-j1N5Hy`<#1z=B#1P z{j9hLzt-N5-gjHM{{D>Ex6@<au-cuQ{Pw~0JzMiOC<gD5y<7MBcSO=Ahj(}1i8Hna z_A3Rt?F(2a@<{x{%f$|Ck-G1@9QbpmT-{ahKJ?+sbO&Z81@>=#9RKIN4-ICkDSEG> zyUyeE^-YzR*d;DSJUnF|^Yp#UkxahBGi;u((miPq|J2d;@b|S3BKp2h_WR^i^GsF$ zle6x*pxUEBF&E-KtTgo(sOg*VKcRN1qLc`qq{V$nf!nqAhE-j89xm@K1G`^-{rf#` z14m=-q9Q|akqe?}4_;(A{AadFV4H1_@cJY7TZIRgK3wxnd}5(qeEQA0$xV}2WVgNf zb8jN=8>2T*iv7Mv+5B+U{b9oU!)5M6m$RR0&wt;{``z@v#4Y`g>Z=~Mu04OGTh?a3 zPut?A8-Z-|r9SrB|Lfzo-yC-EZii>vQw_IjPr+Ts7&88=_MF+x#=#WN)WRg*+7aL0 z(%jP_-rLsF-rGEJYG+^fl%CXi^B1HqTD)ZGvgOND7p+>dCVka{h3ht~*t}`u`kh<W zt;krkZ^glb2htD3>_1dCZ+&@P`PPl|Qs!U2cx~;j1u2(rd)~hP;NgR`l(c70o)tWO z^!oYJ7cX8t|NNQhX;a^%sogWWXU>@X;i>kK%nASZyHDeB72@zrT<G1QrhDYNzM_+R z?~l|+E*}@V*R$DrNl6CWcW97g^>`eXJ99(ukqwc>ow--m1nnt$cx7ttv(+;<HN8D_ z?TydH>5FTQnrscZvN6db(etucZ?uWN=cz4Ao@sJko2IkB_LP*K+}_Ra&YW;Qy>0DG z{qG+#eIx@WdbIWMm3{fKbp6tnI@YgCS7dyMKiJ6V%=G8_hJ-^M^6GLmA0IB;rRwaq z$2u?}b@I<Ok$+RPG&Gk6Onen`c9yBZf(@S0yMvGU&$Q07xfyrtm1L0KirjT#@3?wD zK0ewJdey2lTT=i0-m1e~b1UD3YM(rj&3-=jcKN-RwJY71@g3_B`){qcr^iys{rv35 zr|0|c-&gy)O82>_MCQ60pIND!B)w+wY~m_ge6s98z!r|=n4+~?k9jo<UURvux3Th3 zo6$y#$L(1Xhn^ktU-)H`R7Z&C^P?6IJkn!x-W0IMRb&;qFSdN#o8D%da;0=;8pA>L zlnFBhRTj9p>rDx&e^JPyP|qy+QgV_T8;870$=m7tE^jlHo>r^4eGZ;+J>W#J=5gDj zQGO|>(xeK5dMi)Q%-Pl?9dK^WN5$;(H4=|>Rj=LT%C|Dim|`52`#9F3v+nX;n}RzU zE6c6+rLMI6_U1-pgV#TC)yC*u>`PZTRdJ@eE-ZTVBvxf(l~9HPZ$ye`;I&=X|F39b zSe2l2`$3XgFu$2<i0=(g)++_pKT|R?ZxmLX?O60<+MU7^3uo&1ZxG!Tv;LZ8c-!V) zzgJ;Pr##BY>w7+H_PV~>rQIvVXI-+IAlT8-IFG@GBjLT%7cb8aiJwB3)_W+f-M+G6 zR^gX>la!Ypf4WvhHl@>k<D@H^lf^fmGO)k7*CIF~>0!~WEhjju->zFNdpp5TTmQwU z0E@dT->hE|+TAltJ^jS%?y!wVV$SzY+j?!sv_;upmQI&j`z88?*xN4`J(Hv2)ZAVi zU}JYXF|k#)Bw&M+SjriOBjUvY2`v1)8v@*=r6dX+`9);{S}aRg7B&b5xoEj^#$UMT zDw!={^Xk9djF(^Utyy)e>-yoBynP#Dwu;HTTFuJ2<GOfm+s$X&?5At?EZFn%&Ciyb z6FSzeGpMg_mo-|P<KC*jb<WxsdnRp6T6DHl+t2Ee;oIun2lUr&i9ckYYqRtDfvw8U zJU2Evv)cSva8QMZC#i*(*=1sz9COJ6c1hKe#$ycmArIUHGBN~?ODDZQaFFFZ^B#6) z*&DYD9zJ)>)0$lIw0_6Gd6{$mcWhautg2MVqd1|SO?~ooMQttl*K^e4%2%YxsFuVe zPT9VvRrl<|bH4jtacUHOUbuKcQ`5ywz4<p%bOe5JIcvUFcxz|IS9+GY!bdo+uWZL* znP(d+PB?SNoOvv%ERo3aKVtU*hA$hKtz#6p(<K~OpG;_Gf8)V^pSe-+%!dYx8T#z$ z3Wwzy3>sMs92k>s9F$T!(5iQ40h3Z^=%F8<`U6-ygS!sjaHw-R?svA!Ls<L5YNm>L zzBP=z7S3J;9h)r|Y)x^QmmzC<<kD)E##F7;S&7`qfm4ifJR)nOg7xMdJao2FN5f!= z@WQw@$GDXzq`S1dKjml~xi5IW{h;x@%g46zcJ9bZXnEk6{%CVY!(Def);}CmwAxnp zJ~`jNd{?+^_R%wK8a%VOgj?d?I9WK&IOF1*C=jqhxcd%^uA75rz;=_Bp5_;h&AIsD z0@v3Nu1v$#CU1HY>|7U%uHUdC#zXtRxWLt`ChuLcWK#m}J=J;c9q)A}jCUi?G`po| zI@3NUgfCkB?+=GZcck7T?$nsWT4onh^E@qEjRLh2IHcEv9G(Bj<GEG&HOta>#Z485 zrsY;J=`Owy?8tp<rqyAgEyZC*ZicLq7GWmJA3p@dSjc2tX__&uBFA|l?@}Q}<>hDl z0yJ%J_Vl~X+hQ?UMo)Qemxi0Ry8fi1Wo!NktqhYruKLJCIbgo=(tuodwi$WND?Qe} zJYQudb;yisviV%kFb@miYi~^^NjItIOo{Sbyop(s!&Srb!q4*y?@p*#(7Vc^l4Glv z=oa0Hi`*^Sepo2*Uh?)j)o+)ybmIDRTjhga$v^!cbadvQm_<oBsw#O4C9k_@lq_!D zFoFHQiux*xO|CwyI;Bk2A$J;`H=NgP4&UPK_crM1lm!KXNy4uUmuzERIpc1Q<+fnu z;yLEib|>psIC<ZX7JDDF^N8Z51!gN-j-{?nIva17wfc;cRh|m#oMf3q>z$j-&Uq>A zRc`Kl9rakMqQCF+apte9!rl44ZLnotlWLlAZ<gBEU5hJKOG9M1>%9Wz&ntLYqM3Q` zbJDcE?|j>PQ?A6FNxOF3e4bz?XK;M9*xL5GpL2IJ-HKnc&OPo>t&FSUbA!A4xC}0B zIpI8erhrzc@nYGh{FB054J#*_F8L?KamuCKbN)u<46St==VaFWe^ju>!_~f8HGcZ7 z>$i9AoL|RQGN1h~Z^WYO$KHR)2|hgemdx_+$KQvBEVlQyQMx{T%a_nkm(nyf|LgVJ zPv?7^)WI^VGh}Dzf9?;_<<e;rr$vRmDfD=xuqSn0UsfWwn@d~HtC-w?Z)dfnOgf(1 zM4Xemy7cmlkMYmXyh(fSXKhwDWyi9=eHr_|yDdCdwrsIh)W1d3WVlk#FdVwjCeyHh zMb=|GXG8<DKu#lnq671jq@S#oD*A?;f1PA!s4-M)=gYD&mRtRrd-&?K!}lzt)TX{a zp1SK_;H>Y9yANk@PY4a&5i;SzYhTXj#|h?LE0v$EDOJt5u}0(eg>z}`R;Lz4y8M?9 zx#b-FWlOr<OS$z&H$T4gZE0cVlizj6FTV;*l87;25ZIBx<xzfcr{jcX-6PgQzu!H4 z&$3~$)r@WKf7_U2zP#Pi^613=?Q@P>Z}ao{cXR2%9ipK#B=fS^%#HgOT+~h2u=x)E zJF6#e94b%Uf0M}X&c4C0swD0D#!p{PneXi=|8get$=g_?%8!gkx11~Qd-BKXpU&;X zx2pRL-U&^4@Iu4kmq<(ilfZ)mtp520tL50{hbVhK{F=G@>8_ihF^#Kix5rz&<G1ns z))T7ecy_|E>e?&$B6aW2ek)Gg`8qbB=IN%stjb46^;XW(pBEEy*JO8}yZ5p6uiGb| z|Hfav&wJIP!~akANiaw^6nx<;VBiQo(I}UZz_j>0BkzXx9dS%)KK)<h<Bwd?V!Ptr z+~T`FH8skWb8}d>_;NYtpoS)ankT9eX9a5=)haHQXEeJfO*Q4ceO2_lVS2w>?u78B zNk#$Ruj;9G)b3c4`yk!Kpd%%4anyrv@oWbxpOlqY&0w~%U{wfUk(|Kz$&5prfhBGN zTU0rp_=1*92fn%uib(?OvJcqu8rTXH7_1jC<}t9BZeX)&Xh{!fO*_E)tBi+f0dtlE z`{f19DI3`C6|luDYFPHEtk6Sz$1$Hh)2nl)NAEmtz!ab}<B9QuqyDeI#E9J}(p(;Q zLR@zKf}CfjO==RIlY{<8xrcR5$*6l~9_4u~_u%EuX%Tf96Dtb~IhhZz>j|*9von2s z&J;O;RY8D3VFIJ9f_O{<TjCMcG6nXG0>(NAwjbf_g$-;G8`+W$u!=ljuiL<uwt;=$ z4DKui_Ur<WXbZ-jf^HcbqNdGI7A}kVtL(n+Q^PMt!@td8=dL8|3r%BS>@YDaYMo(y zv@O<cX~zlke$S<%eH9sLik;o+{O#-k8XBR$W_12Awb`XI!SY%BGsCbdhHejWmc`Gz zEElkbEMSciU?_9QIzDBhRHaYu@=#Isgl%f7kxG*S*-{n0hOL_(voEZs;(5;B6l;Uj z*!|xUHQH)ksrFw`ZMu-Ay!Y_`%;j5a9|q>yiB(*?KG|SK@2(Otwv%GF4^H0tWHL*s z^NjR@)4>8d3%Y_QFxDJkUo6fba*|1B0jp8L#1a?7I+4JP&W065;+dJ%Tbcsbt6DlK zMaL+GN48l6ge3?oh8$(9eZ94@a(j|dsh`c~M7OO)XWAxzsffI{eM*Mnlm^L)zC&WS z+nat>@ac<t?_tip{$18oLceJupXqnj0tWWDfLSYc+Ax{4vvX+I{Fuh`U9vn<Xfs>+ z%4yLmlG*nwW<NeL?Zd~|s~@tjnN9gRLsZ|T!(^&s?amorPRN{ECT6uP^4@c?iD{FK z(w%3U&AqyPCOap;D`!AX<AlQH6Kg`;%fI}u5?huPwk=dhz5T%npQvepJfYK9ZI|T# zI&tk*@qZg+8c!&-uxEaaklj6Lj#aX!NJO&k%$j=_EPY((eB4@LeR9q}&nDyLP5tJY z7T0H}XEeJqCGtIwy0*lSJ#cpV@!s<+jZ&o?JEoQGPtSI2a`=AOy?lqg;O2q}2SoML zBD+p%9N!d_)TCoR(Qish()$<FC001PrDk+V_Fok1;>(JV2~Rh5TgX(p(EI1y3zbbh z#}~4)75-693wG-ZHJT^Z7Pu)qQC+hzS<52(R_{8eL;>@JO-9<X6CKYn)>^-^G`h0* z`lduP$0euBJwp!`Sx42>Z0o!Cspj9$91p2Ef-MW86aUxD(wuwwS_Nb0+&Rmp#M}yF z)JPS$CSQ0WK%sTw>&W@*+`^`A_Kp8!p%@h;tChg3F~2t<<muKGHO~zXm&^7XF=GF; z{7<FqF{j9`8<Vuvl8^1o=EzENFpfL)GrUl3rp?R@wI9>(HZC>Jh;o^%DPNfHS(fji zEN<ac+Oj~i-B6BYqq3cd!M|rFMGEU4{t}o!EluKD)%ugZC0q&0o%6#c`80m%U9(7V z8<$uQ*UGKUNgsYVX>Rpot(s#H)cA}w;+{g><gFVNjEiJ<%n6#+(f&i@`pYG6zxq2# z%1v9f^5ZA*R0eh~2j;2;Z1D>im_WOR*$M&}6IPbCez5)-#@1N)pYOLD-{V#B`HrPO zTuVKlW#$Lwu5X*i(pI)>>8kLiY;~{2O^a8pOG})zD(Z(u?WfX6-^iqUm%J=)l}oz^ zPuP{d_fb&I%M~9amI`szwwqTt?~J@$E_UhG+^cNy5*3a9o|=Uh1!@D?(iSjEUD#As zFxBNcV_5<_mw=|S<?_N+^Zsva$xSTXTe<3JX!U~?s^1rdiM6#Sx=xQ#t)BIAX507q zJ~x;2S58o0wx%LHMErJn(&=pv8;Z6!=UjTY=IE>N&d!Vv8<O+6JN3-xu!V*iGtGS1 zFk^yRf5@rrt1LOw7<P1fZ`NU8i7Y6o31AZUWS*g<edOp)Lo2~+D$9xv2Hwg3AGU^b zRSMT^39(hbsuGJW*Ea=o<|Z!uG9k+M>c+jrQD0y4ow&X2$hH}+Tn7$y@1In$|8m-X zTeoKSQ$-Uciz2huzA#^xcVUy3H?zzGRs{wYRRdPX15D3u?Q!hpIF^zx&DqfQz<S9e zfr3Q+h;qiP0{ICIrL7b6jdVED66}q2*b5pC9}1cJYf(Gvlxbx<0`BcFG}D>dmtOZ{ zcc;&tBVW90eW%Xc%f09B&aJaD*GA6T)z`Kwv@{?*dZF=-?R}9=Hg2_ht8?R`m+<r) zyDyN}a#5LIVXsaAW9)&hnhA_$9~d5cailL`-1UMru7Rztfi3d`d)kDaM2{0&Ioh*M zu=dsbXFKq)JNrUU$^-VQ2dpt4WSV;F6HC~tKCm|a;W|;#EB@d_i~xIG0$auf#+VQ6 znF8!-2`ukQc;YrN)i<yyE43;sG30Gv%M&>9bun|g1AAFRear^-Yz6kdJEwzIFjs64 ze8Sy#c#7e^bi>Ul@r#aDJan&|ZaMY-wX>JCwg*L4PQBi=<ZI_I?sIP&k}q_2^jhTz zah>|8B_VZyQHFtCCV;Ulfbqlhsj>|0CJxLK4{_87ZsI(dKO<?~&u8L=4$Ms#lpR;+ zJN=gU<{<d^y2Jrzw#<Tw559#goO(gnmV;B=rvG7g#)nM(s)nsw!(Mg!x|>zrX<xgr zO=2=*RB&mfvHSl6%r}obyVEr5o5>{e{gbwzeI#C{Tzz(?)RdCw6{lvciMJL#*2$+N zxI?4ct?U4!R`=9K<_ovEx1KPW|LtVe>*z!Oex>kUU8Z2UY|GNBP3D#xqg3@XB=joI z$;D<aeA*y?_UvqqD;9T)oqew?6ua)qHsy|0<)npj2D$NuwF^y>j&Aqbu*Xe!x#Csc z&+Fn3u>Pu<T9v@gY#_%ZyFRY0`hv=>J>iq`H0R&@UEusjFtn_!B1B8o^VXLr&go*3 zJ&kAma=go9*H!S|s9$@#^zH3KzE|{hZ+tDivEBD_<=f7eI%V4KQq7ODi*B#De$~)F zR_QX6%rQqkmoEbQY*QuF*FUQMADG~~?9Ic8=S;#@ew&zSp2lVoBe1plzt@F`u=^)$ z@9dV9;7-l_argeezxNsPt~0H>;UBYqi80TK0OR!wG~Su=dIoY^H>%z8)fK6enGzdl zn6)_iDF2^X^Yc{amqcw%-*x})6jf2RM4o58)i27nhR^fcH0yiPeg8$dr{+pj)IK)v zyU1vF<Jer2xe^Z^e7`g^?9NTivOAv~xcYdm1wGvNpyrsRkuo!n*GGk0yowznI!71W z4dPua;Fy-YYt~0j50+~acVw>rE%kVf?AGfh%fp)1w>*hvzLxdKWAV@M`Ml<jjrtz1 zmG#|z_rBx4>&sft9&f(QBG+v6BDeA09p1XtEr<R~Ylv7&Z)4LJlsO(?yn<0CGVkR~ zyQiXc4>fhSF8<rVFMMQ2<g^^Aw0D)SHXmOWpjI8Pn!4Iu;LqfQxLG@^I99LHd$lz8 ze$Beaow*C$|3=!!&V1oBllA9}zDxU+%!Ri&>eTH@>*eFFHZq!#ClmUP`zoL4G&!9) z`(BFFJ*?}N3$%Ranw-|(J+WA|A!psY%Q1^T^FAt!yT_rHkhnMN6Yo9&We1IY&%exk z+!uJi$oI0T+zkiIV_n-{+-O^wtTTbFdd-3Y^(_;1T@`gV7<}BYIEZWA%WLyKUNL&; z_3&dvoKeu(MfTQ=YW1Hq=6@0vI5g8qFZU0tO+)XrPZyXr<i9=epTkJrMqFT1viPC+ zTLqs^tzvqXI<M;1(nswZH7z6D-tXa+e9HBquFqzFZly%lld^AXI@z{c`Q{p?@=jPH zEFABY{^7+%C7y37y6Q|PC(QYHYu(%MxVOQ1Pfr%UmGRfT7snI5Zs(*AVp{jVtIHpH z9rfYh<b1*0EuN1{^Dl0GlBGGTwJzH?OE%SFSNkKC%6E5uJe<+^eB0gUrm}TCz9ww? zdJ{538Rv-do%iGEo4K-oCS%Pudo3Aperx&v3c3B?xcXjRfA_8E{#(WQZ>8lw9b|eZ zaQM6M2iBy7Pi_v(To=CUycd{%@mk8QYnx2vz2$#?xO<8Jc_71=ryI_`(tdTVi1+`E z$K|`a_0mhC_c$!O5~jaWQ8-y`xz5>Ajonrq+B<(eQCM(8_jg9V?oB?9n2hw)*0%JH z^o-_?n9lx=?ykwrlcr7S&S;uCqig28+4H8)>P|~ZV_F%%YUSFrcwym{8%;#Hgf%zr zTEBJ;llba2;wumAXIg#m$jQUU*B(55=<L1|d(R)+dt}YYYuEN3K6&}(-3PbVo;h=U z^^1egPsP9g@bS}!^<UGz|M-zokn;E6ztj^FTFx)dtaSR%qNT&aet&xP`&VDNf1IDP zvQuJmh2)8i$?lD*W_dCm845EevIr}_;qaa=s2m@(OSAZS&wNu>#g{clI-W0?J4H!w zmc)ht&wd&1Yghi?6rOl-?vh1ezoulaQgWQ2^Xt|xfoTlNyY_`NOm^y#h!u|e7_sr# z*_GQ@Kbi9L(ea+?`pciJIQTnn-5iyQvr8JA%jYwgr#+c)F#5TVkWt2orP*!kicE5@ z?dvQS<C|-e_S8&T`uNUB^9xsl9D6MM<Mv(uB_!s$>J#^kh=gRNO~uQeEt{5caFyAq zkMmFTa~g_;&iJ$T=(7v<=hQOPejIk$bAE^87TFb--?Q-Fefc8xY2c^l%d2(xSFQ}0 z-@KtnNwg$uW$>lG%&^)uzivioRyc;~?Pl4`#2UY#&`ZXI!+~AAEGOMvD6_=DO(tW? z!v*p!XI$D8q+V>8C@nef;8F3C8~+&vU2X&{i?_HTviMxswAip&CJ!D|M4He4dSY?k zQr2L9m-TBNU2qkt{CK{|bLo^IrR5Cf2ff{DzFu`svH2!er{`O#IxTfcVVmp|+nKQy zB8*!EJba9%FB6wqD=9F?LpDi7>gr3S2FcVfCGGMiXOG-gWUV~1%t=ah;k-a^+fPr* zpBgrWE^)Lx)Y<v*Z;7Vz=d0H_=lz&?&1d5OM%PrX?V>jxty;6~)vMLl3)CdTSN_~_ zb?u_S$@9~fzpYx_eKVx_R`;fF?kbXh1)m<TND+Cp!gbG<rfXX^<uFg2xAIY%*3?xq zi`=B%ZG4_F_es^4<#W$<?dFiw<5URnKWf;Sw)2bFf1`U9PxM0GFKXE)E)voibLxuH zY!9c-uoaG<yChg1xg~7NTv;q-a_G+w@4mSkgI{Mnd$PUI^68Zo*}b=F{$$rlwNHzj zuw&7uGtM<)D{q&VpLsHYAtUj!>ekDPgv5><4AeaBZQwlZnC<;A*Qo)MUzy}rJeLif zBwg-Ov2JtTjlj=Ro~&oyP1!W#<K>-gI-Xa&Uj4LDou8_)N<Zj~qxkll>B^y>{Y>6Q zf4k{^bZ1I}Z55Ak&ic}$i;k>3`|51(Leb6gYnM%xvDgs*fotcft@E5e8X5advz)N& z)r<`rW50g)+PX5N^Ru_jcDvkFw|D97z7W5%PgN?DLET}7*Y|(<!G2c%xlIdO=0tD4 z)=;*hR5GRL$U>#~*<6uIG2Y_u9W<Uwo_^<=dBrSf#epqC9(tQ~XV1!+7OC;AwCTye z<kNGfEOqFTOY)LExQOTVYAOGDH&2LW2WIFko>}&yL+bZKw;r+O4kw=aOCCLR@o`<M zq4Y|owBr@+D`OmcL-!n!H0nO<cIJT90^d%r4YS=}Z7Dr8eaQm*t`o9bSE=lCeX+3I zyV>PK#<7JTbhNWuBBlxa583)yvd~&4C}8)Q1cT3O^5fGl#6_h!t()_t(?9U{Epe|! z`aOHr3f#PSa{iH}lNxi{)tug(6_{Vnb|AAY>7Y}Lq24hE3C%tuW|m9O-<&YwNOCKh z{Ga(QbL<!8lWTM){AF%W&uQIswPAvXOVJ7EwBqU2OE^VcCxvlm{#eDI#ogM<Ir-bB z)I)P-o)Zx{$thWFEUY@0Y3kocd`i<6DF&}yE1wW`hE>@}aQ1|?JPlkN1w9AMT2$Iq zDsMf~4xD*L;}}oW-xYp79ZQz>A9?0CQ6pmck)y{n9=X>WaJkDVyIb1Ytt)0oVLz60 zMA?;VLh^$r$tT-b&tEVs>Qmr;(#_Vv6Tx#%(O_r7qeq2;tu9CWR%EmZ9x>4BDDZA( z?0vympTH9G_GN6Q$0440_HCK9sgqajIQ}Za+(diktNBWQA3VreY<2mjnnlDJ7sVvu z?KL*eOO{(N{D0%!L%aG7y{;Q?DCu`hnY}9|NUS^3HR@T@X4}1oP0ki|o&MIcEcMeC zf%zRRsurqTYkk(qw)H%>dOmY?-$EW!;Uj01!mnDUuThrDb$zh*Sk^VyXBzW`Sf)MC zXi-i%kR~m6#qH&XgZy244%HgpoorhYX?;gyinwZz4hN?Z$6+s)O=~MOwmkSKYIwkJ zf$E(nxlvKOwIZ9he9>SQ|93#MVCtil{;8~a7TRm4KU?PSyY|>wxu(rqTqd?@d|7*r zMc`=UoR(<4?%cOoskd(2GTM^3IERNft>gF6jRv1i=ao$jX|p;aCb8$NLcQLEfTvwo zb}zL)mK4_F7;;51>TpMxeB%EvyjAObjOH=EK56E5&hA@&(=_4UbF;MLv^Q!^(vCel zG4AkMo@2^Ow4J8Ca`_!#;iBZb<4l5=?{BXe7fKErZp?Dh-*qOTX2N87o2QBXn>en& zI=EHWtb;9h`$4U_2BkCqzWDYlW%h@ETA@ddK4>{A-hbOnS?B7_yIH?xDvR`8S>m@X z^|i<Abt~fxczI4ViENqEs+T|WbR>t9bZj6yFUzwtA1c--{rJQka)L2!kLvr0TGKsa z)_v!0NnCTBY0vYYNqY6~_O#WCU*G6*OMLB|h3R!EjglSD!nSjm&1qtu<f-O8>7;A4 zk$2#aN$e}cSFe|eS)rU0Ddc|nh|6X7A3QRi|0kM-Su8iuoqyp&yU894-Up{lcXUY$ z-+RbczAf*gbV2XysM`~6obYoNFYujk$8^@VcavO-X1DH6l}>5)*|R9PO#RV*r^w^x zd4ihOUb=EMpHm~IIq_|~(`K;4nj`9*<Ba1xt4nWv?qBC*@K7Vd-}Y8U-;Xaxqa(lW zu)OtZ9n-(h>%SQ@`jk&N729dzRk=%b{-@?;>wA_R<JNk3iR-z9X5a<aq{G37G=G?~ z-wfJ&>9NS-Cy^oseq~Y<TE&cXe)F<zG+o!Yw|L%rnd`9~hc-3JwffjBm!IcRrdA+( zIOTln=6#~UTQ3K+X}V6_ZkFq7f3rH%mwU>wJ67MPN^VGH+wuSRo5T#~X-gH-G78p( z6&*>=V&Zdb*lgPLU)Q8QbE$UM&96mO;%B3*%|HCfV|%!E(WM?`yO63FsdF>i-s;J| z|MB53L+F;x-YQShWF{4yjP`p}!=c&tFe7TxrcgoF4ZN3b3m<FZ+0n<Olwi|g!eRTu zae7r-OXlMZ8r8cF@clctKCi`2HP>*Zkn|?g5+Nb8I|{-LJe&Ls8;xQnU*a}9d~~zj z^O}fK!-Ym?#W%c3-LiW(@5eL-@i~lqat2#2u9hl!!BbZrbFwsSadWyn_j|)>OGV#L z4s=*L(c!B)@3H_1)pY5V!h#tF42~Dr-lo-MUT1SWz>xGwB%qmN8M|)rv;QG-Vf^>6 zC3qHysw4`DPUPR48Z6*u@!y0Y_85bKL~~?9W9_A+-P1VhKO`BI@o!AlQhuJG#L6%4 z!DcMcY;Yqr(tzPjQZmy5_Vfo0jsmSgCm2L67&bK5Dv5I6OV!ypfj=RUt!aXSo-s%K zLdB=bnI98`E-fsybBzf6<eTqO=ONLU`8?I2f^BU9Th;;QyaQ49otR4|uvIhYi5Mg` zh*bP)*G^##H~&=sSH0kGYrgd+!+Li=mK7b3T`G27jXQXuAXcGqfkfB4X{`Q@=GW3g z1HLz2b5FK+NLKhRyeh=)=)#cZ&4T3*ylzb|jQlR(sL+*ofML=GPRkut`Hq4?oBo@< zoh-l?$hJ>{E&W2^yHBi<54w3aSm`Zp{5zq^G$LjLyWW*)Y}-4G4JV6bJYYTFF8Jd^ zi9~wvw*#e9$|KrlI6gVfki*cGyCF5#-TlJ?j)DbJp90+9FUjbaFq)uY@xG<A<A!8Q znb8ZD^4~|(i>}r`eW3bdLS(!{``H;269rgK2MS+oX`S&kE3PT)z)~*d9eO7hMyw9A z+ViDNJ)&xTifWpA*MSU8-EAB)LB>a%otz#=TP)@D7m^G7B${%e=X^whn?bM1Psa(0 zoE(Kb2i@7~0&-S3MCt}|Yz%0AIYaSXQF^Rk_WB*pjF*digM>K_*F~63Ubv!+$07fB zYrNX#{|=U)%Kt8&P$fFOfvuvN-T#-W|1a~3jgvZlwexKL%C)AMO={+hjB@q}B>`ta zA)TNo`PLY<(3uM1&2a$%u0qm+jZ+k-6;3%OW52>`ugByEMcHhH8XqV3+D1AzJFt~6 zV0S4L)R`*gc5~_;14b{&F2{!Ke1V#>iOoma+BF^79L&TsAI?ahApLGrS3*&wo0C(- z5{{KEy*^IU{FyASPEZJPXbskA4O)?!*Xi&$g^zcq{9&j1XP)j%$1GA!XEc>*vwe4a z+ZkS?YFR(cgRjMXK8x5HkKVP*xjSz5<W2~wJ1V99HRMoW%DUx|@0-*GzAf0lQ*T)* zk3nG4D^}^iqW>1X*L0dT6u)w0D`ODY(9*u+po`?Dl8|;CfsH=LuJ%N3;5g(mX(d~+ z!8cvscJ<Az9N{hE*W4qQ|6ng|<T)E8k`&BwWDD1oL{Gnq-u+CP{~!6T*ueMyh7{kj znCC0Q->P)}Qa0+?5-!|QVSK5)#=Jpr%lwb(em{#lOP^|sy;9x2arU<znH!ZEmTGoI zE-0KLR>*%W<4t-(!K$E1EJY6%)w(V>DN9gUennt)VwLMJVS}6AlQuNIR}gr+A~CW^ z)~B7#oL$fVxOeLWmI<L#_DL+hH-rBVgTRXIditTY%h<DH0#+<z$XUK(rnn==TZ^LQ z<!py%RK;A-*r3sEa!@$x;eWpl<A!5V6Oy$$^S)1?aClkuQ+pN>zh9~i#aHL?n@n#h zso;~G@$XyK;-%BFB_;Q!dZ#$FGB@O~1q!WE3^?h)7Su3tkpv6#gBsIYNv`4o+r-tn zCa`{b)%`-8b=}q|^COxWAJ%86vubQlX)0XaCCPF+EL;EEEGd^&iz3!1Zsg$8ZsfTz zxoFjlg)e-jFXfL|HseKjWK^h9z{61XlC^)fS|(&^Pv@Ba>B@xS<x9U*&R?Ra^?UjB zT-Av;R%I+Q;!(L8$egt)(xCY8m7uk0f+quNIA+hteGs*Idr7l_Co{vQ1vh5TPl!m_ zu<@BXYgtiN`hu+sE!deG*!F8CuT0pe`1-%9`mc@8!h5@1Thg?<?p<kPD%en7UFI0T zx$pt!(ifp!pUZw9_4p<dw$VsC<y3y>4TnX-et*-Z*MF%mH0^wK#3NqS!)vSYMuqKZ zvsw2XTmEH1$p4$$GtAio4K$lC*rYM+sy)4RM;Ff{t;R?O-yZ?HSG>+UU?IYp%I3xy z<ThdJ=d4;z*FC$d%h(blqNnW1_`ZGL;m~x+iZ9#OWbK;wWXqcFDVw{Zr#BgA^uCxb zX5zq<u_O0r`t_*J!%A8w9|#E)?>cvSqD5Jf{=(ftH)f|_U=8dpTQr-q{DWBKgo(Km zwq-n6FR59*>x)pr>HYOWzAG7aXP6(D%y2MWoYm`*<F=RoyU)Lf*x0ZqI(tvT!-KnT zPur*6D|vEjX2Jmm@9Kw#Hg%eXSR7J%A<z>1%V^DmEU9U08bT~P(<XepqBJWxtbpan zB<Y4zQaihv_ocm>!1H`xf_N?Wo$dJrAqkEL&vo#IDjnLU9r}L5{&!-MTS8U8z21Jp zDLK%lOErfjkGo64TQ};@o@%YW?Ju{i{BW#}d*KPzQfFhv^an?!J-Ljtjz7Qdc0r9H zxu%Xqcum)XL;Dx7yFFlg{hZBs1Dj6?TigP6l_ku97Z{lgnE4GDs~0c|2lQn;V2@!q zX_0s;+d;g}fxSS1-9#YZ(4q-{T#igQ?Z4QVk7?)TuaP>!kKOI=9By3vfBu;O-3J$( ztjkXDTTi)qy(cyx()p)QV8QH!$!uqTu%CG>;dzxSR;^lMnczjGV@p>Fe7wOOu_VWn zAy5Ay+o>}Q3)_sdb9NiO%4*s((Pye-rnA$B)3ZYreRf~&37LLuXW_BL3;Q>&;7pg~ z={gu}dn_{W(gmgf_P-fi^97@)-m18emd`1CB<9rN!!Z+{P0?m<_seJ9Y-3&Em?Y`^ zCoIIP&~9nW(yg|J7g>2892c@+Fm^lm<MoXDPxNXZbh|I+I>obh{svWb_o~7<TyOt~ zB`<QzOcFWFR+7WM$??H~4?K%M%h*}v`slK&8a_Opn;_3txaXYp`hZoTEw9%)C{6fr z?Z5WS*Sx)lI|_4;Og`ZkcWc>q)g#@~^Q+qH@9ql!r8z$~v+Ax=e8{v&^;v9Yu?to? zTsV-ClVPyP>Cw?ZhG-Vq#rv<RPno78V{W%P?ZlM|w*5bgry4Nu7_g_tUcD%D{+amV zj>IIZT+#jyVhMBEJ_SZzOgg&zHruKewOo-p`M(_uJJz19nttd`{#KnE&cE~XrWX9z z=`bPU^z_%u%&OgcfAh#VDoR#*K9u3UcBdy!;mW=r+ilISxp>}e`^nnZd%Lw+<!rOr zMV?zGm6NZmyup8)^_Ff|V(z_nOc(r~Iv%#Zw^BVc&EZ1k_cM&lXD5W7KY9B0sZ0*T ziPtX2?%3!we^$r;itAo{ud5Soo;JL8c6zsj`;_K=a<%0)bFO>$thp$qedqb{$O{1z zM7iS}7NqJh+}G`jJrFhdmQd>I`xQbwK@1yCvKlX(xm6&dF|uGqm@fC*GaQFfjvml3 zURnG&`u8l(qqj25i?6ZYX38^IzvRq2HMK@-&d#r*?$TYycE<RL<>{U@UpbSbVX}MY z={237?=+=6Px?BqJnoX+9fu`~%6FocoqP4%KBoNR_lJhH&$3r4@-I~3y!v=w#QO6N z7lL<pX+L2*tHC-`lIOQhWA2B=F(v#we8-GDd&Blwuh8v^I(PKA!-e|nds%PpFa0dE zF;?h1!?Q#KhW<sHe6`|F#VimG|6jv1VVm|Uwex`*yldvpImpa(AmGfofO%KBF660R zychINo#Bk$+cW1p-?b;PEwj4l_jcukw`|kiUY_?h^iaSY6}Izz?{3_CbN-y?`@XlY z?r}d@XZ0X&=BmwaR|dR)5~q5-@7<X`!(Qt<xn@)3U7xaOwRWCl$P?6M^;_U|LY-&c zYpIN+3G40~N(t2`JlNTH_>*i`Zm0aw>pcffa4fQ_Q@7#R$+>4@T+zzl^D;Z1iteAt zFVX7m*Jz>Nn(E_Yrn~EV1KW;s6Mq?9n>lOd-`4j}_kFo<_wN1jFL&jd9?g4q^WD2I zcJICVlRuw(@4Nne#QLuv)_rBLf9Es*-S2x}@8!*W|L*_WPv_>@7;TPrywQ90W$N5* zs&lO7M_k+UR%F{((X@oiYSBv3^SJu%7H)d*QJCY$`)4m!KK``o-?@0j&poZLqpHt` zF1oGIeP6<&JEg(?_00EP_216sy?r14{^Gg!%kBrgy!YnIx?g_lzn+Wx7BBzd!o06r z&i{JW_bojCUC8_Q8}5I3Q}^qy-`nf&B3ttECo8H*sLV8ryO!yGz^rBUdb6`Dq_2rJ z3OwvFPF?V0;yccBF1we$%93~aX<mCGQTA+~e3$#?n-<Ooc{XG{SwADX@1WrPJzf^} z89|Y53*YQx;ILt0N@8kib!)b1?P%_7ZSP|0oZQ#aJ!ML7cU$Y+`ExouC;m@bJiTS= zglWyaE2cC}S=rP!b^6j3?VI~|O-q`yb9Qrc{2}qf$B!``IehYDd|GNoMtW*W{Aste zOvl8#_wGNq&l7v;Y3kLKv}^H;+=SyZb02=b%ai`j?MQq|YWlU~lZECcI;>Baz?go{ z!&`Z6&&<R-Tt*Ml+itKZ|J)?Pa{R!V7S1#?zcm^OOf!2EFRk!4&uDUM<`))p@f4OZ zZ9nZLrD?o5ZMzxAc}tzm>*Eg<n_smRDR7L}jhmSDaMr37p(=jcofa<o<$YuEs!16e zg;>Mh=q2upY0N#+F<m`ybJ|_6Qm%+)Yr7XQg@o}uFiNjsUE(Rc^z?(pFW1F>&T@;j zU+n&WwPWy%XZ`b!^_^U@`C3JxYR&l{fy%|p7VYl;F~#)Sou87Plj2y{h(*1Xd0p3h zdZFiG*7S3szo!K43A<QqcahV(`cKEL*ZqkXE|h-j`uJ$U!_~s;jXv3!WIw(-Gv4Ox zoIMp+&aVorUNK{r_07IaYZG31Df^N?CX0oo=BzhNTJ~YnRILqDj-Ck4y6AK*JjwPc zXY_(2YS&_xeQ8>t!>_i3OTA>TP*`KHPRBx39=2^~^3~YB$;Y=>7P5=)Qd}mPJ>zV} z{p3qOK1&tOObnYCbX4<NT=kCxk$bN3Di4oI#;9Bgu<w0n{&>QSuZyFls@@zE$UJ#7 z?2gy3sfF%SE*BKGi~nDfJMD(?)}HPDR;Kq>EbcEjWEnl>;>8!rGkzv6i%9QeSm9%4 z$G20$ZPiWB^uj|XQ74nC#meKYJg&OkwkzdfifCM1;lvdgb@b|~@XZ?*P1O=AyBelj zzVcH?`>dMQSFuU4TNPVxH@1puD^JVtZq{Ub_9EX>(Ad|KOL6t>jh1@dYw~kWsr8iC zy?ZG&H*3<u%iGc_Cf?b8>ea+$lex|=kKEM!^jLr-kMH6D5uTsU6RpZlM4z=gXSG^r z?i&fu&YEo(mpx94<CywvukpQ<mDBGtM!qmwtNLnb!Tq1BdnU~I>9}&<8=l8==T7qd zH6!=e(w$d2=TFq|jEdU(DkE-rh|;T5|HaRp(vDoUM78)FYnDg1epuv;Zq*{*xnbv) zJ6J4?)KnH;v+VM_qf;2p9g6VV&HZ%S1(R8^HIIxN<6?9tu4VoHxW_ATOTW{}MU2X~ z{q(#=Bro%r-ps3bJonwbj1AiBWy@Pu-juyGHSz1UNdC0Nb0>3XHUyfLc}m~<c~$L4 zU0~L0SE15>H>GkO?{z=szHsJg$y@Qkr!tnL9ccX4KW+BLdv$KM+ip%5-FRii0)<aX zO3_PK^%U!@I_C4Ix#;52ml3|<E5t9asS~>PfooY#*V(2oGU1Co_^nO5{QYfDY-~>L zES>yzS@*HG=VMOKyVCbA^zFR$-P6jYPHJ|$P22TS@TlbfO`bfG8&dc(Uod9xHuMp> z@PPe~ilfiu+0&<fnX316N56+~0I$gfhW45x&*LsS9-rM{qP*xpqGaizxydqWIx4lD z5<9Z5JU5#@t7Z?UpSbmn969Bk$1ilt*UrB2tnSMEB*9+6Sr%7UGL<Mqo?H`nJ9*YQ z4#DmPTbU}(Y@Tq=?dYC}zdYi_2T!fcnke@C>{H>j9rL>$wJ%D^c*XN-@-g`z(`R4$ zqb7YM%X4wh6OGp~KFx2l=UY88J8ogXo$uBeZuw7Oz44BNf(0ucPrWo<@AKESMcSH& zndMh(+<H{Qy?XQFEw_aCJ2*1e7Zh>adazigJyA{Z|A#XQwZ>B>ZCzKZyYoLs4g<?! z{ge%s@_}ylOy7ILvR-p5b_>s_s1Uy7b1shg^0bs+%66V1FRCszU)7v*Vu4ATs}qmb z)N@_sTjE1GDpwrh77Z^ne(I^(>2jD`C|THM$x)@Oyf58$%!_AdY&qTMx{0MLsZk?` zrDaNe&YTGogtzZ<ecbRo*kkgR7LOl4K67Un^juSu)c@m|UYMYiXmYC1LU(DRU032s z)0~Q)4TUEanLK!ob`|M9TJl`x=&5%5j=)0`bJYTZoBBKJmh{!Jwyn7Q@m3O(rnJO6 z0VBq2vB~EO+FNe4x9;km)gDlIEPl^Xu~{poF0X493%+nlIOE~H)&n;>*VPzy$uz}% z`=4^Ldxc1c^SUm%@D|3NeQ(wU=Bc>Z{hhq#XUGvN$u)fPt?G-)ZC(Y|IfYF9)ULD5 z^0X(<LKUey52Q}LIm=U7eeK?d>9So*42-WU`0o2s79_{2x%Dz<#=8{vDN{8zubA~@ za<<ua$(47!P1kAP-1#k7{g|av^A7K&a~}klows<T_}MyQ>8H=S_C3esxujDvPfS>u z$=TJD`E)|~^_e!j6Bjv7m~r~zv#8ZuT|SEXE|FZj!sy(qSi$vNm*%x*q-t+pVc7pj zSjVnCtL^fHRHmf@f~rOqJrOS2u0I2OtGKw=wLR0QpLzF%iPv%SQzZ*mb;-P)#&km6 zHqp(D>*0KpD(3&k50)hE-u!f;UDvHiOw}7oUw`Hcj4AHRV+=I@<?yWb#zV>LYf1vN zQ`*avj%g_0E?6mk`oZfx*Cgs^ev&++>MW!Z?$lQFFlM6V@n=^q&p+@^N2gL&z0uAk zykghP@YBufLuOsOzBa7Cr{Jupn%%=qZ)b|0O`5|Ma!EQokugo5A<rO7>~^1g#PfOe zpXQiK$fzV5Y{^}nJIQ6e+R3y$gT9_CQBoGm?GDWm*>&SnU~N$MOPNNq&GPr!Cn_)P z@w7g)vy<U%UB&BNGm6ggPJhB)*pQ?9<At(V#jDhw=j|J>8f2B9le=9LE-a(acdTgZ z$tUb94L8&U7-!i!3z!|9>niZSl&klua;Ww88~66C+q|!S*{QaqZ@&I_nKHb0r+vLs z6kg<Pl~rFltG+1d=@CAzK)GtgiJdzRoe#}w;;KBHrJH@}%&yfYhptFx|GuV|>#MN1 z{>FUPn^z>$xvQfl+?02|GLfxU>BzE+S)a1+rN2?|O*8(xVd){a;;ZjDey_SHkXYa( zocm(Wxv58I&N!=_Y8HM?-TLFhO39cbQbPX6f^MaC&b)soY@geUs(^*s6@|-0zql37 zeUke;?EGHQ7m_P7=PI0@d-;zGqbt*!r21Kc;a~RdV+oeH*2#IO-Gn3Cvnpk+-f_l$ z(d{jJ7CwFZ>wd|(&w>}6M6!Q0D_c5v^C_`Q{x`emrdIO$sM*n4#y)nFGrwo$79V}` zSjOL8Z53yEaNg~MX4lQ$%(}<o+;!#njg?C$zFU0vNsHc7i9Kh&>V!_eb$+pxwXGW8 zlm`m>8EXnmmMyi6Zz>e8b$(Iq`9~{i?WL<P_m=7w9oxR|Js(%hTd#DB#YfjoE6?A# zo#*ZSIh%tIsXzF8ylnyNQ;yCD?z)aLVpml=x7%kJxSw6rFh@-P(no<Q=8bL#1Ahny zdv7dhTa+VRqU!RHRp}Y4<1=r6cbCQ~ymr^sdjqroB(Q%EH2>A8dxc5i{R3~ovVg`f zhT9FzWG|b%J1p0?IU(sl@GkSFb>#sbrskIIY>kg~Urb<03;J(xa-ql}C5_0B3h9Y9 z@59PoiWsN5#>Kn3UHR<7$&|lLC@w3|ghNS7MyUSeX70o#MnAr_#eWHB*rudm9C3M5 z6W=lK6^XLH6WAR?8do3HDLAaNcx$3tn9!7Ve({4caTj!6eoESvqME*d|DwB4y-`s9 z1Gdx)ohMA9Vn48X9h2nwZt%~%cxQ6gyUz}<97AgtNoc4h>W35yC~GWh2|25(;vOd3 zy4;OhEm6cVbM<2pxhGPG%H%hMu+=@#`=r=v@Jzmu(La7l{Q-k|$somdEsCKk3I~k+ zy_2;wmiOj;OxL^YdR4<OxRAR%u<YA)zm^O2H6O)0+G>spn5lR4x0e4m^EjA0B{b6S zP{X+*hbbRb{tF2A+~|0`al)+$i5U%@qSN)1Zb(jU^VwDC_1r*0Xt|x=RwoBG%{PuA zC)~Z(eRVFm<imEjpym2RHx-_#YC2OB3T`lT>|V^jaIr9Rhv4oV>W3C}W?nMC|H#MV zVb7~X)l{?ol7|W(ei$n;r9U`flW{dY{zO=iWmu*~e$%ok2{VkInz&}B8;4(+@@Q%w zqk8Y}7NfEsQog2>x-auzGj+_H+)&9JsI}Z<l3}rgut2?pRn1D?*bnTd69bpGWIj^z zSXG+Hrjn%loqbQbvci^*^`QafU)*iNil#cp%$ewT+CZ+ENhpU&>a9b;Do2s5FaPTq z6IHZV@WnZ}Ty_!*S>*jlkxS9oC_q)sTS+9bZT3Zu#A{o`3d+))m0kaB4So5f*Gsef z(qsiyp|YH%Vrz}cKD8>mIac?vlp}F#`d1Fqj7p_;wp_t)hO#sCe_l5GzeDHMWO=`d zSuRd;u8;J^53;hlnJ+dqmvHr*u3<fAo1Lzkgp{iUzohq@MD+rrCYP3omY{?SiXJzn z%OCtY(V<A!Qe;w-$fWg0m3OyKTdLBq`><qBVnE_&Z$D81K4x~y=gy~A7)*HB|IN9z zBBDIrG+a@ry!e^otEVo(j=hOT72+qh?%5RgvQ+WkRqJOg{jVhaBp=0puxKv`_YFwS z@QD1+^RK<<r9$f|CUemn0ji~@YFq7ge^)-XjW6JuP}sAMooT91n=5OJt0cvWI-A*+ zPqB~^Wlc@U*}ko+wcXoZqoU^F(znS`#)o2r$_#h1sh<grwk$N$`m&%bN#;O=%ACxQ z4;v*nZBsY<Qtq)xHjKS?m58eCG3OHprDB6zJZ|RaP74z_6!-m#@pVt*_$7-kEw0P> zKHHab^{46K`+~)OxrTpcnU+_&*g81l_mL&>32C-3XUuSmta8vhDOC7Wp)ks6dTp?V z@3iTc6N8yfOz$k1(bewo!&stsq8+!P!FS_M?k_q2pU1eRE|~nGJTyqT<dL*?M7EE+ zVOEjZ{{!MWOaD6xM#yk$$}N34>G*R?^|F-vh9PN}mme;h{$+FOv`Mi$JX@Kk8!<J_ zd3vQUs-rh?;ndZKY+?)ZDz`08P$^g1l>X*>>FWsp01;_+p}aR4vjR@J`8oGzNUDXO z($TtBak|Um)h5-<MH*|rcdshUejw;`fk8PUsj#cWl;x*Dl(Brx;iyalhP9^2$JNbh zW_a%lN!Z__F-1Y<$Z_SZZYkRzOCJ}hxmC2>bW?x4uwhnmKQrrw+Ng!Ho*^$Adv-7v zvq@xr-t2tnD1Z5fX)}Zha%Z^S7pZ^V5pF4ETQ$+``w>?+25w);`W=T{cYMmLV%3Vb zn3J@kZ0`f3%qesIHqQN6{Gaj8Hl1myOD{WAosBA-{zS@rnUmdZ<+!TlN>)M5iW9gG z+H-E)yv{AEd_qT!@YdU{!c!lpUo6`8Q7TdUg-9KXnffJNRq;u;oN~8)HR!w8eBnUM zxiFn|tag1uW~SvyYc~u1Ug3CpcEIP3b*qncD`swuOtVZ(s*N=5y%xMbCVT&n+qFNl z_y3Ys;+n?wKwRMUm;JxA%XN1v{I5R1{ASKIX6_v+(=u)@x^+`y>d}gpDXNc8?#lZx zv3XTzwM(lk^S)=h`)`Gs|4b?rtTZh?rPnpnq4i@@XI6;87s+eScX7Kn1zl@y5Rvab zWwq*wb9|6`7<bT~R9$tqnZByY_7=^qZvSNuOgz%~%5dw3Mt6(;?xZM{EZ(T++dL$9 z`M)~)oBh~9DbpmGW1%;WroTBFKSwFB>e$zaV>va`vU83Jzj3Qk-=+3QN3lJ!J*AL! zCm*L*iQ_ZT&D%t}HZ4yPiaI@MX?3zhahK1<2mD={Ny|Kh=2^;VDlD7SnpNy|_<pAQ z=4Be$i;muOFjBh0KPP#Q+qM8UXXTtv9i|#)D#xv^YI*d1u8f<*`Tl`p|5ZM2H%=4R ztxUU}MIyJJF-Z7Sk#Sh7UvTxYFB-i}ZBw+FB<{>S(^Ps^@U{q}*v8uBXS3Iwt)71N z+?lf{-yHK@#Z$BV%&bfO=7nq}M|S0PH5$1W@$*Edb^l+u+D7tzll0q3OFJ(YU1OM{ zwp2IZHf!rdwx~T-=d;i3D64t3pr%ggs9t8$c9oS&gZBoz*R;8p9DQmae9K~8$RuZ` zhBZw&svp<ySrhU1koz01*x2TnbJHy^D6A@ZbM|&lyTQrwY>~5WB4^V$C(l}R%<-*l zQOvYj_hT2{gy;Xc?B}>f|Mrqazt4QDxWbpZi#t)GLqyp7X$)t$nbyqZHphJKA7U;3 z;?KWBRUr97&1DI-)C<#7*jCD1ywK_t-aXkgLgw{D<<6%OQYp%tChJyhvXEA;`TfdN zuK2V_?RM4a%_=*sV^;U?y<wy76i|Khl8=t`vXm%WHHOue2k-q}zd-i?t%Y}w)ix@1 zK8rQTo>nGf=Q&rYYR6fIZ#S)Eb#yzAGd$PepJ6dC?Pz#*%lpP7)!fVGEjeM>q&KO< z{<6cu3<mwTlT;6Gyc4Uib;@Ijb;Y6lQij{!Tx@2EZg*W^Y9ylR$;K*ddFcAZ!bg_% zLZ%!))f-|a-@hg^;n{`xn#rYFM`LQ&x+k$LW0k#ru<F;xTy>>;vl`Wy^d7LpJ;-o+ zz?t`eX&p1qy9XIe!N+TEf0&%{Ph3Z6&M}d^+YY<}o8Mke?lF>BbxwZW6_Kk&`4?2K zeURHEyw`Yb$i2CeUvC-w@RXd?<Dl&p$&)DYuYqq?xx~D!MOO?Mm@k}MeN6p=cy5N! zf0Z>C9aa?=|87wGIYZXm#e!v@km=QuZm$wS-H=>sgXu5aPfZUt3tjnIDzQ=hfJ&kN z@z#PsF%6RrDWQlItI}%A@(DeU)g!0!sH)vC3u3S1dofG#MP1yBbZ$F^dH#YnSKW9c z7}9Soy*Y`|d`+<JqvSc~0`4wpK6+X1oIsTU^D2=V6`tJgRof(#B^907))@z-H|&mF ztZJ*5#LO^%%5zq372Xd?7cS0a$>Y-Hye?m`@9L&67d)6Qep8gH*raTG=;{599oeV( z;)`yaO;72!;<$J~<NFgq`8yKoDGAlRatApytB)kG9ot&tEAJr`%>T`?akJAaxtgOo z_VsxduP6UcExoWHWdl=wuF=Z?c9G^MW<k^bxvzQf<{{hvD?yL1n8)7ou{y{XuakC- z$8xRzoOyG%`|{kAn#!o5+kf<<_f|Ev>GGYMqPjXG7f)ToxpUow+Y=^7NUEso&U)d! z{e_eJ9Yd9l8pV||lasm{_iFfV-Se?3CN=Ly+8etIZTos=NUbZExw>HH;SCd}zTz{| zpH(boFZ9AuEA_~U*O?ZA%^Ak>5<iwGy0R56NV?m_mYUC2vVgtUkzLY^ndji0nWF3; zjF_t$-ro}X_|@X9-z;IS_u-W-FBzAgdw%A-Nd37EzJi9r<3F#=wYe+8vSQ)&1v7s- zSZy-vpLrlC=#}otM{A;1{V(i2bB8}t?q}7kkj2+t7DeRcN$pf~HVPHIJmsnOiR<?1 zUs~Dsop;;1N=)KligUAgO0C3az0T~aD{9qNd-twAx$lXZ%}@750=jG`Qr0wn-F~?L zYJPOB)$)@&MDFboYRF@YU&fd5fo)=i&N^oID-HI%TiDzjE&ML=dn@U6E1P!bee{yu z<;QE+_WrvAFGoC6GgDKucuQMrb5~bScl(64-p>BEj*0yfnB3+H&vl!#usJO)e(AEN z74Zw*;@7WCNl9Oyo{^d!Se2QPk-jZ+&%u4W5AInhd~$x%@}_md@tJ|Knd!?`q_wU; zbA4HJ3e(c%OCLO3zcwu{UbrVEb<T3n|M3rQHqC!{uch_g`ewJJe-@lq%r&JK=icV% zynOwo%=Wb9CuS@R-!RWH;KwIZZP8OxRu}$#mU=jBRnJVLxD%dJH1rl7306}-B^0SS zXU%Mj;zv_<2BrJi*yU$UTEZ!;<T!&xCADNqz@;S~oK|<2lmrJao-M<>Hfpoh=CzaM zOxJpz3_1`vwP%ZndfyqVmi2f3ZfZRiv31wps++Q9YP?&G^EPsNJnO$}S)Z}XrIP*P z%xxief?gV%7be+nVM@EEoxDlF+v0kJAkWdBt1D~!w)%=O1Uzu6SiMzIMun}|p{VIf z<D2xZxsu`2{C6j95%{ztv{@}d`*YXkRk@qAmT$UKoce#})UP|1?S85H;;hQuy~XEW zs&=mV5ckSwpNpwZphv*cwAhfaH(@Kk?#z?DEw@H3ZAQ&jkA|rn76ICwF^|J6u2%+o zDHT1PdR_YPi=*69BJWap#MLeu3#K>MHcfL`FeT8pWWwJvfl#*^rn4o-Co;}*S+d~K zH4ENbCoZ`y%2f3#nyZsETYc>o3mL^X21zLz`_`IYNLVH7eojm3<g!qY{Wp!dT%I&c z3n(!-d4<>e-5iy`^6ReU!oDF#pFNvha7;5k-1Xw~cqL!WBFB)jHq)?>@K?g}kt~84 z%fk~sexFxew{7Ny%nOy@65QpdDJtskzcX>Vf%vaU-SL5QE<Vu7n)c}bQAx$3Nl$uZ zPpYb!IhI{HpRkUB-P_!1+Tv3_dnQ?4&RWx;q%`s0mPI`i7xg^iw02VqR&iUh&{bvf zISaPfnC*5Nmu5-Umdu#q!<HFrexx?zl$Y@?(b#hNML!<ey!xx2KfB53)>YN2UCTov zdYQ80=a!r^pWmOVYih74M)K6W$R?|kQyZ#{ayF=acbRsf<Yh$HG5OhC&Bt^CW2}4( z4@MZDOMkAp!>{}MpRC2jzyGAoFupLQjKA>giDN<D8yZ@&GmeVAe6!iJYsIR~ExMLm z4yP_@tuYEP{++WXGHa)=x%6F=yG{DB*OYB`E3VMZpL)_`l9%<P%L$UtV%>v}{FUPP zAHU$wKWq8=qWgcZ2GyKfdq4cEuFZo7-F&8;jSXV=;v4y9A1zmNJ+^JB*P?j`UG=9` zcUc;U-wF+nk6oZB*>Ae3s;|S`*sX6x|Ey(PQ;dZ#1vGM9>iD>}i6yOg$KN}LpKS0y zCY9~LqszS1;j|R5soO!WCsk`cmjp@LaZk&><7()AT+(~amM2l$RNr>oz53a}{OQh{ zA6GsPs27s*JlHNIx1*-fO6z@K1$)d7@k+jPaW%aXA%7oi-&d#m&QqI<^QOh*W$_*z z#>FeW4Hg}kuJ^~$nC;+Ar+uQ@85~CpQa4XY5i;z&(&OyW{^-(qKjq!RlafUAjCy7t zX+6NtciQaM{{S)G@X!5ze;l-2t&hGxba7F~gl-wb%ueeBMZw7(FKPrW{VXzAos279 zN-ex0n18C7%X4pgoZxIO)m!FnyG73hm>!G|@0ldO^JRA8Pvsa1$#3Q@wrdKf2+Wat zJK24$1-E;{$3wDu?QFJx9QlhEdh2t{Y%`y8koVvPW(zqZ8Rr}WZ(XKI(_9Mm^h;J4 zcb#}L%_)<wTBXx&^@EEx*9!T|mZ-Q~b-HA9XsV8^62HhXsat2~D6W+<Vre}1t7Gai z^`#QAXO*7+@F=iIn(#=Xuw_Yycfyj#3*>exr_JmPf5i6G-tyL2ccIspAD?=3%*R4c zm{p~V;kl~9_n1_p<Uoo4@^4#2^AA0r<Kz^jmbl1}^XEeSJqK9ZRF;Ty|5Ysc#1Zsa zh-us9gKF(AA=4!7wh8IS7-VjePG!6L$*OjazrnOAl5R%AYr;KvMZRfF%cwJ1{y>yX zchSM6UuLD7OzTvd$t>6&wdvx7$|F9Fy`J|I3Lanf-{Y)%{br`1_U69AUhVR)4=#!B z|8VMS<f3^WQsfWpi!itT*FC$ONBhy4llz?(6!wLkbdmV%EK;;fzb|RYV>$0;FaJkM zO?*dU^!Xw^{3`kM&+Lrk=65;7e(+g|zSgX$05*wB3>&++4hm(R*mmmqgTsm+6b{>^ zx*k6F@6zHvhY8&&Qj3C}RtoD+T<O&Pzjbq2l&9#;l~a?|7cVMY$h1<ghSxcjX|lWL zF-Lx<`1)hBoR-a)+{3#&S#JM~u)}vZ&v~(DzSZM!^VPe83tv^=v6gl-fBZ{diRrBO zQ<Wpvy(2U9<&}@76j<IkB<B$^FW`vL9U)=8I~wv~r#OzOb@zIH%Sm^7vcmUH>ZEiH z&*);NJNW`vf}Y<E%4|RSl)ovZEjVqHz_vM4i+BXr>6&h-wmIul5O{Fr#0^X5@~%4J zzVc_QiqHFbxw&%|P0C)s<=obTwaM$E70nL3P&*^&ztC{esa1A|ZU*kYYtkM4e%1+> zS=*EMS-dx}GQK@wO<T;nxw%E}4o>_TbxG>jWsj~q*P{P#O$gq<f|K`{)8-qhi;SZC zPRvvZ+qFpZ+OoD)qSq%*QCr=x!^8WxiPVygFYXmjn%&%#I>oO!xCpXdl~ljS=H{fV z`p|1>Z6dFN?A`Rxbw%6fz1g|0?#=S6GQ0Ip-cx-&SLnIHHYtPS@t#j&Id^GtdR<69 z=J9sT5}}>06(_dytPM5NIl1Y<yhACr#l1NTRvguQtFuG@V?h1YDa+;=Y`rPnnH6(m zQ__NG;&Ysje%NSm=5W&84_mBDZ)K!%aC@fSHre0w@)Spt0GstLgX@bf7Jr<aP-euJ z_kMO)$;#L3k3M|eaB{2H-x=Eee;6&zGN#;)dVhIec~@6s<<e3|?kJvlUH_MKZ{oJx zn?CW>X(w*SteFgwM;@GdI^&JXV&+wE>#|+vZH-njj68WVBB}lDNflp}hpMM-cAQ_= z*uQZ9orUu<ukKBgJe0BaVj@rJ%A(_2gp5V2x0P%=EA9Qs%5%oda(9ozJVq<j&y`o7 z4^8mh|5ZT4;p5DWhwpWMyRpIQ!FSK!d;fg4Xl~#7wtl^}qRr7K)@M}rNNGJe{^_If z?#Tv@4|hj(99g>PCm&nTa)Bkafhp_<rW{t%mO5#ZHYxYcjT2o<jV5mnby7WM?o_^O zwP37ryR)slcBWCbug~9$yH{+?xfI#Nlewo+QtD!<Rd5V{^F(#&+!<l_Zy&2(F_kAw zIXm?I|9^I0SA68lYFs^eZO`TFHrs#eGb_E>wJdMt{1=ZL^g6ioD<s_vn07x^(o%0` zd!=k_by;$DN6a*>@Wh)FRMZ2L?tNzUbn*3>T4@ugW)&JK`7uXBD0e}k<l1)L-GOFY zk9Zj_@@$!Iv#;HI#buM}-%Z?%D;GVnULqW6V8V5RMO<$MXU;^KeI^20X(egL^V6=_ zcWus(FO^?c8Z&)aGADapL2AK~uVrq_^b1ui`pP-DFKhHBaEH9$o2SGxr#Xiww94y} zH&3I^mP<ZQK3Sb%vi`gw@%TXphr|9UL2LyHxi=KKuN$@-9xN>|6MVL?R6kMq?KXZ( zlalEn(XxSgTetkzael7k{yFGpi^-Xy>XVE@CyTtSi%K^=<a{<E!^~8O$<1l^HVux% z%t;0sAE%`7hsW4z7~D~*s0~kf{yf>cF@|@0IoD+SKZRj+mt)dI{aPPzGi~KA{m3TN z;&J1MOZG(7TqP6nXVxtjdEGCm{5;~K!WzfJQewYcPqooSB~doYJo4g}9LbGMyO}~~ zD@6E*N*QcP@IS=md^mlvsLEj_mrj9<mWS2aMkU>;lCMN{?;qe-KG?){R665f;Yo9^ zlS{-RMfB63gcWVo5H{B5xNKi+()C-|{;X*&<8o1<&dkgwF$<Qpq#mt(DAF3lSigS) zTgn5rT?s;|1~vOjl?@L5x1IZ=b=4v7`4hZOe6*7JC|LBv(`u9LV`t&&A8k1gRf85; z>s`ri36Qou?9_J6_WZ@jzSO8gh7)!yQGHucbox-q;ou;-k8w{wIfkWqrL+hAPDs;i z?NfBqoPO0<d1>DE6q5_$1-0t-Qw`i7xljBwrMxu6?HiNDe?z~U?*5mLs=qc#xwl+{ zMI@Yylk-|b#kB{Mbc9_ani~FE$j)$#@(6O`&=8zgF1Y?fo2gR3yG_b#(j)Gq&0^cw zUfog2z#${@O!|33#H**0C(X6x6VommP1|Ofd8(-T{-*@5N9}D7#9sff?R=)NS<`lt zr)I5(WOAp?tD+E(pbn3sj>Q7gMauuX-3XmnWjX!#A&b(ax}Y5sKR3nHzMOEUvmkJx z+j0y4fEk=jrEGNqxlN87AFoB9ouF*VEIv&&JzKGTe}d4m#H5oOZ4(zYUUx{-I;6UT zS-jGs;b*GO%q=||rb->|;IFb2EI1UXVQzh(xin?F*HV?LW1FTavd5e|me`;yB)(Wc z{-e^X(6(n2qN1;LoZv{jnc~+tJ@duP@(5Lfb4UHyoDDe5mvjbA?{0Rhc&=j1=6BjO zcBhB_#*GyZ8bXp6rR^2uN;#(eXM%uundFmiy<tZjHcv=$N@YoCYP|D|PyeID(v4F# zsB-V0V5a<$Z`H&av5ce%fm)L|qt9(_(2h!fcj7<i(+$qSDuGUci4Pfg4=}oFmKup4 zW}W8BwM!_9Gl;{qvhtOOguSY(Ly=dZ*_<Ej^K5r5R*bBxaLQtGo^h_V>~?5!?vvV} zU8|aJX4$M-#Wg*Pd7GKo4_46%J;l=8ODshm+d0lva5=ryyIaWSsj$Fqs;lSG5Vk~# zO$^efH&uU7u(|l7_(wQbz~{mfPqZ1*+NG)@>pX0ZKQtC_l-c^x`dD%^YlL0U7A~E@ z$rIFO|6q0QH*64Em2Uac@yRtVAD79Gk42fz^87W;AX~)1{94y`Fa5tlDciIrt&Gt4 z>sGfe%WbY(mx5(2*U9N}S6xzrye@ucoyRVbW>nQUQF(^f|A<A62{R4tq$-rpF5h%p zt?H|TQo?er&KV}>lGfd=FwNCkRS-Dqri0efFC2%MRMlLa`-{XTwatFSq`AjjmB&jm zwR7dwN!Dt=Hc!h~r`@dcaMEN0QRj?TVuv4Y&EnQQ{K?D7swLxlfrO`MiTdiou#Net ztM9L@E&c9R&A!B8)e_fbOWGDq{NE^Sa9GvSsmLm*!7x!M&MBYySK-8~tFH?-DsG(? zrzK={GbCh+_Xp9La_wUE$9k<><CzRSpC_>=ToP5;u{od9=IYKK^`~1-aBk*NTy*+a zf2h<lXLp&44{N5CSowN4Xcrr63GG_@#9GIcBab`piOR$Vb@}xx>>Z>2C)Yn$X_~%w z{jA!#VO?jo%CoB!I{!$XxM1P5p!T;0g56trQ_T2#CGA#3_x#)57HHx+^SV{8<D3hD zYs0uy)?7`$x>I3YGT%=QcJ0NRJ(;;~Z7Y5^p~2nQgfCHGv!Zjkl&@|_k;5jHgDoa0 zxBGveSikqO_ns~MQPUl_6zwsb#S<d5?eJoM<sY1R+ASSIg@vuPc4@Ums~6`vrTD*S zahWmQoG12wVL@^E-ij+-h1dCfQx>Rwobger{klR@N`V$fM#GcMt?NP$#D=V!a6oKt zkX`?6g?g`*Dnk8LS?Z#jb9_ssK3fFapXT*hV|wtB;~vLZ1#UKzw<m;`cNn}`clg@> z)X9?s4y)x)+~{<!__*Gkg&j|8Hci!GJXYg7c|*hO`rFSp-sDc<4&Tum>~3`@e@BE{ z%c2(P%q27DY+qM)I8B9t_lOXal<<}d+P9mz`Ohp9U{P{>%75mGg7~pOJ(EQSMO8~C z?OQ!_9Yb00qXi2BS{wJD37UN9_#w53TbrChKCRx*Ql{Q<)_%9mW3z=ZWhE9F4fh@k z$_ScF*P3&WtIbr^>j?7+`$YlXN=Z*DYnOSga(~ktxv^`N*uHC`Grs<r5OAy9DQ4ob zH5>kJ-210QC}YD+wPtSBZMN4wC^j%UYGiZ&@|3*#L~`%vPCZAvnFlv5|DcrlNQSE_ zDfSA7;!?@;F8^1me#zZ_wb$lJU)+ur`b~$<sB^v7Sh(woj;%?aX=ab*&PMge7eb}< zW|{W6FmcO1((_rarCwe-=au6rfye+S<&4mMj$Ny>*ppe<)fd&wYfC=dzVcMv%MA{{ zvLapgI(DTvMsQ~fFW|QkH!qZ3^ht4hL!s7B?ia$co~lW|%~hjTapgS@R4sIR#Bel^ zS?%PunXy?1lpPOTY&@{)qt5J-%P-d)cNRKm^o1wLJ!9ePg`VcS&#d-YHlbnTgSNC& zQOh=6*#CU%%p>btwsN*?%lp8Z+2L{7H?`*8@vZ`wf=Ac=cr^>kuP4jxtW6NrDEuNK zUtKGtJtOAt#NRO~m76)TjsJ5O<!VkXu9&uIa(Qm6ZTj6Zu44x-DryzVmKUT4sxELY z6<Xv}b-au{wn%E1Z_<HNyC;W4>1|5Lo~R?gWUbIIwIzkl9G5!Rlr&B9F*W1hJ0-B~ z!iQ5F3nzs<n#^$P-sVKMPY!)jZp|wNlN5szKZpwWzRuQO9Q^8PJ@@H}44-fR>p3ER z`q6)}Q-|)x6nEZXXKrC#yK3*+xphYEn+w<lo!H7Bu+L6r&nqY_x>(8gwyvSD@bJqE ze>fNNTr!=N%5p9%XmNXGxJ~;!m(3e1%|dtS3d$yl3a+TK(Vmq4?7w<C)5XSBSNC{c zpRM_{sY`0}BL?2oq}(;C$9i8k-ct%%bmV_xuZP5$1LyRGg5z%o`*b(>iK^V#xZQcq zRYN=V8Ot7(NG|;w)9q80<@RQK;46LW82=?X{uS99t0!N5#(RC+0mV-<S@w8bocF}x z=H0tDWCh>qw#Bvy=KRunk<7**$UVV#nXgEUOQl()@tLIz?7u9ll&9oywlo$6r7Prl z`zl8SH!EB{+<E7j@s>YE{AV8X`=~AqUn<t~^vv{?%z-aj#j0*!crYjNx#Cf^<sIfv zp1)|ie!gz=44;lAmN^PSH$x4tZMUzw_V8q;P1X{ZGp9CP;NIS2nQAb9{{)ul!V5OX z+}gaMqAK^a&TGLXrQx1a)Fwnt&U|I|Jc!M4-K1A%IqwSox1FiTulZ3*@8tYxJ}b49 zIwC4{R$mR;nexDZrOfrvG%mraCkgD8xAgdO7pNNxGX5%&;914pwCwoesT!%N_l%+i zs<x!;TK6bo)!n1#?Qguiw6(xv<KDL`SN}V+>O$`lt#wOwYGhUazG_!C{r(1_E)&7- za-lZ!<+qF3WhdpO6|gNgy2w!V=@}c>3BK#a5)009Jyc&9UsfmkDL`}W^mWc_UH2U9 zHI<Ow`t@9#N96%-<;{*>oiT^l6NAjZ_MiV)nA!Y6)v?!d(~ip~sw=f^&mF!jA!zOS zyYpUy(vAtgy;MRzxjg>mmzC2#<CeR8Lh6p+aq~oe9zMG_hDF$Iao>5v`u``nCf?1P zz_mj_yv_Ye+98Ltg}-j!)7u+Zf5ND@=+}&gA3bw+@uezp6wfeb<46cS!*6tHnV)UM ztd-Mcy3%cVIGC7HnB17+)8d<&+PeGNyE@Y*cQJK#q@<+Hnl*Xeywo%|;i-!!b<B@n zHF@UjnG5Hq6|^?5N}0N<b#eRF>GM`~Ox)i&bH$p}^z`^yeO*(<_gvV~bonyVg^S(i zZe71}=U)4b+gI=QJ=$~s#*0@wF5Q3jV(QJV=kK0=xqtQDo4dDPeeBnn={R`}k7V=g za~o!ftm0XfnmTFCucQ|X)LPQmQdLYFuj%=*O%zorUe<HcC&Q&^S8Ar@!kD#9fv>i3 zUe-+5`Cmio=cSDoTIRd)FfJDDnQl`#;Q;5Z7Oj=a&JOOr8B2VpOmw-Wm0P9N5OOAT z4qxgVktwg1dA276-m*HS=IZY$7@3v&MI<cU*f?{^X-(w=#U6WYov-_7S{`oV<UW*^ ze_J`b@3`){=X@(|>i(*^>%ECs8F*}-s4`o5h=Zg_n!qj1NTIX3-L<UC!hW#cJQ`qP zY^dydapjwC)x?+kww_#4_-K39`m4M-LNb1O{HsjO-c3)<s#_^&l%=b%*lB;&!xWK{ ziHZwFmY;h2Hut*5_u^nxE&o*$&V+srpQ{oUefh9{oJwMlmdM(osm3;$M?;F)k2ZBU zo=#~$pX_y$xv#bHzwRb}^X6EN0Lvwn$NX&-4>2btNY=fOHT}l$EVf*1nnk4Ls|{ug z)J}S|2dW)ZbeZI&py(WyW!88orcu!7N@pH-ZBmqm;G^kxbdOa&idPSv6*5UBeeKc{ zeg%SN_x+a65tq`vA9(d*wf)veIpy4cPbOAPnNsTEF8z1O3IDp4n}Wkb7_CD6r#G;x zdc+Glorv^#ls?sA!UNZsi6%R*q_%W4ervTdjBA+EEw$>0U;E9Du!k8__ZrVKU)dD# z%0%VZ=kvDfqAn|S8?VyvFVK9NF=0Kkn$ji7@*NvJg|<IA;Zxr}OYvBh!P2cu9FHWH zp7iDw3SR4*p26h4-N;bXt0C_HmPt{P1w7639X_$_^4it^CTX5~?AnvhLL7N#z2E2f zRZTx6NVbSOpmvw$)y9`6v*k1c7M60)oTitdyLg{U<g$qCsV0KKNttivyLIKZB`s@B zHM`YvCr9J)iT6id+)Q;_Dts$(hU_-K6^fhoNG2|wd3o(LbzX59&qJ~$?CTxOOgyv| z?q2Pf_xJ2m`6-(sJm)wcUGi*t^Pzi+Cs@|EsB><eAHvnM)A`}2rK(OxUGpQq99_Bo zPLS(T^<#TxycAY?ni#4d5L|ngBlNl8J`djs5$!KycA6w{N7=qSq#h`2yLEY@!B@|P zt6CbjWu<RF_rt$@`LkO)SIo~kw(6zfGKm?_H~gQjS9NmRqIFZ8kL?VTF=AQhIKfD- zve0e)A;s<sp2|}Ne;ULlNuJ&$`Ss|j`mMY>&N{A2Xvy0@aoIIbo5v4(mqmEnz7f3h zey`>CgAI?f(-(Y<`1<9#aL1)IJ)1k#9o0`Ax9-2Edy>n->e8IKPgd7`{&<p+e}-T~ zYkS<2!;?c#1hmgytLH4ib0Q%@tgoixM9AEoZOLxWSJj<amA>Bi;%T#T*?DWdOnM_1 za_5&#yIS&EiPO-}Q*7zdlnu}L1e7LC&0t>VdL>_S%Sy4Ec}!wiiY^MzjGTAo1<5E# zJ>lbBax~(Mg5VsJ<NB#5Ta_z}MfWe&)XM1cdia8EM>Fp^pQM<Gh`S*R^#d7RWyePa zhy7_;Hb=!rIyI2r;@)Jp?=Mdmb|@@Z@JqdI{l)jnH#K=UGu^c(pDk#69ub?g<zWAn zPOY@1in8qy87F7V<dN4kkzA42dg@F|kU%2?gW^vX7Gp*R1|0?l28J(;zKjm+{~H7a z85zA8qKu53y^I(b)S^1noz=YB7^ZbNEA@qhFoY;6Eo4}vBqg($YY~?m*ZPq4>*bcO zUe>o#X6LT<T~h6R?OgmvlI)o@ne309vUfXo;ruB#&Exz`N0@G1=a0X4{YL!ikS&Xr zE?pvOF|oH#ZHE$<XcWVib}uFVIR}&;ZIO$Y+jDE1Zvw06J&_LMMuvtiE>Vw=fWwM2 zxOBD7R0J=6*v%#?Yu)wv#6xig7B#KRz(uU73^Hm3PbM%iu?RAVYIjtfNMh*VlJ)6W zu(8c)3S-bDz7C~UMhP~@0}X|NDb6gbT^pXA2uyh`AfOS@z<6*Gvy1SnHBAK*7e5nP z9sa*?gTcmShh{Ajx#CdrWdjo{mw@(#2M&$L;!RE1iUS%aGcok9FwwZ6@MuBTk?E4* z3>zY^KTYV%un?NaCE9*6&1#mSv!m<71<Utyeo#yJWI1P-U*?28yPvFXVCv*NeoR+p zqyCX{ZHw5NAI-_PHh5kydvnox&hITVCL}6}GD&LdGCnxx!P(^M+;*Zt=`rUNVcmHx z?6Ie=Xavf5TwI^8C9<>Vna0PH8X+-E4NNyWKHg!zB=Gr6v!;!4Bf}*dkB9ts{w!!v zHgfsUr0kp_=*%IvkD;}3KFek<HT4<Iot%?j7I*M4<_H`R;E)J9oUv$%GPi@#rltiP z@vH?+ib_`!IR3L&aC|texu+mZFe55w8B_AXoM#==W-B%@b8ut`HgM;rFdSoZRjB0P zW8`?`#HN#Ru!&2Sfk9X>TlC=}F-aZ4YeFqsEKe%5Ea-G%%bjAtz}Kb6>LQXqMM0CV z`NV-k(z1U(x{0VZ1h6dD2`D%&D?8<u<5a_q0ghgcon{g)l@lGCrBYTTwn@soF-<kF z3_Zf3r?Zt^%KLqRgTM0v*(Vp0j1&YW&V7Gj@dOLm(&jrJTLsN!nmEcnbD3)zc=#9{ z=5V>=a86Z2*6><DhtKW@3CT<xnrDwTZI<CVmOX9P(rvRddL)H7)uu%VJ@afgQTb3h z$ApK=*30H#(7}U87`*;#sPQJdXfq#Ejxn@vkuEYhXY(WBq+3QXubGU`Cnpx8FUpb= z`&^2ej(n{>G>PMO&E|#O&*yw<VBcAIBaK0Ag#mZw8A108%u+dRVO}O04otRDHJ!~| zo+}!UvsSEVR86;7yNXTd=c*0b&KffvoFa8LG_cwpuA3#q5&d+-3jZ&&95^^kE?KY$ zGQL>(Tqq%B!eKU3)pKravAI`|3F$4^;K)|I!@=cF=9`9<oU^AlIE!RD{9+TZVEB0K zRX#)Nsu-0YzWTfc0RhwFx7_~KDkYL}AduC0&V)-|qEEUemv-7HHdico8)dvHu*yt= zx9MQv>W^KF1~*bJCrt=&U`$->_&;~o6cs-+uCCu7%`|JG*Ewy<Sfgupq44k-!watJ z4uY-msvZo5*)5f7%UHe&Byqgk$RfgYK}YMtYmu!V*|g*sSvw?O$oW?|@#rwldwqdd z{KN`hj}@-nBAJeMh8LW6I{j!U*!$W^O<VF*k3w&O=^Nn*9;~%z9A~xlI<u_X(5h*| zz?Z)?Nq+kV|1OzCy__EzHFr+A<xbl?|KbyF2Gf9OSFy(ux)UBKGb%J)&uV2kmXRhn z?SYGzQb0@d+$9CB3s^2OeVC@slgR0<(e!`SBQfct8{Pf{_b)%h#CB?7gKp4C2ChRV zn$~$N<OrI<86={r={J=xNL9m0FpH^4f1>OEy!;8>tE?KBce=P3)NA%gg>_0Wv~;NI z&Xo8NQDpLTV@twzo8w~JJGl97crowLlGi_-E@iR6$>is!h7`9&6Z%Xp&wOzDdR|jA zZ{`(#%bPzKbLXY8@CZzd70)`iYfa-qc?b5im!8Y3)Esp_q$sK0sq`$@3Z9p7R6&rD zfst8sqs_mL2lHA^B&fU)?5@4SBc67{J@4B^uI5=u5+@R-H#sfqNzpkhsol)RAGD3v z=R<SC0z-F=EX5;oeIYFG4cL|V61j47GR)cDK26~=n)@h$Lt0wsvhLQybCYD>FE4q_ zVr!PXVA2(5=ECM9bpi@|7#1|}=A3bmIAp+X*0PX8?Y~6RJOguf5go=rJ%`KQ*FG&f z;``Lc^#sGSLmze=@f788OgJ1-lyJ?UBb9mL6sDjFi#!c7HtEhj;>5|)&3bSe1Bb(b zrkH{YjXU-})HCF~C=gf1RDR)bP5gs~%56s&g;*Z2wq&%3&A8?qbEVzA`{pCNEl;|y zJZNVwc+gQaEppxGR)4d*GkUi!Vcw_j(BAfA_F0S7f<|cq*JCwzuPn&x+OMC`AkAOU zQd#t6Zkl3u)18+u9UQ9;Hd`?<R#vtKFghHWnAFat&FIP{SjZ{Gx<Eum;Sl$+4^7jr zipz6(G<MiT>6L{ZUUa47;mJv>_lqX7cWPSsx(21p|IJ|7`F$tv{~A}r%~d6f51C$O zVozCYzkIDXW2?Z7X=R&cZ0tR&`1{g_B%j^dQVB0@y>47kyt3Iq_=X3Y%K^rDF$QhC zJc$Ad2{I40*mpX5rLGE1ZJu=aL73eZMxJO+rujb(w3%sCYN>WKO`Gm?QdYz<XwmEt zPOA-8Ive`V=mf+j-wau?Jwla1V59TdJ2N>q^&V4Pq&ZtmRQXIu#gTY<&3RL**x4UH zbW@pm*Vmy<a9>Wtdg-0LeP(Nq_I}7^_K=&l$mG!X=xmwqmZvKC+*3V*oplT)=Dj#_ zblMJWevSnWj|?ZMwgfTiuYD+*^&{*zgFur&fR22UhvNp(4U^Q*Tz8S_VGvRIpT^nE zm~ef@hZ{STxbASAG&pc!M?guPqFlI7r!bG)d4X@2A24M;H<?_ip>DQ0O7+DPr6{Wl zmlwR=(%<RGm}qsQtYXO}nU7xL9t${J*L~q&Nnzo?cc9rh@>S!J1y0r+JGfoW1kE(v zqo}H)pnB<!nz@WeYtgJVorwqkr1~wr>Qm{H9bxoAZEM{eZBs^L)%0__F0Wn3yejz$ zTa3d~vkTp<MTXu1S_$n&PmUVQj!c^u-zt1;iJ1AJIS+c&#DbQcT~o1d#<hGFCGLKM z%h40`lFr{U&3x3eBx+J)UfY_BKALflB~B_B6uwJmVauF-U(;#5qDt_@ofRQhZL3^& z#69f$|5m_BB<ety;tuEeO`R_`vvZYk-P&%WnzKRVkz%_}knMv0)*OrT9RV*qbN&7< zbzoLoz@#D(!Nq%n+5We~q~_O(aVIqn<d?mAa@&G)^7Ia|?<*HDaCQWk@>Muk+?{pb z^vLh7^rO-?>MMo(GB)hi?5!}FZlSd5KPSV_BlGeSg;=M*yVTgTzVS@N4DVy!u1)%) zjQ%-agu_idJ(TLbHujvd7ufWt&3=g@??M&Lwy6<QkED7tHmv;27SUjyGm&xb6z0SO z>^jHoqg_Q!8^vyI^lw<4cwmck+JmGUjP?^8efA1U1}@Lo>?pl^v(NnpynDZ<ce(L! zeTc~m4_*+KnW+BXF^;|YfQjzaPqs44c$^~aF9lXfY>IJHP^<s${NP%`B~^vcD~A0F zb+b20GAqT-QOG`bO!;5~gUkU1L8FQ_0{p)p$j>{##iwL+RiMhmg;ztE_uVIkqz8;L zGqism%-`9_vABUjS3yB;fzP8*Zn*~YU_<fQmpx{G5qf#WtjLKa{i7?_M!jFbG6Jlo zJ0FR!X0meM%<+1egb1Uchq#2w11W`#&G#PIZVS>*a}bO^BpGZRRmmo(QXu~PdR@`P zI)?zU-m8p(A3O`2J2HY;!Wo!4H+w2fsIzcSn-x_2yPdh|X;0@-t2v7_qQqD`SXmsO zF$r3*<}xw`2MFsqh)&z|pRH^ITWSECrvr1@1TW73iO&TBG83e>e`-uE&e-9^y!)c` zT2s4=g}Rd;3dX88GrZ*fxkBd4H^b8DydRuhqSX1;ZjcrUoWTE)Lu-kk#Dxj{%j|!C zE)xmjz4;+#eOv3wZ!Oxc2B!{-hqQ32t8y)5;Qpe>EIYYeeDNe37OpP~87GUk9aI$f zXUO#;K<|HRpmMU&qI4r3ruNMnxR(?rFgI~65>S_$T;rNzT2a&}lfV?wI#sh=t+_#c z))q#!157F#5??dP92U$vk|@#4C?Vv?Y+k}GJdLa8flk{;0e(kjiG+#EXGH!>lRIq| zYnkNU^}x&Gk&Y0fc9~<{vY<Nt!2enq8`w5SbWh0Cn$c9Z^b^~>Pnt76u`gZ3t`oqt za7%;^1Jhh3@m0ZA6^ktt8X{7bvA@2~nEhc!%!C<FEBank^obPoz0I(mKCx@H3tL(P z`|1^J$ChMBEu6mn6Dvo1!My~wdzS^7CP>LASD$9#TNWsFpNVhl(+PKO`kbEFZ}o#U ztsrrNq2xMuNm&b_`wV=~Qh0uTj=$U>b8(_hUqK~9g5ko1EHh3i)=iE=la)jtFt!`; zw`{K1WUljtLGHz~$@4F$B?qwNEpu`+V4S?1UtP3A_lncQpoI^Uc&-SvX((4sZs%RM z#O76@!Wj|%bq{hyjxlW&kh!TTV3A<qnjq#7{@+WXVdkP>uQbELR7XZe2PQ5>*EDha z#P7=MC+JsxY*e`*&^b}OY$cP<MFE#q1Frz)b5EP}I#_(IrWGW(#i^)jZD8BgAX)!V zyfkrf#;O_5!?n^cFs3`yZI)Qx&$>Llfvqq~YgO>frA2iy7Z@`fX66@YrkACy+FY+X zf%SKJT5Xkh<tf(e0(RHwEM*NGcN#euH^eb4@JgA$lG4DwYDd?W$Bp&NmcE=RWu+k` z;;8%4z*y;{uAqqkE2HUh0sdVN=B{7mGvy%X?k(IK9|}G%vYW7t_rgSbcMI854ZgQN zWUsnlr`a@rs$)R7hQh`L#;jWvLoV2TH0IkNV84-pd)|ltoR!C&zbmf0UA6A^E6$&x zypzl;g$0aER2Jo~Q1qA_o7-eAs=&Q9FksR{MxH6_k5A;i5X!h%rN%5#KV_nj=0#0r z1*`W4{8`D>T3t(?3)}B%WG@Y1PuU<D9vpk?pg^lKGrOV4-j({k#|1eT%!w~xyjRR9 zcThZNv82|4E(J$ziP;-VC$N+|boV8SFLV+SxVWs-vwO>p2%$u+bO)vxi@G;N)^$s+ znBJ)w(5+b$rFEL4A>#vk)a~Wz0exF;Y;{d6sV}sSS-?6?nRzqQocXU-dNQn9b42i@ z<eW#A+s|7zaj~jiII`-Bk)+NpC#KgydpAy5`e4HOB@8>=Dm+*^HaYzF{n*re_M_n^ z%@%H_MLMk6a~0N2dyqYS!8#=agT4grI%Nk&2G)QEht2@5#ZTppuIaEWWl-MgGW~$i z&(`4ERWeP_cfH73Vrj{E#eh+gE9OeU)Tj@l@spUf5_I1c8y;zx`pbl8s)Q{60Y-yH z=6vO8sfkRrT!K%Py9@=V)lHoHH*4df2mEpmOGFn+YBuVB3=`VZ%$;;-U$>ydF_r!_ z2JM0c(@X+%=55@2`MKoc(28|4%)%ul96ruk7PO^|QDnRG29*Z3XY8|u%IgZHW^eqt z?0Gv|`G*-94a*CE&B&KpQNMuw?{anr1_#jv>{SdRp^FZAURBFD$fRE=vGvl*xx4;* zi5!sXTxh-0aN=GT_S1??1q-ADl(<5ZtDl~fKJYLoYq`QLgXnJ)%h)+h&v{F}Fmn|b zQ@)aP<jTx`XD+)*+kBUcGK(?it!gV@F3Q96MTmz**=Sp>T_xX(t9+stCV9@1IA&yU zUu@mF?!2AWm2L|Z4qbD4HEZ|b0}GB!*spcL*@u}y=Rm*F3lnJ};g1_8ZFA>yF<cyS zP}I25-12}}&^A{74kkr+rm6tbbGLOjNy*x5I5pFi@#SqfMWH&;K#7f?I@Nw}n7vST z@r_1~<$`B_HfkLZ*m+5(tw4_VVXIRrhj@#8=R@)OLiW@G_J%;!9Iq`~IL=y2&(42v zFk4`Gy2AgJiw`XmsA0dq=3u!adqGv*b9R<0fs|h@%)tRnq6b*Z9?X<=U``Dv`8j9y z&P<8=iz{OvuQZ9#-nvXy=YXWZMDOnj3Y|3xuEskiC9+MP$h|B;P;N4hZb|Uzz)pi- zJN|B+d~|{Clw%q9nq-1F_xdm9?Nwv2V&Qpl!Ek4Spnk2Z%qJ#i2afG3OoGLglV$kd zK3>D}XxF+DPP?Cqx{jRei`MF@#NC`Vd9pgU{oA##RxQlEu{%*C`I{p@U$fx~9f3gO zs1ym8wGZ~pet7E3BG&vx{?k1+ObEzU+hFnKf-I}3ON_Y7ws4pD25V7+Ia`II<s&2v z9IXo)*pKZ@iZq(IYT^H8p<F5d4(Y`o=c+!mK9sU4Y?9ZCB|38o#ee?Un*M<O2G7~& z9B1$H%ogT3dq0Q$f{xZ*pDl%6TCz3b6S!D<n9~=ZJXbHULVC`*^apH<i~8oJ3Ojs^ z{FS1TwT9JX!^YS}vg!`X4|cE!E=baFGgE!Yy-0vhYwz|(ZkLIStC?mme7||}Ybm{$ z_L@7z*MtA~mcBiDU15H&b?3=0nQhlExu?iCW=vkr#>I6&;_t-@xvj=8w$3j}Ua2mr zW4Kr;=DHn|;ML~x2e($OP0yIO;eu111*3=;?~!FTb;1m1J{~@&ed)+Xw)-aKmjv}J zHZWRz5Vvp;wV2>8J;5UP0DJTV<{+{EEGBX+og7_mR`<TM1)iA_xvxc{Q|6}3$E9IP z(TWFelr6J8>KwJxfpz86q(fiwCvNnT3YgRKklUw7dy5lW%(-pbX0lw&nZ5Ya*-JKB z4{WwQk$CnbLgZOSpBwwRS-$6<<gm*+aOf;xpIF6q|ILcKKIh80mdo7Px?~HZ(8umo zhXh0?_&02pwK*yv=)ie}S*|Bg^_ld|pB1Z@ZJgrcY;u(|c-@3DrMWyJM%>1Wv#0LZ zaYxwx3gi8W+<W8Z*k5d9{CX|smVn^l%Mt4~YpvR(#nSWIg<WD#9Ah1WNMj<?mCag< zSOmWXc^L>!n=51<wfRk@vUo;d>xw5@F4MPtpDl4G?!QFY2FW{dZ2qU-X05b+B_YA# zdm#PdVjYJ*6NL+%f!fD?wX+h~?F`cjZZR@%c>kS`g;!hizn<pu!}SgqB0ipb%Hgm5 zL{B?zf<)PdK9L9Pg;^!31#H`xSC&o;S-R=<u6KLW9Q$^zoSk|=>Z!%-Os|qjRpNOQ zW+&v$UO4xBnFEvJ|4&uxp5K*O9>cJ*JnFN|o`cr;%d0lb$p5vhA!~U<-tvl5to8q% zSL{0IyZ^J_|K%A9niH?|_FU4Oa7C;q^}MXW7pLvr>@j^i_-4C>_uY>Z&+hx?;@-D^ z-hpk*T`n8@{_W{g_Ge2Ccz^EC5|IyYvmzy8>^}XF`O&KQ?tR^zxmEuUoA-Q(`S*@l z_d=IHTik@cSiYb0q|BY!1*aX-VzCzQH5F&sZMoEiC6QBjW3$-w^WR;TzY`XhxbOF- zk+Ec2y|w0<kH^owt-X8w_}pzrJlP5k{N5rIeV}sxf)yJy4>~NqskyZB!h#=f@6Xfr z@A9fQeBV7k<c75QPL8*Z-@AXi&r%gI=Z+EIvggMZnfK9oKMFSVWz^3|`}lU1(B~V{ z({@T&Zxohz^5a7ezr>mSeQWn0*v8CJmYUw2+LkIJl3kW9TGp4{)zdq<JElxlRA;u1 zY<A4NjO>g>8M3m=7RknBq|2snSifXr`r2h1wyu?}%FoD`%|95apnCMc(Ict{@^w`I zGdnDtw|-uBdU;v-wH+JEHl$wdewh7OWU}bPr;}cGJZ%$6HR%-jm|_y=8E0bRY4SDe ztH`H=%FYYrB%9cH?=5azao^GT&m@^S9?$MOc8i|$(3$Ze!O>mRX9h>)!jzLfim49- zJU2C;@R@B@Qq;NWiL(35lyw)UzYv~oEV`*h(re3#i;LYhPib^!?z1=Y`TA13am%W! zi}Fu}YPcT`+_O%^ie;x&N#8}Ys%sl8(v8&Bg)L8<;x%62<hMJ=I@9Q2l8mGa^Q|+! zUT^PM9PafoV=CIptLV~pZO*D`$6n3hbGYZiXsE!>k+C{%?L?&tgNrg%HjTGbgZaD7 zE#msO&U$v`zfN!rTg=?cZ!fFg=~0`y?o`uL<%!H^W~p^AlV=q!vq>^JA$ZZTmRHvA ziTQhN*2&Si)0Px&)~=WwYg~A+`@2Q8kgEGG9lm`(R!&-%-K3x4zv8OS!?#yNd1Ygc zGVo>{_}Jg%chGTas6vZMaA6Ir!$S|XjKE7a{VJcP=7p6`JSLq!A-O#?_X&dwr{$9X zCIN#@64OJOYo-da9+nk7qWDzCj4RS{0pmos`iY9Hk*YdM{Yu>-2WDh4<b6FcIdty9 z*8E8`4dNwEz0_#!R(K$AyT^U2po(6;!(kpi2ZIDrX;+QlUcDuIE*%YxtO!o(EORLg zoh(@=9?z-}!+I#H|G<BD7Y5M@<_kS^7z`(cNpm@!5AXK~<@cBUsw`SLf08*rD?`Q9 ze!Hw0>_MK76OzQ^H|91uvwyph=#=vzvvQJe&jbZYb(N_s^VM`7Fv!mgE#-V7>7%*A ze{t_IXU2{q&F&C+#fb_*oRK^mrm3^8bZo3YEqc{WEXakiMfUBVjmM>*Ok2I!tbNMF zv$7d6rUzudK2n~@Cp0loviIw!h-1>>Qzt%-WDYNVsu{kB@obl>$zdgVkBx>m7_J^L zdae;Jml-N@`@p3x?X5MBmWS?Gv#}sB!zYQI+ekuPbgM^XbXcg-iG+5SxF?T~TARHp z_IHrWyA``k&T7gk$9Z*6U)s-`^uI9J^GmIhPP}M!kYim=<CnP$-mtN_E0rZE-L%Yn zKeJ5vag^DClJZGgL)^HWmbOWzT!|HJusqo!u0F%{BBP^OoIBf8k5t9T)tys5CWLAQ zEiMva-r@P!UQBaEo9xWS;3UbrI}+C`re8?>b=vi;;Q>XdyTxp;UCtJ^@uf1<cnGCd zOk5wj=l{{)r<xNtr*{fomUENKkNNq-V)NpNO~)4<sTMhTyXO<<smli*ZO>fm;`U2w z$@grIbMCwe7wqF~j!w3d^<{Zg*;{6^<;tui5mVPL^@_RepA1eaUt7=`lk3Di^MSY8 zx@j|bJw3HEFLV8j+B%)PHAOc{OQcs|ir~44|K0V{4G!D?U=w|G^0h_{$Dy!U-(<@? zyV)FOoK0v_Xk|>`D`wVk6xlW5uz2s`DmO`n;16YsV{{%FetQ(2ViU-A@9yHx^p2)a zr%V`BoK(tLcRzZ+%8Bg`E5E!z=e*Ekj&4SACo3O2Ff$vN%`oF}5UGAO<AqDR-Qp{3 zsfBOunUxf_wMDkN<V{F6Z<>5`;nj~VE{P3~dY+lQvS2Ut`hBHWLQ>1W@PzY>7cCxJ z41~fqriT{XKELXP_`DBObY-V#NozVPiH5j+kP-Qiu*z-4c9yrjJW5BN-pe~_&ie5z zPjd7^<tmr1q)ATvJrYxmmb(e`Rj><ZykL5^gtNDU_ra|HH;$x<lvNxyaalNn@8N=b z3!1jGM(WDcNgOvnvHXZ*%wnEH*-Ee0JZ!VRBCPaX;ZoVA6X(k%l;$1!{M?pJOYq*u z7oC4(j!5oG<jpy8F<EsNvqfJ<Zx&C{!c-e&i*+GNFFNx?7acx&GVY>Lc#i&(>Y5ia zyBA*Y3VF=;cExmiLB)>p20^(GM>K7oO`Nc5;=<a`61V=Aby+MrDD3#VL&YZG=@ehj z)Q*X3mQ-v=Tj+je3G=$F2X#xna_FxKnqoflxPh$2f)Wk`n`Gxu*PO};F`s&;D?eGP zcXq)x(>)7y4PSOUpJL=PNnvrE^ZWk)X<9Rl_bBpK-AEJndSIjX;6j__p8shgmnO8? z_q^CJ<!`gyr)xV|OTSt5&Uj${CN%iU!7JRKSd{nwaBX+iD3t%e6XCZ$<AO5>lhHq& zAmPB@{xx1lWcR3Y<a3wxW=|1Z+|!YquOJmv@Iz7h-5Uv=OOcl>{w>*cTY06MW!ELk zhe=X*p1yPXX~JhB))fDC#!7`n!U8931m!y=RxG<!KB2~CoxJr^uFAHThbnF?oW$^s zFWl1Q<nn`z3`!3gnnc$y@|jc|<XYCy#MtnFwcCN2A!0+z)dPtZ4;VS6ey|H!On4yF z&A<>+@u9QYEm3gJj-w$0jZ85<tXdihteO=Jef1NVl)v2IaNyfCq1S*>LEQ3$a76>x ze}S4uYo{pM%-$i&(Iv1fVZ}p6egTJR#cNXKvVWe|6mZ}=mvC4%$9T4?L@4``fWu;q zj64cE5)C^7c+M<zJZ&Xb+%K=tX7D@mOp=(hP?F_Cu7DZLz84$V&NQ&w)I7X6;UClD zvksYFj}P+1A2_gh;~!SWiYSIDbz9i>EyxJcuDZDRS_6~9-v<3PR+rYi`?C1#g)H6G zQhclWwy+iOvJ09Wown^r{FZrUrjblyeCHm$v^lbr|J?`o`a7NNr8Y<UmMEskd&)*_ zy?J#)WY`hSm7ijoG<sjTdRtxXirczKcFhA8?S!lEkA2#mu9GZ%JK~se-*zUO4|)7o zZXA8Tt?<B0-Txm%&g{O&)lt|hZ1=wH^6i8C=QcDK<|YbeIC6`n7qZ^@n<vG5fW_qk zQ|s1-2A<hBjw&r+VwkdkMN)(DpjP^)&Z!?*xLF<8lr9wZ6~1{qPucQ>?Z1uv>IXiH z2*@%-MTD@51T;>Ik5N&Za8NkKpoQVcGUoUR+nF}>Jl83XJ?&QEF#lA|vlGiIwPOn0 zx^03FXX{;ib8f-G-lJ<C>pqTno^;_Svx@?=pW9w04ugXNZ5O^z&E|Niq_B0hZ|uvE z*^U?GZj@Y$zWXZBKJLoWu$onhe_x&2|LfxVum*;hyIGOJ^FB{-+bU^uyvn6MOM7M2 z{S_a?e@7~b-fpgw_fM1jee=J5X2}0op>4K8xv7)<<SsorU=#8|OGreUf$@b(OXh)h z!O`+}qvLJ%Y__TL-yL=O^RolHJ=e5Oza4Rv?|k{MuY3QsamU=_7qFBOILo+X|D31V z^_C1N1xzbn?>}bXo@nHr^hK?(%PrYxT7u!UBBSGlCdcx*%9A6uCEJUYIDad4PET=} z#w2#UXpTvdR{*1m0YBFQ#@~$cm11f98%krQGubP!*(;>kFJN=n;Cm;eEKq?pV}h1Q z08_3xL(l`B+e@4$FO^hX!2WStaq01Nt7+v{)01yDX=Mo{1zWW45aSmuPtrfesI?$L zrYvjj^wPP@@@BPHE(>d0%vP18QMqW@|B6WV{KemEZ!OO%smR(fO+n^B;zo7Ri$bRN z6ixT3i=O(fc~>#P<7o4y<vtn0{7NrsR2i70Cot<xVAf77-RP)uxPe)(foYP2dUhaV z<%=rsHmxqP>QmuDU&^z(%B$9JRBd-_`>>3mK%iUJJb&G>rXOu}($5Rn)Y<sb^Lg8o zzb$7`H7^opuQh5&@;T<o@graJc!SpWqBAoR&6Xu-xwFa$B;WkeqtRX`=g?p>tw6XV zSudhd(jvu;y~NI(QR+Z@+qI<UjJ4VuOC`3IRz7cu*p}KLmgc6wkiEhA(vxPLOU{l0 zik}%+BrmWfOkfTQV6hZn5#XE{{lJa+0;A`T|1CA!iY>3DTYY0~bIb^x(O&+eB6vpI ztgy;$Un=^=t0uWuZn)95b6e%&WejN!lQU0D%CeYzU%hJa^wfT{s@2zO=ci}!vE{4~ zO3*j4U!+vMPCY@-q<Xu%g5v`wzL!ke8yS@vnJp8TCUh{jKN9V{prLiaQ}lr6;Z07B z8evTy^;~Yu-OJc=S7uycPZW5T^uVHydq%=~j>HgydZh=98t(aD*b08M<v*OBud=P+ z^R^}nvEr}oMY_ilIKvWs0<%_qtN84m)Gk&iusxeUte&ADt6(Lg#`9@6ZuIR|t7G0? zZ1;`9hAn0N%VLQYjkazjq5=$23gui48E-w9i~?9J0{%0;Rur}nU~pz&Vtl|@Ii2bI zji#D!O@<O_(VIC9lgdgL^6Pw<z;jY^E+f;V8O)IZO!r)v*_Nl5E}vL>J-v1r!~F#I zf}gFs-6pMYW1Kc~vaDFr=l1M1WmOiIQ!*na|BCF|F|Bglw6-jc{9Eb_j+#|TGitlr zD;2k8b2-%uEn_laU@%EoctI&K>8VriqlFP39W5_H&L0vM`qsW+hv+><hv$J>iXY2U zB;`(pcU(DcS#VNeWs@9FSS?Rm6?aym(Da#68Pip!&0w5f#1hf;ep$wKi)4wmBq@R9 z1s(Yz2^kFRZ3P91TpbPE(`Kf=oGLb{XS*izn`H{T-}u+L*S=W(e+ko!1Rk*@r6-n8 zrj@#d_if}%d8RSj>07eP^GyB;T1*-Zp9_+{hA)vx$S^vf@ma0l<F=;g<*841usKX% zoB2>`Vv@6qhUg^W$cd%SldV?1Vq*V!V&W5zzLMqh64kW!l(&a=WXVj+T(LYu=vv>e zl?=1osy6J(Vt&=uZJxz6p{?Kp>*kF1Y2WkqtZHN3)uzLlzu2t%ty!()GX5{$HJfKF zytb-Z=vw>d2a7z?Gt>gKM6PKpowW95)e6xItrs>aGGB^cyhTxOmDUSKA+=T2nYa2( zyD~msn0Cc{!OCx0#y@9rPfHA#wZwbX65i)4gm#p&ZQt<zTKBQ24ZWw*r5WZ39{A5x z7Emu_mZ-OiRc8S!i%0vq8#BdM6)8<mkS<R&ImvkVl}`Jt75)W<O4k!s{h0N1#`21& z6esl*m+;w^*9unsoGyNCS|=l4M5tT#tW=#B1u@ITb~|V&eArSrN$re)ZrKB#xwlqM z7G-V!$|ls2DzkIW>6PWy-&s39v}*0n4*pTGyN&(p&DG&AW~%P2;4hf8cUMNrjrDt` z&EMRS{V%GiOTF7-W>x*_JXMXl>{UxjENTVaYI{x#|9Dl^9O1R}P>t%r8m5elwrgH( zKXmRk?tGZFu1QJbyp#Q++3S`t3CVtvy+2FwV}MrsshV}>a?FRO*LY`fWVLI}?p>`` z7b3uXCF1{*|6%RoQPX-(t?;^C$L^lAq;jEZMQ!?u1>0w3&Uluw{Mfb`Yz+THS14^L zbX{2`qvo`G$)pu(nO4_|ZOR*~t5RII?W=i}ypJP;=|JMY10AcPWhP$Y+}9xKVbQ3q z!Nw)k!|%ZSYSGq%3@m#DcmfwV=O5S+nmspc^#RTpai1L%r8~=?XU>an2>He}e^q$i z4fibORoeu<vrhb;HEUVk?p@gpx7S>2&uKWlov~{{9e4Ljv-aI9mv(e+`aEqZgY|T~ zJ3A(N*Qz~SWL&j^`IG2`+dGy=3q9!CDV?-#!41)V@7m1Cn&uPDVgt1#h1Si>7E)`N z{a#{iZsnr$OboF*7I%sLUtz0Uq*{2`<iSS0Wm#>jvoyoI-z_iTUOt22!R}KM%*SRI z=$9p)Td`EUENjNH$zNA?@lH$J-ByxSRokDwcb!+OYG&oqw&k|vDK2G=PSg9uJW7N= zq)vX`A~TJpd7IyHRo>Gd*vbr6SxhT$JeI1-VD*Y=l@*IJr;cx+!!g+c-*X>MTbdjQ zym0DgMR{U(vbo!;*O}FoI}*FZ4qaED%xhNvBl0l+uC^D)vNir>ZGN$>A$zx;%o_ga z1^HQtZL^Y!Z0a6`C%rzFSF$r9dSSu^qYjBvM_wFUJ9G84ncj(Fr*>#^=`sgt{W~+& zHGt)!x~SADtts3LTpQv&)QcLcc0LIFU;oWVJ}$;sWLdoj`#OQ%UPtTcvwr4xa}{%a zC{z+pZnVnRJg|aIyx^M~tFCXK^USKVyYp0ID(9`NQr)qB>9-1j=~@?UGP6!6dKk1$ zZ_7%0UHojtNvRzt?WXlf&nVz3n;500>tn>btx;0!b;7S{{lXI4tlXGwS<aNE&CPyL zm3=|-x(e%@hdkY)tR5>Ej@Qgv?{iRcCR1kAl+O-lS9WAipPskaY;DfUEQtx(8?6d= za<~1@+Py%%yV#<=bM+F|U3t4bk1vT#Qd!n&kUl;7SCWu>ee9pLt5q(%DBM^jP#ah? zTP=V^Vlty116z*6RJ{!>(i>Rx1sDVim^eO^SOolMVq{>lRc6)^P-A>Bf!}hY-h;W5 zEjCIsY?i<78TWE(d(hJOo;jwUZ(p0M*vfu!Vq}v>cVg$xb8>T+ynfSAxn>6E@)>QG z1$$;B=d56yDxS^Jb@^3U?IsTPs~%@pcJ{`uN?_c;lJJ0OQ!I-h1Jh&<7M|K<YjZ|x z>yo8hr)KwT7CQGpYsCWXjI3z&D)VnE{_JkDDqqDmeWLWba^W4bEw>1BO`D%PbLPsX z^+5-f6b@W_c#~1)!NYwsn$Bom=6;>7S&+Swll`Jn_sYoHKUz;VS=`vUEvrPELA__` zZcpYvXQyAA(Oc4aKX_lljT_Vdyj@c|v-gF1^32#J>SD#GG#aFS|L+seVi(!w8Fj(< zXe^7gL8sA&Eg_t>j0UBl<}6VOrGgt6Pjt)<5oeU+s1;u><X^3!B*<X-plHWl7Quo! zdJmp^EnuCeSZb(H6nK3jQ%CRpRXwI<`I37t&R^GBX_I{J$4l>3_mbxosafRz3EQB^ z$Ry&%`hWMs^7I0R@?P%csT0|zED5U@pI#Jp@2S@5?AK~cSN3EneK^J#a693SsA-ww zh4hX5*ET%iIJGoupR;?(?3&k0f4w~svv29CiM}W1NK`&va%#@&>z8;>Gw$ERHqW!r zeARkSA7+IE3=SJOMK0`rzH?4#?m?UKCp%}~$ov(;;$JT@>x13BJ=!{T%vRlfwg2yj zJYWsEAR=1-QNgx0Ku=V>KO<`2$J(7A7wo*LQP!I(H*?<K3%b{hy$mV@8J;tKU=sZB zLhpM~%uL3U74`lXiUQl`m@j7uRPPl`P|Usea?X{a$@iWenydIs{grsQOl#hA@pk6c z_7YQNX0`Q2n&OQIA}$%QUDnGz{+hjEzFxtPWxIKn&)_zHrYhg4TU$5tLjG2bY~D6@ z$CI_o+S2*E^5o7`)UB>?UYqeK`$U;{R{wVf^WSgz{<U!FZF3Vp6_DF#^PR!vdV0Xy zE3alWmd<@_{rr8@^m6mCBu%!N4^MfDv#(P=p0spP{=ON>R?9b(|2?&y|EYRxy@dbM z!?P1r75^7SJz#HdUntD>G&l02rr*b6$)`VT>s34M2d>(5qvQUj6;C7P^+x7By%e7u zV)v@$Rbg)bC4s%?IK)=mx%(`)@Al+*U&8)hVCYEF5HC(S*TA{r_2zR8s;5&bEA!8L zeB=Dlqsq^r6w(yZ8p6dD!qD2$+|u3I+0!(sy}5Z}ca#xhlvfl(H$&8dJ_aMN30yJ@ zyINb?r%stRkxNsmKx$XK1b=)y(?NSC{(bwn_V3C{J9T=ORQxHatV>s<<fLR|<nG*2 zx-Zqy!LO<5_FPl=)hjp6C;Un8K0W;+{Pwx<%QwG&e*5=L^N3<m`sxIS#;r*ggERtI zG=mr;HgG5;2RBH}{lDdilZu<;Mv<fwM~lVv<#skawNm@EXrhQ{kb;%#6(%MZ@!5ur zEDVR7*f=`*9j9&z?l|UcEwxg>m#cwIlP_d}Q>!zppUSGRjbU3;N|V=m@JKs`DmblL z>U^K2^T#TM=v&)m?yU>Wei^N_b+ZY_rv}d4JNeV1IL%t71uSw+mz~;cx?0ewg+0*9 zZO69<kB@KES-xQFH={#N9sAvQwJ$UuPvY<SqtLPIYx8BfYSF_B9KJC#YIZ#Qoqi<F zaPn=rAJ*4@-``cbw_IF5Z@ujPVlD;^Pf@SSD+1R!geE+RoRh|?r5?X5D`Ua)GmpjN zzTJvdtuA~h82I)C2j3k1(4&z@|F2ib{=YWrX8X;G{@RPNx*?uQouQvNUAmi77_W6H z$hdIKP?#X`jZ3jYlZ{)c$hCqqQn~B%gXZ;tg3gs{v!;7k&STv&F{Q6Co!eGvi_rv2 zgLy9fj!y%MlzZAQd{*vpvvY{fw*N9Mx<xBsL9ZT@Nl>GU!jlJ0+?FW^QU!G;EI4GG z`|{FEHhz<rev|j;mfx9OV04^+j_{VJ3P~X~?E=kuavbyLPy4GGP{X;^y;UO4_J(@J zwi1zy^7eVh<7)VoyyELQN|%HxJ`qd{QSEhkCAoBlQBl|mT`?<-iZ`qx^A>S$T%nM{ zq^Q{`R{Yd*=DdDZE+H>Bwaz6RPo6kWsQf=MH|;{7=GCSr6Hlw%R#*Nqq1nSCSCWIB zLFdX8XFi33nW`LWCEiTDTz?8=7KvsAI_}g7VQ^?&ZF)1M@W`Fl=l8z4^z!}e(@T{L zHn{aYiB(?IuuM>8rex=uw2vZNbk>?Id!n`FqT8Ohp64r{Xf2RwJ)^OB_DU7En*P2$ zt4`JZx*1rZzx&T~MNT2N*1+YnUQJDXe{<36gWJp|eM+-2k9u;%_VrDJ4enNNHXPa7 zc1vr+wghoejZ3WyI9g8rdKIDFRU_Ob#8^`_cTeHbrQsS;Hij+?Y6=TjnXdHOnrSWE zFey2z=H}OV?BZGpw-ih=7N6ZCGE>3HqO7*%w!v!756!dwf0I&d$eOhMbF;*3erF$p zBQ=Z%gc+ywF*ES(6>z-iuOaAMdcUBdi^s?%z(qh*;jwqj=PH&(oC^dTk8r1+UmB)S z#`%HQ;MD97+jv|8SQw0CRxEI1O%6NH#lW#AyNT0?fng8lRmS*OjZaCsc0WJs$#rpM zmn1L=IP5vtBzFJuc_+@GFa2(kK@twERt`;!5(W*bFC5qz7?=#6FtA%NIL2rdER~tE zfQ7lkiDB`EM#DW1IDhX>;4ENZ5m=+g<kFzP=hnfh)X-3IZZZewIuQn?4F_0mJZ50M zbCgkPMIx`o5=O}@4D7}R%{8|dN3*Ud>|&V1!1&bKkwvM1NixLYf9@V`R=(LU)^U}* z&w0e{@P6L`o{T?_xQ{U$(+Zfry<kh5#QsWm1HZ{lSD&z%&R2Gyx+qcMPR%*x44q@o zKbf9LxRWOQYPMgh!;{XC4hJ^pihG|k+8IJv6quYJ91*bFcrwW2xp0&O)6XMioCiIg z3ndCSvTyk)<`bdeF5}Q^eb10*(v8)9s}%hv>n&G1*SOA0MuO=h(+3t!HwLb}YR1w_ zMqSc=?pAyc8ydGfoEYe{e9}STr+X|E^lyZ&FkY=PO))>1hu4IaA<jjeA%wyEjbrju zErU56Po^%eRAlH14>@QS8R+VfG)c)t!-?}u`1V(4cv-e^9}w7ggj2X-0gLPZf<|8N z3CtoDFDK2Gxn07<&~`~wkx9BkLn1)H@u6c;o7xKosgSBRlRb*Offa|P|1q>^><C%r zaN;1F*@C6K3lf-@?p72m$Y_!bYhV)9m?QaN0i)D`#*VaxX1mpg8I1}q=iG6YyM6As z+ZRp7{Fv0EYA4$556iA&+U3BebmoFsyhMlOdPn6K69jopB{<}o_V9WZ2v3@DL{Koa z>FnfBuXf&c;450N+t(l`yv4(9(hM&Nr`IbcANhQgl~3jbYntT(wwsPY8jF@htM0yj zHl*f!rB{FpkHgA<TZzw0y;d-6ytC1r@yOHC`AZIE|LKx0;&Cosb#SSrR=TC~0cP`a zw;leooOsrxl(5xm#R4X?l61e_9Sjo3FPv^YGE?lJ;pghhkJXemX!GT)yyVw!!Wel^ zw1MN8%fet0xjO;^3_=+U%oQ(k(ywbaY5X-<d39l5!{Ozw?^@rlX8dtUs7QcO{7fQW zj)oIM07KgZJx11^R7U?r4uRqe6c}7JnwYyMFmmqRz@fll$l}Owupy6;M?r#t&*}r4 z&XfgpGV3xqEp!eEZd$-B8o|t6pfFMBNOzOSl7>l|3)<AO8Tju!X^@OKc-D8t<m&kq z&%*C-^GtfAm3zB-{=-?P_C7uLHg<u5_N3|`>+VRtILm*5A^QHBYw=ei8AGdjrJs77 zvlC91Df`r*Q2SrgGMPhY<6(vLMXUmz9()g3W||x<*>cC@kEY|6sV(y){1vzBobMCn z3S|<pTi9{9b64r5k1ad}0WBXYk0>(S$cgfL$>r)}CAwTOU6xaFXDsvdq8Z9<9BO+z z68mRay_(FOuuoyz_62%ccTJa+oxb#D??JumPyQ@@AHpfRyH;5=F^#p>_~!l3fdN(l zXO7u!?ecT)p46oB<M4#kU&2Cr6p!kiaA3PJfpJ1!0$<_{hPO%qf|75xaCk>BN&lGJ zsQMw1&-=zDQKbznygH2=WlI>PZwWl&+0w|L!*H09{lb2w6oF-y4?c1P#@LJA;%9eR z@IXo<pw0BgpA{Z`%ekJ2s{Zd?mUQ=|>INPkhZaqzg|kD>w$0+b9x19ZWmWrOCH9g; zsa<W#G8undrFdt4wJNW@xF?L4zmB2TPJdV2q~C9!s2peJ5m?-}LndXGoqF@dUB5X? z-4A^CXt3WaoXGL1>*U&{$-e$Jj9j`7UpMH-&b_|WRAG*WYl)j-iI_+tv)YBzdJ7a8 ztnat!G$~%o%(@wUm0|XdW&Gcm8QgQ%3R&lL%&40A#Yyb)jLQoGT<%5R`ox>Gq;%Il zi~Q%GXB^Mr-lTJaIbQ44vpsp|&K{_AH~)R+<hgZLlbAUqoP5>=?DE)jqr_qb17D0o zp@B*bv)+vZ0!jf7RT~bnM&DqN2$-X4aO3~EzZwe+_TN0v&eg2QTqD3@d4NsBfK5>> zNnC`L%Yxz0XI<9`%o=7+;w`LZW==+`!4VG0Tq^bk=E*7v#n~G;A8zI`S-=#gl790* z=<SfE*28X9%naF^&C^m8E+nYkJFF{`!jvYOz4<#&rl?0`yHsO}Tjmq)!|jX*0wTJf zg-x0qG2hto*i`Q$4jIMaJaZ3wA55@hG6>bW(Hi}<bwhCJl`@O#jW!ugikFkQtFG|v z4fT&%%A#(-Cio#W-J<gOVwNM1EOrW(?>wSkdxCjJaK!Uq|5a0BEf>}GU6BmkBzBvj zDmFFjK|}hXZ%uhE94ns*9!ak$_>#`Lv?(c=xia{_MVoQx8j(^T^V0ncwKH3+Za=Q^ z`e3W`EI@E8i#dypvwG&72Bzo<jQR#F;R%I`Pno<Gk~A6$G~E(E9cNEmkk4XK|0sxw zw<U>LA>fa3FK0)xct)~{i<5Aov+Mz;hyu@$5G%$Fj0y`_r-xW|wAg-32}temi%<?* z{DCFy1oue;$4X;WFY(kiWBs?nEhi?VXNk0&N%mN%%roD40#ie2;kUGl3#1n)hZnU@ zh?o&k9PU0RIp(NB`1~nc%^$>z9(wf)m}x0Vta-pCr>XeDSYNflR!GoOJ;2A=!1nV5 zCYb`JfCkSM4mrD~D|4E&7&35Wf8^WODs3~#`$*%I{jL8eto|UdC`Ia`LGGdlRx6hV zo?lj3-^j80O21{3{o5khND(fR4SsE*9(83ITnS8q3g&kXGvye|erhVYBIqB_Sz5)+ zS6^rm6Csu;Ci=Y1@8c#mkrw9r&MEe04o`|zUBj621DHhHnDjo>OB&Q`wXm|UNU~OQ zG87Fq+B(xF%~3&t)m4F2{7ZmEK(d&HQ{*9bNds2HkHQf~f*+IEMI4w-9=N_N;ac#4 zCpg^pwTiD-xR~Ek?n1}-(^JhiZnn6*%xm`qo{i4o7awr%n&7r;ac9?3l^avtze%Lu zTxwl@RqASHi=Re$rK!iX$!gCP7%DDVJb1|0voPoS1m!M)gjLi2=VTks&sf3n=JLeL zfj&kItR>0ZZju6-Te)VdSkxQZ_9<lS57eJy9J5PgVd3^Eu}8Z$Esxp|%&5U&b7rO3 zw&}Vu1}S`^j1RxtYMO*>t%!0C7i63eBI4lJa8)ccUA@AEN2VcXf=S7Z7H6#kJQW{U zvo0_;tqh3TkRq~#?WU7zNh+Ifn7>Q|d&PkzFTU8`S>pFLN$@^1SJ7go2h3b51}XBT zmFyO5&oXA}F*rIbXmoC4m8fuBUODSl2kTd5C$nV@GdX)*8<?vUf@K%5XKY~8{>pa$ zhN}I<x?mATod%I3A`I_c1?|41Xjn{pVWK*r!a{!`tLP%P%L(e|3*uHk_+L8rd062x zXOn_b#~l+Zr>^qoD7`GXDnG0_{mPuQ7PXp`maeNU6O7AuC0g1);4T&6Tc;pvxvOR| zgKG)1*&>Gu;UL-O1))BSQXPeM{tN6v0?auatiDtT?KP}XGwR3`^v-1BpB(J|y@>zF zR_~l0?G4Ryu6+|)`DL2*%nqJe6H+S7)EWu|pEH>T3Y&*8GPnvlmPzdos9}3)$<&bY zU~92wXj809=))s^xnk2_C&zna^k*z#3ivSpN??;#fJK&pOM!xFRsfrO>FgIQ`JxU? zCdZhXel3k?VBX(Rpdc3b)4az%(b>6;Sy6SF^aO|MRYBrE*uDyH5tm@KTBdp^<A0yv z1V+aRbwUf-xsI^LD9mu$#a33pZW7MsIf2DwI!lTJqo;tX-%-W~mjg7TEp{&8&gAAz z72);Ba7j-|uiwUfy+}9w_)3#1p6ZtL`R#5e3Q8Xeh_7~;<H5?;{g^TOs~*Dyo-Mz) zJt|iFdU&i<<guBcKlOI!=b7fJJEJaNWa>1RU2mK+Pb50HNc?P;-J``Z8zw7nF`oS3 zYEE)6*Ov=?yp5bkH;C>1x}ZSa@@c?2p;=P9pLP8BDgGl<d~3T}%EUdXiHcGW^pqY1 zI2CfWa5{RpF@7u#@mj{@e2gihXl~oIRr4qFwieG`Q{Wop8n!vO;;@@}RN5Mj2A1@e z7KwuYjN%`-7pZ0~D$B_WE@yRf<WiZDxX3wsn;)08gN}gx|J4p!s~xHiEVEyhm~WMA z@{P?RA=yOC(T0_!>Vhiwadw-jti75}3Jff=+f=1LB>&GYPEROKbzm$HU^9qei@3dY zOXh5mkkD;6Q&Ju{KmMH(|6#FMHKTnNTgn%1mp>CyLKJ6e3Gi>&)1X{^EJ2+^khkgZ zO1p}qsgsu2%_yz?GM6QjXOEg?iy9BBCWGRHjb0yE0=96vEbv&mjQ6RNf0u!S$pSIv zD~u_H)44u+sz2cT(P`DI$d~ys^ulM(4HMK~7Kl5a+^(T0RCQ&ydnTW!r;OW8M&%yn zw_n*jO???Y{6F$2K_N<^VAtf%^#`*AJVIQ;o!^F5e(z!u3}>-;;<}Day6n;Rpd5vb z%WbztvUwj}V(iZNtHkwXi>><aninjtwq1;z2K&Etuzze}-yS*JGGvvFIj>intwKji zXm;_n=&g=y_945^mNPV^Z)kK{<<PXsL1WH=XF4miw+0E%Ime^3<#({X^X^9N8qiJ* zZJiWHS7yGeoG};l=D0FCyRcO_u*G?^@tj@a@`T4e$ECn}^~nc|Q>SdZa)dWmHGD>e zR9(unry`|iZi)r7PdyST=9Rwc=!3cGm2+p$i16M~_Gsn2?tp-m3+xsf+j4ARRR7>J zDP6hbqp^TeY;oZBlehnKEMq)zfo;-UL0xu1Zf)L-oQnoW3a7liAb3Jp_T}R}yW7*J zb=Wg}kgB*MB^4liUwL*y)yy?zeVL6ROf?}5&(akWJtk(b`I+vJI*{TstN8+R|LYLh zk4JoWF{B>(!yB%W9-QvC=!$bz!fd-G{tFUp;|-<-Okvqp$^Q7yX_E~pR$JKOcR6Tu zA243B!T3w#t25_r^ECZAbDk^YTs^}I*?@ED1?*a`x3yZ?jHj~cePyo_aO}x)>dA6- z5MW&I$z`{YHKxJOuH=IJ>I>)g-n_!FJ)p|XL1t=B^UCBCURkO~xA&Z$VR5a~ty$&o z#JmWxhRb^^m%7z{s|@|*KAYp%e)j*oGdyYzGB7xHMqd&Xm&oEc|BYigi_+aEZSzIA zW{KD}9$aI&$Rf{Te&!!0T>&OJPxq`7%KpYGyn=jBKS=2<dZ-d4@yV$~=NjWBlkf%4 z?Ho*P(>dMa9ZDWOPyEH!X!)U@DI=w_Dn+Nlb>=U(q_qq-7arTn@f<wq*PR^Z@6#46 zzSLn>^*@dqv%`<L%7m)kaNc?|^1$Z2+r<{qCjQ?;7>(AjU8@dh$}E=OaiIO>O-He3 zt7_Tu7qI`Cb5pD5X7+@e(m$4G6tI`%J>Oi*R$s-Iet@;MEB}vsouHwhU?5|efnek& z)i@@GvI~dK{@ob;dt=sy3uO<SuQ<4EpWbA5;(yqj?fqw`g>^H}opj@#+*<b?3oC>6 zTuK$UlA1UDeu7lhv#a%2wil(=G^R}0uQG4u=`|}3Gl^_4Ka&z5YG{?~Tqu6fbzwp$ zQ&`RkXRgHpNrxk>3>_cLn3Xo|gu%*5TKhg}XdV!^p2RO-D6!z<@uoW#zs~MDzwFBW zS;rGuf(#WCodp~%H+1V=U`ziM@R50zr2*d)5s&R3ALoVd)Sq)9WkX2s+mOH@wzzXm z1r1N!T0(q|rF}>Xch7O-3SfSCxoL~DRm9|u42h?~*KaT!NSUxMC2Tf}RYQnjc=6_1 z_Vk3k;k(&%YqlD$zm=Q!S?B)wQ0v<bw?5bCEz!Qi7%XjHW$>RtdC#)|?Jq|4TSXGs z^9tDW7!G@t&A!0Q^z28u;X$UN%{Q&2-)cOIiO-1qH{*)I3hT%@VK+8$&Alj9yVcvF zE<A2++txGht@S)Mi+o@4FRe9Y!Zk@N4~aKSa&InjtzGs+pt#w-qu-|Gp~UP!|Me$A zlP33Zm3r<_vQsMfz9R9;stZcq$tnyJr@Z522o;Gww)^hicd}9q%!P$gdsz8bKVWi= zVod5vV!U80FlD*Uv8;(Vvou?nXI>HOGF-gtsdZPWt<{Mowka-irt-$$+?X2D99Wk6 zVllT%j#}#h>%_}VwpW~&Mm66%@B6W($!FK$IB&+d1u32v4w<xXHS+oV$LBwzzW!&g zvaO-jTXpphhgGxt#1}v2;YiOePj9NquF_#-R4}R%%}$qX$(GHi&&WuhRW?;tRMf;I zRU|vROhiOR&{aA?I@vo}(8!sAp-Rny(ZV@udlbj^?K0byWMrgdl%%BMnV7haA3bwg zDMU`{3>W`heoZF+Bz`Wgn@?q)-g(T=q{(&a1%uL=Cm*D^;<+AP;6MK-zRp4T!%=yY z#=rk+BUh}Gv8xJM=P9DtyU3YUMk$DKfy+sQtS=J^S1f3CWn~E260>;I#8gWyE|V^X zveg_M3{QhfgeO0WJu`>*^v&Sso0QzD<W4yDRGgLRPVwX}d;DBiDzw1*@7je5T}}Vz zT1N*uN?A{1;xn+k#P`Bs(UDoDPY*3MNMe!kFAu(`8N84u=|tM;NrurY)I@nrWinPg z`fzmS<72&+E0`L5e2q_cn9gYY^W${d`C0oP7&f>22pKJ#JjL@+)z;TWC8zGpj9vC^ z?k!K1nVXb<Us2%Nwm)b`?d|h=GF559T3c*{7Cvvf;Ic_&W%Ef>oq`!DflE5{W_L4f zFkn37Dk%0?Tf=f?(<ZKov(BmrN9t^-4gE3iZu9pw`}eJU%hEB`&Z%%QpXCpc75#Qn zEHBPGz2!-n;J~Q##J_=+_ewuQcEv<4R?!=bUaV>pI_7bz_AWnNcr!D+vGm1E7iU(v zrX;2+i-v;#$*eCMofsL67lkvjE6w_n)V<)$i^Uo#7aZ7ROb#q;(+Ii6*dV*8Ws>T| zsGw_0rx{0acFDRnotT;wGOzPgrthL<Y?87K0f**HC}B7<rzlH&F{jD~hUED#7#UsI zWedJOo9(;ElUd78$*WCD>C%ORQVU87lsP8{NhyVI?R=rRbY9WZt1A?`JYJS6wyn@q zSy}QaX{p;ft7)2B!jwD}Wgm29ubcLy%Wd7RU%T4WW{X67Y}~J8{btjwluezg`~RJ4 zott@5@(2U-lL@TMmQy~k@u@a^IM!WNV(@lJ`V_^Exet`sJ=M2PeRx}QLcp(+9V;qK zwf8Pc>U`S1V#>o5q0lnb|4FQisxGP=%<b}GV@=^WBRc!Q#!jg$Plq?pj!Dc<`*>7f zak+k{*{p<3Vk%KmFXpKJ$V}>aG0|bs$(lT^u6B0$%t@sSPONy+@qOM*)v4WTlBtt} zm3Y~+g5rGIB=ejiQ#w5-Wfsl1S<ba_g-iKTi9_uFUoYM_wa)2<bk%~~yUNSU1Xf*8 zG`cl4(WU>*?A6Op@SI#Ut1hXiN~wRwtB&k7Zdt3BD#he$9=KYz{&e(Gr}tab1Wq|| zTFh}@q5gQ|2R5myDX&+n#H1|pR5>X3J4f;Gt80yA7DxJyO3Usse7@jWQyi1Prs_V| zH@E(Jz1VWPNRabY^NoXZ6q;sis(hF}!Snx0&A8A*hgL0qHhcY%C10{7SmStlZY8c@ ze6AwNHNWiNk5{wB48z~q>+HY$$=d7xVZSO315KuWkFC9Gii~IfedC-FnwMfzHFfz3 z7b9uTcU6m4uxM=(Xyc0d&?IqY0h{&?HVt3SK;P~|Z0;V13`DZrZYB${dY@<$3Y)-K zHtF))XJ6P93=XtfY*7$zbLI-(ds-y-L?U0K!QOpWJA?8MBudAHuJ=?eY_8Q<FwaV1 z*XfUmEjby9d>0dJim&<wlrcGp{W5UMcl8$D<K!&hK7-BiNH*`W*DT_07VP2|)-b&| zJwul5!68eIjm70AH#^o{Q599;6k)J9IYYoqS!9}H!T*G)kQogrOFaxPy3hV~ebKVg zMbeU-lcs42o{2f8yxs9r<H7|D^6oR36&5UyaX8V)eLlcsosO?pTEtQT&km=Jntj?q zH=eTIp1`V*z|A3Y!C9msVYkqWg)EUXChNFcF!aq;<WPR&EO1R>bERf~ORh$1PS#_) zYcrm;<@hv7XFWcv&ULXrf5lmOj|!Wpy&XX@3{3{w7VKs$3t0{@O?wq}{HW=gg66=0 zxg|SZ9Cca~*z9N#rhcu#kJsoxmeB&Kf=Qfbg`PF`sD4onKh(aoy-+J@@q(bq55n#K z%=I_q6=q%hX{!5FrMF2xKXJ{pI(YeP=Lsv-RX01l7S1>_(=&cD*Z+&^I|3Rr_pb1t zv8qAuXQrdslLIP&2h=zl8QPcHdh!Nz1zkRIfmJ9?F{9H)^@7NWtv`F;2e=;gyKOar zS+{Qj<5r=Y()Siz<=xiE$iu;uz<RoYamm8A<GXuvA8oxMbWF``ho*YguT=+aR~+MA z)fp~y!NKWjPTBm#j=0Z8se7I+>?=KHJnyTOK|_1rgwo?o(;Pi#1Y8yEUcj_ehwXkr zn;@H_#YOE_S(_)Va(<@GS6Sp|{kgi;q_aunsP7e(sVZ8PJAE@;4o^z@RJuizvnM0J zNa$jd)NZ8`?cncQ`sPKcZSFj`T4Z@b!i^Zyi~OeIqQ{RuV2}`vGd;7hCA~uA%KtMT z)R?A=Zjt6WG}A?tt0h$ApxB*d>MW)!X80C2Gh56LzaPT3y>tPKO29pf%c;^%OTA5h zwtmPLjh22m>k#*RSw+c`fHukb%gp%ebY*-OMnx@UJS6GE{3)S&O+uf+!sWfX;(4N- zDRU2QRpDvsSX|CNPiuYQA8qHZ&_5be>~c(h+@7Cwh&_1y#Qs_zuKDdkM}ror_IWS; zCAos_`AVNIj)d|s?T1BbOT5EQosT*AWdDXOCOew8p3YMEa9Jq!f!l1xte!e4-ZB~Y zgFD3&mmZ4Ls+n^6?XsfX`5w+v|0c9q^Df}Ft~<=IXhT-c)~c(P5)Pa$b36519QXJ} z-SVDW@_(80{!{+#9Y?~CY0fs@aAWhPg@+}l)JmUFV>~9fSt8l=^o=uF+jgASb2+-e z_gs4P?qebr&3>^pHcvJC!<OFt*f;yQO_b^Ry(g^Se)L&A`_idx0?Rk+z6zTCBs!O= z&t;wH=PO5TijRw*j>s$Ab7p$vmyh~OKO}4R9Myi-E*LJ7|LWCZF57)(j&nS3{Jq&B zweqgXOpeC+f8<q)*-i%Wgzl*HyE?b~m2+)wRB-l<z)mX%J5!lgt6Ac1HOTIL!6+`v zUvR@jt1fGOwboU?)!PpHhI`q446Wr26eyKil<-=}<zP&~5wX>gy=w!C{}yL@JB#1j z(55$^zeRHYjfnE7PJ#d7k~&Aibb7)!mzSPB#(TU?Vn*fz!#f&xKJ2);ZTt7W)T=Ji zXJ(1k6bkFj);!&P_p=%6=ZNxm4c*(qKIN6~{yFzu^4IDUQzbq<W8Ii?wQ+9gt5xZ? zPmf02OR+p1pLa*Y$11ID>&x$tT4yBf2oG7OdFqTT`+DDMJ=K`xIXquF?2NYr@=W7t z*1WvH(dd_vu$V-%l80a;yUhWfs+f9-XVW?DYz~NIo^dw#642oH?0>_q3s3+3IA8xy zeFD?J?@Rudd}O$ITzLkw^%)UXkq5jFHZ(j?5O8~-aDM^YIx*JdaHi}=wLk`@wPM*K z94sOyvcx1<#UhxBKJqe6WU^l%Y%}qHlf434=|rZUB|IVus<Eu>X%BcRCS>q8G5-CS zvE*ZOMFTtcM^+mSUWo(z=Qap<u8=%?p=AQ2BDW%g&5RcQAc3$Q3jZeZJKvCyYLJv- zV3#V8ILjU;Um|hV)j%XbLVio3-SxKEZ*2m?al(hQKW#Qm{-#)wQS->vAfv-VdZ|Y4 zjkYw8wuGZC{nvQr9c=Yn(c<jE$GwUFX+qs$2A-&Z&g~4sGc<T#G1M6dir5Qw>VFiL zn%L=jvD0uN4-XUj7e`5@g|*6#%nS>dv>X_HSMWY*=Q*pu<e$K;)W9HM*!dux_l7|2 zr3r$UAJkc<^W6VXuX#iG*Y<ih1ICLx>X|tH^Y7>2IhUNX;IsD3!;E(uMENz?bapg6 ze9$CiP$sIudSeq?a1d8f6RS%DXdU*$gWMaHn;r%+GAi|H%wQ_N*#CG2Q`!c$4J(+| z&EQ$g*v1tgHEUt3%L~c=V;OxDTWo&tKYYMH-*94&MT>bwYuJj`&=)*x6ZwBOC^Q6i zYus!#@#yIK*p+6a`siwW+6~iGiNd(ceX$RVpC}uyR50{CWdAKxLhic3i{KF37Bz#J zCfiuT6doxb7T}U;kT}`UD)Dh5Z(`Tu1AKoMFie@K@P@t1@gncU8zQWagxNRo-+#dO z>3jYC3j#+TNM0`Bx&5K_l!B1KNybePJYFAIWEmOufB0W}Xa`To1wpw&-p>kxrww>? z6qqFgd8Tv-|Nmb9OTG7U#LV*+jKUiPMGlH|P7yrNz!2roZ+?hFN1^`F1^(d1rnd}y zr5{-{ACxZN#w=pd_`{h|bwS@N3x=IDnG+b;BquOldcvf%K)7OI6Za3^%$NO|4vdEs zj4OW5+`oXeMRTs)L%|~sylYN$-Q1w?FJRKS3H;qZBs@9hMMq3>UeWr;aZ<z&1^%Xa z(I;9{B&MEK=jvqaFltr%&^*PsQz9=djW4-v>r30C>RQK^x1}CSu-L#NDZrNdfQgTb zO>YCE-~#21&P*FmFa}*}?YJ0fa)IX-d)q07?hgy+^-1vFoxt<E@jrjT0)~Z>41$R~ z%UAGeMG4N$=yFV)maSRO`%u`}P?$l1=h%bkUIGl>8(1_xOgB+vzLr^g?8Bn{3e&R= z2t0M?zauVqY5}jIBkQdOexHYopQbnIN7R=XiWh(ENjp_<sJP_V1|F{kOSUS={a|3) zcv;~oN2A+>rgsyTYX-2zeQ%6*FS~K5IOZbb&X-w9?qx4du-^I5d-?~j%|YQu3+8Yc z1ePgGot`L};E`bGKGiv+`D}x?>`jG$8+<$qJAQtgE4;Jie&niGk*n^klxNw<zy8)d znV%~IS56LLn%o{J5&Kwll8d?GbJG}Q6N8mpE{B;E0$4OIut^?Z<C9`gJHV~L@So{I zmysId8e?OJ1q}@CEGld_7xqkB_(xJzf{Q(dV^PP7dCw$ywYl1~wH8Y#iU?lf`w*b; z>_cbB2fmnF0`GsV%hY7B`PiiSp>FbxnI{)?-D2mtbX@3kKu>32t#lwyNHdSnMWN1= z8Fh`dK2<X;9hd#Bs85+yujsw(Py0;%2%!TDSf-xf_B_fYD8L}?u-0e+>k|dOqyv19 z6!`1|#83X@lf5AO>?u>^1ZGJAmP|nwg#tAl0hXE#tgg~5&bM_p9Wzo5V0_;&=h({? zk*9^@1LEzjx0ZCSob^%TT);%`jgwMtgs#qN6@N6r`A2Kijdf`Y7@oc2DgNEE_LT&m zByT{)|9NUvt$dZuEgGtwhV%DIsr8zy`QfSB8MtQE1x7{zMzw(X#!f8W1}q#2Or2B0 zx)pY=bXgF8Ibp^%4^ah&eYd7e66D%^W75im2^%9A@9*l`;n5sbv3-IB-yL)Qof1NO zZf|(Be5u&N&JPVdfrmu&t@w2W1z8UXncf!eSjl_YVfsyT`9{XQ;axl(Po}TYSY)EW z<a~+8J&^ZWL-%wpiB3)ixeGm?*_X*@FZ&iQe(6TN6(fUxK&OWCT>k^pvvvu#|D3M9 zvD2w=&LfKhG7l{4f3fKp%ofpD(UsWPrj;FQkS(jBq3t#2%XQ(tRa;}MwRYcHc($N9 zA)BrJA&(q`<c9<QMU@#<9&opcX7X=+G2z|G)&-1<6mChp+O_RL=e&)-I^<6(oD10A zu~CApljqo~+E_!O#&2D`*E~X)RGgidH)}}7eqI|jX|I;Kne$;$%cWXXY$|OZGrwdW z`O2yKRZvyFWub4yhSgk$e>v=J=M?0BSZBO&<H7F5R#nHpJrI79aQx4$3AdN?lsBz$ zZrXd#U6SYZ;?9FDQVwkA9?bYMk?+ZB#y9S)%7H>txVL?tD01$G@Ehx8^J?lZdCXj> zbL!s<ez_k0uPe0*mc*VYm^<%=z(@7z5{63C7ppgIGU8@i!KafQ$<DG=t?8FR{bPZd zy-}wm&a4h*+7_Q7IsIVEoPz=^YX9ZCAGSQZdHCh2j>kU_`+6KMsoWkhL;mGSg>}C= z-d2fxRotzVxaO<p9=A2SzErBMTwTlYcrE{IwMmH+W=!+&nk3OQIm|Q3BcUc_+O-4) zBXf-{M>y8jI>*d^Z>X}6L1p`cmg{>I<aRBJkKp|%)i&kfk<N*oj)`4nuR7zh*0W9W z$lA?oY$)`tvBON~obFkPb894HTf3(fHs3PmeSYWEA8%$O2g&^pdWAP^KKEkZ5AjnA zY<e?p2|Tw^?&IlJ|G43e4A;URr_wcr7z)%mY>cN*X6~P$%J=8$>Sv|-6G}5LFn%&W zbK<1%G0S?}gTjd`YIAqg&Rlguq2}xvpSBXsliU~o9}>x3_wLtRv9%NGb1xQnPoFbu zyV)ECmB{r!F5D=s<T?EN#2=ok{&OT^9v)e;I?SGF_bP_nnWfz76L$pLcr?4HvfNEb zEcR+#rm}=vY5s<b%|7zYXLhXpapFPtx(6$};x&YdPKvx-uuc4;0B6v~*%6E9o!GBY zIE{1Dsxs|)`L8FYX0JN_;ow5Xw!l@4mOl<&Tq9}sy?K_Q)VT+If7q9~{N1ONeMQ(o z)be)g%87;viChQWG+sSbsyf5_uHo9N4PBY3vLPkvap^})6q;@rH6^}nT;IvoeX2pS z=isqF{jnU^yBwz%pKY0TP?D>l*(~F3;*A^e0f*N7YVn<MJE3D?N%a3m>CunG*7867 zv$BL+LZWezug6J=j{?!FmQLW2SQT;m?U`Fqmu^N*;tG0mCG60VTj^`&&h%ig4Pn@D z(_hBZ*okS6f}F-92er$W4>$-ZJKoX=>NM`Y)6Ut`$JxWspfvvix5nqXr!}<~kI!t< z6pZN-Iw}2JaqdzE0p<_~W(xu4?F*iV6wFiT>sZkx_(z*bY+cLBUn}curute)HQj!3 zcP*RKiI)2Y_foYsDRkev7_qFlapv95S$99M)@bN&HPZa#tC6uG+$2EMDv{-#L*LyE zY;oJIl_U;|T0CHxDIvdX_HLUd*%gfM4bDu+I+NSGH7~a<&{OsHoiklLFD8CmSbFyV zVSdhe6045Q?^>t7=25-xxtEoK6KXH+ywRexVUfs0z9~K@uQgn@_<LgAj|+>sJz{G- zdY>HOTg$3?=={n_vN{K>Ed^MN3M>^SFkkU{uP(r_z+s82z|Q$4UTrB8$}YVBvaiU0 z51VCzlIkQjg$eH!3{<iin4%P}>%9|rxqvZBtLx!v!Fdw(E`cKDG6yDBZhhZyu=mC# zi4BKrUhvyQ9P;64i(hbCq?*T)Pqfx?pE<{&(zUg_@3wqRpEHfKw<Ph(``h(1PV(Qm zaEv#JKlqcL#;)V{7!<f>Y_>YcYo*A?mEgl5dhCd|%9Q9Q8>cV_F)#%MFl{v3%DJK; zXYHJvm2*yW{C}`vh01Q*%ZfqW%T_TY=6v~iP$2Ziqu8sDtnIhkpOMeDUR>aPL)A{c zpqsBG`)ZM9=lktEO8GrWb#v7}PLG|mOXbtDyMl~@1x)|@n4}&0Piid}-o+?w!18n> zquE0y#tX~tIrbY}_$~Kw`b|Lw=MO9=PjTrt{5mPc@MQ(dMJu_9w|_76WL@C!-s=~) zNdl9;0E7C0-+S|!!u;Ov7kDlc(5Y$2bE#9PE|SqgV3z)C&jS0+C+~JD`|=gXDL8)= zuD&D8@=;+C7e{<NR}+^Me`~x%t5m#He|!NKmrTFXqyj0KG6or$sE{az5QfEz=UZCp zsL4#yT(2oCyxwiY*6nWpcM7|0-nnnn6t4AL{D(EUl8$N~J+l7PN&ckMr%#?fboA6w zCVqZVW@cHFf~hkfXFZZJdC6e%>g9VA9nnKaZd}#8bn5uIlTRkiT5FS9^xX5Xg)axQ z*cFEt+)6IZ1_HBOnz?ub7p@3s+#I-ATzAoy5QdW{`Pj?e*eneW->53eryqZ4$;Fe8 zyag@XAF8;nnsVOHPJ7C)lq8P^4)19>9UByzyEz0Mau_~7@nn!;Y&$XGV@fuIq}n#I z&I3+v4GaucHB%XxTo{DYw`X;JaPbV$P5jt&<q(q!$AtLy1XFG1B|Q>$uAH{5Vhs1U z8FfAR!IgDo$!V??9U81&EpF#$xXv*6fAwTb+(ZVZhFK+VjM(|tbovTSjBHHj58<)= z^(gT|UR$r4ZBWBYRqKT-Y%?dG3fVes>U4&%2MSKj9h0wU8(s-NEw(m%^Rl<Q*|c5D zKX2%oJ70|<?059~x;fLY{hPWa^OQ(V@-&~GCN9+t4t(rcTZ#l4wdP*t^R~Fb$ZL1# zNppY2kCe%W8vpN64sdu}vSO0@yAqFR%jr2cPI*5LNEfi2l96!C?V!l<i#|q$OZt37 zZ(iZ^7cD$;Gi`}#n_&9VjBmmWUUL#eC8TS<9^q_o?37?qIMJ{~Xj#XC7O~l(VKe<4 z<UD7IMK_70Xga)eP4ig&fwdt$^52rcJT3-<S#C4_KXqGfV6*q6aN4%7EfX_hvOY*^ zrloDWF*_qGOnuI*Kz6AG7Mzz(C^5a+-mBPRGvTG#v{?_6lq)g<UMVl_T9vgjD`Ua2 z)ytfeI-L7<{BWrFp7{8T;h6{S534r4`P8kqM?m|H-XXE<d%9;hE=w)A;I}B<zgR9S zW{K7}lg|3RV!^%Jh3|#S6<%#x^enk*&hGGC%AF>%nq@aw8f4=#LMF;8o~`!sDfsd` zDDCgO6M<>6fr9ya6jEE3=WM%arnw+QXWHdCi+;4MNVBzkCh1r3E0gP3JKL+7Y0}R_ zHl2`&-!^%^a(YY(&w?WdE~i^4rp??^6}K&Y%hhXTH_v`?;7-}9{Ga*O$s_8qG8;Ke zw$6$4TbkhcL7a)Bse?%_W$o5$TplKzIT6VVzA{G~o>qEOXkzR(gH1~m9Bl7YMDg1l zRyysyVbhDEHFtN;XgA+fDgK+mPxN5OTDQKnVkPq|-@l39!ZLmKhUBY#mn_m`62858 zwDF~m+d;Fd(fS$-GZ>G=N3A&4^s07cG^4mu<CFH}x;IlT;$QVOMeR1}N!cLwvF-@p zqdJASf+v$bf~4n8_vYStsxRnM+JejH-EQZcE9QwhsS@uVn<o?Pubx{R*EwUWfBe0Q zi5Bm7?tJ#8XL)hP`QLBW7;d<;|A%3*RsR0Jr#o&l*9kbJ^B6QRi72o=`o_%oZ^8e@ zI|>Qa3KkB^CyqC1?nu~}_R(SQUETtPKMOc)JIv?5JyKxt`R4OK>^l=<p4HC%9iMlM z`S6{BmdZ1yFaIg(ko+&99QC^*=JB&Biz_63ln<;H@AnYzD!a?4tg*#2cZxcvRbfiP z6Qvsm5?ov^ls;)IzLoSu%xwReh`cl#<@g0{J2tj`U7xX|@y4g5OMB+N%}lhde#n!| zv9@+XVfy5RHjW?etpAR#51(~8be`O`o=-Q9PyDVNUA1E&0~f<V))_vm90dtXq8$#b zq6!CP)joDA?NDIPJ?W@c=)fdea;kaC7ZG;lAIvFNh4SV1JiXtv^<eCyw-P*+OH5v| zYlzD|F5K{6;JU%*>FN@P-WR4$d7QeSljoYxi^_M*De`My>d1fFFzd*gW#)gK{r*4o z;R#il{^`>e*ZQv$W}Uozg3G#TkIldS^z+4PkEgjC%>TGPV{InyJQF4Ryr|0)C!Faq zEt@va*2+8ljE`fU+yl<U14sJx{!D&WHzPpmU2;r+hRdBM<+aDxG_iQxcyPDQka5|? zW5P-i3il_4u9@{JDRSchRsE#Ic`08G<#Mz>;g7GlVA!;#zfa_PON-Q%v$b35&iz@z z-K}}nI!k!Y?G_0mM%MGy%LD>KpFFgxPCKf9Y>B&+VN4&}s)^ci@7A^_&ylz}YqRXN z&^G3$!k^}}J3luyUHH*B<Nv>e!mB@Rvt#CHFWJm+W2bFl18dh&wI?!DH=Sol;OIOk z<lz#qaem2C0}ctU(t9bJ^g<Ufne6DZ+GDQi5$KpZVKtxMrpKK82fj=;l3-$5@PUPa z!=U-fk4A<bg9Ch0i90?yu49nf5o2f)5PbW`l-v_7OScq>d1u_>Vg9k9g+rr}Rp*0e z>AhvFN*5f2ojn;DQW_W}H5yZXZItt~dAic)s<?ud1efYE=SI_(O(9(?8@N~sg^W2X zOcwIyriXsv;L~yAjJ~ML5aO_mYXbvE&;%b&HUlZXC+1u{5)HD~7+TCr7<n@~4oR8l zFn@TqfFm-Ko1=@NiK~Ob!D7ZowwV76Y(8lZbY{$H;&zzOymEyQkLv-(ilt1C*T=AG zJ0~!5GBGeMZaC_vX28gyv4G8JPBRm?Reqz)9HCiLnwWlyx>_IbdAPRZsD=Eg_c^l3 zQh^mWWKBNsvTG<z`K+e2iz(n@d(L8^Hl6GHzCLYR_TjQzo`ZAn$E$3$>a`gT+~o}y z=YB}iYMaA3*@;a#Qe={h@IzhIOb&mEnf^`-gnN3+Qe$?VTYfUcHg{HUrK{1s*)oUb z@%R-qIoRguwcK|69CIOex|lD+6oyt|hepllz$T%2ADCEftns)p&1{-W*4)<yPq^pE zHia>LU|PK8`rf$<dHq_7&5~-om>C=#0u}Zw{eK}#Y5&{>e!Omz?gy+saM*EUaK`Vy z!h3pDPN#7m2syK<@q^P_*)5WMekKnX+hUe8EvuZ&W%F`I&>n9VMuVqpDwA7vYLvN{ z6O1_S88iz`dB7Fe*d;V2hpF;LBa_7q1_>pBBAJo}%-IVVI13zFW;K_KE<X9a>52oR z(Se10DF)4wAr8V7`E!^&CUI9QzImgw_}ZC7E6#u$-8X|SxM+M)E6w9xDt$j<ZPtsm zM-;wIcG$VoT557xiO%YUnwuWVhI}kNVb&4*^2H@_&r-|9hy9!k=CeFt(XVi1Suo+N zc+P@5>K2VVl<S+s92mW=Z%SyIZO-dcT(v80<+_U1pH2BQ{^uJjEao-uc&*9#YnRxk ziTwOMxd)?luIE-fKft+ziS^w62Q16`4scI7@Jd_plz&JEV{Srne&*Ced(|8o(kA~? zdsDIM_Pb-Vau296R2;v}qAd7+_Jj)@f%Th2ezfiXBfj{7b}r}Xh)xE+E{EjHDU$5o z518COiWLcpnNCj)d?=RQSg1Ck_|h`gPincRwu`z<D4uk%-fB8CvjVHSII96$ve5-b z(GP6-0Za}LiuBl-R2x_`KCpiZD4u;Jh2?~2`bMrd3|{jR*y7l<D-^UAxn*k=%KkKs z`lzPn{7}NVK~=ONwoI)|w1MIISB^A>f~5@7y#^cthJsDc^GeLiE1&<@JaC*>G)S>` zn#1o#hp()$pFT1iNp+l`6#sOY=%q3hN#Q6tF`<-0ab1OViH3;+KV;Mm+ZQ~I<490j zGCkIIVeS?-hIoUjX~uO9L7ay^m~Gj}dxW)yWlHtl<(+%mV|E(EG`k0S2{I-tRO$zC z`7^NUCWv?)FkHqUbi*|IKq1GJf@m4#&Z!Dz8`{<69Lo78nqHe|$-jW{WxIIVb6cio zi82YASq@d|hO#akB68pIvmP+2ET}PYPYqQ|c-<=Q?4TC#QB<&jNs@uhF@VWZfF)r= zV!{Mw#!JcG4NTqwMLrLi^f!oE9xrCjNOk@o;_Q~9+Q94}z#2G#t^Nbsi|_y0GaV*y zc{T-pVADIn#CV7)NRUCijak%zvAV5Lr66kgQlXe-&Fe2|MLbWqxt!&MV`bL#mc?pn zi%Z33w#OE-iGOUfT2#O{?*Yg9LXLxm+H)TXbZn5{8pMBrVM>KN@12I$I(M^~$-Mc_ zJpFEtNfNOw>M@~@1x(nO7Jtltr6BTmS}jKdgXf7j*BdRt67_+Pg)gZwTQo4dY!|-K zs`9j1?N*q?m8+8;xtiv9m<1~5Zc=wR&Dyq;J?7Iy$L$L`7ih#NEvQL0=#MNDQFq8I zWvp8ARZ2uq=2~LmlBu!zL3Q><>2@FU+b3v7Otvgnmx*XDTzx=*D}h}rfl1brCGX^a zCar|#iU!7t4_es{EY1l`o(tG6J2JCQ%3o>NU#y|F(pjR<kwqwy$v2Eext+;XKrB9x zMUsKZBap>AfaQ#3@}KD`3Kx>^&tw)fU{UxWl6<h9@d8`U1vbe5mLLX}h>4<mZ!)sH zEK>QwuED`#U(S~Pp}6b<V`LhWOM%#n?-NBB*b}C4@_pmTGHBg3HFfUShHOcOfDe_o z+8E>))h$x(Eqf$pv_MuqQlTP@bFU+ZqA7>1rC|PI&Z`SE3O`S22y4rCjz45rdtI?D zfg@wawZ(ZE6*G$>r-?JZOU+u+rg~|aXuyNG$(qcw+^5Yv%rUz#b=ky(1ja_MfDUJ8 zsnSFLC2zH<{bH<%Phe}=!26-Be#rvH1K+v6Dz?q+sNO5SJg=fNe=$q4X5QRV)xB3a z4<8g*x7>DfVn)8Q=FDQDbuYTym4x^gW(Yqtcx~1rW6(3FQ6{1&PneCt>Egs0y9#%7 zvP*AIm->*eJ~2MxQ^k~*!f6Xd!*{8!Fe`rA!KAlA<d1omPa&&90n@`uQNt7SGz{1z z4T>ZgR!eSR)niBwpD>kCAWCNfbI^oDFSn-rfC<byC$Rivb7)}I=vb?EV!qA=MiquQ zc8w;j1L-0O>?RLV7bU5OtEqHPjP~S6biK7iv{}}jS;Tn<A1h<<D}%&&AMy(fCS^Iu zL}{4wKa`%Z;J>u+!CAiq%};KS7iL^+C}qwq?RcmxrXh0b{7G$03VAZoOD<iDb6!x{ zw=g#<P-N#<(a5Sue}%l6+p{%ZaeOSBlevA<mTju>j0}bsy5cABY?cU`cERxRX36UT zJTo&Yb{wx3pR%RXv$J@Us+Ur3-wWHeF5&uBc?FAX7e8PuT3ol}c+_Ins)^G!?%t8t z@*!)sVU)lQjfGS5LpsWY#a4AIiY%@Yat-VV*r=hhAl2(2n`an{2OE=)14|f_sB=K0 z+-XrpgZ>~x7Qqe0itS7jxY;xgsQ5S~-@2({Gp$d`BgORtuWJC4+>0V+g9&;KO#0JO z1T;mNBAFUir>H12Wjp+5x?i;*!Hv0Q8Eec-&bbRFug`4gxvjGDlt|GD4f~IZ^9*Ed zXRJHIE%Ni(f>SH_G_5x53*3;uc+p|S3Tv<UnTMDcOwtTVjz3+RDI5}W!ZrRzbw;Mf z47Y=`JF`XdCe|iw6y?}18n<y>=V8eN#T`)>M5Vk~6{X5W8#bi|8AfU`Z7AdsTPC%v zTzcNexBzFV`kNahpTtzpjNw(une`%Orc+FmQG0iX+7WKe%g$!&m)kC6s9Lgp!}Y*J zOG>voST24rJ44E0$s&R2J2lE$J?8weN?g2fWu-@<yU>CBM)44}R0oE*Pnn4p0xUTP z*beSu4A{W9;#)<}>bbFnVuB0iN(TJz3wXGF^6KORw~pipu)Vcp_nX65W58acaO}*j zooB2V7G^h{lWh1SK0&XYxnfST+6Bgl1u5AD?5PXHbY4oZ+{moS5|~vGwMc>4tFTh> zcdzrtL%XzlC(kMQbgkBIp%8<COq+uCoTk<-MWzeqOj+Qhz2K9;%u9~#Y8>rlnf40~ z&Pa>jJKZtUqoVPo!|e@mJ6-o1ZCLW*SHsS!M`b_EddSMex=VZ(Yj^98mh5hEOKmRy z3rsPeIHz7PG;EkVV`|;b2+e5>wQP3`EDOuO6&!56+1aKUv+vm6Lsys9pAglZZRmDL zbJhjnhnKgyFsX!`u5$djSu|APG3$~kW)<H=)n<48SCvu7Ps~jJc$_hD;r{bGroPyE zat|Ye>4Ir#3o9cN#e6Ov(YT<ZxSdg9ugJTnOS}(Ud}Dd6Sb$Ay?WNoR7Ij{>gad48 zHf!>27+#!Ui{5bbDF++#hn><K^OtAuG-+eL5tVf96jT0#;;IXb`3IOHF08%3i|h0< z7PSv-T;hxNZf0A%s5`7YE~RZ{Lhg#Ur7Z?mYZX)X<ouq<Qh4I3V);Hto{-C$x1vvd zRjsgJFn#NsQ}(A~o=wb<+7q)iAoGmq##5~s^OzddCM=C&Y*d~r`eJ)wI=c|_tin#) ztmBm(_Jy{2$<q72a=tg>x_GV7gQ=rd>-^=Vxy2F(=Ly}Ib>r5)hW|6deln~JFHGkZ z?liZ(@}{cqQf{%>^wr-FggjuJD^T%kqVS>%(ks^NJ;kdfb4nxXKwP@_MSH<%7giLy zH{~a}x6WO_)VNXP5nJ+SO$h@t7T+Wh6Se(sTvPogCNF21;LgU@yGO+LAe-ZZ?FkbY zlY8!aUF=&F%@oAIWG2hHvSF9U-1*EmujDtZ^}5FR;A?UA2DUPR1*wgxD@04hC#Ke| z5Iyr-IDPr<$uUuEa~3VSWIao4&Vmxb8LzHQcyLmADcb^>Q~BoFTNZItaqhGE)wZ^# z?Z~!Uw=OtL4~t(_6VvjYq4ji}?z3&Bm8##KFa17U-=5KI+s77nB_1(j!z7KsbnE{T z+1j0g=A020oQnjQZn2p+&UKuXF=MvG@{^_)ew;D9uO^ce-YR-rGc^0a>#*myoT~0e zcMDG}5zt`r+<8ZE_tupgb2<-hGZB2g^ue@lJ+2?q;-#mbocdu_Vv@{jQN|fxL{$z* zD(d!oO%%B|wP0Du8drgxPhT)ST~VyjaM@31=h}IUX*QSF+U-<zXfpfDYxZ`I#*dv^ zH;!-RTkCoEiUotHbOTc!qv&zItg@MNUTm9oPA_-iGtLAzg~OREc3W$2?OiEakbh$$ zAG>uoui&<4+=7lX+nT<!mfOB-+Ro7*@UH7y_RF|;QZZXL%FZ~a8e=atgK5Gv+2=+f z4{jfyDQlVdf0p#S+cR~f7ezWAc98y|z$?6f!KI;cN0!J@bGB38nRb3<+H*83c{i^^ zYW34Kj+yfw&wf;s|7iI(R?{U6;vw8q<}}^hwDr)`L%a@$T8>LEn)gULU*m<%Dh9>u z4`OR07gnzPDZ1)s7~{^ZCuI`Yc5rUKzI-WfTbj(y<J|k$WIxQ8bx1iX#SjrtT;a%K z`QQlSk4v^<mzB3OdL69)K363BK3jYb^BV5U6QcX1!@l3&(8SNV*8Y33%84ufXCDMz zjP+IGPZwl}eK^rEeE0NI7lgm%e@vH3ny!D(&oqVWTCqgSwZQJgwMudGrtsg^><)M* zIr~)8_cn=uQ@ag&99{~9Y5tF?`dPMe&M6y#+mEuR?rY0DboG$R=HI)PWmzA*dAd5+ zs&QrZ0=`C(n%~u`F-dNMLcGU6R4lPzTUt@GCspM4Y!yQR2D4}Ch0QrzY)&iP?-Z-a zxTGxQyx~wnl2KHHMDwNEpLd?6Xm8cj*A!LPbZ2_8xc*dpM_fGzN0f|=iHs5hgOrq3 zM{herKST56<}N9juC_jzjwlWWE(R|KEfG;Q9ocMISsfh}3k!~@c?>J^RaF%fEF2<s zs|N10IIOzSGDlJ};fQK}V8qT#I|E%^EgfBVGP^P#+^8C1k+0)m>1we~N5Nb0=~}fY zQ4tYOkyOv+TPDefa>b`*tXRRo8T?;Oih;{l>BNhP9iCEhQdd4a^<G*ZZ}KO2!HfB- zto-|0Y8o7uG)%Df<BI4^e9AmsNj|4$rQnn4ll6=5*+d#WKQ%?Om@PC@WhsNQHfx5Y zYik#W7Q+H3TNS59HTMt^je=hy41HXYTiX^La$L<RaMx?Yr<PMJBC1{~EF1+%9Zbra zN0uxQV$ADV$}mmKu+ZtGuxgZxCg(yImvij=NB$UmTCif`B2BgEd1oS*GVmHHxh`EH zIO&CRr)bBDT^~0unjk6{_Ml~Pv!0BL4~vA5LmQ9NW`;9tFN2;wW=|8T&{+K-r1eP8 z3&A%n9*fwFn<Y#q3C`Hv?j0!DE5*urQQ@P~e-jfU!ETpU)AX>tk<Dz}tIcKaz3_Km za-vO@@j*f_cj6O9Hi=ss8kkKY7(VtG9JKj-Og_*f!pB(EBk&NzJ(q_I4R>r1WRvht zxzNtNXGa5*v<AzGCNZ5E5AJCS<|xeJiJGC{%-XeLA)A_LYS78bISL12OP56kO_UT3 zUBV#KW%9F?V<YR$lqvBySZ4aiNR<ZpDBXQBagxkm;h<^Zb%8;J{0yoG_?@@z4C1nv zohlU5JE8q~sm#?aw}K;mx6ab&a1gzr-m#)Bw8GHj(h3droPtBb{uv7y=4vka(4hXW zL$!%V*Ff~DqHpHXl?=1&CPZ>gi(NKzb-q&S6u}TvCeHuvr!${8hIk1u-dJ#TX?U9b z4vWdnJ<?1QrSlkPEI6V$=SZ02W>d}Op+Wi^S2jpBtA#Q0GBtWP7ppvA6p$;J6U4## z$kZq_@|EYKMloj|!!C6Wjf0I`e-jRIDqYT0Wai$f7;vz7o5qc<CWV|2^G!8&B%D2L z@j~&OH18t;UlUO#MIV!Vi-<SJ<mz4|o_PM@k#FuAojonw-Z~o_x%FlQIQEoX_;H`@ z&P9f&rBW9buvI*d{BG<j7n;QB8Z>QX2Zx-++KZ~K0V!;km1pi;TA061<k_?YubF`p zA||;BUp7yTRu7s`I#(#QqQRt*L187=%!pNr1}-)S?UrhUu9keo@qeXX>euw()<w%A zlt0Z#a7yT3J?kY)lEYoS$_WKum$R=})%A*hW}?|mmi1+A*XQtSe7dWcD*EO5e1;PR z5y>-JmN49H>j-dRQ#jJ$e3s+P(glxqe~~*V;Pz<8Vz!%U)*(UKnWdig9TJ)wcsLZS z=BoTDIPmV^gYtq8F22*2H1=m5NIcg6W|MmJ<3AGw7zB6vK9^IsJjKDF<8Z=*DQe>l z2c1vMEJ+KTWnR2swfu6}fz9o(_`VDM#!g{I`7Fx3zY<x+KTV!r`b2?Q@b`kl5dn<W zHyXK3UNH3KxG@@Wyv+(wY81P)-Of}aC7yq0i`a=I0fm+7woE%FeK84|IN`!uwg0|J zm#%ENwoUEX5g%F0VAm#%qe@y6O|B<Sa_^d9_M&p7_w>r(*_)QkIKpyTa~b25wK=Uj zKCrN7HLp1J`qqyQ2?e#N?(X9nehXW?H*)D4PwWhfIJ_q|)Rkw##Ve~!CNo{y`O2uD zg)7KOQ0HBtL%~za7M>{rS{^<d^NcDRnmP_}|JbO^!0g3d&BxXxbR=0!!Jsj0*NJ75 zk7O#GW0Ysl;ouatVdC^YbXY;7;dJl}2iA8BJv^6$G`~@0@zi1v*K0kj{C;T??@9?d zPLBgzzYTbFH5}Yolmc4JQW#`)ejL^7YG4v*+sv^xM}cvEBP(Z{kA3|QW;X2?itH~P z`Cl#gFUeiR$kJNs!2dq7S@zvT7NdX!-Y*>*I~Js{*<>^@v28y3yQ;!uL8McsAD6J( zK8E&4tCyL<&CE(xPBI%E)YQtQ7k$|@WnQ<Fi>Zu-P`@7I1clIx9kH*YZry5`evV~o zc)>>TkPj?V-5j5Csz12;My^!KU$b$pMubzyiUo@pI@-kwFFGw==Bz5l!@xe_#A#+V z2g&JiuNbqIc%=yav^=vzt7HvRY~Y<1kBb2ZndK@x9>i^*dc*ZWSmdP+|5=;uXFp8f zFlk`5xwwh3;#gDS*{p8+L)Tm$pLoUHx47ZEM?%xywcLVc&J4VI6X&&a9A`PF;=x;y zqPMYAp}OGUJ<b0czIR?xJC<gq{MN?rW0(1j9ECL=tWs7J`XUaTv3K=2D!s<>ZiLBn z@vnEz+kXAf-u#GtKJT9gr!%HCYVJs2*16z(`pW8qrfU=zmhCufd#ZrHszQ;|srwDv zu}%iA84veYM953lT?<zGdL<_O^~zaC+H|$jo>(7##G$rDX|hf%_Y~uk9WAOsm-{0s zvi=#d^a*XgWgN(|LccS3_NLOAbA5uea$H>U84}!WRQtu8D-LoqePHo<7GN4`C^GMm zu!Ymnr?o66@9s}I!|1w+Yu#!_qkF58wogyVGV11$P1i|Q54qUcci`7_n}1uTT+LXb z71&&GC5+kr?GqCQEhl~bONsw|!Z|v`1rIP5?kll2GYz!eS0c+UFu^(@voUsC(`oI8 zlWhGf4jd4TT*f7(%dBzYK-|w;ON4ZC<t`VzPtbbNpeZ3}SF~kK>bu_ak|7rxLoch_ zOFvPwywEV8?}C(+PDOLo|C3BisSXW03mnCYCN`T**j~QQqO`{BMcmIvi+NIaIM+Pb z98ky`!TaOu#ro^!7Z*B4<uLdqEy-`1TfgC%s^8-l=S^QE%5Jmx{`c^k;W2rl>a?}@ zKE&O+;r3|q!ULS4+tvtw`L{$PeQFn%Pi07w+@tnD-O|Y`R!o=Ktt8XMoWQ}E&3%vK z=*OjBo^d))Xp~n!ptb9)5$n8Fw^tcW)!Osl>C;4yojpp7ADR?(Y64vUT^8Ev#LRWV zWn%?1XSIVs!@ac+#dk$4uV;GD^?#|ds7Zu|MlW;8RTp38@aGNeERSrRIvDD<{b~_1 zT05hr_mQwxz+ofrB1W~!giE~%M{e*wp3TA15dV1rd+o-PzG73DuCAHTrxkP8C{HYI z?`j8TsV9f!UT$0TqPR0}o%1!u-!E=m`@J&YQt844DeIj?-<9guF0`%Uy0ef+E8$?> zLMaB_8;xu!2b>$$r#Wj>{^sV0Gni~J;eqPIXlB*F8!{KQP44&Utu#95`RW|c`p4eB zp2yaI7tB=`HV&DgVtBCgw%^mG&p96iOUxHLX1~`>s{hb`mRSajF3HYQj}$DJ_fmDC z&<X{KGZ+7dwchRuyRf2#!9s`0P}zG`leq8#DaY+n6B(@-t{3U3OV+b^_LhjuSR}_H zXv1j0)xJQ=Z=$u_gS^zh#O;gCxEPo;8WdCm7|*aWJ)clw@xbDCvi9X9rZdI5ej#cG zu8C3x{Br_0?U?MCKI;AsVl-u7=xDOs+`yofz?NOksOlKSwwWVYo&WbH@7*DR8`TAj zmFzTL#ECdCzq`tKsf<0NfbHW&#yc&(s|wgxvdP~q&2qTl7@v_{^dolbwb-rG<axjF z>{ReyGcD_qSd~C3`z}L+x&X#~hT`{?Og6f+@w&2QeTX;P66GWGKQA*V+IvxpPqAQ- zv6_UV%-PSyn_bKWCk7R6k@7O@(qI+*w9QrVh2&Y`0=<Q1F`I<%FXx=|g(*-p#pr@a zqY~2=2A%Ux0u7%;8a9ch92DInk#hKj$ggyZqY{Fr3?qK2d$diicXUsTUL?NYu+|-o zVgU>DSwW1t5(-Sl;$8v5y$Kv44B-j^#%F?Mj(ub}mSQ|lLHxA?3(H~d;%(ehS+hhP zm`+SrtqD_`#~~S8ZkP2SK(MuGfgAThVVNZdI9eDOoI5zO67;6+P;o8}>`8FD`k6EI zhSNrOe$NGMSsZ~2m$Q`#RHbRytr4iYyp2ueL*?3OS*NFREl`*L{&CWphW~6or#R-l z;HvEKU%rhie@0f>1+KCQEZkcsiA*r&oS4hGv!nM#htubd>y6c1W}OednY0+#Dyw!0 zI(no%bIBF9jXIwAvQTi<Wx>T7Vu8$R+nI$FZ@8#E6#l>=nKwzqTv1D0gDc<zOXnhn zHbLfoC)Qa?qK%hD>K4~m1Zy3O(2@(VsBKoUVB-oBGrj&JOw27&qrIqqX3?a>9`|Nw zcDS%EJu0_Cgwf@Lh>OXzCKuJ};0Yg3fDSXXJm5R^Xvw+;u8j?1t{*HOI6FNkPKs`t zuH_h9pJab|W3z2Km*+F@H-|X01bi<SbFwdH+_b!!q0rRCLBhJp_C+wqgGG#<6aKTL z1+WM24EVAjVCjW<CKFh$94TiDW?b?t?p<Qrof6}_R~TPCpS1czYsv|()z>DkFk4W+ zA*)_NG4nvI-O7qp2bhW<GPy2iUzE-s6;QHegOf^&UEhrWg;!25nN6Z9JMS-(Yn!m> zgHpsHqtrEuf{`0dD<lPFUzjL0nmKOi5;<tawV_KS%>3hun)uH_qSHhQl^EJ4Mi(_& zE>ld25)kZE<XD~P7NWqc;UwVofk`pJ-TI0~d!z>6a*N<Xx9F`iuXD^=wyC~v<+5Wx zM3{dx)K6jB`bnfw)P`Y#m6>CN^K<^WUnNXFaO+H9=Gesj=A!(yr(6b~EK1buVm+pp zKUQCp_+NO@jwt&gxkHUMn++s74C*=yWhc&9^!T#vm1O6Ji5=fExj7lx|7=>!;5<>U z!$78i|I3A9jTds;Zk4}NoSas{6**(R$;m9snQhy)aiwas*MG=Lwpg=mS;em_u~i!! z*BKZKHZavVEQ~t9`YzSUQn}+3gPz=}4o=Idu`hBXJFA@z>9c%KaQrN=b5Y_dM)qt= zQ>Dh<d7G0i8h3fSiSZ|j_6fQq6$wcjmPRiUR4aFp3tY^ethPnO#WPX6-7#g>=8%Vp z8lj5IqZ|r<H*jbvFe`pwQQQ#PblI(M!a}n}tbB*NmwpmSZS=_K%Iln>nZ`9UX`<)? zW#L98kJEw{OvV3|-!Eos{-U0nEb8)ruatR7$s{YGEGEt^Y*hi-3zzdPY2o|4x!<P9 z{5WTL?J;H>1qPc07Ab~k%cQQp&m0?ACr%KE_*Z22_dxWg1#`0wsfY`hTy|ufI!pHD zM!N?WId2Q=UJQxf5YF~Nu<F5Qx%U?*wf>g7GiCMrtNg9p9V^A;yTuoLDP${YU`z67 z`(W7C<({2?VL{=6><QPaIHvL$Y~of?VOIX4%WFDy&Fc=Xneh{n<?KJ}Cwm4v8zugJ zHPt}0-{_W21iR^t4&j^buF;#;Z@aB7&L%0VIAOho5YO+RnwuMhZ-@Ama=Zyox#O4? zU?_e^kZaRomOYKOGVZd8g8waMKambRWgZ~7^fI^C!WQv6KV~jFS@fmbT<1GOqtHx^ z@F@KWD~%eMS0+w3OcmYikXlhZCw_v{ErvO+4YRk;<cU^bwfw+lA;5AHbSO9<;|0bW z8EPF%wnm-a8ufZByRzVl)Z+fb`W%k)rZ5<6O_+a;+h^x=m(5xxUl`b5EM}AY$=N&2 zmgS@FpCExA1MajCC!Lv-8zgd59oW+g*r)zxOI{IBp1}UGa8mXLN86uSt2R_5M;v9| z#jSUMU2+2R|KlYN7rd$poL0^@UKQZ<`2wT&N;cgo6IQ?O&^1|YXJoruWw*>kK_Njd z#pC8{uh!hUsUE&tb;cxJmY*ud87CHX{O6o)EX*Li<?`|Lo6m*IIr|MZ3Q2URY)k6O zO>x`Ts4OwV{_AlOj&l9LiyDO&Id@K7xVKSEZGz~Ti!+K;HYYv|(qZ4PG5vJbto_Ef zXIwn7&qFA+X^AQW_p+9+i<fyYGBdDwSu1cTt%yFr_AG=&Pk<#WkjZfZ^U+|@uBSo@ zADP7&4&DFAs`@fuUt{!a6X_lW6G!2RLYdA+N%KVm^joG0dTE&560|-aBrA|8xXp;u z?2CY2%2W<TnMZ-~Y7Q)o(pB1$7e8%fOATl{ZJO)5CLlZEXm-cW$-9rrt*zSg(^{ix za##AokET_hwgxN@ullidm&gUiB`zh^o24I@Fcl~M*FV=}+tH}8<b(d?4Z0r5g6oqx zk~vL}?J;$q&7>yip=BuCSYqDM;t}p`e!+UZD~oN+AyfMcDohhBuQq!2E4#~8a_nN< z=iLytXCt=}1Jmc}J&6ZrSU=HgT*#s>!1%m--?>kvzqgvtSgCdP#|;0Ar_*1#M?3DH znZ%OQD()u06*4L1Q88z5qg%sgk&hp&X887O6_Ri@V0qiYd_dDdkb&vP38w$j-us>X zcCOKMoStU=kv02)Q#J$ptDDVcB?fUj*fx}#{$~|<WW@i-iK~ktbBQ4bSD>wRh^dUh z?%h*dCnvZaeqzh*8D;c=NiCsDlvh6SM?iT&mG0WM)op8+fB%1B(f9T~>B)zq+F}CQ z{vV0EcQv+4e8+v>ToDJRx$L*BiZXqcOLHXLI<QrF*F~MO^jqFh0>K$_6LR*vaLbot zOu4|}72<n!p^C?vzcUwPZ0(NOV*0T-BaI_|@zt2ek~KeBWwy`Q>*0Cr#_2^L_697J zZkVWU>BMclThvlWRC>E}tFXrV#cr%UGj3+2cKF`NuG+7|F4W7iydv<X$ac%mS~}a5 znJfat_H=u!P-4>ipj$qTxv6XRZUb5KVzCTW{%r=bX}eTsNBRnH)D6ACZ@c{V2N~6m zYc6<h3-aQ~oWU!;dE+UmYUk(7HJ62tgxn}TFFF5xBmcLCNx^sS`pU%LTl@b=aLvU! ziChuii~L9LW=rgtD!rip_-yGtjwg4;2t+N=Si!ePA!hA^vy2HUFVZ{yeV4Zi)31CM zYJWy-b(UO%u!NF;TD*{ue{xrCk6O6()sjmOj^}8loy%)tNu8k?ENLb*^UQR&mN{yP zMd@W0nOF4gIQzC<(s<moYKc=%+ob(57ndaLdNa>SzxX5PgL$X-$+%8>95iXN=A^?n z3V*o^GlXX>kqBXX`d-7sLXl01fl2B?`Zg9x(G4s*26~nZ3cPES_B1f)EqJ;;bJyz) ze9{wM&62d3CuCZtEatfQc9wyi?V`CA0-ui6n%uK|{?bA^R9Ntp8q<1rjt5R07nxMP zKKrlFxsXGowOX{5J>|n^Ue~H+-vd6TzLefONv(5I>H;p20=9<gs*g**e0R9m^{+kV z0ekk0n3qp?`0(uf7(01JHoNzGi~I;ihNE&HA8;}ju(lqQwmv3nxmkb3Y-UTg3sK7j zHM2OIA80PK;JClAl+SN{Zt<3DLM6g^&#qmv+8$)CXu9X@>)La(lV<;socK#{#@hM@ zC$UG3jRw!cuNtO>G+B0Dln5?tXlODpStmU=spr%0u=3_*+b2K1s*$RFJ!!esug}XF z;#zC`melAQzMWbqH02|!g26FccP8QUOs*SPPY2{Qt>TGhU~@e1$8o{gZ424TnzbaJ zh3R({msfK-+WgnE?wFcvyra_2F4fR1?2?SJ|7Yba=fk<2=FBI(Cr=eMo!TSu#gifT zH$O*eQ+aB7d0TU;NK>|KS$TJVYIbUW_mtH3^0MsmDjhXh(X#aP?6%p<mo8r=n=ZR< zS+5SGsE)`s3l|+73q~VR1~nrc1qDIDa7Hyo1{o6>hI0&BGS_63q`0K6%iKAqbmKbL z?R#AD@z0r<`1zCg-#q#BS(8hX|MRt*PhP%w%O5Y7(XhQw;eh;`Ynm()AGobsIApmN zC?0ANl2meGSRlkJJ+(k;B?HIurzeGVFPQ~JYF=vL%v4&MY0`M<2&b-vf6f()NlQ;K zIK=Ma*}&MqRHJ<|Q1QQdQ_S8a-$Zo&?kGwL77P$gXq{#F%x(3b6I-=8&L<oy=Wl4Z zIjNbcmCtgU0mmd}_8CeQy^`7=mof25?XcRDXgJ|6vvPazpB>-x3awdFELMDEd*01< z+GI=a=^25|X6I$JVv4!Xeir9>5i~oHS$9^($;nq&7|xB_%4VFVQ-8AeIFFpsfyot~ zPHh#FjE=LWR&81KQ;O^SV(aPWURo~kovm@>rNikXi-XGfB&F={^{NGLxVDEeNQqrS zT+e}FWy9hVhB6C2&1P77#KmBi$<ME6Oba3o`<h>AV42joEce+#vuT<S9P=3FE^bJC z>oBD+EJ;?ipCNJT)eEhh3&k#2ad7@GNOEG;oFd?$duYcojj{^?2Q|!ZRU|i<KfCU& z@w-!ri_<(SeKDuXkMhTpL={e|=$Sb+C-*YE$l&Id4ft?<TFj*dY%(c-LK#^@e?6T( zqaoLF+03ka90$rG)^$FPFS~K@iAK~VhB;CP-tKhcWS+v{Qk=mN<s_oY@aq_ZCCjWA z46aiS97@>JlEglL)7z8F=SB6cOr4)Hg>i=L)Pf*J@jHnpx%EXm4jt+Xzb6^XIwj+J z%<A74U(G4<e4)U>YrHOS?uKriLmiq+_iXCgBx|yXO=`uWz^*MD7c6Ywd`YX@ZQCua zYPW5d+J3*4zn_<_r=$8{f<|@Yvj=&6JO&e-mvnmlKP5gbyWnDn^0~FM)-BmGFHw8# zmZGE&Jrz}1%Vlr9d?lt=+86nFdEBj)8;(@AdCr-a_{@`0QvR}nR^fp_2c!81rd~`J z(pYa3Qy3>Q-KcQ=tcGTueQ%C4Ra<=FX*z%GN0ajf1%Zp3FaCZyOPP1?i$|AM`@E`2 zTVs8R!J*H4*-W(=@sk*r%`-W$ap?_{D;zR6;}`8z%@kGXa$eQ^Z057c4WcX4PiNhD zXm;h!&*$>`i*77b;hw)CV13QnpaW8wiQhOQjwJ>kVB*}8(&>G;blTll&(7+u$(|c? z$3pqANJZo6xr;8$x~Ebql)YSe_HBtZ&(9r9s;)Zw?4FL)`DsGjn^zS5KloegcHM33 z&HI%5-Pli?zvq&Av(r{W;MF#F{rD=K{rUS2nT2~Po?PU<W8L|Qt2$P0=x*AuA@%%< zxhtMeR@=X#`@)1H@drB3Y@8$C{Kn#Vt=8SYc30J(%+X0rIS|6+Sh}ChYMn*Zsq@cf zT~SfJtKqrk5vxFzpgP~9<>`zKQGF6(OHEtf`FS%Py;88jG2+N6zR)fqnUuq`);H?< z7_$h=6x~>A_A@=nN2yU`%9rUjM?d(6H7j0|yRLa^t5(F>jWUOH)OM*F<|L*jCkc8+ zxNM&=p~&UO&EA-)%5V3)>n#1md@yMH5}ib!#I!Y!4*6}I^W&zMV6#E;>#`%<LIvl` z*8V>vB>v^Xng<J4F~=l?ZHsx>m2RjXdD=TnxpuqUw<ioNpR)KlHnezrW9gl+Vv(G{ zjP1HES^N{%{D}LpuedG9cX`cP5tq_+7P~)XKA%=0BKlHp*~a}jI`t_Au`_;Lu@8{k zoT8wtP-yqfkoA{;qegIo;pgQ`FW>dl@MSvsfTvyl-HA>QrzFw787WJ31K)*imlkHv zDp~BzcGxfA@uWLdH+F0|xy*Zd^yEin7Lox1iVU{QtO083Tz^VGCJIOg&)Sm0et2s- zmt)6@-AtvbaSz;E7iCD4=WP$D+;uejSdKjR0*^-Fa~}NWOfPzM!eoOBlma79IJz_+ zXkg@d5Vh>m)c^9!nGIVe@|VpOW+~}e+R^oG4f7S@C2|c0UWY~3iZ8A?{AtnA6HgW@ zaz#!!<fE$9DzwBgU}v{nFso^h3)iyr{KrintO8id_x4uyFS#ZuH1pI4)z#HIvyW_T zxvKLy)G7Yz#%R?u8Zr-Cx`HeA$p2M1;qdqA`{{8_2^+aiY-D3vHgDS9DN3s<PisFq z>87$}QO4>O#z_jBn(Sp3bGK_aaW4AYnSEmt_t&Yd1~<NK+i`YnUiob{t}_NXoM#^L zuy45iNJ@OWWax@sk7Ra*4-a<~b2yjuMmOm!&6>P-Lpa}(>X^rV*S7^1@U8Tiy8dm? zOUsN5=kn{)Z9;dnB3Pu8`>*}CZfHw9v{cnXPiM!3yWV_nb6=*eFT5$xlD+n7nXfh@ zN6`Vc$9xMamo5=w?mNxkIAf8}rWKbZ)ne}0O;O0ITgXtzdM3_<VYx@*p>#>(a3g&q zz53M0kDi*OtC>%noSDlrr)IjzV!LES#%`@Tkoqtxt%3I1OuiAS+EG4eNb9jH27 zra9-p?xzNgu@-u<VtXExZ@n5D&lZyN^`wif%=W;}SKQoJUO!l|E<OD#*P%l82TPq8 z8V?^kd+=x8Rh_7rm3wn19Ac0-@a$dMLBDg6nad*_lBV3^41Hz!ZtXeAF1`ou=Z>Cr zyxhjtq9#3^ai4PPJ}ZY4n&RbCel8Mw-_qXp|M9j)n>DXxmX)7o7cwc~xTUg{Gp68K z`OXD_3L7*RY+_(aVxP@wBymVTg`r0}J9Dn~(%{(^VZPcoS9XMb;y!G*`)FtE$D$>| zN4IM1m@9Ys`Xb4gNvzyve(J4Gh06DG<%=#TE8O5<5IOOFdHIUvGM_m40woIgzAR`r zU$UxMX$?d0L!X0NOC1iFur_V_C(^2C!^NAwB5zhXTT9RRs_n5KqD)RUq~G19XkD#x z^?2!QRws@_sYf!m7XCcY>Em-KtgM2$Gxs)I*c8X-$81&JT}#-(my)nIC&QV~%i%=H z+tl*QpTv|nZ|VfUH{)F{Aig!Alx_8Ev*^|baSKbinIt9t=cfNNROZc^{ai)!W#;Js zA%RT{EV>~M+($ah{=7-I*H4gc&|IfJ-6iyhai*`22>0xHGgwSN$6fF=T_vm&bBS^8 zMy{2d@j;7PN>@2->T(zP@a0_p?e-g0oVl7}A74nv+>!fwD92o-`HXx2ZG|O@Tp|~o z`5Fuw%wHT_CaG`vwsf{tqG1!agMQv=VMiI+6Fn9muf3IFn;_#Pz+~khQ754_r|of@ z{>1ecm_KdYQgkbQVfm^PzqZE-*4}k%j1F8LwyIyc)p)`qo}2o4(x)D@@|{RHQ8r!v z>GbF|;W3x5CNwC@{3$oDJMQ!4v-X6~7I8(+CI&Kwn^nJxR3tQ;rzHGWkGrCE_L0mA zB`dbW?#qsIt`}0DTO4G}#9b52I7QjSd9!Dndo@o2yTugEl*4Mvm*-zN8dqz;l^Sdn zd&y$KBDU-e3Fo&K*IZyUV`a&hz!v|NEmNW9usBPG1LNa`GBFm_yIHfE9N14V%2+uV zrCg}nY06-x?tOJ)&F;{)42^^rS2(0i7>;Z!;o26sb26*Ec<lY9HRY+H*$S**p6f<k zx88W5EWU!HFe5rkBc$mwx0-@O*M*MVp$$h<+0Q=^>$+gL@KJgBBv)G#t<)s}-Nnv4 zt&I#{qNj?d)Lyk*-RiXbk#Av=d31=%BIfv)7iE4OVl8v(IChow04w`63AP%8|LjWU z&asF6(;V0$(_$hSw9A9kt%D0T9+hf1s4i`sSYHt>`9UUAs4^y?$5BC|_A6Vg0Bc}E z>yA(+CHA1%pV-*0+jb~$p8Cj@x}f8dI7^ZShyLRlE#ZPo>Cuh{v`;;h$y*V9oN)s4 zi`wi5Y$uYqVlLDk6J`CCRR7`-6JuIT{sx`i0InE@o}*LQ?kSb3{nR~nm5tYueR2R> z-U5!25S^Hao_8zQ&X&kz3RUzyE}xTRwR5@C#bcU(lLH#2C)Foft?n=?XZB&(qU`yY z+vQSIwu|=B4_b?z4LaRi`IFhd8#g-NklAMBx@dcJ<N}Ki9utp;vW0JxO4uZIJ|bpD z#{X#VjOap1mOIxpMJ`O(Zdx#>p{7cbP4a+7qyVdf0IMH|hG|DMvp|fDvk#j)*IWa+ zYvujz2kMj48?4RQGY+&KXOvw&fhBH6w9ZZK)PS~>0=DUyF()Q@t(j1NC$&hmfo;iy zmb){ezov(mFYVtom2LlI{S%X{Rc|uxx*5yt!0|1e!}NLh2}O>h9!Zx)S!9YM;~XmL z7aA!lH-0Xu;{M|BW3r}O=9EuUa@8DI%z|0AO8EUan7sIc?c8MFyoZ_`r3Q5&u3Hw# z9*u}kGxjk#!1{VCTgru=aJGV5;W3UM8h@G?%1)SNeVxtBltJ`6TUMxb)q%e4rVJ)5 zYU$2w%QyVDTAm=cq@Z@a1Lw(!EN5@VYP~G_eq)lSL&(CJ(J2d<4=2vjo5_-~a@Kkk z?oAumOf9CrIm+;|UFYy-uEU+tU&BKusZ3n!VDsi{)^W+Q37R3N6pc~?7Fi!>FbMOD za;oS~4Y<!~Hm50fC41jWcXh=uC$YnB!YbX37cG}1`QCQZ>fVrIEW{<UC8$im%Be_w z`QygY&zk?InQ^-~|39g|`s4hzRct#h_OxcP?f*KDw>a)&sOvjrbGgTcu`CkV3a$Ip zL;F*-11~Ii^<n|@1y<&O8G#={4{Zux^l9$>pUZ0($tikpPTkqo?%>Y7b56+xubojG zdzg&VB($<MIF_7jjfwa#qqTX?DM77MtBj6JTyuPt?8*l+-;Q@*zSw<d^Q?Qx9IH0W zDnG#0xkTSSDtyg{iI!5Xs|`F?cY3Ja)IDsx?&&YvH5b-Sh*S?)#j%WeX#to0iITY! zHqY%fmYHzb=tuLy#_gI--^&vo8<sKUzS<Tf+7RUJq!MBhRVlS{VZ^fCPb_bmsal3s zX8zhJED~)z#a?-~=IV<*9bGF9EL`!wY*Ty^oAZt7eG>xmE^@>$$Tm4j)jv0MTVXE} zFyp1gs`*l^cbeJEN>@2oZ<&8fqiGsjRl%yi&(_B=JJdHCtyPYjD(T%^ka)sS=6E6d zPOfeGFN@A<8EZSQIXzQmPUV``r{UkV{u>{c+CFhZ<om^mx}{umHgK(x?AW?$yT`2U z9#s<`a@9$Dg|B9)+xS7}_9@%8?%59y&${<{;e(4_716~%PPHD}#BrR_NX){)L(}2n zPj3%SBfHyy%bc~mJ69AOSP_0~RnjEW#S!LqtxorjxV>JsTzGZH#OInzUPQioykSR& zTkXoIe>>GJIf7JIZ_>$Lp~Jl(z9@HJcg+R^uh){URTq40y?t8L?HdZKgCYt$jJ$pY zY4Aqvd--B-$cmNe3)sIK7qR@#Ken1JPQW!oq-=}Sn%T2CpA~XE3tW?&(Uv8BAfwy; zbX3ItOIwd89+-P_%}$q)JznnLrgL51HS5VmncC_(a}ECMTz_R-y?d5m){fh|*0sN$ zT`D@!QL1BNHCx?*gO6`bI<jicP8OpRibh?oEnkc0eiv2?SY^+@!u8JU$uUgxE@p0s z^Rjp0l*zdg<s!6a-cgl#pH*Bp?VhKkZt|#6BgMBu$ncZthKW-hVlVeJpW2gHvq|ar zio_<<mCmkn96Th&S@($>@u%#OziOXVz!v*p%ZcTEV#lq2GVNPbwdLgv*7}B;*|%6_ z3!HTin<{+mt4XrkWWaeNQKwB|GUpu5V<%UiQgkp#-p1UsCO~RAht1p*Q3v!7x0=`- z=>M>A<sMGC&c)@TheT@FpM6}sw&zfz^u$R|W_N1u5Rp0Lc527V^7`xz{|{|ykbO3J z=S-gE3yTgXM_4gEDYwjNIp`v_+Da>Hxux*q!w+s63Y}Q$dc*XvijbtC&|L+-$347U zNxYK}@^T6B%_~%hZWM~1D5SViP)dPGZo>KCiy}da{BtG>x?kk`eu2+z0+U+;i*UgO zuDus{YA*;+V2W=Ll_?Too698pfth~+8yADllnqKhCJ1z0R1$K!XkXCglpXxO=tM&x zQ;<SN<kd@0UoXfPShZJNfPaGo(*!2X3772yE_63u{w@$LWgzWhdu97X>D7(wTNg@o z-nz0QP})$5VP_*>u<zCPKGNQEuSTv_nm$pA=i=4vAI~KnmWo^Byy>IqG3n}wS7)TJ z{oix^%8c8b5{C<&&%QciTyyx&Y0cilogA$JcXvAM58Y~<!scFkCDivuY%gDItm2CT zzPA(jk{Ja)OyHaD$ak<oRPrI?cN_j&4g8F~{PW&2dM^~=SK{wi6#H+$FIOP?yhq`x z03Y)rCXoW(d4`e?CrC;?VBFNml4aoFIe}%;Lse&AK^w!{-}l^_u~$?_kWbn1B7XsY zSKvjyyBGN8Uf{~T$oiK-PJm~Tp`_+T6)yn>g@l4nKiEt@@Uv{ZY^}>6ahETt;UZH( zTi^y}XKrr3S!($VZ0{P|`!8wmacM04#b!D8@_F9}R&$w>1n#o^V~r|OFlkV^DsXMz zLbj;8()%X<U*T0Nxk8aa+D~9dqttZ4M_qHJ72n<HU3()^_on(g{#_d%O*6c*|EQGF zJJsbYT%}i7NWVC`e1>LC`m~hT+!WbepOUZ3FXo7HJ`&p*Q1QheRQvJwFRJOiD}?kO zDaPHL^7q`c2a3vz1R4GcYAqCEu)WA7z<c_xh{r>o&kIC88QjWzck^2VzjPt5+yRAq z1qvKOymKB3$_qX!-6!qQz$^FR`MkzEt9$QkILla>#CxpwT*SpY3~Mi+=e^6e_X20` zU9Q}h)8j6LFfw=rFfzL^PDw5>j$ry0$Ru+>qV40oH?{mWZ}}v0w>bY^c_@r&$wsz5 zBL;<lSh4MTcFZi91`Ny(|MR_D@PH%kqD}4veh0>@38pd+@@xCpvl`f+H}Gj~k`~jG z-uF;)1*5VMBmee^Qt$Ujhxpy#EtGnCPQY82VcEh*TNxEY*D?NadHjz};`{<jVU5R! zuUHtrd-DC?(iIhv-kJ7wYgN0xzO?jgwB(VPebm5B?#cHnM-TVD*ipcHF5ukzH|Mq+ zz7=J<_2a;Kp+%B!7x2D1rzm${G3wy6ta;DA6+B?{<^Q)w#ONW<g1~bo>zPFLB}?nh zZ^*s9g_ps_fW^5%h@nBqYXQrgb9bx_zsyk-miZ_sIZ=YW?(UVl7pBHtxVo0%Qo~pM z0w#S0W<~)<1_fqU0S0FWFWC?5vIQc{eE%=8{JZxm_Cl7zs#h!ef<COg=BgcZfZ>;{ z{O^ex$1YT7eqj5(kcnyT<&K5-F2=r@7<at=gSf?csSp3oZAw(ssN2*T^>o@t2I)E_ z{s#8&zvte?Nq5ebQZst{e8P=o`+09K;Qj0HGfehrz&ggP<n9|8Q!3BC4~@=UGW+*; zKc85aT_w>vYQ-P^O;%%0ad*g5p2E!HWpw+}3tr|!3gL4<KUtvksz6c2N#J#Y;y)cl z1I3G4`Mg^HpK&R$<;U@VeIPQS?g4uq@8t&G`Hb&p7n(Y6VAR;a;=Lf}L;;g4KZlVs zBcoT8m#)6QniqqTOkW?D(v&`#Dg8<eAq+-FYExvQoc}v3@oTQIU*V?dwr;(f@P^H6 zHVJETh0I~tGs|m<+QG#}y?bYHO+Img|IAq?CfUG1=F3-^ub7CKWHSfdy=!Ud_$VP- z($Q5?QdE<lY59jF&7=>SOe>feyn4L;{ynmXp`anT{jfM|yoo}{0!P;NcIHf*D-IVA zPiJS}&v7B)n9m`7dD9xhW&@QIlO!C|VrB+5GEC4n)U#P>v{1?-EAP^dm2GYQ^F=iZ z7C5#wiRa#|ne_9f@$+-@y}Q+}x+T86JTFKy<F402p6hG9R{AaVI_Sr$pn4*;U}K_l z%XSN&kOhH>>-<H9RGqFIXjD3~kSF?7$@ep|PKTK!v{o<_h&QyJ`0wJf%*EAc>WQ5$ zG5gl=T(=21CBkuKN$QIO?GwL!3JqK+uJ1QXCb({i<L2zMJ7jOJ>se{^{uGx@$h>g> ztE<DdOi<r%+Id~|?o>;S2M3fKVq_RS)~sA`K-MPhyW9#PeTS)SCaSAEH=8B+`f~;D z;ngV2{kL_Csuv6AWJZVGAHE5wKd}9zA#i}rMPM-tlUKom32_r%9QL+n^wnq<+vA}k z<RNkN37@M{?umd7j!uyqZQ@tIT=Y_vb-V1uRk`3oht!1yjDF5{O{N4SX?_jvPg1;k z*+2Mai%5`5R_c<8@wHR0gp@K)WR{R@czA6}?vsEcLf%gTm^jpIo(Rhn1eh$F`QN;8 zMsF;0;FTn|wpf$Jo$R&?B#ev?6`t%lA!EXsepzv`x8B0iX{XapJot2glY#Mqlzvo3 zViQk`$VVrJe9eWY^Jm3=n!s_0Go+Ej{M}adl_4KoJ)Kqs8FemiDf@PSW%-{6UfQQF zDxKEec0o#$VdAj|o=fJ3TsSBtB6H-RwCn=L<JMnH9{1U<`BQM-HpPXp#pFss_I)Xr zzz=OA_a;Qk*Iq4In9D9c_Y$Ah*9)K5+3<%PaALo;VqxRH)JG|7t|@<3CwcyUmcb^+ zwX)^nA<4!W2Cm9~xi>P&%{}tLM{BFbW$(L7J%qcJ@2+s0?I-v$*zcCi*T)h5v-YH% z_Sv{+s_g%giwrJ;Iw1*6d=?uv7;{);1d7L&-sEQDa8;3Q;L&*!v*ny4@04J_ls+HF zD>ZjleC;wixYMAw;?YTU<D#<feREHEguhUk#<+?>FMBal6qk5V<3cs(0Ig<+ISK-q z@zX0N%*>s2V_CGrZkO)@GZnwN&di@$B4ttVcEhBm!tIw9RqAe(_;_H}B-^0I3u*xi zTGf}Z90(V*s7XA}{KZB4-s_|lMgEdMSE~Dp1+xV<O_Duf?jZOzbn?7ifd!1^4a-mb z)_ZfrHsQEbdVs;EeZRkXPn7ap@sX8HbJ~nxcbTb~ZLWHHbAl4o9A%Q6R2Ket=H8h5 z=F%_yL!6h|L|&c@KJ#DZ#PvyA9E~?#IFqWzEi`eBn8U6K3JmVI9T;XEV-k?*5KvQK z;(in)er>`57Q4?gIaNe?B(Jz;xF+{5R#2H}QushEwMZiV+oee#RNE96a*M>TSg_Yl zv(3M0RqukD$vmk`v`jLblZ;IiIj<NPiZDKOV71%IZGD8TFx=#haO~CD?iTM9LvC=( zm=r1o>^xocZqrq*X~lCQmo#vRcQLlT37Td)LxI7$gJJ1CrKUqB{gVH89<Rs}pJ&{V zU>E4&Z6S7&L4ZM@J@<rz^eurlgAIxtuO=)}i+mtiKDWuCz9yV&--foJDF195LwR?n zut{x8FY%Zwo^(GjebJEx8TFje{{{d1EZQITZoR7h!x?U`rc69ip_8I?m{aE1l*#OW zQ}oI%9E*7)bT&ufq`I@@f{8vKra8_y(8Q?W#4zo_G!C9c9C{a$12zSoU4HdwU{Pdn z?35IC(FpxC3(1?YAB;rW0~jJ0J4139%#~6#yjfCbol`y3Asys<eBmjEq=K#)8jiAB zY;$h#Fc|DwdD?+R_}Ghfaq$w4`H@ToYd<OFsXbch_qB<6Ph+M;<wx~dNo`zm4aar$ zrfWZWb4qmkj;rgU9JTp44zui$VBt_Yz@!`UTvs?Jiv7Wbp6eI=dhHcbthEA|wme~H zu?#paa>$Bx_lw3!lg}IwJ2bI1FH@T<e?jA-|1K{*D-N!9xa@q5+i?k7=Sy$i6HbD< zrVec;6EoF0z3;nvec32F*Fz=Mi{t1s_YLt$Z<0Dzrgl5DOs-8V_NaU)$jh)nZNU|v zSvNBlxVYRlx{!96Z;5Wlq&J(+?Gz}`_D@!iU1zq7Yr=uK&XbjRLlVyCq#5h?Txb&i zd3E}C-6J!YPPA|=i?DcEBN8%c=j9#;(PJ+;mN+?G?$K*#ZAh?C3i>V;q9!uQ^j40) z>4IH?&Uz2yc)#}RTRA)ESF8}Y($l6iWx~Y&MT-Q&PwI-UJ|VhZEQfo+A|<D&6Dt;* z9qiV;wv<`Y#F5=hqv^TlYuW3Y+{2cBZ>uhS!0X`Qtn}IVKZ8QRQND)@{A<@u^jNZ! zfk)v%!(6|G3{|obQ{FCMXPvNBnCboM^}ipT(43nsY!PsP#ca|EFNrku<Ex(3O1>6f zz0Ga;RF$wzbz09Hg@lEtX*g8>x-&7;O?%?b8<)40EWBxwoi?3C$-r}|s%}BMn98a* zk~{id1)6zCA83E!;eUIgh>P2?9d4KVow+BjtCu!((z3}CzBx5dNO{-HL#f-XS?fZ} z?rsYR(A{!HpzvIrPO;d|JAzHm)*Rru`ea9dwu!LZg9i35R|RteSor_%YJaNt+$~Jv z_KlrcA9RI2&vTYw3hKYa#Fz4+MOcK9#aW|?vt{$PcXJMLumrKzXml`({9i9o=@EI@ z<ehVGc8TNB%o|~x773vWza!#42^5*cTWtMZ<Z|*CQ*r0C&dHiWpEng11y9fC6tXZ- zX*2J7GhH$4aR0-6HSR)-4uwlnW{+Dvk`674{m^u4mTjiqvcdq?5R2)Y+toCRmo3g* zTe&1B=lOY!H@N}pEN|_)z-F5C>g1z3B_k<^7#H4Z4<nO?ed!m&#bpd!wm-Zm>8iVU zk@dGTx3}<F2VHf0`Pa6W!|jI2Yk?$Y1%<}Nvz~peTm8xHeu$&QR=0^WgOr#w3LI}) zXDD~bM%bLVH%B^kB2)AhX8-e@eQYwp3$ML#%5Xc<W8|bRX<eESeP&YD<pPD?`#+ET z=es;%W9=^2`Ck|g-k!JTySn{nPpLPz-EO>ov;TW*yJ+o`_~0XfDa+3&#;oJ0nOZyl z+PORX?<VJLmRRrEsZcyY(vFE?!_(yfF=a6eOa#tdiMg3oJ#WcEm$Qe0|158nH9fE7 z`T4x7@~x{U-uqR*6MJH6wXS*7%~@tU`IA3>@2)IWKC;#Jfd0lH4V!J5eCCx*FLJpS zC<ZWdiasbf?ZPY@Ag&`Iuuxb?c~N1Vq5#)X@$GI}DVOx!u9}D_ROdPgEid3+)gZ%F zmNS<*M6W_S{WGg`qp*OG!)0OL(iE{vOU%lPO7AvS$*AWlY)EvtV4`}#M9rb-wON(w z0=*B*k{lNNXLJ-x`RdSG*2*QNpi)28c7;jxyJ7)ZM)u-^tv+IQYm%xDu}4O`silAO zHd$C0H%)L8i*m_~*yWE(1q#J012b-z#8mAt(q?BUQZ!+3?GOs|5B{R89%54Ut>_(# z$Ym4%NfMpmi&X+PMQ?R=6=o}`R}`p!sF_<-vgVS0&tvh+OWCI?3P>zsnYY1wwn5-s zvA|6~nrEk}GhASrut~j6P;r`q$)$&CTt_>k8Wb6)S{QuQ<Y(vXU(Q;zBx`YTPwhvB zt3?U39|!A4aJL@kx@@R%`Cw!5algx3*kmv0Jnmr2a9}=_pq?aP-lF7sej>BO1{05F z=7drcg$<6D1s?4t|En%dND7?5CVL^dp@rM7jq6iF_@@Uc))&RAisJu&Diiy``Zp=U z@QRmsaodsUg0~)vS23~IEi#q6*%p7zOUY44@n(&MiSk)?L7s_P^E0HJ9@YvqieFZV znb^Vb{)&{7v3vie$xDvbcAj8dKV5vnkF?$s(XNN1tu)f(7-~fm#MW&uw%SqT_^?y( zQ((kOsn(!|Z_7&(J~#5+=v&|syZ51)hf2el3Eb;{Xia8kFj7&L*r2#&iok=%g8SRN zMHCH7jz{u6cAC{tWRavS_tH{$LX++e%TsLJt?gU|6OxrC7&~2d5(-S*rz(Eiuur;8 zKPy1v=GNpdAIu6ESTZ)SiH7{|KeI_U(||#CLzGBB)myQu|3AWFH?ZAJZ2c&}A8z60 zyK%zC>C+XI4BvjvPd%jn-q}0Wxtw!ifWY$xL3X7RDut5H_MeW%B^j$v4v<z*lH@Xv z|2Vy!e<APjrRgq*J3J*jO<wlhP>IoIVc7Gu=*jcG(zGZRkxu8&Q!a=U2OW`mw?*0T zr)C_Bh5biy0j37N<K|KiIJ(>CrZ1CNxk&PQrzGn&*GFH?b_y`}FXWU6)p)zWUjDOP zndS7n7lO^K-c>>3Mxt)=jO-N+22VcgA6Uky!?oC`O7K{tc6;ZH>oa<V4H!EOb>BNg zWH~T;E)e}DBqE)b^z$NP{Rg&;hK7wV{s+hiG`j52?fk-a=>n^&K)9Pw)i=fDjX&AG zB(gKV)MI4QKdY>;_{eN0ap(V+mTgv#R9xicoTL<6CSk4=DSdO!!ixG`R}9WfpQx~D z!4*yA{WEy}OPU#85qH@cb<e#%=t+mabKM*Fc}brHe$AY$=PvHV$*?AI@|s2l{Q^zr z0?iph4Ehr|)C-u_c=Q}t#Ijhq!_s{we_;ACrkO1QjCu!{oF|$dSTuLhMa{)aSrh}L zf?YIbInJ#!k_<^$__$PK_5sO)&+4Zb7!)t`7%|A4c)%#PVD4^}2*p6d$ipQwHwfow zOx$-;aL==4G9MS^b{QxnYHL_jSj@8QmgHW4ndi%g|EyUKY_5h&$^*Rqcg@Ubm?^Ec z?97Dx`6>(#o>^)pu;(vecW~HnT#5I%P@~9)!u$jMZ?@^)7Mk#u!TMuRc<L|D(<QdP zj^#p&*L`G;^b{++aoJ1Hs6g@1^xf`Cik{2a1*h>{uhCekZeS|)IW?BcOKZs|O@<w5 zQ?p`%MI5GQbyP3ot=d*s@=)W@SD#0gbvbO&k9W@d>S^-yXx)(vj^7SEb<K+Vg#?Z= zFo-_MYEf{q{LG=%;4~pXDqXE{UWSF}rue{+EXl2sr@1tWi#4)tZlB$xKDS9A&Ruf7 zBd1|Wo6!?}k%yeK3^v!ioLzNuox!U`QVP9?%N8Gf*3=TtZN2J$@B0gS_F7B+Rk1Bq z>3bB>C%b?>Um(0xG-=!Cjb#($mR+yx+_F1j7u(G#8yA(!pIEH>!eYXwrrD)a^Eo9J zIPS8Dn!M@UOS>Az!YWN6&BQhZkFF!v^|`&2Ppy<Vv$C*@(IT0}V)-P~lNW+oR|PG2 zAt2MfrRv9uJ*M;eZxvboEL!rkd;L}?<#6#TW2=J-;<Cs02Q=4B^6KExSUKyJhWlm{ z38Sr@9%{mjO)n&565XXOT>=*}YIFo?+<76{ogNte+^qX(1ZPJO*F+)f5b66@#nX>j zm~5K9`S?1Shv9#ZEjrkyZ92;`XN$J;QSFPncpiLYa9kytJt1870PEu$yD}L5?{)}i z;1ZPkWR!G<p=yUTYed)5h#o!F2fOVyvRN7=8*kg4{~&kc<f@&O%QOY*=Pwl(u9Pw| z*<3YAT=#eC17+c*mtv}l()4)RPb?_3wpOZpbX@SL`iIuJlO9@JdYb7nn{$Fe)QW{n z!eNOm9s7GuNd5n^LPvaZnxZD7ffG**i;t=%!yJ>tLIU#y4jdHdoTtNF_j%Qv0(bF8 zG6y~xi?Pgnay{fg5aWw2jN*rkCk9C^HR|pzcgZeZu<O}D=OexOmjmlgpYix&rNw9` z<#6`BGQ*aV<C=>KjHVRLV`A6-o&PH8_@h0FO_OIkPVKcVow5DGxs3|kY+sk}NGM+I zy}|6$|7QCei|;Aw%5z&w1yuc9$eukxejO*1>V{d?PV$L148JSnV|hG6Ic(n*O<2gn z&UEqE!ibedB0_0J7lj!&?`=60-L`r5Q6;X2$2mpIcr;h&{n6A7mA-V;dBz0J4S|ZA zxdPt3?0Efio{oZ_`iGMOS3<0c9V@r6NL~;V{J<o5K}>yudCP+X6OA0*o0%8&$UZXR z5Nz=C;&rqPkhL&ilb*o%qQ&vPi(_?ih({>n4MWX>ham@K+`2zkIbURSbY`7w6svqh zV!Gg=%x1;u3pv$iEu750_TsM0EjOw;8wDSH<`a`_|EDIq@IVj~Bl}&|4z&sWwc87w zdzl;$FyuTu9rEFSve~S2pLQ*FzM3FiWzX)&d^RA!x~=M>l66mRsEwE|(;?odDk&iy zQ@8XOL2t$cQ-(yDW9|`q?zJsTy_FnY&aZi4qO+n_)k4!{5A6=D6v%njd7?@}EK$9F z<D7*W2f3pfWGf~4)McmGx=oq8K<34z^Wt1>RXkm@r7O5OIeoS+DZLmnd-6jOM(@X* zGd_vAHk4Tgtnv<KQUAblq`*p{p-iBqOd(-g+XB{4Kg5K#gb0Z+=rwpIy=Br1V2Nrl zc`=32a)Y^o$bmJtI2Y{EoYlBr@~ispg^vv8W%dQgPI|;?ymi{k6+8x^ft`X!WHpXx zY_!*GWHfGMoWUye-$>T*$p5waGJB08?k_Js)v|!~(S?vnO?^eq71piVk?#`P%4Mvp zD!8-Mqo!+=U0R&ZbMZrg?v@>W$6xDpGP1C}-Cg<S4$Jnm_6n0ot}vYi>_7jQg`TJ? zZr<?BR_P_@q|38S&rTI!J{X_4*q&#y#1z@Y#akyIaAKZgaG=bAb%vctV#~_~=U(m- zcr{n=)r@oI(+^CWc)(?sWBjg#JLWy=6lHt#=n1FJ11A66exWJ3JMQrxw9z>%q`5|d zVM3AnL?;$!1xNJ_EYDmx)EBrbtK>?~W2{=TZ8DS2L7fiqpq9x_9PXRVWm9=XgLn=- z;E>UY6FDZ$dsMO^NIXqZe0Bo=Z4dD^R{!H3nQFMGczp@jrMd8s<?H4*Uu8~Z^vwAe z<nVoskYcX*UQNHRv2z*}quaUK)IW;Ihji|I8va60B&yWGt#x(zgfC3iwqeiYUnl;z zVK_JGqWL04yVWbJXYlf$W-3c~wo&%tH#7c5qk~;p_qs2C-t~8q@W*;Rrzibv`$8VD zE}QqI*Y5b7cfxTCSU0dT_}Aa9n)qc(?5pDzaWkfE=h?cWhdqE#$;3k7TFfJ{mIPIS zlvVi$?>7Z-cr`rm7r44kP4iG5$MQRzRmPe^%eXggT;p>&<j99B;zF7h24OA&3{wkl zJ``Z6>wSOj&Gz$LI%2=pY+Cs4?^LE__rwWJm(Sb^^jY$sm80(QYyr*A_Y2C3-t$>) zzOQU%$KtZoXzxACsPDBs7Pd|k{=_PqhzOlylHS0w#FbHY+S6{&kD~X_zjs=A{&P8V zrsZ~{O&Kho&gh!I)-aC_S2*pw&}6~$&uqWX^*;Z!J?+GXzOM`lKgATzZSGs%xW$mA zNx<;9X~xu6xoMwNx7?I=t2*Rtv&CYO-SK&R95N;$&8;mhCNfR!odq%sAq-Ir6GD_G zPG^vrI3;SH*W^i2UXzTX82!}+83moAI3{l}Qed37b-|>aa~KRKg{W<v!oawD-cAM` zMlY{vA?M~sO*Ar6Q_wl!WprrLwTlc!jOquKo}6b;x_FN3HCKox*YpqnCqJ1k^H%eR zj2eSzh^P*ONWl)5rLqSbS)UquN1VH<;Ht!;RucB%v^cMnNW>qd2aRp|{5Dz#Ito?T zdHYN>f?6haEuI|zV8xV`Zp(al(>$`S%>2l>Peiy*>Y%vE3uadP$#w#hAF&72I8XKx zU2q`1YoXhQxV@{cas)52Kl-CafnmPCp@;Rp<n+v?(XO2tCwjG4II%AAnBK(O>7Ns{ z%sw>j$^?$Z$~$F(4hb?&Z&PzESfL>#VQHv%x>GT^?8wd3C+GE?o7<Sv1)iT>XskWy zk4Lzr*Bl$g2r;HI6TzJ}mZzt^4Pg-8YjyCRo2Ky2;?D)|t-?L87bJ>Ed$lcD>h!;` z;{2J&Ra;g{E-8DnN=nCk!`Gc1uY+u6oU6HPFS%gV#tWPLE#Fm6(DK!P;Ztet{UGqm zeXEqlFGu;sCQcP}mr6`nz`$l#aIr<Y_ThpSG0Po-eiEubT>XTzDiXr{XR^+y3hHf5 z3Uc!?a17Vmcj9Wd$+nE-K<B+4Ng<j)TBlc4w3-VzzL0Q^(b!eFC`E&%t>v1v-J*&` zp|*z}o^<ZKaj+w$ji>0u^pJ|e4z(7CM-ek+LMC)5ban>J%$m1zi(jhF6;2j`(pL*x z=Y7_->@=QzBlx_k;8bUgg(9}hU1GOPo}Vpyrnx*`<N21OGgNoHbbm47%a`Yxma`8O z-!nF3x&Gg~U}8YX$$D17DH_&KH6Ac7`_Qu8&v@;p^408H^~^h&(!Ja+SbZ#+b%D8z zL8O1(%6q5yJSA2>T-Ye?SS=_go7A#a>O$G+#4Q)Nnpn20NS<J1RpU`)nrd?F#-gg4 zqpL-B`(Nb<>DAk&k=$oCi9;oN8=KCC&1<%P<`C6#b;{IxY5FF-KfzG7Fh0KZ(S@UN zU7izXT&$SL=h~d{#wTTA;6hd2tCdODPl?_LJg78rD>J*bal5&3Cf6AqsRd8BR;{*T z=9`hVsIzR5Y>7x_!pSvKC8s1@v=y@^tUJOMk>Rpdh^0Yj>9<L9t@bWCJZ<>FIWZ zJ!qXCa4YM!l<zH`wYL8Y4rgCod}98_b!+|BY(BO3oVarBm5UD~oK{R^m#QcT^pj{c z5n3;oAYj3szWMO#weC+{EgDmEkB0UcKI493t@v?kXrNKsy!@VwwZ=DHSeiudMdfbR z{a}6m#zIyOg$kkO`9FWkKC#vaD;1e?SX-fOYE;mcCB}6wkK2ts?e?pb?)u%iWKu}R z#XlM1>(yqalrc=;P^|wZyeIYlQJtC#O#jYYvs`Gl`0I)fd!CtCKKPoek)0iV&7-7M zdcALp{q2Yo1$;;4OF1;^&L)U%e&*(wexXm+y)ypxKhX^$0=(AtyBDl+dB7OwxlT)B z#~dbuf+?3Q^;C3B?gd789A@9Jp+)Eao{Pao?NjF2JYe^`D7f#|(#4W%*Tp)jEb4yO zYQ3m%WuxKh1#2^&I|$zD%1COSy_vyn)6Tv9TuBxSgd?BY{hQ#EayEP33>UZ7mlJ!q zVmKztJk{VdbZujcljuF0am<}-(b6=g=DGKuEHh^~#w@owlf(9eBUhrt@=)h21&+_* z6Wn=L%d*L++zxqqz*me#elvHFhCQc&<Egx|AVF1Yhm)(?1bM=vS-iO_o*tU;=fJcN zyHa(tI~m1xeVAsoF*WSVQ$5+lr_&mk9|=xfu`6lU3--v!w4P7w(xDSq*5xopDJ<tW zH9x?>X6^1r=IR_9ie?qd`a3PRI;`UOer8U}hc`+8#a)9X^&{9OSTgh5J^$jX`>Z&@ zIQy>jdy8X^Rqa{xUimN2D%DJn6$<Wo7+(={)oka-fY}>!rm<h$C>HdnuS=%&s`&ej zrylKf<_vmxu_{GU^y$e@?wcliY5D(jiZ*-MzN_cDUj9iZg(?<xt{;vMI2Jc83SuY} z3cAC8OVl^RYx2x<HCZq2Ej+}$@00!P6_OvBp7AZ=D5_zUn(^VnBJ=5NzH=G5pNmag z?j^WRwI{<g`}F}1|5raX8FVH%#yvkAu6t&=*z$lNhA&5K>%J^r_pW-eda9UIQ|81u zv)`O!4qtgNT35*SPR<N9)yTjwQ$xia%;#0ZXU<!@t#s=237J7m|EJvw$=f<Rd*(~C zr_;q3Z79;&_NBAuULd2ug9cX707kbO$zu#V7Vt`PG;up@Xq0(!V7rPyo`1AT$b=Bq zS$3?CdOJ?~yc05<70?^#{+`L?R^-OAzb3i~Hx`Bot_q!+W}B|_JllHXrSQ$7EvwgF zvAWdcV%Wvtnw}cV70&)HI775F>HDMU#tUjMBuMzmvFiW0^&`vp(6ip$oYa%2<Q<o~ zh}x-s4CD5?&~-qs%AnEO?ayS<{I8Rx?NV<|F|yv5(ZHfm;K*k5fJvOiap(E3x_llE z%)C?1t$d&G&U8{??{rqt<-!rG1PfkW(fDsL>mKi2gV`&eD*A18KmMC@YFu~Vf40lK z&1+0_+dW?&<m=j0nqRA3y>eRE?aIyPUdu#SB%g_6`fj=JRn7VXEO(#JdiZAF1D55X zvb)VTb$wp5Wp4Cr?^*XQ-RnBKXo^Zs=;@c9>AxnZzBLIr@cGdfmxyf6g-5bVE{6(D zzBT*(0<p-L<Be8Ne_ShHd1|lPhX!d|g)Gq(eO#+HJxzSYJ?mK9qiH*3uD)%m(3~sx zCH*<Ob*Y@cPW;bPndUN&HXPbA+rv`O=k~(;`E7yCoQfs(p4JApR?a>!wKm`4d(89C zYO^LJ)+{zYqT=X!KC&{wr6j|8MO65%=FPLG-Jff@H|@tRi97PX_inA|I3?J=$(qIg zvv>2638ex5m16Z9`12ha83f-nn{SxFlHVr4z#`CYu_S?~vfo%>$5h|2HMY{0Axcb> zRy2rmR2&graG^<k!l8<!0<ZOR50xyFaAa^hkauMxQ|TeWJ{|iP9FaDYG@TunTil;; zQ237(>+1=NY<A3K5-@UNm7Ma2@nG2#rOsAqUXBOvD%u73xmXxjdRQ2=7Bq5cIW%#p zIDTkee?UMhK~VHT1Bd8~onCT{J9;u)7}I_*vBw$m2F++-z4n9sbm0VM%_$9x%m;#5 zeJ(IQ*vI&_XCZ^sKY><84@M4E4M%~31=R*$c5t|IFmN0b_`|hkA&ZX2!6IgcHlBuq z+g%>m@)ay#7jt=V?Z4}WV~=A6{wSVk;3#EUC#&(HpW(q&sXqpdzpgG}GrG{gl;v<H z@yznh1Gc*2{Q*Z#w=uQ~XDAE$KV}SE%z0>nTBo6q+DAo`1X(Qxh5`l)v4w()iE>kl z&AJX~H!I3Ti3^o4XK21Gl5|lpX=ACTgQ&!j##f3Ak?Ez8?qU_wOYJ{M?Y<!O<s+}U zIcL-ZF0sQhI}Q17eqgy}z;&}gW>P@W|KcW&j>ur;hW-Vt>WM<<m6$d!%uWpy3!Gk( z64>P27#sdjB>V@nXL<Qj<u+MGfiH~mQv{e-7BHPY!2MH^NvDCCkwM<sfYmaANo0Xw zh@-tAqs41Od5a5N9}>&^FaIx=6A-Z3&{(d{<dRUQmLMK*fYGLbU26fGmIGti0yd8g zrcnnZn%KGZ%vqcbq&H6B&gH0B<>n;iz^RumZsx(laDh?vK(*QdjXwwY9S$%=8!&io zU=K>DW)@(Ty}-!RP$Qebl)WLwbwkYM>qbf+iZ6#V1$~Hd-N2Z$f#qH}%Q?{$%V$j9 z2a=^X^xWCb#pu8?|2R``M4!&`y8aAtqYV{H9qZnxi)T#`?z+&x+rgmk%-H3?S?tJo zSb$MbplDT?F!M&<YacsSM96+wo+W*#zjv{q%t1k>1wvCk81+nSl-XDs9p2U=+!V^8 zUv*-l!o`V8gGEy+yvw&Y$x1dS9RJVhAi=OMfuCVPo&Ir+J%O5s7!}@L@F*&mSsSF8 zs2aHGQ%i|EziEK)nMO{=h2BYwZFUz04J=B1+)IP5XE!S|BssF4+`ytAz`ONBUy?bC zU<3CAhnB+*+>8kooR>_dBvi^6@UCg#{&KNMu(kMMqu`SOtJ%+s)Ee3rd=UH-AS+Qg zVe`f+uM1t=k&GM*CakllFnw7xrGb0v4*ppMoMM@rQU#qN7Z|HQuw@spXFISlH?V14 z=obkH(f`cvb%9aApu2xZ*MjA}kp>Kw1`OLQyAw9BFg7p;eqaj>VA|u%?VP}*dVx{Y zfiZglyFx(k>JLoL4a~9|*z}lrp6)REbmBk1i9mf8Q+>(;wu%I{%qHoBX|kOGjPGC6 zF56(5<j%ExX8rf_iRxl}uiYCi1WZ2pphX}^QI1Jb?jR%Y3J%rE($E>LuM5gmPl!aB zH(hWOZBTYrk8D$zI92;blh%&X>6}&93_1G~m{iqyj0AG#Z{RUn$@1s|mk}rH>4L5e zg);um{9(p3oiDT<Wn$QKDR74n=kghvQxa^l0>uJnmd1Ka4LmLyX<n+mvs82fudx=V zpn-HEJFDAukJ}R+76w=<E#MXGkXEx=e7T`n?SjV+M?Ncd&gP2~nG~3`pO+Pu^Tju? zGgO&<)8sMTP<8F#j6)7g+i$d7b7Wdm&O3j3ox+6wj2aJ^q&F}={lRI<$+v&&EZ1d1 z*9>_i53to5v`atWe2`G5mr(aCoJDX0qn#S-A}a>f4{VzySXcaF+ml?UFTnWVJDaS) z9ESy~PVZpR*}$e_Ft;p$J-eXC;y|CygIb;$vpO9ZZ||IIqB!pv^MXSLobM!8Caz-P z-og7!k*8B&*<^!?=SDLM*}059fG$5V*eEzdUFhM%c9|KiQR3FBJ4@>fQ(xY)Y%^|K z%B(NlQ5v+eNh@Pv%0*iv0onh7DxVxUjTS6Ylj75k+Mr&*<a}VmTCQ~g3QKP#$Zso@ zOZMWwZNSxgNJfZNt2<=roC)GfjZ?+FrX~rLhP@C8xZWCG_<v#Q3ReFQOzImL1q+xI zm$Nv3XIUp;^HWej?mJ7}caF}Vf-&1omn85kERcWxpi%sF)21d(hJ=*Jtj!lH<(@C( zU|PWc(|ox&XGMR4tnZ7W^#WYwzm~f;Fe^-8e#lYdlED3FLB+l4dW;LUy*R$|lmnBC z0ONt}EC;`@oTJ6(x`0J(17qv2m<(>F0}?%%0&~vJtd-lvmcM{KbHk4O1JxULv1K?g zp86Tx+a3ODdAKu!z`>~;e-<zmT&T+m=uc~4{}{eDdU4j=3mW|kcmqx?*4tkB`sXeN zh6#<&B@RxNSbA}xIs=1nQp)snh3V>T?iU;Rv=r4|s=U0Vtg7KG7h%P7>i+^g3k!oC zlaeeJ^aQb7+$He8Q6_9P%Nha3fCclMKQJY4U<}&DB7I?%(ajA@7VvFoWRN!4*j6O7 z;K5|8s+oU;wYN2G{5pMIUEn6~?<LM!r6-ncN}9pM@PWzVc75`JeS!uh_p>%HS-_&0 zuy5_J^*;|XDr~I$wt(T#2bNO{cor7S;(g%}`cXlyqg<$|d@}pWNuHdCR2N7%G%|Xv zWxa8D@=6vRc2-tv&O_T7e<v_m1jrU?Om^MC;w`|q+qk{STXRV`%h~qXmpPbR80sz` z=zPC}@v=BWL=RKzEJoFa*@q%m)eA6$2QW<tXO#WGzU<fRo$ag<4K;-w%r}q6oLxEX zO~!wwx~Phd#9ajmY*`MB%d^>1CJ0YFRhcPNaVDxk|G12oK&53zTeR>>-81~_3QlyK zDK?d9e4?eueW<Z(hj4?jMZ>~%SG)J>s>r!7T+kORCbnw5>WU`+>E$UKxwZs!M>jK6 zDa*Lep1176jH`_d?>(5F?Bv%HSnJ5MRNvF-XS2qf1qPEo`d4H|?nva1-q@%d(X{=_ zrsFP4Zkd+ahcvl=?C|<foqV8e$p;qG(>zBfYUWyS<#RU5-I#uyp-lZCBL{;3JEwwM zT4jgu;S`Pw%U5#Ft>IhQEv;3c%T&n6qrqdwIpMTag<JxYpumbn9>>n7&YW<vIb;D# zRWwWMtlFA}|4f!2*c=a7-%H=uV#OBlhDmnsqN^9U6du$X{p?$Jsz`-l#mVn%nGI|k zezEOnUp4tR`xI$bhXd7jrZej$?5HT^_5D+MvU869Va7X?cBL#}?6jGo=gw?d$aDID zM(?Gz-XjaYJMKT^*zm%WTm3=HkwPI`cg0^ldxU4Mvlg`2D$<m|wpVZ$pY24!?1fX+ zX0A85u}Qn4Tv%&@t3uc12lYn}9%lY%G`sWg_7`iCt-Ee5SS~$l!##6puY!#;Hpv<` zY+mlcx?foK$p_X`4;jN3GE986c*l|^&+V;;RZ4@!OK&XQqa?r(cXETv2C3KFtj{0T zuHP*qDkvoWkzw<q;=60I_J{qK70%w5@uG2h`-O=L+LD12n>iT@rMJqbPrj|GJLSZT zUmg7n50*dsJTGQ#eH268FAt^+>Dt1GX&ec44;-f1iZLd9h`Fr68p%-Ab~?H0_H1W? zzJvxQNrxS$pH_PtT-CY0UE?g<@uNLz3@jykm{kns9=6z-dEiQBL-qDsRfi+g_nY<{ z&JZu!$X4XT*b<Xs87Q^twv^^_mcKXJesV<E-Sk-gbGnZE{wRY=?zMF*rSC79ctS^! zgYl!_5}k?Xc25+r5V$XU_?q<8*HNO1C!EhaDZH9<<HxSOz6;mOaBR!|bUx$m46T}L zU;hYdBu+e-vt^FQt=>xw6<+gNgpQm};F`bvKMzke&&@!gxyCXKLVF#%rbb>o(0%WA zid}ZJ@r0MBWnNC=a#mPs_*~ZL0+-vj1xy=cXB0$cMxB45(Dk}PoPU;O-`R<>9rN}J zZWYZGk80TdYWrMI2gZsC3@sDYo=GrdAJ|p3>or3FGqWR$hY!ob^vTm^@?KtW<mPb( zdoeakg~_V}<{a4YKyxqG)e6@3T|JfzHFwyV&TePr|5u^l@GjxQN>>3kjSY;~99A`W zalf!wo%w-nYWAvc=a}*jux2-`-f)ZYTkWL-U+eVzn6nQsS|)a;<g%GcZokAc;f3Ym zD21g#Rx_u(>DO?!?|bs(3uBCVU_Up<eXWA)=hq4gbSTQL_|I05$e(4{B*%H~+*_yT zw~Ak_S+6s5$(`s@{T~chC2ERy@Lzl?_VANf^YfzRo+0cz4{|WH)QT_LbbE91ZiB?- zx2DQ48wm)0vU(*ZFQ8X)VEdBW{^{qs_1J!`Y7(%SAhsv@-R`fp+DzA;I)^+Ibl>Rl zyr82@T}b0%G5gPHotIUv`kWPD)Owx1XVL0@)0IaKT;S4kXUzAq^mJfbS*e$DVAo;4 zU7a_V{5ZJyU>Hlzj;c!0%N7nh+E?*d9$;H>q3GrZ>Ao2}H?Mzw%g5HywT*c~viFAB z4=q>}1Q??QKsO=;GSv3XIG!1^YO_`M<__isH&^eFs?!OmX#KwX_^e%N3jgQnPp-^j zs4!VD;n0RfZ*JC4k>&dPL*mM+`m<8M9MjjFUL~YeulKNC@VItkaNORyh`oKr|GB%O zzf_5&Z~m{s!lB8}#P4SB7B3OsY~Sq0WIv&qX_Aq*prF39ku!&vmyv&fQ53^`BlTJ8 zY701Iq@?2GrMP6&W_vL(a71}UsTrw>?pdlNvx`BAAw+5Ze8rt7PIB?{$8&AE#-+69 z#1;Og2NU`2H7B~YxoN(9`Fi4e{-~My%XeOk+Uw7-Wi$WnOAI0$GAaQrjtp{KTC<nE znJyOR?2{pp(z|FsyOayZpTzFN&0LI3IT}I>PVDjH(0XHZa8uJP{Va`u2M&{)xn_y} z4^f)D(ML*Mn4wDXMv793;AB0sp3VnMJ}nG_2NrN_Qe=`gaCP805SVnJK`7yX4&&s+ z!)+TZJ(@TgoVEFM6bd#}7%RAk%g8Qr@mzd8dx~rvy9;Lwllv5N*=r>Rj*FOQ@u{?g zJ}@XY;x)~BFyo@Z&lz6+YI#K~5*~Hxhb?cLQ(>es-7xj|gsV$96Si!)74_!Ag@j@g zR?*3tCC}P@!`4I`&E!0=tRbwhehb@7;V-=cuCJL)Dpq_;t=j3<CE;sTJ~yyIKyX@5 zq!hzJ-37bmoNOp!nm$SKhyRHOo|Av-@a@-VY~ay4`JhLSduCFX?XG}{JVr`6)0-HM zo&3bAc=rE;%cqU58Yr>ZFzuLpPElD(>40+op9>Qlb&hU((0#Ilp_?P5B4L6X{~Zrr z#dr;4L3X}l6=$3rUpXCiIDL1;L^qGH&2#i*bXph~v|JW5F^H~M&?M%Ov4DwJbjm_T z2DJ+<ENM~~Hca63&JkcRvO3AYB>16GNr=NpfU${NqaiRfD0vP;SEC`1VGxV*#8xK{ zRnbN#w&)3}VS<t=4-TmbKAg}jQtEl|B}4v{564!tzx>K3peoYl9Bp~#DkJy$O$V5g zi=U>jv#Nv?%#<=Y;MlC$G;Pu8fOBio&exp#!KB!9?7|hDT+`09$zE1>OKxg!xY8n1 zbX~{Ddpk4dk=xp0{{@p=+PM-I98hjfG3MNL)rE;uRb*QEI*I2&pZXZ)xELG>7S#Oh zsn6f4#Ju>&+wG@ve`_*cDZKH)Y=Qd6yXj40i*6JfIz&yF%~YJ`QsdjS>xjS;bIp#x z4vW?)htDY*EI;h5Vw13gr$K#=L8{Td6B0`&$;1dhbvbpx;%wP3tqnO%UP79OTK&pq zOmw^*vx7H>!)^vof#bo<x4!0kU7Q&7Rx--)TG%dWZRB84;5j_UB&ubZ^n(PaXs?C_ zCQrs3Cn3S#Pd7~SRGVtTvQ*M$7Gq?Sc%qm@UiPfR%OY8(9S&Dm5_Kpc^T~rlfu2(j zFmaUaRlL4Rw!|UIZ}X-NY^)~#0~%)DjOy5SVJgF0^-Dtf7e1d9VEi)Y%!Ko9yJt(L zxoApHu_#PnlR3NC_s;ekAy?L#-V_R7ukthO%VDJ{B^>|uh&1LW{rGZf_xlQ_4QeY6 zGjEbDzkl3skJ$$!7ltW~Yd9_9-|qS)>cAkttm?3k)!)FkhT%iY1c45z+Xuqj+OAAa z5jiOm^~0^5L$Tw%!y$pok{3HqOm9j%;vv4sBf-RPg^Hr)5e2@WdnOu%TbIc`X^}1p z`myRGuXL`mqLE0L^MVpphPO#3jx#Ua+_Z$zw8UA;L&b@~uYh&;Qx%gXjBzeL6U5d$ zXi)iY#Hpq<p^@Q>5>u^K)AJu&S|%-6z?)?GzdO<=NYr45f|kaNJE2!9EHy<A_Rs!& zTHb5I)b)E9SvowguIdV45?Z6EE*f!I(n>*GXhQ?b0ZHGt6FQdOy09ddy}7IL#qyTQ z2~1s^7joXPSTOT!NJ49db=#K+PvMuD2Y5Cm@bOos^ty(um%o<GqS&@`{hOMFf-Mfu zRQyW#ycRqb{3^7}lII~uF^2-fL5mstm7KWZIbJ9-9}3B~a8whXpkuT^;6km>V;;df zF5*8N*zEio`TIK@8C`dFvdJvrNfTJ9&co%=&LXH(RC7Z1ox(-M87tRkX*?F@n#6WF z@5cgF-NS8OzuK8NHukQRRCePlnjo~IfVZkNquJ!kafbi)vyS|jalqDEI>9^puyl%# zCwGvEa)H(c37H88CgpG7<-1WZl}G1cymZCEz+;`h!Z8muLIY1NJ`p4)u!fZ-Qu1)5 z+Vdu_tqXZ4pFSXS=t3J0OB%!cOEKY2rBl`zOwwL0Br6yZz!<SMkvH|k)K^xWOM_B4 zCH22P$<ShG`pdXpOOT;4d)G6a*&N%<`5V3T79H`_$Yc?_vcs)-+4jI^5yzcwHr!HL z_gL3m$7B}o)$lBLm9|Pxr}*be>_1<$&KH+iqjlp5E0fJbd&xIu61t2H1x#1Ewze+O z+GTK%?Mx+)mWZmzQl7Yz2`dCMOO`3h1UP8^S=pellg*vk_gT9W%l|_&bieF*BFvbz zNKi#lsaf*0fJa$khVqYJQzK2Pq9&zOEbeM5-*Q8fpEvT7RP_@lZ!LwJQ>Q$QU~oB> z{rktE^)(OY{n)`?A*#T{*K~o+W@iF-&V$23pJq&zk<nw$d66}HT7agDscVnk31^8P z6OPG5cm>rYIJ4ancw}Ir%9E3ESmx9$MpLha+C3rJ;>8=Z)~(ReTjVu&%?1Z1`v(dt zCA?gMcb=?opTfo<7Bnm19kb{?Mt%*`mA;$X+@+TtUAC;hwRMj1q1k6YEmqoZlWEpw zdCRlqdG)2p7xRu!UY|BkL$;?O&B$4$vr9+He)a>Fx`@Y}0%wYI4=VJEISGk~{a?eI ze5k8YU1hI4v*Q;9r3+2V?bUU-n;tD)`)!3|g9~e2nYg1FQ@-iB)V}6JXJqA5o>gQ{ zTg;;AD3af`!e#Zx&C6E0M7TDp*O_ZE@aw26ANKBWWYBp~uBz)8711G9<fNLY8nNgd zCvQeuAQ%4&Cb1I{iFy_bStcrEaprI|?|XQ|+-~QAW3KO{U+j9-WcKE_mW`h`U(*40 zyO326Q*Iu5^5&4Hz=Wl1yniT9+Fvwfi%F|?es7bKV6v5rLfa%YbH}8P4^6*ZQaCg! z7	tS$(#L+uQPG=+p<xyOs3TSDciXZkVAsJN>VF^qzw`#dVQEaee(ln+`DaYp8s^ z`0v4gS+!l~_8fDx6LEBMIV5x5%8bJ<-6d-7nvN~`ori=H-ZZK6etxFTb@bf2qwJRj zf~-XUJv6AXS;(~i20z0CgXc@_54gz%%<TU5k9X?a*X-=B$JeXc`(77%((>{Ro6E$B z6IMR8ays+lxYNGs#S0}<X53u5X3q3|i&yYo{@QZEb5G@_?y&7u;`2`IZD?B{By;Bp z_wfxUr#8rosP0MVTJ=%);k;dqif268q$6ay`**!u{zlg}x$#P<$ns>7*A^!n%(Nub z!o@c}3Dk+WDYM*5fwg-%>*`2NpH+((TFes;mMnBSvucBZ_D+vLBT<D+Ee7^9W62qf zx*lKrb}bN|8z?RC>A#e#a{94}X^R~5L>g4hmD1NA@G3Wp^0}^eFeGZ}RJ&!Sith~+ zled??G}c#j;=5E5^~p(p`2)Fqs+lVf3N;r=M-`;%Byh0_^Rks?eH06n`e1mvk>BPZ zkDH4BL5JXCG46+-wT}g4TRHJIJ&=7hp_NP3X~K7A)6Wbx0o*bV810><nHO`L8JXOi zn(fsgxcrLglJF`)7lF+Uy#7Jb(pw#w(t;$Mq$QRp+z6?DBo-WV*^~dFQh<q0@(R`i z!VJgNg;YL<FdAt83}$Hy5(;+^Q*G36H4qD#SUA&JERvDUs*TC}0DFP~Ti4=Rm!oXa z7es24#Ah!SZ`i0At0<Nw`d=%ik@ahNQNDuq;z<(yCE=+X*ep8a84}o17O)*QsF=Nw ziER<<&L*=R!qNxDYvx_i*;v54LnU3wAwqNk`{a*WzZp~oKeyarlC7M^5oli88KA%E zLlo0Bjzd$Fv{u+XD=0mDrL-r(_nQWTi9|*Aan9d@c@shycRERl7fUld^kp}0;Vk48 zUKsTDn#}Qn>Vg^SMg}D*lQJ0?Y#dhb3oLb1EaJQW(P+|lpSTyTheaH>I7qJ*Q~b}M znv>>ibXC~Tx#XmS;-^-g8&3q)TkW1YamamOkv?g{a4}&wga6V3)%vRqJCvp8F)}>a zGNn+Mk-eE&dV~3F4Of=~owdaV2NwLFs(eu_QIJL0J+wBdYe|Rb%*m`vf>|OQHM<st zwR{nczbHB@xL)=HdxnA5A|@8K^m^5H@s-AAt)|+gqEbr@6n+(^r822!t4Y~T?{#XA zywAjal|#+$Fr$e;-tP^)=M)95ACSFuK=xjdt;i?a(C50pGZe2Ea&)pOy$POlug&Lk zQ<GW~-@|79%=YFr0{OEY44DseYpd`wx(d5Y&WaPu<1cXfV9M(yZ1ZqiX4*%!0tWUw z0*w1vSu->QSeLLEDg^K^Fw$JX_iXB<=TntL4(eoGGvQpAW|$-(IkC;_k-x-OspJ<K z*Tc9kwF%rv46^#7ck3x9|Hp>t$DV<mJl7We7oPI4_|gYegOfV*6Qp)M&dg!tVQdIp zwu3R^shNI*y32<|&220-k1RA8k~*82iZ8I|By>$RO8&VlKY3}s#xth;32gZaMJt=a zGPhcO+OD-%f>mw0)#5`;vnGisHAedz=4lB^f0^dHY?*=wi}mJ-y$9XrZ&pw)SjJPf zp;1psS?rMX?u{h@pCc6`1cTU{R(k3m-@=iWFl+Tm+ouQ8{e(ELnM7M%;fOk+_gRR? zT(z2glfqJlK<nZ;+9HbACbStHWh}1<<P7B1G*JA$#Prg#x$K|0&TLdRV^ZdF2zYWK zTX9S45-kQ(Wlq;(0q05HPLDG=F3F_4aQ?ZoTwYXh^R)l%ix<whl~7)GqW!6msniC= zodwnFA1+wcV(qlVYhGbvKofgf1G~%vgZnMg7bK?X3JR$Ou*^4}&d6ZFyIKDKq9uKs zS<KS99<N%fVIU-ZKwa8E%p^-Q>j>L|4z0?WTJ<Ij^;0Y(K8QI4)bH6*zj~2+*wl!= z3MR!y4aJELIt`rp7J0pqHQW*#LyF1|3n$(;Y7B1Dy}+!xtwlI>RpjZ$^lO4XePupn zT>ZTTif=WVj+kr;Q7_wVX}p~?TFs-MsbKQo5XZ+m9X7RRg=|g}H??`*CSV!Fb<@;I z!(yezir9~V&3!kD0t{Ik6Q>*xbKJGSQTMXZWfdjE!vUtod@H5?3-|}icq!-ZYnU0J zF0g3&D*M^7*Ay5wDpqGIF_|1;<S-C)+S&iKQ80abP}%k33yW-yzbe*Rz;=FCN&Et) zwT+ox3j{X?Gm31G(0O1s!O^oyLEGaMQ`lCsswAd}r%dxVt9LaeNeZxOG%)EkFefie zo}?7!>K0;opxg4mw2Xz8EgLPD8)@xYy<3)nWkXW^rY7d(BN~x~2I>nG4>~YsG@Dro zPTt8-G3{aVF9%_<CdNIC6<OCJHZPNPcCvZ+NLTu4<8^1gZib8(#y(vR`XWNyw-#`` zY}&r*<*f9s(mgA;pL4NO$l%>_U4gk|PJPBoj=*gUj;yDg4D=rI&-=;Cr1(EKDu6?F z3KK(vZ(%W$;0CFc46ObQhF=(zPZ$K0MlDyJG*8dD$?LF!)Ww+3FBO(3xXdj#<v--V z<w4-NjSDszs=ZYVc)ohy`t6710<!K3%u(MmC8$z$x1pNZM*)c%;n|Je6$}EFiiuha z7*Z5ubQVgi{OmDtw$=JW^&VE*<%`X0o07_&EL^!r)SWTB^Keq<Ws#{y(<e7uR42Qa zEffzdNNHNQc=ztzvIR?21;nQs3FW$k>m+P2N?_ma#F+76sgSXxzm+hbgox1xzY9T! zg{Drq?Hw61DfYy~_L-)FN*=t~tD=6-u=5u$<$tj6CIj~iW5qiQIm8c@9z9Zel7;U= z$bTOJ4(E^`aUW8h<pP|v&iGkt>-cNMbU%=Jx{}9mf}zoumEkj(N>gj}H;7mkGky8U zwCAeA)u#%3dHCYLm+CpM(mWa9$;>61z~dEc^27ANjWsRipSYbanb<EjIklKASaRXw zH@T->IQM)ElnG#tY@V#|WW@U-;?(OY+f(-12Rj;lIuVzoBHl5<BAih*oN4;%8QqQ% zzGhkx7erSaTI?6bB3&!elH&g4)v=<LI}5Lh70qN$P+*-M#KO$Lq-3tu?0GqsH8nCZ zw1idC=m1mM16Gj<EO8EOo(eMlt4>}h?)6&hHBZFbmz&|9<$Nb|>Fry3g*Y9h94c-Z zL@Aw+-Td``l(meVXp`-=$?caMIiwz(`uT?AWx+o6iv7<696z+q|2M_dV2SBPPJy4P zTu+uM|NGD@+RPRFWbT;>Mo%031q)a$FEi<G*dY*F>pwB)<c6~!FDbTtP<${)>Dvuk z7xju?KPP=;J7UwU5FE^HeyP$fx%{2U#`PckwFHk=M%z_+a7=nu7O+Y2*a9_f7HQ53 zo^6x861C@Vnx1e`OWLONPLz#V-s9*44pKT7j=LCWRWY;8T<rE(y<U2)xwhBcvYA@a zx>`!@tTtRsbs_6#O}@13@$QxurtqUoD>g}Jr8DhPyb>(aaA*;$;R4ncaqevl3>nQf zrc3vD^-BLy++i17vB&X$#pVl#)^tS{MnydmE_=ajC&HL<^vtTw2fS}E`h2XI{Ud3! zp~mbDruwtf9XT(>*?S+Txa+@FEl|});8X(B%1O*Sid@$OIQ(T|a#moPETzPiP;;?j zPRIwAGe<l29`;kZpqP{}PpN5=%BI<?o(7yvnBvIZ_*pcNqd;JtW1B$8xlgW<d_@y< z7*<?#XghSr@Sa-#mrX0V7BGEa^gOUJ`cToF7%yg(fEDc16y{|L8#j5WG`DY^E*z$l zYTYZ*6&Rj>Ab1v2SG<YPa_=rzws6%A>wjMtRVtTQ()4nd^pZE%7nhyvUd+U@WHXDJ zRIQxVPRkAJJOdfqc&uG7nit<QG)ef+=08h!bBOSln8tk@IL|cerbWpdFrT$YQNe%m ztQoD#`mW`^Q@XwMq^_5Elz_=Tk#|uSj@U(*^Tm5}vWjexX;w~JrlXi@^3!z|tKoCT z2?DdPng3cm!KT$PV8WS$LW~Rxw%9LVP-vK{!NQ|1pm8r#;FDPV9UZ=h1(TNS;!|ef zzqK{NMPcjFJSWGVIm)R#cNQ`@d|Be^DAnp{73b5rVgk=jC7xM6xmDSM;tvD-I6dcG z6k1xKyTySy>eKmU8;oxj@mHOVPjO<|{M@6wls#s_(c+0Os@E*uw_8i0fb~OrXtYC^ z;x==o+#-h$cRzn;tDnG@`Cz)z^OVo(MV`~92QvJB)sa~E`c*+wa`J*~ArC3WmG{>9 zwyGc6D)yL-`@~|lc`CDf=6WUk(%E`JW<jdr%tG5mtWjpiuP(ir&e&%6IDmKF8+pS$ zRU00BKQ^&FJxfnn#aFq7Bc1o)X@MYJJ_f~vz%$KRA3a;QmrYLcRx7)nb^D(1i;0~6 z2OhsNSSde~(`A96+<{mv(IAeZpfzvKDjnJyDUs8@K~3d=larG3?}JRfkNr;tav!&~ zQgDzeJSY_27Rqg}9pNOrc(S92zOt{<f=59De{UCu+%e3IWiPwUn6O!~@@_oWBA$@y zoNcB2oNPC^e{ee=5S{17wX<pGY9<aH9hY#0WDRcx=?+&{@Bh*k5%~_P5mQxFEvDwz z=jW>iPF#>bZARb%X6C@a%z0gUi8XqvI#rf>uF~Fm8aWzzf(neHCL&sl`vn<|)MV16 zqzX*3E-`2^$jC@>aq&yV$6qkH`9w;ofa}4l`%+mKZgbs!D0TDAeSR(`{`kA`{Qv*6 z{HaiInD1Eg>%d#)@4bm8t*<0rDZlWaFW4x-{>oeNzzJp}t$j;>FfK^()K#@CVAfD; z<<Qbk?5f~oSjMEKHg$%HW>a&=EY<XXDa%|t1638L*hqeQ<if(D8!X|;*gKnzk&D5B zQDMt#Z~nV-5<d@qY@fI>=xm=%^|s`LO){1&x}HZ5Z(n1v^WT+4OK1KMSdbvP;>m$U z%zZqTMKclv8Cdv~x@XQb2y853Wf5fvI47<rXI>k&@aOOE#>-Q=M6|*eI2=ABZX^C- zN<^@vdm6*c+F6euOo(UIo!OhFtlZn&mBS#A;OyXJ+I^H^p0+vT&QH=ZuIo~cZ(KO> zv74llYtqA$mzE1XH4L=MKPl7~{DHlJsgc{|A?V(*i=W*D%Ek3qHbk%(u_P!kC@ctY zVe!^*?vYA!S>f1{b)vP`>`6?9qUcYbAAMF#2^ad<5)K~rwfeZ{@k8sMZ<qxf8AO)| z+TZ)~_>nl%n!|n;1tubV&i{JalpXC8zD#pW5zV~F&sD)7=B;TXu#}@l^Pu>DKckt- zH{z{7P7!afIx8aLWjU9nA&}$5(iV;+3B$%nxd$eb#dIAKRbx&6syIdb?@?)sNSk}~ z+JZF6pUxAd&Mb|#Nn#4U6zn*cL(D!ZOyNX|#f*mADd!(1JSdJ55Nr@TbHagz;kFFt zEibmcU;P)Uo>X9FQd3Z1_SzCuHpf&eWWvo9l_g=4oVPlbowKXhqCDOB%LGS8&P`zo zP3tXe#AOOJHU{Vl$o}x^N@Psfo>2bin>weM!-fXd%GXSaCrh8UPCBXiqVkiQh{Kwo zrW$63gPnV2OA6c$$S&c2z$X16(4`^f$Eoo6#c6Il>;i3v8+mSII568j`I4eI^J`3N z|9`gY9SKS%FFs6u?DWTC32&FKAB(c%+P*uVY=1w=m~OSM_C~a`-ntk8M{(ZXixJM^ zy^dVwQ@5$J*Ep(A_A!}yOf=U1V98g1t+y^uy_F<dpL^~My`am$wM1d+EhdLtAyI>) zx*~pe|NJ~WKgrW`#ezmIgGmlvd7pjE;^TN5#F8#8nBr%AaB-urQiA}Sglo#Im7EF< z4lPOw8qAVRwRfwwnwiR*1a{2{y)fsM8p{N47PqTiw+l}wZfN7Wo^ovtr^t@W0&I@& z+&&s#4r1H2eoAEmQ^B;*gyT{o7s_TYZ7OkSlDoBT^}AgbCH#jD?O4!og6)N;(>;}W zTZCHGf9`ty{=dfZ6YcqXUp``B5@6UhfmvFT<v<g+WI<!<n+7SV3k#UCH#l$TTF7R! zg3<i&WC2UHjyb&-7q}}nd$|1B*y~xyrX;oEqWQdo%fm!F(^x!@n-__wOxvm>8~;L5 z=1RdqSw|LTr|Q$LCP@M-OIY0EB|6p|QCq(50;`UJW|v>tr0F(}&U!`@uK8?vwpA~Z zQ`O3`lXHrJ3#*T-){hs*I=eC^uX(f5pI_kc-4lnz%s%A?NE$XVwG}Ys_;CAI-Rkz^ zy3%Ai_oA`yqc+Z6;krTr&#J#Qvlu&Um5>o=<&a)+pfiS5x#z$Mt(ccnU#$t0RQkYb z&Tu25WuJqy@1t|!`?SRVTQsyQ^M*7e35WEF88l0WR3-3k(egRqaiD4619kgruN@LM zeC~GBc{s!S!#%_92|J5e&j@FnIKSWKqnyl**R#GywQ9LBwv?pm6*pZ7<7+Zt^$2m` z=TJ$IoFi&0HRWK#Q42oaBo9TdoGgwNRg1c+t|(tWvLTiGV}rfO0=C9Q9r6i<>@qeF z48!(nC>Z{BH{Zs{n{N}SC+Ex;uVt(&*>P;X0ne@IDIybk{sbtP91iB`OA?uq;=$%! zBOP#{Y{w*5FGl-=jw}M|muE(0EHxCJ&Ev9QJEse$qR?FF_JUo@8<(^y`<r%4A6E)B zmEv4(^RUZoMa%L%3aniI9H-_L{0|YR`%q-a!O*y@ZNmn)9i<Wn6b~h@TC91Fg{5^_ zvmmRQuxm)r0SnO`Y#N3piZ)Bqj5rpErU_;1$oy(%c5XPd=F_3Z%m<A8qPvb2h9o#R zZ#u_vS4raF2Ii*NCrUG2PaF`s(<NJ&**9|+Lo@fPR^Oa`ujBqXIjcWu<`j6MQ2eX- zpvVmaZrhRs-fRoKqRH9p)>9Vpcz$4FJ#|3p#ia%wzLp8vrb}6@!oEq0E;`<FAX@SI z4`U^h(-%+w5cIfG_(pBANHSOal0!m)Q>3N2dD-6>_03ONrf$DG(KY4CD%F*NJayV9 zTzeR{OB`9i>YMm-X3{GSRkfvu94B7(oz~FwKX78^p>}5m(J4&~8%r|{i(GGq?2~ZI zOX1C~nlx$36}GD@=B4VUCoXm<%Q$B6(ly)7gzH#J0h6G?TVs>phGlA-Z9+adZM%E% z&iAaNGp?n2vA(?FZr-zOqOj4~sMU_DhCK^4&t!DTCH>;$3{cv5I>cc?T7v3_tbnA+ z1qaT4V0oh*C~R9fsewgy!I@%)wYy9or1Rd2IwT=e$Z@%efjjr?(WZ3?_HQ33*#DTs zBDL=1{Oqzv!j=yVl#I4F=5sybP2-Lz625VV#m=1be5+o`RR>0WnSf}<jt0(<1+h|n z*CQSj@XGzGj4R+MIq+aZSE$(2nXBe#giihAzDYAwv~T7ABe!lfG@o1}>m_EenCT+J zEGLdTPrVjBRdNybc$meseZE2}hgD^h(1H(5dWpJum0iMi1)o?vem*fTu{?GAPqm`( zlGQ4i-j3dC0hibnHkz0*p72n+H?i0|G$1+CbK$ZU_c_0gsK<Tu(X*IvXe!T3`B|$P z{+kHTEtvYCdV564cNJe2!**6}=6R7@T3uh?_h~B&JKW15QDrL0!<f81k#AK4%O3U> z4NJ?q-Uz3dwkQTHQ*kyBSTH}CNlHNK0?TFQqVo+09<%ufsH_kZo3~PLt{9{J#hRU_ zOF7G{7e0Ka^C5gWHye}B69s0;AFZ_~oHsm~$GCG<n_TJ2*)1=FrnCLOBzkq-!CW>D z#}22gg5$=|67Lm!$!R|R>P)naGDGEt=@nWhH>JN=Z6x~cSc>h<%PkEdQ}y?pk<qxg zW{2ShemOe_Pcg<Rs@+GL1*K(GeR~*v0)?6dI`YC)e~Ru&T%*2BX}^jU<EE=|m&A{J zJyLKW&~HlAqls#|p&AyZi+iqSJYJb3bDX8lA^cII#e{0tHL5}fGd?BOF+90d%J`t3 zOGs<pB96I9Oo9(IzXe-PDiQcuAW)wq`0In$UZx0pN9Ov6CUT!G47b`WFt)yb!0SN) zqsIan)im`CC#`@DO>WC&lG1p^4>4Uxwq5mD`w)vyt9e;=1KWwxa;q6JTU=RK7XOc~ zcaXEV;Cr7XrpAC(BY<hj2K^Zc_D@UfTN7jKXH>lUlC}Pr6zdg-neM#P)fN9Nsr<ji zvBJP>0XrYl1RaK@{9h*UE&bl6s>r{tsQAtU#vcxvC)3!t3gYaF`R5iIe>C7<q!{Ee zDWN^c<YlT#_9xW>W(I9mCaXjd#Q+f_2G-E;ECCa;e~2)rY*Jr;B*gcy#ga*`lSIrC zkA`h(Vy=3aoV}<Z$dEDOsN##~Nr{fh_Ft+q3zM6S3OjEIGAjyCn332rIn<R=_>HK< zZ3AJwXQEmQ)QuRJoENY@bYVF-Nh&+R<DVddnNqIdVdn)Cd5s<U8ddv>3Z-wDce)3r zZ(H=ArSqutni9r%0qOM%nN-<=XZ&E%XQ-VuNpV(6vx)&<u9_~xhOCv-nop`mF@9#3 z-JloY;BnX4;6<{p!vXm_pV$;8u;*N0lVpe~p1@e=9;0wz;+_B&*#oTE1_l>R4Aw1c zEnnd08Neelfo0}%hc`#0-X%D2nL4dM=(NTp=O2p=uVDM!L?gz9jI)X?ZXV#(+N|~G zxf7pZN6QSQ&k3Sc9L}{FRs2_-*d7W7CyE&anXGj(FK}k9ImqiXxn}YY8H2AKs)EcR z4K`;L>U)JsL@#hmS;&)-%s1<!XJWJAgd4KfU-_Suhx}j=t8fkpdSsrdlDuz6lIJF~ z+>L^ff?<s+|3zvf3!gEFMNF)67UwTL7{H~#d@3Mn_c!1DM}2M`V!9IKk=!OF_;kv= zjp}R*4P_cw*jv1c9%`y{1gkESd1v9h|7D+=MYV)Ne>{WDbk{lVip-z3H3cZ}$aQ#K zYA!qCAiYD-;6(8RPD!7;mCfg;$n$$ny!A-`)*_CB2bg{wVp4s;)VEOn=R)@72kcY@ zSoUpT6ig^vE#`Y#H2bos?fJt}`yI7T1w@uDU`wA-dHDk0Y;nb-ZaD{^8L$7y$GTB9 zBY3s~d&fQ_W5*)lU5@-bs?}H1bm}WabwdO%JyYU3Q0=lw@IZv8t5X<jpj6XGPoq*{ z!veJ%4f$`<I(L?<Mi%~;K3!m8c`=sp1DnKE@dW1y@5C4wnwSy<7#SG4gAKdYle)Rg zlT#c8gtv<+Cx%#lGjE^76t#h+EXck1vFI5IbqgmR?Su968$}%gguY#t=}WX<vejUJ zs^q%P42un^7u!T5Hij5nR&jP$k_(7@tB|%g$w9P1O}A8Sf2X8JK-+=hITZ(lJqr33 zES3pt=e==3`=T>r*#+I!XQd6(V%S$^ExJ0Fb7xlhhUWAI@()eQ&j(6;4`ixp&|_T8 zezC;&ZVR*C2FANjI4w>zpDwLPpU`^wXqLzUCXQmJC5u?CI%97<U10LW`g}v1jc`uO z59JmQrPCQklfS6jZ{n?J6@8ZQ-{`ABM_;m`W>TMRBHz|_{!3-zx+UQ*OramsRg9v9 z)Gi2bpD4BYiFV(oY3$k4)Et<s8&j7AX-BshS~Lpv9<oRjlKAnBN%{km{s)#52~3>N z)%YD&6a@)qDys%=oDsOlEO={o>mo6w2@&nd3i4^DQOd%aOx0UDowzn|Bm`uoE#};R zwLHjx;h~XalAGj`CNqyv&*qAyno*Ie2U}$t*v~!EmTHi?@`1;tt5z*SC{t+4^QBB` z1}sOIOuJZRc$Q4&m^J(2VynAO86pW~=bPEm6SlW6k2y7U&H5+<MrIbCl@l0+eb2YZ z|5fz0xFP@Vl5fNYyZtQ_PPfLS7O=;O|7Y+&AiiCRrzVm8F$4RJQ1%<8ZBwUL${kvJ z*UE`^7hiK>yy>AShLen^r|_{UcFhgcku&bwxIOgihFq?Py!tA}!i_<{9#pG^gqeJ1 zQD+EaP+;ci;7wU1T$Z57_B;PUn9<55hCdWttCKcY8oB;Frs#duWs?x&sQ{LY%|aV@ z2pOfVH@>znOIa*iS@eCoSoTMTi-H;7K4&Bv_Qg1|YJKDnd0;Q2WNf&I!D2(y_sgDZ zMHyTYN;iMmP`fbnqIrj?)$X^df$P5)Dhnxk1~lg-^PUbCYBIG|Tga68gEd83NXCIl zD}l%4K;%AV-Ysc7D_odvcEpqktX?y5O?x?eYx@6~Rb_1H0;?-mXC3p}vD(U@{(*j* z_l}lsyApGKpPV%@7Z_b^j<lz<r-bXS2vIowpfe|X@{Or1=^0y>SjYV{$vN=3@}!c~ z`wQznd~o{Ipmg}P7PG0!+>NSF4f<|5bjWUwzp57BXmvukP$OoU*4j@jiVFE|+eHp~ zF0l|*cZr(j=q0V>z<60n_W^f&(c^k&)}*51rBm*hNSe8R_`2_hgRuA3{GT88y_Xi% zZYxYY<;KOZ_RUWTqXuT@4eA<3CB4Gx94DC6jf^*EGo4XUh&hrnX`<%LU?$fO(ccc2 zGBM?<ni$PD6!;ww$u@;$gPZdW*X+v*6XvHVCfrtS-0FB-^1t-V_Q;(xBc==1icXkZ zBewIzRhevo)!U0>$_pyeHfMc_Ig+-0d(-L(7oQx__AKYt^m!f}y|(Loa=ND4ft_Us zBt##u)_ssZdvsfv^|6$K$a&gc_Zg<xf2tJx<!{8pyD44Na#7Al15GROJvY~g^DGs5 zcwqP0woAX4I-M^oE>AtqE~vcLDZx@`aZI6--{Hmm8A<t)VJVuY3>`zZSqOWSEZwu` zq|`Cq2i2QzYr9R^6B68eRoyAscw5q^-*s7v?iz;LJNI;X83f*rzQUxywBx{*nxgRd z1T*f{k`4<vwka}iuUdYmk!fZyW7<zIO<{?*rAuFQ@$YS3P*K3Xa-z)I!~YM2EoWie zz{t2jMxs?ltx-}<r|Ed*oT=_cCm9*CpEd1unw)k(sx*Mz>cK5f2liBl^CwKVmvlRv zKH7XL^yr#h%_l-z+T9FxiOehi&OTRR2ZM9@oC$0h4^}fxu1GDIbb4y*`KvK2E_(AT z9rH|BYsPtLed5aJSB-P$2tE7JATj6CmsR`RJ_lS2lM*TAle=!wReNx8qmyl{=i-Z6 zme&`#CncRfe&tV^s^P^vea34^O+w+b9u!P|V9vO&@={*>B9`FG`|CHJ3_1It#p+Dk zO`)WO5VL1f7guVXW?<S>YNNGq-HYRlY6p128CS68*jqL*iv%?EvPildU{Ww(Xl-Pj zvhlyfs>W37-WxSV?J<w}W<J;cW+KefU8`uOd)diwX1dIi0*40;?3PT@X$6cD2{KU^ zw6}_!kL0$}N?=>t%U+uBtlZ%Ciis>`0=1fs{M*jnHoJ5FCPzks_`J|H-m9ey7<zXc z__Bj(arB>!c9|d8&+eU6zMD;>)9+vM-RupI4qvde7WLvia`DdE1t}I@brOO-PL81u zRYbnFO$rj%|G58%OyBKeN(L$>kB(07G+KYwO_`t7MI%J;aoeK(>7Gmlx_`4pW<}(O z6eNZ`5Gh~85S1XzZRZwoR#7uRJk?YD{Js5$EYwaq7Jbt?^+EI+=Q)$wNoL6^=2glw z(?6<ZUQG7x`>*}KJ2YS~ulQk}O>!%gKAf=(keqbTd(kJ`-Uo@EJEh96X)7*S_p9qH zU;E5CA%{~Om>E8VGdQp;nk-$uO!4R<!^Z(aj}tDf`{*Fkz`)bbFvpeg%^hozWXG%v z6&H%xS1gHKd9Za=<MrHYGUd~<lD2st?yYFM&S>MYL#y+%S^Nb{ec!?l>{Se3cJZ#& zXfV)g@SFC?p3R8o-ZIuh6YkEherY(f^0rpak!Sw=6L?=}^w}oHYbJ@Wbk|gy9A1_q zu6uTht)hhgmnp1@ua<AVw;<5-n6>e`@cWLs46h`DD@EQGEM^h-)|l!!ZN3L<;?>~7 z%O+J#La(jFmED$nUjF8=&VN<Tdr3Tf!4JFJvziNojuz@W8r3o~1(ht-n*4QbGLxp% z3a$kl90!<O1z4sYW^(>*+ZR||A(XayV!Vcz=gJtRvcz10M-I;%wuPtjM*08wV!$iN z#BRs<abb&BlmUx>!SDL7hlDR{YvnZ6r^>9@n4WnqJx<+6f5-ENX+>$1v+jF-HnBG- z*EZnE+};@Xxvji>*U>xq1?BudWn@2aohrC_nt_8+C#p=ePE?dJD$XP;rQb7U;$)HD zG^w=sw3+cUDx{QT7#OtVq?XI9RFaD4lHyY0TDNZb`sG~w{7kzwck{>3Rbp5qbBMuf z@uu}$@w?9PpV`TD>B3pA%hxw=ms$V+Y&_Gw-H*Hij7~5*J4Y>k6Lmr{fMHX}F|QM! z7>uOV7?iwp^`kT<Dn6DF)nX91B&?XExV!C;%r{|1T~{vFkd%kFEc_R{_e&Z-+LW<m z$wU$RppK0iTn%EvY7rp<#~5d^@o$KEXtI%!oil%D)2l}eO|6^)jt6oyf|jfZ6tnQ* zFm_Z@TVyJtWh%U2<J9&Ri<ynTA2l{h@uh}lI2x!h9jw+9T(Q96RF9OXmdgr>Z$b{N zA%`s(tho=kgy}}LObl#3$ul#!`ui^D0LC;{zDUiG1smH~JNf2cFOm4Wlezoi3fIXi zHY_vEx}Xx(J#FtZo>@0#FO*nZPCWb8w7leU<p0m?z8_68dKPmEBpz;KFk;FnU_3No zK3`PCjf*`e`edcL#e)MT9|=@3oqFZK%_%R1<oK$c3s<|=Pj&mXJ<nCx+&4zwkbjO4 zx5lwGn|j!GC2SUK+Tp|OYr4+i@EM&=ElUrkUd&PTYhv0^+#~c_LqyP4u1~0&y~D6& zq9G@vz(E04Qx*pv1-X(528KOJeo5?WjZgJ*^(b9&zsNDQ+m$QEWl0PF5`)G`l1md@ zCUbQxa<y`Pz|h3A@qtj6!A28j*J8CTj~*EF3%IgyD{Sd>WmVabAfgm{a7!AC#gmol zyr-5ZdFxqrZavK}bz%W4d(?>l$C&9~jlEK}W`z1^X#M%Wl##b%%~$d2=@$<8DrdDs z^-TS9V7s{H!U;hu#ikYoG;*cJJbSfRw1go&fAL(g=<GF$kFq(7;#_ZU*z>bZN^0B9 zGI#d!4`tDLC;u)yE}yyQqg&p#um$Z3qBjmUDRs?IOK0e+dEOyaVe^PX(nMuq=nAP7 z0(S*Cc#2PIE?#idcj~95Mc(Rb{#2jUi?)31t-ql|fT#7wmvUcYeuFDZ-Ph_|=4ur# zVl6z#Qmnziwp-!IIosDKD$ew)YAs=qk<nPlVXvpU<cRRMKN*kDDm?3vDETF@khSE5 z!IMoK3|g5JUHz9SC{C2}t=V!(N^_;4jNFVENe<Ts3QXafJkB)gm^AzsVC0mZYw63? zI%~r6TMADUT=^Uu0uE)&b!=sx6L3>j)8y|>meb5OEa#dTYzhMOR~cW`KC{Sfmx!iX z{0hgzaiTme4V+pRF371LnBmA+(_Qpn<?<sU)3`*6wzB+MXc92th)Q<Igd?)87qX-> zSF9DY&b_(GEGIkN#Cmq#wx40rQm20%yDb^h<F;0=iXpJ+#uKeY?urT=kC;lko(V82 zt=*nIZ`Z?x;U|+mY@Bpz#p?^p9n_fk79U))<<0K`y#q0iee^Y5*91oJJ-VUKkUF3F zW|IAljMkYpX$HKaZ=|CIZ}zK9Gn(D#nId_z-KMF;NOq?)xB7~E0!?OI0vjJI9NzF> z(rL?wCh-M2$_!SQyh4g5Ex-A}QQ0wQQjox;K9-X#j4K$Nv=*DKefY?csiVW-#L-5E zAZ7=y1r9zN!dOH$9AtGZV3fXfp-uP1T3<Z|XFjihrc--X<v8AC<*yU4Fca!yFEBW` zsI5`>>QX0Or4Lgy^PFa!5mhtT9Mr7V(AemBi&ba_=hWB-i(8IvWo9%LW__wPVd}Mj zg!0`*yct!-v+u4w$hS4qck7OT*~VL*@uhOi(=2rL3V!v>Y<r-pRNG}ng%m?}$pmK! zqX%=$Lf>l^X?d|aOjv$7Ai-LsqQyvjGRp@OW9<iq%%>SL#dfpg#K#L9l~Fg6|Gv>l z{O4{r{r^AMU77Da&tCgsc8yxm5hY2UImri)nwu?I$YMJofk#uY*C$0u^5^7c&d7(} zNe3q+`M4;4@p!?u|C*`xPu30&iw@3fiY`-s8hE+~-MY9eWultn+QqV*oGubYg5gV( z^oy>X*8Xu#J|}>IoiSt4k&q?4K8*}KNhw}})0(_@JXK)VyKqVD#so$K5!XJcfD3}Q z-;N!e%F4iD(9W4sup@AbA8U7Dvq>m}gnTHM;991(2<vjqOGkY~3_N=bt}PT(mEmJl zwa(P4arJy>^J>z%k8@Q6cg_v@_b}=}psLpO05;!KZF%Vnm_MDHpmXfrvdXPT4sJJN zSYx))fnRjOWFH64|6Y0(>{F&P@K>lPa-N*JUTBJnoA-^6t3qs!EbKTbu92458?4eH z$}7~&uq;F<Bj;_B8<*GRltkWzUy{T(eK;B+@TIrhYQ@q&jK}qU-Q?S`!J|n%XQG&r zgI@6yj#kUn3Qk3C0?rqYFpD>`IrDE?B;CoN&igWPQW?jk{*Dlppv@C?yk^~;^mMZH zr3>>9f6_GUU$H&QjJ1)wXal2x&JGqwjzeO%1X^Tr6gdtw6>uKo&}se48L<CH(*w5c z++S8KWD2ih>`7^`bm?hlo4>$ei3BUdE)h02MgzttN1{A@J<hQNa5&htJy2|_(8%zb zz*Q5(IIlQ%6Z7qj&XSV~+Km3+c~~BPj4RBi@~N?iyIHGl&Sr<o8;^O}BhMu1d?>rz zXtq_C`N~D+4PP$I&ilHRM`XcW*>@9WdZ|o~jq7l!x|Yzit>M60eaE&%_b)kKm)at~ zz~h*>6Jz(+T2E2lORNpc440;|tZ@9*d_#ZI>|W!{s2u_<?8b5#8}_+QPq?f*aq*KG z8<?INpDajp=ehQ1(#m~`Vz-tu8QFO(Zk(~0!#jgdtXV>dU&Ta>qr%C_;8Ek!$QJDe zt#wx%7RC3ty=CN@8)(ly&44|WgTXTGgp*U_y*W#m*j)`61(h}gFHXC7kT=b1b`EP3 z<Aa1M^T@2#^$HDnHHUdpS2zo4Eoiek@$kRiOzUp8lsi^x>z{L%yga?gtgcJ0{2jNJ zgp-X-E6+sDhei#WFMjQCY%6hOnzi=zR31MCW-*5IQ?~BhB>Q7cdVpHGc_o|bxpF`0 zV`8T(_G^Zve7&&e^ei?OhXtRvdU!@~O-X!SsmDBTE#JH~DPrtrD=%_$F)_$AByuuF z91;qcaP63@QM~r|%QnxC=kbT++I`|YwQTm0`J5AHYfEJ>H~zBRgz-z#heq~e=JgL> zWty1plG1p>?6u^GXwd_=TX!lFeF~a*c^YE`AG~weB+WgM)6(Uq&9U>B)^(`xGo~4J z91!|((BxYei*n#$+jsrXCVsJcsiHn}J<Ii1(>+6Tm&yJ2y6Cfen&A44$s7^f3_jfx z8o8!3@cjGt(%;&lQ6^<AN9?O;(+8F-^h+ErRCv^{aQYfrZhDiaLgGnlh6D4o%2VNY zUL1)KEfD+Ft#s>qf#$zSMgPjVvJ#YLOq7%^_c^|$I3>+1#w;x?Ej8@AO;#D(^pJ?P z7sK~|mOdXOy|=M=x1v;igH+&h_Uo4zmzXq0m9u*;C{1Bg4?db?z{ud@py#lJ>0T3` za{vqDhF~`_&&5VORgTP`FY_l)m0!2OVeulRMa#JV7(3h-;g#RW^Jt0S1p#NFCf)@f zOqV~XcyK_`{(z#~XVyv6tK^g%Lq3?Yg&Hkhz*?Zh@j{I8ig18=(SIl5#d#k~1qw=e z42%Tyf(4{MFfk_ZZ){Mxa3F50xa!vF&cX>oDjS6yje-w3F#a<UWZlLiTM)qdElxcs zVCqDE8)hcy01<_Tvd?8A)}bse9|Cj|<b9I4)0p@|-I=1cN=%(pCvt#EOF;BByX95` z%h`<_bq7O#T~A);pqW__J5NdB%|fn)2JUGFmbJ?y^**vVx<y1Di)e23(pix{C&epi zTWYgw+R`Oy`!7l#W|W!BD0_s3>B48Wst?7B3)#vV8l%D^WF7Pr6!Mddon9X3FL!1R z7IkqE3H|g;Mm<2k*GTKNvw}GzkK#4n%^SEf0t0?6F86Zgm40Z>7MA6+`M-(qCX<x` zxu2IPo|-y|$)O<npuci!wL_9oY*PTIXovFWHjaRf?*UbEiR}^>l{ha7C^k7U8W{RM z3Y48XMd4zH^i7q1j!tz&rYHp^9VS8VMLb)!g+%QTa&h#`5n|Arz*sYZ`R|GBs1K4Q zQzcpznYw}%!!@(GK8P+(67Ol`TxeuDIaxxAf!%r;<IhbRCJtP6jht%|+R`TU^rtyx zdRS>MXKXR#nwXT_ZzNvl#$0i&>A=SHnLm4{&rB}~mab^?I=d*nRkh@Ru$OtdmrekS zU;<NB1M>`5uiYPuPZW8DeNXxPE#QJ9i^2rHu0u?bj4l_%8Pq>0EjbbULSe?nrT=|b zDOeo|P&pgGz3##s@n*N0bQYF&=K@VrFI6_Vho<?R+@4os?mHBmN;OE<;L}~%Ca^KD z<C4;$bmij(l4=E(y^j@*TjMzdWn-0?E(pfkYce~3&~4S|a;;S1&@x^Bpjz=@oY|7V zpd=ynk19Hog5Df4=bw}tn&iS!G$nl!lS~7X$^yxR38wd+GyUTTKGMSM;^20qh0h{_ zF;-YZPEhRa5=or}p*;tAdklL;3oO@P>Y3x*)3~y7-X*!N<GlUToH#V(`#j}mFW~IW z6fb`0Gjn2pq+)7VT1iW2YG_(2-wDsfD@$8gWg@pXHnz@My(IEtVWiFh)+JxOP903! zGx5LnCH2UT1Z^D#oeqTsh8GhgC*<684%KmJH)7QM#>tSb$o2oK(6@&bj6#{K6DIE1 z%2Ug%5G*7T<`GceWFRw<cgi<=i$t|a*A1Cf_-@{;c&W*^ULammS$RdcQdg&d!QmB? znN+qfcVZW8>D*}YuadP>NY-iFv|a73bGf+hmQArXaTdxF@?UB4y^>#gp{WInL(IZt z_bc*-DHSFUn3S!2d^dJk7%=E}nR-vOH8_~0;J~7D%~U^gap6sYQx1$O3|eUm87nr_ zRR|O>D(32%?mOY7c)ybURs+q~k2RJ!*RMUq75Iy_fPvklkgMjV#Lr(=lNXe(pWGkW zmilal=;@^Y{ncTq^RE<#n>EJX(%GpL86%+nq)1AXVfmrtlH);M5f{VD7BJ~Ju>60f z?cgwN{c#z=0;ZP+WmgTkN*qHw7x4X@q;=QC-uDI<+tn7Hk6eqJgm<a(YA`C8Sw+u1 zRbCs!!*YrL`^J_BM-&wfS4e*{OuQlg?56yJ2RTzL=ISmIaCoV~FKDc;JpYa4lnM`} zz9M6zCe5P(Yg&E_iYJ;#DGDjD@%kGr6qKq7XywpcYOkcQ_*z5EvtvxMzZe*d+8CG= z)Eb!fL@-)zU~y$&(|Ew-{UO-#0GsGG)~oDnqHaD+Q6fvkV#FJH9R)3W8QAA9ww!)o z`ehHxI|ZD-j?bxc{9mtTG}n2@^uA}B-Bs>~syR0aEnUuFKkI?Sgbz*c4(+W~o5d%Q z7L-<6!IrjAq-2q0<D!@Bi#^%hjz^sRys1tgqRv2OlZ(s+A+N<Z84XgIb|;G%2p%vx zur9<@|IY_YjaG@N6O|SPY`FfUb-{xze3q;BebxVZW#?QmZXVI;E!zd>F5odaYB;xn zajjTv#_mbcf_%+Pd@SN({cZ|VBC0f0jE-Kb`CFj;-Qe)1V@h&N;UQlY-zc;jTk`CE zp4;B-Y-SSw*@6GJs;Ymb(ByUrOC4_Ahur5rRLpOi=l)2+VgjQ@gQo53e6K*3g3YXa z+gPI~FmIA(ab;!N{E_Qw+XAJP|DDgQ=3+3gpDm!3;vjxi+Tg$g@sh2Qiwk^1ew!93 zXfJB!c%9r*bMwU91B+)E%D-)7?=!U1w@95~lluB}cwWKGh{klS8I8+TW<@M4jtplj z5!iG<QO}`3>U&1Xq02fwt-4!JE?t<Yz47pV!;iWyAF2$3<{KQWst|H%EYzC0c*$ff zg~H>$^Ij}rUc|#%ytOU7!l!tRT&CgTYe7OUd2(lOOO4p}C(%H(Q;dtj_3g@dCBv=p zi}F6*<kwX+N_eDY@j&_6fg`)h+s%6f4k<7%(O7I(Qr%u{^5B}uWi`c+h6J9gDsBdh ze<q!ObWQi<Qf_8t-iGOJV!XVv0ZbMFp1DE)nU)qxRd=ygbFoPVT*^_{U8F1}H6bqg z#Li3>Q<*b0|B_ZORIv0e(?1|^a@|&q<7X_BSS9|Rk}#_k>zTM@N{RwQ^WG2Qa+3ry zCQdjxeNXz?OHDdInif5j4V$)4hhvk7#ird74A+?(W7ST#vYy`jMrXB&?Ih6y%LN%; z{A&IyA<Nw3eY3b(eS2ZgVZK7~^0?%QT1pD@cVxXwIoe>f?d2AehDVvd7BjS7QAnH- zl5^Ye!q!Q$%!XP&d38S5uYaJy#=7H+fo5&*8dozxVH0hOnOf$?Q@c6@JK3uL%oJ3b zxua{xt#4BU#INT19zOExlj*MPi?yFwrBbsr9T@c{um%SF_f$1t$TVP(ZZpkoVzx|> znBl~@RprvMk8C%iO#T}BwOuz)VPLn;YWZ3y%u`sCu-b0=L(Tclh1SO``y^*9DUjsX z-t%B>XtL|cq6>1ZTP&yEDf0b$WyYVTm)_ROzde`U*;u0{y?jr)Tz7hBLFB!U`!?Ck zI_UhcFV&{>7GpkxPE?ZAIYyt|F_Q5sS!ETN{Tq_jFfmM4*7SN6<zk`PxUgtF1K*{Y zF+w*vGmLnXHay<X5MQ6PMt+$?_uq=H=?W{Y3f$Jk$P_=36%f{m(k@NypUHY@QnuuB z!$7W>r)erX3l2RE_*bH~;9_O4Phk_sg<O%Fmn3I9)_*bYnc-CbYU6*&sSNBn`<~rB z_-t)+RB0S1!v@)Xlb#mruzqk@uli5=Lq_&~hx)&6ZiQA1mJaLA*xE7+yu9S>ww*b3 z?nkzlf%T_Y<o3;e@#d0lWLJ3ku}HojksFId_XVfVGf90?Jv%)8L2H6`>r?i7ju8^t z5A;@)KCw;>+*|xDyW~XC!;EP%y+_l|UbZPYCN0*%7Ly=d(4})pPtRw%OpL<YlM~<G z%#*%#k5OYs;w^W#Gj})pePq*NU|H;#zEeqk<KcJn4>CC~Z`_mQxlic@PlwMe!`H{R zJgZ2XdH<lE$phAfU+<RiMcsF-?@{1<s2t^~@S*w*>yoKHksE!^xY&vOx0=-OaU#Qi z&i(+7MUHp3DY-Yk(Ppff7RLD0<iYc@3yg6BCw8xiG<^8PNKsGafmTtHcIyMl%Ee|5 z1<!N)G|LpMI{fNq75Y@@J-@I-@_YF68Jh}~^o3`$o>1N|*_roZ@ln0(047%h^Xv;Y zDIrYKb_{_N?j)VR^F+(sAwf4K#b?pfP?7krQ(V5xpVBYYp}j&;eYea3-*u7Z{V&=0 zUvHdrdLL8jlju^3)unUKG)!H%H0&8$99N^j4e7N@Y}U8vo(}$bZlCnYrnK4h*XHKG zxpnSshV5)AJzINK^Z5Ilc@8k7?EF^qzGQJ?dhB_r?ZU!!>l^nTikzkRf=%A~-o*EH z%YN*?Z`E?||CievtrwQsExuY>oinqgZuY4ouk-z*TIxQ&-E@2c!$&TEHqiqda`7B9 zCutUa5z=>DP_-yhR6vw5h9fsm<iY(X(eok;??2OX`%-dL&EkV+QQZdyehw3pf~=G# z5z$T)(Wc&>UK5eB9??l1Wlf!vJNx^(r*!nBv@LGU%2rTS2+WR=4OER-rJ8S{s%oL5 z6JcSYrXy>SFDqLmVzPK?L7T|gvrQ*Yh-AxlW?zoU&Mr$8k-c5EP;~O_YY!ia+`avB za`v3Zx5{4My*uZKgU+>EzkjdGPQP-l#6nrX_h3`@1r?Q!WzNn`Jm)1;UIaX{?-0D0 zaYy6g0{8a(FC`32DGvYnCaV^uBu;2<oD!|z@ZiM(rW4!qZ*JRKwOA{SGokF<hRc%c zq_%RsGi!Cu@|-lcVB)M$r}j0kmby+{F>T>QmZ<A%7qjI02B}5vT9-0OMcc$H*JyK! z#u49cpWK^iDkT@!TzDw9A%0uPS0=|6S05QhkB|#XUyG|d9^?`?bBq*R>h)fN@xqf8 zQcK-Zt|&yS-4a;h(`~_Hb=KpOV#dNc#?=d+^S(|#zQ}2DBG=7Xk@+hwrhN3?*6DJf zLGxN^Hp7HOlRY!~LQ1VRT_{j`8I-e}IW@M^=KbqyXXctMnQ=bWDP@X&(Gt(6osXmM zeBSZl+O7M4uDzOlz<8ZZ$VCS>L5mCa|K<LwU#w>~oN~dP?Jr}ZbIguI!F*?V8Jq+y zx0DERH`Xd&GO0>o7I3`sWO9t*gEbd>Yo4z)l&<>F^Et$7TF+%4i|EKlu0r;GpLitW zEQI??t`~m27IS<`;Is*;3$`wa&h$MQI<ajB>yoH_Aqj_4jwl{?V%Qnr#=>V*<Ef@+ zB>M2QzRI6VjJ!HKoDUX0IH)|Qyk?d|FvG5rpXUnuZI-o3ElFj+rLdQiiCr;G$C*Q2 zCLqmemcp$`-d;Kv3{I-girLDccG2K-aB?^2WEs03jE&9y4i6T|#Fw4fdfRa6$8Xny z_ato+<yG0yEW%x-@LV?j{t4m5Ho;G4OsT$FaFNgAfB7B3r(6A0OF6B6-zg6<eIUf_ z!!8<Sa?ycrqW4)R(ZnSIjUqE==QT=OmYmi-|Chx@YX?X0Y~PH6jSHM^vV85gDVbAv zT=JAstCD%DObny=i`>QPeKWpxELNRo=j?3W#84TVQRsQ~#N<NH&(mV$<JnbMgZ8<m zPF3OdJQjO$g=#E&VNp<|QsJ{!{&_u1on(Afd!~5L=zP$2Lg{nlu@lQ5S8z3OuG;Xx zYr#xLgIS78LZ`|qE*52KmrS&rB&psNn$YbNW%KRkisJ3dW-C@3F5ABP@YCl09h)n6 z_4TcnE%Le5BJycUqOs_7ekHN*w(Hb9?rNMf?MTt<OLu#ikt_MX{6^whKT(66PAgp@ zXFZ24r2*W2w~ox#GhMf%=(6iuvlY9W`2HFPiA3JvcH-MGO+l!m?xx>l1HQ~B0cK3| zPw+aH|M|@S!jW-Fj*Z^5gV{EzF?Ti^>$`0g4LQC*wJ2h7gN}I2k{+EUCYLT=Jv%9P z=bmfPUZ<{#hM)K`Q<mfD((eKntiRvto6q!h)r=?2!Z8g;R1KUbXT4Yy5qD_8@`wPY zouQ9~uUPtqE+|})I-yZO-DQe`Kx&7}i38rpBW@Qya@%odg0j}E2M(%Ijk8ZDJj=BC z;uLm4nCqj@Q`1?C&s{EZW}Y=cL4T^Z%aIp~oW44#1v)3Z?N$hGb=GN>nK|+N|K6C8 zO{Y?|-M%ooX}1I$B!wvWnM8^=ay{Z|by%YGW>bd?o5_Z?XO%<^4>ECvEZ?%mlto@# zWx{8cvIWAi{H`p8LJmJR@~ZQyx*dvg4_<b$M`<U&@Qe<=iI<d)>~wgUyhNcjhHK&y zt=c!WZ4BP$K7<=jTIs5Lu7a)d(-(*LJtu?iGd9UN7&OFf=ra2$aqfK0wJiZ@k0Kr@ z9y6=(V60DA#H0|w!f(xJdavSh%LA2`MJ^pqjsodEnX3+5<#Jx5mk}hjxQoSjMW^(d z1UAho55H9s%<l6po{~PI)OLA>gi}`C8JPzY*hPFF^y%C>?9UQ&rm(Mw&qw8`P3W2> z-*x^^JDFCpxa!QIiLy2)Pd<Eb!1u6Vr`-g%J<$Sd>={4LZF*5Uv7u(M;;I8o-1ijD z+)80&QB)L{a+uOJGh~HClcv+9XJ6OdNPNPxpjzVa7RQZqa{Ap<1w8DYIQB@3o-}>J z7<sBlS$x__eLaoG^8c?b_tM|+Y3j-)OQlXpP5ZC8QFCTTMw*qt_V+T!gW_(zN)r1# zy_}=lt^1{e<bwqE*d5F<ksQq_>e`WZ9^3e*oXwGFn$W88q;2XW9$%F*i-t2vVVftV zGN(Q_U_ZOaQES%kg;fy(ELRtq@hs<MmZ(dTKNVSECadu_w_W?D8OuVJ$r=7f7tB~$ zv&SeY+rwF)VD-)a*ZjWixL?p;b~d@+cSFODz=nt;V#>{jLKd(bu|4x)lR-nG&5_v1 z4CX@h+if~89Qn;I9+keQAe_+AA|{)_P_eUtZK4kg?^ano=3g7#Ca%zvW;(Z~^yY+S zzAIj`IvP!>&rd%*xyUgsoXgw%mAQRT&Qs5fo!Pd^ju)4mymmBuv%8Xv@UnT8FW2XN z=}G>xMdXRhagFOMmFkNwJmlNFkT>1ns1X~ZnM>)y6Rz_n3&qZ{RPZS~JaemV)=h(k ztSyIo+a_}IE#rRrFm1v1lU`oo$`h}$Ot;)x!@yLttW>T*_0Xv!yiJppj_IT>EZ_0_ zfx<@<kx4lUKh93!Wje5raS_+G|1P2~a(QAcyB7REW6m2H``GTuK~}C8isuh)n$kMI z=f&+!4-cnA^w``Knx%MjQmv1Pi{c%jsj{9+kIz29#cS(o>6h`a@ypLXwLOoQmkThn z7ai-by_F`PCBtNweWGbvd-h#EV}>~$TyHr&W3#U8J1D87a#-q#^_@FH+j&K1AJsLO zVxr)(>-J391HBbjHb|E?-1)F9kNv5k?vet&^PhdAo?a8!Wy&D4Rr6BYs~_3j<-*%< zZGXGTrSDbOtu?cEc&^^!rt<0KL#3Ha5{xU&PC2Aq+1A+Lzf+R8Wp@6lvM8AaueSDT zU33=jFR(MQ;8)M7n18&ar=ec<O;0|LoB-o1{r^=PLhR~d9K1rBZ6E&JsPSF#?N7hm zhgBt7mjqQfP20X_Yq1mi*+S*Wj`;0+cW5}Woy(mZG4+Av##OE@(RMdAE<9fKV21Tw z?cFaA%YEaOeda9I_EgfE;ozGoy!=TLk6qgRw`~<U=Nf;ar{d(a2YZj)$d8YB@Z(I{ zoH%KIy~51}d(Y=uajn?;Zg#`l)(=k~ygGdJQ-Ppyi{c3dhUv2&o?E!=Ea$$(QzpEy zG}nD>y5feT>484O9lIvGb<8U_TX8G9P%QXp*_Dovju$l&Yq*(a1T*lZUf7-1+;HeZ z*X7rd=bT(5KX>oQYz)|*$Ey+k?xTiHI>XN=3G!O<Y-RslDkOsb7p(|ol23L@5r{mz zH2vj<K#^cxrj97b4{RE4Y#9o5v#zq~J<@!&P)GK9qC^GX<AQ=&uAvN{c<T!Iw_lA? za0s#7U=sYGkY}OQ`HjN2%p)y7urXe?sa6pX^N3_C6#S#ce?*n_wgXe<B39oP=BS3c znMWBmCYc8ute)~va@%+A%t_fN6kHxZFzs9*b^L+PALFQ7F0u>?E;9odS3T5RbcEAC z(Jj}4uW(94^;6>pLp`fwCWk(`zQ4f1%uqd<m1*XYYS9VlY&%L%A846kn%Qt!;$pkJ zNU`rcA+e=L>x&OCFn?hGW56(t!$#GBAxOYx<%7H}20U8@SWPt|nGcBRxcq0cwTPS) zknYyl@kLeS+9WZngzl6N4gK3AmA{KD+053!o|+>d^GB>_yQ;wbOXji$@wp9(RgEUh z6Ii{jDol8yP}``_Q4#I!n!vP4;m`I+^-TsF7k8(Mvm6POoWiJOnUFVgD)SUU24@G! zt?n#4r>h-KwqXe1>;Isw{!J>u!s+8?jg(f=gU@{~7FsM!Q7JEV&D>H_;32;+M8<Kt z<nutj18Iq0%wuF-iWe_p-=v<%EZ}s%T{h)Fu0VzUjs||MO70VGLb3s_DhwKG1)SLp z8Pk5SF$XXOPMG|VwdY3zcU6IYenD5_gs#MmJn0Nswc`9aA9^QlVcR~1W%~=UA8r2& z7CcsYxPecWBQ<hEL*|EGv0#In3#?o+iyR*?IV{yPU0TRc7<{uMD)T@u^Jf9JiEKwq z8MvC2VicNYmL_Lz;*A$IRB(u0F_l@|Mdzox+94C69}h(4H*qd4;aO^uBobi1UT}i* zB<as0PS+BpE;>Z?9OQI2^qud(`*Vra`$C;L6VzM2n!5|mIw908TNZUcqj~W|jT?$m z_1nsQzl+R~<g8>!?KsYG(2+TP!sPEoy>mVKCLd)`y}-(Bz;MPhQuYa-U~obGg!BtX zdAGN8rzmu<c%fpI;Ax%IliHS&nlNuxtKf6PX-6(}U1e>|7qI2rC?Nb%K7VDT!vO_J zL-z-g|JnX;FklIsI&&&p$A`X#r}3$tG0RJ%5(>p5np7ii7|AOyTpuX5#>{CKBj@K3 ztxeOi;wFh3zs!Gk(EqxDi&#sw1A9*83*AHEjQfvuh;CRA(3X;RnCH%viF-1cc7*dV zf9E|>z{b**VV|1lHmNc7!~FbdtgP2<XKtH1%akEf)G9DY^=>EIeT}8n&s131m(H9z ze>E#hhC|F%V^0P~ZcRoe6~no%+Y%U@c)xefKQfi=|3v|=h0VN1b9p9Azi1W{bb#0V z8{hRSjLkdC6Au_Oi;7R=3}1fGg=MJ=!xfbRMUJnNwUvciP6@SSKH)Zf7!a&j!*axS z;$-#m6D5g83~x^SPfQbUj1u?rPd3+n-oA7ihlz;XK2NS?0c?>UCI*x>s|8ADeqhg> zF!@8}JfR)w^EVs3w5+-oq?>wiuK8pZHOZwZhV#l7FsCH4CtJmMHY}BMk9jmn_@=-V z`&RC}$9c|CDY+lmKYj|y2q@hyI=$RQkmZoxORdO~Spu9M{OJ!=GmB*Q1+iV8l|SXP zVR5Ok&@NA%H1o?JS1l0q-W6o=MmT(>8E=&Y|BHj6BF?-=(|DT>XkXYSBD%!N%Dv=$ zgoNIN^!3LRGbd;yI?Fy{VSjLwoq0p?djt796Gb0{$zB!Yz0A-aDZui5Rphbe=Jg8{ zt0u4=J(cKaz`%0dR`1c8>TUnmZeN-n^J|T81Y3|pOvZ+#SDE=<&5Sg6E?T-xFXlk} zUn7~r2NM_;vg<rd`z*?G?X%uTre#w^r+=+<|FB6R(Yia`U~YhGezzl&|HgC?gAG$e zCy6LX?cLzqTD)kXip!r4=Q$fBIcH9gTIKS5gY@TOi>#$)|H2#>NtH%EahqxAVS1(Q z+mgl^3k$3^@;(S!AsB9IY8fv(LE}LRTaF{g3iFtoBFQs9atoHMUOPpA&v1?PNujO| z$t#8VM~*UFeUR{J0sH%^>03;=woWh+e9XRxIW$}{G<5@Oan;r`N8|K>*?vk>UsmfD zI^?E4RACO7y<%!8%R_dS#Ei@d`wvWJ{UiOK#qmRP(GuQN&+S(%1fs2DGB;R%blNV$ zI4`nc$E2@pizZK9)~sy1Xz>csNsE`X&G9t4deG>M1KSyK|EwKJN+rd;4qB^Ec*$8g z*$S(PecSaQk;(RP&B^JKvpN@jf0+7W<Hp(F=0`q1=&T(XnP8@qQkSw}_KK^u9Y<?y zjD_;AGioZUE)85$Wx%;k(Y^8-Yfu1h`UE!Xo2)svSXB-mdazutZUOJLMF#h0hb~B- zekHB^<!rG$NA}OEOFaYD`X#Byc}1o)to3tZciuBk+|ZN5DW+|u>4_^DM_+lc*02RB ztWI=TUbe-Wy-m=&JBr8P;G`1XX-`z<eVNaEVO8@7o`_BV#q@&3EL<E4H%qU3GgEtt z*~?(r-KVpb31)YEaENKvN!r9F!7|&tP(GsP=+v2Ju8+E37w}fyXg@r)E76&)Ip&DE zNYt*~JbR<J+D|>Ja6stx8X?(5Lgyx0-Z$aBT^?QYU`xgKrn7G*oik<#R5<q3rh#om zSD6Dh8*}KXUzRbi)_CoTWNu(9Il!7(aNt&@ZuPSzH!Wl8Yjn*IFPq8gxl!2qsMdBS z#dQKYk=3s}-g;dq_!;uuTHt9=rc>3td(KNgC0NamnJMyN{xpfX7jJelGt52z^3uhX z?5j$QC!IW)G|_CrtDSFxMPnV0ip+9SdYL>^NLbs#@Na|8`a>qSo%PI${`2NuHkt6) zQ1j2K4uw<g!LrSBm@_6jonEjz?ZWv~F_y)l*$*c+tvI^+qnP%aG~wk=QzDmlO?t$; zuh>>(!TFdh+Xau;wna?|@3y_Sxgn%GDs$t$6vt}}yZ9%w*k(Vt@SO9az(eaY>&TK@ z>ngbgzpoTbU1qCy$beyE!<P$H+JCPn7Ub$KF4F2%`S_WK`KMSutN%4eS*2(F=NWul z1cbf5M)b_|_dF}^^0C{*iSIcBpZ+Gc%f}`6Fdo?+CAHHc{<@n~hVr$p*pxKhyyWMa zIlUQ~8wzt*D)CNVHQDr(X)>2WI{P0{nHVkp=u`49XR}QGn-*3*^{kf2tqFXsYa>%O z{=aX(DP8s$zvaheEQ0q<XR%IRdr{!v#aXKBuXZT$Zn}9qGNsJi^UG_cd3%=L4Y+&l z+Ge@vnemGLCm6(pr0oy5-?qBDVM>zeK2>R>3*4J8*0~*totb5L#>iq{#~A_3))Nzj zB-(jabMSJli{w$zY<0N1OqOL~z#$Klyt~)7B>uTHH$zxt@{%K0S=Xd-EiO<hyRybn zG0sA9UP>TahQW#LSJ|Sv*09C0<xOD8)_Znj>;3aq^HLtNdS{>L6M4WS{KWMb+dGw; z>P7A>ecR>U-ry<{n7L>9^S!*ORmyF<)1}UB$qY8V@IiUWT%+ZC7TRb#nH|~5{xj!` zWBZcT;>L&aW4He2Jg*de{sNyu2Gg8b{JbX)s|xlWaq*eU!E~&^VhN*PzQLLcH(3*9 zj%6%hOH;VkTEG_jVb1$GlTG%%xp*?};)(r11wz{o91P3N-m#JGl4e7c7>m}!H~O-3 zt!M5(akFgWy-wq~lVc0mR6LDNC+vxq6KUFeoMn4@iX&Uz1cQ<Ww!i}njtv#L37z-4 zAEqiif7E%ys$kBUcbB3+?c<4Oi~GQ?cQ#H)e(try34b1Va86`%oW1VYRMz}}UbRop z>)#0+xcv6d>HQafe7xw~TX*i$!PZYfAKn<{KMZ2Et9l!lG2w&N{?GUSv2|&A<uFRE zInsY7p-t`I3d=d13j<dF^jN(|?LS|<h`h18dEk=%nU{6MR>$@&R5mtKj`;7q{n^g6 z7$>)wvndO9cPPD4`F!=Vthje(`X!ccT5X&=O#<2lVh_$bz-icgt6|T(H?Q?%Sr1#y zXEge;NYsAOMV|Kl+>JLwCq6k=Z6olK;Y5lfdtfR1wE6p{tW(`~;@Ovd`>JH0eVw;< zzRcS8yZ000!kYi?I`!zLW#Gq<RNFeai}mNWW$$!j6jI2STF!lO9oMF5dy;Jx_wzE< zoxh!JduPG*`7)|YY?Gpc#MO@({TH?`y=r6|q+(ZhdZo+hy^TA4H>IrK)qd*>M=<Z6 zXZkB<KAydYZO<}p%QHt<>zDR#3F3PgaC(xFlt#(_ZxMRe()l@3(z2RTvYN|ev%9-R z%X-TC%KBq6@<mK$nuv&q_KBJ-NSS34SDzWk92mPYvnxAu4f6`-t*bJb6@pX)GcyA7 z7q_Jx%4*4)Dbi+AFj2Njw7b7N^-5}LdUpEtR8OnxdFkc1%S-NfrlxovdHv$f^St-( z-=$nH6M6sY<=xlUQ+~`jWs`K|h0nH}TM~tlEd~n@nwH7w>D-ub+Ob_icu{2X#Rty) zvNm>4IxZ^DGFIf*v)Np*Xs)%OqEO9A-utEvrl$iwH1$igs@POc6LNE&vBAjI{G!9E zoXLK3XYw3uOlIRVTzSGxRW<5hi<ti`hlz^}HG@?AV;0S={l8>dZmZwCN2g3rcOF{e zxA4g^+w4QZDhjf86HB=Zv%^da1muOb+~`qQ-P>z9FNRI&Ovc=lqBjj~hotuVPE<SG za#DjeW!}y`j$5_7rgT<?oZPl_7593f?H6BgmQ_d?I)$wlI%Ia?(>7y~HFrNc^UmFF zWc6-`WVr4<(*>_zZPb2z?C#fhpVs|;ZN_h1x#0i2qFvv=s2<Ge=Q;K#!*J1w!dp_$ zj_<gnc)BHK$&~pGnoC{coqjG%x!|T$`6R&Svt!9IWv06+3vJ3?91*sUQ`s1j=_$Ij zr)+kD(v)_O*v%*Hy+mDmx)&!nF(>J`P3?)8Suv55p=`obPHvSiqP{V*EZ_cj#w93r zK8ak=;3O4O;3+iS<S6GBj|724p*h`Ml14M9xA1&QO>VMan-x2A&BoiF;rkY{t4AKv zNbi{O#e-QYbHg(!?ez-`9XK~J&hpY<v*p@R>5P&OkMa+*uuDoFtW@i5xsqGVTl(ng zXI|M$cO838Z>&7*XM6oc!er}vC!1s2KbO4Fs`B5N73}*Xl<l$w+ue=wPJC7`+}9n~ zy(HwUl6v`)<A25M0CFB3O#7JU<JJ`wfoo^zc?@Ir^pQ4$y0tk-s(?}|Rz+1K;p z-{NFRE3Ttc!t_t=cww}-W0|N?^29|;;&e7V@Qio*wRC!9TID6q$qVir^_=|u2<uYi z9*5xnjNFZ9Ex3$g+0@l$^jMa0%xqfmK}_A%Y!e%IzJyG#T;`s}5JM$5*7a&-PddAF z0vWb(NbUKP=`Av6tyqcF@*EZ8-s3;ql$Xp?y`<0GbK~&Yq9<=BA1O&c!W?XRH{<zM zyN8|2UsbM|_c^P5Nm+2&s_SbKv$q|2`Tc>%ezxv6-Z%MP=Xf3yI{jwTEeVfHE?4Ij z1~oHG`f|xp&~Zm@o7vf{>3&PvcAxk2)!q8&^v72_f_r=_*G-OnaZflj%<NXi)mMhE zB6yalv0Qt9<nOEp@6{*EWNwI!%@q95%lCTgyaV}y?>*G_)Vn#ct9{v_VSLPi>)EmH ziJr?OD@`>E4)$+g_}?P8V=BX<pzxnldc?B=9=PkTW4zU>)x~ndIJbGzri=1be?Gd2 zWJ{=p{`6FC3snf3b}aR=>@+L?TNX=A*S&o#zvx!qja6<3U(YyheQJZ$t-MF3a}zGe z?dUpR*D+Q8&l`5>-<=#j^R6y9^wl@=MAQj4t55U)Z81>McJy>p3Yy8ebc4~i8KG@W z6}<Wx9x-1RG`3H3no?rHTD(|*>*a*yMnNYugjZbdQcGLbdBi1O`#5*27?blckD6m1 z^KXXtzd0b>BDuz$&pB?&r>14wTa-isZ*}(=9OGG&lOu3h`^Yhti7YCKE8`t1nw2h0 z@K6xQbu;+oYt)z4VeFz9n0<j)@4wzoW9OSn+<RWQE}F;Kb6vo-p+%rCpXXt#>mA1+ zkr@+AOE#INE?6w*Y2YDw=AtI|GG*(xGajs*XT%?L^|AU)r_h^55j&HWHnjI9pJ<UN z7tB4PqS!0V-ZHOMJ4w=8a8Hw>H_MgnQ=fcLU}K75=h(hul1W~4Vsd}Qv`u|{nSPpb zO$ou14Axz^xTc~okSo)qQQzw8i>}3)f#SlGZFkOCAXw1Yp?+zHc;A}z#C$;yR;vTz z&73Qln;BXAl>)`B#rXSXN=O=SuuwK^eJP+f_sns&i4w*ohdf+1DJMl7_u3e9)WG%N zb<wvQq`vVwh)F;6(5egTo^w)(w=c(6YLmqOD~U^lj5-yWrT$znTQ})&?vD#>hI1!- zzpClV-X;=ScFEcCxyo}@=Pgg|vWoPAzCPA0Kg#LHp)|Qn>4nmsPs{4pmCF2KC{s~h z$YE*z`E1hPtBQxYCZud!soj#|Efqa^d7S(6gLw=`=DpFHxMEL2$Fe)lB?}*{NKkvJ z+$xo7BJyCOnuX!*E3OmSWEL=qx;U`%{Rm@`VbEh>I1nw!aA5nsyDd^K0e7AmP2VY_ z@UD1y^qq&VrtR3hw24V1;LhE$>C93W-jxMA+!L{B*yHB0zUun!dz=yn_X>MBR;e#w z<kfh<$TeZT;ECBW?<Y2}D0DRa)0n`-DDs1mse+;D`|JeP|M}(zQvzDEvly9lN*b7C zHk_8un#iol<G>{s_o~I)p<6@a2V;`O`kML)OomGyu<PB^@0M?9<|;TKA!XoPTev3K zM&=QB`~ijujXmtfB0o>0F&ME4{b6O{esGe>z<JXC1&{Twd_QHm&1ix=Lkc5LB(w9s zCZ@JGsk+(=&LkY$#3po@(c%n8^0A7|ia%~B)to&e5ohD3Woh_4vExNjrtU<c*G@YN z8#U&8iA?l+$0%@1ZK3xBpZl}<CqDK{zj^AbXz}FZHfg*Ck!OC07B_8w-S}K<!9JN4 z2MR*p#<F%y-+iXEwC>~X*tfTKUAuF4-I_vOrr7T5%p2JB3a%DBzR%|HpY6cahQfot zqxm!%nAHLf38y45F|0`3ops?ruk8Xx(-jUkFR-rPHuLq}H{WjE*(kSe<=N<apErHK z`@Zab&3)^}AM<`PJ`rnt&lJ!iRHBf+V<BVHP1^$I+2IVDdIpusd(?mY%v?2t!HKWy z!*UG<F7v%VBG2C|ND`O6!;v)OW8L@eNAej7ZY$rNYCSqP#ZdF+={Pr|Nh{Aho#p)V zva{c&+R{1CwAy!`jK5|w;rJg`{pQHasba;m*6O6{@A`Qx!o<yymG|V54}q^b6kllA zT$wGVsjU60=23f+N=B_y!G)^70hy0#44eE|`KCVGImNKHMBDzsi}LmQ%bk6*wIZ(X z@cPfON2urY?S$`9*DjQPT^+pO^)d5*clwU6FFWbYs%l`p<G@i}-hkeiCvk;4zn=Zv zTWr&jtn%>7pBj^mhX3z8+%<34o~2GJeQo1Dt%|s(+`j$Y)zyp>o0v>B%^NvW7@F$J zAMghTG&c#aDNyD(@bj7M=k8#i#(;CnR!(~7z_)GxU!^AtSnkjF{mu5F{qv$7Pd<h2 z*nRr<pEQAJ)*Vk7jJ5u@Duq{`bUofMr8g(#xBt(}oMH{7%Tpc0<L%T-9N5xa+KU~+ z%PrhXGSeDz+;S?+lzB{}t5Zr{9MdDhqx6JAyhTKP9XYmq6;Tq>W17nOQ$<UCMfjGl zr7a1ilcz}(hW~FaaW9|qJ!WQE{OoDbcaO##X^q|Zt>Rv4?5?z!?PYPj-?R3WRqSeu z_gIm8LNzDoM&)tQ*jH@Tdza-d`JQ3j#*)R*_P{K*prP_MD+31uL%d?lhUL+FmnCd# zk9*Zx{l>Lj`FR|FLhR~gJaZGQbsCse8<-UoIurt!n97rM*^)o0G8nWaU7pS~?TM6k zDEICH_SqL0BLg~w!&xjCSR5W03%4`tBov-XkJDpI)=7(VTad&Pmhf*v%q=(O57To) z)HocMrMRf2Rs^UOFVA%P#$eA-66}`BQjr>E*1*$Iz9XV!?zU7P_QqLmRX3+e#F=F3 zE@GN5p84IV*~zu3dE5WelMET+%}P3l+HD-Ad=|zmEiL==r0Iu?{;Y!J2-nO4_wrBI zEBB|yf7_b5=vWWa0tUGa(d*1w{9jbuI-0x7EM|jRHPg+Cp63;<&nx<#N5}lg3Dsa) z-QM5QURia#HQcS@;WDP5VKE!n7|g_C0<PyAJQ`~!k<FsszFU0qmu;~QFUpUnPErq6 zk^RvAm#waSMS^Bo9NV`P`v)C5-&m#1G`vHZf&^H-HnNGZF>MQAa^1jfaUlQiGpVc( zli1Q&bdDv(-b~^*VC0_=^O2olHhX!&^^#z<6z6C4##2+cZ=`U9l~e>YL@g_JC~M&H zXefS}diX`^kEQ+L&!TUZC5znnpDUW-e!@8*{JSgb(Z(mnO*0OZhE8p2{l@PfB(?lw zdd-TNy<y_oLg`C1OYctOlsv}x;d-T<WaFG|nM>3r-Y!jAe68Yv+U(n@@w<<;@LR^Q zg~weyUQxR|_JHfeIqm(Kn)P!gWJQF;pI5DC%#3l=h&{ZNCF($Q{qxxKSEKhVWjsDL zhv9*!)`a+N(+f&9CKu0$>nX2bSioW=P+_FNtfRnuI#{Likca95M)u=*JrN1#zt`Ar z=+aDJo1{@EpVm2pVJh>1PL~huI~-YD6gn&n7P<&9h!)f(%<SMwpV!I3?p72d7SSA( z*6pm`^IKi=%k~DJW2x@#smFh$+L@<WnE!9!vM7l-mh1Oo&P=t&uEzAjHt~YS=mNKN z%^PL;Y@QuznaUPCi!1}=E@fzT81|J(y@*g+ve|V>K{9u-^{TL3^~^al*>VJC%-&oX z&zn~K-y_CkWp>1ioX4iKUsqP_D~;dM7T=Q|$7dF&<yP>+bnf)_7;(+HCIa)E3nrb5 zoU_k0CaQtKC}Gl}>nj)>Sfd;mk1b{Gl3MBXqWt>QR%ea)XUpSXv#v7Yj8964VN76} zTF%7yfkoYb<*?{{uK<?LD~uhNQeGXOZ=}ZN{4*&<z-#pe=FN?)^A0enG1MhYV3hn& z`*#tSL^*f<0Y<0Ht~ct_m|i6%Enr(OP@ifM)0X*vT9tU(lIO_=qKl)|X3RKN;_cq! zBVH2YR^ohY(K(Hh-!Im!uk5j8EAMjbo&7*Xi`COmX%<(jK96Z>q+x)#bJ-k+s2K)U zVYBp%ouajy`brI5IkK(3doVB3sHtt_JTY~mNM)9oXUX@l5{|Zb|7R)9E3?0~&b<`6 z?8nn(JKAP{|GMl+=!8qNn8GDuRv%y6erhd)0yCok!@Ba=ea1B$2UawivnVhyIVY@C zQ<!@<a&lJ2q<u?S?szfpN@a5FX1@Ni<LS}3MN;{{rZVj)FF*X$TIK;`R6&kZH}m_S zEdBzFy-|!RC$p2hmZ`H%on(=?wLx0uHlzHp#2^N*tqg3A6aF(hGO!&rXSk46r}-?Y z;@6JLQuDkT7~WZeZlDkNz%p%jmZ-v{s_zWC;i5L}>%M)>ln5y1I#3)rEtAuuVSV%> zmLHj>QfXg*&HAz`Ie24Q&~w*{jn)w+0WT(5u}syUdNL|Pg~!)XYMJt$MS{jr2WQUy z$vN{NQ}d23f(C_*3`}tkIWsEzSGFaJXy(mbmgB6x*!NkgF?UvsSi{BAEc@)0Z#Cog zmQ`$DHoHJ!c6<8%U1iHRm8F{8%sw!!(tKx@R5yd*21b1WM(2dB>&myids#J&tA&5f z?8jykvR1GfZD0)VjAi)1((FEOWyido>iIjK$H@t-Jg_zT%F2TuSF&Dy_TTzrCR0IG zl3H|vTzUe>GIp<%+nYDJ1iVa~62atnf$hX8_M8c86gJc{6vRJCP2en#yQVemStw&v z!O>5vv$P7fWkxV^EXd-IIdG?IMaL>eIfv<6c2DQ5$VysP{N&ZT-x9lvS7z?;K5n)v zExWAWc2;6}i@1}k@#HPNd19q;?R&&NFAke^!vB-r>Dx1zMY)<HSZXFPCOlwj>t>oN z!;tq|G@)@;;PHSTD{>Dn&0YU9lj~SdQrqsT=~+eG42BAGeKeNqylHv#HOuG6GNI1R zS+mlDC1QT9nDszAPo$@9UHaBrp0RVJR_3i}-ga!0$Bj+%wUU#qSAG5#_kQby&Fquz zJpC{F@Z{MuKU?_9>duK5aXwG2zFna7t!c~0#D-0^Q+k*lhO;C*$mv_1^p$5P+cE|Q zgZay69pq5he>HP%*z7hwnV8_$RVTK_zUL}g9i3XWvqT_v(HE@}Vcrs++KZpMGP68$ zD#HSNi<am|M28*^Vr8{z^GQDxEza&L=KJf!WEaL;+gZFB*m5T@OC}uA*uW^g;H0a8 zb#SA^QuE%U$1Z-ID*o7d`ggNU4_YUz)JeN|G-lV#O$xUwv^6*He3QN1ZQiN2);qtV z6K&?s`c=MudGmp7SNF75>U!o??T9X3m3@GXo#|&x^{=go(%U{ii%XG?cbgEMm@|iA z!=~DWth`;!vH}0uRHdgl{H)ovYoS{Lo5KcmyBzN933jOyxMbU;gI^kph1a+;tX)=7 zH{o>Ni={15x6fytU`$JxvvMs{Ozz6Y@H4Ev(Wbw;#rGEL{+bnPmR4nXu{7tn%I*I3 zE7KOT$AvymYu>ZotMNp5OTf>d=)<!cCwx&+eWWtugP8W*1s5+c3hz3iH-S;_!8YMp z%z6w=dK(zM4Laf{a@yAxt+<&RYS^3iO{^g+{%7??n->WTI*S!{_y3rky(@EeZ#&QS zpIJYic66y{Pj-)6oi<4)VDA5zolWYwf*V)_4YoMHXq&Z)wN8D1z}ag`A5QNV%{%wB z?P2JCKb|>dvXjds;xB13&z${#r!&JAwFJTIVzKikWXWupzj)hf#$Bu37O)Acb-rKB zC3lT+QX9APo$c!yxjMhFaX&o5{Ji6u*3pnZ4A)LGJ@D?myY1-&$KwS7bCzFATcMlk z{(PDP`}!Q2-5Y-I%KTR>q`TYodH;$v7m}ky_h|PQZsYtEzNhKii8FWaFnv9-!Z^Cd zM@m`Qs6~R&^#PM>0E?gi!)H!|?VsDdZCEu9bYA0TQ8QRk`LIfTXJw@Lk~Yo*VaGCG zo$hb;yk9kaf6A|fwSLbvpJf&7Xz@Q$@$*i(NpxJ;?^|Kq7rX=*gyT-~@?5y2I`?g7 ztb#XF{ojXa1z88C?*I1m>OND^jpf&lL{^+J{eN9&+4Z=Y^RDF_daoM)by~aEf|XOX zE*w^8?s8#X?zTGrLFUD(!_J*uaWk1j5<=E(WNr@Pp1hW)egdoKKjY_f*kTyk9W<ZL zpH;x#u3F}B=jOK$H^W4YlhWoa>yLMsc+>3mvtRvDVg1j!))m>Lywm!$O?$VG+r@&q z)ZmM0U5)|O@7A}@X*%n>r2kIYiiOW@Clv`dGk5bbIiBv6HeFa7C=q-`bX)OM7Y2j) z#7RzF>DJ3;ocOR*vOja~v12b*?<zOHdhABUqPC>;Wegk7z2fkj*Aaeo!LtcZRoR$U zoqo0K(BaS(84?T{8(3TnjwyY(b!%m`j?T*Smal@?vd^gH+^+n8CS=0>{2O_f&m_Iz ze3ueAN%GBR(FH8d0u0U<#JLif7I`eM*i|F9J;~XUQ6xZPjRN<Kxy%Y%IWs0OH_m?I z^iIlQ16zT_(ZDx57U?p~Ym|vNzWd$WWMiWSslUlfzOQu*E8d!$mUe7c_O)lCvFks- z>XG5UqjLY)cdZBF953|WD%bsc9wxFh^!o`dhkMZn*rE@-aEz|;KF!4Fz!EDMAT27+ zkZjHPcyD3jW0~DSm3(mp;#IOQb4<B7xR|*3<N2GVWD2;XdJCkuWF|E6^K<n~pT?y$ zCxk0x-gKpz)0a-<O48KiU*)!1)7hEP$ScZ7U(nT6P0ffyNk)c2>F^vSssG26Lgq4r zFhq&&i8^{t^ytCKGN%?V2$4B`Y&O^0HET8PHQiple)CHBo#uP4Jq!nLpWky)N5_a! zhAS#Uph{ucB`rqHpoPL84sd8&t1fcUyr}9mol%u7rO>c}iCs#z=!t~Grj%ooCA>={ zrYFf9Dq@L08Iq8Gc9yl&l@*ywf)6VjOPzT0XVC-hi~4qF8BCi+G6H$rxka_IL|z8+ zdTh)x?b^EH`l=A=KvON#SJzj%b(<M6yDyirkk34_)N#5VtCYx_2U~*~_3!O&czx=t zx1s^BY5Uu-6#<7_+syPng>oF=X6F-_;W%T(f%1*d&+cK$xcO%1ha@QmvDE=jzI`~i zP3C{xbDnR3f+~xoF8Jk^@Cb`~O!(&*CGs*pUr<i3QRwK&D@*HVc(p2pWJxqc9bF@? z>?SR-Bli@8$z{Ddi4`ACUuy1VStDrl;M5#Z<t4A~tm0gCVQcYLy}1)PfBc=^WU%t$ zh3itS6BC%Y_ns&?#3ndH;e;yd#vo3oRU8RN`1vfSII*j`OquB6Sg<6}y<+15cIn)l zi*5qBXAZha<ZjrgBrnM^ML=s!LIj`F$|Z{qNXeEw2=up9-8q@fq48*FK-vny)aclW zsU3=~GDojYi!RN)8WFPct7sV0lG4<`R)Zx=r`c`&${|yvs1^}h{_<*gV%aa(=X2x) z!@^m)lC~Y>*7-k$!HL1*#H7<g(jtP4d^%rRuO}^we0+0h<;|tfV+&U*T#s!&=_#F~ zbw&7$(S)8LuA*Brv<@k);!0M?Jv_6Cr+DFtS9jEoSQyXMeA&s~v*8evb2FEyL-S0Y z%N+}j7;n){_BWoxaNteGv)0KRxp#sdHs+p>X+Kc3zT$>_`|rQc`*yv4klriwsc?ft zQw^&CL$l}?<_1+JgAh+go}~>F+IS=nUXYTUIHj4}k!2!dr{kAUMs7=!9A$aF=_?8a zlu9pL(za7ed8oBABIvSI*_$m-vU3@)Zkn0J`88}(uS;p_v?!yX;<I6uol|G}{qqT( z`9~@!Wai&nHB<e4PQMI`S@2)1Z2FQ)FR8ByO^sYa9L@>}Obit>16Vi&W+mjaxHLR? zkyazQ;>OY`VF8(0S~J3C%%69PRh(Up)i`41VHIm0v&jaZRD%wfEI(T~Ipf1@^%I@N zCzVf5b-JQHFXf)E`LvGfy&6Zl+!Ji=ID;7tIvUNn)cbY#dJGC`6g`!WlnCi-Tq#@h zyYgOK5}(z-t=cuaR<X=rV*PpQ!w~@^3yo$@Q(u{bY&sJdT-bMpF8Zrw&-Lc-0ofQc z1`efEfg>W4Gx(eCDC}gAJZ`CC6X+_)=*XzZI&sZ@$2Cv>v$C2kY&cb<B)vdEjWfRC zRG`E{;pv$V4BCPlnAWFEU3JHeG0h<6|C_2~2REjiEC_WHp0%#UWYLt&mZ(H2nFmv5 z96sZ!SCk#S%pzG~FN<4tlOZFY$K{n=Czu%Ic1p8Ocsg_coy@F)-`$OqLK*pPFjf{g zhvhyAn%&><R{6y3Gj9?OGcJia<mvL0&2ZMkT@S7tmXOnsQMTEz%cJ6P?~dE;oLdy; zM`a{ip1as)aLi)O_1<@-zBN-H3o(jk9&}{6Y_a%}kRr2v(89<QKaQydCC~9+u}bD! zCwu*+rF|uPoE_d&9MG6^qS3KHfuX&tVK1L6i_1)2b`yz?Z~sd94F4$9^Hv@>@~x3s zkk>(l=QKl;)&<7zohsax4vmKoGzcn$sPLL-u=jKQ7h3Xe>f?IT!e0MrTh7ioq1)mz zbCO?zvY4)?tFGvmq^WWT51MBlEimwY9)9jitK*f=X_<+qxMsS!+VNg=II)O9;C7n0 z;;+{H2<vI{_$Ie_YJLfpvrLLpi3-@^7#P>>$RI2}c~%FPnndnJPXm`-vu?>42|hj2 z5-AYgf3VY4XwHRW#Z{q}v6}6I_ZLi4eQ&|l$CP0F`-7Vb+wxuyp>z35onIREyxKm| z>X6{EO~(vG7})bqxUMXU%nB0w-dVWekm#?MOFr0nhWYMdw%=<prNT{^CobohT6RLC z-n-Biah?{%D<<y!LYulw_c-$ZPH1$|P?{vfa8O^Aq0uwQNbrBcGX|Exj<mLri?#|= zl|`8}oR_hk@LiUfz-yA=#k8J@-KZu-y}glz?Lz0~`MEC(tgBo6SN!r*H&iNfioUGS z;dXHS3mxsHi@TT4x^ZOp!GO3E&N{qboWwmnwHD4hq!<_GEUu$fvcq-HWM1oH&65$U zOy2DFzPsr4tO@&E<BGp<%#m|E>Ke1oOYP1y+o+?A!Zz8)Q45ldZ%npG2w;~C4s|fL z3G9Eab53setNgcJw>UgyLUoQ?EZO$t_VP|$Hz5-SKZ9+Db)9yxYn+g5ZT-M(vypAR z?EIAD)*qA~xX)S@dOpIZZoXpkm5>IH2`gMQby%+bN$g<KX%G=;_|T@o^M8So#LENo z{aOSkrKoT@XgEsE;c1_El4bhjz0ZnRSG4Ksy;Nr@$&Fa0t!diAsg?S0(#)dQ9b0xh z7fd=OdHzs|NVVMCc_nOp%FAA8Zcr7^7J7Vp?wx1bRti?>aa<Kna&UE#?tZ>|x#v0o ze`fO?jD}f_kz2BZR!=s~_^7PC#(TQ)8e^VcVw$dVuRT~YRgNX&;C{2ePTo07wL({Z z4Bwx`w>99XTwY}IKAvX|MJ*4nJr|ssX~4>-mZ84(=1L!4=bS|<5s$ix8onOUXk)K4 z*~wMO>dYos;q-Zn!ve|WX}rHU4ul+bT(~}Jg^Wo@lU!R)ghGUh3v<J=*npr(j6N)< z{tHXSPYs=DA2Y3Ilfq)grkE4LH{CitSIWMf{D_4?%!4T-z;R*qszag|^X}NrW97SW z=gi08#ZOzZ{{=N$I^5L^`>ucD>xzZU${Q^`&lsQJ%3y7qEhR0yeJ3C58J_2*$vX?L zI7pSQTN-sM@m9yX#zLnv*<Zfh=H6v_^>l>G<1lyTcO{R6re=3K*0`7XMjU#Ret)W! zWZ>?UBO=lUylr9*51M3dXa_CtJUd73hQ;@kuc3n18013Q+UGE+ntycI@$tgZlYYy7 z*fTeOGoE*}@lO?7d5Fg}v3UXw!WjoeHt%!k<7QLgn(}~m#eZ$SMLkbWJW}Q4%-%Fv zRjAeE%0J$l+W#d@b*FIc%lerY`|nfK3=t92f(hCMw@$jpcss7NNzi<GWajLdWw&ph z6U+FlbD8z+9*5Q9OIIDb@xlF*nE1Y_|93V_oW6|XuJ~)cy_Z(p+_~LyYRuyN$Y5vx zq%Gc}y)_e$8Ppm}R4w7q6ITyWk>Q@wut_=IY%AyfBJIUXWLO)yc00+kJIYRX=DL#T zt)VLR?qk_XMjo9543--hxrJF261XiK@(K^B<Zm>RYOuLnR(OJe?^ZyG?L#r2Ln1FH zc&fMMzTA}bc9HGF?<H%M<U2+5q6+l29AwWba-H6goYWv78&EBKfJxSYNhcv+EKsmy zlEKDs`)%RXLJJvL*oE&k|M%Rpoy%lF<jSQght*YsJ{j*6^vhB(mpLG2GdV5jpmDZQ zk=5n2cO}w_CADHM>C+mdIZsG4Y$yshaosx6e7=%IvzUw5mXZ@p&R0qUYXcQtJ<s(n zNi;1t4G76RvQ(->xXVpFQ~s(|FiY<7tx}s@LracvgqUy@hH`r;a9%d#oc=j(bpn@_ z8Q+l?`f(ez{}?N<hshk+Ao1IP_v|B{y^na;mxbm}O6<H)x+kf5lWO9_Mz4uMmHV&B zb+q%n_z>#2L+{7OiVp#b#;TkJ3j^vNmwtU<c4;B!<&Q15lS)JlQZg5`{$^nLX(qAk zc?uh6YBEPEvw;Bncdon11^f$K4j%t6?6X<Kdy(G`#?nRCI9eG*B?81uozwlDimqMn z)m+*kc*QaEqifv4^xKDIw_NnE4Qe=?8awHQ<~=p@NgDN~ADyhj6)Kx``k!S?WNVoI z$gI#g(?inbL^8WWia3Yp<agVP_ivNh;?e&8Xt%=Ap6!cDmkY@5ZS0SIDsy>aw)Hjp zsRh#WJ#sF6b2zwxzk4BL&J&B1g%#O}Y-d9m?>$JI_$2<FqV^ls{-PIh@l)mPcgXjD z=j;3~&+th<<f~YZLR=BE>j`0p>;tTkrUDl?YQGfh%4cBVY0|I|U{DRPJrg=%V|vP# z^!&_#lrM>?`V;MyCMzZ}u$Mnh*yLElrxL}z<iALSiE(I<nEXsp(IYDHNz+42yW?hx z-4a*Z$n3PgA}i*myI;8Lmc-6y(_>zRXE>-B{&`;PK0Wcz^|}>`0aK0y&bwGVBdK%p zPM2WifH#XZSD%m!XpvgR#8CFYe1%}$JvOrh<>;qRTz5EHSbXIV`@(a1!So_^xyKVM zXDwiu8r&$fD>-BV%Y-EMXbBHr7V#w?gT<!nYz|h9cvzsI#w2Rs@p2*0>;&o4>f#TR zw0>u1{Rxz}7f?uQo$<GD@sEjRdl#k$IJ4C^su!fPy9IOI5jJR=Ai&fhZksNtkPs30 zfi378TUhc0cFk0WgzB}O_8AfKGeQd1G)&iPQ8CDvF81ZWO8av)@$VvOK^)f3lXkdv z7o<%}2#RjGF^Q>aQlVM%j0XvSQ|fFpi#=YN*<GI-GPBsWeR7FYro`9cyPhsBY5`x_ zU27ZzPMd1_r>IX+OU`C>x$|hgg{E8y<KlvJ>Gw<KY>AL*b&<Z#)O%cm>yqKZO|Nuj zB<eGKkm(kv3ldGf5Gb>(S!%Ii@=sHpOBz+tEj$+;BpC%5JHJ>>7BKi)$hV+mvHG;6 z+uQW^ByoLnu>SfYUHvj+MuKo{BIh09s)Xa5Cmqd&i#0kvEtzJ>kRQ<H#?~gGC>Y6A zkTGG&W=&ybVd3=x&FdVODWoq`{HdbNGDn6pKIo##k(V4>Lao+*{$Dtupd!9S<X!8e zu;~pGAIRmTCuplT=!Hwaz1}H!wbN)@;Dra07Z%K`bk6jjIoUf!{eMZZ$?5(nFD2(* zG@El!^2g0$Zx%DPDE`%oR_R-GuY_mWI(PG3bLF?@+$qK5n#lj~qE_GMmiZqR2>)7; z5X^YKGtehpOEe%$=69O@O0iF&{C73#COWvU|IAZn5c2e+^o$hwuAO?bRTNTEZMt5% zRffcdUkQ5Q=@b5gE&Bl16~omAHyPV6*?e!3bZzjO+2~^#z~cKYe@$k->;~ISozwVk z?qtvoTFJWL@b_gUKh$<|`mHvdB+tH}`-9rDF2}XOj#{c|J0`Arr@Bp7lP_8O|5PT8 zxcQSN|GyIRQ*y`q<?~)eN*(0ZicrZ2k?b<Jp6^*%Y-+N%`{5M#OkSoJ>8vZv<&OFN zUmCJ}kygkCr%M|-<}rxRP_Rn=qO*&MD`Gb1q9;6t4EpC2Ejts~7jMwL@ggeXr=O4G zu8pbE9*r9os_{G%tB*X&SRB3h;N&C+4*pk63Yr@vxD-Ntx5V^si<vWVrMZ~Imdg$2 z3OQT@SBf?;%LJ<E800H1VlPZ&_dS*`(l{Y7YRAT#_J4kH?VipQ?;sw_CO$89x`WOl z-^U!AcLe4A3c3DW?TPfpkgu!-Vw1!}I%IY`YG-cTKXL!O3#<2B44H6aa-*4M?<tq( znaN=#|8+in%D8x~bA@32%S_&{E2q>ut-QK>bJ?MoZ|<8boLu$I8mdKt83MH8j_byo zG*6jgv8ep$j#u#$m|OWe<Q7a|nz=dt(?iaM-x=yVgB9Fse3Ur2mM}_8aB@7Os=368 zWr@h9ttxt-rHWTDN;oYxo7MM5=(M(5_v32LxCLwuS+3m|881%Q<Qk;1VmsS}0|JLM z4lyid3;e}qynvm1kx-SwQqhlWML`qvW7ZqRq_p1NS-iS!Z@Yl?8z;Rf%MPbcciJQ3 zC9|NkLrr>lshIV)wZ%d2LOZxBqF+35J+g6aKzG8SjT@Ir_3JOMvkwn=F|~wk(u!rm zJeR&XO?8@jq<UVh;Q!bKL7Qs=>zjA2oO*3V$Psbx?u@If(hOeFj{=jgAB<nlu=Vgm zi%Sa^ZTMw*`-V`60P|x-o`oM4Ol#mdZ@DpSp~(Me(SVJGX&+9;2UPI0i%dPv|I>8e z@hrAh_lhIS*_`$Y`&<;Tl?W?ey}0M4XHVz$AVmZI3t}k_jPZY6*bbfE&2r|!FSZ-X z45E|DHh6JJO<0<_U}?a&Gr|+uR6npgbcrW=2z_pz(C^B)Cq4DImhipF!fZSCFY-Q@ z#Flp3#5&$^PTnsyzdvc;dUBRXr%P6g7TszTXAyt<(Q2N6%=?E4A0z5!HN|qc#yqIh z4D_7f#xDI~=PmorDf%rDA1vK}efZC^E=_kUL$7@*@0Sawm+qJ!k$g+*0)NBNtvXe* zhm0E5C7n<Zmz^N6@cBc_kA<A`Hd{{2;d&~_Y*--8bV{|%(vfS+<<N(WY)6XDP7o=0 zSYZ9*N^u8!ppfdP+&QXcGukt^J6bR*z0p6fE)ws{n92}t)_AD#Yj{-y+pWhkx(gRA zez2(9Fy)^`#Fpt2S9I*J)vQ-N!1&Zl;NPt9zpJ<^G)pTco_x$xB<511y~Uh$wu8dX z%lS^-n}i=<oGUs*U^$bP8t=A^#}gJD|L~aa+v6EAmu^-Bq=<ESoa;I}wKMv+|NI>; znzxU!`f55nU!nGa$=QKLXTzHBNlXeCYyvJYEnfIPQ2*B4;w3Cb8=N_-7I`mWQmfIJ zebGiuq4$)+<?3%)PXpyne$q+&Eql9)>z<KY;c4r;2H6W3F3)pdR1;uQG}wQCuFTKu zZElV1GASqB7CH!j(ajVoQd>9MXVaCY@cVwg_p?8;^1R{VpR@SQrX=2&T(uCzcm)wA zy$1!ZjQe}o_SdwkTv*M1Fg%ObC?!BxWkYd@iN2X*N|f@1tAA3qi?hZoSf71ksm?=X zoh9YJe;-zx_h^}QNBG5w50{AUIk_nIVp^5hV{aX`BaJ!xeo0Rhkzq?)u>8S0Z|+S3 z?<TLd?Y#d~v(|0uE3S;(p7||muG2bVy-$ksI`LQL9ejF``+U&<XHNwMt~FXS8oKvi zvpIkH^s$c)oVLA}Jan%g;Pm~%Y50NjG2>;0nir2BS~913DoV&l9W_34+%d|Lac#4Q zl7e+d;-q%-``)~{UT>Se{xuG=UEFIPwqVN)CL_^*L25hZu!u}xDQ5^TKfvn3wC=$# z_VYFD1`8Dr6!YnSWLW0jw%om1=wZIFqC~zzwSU^TLSB|uZvo!U!-{c6{h19S4yWvE zCdN#h^G+q2X_n00aN{nA$CXlkF+%4H!?L2xZ`G*;ub;gC@-d733mGKc8uZPz!<^HO z)M>8#A!w?u{m)agu6c7pvO=)&9yX@F^RAumX3o>Sy7K4L7L^UR=Karze)s?BqQ<?_ z%UG@%ByU{EDAIrB%mTURfx2h8IQMPRs$e;}ib3b`Mc&019!xd~o&4ePR%J1tKoRea z#%{k^4OX7?F}xzCSut~sNUOVAl4#h!j|cePa0%%sxIMnllrTGfZ6pg{xU7Rp#)t5a zTpavdO#DgwnjK7<O!jSMfvOIH6JjS%RaIpU6fu!8$!A{3JaguR%s>Yd{&vmQwVFvC z?MYl6>$yy_=I+`lB~`HRK$=vR)M2i8srUku{aFY0#dC3;;*z*@a=(<!zWp*6E}puY zcH-94E6)qKUdeFD+)-kXQIh(i^zQ51H=hf>guG|44*YPXv(3?ej#h|(hqEGkt0+T2 z#D9rER~IP;1FaN`iw_R9@oQ%oGAbPq5D;YAGr@6VqH~9V{Hy?u1x;KGrrIr2JSI2K z<&yPc;bc0*!eAXWC4*7nQLH*2!?vp-ObuSal_9TkcbD_eZCa-ENO!ANQ<s=lNY=u& zQ=J$YN;58B6S^WMXvX^F$V%xpvo&nx1!q=7rt8eumJ(G`cl%qO#Ky$54-RI_md%)X zGM+`kF=a_H*ZH~5-DXCOU!IFB^_Gro^*PAwq<Q9ohttAuvu<zSS>kXx@%!xitHcfp z<+%hdcFH#J)M8xeBK16W#`K8f32yBHGu<XOv8eR6Id{b!O)?d~_+uM;@kI#^zFChC zom_FSF?fx^e}feMRd>I#@x*K>WvCOpZ^E!jx!0;b^|N>I*MP&0QBn>+riOj{5p>N) zf~n+cu$8XM1UJFbj6gquRuLsu)1?}hssv1@OzcvdA>fcy6_UWj&3MG(vOi<a2FE@F zM;3=9%S4yvK9Q4~Cp#(YPMN6Ac=O}gr2Pq-&j!Dru(Tm2bLm#EXcoWA2{AcK6Q*V- z3PnuU<>#pIvpBWmC0~?JW$IG>!w!${#ZUJ&lT4i&swP=uf8)^2w2rQCGc%UfnlWZA zS*vzn$)y8r+^kz3ZgXSb{`OfW`~H<5pK8xGz0{?|zsB%X(S$8so+69aG+roOoX{?- zwW8+xDaAEsiachn&j`5t-~4r9z<lGs4>c1^4~0GVX^O8Xm~OHw<FdTWdyy4yYgkq# zD;Rv-c~Zjs&Yz=a?OF0n&xZ%JwgyK?I(@z7{3&BeQj!zf%J(jEStgS>e`uvNal1}A z!o*=D^3aJ*lhH=VJBnpOa*yIG@5!=;k2DSk{o1r3fKU34MKGt{lqZh^jrU!i!v3z~ zr?_dzhC8CR&+~5bHD>!Jhn~yKlN7H^Y?|3L`_hM-XHUB<Zf<A)A8;_ltYYRwUXytx z%#w1gD;rA}c!;F2v8CB;n5ny<^jpTF1uLIvWC{ByaD=?CVV9PfGo_H7b#~sa*>dy# zu^l;Gzt-qpR-1*BSIO2xU7TfCN{eFut0~<0r6nL+b8xk8>;52d?e#S)?m0d-b6#q3 zvc@ss&Qm4hT+2gT-EXae|6Q8(>bcJ31>4w#)Y7)qKfUZ{o%mC<=7WTpX}^uvt_=O- zO06>{yXdbgPYGm`EnO_8Ai{I#n`O!aCq4^}J&r6!rwoGqWLX*-`Z_mGkPuWmY9Yj+ zBVp?DlR<jw46#3t8Jt|oUNCSMJ!txMHJ{n_Mgvbl0+Xap0NeWjXKSzJJbXG!HJ>_6 zn8qNoY{!~buC%U3_Ul2@svA~{Y4|i6g(WV{S+mYJ*DA_lL#RMSgR9-UgHkD78@Ha4 zP?k>P;8(g5w(ar^U6b_BK3RSe%R)t*A}Urp-1~2}K$@|vfh}WJn=t!DE@z!X-7**W z%Eh+t2uxX6$Sdf|=VHhpuw@l<Ovr)Cl)`zZPc|tqYkH`!V-fftP#|mirlm2Yo$-%O zw%zRm)8;X$^j<r0vW)c?chieTz5@@L4W_8bMV>k|<>A8?&4TLV>cK6OpXn}DW0VeJ zy~Exh?Rlp5GIztFX&YJ?8WfpbI}QjP+dhd+FIDrOvxIh}0fV@Q&opU;1QtJm1`ZKL z2EHkcI;vuglO7ykwVNgQzio-gzf49(>Dx2JTomjZ9;oQvxpC?At*Z*6XFOQebI&{X z>k*%D-3BeI(@Ez!zG$D`8Q^$*0h<}i7M;SDX0{tm;*LCB|2+~j60-Mki12Sz?ROT* z>R4`hTd2RnrFYgc-KGTJ2XUWUzdmRSu6CKMz+u?oXt7Zs>Pu2xLj$KzNdvP315-fQ zO~wTeHnK!&9F)4gLiX8>gPo6Fis}SKbVn>{U@Mz2Z{r3Qp5;?s+n)IqaCJ(cM^o8X z#*Qg-w_g)ncUAR;UGh{F_ULcCEIX6s4ol0$JeJxMSocX*Mq0=(<UwapUOtCGrh=El z1m^yQDhyw^4<rU}Y7uu)U<%-1_!C!fCM(ZJ)2QMNr<pW^ctaxBF_ky{Q$Dar=J2y{ ze~#00Jg{Fv(~RMaPAaqShL$NaTsZk;nwZZEiSsouu#0MRCMkbtD*t~pIZ4`rd*{Bw zb6Z+m_3VO!r^kF=y&$zP!+_`bCa>>OUYaYU-@Ry=bmD4fMTn~!ccq)l*DrjcC5IG0 z8HC&pU|xAaVq@;aprj>gAD9_;EStE$qLtyAu|O?XyFj!FOOvCQxU)qdzrv11p<gW$ zo35B}JFg8@*`P5evSdbI&ZO1~=TDO>bvq=FO-j6&5ivLILf?XaOWO2PWENag$vBoY z_53!5!;i~Ugyel^uikCuInA%^(w;>ksa-#+CU+{F_f#u*=CwtEIVaCyhiY&RUqBFx zh{fkqi~)!KZhLOuIoDxUhirskN`b)y)dHTastE!I1X^UCC@>fvI5@4i#b8y(<o{aF z&#dA35+&+1eUnzk#|93Upcgx)EY){5YP=j(9nqk;tGP)*;PjRgt80s9iQNztV0)zU zDl}%X@Bcq}<_t!9H&!Z2GOWCBUDmZRa$6&BPQk%m1_mAFNpAyJoqX^1@wVBuAJYZ) zYaH>8EMCQT+4ZL0(slKdPib2>EMTehS)#78L&A2G!m1-@4Akx&U<@zN6I9&B8hs!t z^r%g1R=_9ziuECr%PUHw{^>~duJvNI_|qJHpTQ^W+Q;{GhgH{_BnN!FxAEn@gP-LO zu5ORDw|wazr=qNMG0-=n;Q&ViBdd_{d=udrlcr2z+0M$nSuEngff%F9wO$2LJlj?( zn@m44Gwi>f(?L1!h`H%EH$`bMW@|4v>(6xSV%S0pPRmHK`L?sXUp?u%Y;kfkdnv20 zv<nN@@<8!92Pen2$*j1++VV<2rg_1)&fw6yiv87J`1Eg7x&L%}=g_NJR`YSHe)@~o z8vS`C9S8HcFNK_19auU`uO*-*c)G8GK9|G6+><N<9ZPd_JSW^foaMo{#DKxNzln8M zQme!qDY^K}*w=Ts+~jKo&2uuH+g^My-+t=ViJOTkQ}~TIL^rTZXn6C_(eL1oz`FUW z_34`4CI)i54Yr(ICUP@#zKPr?u1_`-8;UtJC#HD{rJdou@`=-nV}Fnr_t{JDrm;Re ze{sRipDbFlzs<aTo8doqk^-};g2MC*Hp`Z-+;euROb@Gtkx<kF`#q(Z$}Jfe+J%+2 zsM<X?@d$VNc|}!+nO&*SI59{}<)TVdL-3~!sxz;-WNzY6DJ@%`X4!Tnh-rdJ{YB1~ zha^ru2rHP}z+Wupyol9dLTcHD>Y^p(DbDekk2R7v$1hpPV0Ex`(}skiD<K!uxYrrV z6+e;6UX;UkO)O@E*86R|LL%itA+qnT3bGtznqtgrWGWN4B=4}JT<BGKeMi->rMd3R z3VW6LP6z~C3TV30Aei1L5|zNdbW8jGE%xH+D(sA^aTlt0mv=-yV*P)h=2&<}Z(4Y` zApf&g;ed+*f*TApHh3pYa5$#&-&Zi9?yI`*S977HuzIh+W+Nd6iw%Zu;;D~|eU5)& za$dl)=Bb0+cOR9Fwt@>-3>g>}&FE^G%E+MM6S~n}*-$yH(2Ku0?a$?s&s&Tyl&eJt ziPbN33Y#eLF~INt1H;P(_AiY5W0tF_tB7k#I7>}vn#!WPO4(U7#3p3A-{V6f5f?Ms zEL4nxn)j%2*R%(wGix45lUjMv>~BU}!Xs5CHtyE%st*oo$4zm1=Elt@#%&@H!u+r; zc#+4v$(8Xt*sic<wF$}j{m@<^ULc|A!S{)8UHhaS!SW|YyoTQ<8Jh7*II?!F=-8BA zkdZjK{Y8Ujk(hX+m`OuN`wdPf%gO&6{)-+Lt}UA?Vlh!-N4qWSW|rgzCg}p!8zoFP zzDGzmOua46;BV0FCBPJ7Sj^Wfyrea<N!9T7b>D_#T|YX6`5t?(UQx^OxOcHjanu6i zv!*J~4%c7TV3z;VaL`$-%T2+zGlJ`(!`>gBf11Vk7sd3=Z16muEpOtl8Ii@%#?6o+ za&fs)z{T$LO}zIQ1el#zSBuo!Zz`&fD4F<^wav(^`g!w&O=irMmfKFcJX3U85hU(3 zWkRuFABU#9yajL71-I;g&_9kkM<!Ly-M|+8jZNo3;`wF$hZ8kYl{h3g^Zy#EF1j4B z_q*rG<5q<pymAf6*``w%F6JL#ulak;<e%GQhoArXU4G^TPpbZAS=x7F%JVJrg~OXI zg$&O=QBJ;4sBd5=y*Oeg%QT~cv<K|I)1UfEGc!F9uX}W5%8t~`iO+nOn|QrtXYg_m zx_D%!+6NZF16_{K7bFYLuy|}N`oJ;zQp^R8SU+)bgI^ivQ=PJvnm@hhuyj_Nc}+ZH zW30|%#!E)l`ro+UOz`MYoRw?J8~Mq5scR>{Q|G^Jw$7UvtuE%bZ8EFc?y}KRtIbL7 z^3SE|GxAO?>)*?i_4`T4mIVw)M7V;2LOERZ3e|1jv$okjHB@*yQLZd6@s^k>r|QPT zS!=`vzFw-fRjcMNlHa>{UROxLKezcum(O#IT={M0yuHswe2xE4?#n2BUaDArvTKir z=)3O=oj*ir6|Pb{WzW$N{q;Lb-;JpKB|iH@>}oADmqgVY3e<Ui^!`)XwQolEr6mhR zu6r#{5i4O@!Y(l*aiMYecH`zs{>!3jQVWE&uEg+4#6|}(sy=ZP^HA4)6~n*C?;=C; zQ_p0ktGvF99oowcr<|zw{lqUQEZQ@%hX13$yL7uScAfrBOSi1-f0QBDc4*l@Eth@I zvil!}T&=XUj;KiLn9vl!=w!|ydU9^=)uiSXb0WUvJblO&`(*tlf%1^aZH$5Q_nOPk zyD;y~gM7h5lQd?o%x#_gdEtuwsO7VwRyucXj<^(EraE)-jrqdt8Ox_cpDp>%<aHsE z^U8F-E53i2*R+O-NuQeWv(oFCY3BEg80+Q?rGxgO3@kT;MN~G{_jg1en6-84PU8nJ z)|_}1b9F~)Rq2!q68yD=UUE0|`rMcwmpFdXSnGLQ)OWeU(lC#hr3_C!Jw1NObGQbE zHYyu2F<CSQ+`GVg;R9<L1K%Bko!bm1RA1Lnnvog3ild__@XAiE)rPzq8a1lhcYSkp ze=^b1K(%S@gPmbpV{Wbt-Fsa?;X*}##O~*U-2NWi`oFmseBPvyS#aNT%ICm>`wQm1 zimW-%zNvP}rhHa~{f}21yS?Yeqj?j5R(G$M(y?s*$roFGXNpx#6%ks@;#!ctsG_9D zbL+($|MlJ<TFke@IBLTT2kyne)?!7g=igg0zyH{j#+hr<KgICeP*o|()VGQi`!ZkY zK$P<&u~0#=UQK;I3;v=&r@Dv6k7uc6CR#qV(p-O0?L<SuudsFQlXdO}1hg$=lQWQ? zCdk*P$b0y~tc^RDuE?JIG?AO>!ur+Ohd1ut*`4IFpinB>sx3h%=#?7BGo`h{VoD4b z74;^n#vISty~uK7!iM&MO-E*LJgBZOxv`^Z)zPn#Q)c|y^!J*`&FIY=lsBnGFZaDX z?@eZnd!^r9t9^@2N=<%E6PqQ%>%y}8YdeF2Q{e1H{@%x(uc;o}y7*p437^Fbujex+ zS?rffSzL9~vFM;tSmOWf)|>TYQ;cm^&aX1fNM=06s?mR(OaI4{lj*aKyA^n!Rg|s% zz+54yuCzwJRZxA2o5^igN#h>%#|+8)6wDlbj{N3W_WByv?8f+$KJkA~9NwH6ziPF{ zvV|McXSFQ&)+kWUA9rU8(+}Uzm#6Tl*efkqw&%6WKJFxiXC^z%r*v?LI{Z9Z(Y-zN zV7qgZ$TCUW&ptJO+xFysEx31RlgaFrXJ>Cp=@F}n$l%}9ag%55`=o=vHBTwItCyuZ z{-_X3TG&&5b-U;Gi*sG}cbKJ|SDi8YiP*&zCGuw{_uOf?%(_JEPKnVey_Ce#bI*I; zF-_MoFPwZ+{8mrNxnCI<OV!xUlrDPq-+%o_=CtxFPY-aUY>yRjv3dkLBtD=?i1&Iy zS(wt9zg~0ul_t5Zuxw8<JMgW1rK8lrX)ca?&YZiGId9vdB1Qe%SGteinrXE6qJ|51 z)8$OR75$5^m!7yh<4?1Qc)C~sqhN?YsQ#i3{z=WOXWMs&i#pz1lv1;4Vr4;eQccB) zA^|DGRWI%KxU%+MxqRtGPrP8t?3~5rHk~FCy`JU5A0M1ME55d<da-}Fn9t^m8~1v? zpL9~`KzHMv+Z-AvndbQ4<Z}95Qpz(!jl)MF_MmF$?~4}9YtQ~T@a~hSpre}h-;$q8 zbe2B$ZxPV_x5epE(P=?d=RQRV!K2O*9z2?7LQ~xT?~qGyH~llw_094grJN&bEkEYE zczuz|K6~xZ-#Zse6$`d@h!;(%lnl1)QA@Sh^{i3M{O7!`4zYB@hkqWk3+IV>JY?;i z*6gP&ly*?XLi+ey&w}hV#;+U-l2Z@xy>nDwcbO%p(c<x~qS*}{W)DBD5HaCfo8ojp zLT7D)V0e_#44xO4FE<?2-!;Wh!Rf;CC(<exm06bjovRij*wnjck@Gs$3tCL_H^hR^ ziCmRBsL7P+__t@}oqQuT>y+!UZoOG9s}znq-Miah>aOe<+svMI!8E_`)B_!+S;7;T zEaR_ACM{lcCWUvxD#Q5tc8$}=q~>kA6xe5M`r?UMlk%-2H!D~EUsh6hM&b2U{a3!m z%YFYWX74?DBdTG$iPEc>1+1ov1cDB=b1bc%y5g18DSHQpHO7)t*tf6Hwsrb<tf8Rr zj=t^M$!{L}&s(E6_kyo`xUHVo#2HVI+upidap$a6Z0f<=oDl~M7f=6T@+PL};O4iB z(muV3PJil|{`6Gtoq5-|KDXRGe@=C!jrs*vhTOuP2OD_#3wS3p9Wp3We=}oU@wqCU zW=44no2Vl$&(ox2TVI5p@sDr%P#5<ihgoy(F-iUgy|vZc*?%wn)qTjf_~zHuv&8Qi zdmk0^4Lw>irKRwoeb<SHg7bPdpG%ADj#6M~V?1!PN<(PnI#w}1;SZH!JN`XUs{21V zX3}2Aosazgy}mqaTkN9OtZ$aQQCi!3ZEf?*7(2O3Vf<I351Cx5dS~8sV(!{)r(T)p zm>2K2?RDC>C~eZEYobr@t@~Jd(D)(8o4GpTK2H{DofSD}%3<H4_T&SD+=uVaqdeZ( zE}8Z1`!$9i_4|!3KVUR%5H<~9etoPWdfu+I$Nk<cFC?BeJ4sCNaLExqu!!Tv>+TsJ zefeXv7v)(j?wNPa-kAOR^C@bIM?+NZmlp0X)wwrM^Zlny>sVtiuqs?&P0)C~DDS-M z`+QybhaQO!D^9n^1l$$u+tb^d!6_?lAOGd!OJi62zuIvJ7X9y)d2_PcZR@!%QM<b) z5;DeTw;Ssx|Nr)><e<Fm?LBj!?2dYqvhdOQy$yEGGb{N^6*)M#xI&s+xip)Vn!3AN zdOF&BCQj6xFtKGu$c)x$T>M;e3+1>ZdKPsr?v|L(KY!`c1&ilzT+6R1ykp0FsrYT0 zYni4BySW`cdVJ@OBgc-PJ$&lqg&mq93{ecTZidK&nB4B0)O7RVlSxUBZbn7jn$^|! zUg>@JgpMyyo1b&Vy$X3f>ovpApWG|_=E~}_uRQXieL|wWJ`Xon%Z>iIM|}#|0vnrO zax3?9ed?Xe;wNY2{KTX%SfQy|!L>_Dv}=2(*B&<+7ls=<H{D$}g(2z40X4qZRc<%$ zWIDMomD}O{Imj#Z$%;u=SBL%Qzv_HsUB<$kFRx^|o_dBxhHZ^noAp)sZF5k*=g!*O zTCRqPhwB)t6`Y!N(@#&(H2$P~v|s*6mu>Pko#~I*rPgVlJm$;Ioug&mw)soRr0~L| zI;GMZKj*3BE%L0Ym6BS*WbvG%P-OB%6?b2e%c;B1ek?P~pS9<sTzK`w<Co&P7qi4( zesq25C!@{<mBG%wuRcbF-QFi$?9I0#IY{)%X4%V2r4Gklaq-n&=GFAz_;suMU($a` zt?gR*Bs=WSn#Tv+d8<zcCWUIOov_FuI!EwWLR9wEN1fVPd!I52WyxHdW^z(Q*)6)M zr|E`qlk4UgNg9(PZgiY4*gDVkUq<i(m2VyYQ}2h*ep<1(Dx}3sPWfj?$^8irHPnL} zWp*x`qpTo#(!<S9?5jwLVlVq#vv(>&{An|8J_#<nS*dwQ!>rLWHt2DJQLLZyzm|K} zGp8&G2o8~385$O(WX{2UqvJrl>PAL`^Sa@@T~~`fb+#^Vm@4t`T36}D(9_KV%dUzw z|G61-gJrG4WuF9LiE9d-GH#E1jHb`xN-Ddtg-b3~D)-7_iRVv(`+C`&mfljHyJLpj zM7vv=ep5HPUiF+a>xQ79S<I0i(xPz;2b>(MG8kDnqCx@~xlb`Yk1l*M_3%X{$wZ@d z3J2!0B)iVyl+K>DCh6xTGln}N>ny(cxpOewxnpv5z4G1v$N5y|YG(28^^I+kvFNOO z#K92mJNZHAK^ZTO#jQ!H$;<d1UQJt39D2jBd3u@7t3=_32rvC@E4C&iow*UZC`rw$ zIVt&~iO{n{C$H^Hww(LYQ*_Rzy2rV`=TnRQxPCeaJyAY<D&)&fo}Yme#bQ0KuyW|I z1UPQKdW-RZV^v1B`^~5qjC0JM^IeKo%$<F^S1opy_PHHr|8`4eIi62HzbEdUhI*fe z{nMnm;`vMuRG9okFNb}4*siZ?;^gb6t`R9zxHwYv#HMJj3l5EJiz_x<Qxa<0bWBQi zLx7WD%z8#Sp$Co2*K%q72u)1xy!b|9<+5p7e>Ungem8#hm2vOf+9TrsKW(}FWR}RR zwJt%TmJ{BE<=vXP@8z*~_Tih7d7bZt7?|_QFg$0?s`%g0@AlUFWXPpgJL@}?e@O{F zzhG_kRnJVX@Z#5dM>$X2J(-|*lj}%cVvCERpTLbDtWS7mOg-j#&e*8)P8i?CP1_<= zLxgG=*tHUxxC#z1ANav2T6BQj?1Lh+<OxQOq6bXkPZ-$M=Cro_`NYk`!C)wx>~pp) z!g$V4KB*c-7r!RvC4UY4GQK+;xwMEwYDvrC&h8bW-vX3YYu!DpGUM{)&mqaH<x15e znj{wQYH``CQ}xlb#o@8^-Io3<d!E%^F@Ee>V8U<p?@X7aQpEJUL!xha{gNlIIJJ=P zf5eJkDLw&Q+H&)Aik5rj8R$s!TxSauKNR($oz0?vkt5+alURrYt44}|XheXs_!I_q z1%`ucE}Tq4D;_e&JNPj7E@0rzIMA*w)Ns;ki-c0yiw+l+8Qwji@(VKslIs?`UlwUS zX!I^HE0@Q!|DO9XY1_47Cw41&x=iwY#i<$gyl3jqT|Z?0D(cym#Q3kdwoG#Joz=d5 zJzZHsZL1r;PIM6eEPcgbnc*56hZ!<kT9ws1)cr!7qb(Y4TzbRk*=SS}@PA={&8tP? ztR)OA1}%x&JKdVNu5dG`JyA4eQaF`;bW*n30|(uj?bGEY9xs@!^vtk3Qz?M6Ev@5& ztFvXZ<Nw2feVM;3L!9qdX#c7)?)CXSwN@n4uPETWoA2f2VuvGb^NS|04E?Jt{`RMu z@x8S0;7fvR`q$6cu4M`5zM7%ff6AlRw7|5-nT27>1l8S569U8!3s<cRzqaT@`Xtt` zQyHsIs_V{BVAz<ml-JS0J9yRv*D}tjsmoHC#2zeYQU7z0-@in2=G&k&8`EWm?>~hv z)e^P8D!~76!gj+nzrY1kofQtUY>{7A*Oqu&Bu1+J^~^PXhr;%$=2=W!=D*U?ygMML zW$m)=u-h8F-QPCfVczO(aGuA&?!93^lIe^<pMTGV>o2c(^6sa@#v@??S1Jw(M<_I( z3^^L`qqpC^Y9q&o1^-1hnVn&LQ*eN3#;+g-lgFuk0k>`n{Zf@M@b*cpINoz*)ipyS z<&dLB*WCY|^pHM%r%iz+V48hm->k%q@vO#S8oG7MdaGWwbl-k_>{e9C?j5b!a+`nb z*$_2#hhE#d!ks}nixf|v2w{$x*L3=7obBYbdv+~|S@=_aL&m!mGUqhbbFjHJ2|2Oc zG`g?Q(Inrr>Uuoak3&%|rz7|x*fwoQX=L)7!o>32spZcvK6aA@4IJO~^y}r?e1&;3 zuGJM3FU-oF#yrbmWs~`at{tc9gj5=MXYZ6d;d?S~@r<cH|0`BS^Qb)CR(<=a*Y|FR z$;p3xgqLo+rD>v;xk!Rt(Cw`1J8i{fZe6CP&u@JUDwufka8YIOnX3)Ixcp=uoOpcA z>-I@qRRIRYpDZjoj0_Aq3=9kmUl@HE9oYXjc<X7jXh^nqbV}ybbl2qcP3W1_JE6C` zYv!zuwz-n?S{Jr9FVR@iv_fyCca!v*bsM}lY~Hj<di#zYg3`P9?h!n2@X#Us14oYw z>K{LK=IlB3vlsL)T)C{Td;O;F?K^kx-GA`#(Ids%Pj#QZeDV6_+ZS&YKYsfB<?FZa zKfW0%{{H*t|39X0(kJp0dYU<ewPH?eSa`TyK-p`KN8!UI?voE~NL*}qX0d^+bJ3f_ z6P4%psY_-a+3|6rx91GK#9K>FUQi5}&-GMB<<u1a;ME~J1D>98)rnc3b8}Xy_93Bo z|G9k3Vx~8*tUR&FZ9>}AnI@^1R;5aJ`$})yoUt{w*=U{ac6HtV502ga=CUrf_}P<b z&8y$V-q~Ay^JsNY|AvPGEuS^x_T=BQQ~j^-n|oo)f~U=_+)h_wHg0}?o?~T;oraa- ziOVa3SI3>TT9VzT;5+SzNA)E)Z{y6gO+QzDKYP!%Qb@?pCS!HTmOi7{d)b+v6ZSXs z?(CWxaXmG5VJ>TSZ}pArtLIkTEz{Ml%*)xnH2i<=->RJ@&ks%aw=b~TQS)3W?f7(q z-TObQl-)@9;;?N-<0p@2Gi-W)E>>`02o+OIV+uSWna&aVY(m?D(h30vo~>$+I#i~; zxR|-2G$lG$-?E7_Z`aFX(dsQvOiuY9S*XwvaGX=LJ8=7zMR$Vs2xx{*bms~d{a<=i z;&DoNz`TN3qw^K%swOw)2+T8jKJzPY#qBu_^DI8E{XWh7$HnQ-X1%!5dcU?|>rJ)B zPgh*klS=qJ{F6Q^+)%goH<{MIfd804MoQba#R>L}UMm#sg^n#qTreppV?x@Ds8tzD zxeIp)WN9wjF>8g|v@ETa8&{qP%AL65#0f>ClRKmfOwt}4@>}?%;#7d$uMRJ57fwx; zAjemaPU)SqU7DkRB{Y3%sjr!4s^KkP?J(0DQO>^8BGZ(YMLuv;e6~ZkLsG5!c~^8^ z%(Ge6*LUX}`+a@Z@2jElbsdsy4-)@8%AC<q!RB*wJ|lCF#6ljnRUhoQzt7A#+!^%j zL2?(<tc?Fh7%gXIESch!Ga*}Hw$`T;N{6Q<c_~$HnRrTk>y;w5=?6rTd$!*C#p!Rs z|NQd0J)g4X1Rl^+{Zh2^$)}Ku9{&z`m-z5qezN&;)Kb~4CqtsQZo8SaQn%vPy4Acp zA5U8S?nc7;)v4UC4t;N#QLypsx7}ImI`7{p{F$D=@AJ9W>*xO8^>X{{pTD9D=CXgb zy|IwXS*>|tt=^gfjwl(PnT`DKH~&~T)$&}$Gv4+Kvrev@r1R^A%Hgt0netPYeDd19 z_sb_`Ju{)#XZByr+N`+!+m_9J&Wu+-2UzDFP!4opK6zz>hx-048+ZM<v}Uuv{ogfP z4tUJG8+IeV_wBcc;?=1)?zjKn`~RkT2lu~Q+4C=KoAz?^`MldNE<fM4_v7XG@AvEO z%Uk^W^LuXo|I$VuhX2R6Gd(*UQ0kcQUu1=Wx$T?6dCGHH)IA(8c5<bzOpZMr^-So7 zBU75fl31m*5^Mh{P9m1xiCR@+CX2s#iRr0GO`Nj5d(qVmn%<vX`Q~5OdChsaJ!q5M z)eY^ot9_HLuiUuzec42pkCq=hA8AkjaqIX#tti3T&?8D>SC1dvwc>nt-D{;^cfPnX z%=*}q;j?)5ln2|nb_JTQs9G!&$-L|4igTs1Th6M8U1W1V!6#U|M6w_&-T0x%B{!?v zci(w@v=07}qj5+$?t>DiN`hv8+w_=upNoEUD;aeEZx7~l*c_*D>Xql&DJ~+Z0;{L> zFw8kHHL6?HBw?j$#HFAb=Y~hxrIknZeg$>!|MN)yvbmd~m~hXDKeK<O1h`2qxj55* z#$uD@n(h~RU!<&53iZ5U(B8XcVX6LYWo50v&N~-WCTuz-ySA-(vy)y?`ktaEO66OW z#cy4ncc@!&LXyNupGS*0&M<3y&XQpCFA|cl6j@=PdxBel;qbx(0;!taE4;ec3a4-7 zS)^@V6&RFMGF|4VhP$&>(1cazr)HmiD(tl@X!1H;hKQDzoHI_InYwQ6GGp79hN-Vy z)Afv(U-=VrDrCwmi%W*H3uI(hIkhgD(8*EO8FBGc$QP|>%S-c=|35jacq~(>_s%o3 znllVmnMuNH7b$RTw^n&~&T3Bd&aW+dyI;S5#&vSnGvoQ+pNOjd-s$fpmCtPXB3<vt z%y17bGx7O6ZkpoKjGePCP3;xcbjz>09P4&%i7Ib{u3`60hKes!XFkozaE}T~%e%5{ z-4sS2%T>3+*O_cpFxAb9&%CuDOE|<`HLG*m$*YT$N@uTY7F5q!#$k8jo$B43Ri`Gs zp7{7)iiYD0me|jcLUA`&X__C&K3`xsWy_~DE+rYosPk1FFVYxzwiP)hw3dgKMO|MT zY;aV!N}R>*)aLYr1+PONYK1#KSh03`4}**1t%%Spu`M%gb$wn7F{H1%c5v0y#{b6Z zIuF%7A`V4u*uZ17hL!Vp!r^mo4B8$4wD5)hIAnQug^TI!8)EAtj<Tk0>`7m9vv=0D zEv9xG`m%cxME7r7YQ?7OQMo2EYt_3GA-<nZHS9jPzRq-q{?EtksgH!hPd;hha%<hk zhLD#1eACt?TzekxxPj4V`p$(+c{&_%F$t#ko6hWR_}p;cYKn<<*yilKjWe&uJeGL= z<Gk&^&wZ?a9$hz!*t{xsW!7(>XM65lZA~%zTyy`9Nc*gttOa@n3yRk~H(6YHU{A!G z`N|8fdmaBNE+AUcr~2ms$NV3M#N)oU`trPvIy~#zs-s)imY;nc{axxBZ(qTNdfi0c zw#_Hk2&r4f|9`Sd;NQfu2fjx(mp6yGK6sb*f#-7oQ@6k2e9KEy{+015&rK_s9ev=w zTlt*RbMuO~OW&Qi?TfR#6hr&9=mV8;#`8nZzOQ>c^TI#AAB*_+W`wPex>~oa@PO#M z_l=*UZ*=tiIH<nwLzn%Z3pxU3+)Z;oI%hLJK6GuzYR-LyVXMs^EA|&0_htChkw52w zME{SIiF(a_={75t?@D`7pe-%7^GxdHzHf>Lx|@D{JGS=SlH$7h>C9i9Hoa_oYQ|yE zoB7ap?wQ8DyLLSOo9kUH%aXufz31cGuN$UIzj<o6`{vQO_gfdweVed;`<=sf-*>(K zeJ^i$^_}<o%J&|ReODG<eRKc4um3kpmweOizh^gR{*Pn3W$*u(SN-HW-;dhcd*3qN z*zq)S!?Wr8_dJ_*cgG83|6dpT_kCIDZu=^J->+-)?|oUszW0T%f7P7HCswSP$$TQg zStwg+=Bm|`vgD;Nw%Ij(|FPke!`7+u85cE+uYKIQ@9eASdoQB)zxaA~ANLmf*0=mi zf8T1?TmR~G$#V1B+b_y@{k+Iu`jzS0pZC|RE=$*bU1cnH@1xl7zxVqp|GwV;_7@wI zg+K#yN2RJkIjcp3g#ZKRiH5J+8Wvrz<l|@*uxRAlktU$gz{kPDSkO?uy`gA(15*bx z_lgE#4kl^#CY=LJQ3n|17BCpBVBj}sHlD$x`G8TU;Xm`D>kX0~RT48QH8@%pPj6J3 z(PX`&X{LLV%8X|B6AjKMT6|VC&lGQ6bi7e}MYGq5O4R@+g$c|F$6I4Km{cb)r+BnQ z?r6$b(X4%gG2=#C_6eq(8*M5N+SCrTm2tF}a<pe#wCfnOC!b(&JiyRo(a|i?(KLg( zWkyGeMTcbolMVw5lSF&JM_Z&r=d_H@$O8;BBRZ$fU}oOXs>;Bk6Tmd*Md!R3tO^ZX zK@3dH3}q{Bbgli-x*~#U?TOY68f|Mjx)+@2+Q!k9pwSl1(R1)e_r8dpeI3lI4Lu8I z^qk~iS=iBI@t`M~gXP4Jj`JS9=PbJVC3^47=<WN_+rOgs;fwzr=QvoN{pfg>(Rb0K z_r;99hZ<c^X7qis=zq@9|9(f`)r#J;7QGjD^q;oqJ#(UU(G5n?18r6w6GS$!i8wHd zZkWKglC8{PLbkxf><w%=D<<&0oRDqM#jvvH?~eY95sab<?2?|0DxS<D7Z@K@^nJY1 zr>EIv@Uzb_vj2s~<WDQwvpQI{PqfPxv=>&it6Z2|kkRgPvd!`3<XVn)tCQ{SHyM33 zr&x8ixpB5TTDJTDoZ>fgs_o6mzBk)rUQTh&oZ@cTo^X?~bjQ@}3sbUoPPL7kAe%5z zG+<)>&uOBW6LWq}&DqH&`k}4TlS%C5^wOErA~Pp8?VPIeV7jB^bkPYt7dZa+p5f>% zh?r3Ha{8psX_=Zc#ZF4)Ds&}lP81bjSra%h)N?{D2aED0c9kHe{Fl>hBbn9;vP8d} zR(6xEgoTCW<+QvICeED`vK$ywCQMAZz!<ckTKN(i&j&WgoouNaCY)Y5(bm#2KVf=~ zCzIudVmZdywwcq*GG{3mvagV2tDV4H=s77*a$5At?j0}c6%^caH#FrRU{X?Q*J)ra z?qFSTQtG6|d@l_puN(8Pu9P|wsbsZca-ik>3=fudC#57W%(rl0(fKf6<+5+QCsV`) zM$uVQ7h6taE~sX1V77X>kZsj`g;xtL9GD6tr*l@a@18krX%LfR=KM7u7qQ)%95G?R z>W%+rEs~tUxpG43%PEbP6Z13KuSzahxw9#-a>=KcZEGKPM4V`GX=vs1V&Rz(k`utB z(K#W^vP(l^(Pz!J42$*?JLdg3$)vWSNiAV&Y8F$fReRQ~DJlia1ZIUS7i7uLVlta0 z6?tKTXu_iGsAaV)mc>M{{0e7@S<&FSpuwVGMS}S9l^5AMRy8O~tW?_6+N;@+<S~1- zA-g5ROqCP!<z6jckQpL5fmPINTGfjw;;*KDc{w%ZCZoj#DanKx1r=7aBAHHP&WNd; zA@OPotL3bnQB!BklB)f%YPI9?>{IP*uNGKYwDY}M#k;CG@D!8F0VziZ7XMj{ONEx6 z$zqCdU`g5~mA>l#>h{b<5eZB#4oofr>mKh~{y1uRw1Sakz`E3`b?H%zFT2)xb~0zr zs#Yyncd2T|7cZu;fc7h%Yrj~oV}8-f)g7Jauw2cH@#(B)wF^@D3z$S_POMrv-R{)7 z+8xtHeyv@3ae+<%i|($)QrYahGdEUyHFf=3VNt-E@O{%nuO<bDO=~u?n$BL~x?wYO z#fm1cHF+lN?WY#}$y}@QVy*wI6>dibUAVL?6SjE%UUQ9W(+Wd&Nrkm;(i_`3H|^M7 zTpX~dv~yi(<%~>ErnQbt76FVA4qG*fHe?sDXE!i>t(;N#bD3Y}#%H$}uSre0@@h)u z=`}75Yu7Zga;;=ic`%`PN3?JEe<@3cZCVbDo(1!rzi!FTntJ}%T!ttXmjqUQFD9)E zjBTfxL?-O$mS)R0*!6bS)aq9YYFBI&J+(sR5*u^EB&`K(o(+>!JsE|!uzo(d=JBqD zs~hKp9bhWlIYH$E+gd{gtz8pL8YXgPF3NIX*7s%!f6#DgSK2i%79NeQE*I81td>f+ z(EiwKev9;!lv|8Sho)YeHSLl1&Xpgx=C9iJ{FYR4!dh$3)vm4U{JmKGPHw+)Yj2=8 zOMb$_9P8!0tF}j6kcu|g_3hSv|65WCA9l>!J%OupTi^q?<+C^L**QV%^`6X1_Kua? zx@L4VX|T?Ez1}5YLWf01&;f>8kNF}OW{VgwsQUarq{_3s%Clo$$F_nF=9xDRnZ4<} zTea+fwo<(V<LQ_C90LxXdp*IGM@aO->=(0Vi9{_-2-tchYTLnCD{~9jPtTUp)7ntT zd2G8kbIJrZ6{gvBJC6nhFs3x@SvhfnsKL^W2N~2)O{mg5F20*Bf?@lMRg=Rm?6ve@ z@?5}{e_%nxgh^{3t_WP+qH<w2bH=u{j%<597iv9NcvpMJ>O!^@2R4%n`;|6LC||&& zd7E*|t*uA9w((W%$ZnWqp)l+IY$@+IQ}$+V+^A!eyJ3R9&c1eU#&_JuL@q3_*4pM+ zd3258?nRX|A{_RqB(T4@wcuJ8t4RZEmj#3Nn!_g~r&#qIo@vpsJp2Di(L0QR4u{QR zPIv|!o~JRrbHxOc2`rp9Cm&vO=1DY*qk#J^Pp0=)%bV`3ZJ*i9F-uC8VPkpLF0t-) zn_?!+S|hl{f?@s*)-4{4r(aKyoxr@mMoPj`>qq3o?<WOw116TPo)qf6XdkPP>8hEh zeHOm8T9?Ur@vry3FFy}1s+pm{bExj+(Uu;TxIf!CXR_?)+`jnD(Q=3RSq^NT0y9)5 zTy}rEbFL3t!E6@0w>vHFtW(&-HuuhKv$>ay-d+icy`p7xip%m!%7n#9a~CztywXv* zAz}6<mkn$Qz9(yXu8Q1RP`Gyf=gfs~t1dD7T>f%%PYU<W@&*>q2j||sxxC2d;QKR| z=jQxpbAEen?wm#2cF*#=d8N(!s=^vJtyL4=+3eb%Inl`HitX9O1(ob8s%B&zIR5+f zLiTRf`UUev8dyHRT=3`4TK3n|-}dZUGjp!r+?#KBuB9EglAdtg^TG59yC>MJz2RJY zXWz;jr%x|t%4X&DJef9O(!S0khu@w{^EsI{;qLy--66JjcUSJ#_L?eYdBEn?@k6$E zp7ma0nYH!q>xHL!Znbu8tLwd#GW)X5g>%Na6X(y~*8KKpQ|^t$+N+nn-Mwk<-nYH1 zDiN!`*sd#oaIT^E=1<#oQIXreNZv4s-DV?uL*VZHZNBqOd>3}u?h=(cA#!Tx>6%OB zwKMVyHh4C$-&%VrL;Lol>i_K3RU0(9F0QR*-?n?gY+t672KK$VHx1V=+Fs3mnsfV+ zwU@P`*iyXL-TZr1%Zr(p?_%8AMYsOmkF~v#>A7QHCwuSOGuN#4G``vE|LSo{z+=s` zXYP74rpn#<61y!-^G^HA2_6@29jSf3|K)_nw>OvGy}FNcBG=Blx8KgTI(NC<`{abz zXJi@JOBt@k-J3nr_sWXZOwabR^><GclfF1TcjCM`8yn9(_BeBS!tdFO_OV6Hoz~>J z@b2n+Yu;^J={vtZ;3&7<ZB5&&mb_Qe=Du?AebN-mHj(e5Fy}2{&x2Amiw^s}k<4Zd zYhd6=U=1i>buM5HFktaBU~v{W;rHQ<UjxGx>;G@V1m1Fdc*FOA!NuU+rG0N6pL@f% zfXTFhMeYNm`~yab21fo5%wPU7f6IF>(eU10fq`G){TI9UQVW>m5_YIGuzZwze|8<y zXS??@4;VZgm`pdkxo!8(^un9RdFxdS-tqJ^evJFz@qppWJ4UGsw>%aw3H*P@^8TI2 zgLfM58RQ#SWEvRc3>fVV7~K{yswJ?#e#ao5&-(V=XFdj2zXvS(1+4lGZ(aPqI5V)G zmOH`mfzf^e(^I|ePWm5T=B<6H_r)}TSw4W7kAXohfyM0ubLxMF_y>%i-ZAR*Gs+!c ze7BB`tAR2818arDcM}Z;rVq?t-!aB7VEX!x)osIfd4?Z#>;E(6$$#d$@cxG$Lu&oE z-+By54euxZf6uSLkoBLH-{HNb{)Za<=G6ReKmM^wePEDk`0=Ul8~=x$Sq0xy{J$;h zXXIMI<gtM9T^zHLz(<t^2B-5Mqy#?Oo&Usl;H~s~mX~>~;SQfA4Bnlwe`j<5k1qeW zIo9tK-~Tzo|Lv^*U-<{00~WBnmisJcz#^i+&>H`5<^T8b4UB0M{z){j$en+q6u_)^ z;+;&vPuBHJG7olY34H#@$Dt)JBd;YYD#I@&$KS;zAtk}@X5TI6(QD5iuOA)|?yNs| zk$&=`@Fn`re$D}YVPSq8&fy$>eA~kKHaTx|+0Ef{h+{$67Qaoq_)L%a{Wmo|Ey|&? zSH(riMSm0D9S%N^gZJ+6$xFyzXsUR|aq5D^GYPr(@*eNsdptLlzjN%~Z;pFw92j?; zoo2x=tR`XjNOAtYqEC-%e<-ZKvzvXAo}EL`<3_a}t*nXw;m#(m$ucr44kWno3W;W$ z)ExZq)bTKvoQCe7kBgu2Gul^vJEGzFLfnmOUt++6#tS|R;!QFF79V2tW$fL@G2z!? z4`q*!1_^&P7OZifsi`%Q;Q(VNlZvTg;+#xAPp{Sbh9Ry2R~xsaas>qh?GQLA5T(zw zhRNdy=aj<?xuu6)7qJP|ond;ndV!KU8~cW=FL$?|`E-O|?rmy_$oe);F%AZWM+=-< z{wwmUSXn<%*mO~$wrru}=A@g=?8~Hf6!NTW+SWBeu1kN@?GP>Hes_J-Q>QqXg|rm~ z9io>xvas_l7MNc2b>&svvMn~HQD09^7WUs#V0lsO!c^T{hPp+*+VUR9_^e&F7;)=w zouhoth);l#wQxG?=hMv_JDLyjOLH9+4v?+Vc+??x>+r)iiOf%m{=B9vye{uu+yyzc zY#BtlwLHEaV7FgU?3XTB`Q?DuvAv5Ab;|j)PGoyEXKP4$rtgKRf>~D%II3KaU34h= z&{cs>CdI1^uH~_wJMXGZ@VP#dNh;w;tcOXLyPxglQsdM5raBxKS^^l7SsfO1ntRWA z6!KL)zESf3#0&i0M$D%ZFKlSKxp2XTrXKV2J<JP>)Kr>6Rc8M&xMW*V(a;`Z;;PD@ zdpY9fovHi{m2*OT=8DhFn0xV9Bh&1h?-PCYXl*)K=y^^=JiGryGrv$luEk|#50kI0 zOd@mBSNG<nU5}hC_mJsS;@TU>`|29reVU=u=h((0GS{T+#x6gP4lj*05rqp|wig)B z^H}B^!fZ3?LNfp6KNo)Rn%B-{K4bBCYOn_{L&tF$6QT0U-4&Hq4bpM?onpG1<z8e< z*?l(XKA*Y#YQl!p&lZ3B7!p@DOtjJZ@U>8puj9idrIsEw|H(gW%uh~{ITm%<Cw=9_ zB@uE{S*Hl5hCXUkyO;a_*O`;kU8Pp+<5?YWLHB&kh8Z4T&lnw<&v&7tG2={*?ZUeL z+G0K(C7JCP5~lnqSm2cs95TiC*j7nV+tYPBIU;i2-3l(<B~`9Ed-J6wjJXn9N@Hv; zX9hIpY`rPE*0#Mpbh1*e-0{Z3qh_kNl(<~JUMdbUj9yhfr_<rkR5>5*ul~IWtRiPt zyzdHGtFNiRV9&nD_U3+;ZZ$r45p8F`%vnW$&s3al35l9MtE!nn<c;M8b-gzN>{8~p z=k#kH{&(p_x{h-}@vN`EUl_$1EZBL8TYJ@>3(t3ObU6H3!QRk5#aTo4RsfT;%OZi; z7PWhUy;&bN^jCRYuvRf<XO(s1uaEuTmhjl(xQpImgEu$*<*!Vh&!Hc<q;thFr4^0s zHZ4~=(k0TXl(szJFjaHrk82XRxQoSAPrd)KPf{S~Oow-AX>*)njthMaIPfxSfeEX^ za|_2gqN{e4s(Hj5(v|8E3se&9oN3_1Y<a8Cr)8@3&J`=PGe4dRms8xLV%n+_e(8X6 z&2^5vt4F+pt|SM~nlv$^Fio&`0oV3hU#6X7`Iy+7aOCR_H@=Hgj#X!P%c+(+GQCvn zm!EP`gll!UXN<|3s(Z5q78pF`dR^))zCOXnAmd|alZ{7f-RE<euQr~(eB*HI{wdN1 znnkm&D12yo|3JY1)g`0GxjZu@4mh(-TzMdC)?uapUjvqPR((3n>=iI`^W<n%|FW|` z-zLkmzgFdW7|74Kq&4f3%T12+f-Zaym2;NQOe}e|abi`BlAPzPmPH~<1zc5DTFO<N zQ<&Sl`*L8bN{@lxO0mFI?mPO-j2%O_IDDOY@!**mB_BJib}&sTe|FYwRzjj%cGEEq zMumk7oK)DdKdpSF(J=cKm(r7nt`nIXCrk|b*%Yw<%JHQ-PRyUagtJ;s+FCuyd8N$D z1*!91IkoG)UU~k_gG`phO|fZLm99To%IaI<xFPO?%M}ytDBqIBdulbB1X;9sbT|3P zPi>yAp}jn7%T479o#OTTx1=R-w)<E7xHLUbHBB+b<LddE1x8^O|J7~3Oq5EgnlSH) z3Ret&$3*GB2WBU}U0@mEX5(6sC#VuQi))1w^M)f?ZBt%c_21xhcG*oc4L6U|5h9B? zSCq24_zE*z+NU70{hz4zkx;?hToukomr`cN|7dW%En#tBWrF2oYuP8aCb`e{SnB(3 z%elfJhABJWn1ofO2yfeFtb2{;QpHZ~?v*`@`&%O2Of-HkKky(*eCNkab55^X73Ru) zD`j7^-rf{3leH^-_MJN{XY=D36R%HV^{lD0gpM4JdM)^n&Hl!w0^5tMA%~lVXI5<f z-EktlF7Twd?brDIGTN=NKSHZ?4$pb&kfpaVOt4mEi=xbtUQxM)5zAP^4spe-Zu~#h zbGmSEo~gK`_Tp1t7H+O!(At)|-o2%1s#^e)w)M?Tz6OihOwOh{n`cQ~J#}cy`Bf6$ zJql4dk3Y6@#2;V$%v4!O?4pdB=SQEXo%#<ZUD>tNL^Xn`!ezai_|&&ON8Okr9#usz zKfdBcpq{H&#ul+`sRsf5GiKjQHSgDP>|PPEAxZb9OHGK;-dzRFq7Nq=PPk)K6f=3h z?&XI~XJ4HzzfpBe|H%S9Mz=TOY}PA3UCFl0zjL*y<BgI3-3MQ4bSD1Qd)%Ge>Smi) zbG9u*Sl%dTno5&N|AfZ&L*E}<YzcQ+#MYJJZ1u2n%91Oh{HceWTULIbUMVC#v#0vJ z7Bd5<z{LM50e{VQ*dJ)$FYDg?Izc;P){4%AO=~zm?D|}OXP3+LekRUa&x(W>EXrJ^ z!n>I(!;fXskGZpIn}RD2yiwXyTr#b?)w}Qek9egsBDY@sUQqk+gQBk4f<u#R4`pA9 zTB9MXX0_hSfGIkqd6&rp<J?}Oh5MVY3Nsd6RdjlLQK&fg@@zRa4~I?r1RNz7XWlqz z)O`A{+Y@$+Gpji+MqZ5<{=IqEz4bwit8S)rF);G(+!(~zes1r+XpbCO!80HJx>fSG z1@7@Z;jmOB|M>m2>NbViA!)ZS>SaIK>Hm0bxKVt*=HGX+xlw7;GA?l({G-q}Q(wQb z`RM8mTR59}1&{O>ne3GOKP^zJ;=wwfHIKJz99nwXM#B5Z#?)!9$>}8%13rjH+FLe# zUFv;Aq|<qWyH{brnko&MUx|rxzJ%|8F_Yn|)#j<Qj8?yWthjyN!=|@}lPkBat?J5^ z%g9jKyJn?8HnW@G^%T+5$8@rbZT~k3I;D$#R<7XHu;=SAnt#;bc$@FSP`;)B-!)-5 zcSOY8%Z!c`@+BPhK58iF*yx~o$l9ur<&{I#vgctH0qhk9V*Z=+nHC6}|4{UIHqrPI z-KCUn{V>w@V$I6NMu$Vz8`V{29FR(N<Sg2#vgW#V`X`P!5&jaV^wkg5&WM^Shl)5` zM6X#M<M>e9b|K@bR`!YsES?Q*x`qEkbXr(;7RJVe=DsP9_~a7$IwfcEvQiln!H}i= zRgHf7*V>;12nuk>+}vKu_C-KuBahElCE<nKT%SV=RFfqIIn|rOTbe_rMPz-sAfRHB zuzj2FnJ4XfUm|Neava#p-apqjZ?pTKWOwJA<Ee)R{#$w0RPa4(aDHrH`1Fese`B#` zFrQ|T<3AHYE(5tw1xl;iSV|jMvMShhX0V)}!SXMK^`4oDeE_>rM_a}WpRZ=ZvkovD zXRuT(5d9<O%ihMmw<&1e(?|;qku&9LPE9RYZL*OEGbSx?mnyJcZ>l4m=q9N+!K}z6 z<5FMrw?0)dUqgxJ(uCgShbG)`vpBQJL@4n;$Lw!Dhdze1O*K6+E!3)n|LGUTR|XL_ zO<`vqC2K5BIINMNloIjdiTb0B{4N`W)QxS;IZIe4>DQgexfL!Nq?#3W!s%jTh`iaP zX-}139hlUWTDszg{`m{JXSeY0duG&jJ>mEkpHC6_swR^TuF(Iyq_nw%d+x<--oh!V zTT@<a3uAI~`p??)TUG12X+-#P?|UbFDl~jEW{BQf$R^^z$Z$bZu&gisLvKa|duwM~ zd;ot`;DnWl6EdbKcOT}^T;S#-sJ(|tO=baSMM12&^CZ!amc18LPKC!QGP_8(aMrkR zx-aC5ny6MEEXWYbulCt8ol}f!S>N`Z@e+Z2M@+@PnEa3Od6}iGS+4h3UrU)|*L9^Y zU+R`Q>fLAHV-t}TEaW`pnEhU%q*7FQ%gpv*V}6#3>>}2%*=z>ZO7mWS2^UZ6KKHZE z%dmW<N4b7d(xxz{l*yU`k9bTc=-+GR=D2L2p;A(PG2-@@NWLj49A5L^Pix{~>C4_a zRpwI>$E|Xum01}(Q#PgXt44~?w=lTWQnJm`r{_hx&WVL0KV@<Y;{`UWZsW|$xFls^ zD11qzQP^<0Ydg!-4~&-<I7D2DF)obN3DN2k);%d9RC+mHEm&|tMsifCuZW4k%WHEb zHC#kK8h$s4l%G;+_HEAmh#KL<Ua^CA=cmkOP}UL)6crC~E*Jgp%+Rd*M}^b)^Rf@y zmo1Jc7gdq^tRVABWNLW3l>Whp?H82H+jtTl^GF`_F*M?Tq@ez9g3}!Xfq$GDzjyL* zJm}h8VEX)ul+p(tr3v0sKl3mcWZgT`{PvoI@Un$`%Tgr5e0{%#vqkuZb>=NvoZ}k4 z`qoM*!A7GiOq@SmCLP@wfA))zPDD!ROWEsNy``Kjc6)~Y3t7%2!7uZH_16OBBchy} zB?Y<Ioa(jKD3_Sd;#eb8xMIb$^1GFSpUr(eerC6d&u5yJeS9asibL6K#tt?!7m1YQ zut3qpUosa|%s#*|rFFa6E{=J{T=PSZH~idCw!_2ryh3OAV*ba4f>)e$Z<zm=V>RL1 z#;|ewBB#kmawFLd9Mm}HPxdhjRG7k*?DKHGcA)QZmWXWQFo}z6E~WTCJgHo!9v=EK zhhy{73kJrm4dJ)U1izZQoRBn2f2rhP&KJLQ?unJ5ik!aog8X@(gdNJ(gzsA7U}l=1 zsv;V=`g-M@I{_+T5@Jt31m;UA8;FEn5Z?03H9~P?i9_Z3oh6)M4o2DP4Q7GMmzh~h zUX(P<=F>`ZR4GnkFHvgRkjj6>H}P?V3`bw<SB9&X#b4a=*{>C;7c%!GhlX#r)s9=) z;vp_8n8VKOEOTA5RG^yAmnGo(WdEx-r%d<W=BdiR`gD8etJYN$m256{2G8Wz*`oQQ z{lB*bd&j*ivjwWHT&K*Pe$nN}%8jN5EVsUGYT)jXaNZce+SnjovH4k7rgazd<khb- zBE;Fm5|=v1UN@?m9U?BZ=}0%HzqrcYNWmtDl;;;#<^(gl2*gTG*#Gl1+t1VNe@?Ug zd%d6G3>&k~0cM{A95Dx&=P<IIIl%blz^~H>1Z56tI2`=h%_KVKpyYys5_b;D^&He= zIHVzPNO2E~Ucw>ihC|*94r%UT(cQzS$#Ynb=dh*>qwyX_GZ{w9JuH@M4qM1DCNDVb zwC1qB!4Vf3M%S1l9z91q&m37<z_f_r=*kOBL3fz+6OM+}9F4le6wz}u{LIl<o?}Ti z#{vwFrJXtI&+z|P=A2`?8;)h1IjZ>KSl*pux&p@w?;KMUIG&kvyzCE4<)7nqGA9%t z9IuZ#(N=S!bq!0U40HXN6N(Q`^zS(_@yv-SHYcaWoHT4W+3$05=AM%?@0^@3b83;z zsU<O|merhEG3V4WAJ$bqr*Z_?{z<cKkYQWzb9$T3=^Z_%x9XhUz2@|uoYO2mr<r69 z{I@<MbY{QMp8Yij2hXh8FS_U8g+B)`$sCgNIeW$CkXp^5TW=1jojGKvbNGSGIXxLh z!#juV&m4AJbJ%gtIj=QG+~*we(mCoQ!x-el^;PER5{IMu3`gVU9R2&}XbjJVM4w}6 zF~`z#j^*t+#;JQeKj(PKn&YK0$LnJLA8)>MTrBp4zru-@o)a>6FUs<soTziMXU&OO zF_&hXIXUmo$^JDgT6a(B{k>!$dwHkLWs}&;X0?}h-Z{PX&nX+-GweQRj=$M2sc?mX z=iu3zD`ImFdi_0k-RG=Y&)HjVnAGo_4VrsMFX5`8&EY8Ba|U}3Tim&7(R1#}o5L?{ zj=bA*<o%u_zC7o>b&h`JIhwckd=$_1=$PyO{+v(Hxxi9;q2}+gk~7Cj{#?(oxxxST zShLQ>s+t?3u@^<=UKI5`A?<sj>&(T;vP@HRPfV6&u6uJr<?e}TIXCCWUeb|0sWbQF zV%uA~vA1ULxunZ`YOU<$#WA;*@i5Hqxx7E;_Kvx?cgmhV;Pd}9!<*YoZw~PK95}6W z#jW>>``Lrid#+s7Ii&pOj>?>~A-z}c{W*Kh_wWtbb2oAiC$2r5<a;eu_TJl?Be}6h z0^S_?G3Q>%-g`xFkN)Ag{#WK$d<|2A&;7KV``>tP#N=FP^u1C4_x}I67hC^cZ(n<{ zOZG&^-y4#$C;H|dXM6Xcf#+ub+~Zw)F81!Z>CbR-?%s#9?mm>1W1ji<gk;{$DK?L0 z&Uq-=cWc$!N6TzaD*SsiyXV%rw<kBrGH+jV+x+fni+zuG?7h7I	V((~flqxMB{t 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css new file mode 100644 index 000000000..c5faca507 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/static/style.css @@ -0,0 +1,103 @@ +#nextgen_pro_upgrade_page { + font-size: 16px; +} + +#nextgen_pro_upgrade_page h1 { + font-size: 2.5em; + margin-bottom: 40px; +} + +#nextgen_pro_upgrade_page ul { + margin-left: 5px; + margin-right: 5px; + padding-top: 0; + list-style-type: disc; + list-style-position: inside; +} + +#nextgen_pro_upgrade_page li { + padding: 0; + margin: 0; +} + +#nextgen_pro_upgrade_page h3 { + margin-bottom: 0; + text-transform: uppercase; +} + +#nextgen_pro_upgrade_page #first { + display: inline-block; + max-height: 335px; + width: 100%; +} + +#nextgen_pro_upgrade_page #first h2 { + color: #afafaf; + line-height: 1.2em; + margin-top: 5px; +} + +#nextgen_pro_upgrade_page #first .section { + min-width: 360px; + float: left; + margin-right: 30px; + margin-left: 15px; + font-size: 16px; +} + +#nextgen_pro_upgrade_page #first .section ul { + margin-left: 0; + padding-left: 0; + line-height: 1.5em; + list-style-type: none; +} + +#nextgen_pro_upgrade_page #first .section img { + margin-top: 25px; +} + +#nextgen_pro_upgrade_page #first #image_wrapper { + overflow: hidden; +} + +#nextgen_pro_upgrade_page #first #image_wrapper img { + width: 435px; + height: auto; + display: block; + border: 5px solid #ccc; +} + +#nextgen_pro_upgrade_page #second { + clear: both; + margin-top: 40px; + display: inline-block; + width: 100%; + max-width: 1000px; +} + +#nextgen_pro_upgrade_page #second .section { + float: left; + width: 26%; + text-align: center; + border-right: 1px solid #ccc; + min-width: 205px; + height: 210px; +} + +#nextgen_pro_upgrade_page #second .section h3 { + color: #afafaf; +} + +#nextgen_pro_upgrade_page #second ul { + list-style-type: none; + line-height: 1.2em; +} + +#nextgen_pro_upgrade_page #second .section:first-child { + width: 32%; +} + +#nextgen_pro_upgrade_page #second .section:last-child { + width: 32%; + border: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/index.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/index.php new file mode 100644 index 000000000..013154eda --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_pro_upgrade/templates/index.php @@ -0,0 +1,59 @@ +<div id='nextgen_pro_upgrade_page'> + <h1>Upgrade to NextGen Pro</h1> + + <div id='first'> + <div class='section'> + <h2>Add Beautiful, Mobile-Friendly<br/>Displays to NextGEN Gallery</h2> + <ul> + <li>Enjoy 6 gorgeous new gallery display types, our new</li> + <li>full screen and responsive Pro Lightbox, commenting,</li> + <li>social sharing, deep linking to individual images</li> + <li>within galleries, and premium one-on-one support</li> + <li>for both NextGEN Gallery and NextGEN Pro.</li> + </ul> + + <a href='http://www.nextgen-gallery.com/nextgen-pro' target='_blank'> + <img src='<?php print $btn_url; ?>' alt='Learn More' title='Learn More'/> + </a> + </div> + + <div id='image_wrapper'> + <img src='<?php print $img_url; ?>' alt='' title=''/> + </div> + </div> + + <div id='second'> + <div class='section'> + <h3>6 New Gallery Displays!</h3> + <ul> + <li>Pro Masonry Galleries</li> + <li>Pro Filmstrip Galleries</li> + <li>Pro Filmbox Galleries</li> + <li>Pro Thumbnail Galleries</li> + <li>Pro Slideshow Galleries</li> + <li>Pro Blogstyle Galleries</li> + <li>All responsive!</li> + </ul> + </div> + + <div class='section'> + <h3>Pro Lightbox</h3> + <ul> + <li>Fullscreen and Responsive</li> + <li>Social Sharing for Images</li> + <li>Commenting for Images</li> + <li>Deep Linking for Images</li> + <li>Swipe Support for Mobile</li> + </ul> + </div> + + <div class='section'> + <h3>Premium Support</h3> + <ul> + <li>One-on-One Email Support</li> + <li>From the NextGEN Team for Both</li> + <li>NextGEN Gallery and NextGEN Pro</li> + </ul> + </div> + </div> +</div> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php new file mode 100644 index 000000000..d4a055754 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/class.nextgen_settings_installer.php @@ -0,0 +1,170 @@ +<?php + +class C_NextGen_Settings_Installer +{ + private $_global_settings = array(); + private $_local_settings = array(); + + function __construct() + { + $this->blog_settings = C_NextGen_Settings::get_instance(); + $this->site_settings = C_NextGen_Global_Settings::get_instance(); + + $this->_global_settings = array( + 'gallerypath' => 'wp-content/blogs.dir/%BLOG_ID%/files/', + 'wpmuCSSfile' => 'nggallery.css', + 'wpmuStyle' => FALSE, + 'wpmuRoles' => FALSE, + 'wpmuImportFolder' => FALSE, + 'wpmuZipUpload' => FALSE, + 'datamapper_driver' => 'custom_table_datamapper', + 'gallerystorage_driver' => 'ngglegacy_gallery_storage', + 'maximum_entity_count' => 500, + 'router_param_slug' => 'nggallery' + ); + + $this->_local_settings = array( + 'gallerypath' => 'wp-content/gallery/', + 'deleteImg' => True, // delete Images + 'swfUpload' => True, // activate the batch upload + 'usePermalinks' => False, // use permalinks for parameters + 'permalinkSlug' => 'nggallery', // the default slug for permalinks + 'graphicLibrary' => 'gd', // default graphic library + 'imageMagickDir' => '/usr/local/bin/', // default path to ImageMagick + 'useMediaRSS' => False, // activate the global Media RSS file + 'usePicLens' => False, // activate the PicLens Link for galleries + + // Tags / categories + 'activateTags' => 0, // append related images + 'appendType' => 'tags', // look for category or tags + 'maxImages' => 7, // number of images toshow + 'relatedHeading' => __('<h3>Related Images:</h3>', 'nggallery'), // subheading for related images + + // Thumbnail Settings + 'thumbwidth' => 120, // Thumb Width + 'thumbheight' => 90, // Thumb height + 'thumbfix' => True, // Fix the dimension + 'thumbquality' => 100, // Thumb Quality + + // Image Settings + 'imgWidth' => 800, // Image Width + 'imgHeight' => 600, // Image height + 'imgQuality' => 100, // Image Quality + 'imgBackup' => True, // Create a backup + 'imgAutoResize' => False, // Resize after upload + + // Gallery Settings + 'galImages' => '20', // Number of images per page + 'galPagedGalleries' => 0, // Number of galleries per page (in a album) + 'galColumns' => 0, // Number of columns for the gallery + 'galShowSlide' => True, // Show slideshow + 'galTextSlide' => __('[Show slideshow]', 'nggallery'), // Text for slideshow + 'galTextGallery' => __('[Show thumbnails]', 'nggallery'), // Text for gallery + 'galShowOrder' => 'gallery', // Show order + 'galSort' => 'sortorder', // Sort order + 'galSortDir' => 'ASC', // Sort direction + 'galNoPages' => True, // use no subpages for gallery + 'galImgBrowser' => 0, // Show ImageBrowser => instead effect + 'galHiddenImg' => 0, // For paged galleries we can hide image + 'galAjaxNav' => 0, // AJAX Navigation for Shutter effect + + // Thumbnail Effect + 'thumbEffect' => 'fancybox', // select effect + 'thumbCode' => 'class="ngg-fancybox" rel="%GALLERY_NAME%"', + + // Watermark settings + 'wmPos' => 'botRight', // Postion + 'wmXpos' => 5, // X Pos + 'wmYpos' => 5, // Y Pos + 'wmType' => 0, // Type : 'image' / 'text' + 'wmPath' => '', // Path to image + 'wmFont' => 'arial.ttf', // Font type + 'wmSize' => 10, // Font Size + 'wmText' => get_option('blogname'), // Text + 'wmColor' => '000000', // Font Color + 'wmOpaque' => '100', // Font Opaque + + // Image Rotator settings + 'enableIR' => 0, + 'slideFx' => 'fade', + 'irURL' => '', + 'irXHTMLvalid' => 0, + 'irAudio' => '', + 'irWidth' => 600, + 'irHeight' => 400, + 'irShuffle' => True, + 'irLinkfromdisplay' => True, + 'irShownavigation' => 0, + 'irShowicons' => 0, + 'irWatermark' => 0, + 'irOverstretch' => 'True', + 'irRotatetime' => 10, + 'irTransition' => 'random', + 'irKenburns' => 0, + 'irBackcolor' => '000000', + 'irFrontcolor' => 'FFFFFF', + 'irLightcolor' => 'CC0000', + 'irScreencolor' => '000000', + + // CSS Style + 'activateCSS' => 1, // activate the CSS file + 'CSSfile' => 'nggallery.css', // set default css filename + ); + } + + function install_global_settings($reset=FALSE) + { + foreach ($this->_global_settings as $key => $value) { + if ($reset) $this->site_settings->set($key, NULL); + $this->site_settings->set_default_value($key, $value); + } + } + + function install_local_settings($reset=FALSE) + { + foreach ($this->_local_settings as $key => $value) { + if ($reset) $this->blog_settings->set($key, NULL); + $this->blog_settings->set_default_value($key, $value); + } + + if (is_multisite()) + { + // If this is already network activated we just need to use the existing setting + // Note: attempting to use C_NextGen_Global_Settings here may result in an infinite loop, + // so get_site_option() is used to check + if ($options = get_site_option('ngg_options')) + $gallerypath = $options['gallerypath']; + else + $gallerypath = $this->_global_settings['gallerypath']; + + $gallerypath = $this->gallerypath_replace($gallerypath); + + // a gallerypath setting has already been set, so we explicitly set a default AND set a new value + $this->blog_settings->set_default_value('gallerypath', $gallerypath); + $this->blog_settings->set('gallerypath', $gallerypath); + } + } + + function install($reset=FALSE) + { + $this->install_global_settings($reset); + $this->install_local_settings($reset); + } + + function get_global_defaults() + { + return $this->_global_settings; + } + + function get_local_defaults() + { + return $this->_local_settings; + } + + function gallerypath_replace($gallerypath) + { + $gallerypath = str_replace('%BLOG_NAME%', get_bloginfo('name'), $gallerypath); + $gallerypath = str_replace('%BLOG_ID%', get_current_blog_id(), $gallerypath); + return $gallerypath; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php new file mode 100644 index 000000000..36e54f3dc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php @@ -0,0 +1,38 @@ +<?php + +/*** +{ + Module: photocrati-nextgen_settings +} +***/ + +class M_NextGen_Settings extends C_Base_Module +{ + /** + * Defines the module + */ + function define() + { + parent::define( + 'photocrati-nextgen_settings', + 'NextGEN Gallery Settings', + 'Provides central management for NextGEN Gallery settings', + '0.2', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.nextgen_settings_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Settings_Installer'); + } + + function get_type_list() + { + return array( + 'C_NextGen_Settings_Installer' => 'class.nextgen_settings_installer.php' + ); + } +} + +new M_NextGen_Settings(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php new file mode 100644 index 000000000..ec313ad5f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php @@ -0,0 +1,602 @@ +<?php + +/*** +{ + Module: photocrati-nextgen_xmlrpc +} +***/ +class M_NextGen_XmlRpc extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen_xmlrpc', + 'NextGEN Gallery XML-RPC', + 'Provides an XML-RPC API for NextGEN Gallery', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_hooks() + { + add_filter('xmlrpc_methods', array(&$this, 'add_methods') ); + } + + function add_methods($methods) + { + $methods['ngg.installed'] = array(&$this, 'get_version'); + // Image methods + $methods['ngg.getImage'] = array(&$this, 'get_image'); + $methods['ngg.getImages'] = array(&$this, 'get_images'); + $methods['ngg.uploadImage'] = array(&$this, 'upload_image'); + $methods['ngg.editImage'] = array(&$this, 'edit_image'); + $methods['ngg.deleteImage'] = array(&$this, 'delete_image'); + // Gallery methods + $methods['ngg.getGallery'] = array(&$this, 'get_gallery'); + $methods['ngg.getGalleries'] = array(&$this, 'get_galleries'); + $methods['ngg.newGallery'] = array(&$this, 'create_gallery'); + $methods['ngg.editGallery'] = array(&$this, 'edit_gallery'); + $methods['ngg.deleteGallery'] = array(&$this, 'delete_gallery'); + + // Album methods + $methods['ngg.getAlbum'] = array(&$this, 'get_album'); + $methods['ngg.getAlbums'] = array(&$this, 'get_albums'); + $methods['ngg.newAlbum'] = array(&$this, 'create_album'); + $methods['ngg.editAlbum'] = array(&$this, 'edit_album'); + $methods['ngg.deleteAlbum'] = array(&$this, 'delete_album'); + + return $methods; + } + + /** + * Gets the version of NextGEN Gallery installed + * @return string + */ + function get_version() + { + return array('version' => NEXTGEN_GALLERY_PLUGIN_VERSION); + } + + /** + * Login a user + * @param $username + * @param $password + * @return bool|WP_Error|WP_User + */ + function login($username, $password, $blog_id=1) + { + $retval = FALSE; + + if (!is_a(($user_obj = wp_authenticate($username, $password)), 'WP_Error')) { + wp_set_current_user($user_obj->ID); + $retval = $user_obj; + + if (is_multisite()) switch_to_blog($blog_id); + } + + return $retval; + } + + function can_manage_gallery($gallery_id_or_obj, $check_upload_capability=FALSE) + { + $retval = FALSE; + + // Get the gallery object, if we don't have it already + $gallery = NULL; + if (is_int($gallery_id_or_obj)) { + $gallery_mapper = C_Gallery_Mapper::get_instance(); + $gallery = $gallery_mapper->find($gallery_id_or_obj); + } + + $security = $this->get_registry()->get_utility('I_Security_Manager'); + $actor = $security->get_current_actor(); + if ($actor->get_entity_id() == $gallery->author) $retval = TRUE; + elseif ($actor->is_allowed('nextgen_edit_gallery_unowned')) $retval = TRUE; + + // Optionally, check if the user can upload to this gallery + if ($retval && $check_upload_capability) { + $retval = $actor->is_allowed('nextgen_upload_image'); + } + + return $retval; + } + + /** + * Returns a single image object + * @param $args (blog_id, username, password, pid) + */ + function get_image($args, $return_model=FALSE) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $image_id = intval($args[3]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Try to find the image + $image_mapper = C_Image_Mapper::get_instance(); + if (($image = $image_mapper->find($image_id, TRUE))) { + + // Try to find the gallery that the image belongs to + $gallery_mapper = C_Gallery_Mapper::get_instance(); + if (($gallery = $gallery_mapper->find($image->galleryid))) { + + // Does the user have sufficient capabilities? + if ($this->can_manage_gallery($gallery)) { + $storage = C_Gallery_Storage::get_instance(); + $image->imageURL = $storage->get_image_url($image); + $image->thumbURL = $storage->get_thumb_url($image); + $image->imagePath = $storage->get_image_abspath($image); + $image->thumbPath = $storage->get_thumb_abspath($image); + $retval = $return_model ? $image : $image->get_entity(); + } + + else { + $retval = new IXR_Error(403, "You don't have permission to manage gallery #{$image->galleryid}"); + } + } + + // No gallery found + else { + $retval = new IXR_Error(404, "Gallery not found (with id #{$image->gallerid}"); + } + } + + // No image found + else $retval = FALSE; + } + + return $retval; + } + + /** + * Returns a collection of images + * @param $args (blog_id, username, password, gallery_id + */ + function get_images($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $gallery_id = intval($args[3]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Try to find the gallery + $mapper = C_Gallery_Mapper::get_instance(); + if (($gallery = $mapper->find($gallery_id, TRUE))) { + + // Does the user have sufficient capabilities? + if ($this->can_manage_gallery($gallery)) { + $retval = $gallery->get_images(); + } + else { + $retval = new IXR_Error(403, "You don't have permission to manage gallery #{$image->galleryid}"); + } + } + + // No gallery found + else { + $retval = new IXR_Error(404, "Gallery not found (with id #{$image->gallerid}"); + } + } + + return $retval; + } + + /** + * Uploads an image to a particular gallery + * @param $args (blog_id, username, password, data) + * + * Data is an assoc array: + * o string name + * o string type (optional) + * o base64 bits + * o bool overwrite (optional) + * o int gallery + * o int image_id (optional) + * @return image + */ + function upload_image($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $data = $args[3]; + $gallery_id = isset($data['gallery_id']) ? $data['gallery_id'] : $data['gallery']; + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Try to find the gallery + $mapper = C_Gallery_Mapper::get_instance(); + if (($gallery = $mapper->find($gallery_id, TRUE))) { + + // Does the user have sufficient capabilities? + if ($this->can_manage_gallery($gallery, TRUE)) { + + // Upload the image + $storage = C_Gallery_Storage::get_instance(); + $image = $storage->upload_base64_image($gallery, $data['bits'], $data['name'], $data['image_id']); + if ($image) { + $storage = C_Gallery_Storage::get_instance(); + $image->imageURL = $storage->get_image_url($image); + $image->thumbURL = $storage->get_thumb_url($image); + $image->imagePath = $storage->get_image_abspath($image); + $image->thumbPath = $storage->get_thumb_abspath($image); + $retval = $image->get_entity(); + } + else + $retval = new IXR_Error(500, "Could not upload image"); + } + else { + $retval = new IXR_Error(403, "You don't have permission to upload to gallery #{$image->galleryid}"); + } + } + + // No gallery found + else { + $retval = new IXR_Error(404, "Gallery not found (with id #{$image->gallerid}"); + } + } + + return $retval; + } + + /** + * Edits an image object + * @param $args (blog_id, username, password, image_id, alttext, description, exclude, other_properties + */ + function edit_image($args) + { + $alttext = strval($args[4]); + $description = strval($args[5]); + $exclude = intval($args[6]); + $properties = isset($args[7]) ? (array)$args[7] : array(); + + $retval = $this->get_image($args, TRUE); + if (!($retval instanceof IXR_Error)) { + $retval->alttext = $alttext; + $retval->description = $description; + $retval->exclude = $exclude; + + // Other properties can be specified using an associative array + foreach ($properties as $key => $value) { + $retval->$key = $value; + } + + $retval = $retval->save(); + } + + return $retval; + } + + /** + * Deletes an existing image from a gallery + * @param $args (blog_id, username, password, image_id) + */ + function delete_image($args) + { + $retval = $this->get_image($args, TRUE); + if (!($retval instanceof IXR_Error)) { + $retval = $retval->destroy(); + } + return $retval; + } + + /** + * Creates a new gallery + * @param $args (blog_id, username, password, title) + */ + function create_gallery($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $title = strval($args[3]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + $security = $this->get_registry()->get_utility('I_Security_Manager'); + if ($security->is_allowed('nextgen_edit_gallery')) { + $mapper = C_Gallery_Mapper::get_instance(); + if (($gallery = $mapper->create(array('title' => $title))) && $gallery->save()) { + $retval = $gallery->id(); + } + else $retval = new IXR_Error(500, "Unable to create gallery"); + + } + else $retval = new IXR_Error(403, "Sorry, but you must be able to manage galleries. Check your roles/capabilities."); + } + + return $retval; + } + + /** + * Edits an existing gallery + * @param $args (blog_id, username, password, gallery_id, name, title, description, preview_pic_id) + */ + function edit_gallery($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $gallery_id = intval($args[3]); + $name = strval($args[4]); + $title = strval($args[5]); + $image_id = intval($args[6]); + $properties = isset($args[7]) ? (array) $args[7] : array(); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + $mapper = C_Gallery_Mapper::get_instance(); + if (($gallery = $mapper->find($gallery_id, TRUE))) { + if ($this->can_manage_gallery($gallery)) { + $gallery->name = $name; + $gallery->title = $title; + $gallery->previewpic = $image_id; + foreach ($properties as $key => $value) { + $gallery->$key = $value; + } + $retval = $gallery->save(); + } + else $retval = new IXR_Error(403, "You don't have permission to modify this gallery"); + } + else $retval = new IXR_Error(404, "Gallery #{$gallery_id} doesn't exist"); + } + + return $retval; + } + + /** + * Gets a single gallery instance + * @param $args (blog_id, username, password, gallery_id) + */ + function get_gallery($args, $return_model=FALSE) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $gallery_id = intval($args[3]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + $mapper = C_Gallery_Mapper::get_instance(); + if (($gallery = $mapper->find($gallery_id, TRUE))) { + if ($this->can_manage_gallery($gallery)) { + $retval = $return_model ? $gallery : $gallery->get_entity(); + } + } + else $retval = FALSE; + } + + return $retval; + } + + /** + * Deletes a gallery + * @param $args (blog_id, username, password, gallery_id) + */ + function delete_gallery($args) + { + $retval = $this->get_gallery($args, TRUE); + + if (!($retval instanceof IXR_Error)) { + $retval = $retval->destroy(); + } + + return $retval; + } + + /** + * Creates a new album + * @param $args (blog_id, username, password, title, previewpic, description, galleries + */ + function create_album($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $title = intval($args[3]); + $previewpic = isset($args[4]) ? intval($args[4]): 0; + $desc = isset($args[5]) ? strval($args[5]) : ''; + $sortorder = isset($args[6]) ? $args[6] : ''; + $page_id = isset($args[7]) ? intval($args[7]) : 0; + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Is request allowed? + $security = $this->get_registry()->get_utility('I_Security_Manager'); + if ($security->is_allowed('nextgen_edit_album')) { + + $mapper = C_Album_Mapper::get_instance(); + $album = $mapper->create(array( + 'name' => $title, + 'previewpic' => $previewpic, + 'albumdesc' => $desc, + 'sortorder' => $sortorder, + 'page_id' => $page_id + )); + + if ($album->save()) $retval = $album->id(); + else $retval = new IXR_Error(500, "Unable to create album"); + } + } + + return $retval; + } + + + /** + * Returns all albums + * @param $args (blog_id, username, password) + * @return IXR_Error + */ + function get_albums($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Are we allowed? + $security = $this->get_registry()->get_utility('I_Security_Manager'); + if ($security->is_allowed('nextgen_edit_album')) { + + // Fetch all albums + $mapper = C_Album_Mapper::get_instance(); + $retval = array(); + foreach ($mapper->find_all() as $album) { + // Vladimir's Lightroom plugins requires the 'id' to be a string + // Ask if he can accept integers as well. Currently, integers break + // his plugin + $album->id = (string) $album->id; + $album->galleries = $album->sortorder; + + $retval[$album->{$album->id_field}] = (array) $album; + } + } + else $retval = new IXR_Error(403, "Sorry, you must be able to manage albums"); + + + } + + return $retval; + } + + /** + * Gets a single album + * @param $args (blog_id, username, password, album_id) + */ + function get_album($args, $return_model=FALSE) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + $album_id = intval($args[3]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Are we allowed? + $security = $this->get_registry()->get_utility('I_Security_Manager'); + if ($security->is_allowed('nextgen_edit_album')) { + $mapper = C_Album_Mapper::get_instance(); + $album = $mapper->find($album_id, TRUE); + + // Vladimir's Lightroom plugins requires the 'id' to be a string + // Ask if he can accept integers as well. Currently, integers break + // his plugin + $album->id = (string) $album->id; + $album->galleries = $album->sortorder; + + $retval = $return_model ? $album : $album->get_entity(); + } + else $retval = new IXR_Error(403, "Sorry, you must be able to manage albums"); + } + + return $retval; + } + + /** + * Deletes an existing album + * @param $args (blog_id, username, password, album_id) + */ + function delete_album($args) + { + $retval = $this->get_album($args, TRUE); + + if (!($retval instanceof IXR_Error)) { + $retval = $retval->destroy(); + } + + return $retval; + } + + /** + * Edit an existing album + * @param $args (blog_id, username, password, album_id, name, preview pic id, description, galleries) + */ + function edit_album($args) + { + $retval = $this->get_album($args, TRUE); + + if (!($retval instanceof IXR_Error)) { + $retval->name = strval($args[4]); + $retval->previewpic = intval($args[5]); + $retval->albumdesc = strval($args[6]); + $retval->sortorder = $args[7]; + + $properties = isset($args[8]) ? $args[8] : array(); + foreach ($properties as $key => $value) $retval->$key = $value; + unset($retval->galleries); + + $retval = $retval->save(); + } + + return $retval; + } + + + /** + * Returns all galleries + * @param $args (blog_id, username, password) + */ + function get_galleries($args) + { + $retval = new IXR_Error(403, 'Invalid username or password'); + $blog_id = intval($args[0]); + $username = strval($args[1]); + $password = strval($args[2]); + + // Authenticate the user + if ($this->login($username, $password, $blog_id)) { + + // Do we have permission? + $security = $this->get_registry()->get_utility('I_Security_Manager'); + if ($security->is_allowed('nextgen_edit_gallery')) { + $mapper = C_Gallery_Mapper::get_instance(); + $image_mapper = C_Image_Mapper::get_instance(); + $storage = C_Gallery_Storage::get_instance(); + $retval = array(); + foreach ($mapper->find_all() as $gallery) { + // Vladimir's Lightroom plugins requires the 'id' to be a string + // Ask if he can accept integers as well. Currently, integers break + // his plugin + $gallery->gid = (string) $gallery->gid; + + // Set other gallery properties + $image_counter = array_pop($image_mapper->select('COUNT(*) as counter')->where(array("galleryid = %d", $gallery->gid))->run_query()); + $gallery->counter = $image_counter->counter; + $gallery->abspath = $storage->get_gallery_abspath($gallery); + $retval[$gallery->{$gallery->id_field}] = (array)$gallery; + } + } + else $retval = new IXR_Error( 401, __( 'Sorry, you must be able to manage galleries' ) ); + } + + return $retval; + } +} + +new M_NextGen_XmlRpc; \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php new file mode 100644 index 000000000..64b5f5ceb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/admin.php @@ -0,0 +1,612 @@ +<?php +/** + * nggAdminPanel - Admin Section for NextGEN Gallery + * + * @package NextGEN Gallery + * @author Alex Rabe + * + * @since 1.0.0 + */ +class nggAdminPanel{ + + // constructor + function __construct() { + + // Buffer the output + add_action('admin_init', array(&$this, 'start_buffer')); + + // Add the admin menu + add_action( 'admin_menu', array (&$this, 'add_menu') ); + add_action( 'admin_bar_menu', array(&$this, 'admin_bar_menu'), 99 ); + add_action( 'network_admin_menu', array (&$this, 'add_network_admin_menu') ); + + // Add the script and style files + add_action('admin_print_scripts', array(&$this, 'load_scripts') ); + add_action('admin_print_styles', array(&$this, 'load_styles') ); + + // Try to detect plugins that embed their own jQuery and jQuery UI + // libraries and load them in NGG's admin pages + add_action('admin_enqueue_scripts', array(&$this, 'buffer_scripts'), 0); + add_action('admin_print_scripts', array(&$this, 'output_scripts'), PHP_INT_MAX); + + //TODO: remove after release of Wordpress 3.3 + add_filter('contextual_help', array(&$this, 'show_help'), 10, 2); + add_filter('current_screen', array(&$this, 'edit_current_screen')); + + // Add WPML hook to register description / alt text for translation + add_action('ngg_image_updated', array('nggGallery', 'RegisterString') ); + + } + + function start_buffer() + { + // Notify of page event + if (isset($_REQUEST['page']) && $_POST) { + $event = array( + 'event' => str_replace('-', '_', str_replace('nggallery', '', $_REQUEST['page'])) + ); + + // Do we have a list of galleries that are being affected? + if (isset($_REQUEST['doaction'])) { + $event['gallery_ids'] = $_REQUEST['doaction']; + } + + // Do we have a particular gallery id? + elseif (isset($_REQUEST['gid'])) { + $event['gallery_id'] = $_REQUEST['gid']; + } + + // Do we have an album id? + elseif (isset($_REQUEST['act_album']) && $_REQUEST['act_album']) { + $event['album_id'] = $_REQUEST['act_album']; + } + if (strpos($event['event'], '_') === 0) $event['event'] = substr($event['event'], 1); + + do_action('ngg_page_event', $event); + } + ob_start(); + } + + /** + * If a NGG page is being requested, we buffer any rendering of <script> + * tags to detect conflicts and remove them if need be + */ + function buffer_scripts() + { + // Is this a NGG admin page? + if (isset($_REQUEST['page']) && strpos($_REQUEST['page'] ,'nggallery') !== FALSE) { + ob_start(); + } + } + + function output_scripts() + { + // Is this a NGG admin page? + if (isset($_REQUEST['page']) && strpos($_REQUEST['page'] ,'nggallery') !== FALSE) { + $plugin_folder = NGGFOLDER; + $skipjs_count = 0; + $html = ob_get_contents(); + ob_end_clean(); + + if (!defined('NGG_JQUERY_CONFLICT_DETECTION')) { + define('NGG_JQUERY_CONFLICT_DETECTION', TRUE); + } + + if (NGG_JQUERY_CONFLICT_DETECTION) { + // Detect custom jQuery script + if (preg_match_all("/<script.*wp-content.*jquery[-_\.](min\.)?js.*<\script>/", $html, $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + $old_script = array_shift($match); + if (strpos($old_script, NEXTGEN_GALLERY_PLUGIN_DIR) === FALSE) + $html = str_replace($old_script, '', $html); + } + } + + // Detect custom jQuery UI script and remove + if (preg_match_all("/<script.*wp-content.*jquery[-_\.]ui.*<\/script>/", $html, $matches, PREG_SET_ORDER)) { + $detected_jquery_ui = TRUE; + foreach ($matches as $match) { + $old_script = array_shift($match); + if (strpos($old_script, NEXTGEN_GALLERY_PLUGIN_DIR) === FALSE) + $html = str_replace($old_script, '', $html); + } + } + + if (isset($_REQUEST['skipjs'])) { + foreach ($_REQUEST['skipjs'] as $js) { + $js = preg_quote($js); + if (preg_match_all("#<script.*{$js}.*</script>#", $html, $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + $old_script = array_shift($match); + if (strpos($old_script, NGGFOLDER) === FALSE) + $html = str_replace($old_script, '', $html); + } + } + } + $skipjs_count = count($_REQUEST['skipjs']); + } + + + // Use WordPress built-in version of jQuery + $jquery_url = includes_url('js/jquery/jquery.js'); + $html = implode('', array( + "<script type='text/javascript' src='{$jquery_url}'></script>\n", + "<script type='text/javascript'> + window.onerror = function(msg, url, line){ + if (url.match(/\.js$|\.js\?/)) { + if (window.location.search.length > 0) { + if (window.location.search.indexOf(url) == -1) + window.location.search += '&skipjs[{$skipjs_count}]='+url; + } + else { + window.location.search = '?skipjs[{$skipjs_count}]='+url; + } + } + return true; + };</script>\n", + $html + )); + } + + echo $html; + } + } + + // integrate the menu + function add_menu() { + + add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), path_join(NGGALLERY_URLPATH, 'admin/images/nextgen_16_color.png') ); + add_submenu_page( NGGFOLDER , __('Overview', 'nggallery'), __('Overview', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu')); + add_submenu_page( NGGFOLDER , __('Manage Galleries', 'nggallery'), __('Manage Galleries', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', array (&$this, 'show_menu')); + add_submenu_page( NGGFOLDER , _n( 'Manage Albums', 'Albums', 1, 'nggallery' ), _n( 'Manage Albums', 'Manage Albums', 1, 'nggallery' ), 'NextGEN Edit album', 'nggallery-manage-album', array (&$this, 'show_menu')); + add_submenu_page( NGGFOLDER , __('Manage Tags', 'nggallery'), __('Manage Tags', 'nggallery'), 'NextGEN Manage tags', 'nggallery-tags', array (&$this, 'show_menu')); +// if ( !is_multisite() || wpmu_site_admin() ) +// add_submenu_page( NGGFOLDER , __('Reset / Uninstall', 'nggallery'), __('Reset / Uninstall', 'nggallery'), 'activate_plugins', 'nggallery-setup', array (&$this, 'show_menu')); + + //register the column fields + $this->register_columns(); + } + + // integrate the network menu + function add_network_admin_menu() { + + add_menu_page( _n( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings'), path_join(NGGALLERY_URLPATH, 'admin/images/nextgen_16_color.png') ); + add_submenu_page( NGGFOLDER , __('Network settings', 'nggallery'), __('Network settings', 'nggallery'), 'nggallery-wpmu', NGGFOLDER, array (&$this, 'show_network_settings')); + // add_submenu_page( NGGFOLDER , __('Reset / Uninstall', 'nggallery'), __('Reset / Uninstall', 'nggallery'), 'activate_plugins', 'nggallery-setup', array (&$this, 'show_menu')); + } + + /** + * Adding NextGEN Gallery to the Admin bar + * + * @since 1.9.0 + * + * @return void + */ + function admin_bar_menu() { + // If the current user can't write posts, this is all of no use, so let's not output an admin menu + if ( !current_user_can('NextGEN Gallery overview') ) + return; + + global $wp_admin_bar; + + $wp_admin_bar->add_menu( array( 'id' => 'ngg-menu', 'title' => __( 'Gallery' ), 'href' => admin_url('admin.php?page='. NGGFOLDER) ) ); + $wp_admin_bar->add_menu( array( 'parent' => 'ngg-menu', 'id' => 'ngg-menu-overview', 'title' => __('Overview', 'nggallery'), 'href' => admin_url('admin.php?page='. NGGFOLDER) ) ); + if ( current_user_can('NextGEN Upload images') ) + $wp_admin_bar->add_menu( array( 'parent' => 'ngg-menu', 'id' => 'ngg-menu-add-gallery', 'title' => __('Add Gallery / Images', 'nggallery'), 'href' => admin_url('admin.php?page=ngg_addgallery') ) ); + if ( current_user_can('NextGEN Manage gallery') ) + $wp_admin_bar->add_menu( array( 'parent' => 'ngg-menu', 'id' => 'ngg-menu-manage-gallery', 'title' => __('Manage Galleries', 'nggallery'), 'href' => admin_url('admin.php?page=nggallery-manage-gallery') ) ); + if ( current_user_can('NextGEN Edit album') ) + $wp_admin_bar->add_menu( array( 'parent' => 'ngg-menu', 'id' => 'ngg-menu-manage-album', 'title' => _n( 'Manage Albums', 'Manage Albums', 1, 'nggallery' ), 'href' => admin_url('admin.php?page=nggallery-manage-album') ) ); + if ( current_user_can('NextGEN Manage tags') ) + $wp_admin_bar->add_menu( array( 'parent' => 'ngg-menu', 'id' => 'ngg-menu-tags', 'title' => __('Manage Tags', 'nggallery'), 'href' => admin_url('admin.php?page=nggallery-tags') ) ); + } + + // show the network page + function show_network_settings() { + include_once ( dirname (__FILE__) . '/style.php' ); + include_once ( dirname (__FILE__) . '/wpmu.php' ); + nggallery_wpmu_setup(); + } + + // load the script for the defined page and load only this code + function show_menu() { + global $ngg; + + // Set installation date + if( empty($ngg->options['installDate']) ) { + $ngg->options['installDate'] = time(); + update_option('ngg_options', $ngg->options); + } + + // Show donation message only one time. + if (isset ( $_GET['hide_donation']) ) { + $ngg->options['hideDonation'] = true; + update_option('ngg_options', $ngg->options); + } + + echo '<div id="ngg_page_content">'; + switch ($_GET['page']){ + case "nggallery-manage-gallery" : + include_once ( dirname (__FILE__) . '/functions.php' ); // admin functions + include_once ( dirname (__FILE__) . '/manage.php' ); // nggallery_admin_manage_gallery + // Initate the Manage Gallery page + $ngg->manage_page = new nggManageGallery (); + // Render the output now, because you cannot access a object during the constructor is not finished + $ngg->manage_page->controller(); + break; + case "nggallery-manage-album" : + include_once ( dirname (__FILE__) . '/album.php' ); // nggallery_admin_manage_album + $ngg->manage_album = new nggManageAlbum (); + $ngg->manage_album->controller(); + break; + case "nggallery-options" : + include_once ( dirname (__FILE__) . '/settings.php' ); // nggallery_admin_options + $ngg->option_page = new nggOptions (); + $ngg->option_page->controller(); + break; + case "nggallery-tags" : + include_once ( dirname (__FILE__) . '/tags.php' ); // nggallery_admin_tags + break; + case "nggallery-style" : + include_once ( dirname (__FILE__) . '/style.php' ); // nggallery_admin_style + nggallery_admin_style(); + break; + case "nggallery-setup" : + include_once ( dirname (__FILE__) . '/setup.php' ); // nggallery_admin_setup + nggallery_admin_setup(); + break; + case "nggallery-roles" : + include_once ( dirname (__FILE__) . '/roles.php' ); // nggallery_admin_roles + nggallery_admin_roles(); + break; + case "nggallery-import" : + include_once ( dirname (__FILE__) . '/myimport.php' ); // nggallery_admin_import + nggallery_admin_import(); + break; + case "nggallery-about" : + include_once ( dirname (__FILE__) . '/about.php' ); // nggallery_admin_about + nggallery_admin_about(); + break; + case "nggallery" : + default : + include_once ( dirname (__FILE__) . '/overview.php' ); // nggallery_admin_overview + nggallery_admin_overview(); + break; + } + echo "</div>"; + } + + function load_scripts() { + global $wp_version; + + // no need to go on if it's not a plugin page + if( !isset($_GET['page']) ) + return; + + // If we're on a NextGen Page +// if (preg_match("/ngg|nextgen-gallery/", $_GET['page'])) { +// wp_register_script('ngg_social_media', path_join( +// NGGALLERY_URLPATH, +// 'admin/js/ngg_social_media.js' +// ), array('jquery')); +// +// wp_register_style('ngg_social_media', path_join( +// NGGALLERY_URLPATH, +// 'admin/css/ngg_social_media.css' +// )); +// +// wp_enqueue_style('ngg_social_media'); +// wp_enqueue_script('ngg_social_media'); +// } + + // used to retrieve the uri of some module resources + $router = C_Component_Registry::get_instance()->get_utility('I_Router'); + + wp_register_script('ngg-ajax', NGGALLERY_URLPATH . 'admin/js/ngg.ajax.js', array('jquery'), '1.4.1'); + wp_localize_script('ngg-ajax', 'nggAjaxSetup', array( + 'url' => admin_url('admin-ajax.php'), + 'action' => 'ngg_ajax_operation', + 'operation' => '', + 'nonce' => wp_create_nonce( 'ngg-ajax' ), + 'ids' => '', + 'permission' => __('You do not have the correct permission', 'nggallery'), + 'error' => __('Unexpected Error', 'nggallery'), + 'failure' => __('A failure occurred', 'nggallery') + ) ); + wp_register_script( 'ngg-plupload-handler', NGGALLERY_URLPATH .'admin/js/plupload.handler.js', array('plupload-all'), '0.0.1' ); + wp_localize_script( 'ngg-plupload-handler', 'pluploadL10n', array( + 'queue_limit_exceeded' => __('You have attempted to queue too many files.'), + 'file_exceeds_size_limit' => __('This file exceeds the maximum upload size for this site.'), + 'zero_byte_file' => __('This file is empty. Please try another.'), + 'invalid_filetype' => __('This file type is not allowed. Please try another.'), + 'not_an_image' => __('This file is not an image. Please try another.'), + 'image_memory_exceeded' => __('Memory exceeded. Please try another smaller file.'), + 'image_dimensions_exceeded' => __('This is larger than the maximum size. Please try another.'), + 'default_error' => __('An error occurred in the upload. Please try again later.'), + 'missing_upload_url' => __('There was a configuration error. Please contact the server administrator.'), + 'upload_limit_exceeded' => __('You may only upload 1 file.'), + 'http_error' => __('HTTP error.'), + 'upload_failed' => __('Upload failed.'), + 'io_error' => __('IO error.'), + 'security_error' => __('Security error.'), + 'file_cancelled' => __('File canceled.'), + 'upload_stopped' => __('Upload stopped.'), + 'dismiss' => __('Dismiss'), + 'crunching' => __('Crunching…'), + 'deleted' => __('moved to the trash.'), + 'error_uploading' => __('“%s” has failed to upload due to an error') + ) ); + wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '2.0.1'); + wp_register_script('jquery-ui-autocomplete', NGGALLERY_URLPATH .'admin/js/jquery.ui.autocomplete.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.15'); + + // Enqueue the new Gritter-based progress bars + wp_enqueue_style('ngg_progressbar'); + wp_enqueue_script('ngg_progressbar'); + + switch ($_GET['page']) { + case NGGFOLDER : + wp_enqueue_script( 'postbox' ); + add_thickbox(); + break; + case "nggallery-manage-gallery" : + wp_enqueue_script( 'postbox' ); + wp_enqueue_script( 'ngg-ajax' ); + wp_enqueue_script( 'ngg-progressbar' ); + wp_enqueue_script( 'jquery-ui-dialog' ); + wp_enqueue_script( 'jquery-ui-sortable' ); + wp_register_script('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.js'), false ,'1.3.2'); + wp_localize_script('shutter', 'shutterSettings', array( + 'msgLoading' => __('L O A D I N G', 'nggallery'), + 'msgClose' => __('Click to Close', 'nggallery'), + 'imageCount' => '1' + ) ); + wp_enqueue_script( 'shutter' ); + break; + case "nggallery-manage-album" : + wp_enqueue_script( 'jquery-ui-autocomplete' ); + wp_enqueue_script( 'jquery-ui-dialog' ); + wp_enqueue_script( 'jquery-ui-sortable' ); + wp_enqueue_script( 'ngg-autocomplete', NGGALLERY_URLPATH .'admin/js/ngg.autocomplete.js', array('jquery-ui-autocomplete'), '1.0.1'); + break; + case "nggallery-options" : + wp_enqueue_script( 'jquery-ui-tabs' ); + //wp_enqueue_script( 'ngg-colorpicker', NGGALLERY_URLPATH .'admin/js/colorpicker/js/colorpicker.js', array('jquery'), '1.0'); + break; + case "nggallery-add-gallery" : + wp_enqueue_script( 'jquery-ui-accordion' ); + wp_enqueue_script( 'multifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.4.4' ); + wp_enqueue_script( 'ngg-plupload-handler' ); + wp_enqueue_script( 'ngg-ajax' ); + wp_enqueue_script( 'ngg-progressbar' ); + wp_enqueue_script( 'jquery-ui-dialog' ); + wp_enqueue_script( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.js', array('jquery'), '1.0.1' ); + break; + case "nggallery-style" : + wp_enqueue_script( 'codepress' ); + wp_enqueue_script( 'ngg-colorpicker', NGGALLERY_URLPATH .'admin/js/colorpicker/js/colorpicker.js', array('jquery'), '1.0'); + break; + + } + } + + + function enqueue_jquery_ui_theme() + { + $settings = C_NextGen_Settings::get_instance(); + wp_enqueue_style( + $settings->jquery_ui_theme, + $settings->jquery_ui_theme_url, + array(), + $settings->jquery_ui_theme_version + ); + } + + function load_styles() { + global $ngg; + + // load the icon for the navigation menu + wp_enqueue_style( 'nggmenu', NGGALLERY_URLPATH .'admin/css/menu.css', array() ); + wp_register_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, '2.8.1', 'screen' ); + wp_register_style( 'ngg-jqueryui', NGGALLERY_URLPATH .'admin/css/jquery.ui.css', false, '1.8.5', 'screen' ); + + // no need to go on if it's not a plugin page + if( !isset($_GET['page']) ) + return; + + // used to retrieve the uri of some module resources + $router = C_Component_Registry::get_instance()->get_utility('I_Router'); + + switch ($_GET['page']) { + case NGGFOLDER : + wp_enqueue_style( 'thickbox' ); + case "nggallery-about" : + wp_enqueue_style( 'nggadmin' ); + //TODO:Remove after WP 3.3 release + if ( !defined('IS_WP_3_3') ) + wp_admin_css( 'css/dashboard' ); + break; + case "nggallery-add-gallery": + $this->enqueue_jquery_ui_theme(); + wp_enqueue_style( 'jqueryFileTree', NGGALLERY_URLPATH .'admin/js/jqueryFileTree/jqueryFileTree.css', false, '1.0.1', 'screen' ); + case "nggallery-options" : + wp_enqueue_style( 'nggtabs', NGGALLERY_URLPATH .'admin/css/jquery.ui.tabs.css', false, '2.5.0', 'screen' ); + wp_enqueue_style( 'nggadmin' ); + break; + case "nggallery-manage-gallery" : + wp_enqueue_script('jquery-ui-tooltip'); + wp_enqueue_style('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.css'), false, '1.3.2', 'screen'); + case "nggallery-roles" : + case "nggallery-manage-album" : + $this->enqueue_jquery_ui_theme(); + wp_enqueue_style( 'nggadmin' ); + break; + case "nggallery-tags" : + wp_enqueue_style( 'nggtags', NGGALLERY_URLPATH .'admin/css/tags-admin.css', false, '2.6.1', 'screen' ); + break; + case "nggallery-style" : + wp_admin_css( 'css/theme-editor' ); + wp_enqueue_style('nggcolorpicker', NGGALLERY_URLPATH.'admin/js/colorpicker/css/colorpicker.css', false, '1.0', 'screen'); + wp_enqueue_style('nggadmincp', NGGALLERY_URLPATH.'admin/css/nggColorPicker.css', false, '1.0', 'screen'); + break; + } + } + + function show_help($help, $screen) { + + // since WP3.0 it's an object + if ( is_object($screen) ) + $screen = $screen->id; + + $link = ''; + // menu title is localized... + $i18n = strtolower ( _n( 'Gallery', 'Galleries', 1, 'nggallery' ) ); + + switch ($screen) { + case 'toplevel_page_' . NGGFOLDER : + $link = __('<a href="http://www.nextgen-gallery.com" target="_blank">Introduction</a>', 'nggallery'); + break; + case "{$i18n}_page_nggallery-about" : + $link = __('<a href="http://www.nextgen-gallery.com/languages" target="_blank">Languages</a>', 'nggallery'); + break; + } + + if ( !empty($link) ) { + $help = '<h5>' . __('Get help with NextGEN Gallery', 'nggallery') . '</h5>'; + $help .= '<div class="metabox-prefs">'; + $help .= $link; + $help .= "</div>\n"; + $help .= '<h5>' . __('More Help & Info', 'nggallery') . '</h5>'; + $help .= '<div class="metabox-prefs">'; + $help .= __('<a href="http://wordpress.org/tags/nextgen-gallery?forum_id=10" target="_blank">Support Forums</a>', 'nggallery'); + $help .= ' | <a href="http://www.nextgen-gallery.com/faq/" target="_blank">' . __('FAQ', 'nggallery') . '</a>'; + $help .= ' | <a href="https://bitbucket.org/photocrati/nextgen-gallery/issues" target="_blank">' . __('Feature request', 'nggallery') . '</a>'; + $help .= ' | <a href="http://www.nextgen-gallery.com/languages" target="_blank">' . __('Get your language pack', 'nggallery') . '</a>'; + $help .= ' | <a href="https://bitbucket.org/photocrati/nextgen-gallery" target="_blank">' . __('Contribute development', 'nggallery') . '</a>'; + $help .= ' | <a href="http://wordpress.org/extend/plugins/nextgen-gallery" target="_blank">' . __('Download latest version', 'nggallery') . '</a>'; + $help .= "</div>\n"; + } + + return $help; + } + + /** + * New wrapper for WordPress 3.3, so contextual help will be added to the admin bar + * Rework this see http://wpdevel.wordpress.com/2011/12/06/help-and-screen-api-changes-in-3-3/ + * + * @since 1.9.0 + * @param object $screen + * @return void + */ + function add_contextual_help($screen) { + + $help = $this->show_help('', $screen); + //add_contextual_help( $screen, $help ); + } + + /** + * We need to manipulate the current_screen name so that we can show the correct column screen options + * + * @since 1.8.0 + * @param object $screen + * @return object $screen + */ + function edit_current_screen($screen) { + + if ( is_string($screen) ) + $screen = convert_to_screen($screen); + + // menu title is localized, so we need to change the toplevel name + $i18n = strtolower ( _n( 'Gallery', 'Galleries', 1, 'nggallery' ) ); + + switch ($screen->id) { + case "{$i18n}_page_nggallery-manage-gallery" : + // we would like to have screen option only at the manage images / gallery page + if ( isset ($_POST['sortGallery']) ) + $screen = $screen; + else if ( (isset($_GET['mode']) && $_GET['mode'] == 'edit') || isset ($_POST['backToGallery']) ) + $screen->base = $screen->id = 'nggallery-manage-images'; + else if ( (isset($_GET['mode']) && $_GET['mode'] == 'sort') ) + $screen = $screen; + else + $screen->base = $screen->id = 'nggallery-manage-gallery'; + break; + } + + if ( defined('IS_WP_3_3') ) + $this->add_contextual_help($screen); + + return $screen; + } + + /** + * We need to register the columns at a very early point + * + * @return void + */ + function register_columns() { + include_once ( dirname (__FILE__) . '/manage-images.php' ); + + $wp_list_table = new _NGG_Images_List_Table('nggallery-manage-images'); + + include_once ( dirname (__FILE__) . '/manage-galleries.php' ); + + $wp_list_table = new _NGG_Galleries_List_Table('nggallery-manage-gallery'); + } + + /** + * Read an array from a remote url + * + * @param string $url + * @return array of the content + */ + function get_remote_array($url) { + + if ( function_exists('wp_remote_request') ) { + + if ( false === ( $content = get_transient( 'ngg_request_' . md5($url) ) ) ) { + + $options = array(); + $options['headers'] = array( + 'User-Agent' => 'NextGEN Gallery Information Reader V' . NGGVERSION . '; (' . get_bloginfo('url') .')' + ); + + $response = wp_remote_request($url, $options); + + if ( is_wp_error( $response ) ) + return false; + + if ( 200 != $response['response']['code'] ) + return false; + + $content = $response['body']; + set_transient( 'ngg_request_' . md5($url), $content, 60*60*48 ); + } + + $content = unserialize($content); + + if (is_array($content)) + return $content; + } + + return false; + } + +} + +function wpmu_site_admin() { + // Check for site admin + if ( function_exists('is_super_admin') ) + if ( is_super_admin() ) + return true; + + return false; +} + +function wpmu_enable_function($value) { + if (is_multisite()) { + $ngg_options = get_site_option('ngg_options'); + return $ngg_options[$value]; + } + // if this is not WPMU, enable it ! + return true; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php new file mode 100644 index 000000000..e2ac69298 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/ajax.php @@ -0,0 +1,402 @@ +<?php +add_action('wp_ajax_ngg_ajax_operation', 'ngg_ajax_operation' ); + +/** + * Image edit functions via AJAX + * + * @author Alex Rabe + * + * + * @return void + */ +function ngg_ajax_operation() { + + global $wpdb; + + // if nonce is not correct it returns -1 + check_ajax_referer( "ngg-ajax" ); + + // check for correct capability + if ( !is_user_logged_in() ) + die('-1'); + + // check for correct NextGEN capability + if ( !current_user_can('NextGEN Upload images') && !current_user_can('NextGEN Manage gallery') ) + die('-1'); + + // include the ngg function + include_once (dirname (__FILE__) . '/functions.php'); + + // Get the image id + if ( isset($_POST['image'])) { + $id = (int) $_POST['image']; + // let's get the image data + $picture = nggdb::find_image( $id ); + // what do you want to do ? + switch ( $_POST['operation'] ) { + case 'create_thumbnail' : + $result = nggAdmin::create_thumbnail($picture); + break; + case 'resize_image' : + $result = nggAdmin::resize_image($picture); + break; + case 'rotate_cw' : + $result = nggAdmin::rotate_image($picture, 'CW'); + nggAdmin::create_thumbnail($picture); + break; + case 'rotate_ccw' : + $result = nggAdmin::rotate_image($picture, 'CCW'); + nggAdmin::create_thumbnail($picture); + break; + case 'set_watermark' : + $result = nggAdmin::set_watermark($picture); + break; + case 'recover_image' : + $result = nggAdmin::recover_image($picture); + break; + case 'import_metadata' : + $result = nggAdmin::import_MetaData( $id ); + break; + case 'get_image_ids' : + $result = nggAdmin::get_image_ids( $id ); + break; + default : + do_action( 'ngg_ajax_' . $_POST['operation'] ); + die('-1'); + break; + } + // A success should return a '1' + die ($result); + } + + // The script should never stop here + die('0'); +} + +add_action('wp_ajax_createNewThumb', 'createNewThumb'); + +function createNewThumb() { + + global $ngg; + + // check for correct capability + if ( !is_user_logged_in() ) + die('-1'); + + // check for correct NextGEN capability + if ( !current_user_can('NextGEN Manage gallery') ) + die('-1'); + + $id = (int) $_POST['id']; + $picture = nggdb::find_image( $id ); + + $x = round( $_POST['x'] * $_POST['rr'], 0); + $y = round( $_POST['y'] * $_POST['rr'], 0); + $w = round( $_POST['w'] * $_POST['rr'], 0); + $h = round( $_POST['h'] * $_POST['rr'], 0); + $crop_frame = array('x' => $x, 'y' => $y, 'width' => $w, 'height' => $h); + + $registry = C_Component_Registry::get_instance(); + $storage = $registry->get_utility('I_Gallery_Storage'); + + // XXX NextGEN Legacy wasn't handling watermarks or reflections at this stage, so we're forcefully disabling them to maintain compatibility + $params = array('watermark' => false, 'reflection' => false, 'crop' => true, 'crop_frame' => $crop_frame); + $result = $storage->generate_thumbnail($id, $params); + + if ($result) { + echo "OK"; + } else { + header('HTTP/1.1 500 Internal Server Error'); + echo "KO"; + } + + C_NextGEN_Bootstrap::shutdown(); +} + +add_action('wp_ajax_rotateImage', 'ngg_rotateImage'); + +function ngg_rotateImage() { + + // check for correct capability + if ( !is_user_logged_in() ) + die('-1'); + + // check for correct NextGEN capability + if ( !current_user_can('NextGEN Manage gallery') ) + die('-1'); + + require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); + + // include the ngg function + include_once (dirname (__FILE__). '/functions.php'); + + $ngg_options = get_option('ngg_options'); + + $id = (int) $_POST['id']; + $result = '-1'; + + switch ( $_POST['ra'] ) { + case 'cw' : + $result = nggAdmin::rotate_image($id, 'CW'); + break; + case 'ccw' : + $result = nggAdmin::rotate_image($id, 'CCW'); + break; + case 'fv' : + // Note: H/V have been inverted here to make it more intuitive + $result = nggAdmin::rotate_image($id, 0, 'H'); + break; + case 'fh' : + // Note: H/V have been inverted here to make it more intuitive + $result = nggAdmin::rotate_image($id, 0, 'V'); + break; + } + + // recreate the thumbnail + nggAdmin::create_thumbnail($id); + + if ( $result == 1 ) + die('1'); + + header('HTTP/1.1 500 Internal Server Error'); + die( $result ); + +} + +add_action('wp_ajax_ngg_dashboard', 'ngg_ajax_dashboard'); + +function ngg_ajax_dashboard() { + + require_once( dirname( dirname(__FILE__) ) . '/admin/admin.php'); + require_once( dirname( dirname(__FILE__) ) . '/admin/overview.php'); + + if ( !current_user_can('NextGEN Gallery overview') ) + die('-1'); + + @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) ); + @header( 'X-Content-Type-Options: nosniff' ); + + switch ( $_GET['jax'] ) { + + case 'ngg_lastdonators' : + ngg_overview_donators(); + break; + + case 'dashboard_primary' : + ngg_overview_news(); + break; + + case 'ngg_locale' : + ngg_locale(); + break; + + case 'dashboard_plugins' : + ngg_related_plugins(); + break; + + } + die(); +} + +add_action('wp_ajax_ngg_file_browser', 'ngg_ajax_file_browser'); + +/** + * jQuery File Tree PHP Connector + * @author Cory S.N. LaViska - A Beautiful Site (http://abeautifulsite.net/) + * @version 1.0.1 + * + * @return string folder content + */ +function ngg_ajax_file_browser() { + + global $ngg; + + // check for correct NextGEN capability + if ( !current_user_can('NextGEN Upload images') && !current_user_can('NextGEN Manage gallery') ) + die('No access'); + + if ( !defined('ABSPATH') ) + die('No access'); + + // if nonce is not correct it returns -1 + check_ajax_referer( 'ngg-ajax', 'nonce' ); + + //PHP4 compat script + if (!function_exists('scandir')) { + function scandir($dir, $listDirectories = false, $skipDots = true ) { + $dirArray = array(); + if ($handle = opendir($dir) ) { + while (false !== ($file = readdir($handle))) { + if (($file != '.' && $file != '..' ) || $skipDots == true) { + if($listDirectories == false) { if(is_dir($file)) { continue; } } + array_push($dirArray, basename($file) ); + } + } + closedir($handle); + } + return $dirArray; + } + } + + // start from the default path + $root = trailingslashit ( WINABSPATH ); + // get the current directory + $dir = trailingslashit ( urldecode($_POST['dir']) ); + + if( file_exists($root . $dir) ) { + $files = scandir($root . $dir); + natcasesort($files); + + // The 2 counts for . and .. + if( count($files) > 2 ) { + echo "<ul class=\"jqueryDirTree\" style=\"display: none;\">"; + + // return only directories + foreach( $files as $file ) { + + //reserved name for the thumnbnails, don't use it as folder name + if ( $file == 'thumbs') + continue; + + if ( file_exists($root . $dir . $file) && $file != '.' && $file != '..' && is_dir($root . $dir . $file) ) { + echo "<li class=\"directory collapsed\"><a href=\"#\" rel=\"" . esc_html($dir . $file) . "/\">" . esc_html($file) . "</a></li>"; + } + } + + echo "</ul>"; + } + } + die(); +} + +add_action( 'wp_ajax_ngg_rebuild_unique_slugs', 'ngg_ajax_rebuild_unique_slugs' ); +/** + * This rebuild the slugs for albums, galleries and images as ajax routine, max 50 elements per request + * + * @since 1.7.0 + * @return string '1' + */ +function ngg_ajax_rebuild_unique_slugs() { + global $wpdb; + + // check for correct NextGEN capability + if ( !current_user_can('NextGEN Change options') ) + die('No access'); + + $action = $_POST['_action']; + $offset = (int) $_POST['offset']; + + switch ($action) { + case 'images': + $images = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures ORDER BY pid ASC LIMIT $offset, 50", OBJECT_K); + if ( is_array($images) ) { + foreach ($images as $image) { + //slug must be unique, we use the alttext for that + $image->slug = nggdb::get_unique_slug( sanitize_title( $image->alttext ), 'image', $image->pid ); + $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggpictures SET image_slug= '%s' WHERE pid = '%d'" , $image->slug, $image->pid ) ); + } + } + break; + case 'gallery': + $galleries = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC LIMIT $offset, 50", OBJECT_K); + if ( is_array($galleries) ) { + foreach ($galleries as $gallery) { + //slug must be unique, we use the title for that + $gallery->slug = nggdb::get_unique_slug( sanitize_title( $gallery->title ), 'gallery', $gallery->gid ); + $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggallery SET slug= '%s' WHERE gid = '%d'" , $gallery->slug, $gallery->gid ) ); + } + } + break; + case 'album': + $albumlist = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY id ASC LIMIT $offset, 50", OBJECT_K); + if ( is_array($albumlist) ) { + foreach ($albumlist as $album) { + //slug must be unique, we use the name for that + $album->slug = nggdb::get_unique_slug( sanitize_title( $album->name ), 'album', $album->id ); + $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->nggalbum SET slug= '%s' WHERE id = '%d'" , $album->slug, $album->id ) ); + } + } + break; + } + + die(1); +} +add_action('wp_ajax_ngg_image_check', 'ngg_ajax_image_check'); +/** + * Test for various image resolution + * + * @since 1.7.3 + * @return result + */ +function ngg_ajax_image_check() { + + // check for correct NextGEN capability + if ( !current_user_can('NextGEN Upload images') ) + die('No access'); + + if ( !defined('ABSPATH') ) + die('No access'); + + $step = (int) $_POST['step']; + + // build the test sizes + $sizes = array(); + $sizes[1] = array ( 'width' => 800, 'height' => 600); + $sizes[2] = array ( 'width' => 1024, 'height' => 768); + $sizes[3] = array ( 'width' => 1280, 'height' => 960); // 1MP + $sizes[4] = array ( 'width' => 1600, 'height' => 1200); // 2MP + $sizes[5] = array ( 'width' => 2016, 'height' => 1512); // 3MP + $sizes[6] = array ( 'width' => 2272, 'height' => 1704); // 4MP + $sizes[7] = array ( 'width' => 2560, 'height' => 1920); // 5MP + $sizes[8] = array ( 'width' => 2848, 'height' => 2136); // 6MP + $sizes[9] = array ( 'width' => 3072, 'height' => 2304); // 7MP + $sizes[10] = array ( 'width' => 3264, 'height' => 2448); // 8MP + $sizes[11] = array ( 'width' => 4048, 'height' => 3040); // 12MP + + if ( $step < 1 || $step > 11 ) + die('No vaild value'); + + // let's test each image size + $temp = imagecreatetruecolor ($sizes[$step]['width'], $sizes[$step]['height'] ); + imagedestroy ($temp); + + $result = array ('stat' => 'ok', 'message' => sprintf(__('Could create image with %s x %s pixel', 'nggallery'), $sizes[$step]['width'], $sizes[$step]['height'] ) ); + + header('Content-Type: application/json; charset=' . get_option('blog_charset'), true); + echo json_encode($result); + + die(); +} + +add_action('wp_ajax_ngg_test_head_footer', 'ngg_ajax_test_head_footer'); +/** + * Check for the header / footer, parts taken from Matt Martz (http://sivel.net/) + * + * @see https://gist.github.com/378450 + * @since 1.7.3 + * @return result + */ +function ngg_ajax_test_head_footer() { + + // Build the url to call, NOTE: uses home_url and thus requires WordPress 3.0 + $url = add_query_arg( array( 'test-head' => '', 'test-footer' => '' ), home_url() ); + // Perform the HTTP GET ignoring SSL errors + $response = wp_remote_get( $url, array( 'sslverify' => false ) ); + // Grab the response code and make sure the request was sucessful + $code = (int) wp_remote_retrieve_response_code( $response ); + if ( $code == 200 ) { + global $head_footer_errors; + $head_footer_errors = array(); + + // Strip all tabs, line feeds, carriage returns and spaces + $html = preg_replace( '/[\t\r\n\s]/', '', wp_remote_retrieve_body( $response ) ); + + // Check to see if we found the existence of wp_head + if ( ! strstr( $html, '<!--wp_head-->' ) ) + die('Missing the call to wp_head() in your theme, contact the theme author'); + // Check to see if we found the existence of wp_footer + if ( ! strstr( $html, '<!--wp_footer-->' ) ) + die('Missing the call to wp_footer() in your theme, contact the theme author'); + } + die('success'); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php new file mode 100644 index 000000000..db02e0eeb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/album.php @@ -0,0 +1,707 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +class nggManageAlbum { + + /** + * The selected album ID + * + * @since 1.3.0 + * @access privat + * @var int + */ + var $currentID = 0; + + /** + * The array for the galleries + * + * @since 1.3.0 + * @access privat + * @var array + */ + var $galleries = false; + + /** + * The array for the albums + * + * @since 1.3.0 + * @access privat + * @var array + */ + var $albums = false; + + /** + * The amount of all galleries + * + * @since 1.4.0 + * @access privat + * @var int + */ + var $num_galleries = false; + + /** + * The amount of all albums + * + * @since 1.4.0 + * @access privat + * @var int + */ + var $num_albums = false; + + /** + * PHP4 compatibility layer for calling the PHP5 constructor. + * + */ + function nggManageAlbum() { + return $this->__construct(); + } + + /** + * Gets the Pope component registry + * @return C_Component_Registry + */ + function get_registry() + { + if (!isset($this->_registry)) { + $this->_registry = C_Component_Registry::get_instance(); + } + + return $this->_registry; + } + + /** + * Gets the album mapper + * @return C_Album_Mapper + */ + function get_album_mapper() + { + if (!isset($this->_album_mapper)) { + $this->_album_mapper = $this->get_registry()->get_utility('I_Album_Mapper'); + } + + return $this->_album_mapper; + } + + /** + * Init the album output + * + */ + function __construct() { + return true; + } + + function controller() { + global $nggdb; + + $this->currentID = isset($_REQUEST['act_album']) ? (int) $_REQUEST['act_album'] : 0 ; + + if (isset ($_POST['update']) || isset( $_POST['delete'] ) || isset( $_POST['add'] ) ) + $this->processor(); + + if (isset ($_POST['update_album']) ) + $this->update_album(); + + // get first all galleries & albums + $this->albums = $nggdb->find_all_album(); + $this->galleries = $nggdb->find_all_galleries(); + $this->num_albums = count( $this->albums ); + $this->num_galleries = count( $this->galleries ); + $this->output(); + + } + + /** + * Finds a suitable preview pic for the album if one hasn't been set + * already + * @param stdClass|C_Album $album + * @return stdClass|C_Album + */ + function _set_album_preview_pic($album) + { + $set_previewpic = FALSE; + $sortorder = $album->sortorder; + + while(!$album->previewpic) { + // If the album is missing a preview pic, set one! + if (($first_entity = array_shift($sortorder))) { + + // Is the first entity a gallery or album + if (substr($first_entity, 0, 1) == 'a') { + $subalbum = $this->get_album_mapper()->find(substr($first_entity, 1)); + if ($subalbum->previewpic) { + $album->previewpic = $subalbum->previewpic; + $set_previewpic = TRUE; + } + } + else { + $gallery_mapper = $this->get_registry()->get_utility('I_Gallery_Mapper'); + $gallery = $gallery_mapper->find($first_entity); + if ($gallery->previewpic) { + $album->previewpic = $gallery->previewpic; + $set_previewpic = TRUE; + } + } + } + else break; + } + + return $album; + } + + function processor() { + global $wpdb; + + check_admin_referer('ngg_album'); + + // Create album + if ( isset($_POST['add']) && isset ($_POST['newalbum']) ) { + + if (!nggGallery::current_user_can( 'NextGEN Add/Delete album' )) + wp_die(__('Cheatin’ uh?')); + + $album = new stdClass(); + $album->name = $_POST['newalbum']; + $result = $this->get_album_mapper()->save($album); + $this->currentID = $album->{$album->id_field}; + if (!$this->currentID) $this->currentID = 0; + + //hook for other plugins + do_action('ngg_add_album', $this->currentID); + + if ($result) + nggGallery::show_message(__('Update Successfully','nggallery')); + } + + if ( isset($_POST['update']) && ($this->currentID > 0) ) { + + $gid = array(); + + // Get the current album being updated + $album = $this->get_album_mapper()->find($this->currentID); + + // Get the list of galleries/sub-albums to be added to this album + parse_str($_REQUEST['sortorder']); + + // Set the new sortorder + $album->sortorder = $gid; + + // Ensure that a preview pic has been sent + $this->_set_album_preview_pic($album); + + // Save the changes + $this->get_album_mapper()->save($album); + + //hook for other plugins + do_action('ngg_update_album_sortorder', $this->currentID); + + nggGallery::show_message(__('Update Successfully','nggallery')); + + } + + if ( isset($_POST['delete']) ) { + + if (!nggGallery::current_user_can( 'NextGEN Add/Delete album' )) + wp_die(__('Cheatin’ uh?')); + + $result = nggdb::delete_album( $this->currentID ); + + //hook for other plugins + do_action('ngg_delete_album', $this->currentID); + + // jump back to main selection + $this->currentID = 0; + + if ($result) + nggGallery::show_message(__('Album deleted','nggallery')); + } + + } + + function update_album() { + global $wpdb, $nggdb; + + check_admin_referer('ngg_thickbox_form'); + + if (!nggGallery::current_user_can( 'NextGEN Edit album settings' )) + wp_die(__('Cheatin’ uh?')); + + $album = $this->get_album_mapper()->find($this->currentID, TRUE); + $album->name = stripslashes($_POST['album_name']); + $album->albumdesc = stripslashes($_POST['album_desc']); + $album->previewpic = (int)$_POST['previewpic']; + $album->pageid = (int)$_POST['pageid']; + $result = $album->save(); + + //hook for other plugin to update the fields + do_action('ngg_update_album', $this->currentID, $_POST); + + if ($result) + nggGallery::show_message(__('Update Successfully','nggallery')); + } + + function output() { + + global $wpdb, $nggdb; + + $this->currentID = isset($_REQUEST['act_album']) ? (int) $_REQUEST['act_album'] : 0 ; + + //TODO:Code MUST be optimized, how to flag a used gallery better ? + $used_list = $this->get_used_galleries(); + +?> + +<script type="text/javascript"> + +jQuery(document).ready( + function($) + { + if ($(this).data('ready')) return; + + if (window.Frame_Event_Publisher) { + + // Refresh when a new gallery has been added + Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries attach_to_post:new_gallery', function(){ + window.location.href = window.location.href; + }); + + // Updates the thumbnail image when a previewpic has been modified + Frame_Event_Publisher.listen_for('attach_to_post:thumbnail_modified', function(data){ + var image_id = data.image[data.image.id_field]; + var $image = $('img[rel="'+image_id+'"]'); + if ($image.length > 0) { + $image.attr('src', data.image.thumb_url); + } + }); + } + + jQuery("#previewpic").nggAutocomplete( { + type: 'image',domain: "<?php echo home_url('index.php', is_ssl() ? 'https' : 'http'); ?>",width: "95%" + }); + + jQuery('#selectContainer').sortable( { + items: '.groupItem', + placeholder: 'sort_placeholder', + opacity: 0.7, + tolerance: 'intersect', + distance: 2, + forcePlaceholderSize: true , + connectWith: ['#galleryContainer'] + } ); + + jQuery('#galleryContainer').sortable( { + items: '.groupItem', + placeholder: 'sort_placeholder', + opacity: 0.7, + tolerance: 'intersect', + distance: 2, + forcePlaceholderSize: true , + connectWith: ['#selectContainer', '#albumContainer'] + } ); + + jQuery('#albumContainer').sortable( { + items: '.groupItem', + placeholder: 'sort_placeholder', + opacity: 0.7, + tolerance: 'intersect', + distance: 2, + forcePlaceholderSize: true , + connectWith: ['#galleryContainer'] + } ); + + jQuery('a.min').on('click', toggleContent); + + // Hide used galleries + jQuery('a#toggle_used').click(function() + { + jQuery('#selectContainer div.inUse').toggle(); + return false; + } + ); + + // Maximize All Portlets (whole site, no differentiation) + jQuery('a#all_max').click(function() + { + jQuery('div.itemContent:hidden').show(); + return false; + } + ); + + // Minimize All Portlets (whole site, no differentiation) + jQuery('a#all_min').click(function() + { + jQuery('div.itemContent:visible').hide(); + return false; + } + ); + // Auto Minimize if more than 4 (whole site, no differentiation) + if(jQuery('a.min').length > 4) + { + jQuery('a.min').html('[+]'); + jQuery('div.itemContent:visible').hide(); + jQuery('#selectContainer div.inUse').toggle(); + }; + + $(this).data('ready', true); + } +); + +var toggleContent = function(e) +{ + var targetContent = jQuery('div.itemContent', this.parentNode.parentNode); + if (targetContent.css('display') == 'none') { + targetContent.slideDown(300); + jQuery(this).html('[-]'); + } else { + targetContent.slideUp(300); + jQuery(this).html('[+]'); + } + return false; +}; + +function ngg_serialize(s) +{ + //serial = jQuery.SortSerialize(s); + serial = jQuery('#galleryContainer').sortable('serialize'); + jQuery('input[name=sortorder]').val(serial); + return serial; +} + +function showDialog() { + jQuery( "#editalbum").dialog({ + width: 640, + resizable : false, + modal: true, + title: '<?php echo esc_js( __('Edit Album', 'nggallery') ); ?>', + position: { + my: 'center', + at: 'center', + of: window.parent + } + }); + jQuery('#editalbum .dialog-cancel').click(function() { jQuery( "#editalbum" ).dialog("close"); }); +} + +</script> + +<div class="wrap album" id="wrap" > + <?php //include('templates/social_media_buttons.php'); ?> + <?php screen_icon( 'nextgen-gallery' ); ?> + <h2><?php esc_html_e('Manage Albums', 'nggallery') ?></h2> + <form id="selectalbum" method="POST" onsubmit="ngg_serialize()" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_album') ?> + <input name="sortorder" type="hidden" /> + <div class="albumnav tablenav"> + <div class="alignleft actions"> + <?php esc_html_e('Select album', 'nggallery') ?> + <select id="act_album" name="act_album" onchange="this.form.submit();"> + <option value="0" ><?php esc_html_e('No album selected', 'nggallery') ?></option> + <?php + if( is_array($this->albums) ) { + foreach($this->albums as $album) { + $selected = ($this->currentID == $album->id) ? 'selected="selected" ' : ''; + echo '<option value="' . $album->id . '" ' . $selected . '>' . $album->id . ' - ' . esc_attr( $album->name ) . '</option>'."\n"; + } + } + ?> + </select> + <?php if ($this->currentID > 0){ ?> + <input class="button-primary" type="submit" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>"/> + <?php if(nggGallery::current_user_can( 'NextGEN Edit album settings' )) { ?> + <input class="button-secondary" type="submit" name="showThickbox" value="<?php esc_attr_e( 'Edit album', 'nggallery'); ?>" onclick="showDialog(); return false;" /> + <?php } ?> + <?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?> + <input class="button-secondary action "type="submit" name="delete" value="<?php esc_attr_e('Delete', 'nggallery'); ?>" onclick="javascript:check=confirm('<?php echo esc_js('Delete album ?','nggallery'); ?>');if(check==false) return false;"/> + <?php } ?> + <?php } else { ?> + <?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?> + <span><?php esc_html_e('Add new album', 'nggallery'); ?> </span> + <input class="search-input" id="newalbum" name="newalbum" type="text" value="" /> + <input class="button-secondary action" type="submit" name="add" value="<?php esc_attr_e('Add', 'nggallery'); ?>"/> + <?php } ?> + <?php } ?> + </div> + </div> + </form> + + <br class="clear"/> + + <div> + <div style="float:right;"> + <a href="#" title="<?php esc_attr_e('Show / hide used galleries','nggallery'); ?>" id="toggle_used"><?php esc_html_e('[Show all]', 'nggallery'); ?></a> + | <a href="#" title="<?php esc_attr_e('Maximize the widget content','nggallery'); ?>" id="all_max"><?php esc_html_e('[Maximize]', 'nggallery'); ?></a> + | <a href="#" title="<?php esc_attr_e('Minimize the widget content','nggallery'); ?>" id="all_min"><?php esc_html_e('[Minimize]', 'nggallery'); ?></a> + </div> + <?php esc_html_e('After you create and select a album, you can drag and drop a gallery or another album into your new album below','nggallery'); ?> + </div> + + <br class="clear" /> + + <div class="container"> + + <!-- /#album container --> + <div class="widget widget-right"> + <div class="widget-top"> + <h3><?php esc_html_e('Select album', 'nggallery'); ?></h3> + </div> + <div id="albumContainer" class="widget-holder"> + <?php + if( is_array( $this->albums ) ) { + foreach($this->albums as $album) { + $this->get_container('a' . $album->id); + } + } + ?> + </div> + </div> + + <!-- /#select container --> + <div class="widget widget-right"> + <div class="widget-top"> + <h3><?php esc_html_e('Select gallery', 'nggallery'); ?></h3> + </div> + <div id="selectContainer" class="widget-holder"> + <?php + + if( is_array( $this->galleries ) ) { + //get the array of galleries + $sort_array = $this->currentID > 0 ? (array) $this->albums[$this->currentID]->galleries : array() ; + foreach($this->galleries as $gallery) { + if (!in_array($gallery->gid, $sort_array)) { + if (in_array($gallery->gid,$used_list)) + $this->get_container($gallery->gid,true); + else + $this->get_container($gallery->gid,false); + } + } + } + ?> + </div> + </div> + + <!-- /#target-album --> + <div class="widget target-album widget-left"> + + <?php + if ($this->currentID > 0){ + $album = $this->albums[$this->currentID]; + ?> + <div class="widget-top"> + <h3><?php esc_html_e('Album ID', 'nggallery'); ?> <?php echo $album->id . ' : ' . esc_html( $album->name ); ?> </h3> + </div> + <div id="galleryContainer" class="widget-holder target"> + <?php + $sort_array = (array) $this->albums[$this->currentID]->galleries; + foreach($sort_array as $galleryid) { + $this->get_container($galleryid, false); + } + } + else + { + ?> + <div class="widget-top"> + <h3><?php esc_html_e('No album selected!', 'nggallery'); ?></h3> + </div> + <div class="widget-holder target"> + <?php + } + ?> + </div> + </div><!-- /#target-album --> + + </div><!-- /#container --> +</div><!-- /#wrap --> + +<?php if ($this->currentID > 0) : ?> +<!-- #editalbum --> +<div id="editalbum" style="display: none;" > + <form id="form-edit-album" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="current_album" name="act_album" value="<?php echo $this->currentID; ?>" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr> + <th> + <?php esc_html_e('Album name:', 'nggallery'); ?><br /> + <input class="search-input" id="album_name" name="album_name" type="text" value="<?php echo esc_attr( $album->name ); ?>" style="width:95%" /> + </th> + </tr> + <tr> + <th> + <?php esc_html_e('Album description:', 'nggallery'); ?><br /> + <textarea class="search-input" id="album_desc" name="album_desc" cols="50" rows="2" style="width:95%" ><?php echo esc_attr( $album->albumdesc ); ?></textarea> + </th> + </tr> + <tr> + <th> + <?php esc_html_e('Select a preview image:', 'nggallery'); ?><br /> + <select id="previewpic" name="previewpic" style="width:95%" > + <?php if ($album->previewpic == 0) ?> + <option value="0"><?php esc_html_e('No picture', 'nggallery'); ?></option> + <?php + if ($album->previewpic == 0) + echo '<option value="0" selected="selected">' . __('No picture', 'nggallery') . '</option>'; + else { + $picture = nggdb::find_image($album->previewpic); + echo '<option value="' . $picture->pid . '" selected="selected" >'. $picture->pid . ' - ' . ( empty($picture->alltext) ? esc_attr( $picture->filename ) : esc_attr( $picture->alltext ) ) .' </option>'."\n"; + } + ?> + </select> + </th> + </tr> + <tr> + <th> + <?php esc_html_e('Page Link to', 'nggallery')?><br /> + <?php + if (!isset($album->pageid)) + $album->pageid = 0; + + wp_dropdown_pages(array( + 'echo' => TRUE, + 'name' => 'pageid', + 'selected' => $album->pageid, + 'show_option_none' => esc_html('Not linked', 'nggallery'), + 'option_none_value' => 0 + )); ?> + </th> + </tr> + + <?php do_action('ngg_edit_album_settings', $this->currentID); ?> + + <tr align="right"> + <td class="submit"> + <input type="submit" class="button-primary" name="update_album" value="<?php esc_attr_e('OK', 'nggallery'); ?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value="<?php esc_attr_e('Cancel', 'nggallery'); ?>"/> + </td> + </tr> + </table> + </form> +</div> +<!-- /#editalbum --> +<?php endif; ?> + +<?php + + } + + /** + * Create the album or gallery container + * + * @param integer $id (the prefix 'a' indidcates that you look for a album + * @param bool $used (object will be hidden) + * @return $output + */ + function get_container($id = 0, $used = false) { + global $wpdb, $nggdb; + + $obj = array(); + $preview_image = ''; + $class = ''; + + // if the id started with a 'a', then it's a sub album + if (substr( $id, 0, 1) == 'a') { + + if ( !$album = $this->albums[ substr( $id, 1) ] ) + return; + + $obj['id'] = $album->id; + $obj['name'] = $obj['title'] = $album->name; + $obj['type'] = 'album'; + $class = 'album_obj'; + + // get the post name + $post = get_post($album->pageid); + $obj['pagenname'] = ($post == null) ? '---' : $post->post_title; + + // for speed reason we limit it to 50 + if ( $this->num_albums < 50 ) { + $thumbURL = ""; + if ($album->previewpic) { + $image = $nggdb->find_image( $album->previewpic ); + if ($image) $thumbURL = @add_query_arg('timestamp', time(), $image->thumbURL); + } + $preview_image = $thumbURL ? '<div class="inlinepicture"><img rel="'.$album->previewpic.'" src="' . esc_url( $thumbURL ). '" /></div>' : ''; + } + + // this indicates that we have a album container + $prefix = 'a'; + + } else { + if ( !$gallery = $nggdb->find_gallery( $id ) ) + return; + + $obj['id'] = $gallery->gid; + $obj['name'] = $gallery->name; + $obj['title'] = $gallery->title; + $obj['type'] = 'gallery'; + + // get the post name + $post = get_post($gallery->pageid); + $obj['pagenname'] = ($post == null) ? '---' : $post->post_title; + + // for spped reason we limit it to 50 + if ( $this->num_galleries < 50 ) { + // set image url + $thumbURL = ""; + if ($gallery->previewpic) { + $image = $nggdb->find_image( $gallery->previewpic ); + $thumbURL = @add_query_arg('timestamp', time(), $image->thumbURL); + } + $preview_image = ( !is_null($thumbURL) ) ? '<div class="inlinepicture"><img rel="'.$gallery->previewpic.'" src="' . esc_url( $thumbURL ). '" /></div>' : ''; + } + + $prefix = ''; + } + + // add class if it's in use in other albums + $used = $used ? ' inUse' : ''; + + echo '<div id="gid-' . $prefix . $obj['id'] . '" class="groupItem' . $used . '"> + <div class="innerhandle"> + <div class="item_top ' . $class . '"> + <a href="#" class="min" title="close">[-]</a> + ID: ' . $obj['id'] . ' | ' . wp_html_excerpt( esc_html ( nggGallery::i18n( $obj['title'] ) ) , 25) . ' + </div> + <div class="itemContent"> + ' . $preview_image . ' + <p><strong>' . __('Name', 'nggallery') . ' : </strong>' . esc_html ( nggGallery::i18n( $obj['name'] ) ). '</p> + <p><strong>' . __('Title', 'nggallery') . ' : </strong>' . esc_html ( nggGallery::i18n( $obj['title'] ) ) . '</p> + <p><strong>' . __('Page', 'nggallery'). ' : </strong>' . esc_html ( nggGallery::i18n( $obj['pagenname'] ) ) . '</p> + ' . apply_filters('ngg_display_album_item_content', '', $obj) . ' + </div> + </div> + </div>'; + } + + /** + * get all used galleries from all albums + * + * @return array $used_galleries_ids + */ + function get_used_galleries() { + + $used = array(); + + if ($this->albums) { + foreach($this->albums as $key => $value) { + $sort_array = $this->albums[$key]->galleries; + foreach($sort_array as $galleryid) { + if (!in_array($galleryid, $used)) + $used[] = $galleryid; + } + } + } + + return $used; + } + + /** + * PHP5 style destructor + * + * @return bool Always true + */ + function __destruct() { + return true; + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/dropdown.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/dropdown.png new file mode 100644 index 0000000000000000000000000000000000000000..3ae61797fc9b2378cc12aa1211c1a6e192e9f393 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0y~yU=U<rVBq6mVqjo!>rZ&hz`(#+;1OBOz`%C|gc+x5 z^GP!>Fm!vmIEGZr**j???-2za*SQ*^LbDI#iS!)Io2EN0fl-Skyx<Xsr;116ex}?0 z|D`udCMN{4Ggv%-#+dy!(BJTwqyxvtuZ#^rr=qsm8!5KT%+!3^f6`L_w~3o(sqCkF z->>gA3_WARaOTb~^<^bWi`WDL@9+A)(#eIv;mE?eTkhGmE?%0pdk=nl)L+NY)>-a( U^PT8#1_lNOPgg&ebxsLQ0LLaxx&QzG literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-anim_basic_16x16.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-anim_basic_16x16.gif new file mode 100644 index 0000000000000000000000000000000000000000..085ccaecaf5fa5c34bc14cd2c2ed5cbbd8e25dcb GIT binary patch literal 1553 zcmZ?wbhEHb6krfwIKsg2|NsAY@7~?Ldw2Kl-K$ounmKc3M@L6_d3jn|T4-pfi;Ih~ zv9XeplAxd<gCGL~SUrd$8Y}+i_Hzvhc6JPKHPSO+W@KPsQ2fcl%FZCbpaU`l<O~MZ zas?G9#!i)|E1Z~=S<Wj@Sgm2>^Wen6HC)Dr4{u;z=E8VX;F*U?+_otWFC~6V2uNwz zutO=7t#xyNGV8g-)}|Qi`DdFC8?NG#kmAZeZ)Ih`RmSGP#G+E8W6Z?O%)-jl6tB$4 z$u7W}!qi~O#BMxYiMiO6nK@Mv)h+xC0t^hS$qFic7aBVlEwz-Cxp)_LaUZexW_%{; zph+ux_7nyuDelXUCwg@XO=wLpnenO3hJ&%t;?1TBPE3tIn&Mk$7P|yEgfcc>UNAv4 zW&QQ276Bd(#xyPV%zC9J4OY!Ifv`xXK4mm}1sM1l7+4b&RQduEC#>k`;1Xu>*0SQf z!d5CZMc|^4@<E4^2nKPkW<@mv8#$&>WpyEudHoMF8gAsut6y}8>{t|+aVSwY`}-Y@ zmV>YLWZIe;XZd}SVrdXys!?HeZe&c;bZAPe!LStM*(3#(z9h$aj|3e$mDHHIblG1k zz0fjqmVV6Gc%nf-i?6jwJ0a@@pGgOwQNjrY(@7g7B1Ab@Bo|#QI53IzA?L>oeUFWk z6Z9@{@+^CuF`@0u*B~WE=GfqHW~bPOx~8^<E)5K8`4|{jJwahyIAO(%j`N3?y}9MY zt0R{eeIer#&xGTLo@lYUcOK^oy)$vzilZJ3nih-Kx}Poax*8XJ#bL&-zGJ#tF1e?d z-B`jH!qVP~H8mB2OgEUIAtJD-u%mqf8+*3Igo7tmHgK3bGP_F&q_j1?+@N77vgp78 z1CAc1CYF?g!kiIH8Wtsla-K^KQk)ndaqdM(<G~DtLmCGcH5@8aj8_T>WC~+U<>ikQ z;LX%z;g1qXs8HtNS2wQYuhE>>hv7$1(1PM~g2IFq79Fk!m%Z`a(aO~AX5h@#IE(S_ zfe?od5x0p6Gn`C>Rvh4L{m|LuD8bm+ki;ByG^ub$uMo=`$xTfP2R1M_F>*?XZ$EaJ zK~q1Gu_`#YfsbE}FRX!+yFdlSQbq<yB8pQ`acZ*QQ8HX7aBC6sp>+mbI~r$nJ8=rK z2OTot;wW2vSm}gQAJ4j*IRz_LEm<6q)N%Fh61Vvi851|j@i#j<s%b^E9dA6S;m~2s zxa$gs&IT5K4c=M-o<MCo0nQ*4D;XFdc^8yl0t6<ksBmgh;M3NcqZ@rB<-xYbhl{i) zXF3Q-a%m<oHu@~$vRC&^SmEW~)V%FS5>LRsm5)AV^oj5`pZXZFLxPpbiBZ!)V9}xL zJ0e782P*S0)(UX)`SIm*E0uU^M|q;y3-f9WD8D4IF|F)cX0hhg&vh%ct{mm*Z!u)q zHkGd_LqgD?sc1umh3E#SgY7~hQd<KP*?;yjbsP;lqQEA>wN&w<uZ&Aej^aWI6AslI zOit}G-<(nfxB^@v4cOQWuv!?apwg!zGUbH?$I=6f4td)32cA0kf$z)bKBm~09~8Ev zD76`}N?NdTx-TyDu;g6N;Miz1O=!{l6Ad4n#3rm#dZ?q|(%$5up)Mo9WU~3-UT3Zt zgGP=7#!w$6)*?tY;Y2GIQxsJCQat&36V@F*ye9jTz=j`Ahd$46QsCOolq>RLDp#N5 zNpm9|5w7Ny8UeBr5id8bYWl&(IeC(Zg+q{PQz8$iw_v;0!Uo}gE-M-j_Pj81W#r}% Xs1{&huUBbqNfRhBZF5#tWUvMRh_K`K literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_222222_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b273ff111d219c9b9a8b96d57683d0075fb7871a GIT binary patch literal 4369 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 B0@(ln literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_cccccc_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_cccccc_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..9254e05cfb964be56241b5bb4d0a0eb51c02df80 GIT binary patch literal 4369 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 Bpn3oR literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_ffffff_256x240.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..42f8f992c727ddaa617da224a522e463df690387 GIT binary patch literal 4369 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 B%d`Lh literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.css new file mode 100644 index 000000000..09f1892cf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/jquery.ui.tabs.css @@ -0,0 +1,158 @@ +/* Caution! Ensure accessibility in print and other media types... */ +@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */ + .ui-tabs-hide { + display: none; + } +} + +/* Hide useless elements in print layouts... */ +@media print { + .ui-tabs-nav { + display: none; + } +} + +/* Skin */ +#slider { + border-color:#EBEBEB rgb(204, 204, 204) rgb(204, 204, 204) rgb(235, 235, 235); + border-style:solid; + border-width:1px; + margin:15px 15% 0pt 15px; + padding:2px; +} +#tabs{ + display: block; + background:#F1F1F1 none repeat scroll 0%; + font-size:14px; + overflow:hidden; +} + +.ui-tabs-nav { + list-style: none; + margin: 0; + padding: 0 0 0 10px; +} +.ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */ + display: block; + clear: both; + content: " "; +} +.ui-tabs-nav li { + float: left; + padding: 6px 5px; + min-width: 84px; /* be nice to Opera */ + margin: 2px 2px 0px 1px !important; + text-decoration: none; + list-style: none; +} +.ui-tabs-nav a, .ui-tabs-nav a span { + display: block; + padding: 0 1px; +} + +.ui-tabs-nav a { + margin: 1px 0 0; /* position: relative makes opacity fail for disabled tab in IE */ + padding-left: 0; + color: #2583AD; + line-height: 1.2; + text-align: center; + text-decoration: none; + white-space: nowrap; /* required in IE 6 */ + outline: 0; /* prevent dotted border in Firefox */ +} +.ui-tabs-nav .ui-tabs-selected{ + background: #6D6D6D url(../images/menu-bits.gif) repeat-x scroll left top; + border-color: #6D6D6D; + color: #FFFFFF; + text-shadow:0 -1px 0 #666666; + + -moz-border-radius-topright: 6px; + -khtml-border-top-right-radius: 6px; + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -moz-border-radius-topleft: 6px; + -khtml-border-top-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; +} + +.ui-tabs-selected a, +.ui-tabs-selected a:hover { + color:#FFFFFF !important; +} + +.ui-tabs-nav .ui-tabs-selected a, +.ui-tabs-nav .ui-tabs-selected a:hover { + position: relative; + top: 1px; + z-index: 2; + margin-top: 0; +} + +.ui-tabs-nav li a:hover { + color:#D54E21; +} + +.ui-tabs-nav a span { + width: 64px; /* IE 6 treats width as min-width */ + min-width: 64px; + height: 18px; /* IE 6 treats height as min-height */ + min-height: 18px; + padding-top: 6px; + padding-right: 0; +} +*>.ui-tabs-nav a span { /* hide from IE 6 */ + width: auto; + height: auto; +} +.ui-tabs-nav .ui-tabs-selected a span { + padding-bottom: 1px; +} +.ui-tabs-nav .ui-tabs-selected a, .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active { + background-position: 100% -150px; +} +.ui-tabs-nav a, .ui-tabs-nav .ui-tabs-disabled a:hover, .ui-tabs-nav .ui-tabs-disabled a:focus, .ui-tabs-nav .ui-tabs-disabled a:active { + background-position: 100% -100px; +} +.ui-tabs-nav .ui-tabs-selected a span, .ui-tabs-nav a:hover span, .ui-tabs-nav a:focus span, .ui-tabs-nav a:active span { + background-position: 0 -50px; +} +.ui-tabs-nav a span, .ui-tabs-nav .ui-tabs-disabled a:hover span, .ui-tabs-nav .ui-tabs-disabled a:focus span, .ui-tabs-nav .ui-tabs-disabled a:active span { + background-position: 0 0; +} +.ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ + cursor: text; +} +.ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active, +.ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */ + cursor: pointer; +} +.ui-tabs-disabled { + opacity: .4; + filter: alpha(opacity=40); +} +.ui-tabs-panel { + border-top: 1px solid #97a5b0 !important; + padding: 1em 8px; + background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */ + + /* overwrite wp-admin */ + border:none !important; + height:100% !important; + margin:0pt 0pt 0pt 0px !important; + overflow:visible !important; +} + +.ui-tabs-panel a { + display:inline; +} + + +/* Additional IE specific bug fixes... */ +* html .ui-tabs-nav { /* auto clear, @ IE 6 & IE 7 Quirks Mode */ + display: inline-block; +} +*:first-child+html .ui-tabs-nav { /* @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */ + display: inline-block; +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/menu.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/menu.css new file mode 100644 index 000000000..f59d26c3e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/menu.css @@ -0,0 +1,3 @@ +#icon-nextgen-gallery { + background:url("../images/nextgen_32_grey.png") no-repeat scroll 1px 1px transparent; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.css new file mode 100644 index 000000000..f77242410 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggColorPicker.css @@ -0,0 +1,14 @@ +#colorSelector{ + background:transparent url(../images/select.png) repeat scroll 0 0; + height:36px; + position:relative; + width:36px; +} +#colorSelector div{ + background:transparent url(../images/select.png) repeat scroll center center; + height:30px; + left:3px; + position:absolute; + top:3px; + width:30px; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.css new file mode 100644 index 000000000..73a0ed830 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggSorter.css @@ -0,0 +1,76 @@ +.imageBox,.imageBoxHighlighted{ + width:130px; /* Total width of each image box */ + height:160px; /* Total height of each image box */ + float:left; +} +.imageBox_theImage{ + width:110px; /* Width of image */ + height:125px; /* Height of image */ + + /* + Don't change these values * + */ + background-position: center; + background-repeat: no-repeat; + margin: 0 auto; + margin-bottom:2px; +} + +.imageBox .imageBox_theImage{ + border:1px solid #DDD; /* Border color for not selected images */ + padding:2px; +} +.imageBoxHighlighted .imageBox_theImage{ + border:3px solid #316AC5; /* Border color for selected image */ + padding:0px; + +} +.imageBoxHighlighted span{ /* Title of selected image */ + background-color: #316AC5; + color:#FFFFFF; + padding:2px; +} + +.imageBox_label{ /* Title of images - both selected and not selected */ + text-align:center; + font-family: arial; + font-size:11px; + padding-top:2px; + margin: 0 auto; +} + +/* +DIV that indicates where the dragged image will be placed +*/ +#insertionMarker{ + height:150px; + width:6px; + position:absolute; +} + +#insertionMarkerLine{ + width:6px; /* No need to change this value */ + height:145px; /* To adjust the height of the div that indicates where the dragged image will be dropped */ + +} + +#insertionMarker img{ + float:left; +} + +/* +DIV that shows the image as you drag it +*/ +#dragDropContent{ + + opacity:0.4; /* 40 % opacity */ + filter:alpha(opacity=40); /* 40 % opacity */ + + /* + No need to change these three values + */ + position:absolute; + z-index:10; + display:none; + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/ngg_social_media.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/ngg_social_media.css new file mode 100644 index 000000000..7b8e23c4a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/ngg_social_media.css @@ -0,0 +1,33 @@ +#ngg_social_media { + margin-top: -2px; + width: 85%; + position: relative; + overflow: hidden; + height: 20px; +} + +.gallery_page_nggallery-manage-gallery #ngg_social_media, +.gallery_page_nggallery-manage-album #ngg_social_media, +.gallery_page_nggallery-tags #ngg_social_media, +.gallery_page_nggallery-roles #ngg_social_media, +.gallery_page_nggallery-about #ngg_social_media, +.toplevel_page_nextgen-gallery #ngg_social_media { + float: right; + width: 55%; +} + +#ngg_facebook_like { + position: absolute; + right: 0px; + width: 81px; + overflow: hidden; +} + +#ngg_social_media .twitter-follow-button { + position: absolute; + right: 85px; +} + +#slider { + margin-top: 5px !important; +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css new file mode 100644 index 000000000..b3cc7f277 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css @@ -0,0 +1,458 @@ +/* +** NextGEN Gallery Style for Wordpress 3.3 +*/ + +#iframely h2.title { + display: none; +} + +/* SETTINGS FOR Overview Gallery */ + +#newversion { + border-color:#CCCCCC; + border-style:solid; + border-width:1px; + margin-right:7px; + margin-top:10px; + padding:2px; +} + +.ngg-dashboard-widget ul.settings span { + padding-left : 10px; + color:#2583AD; + font-weight:bold; +} + +.ngg-overview .postbox .handlediv { + float:right; + height:24px; + width:24px; +} + +.warning { + color: #9F6000; + background-color: #FEEFB3; + border: 1px solid; + margin: 5px 0px; + padding:5px; +} + +#donator_message { + margin:5px 0 15px; + background-color:#BDE5F8; + border-color:#00529B; + -moz-border-radius-bottomleft:3px; + -moz-border-radius-bottomright:3px; + -moz-border-radius-topleft:3px; + -moz-border-radius-topright:3px; + border-style:solid; + border-width:1px; + margin:5px 15px 2px; + padding:0 0.6em; +} + +#donator_message p{ + line-height:1; + margin:0.5em 0; + padding:2px; + padding-bottom:10px; +} + +#donator_message span{ + padding-top:10px; + float:right; +} + +#plugin_check img { + float: right; +} + +#plugin_check p.message { + font-size: 90%; + color: #666; +} +/* SETTING FOR FLASH UPLOAD BUTTON */ +.swfupload { + position:absolute; + z-index:1; + vertical-align:top; +} + +/* SETTINGS FOR THE OPTIONS TABLE */ +.ngg-options th { + width:22%; +} + +a.switch-expert { + text-decoration:none; +} + +/* WATERMARK */ +#wm-preview { + float:right; + font-size:90%; + width:35%; + border-color:#EBEBEB rgb(204, 204, 204) rgb(204, 204, 204) rgb(235, 235, 235); + border-style:solid; + border-width:1px; + margin-bottom:10px; + margin-left:10px; + margin-right:8px; + padding:2px; +} +#wm-preview h3{ + background:#F9F9F9 none repeat scroll 0%; + font-size:14px; + font-weight:bold; + margin:0pt 0pt 10px; + padding:8px 5px; +} + +#wm-position { + width:100%; + margin-left:40px; +} + +.wm-table { + border-collapse:collapse; + margin-top:1em; + width: 60%; + clear:none; +} +.wm-table td { + border-bottom:8px solid #FFFFFF; + line-height:20px; + margin-bottom:9px; + padding:10px; +} +.wm-table th { + border-bottom:8px solid #FFFFFF; + padding:10px; + text-align:left; +} +.wm-table tr { + background:#F9F9F9 none repeat scroll 0%; +} + +/* SETTINGS FOR MANAGE TABLE */ + +div#poststuff #gallerydiv { + cursor:pointer; +} + +p#ngg-inlinebutton { + float:right; + margin:0pt; + position:relative; + top:-25pt; +} + +.fixed tbody th.column-cb { + padding:7px 0 22px; +} + +.fixed .column-thumbnail{ + width:85px; +} + +.fixed .column-thumbnail img{ + max-height:80px; + max-width:80px; +} + +.fixed .column-id { + width: 5em; +} + +.fixed .column-title { + width: 25%; +} + +.fixed .column-description { + width: 40%; +} + +.fixed .column-exclude, .fixed .column-action, .fixed .column-delete { + width: 10%; +} + +/* SETTINGS FOR PROGRESS BAR */ + +div .progressborder { + border:1px solid #DDDDDD; + display: block; + height: 30px; + background-color: #464646; + width: 100%; + margin-top: 15px; + margin-bottom: 15px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +div .progressbar { + border: medium none ; + display: block; + height: 30px; + background-color: #D54E21; + width: 0%; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +div .progressbar span { + display: inline; + position: absolute; + color: white; + font-weight: bold; + padding: 5px 0 0 5px; +} + +.show_details +{ + height: 16px; + line-height: 20px; + overflow: hidden; + min-width: 8em; + padding: 3px; + cursor:pointer; +} + +.show_details span +{ + border-bottom:1px solid #999; + white-space:pre; +} +.show_details:hover +{ + height: auto; + overflow: visible; + border: 1px solid #999; +} + + /* SETTINGS FOR ALBUM PAGE */ + +.albumnav select[name="act_album"] { + width:150px; +} + +.albumnav span { + padding-left: 50px; +} + +#editalbum select[name='pageid'] { + width: 95%; +} + +div .groupItem +{ + cursor: move; + width: 295px; + padding: 5px; + line-height: 1.5; +} + +div .innerhandle { + background-color:#FBFBFB; +} + +.groupItem .item_top +{ + background-color:#2683AE; + color: #FFFFFF; + font-weight:bold; + line-height: 28px; + height: 28px; + padding: 0 5px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} + +.groupItem .album_obj +{ + background-color:#D54E21; +} + +.groupItem .item_top a +{ + color:#FFFFFF; + float:right; + text-decoration: none; +} + +.groupItem .item_top a:hover +{ + color:#FFFFFF; +} + +.itemContent { + border-color:#DFDFDF; + border-style:none solid solid; + border-width:0 1px 1px; + padding:2px 0 20px 2px; +} + +.itemContent p { + border: 0; + margin: 0; + padding: 0; +} + +.inlinepicture +{ + float:left; + display:inline; + margin:0pt; + padding:0pt 3px 1px; +} + +.inlinepicture img +{ + margin:3px; + max-height:60px; +} + +.sort_placeholder +{ + border:1px dashed #bba !important; + margin: 5px; + background: #F9F9F9; +} + +.container { + margin-top: 10px; +} + +.target-album { + margin:10px 685px 10px 10px; +} + +.widget-right { + float:right; + margin:0pt 10px; + width:315px; +} + +.widget-holder { + min-height: 400px; + padding-top:1px; +} + +.target { + background-color:#F1F1F1; +} + +div.widget-top h3 { + text-align:center; + line-height:25px; + margin: 0; + padding: 5px 12px; + font-size: 13px; +} + +div.widget-top { + text-shadow:0 1px 0 #FFFFFF; + background-repeat: repeat-x; + background-position: 0 0; + font-size: 13px; +} + +.ui-autocomplete-start { background-position: 99% center; } + +/* SETTINGS FOR SORT GALLERY */ + +#sortGallery { + position:relative; +} + +p#sortButton{ + margin:0; + position:absolute; + right:0; + top:0; +} + +.imageBox,.imageBoxHighlighted{ + width:130px; /* Total width of each image box */ + height:160px; /* Total height of each image box */ + float:left; + overflow: hidden; + text-overflow: ellipsis; + padding: 5px; +} +.imageBox_theImage{ + width:110px; /* Width of image */ + height:125px; /* Height of image */ + + background-position: center; + background-repeat: no-repeat; + margin: 0 auto; + margin-bottom:2px; +} + +.imageBox_label{ /* Title of images - both selected and not selected */ + text-align:center; + font-family: arial; + font-size:11px; + padding-top:2px; + margin: 0 auto; +} + +/* +DIV that indicates where the dragged image will be placed +*/ + +#insertionMarker{ + height:150px; + width:6px; + position:absolute; +} + +#insertionMarkerLine{ + width:6px; /* No need to change this value */ + height:145px; /* To adjust the height of the div that indicates where the dragged image will be dropped */ + +} + +#insertionMarker img{ + float:left; +} + +/* +DIV that shows the image as you drag it +*/ + +#dragDropContent{ + + opacity:0.4; /* 40 % opacity */ + filter:alpha(opacity=40); /* 40 % opacity */ + + /* + No need to change these three values + */ + position:absolute; + z-index:10; + display:none; + +} + +/* UPGRADE PAGE */ + +.error_inline { + background:#FFEBE8 none repeat scroll 0%; + border:1px solid #CC0000; + margin:5px auto; + padding:10px; +} + +/* ABOUT PAGE */ +.ngg-list { + font-size:11px; + margin-left:15px; + list-style-position:inside; + list-style-type:disc; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css new file mode 100644 index 000000000..eec3fbe41 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/css/tags-admin.css @@ -0,0 +1,10 @@ +.ngg_wrap .auto_list{width:98%;margin:3px 0;padding:3px 5px;} +.ngg_wrap .list_tags {width:240px;vertical-align:top;} +.ngg_wrap .forms_manage {vertical-align:top;} +.ngg_wrap .forms_manage h3 {margin-bottom:5px;} +.ngg_wrap .forms_manage .form-table {margin-top:0;} +.ngg_wrap .sort_order h3 {margin:0;} +.ngg_wrap #ajax_area_tagslist {} +.ngg_wrap #ajax_area_tagslist ul{list-style:square;margin:10px 0 10px 20px;padding:0;} +.ngg_wrap #ajax_area_tagslist ul li{margin:0;padding:0;line-height:1.4;} +.ngg_wrap #ajax_area_tagslist ul li span{cursor:pointer;} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php new file mode 100644 index 000000000..3722f6a66 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/edit-thumbnail.php @@ -0,0 +1,183 @@ +<?php + +/** + +Custom thumbnail for NGG +Author : Simone Fumagalli | simone@iliveinperego.com +More info and update : http://www.iliveinperego.com/custom_thumbnail_for_ngg/ + +Credits: + NextGen Gallery : Alex Rabe | http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/ + jCrop : Kelly Hallman <khallman@wrack.org> | http://deepliquid.com/content/Jcrop.html + +**/ + +require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); +require_once( NGGALLERY_ABSPATH . '/lib/image.php' ); + +if ( !is_user_logged_in() ) + die(__('Cheatin’ uh?')); + +if ( !current_user_can('NextGEN Manage gallery') ) + die(__('Cheatin’ uh?')); + +global $wpdb; + +$id = (int) $_GET['id']; + +// let's get the image data +$picture = nggdb::find_image($id); + +include_once( nggGallery::graphic_library() ); +$ngg_options=get_option('ngg_options'); + +$thumb = new ngg_Thumbnail($picture->imagePath, TRUE); +$thumb->resize(350,350); +// we need the new dimension +$resizedPreviewInfo = $thumb->newDimensions; +$thumb->destruct(); + +$preview_image = NGGALLERY_URLPATH . 'nggshow.php?pid=' . $picture->pid . '&width=350&height=350'; +$imageInfo = @getimagesize($picture->imagePath); +$rr = round($imageInfo[0] / $resizedPreviewInfo['newWidth'], 2); + +if ( ($ngg_options['thumbfix'] == 1) ) { + + $WidthHtmlPrev = $ngg_options['thumbwidth']; + $HeightHtmlPrev = $ngg_options['thumbheight']; + +} +else { + // H > W + if ($imageInfo[1] > $imageInfo[0]) { + $HeightHtmlPrev = $ngg_options['thumbheight']; + $WidthHtmlPrev = round($imageInfo[0] / ($imageInfo[1] / $ngg_options['thumbheight']),0); + } + else { + $WidthHtmlPrev = $ngg_options['thumbwidth']; + $HeightHtmlPrev = round($imageInfo[1] / ($imageInfo[0] / $ngg_options['thumbwidth']),0); + } +} + +$thumbnail_crop_frame = isset($picture->meta_data['thumbnail']['crop_frame']) ? $picture->meta_data['thumbnail']['crop_frame'] : null; +$default_crop_js_parameter = null; + +if ($thumbnail_crop_frame != null) +{ + $crop_x = round(((float) $thumbnail_crop_frame['x']) / $rr); + $crop_y = round(((float) $thumbnail_crop_frame['y']) / $rr); + $crop_width = round(((float) $thumbnail_crop_frame['width']) / $rr); + $crop_height = round(((float) $thumbnail_crop_frame['height']) / $rr); + $crop_x2 = $crop_x + $crop_width; + $crop_y2 = $crop_y + $crop_height; + + $default_crop_js_parameter = 'setSelect: [' . $crop_x . ',' . $crop_y . ',' . $crop_x2 . ',' . $crop_y2 . '],'; +} + +?> +<script src="<?php echo NGGALLERY_URLPATH; ?>/admin/js/Jcrop/js/jquery.Jcrop.js"></script> +<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH; ?>/admin/js/Jcrop/css/jquery.Jcrop.css" type="text/css" /> + +<script type="text/javascript"> +//<![CDATA[ + var status = 'start'; + var xT, yT, wT, hT, selectedCoords; + var selectedImage = "thumb<?php echo $id ?>"; + + function showPreview(coords) + { + if (status != 'edit') { + jQuery('#actualThumb').hide(); + jQuery('#previewNewThumb').show(); + status = 'edit'; + } + + var rx = <?php echo $WidthHtmlPrev; ?> / coords.w; + var ry = <?php echo $HeightHtmlPrev; ?> / coords.h; + + jQuery('#imageToEditPreview').css({ + width: Math.round(rx * <?php echo $resizedPreviewInfo['newWidth']; ?>) + 'px', + height: Math.round(ry * <?php echo $resizedPreviewInfo['newHeight']; ?>) + 'px', + marginLeft: '-' + Math.round(rx * coords.x) + 'px', + marginTop: '-' + Math.round(ry * coords.y) + 'px' + }); + + xT = coords.x; + yT = coords.y; + wT = coords.w; + hT = coords.h; + + jQuery("#sizeThumb").html(xT+" "+yT+" "+wT+" "+hT); + }; + + function updateThumb() { + + if ( (wT == 0) || (hT == 0) || (wT == undefined) || (hT == undefined) ) { + alert("<?php _e('Select with the mouse the area for the new thumbnail', 'nggallery'); ?>"); + return false; + } + + jQuery.ajax({ + url: ajaxurl, + type : "POST", + data: {x: xT, y: yT, w: wT, h: hT, action: 'createNewThumb', id: <?php echo $id; ?>, rr: <?php echo str_replace(',','.',$rr); ?>}, + cache: false, + success: function(data){ + var d = new Date(); + newUrl = jQuery("#"+selectedImage).attr("src") + "?" + d.getTime(); + jQuery("#"+selectedImage).attr("src" , newUrl); + + jQuery('#thumbMsg').html("<?php _e('Thumbnail updated', 'nggallery') ?>"); + jQuery('#thumbMsg').css({'display':'block'}); + setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500); + }, + error: function() { + jQuery('#thumbMsg').html("<?php _e('Error updating thumbnail', 'nggallery') ?>"); + jQuery('#thumbMsg').css({'display':'block'}); + setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500); + } + }); + + }; +//]]> +</script> + +<table width="98%" align="center" style="border:1px solid #DADADA"> + <tr> + <td rowspan="3" valign="middle" align="center" width="350" style="background-color:#DADADA;"> + <img src="<?php echo esc_url( $preview_image ); ?>" alt="" id="imageToEdit" /> + </td> + <td width="300" style="background-color : #DADADA;"> + <small style="margin-left:6px; display:block;"><?php esc_html_e('Select the area for the thumbnail from the picture on the left.', 'nggallery'); ?></small> + </td> + </tr> + <tr> + <td align="center" width="300" height="320"> + <div id="previewNewThumb" style="display:none;width:<?php echo $WidthHtmlPrev; ?>px;height:<?php echo $HeightHtmlPrev; ?>px;overflow:hidden; margin-left:5px;"> + <img src="<?php echo esc_url( $preview_image ); ?>" id="imageToEditPreview" /> + </div> + <div id="actualThumb"> + <img src="<?php echo esc_url( $picture->thumbURL ); ?>?<?php echo time()?>" /> + </div> + </td> + </tr> + <tr style="background-color:#DADADA;"> + <td> + <input type="button" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>" onclick="updateThumb()" class="button-secondary" style="float:left; margin-left:4px;"/> + <div id="thumbMsg" style="color:#FF0000; display : none;font-size:11px; float:right; width:60%; height:2em; line-height:2em;"></div> + </td> + </tr> +</table> + +<script type="text/javascript"> +//<![CDATA[ + jQuery(document).ready(function(){ + jQuery('#imageToEdit').Jcrop({ + onChange: showPreview, + onSelect: showPreview, + <?php echo $default_crop_js_parameter; ?> + aspectRatio: <?php echo str_replace(',', '.', round($WidthHtmlPrev/$HeightHtmlPrev, 3)); ?> + }); + }); +//]]> +</script> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php new file mode 100644 index 000000000..c5f1a3256 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/functions.php @@ -0,0 +1,1461 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * nggAdmin - Class for admin operation + * + * @package NextGEN Gallery + * @author Alex Rabe + * + * @access public + */ +class nggAdmin{ + + /** + * create a new gallery & folder + * + * @class nggAdmin + * @param string $name of the gallery + * @param string $defaultpath + * @param bool $output if the function should show an error messsage or not + * @return + */ + function create_gallery($title, $defaultpath, $output = true) { + + global $user_ID; + + // get the current user ID + get_currentuserinfo(); + + //cleanup pathname + $name = sanitize_file_name( sanitize_title($title) ); + $name = apply_filters('ngg_gallery_name', $name); + $nggRoot = WINABSPATH . $defaultpath; + $txt = ''; + + // No gallery name ? + if ( empty($name) ) { + if ($output) nggGallery::show_error( __('No valid gallery name!', 'nggallery') ); + return false; + } + + // check for main folder + if ( !is_dir($nggRoot) ) { + if ( !wp_mkdir_p( $nggRoot ) ) { + $txt = __('Directory', 'nggallery').' <strong>' . esc_html( $defaultpath ) . '</strong> '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!<br />'; + $txt .= __('Check this link, if you didn\'t know how to set the permission :', 'nggallery').' <a href="http://codex.wordpress.org/Changing_File_Permissions">http://codex.wordpress.org/Changing_File_Permissions</a> '; + if ($output) nggGallery::show_error($txt); + return false; + } + } + + // check for permission settings, Safe mode limitations are not taken into account. + if ( !is_writeable( $nggRoot ) ) { + $txt = __('Directory', 'nggallery').' <strong>' . esc_html( $defaultpath ) . '</strong> '.__('is not writeable !', 'nggallery').'<br />'; + $txt .= __('Check this link, if you didn\'t know how to set the permission :', 'nggallery').' <a href="http://codex.wordpress.org/Changing_File_Permissions">http://codex.wordpress.org/Changing_File_Permissions</a> '; + if ($output) nggGallery::show_error($txt); + return false; + } + + // 1. Check for existing folder + if ( is_dir(WINABSPATH . $defaultpath . $name ) && !(SAFE_MODE) ) { + $suffix = 1; + do { + $alt_name = substr ($name, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "_$suffix"; + $dir_check = is_dir(WINABSPATH . $defaultpath . $alt_name ); + $suffix++; + } while ( $dir_check ); + $name = $alt_name; + } + // define relative path to gallery inside wp root folder + $nggpath = $defaultpath . $name; + + // 2. Create new gallery folder + if ( !wp_mkdir_p (WINABSPATH . $nggpath) ) + $txt = __('Unable to create directory ', 'nggallery') . esc_html( $nggpath ) . '!<br />'; + + // 3. Check folder permission + if ( !is_writeable(WINABSPATH . $nggpath ) ) + $txt .= __('Directory', 'nggallery').' <strong>' . esc_html( $nggpath ) . '</strong> '.__('is not writeable !', 'nggallery').'<br />'; + + // 4. Now create thumbnail folder inside + if ( !is_dir(WINABSPATH . $nggpath . '/thumbs') ) { + if ( !wp_mkdir_p ( WINABSPATH . $nggpath . '/thumbs') ) + $txt .= __('Unable to create directory ', 'nggallery').' <strong>' . esc_html( $nggpath ) . '/thumbs !</strong>'; + } + + if (SAFE_MODE) { + $help = __('The server setting Safe-Mode is on !', 'nggallery'); + $help .= '<br />'.__('If you have problems, please create directory', 'nggallery').' <strong>' . esc_html( $nggpath ) . '</strong> '; + $help .= __('and the thumbnails directory', 'nggallery').' <strong>' . esc_html( $nggpath ) . '/thumbs</strong> '.__('with permission 777 manually !', 'nggallery'); + if ($output) nggGallery::show_message($help); + } + + // show a error message + if ( !empty($txt) ) { + if (SAFE_MODE) { + // for safe_mode , better delete folder, both folder must be created manually + @rmdir(WINABSPATH . $nggpath . '/thumbs'); + @rmdir(WINABSPATH . $nggpath); + } + if ($output) nggGallery::show_error($txt); + return false; + } + + // now add the gallery to the database + $galleryID = nggdb::add_gallery($title, $nggpath, '', 0, 0, $user_ID ); + // here you can inject a custom function + do_action('ngg_created_new_gallery', $galleryID); + + // return only the id if defined + if ($output == false) + return $galleryID; + + if ($galleryID != false) { + $message = __('Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.<br/>','nggallery'); + $message = sprintf($message, $galleryID, '<strong>[nggallery id=' . $galleryID . ']</strong>'); + $message .= '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $galleryID . '" >'; + $message .= __('Edit gallery','nggallery'); + $message .= '</a>'; + + if ($output) nggGallery::show_message($message); + } + return true; + } + + /** + * nggAdmin::import_gallery() + * TODO: Check permission of existing thumb folder & images + * + * @class nggAdmin + * @param string $galleryfolder contains relative path to the gallery itself + * @return void + */ + function import_gallery($galleryfolder) { + + global $wpdb, $user_ID; + + // get the current user ID + get_currentuserinfo(); + + $created_msg = ''; + + // remove trailing slash at the end, if somebody use it + $galleryfolder = untrailingslashit($galleryfolder); + $gallerypath = WINABSPATH . $galleryfolder; + + if (!is_dir($gallerypath)) { + nggGallery::show_error(__('Directory', 'nggallery').' <strong>' . esc_html( $gallerypath ) .'</strong> '.__('doesn`t exist!', 'nggallery')); + return ; + } + + // read list of images + $new_imageslist = nggAdmin::scandir($gallerypath); + + if (empty($new_imageslist)) { + nggGallery::show_message(__('Directory', 'nggallery').' <strong>' . esc_html( $gallerypath ) . '</strong> '.__('contains no pictures', 'nggallery')); + return; + } + + // check & create thumbnail folder + if ( !nggGallery::get_thumbnail_folder($gallerypath) ) + return; + + // take folder name as gallery name + $galleryname = basename($galleryfolder); + $galleryname = apply_filters('ngg_gallery_name', $galleryname); + + // check for existing gallery folder + $gallery_id = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE path = '$galleryfolder' "); + + if (!$gallery_id) { + // now add the gallery to the database + $gallery_id = nggdb::add_gallery( $galleryname, $galleryfolder, '', 0, 0, $user_ID ); + if (!$gallery_id) { + nggGallery::show_error(__('Database error. Could not add gallery!','nggallery')); + return; + } + else { + do_action('ngg_created_new_gallery', $gallery_id); + } + $created_msg = _n( 'Gallery', 'Galleries', 1, 'nggallery' ) . ' <strong>' . esc_html( $galleryname ) . '</strong> ' . __('successfully created!','nggallery') . '<br />'; + } + + // Look for existing image list + $old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery_id' "); + + // if no images are there, create empty array + if ($old_imageslist == NULL) + $old_imageslist = array(); + + // check difference + $new_images = array_diff($new_imageslist, $old_imageslist); + + // all images must be valid files + foreach($new_images as $key => $picture) { + + // filter function to rename/change/modify image before + $picture = apply_filters('ngg_pre_add_new_image', $picture, $gallery_id); + $new_images[$key] = $picture; + + if (!@getimagesize($gallerypath . '/' . $picture) ) { + unset($new_images[$key]); + @unlink($gallerypath . '/' . $picture); + } + } + + // add images to database + $image_ids = nggAdmin::add_Images($gallery_id, $new_images); + do_action('ngg_after_new_images_added', $gallery_id, $image_ids); + + //add the preview image if needed + nggAdmin::set_gallery_preview ( $gallery_id ); + + // now create thumbnails + nggAdmin::do_ajax_operation( 'create_thumbnail' , $image_ids, __('Create new thumbnails','nggallery') ); + + //TODO:Message will not shown, because AJAX routine require more time, message should be passed to AJAX + $message = $created_msg . count($image_ids) .__(' picture(s) successfully added','nggallery'); + $message .= ' [<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $gallery_id . '" >'; + $message .= __('Edit gallery','nggallery'); + $message .= '</a>]'; + + nggGallery::show_message($message); + + return; + + } + + /** + * Scan folder for new images + * + * @class nggAdmin + * @param string $dirname + * @return array $files list of image filenames + */ + function scandir( $dirname = '.' ) { + $ext = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif') ); + + $files = array(); + if( $handle = opendir( $dirname ) ) { + while( false !== ( $file = readdir( $handle ) ) ) { + $info = pathinfo( $file ); + // just look for images with the correct extension + if ( isset($info['extension']) ) { + if ( in_array( strtolower($info['extension']), $ext) ) { + if (!seems_utf8($file)) { + $file = utf8_encode( $file ); + } + + $files[] = $file; + } + } + } + + closedir( $handle ); + } + sort( $files ); + return ( $files ); + } + + /** + * nggAdmin::createThumbnail() - function to create or recreate a thumbnail + * + * @class nggAdmin + * @param object | int $image contain all information about the image or the id + * @return string result code + * @since v1.0.0 + */ + function create_thumbnail($image) { + + if (is_object($image)) { + if (isset($image->id)) { + $image = $image->id; + } + elseif (isset($image->pid)) { + $image = $image->pid; + } + } + + $registry = C_Component_Registry::get_instance(); + $storage = $registry->get_utility('I_Gallery_Storage'); + + // XXX NextGEN Legacy wasn't handling watermarks or reflections at this stage, so we're forcefully disabling them to maintain compatibility + $params = array('watermark' => false, 'reflection' => false); + $result = $storage->generate_thumbnail($image, $params); + + if (!$result) + { + // XXX there isn't any error handling unfortunately at the moment in the generate_thumbnail functions, need a way to return proper error status + return __('Error while creating thumbnail.', 'nggallery'); + } + + // success + return '1'; + } + + /** + * nggAdmin::resize_image() - create a new image, based on the height /width + * + * @class nggAdmin + * @param object | int $image contain all information about the image or the id + * @param integer $width optional + * @param integer $height optional + * @return string result code + */ + function resize_image($image, $width = 0, $height = 0) + { + if (is_object($image)) { + if (isset($image->id)) { + $image = $image->id; + } + elseif (isset($image->pid)) { + $image = $image->pid; + } + } + + $registry = C_Component_Registry::get_instance(); + $storage = $registry->get_utility('I_Gallery_Storage'); + // XXX maybe get rid of this...it's needed to get width/height defaults, placing these directly in generate_image_size could have unwanted consequences + $settings = C_NextGen_Settings::get_instance(); + + // XXX NextGEN Legacy wasn't handling watermarks or reflections at this stage, so we're forcefully disabling them to maintain compatibility + $params = array('watermark' => false, 'reflection' => false); + + if ($width > 0) { + $params['width'] = $width; + } + else { + $params['width'] = $settings->imgWidth; + } + + if ($height > 0) { + $params['height'] = $height; + } + else { + $params['height'] = $settings->imgHeight; + } + + $result = $storage->generate_image_size($image, 'full', $params); + + if (!$result) + { + // XXX there isn't any error handling unfortunately at the moment in the generate_thumbnail functions, need a way to return proper error status + return __('Error while resizing image.', 'nggallery'); + } + + // success + return '1'; + } + + /** + * Rotated/Flip an image based on the orientation flag or a definded angle + * + * @param int|object $image + * @param string (optional) $dir, CW (clockwise)or CCW (counter clockwise), if set to false, the exif flag will be used + * @param string (optional) $flip, could be either false | V (flip vertical) | H (flip horizontal) + * @return string result code + */ + function rotate_image($image, $dir = false, $flip = false) + { + if (is_object($image)) { + if (isset($image->id)) $image = $image->id; + elseif (isset($image->pid)) $image = $image->pid; + } + + $registry = C_Component_Registry::get_instance(); + $storage = $registry->get_utility('I_Gallery_Storage'); + + // XXX NextGEN Legacy wasn't handling watermarks or reflections at this stage, so we're forcefully disabling them to maintain compatibility + $params = array('watermark' => false, 'reflection' => false); + $rotation = null; + + if ($dir === 'CW') { + $rotation = 90; + } + else if ($dir === 'CCW') { + $rotation = -90; + } + // if you didn't define a rotation, we look for the orientation flag in EXIF + else if ($dir === false) { + $meta = new nggMeta( $image); + $exif = $meta->get_EXIF(); + + if (isset($exif['Orientation'])) { + + switch ($exif['Orientation']) { + case 5 : // vertical flip + 90 rotate right + $flip = 'V'; + case 6 : // 90 rotate right + $rotation = 90; + break; + case 7 : // horizontal flip + 90 rotate right + $flip = 'H'; + case 8 : // 90 rotate left + $rotation = -90; + break; + case 4 : // vertical flip + $flip = 'V'; + break; + case 3 : // 180 rotate left + $rotation = -180; + break; + case 2 : // horizontal flip + $flip = 'H'; + break; + case 1 : // no action in the case it doesn't need a rotation + default: + return '0'; + break; + } + } else + return '0'; + } + + if ($rotation != null) { + $params['rotation'] = $rotation; + } + + if ($flip != null) { + $params['flip'] = $flip; + } + + $result = $storage->generate_image_size($image, 'full', $params); + + if (!$result) + { + // XXX there isn't any error handling unfortunately at the moment in the generate_thumbnail functions, need a way to return proper error status + return __('Error while rotating image.', 'nggallery'); + } + + // success + return '1'; + } + + /** + * nggAdmin::set_watermark() - set the watermark for the image + * + * @class nggAdmin + * @param object | int $image contain all information about the image or the id + * @return string result code + */ + function set_watermark($image) { + + if (is_object($image)) { + if (isset($image->id)) { + $image = $image->id; + } + elseif (isset($image->pid)) { + $image = $image->pid; + } + } + + $registry = C_Component_Registry::get_instance(); + $storage = $registry->get_utility('I_Gallery_Storage'); + + // XXX NextGEN Legacy was only handling watermarks at this stage, so we're forcefully disabling all else + $params = array('watermark' => true, 'reflection' => false, 'crop' => false); + $result = $storage->generate_image_size($image, 'full', $params); + + if (!$result) + { + // XXX there isn't any error handling unfortunately at the moment in the generate_thumbnail functions, need a way to return proper error status + return __('Error while applying watermark to image.', 'nggallery'); + } + + // success + return '1'; + } + + /** + * Recover image from backup copy and reprocess it + * + * @class nggAdmin + * @since 1.5.0 + * @param object | int $image contain all information about the image or the id + * @return string result code + */ + + function recover_image($image) { + + global $ngg; + + if ( is_numeric($image) ) + $image = nggdb::find_image( $image ); + + if ( !is_object( $image ) ) + return __('Object didn\'t contain correct data','nggallery'); + + if (!is_writable( $image->imagePath )) + return ' <strong>' . esc_html( $image->filename ) . __(' is not writeable','nggallery') . '</strong>'; + + if (!file_exists( $image->imagePath . '_backup' )) { + return ' <strong>'.__('File do not exists','nggallery').'</strong>'; + } + + if (!@copy( $image->imagePath . '_backup' , $image->imagePath) ) + return ' <strong>'.__('Couldn\'t restore original image','nggallery').'</strong>'; + + require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); + + $meta_obj = new nggMeta( $image->pid ); + + $common = $meta_obj->get_common_meta(); + $common['saved'] = true; + $result = nggdb::update_image_meta($image->pid, $common); + + return '1'; + + } + + /** + * Add images to database + * + * @class nggAdmin + * @param int $galleryID + * @param array $imageslist + * @return array $image_ids Id's which are sucessful added + */ + function add_Images($galleryID, $imageslist) { + + global $wpdb, $ngg; + + $image_ids = array(); + + if ( is_array($imageslist) ) { + foreach($imageslist as $picture) { + + // filter function to rename/change/modify image before + $picture = apply_filters('ngg_pre_add_new_image', $picture, $galleryID); + + // strip off the extension of the filename + $path_parts = pathinfo( $picture ); + $alttext = ( !isset($path_parts['filename']) ) ? substr($path_parts['basename'], 0,strpos($path_parts['basename'], '.')) : $path_parts['filename']; + // save it to the database + $pic_id = nggdb::add_image( $galleryID, $picture, '', $alttext ); + + if ( !empty($pic_id) ) + $image_ids[] = $pic_id; + + // add the metadata + nggAdmin::import_MetaData( $pic_id ); + + // auto rotate + nggAdmin::rotate_image( $pic_id ); + + // Autoresize image if required + if ($ngg->options['imgAutoResize']) { + $imagetmp = nggdb::find_image( $pic_id ); + $sizetmp = @getimagesize ( $imagetmp->imagePath ); + $widthtmp = $ngg->options['imgWidth']; + $heighttmp = $ngg->options['imgHeight']; + if (($sizetmp[0] > $widthtmp && $widthtmp) || ($sizetmp[1] > $heighttmp && $heighttmp)) { + nggAdmin::resize_image( $pic_id ); + } + } + + // action hook for post process after the image is added to the database + $image = array( 'id' => $pic_id, 'filename' => $picture, 'galleryID' => $galleryID); + do_action('ngg_added_new_image', $image); + + } + } // is_array + + // delete dirsize after adding new images + delete_transient( 'dirsize_cache' ); + + do_action('ngg_after_new_images_added', $galleryID, $image_ids ); + + return $image_ids; + + } + + /** + * Import some meta data into the database (if avialable) + * + * @class nggAdmin + * @param array|int $imagesIds + * @return string result code + */ + function import_MetaData($imagesIds) { + + global $wpdb; + + require_once(NGGALLERY_ABSPATH . '/lib/image.php'); + + if (!is_array($imagesIds)) + $imagesIds = array($imagesIds); + + foreach($imagesIds as $imageID) { + + $image = nggdb::find_image( $imageID ); + if (!$image->error) { + + $meta = nggAdmin::get_MetaData( $image->pid ); + + // get the title + $alttext = empty( $meta['title'] ) ? $image->alttext : $meta['title']; + + // get the caption / description field + $description = empty( $meta['caption'] ) ? $image->description : $meta['caption']; + + // get the file date/time from exif + $timestamp = $meta['timestamp']; + // first update database + $result = $wpdb->query( + $wpdb->prepare("UPDATE $wpdb->nggpictures SET + alttext = %s, + description = %s, + imagedate = %s + WHERE pid = %d", $alttext, $description, $timestamp, $image->pid) ); + + if ($result === false) + return ' <strong>' . esc_html( $image->filename ) . ' ' . __('(Error : Couldn\'t not update data base)', 'nggallery') . '</strong>'; + + //this flag will inform us that the import is already one time performed + $meta['common']['saved'] = true; + $result = nggdb::update_image_meta($image->pid, $meta['common']); + + if ($result === false) + return ' <strong>' . esc_html( $image->filename ) . ' ' . __('(Error : Couldn\'t not update meta data)', 'nggallery') . '</strong>'; + + // add the tags if we found some + if ($meta['keywords']) { + $taglist = explode(',', $meta['keywords']); + wp_set_object_terms($image->pid, $taglist, 'ngg_tag'); + } + + } else + return ' <strong>' . esc_html( $image->filename ) . ' ' . __('(Error : Couldn\'t not find image)', 'nggallery') . '</strong>';// error check + } + + return '1'; + } + + /** + * nggAdmin::get_MetaData() + * + * @class nggAdmin + * @require NextGEN Meta class + * @param int $id image ID + * @return array metadata + */ + function get_MetaData($id) { + + require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); + + $meta = array(); + + $pdata = new nggMeta( $id ); + + $meta['title'] = trim ( $pdata->get_META('title') ); + $meta['caption'] = trim ( $pdata->get_META('caption') ); + $meta['keywords'] = trim ( $pdata->get_META('keywords') ); + $meta['timestamp'] = $pdata->get_date_time(); + // this contain other useful meta information + $meta['common'] = $pdata->get_common_meta(); + // hook for addon plugin to add more meta fields + $meta = apply_filters('ngg_get_image_metadata', $meta, $pdata); + + return $meta; + + } + + /** + * Maybe import some meta data to the database. The functions checks the flag 'saved' + * and if based on compat reason (pre V1.4.0) we save then some meta datas to the database + * + * @since V1.4.0 + * @param int $id + * @return result + */ + function maybe_import_meta( $id ) { + + require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); + + $meta_obj = new nggMeta( $id ); + + if ( $meta_obj->image->meta_data['saved'] != true ) { + $common = $meta_obj->get_common_meta(); + //this flag will inform us that the import is already one time performed + $common['saved'] = true; + $result = nggdb::update_image_meta($id, $common); + } else + return false; + + return $result; + + } + + /** + * Unzip a file via the PclZip class + * + * @class nggAdmin + * @require PclZip class + * @param string $dir + * @param string $file + * @return bool + */ + function unzip($dir, $file) { + + if(! class_exists('PclZip')) + require_once(ABSPATH . 'wp-admin/includes/class-pclzip.php'); + + $archive = new PclZip($file); + + // extract all files in one folder + if ($archive->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH, + PCLZIP_CB_PRE_EXTRACT, 'ngg_getOnlyImages', + PCLZIP_CB_POST_EXTRACT, 'ngg_checkExtract') == 0) { + nggGallery::show_error( 'Error : ' . $archive->errorInfo(true) ); + return false; + } + + return true; + } + + /** + * nggAdmin::getOnlyImages() + * + * @class nggAdmin + * @param mixed $p_event + * @param mixed $p_header + * @return bool + */ + function getOnlyImages($p_event, &$p_header) { + // avoid null byte hack (THX to Dominic Szablewski) + if ( strpos($p_header['filename'], chr(0) ) !== false ) + $p_header['filename'] = substr ( $p_header['filename'], 0, strpos($p_header['filename'], chr(0) )); + // check for extension + $info = pathinfo($p_header['filename']); + // check for extension + $ext = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif') ); + if ( in_array( strtolower($info['extension']), $ext) ) { + // For MAC skip the ".image" files + if ($info['basename']{0} == '.' ) + return 0; + else { + // sanitize the file name before we do further processing + $info['basename'] = sanitize_file_name( $info['basename'] ); + $p_header['filename'] = $info['dirname'] . '/' . $info['basename']; + return 1; + } + + } + // ----- all other files are skipped + else { + return 0; + } + } + + /** + * Import a ZIP file via a upload form or a URL + * + * @class nggAdmin + * @param int (optional) $galleryID + * @return bool $result + */ + function import_zipfile($galleryID) { + + global $ngg, $wpdb; + + if (nggWPMU::check_quota()) + return false; + + $defaultpath = $ngg->options['gallerypath']; + $zipurl = isset($_POST['zipurl']) ? $_POST['zipurl'] : ''; + + // if someone entered a URL try to upload it + if (!empty($zipurl) && (function_exists('curl_init')) ) { + + if (!(preg_match('/^http(s)?:\/\//i', $zipurl) )) { + nggGallery::show_error( __('No valid URL path ','nggallery') ); + return false; + } + + $temp_zipfile = tempnam('/tmp', 'zipimport_'); + $filename = basename($zipurl); + + //Grab the zip via cURL + $save = fopen ( $temp_zipfile, "w" ); + $ch = curl_init (); + curl_setopt ( $ch, CURLOPT_FILE, $save ); + curl_setopt ( $ch, CURLOPT_HEADER, 0 ); + curl_setopt ( $ch, CURLOPT_BINARYTRANSFER, 1 ); + curl_setopt ( $ch, CURLOPT_URL, $zipurl ); + $success = curl_exec ( $ch ); + if (!$success) + nggGallery::show_error( __('Import via cURL failed.','nggallery') . ' Error code ' . curl_errno( $ch ) . ' : ' . curl_error( $ch ) ); + curl_close ( $ch ); + fclose($save); + + if (!$success) + return false; + + } else { + + $temp_zipfile = $_FILES['zipfile']['tmp_name']; + $filename = $_FILES['zipfile']['name']; + + // Chrome return a empty content-type : http://code.google.com/p/chromium/issues/detail?id=6800 + if ( !preg_match('/chrome/i', $_SERVER['HTTP_USER_AGENT']) ) { + // check if file is a zip file + if ( !preg_match('/(zip|download|octet-stream)/i', $_FILES['zipfile']['type']) ) { + @unlink($temp_zipfile); // del temp file + nggGallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognized : ','nggallery') . $_FILES['zipfile']['type']); + return false; + } + } + } + + // should this unpacked into a new folder ? + if ( $galleryID == '0' ) { + //cleanup and take the zipfile name as folder name + $foldername = sanitize_title(strtok ($filename, '.')); + $foldername = rtrim($defaultpath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . ltrim($foldername, DIRECTORY_SEPARATOR); + } else { + // get foldername if selected + $foldername = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); + } + + if ( empty($foldername) ) { + nggGallery::show_error( __('Could not get a valid foldername', 'nggallery') ); + return false; + } + + // set complete folder path + $newfolder = WINABSPATH . $foldername; + + // check first if the traget folder exist + if (!is_dir($newfolder)) { + // create new directories + if (!wp_mkdir_p ($newfolder)) { + $message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?', 'nggallery'), esc_html( $newfolder ) ); + nggGallery::show_error($message); + return false; + } + if (!wp_mkdir_p ($newfolder . '/thumbs')) { + nggGallery::show_error(__('Unable to create directory ', 'nggallery') . esc_html( $newfolder ). '/thumbs !'); + return false; + } + } + + // unzip and del temp file + $result = nggAdmin::unzip($newfolder, $temp_zipfile); + @unlink($temp_zipfile); + + if ($result) { + $message = __('Zip-File successfully unpacked','nggallery') . '<br />'; + + // parse now the folder and add to database + $message .= nggAdmin::import_gallery( $foldername ); + nggGallery::show_message($message); + } + + return true; + } + + /** + * Function for uploading of images via the upload form + * + * @class nggAdmin + * @return void + */ + function upload_images() { + + global $nggdb; + + // WPMU action + if (nggWPMU::check_quota()) + return; + + // Images must be an array + $imageslist = array(); + + // get selected gallery + $galleryID = (int) $_POST['galleryselect']; + + if ($galleryID == 0) { + nggGallery::show_error(__('No gallery selected !','nggallery')); + return; + } + + // get the path to the gallery + $gallery = $nggdb->find_gallery($galleryID); + + if ( empty($gallery->path) ){ + nggGallery::show_error(__('Failure in database, no gallery path set !','nggallery')); + return; + } + + // read list of images + $dirlist = nggAdmin::scandir($gallery->abspath); + + $imagefiles = $_FILES['imagefiles']; + + if (is_array($imagefiles)) { + foreach ($imagefiles['name'] as $key => $value) { + + // look only for uploded files + if ($imagefiles['error'][$key] == 0) { + + $temp_file = $imagefiles['tmp_name'][$key]; + + //clean filename and extract extension + $filepart = nggGallery::fileinfo( $imagefiles['name'][$key] ); + $filename = $filepart['basename']; + + // check for allowed extension and if it's an image file + $ext = array('jpg', 'png', 'gif'); + if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){ + nggGallery::show_error('<strong>' . esc_html( $imagefiles['name'][$key] ) . ' </strong>' . __('is no valid image file!','nggallery')); + continue; + } + + // check if this filename already exist in the folder + $i = 0; + while ( in_array( $filename, $dirlist ) ) { + $filename = $filepart['filename'] . '_' . $i++ . '.' .$filepart['extension']; + } + + $dest_file = $gallery->abspath . '/' . $filename; + + //check for folder permission + if ( !is_writeable($gallery->abspath) ) { + $message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), esc_html($gallery->abspath) ); + nggGallery::show_error($message); + return; + } + + // save temp file to gallery + if ( !@move_uploaded_file($temp_file, $dest_file) ){ + nggGallery::show_error(__('Error, the file could not be moved to : ','nggallery') . esc_html( $dest_file ) ); + nggAdmin::check_safemode( $gallery->abspath ); + continue; + } + if ( !nggAdmin::chmod($dest_file) ) { + nggGallery::show_error(__('Error, the file permissions could not be set','nggallery')); + continue; + } + + // add to imagelist & dirlist + $imageslist[] = $filename; + $dirlist[] = $filename; + + } + } + } + + if (count($imageslist) > 0) { + + // add images to database + $image_ids = nggAdmin::add_Images($galleryID, $imageslist); + + //create thumbnails + nggAdmin::do_ajax_operation( 'create_thumbnail' , $image_ids, __('Create new thumbnails','nggallery') ); + + //add the preview image if needed + nggAdmin::set_gallery_preview ( $galleryID ); + + nggGallery::show_message( count($image_ids) . __(' Image(s) successfully added','nggallery')); + } + + return; + + } + + /** + * Upload function will be called via the Flash uploader + * + * @class nggAdmin + * @param integer $galleryID + * @return string $result + */ + static function swfupload_image($galleryID = 0) { + + global $nggdb; + + if ($galleryID == 0) + return __('No gallery selected !', 'nggallery'); + + // WPMU action + if (nggWPMU::check_quota()) + return '0'; + + // Check the upload + if (!isset($_FILES['Filedata']) || !is_uploaded_file($_FILES['Filedata']['tmp_name']) || $_FILES['Filedata']['error'] != 0) + return __('Invalid upload. Error Code : ', 'nggallery') . $_FILES['Filedata']['error']; + + // get the filename and extension + $temp_file = $_FILES['Filedata']['tmp_name']; + + $filepart = nggGallery::fileinfo( $_FILES['Filedata']['name'] ); + $filename = $filepart['basename']; + + // check for allowed extension + $ext = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif') ); + if (!in_array( strtolower( $filepart['extension'] ), $ext)) + return esc_html( $_FILES[$key]['name'] ) . __('is no valid image file!', 'nggallery'); + + // get the path to the gallery + $gallery = $nggdb->find_gallery( (int) $galleryID ); + if ( empty($gallery->path) ){ + @unlink($temp_file); + return __('Failure in database, no gallery path set !', 'nggallery'); + } + + // read list of images + $imageslist = nggAdmin::scandir( WINABSPATH . $gallery->path ); + + // check if this filename already exist + $i = 0; + while (in_array($filename, $imageslist)) { + $filename = $filepart['filename'] . '_' . $i++ . '.' . $filepart['extension']; + } + + $dest_file = WINABSPATH . $gallery->path . '/' . $filename; + + // save temp file to gallery + if ( !@move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dest_file) ){ + nggAdmin::check_safemode(WINABSPATH . $gallery->path); + return __('Error, the file could not be moved to : ','nggallery'). esc_html( $dest_file ); + } + + if ( !nggAdmin::chmod($dest_file) ) + return __('Error, the file permissions could not be set','nggallery'); + + return '0'; + } + + /** + * Set correct file permissions (taken from wp core) + * + * @class nggAdmin + * @param string $filename + * @return bool $result + */ + function chmod($filename = '') { + + $stat = @ stat( dirname($filename) ); + $perms = $stat['mode'] & 0000666; // Remove execute bits for files + if ( @chmod($filename, $perms) ) + return true; + + return false; + } + + /** + * Check UID in folder and Script + * Read http://www.php.net/manual/en/features.safe-mode.php to understand safe_mode + * + * @class nggAdmin + * @param string $foldername + * @return bool $result + */ + function check_safemode($foldername) { + + if ( SAFE_MODE ) { + + $script_uid = ( ini_get('safe_mode_gid') ) ? getmygid() : getmyuid(); + $folder_uid = fileowner($foldername); + + if ($script_uid != $folder_uid) { + $message = sprintf(__('SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually','nggallery'), esc_html( $foldername ) ); + $message .= '<br />' . sprintf(__('When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory','nggallery'), $script_uid, $folder_uid ); + nggGallery::show_error($message); + return false; + } + } + + return true; + } + + /** + * Capability check. Check is the ID fit's to the user_ID + * + * @class nggAdmin + * @param int $check_ID is the user_id + * @return bool $result + */ + function can_manage_this_gallery($check_ID) { + + global $user_ID, $wp_roles; + + if ( !current_user_can('NextGEN Manage others gallery') ) { + // get the current user ID + get_currentuserinfo(); + + if ( $user_ID != $check_ID) + return false; + } + + return true; + + } + + /** + * Move images from one folder to another + * + * @class nggAdmin + * @param array|int $pic_ids ID's of the images + * @param int $dest_gid destination gallery + * @return void + */ + function move_images($pic_ids, $dest_gid) { + + $errors = ''; + $count = 0; + + if ( !is_array($pic_ids) ) + $pic_ids = array($pic_ids); + + // Get destination gallery + $destination = nggdb::find_gallery( $dest_gid ); + $dest_abspath = WINABSPATH . $destination->path; + + if ( $destination == null ) { + nggGallery::show_error(__('The destination gallery does not exist','nggallery')); + return; + } + + // Check for folder permission + if ( !is_writeable( $dest_abspath ) ) { + $message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), esc_html( $dest_abspath ) ); + nggGallery::show_error($message); + return; + } + + // Get pictures + $images = nggdb::find_images_in_list($pic_ids); + + foreach ($images as $image) { + + $i = 0; + $tmp_prefix = ''; + + $destination_file_name = $image->filename; + // check if the filename already exist, then we add a copy_ prefix + while (file_exists( $dest_abspath . '/' . $destination_file_name)) { + $tmp_prefix = 'copy_' . ($i++) . '_'; + $destination_file_name = $tmp_prefix . $image->filename; + } + + $destination_path = $dest_abspath . '/' . $destination_file_name; + $destination_thumbnail = $dest_abspath . '/thumbs/thumbs_' . $destination_file_name; + + // Move files + if ( !@rename($image->imagePath, $destination_path) ) { + $errors .= sprintf(__('Failed to move image %1$s to %2$s','nggallery'), + '<strong>' . esc_html( $image->filename ) . '</strong>', esc_html( $destination_path ) ) . '<br />'; + continue; + } + + // Move backup file, if possible + @rename($image->imagePath . '_backup', $destination_path . '_backup'); + // Move the thumbnail, if possible + @rename($image->thumbPath, $destination_thumbnail); + + // Change the gallery id in the database , maybe the filename + if ( nggdb::update_image($image->pid, $dest_gid, $destination_file_name) ) + $count++; + + } + + if ( $errors != '' ) + nggGallery::show_error($errors); + + $link = '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $destination->gid . '" >' . esc_html( $destination->title ) . '</a>'; + $messages = sprintf(__('Moved %1$s picture(s) to gallery : %2$s .','nggallery'), $count, $link); + nggGallery::show_message($messages); + + return; + } + + /** + * Copy images to another gallery + * + * @class nggAdmin + * @param array|int $pic_ids ID's of the images + * @param int $dest_gid destination gallery + * @return void + */ + function copy_images($pic_ids, $dest_gid) { + + require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); + + $errors = $messages = ''; + + if (!is_array($pic_ids)) + $pic_ids = array($pic_ids); + + // Get destination gallery + $destination = nggdb::find_gallery( $dest_gid ); + if ( $destination == null ) { + nggGallery::show_error(__('The destination gallery does not exist','nggallery')); + return; + } + + // Check for folder permission + if (!is_writeable(WINABSPATH.$destination->path)) { + $message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), esc_html( WINABSPATH.$destination->path) ); + nggGallery::show_error($message); + return; + } + + // Get pictures + $images = nggdb::find_images_in_list($pic_ids); + $destination_path = WINABSPATH . $destination->path; + + foreach ($images as $image) { + // WPMU action + if ( nggWPMU::check_quota() ) + return; + + $i = 0; + $tmp_prefix = ''; + $destination_file_name = $image->filename; + while (file_exists($destination_path . '/' . $destination_file_name)) { + $tmp_prefix = 'copy_' . ($i++) . '_'; + $destination_file_name = $tmp_prefix . $image->filename; + } + + $destination_file_path = $destination_path . '/' . $destination_file_name; + $destination_thumb_file_path = $destination_path . '/' . $image->thumbFolder . $image->thumbPrefix . $destination_file_name; + + // Copy files + if ( !@copy($image->imagePath, $destination_file_path) ) { + $errors .= sprintf(__('Failed to copy image %1$s to %2$s','nggallery'), + esc_html( $image->filename ), esc_html( $destination_file_path) ) . '<br />'; + continue; + } + + // Copy backup file, if possible + @copy($image->imagePath . '_backup', $destination_file_path . '_backup'); + // Copy the thumbnail if possible + @copy($image->thumbPath, $destination_thumb_file_path); + + // Create new database entry for the image + $new_pid = nggdb::insert_image( $destination->gid, $destination_file_name, $image->alttext, $image->description, $image->exclude); + + if (!isset($new_pid)) { + $errors .= sprintf(__('Failed to copy database row for picture %s','nggallery'), $image->pid) . '<br />'; + continue; + } + + // Copy tags + nggTags::copy_tags($image->pid, $new_pid); + + // Copy meta information + $meta = new nggMeta($image->pid); + nggdb::update_image_meta( $new_pid, $meta->image->meta_data); + + if ( $tmp_prefix != '' ) { + $messages .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery.','nggallery'), + $image->pid, esc_html($image->filename), $new_pid, esc_html($destination_file_name) ) . '<br />'; + } else { + $messages .= sprintf(__('Image %1$s (%2$s) copied as image %3$s (%4$s)','nggallery'), + $image->pid, esc_html($image->filename), $new_pid, esc_html($destination_file_name) ) . '<br />'; + } + + } + + // Finish by showing errors or success + if ( $errors == '' ) { + $link = '<a href="' . admin_url() . 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $destination->gid . '" >' . esc_html($destination->title) . '</a>'; + $messages .= '<hr />' . sprintf(__('Copied %1$s picture(s) to gallery: %2$s .','nggallery'), count($images), $link); + } + + if ( $messages != '' ) + nggGallery::show_message($messages); + + if ( $errors != '' ) + nggGallery::show_error($errors); + + return; + } + + /** + * Initate the Ajax operation + * + * @class nggAdmin + * @param string $operation name of the function which should be executed + * @param array $image_array + * @param string $title name of the operation + * @return string the javascript output + */ + function do_ajax_operation( $operation, $image_array, $title = '' ) { + + if ( !is_array($image_array) || empty($image_array) ) + return; + + $js_array = implode('","', $image_array); + + // send out some JavaScript, which initate the ajax operation + ?> + <script type="text/javascript"> + + Images = new Array("<?php echo $js_array; ?>"); + + nggAjaxOptions = { + operation: "<?php echo $operation; ?>", + ids: Images, + header: "<?php echo $title; ?>", + maxStep: Images.length + }; + + jQuery(document).ready( function(){ + nggProgressBar.init( nggAjaxOptions ); + nggAjax.init( nggAjaxOptions ); + } ); + </script> + + <?php + } + + /** + * nggAdmin::set_gallery_preview() - define a preview pic after the first upload, can be changed in the gallery settings + * + * @class nggAdmin + * @param int $galleryID + * @return void + */ + function set_gallery_preview( $galleryID ) { + + global $wpdb; + + $gallery = nggdb::find_gallery( $galleryID ); + + // in the case no preview image is setup, we do this now + if ($gallery->previewpic == 0) { + $firstImage = $wpdb->get_var("SELECT pid FROM $wpdb->nggpictures WHERE exclude != 1 AND galleryid = '$galleryID' ORDER by pid DESC limit 0,1"); + if ($firstImage) { + $wpdb->query("UPDATE $wpdb->nggallery SET previewpic = '$firstImage' WHERE gid = '$galleryID'"); + wp_cache_delete($galleryID, 'ngg_gallery'); + } + } + + return; + } + + /** + * Return a JSON coded array of Image ids for a requested gallery + * + * @class nggAdmin + * @param int $galleryID + * @return arry (JSON) + */ + function get_image_ids( $galleryID ) { + + if ( !function_exists('json_encode') ) + return(-2); + + $gallery = nggdb::get_ids_from_gallery($galleryID, 'pid', 'ASC', false); + + header('Content-Type: text/plain; charset=' . get_option('blog_charset'), true); + $output = json_encode($gallery); + + return $output; + } + + /** + * Decode upload error to normal message + * + * @class nggAdmin + * @access internal + * @param int $code php upload error code + * @return string message + */ + + function decode_upload_error( $code ) { + + switch ($code) { + case UPLOAD_ERR_INI_SIZE: + $message = __ ( 'The uploaded file exceeds the upload_max_filesize directive in php.ini', 'nggallery' ); + break; + case UPLOAD_ERR_FORM_SIZE: + $message = __ ( 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', 'nggallery' ); + break; + case UPLOAD_ERR_PARTIAL: + $message = __ ( 'The uploaded file was only partially uploaded', 'nggallery' ); + break; + case UPLOAD_ERR_NO_FILE: + $message = __ ( 'No file was uploaded', 'nggallery' ); + break; + case UPLOAD_ERR_NO_TMP_DIR: + $message = __ ( 'Missing a temporary folder', 'nggallery' ); + break; + case UPLOAD_ERR_CANT_WRITE: + $message = __ ( 'Failed to write file to disk', 'nggallery' ); + break; + case UPLOAD_ERR_EXTENSION: + $message = __ ( 'File upload stopped by extension', 'nggallery' ); + break; + default: + $message = __ ( 'Unknown upload error', 'nggallery' ); + break; + } + + return $message; + } + +} // END class nggAdmin + +/** + * TODO: Cannot be member of a class ? Check PCLZIP later... + * + * @param mixed $p_event + * @param mixed $p_header + * @return + */ +function ngg_getOnlyImages($p_event, &$p_header) { + return nggAdmin::getOnlyImages($p_event, $p_header); +} + +/** + * Ensure after zip extraction that it could be only a image file + * + * @param mixed $p_event + * @param mixed $p_header + * @return 1 + */ +function ngg_checkExtract($p_event, &$p_header) { + + // look for valid extraction + if ($p_header['status'] == 'ok') { + // check if it's any image file, delete all other files + if ( !@getimagesize ( $p_header['filename'] )) + unlink($p_header['filename']); + } + + return 1; +} + +// XXX temporary...used as a quick fix to refresh I_Settings_Manager when the nextgen option is updated manually in order to run Hooks etc. +function ngg_refreshSavedSettings() +{ + if (class_exists('C_Component_Registry')) + { + $registry = C_Component_Registry::get_instance(); + $settings = C_NextGen_Settings::get_instance(); + + if ($settings != null) + { + $width = $settings->thumbwidth; + $height = $settings->thumbheight; + $new_dimension = "{$width}x{$height}"; + $dimensions = (array) $settings->thumbnail_dimensions; + + if (!in_array($new_dimension, $dimensions)) { + $dimensions[] = $new_dimension; + $settings->thumbnail_dimensions = $dimensions; + $settings->save(); + + return true; + } + } + } + + return false; +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/facebook.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..3e5dd39c36f9aeb71228b5cabc048883bf147658 GIT binary patch literal 1082 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+nD2PHIEGZ*Iuh=kAsi^O*Hi7tESG>1<&5a=ufgVz z+QmdJYH{t#c<rUNqc~B}USWs8oeW3urX7OYxs-lHYrZ;`s@WCgnVG!Wa9P)qZMTAE zpL-tr{Os(?%KWr@Uz#5+J$dH$yx-?+zdti=>$q^KZf9|h(E3+m>sWT5<+*wM=i>M{ zY3ExkKdk=mxc&U?$$J|nbR0cb_ipDujca$xRvPbJ^w00|GOLIwUYj^&uG~J}=5S5z z$ZPj+iX~@QpZzVmeYeZnXz^=<De?^yA06lGomcaEU6hBKX~pgE6mFaPzy!w5-I|}4 zo9li1Sn4!;^CP*u*ktB4nHeofi9e!Z%ujmxdOO^&mfZ8o^=h%9h1TZ-i*pR@S!OM} zc-`vxZIiVRwgufeGUJr|Ij003r+cfHZ_+tkd3jFTTZYt#ISm{}4xz=N{{^o6{dRc9 zJeH(abN*F0HK$~Ce%7;GFnd`6*ZIhU#eo+WJ!;%x%)#N+9Do0_fuR+TZ|~~Flb1}y zOOE<DM4q=Q_BmZ5yMf*3Zqh5UU{{d|D(hA)+Ief|d=C44dz#lRwtjeHV)ulzOO~$q zwokI*a(J8(o6mK|U3V_<eiu3P($GdEhfk0tIyEC}56j)>Rtx@Kc&9Pbh|T9*gDlhG zYYnbTG&c#q2;MQFDqt-)d-<9!w(pl_a^Jt&kT|1=i%Tk?iCghw#0#4{QZwrcb&q;Z zkub<*@0h{1h$HYyOBb(My>s$h77N3l((mlgf3)2{Rei?=UGFOmi5H|^dxwks`EXJ9 z$=nECX4dD<f_ZmePd)UqRyyyQtAWCC`6&<f1!+s%o%}a|^@{2>#zQQQ1`$E3hD}pA z?^XN^<_}rsc6X=x65CBPr6f+;K5h43I{o0MTW^b`E-}91ReZQKVyfW1IlIlzAKrHM zwX^H?!dTlWMgA4LpO@Otc~f`rM&U;juZiyN2I)0d6g^7K=lr<Ilgd8lhoF#^ry6tZ z83i2%+Yi|*4Wm3ixL<hR!DKP>)EP;enWxzJR(p!KFWCLS`;<dOUwp-Z<8ih&y1M$c zy3Wzpa}zxU+>1+mJGyF)^166<9`(vnzJKbCmiW^Kt@h^07r%F~g=eb2U})(y@L?7_ zup;bFPPmEhu5%h@v&Eec7D;IOEEnkQpZa{#E-!^p(*<9jKL7DThwsL<UHSiWPFl~; z%j>=@d1LeUhN3?=C%Y>u&ImSa+@B`(kNv^|j#`I}H~ugdHp(5#{o}MWi1Ew)xBm@) zobhS3<ND}gQ&v{6;Qs3w;u>yK3vUORMygiaJGSMmPfuRJ?V440l`4Awtv5R!!?Sgo wZgy??q0AFcy%U4EMfO~&e*96Mk&WTThGd(L`6opg7#J8lUHx3vIVCg!0Lm%;82|tP literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/googleplus.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/googleplus.png new file mode 100644 index 0000000000000000000000000000000000000000..c42eab784578bf4e827722400f125760ebab527a GIT binary patch literal 1513 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-paypal.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-paypal.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5470d2e6c21cb698acc5d6b8b80c59b6895e50e GIT binary patch literal 220 zcmZ?wbhEHb6krfwI3mDs?cTE!m+vtcr%hb8=gG@=|NsAAyZ3C%oGokjoZWrm>ZIj+ zKYsb%GJ8wegf(Ro*UaB|^#A|=45R?XpDc_om<1SgK$<{yI<Q76sPv^+vN<hW$7(gj z<J7871ExcZxEeCK4k&yG71AhkxO&J;$RMP5fpUNn%euyS>sb!OZB=9HcQxSPTiUF% hBdKc|ql!bS8gI(AhMzG$Z{(r{_?_|^+msa<tO3-kOVI!T literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-rating.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-rating.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa77e6b4aa72fefbeb22b410175864d8642cd80 GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&N| z?e4<x9|RZdT|SwCfq}EYBeIx*fm;}a85w5Hkzin8U@!6Xb!ETBA}p+`_U3SNHUk4w zgr|#Rh{fr(6TLk`7)9Ft7tcSp_uPvgTw9w=y3a(4v?g*3yA-}W6t!()#$zV~AC98S z%^W(nTxOd&23%NVz!`Pxbj~CvpSc{Rvo_6HetGWi8P)#W?ExaqFLL<opMUuH|2f0| z%{>cyt%@JUD~NC1ee9{%Ii3d^3<dYU{oWF{<o5>uTq_f8^Q{Nx)y(;#G;vwVT&dN* z(F-1~Wjs_BSj1gCr)TCKsaBaR{zbdqlz!N}^rFE8+yCMY-|j?x51a14Ih@5zY@v+x z)^6rQA!Q7)N5i?Rn{T^#@H$QUoFV?&>HCvo&x+1Rq%B<1_(^{LVc**BO%r!MnR#vV z9=G@@GS2(M7z*q^c)KzjU|za&`Q$&06E+^<5$M!%{wU1C`=+x%{Lr@FFLP(t$?E@i zSs>UT)AHony>okJr=2>(^hU^$;Q)&|ds$G!^rkJ(JDBPVKetI2*ek5^IF_!Q_wG2C z;}nKPP4-M34k}Dd90JWE_doJ7NHNMVcb;;{JNo%;!(7vuj@ijV3>*nc0-ijPtSlQ# zFN^;%|8RF^{bw(JHo^Fg$pHli6ATPl;w?QimDO#y&K;A_{n@%aeU(<!s=1X96WmvZ zonlz25OhHA;4iDmC(rKbIJ5NWy=m6xs*^b`tXso8=Z!_<MbWK4p8fmqaNdN9_^C^! zE`L2!AyzEh{cZBf9pBzPymT&8I&TrzO_v{sw`@Oo@ZGySL2vu7M^8p^vI{w?s0!}V zy#Ctk^{UieXCzmj*e)e0zunCB#_g-ECvHeEEZDek-lTt73!OG`vi!L5Sb|00%J3jV jfwkD-o3o@C4&<MX|9&srW#%Ua1_lOCS3j3^P6<r_q3}Y> literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-translate.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/icon-translate.png new file mode 100644 index 0000000000000000000000000000000000000000..f8064599b1c09dccaf31beac8ec1cfafbe6bbe51 GIT binary patch literal 819 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sc;uILpV4%IBGajIv5xj zI14-?iy0UgcY`pa)tkqU7#J8NOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3 zkz!zA+TiKp7-G@8bh2%}j4Ok~{WIsz)!jLM@2B4LoO93Su&5pqa#ENeo#NQ2;qa*b z!Uukh6$15&vKp+iDy&Y7Dk2LxTm%jsY(G#q(fiGjboWnpE5DbOm9;m?J3PF;|Cy)1 z#d8b(Pcdc++wAx4-e)g&f3oA3?duQUFO_)Xns~$SR&SZikCl_|xy>rO?WyfI{pY6Z zdB-NN-~adL!5<Gxj#r-bznZhrM|}C_g=_oTPkhK-Ir~TBv#HbFS6sT#V|puX$EC%> z9$L@W@%@^+`tjeF>;d&FyL6(jdV1}&IBI!#Ya(~JbBk(El2v2k+Q@*4Sz7`>zjo}K zB=j%aJYeft_j&4tK@W4z&b}UPbACZs(;uC~8vVC8#n{qLU0iS=s@vhwsi(7ww(Y1f zJ00M)@nR^)%i<|hm*}3BzAhZMN5VjA-KVqfWa6`>{!MB=tm(wDV$;M)S6;81BfLE* z?3S3#(Qj!^8nXX={5bx~{pIefT=~LO=9(1W{JD=>n2x8ueAwp2b>@wP>{fxTiHo0K z=F@Rcm%F__Z^Ks06aj0Smmgo;m@s|XE|Z1|N4CT}ADaa<v*c_o4?U4IfB&YSyyld5 z_^+I}ohQ`i|39>d;jOk`QDc~tB8$_B(4~*VHf@p$6tmn`R^ixuG3wCFjDq+5>U+Lk zbY^>L^}gREc>0IC{`E?sEquz;mgTKTlQHA(PtUMd3Tb*@&V8?T?a6OjTP6n{SRnk- zMqKBQo%y~U%>s5)KX24KbaL0)u1$TSY~hs>&l7V`zLhWknR_RxV&UPEl@;&jUjO;( z8vo6E&A+*2MC<em675~SGnsarajaQ+@$A|wQv+5>uC(I3#VvL|t-JZR|LWzx>ubwC zAD;X4Pm2DAZ-t?uA)!~dUMpL>)h#DCH`eIbnuu)c(%AA-n@mDOeY+M_*v#~K_TTz) dW%)mG2Nknr`#k0>V_;xl@O1TaS?83{1OSbifENG& literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_bottom.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a14a2bd3087bf76b5c4f6304c3c2db99a158861 GIT binary patch literal 45 wcmZ?wbhEHbWMg1rXkcVuU|{(F|G(l-7DfgJMg|=aA0)%T#KObZ7S3P|0MNAuy8r+H literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_middle.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_middle.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea47c286fb5d35f06d2a5315b2c6941c918f1e3a GIT binary patch literal 48 zcmZ?wbhEHbWMg1vXkcVuU|{(F|G(l-7DfgJMg|=aA0)%T#O}k8wqkl91A{dH?v@D) literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_top.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/marker_top.gif new file mode 100644 index 0000000000000000000000000000000000000000..22760f2a505d95ca955e66a0c71c93d464883781 GIT binary patch literal 45 wcmZ?wbhEHbWMg1rXkcVuU|{(F|G(l-7DfgJMg|=aA0)%T#L^<q9>`z~0MX0`zW@LL literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/menu-bits.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/menu-bits.gif new file mode 100644 index 0000000000000000000000000000000000000000..9a10a9a168d6e17db802ded92ac0c3c990096a2d GIT binary patch literal 1194 zcmZ?wbhEHbv|*@WylTqO(9lp*Q`6Pem7AM8W5$e*j*jo&zdv~J;PK<fMMXvB<>mkX z|1T^oEGsL^&(AL?C@3i@$;->DtgLKnYpbuX@9gX>E-tRCt7~p<Zf$L?s;X*fX=!R| zI&<dC&!0c9T)Fc8{rl(7pMU-Ob>hT{Po6w^{rdH*SFhUJ+n+vt`sU4>hYugVeEIVC z@83Uu{CM=}(dW;fKYsl9=g*%nU%q_$^y%%}xBvhDXTS>-f3h$#FqksvfK-9}#K897 zp`pM-N2>qCl1&;JR`V~cDDhewwf@GMZHL}g?SHVL!snmZxfffi&gSjD|6xas-~1cz zf9$C{|Ni%9$;PJUme#iRj?Nb8p5DIx2@@wxp3*Ndea6gLv**m6H-DDQqQy&=E?d50 z<*KFLYuBy!64|tQ%hqk%ckJA?RebNh{Ra*nI(+2l0mc(2Pn|w<_T2dk7cX7Da#ia3 zjhnY_-?@A5{w<+LkDok!_WZ@mS5LX#zI*@S<EPJGzJB2S@$=X3KY#!IXZY?Y;jv-C z!DbF&t(c4pO^4eBl)dJ7Y+Q7-gVQMM&WVkSkM}D$7o|9CT5@u-M)0bblb@b6Pd7+D zHOF)Fva_>|WMAAlxq12d|MMN1x!y`HTyb%+$7HS8Q(H7IF$OI5n(MW7)z#Gzo3rko z+N!-~eM0nA3GZ!dZf?%Fyejtewzapn7d$>S*L(ZAySpnszq)&R`}+I)8<@G}e0FSj zc(_AYJMPSmjgOB{Q1+hZvvbqa(=&{-@15DX`T6+;&fRjpySBW%ydrpY+}T}QUtiyl ze0rYm?rm>x?<jtK@9mF<#<Tkx|6h}t^W(#rqZ8$i&zbY{)9JGd?YGO!{q^P4)s6AX z=gj^6?d08q_0whM{rPd?=|%hh7Z&dQ%_o13eciu>`~LpuUEN%9U(x0LYxW)A4<_G~ zd?3fck|+LvaYE^KhC0qws_}_0O)VbQA4<)b({`%x#s4|&ml`wXcHElyVs7W7g&Fg@ zUTw@+*e#f+k=$-v7m?gy-Zvw;(|X>G<SzSl5-Huz`yy2GJ=9h{ndD>k^2y`|Mu!7w zK|z*F(?XLfQ_~`gcB-buHvN2>nmEaFS!(K{%CywXO*_?6a}WJ|mQr}ha(PPWqssJ@ z%1=AhQ)-!hJx@**N_erb!zgSSQ-{*3hDGUI7c>}^O|Cs#!WpqEjiF=SgNQlGGF~rc zb4qX>Sdlf?;6*~?qE$<$ZrG=_diusoR;y=heN?r2=FU&MR?phY^n3N}gF@D8<{VY3 zUNiTk(e5?#&N}^GGyh_c_1Xnjld5&6+$npl%QUBP_sku$CeEI@bH>8z<1=?n+Za7_ z_mqRyGxtooC_QuUgonRp?Cbk@JAy+lhmDC-^~i*o>~c#MF!9V#eACFGHbJ2&l~38m znL{-s%#fE|VZ}yvg#`&r+|y5PVB*qEd3K2Vaog*n(+1OjZ#rW*-+J>|)8*Bh&snbD zz4^TD_TQT?IPSOJa?$m8^_EMX=XY<p?0fz9mMekxt+!qceO|rwTIBoPTd&7{|Go7_ zqWLrZ<aGUM+mf=?ubCy~%ZqJKEEW&jzP;l4+VA%!>pu8?zkyxv$AcE}yov{o3=Gx) DShAbz literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3f9ef42db4392ea9a12e4364c12093378b1214 GIT binary patch literal 738 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFtvEPIEGZ*YMJcsArdHae7~{v=5z1f$X~w`Vsh5> zW=iwXR|>9)0h8LlUO21pB1O)s;-vt~yv5Oii7Z@lEq;P7Vu1pI6DO3Mh@H00OgDRL zSnTn?#>UpS-|sET5iERg`uFGR{qKM8sobybG0B8SA>`fuyM1@}TVB$5-4n;LAZVpS z(#hb<m&505;yL=VB|0!?rJnd5Q`3MI>jP}8EGjxxzkmC7t1oD04BuUOY34qjivjAH z*7@-^wa=2~f6p_}$d#OM#6yKiQ>rylqRe4KSinZFZ#NzmBv^jey|U}N;gJhB-QV)( zB}9sq#JbzaZ5OV|lKZa5zu=Sn!L5xi60?r|U|X_!^5nzY7(JR46lC~5A9YKVQ#;Gs z*S#XRQRv{+>V^hsi;Ijh+>sh$TuR0T7wQ>2;;uSmKGrtha7OgZlAw(8y{=1kO4n_d zw$lBqq1W<i_JYZkcJsw|G-l3X@NDUP{k%Us@q0;G-e2)cbJN#f*x}xKJhYkDceR>E zbZVdN_YEig1dr6m7QOA#Rf;ZA+_!GgQor_PnO9lV?lL)7|5?KOH{FyaOIL%@eomeI zmR46e>njNlU+hz2IoTPb7w&t2cg0_W*~hZ3wKvBaRsCwdQNKX)vwXed(i>+#eq`@- zd1Tr=Db?~Y&k|pz!xw()ZH$<=?DL<npw0Iu#+D=~W-fX-g?0V;?{kFm*REZ6Xzi*! z6PEZk1$8d;w6L6XGpu!O?E}L$*;g+P+&RN@?Q&+GLjJXbZU>L-oG5*JQsh(1mvi^j zoBv*U?YH$|q0J|s+z(o|V7jEoqK;|X-pSr)OniKF@p=2}_k8v)NmRC1wv}=FkeZZq wsCoIbKkND<<C8*<y_<2aCpGPpdjlhbl)ijQ$7#1t1_lNOPgg&ebxsLQ0NH_3(f|Me literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_color.png new file mode 100644 index 0000000000000000000000000000000000000000..acd45b8bcc4951519bf8b41a26fade87bcc417ce GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0y~yVBiN~4kiW$#>1P9x)~T4SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfl<uU#WAGfR?>~yZ|DC1 z|If(O!PsG3=EcY&pxklt0E2*o&dl9Q8bur!8Y`A=ca=E6pwJM}@Z%|C90$8XgTpCB zh84034HDjYoX#%0L+>-N2%Mh&`%Qr9Djo*LBcHx1N;C5?un3&ka_YGg&x!@HpJW{v z8h!qKYZ3Kra-77d(BL2x|8C=A?-@o6ECPq8C5Qh{W>}!$z~FedpN)a3W8<Tl3d=Mc z7&iX-d8kE`OTa;AznwvH7ZZ!X>Gj`rW-MZ0WDz;KNKBz2qOSgs5|@C(jaW7T2Zf8T zu1CnUb4Iz|XJ!#N!CAl0&`^M#fr(>@)au|3ObrZ7E04XBUBjTzps*^kBZODLA>pcg ohpDte!-0K&oYv?wGVw4R7S3E^!hJuVfq{X+)78&qol`;+0MZ<V4FCWD literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_grey.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_16_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8d9fa4b57a703878fc60398f35c602e5b387a8 GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFdBKfIEGZ*S`uuX*X$r5tE04Pf=Pmvu&a@%xR=&C z2iN0_6Et=>FIcktF^`8xSjP$lUX6)ALmX~wOldyIC*)rhm0AAm?d+S8t6p10H1n=u zvE80I>se9sk`~44H@t^mOlvrDcG`t)y6YST8gg&%xYxCKy>9j_Hs8y0SntW*Kgeh2 zFzsn4L+9-Pk*(@pt5zwAx>{N*cz!FKGv~RbOCXEqq!<|<-RgPfLJDhMOC2(3vFKZ< z<83op<)xCrmY7gcGvm`nKmPn{n*Uf|=;MXYKd+cgOEt`U(r{<mGEEWJ#`g8M#T(xK z6`#Xlz{A}4xMAJv|9uSSKdUn?a+&3vr@r-Fne`KaMH)@7cO^tlGbt!o(0*8jgXxo4 z&Hdv`ZU)9B&3wG$q}<idobR?}UD<NjCE;!PKj8$1{FcXaFE0w5z`(%3;OXk;vd$@? F2>=i_s7U|- literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_color.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_color.png new file mode 100644 index 0000000000000000000000000000000000000000..d9368695e3d1dfbd892904f3985c9f61f3a99b03 GIT binary patch literal 1108 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+n7?_tIEGZ*dJ`U>5u7ga|8D(B-%IwM*~wwM7xnti z{e3tkkE?9U<*R44qS7Rj`IA`XzwOz$_s4^K+qjG*qUE<~b|~aDcQ%*qO5A;I;ld7& z?Cjm8PMT7e&35Kao^9$WeE$30S<9-TgCb8f|K1^f?&rSZ_dn+r*FE2TU-Z&T6D~^^ zkqQx+hB>PrO6$tLY+_1S{Q3|3|CPmDTILK*3MQs<KW3d?{$Fl!yUUFfLDw#x)f!6k zyb{$W9@&3V<eBA4c{T3`(-$tAxb#6m?$=kw2ijsMJ=}7tfc@W*H&f3qyuX*R`l;BC z*Y=JVg86gx`mQANu}T<cPHO4-=fZGG$LJbcmEisxUB2fTvac~uR<u8+w~zV!xy=Hr zX9@V8ORrhJ`7Y<_f(8429_eDK{&#h;<jvHr3N=41%)*&OQ;*HrEi*wSVZnFf9enRy zxjruKD^`5?(>V9ERB3tn<JFsmW6Dklsj0gMyo=6yti_tN-R;4$uMt5;><TFtA1g8_ zMZE5_eH&w0o-T8V>7dLe9&SM$N0!h2E#mS5tT(i4W^nPR7#(n{kgA!tUYMiUY&OG* zupE~SL90H_S|Bg@e|iV&uf)%LIQsWY4l|dqp02Rq)meYTYn2mrHCsGT;uF}nvHHNS zWyw!k4rpIWW?@NKWY2WKGxsT9ob#U|=`3599qEk|%4D0v*I!<Bu}!RK!4)%SpZ^UL z?@fO3dVklYS8rF;ymnqu`g_6*f5(YSe2)B@)A#P79uF&<;2cgRk-1IFvOm;+S<T6? znrZEJ+0rL_?xddC$RT-Bz_euQCG7we)$_6q*~Q%FnX+rI{ny;38u?_R+hfC+9hHo8 z|L#vncI91l`r5<Rt#MOUxE4gnJd@lY{3#$qMDP72E76;qPpizj7ADm5kMCt-317@1 zfAe~`+@ow;@^134&N(?l?b+lDNtd57NHpd=jceJu(1-0t$BXVwrHl?5Qpa3Ux=tVd z{{PU9GXCbqM7`?F;v0KcHhL{|=zsm^+{@?#9AP&<7#^$7f4ow+*obdKZ`#FW|57$H zwk!$~oqBp{mZ3}-`<!h;Z&p>$J?|P`uuF%bRdCHR&PVHlCH7uxly<JwSb3{!(RAqs zZEl7=x5H`{ip{S4w0@x%OVZSkn*7D*wyQgD_-$LiVTm-~mzRHP`$8|yNhk_?eeRs= zC-wuI91N~4pB$L{U3%^hcH8aM9#x&M@5}!*t7rIDx+k3>k!AAQ7`<it=Fa6RW_ZIe z@w)KEZC}^Vkm_B{dEolg&))odzv=aDk3Y0_Uw+y86nFJc_op$;h-*7|)O1~_>(v`K zIG(SxzH@MukwB+AceU2PcYpP{*cUv#@UrQT_y)fGv&Xwv{<D9^^5B2{;pK7%m>Jm^ Zjw;$u-LuNz6$1kUgQu&X%Q~loCIC#S3R3_8 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_grey.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/nextgen_32_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..f22f3d87c0c56e78e68631cbf638b2954bb369b9 GIT binary patch literal 898 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+m{mMo978H@y$SdAPD&K9o0ZC@q#7|nAZ1Fz?vjPN zw@jKfwsd?H-_dm<_q4*D9U1TYXRO^J5$n2OkyE!4$FCbL9a6X2XRUl({9teK?|^ry zJmSXeaqnJN_dmCJZh5{k(0BXorGc}ix#cLcF9?1m(dn{FnU&%8{rmD+pW*^fF<8t! zm*42n@O@`Y-?3xIJeFU+c;pC+eSCcU%9}YsyYDXZTkh<1L#o%UtI@bd?ESTC*RB{d zNXyGFKY7w~)zz$$ni`*0r^aW`o}GAFH1TB0qN=@qS!&*f41!k@3<9=BJ$(|kdg`?4 z(^m$q{E)u=wr|?znNe%6wV(QZG=-tPy`5Q6d4r6DjhuS-Q75;>6DL2kw6^x1>C?7t z`*u-d1;&O}r-l3aUQ}yMePsJ9PH%c<UEMsX-nJ);ufP5&^L}Bc<5ceExDwmOzc+5( zdenURa`2_BtvW_uB&#j%-n-`&`jE#&SyD^<+m9b7o>%bCU6I7#d5@c?M6BC&Syfh+ z*C)qNX=!PZ?xQp6_Egu^J$qlVH;#=#Y>I@jg7^#@OO0)}-^RQ=d6JVk@#?o@d4+`& z|J2zpy_~sg*RCYPUp01i$2FK*40@jb{Aqdj?%l#11J(oV?CkXn9j_ENq!?*(zIpnz zb-snT9Rox2ukf(2B{z>X@lQ(bKk~C?-fgbNMYbAT8y8GB=Q$BwP+xyuG;!Y3&Hv>Z z?l3TMpPWB$o`q&h_mLg)Pi8SVCp-vd;4rYY^<5hDviHD+Y{%6M4K52r+D>znGiDrP zYF@p1wNBcG4$}Z;2UV?)6*f~mR4S${;Ovo_wn9mU&)eaMWD7^s#}W&fp!cHP0R{|5 zxVgEv?A&=$<ldb-1@{Z`<6~kx_R6O;#f1hdNC<p!I_vH2J?VhLvdx=~JAWlgeyZbo zu=l``)+JMJ?N4I}wX?DLAU9obl{iCLdHH_60~aq|WN&or*wOP~&-U%#P4{=OFw8!C zEj(g}!<1XUep$IL4&1eG-#@z(`m@jet72X-zbQQ}EhMyc<w4sfmQ@lG%MQ5sgfcW8 zeDH$d&6_tp@9GaeeVUqZqp|w$|CLAlKmXtV(4POnb_QmKj?MRUJq=BsGcYhPc)I$z JtaD0e0sxU;pTYnD literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/select.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/select.png new file mode 100644 index 0000000000000000000000000000000000000000..21213bfd51b088497f3a9e423170cd65532d873d GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?u%tWsIx;Y<KVi<=^^$>s zL9)a(q9iy!t)x7$D3!r6B|j-u!8128JvAsbF{QHbWU37V17nY;i(^Q|tv53cdL4EU zXe&2gS>+j|v}k(_%SMH`J<mIBDn3cte0?DN^xes3r5_Ak60@ExGBf-qoR+A0L#%MJ zSlNU8%bp4Q-tl=qo1S}{OE&0KZH=sBaz^-#UjGcXy$<iED2Uyx^^kn<ol~SMaZ$^> z13{X8Je<lq%nUi^Z}&X>#?kx&OVBjMeGA!NNc~b^OPaXDqM7f<!rKZQYKanD_rI^b zbfr}H)FzS8P{Avz%kPVrZ|J+M(Y5AqNp!PRNOzXhOT$n(NzRv*ape=ATV9NAJgC=U z(Z_my(y_G{*Vi60xYRc7Z=kA~j?4t+A_u+`jFt;>**ATCba`FX-xtyzDxQz3GIlp^ z(zz|8z`L1m%B$+sFvrOG<(EwU&X;?%dC}kQX>*NV%k&f{n`O^l_A<?Q)@%<m=B;A< z7k4IkyBtpr6#3=&+90GmhF{rs@xk6RZN-OkW;h+UoymLtg6M2sk?*(UcS+pnTc~lc zXnA<!w6!uqZuxU#HheiT%`(M3<+#xi@$c`oZyLmwH$Qc6U}PxQZFr`&=36EM0|SGn LtDnm{r-UW|{}|Rt literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/twitter.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/images/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a687b9f2d60f0b2c2857f1aef7f3e7b1551ce7 GIT binary patch literal 964 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+nA1F6978H@?FskwmkJcI<vIMpbOA?){EZ0<7$=`v z<|}?|iKlq)vEF}O>+XKH{}EhreaXshwO-#_%X+tNGu^s&>lUV~TGRRyXPB>lzfj@9 znTAOPlcf`D_EbNcSA2f<M%%j0%wpa;;gQEK%)gPo^H5RjlcVYGPTAkxoj%-X-4~)S zX#35kc+0k#mQl|b!k#NRdNlFQuJ5j8EYN?zxc(%=nj!|n-DlgTtE+y|u2^f$ocGW0 z7^A~d5i8UG2Lqo8yj)-X;e^qmk1KE8k88gEB#?Q*hF2|8$`)xy=kK}YW@f~D{iVIj z{Jez1Lb*jMUs)V3&Sn%~JCO45_hX}NLEgRZUv3mxwy)MfY33VVhD@e_v<wqruA)9i zhwIY!O&yQ8OF7K>=H|F_Df5~JNmeFdja;S!&fC40z23dtVLwZN(lglwYXp|AWy!qC zRn*=t+x?^2v4ijA5$;=73ufM#c<$eIK85grk2&Sbl^YZ_W<*CAuw1;vsLd<E_(QRu zx$|Qm!<?y1hvt_}oH6s|0!BYZAFBhJ3Qy8(y7OwTHFrqASv$c@e#0Avi+MU``_HHE zDDUQ<W4&-Dn}<Jx+F?28+N;lB$uzX`zy1}<#rDR^DQ<ac;`Y03yAwGRw_n(Cd)vod zEDIvfn3%qBxD<LYDd~g|!}1*tU!tN~BmM_$l{#$3kQ#clG3f2d4w*9#q!@PGoY6T! z!iRBV#Qofk1!rY96gV++ol39VW_L@PN&1#`f^pu|<IGjdw#58iYrSFfN0EIGJ9ctb zrt-L{Czx+cx~1c!&86nfT=7@?ZqZvFp=~b>Y}l7SlgXCk*;CzpoBz3D<x@U}gnNw3 zy<6t5Jry2R8X!`;bxYTpbqDu<m)&?JRC}4Yl)x+Fl`~T&_FimGc@o2Y-KSS@?%IyF z-;1KTDt_ExPRTmczxK<?ty|T8rySmU+l1jXdrxq0LRpoF;>}L+_)P(;?#lZKFLpe< z_w{rssTW(GI=VWS*fh9bWT=x9pLlxu1pU<omM#{qkHu$2E6Q_hezT}iIw+>OsVXI; z$=+x6JxBgW&i7``p4hE?TZ8LNfA_3=l{}U9yK0X;mRoPsICsJE1=E8!oIl^FS-rK) z<(qQl+V0Ki^UD*K1_WMDIoa5<;M>!yJ)469R{wbyZqZQc7&^^+)urp#iyuDv`e#1_ aGXwtzM;<NB!%7Sc3=E#GelF{r5}E)QEVnuU literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/index.html b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php new file mode 100644 index 000000000..299285b0d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/install.php @@ -0,0 +1,164 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * creates all tables for the gallery + * called during register_activation hook + * + * @access internal + * @return void + */ +function nggallery_install () { + + global $wpdb , $wp_roles, $wp_version; + + // Check for capability + if ( !current_user_can('activate_plugins') ) + return; + + // Set the capabilities for the administrator + $role = get_role('administrator'); + // We need this role, no other chance + if ( empty($role) ) { + update_option( "ngg_init_check", __('Sorry, NextGEN Gallery works only with a role called administrator',"nggallery") ); + return; + } + + $role->add_cap('NextGEN Gallery overview'); + $role->add_cap('NextGEN Use TinyMCE'); + $role->add_cap('NextGEN Upload images'); + $role->add_cap('NextGEN Manage gallery'); + $role->add_cap('NextGEN Manage tags'); + $role->add_cap('NextGEN Manage others gallery'); + $role->add_cap('NextGEN Edit album'); + $role->add_cap('NextGEN Change style'); + $role->add_cap('NextGEN Change options'); + $role->add_cap('NextGEN Attach Interface'); + + // upgrade function changed in WordPress 2.3 + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); + + // add charset & collate like wp core + $charset_collate = ''; + + if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) { + if ( ! empty($wpdb->charset) ) + $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; + if ( ! empty($wpdb->collate) ) + $charset_collate .= " COLLATE $wpdb->collate"; + } + + $nggpictures = $wpdb->prefix . 'ngg_pictures'; + $nggallery = $wpdb->prefix . 'ngg_gallery'; + $nggalbum = $wpdb->prefix . 'ngg_album'; + + // Create pictures table + $sql = "CREATE TABLE " . $nggpictures . " ( + pid BIGINT(20) NOT NULL AUTO_INCREMENT , + image_slug VARCHAR(255) NOT NULL , + post_id BIGINT(20) DEFAULT '0' NOT NULL , + galleryid BIGINT(20) DEFAULT '0' NOT NULL , + filename VARCHAR(255) NOT NULL , + description MEDIUMTEXT NULL , + alttext MEDIUMTEXT NULL , + imagedate DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + exclude TINYINT NULL DEFAULT '0' , + sortorder BIGINT(20) DEFAULT '0' NOT NULL , + meta_data LONGTEXT, + PRIMARY KEY (pid), + KEY post_id (post_id) + ) $charset_collate;"; + dbDelta($sql); + + // Create gallery table + $sql = "CREATE TABLE " . $nggallery . " ( + gid BIGINT(20) NOT NULL AUTO_INCREMENT , + name VARCHAR(255) NOT NULL , + slug VARCHAR(255) NOT NULL , + path MEDIUMTEXT NULL , + title MEDIUMTEXT NULL , + galdesc MEDIUMTEXT NULL , + pageid BIGINT(20) DEFAULT '0' NOT NULL , + previewpic BIGINT(20) DEFAULT '0' NOT NULL , + author BIGINT(20) DEFAULT '0' NOT NULL , + PRIMARY KEY (gid) + ) $charset_collate;"; + dbDelta($sql); + + // Create albums table + $sql = "CREATE TABLE " . $nggalbum . " ( + id BIGINT(20) NOT NULL AUTO_INCREMENT , + name VARCHAR(255) NOT NULL , + slug VARCHAR(255) NOT NULL , + previewpic BIGINT(20) DEFAULT '0' NOT NULL , + albumdesc MEDIUMTEXT NULL , + sortorder LONGTEXT NOT NULL, + pageid BIGINT(20) DEFAULT '0' NOT NULL, + PRIMARY KEY (id) + ) $charset_collate;"; + dbDelta($sql); + + // check one table again, to be sure + if( !$wpdb->get_var( "SHOW TABLES LIKE '$nggpictures'" ) ) { + update_option( "ngg_init_check", __('NextGEN Gallery : Tables could not created, please check your database settings',"nggallery") ); + return; + } + + $options = get_option('ngg_options'); + + // if all is passed , save the DBVERSION + add_option("ngg_db_version", NGG_DBVERSION); + +} + +/** + * Deregister a capability from all classic roles + * + * @access internal + * @param string $capability name of the capability which should be deregister + * @return void + */ +function ngg_remove_capability($capability){ + // this function remove the $capability only from the classic roles + $check_order = array("subscriber", "contributor", "author", "editor", "administrator"); + + foreach ($check_order as $role) { + + $role = get_role($role); + $role->remove_cap($capability) ; + } + +} + +/** + * Uninstall all settings and tables + * Called via Setup and register_unstall hook + * + * @access internal + * @return void + */ +function nggallery_uninstall() { + global $wpdb; + + // TODO don't remove data on uninstall + // first remove all tables +# $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}ngg_pictures"); +# $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}ngg_gallery"); +# $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}ngg_album"); + + // then remove all options + delete_option( 'ngg_options' ); + delete_option( 'ngg_db_version' ); + delete_option( 'ngg_update_exists' ); + delete_option( 'ngg_next_update' ); + + // now remove the capability + ngg_remove_capability("NextGEN Gallery overview"); + ngg_remove_capability("NextGEN Use TinyMCE"); + ngg_remove_capability("NextGEN Upload images"); + ngg_remove_capability("NextGEN Manage gallery"); + ngg_remove_capability("NextGEN Edit album"); + ngg_remove_capability("NextGEN Change style"); + ngg_remove_capability("NextGEN Change options"); + ngg_remove_capability("NextGEN Attach Interface"); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/Jcrop.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/Jcrop.gif new file mode 100644 index 0000000000000000000000000000000000000000..72ea7ccb5321d5384d70437cfaac73011237901e GIT binary patch literal 329 zcmZ?wbhEHb<Y3@nn8?7eYSpU$|Nk?9f#QE|Ki808XU70nBRvCVMg|53#h)ykTnr2h zIv@ogEeuS&Q&>5dXP*u6VZRvpR0o?1{uaFjGqRq?MPFEW;?2^nSWV$)X-S$s`_+Y{ z3tJ*GYZqWw)6$wWp=#%?q>Mum8>?4fRm0n&s7b&zB7BPox@Jm40>U+mz&5d>`I~=A LW5Oh4*H{Ap`pi-g literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.css new file mode 100644 index 000000000..24925dc94 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/css/jquery.Jcrop.css @@ -0,0 +1,35 @@ +/* Fixes issue here http://code.google.com/p/jcrop/issues/detail?id=1 */ +.jcrop-holder { text-align: left; } + +.jcrop-vline, .jcrop-hline +{ + font-size: 0; + position: absolute; + background: white url('Jcrop.gif') top left repeat; +} +.jcrop-vline { height: 100%; width: 1px !important; } +.jcrop-hline { width: 100%; height: 1px !important; } +.jcrop-handle { + font-size: 1px; + width: 7px !important; + height: 7px !important; + border: 1px #eee solid; + background-color: #333; + *width: 9px; + *height: 9px; +} + +.jcrop-tracker { width: 100%; height: 100%; } + +.custom .jcrop-vline, +.custom .jcrop-hline +{ + background: yellow; +} +.custom .jcrop-handle +{ + border-color: black; + background-color: #C7BB00; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.js new file mode 100644 index 000000000..ad261f97a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/Jcrop/js/jquery.Jcrop.js @@ -0,0 +1,1197 @@ +/** + * jquery.Jcrop.js v0.9.8 + * jQuery Image Cropping Plugin + * @author Kelly Hallman <khallman@gmail.com> + * Copyright (c) 2008-2009 Kelly Hallman - released under MIT License {{{ + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + + * }}} + */ + +(function($) { + +$.Jcrop = function(obj,opt) +{ + // Initialization {{{ + + // Sanitize some options {{{ + var obj = obj, opt = opt; + + if (typeof(obj) !== 'object') obj = $(obj)[0]; + if (typeof(opt) !== 'object') opt = { }; + + // Some on-the-fly fixes for MSIE...sigh + if (!('trackDocument' in opt)) + { + opt.trackDocument = $.browser.msie ? false : true; + if ($.browser.msie && $.browser.version.split('.')[0] == '8') + opt.trackDocument = true; + } + + if (!('keySupport' in opt)) + opt.keySupport = $.browser.msie ? false : true; + + // }}} + // Extend the default options {{{ + var defaults = { + + // Basic Settings + trackDocument: false, + baseClass: 'jcrop', + addClass: null, + + // Styling Options + bgColor: 'black', + bgOpacity: .6, + borderOpacity: .4, + handleOpacity: .5, + + handlePad: 5, + handleSize: 9, + handleOffset: 5, + edgeMargin: 14, + + aspectRatio: 0, + keySupport: true, + cornerHandles: true, + sideHandles: true, + drawBorders: true, + dragEdges: true, + + boxWidth: 0, + boxHeight: 0, + + boundary: 8, + animationDelay: 20, + swingSpeed: 3, + + allowSelect: true, + allowMove: true, + allowResize: true, + + minSelect: [ 0, 0 ], + maxSize: [ 0, 0 ], + minSize: [ 0, 0 ], + + // Callbacks / Event Handlers + onChange: function() { }, + onSelect: function() { } + + }; + var options = defaults; + setOptions(opt); + + // }}} + // Initialize some jQuery objects {{{ + + var $origimg = $(obj); + var $img = $origimg.clone().removeAttr('id').css({ position: 'absolute' }); + + $img.width($origimg.width()); + $img.height($origimg.height()); + $origimg.after($img).hide(); + + presize($img,options.boxWidth,options.boxHeight); + + var boundx = $img.width(), + boundy = $img.height(), + + $div = $('<div />') + .width(boundx).height(boundy) + .addClass(cssClass('holder')) + .css({ + position: 'relative', + backgroundColor: options.bgColor + }).insertAfter($origimg).append($img); + ; + + if (options.addClass) $div.addClass(options.addClass); + //$img.wrap($div); + + var $img2 = $('<img />')/*{{{*/ + .attr('src',$img.attr('src')) + .css('position','absolute') + .width(boundx).height(boundy) + ;/*}}}*/ + var $img_holder = $('<div />')/*{{{*/ + .width(pct(100)).height(pct(100)) + .css({ + zIndex: 310, + position: 'absolute', + overflow: 'hidden' + }) + .append($img2) + ;/*}}}*/ + var $hdl_holder = $('<div />')/*{{{*/ + .width(pct(100)).height(pct(100)) + .css('zIndex',320); + /*}}}*/ + var $sel = $('<div />')/*{{{*/ + .css({ + position: 'absolute', + zIndex: 300 + }) + .insertBefore($img) + .append($img_holder,$hdl_holder) + ;/*}}}*/ + + var bound = options.boundary; + var $trk = newTracker().width(boundx+(bound*2)).height(boundy+(bound*2)) + .css({ position: 'absolute', top: px(-bound), left: px(-bound), zIndex: 290 }) + .mousedown(newSelection); + + /* }}} */ + // Set more variables {{{ + + var xlimit, ylimit, xmin, ymin; + var xscale, yscale, enabled = true; + var docOffset = getPos($img), + // Internal states + btndown, lastcurs, dimmed, animating, + shift_down; + + // }}} + + + // }}} + // Internal Modules {{{ + + var Coords = function()/*{{{*/ + { + var x1 = 0, y1 = 0, x2 = 0, y2 = 0, ox, oy; + + function setPressed(pos)/*{{{*/ + { + var pos = rebound(pos); + x2 = x1 = pos[0]; + y2 = y1 = pos[1]; + }; + /*}}}*/ + function setCurrent(pos)/*{{{*/ + { + var pos = rebound(pos); + ox = pos[0] - x2; + oy = pos[1] - y2; + x2 = pos[0]; + y2 = pos[1]; + }; + /*}}}*/ + function getOffset()/*{{{*/ + { + return [ ox, oy ]; + }; + /*}}}*/ + function moveOffset(offset)/*{{{*/ + { + var ox = offset[0], oy = offset[1]; + + if (0 > x1 + ox) ox -= ox + x1; + if (0 > y1 + oy) oy -= oy + y1; + + if (boundy < y2 + oy) oy += boundy - (y2 + oy); + if (boundx < x2 + ox) ox += boundx - (x2 + ox); + + x1 += ox; + x2 += ox; + y1 += oy; + y2 += oy; + }; + /*}}}*/ + function getCorner(ord)/*{{{*/ + { + var c = getFixed(); + switch(ord) + { + case 'ne': return [ c.x2, c.y ]; + case 'nw': return [ c.x, c.y ]; + case 'se': return [ c.x2, c.y2 ]; + case 'sw': return [ c.x, c.y2 ]; + } + }; + /*}}}*/ + function getFixed()/*{{{*/ + { + if (!options.aspectRatio) return getRect(); + // This function could use some optimization I think... + var aspect = options.aspectRatio, + min_x = options.minSize[0]/xscale, + min_y = options.minSize[1]/yscale, + max_x = options.maxSize[0]/xscale, + max_y = options.maxSize[1]/yscale, + rw = x2 - x1, + rh = y2 - y1, + rwa = Math.abs(rw), + rha = Math.abs(rh), + real_ratio = rwa / rha, + xx, yy + ; + if (max_x == 0) { max_x = boundx * 10 } + if (max_y == 0) { max_y = boundy * 10 } + if (real_ratio < aspect) + { + yy = y2; + w = rha * aspect; + xx = rw < 0 ? x1 - w : w + x1; + + if (xx < 0) + { + xx = 0; + h = Math.abs((xx - x1) / aspect); + yy = rh < 0 ? y1 - h: h + y1; + } + else if (xx > boundx) + { + xx = boundx; + h = Math.abs((xx - x1) / aspect); + yy = rh < 0 ? y1 - h : h + y1; + } + } + else + { + xx = x2; + h = rwa / aspect; + yy = rh < 0 ? y1 - h : y1 + h; + if (yy < 0) + { + yy = 0; + w = Math.abs((yy - y1) * aspect); + xx = rw < 0 ? x1 - w : w + x1; + } + else if (yy > boundy) + { + yy = boundy; + w = Math.abs(yy - y1) * aspect; + xx = rw < 0 ? x1 - w : w + x1; + } + } + + // Magic %-) + if(xx > x1) { // right side + if(xx - x1 < min_x) { + xx = x1 + min_x; + } else if (xx - x1 > max_x) { + xx = x1 + max_x; + } + if(yy > y1) { + yy = y1 + (xx - x1)/aspect; + } else { + yy = y1 - (xx - x1)/aspect; + } + } else if (xx < x1) { // left side + if(x1 - xx < min_x) { + xx = x1 - min_x + } else if (x1 - xx > max_x) { + xx = x1 - max_x; + } + if(yy > y1) { + yy = y1 + (x1 - xx)/aspect; + } else { + yy = y1 - (x1 - xx)/aspect; + } + } + + if(xx < 0) { + x1 -= xx; + xx = 0; + } else if (xx > boundx) { + x1 -= xx - boundx; + xx = boundx; + } + + if(yy < 0) { + y1 -= yy; + yy = 0; + } else if (yy > boundy) { + y1 -= yy - boundy; + yy = boundy; + } + + return last = makeObj(flipCoords(x1,y1,xx,yy)); + }; + /*}}}*/ + function rebound(p)/*{{{*/ + { + if (p[0] < 0) p[0] = 0; + if (p[1] < 0) p[1] = 0; + + if (p[0] > boundx) p[0] = boundx; + if (p[1] > boundy) p[1] = boundy; + + return [ p[0], p[1] ]; + }; + /*}}}*/ + function flipCoords(x1,y1,x2,y2)/*{{{*/ + { + var xa = x1, xb = x2, ya = y1, yb = y2; + if (x2 < x1) + { + xa = x2; + xb = x1; + } + if (y2 < y1) + { + ya = y2; + yb = y1; + } + return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ]; + }; + /*}}}*/ + function getRect()/*{{{*/ + { + var xsize = x2 - x1; + var ysize = y2 - y1; + + if (xlimit && (Math.abs(xsize) > xlimit)) + x2 = (xsize > 0) ? (x1 + xlimit) : (x1 - xlimit); + if (ylimit && (Math.abs(ysize) > ylimit)) + y2 = (ysize > 0) ? (y1 + ylimit) : (y1 - ylimit); + + if (ymin && (Math.abs(ysize) < ymin)) + y2 = (ysize > 0) ? (y1 + ymin) : (y1 - ymin); + if (xmin && (Math.abs(xsize) < xmin)) + x2 = (xsize > 0) ? (x1 + xmin) : (x1 - xmin); + + if (x1 < 0) { x2 -= x1; x1 -= x1; } + if (y1 < 0) { y2 -= y1; y1 -= y1; } + if (x2 < 0) { x1 -= x2; x2 -= x2; } + if (y2 < 0) { y1 -= y2; y2 -= y2; } + if (x2 > boundx) { var delta = x2 - boundx; x1 -= delta; x2 -= delta; } + if (y2 > boundy) { var delta = y2 - boundy; y1 -= delta; y2 -= delta; } + if (x1 > boundx) { var delta = x1 - boundy; y2 -= delta; y1 -= delta; } + if (y1 > boundy) { var delta = y1 - boundy; y2 -= delta; y1 -= delta; } + + return makeObj(flipCoords(x1,y1,x2,y2)); + }; + /*}}}*/ + function makeObj(a)/*{{{*/ + { + return { x: a[0], y: a[1], x2: a[2], y2: a[3], + w: a[2] - a[0], h: a[3] - a[1] }; + }; + /*}}}*/ + + return { + flipCoords: flipCoords, + setPressed: setPressed, + setCurrent: setCurrent, + getOffset: getOffset, + moveOffset: moveOffset, + getCorner: getCorner, + getFixed: getFixed + }; + }(); + + /*}}}*/ + var Selection = function()/*{{{*/ + { + var start, end, dragmode, awake, hdep = 370; + var borders = { }; + var handle = { }; + var seehandles = false; + var hhs = options.handleOffset; + + /* Insert draggable elements {{{*/ + + // Insert border divs for outline + if (options.drawBorders) { + borders = { + top: insertBorder('hline') + .css('top',$.browser.msie?px(-1):px(0)), + bottom: insertBorder('hline'), + left: insertBorder('vline'), + right: insertBorder('vline') + }; + } + + // Insert handles on edges + if (options.dragEdges) { + handle.t = insertDragbar('n'); + handle.b = insertDragbar('s'); + handle.r = insertDragbar('e'); + handle.l = insertDragbar('w'); + } + + // Insert side handles + options.sideHandles && + createHandles(['n','s','e','w']); + + // Insert corner handles + options.cornerHandles && + createHandles(['sw','nw','ne','se']); + + /*}}}*/ + // Private Methods + function insertBorder(type)/*{{{*/ + { + var jq = $('<div />') + .css({position: 'absolute', opacity: options.borderOpacity }) + .addClass(cssClass(type)); + $img_holder.append(jq); + return jq; + }; + /*}}}*/ + function dragDiv(ord,zi)/*{{{*/ + { + var jq = $('<div />') + .mousedown(createDragger(ord)) + .css({ + cursor: ord+'-resize', + position: 'absolute', + zIndex: zi + }) + ; + $hdl_holder.append(jq); + return jq; + }; + /*}}}*/ + function insertHandle(ord)/*{{{*/ + { + return dragDiv(ord,hdep++) + .css({ top: px(-hhs+1), left: px(-hhs+1), opacity: options.handleOpacity }) + .addClass(cssClass('handle')); + }; + /*}}}*/ + function insertDragbar(ord)/*{{{*/ + { + var s = options.handleSize, + o = hhs, + h = s, w = s, + t = o, l = o; + + switch(ord) + { + case 'n': case 's': w = pct(100); break; + case 'e': case 'w': h = pct(100); break; + } + + return dragDiv(ord,hdep++).width(w).height(h) + .css({ top: px(-t+1), left: px(-l+1)}); + }; + /*}}}*/ + function createHandles(li)/*{{{*/ + { + for(i in li) handle[li[i]] = insertHandle(li[i]); + }; + /*}}}*/ + function moveHandles(c)/*{{{*/ + { + var midvert = Math.round((c.h / 2) - hhs), + midhoriz = Math.round((c.w / 2) - hhs), + north = west = -hhs+1, + east = c.w - hhs, + south = c.h - hhs, + x, y; + + 'e' in handle && + handle.e.css({ top: px(midvert), left: px(east) }) && + handle.w.css({ top: px(midvert) }) && + handle.s.css({ top: px(south), left: px(midhoriz) }) && + handle.n.css({ left: px(midhoriz) }); + + 'ne' in handle && + handle.ne.css({ left: px(east) }) && + handle.se.css({ top: px(south), left: px(east) }) && + handle.sw.css({ top: px(south) }); + + 'b' in handle && + handle.b.css({ top: px(south) }) && + handle.r.css({ left: px(east) }); + }; + /*}}}*/ + function moveto(x,y)/*{{{*/ + { + $img2.css({ top: px(-y), left: px(-x) }); + $sel.css({ top: px(y), left: px(x) }); + }; + /*}}}*/ + function resize(w,h)/*{{{*/ + { + $sel.width(w).height(h); + }; + /*}}}*/ + function refresh()/*{{{*/ + { + var c = Coords.getFixed(); + + Coords.setPressed([c.x,c.y]); + Coords.setCurrent([c.x2,c.y2]); + + updateVisible(); + }; + /*}}}*/ + + // Internal Methods + function updateVisible()/*{{{*/ + { if (awake) return update(); }; + /*}}}*/ + function update()/*{{{*/ + { + var c = Coords.getFixed(); + + resize(c.w,c.h); + moveto(c.x,c.y); + + options.drawBorders && + borders['right'].css({ left: px(c.w-1) }) && + borders['bottom'].css({ top: px(c.h-1) }); + + seehandles && moveHandles(c); + awake || show(); + + options.onChange(unscale(c)); + }; + /*}}}*/ + function show()/*{{{*/ + { + $sel.show(); + $img.css('opacity',options.bgOpacity); + awake = true; + }; + /*}}}*/ + function release()/*{{{*/ + { + disableHandles(); + $sel.hide(); + $img.css('opacity',1); + awake = false; + }; + /*}}}*/ + function showHandles()//{{{ + { + if (seehandles) + { + moveHandles(Coords.getFixed()); + $hdl_holder.show(); + } + }; + //}}} + function enableHandles()/*{{{*/ + { + seehandles = true; + if (options.allowResize) + { + moveHandles(Coords.getFixed()); + $hdl_holder.show(); + return true; + } + }; + /*}}}*/ + function disableHandles()/*{{{*/ + { + seehandles = false; + $hdl_holder.hide(); + }; + /*}}}*/ + function animMode(v)/*{{{*/ + { + (animating = v) ? disableHandles(): enableHandles(); + }; + /*}}}*/ + function done()/*{{{*/ + { + animMode(false); + refresh(); + }; + /*}}}*/ + + var $track = newTracker().mousedown(createDragger('move')) + .css({ cursor: 'move', position: 'absolute', zIndex: 360 }) + + $img_holder.append($track); + disableHandles(); + + return { + updateVisible: updateVisible, + update: update, + release: release, + refresh: refresh, + setCursor: function (cursor) { $track.css('cursor',cursor); }, + enableHandles: enableHandles, + enableOnly: function() { seehandles = true; }, + showHandles: showHandles, + disableHandles: disableHandles, + animMode: animMode, + done: done + }; + }(); + /*}}}*/ + var Tracker = function()/*{{{*/ + { + var onMove = function() { }, + onDone = function() { }, + trackDoc = options.trackDocument; + + if (!trackDoc) + { + $trk + .mousemove(trackMove) + .mouseup(trackUp) + .mouseout(trackUp) + ; + } + + function toFront()/*{{{*/ + { + $trk.css({zIndex:450}); + if (trackDoc) + { + $(document) + .mousemove(trackMove) + .mouseup(trackUp) + ; + } + } + /*}}}*/ + function toBack()/*{{{*/ + { + $trk.css({zIndex:290}); + if (trackDoc) + { + $(document) + .unbind('mousemove',trackMove) + .unbind('mouseup',trackUp) + ; + } + } + /*}}}*/ + function trackMove(e)/*{{{*/ + { + onMove(mouseAbs(e)); + }; + /*}}}*/ + function trackUp(e)/*{{{*/ + { + e.preventDefault(); + e.stopPropagation(); + + if (btndown) + { + btndown = false; + + onDone(mouseAbs(e)); + options.onSelect(unscale(Coords.getFixed())); + toBack(); + onMove = function() { }; + onDone = function() { }; + } + + return false; + }; + /*}}}*/ + + function activateHandlers(move,done)/* {{{ */ + { + btndown = true; + onMove = move; + onDone = done; + toFront(); + return false; + }; + /* }}} */ + + function setCursor(t) { $trk.css('cursor',t); }; + + $img.before($trk); + return { + activateHandlers: activateHandlers, + setCursor: setCursor + }; + }(); + /*}}}*/ + var KeyManager = function()/*{{{*/ + { + var $keymgr = $('<input type="radio" />') + .css({ position: 'absolute', left: '-30px' }) + .keypress(parseKey) + .blur(onBlur), + + $keywrap = $('<div />') + .css({ + position: 'absolute', + overflow: 'hidden' + }) + .append($keymgr) + ; + + function watchKeys()/*{{{*/ + { + if (options.keySupport) + { + $keymgr.show(); + $keymgr.focus(); + } + }; + /*}}}*/ + function onBlur(e)/*{{{*/ + { + $keymgr.hide(); + }; + /*}}}*/ + function doNudge(e,x,y)/*{{{*/ + { + if (options.allowMove) { + Coords.moveOffset([x,y]); + Selection.updateVisible(); + }; + e.preventDefault(); + e.stopPropagation(); + }; + /*}}}*/ + function parseKey(e)/*{{{*/ + { + if (e.ctrlKey) return true; + shift_down = e.shiftKey ? true : false; + var nudge = shift_down ? 10 : 1; + switch(e.keyCode) + { + case 37: doNudge(e,-nudge,0); break; + case 39: doNudge(e,nudge,0); break; + case 38: doNudge(e,0,-nudge); break; + case 40: doNudge(e,0,nudge); break; + + case 27: Selection.release(); break; + + case 9: return true; + } + + return nothing(e); + }; + /*}}}*/ + + if (options.keySupport) $keywrap.insertBefore($img); + return { + watchKeys: watchKeys + }; + }(); + /*}}}*/ + + // }}} + // Internal Methods {{{ + + function px(n) { return '' + parseInt(n) + 'px'; }; + function pct(n) { return '' + parseInt(n) + '%'; }; + function cssClass(cl) { return options.baseClass + '-' + cl; }; + function getPos(obj)/*{{{*/ + { + // Updated in v0.9.4 to use built-in dimensions plugin + var pos = $(obj).offset(); + return [ pos.left, pos.top ]; + }; + /*}}}*/ + function mouseAbs(e)/*{{{*/ + { + return [ (e.pageX - docOffset[0]), (e.pageY - docOffset[1]) ]; + }; + /*}}}*/ + function myCursor(type)/*{{{*/ + { + if (type != lastcurs) + { + Tracker.setCursor(type); + //Handles.xsetCursor(type); + lastcurs = type; + } + }; + /*}}}*/ + function startDragMode(mode,pos)/*{{{*/ + { + docOffset = getPos($img); + Tracker.setCursor(mode=='move'?mode:mode+'-resize'); + + if (mode == 'move') + return Tracker.activateHandlers(createMover(pos), doneSelect); + + var fc = Coords.getFixed(); + var opp = oppLockCorner(mode); + var opc = Coords.getCorner(oppLockCorner(opp)); + + Coords.setPressed(Coords.getCorner(opp)); + Coords.setCurrent(opc); + + Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect); + }; + /*}}}*/ + function dragmodeHandler(mode,f)/*{{{*/ + { + return function(pos) { + if (!options.aspectRatio) switch(mode) + { + case 'e': pos[1] = f.y2; break; + case 'w': pos[1] = f.y2; break; + case 'n': pos[0] = f.x2; break; + case 's': pos[0] = f.x2; break; + } + else switch(mode) + { + case 'e': pos[1] = f.y+1; break; + case 'w': pos[1] = f.y+1; break; + case 'n': pos[0] = f.x+1; break; + case 's': pos[0] = f.x+1; break; + } + Coords.setCurrent(pos); + Selection.update(); + }; + }; + /*}}}*/ + function createMover(pos)/*{{{*/ + { + var lloc = pos; + KeyManager.watchKeys(); + + return function(pos) + { + Coords.moveOffset([pos[0] - lloc[0], pos[1] - lloc[1]]); + lloc = pos; + + Selection.update(); + }; + }; + /*}}}*/ + function oppLockCorner(ord)/*{{{*/ + { + switch(ord) + { + case 'n': return 'sw'; + case 's': return 'nw'; + case 'e': return 'nw'; + case 'w': return 'ne'; + case 'ne': return 'sw'; + case 'nw': return 'se'; + case 'se': return 'nw'; + case 'sw': return 'ne'; + }; + }; + /*}}}*/ + function createDragger(ord)/*{{{*/ + { + return function(e) { + if (options.disabled) return false; + if ((ord == 'move') && !options.allowMove) return false; + btndown = true; + startDragMode(ord,mouseAbs(e)); + e.stopPropagation(); + e.preventDefault(); + return false; + }; + }; + /*}}}*/ + function presize($obj,w,h)/*{{{*/ + { + var nw = $obj.width(), nh = $obj.height(); + if ((nw > w) && w > 0) + { + nw = w; + nh = (w/$obj.width()) * $obj.height(); + } + if ((nh > h) && h > 0) + { + nh = h; + nw = (h/$obj.height()) * $obj.width(); + } + xscale = $obj.width() / nw; + yscale = $obj.height() / nh; + $obj.width(nw).height(nh); + }; + /*}}}*/ + function unscale(c)/*{{{*/ + { + return { + x: parseInt(c.x * xscale), y: parseInt(c.y * yscale), + x2: parseInt(c.x2 * xscale), y2: parseInt(c.y2 * yscale), + w: parseInt(c.w * xscale), h: parseInt(c.h * yscale) + }; + }; + /*}}}*/ + function doneSelect(pos)/*{{{*/ + { + var c = Coords.getFixed(); + if (c.w > options.minSelect[0] && c.h > options.minSelect[1]) + { + Selection.enableHandles(); + Selection.done(); + } + else + { + Selection.release(); + } + Tracker.setCursor( options.allowSelect?'crosshair':'default' ); + }; + /*}}}*/ + function newSelection(e)/*{{{*/ + { + if (options.disabled) return false; + if (!options.allowSelect) return false; + btndown = true; + docOffset = getPos($img); + Selection.disableHandles(); + myCursor('crosshair'); + var pos = mouseAbs(e); + Coords.setPressed(pos); + Tracker.activateHandlers(selectDrag,doneSelect); + KeyManager.watchKeys(); + Selection.update(); + + e.stopPropagation(); + e.preventDefault(); + return false; + }; + /*}}}*/ + function selectDrag(pos)/*{{{*/ + { + Coords.setCurrent(pos); + Selection.update(); + }; + /*}}}*/ + function newTracker() + { + var trk = $('<div></div>').addClass(cssClass('tracker')); + $.browser.msie && trk.css({ opacity: 0, backgroundColor: 'white' }); + return trk; + }; + + // }}} + // API methods {{{ + + function animateTo(a)/*{{{*/ + { + var x1 = a[0] / xscale, + y1 = a[1] / yscale, + x2 = a[2] / xscale, + y2 = a[3] / yscale; + + if (animating) return; + + var animto = Coords.flipCoords(x1,y1,x2,y2); + var c = Coords.getFixed(); + var animat = initcr = [ c.x, c.y, c.x2, c.y2 ]; + var interv = options.animationDelay; + + var x = animat[0]; + var y = animat[1]; + var x2 = animat[2]; + var y2 = animat[3]; + var ix1 = animto[0] - initcr[0]; + var iy1 = animto[1] - initcr[1]; + var ix2 = animto[2] - initcr[2]; + var iy2 = animto[3] - initcr[3]; + var pcent = 0; + var velocity = options.swingSpeed; + + Selection.animMode(true); + + var animator = function() + { + return function() + { + pcent += (100 - pcent) / velocity; + + animat[0] = x + ((pcent / 100) * ix1); + animat[1] = y + ((pcent / 100) * iy1); + animat[2] = x2 + ((pcent / 100) * ix2); + animat[3] = y2 + ((pcent / 100) * iy2); + + if (pcent < 100) animateStart(); + else Selection.done(); + + if (pcent >= 99.8) pcent = 100; + + setSelectRaw(animat); + }; + }(); + + function animateStart() + { window.setTimeout(animator,interv); }; + + animateStart(); + }; + /*}}}*/ + function setSelect(rect)//{{{ + { + setSelectRaw([rect[0]/xscale,rect[1]/yscale,rect[2]/xscale,rect[3]/yscale]); + }; + //}}} + function setSelectRaw(l) /*{{{*/ + { + Coords.setPressed([l[0],l[1]]); + Coords.setCurrent([l[2],l[3]]); + Selection.update(); + }; + /*}}}*/ + function setOptions(opt)/*{{{*/ + { + if (typeof(opt) != 'object') opt = { }; + options = $.extend(options,opt); + + if (typeof(options.onChange)!=='function') + options.onChange = function() { }; + + if (typeof(options.onSelect)!=='function') + options.onSelect = function() { }; + + }; + /*}}}*/ + function tellSelect()/*{{{*/ + { + return unscale(Coords.getFixed()); + }; + /*}}}*/ + function tellScaled()/*{{{*/ + { + return Coords.getFixed(); + }; + /*}}}*/ + function setOptionsNew(opt)/*{{{*/ + { + setOptions(opt); + interfaceUpdate(); + }; + /*}}}*/ + function disableCrop()//{{{ + { + options.disabled = true; + Selection.disableHandles(); + Selection.setCursor('default'); + Tracker.setCursor('default'); + }; + //}}} + function enableCrop()//{{{ + { + options.disabled = false; + interfaceUpdate(); + }; + //}}} + function cancelCrop()//{{{ + { + Selection.done(); + Tracker.activateHandlers(null,null); + }; + //}}} + function destroy()//{{{ + { + $div.remove(); + $origimg.show(); + }; + //}}} + + function interfaceUpdate(alt)//{{{ + // This method tweaks the interface based on options object. + // Called when options are changed and at end of initialization. + { + options.allowResize ? + alt?Selection.enableOnly():Selection.enableHandles(): + Selection.disableHandles(); + + Tracker.setCursor( options.allowSelect? 'crosshair': 'default' ); + Selection.setCursor( options.allowMove? 'move': 'default' ); + + $div.css('backgroundColor',options.bgColor); + + if ('setSelect' in options) { + setSelect(opt.setSelect); + Selection.done(); + delete(options.setSelect); + } + + if ('trueSize' in options) { + xscale = options.trueSize[0] / boundx; + yscale = options.trueSize[1] / boundy; + } + + xlimit = options.maxSize[0] || 0; + ylimit = options.maxSize[1] || 0; + xmin = options.minSize[0] || 0; + ymin = options.minSize[1] || 0; + + if ('outerImage' in options) + { + $img.attr('src',options.outerImage); + delete(options.outerImage); + } + + Selection.refresh(); + }; + //}}} + + // }}} + + $hdl_holder.hide(); + interfaceUpdate(true); + + var api = { + animateTo: animateTo, + setSelect: setSelect, + setOptions: setOptionsNew, + tellSelect: tellSelect, + tellScaled: tellScaled, + + disable: disableCrop, + enable: enableCrop, + cancel: cancelCrop, + + focus: KeyManager.watchKeys, + + getBounds: function() { return [ boundx * xscale, boundy * yscale ]; }, + getWidgetSize: function() { return [ boundx, boundy ]; }, + + release: Selection.release, + destroy: destroy + + }; + + $origimg.data('Jcrop',api); + return api; +}; + +$.fn.Jcrop = function(options)/*{{{*/ +{ + function attachWhenDone(from)/*{{{*/ + { + var loadsrc = options.useImg || from.src; + var img = new Image(); + img.onload = function() { $.Jcrop(from,options); }; + img.src = loadsrc; + }; + /*}}}*/ + if (typeof(options) !== 'object') options = { }; + + // Iterate over each object, attach Jcrop + this.each(function() + { + // If we've already attached to this object + if ($(this).data('Jcrop')) + { + // The API can be requested this way (undocumented) + if (options == 'api') return $(this).data('Jcrop'); + // Otherwise, we just reset the options... + else $(this).data('Jcrop').setOptions(options); + } + // If we haven't been attached, preload and attach + else attachWhenDone(this); + }); + + // Return "this" so we're chainable a la jQuery plugin-style! + return this; +}; +/*}}}*/ + +})(jQuery); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/css/colorpicker.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/css/colorpicker.css new file mode 100644 index 000000000..d687c9db8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/css/colorpicker.css @@ -0,0 +1,161 @@ +.colorpicker { + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(../images/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; +} +.colorpicker_color { + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; +} +.colorpicker_color div { + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(../images/colorpicker_overlay.png); +} +.colorpicker_color div div { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(../images/colorpicker_select.gif); + margin: -5px 0 0 -5px; +} +.colorpicker_hue { + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; +} +.colorpicker_hue div { + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(../images/colorpicker_indic.gif) left top; + margin: -4px 0 0 0; + left: 0px; +} +.colorpicker_new_color { + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; +} +.colorpicker_current_color { + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; +} +.colorpicker input { + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 13px; +} +.colorpicker_hex { + position: absolute; + width: 72px; + height: 22px; + background: url(../images/colorpicker_hex.png) top; + left: 212px; + top: 142px; +} +.colorpicker_hex input { + right: 6px; +} +.colorpicker_field { + height: 22px; + width: 62px; + background-position: top; + position: absolute; +} +.colorpicker_field span { + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; +} +.colorpicker_rgb_r { + background-image: url(../images/colorpicker_rgb_r.png); + top: 52px; + left: 212px; +} +.colorpicker_rgb_g { + background-image: url(../images/colorpicker_rgb_g.png); + top: 82px; + left: 212px; +} +.colorpicker_rgb_b { + background-image: url(../images/colorpicker_rgb_b.png); + top: 112px; + left: 212px; +} +.colorpicker_hsb_h { + background-image: url(../images/colorpicker_hsb_h.png); + top: 52px; + left: 282px; +} +.colorpicker_hsb_s { + background-image: url(../images/colorpicker_hsb_s.png); + top: 82px; + left: 282px; +} +.colorpicker_hsb_b { + background-image: url(../images/colorpicker_hsb_b.png); + top: 112px; + left: 282px; +} +.colorpicker_submit { + position: absolute; + width: 22px; + height: 22px; + background: url(../images/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} +.colorpicker_focus { + background-position: center; +} +.colorpicker_hex.colorpicker_focus { + background-position: bottom; +} +.colorpicker_submit.colorpicker_focus { + background-position: bottom; +} +.colorpicker_slider { + background-position: bottom; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/blank.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..75b945d2553848b8b6f41fe5e24599c0687b8472 GIT binary patch literal 49 zcmZ?wbhEHbWMp7unE0RJ|Ns9C3=9Vj9AIEzQ2fcl$iTqFpu@nxzyOkGU}6ekWUvMR DQN9XW literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_background.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_background.png new file mode 100644 index 0000000000000000000000000000000000000000..8401572f1939a1a24c1963513573b0194ad36ee0 GIT binary patch literal 1897 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hex.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hex.png new file mode 100644 index 0000000000000000000000000000000000000000..4e532d7c65393fe56d7463e1da3faa591f03de84 GIT binary patch literal 532 zcmeAS@N?(olHy`uVBq!ia0y~yVDMmIV9?=UVqjqKe3co)z`(#+;1OBOz`!jG!i)^F z=14FwFeoH@1o<*BROvD>G)!e+_;H<qp(BWaq0p6q;Z+&~gC#oygW^wS_0}*32F6*Q zE{-7;x8BUyn0?4W<k)@{_Oug8j*paNnWQ#(s=u64@77)4f8odVJ0Wwr9t7O!+946c z|0d~Wfx`9fpo<Ria^HRBPqN<Y|32wXZQLZ4K#|7jQ-YMb7X7U|&$H(8OAdy8@0;hc zG$?RXG;u2CRZMy?d*zf>j64U*b}x0l`ueNSgxv>D^v-8|^t$}bnzYR`Q+)(kjI%#~ z4ga`?VNIC!<%sf?C)fBg{IHT)Bf8#oVegbrB^RTvaXDutEa!?&e8K!<U51ey^NG(k z=ZkY!o#rSzv&NU9;dyM-t@qz`ouk+~7y^!JJu5EeTRKI5vM2M7HS$}^*Cki|Su*7o zg9khFC*I$8H+nCgv211PEVC}r4KGVpt)K7XykpOPcf-?0rwtf)7gZk<cvE4s>8-@q z&l3IyOGVBbJYRVC-7!Ps4Y843c{2O;r=K}6ug!USkg4FCZD*7hZ*Tk)vHmq@@jWqa ztB~`HCwi}p@p5(fx+H`pHS9%@*7Tsi>eo$=i%ky-lyjXPRLB6ap?GuRZNpd34d*57 j-c+L^_Trk*vp+lxmh-RfJN!OOiUAbeu6{1-oD!M<(lq4X literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_b.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_b.png new file mode 100644 index 0000000000000000000000000000000000000000..dfac595d017e279ff670df2c816e02d922660d9f GIT binary patch literal 970 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649o$Z zE{-7;x8BTh^p<v%Xxo1`XYHd|8x|dF4$QhX<IA=R!-@|9JojGRZEj*!T)|r3s^GC= z=L`M~^#^9Nh-k`Pn$*0Z^O=CSzFU9ZrlTpFZF};}Z_ePo=9zx$?+1gtv>ELW=bk;| zJR`y2#AlleVXIaZ*_^+B_ikXjorT2-MuyXy91;r|9(=6GaD8s^j#atvy+CMa;X>vE zU%#5Fy>n1_;PKV{MaAa}e7kI4zkdBX?f0KQe}4Sf@%crc^@g9)ZX!oRv`VY1Z{NNx z-F=kju!XH{?u%pzwy+ZIP_@YuRaPdJ@iEk8&8mI!@L}S@fQrL~wY9Ye6F$5?c<{i1 zhOLKhzsp<mLM_y6y7QNb1vjj$*%`J*owX~ftJ@c&SH1V%%a<=*lmfM;|DIiXI9%;& zibl!I^NY(ek{0P195DDcagj#WtYe#U{QdjSKNn_Mm}%aVI#W-C%k+Fz@S+r>nP<~% zb$%BnD$4cO`!BcV{x@5zys%N~;mMP`&N49cti6!_Z{fm=7Xuvy7#0+ih8pu!%g^cl z7oqWp=Wt9+TvU3!nL&1T_EfLd=RYS-oH%*%<oyM48v<OF1Q|G@x4jHb$a&G};uJV# z-8#Lt#CPxCr$&DJS>uzw`JRF7qH?$M&p$5>I{Bx(re=@y=hYVk|IW<4wI<kl`DzCR z2c=!fFL(L9SarEDZn<b|XlT^>tACpe-h2;kuM5^GI$Za^->1#$i>7B$FGH-`gWA8H zkFI*3dukB3djH(HiI3)Wy2UDg=$B-?bM+R7&7%EhI3BFK=Jr7Ft|`+x!Ghj~Y?c`1 z53}47)TEYvii!;oxz6#Y-R;4$2${p08$ZOZUb$x~Q^WPws#iFCJTJBH+$km-<nI1N ziqU<!=Q_a*?zuk70V_i?Oquxk`L{?lZVQ|1qx@h-so35`DK8OM*T73Jx9FVS7?D#} zcJ1DB<`-$Xxw$XDx^59P2(L{~XJ^>9eY?52`AY+)s;ym8^Uclny?M9jTbt_1CsK{8 zR9}Crxbts9jB-G2)YrXxZLdVc#x6a~@#3o1uislXH7R`m{{3vbi!@`l*|h1?851%y zPl`z>^)^UKgmiaz^ZK7KWva5(@O4|TcCvD#+k?9|B-~2gG#371QxV_$Y{#o7QjOE> g8FjO7t!HHL-}2?IQO5Qw3=9kmp00i_>zopr0LRh4RsaA1 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_h.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_h.png new file mode 100644 index 0000000000000000000000000000000000000000..3977ed9f21e3186eefd37b198a7cc3f8de6c69cb GIT binary patch literal 1012 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649r!Y zE{-7;x8BS=@AcS0;=umQpxo@htQBt$x`}1yepfmg{B;M%z6N!EE<KK>b^U=aUCZ{q z(Eh=(>G;v^r4=`i`6ddA>cn*&al5T{^Y9gc$y)^P-aNPACr7H<&qIG^)crKxzu@J| zml-BpYg!j+)R;)^-Mu@R&sMJgGlKvJOT)njj17-1!Y)?Mt3Nz*$$A0TK#zsY2d-Wf zReTqs_0;pLUdg7f4_rkLY|ZPwdp9;v<m|gsr%oL@)TG;PVs+ho*9%7XC6`~iE&llB zOUv%blP4cc*l;l;qS#|`^l>YD`|W~d+|L3-=ccb(waRQZ2LnTiZ}#@vXWQF7EOOL% z+MQf3`mS1~!sxIx=w#~VYZogSE|lJ_eD>*6(dL^xpKKU<xSJ9s+7fr932_y#x#{z4 zy3XUWw6teOQ@J=S&-*ODylT~>{c19NuXpir>`a@)bvk0E&#}LJkGqNs3If)K?Q~#Z z=&G)6OZ;+5#r5Bv33_@3%GTDe9o`#G@9gaKP+?+N_%Lza^T78$Mw9Q!YEM5Krpj5q z_KPj|vfc9XM)m9=20LT;7&c8iEyA!P#c1Vgt18J&I@3=-^-wV~F=-LlwQrxDwRQH^ zC}m~kG`{17-@kuv*>L>Wv7C^P6?bkuwK%soAth3bMNx$7p|iQUImf~X9kU5dFJ~H< zn_quf;$gGmzU1GP6*hlvKMT6N<>0wrw=b@&h))-d4HOBRe)aLj2&0J!e1EsaJ)hj^ zvNI@=uhwq<_g;o*w+D|;n|JM(vsdkWu<6(Fmzs+2jyfGQXWA#Y;3&t0zJG2Dy5C7N z-skw?){v$A!0z?$-@ms;`3kVqy!i2BN7(9v4QY41-uIqs5quH(dfU?A8*lseMQ9l8 zT=TEC@}+d+{|g*<uDuRkDbjs9OD%jUgMpQm*Gj<|=bzi_>VEb7QCH-&UhqT7tS?fH z;R`QkvfO%Ww%TpM)vS$KEH>$L<CGVC<z3a=Ai5<&XV+r;RjYE1dl}x%ayu~XbN&VI zr9uo-yi}#F_PRM#|Ks_Vn*RLt_WT`tH}5^$AowEU-RtP+=yP+wNHKnX{P^KR#k`!n zyj$-LP6#d&6mSg`aa}FA;i-VG#GcxFHx5j2cXxm0x2m^ctJ$^d*BKLXbI%4Egh(;o zzW(a!)zI5=RlN<*zW$sar~F}+xjR?yf%cV}O)rjcAA9}LU4Pd*%hz9|7!SWF-mr32 bJsZO&D_bF#nFY2C3=9mOu6{1-oD!M<Az#;$ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_s.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_hsb_s.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a699736c24b34c60afac8cea399b2c4afcf9a1 GIT binary patch literal 1171 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf63@nnK zE{-7;x8BTh^thcMay&k(B(y2lc*#}W$y>9-%U^aWocOTi?Gn+0i`ltlIhy!dZmvGw zr14^pM#UEmIkOyxvMbk`z8KuR6*VQ3KbSx3<eRL?W$hW$)l^^J*{65&mwNkzef{6n zYk%(Bb6@;S+Gar(#wg*#1{RJ2%a<>owfWwqOHIrTe#@D8x!4<a?Xp@Mb-eJ8m~x=K zBG2IkoA?;q-Q7ECf<>0Tc(r}a;<fEwYrM1fZroUyk<p=Y(noEwk6QD=gs*G0?HZq^ zOYFa2Us>sSc}v`Sc?pS(tgNW$XyKzGT&zp3wXR!qamDSoVyVX&A5^O;OQjjjeD>_w zp@$m|CY*R$l$)E&&d$D8tlQvOUtIr{s*6{jNA#56e^|n``7y(U^Uqxm3w0j3a^=do zbLZY2@Bdg)Q(L<?K*QtkgjF-%Z9F{j#_h-FWy^k_@7ffhqjQ?6jk7;MV~UU3*|g2e z_y7OdE&j6P*P};HBEj+T^Zk|!{xp-|aSAWbS2?qenPJVB3Wq?ses#HST^*eYn|W8S zhR#2KeA5~Yo~>P-kIaQquQM`)X&u<GZ=c=lvuP$0@9yvZ-kZqq;K>t}c#SD73%AuN z?>l11)2%La=#7QEs?21srDo>l_kH~2<mA#eNAAAsclpcLTWyI~waXmW_4V;F6mZD} zGaQJ~yMFcR)Di{HNo&`xbz5vG!}tE(yGbgUX0uxvd3kv~!Y^-H*K)J)-~I{z%F4>7 zc`e;^Q|EYL*y_;!3N4*z11?6r>D{T3BHUl|z3z#gTfYCU@$tet_xHZuzI|QS_tLdd z=@M?Mb4@diBE8aWeP6u(Xqaa>yL?gL*~s@LyR%&!qFo+%zLY*He|>obPh#|5NiM}t zf7k5Z?Z)!YP^ls6lgoo!zutB*WStal%ziDU%2aW4TW(s~v6m%frKP;pdl@$D*(1~G zvMTlsQ#fDyVjtJ59S*%5f4BrS?q{u8vxcSFaURE+^XEUiEI6e-{e<ZIeT(!w|GGG= zJE+Xzw6C%1+TFD$xBYr>db*V05B|;r*B?JF>$;Q_z4qif5r$c_XNP*RSlxa1TtEI4 zOU;cN0s4XgDYIUwGKofps|%iZS`?+q^l7)$Dm5n2yQQT<j7Ouce>Cp#sM|kZ#dFrO z?c29kS5>jGvoAFa-4GX|An?FzX_ivJp4Xc<Z)PyCwY4=gT*#|*;BHRyUOD;s^}nat z%gak&W)MtZ-D+oLrM0)CdCA`88mGQ~dHK8iz0yPv1%VG$d+p}uXJ@b8w@Wy%@N;2d z;Y52$Ny&)^ctV93`%-^Co_hZH?3k!1t+)_VL4j*+*I%<XJbak=(Dlsa+q3W7pWYYp z$L+zyt6e3gxn@$SOqZTNf2GPa=hC<RRh<s5`F&a{O#HWR3r4xe8F*<gs9O76^!=`? k&W1PY3#QLJ)6dA@w!1%OeI~~N1_lNOPgg&ebxsLQ05RGY=>Px# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_indic.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_indic.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9fa95e2825eadd2d779ad270a71eddb94f94748 GIT binary patch literal 86 zcmZ?wbhEHbRA%60n8?6jX=xc99sU3Re+C8y#h)yU3=B*RIt&a93?O+1CUu{dm8a*5 p9Vpz=mC>*z#`S0JT+y^y7G{bSek+6P-f?H&^tm2zPm-0v8UO&78!`X@ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_overlay.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..561cdd9c59a498b499cbfd1295dc4d2037e235ff GIT binary patch literal 10355 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_b.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_b.png new file mode 100644 index 0000000000000000000000000000000000000000..dfac595d017e279ff670df2c816e02d922660d9f GIT binary patch literal 970 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649o$Z zE{-7;x8BTh^p<v%Xxo1`XYHd|8x|dF4$QhX<IA=R!-@|9JojGRZEj*!T)|r3s^GC= z=L`M~^#^9Nh-k`Pn$*0Z^O=CSzFU9ZrlTpFZF};}Z_ePo=9zx$?+1gtv>ELW=bk;| zJR`y2#AlleVXIaZ*_^+B_ikXjorT2-MuyXy91;r|9(=6GaD8s^j#atvy+CMa;X>vE zU%#5Fy>n1_;PKV{MaAa}e7kI4zkdBX?f0KQe}4Sf@%crc^@g9)ZX!oRv`VY1Z{NNx z-F=kju!XH{?u%pzwy+ZIP_@YuRaPdJ@iEk8&8mI!@L}S@fQrL~wY9Ye6F$5?c<{i1 zhOLKhzsp<mLM_y6y7QNb1vjj$*%`J*owX~ftJ@c&SH1V%%a<=*lmfM;|DIiXI9%;& zibl!I^NY(ek{0P195DDcagj#WtYe#U{QdjSKNn_Mm}%aVI#W-C%k+Fz@S+r>nP<~% zb$%BnD$4cO`!BcV{x@5zys%N~;mMP`&N49cti6!_Z{fm=7Xuvy7#0+ih8pu!%g^cl z7oqWp=Wt9+TvU3!nL&1T_EfLd=RYS-oH%*%<oyM48v<OF1Q|G@x4jHb$a&G};uJV# z-8#Lt#CPxCr$&DJS>uzw`JRF7qH?$M&p$5>I{Bx(re=@y=hYVk|IW<4wI<kl`DzCR z2c=!fFL(L9SarEDZn<b|XlT^>tACpe-h2;kuM5^GI$Za^->1#$i>7B$FGH-`gWA8H zkFI*3dukB3djH(HiI3)Wy2UDg=$B-?bM+R7&7%EhI3BFK=Jr7Ft|`+x!Ghj~Y?c`1 z53}47)TEYvii!;oxz6#Y-R;4$2${p08$ZOZUb$x~Q^WPws#iFCJTJBH+$km-<nI1N ziqU<!=Q_a*?zuk70V_i?Oquxk`L{?lZVQ|1qx@h-so35`DK8OM*T73Jx9FVS7?D#} zcJ1DB<`-$Xxw$XDx^59P2(L{~XJ^>9eY?52`AY+)s;ym8^Uclny?M9jTbt_1CsK{8 zR9}Crxbts9jB-G2)YrXxZLdVc#x6a~@#3o1uislXH7R`m{{3vbi!@`l*|h1?851%y zPl`z>^)^UKgmiaz^ZK7KWva5(@O4|TcCvD#+k?9|B-~2gG#371QxV_$Y{#o7QjOE> g8FjO7t!HHL-}2?IQO5Qw3=9kmp00i_>zopr0LRh4RsaA1 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_g.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_g.png new file mode 100644 index 0000000000000000000000000000000000000000..72b32760a5c40b7ab834d176ac588750a06f13f2 GIT binary patch literal 1069 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649uH7 zT^vIyZoQd#-v5z<$np4v8*;V>uHce$+3XcycCoEO>Dc9CyUUYRCb}dqlCJ;5tJfLG z7bo(ceZ5>s|7!NliZM4XO;{lqGVR35jaqBpExe>VC18>D8<W%C{3$a|{{HmCZ~6P+ zq=bZqWtj%i98C_FOky=eeAM@@Ufs>Y(0!CijYo)KP1x$lrIS^Dc1>MT-l4#;VhQts zr%zRt?#8XZ9&mN`lEq)0l`myi)mBtgq@)~q{#ms9sE=B4LBWNTmu=P;7Trl))s%YE zLnTOS>bGy-`uh5g9Y4N&`SR7z7ED`rcB+rs*PEUUJH(H!N}W7;^6%fjZ{NQC_U&5} z-{+ry{`~p#_3P~Emsg&vd|se1b=|68Ckq)Sc&IQrJKuUE#!#_}XZq=*24_xwEMz}i zapxVsNa@tmYuBz7&Cgf$3|hW$-L6>~7v8ILG%0ZC&ApbU&d9*ww0qg&&B6?ucHXJ( z`ozz-ZrwVq$Fpb8wmENp{*6><-TwXCu6Lf&o_?08;r#Q>w{v#pe0%-t*QZZL3@Mu< zKfd#u+ZI##(`&l3_9mUZMlOL*D(z(WqCJB|j&A;3y#02p-jVqZ@n5C~==ce^%zD1{ zX0`+yLs?mwn7H`kj~3@Yi@1LM@})p#`pFcDHpZrmeThts3=BM(+cX&jbWYpZ*}W1! zwdqZXRdscBu35CvOrNDer}6{xx0mgfeVG{*JXNY}_uP<w-Lu+fDsU`czMP+*pW(v& z`|llU%&$lvOJF*^X_Cr9ixu}JzJ^Zp`gQ%SW#qK~xmV-$WxJo3ZuSyqIk+a*^l?#X zwav20b(7CezAJaW-{nxrCHLloVuA+Zf<Hojx_rE@e6*0`_N({m>K!Hhtxmd17nGQG z2rym=oX@c*WUnhrl*<BFmJMo5Tcdk_|Nfm}vPzwauYGZ5t!Jo`Yprvv&_9<03l1*M z+~vn_D#kT)(^|XTJ2C_t|4-n!^W<}F+<M8|S;1vX87^GA)}|>a!OLdv?{j75hqoUD z;*}Ckn0!=a;`KZ}nPZBV>Sm$FU-_mR)R=ffW&M>BUX<2!HmvE)FwqKUyXNAs_Sdy* zVhlMsIcwIenbFK~V$zbB_-WIoEYlO~UfCQW%;@>}Yild(Uj@!x-{Mr6!gtPbVyP45 z+8E)Z$Ry%w>RI*k>En0r)_qFM%kyJ5-k`#?%3NvlX0KNjHhBpWJ{=9$q#qVYFr=lW zm9!n4#1XQ0?YvpDR!JS4&T+zR{eO@nZ7q{LSnR%iRh-gy$G~m5+`dcmc~<x73s%&v h`}}mS#y>d*6Ysk^Up&3`FfcGMc)I$ztaD0e0sw#a<F5b! literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_r.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_rgb_r.png new file mode 100644 index 0000000000000000000000000000000000000000..4855fe03f8ea8d88b4f8ae625c7958eea65208ac GIT binary patch literal 1066 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649pum zT^vIyZoQf5=q>Fia{T_WRN-WfZP^iu%N9ypzv0a@Z^?0`AA(wPB0L;jVvZl4MV>gg zW!{!Y%LR0J8TCVhRs@>l`iMwxN$L=5xtmk6d1HI;>0Ptc9A}nHduG_4_>A{+`m?j| z_S_ekJ9n<xY~G$Und1}9X6w#AE9JNA@IwX011Uz0jJ+%k%a*Av_EPu!B&ZxXU!d=C zfG2yy<;%e?yJGdiLqq*1^_j_KO<dRib>&LUrFtArCQ^6r-(SD^%PRE?D)osb&puX| znVVm~cJ12r>%}``6a)&a=1R$5xpcMo?c296)72Rj^f`V_{8;hl&!0cnZ{EC~@#XO= zt-}T%o0(T%U1c#tS8T~8(NKFKPKJ)7Nw#t8tIC8Jx{fZYTXOtyp@mG^=AGNOZ(q7J zH9Ncec_nw!&aB{&(#<(WQzyO73BTSP!QOPCf6kmaQ?#c~pZ@vt=aVUy-j+@O>XN!@ zXT&t!dY{v$X3m^>^X^?)8JRh=XK%j!c3mG|_sy8|$*Wd)$;h1&%`e~nZHAE5<lk{S zV(k6>>~eF?oI7VV_uM8s4e`AxMIFK{g)@9srJGOP<`z6fSGnW-!veF}wbmw6_V3hu z+-#EY&fDLgpP^!J+}AfP=b!K1yZ35OQlyzs=LHkp`k<)jXxBiW<(G4FbG!Im13msP zs|w9ptkE^)yVK=~UQ07(ZHv$;y8iX+R*kN()mtNUuDx9sW~#<H|9rTHNWh;J^E0M~ zPW<$x-@15`%HP|e^?OQm-o194daiIz;N@4(&(GUx-1Bfre2P(u_2HWCqde++&%e(X zU`!Tl3}4l4&-Htrhl0=Q{W<x{m;UbBzu%EX%7sB(so|EEaO0#eY=RjAjckGkW^qjM zH+5Qg;o?O>-^(nHPd@)Vdek*gq;g(<Uf#Oo74`wDtJlv{m2BepV|wuN5<d~wK#`^U zGbN1H+IcRQc6ng0!X!Sk=k`;hq^R5zYeX2{lvyuxS#bV+y|F>SK}8|H$KEWfjC^Z4 z9egi+RAE}AAvKjFr0(j0SsYikys8jtT(z-JUvNUmwhbE;Y`0AMvPU7K%ZH_}zdza9 z`n|K_yyuc_KWj^ueq7oACBcA$;b205vTVGP!d?63y|d^2+ptCD`ts0;J^F$gE0SuH zlAP{$=nDqO$xoj?{pqP6KXw>)G=ylJP&F`9>yC+x43yfa#>DCwbn3+m4Thec9u3_H zVaBuBUq5`<u#7ccNg=fQ-|^`jS4xVHOyJm4vRly0UC!WX-IQY!;@0eX^+Tv}_inDa emX1G+8J12dS|&B+(HaH@1_n=8KbLh*2~7Zbf8UG% literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_select.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_select.gif new file mode 100644 index 0000000000000000000000000000000000000000..599f7f13a6854d198f501588948ffcf97bf9f365 GIT binary patch literal 78 zcmZ?wbhEHb<YwSzn8?Jyz`*by3>X*~6o0ZXGB7YP=zv5)@(fJ!Q<^iRAIM2WupM!m bel+sU&Dy!`4Kq~>qDpK6rfIk_GFSruQg;_i literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_submit.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/colorpicker_submit.png new file mode 100644 index 0000000000000000000000000000000000000000..7f4c0825f53cc4faba8fc9e043502276765da1f5 GIT binary patch literal 984 zcmeAS@N?(olHy`uVBq!ia0y~yU=U+qV9?=UVqjo+XMTS<0|NtRfk$L90|U1(2s1Lw znj^u$z@U)q5#-CjP^HVj&@h#O;m36bhK?WxhC){chF56}43_K+42nOQ)my_D7?|Tc zT^vIyZoQduKmT@!$npKxzgum4EWhz`O6m4xuf=k6nlAm-@DRy;)Y|UpaogBK;p2YA zdkL>@n}kic@L=I<Ese#&rx$d;%$R*_W3qMOof{7iW_mPhIeuc8T=s;0zV_Vycb4Dp z@oP>$-L)v;%7@zdnq5I_!`$6Ox?R~C9$WMX@-QqdiD603$+&u=<ep&j&ciDLULO+Y z-*L!)&xgHtwncvF7sx;Rqx_uv^tAhPujy-^)v>wwed*EOUuQ*M>+RpWD8iW|YgU?7 zpNUu;zg^Y*J>{<-Pdepd{vb;*{B@V_*N}IIzD(WTyFAM_@4cs)xxn$Xg)7?S@8s#; z`{B~PYJru7Y?9clt^%%iEn((j`FHbbEI+Q^bN|8J<lZm-PY#*B|8hq(^O)m=<`gGA zr;r7i9BLD<I`-uF&eN)1|28IGw`TIRlHIXv3OQRZ#pswHx%7s6(i4$bL2e(ziD#WJ zKlD>^;dZ*0*)U%#)hx|<XSh;_67vKV&sn=~B`)C1JtF5a_vEg;l%>Wl=h{PxY%GN4 z@Yr}3^KY&5TrVgvNzIy5XA9>H#vKjZPgonhCh=Oh&zDYQ_uRjv{YCoz_nS+XuM$x+ zX<<9$slf1%LHtJc;k<*r39=Sqx1YDaW3_ZLtDiQ_yuNbr0;v}+37jj~1)3Tb9osNF zLH~eP>SoQ{m(IIiy!WbIlxw@~OZW80O%4Z~Cg^Z9OgOM~#it4}nTV~&CojMD|JsSb zbM1S+P5tKaBk$e0pDR416_gkhm~8mM7Vp|u6@K3K!Ow&R)d81HCaWmAE8bw5S32+Z z{;RW8&iHL}xty7*HG8-8clo^g(Wkaf4_WHO))eIR?D=!+xqkoW9VwJKUfAy6^wQ_| z9Uphw?q$ce**^TaO(trJOOK&fX8mKG+JwJ0e-&Fc=(%uj&~kXX{$e`AhnKq#c&bm@ zH@$v!f8r61Qy**VWB&ThT(<DFvhu6G!#uI^vC-0!g@0dN4QI2LEPT7^`$OKm!iT|U z%Mz|WVB2stM&;?U=Uz`|e-h7*dHrzJuP;X;|CqDAS3G7|!T<5pga7Ky{L$WbgFepu zfB0Qc>OuRz%NB^ApP*6nZ^gbJzuc>T2J)R=waY%jzQ==C?@h|5`P-ZG<!vmtn`V5d x$p{oX`q8kNUpX$T`MT`$oRubhb^m1;`ZoX0V6|?Z#lXP8;OXk;vd$@?2>=_T$>#t7 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_background.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_background.png new file mode 100644 index 0000000000000000000000000000000000000000..cf55ffdd68ed42f2d70bd7ec2010cee86c110816 GIT binary patch literal 1916 zcmeAS@N?(olHy`uVBq!ia0y~yU`%0PVA#OH#=yW}aad$60|NtRfk$L90|U1(2s1Lw znj^u$z@U)q5#-CjP^HVj&@h#O;m36bhK?WxhC){chF56}43_K+42nOQ)my_D7}%LS zT^vIyZoRpCK3}F>_V~l^YpxfTEiV&N^=i%*Ea32%sGxqNQ`u>%z;`arkMbY37d$`G zD$Sm^;+5uJmpeh6E4f;nE@_0Ul)8QQu3BuhMM-a4$G;8fW<NL8%4PD)Rpz|jyjj22 z)Oz09OP5T}9#sjSG{=9FAj7nWnUmB#<w8ThKKytrOYqTImHXbCQvDe8uhdN{U%kpo zLdUGb@WAPfTQdsUx-W|yH<VNRnL25{+RhX|2Jep+C+AQ4qj%EgWY}dB@pjK`(f7Zs zX6LuBcs&1o{e<-McBV!Rsusm*e=nKG@BY(0_wDIsmHn|f_vD^!HviDK_usw0?mG+W zjMvBQO2}gH{;>YI{L{U^`!{W_{rNR)!g>BlYqsxu|EH!-;~0bYmsd-<XP)Q(e5a|R zHo=4;RUn1Ik<DQOBbSNIOTNqg^Paui%YM^-#tgZ=w{NW}t}R!8yjlJK`M>-BK2H4h zZMXdN=i6Sz?A|52zPE0kaq-Vr$3Jy8>m1X${O_Pj`Fq<FXQi+E$vkfFm;3(7+-KQl z70bdY``4}S)vrEx=ILtr(}yqrnWXabV}IQOxi9aoy|rFm^-*qp&;I|%&Ku{<3jY7E zGW6-(`~N?NXun<mI{WeIdB(+&k2JY8E|z@rob)7GUOuhjisFf8t@m5%<o0+po#~QP z&$N0IFR9qX)6}DI*lQ)Lq+^>=PY(l#>}7Cdb7XUDn|6ysAZ3FSh!waiR`a5SViV8b zwG&t+A=1fP6_if|v<2>}eRpW0pwfv8{TmgOPbi#FIB_9}+o*{rRYEoL^@jfo;Zhr{ z9Op?YH}TxP+SH@qEa@i8|9U4}GN3JLf?$fq!N7CRRvb>ORXM?7^d&i~wnw2^p;^KC zv<pb`u+Be!e#bT?pZKH++s$6Tk@qQj{cZ00yLYymWfxmMjQKacak{~3u_x>LFYns7 zyZDj#gH<lif4%G5Ij2A`?8KTqC%t17`_Jb+dDfdfkEPhs)G=-8nM;53PP{(Wq2OG8 zS+1$(oP=PCKnjaw*fABm1DuX+N@pg8$bQT35pZm)^MQJt&CzYb!ZToZf!qf1@`p;t zcb|^Mq_%Jvfnbx)2@u6$q%HeI&z$3vpcRMFmnScyimoKiv<^sNk*qT6Di-4~5?Lsg z!XkOf07SA#vPed`xiu&_OJ*rMOjyX1tn4tsaf0K7g{dO*AGRns3ub|A=1F#Rg9=Z{ z+n!@><isNRD_Rj0;;bt`PSj2j0Q=#TvDc<+iT@8DWoD7IT2;;QX`i9ei3@ilCJ3fP z%moE1zng6TD@Y80!~QTxO5^a%%I%A*7J$M(C8-k>QOm&5l~#CHx{2rL8c_VVG5N4a zI<{SnRLqx9h9sd=GnW45ov07u-t~RN_m#s)BvA_*2wM=L_%G}P$TUW^rXGc6Q6mnc zEoVT9t|;t;!ij)}PC<ne39UR$Ji41ps*~3tdu;}XQ4<eH)rXh~yYDDuB(!iCeMz+a zEK|zy$zg(E%8TO`ei5L=2f`diBFjNRddk3v2^73$OrXGJk&J=_?BX8`>MW97h){<F z?BbH$@wZV^vcd@tqbZV4w(|X!*OOB?5#TU^zems!lmZ+lM1%6kyrw%(7tE6e<s(o| z0>#4L)!@vu#@6?m)gI&P8b(b#wlkxYpy?!LLTm>lQ8z<#3n=MSIX~e|cA4NfK`=$& zN!SEfFdEMhNYOZ?<9Rjl|1l1bA45P2pz#ax(ms%HA(+ERBrS=B!)Qw4w7mQ?p>7=t z&i0^~1Eo<&{;61b?Hb$6^ZdrOW@n;`e?@PT4Qu}Y$40~MMD*;^Z~SUIOMmyh+$a(~ z`)lWS%k4kC?EYlv=l^|pHtt_r@$B^#N*eYju9ue=eZSZIMt;Y>j;BX{{Can;^ZV~} z+vB|_y^*b%v+S^D_o`ny$Bx_cckzAt@y0Fh-j1{)k*8;V8JO>@zN+wJ|1%fK1_fq? z6AVo}2gF%_Zut5&$3P<Gyr>9+_vUhglLb4bsrX0DwwKj2i;2mp$o~Gyyzble{rl(t zPGj3(((SE%KQFf`$kex3^<?kSwqBL}exD{=%w^o5<L-IS=hJKzfAQP@f>b>(o7nqo z%5-DUKk677T5lJ}x_|bQ13nCKH9g|I|K3+eoBD2^`^0Nfap8UKhSbbSZ&WKoLa!cv e-1}dS;nbWrzU)EWml+rs7(8A5T-G@yGywoIiasF# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hex.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hex.png new file mode 100644 index 0000000000000000000000000000000000000000..888f444495b3e08dbfa91181bf94d90bf48c85c8 GIT binary patch literal 562 zcmeAS@N?(olHy`uVBq!ia0y~yVDMmIV9?=UVqjqKe3co)z`(#+;1OBOz`!jG!i)^F z=14FwFeoH@1o<*BROvD>G)!e+_;H<qp(BWaq0p6q;Z+&~gC#oygW^wS_0}*32F4wp zE{-7;x8BS+@6F^Wa(w?fZqY^4TYQuRY*<)buOuo8SpBO1(%tfJM%RX4);4TT4-`2T zEm;)sCc%wsA%}Kua(iR0%=QUK58uv|d;g*A+r~ZopVPj-HUIJ<B)fc9!0Dum9XH>V z2peDSYBaqUrN(efVv4bF!{eIF4f4trM#&dXFx*)F_(yd>R^2qd(63KJSprvyx(YPM zSO2>AuTiAKPx#E*vkV7*)%vq<*tSW5?NV%(+O;&M8MEe0FxpmLY_q{AvOLgh^IJJn zgY8bY-$^p?D69PZ`O>f<Xk&nuScSnHw}RtGZuRUBKHVRx$#JQCjeSYNwz8rm`KXz1 zBL8*R^>7?IXfvtecjQbReug{u!cR2wzPpkCY|;gHsjZ@))!S?C@-i_R-|3Poy+39C zQU}2eg2#<7CG`Ac<ZeIwM2+8UnJo9c)6T3LB1{%7oALSHuNCIAx*Ao53pd}(h<fea z)i`zCyDeT{>kn}FshsY9$!Kt2>*}*(TC%IUPiL<U%ADGDYK?{1)UE}cqFGbDR);M4 zw_xuv-L*liD@C_@i8??m`xmmRB&+YvlZBzH6q;3qKYFcQH*dygTZZyQuOn1+?yhD4 NB?ebNmvv4FO#nWu?>ztj literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_b.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_b.png new file mode 100644 index 0000000000000000000000000000000000000000..2f99dae8e6ef73e91a5d6283d2a732b6372d5e27 GIT binary patch literal 1097 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649w>} zT^vIyZoQdR?IGeQbG&}Lb$QjixO$BrIyKYgEmN_3;i@F!$?`Y+ub`uXOXCV#1&u|= z<%1#@xXut24H0-E-zXx{CFsHB_R~W5`?}3nghkI+|G0DeZU5HXy}R@B&%2dBZ2Os9 z_Rie+{_Nl9-n>coH~nxoseA{6^Cf}qpxHV`vlx`W23n<*?|787xX?qraoVjTyc!2Q zUjGnbVrWY&@Ca{wk|(L@E5LAJi}Z$!>34L`uDa&5>jhWj((7LXtqNayo5<eTvMi_T z`)AFClky~{J>Yuw&@eF6f_L*Sl~t#<e~B*bt+BLL-@ax`MB61!hJ=V~%F!ChkB(hw zYC3dg&75u1o|Wg$y=S;%Dfe-$JJX)pS}`%?R?H|reYoArIB3$ejH+YrmS|}Gym9bj zXJ+DoKYy6QUhY{H<1ED>@?3h~x8Oq;1sMcd`gK>X{MoFhbjR%RpF20>LPI52UiS03 zdF_(Ho>li4gTGA^S$D@gBkp18{F6SsZQ05aZILtP&)sIZY}wn_J5pM^!adS!CBOT) zR?buGE!!P$vNwN6{Qk`^7`yM^KXinDyQy}s_7@4w^Qosc&70}1e9d!mYR~NVJy%qk z6!s(+c*UQab2M_=*^@q^egFIqU%6(gv}9hX<r-!CuCn*+4BKZ%>K`t6Ro$ajcsL{^ zY`Lnso{r8Yotz7=KW)0aJh$(wQBT0$9VLgKJ@J@3ZT}y)zjF@n5$*DtzQITKT;#=j zXAdX;=!<9cOrMc3$6?YE4+clCcfnt`cdpP9Ir07Qm+tkOIwviCy|`qC-0F>9*WF)U zI5H*oidE;+KP}Ien9W?gmC;S@$k7FXub+H7By&`-v2Wcy0l@$<!5^2*TduyYy!le1 z)8Xa18XuPhUz5u_I8IFBP<VIq_Tp<!lI2rmI{JIdc0IclH7iu>>b^;bOsDCEgwDzT zapmrN=c)o1hVoDTEYp^@cQ|x#v_Oah|5cdQ%J2RtyWc>l@yisI|BS0!Bo&nu{9kew z8mgUMAtb+=Gazl#&ACRZOtP_i^P_M5b(!||u5!GR!z7QDE)4>QH-1uO%G&C-(#2sd zXRwywg%!=8cFA-wcy{I7`SiD+LCMqZdW?<c9v2nOY^4MHKkO{}$HEY^KcMdCvE)<% z#(M_g+4Eyo*`1rZ{%+kW2BigJI+thtdVX)}Csn2w{fX!1+MN>3yH~xEN2x*J<Wp<j z^*esrR=?ti*UVOGU}10k)xMtb!Mnw3iA!rb8>*h_u6%e?x?k$25aY$@Nj04eTu+{8 zI4c>X{1g4NX8rGE)9t+)K~|0(XLsdvHvBhVAt?B8KRd$}kBwcAgTB9GU|?YIboFyt I=akR{03r+jMF0Q* literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_h.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_h.png new file mode 100644 index 0000000000000000000000000000000000000000..a217e9218e6a512b507a35e8a6141f0e56193439 GIT binary patch literal 970 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649o$Z zE{-7;x8BT%^$>BCIq-kCarL{mPa8EelxEHmE1xz=L6F7qf^+{~7rU=2EsZTVn*;P! z6<xk1I67TqcM*KzEMUjtr1(RD<K<7+doNw*O`j)UStWn(ULJpOZgutbSlPAPn}4Uv zr9Df_ujBcDbLL+|<M^7{3v(CfzBy{PNAlJ>4gIBjwjXLmnHy9*9TF251dblL=XAZg z{YH20&Wn#1&A7k+x{S>N;qQO0FP#%|%y-6|5FN=SnznoUZMf@}{`~Uw!G#Yq($45D zNZ0f%@tkIQ^!ZFZ-Ho63w3;w?b6Xb{)_2C*y5*OAjX8UKuGFEFLlHk0eNks^6klVb zm=byI(8F4@*JT!~csksYcP-Km;nibjn3GY|>tA_gb239hq}tz;jo;_zFv<6KGi=zn z?T`V_VFO9`S0blk-bv>FohTJFf6iS0o6BZ?-;q9TJJ*vfU2cbTPKy<sUey_V;i*q& z_1e8#FFq9z=48lty~jDs;hO!?sR7Tdo|Q~Eb!3aWtnKH+-Hi&K@8(9h_^6~*nxCu> z?)9&fis3W*eq@XJ)2A7K6r@AW{ypB3x&PL~HLK(J)=i!tr8lSiTBx{I;*~EuFUGd> z>#|>0z9{i?<*rpR)1E%K)z7r(|6w!U+}5jS3sh!(To#y6;(01vSJ3I#yk$ZAR{I^V zof}qCy|MS&`Bzh~^42SO$X2DgN`7N+QlH%))NW_=%B+_m_Qibl=OwDyYt~=A$T7$A z>Js7a7e36$Wbsi>5K&%Go?_1AS#p_UhT8!Xre%T#y$AlAFgYJi4v}iSHB0L<#~VlG zfXKjSUw>x)S(Day?#7KfMk@p*Bun}0e#}TcuygbB-fR|uLtE+|Y}{G0rm&accw~kt z)10Lp*IG6f%m`C%5SYDG;uc3j%alvSk2me=6!cmY{Zq*|u!kX2%gw>q?RlubTY0!P zLrM8orBI1m923?sG(>-&clXT>msi`X=LaXSSX?!G`?7lGz04TphI(1g>+82nICZyu z{g!-*$ZKLpIVx(s<L*zo#gTFBMMs~Y=J((CCxpJv*}bA9&3ne7_~W7Cjr)%0Gd?&t znXz<vVK2k<DwVJME0(`BTqhWC&)|zB;~#T#cV?-^oj>z`uCIEyUDIvLqUSa&z1b|A g;w@Pk|64MwEx9YZ`ua0T1_lNOPgg&ebxsLQ0M`<?lK=n! literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_s.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_hsb_s.png new file mode 100644 index 0000000000000000000000000000000000000000..7826b415077be23ed1b1bf05b2da62d4aa5b1c67 GIT binary patch literal 1168 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf63@l=v zE{-7;x8BUm^#~4>I6nVwwb|WSO;aKaduHlZZw~py%B!p~Wzzx<E_)V7{V575-<Vv# zeNyaw)%-Pa!lYK#pjwZ`8X`)HMiWBA#G=E@=d9kdd6(t)vV8fz-q+9eb`^cSbL;TW zg0gqU^ZuWkXZzf8f99Jq>*IwAiFR@9E>Sgic#agtBqc4H;w~UC^V08_zZ?t|^QM1# z(8wOd%jjSrF{MgIz{JIypM^<y!oSbg^OtU}47&7p)9yUKd5b5!n|I!C|CUvS@2pH? ze+qE0s84z=*S~z@#)+vn8}v@v+~1U1tJru+GbZuSnq9kQrQTe$XwjTGbJE|gy*^9s zLz95nlxcc>TaA(fQ%YDEHdfW%xP2$Dyt1+~FHg_<K&D_))qXvL+50T^ch<JG?dkHm ze*D-2&tH#zGEA7f^T$)^b_**ehAuAujP9dBp`lZ!PBqon&A+*5%3A60;3;j3mTd`W zJ5*X)AF=5|&-3;7zqZJjn9cT;-}sv0!ri-fFJ8R(Yl$#J*_%6?wajhLBo-8ST;xhN zIC9E@hmS9iL7_)xzT~o<J1Y~Tq9P-29<JW*WtN}6VtbaLklU<FyXCmHnCP<hZ+J1~ zMrK8*KvYze4Bzns{qpiN?G`)oGZars3ldS~5Rf|MEiY$r^kce!yZhldCF7YsKY#vw zo|QFe^5j~LkBk4FeN{U9QBPZ@&F783!t?Dr#7)g+`!1JWx;ZuS+RGB7zcq>Xy3UlG z{{F8qE`0xugRj48&U$TVSoC+>_1Dfnc6ZcFn=m24Xy&I9ww4#)`Hn3v(3CN~e%#J? z=^Tr`&)jxD_bP^1F?`tbM0wV-skXj9PkPR8QnFZC7rXXSuiN4?TW3YQ{8(r#@Ve~# z&X^#%c@6V?UKXdHcdFG34|8jK)p6kR^VmS81$s&!9&L>cOg%k)iIxY;HIWppCA-(| zHTGgz<kBFbv|!6g;l{+5TB=NoV?Hn}ShR>qxKaB0>m?lrLS{vL?1<?XYSa*vFc*~g zyDBg$Dk>(Xr_&+zXPytsF`X@4_k0hZ>b|4<QeK@Y_wC$ODoiWWf~Ro&X?IB|3%aD< z7WjDUET+<12mJd2ls<f^y#Cj{KUJpdy4WOdmJF$tQ#k^XA4U{)HiWGX))u_*D(Q+B zOUW(Hr&gRU4a+pQ3NgA|URe0;M%+hlm&-1~jThwY)cN1CG#I;=&t0)HoL!JZ^~}o8 z;r;SA8lNxMH(AlZk>P58dGprZiQOE+j2jJkJ|9ZE9S}5W?%diR9yPgl-?mk~p2f8K z{QLQrj(x~K6!PwVpZasX`#lYkE<%hg88&)Rvp1Y*{=KbLtW%B2;|j->xShNV(_g*o z5I?EPbZesfq_4N`ZV)Z%JTSvuXr~K9@A6`m2^=@7_xWU9U;aI+_jHHWQulcuS1B@m gifunA@H?HsvR|Ed$D-^e1_lNOPgg&ebxsLQ0KnN3^Z)<= literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_indic.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_indic.gif new file mode 100644 index 0000000000000000000000000000000000000000..222fb94cfd66bd2bd525891024289d8ee7adc321 GIT binary patch literal 86 zcmZ?wbhEHbRA%60n8?7e|H!!+3pf7%|DS<@LGdRGBLf2ygAM}&0|Q8&fl1w`W##F) qVh0MhbY(PbiE;gzJ6AMqmW7#Oh2P5Hx_8{!H+`-L+>>Nwum%9JoE@<M literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_b.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_b.png new file mode 100644 index 0000000000000000000000000000000000000000..80764e5d6dd8aac3c5ef87d83b45d29780af1fe9 GIT binary patch literal 1008 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649sPo zE{-7;x8BUk_7HKDIq<wJ{i|G6ZNP`fih0xS#d<x`-0RVz)VU!4YC8v$BA3fsMn^$g zJCD>xvBa>D0LKaPOqvEF&J#p>J{3m2yBYebQ?C4;^WHtT-yXiT>0azQ*|p}*)@Ryp z?z}l${_y|()}MC=^VDzLX=~RIeNioI!R^Q1zMhBp?%F+VU|?uVWN2e$Vqj`~@V`~B zv@Ju}^wEp%Mu(F7>uyg_6a0Q-yJw(Q3A5W2Eu&w(ZE5>*O+-VcOjqjgV_=Y&#=Fw& z)})PgyLa4}Gd=%RMt1Gxi^6tpStSo+p6UL4xY?PZ!AnxU?)gFHr#p9@IqHyb?d{S` ztJf#~t;}3raNtl=d{D`}RR<QZGfWYawBx;a=%yk=gM!Gz@@-r8U0yMDUF7@rdFN)$ zdd1S4b?af&>4t|Z+1l0~^R-%MYhkoa=bG|!3)@8@D<#`L>YuTUm21B&dw7bdkiK)e zGV8mQt4=vJ+X?X4Wmn!V*<M(E(l+eZ4>7U2U1xt*t-F}N(E0L|RA=q*V{eVaZmVp+ zxAW#q7RQ$Ui9)q2ixkgoTBE5SZSh;4dD*^&l1^FYo^R~0*S)z@oI!x+SkCIh7r#fZ zdBhkT8oT=ZsSm&FH|azyzbYbCJV(!e4U?OPeqY{=8B-Soew;r4<@?V<_FS$P|10_0 z-rITgjY(3^IfIKXOrDc2?em?P5iZ;R*J|C1TQ0ooj=#!m&pu?=EL&BTWi)5Q`5e>P z8=T+2lbz7Z5cfi!-Cb2x+vJ%?2Fs~(5zixc?_E`wW>o2AcyjKZ;$E{`o7U#UM|n-U zZhrsbwN(Kc-=@sGE)nYy8kJIU-&};z)=F8SH1Z~g&cf4f4rWZ71Sj-1<gol(Dwy&9 z)!|DVPhJ?MDu0ldYW#8~Wpyso@nloR4?23=#RHWu+_nC&Yi)5Wqv-DPh1o0~LXWBr zC?6@&+2z)-=uv?wQ%H=>I!0l4SJBrR5{#2XDhn3>mS^;sRI}E)KBj`xQz%pU!2buu zFW(q49JpFMReZhek;5Dx7>jrQyV!bbam?>iXOBxrFnUc`R@&=-*!rR=(}(f{b1W-o zWXJ6PEW@wNpm_3Xw6Fe-ueP<11nzfk5o~Dcb$I-DIzz*4{-~C@FQgc=erm6Ld2;mx zxsu+77uuY$$_(L~i(M{o^z{AhsJoh6pVg+a?gfkDwpS;l7>{<%Uv>3VJTpW3bf;ri U-ib|PU|?YIboFyt=akR{0Pn5Ap8x;= literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_g.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_g.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9778be1eb862a7ada05ae4a34726df0a2c73af GIT binary patch literal 1069 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649uH7 zT^vIyZoQcq>k*tNaa{iV@j236OP)RZeq5w<mc|U1CKb^Zb4T+s;fTnE;+dH#oRJlZ zOEXtYnVIUy+8A`VM3A#lLD6&8vY$79eNZ+x|GsyQb*zlFjQMRR>vwx9;^uX~eOUSZ z&-Ztg=YQ|n|FfrW^%pkb1!hctmbTnWnAFOqs9u{F=giP>_#p!eJ0nBc?^E9<o%_ni z`C)q1w0$|-^WR)fUi?Jn<-C7ZuLDKvxsNSgwco4W-r}0Q!J1hzoOc9;q~}+t*iX;D zWXMnuFlF-BT8XzA`<*8(y1d*^?#}%0>z<#z+dkLNFvdIm`KePLWoP{u8s^`)o_VYL zdF;=2?p3GyGE3Q-Ps*rq=k2^JrpSLW<Eu~4)vU)MR*SR3y=)j#(wFhn%}Pl>&cJZE z=Ekzfn5avuzP~*iap6VUv#V^2Esbi@i=BNv0u($S_()t|eNIJ6YVIP9u0<=hJh3P% zJ5+kkf2$Znl2U3~cWFh*u7_!|Z}qLi*ZFjPJvB}CpUvL7wZYl$B};f1+>V8s-7YFw z@+Rr&(&*l=3<AQc)4h)PNL(+P>9W$ZaLYzlqf6Ik9PyV~9I(x{A}Ky{;*U<@M@nhW zO;<-BcQj1A;~j6h>&VOZ2hRDev0l4n$%b_szq$k#_Bds3o$;)$rqkQU+pi<;!izmY z23vmhD+ixDUwS?MzW<x(+MOkVtLF!u{TCH?Z|=l7>q2In5$nFXjdkfEk)G96=P$h! zRy+_tYw}#RZ=#F`ZagvPKJM@Q{nB-N-@7c5J!#Ds-z>ZQVN*$ava)HzV~g#}S0)#) zKKH#&HuNRqzo3xySGlF`o|z+M`7&`+LQ<OFUUh9z%a?m=otXq3ynh||z_R?*rKwze zoept+YVNysSN~#FQV?L=C&0L_y;^C*u2)Qg0v!zwEG$Y20*(JYS$0+bnyA9mb%Udk zBga`uK#hA|(AfnQYmYIUU3gi#(u<|)cU#=vy4PwCE;Ppc6JnH657_%4abAH=eJ6uw zSAZ(hk`v-rn*=9HuPt3K%qVj_K$VH5&p0f)wC(S-1BG$IjL-PzuNLoPcJNKTIQ8}S ziwaB@eHY8t?rYxH9~LfR<QFH*IBBbI_H4P`R@Yz3NGb`4%6SPhR%TqddFiu>pusGi z=qnQcG-q^8TKuJ3TGu}|kxjmn!STTs(=B$3uW#S8qoMHAEDnJ+ZVO(<sWX^tFW)%# zk1ErXTgofHUi4PyukUO)uH3obrQyf)a}(QL5|V!XP7A*~dwUv_d#F`gWmM@sA;#}> f+gz0X*)lBI%YXf#=F<=c1_lOCS3j3^P6<r_`y<{e literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_r.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_rgb_r.png new file mode 100644 index 0000000000000000000000000000000000000000..91b0cd4c520013444ae3a64c7e10b28060992557 GIT binary patch literal 1018 zcmeAS@N?(olHy`uVBq!ia0y~yV6bCgU~uAKVqjosaQ?KCfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{FZ*2=ZlMsM2L%Xqd{t@Z&lILq`w;L!m1J!>cp~21|AZ2F0Ju>aAf649pFl zE{-7;x8BT%^$>BCIq<wJ{r%<5SCsV)Uw^t{WB*9+OqYu=R}DwCPDhi=ghd_7@+{RS zYBu<2uMP0pu%Kx{i`*+k4lYM03yrOtKl$muwR!7v`S-UyZxhcazh~awckTAUzsCHV zcW<_~Z~On|%paD;_jS6x{TiZFPNx<Wo?PkU@631C%$S{#q0xasK|+Ax!T0q!IwjlE zJvPN0>)H3_`|<Ckq1VEu?Kr;Q-#DnyJW*n0(&GCscF3>lK5~iqx7Rn3=S94-%nU3Z zMvEeRjya1yEj3kN-5=(;WYfKQdZ(}WxJYli__B6t#^=S=?F<Z^5h8z=ZPQ4PJ~nO5 znJ=3zJqk8uTYYw&?y16EHVfJ0`lp9}5eVI=Ce0AA>T=DmoJHUH7#SqgI_fU}xSBNk z@6(SJ_7XjL(-&{@QTLy;EAklc>Gsf74+D!G=XI^>uaV?G{dLC0()G=&mMmFnZW^n3 zB6y}+ol4fJOPz-=oQ&wK{vCEZF1POf>hIUrZ`Juz=HuhH{`rK<E4w~zUU_Q5MG;G1 zPoqr%iQ6Kst~%4DeD!Va+G!_e&d9yt!Y`(E)N_)~ovoAaSs(k+nH-wBk}LK7WV_CY z87o>AzG&}Bd)BhEAaMTt&9&F;{3k7O(OGqUzB-47|D;`a?tS%_u(CDYrB;4?P3^t6 zAA|aX%uaJMS<T7g5ni)~MX2c?|K*aC4;RJ%syS_Uzvzpf^1&C44mOkdju)1NUv}8D zxbIk<Z0MJiojg~Qzn<U8y83LNOjTPD<65)d|0X#-xxmiWUa8z5_UrgW!?2TO;wvIe zn5MFq>J;vOYyQEl!JH|^kSXW*EjNXZbJC3WIKV=C1b@tTdyu=I(NlRrSn4OY1ZJs5 zo~4I!HZH1IbBtlu#tknXtPqrtkg5Co?5-5=D!%E(*Et?oxO{DBH+&iKPKvQfU{Mwe z$3l*)ErLRYPp!mz82XY|NHKOiUU=zJg!}#$3ptnR9j=0{Mog8j)&$L67Fh45<h$wC zo31Oqg1HfLUlUBsuP`yplFllOD!9ebBD8Gf+V7kGnS}1Y^-q9N+2O*nOz-E9U(CK^ z%2ZJ5xyru0Y1Ni{wOwt34Fbzgoqd;n<wu-VwN1(7%We(->|fS=kYOlT{+#tM|KV6= zhZcR$yZv!)cOI@2Oo*AZBb(*H{Wmg}87#++Eq^5c^~n5LihWvEZHB#8>AejJXO{=9 c{BfS4CAjJ;Q-|FP1_lNOPgg&ebxsLQ07z!hy#N3J literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_submit.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/custom_submit.png new file mode 100644 index 0000000000000000000000000000000000000000..cd202cd93b753b31926593e79eb3756cd58bd677 GIT binary patch literal 997 zcmeAS@N?(olHy`uVBq!ia0y~yU=U+qV9?=UVqjo+XMTS<0|NtRfk$L90|U1(2s1Lw znj^u$z@U)q5#-CjP^HVj&@h#O;m36bhK?WxhC){chF56}43_K+42nOQ)my_D7?`s? zT^vIyZoQduH~)5u$g%m?*Y7>j`S`|3w^_QbiQc<6Z4~|G$ok0p@~%Ut*mA@<7|ml2 z)*t4*e#dBnnwgboW{{)QiZ!~TH@(75?@sBjTbe0sy;4|xqpaSeS$dKl*%JkX-QS<x zc<=c|%jaKzPHc5q6>(|9b%ENrZ4sBOoDSMXuSwq?!7wc~QT`y40ng|8+dIyyr=_Ra zcn4p!E)3yQ@#mf5KmU#NoA<TbcHeFCIeYH&p6u_-S6|ORrG0-6C%52Aca7?RqWt{N zr@wOvKdnjJ^83<@*}L__wXR;%T6cej#mQR3KmRHX*DGvh4RyZveEr9NCsz7Rulam> z=4y%k7Dey$r6WC5{;pf!eqUNJ+cJQ&hh;naBK|6gtN@)8hxOy5{^jN9&3a*3_C=9< z^~DUe;_}D&@yq^P<}$JW!B@e5P}f0ZVe5m54k_oSZTGML>-OjOyT#{kG-pJ8$g37h zO*?g0GFEk3`~;Toj$tnv)ENSsq_%XdcsVDCMf{!4|FGxw8&r42r7{}uWIj6;yg%zv ztJWEzJ3_Cgs@yy*uXwM)uW~6%YkLucYFtP?pOw&VLG?{yMk|Ci7%gDZ5-8ZIasD}D z>hl$*IR~<2)05N14prTcRaKYa>AH~mLeYUakwNrC*u?b?YZW)Itf(sPV_{%kaB+jb zxUtE`9bXu>iuCB*Fuh<hK`CP4iA^UWJTi7njeAoyuUutYt1$Cl<~#kLJ}ukFdEM#; zj|Z0uX9~wP4Ks^7*UgT8So`mvc-iV%p*Jqx72SKFZpx1=y_wo;8<sgvauD)hKFu?& zYv-3oQ@f|v9^c((Iq6y?gN1!nThHU$=hy%Jbn4r~%X%*_2nMaz%-(rb{#}dE<oUHl zKh_qfm*3xB-tzcOxnfJesSQ)^MenGuuCiLEbGBGS^kGZhS2rhTeZF}wI<N8`Hqkx4 zG|v3Ql{Yp^uWVd0B~jv8e%S3zI+y=^4)nd8lY7L#=Ri$P+?FrjZk!OTz4!N#`Q}{{ z^+mqt2u^S{i`Up^^5f1tUA5)U=SeheW_Z<h(eFe5VW%fs<q{WMSNoBZ_-Oe??Oc|6 z7t#N|P09aRw(I^={~_%5p<QPdOa1q`6CZPLygm8y$B)_ji<5nu_DgZ{*8Xy{K3M+G z@AOIOvoDV&U5wEAm3TYo+ABBigYp+o?05OlpkwE;_8t5FdLD*jWm80-Em4}tz`(%Z M>FVdQ&MBb@0I@R7ivR!s literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select.png new file mode 100644 index 0000000000000000000000000000000000000000..21213bfd51b088497f3a9e423170cd65532d873d GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?u%tWsIx;Y<KVi<=^^$>s zL9)a(q9iy!t)x7$D3!r6B|j-u!8128JvAsbF{QHbWU37V17nY;i(^Q|tv53cdL4EU zXe&2gS>+j|v}k(_%SMH`J<mIBDn3cte0?DN^xes3r5_Ak60@ExGBf-qoR+A0L#%MJ zSlNU8%bp4Q-tl=qo1S}{OE&0KZH=sBaz^-#UjGcXy$<iED2Uyx^^kn<ol~SMaZ$^> z13{X8Je<lq%nUi^Z}&X>#?kx&OVBjMeGA!NNc~b^OPaXDqM7f<!rKZQYKanD_rI^b zbfr}H)FzS8P{Avz%kPVrZ|J+M(Y5AqNp!PRNOzXhOT$n(NzRv*ape=ATV9NAJgC=U z(Z_my(y_G{*Vi60xYRc7Z=kA~j?4t+A_u+`jFt;>**ATCba`FX-xtyzDxQz3GIlp^ z(zz|8z`L1m%B$+sFvrOG<(EwU&X;?%dC}kQX>*NV%k&f{n`O^l_A<?Q)@%<m=B;A< z7k4IkyBtpr6#3=&+90GmhF{rs@xk6RZN-OkW;h+UoymLtg6M2sk?*(UcS+pnTc~lc zXnA<!w6!uqZuxU#HheiT%`(M3<+#xi@$c`oZyLmwH$Qc6U}PxQZFr`&=36EM0|SGn LtDnm{r-UW|{}|Rt literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select2.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/select2.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd2cabeb6777c724034d5b0e0efd664011f515c GIT binary patch literal 518 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?a29w(7Bet#3xhBt!>l<H z3=9kk$sR$z3=CDe3=9oZ85n+CXJF_EVqhqAWng%f#=v07&cLAflUcnrjDdl%$J50z zq~g|_83(-%JBYZR_g=1bWr^<67wjBMSqmTUi+^%x>iq|&TH~+m)fS)H)Fkc5xiB-y z(f8Gk7c7esqK{-oooKyj({^U&%+uaQt#h_q(|sV2!La+rRcisJ^9~FON*#=ajeHLR zdz2DXlr|=FxgJWm_KrcL*jMt5Tmk17hT}#@)D2kl8q5z|j@s^$UCXoO?2^|S^S&K= zF;&HL?WK^_U2WU@pI>V`FjMn)pJBnWcNId>?Tj9irhHUkd-3cPFKb9KtLJ4&hPPqN z=hxmWEU-Ds?{p?=lKqbO+N6Xd$0D`_w(|yahA>TaPz~S=Vam0hu<1+8-Z!6<?>gAn z*iDtYmA9a7|9(pc$un93=XUw0Nlw|sYa+q(@3`}_@E7}gTx-*&9-Hyx-`OoeqMnx} z>jWOLFTA^Mjh6lFj7Kv(R4&JEewQY^_OQuoy#pHId`DY&)pu@q$Yl`~e4~JW&g>10 z56n)t`*HUrGbjn}Jn5Hs#KuI6M{T#&&u?AVcJa#0a7j6Cbfo>`d+rB^Z7%(mV$iQ_ WKe9a_MVNtsfx*+&&t;ucLK6Vh5Ytlt literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/slider.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/images/slider.png new file mode 100644 index 0000000000000000000000000000000000000000..8b03da96ebd45d66729466d43f263854ce7a0c49 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0y~yU=U|uU}WK7VqjqKskJC$U|?WLcl32+U|4^`oVDvE z0|SF(iEBhjaDG}zd16s2gJVj5QmTSyZen_BP-<dIW#P$G8wLi3vz{)FAr-gY+_C0s zHsE2n5D>7sPu4<AW+C(UqzAL63M`f1+N1GKVC8w|MLcz0ZqXB07tRUNX?u8UP4w-! zO`YprU)x$K|I2Q2<h1pZE*XB(;A(YR7@#4-^;Cb#W&SCavY$S^UR!i}@6nwKs(~6J z5ZR~N8<UzK%37Tkz6pC}8NR~YYt84_u1PQ@Q!Y)7kaPf>1TyfO*2ZT)m-BVhO6$9L wLQN6zx_K&D=uB~scUg$H&VSKzMm7fR=t)LOw?D`;FfcH9y85}Sb4q9e03k_rc>n+a literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/js/colorpicker.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/js/colorpicker.js new file mode 100644 index 000000000..45f56ced7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/colorpicker/js/colorpicker.js @@ -0,0 +1,484 @@ +/** + * + * Color picker + * Author: Stefan Petre www.eyecon.ro + * + * Dual licensed under the MIT and GPL licenses + * + */ +(function ($) { + var ColorPicker = function () { + var + ids = {}, + inAction, + charMin = 65, + visible, + tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>', + defaults = { + eventName: 'click', + onShow: function () {}, + onBeforeShow: function(){}, + onHide: function () {}, + onChange: function () {}, + onSubmit: function () {}, + color: 'ff0000', + livePreview: true, + flat: false + }, + fillRGBFields = function (hsb, cal) { + var rgb = HSBToRGB(hsb); + $(cal).data('colorpicker').fields + .eq(1).val(rgb.r).end() + .eq(2).val(rgb.g).end() + .eq(3).val(rgb.b).end(); + }, + fillHSBFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(4).val(hsb.h).end() + .eq(5).val(hsb.s).end() + .eq(6).val(hsb.b).end(); + }, + fillHexFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(0).val(HSBToHex(hsb)).end(); + }, + setSelector = function (hsb, cal) { + $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100})); + $(cal).data('colorpicker').selectorIndic.css({ + left: parseInt(150 * hsb.s/100, 10), + top: parseInt(150 * (100-hsb.b)/100, 10) + }); + }, + setHue = function (hsb, cal) { + $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); + }, + setCurrentColor = function (hsb, cal) { + $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + setNewColor = function (hsb, cal) { + $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + keyDown = function (ev) { + var pressedKey = ev.charCode || ev.keyCode || -1; + if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { + return false; + } + var cal = $(this).parent().parent(); + if (cal.data('colorpicker').livePreview === true) { + change.apply(this); + } + }, + change = function (ev) { + var cal = $(this).parent().parent(), col; + if (this.parentNode.className.indexOf('_hex') > 0) { + cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); + } else if (this.parentNode.className.indexOf('_hsb') > 0) { + cal.data('colorpicker').color = col = fixHSB({ + h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), + s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) + }); + } else { + cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ + r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), + g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) + })); + } + if (ev) { + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + } + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); + }, + blur = function (ev) { + var cal = $(this).parent().parent(); + cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + }, + focus = function () { + charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; + $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + $(this).parent().addClass('colorpicker_focus'); + }, + downIncrement = function (ev) { + var field = $(this).parent().find('input').focus(); + var current = { + el: $(this).parent().addClass('colorpicker_slider'), + max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), + y: ev.pageY, + field: field, + val: parseInt(field.val(), 10), + preview: $(this).parent().parent().data('colorpicker').livePreview + }; + $(document).bind('mouseup', current, upIncrement); + $(document).bind('mousemove', current, moveIncrement); + }, + moveIncrement = function (ev) { + ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); + if (ev.data.preview) { + change.apply(ev.data.field.get(0), [true]); + } + return false; + }, + upIncrement = function (ev) { + change.apply(ev.data.field.get(0), [true]); + ev.data.el.removeClass('colorpicker_slider').find('input').focus(); + $(document).unbind('mouseup', upIncrement); + $(document).unbind('mousemove', moveIncrement); + return false; + }, + downHue = function (ev) { + var current = { + cal: $(this).parent(), + y: $(this).offset().top + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upHue); + $(document).bind('mousemove', current, moveHue); + }, + moveHue = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upHue = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upHue); + $(document).unbind('mousemove', moveHue); + return false; + }, + downSelector = function (ev) { + var current = { + cal: $(this).parent(), + pos: $(this).offset() + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upSelector); + $(document).bind('mousemove', current, moveSelector); + }, + moveSelector = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upSelector = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upSelector); + $(document).unbind('mousemove', moveSelector); + return false; + }, + enterSubmit = function (ev) { + $(this).addClass('colorpicker_focus'); + }, + leaveSubmit = function (ev) { + $(this).removeClass('colorpicker_focus'); + }, + clickSubmit = function (ev) { + var cal = $(this).parent(); + var col = cal.data('colorpicker').color; + cal.data('colorpicker').origColor = col; + setCurrentColor(col, cal.get(0)); + cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); + }, + show = function (ev) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); + var pos = $(this).offset(); + var viewPort = getViewport(); + var top = pos.top + this.offsetHeight; + var left = pos.left; + if (top + 176 > viewPort.t + viewPort.h) { + top -= this.offsetHeight + 176; + } + if (left + 356 > viewPort.l + viewPort.w) { + left -= 356; + } + cal.css({left: left + 'px', top: top + 'px'}); + if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { + cal.show(); + } + $(document).bind('mousedown', {cal: cal}, hide); + return false; + }, + hide = function (ev) { + if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { + if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { + ev.data.cal.hide(); + } + $(document).unbind('mousedown', hide); + } + }, + isChildOf = function(parentEl, el, container) { + if (parentEl == el) { + return true; + } + if (parentEl.contains) { + return parentEl.contains(el); + } + if ( parentEl.compareDocumentPosition ) { + return !!(parentEl.compareDocumentPosition(el) & 16); + } + var prEl = el.parentNode; + while(prEl && prEl != container) { + if (prEl == parentEl) + return true; + prEl = prEl.parentNode; + } + return false; + }, + getViewport = function () { + var m = document.compatMode == 'CSS1Compat'; + return { + l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), + t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), + w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), + h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) + }; + }, + fixHSB = function (hsb) { + return { + h: Math.min(360, Math.max(0, hsb.h)), + s: Math.min(100, Math.max(0, hsb.s)), + b: Math.min(100, Math.max(0, hsb.b)) + }; + }, + fixRGB = function (rgb) { + return { + r: Math.min(255, Math.max(0, rgb.r)), + g: Math.min(255, Math.max(0, rgb.g)), + b: Math.min(255, Math.max(0, rgb.b)) + }; + }, + fixHex = function (hex) { + var len = 6 - hex.length; + if (len > 0) { + var o = []; + for (var i=0; i<len; i++) { + o.push('0'); + } + o.push(hex); + hex = o.join(''); + } + return hex; + }, + HexToRGB = function (hex) { + var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); + return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; + }, + HexToHSB = function (hex) { + return RGBToHSB(HexToRGB(hex)); + }, + RGBToHSB = function (rgb) { + var hsb = { + h: 0, + s: 0, + b: 0 + }; + var min = Math.min(rgb.r, rgb.g, rgb.b); + var max = Math.max(rgb.r, rgb.g, rgb.b); + var delta = max - min; + hsb.b = max; + if (max != 0) { + + } + hsb.s = max != 0 ? 255 * delta / max : 0; + if (hsb.s != 0) { + if (rgb.r == max) { + hsb.h = (rgb.g - rgb.b) / delta; + } else if (rgb.g == max) { + hsb.h = 2 + (rgb.b - rgb.r) / delta; + } else { + hsb.h = 4 + (rgb.r - rgb.g) / delta; + } + } else { + hsb.h = -1; + } + hsb.h *= 60; + if (hsb.h < 0) { + hsb.h += 360; + } + hsb.s *= 100/255; + hsb.b *= 100/255; + return hsb; + }, + HSBToRGB = function (hsb) { + var rgb = {}; + var h = Math.round(hsb.h); + var s = Math.round(hsb.s*255/100); + var v = Math.round(hsb.b*255/100); + if(s == 0) { + rgb.r = rgb.g = rgb.b = v; + } else { + var t1 = v; + var t2 = (255-s)*v/255; + var t3 = (t1-t2)*(h%60)/60; + if(h==360) h = 0; + if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3} + else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3} + else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3} + else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3} + else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3} + else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3} + else {rgb.r=0; rgb.g=0; rgb.b=0} + } + return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; + }, + RGBToHex = function (rgb) { + var hex = [ + rgb.r.toString(16), + rgb.g.toString(16), + rgb.b.toString(16) + ]; + $.each(hex, function (nr, val) { + if (val.length == 1) { + hex[nr] = '0' + val; + } + }); + return hex.join(''); + }, + HSBToHex = function (hsb) { + return RGBToHex(HSBToRGB(hsb)); + }, + restoreOriginal = function () { + var cal = $(this).parent(); + var col = cal.data('colorpicker').origColor; + cal.data('colorpicker').color = col; + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + }; + return { + init: function (opt) { + opt = $.extend({}, defaults, opt||{}); + if (typeof opt.color == 'string') { + opt.color = HexToHSB(opt.color); + } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { + opt.color = RGBToHSB(opt.color); + } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { + opt.color = fixHSB(opt.color); + } else { + return this; + } + return this.each(function () { + if (!$(this).data('colorpickerId')) { + var options = $.extend({}, opt); + options.origColor = opt.color; + var id = 'collorpicker_' + parseInt(Math.random() * 1000); + $(this).data('colorpickerId', id); + var cal = $(tpl).attr('id', id); + if (options.flat) { + cal.appendTo(this).show(); + } else { + cal.appendTo(document.body); + } + options.fields = cal + .find('input') + .bind('keyup', keyDown) + .bind('change', change) + .bind('blur', blur) + .bind('focus', focus); + cal + .find('span').bind('mousedown', downIncrement).end() + .find('>div.colorpicker_current_color').bind('click', restoreOriginal); + options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); + options.selectorIndic = options.selector.find('div div'); + options.el = this; + options.hue = cal.find('div.colorpicker_hue div'); + cal.find('div.colorpicker_hue').bind('mousedown', downHue); + options.newColor = cal.find('div.colorpicker_new_color'); + options.currentColor = cal.find('div.colorpicker_current_color'); + cal.data('colorpicker', options); + cal.find('div.colorpicker_submit') + .bind('mouseenter', enterSubmit) + .bind('mouseleave', leaveSubmit) + .bind('click', clickSubmit); + fillRGBFields(options.color, cal.get(0)); + fillHSBFields(options.color, cal.get(0)); + fillHexFields(options.color, cal.get(0)); + setHue(options.color, cal.get(0)); + setSelector(options.color, cal.get(0)); + setCurrentColor(options.color, cal.get(0)); + setNewColor(options.color, cal.get(0)); + if (options.flat) { + cal.css({ + position: 'relative', + display: 'block' + }); + } else { + $(this).bind(options.eventName, show); + } + } + }); + }, + showPicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + show.apply(this); + } + }); + }, + hidePicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + $('#' + $(this).data('colorpickerId')).hide(); + } + }); + }, + setColor: function(col) { + if (typeof col == 'string') { + col = HexToHSB(col); + } else if (col.r != undefined && col.g != undefined && col.b != undefined) { + col = RGBToHSB(col); + } else if (col.h != undefined && col.s != undefined && col.b != undefined) { + col = fixHSB(col); + } else { + return this; + } + return this.each(function(){ + if ($(this).data('colorpickerId')) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').color = col; + cal.data('colorpicker').origColor = col; + fillRGBFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + setHue(col, cal.get(0)); + setSelector(col, cal.get(0)); + setCurrentColor(col, cal.get(0)); + setNewColor(col, cal.get(0)); + } + }); + } + }; + }(); + $.fn.extend({ + ColorPicker: ColorPicker.init, + ColorPickerHide: ColorPicker.hidePicker, + ColorPickerShow: ColorPicker.showPicker, + ColorPickerSetColor: ColorPicker.setColor + }); +})(jQuery) \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.js new file mode 100644 index 000000000..9d9ce05f0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.js @@ -0,0 +1,535 @@ +/* + ### jQuery Multiple File Upload Plugin v1.46 - 2009-05-12 ### + * Home: http://www.fyneworks.com/jquery/multiple-file-upload/ + * Code: http://code.google.com/p/jquery-multifile-plugin/ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + ### +*/ + +/*# AVOID COLLISIONS #*/ +;if(window.jQuery) (function($){ +/*# AVOID COLLISIONS #*/ + + // plugin initialization + $.fn.MultiFile = function(options){ + if(this.length==0) return this; // quick fail + + // Handle API methods + if(typeof arguments[0]=='string'){ + // Perform API methods on individual elements + if(this.length>1){ + var args = arguments; + return this.each(function(){ + $.fn.MultiFile.apply($(this), args); + }); + }; + // Invoke API method handler + $.fn.MultiFile[arguments[0]].apply(this, $.makeArray(arguments).slice(1) || []); + // Quick exit... + return this; + }; + + // Initialize options for this call + var options = $.extend( + {}/* new object */, + $.fn.MultiFile.options/* default options */, + options || {} /* just-in-time options */ + ); + + // Empty Element Fix!!! + // this code will automatically intercept native form submissions + // and disable empty file elements + $('form') + .not('MultiFile-intercepted') + .addClass('MultiFile-intercepted') + .submit($.fn.MultiFile.disableEmpty); + + //### http://plugins.jquery.com/node/1363 + // utility method to integrate this plugin with others... + if($.fn.MultiFile.options.autoIntercept){ + $.fn.MultiFile.intercept( $.fn.MultiFile.options.autoIntercept /* array of methods to intercept */ ); + $.fn.MultiFile.options.autoIntercept = null; /* only run this once */ + }; + + // loop through each matched element + this + .not('.MultiFile-applied') + .addClass('MultiFile-applied') + .each(function(){ + //##################################################################### + // MAIN PLUGIN FUNCTIONALITY - START + //##################################################################### + + // BUG 1251 FIX: http://plugins.jquery.com/project/comments/add/1251 + // variable group_count would repeat itself on multiple calls to the plugin. + // this would cause a conflict with multiple elements + // changes scope of variable to global so id will be unique over n calls + window.MultiFile = (window.MultiFile || 0) + 1; + var group_count = window.MultiFile; + + // Copy parent attributes - Thanks to Jonas Wagner + // we will use this one to create new input elements + var MultiFile = {e:this, E:$(this), clone:$(this).clone()}; + + //=== + + //# USE CONFIGURATION + if(typeof options=='number') options = {max:options}; + var o = $.extend({}, + $.fn.MultiFile.options, + options || {}, + ($.metadata? MultiFile.E.metadata(): ($.meta?MultiFile.E.data():null)) || {}, /* metadata options */ + {} /* internals */ + ); + // limit number of files that can be selected? + if(!(o.max>0) /*IsNull(MultiFile.max)*/){ + o.max = MultiFile.E.attr('maxlength'); + if(!(o.max>0) /*IsNull(MultiFile.max)*/){ + o.max = (String(MultiFile.e.className.match(/\b(max|limit)\-([0-9]+)\b/gi) || ['']).match(/[0-9]+/gi) || [''])[0]; + if(!(o.max>0)) o.max = -1; + else o.max = String(o.max).match(/[0-9]+/gi)[0]; + } + }; + o.max = new Number(o.max); + // limit extensions? + o.accept = o.accept || MultiFile.E.attr('accept') || ''; + if(!o.accept){ + o.accept = (MultiFile.e.className.match(/\b(accept\-[\w\|]+)\b/gi)) || ''; + o.accept = new String(o.accept).replace(/^(accept|ext)\-/i,''); + }; + + //=== + + // APPLY CONFIGURATION + $.extend(MultiFile, o || {}); + MultiFile.STRING = $.extend({},$.fn.MultiFile.options.STRING,MultiFile.STRING); + + //=== + + //######################################### + // PRIVATE PROPERTIES/METHODS + $.extend(MultiFile, { + n: 0, // How many elements are currently selected? + slaves: [], files: [], + instanceKey: MultiFile.e.id || 'MultiFile'+String(group_count), // Instance Key? + generateID: function(z){ return MultiFile.instanceKey + (z>0 ?'_F'+String(z):''); }, + trigger: function(event, element){ + var handler = MultiFile[event], value = $(element).attr('value'); + if(handler){ + var returnValue = handler(element, value, MultiFile); + if( returnValue!=null ) return returnValue; + } + return true; + } + }); + + //=== + + // Setup dynamic regular expression for extension validation + // - thanks to John-Paul Bader: http://smyck.de/2006/08/11/javascript-dynamic-regular-expresions/ + if(String(MultiFile.accept).length>1){ + MultiFile.accept = MultiFile.accept.replace(/\W+/g,'|').replace(/^\W|\W$/g,''); + MultiFile.rxAccept = new RegExp('\\.('+(MultiFile.accept?MultiFile.accept:'')+')$','gi'); + }; + + //=== + + // Create wrapper to hold our file list + MultiFile.wrapID = MultiFile.instanceKey+'_wrap'; // Wrapper ID? + MultiFile.E.wrap('<div class="MultiFile-wrap" id="'+MultiFile.wrapID+'"></div>'); + MultiFile.wrapper = $('#'+MultiFile.wrapID+''); + + //=== + + // MultiFile MUST have a name - default: file1[], file2[], file3[] + MultiFile.e.name = MultiFile.e.name || 'file'+ group_count +'[]'; + + //=== + + if(!MultiFile.list){ + // Create a wrapper for the list + // * OPERA BUG: NO_MODIFICATION_ALLOWED_ERR ('list' is a read-only property) + // this change allows us to keep the files in the order they were selected + MultiFile.wrapper.append( '<div class="MultiFile-list" id="'+MultiFile.wrapID+'_list"></div>' ); + MultiFile.list = $('#'+MultiFile.wrapID+'_list'); + }; + MultiFile.list = $(MultiFile.list); + + //=== + + // Bind a new element + MultiFile.addSlave = function( slave, slave_count ){ + //if(window.console) console.log('MultiFile.addSlave',slave_count); + + // Keep track of how many elements have been displayed + MultiFile.n++; + // Add reference to master element + slave.MultiFile = MultiFile; + + // BUG FIX: http://plugins.jquery.com/node/1495 + // Clear identifying properties from clones + if(slave_count>0) slave.id = slave.name = ''; + + // Define element's ID and name (upload components need this!) + //slave.id = slave.id || MultiFile.generateID(slave_count); + if(slave_count>0) slave.id = MultiFile.generateID(slave_count); + //FIX for: http://code.google.com/p/jquery-multifile-plugin/issues/detail?id=23 + + // 2008-Apr-29: New customizable naming convention (see url below) + // http://groups.google.com/group/jquery-dev/browse_frm/thread/765c73e41b34f924# + slave.name = String(MultiFile.namePattern + /*master name*/.replace(/\$name/gi,$(MultiFile.clone).attr('name')) + /*master id */.replace(/\$id/gi, $(MultiFile.clone).attr('id')) + /*group count*/.replace(/\$g/gi, group_count)//(group_count>0?group_count:'')) + /*slave count*/.replace(/\$i/gi, slave_count)//(slave_count>0?slave_count:'')) + ); + + // If we've reached maximum number, disable input slave + if( (MultiFile.max > 0) && ((MultiFile.n-1) > (MultiFile.max)) )//{ // MultiFile.n Starts at 1, so subtract 1 to find true count + slave.disabled = true; + //}; + + // Remember most recent slave + MultiFile.current = MultiFile.slaves[slave_count] = slave; + + // We'll use jQuery from now on + slave = $(slave); + + // Clear value + slave.val('').attr('value','')[0].value = ''; + + // Stop plugin initializing on slaves + slave.addClass('MultiFile-applied'); + + // Triggered when a file is selected + slave.change(function(){ + //if(window.console) console.log('MultiFile.slave.change',slave_count); + + // Lose focus to stop IE7 firing onchange again + $(this).blur(); + + //# Trigger Event! onFileSelect + if(!MultiFile.trigger('onFileSelect', this, MultiFile)) return false; + //# End Event! + + //# Retrive value of selected file from element + var ERROR = '', v = String(this.value || ''/*.attr('value)*/); + + // check extension + if(MultiFile.accept && v && !v.match(MultiFile.rxAccept))//{ + ERROR = MultiFile.STRING.denied.replace('$ext', String(v.match(/\.\w{1,4}$/gi))); + //} + //}; + + // Disallow duplicates + for(var f in MultiFile.slaves)//{ + if(MultiFile.slaves[f] && MultiFile.slaves[f]!=this)//{ + //console.log(MultiFile.slaves[f],MultiFile.slaves[f].value); + if(MultiFile.slaves[f].value==v)//{ + ERROR = MultiFile.STRING.duplicate.replace('$file', v.match(/[^\/\\]+$/gi)); + //}; + //}; + //}; + + // Create a new file input element + var newEle = $(MultiFile.clone).clone();// Copy parent attributes - Thanks to Jonas Wagner + //# Let's remember which input we've generated so + // we can disable the empty ones before submission + // See: http://plugins.jquery.com/node/1495 + newEle.addClass('MultiFile'); + + // Handle error + if(ERROR!=''){ + // Handle error + MultiFile.error(ERROR); + + // 2007-06-24: BUG FIX - Thanks to Adrian Wr�bel <adrian [dot] wrobel [at] gmail.com> + // Ditch the trouble maker and add a fresh new element + MultiFile.n--; + MultiFile.addSlave(newEle[0], slave_count); + slave.parent().prepend(newEle); + slave.remove(); + return false; + }; + + // Hide this element (NB: display:none is evil!) + $(this).css({ position:'absolute', top: '-3000px' }); + + // Add new element to the form + slave.after(newEle); + + // Update list + MultiFile.addToList( this, slave_count ); + + // Bind functionality + MultiFile.addSlave( newEle[0], slave_count+1 ); + + //# Trigger Event! afterFileSelect + if(!MultiFile.trigger('afterFileSelect', this, MultiFile)) return false; + //# End Event! + + }); // slave.change() + + // Save control to element + $(slave).data('MultiFile', MultiFile); + + };// MultiFile.addSlave + // Bind a new element + + + + // Add a new file to the list + MultiFile.addToList = function( slave, slave_count ){ + //if(window.console) console.log('MultiFile.addToList',slave_count); + + //# Trigger Event! onFileAppend + if(!MultiFile.trigger('onFileAppend', slave, MultiFile)) return false; + //# End Event! + + // Create label elements + var + r = $('<div class="MultiFile-label"></div>'), + v = String(slave.value || ''/*.attr('value)*/), + a = $('<span class="MultiFile-title" title="'+MultiFile.STRING.selected.replace('$file', v)+'">'+MultiFile.STRING.file.replace('$file', v.match(/[^\/\\]+$/gi)[0])+'</span>'), + b = $('<a class="MultiFile-remove" href="#'+MultiFile.wrapID+'">'+MultiFile.STRING.remove+'</a>'); + + // Insert label + MultiFile.list.append( + r.append(b, ' ', a) + ); + + b + .click(function(){ + + //# Trigger Event! onFileRemove + if(!MultiFile.trigger('onFileRemove', slave, MultiFile)) return false; + //# End Event! + + MultiFile.n--; + MultiFile.current.disabled = false; + + // Remove element, remove label, point to current + MultiFile.slaves[slave_count] = null; + $(slave).remove(); + $(this).parent().remove(); + + // Show most current element again (move into view) and clear selection + $(MultiFile.current).css({ position:'', top: '' }); + $(MultiFile.current).reset().val('').attr('value', '')[0].value = ''; + + //# Trigger Event! afterFileRemove + if(!MultiFile.trigger('afterFileRemove', slave, MultiFile)) return false; + //# End Event! + + return false; + }); + + //# Trigger Event! afterFileAppend + if(!MultiFile.trigger('afterFileAppend', slave, MultiFile)) return false; + //# End Event! + + }; // MultiFile.addToList + // Add element to selected files list + + + + // Bind functionality to the first element + if(!MultiFile.MultiFile) MultiFile.addSlave(MultiFile.e, 0); + + // Increment control count + //MultiFile.I++; // using window.MultiFile + MultiFile.n++; + + // Save control to element + MultiFile.E.data('MultiFile', MultiFile); + + + //##################################################################### + // MAIN PLUGIN FUNCTIONALITY - END + //##################################################################### + }); // each element + }; + + /*--------------------------------------------------------*/ + + /* + ### Core functionality and API ### + */ + $.extend($.fn.MultiFile, { + /** + * This method removes all selected files + * + * Returns a jQuery collection of all affected elements. + * + * @name reset + * @type jQuery + * @cat Plugins/MultiFile + * @author Diego A. (http://www.fyneworks.com/) + * + * @example $.fn.MultiFile.reset(); + */ + reset: function(){ + var settings = $(this).data('MultiFile'); + //if(settings) settings.wrapper.find('a.MultiFile-remove').click(); + if(settings) settings.list.find('a.MultiFile-remove').click(); + return $(this); + }, + + + /** + * This utility makes it easy to disable all 'empty' file elements in the document before submitting a form. + * It marks the affected elements so they can be easily re-enabled after the form submission or validation. + * + * Returns a jQuery collection of all affected elements. + * + * @name disableEmpty + * @type jQuery + * @cat Plugins/MultiFile + * @author Diego A. (http://www.fyneworks.com/) + * + * @example $.fn.MultiFile.disableEmpty(); + * @param String class (optional) A string specifying a class to be applied to all affected elements - Default: 'mfD'. + */ + disableEmpty: function(klass){ klass = (typeof(klass)=='string'?klass:'')||'mfD'; + var o = []; + $('input:file.MultiFile').each(function(){ if($(this).val()=='') o[o.length] = this; }); + return $(o).each(function(){ this.disabled = true }).addClass(klass); + }, + + + /** + * This method re-enables 'empty' file elements that were disabled (and marked) with the $.fn.MultiFile.disableEmpty method. + * + * Returns a jQuery collection of all affected elements. + * + * @name reEnableEmpty + * @type jQuery + * @cat Plugins/MultiFile + * @author Diego A. (http://www.fyneworks.com/) + * + * @example $.fn.MultiFile.reEnableEmpty(); + * @param String klass (optional) A string specifying the class that was used to mark affected elements - Default: 'mfD'. + */ + reEnableEmpty: function(klass){ klass = (typeof(klass)=='string'?klass:'')||'mfD'; + return $('input:file.'+klass).removeClass(klass).each(function(){ this.disabled = false }); + }, + + + /** + * This method will intercept other jQuery plugins and disable empty file input elements prior to form submission + * + + * @name intercept + * @cat Plugins/MultiFile + * @author Diego A. (http://www.fyneworks.com/) + * + * @example $.fn.MultiFile.intercept(); + * @param Array methods (optional) Array of method names to be intercepted + */ + intercepted: {}, + intercept: function(methods, context, args){ + var method, value; args = args || []; + if(args.constructor.toString().indexOf("Array")<0) args = [ args ]; + if(typeof(methods)=='function'){ + $.fn.MultiFile.disableEmpty(); + value = methods.apply(context || window, args); + //SEE-http://code.google.com/p/jquery-multifile-plugin/issues/detail?id=27 + setTimeout(function(){ $.fn.MultiFile.reEnableEmpty() },1000); + return value; + }; + if(methods.constructor.toString().indexOf("Array")<0) methods = [methods]; + for(var i=0;i<methods.length;i++){ + method = methods[i]+''; // make sure that we have a STRING + if(method) (function(method){ // make sure that method is ISOLATED for the interception + $.fn.MultiFile.intercepted[method] = $.fn[method] || function(){}; + $.fn[method] = function(){ + $.fn.MultiFile.disableEmpty(); + value = $.fn.MultiFile.intercepted[method].apply(this, arguments); + //SEE-http://code.google.com/p/jquery-multifile-plugin/issues/detail?id=27 + setTimeout(function(){ $.fn.MultiFile.reEnableEmpty() },1000); + return value; + }; // interception + })(method); // MAKE SURE THAT method IS ISOLATED for the interception + };// for each method + } + }); + + /*--------------------------------------------------------*/ + + /* + ### Default Settings ### + eg.: You can override default control like this: + $.fn.MultiFile.options.accept = 'gif|jpg'; + */ + $.fn.MultiFile.options = { //$.extend($.fn.MultiFile, { options: { + accept: '', // accepted file extensions + max: -1, // maximum number of selectable files + + // name to use for newly created elements + namePattern: '$name', // same name by default (which creates an array) + + // STRING: collection lets you show messages in different languages + STRING: { + remove:'x', + denied:'You cannot select a $ext file.\nTry again...', + file:'$file', + selected:'File selected: $file', + duplicate:'This file has already been selected:\n$file' + }, + + // name of methods that should be automcatically intercepted so the plugin can disable + // extra file elements that are empty before execution and automatically re-enable them afterwards + autoIntercept: [ 'submit', 'ajaxSubmit', 'ajaxForm', 'validate' /* array of methods to intercept */ ], + + // error handling function + error: function(s){ + /* + ERROR! blockUI is not currently working in IE + if($.blockUI){ + $.blockUI({ + message: s.replace(/\n/gi,'<br/>'), + css: { + border:'none', padding:'15px', size:'12.0pt', + backgroundColor:'#900', color:'#fff', + opacity:'.8','-webkit-border-radius': '10px','-moz-border-radius': '10px' + } + }); + window.setTimeout($.unblockUI, 2000); + } + else//{// save a byte! + */ + alert(s); + //}// save a byte! + } + }; //} }); + + /*--------------------------------------------------------*/ + + /* + ### Additional Methods ### + Required functionality outside the plugin's scope + */ + + // Native input reset method - because this alone doesn't always work: $(element).val('').attr('value', '')[0].value = ''; + $.fn.reset = function(){ return this.each(function(){ try{ this.reset(); }catch(e){} }); }; + + /*--------------------------------------------------------*/ + + /* + ### Default implementation ### + The plugin will attach itself to file inputs + with the class 'multi' when the page loads + */ + $(function(){ + //$("input:file.multi").MultiFile(); + $("input[type=file].multi").MultiFile(); + }); + + + +/*# AVOID COLLISIONS #*/ +})(jQuery); +/*# AVOID COLLISIONS #*/ diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.pack.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.pack.js new file mode 100644 index 000000000..548dfadb5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.MultiFile.pack.js @@ -0,0 +1,11 @@ +/* + ### jQuery Multiple File Upload Plugin v1.46 - 2009-05-12 ### + * Home: http://www.fyneworks.com/jquery/multiple-file-upload/ + * Code: http://code.google.com/p/jquery-multifile-plugin/ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + ### +*/ +eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';3(U.1u)(6($){$.7.2=6(h){3(5.V==0)8 5;3(T S[0]==\'19\'){3(5.V>1){m i=S;8 5.M(6(){$.7.2.13($(5),i)})};$.7.2[S[0]].13(5,$.1N(S).27(1)||[]);8 5};m h=$.N({},$.7.2.F,h||{});$(\'2d\').1B(\'2-R\').Q(\'2-R\').1n($.7.2.Z);3($.7.2.F.15){$.7.2.1M($.7.2.F.15);$.7.2.F.15=10};5.1B(\'.2-1e\').Q(\'2-1e\').M(6(){U.2=(U.2||0)+1;m e=U.2;m g={e:5,E:$(5),L:$(5).L()};3(T h==\'21\')h={l:h};m o=$.N({},$.7.2.F,h||{},($.1m?g.E.1m():($.1S?g.E.17():10))||{},{});3(!(o.l>0)){o.l=g.E.D(\'28\');3(!(o.l>0)){o.l=(u(g.e.1D.B(/\\b(l|23)\\-([0-9]+)\\b/q)||[\'\']).B(/[0-9]+/q)||[\'\'])[0];3(!(o.l>0))o.l=-1;2b o.l=u(o.l).B(/[0-9]+/q)[0]}};o.l=18 2f(o.l);o.j=o.j||g.E.D(\'j\')||\'\';3(!o.j){o.j=(g.e.1D.B(/\\b(j\\-[\\w\\|]+)\\b/q))||\'\';o.j=18 u(o.j).t(/^(j|1d)\\-/i,\'\')};$.N(g,o||{});g.A=$.N({},$.7.2.F.A,g.A);$.N(g,{n:0,J:[],2c:[],1c:g.e.I||\'2\'+u(e),1i:6(z){8 g.1c+(z>0?\'1Z\'+u(z):\'\')},G:6(a,b){m c=g[a],k=$(b).D(\'k\');3(c){m d=c(b,k,g);3(d!=10)8 d}8 1a}});3(u(g.j).V>1){g.j=g.j.t(/\\W+/g,\'|\').t(/^\\W|\\W$/g,\'\');g.1k=18 2t(\'\\\\.(\'+(g.j?g.j:\'\')+\')$\',\'q\')};g.O=g.1c+\'1P\';g.E.1l(\'<P X="2-1l" I="\'+g.O+\'"></P>\');g.1q=$(\'#\'+g.O+\'\');g.e.H=g.e.H||\'p\'+e+\'[]\';3(!g.K){g.1q.1g(\'<P X="2-K" I="\'+g.O+\'1F"></P>\');g.K=$(\'#\'+g.O+\'1F\')};g.K=$(g.K);g.16=6(c,d){g.n++;c.2=g;3(d>0)c.I=c.H=\'\';3(d>0)c.I=g.1i(d);c.H=u(g.1j.t(/\\$H/q,$(g.L).D(\'H\')).t(/\\$I/q,$(g.L).D(\'I\')).t(/\\$g/q,e).t(/\\$i/q,d));3((g.l>0)&&((g.n-1)>(g.l)))c.14=1a;g.Y=g.J[d]=c;c=$(c);c.1b(\'\').D(\'k\',\'\')[0].k=\'\';c.Q(\'2-1e\');c.1V(6(){$(5).1X();3(!g.G(\'1Y\',5,g))8 y;m a=\'\',v=u(5.k||\'\');3(g.j&&v&&!v.B(g.1k))a=g.A.1o.t(\'$1d\',u(v.B(/\\.\\w{1,4}$/q)));1p(m f 2a g.J)3(g.J[f]&&g.J[f]!=5)3(g.J[f].k==v)a=g.A.1r.t(\'$p\',v.B(/[^\\/\\\\]+$/q));m b=$(g.L).L();b.Q(\'2\');3(a!=\'\'){g.1s(a);g.n--;g.16(b[0],d);c.1t().2e(b);c.C();8 y};$(5).1v({1w:\'1O\',1x:\'-1Q\'});c.1R(b);g.1y(5,d);g.16(b[0],d+1);3(!g.G(\'1T\',5,g))8 y});$(c).17(\'2\',g)};g.1y=6(c,d){3(!g.G(\'1U\',c,g))8 y;m r=$(\'<P X="2-1W"></P>\'),v=u(c.k||\'\'),a=$(\'<1z X="2-1A" 1A="\'+g.A.12.t(\'$p\',v)+\'">\'+g.A.p.t(\'$p\',v.B(/[^\\/\\\\]+$/q)[0])+\'</1z>\'),b=$(\'<a X="2-C" 2y="#\'+g.O+\'">\'+g.A.C+\'</a>\');g.K.1g(r.1g(b,\' \',a));b.1C(6(){3(!g.G(\'22\',c,g))8 y;g.n--;g.Y.14=y;g.J[d]=10;$(c).C();$(5).1t().C();$(g.Y).1v({1w:\'\',1x:\'\'});$(g.Y).11().1b(\'\').D(\'k\',\'\')[0].k=\'\';3(!g.G(\'24\',c,g))8 y;8 y});3(!g.G(\'25\',c,g))8 y};3(!g.2)g.16(g.e,0);g.n++;g.E.17(\'2\',g)})};$.N($.7.2,{11:6(){m a=$(5).17(\'2\');3(a)a.K.26(\'a.2-C\').1C();8 $(5)},Z:6(a){a=(T(a)==\'19\'?a:\'\')||\'1E\';m o=[];$(\'1h:p.2\').M(6(){3($(5).1b()==\'\')o[o.V]=5});8 $(o).M(6(){5.14=1a}).Q(a)},1f:6(a){a=(T(a)==\'19\'?a:\'\')||\'1E\';8 $(\'1h:p.\'+a).29(a).M(6(){5.14=y})},R:{},1M:6(b,c,d){m e,k;d=d||[];3(d.1G.1H().1I("1J")<0)d=[d];3(T(b)==\'6\'){$.7.2.Z();k=b.13(c||U,d);1K(6(){$.7.2.1f()},1L);8 k};3(b.1G.1H().1I("1J")<0)b=[b];1p(m i=0;i<b.V;i++){e=b[i]+\'\';3(e)(6(a){$.7.2.R[a]=$.7[a]||6(){};$.7[a]=6(){$.7.2.Z();k=$.7.2.R[a].13(5,S);1K(6(){$.7.2.1f()},1L);8 k}})(e)}}});$.7.2.F={j:\'\',l:-1,1j:\'$H\',A:{C:\'x\',1o:\'2g 2h 2i a $1d p.\\2j 2k...\',p:\'$p\',12:\'2l 12: $p\',1r:\'2m p 2n 2o 2p 12:\\n$p\'},15:[\'1n\',\'2q\',\'2r\',\'2s\'],1s:6(s){2u(s)}};$.7.11=6(){8 5.M(6(){2v{5.11()}2w(e){}})};$(6(){$("1h[2x=p].20").2()})})(1u);',62,159,'||MultiFile|if||this|function|fn|return|||||||||||accept|value|max|var|||file|gi|||replace|String||||false||STRING|match|remove|attr||options|trigger|name|id|slaves|list|clone|each|extend|wrapID|div|addClass|intercepted|arguments|typeof|window|length||class|current|disableEmpty|null|reset|selected|apply|disabled|autoIntercept|addSlave|data|new|string|true|val|instanceKey|ext|applied|reEnableEmpty|append|input|generateID|namePattern|rxAccept|wrap|metadata|submit|denied|for|wrapper|duplicate|error|parent|jQuery|css|position|top|addToList|span|title|not|click|className|mfD|_list|constructor|toString|indexOf|Array|setTimeout|1000|intercept|makeArray|absolute|_wrap|3000px|after|meta|afterFileSelect|onFileAppend|change|label|blur|onFileSelect|_F|multi|number|onFileRemove|limit|afterFileRemove|afterFileAppend|find|slice|maxlength|removeClass|in|else|files|form|prepend|Number|You|cannot|select|nTry|again|File|This|has|already|been|ajaxSubmit|ajaxForm|validate|RegExp|alert|try|catch|type|href'.split('|'),0,{})) \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.js new file mode 100644 index 000000000..2450e7c62 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.js @@ -0,0 +1,612 @@ +/* + * jQuery UI Autocomplete 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function( $, undefined ) { + +// used to prevent race conditions with remote data sources +var requestIndex = 0; + +$.widget( "ui.autocomplete", { + options: { + appendTo: "body", + autoFocus: false, + delay: 300, + minLength: 1, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + source: null + }, + + pending: 0, + + _create: function() { + var self = this, + doc = this.element[ 0 ].ownerDocument, + suppressKeyPress; + + this.element + .addClass( "ui-autocomplete-input" ) + .attr( "autocomplete", "off" ) + // TODO verify these actually work as intended + .attr({ + role: "textbox", + "aria-autocomplete": "list", + "aria-haspopup": "true" + }) + .bind( "keydown.autocomplete", function( event ) { + if ( self.options.disabled || self.element.propAttr( "readOnly" ) ) { + return; + } + + suppressKeyPress = false; + var keyCode = $.ui.keyCode; + switch( event.keyCode ) { + case keyCode.PAGE_UP: + self._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + self._move( "nextPage", event ); + break; + case keyCode.UP: + self._move( "previous", event ); + // prevent moving cursor to beginning of text field in some browsers + event.preventDefault(); + break; + case keyCode.DOWN: + self._move( "next", event ); + // prevent moving cursor to end of text field in some browsers + event.preventDefault(); + break; + case keyCode.ENTER: + case keyCode.NUMPAD_ENTER: + // when menu is open and has focus + if ( self.menu.active ) { + // #6055 - Opera still allows the keypress to occur + // which causes forms to submit + suppressKeyPress = true; + event.preventDefault(); + } + //passthrough - ENTER and TAB both select the current element + case keyCode.TAB: + if ( !self.menu.active ) { + return; + } + self.menu.select( event ); + break; + case keyCode.ESCAPE: + self.element.val( self.term ); + self.close( event ); + break; + default: + // keypress is triggered before the input value is changed + clearTimeout( self.searching ); + self.searching = setTimeout(function() { + // only search if the value has changed + if ( self.term != self.element.val() ) { + self.selectedItem = null; + self.search( null, event ); + } + }, self.options.delay ); + break; + } + }) + .bind( "keypress.autocomplete", function( event ) { + if ( suppressKeyPress ) { + suppressKeyPress = false; + event.preventDefault(); + } + }) + .bind( "focus.autocomplete", function() { + if ( self.options.disabled ) { + return; + } + + self.selectedItem = null; + self.previous = self.element.val(); + }) + .bind( "blur.autocomplete", function( event ) { + if ( self.options.disabled ) { + return; + } + + clearTimeout( self.searching ); + // clicks on the menu (or a button to trigger a search) will cause a blur event + self.closing = setTimeout(function() { + self.close( event ); + self._change( event ); + }, 150 ); + }); + this._initSource(); + this.response = function() { + return self._response.apply( self, arguments ); + }; + this.menu = $( "<ul></ul>" ) + .addClass( "ui-autocomplete" ) + .appendTo( $( this.options.appendTo || "body", doc )[0] ) + // prevent the close-on-blur in case of a "slow" click on the menu (long mousedown) + .mousedown(function( event ) { + // clicking on the scrollbar causes focus to shift to the body + // but we can't detect a mouseup or a click immediately afterward + // so we have to track the next mousedown and close the menu if + // the user clicks somewhere outside of the autocomplete + var menuElement = self.menu.element[ 0 ]; + if ( !$( event.target ).closest( ".ui-menu-item" ).length ) { + setTimeout(function() { + $( document ).one( 'mousedown', function( event ) { + if ( event.target !== self.element[ 0 ] && + event.target !== menuElement && + !$.ui.contains( menuElement, event.target ) ) { + self.close(); + } + }); + }, 1 ); + } + + // use another timeout to make sure the blur-event-handler on the input was already triggered + setTimeout(function() { + clearTimeout( self.closing ); + }, 13); + }) + .menu({ + focus: function( event, ui ) { + var item = ui.item.data( "item.autocomplete" ); + if ( false !== self._trigger( "focus", event, { item: item } ) ) { + // use value to match what will end up in the input, if it was a key event + if ( /^key/.test(event.originalEvent.type) ) { + self.element.val( item.value ); + } + } + }, + selected: function( event, ui ) { + var item = ui.item.data( "item.autocomplete" ), + previous = self.previous; + + // only trigger when focus was lost (click on menu) + if ( self.element[0] !== doc.activeElement ) { + self.element.focus(); + self.previous = previous; + // #6109 - IE triggers two focus events and the second + // is asynchronous, so we need to reset the previous + // term synchronously and asynchronously :-( + setTimeout(function() { + self.previous = previous; + self.selectedItem = item; + }, 1); + } + + if ( false !== self._trigger( "select", event, { item: item } ) ) { + self.element.val( item.value ); + } + // reset the term after the select event + // this allows custom select handling to work properly + self.term = self.element.val(); + + self.close( event ); + self.selectedItem = item; + }, + blur: function( event, ui ) { + // don't set the value of the text field if it's already correct + // this prevents moving the cursor unnecessarily + if ( self.menu.element.is(":visible") && + ( self.element.val() !== self.term ) ) { + self.element.val( self.term ); + } + } + }) + .zIndex( this.element.zIndex() + 1 ) + // workaround for jQuery bug #5781 http://dev.jquery.com/ticket/5781 + .css({ top: 0, left: 0 }) + .hide() + .data( "menu" ); + if ( $.fn.bgiframe ) { + this.menu.element.bgiframe(); + } + }, + + destroy: function() { + this.element + .removeClass( "ui-autocomplete-input" ) + .removeAttr( "autocomplete" ) + .removeAttr( "role" ) + .removeAttr( "aria-autocomplete" ) + .removeAttr( "aria-haspopup" ); + this.menu.element.remove(); + $.Widget.prototype.destroy.call( this ); + }, + + _setOption: function( key, value ) { + $.Widget.prototype._setOption.apply( this, arguments ); + if ( key === "source" ) { + this._initSource(); + } + if ( key === "appendTo" ) { + this.menu.element.appendTo( $( value || "body", this.element[0].ownerDocument )[0] ) + } + if ( key === "disabled" && value && this.xhr ) { + this.xhr.abort(); + } + }, + + _initSource: function() { + var self = this, + array, + url; + if ( $.isArray(this.options.source) ) { + array = this.options.source; + this.source = function( request, response ) { + response( $.ui.autocomplete.filter(array, request.term) ); + }; + } else if ( typeof this.options.source === "string" ) { + url = this.options.source; + this.source = function( request, response ) { + if ( self.xhr ) { + self.xhr.abort(); + } + self.xhr = $.ajax({ + url: url, + data: request, + dataType: "json", + autocompleteRequest: ++requestIndex, + success: function( data, status ) { + if ( this.autocompleteRequest === requestIndex ) { + response( data ); + } + }, + error: function() { + if ( this.autocompleteRequest === requestIndex ) { + response( [] ); + } + } + }); + }; + } else { + this.source = this.options.source; + } + }, + + search: function( value, event ) { + value = value != null ? value : this.element.val(); + + // always save the actual value, not the one passed as an argument + this.term = this.element.val(); + + if ( value.length < this.options.minLength ) { + return this.close( event ); + } + + clearTimeout( this.closing ); + if ( this._trigger( "search", event ) === false ) { + return; + } + + return this._search( value ); + }, + + _search: function( value ) { + this.pending++; + this.element.addClass( "ui-autocomplete-loading" ); + + this.source( { term: value }, this.response ); + }, + + _response: function( content ) { + if ( !this.options.disabled && content && content.length ) { + content = this._normalize( content ); + this._suggest( content ); + this._trigger( "open" ); + } else { + this.close(); + } + this.pending--; + if ( !this.pending ) { + this.element.removeClass( "ui-autocomplete-loading" ); + } + }, + + close: function( event ) { + clearTimeout( this.closing ); + if ( this.menu.element.is(":visible") ) { + this.menu.element.hide(); + this.menu.deactivate(); + this._trigger( "close", event ); + } + }, + + _change: function( event ) { + if ( this.previous !== this.element.val() ) { + this._trigger( "change", event, { item: this.selectedItem } ); + } + }, + + _normalize: function( items ) { + // assume all items have the right format when the first item is complete + if ( items.length && items[0].label && items[0].value ) { + return items; + } + return $.map( items, function(item) { + if ( typeof item === "string" ) { + return { + label: item, + value: item + }; + } + return $.extend({ + label: item.label || item.value, + value: item.value || item.label + }, item ); + }); + }, + + _suggest: function( items ) { + var ul = this.menu.element + .empty() + .zIndex( this.element.zIndex() + 1 ); + this._renderMenu( ul, items ); + // TODO refresh should check if the active item is still in the dom, removing the need for a manual deactivate + this.menu.deactivate(); + this.menu.refresh(); + + // size and position menu + ul.show(); + this._resizeMenu(); + ul.position( $.extend({ + of: this.element + }, this.options.position )); + + if ( this.options.autoFocus ) { + this.menu.next( new $.Event("mouseover") ); + } + }, + + _resizeMenu: function() { + var ul = this.menu.element; + ul.outerWidth( Math.max( + ul.width( "" ).outerWidth(), + this.element.outerWidth() + ) ); + }, + + _renderMenu: function( ul, items ) { + var self = this; + $.each( items, function( index, item ) { + self._renderItem( ul, item ); + }); + }, + + _renderItem: function( ul, item) { + return $( "<li></li>" ) + .data( "item.autocomplete", item ) + .append( $( "<a></a>" ).text( item.label ) ) + .appendTo( ul ); + }, + + _move: function( direction, event ) { + if ( !this.menu.element.is(":visible") ) { + this.search( null, event ); + return; + } + if ( this.menu.first() && /^previous/.test(direction) || + this.menu.last() && /^next/.test(direction) ) { + this.element.val( this.term ); + this.menu.deactivate(); + return; + } + this.menu[ direction ]( event ); + }, + + widget: function() { + return this.menu.element; + } +}); + +$.extend( $.ui.autocomplete, { + escapeRegex: function( value ) { + return value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }, + filter: function(array, term) { + var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" ); + return $.grep( array, function(value) { + return matcher.test( value.label || value.value || value ); + }); + } +}); + +}( jQuery )); + +/* + * jQuery UI Menu (not officially released) + * + * This widget isn't yet finished and the API is subject to change. We plan to finish + * it for the next release. You're welcome to give it a try anyway and give us feedback, + * as long as you're okay with migrating your code later on. We can help with that, too. + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function($) { + +$.widget("ui.menu", { + _create: function() { + var self = this; + this.element + .addClass("ui-menu ui-widget ui-widget-content ui-corner-all") + .attr({ + role: "listbox", + "aria-activedescendant": "ui-active-menuitem" + }) + .click(function( event ) { + if ( !$( event.target ).closest( ".ui-menu-item a" ).length ) { + return; + } + // temporary + event.preventDefault(); + self.select( event ); + }); + this.refresh(); + }, + + refresh: function() { + var self = this; + + // don't refresh list items that are already adapted + var items = this.element.children("li:not(.ui-menu-item):has(a)") + .addClass("ui-menu-item") + .attr("role", "menuitem"); + + items.children("a") + .addClass("ui-corner-all") + .attr("tabindex", -1) + // mouseenter doesn't work with event delegation + .mouseenter(function( event ) { + self.activate( event, $(this).parent() ); + }) + .mouseleave(function() { + self.deactivate(); + }); + }, + + activate: function( event, item ) { + this.deactivate(); + if (this.hasScroll()) { + var offset = item.offset().top - this.element.offset().top, + scroll = this.element.scrollTop(), + elementHeight = this.element.height(); + if (offset < 0) { + this.element.scrollTop( scroll + offset); + } else if (offset >= elementHeight) { + this.element.scrollTop( scroll + offset - elementHeight + item.height()); + } + } + this.active = item.eq(0) + .children("a") + .addClass("ui-state-hover") + .attr("id", "ui-active-menuitem") + .end(); + this._trigger("focus", event, { item: item }); + }, + + deactivate: function() { + if (!this.active) { return; } + + this.active.children("a") + .removeClass("ui-state-hover") + .removeAttr("id"); + this._trigger("blur"); + this.active = null; + }, + + next: function(event) { + this.move("next", ".ui-menu-item:first", event); + }, + + previous: function(event) { + this.move("prev", ".ui-menu-item:last", event); + }, + + first: function() { + return this.active && !this.active.prevAll(".ui-menu-item").length; + }, + + last: function() { + return this.active && !this.active.nextAll(".ui-menu-item").length; + }, + + move: function(direction, edge, event) { + if (!this.active) { + this.activate(event, this.element.children(edge)); + return; + } + var next = this.active[direction + "All"](".ui-menu-item").eq(0); + if (next.length) { + this.activate(event, next); + } else { + this.activate(event, this.element.children(edge)); + } + }, + + // TODO merge with previousPage + nextPage: function(event) { + if (this.hasScroll()) { + // TODO merge with no-scroll-else + if (!this.active || this.last()) { + this.activate(event, this.element.children(".ui-menu-item:first")); + return; + } + var base = this.active.offset().top, + height = this.element.height(), + result = this.element.children(".ui-menu-item").filter(function() { + var close = $(this).offset().top - base - height + $(this).height(); + // TODO improve approximation + return close < 10 && close > -10; + }); + + // TODO try to catch this earlier when scrollTop indicates the last page anyway + if (!result.length) { + result = this.element.children(".ui-menu-item:last"); + } + this.activate(event, result); + } else { + this.activate(event, this.element.children(".ui-menu-item") + .filter(!this.active || this.last() ? ":first" : ":last")); + } + }, + + // TODO merge with nextPage + previousPage: function(event) { + if (this.hasScroll()) { + // TODO merge with no-scroll-else + if (!this.active || this.first()) { + this.activate(event, this.element.children(".ui-menu-item:last")); + return; + } + + var base = this.active.offset().top, + height = this.element.height(); + result = this.element.children(".ui-menu-item").filter(function() { + var close = $(this).offset().top - base + height - $(this).height(); + // TODO improve approximation + return close < 10 && close > -10; + }); + + // TODO try to catch this earlier when scrollTop indicates the last page anyway + if (!result.length) { + result = this.element.children(".ui-menu-item:first"); + } + this.activate(event, result); + } else { + this.activate(event, this.element.children(".ui-menu-item") + .filter(!this.active || this.first() ? ":last" : ":first")); + } + }, + + hasScroll: function() { + return this.element.height() < this.element[ $.fn.prop ? "prop" : "attr" ]("scrollHeight"); + }, + + select: function( event ) { + this._trigger("selected", event, { item: this.active }); + } +}); + +}(jQuery)); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.min.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.min.js new file mode 100644 index 000000000..fafc380e5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jquery.ui.autocomplete.min.js @@ -0,0 +1,32 @@ +/* + * jQuery UI Autocomplete 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close(); +this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label|| +b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this; +d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, +this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/directory.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/directory.png new file mode 100644 index 0000000000000000000000000000000000000000..784e8fa48234f4f64b6922a6758f254ee0ca08ec GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfpN8`i(`nz>7$c(cZoQP zwC#WORx)~HJF9C+Ad7IidAZ{aA7|nD2abdbFgqGt5x;Qez?lF8VZ#rMVrNCn3k2_e zHL|__cHKIw{f^s>laq`Z)mJ_$`1k(KsyQlQ8(TzkQysWIJbXI!?wajepWZR@4|(kW z+fXFD@s<8m=7g%B$9_*>vQYiYZS8M;&N4vxn5EOt$CnPiYp&fI*RVCuzw7J6C$C>y zANVZNut4bZ@m2Z#oprpE<jy@!k-mQ8M%@ipCZ3drf|DmV%g4XD6VH$}{e;cM@`;?* zzkF<M6N-Mc`IYg7G*>QRVEOd#uHL5Z&yo+OL|Pm=?@;GuD>w0b{=~Vra-{zSH_qa^ zRNCRWi{T3A%a6uu^6$-K=Q{jH-036NQAI9i5jPFL6X)(Xd+9K$92J_qH@oSvL@U#3 zb`3s7k+t<Lk3>Qo_il01QsIvHyZ59>yN1Zy+6!rNXBmTL=x<}JI4KzT<0@CT>&?QB zLluhKHf0*?Fh0o@NVE69GC8mBY3CKj(~ipn*D&-?dRF48GHvOTwNVVGUR}I5dG_s& t*A}1Z_r)^4TYLP=n#c$L|Ml)?+}9yr|M2!KKL!Q{22WQ%mvv4FO#nTH?>PVf literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/folder_open.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/folder_open.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3548352fc4a82e91ebc7e79907565e40aae457 GIT binary patch literal 583 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGf$^rNi(^Q|ts}wvvqc<5 z{-wRo+pKsmu};BIDp1geNmE$JLc2NCK_EEl*dNv~rvq*mPPyq^o;5|>DTrmGs1B2- zD6jg?AFua3HhXsN&bc?|KA(N_YUhHhqI`Sin(uyJd;j;nJ)$lxdDEKp!ml$#e!g*k z#;uQB!op5}I^8+^__P9Fod2Zgk;?fyCwBgQUfl+T^qeg_CJ8&uu$j&C?Qq%KSJ&sd zi+bIgHMNl2W#TF``~6i1j+=5fOt^JnllqTOOcT#+*ueDs`NQ5jM^1bZ7T<PpR^k>` z@pCgDmM?u&#O}b^zU4_u-&K~{s*bFmrW=0$iN6%9e%<`TZuT_?FF(|L!hdYK?v>Ng zI|6Fh@(XMP|Ey-}(mpZo=<lo2bJd(IPkfuVIj^=}_WHZL;u&e7@`AtKxF26|;YRtl z*&p=meC{)e^ao#YdwbS9X5VI>r};%2_}5CA%?wPMaDrh=KwRvR2Tv}=u`4`yRFV;^ zyI-}Z?u?YF(6bw>M6VzF>VJ3lRY?`kFNvv))1Qf3?%)gBTCx3_$AO-?4SY&z`{TVl z6;?{0c(^BPmyXSQfu}pB*wjlTg&8{wJz?Rz8-2LWn)d?VJguLZzcSu_lrgvczrFhO smv7Z+?{^yod+|Q4|1Vw7Wx#OD{@2<~DZAG(FfcH9y85}Sb4q9e023Sv=>Px# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/spinner.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/images/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..85b99d46b9911ba53a792d716d9f688f3bb3c784 GIT binary patch literal 2530 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 E0Pke+0ssI2 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.css new file mode 100644 index 000000000..39b5770cf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.css @@ -0,0 +1,81 @@ +#file_browser { + border: 2px solid #999; + height: 200px; + overflow: auto; + padding: 4px 8px; + background: #fff; + margin: 4px 0px; + width: 350px; + position:relative; + display:none; +} +.browsefiles {margin-left:5px;} + +ul.jqueryDirTree { + font-family: Verdana, sans-serif; + font-size: 11px; + line-height: 18px; + padding: 0px; + margin: 0px; +} + +ul.jqueryDirTree li { + list-style: none; + padding: 2px 0px; + padding-left: 20px; + margin: 0px; + white-space: nowrap; +} + +ul.jqueryDirTree a { + color: #333; + text-decoration: none; + display: block; + padding: 0px 2px; +} + +ul.jqueryDirTree a:hover { + background: #bdf; +} +ul.jqueryDirTree li.active a { + background: #bdf; +} +ul.jqueryDirTree li.active li a { + background: none; +} +ul.jqueryDirTree li.active li a:hover { + background: #bdf; +} + +/* Core Styles */ +.jqueryDirTree li.directory { background: url(images/directory.png) left top no-repeat; } +.jqueryDirTree li.expanded { background: url(images/folder_open.png) left top no-repeat; } +.jqueryDirTree li.file { background: url(images/file.png) left top no-repeat; } +.jqueryDirTree li.wait { background: url(images/spinner.gif) left top no-repeat; } +/* File Extensions*/ +.jqueryDirTree li.ext_3gp { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_avi { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_bat { background: url(images/application.png) left top no-repeat; } +.jqueryDirTree li.ext_bmp { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_com { background: url(images/application.png) left top no-repeat; } +.jqueryDirTree li.ext_exe { background: url(images/application.png) left top no-repeat; } +.jqueryDirTree li.ext_gif { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_fla { background: url(images/flash.png) left top no-repeat; } +.jqueryDirTree li.ext_jpg { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_jpeg { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_m4p { background: url(images/music.png) left top no-repeat; } +.jqueryDirTree li.ext_mov { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_mp3 { background: url(images/music.png) left top no-repeat; } +.jqueryDirTree li.ext_mp4 { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_mpg { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_mpeg { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_ogg { background: url(images/music.png) left top no-repeat; } +.jqueryDirTree li.ext_pcx { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_pdf { background: url(images/pdf.png) left top no-repeat; } +.jqueryDirTree li.ext_png { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_swf { background: url(images/flash.png) left top no-repeat; } +.jqueryDirTree li.ext_tif { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_tiff { background: url(images/picture.png) left top no-repeat; } +.jqueryDirTree li.ext_wav { background: url(images/music.png) left top no-repeat; } +.jqueryDirTree li.ext_wmv { background: url(images/film.png) left top no-repeat; } +.jqueryDirTree li.ext_zip { background: url(images/zip.png) left top no-repeat; } \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.js new file mode 100644 index 000000000..79fb67942 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/jqueryFileTree/jqueryFileTree.js @@ -0,0 +1,98 @@ +// jQuery File Tree Plugin +// +// Version 1.01 +// +// Cory S.N. LaViska +// A Beautiful Site (http://abeautifulsite.net/) +// 24 March 2008 +// +// Visit http://abeautifulsite.net/notebook.php?article=58 for more information +// +// Usage: $('.fileTreeDemo').fileTree( options, callback ) +// +// Options: root - root folder to display; default = / +// script - location of the serverside AJAX file to use; default = jqueryFileTree.php +// folderEvent - event to trigger expand/collapse; default = click +// expandSpeed - default = 500 (ms); use -1 for no animation +// collapseSpeed - default = 500 (ms); use -1 for no animation +// expandEasing - easing function to use on expand (optional) +// collapseEasing - easing function to use on collapse (optional) +// multiFolder - whether or not to limit the browser to one subfolder at a time +// loadMessage - Message to display while initial tree loads (can be HTML) +// +// History: +// +// 1.01 - updated to work with foreign characters in directory/file names (12 April 2008) +// 1.00 - released (24 March 2008) +// +// TERMS OF USE +// +// This plugin is dual-licensed under the GNU General Public License and the MIT License and +// is copyright 2008 A Beautiful Site, LLC. +// +if(jQuery) (function($){ + + $.extend($.fn, { + fileTree: function(o, h) { + // Defaults + if( !o ) var o = {}; + if( o.root == undefined ) o.root = '/'; + if( o.script == undefined ) o.script = 'jqueryFileTree.php'; + if( o.folderEvent == undefined ) o.folderEvent = 'dblclick'; + if( o.expandSpeed == undefined ) o.expandSpeed= 200; + if( o.collapseSpeed == undefined ) o.collapseSpeed= 500; + if( o.expandEasing == undefined ) o.expandEasing = null; + if( o.collapseEasing == undefined ) o.collapseEasing = null; + if( o.multiFolder == undefined ) o.multiFolder = true; + if( o.loadMessage == undefined ) o.loadMessage = 'Loading...'; + + $(this).each( function() { + + function showTree(c, t) { + $(c).addClass('wait'); + $(".jqueryFileTree.start").remove(); + $.post(o.script, { dir: t }, function(data) { + $(c).find('.start').html(''); + $(c).removeClass('wait').append(data); + if( o.root == t ) + $(c).find('UL:hidden').show(); + else + $(c).find('UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing }); + bindTree(c); + }); + } + + function bindTree(t) { + $(t).find('li a').bind(o.folderEvent, function() { + if( $(this).parent().hasClass('collapsed') ) { + // Expand + if( !o.multiFolder ) { + $(this).parent().parent().find('ul').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); + $(this).parent().parent().find('li.directory').removeClass('expanded').addClass('collapsed'); + } + $(this).parent().find('ul').remove(); // cleanup + showTree( $(this).parent(), escape($(this).attr('rel').match( /.*\// )) ); + $(this).parent().removeClass('collapsed').addClass('expanded'); + } else { + // Collapse + $(this).parent().find('ul').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); + $(this).parent().removeClass('expanded').addClass('collapsed'); + } + return false; + }); + $(t).find('li a').bind('click', function() { + h($(this).attr('rel')); + $(this).parents('#file_browser').find('.active').removeClass('active'); + $(this).parent().addClass('active'); + return false; + }); + } + // Loading message + $(this).html('<ul class="jqueryFileTree start"><li class="wait">' + o.loadMessage + '<li></ul>'); + // Get the initial file list + showTree( $(this), escape(o.root) ); + }); + } + }); + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.js new file mode 100644 index 000000000..e23799cc6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.ajax.js @@ -0,0 +1,127 @@ +/* + * Ajax Plugin for NextGEN gallery + * Version: 1.4.1 + * Author : Alex Rabe + * + */ +(function($) { +nggAjax = { + settings: { + url: nggAjaxSetup.url, + type: "POST", + action: nggAjaxSetup.action, + operation : nggAjaxSetup.operation, + nonce: nggAjaxSetup.nonce, + ids: nggAjaxSetup.ids, + permission: nggAjaxSetup.permission, + error: nggAjaxSetup.error, + failure: nggAjaxSetup.failure, + timeout: 10000 + }, + + run: function( index ) { + s = this.settings; + var req = $.ajax({ + type: "POST", + url: s.url, + data:"action=" + s.action + "&operation=" + s.operation + "&_wpnonce=" + s.nonce + "&image=" + s.ids[index], + cache: false, + timeout: 10000, + success: function(msg){ + switch ( parseInt(msg) ) { + case -1: + nggProgressBar.addNote( nggAjax.settings.permission ); + break; + case 0: + nggProgressBar.addNote( nggAjax.settings.error ); + break; + case 1: + // show nothing, its better + break; + default: + // Return the message + nggProgressBar.addNote( "<strong>ID " + nggAjax.settings.ids[index] + ":</strong> " + nggAjax.settings.failure, msg ); + break; + } + + }, + error: function (jqXHR, textStatus, errorThrown) { + var msg = jqXHR.responseText; + + if (msg == '') { + msg = '( ' + errorThrown + ' )'; + } + nggProgressBar.addNote( "<strong>ID " + nggAjax.settings.ids[index] + ":</strong> " + nggAjax.settings.failure, msg); + }, + complete: function () { + index++; + nggProgressBar.increase( index ); + // parse the whole array + if (index < nggAjax.settings.ids.length) + nggAjax.run( index ); + else + nggProgressBar.finished(); + } + }); + }, + + readIDs: function( index ) { + s = this.settings; + var req = $.ajax({ + type: "POST", + url: s.url, + data:"action=" + s.action + "&operation=" + s.operation + "&_wpnonce=" + s.nonce + "&image=" + s.ids[index], + dataType: "json", + cache: false, + timeout: 10000, + success: function(msg){ + // join the array + imageIDS = imageIDS.concat(msg); + }, + error: function (msg) { + nggProgressBar.addNote( "<strong>ID " + nggAjax.settings.ids[index] + ":</strong> " + nggAjax.settings.failure, msg.responseText ); + }, + complete: function () { + index++; + nggProgressBar.increase( index ); + // parse the whole array + if (index < nggAjax.settings.ids.length) + nggAjax.readIDs( index ); + else { + // and now run the image operation + index = 0; + nggAjax.settings.ids = imageIDS; + nggAjax.settings.operation = nextOperation; + nggAjax.settings.maxStep = imageIDS.length; + nggProgressBar.init( nggAjax.settings ); + nggAjax.run( index ); + } + } + }); + }, + + init: function( s ) { + if (this.inited) + return; + + var index = 0; + + // get the settings + this.settings = $.extend( {}, this.settings, {}, s || {} ); + + // a gallery operation need first all image ids via ajax + if ( this.settings.operation.substring(0, 8) == 'gallery_' ) { + nextOperation = this.settings.operation.substring(8); + //first run, get all the ids + this.settings.operation = 'get_image_ids'; + imageIDS = new Array(); + this.readIDs( index ); + } else { + // start the ajax process + this.run( index ); + } + + this.inited = true; + } + } +}(jQuery)); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.autocomplete.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.autocomplete.js new file mode 100644 index 000000000..7d697518c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.autocomplete.js @@ -0,0 +1,77 @@ +/* + * Implementation of jQuery UI Autocomplete + * see http://jqueryui.com/demos/autocomplete/ + * Version: 1.0.1 + * Author : Alex Rabe + * + */ +jQuery.fn.nggAutocomplete = function ( args ) { + + var defaults = { type: 'image', + domain: '', + limit: 50 }; + + var s = jQuery.extend( {}, defaults, args); + + var settings = { method: 'autocomplete', + type: s.type, + format: 'json', + callback: 'json', + limit: s.limit }; + + var obj = this.selector; + var id = jQuery(this).attr('id'); + var cache = {}, lastXhr; + + // get current value of drop down field + var c_text = jQuery(obj + ' :selected').text(); + var c_val = jQuery(obj).val(); + // IE7 / IE 8 didnt get often the correct width + if (s.width == undefined) + var c_width = jQuery(this).width(); + else + var c_width = s.width; + //hide first the drop down field + jQuery(obj).hide(); + jQuery(obj).after('<input name="' + id + '_ac" type="text" id="' + id + '_ac"/>'); + // Fill up current value & style + jQuery(obj + "_ac").val(c_text); + jQuery(obj + "_ac").css('width', c_width); + // Add the dropdown icon + jQuery(obj + "_ac").addClass('ui-autocomplete-start'); + jQuery(obj + "_ac").autocomplete({ + source: function( request, response ) { + var term = request.term; + if ( term in cache ) { + response( cache[ term ] ); + return; + } + // adding more $_GET parameter + request = jQuery.extend( {}, settings, request); + lastXhr = jQuery.getJSON( s.domain, request, function( data, status, xhr ) { + // add term to cache + cache[ term ] = data; + if ( xhr === lastXhr ) + response( data ); + }); + }, + minLength: 0, + select: function( event, ui ) { + // adding this to the dropdown list + jQuery(obj).append( new Option(ui.item.label, ui.item.id) ); + // now select it + jQuery(obj).val(ui.item.id); + jQuery(obj + "_ac").removeClass('ui-autocomplete-start'); + } + }); + + jQuery(obj + "_ac").click(function() { + + var search = jQuery(obj + "_ac").val(); + // if the value is prefilled, we pass a empty string + if ( search == c_text) + search = ''; + // pass empty string as value to search for, displaying all results + jQuery(obj + "_ac").autocomplete('search', search ); + }); +}; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.progressbar.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.progressbar.js new file mode 100644 index 000000000..14f0838ed --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg.progressbar.js @@ -0,0 +1,140 @@ +/* + * Progress bar Plugin for NextGEN gallery + * Version: 2.0.3 + * Author : Alex Rabe + * + */ +(function($) { + nggProgressBar = { + + settings: { + id: 'progressbar', + maxStep: 100, + wait: false, + header: '', + init:false + }, + + init: function( s ) { + s = this.settings = $.extend( {}, this.settings, {}, s || {} ); + width = Math.round( ( 100 / s.maxStep ) * 100 ) /100; + // add the initial progressbar + if ( $( "#" + s.id + "_dialog" ).length == 0) { + s.header = (s.header.length > 0) ? s.header : '' ; + $("body").append('<div id="' + s.id + '_dialog"><div id="' + s.id + '" class="progressborder"><div class="' + s.id + '"><span>0%</span></div></div></div>'); + // we open the dialog + $( "#" + s.id + "_dialog" ).dialog({ + width: 640, + resizable : true, + modal: true, + title: s.header, + position: { + my: 'center', + at: 'center', + of: this.find_parent(window) + } + }); + } + // get the pointer to the dialog + this.div = $('#' + s.id + '_dialog'); + s.init = true; + }, + + /** + * Finds the parent window for the current child window + */ + find_parent: function(child){ + var retval = child; + try { + if (retval && retval.parent) + retval = retval.parent; + } + catch (Exception){ + } + return retval; + }, + + addMessage: function( message ) { + s = this.settings; + if (!s.init) this.init(); + var div = this.div; + if ( div.find("#" + s.id + "_message").length == 0) + div.append('<div class="' + s.id + '_message"><span style="display:block" id="' + s.id + '_message">' + message + '</span></div>'); + else + $("#" + s.id + "_message").html( message ); + }, + + addNote: function( note, detail ) { + s = this.settings; + if (!s.init) this.init(); + var div = this.div; + s.wait = true; + if ( div.find("#" + s.id + "_note").length == 0) + div.append('<ul id="' + s.id + '_note"> </ul>'); + + if (detail) + $("#" + s.id + "_note").append("<li>" + note + "<div class='show_details'><span>[more]</span><br />" + detail + "</div></li>"); + else + $("#" + s.id + "_note").append("<li>" + note + "</li>"); + // increase the height to show the note + div.dialog("option", "height", 220); + }, + + increase: function( step ) { + s = this.settings; + var value = step * width + "%"; + var rvalue = Math.round (step * width) + "%" ; + $("#" + s.id + " div").width( value ); + $("#" + s.id + " span").html( rvalue ); + + // Try to restore ATP tabs + $(this.find_parent(window).document).scrollTop(0); + var tinymce_frame = $(this.find_parent(window).frameElement).parent(); + var css_top = tinymce_frame.css('top'); + setTimeout(function(){ + tinymce_frame.css('top', 0); + }, 1); + setTimeout(function(){ + tinymce_frame.css('top', css_top); + }, 3); + }, + + finished: function() { + s = this.settings; + $("#" + s.id + " div").width( '100%' ); + $("#" + s.id + " span").html( '100%' ); + // in the case we add a note , we should wait for a click + var div = this.div; + var progressBar = this; + if (s.wait) { + $("#" + s.id).delay(1000).hide("slow"); + div.click(function () { + progressBar.remove_dialog(false, 0); + }); + } + else { + window.setTimeout(function() { + progressBar.remove_dialog(true, 1); + }, 1000); + } + }, + + remove_dialog: function(delay, value){ + // Destroy the dialog + if (delay) + $("#" + s.id + "_dialog" ).delay(4000).dialog("destroy"); + else + $("#" + s.id + "_dialog").dialog("destroy"); + + // Remove the dialog element + $("#" + s.id + "_dialog").remove(); + + // In the case it's the manage page, force a submit + $('.nggform').prepend("<input type=\"hidden\" name=\"ajax_callback\" value=\""+value+"\">"); + if (delay) + $('.nggform').delay(4000).submit(); + else + $('.nggform').submit(); + } + }; +})(jQuery); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg_social_media.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg_social_media.js new file mode 100644 index 000000000..b4d496b58 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/ngg_social_media.js @@ -0,0 +1,8 @@ +!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); +(function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; + fjs.parentNode.insertBefore(js, fjs); +}(document, 'script', 'facebook-jssdk')); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/plupload.handler.js b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/plupload.handler.js new file mode 100644 index 000000000..3d8f5b9a7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/js/plupload.handler.js @@ -0,0 +1,247 @@ +/** + * NextGEN Gallery - plupload Handlers + * + * Built on top of the plupload library + * http://www.plupload.com version 1.4.2 + * + * version 1.0.0 + */ + +// on load change the upload to plupload +function initUploader() { + + jQuery(document).ready(function($){ + + /* Not working in chrome, needs rework + var dropElm = jQuery('#' + uploader.settings.drop_element); + if (dropElm.length && uploader.features.dragdrop) { + dropElm.bind('dragenter', function() { + jQuery(this).css('border', '3px dashed #cccccc'); + }); + dropElm.bind('dragout drop', function() { + jQuery(this).css('border', 'none'); + }); + }*/ + + // enable or disable the resize feature + jQuery('#image_resize').bind('change', function() { + var arg = jQuery(this).prop('checked'); + setResize( arg ); + + if ( arg ) + setUserSetting('ngg_upload_resize', '1'); + else + deleteUserSetting('ngg_upload_resize'); + }); + + // get user settings from cookie + setResize( getUserSetting('ngg_upload_resize', false) ); + + if ( uploader.features.dragdrop ) + jQuery('.ngg-dragdrop-info').show(); + + jQuery("#uploadimage_btn").after("<input class='button-primary' type='button' name='uploadimage' id='plupload_btn' value='" + uploader.settings.i18n.upload + "' />") + .remove(); + jQuery("#plupload_btn").click( function() { uploader.start(); } ); + }); +} + +// called when a file is added +function fileQueued( fileObj ) { + debug('[FilesAdded]', fileObj); + + filesize = " (" + plupload.formatSize(fileObj.size) + ") "; + jQuery("#txtFileName").val(fileObj.name); + jQuery("#uploadQueue") + .append("<div id='" + fileObj.id + "' class='nggUploadItem'> [<a href=''>" + uploader.settings.i18n.remove + "</a>] " + fileObj.name + filesize + "</div>") + .children("div:last").slideDown("slow") + .end(); + jQuery('#' + fileObj.id + ' a').click(function(e) { + jQuery('#' + fileObj.id).remove(); + uploader.removeFile(fileObj); + e.preventDefault(); + }); +} + +// called before the uploads start +function uploadStart(fileObj) { + debug('[uploadStart]'); + nggProgressBar.init(nggAjaxOptions); + // check if a gallery is selected + if (jQuery('#galleryselect').val() > "0") { + debug('[gallery selected]'); + // update the selected gallery in the post_params + uploader.settings.multipart_params.galleryselect = jQuery('#galleryselect').val(); + } else { + debug('[gallery not selected]'); + jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"-1\">"); + jQuery("#uploadimage_form").submit(); + } + return true; +} + +// called during the upload progress +function uploadProgress(fileObj, bytesDone, bytesTotal) { + var percent = 100; + if (bytesTotal != undefined) + percent = Math.ceil((bytesDone / bytesTotal) * 100); + debug('[uploadProgress]', fileObj.name + ' : ' + percent + "%"); + nggProgressBar.increase( percent ); + jQuery("#progressbar span").text(percent + "% - " + fileObj.name); +} + +// called when all files are uploaded +function uploadComplete(fileObj) { + debug('[uploadComplete]'); + + // Upload the next file until queue is empty + if ( uploader.total.queued == 0) { + //TODO: we submit here no error code + jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"0\">"); + nggProgressBar.finished(); + jQuery("#uploadimage_form").submit(); + } +} + +// called when the file is uploaded +function uploadSuccess(fileObj, serverData) { + debug('[uploadSuccess]', serverData); + + if (serverData.response != 0 && serverData.response != '<pre>0</pre>') + nggProgressBar.addNote("<strong>ERROR</strong>: " + fileObj.name + " : " + serverData.response); + + jQuery("#" + fileObj.id).hide("slow"); + jQuery("#" + fileObj.id).remove(); +} + +function cancelUpload() { + uploader.stop(); + jQuery.each(uploader.files, function(i,file) { + if (file.status == plupload.STOPPED) + jQuery('#' + file.id).remove(); + }); +} + +function uploadError(fileObj, errorCode, message) { + debug('[uploadError]', errorCode, message); + switch (errorCode) { + case plupload.FAILED: + error_name = fileObj.name + " : " + pluploadL10n.upload_failed; + break; + case plupload.FILE_EXTENSION_ERROR: + error_name = fileObj.name + " : " + pluploadL10n.invalid_filetype; + break; + case plupload.FILE_SIZE_ERROR: + error_name = fileObj.name + " : " + pluploadL10n.upload_limit_exceeded; + break; + case plupload.IMAGE_FORMAT_ERROR: + error_name = fileObj.name + " : " + pluploadL10n.not_an_image; + break; + case plupload.IMAGE_MEMORY_ERROR: + error_name = fileObj.name + " : " + pluploadL10n.image_memory_exceeded; + break; + case plupload.IMAGE_DIMENSIONS_ERROR: + error_name = fileObj.name + " : " + pluploadL10n.image_dimensions_exceeded; + break; + case plupload.GENERIC_ERROR: + error_name = pluploadL10n.upload_failed; + break; + case plupload.IO_ERROR: + error_name = pluploadL10n.io_error; + break; + case plupload.HTTP_ERROR: + error_name = pluploadL10n.http_error; + break; + case plupload.INIT_ERROR: + /* what should we do in this case ? */ + //switchUploader(0); + //jQuery('.upload-html-bypass').hide(); + break; + case plupload.SECURITY_ERROR: + error_name = pluploadL10n.security_error; + break; + case plupload.UPLOAD_ERROR.UPLOAD_STOPPED: + case plupload.UPLOAD_ERROR.FILE_CANCELLED: + break; + default: + FileError(fileObj, pluploadL10n.default_error); + } + nggProgressBar.addNote("<strong>ERROR " + error_name + " </strong>: " + message); + + jQuery("#" + fileObj.id).hide("slow"); + jQuery("#" + fileObj.id).remove(); +} + +// client side resize feature +function setResize(arg) { + if ( arg ) { + debug('[enable resize]'); + if ( uploader.features.jpgresize ) + uploader.settings['resize'] = { width: resize_width, height: resize_height, quality: resize_quality }; + else + uploader.settings.multipart_params.image_resize = true; + } else { + debug('[disable resize]'); + delete(uploader.settings.resize); + delete(uploader.settings.multipart_params.image_resize); + } +} + +function debug() { + if ( uploader.settings.debug ) { + plupload.each(arguments, function(message) { + var exceptionMessage, exceptionValues = []; + + // Check for an exception object and print it nicely + if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") { + for (var key in message) { + if (message.hasOwnProperty(key)) { + exceptionValues.push(key + ": " + message[key]); + } + } + exceptionMessage = exceptionValues.join("\n") || ""; + exceptionValues = exceptionMessage.split("\n"); + exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: "); + if (window.console) + console.log(exceptionMessage); + else + debugConsole(exceptionMessage); + } else { + if (window.console) + console.log(message); + else + debugConsole(message); + } + }); + } +}; + +function debugConsole(message) { + var console, documentForm; + + try { + console = document.getElementById("plupload_Console"); + + if (!console) { + documentForm = document.createElement("form"); + document.getElementsByTagName("body")[0].appendChild(documentForm); + + console = document.createElement("textarea"); + console.id = "plupload_Console"; + console.style.fontFamily = "monospace"; + console.setAttribute("wrap", "off"); + console.wrap = "off"; + console.style.overflow = "auto"; + console.style.width = "99%"; + console.style.height = "350px"; + console.style.margin = "5px"; + documentForm.appendChild(console); + } + + console.value += message + "\n"; + + console.scrollTop = console.scrollHeight - console.clientHeight; + } catch (ex) { + alert("Exception: " + ex.name + " Message: " + ex.message); + } +}; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php new file mode 100644 index 000000000..fd4f37dda --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-galleries.php @@ -0,0 +1,455 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +// *** show main gallery list +function nggallery_manage_gallery_main() { + + global $ngg, $nggdb, $wp_query; + + //Build the pagination for more than 25 galleries + $_GET['paged'] = isset($_GET['paged']) && ($_GET['paged'] > 0) ? absint($_GET['paged']) : 1; + + $items_per_page = 25; + + $start = ( $_GET['paged'] - 1 ) * $items_per_page; + + $order = ( isset ( $_GET['order'] ) && $_GET['order'] == 'desc' ) ? 'DESC' : 'ASC'; + $orderby = ( isset ( $_GET['orderby'] ) && ( in_array( $_GET['orderby'], array('gid', 'title', 'author') )) ) ? $_GET['orderby'] : 'gid'; + + $gallerylist = $nggdb->find_all_galleries( $orderby, $order , TRUE, $items_per_page, $start, false); + $wp_list_table = new _NGG_Galleries_List_Table('nggallery-manage-gallery'); + + ?> + <script type="text/javascript"> + <!-- + + // Listen for frame events + jQuery(function($){ + if ($(this).data('ready')) return; + + if (window.Frame_Event_Publisher) { + + // If a new gallery is added, refresh the page + Frame_Event_Publisher.listen_for('attach_to_post:new_gallery attach_to_post:manage_images attach_to_post:images_added',function(){ + window.location.href = window.location.href; + }); + } + + $(this).data('ready', true); + }); + + + function checkAll(form) + { + for (i = 0, n = form.elements.length; i < n; i++) { + if(form.elements[i].type == "checkbox") { + if(form.elements[i].name == "doaction[]") { + if(form.elements[i].checked == true) + form.elements[i].checked = false; + else + form.elements[i].checked = true; + } + } + } + } + + function getNumChecked(form) + { + var num = 0; + for (i = 0, n = form.elements.length; i < n; i++) { + if(form.elements[i].type == "checkbox") { + if(form.elements[i].name == "doaction[]") + if(form.elements[i].checked == true) + num++; + } + } + return num; + } + + // this function check for a the number of selected images, sumbmit false when no one selected + function checkSelected() { + + if (typeof document.activeElement == "undefined" && document.addEventListener) { + document.addEventListener("focus", function (e) { + document.activeElement = e.target; + }, true); + } + + if ( document.activeElement.name == 'post_paged' ) + return true; + + var numchecked = getNumChecked(document.getElementById('editgalleries')); + + if(numchecked < 1) { + alert('<?php echo esc_js(__('No images selected', 'nggallery')); ?>'); + return false; + } + + actionId = jQuery('#bulkaction').val(); + + switch (actionId) { + case "resize_images": + showDialog('resize_images', '<?php echo esc_js(__('Resize images','nggallery')); ?>'); + return false; + break; + case "new_thumbnail": + showDialog('new_thumbnail', '<?php echo esc_js(__('Create new thumbnails','nggallery')); ?>'); + return false; + break; + } + + return confirm('<?php echo sprintf(esc_js(__("You are about to start the bulk edit for %s galleries \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>'); + } + + function showDialog( windowId, title ) { + var form = document.getElementById('editgalleries'); + var elementlist = ""; + for (i = 0, n = form.elements.length; i < n; i++) { + if(form.elements[i].type == "checkbox") { + if(form.elements[i].name == "doaction[]") + if(form.elements[i].checked == true) + if (elementlist == "") + elementlist = form.elements[i].value; + else + elementlist += "," + form.elements[i].value ; + } + } + jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val()); + jQuery("#" + windowId + "_imagelist").val(elementlist); + // now show the dialog + jQuery( "#" + windowId ).dialog({ + width: 640, + resizable : false, + modal: true, + title: title, + position: { + my: 'center', + at: 'center', + of: window.parent + } + }); + jQuery("#" + windowId + ' .dialog-cancel').click(function() { jQuery( "#" + windowId ).dialog("close"); }); + } + + function showAddGallery() { + jQuery( "#addGallery").dialog({ + width: 640, + resizable : false, + modal: true, + title: '<?php echo esc_js(__('Add new gallery','nggallery')); ?>', + position: { + my: 'center', + at: 'center', + of: window.parent + } + }); + jQuery("#addGallery .dialog-cancel").click(function() { jQuery( "#addGallery" ).dialog("close"); }); + } + //--> + </script> + <div class="wrap"> + <?php //include('templates/social_media_buttons.php'); ?> + <?php screen_icon( 'nextgen-gallery' ); ?> + <h2><?php echo _n( 'Manage Galleries', 'Manage Galleries', 2, 'nggallery'); ?></h2> + <form class="search-form" action="" method="get"> + <p class="search-box"> + <label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label> + <input type="hidden" id="page-name" name="page" value="nggallery-manage-gallery" /> + <input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" /> + <input type="submit" value="<?php _e( 'Search Images', 'nggallery' ); ?>" class="button" /> + </p> + </form> + <form id="editgalleries" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&paged=' . $_GET['paged']; ?>" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_bulkgallery') ?> + <input type="hidden" name="page" value="manage-galleries" /> + + <div class="tablenav top"> + + <div class="alignleft actions"> + <?php if ( function_exists('json_encode') ) : ?> + <select name="bulkaction" id="bulkaction"> + <option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option> + <option value="delete_gallery" ><?php _e("Delete",'nggallery'); ?></option> + <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option> + <option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option> + <option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option> + <option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option> + <option value="recover_images" ><?php _e("Recover from backup",'nggallery'); ?></option> + </select> + <input name="showThickbox" class="button-secondary" type="submit" value="<?php _e('Apply','nggallery'); ?>" onclick="if ( !checkSelected() ) return false;" /> + <?php endif; ?> + <?php if ( current_user_can('NextGEN Upload images') && nggGallery::current_user_can( 'NextGEN Add new gallery' ) ) : ?> + <input name="doaction" class="button-secondary action" type="submit" onclick="showAddGallery(); return false;" value="<?php _e('Add new gallery', 'nggallery') ?>"/> + <?php endif; ?> + </div> + + + <?php $ngg->manage_page->pagination( 'top', $_GET['paged'], $nggdb->paged['total_objects'], $nggdb->paged['objects_per_page'] ); ?> + + </div> + <table class="wp-list-table widefat fixed" cellspacing="0"> + <thead> + <tr> +<?php $wp_list_table->print_column_headers(true); ?> + </tr> + </thead> + <tfoot> + <tr> +<?php $wp_list_table->print_column_headers(false); ?> + </tr> + </tfoot> + <tbody id="the-list"> +<?php + +if($gallerylist) { + //get the columns + $gallery_columns = $wp_list_table->get_columns(); + $hidden_columns = get_hidden_columns('nggallery-manage-gallery'); + $num_columns = count($gallery_columns) - count($hidden_columns); + + foreach($gallerylist as $gallery) { + $alternate = ( !isset($alternate) || $alternate == 'class="alternate"' ) ? '' : 'class="alternate"'; + $gid = $gallery->gid; + $name = (empty($gallery->title) ) ? $gallery->name : $gallery->title; + $author_user = get_userdata( (int) $gallery->author ); + ?> + <tr id="gallery-<?php echo $gid ?>" <?php echo $alternate; ?> > + <?php + foreach($gallery_columns as $gallery_column_key => $column_display_name) { + $class = "class=\"$gallery_column_key column-$gallery_column_key\""; + + $style = ''; + if ( in_array($gallery_column_key, $hidden_columns) ) + $style = ' style="display:none;"'; + + $attributes = "$class$style"; + + switch ($gallery_column_key) { + case 'cb' : + ?> + <th scope="row" class="column-cb check-column"> + <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?> + <input name="doaction[]" type="checkbox" value="<?php echo $gid ?>" /> + <?php } ?> + </th> + <?php + break; + case 'id' : + ?> + <td <?php echo $attributes ?>><?php echo $gid; ?></td> + <?php + break; + case 'title' : + ?> + <td class="title column-title"> + <?php if (nggAdmin::can_manage_this_gallery($gallery->author)) { ?> + <a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . '&mode=edit&gid=' . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit'); ?>" > + <?php echo esc_html( nggGallery::i18n($name) ); ?> + </a> + <?php } else { ?> + <?php echo esc_html( nggGallery::i18n($gallery->title) ); ?> + <?php } ?> + <div class="row-actions"></div> + </td> + <?php + break; + case 'description' : + ?> + <td <?php echo $attributes ?>><?php echo esc_html( nggGallery::i18n($gallery->galdesc) ); ?> </td> + <?php + break; + case 'author' : + ?> + <td <?php echo $attributes ?>><?php echo esc_html( $author_user->display_name ); ?></td> + <?php + break; + case 'page_id' : + ?> + <td <?php echo $attributes ?>><?php echo $gallery->pageid; ?></td> + <?php + break; + case 'quantity' : + ?> + <td <?php echo $attributes ?>><?php echo $gallery->counter; ?></td> + <?php + break; + default : + ?> + <td <?php echo $attributes ?>><?php do_action('ngg_manage_gallery_custom_column', $gallery_column_key, $gid); ?></td> + <?php + break; + } + } ?> + </tr> + <?php + } +} else { + echo '<tr><td colspan="7" align="center"><strong>' . __('No entries found', 'nggallery') . '</strong></td></tr>'; +} +?> + </tbody> + </table> + <div class="tablenav bottom"> + <?php $ngg->manage_page->pagination( 'bottom', $_GET['paged'], $nggdb->paged['total_objects'], $nggdb->paged['objects_per_page'] ); ?> + </div> + </form> + </div> + <!-- #addGallery --> + <div id="addGallery" style="display: none;" > + <form id="form-tags" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_addgallery'); ?> + <input type="hidden" name="page" value="manage-galleries" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr> + <td> + <strong><?php _e('New Gallery', 'nggallery') ;?>:</strong> <input type="text" size="35" name="galleryname" value="" /><br /> + <?php if(!is_multisite()) { ?> + <?php _e('Create a new , empty gallery below the folder', 'nggallery') ;?> <strong><?php echo $ngg->options['gallerypath']; ?></strong><br /> + <?php } ?> + <i>( <?php _e('Allowed characters for file and folder names are', 'nggallery') ;?>: a-z, A-Z, 0-9, -, _ )</i> + </td> + </tr> + <?php do_action('ngg_add_new_gallery_form'); ?> + <tr align="right"> + <td class="submit"> + <input class="button-primary" type="submit" name="addgallery" value="<?php _e('OK','nggallery'); ?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value=" <?php _e('Cancel', 'nggallery'); ?> " /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#addGallery --> + + <!-- #resize_images --> + <div id="resize_images" style="display: none;" > + <form id="form-resize-images" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="resize_images_imagelist" name="TB_imagelist" value="" /> + <input type="hidden" id="resize_images_bulkaction" name="TB_bulkaction" value="" /> + <input type="hidden" name="page" value="manage-galleries" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr valign="top"> + <td> + <strong><?php _e('Resize Images to', 'nggallery'); ?>:</strong> + </td> + <td> + <input type="text" size="5" name="imgWidth" value="<?php echo $ngg->options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg->options['imgHeight']; ?>" /> + <br /><small><?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></small> + </td> + </tr> + <tr align="right"> + <td colspan="2" class="submit"> + <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value=" <?php _e('Cancel', 'nggallery'); ?> " /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#resize_images --> + + <!-- #new_thumbnail --> + <div id="new_thumbnail" style="display: none;" > + <form id="form-new-thumbnail" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="new_thumbnail_imagelist" name="TB_imagelist" value="" /> + <input type="hidden" id="new_thumbnail_bulkaction" name="TB_bulkaction" value="" /> + <input type="hidden" name="page" value="manage-galleries" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr valign="top"> + <th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th> + <td> + <?php include(dirname(__FILE__) . '/thumbnails-template.php'); ?> + </td> + </tr> + <tr valign="top"> + <th align="left"><?php _e('Set fix dimension','nggallery') ?></th> + <td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg->options['thumbfix']); ?> /> + <br /><small><?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></small></td> + </tr> + <tr align="right"> + <td colspan="2" class="submit"> + <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value=" <?php _e('Cancel', 'nggallery'); ?> " /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#new_thumbnail --> + +<?php +} + +/** + * Construtor class to create the table layout + * + * @package WordPress + * @subpackage List_Table + * @since 1.8.0 + * @access private + */ +class _NGG_Galleries_List_Table extends WP_List_Table { + var $_screen; + var $_columns; + + function _NGG_Galleries_List_Table( $screen ) { + if ( is_string( $screen ) ) + $screen = convert_to_screen( $screen ); + + $this->_screen = $screen; + $this->_columns = array() ; + + add_filter( 'manage_' . $screen->id . '_columns', array( &$this, 'get_columns' ), 0 ); + } + + function get_column_info() { + $columns = get_column_headers( $this->_screen ); + $hidden = get_hidden_columns( $this->_screen ); + $_sortable = $this->get_sortable_columns(); + + foreach ( $_sortable as $id => $data ) { + if ( empty( $data ) ) + continue; + + $data = (array) $data; + if ( !isset( $data[1] ) ) + $data[1] = false; + + $sortable[$id] = $data; + } + + return array( $columns, $hidden, $sortable ); + } + + // define the columns to display, the syntax is 'internal name' => 'display name' + function get_columns() { + $columns = array(); + + $columns['cb'] = '<input name="checkall" type="checkbox" onclick="checkAll(document.getElementById(\'editgalleries\'));" />'; + $columns['id'] = __('ID'); + $columns['title'] = _n( 'Gallery', 'Galleries', 1, 'nggallery'); + $columns['description'] = __('Description', 'nggallery'); + $columns['author'] = __('Author', 'nggallery'); + $columns['page_id'] = __('Page ID', 'nggallery'); + $columns['quantity'] = _n( 'Image', 'Images', 2, 'nggallery' ); + + $columns = apply_filters('ngg_manage_gallery_columns', $columns); + + return $columns; + } + + function get_sortable_columns() { + return array( + 'id' => array( 'gid', true ), + 'title' => 'title', + 'author' => 'author' + ); + } +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php new file mode 100644 index 000000000..6a19c61fb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-images.php @@ -0,0 +1,756 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.');} + +function nggallery_picturelist() { +// *** show picture list + global $wpdb, $nggdb, $user_ID, $ngg; + + // Look if its a search result + $is_search = isset ($_GET['s']) ? true : false; + $counter = 0; + + $wp_list_table = new _NGG_Images_List_Table('nggallery-manage-images'); + + if ($is_search) { + + // fetch the imagelist + $picturelist = $ngg->manage_page->search_result; + + // we didn't set a gallery or a pagination + $act_gid = 0; + $_GET['paged'] = 1; + $page_links = false; + + } else { + + // GET variables + $act_gid = $ngg->manage_page->gid; + + // Load the gallery metadata + $gallery = $nggdb->find_gallery($act_gid); + + if (!$gallery) { + nggGallery::show_error(__('Gallery not found.', 'nggallery')); + return; + } + + // Check if you have the correct capability + if (!nggAdmin::can_manage_this_gallery($gallery->author)) { + nggGallery::show_error(__('Sorry, you have no access here', 'nggallery')); + return; + } + + // look for pagination + $_GET['paged'] = isset($_GET['paged']) && ($_GET['paged'] > 0) ? absint($_GET['paged']) : 1; + + $start = ( $_GET['paged'] - 1 ) * 50; + + // get picture values + $picturelist = $nggdb->get_gallery($act_gid, $ngg->options['galSort'], $ngg->options['galSortDir'], false, 50, $start ); + + // get the current author + $act_author_user = get_userdata( (int) $gallery->author ); + + } + + // list all galleries + $gallerylist = $nggdb->find_all_galleries(); + + //get the columns + $image_columns = $wp_list_table->get_columns(); + $hidden_columns = get_hidden_columns('nggallery-manage-images'); + $num_columns = count($image_columns) - count($hidden_columns); + + $attr = (nggGallery::current_user_can( 'NextGEN Edit gallery options' )) ? '' : 'disabled="disabled"'; + +?> +<script type="text/javascript"> +<!-- +function showDialog( windowId, title ) { + var form = document.getElementById('updategallery'); + var elementlist = ""; + for (i = 0, n = form.elements.length; i < n; i++) { + if(form.elements[i].type == "checkbox") { + if(form.elements[i].name == "doaction[]") + if(form.elements[i].checked == true) + if (elementlist == "") + elementlist = form.elements[i].value; + else + elementlist += "," + form.elements[i].value ; + } + } + jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val()); + jQuery("#" + windowId + "_imagelist").val(elementlist); + // now show the dialog + jQuery( "#" + windowId ).dialog({ + width: 640, + resizable : false, + modal: true, + title: title, + position: { + my: 'center', + at: 'center', + of: window.parent + } + }); + jQuery("#" + windowId + ' .dialog-cancel').click(function() { jQuery( "#" + windowId ).dialog("close"); }); +} + +jQuery(function (){ + + jQuery('span.tooltip, label.tooltip').tooltip(); + + // load a content via ajax + jQuery('a.ngg-dialog').click(function() { + var dialogs = jQuery('.ngg-overlay-dialog:visible'); + if (dialogs.size() > 0) { + return false; + } + + if ( jQuery( "#spinner" ).length == 0) { + jQuery("body").append('<div id="spinner"></div>'); + } + + var $this = jQuery(this); + var results = new RegExp('[\\?&]w=([^&#]*)').exec(this.href); + var width = ( results ) ? results[1] : 600; + var results = new RegExp('[\\?&]h=([^&#]*)').exec(this.href); + var height = ( results ) ? results[1] : 440; + var container = window; + + if (window.parent) { + container = window.parent; + } + + jQuery('#spinner').fadeIn(); + jQuery('#spinner').position({ my: "center", at: "center", of: container }); + + var dialog = jQuery('<div class="ngg-overlay-dialog" style="display:hidden"></div>').appendTo('body'); + // load the remote content + dialog.load( + this.href, + {}, + function () { + jQuery('#spinner').hide(); + + dialog.dialog({ + title: ($this.attr('title')) ? $this.attr('title') : '', + position: { my: "center", at: "center", of: container }, + width: width, + height: height, + modal: true, + resizable: false, + close: function() { dialog.remove(); } + }).width(width - 30).height(height - 30); + } + ); + + //prevent the browser to follow the link + return false; + }); +}); + +function checkAll(form) +{ + for (i = 0, n = form.elements.length; i < n; i++) { + if(form.elements[i].type == "checkbox") { + if(form.elements[i].name == "doaction[]") { + if(form.elements[i].checked == true) + form.elements[i].checked = false; + else + form.elements[i].checked = true; + } + } + } +} + +function getNumChecked(form) +{ + var num = 0; + for (i = 0, n = form.elements.length; i < n; i++) { + if(form.elements[i].type == "checkbox") { + if(form.elements[i].name == "doaction[]") + if(form.elements[i].checked == true) + num++; + } + } + return num; +} + +// this function check for a the number of selected images, sumbmit false when no one selected +function checkSelected() { + + var numchecked = getNumChecked(document.getElementById('updategallery')); + + if (typeof document.activeElement == "undefined" && document.addEventListener) { + document.addEventListener("focus", function (e) { + document.activeElement = e.target; + }, true); + } + + if ( document.activeElement.name == 'post_paged' ) + return true; + + if(numchecked < 1) { + alert('<?php echo esc_js(__('No images selected', 'nggallery')); ?>'); + return false; + } + + actionId = jQuery('#bulkaction').val(); + + switch (actionId) { + case "copy_to": + showDialog('selectgallery', '<?php echo esc_js(__('Copy image to...','nggallery')); ?>'); + return false; + break; + case "move_to": + showDialog('selectgallery', '<?php echo esc_js(__('Move image to...','nggallery')); ?>'); + return false; + break; + case "add_tags": + showDialog('entertags', '<?php echo esc_js(__('Add new tags','nggallery')); ?>'); + return false; + break; + case "delete_tags": + showDialog('entertags', '<?php echo esc_js(__('Delete tags','nggallery')); ?>'); + return false; + break; + case "overwrite_tags": + showDialog('entertags', '<?php echo esc_js(__('Overwrite','nggallery')); ?>'); + return false; + break; + case "resize_images": + showDialog('resize_images', '<?php echo esc_js(__('Resize images','nggallery')); ?>'); + return false; + break; + case "new_thumbnail": + showDialog('new_thumbnail', '<?php echo esc_js(__('Create new thumbnails','nggallery')); ?>'); + return false; + break; + } + + return confirm('<?php echo sprintf(esc_js(__("You are about to start the bulk edit for %s images \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>'); +} + +jQuery(document).ready( function($) { + if ($(this).data('ready')) return; + + // close postboxes that should be closed + jQuery('.if-js-closed').removeClass('if-js-closed').addClass('closed'); + postboxes.add_postbox_toggles('ngg-manage-gallery'); + + $(this).data('ready', true); +}); + +//--> +</script> +<div class="wrap"> +<?php //include('templates/social_media_buttons.php'); ?> +<?php screen_icon( 'nextgen-gallery' ); ?> +<?php if ($is_search) :?> +<h2><?php printf( __('Search results for “%s”', 'nggallery'), esc_html( get_search_query() ) ); ?></h2> +<form class="search-form" action="" method="get"> +<p class="search-box"> + <label class="hidden" for="media-search-input"><?php _e( 'Search Images', 'nggallery' ); ?>:</label> + <input type="hidden" id="page-name" name="page" value="nggallery-manage-gallery" /> + <input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?>" /> + <input type="submit" value="<?php _e( 'Search Images', 'nggallery' ); ?>" class="button" /> +</p> +</form> + +<br style="clear: both;" /> + +<form id="updategallery" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&mode=edit&s=' . get_search_query(); ?>" accept-charset="utf-8"> +<?php wp_nonce_field('ngg_updategallery') ?> +<input type="hidden" name="page" value="manage-images" /> + +<?php else :?> +<h2><?php echo _n( 'Gallery', 'Galleries', 1, 'nggallery' ); ?> : <?php echo esc_html ( nggGallery::i18n($gallery->title) ); ?></h2> + +<br style="clear: both;" /> + +<form id="updategallery" class="nggform" method="POST" action="<?php echo $ngg->manage_page->base_page . '&mode=edit&gid=' . $act_gid . '&paged=' . $_GET['paged']; ?>" accept-charset="utf-8"> +<?php wp_nonce_field('ngg_updategallery') ?> +<input type="hidden" name="page" value="manage-images" /> + +<?php if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' )) : ?> +<div id="poststuff"> + <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?> + <div id="gallerydiv" class="postbox <?php echo postbox_classes('gallerydiv', 'ngg-manage-gallery'); ?>" > + <h3><?php _e('Gallery settings', 'nggallery') ?><small> (<?php _e('Click here for more settings', 'nggallery') ?>)</small></h3> + <div class="inside"> + <table class="form-table" > + <tr> + <th align="left"><?php _e('Title') ?>:</th> + <th align="left"><input <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery title' ); ?> type="text" size="50" name="title" value="<?php echo esc_attr(stripslashes($gallery->title)); ?>" /></th> + <th align="right"><?php _e('Page Link to', 'nggallery') ?>:</th> + <th align="left"> + <select <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery page id' ); ?> name="pageid" style="width:95%"> + <option value="0" ><?php _e('Not linked', 'nggallery') ?></option> + <?php foreach (get_pages() as $page): ?> + <option <?php selected($gallery->pageid, $page->ID) ?> value="<?php echo esc_attr($page->ID)?>"><?php echo esc_html($page->post_title)?></option> + <?php endforeach ?> + </select> + </th> + </tr> + <tr> + <th align="left"><?php _e('Description') ?>:</th> + <th align="left"><textarea <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery description' ); ?> name="gallerydesc" cols="30" rows="3" style="width: 95%" ><?php echo esc_attr(stripslashes($gallery->galdesc)); ?></textarea></th> + <th align="right"><?php _e('Preview image', 'nggallery') ?>:</th> + <th align="left"> + <select <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery preview pic' ); ?> name="previewpic" style="width:95%" > + <option value="0" ><?php _e('No Picture', 'nggallery') ?></option> + <?php + // ensure that a preview pic from a other page is still shown here + if ( intval($gallery->previewpic) != 0) { + if ( !array_key_exists ($gallery->previewpic, $picturelist )){ + $previewpic = $nggdb->find_image($gallery->previewpic); + if ($previewpic) + echo '<option value="'.$previewpic->pid.'" selected="selected" >'.$previewpic->pid.' - ' . esc_attr( $previewpic->filename ) . '</option>'."\n"; + } + } + if(is_array($picturelist)) { + foreach($picturelist as $picture) { + if ($picture->exclude) continue; + $selected = ($picture->pid == $gallery->previewpic) ? 'selected="selected" ' : ''; + echo '<option value="'.$picture->pid.'" '.$selected.'>'.$picture->pid.' - ' . esc_attr( $picture->filename ) . '</option>'."\n"; + } + } + ?> + </select> + </th> + </tr> + <tr> + <th align="left"><?php _e('Path', 'nggallery') ?>:</th> + <th align="left"><input readonly="readonly" type="text" size="50" name="path" value="<?php echo $gallery->path; ?>" /></th> + <th align="right"><?php _e('Author', 'nggallery'); ?>:</th> + <th align="left"> + <?php + $editable_ids = $ngg->manage_page->get_editable_user_ids( $user_ID ); + if ( $editable_ids && count( $editable_ids ) > 1 && nggGallery::current_user_can( 'NextGEN Edit gallery author') ) + wp_dropdown_users( array('include' => $editable_ids, 'name' => 'author', 'selected' => empty( $gallery->author ) ? 0 : $gallery->author ) ); + else + echo $act_author_user->display_name; + ?> + </th> + </tr> + <?php if(current_user_can( 'publish_pages' )) : ?> + <tr> + <th align="left"> </th> + <th align="left"> </th> + <th align="right"> + <label for='ngg_settings_parent_id' + class='tooltip' + title="Clicking <?php _e('Add Page'); ?> will create a new page with the same name as this gallery and will display the gallery on that new page. You can create a sub-page by selecting the parent page from the drop down."> + <?php _e('Create new page', 'nggallery') ?>: + </label> + </th> + <th align="left"> + <select name="parent_id" style="width:95%" id='ngg_settings_parent_id'> + <option value="0"><?php _e ('Main page (No parent)', 'nggallery'); ?></option> + <?php foreach (get_pages() as $page): ?> + <option value="<?php echo esc_attr($page->ID)?>"><?php echo esc_html($page->post_title)?></option> + <?php endforeach ?> + </select> + <input class="button-secondary action" type="submit" name="addnewpage" value="<?php _e ('Add page', 'nggallery'); ?>" id="group"/> + </th> + </tr> + <?php endif; ?> + <?php do_action('ngg_manage_gallery_settings', $act_gid); ?> + + </table> + + <div class="submit"> + <?php + if ( wpmu_enable_function('wpmuScanFolder') && nggGallery::current_user_can( 'NextGEN Scan folder' ) ) : + ?> + <input type="submit" class="button-secondary" name="scanfolder" value="<?php _e("Scan Folder for new images",'nggallery'); ?> " /> + <?php endif; ?> + <input type="submit" class="button-primary action" name="updatepictures" value="<?php _e("Save Changes",'nggallery'); ?>" /> + </div> + + </div> + </div> +</div> <!-- poststuff --> +<?php endif; ?> + +<?php endif; ?> + +<div class="tablenav top ngg-tablenav"> + <?php $ngg->manage_page->pagination( 'top', $_GET['paged'], $nggdb->paged['total_objects'], $nggdb->paged['objects_per_page'] ); ?> + <div class="alignleft actions"> + <select id="bulkaction" name="bulkaction"> + <option value="no_action" ><?php _e("Bulk actions",'nggallery'); ?></option> + <option value="set_watermark" ><?php _e("Set watermark",'nggallery'); ?></option> + <option value="new_thumbnail" ><?php _e("Create new thumbnails",'nggallery'); ?></option> + <option value="resize_images" ><?php _e("Resize images",'nggallery'); ?></option> + <option value="recover_images" ><?php _e("Recover from backup",'nggallery'); ?></option> + <option value="delete_images" ><?php _e("Delete images",'nggallery'); ?></option> + <option value="import_meta" ><?php _e("Import metadata",'nggallery'); ?></option> + <option value="rotate_cw" ><?php _e("Rotate images clockwise",'nggallery'); ?></option> + <option value="rotate_ccw" ><?php _e("Rotate images counter-clockwise",'nggallery'); ?></option> + <option value="copy_to" ><?php _e("Copy to...",'nggallery'); ?></option> + <option value="move_to"><?php _e("Move to...",'nggallery'); ?></option> + <option value="add_tags" ><?php _e("Add tags",'nggallery'); ?></option> + <option value="delete_tags" ><?php _e("Delete tags",'nggallery'); ?></option> + <option value="overwrite_tags" ><?php _e("Overwrite tags",'nggallery'); ?></option> + </select> + <input class="button-secondary" type="submit" name="showThickbox" value="<?php _e('Apply', 'nggallery'); ?>" onclick="if ( !checkSelected() ) return false;" /> + + <?php if (($ngg->options['galSort'] == "sortorder") && (!$is_search) ) { ?> + <input class="button-secondary" type="submit" name="sortGallery" value="<?php _e('Sort gallery', 'nggallery');?>" /> + <?php } ?> + + <input type="submit" name="updatepictures" class="button-primary action" value="<?php _e('Save Changes', 'nggallery');?>" /> + </div> +</div> + +<table id="ngg-listimages" class="widefat fixed" cellspacing="0" > + + <thead> + <tr> +<?php $wp_list_table->print_column_headers(true); ?> + </tr> + </thead> + <tfoot> + <tr> +<?php $wp_list_table->print_column_headers(false); ?> + </tr> + </tfoot> + <tbody id="the-list"> +<?php +if($picturelist) { + + $thumbsize = ''; + + if ($ngg->options['thumbfix']) + $thumbsize = 'width="' . $ngg->options['thumbwidth'] . '" height="' . $ngg->options['thumbheight'] . '"'; + + foreach($picturelist as $picture) { + + //for search result we need to check the capatibiliy + if ( !nggAdmin::can_manage_this_gallery($picture->author) && $is_search ) + continue; + + $counter++; + $pid = (int) $picture->pid; + $alternate = ( !isset($alternate) || $alternate == 'alternate' ) ? '' : 'alternate'; + $exclude = ( $picture->exclude ) ? 'checked="checked"' : ''; + $date = mysql2date(get_option('date_format'), $picture->imagedate); + $time = mysql2date(get_option('time_format'), $picture->imagedate); + + ?> + <tr id="picture-<?php echo $pid ?>" class="<?php echo $alternate ?> iedit" valign="top"> + <?php + foreach($image_columns as $image_column_key => $column_display_name) { + $class = "class='$image_column_key column-$image_column_key'"; + + $style = ''; + if ( in_array($image_column_key, $hidden_columns) ) + $style = ' style="display:none;"'; + + $attributes = $class . $style; + + switch ($image_column_key) { + case 'cb' : + $attributes = 'class="column-cb check-column"' . $style; + ?> + <th <?php echo $attributes ?> scope="row"><input name="doaction[]" type="checkbox" value="<?php echo $pid ?>" /></th> + <?php + break; + case 'id' : + ?> + <td <?php echo $attributes ?> style=""><?php echo $pid; ?> + <input type="hidden" name="pid[]" value="<?php echo $pid ?>" /> + </td> + <?php + break; + case 'filename' : + $attributes = 'class="title column-filename column-title"' . $style; + ?> + <td <?php echo $attributes ?>> + <strong><a href="<?php echo esc_url( $picture->imageURL ); ?>" class="thickbox" title="<?php echo esc_attr ($picture->filename); ?>"> + <?php echo ( empty($picture->alttext) ) ? esc_html( $picture->filename ) : esc_html( stripslashes(nggGallery::i18n($picture->alttext)) ); ?> + </a></strong> + <br /><?php echo $date; ?> + <?php if ( !empty($picture->meta_data) ): ?> + <br /><?php echo $picture->meta_data['width']; ?> x <?php echo $picture->meta_data['height']; ?> <?php _e('pixel', 'nggallery'); ?> + + <?php endif; ?> + <p> + <?php + $actions = array(); + $actions['view'] = '<a class="shutter" href="' . esc_url( $picture->imageURL ) . '" title="' . esc_attr( sprintf(__('View "%s"'), sanitize_title ($picture->filename) )) . '">' . __('View', 'nggallery') . '</a>'; + $actions['meta'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/showmeta.php?id=' . $pid . '" title="' . __('Show Meta data','nggallery') . '">' . __('Meta', 'nggallery') . '</a>'; + $actions['custom_thumb'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/edit-thumbnail.php?id=' . $pid . '" title="' . __('Customize thumbnail','nggallery') . '">' . __('Edit thumb', 'nggallery') . '</a>'; + $actions['rotate'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/rotate.php?id=' . $pid . '" title="' . __('Rotate','nggallery') . '">' . __('Rotate', 'nggallery') . '</a>'; + if ( current_user_can( 'publish_posts' ) ) + $actions['publish'] = '<a class="ngg-dialog" href="' . NGGALLERY_URLPATH . 'admin/publish.php?id=' . $pid . '&h=230" title="' . __('Publish this image','nggallery') . '">' . __('Publish', 'nggallery') . '</a>'; + if ( file_exists( $picture->imagePath . '_backup' ) ) + $actions['recover'] = '<a class="confirmrecover" href="' .wp_nonce_url("admin.php?page=nggallery-manage-gallery&mode=recoverpic&gid=" . $act_gid . "&pid=" . $pid, 'ngg_recoverpicture'). '" title="' . __('Recover','nggallery') . '" onclick="javascript:check=confirm( \'' . esc_attr(sprintf(__('Recover "%s" ?' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Recover', 'nggallery') . '</a>'; + $actions['delete'] = '<a class="submitdelete" href="' . wp_nonce_url("admin.php?page=nggallery-manage-gallery&mode=delpic&gid=" . $act_gid . "&pid=" . $pid, 'ngg_delpicture'). '" class="delete column-delete" onclick="javascript:check=confirm( \'' . esc_attr(sprintf(__('Delete "%s" ?' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Delete') . '</a>'; + $action_count = count($actions); + $i = 0; + echo '<div class="row-actions">'; + foreach ( $actions as $action => $link ) { + ++$i; + ( $i == $action_count ) ? $sep = '' : $sep = ' | '; + echo "<span class='$action'>$link$sep</span>"; + } + echo '</div>'; + ?></p> + </td> + <?php + break; + case 'thumbnail' : + $attributes = 'class="id column-thumbnail media-icon"' . $style; + ?> + <td <?php echo $attributes ?>><a href="<?php echo esc_url ( add_query_arg('i', mt_rand(), $picture->imageURL) ); ?>" class="shutter" title="<?php echo $picture->filename ?>"> + <img class="thumb" src="<?php echo esc_url ( add_query_arg('i', mt_rand(), $picture->thumbURL) ); ?>" id="thumb<?php echo $pid ?>" /> + </a> + </td> + <?php + break; + case 'alt_title_desc' : + ?> + <td <?php echo $attributes ?>> + <input name="alttext[<?php echo $pid ?>]" type="text" style="width:95%; margin-bottom: 2px;" value="<?php echo esc_attr(stripslashes($picture->alttext)) ?>" /><br/> + <textarea name="description[<?php echo $pid ?>]" style="width:95%; margin-top: 2px;" rows="2" ><?php echo esc_attr(stripslashes($picture->description)) ?></textarea> + </td> + <?php + break; + case 'exclude' : + ?> + <td <?php echo $attributes ?>><input name="exclude[<?php echo $pid ?>]" type="checkbox" value="1" <?php echo $exclude ?> /></td> + <?php + break; + case 'tags' : + $picture->tags = wp_get_object_terms($pid, 'ngg_tag', 'fields=names'); + if (is_array ($picture->tags) ) $picture->tags = implode(', ', $picture->tags); + ?> + <td <?php echo $attributes ?>><textarea name="tags[<?php echo $pid ?>]" style="width:95%;" rows="2"><?php echo $picture->tags ?></textarea></td> + <?php + break; + default : + ?> + <td <?php echo $attributes ?>><?php do_action('ngg_manage_image_custom_column', $image_column_key, $pid); ?></td> + <?php + break; + } + ?> + <?php } ?> + </tr> + <?php + } +} + +// In the case you have no capaptibility to see the search result +if ( $counter == 0 ) + echo '<tr><td colspan="' . $num_columns . '" align="center"><strong>'.__('No entries found','nggallery').'</strong></td></tr>'; + +?> + + </tbody> + </table> + <div class="tablenav bottom"> + <input type="submit" class="button-primary action" name="updatepictures" value="<?php _e('Save Changes', 'nggallery'); ?>" /> + <?php $ngg->manage_page->pagination( 'bottom', $_GET['paged'], $nggdb->paged['total_objects'], $nggdb->paged['objects_per_page'] ); ?> + </div> + </form> + <br class="clear"/> + </div><!-- /#wrap --> + + <!-- #entertags --> + <div id="entertags" style="display: none;" > + <form id="form-tags" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="entertags_imagelist" name="TB_imagelist" value="" /> + <input type="hidden" id="entertags_bulkaction" name="TB_bulkaction" value="" /> + <input type="hidden" name="page" value="manage-images" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr> + <th><?php _e("Enter the tags",'nggallery'); ?> : <input name="taglist" type="text" style="width:90%" value="" /></th> + </tr> + <tr align="right"> + <td class="submit"> + <input class="button-primary" type="submit" name="TB_EditTags" value="<?php _e("OK",'nggallery'); ?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value=" <?php _e("Cancel",'nggallery'); ?> " /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#entertags --> + + <!-- #selectgallery --> + <div id="selectgallery" style="display: none;" > + <form id="form-select-gallery" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="selectgallery_imagelist" name="TB_imagelist" value="" /> + <input type="hidden" id="selectgallery_bulkaction" name="TB_bulkaction" value="" /> + <input type="hidden" name="page" value="manage-images" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr> + <th> + <?php _e('Select the destination gallery:', 'nggallery'); ?> + <select name="dest_gid" style="width:90%" > + <?php + foreach ($gallerylist as $gallery) { + if ($gallery->gid != $act_gid) { + ?> + <option value="<?php echo $gallery->gid; ?>" ><?php echo $gallery->gid; ?> - <?php echo esc_attr( stripslashes($gallery->title) ); ?></option> + <?php + } + } + ?> + </select> + </th> + </tr> + <tr align="right"> + <td class="submit"> + <input type="submit" class="button-primary" name="TB_SelectGallery" value="<?php _e("OK",'nggallery'); ?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value="<?php _e("Cancel",'nggallery'); ?>" /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#selectgallery --> + + <!-- #resize_images --> + <div id="resize_images" style="display: none;" > + <form id="form-resize-images" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="resize_images_imagelist" name="TB_imagelist" value="" /> + <input type="hidden" id="resize_images_bulkaction" name="TB_bulkaction" value="" /> + <input type="hidden" name="page" value="manage-images" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr valign="top"> + <td> + <strong><?php _e('Resize Images to', 'nggallery'); ?>:</strong> + </td> + <td> + <input type="text" size="5" name="imgWidth" value="<?php echo $ngg->options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg->options['imgHeight']; ?>" /> + <br /><small><?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></small> + </td> + </tr> + <tr align="right"> + <td colspan="2" class="submit"> + <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'nggallery'); ?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value=" <?php _e('Cancel', 'nggallery'); ?> " /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#resize_images --> + + <!-- #new_thumbnail --> + <div id="new_thumbnail" style="display: none;" > + <form id="form-new-thumbnail" method="POST" accept-charset="utf-8"> + <?php wp_nonce_field('ngg_thickbox_form') ?> + <input type="hidden" id="new_thumbnail_imagelist" name="TB_imagelist" value="" /> + <input type="hidden" id="new_thumbnail_bulkaction" name="TB_bulkaction" value="" /> + <input type="hidden" name="page" value="manage-images" /> + <table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr valign="top"> + <th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th> + <td> + <?php include(dirname(__FILE__) . '/thumbnails-template.php'); ?> + </td> + </tr> + <tr valign="top"> + <th align="left"><?php _e('Set fix dimension','nggallery') ?></th> + <td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg->options['thumbfix']); ?> /> + <br /><small><?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></small></td> + </tr> + <tr align="right"> + <td colspan="2" class="submit"> + <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'nggallery');?>" /> + + <input class="button-secondary dialog-cancel" type="reset" value=" <?php _e('Cancel', 'nggallery'); ?> " /> + </td> + </tr> + </table> + </form> + </div> + <!-- /#new_thumbnail --> + + <script type="text/javascript"> + /* <![CDATA[ */ + jQuery(document).ready(function(){columns.init('nggallery-manage-images');}); + /* ]]> */ + </script> + <?php +} + +/** + * Construtor class to create the table layout + * + * @package WordPress + * @subpackage List_Table + * @since 1.8.0 + * @access private + */ +class _NGG_Images_List_Table extends WP_List_Table { + var $_screen; + var $_columns; + + function _NGG_Images_List_Table( $screen ) { + if ( is_string( $screen ) ) + $screen = convert_to_screen( $screen ); + + $this->_screen = $screen; + $this->_columns = array() ; + + add_filter( 'manage_' . $screen->id . '_columns', array( &$this, 'get_columns' ), 0 ); + } + + function get_column_info() { + + $columns = get_column_headers( $this->_screen ); + $hidden = get_hidden_columns( $this->_screen ); + $_sortable = $this->get_sortable_columns(); + $sortable = array(); + + foreach ( $_sortable as $id => $data ) { + if ( empty( $data ) ) + continue; + + $data = (array) $data; + if ( !isset( $data[1] ) ) + $data[1] = false; + + $sortable[$id] = $data; + } + + return array( $columns, $hidden, $sortable ); + } + + // define the columns to display, the syntax is 'internal name' => 'display name' + function get_columns() { + $columns = array(); + + $columns['cb'] = '<input name="checkall" type="checkbox" onclick="checkAll(document.getElementById(\'updategallery\'));" />'; + $columns['id'] = __('ID'); + $columns['thumbnail'] = __('Thumbnail', 'nggallery'); + $columns['filename'] = __('Filename', 'nggallery'); + $columns['alt_title_desc'] = __('Alt & Title Text', 'nggallery') . ' / ' . __('Description', 'nggallery'); + $columns['tags'] = __('Tags (comma separated list)', 'nggallery'); + $columns['exclude'] = __('exclude', 'nggallery'); + + $columns = apply_filters('ngg_manage_images_columns', $columns); + + return $columns; + } + + function get_sortable_columns() { + return array(); + } +} + +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php new file mode 100644 index 000000000..71538a2ca --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php @@ -0,0 +1,138 @@ +<?php + +/** + * @author Alex Rabe + * + */ + +function nggallery_sortorder($galleryID = 0){ + global $wpdb, $ngg, $nggdb; + + if ($galleryID == 0) return; + + $galleryID = (int) $galleryID; + + if (isset ($_POST['updateSortorder'])) { + check_admin_referer('ngg_updatesortorder'); + // get variable new sortorder + parse_str($_POST['sortorder']); + if (is_array($sortArray)){ + $neworder = array(); + foreach($sortArray as $pid) { + $pid = substr($pid, 4); // get id from "pid-x" + $neworder[] = (int) $pid; + } + $sortindex = 1; + foreach($neworder as $pic_id) { + $wpdb->query("UPDATE $wpdb->nggpictures SET sortorder = '$sortindex' WHERE pid = $pic_id"); + $sortindex++; + } + + C_Photocrati_Cache::flush(); + + do_action('ngg_gallery_sort', $galleryID); + + nggGallery::show_message(__('Sort order changed','nggallery')); + } + } + + // look for presort args + $presort = isset($_GET['presort']) ? $_GET['presort'] : false; + $dir = ( isset($_GET['dir']) && $_GET['dir'] == 'DESC' ) ? 'DESC' : 'ASC'; + $sortitems = array('pid', 'filename', 'alttext', 'imagedate'); + // ensure that nobody added some evil sorting :-) + if (in_array( $presort, $sortitems) ) + $picturelist = $nggdb->get_gallery($galleryID, $presort, $dir, false); + else + $picturelist = $nggdb->get_gallery($galleryID, 'sortorder', $dir, false); + + //this is the url without any presort variable + $clean_url = 'admin.php?page=nggallery-manage-gallery&mode=sort&gid=' . $galleryID; + //if we go back , then the mode should be edit + $back_url = 'admin.php?page=nggallery-manage-gallery&mode=edit&gid=' . $galleryID; + + // In the case somebody presort, then we take this url + if ( isset($_GET['dir']) || isset($_GET['presort']) ) + $base_url = $_SERVER['REQUEST_URI']; + else + $base_url = $clean_url; + +?> + <script type="text/javascript"> + // seralize the ImageOrder + function saveImageOrder() + { + var serial = ""; + var objects = document.getElementsByTagName('div'); + for(var no=0;no<objects.length;no++){ + if(objects[no].className=='imageBox' || objects[no].className=='imageBoxHighlighted'){ + if (serial.length > 0) serial = serial + '&' + serial = serial + "sortArray[]=" + objects[no].id; + } + } + jQuery('input[name=sortorder]').val(serial); + // debug( 'This is the new order of the images(IDs) : <br>' + orderString ); + + } + jQuery(document).ready(function($) { + if ($(this).data('ready')) return; + + // Enable sorting + $(".jqui-sortable").sortable({items: 'div.imageBox'}); + + // Listen for events in other frames + if (window.Frame_Event_Publisher) { + Frame_Event_Publisher.listen_for('attach_to_post:manage_galleries attach_to_post:manage_images', function(){ + window.location.href = window.location.href; + }); + } + + $(this).data('ready', true); + }); + + + </script> + <div class="wrap"> + <form id="sortGallery" method="POST" action="<?php echo $clean_url ?>" onsubmit="saveImageOrder()" accept-charset="utf-8"> + <h2><?php _e('Sort Gallery', 'nggallery') ?></h2> + <div class="tablenav"> + <div class="alignleft actions"> + <?php wp_nonce_field('ngg_updatesortorder') ?> + <input class="button-primary action" type="submit" name="updateSortorder" onclick="saveImageOrder()" value="<?php _e('Update Sort Order', 'nggallery') ?>" /> + </div> + <div class="alignright actions"> + <a href="<?php echo esc_url( $back_url ); ?>" class="button"><?php _e('Back to gallery', 'nggallery'); ?></a> + </div> + </div> + <input name="sortorder" type="hidden" /> + <ul class="subsubsub"> + <li><?php _e('Presort', 'nggallery') ?> :</li> + <li><a href="<?php echo esc_attr(remove_query_arg('presort', $base_url)); ?>" <?php if ($presort == '') echo 'class="current"'; ?>><?php _e('Unsorted', 'nggallery') ?></a> |</li> + <li><a href="<?php echo esc_attr(add_query_arg('presort', 'pid', $base_url)); ?>" <?php if ($presort == 'pid') echo 'class="current"'; ?>><?php _e('Image ID', 'nggallery') ?></a> |</li> + <li><a href="<?php echo esc_attr(add_query_arg('presort', 'filename', $base_url)); ?>" <?php if ($presort == 'filename') echo 'class="current"'; ?>><?php _e('Filename', 'nggallery') ?></a> |</li> + <li><a href="<?php echo esc_attr(add_query_arg('presort', 'alttext', $base_url)); ?>" <?php if ($presort == 'alttext') echo 'class="current"'; ?>><?php _e('Alt/Title text', 'nggallery') ?></a> |</li> + <li><a href="<?php echo esc_attr(add_query_arg('presort', 'imagedate', $base_url)); ?>" <?php if ($presort == 'imagedate') echo 'class="current"'; ?>><?php _e('Date/Time', 'nggallery') ?></a> |</li> + <li><a href="<?php echo esc_attr(add_query_arg('dir', 'ASC', $base_url)); ?>" <?php if ($dir == 'ASC') echo 'class="current"'; ?>><?php _e('Ascending', 'nggallery') ?></a> |</li> + <li><a href="<?php echo esc_attr(add_query_arg('dir', 'DESC', $base_url)); ?>" <?php if ($dir == 'DESC') echo 'class="current"'; ?>><?php _e('Descending', 'nggallery') ?></a></li> + </ul> + </form> + <div id="debug" style="clear:both"></div> + <div class='jqui-sortable'> + <?php + if($picturelist) { + foreach($picturelist as $picture) { + ?> + <div class="imageBox" id="pid-<?php echo $picture->pid ?>"> + <div class="imageBox_theImage" style="background-image:url('<?php echo esc_url( $picture->thumbURL ); ?>')"></div> + <div class="imageBox_label"><span><?php echo esc_html( stripslashes($picture->alttext) ); ?></span></div> + </div> + <?php + } + } + ?> + </div> + </div> + +<?php +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php new file mode 100644 index 000000000..df1de53d8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/manage.php @@ -0,0 +1,659 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +class nggManageGallery { + + var $mode = 'main'; + var $gid = false; + var $pid = false; + var $base_page = 'admin.php?page=nggallery-manage-gallery'; + var $search_result = false; + + // initiate the manage page + function nggManageGallery() { + + // GET variables + if( isset($_GET['gid']) ) + $this->gid = (int) $_GET['gid']; + if( isset($_GET['pid']) ) + $this->pid = (int) $_GET['pid']; + if( isset($_GET['mode']) ) + $this->mode = trim ($_GET['mode']); + // Check for pagination request, avoid post process of other submit button, exclude search results + if ( isset($_POST['post_paged']) && !isset($_GET['s'] ) ) { + if ( $_GET['paged'] != $_POST['post_paged'] ) { + $_GET['paged'] = absint( $_POST['post_paged'] ); + return; + } + } + // Should be only called via manage galleries overview + if ( isset($_POST['page']) && $_POST['page'] == 'manage-galleries' ) + $this->post_processor_galleries(); + // Should be only called via a edit single gallery page + if ( isset($_POST['page']) && $_POST['page'] == 'manage-images' ) + $this->post_processor_images(); + // Should be called via a publish dialog + if ( isset($_POST['page']) && $_POST['page'] == 'publish-post' ) + $this->publish_post(); + //Look for other POST process + if ( !empty($_POST) || !empty($_GET) ) + $this->processor(); + + } + + function controller() { + + switch($this->mode) { + case 'sort': + include_once (dirname (__FILE__) . '/manage-sort.php'); + nggallery_sortorder($this->gid); + break; + case 'edit': + include_once (dirname (__FILE__) . '/manage-images.php'); + nggallery_picturelist(); + break; + case 'main': + default: + include_once (dirname (__FILE__) . '/manage-galleries.php'); + nggallery_manage_gallery_main(); + break; + } + } + + function processor() { + + global $wpdb, $ngg, $nggdb; + + // Delete a picture + if ($this->mode == 'delpic') { + + //TODO:Remove also Tag reference + check_admin_referer('ngg_delpicture'); + $image = $nggdb->find_image( $this->pid ); + if ($image) { + if ($ngg->options['deleteImg']) { + @unlink($image->imagePath); + @unlink($image->thumbPath); + @unlink($image->imagePath . '_backup' ); + } + $mapper = C_Image_Mapper::get_instance(); + $mapper->destroy($this->pid); + do_action('ngg_delete_picture', $this->pid); + + if ($result) + nggGallery::show_message( __('Picture','nggallery').' \''.$this->pid.'\' '.__('deleted successfully','nggallery') ); + } + + $this->mode = 'edit'; // show pictures + + } + + // Recover picture from backup + if ($this->mode == 'recoverpic') { + + check_admin_referer('ngg_recoverpicture'); + $image = $nggdb->find_image( $this->pid ); + // bring back the old image + nggAdmin::recover_image($image); + nggAdmin::create_thumbnail($image); + + nggGallery::show_message(__('Operation successful. Please clear your browser cache.',"nggallery")); + + $this->mode = 'edit'; // show pictures + + } + + // will be called after a ajax operation + if (isset ($_POST['ajax_callback'])) { + if ($_POST['ajax_callback'] == 1) + nggGallery::show_message(__('Operation successful. Please clear your browser cache.',"nggallery")); + } + + // show sort order + if ( isset ($_POST['sortGallery']) ) + $this->mode = 'sort'; + + if ( isset ($_GET['s']) ) + $this->search_images(); + + } + + function post_processor_galleries() { + global $wpdb, $ngg, $nggdb; + + // bulk update in a single gallery + if (isset ($_POST['bulkaction']) && isset ($_POST['doaction'])) { + + check_admin_referer('ngg_bulkgallery'); + + switch ($_POST['bulkaction']) { + case 'no_action'; + // No action + break; + case 'recover_images': + // Recover images from backup + // A prefix 'gallery_' will first fetch all ids from the selected galleries + nggAdmin::do_ajax_operation( 'gallery_recover_image' , $_POST['doaction'], __('Recover from backup','nggallery') ); + break; + case 'set_watermark': + // Set watermark + // A prefix 'gallery_' will first fetch all ids from the selected galleries + nggAdmin::do_ajax_operation( 'gallery_set_watermark' , $_POST['doaction'], __('Set watermark','nggallery') ); + break; + case 'import_meta': + // Import Metadata + // A prefix 'gallery_' will first fetch all ids from the selected galleries + nggAdmin::do_ajax_operation( 'gallery_import_metadata' , $_POST['doaction'], __('Import metadata','nggallery') ); + break; + case 'delete_gallery': + // Delete gallery + if ( is_array($_POST['doaction']) ) { + $deleted = false; + foreach ( $_POST['doaction'] as $id ) { + // get the path to the gallery + $gallery = nggdb::find_gallery($id); + if ($gallery){ + //TODO:Remove also Tag reference, look here for ids instead filename + $imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery->gid' "); + if ($ngg->options['deleteImg']) { + if (is_array($imagelist)) { + foreach ($imagelist as $filename) { + @unlink(WINABSPATH . $gallery->path . '/thumbs/thumbs_' . $filename); + @unlink(WINABSPATH . $gallery->path .'/'. $filename); + @unlink(WINABSPATH . $gallery->path .'/'. $filename . '_backup'); + } + } + // delete folder + @rmdir( WINABSPATH . $gallery->path . '/thumbs' ); + @rmdir( WINABSPATH . $gallery->path ); + } + } + do_action('ngg_delete_gallery', $id); + $deleted = nggdb::delete_gallery( $id ); + } + + if($deleted) + nggGallery::show_message(__('Gallery deleted successfully ', 'nggallery')); + + } + break; + } + } + + if (isset ($_POST['addgallery']) && isset ($_POST['galleryname'])){ + + check_admin_referer('ngg_addgallery'); + + if ( !nggGallery::current_user_can( 'NextGEN Add new gallery' )) + wp_die(__('Cheatin’ uh?')); + + // get the default path for a new gallery + $defaultpath = $ngg->options['gallerypath']; + $newgallery = esc_attr( $_POST['galleryname']); + if ( !empty($newgallery) ) + nggAdmin::create_gallery($newgallery, $defaultpath); + + do_action( 'ngg_update_addgallery_page' ); + } + + if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_ResizeImages'])) { + + check_admin_referer('ngg_thickbox_form'); + + //save the new values for the next operation + $ngg->options['imgWidth'] = (int) $_POST['imgWidth']; + $ngg->options['imgHeight'] = (int) $_POST['imgHeight']; + // What is in the case the user has no if cap 'NextGEN Change options' ? Check feedback + update_option('ngg_options', $ngg->options); + + $gallery_ids = explode(',', $_POST['TB_imagelist']); + // A prefix 'gallery_' will first fetch all ids from the selected galleries + nggAdmin::do_ajax_operation( 'gallery_resize_image' , $gallery_ids, __('Resize images','nggallery') ); + } + + if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_NewThumbnail'])) { + + check_admin_referer('ngg_thickbox_form'); + + //save the new values for the next operation + $ngg->options['thumbwidth'] = (int) $_POST['thumbwidth']; + $ngg->options['thumbheight'] = (int) $_POST['thumbheight']; + $ngg->options['thumbfix'] = isset ($_POST['thumbfix']) ? true : false; + // What is in the case the user has no if cap 'NextGEN Change options' ? Check feedback + update_option('ngg_options', $ngg->options); + ngg_refreshSavedSettings(); + + $gallery_ids = explode(',', $_POST['TB_imagelist']); + // A prefix 'gallery_' will first fetch all ids from the selected galleries + nggAdmin::do_ajax_operation( 'gallery_create_thumbnail' , $gallery_ids, __('Create new thumbnails','nggallery') ); + } + + } + + function post_processor_images() { + global $wpdb, $ngg, $nggdb; + + // bulk update in a single gallery + if (isset ($_POST['bulkaction']) && isset ($_POST['doaction'])) { + + check_admin_referer('ngg_updategallery'); + + switch ($_POST['bulkaction']) { + case 'no_action'; + break; + case 'rotate_cw': + nggAdmin::do_ajax_operation( 'rotate_cw' , $_POST['doaction'], __('Rotate images', 'nggallery') ); + break; + case 'rotate_ccw': + nggAdmin::do_ajax_operation( 'rotate_ccw' , $_POST['doaction'], __('Rotate images', 'nggallery') ); + break; + case 'recover_images': + nggAdmin::do_ajax_operation( 'recover_image' , $_POST['doaction'], __('Recover from backup', 'nggallery') ); + break; + case 'set_watermark': + nggAdmin::do_ajax_operation( 'set_watermark' , $_POST['doaction'], __('Set watermark', 'nggallery') ); + break; + case 'delete_images': + if ( is_array($_POST['doaction']) ) { + foreach ( $_POST['doaction'] as $imageID ) { + $image = $nggdb->find_image( $imageID ); + if ($image) { + if ($ngg->options['deleteImg']) { + @unlink($image->imagePath); + @unlink($image->thumbPath); + @unlink($image->imagePath."_backup"); + } + do_action('ngg_delete_picture', $image->pid); + $delete_pic = nggdb::delete_image( $image->pid ); + } + } + if($delete_pic) + nggGallery::show_message(__('Pictures deleted successfully ', 'nggallery')); + } + break; + case 'import_meta': + nggAdmin::do_ajax_operation( 'import_metadata' , $_POST['doaction'], __('Import metadata', 'nggallery') ); + break; + } + } + + if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_ResizeImages'])) { + + check_admin_referer('ngg_thickbox_form'); + + //save the new values for the next operation + $ngg->options['imgWidth'] = (int) $_POST['imgWidth']; + $ngg->options['imgHeight'] = (int) $_POST['imgHeight']; + + update_option('ngg_options', $ngg->options); + + $pic_ids = explode(',', $_POST['TB_imagelist']); + nggAdmin::do_ajax_operation( 'resize_image' , $pic_ids, __('Resize images','nggallery') ); + } + + if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_NewThumbnail'])) { + + check_admin_referer('ngg_thickbox_form'); + + //save the new values for the next operation + $ngg->options['thumbwidth'] = (int) $_POST['thumbwidth']; + $ngg->options['thumbheight'] = (int) $_POST['thumbheight']; + $ngg->options['thumbfix'] = isset ( $_POST['thumbfix'] ) ? true : false; + update_option('ngg_options', $ngg->options); + ngg_refreshSavedSettings(); + + $pic_ids = explode(',', $_POST['TB_imagelist']); + nggAdmin::do_ajax_operation( 'create_thumbnail' , $pic_ids, __('Create new thumbnails','nggallery') ); + } + + if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_SelectGallery'])) { + + check_admin_referer('ngg_thickbox_form'); + + $pic_ids = explode(',', $_POST['TB_imagelist']); + $dest_gid = (int) $_POST['dest_gid']; + + switch ($_POST['TB_bulkaction']) { + case 'copy_to': + // Copy images + nggAdmin::copy_images( $pic_ids, $dest_gid ); + break; + case 'move_to': + // Move images + nggAdmin::move_images( $pic_ids, $dest_gid ); + break; + } + } + + if (isset ($_POST['TB_bulkaction']) && isset ($_POST['TB_EditTags'])) { + // do tags update + + check_admin_referer('ngg_thickbox_form'); + + // get the images list + $pic_ids = explode(',', $_POST['TB_imagelist']); + $taglist = explode(',', $_POST['taglist']); + $taglist = array_map('trim', $taglist); + + if (is_array($pic_ids)) { + + foreach($pic_ids as $pic_id) { + + // which action should be performed ? + switch ($_POST['TB_bulkaction']) { + case 'no_action'; + // No action + break; + case 'overwrite_tags': + // Overwrite tags + wp_set_object_terms($pic_id, $taglist, 'ngg_tag'); + break; + case 'add_tags': + // Add / append tags + wp_set_object_terms($pic_id, $taglist, 'ngg_tag', TRUE); + break; + case 'delete_tags': + // Delete tags + $oldtags = wp_get_object_terms($pic_id, 'ngg_tag', 'fields=names'); + // get the slugs, to vaoid case sensitive problems + $slugarray = array_map('sanitize_title', $taglist); + $oldtags = array_map('sanitize_title', $oldtags); + // compare them and return the diff + $newtags = array_diff($oldtags, $slugarray); + wp_set_object_terms($pic_id, $newtags, 'ngg_tag'); + break; + } + } + + nggGallery::show_message( __('Tags changed', 'nggallery') ); + } + } + + if (isset ($_POST['updatepictures']) ) { + // Update pictures + + check_admin_referer('ngg_updategallery'); + + if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' ) && !isset ($_GET['s']) ) { + + if ( nggGallery::current_user_can( 'NextGEN Edit gallery title' )) { + // don't forget to update the slug + $slug = nggdb::get_unique_slug( sanitize_title( $_POST['title'] ), 'gallery', $this->gid ); + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET title= '%s', slug= '%s' WHERE gid = %d", stripslashes($_POST['title']), $slug, $this->gid) ); + } + if ( nggGallery::current_user_can( 'NextGEN Edit gallery path' )) + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET path= '%s' WHERE gid = %d", untrailingslashit ( str_replace('\\', '/', trim( stripslashes($_POST['path']) )) ), $this->gid ) ); + if ( nggGallery::current_user_can( 'NextGEN Edit gallery description' )) + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET galdesc= '%s' WHERE gid = %d", stripslashes($_POST['gallerydesc']), $this->gid) ); + if ( nggGallery::current_user_can( 'NextGEN Edit gallery page id' )) + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET pageid= '%d' WHERE gid = %d", (int) $_POST['pageid'], $this->gid) ); + if ( nggGallery::current_user_can( 'NextGEN Edit gallery preview pic' )) + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET previewpic= '%d' WHERE gid = %d", (int) $_POST['previewpic'], $this->gid) ); + if ( isset ($_POST['author']) && nggGallery::current_user_can( 'NextGEN Edit gallery author' ) ) + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggallery SET author= '%d' WHERE gid = %d", (int) $_POST['author'], $this->gid) ); + + wp_cache_delete($this->gid, 'ngg_gallery'); + + } + + $this->update_pictures(); + + //hook for other plugin to update the fields + do_action('ngg_update_gallery', $this->gid, $_POST); + + nggGallery::show_message(__('Update successful',"nggallery")); + } + + if (isset ($_POST['scanfolder'])) { + // Rescan folder + check_admin_referer('ngg_updategallery'); + + $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$this->gid' "); + nggAdmin::import_gallery($gallerypath); + } + + if (isset ($_POST['addnewpage'])) { + // Add a new page + + check_admin_referer('ngg_updategallery'); + + $parent_id = esc_attr($_POST['parent_id']); + $gallery_title = esc_attr($_POST['title']); + $gallery_name = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE gid = '$this->gid' "); + + // Create a WP page + global $user_ID; + + $page['post_type'] = 'page'; + $page['post_content'] = '[nggallery id=' . $this->gid . ']'; + $page['post_parent'] = $parent_id; + $page['post_author'] = $user_ID; + $page['post_status'] = 'publish'; + $page['post_title'] = $gallery_title == '' ? $gallery_name : $gallery_title; + $page = apply_filters('ngg_add_new_page', $page, $this->gid); + + $gallery_pageid = wp_insert_post ($page); + if ($gallery_pageid != 0) { + $result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', pageid = '$gallery_pageid' WHERE gid = '$this->gid'"); + wp_cache_delete($this->gid, 'ngg_gallery'); + nggGallery::show_message( __('New gallery page ID','nggallery'). ' ' . $gallery_pageid . ' -> <strong>' . $gallery_title . '</strong> ' .__('created','nggallery') ); + } + + do_action('ngg_gallery_addnewpage', $this->gid); + } + } + + /** + * Publish a new post with the shortcode from the selected image + * + * @since 1.7.0 + * @return void + */ + function publish_post() { + + check_admin_referer('publish-post'); + + // Create a WP page + global $user_ID, $ngg; + + $ngg->options['publish_width'] = (int) $_POST['width']; + $ngg->options['publish_height'] = (int) $_POST['height']; + $ngg->options['publish_align'] = $_POST['align']; + $align = ( $ngg->options['publish_align'] == 'none') ? '' : 'float='.$ngg->options['publish_align']; + + //save the new values for the next operation + update_option('ngg_options', $ngg->options); + + $post['post_type'] = 'post'; + $post['post_content'] = '[singlepic id=' . intval($_POST['pid']) . ' w=' . $ngg->options['publish_width'] . ' h=' . $ngg->options['publish_height'] . ' ' . $align . ']'; + $post['post_author'] = $user_ID; + $post['post_status'] = isset ( $_POST['publish'] ) ? 'publish' : 'draft'; + $post['post_title'] = $_POST['post_title']; + $post = apply_filters('ngg_add_new_post', $post, $_POST['pid']); + + $post_id = wp_insert_post ($post); + + if ($post_id != 0) + nggGallery::show_message( __('Published a new post','nggallery') ); + + } + + function update_pictures() { + global $wpdb, $nggdb; + + //TODO:Error message when update failed + + $description = isset ( $_POST['description'] ) ? $_POST['description'] : array(); + $alttext = isset ( $_POST['alttext'] ) ? $_POST['alttext'] : array(); + $exclude = isset ( $_POST['exclude'] ) ? $_POST['exclude'] : false; + $taglist = isset ( $_POST['tags'] ) ? $_POST['tags'] : false; + $pictures = isset ( $_POST['pid'] ) ? $_POST['pid'] : false; + + if ( is_array($pictures) ){ + foreach( $pictures as $pid ){ + $image = $nggdb->find_image( $pid ); + if ($image) { + // description field + $image->description = stripslashes($description[$image->pid]); + + // only uptade this field if someone change the alttext + if ( $image->alttext != $alttext[$image->pid] ) { + $image->alttext = stripslashes($alttext[$image->pid]); + $image->image_slug = nggdb::get_unique_slug( sanitize_title( $image->alttext ), 'image', $image->pid ); + } + + // set exclude flag + if ( is_array($exclude) ) + $image->exclude = ( array_key_exists($image->pid, $exclude) )? 1 : 0; + else + $image->exclude = 0; + + // update the database + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggpictures SET image_slug = '%s', alttext = '%s', description = '%s', exclude = %d WHERE pid = %d", + $image->image_slug, $image->alttext, $image->description, $image->exclude, $image->pid) ); + // remove from cache + wp_cache_delete($image->pid, 'ngg_image'); + + // hook for other plugins after image is updated + do_action('ngg_image_updated', $image); + } + + } + } + + //TODO: This produce 300-400 queries ! + if ( is_array($taglist) ){ + foreach($taglist as $key=>$value) { + $tags = explode(',', $value); + wp_set_object_terms($key, $tags, 'ngg_tag'); + } + } + + return; + } + + // Check if user can select a author + function get_editable_user_ids( $user_id, $exclude_zeros = true ) { + global $wpdb; + + $user = new WP_User( $user_id ); + + if ( ! $user->has_cap('NextGEN Manage others gallery') ) { + if ( $user->has_cap('NextGEN Manage gallery') || $exclude_zeros == false ) + return array($user->id); + else + return false; + } + + $level_key = $wpdb->prefix . 'user_level'; + $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key'"; + if ( $exclude_zeros ) + $query .= " AND meta_value != '0'"; + + return $wpdb->get_col( $query ); + } + + function search_images() { + global $nggdb; + + if ( empty($_GET['s']) ) + return; + //on what ever reason I need to set again the query var + set_query_var('s', $_GET['s']); + $request = get_search_query(); + + // look now for the images + $search_for_images = (array) $nggdb->search_for_images( $request ); + $search_for_tags = (array) nggTags::find_images_for_tags( $request , 'ASC' ); + + // finally merge the two results together + $this->search_result = array_merge( $search_for_images , $search_for_tags ); + + // TODO: Currently we didn't support a proper pagination + $nggdb->paged['total_objects'] = $nggdb->paged['objects_per_page'] = count ($this->search_result) ; + $nggdb->paged['max_objects_per_page'] = 1; + + // show pictures page + $this->mode = 'edit'; + } + + /** + * Display the pagination. + * + * @since 1.8.0 + * @author taken from WP core (see includes/class-wp-list-table.php) + * @return string echo the html pagination bar + */ + function pagination( $which, $current, $total_items, $per_page ) { + + $total_pages = ($per_page > 0) ? ceil( $total_items / $per_page ) : 1; + + $output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>'; + + $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; + + $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url ); + + $page_links = array(); + + $disable_first = $disable_last = ''; + if ( $current == 1 ) + $disable_first = ' disabled'; + if ( $current == $total_pages ) + $disable_last = ' disabled'; + + $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>", + 'first-page' . $disable_first, + esc_attr__( 'Go to the first page' ), + esc_url( remove_query_arg( 'paged', $current_url ) ), + '«' + ); + + $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>", + 'prev-page' . $disable_first, + esc_attr__( 'Go to the previous page' ), + esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), + '‹' + ); + + if ( 'bottom' == $which ) + $html_current_page = $current; + else + $html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='%s' value='%s' size='%d' />", + esc_attr__( 'Current page' ), + esc_attr( 'post_paged' ), + $current, + strlen( $total_pages ) + ); + + $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) ); + $page_links[] = '<span class="paging-input">' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . '</span>'; + + $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>", + 'next-page' . $disable_last, + esc_attr__( 'Go to the next page' ), + esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), + '›' + ); + + $page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>", + 'last-page' . $disable_last, + esc_attr__( 'Go to the last page' ), + esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), + '»' + ); + + $output .= "\n<span class='pagination-links'>" . join( "\n", $page_links ) . '</span>'; + + if ( $total_pages ) + $page_class = $total_pages < 2 ? ' one-page' : ''; + else + $page_class = ' no-pages'; + + $pagination = "<div class='tablenav-pages{$page_class}'>$output</div>"; + + echo $pagination; + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php new file mode 100644 index 000000000..88f7945f8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php @@ -0,0 +1,303 @@ +<?php + +/** + * @title Add action/filter for the upload tab + * @author Alex Rabe + * + */ + +function ngg_wp_upload_tabs ($tabs) { + + $newtab = array('nextgen' => __('NextGEN Gallery','nggallery')); + + return array_merge($tabs,$newtab); +} + +add_filter('media_upload_tabs', 'ngg_wp_upload_tabs'); + +function media_upload_nextgen() { + + // Not in use + $errors = false; + + // Generate TinyMCE HTML output + if ( isset($_POST['send']) ) { + $keys = array_keys($_POST['send']); + $send_id = (int) array_shift($keys); + $image = $_POST['image'][$send_id]; + $alttext = stripslashes( htmlspecialchars ($image['alttext'], ENT_QUOTES)); + $description = stripslashes (htmlspecialchars($image['description'], ENT_QUOTES)); + + // here is no new line allowed + $clean_description = preg_replace("/\n|\r\n|\r$/", " ", $description); + $img = nggdb::find_image($send_id); + $thumbcode = $img->get_thumbcode(); + $class="ngg-singlepic ngg-{$image['align']}"; + + // Create a shell displayed-gallery so we can inspect its settings + $registry = C_Component_Registry::get_instance(); + $mapper = $registry->get_utility('I_Displayed_Gallery_Mapper'); + $factory = $registry->get_utility('I_Component_Factory'); + $args = array( + 'display_type' => NEXTGEN_BASIC_SINGLEPIC_MODULE_NAME + ); + $displayed_gallery = $factory->create('displayed_gallery', $mapper, $args); + $width = $displayed_gallery->display_settings['width']; + $height = $displayed_gallery->display_settings['height']; + + // Build output + if ($image['size'] == "thumbnail") + $html = "<img src='{$image['thumb']}' alt='{$alttext}' class='{$class}' />"; + else + $html = ''; + + // Wrap the link to the fullsize image around + $html = "<a {$thumbcode} href='{$image['url']}' title='{$clean_description}'>{$html}</a>"; + + if ($image['size'] == "full") + $html = "<img src='{$image['url']}' alt='{$alttext}' class='{$class}' />"; + + if ($image['size'] == "singlepic") + $html = "[singlepic id={$send_id} w={$width} h={$height} float={$image['align']}]"; + + media_upload_nextgen_save_image(); + + // Return it to TinyMCE + return media_send_to_editor($html); + } + + // Save button + if ( isset($_POST['save']) ) { + media_upload_nextgen_save_image(); + } + + return wp_iframe( 'media_upload_nextgen_form', $errors ); +} + +add_action('media_upload_nextgen', 'media_upload_nextgen'); + +function media_upload_nextgen_save_image() { + + global $wpdb; + + check_admin_referer('ngg-media-form'); + + if ( !empty($_POST['image']) ) foreach ( $_POST['image'] as $image_id => $image ) { + + // create a unique slug + $image_slug = nggdb::get_unique_slug( sanitize_title( $image['alttext'] ), 'image' ); + $wpdb->query( $wpdb->prepare ("UPDATE $wpdb->nggpictures SET image_slug= '%s', alttext= '%s', description = '%s' WHERE pid = %d", $image_slug, $image['alttext'], $image['description'], $image_id)); + wp_cache_delete($image_id, 'ngg_image'); + } +} + +function media_upload_nextgen_form($errors) { + + global $wpdb, $wp_query, $wp_locale, $type, $tab, $post_mime_types, $ngg, $nggdb; + + media_upload_header(); + + $post_id = intval($_REQUEST['post_id']); + $galleryID = 0; + $total = 1; + $picarray = array(); + $chromeless = !empty($_GET['chromeless']) ? $_GET['chromeless'] : null; + $chromeless_url = $chromeless ? ('&chromeless=' . $chromeless) : null; + + $form_action_url = site_url( "wp-admin/media-upload.php?type={$GLOBALS['type']}&tab=nextgen&post_id=$post_id" . $chromeless_url, 'admin'); + + // Get number of images in gallery + if ( isset($_REQUEST['select_gal']) ){ + $galleryID = (int) $_REQUEST['select_gal']; + $total = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID'"); + } + + // Build navigation + $_GET['paged'] = isset($_GET['paged']) ? intval($_GET['paged']) : 0; + if ( $_GET['paged'] < 1 ) + $_GET['paged'] = 1; + $start = ( $_GET['paged'] - 1 ) * 10; + if ( $start < 1 ) + $start = 0; + + // Get the images + if ( $galleryID != 0 ) + $picarray = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY {$ngg->options['galSort']} {$ngg->options['galSortDir']} LIMIT $start, 10 "); + + // WP-Core code for Post-thumbnail + $calling_post_id = 0; + if ( isset( $_GET['post_id'] ) ) + $calling_post_id = $_GET['post_id']; + +?> + +<script type="text/javascript"> +<!-- + function NGGSetAsThumbnail(id, nonce){ + var $link = jQuery('a#ngg-post-thumbnail-' + id); + + $link.text( setPostThumbnailL10n.saving ); + jQuery.post(ajaxurl, { + action:"ngg_set_post_thumbnail", post_id: post_id, thumbnail_id: id, cookie: encodeURIComponent(document.cookie) + }, function(str){ + var win = window.dialogArguments || opener || parent || top; + $link.text( setPostThumbnailL10n.setThumbnail ); + if ( str == '0' ) { + alert( setPostThumbnailL10n.error ); + } else if (str == '-1') { + // image removed + } else { + WPSetAsThumbnail(str, nonce); + } + } + ); + } +//--> +</script> + +<form id="filter" action="" method="get"> +<input type="hidden" name="type" value="<?php echo esc_attr( $GLOBALS['type'] ); ?>" /> +<input type="hidden" name="tab" value="<?php echo esc_attr( $GLOBALS['tab'] ); ?>" /> +<?php +if ($chromeless) +{ +?> +<input type="hidden" name="chromeless" value="<?php echo esc_attr( $chromeless ); ?>" /> +<?php +} +?> +<input type="hidden" name="post_id" value="<?php echo (int) $post_id; ?>" /> + +<div class="tablenav"> + <?php + $page_links = paginate_links( array( + 'base' => add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => ceil($total / 10), + 'current' => $_GET['paged'] + )); + + if ( $page_links ) + echo "<div class='tablenav-pages'>$page_links</div>"; + ?> + + <div class="alignleft actions"> + <select id="select_gal" name="select_gal" style="width:120px;">; + <option value="0" <?php selected('0', $galleryID); ?> ><?php esc_attr( _e('No gallery',"nggallery") ); ?></option> + <?php + // Show gallery selection + $gallerylist = $nggdb->find_all_galleries(); + if(is_array($gallerylist)) { + foreach($gallerylist as $gallery) { + $selected = ($gallery->gid == $galleryID )? ' selected="selected"' : ""; + echo '<option value="'.$gallery->gid.'"'.$selected.' >'.$gallery->title.'</option>'."\n"; + } + } + ?> + </select> + <input type="submit" id="show-gallery" value="<?php esc_attr( _e('Select »','nggallery') ); ?>" class="button-secondary" /> + </div> + <br style="clear:both;" /> +</div> +</form> + +<form enctype="multipart/form-data" method="post" action="<?php echo esc_attr($form_action_url); ?>" class="media-upload-form" id="library-form"> + + <?php wp_nonce_field('ngg-media-form'); ?> + + <script type="text/javascript"> + <!-- + jQuery(function($){ + var preloaded = $(".media-item.preloaded"); + if ( preloaded.length > 0 ) { + preloaded.each(function(){prepareMediaItem({id:this.id.replace(/[^0-9]/g, '')},'');}); + updateMediaForm(); + } + }); + --> + </script> + + <div id="media-items"> + <?php + if( is_array($picarray) ) { + foreach ($picarray as $picid) { + //TODO:Reduce SQL Queries + $picture = nggdb::find_image($picid); + ?> + <div id='media-item-<?php echo $picid ?>' class='media-item preloaded'> + <div class='filename'></div> + <a class='toggle describe-toggle-on' href='#'><?php esc_attr( _e('Show', "nggallery") ); ?></a> + <a class='toggle describe-toggle-off' href='#'><?php esc_attr( _e('Hide', "nggallery") );?></a> + <div class='filename new'><?php echo ( empty($picture->alttext) ) ? wp_html_excerpt( esc_html( $picture->filename ),60) : stripslashes( wp_html_excerpt( esc_html( $picture->alttext ),60) ); ?></div> + <table class='slidetoggle describe startclosed'><tbody> + <tr> + <td rowspan='4'><img class='thumbnail' alt='<?php echo esc_attr( $picture->alttext ); ?>' src='<?php echo esc_attr( $picture->thumbURL ); ?>'/></td> + <td><?php esc_html( _e('Image ID:', "nggallery") ); ?><?php echo $picid ?></td> + </tr> + <tr><td><?php echo esc_html( $picture->filename ); ?></td></tr> + <tr><td><?php echo esc_html( stripslashes($picture->alttext) ); ?></td></tr> + <tr><td> </td></tr> + <tr> + <td class="label"><label for="image[<?php echo $picid ?>][alttext]"><?php esc_attr_e('Alt/Title text', "nggallery") ;?></label></td> + <td class="field"><input id="image[<?php echo $picid ?>][alttext]" name="image[<?php echo $picid ?>][alttext]" value="<?php esc_attr_e( stripslashes($picture->alttext) ); ?>" type="text"/></td> + </tr> + <tr> + <td class="label"><label for="image[<?php echo $picid ?>][description]"><?php esc_attr_e("Description","nggallery") ; ?></label></td> + <td class="field"><textarea name="image[<?php echo $picid ?>][description]" id="image[<?php echo $picid ?>][description]"><?php esc_attr_e( stripslashes($picture->description) ); ?></textarea></td> + </tr> + <tr class="align"> + <td class="label"><label for="image[<?php echo $picid ?>][align]"><?php esc_attr_e("Alignment"); ?></label></td> + <td class="field"> + <input name="image[<?php echo $picid ?>][align]" id="image-align-none-<?php echo $picid ?>" checked="checked" value="none" type="radio" /> + <label for="image-align-none-<?php echo $picid ?>" class="align image-align-none-label"><?php esc_attr_e("None") ;?></label> + <input name="image[<?php echo $picid ?>][align]" id="image-align-left-<?php echo $picid ?>" value="left" type="radio" /> + <label for="image-align-left-<?php echo $picid ?>" class="align image-align-left-label"><?php esc_attr_e("Left") ;?></label> + <input name="image[<?php echo $picid ?>][align]" id="image-align-center-<?php echo $picid ?>" value="center" type="radio" /> + <label for="image-align-center-<?php echo $picid ?>" class="align image-align-center-label"><?php esc_attr_e("Center") ;?></label> + <input name="image[<?php echo $picid ?>][align]" id="image-align-right-<?php echo $picid ?>" value="right" type="radio" /> + <label for="image-align-right-<?php echo $picid ?>" class="align image-align-right-label"><?php esc_attr_e("Right") ;?></label> + </td> + </tr> + <tr class="image-size"> + <th class="label"><label for="image[<?php echo $picid ?>][size]"><span class="alignleft"><?php esc_attr_e("Size") ; ?></span></label> + </th> + <td class="field"> + <input name="image[<?php echo $picid ?>][size]" id="image-size-thumb-<?php echo $picid ?>" type="radio" checked="checked" value="thumbnail" /> + <label for="image-size-thumb-<?php echo $picid ?>"><?php esc_attr_e("Thumbnail") ; ?></label> + <input name="image[<?php echo $picid ?>][size]" id="image-size-full-<?php echo $picid ?>" type="radio" value="full" /> + <label for="image-size-full-<?php echo $picid ?>"><?php esc_attr_e("Full size") ; ?></label> + <input name="image[<?php echo $picid ?>][size]" id="image-size-singlepic-<?php echo $picid ?>" type="radio" value="singlepic" /> + <label for="image-size-singlepic-<?php echo $picid ?>"><?php esc_attr_e("Singlepic", "nggallery") ; ?></label> + </td> + </tr> + <tr class="submit"> + <td> + <input type="hidden" name="image[<?php echo $picid ?>][thumb]" value="<?php echo esc_attr( $picture->thumbURL ); ?>" /> + <input type="hidden" name="image[<?php echo $picid ?>][url]" value="<?php echo esc_attr( $picture->imageURL ); ?>" /> + </td> + <td class="savesend"> + <?php + if ( $calling_post_id && current_theme_supports( 'post-thumbnails', get_post_type( $calling_post_id ) ) ) + $ajax_nonce = wp_create_nonce( "set_post_thumbnail-$calling_post_id" ); + echo "<a class='ngg-post-thumbnail' id='ngg-post-thumbnail-" . $picid . "' href='#' onclick='NGGSetAsThumbnail(\"$picid\", \"$ajax_nonce\");return false;'>" . esc_html__( 'Use as featured image' ) . "</a>"; + ?> + <button type="submit" class="button" value="1" name="send[<?php echo $picid ?>]"><?php esc_html_e( 'Insert into Post' ); ?></button> + </td> + </tr> + </tbody></table> + </div> + <?php + } + } + ?> + </div> + <p class="ml-submit"> + <input type="submit" class="button savebutton" name="save" value="<?php esc_attr( _e('Save all changes','nggallery') ); ?>" /> + </p> + <input type="hidden" name="post_id" id="post_id" value="<?php echo (int) $post_id; ?>" /> + <input type="hidden" name="select_gal" id="select_gal" value="<?php echo (int) $galleryID; ?>" /> +</form> + +<?php +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php new file mode 100644 index 000000000..435eefeb7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/overview.php @@ -0,0 +1,691 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * nggallery_admin_overview() + * + * Add the admin overview the dashboard style + * @return mixed content + */ +function nggallery_admin_overview() { + ?> + <div class="wrap ngg-wrap"> + <?php screen_icon( 'nextgen-gallery' ); ?> + <h2><?php _e('NextGEN Gallery Overview', 'nggallery') ?></h2> + <?php if (version_compare(PHP_VERSION, '5.0.0', '<')) ngg_check_for_PHP5(); ?> + <div id="dashboard-widgets-container" class="ngg-overview"> + <div id="dashboard-widgets" class="metabox-holder"> + <div id="post-body"> + <div id="dashboard-widgets-main-content"> + <div class="postbox-container" id="main-container" style="width:75%;"> + <?php do_meta_boxes('ngg_overview', 'left', ''); ?> + </div> + <div class="postbox-container" id="side-container" style="width:24%;"> + <?php do_meta_boxes('ngg_overview', 'right', ''); ?> + </div> + </div> + </div> + </div> + </div> + </div> + <script type="text/javascript"> + //<![CDATA[ + var ajaxWidgets, ajaxPopulateWidgets; + + jQuery(document).ready( function($) { + // These widgets are sometimes populated via ajax + ajaxWidgets = [ + 'dashboard_primary', + 'ngg_locale', + 'dashboard_plugins' + ]; + + ajaxPopulateWidgets = function(el) { + show = function(id, i) { + var p, e = $('#' + id + ' div.inside:visible').find('.widget-loading'); + if ( e.length ) { + p = e.parent(); + setTimeout( function(){ + p.load('admin-ajax.php?action=ngg_dashboard&jax=' + id, '', function() { + p.hide().slideDown('normal', function(){ + $(this).css('display', ''); + if ( 'dashboard_plugins' == id && $.isFunction(tb_init) ) + tb_init('#dashboard_plugins a.thickbox'); + }); + }); + }, i * 500 ); + } + }; + if ( el ) { + el = el.toString(); + if ( $.inArray(el, ajaxWidgets) != -1 ) + show(el, 0); + } else { + $.each( ajaxWidgets, function(i) { + show(this, i); + }); + } + }; + ajaxPopulateWidgets(); + } ); + + jQuery(document).ready( function($) { + // postboxes setup + postboxes.add_postbox_toggles('ngg-overview'); + }); + //]]> + </script> + <?php +} + +/** + * Load the meta boxes + * + */ +add_meta_box('dashboard_right_now', __('Welcome to NextGEN Gallery !', 'nggallery'), 'ngg_overview_right_now', 'ngg_overview', 'left', 'core'); +add_meta_box('ngg_meta_box', __('Do you like this Plugin?', 'nggallery'), 'ngg_likeThisMetaBox', 'ngg_overview', 'right', 'core'); +if ( !(get_locale() == 'en_US') ) + add_meta_box('ngg_locale', __('Translation', 'nggallery'), 'ngg_widget_locale', 'ngg_overview', 'right', 'core'); +//add_meta_box('dashboard_primary', __('Latest News', 'nggallery'), 'ngg_widget_overview_news', 'ngg_overview', 'left', 'core'); +add_meta_box('ngg_about_meta_box', __('About', 'nggallery'), 'ngg_AboutMetaBox', 'ngg_overview', 'left', 'core'); +//add_meta_box('ngg_lastdonators', __('Recent donators', 'nggallery'), 'ngg_widget_overview_donators', 'ngg_overview', 'right', 'core'); +if ( !is_multisite() || is_super_admin() ) { + add_meta_box('ngg_server', __('Server Settings', 'nggallery'), 'ngg_overview_server', 'ngg_overview', 'right', 'core'); +} + +function ngg_AboutMetaBox() +{ + ?> + <div id="poststuff"> + <p><?php _e("NextGEN Gallery is one of the most popular Wordpress plugins of all time with over 7 million downloads. It is developed and supported by Photocrati Media. We'd like to offer a special thanks to Alex Rabe, who first developed the plugin and maintained it through 2011.", 'nggallery'); ?></p> + <p><?php _e("<strong>NEED HELP?</strong> If you need help or assistance please visit the <a href='http://wordpress.org/support/plugin/nextgen-gallery'>NextGEN Gallery forums on WordPress.org</a>. Please note that we actively monitor and participate in the forums, but given that NextGEN Gallery is a free product, we don't guarantee replies to support queries.", 'nggallery'); ?></p> + <p><?php _e("<strong>EXTENDING NEXTGEN?</strong> There are many third party plugins that add displays and functionality for NextGEN Gallery. See our <a href='http://www.nextgen-gallery.com/nextgen-gallery-extension-plugins/'>Complete List of NextGEN Extension Plugins</a>.", 'nggallery'); ?></p> + </div> + <?php +} + +function ngg_likeThisMetaBox() { + + echo '<p>'; + echo sprintf(__('This plugin is primarily developed, maintained, supported and documented by <a href="%s" target="_blank">Photocrati Media</a> with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!', 'nggallery'), 'http://www.photocrati.com/'); + echo '</p><ul>'; + + $url = 'http://wordpress.org/plugins/nextgen-gallery/' ; + echo "<li style='padding-left: 38px; background:transparent url(" . NGGALLERY_URLPATH . "admin/images/icon-rating.png ) no-repeat scroll center left; background-position: 16px 50%; text-decoration: none;'><a href='{$url}' target='_blank'>"; + _e('Please click "Works" on WordPress.org', 'nggallery'); + echo "</a></li>"; + + $url = 'http://wordpress.org/plugins/nextgen-gallery/' ; + echo "<li style='padding-left: 38px; background:transparent url(" . NGGALLERY_URLPATH . "admin/images/icon-rating.png ) no-repeat scroll center left; background-position: 16px 50%; text-decoration: none;'><a href='{$url}' target='_blank'>"; + _e('Give it a good rating on WordPress.org', 'nggallery'); + echo "</a></li>"; + + $url = 'http://www.nextgen-gallery.com'; + echo "<li style='padding-left: 38px; background:transparent url(" . NGGALLERY_URLPATH . "admin/images/nextgen.png ) no-repeat scroll center left; background-position: 16px 50%; text-decoration: none;'><a href='{$url}' target='_blank'>"; + _e("Visit the plugin homepage", 'nggallery'); + echo "</a></li>"; + + $url = 'http://www.nextgen-gallery.com/languages/'; + echo "<li style='padding-left: 38px; background:transparent url(" . NGGALLERY_URLPATH . "admin/images/icon-translate.png ) no-repeat scroll center left; background-position: 16px 50%; text-decoration: none;'><a href='{$url}' target='_blank'>"; + _e("Help translating it", 'nggallery'); + echo "</a></li>"; + + echo '</ul>'; + + echo ' + <div class="social" style="text-align:center;margin:15px 0 10px 0;"><span class="social" style="margin-right:5px;"><a target="_blank" href="http://twitter.com/NextGENGallery"><img title="Follow NextGEN on Twitter" alt="Twitter" src="' . NGGALLERY_URLPATH . 'admin/images/twitter.png"></a></span><span class="social" style="margin-right:5px;"><a target="_blank" href="http://www.facebook.com/NextGENGallery"><img title="Like NextGEN on Facebook" alt="Facebook" src="' . NGGALLERY_URLPATH . 'admin/images/facebook.png"></a></span><span class="social"><a target="_blank" href="http://plus.google.com/101643895780935290171"><img title="Add NextGEN to your circles" alt="GooglePlus" src="' . NGGALLERY_URLPATH . 'admin/images/googleplus.png"></a></span></div>'; +} + +/** + * Show the server settings in a dashboard widget + * + * @return void + */ +function ngg_overview_server() { +?> +<div id="dashboard_server_settings" class="dashboard-widget-holder wp_dashboard_empty"> + <div class="ngg-dashboard-widget"> + <div class="dashboard-widget-content"> + <ul class="settings"> + <?php ngg_get_serverinfo(); ?> + </ul> + <p><strong><?php _e('Graphic Library', 'nggallery'); ?></strong></p> + <ul class="settings"> + <?php ngg_gd_info(); ?> + </ul> + </div> + </div> +</div> +<?php +} + +/** + * Show the most recent donators + * + * @return void + */ +function ngg_widget_overview_donators() { + echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; +} + +function ngg_overview_donators() { + global $ngg; + + $i = 0; + $list = ''; + + $supporter = nggAdminPanel::get_remote_array($ngg->donators); + + // Ensure that this is a array + if ( !is_array($supporter) ) + return _e('Thanks to all donators...', 'nggallery'); + + $supporter = array_reverse($supporter); + + foreach ($supporter as $name => $url) { + $i++; + if ($url) + $list .= "<li><a href=\"$url\">$name</a></li>\n"; + else + $list .= "<li>$name</li>"; + if ($i > 4) + break; + } + +?> +<div id="dashboard_server_settings" class="dashboard-widget-holder"> + <div class="ngg-dashboard-widget"> + <div class="dashboard-widget-content"> + <ul class="settings"> + <?php echo $list; ?> + </ul> + <p class="textright"> + <a class="button" href="admin.php?page=nggallery-about#donators"><?php _e('View all', 'nggallery'); ?></a> + </p> + </div> + </div> +</div> +<?php +} + +/** + * Show the latest NextGEN Gallery news + * + * @return void + */ +function ngg_widget_overview_news() { + echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; +} +function ngg_overview_news(){ + +?> +<div class="rss-widget"> + <?php + $rss = @fetch_feed( 'http://feeds.feedburner.com/nextgen-gallery' ); + + if ( is_object($rss) ) { + + if ( is_wp_error($rss) ) { + echo '<p>' . sprintf(__('Newsfeed could not be loaded. Check the <a href="%s">front page</a> to check for updates.', 'nggallery'), 'http://www.nextgen-gallery.com/') . '</p>'; + return; + } + + echo '<ul>'; + foreach ( $rss->get_items(0, 3) as $item ) { + $link = $item->get_link(); + while ( stristr($link, 'http') != $link ) + $link = substr($link, 1); + $link = esc_url(strip_tags($link)); + $title = esc_attr(strip_tags($item->get_title())); + if ( empty($title) ) + $title = __('Untitled'); + + $desc = str_replace( array("\n", "\r"), ' ', esc_attr( strip_tags( @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option('blog_charset') ) ) ) ); + $desc = wp_html_excerpt( $desc, 360 ); + + // Append ellipsis. Change existing [...] to […]. + if ( '[...]' == substr( $desc, -5 ) ) + $desc = substr( $desc, 0, -5 ) . '[…]'; + elseif ( '[…]' != substr( $desc, -10 ) ) + $desc .= ' […]'; + + $desc = esc_html( $desc ); + + $date = $item->get_date(); + $diff = ''; + + if ( $date ) { + + $diff = human_time_diff( strtotime($date, time()) ); + + if ( $date_stamp = strtotime( $date ) ) + $date = ' <span class="rss-date">' . date_i18n( get_option( 'date_format' ), $date_stamp ) . '</span>'; + else + $date = ''; + } + ?> + <li><a class="rsswidget" title="" target="_blank" href='<?php echo $link; ?>'><?php echo $title; ?></a> + <span class="rss-date"><?php echo $date; ?></span> + <div class="rssSummary"><strong><?php echo $diff; ?></strong> - <?php echo $desc; ?></div></li> + <?php + } + echo '</ul>'; + } + ?> +</div> +<?php +} + +/** + * Show a summary of the used images + * + * @return void + */ +function ngg_overview_right_now() { + global $wpdb; + $images = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") ); + $galleries = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") ); + $albums = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum") ); +?> +<div class="table table_content"> + <p class="sub"><?php _e('At a Glance', 'nggallery'); ?></p> + <table> + <tbody> + <tr class="first"> + <td class="first b"><a href="admin.php?page=ngg_addgallery"><?php echo $images; ?></a></td> + <td class="t"><a href="admin.php?page=ngg_addgallery"><?php echo _n( 'Image', 'Images', $images, 'nggallery' ); ?></a></td> + <td class="b"></td> + <td class="last"></td> + </tr> + <tr> + <td class="first b"><a href="admin.php?page=nggallery-manage-gallery"><?php echo $galleries; ?></a></td> + <td class="t"><a href="admin.php?page=nggallery-manage-gallery"><?php echo _n( 'Gallery', 'Galleries', $galleries, 'nggallery' ); ?></a></td> + <td class="b"></td> + <td class="last"></td> + </tr> + <tr> + <td class="first b"><a href="admin.php?page=nggallery-manage-album"><?php echo $albums; ?></a></td> + <td class="t"><a href="admin.php?page=nggallery-manage-album"><?php echo _n( 'Album', 'Albums', $albums, 'nggallery' ); ?></a></td> + <td class="b"></td> + <td class="last"></td> + </tr> + </tbody> + </table> +</div> +<div class="versions" style="padding-top:14px"> + <br class="clear" /> +</div> +<?php +if ( is_multisite() ) + ngg_dashboard_quota(); +} + +// Display File upload quota on dashboard +function ngg_dashboard_quota() { + + if ( get_site_option( 'upload_space_check_disabled' ) ) + return; + + if ( !wpmu_enable_function('wpmuQuotaCheck') ) + return; + + $quota = get_space_allowed(); + $used = get_dirsize( BLOGUPLOADDIR ) / 1024 / 1024; + + if ( $used > $quota ) + $percentused = '100'; + else + $percentused = ( $used / $quota ) * 100; + $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved' ) : 'spam'; + $used = round( $used, 2 ); + $percentused = number_format( $percentused ); + + ?> + <p class="sub musub" style="position:static" ><?php _e( 'Storage Space' ); ?></p> + <div class="table table_content musubtable"> + <table> + <tr class="first"> + <td class="first b b-posts"><?php printf( __( '<a href="%1$s" title="Manage Uploads" class="musublink">%2$sMB</a>' ), esc_url( admin_url( 'admin.php?page=nggallery-manage-gallery' ) ), $quota ); ?></td> + <td class="t posts"><?php _e( 'Space Allowed' ); ?></td> + </tr> + </table> + </div> + <div class="table table_discussion musubtable"> + <table> + <tr class="first"> + <td class="b b-comments"><?php printf( __( '<a href="%1$s" title="Manage Uploads" class="musublink">%2$sMB (%3$s%%)</a>' ), esc_url( admin_url( 'admin.php?page=nggallery-manage-gallery' ) ), $used, $percentused ); ?></td> + <td class="last t comments <?php echo $used_color;?>"><?php _e( 'Space Used' );?></td> + </tr> + </table> + </div> + <br class="clear" /> + <?php +} + +/** + * Looks up for translation file + * + * @return void + */ +function ngg_widget_locale() { + + require_once(NGGALLERY_ABSPATH . '/lib/locale.php'); + + $locale = new ngg_locale(); + + $overview_url = admin_url() . 'admin.php?page=' . NGGFOLDER; + + // Check if someone would like to update the translation file + if ( isset($_GET['locale']) && $_GET['locale'] == 'update' ) { + check_admin_referer('ngg_update_locale'); + + $result = $locale->download_locale(); + + if ($result == true) { + ?> + <p class="hint"><?php _e('Translation file successful updated. Please reload page.', 'nggallery'); ?></p> + <p class="textright"> + <a class="button" href="<?php echo esc_url(strip_tags($overview_url)); ?>"><?php _e('Reload page', 'nggallery'); ?></a> + </p> + <?php + } else { + ?> + <p class="hint"><?php _e('Translation file couldn\'t be updated', 'nggallery'); ?></p> + <?php + } + + return; + } + + echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; +} + +function ngg_locale() { + global $ngg; + + require_once(NGGALLERY_ABSPATH . '/lib/locale.php'); + + $locale = new ngg_locale(); + $overview_url = admin_url() . 'admin.php?page=' . NGGFOLDER; + $result = $locale->check(); + $update_url = wp_nonce_url ( $overview_url . '&locale=update', 'ngg_update_locale'); + + //Translators can change this text via gettext + if ($result == 'installed') { + echo $ngg->translator; + if ( !is_wp_error($locale->response) && $locale->response['response']['code'] == '200') { + ?> + <p class="textright"> + <a class="button" href="<?php echo esc_url( strip_tags($update_url) ); ?>"><?php _e('Update', 'nggallery'); ?></a> + </p> + <?php + } + } + + //Translators can change this text via gettext + if ($result == 'available') { + ?> + <p><strong>Download now your language file !</strong></p> + <p class="textright"> + <a class="button" href="<?php echo esc_url( strip_tags($update_url) ); ?>"><?php _e('Download', 'nggallery'); ?></a> + </p> + <?php + } + + + if ($result == 'not_exist') + echo '<p class="hint">'. sprintf( '<strong>Would you like to help translating this plugin?</strong> <a target="_blank" href="%s">Download</a> the current pot file and read <a href="http://www.nextgen-gallery.com/translating-nextgen-gallery/">here</a> how you can translate the plugin.', NGGALLERY_URLPATH . 'lang/nggallery.pot').'</p>'; + +} + +/** + * Show GD Library version information + * + * @return void + */ +function ngg_gd_info() { + + if(function_exists("gd_info")){ + $info = gd_info(); + $keys = array_keys($info); + for($i=0; $i<count($keys); $i++) { + if(is_bool($info[$keys[$i]])) + echo "<li> " . $keys[$i] ." : <span>" . ngg_gd_yesNo($info[$keys[$i]]) . "</span></li>\n"; + else + echo "<li> " . $keys[$i] ." : <span>" . $info[$keys[$i]] . "</span></li>\n"; + } + } + else { + echo '<h4>'.__('No GD support', 'nggallery').'!</h4>'; + } +} + +/** + * Return localized Yes or no + * + * @param bool $bool + * @return return 'Yes' | 'No' + */ +function ngg_gd_yesNo( $bool ){ + if($bool) + return __('Yes', 'nggallery'); + else + return __('No', 'nggallery'); +} + + +/** + * Show up some server infor's + * @author GamerZ (http://www.lesterchan.net) + * + * @return void + */ +function ngg_get_serverinfo() { + + global $wpdb, $ngg; + // Get MYSQL Version + $sqlversion = $wpdb->get_var("SELECT VERSION() AS version"); + // GET SQL Mode + $mysqlinfo = $wpdb->get_results("SHOW VARIABLES LIKE 'sql_mode'"); + if (is_array($mysqlinfo)) $sql_mode = $mysqlinfo[0]->Value; + if (empty($sql_mode)) $sql_mode = __('Not set', 'nggallery'); + // Get PHP Safe Mode + if(ini_get('safe_mode')) $safe_mode = __('On', 'nggallery'); + else $safe_mode = __('Off', 'nggallery'); + // Get PHP allow_url_fopen + if(ini_get('allow_url_fopen')) $allow_url_fopen = __('On', 'nggallery'); + else $allow_url_fopen = __('Off', 'nggallery'); + // Get PHP Max Upload Size + if(ini_get('upload_max_filesize')) $upload_max = ini_get('upload_max_filesize'); + else $upload_max = __('N/A', 'nggallery'); + // Get PHP Output buffer Size + if(ini_get('pcre.backtrack_limit')) $backtrack_limit = ini_get('pcre.backtrack_limit'); + else $backtrack_limit = __('N/A', 'nggallery'); + // Get PHP Max Post Size + if(ini_get('post_max_size')) $post_max = ini_get('post_max_size'); + else $post_max = __('N/A', 'nggallery'); + // Get PHP Max execution time + if(ini_get('max_execution_time')) $max_execute = ini_get('max_execution_time'); + else $max_execute = __('N/A', 'nggallery'); + // Get PHP Memory Limit + if(ini_get('memory_limit')) $memory_limit = $ngg->memory_limit; + else $memory_limit = __('N/A', 'nggallery'); + // Get actual memory_get_usage + if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'nggallery'); + else $memory_usage = __('N/A', 'nggallery'); + // required for EXIF read + if (is_callable('exif_read_data')) $exif = __('Yes', 'nggallery'). " ( V" . substr(phpversion('exif'),0,4) . ")" ; + else $exif = __('No', 'nggallery'); + // required for meta data + if (is_callable('iptcparse')) $iptc = __('Yes', 'nggallery'); + else $iptc = __('No', 'nggallery'); + // required for meta data + if (is_callable('xml_parser_create')) $xml = __('Yes', 'nggallery'); + else $xml = __('No', 'nggallery'); + +?> + <li><?php _e('Operating System', 'nggallery'); ?> : <span><?php echo PHP_OS; ?> (<?php echo (PHP_INT_SIZE * 8) ?> Bit)</span></li> + <li><?php _e('Server', 'nggallery'); ?> : <span><?php echo $_SERVER["SERVER_SOFTWARE"]; ?></span></li> + <li><?php _e('Memory usage', 'nggallery'); ?> : <span><?php echo $memory_usage; ?></span></li> + <li><?php _e('MYSQL Version', 'nggallery'); ?> : <span><?php echo $sqlversion; ?></span></li> + <li><?php _e('SQL Mode', 'nggallery'); ?> : <span><?php echo $sql_mode; ?></span></li> + <li><?php _e('PHP Version', 'nggallery'); ?> : <span><?php echo PHP_VERSION; ?></span></li> + <li><?php _e('PHP Safe Mode', 'nggallery'); ?> : <span><?php echo $safe_mode; ?></span></li> + <li><?php _e('PHP Allow URL fopen', 'nggallery'); ?> : <span><?php echo $allow_url_fopen; ?></span></li> + <li><?php _e('PHP Memory Limit', 'nggallery'); ?> : <span><?php echo $memory_limit; ?></span></li> + <li><?php _e('PHP Max Upload Size', 'nggallery'); ?> : <span><?php echo $upload_max; ?></span></li> + <li><?php _e('PHP Max Post Size', 'nggallery'); ?> : <span><?php echo $post_max; ?></span></li> + <li><?php _e('PCRE Backtracking Limit', 'nggallery'); ?> : <span><?php echo $backtrack_limit; ?></span></li> + <li><?php _e('PHP Max Script Execute Time', 'nggallery'); ?> : <span><?php echo $max_execute; ?>s</span></li> + <li><?php _e('PHP Exif support', 'nggallery'); ?> : <span><?php echo $exif; ?></span></li> + <li><?php _e('PHP IPTC support', 'nggallery'); ?> : <span><?php echo $iptc; ?></span></li> + <li><?php _e('PHP XML support', 'nggallery'); ?> : <span><?php echo $xml; ?></span></li> +<?php +} + +/** + * Inform about the end of PHP4 + * + * @return void + */ +function ngg_check_for_PHP5() { + ?> + <div class="updated"> + <p><?php _e('NextGEN Gallery contains some functions which are only available under PHP 5.2. You are using the old PHP 4 version, upgrade now! It\'s no longer supported by the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, running simultaneously. Ask your provider if they can do this.', 'nggallery'); ?></p> + </div> + <?php +} + +/** + * ngg_get_phpinfo() - Extract all of the data from phpinfo into a nested array + * + * @author jon@sitewizard.ca + * @return array + */ +function ngg_get_phpinfo() { + + ob_start(); + phpinfo(); + $phpinfo = array('phpinfo' => array()); + + if ( preg_match_all('#(?:<h2>(?:<a name=".*?">)?(.*?)(?:</a>)?</h2>)|(?:<tr(?: class=".*?")?><t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>)?)?</tr>)#s', ob_get_clean(), $matches, PREG_SET_ORDER) ) + foreach($matches as $match) { + if(strlen($match[1])) + $phpinfo[$match[1]] = array(); + elseif(isset($match[3])) + $phpinfo[end(array_keys($phpinfo))][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3]; + else + $phpinfo[end(array_keys($phpinfo))][] = $match[2]; + } + + return $phpinfo; +} + +function ngg_list_contributors() { +/* The list of my contributors. Thanks to all of them !*/ + + $contributors = array( + 'Anty (Code contributor)' => 'http://www.anty.at/', + 'Bjoern von Prollius (Code contributor)' => 'http://www.prollius.de/', + 'Simone Fumagalli (Code contributor)' => 'http://www.iliveinperego.com/', + 'Vincent Prat (Code contributor)' => 'http://www.vincentprat.info', + 'Frederic De Ranter (AJAX code contributor)' => 'http://li.deranter.com/', + 'Christian Arnold (Code contributor)' => 'http://blog.arctic-media.de/', + 'Thomas Matzke (Album code contributor)' => 'http://mufuschnu.mu.funpic.de/', + 'KeViN (Sidebar Widget developer)' => 'http://www.kev.hu/', + 'Lazy (German Translation)' => 'http://www.lazychris.de/', + 'Lise (French Translation)' => 'http://liseweb.fr/', + 'Anja (Dutch Translation)' => 'http://www.werkgroepen.net/wordpress', + 'Adrian (Indonesian Translation)' => 'http://adrian.web.id/', + 'Gaspard Tseng / SillyCCSmile (Chinese Translation)' => '', + 'Mika Pennanen (Finnish Translation)' => 'http://kapsi.fi/~penni', + 'Wojciech Owczarek (Polish Translation)' => 'http://www.owczi.net', + 'Dilip Ramirez (Spanish Translation)' => 'http://jmtd.110mb.com/blog', + 'Oleinikov Vedmak Evgeny (Russian Translation)' => 'http://ka-2-03.mirea.org/', + 'Sebastien MALHERBE (Logo design)' => 'http://www.7vision.com/', + 'Claudia (German documentation)' => 'http://www.blog-werkstatt.de/', + 'Robert (German documentation)' => 'http://www.curlyrob.de/', + 'Pierpaolo Mannone (Italian Translation)' => 'http://www.interscambiocasa.com/', + 'Mattias Tengblad (Swedish Translation)' => 'http://wp-support.se/', + 'Müfit Kiper (Swedish Translation)' => 'http://www.kiper.se/', + 'Gil Yaker (Documentation)' => 'http://bamboosoup.com/', + 'Morten Johansen (Danish Translation)' => 'http://www.fr3ak.dk/', + 'Vidar Seland (Norwegian Translation)' => 'http://www.viidar.net/', + 'Emre Güler (Turkish Translation)' => 'http://www.emreguler.com/', + 'Emilio Lauretti (Italian Translation)' => '', + 'Jan Angelovic (Czech Translation)' => 'http://www.angelovic.cz/', + 'Laki (Slovak Translation)' => 'http://www.laki.sk/', + 'Rowan Crane (WPMU support)' => 'http://blog.rowancrane.com/', + 'Kuba Zwolinski (Polish Translation)' => 'http://kubazwolinski.com/', + 'Rina Jiang (Chinese Translation)' => 'http://http://mysticecho.net/', + 'Anthony (Chinese Translation)' => 'http://www.angryouth.com/', + 'Milan Vasicek (Czech Translation)' => 'http://www.NoWorkTeam.cz/', + 'Joo Gi-young (Korean Translation)' => 'http://lombric.linuxstudy.pe.kr/wp/', + 'Oleg A. Safonov (Russian Translation)' => 'http://blog.olart.ru', + 'AleXander Kirichev (Bulgarian Translation)' => 'http://xsakex.art-bg.org/', + 'Richer Yang (Chinese Translation)' => 'http://fantasyworld.idv.tw/', + 'Bill Jones (Forums contributor)' => 'http://jonesphoto.bluehorizoninternet.com/', + 'TheDonSansone (Forums contributor)' => 'http://abseiling.200blogs.co.uk/', + 'Komyshov (Russian Translation)' => 'http://kf-web.ru/', + 'aleX Zhang (Chinese Translation)' => 'http://zhangfei.info/', + 'TheSoloist (Chinese Translation)' => 'http://www.soloist-ic.cn/', + 'Nica Luigi Cristian (Romanian Translation)' => 'http://www.cristiannica.com/', + 'Zdenek Hatas (Czech Translation)' => '', + 'David Potter (Documentation and Help)' => 'http://dpotter.net/', + 'Carlale Chen (Chinese Translation)' => 'http://0-o-0.cc/', + 'Nica Luigi Cristian (Romanian Translation)' => 'http://www.cristiannica.com/', + 'Igor Shevkoplyas (Russian Translation)' => 'http://www.russian-translation-matters.com', + 'Alexandr Kindras (Code contributor)' => 'http://www.fixdev.com', + 'Manabu Togawa (Japanese Translation)' => 'http://www.churadesign.com/', + 'Serhiy Tretyak (Ukrainian Translation)' => 'http://designpoint.com.ua/', + 'Janis Grinvalds (Latvian Translation)' => 'http://riga.bmxrace.lv/', + 'Kristoffer Thøring (Norwegian Translation)' => '', + 'Flactarus (Italian Translation)' => 'http://www.giroevago.it', + 'Felip Alfred Galitó i Trilla (Catalan Translation)' => 'http://www.bratac.cat', + 'Luka Komac (Slovenian Translation)' => 'http://www.komac.biz', + 'Dimitris Ikonomou / Nikos Mouratidis (Greek Translation)' => 'http://www.kepik.gr' + ); + + ksort($contributors); + $i = count($contributors); + foreach ($contributors as $name => $url) + { + if ($url) + echo "<a href=\"$url\" target=\"_blank\">$name</a>"; + else + echo $name; + $i--; + if ($i == 1) + echo " & "; + elseif ($i) + echo ", "; + } +} + +function ngg_list_support() { +/* The list of my supporters. Thanks to all of them !*/ + + global $ngg; + + $supporter = nggAdminPanel::get_remote_array($ngg->donators); + + // Ensure that this is a array + if ( !is_array($supporter) ) + return _e('and all donators...', 'nggallery'); + + ksort($supporter); + $i = count($supporter); + foreach ($supporter as $name => $url) + { + if ($url) + echo "<a href=\"$url\" target=\"_blank\">$name</a>"; + else + echo $name; + $i--; + if ($i == 1) + echo " & "; + elseif ($i) + echo ", "; + } +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/publish.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/publish.php new file mode 100644 index 000000000..cd8c90476 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/publish.php @@ -0,0 +1,64 @@ +<?php + +require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); +require_once( NGGALLERY_ABSPATH . '/lib/image.php' ); + +if ( !is_user_logged_in() ) + die(__('Cheatin’ uh?')); + +if ( !current_user_can('NextGEN Manage gallery') ) + die(__('Cheatin’ uh?')); + +if ( !current_user_can( 'publish_posts' ) ) + die(__('Cheatin’ uh?')); + +global $wpdb; + +$id = (int) $_GET['id']; + +// let's get the image data +$picture = nggdb::find_image($id); + +// use defaults the first time +$width = empty ($ngg->options['publish_width']) ? $ngg->options['thumbwidth'] : $ngg->options['publish_width']; +$height = empty ($ngg->options['publish_height']) ? $ngg->options['thumbheight'] : $ngg->options['publish_height']; +$align = empty ($ngg->options['publish_align']) ? 'none' : $ngg->options['publish_align']; + +?> + +<form id="form-publish-post" method="POST" accept-charset="utf-8"> +<?php wp_nonce_field('publish-post') ?> +<input type="hidden" name="page" value="publish-post" /> +<input type="hidden" name="pid" value="<?php echo $picture->pid; ?>" /> +<table width="100%" border="0" cellspacing="3" cellpadding="3" > + <tr valign="top"> + <th align="left"><?php _e('Post title','nggallery') ?></th> + <td><input type="text" size="70" name="post_title" value="<?php echo esc_attr( $picture->alttext); ?>" /> + <br /><small><?php _e('Enter the post title ','nggallery') ?></small></td> + </tr> + <tr valign="top"> + <th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th> + <td><input type="text" size="5" maxlength="5" name="width" value="<?php echo $width; ?>" /> x <input type="text" size="5" maxlength="5" name="height" value="<?php echo $height; ?>" /> + <br /><small><?php _e('Size of the image','nggallery') ?></small></td> + </tr> + <tr valign="top"> + <th align="left"><?php _e('Alignment','nggallery') ?></th> + <td><input type="radio" value="none" <?php checked('none', $align); ?> id="image-align-none" name="align"/> + <label class="align" for="image-align-none"><?php _e('None','nggallery'); ?></label> + <input type="radio" value="left" <?php checked('left', $align); ?> id="image-align-left" name="align"/> + <label class="align" for="image-align-left"><?php _e('Left','nggallery'); ?></label> + <input type="radio" value="center" <?php checked('center', $align); ?> id="image-align-center" name="align"/> + <label class="align" for="image-align-center"><?php _e('Center','nggallery'); ?></label> + <input type="radio" value="right" <?php checked('right', $align); ?> id="image-align-right" name="align"/> + <label class="align" for="image-align-right"><?php _e('Right','nggallery'); ?></label> + </td> + </tr> + <tr align="right"> + <td colspan="2" class="submit"> + <input class="button-primary" type="submit" name="publish" value="<?php _e('Publish', 'nggallery');?>" /> + + <input class="button-secondary" type="submit" name="draft" value=" <?php _e('Draft', 'nggallery'); ?> " /> + </td> + </tr> +</table> +</form> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/roles.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/roles.php new file mode 100644 index 000000000..fdd488c77 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/roles.php @@ -0,0 +1,137 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +function nggallery_admin_roles() { + +if ( !empty($_POST) ) { + + check_admin_referer('ngg_addroles'); + + // now set or remove the capability + ngg_set_capability($_POST['general'],"NextGEN Gallery overview"); + ngg_set_capability($_POST['tinymce'],"NextGEN Use TinyMCE"); + ngg_set_capability($_POST['add_gallery'],"NextGEN Upload images"); + ngg_set_capability($_POST['manage_gallery'],"NextGEN Manage gallery"); + ngg_set_capability($_POST['manage_others'],"NextGEN Manage others gallery"); + ngg_set_capability($_POST['manage_tags'],"NextGEN Manage tags"); + ngg_set_capability($_POST['edit_album'],"NextGEN Edit album"); + ngg_set_capability($_POST['change_style'],"NextGEN Change style"); + ngg_set_capability($_POST['change_options'],"NextGEN Change options"); + ngg_set_capability($_POST['attach_interface'],"NextGEN Attach Interface"); +} + +?> + <div class="wrap"> + <p><?php _e('Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress.', 'nggallery') ?> <br /> + <?php _e('For a more flexible user management you can use the', 'nggallery') ?> <a href="http://wordpress.org/extend/plugins/capsman/" target="_blank">Capability Manager</a>.</p> + <?php wp_nonce_field('ngg_addroles') ?> + <table class="form-table"> + <tr valign="top"> + <th scope="row"><?php _e('Main NextGEN Gallery overview', 'nggallery') ;?>:</th> + <td><label for="general"><select name="general" id="general"><?php wp_dropdown_roles( ngg_get_role('NextGEN Gallery overview') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Use TinyMCE Button / Upload tab', 'nggallery') ;?>:</th> + <td><label for="tinymce"><select name="tinymce" id="tinymce"><?php wp_dropdown_roles( ngg_get_role('NextGEN Use TinyMCE') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Add gallery / Upload images', 'nggallery') ;?>:</th> + <td><label for="add_gallery"><select name="add_gallery" id="add_gallery"><?php wp_dropdown_roles( ngg_get_role('NextGEN Upload images') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Manage gallery', 'nggallery') ;?>:</th> + <td><label for="manage_gallery"><select name="manage_gallery" id="manage_gallery"><?php wp_dropdown_roles( ngg_get_role('NextGEN Manage gallery') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Manage others gallery', 'nggallery') ;?>:</th> + <td><label for="manage_others"><select name="manage_others" id="manage_others"><?php wp_dropdown_roles( ngg_get_role('NextGEN Manage others gallery') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Manage tags', 'nggallery') ;?>:</th> + <td><label for="manage_tags"><select name="manage_tags" id="manage_tags"><?php wp_dropdown_roles( ngg_get_role('NextGEN Manage tags') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Edit Album', 'nggallery') ;?>:</th> + <td><label for="edit_album"><select name="edit_album" id="edit_album"><?php wp_dropdown_roles( ngg_get_role('NextGEN Edit album') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Change style', 'nggallery') ;?>:</th> + <td><label for="change_style"><select name="change_style" id="change_style"><?php wp_dropdown_roles( ngg_get_role('NextGEN Change style') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('Change options', 'nggallery') ;?>:</th> + <td><label for="change_options"><select name="change_options" id="change_options"><?php wp_dropdown_roles( ngg_get_role('NextGEN Change options') ); ?></select></label></td> + </tr> + <tr valign="top"> + <th scope="row"><?php _e('NextGEN Attach Interface', 'nggallery') ;?>:</th> + <td><label for="attach_interface"><select name="attach_interface" id="attach_interface"><?php wp_dropdown_roles( ngg_get_role('NextGEN Attach Interface') ); ?></select></label></td> + </tr> + </table> + </div> +<?php + +} + +function ngg_get_sorted_roles() { + // This function returns all roles, sorted by user level (lowest to highest) + global $wp_roles; + $roles = $wp_roles->role_objects; + $sorted = array(); + + if( class_exists('RoleManager') ) { + foreach( $roles as $role_key => $role_name ) { + $role = get_role($role_key); + if( empty($role) ) continue; + $role_user_level = array_reduce(array_keys($role->capabilities), array('WP_User', 'level_reduction'), 0); + $sorted[$role_user_level] = $role; + } + $sorted = array_values($sorted); + } else { + $role_order = array("subscriber", "contributor", "author", "editor", "administrator"); + foreach($role_order as $role_key) { + $sorted[$role_key] = get_role($role_key); + } + } + return $sorted; +} + +function ngg_get_role($capability){ + // This function return the lowest roles which has the capabilities + $check_order = ngg_get_sorted_roles(); + + $args = array_slice(func_get_args(), 1); + $args = array_merge(array($capability), $args); + + foreach ($check_order as $check_role) { + if ( empty($check_role) ) + return false; + + if (call_user_func_array(array(&$check_role, 'has_cap'), $args)) + return $check_role->name; + } + return false; +} + +function ngg_set_capability($lowest_role, $capability){ + // This function set or remove the $capability + $check_order = ngg_get_sorted_roles(); + + $add_capability = false; + + foreach ($check_order as $the_role) { + $role = $the_role->name; + + if ( $lowest_role == $role ) + $add_capability = true; + + // If you rename the roles, then please use a role manager plugin + + if ( empty($the_role) ) + continue; + + $add_capability ? $the_role->add_cap($capability) : $the_role->remove_cap($capability) ; + } +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php new file mode 100644 index 000000000..4899df5a1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/rotate.php @@ -0,0 +1,98 @@ +<?php +/** + +Custom thumbnail for NGG +Author : Simone Fumagalli | simone@iliveinperego.com +More info and update : http://www.iliveinperego.com/rotate_for_ngg/ + +Credits: + NextGen Gallery : Alex Rabe | http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/ + +**/ + +require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); +require_once( NGGALLERY_ABSPATH . '/lib/image.php' ); + +if ( !is_user_logged_in() ) + die(__('Cheatin’ uh?')); + +if ( !current_user_can('NextGEN Manage gallery') ) + die(__('Cheatin’ uh?')); + +global $wpdb; + +$id = (int) $_GET['id']; + +// let's get the image data +$picture = nggdb::find_image($id); + +include_once( nggGallery::graphic_library() ); +$ngg_options = get_option('ngg_options'); + +$thumb = new ngg_Thumbnail($picture->imagePath, TRUE); +$thumb->resize(350,350); + +// we need the new dimension +$resizedPreviewInfo = $thumb->newDimensions; +$thumb->destruct(); + +$preview_image = trailingslashit( home_url() ) . 'index.php?callback=image&pid=' . $picture->pid . '&width=350&height=350'; + +?> + +<script type='text/javascript'> + var selectedImage = "thumb<?php echo $id ?>"; + + function rotateImage() { + + var rotate_angle = jQuery('input[name=ra]:checked').val(); + + jQuery.ajax({ + url: ajaxurl, + type : "POST", + data: {action: 'rotateImage', id: <?php echo $id ?>, ra: rotate_angle}, + cache: false, + success: function (msg) { + var d = new Date(); + newUrl = jQuery("#"+selectedImage).attr("src") + "?" + d.getTime(); + jQuery("#"+selectedImage).attr("src" , newUrl); + + showMessage('<?php _e('Image rotated', 'nggallery'); ?>') + }, + error: function (msg, status, errorThrown) { showMessage('<?php _e('Error rotating thumbnail', 'nggallery'); ?>') } + }); + + } + + function showMessage(message) { + jQuery('#thumbMsg').html(message); + jQuery('#thumbMsg').css({'display':'block'}); + setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500); + + var d = new Date(); + newUrl = jQuery("#imageToEdit").attr("src") + "?" + d.getTime(); + jQuery("#imageToEdit").attr("src" , newUrl); + + } +</script> + +<table width="98%" align="center" style="border:1px solid #DADADA"> + <tr style="height : 360px;"> + <td valign="middle" align="center" style="background-color:#DADADA; width : 370px;"> + <img src="<?php echo esc_url( $preview_image ); ?>" alt="" id="imageToEdit" /> + </td> + <td> + <input type="radio" name="ra" value="cw" /><?php esc_html_e('90° clockwise', 'nggallery'); ?><br /> + <input type="radio" name="ra" value="ccw" /><?php esc_html_e('90° anticlockwise', 'nggallery'); ?><br /> + <input type="radio" name="ra" value="fv" /><?php esc_html_e('Flip vertically', 'nggallery'); ?><br /> + <input type="radio" name="ra" value="fh" /><?php esc_html_e('Flip horizontally', 'nggallery'); ?> + </td> + </tr> + <tr style="background-color:#DADADA;"> + + <td colspan="2"> + <input type="button" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>" onclick="rotateImage()" class="button-secondary" style="float:right; margin-left:4px;"/> + <div id="thumbMsg" style="color:#FF0000; display : none;font-size:11px; float:right; width:60%; height:2em; line-height:2em;"></div> + </td> + </tr> +</table> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/settings.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/settings.php new file mode 100644 index 000000000..0f1ebba39 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/settings.php @@ -0,0 +1,943 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * Rebuild slugs for albums, galleries and images via AJAX request + * + * @sine 1.7.0 + * @access internal + */ +class ngg_rebuild_unique_slugs { + + function start_rebuild() { + global $wpdb; + + $total = array(); + // get the total number of images + $total['images'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") ); + $total['gallery'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") ); + $total['album'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum") ); + + $messages = array( + 'images' => __( 'Rebuild image structure : %s / %s images', 'nggallery' ), + 'gallery' => __( 'Rebuild gallery structure : %s / %s galleries', 'nggallery' ), + 'album' => __( 'Rebuild album structure : %s / %s albums', 'nggallery' ), + ); + +?> +<?php + + foreach ( array_keys( $messages ) as $key ) { + + $message = sprintf( $messages[ $key ] , + "<span class='ngg-count-current'>0</span>", + "<span class='ngg-count-total'>" . $total[ $key ] . "</span>" + ); + + echo "<div class='$key updated'><p class='ngg'>$message</p></div>"; + } + + $ajax_url = add_query_arg( 'action', 'ngg_rebuild_unique_slugs', admin_url( 'admin-ajax.php' ) ); +?> +<script type="text/javascript"> +jQuery(document).ready(function($) { + var ajax_url = '<?php echo $ajax_url; ?>', + _action = 'images', + images = <?php echo $total['images']; ?>, + gallery = <?php echo $total['gallery']; ?>, + album = <?php echo $total['album']; ?>, + total = 0, + offset = 0, + count = 50; + + var $display = $('.ngg-count-current'); + $('.finished, .gallery, .album').hide(); + total = images; + + function call_again() { + if ( offset > total ) { + offset = 0; + // 1st run finished + if (_action == 'images') { + _action = 'gallery'; + total = gallery; + $('.images, .gallery').toggle(); + $display.html(offset); + call_again(); + return; + } + // 2nd run finished + if (_action == 'gallery') { + _action = 'album'; + total = album; + $('.gallery, .album').toggle(); + $display.html(offset); + call_again(); + return; + } + // 3rd run finished, exit now + if (_action == 'album') { + $('.ngg') + .html('<?php _e( 'Done.', 'nggallery' ); ?>') + .parent('div').hide(); + $('.finished').show(); + return; + } + } + + $.post(ajax_url, {'_action': _action, 'offset': offset}, function(response) { + $display.html(offset); + + offset += count; + call_again(); + }); + } + + call_again(); +}); +</script> +<?php + } +} + +class nggOptions { + + /** + * PHP4 compatibility layer for calling the PHP5 constructor. + * + */ + function nggOptions() { + return $this->__construct(); + } + + /** + * nggOptions::__construct() + * + * @return void + */ + function __construct() { + + // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0 + $this->filepath = admin_url() . 'admin.php?page=' . $_GET['page']; + + //Look for POST updates + if ( !empty($_POST) ) + $this->processor(); + } + + /** + * Save/Load options and add a new hook for plugins + * + * @return void + */ + function processor() { + + global $ngg, $nggRewrite; + + $old_state = $ngg->options['usePermalinks']; + $old_slug = $ngg->options['permalinkSlug']; + + if ( isset($_POST['irDetect']) ) { + check_admin_referer('ngg_settings'); + $ngg->options['irURL'] = ngg_search_imagerotator(); + update_option('ngg_options', $ngg->options); + } + + if ( isset($_POST['updateoption']) ) { + check_admin_referer('ngg_settings'); + // get the hidden option fields, taken from WP core + if ( $_POST['page_options'] ) + $options = explode(',', stripslashes($_POST['page_options'])); + + if ($options) { + foreach ($options as $option) { + $option = trim($option); + $value = isset($_POST[$option]) ? trim($_POST[$option]) : false; + // $value = sanitize_option($option, $value); // This does stripslashes on those that need it + $ngg->options[$option] = $value; + } + + // do not allow a empty string + if ( empty ( $ngg->options['permalinkSlug'] ) ) + $ngg->options['permalinkSlug'] = 'nggallery'; + + // the path should always end with a slash + $ngg->options['gallerypath'] = trailingslashit($ngg->options['gallerypath']); + $ngg->options['imageMagickDir'] = trailingslashit($ngg->options['imageMagickDir']); + + // the custom sortorder must be ascending + $ngg->options['galSortDir'] = ($ngg->options['galSort'] == 'sortorder') ? 'ASC' : $ngg->options['galSortDir']; + } + // Save options + update_option('ngg_options', $ngg->options); + + // Flush Rewrite rules + if ( $old_state != $ngg->options['usePermalinks'] || $old_slug != $ngg->options['permalinkSlug'] ) + $nggRewrite->flush(); + + nggGallery::show_message(__('Update Successfully','nggallery')); + } + + if ( isset($_POST['clearcache']) ) { + check_admin_referer('ngg_settings'); + + $path = WINABSPATH . $ngg->options['gallerypath'] . 'cache/'; + + if (is_dir($path)) + if ($handle = opendir($path)) { + while (false !== ($file = readdir($handle))) { + if ($file != '.' && $file != '..') { + @unlink($path . '/' . $file); + } + } + closedir($handle); + } + + nggGallery::show_message(__('Cache cleared','nggallery')); + } + + if ( isset($_POST['createslugs']) ) { + check_admin_referer('ngg_settings'); + ngg_rebuild_unique_slugs::start_rebuild(); + } + + do_action( 'ngg_update_options_page' ); + + } + + /** + * Render the page content + * + * @return void + */ + function controller() { + + // get list of tabs + $tabs = $this->tabs_order(); + + ?> + <script type="text/javascript"> + jQuery(document).ready(function(){ + jQuery('html,body').scrollTop(0); + jQuery("a.switch-expert").hide(); + /* + jQuery(".expert").hide(); + jQuery("a.switch-expert").click(function(e) { + jQuery(".expert").toggle(); + return false; + }); + */ + jQuery('#slider').tabs({ fxFade: true, fxSpeed: 'fast' }); + jQuery('#slider').css('display', 'block'); + /* + jQuery('.picker').ColorPicker({ + onSubmit: function(hsb, hex, rgb, el) { + jQuery(el).val(hex); + jQuery(el).ColorPickerHide(); + }, + onBeforeShow: function () { + jQuery(this).ColorPickerSetColor(this.value); + } + }) + .bind('keyup', function(){ + jQuery(this).ColorPickerSetColor(this.value); + }); + */ + }); + + function insertcode(value) { + var effectcode; + switch (value) { + case "none": + effectcode = ""; + jQuery('#tbImage').hide("slow"); + break; + case "thickbox": + effectcode = 'class="thickbox" rel="%GALLERY_NAME%"'; + jQuery('#tbImage').show("slow"); + break; + case "lightbox": + effectcode = 'rel="lightbox[%GALLERY_NAME%]"'; + jQuery('#tbImage').hide("slow"); + break; + case "highslide": + effectcode = 'class="highslide" onclick="return hs.expand(this, { slideshowGroup: %GALLERY_NAME% })"'; + jQuery('#tbImage').hide("slow"); + break; + case "shutter": + effectcode = 'class="shutterset_%GALLERY_NAME%"'; + jQuery('#tbImage').hide("slow"); + break; + default: + break; + } + jQuery("#thumbCode").val(effectcode); + }; + + function setcolor(fileid, color) { + jQuery(fileid).css("background-color", '#' + color ); + }; + </script> + <?php include('templates/social_media_buttons.php'); ?> + <div id="slider" class="wrap" style="display: none;"> + <ul id="tabs"> + <?php + foreach($tabs as $tab_key => $tab_name) { + echo "\n\t\t<li><a href='#$tab_key'>$tab_name</a></li>"; + } + ?> + </ul> + <?php + foreach($tabs as $tab_key => $tab_name) { + echo "\n\t<div id='$tab_key'>\n"; + // Looks for the internal class function, otherwise enable a hook for plugins + if ( method_exists( $this, "tab_$tab_key" )) + call_user_func( array( &$this , "tab_$tab_key") ); + else + do_action( 'ngg_tab_content_' . $tab_key ); + echo "\n\t</div>"; + } + ?> + </div> + <?php + + } + + /** + * Create array for tabs and add a filter for other plugins to inject more tabs + * + * @return array $tabs + */ + function tabs_order() { + + $tabs = array(); + + $tabs['generaloptions'] = __('General Options', 'nggallery'); + $tabs['thumbnails'] = __('Thumbnails', 'nggallery'); + $tabs['images'] = __('Images', 'nggallery'); + $tabs['gallery'] = _n( 'Gallery', 'Galleries', 1, 'nggallery' ); + $tabs['effects'] = __('Effects', 'nggallery'); + $tabs['watermark'] = __('Watermark', 'nggallery'); + $tabs['slideshow'] = __('Slideshow', 'nggallery'); + + $tabs = apply_filters('ngg_settings_tabs', $tabs); + + return $tabs; + + } + + function tab_generaloptions() { + global $ngg; + + ?> + <!-- General Options --> + <h2><?php _e('General Options','nggallery'); ?></h2> + <form name="generaloptions" method="post" action="<?php echo $this->filepath; ?>"> + <?php wp_nonce_field('ngg_settings') ?> + <input type="hidden" name="page_options" value="gallerypath,deleteImg,useMediaRSS,usePicLens,usePermalinks,permalinkSlug,graphicLibrary,imageMagickDir,activateTags,appendType,maxImages" /> + <table class="form-table ngg-options"> + <tr valign="top"> + <th align="left"><?php _e('Gallery path','nggallery'); ?></th> + <td><input <?php if (is_multisite()) echo 'readonly = "readonly"'; ?> type="text" size="35" name="gallerypath" value="<?php echo $ngg->options['gallerypath']; ?>" /> + <span class="setting-description"><?php _e('This is the default path for all galleries','nggallery') ?></span></td> + </tr> + <tr class="expert" valign="top"> + <th align="left"><?php _e('Delete image files','nggallery'); ?></th> + <td><input <?php if (is_multisite()) echo 'readonly = "readonly"'; ?> type="checkbox" name="deleteImg" value="1" <?php checked('1', $ngg->options['deleteImg']); ?> /> + <?php _e('Delete files, when removing a gallery in the database','nggallery'); ?></td> + </tr> + <tr valign="top"> + <th align="left"><?php _e('Activate permalinks','nggallery') ?></th> + <td><input type="checkbox" name="usePermalinks" value="1" <?php checked('1', $ngg->options['usePermalinks']); ?> /> + <?php _e('When you activate this option, you need to update your permalink structure one time.','nggallery'); ?> + <?php _e('Gallery slug name :','nggallery'); ?> + <input type="text" size="15" name="permalinkSlug" value="<?php echo $ngg->options['permalinkSlug']; ?>" /></td> + </tr> + <tr class="expert"> + <th valign="top"><?php _e('Create new URL friendly image slugs','nggallery'); ?></th> + <td><input type="submit" name="createslugs" class="button-secondary" value="<?php _e('Proceed now','nggallery') ;?> »"/></td> + </tr> + <tr class="expert"> + <th valign="top"><?php _e('Select graphic library','nggallery'); ?></th> + <td><label><input name="graphicLibrary" type="radio" value="gd" <?php checked('gd', $ngg->options['graphicLibrary']); ?> /> <?php _e('GD Library', 'nggallery') ;?></label><br /> + <label><input name="graphicLibrary" type="radio" value="im" <?php checked('im', $ngg->options['graphicLibrary']); ?> /> <?php _e('ImageMagick (Experimental). Path to the library :', 'nggallery') ;?> + <input <?php if (is_multisite()) echo 'readonly = "readonly"'; ?> type="text" size="35" name="imageMagickDir" value="<?php echo $ngg->options['imageMagickDir']; ?>" /></label> + </td> + </tr> + <tr> + <th align="left"><?php _e('Activate Media RSS feed','nggallery'); ?></th> + <td><input type="checkbox" name="useMediaRSS" value="1" <?php checked('1', $ngg->options['useMediaRSS']); ?> /> + <span class="setting-description"><?php _e('A RSS feed will be added to you blog header. Useful for CoolIris/PicLens','nggallery') ?></span></td> + </tr> + <tr> + <th align="left"><?php _e('Activate PicLens/CoolIris support','nggallery'); ?> (<a href="http://www.cooliris.com">CoolIris</a>)</th> + <td><input type="checkbox" name="usePicLens" value="1" <?php checked('1', $ngg->options['usePicLens']); ?> /> + <span class="setting-description"><?php _e('When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme.','nggallery') ?></span></td> + </tr> + </table> + <h3 class="expert"><?php _e('Tags / Categories','nggallery'); ?></h3> + <table class="expert form-table ngg-options"> + <tr> + <th valign="top"><?php _e('Activate related images','nggallery'); ?></th> + <td><input name="activateTags" type="checkbox" value="1" <?php checked('1', $ngg->options['activateTags']); ?> /> + <?php _e('This option will append related images to every post','nggallery'); ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Match with','nggallery'); ?></th> + <td><label><input name="appendType" type="radio" value="category" <?php checked('category', $ngg->options['appendType']); ?> /> <?php _e('Categories', 'nggallery') ;?></label><br /> + <label><input name="appendType" type="radio" value="tags" <?php checked('tags', $ngg->options['appendType']); ?> /> <?php _e('Tags', 'nggallery') ;?></label> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Max. number of images','nggallery'); ?></th> + <td><input type="text" name="maxImages" value="<?php echo $ngg->options['maxImages']; ?>" size="3" maxlength="3" /> + <span class="setting-description"><?php _e('0 will show all images','nggallery'); ?></span> + </td> + </tr> + </table> + <div class="alignright"><a href="" class="switch-expert" >[<?php _e('More settings','nggallery'); ?>]</a></div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes'); ?>"/></div> + </form> + <?php + } + + function tab_thumbnails() { + global $ngg; + ?> + <!-- Thumbnail settings --> + <h2><?php _e('Thumbnail settings','nggallery'); ?></h2> + <form name="thumbnailsettings" method="POST" action="<?php echo $this->filepath.'#thumbnails'; ?>" > + <?php wp_nonce_field('ngg_settings') ?> + <input type="hidden" name="page_options" value="thumbwidth,thumbheight,thumbfix,thumbquality" /> + <p><?php _e('Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery .', 'nggallery') ?></p> + <table class="form-table ngg-options"> + <tr valign="top"> + <th align="left"><?php _e('Width x height (in pixel)','nggallery'); ?></th> + <td> + <?php // TODO, use template here as well? I don't think this file is used anymore... + // include(dirname(__FILE__) . '/thumbnails-template.php'); + ?> + <input type="text" size="4" maxlength="4" name="thumbwidth" value="<?php echo $ngg->options['thumbwidth']; ?>" /> x <input type="text" size="4" maxlength="4" name="thumbheight" value="<?php echo $ngg->options['thumbheight']; ?>" /> + <span class="setting-description"><?php _e('These values are maximum values ','nggallery'); ?></span> + </td> + </tr> + <tr valign="top"> + <th align="left"><?php _e('Set fix dimension','nggallery'); ?></th> + <td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg->options['thumbfix']); ?> /> + <?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></td> + </tr> + <tr class="expert" valign="top"> + <th align="left"><?php _e('Thumbnail quality','nggallery'); ?></th> + <td><input type="text" size="3" maxlength="3" name="thumbquality" value="<?php echo $ngg->options['thumbquality']; ?>" /> %</td> + </tr> + </table> + <div class="alignright"><a href="" class="switch-expert" >[<?php _e('More settings','nggallery'); ?>]</a></div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes') ;?>"/></div> + </form> + <?php + } + + function tab_images() { + global $ngg; + ?> + <!-- Image settings --> + <h2><?php _e('Image settings','nggallery'); ?></h2> + <form name="imagesettings" method="POST" action="<?php echo $this->filepath.'#images'; ?>" > + <?php wp_nonce_field('ngg_settings') ?> + <input type="hidden" name="page_options" value="imgResize,imgWidth,imgHeight,imgQuality,imgBackup,imgAutoResize" /> + <table class="form-table ngg-options"> + <tr valign="top"> + <th valign="top"><label for="fixratio"><?php _e('Resize Images','nggallery') ?></label></th> + <td><input type="text" size="5" name="imgWidth" value="<?php echo $ngg->options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg->options['imgHeight']; ?>" /> + <span class="setting-description"><?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></span></td> + </tr> + <tr valign="top"> + <th valign="top"><?php _e('Image quality','nggallery'); ?></th> + <td><input type="text" size="3" maxlength="3" name="imgQuality" value="<?php echo $ngg->options['imgQuality']; ?>" /> %</td> + </tr> + <tr> + <th valign="top"><?php _e('Backup original images','nggallery'); ?></th> + <td><input type="checkbox" name="imgBackup" value="1"<?php echo ($ngg->options['imgBackup'] == 1) ? ' checked ="chechked"' : ''; ?>/> + <span class="setting-description"><?php _e('Creates a backup for inserted images','nggallery'); ?></span></td> + </tr> + <tr> + <th valign="top"><?php _e('Automatically resize','nggallery'); ?></th> + <td><input type="checkbox" name="imgAutoResize" value="1"<?php echo ($ngg->options['imgAutoResize'] == 1) ? ' checked ="chechked"' : ''; ?>/> + <span class="setting-description"><?php _e('Automatically resize images on upload.','nggallery') ?></span></td> + </tr> + </table> + <h3 class="expert"><?php _e('Single picture','nggallery') ?></h3> + <table class="expert form-table ngg-options"> + <tr> + <th valign="top"><?php _e('Clear cache folder','nggallery'); ?></th> + <td><input type="submit" name="clearcache" class="button-secondary" value="<?php _e('Proceed now','nggallery') ;?> »"/></td> + </tr> + </table> + <div class="alignright"><a href="" class="switch-expert" >[<?php _e('More settings','nggallery'); ?>]</a></div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes') ;?>"/></div> + </form> + + <?php + } + + function tab_gallery() { + global $ngg; + ?> + <!-- Gallery settings --> + <h2><?php _e('Gallery settings','nggallery'); ?></h2> + <form name="galleryform" method="POST" action="<?php echo $this->filepath.'#gallery'; ?>" > + <?php wp_nonce_field('ngg_settings') ?> + <input type="hidden" name="page_options" value="galNoPages,galImages,galColumns,galShowSlide,galTextSlide,galTextGallery,galShowOrder,galImgBrowser,galSort,galSortDir,galHiddenImg,galAjaxNav" /> + <table class="form-table ngg-options"> + <tr class="expert" > + <th valign="top"><?php _e('Deactivate gallery page link','nggallery') ?></th> + <td><input name="galNoPages" type="checkbox" value="1" <?php checked('1', $ngg->options['galNoPages']); ?> /> + <?php _e('The album will not link to a gallery subpage. The gallery is shown on the same page.','nggallery') ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Number of images per page','nggallery') ?></th> + <td><input type="text" name="galImages" value="<?php echo $ngg->options['galImages']; ?>" size="3" maxlength="3" /> + <span class="setting-description"><?php _e('0 will disable pagination, all images on one page','nggallery') ?></span> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Number of columns','nggallery'); ?></th> + <td><input type="text" name="galColumns" value="<?php echo $ngg->options['galColumns']; ?>" size="3" maxlength="3" /> + <span class="setting-description"><?php _e('0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images','nggallery') ?></span> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Integrate slideshow','nggallery'); ?></th> + <td><input name="galShowSlide" type="checkbox" value="1" <?php checked('1', $ngg->options['galShowSlide']); ?> /> + <input type="text" name="galTextSlide" value="<?php echo $ngg->options['galTextSlide'] ?>" size="20" /> + <input type="text" name="galTextGallery" value="<?php echo $ngg->options['galTextGallery'] ?>" size="20" /> + </td> + </tr> + <tr class="expert" > + <th valign="top"><?php _e('Show first','nggallery'); ?></th> + <td><label><input name="galShowOrder" type="radio" value="gallery" <?php checked('gallery', $ngg->options['galShowOrder']); ?> /> <?php _e('Thumbnails', 'nggallery') ;?></label><br /> + <label><input name="galShowOrder" type="radio" value="slide" <?php checked('slide', $ngg->options['galShowOrder']); ?> /> <?php _e('Slideshow', 'nggallery') ;?></label> + </td> + </tr> + <tr class="expert" > + <th valign="top"><?php _e('Show ImageBrowser','nggallery'); ?></th> + <td><input name="galImgBrowser" type="checkbox" value="1" <?php checked('1', $ngg->options['galImgBrowser']); ?> /> + <?php _e('The gallery will open the ImageBrowser instead the effect.', 'nggallery'); ?> + </td> + </tr> + <tr class="expert" > + <th valign="top"><?php _e('Add hidden images','nggallery'); ?></th> + <td><input name="galHiddenImg" type="checkbox" value="1" <?php checked('1', $ngg->options['galHiddenImg']); ?> /> + <?php _e('If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load','nggallery'); ?> + </td> + </tr> + <tr class="expert" > + <th valign="top"><?php _e('Enable AJAX pagination','nggallery'); ?></th> + <td><input name="galAjaxNav" type="checkbox" value="1" <?php checked('1', $ngg->options['galAjaxNav']); ?> /> + <?php _e('Browse images without reload the page. Note : Works only in combination with Shutter effect','nggallery'); ?> + </td> + </tr> + </table> + <h3 class="expert" ><?php _e('Sort options','nggallery') ?></h3> + <table class="expert form-table ngg-options"> + <tr> + <th valign="top"><?php _e('Sort thumbnails','nggallery') ?></th> + <td> + <label><input name="galSort" type="radio" value="sortorder" <?php checked('sortorder', $ngg->options['galSort']); ?> /> <?php _e('Custom order', 'nggallery') ;?></label><br /> + <label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg->options['galSort']); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br /> + <label><input name="galSort" type="radio" value="filename" <?php checked('filename', $ngg->options['galSort']); ?> /> <?php _e('File name', 'nggallery') ;?></label><br /> + <label><input name="galSort" type="radio" value="alttext" <?php checked('alttext', $ngg->options['galSort']); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label><br /> + <label><input name="galSort" type="radio" value="imagedate" <?php checked('imagedate', $ngg->options['galSort']); ?> /> <?php _e('Date / Time', 'nggallery') ;?></label> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Sort direction','nggallery') ?></th> + <td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg->options['galSortDir']); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br /> + <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg->options['galSortDir']); ?> /> <?php _e('Descending', 'nggallery') ;?></label> + </td> + </tr> + </table> + <div class="alignright"><a href="" class="switch-expert" >[<?php _e('More settings','nggallery'); ?>]</a></div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes') ;?>"/></div> + </form> + <?php + } + + function tab_effects() { + global $ngg; + ?> + <!-- Effects settings --> + <h2><?php _e('Effects','nggallery'); ?></h2> + <form name="effectsform" method="POST" action="<?php echo $this->filepath.'#effects'; ?>" > + <?php wp_nonce_field('ngg_settings') ?> + <input type="hidden" name="page_options" value="thumbEffect,thumbCode" /> + <p><?php _e('Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme.','nggallery'); ?> + <?php _e('With the placeholder','nggallery'); ?><strong> %GALLERY_NAME% </strong> <?php _e('you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do.','nggallery'); ?></p> + <table class="form-table ngg-options"> + <tr valign="top"> + <th><?php _e('JavaScript Thumbnail effect','nggallery') ?></th> + <td> + <select size="1" id="thumbEffect" name="thumbEffect" onchange="insertcode(this.value)"> + <option value="none" <?php selected('none', $ngg->options['thumbEffect']); ?> ><?php _e('None', 'nggallery') ;?></option> + <option value="thickbox" <?php selected('thickbox', $ngg->options['thumbEffect']); ?> ><?php _e('Thickbox', 'nggallery') ;?></option> + <option value="lightbox" <?php selected('lightbox', $ngg->options['thumbEffect']); ?> ><?php _e('Lightbox', 'nggallery') ;?></option> + <option value="highslide" <?php selected('highslide', $ngg->options['thumbEffect']); ?> ><?php _e('Highslide', 'nggallery') ;?></option> + <option value="shutter" <?php selected('shutter', $ngg->options['thumbEffect']); ?> ><?php _e('Shutter', 'nggallery') ;?></option> + <option value="custom" <?php selected('custom', $ngg->options['thumbEffect']); ?> ><?php _e('Custom', 'nggallery') ;?></option> + </select> + </td> + </tr> + <tr class="expert" valign="top"> + <th><?php _e('Link Code line','nggallery') ?></th> + <td><textarea id="thumbCode" name="thumbCode" cols="50" rows="5"><?php echo htmlspecialchars(stripslashes($ngg->options['thumbCode'])); ?></textarea></td> + </tr> + </table> + <div class="alignright"><a href="" class="switch-expert" >[<?php _e('More settings','nggallery'); ?>]</a></div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes') ;?>"/></div> + </form> + + <?php + } + + function tab_watermark() { + + global $wpdb, $ngg; + + // take the first image as sample + $imageID = $wpdb->get_var("SELECT MIN(pid) FROM $wpdb->nggpictures"); + $imageURL = ($imageID) ? $imageURL = '<img src="'. home_url('index.php') . '?callback=image&pid=' . intval ($imageID) . '&mode=watermark&width=300&height=250" />' : ''; + + ?> + <!-- Watermark settings --> + <h2><?php _e('Watermark','nggallery'); ?></h2> + <p><?php _e('Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone.', 'nggallery') ?></p> + <form name="watermarkform" method="POST" action="<?php echo $this->filepath.'#watermark'; ?>" > + <?php wp_nonce_field('ngg_settings') ?> + <input type="hidden" name="page_options" value="wmPos,wmXpos,wmYpos,wmType,wmPath,wmFont,wmSize,wmColor,wmText,wmOpaque" /> + <div id="wm-preview"> + <h3><?php _e('Preview','nggallery') ?></h3> + <p style="text-align:center;"><?php echo $imageURL; ?></p> + <h3><?php _e('Position','nggallery') ?></h3> + <div> + <table id="wm-position"> + <tr> + <td valign="top"> + <strong><?php _e('Position','nggallery') ?></strong> + <table border="1"> + <tr> + <td><input type="radio" name="wmPos" value="topLeft" <?php checked('topLeft', $ngg->options['wmPos']); ?> /></td> + <td><input type="radio" name="wmPos" value="topCenter" <?php checked('topCenter', $ngg->options['wmPos']); ?> /></td> + <td><input type="radio" name="wmPos" value="topRight" <?php checked('topRight', $ngg->options['wmPos']); ?> /></td> + </tr> + <tr> + <td><input type="radio" name="wmPos" value="midLeft" <?php checked('midLeft', $ngg->options['wmPos']); ?> /></td> + <td><input type="radio" name="wmPos" value="midCenter" <?php checked('midCenter', $ngg->options['wmPos']); ?> /></td> + <td><input type="radio" name="wmPos" value="midRight" <?php checked('midRight', $ngg->options['wmPos']); ?> /></td> + </tr> + <tr> + <td><input type="radio" name="wmPos" value="botLeft" <?php checked('botLeft', $ngg->options['wmPos']); ?> /></td> + <td><input type="radio" name="wmPos" value="botCenter" <?php checked('botCenter', $ngg->options['wmPos']); ?> /></td> + <td><input type="radio" name="wmPos" value="botRight" <?php checked('botRight', $ngg->options['wmPos']); ?> /></td> + </tr> + </table> + </td> + <td valign="top"> + <strong><?php _e('Offset','nggallery') ?></strong> + <table border="0"> + <tr> + <td>x</td> + <td><input type="text" name="wmXpos" value="<?php echo $ngg->options['wmXpos'] ?>" size="4" /> px</td> + </tr> + <tr> + <td>y</td> + <td><input type="text" name="wmYpos" value="<?php echo $ngg->options['wmYpos'] ?>" size="4" /> px</td> + </tr> + </table> + </td> + </tr> + </table> + </div> + </div> + <h3><label><input type="radio" name="wmType" value="image" <?php checked('image', $ngg->options['wmType']); ?> /> <?php _e('Use image as watermark','nggallery') ?></label></h3> + <table class="wm-table form-table"> + <tr> + <th><?php _e('URL to file','nggallery') ?></th> + <td><input type="text" size="40" name="wmPath" value="<?php echo $ngg->options['wmPath']; ?>" /><br /> + <?php if(!ini_get('allow_url_fopen')) _e('The accessing of URL files is disabled at your server (allow_url_fopen)','nggallery') ?> </td> + </tr> + </table> + <h3><label><input type="radio" name="wmType" value="text" <?php checked('text', $ngg->options['wmType']); ?> /> <?php _e('Use text as watermark','nggallery') ?></label></h3> + <table class="wm-table form-table"> + <tr> + <th><?php _e('Font','nggallery') ?></th> + <td><select name="wmFont" size="1"> <?php + $fontlist = ngg_get_TTFfont(); + foreach ( $fontlist as $fontfile ) { + echo "\n".'<option value="'.$fontfile.'" '.ngg_input_selected($fontfile, $ngg->options['wmFont']).' >'.$fontfile.'</option>'; + } + ?> + </select><br /><span class="setting-description"> + <?php if ( !function_exists('ImageTTFBBox') ) + _e('This function will not work, cause you need the FreeType library','nggallery'); + else + _e('You can upload more fonts in the folder <strong>nggallery/fonts</strong>','nggallery'); ?> + </span> + </td> + </tr> + <tr> + <th><?php _e('Size','nggallery') ?></th> + <td><input type="text" name="wmSize" value="<?php echo $ngg->options['wmSize']; ?>" size="4" maxlength="2" /> px</td> + </tr> + <tr> + <th><?php _e('Color','nggallery') ?></th> + <td><input class="picker" type="text" size="6" maxlength="6" id="wmColor" name="wmColor" onchange="setcolor('#previewText', this.value)" value="<?php echo $ngg->options['wmColor'] ?>" /> + <input type="text" size="1" readonly="readonly" id="previewText" style="background-color: #<?php echo $ngg->options['wmColor']; ?>" /> <?php _e('(hex w/o #)','nggallery') ?></td> + </tr> + <tr> + <th valign="top"><?php _e('Text','nggallery') ?></th> + <td><textarea name="wmText" cols="40" rows="4"><?php echo $ngg->options['wmText'] ?></textarea></td> + </tr> + <tr> + <th><?php _e('Opaque','nggallery') ?></th> + <td><input type="text" name="wmOpaque" value="<?php echo $ngg->options['wmOpaque'] ?>" size="3" maxlength="3" /> % </td> + </tr> + </table> + <div class="clear"> </div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes') ;?>"/></div> + </form> + <?php + } + + function tab_slideshow() { + + global $ngg; + ?> + <!-- Slideshow settings --> + <form name="player_options" method="POST" action="<?php echo $this->filepath.'#slideshow'; ?>" > + <?php wp_nonce_field('ngg_settings'); ?> + <input type="hidden" name="page_options" value="slideFx,enableIR,irURL,irWidth,irHeight,irShuffle,irLinkfromdisplay,irShownavigation,irShowicons,irWatermark,irOverstretch,irRotatetime,irTransition,irKenburns,irBackcolor,irFrontcolor,irLightcolor,irScreencolor,irAudio,irXHTMLvalid" /> + <h2><?php _e('Slideshow','nggallery'); ?></h2> + <table class="form-table ngg-options"> + <tr> + <th><?php _e('Default size (W x H)','nggallery') ?></th> + <td><input type="text" size="3" maxlength="4" name="irWidth" value="<?php echo $ngg->options['irWidth']; ?>" /> x + <input type="text" size="3" maxlength="4" name="irHeight" value="<?php echo $ngg->options['irHeight']; ?>" /></td> + </tr> + <tr> + <th><?php _e('Duration time','nggallery') ?></th> + <td><input type="text" size="3" maxlength="3" name="irRotatetime" value="<?php echo $ngg->options['irRotatetime'] ?>" /> <?php _e('sec.', 'nggallery') ;?></td> + </tr> + <tr> + <th><?php _e('Transition / Fade effect','nggallery') ?></th> + <td> + <select size="1" name="slideFx"> + <option value="fade" <?php selected('fade', $ngg->options['slideFx']); ?> ><?php _e('fade', 'nggallery') ;?></option> + <option value="blindX" <?php selected('blindX', $ngg->options['slideFx']); ?> ><?php _e('blindX', 'nggallery') ;?></option> + <option value="cover" <?php selected('cover', $ngg->options['slideFx']); ?> ><?php _e('cover', 'nggallery') ;?></option> + <option value="scrollUp" <?php selected('scrollUp', $ngg->options['slideFx']); ?> ><?php _e('scrollUp', 'nggallery') ;?></option> + <option value="scrollDown" <?php selected('scrollDown', $ngg->options['slideFx']); ?> ><?php _e('scrollDown', 'nggallery') ;?></option> + <option value="shuffle" <?php selected('shuffle', $ngg->options['slideFx']); ?> ><?php _e('shuffle', 'nggallery') ;?></option> + <option value="toss" <?php selected('toss', $ngg->options['slideFx']); ?> ><?php _e('toss', 'nggallery') ;?></option> + <option value="wipe" <?php selected('wipe', $ngg->options['slideFx']); ?> ><?php _e('wipe', 'nggallery') ;?></option> + </select> + <span class="description"><?php _e('See here for more information about the effects :', 'nggallery') ?> <a href="http://jquery.malsup.com/cycle/browser.html" target="_blank" >jQuery Cycle</a></span> + </td> + </tr> + </table> + <h3 class="expert" ><?php _e('Settings for the JW Image Rotator','nggallery') ?></h3> + <p> + NextGEN Galery flash slideshows use the JW Image Rotator Version 3.17 by <a target='_blank' href='http://www.longtailvideo.com/players/jw-image-rotator/'>Long Tail Video</a>. + This file is bundled with NextGEN Gallery 1.9.9 and above. Press the button below to search for it automatically. For earlier versions of NextGEN Gallery, you'll need to + upload the file manually to the <a href='http://codex.wordpress.org/Uploading_Files' target='_blank'>WordPress Uploads directory</a>. + </p> + <?php if (empty($ngg->options['irURL']) && ($ngg->options['enableIR'] == '1')) { ?> + <div id="message" class="error inline"> + <p> + <?php _e('The path to JW Image Rotator is not defined, the slideshow will not work.','nggallery'); ?><br /> + Press the button below to search for the file. + </p> + </div> + <?php }?> + <table class="expert form-table ngg-options"> + <tr> + <th><?php _e('Enable flash slideshow','nggallery') ?></th> + <td><input name="enableIR" type="checkbox" value="1" <?php checked('1', $ngg->options['enableIR']); ?> /> + <span class="setting-description"><?php _e('Integrate the flash based slideshow for all flash supported devices','nggallery') ?></span></td> + </tr> + <tr> + <th><?php _e('Path to the JW Image Rotator (URL)','nggallery') ?></th> + <td> + <input type="text" size="50" id="irURL" name="irURL" value="<?php echo $ngg->options['irURL']; ?>" /> + <input type="submit" name="irDetect" class="button-secondary" value="<?php _e('Search now','nggallery') ;?> »"/> + <br /><span class="setting-description"><?php _e('Press the button below to search for the JW Image Rotator','nggallery') ?></span> + </td> + </tr> + <tr> + <th><?php _e('Shuffle mode','nggallery') ?></th> + <td><input name="irShuffle" type="checkbox" value="1" <?php checked('1', $ngg->options['irShuffle']); ?> /></td> + </tr> + <tr class="expert"> + <th><?php _e('Show next image on click','nggallery') ?></th> + <td><input name="irLinkfromdisplay" type="checkbox" value="1" <?php checked('1', $ngg->options['irLinkfromdisplay']); ?> /></td> + </tr> + <tr class="expert"> + <th><?php _e('Show navigation bar','nggallery') ?></th> + <td><input name="irShownavigation" type="checkbox" value="1" <?php checked('1', $ngg->options['irShownavigation']); ?> /></td> + </tr> + <tr class="expert"> + <th><?php _e('Show loading icon','nggallery') ?></th> + <td><input name="irShowicons" type="checkbox" value="1" <?php checked('1', $ngg->options['irShowicons']); ?> /></td> + </tr> + <tr class="expert"> + <th><?php _e('Use watermark logo','nggallery') ?></th> + <td><input name="irWatermark" type="checkbox" value="1" <?php checked('1', $ngg->options['irWatermark']); ?> /> + <span class="setting-description"><?php _e('You can change the logo at the watermark settings','nggallery') ?></span></td> + </tr> + <tr class="expert"> + <th><?php _e('Stretch image','nggallery') ?></th> + <td> + <select size="1" name="irOverstretch"> + <option value="true" <?php selected('true', $ngg->options['irOverstretch']); ?> ><?php _e('true', 'nggallery') ;?></option> + <option value="false" <?php selected('false', $ngg->options['irOverstretch']); ?> ><?php _e('false', 'nggallery') ;?></option> + <option value="fit" <?php selected('fit', $ngg->options['irOverstretch']); ?> ><?php _e('fit', 'nggallery') ;?></option> + <option value="none" <?php selected('none', $ngg->options['irOverstretch']); ?> ><?php _e('none', 'nggallery') ;?></option> + </select> + </td> + </tr> + <tr> + <th><?php _e('Transition / Fade effect','nggallery') ?></th> + <td> + <select size="1" name="irTransition"> + <option value="fade" <?php selected('fade', $ngg->options['irTransition']); ?> ><?php _e('fade', 'nggallery') ;?></option> + <option value="bgfade" <?php selected('bgfade', $ngg->options['irTransition']); ?> ><?php _e('bgfade', 'nggallery') ;?></option> + <option value="slowfade" <?php selected('slowfade', $ngg->options['irTransition']); ?> ><?php _e('slowfade', 'nggallery') ;?></option> + <option value="circles" <?php selected('circles', $ngg->options['irTransition']); ?> ><?php _e('circles', 'nggallery') ;?></option> + <option value="bubbles" <?php selected('bubbles', $ngg->options['irTransition']); ?> ><?php _e('bubbles', 'nggallery') ;?></option> + <option value="blocks" <?php selected('blocks', $ngg->options['irTransition']); ?> ><?php _e('blocks', 'nggallery') ;?></option> + <option value="fluids" <?php selected('fluids', $ngg->options['irTransition']); ?> ><?php _e('fluids', 'nggallery') ;?></option> + <option value="flash" <?php selected('flash', $ngg->options['irTransition']); ?> ><?php _e('flash', 'nggallery') ;?></option> + <option value="lines" <?php selected('lines', $ngg->options['irTransition']); ?> ><?php _e('lines', 'nggallery') ;?></option> + <option value="random" <?php selected('random', $ngg->options['irTransition']); ?> ><?php _e('random', 'nggallery') ;?></option> + </select> + </td> + </tr> + <tr class="expert"> + <th><?php _e('Use slow zooming effect','nggallery') ?></th> + <td><input name="irKenburns" type="checkbox" value="1" <?php checked('1', $ngg->options['irKenburns']); ?> /></td> + </tr> + <tr> + <th><?php _e('Background Color','nggallery') ?></th> + <td><input class="picker" type="text" size="6" maxlength="6" id="irBackcolor" name="irBackcolor" onchange="setcolor('#previewBack', this.value)" value="<?php echo $ngg->options['irBackcolor'] ?>" /> + <input type="text" size="1" readonly="readonly" id="previewBack" style="background-color: #<?php echo $ngg->options['irBackcolor'] ?>" /></td> + </tr> + <tr> + <th><?php _e('Texts / Buttons Color','nggallery') ?></th> + <td><input class="picker" type="text" size="6" maxlength="6" id="irFrontcolor" name="irFrontcolor" onchange="setcolor('#previewFront', this.value)" value="<?php echo $ngg->options['irFrontcolor'] ?>" /> + <input type="text" size="1" readonly="readonly" id="previewFront" style="background-color: #<?php echo $ngg->options['irFrontcolor'] ?>" /></td> + </tr> + <tr class="expert"> + <th><?php _e('Rollover / Active Color','nggallery') ?></th> + <td><input class="picker" type="text" size="6" maxlength="6" id="irLightcolor" name="irLightcolor" onchange="setcolor('#previewLight', this.value)" value="<?php echo $ngg->options['irLightcolor'] ?>" /> + <input type="text" size="1" readonly="readonly" id="previewLight" style="background-color: #<?php echo $ngg->options['irLightcolor'] ?>" /></td> + </tr> + <tr class="expert"> + <th><?php _e('Screen Color','nggallery') ?></th> + <td><input class="picker" type="text" size="6" maxlength="6" id="irScreencolor" name="irScreencolor" onchange="setcolor('#previewScreen', this.value)" value="<?php echo $ngg->options['irScreencolor'] ?>" /> + <input type="text" size="1" readonly="readonly" id="previewScreen" style="background-color: #<?php echo $ngg->options['irScreencolor'] ?>" /></td> + </tr> + <tr class="expert"> + <th><?php _e('Background music (URL)','nggallery') ?></th> + <td><input type="text" size="50" id="irAudio" name="irAudio" value="<?php echo $ngg->options['irAudio'] ?>" /></td> + </tr> + <tr class="expert"> + <th ><?php _e('Try XHTML validation (with CDATA)','nggallery') ?></th> + <td><input name="irXHTMLvalid" type="checkbox" value="1" <?php checked('1', $ngg->options['irXHTMLvalid']); ?> /> + <span class="setting-description"><?php _e('Important : Could causes problem at some browser. Please recheck your page.','nggallery') ?></span></td> + </tr> + </table> + <div class="alignright"><a href="" class="switch-expert" >[<?php _e('More settings','nggallery'); ?>]</a></div> + <div class="submit"><input class="button-primary" type="submit" name="updateoption" value="<?php _e('Save Changes') ;?>"/></div> + </form> + <?php + } +} + +function ngg_get_TTFfont() { + + $ttf_fonts = array (); + + // Files in wp-content/plugins/nggallery/fonts directory + $plugin_root = NGGALLERY_ABSPATH . 'fonts'; + + $plugins_dir = @ dir($plugin_root); + if ($plugins_dir) { + while (($file = $plugins_dir->read()) !== false) { + if (preg_match('|^\.+$|', $file)) + continue; + if (is_dir($plugin_root.'/'.$file)) { + $plugins_subdir = @ dir($plugin_root.'/'.$file); + if ($plugins_subdir) { + while (($subfile = $plugins_subdir->read()) !== false) { + if (preg_match('|^\.+$|', $subfile)) + continue; + if (preg_match('|\.ttf$|', $subfile)) + $ttf_fonts[] = "$file/$subfile"; + } + } + } else { + if (preg_match('|\.ttf$|', $file)) + $ttf_fonts[] = $file; + } + } + } + + return $ttf_fonts; +} + +function ngg_search_imagerotator() { + global $wpdb; + + $upload = wp_upload_dir(); + + // look first at the old place and move it to wp-content/uploads + if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) + @rename(NGGALLERY_ABSPATH . 'imagerotator.swf', $upload['basedir'] . '/imagerotator.swf'); + + // This should be the new place + if ( file_exists( $upload['basedir'] . '/imagerotator.swf' ) ) + return $upload['baseurl'] . '/imagerotator.swf'; + + // Find the path to the imagerotator via the media library + if ( $path = $wpdb->get_var( "SELECT guid FROM {$wpdb->posts} WHERE guid LIKE '%imagerotator.swf%'" ) ) + return $path; + + // maybe it's located at wp-content + if ( file_exists( WP_CONTENT_DIR . '/imagerotator.swf' ) ) + return WP_CONTENT_URL . '/imagerotator.swf'; + + // or in the plugin folder + if ( file_exists( WP_PLUGIN_DIR . '/imagerotator.swf' ) ) + return WP_PLUGIN_URL . '/imagerotator.swf'; + + // this is deprecated and will be ereased during a automatic upgrade + if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) + return NGGALLERY_URLPATH . 'imagerotator.swf'; + + return ''; +} + +/**********************************************************/ +// taken from WP Core + +function ngg_input_selected( $selected, $current) { + if ( $selected == $current) + return ' selected="selected"'; +} + +function ngg_input_checked( $checked, $current) { + if ( $checked == $current) + return ' checked="checked"'; +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/setup.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/setup.php new file mode 100644 index 000000000..0f078cd85 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/setup.php @@ -0,0 +1,58 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + + function nggallery_admin_setup() { + global $wpdb, $ngg; + + if (isset($_POST['resetdefault'])) { + check_admin_referer('ngg_uninstall'); + + include_once ( dirname (__FILE__). '/install.php'); + + ngg_default_options(); + $ngg->load_options(); + + nggGallery::show_message(__('Reset all settings to default parameter','nggallery')); + } + + if (isset($_POST['uninstall'])) { + + check_admin_referer('ngg_uninstall'); + + include_once ( dirname (__FILE__). '/install.php'); + + nggallery_uninstall(); + + nggGallery::show_message(__('Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !','nggallery')); + } + ?> + <div class="wrap"> + <h2><?php _e('Reset options', 'nggallery') ;?></h2> + <form name="resetsettings" method="post"> + <?php wp_nonce_field('ngg_uninstall') ?> + <p><?php _e('Reset all options/settings to the default installation.', 'nggallery') ;?></p> + <div align="center"><input type="submit" class="button" name="resetdefault" value="<?php _e('Reset settings', 'nggallery') ;?>" onclick="javascript:check=confirm('<?php _e('Reset all options to default settings ?\n\nChoose [Cancel] to Stop, [OK] to proceed.\n','nggallery'); ?>');if(check==false) return false;" /></div> + </form> + </div> + <?php if ( !is_multisite() || wpmu_site_admin() ) : ?> + <div class="wrap"> + <h2><?php _e('Uninstall plugin tables', 'nggallery') ;?></h2> + + <form name="resetsettings" method="post"> + <div> + <?php wp_nonce_field('ngg_uninstall') ?> + <p><?php _e('You don\'t like NextGEN Gallery ?', 'nggallery') ;?></p> + <p><?php _e('No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. ', 'nggallery') ;?> + </div> + <p><font color="red"><strong><?php _e('WARNING:', 'nggallery') ;?></strong><br /> + <?php _e('Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables', 'nggallery') ;?> <strong><?php echo $wpdb->nggpictures; ?></strong>, <strong><?php echo $wpdb->nggalbum; ?></strong> <?php _e('and', 'nggallery') ;?> <strong><?php echo $wpdb->nggalbum; ?></strong>.</font></p> + <div align="center"> + <input type="submit" name="uninstall" class="button delete" value="<?php _e('Uninstall plugin', 'nggallery') ?>" onclick="javascript:check=confirm('<?php _e('You are about to Uninstall this plugin from WordPress.\nThis action is not reversible.\n\nChoose [Cancel] to Stop, [OK] to Uninstall.\n','nggallery'); ?>');if(check==false) return false;"/> + </div> + </form> + </div> + <?php endif; ?> + + <?php +} +?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php new file mode 100644 index 000000000..5ef1f24b2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/showmeta.php @@ -0,0 +1,124 @@ +<?php + +// look up for the path +require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php'); + +require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); +require_once(NGGALLERY_ABSPATH . '/lib/image.php'); + +if ( !is_user_logged_in() ) + die(__('Cheatin’ uh?')); + +if ( !current_user_can('NextGEN Manage gallery') ) + die(__('Cheatin’ uh?')); + +global $wpdb; + +$id = (int) $_GET['id']; +// let's get the meta data' +$meta = new nggMeta($id); +$dbdata = $meta->get_saved_meta(); +$exifdata = $meta->get_EXIF(); +$iptcdata = $meta->get_IPTC(); +$xmpdata = $meta->get_XMP(); +$class = ''; + +?> + <!-- META DATA --> + <fieldset class="options nggallery"> + <h3><?php _e('Meta Data','nggallery'); ?></h3> + <?php if ($dbdata) { ?> + <table id="the-list-x" width="100%" cellspacing="3" cellpadding="3"> + <thead> + <tr> + <th scope="col"><?php _e('Tag','nggallery'); ?></th> + <th scope="col"><?php _e('Value','nggallery'); ?></th> + </tr> + </thead> + <?php + foreach ($dbdata as $key => $value){ + if ( is_array($value) ) continue; + $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; + echo '<tr '.$class.'> + <td style="width:230px">'. esc_html( $meta->i8n_name($key) ).'</td> + <td>' . esc_html( $value ) . '</td> + </tr>'; + } + ?> + </table> + <?php } else echo "<strong>" . __('No meta data saved','nggallery') . "</strong>"; ?> + </fieldset> + + <!-- EXIF DATA --> + <?php if ($exifdata) { ?> + <fieldset class="options nggallery"> + <h3><?php _e('EXIF Data','nggallery'); ?></h3> + <?php if ($exifdata) { ?> + <table id="the-list-x" width="100%" cellspacing="3" cellpadding="3"> + <thead> + <tr> + <th scope="col"><?php _e('Tag','nggallery'); ?></th> + <th scope="col"><?php _e('Value','nggallery'); ?></th> + </tr> + </thead> + <?php + foreach ($exifdata as $key => $value){ + $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; + echo '<tr '.$class.'> + <td style="width:230px">' . esc_html ( $meta->i8n_name($key) ) . '</td> + <td>' . esc_html( $value ) .'</td> + </tr>'; + } + ?> + </table> + <?php } else echo "<strong>". __('No exif data','nggallery'). "</strong>"; ?> + </fieldset> + <?php } ?> + + <!-- IPTC DATA --> + <?php if ($iptcdata) { ?> + <fieldset class="options nggallery"> + <h3><?php _e('IPTC Data','nggallery'); ?></h3> + <table id="the-list-x" width="100%" cellspacing="3" cellpadding="3"> + <thead> + <tr> + <th scope="col"><?php _e('Tag','nggallery'); ?></th> + <th scope="col"><?php _e('Value','nggallery'); ?></th> + </tr> + </thead> + <?php + foreach ($iptcdata as $key => $value){ + $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; + echo '<tr '.$class.'> + <td style="width:230px">' . esc_html( $meta->i8n_name($key) ) . '</td> + <td>' . esc_html( $value ) . '</td> + </tr>'; + } + ?> + </table> + </fieldset> + <?php } ?> + + <!-- XMP DATA --> + <?php if ($xmpdata) { ?> + <fieldset class="options nggallery"> + <h3><?php _e('XMP Data','nggallery'); ?></h3> + <table id="the-list-x" width="100%" cellspacing="3" cellpadding="3"> + <thead> + <tr> + <th scope="col"><?php _e('Tag','nggallery'); ?></th> + <th scope="col"><?php _e('Value','nggallery'); ?></th> + </tr> + </thead> + <?php + foreach ($xmpdata as $key => $value){ + $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"'; + echo '<tr '.$class.'> + <td style="width:230px">' . esc_html( $meta->i8n_name($key) ) . '</td> + <td>' . esc_html( $value ) . '</td> + </tr>'; + } + ?> + </table> + </fieldset> + <?php } ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/style.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/style.php new file mode 100644 index 000000000..c9e4b3c97 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/style.php @@ -0,0 +1,250 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +function nggallery_admin_style() { + +global $ngg; + +if ( $theme_css_exists = file_exists (TEMPLATEPATH . "/nggallery.css") ) { + + $real_file = TEMPLATEPATH . "/nggallery.css"; + $file_show = 'nggallery.css ' . __('(From the theme folder)','nggallery'); + +} else { + + if (isset($_POST['css'])) { + check_admin_referer('ngg_style'); + $act_cssfile = $_POST['css']; + + if ( isset( $_POST['activate'] ) ) { + // save option now + $ngg->options['activateCSS'] = $_POST['activateCSS']; + $ngg->options['CSSfile'] = $act_cssfile; + update_option('ngg_options', $ngg->options); + nggGallery::show_message(__('Update Successfully','nggallery')); + } + } else { + // get the options + if (isset($_POST['file'])) + $act_cssfile = $_POST['file']; + else + $act_cssfile = $ngg->options['CSSfile']; + } + + // set the path + $real_file = NGGALLERY_ABSPATH . "css/" . $act_cssfile; +} + +if (isset($_POST['updatecss'])) { + + check_admin_referer('ngg_style'); + + if ( !current_user_can('edit_themes') ) + wp_die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>'); + + $newcontent = stripslashes($_POST['newcontent']); + + if (is_writeable($real_file)) { + $f = fopen($real_file, 'w+'); + fwrite($f, $newcontent); + + fclose($f); + nggGallery::show_message(__('CSS file successfully updated','nggallery')); + } +} + +// get the content of the file +//TODO: BUG : Read failed after write a file, maybe a Cache problem +$error = ( !is_file($real_file) ); + +if (!$error && filesize($real_file) > 0) { + $f = fopen($real_file, 'r'); + $content = fread($f, filesize($real_file)); + $content = htmlspecialchars($content); +} + +?> +<script type="text/javascript"> + jQuery(document).ready(function(){ + jQuery('#colorSelector').ColorPicker({ + color: '#0000ff', + onShow: function (colpkr) { + jQuery(colpkr).fadeIn(500); + return false; + }, + onHide: function (colpkr) { + jQuery(colpkr).fadeOut(500); + return false; + }, + onChange: function (hsb, hex, rgb) { + jQuery('#colorSelector div').css('backgroundColor', '#' + hex); + } + }); + }); +</script> +<div class="wrap"> + + <div class="bordertitle"> + <?php if (!$theme_css_exists) : ?> + <form id="themeselector" name="cssfiles" method="post"> + <?php wp_nonce_field('ngg_style') ?> + <strong><?php _e('Activate and use style sheet:','nggallery') ?></strong> + <input type="checkbox" name="activateCSS" value="1" <?php checked('1', $ngg->options['activateCSS']); ?> /> + <select name="css" id="theme" style="margin: 0pt; padding: 0pt;" onchange="this.form.submit();"> + <?php + $csslist = ngg_get_cssfiles(); + foreach ($csslist as $key =>$a_cssfile) { + $css_name = $a_cssfile['Name']; + if ($key == $act_cssfile) { + $file_show = $key; + $selected = " selected='selected'"; + $act_css_description = $a_cssfile['Description']; + $act_css_author = $a_cssfile['Author']; + $act_css_version = $a_cssfile['Version']; + } + else $selected = ''; + $css_name = esc_attr($css_name); + echo "\n\t<option value=\"$key\" $selected>$css_name</option>"; + } + ?> + </select> + <input class="button" type="submit" name="activate" value="<?php _e('Activate','nggallery') ?> »" class="button" /> + </form> + <?php endif; ?> + </div> + <br style="clear: both;"/> + +<?php if (!is_multisite() || wpmu_site_admin() ) { ?> + <div class="tablenav"> + <?php + if ( is_writeable($real_file) ) { + echo '<big>' . sprintf(__('Editing <strong>%s</strong>','nggallery'), $file_show) . '</big>'; + } else { + echo '<big>' . sprintf(__('Browsing <strong>%s</strong>','nggallery'), $file_show) . '</big>'; + } + ?> + </div> + <br style="clear: both;"/> + + <div id="templateside"> + <?php if (!$theme_css_exists) : ?> + <ul> + <li><strong><?php _e('Author','nggallery') ?> :</strong> <?php echo $act_css_author ?></li> + <li><strong><?php _e('Version','nggallery') ?> :</strong> <?php echo $act_css_version ?></li> + <li><strong><?php _e('Description','nggallery') ?> :<br /></strong> <?php echo $act_css_description ?></li> + </ul> + <p><?php _e('Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade','nggallery') ?></p> + <?php else: ?> + <p><?php _e('Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used','nggallery') ?></p> + <?php endif; ?> + <p><?php _e('Tip No. 2: Use the color picker below to help you find the right color scheme for your gallery!','nggallery') ?></p> + <div id="colorSelector"> + <div></div> + </div> + </div> + <?php + if (!$error) { + ?> + <form name="template" id="template" method="post"> + <?php wp_nonce_field('ngg_style') ?> + <div><textarea cols="70" rows="25" name="newcontent" id="newcontent" tabindex="1" class="codepress css"><?php echo $content ?></textarea> + <input type="hidden" name="updatecss" value="updatecss" /> + <input type="hidden" name="file" value="<?php echo $file_show ?>" /> + </div> + <?php if ( is_writeable($real_file) ) : ?> + <p class="submit"> + <input class="button-primary action" type="submit" name="submit" value="<?php _e('Update File','nggallery') ?>" tabindex="2" /> + </p> + <?php else : ?> + <p><em><?php _e('If this file were writable you could edit it.','nggallery'); ?></em></p> + <?php endif; ?> + </form> + <?php + } else { + echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.','nggallery') . '</p></div>'; + } + ?> + <div class="clear"> </div> +</div> <!-- wrap--> + +<?php + } + +} // END nggallery_admin_style() + +/**********************************************************/ +// ### Code from wordpress plugin import +// read in the css files +function ngg_get_cssfiles() { + global $cssfiles; + + if (isset ($cssfiles)) { + return $cssfiles; + } + + $cssfiles = array (); + + // Files in wp-content/plugins/nggallery/css directory + $plugin_root = NGGALLERY_ABSPATH . "css"; + + $plugins_dir = @ dir($plugin_root); + if ($plugins_dir) { + while (($file = $plugins_dir->read()) !== false) { + if (preg_match('|^\.+$|', $file)) + continue; + if (is_dir($plugin_root.'/'.$file)) { + $plugins_subdir = @ dir($plugin_root.'/'.$file); + if ($plugins_subdir) { + while (($subfile = $plugins_subdir->read()) !== false) { + if (preg_match('|^\.+$|', $subfile)) + continue; + if (preg_match('|\.css$|', $subfile)) + $plugin_files[] = "$file/$subfile"; + } + } + } else { + if (preg_match('|\.css$|', $file)) + $plugin_files[] = $file; + } + } + } + + if ( !$plugins_dir || !$plugin_files ) + return $cssfiles; + + foreach ( $plugin_files as $plugin_file ) { + if ( !is_readable("$plugin_root/$plugin_file")) + continue; + + $plugin_data = ngg_get_cssfiles_data("$plugin_root/$plugin_file"); + + if ( empty ($plugin_data['Name']) ) + continue; + + $cssfiles[plugin_basename($plugin_file)] = $plugin_data; + } + + uasort($cssfiles, create_function('$a, $b', 'return strnatcasecmp($a["Name"], $b["Name"]);')); + + return $cssfiles; +} + +// parse the Header information +function ngg_get_cssfiles_data($plugin_file) { + $plugin_data = implode('', file($plugin_file)); + preg_match("|CSS Name:(.*)|i", $plugin_data, $plugin_name); + preg_match("|Description:(.*)|i", $plugin_data, $description); + preg_match("|Author:(.*)|i", $plugin_data, $author_name); + if (preg_match("|Version:(.*)|i", $plugin_data, $version)) + $version = trim($version[1]); + else + $version = ''; + + $description = wptexturize(trim($description[1])); + + $name = trim($plugin_name[1]); + $author = trim($author_name[1]); + + return array ('Name' => $name, 'Description' => $description, 'Author' => $author, 'Version' => $version ); +} +?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php new file mode 100644 index 000000000..30d74e396 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/tags.php @@ -0,0 +1,292 @@ +<?php +/** +* Tag management page. Inspired from the Simple Tags plugin by Amaury Balmer. +* http://code.google.com/p/simple-tags/ +*/ + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +$action_status = array('message' => '', 'status' => 'ok'); + +if ( isset($_POST['tag_action']) ) { + + check_admin_referer('nggallery_admin_tags'); + + if ( $_POST['tag_action'] == 'renametag' ) { + $oldtag = (isset($_POST['renametag_old'])) ? $_POST['renametag_old'] : ''; + $newtag = (isset($_POST['renametag_new'])) ? $_POST['renametag_new'] : ''; + $action_status = nggTags::rename_tags( $oldtag, $newtag ); + } elseif ( $_POST['tag_action'] == 'deletetag' ) { + $todelete = (isset($_POST['deletetag_name'])) ? $_POST['deletetag_name'] : ''; + $action_status = nggTags::delete_tags( $todelete ); + } elseif ( $_POST['tag_action'] == 'editslug' ) { + $matchtag = (isset($_POST['tagname_match'])) ? $_POST['tagname_match'] : ''; + $newslug = (isset($_POST['tagslug_new'])) ? $_POST['tagslug_new'] : ''; + $action_status = nggTags::edit_tag_slug( $matchtag, $newslug ); + } +} + +// Som useful variables +$admin_base_url = admin_url() . 'admin.php?page=nggallery-tags'; +$nb_tags = 50; // Number of tags to show on a single page + +// Manage URL + +$sort_order = ( isset($_GET['tag_sortorder']) ) ? esc_attr( stripslashes($_GET['tag_sortorder']) ) : 'desc'; +$search_url = ( isset($_GET['search']) ) ? '&search=' . esc_attr ( stripslashes($_GET['search']) ) : ''; +$action_url = $admin_base_url . '&tag_sortorder=' . $sort_order. $search_url; + +// Tags Filters +$order_array = array( + 'desc' => __('Most popular', 'nggallery'), + 'asc' => __('Least used', 'nggallery'), + 'natural' => __('Alphabetical', 'nggallery')); + +// Build Tags Param +$param = 'hide_empty=false'; +switch ($sort_order) { + case 'natural' : + $param .= '&number='.$nb_tags.'&orderby=name&order=asc'; + break; + case 'asc' : + $param .= '&number='.$nb_tags.'&orderby=count&order=asc'; + break; + default : + $param .= '&number='.$nb_tags.'&orderby=count&order=desc'; + break; +} + + +// Search +if ( !empty($_GET['search']) ) { + $search = stripslashes($_GET['search']); + $param .= '&name__like=' . $search; +} + +// Offset +if ( !empty($_GET['offset']) ) { + $param .= '&offset=' . intval( $_GET['offset'] ); +} + +// Navigation urls +if ( empty($_GET['offset']) ) { + $offset = 0; +} else { + $offset = intval( $_GET['offset'] ); +} + +$tag_count = (int)wp_count_terms('ngg_tag', 'ignore_empty=true'); + +if ($offset + $nb_tags < $tag_count) { + $next_offset = '' . min($offset + $nb_tags, $tag_count - $nb_tags); +} else { + $next_offset = ''; +} + +if ($nb_tags < $tag_count && $offset>0) { + $prev_offset = '' . max($offset - $nb_tags, 0); +} else { + $prev_offset = ''; +} + +?> +<style> + .disabled, .disabled:hover { border-color: #E5E5E5; color: #999999; cursor: default; } +</style> + +<div class="wrap ngg_wrap"> + <?php //include('templates/social_media_buttons.php'); ?> + <?php screen_icon( 'nextgen-gallery' ); ?> + <h2><?php _e('Manage image tags', 'nggallery'); ?></h2> + + <?php if ($action_status['message']!='') : ?> + <div id="message" class="<?php echo ($action_status['status']=='ok' ? 'updated' : $action_status['status']); ?> fade"> + <p><strong><?php echo $action_status['message']; ?></strong></p> + </div> + <?php endif; ?> + + <table> + <tr> + <td class="list_tags"> + <fieldset class="options" id="taglist"> + <h3><?php _e('Existing Tags', 'nggallery'); ?></h3> + + <form method="get"> + <p> + <label for="search"><?php _e('Search tags', 'nggallery'); ?></label><br /> + <input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" /> + <input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" /> + <input type="text" name="search" id="search" size="10" value="<?php if (isset($_GET['search'])) echo esc_attr( stripslashes($_GET['search']) ); ?>" /> + <input class="button" type="submit" value="<?php _e('Go', 'nggallery'); ?>" /> + </p> + </form> + + <div class="sort_order"> + <h3><?php _e('Sort Order:', 'nggallery'); ?></h3> + <?php + $output = array(); + foreach( $order_array as $sort => $title ) { + $output[] = ($sort == $sort_order) ? '<span style="color: red;">'.$title.'</span>' : '<a href="'. $admin_base_url . '&tag_sortorder=' . $sort . $search_url .'">'.$title.'</a>'; + } + echo implode('<br />', $output); + $output = array(); + unset($output); + ?> + </div> + + <div id="ajax_area_tagslist"> + <ul> + <?php + $tags = (array) nggTags::find_tags($param, true); + foreach( $tags as $tag ) { + //TODO:Tag link should be call a list of images in manage gallery + //echo '<li><span>' . $tag->name . '</span> <a href="'.(ngg_get_tag_link( $tag->term_id )).'" title="'.sprintf(__('View all images tagged with %s', 'nggallery'), $tag->name).'">('.$tag->count.')</a></li>'."\n"; + echo '<li><span>' . esc_html( $tag->name ). '</span> '.'('. esc_html( $tag->count ).')</li>'."\n"; + + } + unset($tags); + ?> + </ul> + + <?php if ( $prev_offset!='' || $next_offset!='' ) : ?> + <div class="navigation"> + + <?php if ($prev_offset!='') { ?> + <form method="get" style="display: inline;"> + <span> + <input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" /> + <input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" /> + <input type="hidden" name="offset" value="<?php echo $prev_offset; ?>" /> + <input class="button" type="submit" value="« <?php _e('Previous tags', 'nggallery'); ?>" /> + </span> + </form> + <?php } else { ?> + <span><span class="button disabled">« <?php _e('Previous tags', 'nggallery'); ?></span></span> + <?php } ?> + + <?php if ($next_offset!='') { ?> + <form method="get" style="display: inline;"> + <span> + <input type="hidden" name="page" value="<?php echo esc_attr( stripslashes($_GET['page']) ); ?>" /> + <input type="hidden" name="tag_sortorder" value="<?php echo $sort_order; ?>" /> + <input type="hidden" name="offset" value="<?php echo $next_offset; ?>" /> + <input class="button" type="submit" value="<?php _e('Next tags', 'nggallery'); ?> »" /> + </span> + </form> + <?php } else { ?> + <span><span class="button disabled"><?php _e('Previous tags', 'nggallery'); ?> »</span></span> + <?php } ?> + </div> + <?php endif; ?> + </div> + </fieldset> + </td> + <td class="forms_manage"> + <h3><?php _e('Rename Tag', 'nggallery'); ?></h3> + <form action="<?php echo $action_url; ?>" method="post"> + <input type="hidden" name="tag_action" value="renametag" /> + <?php wp_nonce_field('nggallery_admin_tags'); ?> + + <table class="form-table"> + <tr valign="top"> + <td colspan="2"> + <p><?php _e('Enter the tag to rename and its new value. You can use this feature to merge tags too. Click "Rename" and all posts which use this tag will be updated.', 'nggallery'); ?></p> + <p><?php _e('You can specify multiple tags to rename by separating them with commas.', 'nggallery'); ?></p> + </td> + </tr> + <tr valign="top"> + <th scope="row"><label for="renametag_old"><?php _e('Tag(s) to rename:', 'nggallery'); ?></label></th> + <td><input type="text" id="renametag_old" name="renametag_old" value="" size="40" /></td> + </tr> + <tr valign="top"> + <th scope="row"><label for="renametag_new"><?php _e('New tag name(s):', 'nggallery'); ?></label></th> + <td> + <input type="text" id="renametag_new" name="renametag_new" value="" size="40" /> + <input class="button" type="submit" name="rename" value="<?php _e('Rename', 'nggallery'); ?>" /> + </td> + </tr> + </table> + </form> + + <h3><?php _e('Delete Tag', 'nggallery'); ?></h3> + <form action="<?php echo $action_url; ?>" method="post"> + <input type="hidden" name="tag_action" value="deletetag" /> + <?php wp_nonce_field('nggallery_admin_tags'); ?> + + <table class="form-table"> + <tr valign="top"> + <td colspan="2"> + <p><?php _e('Enter the name of the tag to delete. This tag will be removed from all posts.', 'nggallery'); ?></p> + <p><?php _e('You can specify multiple tags to delete by separating them with commas', 'nggallery'); ?>.</p> + </td> + </tr> + <tr valign="top"> + <th scope="row"><label for="deletetag_name"><?php _e('Tag(s) to delete:', 'nggallery'); ?></label></th> + <td> + <input type="text" id="deletetag_name" name="deletetag_name" value="" size="40" /> + <input class="button" type="submit" name="delete" value="<?php _e('Delete', 'nggallery'); ?>" /> + </td> + </tr> + </table> + </form> + + <h3><?php _e('Edit Tag Slug', 'nggallery'); ?></h3> + <form action="<?php echo $action_url; ?>" method="post"> + <input type="hidden" name="tag_action" value="editslug" /> + <?php wp_nonce_field('nggallery_admin_tags'); ?> + + <table class="form-table"> + <tr valign="top"> + <td colspan="2"> + <p><?php _e('Enter the tag name to edit and its new slug. This will be used in tagcloud links. <a href="http://codex.wordpress.org/Glossary#Slug" target="_blank">Slug definition</a>', 'nggallery'); ?></p> + <p><?php _e('You can specify multiple tags to rename by separating them with commas.', 'nggallery'); ?></p> + </td> + </tr> + <tr valign="top"> + <th scope="row"><label for="tagname_match"><?php _e('Tag(s) to match:', 'nggallery'); ?></label></th> + <td><input type="text" id="tagname_match" name="tagname_match" value="" size="40" /></td> + </tr> + <tr valign="top"> + <th scope="row"><label for="tagslug_new"><?php _e('Slug(s) to set:', 'nggallery'); ?></label></th> + <td> + <input type="text" id="tagslug_new" name="tagslug_new" value="" size="40" /> + <input class="button" type="submit" name="edit" value="<?php _e('Edit', 'nggallery'); ?>" /> + </td> + </tr> + </table> + </form> + </td> + </tr> + </table> + <script type="text/javascript"> + // <![CDATA[ + // Register onclick event + function registerClick() { + jQuery('#taglist ul li span').bind("click", function(){ + addTag(this.innerHTML, "renametag_old"); + addTag(this.innerHTML, "deletetag_name"); + addTag(this.innerHTML, "tagname_match"); + }); + } + + // Register initial event + jQuery(document).ready(function() { + registerClick(); + }); + + // Add tag into input + function addTag( tag, name_element ) { + var input_element = document.getElementById( name_element ); + + if ( input_element.value.length > 0 && !input_element.value.match(/,\s*$/) ) + input_element.value += ", "; + + var re = new RegExp(tag + ","); + if ( !input_element.value.match(re) ) + input_element.value += tag + ", "; + + return true; + } + // ]]> + </script> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/facebook_like_button.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/facebook_like_button.php new file mode 100644 index 000000000..310b7f2b9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/facebook_like_button.php @@ -0,0 +1,2 @@ +<div id="fb-root"></div> +<div id="ngg_facebook_like" class="fb-like" data-href="http://www.facebook.com/nextgengallery" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/social_media_buttons.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/social_media_buttons.php new file mode 100644 index 000000000..4720bf36a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/social_media_buttons.php @@ -0,0 +1,4 @@ +<div id="ngg_social_media"> + <?php include('twitter_follow_link.php'); ?> + <?php include('facebook_like_button.php'); ?> +</div> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/twitter_follow_link.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/twitter_follow_link.php new file mode 100644 index 000000000..61e951e76 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/templates/twitter_follow_link.php @@ -0,0 +1,8 @@ +<a + href='https://twitter.com/NextGENGallery' + id="ngg_twitter_follow" + class='twitter-follow-button' + data-show-count='false' + data-lang='en'> + Follow @NextGENGallery +</a> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php new file mode 100644 index 000000000..0037cb454 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/thumbnails-template.php @@ -0,0 +1,104 @@ +<?php +$nextgen_thumb_size_custom_style = null; + +// defaults for the later form input +if (empty($thumbnails_template_name)) + $thumbnails_template_name = 'thumbsize'; +if (empty($thumbnails_template_width_name)) + $thumbnails_template_width_name = 'thumbwidth'; +if (empty($thumbnails_template_height_name)) + $thumbnails_template_height_name = 'thumbheight'; +if (empty($thumbnails_template_id)) + $thumbnails_template_id = 'thumbsize'; +if (empty($thumbnails_template_width_id)) + $thumbnails_template_width_id = ''; +if (empty($thumbnails_template_height_id)) + $thumbnails_template_height_id = ''; + +if (class_exists('C_Component_Registry')) +{ + $registry = C_Component_Registry::get_instance(); + $settings = C_NextGen_Settings::get_instance(); + + if ($settings != null) + { + $thumb_sizes = $settings->thumbnail_dimensions; + + if (empty($thumbnails_template_width_value)) + $thumbnails_template_width_value = $settings->thumbwidth; + if (empty($thumbnails_template_height_value)) + $thumbnails_template_height_value = $settings->thumbheight; + + if (!is_null($thumb_sizes) && is_array($thumb_sizes)) + { + $size_selected = NULL; + $size_select_html = "<select name='{$thumbnails_template_name}' id='{$thumbnails_template_id}' onchange='" + . "var jt = jQuery(this);" + . " var szcust = jt.next(\".nextgen-thumb-size-custom\");" + . " if (jt.val() == \"custom\") {" + . " szcust.find(\"[name=\\\"{$thumbnails_template_width_name}\\\"]\").val(\"{$thumbnails_template_width_value}\");" + . " szcust.find(\"[name=\\\"{$thumbnails_template_height_name}\\\"]\").val(\"{$thumbnails_template_height_value}\");" + . " szcust.show();" + . " } else {" + . " var parts = jt.val().split(\"x\");" + . " szcust.hide();" + . " szcust.find(\"[name=\\\"{$thumbnails_template_width_name}\\\"]\").val(parts[0]);" + . " szcust.find(\"[name=\\\"{$thumbnails_template_height_name}\\\"]\").val(parts[1]);" + . " }'>"; + + foreach ($thumb_sizes as $thumb_size) + { + $thumb_size_parts = explode('x', $thumb_size); + $thumb_width = $thumb_size_parts[0]; + $thumb_height = $thumb_size_parts[1]; + + $size_select_html .= "\n" . '<option value="' . $thumb_size . '"'; + + if ($thumbnails_template_width_value == $thumb_width && $thumbnails_template_height_value == $thumb_height) + { + $size_selected = $thumb_size; + $size_select_html .= ' selected'; + } + + $size_select_html .= '>' . $thumb_size . '</option>'; + } + + $size_select_html .= "\n" . '<option value="custom"'; + + if (is_null($size_selected)) + { + $size_select_html .= ' selected'; + } + else { + $nextgen_thumb_size_custom_style .= 'display: none;'; + } + + $size_select_html .= '>' . __('Custom', 'nggallery') . '</option>'; + + $size_select_html .= '</select>'; + + echo $size_select_html; + } + } +} + +if (!is_null($nextgen_thumb_size_custom_style)) + $nextgen_thumb_size_custom_style = ' style="' . $nextgen_thumb_size_custom_style . '"'; + +?><span class="nextgen-thumb-size-custom" <?php echo $nextgen_thumb_size_custom_style; ?>> + <input type="text" + size="5" + maxlength="5" + id='<?php echo $thumbnails_template_width_id; ?>' + name="<?php echo $thumbnails_template_width_name; ?>" + value="<?php echo $thumbnails_template_width_value; ?>"/> + x + <input type="text" + size="5" + maxlength="5" + id='<?php echo $thumbnails_template_height_id; ?>' + name="<?php echo $thumbnails_template_height_name; ?>" + value="<?php echo $thumbnails_template_height_value; ?>"/> + <br/> + <small><?php _e('These are maximum values', 'nggallery'); ?></small> +</span> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php new file mode 100644 index 000000000..5b17cd99d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upgrade.php @@ -0,0 +1,283 @@ +<?php + +/** + * ngg_convert_tags() - Import the tags into the wp tables (only required for pre V1.00 versions) + * + * @return Success Message + */ +function ngg_convert_tags() { + global $wpdb, $wp_taxonomies; + + // get the obsolete tables + $wpdb->nggtags = $wpdb->prefix . 'ngg_tags'; + $wpdb->nggpic2tags = $wpdb->prefix . 'ngg_pic2tags'; + + $picturelist = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures"); + if ( is_array($picturelist) ) { + foreach($picturelist as $id) { + $tags = array(); + $tagarray = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE t.picid = '$id' ORDER BY tt.slug ASC "); + if (!empty($tagarray)){ + foreach($tagarray as $element) { + $tags[$element->id] = $element->name; + } + wp_set_object_terms($id, $tags, 'ngg_tag'); + } + } + } +} + +/** + * ngg_convert_filestructure() - converter for old thumnail folder structure + * + * @return void + */ +function ngg_convert_filestructure() { + global $wpdb; + + $gallerylist = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC", OBJECT_K); + if ( is_array($gallerylist) ) { + $errors = array(); + foreach($gallerylist as $gallery) { + $gallerypath = WINABSPATH.$gallery->path; + + // old mygallery check, convert the wrong folder/ file name now + if (@is_dir($gallerypath . '/tumbs')) { + if ( !@rename($gallerypath . '/tumbs' , $gallerypath .'/thumbs') ) + $errors[] = $gallery->path . '/thumbs'; + // read list of images + $imageslist = nggAdmin::scandir($gallerypath . '/thumbs'); + if ( !empty($imageslist)) { + foreach($imageslist as $image) { + $purename = substr($image, 4); + if ( !@rename($gallerypath . '/thumbs/' . $image, $gallerypath . '/thumbs/thumbs_' . $purename )) + $errors[] = $gallery->path . '/thumbs/thumbs_' . $purename ; + } + } + } + } + + if (!empty($errors)) { + echo "<div class='error_inline'><p>". __('Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section.', 'nggallery') ."</p>"; + foreach($errors as $value) { + echo __('Rename failed', 'nggallery') . ' : <strong>' . $value . "</strong><br />\n"; + } + echo '</div>'; + } + } +} + +/** + * Move the imagerotator outside the plugin folder, as we remove it from the REPO with the next update + * + * @return string $path URL to the imagerotator + */ +function ngg_move_imagerotator() { + + $upload = wp_upload_dir(); + + // look first at the old place and move it + if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) + @rename(NGGALLERY_ABSPATH . 'imagerotator.swf', $upload['basedir'] . '/imagerotator.swf'); + + // If it's successful then we return the new path + if ( file_exists( $upload['basedir'] . '/imagerotator.swf' ) ) + return $upload['baseurl'] . '/imagerotator.swf'; + + //In some worse case it's still at the old place + if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) ) + return NGGALLERY_URLPATH . 'imagerotator.swf'; + + // if something failed, we must return a empty string + return ''; +} + +/** + * ngg_import_date_time() - Read the timestamp from exif and insert it into the database + * + * @return void + */ +function ngg_import_date_time() { + global $wpdb; + + $imagelist = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid ORDER BY tt.pid ASC"); + if ( is_array($imagelist) ) { + foreach ($imagelist as $image) { + $picture = new nggImage($image); + $meta = new nggMeta($picture->pid, true); + $date = $meta->get_date_time(); + $wpdb->query("UPDATE $wpdb->nggpictures SET imagedate = '$date' WHERE pid = '$picture->pid'"); + } + } +} + +/** + * Adding a new column if needed + * Example : ngg_maybe_add_column( $wpdb->nggpictures, 'imagedate', "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER alttext"); + * + * @param string $table_name Database table name. + * @param string $column_name Database column name to create. + * @param string $create_ddl SQL statement to create column + * @return bool True, when done with execution. + */ +function ngg_maybe_add_column($table_name, $column_name, $create_ddl) { + global $wpdb; + + foreach ($wpdb->get_col("SHOW COLUMNS FROM $table_name") as $column ) { + if ($column == $column_name) + return true; + } + + //didn't find it try to create it. + $wpdb->query("ALTER TABLE $table_name ADD $column_name " . $create_ddl); + + // we cannot directly tell that whether this succeeded! + foreach ($wpdb->get_col("SHOW COLUMNS FROM $table_name") as $column ) { + if ($column == $column_name) + return true; + } + + echo("Could not add column $column_name in table $table_name<br />\n"); + return false; +} + +/** + * nggallery_upgrade_page() - This page showsup , when the database version doesn't fir to the script NGG_DBVERSION constant. + * + * @return Upgrade Message + */ +function nggallery_upgrade_page() { + + $filepath = admin_url() . 'admin.php?page=' . $_GET['page']; + + if ( isset($_GET['upgrade']) && $_GET['upgrade'] == 'now') { + nggallery_start_upgrade($filepath); + return; + } +?> +<div class="wrap"> + <h2><?php _e('Upgrade NextGEN Gallery', 'nggallery') ;?></h2> + <p><?php _e('The script detect that you upgrade from a older version.', 'nggallery') ;?> + <?php _e('Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue.', 'nggallery'); ?> + <?php _e('If you would like to downgrade later, please make first a complete backup of your database and the images.', 'nggallery') ;?></p> + <p><?php _e('The upgrade process may take a while, so please be patient.', 'nggallery'); ?></p> + <h3><a href="<?php echo $filepath;?>&upgrade=now"><?php _e('Start upgrade now', 'nggallery'); ?>...</a></h3> +</div> +<?php +} + +/** + * nggallery_start_upgrade() - Proceed the upgrade routine + * + * @param mixed $filepath + * @return void + */ +function nggallery_start_upgrade($filepath) { +?> +<div class="wrap"> + <h2><?php _e('Upgrade NextGEN Gallery', 'nggallery') ;?></h2> + <p><?php ngg_upgrade();?></p> + <p class="finished"><?php _e('Upgrade finished...', 'nggallery') ;?></p> + <h3><a class="finished" href="<?php echo $filepath;?>"><?php _e('Continue', 'nggallery'); ?>...</a></h3> +</div> +<?php +} + +/** + * Rebuild slugs for albums, galleries and images via AJAX request + * + * @sine 1.7.0 + * @access internal + */ +class ngg_rebuild_unique_slugs { + + function start_rebuild() { + global $wpdb; + + $total = array(); + // get the total number of images + $total['images'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures") ); + $total['gallery'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery") ); + $total['album'] = intval( $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum") ); + + $messages = array( + 'images' => __( 'Rebuild image structure : %s / %s images', 'nggallery' ), + 'gallery' => __( 'Rebuild gallery structure : %s / %s galleries', 'nggallery' ), + 'album' => __( 'Rebuild album structure : %s / %s albums', 'nggallery' ), + ); + +?> +<?php + + foreach ( array_keys( $messages ) as $key ) { + + $message = sprintf( $messages[ $key ] , + "<span class='ngg-count-current'>0</span>", + "<span class='ngg-count-total'>" . $total[ $key ] . "</span>" + ); + + echo "<div class='$key updated'><p class='ngg'>$message</p></div>"; + } + + $ajax_url = add_query_arg( 'action', 'ngg_rebuild_unique_slugs', admin_url( 'admin-ajax.php' ) ); +?> +<script type="text/javascript"> +jQuery(document).ready(function($) { + var ajax_url = '<?php echo $ajax_url; ?>', + _action = 'images', + images = <?php echo $total['images']; ?>, + gallery = <?php echo $total['gallery']; ?>, + album = <?php echo $total['album']; ?>, + total = 0, + offset = 0, + count = 50; + + var $display = $('.ngg-count-current'); + $('.finished, .gallery, .album').hide(); + total = images; + + function call_again() { + if ( offset > total ) { + offset = 0; + // 1st run finished + if (_action == 'images') { + _action = 'gallery'; + total = gallery; + $('.images, .gallery').toggle(); + $display.html(offset); + call_again(); + return; + } + // 2nd run finished + if (_action == 'gallery') { + _action = 'album'; + total = album; + $('.gallery, .album').toggle(); + $display.html(offset); + call_again(); + return; + } + // 3rd run finished, exit now + if (_action == 'album') { + $('.ngg') + .html('<?php _e( 'Done.', 'nggallery' ); ?>') + .parent('div').hide(); + $('.finished').show(); + return; + } + } + + $.post(ajax_url, {'_action': _action, 'offset': offset}, function(response) { + $display.html(offset); + + offset += count; + call_again(); + }); + } + + call_again(); +}); +</script> +<?php + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upload.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upload.php new file mode 100644 index 000000000..bba50f810 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/upload.php @@ -0,0 +1,47 @@ +<?php +/** + * Accepts file uploads from swfupload. + * + * @package NextGEN-Gallery + * @subpackage Administration + */ + +// Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead +// We then have to validate the cookie manually. NOTE: WordPress functions, like +// get_current_user_id() and the like are NOT available in this file. +if ( is_ssl() && empty($_COOKIE[SECURE_AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) ) + $_COOKIE[SECURE_AUTH_COOKIE] = $_REQUEST['auth_cookie']; +elseif ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) ) + $_COOKIE[AUTH_COOKIE] = $_REQUEST['auth_cookie']; +if ( empty($_COOKIE[LOGGED_IN_COOKIE]) && !empty($_REQUEST['logged_in_cookie']) ) + $_COOKIE[LOGGED_IN_COOKIE] = $_REQUEST['logged_in_cookie']; + +header('Content-Type: text/plain; charset=' . get_option('blog_charset')); + +$logged_in = FALSE; + +if (wp_validate_auth_cookie()) { + $results = wp_parse_auth_cookie(); + if (isset($results['username']) && isset($results['expiration'])) { + if (time() < floatval($results['expiration'])) { + if (($userdata = get_user_by('login', $results['username']))) + $logged_in = $userdata->ID; + } + } +} + +if (!$logged_in) + die("Login failure. -1"); +else if (!user_can($logged_in, 'NextGEN Upload images')) + die('You do not have permission to upload files. -2'); + +//check for nggallery +if ( !defined('NGGALLERY_ABSPATH') ) + die('NextGEN Gallery not available. -3'); + +include_once (NGGALLERY_ABSPATH. 'admin/functions.php'); + +// get the gallery +$galleryID = (int) $_POST['galleryselect']; + +echo nggAdmin::swfupload_image($galleryID); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php new file mode 100644 index 000000000..b569ed2c8 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/admin/wpmu.php @@ -0,0 +1,117 @@ +<?php +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + + function nggallery_wpmu_setup() { + + //to be sure + if ( !is_super_admin() ) + die('You are not allowed to call this page.'); + + $messagetext = ''; + + // get the options + $ngg_options = get_site_option('ngg_options'); + + if ( isset($_POST['updateoption']) ) { + check_admin_referer('ngg_wpmu_settings'); + // get the hidden option fields, taken from WP core + if ( $_POST['page_options'] ) + $options = explode(',', stripslashes($_POST['page_options'])); + if ($options) { + foreach ($options as $option) { + $option = trim($option); + $value = isset($_POST[$option]) ? trim($_POST[$option]) : false; + // $value = sanitize_option($option, $value); // This does strip slashes on those that need it + $ngg_options[$option] = $value; + } + } + + // the path should always end with a slash + $ngg_options['gallerypath'] = trailingslashit($ngg_options['gallerypath']); + update_site_option('ngg_options', $ngg_options); + + $messagetext = __('Update successfully','nggallery'); + } + + // Show donation message only one time. + if (isset ( $_GET['hideSupportInfo']) ) { + $ngg_options['hideSupportInfo'] = true; + update_site_option('ngg_options', $ngg_options); + } + + // message windows + if( !empty($messagetext) ) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; } + + ?> + + <div class="wrap"> + <h2><?php _e('Network Options','nggallery'); ?></h2> + <form name="generaloptions" method="post"> + <?php wp_nonce_field('ngg_wpmu_settings') ?> + <input type="hidden" name="page_options" value="gallerypath,wpmuQuotaCheck,wpmuZipUpload,wpmuImportFolder,wpmuStyle,wpmuRoles,wpmuCSSfile" /> + <table class="form-table"> + <tr valign="top"> + <th align="left"><?php _e('Gallery path','nggallery') ?></th> + <td><input type="text" size="50" name="gallerypath" value="<?php echo $ngg_options['gallerypath']; ?>" /><br /> + <?php _e('This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better.','nggallery') ?> + <?php echo str_replace('%s', '<code>wp-content/blogs.dir/%BLOG_ID%/files/</code>', __('The default setting should be %s', 'nggallery')); ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Enable upload quota check','nggallery') ?>:</th> + <td><input name="wpmuQuotaCheck" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuQuotaCheck']); ?> /> + <?php _e('Should work if the gallery is bellow the blog.dir','nggallery') ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Enable zip upload option','nggallery') ?>:</th> + <td><input name="wpmuZipUpload" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuZipUpload']); ?> /> + <?php _e('Allow users to upload zip folders.','nggallery') ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Enable import function','nggallery') ?>:</th> + <td><input name="wpmuImportFolder" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuImportFolder']); ?> /> + <?php _e('Allow users to import images folders from the server.','nggallery') ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Enable style selection','nggallery') ?>:</th> + <td><input name="wpmuStyle" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuStyle']); ?> /> + <?php _e('Allow users to choose a style for the gallery.','nggallery') ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Enable roles/capabilities','nggallery') ?>:</th> + <td><input name="wpmuRoles" type="checkbox" value="1" <?php checked('1', $ngg_options['wpmuRoles']); ?> /> + <?php _e('Allow users to change the roles for other blog authors.','nggallery') ?> + </td> + </tr> + <tr> + <th valign="top"><?php _e('Default style','nggallery') ?>:</th> + <td> + <select name="wpmuCSSfile"> + <?php + // $csslist = ngg_get_cssfiles(); + $csslist = C_NextGen_Style_Manager::get_instance()->find_all_stylesheets(); + foreach ($csslist as $key => $a_cssfile) { + $css_name = $a_cssfile['name']; + if ($key == $ngg_options['wpmuCSSfile']) { + $selected = " selected='selected'"; + } + else $selected = ''; + $css_name = esc_attr($css_name); + echo "\n\t<option value=\"{$key}\" {$selected}>{$css_name}</option>"; + } + ?> + </select><br /> + <?php _e('Choose the default style for the galleries.','nggallery') ?> + </td> + </tr> + </table> + <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?>"/></div> + </form> + </div> + + <?php +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/class.ngglegacy_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/class.ngglegacy_installer.php new file mode 100644 index 000000000..a795275b7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/class.ngglegacy_installer.php @@ -0,0 +1,16 @@ +<?php + +class C_NggLegacy_Installer +{ + function install() + { + include_once('admin/install.php'); + nggallery_install(); + } + + function uninstall($hard=FALSE) + { + delete_option('ngg_init_check'); + delete_option('ngg_update_exists'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/css/nggallery.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/css/nggallery.css new file mode 100644 index 000000000..13046decd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/css/nggallery.css @@ -0,0 +1,8 @@ +/* +CSS Name: Default Styles +Description: NextGEN Default Gallery Stylesheet +Author: Photocrati Media +Version: 2.12 + +This stylesheet is provided to allow users the ability of overriding the default styles for all display types +*/ \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/fonts/arial.ttf b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/fonts/arial.ttf new file mode 100644 index 0000000000000000000000000000000000000000..886789b85b4b4e662519fcb7fe4d88ddf2205c5b GIT binary patch literal 311636 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�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 I4-*Ck0G4pU_W%F@ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/ajax-loader.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkFF)%PBB_%aAHBFi{N%23opKD04vtxj( zk)8oFBLf42;y)?pqSVBa)D(sC%#sX+#H_@MoczQTz0AC{d<MmzESy{n3=BF93=9k) z!x@;3Id<LoXK>0hTR54+ibHY^yWfm7PS=fwhjxj~Jh)9S;mD!F3%bz~mUox2TT1Y- zdu2cOV8CXM3CJA39z_M|7M|T3o^`ntIt7L#7)mN6__#((t*DXNT6+I&q6B+`!gYy9 zZO)RLR8_Quuo+~=vCBwV`;_B}31_B+>9e&a%kX`X^!w=PlsIE`fy@W4Gn@Cy99yBy z6!}*C4`cITexsEsQuFt-U^B{?V^@-@_9>&biErkF#kY1Z<7`#rVKH=RPm~c{<<_*} zqC9g_Q0!-0c>@a_ss0m7iY$Gw`pt-ASCP85*YgyS4-%h!8hO;p4kyGUg-mH}*(sM1 z>7;r7l!E}X+)Eqz!)jo2f+k@##+YN5!l4P4;*U$7@3}S4K=QcE14TWjZF5hBuUTZs z!^SOAoVa^~>G!FOjRqSyJ9p2|)%3z@ju9xRKX3}(oD&*5i}Bs9!h)#@9d{Gw+%=ij z>gaaVKx9I~>}`y^EQcHfW*asfx^`|NZet8id9F@%x-v)ex*P|`VTHcqg?ucA1}jf( gSQj91C{cnv?AB5yh0-L6rg_nV6Brn*K?w(p0qpM50{{R3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/loader.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ca7ada960568fff04400cda966fbdcb106abfa2 GIT binary patch literal 6820 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/mrss-icon.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/mrss-icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..e022fbdab42036d584eeffde8895035d81f880b8 GIT binary patch literal 1040 zcmZ?wbhEHbRA*3NIF`b|UjL7w<sZZ3|MI=RKL;|1&iMB&ky&}(U$K?{zh^L5%>Ayr z_^-mc|0)~*{4Zg$SpDx$1?#7BJ)P~p^|t-D-t^sP<=@|R9FCj+`>gw;c=Z3*MiaG@ z|J-)|``^R-zuw2@@c$p3w((p3+8+P=zs=j{!2gK7|C~<!Pu=q`@c93~lidq<|BpNR z|L;t<khA}O%#Dt?@IUY9|D-ej|1R|YyCCGp;^_R-|I;r2`?)lu>G=QuYh8*i{jWa% z@5h?5&ucnLuK%mM^#9lToW3*v>aP9ky!x;H_Macy8)shp_j6b0;!FSg?*CtW?eE-M z|EE6q^XtIO?}rx7zyEjLoqsDI{NMQW|IhPV4nO*L;Mu?3FaQ0%vG32#qrdN6`t$tS z-H-nszyJ65)q}TR|NZ&=>hsUv-~aso|NGa!|9}3|04V-sVdP?{XV76_U|;~n2?P7T z1~n@udu#jljt=MU9%q;S3H_cfcJ<Sy*J}g?*_&F=U$AgNhttw!PA-9=o-?LvczatL z8f-Bz-M(Xo)$Toe?fe7RtgTnk*0xtYse0_p8N>4zE}oxaHubQ~jhi=ARBqqVc<}I% z?vtnbhwFv;`9(y;--(O2sff#e`=<8u*YBUYFL)W4+2$yu`b?FTSJT*Ye8R#GezgmR zGdw0HH8&+63R(HlvFSLkf^*j$1t!_1$r^!19Y)Ji-L%cD(j+W5J=rkDB79egB-^w0 znI?|6a$1d5nN_XJn<ff9b`F@N*1gDOR!O>qny^jQ*B^?jLRh?4y?e5V$$?>W1~box zu1yS0O#fJWI%FRo?O@u>`017H>1(<%JBlW^H3l)hzqglR(ZARj1&<&tMK+mvXTGaF zKH3+Zcd+omhDdH%r*1jfTL<TFpZ?Hl-EW76=L}*+A~S7&cf7srUZmnM*NR1mhn0n6 z{+)#!{hGmjXCnL-Tk<NnD}3;ijrsB6@X_uaBF3y8#Ztyy9`*qY7GGbj+bGUx#Cm%A zw4_-k@o`5On}pTn=4_u=mtQD(`fP!VxUT6&8Sby54a|JpZ_;H8U1b#8#QZASUA^5m zOkfh=6e&2s{A8&bL)G=CR~vJ0i#i?_P3|yc=5UZ`IM-u5&w^RNcaJ)ofYF}oEIme- zG@huMnX$8U$G7BPU&LlEVDMzJ`lSi2VxRVwvv4H!7&=Y%=c{}qsGF(iES#Lc$kc6H za8tEcooV7z5gi7@HZiG&$`)?Fb(V`+-5D5J_@$Z(nz;ol3=VNrys}JY+H~=mx`4UM cE2f2&T2?)bd?~XWnAij!yj<?b#>8L^0HfV1=l}o! literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/piclens.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/images/piclens.gif new file mode 100644 index 0000000000000000000000000000000000000000..c96671f45d8e101a943fe77f3d3bb4497ff3c030 GIT binary patch literal 1443 zcmZ?wbh9u|RA7)`_|L%b@Be?s#{Vp>{~7B4i!J;wIP*VS$A6J||0Ndvmst9rv-dyW z)c-<r{s~O`&pqM4){*}lUH`QX{by<T&olAA_>%v+NB=Xm{MSABUv1BS!H)lYGyhv0 z`!BcRzt+0{73cm-uK3?_?SI~d|4o<v2c7zFdE&pziT?>_{?}al@3HH@$$|gXSN^wL z`QLEqzr~jSL1+F4p7@`A>VM>c|8lGT=U@6?e&&DDh5yaB|FiY|ciZvb?d1Qglm9c1 z|5x4hKl8+Yw^RQuHvdmN_doaC|G+c<<4^tXd+^_K+kb(!|C;;$J0AMa)$(8c!2fT5 z{`(yG@3rTD)RF(r$NtA0`|o$;f7Ids=12Zp9Qj{);eXYo|5|JR^UwP)yzqbB#s4ig z|4YpKudwoe^|k*6m;b9S`CoqSzuC<HvP=Iv?EWve;J??B|0%owi*)?g-~V5K_kZJk z|E+ib7w`LTw)nrtp8xjy{<|*vZ@Tw?@}B=Td;atH{5M|y-+k|YjYa=uy8nwz`=7ey zzvztrR_p$o&iSvg?tj77|0di1Yi;=Nz43p_`v2-1{;SRWZ?xrq;=2Dn>;7Br{I59a zztoiff|LI%topCi_upmb|Cm+(t+xHQ+wot0%74qb|K-;F*W3ADbM61Q9sfP||8KnY zzvb5dxwrl|-uyrN=KqB^|2N<Jzvlk`qKE&N-2UHq_y3B!|7TwLzwpZc;%oo2FaOWG z^1tEA|DqfJYi|7CeB*!9wf}Rk{ja$Gzv<!sBX9oSe)s>uyZ^gi{y*^Y|B2WCzyALJ z<In%kfB(P!`v2{>{~vz;pZn<l#z+4*J^DZ6;s1>f|93t5f9l!)O)vg$fBApu<Nw>9 z{9p0(|I|zWO^^Q%IR3x!`2W-+|HF>{PdoO1(ux0ZC;z*i`fq#Uf9#3>jVJz_9s2Kg z=zrv)|33Twn;rabfAD|s;r}K_{yQD{AAjh7?V<lJhyUlC{@-~1f9-|;jTipMpZ}k9 z{(t8A|7n;0mt6W^dFlVe3;$y;{;#_D-}TJ@kTd^t&ipSu{lEP5|Cy)%=bigseeVC1 zbN{=}{O>#aKj7Sd1~AY8k)XW5!115q<kse+TK6n<qarj!4i>aJ3kW#o+&px$?P$=# zuCr2KeI*P_zP`CAA$hF%q*myi$c>8@Efv>S_uJ9+Qd3e_>7rHbDfQgreR8%XFB%-T z$m~^cbkg88T>Nsn{^}IQXtx$llfq|78F$rOyM)yP7Q`$zOX=v`tk%E~7{1tTm+#7u ztxC<z>?$G^fhL)sp7p7z-CE>Q_-)aLj>F0^J7%c6bZ}QR*8R!2xX6Rs(^aif;GnOd zw8gy%3Y_1ccy?Y^Eqb!z*<ttnPBYfUymZ*zyukSs!xJv&=aXicYVJy%ZPdy&mG^}C zgc}Oyh1#FXq?{;FdF*e%z)<$^kb3*^iOS-Ky8o{)Xslt)mKRzPKL4Myc;JnV`a8Gk zv9hTOetO;iVS#-oKZlCIgDTFFM6a5UFPnI*A3T^IUoT+i(A2;YknpfoW<rxf(|(y? zXJgTj4-FlPVFrp!8p}Eu7?T?|J#5><GntKF;z~v`mx#cE#eLdB4Guc`N*UY=o;(VU z3_=o;3{sZwJPt7W7ZrL<VE9qgFX73z;OR8xlnYNL`^zb)8SCqP?2>fNl4O{kowi`{ zi~_lU1B~x;GS0~5vMhK$k9p0@<+BTo6fziDKM2R`K9*2wU}e&&dNMCNi*v<-W}&D9 zb_`z@^-FU}JXp!d<e|_oPfTHFI$LDGsfMMjCKEWdI!!u?4)bz3Jjh(UIO@ZSl`Di+ zF|Ot{InXZ0C$idM?fgepSt};)iewXSj*xo8#O;%?mif3-g7%6X)1(?C`Xx4UFcr^9 zJkBJ=a+_i6^`z+6+wPb}Wywtx5Mmd*VbjdM^>WzlyluDcty;tCreNf&8qsi(U1ERM c1ih`?76y$Qx$ZEmKOlDHA-if13k!oa09k}3z5oCK literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/index.html b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.mo b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.mo new file mode 100644 index 0000000000000000000000000000000000000000..dc252917407ec21c1c1cde03bb459a5f96ed2867 GIT binary patch literal 73617 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.po b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.po new file mode 100644 index 000000000..6c93c3b41 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery-de_DE.po @@ -0,0 +1,3956 @@ +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-10-23 18:03+0100\n" +"PO-Revision-Date: 2012-02-17 17:07+0100\n" +"Last-Translator: Alex Rabe\n" +"Language-Team: Alex Rabe\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;esc_html_e;esc_attr_e\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Country: GERMANY\n" +"X-Poedit-SourceCharset: utf-8\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: German\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: ..\n" + +#: ../nggallery.php:100 +msgid "<strong>Translation by : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\">See here</a>" +msgstr "<strong>Übersetzt von : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">Alex Rabe</a>" + +#: ../nggallery.php:101 +msgid "<strong>This translation is not yet updated for Version 1.9.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">here</a> how you can translate the plugin." +msgstr "Sollten jemand Rechtschreibfehler, Deppenapostrophe oder andere deutsche Ungereimtheiten finden, freue ich mich jederzeit über einen kurzen Hinweis</p>" + +#: ../nggallery.php:205 +msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "Tut mir leid, aber NextGEN-Galerie benötigt mindestens 16MB Speicher (Memory Limit) oder mehr" + +#: ../nggallery.php:225 +msgid "Please update the database of NextGEN Gallery." +msgstr "Bitte aktualisiere die Datenbank von NextGEN Gallery." + +#: ../nggallery.php:225 +msgid "Click here to proceed." +msgstr "Hier klicken um fortzufahren." + +#: ../nggallery.php:248 +msgid "Picture tag" +msgstr "Bilder-Stichwort" + +#: ../nggallery.php:249 +msgid "Picture tag: %2$l." +msgstr "Bilder-Stichwort: %2$l." + +#: ../nggallery.php:250 +msgid "Separate picture tags with commas." +msgstr "Trenne Stichwörter mittels Komma" + +#: ../nggallery.php:357 +#: ../admin/admin.php:256 +msgid "L O A D I N G" +msgstr "B I T T E W A R T E N" + +#: ../nggallery.php:358 +#: ../admin/admin.php:257 +msgid "Click to Close" +msgstr "Klicken zum Schliessen " + +#: ../nggallery.php:379 +msgid "loading" +msgstr "lade..." + +#: ../nggallery.php:517 +#: ../nggfunctions.php:941 +#: ../admin/admin.php:37 +#: ../admin/admin.php:79 +msgid "Overview" +msgstr "Übersicht" + +#: ../nggallery.php:518 +msgid "Get help" +msgstr "Hilfe" + +#: ../nggallery.php:519 +msgid "Contribute" +msgstr "Mithelfen" + +#: ../nggallery.php:520 +msgid "Donate" +msgstr "Spenden" + +#: ../nggfunctions.php:42 +msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed." +msgstr "Es wird der <a href=\"http://www.macromedia.com/go/getflashplayer\">Adobe Flash Player</a> benötigt und <a href=\"http://www.mozilla.com/firefox/\">im Browser muss Javascript</a> aktiviert sein." + +#: ../nggfunctions.php:164 +#: ../nggfunctions.php:642 +msgid "[Gallery not found]" +msgstr "[Galerie nicht gefunden]" + +#: ../nggfunctions.php:450 +msgid "[Album not found]" +msgstr "[Album nicht gefunden]" + +#: ../nggfunctions.php:771 +msgid "[SinglePic not found]" +msgstr "[Bild nicht gefunden]" + +#: ../nggfunctions.php:906 +msgid "Related images for" +msgstr "Verwandte Bilder von" + +#: ../admin/about.php:10 +msgid "Copyright notes / Credits" +msgstr "Copyright Hinweise / Credits" + +#: ../admin/about.php:13 +msgid "NextGEN DEV Team" +msgstr "NextGEN-DEV-Team" + +#: ../admin/about.php:15 +msgid "This plugin is primarily developed, maintained, supported, documented by" +msgstr "Dieses Plugin wird hauptsächlich entwickelt, dokumentiert und supported von" + +#: ../admin/about.php:15 +msgid "There are many other folks who have made contributions to this project :" +msgstr "Folgende Personen haben die Entwicklung unterstützt :" + +#: ../admin/about.php:20 +msgid "Contributors / Tribute to" +msgstr "Anerkennung / Hinweise" + +#: ../admin/about.php:22 +msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together." +msgstr "Falls Du Dir den Sourcecode dieses Plugins ansiehst, wirst Du merken, dass wir verschiedene gute Scripte sowie Ideen verwendet haben." + +#: ../admin/about.php:23 +msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)" +msgstr "Wir möchten folgenden Menschen für Ihre Pionier-Arbeit danken (ohne diese Vorleistung wäre es unmöglich, ein Plugin so schnell zu entwickeln)" + +#: ../admin/about.php:25 +msgid "for their great documented code" +msgstr "für ihren großartig dokumentierten Code" + +#: ../admin/about.php:26 +msgid "for jQuery, which is the best Web2.0 framework" +msgstr "für jQuery, das Beste Web 2.0 Framework" + +#: ../admin/about.php:27 +msgid "for the fantastic PHP Thumbnail Class" +msgstr "für die fantastische PHP-Thumbnail-Klasse" + +#: ../admin/about.php:28 +msgid "for a lot of very useful plugins and ideas" +msgstr "für viele nützliche Plugins und Ideen" + +#: ../admin/about.php:29 +msgid "for Shutter Reloaded, a real lightweight image effect" +msgstr "für Shutter Reloaded, ein wirklich smarten Bildeffekt" + +#: ../admin/about.php:30 +msgid "for the best Media Flash Scripts on earth" +msgstr "für die besten Media-Flash-Scripte" + +#: ../admin/about.php:31 +msgid "for the Gallery Icon" +msgstr "für das Galerie Icon" + +#: ../admin/about.php:32 +msgid "for the Watermark plugin" +msgstr "für das Wasserzeichen-Plugin" + +#: ../admin/about.php:34 +msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail." +msgstr "Falls Du Deinen Namen nicht auf dieser Liste findest und es aber Code gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte sofort eine E-Mail." + +#: ../admin/about.php:38 +msgid "How to support ?" +msgstr "Unterstützung / Hilfe" + +#: ../admin/about.php:40 +msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory." +msgstr "Es existieren verschiedene Möglichkeiten, diese Arbeit zu unterstützen." + +#: ../admin/about.php:42 +msgid "Send us bugfixes / code changes" +msgstr "Schicke uns Verbesserungen / Bugfixes" + +#: ../admin/about.php:42 +msgid "The most motivated support for this plugin are your ideas and brain work" +msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken" + +#: ../admin/about.php:43 +msgid "Translate the plugin" +msgstr "Übersetze das Plugin" + +#: ../admin/about.php:43 +msgid "To help people to work with this plugin, I would like to have it in all available languages" +msgstr "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen, würde ich es gerne in allen möglichen Sprachen anbieten" + +#: ../admin/about.php:44 +msgid "Donate the work via paypal" +msgstr "Zeig Dich für diese Arbeit per PayPal dankbar" + +#: ../admin/about.php:57 +msgid "No doubt a very useful and easy motivation :-)" +msgstr "Kein Zweifel, eine schöne und einfache Motivationshilfe" + +#: ../admin/about.php:59 +msgid "Place a link to the plugin in your blog/webpage" +msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog" + +#: ../admin/about.php:59 +msgid "Yes, share and trackback is also a good support for this work " +msgstr "Natürlich sind Trackbacks und Links auch ein guter Support für diese Arbeit" + +#: ../admin/about.php:64 +msgid "Thanks!" +msgstr "Vielen Dank!" + +#: ../admin/about.php:66 +msgid "We would like to thank this people which support us in the work :" +msgstr "Ich möchte mich bei diesen Menschen für Ihre Unterstützung bedanken:" + +#: ../admin/about.php:166 +msgid "and all donators..." +msgstr "und allen anderen Spendern..." + +#: ../admin/addgallery.php:46 +#: ../admin/addgallery.php:57 +#: ../admin/addgallery.php:69 +#: ../admin/addgallery.php:80 +#: ../admin/album.php:96 +#: ../admin/album.php:124 +#: ../admin/album.php:142 +#: ../admin/edit-thumbnail.php:19 +#: ../admin/edit-thumbnail.php:22 +#: ../admin/manage.php:186 +msgid "Cheatin’ uh?" +msgstr "Cheatin’ uh?" + +#: ../admin/addgallery.php:62 +msgid "Upload failed!" +msgstr "Upload fehlgeschlagen!" + +#: ../admin/addgallery.php:85 +#: ../admin/addgallery.php:93 +msgid "Upload failed! " +msgstr "Upload fehlgeschlagen!" + +#: ../admin/addgallery.php:90 +#: ../admin/functions.php:943 +#: ../admin/functions.php:1043 +msgid "No gallery selected !" +msgstr "Keine Galerie ausgewählt !" + +#: ../admin/addgallery.php:180 +#: ../admin/addgallery.php:263 +msgid "Image Files" +msgstr "Bilder" + +#: ../admin/addgallery.php:195 +#: ../admin/addgallery.php:284 +#: ../admin/addgallery.php:312 +msgid "remove" +msgstr "Entfernen" + +#: ../admin/addgallery.php:196 +#: ../admin/addgallery.php:285 +#: ../admin/addgallery.php:466 +msgid "Browse..." +msgstr "Durchsuche..." + +#: ../admin/addgallery.php:197 +#: ../admin/addgallery.php:235 +#: ../admin/addgallery.php:286 +#: ../admin/addgallery.php:298 +#: ../admin/addgallery.php:537 +msgid "Upload images" +msgstr "Bilder hochladen" + +#: ../admin/addgallery.php:376 +#: ../admin/addgallery.php:484 +msgid "Upload Images" +msgstr "Bilder hochladen" + +#: ../admin/addgallery.php:379 +#: ../admin/addgallery.php:396 +#: ../admin/manage-galleries.php:119 +#: ../admin/manage-galleries.php:156 +msgid "Add new gallery" +msgstr "Neue Galerie erstellen" + +#: ../admin/addgallery.php:382 +#: ../admin/addgallery.php:418 +msgid "Upload a Zip-File" +msgstr "Zip-Datei hochladen" + +#: ../admin/addgallery.php:385 +#: ../admin/addgallery.php:460 +msgid "Import image folder" +msgstr "Bilder-Verzeichnis importieren" + +#: ../admin/addgallery.php:401 +#: ../admin/manage-galleries.php:279 +msgid "New Gallery" +msgstr "Neue Galerie" + +#: ../admin/addgallery.php:404 +#: ../admin/manage-galleries.php:281 +msgid "Create a new , empty gallery below the folder" +msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis" + +#: ../admin/addgallery.php:406 +#: ../admin/manage-galleries.php:283 +msgid "Allowed characters for file and folder names are" +msgstr "Erlaubte Zeichen für die Datei- und Verzeichnisnamen sind" + +#: ../admin/addgallery.php:410 +msgid "Add gallery" +msgstr "Galerie hinzufügen" + +#: ../admin/addgallery.php:423 +msgid "Select Zip-File" +msgstr "Wähle Zip-Datei" + +#: ../admin/addgallery.php:425 +msgid "Upload a zip file with images" +msgstr "Lade eine Zip-Datei mit Bildern hoch" + +#: ../admin/addgallery.php:429 +msgid "or enter a Zip-File URL" +msgstr "oder gib eine URL zur ZIP-Datei an" + +#: ../admin/addgallery.php:431 +msgid "Import a zip file with images from a url" +msgstr "Lade eine Zip-Datei mit Bildern über ein URL hoch" + +#: ../admin/addgallery.php:435 +#: ../admin/addgallery.php:512 +msgid "in to" +msgstr "in" + +#: ../admin/addgallery.php:437 +msgid "a new gallery" +msgstr "eine neue Galerie" + +#: ../admin/addgallery.php:448 +msgid "Note : The upload limit on your server is " +msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt " + +#: ../admin/addgallery.php:452 +msgid "Start upload" +msgstr "Upload starten" + +#: ../admin/addgallery.php:465 +msgid "Import from Server path:" +msgstr "Importieren aus Server-Pfad:" + +#: ../admin/addgallery.php:468 +msgid "Note : Change the default path in the gallery settings" +msgstr "Hinweis : Der Standard-Pfad kann in den Einstellungen angepasst werden" + +#: ../admin/addgallery.php:470 +msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually" +msgstr "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen" + +#: ../admin/addgallery.php:473 +msgid "Import folder" +msgstr "Verzeichnis importieren" + +#: ../admin/addgallery.php:490 +msgid "Upload image" +msgstr "Bild hochladen" + +#: ../admin/addgallery.php:495 +msgid "Choose files to upload" +msgstr "Wähle die Bilder zum Upload aus" + +#: ../admin/addgallery.php:496 +msgid "Select Files" +msgstr "Wähle Datei" + +#: ../admin/addgallery.php:498 +msgid "Or you can drop the files into this window." +msgstr "Du kannst auch die Bilder per Drag & Drop in den Browser schieben." + +#: ../admin/addgallery.php:501 +#, php-format +msgid "Scale images to max width %1$dpx or max height %2$dpx" +msgstr "Skaliere die Bilder mit einer max. Breite von %1$dpx oder max. Höhe von %2$dpx" + +#: ../admin/addgallery.php:514 +msgid "Choose gallery" +msgstr "Wähle Galerie" + +#: ../admin/addgallery.php:533 +msgid "The batch upload requires Adobe Flash 10, disable it if you have problems" +msgstr "Das Batch-Upload benötigt Adbode Flash 10, wenn es Probleme gibt deaktiviere es besser." + +#: ../admin/addgallery.php:533 +msgid "Disable flash upload" +msgstr "Deaktiviere Batch-Upload" + +#: ../admin/addgallery.php:535 +msgid "Upload multiple files at once by ctrl/shift-selecting in dialog" +msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus." + +#: ../admin/addgallery.php:535 +msgid "Enable flash based upload" +msgstr "Aktiviere Flash Batch Upload" + +#: ../admin/admin.php:36 +#: ../admin/admin.php:59 +#: ../admin/admin.php:78 +#: ../admin/admin.php:352 +#: ../admin/admin.php:444 +#: ../admin/functions.php:178 +#: ../admin/manage-galleries.php:127 +#: ../admin/manage-galleries.php:407 +#: ../admin/manage-images.php:239 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "Galerie" +msgstr[1] "Galerien" + +#: ../admin/admin.php:38 +#: ../admin/admin.php:81 +msgid "Add Gallery / Images" +msgstr "Galerie / Bilder hinzufügen" + +#: ../admin/admin.php:39 +#: ../admin/admin.php:83 +msgid "Manage Gallery" +msgstr "Galerie verwalten" + +#: ../admin/admin.php:40 +#: ../admin/admin.php:85 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "Album" +msgstr[1] "Alben" + +#: ../admin/admin.php:41 +#: ../admin/admin.php:87 +msgid "Tags" +msgstr "Stichwörter" + +#: ../admin/admin.php:42 +#: ../admin/admin.php:89 +msgid "Options" +msgstr "Optionen" + +#: ../admin/admin.php:44 +#: ../admin/admin.php:91 +msgid "Style" +msgstr "Style" + +#: ../admin/admin.php:46 +msgid "Roles" +msgstr "Zugriff" + +#: ../admin/admin.php:47 +msgid "About this Gallery" +msgstr "Über diese Galerie" + +#: ../admin/admin.php:47 +#: ../admin/admin.php:92 +msgid "About" +msgstr "Über" + +#: ../admin/admin.php:50 +#: ../admin/admin.php:61 +msgid "Reset / Uninstall" +msgstr "Rücksetzen" + +#: ../admin/admin.php:60 +msgid "Network settings" +msgstr "Netzwerk Einstellungen" + +#: ../admin/admin.php:131 +#, php-format +msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ." +msgstr "Vielen Dank, dass Du dieses Plugin nutzt. Ich hoffe, Du bist soweit zufrieden! Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine <strong><a href=\"%s\">Spende</a></strong> freuen! Wenn Du Fragen oder Problem hast, schreib sie doch <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">hier</a> ins Forum." + +#: ../admin/admin.php:134 +msgid "OK, hide this message now !" +msgstr "OK, danke für die Info !" + +#: ../admin/admin.php:213 +msgid "You do not have the correct permission" +msgstr "Du hast keine Zugriffsrechte" + +#: ../admin/admin.php:214 +msgid "Unexpected Error" +msgstr "Unerwarteter Fehler" + +#: ../admin/admin.php:215 +msgid "A failure occurred" +msgstr "Ein Fehler ist aufgetreten" + +#: ../admin/admin.php:219 +msgid "You have attempted to queue too many files." +msgstr "Du hast zu viele Bilder versucht zu laden." + +#: ../admin/admin.php:220 +msgid "This file exceeds the maximum upload size for this site." +msgstr "Diese Datei übersteigt die zugelassene Uploadmenge." + +#: ../admin/admin.php:221 +msgid "This file is empty. Please try another." +msgstr "Diese Datei ist leer." + +#: ../admin/admin.php:222 +msgid "This file type is not allowed. Please try another." +msgstr "Dieser Dateityp ist nicht erlaubt." + +#: ../admin/admin.php:223 +msgid "This file is not an image. Please try another." +msgstr "Diese Datei ist kein Bild. Bitte versuche es mit einer anderen Datei." + +#: ../admin/admin.php:224 +msgid "Memory exceeded. Please try another smaller file." +msgstr "Speicher überschritten. Bitte verkleinere das Bild zuerst" + +#: ../admin/admin.php:225 +msgid "This is larger than the maximum size. Please try another." +msgstr "Die Datei ist zu groß. " + +#: ../admin/admin.php:226 +msgid "An error occurred in the upload. Please try again later." +msgstr "Währende dem upload trat ein Fehler. Bitte verusche es später nochmal." + +#: ../admin/admin.php:227 +msgid "There was a configuration error. Please contact the server administrator." +msgstr "Es besteht ein Konfigurationsfehler." + +#: ../admin/admin.php:228 +msgid "You may only upload 1 file." +msgstr "Du kannst nur ein Bild uploaden." + +#: ../admin/admin.php:229 +msgid "HTTP error." +msgstr "HTTP Fehler." + +#: ../admin/admin.php:230 +msgid "Upload failed." +msgstr "Upload fehlgeschlagen!" + +#: ../admin/admin.php:231 +msgid "IO error." +msgstr "IO Fehler." + +#: ../admin/admin.php:232 +msgid "Security error." +msgstr "Sicherheitsfehler." + +#: ../admin/admin.php:233 +msgid "File canceled." +msgstr "Datei abbgebrochen." + +#: ../admin/admin.php:234 +msgid "Upload stopped." +msgstr "Upload angehalten." + +#: ../admin/admin.php:235 +msgid "Dismiss" +msgstr "Verwerfen" + +#: ../admin/admin.php:236 +msgid "Crunching…" +msgstr "Bearbeiten…" + +#: ../admin/admin.php:237 +msgid "moved to the trash." +msgstr "in den Papierkorb geschoben." + +#: ../admin/admin.php:238 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "“%s” konnte auf Grund eines Fehler nicht geladen werden." + +#: ../admin/admin.php:356 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Introduction</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>" + +#: ../admin/admin.php:359 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Setup</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Setup</a>" + +#: ../admin/admin.php:362 +msgid "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Translation by alex rabe</a>" +msgstr "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Unterstütze bei der Übersetzung</a>" + +#: ../admin/admin.php:365 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Roles / Capabilities</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>" + +#: ../admin/admin.php:368 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Styles</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>" + +#: ../admin/admin.php:369 +msgid "Templates" +msgstr "Vorlagen" + +#: ../admin/admin.php:372 +#: ../admin/admin.php:378 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>" + +#: ../admin/admin.php:373 +msgid "Gallery example" +msgstr "Galerie Beispiel" + +#: ../admin/admin.php:379 +#: ../admin/admin.php:389 +msgid "Gallery tags" +msgstr "Galerie Stichwörter" + +#: ../admin/admin.php:382 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>" + +#: ../admin/admin.php:383 +msgid "Album example" +msgstr "Album Beispiel" + +#: ../admin/admin.php:384 +#: ../admin/admin.php:390 +msgid "Album tags" +msgstr "Album Stichwörter" + +#: ../admin/admin.php:387 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>" +msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>" + +#: ../admin/admin.php:388 +msgid "Related images" +msgstr "Verwandte Bilder" + +#: ../admin/admin.php:393 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>" +msgstr "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Bilderverwaltung (englisch)</a>" + +#: ../admin/admin.php:394 +msgid "Custom fields" +msgstr "Spezialfelder" + +#: ../admin/admin.php:399 +msgid "Get help with NextGEN Gallery" +msgstr "Weitere Hilfe zu NextGEN Gallery" + +#: ../admin/admin.php:403 +msgid "More Help & Info" +msgstr "Weitere Hilfe & Informationen" + +#: ../admin/admin.php:405 +msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forums</a>" +msgstr "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forum (englisch)</a>" + +#: ../admin/admin.php:406 +msgid "FAQ" +msgstr "FAQ (englisch)" + +#: ../admin/admin.php:407 +msgid "Feature request" +msgstr "Wünsch Dir was" + +#: ../admin/admin.php:408 +msgid "Get your language pack" +msgstr "Lade Deine Sprachdatei" + +#: ../admin/admin.php:409 +msgid "Contribute development" +msgstr "Bei der Entwicklung helfen" + +#: ../admin/admin.php:410 +msgid "Download latest version" +msgstr "Aktuelle Version downloaden" + +#: ../admin/ajax.php:312 +msgid "You are not allowed to be here" +msgstr "Keine Zugangsberechtigung" + +#: ../admin/ajax.php:410 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "Konnte ein Bild mit %s x %s Pixel erstellen" + +#: ../admin/album.php:102 +#: ../admin/album.php:117 +#: ../admin/album.php:158 +msgid "Update Successfully" +msgstr "Update erfolgreich" + +#: ../admin/album.php:131 +msgid "Album deleted" +msgstr "Album gelöscht" + +#: ../admin/album.php:269 +msgid "Edit Album" +msgstr "Album erstellen" + +#: ../admin/album.php:278 +msgid "Manage Albums" +msgstr "Verwalte Alben" + +#: ../admin/album.php:284 +#: ../admin/album.php:333 +msgid "Select album" +msgstr "Wähle Album" + +#: ../admin/album.php:286 +msgid "No album selected" +msgstr "Kein Album ausgewählt" + +#: ../admin/album.php:297 +#: ../admin/edit-thumbnail.php:155 +msgid "Update" +msgstr "Aktualisiere" + +#: ../admin/album.php:299 +msgid "Edit album" +msgstr "Album ändern" + +#: ../admin/album.php:302 +#: ../admin/manage-galleries.php:146 +#: ../admin/manage-images.php:448 +msgid "Delete" +msgstr "Lösche" + +#: ../admin/album.php:306 +msgid "Add new album" +msgstr "Album hinzufügen" + +#: ../admin/album.php:308 +msgid "Add" +msgstr "Hinzufügen" + +#: ../admin/album.php:319 +msgid "Show / hide used galleries" +msgstr "Zeige / Verstecke verwendete Galerien" + +#: ../admin/album.php:319 +msgid "[Show all]" +msgstr "[Alle zeigen]" + +#: ../admin/album.php:320 +msgid "Maximize the widget content" +msgstr "Maximiere die Widgets" + +#: ../admin/album.php:320 +msgid "[Maximize]" +msgstr "[Vergrößern]" + +#: ../admin/album.php:321 +msgid "Minimize the widget content" +msgstr "Minimiere die Widgets" + +#: ../admin/album.php:321 +msgid "[Minimize]" +msgstr "[Verkleinern]" + +#: ../admin/album.php:323 +msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below" +msgstr "Nachdem Du ein Album erstellt und ausgewählt hast, kannst Du per Drag & Drop eine Galerie oder ein anderes Album in das neue Album ziehen" + +#: ../admin/album.php:349 +msgid "Select gallery" +msgstr "Wähle Galerie" + +#: ../admin/album.php:378 +msgid "Album ID" +msgstr "Album ID" + +#: ../admin/album.php:391 +msgid "No album selected!" +msgstr "Kein Album ausgewählt" + +#: ../admin/album.php:411 +msgid "Album name:" +msgstr "Album Name :" + +#: ../admin/album.php:417 +msgid "Album description:" +msgstr "Beschreibung:" + +#: ../admin/album.php:423 +msgid "Select a preview image:" +msgstr "Wähle Vorschaubild:" + +#: ../admin/album.php:426 +#: ../admin/album.php:429 +msgid "No picture" +msgstr "Kein Bild" + +#: ../admin/album.php:440 +#: ../admin/manage-images.php:257 +msgid "Page Link to" +msgstr "Seite verlinkt zu" + +#: ../admin/album.php:442 +#: ../admin/manage-images.php:260 +msgid "Not linked" +msgstr "Nicht verlinkt" + +#: ../admin/album.php:455 +#: ../admin/manage-galleries.php:288 +#: ../admin/manage-galleries.php:317 +#: ../admin/manage-galleries.php:347 +#: ../admin/manage-images.php:533 +#: ../admin/manage-images.php:569 +#: ../admin/manage-images.php:598 +#: ../admin/manage-images.php:628 +msgid "OK" +msgstr "OK" + +#: ../admin/album.php:457 +#: ../admin/manage-galleries.php:290 +#: ../admin/manage-galleries.php:319 +#: ../admin/manage-galleries.php:349 +#: ../admin/manage-images.php:535 +#: ../admin/manage-images.php:571 +#: ../admin/manage-images.php:600 +#: ../admin/manage-images.php:630 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../admin/album.php:543 +msgid "Name" +msgstr "Name" + +#: ../admin/album.php:544 +#: ../admin/manage-images.php:255 +msgid "Title" +msgstr "Titel" + +#: ../admin/album.php:545 +msgid "Page" +msgstr "Seite" + +#: ../admin/edit-thumbnail.php:105 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "Wähle mit der Maus den Bereich für das neue Thumbnail" + +#: ../admin/edit-thumbnail.php:119 +msgid "Thumbnail updated" +msgstr "Thumbnail geändert" + +#: ../admin/edit-thumbnail.php:124 +msgid "Error updating thumbnail" +msgstr "Konnte Vorschaubild nicht erzeugen" + +#: ../admin/edit-thumbnail.php:140 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "Wähle den Ausschnitt für das Vorschaubild innerhalb des Bildes" + +#: ../admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "Kein gültiger Galerie-Name!" + +#: ../admin/functions.php:46 +#: ../admin/functions.php:55 +#: ../admin/functions.php:80 +#: ../admin/functions.php:149 +#: ../admin/functions.php:157 +msgid "Directory" +msgstr "Verzeichnis" + +#: ../admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis." + +#: ../admin/functions.php:47 +#: ../admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "Dieser Link zeigt Dir, wie man Verzeichnisrechte ändert :" + +#: ../admin/functions.php:55 +#: ../admin/functions.php:80 +msgid "is not writeable !" +msgstr "ist schreibgeschützt !" + +#: ../admin/functions.php:76 +#: ../admin/functions.php:85 +#: ../admin/functions.php:902 +msgid "Unable to create directory " +msgstr "Kann Verzeichnis nicht erstellen " + +#: ../admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)" + +#: ../admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "Wenn Probleme auftreten, erstelle bitte das Verzeichnis" + +#: ../admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "und das Thumbnails-Verzeichnis" + +#: ../admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "mit den Berechtigungen 777 manuell !" + +#: ../admin/functions.php:116 +#, php-format +msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.<br/>" +msgstr "Galerie ID %1$s erstellt..<br/>Du kannst diese Galerie jetzt mit dem Stichwort %2$s in einen Artikel einbinden.<br/>" + +#: ../admin/functions.php:119 +#: ../admin/functions.php:217 +msgid "Edit gallery" +msgstr "Galerie ändern" + +#: ../admin/functions.php:149 +msgid "doesn`t exist!" +msgstr "gibt es nicht !" + +#: ../admin/functions.php:157 +msgid "contains no pictures" +msgstr "enthält keine Bilder" + +#: ../admin/functions.php:175 +msgid "Database error. Could not add gallery!" +msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!" + +#: ../admin/functions.php:178 +msgid "successfully created!" +msgstr "erfolgreich erstellt!" + +#: ../admin/functions.php:212 +#: ../admin/functions.php:1019 +#: ../admin/manage-galleries.php:81 +#: ../admin/manage-galleries.php:148 +#: ../admin/manage-images.php:203 +#: ../admin/manage-images.php:342 +#: ../admin/manage.php:223 +#: ../admin/manage.php:299 +msgid "Create new thumbnails" +msgstr "Neue Vorschaubilder erstellen" + +#: ../admin/functions.php:215 +msgid " picture(s) successfully added" +msgstr " Bild(er) erfolgreich hinzugefügt" + +#: ../admin/functions.php:270 +#: ../admin/functions.php:350 +#: ../admin/functions.php:405 +#: ../admin/functions.php:502 +#: ../admin/functions.php:556 +msgid "Object didn't contain correct data" +msgstr "Das Objekt enhält nicht die notwendigen Daten" + +#: ../admin/functions.php:278 +msgid " is not writeable " +msgstr "ist schreibgeschützt !" + +#: ../admin/functions.php:360 +#: ../admin/functions.php:408 +#: ../admin/functions.php:508 +#: ../admin/functions.php:559 +msgid " is not writeable" +msgstr "ist schreibgeschützt !" + +#: ../admin/functions.php:562 +msgid "File do not exists" +msgstr "Datei existiert nicht" + +#: ../admin/functions.php:566 +msgid "Couldn't restore original image" +msgstr "Konnte Originalbild nicht wiederherstellen" + +#: ../admin/functions.php:682 +msgid "(Error : Couldn't not update data base)" +msgstr "(Fehler : Konnte Datenbank nicht aktualisieren)" + +#: ../admin/functions.php:689 +msgid "(Error : Couldn't not update meta data)" +msgstr "(Fehler : Konnte Metadaten nicht speichern)" + +#: ../admin/functions.php:698 +msgid "(Error : Couldn't not find image)" +msgstr "(Fehler : Konnte das Bild nicht finden)" + +#: ../admin/functions.php:836 +msgid "No valid URL path " +msgstr "Kein gültiger URL-Pfad" + +#: ../admin/functions.php:852 +msgid "Import via cURL failed." +msgstr "Import via cURL abgebrochen" + +#: ../admin/functions.php:869 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :" + +#: ../admin/functions.php:886 +msgid "Could not get a valid foldername" +msgstr "Konnte keinen gültigen Verzeichnisnamen finden" + +#: ../admin/functions.php:897 +#, php-format +msgid "Unable to create directory %s. Is its parent directory writable by the server?" +msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?" + +#: ../admin/functions.php:912 +msgid "Zip-File successfully unpacked" +msgstr "Zip-Datei erfolgreich entpackt" + +#: ../admin/functions.php:951 +#: ../admin/functions.php:1068 +msgid "Failure in database, no gallery path set !" +msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !" + +#: ../admin/functions.php:975 +#: ../admin/functions.php:1062 +msgid "is no valid image file!" +msgstr "ist keine zulässige Bilddatei !" + +#: ../admin/functions.php:989 +#: ../admin/functions.php:1187 +#: ../admin/functions.php:1264 +#, php-format +msgid "Unable to write to directory %s. Is this directory writable by the server?" +msgstr "Kann das Verzeichnis %s nicht erstellen. Ist das Hauptverzeichnis vielleicht schreibgeschützt ?" + +#: ../admin/functions.php:996 +#: ../admin/functions.php:1085 +msgid "Error, the file could not be moved to : " +msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :" + +#: ../admin/functions.php:1001 +#: ../admin/functions.php:1089 +msgid "Error, the file permissions could not be set" +msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden" + +#: ../admin/functions.php:1024 +msgid " Image(s) successfully added" +msgstr " Bild(er) erfolgreich hinzugefügt" + +#: ../admin/functions.php:1051 +msgid "Invalid upload. Error Code : " +msgstr "Ungültiger Upload. Fehler Code :" + +#: ../admin/functions.php:1127 +#, php-format +msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually" +msgstr "SAFE MODE Einschränkungen ist aktiv. Du musst das Verzeichnis <strong>%s</strong> manuell anlegen." + +#: ../admin/functions.php:1128 +#, php-format +msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory" +msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP, ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt." + +#: ../admin/functions.php:1181 +#: ../admin/functions.php:1258 +msgid "The destination gallery does not exist" +msgstr "Die ausgewählte Galerie existiert nicht" + +#: ../admin/functions.php:1212 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "Konnte das Bild %1$s nicht nach %2$s verschieben" + +#: ../admin/functions.php:1232 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr " %1$s Bild(er) in Galerie : %2$s verschoben." + +#: ../admin/functions.php:1291 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren" + +#: ../admin/functions.php:1305 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "Fehler bei der Datenbank-Operation für Bild %s" + +#: ../admin/functions.php:1317 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery." +msgstr "Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert » Die Datei existierte bereits." + +#: ../admin/functions.php:1320 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)" + +#: ../admin/functions.php:1329 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ." + +#: ../admin/functions.php:1437 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "Die Datei überschreitet die erlaubte Grösse (upload_max_filesize) in der php.ini" + +#: ../admin/functions.php:1440 +msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" +msgstr "Die Datei ist zu gross" + +#: ../admin/functions.php:1443 +msgid "The uploaded file was only partially uploaded" +msgstr "Die Datei wurde nur teilweise hochgeladen" + +#: ../admin/functions.php:1446 +msgid "No file was uploaded" +msgstr "Keinen Datei wurde geladen" + +#: ../admin/functions.php:1449 +msgid "Missing a temporary folder" +msgstr "Konnte temporäres Verzeichnis nicht finden" + +#: ../admin/functions.php:1452 +msgid "Failed to write file to disk" +msgstr "Konnte Datei nicht speichern" + +#: ../admin/functions.php:1455 +msgid "File upload stopped by extension" +msgstr "Upload dieser Dateierweiterung nicht erlaubt" + +#: ../admin/functions.php:1458 +msgid "Unknown upload error" +msgstr "Unbekannter Uploadfehler" + +#: ../admin/install.php:23 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "Tut mir leid, aber NextGEN Gallery benötigt zwingend die Rolle \"Administrator\"" + +#: ../admin/install.php:112 +msgid "NextGEN Gallery : Tables could not created, please check your database settings" +msgstr "NextGEN Gallery : Tabellen konnten nicht erstellt werden, überprüfe Deine Datenbank" + +#: ../admin/install.php:170 +msgid "[Show as slideshow]" +msgstr "[Zeige als Diashow]" + +#: ../admin/install.php:171 +msgid "[Show picture list]" +msgstr "[Zeige Bilder-Liste]" + +#: ../admin/manage-galleries.php:69 +#: ../admin/manage-images.php:171 +msgid "No images selected" +msgstr "Keine Bilder ausgewählt" + +#: ../admin/manage-galleries.php:77 +#: ../admin/manage-galleries.php:149 +#: ../admin/manage-images.php:199 +#: ../admin/manage-images.php:343 +#: ../admin/manage.php:207 +#: ../admin/manage.php:285 +msgid "Resize images" +msgstr "Bilder verkleinern" + +#: ../admin/manage-galleries.php:86 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Du startest die Bearbeitung von %s Galerien \n" +" \n" +" 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." + +#: ../admin/manage-galleries.php:130 +#: ../admin/manage-galleries.php:133 +#: ../admin/manage-images.php:225 +#: ../admin/manage-images.php:228 +msgid "Search Images" +msgstr "Suche Bilder" + +#: ../admin/manage-galleries.php:145 +#: ../admin/manage-images.php:340 +msgid "Bulk actions" +msgstr "Aktion wählen" + +#: ../admin/manage-galleries.php:147 +#: ../admin/manage-images.php:341 +#: ../admin/manage.php:140 +#: ../admin/manage.php:249 +msgid "Set watermark" +msgstr "Wasserzeichen setzen" + +#: ../admin/manage-galleries.php:150 +#: ../admin/manage-images.php:346 +#: ../admin/manage.php:145 +#: ../admin/manage.php:269 +msgid "Import metadata" +msgstr "Metadaten importieren" + +#: ../admin/manage-galleries.php:151 +#: ../admin/manage-images.php:344 +#: ../admin/manage.php:135 +#: ../admin/manage.php:246 +msgid "Recover from backup" +msgstr "Original wiederherstellen" + +#: ../admin/manage-galleries.php:153 +#: ../admin/manage-images.php:355 +msgid "Apply" +msgstr "Übernehmen" + +#: ../admin/manage-galleries.php:220 +msgid "Edit" +msgstr "Bearbeiten" + +#: ../admin/manage-galleries.php:261 +#: ../admin/manage-images.php:506 +msgid "No entries found" +msgstr "Keine Einträge gefunden" + +#: ../admin/manage-galleries.php:308 +#: ../admin/manage-images.php:589 +msgid "Resize Images to" +msgstr "Verkleinere Bilder auf" + +#: ../admin/manage-galleries.php:312 +#: ../admin/manage-images.php:593 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "Breite x Höhe (in Pixel). Das Seitenverhältnis wird berücksichtigt." + +#: ../admin/manage-galleries.php:336 +#: ../admin/manage-images.php:617 +msgid "Width x height (in pixel)" +msgstr "Breite x Höhe (in Pixel)" + +#: ../admin/manage-galleries.php:338 +#: ../admin/manage-images.php:619 +msgid "These values are maximum values " +msgstr "Diese Angaben sind maximale Angaben." + +#: ../admin/manage-galleries.php:341 +#: ../admin/manage-images.php:622 +msgid "Set fix dimension" +msgstr "Setze feste Größe" + +#: ../admin/manage-galleries.php:343 +#: ../admin/manage-images.php:624 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "Ignoriere Bildseitenverhältnis" + +#: ../admin/manage-galleries.php:406 +#: ../admin/manage-images.php:694 +msgid "ID" +msgstr "ID" + +#: ../admin/manage-galleries.php:408 +#: ../admin/manage-images.php:266 +#: ../admin/manage-images.php:697 +msgid "Description" +msgstr "Beschreibung" + +#: ../admin/manage-galleries.php:409 +#: ../admin/manage-images.php:295 +msgid "Author" +msgstr "Autor" + +#: ../admin/manage-galleries.php:410 +msgid "Page ID" +msgstr "Seiten-ID" + +#: ../admin/manage-galleries.php:411 +msgid "Image" +msgid_plural "Images" +msgstr[0] "Bild" +msgstr[1] "Bilder" + +#: ../admin/manage-images.php:34 +msgid "Gallery not found." +msgstr "Galerie nicht gefunden" + +#: ../admin/manage-images.php:40 +msgid "Sorry, you have no access here" +msgstr "Sorry, Du hast nicht genügend Rechte" + +#: ../admin/manage-images.php:179 +msgid "Copy image to..." +msgstr "Kopiere nach..." + +#: ../admin/manage-images.php:183 +msgid "Move image to..." +msgstr "Verschiebe nach..." + +#: ../admin/manage-images.php:187 +msgid "Add new tags" +msgstr "Stichwörter hinzufügen" + +#: ../admin/manage-images.php:191 +#: ../admin/manage-images.php:352 +msgid "Delete tags" +msgstr "Stichwörter löschen" + +#: ../admin/manage-images.php:195 +msgid "Overwrite" +msgstr "Überschreiben" + +#: ../admin/manage-images.php:208 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" +"Du startest die Bearbeitung von %s Bildern \n" +" \n" +" 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." + +#: ../admin/manage-images.php:222 +#, php-format +msgid "Search results for “%s”" +msgstr "Suchergebinsse für “%s”" + +#: ../admin/manage-images.php:251 +msgid "Gallery settings" +msgstr "Galerie Einstellungen" + +#: ../admin/manage-images.php:251 +msgid "Click here for more settings" +msgstr "Hier klicken für weitere Einstellungen" + +#: ../admin/manage-images.php:268 +msgid "Preview image" +msgstr "Vorschau-Bild" + +#: ../admin/manage-images.php:271 +msgid "No Picture" +msgstr "Kein Bild" + +#: ../admin/manage-images.php:293 +msgid "Path" +msgstr "Pfad" + +#: ../admin/manage-images.php:310 +msgid "Create new page" +msgstr "Neue Seite erstellen" + +#: ../admin/manage-images.php:313 +msgid "Main page (No parent)" +msgstr "Hauptseite (keine Unterseite)" + +#: ../admin/manage-images.php:316 +msgid "Add page" +msgstr "Seite hinzufügen" + +#: ../admin/manage-images.php:325 +msgid "Scan Folder for new images" +msgstr "Überprüfe Verzeichnis nach neuen Bildern" + +#: ../admin/manage-images.php:326 +#: ../admin/manage-images.php:361 +#: ../admin/manage-images.php:513 +msgid "Save Changes" +msgstr "Änderungen speichern" + +#: ../admin/manage-images.php:345 +msgid "Delete images" +msgstr "Bilder löschen" + +#: ../admin/manage-images.php:347 +msgid "Rotate images clockwise" +msgstr "Rechts drehen" + +#: ../admin/manage-images.php:348 +msgid "Rotate images counter-clockwise" +msgstr "Links drehen" + +#: ../admin/manage-images.php:349 +msgid "Copy to..." +msgstr "Kopiere nach..." + +#: ../admin/manage-images.php:350 +msgid "Move to..." +msgstr "Verschiebe nach..." + +#: ../admin/manage-images.php:351 +msgid "Add tags" +msgstr "Stichwörter hinzufügen" + +#: ../admin/manage-images.php:353 +msgid "Overwrite tags" +msgstr "Stichwörter überschreiben" + +#: ../admin/manage-images.php:358 +msgid "Sort gallery" +msgstr "Sortiere Bilder" + +#: ../admin/manage-images.php:434 +msgid "pixel" +msgstr "pixel" + +#: ../admin/manage-images.php:440 +#, php-format +msgid "View \"%s\"" +msgstr "Anzeigen \"%s\"" + +#: ../admin/manage-images.php:440 +msgid "View" +msgstr "Ansehen" + +#: ../admin/manage-images.php:441 +msgid "Show Meta data" +msgstr "Zeige Metadaten" + +#: ../admin/manage-images.php:441 +msgid "Meta" +msgstr "Meta" + +#: ../admin/manage-images.php:442 +msgid "Customize thumbnail" +msgstr "Thumbnails anpassen" + +#: ../admin/manage-images.php:442 +msgid "Edit thumb" +msgstr "Thumbnail ändern" + +#: ../admin/manage-images.php:443 +msgid "Rotate" +msgstr "Drehen" + +#: ../admin/manage-images.php:445 +msgid "Publish this image" +msgstr "Bild veröffentlichen" + +#: ../admin/manage-images.php:445 +msgid "Publish" +msgstr "Veröffentlichen" + +#: ../admin/manage-images.php:447 +msgid "Recover" +msgstr "Rücksetzen" + +#: ../admin/manage-images.php:447 +#, php-format +msgid "Recover \"%s\" ?" +msgstr " \"%s\" wiederherstellen ?" + +#: ../admin/manage-images.php:448 +#, php-format +msgid "Delete \"%s\" ?" +msgstr "Lösche \"%s\" ?" + +#: ../admin/manage-images.php:529 +msgid "Enter the tags" +msgstr "Stichwörter angeben" + +#: ../admin/manage-images.php:553 +msgid "Select the destination gallery:" +msgstr "Galerie auswählen:" + +#: ../admin/manage-images.php:695 +msgid "Thumbnail" +msgstr "Thumbnail" + +#: ../admin/manage-images.php:696 +#: ../admin/manage-sort.php:77 +msgid "Filename" +msgstr "Dateiname" + +#: ../admin/manage-images.php:697 +msgid "Alt & Title Text" +msgstr "Alt & Titel Text" + +#: ../admin/manage-images.php:698 +msgid "Tags (comma separated list)" +msgstr "Stichwörter (Tags)" + +#: ../admin/manage-images.php:699 +msgid "exclude" +msgstr "ausschließen" + +#: ../admin/manage-sort.php:33 +msgid "Sort order changed" +msgstr "Reihenfolge aktualisiert" + +#: ../admin/manage-sort.php:62 +msgid "Sort Gallery" +msgstr "Sortiere Bilder" + +#: ../admin/manage-sort.php:66 +msgid "Update Sort Order" +msgstr "Sortierung speichern" + +#: ../admin/manage-sort.php:69 +msgid "Back to gallery" +msgstr "Zurueck zur Galerie" + +#: ../admin/manage-sort.php:74 +msgid "Presort" +msgstr "Vorsortieren" + +#: ../admin/manage-sort.php:75 +msgid "Unsorted" +msgstr "Unsortiert" + +#: ../admin/manage-sort.php:76 +msgid "Image ID" +msgstr "Bilder ID" + +#: ../admin/manage-sort.php:78 +msgid "Alt/Title text" +msgstr "Alt / Titel Text" + +#: ../admin/manage-sort.php:79 +msgid "Date/Time" +msgstr "Datum/Zeit" + +#: ../admin/manage-sort.php:80 +msgid "Ascending" +msgstr "Aufsteigend" + +#: ../admin/manage-sort.php:81 +msgid "Descending" +msgstr "Absteigend" + +#: ../admin/manage.php:84 +msgid "Picture" +msgstr "Bild" + +#: ../admin/manage.php:84 +msgid "deleted successfully" +msgstr "erfolgreich gelöscht" + +#: ../admin/manage.php:99 +#: ../admin/manage.php:108 +msgid "Operation successful. Please clear your browser cache." +msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache löschen." + +#: ../admin/manage.php:175 +msgid "Gallery deleted successfully " +msgstr "Galerie gelöscht" + +#: ../admin/manage.php:240 +#: ../admin/manage.php:243 +msgid "Rotate images" +msgstr "Bild drehen" + +#: ../admin/manage.php:265 +msgid "Pictures deleted successfully " +msgstr "Bilder erfolgreich gelöscht" + +#: ../admin/manage.php:361 +msgid "Tags changed" +msgstr "Stichwörter geändert" + +#: ../admin/manage.php:397 +msgid "Update successful" +msgstr "Aktualisierung erfolgreich" + +#: ../admin/manage.php:432 +msgid "New gallery page ID" +msgstr "Neue Galerie Seiten ID" + +#: ../admin/manage.php:432 +msgid "created" +msgstr "erstellt" + +#: ../admin/manage.php:468 +msgid "Published a new post" +msgstr "Veröffentliche einen neuen Beitrag" + +#: ../admin/manage.php:582 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "1 Element" +msgstr[1] "%s Elemente" + +#: ../admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "NextGEN Gallery" + +#: ../admin/media-upload.php:166 +msgid "No gallery" +msgstr "Keine Galerie" + +#: ../admin/media-upload.php:178 +msgid "Select »" +msgstr "Wähle »" + +#: ../admin/media-upload.php:209 +msgid "Show" +msgstr "Zeige" + +#: ../admin/media-upload.php:210 +msgid "Hide" +msgstr "Verstecke" + +#: ../admin/media-upload.php:215 +msgid "Image ID:" +msgstr "Bild ID:" + +#: ../admin/media-upload.php:229 +#: ../admin/publish.php:55 +msgid "Alignment" +msgstr "Ausrichtung" + +#: ../admin/media-upload.php:232 +#: ../admin/publish.php:57 +#: ../admin/settings.php:480 +msgid "None" +msgstr "Keiner" + +#: ../admin/media-upload.php:234 +#: ../admin/publish.php:59 +#: ../admin/tinymce/window.php:120 +msgid "Left" +msgstr "Links" + +#: ../admin/media-upload.php:236 +#: ../admin/publish.php:61 +#: ../admin/tinymce/window.php:121 +msgid "Center" +msgstr "Zentrieren" + +#: ../admin/media-upload.php:238 +#: ../admin/publish.php:63 +#: ../admin/tinymce/window.php:122 +msgid "Right" +msgstr "Rechts" + +#: ../admin/media-upload.php:242 +#: ../admin/settings.php:587 +msgid "Size" +msgstr "Größe" + +#: ../admin/media-upload.php:248 +msgid "Full size" +msgstr "Volle Größe" + +#: ../admin/media-upload.php:250 +msgid "Singlepic" +msgstr "Einzelbilder" + +#: ../admin/media-upload.php:263 +msgid "Insert into Post" +msgstr "In den Beitrag einfügen" + +#: ../admin/media-upload.php:274 +msgid "Save all changes" +msgstr "Änderungen speichern" + +#: ../admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "NextGEN Gallery Übersicht" + +#: ../admin/overview.php:86 +msgid "Welcome to NextGEN Gallery !" +msgstr "Willkomen bei NextGEN Gallery" + +#: ../admin/overview.php:87 +msgid "Do you like this Plugin?" +msgstr "Bist Du mit dem Plugin zufrieden ?" + +#: ../admin/overview.php:89 +msgid "Translation" +msgstr "Übersetzung" + +#: ../admin/overview.php:90 +msgid "Latest News" +msgstr "Letzte Informationen" + +#: ../admin/overview.php:91 +msgid "Recent donators" +msgstr "Neueste Spender" + +#: ../admin/overview.php:93 +msgid "Plugin Check" +msgstr "Plugin prüfen" + +#: ../admin/overview.php:94 +msgid "Server Settings" +msgstr "Server- Einstellungen" + +#: ../admin/overview.php:95 +msgid "Related plugins" +msgstr "Verwandte Plugins" + +#: ../admin/overview.php:101 +#, php-format +msgid "This plugin is primarily developed, maintained, supported and documented by <a href=\"%s\">Alex Rabe</a> with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "Dieses Plugin wird mit viel Mühe & Leidenschaft entwickelt, dokumentiert und supported von <a href=\"%s\">Alex Rabe</a>. Vielleicht möchtest Du dich ja dankbar zeigen. " + +#: ../admin/overview.php:106 +msgid "Give it a good rating on WordPress.org." +msgstr "Bitte bewerte das Plugin bei WordPress.org." + +#: ../admin/overview.php:111 +msgid "Donate the work via paypal." +msgstr "Zeig Dich für diese Arbeit per PayPal dankbar" + +#: ../admin/overview.php:116 +msgid "Help translating it." +msgstr "Hilf das Plugin zu übersetzen." + +#: ../admin/overview.php:252 +msgid "Running..." +msgstr "Läuft... Bitte warten" + +#: ../admin/overview.php:299 +msgid "Check plugin/theme conflict" +msgstr "Plugin/Theme Konflikt prüfen" + +#: ../admin/overview.php:300 +#: ../admin/overview.php:306 +#: ../admin/overview.php:312 +msgid "Not tested" +msgstr "Nicht getested" + +#: ../admin/overview.php:301 +msgid "No conflict could be detected" +msgstr "Es konnte kein Konflikt festgestellt werden" + +#: ../admin/overview.php:302 +msgid "Test failed, disable other plugins & switch to default theme" +msgstr "Test fehlgeschlagen, deaktiviere andere Plugins & aktiviere das Default Theme" + +#: ../admin/overview.php:305 +msgid "Test image function" +msgstr "Teste Bildbearbeitung" + +#: ../admin/overview.php:307 +msgid "The plugin could create images" +msgstr "Es konnte ein Bild erstellt werden" + +#: ../admin/overview.php:308 +msgid "Couldn't create image, check your memory limit" +msgstr "Konnte kein Bild erzeugen, überprüfe dein Speicherlimit (Server)" + +#: ../admin/overview.php:311 +msgid "Check theme compatibility" +msgstr "Theme Kompatibilität prüfen" + +#: ../admin/overview.php:313 +msgid "Your theme should work fine with NextGEN Gallery" +msgstr "Dein Theme sollte mit NextGEN Gallery funktionieren" + +#: ../admin/overview.php:314 +msgid "wp_head()/wp_footer() is missing, contact the theme author" +msgstr "wp_head()/wp_footer() wurde nicht gefunden, kontaktiere den Theme Author" + +#: ../admin/overview.php:318 +msgid "Check plugin" +msgstr "Plugin prüfen" + +#: ../admin/overview.php:339 +msgid "Graphic Library" +msgstr "Grafik-Bibliothek" + +#: ../admin/overview.php:355 +#: ../admin/overview.php:404 +#: ../admin/overview.php:591 +#: ../admin/overview.php:781 +msgid "Loading…" +msgstr "Lade…" + +#: ../admin/overview.php:355 +#: ../admin/overview.php:404 +#: ../admin/overview.php:591 +#: ../admin/overview.php:781 +msgid "This widget requires JavaScript." +msgstr "Dieses Widget braucht JavaScript." + +#: ../admin/overview.php:368 +msgid "Thanks to all donators..." +msgstr "Danke an alle Spender..." + +#: ../admin/overview.php:390 +msgid "View all" +msgstr "Alle ansehen" + +#: ../admin/overview.php:416 +#, php-format +msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates." +msgstr "Der Newsfeed kann nicht geladen werden. Schaue auf die <a href=\"%s\">Hauptseite</a>, um Updates mitzubekommen." + +#: ../admin/overview.php:428 +msgid "Untitled" +msgstr "Kein Titel" + +#: ../admin/overview.php:478 +msgid "At a Glance" +msgstr "Übersicht" + +#: ../admin/overview.php:504 +msgid "Upload pictures" +msgstr "Bilder hochladen" + +#: ../admin/overview.php:505 +msgid "Here you can control your images, galleries and albums." +msgstr "Hier kannst Du die Bilder, Galerien und Alben verwalten." + +#: ../admin/overview.php:535 +msgid "Storage Space" +msgstr "Speicherplatz" + +#: ../admin/overview.php:539 +#, php-format +msgid "<a href=\"%1$s\" title=\"Manage Uploads\" class=\"musublink\">%2$sMB</a>" +msgstr "<a href=\"%1$s\" title=\"Verwalte Uploads\" class=\"musublink\">%2$sMB</a>" + +#: ../admin/overview.php:540 +msgid "Space Allowed" +msgstr "Speicher verfügbar" + +#: ../admin/overview.php:547 +#, php-format +msgid "<a href=\"%1$s\" title=\"Manage Uploads\" class=\"musublink\">%2$sMB (%3$s%%)</a>" +msgstr "<a href=\"%1$s\" title=\"Verwalte Uploads\" class=\"musublink\">%2$sMB (%3$s%%)</a>" + +#: ../admin/overview.php:548 +msgid "Space Used" +msgstr "Verbrauchter Uploadspeicher" + +#: ../admin/overview.php:577 +msgid "Translation file successful updated. Please reload page." +msgstr "Übersetzungsdatei aktualisiert. Bitte Seite neu laden." + +#: ../admin/overview.php:579 +msgid "Reload page" +msgstr "Seite neu laden" + +#: ../admin/overview.php:584 +msgid "Translation file couldn't be updated" +msgstr "Übersetzung konnte nicht aktualisiert werden" + +#: ../admin/overview.php:621 +msgid "Download" +msgstr "Jetzt updaten" + +#: ../admin/overview.php:650 +msgid "No GD support" +msgstr "Keine GD Unterstützung" + +#: ../admin/overview.php:662 +#: ../admin/overview.php:708 +#: ../admin/overview.php:711 +#: ../admin/overview.php:714 +msgid "Yes" +msgstr "Ja" + +#: ../admin/overview.php:664 +#: ../admin/overview.php:709 +#: ../admin/overview.php:712 +#: ../admin/overview.php:715 +msgid "No" +msgstr "Nein" + +#: ../admin/overview.php:682 +msgid "Not set" +msgstr "Nicht gesetzt" + +#: ../admin/overview.php:684 +#: ../admin/overview.php:687 +msgid "On" +msgstr "An" + +#: ../admin/overview.php:685 +#: ../admin/overview.php:688 +msgid "Off" +msgstr "Aus" + +#: ../admin/overview.php:691 +#: ../admin/overview.php:694 +#: ../admin/overview.php:697 +#: ../admin/overview.php:700 +#: ../admin/overview.php:703 +#: ../admin/overview.php:706 +msgid "N/A" +msgstr "N/A" + +#: ../admin/overview.php:705 +msgid " MByte" +msgstr " MByte" + +#: ../admin/overview.php:718 +msgid "Operating System" +msgstr "Betriebssystem" + +#: ../admin/overview.php:719 +msgid "Server" +msgstr "Server" + +#: ../admin/overview.php:720 +msgid "Memory usage" +msgstr "Speicherverbrauch" + +#: ../admin/overview.php:721 +msgid "MYSQL Version" +msgstr "MySQL Version" + +#: ../admin/overview.php:722 +msgid "SQL Mode" +msgstr "SQL Modus" + +#: ../admin/overview.php:723 +msgid "PHP Version" +msgstr "PHP Version" + +#: ../admin/overview.php:724 +msgid "PHP Safe Mode" +msgstr "PHP Safe Mode" + +#: ../admin/overview.php:725 +msgid "PHP Allow URL fopen" +msgstr "PHP Allow URL fopen" + +#: ../admin/overview.php:726 +msgid "PHP Memory Limit" +msgstr "PHP Memory Limit" + +#: ../admin/overview.php:727 +msgid "PHP Max Upload Size" +msgstr "PHP Max Upload Größe" + +#: ../admin/overview.php:728 +msgid "PHP Max Post Size" +msgstr "PHP Max Post Größe" + +#: ../admin/overview.php:729 +msgid "PCRE Backtracking Limit" +msgstr "PCRE Backtracking Limit" + +#: ../admin/overview.php:730 +msgid "PHP Max Script Execute Time" +msgstr "PHP Max Script Execute Time" + +#: ../admin/overview.php:731 +msgid "PHP Exif support" +msgstr "PHP Exif Modul" + +#: ../admin/overview.php:732 +msgid "PHP IPTC support" +msgstr "PHP IPTC Modul" + +#: ../admin/overview.php:733 +msgid "PHP XML support" +msgstr "PHP XML Modul" + +#: ../admin/overview.php:745 +msgid "NextGEN Gallery contains some functions which are only available under PHP 5.2. You are using the old PHP 4 version, upgrade now! It's no longer supported by the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "NextGEN Gallery enthält einige Funktionen, die nur unter PHP 5.2 verfügbar sind. Du nutzt immer noch die alte PHP 4 Version. Bitte aktualisiere so bald wie möglich diese Version, sie wird nicht mehr gepflegt und weiterentwicklelt. Die meisten Hoster bieten bereits PHP5 an. Bitte kontaktiere Deinen Provider und frag kurz nach, ob sie ein Update durchführen können." + +#: ../admin/overview.php:841 +msgid "Install" +msgstr "Installieren" + +#: ../admin/pointer.php:22 +msgid "<h3>Client side resize</h3><p>You can now resize the images before you start with the upload.</p>" +msgstr "<h3>Neue Funktion</h3><p>Du kannst nun die Bilder bereits vor dem Upload beschneiden.</p>" + +#: ../admin/publish.php:45 +msgid "Post title" +msgstr "Beitragstitel" + +#: ../admin/publish.php:47 +msgid "Enter the post title " +msgstr "Artikelüberschrift " + +#: ../admin/publish.php:52 +msgid "Size of the image" +msgstr "Größe des Bildes" + +#: ../admin/publish.php:70 +msgid "Draft" +msgstr "Entwurf" + +#: ../admin/roles.php:22 +msgid "Updated capabilities" +msgstr "Zugriffsrechte geändert" + +#: ../admin/roles.php:28 +msgid "Roles / capabilities" +msgstr "Rollen / Zugriffsrechte" + +#: ../admin/roles.php:29 +msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben soll. NextGEN Gallery unterstützt nur die Standard-Wordpress-Rollen-Fähigkeiten von WordPress." + +#: ../admin/roles.php:30 +msgid "For a more flexible user management you can use the" +msgstr "Nutze für eine flexiblere Rechteverwaltung den " + +#: ../admin/roles.php:35 +msgid "Main NextGEN Gallery overview" +msgstr "NextGEN Galerie Übersicht" + +#: ../admin/roles.php:39 +msgid "Use TinyMCE Button / Upload tab" +msgstr "TinyMCE Button / Upload Tab" + +#: ../admin/roles.php:43 +msgid "Add gallery / Upload images" +msgstr "Galerie einrichten / Bilder hochladen" + +#: ../admin/roles.php:47 +msgid "Manage gallery" +msgstr "Galerie verwalten" + +#: ../admin/roles.php:51 +msgid "Manage others gallery" +msgstr "Alle Galerien verwalten" + +#: ../admin/roles.php:55 +msgid "Manage tags" +msgstr "Verwalte Stichwörter" + +#: ../admin/roles.php:63 +msgid "Change style" +msgstr "Style anpassen" + +#: ../admin/roles.php:67 +msgid "Change options" +msgstr "Optionen änderen" + +#: ../admin/roles.php:71 +msgid "Update capabilities" +msgstr "Rechte aktualisieren" + +#: ../admin/rotate.php:55 +msgid "Image rotated" +msgstr "Bild gedreht" + +#: ../admin/rotate.php:56 +msgid "Error rotating thumbnail" +msgstr "Konnte Bild nicht bearbeiten" + +#: ../admin/rotate.php:81 +msgid "90° clockwise" +msgstr "90° rechts drehen" + +#: ../admin/rotate.php:82 +msgid "90° anticlockwise" +msgstr "90° links drehen" + +#: ../admin/rotate.php:83 +msgid "Flip vertically" +msgstr "Vertikal spiegeln" + +#: ../admin/rotate.php:84 +msgid "Flip horizontally" +msgstr "Horizontal spiegeln" + +#: ../admin/settings.php:97 +msgid "Cache cleared" +msgstr "Cache löschen" + +#: ../admin/settings.php:217 +#: ../admin/settings.php:236 +msgid "General Options" +msgstr "Allg. Optionen" + +#: ../admin/settings.php:218 +#: ../admin/settings.php:417 +msgid "Thumbnails" +msgstr "Thumbnails" + +#: ../admin/settings.php:219 +msgid "Images" +msgstr "Bilder" + +#: ../admin/settings.php:221 +#: ../admin/settings.php:469 +msgid "Effects" +msgstr "Effekte" + +#: ../admin/settings.php:222 +#: ../admin/settings.php:511 +#: ../admin/tinymce/window.php:110 +msgid "Watermark" +msgstr "Wasserzeichen" + +#: ../admin/settings.php:223 +#: ../admin/settings.php:418 +#: ../admin/settings.php:618 +#: ../admin/tinymce/window.php:63 +msgid "Slideshow" +msgstr "Slideshow" + +#: ../admin/settings.php:242 +#: ../admin/wpmu.php:68 +msgid "Gallery path" +msgstr "Galerie-Pfad" + +#: ../admin/settings.php:244 +msgid "This is the default path for all galleries" +msgstr "Dies ist der Standard-Pfad für alle Galerien" + +#: ../admin/settings.php:247 +msgid "Delete image files" +msgstr "Lösche Bilddateien" + +#: ../admin/settings.php:249 +msgid "Delete files, when removing a gallery in the database" +msgstr "Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird" + +#: ../admin/settings.php:252 +msgid "Activate permalinks" +msgstr "Aktiviere Permalinks" + +#: ../admin/settings.php:254 +msgid "When you activate this option, you need to update your permalink structure one time." +msgstr "Wenn Du diese Option aktivierst, muss Du einmal die Permalink Struktur aktualisieren." + +#: ../admin/settings.php:255 +msgid "Gallery slug name :" +msgstr "Galerie Schlagwort :" + +#: ../admin/settings.php:259 +msgid "Create new URL friendly image slugs" +msgstr "Erstelle neue URL lesbare Schlagwörter " + +#: ../admin/settings.php:260 +#: ../admin/settings.php:371 +msgid "Proceed now" +msgstr "Jetzt durchführen" + +#: ../admin/settings.php:263 +msgid "Select graphic library" +msgstr "Wähle Grafik-Bibliothek" + +#: ../admin/settings.php:264 +msgid "GD Library" +msgstr "GD Bibliothek" + +#: ../admin/settings.php:265 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "ImageMagick (Experimental). Pfad zur Bibliothek :" + +#: ../admin/settings.php:270 +msgid "Activate Media RSS feed" +msgstr "Aktiviere Media-RSS-Feed" + +#: ../admin/settings.php:272 +msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt" + +#: ../admin/settings.php:275 +msgid "Activate PicLens/CoolIris support" +msgstr "Aktiviere PicLens/CoolIris" + +#: ../admin/settings.php:277 +msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme." +msgstr "Dieser Effekt fügt ein neues Javascript zu Deinem Theme hinzu. Beachte, dass wp_footer() in Deinen Vorlagen aufgerufen wird." + +#: ../admin/settings.php:280 +msgid "Tags / Categories" +msgstr "Stichwörter / Kategorien" + +#: ../admin/settings.php:283 +msgid "Activate related images" +msgstr "Verwandte Bilder anzeigen" + +#: ../admin/settings.php:285 +msgid "This option will append related images to every post" +msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag" + +#: ../admin/settings.php:289 +msgid "Match with" +msgstr "Vergleiche mit" + +#: ../admin/settings.php:290 +msgid "Categories" +msgstr "Kategorien" + +#: ../admin/settings.php:295 +msgid "Max. number of images" +msgstr "Max. Anzahl der Bilder" + +#: ../admin/settings.php:297 +msgid "0 will show all images" +msgstr "0 zeige alle verwandten Bilder" + +#: ../admin/settings.php:301 +#: ../admin/settings.php:332 +#: ../admin/settings.php:374 +#: ../admin/settings.php:459 +#: ../admin/settings.php:494 +#: ../admin/settings.php:755 +msgid "More settings" +msgstr "Mehr Einstellungen" + +#: ../admin/settings.php:311 +msgid "Thumbnail settings" +msgstr "Thumbnail-Einstellungen" + +#: ../admin/settings.php:315 +msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ." +msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst" + +#: ../admin/settings.php:328 +msgid "Thumbnail quality" +msgstr "Thumbnail Qualität" + +#: ../admin/settings.php:342 +msgid "Image settings" +msgstr "Bild-Einstellungen" + +#: ../admin/settings.php:348 +msgid "Resize Images" +msgstr "Bilder verkleinern" + +#: ../admin/settings.php:353 +msgid "Image quality" +msgstr "Bild Qualität" + +#: ../admin/settings.php:357 +msgid "Backup original images" +msgstr "Backup von Original-Bildern " + +#: ../admin/settings.php:359 +msgid "Creates a backup for inserted images" +msgstr "Backup der Bilder anlegen" + +#: ../admin/settings.php:362 +msgid "Automatically resize" +msgstr "Grösse automatisch anpassen" + +#: ../admin/settings.php:364 +msgid "Automatically resize images on upload." +msgstr "Passt die Grösse automatisch beim Upload an" + +#: ../admin/settings.php:367 +msgid "Single picture" +msgstr "Einzelbilder" + +#: ../admin/settings.php:370 +msgid "Clear cache folder" +msgstr "Lösche Cache-Verzeichnis" + +#: ../admin/settings.php:391 +msgid "Deactivate gallery page link" +msgstr "Keine Seitenverzweigung" + +#: ../admin/settings.php:393 +msgid "The album will not link to a gallery subpage. The gallery is shown on the same page." +msgstr "Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt angezeigt." + +#: ../admin/settings.php:397 +msgid "Number of images per page" +msgstr "Anzahl der Bilder pro Seite" + +#: ../admin/settings.php:399 +msgid "0 will disable pagination, all images on one page" +msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )" + +#: ../admin/settings.php:403 +msgid "Number of columns" +msgstr "Anzahl der Spalten" + +#: ../admin/settings.php:405 +msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images" +msgstr "Mit \"0\" werden soviele Bilder wie möglich in einer Reihe dargestellt. Die Einstellung ist normalerweise nur für Beschriftungen unterhalb der Bilder sinnvoll." + +#: ../admin/settings.php:409 +msgid "Integrate slideshow" +msgstr "Slideshow verwenden" + +#: ../admin/settings.php:416 +msgid "Show first" +msgstr "Zeige als Erstes" + +#: ../admin/settings.php:422 +msgid "Show ImageBrowser" +msgstr "Zeige Bilder-Browser" + +#: ../admin/settings.php:424 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "Es wird der Bilder-Browser angezeigt (Kein JavaScript Effekt)" + +#: ../admin/settings.php:428 +msgid "Add hidden images" +msgstr "Versteckte Bilder hinzufügen" + +#: ../admin/settings.php:430 +msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "Wenn Du die Blätterfunktion nutzt, dann kannst Du mit dieser Option alle Bilder im Modal-Fenster (Thickbox,Lightbox etc.) anzeigen. Berücksichtige, dass die Ladezeit der Seite erhöht wird." + +#: ../admin/settings.php:434 +msgid "Enable AJAX pagination" +msgstr "Aktiviere AJAX-Navigation" + +#: ../admin/settings.php:436 +msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect" +msgstr "Ermöglicht das Blättern zwischen den Bildern ohne die Seite neu zu laden. Hinweis : Funktioniert nur mit dem Shutter-Effekt." + +#: ../admin/settings.php:440 +msgid "Sort options" +msgstr "Sortierung" + +#: ../admin/settings.php:443 +msgid "Sort thumbnails" +msgstr "Thumbnails sortieren" + +#: ../admin/settings.php:445 +msgid "Custom order" +msgstr "Benutzerdefiniert" + +#: ../admin/settings.php:447 +msgid "File name" +msgstr "Dateiname" + +#: ../admin/settings.php:448 +msgid "Alt / Title text" +msgstr "Alt / Titel Text" + +#: ../admin/settings.php:449 +msgid "Date / Time" +msgstr "Datum/Zeit" + +#: ../admin/settings.php:453 +msgid "Sort direction" +msgstr "Sortierreihenfolge" + +#: ../admin/settings.php:473 +msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme." +msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML-Code verwenden. Bitte beachte, dass nur Shutter und der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)." + +#: ../admin/settings.php:474 +msgid "With the placeholder" +msgstr "Mit Platzhalter" + +#: ../admin/settings.php:474 +msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do." +msgstr "Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). Ändere nur die Codezeile, falls Du einen anderen Effekt für die Thumbnails verwendest oder einfach weißt, was Du tust." + +#: ../admin/settings.php:477 +msgid "JavaScript Thumbnail effect" +msgstr "JavaScript Thumbnail Effekt" + +#: ../admin/settings.php:481 +msgid "Thickbox" +msgstr "Thickbox" + +#: ../admin/settings.php:482 +msgid "Lightbox" +msgstr "Lightbox" + +#: ../admin/settings.php:483 +msgid "Highslide" +msgstr "Highslide" + +#: ../admin/settings.php:484 +msgid "Shutter" +msgstr "Shutter" + +#: ../admin/settings.php:485 +msgid "Custom" +msgstr "Eigener" + +#: ../admin/settings.php:490 +msgid "Link Code line" +msgstr "Link-Code-Zeile" + +#: ../admin/settings.php:512 +msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone." +msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. " + +#: ../admin/settings.php:517 +msgid "Preview" +msgstr "Vorschau" + +#: ../admin/settings.php:519 +#: ../admin/settings.php:524 +msgid "Position" +msgstr "Position" + +#: ../admin/settings.php:544 +msgid "Offset" +msgstr "Abstand" + +#: ../admin/settings.php:560 +msgid "Use image as watermark" +msgstr "Benutze das Bild als Wasserzeichen" + +#: ../admin/settings.php:563 +msgid "URL to file" +msgstr "URL zur Datei" + +#: ../admin/settings.php:565 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "Der Dateizugriff von URLs ist auf diesem Server deaktiviert (allow_url_fopen)" + +#: ../admin/settings.php:568 +msgid "Use text as watermark" +msgstr "Benutze Text als Wasserzeichen" + +#: ../admin/settings.php:571 +msgid "Font" +msgstr "Schriftart" + +#: ../admin/settings.php:580 +msgid "This function will not work, cause you need the FreeType library" +msgstr "Diese Funktion benötigt die FreeType-Bibliothek" + +#: ../admin/settings.php:582 +msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>" +msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen." + +#: ../admin/settings.php:591 +msgid "Color" +msgstr "Farbe" + +#: ../admin/settings.php:593 +msgid "(hex w/o #)" +msgstr "(hex w/o #)" + +#: ../admin/settings.php:596 +msgid "Text" +msgstr "Text" + +#: ../admin/settings.php:600 +msgid "Opaque" +msgstr "Transparenz" + +#: ../admin/settings.php:621 +msgid "Default size (W x H)" +msgstr "Standard Größe (B x H)" + +#: ../admin/settings.php:626 +msgid "Duration time" +msgstr "Dauer" + +#: ../admin/settings.php:627 +msgid "sec." +msgstr "Sek." + +#: ../admin/settings.php:630 +#: ../admin/settings.php:705 +msgid "Transition / Fade effect" +msgstr "Fade Effekt" + +#: ../admin/settings.php:633 +#: ../admin/settings.php:708 +msgid "fade" +msgstr "Fade" + +#: ../admin/settings.php:634 +msgid "blindX" +msgstr "blindX" + +#: ../admin/settings.php:635 +msgid "cover" +msgstr "Blenden" + +#: ../admin/settings.php:636 +msgid "scrollUp" +msgstr "ScrollUp" + +#: ../admin/settings.php:637 +msgid "scrollDown" +msgstr "ScrollDown" + +#: ../admin/settings.php:638 +msgid "shuffle" +msgstr "Shuffle" + +#: ../admin/settings.php:639 +msgid "toss" +msgstr "Schüttel" + +#: ../admin/settings.php:640 +msgid "wipe" +msgstr "wischen" + +#: ../admin/settings.php:642 +msgid "See here for more information about the effects :" +msgstr "Hier bekommst du mehr Informationen über die Effekte :" + +#: ../admin/settings.php:646 +msgid "Settings for the JW Image Rotator" +msgstr "JW-Image-Rotator Einstellungen" + +#: ../admin/settings.php:647 +msgid "The settings are only used in the JW Image Rotator Version" +msgstr "Die Einstellungen werden im JW-Image-Rotator benutzt, in der Version" + +#: ../admin/settings.php:648 +msgid "See more information for the Flash Player on the web page" +msgstr "Weitere Informationen auf der Flash-Player-Homepage" + +#: ../admin/settings.php:653 +msgid "The path to imagerotator.swf is not defined, the slideshow will not work." +msgstr "Der Pfad zu imagerotator.swf ist nicht gesetzt, die Flash-Diaschau kann dann nicht angezeigt werden" + +#: ../admin/settings.php:654 +msgid "If you would like to use the JW Image Rotatator, please download the player <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >here</a> and upload it to your Upload folder (Default is wp-content/uploads)." +msgstr "Wenn Du den JW-Image-Rotator (Slideshow) nutzen möchtest, lade Dir die aktuelle Version <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >hier</a> herunter und übertrage sie dann in Dein WordPress-Upload-Verzeichnis (normalerweise wp-content/uploads)," + +#: ../admin/settings.php:660 +msgid "Enable flash slideshow" +msgstr "Aktiviere Flash Slideshow" + +#: ../admin/settings.php:662 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "Verwende die Flash Slideshow für alle Flash-unterstützte Geräte" + +#: ../admin/settings.php:665 +msgid "Path to the Imagerotator (URL)" +msgstr "Pfad zum JW-Image-Rotator (URL)" + +#: ../admin/settings.php:668 +msgid "Search now" +msgstr "Suche jetzt" + +#: ../admin/settings.php:669 +msgid "Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder" +msgstr "Drücke 'Suche jetzt' um automatisch den Pfad zum Image-Rotator zu ermitteln, sofern Du den Player in wp-content/uploads oder ein Unterverzeichnis hochgeladen hast." + +#: ../admin/settings.php:673 +msgid "Shuffle mode" +msgstr "Shuffle Modus" + +#: ../admin/settings.php:677 +msgid "Show next image on click" +msgstr "Zeige nächstes Bild bei Klick" + +#: ../admin/settings.php:681 +msgid "Show navigation bar" +msgstr "Zeige Navigations-Leiste" + +#: ../admin/settings.php:685 +msgid "Show loading icon" +msgstr "Zeige Lade-Bildchen" + +#: ../admin/settings.php:689 +msgid "Use watermark logo" +msgstr "Wasserzeichen anzeigen" + +#: ../admin/settings.php:691 +msgid "You can change the logo at the watermark settings" +msgstr "Du kannst den Pfad in Einstellungen für das Wasserzeichen angeben" + +#: ../admin/settings.php:694 +msgid "Stretch image" +msgstr "Bild dehnen" + +#: ../admin/settings.php:697 +msgid "true" +msgstr "Ja" + +#: ../admin/settings.php:698 +msgid "false" +msgstr "Nein" + +#: ../admin/settings.php:699 +msgid "fit" +msgstr "Passend" + +#: ../admin/settings.php:700 +msgid "none" +msgstr "keiner" + +#: ../admin/settings.php:709 +msgid "bgfade" +msgstr "BGFade" + +#: ../admin/settings.php:710 +msgid "slowfade" +msgstr "Slowfade" + +#: ../admin/settings.php:711 +msgid "circles" +msgstr "Kreise" + +#: ../admin/settings.php:712 +msgid "bubbles" +msgstr "Blasen" + +#: ../admin/settings.php:713 +msgid "blocks" +msgstr "Blöcke" + +#: ../admin/settings.php:714 +msgid "fluids" +msgstr "Fluids" + +#: ../admin/settings.php:715 +msgid "flash" +msgstr "Flash" + +#: ../admin/settings.php:716 +msgid "lines" +msgstr "Linien" + +#: ../admin/settings.php:717 +msgid "random" +msgstr "Zufall" + +#: ../admin/settings.php:722 +msgid "Use slow zooming effect" +msgstr "nutze Zoom-Effekt" + +#: ../admin/settings.php:726 +msgid "Background Color" +msgstr "Hintergrund (BG) Farbe" + +#: ../admin/settings.php:731 +msgid "Texts / Buttons Color" +msgstr "Text- / Button Farbe" + +#: ../admin/settings.php:736 +msgid "Rollover / Active Color" +msgstr "Rollover / Aktiv (Link) Farbe" + +#: ../admin/settings.php:741 +msgid "Screen Color" +msgstr "Seiten-Farbe" + +#: ../admin/settings.php:746 +msgid "Background music (URL)" +msgstr "Hintergrundmusik (URL)" + +#: ../admin/settings.php:750 +msgid "Try XHTML validation (with CDATA)" +msgstr "Integriere XHTML-Validierung (mittels CDATA)" + +#: ../admin/settings.php:752 +msgid "Important : Could causes problem at some browser. Please recheck your page." +msgstr "Wichtig : Es könnten Probleme bei einigen Browser entstehen. Unbedingt Seite danach prüfen." + +#: ../admin/setup.php:15 +msgid "Reset all settings to default parameter" +msgstr "Stelle alle Einstellungen auf Anfangswerte zurück" + +#: ../admin/setup.php:26 +msgid "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !" +msgstr "Deinstallation erfolgreich! Nun kannst Du das Plugin löschen und Dein Leben weiterhin genießen! Stay geeky! Viel Glück!" + +#: ../admin/setup.php:30 +msgid "Reset options" +msgstr "Optionen zurücksetzen" + +#: ../admin/setup.php:33 +msgid "Reset all options/settings to the default installation." +msgstr "Alle Optionen/Einstellungen zurücksetzen" + +#: ../admin/setup.php:34 +msgid "Reset settings" +msgstr "Einstellungen zurücksetzen" + +#: ../admin/setup.php:34 +msgid "" +"Reset all options to default settings ?\\n" +"\\n" +"Choose [Cancel] to Stop, [OK] to proceed.\\n" +msgstr "" +"Alle Optionen zu Standard zurücksetzen ?\\n" +"\\n" +"Wähle [Cancel] um abzubrechen, [OK] zum Fortfahren.\\n" + +#: ../admin/setup.php:39 +msgid "Uninstall plugin tables" +msgstr "Plugin Tabellen (DB) entfernen" + +#: ../admin/setup.php:44 +msgid "You don't like NextGEN Gallery ?" +msgstr "Du magst die NextGEN Gallery nicht ?" + +#: ../admin/setup.php:45 +msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. " +msgstr "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den Uninstall-Button betätigen, damit alle Tabellen der Galerie entfernt werden." + +#: ../admin/setup.php:47 +msgid "WARNING:" +msgstr "WARNUNG:" + +#: ../admin/setup.php:48 +msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables" +msgstr "Eine einmalig durchgeführte Deinstallation kann nicht mehr rückgängig gemacht werden, da alle Tabellen der Galerie aus der Datenbank entfernt werden und KEIN Backup dieser Galerie-Tabellen angelegt wird." + +#: ../admin/setup.php:48 +msgid "and" +msgstr "und" + +#: ../admin/setup.php:50 +msgid "Uninstall plugin" +msgstr "Plugin deinstallieren" + +#: ../admin/setup.php:50 +msgid "" +"You are about to Uninstall this plugin from WordPress.\\n" +"This action is not reversible.\\n" +"\\n" +"Choose [Cancel] to Stop, [OK] to Uninstall.\\n" +msgstr "" +"Du bist dabei, das Plugin zu deinstallieren.\\n" +"Diese Aktion kann NICHT rückgängig gemacht werden.\\n" +"\\n" +"Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n" + +#: ../admin/showmeta.php:29 +msgid "Meta Data" +msgstr "Metadaten" + +#: ../admin/showmeta.php:34 +#: ../admin/showmeta.php:60 +#: ../admin/showmeta.php:85 +#: ../admin/showmeta.php:109 +msgid "Tag" +msgstr "Stichwort" + +#: ../admin/showmeta.php:35 +#: ../admin/showmeta.php:61 +#: ../admin/showmeta.php:86 +#: ../admin/showmeta.php:110 +msgid "Value" +msgstr "Wert" + +#: ../admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "Keine Metadaten gespeichert" + +#: ../admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "EXIF-Daten" + +#: ../admin/showmeta.php:74 +msgid "No exif data" +msgstr "Keine Exif-Daten" + +#: ../admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "IPTC-Daten" + +#: ../admin/showmeta.php:105 +msgid "XMP Data" +msgstr "XMP-Daten" + +#: ../admin/style.php:11 +msgid "(From the theme folder)" +msgstr "(Aus dem Theme Verzeichnis)" + +#: ../admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "Du hast nicht die benötigten Rechte, um Vorlagen in diesem Blog zu bearbeiten." + +#: ../admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "CSS-Datei erfolgreich aktualisiert" + +#: ../admin/style.php:89 +msgid "Style Editor" +msgstr "CSS-Editor" + +#: ../admin/style.php:93 +msgid "Activate and use style sheet:" +msgstr "Aktiviere und nutze Stylesheet:" + +#: ../admin/style.php:113 +msgid "Activate" +msgstr "Aktiviere" + +#: ../admin/style.php:123 +#, php-format +msgid "Editing <strong>%s</strong>" +msgstr "Bearbeite <strong>%s</strong>" + +#: ../admin/style.php:125 +#, php-format +msgid "Browsing <strong>%s</strong>" +msgstr "Durchsuche <strong>%s</strong>" + +#: ../admin/style.php:135 +msgid "Version" +msgstr "Version" + +#: ../admin/style.php:138 +msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade" +msgstr "Kleiner Tipp: Kopiere das Stylesheet (nggallery.css) in Dein Theme-Verzeichnis, dadurch wird es beim nächsten Update nicht überschrieben." + +#: ../admin/style.php:140 +msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used" +msgstr "Dein Theme-Paket enthält ein NextGEN-Gallery-Stylesheet (nggallery.css), dieses Sheet wird automatisch eingebunden" + +#: ../admin/style.php:142 +msgid "Tip No. 2: Use the color picker below to help you find the right color scheme for your gallery!" +msgstr "2.Tipp : Benutze die Farbauswahl, um den zugehörigen HTML-Farbcode zu erhalten" + +#: ../admin/style.php:158 +msgid "Update File" +msgstr "Datei aktualisieren" + +#: ../admin/style.php:161 +msgid "If this file were writable you could edit it." +msgstr "Wenn diese Datei beschreibbar wäre, könntest Du sie bearbeiten." + +#: ../admin/style.php:166 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "Oha, eine solche Datei existiert nicht! Bitte überprüfe den Namen und probiere es erneut. Danke." + +#: ../admin/tags.php:38 +msgid "Most popular" +msgstr "Beliebteste Stichwörter" + +#: ../admin/tags.php:39 +msgid "Least used" +msgstr "Zuletzt benutzt" + +#: ../admin/tags.php:40 +msgid "Alphabetical" +msgstr "Alphabetisch" + +#: ../admin/tags.php:96 +msgid "Manage image tags" +msgstr "Verwalte Bilder-Stichwörter" + +#: ../admin/tags.php:108 +msgid "Existing Tags" +msgstr "Vorhandene Stichwörter" + +#: ../admin/tags.php:112 +msgid "Search tags" +msgstr "Suche nach Stichwörter" + +#: ../admin/tags.php:116 +msgid "Go" +msgstr "Start" + +#: ../admin/tags.php:121 +msgid "Sort Order:" +msgstr "Sortierung :" + +#: ../admin/tags.php:156 +#: ../admin/tags.php:160 +#: ../admin/tags.php:173 +msgid "Previous tags" +msgstr "Vorheriges Stichwort" + +#: ../admin/tags.php:169 +msgid "Next tags" +msgstr "Nächstes Stichwort" + +#: ../admin/tags.php:181 +msgid "Rename Tag" +msgstr "Schlagwort umbenennen" + +#: ../admin/tags.php:189 +msgid "Enter the tag to rename and its new value. You can use this feature to merge tags too. Click \"Rename\" and all posts which use this tag will be updated." +msgstr "Trage das Stichwort ein, das Du umbenennen willst und seinen neuen Wert/Namen. Du kannst diese Funktion auch nutzen, um Stichwörter zusammenzuführen. Klicke auf \"Umbenennen\" und alle Bilder, die das Stichwort verwenden, werden aktualisiert." + +#: ../admin/tags.php:190 +#: ../admin/tags.php:238 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "Mehrere Stichwörter zum Umbenennen durch Komma trennen" + +#: ../admin/tags.php:194 +msgid "Tag(s) to rename:" +msgstr "Stichwörter umbennenen:" + +#: ../admin/tags.php:198 +msgid "New tag name(s):" +msgstr "Neuer Name für das Stichwort" + +#: ../admin/tags.php:201 +msgid "Rename" +msgstr "Umbenennen" + +#: ../admin/tags.php:207 +msgid "Delete Tag" +msgstr "Stichwort löschen" + +#: ../admin/tags.php:215 +msgid "Enter the name of the tag to delete. This tag will be removed from all posts." +msgstr "Trage das zu löschende Stichwort ein. Das Stichwort wird aus allen Bildern entfernt." + +#: ../admin/tags.php:216 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "Du kannst mehrere Stichwörter zum Löschen markieren, indem Du sie mit Kommas trennst" + +#: ../admin/tags.php:220 +msgid "Tag(s) to delete:" +msgstr "Folgede Stichwörter löschen:" + +#: ../admin/tags.php:229 +msgid "Edit Tag Slug" +msgstr "Ändere Schlagwort" + +#: ../admin/tags.php:237 +msgid "Enter the tag name to edit and its new slug. <a href=\"http://codex.wordpress.org/Glossary#Slug\">Slug definition</a>" +msgstr "Trage den Namen des zu ändernden Stichworts und seinen neuen \"Slug\" ein. <a href=\"http://codex.wordpress.org/Glossary#Slug\">Was ist ein Slug?</a>" + +#: ../admin/tags.php:242 +msgid "Tag(s) to match:" +msgstr "Stichwörter vergleichen :" + +#: ../admin/tags.php:246 +msgid "Slug(s) to set:" +msgstr "Schlagwörter setzen:" + +#: ../admin/upgrade.php:22 +msgid "Upgrade database structure..." +msgstr "Aktualisiere die Datenbank-Strukturen..." + +#: ../admin/upgrade.php:108 +#: ../admin/upgrade.php:119 +#: ../admin/upgrade.php:126 +#: ../admin/upgrade.php:137 +#: ../admin/upgrade.php:151 +msgid "finished" +msgstr "beendet" + +#: ../admin/upgrade.php:117 +msgid "Update file structure..." +msgstr "Aktualisiere Verzeichnisse..." + +#: ../admin/upgrade.php:124 +msgid "Import date and time information..." +msgstr "Importiere Datum/Uhrzeit..." + +#: ../admin/upgrade.php:132 +msgid "Move imagerotator to new location..." +msgstr "Verschiebe den Image-Rotator in ein neues Verzeichnis..." + +#: ../admin/upgrade.php:143 +msgid "Update settings..." +msgstr "Einstellungen gespeichert..." + +#: ../admin/upgrade.php:157 +msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..." +msgstr "Die Widgets wurden überarbeitet. Wenn Du NextGEN Widgets nutzt, musst du Sie nun neu einfügen..." + +#: ../admin/upgrade.php:165 +#: ../admin/upgrade.php:187 +msgid "Updated options." +msgstr "Einstellungen gespeichert." + +#: ../admin/upgrade.php:172 +msgid "Create unique slug" +msgstr "Permalinks erstellen" + +#: ../admin/upgrade.php:173 +msgid "One of the upcomming features are a reworked permalinks structure." +msgstr "Die Permalinkstruktur wird in einer kommenden Version überarbeitet." + +#: ../admin/upgrade.php:174 +msgid "Therefore it's needed to have a unique identifier for each image, gallery and album." +msgstr "Deshalb ist es notwendig ein eindeutiges Schlagwort für jedes Bild, Galerie und Album zu erzeugen." + +#: ../admin/upgrade.php:175 +msgid "Depend on the amount of database entries this will take a while, don't reload this page." +msgstr "Diese Operation kann je nach Anzahl der Bilder eine Weile daueren, bitte die Seite nicht neu laden." + +#: ../admin/upgrade.php:195 +msgid "Could not find NextGEN Gallery database tables, upgrade failed !" +msgstr "Konnte die NextGEN Gallery Tabellen nicht finden, Upgrade fehlgeschlagen !" + +#: ../admin/upgrade.php:258 +msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section." +msgstr "Einige Verzeichnisse / Bilder konnten nicht umbenannt werden, bitte überprüfe die Zugriffsrechte und scanne dann das Verzeichnis neu ein." + +#: ../admin/upgrade.php:260 +msgid "Rename failed" +msgstr "Konnte nicht umbenannt werden" + +#: ../admin/upgrade.php:356 +#: ../admin/upgrade.php:375 +msgid "Upgrade NextGEN Gallery" +msgstr "NextGEN-Gallery aktualisieren" + +#: ../admin/upgrade.php:357 +msgid "The script detect that you upgrade from a older version." +msgstr "Es wurde eine ältere NextGEN-Datenbank erkannt." + +#: ../admin/upgrade.php:358 +msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue." +msgstr "Deine Datenbanktabellen für NextGEN-Gallery sind nicht auf dem aktuellen Stand, sie müssen jetzt aktualisiert werden." + +#: ../admin/upgrade.php:359 +msgid "If you would like to downgrade later, please make first a complete backup of your database and the images." +msgstr "Wenn Du wieder auf eine ältere Version zurückgehen möchtest, solltest Du vorher die Datenbank sichern." + +#: ../admin/upgrade.php:360 +msgid "The upgrade process may take a while, so please be patient." +msgstr "Der Upgrade-Prozess kann etwas dauern, bitte sei geduldig..." + +#: ../admin/upgrade.php:361 +msgid "Start upgrade now" +msgstr "Aktualisierung starten" + +#: ../admin/upgrade.php:377 +msgid "Upgrade finished..." +msgstr "Upgrade beendet..." + +#: ../admin/upgrade.php:378 +msgid "Continue" +msgstr "Weiter" + +#: ../admin/upgrade.php:401 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "Erzeuge Permalinks für Bilder : %s / %s Bilder" + +#: ../admin/upgrade.php:402 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "Erzeuge Permalinks für Galerien : %s / %s Galerien" + +#: ../admin/upgrade.php:403 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "Erzeuge Permalinks für Alben : %s / %s Alben" + +#: ../admin/upgrade.php:460 +msgid "Done." +msgstr "Fertig." + +#: ../admin/wpmu.php:33 +msgid "Update successfully" +msgstr "Aktualisierung erfolgreich" + +#: ../admin/wpmu.php:45 +#, php-format +msgid "Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).<br /> If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ." +msgstr "Vielen Dank, dass Du dieses Plugin nutzt. NextGEN Gallery wurde für einfache Blogs entwickelt. Die Nutzung im Netzwerk (Multisite) ist möglich, aber wird nicht vollständig unterstützt (z.B. Domain Mapping).<br /> Wenn Du die Weiterentwicklung unterstützen möchtest, würde ich mich über eine kleine <strong><a href=\"%s\">Spende</a></strong> freuen! Wenn Du Fragen oder Problem hast, schreib sie doch <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">hier</a> ins Forum." + +#: ../admin/wpmu.php:62 +msgid "Network Options" +msgstr "Netzwerk Optionen" + +#: ../admin/wpmu.php:70 +msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better." +msgstr "Dieses ist der Default-Pfad für alle Blogs. Mit dem Platzhalter %BLOG_ID% wird die Ordnerstruktur gesteuert. Der Pfad muss mit / enden." + +#: ../admin/wpmu.php:71 +#, php-format +msgid "The default setting should be %s" +msgstr "Grundeinstellung ist %s" + +#: ../admin/wpmu.php:75 +msgid "Enable upload quota check" +msgstr "Schalte die Uploadbegrenzung ein" + +#: ../admin/wpmu.php:77 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "Sollte funktionieren, wenn die Galerien sich unterhalb blog.dir befinden" + +#: ../admin/wpmu.php:81 +msgid "Enable zip upload option" +msgstr "Erlaube ZIP-Upload" + +#: ../admin/wpmu.php:83 +msgid "Allow users to upload zip folders." +msgstr "Erlaubt die Nutzung des ZIP-Upload" + +#: ../admin/wpmu.php:87 +msgid "Enable import function" +msgstr "Erlaube Import Funktion" + +#: ../admin/wpmu.php:89 +msgid "Allow users to import images folders from the server." +msgstr "Erlaube dem User Bilder direkt aus den Server Verzeichnissen zu importieren." + +#: ../admin/wpmu.php:93 +msgid "Enable style selection" +msgstr "Freie CSS-Style-Auswahl" + +#: ../admin/wpmu.php:95 +msgid "Allow users to choose a style for the gallery." +msgstr "Erlaube dem User, ein CSS für die Galerie zu wählen" + +#: ../admin/wpmu.php:99 +msgid "Enable roles/capabilities" +msgstr "Rollen / Zugriffsrechte freischalten" + +#: ../admin/wpmu.php:101 +msgid "Allow users to change the roles for other blog authors." +msgstr "Erlaube dem User die Anpassung der Zugangsberechtigung" + +#: ../admin/wpmu.php:105 +msgid "Default style" +msgstr "Standard-CSS-Style" + +#: ../admin/wpmu.php:122 +msgid "Choose the default style for the galleries." +msgstr "Wähle das Default-Stylesheet für die Galerien" + +#: ../admin/tinymce/window.php:56 +msgid "Select or enter gallery" +msgstr "Wähle oder Suche Galerie" + +#: ../admin/tinymce/window.php:61 +#: ../admin/tinymce/window.php:82 +msgid "Show as" +msgstr "Zeige als" + +#: ../admin/tinymce/window.php:62 +msgid "Image list" +msgstr "Bilder-Liste" + +#: ../admin/tinymce/window.php:64 +msgid "Imagebrowser" +msgstr "Bilder-Browser" + +#: ../admin/tinymce/window.php:77 +msgid "Select or enter album" +msgstr "Wähle oder Suche Album" + +#: ../admin/tinymce/window.php:83 +msgid "Extended version" +msgstr "Erweiterte Version" + +#: ../admin/tinymce/window.php:84 +msgid "Compact version" +msgstr "Kompakte Version" + +#: ../admin/tinymce/window.php:97 +msgid "Select or enter picture" +msgstr "Wähle oder Suche Bild" + +#: ../admin/tinymce/window.php:102 +msgid "Width x Height" +msgstr "Breite x Höhe" + +#: ../admin/tinymce/window.php:106 +msgid "Effect" +msgstr "Effekt" + +#: ../admin/tinymce/window.php:109 +msgid "No effect" +msgstr "Kein Effekt" + +#: ../admin/tinymce/window.php:111 +msgid "Web 2.0" +msgstr "Web 2.0" + +#: ../admin/tinymce/window.php:116 +msgid "Float" +msgstr "Float" + +#: ../admin/tinymce/window.php:119 +msgid "No float" +msgstr "Kein Float" + +#: ../admin/tinymce/window.php:138 +msgid "Insert" +msgstr "Einfügen" + +#: ../lib/core.php:407 +#, php-format +msgid "Note : Based on your server memory limit you should not upload larger images then <strong>%d x %d</strong> pixel" +msgstr "Hinweis: Basierend auf der Speicherbegrenzung auf dem Server, solltest Du keine Bilder grösser als <strong>%d x %d</strong> Pixel hochladen" + +#: ../lib/locale.php:120 +msgid "Invalid URL Provided." +msgstr "Ungültige URL" + +#: ../lib/locale.php:124 +#: ../lib/locale.php:128 +msgid "Could not create Temporary file." +msgstr "Konnte temporäre Datei nicht erstellen" + +#: ../lib/meta.php:124 +msgid " mm" +msgstr " mm" + +#: ../lib/meta.php:130 +msgid " sec" +msgstr " Sek." + +#: ../lib/meta.php:134 +msgid "Fired" +msgstr "ausgelöst" + +#: ../lib/meta.php:134 +msgid "Not fired" +msgstr "Nicht ausgelöst" + +#: ../lib/meta.php:430 +msgid "Aperture" +msgstr "Blende" + +#: ../lib/meta.php:431 +#: ../lib/meta.php:456 +msgid "Credit" +msgstr "Autor" + +#: ../lib/meta.php:432 +msgid "Camera" +msgstr "Kamera" + +#: ../lib/meta.php:433 +msgid "Caption" +msgstr "Beschreibung" + +#: ../lib/meta.php:435 +msgid "Copyright" +msgstr "Rechte" + +#: ../lib/meta.php:436 +msgid "Focal length" +msgstr "Brennweite" + +#: ../lib/meta.php:437 +msgid "ISO" +msgstr "ISO" + +#: ../lib/meta.php:438 +msgid "Shutter speed" +msgstr "Belichtungszeit" + +#: ../lib/meta.php:442 +msgid "Subject" +msgstr "Betreff" + +#: ../lib/meta.php:443 +msgid "Make" +msgstr "Hersteller" + +#: ../lib/meta.php:444 +msgid "Edit Status" +msgstr "Ändere Status" + +#: ../lib/meta.php:445 +msgid "Category" +msgstr "Kategorie" + +#: ../lib/meta.php:446 +msgid "Keywords" +msgstr "Schlüsselwörter" + +#: ../lib/meta.php:447 +msgid "Date Created" +msgstr "erstellt (Datum)" + +#: ../lib/meta.php:448 +msgid "Time Created" +msgstr "erstellt (Zeit)" + +#: ../lib/meta.php:449 +msgid "Author Position" +msgstr "Autor Position" + +#: ../lib/meta.php:450 +msgid "City" +msgstr "Stadt" + +#: ../lib/meta.php:451 +msgid "Location" +msgstr "Ort" + +#: ../lib/meta.php:452 +msgid "Province/State" +msgstr "Staat / PLZ" + +#: ../lib/meta.php:453 +msgid "Country code" +msgstr "Landescode" + +#: ../lib/meta.php:454 +msgid "Country" +msgstr "Land" + +#: ../lib/meta.php:455 +msgid "Headline" +msgstr "Kopfzeile" + +#: ../lib/meta.php:457 +msgid "Source" +msgstr "Quelle" + +#: ../lib/meta.php:458 +msgid "Copyright Notice" +msgstr "Copyright Hinweise / Credits" + +#: ../lib/meta.php:459 +msgid "Contact" +msgstr "Kontakt" + +#: ../lib/meta.php:460 +msgid "Last modified" +msgstr "Zuletzt geändert" + +#: ../lib/meta.php:461 +msgid "Program tool" +msgstr "Programm" + +#: ../lib/meta.php:462 +msgid "Format" +msgstr "Format" + +#: ../lib/meta.php:463 +msgid "Image Width" +msgstr "Breite" + +#: ../lib/meta.php:464 +msgid "Image Height" +msgstr "Höhe" + +#: ../lib/meta.php:465 +msgid "Flash" +msgstr "Blitz" + +#: ../lib/multisite.php:23 +msgid "Sorry, you have used your space allocation. Please delete some files to upload more files." +msgstr "Schade, Dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder." + +#: ../lib/ngg-db.php:331 +#: ../lib/ngg-db.php:332 +msgid "Album overview" +msgstr "Album Übersicht" + +#: ../lib/shortcodes.php:311 +msgid "[Pictures not found]" +msgstr "[Bilder nicht gefunden]" + +#: ../lib/tags.php:35 +msgid "No new tag specified!" +msgstr "Kein neues Stichwort definiert!" + +#: ../lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "Kein neues Stichwort definiert!" + +#: ../lib/tags.php:86 +msgid "No tag renamed." +msgstr "Kein Stichwort umbenannt." + +#: ../lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "Es wurden die Stichwörter «%1$s» bis «%2$s» umbenannt" + +#: ../lib/tags.php:95 +msgid "No valid new tag." +msgstr "Kein gültiges Stichwort" + +#: ../lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "Keine Objekte (Seite/Beitrag) enthält das ausgewählte Stichwort" + +#: ../lib/tags.php:141 +msgid "No tag merged." +msgstr "Keine Stichwörter zusammengeführt." + +#: ../lib/tags.php:143 +#, php-format +msgid "Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "Stichwörter «%1$s» bis «%2$s» zusammengeführt. %3$s Objekte geändert." + +#: ../lib/tags.php:146 +msgid "Error. No enough tags for rename. Too for merge. Choose !" +msgstr "Fehler. Es wurden nicht genug Stichwörter ausgewählt." + +#: ../lib/tags.php:163 +msgid "No tag specified!" +msgstr "Kein Stichwort angegeben" + +#: ../lib/tags.php:186 +msgid "No tag deleted." +msgstr "Kein Stichwort gelöscht" + +#: ../lib/tags.php:188 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "%1s Stichwörter gelöscht" + +#: ../lib/tags.php:202 +msgid "No new slug(s) specified!" +msgstr "Keine neuen Stichwörter ausgewählt" + +#: ../lib/tags.php:214 +msgid "Tags number and slugs number isn't the same!" +msgstr "Stichwort und Schlagwort ist nicht das Gleiche!" + +#: ../lib/tags.php:241 +msgid "No slug edited." +msgstr "Kein Stichwort geändert" + +#: ../lib/tags.php:243 +#, php-format +msgid "%s slug(s) edited." +msgstr "%s Stichwörter geändert" + +#: ../lib/xmlrpc.php:66 +#, php-format +msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s" +msgstr "XML-RPC Service ist ausgeschaltet. Der Administrator kann es hier %s einschalten" + +#: ../lib/xmlrpc.php:73 +msgid "Bad login/pass combination." +msgstr "Username/Password falsch" + +#: ../lib/xmlrpc.php:129 +msgid "You are not allowed to upload files to this site." +msgstr "Du hast keine Berechtigung, Bilder hochzuladen" + +#: ../lib/xmlrpc.php:135 +#: ../lib/xmlrpc.php:680 +msgid "Could not find gallery " +msgstr "Konnte Galerie nicht finden" + +#: ../lib/xmlrpc.php:140 +#: ../lib/xmlrpc.php:685 +msgid "You are not allowed to upload files to this gallery." +msgstr "Du hast keine Berechtigung, Bilder in diese Galerie zuladen" + +#: ../lib/xmlrpc.php:152 +msgid "This is no valid image file." +msgstr "Das ist keine zulässige Bilddatei!" + +#: ../lib/xmlrpc.php:164 +msgid "Could not find image id " +msgstr "Konnte die Bild-ID nicht finden" + +#: ../lib/xmlrpc.php:171 +#, php-format +msgid "Failed to delete image %1$s " +msgstr "Konnte das Bild %1$s nicht löschen" + +#: ../lib/xmlrpc.php:180 +#, php-format +msgid "Could not write file %1$s (%2$s)" +msgstr "Konnte die Datei %1$s (%2$s) nicht schreiben " + +#: ../lib/xmlrpc.php:247 +#: ../lib/xmlrpc.php:299 +msgid "Invalid image ID" +msgstr "Keine gültige Bilder ID" + +#: ../lib/xmlrpc.php:250 +#: ../lib/xmlrpc.php:302 +msgid "Sorry, you must be able to edit this image" +msgstr "Sorry, Du hast nicht das Recht, dieses Bild zu bearbeiten" + +#: ../lib/xmlrpc.php:308 +msgid "Sorry, could not update the image" +msgstr "Konnte das Bild nicht aktualisieren" + +#: ../lib/xmlrpc.php:344 +#: ../lib/xmlrpc.php:576 +#: ../lib/xmlrpc.php:642 +msgid "Sorry, you must be able to manage galleries" +msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten" + +#: ../lib/xmlrpc.php:350 +msgid "Sorry, could not create the gallery" +msgstr "Konnte die Galerie nicht anlegen" + +#: ../lib/xmlrpc.php:393 +#: ../lib/xmlrpc.php:573 +msgid "Invalid gallery ID" +msgstr "Keine gültige Galerie ID" + +#: ../lib/xmlrpc.php:396 +msgid "Sorry, you must be able to manage this gallery" +msgstr "Sorry, Du hast nicht das Recht, diese Galerie zu bearbeiten" + +#: ../lib/xmlrpc.php:402 +msgid "Sorry, could not update the gallery" +msgstr "Konnte die Galerie nicht aktualisieren" + +#: ../lib/xmlrpc.php:442 +#: ../lib/xmlrpc.php:494 +#: ../lib/xmlrpc.php:536 +#: ../lib/xmlrpc.php:609 +msgid "Sorry, you must be able to manage albums" +msgstr "Sorry, Du hast nicht das Recht, dieses Album zu bearbeiten" + +#: ../lib/xmlrpc.php:448 +msgid "Sorry, could not create the album" +msgstr "Konnte das Album nicht anlegen" + +#: ../lib/xmlrpc.php:491 +#: ../lib/xmlrpc.php:533 +msgid "Invalid album ID" +msgstr "Ungültige Album ID" + +#: ../lib/xmlrpc.php:500 +msgid "Sorry, could not update the album" +msgstr "Konnte das Album nicht aktualisieren" + +#: ../view/album-compact.php:32 +#: ../view/album-extend.php:30 +msgid "Photos" +msgstr "Fotos" + +#: ../view/gallery-caption.php:32 +#: ../view/gallery.php:32 +#: ../widgets/media-rss-widget.php:122 +msgid "[View with PicLens]" +msgstr "[Mit PicLens anzeigen]" + +#: ../view/imagebrowser-caption.php:26 +#: ../view/imagebrowser-exif.php:30 +#: ../view/imagebrowser.php:26 +msgid "Back" +msgstr "Zurueck" + +#: ../view/imagebrowser-caption.php:29 +#: ../view/imagebrowser-exif.php:33 +#: ../view/imagebrowser.php:29 +msgid "Next" +msgstr "Vor" + +#: ../view/imagebrowser-caption.php:31 +#: ../view/imagebrowser-exif.php:35 +#: ../view/imagebrowser.php:31 +msgid "of" +msgstr "von" + +#: ../view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "Metadaten" + +#: ../view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "Kameratyp" + +#: ../view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "Brennweite" + +#: ../widgets/media-rss-widget.php:19 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "Hiermit können NextGEN-Bilder als Media RSS eingebunden werden" + +#: ../widgets/media-rss-widget.php:20 +msgid "NextGEN Media RSS" +msgstr "NextGEN Media RSS" + +#: ../widgets/media-rss-widget.php:68 +msgid "Media RSS" +msgstr "Media RSS" + +#: ../widgets/media-rss-widget.php:69 +msgid "Link to the main image feed" +msgstr "Link zum Bilder-Feed" + +#: ../widgets/media-rss-widget.php:79 +#: ../widgets/widgets.php:201 +msgid "Title :" +msgstr "Titel :" + +#: ../widgets/media-rss-widget.php:87 +msgid "Show Media RSS icon" +msgstr "Zeige Media RSS Icon" + +#: ../widgets/media-rss-widget.php:93 +msgid "Show the Media RSS link" +msgstr "Zeige den globalen Media RSS Link" + +#: ../widgets/media-rss-widget.php:98 +msgid "Text for Media RSS link:" +msgstr "Text für den globalen Media RSS Link:" + +#: ../widgets/media-rss-widget.php:104 +msgid "Tooltip text for Media RSS link:" +msgstr "Tooltipp-Text für den globalen Media RSS Link." + +#: ../widgets/widgets.php:22 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "Binde eine NextGEN-Gallery-Slideshow ein" + +#: ../widgets/widgets.php:23 +msgid "NextGEN Slideshow" +msgstr "NextGEN-Diashow" + +#: ../widgets/widgets.php:64 +msgid "<a href=\"http://www.macromedia.com/go/getflashplayer\">Get the Flash Player</a> to see the slideshow." +msgstr "<a href=\"http://www.macromedia.com/go/getflashplayer\">Lade Dir den Flash Player</a>, um die Diashow zu sehen." + +#: ../widgets/widgets.php:121 +msgid "Title:" +msgstr "Titel:" + +#: ../widgets/widgets.php:123 +msgid "Select Gallery:" +msgstr "Wähle Galerie" + +#: ../widgets/widgets.php:125 +msgid "All images" +msgstr "Alle Bilder" + +#: ../widgets/widgets.php:137 +msgid "Height:" +msgstr "Höhe:" + +#: ../widgets/widgets.php:138 +msgid "Width:" +msgstr "Breite:" + +#: ../widgets/widgets.php:160 +msgid "Add recent or random images from the galleries" +msgstr "Füge die neusten Bilder oder Zufallsbilder aus NextGEN-Gallery ein" + +#: ../widgets/widgets.php:161 +msgid "NextGEN Widget" +msgstr "NextGEN-Widget" + +#: ../widgets/widgets.php:207 +msgid "Show :" +msgstr "Zeige als :" + +#: ../widgets/widgets.php:213 +msgid "Original images" +msgstr "Original Bilder" + +#: ../widgets/widgets.php:222 +msgid "recent added " +msgstr "zuletzt hinzugefügt" + +#: ../widgets/widgets.php:228 +msgid "Enable IE8 Web Slices" +msgstr "IE8 Web Slices aktivieren" + +#: ../widgets/widgets.php:233 +msgid "Width x Height :" +msgstr "Breite x Höhe :" + +#: ../widgets/widgets.php:239 +msgid "Select :" +msgstr "Wähle :" + +#: ../widgets/widgets.php:241 +msgid "All galleries" +msgstr "Alle Galerien" + +#: ../widgets/widgets.php:242 +msgid "Only which are not listed" +msgstr "Nur ungelistete" + +#: ../widgets/widgets.php:243 +msgid "Only which are listed" +msgstr "Nur gelistete" + +#: ../widgets/widgets.php:249 +msgid "Gallery ID :" +msgstr "Galerie-ID :" + +#: ../widgets/widgets.php:251 +msgid "Gallery IDs, separated by commas." +msgstr "Galerie-IDs, mit Kommas getrennt" + +#: ../xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "Keine Galerie wurde derzeit erstellt." + +#: ../xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "Die Galerie ID=%s existiert nicht." + +#: ../xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "Es wurde kein Album als Parameter übergeben" + +#: ../xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "Album-ID %s existiert nicht" + +#: ../xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "Ungültiger Media-RSS-Befehl" + +#~ msgid "Cache single pictures" +#~ msgstr "Nutze Cache für Einzelbilder" + +#~ msgid "Creates a file for each singlepic settings. Reduce the CPU load" +#~ msgstr "" +#~ "Erstellt ein Cache-Bild für jedes Einzelbild (singlepic). Reduziert die " +#~ "CPU Belastung." + +#~ msgid "Currently not used, prepare database for upcoming version" +#~ msgstr "Derzeit nicht genutzt, Vorbereitung für kommende Versionen" + +#~ msgid "Send a gift to show your appreciation." +#~ msgstr "Schau doch einfach auf meinen Wunschzettel." + +#~ msgid "«" +#~ msgstr "«" + +#~ msgid "»" +#~ msgstr "»" + +#~ msgid "Displaying %s–%s of %s" +#~ msgstr "Zeige %s–%s von %s" + +#~ msgid "Delete album ?" +#~ msgstr "Album löschen ?" + +#~ msgid "A new version of NextGEN Gallery is available !" +#~ msgstr "Eine neue Version von NextGEN Gallery ist jetzt verfügbar" + +#~ msgid "Download here" +#~ msgstr "Hier downloaden" + +#~ msgid "already exists" +#~ msgstr "gibt es bereits" + +#~ msgid "Gallery Overview" +#~ msgstr "Galerie Übersicht" + +#~ msgid "Quantity" +#~ msgstr "Anzahl" + +#~ msgid "Action" +#~ msgstr "Aktion" + +#~ msgid "Delete this gallery ?" +#~ msgstr "Diese Galerie löschen ?" + +#~ msgid "General WordPress MU Settings" +#~ msgstr "WordPress-MU-Einstellungen" + +#~ msgid "No album" +#~ msgstr "Kein Album" + +#~ msgid "for the Fugue Iconset" +#~ msgstr "für das Fugue-Iconset" + +#~ msgid "Gallery Administrator" +#~ msgstr "Galerie-Administrator" + +#~ msgid "Gallery Editor" +#~ msgstr "Galerie-Mitarbeiter" + +#~ msgid "You currently have %s rights." +#~ msgstr "Du hast derzeit %s Rechte." + +#~ msgid "Upload Space Remaining:" +#~ msgstr "Verbleibender Speicher:" + +#~ msgid "View all images tagged with %s" +#~ msgstr "Zeige alle Bilder, die mit dem Stichwort %s markiert sind" + +#~ msgid "Upgrade sucessful" +#~ msgstr "Aktualisierung erfolgreich" + +#~ msgid "" +#~ "<strong>Would you like to help to translate this plugin ?</strong> <a " +#~ "target=\"_blank\" href=\"%s\">Download</a> the current pot file and read " +#~ "<a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-" +#~ "plugins/\">here</a> how you can translate the plugin." +#~ msgstr "" +#~ "<strong>Would you like to help to translate this plugin ?</strong> <a " +#~ "target=\"_blank\" href=\"%s\">Download</a> the current pot file and read " +#~ "<a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-" +#~ "plugins/\">here</a> how you can translate the plugin." + +#~ msgid "" +#~ "<strong>Translation by : </strong><a target=\"_blank\" href=\"\">N/A</a>" +#~ msgstr "" +#~ "<strong>Übersetzt von : </strong><a target=\"_blank\" href=\"\">Alex " +#~ "Rabe</a>" + +#~ msgid "Setup Gallery" +#~ msgstr "Galerie Setup" + +#~ msgid "Setup" +#~ msgstr "Setup" + +#~ msgid "PHP Output Buffer Size" +#~ msgstr "PHP Output Buffer Größe" + +#~ msgid "for PclZip , a PHP library that manage ZIP archives" +#~ msgstr "für PclZip, eine ZIP PHP Library" + +#~ msgid "Crop square thumbnail from image" +#~ msgstr "Mittige Thumbnails aus Bildern ausschneiden" + +#~ msgid "Create square thumbnails, use only the width setting :" +#~ msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :" + +#, fuzzy +#~ msgid "Search Media" +#~ msgstr "Suche nach Stichwörter" + +#~ msgid "Select Gallery" +#~ msgstr "Wähle Galerie" + +#~ msgid "Album Page ID" +#~ msgstr "Album Seiten ID (Page ID)" + +#~ msgid "Import a folder with all images." +#~ msgstr "Importiere ein Verzeichnis mit Bildern." + +#~ msgid "Show tags" +#~ msgstr "Zeige Tags" + +#~ msgid "Hide tags" +#~ msgstr "Verstecke Tags" + +#~ msgid "Delete this file ?" +#~ msgstr "Diese Datei löschen ?" + +#~ msgid "" +#~ "You are about to copy or move %s images \n" +#~ " \n" +#~ " 'Cancel' to stop, 'OK' to proceed." +#~ msgstr "" +#~ "Willst du wirklich %s Bild(er) verschieben \n" +#~ " \n" +#~ " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen." + +#~ msgid "Show thumbnails " +#~ msgstr "Thumbnails zeigen" + +#~ msgid "Add Gallery" +#~ msgstr "Bilder/Galerie hinzufügen" + +#~ msgid "Manage galleries" +#~ msgstr "Galerie verwalten" + +#~ msgid "" +#~ "There are totally %1$s pictures in %2$s galleries, which are spread " +#~ "across %3$s albums." +#~ msgstr "" +#~ "Es gibt insgesamt %1$s Bilder in %2$s Galerien - verteilt in %3$s Alben." + +#~ msgid "GD support" +#~ msgstr "GD Unterstützung" + +#~ msgid "ImageMagick" +#~ msgstr "ImageMagick" + +#~ msgid "Add Metadata :" +#~ msgstr "Metadaten hinzufügen :" + +#~ msgid "Import EXIF, IPTC or XMP data (if available)" +#~ msgstr "EXIF, IPTC oder XMP Daten importieren (wenn verfügbar)" + +#~ msgid "New Version available" +#~ msgstr "Neue Version verfügbar !!" + +#~ msgid "" +#~ "The server reports that a new NextGEN Gallery Version is now available. " +#~ "Please visit the plugin homepage for more information." +#~ msgstr "" +#~ "Der Server benachrichtigt Dich über eine neu verfügbare Version der " +#~ "NextGEN Galerie. Bitte besuche die Plugin Homepage um weitere " +#~ "Informationen zu erhalten." + +#~ msgid "Resample Mode" +#~ msgstr "Resample Modus" + +#~ msgid "Value between 1-5 (higher value, more CPU load)" +#~ msgstr "Wähle zwischen 1-5 (je höhere desto länger braucht der Server)" + +#~ msgid "NextGEN Gallery %d" +#~ msgstr "NextGEN Gallery %d" + +#~ msgid "How many NextGEN Gallery widgets would you like?" +#~ msgstr "Wie viele NextGEN Gallery Widgets möchtest du haben ?" + +#~ msgid "Save" +#~ msgstr "Speichern" + +#~ msgid "for Simple:Press Forum, it saved me a lot of time" +#~ msgstr "für das Simple:Press Forum, welches mir viel Zeit sparte" + +#~ msgid "Sorry, NextGEN Gallery works only under WordPress 2.5 or higher" +#~ msgstr "" +#~ "Tut mir leid aber NextGEN Gallery arbeitet nur ab WordPress 2.5 und " +#~ "aufwärts" + +#~ msgid "Watch gallery" +#~ msgstr "Galerie ansehen" + +#~ msgid "from" +#~ msgstr "von" + +#~ msgid " : Image resized..." +#~ msgstr " : Bild angepasst..." + +#~ msgid "Some pictures are not writeable :" +#~ msgstr "Einige Bilder sind schreibgeschützt :" + +#~ msgid " : Watermark created..." +#~ msgstr " : Wasserzeichen gesetzt..." + +#~ msgid " : Thumbnail created..." +#~ msgstr ": Thumbnail erstellt..." + +#~ msgid "Follow thumbnails could not created." +#~ msgstr "Folgende Thumbnails konnten nicht erstellt werden :" + +#~ msgid "Some thumbnails are not writeable :" +#~ msgstr "Einige Thumbnails sind schreibgeschützt :" + +#~ msgid "Watermark successfully added" +#~ msgstr "Wasserzeichen erfolgreich erstellt" + +#~ msgid "Images successfully resized" +#~ msgstr "Bilder erfolgreich verkleinert" + +#~ msgid " (require WordPress 2.3 or higher)" +#~ msgstr " (benötigt WordPress 2.3 oder höher)" + +#~ msgid "Show thumbnail description" +#~ msgstr "Zeige Bildbeschreibung" + +#~ msgid "Description text" +#~ msgstr "Beschreibung" + +#~ msgid "Import a folder with images. Please note :" +#~ msgstr "Importiere ein Verzeichnis mit Bildern. Bitte beachte:" + +#~ msgid "For safe-mode = ON you need to add the subfolder thumbs manually" +#~ msgstr "" +#~ "Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das " +#~ "Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) " +#~ "anlegen" + +#~ msgid "The Zip-file is too large. Exceed Memory limit !" +#~ msgstr "Das Zip-File ist zu groß. Speicherlimit überschritten !" + +#~ msgid "Summary" +#~ msgstr "Zusammenfassung" + +#~ msgid "Welcome" +#~ msgstr "Willkommen" + +#~ msgid "" +#~ "Welcome to NextGEN Gallery. Here you can control your images, galleries " +#~ "and albums. You currently have %s rights." +#~ msgstr "" +#~ "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und " +#~ "Alben verwalten. Du hast im Moment %s Rechte." + +#~ msgid "Add a new gallery or import pictures" +#~ msgstr "Neue Galerie erstellen oder Bilder importieren" + +#~ msgid "Manage galleries and images" +#~ msgstr "Verwalte Galerien und Bilder" + +#~ msgid "URL" +#~ msgstr "URL" + +#~ msgid "Delete File" +#~ msgstr "Datei löschen" + +#~ msgid "Delete image ?" +#~ msgstr "Bilder löschen ?" + +#~ msgid "Browse your files" +#~ msgstr "Durchsuche deine Dateien" + +#~ msgid "Direct link to file" +#~ msgstr "Link zur Datei" + +#~ msgid "Show:" +#~ msgstr "Zeige als:" + +#~ msgid "Link to:" +#~ msgstr "Link zu:" + +#~ msgid "Send to editor »" +#~ msgstr "Zum Editor schicken »" + +#~ msgid "" +#~ "Are you sure you want to delete the file '%s'?\n" +#~ "Click ok to delete or cancel to go back." +#~ msgstr "Bist du sicher das Du diese Datei '%s' löschen willst ?" + +#~ msgid "Alt/Titel text" +#~ msgstr "Alt / Titel Text" diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery.pot b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery.pot new file mode 100644 index 000000000..590320276 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lang/nggallery.pot @@ -0,0 +1,3640 @@ +msgid "" +msgstr "" +"Project-Id-Version: NextGEN Gallery\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-10-23 18:02+0100\n" +"PO-Revision-Date: 2011-10-23 18:03+0100\n" +"Last-Translator: Alex Rabe\n" +"Language-Team: Alex Rabe\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _n:1,2;__;_e;esc_attr_e;esc_html_e\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Country: GERMANY\n" +"X-Poedit-SourceCharset: utf-8\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: ..\n" + +#: ../nggallery.php:100 +msgid "<strong>Translation by : </strong><a target=\"_blank\" href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\">See here</a>" +msgstr "" + +#: ../nggallery.php:101 +msgid "<strong>This translation is not yet updated for Version 1.9.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href=\"http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/\">here</a> how you can translate the plugin." +msgstr "" + +#: ../nggallery.php:205 +msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher" +msgstr "" + +#: ../nggallery.php:225 +msgid "Please update the database of NextGEN Gallery." +msgstr "" + +#: ../nggallery.php:225 +msgid "Click here to proceed." +msgstr "" + +#: ../nggallery.php:248 +msgid "Picture tag" +msgstr "" + +#: ../nggallery.php:249 +msgid "Picture tag: %2$l." +msgstr "" + +#: ../nggallery.php:250 +msgid "Separate picture tags with commas." +msgstr "" + +#: ../nggallery.php:357 +#: ../admin/admin.php:256 +msgid "L O A D I N G" +msgstr "" + +#: ../nggallery.php:358 +#: ../admin/admin.php:257 +msgid "Click to Close" +msgstr "" + +#: ../nggallery.php:379 +msgid "loading" +msgstr "" + +#: ../nggallery.php:517 +#: ../nggfunctions.php:941 +#: ../admin/admin.php:37 +#: ../admin/admin.php:79 +msgid "Overview" +msgstr "" + +#: ../nggallery.php:518 +msgid "Get help" +msgstr "" + +#: ../nggallery.php:519 +msgid "Contribute" +msgstr "" + +#: ../nggallery.php:520 +msgid "Donate" +msgstr "" + +#: ../nggfunctions.php:42 +msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed." +msgstr "" + +#: ../nggfunctions.php:164 +#: ../nggfunctions.php:642 +msgid "[Gallery not found]" +msgstr "" + +#: ../nggfunctions.php:450 +msgid "[Album not found]" +msgstr "" + +#: ../nggfunctions.php:771 +msgid "[SinglePic not found]" +msgstr "" + +#: ../nggfunctions.php:906 +msgid "Related images for" +msgstr "" + +#: ../admin/about.php:10 +msgid "Copyright notes / Credits" +msgstr "" + +#: ../admin/about.php:13 +msgid "NextGEN DEV Team" +msgstr "" + +#: ../admin/about.php:15 +msgid "This plugin is primarily developed, maintained, supported, documented by" +msgstr "" + +#: ../admin/about.php:15 +msgid "There are many other folks who have made contributions to this project :" +msgstr "" + +#: ../admin/about.php:20 +msgid "Contributors / Tribute to" +msgstr "" + +#: ../admin/about.php:22 +msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together." +msgstr "" + +#: ../admin/about.php:23 +msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)" +msgstr "" + +#: ../admin/about.php:25 +msgid "for their great documented code" +msgstr "" + +#: ../admin/about.php:26 +msgid "for jQuery, which is the best Web2.0 framework" +msgstr "" + +#: ../admin/about.php:27 +msgid "for the fantastic PHP Thumbnail Class" +msgstr "" + +#: ../admin/about.php:28 +msgid "for a lot of very useful plugins and ideas" +msgstr "" + +#: ../admin/about.php:29 +msgid "for Shutter Reloaded, a real lightweight image effect" +msgstr "" + +#: ../admin/about.php:30 +msgid "for the best Media Flash Scripts on earth" +msgstr "" + +#: ../admin/about.php:31 +msgid "for the Gallery Icon" +msgstr "" + +#: ../admin/about.php:32 +msgid "for the Watermark plugin" +msgstr "" + +#: ../admin/about.php:34 +msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail." +msgstr "" + +#: ../admin/about.php:38 +msgid "How to support ?" +msgstr "" + +#: ../admin/about.php:40 +msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory." +msgstr "" + +#: ../admin/about.php:42 +msgid "Send us bugfixes / code changes" +msgstr "" + +#: ../admin/about.php:42 +msgid "The most motivated support for this plugin are your ideas and brain work" +msgstr "" + +#: ../admin/about.php:43 +msgid "Translate the plugin" +msgstr "" + +#: ../admin/about.php:43 +msgid "To help people to work with this plugin, I would like to have it in all available languages" +msgstr "" + +#: ../admin/about.php:44 +msgid "Donate the work via paypal" +msgstr "" + +#: ../admin/about.php:57 +msgid "No doubt a very useful and easy motivation :-)" +msgstr "" + +#: ../admin/about.php:59 +msgid "Place a link to the plugin in your blog/webpage" +msgstr "" + +#: ../admin/about.php:59 +msgid "Yes, share and trackback is also a good support for this work " +msgstr "" + +#: ../admin/about.php:64 +msgid "Thanks!" +msgstr "" + +#: ../admin/about.php:66 +msgid "We would like to thank this people which support us in the work :" +msgstr "" + +#: ../admin/about.php:166 +msgid "and all donators..." +msgstr "" + +#: ../admin/addgallery.php:46 +#: ../admin/addgallery.php:57 +#: ../admin/addgallery.php:69 +#: ../admin/addgallery.php:80 +#: ../admin/album.php:96 +#: ../admin/album.php:124 +#: ../admin/album.php:142 +#: ../admin/edit-thumbnail.php:19 +#: ../admin/edit-thumbnail.php:22 +#: ../admin/manage.php:186 +msgid "Cheatin’ uh?" +msgstr "" + +#: ../admin/addgallery.php:62 +msgid "Upload failed!" +msgstr "" + +#: ../admin/addgallery.php:85 +#: ../admin/addgallery.php:93 +msgid "Upload failed! " +msgstr "" + +#: ../admin/addgallery.php:90 +#: ../admin/functions.php:943 +#: ../admin/functions.php:1043 +msgid "No gallery selected !" +msgstr "" + +#: ../admin/addgallery.php:180 +#: ../admin/addgallery.php:263 +msgid "Image Files" +msgstr "" + +#: ../admin/addgallery.php:195 +#: ../admin/addgallery.php:284 +#: ../admin/addgallery.php:312 +msgid "remove" +msgstr "" + +#: ../admin/addgallery.php:196 +#: ../admin/addgallery.php:285 +#: ../admin/addgallery.php:466 +msgid "Browse..." +msgstr "" + +#: ../admin/addgallery.php:197 +#: ../admin/addgallery.php:235 +#: ../admin/addgallery.php:286 +#: ../admin/addgallery.php:298 +#: ../admin/addgallery.php:537 +msgid "Upload images" +msgstr "" + +#: ../admin/addgallery.php:376 +#: ../admin/addgallery.php:484 +msgid "Upload Images" +msgstr "" + +#: ../admin/addgallery.php:379 +#: ../admin/addgallery.php:396 +#: ../admin/manage-galleries.php:119 +#: ../admin/manage-galleries.php:156 +msgid "Add new gallery" +msgstr "" + +#: ../admin/addgallery.php:382 +#: ../admin/addgallery.php:418 +msgid "Upload a Zip-File" +msgstr "" + +#: ../admin/addgallery.php:385 +#: ../admin/addgallery.php:460 +msgid "Import image folder" +msgstr "" + +#: ../admin/addgallery.php:401 +#: ../admin/manage-galleries.php:279 +msgid "New Gallery" +msgstr "" + +#: ../admin/addgallery.php:404 +#: ../admin/manage-galleries.php:281 +msgid "Create a new , empty gallery below the folder" +msgstr "" + +#: ../admin/addgallery.php:406 +#: ../admin/manage-galleries.php:283 +msgid "Allowed characters for file and folder names are" +msgstr "" + +#: ../admin/addgallery.php:410 +msgid "Add gallery" +msgstr "" + +#: ../admin/addgallery.php:423 +msgid "Select Zip-File" +msgstr "" + +#: ../admin/addgallery.php:425 +msgid "Upload a zip file with images" +msgstr "" + +#: ../admin/addgallery.php:429 +msgid "or enter a Zip-File URL" +msgstr "" + +#: ../admin/addgallery.php:431 +msgid "Import a zip file with images from a url" +msgstr "" + +#: ../admin/addgallery.php:435 +#: ../admin/addgallery.php:512 +msgid "in to" +msgstr "" + +#: ../admin/addgallery.php:437 +msgid "a new gallery" +msgstr "" + +#: ../admin/addgallery.php:448 +msgid "Note : The upload limit on your server is " +msgstr "" + +#: ../admin/addgallery.php:452 +msgid "Start upload" +msgstr "" + +#: ../admin/addgallery.php:465 +msgid "Import from Server path:" +msgstr "" + +#: ../admin/addgallery.php:468 +msgid "Note : Change the default path in the gallery settings" +msgstr "" + +#: ../admin/addgallery.php:470 +msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually" +msgstr "" + +#: ../admin/addgallery.php:473 +msgid "Import folder" +msgstr "" + +#: ../admin/addgallery.php:490 +msgid "Upload image" +msgstr "" + +#: ../admin/addgallery.php:495 +msgid "Choose files to upload" +msgstr "" + +#: ../admin/addgallery.php:496 +msgid "Select Files" +msgstr "" + +#: ../admin/addgallery.php:498 +msgid "Or you can drop the files into this window." +msgstr "" + +#: ../admin/addgallery.php:501 +#, php-format +msgid "Scale images to max width %1$dpx or max height %2$dpx" +msgstr "" + +#: ../admin/addgallery.php:514 +msgid "Choose gallery" +msgstr "" + +#: ../admin/addgallery.php:533 +msgid "The batch upload requires Adobe Flash 10, disable it if you have problems" +msgstr "" + +#: ../admin/addgallery.php:533 +msgid "Disable flash upload" +msgstr "" + +#: ../admin/addgallery.php:535 +msgid "Upload multiple files at once by ctrl/shift-selecting in dialog" +msgstr "" + +#: ../admin/addgallery.php:535 +msgid "Enable flash based upload" +msgstr "" + +#: ../admin/admin.php:36 +#: ../admin/admin.php:59 +#: ../admin/admin.php:78 +#: ../admin/admin.php:352 +#: ../admin/admin.php:444 +#: ../admin/functions.php:178 +#: ../admin/manage-galleries.php:127 +#: ../admin/manage-galleries.php:407 +#: ../admin/manage-images.php:239 +msgid "Gallery" +msgid_plural "Galleries" +msgstr[0] "" +msgstr[1] "" + +#: ../admin/admin.php:38 +#: ../admin/admin.php:81 +msgid "Add Gallery / Images" +msgstr "" + +#: ../admin/admin.php:39 +#: ../admin/admin.php:83 +msgid "Manage Gallery" +msgstr "" + +#: ../admin/admin.php:40 +#: ../admin/admin.php:85 +msgid "Album" +msgid_plural "Albums" +msgstr[0] "" +msgstr[1] "" + +#: ../admin/admin.php:41 +#: ../admin/admin.php:87 +msgid "Tags" +msgstr "" + +#: ../admin/admin.php:42 +#: ../admin/admin.php:89 +msgid "Options" +msgstr "" + +#: ../admin/admin.php:44 +#: ../admin/admin.php:91 +msgid "Style" +msgstr "" + +#: ../admin/admin.php:46 +msgid "Roles" +msgstr "" + +#: ../admin/admin.php:47 +msgid "About this Gallery" +msgstr "" + +#: ../admin/admin.php:47 +#: ../admin/admin.php:92 +msgid "About" +msgstr "" + +#: ../admin/admin.php:50 +#: ../admin/admin.php:61 +msgid "Reset / Uninstall" +msgstr "" + +#: ../admin/admin.php:60 +msgid "Network settings" +msgstr "" + +#: ../admin/admin.php:131 +#, php-format +msgid "Thanks for using this plugin, I hope you are satisfied ! If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ." +msgstr "" + +#: ../admin/admin.php:134 +msgid "OK, hide this message now !" +msgstr "" + +#: ../admin/admin.php:213 +msgid "You do not have the correct permission" +msgstr "" + +#: ../admin/admin.php:214 +msgid "Unexpected Error" +msgstr "" + +#: ../admin/admin.php:215 +msgid "A failure occurred" +msgstr "" + +#: ../admin/admin.php:219 +msgid "You have attempted to queue too many files." +msgstr "" + +#: ../admin/admin.php:220 +msgid "This file exceeds the maximum upload size for this site." +msgstr "" + +#: ../admin/admin.php:221 +msgid "This file is empty. Please try another." +msgstr "" + +#: ../admin/admin.php:222 +msgid "This file type is not allowed. Please try another." +msgstr "" + +#: ../admin/admin.php:223 +msgid "This file is not an image. Please try another." +msgstr "" + +#: ../admin/admin.php:224 +msgid "Memory exceeded. Please try another smaller file." +msgstr "" + +#: ../admin/admin.php:225 +msgid "This is larger than the maximum size. Please try another." +msgstr "" + +#: ../admin/admin.php:226 +msgid "An error occurred in the upload. Please try again later." +msgstr "" + +#: ../admin/admin.php:227 +msgid "There was a configuration error. Please contact the server administrator." +msgstr "" + +#: ../admin/admin.php:228 +msgid "You may only upload 1 file." +msgstr "" + +#: ../admin/admin.php:229 +msgid "HTTP error." +msgstr "" + +#: ../admin/admin.php:230 +msgid "Upload failed." +msgstr "" + +#: ../admin/admin.php:231 +msgid "IO error." +msgstr "" + +#: ../admin/admin.php:232 +msgid "Security error." +msgstr "" + +#: ../admin/admin.php:233 +msgid "File canceled." +msgstr "" + +#: ../admin/admin.php:234 +msgid "Upload stopped." +msgstr "" + +#: ../admin/admin.php:235 +msgid "Dismiss" +msgstr "" + +#: ../admin/admin.php:236 +msgid "Crunching…" +msgstr "" + +#: ../admin/admin.php:237 +msgid "moved to the trash." +msgstr "" + +#: ../admin/admin.php:238 +#, php-format +msgid "“%s” has failed to upload due to an error" +msgstr "" + +#: ../admin/admin.php:356 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Introduction</a>" +msgstr "" + +#: ../admin/admin.php:359 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Setup</a>" +msgstr "" + +#: ../admin/admin.php:362 +msgid "<a href=\"http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/\" target=\"_blank\">Translation by alex rabe</a>" +msgstr "" + +#: ../admin/admin.php:365 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Roles / Capabilities</a>" +msgstr "" + +#: ../admin/admin.php:368 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Styles</a>" +msgstr "" + +#: ../admin/admin.php:369 +msgid "Templates" +msgstr "" + +#: ../admin/admin.php:372 +#: ../admin/admin.php:378 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>" +msgstr "" + +#: ../admin/admin.php:373 +msgid "Gallery example" +msgstr "" + +#: ../admin/admin.php:379 +#: ../admin/admin.php:389 +msgid "Gallery tags" +msgstr "" + +#: ../admin/admin.php:382 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>" +msgstr "" + +#: ../admin/admin.php:383 +msgid "Album example" +msgstr "" + +#: ../admin/admin.php:384 +#: ../admin/admin.php:390 +msgid "Album tags" +msgstr "" + +#: ../admin/admin.php:387 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>" +msgstr "" + +#: ../admin/admin.php:388 +msgid "Related images" +msgstr "" + +#: ../admin/admin.php:393 +msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>" +msgstr "" + +#: ../admin/admin.php:394 +msgid "Custom fields" +msgstr "" + +#: ../admin/admin.php:399 +msgid "Get help with NextGEN Gallery" +msgstr "" + +#: ../admin/admin.php:403 +msgid "More Help & Info" +msgstr "" + +#: ../admin/admin.php:405 +msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\" target=\"_blank\">Support Forums</a>" +msgstr "" + +#: ../admin/admin.php:406 +msgid "FAQ" +msgstr "" + +#: ../admin/admin.php:407 +msgid "Feature request" +msgstr "" + +#: ../admin/admin.php:408 +msgid "Get your language pack" +msgstr "" + +#: ../admin/admin.php:409 +msgid "Contribute development" +msgstr "" + +#: ../admin/admin.php:410 +msgid "Download latest version" +msgstr "" + +#: ../admin/ajax.php:312 +msgid "You are not allowed to be here" +msgstr "" + +#: ../admin/ajax.php:410 +#, php-format +msgid "Could create image with %s x %s pixel" +msgstr "" + +#: ../admin/album.php:102 +#: ../admin/album.php:117 +#: ../admin/album.php:158 +msgid "Update Successfully" +msgstr "" + +#: ../admin/album.php:131 +msgid "Album deleted" +msgstr "" + +#: ../admin/album.php:269 +msgid "Edit Album" +msgstr "" + +#: ../admin/album.php:278 +msgid "Manage Albums" +msgstr "" + +#: ../admin/album.php:284 +#: ../admin/album.php:333 +msgid "Select album" +msgstr "" + +#: ../admin/album.php:286 +msgid "No album selected" +msgstr "" + +#: ../admin/album.php:297 +#: ../admin/edit-thumbnail.php:155 +msgid "Update" +msgstr "" + +#: ../admin/album.php:299 +msgid "Edit album" +msgstr "" + +#: ../admin/album.php:302 +#: ../admin/manage-galleries.php:146 +#: ../admin/manage-images.php:448 +msgid "Delete" +msgstr "" + +#: ../admin/album.php:306 +msgid "Add new album" +msgstr "" + +#: ../admin/album.php:308 +msgid "Add" +msgstr "" + +#: ../admin/album.php:319 +msgid "Show / hide used galleries" +msgstr "" + +#: ../admin/album.php:319 +msgid "[Show all]" +msgstr "" + +#: ../admin/album.php:320 +msgid "Maximize the widget content" +msgstr "" + +#: ../admin/album.php:320 +msgid "[Maximize]" +msgstr "" + +#: ../admin/album.php:321 +msgid "Minimize the widget content" +msgstr "" + +#: ../admin/album.php:321 +msgid "[Minimize]" +msgstr "" + +#: ../admin/album.php:323 +msgid "After you create and select a album, you can drag and drop a gallery or another album into your new album below" +msgstr "" + +#: ../admin/album.php:349 +msgid "Select gallery" +msgstr "" + +#: ../admin/album.php:378 +msgid "Album ID" +msgstr "" + +#: ../admin/album.php:391 +msgid "No album selected!" +msgstr "" + +#: ../admin/album.php:411 +msgid "Album name:" +msgstr "" + +#: ../admin/album.php:417 +msgid "Album description:" +msgstr "" + +#: ../admin/album.php:423 +msgid "Select a preview image:" +msgstr "" + +#: ../admin/album.php:426 +#: ../admin/album.php:429 +msgid "No picture" +msgstr "" + +#: ../admin/album.php:440 +#: ../admin/manage-images.php:257 +msgid "Page Link to" +msgstr "" + +#: ../admin/album.php:442 +#: ../admin/manage-images.php:260 +msgid "Not linked" +msgstr "" + +#: ../admin/album.php:455 +#: ../admin/manage-galleries.php:288 +#: ../admin/manage-galleries.php:317 +#: ../admin/manage-galleries.php:347 +#: ../admin/manage-images.php:533 +#: ../admin/manage-images.php:569 +#: ../admin/manage-images.php:598 +#: ../admin/manage-images.php:628 +msgid "OK" +msgstr "" + +#: ../admin/album.php:457 +#: ../admin/manage-galleries.php:290 +#: ../admin/manage-galleries.php:319 +#: ../admin/manage-galleries.php:349 +#: ../admin/manage-images.php:535 +#: ../admin/manage-images.php:571 +#: ../admin/manage-images.php:600 +#: ../admin/manage-images.php:630 +msgid "Cancel" +msgstr "" + +#: ../admin/album.php:543 +msgid "Name" +msgstr "" + +#: ../admin/album.php:544 +#: ../admin/manage-images.php:255 +msgid "Title" +msgstr "" + +#: ../admin/album.php:545 +msgid "Page" +msgstr "" + +#: ../admin/edit-thumbnail.php:105 +msgid "Select with the mouse the area for the new thumbnail" +msgstr "" + +#: ../admin/edit-thumbnail.php:119 +msgid "Thumbnail updated" +msgstr "" + +#: ../admin/edit-thumbnail.php:124 +msgid "Error updating thumbnail" +msgstr "" + +#: ../admin/edit-thumbnail.php:140 +msgid "Select the area for the thumbnail from the picture on the left." +msgstr "" + +#: ../admin/functions.php:39 +msgid "No valid gallery name!" +msgstr "" + +#: ../admin/functions.php:46 +#: ../admin/functions.php:55 +#: ../admin/functions.php:80 +#: ../admin/functions.php:149 +#: ../admin/functions.php:157 +msgid "Directory" +msgstr "" + +#: ../admin/functions.php:46 +msgid "didn't exist. Please create first the main gallery folder " +msgstr "" + +#: ../admin/functions.php:47 +#: ../admin/functions.php:56 +msgid "Check this link, if you didn't know how to set the permission :" +msgstr "" + +#: ../admin/functions.php:55 +#: ../admin/functions.php:80 +msgid "is not writeable !" +msgstr "" + +#: ../admin/functions.php:76 +#: ../admin/functions.php:85 +#: ../admin/functions.php:902 +msgid "Unable to create directory " +msgstr "" + +#: ../admin/functions.php:89 +msgid "The server setting Safe-Mode is on !" +msgstr "" + +#: ../admin/functions.php:90 +msgid "If you have problems, please create directory" +msgstr "" + +#: ../admin/functions.php:91 +msgid "and the thumbnails directory" +msgstr "" + +#: ../admin/functions.php:91 +msgid "with permission 777 manually !" +msgstr "" + +#: ../admin/functions.php:116 +#, php-format +msgid "Gallery ID %1$s successfully created. You can show this gallery in your post or page with the shortcode %2$s.<br/>" +msgstr "" + +#: ../admin/functions.php:119 +#: ../admin/functions.php:217 +msgid "Edit gallery" +msgstr "" + +#: ../admin/functions.php:149 +msgid "doesn`t exist!" +msgstr "" + +#: ../admin/functions.php:157 +msgid "contains no pictures" +msgstr "" + +#: ../admin/functions.php:175 +msgid "Database error. Could not add gallery!" +msgstr "" + +#: ../admin/functions.php:178 +msgid "successfully created!" +msgstr "" + +#: ../admin/functions.php:212 +#: ../admin/functions.php:1019 +#: ../admin/manage-galleries.php:81 +#: ../admin/manage-galleries.php:148 +#: ../admin/manage-images.php:203 +#: ../admin/manage-images.php:342 +#: ../admin/manage.php:223 +#: ../admin/manage.php:299 +msgid "Create new thumbnails" +msgstr "" + +#: ../admin/functions.php:215 +msgid " picture(s) successfully added" +msgstr "" + +#: ../admin/functions.php:270 +#: ../admin/functions.php:350 +#: ../admin/functions.php:405 +#: ../admin/functions.php:502 +#: ../admin/functions.php:556 +msgid "Object didn't contain correct data" +msgstr "" + +#: ../admin/functions.php:278 +msgid " is not writeable " +msgstr "" + +#: ../admin/functions.php:360 +#: ../admin/functions.php:408 +#: ../admin/functions.php:508 +#: ../admin/functions.php:559 +msgid " is not writeable" +msgstr "" + +#: ../admin/functions.php:562 +msgid "File do not exists" +msgstr "" + +#: ../admin/functions.php:566 +msgid "Couldn't restore original image" +msgstr "" + +#: ../admin/functions.php:682 +msgid "(Error : Couldn't not update data base)" +msgstr "" + +#: ../admin/functions.php:689 +msgid "(Error : Couldn't not update meta data)" +msgstr "" + +#: ../admin/functions.php:698 +msgid "(Error : Couldn't not find image)" +msgstr "" + +#: ../admin/functions.php:836 +msgid "No valid URL path " +msgstr "" + +#: ../admin/functions.php:852 +msgid "Import via cURL failed." +msgstr "" + +#: ../admin/functions.php:869 +msgid "Uploaded file was no or a faulty zip file ! The server recognized : " +msgstr "" + +#: ../admin/functions.php:886 +msgid "Could not get a valid foldername" +msgstr "" + +#: ../admin/functions.php:897 +#, php-format +msgid "Unable to create directory %s. Is its parent directory writable by the server?" +msgstr "" + +#: ../admin/functions.php:912 +msgid "Zip-File successfully unpacked" +msgstr "" + +#: ../admin/functions.php:951 +#: ../admin/functions.php:1068 +msgid "Failure in database, no gallery path set !" +msgstr "" + +#: ../admin/functions.php:975 +#: ../admin/functions.php:1062 +msgid "is no valid image file!" +msgstr "" + +#: ../admin/functions.php:989 +#: ../admin/functions.php:1187 +#: ../admin/functions.php:1264 +#, php-format +msgid "Unable to write to directory %s. Is this directory writable by the server?" +msgstr "" + +#: ../admin/functions.php:996 +#: ../admin/functions.php:1085 +msgid "Error, the file could not be moved to : " +msgstr "" + +#: ../admin/functions.php:1001 +#: ../admin/functions.php:1089 +msgid "Error, the file permissions could not be set" +msgstr "" + +#: ../admin/functions.php:1024 +msgid " Image(s) successfully added" +msgstr "" + +#: ../admin/functions.php:1051 +msgid "Invalid upload. Error Code : " +msgstr "" + +#: ../admin/functions.php:1127 +#, php-format +msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually" +msgstr "" + +#: ../admin/functions.php:1128 +#, php-format +msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory" +msgstr "" + +#: ../admin/functions.php:1181 +#: ../admin/functions.php:1258 +msgid "The destination gallery does not exist" +msgstr "" + +#: ../admin/functions.php:1212 +#, php-format +msgid "Failed to move image %1$s to %2$s" +msgstr "" + +#: ../admin/functions.php:1232 +#, php-format +msgid "Moved %1$s picture(s) to gallery : %2$s ." +msgstr "" + +#: ../admin/functions.php:1291 +#, php-format +msgid "Failed to copy image %1$s to %2$s" +msgstr "" + +#: ../admin/functions.php:1305 +#, php-format +msgid "Failed to copy database row for picture %s" +msgstr "" + +#: ../admin/functions.php:1317 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) » The file already existed in the destination gallery." +msgstr "" + +#: ../admin/functions.php:1320 +#, php-format +msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)" +msgstr "" + +#: ../admin/functions.php:1329 +#, php-format +msgid "Copied %1$s picture(s) to gallery: %2$s ." +msgstr "" + +#: ../admin/functions.php:1437 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgstr "" + +#: ../admin/functions.php:1440 +msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" +msgstr "" + +#: ../admin/functions.php:1443 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ../admin/functions.php:1446 +msgid "No file was uploaded" +msgstr "" + +#: ../admin/functions.php:1449 +msgid "Missing a temporary folder" +msgstr "" + +#: ../admin/functions.php:1452 +msgid "Failed to write file to disk" +msgstr "" + +#: ../admin/functions.php:1455 +msgid "File upload stopped by extension" +msgstr "" + +#: ../admin/functions.php:1458 +msgid "Unknown upload error" +msgstr "" + +#: ../admin/install.php:23 +msgid "Sorry, NextGEN Gallery works only with a role called administrator" +msgstr "" + +#: ../admin/install.php:112 +msgid "NextGEN Gallery : Tables could not created, please check your database settings" +msgstr "" + +#: ../admin/install.php:170 +msgid "[Show slideshow]" +msgstr "" + +#: ../admin/install.php:171 +msgid "[Show thumbnails]" +msgstr "" + +#: ../admin/manage-galleries.php:69 +#: ../admin/manage-images.php:171 +msgid "No images selected" +msgstr "" + +#: ../admin/manage-galleries.php:77 +#: ../admin/manage-galleries.php:149 +#: ../admin/manage-images.php:199 +#: ../admin/manage-images.php:343 +#: ../admin/manage.php:207 +#: ../admin/manage.php:285 +msgid "Resize images" +msgstr "" + +#: ../admin/manage-galleries.php:86 +#, php-format +msgid "" +"You are about to start the bulk edit for %s galleries \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" + +#: ../admin/manage-galleries.php:130 +#: ../admin/manage-galleries.php:133 +#: ../admin/manage-images.php:225 +#: ../admin/manage-images.php:228 +msgid "Search Images" +msgstr "" + +#: ../admin/manage-galleries.php:145 +#: ../admin/manage-images.php:340 +msgid "Bulk actions" +msgstr "" + +#: ../admin/manage-galleries.php:147 +#: ../admin/manage-images.php:341 +#: ../admin/manage.php:140 +#: ../admin/manage.php:249 +msgid "Set watermark" +msgstr "" + +#: ../admin/manage-galleries.php:150 +#: ../admin/manage-images.php:346 +#: ../admin/manage.php:145 +#: ../admin/manage.php:269 +msgid "Import metadata" +msgstr "" + +#: ../admin/manage-galleries.php:151 +#: ../admin/manage-images.php:344 +#: ../admin/manage.php:135 +#: ../admin/manage.php:246 +msgid "Recover from backup" +msgstr "" + +#: ../admin/manage-galleries.php:153 +#: ../admin/manage-images.php:355 +msgid "Apply" +msgstr "" + +#: ../admin/manage-galleries.php:220 +msgid "Edit" +msgstr "" + +#: ../admin/manage-galleries.php:261 +#: ../admin/manage-images.php:506 +msgid "No entries found" +msgstr "" + +#: ../admin/manage-galleries.php:308 +#: ../admin/manage-images.php:589 +msgid "Resize Images to" +msgstr "" + +#: ../admin/manage-galleries.php:312 +#: ../admin/manage-images.php:593 +msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size" +msgstr "" + +#: ../admin/manage-galleries.php:336 +#: ../admin/manage-images.php:617 +msgid "Width x height (in pixel)" +msgstr "" + +#: ../admin/manage-galleries.php:338 +#: ../admin/manage-images.php:619 +msgid "These values are maximum values " +msgstr "" + +#: ../admin/manage-galleries.php:341 +#: ../admin/manage-images.php:622 +msgid "Set fix dimension" +msgstr "" + +#: ../admin/manage-galleries.php:343 +#: ../admin/manage-images.php:624 +msgid "Ignore the aspect ratio, no portrait thumbnails" +msgstr "" + +#: ../admin/manage-galleries.php:406 +#: ../admin/manage-images.php:694 +msgid "ID" +msgstr "" + +#: ../admin/manage-galleries.php:408 +#: ../admin/manage-images.php:266 +#: ../admin/manage-images.php:697 +msgid "Description" +msgstr "" + +#: ../admin/manage-galleries.php:409 +#: ../admin/manage-images.php:295 +msgid "Author" +msgstr "" + +#: ../admin/manage-galleries.php:410 +msgid "Page ID" +msgstr "" + +#: ../admin/manage-galleries.php:411 +msgid "Image" +msgid_plural "Images" +msgstr[0] "" +msgstr[1] "" + +#: ../admin/manage-images.php:34 +msgid "Gallery not found." +msgstr "" + +#: ../admin/manage-images.php:40 +msgid "Sorry, you have no access here" +msgstr "" + +#: ../admin/manage-images.php:179 +msgid "Copy image to..." +msgstr "" + +#: ../admin/manage-images.php:183 +msgid "Move image to..." +msgstr "" + +#: ../admin/manage-images.php:187 +msgid "Add new tags" +msgstr "" + +#: ../admin/manage-images.php:191 +#: ../admin/manage-images.php:352 +msgid "Delete tags" +msgstr "" + +#: ../admin/manage-images.php:195 +msgid "Overwrite" +msgstr "" + +#: ../admin/manage-images.php:208 +#, php-format +msgid "" +"You are about to start the bulk edit for %s images \n" +" \n" +" 'Cancel' to stop, 'OK' to proceed." +msgstr "" + +#: ../admin/manage-images.php:222 +#, php-format +msgid "Search results for “%s”" +msgstr "" + +#: ../admin/manage-images.php:251 +msgid "Gallery settings" +msgstr "" + +#: ../admin/manage-images.php:251 +msgid "Click here for more settings" +msgstr "" + +#: ../admin/manage-images.php:268 +msgid "Preview image" +msgstr "" + +#: ../admin/manage-images.php:271 +msgid "No Picture" +msgstr "" + +#: ../admin/manage-images.php:293 +msgid "Path" +msgstr "" + +#: ../admin/manage-images.php:310 +msgid "Create new page" +msgstr "" + +#: ../admin/manage-images.php:313 +msgid "Main page (No parent)" +msgstr "" + +#: ../admin/manage-images.php:316 +msgid "Add page" +msgstr "" + +#: ../admin/manage-images.php:325 +msgid "Scan Folder for new images" +msgstr "" + +#: ../admin/manage-images.php:326 +#: ../admin/manage-images.php:361 +#: ../admin/manage-images.php:513 +msgid "Save Changes" +msgstr "" + +#: ../admin/manage-images.php:345 +msgid "Delete images" +msgstr "" + +#: ../admin/manage-images.php:347 +msgid "Rotate images clockwise" +msgstr "" + +#: ../admin/manage-images.php:348 +msgid "Rotate images counter-clockwise" +msgstr "" + +#: ../admin/manage-images.php:349 +msgid "Copy to..." +msgstr "" + +#: ../admin/manage-images.php:350 +msgid "Move to..." +msgstr "" + +#: ../admin/manage-images.php:351 +msgid "Add tags" +msgstr "" + +#: ../admin/manage-images.php:353 +msgid "Overwrite tags" +msgstr "" + +#: ../admin/manage-images.php:358 +msgid "Sort gallery" +msgstr "" + +#: ../admin/manage-images.php:434 +msgid "pixel" +msgstr "" + +#: ../admin/manage-images.php:440 +#, php-format +msgid "View \"%s\"" +msgstr "" + +#: ../admin/manage-images.php:440 +msgid "View" +msgstr "" + +#: ../admin/manage-images.php:441 +msgid "Show Meta data" +msgstr "" + +#: ../admin/manage-images.php:441 +msgid "Meta" +msgstr "" + +#: ../admin/manage-images.php:442 +msgid "Customize thumbnail" +msgstr "" + +#: ../admin/manage-images.php:442 +msgid "Edit thumb" +msgstr "" + +#: ../admin/manage-images.php:443 +msgid "Rotate" +msgstr "" + +#: ../admin/manage-images.php:445 +msgid "Publish this image" +msgstr "" + +#: ../admin/manage-images.php:445 +msgid "Publish" +msgstr "" + +#: ../admin/manage-images.php:447 +msgid "Recover" +msgstr "" + +#: ../admin/manage-images.php:447 +#, php-format +msgid "Recover \"%s\" ?" +msgstr "" + +#: ../admin/manage-images.php:448 +#, php-format +msgid "Delete \"%s\" ?" +msgstr "" + +#: ../admin/manage-images.php:529 +msgid "Enter the tags" +msgstr "" + +#: ../admin/manage-images.php:553 +msgid "Select the destination gallery:" +msgstr "" + +#: ../admin/manage-images.php:695 +msgid "Thumbnail" +msgstr "" + +#: ../admin/manage-images.php:696 +#: ../admin/manage-sort.php:77 +msgid "Filename" +msgstr "" + +#: ../admin/manage-images.php:697 +msgid "Alt & Title Text" +msgstr "" + +#: ../admin/manage-images.php:698 +msgid "Tags (comma separated list)" +msgstr "" + +#: ../admin/manage-images.php:699 +msgid "exclude" +msgstr "" + +#: ../admin/manage-sort.php:33 +msgid "Sort order changed" +msgstr "" + +#: ../admin/manage-sort.php:62 +msgid "Sort Gallery" +msgstr "" + +#: ../admin/manage-sort.php:66 +msgid "Update Sort Order" +msgstr "" + +#: ../admin/manage-sort.php:69 +msgid "Back to gallery" +msgstr "" + +#: ../admin/manage-sort.php:74 +msgid "Presort" +msgstr "" + +#: ../admin/manage-sort.php:75 +msgid "Unsorted" +msgstr "" + +#: ../admin/manage-sort.php:76 +msgid "Image ID" +msgstr "" + +#: ../admin/manage-sort.php:78 +msgid "Alt/Title text" +msgstr "" + +#: ../admin/manage-sort.php:79 +msgid "Date/Time" +msgstr "" + +#: ../admin/manage-sort.php:80 +msgid "Ascending" +msgstr "" + +#: ../admin/manage-sort.php:81 +msgid "Descending" +msgstr "" + +#: ../admin/manage.php:84 +msgid "Picture" +msgstr "" + +#: ../admin/manage.php:84 +msgid "deleted successfully" +msgstr "" + +#: ../admin/manage.php:99 +#: ../admin/manage.php:108 +msgid "Operation successful. Please clear your browser cache." +msgstr "" + +#: ../admin/manage.php:175 +msgid "Gallery deleted successfully " +msgstr "" + +#: ../admin/manage.php:240 +#: ../admin/manage.php:243 +msgid "Rotate images" +msgstr "" + +#: ../admin/manage.php:265 +msgid "Pictures deleted successfully " +msgstr "" + +#: ../admin/manage.php:361 +msgid "Tags changed" +msgstr "" + +#: ../admin/manage.php:397 +msgid "Update successful" +msgstr "" + +#: ../admin/manage.php:432 +msgid "New gallery page ID" +msgstr "" + +#: ../admin/manage.php:432 +msgid "created" +msgstr "" + +#: ../admin/manage.php:468 +msgid "Published a new post" +msgstr "" + +#: ../admin/manage.php:582 +#, php-format +msgid "1 item" +msgid_plural "%s items" +msgstr[0] "" +msgstr[1] "" + +#: ../admin/media-upload.php:11 +msgid "NextGEN Gallery" +msgstr "" + +#: ../admin/media-upload.php:166 +msgid "No gallery" +msgstr "" + +#: ../admin/media-upload.php:178 +msgid "Select »" +msgstr "" + +#: ../admin/media-upload.php:209 +msgid "Show" +msgstr "" + +#: ../admin/media-upload.php:210 +msgid "Hide" +msgstr "" + +#: ../admin/media-upload.php:215 +msgid "Image ID:" +msgstr "" + +#: ../admin/media-upload.php:229 +#: ../admin/publish.php:55 +msgid "Alignment" +msgstr "" + +#: ../admin/media-upload.php:232 +#: ../admin/publish.php:57 +#: ../admin/settings.php:480 +msgid "None" +msgstr "" + +#: ../admin/media-upload.php:234 +#: ../admin/publish.php:59 +#: ../admin/tinymce/window.php:120 +msgid "Left" +msgstr "" + +#: ../admin/media-upload.php:236 +#: ../admin/publish.php:61 +#: ../admin/tinymce/window.php:121 +msgid "Center" +msgstr "" + +#: ../admin/media-upload.php:238 +#: ../admin/publish.php:63 +#: ../admin/tinymce/window.php:122 +msgid "Right" +msgstr "" + +#: ../admin/media-upload.php:242 +#: ../admin/settings.php:587 +msgid "Size" +msgstr "" + +#: ../admin/media-upload.php:248 +msgid "Full size" +msgstr "" + +#: ../admin/media-upload.php:250 +msgid "Singlepic" +msgstr "" + +#: ../admin/media-upload.php:263 +msgid "Insert into Post" +msgstr "" + +#: ../admin/media-upload.php:274 +msgid "Save all changes" +msgstr "" + +#: ../admin/overview.php:14 +msgid "NextGEN Gallery Overview" +msgstr "" + +#: ../admin/overview.php:86 +msgid "Welcome to NextGEN Gallery !" +msgstr "" + +#: ../admin/overview.php:87 +msgid "Do you like this Plugin?" +msgstr "" + +#: ../admin/overview.php:89 +msgid "Translation" +msgstr "" + +#: ../admin/overview.php:90 +msgid "Latest News" +msgstr "" + +#: ../admin/overview.php:91 +msgid "Recent donators" +msgstr "" + +#: ../admin/overview.php:93 +msgid "Plugin Check" +msgstr "" + +#: ../admin/overview.php:94 +msgid "Server Settings" +msgstr "" + +#: ../admin/overview.php:95 +msgid "Related plugins" +msgstr "" + +#: ../admin/overview.php:101 +#, php-format +msgid "This plugin is primarily developed, maintained, supported and documented by <a href=\"%s\">Alex Rabe</a> with a lot of love & effort. Any kind of contribution would be highly appreciated. Thanks!" +msgstr "" + +#: ../admin/overview.php:106 +msgid "Give it a good rating on WordPress.org." +msgstr "" + +#: ../admin/overview.php:111 +msgid "Donate the work via paypal." +msgstr "" + +#: ../admin/overview.php:116 +msgid "Help translating it." +msgstr "" + +#: ../admin/overview.php:252 +msgid "Running..." +msgstr "" + +#: ../admin/overview.php:299 +msgid "Check plugin/theme conflict" +msgstr "" + +#: ../admin/overview.php:300 +#: ../admin/overview.php:306 +#: ../admin/overview.php:312 +msgid "Not tested" +msgstr "" + +#: ../admin/overview.php:301 +msgid "No conflict could be detected" +msgstr "" + +#: ../admin/overview.php:302 +msgid "Test failed, disable other plugins & switch to default theme" +msgstr "" + +#: ../admin/overview.php:305 +msgid "Test image function" +msgstr "" + +#: ../admin/overview.php:307 +msgid "The plugin could create images" +msgstr "" + +#: ../admin/overview.php:308 +msgid "Couldn't create image, check your memory limit" +msgstr "" + +#: ../admin/overview.php:311 +msgid "Check theme compatibility" +msgstr "" + +#: ../admin/overview.php:313 +msgid "Your theme should work fine with NextGEN Gallery" +msgstr "" + +#: ../admin/overview.php:314 +msgid "wp_head()/wp_footer() is missing, contact the theme author" +msgstr "" + +#: ../admin/overview.php:318 +msgid "Check plugin" +msgstr "" + +#: ../admin/overview.php:339 +msgid "Graphic Library" +msgstr "" + +#: ../admin/overview.php:355 +#: ../admin/overview.php:404 +#: ../admin/overview.php:591 +#: ../admin/overview.php:781 +msgid "Loading…" +msgstr "" + +#: ../admin/overview.php:355 +#: ../admin/overview.php:404 +#: ../admin/overview.php:591 +#: ../admin/overview.php:781 +msgid "This widget requires JavaScript." +msgstr "" + +#: ../admin/overview.php:368 +msgid "Thanks to all donators..." +msgstr "" + +#: ../admin/overview.php:390 +msgid "View all" +msgstr "" + +#: ../admin/overview.php:416 +#, php-format +msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates." +msgstr "" + +#: ../admin/overview.php:428 +msgid "Untitled" +msgstr "" + +#: ../admin/overview.php:478 +msgid "At a Glance" +msgstr "" + +#: ../admin/overview.php:504 +msgid "Upload pictures" +msgstr "" + +#: ../admin/overview.php:505 +msgid "Here you can control your images, galleries and albums." +msgstr "" + +#: ../admin/overview.php:535 +msgid "Storage Space" +msgstr "" + +#: ../admin/overview.php:539 +#, php-format +msgid "<a href=\"%1$s\" title=\"Manage Uploads\" class=\"musublink\">%2$sMB</a>" +msgstr "" + +#: ../admin/overview.php:540 +msgid "Space Allowed" +msgstr "" + +#: ../admin/overview.php:547 +#, php-format +msgid "<a href=\"%1$s\" title=\"Manage Uploads\" class=\"musublink\">%2$sMB (%3$s%%)</a>" +msgstr "" + +#: ../admin/overview.php:548 +msgid "Space Used" +msgstr "" + +#: ../admin/overview.php:577 +msgid "Translation file successful updated. Please reload page." +msgstr "" + +#: ../admin/overview.php:579 +msgid "Reload page" +msgstr "" + +#: ../admin/overview.php:584 +msgid "Translation file couldn't be updated" +msgstr "" + +#: ../admin/overview.php:621 +msgid "Download" +msgstr "" + +#: ../admin/overview.php:650 +msgid "No GD support" +msgstr "" + +#: ../admin/overview.php:662 +#: ../admin/overview.php:708 +#: ../admin/overview.php:711 +#: ../admin/overview.php:714 +msgid "Yes" +msgstr "" + +#: ../admin/overview.php:664 +#: ../admin/overview.php:709 +#: ../admin/overview.php:712 +#: ../admin/overview.php:715 +msgid "No" +msgstr "" + +#: ../admin/overview.php:682 +msgid "Not set" +msgstr "" + +#: ../admin/overview.php:684 +#: ../admin/overview.php:687 +msgid "On" +msgstr "" + +#: ../admin/overview.php:685 +#: ../admin/overview.php:688 +msgid "Off" +msgstr "" + +#: ../admin/overview.php:691 +#: ../admin/overview.php:694 +#: ../admin/overview.php:697 +#: ../admin/overview.php:700 +#: ../admin/overview.php:703 +#: ../admin/overview.php:706 +msgid "N/A" +msgstr "" + +#: ../admin/overview.php:705 +msgid " MByte" +msgstr "" + +#: ../admin/overview.php:718 +msgid "Operating System" +msgstr "" + +#: ../admin/overview.php:719 +msgid "Server" +msgstr "" + +#: ../admin/overview.php:720 +msgid "Memory usage" +msgstr "" + +#: ../admin/overview.php:721 +msgid "MYSQL Version" +msgstr "" + +#: ../admin/overview.php:722 +msgid "SQL Mode" +msgstr "" + +#: ../admin/overview.php:723 +msgid "PHP Version" +msgstr "" + +#: ../admin/overview.php:724 +msgid "PHP Safe Mode" +msgstr "" + +#: ../admin/overview.php:725 +msgid "PHP Allow URL fopen" +msgstr "" + +#: ../admin/overview.php:726 +msgid "PHP Memory Limit" +msgstr "" + +#: ../admin/overview.php:727 +msgid "PHP Max Upload Size" +msgstr "" + +#: ../admin/overview.php:728 +msgid "PHP Max Post Size" +msgstr "" + +#: ../admin/overview.php:729 +msgid "PCRE Backtracking Limit" +msgstr "" + +#: ../admin/overview.php:730 +msgid "PHP Max Script Execute Time" +msgstr "" + +#: ../admin/overview.php:731 +msgid "PHP Exif support" +msgstr "" + +#: ../admin/overview.php:732 +msgid "PHP IPTC support" +msgstr "" + +#: ../admin/overview.php:733 +msgid "PHP XML support" +msgstr "" + +#: ../admin/overview.php:745 +msgid "NextGEN Gallery contains some functions which are only available under PHP 5.2. You are using the old PHP 4 version, upgrade now! It's no longer supported by the PHP group. Many shared hosting providers offer both PHP 4 and PHP 5, running simultaneously. Ask your provider if they can do this." +msgstr "" + +#: ../admin/overview.php:841 +msgid "Install" +msgstr "" + +#: ../admin/pointer.php:22 +msgid "<h3>Client side resize</h3><p>You can now resize the images before you start with the upload.</p>" +msgstr "" + +#: ../admin/publish.php:45 +msgid "Post title" +msgstr "" + +#: ../admin/publish.php:47 +msgid "Enter the post title " +msgstr "" + +#: ../admin/publish.php:52 +msgid "Size of the image" +msgstr "" + +#: ../admin/publish.php:70 +msgid "Draft" +msgstr "" + +#: ../admin/roles.php:22 +msgid "Updated capabilities" +msgstr "" + +#: ../admin/roles.php:28 +msgid "Roles / capabilities" +msgstr "" + +#: ../admin/roles.php:29 +msgid "Select the lowest role which should be able to access the following capabilities. NextGEN Gallery supports the standard roles from WordPress." +msgstr "" + +#: ../admin/roles.php:30 +msgid "For a more flexible user management you can use the" +msgstr "" + +#: ../admin/roles.php:35 +msgid "Main NextGEN Gallery overview" +msgstr "" + +#: ../admin/roles.php:39 +msgid "Use TinyMCE Button / Upload tab" +msgstr "" + +#: ../admin/roles.php:43 +msgid "Add gallery / Upload images" +msgstr "" + +#: ../admin/roles.php:47 +msgid "Manage gallery" +msgstr "" + +#: ../admin/roles.php:51 +msgid "Manage others gallery" +msgstr "" + +#: ../admin/roles.php:55 +msgid "Manage tags" +msgstr "" + +#: ../admin/roles.php:63 +msgid "Change style" +msgstr "" + +#: ../admin/roles.php:67 +msgid "Change options" +msgstr "" + +#: ../admin/roles.php:71 +msgid "Update capabilities" +msgstr "" + +#: ../admin/rotate.php:55 +msgid "Image rotated" +msgstr "" + +#: ../admin/rotate.php:56 +msgid "Error rotating thumbnail" +msgstr "" + +#: ../admin/rotate.php:81 +msgid "90° clockwise" +msgstr "" + +#: ../admin/rotate.php:82 +msgid "90° anticlockwise" +msgstr "" + +#: ../admin/rotate.php:83 +msgid "Flip vertically" +msgstr "" + +#: ../admin/rotate.php:84 +msgid "Flip horizontally" +msgstr "" + +#: ../admin/settings.php:97 +msgid "Cache cleared" +msgstr "" + +#: ../admin/settings.php:217 +#: ../admin/settings.php:236 +msgid "General Options" +msgstr "" + +#: ../admin/settings.php:218 +#: ../admin/settings.php:417 +msgid "Thumbnails" +msgstr "" + +#: ../admin/settings.php:219 +msgid "Images" +msgstr "" + +#: ../admin/settings.php:221 +#: ../admin/settings.php:469 +msgid "Effects" +msgstr "" + +#: ../admin/settings.php:222 +#: ../admin/settings.php:511 +#: ../admin/tinymce/window.php:110 +msgid "Watermark" +msgstr "" + +#: ../admin/settings.php:223 +#: ../admin/settings.php:418 +#: ../admin/settings.php:618 +#: ../admin/tinymce/window.php:63 +msgid "Slideshow" +msgstr "" + +#: ../admin/settings.php:242 +#: ../admin/wpmu.php:68 +msgid "Gallery path" +msgstr "" + +#: ../admin/settings.php:244 +msgid "This is the default path for all galleries" +msgstr "" + +#: ../admin/settings.php:247 +msgid "Delete image files" +msgstr "" + +#: ../admin/settings.php:249 +msgid "Delete files, when removing a gallery in the database" +msgstr "" + +#: ../admin/settings.php:252 +msgid "Activate permalinks" +msgstr "" + +#: ../admin/settings.php:254 +msgid "When you activate this option, you need to update your permalink structure one time." +msgstr "" + +#: ../admin/settings.php:255 +msgid "Gallery slug name :" +msgstr "" + +#: ../admin/settings.php:259 +msgid "Create new URL friendly image slugs" +msgstr "" + +#: ../admin/settings.php:260 +#: ../admin/settings.php:371 +msgid "Proceed now" +msgstr "" + +#: ../admin/settings.php:263 +msgid "Select graphic library" +msgstr "" + +#: ../admin/settings.php:264 +msgid "GD Library" +msgstr "" + +#: ../admin/settings.php:265 +msgid "ImageMagick (Experimental). Path to the library :" +msgstr "" + +#: ../admin/settings.php:270 +msgid "Activate Media RSS feed" +msgstr "" + +#: ../admin/settings.php:272 +msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens" +msgstr "" + +#: ../admin/settings.php:275 +msgid "Activate PicLens/CoolIris support" +msgstr "" + +#: ../admin/settings.php:277 +msgid "When you activate this option, some javascript is added to your site footer. Make sure that wp_footer is called in your theme." +msgstr "" + +#: ../admin/settings.php:280 +msgid "Tags / Categories" +msgstr "" + +#: ../admin/settings.php:283 +msgid "Activate related images" +msgstr "" + +#: ../admin/settings.php:285 +msgid "This option will append related images to every post" +msgstr "" + +#: ../admin/settings.php:289 +msgid "Match with" +msgstr "" + +#: ../admin/settings.php:290 +msgid "Categories" +msgstr "" + +#: ../admin/settings.php:295 +msgid "Max. number of images" +msgstr "" + +#: ../admin/settings.php:297 +msgid "0 will show all images" +msgstr "" + +#: ../admin/settings.php:301 +#: ../admin/settings.php:332 +#: ../admin/settings.php:374 +#: ../admin/settings.php:459 +#: ../admin/settings.php:494 +#: ../admin/settings.php:755 +msgid "More settings" +msgstr "" + +#: ../admin/settings.php:311 +msgid "Thumbnail settings" +msgstr "" + +#: ../admin/settings.php:315 +msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ." +msgstr "" + +#: ../admin/settings.php:328 +msgid "Thumbnail quality" +msgstr "" + +#: ../admin/settings.php:342 +msgid "Image settings" +msgstr "" + +#: ../admin/settings.php:348 +msgid "Resize Images" +msgstr "" + +#: ../admin/settings.php:353 +msgid "Image quality" +msgstr "" + +#: ../admin/settings.php:357 +msgid "Backup original images" +msgstr "" + +#: ../admin/settings.php:359 +msgid "Creates a backup for inserted images" +msgstr "" + +#: ../admin/settings.php:362 +msgid "Automatically resize" +msgstr "" + +#: ../admin/settings.php:364 +msgid "Automatically resize images on upload." +msgstr "" + +#: ../admin/settings.php:367 +msgid "Single picture" +msgstr "" + +#: ../admin/settings.php:370 +msgid "Clear cache folder" +msgstr "" + +#: ../admin/settings.php:391 +msgid "Deactivate gallery page link" +msgstr "" + +#: ../admin/settings.php:393 +msgid "The album will not link to a gallery subpage. The gallery is shown on the same page." +msgstr "" + +#: ../admin/settings.php:397 +msgid "Number of images per page" +msgstr "" + +#: ../admin/settings.php:399 +msgid "0 will disable pagination, all images on one page" +msgstr "" + +#: ../admin/settings.php:403 +msgid "Number of columns" +msgstr "" + +#: ../admin/settings.php:405 +msgid "0 will display as much as possible based on the width of your theme. Setting normally only required for captions below the images" +msgstr "" + +#: ../admin/settings.php:409 +msgid "Integrate slideshow" +msgstr "" + +#: ../admin/settings.php:416 +msgid "Show first" +msgstr "" + +#: ../admin/settings.php:422 +msgid "Show ImageBrowser" +msgstr "" + +#: ../admin/settings.php:424 +msgid "The gallery will open the ImageBrowser instead the effect." +msgstr "" + +#: ../admin/settings.php:428 +msgid "Add hidden images" +msgstr "" + +#: ../admin/settings.php:430 +msgid "If pagination is used, this option will still show all images in the modal window (Thickbox, Lightbox etc.). Note : This increases the page load" +msgstr "" + +#: ../admin/settings.php:434 +msgid "Enable AJAX pagination" +msgstr "" + +#: ../admin/settings.php:436 +msgid "Browse images without reload the page. Note : Works only in combination with Shutter effect" +msgstr "" + +#: ../admin/settings.php:440 +msgid "Sort options" +msgstr "" + +#: ../admin/settings.php:443 +msgid "Sort thumbnails" +msgstr "" + +#: ../admin/settings.php:445 +msgid "Custom order" +msgstr "" + +#: ../admin/settings.php:447 +msgid "File name" +msgstr "" + +#: ../admin/settings.php:448 +msgid "Alt / Title text" +msgstr "" + +#: ../admin/settings.php:449 +msgid "Date / Time" +msgstr "" + +#: ../admin/settings.php:453 +msgid "Sort direction" +msgstr "" + +#: ../admin/settings.php:473 +msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Shutter and Thickbox effect will automatic added to your theme." +msgstr "" + +#: ../admin/settings.php:474 +msgid "With the placeholder" +msgstr "" + +#: ../admin/settings.php:474 +msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do." +msgstr "" + +#: ../admin/settings.php:477 +msgid "JavaScript Thumbnail effect" +msgstr "" + +#: ../admin/settings.php:481 +msgid "Thickbox" +msgstr "" + +#: ../admin/settings.php:482 +msgid "Lightbox" +msgstr "" + +#: ../admin/settings.php:483 +msgid "Highslide" +msgstr "" + +#: ../admin/settings.php:484 +msgid "Shutter" +msgstr "" + +#: ../admin/settings.php:485 +msgid "Custom" +msgstr "" + +#: ../admin/settings.php:490 +msgid "Link Code line" +msgstr "" + +#: ../admin/settings.php:512 +msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone." +msgstr "" + +#: ../admin/settings.php:517 +msgid "Preview" +msgstr "" + +#: ../admin/settings.php:519 +#: ../admin/settings.php:524 +msgid "Position" +msgstr "" + +#: ../admin/settings.php:544 +msgid "Offset" +msgstr "" + +#: ../admin/settings.php:560 +msgid "Use image as watermark" +msgstr "" + +#: ../admin/settings.php:563 +msgid "URL to file" +msgstr "" + +#: ../admin/settings.php:565 +msgid "The accessing of URL files is disabled at your server (allow_url_fopen)" +msgstr "" + +#: ../admin/settings.php:568 +msgid "Use text as watermark" +msgstr "" + +#: ../admin/settings.php:571 +msgid "Font" +msgstr "" + +#: ../admin/settings.php:580 +msgid "This function will not work, cause you need the FreeType library" +msgstr "" + +#: ../admin/settings.php:582 +msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>" +msgstr "" + +#: ../admin/settings.php:591 +msgid "Color" +msgstr "" + +#: ../admin/settings.php:593 +msgid "(hex w/o #)" +msgstr "" + +#: ../admin/settings.php:596 +msgid "Text" +msgstr "" + +#: ../admin/settings.php:600 +msgid "Opaque" +msgstr "" + +#: ../admin/settings.php:621 +msgid "Default size (W x H)" +msgstr "" + +#: ../admin/settings.php:626 +msgid "Duration time" +msgstr "" + +#: ../admin/settings.php:627 +msgid "sec." +msgstr "" + +#: ../admin/settings.php:630 +#: ../admin/settings.php:705 +msgid "Transition / Fade effect" +msgstr "" + +#: ../admin/settings.php:633 +#: ../admin/settings.php:708 +msgid "fade" +msgstr "" + +#: ../admin/settings.php:634 +msgid "blindX" +msgstr "" + +#: ../admin/settings.php:635 +msgid "cover" +msgstr "" + +#: ../admin/settings.php:636 +msgid "scrollUp" +msgstr "" + +#: ../admin/settings.php:637 +msgid "scrollDown" +msgstr "" + +#: ../admin/settings.php:638 +msgid "shuffle" +msgstr "" + +#: ../admin/settings.php:639 +msgid "toss" +msgstr "" + +#: ../admin/settings.php:640 +msgid "wipe" +msgstr "" + +#: ../admin/settings.php:642 +msgid "See here for more information about the effects :" +msgstr "" + +#: ../admin/settings.php:646 +msgid "Settings for the JW Image Rotator" +msgstr "" + +#: ../admin/settings.php:647 +msgid "The settings are only used in the JW Image Rotator Version" +msgstr "" + +#: ../admin/settings.php:648 +msgid "See more information for the Flash Player on the web page" +msgstr "" + +#: ../admin/settings.php:653 +msgid "The path to imagerotator.swf is not defined, the slideshow will not work." +msgstr "" + +#: ../admin/settings.php:654 +msgid "If you would like to use the JW Image Rotatator, please download the player <a href=\"http://www.longtailvideo.com/players/jw-image-rotator/\" target=\"_blank\" >here</a> and upload it to your Upload folder (Default is wp-content/uploads)." +msgstr "" + +#: ../admin/settings.php:660 +msgid "Enable flash slideshow" +msgstr "" + +#: ../admin/settings.php:662 +msgid "Integrate the flash based slideshow for all flash supported devices" +msgstr "" + +#: ../admin/settings.php:665 +msgid "Path to the Imagerotator (URL)" +msgstr "" + +#: ../admin/settings.php:668 +msgid "Search now" +msgstr "" + +#: ../admin/settings.php:669 +msgid "Press the button to search automatically for the imagerotator, if you uploaded it to wp-content/uploads or a subfolder" +msgstr "" + +#: ../admin/settings.php:673 +msgid "Shuffle mode" +msgstr "" + +#: ../admin/settings.php:677 +msgid "Show next image on click" +msgstr "" + +#: ../admin/settings.php:681 +msgid "Show navigation bar" +msgstr "" + +#: ../admin/settings.php:685 +msgid "Show loading icon" +msgstr "" + +#: ../admin/settings.php:689 +msgid "Use watermark logo" +msgstr "" + +#: ../admin/settings.php:691 +msgid "You can change the logo at the watermark settings" +msgstr "" + +#: ../admin/settings.php:694 +msgid "Stretch image" +msgstr "" + +#: ../admin/settings.php:697 +msgid "true" +msgstr "" + +#: ../admin/settings.php:698 +msgid "false" +msgstr "" + +#: ../admin/settings.php:699 +msgid "fit" +msgstr "" + +#: ../admin/settings.php:700 +msgid "none" +msgstr "" + +#: ../admin/settings.php:709 +msgid "bgfade" +msgstr "" + +#: ../admin/settings.php:710 +msgid "slowfade" +msgstr "" + +#: ../admin/settings.php:711 +msgid "circles" +msgstr "" + +#: ../admin/settings.php:712 +msgid "bubbles" +msgstr "" + +#: ../admin/settings.php:713 +msgid "blocks" +msgstr "" + +#: ../admin/settings.php:714 +msgid "fluids" +msgstr "" + +#: ../admin/settings.php:715 +msgid "flash" +msgstr "" + +#: ../admin/settings.php:716 +msgid "lines" +msgstr "" + +#: ../admin/settings.php:717 +msgid "random" +msgstr "" + +#: ../admin/settings.php:722 +msgid "Use slow zooming effect" +msgstr "" + +#: ../admin/settings.php:726 +msgid "Background Color" +msgstr "" + +#: ../admin/settings.php:731 +msgid "Texts / Buttons Color" +msgstr "" + +#: ../admin/settings.php:736 +msgid "Rollover / Active Color" +msgstr "" + +#: ../admin/settings.php:741 +msgid "Screen Color" +msgstr "" + +#: ../admin/settings.php:746 +msgid "Background music (URL)" +msgstr "" + +#: ../admin/settings.php:750 +msgid "Try XHTML validation (with CDATA)" +msgstr "" + +#: ../admin/settings.php:752 +msgid "Important : Could causes problem at some browser. Please recheck your page." +msgstr "" + +#: ../admin/setup.php:15 +msgid "Reset all settings to default parameter" +msgstr "" + +#: ../admin/setup.php:26 +msgid "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !" +msgstr "" + +#: ../admin/setup.php:30 +msgid "Reset options" +msgstr "" + +#: ../admin/setup.php:33 +msgid "Reset all options/settings to the default installation." +msgstr "" + +#: ../admin/setup.php:34 +msgid "Reset settings" +msgstr "" + +#: ../admin/setup.php:34 +msgid "" +"Reset all options to default settings ?\\n" +"\\n" +"Choose [Cancel] to Stop, [OK] to proceed.\\n" +msgstr "" + +#: ../admin/setup.php:39 +msgid "Uninstall plugin tables" +msgstr "" + +#: ../admin/setup.php:44 +msgid "You don't like NextGEN Gallery ?" +msgstr "" + +#: ../admin/setup.php:45 +msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. " +msgstr "" + +#: ../admin/setup.php:47 +msgid "WARNING:" +msgstr "" + +#: ../admin/setup.php:48 +msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables" +msgstr "" + +#: ../admin/setup.php:48 +msgid "and" +msgstr "" + +#: ../admin/setup.php:50 +msgid "Uninstall plugin" +msgstr "" + +#: ../admin/setup.php:50 +msgid "" +"You are about to Uninstall this plugin from WordPress.\\n" +"This action is not reversible.\\n" +"\\n" +"Choose [Cancel] to Stop, [OK] to Uninstall.\\n" +msgstr "" + +#: ../admin/showmeta.php:29 +msgid "Meta Data" +msgstr "" + +#: ../admin/showmeta.php:34 +#: ../admin/showmeta.php:60 +#: ../admin/showmeta.php:85 +#: ../admin/showmeta.php:109 +msgid "Tag" +msgstr "" + +#: ../admin/showmeta.php:35 +#: ../admin/showmeta.php:61 +#: ../admin/showmeta.php:86 +#: ../admin/showmeta.php:110 +msgid "Value" +msgstr "" + +#: ../admin/showmeta.php:49 +msgid "No meta data saved" +msgstr "" + +#: ../admin/showmeta.php:55 +msgid "EXIF Data" +msgstr "" + +#: ../admin/showmeta.php:74 +msgid "No exif data" +msgstr "" + +#: ../admin/showmeta.php:81 +msgid "IPTC Data" +msgstr "" + +#: ../admin/showmeta.php:105 +msgid "XMP Data" +msgstr "" + +#: ../admin/style.php:11 +msgid "(From the theme folder)" +msgstr "" + +#: ../admin/style.php:43 +msgid "You do not have sufficient permissions to edit templates for this blog." +msgstr "" + +#: ../admin/style.php:52 +msgid "CSS file successfully updated" +msgstr "" + +#: ../admin/style.php:89 +msgid "Style Editor" +msgstr "" + +#: ../admin/style.php:93 +msgid "Activate and use style sheet:" +msgstr "" + +#: ../admin/style.php:113 +msgid "Activate" +msgstr "" + +#: ../admin/style.php:123 +#, php-format +msgid "Editing <strong>%s</strong>" +msgstr "" + +#: ../admin/style.php:125 +#, php-format +msgid "Browsing <strong>%s</strong>" +msgstr "" + +#: ../admin/style.php:135 +msgid "Version" +msgstr "" + +#: ../admin/style.php:138 +msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade" +msgstr "" + +#: ../admin/style.php:140 +msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used" +msgstr "" + +#: ../admin/style.php:142 +msgid "Tip No. 2: Use the color picker below to help you find the right color scheme for your gallery!" +msgstr "" + +#: ../admin/style.php:158 +msgid "Update File" +msgstr "" + +#: ../admin/style.php:161 +msgid "If this file were writable you could edit it." +msgstr "" + +#: ../admin/style.php:166 +msgid "Oops, no such file exists! Double check the name and try again, merci." +msgstr "" + +#: ../admin/tags.php:38 +msgid "Most popular" +msgstr "" + +#: ../admin/tags.php:39 +msgid "Least used" +msgstr "" + +#: ../admin/tags.php:40 +msgid "Alphabetical" +msgstr "" + +#: ../admin/tags.php:96 +msgid "Manage image tags" +msgstr "" + +#: ../admin/tags.php:108 +msgid "Existing Tags" +msgstr "" + +#: ../admin/tags.php:112 +msgid "Search tags" +msgstr "" + +#: ../admin/tags.php:116 +msgid "Go" +msgstr "" + +#: ../admin/tags.php:121 +msgid "Sort Order:" +msgstr "" + +#: ../admin/tags.php:156 +#: ../admin/tags.php:160 +#: ../admin/tags.php:173 +msgid "Previous tags" +msgstr "" + +#: ../admin/tags.php:169 +msgid "Next tags" +msgstr "" + +#: ../admin/tags.php:181 +msgid "Rename Tag" +msgstr "" + +#: ../admin/tags.php:189 +msgid "Enter the tag to rename and its new value. You can use this feature to merge tags too. Click \"Rename\" and all posts which use this tag will be updated." +msgstr "" + +#: ../admin/tags.php:190 +#: ../admin/tags.php:238 +msgid "You can specify multiple tags to rename by separating them with commas." +msgstr "" + +#: ../admin/tags.php:194 +msgid "Tag(s) to rename:" +msgstr "" + +#: ../admin/tags.php:198 +msgid "New tag name(s):" +msgstr "" + +#: ../admin/tags.php:201 +msgid "Rename" +msgstr "" + +#: ../admin/tags.php:207 +msgid "Delete Tag" +msgstr "" + +#: ../admin/tags.php:215 +msgid "Enter the name of the tag to delete. This tag will be removed from all posts." +msgstr "" + +#: ../admin/tags.php:216 +msgid "You can specify multiple tags to delete by separating them with commas" +msgstr "" + +#: ../admin/tags.php:220 +msgid "Tag(s) to delete:" +msgstr "" + +#: ../admin/tags.php:229 +msgid "Edit Tag Slug" +msgstr "" + +#: ../admin/tags.php:237 +msgid "Enter the tag name to edit and its new slug. <a href=\"http://codex.wordpress.org/Glossary#Slug\">Slug definition</a>" +msgstr "" + +#: ../admin/tags.php:242 +msgid "Tag(s) to match:" +msgstr "" + +#: ../admin/tags.php:246 +msgid "Slug(s) to set:" +msgstr "" + +#: ../admin/upgrade.php:22 +msgid "Upgrade database structure..." +msgstr "" + +#: ../admin/upgrade.php:108 +#: ../admin/upgrade.php:119 +#: ../admin/upgrade.php:126 +#: ../admin/upgrade.php:137 +#: ../admin/upgrade.php:151 +msgid "finished" +msgstr "" + +#: ../admin/upgrade.php:117 +msgid "Update file structure..." +msgstr "" + +#: ../admin/upgrade.php:124 +msgid "Import date and time information..." +msgstr "" + +#: ../admin/upgrade.php:132 +msgid "Move imagerotator to new location..." +msgstr "" + +#: ../admin/upgrade.php:143 +msgid "Update settings..." +msgstr "" + +#: ../admin/upgrade.php:157 +msgid "Updated widget structure. If you used NextGEN Widgets, you need to setup them again..." +msgstr "" + +#: ../admin/upgrade.php:165 +#: ../admin/upgrade.php:187 +msgid "Updated options." +msgstr "" + +#: ../admin/upgrade.php:172 +msgid "Create unique slug" +msgstr "" + +#: ../admin/upgrade.php:173 +msgid "One of the upcomming features are a reworked permalinks structure." +msgstr "" + +#: ../admin/upgrade.php:174 +msgid "Therefore it's needed to have a unique identifier for each image, gallery and album." +msgstr "" + +#: ../admin/upgrade.php:175 +msgid "Depend on the amount of database entries this will take a while, don't reload this page." +msgstr "" + +#: ../admin/upgrade.php:195 +msgid "Could not find NextGEN Gallery database tables, upgrade failed !" +msgstr "" + +#: ../admin/upgrade.php:258 +msgid "Some folders/files could not renamed, please recheck the permission and rescan the folder in the manage gallery section." +msgstr "" + +#: ../admin/upgrade.php:260 +msgid "Rename failed" +msgstr "" + +#: ../admin/upgrade.php:356 +#: ../admin/upgrade.php:375 +msgid "Upgrade NextGEN Gallery" +msgstr "" + +#: ../admin/upgrade.php:357 +msgid "The script detect that you upgrade from a older version." +msgstr "" + +#: ../admin/upgrade.php:358 +msgid "Your database tables for NextGEN Gallery is out-of-date, and must be upgraded before you can continue." +msgstr "" + +#: ../admin/upgrade.php:359 +msgid "If you would like to downgrade later, please make first a complete backup of your database and the images." +msgstr "" + +#: ../admin/upgrade.php:360 +msgid "The upgrade process may take a while, so please be patient." +msgstr "" + +#: ../admin/upgrade.php:361 +msgid "Start upgrade now" +msgstr "" + +#: ../admin/upgrade.php:377 +msgid "Upgrade finished..." +msgstr "" + +#: ../admin/upgrade.php:378 +msgid "Continue" +msgstr "" + +#: ../admin/upgrade.php:401 +#, php-format +msgid "Rebuild image structure : %s / %s images" +msgstr "" + +#: ../admin/upgrade.php:402 +#, php-format +msgid "Rebuild gallery structure : %s / %s galleries" +msgstr "" + +#: ../admin/upgrade.php:403 +#, php-format +msgid "Rebuild album structure : %s / %s albums" +msgstr "" + +#: ../admin/upgrade.php:460 +msgid "Done." +msgstr "" + +#: ../admin/wpmu.php:33 +msgid "Update successfully" +msgstr "" + +#: ../admin/wpmu.php:45 +#, php-format +msgid "Thanks for using this plugin, NextGEN Gallery is initially developed for self hosted blogs. A multisite setup is possible, but cannot currently fully supported, as it can have several special condition ( i.e. Domain mapping).<br /> If you would like to support the further development, please consider a <strong><a href=\"%s\">donation</a></strong>! If you still need some help, please post your questions <a href=\"http://wordpress.org/tags/nextgen-gallery?forum_id=10\">here</a> ." +msgstr "" + +#: ../admin/wpmu.php:62 +msgid "Network Options" +msgstr "" + +#: ../admin/wpmu.php:70 +msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better." +msgstr "" + +#: ../admin/wpmu.php:71 +#, php-format +msgid "The default setting should be %s" +msgstr "" + +#: ../admin/wpmu.php:75 +msgid "Enable upload quota check" +msgstr "" + +#: ../admin/wpmu.php:77 +msgid "Should work if the gallery is bellow the blog.dir" +msgstr "" + +#: ../admin/wpmu.php:81 +msgid "Enable zip upload option" +msgstr "" + +#: ../admin/wpmu.php:83 +msgid "Allow users to upload zip folders." +msgstr "" + +#: ../admin/wpmu.php:87 +msgid "Enable import function" +msgstr "" + +#: ../admin/wpmu.php:89 +msgid "Allow users to import images folders from the server." +msgstr "" + +#: ../admin/wpmu.php:93 +msgid "Enable style selection" +msgstr "" + +#: ../admin/wpmu.php:95 +msgid "Allow users to choose a style for the gallery." +msgstr "" + +#: ../admin/wpmu.php:99 +msgid "Enable roles/capabilities" +msgstr "" + +#: ../admin/wpmu.php:101 +msgid "Allow users to change the roles for other blog authors." +msgstr "" + +#: ../admin/wpmu.php:105 +msgid "Default style" +msgstr "" + +#: ../admin/wpmu.php:122 +msgid "Choose the default style for the galleries." +msgstr "" + +#: ../admin/tinymce/window.php:56 +msgid "Select or enter gallery" +msgstr "" + +#: ../admin/tinymce/window.php:61 +#: ../admin/tinymce/window.php:82 +msgid "Show as" +msgstr "" + +#: ../admin/tinymce/window.php:62 +msgid "Image list" +msgstr "" + +#: ../admin/tinymce/window.php:64 +msgid "Imagebrowser" +msgstr "" + +#: ../admin/tinymce/window.php:77 +msgid "Select or enter album" +msgstr "" + +#: ../admin/tinymce/window.php:83 +msgid "Extended version" +msgstr "" + +#: ../admin/tinymce/window.php:84 +msgid "Compact version" +msgstr "" + +#: ../admin/tinymce/window.php:97 +msgid "Select or enter picture" +msgstr "" + +#: ../admin/tinymce/window.php:102 +msgid "Width x Height" +msgstr "" + +#: ../admin/tinymce/window.php:106 +msgid "Effect" +msgstr "" + +#: ../admin/tinymce/window.php:109 +msgid "No effect" +msgstr "" + +#: ../admin/tinymce/window.php:111 +msgid "Web 2.0" +msgstr "" + +#: ../admin/tinymce/window.php:116 +msgid "Float" +msgstr "" + +#: ../admin/tinymce/window.php:119 +msgid "No float" +msgstr "" + +#: ../admin/tinymce/window.php:138 +msgid "Insert" +msgstr "" + +#: ../lib/core.php:407 +#, php-format +msgid "Note : Based on your server memory limit you should not upload larger images then <strong>%d x %d</strong> pixel" +msgstr "" + +#: ../lib/locale.php:120 +msgid "Invalid URL Provided." +msgstr "" + +#: ../lib/locale.php:124 +#: ../lib/locale.php:128 +msgid "Could not create Temporary file." +msgstr "" + +#: ../lib/meta.php:124 +msgid " mm" +msgstr "" + +#: ../lib/meta.php:130 +msgid " sec" +msgstr "" + +#: ../lib/meta.php:134 +msgid "Fired" +msgstr "" + +#: ../lib/meta.php:134 +msgid "Not fired" +msgstr "" + +#: ../lib/meta.php:430 +msgid "Aperture" +msgstr "" + +#: ../lib/meta.php:431 +#: ../lib/meta.php:456 +msgid "Credit" +msgstr "" + +#: ../lib/meta.php:432 +msgid "Camera" +msgstr "" + +#: ../lib/meta.php:433 +msgid "Caption" +msgstr "" + +#: ../lib/meta.php:435 +msgid "Copyright" +msgstr "" + +#: ../lib/meta.php:436 +msgid "Focal length" +msgstr "" + +#: ../lib/meta.php:437 +msgid "ISO" +msgstr "" + +#: ../lib/meta.php:438 +msgid "Shutter speed" +msgstr "" + +#: ../lib/meta.php:442 +msgid "Subject" +msgstr "" + +#: ../lib/meta.php:443 +msgid "Make" +msgstr "" + +#: ../lib/meta.php:444 +msgid "Edit Status" +msgstr "" + +#: ../lib/meta.php:445 +msgid "Category" +msgstr "" + +#: ../lib/meta.php:446 +msgid "Keywords" +msgstr "" + +#: ../lib/meta.php:447 +msgid "Date Created" +msgstr "" + +#: ../lib/meta.php:448 +msgid "Time Created" +msgstr "" + +#: ../lib/meta.php:449 +msgid "Author Position" +msgstr "" + +#: ../lib/meta.php:450 +msgid "City" +msgstr "" + +#: ../lib/meta.php:451 +msgid "Location" +msgstr "" + +#: ../lib/meta.php:452 +msgid "Province/State" +msgstr "" + +#: ../lib/meta.php:453 +msgid "Country code" +msgstr "" + +#: ../lib/meta.php:454 +msgid "Country" +msgstr "" + +#: ../lib/meta.php:455 +msgid "Headline" +msgstr "" + +#: ../lib/meta.php:457 +msgid "Source" +msgstr "" + +#: ../lib/meta.php:458 +msgid "Copyright Notice" +msgstr "" + +#: ../lib/meta.php:459 +msgid "Contact" +msgstr "" + +#: ../lib/meta.php:460 +msgid "Last modified" +msgstr "" + +#: ../lib/meta.php:461 +msgid "Program tool" +msgstr "" + +#: ../lib/meta.php:462 +msgid "Format" +msgstr "" + +#: ../lib/meta.php:463 +msgid "Image Width" +msgstr "" + +#: ../lib/meta.php:464 +msgid "Image Height" +msgstr "" + +#: ../lib/meta.php:465 +msgid "Flash" +msgstr "" + +#: ../lib/multisite.php:23 +msgid "Sorry, you have used your space allocation. Please delete some files to upload more files." +msgstr "" + +#: ../lib/ngg-db.php:331 +#: ../lib/ngg-db.php:332 +msgid "Album overview" +msgstr "" + +#: ../lib/shortcodes.php:311 +msgid "[Pictures not found]" +msgstr "" + +#: ../lib/tags.php:35 +msgid "No new tag specified!" +msgstr "" + +#: ../lib/tags.php:50 +msgid "No new/old valid tag specified!" +msgstr "" + +#: ../lib/tags.php:86 +msgid "No tag renamed." +msgstr "" + +#: ../lib/tags.php:88 +#, php-format +msgid "Renamed tag(s) «%1$s» to «%2$s»" +msgstr "" + +#: ../lib/tags.php:95 +msgid "No valid new tag." +msgstr "" + +#: ../lib/tags.php:112 +msgid "No objects (post/page) found for specified old tags." +msgstr "" + +#: ../lib/tags.php:141 +msgid "No tag merged." +msgstr "" + +#: ../lib/tags.php:143 +#, php-format +msgid "Merge tag(s) «%1$s» to «%2$s». %3$s objects edited." +msgstr "" + +#: ../lib/tags.php:146 +msgid "Error. No enough tags for rename. Too for merge. Choose !" +msgstr "" + +#: ../lib/tags.php:163 +msgid "No tag specified!" +msgstr "" + +#: ../lib/tags.php:186 +msgid "No tag deleted." +msgstr "" + +#: ../lib/tags.php:188 +#, php-format +msgid "%1s tag(s) deleted." +msgstr "" + +#: ../lib/tags.php:202 +msgid "No new slug(s) specified!" +msgstr "" + +#: ../lib/tags.php:214 +msgid "Tags number and slugs number isn't the same!" +msgstr "" + +#: ../lib/tags.php:241 +msgid "No slug edited." +msgstr "" + +#: ../lib/tags.php:243 +#, php-format +msgid "%s slug(s) edited." +msgstr "" + +#: ../lib/xmlrpc.php:66 +#, php-format +msgid "XML-RPC services are disabled on this blog. An admin user can enable them at %s" +msgstr "" + +#: ../lib/xmlrpc.php:73 +msgid "Bad login/pass combination." +msgstr "" + +#: ../lib/xmlrpc.php:129 +msgid "You are not allowed to upload files to this site." +msgstr "" + +#: ../lib/xmlrpc.php:135 +#: ../lib/xmlrpc.php:680 +msgid "Could not find gallery " +msgstr "" + +#: ../lib/xmlrpc.php:140 +#: ../lib/xmlrpc.php:685 +msgid "You are not allowed to upload files to this gallery." +msgstr "" + +#: ../lib/xmlrpc.php:152 +msgid "This is no valid image file." +msgstr "" + +#: ../lib/xmlrpc.php:164 +msgid "Could not find image id " +msgstr "" + +#: ../lib/xmlrpc.php:171 +#, php-format +msgid "Failed to delete image %1$s " +msgstr "" + +#: ../lib/xmlrpc.php:180 +#, php-format +msgid "Could not write file %1$s (%2$s)" +msgstr "" + +#: ../lib/xmlrpc.php:247 +#: ../lib/xmlrpc.php:299 +msgid "Invalid image ID" +msgstr "" + +#: ../lib/xmlrpc.php:250 +#: ../lib/xmlrpc.php:302 +msgid "Sorry, you must be able to edit this image" +msgstr "" + +#: ../lib/xmlrpc.php:308 +msgid "Sorry, could not update the image" +msgstr "" + +#: ../lib/xmlrpc.php:344 +#: ../lib/xmlrpc.php:576 +#: ../lib/xmlrpc.php:642 +msgid "Sorry, you must be able to manage galleries" +msgstr "" + +#: ../lib/xmlrpc.php:350 +msgid "Sorry, could not create the gallery" +msgstr "" + +#: ../lib/xmlrpc.php:393 +#: ../lib/xmlrpc.php:573 +msgid "Invalid gallery ID" +msgstr "" + +#: ../lib/xmlrpc.php:396 +msgid "Sorry, you must be able to manage this gallery" +msgstr "" + +#: ../lib/xmlrpc.php:402 +msgid "Sorry, could not update the gallery" +msgstr "" + +#: ../lib/xmlrpc.php:442 +#: ../lib/xmlrpc.php:494 +#: ../lib/xmlrpc.php:536 +#: ../lib/xmlrpc.php:609 +msgid "Sorry, you must be able to manage albums" +msgstr "" + +#: ../lib/xmlrpc.php:448 +msgid "Sorry, could not create the album" +msgstr "" + +#: ../lib/xmlrpc.php:491 +#: ../lib/xmlrpc.php:533 +msgid "Invalid album ID" +msgstr "" + +#: ../lib/xmlrpc.php:500 +msgid "Sorry, could not update the album" +msgstr "" + +#: ../view/album-compact.php:32 +#: ../view/album-extend.php:30 +msgid "Photos" +msgstr "" + +#: ../view/gallery-caption.php:32 +#: ../view/gallery.php:32 +#: ../widgets/media-rss-widget.php:122 +msgid "[View with PicLens]" +msgstr "" + +#: ../view/imagebrowser-caption.php:26 +#: ../view/imagebrowser-exif.php:30 +#: ../view/imagebrowser.php:26 +msgid "Back" +msgstr "" + +#: ../view/imagebrowser-caption.php:29 +#: ../view/imagebrowser-exif.php:33 +#: ../view/imagebrowser.php:29 +msgid "Next" +msgstr "" + +#: ../view/imagebrowser-caption.php:31 +#: ../view/imagebrowser-exif.php:35 +#: ../view/imagebrowser.php:31 +msgid "of" +msgstr "" + +#: ../view/imagebrowser-exif.php:38 +msgid "Meta data" +msgstr "" + +#: ../view/imagebrowser-exif.php:42 +msgid "Camera / Type" +msgstr "" + +#: ../view/imagebrowser-exif.php:50 +msgid "Focal Length" +msgstr "" + +#: ../widgets/media-rss-widget.php:19 +msgid "Widget that displays Media RSS links for NextGEN Gallery." +msgstr "" + +#: ../widgets/media-rss-widget.php:20 +msgid "NextGEN Media RSS" +msgstr "" + +#: ../widgets/media-rss-widget.php:68 +msgid "Media RSS" +msgstr "" + +#: ../widgets/media-rss-widget.php:69 +msgid "Link to the main image feed" +msgstr "" + +#: ../widgets/media-rss-widget.php:79 +#: ../widgets/widgets.php:201 +msgid "Title :" +msgstr "" + +#: ../widgets/media-rss-widget.php:87 +msgid "Show Media RSS icon" +msgstr "" + +#: ../widgets/media-rss-widget.php:93 +msgid "Show the Media RSS link" +msgstr "" + +#: ../widgets/media-rss-widget.php:98 +msgid "Text for Media RSS link:" +msgstr "" + +#: ../widgets/media-rss-widget.php:104 +msgid "Tooltip text for Media RSS link:" +msgstr "" + +#: ../widgets/widgets.php:22 +msgid "Show a NextGEN Gallery Slideshow" +msgstr "" + +#: ../widgets/widgets.php:23 +msgid "NextGEN Slideshow" +msgstr "" + +#: ../widgets/widgets.php:64 +msgid "<a href=\"http://www.macromedia.com/go/getflashplayer\">Get the Flash Player</a> to see the slideshow." +msgstr "" + +#: ../widgets/widgets.php:121 +msgid "Title:" +msgstr "" + +#: ../widgets/widgets.php:123 +msgid "Select Gallery:" +msgstr "" + +#: ../widgets/widgets.php:125 +msgid "All images" +msgstr "" + +#: ../widgets/widgets.php:137 +msgid "Height:" +msgstr "" + +#: ../widgets/widgets.php:138 +msgid "Width:" +msgstr "" + +#: ../widgets/widgets.php:160 +msgid "Add recent or random images from the galleries" +msgstr "" + +#: ../widgets/widgets.php:161 +msgid "NextGEN Widget" +msgstr "" + +#: ../widgets/widgets.php:207 +msgid "Show :" +msgstr "" + +#: ../widgets/widgets.php:213 +msgid "Original images" +msgstr "" + +#: ../widgets/widgets.php:222 +msgid "recent added " +msgstr "" + +#: ../widgets/widgets.php:228 +msgid "Enable IE8 Web Slices" +msgstr "" + +#: ../widgets/widgets.php:233 +msgid "Width x Height :" +msgstr "" + +#: ../widgets/widgets.php:239 +msgid "Select :" +msgstr "" + +#: ../widgets/widgets.php:241 +msgid "All galleries" +msgstr "" + +#: ../widgets/widgets.php:242 +msgid "Only which are not listed" +msgstr "" + +#: ../widgets/widgets.php:243 +msgid "Only which are listed" +msgstr "" + +#: ../widgets/widgets.php:249 +msgid "Gallery ID :" +msgstr "" + +#: ../widgets/widgets.php:251 +msgid "Gallery IDs, separated by commas." +msgstr "" + +#: ../xml/media-rss.php:50 +msgid "No galleries have been yet created." +msgstr "" + +#: ../xml/media-rss.php:69 +#, php-format +msgid "The gallery ID=%s does not exist." +msgstr "" + +#: ../xml/media-rss.php:100 +msgid "No album ID has been provided as parameter" +msgstr "" + +#: ../xml/media-rss.php:108 +#, php-format +msgid "The album ID=%s does not exist." +msgstr "" + +#: ../xml/media-rss.php:115 +msgid "Invalid MediaRSS command" +msgstr "" + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php new file mode 100644 index 000000000..c63af4374 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/class.ngg_serializable.php @@ -0,0 +1,45 @@ +<?php + +class Ngg_Serializable +{ + /** + * Serializes the data + * @param mixed $value + * @return string + */ + function serialize($value) + { + //Using json_encode here because PHP's serialize is not Unicode safe + return base64_encode(json_encode($value)); + } + + + /** + * Unserializes data using our proprietary format + * @param string $value + * @return mixed + */ + function unserialize($value) + { + $retval = NULL; + if (is_string($value)) + { + $retval = stripcslashes($value); + + if (strlen($value) > 1) + { + //Using json_decode here because PHP's unserialize is not Unicode safe + $retval = json_decode(base64_decode($retval), TRUE); + + // JSON Decoding failed. Perhaps it's PHP serialized data? + if ($retval === NULL) { + $er = error_reporting(0); + $retval = unserialize($value); + error_reporting($er); + } + } + } + + return $retval; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php new file mode 100644 index 000000000..110b9e42f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/core.php @@ -0,0 +1,600 @@ +<?php +/** +* Main PHP class for the WordPress plugin NextGEN Gallery +* +* @author Alex Rabe +* +* +*/ +class nggGallery { + + /** + * Show a error messages + */ + static function show_error($message) { + echo '<div class="wrap"><h2></h2><div class="error" id="error"><p>' . $message . '</p></div></div>' . "\n"; + } + + /** + * Show a system messages + */ + static function show_message($message) { + echo '<div class="wrap"><h2></h2><div class="updated fade" id="message"><p>' . $message . '</p></div></div>' . "\n"; + } + + /** + * get the thumbnail url to the image + */ + static function get_thumbnail_url($imageID, $picturepath = '', $fileName = ''){ + // get the complete url to the thumbnail + global $wpdb; + + // safety first + $imageID = (int) $imageID; + + // get gallery values + if ( empty($fileName) ) { + list($fileName, $picturepath ) = $wpdb->get_row("SELECT p.filename, g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' ", ARRAY_N); + } + + if ( empty($picturepath) ) { + $picturepath = $wpdb->get_var("SELECT g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' "); + } + + // set gallery url + $folder_url = site_url() . '/' . $picturepath.nggGallery::get_thumbnail_folder($picturepath, FALSE); + $thumbnailURL = $folder_url . 'thumbs_' . $fileName; + + return $thumbnailURL; + } + + /** + * get the complete url to the image + */ + static function get_image_url($imageID, $picturepath = '', $fileName = '') { + global $wpdb; + + // safety first + $imageID = (int) $imageID; + + // get gallery values + if (empty($fileName)) { + list($fileName, $picturepath ) = $wpdb->get_row("SELECT p.filename, g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' ", ARRAY_N); + } + + if (empty($picturepath)) { + $picturepath = $wpdb->get_var("SELECT g.path FROM $wpdb->nggpictures AS p INNER JOIN $wpdb->nggallery AS g ON (p.galleryid = g.gid) WHERE p.pid = '$imageID' "); + } + + // set gallery url + $imageURL = site_url() . '/' . $picturepath . '/' . $fileName; + + return $imageURL; + } + + /** + * nggGallery::get_thumbnail_folder() + * + * @param mixed $gallerypath + * @param bool $include_Abspath + * @return string $foldername + */ + static function create_thumbnail_folder($gallerypath, $include_Abspath = TRUE) { + if (!$include_Abspath) { + $gallerypath = WINABSPATH . $gallerypath; + } + + if (!file_exists($gallerypath)) { + return FALSE; + } + + if (is_dir($gallerypath . '/thumbs/')) { + return '/thumbs/'; + } + + if (is_admin()) { + if (!is_dir($gallerypath . '/thumbs/')) { + if ( !wp_mkdir_p($gallerypath . '/thumbs/') ) { + if (SAFE_MODE) { + nggAdmin::check_safemode($gallerypath . '/thumbs/'); + } else { + nggGallery::show_error(__('Unable to create directory ', 'nggallery') . $gallerypath . '/thumbs !'); + } + return FALSE; + } + return '/thumbs/'; + } + } + + return FALSE; + + } + + /** + * nggGallery::get_thumbnail_folder() + * + * @param mixed $gallerypath + * @param bool $include_Abspath + * @deprecated use create_thumbnail_folder() if needed; + * @return string $foldername + */ + static function get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) { + return nggGallery::create_thumbnail_folder($gallerypath, $include_Abspath); + } + + /** + * nggGallery::get_thumbnail_prefix() - obsolete + * + * @param string $gallerypath + * @param bool $include_Abspath + * @deprecated prefix is now fixed to "thumbs_"; + * @return string "thumbs_"; + */ + static function get_thumbnail_prefix($gallerypath, $include_Abspath = TRUE) { + return 'thumbs_'; + } + + /** + * nggGallery::get_option() - get the options and overwrite them with custom meta settings + * + * @param string $key + * @return array $options + */ + static function get_option($key) { + global $post; + + // get first the options from the database + $options = get_option($key); + + if ( $post == null ) + return $options; + + // Get all key/value data for the current post. + $meta_array = get_post_custom(); + + // Ensure that this is a array + if ( !is_array($meta_array) ) + $meta_array = array($meta_array); + + // assign meta key to db setting key + $meta_tags = array( + 'string' => array( + 'ngg_gal_ShowOrder' => 'galShowOrder', + 'ngg_gal_Sort' => 'galSort', + 'ngg_gal_SortDirection' => 'galSortDir', + 'ngg_gal_ShowDescription' => 'galShowDesc', + 'ngg_ir_Audio' => 'irAudio', + 'ngg_ir_Overstretch' => 'irOverstretch', + 'ngg_ir_Transition' => 'irTransition', + 'ngg_ir_Backcolor' => 'irBackcolor', + 'ngg_ir_Frontcolor' => 'irFrontcolor', + 'ngg_ir_Lightcolor' => 'irLightcolor', + 'ngg_slideshowFX' => 'slideFx', + ), + + 'int' => array( + 'ngg_gal_Images' => 'galImages', + 'ngg_gal_Columns' => 'galColumns', + 'ngg_paged_Galleries' => 'galPagedGalleries', + 'ngg_ir_Width' => 'irWidth', + 'ngg_ir_Height' => 'irHeight', + 'ngg_ir_Rotatetime' => 'irRotatetime' + ), + + 'bool' => array( + 'ngg_gal_ShowSlide' => 'galShowSlide', + 'ngg_gal_ShowPiclense' => 'usePicLens', + 'ngg_gal_ImageBrowser' => 'galImgBrowser', + 'ngg_gal_HideImages' => 'galHiddenImg', + 'ngg_ir_Shuffle' => 'irShuffle', + 'ngg_ir_LinkFromDisplay' => 'irLinkfromdisplay', + 'ngg_ir_ShowNavigation' => 'irShownavigation', + 'ngg_ir_ShowWatermark' => 'irWatermark', + 'ngg_ir_Kenburns' => 'irKenburns' + ) + ); + + foreach ($meta_tags as $typ => $meta_keys){ + foreach ($meta_keys as $key => $db_value){ + // if the kex exist overwrite it with the custom field + if (array_key_exists($key, $meta_array)){ + switch ($typ) { + case 'string': + $options[$db_value] = (string) esc_attr($meta_array[$key][0]); + break; + case 'int': + $options[$db_value] = (int) $meta_array[$key][0]; + break; + case 'bool': + $options[$db_value] = (bool) $meta_array[$key][0]; + break; + } + } + } + } + + return $options; + } + + /** + * nggGallery::scale_image() - Scale down a image + * + * @param mixed $location (filename) + * @param int $maxw - max width + * @param int $maxh - max height + * @return array (width, heigth) + */ + static function scale_image($location, $maxw = 0, $maxh = 0){ + $img = @getimagesize($location); + if ($img){ + $w = $img[0]; + $h = $img[1]; + + $dim = array('w','h'); + foreach($dim AS $val) { + $max = "max{$val}"; + if(${$val} > ${$max} && ${$max}){ + $alt = ($val == 'w') ? 'h' : 'w'; + $ratio = ${$alt} / ${$val}; + ${$val} = ${$max}; + ${$alt} = ${$val} * $ratio; + } + } + + return array( $w, $h ); + } + return false; + } + + /** + * Renders a section of user display code. The code is first checked for in the current theme display directory + * before defaulting to the plugin + * Call the function : nggGallery::render ('template_name', array ('var1' => $var1, 'var2' => $var2)); + * + * @autor John Godley + * @param string $template_name Name of the template file (without extension) + * @param string $vars Array of variable name=>value that is available to the display code (optional) + * @param bool $callback In case we check we didn't find template we tested it one time more (optional) + * @return void + **/ + static function render($template_name, $vars = array (), $callback = false) { + foreach ($vars AS $key => $val) { + $$key = $val; + } + + // hook into the render feature to allow other plugins to include templates + $custom_template = apply_filters( 'ngg_render_template', false, $template_name ); + + if ( ( $custom_template != false ) && file_exists ($custom_template) ) { + include ( $custom_template ); + } else if (file_exists(WP_CONTENT_DIR . "/{$template_name}.php")) { + include (WP_CONTENT_DIR . "/{$template_name}.php"); + } else if (file_exists(WP_CONTENT_DIR . "/{$template_name}.php")) { + include (WP_CONTENT_DIR . "/nggallery/{$template_name}.php"); + } else if (file_exists (STYLESHEETPATH . "/nggallery/$template_name.php")) { + include (STYLESHEETPATH . "/nggallery/$template_name.php"); + } else if (file_exists (NGGALLERY_ABSPATH . "/view/$template_name.php")) { + include (NGGALLERY_ABSPATH . "/view/$template_name.php"); + } else if ( $callback === true ) { + echo "<p>Rendering of template $template_name.php failed</p>"; + } else { + //test without the "-template" name one time more + $template_name = array_shift( explode('-', $template_name , 2) ); + nggGallery::render ($template_name, $vars , true); + } + } + + /** + * Captures an section of user display code. + * + * @autor John Godley + * @param string $template_name Name of the template file (without extension) + * @param string $vars Array of variable name=>value that is available to the display code (optional) + * @return void + **/ + static function capture ($template_name, $vars = array ()) { + ob_start (); + nggGallery::render ($template_name, $vars); + $output = ob_get_contents (); + ob_end_clean (); + + return $output; + } + + /** + * nggGallery::graphic_library() - switch between GD and ImageMagick + * + * @return path to the selected library + */ + static function graphic_library() { + + $ngg_options = get_option('ngg_options'); + + if ( $ngg_options['graphicLibrary'] == 'im') + return NGGALLERY_ABSPATH . '/lib/imagemagick.inc.php'; + else + return NGGALLERY_ABSPATH . '/lib/gd.thumbnail.inc.php'; + + } + + /** + * Look for the stylesheet in the theme folder + * + * @return string path to stylesheet + */ + static function get_theme_css_file() { + + // allow other plugins to include a custom stylesheet + $stylesheet = apply_filters( 'ngg_load_stylesheet', false ); + + if ( $stylesheet !== false ) + return ( $stylesheet ); + elseif ( file_exists (STYLESHEETPATH . '/nggallery.css') ) + return get_stylesheet_directory_uri() . '/nggallery.css'; + else + return false; + } + + /** + * Support for i18n with wpml, polyglot or qtrans + * + * @param string $in + * @param string $name (optional) required for wpml to determine the type of translation + * @return string $in localized + */ + static function i18n($in, $name = null) { + + if ( function_exists( 'langswitch_filter_langs_with_message' ) ) + $in = langswitch_filter_langs_with_message($in); + + if ( function_exists( 'polyglot_filter' )) + $in = polyglot_filter($in); + + if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' )) + $in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($in); + + if (is_string($name) && !empty($name) && function_exists('icl_translate')) + $in = icl_translate('plugin_ngg', $name, $in, true); + + $in = apply_filters('localization', $in); + + return $in; + } + + /** + * This function register strings for the use with WPML plugin (see http://wpml.org/ ) + * + * @param object $image + * @return void + */ + static function RegisterString($image) { + if (function_exists('icl_register_string')) { + global $wpdb; + icl_register_string('plugin_ngg', 'pic_' . $image->pid . '_description', $image->description, TRUE); + icl_register_string('plugin_ngg', 'pic_' . $image->pid . '_alttext', $image->alttext, TRUE); + } + } + + /** + * Check the memory_limit and calculate a recommended memory size + * + * @since V1.2.0 + * @return string message about recommended image size + */ + static function check_memory_limit() { + + if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) { + + // get memory limit + $memory_limit = ini_get('memory_limit'); + if ($memory_limit != '') + $memory_limit = substr($memory_limit, 0, -1) * 1024 * 1024; + + // calculate the free memory + $freeMemory = $memory_limit - memory_get_usage(); + + // build the test sizes + $sizes = array(); + $sizes[] = array ( 'width' => 800, 'height' => 600); + $sizes[] = array ( 'width' => 1024, 'height' => 768); + $sizes[] = array ( 'width' => 1280, 'height' => 960); // 1MP + $sizes[] = array ( 'width' => 1600, 'height' => 1200); // 2MP + $sizes[] = array ( 'width' => 2016, 'height' => 1512); // 3MP + $sizes[] = array ( 'width' => 2272, 'height' => 1704); // 4MP + $sizes[] = array ( 'width' => 2560, 'height' => 1920); // 5MP + + // test the classic sizes + foreach ($sizes as $size){ + // very, very rough estimation + if ($freeMemory < round( $size['width'] * $size['height'] * 5.09 )) { + $result = sprintf( __( 'Note : Based on your server memory limit you should not upload larger images then <strong>%d x %d</strong> pixel', 'nggallery' ), $size['width'], $size['height']); + return $result; + } + } + } + return; + } + + /** + * Slightly modfifed version of pathinfo(), clean up filename & rename jpeg to jpg + * + * @param string $name The name being checked. + * @return array containing information about file + */ + static function fileinfo( $name ) { + + $name_old = $name; + //Sanitizes a filename replacing whitespace with dashes + $name = sanitize_file_name($name); + + //get the parts of the name + $filepart = pathinfo ( strtolower($name) ); + $filepart_old = pathinfo ( strtolower($name_old) ); + + if ( empty($filepart) ) + return false; + + if ( empty($filepart['extension']) && !empty($filepart_old['extension'])) { + $filepart = pathinfo ( strtolower($name . '.' . $filepart_old['extension']) ); + } + + // required until PHP 5.2.0 + if ( empty($filepart['filename']) ) + $filepart['filename'] = substr($filepart['basename'],0 ,strlen($filepart['basename']) - (strlen($filepart['extension']) + 1) ); + + // XXX this sanitation seems unneeded, not sure why it's here...it forces all non-ASCII chars to be URL-encoded + //$filepart['filename'] = sanitize_title_with_dashes( $filepart['filename'] ); + + //extension jpeg will not be recognized by the slideshow, so we rename it + $filepart['extension'] = ($filepart['extension'] == 'jpeg') ? 'jpg' : $filepart['extension']; + + //combine the new file name + $filepart['basename'] = $filepart['filename'] . '.' . $filepart['extension']; + + return $filepart; + } + + /** + * Check for extended capabilites. Must previously registers with add_ngg_capabilites() + * + * @since 1.5.0 + * @param string $capability + * @return bool $result of capability check + */ + static function current_user_can( $capability ) { + + global $_ngg_capabilites; + + if ( is_array($_ngg_capabilites) ) + if ( in_array($capability , $_ngg_capabilites) ) + return current_user_can( $capability ); + + return true; + } + + /** + * Check for extended capabilites and echo disabled="disabled" for input form + * + * @since 1.5.0 + * @param string $capability + * @return void + */ + static function current_user_can_form( $capability ) { + + if ( !nggGallery::current_user_can( $capability )) + echo 'disabled="disabled"'; + } + + /** + * Register more capabilities for custom use and add it to the administrator + * + * @since 1.5.0 + * @param string $capability + * @param bool $register the new capability automatic to the admin role + * @return void + */ + static function add_capabilites( $capability , $register = true ) { + global $_ngg_capabilites; + + if ( !is_array($_ngg_capabilites) ) + $_ngg_capabilites = array(); + + $_ngg_capabilites[] = $capability; + + if ( $register ) { + $role = get_role('administrator'); + if ( !empty($role) ) + $role->add_cap( $capability ); + } + + } + + /** + * Check for mobile user agent + * + * @since 1.6.0 + * @author Part taken from WPtouch plugin (http://www.bravenewcode.com) + * @return bool $result of check + */ + static function detect_mobile_phone() { + + $useragents = array(); + + // Check if WPtouch is running + if ( function_exists('bnc_wptouch_get_user_agents') ) + $useragents = bnc_wptouch_get_user_agents(); + else { + $useragents = array( + "iPhone", // Apple iPhone + "iPod", // Apple iPod touch + "Android", // 1.5+ Android + "dream", // Pre 1.5 Android + "CUPCAKE", // 1.5+ Android + "blackberry9500", // Storm + "blackberry9530", // Storm + "blackberry9520", // Storm v2 + "blackberry9550", // Storm v2 + "blackberry9800", // Torch + "webOS", // Palm Pre Experimental + "incognito", // Other iPhone browser + "webmate" // Other iPhone browser + ); + + asort( $useragents ); + } + + // Godfather Steve says no to flash + if ( is_array($useragents) ) + $useragents[] = "iPad"; // Apple iPad; + + // WPtouch User Agent Filter + $useragents = apply_filters( 'wptouch_user_agents', $useragents ); + + foreach ( $useragents as $useragent ) { + if ( preg_match( "#$useragent#i", $_SERVER['HTTP_USER_AGENT'] ) ) + return true; + } + + return false; + } + + /** + * get_memory_usage + * + * @access only for debug purpose + * @since 1.8.3 + * @param string $text + * @return void + */ + static function get_memory( $text = '' ) { + global $memory; + + $memory_peak = memory_get_usage(); + $diff = 0; + + if ( isset($memory) ) + $diff = $memory_peak - $memory; + + $exp = ($diff < 0) ? '-' : ''; + $diff = ($exp == '-') ? 0 - $diff : $diff; + + $memory = $memory_peak; + + $unit = array('b','kb','mb','gb','tb','pb'); + $rounded = @round($diff/pow(1024,($i=floor(log($diff,1024)))),2).' '.$unit[$i]; + + echo $text . ': ' . $exp . $rounded .'<br />'; + + } + + /** + * Show NextGEN Version in header + * @since 1.9.0 + * + * @return void + */ + static function nextgen_version() { + global $ngg; + echo apply_filters('show_nextgen_version', '<!-- <meta name="NextGEN" version="'. $ngg->version . '" /> -->' . "\n"); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php new file mode 100644 index 000000000..e8b7ac538 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php @@ -0,0 +1,943 @@ +<?php +/** + * gd.thumbnail.inc.php + * + * @author Ian Selby (ian@gen-x-design.com) + * @copyright Copyright 2006-2011 + * @version 1.3.0 (based on 1.1.3) + * @modded by Alex Rabe + * + */ + +/** + * PHP class for dynamically resizing, cropping, and rotating images for thumbnail purposes and either displaying them on-the-fly or saving them. + * + */ +class ngg_Thumbnail { + /** + * Error message to display, if any + * + * @var string + */ + var $errmsg; + /** + * Whether or not there is an error + * + * @var boolean + */ + var $error; + /** + * Format of the image file + * + * @var string + */ + var $format; + /** + * File name and path of the image file + * + * @var string + */ + var $fileName; + /** + * Current dimensions of working image + * + * @var array + */ + var $currentDimensions; + /** + * New dimensions of working image + * + * @var array + */ + var $newDimensions; + /** + * Image resource for newly manipulated image + * + * @var resource + * @access private + */ + var $newImage; + /** + * Image resource for image before previous manipulation + * + * @var resource + * @access private + */ + var $oldImage; + /** + * Image resource for image being currently manipulated + * + * @var resource + * @access private + */ + var $workingImage; + /** + * Percentage to resize image by + * + * @var int + * @access private + */ + var $percent; + /** + * Maximum width of image during resize + * + * @var int + * @access private + */ + var $maxWidth; + /** + * Maximum height of image during resize + * + * @var int + * @access private + */ + var $maxHeight; + /** + * Image for Watermark + * + * @var string + * + */ + var $watermarkImgPath; + /** + * Text for Watermark + * + * @var string + * + */ + var $watermarkText; + /** + * Image Resource ID for Watermark + * + * @var string + * + */ + function ngg_Thumbnail($fileName,$no_ErrorImage = false) { + //make sure the GD library is installed + if(!function_exists("gd_info")) { + echo 'You do not have the GD Library installed. This class requires the GD library to function properly.' . "\n"; + echo 'visit http://us2.php.net/manual/en/ref.image.php for more information'; + C_NextGEN_Bootstrap::shutdown(); + } + //initialize variables + $this->errmsg = ''; + $this->error = false; + $this->currentDimensions = array(); + $this->newDimensions = array(); + $this->fileName = $fileName; + $this->percent = 100; + $this->maxWidth = 0; + $this->maxHeight = 0; + $this->watermarkImgPath = ''; + $this->watermarkText = ''; + + //check to see if file exists + if(!file_exists($this->fileName)) { + $this->errmsg = 'File not found'; + $this->error = true; + } + //check to see if file is readable + elseif(!is_readable($this->fileName)) { + $this->errmsg = 'File is not readable'; + $this->error = true; + } + + //if there are no errors, determine the file format + if($this->error == false) { + $data = @getimagesize($this->fileName); + if (isset($data) && is_array($data)) { + $extensions = array('1' => 'GIF', '2' => 'JPG', '3' => 'PNG'); + $extension = array_key_exists($data[2], $extensions) ? $extensions[$data[2]] : ''; + if($extension) { + $this->format = $extension; + } else { + $this->errmsg = 'Unknown file format'; + $this->error = true; + } + } else { + $this->errmsg = 'File is not an image'; + $this->error = true; + } + } + + // increase memory-limit if possible, GD needs this for large images + // @ini_set('memory_limit', '128M'); + + if($this->error == false) { + // Check memory consumption if file exists + $this->checkMemoryForImage($this->fileName); + } + + //initialize resources if no errors + if($this->error == false) { + + switch($this->format) { + case 'GIF': + $this->oldImage = ImageCreateFromGif($this->fileName); + break; + case 'JPG': + $this->oldImage = ImageCreateFromJpeg($this->fileName); + break; + case 'PNG': + $this->oldImage = ImageCreateFromPng($this->fileName); + break; + } + if (!$this->oldImage) { + $this->errmsg = 'Create Image failed. Check memory limit'; + $this->error = true; + } else { + $size = GetImageSize($this->fileName); + $this->currentDimensions = array('width'=>$size[0],'height'=>$size[1]); + $this->newImage = $this->oldImage; + } + } + + + if($this->error == true) { + if(!$no_ErrorImage) + $this->showErrorImage(); + return; + } + } + + /** + * Calculate the memory limit + * + */ + function checkMemoryForImage( $filename ){ + + if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) { + $imageInfo = getimagesize($filename); + switch($this->format) { + case 'GIF': + // measured factor 1 is better + $CHANNEL = 1; + break; + case 'JPG': + $CHANNEL = $imageInfo['channels']; + break; + case 'PNG': + // didn't get the channel for png + $CHANNEL = 3; + break; + } + $MB = 1048576; // number of bytes in 1M + $K64 = 65536; // number of bytes in 64K + $TWEAKFACTOR = 1.68; // Or whatever works for you + $memoryNeeded = round( ( $imageInfo[0] * $imageInfo[1] + * $imageInfo['bits'] + * $CHANNEL / 8 + + $K64 + ) * $TWEAKFACTOR + ); + $memoryNeeded = memory_get_usage() + $memoryNeeded; + // get memory limit + $memory_limit = ini_get('memory_limit'); + + // PHP docs : Note that to have no memory limit, set this directive to -1. + if ($memory_limit == -1 ) return; + + // Just check megabyte limits, not higher + if ( strtolower(substr($memory_limit, -1)) == 'm' ) { + + if ($memory_limit != '') { + $memory_limit = substr($memory_limit, 0, -1) * 1024 * 1024; + } + + if ($memoryNeeded > $memory_limit) { + $memoryNeeded = round ($memoryNeeded / 1024 / 1024, 2); + $this->errmsg = 'Exceed Memory limit. Require : '.$memoryNeeded. " MByte" ; + $this->error = true; + } + } + } + return; + } + + /** + * Must be called to free up allocated memory after all manipulations are done + * + */ + function destruct() { + if(is_resource($this->newImage)) @ImageDestroy($this->newImage); + if(is_resource($this->oldImage)) @ImageDestroy($this->oldImage); + if(is_resource($this->workingImage)) @ImageDestroy($this->workingImage); + } + + /** + * Returns the current width of the image + * + * @return int + */ + function getCurrentWidth() { + return $this->currentDimensions['width']; + } + + /** + * Returns the current height of the image + * + * @return int + */ + function getCurrentHeight() { + return $this->currentDimensions['height']; + } + + /** + * Calculates new image width + * + * @param int $width + * @param int $height + * @return array + */ + function calcWidth($width,$height) { + $newWp = (100 * $this->maxWidth) / $width; + $newHeight = ($height * $newWp) / 100; + return array('newWidth'=>intval($this->maxWidth),'newHeight'=>intval($newHeight)); + } + + /** + * Calculates new image height + * + * @param int $width + * @param int $height + * @return array + */ + function calcHeight($width,$height) { + $newHp = (100 * $this->maxHeight) / $height; + $newWidth = ($width * $newHp) / 100; + return array('newWidth'=>intval($newWidth),'newHeight'=>intval($this->maxHeight)); + } + + /** + * Calculates new image size based on percentage + * + * @param int $width + * @param int $height + * @return array + */ + function calcPercent($width,$height) { + $newWidth = ($width * $this->percent) / 100; + $newHeight = ($height * $this->percent) / 100; + return array('newWidth'=>intval($newWidth),'newHeight'=>intval($newHeight)); + } + + /** + * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight + * + * @param int $width + * @param int $height + */ + function calcImageSize($width,$height) { + $newSize = array('newWidth'=>$width,'newHeight'=>$height); + + if($this->maxWidth > 0) { + + $newSize = $this->calcWidth($width,$height); + + if($this->maxHeight > 0 && $newSize['newHeight'] > $this->maxHeight) { + $newSize = $this->calcHeight($newSize['newWidth'],$newSize['newHeight']); + } + + //$this->newDimensions = $newSize; + } + + if($this->maxHeight > 0) { + $newSize = $this->calcHeight($width,$height); + + if($this->maxWidth > 0 && $newSize['newWidth'] > $this->maxWidth) { + $newSize = $this->calcWidth($newSize['newWidth'],$newSize['newHeight']); + } + + //$this->newDimensions = $newSize; + } + + $this->newDimensions = $newSize; + } + + /** + * Calculates new image size based percentage + * + * @param int $width + * @param int $height + */ + function calcImageSizePercent($width,$height) { + if($this->percent > 0) { + $this->newDimensions = $this->calcPercent($width,$height); + } + } + + /** + * Displays error image + * + */ + function showErrorImage() { + header('Content-type: image/png'); + $errImg = ImageCreate(220,25); + $bgColor = imagecolorallocate($errImg,0,0,0); + $fgColor1 = imagecolorallocate($errImg,255,255,255); + $fgColor2 = imagecolorallocate($errImg,255,0,0); + imagestring($errImg,3,6,6,'Error:',$fgColor2); + imagestring($errImg,3,55,6,$this->errmsg,$fgColor1); + imagepng($errImg); + imagedestroy($errImg); + } + + /** + * Resizes image to fixed Width x Height + * + * @param int $Width + * @param int $Height + */ + function resizeFix($Width = 0, $Height = 0, $deprecated = 3) { + $this->newWidth = $Width; + $this->newHeight = $Height; + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($this->newWidth,$this->newHeight); + } + else { + $this->workingImage = ImageCreate($this->newWidth,$this->newHeight); + } + +// ImageCopyResampled( + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + 0, + 0, + $this->newWidth, + $this->newHeight, + $this->currentDimensions['width'], + $this->currentDimensions['height'] + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $this->newWidth; + $this->currentDimensions['height'] = $this->newHeight; + } + + + /** + * Resizes image to maxWidth x maxHeight + * + * @param int $maxWidth + * @param int $maxHeight + */ + function resize($maxWidth = 0, $maxHeight = 0, $deprecated = 3) { + $this->maxWidth = $maxWidth; + $this->maxHeight = $maxHeight; + + $this->calcImageSize($this->currentDimensions['width'],$this->currentDimensions['height']); + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + else { + $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + +// ImageCopyResampled( + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + 0, + 0, + $this->newDimensions['newWidth'], + $this->newDimensions['newHeight'], + $this->currentDimensions['width'], + $this->currentDimensions['height'] + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $this->newDimensions['newWidth']; + $this->currentDimensions['height'] = $this->newDimensions['newHeight']; + } + + /** + * Resizes the image by $percent percent + * + * @param int $percent + */ + function resizePercent($percent = 0) { + $this->percent = $percent; + + $this->calcImageSizePercent($this->currentDimensions['width'],$this->currentDimensions['height']); + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + else { + $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); + } + + $this->ImageCopyResampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + 0, + 0, + $this->newDimensions['newWidth'], + $this->newDimensions['newHeight'], + $this->currentDimensions['width'], + $this->currentDimensions['height'] + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $this->newDimensions['newWidth']; + $this->currentDimensions['height'] = $this->newDimensions['newHeight']; + } + + /** + * Crops the image from calculated center in a square of $cropSize pixels + * + * @param int $cropSize + */ + function cropFromCenter($cropSize) { + if($cropSize > $this->currentDimensions['width']) $cropSize = $this->currentDimensions['width']; + if($cropSize > $this->currentDimensions['height']) $cropSize = $this->currentDimensions['height']; + + $cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2); + $cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2); + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($cropSize,$cropSize); + } + else { + $this->workingImage = ImageCreate($cropSize,$cropSize); + } + + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + $cropX, + $cropY, + $cropSize, + $cropSize, + $cropSize, + $cropSize + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $cropSize; + $this->currentDimensions['height'] = $cropSize; + } + + /** + * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner. + * + * @param int $startX + * @param int $startY + * @param int $width + * @param int $height + */ + function crop($startX, $startY, $width, $height) { + //make sure the cropped area is not greater than the size of the image + if($width > $this->currentDimensions['width']) $width = $this->currentDimensions['width']; + if($height > $this->currentDimensions['height']) $height = $this->currentDimensions['height']; + //make sure not starting outside the image + if(($startX + $width) > $this->currentDimensions['width']) $startX = ($this->currentDimensions['width'] - $width); + if(($startY + $height) > $this->currentDimensions['height']) $startY = ($this->currentDimensions['height'] - $height); + if($startX < 0) $startX = 0; + if($startY < 0) $startY = 0; + + if(function_exists("ImageCreateTrueColor")) { + $this->workingImage = ImageCreateTrueColor($width,$height); + } + else { + $this->workingImage = ImageCreate($width,$height); + } + + $this->imagecopyresampled( + $this->workingImage, + $this->oldImage, + 0, + 0, + $startX, + $startY, + $width, + $height, + $width, + $height + ); + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $width; + $this->currentDimensions['height'] = $height; + } + + /** + * Outputs the image to the screen, or saves to $name if supplied. Quality of JPEG images can be controlled with the $quality variable + * + * @param int $quality + * @param string $name + */ + function show($quality=100,$name = '') { + switch($this->format) { + case 'GIF': + if($name != '') { + @ImageGif($this->newImage,$name) or $this->error = true; + } + else { + header('Content-type: image/gif'); + ImageGif($this->newImage); + } + break; + case 'JPG': + if($name != '') { + @ImageJpeg($this->newImage,$name,$quality) or $this->error = true; + } + else { + header('Content-type: image/jpeg'); + ImageJpeg($this->newImage,NULL,$quality); + } + break; + case 'PNG': + if($name != '') { + @ImagePng($this->newImage,$name) or $this->error = true; + } + else { + header('Content-type: image/png'); + ImagePng($this->newImage); + } + break; + } + } + + /** + * Saves image as $name (can include file path), with quality of # percent if file is a jpeg + * + * @param string $name + * @param int $quality + * @return bool errorstate + */ + function save($name,$quality=100) { + $this->show($quality,$name); + if ($this->error == true) { + $this->errmsg = 'Create Image failed. Check safe mode settings'; + return false; + } + + if( function_exists('do_action') ) + do_action('ngg_ajax_image_save', $name); + + return true; + } + + /** + * Creates Apple-style reflection under image, optionally adding a border to main image + * + * @param int $percent + * @param int $reflection + * @param int $white + * @param bool $border + * @param string $borderColor + */ + function createReflection($percent,$reflection,$white,$border = true,$borderColor = '#a4a4a4') { + $width = $this->currentDimensions['width']; + $height = $this->currentDimensions['height']; + + $reflectionHeight = intval($height * ($reflection / 100)); + $newHeight = $height + $reflectionHeight; + $reflectedPart = $height * ($percent / 100); + + $this->workingImage = ImageCreateTrueColor($width,$newHeight); + + ImageAlphaBlending($this->workingImage,true); + + $colorToPaint = ImageColorAllocateAlpha($this->workingImage,255,255,255,0); + ImageFilledRectangle($this->workingImage,0,0,$width,$newHeight,$colorToPaint); + + imagecopyresampled( + $this->workingImage, + $this->newImage, + 0, + 0, + 0, + $reflectedPart, + $width, + $reflectionHeight, + $width, + ($height - $reflectedPart)); + $this->imageFlipVertical(); + + imagecopy($this->workingImage,$this->newImage,0,0,0,0,$width,$height); + + imagealphablending($this->workingImage,true); + + for($i=0;$i<$reflectionHeight;$i++) { + $colorToPaint = imagecolorallocatealpha($this->workingImage,255,255,255,($i/$reflectionHeight*-1+1)*$white); + imagefilledrectangle($this->workingImage,0,$height+$i,$width,$height+$i,$colorToPaint); + } + + if($border == true) { + $rgb = $this->hex2rgb($borderColor,false); + $colorToPaint = imagecolorallocate($this->workingImage,$rgb[0],$rgb[1],$rgb[2]); + imageline($this->workingImage,0,0,$width,0,$colorToPaint); //top line + imageline($this->workingImage,0,$height,$width,$height,$colorToPaint); //bottom line + imageline($this->workingImage,0,0,0,$height,$colorToPaint); //left line + imageline($this->workingImage,$width-1,0,$width-1,$height,$colorToPaint); //right line + } + + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + $this->currentDimensions['width'] = $width; + $this->currentDimensions['height'] = $newHeight; + } + + /** + * Flip an image. + * + * @param bool $horz flip the image in horizontal mode + * @param bool $vert flip the image in vertical mode + */ + function flipImage( $horz = false, $vert = false ) { + + $sx = $vert ? ($this->currentDimensions['width'] - 1) : 0; + $sy = $horz ? ($this->currentDimensions['height'] - 1) : 0; + $sw = $vert ? -$this->currentDimensions['width'] : $this->currentDimensions['width']; + $sh = $horz ? -$this->currentDimensions['height'] : $this->currentDimensions['height']; + + $this->workingImage = imagecreatetruecolor( $this->currentDimensions['width'], $this->currentDimensions['height'] ); + + $this->imagecopyresampled($this->workingImage, $this->oldImage, 0, 0, $sx, $sy, $this->currentDimensions['width'], $this->currentDimensions['height'], $sw, $sh) ; + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + + return true; + } + + /** + * Rotate an image clockwise or counter clockwise + * + * @param string $direction could be CW or CCW + */ + function rotateImage( $dir = 'CW' ) { + + $angle = ($dir == 'CW') ? 90 : -90; + + if ( function_exists('imagerotate') ) { + $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0); // imagerotate() rotates CCW + $this->currentDimensions['width'] = imagesx($this->workingImage); + $this->currentDimensions['height'] = imagesy($this->workingImage); + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + return true; + } + + $this->workingImage = imagecreatetruecolor( $this->currentDimensions['height'], $this->currentDimensions['width'] ); + + imagealphablending($this->workingImage, false); + imagesavealpha($this->workingImage, true); + + switch ($angle) { + + case 90 : + for( $x = 0; $x < $this->currentDimensions['width']; $x++ ) { + for( $y = 0; $y < $this->currentDimensions['height']; $y++ ) { + if ( !imagecopy($this->workingImage, $this->oldImage, $this->currentDimensions['height'] - $y - 1, $x, $x, $y, 1, 1) ) + return false; + } + } + break; + + case -90 : + for( $x = 0; $x < $this->currentDimensions['width']; $x++ ) { + for( $y = 0; $y < $this->currentDimensions['height']; $y++ ) { + if ( !imagecopy($this->workingImage, $this->oldImage, $y, $this->currentDimensions['width'] - $x - 1, $x, $y, 1, 1) ) + return false; + } + } + break; + + default : + return false; + } + + $this->currentDimensions['width'] = imagesx($this->workingImage); + $this->currentDimensions['height'] = imagesy($this->workingImage); + $this->oldImage = $this->workingImage; + $this->newImage = $this->workingImage; + + return true; + + } + + /** + * Inverts working image, used by reflection function + * + * @access private + */ + function imageFlipVertical() { + $x_i = imagesx($this->workingImage); + $y_i = imagesy($this->workingImage); + + for($x = 0; $x < $x_i; $x++) { + for($y = 0; $y < $y_i; $y++) { + imagecopy($this->workingImage,$this->workingImage,$x,$y_i - $y - 1, $x, $y, 1, 1); + } + } + } + + /** + * Converts hexidecimal color value to rgb values and returns as array/string + * + * @param string $hex + * @param bool $asString + * @return array|string + */ + function hex2rgb($hex, $asString = false) { + // strip off any leading # + if (0 === strpos($hex, '#')) { + $hex = substr($hex, 1); + } else if (0 === strpos($hex, '&H')) { + $hex = substr($hex, 2); + } + + // break into hex 3-tuple + $cutpoint = ceil(strlen($hex) / 2)-1; + $rgb = explode(':', wordwrap($hex, $cutpoint, ':', $cutpoint), 3); + + // convert each tuple to decimal + $rgb[0] = (isset($rgb[0]) ? hexdec($rgb[0]) : 0); + $rgb[1] = (isset($rgb[1]) ? hexdec($rgb[1]) : 0); + $rgb[2] = (isset($rgb[2]) ? hexdec($rgb[2]) : 0); + + return ($asString ? "{$rgb[0]} {$rgb[1]} {$rgb[2]}" : $rgb); + } + + /** + * Based on the Watermark function by Marek Malcherek + * http://www.malcherek.de + * + * @param string $color + * @param string $wmFont + * @param int $wmSize + * @param int $wmOpaque + */ + function watermarkCreateText($color = '000000',$wmFont, $wmSize = 10, $wmOpaque = 90 ){ + // set font path + $wmFontPath = NGGALLERY_ABSPATH."fonts/".$wmFont; + if ( !is_readable($wmFontPath)) + return; + + // This function requires both the GD library and the FreeType library. + if ( !function_exists('ImageTTFBBox') ) + return; + + $TextSize = @ImageTTFBBox($wmSize, 0, $wmFontPath, $this->watermarkText) or die; + $TextWidth = abs($TextSize[2]) + abs($TextSize[0]); + $TextHeight = abs($TextSize[7]) + abs($TextSize[1]); + // Create Image for Text + $this->workingImage = ImageCreateTrueColor($TextWidth, $TextHeight); + ImageSaveAlpha($this->workingImage, true); + ImageAlphaBlending($this->workingImage, false); + $bgText = imagecolorallocatealpha($this->workingImage, 255, 255, 255, 127); + imagefill($this->workingImage, 0, 0, $bgText); + $wmTransp = 127 -( $wmOpaque * 1.27 ); + $rgb = $this->hex2rgb($color,false); + $TextColor = imagecolorallocatealpha($this->workingImage, $rgb[0], $rgb[1], $rgb[2], $wmTransp); + + // Create Text on image + imagettftext($this->workingImage, $wmSize, 0, 0, abs($TextSize[5]), $TextColor, $wmFontPath, $this->watermarkText); + $this->watermarkImgPath = $this->workingImage; + + return; + } + + /** + * Modfied Watermark function by Steve Peart + * http://parasitehosting.com/ + * + * @param string $relPOS + * @param int $xPOS + * @param int $yPOS + */ + function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) { + + // if it's a resource ID take it as watermark text image + if(is_resource($this->watermarkImgPath)) { + $this->workingImage = $this->watermarkImgPath; + } else { + // Would you really want to use anything other than a png? + $this->workingImage = @imagecreatefrompng($this->watermarkImgPath); + // if it's not a valid file die... + if (empty($this->workingImage) or (!$this->workingImage)) + return; + } + + imagealphablending($this->workingImage, false); + imagesavealpha($this->workingImage, true); + $sourcefile_width=imageSX($this->oldImage); + $sourcefile_height=imageSY($this->oldImage); + $watermarkfile_width=imageSX($this->workingImage); + $watermarkfile_height=imageSY($this->workingImage); + switch(substr($relPOS, 0, 3)){ + case 'top': $dest_y = 0 + $yPOS; break; + case 'mid': $dest_y = ($sourcefile_height / 2) - ($watermarkfile_height / 2); break; + case 'bot': $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS; break; + default : $dest_y = 0; break; + } + switch(substr($relPOS, 3)){ + case 'Left' : $dest_x = 0 + $xPOS; break; + case 'Center': $dest_x = ($sourcefile_width / 2) - ($watermarkfile_width / 2); break; + case 'Right': $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS; break; + default : $dest_x = 0; break; + } + + // debug + // $this->errmsg = 'X '.$dest_x.' Y '.$dest_y; + // $this->showErrorImage(); + + // if a gif, we have to upsample it to a truecolor image + if($this->format == 'GIF') { + $tempimage = imagecreatetruecolor($sourcefile_width,$sourcefile_height); + imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0,$sourcefile_width, $sourcefile_height); + $this->newImage = $tempimage; + } + + imagecopy($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0,$watermarkfile_width, $watermarkfile_height); + } + + /** + * Modfied imagecopyresampled function to save transparent images + * See : http://www.akemapa.com/2008/07/10/php-gd-resize-transparent-image-png-gif/ + * @since 1.9.0 + * + * @param resource $dst_image + * @param resource $src_image + * @param int $dst_x + * @param int $dst_y + * @param int $src_x + * @param int $src_y + * @param int $dst_w + * @param int $dst_h + * @param int $src_w + * @param int $src_h + * @return bool + */ + function imagecopyresampled( &$dst_image , $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h) { + + // Check if this image is PNG or GIF, then set if Transparent + if( $this->format == 'GIF' || $this->format == 'PNG'){ + imagealphablending($dst_image, false); + imagesavealpha($dst_image, true); + $transparent = imagecolorallocatealpha($dst_image, 255, 255, 255, 127); + imagefilledrectangle($dst_image, 0, 0, $dst_w, $dst_h, $transparent); + } + + imagecopyresampled($dst_image , $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h); + return true; + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php new file mode 100644 index 000000000..c874d2a21 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/image.php @@ -0,0 +1,83 @@ +<?php +if (!class_exists('nggImage')) +{ + /** + * This is a wrapper class to the C_Image_Wrapper which provides all of the necessary logic for + * retrieving attributes as needed. + * + * NOTE: it isn't possible yet (as of PHP 5.4) to use overloaded properties in any language constructs other than + * isset(). To work around this with the wrapper class (which uses overloaded properties) we make a copy of any + * attributes set to this object. + */ + class nggImage extends Ngg_Serializable + { + public $_ngiw; + public $_propogate = TRUE; + + + // TODO: Make nggImage a subclass of C_Component and use the wrapper functionality + function __construct($image) + { + $image->meta_data = $this->unserialize($image->meta_data); + C_Component_Registry::get_instance(); + $this->_ngiw = new C_Image_Wrapper($image, NULL, TRUE); + } + + public function __set($name, $value) + { + $this->$name = $value; + if ($this->_propogate) + $this->_ngiw->__set($name, $value); + } + + public function __isset($name) + { + return $this->_ngiw->__isset($name); + } + + public function __unset($name) + { + return $this->_ngiw->__unset($name); + } + + public function __get($name) + { + $this->_propogate = FALSE; + $this->$name = $this->_ngiw->__get($name); + $this->_propogate = TRUE; + return $this->$name; + } + + function get_thumbcode($galleryname = '') + { + return $this->_ngiw->get_thumbcode($galleryname); + } + + function get_href_link() + { + return $this->_ngiw->get_href_link(); + } + + function get_href_thumb_link() + { + return $this->_ngiw->get_href_thumb_link(); + } + + function cached_singlepic_file($width = '', $height = '', $mode = '' ) + { + return $this->_ngiw->cached_singlepic_file($width, $height, $mode); + } + + function get_tags() + { + return $this->_ngiw->get_tags(); + } + + function get_permalink() + { + return $this->_ngiw->get_permalink(); + } + + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php new file mode 100644 index 000000000..fb9b5eb88 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php @@ -0,0 +1,597 @@ +<?php +/** +* imagemagick.inc.php +* +* @author Frederic De Ranter +* @copyright Copyright 2008 +* @version 0.4 (PHP4) +* @based on thumbnail.inc.php by Ian Selby (gen-x-design.com) +* @since NextGEN V1.0.0 +* +*/ +/** +* PHP class for dynamically resizing, cropping, and rotating images for thumbnail purposes and either displaying them on-the-fly or saving them. +* with ImageMagick +*/ + +class ngg_Thumbnail { +/** +* Error message to display, if any +* @var string +*/ +var $errmsg; +/** +* Whether or not there is an error +* @var boolean +*/ +var $error; +/** +* File name and path of the image file +* @var string +*/ +var $fileName; +/** +* Image meta data if any is available (jpeg/tiff) via the exif library +* @var array +*/ +var $imageMeta; +/** +* Current dimensions of working image +* @var array +*/ +var $currentDimensions; +/** +* New dimensions of working image +* @var array +*/ +var $newDimensions; +/** +* Percentage to resize image b +* @var int +* @access private +*/ +var $percent; +/** +* Maximum width of image during resize +* @var int +* @access private +*/ +var $maxWidth; +/** +* Maximum height of image during resize +* @var int +* @access private +*/ +var $maxHeight; +/** +* Image for Watermark +* @var string +*/ +var $watermarkImgPath; +/** +* Text for Watermark +* @var string +*/ +var $watermarkText; +/** +* Path to ImageMagick convert +* @var string +*/ +var $imageMagickDir; +/** +* String to execute ImageMagick convert. +* @var string +*/ +var $imageMagickExec; +/** +* String to execute ImageMagick composite. +* @var string +*/ +var $imageMagickComp; +/** +* String to execute ImageMagick (before the filename). +* @var string +*/ +var $imageMagickBefore; + + /* + * in: filename, error + * out: nothing + * init of class: init of variables, detect needed memory (gd), image format (gd), detect image size (GetImageSize is general PHP, not GD), Image Meta? + */ + + function ngg_Thumbnail($fileName, $no_ErrorImage = false) { + + //initialize variables + $this->errmsg = ''; + $this->error = false; + $this->currentDimensions = array(); + $this->newDimensions = array(); + $this->fileName = $fileName; + $this->imageMeta = array(); + $this->percent = 100; + $this->maxWidth = 0; + $this->maxHeight = 0; + $this->watermarkImgPath = ''; + $this->watermarkText = ''; + $this->imageMagickExec = ''; + $this->imageMagickComp = ''; + $this->imageMagickBefore = ''; + + //make sure ImageMagick is installed + $this->checkVersion(); + + //check to see if file exists + if(!file_exists($this->fileName)) { + $this->errmsg = 'File not found'; + $this->error = true; + } + //check to see if file is readable + elseif(!is_readable($this->fileName)) { + $this->errmsg = 'File is not readable'; + $this->error = true; + } + + if($this->error == false) { + $size = GetImageSize($this->fileName); + $this->currentDimensions = array('width'=>$size[0],'height'=>$size[1]); + } + + if($this->error == true) { + // for SinglePic send the error message out + if(!$no_ErrorImage) + echo $this->errmsg; + return; + } + } + + function checkVersion() { + + // very often exec()or passthru() is disabled. No chance for Imagick + if ( ini_get('disable_functions') ) { + $not_allowed = ini_get('disable_functions'); + if ( stristr($not_allowed, 'exec') || stristr($not_allowed, 'passthru') ) { + $this->errmsg = 'exec() or passthru() is not allowed. Could not execute Imagick'; + $this->error = true; + return false; + } + } + + // get the path to imageMagick + $ngg_options = get_option('ngg_options'); + $this->imageMagickDir = trim( $ngg_options['imageMagickDir']); + $this->imageMagickDir = str_replace( "\\", "/", $this->imageMagickDir ); + + // Try to get the ImageMagick version + $magickv = $this->execute('convert', '-version'); + + if ( empty($magickv) ) { + $this->errmsg = 'Could not execute ImageMagick. Check path '; + $this->error = true; + return false; + } + + // We need as least version 6 or higher + $helper = preg_match('/Version: ImageMagick ([0-9])/', $magickv[0], $magickversion); + if ( !$magickversion[0] > '5' ) { + $this->errmsg = 'Require ImageMagick Version 6 or higher'; + $this->error = true; + return false; + } + + return true; + } + + + /** + * Execute ImageMagick/GraphicsMagick commands + * + * @param string $cmd an ImageMagick command (eg. "convert") + * @param string $args the arguments which should be passed + * @param bool �passthru(optional) output the result to the webserver instead + * @return void | if passthru return the image + */ + function execute( $cmd, $args, $passthru = false) { + + // in error case we do not continue + if($this->error == true) + return; + + //if path is not empty + if ($this->imageMagickDir != '') { + // the path must have a slash at the end + if ( $this->imageMagickDir{strlen($this->imageMagickDir)-1} != '/') + $this->imageMagickDir .= '/'; + } + + //$args = escapeshellarg($args); + //var_dump( escapeshellcmd ( "{$this->imageMagickDir}/{$cmd} {$args}" ) ); return; + //$this->errmsg = escapeshellcmd( "{$this->imageMagickDir}{$cmd} {$args}" ); + + if ( !$passthru ) { + exec( "{$this->imageMagickDir}{$cmd} {$args}", $result ); + //var_dump( "{$this->imageMagickDir}/{$cmd} {$args}" ); + return $result; + + } + //var_dump( escapeshellcmd ( "{$this->imageMagickDir}/{$cmd} {$args}" ) ); return; + + // for single pic we need the direct output + header('Content-type: image/jpeg'); + $this->errmsg = "{$this->imageMagickDir}{$cmd} {$args}"; + passthru( "{$this->imageMagickDir}{$cmd} {$args}" ); + } + + + /** + * Must be called to free up allocated memory after all manipulations are done + */ + function destruct() { + //not needed for ImageMagick + return; + } + + /** + * Returns the current width of the image + * @return int + */ + function getCurrentWidth() { + return $this->currentDimensions['width']; + } + + /** + * Returns the current height of the image + * @return int + */ + function getCurrentHeight() { + return $this->currentDimensions['height']; + } + + /** + * Calculates new image width + * @param int $width + * @param int $height + * @return array + */ + function calcWidth($width, $height) { + $newWp = (100 * $this->maxWidth) / $width; + $newHeight = ($height * $newWp) / 100; + return array('newWidth'=>intval($this->maxWidth), 'newHeight'=>intval($newHeight)); + } + + /** + * Calculates new image height + * @param int $width + * @param int $height + * @return array + */ + function calcHeight($width, $height) { + $newHp = (100 * $this->maxHeight) / $height; + $newWidth = ($width * $newHp) / 100; + return array('newWidth'=>intval($newWidth), 'newHeight'=>intval($this->maxHeight)); + } + + /** + * Calculates new image size based on percentage + * @param int $width + * @param int $height + * @return array + */ + function calcPercent($width, $height) { + $newWidth = ($width * $this->percent) / 100; + $newHeight = ($height * $this->percent) / 100; + return array('newWidth'=>intval($newWidth), 'newHeight'=>intval($newHeight)); + } + + /** + * Calculates new image size based on width and height, while constraining to maxWidth and maxHeight + * @param int $width + * @param int $height + */ + function calcImageSize($width,$height) { + $newSize = array('newWidth'=>$width,'newHeight'=>$height); + + if($this->maxWidth > 0) { + + $newSize = $this->calcWidth($width,$height); + + if($this->maxHeight > 0 && $newSize['newHeight'] > $this->maxHeight) { + $newSize = $this->calcHeight($newSize['newWidth'],$newSize['newHeight']); + } + + //$this->newDimensions = $newSize; + } + + if($this->maxHeight > 0) { + $newSize = $this->calcHeight($width,$height); + + if($this->maxWidth > 0 && $newSize['newWidth'] > $this->maxWidth) { + $newSize = $this->calcWidth($newSize['newWidth'],$newSize['newHeight']); + } + + //$this->newDimensions = $newSize; + } + + $this->newDimensions = $newSize; + } + + /** + * Calculates new image size based percentage + * @param int $width + * @param int $height + */ + function calcImageSizePercent($width,$height) { + if($this->percent > 0) { + $this->newDimensions = $this->calcPercent($width,$height); + } + } + + /** + * Resizes image to maxWidth x maxHeight + * + * @param int $maxWidth + * @param int $maxHeight + */ + + function resize($maxWidth = 0, $maxHeight = 0, $resampleMode = 3) { + $this->maxWidth = $maxWidth; + $this->maxHeight = $maxHeight; + + $this->calcImageSize($this->currentDimensions['width'],$this->currentDimensions['height']); + + //string to resize the picture to $this->newDimensions['newWidth'],$this->newDimensions['newHeight'] + //should result in: -thumbnail $this->newDimensions['newWidth']x$this->newDimensions['newHeight'] + if($maxWidth=='0') + $this->imageMagickExec .= " -resize x".$maxHeight; + elseif($maxHeight=='0') + $this->imageMagickExec .= " -resize ".$maxWidth."x"; + elseif($maxHeight!='0' && $maxWidth!='0') + $this->imageMagickExec .= " -resize ".$maxWidth."x".$maxHeight; + + // next calculations should be done with the 'new' dimensions + $this->currentDimensions['width'] = $this->newDimensions['newWidth']; + $this->currentDimensions['height'] = $this->newDimensions['newHeight']; + + } + + /** + * Flip an image. + * + * @param bool $horz flip the image in horizontal mode + * @param bool $vert flip the image in vertical mode + */ + function flipImage( $horz = false, $vert = false ) { + + //TODO: need to be added + + } + + /** + * Rotates image either 90 degrees clockwise or counter-clockwise + * + * @param string $direction + */ + function rotateImage($dir = 'CW') { + + $angle = ($dir == 'CW') ? 90 : -90; + + $this->imageMagickExec .= " -rotate $angle "; + + $newWidth = $this->currentDimensions['height']; + $newHeight = $this->currentDimensions['width']; + $this->currentDimensions['width'] = $newWidth; + $this->currentDimensions['height'] = $newHeight; + } + + /** + * Crops the image from calculated center in a square of $cropSize pixels + * + * @param int $cropSize + */ + function cropFromCenter($cropSize, $resampleMode = 3) { + if($cropSize > $this->currentDimensions['width']) $cropSize = $this->currentDimensions['width']; + if($cropSize > $this->currentDimensions['height']) $cropSize = $this->currentDimensions['height']; + + //$cropX = intval(($this->currentDimensions['width'] - $cropSize) / 2); + //$cropY = intval(($this->currentDimensions['height'] - $cropSize) / 2); + + //string to crop the picture to $cropSize,$cropSize (from center) + //result: -gravity Center -crop $cropSizex$cropSize+0+0 + $this->imageMagickExec .= ' -gravity Center -crop ' . $cropSize . 'x' . $cropSize . '+0+0'; + + // next calculations should be done with the 'new' dimensions + $this->currentDimensions['width'] = $cropSize; + $this->currentDimensions['height'] = $cropSize; + } + + /** + * Advanced cropping function that crops an image using $startX and $startY as the upper-left hand corner. + * + * @param int $startX + * @param int $startY + * @param int $width + * @param int $height + */ + function crop($startX,$startY,$width,$height) { + //make sure the cropped area is not greater than the size of the image + if($width > $this->currentDimensions['width']) $width = $this->currentDimensions['width']; + if($height > $this->currentDimensions['height']) $height = $this->currentDimensions['height']; + //make sure not starting outside the image + if(($startX + $width) > $this->currentDimensions['width']) $startX = ($this->currentDimensions['width'] - $width); + if(($startY + $height) > $this->currentDimensions['height']) $startY = ($this->currentDimensions['height'] - $height); + if($startX < 0) $startX = 0; + if($startY < 0) $startY = 0; + + //string to crop the picture to $width,$height (from $startX,$startY) + //result: -crop $widthx$height+$startX+$startY + $this->imageMagickExec .= ' -crop ' . $width . 'x' . $height . '+' . $startX .'+' . $startY; + + $this->currentDimensions['width'] = $width; + $this->currentDimensions['height'] = $height; + } + + /** + * Creates Apple-style reflection under image, optionally adding a border to main image + * + * @param int $percent + * @param int $reflection + * @param int $white + * @param bool $border + * @param string $borderColor + */ + function createReflection($percent, $reflection, $white, $border = true, $borderColor = '#a4a4a4') { + + $width = $this->currentDimensions['width']; + $height = $this->currentDimensions['height']; + + $reflectionHeight = intval($height * ($reflection / 100)); + $newHeight = $height + $reflectionHeight; + //$reflectedPart = $height * ((100-$percent) / 100); + $reflectedsize = intval($height * ((100 - (100 - $percent) + $reflection) / 100)); + + $this->imageMagickBefore = "-size $width" . "x" ."$newHeight xc:white "; + + if($border == true) { + $this->imageMagickBefore .= " \( "; + $this->imageMagickExec = " -bordercolor '$borderColor' -border 1 \) "; + } + + $this->imageMagickExec .= " -geometry +0+0 -composite "; + $gradientWhite = 100-$white; + $this->imageMagickExec .= " \( '$this->fileName' -flip -resize $width"."x"."$reflectedsize\! \( -size $width"."x"."$reflectionHeight gradient: -fill black -colorize $gradientWhite \) +matte -compose copy_opacity -composite \) -geometry +0+$height -composite "; + + $this->currentDimensions['width'] = $width; + $this->currentDimensions['height'] = $newHeight; + } + + /** + * @param string $color + * @param string $wmFont + * @param int $wmSize + * @param int $wmOpaque + */ + function watermarkCreateText($color = '000000', $wmFont, $wmSize = 10, $wmOpaque = 90 ){ + //create a watermark.png image with the requested text. + + // set font path + $wmFontPath = NGGALLERY_ABSPATH . 'fonts/' . $wmFont; + if ( !is_readable($wmFontPath) ) + return; + + /* + $exec = "convert -size 800x500 xc:grey30 -font $wmFontPath -pointsize $wmSize -gravity center -draw \"fill '#$color$wmOpaque' text 0,0 '$this->watermarkText'\" stamp_fgnd.png"; + $make_magick = system($exec); + $exec = "convert -size 800x500 xc:black -font $wmFontPath -pointsize $wmSize -gravity center -draw \"fill white text 1,1 '$this->watermarkText' text 0,0 '$this->watermarkText' fill black text -1,-1 '$this->watermarkText'\" +matte stamp_mask.png"; + $make_magick = system($exec); + $exec = "composite -compose CopyOpacity stamp_mask.png stamp_fgnd.png watermark.png";*/ + + //convert the opacity between FF or 00; 100->0 and 0->FF (256) + $opacity = dechex( round( (100-$wmOpaque) * 256/100 ) ); + if ($opacity == "0") {$opacity = "00";} + + $cmd = "-size 800x500 xc:none -fill '#{$color}{$opacity}' -font {$wmFontPath} -pointsize {$wmSize} -gravity center -annotate 0 '{$this->watermarkText}' watermark_text.png"; + $this->execute('convert', $cmd); + + $cmd = "-trim +repage watermark_text.png"; + $this->execute('mogrify', $cmd); + + $this->watermarkImgPath = NGGALLERY_ABSPATH . 'watermark_text.png'; + + return; + } + + /** + * + * @param string $relPOS + * @param int $xPOS + * @param int $yPOS + */ + function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) { + + // if it's not a valid file die... + /*if ( !is_readable($this->watermarkImgPath)) + { + echo $this->watermarkImgPath; + return; + } */ + + $size = GetImageSize($this->watermarkImgPath); + $watermarkDimensions = array('width'=>$size[0],'height'=>$size[1]); + + $sourcefile_width=$this->currentDimensions['width']; + $sourcefile_height=$this->currentDimensions['height']; + + $watermarkfile_width=$watermarkDimensions['width']; + $watermarkfile_height=$watermarkDimensions['height']; + + switch( substr($relPOS, 0, 3) ){ + case 'top': $dest_y = 0 + $yPOS; break; + case 'mid': $dest_y = ($sourcefile_height / 2) - ($watermarkfile_height / 2); break; + case 'bot': $dest_y = $sourcefile_height - $watermarkfile_height - $yPOS; break; + default : $dest_y = 0; break; + } + switch( substr($relPOS, 3) ){ + case 'Left' : $dest_x = 0 + $xPOS; break; + case 'Center': $dest_x = ($sourcefile_width / 2) - ($watermarkfile_width / 2); break; + case 'Right': $dest_x = $sourcefile_width - $watermarkfile_width - $xPOS; break; + default : $dest_x = 0; break; + } + if ($dest_y<0) { + $dest_y = $dest_y; + } else { + $dest_y = '+' . $dest_y; + } + if ($dest_x<0) { + $dest_x = $dest_x; + } else { + $dest_x = '+' . $dest_x; + } + + $this->imageMagickComp .= "'$this->watermarkImgPath' -geometry $dest_x$dest_y -composite"; + //" -dissolve 80% -geometry +$dest_x+$dest_y $this->watermarkImgPath"; + } + + /** + * Saves image as $name (can include file path), with quality of # percent if file is a jpeg + * + * @param string $name + * @param int $quality + * @return bool errorstate + */ + function save( $name, $quality = 85 ) { + $this->show($quality,$name); + if ($this->error == true) { + //$this->errmsg = 'Create Image failed. Check safe mode settings'; + return false; + } + + if( function_exists('do_action') ) + do_action('ngg_ajax_image_save', $name); + + return true; + } + + /** + * Outputs the image to the screen, or saves to $name if supplied. Quality of JPEG images can be controlled with the $quality variable + * + * @param int $quality + * @param string $name + */ + function show( $quality = 85, $name = '') { + //save the image if we get a filename + if( $name != '' ) { + $args = "{$this->imageMagickBefore} "; + $args .= escapeshellarg("$this->fileName"); + $args .= " $this->imageMagickExec $this->imageMagickComp -quality '$quality' "; + $args .= escapeshellarg("$name"); + //$args = "{$this->imageMagickBefore} '$this->fileName' $this->imageMagickExec $this->imageMagickComp -quality $quality '$name'"; + $this->execute('convert', $args); + //$this->error = true; + } else { + //return a raw image stream + $args = "{$this->imageMagickBefore} '$this->fileName' $this->imageMagickExec $this->imageMagickComp -quality $quality JPG:-"; + $this->execute('convert', $args, true); + $this->error = true; + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/locale.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/locale.php new file mode 100644 index 000000000..3b96aa6a6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/locale.php @@ -0,0 +1,151 @@ +<?php +if ( !class_exists('ngg_locale') ) : +/** + * Install locale files from WordPress.org plugin repository + * + * @version 1.0.0 + * @author Alex Rabe + * + * @package NextGEN Gallery + * @since 1.5.0 + */ + +class ngg_locale { + + /** + * Current locale + * + * @var string + */ + var $locale = ''; + + /** + * Plugin domain name + * + * @var string + */ + var $domain = 'nggallery'; + + /** + * URL to the translation files + * + * @var string + */ + var $remote_locale_url = 'http://nextgen-gallery.googlecode.com/files/'; + + /** + * Plugin path to the langauage files + * + * @var string + */ + var $plugin_locale_path = 'lang'; + + /** + * Server path to the locale file on the server + * + * @var string + */ + var $mo_file = ''; + + /** + * URL to the locale file from the remote server + * + * @var string + */ + var $mo_url = ''; + + /** + * Repsonse code for request + * + * @var array + */ + var $repsonse = ''; + + /** + * PHP4 compatibility layer for calling the PHP5 constructor. + * + */ + function install_locale() { + return $this->__construct(); + } + + /** + * Init the Database Abstraction layer for NextGEN Gallery + * + */ + function __construct() { + $this->plugin_locale_path = NGGALLERY_ABSPATH . 'lang/'; + $this->locale = get_locale(); + + $this->mo_file = trailingslashit($this->plugin_locale_path) . $this->domain . '-' . $this->locale . '.mo'; + $this->mo_url = trailingslashit($this->remote_locale_url) . $this->domain . '-' . $this->locale . '.mo'; + } + + /** + * This functions checks if a translation is at wp.org available + * Please note, if a language file is already loaded it exits as well + * + * @return string result of check ( default | installed | not_exist | available ) + */ + function check() { + + // we do not need to check for translation if you use english + if ( ($this->locale == 'en_US') ) + return 'default'; + + $this->response = wp_remote_get($this->mo_url, array('timeout' => 300)); + + // if a language file exist, do not load it again + if ( is_readable( $this->mo_file ) ) + return 'installed'; + + // if no translation file exists exit the check + if ( is_wp_error($this->response) || $this->response['response']['code'] != '200' ) + return 'not_exist'; + + return 'available'; + } + + /** + * Downloads a locale to the plugin folder using the WordPress HTTP Class. + * + * @author taken from WP core + * @return mixed WP_Error on failure, true on success. + */ + function download_locale() { + + $url = $this->mo_url; + + if ( ! $url ) + return new WP_Error('http_no_url', __('Invalid URL Provided.')); + + $filename = $this->mo_file; + if ( ! $filename ) + return new WP_Error('http_no_file', __('Could not create Temporary file.')); + + $handle = @fopen($filename, 'wb'); + if ( ! $handle ) + return new WP_Error('http_no_file', __('Could not create Temporary file.')); + + $response = wp_remote_get($url, array('timeout' => 300)); + + if ( is_wp_error($response) ) { + fclose($handle); + unlink($filename); + return $response; + } + + if ( $response['response']['code'] != '200' ){ + fclose($handle); + unlink($filename); + return new WP_Error('http_404', trim($response['response']['message'])); + } + + fwrite($handle, $response['body']); + fclose($handle); + + return true; + } + +} +endif; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php new file mode 100644 index 000000000..f35cb09bb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php @@ -0,0 +1,244 @@ +<?php +/** +* Class to produce Media RSS nodes +* +* @author Vincent Prat +* @copyright Copyright 2008-2011 +*/ +class nggMediaRss { + + /** + * Function called by the wp_head action to output the RSS link for medias + */ + function add_mrss_alternate_link() { + echo "<link id='MediaRSS' rel='alternate' type='application/rss+xml' title='NextGEN Gallery RSS Feed' href='" . nggMediaRss::get_mrss_url() . "' />\n"; + } + + /** + * Add the javascript required to enable PicLens/CoolIris support + */ + function add_piclens_javascript() { + if (is_ssl()) + wp_enqueue_script( 'piclens', 'https://lite.piclens.com/current/piclens_optimized.js', array(), false, true); + else + wp_enqueue_script( 'piclens', 'http://lite.piclens.com/current/piclens_optimized.js', array(), false, true); + } + + /** + * Get the URL of the general media RSS + */ + function get_mrss_url() { + return NGGALLERY_URLPATH . 'xml/media-rss.php'; + } + + /** + * Get the URL of a gallery media RSS + */ + function get_gallery_mrss_url($gid, $prev_next = false) { + return nggMediaRss::get_mrss_url() . '?' . ('gid=' . $gid . ($prev_next ? '&prev_next=true' : '') . '&mode=gallery'); + } + + /** + * Get the URL of an album media RSS + */ + function get_album_mrss_url($aid) { + return nggMediaRss::get_mrss_url() . '?' . ('aid=' . $aid . '&mode=album'); + } + + /** + * Get the URL of the media RSS for last pictures + */ + function get_last_pictures_mrss_url($page = 0, $show = 30) { + return nggMediaRss::get_mrss_url() . '?' . ('show=' . $show . '&page=' . $page . '&mode=last_pictures'); + } + + /** + * Get the XML <rss> node corresponding to the last pictures registered + * + * @param page The current page (defaults to 0) + * @param show The number of pictures to include in one field (default 30) + */ + function get_last_pictures_mrss($page = 0, $show = 30) { + $images = nggdb::find_last_images($page, $show); + + $title = stripslashes(get_option('blogname')); + $description = stripslashes(get_option('blogdescription')); + $link = site_url(); + $prev_link = ($page > 0) ? nggMediaRss::get_last_pictures_mrss_url($page-1, $show) : ''; + $next_link = count($images)!=0 ? nggMediaRss::get_last_pictures_mrss_url($page+1, $show) : ''; + + return nggMediaRss::get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images); + } + + /** + * Get the XML <rss> node corresponding to a gallery + * + * @param $gallery (object) The gallery to include in RSS + * @param $prev_gallery (object) The previous gallery to link in RSS (null if none) + * @param $next_gallery (object) The next gallery to link in RSS (null if none) + */ + function get_gallery_mrss($gallery, $prev_gallery = null, $next_gallery = null) { + + $ngg_options = nggGallery::get_option('ngg_options'); + //Set sort order value, if not used (upgrade issue) + $ngg_options['galSort'] = ($ngg_options['galSort']) ? $ngg_options['galSort'] : 'pid'; + $ngg_options['galSortDir'] = ($ngg_options['galSortDir'] == 'DESC') ? 'DESC' : 'ASC'; + + $title = stripslashes(nggGallery::i18n($gallery->title)); + $description = stripslashes(nggGallery::i18n($gallery->galdesc)); + $link = nggMediaRss::get_permalink($gallery->pageid); + $prev_link = ( $prev_gallery != null) ? nggMediaRss::get_gallery_mrss_url($prev_gallery->gid, true) : ''; + $next_link = ( $next_gallery != null) ? nggMediaRss::get_gallery_mrss_url($next_gallery->gid, true) : ''; + $images = nggdb::get_gallery($gallery->gid, $ngg_options['galSort'], $ngg_options['galSortDir']); + + return nggMediaRss::get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images); + } + + /** + * Get the XML <rss> node corresponding to an album + * + * @param $album The album to include in RSS + */ + function get_album_mrss($album) { + + $title = stripslashes(nggGallery::i18n($album->name)); + $description = ''; + $link = nggMediaRss::get_permalink(0); + $prev_link = ''; + $next_link = ''; + $images = nggdb::find_images_in_album($album->id); + + return nggMediaRss::get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images); + } + + /** + * Get the XML <rss> node + */ + function get_mrss_root_node($title, $description, $link, $prev_link, $next_link, $images) { + + if ($prev_link != '' || $next_link != '') + $out = "<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom='http://www.w3.org/2005/Atom'>\n" ; + else + $out = "<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'>\n"; + + $out .= "\t<channel>\n"; + + $out .= nggMediaRss::get_generator_mrss_node(); + $out .= nggMediaRss::get_title_mrss_node($title); + $out .= nggMediaRss::get_description_mrss_node($description); + $out .= nggMediaRss::get_link_mrss_node($link); + + if ($prev_link != '' || $next_link != '') + $out .= nggMediaRss::get_self_node(nggMediaRss::get_mrss_url()); + if ($prev_link!='') { + $out .= nggMediaRss::get_previous_link_mrss_node($prev_link); + } + if ($next_link!='') { + $out .= nggMediaRss::get_next_link_mrss_node($next_link); + } + + foreach ($images as $image) { + $out .= nggMediaRss::get_image_mrss_node($image); + } + + $out .= "\t</channel>\n"; + $out .= "</rss>\n"; + + return $out; + } + + /** + * Get the XML <generator> node + */ + function get_generator_mrss_node($indent = "\t\t") { + return $indent . "<generator><![CDATA[NextGEN Gallery [http://nextgen-gallery.com]]]></generator>\n"; + } + + /** + * Get the XML <title> node + */ + function get_title_mrss_node($title, $indent = "\t\t") { + return $indent . "<title>" . $title . "</title>\n"; + } + + /** + * Get the XML <description> node + */ + function get_description_mrss_node($description, $indent = "\t\t") { + return $indent . "<description>" . $description . "</description>\n"; + } + + /** + * Get the XML <link> node + */ + function get_link_mrss_node($link, $indent = "\t\t") { + return $indent . "<link><![CDATA[" . htmlspecialchars($link) . "]]></link>\n"; + } + + /** + * Get the XML <atom:link self> node + */ + function get_self_node($link, $indent = "\t\t") { + return $indent . "<atom:link rel='self' href='" . htmlspecialchars($link) . "' type='application/rss+xml' />\n"; + } + + /** + * Get the XML <atom:link previous> node + */ + function get_previous_link_mrss_node($link, $indent = "\t\t") { + return $indent . "<atom:link rel='previous' href='" . htmlspecialchars($link) . "' />\n"; + } + + /** + * Get the XML <atom:link next> node + */ + function get_next_link_mrss_node($link, $indent = "\t\t") { + return $indent . "<atom:link rel='next' href='" . htmlspecialchars($link) . "' />\n"; + } + + /** + * Get the XML <item> node corresponding to one single image + * + * @param $image The image object + */ + function get_image_mrss_node($image, $indent = "\t\t" ) { + $ngg_options = nggGallery::get_option('ngg_options'); + + $tags = $image->get_tags(); + $tag_names = ''; + foreach ($tags as $tag) { + $tag_names .= ($tag_names=='' ? $tag->name : ', ' . $tag->name); + } + + $title = html_entity_decode(stripslashes($image->alttext)); + $desc = html_entity_decode(stripslashes($image->description)); + + $thumbwidth = $ngg_options['thumbwidth']; + $thumbheight = ($ngg_options['thumbfix'] ? $ngg_options['thumbheight'] : $thumbwidth); + + $out = $indent . "<item>\n"; + $out .= $indent . "\t<title><![CDATA[" . nggGallery::i18n($title, 'pic_' . $image->pid . '_alttext') . "]]></title>\n"; + $out .= $indent . "\t<description><![CDATA[" . nggGallery::i18n($desc, 'pic_' . $image->pid . '_description') . "]]></description>\n"; + $out .= $indent . "\t<link><![CDATA[" . $image->get_permalink() . "]]></link>\n"; + $out .= $indent . "\t<guid>image-id:" . $image->pid . "</guid>\n"; + $out .= $indent . "\t<media:content url='" . esc_url($image->imageURL) . "' medium='image' />\n"; + $out .= $indent . "\t<media:title><![CDATA[" . nggGallery::i18n($title, 'pic_' . $image->pid . '_alttext') . "]]></media:title>\n"; + $out .= $indent . "\t<media:description><![CDATA[" . nggGallery::i18n($desc, 'pic_' . $image->pid . '_description') . "]]></media:description>\n"; + $out .= $indent . "\t<media:thumbnail url='" . esc_url($image->thumbURL) . "' width='" . $thumbwidth . "' height='" . $thumbheight . "' />\n"; + $out .= $indent . "\t<media:keywords><![CDATA[" . nggGallery::i18n($tag_names) . "]]></media:keywords>\n"; + $out .= $indent . "\t<media:copyright><![CDATA[Copyright (c) " . get_option("blogname") . " (" . site_url() . ")]]></media:copyright>\n"; + $out .= $indent . "</item>\n"; + + return $out; + } + + function get_permalink($page_id) { + if ($page_id == 0) + $permalink = site_url(); + else + $permalink = get_permalink($page_id); + + return $permalink; + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php new file mode 100644 index 000000000..1e15980f1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/meta.php @@ -0,0 +1,588 @@ +<?php + +/** + * Image METADATA PHP class for the WordPress plugin NextGEN Gallery + * nggmeta.lib.php + * + * @author Alex Rabe + * + * + */ + +class nggMeta{ + + /**** Image Data ****/ + var $image = ''; // The image object + var $size = false; // The image size + var $exif_data = false; // EXIF data array + var $iptc_data = false; // IPTC data array + var $xmp_data = false; // XMP data array + /**** Filtered Data ****/ + var $exif_array = false; // EXIF data array + var $iptc_array = false; // IPTC data array + var $xmp_array = false; // XMP data array + + var $sanitize = false; // sanitize meta data on request + + /** + * Parses the nggMeta data only if needed + * @param int $image path to a image + * @param bool $onlyEXIF parse only exif if needed + * @return + */ + function nggMeta($pic_id, $onlyEXIF = false) { + + //get the path and other data about the image + $this->image = nggdb::find_image( $pic_id ); + + $this->image = apply_filters( 'ngg_find_image_meta', $this->image ); + + if ( !file_exists( $this->image->imagePath ) ) + return false; + + $this->size = @getimagesize ( $this->image->imagePath , $metadata ); + + if ($this->size && is_array($metadata)) { + + // get exif - data + if ( is_callable('exif_read_data')) + $this->exif_data = @exif_read_data($this->image->imagePath , 0, true ); + + // stop here if we didn't need other meta data + if ($onlyEXIF) + return true; + + // get the iptc data - should be in APP13 + if ( is_callable('iptcparse') && isset($metadata['APP13']) ) + $this->iptc_data = @iptcparse($metadata['APP13']); + + // get the xmp data in a XML format + if ( is_callable('xml_parser_create')) + $this->xmp_data = $this->extract_XMP($this->image->imagePath ); + + return true; + } + + return false; + } + + /** + * return the saved meta data from the database + * + * @since 1.4.0 + * @param string $object (optional) + * @return array|mixed return either the complete array or the single object + */ + function get_saved_meta($object = false) { + + $meta = $this->image->meta_data; + + if (!isset($meta['saved'])) $meta['saved'] = FALSE; + + //check if we already import the meta data to the database + if (!is_array($meta) || ($meta['saved'] != true)) + return false; + + // return one element if requested + if ($object) + return $meta[$object]; + + //removed saved parameter we don't need that to show + unset($meta['saved']); + + // and remove empty tags or arrays + foreach ($meta as $key => $value) { + if ( empty($value) OR is_array($value)) + unset($meta[$key]); + } + + // on request sanitize the output + if ( $this->sanitize == true ) + array_walk( $meta , create_function('&$value', '$value = esc_html($value);')); + + return $meta; + } + + /** + * nggMeta::get_EXIF() + * See also http://trac.wordpress.org/changeset/6313 + * + * @return structured EXIF data + */ + function get_EXIF($object = false) { + + if ( !$this->exif_data ) + return false; + + if (!is_array($this->exif_array)){ + + $meta= array(); + + if ( isset($this->exif_data['EXIF']) ) { + $exif = $this->exif_data['EXIF']; + + if (!empty($exif['FNumber'])) + $meta['aperture'] = 'F ' . round( $this->exif_frac2dec( $exif['FNumber'] ), 2 ); + if (!empty($exif['Model'])) + $meta['camera'] = trim( $exif['Model'] ); + if (!empty($exif['DateTimeDigitized'])) + $meta['created_timestamp'] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $this->exif_date2ts($exif['DateTimeDigitized'])); + else if (!empty($exif['DateTimeOriginal'])) + $meta['created_timestamp'] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $this->exif_date2ts($exif['DateTimeOriginal'])); + else if (!empty($exif['FileDateTime'])) + $meta['created_timestamp'] = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $this->exif_date2ts($exif['FileDateTime'])); + if (!empty($exif['FocalLength'])) + $meta['focal_length'] = $this->exif_frac2dec( $exif['FocalLength'] ) . __(' mm','nggallery'); + if (!empty($exif['ISOSpeedRatings'])) + $meta['iso'] = $exif['ISOSpeedRatings']; + if (!empty($exif['ExposureTime'])) { + $meta['shutter_speed'] = $this->exif_frac2dec ($exif['ExposureTime']); + $meta['shutter_speed'] =($meta['shutter_speed'] > 0.0 and $meta['shutter_speed'] < 1.0) ? ( '1/' . round( 1 / $meta['shutter_speed'], -1) ) : ($meta['shutter_speed']); + $meta['shutter_speed'] .= __(' sec','nggallery'); + } + //Bit 0 indicates the flash firing status + if (!empty($exif['Flash'])) + $meta['flash'] = ( $exif['Flash'] & 1 ) ? __('Fired', 'nggallery') : __('Not fired',' nggallery'); + } + + // additional information + if ( isset($this->exif_data['IFD0']) ) { + $exif = $this->exif_data['IFD0']; + + if (!empty($exif['Model'])) + $meta['camera'] = $exif['Model']; + if (!empty($exif['Make'])) + $meta['make'] = $exif['Make']; + if (!empty($exif['ImageDescription'])) + $meta['title'] = utf8_encode($exif['ImageDescription']); + if (!empty($exif['Orientation'])) + $meta['Orientation'] = $exif['Orientation']; + } + + // this is done by Windows + if ( isset($this->exif_data['WINXP']) ) { + $exif = $this->exif_data['WINXP']; + + if (!empty($exif['Title']) && empty($meta['title'])) + $meta['title'] = utf8_encode($exif['Title']); + if (!empty($exif['Author'])) + $meta['author'] = utf8_encode($exif['Author']); + if (!empty($exif['Keywords'])) + $meta['tags'] = utf8_encode($exif['Keywords']); + if (!empty($exif['Subject'])) + $meta['subject'] = utf8_encode($exif['Subject']); + if (!empty($exif['Comments'])) + $meta['caption'] = utf8_encode($exif['Comments']); + } + + $this->exif_array = $meta; + } + + // return one element if requested + if ( $object == true ) { + $value = isset($this->exif_array[$object]) ? $this->exif_array[$object] : false; + return $value; + } + + // on request sanitize the output + if ( $this->sanitize == true ) + array_walk( $this->exif_array , create_function('&$value', '$value = esc_html($value);')); + + return $this->exif_array; + + } + + // convert a fraction string to a decimal + function exif_frac2dec($str) { + @list( $n, $d ) = explode( '/', $str ); + if ( !empty($d) ) + return $n / $d; + return $str; + } + + // convert the exif date format to a unix timestamp + function exif_date2ts($str) { + // seriously, who formats a date like 'YYYY:MM:DD hh:mm:ss'? + @list( $date, $time ) = explode( ' ', trim($str) ); + @list( $y, $m, $d ) = explode( ':', $date ); + + return strtotime( "{$y}-{$m}-{$d} {$time}" ); + } + + /** + * nggMeta::readIPTC() - IPTC Data Information for EXIF Display + * + * @param mixed $output_tag + * @return IPTC-tags + */ + function get_IPTC($object = false) { + + if (!$this->iptc_data) + return false; + + if (!is_array($this->iptc_array)){ + + // --------- Set up Array Functions --------- // + $iptcTags = array ( + "2#005" => 'title', + "2#007" => 'status', + "2#012" => 'subject', + "2#015" => 'category', + "2#025" => 'keywords', + "2#055" => 'created_date', + "2#060" => 'created_time', + "2#080" => 'author', + "2#085" => 'position', + "2#090" => 'city', + "2#092" => 'location', + "2#095" => 'state', + "2#100" => 'country_code', + "2#101" => 'country', + "2#105" => 'headline', + "2#110" => 'credit', + "2#115" => 'source', + "2#116" => 'copyright', + "2#118" => 'contact', + "2#120" => 'caption' + ); + + $meta = array(); + foreach ($iptcTags as $key => $value) { + if (isset ( $this->iptc_data[$key] ) ) + $meta[$value] = trim(utf8_encode(implode(", ", $this->iptc_data[$key]))); + + } + $this->iptc_array = $meta; + } + + // return one element if requested + if ($object) + return (isset($this->iptc_array[$object])) ? $this->iptc_array[$object] : NULL; + + // on request sanitize the output + if ( $this->sanitize == true ) + array_walk( $this->iptc_array , create_function('&$value', '$value = esc_html($value);')); + + return $this->iptc_array; + } + + /** + * nggMeta::extract_XMP() + * get XMP DATA + * code by Pekka Saarinen http://photography-on-the.net + * + * @param mixed $filename + * @return XML data + */ + function extract_XMP( $filename ) { + + //TODO:Require a lot of memory, could be better + ob_start(); + @readfile($filename); + $source = ob_get_contents(); + ob_end_clean(); + + $start = strpos( $source, "<x:xmpmeta" ); + $end = strpos( $source, "</x:xmpmeta>" ); + if ((!$start === false) && (!$end === false)) { + $lenght = $end - $start; + $xmp_data = substr($source, $start, $lenght+12 ); + unset($source); + return $xmp_data; + } + + unset($source); + return false; + } + + /** + * nggMeta::get_XMP() + * + * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php + * @author Alf Marius Foss Olsen & Alex Rabe + * @return XML Array or object + * + */ + function get_XMP($object = false) { + + if(!$this->xmp_data) + return false; + + if (!is_array($this->xmp_array)){ + + $parser = xml_parser_create(); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); // Dont mess with my cAsE sEtTings + xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); // Dont bother with empty info + xml_parse_into_struct($parser, $this->xmp_data, $values); + xml_parser_free($parser); + + $xmlarray = array(); // The XML array + $this->xmp_array = array(); // The returned array + $stack = array(); // tmp array used for stacking + $list_array = array(); // tmp array for list elements + $list_element = false; // rdf:li indicator + + foreach($values as $val) { + + if($val['type'] == "open") { + array_push($stack, $val['tag']); + + } elseif($val['type'] == "close") { + // reset the compared stack + if ($list_element == false) + array_pop($stack); + // reset the rdf:li indicator & array + $list_element = false; + $list_array = array(); + + } elseif($val['type'] == "complete") { + if ($val['tag'] == "rdf:li") { + // first go one element back + if ($list_element == false) + array_pop($stack); + $list_element = true; + // do not parse empty tags + if ( empty($val['value']) ) continue; + // save it in our temp array + $list_array[] = $val['value']; + // in the case it's a list element we seralize it + $value = implode(",", $list_array); + $this->setArrayValue($xmlarray, $stack, $value); + } else { + array_push($stack, $val['tag']); + // do not parse empty tags + if ( !empty($val['value']) ) + $this->setArrayValue($xmlarray, $stack, $val['value']); + array_pop($stack); + } + } + + } // foreach + + // don't parse a empty array + if( empty($xmlarray) || empty($xmlarray['x:xmpmeta']) ) + return false; + + // cut off the useless tags + $xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description']; + + // --------- Some values from the XMP format--------- // + $xmpTags = array ( + 'xap:CreateDate' => 'created_timestamp', + 'xap:ModifyDate' => 'last_modfied', + 'xap:CreatorTool' => 'tool', + 'dc:format' => 'format', + 'dc:title' => 'title', + 'dc:creator' => 'author', + 'dc:subject' => 'keywords', + 'dc:description' => 'caption', + 'photoshop:AuthorsPosition' => 'position', + 'photoshop:City' => 'city', + 'photoshop:Country' => 'country' + ); + + foreach ($xmpTags as $key => $value) { + // if the kex exist + if ( isset($xmlarray[$key]) ) { + switch ($key) { + case 'xap:CreateDate': + case 'xap:ModifyDate': + $this->xmp_array[$value] = date_i18n(get_option('date_format').' '.get_option('time_format'), strtotime($xmlarray[$key])); + break; + default : + $this->xmp_array[$value] = $xmlarray[$key]; + } + } + } + + } + + // return one element if requested + if ($object != false ) + return isset($this->xmp_array[$object]) ? $this->xmp_array[$object] : false; + + // on request sanitize the output + if ( $this->sanitize == true ) + array_walk( $this->xmp_array , create_function('&$value', '$value = esc_html($value);')); + + return $this->xmp_array; + } + + function setArrayValue(&$array, $stack, $value) { + if ($stack) { + $key = array_shift($stack); + $this->setArrayValue($array[$key], $stack, $value); + return $array; + } else { + $array = $value; + } + } + + /** + * nggMeta::get_META() - return a meta value form the available list + * + * @param string $object + * @return mixed $value + */ + function get_META($object = false) { + + // defined order first look into database, then XMP, IPTC and EXIF. + if ($value = $this->get_saved_meta($object)) + return $value; + if ($value = $this->get_XMP($object)) + return $value; + if ($value = $this->get_IPTC($object)) + return $value; + if ($value = $this->get_EXIF($object)) + return $value; + + // nothing found ? + return false; + } + + /** + * nggMeta::i8n_name() - localize the tag name + * + * @param mixed $key + * @return translated $key + */ + function i8n_name($key) { + + $tagnames = array( + 'aperture' => __('Aperture','nggallery'), + 'credit' => __('Credit','nggallery'), + 'camera' => __('Camera','nggallery'), + 'caption' => __('Caption','nggallery'), + 'created_timestamp' => __('Date/Time','nggallery'), + 'copyright' => __('Copyright','nggallery'), + 'focal_length' => __('Focal length','nggallery'), + 'iso' => __('ISO','nggallery'), + 'shutter_speed' => __('Shutter speed','nggallery'), + 'title' => __('Title','nggallery'), + 'author' => __('Author','nggallery'), + 'tags' => __('Tags','nggallery'), + 'subject' => __('Subject','nggallery'), + 'make' => __('Make','nggallery'), + 'status' => __('Edit Status','nggallery'), + 'category' => __('Category','nggallery'), + 'keywords' => __('Keywords','nggallery'), + 'created_date' => __('Date Created','nggallery'), + 'created_time' => __('Time Created','nggallery'), + 'position' => __('Author Position','nggallery'), + 'city' => __('City','nggallery'), + 'location' => __('Location','nggallery'), + 'state' => __('Province/State','nggallery'), + 'country_code' => __('Country code','nggallery'), + 'country' => __('Country','nggallery'), + 'headline' => __('Headline','nggallery'), + 'credit' => __('Credit','nggallery'), + 'source' => __('Source','nggallery'), + 'copyright' => __('Copyright Notice','nggallery'), + 'contact' => __('Contact','nggallery'), + 'last_modfied' => __('Last modified','nggallery'), + 'tool' => __('Program tool','nggallery'), + 'format' => __('Format','nggallery'), + 'width' => __('Image Width','nggallery'), + 'height' => __('Image Height','nggallery'), + 'flash' => __('Flash','nggallery') + ); + + if ( isset($tagnames[$key]) ) + $key = $tagnames[$key]; + + return($key); + + } + + /** + * Return the Timestamp from the image , if possible it's read from exif data + * @return int + */ + function get_date_time() { + + $date = time(); + + // Try XMP first + if (isset($this->xmp_array['created_timestamp'])) { + $date = @strtotime($this->xmp_array['created_timestamp']); + } + + // Then EXIF + else if (isset($this->exif_array['created_timestamp'])) { + $date = @strtotime($this->exif_array['created_timestamp']); + } + + // Then IPTC + else if (isset($this->iptc_array['created_date'])) { + $date = $this->iptc_array['created_date']; + if (isset($this->iptc_array['created_time'])) { + $date .= " {$this->iptc_array['created_time']}"; + } + $date = @strtotime($date); + } + + // If all else fails, use the file creation time + else if ($this->image->imagePath) { + $date = @filectime($this->image->imagePath); + } + + // Failback + if (!$date) $date = time(); + + // Return the MySQL format + $date_time = date( 'Y-m-d H:i:s', $date); + + return $date_time; + } + + /** + * This function return the most common metadata, via a filter we can add more + * Reason : GD manipulation removes that options + * + * @since V1.4.0 + * @return void + */ + function get_common_meta() { + global $wpdb; + + $meta = array( + 'aperture' => 0, + 'credit' => '', + 'camera' => '', + 'caption' => '', + 'created_timestamp' => 0, + 'copyright' => '', + 'focal_length' => 0, + 'iso' => 0, + 'shutter_speed' => 0, + 'flash' => 0, + 'title' => '', + 'keywords' => '' + ); + + $meta = apply_filters( 'ngg_read_image_metadata', $meta ); + + // meta should be still an array + if ( !is_array($meta) ) + return false; + + foreach ($meta as $key => $value) { + $meta[$key] = $this->get_META($key); + } + + //let's add now the size of the image + $meta['width'] = $this->size[0]; + $meta['height'] = $this->size[1]; + + return $meta; + } + + /** + * If needed sanitize each value before output + * + * @return void + */ + function sanitize () { + $this->sanitize = true; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php new file mode 100644 index 000000000..e8f36a989 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php @@ -0,0 +1,57 @@ +<?php +/** +* Main PHP Class for Multisite setup +* +* @author Alex Rabe +* +* +*/ +class nggWPMU{ + + /** + * Check the Quota under WPMU. Only needed for this case + * + * @class nggWPMU + * @return bool $result + */ + function check_quota() { + if ( get_site_option( 'upload_space_check_disabled' ) ) + return false; + + if ( (is_multisite()) && nggWPMU::wpmu_enable_function('wpmuQuotaCheck')) + if( $error = upload_is_user_over_quota( false ) ) { + nggGallery::show_error( __( 'Sorry, you have used your space allocation. Please delete some files to upload more files.','nggallery' ) ); + return true; + } + return false; + } + + /** + * Check for site admin + * + * @return + */ + function wpmu_site_admin() { + + if ( function_exists('is_super_admin') ) + if ( is_super_admin() ) + return true; + + return false; + } + + /** + * Check for site wide options + * + * @param string $value + * @return value + */ + function wpmu_enable_function($value) { + if (is_multisite()) { + $ngg_options = get_site_option('ngg_options'); + return $ngg_options[$value]; + } + // if this is not WPMU, enable it ! + return true; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/navigation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/navigation.php new file mode 100644 index 000000000..39e933aca --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/navigation.php @@ -0,0 +1,123 @@ +<?php +/** + * nggNavigation - PHP class for the pagination + * + * @package NextGEN Gallery + * @author Alex Rabe + * + * @version 1.0.1 + * @access public + */ +class nggNavigation { + + /** + * Return the navigation output + * + * @access public + * @var string + */ + var $output = false; + + /** + * Link to previous page + * + * @access public + * @var string + */ + var $prev = false; + + /** + * Link to next page + * + * @access public + * @var string + */ + var $next = false; + + /** + * PHP4 compatibility layer for calling the PHP5 constructor. + * + */ + function nggNavigation() { + return $this->__construct(); + } + + /** + * Main constructor - Does nothing. + * Call create_navigation() method when you need a navigation. + * + */ + function __construct() { + return; + } + + /** + * nggNavigation::create_navigation() + * + * @param mixed $page + * @param integer $totalElement + * @param integer $maxElement + * @return string pagination content + */ + function create_navigation($page, $totalElement, $maxElement = 0) { + global $nggRewrite; + + $prev_symbol = apply_filters('ngg_prev_symbol', '◄'); + $next_symbol = apply_filters('ngg_prev_symbol', '►'); + + if ($maxElement > 0) { + $total = $totalElement; + + // create navigation + if ( $total > $maxElement ) { + $total_pages = ceil( $total / $maxElement ); + $r = ''; + if ( 1 < $page ) { + $args['nggpage'] = ( 1 == $page - 1 ) ? FALSE : $page - 1; + $previous = $args['nggpage']; + if (FALSE == $args['nggpage']) { + $previous = 1; + } +// $this->prev = real_site_url($_SERVER['REQUEST_URI']); + $this->prev = add_query_arg('nggpage', $args['nggpage'], $_SERVER['REQUEST_URI']); +// $this->prev = $nggRewrite->get_permalink ( $args ); + $r .= '<a class="prev" id="ngg-prev-' . $previous . '" href="' . $this->prev . '">' . $prev_symbol . '</a>'; + } + + $total_pages = ceil( $total / $maxElement ); + + if ( $total_pages > 1 ) { + for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) { + if ( $page == $page_num ) { + $r .= '<span class="current">' . $page_num . '</span>'; + } else { + $p = false; + if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) { + $args['nggpage'] = ( 1 == $page_num ) ? FALSE : $page_num; + $link = add_query_arg('nggpage', $args['nggpage'], $_SERVER['REQUEST_URI']); + $r .= '<a class="page-numbers" href="' . $link . '">' . ( $page_num ) . '</a>'; + $in = true; + } elseif ( $in == true ) { + $r .= '<span class="more">...</span>'; + $in = false; + } + } + } + } + + if ( ( $page ) * $maxElement < $total || -1 == $total ) { + $args['nggpage'] = $page + 1; + $this->next = add_query_arg('nggpage', $args['nggpage'], $_SERVER['REQUEST_URI']); +// $this->next = $nggRewrite->get_permalink ( $args ); + $r .= '<a class="next" id="ngg-next-' . $args['nggpage'] . '" href="' . $this->next . '">' . $next_symbol . '</a>'; + } + + $this->output = "<div class='ngg-navigation'>$r</div>"; + } else { + $this->output = "<div class='ngg-clear'></div>"."\n"; + } + } + + return $this->output; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php new file mode 100644 index 000000000..b4491ffd3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php @@ -0,0 +1,1121 @@ +<?php +if ( !class_exists('nggdb') ) : +/** + * NextGEN Gallery Database Class + * + * @author Alex Rabe, Vincent Prat + * + * @since 1.0.0 + */ +class nggdb { + + /** + * Holds the list of all galleries + * + * @since 1.1.0 + * @access public + * @var object|array + */ + var $galleries = false; + + /** + * Holds the list of all images + * + * @since 1.3.0 + * @access public + * @var object|array + */ + var $images = false; + + /** + * Holds the list of all albums + * + * @since 1.3.0 + * @access public + * @var object|array + */ + var $albums = false; + + /** + * The array for the pagination + * + * @since 1.1.0 + * @access public + * @var array + */ + var $paged = false; + + /** + * PHP4 compatibility layer for calling the PHP5 constructor. + * + */ + function nggdb() { + return $this->__construct(); + } + + /** + * Init the Database Abstraction layer for NextGEN Gallery + * + */ + function __construct() { + global $wpdb; + + $this->galleries = array(); + $this->images = array(); + $this->albums = array(); + $this->paged = array(); + + register_shutdown_function(array(&$this, '__destruct')); + + } + + /** + * PHP5 style destructor and will run when database object is destroyed. + * + * @return bool Always true + */ + function __destruct() { + return true; + } + + /** + * Get all the album and unserialize the content + * + * @since 1.3.0 + * @param string $order_by + * @param string $order_dir + * @param int $limit number of albums, 0 shows all albums + * @param int $start the start index for paged albums + * @return array $album + */ + function find_all_album( $order_by = 'id', $order_dir = 'ASC', $limit = 0, $start = 0) { + global $wpdb; + + $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC'; + $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : ''; + $this->albums = $wpdb->get_results("SELECT * FROM $wpdb->nggalbum ORDER BY {$order_by} {$order_dir} {$limit_by}" , OBJECT_K ); + + if ( !$this->albums ) + return array(); + + // XXX nggdb is used statically, cannot inherit from Ngg_Serializable + $serializer = new Ngg_Serializable(); + + foreach ($this->albums as $key => $value) { + $this->albums[$key]->galleries = empty ($this->albums[$key]->sortorder) ? array() : (array) $serializer->unserialize($this->albums[$key]->sortorder) ; + $this->albums[$key]->name = stripslashes( $this->albums[$key]->name ); + $this->albums[$key]->albumdesc = stripslashes( $this->albums[$key]->albumdesc ); + wp_cache_add($key, $this->albums[$key], 'ngg_album'); + } + + return $this->albums; + } + + /** + * Get all the galleries + * + * @param string $order_by + * @param string $order_dir + * @param bool $counter (optional) Select true when you need to count the images + * @param int $limit number of paged galleries, 0 shows all galleries + * @param int $start the start index for paged galleries + * @param bool $exclude + * @return array $galleries + */ + function find_all_galleries($order_by = 'gid', $order_dir = 'ASC', $counter = false, $limit = 0, $start = 0, $exclude = true) { + global $wpdb; + + // Check for the exclude setting + $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : ''; + $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC'; + $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : ''; + $this->galleries = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->nggallery ORDER BY {$order_by} {$order_dir} {$limit_by}", OBJECT_K ); + + // Count the number of galleries and calculate the pagination + if ($limit > 0) { + $this->paged['total_objects'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) ); + $this->paged['objects_per_page'] = max ( count( $this->galleries ), $limit ); + $this->paged['max_objects_per_page'] = ( $limit > 0 ) ? ceil( $this->paged['total_objects'] / intval($limit)) : 1; + } + + if ( !$this->galleries ) + return array(); + + // get the galleries information + foreach ($this->galleries as $key => $value) { + $galleriesID[] = $key; + // init the counter values + $this->galleries[$key]->counter = 0; + $this->galleries[$key]->title = stripslashes($this->galleries[$key]->title); + $this->galleries[$key]->galdesc = stripslashes($this->galleries[$key]->galdesc); + $this->galleries[$key]->abspath = WINABSPATH . $this->galleries[$key]->path; + wp_cache_add($key, $this->galleries[$key], 'ngg_gallery'); + } + + // if we didn't need to count the images then stop here + if ( !$counter ) + return $this->galleries; + + // get the counter values + $picturesCounter = $wpdb->get_results('SELECT galleryid, COUNT(*) as counter FROM '.$wpdb->nggpictures.' WHERE galleryid IN (\''.implode('\',\'', $galleriesID).'\') ' . $exclude_clause . ' GROUP BY galleryid', OBJECT_K); + + if ( !$picturesCounter ) + return $this->galleries; + + // add the counter to the gallery objekt + foreach ($picturesCounter as $key => $value) { + $this->galleries[$value->galleryid]->counter = $value->counter; + wp_cache_set($value->galleryid, $this->galleries[$value->galleryid], 'ngg_gallery'); + } + + return $this->galleries; + } + + /** + * Get a gallery given its ID + * + * @param int|string $id or $slug + * @return A nggGallery object (null if not found) + */ + function find_gallery( $id ) { + global $wpdb; + + if( is_numeric($id) ) { + + if ( $gallery = wp_cache_get($id, 'ngg_gallery') ) + return $gallery; + + $gallery = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggallery WHERE gid = %d", $id ) ); + + } else + $gallery = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggallery WHERE slug = %s", $id ) ); + + // Build the object from the query result + if ($gallery) { + // it was a bad idea to use a object, stripslashes_deep() could not used here, learn from it + $gallery->title = stripslashes($gallery->title); + $gallery->galdesc = stripslashes($gallery->galdesc); + + $gallery->abspath = WINABSPATH . $gallery->path; + //TODO:Possible failure , $id could be a number or name + wp_cache_add($id, $gallery, 'ngg_gallery'); + + return $gallery; + } else + return false; + } + + /** + * This function return all information about the gallery and the images inside + * + * @param int|string $id or $name + * @param string $order_by + * @param string $order_dir (ASC |DESC) + * @param bool $exclude + * @param int $limit number of paged galleries, 0 shows all galleries + * @param int $start the start index for paged galleries + * @param bool $json remove the key for associative array in json request + * @return An array containing the nggImage objects representing the images in the gallery. + */ + function get_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true, $limit = 0, $start = 0, $json = false) { + + global $wpdb; + + // init the gallery as empty array + $gallery = array(); + $i = 0; + + // Check for the exclude setting + $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : ''; + + // Say no to any other value + $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC'; + $order_by = ( empty($order_by) ) ? 'sortorder' : $order_by; + $order_clause = "ABS(tt.{$order_by}) {$order_dir}, tt.{$order_by} {$order_dir}"; +// $order_clause = "LENGTH(tt.{$order_by}) {$order_dir}, tt.{$order_by} {$order_dir}"; + + // Should we limit this query ? + $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($start) . ',' . intval($limit) : ''; + + // Query database + if( is_numeric($id) ) + $result = $wpdb->get_results( $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = %d {$exclude_clause} ORDER BY {$order_clause} {$limit_by}", $id ), OBJECT_K ); + else + $result = $wpdb->get_results( $wpdb->prepare( "SELECT SQL_CALC_FOUND_ROWS tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.slug = %s {$exclude_clause} ORDER BY {$order_clause} {$limit_by}", $id ), OBJECT_K ); + + // Count the number of images and calculate the pagination + if ($limit > 0) { + $this->paged['total_objects'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) ); + $this->paged['objects_per_page'] = max ( count( $result ), $limit ); + $this->paged['max_objects_per_page'] = ( $limit > 0 ) ? ceil( $this->paged['total_objects'] / intval($limit)) : 1; + } + + // Build the object + if ($result) { + + // Now added all image data + foreach ($result as $key => $value) { + // due to a browser bug we need to remove the key for associative array for json request + // (see http://code.google.com/p/chromium/issues/detail?id=883) + if ($json) $key = $i++; + $gallery[$key] = new nggImage( $value ); // keep in mind each request require 8-16 kb memory usage + + } + } + + // Could not add to cache, the structure is different to find_gallery() cache_add, need rework + //wp_cache_add($id, $gallery, 'ngg_gallery'); + + return $gallery; + } + + /** + * This function return all information about the gallery and the images inside + * + * @param int|string $id or $name + * @param string $orderby + * @param string $order (ASC |DESC) + * @param bool $exclude + * @return An array containing the nggImage objects representing the images in the gallery. + */ + function get_ids_from_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true) { + + global $wpdb; + + // Check for the exclude setting + $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : ''; + + // Say no to any other value + $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC'; + $order_by = ( empty($order_by) ) ? 'sortorder' : $order_by; + + // Query database + if( is_numeric($id) ) + $result = $wpdb->get_col( $wpdb->prepare( "SELECT tt.pid FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = %d $exclude_clause ORDER BY tt.{$order_by} $order_dir", $id ) ); + else + $result = $wpdb->get_col( $wpdb->prepare( "SELECT tt.pid FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.slug = %s $exclude_clause ORDER BY tt.{$order_by} $order_dir", $id ) ); + + return $result; + } + + /** + * Delete a gallery AND all the pictures associated to this gallery! + * + * @id The gallery ID + */ + function delete_gallery( $id ) { + global $wpdb; + + $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggpictures WHERE galleryid = %d", $id) ); + $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggallery WHERE gid = %d", $id) ); + + wp_cache_delete($id, 'ngg_gallery'); + + //TODO:Remove all tag relationship + return true; + } + + /** + * Get an album given its ID + * + * @id The album ID or name + * @return A nggGallery object (false if not found) + */ + function find_album( $id ) { + global $wpdb; + + // Query database + if ( is_numeric($id) && $id != 0 ) { + if ( $album = wp_cache_get($id, 'ngg_album') ) + return $album; + + $album = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggalbum WHERE id = %d", $id) ); + } elseif ( $id == 'all' || (is_numeric($id) && $id == 0) ) { + // init the object and fill it + $album = new stdClass(); + $album->id = 'all'; + $album->name = __('Album overview','nggallery'); + $album->albumdesc = __('Album overview','nggallery'); + $album->previewpic = 0; + $album->sortorder = serialize( $wpdb->get_col("SELECT gid FROM $wpdb->nggallery") ); + } else { + $album = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->nggalbum WHERE slug = %s", $id) ); + } + + // Unserialize the galleries inside the album + if ( $album ) { + // XXX nggdb is used statically, cannot inherit from Ngg_Serializable + $serializer = new Ngg_Serializable(); + + if ( !empty( $album->sortorder ) ) + $album->gallery_ids = $serializer->unserialize( $album->sortorder ); + + // it was a bad idea to use a object, stripslashes_deep() could not used here, learn from it + $album->albumdesc = stripslashes($album->albumdesc); + $album->name = stripslashes($album->name); + + wp_cache_add($album->id, $album, 'ngg_album'); + return $album; + } + + return false; + } + + /** + * Delete an album + * + * @id The album ID + */ + function delete_album( $id ) { + global $wpdb; + + $result = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggalbum WHERE id = %d", $id) ); + wp_cache_delete($id, 'ngg_album'); + + return $result; + } + + /** + * Insert an image in the database + * + * @return the ID of the inserted image + */ + function insert_image($gid, $filename, $alttext, $desc, $exclude) { + global $wpdb; + + $result = $wpdb->query( + "INSERT INTO $wpdb->nggpictures (galleryid, filename, description, alttext, exclude) VALUES " + . "('$gid', '$filename', '$desc', '$alttext', '$exclude');"); + $pid = (int) $wpdb->insert_id; + wp_cache_delete($gid, 'ngg_gallery'); + + return $pid; + } + + /** + * nggdb::update_image() - Update an image in the database + * + * @param int $pid id of the image + * @param (optional) string|int $galleryid + * @param (optional) string $filename + * @param (optional) string $description + * @param (optional) string $alttext + * @param (optional) int $exclude (0 or 1) + * @param (optional) int $sortorder + * @return bool result of update query + */ + function update_image($pid, $galleryid = false, $filename = false, $description = false, $alttext = false, $exclude = false, $sortorder = false) { + + global $wpdb; + + $sql = array(); + $pid = (int) $pid; + + // slug must be unique, we use the alttext for that + $slug = nggdb::get_unique_slug( sanitize_title( $alttext ), 'image' ); + + $update = array( + 'image_slug' => $slug, + 'galleryid' => $galleryid, + 'filename' => $filename, + 'description' => $description, + 'alttext' => $alttext, + 'exclude' => $exclude, + 'sortorder' => $sortorder); + + // create the sql parameter "name = value" + foreach ($update as $key => $value) + if ($value !== false) + $sql[] = $key . " = '" . $value . "'"; + + // create the final string + $sql = implode(', ', $sql); + + if ( !empty($sql) && $pid != 0) + $result = $wpdb->query( "UPDATE $wpdb->nggpictures SET $sql WHERE pid = $pid" ); + + wp_cache_delete($pid, 'ngg_image'); + + return $result; + } + + /** + * nggdb::update_gallery() - Update an gallery in the database + * + * @since V1.7.0 + * @param int $id id of the gallery + * @param (optional) string $title or name of the gallery + * @param (optional) string $path + * @param (optional) string $description + * @param (optional) int $pageid + * @param (optional) int $previewpic + * @param (optional) int $author + * @return bool result of update query + */ + function update_gallery($id, $name = false, $path = false, $title = false, $description = false, $pageid = false, $previewpic = false, $author = false) { + + global $wpdb; + + $sql = array(); + $id = (int) $id; + + // slug must be unique, we use the title for that + $slug = nggdb::get_unique_slug( sanitize_title( $title ), 'gallery' ); + + $update = array( + 'name' => $name, + 'slug' => $slug, + 'path' => $path, + 'title' => $title, + 'galdesc' => $description, + 'pageid' => $pageid, + 'previewpic' => $previewpic, + 'author' => $author); + + // create the sql parameter "name = value" + foreach ($update as $key => $value) + if ($value !== false) + $sql[] = $key . " = '" . $value . "'"; + + // create the final string + $sql = implode(', ', $sql); + + if ( !empty($sql) && $id != 0) + $result = $wpdb->query( "UPDATE $wpdb->nggallery SET $sql WHERE gid = $id" ); + + wp_cache_delete($id, 'ngg_gallery'); + + return $result; + } + + /** + * nggdb::update_album() - Update an album in the database + * + * @since V1.7.0 + * @param int $ id id of the album + * @param (optional) string $title + * @param (optional) int $previewpic + * @param (optional) string $description + * @param (optional) serialized array $sortorder + * @param (optional) int $pageid + * @return bool result of update query + */ + function update_album($id, $name = false, $previewpic = false, $description = false, $sortorder = false, $pageid = false ) { + + global $wpdb; + + $sql = array(); + $id = (int) $id; + + // slug must be unique, we use the title for that + $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' ); + + $update = array( + 'name' => $name, + 'slug' => $slug, + 'previewpic' => $previewpic, + 'albumdesc' => $description, + 'sortorder' => $sortorder, + 'pageid' => $pageid); + + // create the sql parameter "name = value" + foreach ($update as $key => $value) + if ($value !== false) + $sql[] = $key . " = '" . $value . "'"; + + // create the final string + $sql = implode(', ', $sql); + + if ( !empty($sql) && $id != 0) + $result = $wpdb->query( "UPDATE $wpdb->nggalbum SET $sql WHERE id = $id" ); + + wp_cache_delete($id, 'ngg_album'); + + return $result; + } + + /** + * Get an image given its ID + * + * @param int|string The image ID or Slug + * @return object A nggImage object representing the image (false if not found) + */ + function find_image( $id ) { + global $wpdb; + + if( is_numeric($id) ) { + + if ( $image = wp_cache_get($id, 'ngg_image') ) + return $image; + + $result = $wpdb->get_row( $wpdb->prepare( "SELECT tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.pid = %d ", $id ) ); + } else + $result = $wpdb->get_row( $wpdb->prepare( "SELECT tt.*, t.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.image_slug = %s ", $id ) ); + + // Build the object from the query result + if ($result) { + $image = new nggImage($result); + return $image; + } + + return false; + } + + /** + * Get images given a list of IDs + * + * @param $pids array of picture_ids + * @return An array of nggImage objects representing the images + */ + function find_images_in_list( $pids, $exclude = false, $order = 'ASC' ) { + global $wpdb; + + $result = array(); + + // Check for the exclude setting + $exclude_clause = ($exclude) ? ' AND t.exclude <> 1 ' : ''; + + // Check for the exclude setting + $order_clause = ($order == 'RAND') ? 'ORDER BY rand() ' : ' ORDER BY t.pid ASC' ; + + if ( is_array($pids) ) { + $id_list = "'" . implode("', '", $pids) . "'"; + + // Save Query database + $images = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpictures AS t INNER JOIN $wpdb->nggallery AS tt ON t.galleryid = tt.gid WHERE t.pid IN ($id_list) $exclude_clause $order_clause", OBJECT_K); + + // Build the image objects from the query result + if ($images) { + foreach ($images as $key => $image) + $result[$key] = new nggImage( $image ); + } + } + return $result; + } + + /** + * Add an image to the database + * + * @since V1.4.0 + * @param int $pid id of the gallery + * @param (optional) string|int $galleryid + * @param (optional) string $filename + * @param (optional) string $description + * @param (optional) string $alttext + * @param (optional) array $meta data + * @param (optional) int $post_id (required for sync with WP media lib) + * @param (optional) string $imagedate + * @param (optional) int $exclude (0 or 1) + * @param (optional) int $sortorder + * @return bool result of the ID of the inserted image + */ + function add_image( $id = false, $filename = false, $description = '', $alttext = '', $meta_data = false, $post_id = 0, $imagedate = '0000-00-00 00:00:00', $exclude = 0, $sortorder = 0 ) { + global $wpdb; + + if ( is_array($meta_data) ) + $meta_data = serialize($meta_data); + + // slug must be unique, we use the alttext for that + $slug = nggdb::get_unique_slug( sanitize_title( $alttext ), 'image' ); + + // Add the image + if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggpictures (image_slug, galleryid, filename, description, alttext, meta_data, post_id, imagedate, exclude, sortorder) + VALUES (%s, %d, %s, %s, %s, %s, %d, %s, %d, %d)", $slug, $id, $filename, $description, $alttext, $meta_data, $post_id, $imagedate, $exclude, $sortorder ) ) ) { + return false; + } + + $imageID = (int) $wpdb->insert_id; + + // Remove from cache the galley, needs to be rebuild now + wp_cache_delete( $id, 'ngg_gallery'); + + //and give me the new id + return $imageID; + } + + /** + * Add an album to the database + * + * @since V1.7.0 + * @param (optional) string $title + * @param (optional) int $previewpic + * @param (optional) string $description + * @param (optional) serialized array $sortorder + * @param (optional) int $pageid + * @return bool result of the ID of the inserted album + */ + function add_album( $name = false, $previewpic = 0, $description = '', $sortorder = 0, $pageid = 0 ) { + global $wpdb; + + // name must be unique, we use the title for that + $slug = nggdb::get_unique_slug( sanitize_title( $name ), 'album' ); + + // Add the album + if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggalbum (name, slug, previewpic, albumdesc, sortorder, pageid) + VALUES (%s, %s, %d, %s, %s, %d)", $name, $slug, $previewpic, $description, $sortorder, $pageid ) ) ) { + return false; + } + + $albumID = (int) $wpdb->insert_id; + + //and give me the new id + return $albumID; + } + + /** + * Add an gallery to the database + * + * @since V1.7.0 + * @param (optional) string $title or name of the gallery + * @param (optional) string $path + * @param (optional) string $description + * @param (optional) int $pageid + * @param (optional) int $previewpic + * @param (optional) int $author + * @return bool result of the ID of the inserted gallery + */ + function add_gallery( $title = '', $path = '', $description = '', $pageid = 0, $previewpic = 0, $author = 0 ) { + global $wpdb; + + // slug must be unique, we use the title for that + $slug = nggdb::get_unique_slug( sanitize_title( $title ), 'gallery' ); + + // Note : The field 'name' is deprecated, it's currently kept only for compat reason with older shortcodes, we copy the slug into this field + if ( false === $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, slug, path, title, galdesc, pageid, previewpic, author) + VALUES (%s, %s, %s, %s, %s, %d, %d, %d)", $slug, $slug, $path, $title, $description, $pageid, $previewpic, $author ) ) ) { + return false; + } + + $galleryID = (int) $wpdb->insert_id; + + //and give me the new id + return $galleryID; + } + + /** + * Delete an image entry from the database + * @param integer $id is the Image ID + */ + function delete_image( $id ) { + global $wpdb; + + // Delete the image + $result = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->nggpictures WHERE pid = %d", $id) ); + + // Delete tag references + wp_delete_object_term_relationships( $id, 'ngg_tag'); + + // Remove from cache + wp_cache_delete( $id, 'ngg_image'); + + return $result; + } + + /** + * Get the last images registered in the database with a maximum number of $limit results + * + * @param integer $page start offset as page number (0,1,2,3,4...) + * @param integer $limit the number of result + * @param bool $exclude do not show exluded images + * @param int $galleryId Only look for images with this gallery id, or in all galleries if id is 0 + * @param string $orderby is one of "id" (default, order by pid), "date" (order by exif date), sort (order by user sort order) + * @return + */ + function find_last_images($page = 0, $limit = 30, $exclude = true, $galleryId = 0, $orderby = "id") { + global $wpdb; + + // Check for the exclude setting + $exclude_clause = ($exclude) ? ' AND exclude<>1 ' : ''; + + // a limit of 0 makes no sense + $limit = ($limit == 0) ? 30 : $limit; + // calculate the offset based on the pagr number + $offset = (int) $page * $limit; + + $galleryId = (int) $galleryId; + $gallery_clause = ($galleryId === 0) ? '' : ' AND galleryid = ' . $galleryId . ' '; + + // default order by pid + $order = 'pid DESC'; + switch ($orderby) { + case 'date': + $order = 'imagedate DESC'; + break; + case 'sort': + $order = 'sortorder ASC'; + break; + } + + $result = array(); + $gallery_cache = array(); + + // Query database + $images = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE 1=1 $exclude_clause $gallery_clause ORDER BY $order LIMIT $offset, $limit"); + + // Build the object from the query result + if ($images) { + foreach ($images as $key => $image) { + + // cache a gallery , so we didn't need to lookup twice + if (!array_key_exists($image->galleryid, $gallery_cache)) + $gallery_cache[$image->galleryid] = nggdb::find_gallery($image->galleryid); + + // Join gallery information with picture information + foreach ($gallery_cache[$image->galleryid] as $index => $value) + $image->$index = $value; + + // Now get the complete image data + $result[$key] = new nggImage( $image ); + } + } + + return $result; + } + + /** + * nggdb::get_random_images() - Get an random image from one ore more gally + * + * @param integer $number of images + * @param integer $galleryID optional a Gallery + * @return A nggImage object representing the image (null if not found) + */ + function get_random_images($number = 1, $galleryID = 0) { + global $wpdb; + + $number = (int) $number; + $galleryID = (int) $galleryID; + $images = array(); + + // Query database + if ($galleryID == 0) + $result = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 ORDER by rand() limit $number"); + else + $result = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = $galleryID AND tt.exclude != 1 ORDER by rand() limit {$number}"); + + // Return the object from the query result + if ($result) { + foreach ($result as $image) { + $images[] = new nggImage( $image ); + } + return $images; + } + + return null; + } + + /** + * Get all the images from a given album + * + * @param object|int $album The album object or the id + * @param string $order_by + * @param string $order_dir + * @param bool $exclude + * @return An array containing the nggImage objects representing the images in the album. + */ + function find_images_in_album($album, $order_by = 'galleryid', $order_dir = 'ASC', $exclude = true) { + global $wpdb; + + if ( !is_object($album) ) + $album = nggdb::find_album( $album ); + + // Get gallery list + $gallery_list = implode(',', $album->gallery_ids); + // Check for the exclude setting + $exclude_clause = ($exclude) ? ' AND tt.exclude<>1 ' : ''; + + // Say no to any other value + $order_dir = ( $order_dir == 'DESC') ? 'DESC' : 'ASC'; + $order_by = ( empty($order_by) ) ? 'galleryid' : $order_by; + + $result = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.galleryid IN ($gallery_list) $exclude_clause ORDER BY tt.$order_by $order_dir"); + // Return the object from the query result + if ($result) { + foreach ($result as $image) { + $images[] = new nggImage( $image ); + } + return $images; + } + + return null; + } + + /** + * search for images and return the result + * + * @since 1.3.0 + * @param string $request + * @param int $limit number of results, 0 shows all results + * @return Array Result of the request + */ + function search_for_images( $request, $limit = 0 ) { + global $wpdb; + + // If a search pattern is specified, load the posts that match + if ( !empty($request) ) { + // added slashes screw with quote grouping when done early, so done later + $request = stripslashes($request); + + // split the words it a array if seperated by a space or comma + preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches); + $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]); + + $n = '%'; + $searchand = ''; + $search = ''; + + foreach( (array) $search_terms as $term) { + $term = addslashes_gpc($term); + $search .= "{$searchand}((tt.description LIKE '{$n}{$term}{$n}') OR (tt.alttext LIKE '{$n}{$term}{$n}') OR (tt.filename LIKE '{$n}{$term}{$n}'))"; + $searchand = ' AND '; + } + + $term = $wpdb->escape($request); + if (count($search_terms) > 1 && $search_terms[0] != $request ) + $search .= " OR (tt.description LIKE '{$n}{$term}{$n}') OR (tt.alttext LIKE '{$n}{$term}{$n}') OR (tt.filename LIKE '{$n}{$term}{$n}')"; + + if ( !empty($search) ) + $search = " AND ({$search}) "; + + $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : ''; + } else + return false; + + // build the final query + $query = "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE 1=1 $search ORDER BY tt.pid ASC $limit_by"; + $result = $wpdb->get_results($query); + + // TODO: Currently we didn't support a proper pagination + $this->paged['total_objects'] = $this->paged['objects_per_page'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) ); + $this->paged['max_objects_per_page'] = 1; + + // Return the object from the query result + if ($result) { + foreach ($result as $image) { + $images[] = new nggImage( $image ); + } + return $images; + } + + return null; + } + + /** + * search for galleries and return the result + * + * @since 1.7.0 + * @param string $request + * @param int $limit number of results, 0 shows all results + * @return Array Result of the request + */ + function search_for_galleries( $request, $limit = 0 ) { + global $wpdb; + + // If a search pattern is specified, load the posts that match + if ( !empty($request) ) { + // added slashes screw with quote grouping when done early, so done later + $request = stripslashes($request); + + // split the words it a array if seperated by a space or comma + preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches); + $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]); + + $n = '%'; + $searchand = ''; + $search = ''; + + foreach( (array) $search_terms as $term) { + $term = addslashes_gpc($term); + $search .= "{$searchand}((title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}') )"; + $searchand = ' AND '; + } + + $term = $wpdb->escape($request); + if (count($search_terms) > 1 && $search_terms[0] != $request ) + $search .= " OR (title LIKE '{$n}{$term}{$n}') OR (name LIKE '{$n}{$term}{$n}')"; + + if ( !empty($search) ) + $search = " AND ({$search}) "; + + $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : ''; + } else + return false; + + // build the final query + $query = "SELECT * FROM $wpdb->nggallery WHERE 1=1 $search ORDER BY title ASC $limit"; + $result = $wpdb->get_results($query); + + return $result; + } + + /** + * search for albums and return the result + * + * @since 1.7.0 + * @param string $request + * @param int $limit number of results, 0 shows all results + * @return Array Result of the request + */ + function search_for_albums( $request, $limit = 0 ) { + global $wpdb; + + // If a search pattern is specified, load the posts that match + if ( !empty($request) ) { + // added slashes screw with quote grouping when done early, so done later + $request = stripslashes($request); + + // split the words it a array if seperated by a space or comma + preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $request, $matches); + $search_terms = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]); + + $n = '%'; + $searchand = ''; + $search = ''; + + foreach( (array) $search_terms as $term) { + $term = addslashes_gpc($term); + $search .= "{$searchand}(name LIKE '{$n}{$term}{$n}')"; + $searchand = ' AND '; + } + + $term = $wpdb->escape($request); + if (count($search_terms) > 1 && $search_terms[0] != $request ) + $search .= " OR (name LIKE '{$n}{$term}{$n}')"; + + if ( !empty($search) ) + $search = " AND ({$search}) "; + + $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : ''; + } else + return false; + + // build the final query + $query = "SELECT * FROM $wpdb->nggalbum WHERE 1=1 $search ORDER BY name ASC $limit"; + $result = $wpdb->get_results($query); + + return $result; + } + + /** + * search for a filename + * + * @since 1.4.0 + * @param string $filename + * @param int (optional) $galleryID + * @return Array Result of the request + */ + function search_for_file( $filename, $galleryID = false ) { + global $wpdb; + + // If a search pattern is specified, load the posts that match + if ( !empty($filename) ) { + // added slashes screw with quote grouping when done early, so done later + $term = $wpdb->escape($filename); + + $where_clause = ''; + if ( is_numeric($galleryID) ) { + $id = (int) $galleryID; + $where_clause = " AND tt.galleryid = {$id}"; + } + } + + // build the final query + $query = "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.filename = '{$term}' {$where_clause} ORDER BY tt.pid ASC "; + $result = $wpdb->get_row($query); + + // Return the object from the query result + if ($result) { + $image = new nggImage( $result ); + return $image; + } + + return null; + } + + + /** + * Update or add meta data for an image + * + * @since 1.4.0 + * @param int $id The image ID + * @param array $values An array with existing or new values + * @return bool result of query + */ + function update_image_meta( $id, $new_values ) { + global $wpdb; + + // XXX nggdb is used statically, cannot inherit from Ngg_Serializable + $serializer = new Ngg_Serializable(); + + // Query database for existing values + // Use cache object + $old_values = $wpdb->get_var( $wpdb->prepare( "SELECT meta_data FROM $wpdb->nggpictures WHERE pid = %d ", $id ) ); + $old_values = $serializer->unserialize( $old_values ); + + $meta = array_merge( (array)$old_values, (array)$new_values ); + + $result = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->nggpictures SET meta_data = %s WHERE pid = %d", serialize($meta), $id) ); + + wp_cache_delete($id, 'ngg_image'); + + return $result; + } + + /** + * Computes a unique slug for the gallery,album or image, when given the desired slug. + * + * @since 1.7.0 + * @author taken from WP Core includes/post.php + * @param string $slug the desired slug (post_name) + * @param string $type ('image', 'album' or 'gallery') + * @param int (optional) $id of the object, so that it's not checked against itself + * @return string unique slug for the object, based on $slug (with a -1, -2, etc. suffix) + */ + function get_unique_slug( $slug, $type, $id = 0 ) { + + global $wpdb; + + switch ($type) { + case 'image': + $check_sql = "SELECT image_slug FROM $wpdb->nggpictures WHERE image_slug = %s AND NOT pid = %d LIMIT 1"; + break; + case 'album': + $check_sql = "SELECT slug FROM $wpdb->nggalbum WHERE slug = %s AND NOT id = %d LIMIT 1"; + break; + case 'gallery': + $check_sql = "SELECT slug FROM $wpdb->nggallery WHERE slug = %s AND NOT gid = %d LIMIT 1"; + break; + default: + return false; + } + + //if you didn't give us a name we take the type + $slug = empty($slug) ? $type: $slug; + + // Slugs must be unique across all objects. + $slug_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $id ) ); + + if ( $slug_check ) { + $suffix = 2; + do { + $alt_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; + $slug_check = $wpdb->get_var( $wpdb->prepare($check_sql, $alt_name, $id ) ); + $suffix++; + } while ( $slug_check ); + $slug = $alt_name; + } + + return $slug; + } + +} +endif; + +if ( ! isset($GLOBALS['nggdb']) ) { + /** + * Initate the NextGEN Gallery Database Object, for later cache reasons + * @global object $nggdb Creates a new nggdb object + * @since 1.1.0 + */ + unset($GLOBALS['nggdb']); + $GLOBALS['nggdb'] = new nggdb() ; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php new file mode 100644 index 000000000..a23e36f1d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/post-thumbnail.php @@ -0,0 +1,365 @@ +<?php +// see : http://wordpress.org/support/topic/plugin-nextgen-gallery-ngg-and-featured-image-issue?replies=14 +/** + * nggPostThumbnail - Class for adding the post thumbnail feature + * + * @package NextGEN Gallery + * @author Alex Rabe + * + * @version 1.0.2 + * @access internal + */ +class nggPostThumbnail { + + /** + * PHP4 compatibility layer for calling the PHP5 constructor. + * + */ + function nggPostThumbnail() { + return $this->__construct(); + } + + /** + * Main constructor - Add filter and action hooks + * + */ + function __construct() { + + add_filter( 'admin_post_thumbnail_html', array( $this, 'admin_post_thumbnail'), 10, 2 ); + add_action( 'wp_ajax_ngg_set_post_thumbnail', array( $this, 'ajax_set_post_thumbnail') ); + // Adding filter for the new post_thumbnail + add_filter( 'post_thumbnail_html', array( $this, 'ngg_post_thumbnail'), 10, 5 ); + return; + } + + /** + * Filter for the post meta box. look for a NGG image if the ID is "ngg-<imageID>" + * + * @param string $content + * @return string html output + */ + function admin_post_thumbnail( $content, $post_id = null ) + { + if ($post_id == null) + { + global $post; + + if ( !is_object($post) ) + return $content; + + $post_id = $post->ID; + } + + $thumbnail_id = get_post_meta($post_id, '_thumbnail_id', true); + + // in the case it's a ngg image it return ngg-<imageID> + if ( strpos($thumbnail_id, 'ngg-') === false) + { + global $wp_version; + + if (version_compare($wp_version, '3.5', '>=') && $thumbnail_id <= 0) + { + $iframe_src = get_upload_iframe_src('image'); + $iframe_src = remove_query_arg('TB_iframe', $iframe_src); + $iframe_src = add_query_arg('tab', 'nextgen', $iframe_src); + $iframe_src = add_query_arg('chromeless', '1', $iframe_src); + $iframe_src = add_query_arg('TB_iframe', '1', $iframe_src); + + $set_thumbnail_link = '<p class="hide-if-no-js"><a title="' . esc_attr__( 'Set NextGEN featured image' ) . '" href="' . esc_url( $iframe_src ) . '" id="set-ngg-post-thumbnail" class="thickbox">%s</a></p>'; + + $content .= sprintf($set_thumbnail_link, esc_html__( 'Set NextGEN featured image' )); + } + + return $content; + } + + // cut off the 'ngg-' + $thumbnail_id = substr( $thumbnail_id, 4); + + return $this->_wp_post_thumbnail_html( $thumbnail_id ); + } + + /** + * Filter for the post content + * + * @param string $html + * @param int $post_id + * @param int $post_thumbnail_id + * @param string|array $size Optional. Image size. Defaults to 'thumbnail'. + * @param string|array $attr Optional. Query string or array of attributes. + * @return string html output + */ + function ngg_post_thumbnail( $html, $post_id, $post_thumbnail_id, $size = 'post-thumbnail', $attr = '' ) { + + global $post, $_wp_additional_image_sizes; + + // in the case it's a ngg image it return ngg-<imageID> + if ( strpos($post_thumbnail_id, 'ngg-') === false) + return $html; + + // cut off the 'ngg-' + $post_thumbnail_id = substr( $post_thumbnail_id, 4); + + // get the options + $ngg_options = nggGallery::get_option('ngg_options'); + + // get the image data + $image = nggdb::find_image($post_thumbnail_id); + + if (!$image) + return $html; + + $img_src = false; + $class = 'wp-post-image ngg-image-' . $image->pid . ' '; + + if (is_array($size) || is_array($_wp_additional_image_sizes) && isset($_wp_additional_image_sizes[$size])) { + $class .= isset($attr['class']) ? esc_attr($attr['class']) : ''; + + if( is_array($size)){ + //the parameters is given as an array rather than a predfined image + $width = absint( $size[0] ); + $height = absint( $size[1] ); + if(isset($size[2]) && $size[2] === true) { + $mode = 'crop'; + } else if(isset($size[2])){ + $mode = $size[2]; + } else { + $mode = ''; + } + } else { + $width = absint( $_wp_additional_image_sizes[$size]['width'] ); + $height = absint( $_wp_additional_image_sizes[$size]['height'] ); + $mode = ($_wp_additional_image_sizes[$size]['crop']) ? 'crop' : ''; + } + + // check fo cached picture + if ( $post->post_status == 'publish' ) + $img_src = $image->cached_singlepic_file( $width, $height, $mode ); + + // if we didn't use a cached image then we take the on-the-fly mode + if ($img_src == false) + $img_src = trailingslashit( home_url() ) . 'index.php?callback=image&pid=' . $image->pid . '&width=' . $width . '&height=' . $height . '&mode=crop'; + + } else { + $img_src = $image->thumbURL; + } + + $alttext = isset($attr['alt']) ? $attr['alt'] : $image->alttext; + $titletext = isset($attr['title']) ? $attr['title'] : $image->title; + + $html = '<img src="' . esc_attr($img_src) . '" alt="' . esc_attr($alttext) . '" title="' . esc_attr($titletext) .'" class="'.$class.'" />'; + + return $html; + } + + /** + * nggPostThumbnail::ajax_set_post_thumbnail() + * + * @return void + */ + function ajax_set_post_thumbnail() + { + global $post_ID; + + // check for correct capability + if ( !is_user_logged_in() ) + die( '-1' ); + + // get the post id as global variable, otherwise the ajax_nonce failed later + $post_ID = intval( $_POST['post_id'] ); + + if ( !current_user_can( 'edit_post', $post_ID ) ) + die( '-1' ); + + $thumbnail_id = intval( $_POST['thumbnail_id'] ); + + // delete the image + if ( $thumbnail_id == '-1' ) { + delete_post_meta( $post_ID, '_thumbnail_id' ); + die('0'); + } + + if ($thumbnail_id != null) + { + $registry = C_Component_Registry::get_instance(); + $imap = $registry->get_utility('I_Image_Mapper'); + $storage = $registry->get_utility('I_Gallery_Storage'); + + $image = $imap->find($thumbnail_id); + + // for NGG we look for the image id + if ($image) + { + $image_id = $thumbnail_id; + + $args = array( + 'post_type' => 'attachment', + 'meta_key' => '_ngg_image_id', + 'meta_compare' => '==', + 'meta_value' => $image_id + ); + + $upload_dir = wp_upload_dir(); + $basedir = $upload_dir['basedir']; + $thumbs_dir = path_join($basedir, 'ngg_featured'); + $gallery_abspath = $storage->get_gallery_abspath($image->galleryid); + $image_abspath = $storage->get_full_abspath($image); + $target_path = null; + + $posts = get_posts($args); + $attachment_id = null; + + if ($posts != null) + { + $attachment_id = $posts[0]->ID; + } + else + { + $url = $storage->get_full_url($image); + + $target_relpath = null; + $target_basename = basename($image_abspath); + + if (strpos($image_abspath, $gallery_abspath) === 0) + { + $target_relpath = substr($image_abspath, strlen($gallery_abspath)); + } + else if ($image->galleryid) + { + $target_relpath = path_join(strval($image->galleryid), $target_basename); + } + else + { + $target_relpath = $target_basename; + } + + $target_relpath = trim($target_relpath, '\\/'); + $target_path = path_join($thumbs_dir, $target_relpath); + $max_count = 100; + $count = 0; + + while (file_exists($target_path) && $count <= $max_count) + { + $count++; + + $pathinfo = pathinfo($target_path); + $dirname = $pathinfo['dirname']; + $filename = $pathinfo['filename']; + $extension = $pathinfo['extension']; + + $rand = mt_rand(1, 9999); + $basename = $filename . '_' . sprintf('%04d', $rand) . '.' . $extension; + + $target_path = path_join($dirname, $basename); + } + + if (file_exists($target_path)) + { + // XXX handle very rare case in which $max_count wasn't enough? + } + + $target_dir = dirname($target_path); + + wp_mkdir_p($target_dir); + + if (@copy($image_abspath, $target_path)) + { + $size = @getimagesize($target_path); + $image_type = ($size) ? $size['mime'] : 'image/jpeg'; + + $title = sanitize_file_name($image->alttext); + $caption = sanitize_file_name($image->description); + + $attachment = array( + 'post_title' => $title, + 'post_content' => $caption, + 'post_status' => 'attachment', + 'post_parent' => 0, + 'post_mime_type' => $image_type, + 'guid' => $url + ); + + // Save the data + $attachment_id = wp_insert_attachment($attachment, $target_path); + + if ($attachment_id) + { + wp_update_attachment_metadata($attachment_id, wp_generate_attachment_metadata($attachment_id, $target_path)); + + update_post_meta($attachment_id, '_ngg_image_id', $image_id); + } + } + } + + if ($attachment_id) + { + //$attachment = get_post($attachment_id); + //$attachment_meta = wp_get_attachment_metadata($attachment_id); + $attachment_file = get_attached_file($attachment_id); + $target_path = $attachment_file; + + if (filemtime($image_abspath) > filemtime($target_path)) + { + if (@copy($image_abspath, $target_path)) + { + wp_update_attachment_metadata($attachment_id, wp_generate_attachment_metadata($attachment_id, $target_path)); + } + } + + die(strval($attachment_id)); + } + } + } + + die('0'); + } + + /** + * Output HTML for the post thumbnail meta-box. + * + * @see wp-admin\includes\post.php + * @param int $thumbnail_id ID of the image used for thumbnail + * @return string html output + */ + function _wp_post_thumbnail_html( $thumbnail_id = NULL ) { + + global $_wp_additional_image_sizes, $post_ID; + + $set_thumbnail_link = '<p class="hide-if-no-js"><a title="' . esc_attr__( 'Set featured image' ) . '" href="' . esc_url( get_upload_iframe_src('image') ) . '" id="set-post-thumbnail" class="thickbox">%s</a></p>'; + $content = sprintf($set_thumbnail_link, esc_html__( 'Set featured image' )); + + $image = nggdb::find_image($thumbnail_id); + $img_src = false; + + // get the options + $ngg_options = nggGallery::get_option('ngg_options'); + + if ( $image ) { + if ( is_array($_wp_additional_image_sizes) && isset($_wp_additional_image_sizes['post-thumbnail']) ){ + // Use post thumbnail settings if defined + $width = absint( $_wp_additional_image_sizes['post-thumbnail']['width'] ); + $height = absint( $_wp_additional_image_sizes['post-thumbnail']['height'] ); + $mode = $_wp_additional_image_sizes['post-thumbnail']['crop'] ? 'crop' : ''; + // check fo cached picture + $img_src = $image->cached_singlepic_file( $width, $height, $mode ); + } + + // if we didn't use a cached image then we take the on-the-fly mode + if ( $img_src == false ) + $img_src = trailingslashit( home_url() ) . 'index.php?callback=image&pid=' . $image->pid . '&width=' . $width . '&height=' . $height . '&mode=crop'; + + $thumbnail_html = '<img width="266" src="'. $img_src . '" alt="'.$image->alttext.'" title="'.$image->alttext.'" />'; + + if ( !empty( $thumbnail_html ) ) { + $ajax_nonce = wp_create_nonce( "set_post_thumbnail-$post_ID" ); + $content = sprintf($set_thumbnail_link, $thumbnail_html); + $content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail" onclick="WPRemoveThumbnail(\'' . $ajax_nonce . '\');return false;">' . esc_html__( 'Remove featured image' ) . '</a></p>'; + } + } + + return $content; + } + +} + +$nggPostThumbnail = new nggPostThumbnail(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php new file mode 100644 index 000000000..6f2e9bd1d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php @@ -0,0 +1,423 @@ +<?php + +/** +* nggRewrite - Rewrite Rules for NextGEN Gallery +* +* sorry wp-guys I didn't understand this at all. +* I tried it a couple of hours : this is the only pooooor result +* +* @package NextGEN Gallery +* @author Alex Rabe +* +*/ +class nggRewrite { + + /** + * Default slug name + * + * @since 1.8.0 + * @var string + */ + var $slug = 'nggallery'; + + /** + * Contain the main rewrite structure + * + * @since 1.8.3 + * @var array + */ + var $ngg_rules = ''; + + /** + * Constructor + */ + function nggRewrite() { + + // read the option setting + $this->options = get_option('ngg_options'); + + // get later from the options + $this->slug = $this->options['permalinkSlug']; + + /*WARNING: Do nothook rewrite rule regentation on the init hook for anything other than dev. */ + //add_action('init',array(&$this, 'flush')); + + add_filter('query_vars', array(&$this, 'add_queryvars') ); + add_filter('wp_title' , array(&$this, 'rewrite_title') ); + + //DD32 recommend : http://groups.google.com/group/wp-hackers/browse_thread/thread/50ac0d07e30765e9 + //add_filter('rewrite_rules_array', array($this, 'RewriteRules')); + + if ($this->options['usePermalinks']) + add_action('generate_rewrite_rules', array(&$this, 'RewriteRules')); + + // setup the main rewrite structure for the plugin + $this->ngg_rules = array( + '/page-([0-9]+)/' => '&nggpage=[matches]', + '/image/([^/]+)/' => '&pid=[matches]', + '/image/([^/]+)/page-([0-9]+)/' => '&pid=[matches]&nggpage=[matches]', + '/slideshow/' => '&show=slide', + '/images/' => '&show=gallery', + '/tags/([^/]+)/' => '&gallerytag=[matches]', + '/tags/([^/]+)/page-([0-9]+)/' => '&gallerytag=[matches]&nggpage=[matches]', + '/([^/]+)/' => '&album=[matches]', + '/([^/]+)/page-([0-9]+)/' => '&album=[matches]&nggpage=[matches]', + '/([^/]+)/([^/]+)/' => '&album=[matches]&gallery=[matches]', + '/([^/]+)/([^/]+)/slideshow/' => '&album=[matches]&gallery=[matches]&show=slide', + '/([^/]+)/([^/]+)/images/' => '&album=[matches]&gallery=[matches]&show=gallery', + '/([^/]+)/([^/]+)/page-([0-9]+)/' => '&album=[matches]&gallery=[matches]&nggpage=[matches]', + '/([^/]+)/([^/]+)/page-([0-9]+)/slideshow/' => '&album=[matches]&gallery=[matches]&nggpage=[matches]&show=slide', + '/([^/]+)/([^/]+)/page-([0-9]+)/images/' => '&album=[matches]&gallery=[matches]&nggpage=[matches]&show=gallery', + '/([^/]+)/([^/]+)/image/([^/]+)/' => '&album=[matches]&gallery=[matches]&pid=[matches]' + ); + + + } // end of initialization + + /** + * Get the permalink to a picture/album/gallery given its ID/name/... + */ + function get_permalink( $args ) { + global $wp_rewrite, $wp_query; + + // taken from is_frontpage plugin, required for static homepage + $show_on_front = get_option('show_on_front'); + $page_on_front = get_option('page_on_front'); + + //TODO: Watch out for ticket http://trac.wordpress.org/ticket/6627 + if ($wp_rewrite->using_permalinks() && $this->options['usePermalinks'] ) { + $post = &get_post(get_the_ID()); + + // If the album is not set before get it from the wp_query ($_GET) + if ( !isset ($args['album'] ) ) + $album = get_query_var('album'); + if ( !empty( $album ) ) + $args ['album'] = $album; + + $gallery = get_query_var('gallery'); + if ( !empty( $gallery ) ) + $args ['gallery'] = $gallery; + + $gallerytag = get_query_var('gallerytag'); + if ( !empty( $gallerytag ) ) + $args ['gallerytag'] = $gallerytag; + + /** urlconstructor = post url | slug | tags | [nav] | [show] + tags : album, gallery -> /album-([0-9]+)/gallery-([0-9]+)/ + pid -> /image/([0-9]+)/ + gallerytag -> /tags/([^/]+)/ + nav : nggpage -> /page-([0-9]+)/ + show : show=slide -> /slideshow/ + show=gallery -> /images/ + **/ + + // 1. Post / Page url + main slug + $url = trailingslashit ( get_permalink ($post->ID) ) . $this->slug; + //TODO: For static home pages generate the link to the selected page, still doesn't work + if (($show_on_front == 'page') && ($page_on_front == get_the_ID())) + $url = trailingslashit ( $post->guid ) . $this->slug; + + // 2. Album, pid or tags + if (isset ($args['album']) && ($args['gallery'] == false) ) + $url .= '/' . $args['album']; + elseif (isset ($args['album']) && isset ($args['gallery']) ) + $url .= '/' . $args['album'] . '/' . $args['gallery']; + + if (isset ($args['gallerytag'])) + $url .= '/tags/' . $args['gallerytag']; + + if (isset ($args['pid'])) + $url .= '/image/' . $args['pid']; + + // 3. Navigation + if (isset ($args['nggpage']) && ($args['nggpage']) ) + $url .= '/page-' . $args['nggpage']; + elseif (isset ($args['nggpage']) && ($args['nggpage'] === false) && ( count($args) == 1 ) ) + $url = trailingslashit ( get_permalink ($post->ID) ); // special case instead of showing page-1, we show the clean url + + // 4. Show images or Slideshow + if (isset ($args['show'])) + $url .= ( $args['show'] == 'slide' ) ? '/slideshow' : '/images'; + + return apply_filters('ngg_get_permalink', $url, $args); + + } else { + // we need to add the page/post id at the start_page otherwise we don't know which gallery is clicked + if (is_home()) + $args['pageid'] = get_the_ID(); + + if (($show_on_front == 'page') && ($page_on_front == get_the_ID())) + $args['page_id'] = get_the_ID(); + + if ( !is_singular() ) + $query = htmlspecialchars( add_query_arg($args, get_permalink( get_the_ID() )) ); + else + $query = htmlspecialchars( add_query_arg( $args ) ); + + return apply_filters('ngg_get_permalink', $query, $args); + } + } + + /** + * The permalinks needs to be flushed after activation + */ + function flush() { + global $wp_rewrite, $ngg; + + // reload slug, maybe it changed during the flush routine + $this->slug = $ngg->options['permalinkSlug']; + + if ($ngg->options['usePermalinks']) + add_action('generate_rewrite_rules', array(&$this, 'RewriteRules')); + + $wp_rewrite->flush_rules(); + } + + /** + * add some more vars to the big wp_query + */ + function add_queryvars( $query_vars ){ + + $query_vars[] = 'pid'; + $query_vars[] = 'pageid'; + $query_vars[] = 'nggpage'; + $query_vars[] = 'gallery'; + $query_vars[] = 'album'; + $query_vars[] = 'gallerytag'; + $query_vars[] = 'show'; + $query_vars[] = 'callback'; + + return $query_vars; + } + + /** + * rewrite the blog title if the gallery is used + */ + function rewrite_title($title) { + + $new_title = ''; + // the separataor + $sep = ' « '; + + // $_GET from wp_query + $pid = get_query_var('pid'); + $pageid = get_query_var('pageid'); + $nggpage = get_query_var('nggpage'); + $gallery = get_query_var('gallery'); + $album = get_query_var('album'); + $tag = get_query_var('gallerytag'); + $show = get_query_var('show'); + + //TODO: I could parse for the Picture name , gallery etc, but this increase the queries + //TODO: Class nggdb need to cache the query for the nggfunctions.php + + if ( $show == 'slide' ) + $new_title .= __('Slideshow', 'nggallery') . $sep ; + elseif ( $show == 'show' ) + $new_title .= __('Gallery', 'nggallery') . $sep ; + + if ( !empty($pid) ) + $new_title .= __('Picture', 'nggallery') . ' ' . esc_attr($pid) . $sep ; + + if ( !empty($album) ) + $new_title .= __('Album', 'nggallery') . ' ' . esc_attr($album) . $sep ; + + if ( !empty($gallery) ) + $new_title .= __('Gallery', 'nggallery') . ' ' . esc_attr($gallery) . $sep ; + + if ( !empty($nggpage) ) + $new_title .= __('Page', 'nggallery') . ' ' . esc_attr($nggpage) . $sep ; + + //esc_attr should avoid XSS like http://domain/?gallerytag=%3C/title%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E + if ( !empty($tag) ) + $new_title .= esc_attr($tag) . $sep; + + //prepend the data + $title = $new_title . $title; + + return $title; + } + + /** + * Canonical support for a better SEO (Dupilcat content), not longer nedded for Wp 2.9 + * See : http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html + * + * @deprecated + * @return string $meta + */ + function add_canonical_meta() + { + // create the meta link + $meta = "\n<link rel='canonical' href='" . get_permalink() ."' />"; + // add a filter for SEO plugins, so they can remove it + echo apply_filters('ngg_add_canonical_meta', $meta); + + return; + } + + /** + * The actual rewrite rules + */ + function RewriteRules($wp_rewrite) { + global $ngg; + + $rewrite_rules = array ( + // XML request + $this->slug . '/slideshow/([0-9]+)/?$' => 'index.php?imagerotator=true&gid=$matches[1]' + ); + + $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules() ); + $wp_rewrite->rules = array_merge($rewrite_rules, $wp_rewrite->rules); + } + + /** + * Mainly a copy of the same function in wp-includes\rewrite.php + * Adding the NGG tags to each post & page. Never found easier and proper way to handle this with other functions. + * + * @return array the permalink structure + */ + function generate_rewrite_rules() { + global $wp_rewrite; + + $rewrite_rules = array(); + $permalink_structure = $wp_rewrite->permalink_structure; + + //get everything up to the first rewrite tag + $front = substr($permalink_structure, 0, strpos($permalink_structure, '%')); + //build an array of the tags (note that said array ends up being in $tokens[0]) + preg_match_all('/%.+?%/', $permalink_structure, $tokens); + + $num_tokens = count($tokens[0]); + + $this->index = $wp_rewrite->index; //probably 'index.php' + + //build a list from the rewritecode and queryreplace arrays, that will look something like + //tagname=$matches[i] where i is the current $i + for ( $i = 0; $i < $num_tokens; ++$i ) { + if ( 0 < $i ) + $queries[$i] = $queries[$i - 1] . '&'; + else + $queries[$i] = ''; + + $query_token = str_replace($wp_rewrite->rewritecode, $wp_rewrite->queryreplace, $tokens[0][$i]) . $wp_rewrite->preg_index($i+1); + $queries[$i] .= $query_token; + } + + //get the structure, minus any cruft (stuff that isn't tags) at the front + $structure = $permalink_structure; + if ( $front != '/' ) + $structure = str_replace($front, '', $structure); + + //create a list of dirs to walk over, making rewrite rules for each level + //so for example, a $structure of /%year%/%month%/%postname% would create + //rewrite rules for /%year%/, /%year%/%month%/ and /%year%/%month%/%postname% + $structure = trim($structure, '/'); + + //strip slashes from the front of $front + $struct = preg_replace('|^/+|', '', $front); + + //get the struct for this dir, and trim slashes off the front + $struct .= $structure . '/'; //accumulate. see comment near explode('/', $structure) above + $struct = ltrim($struct, '/'); + + //replace tags with regexes + $match = str_replace($wp_rewrite->rewritecode, $wp_rewrite->rewritereplace, $struct); + + //make a list of tags, and store how many there are in $num_toks + $num_toks = preg_match_all('/%.+?%/', $struct, $toks); + + //get the 'tagname=$matches[i]' + $query = ( isset($queries) && is_array($queries) ) ? $queries[$num_toks - 1] : ''; + + if ( $num_toks ) { + // In the case we build for each and every page ( based on a simple %pagename% rule ) the rewrite rules, + // we need to add them first, then the post rules + if ( $wp_rewrite->use_verbose_page_rules ) + $rewrite_rules = array_merge ( $this->page_rewrite_rules(), $this->add_rewrite_rules( $match, $query, $num_toks ) ); + else + $rewrite_rules = array_merge ( $this->add_rewrite_rules( $match, $query, $num_toks ), $this->page_rewrite_rules() ); + } + + return $rewrite_rules; + } + + /** + * Retrieve all of the rewrite rules for pages. + * + * If the 'use_verbose_page_rules' property is false, then there will only + * be a single rewrite rule for pages for those matching '%pagename%'. With + * the property set to true, the attachments and the pages will be added for + * each individual attachment URI and page URI, respectively. + * + * @since 1.8.3 + * @access public + * @return array + */ + function page_rewrite_rules() { + global $wp_rewrite; + + $rewrite_rules = array(); + + if ( ! $wp_rewrite->use_verbose_page_rules ) { + + $rewrite_rules = $this->add_rewrite_rules( "(.+?)/", 'pagename=$matches[1]', 1 ); + return $rewrite_rules; + } + + $page_uris = $wp_rewrite->page_uri_index(); + $uris = $page_uris[0]; + + if ( is_array( $uris ) ) { + + foreach ( $uris as $uri => $pagename ) { + $rewrite_rules = array_merge($rewrite_rules, $this->add_rewrite_rules( "($uri)/", 'pagename=$matches[1]', 1 ) ); + } + + } + + return $rewrite_rules; + } + + /** + * Build the final structure of the rewrite rules based on match/query + * + * @since 1.8.3 + * @param string $match + * @param string $query + * @param int $num_toks + * @return array + */ + function add_rewrite_rules( $match, $query, $num_toks ) { + global $wp_rewrite; + + $rewrite_rules = array(); + + foreach ( $this->ngg_rules as $regex => $new_query) { + + // first add your nextgen slug + $final_match = $match . $this->slug; + + //add regex parameter + $final_match .= $regex; + // check how often we found matches fields + $count = substr_count($new_query, '[matches]'); + // we need to know how many tags before + $offset = $num_toks; + // build the query and count up the matches : tagname=$matches[x] + for ( $i = 0; $i < $count; $i++ ) { + $new_query = preg_replace('/\[matches\]/', '$matches[' . ++$offset . ']', $new_query, 1); + } + $final_query = $query . $new_query; + + //close the match and finalise the query + $final_match .= '?$'; + $final_query = $this->index . '?' . $final_query; + + $rewrite_rules = array_merge($rewrite_rules, array($final_match => $final_query)); + + } + + return $rewrite_rules; + } + +} // of nggRewrite CLASS diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/shortcodes.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/shortcodes.php new file mode 100644 index 000000000..130f2abcd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/shortcodes.php @@ -0,0 +1,141 @@ +<?php +/** + * @author Alex Rabe, Vincent Prat + * + * @since 1.0.0 + * @description Use WordPress Shortcode API for more features + * @Docs http://codex.wordpress.org/Shortcode_API + * @todo This file should be merged into another file + */ + +class NextGEN_shortcodes { + + // register the new shortcodes + function NextGEN_shortcodes() { + + // Long posts should require a higher limit, see http://core.trac.wordpress.org/ticket/8553 + $pcre_limit = 500000; + if ((int)ini_get('pcre.backtrack_ limit') < $pcre_limit) { + @ini_set('pcre.backtrack_limit', $pcre_limit); + } + + + // convert the old shortcode + add_filter('the_content', array(&$this, 'convert_shortcode')); + + // ngglegacy display types use globals. These globals need to be reset + // at the start of every loop + add_filter('loop_start', array(&$this, 'reset_globals')); + } + + function reset_globals() + { + unset($GLOBALS['subalbum']); + unset($GLOBALS['nggShowGallery']); + } + + /** + * NextGEN_shortcodes::convert_shortcode() + * convert old shortcodes to the new WordPress core style + * [gallery=1] ->> [nggallery id=1] + * + * @param string $content Content to search for shortcodes + * @return string Content with new shortcodes. + */ + function convert_shortcode($content) { + + $ngg_options = nggGallery::get_option('ngg_options'); + + if ( stristr( $content, '[singlepic' )) { + $search = "@\[singlepic=(\d+)(|,\d+|,)(|,\d+|,)(|,watermark|,web20|,)(|,right|,center|,left|,)\]@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + // remove the comma + $match[2] = ltrim($match[2], ','); + $match[3] = ltrim($match[3], ','); + $match[4] = ltrim($match[4], ','); + $match[5] = ltrim($match[5], ','); + $replace = "[singlepic id=\"{$match[1]}\" w=\"{$match[2]}\" h=\"{$match[3]}\" mode=\"{$match[4]}\" float=\"{$match[5]}\" ]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + if ( stristr( $content, '[album' )) { + $search = "@(?:<p>)*\s*\[album\s*=\s*(\w+|^\+)(|,extend|,compact)\]\s*(?:</p>)*@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + // remove the comma + $match[2] = ltrim($match[2],','); + $replace = "[album id=\"{$match[1]}\" template=\"{$match[2]}\"]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + if ( stristr( $content, '[gallery' )) { + $search = "@(?:<p>)*\s*\[gallery\s*=\s*(\w+|^\+)\]\s*(?:</p>)*@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + $replace = "[nggallery id=\"{$match[1]}\"]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + if ( stristr( $content, '[imagebrowser' )) { + $search = "@(?:<p>)*\s*\[imagebrowser\s*=\s*(\w+|^\+)\]\s*(?:</p>)*@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + $replace = "[imagebrowser id=\"{$match[1]}\"]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + if ( stristr( $content, '[slideshow' )) { + $search = "@(?:<p>)*\s*\[slideshow\s*=\s*(\w+|^\+)(|,(\d+)|,)(|,(\d+))\]\s*(?:</p>)*@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + // remove the comma + $match[3] = ltrim($match[3],','); + $match[5] = ltrim($match[5],','); + $replace = "[slideshow id=\"{$match[1]}\" w=\"{$match[3]}\" h=\"{$match[5]}\"]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + if ( stristr( $content, '[tags' )) { + $search = "@(?:<p>)*\s*\[tags\s*=\s*(.*?)\s*\]\s*(?:</p>)*@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + $replace = "[nggtags gallery=\"{$match[1]}\"]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + if ( stristr( $content, '[albumtags' )) { + $search = "@(?:<p>)*\s*\[albumtags\s*=\s*(.*?)\s*\]\s*(?:</p>)*@i"; + if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) { + + foreach ($matches as $match) { + $replace = "[nggtags album=\"{$match[1]}\"]"; + $content = str_replace ($match[0], $replace, $content); + } + } + } + + return $content; + } +} + +// let's use it +$nggShortcodes = new NextGEN_Shortcodes; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php new file mode 100644 index 000000000..7512e4e82 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php @@ -0,0 +1,127 @@ +<?php +/** +* Main PHP Class for XML Image Sitemaps +* +* @author Alex Rabe +* @version 1.0 +* @copyright Copyright 2011 +* +*/ +class nggSitemaps { + + var $images = array(); + + /** + * nggSitemaps::__construct() + * + * @return + */ + function __construct() { + + add_filter('wpseo_sitemap_urlimages', array( &$this, 'add_wpseo_xml_sitemap_images'), 10, 2); + + } + + /** + * Filter support for WordPress SEO by Yoast 0.4.0 or higher ( http://wordpress.org/extend/plugins/wordpress-seo/ ) + * + * @since Version 1.8.0 + * @param array $images + * @param int $post ID + * @return array $image list of all founded images + */ + function add_wpseo_xml_sitemap_images( $images, $post_id ) { + + $this->images = $images; + + // first get the content of the post/page + $p = get_post($post_id); + + // Backward check for older images + $p->post_content = NextGEN_Shortcodes::convert_shortcode($p->post_content); + + // Don't process the images in the normal way + remove_all_shortcodes(); + + // We cannot parse at this point a album, just galleries & single images + C_NextGen_Shortcode_Manager::add( 'singlepic', array(&$this, 'add_images' ) ); + C_NextGen_Shortcode_Manager::add( 'thumb', array(&$this, 'add_images' ) ); + C_NextGen_Shortcode_Manager::add( 'nggallery', array(&$this, 'add_gallery') ); + C_NextGen_Shortcode_Manager::add( 'imagebrowser', array(&$this, 'add_gallery' ) ); + C_NextGen_Shortcode_Manager::add( 'slideshow', array(&$this, 'add_gallery' ) ); + + // Search now for shortcodes + do_shortcode( $p->post_content ); + + return $this->images; + } + + /** + * Parse the gallery/imagebrowser/slideshow shortcode and return all images into an array + * + * @param string $atts + * @return + */ + function add_gallery( $atts ) { + + global $wpdb; + + extract(shortcode_atts(array( + 'id' => 0 + ), $atts )); + + // backward compat for user which uses the name instead, still deprecated + if( !is_numeric($id) ) + $id = $wpdb->get_var( $wpdb->prepare ("SELECT gid FROM $wpdb->nggallery WHERE name = '%s' ", $id) ); + + $images = nggdb::get_gallery($id, 'pid', 'ASC', true, 1000); + + foreach ($images as $image) { + $newimage = array(); + $newimage['src'] = $newimage['sc'] = $image->imageURL; + if ( !empty($image->title) ) + $newimage['title'] = $image->title; + if ( !empty($image->alttext) ) + $newimage['alt'] = $image->alttext; + $this->images[] = $newimage; + } + + return ''; + } + + /** + * Parse the single image shortcode and return all images into an array + * + * @param array $atts + * @return + */ + function add_images( $atts ) { + + extract(shortcode_atts(array( + 'id' => 0 + ), $atts )); + + // make an array out of the ids (for thumbs shortcode)) + $pids = explode( ',', $id ); + + // Some error checks + if ( count($pids) == 0 ) + return; + + $images = nggdb::find_images_in_list( $pids ); + + foreach ($images as $image) { + $newimage = array(); + $newimage['src'] = $newimage['sc'] = $image->imageURL; + if ( !empty($image->title) ) + $newimage['title'] = $image->title; + if ( !empty($image->alttext) ) + $newimage['alt'] = $image->alttext; + $this->images[] = $newimage; + } + + return ''; + } + +} +$nggSitemaps = new nggSitemaps(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/swfobject.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/swfobject.php new file mode 100644 index 000000000..d01abbb8b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/swfobject.php @@ -0,0 +1,195 @@ +<?php +if ( !class_exists('swfobject') ) : +/** + * swfobject - PHP class for creating dynamic content of SWFObject V2.1 + * + * @author Alex Rabe + * @package NextGEN Gallery + * @version 0.6 + * + * @access public + * @example http://code.google.com/p/swfobject/ + */ +class swfobject { + /** + * id of the HTML element + * + * @var string + */ + var $id; + /** + * specifies the width of your SWF + * + * @var string + * @private + */ + var $width; + /** + * specifies the height of your SWF + * + * @var string + * @privat + */ + var $height; + /** + * the javascript output + * + * @var string + */ + var $js; + /** + * the replacemnt message + * + * @var string + */ + var $message = 'The <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> and <a href="http://www.mozilla.com/firefox/">a browser with Javascript support</a> are needed..'; + /** + * the classname for the div element + * + * @var string + */ + var $classname = 'swfobject'; + /** + * array of flashvars + * + * @var array + */ + var $flashvars; + /** + * array of nested object element params + * + * @var array + */ + var $params; + /** + * array of object's attributest + * + * @var array + */ + var $attributes; + + /** + * swfobject::swfobject() + * + * @param string $swfUrl (required) specifies the URL of your SWF + * @param string $id (required) specifies the id of the HTML element (containing your alternative content) you would like to have replaced by your Flash content + * @param string $width (required) specifies the width of your SWF + * @param string $height (required) specifies the height of your SWF + * @param string $version (required) specifies the Flash player version your SWF is published for (format is: "major.minor.release") + * @param string $expressInstallSwfurl (optional) specifies the URL of your express install SWF and activates Adobe express install + * @param array $flashvars (optional) specifies your flashvars with name:value pairs + * @param array $params (optional) specifies your nested object element params with name:value pair + * @param array $attributes (optional) specifies your object's attributes with name:value pairs + * @return string the content + */ + function swfobject( $swfUrl, $id, $width, $height, $version, $expressInstallSwfurl = false, $flashvars = false, $params = false, $attributes = false ) { + + global $swfCounter; + + // look for a other swfobject instance + if ( !isset($swfCounter) ) + $swfCounter = 1; + + $this->id = $id . '_' . $swfCounter; + $this->width = $width; + $this->height = $height; + + $this->flashvars = ( is_array($flashvars) ) ? $flashvars : array(); + $this->params = ( is_array($params) ) ? $params : array(); + $this->attributes = ( is_array($attributes) ) ? $attributes : array(); + + $this->embedSWF = 'swfobject.embedSWF("'. $swfUrl .'", "'. $this->id .'", "'. $width .'", "'. $height .'", "'. $version .'", '. $expressInstallSwfurl .', this.flashvars, this.params , this.attr );' . "\n"; + } + + function output () { + + global $swfCounter; + + // count up if we have more than one swfobject + $swfCounter++; + + $out = "\n" . '<div class="'. $this->classname .'" id="'. $this->id .'" style="width:'.$this->width .'px; height:'. $this->height .'px;">'; + $out .= "\n" . $this->message; + $out .= "\n" . '</div>'; + + return $out; + } + + function javascript () { + + //Build javascript + $this->js = "\nvar " . $this->id . " = {\n"; + $this->js .= $this->add_js_parameters('params', $this->params) . ",\n"; + $this->js .= $this->add_js_parameters('flashvars', $this->flashvars) . ",\n"; + $this->js .= $this->add_js_parameters('attr', $this->attributes) . ",\n"; + $this->js .= "\tstart : function() {" . "\n\t\t"; + $this->js .= $this->embedSWF; + $this->js .= "\t}\n}\n"; + $this->js .= $this->id . '.start();'; + + return $this->js; + } + + function add_flashvars ( $key, $value, $default = '', $type = '', $prefix = '' ) { + + if ( is_bool( $value ) ) + $value = ( $value ) ? 'true' : 'false'; + elseif ( $type == 'bool' ) + $value = ( $value == '1' ) ? 'true' : 'false'; + + // do not add the variable if we hit the default setting + if ( $value == $default ) + return; + + $this->flashvars[$key] = $prefix . $value; + return; + } + + function add_params ( $key, $value, $default = '', $type = '', $prefix = '' ) { + + if ( is_bool( $value ) ) + $value = ( $value ) ? 'true' : 'false'; + elseif ( $type == 'bool' ) + $value = ( $value == '1' ) ? 'true' : 'false'; + + // do not add the variable if we hit the default setting + if ( $value == $default ) + return; + + $this->params[$key] = $prefix . $value; + return; + } + + function add_attributes ( $key, $value, $default = '', $type = '', $prefix = '' ) { + + if ( is_bool( $value ) ) + $value = ( $value ) ? 'true' : 'false'; + elseif ( $type == 'bool' ) + $value = ( $value == '1' ) ? 'true' : 'false'; + + // do not add the variable if we hit the default setting + if ( $value == $default ) + return; + + $this->attributes[$key] = $prefix . $value; + return; + } + + function add_js_parameters( $name, $params ) { + $list = ''; + if ( is_array($params) ) { + foreach ($params as $key => $value) { + if ( !empty($list) ) + $list .= ","; + if (false === strrpos($key, '.') ) + $list .= "\n\t\t" . $key . ' : ' . '"' . $value .'"'; + else + $list .= "\n\t\t'" . $key . '\' : ' . '"' . $value .'"'; + } + } + $js = "\t" . $name . ' : {' . $list . '}'; + return $js; + } + +} +endif; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php new file mode 100644 index 000000000..d1479158a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/lib/tags.php @@ -0,0 +1,386 @@ +<?php + +/** +* Tag PHP class for the WordPress plugin NextGEN Gallery +* nggallery.lib.php +* +* @author Alex Rabe +* +* +*/ +class nggTags { + + /** + * Copy tags + */ + function copy_tags($src_pid, $dest_pid) { + $tags = wp_get_object_terms( $src_pid, 'ngg_tag', 'fields=ids' ); + $tags = array_map('intval', $tags); + wp_set_object_terms( $dest_pid, $tags, 'ngg_tag', true ); + + return implode(',', $tags); + } + + /** + * Rename tags + */ + function rename_tags($old = '', $new = '') { + + $return_value = array( + 'status' => 'ok', + 'message' => '' + ); + + if ( trim( str_replace(',', '', stripslashes($new)) ) == '' ) { + $return_value['message'] = __('No new tag specified!', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } + + // String to array + $old_tags = explode(',', $old); + $new_tags = explode(',', $new); + + // Remove empty element and trim + $old_tags = array_filter($old_tags, 'nggtags_delete_empty_element'); + $new_tags = array_filter($new_tags, 'nggtags_delete_empty_element'); + + // If old/new tag are empty => exit ! + if ( empty($old_tags) || empty($new_tags) ) { + $return_value['message'] = __('No new/old valid tag specified!', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } + + $counter = 0; + if( count($old_tags) == count($new_tags) ) { // Rename only + foreach ( (array) $old_tags as $i => $old_tag ) { + $new_name = $new_tags[$i]; + + // Get term by name + $term = get_term_by('name', $old_tag, 'ngg_tag'); + if ( !$term ) { + continue; + } + + // Get objects from term ID + $objects_id = get_objects_in_term( $term->term_id, 'ngg_tag', array('fields' => 'all_with_object_id')); + + // Delete old term + wp_delete_term( $term->term_id, 'ngg_tag' ); + + // Set objects to new term ! (Append no replace) + foreach ( (array) $objects_id as $object_id ) { + wp_set_object_terms( $object_id, $new_name, 'ngg_tag', true ); + } + + // Clean cache + clean_object_term_cache( $objects_id, 'ngg_tag'); + clean_term_cache($term->term_id, 'ngg_tag'); + + // Increment + $counter++; + } + + if ( $counter == 0 ) { + $return_value['message'] = __('No tag renamed.', 'nggallery'); + } else { + $return_value['message'] = sprintf(__('Renamed tag(s) «%1$s» to «%2$s»', 'nggallery'), $old, $new); + } + } + elseif ( count($new_tags) == 1 ) { // Merge + // Set new tag + $new_tag = $new_tags[0]; + if ( empty($new_tag) ) { + $return_value['message'] = __('No valid new tag.', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } + + // Get terms ID from old terms names + $terms_id = array(); + foreach ( (array) $old_tags as $old_tag ) { + $term = get_term_by('name', addslashes($old_tag), 'ngg_tag'); + $terms_id[] = (int) $term->term_id; + } + + // Get objects from terms ID + $objects_id = get_objects_in_term( $terms_id, 'ngg_tag', array('fields' => 'all_with_object_id')); + + // No objects ? exit ! + if ( !$objects_id ) { + $return_value['message'] = __('No objects (post/page) found for specified old tags.', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } + + // Delete old terms + foreach ( (array) $terms_id as $term_id ) { + wp_delete_term( $term_id, 'ngg_tag' ); + } + + // Set objects to new term ! (Append no replace) + foreach ( (array) $objects_id as $object_id ) { + wp_set_object_terms( $object_id, $new_tag, 'ngg_tag', true ); + $counter++; + } + + // Test if term is also a category + if ( term_exists($new_tag, 'category') ) { + // Edit the slug to use the new term + $slug = sanitize_title($new_tag); + nggTags::edit_tag_slug( $new_tag, $slug ); + unset($slug); + } + + // Clean cache + clean_object_term_cache( $objects_id, 'ngg_tag'); + clean_term_cache($terms_id, 'ngg_tag'); + + if ( $counter == 0 ) { + $return_value['message'] = __('No tag merged.', 'nggallery'); + } else { + $return_value['message'] = sprintf(__('Merge tag(s) «%1$s» to «%2$s». %3$s objects edited.', 'nggallery'), $old, $new, $counter); + } + } else { // Error + $return_value['message'] = sprintf(__('Error. No enough tags for rename. Too for merge. Choose !', 'nggallery'), $old); + $return_value['status'] = 'error'; + } + + do_action('ngg_manage_tags', $new_tags); + + return $return_value; + } + + /** + * Delete tags + */ + function delete_tags($delete) { + $return_value = array( + 'status' => 'ok', + 'message' => '' + ); + + if ( trim( str_replace(',', '', stripslashes($delete)) ) == '' ) { + $return_value['message'] = __('No tag specified!', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } + + // In array + filter + $delete_tags = explode(',', $delete); + $delete_tags = array_filter($delete_tags, 'nggtags_delete_empty_element'); + + // Delete tags + $counter = 0; + foreach ( (array) $delete_tags as $tag ) { + $term = get_term_by('name', $tag, 'ngg_tag'); + $term_id = (int) $term->term_id; + + if ( $term_id != 0 ) { + wp_delete_term( $term_id, 'ngg_tag'); + clean_term_cache( $term_id, 'ngg_tag'); + $counter++; + } + } + + if ( $counter == 0 ) { + $return_value['message'] = __('No tag deleted.', 'nggallery'); + } else { + $return_value['message'] = sprintf(__('%1s tag(s) deleted.', 'nggallery'), $counter); + } + + do_action('ngg_manage_tags', $delete_tags); + } + + /** + * Edit tag slug given the name of the tag + */ + function edit_tag_slug( $names = '', $slugs = '' ) { + $return_value = array( + 'status' => 'ok', + 'message' => '' + ); + + if ( trim( str_replace(',', '', stripslashes($slugs)) ) == '' ) { + $return_value['message'] = __('No new slug(s) specified!', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } + + $match_names = explode(',', $names); + $new_slugs = explode(',', $slugs); + + $match_names = array_filter($match_names, 'nggtags_delete_empty_element'); + $new_slugs = array_filter($new_slugs, 'nggtags_delete_empty_element'); + + if ( count($match_names) != count($new_slugs) ) { + $return_value['message'] = __('Tags number and slugs number isn\'t the same!', 'nggallery'); + $return_value['status'] = 'error'; + return $return_value; + } else { + $counter = 0; + foreach ( (array) $match_names as $i => $match_name ) { + // Sanitize slug + Escape + $new_slug = sanitize_title($new_slugs[$i]); + + // Get term by name + $term = get_term_by('name', $match_name, 'ngg_tag'); + if ( !$term ) { + continue; + } + + // Increment + $counter++; + + // Update term + wp_update_term($term->term_id, 'ngg_tag', array('slug' => $new_slug)); + + // Clean cache + clean_term_cache($term->term_id, 'ngg_tag'); + } + } + + if ( $counter == 0 ) { + $return_value['message'] = __('No slug edited.', 'nggallery'); + } else { + $return_value['message'] = sprintf(__('%s slug(s) edited.', 'nggallery'), $counter); + } + + return $return_value; + } + + /** + * Get a list of the tags used by the images + */ + function find_all_tags() { + return get_terms('ngg_tag', ''); + } + + /** + * + */ + function find_tags( $args = '', $skip_cache = false ) { + $taxonomy = 'ngg_tag'; + + if ( $skip_cache == true ) { + $terms = get_terms( $taxonomy, $args ); + } else { + $key = md5(serialize($args)); + + // Get cache if exist + //-- + if ( $cache = wp_cache_get( 'ngg_get_tags', 'nggallery' ) ) { + if ( isset( $cache[$key] ) ) { + return apply_filters('get_tags', $cache[$key], $args); + } + } + + // Get tags + //-- + $terms = get_terms( $taxonomy, $args ); + if ( empty($terms) ) { + return array(); + } + + $cache[$key] = $terms; + wp_cache_set( 'ngg_get_tags', $cache, 'nggallery' ); + } + + $terms = apply_filters('get_tags', $terms, $args); + return $terms; + } + + /** + * Get images corresponding to a list of tags + */ + /** + * nggTags::find_images_for_tags() + * + * @param mixed $taglist + * @param string $mode could be 'ASC' or 'RAND' + * @return array of images + */ + function find_images_for_tags($taglist, $mode = "ASC") { + // return the images based on the tag + global $wpdb; + + // extract it into a array + $taglist = explode(",", $taglist); + + if ( !is_array($taglist) ) + $taglist = array($taglist); + + $taglist = array_map('trim', $taglist); + $new_slugarray = array_map('sanitize_title', $taglist); + $sluglist = "'" . implode("', '", $new_slugarray) . "'"; + + //Treat % as a litteral in the database, for unicode support + $sluglist=str_replace("%","%%",$sluglist); + + // first get all $term_ids with this tag + $term_ids = $wpdb->get_col( $wpdb->prepare("SELECT term_id FROM $wpdb->terms WHERE slug IN ($sluglist) ORDER BY term_id ASC ", NULL)); + $picids = get_objects_in_term($term_ids, 'ngg_tag'); + + //Now lookup in the database + if ($mode == 'RAND') + $pictures = nggdb::find_images_in_list($picids, true, 'RAND' ); + else + $pictures = nggdb::find_images_in_list($picids, true, 'ASC'); + + return $pictures; + } + + /** + * Return one image based on the tag. Required for a tag based album overview + */ + function get_album_images($taglist) { + global $wpdb; + + $taxonomy = 'ngg_tag'; + + // extract it into a array + $taglist = explode(',', $taglist); + + if (!is_array($taglist)) { + $taglist = array($taglist); + } + + $taglist = array_map('trim', $taglist); + $slugarray = array_map('sanitize_title', $taglist); + $slugarray = array_unique($slugarray); + + $picarray = array(); + + foreach($slugarray as $slug) { + // get random picture of tag + $tsql = "SELECT p.*, g.*, t.*, tt.* FROM $wpdb->term_relationships AS tr"; + $tsql .= " INNER JOIN $wpdb->nggpictures AS p ON (tr.object_id = p.pid)"; + $tsql .= " INNER JOIN $wpdb->nggallery AS g ON (g.gid = p.galleryid)"; + $tsql .= " INNER JOIN $wpdb->term_taxonomy AS tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)"; + $tsql .= " INNER JOIN $wpdb->terms AS t ON (tt.term_id = t.term_id)"; + $tsql .= " WHERE tt.taxonomy = '$taxonomy' AND t.slug = '$slug' ORDER BY rand() limit 1 "; + $pic_data = $wpdb->get_row($tsql, OBJECT); + + if ($pic_data) $picarray[] = $pic_data; + } + + return $picarray; + } +} + +/** + * trim and remove empty element + * + * @param string $element + * @return string + */ +if (!function_exists('nggtags_delete_empty_element')) { + function nggtags_delete_empty_element( &$element ) { + $element = stripslashes($element); + $element = trim($element); + if ( !empty($element) ) { + return $element; + } + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php new file mode 100644 index 000000000..710edb760 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/module.ngglegacy.php @@ -0,0 +1,51 @@ +<?php + +/*** + { + Module: photocrati-nextgen-legacy + } + ***/ + +define( + 'NEXTGEN_GALLERY_NGGLEGACY_MOD_DIR', + path_join(NEXTGEN_GALLERY_MODULE_DIR, basename(dirname(__FILE__))) +); + +define( + 'NEXTGEN_GALLERY_NGGLEGACY_MOD_URL', + path_join(NEXTGEN_GALLERY_MODULE_URL, basename(dirname(__FILE__))) +); + +class M_NggLegacy extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-nextgen-legacy', + 'NextGEN Legacy', + 'Embeds the original version of NextGEN 1.9.3 by Alex Rabe', + '0.2', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.ngglegacy_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NggLegacy_Installer'); + } + + function initialize() + { + parent::initialize(); + include_once(path_join(dirname(__FILE__), 'nggallery.php')); + } + + function get_type_list() + { + return array( + 'C_NggLegacy_Installer' => 'class.ngglegacy_installer.php' + ); + } +} + +new M_NggLegacy(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/ngg-config.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/ngg-config.php new file mode 100644 index 000000000..8ef1a1a46 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/ngg-config.php @@ -0,0 +1,38 @@ +<?php +/** + * Bootstrap file for getting the ABSPATH constant to wp-load.php + * This is requried when a plugin requires access not via the admin screen. + * + * If the wp-load.php file is not found, then an error will be displayed + * + * @package WordPress + * @since Version 2.6 + */ + +/** Define the server path to the file wp-config here, if you placed WP-CONTENT outside the classic file structure */ + +$path = ''; // It should be end with a trailing slash + +/** That's all, stop editing from here **/ + +if ( !defined('WP_LOAD_PATH') ) { + + // classic root path if wp-content and plugins is below wp-config.php + $legacy_root = dirname(dirname(dirname(dirname(__FILE__)))) . '/' ; + + // root path when ngglegacy is embedded as a Pope module + $pope_root = dirname(dirname(dirname(dirname($legacy_root)))) . '/'; + + if (file_exists( $legacy_root . 'wp-load.php') ) + define( 'WP_LOAD_PATH', $legacy_root); + elseif (file_exists( $pope_root.'wp-load.php' ) ) + define( 'WP_LOAD_PATH', $pope_root ); + else + if (file_exists( $path . 'wp-load.php') ) + define( 'WP_LOAD_PATH', $path); + else + throw new RuntimeException("Could not find wp-load.php"); +} + +// let's load WordPress +require_once( WP_LOAD_PATH . 'wp-load.php'); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php new file mode 100644 index 000000000..ae66f6f71 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggallery.php @@ -0,0 +1,455 @@ +<?php + +// Stop direct call +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * Loads the NextGEN plugin + */ +if (!class_exists('nggLoader')) { + class nggLoader { + + var $version = NEXTGEN_GALLERY_PLUGIN_VERSION; + var $dbversion = '1.8.1'; + var $minimum_WP = '3.6'; + var $donators = 'http://www.nextgen-gallery.com/donators.php'; + var $options = ''; + var $manage_page; + var $add_PHP5_notice = false; + var $plugin_name = ''; + + function nggLoader() { + + // Stop the plugin if we missed the requirements + if ( ( !$this->required_version() ) || ( !$this->check_memory_limit() ) ) + return; + + // Determine plugin basename based on whether NGG is being used in + // it's legacy form, or as a Photocrati Gallery + if (defined('NEXTGEN_GALLERY_PLUGIN_BASENAME')) $this->plugin_name = NEXTGEN_GALLERY_PLUGIN_BASENAME; + else $this->plugin_name = basename(dirname(__FILE__)).'/'.basename(__FILE__); + + // Get some constants first + $this->load_options(); + $this->define_constant(); + $this->define_tables(); + $this->load_dependencies(); + $this->start_rewrite_module(); + + // Init options & tables during activation & deregister init option + register_activation_hook( $this->plugin_name, array(&$this, 'activate') ); + register_deactivation_hook( $this->plugin_name, array(&$this, 'deactivate') ); + + // Register a uninstall hook to remove all tables & option automatic + register_uninstall_hook( $this->plugin_name, array(__CLASS__, 'uninstall') ); + + // Start this plugin once all other plugins are fully loaded + add_action( 'plugins_loaded', array(&$this, 'start_plugin') ); + + // Register_taxonomy must be used during the init + add_action( 'init', array(&$this, 'register_taxonomy') ); + add_action( 'wpmu_new_blog', array(&$this, 'multisite_new_blog'), 10, 6); + + // Add a message for PHP4 Users, can disable the update message later on + if (version_compare(PHP_VERSION, '5.0.0', '<')) + add_filter('transient_update_plugins', array(&$this, 'disable_upgrade')); + + //Add some links on the plugin page + add_filter('plugin_row_meta', array(&$this, 'add_plugin_links'), 10, 2); + + // Check for the header / footer + add_action( 'init', array(&$this, 'test_head_footer_init' ) ); + + // Show NextGEN version in header + add_action('wp_head', array('nggGallery', 'nextgen_version') ); + } + + function start_plugin() { + + global $nggRewrite; + + // Load the language file + $this->load_textdomain(); + + // All credits to the tranlator + $this->translator = '<p class="hint">'. __('<strong>Translation by : </strong><a target="_blank" href="http://alexrabe.de/wordpress-plugins/nextgen-gallery/languages/">See here</a>', 'nggallery') . '</p>'; + $this->translator .= '<p class="hint">'. __('<strong>This translation is not yet updated for Version 1.9.0</strong>. If you would like to help with translation, download the current po from the plugin folder and read <a href="http://alexrabe.de/wordpress-plugins/wordtube/translation-of-plugins/">here</a> how you can translate the plugin.', 'nggallery') . '</p>'; + + // Content Filters + add_filter('ngg_gallery_name', 'sanitize_title'); + + // Check if we are in the admin area + if ( is_admin() ) { + + // Pass the init check or show a message + if (get_option( 'ngg_init_check' ) != false ) + add_action( 'admin_notices', create_function('', 'echo \'<div id="message" class="error"><p><strong>' . get_option( "ngg_init_check" ) . '</strong></p></div>\';') ); + + } else { + + // Add MRSS to wp_head + if ( $this->options['useMediaRSS'] ) + add_action('wp_head', array('nggMediaRss', 'add_mrss_alternate_link')); + + // Look for XML request, before page is render + add_action('parse_request', array(&$this, 'check_request') ); + + } + } + + /** + * Checks the 'callback' parameter for possible ajax-like actions to take + * + * @param $wp + */ + function check_request($wp) + { + $app = C_Component_Registry::get_instance()->get_utility('I_Router')->get_routed_app(); + + if (!$app->get_parameter('callback')) + return; + + switch ($app->get_parameter('callback')) { + case 'imagerotator': + require_once (dirname (__FILE__) . '/xml/imagerotator.php'); + break; + case 'json': + require_once (dirname (__FILE__) . '/xml/json.php'); + break; + case 'image': + require_once (dirname (__FILE__) . '/nggshow.php'); + break; + default: + return; + } + C_NextGEN_Bootstrap::shutdown(); + } + + function required_version() { + + global $wp_version; + + // Check for WP version installation + $wp_ok = version_compare($wp_version, $this->minimum_WP, '>='); + + if ( ($wp_ok == FALSE) ) { + add_action( + 'admin_notices', + create_function( + '', + 'global $ngg; printf (\'<div id="message" class="error"><p><strong>\' . __(\'Sorry, NextGEN Gallery works only under WordPress %s or higher\', "nggallery" ) . \'</strong></p></div>\', $ngg->minimum_WP );' + ) + ); + return false; + } + + return true; + + } + + function check_memory_limit() { + + // get the real memory limit before some increase it + $this->memory_limit = ini_get('memory_limit'); + + // PHP docs : Note that to have no memory limit, set this directive to -1. + if ($this->memory_limit == -1 ) return true; + + // Yes, we reached Gigabyte limits, so check if it's a megabyte limit + if (strtolower( substr($this->memory_limit, -1) ) == 'm') { + + $this->memory_limit = (int) substr( $this->memory_limit, 0, -1); + + //This works only with enough memory, 16MB is silly, wordpress requires already 16MB :-) + if ( ($this->memory_limit != 0) && ($this->memory_limit < 16 ) ) { + add_action( + 'admin_notices', + create_function( + '', + 'echo \'<div id="message" class="error"><p><strong>' . __('Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB or higher', 'nggallery') . '</strong></p></div>\';' + ) + ); + return false; + } + } + + return true; + + } + + function define_tables() { + global $wpdb; + + // add database pointer + $wpdb->nggpictures = $wpdb->prefix . 'ngg_pictures'; + $wpdb->nggallery = $wpdb->prefix . 'ngg_gallery'; + $wpdb->nggalbum = $wpdb->prefix . 'ngg_album'; + + } + + function register_taxonomy() { + global $wp_rewrite; + + // Register the NextGEN taxonomy + $args = array( + 'label' => __('Picture tag', 'nggallery'), + 'template' => __('Picture tag: %2$l.', 'nggallery'), + 'helps' => __('Separate picture tags with commas.', 'nggallery'), + 'sort' => true, + 'args' => array('orderby' => 'term_order') + ); + + register_taxonomy( 'ngg_tag', 'nggallery', $args ); + } + + function define_constant() { + + global $wp_version; + + //TODO:SHOULD BE REMOVED LATER + define('NGGVERSION', $this->version); + // Minimum required database version + define('NGG_DBVERSION', $this->dbversion); + + // required for Windows & XAMPP + define('WINABSPATH', str_replace("\\", "/", ABSPATH) ); + + // define URL + define('NGGFOLDER', dirname( $this->plugin_name ) ); + + define( + 'NGGALLERY_ABSPATH', + defined('NEXTGEN_GALLERY_NGGLEGACY_MOD_DIR') ? + trailingslashit(NEXTGEN_GALLERY_NGGLEGACY_MOD_DIR) : + trailingslashit(dirname(__FILE__)) + ); + + define( + 'NGGALLERY_URLPATH', + defined('NEXTGEN_GALLERY_NGGLEGACY_MOD_URL') ? + trailingslashit(NEXTGEN_GALLERY_NGGLEGACY_MOD_URL) : + trailingslashit( plugins_url( NGGFOLDER ) ) + ); + + // look for imagerotator + define('NGGALLERY_IREXIST', !empty( $this->options['irURL'] )); + + // get value for safe mode + if ( (gettype( ini_get('safe_mode') ) == 'string') ) { + // if sever did in in a other way + if ( ini_get('safe_mode') == 'off' ) define('SAFE_MODE', FALSE); + else define( 'SAFE_MODE', ini_get('safe_mode') ); + } else + define( 'SAFE_MODE', ini_get('safe_mode') ); + + if ( version_compare($wp_version, '3.2.999', '>') ) + define('IS_WP_3_3', TRUE); + + } + + function load_dependencies() { + + // Load global libraries // average memory usage (in bytes) + require_once (dirname (__FILE__) . '/lib/core.php'); // 94.840 + require_once (dirname (__FILE__) . '/lib/class.ngg_serializable.php'); // 94.840 + require_once (dirname (__FILE__) . '/lib/ngg-db.php'); // 132.400 + require_once (dirname (__FILE__) . '/lib/image.php'); // 59.424 + require_once (dirname (__FILE__) . '/lib/tags.php'); // 117.136 + require_once (dirname (__FILE__) . '/lib/post-thumbnail.php'); // n.a. + require_once (dirname (__FILE__) . '/lib/multisite.php'); + require_once (dirname (__FILE__) . '/lib/sitemap.php'); + + // Load frontend libraries + require_once (dirname (__FILE__) . '/lib/navigation.php'); // 242.016 + require_once (dirname (__FILE__) . '/nggfunctions.php'); // n.a. + require_once (dirname (__FILE__) . '/lib/shortcodes.php'); // 92.664 + + // We didn't need all stuff during a AJAX operation + if ( defined('DOING_AJAX') ) + require_once (dirname (__FILE__) . '/admin/ajax.php'); + else { + require_once (dirname (__FILE__) . '/lib/meta.php'); // 131.856 + require_once (dirname (__FILE__) . '/lib/media-rss.php'); // 82.768 + require_once (dirname (__FILE__) . '/lib/rewrite.php'); // 71.936 + + // Load backend libraries + if ( is_admin() ) { + require_once (dirname (__FILE__) . '/admin/admin.php'); + require_once (dirname (__FILE__) . '/admin/media-upload.php'); + $this->nggAdminPanel = new nggAdminPanel(); + } + } + } + + function load_textdomain() { + + load_plugin_textdomain('nggallery', false, NGGFOLDER . '/lang'); + + } + + function load_thickbox_images() { + // WP core reference relative to the images. Bad idea + echo "\n" . '<script type="text/javascript">tb_pathToImage = "' . site_url() . '/wp-includes/js/thickbox/loadingAnimation.gif";tb_closeImage = "' . site_url() . '/wp-includes/js/thickbox/tb-close.png";</script>'. "\n"; + } + + function load_options() { + // Load the options + $this->options = get_option('ngg_options'); + } + + // Add rewrite rules + function start_rewrite_module() { + // global $nggRewrite; + // if (class_exists('nggRewrite')) + // $nggRewrite = new nggRewrite(); + } + + // THX to Shiba for the code + // See: http://shibashake.com/wordpress-theme/write-a-plugin-for-wordpress-multi-site + function multisite_new_blog($blog_id, $user_id, $domain, $path, $site_id, $meta ) { + global $wpdb; + + include_once (dirname (__FILE__) . '/admin/install.php'); + + if (is_plugin_active_for_network( $this->plugin_name )) { + $current_blog = $wpdb->blogid; + switch_to_blog($blog_id); + nggallery_install(); + switch_to_blog($current_blog); + } + } + + /** + * Removes all transients created by NextGEN. Called during activation + * and deactivation routines + */ + static function remove_transients() + { + global $wpdb, $_wp_using_ext_object_cache; + + // Fetch all transients + $query = " + SELECT option_name FROM {$wpdb->options} + WHERE option_name LIKE '%ngg_request%' + "; + $transient_names = $wpdb->get_col($query);; + + // Delete all transients in the database + $query = " + DELETE FROM {$wpdb->options} + WHERE option_name LIKE '%ngg_request%' + "; + $wpdb->query($query); + + // If using an external caching mechanism, delete the cached items + if ($_wp_using_ext_object_cache) { + foreach ($transient_names as $transient) { + wp_cache_delete($transient, 'transient'); + wp_cache_delete(substr($transient, 11), 'transient'); + } + } + } + + function activate() { + global $wpdb; + //Starting from version 1.8.0 it's works only with PHP5.2 + if (version_compare(PHP_VERSION, '5.2.0', '<')) { + deactivate_plugins($this->plugin_name); // Deactivate ourself + wp_die("Sorry, but you can't run this plugin, it requires PHP 5.2 or higher."); + return; + } + + // Clean up transients + self::remove_transients(); + + include_once (dirname (__FILE__) . '/admin/install.php'); + + if (is_multisite()) { + $network=isset($_SERVER['SCRIPT_NAME'])?$_SERVER['SCRIPT_NAME']:""; + $activate=isset($_GET['action'])?$_GET['action']:""; + $isNetwork=($network=='/wp-admin/network/plugins.php')?true:false; + $isActivation=($activate=='deactivate')?false:true; + + if ($isNetwork and $isActivation){ + $old_blog = $wpdb->blogid; + $blogids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM $wpdb->blogs", NULL)); + foreach ($blogids as $blog_id) { + switch_to_blog($blog_id); + nggallery_install(); + } + switch_to_blog($old_blog); + return; + } + } + + // check for tables + nggallery_install(); + // remove the update message + delete_option( 'ngg_update_exists' ); + + } + + function deactivate() { + + // remove & reset the init check option + delete_option( 'ngg_init_check' ); + delete_option( 'ngg_update_exists' ); + + // Clean up transients + self::remove_transients(); + } + + function uninstall() { + // Clean up transients + self::remove_transients(); + + include_once (dirname (__FILE__) . '/admin/install.php'); + nggallery_uninstall(); + } + + function disable_upgrade($option){ + + // PHP5.2 is required for NGG V1.4.0 + if ( version_compare($option->response[ $this->plugin_name ]->new_version, '1.4.0', '>=') ) + return $option; + + if( isset($option->response[ $this->plugin_name ]) ){ + //Clear it''s download link + $option->response[ $this->plugin_name ]->package = ''; + + //Add a notice message + if ($this->add_PHP5_notice == false){ + add_action( "in_plugin_update_message-$this->plugin_name", create_function('', 'echo \'<br /><span style="color:red">Please update to PHP5.2 as soon as possible, the plugin is not tested under PHP4 anymore</span>\';') ); + $this->add_PHP5_notice = true; + } + } + return $option; + } + + // Add links to Plugins page + function add_plugin_links($links, $file) { + + if ( $file == $this->plugin_name ) { + $links[] = '<a href="http://wordpress.org/support/plugin/nextgen-gallery">' . __('Get help', 'nggallery') . '</a>'; + $links[] = '<a href="https://bitbucket.org/photocrati/nextgen-gallery">' . __('Contribute', 'nggallery') . '</a>'; + } + return $links; + } + + // Check for the header / footer, parts taken from Matt Martz (http://sivel.net/) + function test_head_footer_init() { + + // If test-head query var exists hook into wp_head + if ( isset( $_GET['test-head'] ) ) + add_action( 'wp_head', create_function('', 'echo \'<!--wp_head-->\';'), 99999 ); + + // If test-footer query var exists hook into wp_footer + if ( isset( $_GET['test-footer'] ) ) + add_action( 'wp_footer', create_function('', 'echo \'<!--wp_footer-->\';'), 99999 ); + } + } + + // Let's start the holy plugin + global $ngg; + $ngg = new nggLoader(); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php new file mode 100644 index 000000000..0a548492d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggfunctions.php @@ -0,0 +1,288 @@ +<?php + +if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } + +/** + * nggShowImageBrowser() + * + * @access public + * @param int|string $galleryID or gallery name + * @param string $template (optional) name for a template file, look for imagebrowser-$template + * @return the content + */ +function nggShowImageBrowser($galleryID, $template = '') { + + global $wpdb; + + $ngg_options = nggGallery::get_option('ngg_options'); + + //Set sort order value, if not used (upgrade issue) + $ngg_options['galSort'] = ($ngg_options['galSort']) ? $ngg_options['galSort'] : 'pid'; + $ngg_options['galSortDir'] = ($ngg_options['galSortDir'] == 'DESC') ? 'DESC' : 'ASC'; + + // get the pictures + $picturelist = nggdb::get_gallery($galleryID, $ngg_options['galSort'], $ngg_options['galSortDir']); + + if ( is_array($picturelist) ) + $out = nggCreateImageBrowser($picturelist, $template); + else + $out = __('[Gallery not found]','nggallery'); + + $out = apply_filters('ngg_show_imagebrowser_content', $out, $galleryID); + + return $out; + +} + +/** + * nggCreateImageBrowser() + * + * @access internal + * @param array $picturelist + * @param string $template (optional) name for a template file, look for imagebrowser-$template + * @return the content + */ +function nggCreateImageBrowser($picturelist, $template = '') { + + global $nggRewrite, $ngg; + + require_once( dirname (__FILE__) . '/lib/meta.php' ); + + // $_GET from wp_query + $pid = get_query_var('pid'); + + // we need to know the current page id + $current_page = (get_the_ID() == false) ? 0 : get_the_ID(); + + // create a array with id's for better walk inside + foreach ($picturelist as $picture) + $picarray[] = $picture->pid; + + $total = count($picarray); + + if ( !empty( $pid )) { + if ( is_numeric($pid) ) + $act_pid = intval($pid); + else { + // in the case it's a slug we need to search for the pid + foreach ($picturelist as $key => $picture) { + if ($picture->image_slug == $pid) { + $act_pid = $key; + break; + } + } + } + } else { + reset($picarray); + $act_pid = current($picarray); + } + + // get ids for back/next + $key = array_search($act_pid, $picarray); + if (!$key) { + $act_pid = reset($picarray); + $key = key($picarray); + } + $back_pid = ( $key >= 1 ) ? $picarray[$key-1] : end($picarray) ; + $next_pid = ( $key < ($total-1) ) ? $picarray[$key+1] : reset($picarray) ; + + // get the picture data + $picture = nggdb::find_image($act_pid); + + // if we didn't get some data, exit now + if ($picture == null) + return; + + // add more variables for render output + $picture->href_link = $picture->get_href_link(); + $args ['pid'] = ($ngg->options['usePermalinks']) ? $picturelist[$back_pid]->image_slug : $back_pid; + $picture->previous_image_link = $nggRewrite->get_permalink( $args ); + $picture->previous_pid = $back_pid; + $args ['pid'] = ($ngg->options['usePermalinks']) ? $picturelist[$next_pid]->image_slug : $next_pid; + $picture->next_image_link = $nggRewrite->get_permalink( $args ); + $picture->next_pid = $next_pid; + $picture->number = $key + 1; + $picture->total = $total; + $picture->linktitle = ( empty($picture->description) ) ? ' ' : htmlspecialchars ( stripslashes(nggGallery::i18n($picture->description, 'pic_' . $picture->pid . '_description')) ); + $picture->alttext = ( empty($picture->alttext) ) ? ' ' : html_entity_decode ( stripslashes(nggGallery::i18n($picture->alttext, 'pic_' . $picture->pid . '_alttext')) ); + $picture->description = ( empty($picture->description) ) ? ' ' : html_entity_decode ( stripslashes(nggGallery::i18n($picture->description, 'pic_' . $picture->pid . '_description')) ); + $picture->anchor = 'ngg-imagebrowser-' . $picture->galleryid . '-' . $current_page; + + // filter to add custom content for the output + $picture = apply_filters('ngg_image_object', $picture, $act_pid); + + // let's get the meta data + $meta = new nggMeta($act_pid); + $meta->sanitize(); + $exif = $meta->get_EXIF(); + $iptc = $meta->get_IPTC(); + $xmp = $meta->get_XMP(); + $db = $meta->get_saved_meta(); + + //if we get no exif information we try the database + $exif = ($exif == false) ? $db : $exif; + + // look for imagebrowser-$template.php or pure imagebrowser.php + $filename = ( empty($template) ) ? 'imagebrowser' : 'imagebrowser-' . $template; + + // create the output + $out = nggGallery::capture ( $filename , array ('image' => $picture , 'meta' => $meta, 'exif' => $exif, 'iptc' => $iptc, 'xmp' => $xmp, 'db' => $db) ); + + return $out; + +} + +/** + * nggShowRelatedGallery() - create a gallery based on the tags + * + * @access public + * @param string $taglist list of tags as csv + * @param integer $maxImages (optional) limit the number of images to show + * @return the content + */ +function nggShowRelatedGallery($taglist, $maxImages = 0) { + + $ngg_options = nggGallery::get_option('ngg_options'); + + // get now the related images + $picturelist = nggTags::find_images_for_tags($taglist, 'RAND'); + + // go on if not empty + if ( empty($picturelist) ) + return; + + // cut the list to maxImages + if ( $maxImages > 0 ) + array_splice($picturelist, $maxImages); + + // *** build the gallery output + $out = '<div class="ngg-related-gallery">'; + foreach ($picturelist as $picture) { + + // get the effect code + $thumbcode = $picture->get_thumbcode( __('Related images for', 'nggallery') . ' ' . get_the_title()); + + $out .= '<a href="' . $picture->imageURL . '" title="' . stripslashes(nggGallery::i18n($picture->description, 'pic_' . $picture->pid . '_description')) . '" ' . $thumbcode . ' >'; + $out .= '<img title="' . stripslashes(nggGallery::i18n($picture->alttext, 'pic_' . $picture->pid . '_alttext')) . '" alt="' . stripslashes(nggGallery::i18n($picture->alttext, 'pic_' . $picture->pid . '_alttext')) . '" src="' . $picture->thumbURL . '" />'; + $out .= '</a>' . "\n"; + } + $out .= '</div>' . "\n"; + + $out = apply_filters('ngg_show_related_gallery_content', $out, $taglist); + + return $out; +} + +/** + * nggShowRelatedImages() - return related images based on category or tags + * + * @access public + * @param string $type could be 'tags' or 'category' + * @param integer $maxImages of images + * @return the content + */ +function nggShowRelatedImages($type = '', $maxImages = 0) { + $ngg_options = nggGallery::get_option('ngg_options'); + + if ($type == '') { + $type = $ngg_options['appendType']; + $maxImages = $ngg_options['maxImages']; + } + + $sluglist = array(); + + switch ($type) { + case 'tags': + if (function_exists('get_the_tags')) { + $taglist = get_the_tags(); + + if (is_array($taglist)) { + foreach ($taglist as $tag) { + $sluglist[] = $tag->slug; + } + } + } + break; + + case 'category': + $catlist = get_the_category(); + + if (is_array($catlist)) { + foreach ($catlist as $cat) { + $sluglist[] = $cat->category_nicename; + } + } + break; + } + + $sluglist = implode(',', $sluglist); + $out = nggShowRelatedGallery($sluglist, $maxImages); + + return $out; +} + +/** + * Template function for theme authors + * + * @access public + * @param string (optional) $type could be 'tags' or 'category' + * @param integer (optional) $maxNumbers of images + * @return void + */ +function the_related_images($type = 'tags', $maxNumbers = 7) { + echo nggShowRelatedImages($type, $maxNumbers); +} + +/** + * Wrapper to I_Displayed_Gallery_Renderer->display_images(); this will display + * a basic thumbnails gallery + * + * @param int $galleryID Gallery ID + * @param string $template Path to template file + * @param bool $images_per_page Basic thumbnails setting + */ +function nggShowGallery($galleryID, $template = '', $images_per_page = FALSE) +{ + $args = array( + 'source' => 'galleries', + 'container_ids' => $galleryID + ); + + if (apply_filters('ngg_show_imagebrowser_first', FALSE, $galleryID)) + $args['display_type'] = NEXTGEN_GALLERY_NEXTGEN_BASIC_IMAGEBROWSER; + else + $args['display_type'] = NEXTGEN_GALLERY_BASIC_THUMBNAILS; + + if (!empty($template)) + $args['template'] = $template; + if (!empty($images_per_page)) + $args['images_per_page'] = $images_per_page; + + echo C_Component_Registry::get_instance() + ->get_utility('I_Displayed_Gallery_Renderer') + ->display_images($args); +} + + +/** + * Wrapper to I_Displayed_Gallery_Renderer->display_images(); this will display + * a basic slideshow gallery + * + * @param int $galleryID Gallery ID + * @param int $width Gallery width + * @param int $height Gallery height + */ +function nggShowSlideshow($galleryID, $width, $height) +{ + $args = array( + 'source' => 'galleries', + 'container_ids' => $galleryID, + 'gallery_width' => $width, + 'gallery_height' => $height, + 'display_type' => NEXTGEN_GALLERY_BASIC_SLIDESHOW + ); + + echo C_Component_Registry::get_instance() + ->get_utility('I_Displayed_Gallery_Renderer') + ->display_images($args); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggshow.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggshow.php new file mode 100644 index 000000000..38fada2b2 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/nggshow.php @@ -0,0 +1,65 @@ +<?php +// Load wp-config +if ( !defined('ABSPATH') ) + require_once( dirname(__FILE__) . '/ngg-config.php'); + +// reference thumbnail class +include_once( nggGallery::graphic_library() ); +include_once('lib/core.php'); + +// get the plugin options +$ngg_options = get_option('ngg_options'); + +// Some parameters from the URL +if ( !isset($_GET['pid']) ) C_NextGEN_Bootstrap::shutdown(); + +$pictureID = (int) $_GET['pid']; +$mode = isset($_GET['mode']) ? $_GET['mode'] : ''; + +// let's get the image data +$picture = nggdb::find_image( $pictureID ); + +if ( !is_object($picture) ) C_NextGEN_Bootstrap::shutdown(); + +$thumb = new ngg_Thumbnail( $picture->imagePath ); + +// Resize if necessary +if ( !empty($_GET['width']) || !empty($_GET['height']) ) { + // Sanitize + $w = ( !empty($_GET['width'])) ? intval($_GET['width']) : 0; + $h = ( !empty($_GET['height'])) ? intval($_GET['height']) : 0; + // limit the maxium size, prevent server memory overload + if ($w > 1920) $w = 1920; + if ($h > 1280) $h = 1280; + // Crop mode for post thumbnail + if ($mode == 'crop') { + // calculates the new dimentions for a downsampled image + list ( $ratio_w, $ratio_h ) = wp_constrain_dimensions($thumb->currentDimensions['width'], $thumb->currentDimensions['height'], $w, $h); + // check ratio to decide which side should be resized + ( $ratio_h < $h || $ratio_w == $w ) ? $thumb->resize(0, $h) : $thumb->resize($w, 0); + // get the best start postion to crop from the middle + $ypos = ($thumb->currentDimensions['height'] - $h) / 2; + $thumb->crop(0, $ypos, $w, $h); + } else + $thumb->resize( $w, $h ); +} + +// Apply effects according to the mode parameter +if ($mode == 'watermark') { + if ($ngg_options['wmType'] == 'image') { + $thumb->watermarkImgPath = $ngg_options['wmPath']; + $thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']); + } else if ($ngg_options['wmType'] == 'text') { + $thumb->watermarkText = $ngg_options['wmText']; + $thumb->watermarkCreateText($ngg_options['wmColor'], $ngg_options['wmFont'], $ngg_options['wmSize'], $ngg_options['wmOpaque']); + $thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']); + } +} else if ($mode == 'web20') { + $thumb->createReflection(40,40,50,false,'#a4a4a4'); +} + +// Show thumbnail +$thumb->show(); +$thumb->destruct(); + +C_NextGEN_Bootstrap::shutdown(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.css new file mode 100644 index 000000000..3f5721659 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/Black_Minimalism.css @@ -0,0 +1,49 @@ +/* +CSS Name: Black Minimalism Theme +Description: For Black Minimalism Theme +Author: Alex Rabe +Version: 1.60 + +This stylesheet modifies the NextGEN defaults to be more compatible with the Black Minimalism theme +*/ + +/* ----------- Album Styles Extend -------------*/ + +.ngg-thumbnail { + margin: 0pt !important; + margin-right: 12px !important; +} + +/* ----------- Gallery style -------------*/ + +.ngg-gallery-thumbnail-box { + width: 20%; +} + +.ngg-gallery-thumbnail { + background: url('shadowAlpha.png') no-repeat bottom right !important; + background: url('shadow.gif') no-repeat bottom right; + margin: 10px 0 0 10px !important; +} + +.ngg-gallery-thumbnail img { + margin: -6px 6px 6px -6px; +} + +/* ----------- Gallery navigation -------------*/ + +.ngg-navigation a.page-numbers, +.ngg-navigation a.next, +.ngg-navigation a.prev, +.ngg-navigation span.page-numbers, +.ngg-navigation span.next, +.ngg-navigation span.prev { + border: 1px solid #660000; + padding: 3px 7px; +} + +/* ----------- Related images -------------*/ + +.ngg-related-gallery img { + margin: 0pt 2px; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.css new file mode 100644 index 000000000..ef2ec1782 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/default.css @@ -0,0 +1,32 @@ +/* +CSS Name: Default Styles +Description: NextGEN Default Gallery Stylesheet +Author: Photocrati Media +Version: 2.12 + +These are the default NextGEN rules and are loaded on each page. +*/ + +/* ----------- Related images -------------*/ + +.ngg-related-gallery { + background: #F9F9F9; + border: 1px solid #E0E0E0; + overflow: hidden; + margin-bottom: 1em; + margin-top: 1em; + padding: 5px; +} + +.ngg-related-gallery img { + border: 1px solid #DDDDDD; + float: left; + margin: 0pt 3px; + padding: 2px; + height: 50px; + width: 50px; +} + +.ngg-related-gallery img:hover { + border: 1px solid #000000; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.css new file mode 100644 index 000000000..5eb14bfc1 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/hovereffect.css @@ -0,0 +1,142 @@ +/* +CSS Name: Hovereffect Styles +Description: Hover Stylesheet based on the idea of Hoverbox from http://host.sonspring.com/hoverbox/ +Author: Alex Rabe - Orginal by Nathan Smith +Version: 1.60 + +This applies a styling effect similiar to the Hoverbox style +*/ + +/* ----------- Album Styles Extend -------------*/ + +.ngg-albumtitle { + border-bottom: 1px dashed #AAAAAA; + padding-bottom: 3px; +} + +.ngg-thumbnail { + background: #EEEEEE none repeat scroll 0% 50%; + border-color: #DDDDDD rgb(187, 187, 187) rgb(170, 170, 170) rgb(204, 204, 204); + border-style: solid; + border-width: 1px; + color: inherit; + margin-right: 5px; + padding: 5px; +} + +.ngg-thumbnail img { + filter: alpha(opacity = 100); + -moz-opacity: .99; + opacity: .99; + background: #FFFFFF none repeat scroll 0%; + border-color: #AAAAAA rgb(204, 204, 204) rgb(221, 221, 221) rgb(187, 187, 187); + border-style: solid; + border-width: 1px; + color: inherit; + padding: 2px; + vertical-align: top; +} + +.ngg-thumbnail img:hover { + filter: alpha(opacity = 90); + -moz-opacity: .9; + opacity: .9; + border-color: #000000; +} + +/* ----------- Gallery style -------------*/ + +.ngg-galleryoverview { + overflow: hidden; + margin-top: 10px; + width: 100%; + clear: both; + display: block !important; +} + +.ngg-gallery-thumbnail-box { + background: #EEEEEE none repeat scroll 0% 50%; + border-color: #DDDDDD rgb(187, 187, 187) rgb(170, 170, 170) rgb(204, 204, 204); + border-style: solid; + border-width: 1px; + color: inherit; + display: inline; + margin: 3px; + padding: 5px; + position: relative; +} + +.ngg-gallery-thumbnail img { + filter: alpha(opacity = 100); + -moz-opacity: .99; + opacity: .99; + background: #FFFFFF none repeat scroll 0%; + border-color: #AAAAAA rgb(204, 204, 204) rgb(221, 221, 221) rgb(187, 187, 187); + border-style: solid; + border-width: 1px; + color: inherit; + padding: 2px; + vertical-align: top; +} + +.ngg-gallery-thumbnail img:hover { + filter: alpha(opacity = 90); + -moz-opacity: .9; + opacity: .9; + border-color: #000000; +} + +/* ----------- Gallery navigation -------------*/ + +.ngg-navigation a.page-numbers, +.ngg-navigation a.next, +.ngg-navigation a.prev, +.ngg-navigation span.page-numbers, +.ngg-navigation span.next, +.ngg-navigation span.prev { + padding: 3px 7px; +} + +/* ----------- Image browser style -------------*/ + +.ngg-imagebrowser h3 { + text-align: center; + padding-bottom: 10px; +} + +.ngg-imagebrowser .pic { + background: #EEEEEE none repeat scroll 0% 50%; + border-color: #DDDDDD rgb(187, 187, 187) rgb(170, 170, 170) rgb(204, 204, 204); + border-style: solid; + border-width: 1px; + color: inherit; + display: block; + padding: 10px; +} + +.ngg-imagebrowser img { + margin: -3px; + background: #FFFFFF none repeat scroll 0%; + border-color: #AAAAAA rgb(204, 204, 204) rgb(221, 221, 221) rgb(187, 187, 187); + border-style: solid; + border-width: 1px; + color: inherit; + padding: 2px; + vertical-align: top; +} + +.ngg-imagebrowser-nav { + padding: 10px; + +} + +.ngg-imagebrowser-nav .back:hover, +.ngg-imagebrowser-nav .next:hover { + border: 1px solid #000000; +} + +.ngg-imagebrowser-nav .back a:hover, +.ngg-imagebrowser-nav .next a:hover { + text-decoration: none !important; +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.css new file mode 100644 index 000000000..c085a4920 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_dkret3.css @@ -0,0 +1,42 @@ +/* +CSS Name: dkret3 Theme +Description: NextGEN dkret3 style with a shadow effect +Author: Jörn Kretzschmar (based on Alex Rabes Default Style) +Version: 1.3 + +This stylesheet modifies the NextGEN defaults to be more compatible with the dkret3 theme +*/ + +/* ----------- Gallery style -------------*/ + +.ngg-gallery-thumbnail { + background: url('shadowAlpha.png') no-repeat bottom right !important; + background: url('shadow.gif') no-repeat bottom right; + margin: 10px 0 0 10px !important; +} + +.ngg-gallery-thumbnail img { + margin: -6px 6px 6px -6px; +} + +.ngg-gallery-thumbnail span { + display: none; +} + +/* ----------- Gallery navigation -------------*/ + +.ngg-navigation a.page-numbers, +.ngg-navigation a.next, +.ngg-navigation a.prev, +.ngg-navigation span.page-numbers, +.ngg-navigation span.next, +.ngg-navigation span.prev { + padding: 3px 7px; +} + +/* ----------- Sidebar widget -------------*/ + +.ngg-widget, +.ngg-widget-slideshow { + text-align: center; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.css new file mode 100644 index 000000000..b6dac58b0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_k2.css @@ -0,0 +1,84 @@ +/* +CSS Name: K2 Theme +Description: NextGEN Style for K2 Theme +Author: Alex Rabe +Version: 1.60 + +This stylesheet modifies the NextGEN defaults to be more compatible with the K2 theme +*/ + +/* ----------- Album Styles Extend -------------*/ + +.ngg-albumoverview { + margin: 10px 0px 0px 0px !important; +} + +.ngg-album { + margin: 0px 0px 5px !important; +} + +.ngg-albumtitle { + margin: 0px 0px 10px 0px !important; +} + +.ngg-albumcontent { + margin: 0px !important; +} + +.ngg-thumbnail { + float: left; + margin: 0px 12px 0px 0px !important; +} + +.ngg-thumbnail img { + margin: 4px 0px 4px 5px !important; +} + +/* ----------- Album Styles Compact -------------*/ + +.ngg-album-link { + margin: 0px !important; +} + +.ngg-album-compact h4 { + margin-bottom: 0px !important; + margin-top: 0px !important; + padding: 0px !important; +} + +/* ----------- Gallery style -------------*/ + +.ngg-gallery-thumbnail-box { + margin: 0px !important; +} + +.ngg-gallery-thumbnail { + background: url('shadowAlpha.png') no-repeat bottom right !important; + background: url('shadow.gif') no-repeat bottom right; + margin: 10px 0 0 10px !important; +} + +.ngg-gallery-thumbnail img { + margin: -6px 6px 6px -6px !important; +} + +/* ----------- Gallery navigation -------------*/ + +.ngg-navigation a.page-numbers, +.ngg-navigation a.next, +.ngg-navigation a.prev, +.ngg-navigation span.page-numbers, +.ngg-navigation span.next, +.ngg-navigation span.prev { + padding: 3px 7px; +} + +/* ----------- Related images -------------*/ + +.ngg-related-gallery img { + margin: 0pt 2px; +} + +.ngg-related-gallery img:hover { + border: 1px solid #000000; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.css new file mode 100644 index 000000000..ebab00b86 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow.css @@ -0,0 +1,24 @@ +/* +CSS Name: Shadow Effect +Description: NextGEN Default Style with a Shadow effect +Author: Alex Rabe +Version: 1.60 + +Applies a shadow effect to gallery thumbnails and enables display of their description text +*/ + +/* ----------- Gallery style -------------*/ + +.ngg-gallery-thumbnail { + background: url('shadowAlpha.png') no-repeat bottom right !important; + background: url('shadow.gif') no-repeat bottom right; + margin: 10px 0 0 10px !important; +} + +.ngg-gallery-thumbnail img { + margin: -6px 6px 6px -6px; +} + +.ngg-gallery-thumbnail span { + display: none; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.css new file mode 100644 index 000000000..290fa1c11 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/ngg_shadow2.css @@ -0,0 +1,30 @@ +/* +CSS Name: Shadow Effect with Description text +Description: NextGEN Default Style with a Shadow effect and description text below the thumbnail +Author: Alex Rabe +Version: 1.60 + +Applies a shadow effect to gallery thumbnails and enables display of their description text +*/ + +/* ----------- Gallery style -------------*/ + +.ngg-gallery-thumbnail { + background: url('shadowAlpha.png') no-repeat bottom right !important; + background: url('shadow.gif') no-repeat bottom right; + margin: 10px 0 0 10px !important; + padding: 10px 15px 10px 15px; + border-color: #EEEEEE; + border-style: solid none none solid; + border-width: 1px medium medium 1px; +} + +.ngg-gallery-thumbnail img { + margin: -6px 6px 6px -6px; +} + +.ngg-gallery-thumbnail span { + margin: -6px 6px 6px -6px; + text-align: center; + color: #808080; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadow.gif b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadow.gif new file mode 100644 index 0000000000000000000000000000000000000000..af7f537e391f08327e417c7be6323c917d5d3788 GIT binary patch literal 4364 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 H1A{dH{6&{^ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadowAlpha.png b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/static/shadowAlpha.png new file mode 100644 index 0000000000000000000000000000000000000000..a2561df971728d988424100c74c817916eca1979 GIT binary patch literal 3403 zcmeAS@N?(olHy`uVBq!ia0y~yV76gkV0PtTVPIeoxn!8bz`&qg;u=xnT$Gwvl9`{U z5R#dj$`F!Ks$i<%mYSqsWME*TU}$J%WN2k%q@ZhHW?)d1Ws}Chz`$PO>FdgVg^5*A zRDQipX)Xf;180FpWHAE+w-5+3Ub<WNhk=2CCEd~2k%3`jKlh(RRt5&1#hxyXAr-gY z-U`gR?I7ZC@%fDwCytW;*1Udi`cj<D1@1ajpIhMgZTdgG{28Aa4qQA}9QFDq7lZq6 zQ~m6-UFTyf7%c9+-}&a@&a+jF4U6}le_nG&Y~Jn<3<Z0(?_BqH*V{wP2R_E7YoDt- z`rzsE{j3fD50q_vP`Tb0r0?bX(yWJ!3aT~?OIp|)rhH(SASA~Sbcor(tAfFUlb=Cz zRB|*BMpMFQb{H)aMhnK#+F`Vc9Bn6zHkL*kg#*wswzyXtzx(u@=cV_a)!MGtc3wXJ zpBckH%kMkae)Tz@TK{v_`JLxD_!-!594d}o`t#PT;>h|t*ZTW!DwPPyG3>i*_9$oR z&zPe()#t6Ry|wdPC8$?We!K66TzYo)vztzvWjD;d{&*21gZs|6&F5<K`Z=E$9!a~! i_(0=(rOeK=@;{H-t@#n4yOx20fx*+&&t;ucLK6UaaOyz- literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php new file mode 100644 index 000000000..375e7c4bd --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-compact.php @@ -0,0 +1,43 @@ +<?php +/** +Template Page for the album overview + +Follow variables are useable : + + $album : Contain information about the album + $galleries : Contain all galleries inside this album + $pagination : Contain the pagination content + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($galleries)) : ?> + +<div class="ngg-albumoverview"> + + <!-- List of galleries --> + <?php foreach ($galleries as $gallery) : ?> + + <div class="ngg-album-compact"> + <div class="ngg-album-compactbox"> + <div class="ngg-album-link"> + <a class="Link" href="<?php echo $gallery->pagelink ?>"> + <img class="Thumb" alt="<?php echo $gallery->title ?>" src="<?php echo $gallery->previewurl ?>"/> + </a> + </div> + </div> + <h4><a class="ngg-album-desc" title="<?php echo $gallery->title ?>" href="<?php echo $gallery->pagelink ?>" ><?php echo $gallery->title ?></a></h4> + <?php if (@$gallery->counter > 0) : ?> + <p><strong><?php echo $gallery->counter ?></strong> <?php _e('Photos', 'nggallery') ?></p> + <?php endif; ?> + </div> + + <?php endforeach; ?> + + <!-- Pagination --> + <br class="ngg-clear"/> + <?php echo $pagination ?> +</div> + +<?php endif; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php new file mode 100644 index 000000000..289095867 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/album-extend.php @@ -0,0 +1,43 @@ +<?php +/** +Template Page for the album overview (extended) + +Follow variables are useable : + + $album : Contain information about the album + $galleries : Contain all galleries inside this album + $pagination : Contain the pagination content + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($galleries)) : ?> + +<div class="ngg-albumoverview"> + <!-- List of galleries --> + <?php foreach ($galleries as $gallery) : ?> + + <div class="ngg-album"> + <div class="ngg-albumtitle"><a href="<?php echo $gallery->pagelink ?>"><?php echo $gallery->title ?></a></div> + <div class="ngg-albumcontent"> + <div class="ngg-thumbnail"> + <a href="<?php echo $gallery->pagelink ?>"><img class="Thumb" alt="<?php echo $gallery->title ?>" src="<?php echo $gallery->previewurl ?>"/></a> + </div> + <div class="ngg-description"> + <p><?php echo $gallery->galdesc ?></p> + <?php if (@$gallery->counter > 0) : ?> + <p><strong><?php echo $gallery->counter ?></strong> <?php _e('Photos', 'nggallery') ?></p> + <?php endif; ?> + </div> + </div> + </div> + + <?php endforeach; ?> + + <!-- Pagination --> + <?php echo $pagination ?> + +</div> + +<?php endif; ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php new file mode 100644 index 000000000..f43d83260 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-caption.php @@ -0,0 +1,62 @@ +<?php +/** +Template Page for the gallery overview + +Follow variables are useable : + + $gallery : Contain all about the gallery + $images : Contain all images, path, title + $pagination : Contain the pagination content + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?> + +<div class="ngg-galleryoverview ngg-template-caption" id="<?php echo $gallery->anchor ?>"> + +<?php if ($gallery->show_slideshow) { ?> + <!-- Slideshow link --> + <div class="slideshowlink"> + <a class="slideshowlink" href="<?php echo $gallery->slideshow_link ?>"> + <?php echo $gallery->slideshow_link_text ?> + </a> + </div> +<?php } ?> + +<?php if ($gallery->show_piclens) { ?> + <!-- Piclense link --> + <div class="piclenselink"> + <a class="piclenselink" href="<?php echo $gallery->piclens_link ?>"> + <?php _e('[View with PicLens]','nggallery'); ?> + </a> + </div> +<?php } ?> + + <!-- Thumbnails --> + <?php $i = 0; ?> + <?php foreach ( $images as $image ) : ?> + + <div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box" <?php echo $image->style ?> > + <div class="ngg-gallery-thumbnail" > + <a href="<?php echo $image->imageURL ?>" title="<?php echo $image->description ?>" <?php echo $image->thumbcode ?> > + <?php if ( !$image->hidden ) { ?> + <img title="<?php echo $image->alttext ?>" alt="<?php echo $image->alttext ?>" src="<?php echo $image->thumbnailURL ?>" <?php echo $image->size ?> /> + <?php } ?> + </a> + <span><?php echo $image->caption ?></span> + </div> + </div> + <?php if ( $image->hidden ) continue; ?> + <?php if ( $gallery->columns > 0 && ++$i % $gallery->columns == 0 ) { ?> + <br style="clear: both" /> + <?php } ?> + <?php endforeach; ?> + + <!-- Pagination --> + <?php echo $pagination ?> + +</div> + +<?php endif; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-carousel.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-carousel.php new file mode 100644 index 000000000..de01c9008 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery-carousel.php @@ -0,0 +1,56 @@ +<?php +/** +Template Page for the gallery carousel + +Follow variables are useable : + + $gallery : Contain all about the gallery + $images : Contain all images, path, title + $pagination : Contain the pagination content + $current : Contain the selected image + $prev/$next : Contain link to the next/previous gallery page + + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?> + +<div class="ngg-galleryoverview"> + + <div class="pic"><img title="<?php echo $current->alttext ?>" alt="<?php echo $current->alttext ?>" src="<?php echo $current->url; ?>" /></div> + + <ul class="ngg-gallery-list"> + + <!-- PREV LINK --> + <?php if ($prev) : ?> + <li class="ngg-prev"> + <a class="prev" href="<?php echo $prev ?>">◄</a> + </li> + <?php endif; ?> + + <!-- Thumbnail list --> + <?php foreach ( $images as $image ) : ?> + <?php if ( $image->hidden ) continue; ?> + + <li id="ngg-image-<?php echo $image->pid ?>" class="ngg-thumbnail-list <?php if ($image->pid == $current->pid) echo 'selected' ?>" > + <a href="<?php echo $image->pidlink ?>" title="<?php echo $image->description ?>" > + <img title="<?php echo $image->alttext ?>" alt="<?php echo $image->alttext ?>" src="<?php echo $image->thumbnailURL ?>" <?php echo $image->size ?> /> + </a> + </li> + + <?php endforeach; ?> + + <!-- NEXT LINK --> + <?php if ($next) : ?> + <li class="ngg-next"> + <a class="next" href="<?php echo $next ?>">►</a> + </li> + <?php endif; ?> + + </ul> + +</div> + +<?php endif; ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery.php new file mode 100644 index 000000000..c8332a245 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/gallery.php @@ -0,0 +1,66 @@ +<?php +/** +Template Page for the gallery overview + +Follow variables are useable : + + $gallery : Contain all about the gallery + $images : Contain all images, path, title + $pagination : Contain the pagination content + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($gallery)) : ?> + +<div class="ngg-galleryoverview" id="<?php echo $gallery->anchor ?>"> + +<?php if ($gallery->show_slideshow) { ?> + <!-- Slideshow link --> + <div class="slideshowlink"> + <a class="slideshowlink" href="<?php echo $gallery->slideshow_link ?>"> + <?php echo $gallery->slideshow_link_text ?> + </a> + </div> +<?php } ?> + +<?php if ($gallery->show_piclens) { ?> + <!-- Piclense link --> + <div class="piclenselink"> + <a class="piclenselink" href="<?php echo $gallery->piclens_link ?>"> + <?php _e('[View with PicLens]','nggallery'); ?> + </a> + </div> +<?php } ?> + + <!-- Thumbnails --> + <?php $i = 0; ?> + <?php foreach ( $images as $image ) : ?> + + <div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box" <?php echo $image->style ?> > + <div class="ngg-gallery-thumbnail" > + <a href="<?php echo $image->imageURL ?>" title="<?php echo $image->description ?>" <?php echo $image->thumbcode ?> > + <?php if ( !$image->hidden ) { ?> + <img title="<?php echo $image->alttext ?>" alt="<?php echo $image->alttext ?>" src="<?php echo $image->thumbnailURL ?>" <?php echo $image->size ?> /> + <?php } ?> + </a> + </div> + </div> + + <?php if ( $image->hidden ) continue; ?> + <?php if ($gallery->columns > 0): ?> + <?php if ((($i + 1) % $gallery->columns) == 0 ): ?> + <br style="clear: both" /> + <?php endif; ?> + <?php endif; ?> + <?php $i++; ?> + + <?php endforeach; ?> + + <!-- Pagination --> + <?php echo $pagination ?> + +</div> + +<?php endif; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php new file mode 100644 index 000000000..8085de97e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-caption.php @@ -0,0 +1,37 @@ +<?php +/** +Template Page for the image browser + +Follow variables are useable : + + $image : Contain all about the image + $meta : Contain the raw Meta data from the image + $exif : Contain the clean up Exif data + $iptc : Contain the clean up IPTC data + $xmp : Contain the clean up XMP data + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($image)) : ?> + +<div class="ngg-imagebrowser" id="<?php echo $image->anchor ?>"> + + <h3><?php echo $image->alttext ?></h3> + + <div class="pic"><?php echo $image->href_link ?></div> + <div class="ngg-imagebrowser-nav"> + <div class="back"> + <a class="ngg-browser-prev" id="ngg-prev-<?php echo $image->previous_pid ?>" href="<?php echo $image->previous_image_link ?>">◄ <?php _e('Back', 'nggallery') ?></a> + </div> + <div class="next"> + <a class="ngg-browser-next" id="ngg-next-<?php echo $image->next_pid ?>" href="<?php echo $image->next_image_link ?>"><?php _e('Next', 'nggallery') ?> ►</a> + </div> + <div class="counter"><?php _e('Picture', 'nggallery') ?> <?php echo $image->number ?> <?php _e('of', 'nggallery')?> <?php echo $image->total ?></div> + <div class="ngg-imagebrowser-desc"><p><?php echo $image->description ?></p></div> + </div> + +</div> + +<?php endif; ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php new file mode 100644 index 000000000..cdf7a61cb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser-exif.php @@ -0,0 +1,67 @@ +<?php +/** +Template Page for the image browser with a exif data example + +Follow variables are useable : + + $image : Contain all about the image + $meta : Contain the raw Meta data from the image + $exif : Contain the clean up Exif data from file + $iptc : Contain the clean up IPTC data from file + $xmp : Contain the clean up XMP data from file + $db : Contain the clean up META data from the database (should be imported during upload) + +Please note : A Image resize or watermarking operation will remove all meta information, exif will in this case loaded from database + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ + +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($image)) : ?> + +<div class="ngg-imagebrowser" id="<?php echo $image->anchor ?>"> + + <h3><?php echo $image->alttext ?></h3> + + <div class="pic"><?php echo $image->href_link ?></div> + <div class="ngg-imagebrowser-nav"> + <div class="back"> + <a class="ngg-browser-prev" id="ngg-prev-<?php echo $image->previous_pid ?>" href="<?php echo $image->previous_image_link ?>">◄ <?php _e('Back', 'nggallery') ?></a> + </div> + <div class="next"> + <a class="ngg-browser-next" id="ngg-next-<?php echo $image->next_pid ?>" href="<?php echo $image->next_image_link ?>"><?php _e('Next', 'nggallery') ?> ►</a> + </div> + <div class="counter"><?php _e('Picture', 'nggallery') ?> <?php echo $image->number ?> <?php _e('of', 'nggallery')?> <?php echo $image->total ?></div> + <div class="ngg-imagebrowser-desc"><p><?php echo $image->description ?></p></div> + <!-- Exif data --> + <h3><?php _e('Meta data', 'nggallery') ?></h3> + <table class="exif-data"> + <tbody> + <tr> + <th width="140"><?php _e('Camera / Type', 'nggallery') ?></th> + <td><?php echo @$exif['camera'] ?></td> + </tr> + <tr> + <th><?php _e('Aperture', 'nggallery') ?></th> + <td><?php echo @$exif['aperture'] ?></td> + </tr> + <tr> + <th><?php _e('Focal Length', 'nggallery') ?></th> + <td><?php echo @$exif['focal_length'] ?></td> + </tr> + <tr> + <th><?php _e('Shutter speed', 'nggallery') ?></th> + <td><?php echo @$exif['shutter_speed'] ?></td> + </tr> + <tr> + <th><?php _e('Date / Time', 'nggallery') ?></th> + <td><?php echo @$exif['created_timestamp'] ?></td> + </tr> + </tbody> + </table> + </div> + +</div> + +<?php endif; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php new file mode 100644 index 000000000..8085de97e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/imagebrowser.php @@ -0,0 +1,37 @@ +<?php +/** +Template Page for the image browser + +Follow variables are useable : + + $image : Contain all about the image + $meta : Contain the raw Meta data from the image + $exif : Contain the clean up Exif data + $iptc : Contain the clean up IPTC data + $xmp : Contain the clean up XMP data + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($image)) : ?> + +<div class="ngg-imagebrowser" id="<?php echo $image->anchor ?>"> + + <h3><?php echo $image->alttext ?></h3> + + <div class="pic"><?php echo $image->href_link ?></div> + <div class="ngg-imagebrowser-nav"> + <div class="back"> + <a class="ngg-browser-prev" id="ngg-prev-<?php echo $image->previous_pid ?>" href="<?php echo $image->previous_image_link ?>">◄ <?php _e('Back', 'nggallery') ?></a> + </div> + <div class="next"> + <a class="ngg-browser-next" id="ngg-next-<?php echo $image->next_pid ?>" href="<?php echo $image->next_image_link ?>"><?php _e('Next', 'nggallery') ?> ►</a> + </div> + <div class="counter"><?php _e('Picture', 'nggallery') ?> <?php echo $image->number ?> <?php _e('of', 'nggallery')?> <?php echo $image->total ?></div> + <div class="ngg-imagebrowser-desc"><p><?php echo $image->description ?></p></div> + </div> + +</div> + +<?php endif; ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/singlepic.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/singlepic.php new file mode 100644 index 000000000..5f8d0ef67 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/view/singlepic.php @@ -0,0 +1,31 @@ +<?php +/** +Template Page for the single pic + +Follow variables are useable : + + $image : Contain all about the image + $meta : Contain the raw Meta data from the image + $exif : Contain the clean up Exif data from file + $iptc : Contain the clean up IPTC data from file + $xmp : Contain the clean up XMP data from file + $db : Contain the clean up META data from the database (should be imported during upload) + +Please note : A Image resize or watermarking operation will remove all meta information, exif will in this case loaded from database + + You can check the content when you insert the tag <?php var_dump($variable) ?> + If you would like to show the timestamp of the image ,you can use <?php echo $exif['created_timestamp'] ?> +**/ +?> +<?php if (!defined ('ABSPATH')) die ('No direct access allowed'); ?><?php if (!empty ($image)) : ?> +<a href="<?php echo $image->imageURL; ?>" + title="<?php echo $image->linktitle; ?>" + <?php if(!empty($target)) { ?>target="<?php echo esc_attr($target); ?>"<?php } ?> + <?php echo $image->thumbcode; ?>> + <img class="<?php echo $image->classname; ?>" + src="<?php echo $image->thumbnailURL; ?>" + alt="<?php echo $image->alttext; ?>" + title="<?php echo $image->alttext; ?>"/> +</a> +<?php if (!empty ($image->caption)) : ?><span><?php echo $image->caption ?></span><?php endif; ?> +<?php endif; ?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/imagerotator.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/imagerotator.php new file mode 100644 index 000000000..96d0b8f22 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/imagerotator.php @@ -0,0 +1,52 @@ +<?php + +/* ++----------------------------------------------------------------+ ++ imageRotartor-XML ++ by Alex Rabe ++ required for NextGEN Gallery ++----------------------------------------------------------------+ +*/ + +// look up for the path +if ( !defined('ABSPATH') ) + require_once( dirname(__FILE__) . '/../ngg-config.php'); + +global $wpdb; + +$ngg_options = get_option ('ngg_options'); +$siteurl = site_url(); + +// get the gallery id +$galleryID = (int) $_GET['gid']; + +// get the pictures +if ($galleryID == 0) { + $thepictures = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 ORDER BY tt.{$ngg_options['galSort']} {$ngg_options['galSortDir']} "); +} else { + $thepictures = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = '$galleryID' AND tt.exclude != 1 ORDER BY tt.{$ngg_options['galSort']} {$ngg_options['galSortDir']} "); +} + +// Create XML output +header("content-type:text/xml;charset=utf-8"); + +echo "<playlist version='1' xmlns='http://xspf.org/ns/0/'>\n"; +echo " <title>".stripslashes(nggGallery::i18n($thepictures[0]->name))."</title>\n"; +echo " <trackList>\n"; + +if (is_array ($thepictures)){ + foreach ($thepictures as $picture) { + echo " <track>\n"; + if (!empty($picture->description)) + echo " <title>".strip_tags(stripslashes(html_entity_decode(nggGallery::i18n($picture->description, 'pic_' . $picture->pid . '_description'))))."</title>\n"; + else if (!empty($picture->alttext)) + echo " <title>".stripslashes(nggGallery::i18n($picture->alttext, 'pic_' . $picture->pid . '_alttext'))."</title>\n"; + else + echo " <title>".$picture->filename."</title>\n"; + echo " <location>".$siteurl."/".$picture->path."/".$picture->filename."</location>\n"; + echo " </track>\n"; + } +} + +echo " </trackList>\n"; +echo "</playlist>\n"; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/json.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/json.php new file mode 100644 index 000000000..781ffaabf --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/json.php @@ -0,0 +1,275 @@ +<?php +/** +* REST Application Programming Interface PHP class for the WordPress plugin NextGEN Gallery +* Should emulate some kind of Flickr JSON callback : ?callback=json&format=json&api_key=1234567890&method=search&term=myterm +* +* @version 1.1.0 +* @author Alex Rabe +* +* @require PHP 5.2.0 or higher +* +*/ + +class nggAPI { + + /** + * $_GET Variables + * + * @since 1.5.0 + * @access private + * @var string + */ + var $format = false; // $_GET['format'] : Return a XML oder JSON output + var $api_key = false; // $_GET['api_key'] : Protect the access via a random key (required if user is not logged into backend) + var $method = false; // $_GET['method'] : search | gallery | image | album | tag | autocomplete + var $term = false; // $_GET['term'] : The search term (required for method search | tag) + var $id = false; // $_GET['id'] : object id (required for method gallery | image | album ) + var $limit = false; // $_GET['limit'] : maximum of images which we request + var $type = false; // $_GET['type'] : gallery | image | album (required for method autocomplete) + + /** + * Contain the final output + * + * @since 1.5.0 + * @access private + * @var string + */ + var $output = ''; + + /** + * Holds the requested information as array + * + * @since 1.5.0 + * @access private + * @var array + */ + var $result = ''; + + /** + * Init the variables + * + */ + function __construct() { + + if ( !defined('ABSPATH') ) + die('You are not allowed to call this page directly.'); + + if ( !function_exists('json_encode') ) + wp_die('Json_encode not available. You need to use PHP 5.2'); + + // Read the parameter on init + $this->format = isset($_GET['format']) ? strtolower( $_GET['format'] ) : false; + $this->api_key = isset($_GET['api_key'])? $_GET['api_key'] : false; + $this->method = isset($_GET['method']) ? strtolower( $_GET['method'] ) : false; + $this->term = isset($_GET['term']) ? urldecode( $_GET['term'] ) : false; + $this->id = isset($_GET['id']) ? (int) $_GET['id'] : 0; + $this->limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 0; + $this->type = isset($_GET['type']) ? strtolower( $_GET['type'] ) : false; + $this->result = array(); + $this->list = false; + + $this->start_process(); + $this->render_output(); + } + + function start_process() { + + global $ngg; + + if ( !$this->valid_access() ) + return; + + switch ( $this->method ) { + case 'search' : + //search for some images + $this->result['images'] = array_merge( (array) nggdb::search_for_images( $this->term ), (array) nggTags::find_images_for_tags( $this->term , 'ASC' )); + break; + case 'album' : + //search for some album //TODO : Get images for each gallery, could end in a big db query + $this->result['album'] = nggdb::find_album( $this->id ); + break; + case 'gallery' : + //search for some gallery + $this->result['images'] = ($this->id == 0) ? nggdb::find_last_images( 0 , 100 ) : nggdb::get_gallery( $this->id, $ngg->options['galSort'], $ngg->options['galSortDir'], true, 0, 0, true ); + break; + case 'image' : + //search for some image + $this->result['images'] = nggdb::find_image( $this->id ); + break; + case 'tag' : + //search for images based on tags + $this->result['images'] = nggTags::find_images_for_tags( $this->term , 'ASC' ); + break; + case 'recent' : + //search for images based on tags + $this->result['images'] = nggdb::find_last_images( 0 , $this->limit ); + break; + case 'autocomplete' : + //return images, galleries or albums for autocomplete drop down list + return $this->autocomplete(); + break; + case 'version' : + $this->result = array ('stat' => 'ok', 'version' => $ngg->version); + return; + break; + default : + $this->result = array ('stat' => 'fail', 'code' => '98', 'message' => 'Method not known.'); + return false; + break; + } + + // result should be fine + $this->result['stat'] = 'ok'; + } + + function valid_access() { + + // if we are logged in, then we can go on + if ( is_user_logged_in() ) + return true; + + //TODO:Implement an API KEY check later + if ($this->api_key != false) + return true; + + $this->result = array ('stat' => 'fail', 'code' => '99', 'message' => 'Insufficient permissions. Method requires read privileges; none granted.'); + return false; + } + + /** + * return search result for autocomplete request from backend + * + * @since 1.7.0 + * @return void + */ + function autocomplete() { + global $nggdb; + + switch ( $this->type ) { + case 'image' : + + // return the last entries in case of an empty search string + if ( empty($this->term) ) + $list = $nggdb->find_last_images(0, $this->limit, false); + else + $list = $nggdb->search_for_images($this->term, $this->limit); + + if( is_array($list) ) { + foreach($list as $image) { + // reorder result to array-object + $obj = new stdClass(); + $obj->id = $image->pid; + $name = ( empty($image->alttext) ? $image->filename : $image->alttext ); + //TODO : need to rework save/load + $name = stripslashes( htmlspecialchars_decode($name, ENT_QUOTES)); + $obj->label = $image->pid . ' - ' . $name; + $obj->value = $name; + $this->result[] = $obj; + } + } + + return $this->result; + break; + case 'gallery' : + + if ( empty($this->term) ) + $list = $nggdb->find_all_galleries('gid', 'DESC', false, $this->limit ); + else + $list = $nggdb->search_for_galleries($this->term, $this->limit); + + if( is_array($list) ) { + foreach($list as $gallery) { + // reorder result to array-object + $obj = new stdClass(); + $obj->id = $gallery->gid; + $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; + $name = stripslashes( htmlspecialchars_decode($name, ENT_QUOTES)); + $obj->label = $gallery->gid . ' - ' . $name; + $obj->value = $name; + $this->result[] = $obj; + } + } + return $this->result; + break; + case 'album' : + + if ( empty($this->term) ) + $list = $nggdb->find_all_album('id', 'DESC', $this->limit ); + else + $list = $nggdb->search_for_albums($this->term, $this->limit); + + if( is_array($list) ) { + foreach($list as $album) { + // reorder result to array-object + $obj = new stdClass(); + $obj->id = $album->id; + $album->name = stripslashes( htmlspecialchars_decode($album->name, ENT_QUOTES)); + $obj->label = $album->id . ' - ' . $album->name; + $obj->value = $album->name; + $this->result[] = $obj; + } + } + return $this->result; + break; + default : + $this->result = array ('stat' => 'fail', 'code' => '98', 'message' => 'Type not known.'); + return false; + break; + } + } + + /** + * Iterates through a multidimensional array + * + * @author Boris Glumpler + * @param array $arr + * @return void + */ + function create_xml_array( &$arr ) + { + $xml = ''; + + if( is_object( $arr ) ) + $arr = get_object_vars( $arr ); + + foreach( (array)$arr as $k => $v ) { + if( is_object( $v ) ) + $v = get_object_vars( $v ); + //nodes must contain letters + if( is_numeric( $k ) ) + $k = 'id-'.$k; + if( is_array( $v ) ) + $xml .= "<$k>\n". $this->create_xml_array( $v ). "</$k>\n"; + else + $xml .= "<$k>$v</$k>\n"; + } + + return $xml; + } + + function render_output() { + + if ($this->format == 'json') { + header('Content-Type: application/json; charset=' . get_option('blog_charset'), true); + $this->output = json_encode($this->result); + } else { + header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true); + $this->output = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n"; + $this->output .= "<nextgen-gallery>" . $this->create_xml_array( $this->result ) . "</nextgen-gallery>\n"; + } + + } + + /** + * PHP5 style destructor and will run when the class is finished. + * + * @return output + */ + function __destruct() { + echo $this->output; + } + +} + +// let's use it +$nggAPI = new nggAPI; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php new file mode 100644 index 000000000..fa80a4b9a --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/ngglegacy/xml/media-rss.php @@ -0,0 +1,123 @@ +<?php +/** +* Media RSS presenting the pictures in counter chronological order. +* +* @author Vincent Prat (http://www.vincentprat.info) +* +* @param mode The content we want to display (last_pictures|gallery|album). +* Defaults to last_pictures. +* +* Parameters for mode = last_pictures +* +* @param page The current picture ID (defaults to 0) +* @param show The number of pictures to include in one field (default 10) +* +* Parameters for mode = gallery +* +* @param gid The gallery ID to show (defaults to first gallery) +* @param prev_next Whether to link to previous and next galleries (true|false). +* Default to false. +* +* Parameters for mode = album +* +* @param aid The album ID to show +*/ + +// Load required files and set some useful variables +require_once(dirname(__FILE__) . "/../ngg-config.php"); +require_once(dirname(__FILE__) . "/../lib/media-rss.php"); + +// Check we have the required GET parameters +$mode = isset ($_GET['mode']) ? $_GET['mode'] : 'last_pictures'; + +// Act according to the required mode +$rss = ''; +if ( $mode == 'last_pictures' ) { + + // Get additional parameters + $page = isset ($_GET['page']) ? (int) $_GET['page'] : 0; + $show = isset ($_GET['show']) ? (int) $_GET['show'] : 10; + + $rss = nggMediaRss::get_last_pictures_mrss($page, $show); + +} else if ( $mode == 'gallery' ) { + + // Get all galleries + $galleries = $nggdb->find_all_galleries(); + + if ( count($galleries) == 0 ) { + header('content-type:text/plain;charset=utf-8'); + echo sprintf(__("No galleries have been yet created.","nggallery"), $gid); + exit; + } + + // Get additional parameters + $gid = isset ($_GET['gid']) ? (int) $_GET['gid'] : 0; + + //if no gid is present, take the first gallery + if ( $gid == 0 ) { + $first = current($galleries); + $gid = $first->gid; + } + + + // Set the main gallery object + $gallery = $galleries[$gid]; + + if (!isset($gallery) || $gallery==null) { + header('content-type:text/plain;charset=utf-8'); + echo sprintf(__("The gallery ID=%s does not exist.","nggallery"), intval($gid) ); + exit; + } + + // show other galleries if needed + $prev_next = ( isset($_GET['prev_next']) && $_GET['prev_next'] == 'true' ) ? true : false; + $prev_gallery = $next_gallery = null; + + // Get previous and next galleries if required + if ($prev_next) { + reset($galleries); + while( current($galleries) ){ + if( key($galleries) == $gid ) + break; + next($galleries); + } + // one step back + $prev_gallery = prev( $galleries); + // two step forward... Could be easier ? How ? + next($galleries); + $next_gallery = next($galleries); + } + + $rss = nggMediaRss::get_gallery_mrss($gallery, $prev_gallery, $next_gallery); + +} else if ( $mode == 'album' ) { + + // Get additional parameters + $aid = isset ($_GET['aid']) ? (int) $_GET['aid'] : 0; + if ( $aid == 0 ) { + header('content-type:text/plain;charset=utf-8'); + _e("No album ID has been provided as parameter", "nggallery"); + exit; + } + + // Get the album object + $album = nggdb::find_album($aid); + if (!isset($album) || $album==null ) { + header('content-type:text/plain;charset=utf-8'); + echo sprintf(__("The album ID=%s does not exist.", "nggallery"), intval($aid) ); + exit; + } + + $rss = nggMediaRss::get_album_mrss($album); +} else { + header('content-type:text/plain;charset=utf-8'); + echo __('Invalid MediaRSS command', 'nggallery'); + exit; +} + + +// Output header for media RSS +header("content-type:text/xml;charset=utf-8"); +echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n"; +echo $rss; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/adapter.routing_app_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/adapter.routing_app_factory.php new file mode 100644 index 000000000..ec82508c6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/adapter.routing_app_factory.php @@ -0,0 +1,9 @@ +<?php + +class A_Routing_App_Factory extends Mixin +{ + function routing_app($context = FALSE, $router = FALSE) + { + return new C_Routing_App($context, $router); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.http_response_controller.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.http_response_controller.php new file mode 100644 index 000000000..bd0fa3b5f --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.http_response_controller.php @@ -0,0 +1,47 @@ +<?php + +class C_Http_Response_Controller extends C_MVC_Controller +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Http_Response_Actions'); + $this->implement('I_Http_Response'); + } + + static function get_instance($context=FALSE) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Http_Response_Actions extends Mixin +{ + function http_301_action() + { + header('HTTP/1.1 301 Permanent Redirect'); + header("Location: {$this->object->get_routed_url()}"); + } + + function http_302_action() + { + header('HTTP/1.1 302 Temporary Redirect'); + header("Location: {$this->object->get_routed_url()}"); + } + + function http_500_action() + { + + } + + function http_404_action() + { + + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router.php new file mode 100644 index 000000000..f7a6d9aae --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router.php @@ -0,0 +1,299 @@ +<?php + +class Mixin_Router extends Mixin +{ + function set_routed_app($app) + { + $this->object->_routed_app = $app; + } + + function &get_routed_app() + { + $retval = $this->object->_routed_app ? $this->object->_routed_app : $this->object->get_default_app(); + return $retval; + } + + function &get_default_app() + { + if (is_null($this->object->_default_app)) + $this->object->_default_app = $this->object->create_app(); + $retval = $this->object->_default_app; + + return $retval; + } + + function route($patterns, $handler=FALSE) + { + $this->object->get_default_app()->route($patterns, $handler); + } + + function rewrite($src, $dst, $redirect=FALSE) + { + $this->object->get_default_app()->rewrite($src, $dst, $redirect); + } + + function get_parameter($key, $prefix=NULL, $default=NULL) + { + return $this->object->get_routed_app()->get_parameter($key, $prefix, $default); + } + + function param($key, $prefix=NULL, $default=NULL) + { + return $this->object->get_parameter($key, $prefix, $default); + } + + function has_parameter_segments() + { + return $this->object->get_routed_app()->has_parameter_segments(); + } + + function passthru() + { + return $this->object->get_default_app()->passthru(); + } + + /** + * Gets url for the router + * @param string $uri + * @return string + */ + function get_url($uri='/', $with_qs=TRUE, $site_url = FALSE) + { + $retval = $this->object->join_paths( + $this->object->get_base_url($site_url), + $uri + ); + if ($with_qs) { + $parts = parse_url($retval); + if (!isset($parts['query'])) + $parts['query'] = $this->object->get_querystring(); + else + $parts['query'] = $this->object->join_querystrings($parts['query'], $this->object->get_querystring()); + + $retval = $this->object->construct_url_from_parts($parts); + + } + return $retval; + } + + /** + * Currents the relative url + * @param string $uri + * @param boolean $with_qs + * @return string + */ + function get_relative_url($uri='/', $with_qs=TRUE) + { + $url = $this->object->get_url($uri, $with_qs=TRUE); + $retval = str_replace($this->object->get_base_url(), '', $url); + if (strpos($retval, '/') !== 0) $retval = '/'.$retval; + return $retval; + } + + + /** + * Returns a static url + * @param string $path + * @param string $module + * @return string + */ + function get_static_url($path, $module=FALSE) + { + $fs = $this->get_registry()->get_utility('I_Fs'); + $path = $fs->find_abspath($path, $module); + + $base_url = $this->object->get_base_url(TRUE); + $base_url = $this->object->remove_url_segment('/index.php', $base_url); + + $path = str_replace( + $fs->get_document_root(), + $base_url, + $path + ); + + // adjust for possible windows hosts + $path = str_replace('\\', '/', $path); + return $path; + } + + + /** + * Gets the routed url + * @returns string + */ + function get_routed_url() + { + $retval = $this->object->get_url($this->object->get_request_uri()); + + if (($app = $this->object->get_routed_app())) { + $retval = $this->object->get_url($app->get_app_uri()); + } + + return $retval; + } + + /** + * Gets the base url for the router + * + * @param bool $site_url Unused + * @return string + */ + function get_base_url($site_url = FALSE) + { + $protocol = $this->object->is_https()? 'https://' : 'http://'; + $retval = "{$protocol}{$_SERVER['SERVER_NAME']}{$this->object->context}"; + return untrailingslashit($retval); + } + + /** + * Determines if the current request is over HTTPs or not + */ + function is_https() + { + return ( + (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') || + (!empty($_SERVER['HTTP_USESSL']) && strtolower($_SERVER['HTTP_USESSL']) !== 'off') || + (!empty($_SERVER['REDIRECT_HTTPS']) && strtolower($_SERVER['REDIRECT_HTTPS']) !== 'off') || + $_SERVER['SERVER_PORT'] == 443); + } + + + /** + * Serve request using defined Routing Apps + * + * @param string|FALSE $request_uri + */ + function serve_request() + { + $served = FALSE; + + // iterate over all apps, and serve the route + foreach ($this->object->get_apps() as $app) { + if (($served = $app->serve_request($this->object->context))) + break; + } + + return $served; + } + + /** + * Gets the querystring of the current request + * @return string + */ + function get_querystring() + { + return isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : null ; + } + + + function set_querystring($value) + { + $_SERVER['QUERY_STRING'] = $value; + } + + /** + * Gets the request for the router + * @return string + */ + function get_request_uri($with_params=TRUE) + { + if (isset($_SERVER['PATH_INFO'])) + $retval = $_SERVER['PATH_INFO']; + elseif (isset($_SERVER['ORIG_REQUEST_URI'])) + $retval = $_SERVER['ORIG_REQUEST_URI']; + else + $retval = $_SERVER['REQUEST_URI']; + + // Remove the querystring + if (($index = strpos($retval, '?')) !== FALSE) { + $retval = substr($retval, 0, $index); + } + + // Remove the router's context + $retval = preg_replace('#^'.preg_quote($this->object->context, '#').'#', '', $retval); + + // Remove the params + if (!$with_params) + $retval = $this->object->strip_param_segments($retval); + + // Ensure that request uri starts with a slash + if (strpos($retval, '/') !== 0) $retval = "/{$retval}"; + + return $retval; + } + + /** + * Gets the method of the HTTP request + * @return string + */ + function get_request_method() + { + return $this->object->_request_method; + } + + + function &create_app($name = '/') + { + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $app = $factory->create('routing_app', $name); + $this->object->_apps[] = $app; + return $app; + } + + /** + * Gets a list of apps registered for the router + * + * @return array + */ + function get_apps() + { + usort($this->object->_apps, array(&$this, '_sort_apps')); + return array_reverse($this->object->_apps); + } + + /** + * Sorts apps.This is needed because we want the most specific app to be + * executed first + * @param C_Routed_App $a + * @param C_Routed_App $b + * @return int + */ + function _sort_apps($a, $b) + { + return strnatcmp($a->context, $b->context); + } +} + +/** + * A router is configured to match patterns against a url and route the request to a particular controller and action + */ +class C_Router extends C_Component +{ + static $_instances = array(); + var $_apps = array(); + var $_default_app = NULL; + + function define($context = FALSE) + { + if (!$context OR $context == 'all') $context = '/'; + parent::define($context); + $this->add_mixin('Mixin_Url_Manipulation'); + $this->add_mixin('Mixin_Router'); + $this->implement('I_Router'); + } + + function initialize() + { + parent::initialize(); + $this->_request_method = $_SERVER['REQUEST_METHOD']; + } + + static function &get_instance($context = False) + { + if (!isset(self::$_instances[$context])) { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router_installer.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router_installer.php new file mode 100644 index 000000000..9b3cc474e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.router_installer.php @@ -0,0 +1,12 @@ +<?php + +class C_Router_Installer +{ + function install() + { + $settings = C_NextGen_Settings::get_instance(); + $settings->set_default_value('router_param_separator', '--'); + $settings->set_default_value('router_param_prefix', ''); + $settings->set_default_value('router_param_slug', 'nggallery'); + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.routing_app.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.routing_app.php new file mode 100644 index 000000000..36ad05b11 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/class.routing_app.php @@ -0,0 +1,824 @@ +<?php +class Mixin_Routing_App extends Mixin +{ + /** + * Creates a new route endpoint with the assigned handler + * + * @param array $routes URL to route, eg /page/{page}/ + * @param array $handler Formatted array + */ + function route($routes, $handler) + { + // ensure that the routing patterns array exists + if (!is_array($this->object->_routing_patterns)) + $this->object->_routing_patterns = array(); + + if (!is_array($routes)) + $routes = array($routes); + + // fetch all routing patterns + $patterns = $this->object->_routing_patterns; + + foreach ($routes as $route) { + // add the routing pattern + $patterns[$this->object->_route_to_regex($route)] = $handler; + } + + // update routing patterns + $this->object->_routing_patterns = $patterns; + } + + /** + * Handles internal url rewriting with optional HTTP redirection, + * + * @param string $src Original URL + * @param string $dst Destination URL + * @param bool $redirect FALSE for internal handling, otherwise the HTTP code to send + */ + function rewrite($src, $dst, $redirect = FALSE, $stop=FALSE) + { + // ensure that rewrite patterns array exists + if (!is_array($this->object->_rewrite_patterns)) + $this->object->_rewrite_patterns = array(); + + // fetch all rewrite patterns + $patterns = $this->object->_rewrite_patterns; + + // Assign rewrite definition + $definition = array( + 'dst' => $dst, 'redirect' => $redirect, 'stop' => $stop + ); + + // We treat wildcards much differently then normal rewrites + if (preg_match("/\\{[\\.\\\\*]/", $src)) { + $pattern = str_replace('{*}', '(.*?)', $src); + $pattern = str_replace('{.*}', '(.*?)', $pattern); + $pattern = str_replace('{\\w}', '([\\w-_]*)', $pattern); + $pattern = str_replace('{\\d}', '(\\d*)', $pattern); + $src = '#'.(strpos($src, '/') === 0 ? '^':'').$pattern.'/?$#'; + $definition['wildcards'] = TRUE; + } + + // Normal rewrite + else $src = $this->object->_route_to_regex($src); + + // add the rewrite pattern + $patterns[$src] = $definition; + + // update rewrite patterns; + $this->object->_rewrite_patterns = $patterns; + } + + /** + * Gets an instance of the router + * @return type + */ + function get_router() + { + return $this->object->get_registry()->get_utility('I_Router'); + } + + function get_app_url($request_uri=FALSE, $with_qs=FALSE) + { + return $this->object->get_router()->get_url($this->object->get_app_uri($request_uri), $with_qs); + } + + + function get_routed_url($with_qs=TRUE) + { + return $this->object->get_app_url(FALSE, $with_qs); + } + + function get_app_uri($request_uri=FALSE) + { + if (!$request_uri) $request_uri = $this->object->get_app_request_uri(); + return $this->object->join_paths( + $this->object->context, + $request_uri + ); + } + + function get_app_request_uri() + { + $retval = FALSE; + + if ($this->object->_request_uri) $retval = $this->object->_request_uri; + else if (($retval = $this->object->does_app_serve_request())) { + if (strpos($retval, '/') !== 0) $retval = '/'.$retval; + $this->object->set_app_request_uri($retval); + } + + return $retval; + } + + /** + * Sets the application request uri + * @param type $uri + */ + function set_app_request_uri($uri) + { + $this->object->_request_uri = $uri; + } + + /** + * Gets the application's routing regex pattern + * @return string + */ + function get_app_routing_pattern() + { + return $this->object->_route_to_regex($this->object->context); + } + + + /** + * Determines whether this app serves the request + * @return boolean|string + */ + function does_app_serve_request() + { + $retval = FALSE; + + $request_uri = $this->object->get_router()->get_request_uri(TRUE); + + // Is the context present in the uri? + if (($index = strpos($request_uri, $this->object->context)) !== FALSE) { + $starts_with_slash = strpos($this->object->context, '/') === 0; + if (($starts_with_slash && $index === 0) OR (!$starts_with_slash)) { + $regex = implode('', array( + '#', + ($starts_with_slash ? '^':''), + preg_quote($this->object->context, '#'), + '#' + )); + $retval = preg_replace($regex, '', $request_uri); + if (!$retval) $retval = '/'; + if (strpos($retval, '/') !== 0) $retval = '/'.$retval; + if (substr($retval, -1) != '/') $retval = $retval.'/'; + } + } + + return $retval; + } + + /** + * Performs the url rewriting routines. Returns the HTTP status code used to + * redirect, if we're to do so. Otherwise FALSE + * @return int|bool + */ + function do_rewrites($request_uri=FALSE) + { + $redirect = FALSE; + + // Get the request uri if not provided + if (!$request_uri) $request_uri = $this->object->get_app_request_uri(); + + // ensure that rewrite patterns array exists + if (!is_array($this->object->_rewrite_patterns)) + $this->object->_rewrite_patterns = array(); + + // Process each rewrite rule + // start rewriting urls + foreach ($this->object->_rewrite_patterns as $pattern => $details) { + + // Remove this pattern from future processing for this request + unset($this->object->_rewrite_patterns[$pattern]); + + // Wildcards are processed much differently + if (isset($details['wildcards']) && $details['wildcards']) { + if (preg_match($pattern, $request_uri, $matches)) { + foreach ($matches as $index => $match) { + if ($index == 0) { + $request_uri = str_replace($match, $details['dst'], $request_uri); + continue; + } + $request_uri = str_replace( + "{{$index}}", $match, $request_uri + ); + } + + // Set the redirect flag if we're to do so + if (isset($details['redirect']) && $details['redirect']) { + $redirect = $details['redirect'] === TRUE ? + 302 : intval($details['redirect']); + break; + } + + // Stop processing rewrite patterns? + if ($details['stop']) break; + } + } + + // Normal rewrite pattern + elseif (preg_match_all($pattern, $request_uri, $matches, PREG_SET_ORDER)) + { + // Assign new request URI + $request_uri = $details['dst']; + + // Substitute placeholders + foreach ($matches as $match) { + if ($redirect) break; + foreach ($match as $key => $val) { + + // If we have a placeholder that needs swapped, swap + // it now + if (is_numeric($key)) continue; + $request_uri = str_replace("{{$key}}", $val, $request_uri); + } + // Set the redirect flag if we're to do so + if (isset($details['redirect']) && $details['redirect']) { + $redirect = $details['redirect'] === TRUE ? + 302 : intval($details['redirect']); + break; + } + + } + } + } + + // Cache all known data about the application request + $this->object->set_app_request_uri($request_uri); + $this->object->get_router()->set_routed_app($this->object); + + return $redirect; + } + + + /** + * Determines if the current routing app meets our requirements and serves them + * + * @return bool + */ + function serve_request() + { + $served = FALSE; + + // ensure that the routing patterns array exists + if (!is_array($this->object->_routing_patterns)) + $this->object->_routing_patterns = array(); + + // if the application root matches, then we'll try to route the request + if (($request_uri = $this->object->get_app_request_uri())){ + + // Perform URL rewrites + $redirect = $this->object->do_rewrites($request_uri);; + + // Are we to perform a redirect? + if ($redirect) { + $this->object->execute_route_handler( + $this->object->parse_route_handler($redirect) + ); + } + + // Handle routed endpoints + else { + foreach ($this->object->_routing_patterns as $pattern => $handler) { + if (preg_match($pattern, $this->object->get_app_request_uri(), $matches)) { + $served = TRUE; + + // Add placeholder parameters + foreach ($matches as $key => $value) { + if (is_numeric($key)) continue; + $this->object->set_parameter_value($key, $value, NULL); + } + + // If a handler is attached to the route, execute it. A + // handler can be + // - FALSE, meaning don't do any post-processing to the route + // - A string, such as controller#action + // - An array: array( + // 'controller' => 'I_Test_Controller', + // 'action' => 'index', + // 'context' => 'all', (optional) + // 'method' => array('GET') (optional) + // ) + if ($handler && $handler = $this->object->parse_route_handler($handler)) { + // Is this handler for the current HTTP request method? + if (isset($handler['method'])) { + if (!is_array($handler['method'])) $handler['$method'] = array($handler['method']); + if (in_array($this->object->get_router()->get_request_method(), $handler['method'])) { + $this->object->execute_route_handler($handler); + } + } + + // This handler is for all request methods + else { + $this->object->execute_route_handler($handler); + } + } + else if (!$handler) { + $this->object->passthru(); + } + } + } + } + } + + return $served; + } + + /** + * Executes an action of a particular controller + * @param array $handler + */ + function execute_route_handler($handler) + { + // Get action + $action = $handler['action']; + + // Get controller + $controller = $this->object->get_registry()->get_utility( + $handler['controller'], $handler['context'] + ); + + // Call action + $controller->$action(); + + // Clean Exit (fastcgi safe) + C_NextGEN_Bootstrap::shutdown(); + } + + /** + * Parses the route handler + * @param mixed $handler + * @return array + */ + function parse_route_handler($handler) + { + if (is_string($handler)) { + $handler = array_combine(array('controller', 'action'), explode('#', $handler)); + } + elseif (is_numeric($handler)) { + $handler = array( + 'controller' => 'I_Http_Response', + 'action' => 'http_'.$handler, + ); + } + if (!isset($handler['context'])) $handler['context'] = FALSE; + if (strpos($handler['action'], '_action') === FALSE) $handler['action'] .= '_action'; + + return $handler; + } + + + function add_placeholder_params_from_matches($matches) + { + // Add the placeholder parameter values to the _params array + foreach ($matches as $key => $value) { + if (is_numeric($key)) continue; + $this->object->add_placeholder_param( + $key, $value, $matches[0] + ); + } + } + + /** + * Used to pass execution to PHP and perhaps an above framework + */ + function passthru() + { + } + + + /** + * Adds a placeholder parameter + * @param string $name + * @param stirng $value + * @param string $source + */ + function add_placeholder_param($name, $value, $source=NULL) + { + if (!is_array($this->object->_parameters)) { + $this->object->_parameters = array('global'); + } + if (!isset($this->object->_parameters['global'])) { + $this->object->_parameters['global'] = array(); + } + $this->object->_parameters['global'][] = array( + 'id' => '', + 'name' => $name, + 'value' => $value, + 'source'=> $source + ); + } + + /** + * Converts the route to the regex + * + * @param string $route + * @return string + */ + function _route_to_regex($route) + { + // Get the settings manager + $settings = $this->object->_settings; + $param_slug = $settings->router_param_slug; + + // convert route to RegEx pattern + $route_regex = preg_quote( + str_replace( + array('{', '}'), + array('~', '~'), + $route + ), '#' + ); + + // Wrap the route + $route_regex = '('.$route_regex.')'; + + // If the route starts with a slash, then it must appear at the beginning + // of a request uri + if (strpos($route, '/') === 0) $route_regex = '^'.$route_regex; + + // If the route is not /, and perhaps /foo, then we need to optionally + // look for a trailing slash as well + if ($route != '/') $route_regex .= '/?'; + + // If parameters come after a slug, it might appear as well + if ($param_slug) { + $route_regex .= "(".preg_quote($param_slug, '#').'/)?'; + } + + // Parameter might follow the request uri + $route_regex .= "(/?([^/]+\-\-)?[^/]+\-\-[^/]+/?){0,}"; + + // Create the regex + $route_regex = '#' . $route_regex . '/?$#i'; + + // convert placeholders to regex as well + return preg_replace('/~([^~]+)~/i', ($param_slug ? '('.preg_quote($param_slug,'#').'\K)?' : '').'(?P<\1>[^/]+)/?', $route_regex); + } + + /** + * Gets a request parameter from either the request uri or querystring + * This method takes into consideration the values of the router_param_prefix + * and router_param_separator settings when searching for the parameter + * + * Parameter can take on the following forms: + * /key--value + * /[MVC_PARAM_PREFIX]key--value + * /[MVC_PARAM_PREFIX]-key--value + * /[MVC_PARAM_PREFIX]_key--value + * /id--key--value + * /id--[MVC_PARAM_PREFIX]key--value + * /id--[MVC_PARAM_PREFIX]-key--value + * /id--[MVC_PARAM_PREFIX]_key--value + * + * @param string $key + * @param mixed $id + * @param mixed $default + * @return mixed + */ + function get_parameter($key, $id=NULL, $default=NULL, $segment=FALSE, $url=FALSE) + { + $retval = $default; + $settings = $this->object->_settings; + $quoted_key = preg_quote($key,'#'); + $id = $id ? preg_quote($id,'#') : "[^/]+"; + $param_prefix = preg_quote($settings->router_param_prefix,'#'); + $param_sep = preg_quote($settings->router_param_separator,'#'); + $param_regex = "#/((?P<id>{$id}){$param_sep})?({$param_prefix}[-_]?)?{$quoted_key}{$param_sep}(?P<value>[^/\?]+)/?#i"; + $found = FALSE; + $sources = $url ? array('custom' => $url) : $this->object->get_parameter_sources(); + + foreach ($sources as $source_name => $source) { + if (preg_match($param_regex, $source, $matches)) { + if ($segment) + $retval = array('segment' => $matches[0], 'source' => $source_name); + else + $retval = $matches['value']; + $found = TRUE; + break; + } + } + + // Lastly, check the $_REQUEST + if (!$found && !$url && isset($_REQUEST[$key])) + $retval = $this->object->recursive_stripslashes($_REQUEST[$key]); + + return $retval; + } + + /** + * Sets the value of a particular parameter + * @param string $key + * @param mixed $value + * @param mixed $id + */ + function set_parameter_value($key, $value, $id=NULL, $use_prefix=FALSE, $url=FALSE) + { + // Remove the parameter from both the querystring and request uri + $retval = $this->object->remove_parameter($key, $id, $url); + + // Get the settings manager + $settings = $this->object->_settings; + $param_slug = $settings->router_param_slug; + + // We're modifying a url passed in + if ($url) { + $parts = parse_url($retval); + if (!isset($parts['path'])) $parts['path'] = ''; + $parts['path'] = $this->object->join_paths( + $parts['path'], + $param_slug && strpos($parts['path'], $param_slug) === FALSE ? $param_slug : '', + $this->object->create_parameter_segment($key, $value, $id, $use_prefix) + ); + $retval = $this->object->construct_url_from_parts($parts); + } + + // We're modifying the current request + else { + // This parameter is being appended to the current request uri + $this->object->add_parameter_to_app_request_uri($key, $value, $id, $use_prefix); + + // Return the new full url + $retval = $this->object->get_routed_url(); + } + + return trailingslashit($retval); + } + + /** + * Alias for remove_parameter() + * @param string $key + * @param mixed $id + * @return string + */ + function remove_param($key, $id=NULL, $url=FALSE) + { + return $this->object->remove_parameter($key, $id, $url); + } + + /** + * Removes a parameter from the querystring and application request URI + * and returns the full application URL + * @param string $key + * @param mixed $id + * @return string + */ + function remove_parameter($key, $id=NULL, $url=FALSE) + { + $retval = $url; + $settings = $this->object->_settings; + $param_sep = $settings->router_param_separator; + $param_prefix = $settings->router_param_prefix ? preg_quote($settings->router_param_prefix, '#') : ''; + $param_slug = $settings->router_param_slug ? preg_quote($settings->router_param_slug, '#') : FALSE; + + // Is the parameter already part of the request? If so, modify that + // parmaeter + if (($segment = $this->object->get_parameter_segment($key, $id, $url))) { + extract($segment); + + if ($source == 'querystring') { + $preg_id = $id ? '\d+' : preg_quote($id,'#'); + $preg_key = preg_quote($key, '#'); + $regex = implode('', array( + '#', + $id ? "{$preg_id}{$param_sep}" : '', + "(({$param_prefix})?[-_]?)?{$preg_key}({$param_sep}|=)[^\/&]+&?#i" + )); + $qs = preg_replace($regex, '', $this->get_router()->get_querystring()); + $this->object->get_router()->set_querystring($qs); + $retval = $this->object->get_routed_url(); + } + elseif ($source == 'request_uri') { + $uri = $this->object->get_app_request_uri(); + $uri = $this->object->join_paths(explode($segment, $uri)); + if ($settings->router_param_slug && preg_match("#{$param_slug}/?$#i", $uri, $match)) { + $retval = $this->object->remove_url_segment($match[0], $retval); + } + $this->object->set_app_request_uri($uri); + $retval = $this->object->get_routed_url(); + } + else { + $retval = $this->object->join_paths(explode($segment, $url)); + if ($settings->router_param_slug && preg_match("#/{$param_slug}$#i", $retval, $match)) { + $retval = $this->object->remove_url_segment($match[0], $retval); + } + } + } + + $retval = rtrim($retval, ' ?&'); + + return $retval; + } + + + /** + * Adds a parameter to the application's request URI + * @param string $key + * @param mixed $value + * @param mixed $id + */ + function add_parameter_to_app_request_uri($key, $value, $id=NULL, $use_prefix=FALSE) + { + $settings = $this->object->_settings; + $param_slug = $settings->router_param_slug; + + $uri = $this->object->get_app_request_uri(); + $parts = array($uri); + if ($param_slug && strpos($uri, $param_slug) === FALSE) $parts[] = $param_slug; + $parts[] = $this->object->create_parameter_segment($key, $value, $id, $use_prefix); + $this->object->set_app_request_uri($this->object->join_paths($parts)); + + return $this->object->get_app_request_uri(); + } + + + /** + * Creates a parameter segment + * @param string $key + * @param mixed $value + * @param mixed $id + * @return string + */ + function create_parameter_segment($key, $value, $id=NULL, $use_prefix=FALSE) + { + $settings = $this->object->_settings; + if ($use_prefix) $key = $settings->router_param_prefix.$key; + if ($value === TRUE) $value = 1; + elseif ($value == FALSE) $value = 0; // null and false values + $retval = $key . $settings->router_param_separator . $value; + if ($id) $retval = $id . $settings->router_param_separator . $retval; + return $retval; + } + + /** + * Alias for set_parameter_value + * @param string $key + * @param mixed $value + * @param mixed $id + */ + function set_parameter($key, $value, $id=NULL, $use_prefix=FALSE, $url=FALSE) + { + return $this->object->set_parameter_value($key, $value, $id, $use_prefix, $url); + } + + /** + * Alias for set_parameter_value + * @param string $key + * @param mixed $value + * @param mixed $id + */ + function set_param($key, $value, $id=NULL, $use_prefix=FALSE, $url=FALSE) + { + return $this->object->set_parameter_value($key, $value, $id, $use_prefix=FALSE, $url); + } + + /** + * Gets a parameter's value + * @param string $key + * @param mixed $id + * @param mixed $default + * @return mixed + */ + function get_parameter_value($key, $id=NULL, $default=NULL, $url=FALSE) + { + return $this->object->get_parameter($key, $id, $default, FALSE, $url); + } + + /** + * Gets a parameter's matching URI segment + * @param string $key + * @param mixed $id + * @param mixed $default + * @return mixed + */ + function get_parameter_segment($key, $id=NULL, $url=FALSE) + { + return $this->object->get_parameter($key, $id, NULL, TRUE, $url); + } + + /** + * Gets sources used for parsing and extracting parameters + * @return array + */ + function get_parameter_sources() + { + return array( + 'querystring' => $this->object->get_formatted_querystring(), + 'request_uri' => $this->object->get_app_request_uri(), + 'postdata' => $this->object->get_postdata() + ); + } + + function get_postdata() + { + $retval = '/' . urldecode(file_get_contents("php://input")); + $settings = $this->object->_settings; + $retval = str_replace( + array('&', '='), + array('/', $settings->router_param_separator), + $retval + ); + + return $retval; + } + + + function get_formatted_querystring() + { + $retval = '/'.$this->object->get_router()->get_querystring(); + $settings = $this->object->_settings; + $retval = str_replace( + array('&', '='), + array('/', $settings->router_param_separator), + $retval + ); + + return $retval; + } + + function has_parameter_segments() + { + $retval = FALSE; + $settings = $this->object->_settings; + $request_uri = $this->object->get_app_request_uri(); + $sep = preg_quote($settings->router_param_separator,'#'); + + // If we detect the MVC_PARAM_SLUG, then we assume that we have parameters + if ($settings->router_param_slug && strpos($request_uri, '/'.$settings->router_param_slug) !== FALSE) { + $retval = TRUE; + } + + // If the above didn't pass, then we try finding parameters in our + // desired format + if (!$retval) { + $regex = implode('', array( + '#', + $settings->router_param_slug ? '/'.preg_quote($settings->router_param_slug,'#').'/?' : '', + "(/?([^/]+{$sep})?[^/]+{$sep}[^/]+/?){0,}", + '$#' + )); + $retval = preg_match($regex, $request_uri); + } + + return $retval; + } + + /** + * Recursively calls stripslashes() on strings, arrays, and objects + * + * @param mixed $value Value to be processed + * @return mixed Resulting value + */ + function recursive_stripslashes($value) + { + if (is_string($value)) + { + $value = stripslashes($value); + } + elseif (is_array($value)) { + foreach ($value as &$tmp) { + $tmp = $this->object->recursive_stripslashes($tmp); + } + } + elseif (is_object($value)) + { + foreach (get_object_vars($value) as $key => $data) { + $value->{$key} = recursive_stripslashes($data); + } + } + + return $value; + } +} + +class C_Routing_App extends C_Component +{ + static $_instances = array(); + var $_request_uri = FALSE; + var $_settings = null; + + function define($context= FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Url_Manipulation'); + $this->add_mixin('Mixin_Routing_App'); + $this->implement('I_Routing_App'); + } + + function initialize() + { + parent::initialize(); + $this->_settings = $this->object->get_routing_settings(); + } + + function get_routing_settings() + { + $settings = C_NextGen_Settings::get_instance(); + $object = new stdClass(); + $object->router_param_separator = $settings->router_param_separator; + $object->router_param_slug = $settings->router_param_slug; + $object->router_param_prefix = $settings->router_param_prefix; + + return $object; + } + + static function &get_instance($context = False) + { + if (!isset(self::$_instances[$context])) { + self::$_instances[$context] = new C_Routing_App($context); + } + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.http_response.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.http_response.php new file mode 100644 index 000000000..880d2a0fc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.http_response.php @@ -0,0 +1,7 @@ +<?php + +interface I_Http_Response +{ + function http_301_action(); + function http_302_action(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.router.php new file mode 100644 index 000000000..94f5a10fc --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.router.php @@ -0,0 +1,8 @@ +<?php + +interface I_Router +{ + function serve_request(); + + static function get_instance(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.routing_app.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.routing_app.php new file mode 100644 index 000000000..f42984f08 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/interface.routing_app.php @@ -0,0 +1,6 @@ +<?php + +interface I_Routing_App +{ + function passthru(); +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/mixin.url_manipulation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/mixin.url_manipulation.php new file mode 100644 index 000000000..97522f7fb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/mixin.url_manipulation.php @@ -0,0 +1,180 @@ +<?php + +class Mixin_Url_Manipulation extends Mixin +{ + function join_paths() + { + $args = func_get_args(); + return $this->get_registry()->get_utility('I_Fs')->join_paths($args); + } + + /** + * Removes a segment from a url + * @param string $segment + * @param string $url + * @return string + */ + function remove_url_segment($segment, $url) + { + $retval = $url; + $parts = parse_url($url); + + // If the url has a path, then we can remove a segment + if (isset($parts['path'])) { + if (substr($segment, -1) == '/') $segment = substr($segment, -1); + $segment = preg_quote($segment, '#'); + if (preg_match("#{$segment}#", $parts['path'], $matches)) { + $parts['path'] = str_replace( + '//', + '/', + str_replace($matches[0], '', $parts['path']) + ); + $retval = $this->object->construct_url_from_parts($parts); + } + } + return $retval; + } + + + /** + * Flattens an array of arrays to a single array + * @param array $array + * @param array $parent (optional) + * @param bool $exclude_duplicates (optional - defaults to TRUE) + * @return array + */ + function _flatten_array($array, $parent=NULL, $exclude_duplicates=TRUE) + { + if (is_array($array)) { + + // We're to add each element to the parent array + if ($parent) { + foreach ($array as $index => $element) { + foreach ($this->_flatten_array($array) as $sub_element) { + if ($exclude_duplicates) { + if (!in_array($sub_element, $parent)) { + $parent[] = $sub_element; + } + } + else $parent[] = $sub_element; + } + } + $array = $parent; + } + + // We're starting the process.. + else { + $index = 0; + while (isset($array[$index])) { + $element = $array[$index]; + if (is_array($element)) { + $array = $this->_flatten_array($element, $array); + unset($array[$index]); + } + $index += 1; + } + $array = array_values($array); + } + } + else { + $array = array($array); + } + + return $array; + } + + + function join_querystrings() + { + $parts = array(); + $retval = array(); + $params = func_get_args(); + $parts = $this->_flatten_array($params); + foreach ($parts as $part) { + $part = explode("&", $part); + foreach ($part as $segment) { + $segment = explode("=", $segment); + $key = $segment[0]; + $value = isset($segment[1]) ? $segment[1] : ''; + $retval[$key] = $value; + + } + } + return $this->object->assoc_array_to_querystring($retval); + } + + function assoc_array_to_querystring($arr) + { + $retval = array(); + foreach ($arr as $key => $val) { + if (strlen($key)) + $retval[] = strlen($val) ? "{$key}={$val}" : $key; + } + return implode("&", $retval); + } + + + /** + * Constructs a url from individual parts, created by parse_url + * @param array $parts + * @return string + */ + function construct_url_from_parts($parts) + { + // let relative paths be relative, and full paths full + $prefix = ''; + if (!empty($parts['scheme']) && !empty($parts['host'])) { + $prefix = $parts['scheme'] . '://' . $parts['host']; + if (!empty($parts['port'])) + $prefix .= ':' . $parts['port']; + } + + $retval = $this->object->join_paths( + $prefix, + isset($parts['path']) ? $parts['path'] : '' + ); + if (isset($parts['query']) && $parts['query']) $retval .= "?{$parts['query']}"; + + return $retval; + } + + function get_parameter_segments($request_uri) + { + return str_replace($this->strip_param_segments($request_uri), '', $request_uri); + } + + /** + * Returns the request uri with the parameter segments stripped + * @param string $request_uri + * @return string + */ + function strip_param_segments($request_uri, $remove_slug=TRUE) + { + $retval = $request_uri ? $request_uri : '/'; + $settings = C_NextGen_Settings::get_instance(); + $sep = preg_quote($settings->router_param_separator, '#'); + $param_regex = "#((?P<id>\w+){$sep})?(?<key>\w+){$sep}(?P<value>.+)/?$#"; + $slug = $settings->router_param_slug && $remove_slug ? '/' . preg_quote($settings->router_param_slug,'#') : ''; + $slug_regex = '#'.$slug.'/?$#'; + + // Remove all parameters + while (preg_match($param_regex, $retval, $matches)) { + $match_regex = '#'.preg_quote(array_shift($matches),'#').'$#'; + $retval = preg_replace($match_regex, '', $retval); + } + + // Remove the slug or trailing slash + if (preg_match($slug_regex, $retval, $matches)) { + $match_regex = '#'.preg_quote(array_shift($matches),'#').'$#'; + $retval = preg_replace($match_regex, '', $retval); + } + + // If there's a slug, we can assume everything after is a parameter, + // even if it's not in our desired format. + $retval = preg_replace('#'.$slug.'.*$#', '', $retval); + + if (!$retval) $retval = '/'; + + return $retval; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php new file mode 100644 index 000000000..f35c2c48b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/module.router.php @@ -0,0 +1,52 @@ +<?php +/* +{ + Module: photocrati-router, + Depends: { photocrati-fs } +} + */ +class M_Router extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-router', + 'Router for Pope', + 'Provides routing capabilities for Pope modules', + '0.4', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + include_once('class.router_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_Router_Installer'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Router', 'C_Router'); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Component_Factory', 'A_Routing_App_Factory'); + } + + function get_type_list() + { + return array( + 'C_Router_Installer' => 'class.router_installer.php', + 'A_Routing_App_Factory' => 'adapter.routing_app_factory.php', + 'C_Router' => 'class.router.php', + 'C_Http_Response_Controller' => 'class.http_response_controller.php', + 'C_Routing_App' => 'class.routing_app.php', + 'I_Router' => 'interface.router.php', + 'I_Http_Response' => 'interface.http_response.php', + 'I_Routing_App' => 'interface.routing_app.php', + 'Mixin_Url_Manipulation' => 'mixin.url_manipulation.php' + ); + } +} + +new M_Router; diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/README b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/README new file mode 100644 index 000000000..aaf6a0684 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/README @@ -0,0 +1,24 @@ +Example pseudo-code: + +$security = $this->get_registry()->get_utility('I_Security_Manager'); + + +// generating some kind of security-enabled request +$sec_token = $security->get_request_token('nextgen_edit_thumbnail', array('id' => 1)); + +$markup = '<form id="form-1" [...]>' . $sec_token->get_form_html(array('prefix' => 'form-1')) . '</form>'; + + +// somewhere else, in POST/GET handler +$sec_token = $security->get_request_token('nextgen_edit_thumbnail', array('id' => 1)); +$sec_actor = $security->get_current_actor(); + +if ($sec_token->check_current_request() && $sec_actor->is_allowed('nextgen_edit_thumbnail', array('id' => 1))) +{ + // proceed with action nextgen_edit_thumbnail +} +else +{ + // security error! +} + diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/adapter.security_factory.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/adapter.security_factory.php new file mode 100644 index 000000000..442f7fba4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/adapter.security_factory.php @@ -0,0 +1,29 @@ +<?php + +class A_Security_Factory extends Mixin +{ + function wordpress_security_manager($context=FALSE) + { + return new C_WordPress_Security_Manager($context); + } + + function security_manager($context=FALSE) + { + return $this->object->wordpress_security_manager($context); + } + + function wordpress_security_actor($context=FALSE) + { + return new C_WordPress_Security_Actor($context); + } + + function wordpress_security_token($context=FALSE) + { + return new C_Wordpress_Security_Token($context); + } + + function security_token($context) + { + return $this->object->wordpress_security_token($context); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_actor.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_actor.php new file mode 100644 index 000000000..b00ace6c0 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_actor.php @@ -0,0 +1,144 @@ +<?php + +class Mixin_Security_Actor extends Mixin +{ + function add_capability($capability_name) + { + return false; + } + + function remove_capability($capability_name) + { + return false; + } + + function is_allowed($capability_name, $args = null) + { + return false; + } + + function is_user() + { + return false; + } +} + +class Mixin_Security_Actor_Entity extends Mixin +{ + var $entity_object = null; + var $entity_props = null; + + // Note, an Actor with null $entity is considered a "Guest", i.e. no privileges + function set_entity($entity, $entity_props = null) + { + $this->object->entity_object = $entity; + $this->object->entity_props = $entity_props; + } + + function get_entity($entity = null) + { + if ($entity == null) + { + $entity = $this->object->entity_object; + } + + if ($entity != null && $entity == $this->object->entity_object) + { + return $entity; + } + + return null; + } + + function get_entity_id($entity = null) + { + $entity = $this->object->get_entity($entity); + + if ($entity != null) + { + $entity_props = $this->object->entity_props; + + if (isset($entity_props['id'])) + { + return $entity_props['id']; + } + } + + return null; + } + + function get_entity_type($entity = null) + { + $entity = $this->object->get_entity($entity); + + if ($entity != null) + { + $entity_props = $this->object->entity_props; + + if (isset($entity_props['type'])) + { + return $entity_props['type']; + } + } + + return null; + } +} + +// XXX not used yet +class Mixin_Security_Entity_List extends Mixin +{ + var $_entity_list; + + function add_entity($entity, $entity_props = null) + { + if (!$this->object->is_entity($entity)) + { + $entity_props = array_merge((array) $entity_props, array('object' => $entity)); + + $this->object->_entity_list[] = $entity_props; + } + } + + function remove_entity($entity) + { + if ($this->object->is_entity($entity)) + { + } + } + + function is_entity($entity) + { + return $this->object->get_entity_set($entity); + } + + function get_entity_set($entity) + { + foreach ($this->_entity_list as $entity_set) + { + + } + } + + function get_entity_id($entity) + { + + } + + function get_entity_type($entity) + { + + } +} + +class C_Security_Actor extends C_Component +{ + function define($context=FALSE) + { + parent::define($context); + + $this->implement('I_Security_Actor'); + $this->add_mixin('Mixin_Security_Actor'); + $this->add_mixin('Mixin_Security_Actor_Entity'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_manager.php new file mode 100644 index 000000000..50c4a3100 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_manager.php @@ -0,0 +1,58 @@ +<?php + +class Mixin_Security_Manager extends Mixin +{ + function is_allowed($capability_name, $args = null) + { + $actor = $this->object->get_current_actor(); + + if ($actor != null) + { + return $actor->is_allowed($capability_name, $args); + } + + return false; + } + + function get_actor($actor_id, $actor_type = null, $args = null) + { + return null; + } + + function get_current_actor() + { + return null; + } +} + +class Mixin_Security_Manager_Request extends Mixin +{ + function get_request_token($action_name, $args = null) + { + return null; + } +} + +class C_Security_Manager extends C_Component +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + + $this->implement('I_Security_Manager'); + $this->add_mixin('Mixin_Security_Manager'); + $this->add_mixin('Mixin_Security_Manager_Request'); + } + + static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Security_Manager($context); + } + + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_token.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_token.php new file mode 100644 index 000000000..980cf1666 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.security_token.php @@ -0,0 +1,68 @@ +<?php + +class Mixin_Security_Token extends Mixin +{ + function get_request_list($args = null) + { + return array(); + } + + function get_form_html($args = null) + { + return null; + } + + function check_request($request_values) + { + return false; + } + + function check_current_request() + { + return $this->object->check_request($_REQUEST); + } +} + +class Mixin_Security_Token_Property extends Mixin +{ + var $_action_name; + var $_args; + + function init_token($action_name, $args = null) + { + $this->object->_action_name = $action_name; + $this->object->_args = $args; + } + + function get_action_name() + { + return $this->object->_action_name; + } + + function get_property($name) + { + if (isset($this->object->_args[$name])) + { + return $this->object->_args[$name]; + } + + return null; + } + + function get_property_list() + { + return array_keys((array) $this->object->_args); + } +} + +class C_Security_Token extends C_Component +{ + function define($context=FALSE) + { + parent::define($context); + + $this->implement('I_Security_Token'); + $this->add_mixin('Mixin_Security_Token'); + $this->add_mixin('Mixin_Security_Token_Property'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_actor.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_actor.php new file mode 100644 index 000000000..6876e94f5 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_actor.php @@ -0,0 +1,138 @@ +<?php + +class Mixin_WordPress_Security_Actor extends Mixin +{ + function add_capability($capability_name) + { + $entity = $this->object->get_entity(); + + if ($entity != null) + { + $capability_name = $this->object->get_native_action($capability_name); + + $entity->add_cap($capability_name); + + return true; + } + + return false; + } + + function remove_capability($capability_name) + { + $entity = $this->object->get_entity(); + + if ($entity != null && $this->object->is_allowed($capability_name)) + { + $capability_name = $this->object->get_native_action($capability_name); + + $entity->remove_cap($capability_name); + + return true; + } + + return false; + } + + function is_allowed($capability_name, $args = null) + { + $entity = $this->object->get_entity(); + + if ($entity != null) + { + $capability_name = $this->object->get_native_action($capability_name, $args); + + return $entity->has_cap($capability_name); + } + + return false; + } + + function is_user() + { + return $this->object->get_entity_type() == 'user'; + } + + function get_native_action($capability_name, $args = null) + { + return $capability_name; + } +} + +class Mixin_WordPress_Security_Action_Converter extends Mixin +{ + function get_native_action($capability_name, $args = null) + { + switch ($capability_name) + { + case 'nextgen_edit_settings': + { + $capability_name = 'NextGEN Change options'; + + break; + } + case 'nextgen_edit_style': + { + $capability_name = 'NextGEN Change style'; + + break; + } + case 'nextgen_edit_display_settings': + { + $capability_name = 'NextGEN Change options'; + + break; + } + case 'nextgen_edit_displayed_gallery': + { + $capability_name = 'NextGEN Attach Interface'; + + break; + } + case 'nextgen_edit_gallery': + { + $capability_name = 'NextGEN Manage gallery'; + + break; + } + case 'nextgen_edit_gallery_unowned': + { + $capability_name = 'NextGEN Manage others gallery'; + + break; + } + case 'nextgen_upload_image': + { + $capability_name = 'NextGEN Upload images'; + + break; + } + case 'nextgen_edit_album_settings': + { + $capability_name = 'NextGEN Edit album settings'; + + break; + } + + case 'nextgen_edit_album': + { + $capability_name = 'NextGEN Edit album'; + + break; + } + } + + return $capability_name; + } +} + +class C_WordPress_Security_Actor extends C_Security_Actor +{ + function define($context=FALSE) + { + parent::define($context); + + $this->add_mixin('Mixin_WordPress_Security_Actor'); + $this->add_mixin('Mixin_WordPress_Security_Action_Converter'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_manager.php new file mode 100644 index 000000000..ce655d082 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_manager.php @@ -0,0 +1,113 @@ +<?php + +class Mixin_WordPress_Security_Manager extends Mixin +{ + function get_actor($actor_id, $actor_type = null, $args = null) + { + if ($actor_type == null) + { + $actor_type = 'user'; + } + + $object = null; + + if ($actor_id != null) + { + switch ($actor_type) + { + case 'user': + { + $object = get_userdata($actor_id); + + if ($object == false) + { + $object = null; + } + + break; + } + case 'role': + { + $object = get_role($actor_id); + + if ($object == false) + { + $object = null; + } + + break; + } + } + } + + if ($object != null) + { + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $actor = $factory->create('wordpress_security_actor', $actor_type); + $entity_props = array( + 'type' => $actor_type, + 'id' => $actor_id, + ); + + $actor->set_entity($object, $entity_props); + + return $actor; + } + + return $this->object->get_guest_actor(); + } + + function get_current_actor() + { + return $this->object->get_actor(get_current_user_id(), 'user'); + } + + function get_guest_actor() + { + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $actor = $factory->create('wordpress_security_actor', 'user'); + $entity_props = array( + 'type' => 'user' + ); + + $actor->set_entity(null, $entity_props); + + return $actor; + } +} + +class Mixin_WordPress_Security_Manager_Request extends Mixin +{ + function get_request_token($action_name, $args = null) + { + $factory = $this->get_registry()->get_utility('I_Component_Factory'); + $token = $factory->create('wordpress_security_token'); + $token->init_token($action_name, $args); + + return $token; + } +} + +class C_WordPress_Security_Manager extends C_Security_Manager +{ + static $_instances = array(); + + function define($context=FALSE) + { + parent::define($context); + + $this->add_mixin('Mixin_WordPress_Security_Manager'); + $this->add_mixin('Mixin_WordPress_Security_Manager_Request'); + } + + static function get_instance($context = False) + { + if (!isset(self::$_instances[$context])) + { + $klass = get_class(); + self::$_instances[$context] = new $klass($context); + } + + return self::$_instances[$context]; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_token.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_token.php new file mode 100644 index 000000000..520bff313 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/class.wordpress_security_token.php @@ -0,0 +1,100 @@ +<?php + +class Mixin_Wordpress_Security_Token extends Mixin +{ + function get_request_list($args = null) + { + $prefix = isset($args['prefix']) ? $args['prefix'] : null; + $action_name = $this->object->get_action_name(); + $list = array(); + + if ($prefix != null) + { + $list[$action_name . '_prefix'] = $prefix; + } + + $action = $this->object->get_nonce_name(); + $list[$prefix . $action_name . '_sec'] = wp_create_nonce($action); + + return $list; + } + + function get_form_html($args = null) + { + $list = $this->object->get_request_list($args); + $out = null; + + foreach ($list as $name => $value) + { + $out .= '<input type="hidden" name="' . esc_attr($name) . '" value="' . esc_attr($value) . '" />'; + } + + return $out; + } + + function get_json($args = null) + { + $list = $this->object->get_request_list($args); + + return json_encode($list); + } + + function check_request($request_values) + { + $action_name = $this->object->get_action_name(); + $action = $this->object->get_nonce_name(); + + $prefix = isset($request_values[$action_name . '_prefix']) ? $request_values[$action_name . '_prefix'] : null; + + if (isset($request_values[$prefix . $action_name . '_sec'])) + { + $nonce = $request_values[$prefix . $action_name . '_sec']; + + $result = wp_verify_nonce($nonce, $action); + + if ($result) + { + return true; + } + } + + return false; + } + + function get_nonce_name() + { + $action_name = $this->object->get_action_name(); + $prop_list = $this->object->get_property_list(); + + $action = $action_name; + + foreach ($prop_list as $prop_name) + { + $property = $this->object->get_property($prop_name); + $action .= '_' . strval($property); + } + + return $action; + } +} + +class Mixin_Wordpress_Security_Token_MVC extends Mixin +{ + function check_request($request_values) + { + // XXX check URL parameters passed with the MVC module + // + return $this->call_parent('check_request', $request_values); + } +} + +class C_Wordpress_Security_Token extends C_Security_Token +{ + function define($context=FALSE) + { + parent::define($context); + + $this->add_mixin('Mixin_Wordpress_Security_Token'); + $this->add_mixin('Mixin_Wordpress_Security_Token_MVC'); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_actor.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_actor.php new file mode 100644 index 000000000..ca55c61f6 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_actor.php @@ -0,0 +1,12 @@ +<?php + +interface I_Security_Actor +{ + function add_capability($capability_name); + + function remove_capability($capability_name); + + function is_allowed($capability_name, $args = null); + + function is_user(); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_manager.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_manager.php new file mode 100644 index 000000000..97f4067ca --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_manager.php @@ -0,0 +1,12 @@ +<?php + +interface I_Security_Manager +{ + function is_allowed($capability_name, $args = null); + + function get_actor($actor_id, $actor_type = null, $args = null); + + function get_current_actor(); + + function get_request_token($action_name, $args = null); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_token.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_token.php new file mode 100644 index 000000000..f0b75d0c7 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/interface.security_token.php @@ -0,0 +1,14 @@ +<?php + +interface I_Security_Token +{ + function get_request_list($args = null); + + function get_form_html($args = null); + + function get_json($args = null); + + function check_request($request_values); + + function check_current_request(); +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php new file mode 100644 index 000000000..65e6f71a3 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/security/module.security.php @@ -0,0 +1,52 @@ +<?php + +/*** + { + Module: photocrati-security + } + ***/ + +class M_Security extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-security', + 'Security', + 'Provides utilities to check for credentials and security', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Component_Factory', 'A_Security_Factory'); + } + + function _register_utilities() + { + $this->get_registry()->add_utility('I_Security_Manager', 'C_WordPress_Security_Manager'); + } + + function get_type_list() + { + return array( + 'A_Security_Factory' => 'adapter.security_factory.php', + 'C_Security_Actor' => 'class.security_actor.php', + 'C_Security_Manager' => 'class.security_manager.php', + 'C_Security_Token' => 'class.security_token.php', + 'C_Wordpress_Security_Actor' => 'class.wordpress_security_actor.php', + 'C_Wordpress_Security_Manager' => 'class.wordpress_security_manager.php', + 'C_Wordpress_Security_Token' => 'class.wordpress_security_token.php', + 'I_Security_Actor' => 'interface.security_actor.php', + 'I_Security_Manager' => 'interface.security_manager.php', + 'I_Security_Token' => 'interface.security_token.php' + ); + } + +} + +new M_Security(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/module.simple_html_dom.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/module.simple_html_dom.php new file mode 100644 index 000000000..f53b6a38c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/module.simple_html_dom.php @@ -0,0 +1,33 @@ +<?php + +/*** + { + Module: photocrati-simple_html_dom + } +***/ + +if (!function_exists(('file_get_html'))) require_once('simplehtmldom/simple_html_dom.php'); + +class M_Simple_Html_Dom extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-simple_html_dom', + 'Simple HTML Dom', + 'Provides the simple_html_dom utility for other modules to use', + '1.5', + 'http://www.photocrati.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function get_type_list() + { + return array( + ); + } +} + +new M_Simple_Html_Dom(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/simplehtmldom/simple_html_dom.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/simplehtmldom/simple_html_dom.php new file mode 100644 index 000000000..a92a94a46 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/simplehtmldom/simplehtmldom/simple_html_dom.php @@ -0,0 +1,1742 @@ +<?php +/** + * Website: http://sourceforge.net/projects/simplehtmldom/ + * Additional projects that may be used: http://sourceforge.net/projects/debugobject/ + * Acknowledge: Jose Solorzano (https://sourceforge.net/projects/php-html/) + * Contributions by: + * Yousuke Kumakura (Attribute filters) + * Vadim Voituk (Negative indexes supports of "find" method) + * Antcs (Constructor with automatically load contents either text or file/url) + * + * all affected sections have comments starting with "PaperG" + * + * Paperg - Added case insensitive testing of the value of the selector. + * Paperg - Added tag_start for the starting index of tags - NOTE: This works but not accurately. + * This tag_start gets counted AFTER \r\n have been crushed out, and after the remove_noice calls so it will not reflect the REAL position of the tag in the source, + * it will almost always be smaller by some amount. + * We use this to determine how far into the file the tag in question is. This "percentage will never be accurate as the $dom->size is the "real" number of bytes the dom was created from. + * but for most purposes, it's a really good estimation. + * Paperg - Added the forceTagsClosed to the dom constructor. Forcing tags closed is great for malformed html, but it CAN lead to parsing errors. + * Allow the user to tell us how much they trust the html. + * Paperg add the text and plaintext to the selectors for the find syntax. plaintext implies text in the innertext of a node. text implies that the tag is a text node. + * This allows for us to find tags based on the text they contain. + * Create find_ancestor_tag to see if a tag is - at any level - inside of another specific tag. + * Paperg: added parse_charset so that we know about the character set of the source document. + * NOTE: If the user's system has a routine called get_last_retrieve_url_contents_content_type availalbe, we will assume it's returning the content-type header from the + * last transfer or curl_exec, and we will parse that and use it in preference to any other method of charset detection. + * + * Found infinite loop in the case of broken html in restore_noise. Rewrote to protect from that. + * PaperG (John Schlick) Added get_display_size for "IMG" tags. + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @author S.C. Chen <me578022@gmail.com> + * @author John Schlick + * @author Rus Carroll + * @version 1.5 ($Rev: 208 $) + * @package PlaceLocalInclude + * @subpackage simple_html_dom + */ + +/** + * All of the Defines for the classes below. + * @author S.C. Chen <me578022@gmail.com> + */ +define('HDOM_TYPE_ELEMENT', 1); +define('HDOM_TYPE_COMMENT', 2); +define('HDOM_TYPE_TEXT', 3); +define('HDOM_TYPE_ENDTAG', 4); +define('HDOM_TYPE_ROOT', 5); +define('HDOM_TYPE_UNKNOWN', 6); +define('HDOM_QUOTE_DOUBLE', 0); +define('HDOM_QUOTE_SINGLE', 1); +define('HDOM_QUOTE_NO', 3); +define('HDOM_INFO_BEGIN', 0); +define('HDOM_INFO_END', 1); +define('HDOM_INFO_QUOTE', 2); +define('HDOM_INFO_SPACE', 3); +define('HDOM_INFO_TEXT', 4); +define('HDOM_INFO_INNER', 5); +define('HDOM_INFO_OUTER', 6); +define('HDOM_INFO_ENDSPACE',7); +define('DEFAULT_TARGET_CHARSET', 'UTF-8'); +define('DEFAULT_BR_TEXT', "\r\n"); +define('DEFAULT_SPAN_TEXT', " "); +define('MAX_FILE_SIZE', 600000); +// helper functions +// ----------------------------------------------------------------------------- +// get html dom from file +// $maxlen is defined in the code as PHP_STREAM_COPY_ALL which is defined as -1. +function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT) +{ + // We DO force the tags to be terminated. + $dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText); + // For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done. + $contents = file_get_contents($url, $use_include_path, $context, $offset); + // Paperg - use our own mechanism for getting the contents as we want to control the timeout. + //$contents = retrieve_url_contents($url); + if (empty($contents) || strlen($contents) > MAX_FILE_SIZE) + { + return false; + } + // The second parameter can force the selectors to all be lowercase. + $dom->load($contents, $lowercase, $stripRN); + return $dom; +} + +// get html dom from string +function str_get_html($str, $lowercase=true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT) +{ + $dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText); + if (empty($str) || strlen($str) > MAX_FILE_SIZE) + { + $dom->clear(); + return false; + } + $dom->load($str, $lowercase, $stripRN); + return $dom; +} + +// dump html dom tree +function dump_html_tree($node, $show_attr=true, $deep=0) +{ + $node->dump($node); +} + + +/** + * simple html dom node + * PaperG - added ability for "find" routine to lowercase the value of the selector. + * PaperG - added $tag_start to track the start position of the tag in the total byte index + * + * @package PlaceLocalInclude + */ +class simple_html_dom_node +{ + public $nodetype = HDOM_TYPE_TEXT; + public $tag = 'text'; + public $attr = array(); + public $children = array(); + public $nodes = array(); + public $parent = null; + // The "info" array - see HDOM_INFO_... for what each element contains. + public $_ = array(); + public $tag_start = 0; + private $dom = null; + + function __construct($dom) + { + $this->dom = $dom; + $dom->nodes[] = $this; + } + + function __destruct() + { + $this->clear(); + } + + function __toString() + { + return $this->outertext(); + } + + // clean up memory due to php5 circular references memory leak... + function clear() + { + $this->dom = null; + $this->nodes = null; + $this->parent = null; + $this->children = null; + } + + // dump node's tree + function dump($show_attr=true, $deep=0) + { + $lead = str_repeat(' ', $deep); + + echo $lead.$this->tag; + if ($show_attr && count($this->attr)>0) + { + echo '('; + foreach ($this->attr as $k=>$v) + echo "[$k]=>\"".$this->$k.'", '; + echo ')'; + } + echo "\n"; + + if ($this->nodes) + { + foreach ($this->nodes as $c) + { + $c->dump($show_attr, $deep+1); + } + } + } + + + // Debugging function to dump a single dom node with a bunch of information about it. + function dump_node($echo=true) + { + + $string = $this->tag; + if (count($this->attr)>0) + { + $string .= '('; + foreach ($this->attr as $k=>$v) + { + $string .= "[$k]=>\"".$this->$k.'", '; + } + $string .= ')'; + } + if (count($this->_)>0) + { + $string .= ' $_ ('; + foreach ($this->_ as $k=>$v) + { + if (is_array($v)) + { + $string .= "[$k]=>("; + foreach ($v as $k2=>$v2) + { + $string .= "[$k2]=>\"".$v2.'", '; + } + $string .= ")"; + } else { + $string .= "[$k]=>\"".$v.'", '; + } + } + $string .= ")"; + } + + if (isset($this->text)) + { + $string .= " text: (" . $this->text . ")"; + } + + $string .= " HDOM_INNER_INFO: '"; + if (isset($node->_[HDOM_INFO_INNER])) + { + $string .= $node->_[HDOM_INFO_INNER] . "'"; + } + else + { + $string .= ' NULL '; + } + + $string .= " children: " . count($this->children); + $string .= " nodes: " . count($this->nodes); + $string .= " tag_start: " . $this->tag_start; + $string .= "\n"; + + if ($echo) + { + echo $string; + return; + } + else + { + return $string; + } + } + + // returns the parent of node + // If a node is passed in, it will reset the parent of the current node to that one. + function parent($parent=null) + { + // I am SURE that this doesn't work properly. + // It fails to unset the current node from it's current parents nodes or children list first. + if ($parent !== null) + { + $this->parent = $parent; + $this->parent->nodes[] = $this; + $this->parent->children[] = $this; + } + + return $this->parent; + } + + // verify that node has children + function has_child() + { + return !empty($this->children); + } + + // returns children of node + function children($idx=-1) + { + if ($idx===-1) + { + return $this->children; + } + if (isset($this->children[$idx])) + { + return $this->children[$idx]; + } + return null; + } + + // returns the first child of node + function first_child() + { + if (count($this->children)>0) + { + return $this->children[0]; + } + return null; + } + + // returns the last child of node + function last_child() + { + if (($count=count($this->children))>0) + { + return $this->children[$count-1]; + } + return null; + } + + // returns the next sibling of node + function next_sibling() + { + if ($this->parent===null) + { + return null; + } + + $idx = 0; + $count = count($this->parent->children); + while ($idx<$count && $this!==$this->parent->children[$idx]) + { + ++$idx; + } + if (++$idx>=$count) + { + return null; + } + return $this->parent->children[$idx]; + } + + // returns the previous sibling of node + function prev_sibling() + { + if ($this->parent===null) return null; + $idx = 0; + $count = count($this->parent->children); + while ($idx<$count && $this!==$this->parent->children[$idx]) + ++$idx; + if (--$idx<0) return null; + return $this->parent->children[$idx]; + } + + // function to locate a specific ancestor tag in the path to the root. + function find_ancestor_tag($tag) + { + global $debug_object; + if (is_object($debug_object)) { $debug_object->debug_log_entry(1); } + + // Start by including ourselves in the comparison. + $returnDom = $this; + + while (!is_null($returnDom)) + { + if (is_object($debug_object)) { $debug_object->debug_log(2, "Current tag is: " . $returnDom->tag); } + + if ($returnDom->tag == $tag) + { + break; + } + $returnDom = $returnDom->parent; + } + return $returnDom; + } + + // get dom node's inner html + function innertext() + { + if (isset($this->_[HDOM_INFO_INNER])) return $this->_[HDOM_INFO_INNER]; + if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); + + $ret = ''; + foreach ($this->nodes as $n) + $ret .= $n->outertext(); + return $ret; + } + + // get dom node's outer text (with tag) + function outertext() + { + global $debug_object; + if (is_object($debug_object)) + { + $text = ''; + if ($this->tag == 'text') + { + if (!empty($this->text)) + { + $text = " with text: " . $this->text; + } + } + $debug_object->debug_log(1, 'Innertext of tag: ' . $this->tag . $text); + } + + if ($this->tag==='root') return $this->innertext(); + + // trigger callback + if ($this->dom && $this->dom->callback!==null) + { + call_user_func_array($this->dom->callback, array($this)); + } + + if (isset($this->_[HDOM_INFO_OUTER])) return $this->_[HDOM_INFO_OUTER]; + if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); + + // render begin tag + if ($this->dom && $this->dom->nodes[$this->_[HDOM_INFO_BEGIN]]) + { + $ret = $this->dom->nodes[$this->_[HDOM_INFO_BEGIN]]->makeup(); + } else { + $ret = ""; + } + + // render inner text + if (isset($this->_[HDOM_INFO_INNER])) + { + // If it's a br tag... don't return the HDOM_INNER_INFO that we may or may not have added. + if ($this->tag != "br") + { + $ret .= $this->_[HDOM_INFO_INNER]; + } + } else { + if ($this->nodes) + { + foreach ($this->nodes as $n) + { + $ret .= $this->convert_text($n->outertext()); + } + } + } + + // render end tag + if (isset($this->_[HDOM_INFO_END]) && $this->_[HDOM_INFO_END]!=0) + $ret .= '</'.$this->tag.'>'; + return $ret; + } + + // get dom node's plain text + function text() + { + if (isset($this->_[HDOM_INFO_INNER])) return $this->_[HDOM_INFO_INNER]; + switch ($this->nodetype) + { + case HDOM_TYPE_TEXT: return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); + case HDOM_TYPE_COMMENT: return ''; + case HDOM_TYPE_UNKNOWN: return ''; + } + if (strcasecmp($this->tag, 'script')===0) return ''; + if (strcasecmp($this->tag, 'style')===0) return ''; + + $ret = ''; + // In rare cases, (always node type 1 or HDOM_TYPE_ELEMENT - observed for some span tags, and some p tags) $this->nodes is set to NULL. + // NOTE: This indicates that there is a problem where it's set to NULL without a clear happening. + // WHY is this happening? + if (!is_null($this->nodes)) + { + foreach ($this->nodes as $n) + { + $ret .= $this->convert_text($n->text()); + } + + // If this node is a span... add a space at the end of it so multiple spans don't run into each other. This is plaintext after all. + if ($this->tag == "span") + { + $ret .= $this->dom->default_span_text; + } + + + } + return $ret; + } + + function xmltext() + { + $ret = $this->innertext(); + $ret = str_ireplace('<![CDATA[', '', $ret); + $ret = str_replace(']]>', '', $ret); + return $ret; + } + + // build node's text with tag + function makeup() + { + // text, comment, unknown + if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]); + + $ret = '<'.$this->tag; + $i = -1; + + foreach ($this->attr as $key=>$val) + { + ++$i; + + // skip removed attribute + if ($val===null || $val===false) + continue; + + $ret .= $this->_[HDOM_INFO_SPACE][$i][0]; + //no value attr: nowrap, checked selected... + if ($val===true) + $ret .= $key; + else { + switch ($this->_[HDOM_INFO_QUOTE][$i]) + { + case HDOM_QUOTE_DOUBLE: $quote = '"'; break; + case HDOM_QUOTE_SINGLE: $quote = '\''; break; + default: $quote = ''; + } + $ret .= $key.$this->_[HDOM_INFO_SPACE][$i][1].'='.$this->_[HDOM_INFO_SPACE][$i][2].$quote.$val.$quote; + } + } + $ret = $this->dom->restore_noise($ret); + return $ret . $this->_[HDOM_INFO_ENDSPACE] . '>'; + } + + // find elements by css selector + //PaperG - added ability for find to lowercase the value of the selector. + function find($selector, $idx=null, $lowercase=false) + { + $selectors = $this->parse_selector($selector); + if (($count=count($selectors))===0) return array(); + $found_keys = array(); + + // find each selector + for ($c=0; $c<$count; ++$c) + { + // The change on the below line was documented on the sourceforge code tracker id 2788009 + // used to be: if (($levle=count($selectors[0]))===0) return array(); + if (($levle=count($selectors[$c]))===0) return array(); + if (!isset($this->_[HDOM_INFO_BEGIN])) return array(); + + $head = array($this->_[HDOM_INFO_BEGIN]=>1); + + // handle descendant selectors, no recursive! + for ($l=0; $l<$levle; ++$l) + { + $ret = array(); + foreach ($head as $k=>$v) + { + $n = ($k===-1) ? $this->dom->root : $this->dom->nodes[$k]; + //PaperG - Pass this optional parameter on to the seek function. + $n->seek($selectors[$c][$l], $ret, $lowercase); + } + $head = $ret; + } + + foreach ($head as $k=>$v) + { + if (!isset($found_keys[$k])) + { + $found_keys[$k] = 1; + } + } + } + + // sort keys + ksort($found_keys); + + $found = array(); + foreach ($found_keys as $k=>$v) + $found[] = $this->dom->nodes[$k]; + + // return nth-element or array + if (is_null($idx)) return $found; + else if ($idx<0) $idx = count($found) + $idx; + return (isset($found[$idx])) ? $found[$idx] : null; + } + + // seek for given conditions + // PaperG - added parameter to allow for case insensitive testing of the value of a selector. + protected function seek($selector, &$ret, $lowercase=false) + { + global $debug_object; + if (is_object($debug_object)) { $debug_object->debug_log_entry(1); } + + list($tag, $key, $val, $exp, $no_key) = $selector; + + // xpath index + if ($tag && $key && is_numeric($key)) + { + $count = 0; + foreach ($this->children as $c) + { + if ($tag==='*' || $tag===$c->tag) { + if (++$count==$key) { + $ret[$c->_[HDOM_INFO_BEGIN]] = 1; + return; + } + } + } + return; + } + + $end = (!empty($this->_[HDOM_INFO_END])) ? $this->_[HDOM_INFO_END] : 0; + if ($end==0) { + $parent = $this->parent; + while (!isset($parent->_[HDOM_INFO_END]) && $parent!==null) { + $end -= 1; + $parent = $parent->parent; + } + $end += $parent->_[HDOM_INFO_END]; + } + + for ($i=$this->_[HDOM_INFO_BEGIN]+1; $i<$end; ++$i) { + $node = $this->dom->nodes[$i]; + + $pass = true; + + if ($tag==='*' && !$key) { + if (in_array($node, $this->children, true)) + $ret[$i] = 1; + continue; + } + + // compare tag + if ($tag && $tag!=$node->tag && $tag!=='*') {$pass=false;} + // compare key + if ($pass && $key) { + if ($no_key) { + if (isset($node->attr[$key])) $pass=false; + } else { + if (($key != "plaintext") && !isset($node->attr[$key])) $pass=false; + } + } + // compare value + if ($pass && $key && $val && $val!=='*') { + // If they have told us that this is a "plaintext" search then we want the plaintext of the node - right? + if ($key == "plaintext") { + // $node->plaintext actually returns $node->text(); + $nodeKeyValue = $node->text(); + } else { + // this is a normal search, we want the value of that attribute of the tag. + $nodeKeyValue = $node->attr[$key]; + } + if (is_object($debug_object)) {$debug_object->debug_log(2, "testing node: " . $node->tag . " for attribute: " . $key . $exp . $val . " where nodes value is: " . $nodeKeyValue);} + + //PaperG - If lowercase is set, do a case insensitive test of the value of the selector. + if ($lowercase) { + $check = $this->match($exp, strtolower($val), strtolower($nodeKeyValue)); + } else { + $check = $this->match($exp, $val, $nodeKeyValue); + } + if (is_object($debug_object)) {$debug_object->debug_log(2, "after match: " . ($check ? "true" : "false"));} + + // handle multiple class + if (!$check && strcasecmp($key, 'class')===0) { + foreach (explode(' ',$node->attr[$key]) as $k) { + // Without this, there were cases where leading, trailing, or double spaces lead to our comparing blanks - bad form. + if (!empty($k)) { + if ($lowercase) { + $check = $this->match($exp, strtolower($val), strtolower($k)); + } else { + $check = $this->match($exp, $val, $k); + } + if ($check) break; + } + } + } + if (!$check) $pass = false; + } + if ($pass) $ret[$i] = 1; + unset($node); + } + // It's passed by reference so this is actually what this function returns. + if (is_object($debug_object)) {$debug_object->debug_log(1, "EXIT - ret: ", $ret);} + } + + protected function match($exp, $pattern, $value) { + global $debug_object; + if (is_object($debug_object)) {$debug_object->debug_log_entry(1);} + + switch ($exp) { + case '=': + return ($value===$pattern); + case '!=': + return ($value!==$pattern); + case '^=': + return preg_match("/^".preg_quote($pattern,'/')."/", $value); + case '$=': + return preg_match("/".preg_quote($pattern,'/')."$/", $value); + case '*=': + if ($pattern[0]=='/') { + return preg_match($pattern, $value); + } + return preg_match("/".$pattern."/i", $value); + } + return false; + } + + protected function parse_selector($selector_string) { + global $debug_object; + if (is_object($debug_object)) {$debug_object->debug_log_entry(1);} + + // pattern of CSS selectors, modified from mootools + // Paperg: Add the colon to the attrbute, so that it properly finds <tag attr:ibute="something" > like google does. + // Note: if you try to look at this attribute, yo MUST use getAttribute since $dom->x:y will fail the php syntax check. +// Notice the \[ starting the attbute? and the @? following? This implies that an attribute can begin with an @ sign that is not captured. +// This implies that an html attribute specifier may start with an @ sign that is NOT captured by the expression. +// farther study is required to determine of this should be documented or removed. +// $pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is"; + $pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-:]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is"; + preg_match_all($pattern, trim($selector_string).' ', $matches, PREG_SET_ORDER); + if (is_object($debug_object)) {$debug_object->debug_log(2, "Matches Array: ", $matches);} + + $selectors = array(); + $result = array(); + //print_r($matches); + + foreach ($matches as $m) { + $m[0] = trim($m[0]); + if ($m[0]==='' || $m[0]==='/' || $m[0]==='//') continue; + // for browser generated xpath + if ($m[1]==='tbody') continue; + + list($tag, $key, $val, $exp, $no_key) = array($m[1], null, null, '=', false); + if (!empty($m[2])) {$key='id'; $val=$m[2];} + if (!empty($m[3])) {$key='class'; $val=$m[3];} + if (!empty($m[4])) {$key=$m[4];} + if (!empty($m[5])) {$exp=$m[5];} + if (!empty($m[6])) {$val=$m[6];} + + // convert to lowercase + if ($this->dom->lowercase) {$tag=strtolower($tag); $key=strtolower($key);} + //elements that do NOT have the specified attribute + if (isset($key[0]) && $key[0]==='!') {$key=substr($key, 1); $no_key=true;} + + $result[] = array($tag, $key, $val, $exp, $no_key); + if (trim($m[7])===',') { + $selectors[] = $result; + $result = array(); + } + } + if (count($result)>0) + $selectors[] = $result; + return $selectors; + } + + function __get($name) + { + if (isset($this->attr[$name])) + { + return $this->convert_text($this->attr[$name]); + } + switch ($name) + { + case 'outertext': return $this->outertext(); + case 'innertext': return $this->innertext(); + case 'plaintext': return $this->text(); + case 'xmltext': return $this->xmltext(); + default: return array_key_exists($name, $this->attr); + } + } + + function __set($name, $value) + { + global $debug_object; + if (is_object($debug_object)) {$debug_object->debug_log_entry(1);} + + switch ($name) + { + case 'outertext': return $this->_[HDOM_INFO_OUTER] = $value; + case 'innertext': + if (isset($this->_[HDOM_INFO_TEXT])) return $this->_[HDOM_INFO_TEXT] = $value; + return $this->_[HDOM_INFO_INNER] = $value; + } + if (!isset($this->attr[$name])) + { + $this->_[HDOM_INFO_SPACE][] = array(' ', '', ''); + $this->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_DOUBLE; + } + $this->attr[$name] = $value; + } + + function __isset($name) + { + switch ($name) + { + case 'outertext': return true; + case 'innertext': return true; + case 'plaintext': return true; + } + //no value attr: nowrap, checked selected... + return (array_key_exists($name, $this->attr)) ? true : isset($this->attr[$name]); + } + + function __unset($name) { + if (isset($this->attr[$name])) + unset($this->attr[$name]); + } + + // PaperG - Function to convert the text from one character set to another if the two sets are not the same. + function convert_text($text) + { + global $debug_object; + if (is_object($debug_object)) {$debug_object->debug_log_entry(1);} + + $converted_text = $text; + + $sourceCharset = ""; + $targetCharset = ""; + + if ($this->dom) + { + $sourceCharset = strtoupper($this->dom->_charset); + $targetCharset = strtoupper($this->dom->_target_charset); + } + if (is_object($debug_object)) {$debug_object->debug_log(3, "source charset: " . $sourceCharset . " target charaset: " . $targetCharset);} + + if (!empty($sourceCharset) && !empty($targetCharset) && (strcasecmp($sourceCharset, $targetCharset) != 0)) + { + // Check if the reported encoding could have been incorrect and the text is actually already UTF-8 + if ((strcasecmp($targetCharset, 'UTF-8') == 0) && ($this->is_utf8($text))) + { + $converted_text = $text; + } + else + { + $converted_text = iconv($sourceCharset, $targetCharset, $text); + } + } + + // Lets make sure that we don't have that silly BOM issue with any of the utf-8 text we output. + if ($targetCharset == 'UTF-8') + { + if (substr($converted_text, 0, 3) == "\xef\xbb\xbf") + { + $converted_text = substr($converted_text, 3); + } + if (substr($converted_text, -3) == "\xef\xbb\xbf") + { + $converted_text = substr($converted_text, 0, -3); + } + } + + return $converted_text; + } + + /** + * Returns true if $string is valid UTF-8 and false otherwise. + * + * @param mixed $str String to be tested + * @return boolean + */ + static function is_utf8($str) + { + $c=0; $b=0; + $bits=0; + $len=strlen($str); + for($i=0; $i<$len; $i++) + { + $c=ord($str[$i]); + if($c > 128) + { + if(($c >= 254)) return false; + elseif($c >= 252) $bits=6; + elseif($c >= 248) $bits=5; + elseif($c >= 240) $bits=4; + elseif($c >= 224) $bits=3; + elseif($c >= 192) $bits=2; + else return false; + if(($i+$bits) > $len) return false; + while($bits > 1) + { + $i++; + $b=ord($str[$i]); + if($b < 128 || $b > 191) return false; + $bits--; + } + } + } + return true; + } + /* + function is_utf8($string) + { + //this is buggy + return (utf8_encode(utf8_decode($string)) == $string); + } + */ + + /** + * Function to try a few tricks to determine the displayed size of an img on the page. + * NOTE: This will ONLY work on an IMG tag. Returns FALSE on all other tag types. + * + * @author John Schlick + * @version April 19 2012 + * @return array an array containing the 'height' and 'width' of the image on the page or -1 if we can't figure it out. + */ + function get_display_size() + { + global $debug_object; + + $width = -1; + $height = -1; + + if ($this->tag !== 'img') + { + return false; + } + + // See if there is aheight or width attribute in the tag itself. + if (isset($this->attr['width'])) + { + $width = $this->attr['width']; + } + + if (isset($this->attr['height'])) + { + $height = $this->attr['height']; + } + + // Now look for an inline style. + if (isset($this->attr['style'])) + { + // Thanks to user gnarf from stackoverflow for this regular expression. + $attributes = array(); + preg_match_all("/([\w-]+)\s*:\s*([^;]+)\s*;?/", $this->attr['style'], $matches, PREG_SET_ORDER); + foreach ($matches as $match) { + $attributes[$match[1]] = $match[2]; + } + + // If there is a width in the style attributes: + if (isset($attributes['width']) && $width == -1) + { + // check that the last two characters are px (pixels) + if (strtolower(substr($attributes['width'], -2)) == 'px') + { + $proposed_width = substr($attributes['width'], 0, -2); + // Now make sure that it's an integer and not something stupid. + if (filter_var($proposed_width, FILTER_VALIDATE_INT)) + { + $width = $proposed_width; + } + } + } + + // If there is a width in the style attributes: + if (isset($attributes['height']) && $height == -1) + { + // check that the last two characters are px (pixels) + if (strtolower(substr($attributes['height'], -2)) == 'px') + { + $proposed_height = substr($attributes['height'], 0, -2); + // Now make sure that it's an integer and not something stupid. + if (filter_var($proposed_height, FILTER_VALIDATE_INT)) + { + $height = $proposed_height; + } + } + } + + } + + // Future enhancement: + // Look in the tag to see if there is a class or id specified that has a height or width attribute to it. + + // Far future enhancement + // Look at all the parent tags of this image to see if they specify a class or id that has an img selector that specifies a height or width + // Note that in this case, the class or id will have the img subselector for it to apply to the image. + + // ridiculously far future development + // If the class or id is specified in a SEPARATE css file thats not on the page, go get it and do what we were just doing for the ones on the page. + + $result = array('height' => $height, + 'width' => $width); + return $result; + } + + // camel naming conventions + function getAllAttributes() {return $this->attr;} + function getAttribute($name) {return $this->__get($name);} + function setAttribute($name, $value) {$this->__set($name, $value);} + function hasAttribute($name) {return $this->__isset($name);} + function removeAttribute($name) {$this->__set($name, null);} + function getElementById($id) {return $this->find("#$id", 0);} + function getElementsById($id, $idx=null) {return $this->find("#$id", $idx);} + function getElementByTagName($name) {return $this->find($name, 0);} + function getElementsByTagName($name, $idx=null) {return $this->find($name, $idx);} + function parentNode() {return $this->parent();} + function childNodes($idx=-1) {return $this->children($idx);} + function firstChild() {return $this->first_child();} + function lastChild() {return $this->last_child();} + function nextSibling() {return $this->next_sibling();} + function previousSibling() {return $this->prev_sibling();} + function hasChildNodes() {return $this->has_child();} + function nodeName() {return $this->tag;} + function appendChild($node) {$node->parent($this); return $node;} + +} + +/** + * simple html dom parser + * Paperg - in the find routine: allow us to specify that we want case insensitive testing of the value of the selector. + * Paperg - change $size from protected to public so we can easily access it + * Paperg - added ForceTagsClosed in the constructor which tells us whether we trust the html or not. Default is to NOT trust it. + * + * @package PlaceLocalInclude + */ +class simple_html_dom +{ + public $root = null; + public $nodes = array(); + public $callback = null; + public $lowercase = false; + // Used to keep track of how large the text was when we started. + public $original_size; + public $size; + protected $pos; + protected $doc; + protected $char; + protected $cursor; + protected $parent; + protected $noise = array(); + protected $token_blank = " \t\r\n"; + protected $token_equal = ' =/>'; + protected $token_slash = " />\r\n\t"; + protected $token_attr = ' >'; + // Note that this is referenced by a child node, and so it needs to be public for that node to see this information. + public $_charset = ''; + public $_target_charset = ''; + protected $default_br_text = ""; + public $default_span_text = ""; + + // use isset instead of in_array, performance boost about 30%... + protected $self_closing_tags = array('img'=>1, 'br'=>1, 'input'=>1, 'meta'=>1, 'link'=>1, 'hr'=>1, 'base'=>1, 'embed'=>1, 'spacer'=>1); + protected $block_tags = array('root'=>1, 'body'=>1, 'form'=>1, 'div'=>1, 'span'=>1, 'table'=>1); + // Known sourceforge issue #2977341 + // B tags that are not closed cause us to return everything to the end of the document. + protected $optional_closing_tags = array( + 'tr'=>array('tr'=>1, 'td'=>1, 'th'=>1), + 'th'=>array('th'=>1), + 'td'=>array('td'=>1), + 'li'=>array('li'=>1), + 'dt'=>array('dt'=>1, 'dd'=>1), + 'dd'=>array('dd'=>1, 'dt'=>1), + 'dl'=>array('dd'=>1, 'dt'=>1), + 'p'=>array('p'=>1), + 'nobr'=>array('nobr'=>1), + 'b'=>array('b'=>1), + 'option'=>array('option'=>1), + ); + + function __construct($str=null, $lowercase=true, $forceTagsClosed=true, $target_charset=DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT) + { + if ($str) + { + if (preg_match("/^http:\/\//i",$str) || is_file($str)) + { + $this->load_file($str); + } + else + { + $this->load($str, $lowercase, $stripRN, $defaultBRText, $defaultSpanText); + } + } + // Forcing tags to be closed implies that we don't trust the html, but it can lead to parsing errors if we SHOULD trust the html. + if (!$forceTagsClosed) { + $this->optional_closing_array=array(); + } + $this->_target_charset = $target_charset; + } + + function __destruct() + { + $this->clear(); + } + + // load html from string + function load($str, $lowercase=true, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT) + { + global $debug_object; + + // prepare + $this->prepare($str, $lowercase, $stripRN, $defaultBRText, $defaultSpanText); + // strip out cdata + $this->remove_noise("'<!\[CDATA\[(.*?)\]\]>'is", true); + // strip out comments + $this->remove_noise("'<!--(.*?)-->'is"); + // Per sourceforge http://sourceforge.net/tracker/?func=detail&aid=2949097&group_id=218559&atid=1044037 + // Script tags removal now preceeds style tag removal. + // strip out <script> tags + $this->remove_noise("'<\s*script[^>]*[^/]>(.*?)<\s*/\s*script\s*>'is"); + $this->remove_noise("'<\s*script\s*>(.*?)<\s*/\s*script\s*>'is"); + // strip out <style> tags + $this->remove_noise("'<\s*style[^>]*[^/]>(.*?)<\s*/\s*style\s*>'is"); + $this->remove_noise("'<\s*style\s*>(.*?)<\s*/\s*style\s*>'is"); + // strip out preformatted tags + $this->remove_noise("'<\s*(?:code)[^>]*>(.*?)<\s*/\s*(?:code)\s*>'is"); + // strip out server side scripts + $this->remove_noise("'(<\?)(.*?)(\?>)'s", true); + // strip smarty scripts + $this->remove_noise("'(\{\w)(.*?)(\})'s", true); + + // parsing + while ($this->parse()); + // end + $this->root->_[HDOM_INFO_END] = $this->cursor; + $this->parse_charset(); + + // make load function chainable + return $this; + + } + + // load html from file + function load_file() + { + $args = func_get_args(); + $this->load(call_user_func_array('file_get_contents', $args), true); + // Throw an error if we can't properly load the dom. + if (($error=error_get_last())!==null) { + $this->clear(); + return false; + } + } + + // set callback function + function set_callback($function_name) + { + $this->callback = $function_name; + } + + // remove callback function + function remove_callback() + { + $this->callback = null; + } + + // save dom as string + function save($filepath='') + { + $ret = $this->root->innertext(); + if ($filepath!=='') file_put_contents($filepath, $ret, LOCK_EX); + return $ret; + } + + // find dom node by css selector + // Paperg - allow us to specify that we want case insensitive testing of the value of the selector. + function find($selector, $idx=null, $lowercase=false) + { + return $this->root->find($selector, $idx, $lowercase); + } + + // clean up memory due to php5 circular references memory leak... + function clear() + { + foreach ($this->nodes as $n) {$n->clear(); $n = null;} + // This add next line is documented in the sourceforge repository. 2977248 as a fix for ongoing memory leaks that occur even with the use of clear. + if (isset($this->children)) foreach ($this->children as $n) {$n->clear(); $n = null;} + if (isset($this->parent)) {$this->parent->clear(); unset($this->parent);} + if (isset($this->root)) {$this->root->clear(); unset($this->root);} + unset($this->doc); + unset($this->noise); + } + + function dump($show_attr=true) + { + $this->root->dump($show_attr); + } + + // prepare HTML data and init everything + protected function prepare($str, $lowercase=true, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT) + { + $this->clear(); + + // set the length of content before we do anything to it. + $this->size = strlen($str); + // Save the original size of the html that we got in. It might be useful to someone. + $this->original_size = $this->size; + + //before we save the string as the doc... strip out the \r \n's if we are told to. + if ($stripRN) { + $str = str_replace("\r", " ", $str); + $str = str_replace("\n", " ", $str); + + // set the length of content since we have changed it. + $this->size = strlen($str); + } + + $this->doc = $str; + $this->pos = 0; + $this->cursor = 1; + $this->noise = array(); + $this->nodes = array(); + $this->lowercase = $lowercase; + $this->default_br_text = $defaultBRText; + $this->default_span_text = $defaultSpanText; + $this->root = new simple_html_dom_node($this); + $this->root->tag = 'root'; + $this->root->_[HDOM_INFO_BEGIN] = -1; + $this->root->nodetype = HDOM_TYPE_ROOT; + $this->parent = $this->root; + if ($this->size>0) $this->char = $this->doc[0]; + } + + // parse html content + protected function parse() + { + if (($s = $this->copy_until_char('<'))==='') + { + return $this->read_tag(); + } + + // text + $node = new simple_html_dom_node($this); + ++$this->cursor; + $node->_[HDOM_INFO_TEXT] = $s; + $this->link_nodes($node, false); + return true; + } + + // PAPERG - dkchou - added this to try to identify the character set of the page we have just parsed so we know better how to spit it out later. + // NOTE: IF you provide a routine called get_last_retrieve_url_contents_content_type which returns the CURLINFO_CONTENT_TYPE from the last curl_exec + // (or the content_type header from the last transfer), we will parse THAT, and if a charset is specified, we will use it over any other mechanism. + protected function parse_charset() + { + global $debug_object; + + $charset = null; + + if (function_exists('get_last_retrieve_url_contents_content_type')) + { + $contentTypeHeader = get_last_retrieve_url_contents_content_type(); + $success = preg_match('/charset=(.+)/', $contentTypeHeader, $matches); + if ($success) + { + $charset = $matches[1]; + if (is_object($debug_object)) {$debug_object->debug_log(2, 'header content-type found charset of: ' . $charset);} + } + + } + + if (empty($charset)) + { + $el = $this->root->find('meta[http-equiv=Content-Type]',0); + if (!empty($el)) + { + $fullvalue = $el->content; + if (is_object($debug_object)) {$debug_object->debug_log(2, 'meta content-type tag found' . $fullvalue);} + + if (!empty($fullvalue)) + { + $success = preg_match('/charset=(.+)/', $fullvalue, $matches); + if ($success) + { + $charset = $matches[1]; + } + else + { + // If there is a meta tag, and they don't specify the character set, research says that it's typically ISO-8859-1 + if (is_object($debug_object)) {$debug_object->debug_log(2, 'meta content-type tag couldn\'t be parsed. using iso-8859 default.');} + $charset = 'ISO-8859-1'; + } + } + } + } + + // If we couldn't find a charset above, then lets try to detect one based on the text we got... + if (empty($charset)) + { + // Use this in case mb_detect_charset isn't installed/loaded on this machine. + $charset = false; + if (function_exists('mb_detect_encoding')) + { + // Have php try to detect the encoding from the text given to us. + $charset = mb_detect_encoding($this->root->plaintext . "ascii", $encoding_list = array( "UTF-8", "CP1252" ) ); + if (is_object($debug_object)) {$debug_object->debug_log(2, 'mb_detect found: ' . $charset);} + } + + // and if this doesn't work... then we need to just wrongheadedly assume it's UTF-8 so that we can move on - cause this will usually give us most of what we need... + if ($charset === false) + { + if (is_object($debug_object)) {$debug_object->debug_log(2, 'since mb_detect failed - using default of utf-8');} + $charset = 'UTF-8'; + } + } + + // Since CP1252 is a superset, if we get one of it's subsets, we want it instead. + if ((strtolower($charset) == strtolower('ISO-8859-1')) || (strtolower($charset) == strtolower('Latin1')) || (strtolower($charset) == strtolower('Latin-1'))) + { + if (is_object($debug_object)) {$debug_object->debug_log(2, 'replacing ' . $charset . ' with CP1252 as its a superset');} + $charset = 'CP1252'; + } + + if (is_object($debug_object)) {$debug_object->debug_log(1, 'EXIT - ' . $charset);} + + return $this->_charset = $charset; + } + + // read tag info + protected function read_tag() + { + if ($this->char!=='<') + { + $this->root->_[HDOM_INFO_END] = $this->cursor; + return false; + } + $begin_tag_pos = $this->pos; + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + + // end tag + if ($this->char==='/') + { + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + // This represents the change in the simple_html_dom trunk from revision 180 to 181. + // $this->skip($this->token_blank_t); + $this->skip($this->token_blank); + $tag = $this->copy_until_char('>'); + + // skip attributes in end tag + if (($pos = strpos($tag, ' '))!==false) + $tag = substr($tag, 0, $pos); + + $parent_lower = strtolower($this->parent->tag); + $tag_lower = strtolower($tag); + + if ($parent_lower!==$tag_lower) + { + if (isset($this->optional_closing_tags[$parent_lower]) && isset($this->block_tags[$tag_lower])) + { + $this->parent->_[HDOM_INFO_END] = 0; + $org_parent = $this->parent; + + while (($this->parent->parent) && strtolower($this->parent->tag)!==$tag_lower) + $this->parent = $this->parent->parent; + + if (strtolower($this->parent->tag)!==$tag_lower) { + $this->parent = $org_parent; // restore origonal parent + if ($this->parent->parent) $this->parent = $this->parent->parent; + $this->parent->_[HDOM_INFO_END] = $this->cursor; + return $this->as_text_node($tag); + } + } + else if (($this->parent->parent) && isset($this->block_tags[$tag_lower])) + { + $this->parent->_[HDOM_INFO_END] = 0; + $org_parent = $this->parent; + + while (($this->parent->parent) && strtolower($this->parent->tag)!==$tag_lower) + $this->parent = $this->parent->parent; + + if (strtolower($this->parent->tag)!==$tag_lower) + { + $this->parent = $org_parent; // restore origonal parent + $this->parent->_[HDOM_INFO_END] = $this->cursor; + return $this->as_text_node($tag); + } + } + else if (($this->parent->parent) && strtolower($this->parent->parent->tag)===$tag_lower) + { + $this->parent->_[HDOM_INFO_END] = 0; + $this->parent = $this->parent->parent; + } + else + return $this->as_text_node($tag); + } + + $this->parent->_[HDOM_INFO_END] = $this->cursor; + if ($this->parent->parent) $this->parent = $this->parent->parent; + + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + return true; + } + + $node = new simple_html_dom_node($this); + $node->_[HDOM_INFO_BEGIN] = $this->cursor; + ++$this->cursor; + $tag = $this->copy_until($this->token_slash); + $node->tag_start = $begin_tag_pos; + + // doctype, cdata & comments... + if (isset($tag[0]) && $tag[0]==='!') { + $node->_[HDOM_INFO_TEXT] = '<' . $tag . $this->copy_until_char('>'); + + if (isset($tag[2]) && $tag[1]==='-' && $tag[2]==='-') { + $node->nodetype = HDOM_TYPE_COMMENT; + $node->tag = 'comment'; + } else { + $node->nodetype = HDOM_TYPE_UNKNOWN; + $node->tag = 'unknown'; + } + if ($this->char==='>') $node->_[HDOM_INFO_TEXT].='>'; + $this->link_nodes($node, true); + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + return true; + } + + // text + if ($pos=strpos($tag, '<')!==false) { + $tag = '<' . substr($tag, 0, -1); + $node->_[HDOM_INFO_TEXT] = $tag; + $this->link_nodes($node, false); + $this->char = $this->doc[--$this->pos]; // prev + return true; + } + + if (!preg_match("/^[\w-:]+$/", $tag)) { + $node->_[HDOM_INFO_TEXT] = '<' . $tag . $this->copy_until('<>'); + if ($this->char==='<') { + $this->link_nodes($node, false); + return true; + } + + if ($this->char==='>') $node->_[HDOM_INFO_TEXT].='>'; + $this->link_nodes($node, false); + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + return true; + } + + // begin tag + $node->nodetype = HDOM_TYPE_ELEMENT; + $tag_lower = strtolower($tag); + $node->tag = ($this->lowercase) ? $tag_lower : $tag; + + // handle optional closing tags + if (isset($this->optional_closing_tags[$tag_lower]) ) + { + while (isset($this->optional_closing_tags[$tag_lower][strtolower($this->parent->tag)])) + { + $this->parent->_[HDOM_INFO_END] = 0; + $this->parent = $this->parent->parent; + } + $node->parent = $this->parent; + } + + $guard = 0; // prevent infinity loop + $space = array($this->copy_skip($this->token_blank), '', ''); + + // attributes + do + { + if ($this->char!==null && $space[0]==='') + { + break; + } + $name = $this->copy_until($this->token_equal); + if ($guard===$this->pos) + { + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + continue; + } + $guard = $this->pos; + + // handle endless '<' + if ($this->pos>=$this->size-1 && $this->char!=='>') { + $node->nodetype = HDOM_TYPE_TEXT; + $node->_[HDOM_INFO_END] = 0; + $node->_[HDOM_INFO_TEXT] = '<'.$tag . $space[0] . $name; + $node->tag = 'text'; + $this->link_nodes($node, false); + return true; + } + + // handle mismatch '<' + if ($this->doc[$this->pos-1]=='<') { + $node->nodetype = HDOM_TYPE_TEXT; + $node->tag = 'text'; + $node->attr = array(); + $node->_[HDOM_INFO_END] = 0; + $node->_[HDOM_INFO_TEXT] = substr($this->doc, $begin_tag_pos, $this->pos-$begin_tag_pos-1); + $this->pos -= 2; + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + $this->link_nodes($node, false); + return true; + } + + if ($name!=='/' && $name!=='') { + $space[1] = $this->copy_skip($this->token_blank); + $name = $this->restore_noise($name); + if ($this->lowercase) $name = strtolower($name); + if ($this->char==='=') { + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + $this->parse_attr($node, $name, $space); + } + else { + //no value attr: nowrap, checked selected... + $node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_NO; + $node->attr[$name] = true; + if ($this->char!='>') $this->char = $this->doc[--$this->pos]; // prev + } + $node->_[HDOM_INFO_SPACE][] = $space; + $space = array($this->copy_skip($this->token_blank), '', ''); + } + else + break; + } while ($this->char!=='>' && $this->char!=='/'); + + $this->link_nodes($node, true); + $node->_[HDOM_INFO_ENDSPACE] = $space[0]; + + // check self closing + if ($this->copy_until_char_escape('>')==='/') + { + $node->_[HDOM_INFO_ENDSPACE] .= '/'; + $node->_[HDOM_INFO_END] = 0; + } + else + { + // reset parent + if (!isset($this->self_closing_tags[strtolower($node->tag)])) $this->parent = $node; + } + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + + // If it's a BR tag, we need to set it's text to the default text. + // This way when we see it in plaintext, we can generate formatting that the user wants. + // since a br tag never has sub nodes, this works well. + if ($node->tag == "br") + { + $node->_[HDOM_INFO_INNER] = $this->default_br_text; + } + + return true; + } + + // parse attributes + protected function parse_attr($node, $name, &$space) + { + // Per sourceforge: http://sourceforge.net/tracker/?func=detail&aid=3061408&group_id=218559&atid=1044037 + // If the attribute is already defined inside a tag, only pay atetntion to the first one as opposed to the last one. + if (isset($node->attr[$name])) + { + return; + } + + $space[2] = $this->copy_skip($this->token_blank); + switch ($this->char) { + case '"': + $node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_DOUBLE; + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + $node->attr[$name] = $this->restore_noise($this->copy_until_char_escape('"')); + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + break; + case '\'': + $node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_SINGLE; + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + $node->attr[$name] = $this->restore_noise($this->copy_until_char_escape('\'')); + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + break; + default: + $node->_[HDOM_INFO_QUOTE][] = HDOM_QUOTE_NO; + $node->attr[$name] = $this->restore_noise($this->copy_until($this->token_attr)); + } + // PaperG: Attributes should not have \r or \n in them, that counts as html whitespace. + $node->attr[$name] = str_replace("\r", "", $node->attr[$name]); + $node->attr[$name] = str_replace("\n", "", $node->attr[$name]); + // PaperG: If this is a "class" selector, lets get rid of the preceeding and trailing space since some people leave it in the multi class case. + if ($name == "class") { + $node->attr[$name] = trim($node->attr[$name]); + } + } + + // link node's parent + protected function link_nodes(&$node, $is_child) + { + $node->parent = $this->parent; + $this->parent->nodes[] = $node; + if ($is_child) + { + $this->parent->children[] = $node; + } + } + + // as a text node + protected function as_text_node($tag) + { + $node = new simple_html_dom_node($this); + ++$this->cursor; + $node->_[HDOM_INFO_TEXT] = '</' . $tag . '>'; + $this->link_nodes($node, false); + $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + return true; + } + + protected function skip($chars) + { + $this->pos += strspn($this->doc, $chars, $this->pos); + $this->char = ($this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + } + + protected function copy_skip($chars) + { + $pos = $this->pos; + $len = strspn($this->doc, $chars, $pos); + $this->pos += $len; + $this->char = ($this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + if ($len===0) return ''; + return substr($this->doc, $pos, $len); + } + + protected function copy_until($chars) + { + $pos = $this->pos; + $len = strcspn($this->doc, $chars, $pos); + $this->pos += $len; + $this->char = ($this->pos<$this->size) ? $this->doc[$this->pos] : null; // next + return substr($this->doc, $pos, $len); + } + + protected function copy_until_char($char) + { + if ($this->char===null) return ''; + + if (($pos = strpos($this->doc, $char, $this->pos))===false) { + $ret = substr($this->doc, $this->pos, $this->size-$this->pos); + $this->char = null; + $this->pos = $this->size; + return $ret; + } + + if ($pos===$this->pos) return ''; + $pos_old = $this->pos; + $this->char = $this->doc[$pos]; + $this->pos = $pos; + return substr($this->doc, $pos_old, $pos-$pos_old); + } + + protected function copy_until_char_escape($char) + { + if ($this->char===null) return ''; + + $start = $this->pos; + while (1) + { + if (($pos = strpos($this->doc, $char, $start))===false) + { + $ret = substr($this->doc, $this->pos, $this->size-$this->pos); + $this->char = null; + $this->pos = $this->size; + return $ret; + } + + if ($pos===$this->pos) return ''; + + if ($this->doc[$pos-1]==='\\') { + $start = $pos+1; + continue; + } + + $pos_old = $this->pos; + $this->char = $this->doc[$pos]; + $this->pos = $pos; + return substr($this->doc, $pos_old, $pos-$pos_old); + } + } + + // remove noise from html content + // save the noise in the $this->noise array. + protected function remove_noise($pattern, $remove_tag=false) + { + global $debug_object; + if (is_object($debug_object)) { $debug_object->debug_log_entry(1); } + + $count = preg_match_all($pattern, $this->doc, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE); + + for ($i=$count-1; $i>-1; --$i) + { + $key = '___noise___'.sprintf('% 5d', count($this->noise)+1000); + if (is_object($debug_object)) { $debug_object->debug_log(2, 'key is: ' . $key); } + $idx = ($remove_tag) ? 0 : 1; + $this->noise[$key] = $matches[$i][$idx][0]; + $this->doc = substr_replace($this->doc, $key, $matches[$i][$idx][1], strlen($matches[$i][$idx][0])); + } + + // reset the length of content + $this->size = strlen($this->doc); + if ($this->size>0) + { + $this->char = $this->doc[0]; + } + } + + // restore noise to html content + function restore_noise($text) + { + global $debug_object; + if (is_object($debug_object)) { $debug_object->debug_log_entry(1); } + + while (($pos=strpos($text, '___noise___'))!==false) + { + // Sometimes there is a broken piece of markup, and we don't GET the pos+11 etc... token which indicates a problem outside of us... + if (strlen($text) > $pos+15) + { + $key = '___noise___'.$text[$pos+11].$text[$pos+12].$text[$pos+13].$text[$pos+14].$text[$pos+15]; + if (is_object($debug_object)) { $debug_object->debug_log(2, 'located key of: ' . $key); } + + if (isset($this->noise[$key])) + { + $text = substr($text, 0, $pos).$this->noise[$key].substr($text, $pos+16); + } + else + { + // do this to prevent an infinite loop. + $text = substr($text, 0, $pos).'UNDEFINED NOISE FOR KEY: '.$key . substr($text, $pos+16); + } + } + else + { + // There is no valid key being given back to us... We must get rid of the ___noise___ or we will have a problem. + $text = substr($text, 0, $pos).'NO NUMERIC NOISE KEY' . substr($text, $pos+11); + } + } + return $text; + } + + // Sometimes we NEED one of the noise elements. + function search_noise($text) + { + global $debug_object; + if (is_object($debug_object)) { $debug_object->debug_log_entry(1); } + + foreach($this->noise as $noiseElement) + { + if (strpos($noiseElement, $text)!==false) + { + return $noiseElement; + } + } + } + function __toString() + { + return $this->root->innertext(); + } + + function __get($name) + { + switch ($name) + { + case 'outertext': + return $this->root->innertext(); + case 'innertext': + return $this->root->innertext(); + case 'plaintext': + return $this->root->text(); + case 'charset': + return $this->_charset; + case 'target_charset': + return $this->_target_charset; + } + } + + // camel naming conventions + function childNodes($idx=-1) {return $this->root->childNodes($idx);} + function firstChild() {return $this->root->first_child();} + function lastChild() {return $this->root->last_child();} + function createElement($name, $value=null) {return @str_get_html("<$name>$value</$name>")->first_child();} + function createTextNode($value) {return @end(str_get_html($value)->nodes);} + function getElementById($id) {return $this->find("#$id", 0);} + function getElementsById($id, $idx=null) {return $this->find("#$id", $idx);} + function getElementByTagName($name) {return $this->find($name, 0);} + function getElementsByTagName($name, $idx=-1) {return $this->find($name, $idx);} + function loadFile() {$args = func_get_args();$this->load_file($args);} +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php new file mode 100644 index 000000000..b8552dc77 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php @@ -0,0 +1,117 @@ +<?php + +/*** +{ + Module: photocrati-third_party_compat, + Depends: {} +} + ***/ +class M_Third_Party_Compat extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-third_party_compat', + 'Third Party Compatibility', + "Adds Third party compatibility hacks, adjustments, and modifications", + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_adapters() + { + } + + function _register_hooks() + { + add_action('init', array(&$this, 'colorbox'), PHP_INT_MAX); + add_action('wp', array(&$this, 'bjlazyload'), PHP_INT_MAX); + } + + /** + * Colorbox fires a filter (pri=100) to add class attributes to images via a the_content filter. We fire our + * shortcodes at PHP_INT_MAX-1 to avoid encoding issues with some themes. Here we move the Colorbox filters + * priority to PHP_INT_MAX so that they run after our shortcode text has been replaced with rendered galleries. + */ + function colorbox() + { + if (!class_exists('JQueryColorboxFrontend')) + return; + + global $wp_filter; + + if (empty($wp_filter['the_content'][100])) + return; + + foreach ($wp_filter['the_content'][100] as $id => $filter) { + if (!strpos($id, 'addColorboxGroupIdToImages')) + continue; + + $object = $filter['function'][0]; + + if (get_class($object) != 'JQueryColorboxFrontend') + continue; + + remove_filter('the_content', array($object, 'addColorboxGroupIdToImages'), 100); + remove_filter('the_excerpt', array($object, 'addColorboxGroupIdToImages'), 100); + add_filter('the_content', array($object, 'addColorboxGroupIdToImages'), PHP_INT_MAX); + add_filter('the_excerpt', array($object, 'addColorboxGroupIdToImages'), PHP_INT_MAX); + break; + } + } + + /** + * For the same reasons as Colorbox we move BJ-Lazy-load's filter() method to a later priority so it can access + * our rendered galleries. + */ + function bjlazyload() + { + if (!class_exists('BJLL')) + return; + + global $wp_filter; + + if (empty($wp_filter['the_content'][200])) + return; + + foreach ($wp_filter['the_content'][200] as $id => $filter) { + if (!strpos($id, 'filter')) + continue; + + $object = $filter['function'][0]; + + if (get_class($object) != 'BJLL') + continue; + + remove_filter('the_content', array($object, 'filter'), 200); + add_filter('the_content', array($object, 'filter'), PHP_INT_MAX); + break; + } + + add_filter('the_content', array($this, 'bjlazyload_filter'), PHP_INT_MAX-1); + } + + /** + * BJ-Lazy-load's regex is lazy and doesn't handle multiline search or instances where <img is immediately followed + * by a newline. The following regex replaces newlines and strips unnecessary space. We fire this filter + * before BJ-Lazy-Load's to make our galleries compatible with its expectations. + * + * @param string $content + * @return string + */ + function bjlazyload_filter($content) + { + return trim(preg_replace("/\s\s+/", " ", $content)); + } + + function get_type_list() + { + return array( + ); + } +} + +new M_Third_Party_Compat(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/mixin.validation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/mixin.validation.php new file mode 100644 index 000000000..a277c9462 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/mixin.validation.php @@ -0,0 +1,507 @@ +<?php + +class Mixin_Validation extends Mixin +{ + var $_default_msgs = array( + "validates_presence_of" => "%s should be present", + "validates_presence_with" => "%s should be present with %s", + "validates_uniqueness_of" => "%s should be unique", + "validates_confirmation_of" => "%s should match confirmation", + "validates_exclusion_of" => "%s is reserved", + "validates_format_of" => "%s is invalid", + "validates_inclusion_of" => "%s is not included in the list", + "validates_numericality_of" => "%s is not numeric", + "validates_less_than" => "%s is too small", + "validates_greater_than" => "%s is too large", + "validates_equals" => "%s is invalid", + ); + + var $_default_patterns = array( + 'email_address' => "//" + ); + + + /** + * Clears all errors for the object + */ + function clear_errors() + { + $this->object->_errors = array(); + } + + /** + * Returns the errors for a particular property + * @param string $property + * @return array|null + */ + function errors_for($property) + { + $errors = $this->object->_errors; + if (isset($errors[$property])) return $errors[$property]; + else return NULL; + } + + + /** + * Adds an error for a particular property of the object + * @param string $property + * @param string $msg + */ + function add_error($msg, $property='*') + { + $errors = &$this->object->_errors; + + if (!isset($errors[$property])) { + $errors[$property] = array(); + } + + $errors[$property][] = $msg; + } + + /** + * Returns the default error message for a particular validator. + * A hook could override this, or this class could be subclassed + * @param string $validator + * @return string + */ + function _get_default_error_message_for($validator) + { + $retval = FALSE; + + // The $validator variable is often set to __METHOD__, and many + // forget that __METHOD__ looks like this: + // Mixin_Active_Record_Validation::validates_presence_of + // So, we fix that + if (strpos($validator, '::') !== FALSE) { + $parts = explode('::', $validator); + $validator = $parts[1]; + } + + // Ensure that the validator has a default error message + if (isset($this->_default_msgs[$validator])) { + $retval = $this->_default_msgs[$validator]; + } + + return $retval; + } + + + + /** + * Returns the default pattern for a formatter, such as an "e-mail address". + * @param string $formatter + * @return string + */ + function get_default_pattern_for($formatter) + { + $retval = FALSE; + + if (isset($this->_default_patterns[$formatter])) { + $retval = $this->_default_patterns[$formatter]; + } + + return $retval; + } + + + /** + * Gets all of the errors for the object + * @return type + */ + function get_errors($property=FALSE) + { + $retval = $property ? $this->object->errors_for($property) : $this->object->_errors; + if (!$retval) $retval = array(); + return $retval; + } + + + /** + * Determines if an object, or a particular field for that object, has + * errors + * @param string $property + * @return boolean + */ + function is_valid($property=FALSE) + { + $valid = TRUE; + + $errors = $this->object->get_errors(); + if ($property) { + if (isset($errors[$property]) && !empty($errors[$property])) + $valid = FALSE; + } + elseif (!empty($errors)) + $valid = FALSE; + + return $valid; + } + + /** + * Determines if the object, or a particular field on the object, has errors + * @param type $property + * @return type + */ + function is_invalid($property=FALSE) + { + return !$this->object->is_valid($property); + } + + + /** + * Calls the validation method for a record, clearing the previous errors + */ + function validate() + { + $this->clear_errors(); + if ($this->object->has_method('validation')) $this->object->validation(); + return $this->is_valid(); + } + + + /** + * Converts the name of a property to a human readable property name + * E.g. how_did_you_hear_about_us to "How did you hear about us" + * @param string $str + * @return string + */ + function humanize_string($str) + { + $retval = array(); + if (is_array($str)) {; + foreach ($str as $s) { + $retval[] = $this->humanize_string($s); + } + } + else $retval = ucfirst(str_replace('_', ' ', $str)); + + return $retval; + } + + + /** + * Validates the length of a property's value + * @param type $property + * @param type $length + * @param type $msg + */ + function validates_length_of($property, $length, $comparison_operator='=', $msg=FALSE) + { + $valid = TRUE; + $value = $this->object->$property; + $default_msg = $this->_get_default_error_message_for(__METHOD__); + + if (!$this->is_empty($value)) { + + switch ($comparison_operator) { + case '=': + case '==': + $valid = strlen($value) == $comparison; + $default_msg = $this->_get_default_error_message_for('validates_equals'); + break; + case '!=': + case '!': + $valid = strlen($value) != $comparison; + $default_msg = $this->_get_default_error_message_for('validates_equals'); + break; + case '<': + $valid = strlen($value) < $comparion; + $default_msg = $this->_get_default_error_message_for('validates_less_than'); + break; + case '>': + $valid = strlen($value) > $comparison; + $default_msg = $this->_get_default_error_message_for('validates_greater_than'); + break; + case '<=': + $valid = strlen($value) <= $comparison; + $default_msg = $this->_get_default_error_message_for('validates_less_than'); + break; + case '>=': + $valid = strlen($value) >= $comparion; + $default_msg = $this->_get_default_error_message_for('validates_greater_than'); + break; + } + } + else $valid = FALSE; + + if (!$valid) { + if (!$msg) { + $error_msg = sprintf($default_msg, $this->humanize_string($property)); + } + else $error_msg = $msg; + + $this->add_error($error_msg, $property); + } + } + + + /** + * Validates that a property contains a numeric value. May optionally be tested against + * other numbers. + * @param string $property + * @param decimal $comparison + * @param string $comparison_operator + * @param type $msg + */ + function validates_numericality_of($property, $comparison=FALSE, $comparison_operator=FALSE, $int_only=FALSE, $msg=FALSE) + { + $properties = is_array($property) ? $property : array($property); + + foreach ($properties as $property) { + $value = $this->object->$property; + $default_msg = $this->_get_default_error_message_for(__METHOD__); + + if (!$this->is_empty($value)) { + $invalid = FALSE; + if (is_numeric($value)) { + $value = $value += 0; + + if ($int_only) { + $invalid = !is_int($value); + } + + if (!$invalid) { + switch ($comparison_operator) { + case '=': + case '==': + $invalid = ($value == $comparison) ? FALSE : TRUE; + $default_msg = $this->_get_default_error_message_for('validates_equals'); + break; + case '!=': + case '!': + $invalid = ($value != $comparison) ? FALSE : TRUE; + $default_msg = $this->_get_default_error_message_for('validates_equals'); + break; + case '<': + $invalid = ($value < $comparion) ? FALSE : TRUE; + $default_msg = $this->_get_default_error_message_for('validates_less_than'); + break; + case '>': + $invalid = ($value > $comparison) ? FALSE : TRUE; + $default_msg = $this->_get_default_error_message_for('validates_greater_than'); + break; + case '<=': + $invalid = ($value <= $comparison) ? FALSE : TRUE; + $default_msg = $this->_get_default_error_message_for('validates_less_than'); + break; + case '>=': + $invalid = ($value >= $comparison) ? FALSE : TRUE; + $default_msg = $this->_get_default_error_message_for('validates_greater_than'); + break; + } + } + } + else $invalid = TRUE; + + if ($invalid) { + if (!$msg) { + $error_msg = sprintf($default_msg, $this->humanize_string($property)); + } + else $error_msg = $msg; + + $this->add_error($error_msg, $property); + } + } + } + } + + + /** + * Validates that a property includes a particular value + * @param string $property + * @param array $values + * @param string $msg + */ + function validates_inclusion_of($property, $values=array(), $msg=FALSE) + { + if (!is_array($values)) $values = array($values); + + if (!in_array($this->object->$property, $values)) { + if (!$msg) { + $msg = $this->_get_default_error_message_for(__METHOD__); + $msg = sprintf($msg, $this->humanize_string($property)); + } + $this->add_error($msg, $property); + } + } + + + /** + * Validates that a property's value matches a particular pattern + * @param string|array $property + * @param string $pattern + * @param string $msg + */ + function validates_format_of($property, $pattern, $msg = FALSE) + { + if (!is_array($property)) $property = array($property); + + // A pattern could be the name of a default pattern, or a regex pattern + $default_pattern = $this->get_default_pattern_for($pattern); + if ($default_pattern) $default_pattern = $pattern; + + foreach ($property as $prop) { + + // We do not validate blank values - we rely on "validates_presense_of" + // for that + if (!$this->is_empty($this->object->$prop)) { + + // If it doesn't match, then it's an error + if (!preg_match($pattern, $property)) { + + // Get default message + if (!$msg) { + $msg = $this->_get_default_error_message_for(__METHOD__); + $msg = sprintf($msg, $this->humanize_string($property)); + } + $this->add_error($msg, $property); + } + } + } + } + + + /** + * Ensures that a property does NOT have a particular value + * @param string $property + * @param array $exclusions + * @param string $msg + */ + function validates_exclusion_of($property, $exclusions=array(), $msg=FALSE) + { + $invalid=FALSE; + + if (!is_array($exclusions)) $exclusions = array($exclusions); + foreach ($exclusions as $exclusion) { + if ($exclusion == $this->object->$property) { + $invalid = TRUE; + break; + } + } + + if ($invalid) { + if (!$msg) { + $msg = $this->_get_default_error_message_for(__METHOD__); + $msg = sprintf($msg, $this->humanize_string($property)); + } + $this->add_error($msg, $property); + } + } + + + /** + * Validates the confirmation of a property + * @param string $property + * @param string $confirmation + * @param string $msg + */ + function validates_confirmation_of($property, $confirmation, $msg=FALSE) + { + if ($this->object->$property != $this->object->$confirmation) { + if (!$msg) { + $msg = $this->_get_default_error_message_for(__METHOD__); + $msg = sprintf($msg, $this->humanize_string($property)); + } + $this->add_error($msg, $property); + } + } + + + /** + * Validates the uniqueness of a property + * @param string $property + * @param array $scope + * @param string $msg + */ + function validates_uniqueness_of($property, $scope=array(), $msg=FALSE) + { + // Get any entities that have the same property + $mapper = $this->object->get_mapper(); + $key = $mapper->get_primary_key_column(); + $mapper->select($key); + $mapper->limit(1); + $mapper->where_and(array("{$property} = %s", $this->object->$property)); + if (!$this->object->is_new()) { + $mapper->where_and(array("{$key} != %s", $this->object->id())); + } + foreach ($scope as $another_property) { + $mapper->where_and(array("{$another_property} = %s", $another_property)); + } + $result = $mapper->run_query(); + + // If there's a result, it means that the entity is NOT unique + if ($result) { + + // Get default msg + if (!$msg) { + $msg = $this->_get_default_error_message_for(__METHOD__); + $msg = sprintf($msg, $this->humanize_string($property)); + } + + // Add error + $this->add_error($msg, $property); + } + } + + + /** + * Validates the presence of a value for a particular field + * @param string $property + * @param string $msg + */ + function validates_presence_of($properties, $with=array(), $msg=FALSE) + { + $missing = array(); + + if (!is_array($properties)) $properties = array($properties); + + // Iterate through each property that we're to check, and ensure + // a value is present + foreach ($properties as $property) { + $invalid = TRUE; + + // Is a value present? + if (!$this->is_empty($this->object->$property)) { + $invalid = FALSE; + + // This property must be present with at least another property + if ($with) { + if (!is_array($with)) $with = array($with); + foreach ($with as $other) { + if ($this->is_empty($this->object->$other)) { + $invalid = TRUE; + $missing[] = $other; + } + } + } + } + + // Add error + if ($invalid) { + if (!$msg) { + + // If missing isn't empty, it means that we're to use the + // "with" error message + if ($missing) { + $missing = implode(', ', $this->humanize_string($missing)); + $msg = sprintf( + $this->_get_default_error_message_for('validates_presence_with'), + $property, + $missing + ); + } + + // Has no 'with' arguments. Use the default error msg + else { + $msg = sprintf( + $this->_get_default_error_message_for(__METHOD__), + $property + ); + } + } + + $this->add_error($msg, $property); + } + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php new file mode 100644 index 000000000..0eb133432 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/validation/module.validation.php @@ -0,0 +1,32 @@ +<?php + +/*** +{ + Module: photocrati-validation +} +***/ + +class M_Validation extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-validation', + 'Validation', + 'Provides validation support for objects', + '0.1', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function get_type_list() + { + return array( + 'Mixin_Validation' => 'mixin.validation.php' + ); + } +} + +new M_Validation(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget.php new file mode 100644 index 000000000..819d9f154 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget.php @@ -0,0 +1,89 @@ +<?php + +class C_Widget extends C_MVC_Controller +{ + public static $_instances = array(); + + function define($context = FALSE) + { + parent::define($context); + $this->add_mixin('Mixin_Widget'); + $this->implement('I_Widget'); + } + + public static function get_instance($context = FALSE) + { + if (!isset(self::$_instances[$context])) + { + self::$_instances[$context] = new C_Widget($context); + } + return self::$_instances[$context]; + } +} + +class Mixin_Widget extends Mixin +{ + /** + * Function for templates without widget support + * + * @return echo the widget content + */ + function echo_widget_random($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail') + { + wp_enqueue_style('nextgen_widgets_style', $this->get_static_url('photocrati-widget#widgets.css')); + wp_enqueue_style('nextgen_basic_thumbnails_style', $this->get_static_url('nextgen_basic_thumbnails#nextgen_basic_thumbnails.css')); + $options = array( + 'title' => FALSE, + 'items' => $number, + 'show' => $show , + 'type' => 'random', + 'width' => $width, + 'height' => $height, + 'exclude' => $exclude, + 'list' => $list, + 'webslice' => FALSE + ); + $widget = new C_Widget_Gallery(); + $widget->widget($args = array('widget_id' => 'sidebar_1'), $options); + } + + /** + * Function for templates without widget support + * + * @return echo the widget content + */ + function echo_widget_recent($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail') + { + wp_enqueue_style('nextgen_widgets_style', $this->get_static_url('photocrati-widget#widgets.css')); + wp_enqueue_style('nextgen_basic_thumbnails_style', $this->get_static_url('nextgen_basic_thumbnails#nextgen_basic_thumbnails.css')); + $options = array( + 'title' => FALSE, + 'items' => $number, + 'show' => $show , + 'type' => 'recent', + 'width' => $width, + 'height' => $height, + 'exclude' => $exclude, + 'list' => $list, + 'webslice' => FALSE + ); + $widget = new C_Widget_Gallery(); + $widget->widget($args = array('widget_id' => 'sidebar_1'), $options); + } + + /** + * Function for templates without widget support + * + * @param integer $galleryID + * @param string $width + * @param string $height + * @return echo the widget content + */ + function echo_widget_slideshow($galleryID, $width = '', $height = '') + { + wp_enqueue_style('nextgen_widgets_style', $this->get_static_url('widget#widgets.css')); + wp_enqueue_style('nextgen_basic_slideshow_style', $this->get_static_url('nextgen_basic_slideshow#nextgen_basic_slideshow.css')); + $widget = new C_Widget_Slideshow(); + $widget->render_slideshow($galleryID, $width, $height); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_gallery.php new file mode 100644 index 000000000..bd82d4894 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_gallery.php @@ -0,0 +1,183 @@ +<?php + +class C_Widget_Gallery extends WP_Widget +{ + function __construct() + { + $widget_ops = array('classname' => 'ngg_images', 'description' => __('Add recent or random images from the galleries', 'nggallery')); + $this->WP_Widget('ngg-images', __('NextGEN Widget', 'nggallery'), $widget_ops); + } + + function form($instance) + { + // used for rendering utilities + $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); + + // defaults + $instance = wp_parse_args( + (array)$instance, + array( + 'exclude' => 'all', + 'height' => '75', + 'items' => '4', + 'list' => '', + 'show' => 'thumbnail', + 'title' => 'Gallery', + 'type' => 'random', + 'webslice' => TRUE, + 'width' => '100' + ) + ); + + $parent->render_partial( + 'photocrati-widget#form_gallery', + array( + 'self' => $this, + 'instance' => $instance, + 'title' => esc_attr($instance['title']), + 'items' => intval($instance['items']), + 'height' => esc_attr($instance['height']), + 'width' => esc_attr($instance['width']) + ) + ); + } + + function update($new_instance, $old_instance) + { + $instance = $old_instance; + + // do not allow 0 or less + if ((int)$new_instance['items'] <= 0) + $new_instance['items'] = 4; + + // for clarity: empty the list if we're showing every gallery anyway + if ($new_instance['exclude'] == 'all') + $new_instance['list'] = ''; + + // remove gallery ids that do not exist + if (in_array($new_instance['exclude'], array('denied', 'allow'))) + { + // do search + $mapper = C_Component_Registry::get_instance()->get_utility('I_Gallery_Mapper'); + $ids = explode(',', $new_instance['list']); + foreach ($ids as $ndx => $id) { + if (!$mapper->find($id)) + unset($ids[$ndx]); + } + $new_instance['list'] = implode(',', $ids); + } + + // reset to show all galleries IF there are no valid galleries in the list + if ($new_instance['exclude'] !== 'all' && empty($new_instance['list'])) + $new_instance['exclude'] = 'all'; + + $instance['title'] = strip_tags($new_instance['title']); + $instance['items'] = (int)$new_instance['items']; + $instance['type'] = $new_instance['type']; + $instance['show'] = $new_instance['show']; + $instance['width'] = (int)$new_instance['width']; + $instance['height'] = (int)$new_instance['height']; + $instance['exclude'] = $new_instance['exclude']; + $instance['list'] = $new_instance['list']; + $instance['webslice'] = (bool)$new_instance['webslice']; + return $instance; + } + + function widget($args, $instance) + { + // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist + $before_widget = NULL; + $before_title = NULL; + $after_widget = NULL; + $after_title = NULL; + $widget_id = NULL; + + global $wpdb; + + extract($args); + $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); + + $renderer = C_Component_Registry::get_instance()->get_utility('I_Displayed_Gallery_Renderer'); + $factory = C_Component_Registry::get_instance()->get_utility('I_Component_Factory'); + $mapper = C_Component_Registry::get_instance()->get_utility('I_Image_Mapper'); + $view = $factory->create('mvc_view', ''); + + // To prevent huge db scans and/or the loading of every image available: we first retrieve X image + // ids and then create a gallery using the results for the image_ids parameter + $image_ids = array(); + + $sql = "SELECT `pid` FROM `{$wpdb->nggpictures}` WHERE `exclude` = 0"; + + // possibly filter images not from certain galleries + if ($instance['exclude'] == 'allow') + $sql .= sprintf(" AND `galleryid` IN (%s)", $instance['list']); + + // possibly filter images from certain galleries + if ($instance['exclude'] == 'denied') + $sql .= sprintf(" AND `galleryid` NOT IN (%s)", $instance['list']); + + if ($instance['type'] == 'random') + $sql .= ' ORDER BY RAND()'; + else if ($instance['type'] == 'recent') + $sql .= ' ORDER BY `imagedate` DESC'; + + $sql .= " LIMIT {$instance['items']}"; + + foreach ($wpdb->get_results($sql, ARRAY_N) as $res) { + $image_ids[] = reset($res); + } + $image_ids = implode(',', $image_ids); + + if ($instance['type'] == 'random') + { + $order_by = 'rand()'; + $order_direction = 'DESC'; + } + else if ($instance['type'] == 'recent') + { + $order_by = $mapper->get_primary_key_column(); + $order_direction = 'DESC'; + } + + // IE8 webslice support if needed + if ($instance['webslice']) + { + $before_widget .= '<div class="hslice" id="ngg-webslice">'; + $before_title = str_replace('class="' , 'class="entry-title ', $before_title); + $after_widget = '</div>' . $after_widget; + } + + // 'Original' was the value used in 1.9x; so alias original => 'full' + if ($instance['show'] == 'original') + $show = 'full'; + else + $show = 'thumb'; + + echo $renderer->display_images(array( + 'source' => 'galleries', + 'order_by' => $order_by, + 'order_direction' => $order_direction, + 'image_ids' => $image_ids, + 'display_type' => NEXTGEN_GALLERY_BASIC_THUMBNAILS, + 'images_per_page' => $instance['items'], + 'maximum_entity_count' => $instance['items'], + 'template' => $view->get_template_abspath('photocrati-widget#display_gallery'), + 'image_type' => $show, + 'show_all_in_lightbox' => FALSE, + 'show_slideshow_link' => FALSE, + 'disable_pagination' => TRUE, + 'image_width' => $instance['width'], + 'image_height' => $instance['height'], + 'ngg_triggers_display' => 'never', + 'widget_setting_title' => $title, + 'widget_setting_before_widget' => $before_widget, + 'widget_setting_before_title' => $before_title, + 'widget_setting_after_widget' => $after_widget, + 'widget_setting_after_title' => $after_title, + 'widget_setting_width' => $instance['width'], + 'widget_setting_height' => $instance['height'], + 'widget_setting_show_setting' => $instance['show'], + 'widget_setting_widget_id' => $widget_id + )); + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_mediarss.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_mediarss.php new file mode 100644 index 000000000..13c0fc9df --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_mediarss.php @@ -0,0 +1,107 @@ +<?php + +class C_Widget_MediaRSS extends WP_Widget +{ + var $options; + + function __construct() + { + $widget_ops = array('classname' => 'ngg_mrssw', 'description' => __('Widget that displays Media RSS links for NextGEN Gallery.', 'nggallery')); + $this->WP_Widget('ngg-mrssw', __('NextGEN Media RSS', 'nggallery'), $widget_ops); + } + + function form($instance) + { + // used for rendering utilities + $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); + + // defaults + $instance = wp_parse_args( + (array)$instance, + array( + 'mrss_text' => __('Media RSS', 'nggallery'), + 'mrss_title' => __('Link to the main image feed', 'nggallery'), + 'show_global_mrss' => TRUE, + 'show_icon' => TRUE, + 'title' => 'Media RSS' + ) + ); + + $parent->render_partial( + 'photocrati-widget#form_mediarss', + array( + 'self' => $this, + 'instance' => $instance, + 'title' => esc_attr($instance['title']), + 'mrss_text' => esc_attr($instance['mrss_text']), + 'mrss_title' => esc_attr($instance['mrss_title']) + ) + ); + } + + function update($new_instance, $old_instance) + { + $instance = $old_instance; + $instance['title'] = strip_tags($new_instance['title']); + $instance['show_global_mrss'] = $new_instance['show_global_mrss']; + $instance['show_icon'] = $new_instance['show_icon']; + $instance['mrss_text'] = $new_instance['mrss_text']; + $instance['mrss_title'] = $new_instance['mrss_title']; + return $instance; + } + + function widget($args, $instance) + { + // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist + $before_widget = NULL; + $before_title = NULL; + $after_widget = NULL; + $after_title = NULL; + $widget_id = NULL; + + extract($args); + + $settings = C_NextGen_Settings::get_instance(); + $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); + + $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); + + $parent->render_partial( + 'photocrati-widget#display_mediarss', + array( + 'self' => $this, + 'instance' => $instance, + 'title' => $title, + 'settings' => $settings, + 'before_widget' => $before_widget, + 'before_title' => $before_title, + 'after_widget' => $after_widget, + 'after_title' => $after_title, + 'widget_id' => $widget_id + ) + ); + } + + function get_mrss_link($mrss_url, $show_icon = TRUE, $title, $text, $use_piclens) + { + $out = ''; + + if ($show_icon) + { + $icon_url = NGGALLERY_URLPATH . 'images/mrss-icon.gif'; + $out .= "<a href='{$mrss_url}' title='{$title}' class='ngg-media-rss-link'" . ($use_piclens ? ' onclick="PicLensLite.start({feedUrl:\'' . $mrss_url . '\'}); return false;"' : "") . " >"; + $out .= "<img src='{$icon_url}' alt='MediaRSS Icon' title='" . (!$use_piclens ? $title : __('[View with PicLens]','nggallery')). "' class='ngg-media-rss-icon' />"; + $out .= "</a> "; + } + + if ($text != '') + { + $out .= "<a href='{$mrss_url}' title='{$title}' class='ngg-media-rss-link'>"; + $out .= $text; + $out .= "</a>"; + } + + return $out; + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_slideshow.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_slideshow.php new file mode 100644 index 000000000..ac41cbd7d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_slideshow.php @@ -0,0 +1,119 @@ +<?php + +class C_Widget_Slideshow extends WP_Widget +{ + function __construct() + { + $widget_ops = array('classname' => 'widget_slideshow', 'description' => __('Show a NextGEN Gallery Slideshow', 'nggallery')); + $this->WP_Widget('slideshow', __('NextGEN Slideshow', 'nggallery'), $widget_ops); + } + + function form($instance) + { + global $wpdb; + + // used for rendering utilities + $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); + + // defaults + $instance = wp_parse_args( + (array)$instance, + array( + 'galleryid' => '0', + 'height' => '120', + 'title' => 'Slideshow', + 'width' => '160' + ) + ); + + $parent->render_partial( + 'photocrati-widget#form_slideshow', + array( + 'self' => $this, + 'instance' => $instance, + 'title' => esc_attr($instance['title']), + 'height' => esc_attr($instance['height']), + 'width' => esc_attr($instance['width']), + 'tables' => $wpdb->get_results("SELECT * FROM {$wpdb->nggallery} ORDER BY 'name' ASC") + ) + ); + } + + function update($new_instance, $old_instance) + { + $nh = $new_instance['height']; + $nw = $new_instance['width']; + if (empty($nh) || (int)$nh === 0) + $new_instance['height'] = 120; + if (empty($nw) || (int)$nw === 0) + $new_instance['width'] = 160; + + $instance = $old_instance; + $instance['title'] = strip_tags($new_instance['title']); + $instance['galleryid'] = (int) $new_instance['galleryid']; + $instance['height'] = (int) $new_instance['height']; + $instance['width'] = (int) $new_instance['width']; + return $instance; + } + + function widget($args, $instance) + { + // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist + $before_widget = NULL; + $before_title = NULL; + $after_widget = NULL; + $after_title = NULL; + $widget_id = NULL; + + extract($args); + + $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); + + $title = apply_filters('widget_title', empty($instance['title']) ? __('Slideshow', 'nggallery') : $instance['title'], $instance, $this->id_base); + + $out = $this->render_slideshow($instance['galleryid'], $instance['width'], $instance['height']); + + $parent->render_partial( + 'photocrati-widget#display_slideshow', + array( + 'self' => $this, + 'instance' => $instance, + 'title' => $title, + 'out' => $out, + 'before_widget' => $before_widget, + 'before_title' => $before_title, + 'after_widget' => $after_widget, + 'after_title' => $after_title, + 'widget_id' => $widget_id + ) + ); + } + + function render_slideshow($galleryID, $irWidth = '', $irHeight = '') + { + $registry = C_Component_Registry::get_instance(); + $renderer = $registry->get_utility('I_Displayed_Gallery_Renderer'); + + $params = array( + 'container_ids' => $galleryID, + 'display_type' => 'photocrati-nextgen_basic_slideshow', + 'gallery_width' => $irWidth, + 'gallery_height' => $irHeight, + 'source' => 'galleries', + 'entity_types' => array('image'), + 'show_thumbnail_link' => FALSE, + 'ngg_triggers_display' => 'never' + ); + + if (0 === $galleryID) + { + $params['source'] = 'random_images'; + unset($params['container_ids']); + } + + $retval = $renderer->display_images($params, NULL); + $retval = apply_filters('ngg_show_slideshow_widget_content', $retval, $galleryID, $irWidth, $irHeight); + return $retval; + } + +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/interface.widget.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/interface.widget.php new file mode 100644 index 000000000..b563dfe4d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/interface.widget.php @@ -0,0 +1,5 @@ +<?php + +interface I_Widget +{ +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php new file mode 100644 index 000000000..7b2c4165d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/module.widget.php @@ -0,0 +1,56 @@ +<?php +/*** +{ + Module: photocrati-widget +} +***/ +class M_Widget extends C_Base_Module +{ + /** + * Defines the module name & version + */ + function define() + { + parent::define( + 'photocrati-widget', + 'Widget', + 'Handles clearing of NextGen Widgets', + '0.2', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + /** + * Register utilities + */ + function _register_utilities() + { + $this->get_registry()->add_utility('I_Widget', 'C_Widget'); + } + + /** + * Register hooks + */ + function _register_hooks() + { + add_action('widgets_init', create_function('', 'return register_widget("C_Widget_Gallery");')); + add_action('widgets_init', create_function('', 'return register_widget("C_Widget_MediaRSS");')); + add_action('widgets_init', create_function('', 'return register_widget("C_Widget_Slideshow");')); + } + + function get_type_list() + { + return array( + 'C_Widget' => 'class.widget.php', + 'C_Widget_Gallery' => 'class.widget_gallery.php', + 'C_Widget_Mediarss' => 'class.widget_mediarss.php', + 'C_Widget_Slideshow' => 'class.widget_slideshow.php', + 'I_Widget' => 'interface.widget.php' + ); + } + +} + +new M_Widget(); diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.css b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.css new file mode 100644 index 000000000..d203863ad --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/static/widgets.css @@ -0,0 +1,15 @@ +/* ----------- Sidebar widget -------------*/ + +.ngg-widget, +.ngg-widget-slideshow { + overflow: hidden; + margin: 0pt; + padding: 5px 0px 0px 0pt; + text-align: left; +} + +.ngg-widget img { + border: 2px solid #A9A9A9; + margin: 0pt 2px 2px 0px; + padding: 1px; +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_gallery.php new file mode 100644 index 000000000..4374dcdf4 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_gallery.php @@ -0,0 +1,29 @@ +<?php +$controller = C_Component_Registry::get_instance()->get_utility('I_Display_Type_Controller'); +$storage = C_Component_Registry::get_instance()->get_utility('I_Gallery_Storage'); + +$effect_code = $controller->get_effect_code($gallery->displayed_gallery); +$settings = $gallery->displayed_gallery->get_entity()->display_settings; + +echo $settings['widget_setting_before_widget'] + . $settings['widget_setting_before_title'] + . $settings['widget_setting_title'] + . $settings['widget_setting_after_title']; +?> +<?php // keep the following a/img on the same line ?> +<div class="ngg-widget entry-content"> + <?php foreach ($images as $image) { ?> + <a href="<?php echo esc_attr($storage->get_image_url($image))?>" + title="<?php echo esc_attr($image->description)?>" + data-image-id='<?php echo esc_attr($image->pid); ?>' + <?php echo $effect_code ?> + ><img title="<?php echo esc_attr($image->alttext)?>" + alt="<?php echo esc_attr($image->alttext)?>" + src="<?php echo esc_attr($storage->get_image_url($image, $settings['image_type'])); ?>" + width="<?php echo esc_attr($settings['image_width']); ?>" + height="<?php echo esc_attr($settings['image_height']); ?>" + /></a> + <?php } ?> +</div> + +<?php echo $settings['widget_setting_after_widget']; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_mediarss.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_mediarss.php new file mode 100644 index 000000000..31dbdac0b --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_mediarss.php @@ -0,0 +1,13 @@ +<?php echo $before_widget . $before_title . $title . $after_title; ?> +<ul class='ngg-media-rss-widget'> + <?php if ($instance['show_global_mrss']) { ?> + <li> + <?php echo $self->get_mrss_link(nggMediaRss::get_mrss_url(), + $instance['show_icon'], + strip_tags(stripslashes($instance['mrss_title'])), + stripslashes($instance['mrss_text']), + $settings->usePicLens); ?> + </li> + <?php } ?> +</ul> +<?php echo $after_widget; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_slideshow.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_slideshow.php new file mode 100644 index 000000000..42774d9c9 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/display_slideshow.php @@ -0,0 +1,8 @@ +<?php +echo $before_widget; +if ($title) + echo $before_title . $title . $after_title; ?> +<div class="ngg_slideshow widget"> + <?php echo $out; ?> +</div> +<?php echo $after_widget; ?> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_gallery.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_gallery.php new file mode 100644 index 000000000..64e605e89 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_gallery.php @@ -0,0 +1,113 @@ +<!-- title --> +<p> + <label for='<?php echo $self->get_field_id('title'); ?>'> + <?php _e('Title :', 'nggallery'); ?> + <input id='<?php echo $self->get_field_id('title'); ?>' + name='<?php echo $self->get_field_name('title');?>' + type='text' + class='widefat' + value='<?php echo $title; ?>'/> + </label> +</p> + +<!-- count & source --> +<p> + <?php _e('Show :', 'nggallery'); ?><br/> + <label for='<?php echo $self->get_field_id('items'); ?>'> + <input style='width: 50px;' + id='<?php echo $self->get_field_id('items'); ?>' + name='<?php echo $self->get_field_name('items');?>' + type='text' + value='<?php echo $items; ?>'/> + </label> + <select id='<?php echo $self->get_field_id('show'); ?>' + name='<?php echo $self->get_field_name('show'); ?>'> + <option <?php selected('thumbnail', $instance['show']); ?> value='thumbnail'> + <?php _e('Thumbnails', 'nggallery'); ?> + </option> + <option <?php selected('original', $instance['show']); ?> value='original'> + <?php _e('Original images', 'nggallery'); ?> + </option> + </select> +</p> + +<!-- random or recent --> +<p> + <label for='<?php echo $self->get_field_id('type'); ?>_random'> + <input id='<?php echo $self->get_field_id('type'); ?>_random' + name='<?php echo $self->get_field_name('type'); ?>' + type='radio' + value='random' + <?php checked('random', $instance['type']); ?>/> + <?php _e('random', 'nggallery'); ?> + </label> + <label for='<?php echo $self->get_field_id('type'); ?>_recent'> + <input id='<?php echo $self->get_field_id('type'); ?>_recent' + name='<?php echo $self->get_field_name('type'); ?>' + type='radio' + value='recent' + <?php checked('recent', $instance['type']); ?>/> + <?php _e('recent added ', 'nggallery'); ?> + </label> +</p> + +<!-- IE8 web slices --> +<p> + <label for='<?php echo $self->get_field_id('webslice'); ?>'> + <input id='<?php echo $self->get_field_id('webslice'); ?>' + name='<?php echo $self->get_field_name('webslice'); ?>' + type='checkbox' + value='1' + <?php checked(TRUE, $instance['webslice']); ?>/> + <?php _e('Enable IE8 Web Slices', 'nggallery'); ?> + </label> +</p> + +<!-- dimensions --> +<p> + <?php _e('Width x Height :', 'nggallery'); ?><br/> + <?php + $thumbnails_template_height_value = $height; + $thumbnails_template_width_value = $width; + $thumbnails_template_height_id = $self->get_field_id('height'); + $thumbnails_template_width_id = $self->get_field_id('width'); + $thumbnails_template_height_name = $self->get_field_name('height'); + $thumbnails_template_width_name = $self->get_field_name('width'); + include(path_join(NGGALLERY_ABSPATH, implode(DIRECTORY_SEPARATOR, array('admin', 'thumbnails-template.php')))); + ?> +</p> + +<!-- which galleries --> +<p> + <label for='<?php echo $self->get_field_id('exclude'); ?>'> + <?php _e('Select :', 'nggallery'); ?> + <select id='<?php echo $self->get_field_id('exclude'); ?>' + name='<?php echo $self->get_field_name('exclude'); ?>' + class='widefat'> + <option <?php selected('all', $instance['exclude']); ?> value='all'> + <?php _e('All galleries', 'nggallery'); ?> + </option> + <option <?php selected('denied', $instance['exclude']); ?> value='denied'> + <?php _e('Only which are not listed', 'nggallery'); ?> + </option> + <option <?php selected('allow', $instance['exclude']); ?> value='allow'> + <?php _e('Only which are listed', 'nggallery'); ?> + </option> + </select> + </label> +</p> + +<!-- gallery ids --> +<p> + <label for='<?php echo $self->get_field_id('list'); ?>'> + <?php _e('Gallery ID :', 'nggallery'); ?> + <input id='<?php echo $self->get_field_id('list'); ?>' + name='<?php echo $self->get_field_name('list'); ?>' + type='text' class='widefat' + value='<?php echo $instance['list']; ?>'/> + <br/> + <small> + <?php _e('Gallery IDs, separated by commas.', 'nggallery'); ?> + </small> + </label> +</p> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_mediarss.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_mediarss.php new file mode 100644 index 000000000..8636f6bfb --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_mediarss.php @@ -0,0 +1,57 @@ +<p> + <label for='<?php echo $self->get_field_id('title'); ?>'> + <?php _e('Title :', 'nggallery'); ?> + <br/> + <input class='widefat' + id='<?php echo $self->get_field_id('title'); ?>' + name='<?php echo $self->get_field_name('title'); ?>' + type='text' + value='<?php echo $title; ?>'/> + </label> +</p> + +<p> + <label for='<?php echo $self->get_field_id('show_icon'); ?>'> + <input id='<?php echo $self->get_field_id('show_icon'); ?>' + name='<?php echo $self->get_field_name('show_icon'); ?>' + type='checkbox' + value='1' + <?php checked(TRUE, $instance['show_icon']); ?>/> + <?php _e('Show Media RSS icon', 'nggallery'); ?> + </label> +</p> + +<p> + <label for='<?php echo $self->get_field_id('show_global_mrss'); ?>'> + <input id='<?php echo $self->get_field_id('show_global_mrss'); ?>' + name='<?php echo $self->get_field_name('show_global_mrss'); ?>' + type='checkbox' + value='1' + <?php checked(TRUE, $instance['show_global_mrss']); ?>/> + <?php _e('Show the Media RSS link', 'nggallery'); ?> + </label> +</p> + +<p> + <label for='<?php echo $self->get_field_id('mrss_text'); ?>'> + <?php _e('Text for Media RSS link:', 'nggallery'); ?> + <br/> + <input class='widefat' + id='<?php echo $self->get_field_id('mrss_text'); ?>' + name='<?php echo $self->get_field_name('mrss_text'); ?>' + type='text' + value='<?php echo $mrss_text; ?>'/> + </label> +</p> + +<p> + <label for='<?php echo $self->get_field_id('mrss_title'); ?>'> + <?php _e('Tooltip text for Media RSS link:', 'nggallery'); ?> + <br/> + <input class='widefat' + id='<?php echo $self->get_field_id('mrss_title'); ?>' + name='<?php echo $self->get_field_name('mrss_title'); ?>' + type='text' + value='<?php echo $mrss_title; ?>'/> + </label> +</p> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_slideshow.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_slideshow.php new file mode 100644 index 000000000..f03dac65e --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/widget/templates/form_slideshow.php @@ -0,0 +1,60 @@ +<p> + <label for='<?php echo $self->get_field_id('title'); ?>'> + <?php _e('Title:'); ?> + </label> + + <input class='widefat' + id='<?php echo $self->get_field_id('title'); ?>' + name='<?php echo $self->get_field_name('title'); ?>' + type='text' + value='<?php echo $title; ?>'/> +</p> + +<p> + <label for='<?php echo $self->get_field_id('galleryid'); ?>'> + <?php _e('Select Gallery:', 'nggallery'); ?> + </label> + + <select size='1' + name='<?php echo $self->get_field_name('galleryid'); ?>' + id='<?php echo $self->get_field_id('galleryid'); ?>' + class='widefat'> + <option value='0' <?php if (0 == $instance['galleryid']) echo 'selected="selected" '; ?>> + <?php _e('All images', 'nggallery'); ?> + </option> + <?php + if ($tables) + { + foreach($tables as $table) { + echo '<option value="' . $table->gid . '" '; + if ($table->gid == $instance['galleryid']) + echo 'selected="selected" '; + echo '>' . $table->name . '</option>'; + } + } ?> + </select> +</p> + +<p> + <label for='<?php echo $self->get_field_id('height'); ?>'> + <?php _e('Height:', 'nggallery'); ?> + </label> + + <input id='<?php echo $self->get_field_id('height'); ?>' + name='<?php echo $self->get_field_name('height'); ?>' + type='text' + style='padding: 3px; width: 45px;' + value='<?php echo $height; ?>'/> +</p> + +<p> + <label for='<?php echo $self->get_field_id('width'); ?>'> + <?php _e('Width:', 'nggallery'); ?> + </label> + + <input id='<?php echo $self->get_field_id('width'); ?>' + name='<?php echo $self->get_field_name('width'); ?>' + type='text' + style='padding: 3px; width: 45px;' + value='<?php echo $width; ?>'/> +</p> diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_router.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_router.php new file mode 100644 index 000000000..76b181614 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_router.php @@ -0,0 +1,95 @@ +<?php + +class A_WordPress_Router extends Mixin +{ + var $_site_url = FALSE; + var $_home_url = FALSE; + + function initialize() + { + // Set context to path if subdirectory install + $parts = parse_url($this->object->get_base_url()); + if (isset($parts['path'])) $this->object->context = $parts['path']; + + + $this->object->add_post_hook( + 'get_url', + 'Construct url for WordPress, considering permalinks', + get_class(), + '_modify_url_for_wordpress' + ); + } + + function _modify_url_for_wordpress() + { + // Get the method to be returned + $retval = $this->object->get_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE + ); + + // Determine whether the url is a directory or file on the filesystem + // If so, then we do NOT need /index.php as part of the url + $base_url = $this->object->get_base_url(); + $filename = str_replace( + $base_url, + $this->get_registry()->get_utility('I_Fs')->get_document_root(), + $retval + ); + + if ($retval && @file_exists($filename) && $retval != $base_url) { + + // Remove index.php from the url + $retval = $this->object->remove_url_segment('/index.php', $retval); + + // Static urls don't end with a slash + $retval = untrailingslashit($retval); + + // Set retval to the new url being returned + $this->object->set_method_property( + $this->method_called, + ExtensibleObject::METHOD_PROPERTY_RETURN_VALUE, + $retval + ); + } + + return $retval; + } + + + function get_base_url($site_url = FALSE) + { + $retval = NULL; + if ($site_url) + { + if (!$this->_site_url) { + $this->_site_url = site_url(); + $pattern = get_option('permalink_structure'); + if (!$pattern OR strpos($pattern, '/index.php') !== FALSE) { + $this->_site_url = $this->object->join_paths( + $this->_site_url, '/index.php' + ); + } + } + $retval = $this->_site_url; + } + else { + if (!$this->_home_url) { + $this->_home_url = home_url(); + $pattern = get_option('permalink_structure'); + if (!$pattern OR strpos($pattern, '/index.php') !== FALSE) { + $this->_home_url = $this->object->join_paths( + $this->_home_url, '/index.php' + ); + } + } + $retval = $this->_home_url; + } + + if ($this->object->is_https()) { + $retval = preg_replace('/^http:\\/\\//i', 'https://', $retval, 1); + } + + return $retval; + } +} diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_routing_app.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_routing_app.php new file mode 100644 index 000000000..26f50c15c --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/adapter.wordpress_routing_app.php @@ -0,0 +1,62 @@ +<?php + +class A_WordPress_Routing_App extends Mixin +{ + function remove_parameter($key, $id=NULL, $url=FALSE) + { + $generated_url = $this->call_parent('remove_parameter', $key, $id, $url); + + if ($this->is_postname_required_in_url()) { + $generated_url = $this->object->add_post_permalink_to_url($generated_url); + } + + return $generated_url; + } + + function is_postname_required_in_url() + { + global $wp_query; + return !$wp_query->is_single() && in_the_loop(); + } + + function parse_url($url) + { + $parts = parse_url($url); + if (!isset($parts['path'])) { + $base_parts = parse_url($this->object->get_router()->get_base_url()); + if (!isset($base_parts['path'])) $base_parts['path'] = '/'; + $parts['path'] = $base_parts['path']; + } + if (!isset($parts['query'])) $parts['query'] = ''; + + return $parts; + } + + + function add_post_permalink_to_url($generated_url) + { + $post_parts = $this->parse_url(get_permalink()); + $generated_parts = $this->parse_url($generated_url); + + // Combine querystrings + $generated_parts['query'] = $this->object->join_querystrings( + $post_parts['query'], $generated_parts['query'] + ); + + // Combine paths + $generated_parts['path'] = $this->object->join_paths($post_parts['path'], $generated_parts['path']); + + return $this->object->construct_url_from_parts($generated_parts); + } + + function passthru() + { + $_SERVER['ORIG_REQUEST_URI'] = $this->object->get_router()->get_request_uri(); + $_SERVER['REQUEST_URI'] = trailingslashit( + $this->object->strip_param_segments( + $this->object->get_router()->get_request_uri() + ) + ); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php new file mode 100644 index 000000000..46361784d --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php @@ -0,0 +1,51 @@ +<?php + +/*** + { + Module: photocrati-wordpress_routing, + Depends: { photocrati-router } + } + ***/ +class M_WordPress_Routing extends C_Base_Module +{ + function define() + { + parent::define( + 'photocrati-wordpress_routing', + 'WordPress Routing', + "Integrates the MVC module's routing implementation with WordPress", + '0.2', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + } + + function _register_adapters() + { + $this->get_registry()->add_adapter('I_Router', 'A_WordPress_Router'); + $this->get_registry()->add_adapter('I_Routing_App', 'A_WordPress_Routing_App'); + } + + function _register_hooks() + { + add_action('template_redirect', array(&$this, 'restore_request_uri'), 1); + } + + function restore_request_uri() + { + if (isset($_SERVER['ORIG_REQUEST_URI'])) { + $_SERVER['REQUEST_URI'] = $_SERVER['ORIG_REQUEST_URI']; + } + } + + function get_type_list() + { + return array( + 'A_Wordpress_Router' => 'adapter.wordpress_router.php', + 'A_Wordpress_Routing_App' => 'adapter.wordpress_routing_app.php' + ); + } +} + +new M_WordPress_Routing(); \ No newline at end of file diff --git a/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php new file mode 100644 index 000000000..06c4f3688 --- /dev/null +++ b/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/product.photocrati_nextgen.php @@ -0,0 +1,74 @@ +<?php + +/*** + { + Product: photocrati-nextgen + } +***/ + +define('NEXTGEN_GALLERY_CHANGE_OPTIONS_CAP', 'NextGEN Manage gallery'); + +class P_Photocrati_NextGen extends C_Base_Product +{ + static $modules = array( + 'photocrati-fs', + 'photocrati-validation', + 'photocrati-router', + 'photocrati-wordpress_routing', + 'photocrati-security', + 'photocrati-lzw', + 'photocrati-nextgen_settings', + 'photocrati-mvc', + 'photocrati-ajax', + 'photocrati-dynamic_stylesheet', + 'photocrati-frame_communication', + 'photocrati-datamapper', + 'photocrati-nextgen-legacy', + 'photocrati-nextgen-data', + 'photocrati-dynamic_thumbnails', + 'photocrati-nextgen_admin', + 'photocrati-nextgen_addgallery_page', + 'photocrati-nextgen_pagination', + 'photocrati-nextgen_gallery_display', + 'photocrati-attach_to_post', + 'photocrati-nextgen_other_options', + 'photocrati-nextgen_pro_upgrade', + 'photocrati-jsconsole', + 'photocrati-mediarss', + 'photocrati-cache', + 'photocrati-lightbox', + 'photocrati-nextgen_basic_templates', + 'photocrati-nextgen_basic_gallery', + 'photocrati-nextgen_basic_imagebrowser', + 'photocrati-nextgen_basic_singlepic', + 'photocrati-nextgen_basic_tagcloud', + 'photocrati-nextgen_basic_album', + 'photocrati-widget', + 'photocrati-third_party_compat', + 'photocrati-nextgen_xmlrpc' + ); + + function define() + { + parent::define( + 'photocrati-nextgen', + 'Photocrati NextGEN', + 'Photocrati NextGEN', + '2.0.33', + 'http://www.nextgen-gallery.com', + 'Photocrati Media', + 'http://www.photocrati.com' + ); + + $module_path = path_join(dirname(__FILE__), 'modules'); + $this->get_registry()->set_product_module_path($this->module_id, $module_path); + $this->get_registry()->add_module_path($module_path, TRUE, FALSE); + + foreach (self::$modules as $module_name) $this->_get_registry()->load_module($module_name); + + include_once('class.nextgen_product_installer.php'); + C_Photocrati_Installer::add_handler($this->module_id, 'C_NextGen_Product_Installer'); + } +} + +new P_Photocrati_NextGen(); diff --git a/wp-content/plugins/nextgen-gallery/readme.txt b/wp-content/plugins/nextgen-gallery/readme.txt index d59e36b06..ef6c4812d 100644 --- a/wp-content/plugins/nextgen-gallery/readme.txt +++ b/wp-content/plugins/nextgen-gallery/readme.txt @@ -1,23 +1,29 @@ === NextGEN Gallery === Contributors: photocrati Tags:gallery,image,images,photo,photos,picture,pictures,slideshow,flash,media,thumbnails,photo-albums,nextgen-gallery,nextgen -Requires at least: 3.5 -Tested up to: 3.5.1 +Requires at least: 3.6 +Tested up to: 3.6 Stable tag: trunk License: GPLv2 -The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 6 million downloads. +The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 7.5 million downloads. == Description == = WordPress Gallery Plugin = -NextGEN Gallery is the most popular **WordPress gallery plugin**, and one of the most popular WordPress plugins of all time, with over 6 million downloads. +NextGEN Gallery is the most popular **WordPress gallery plugin**, and one of the most popular WordPress plugins of all time, with over 7.5 million downloads. It provides a powerful engine for uploading and managing galleries of images, with the ability to batch upload, import meta data, add/delete/rearrange/sort images, edit thumbnails, group galleries into albums, and more. It also provides two front-end display styles (slideshows and thumbnail galleries), both of which come with a wide array of options for controlling size, style, timing, transitions, controls, lightbox effects, and more. *The NextGEN Gallery WordPress gallery plugin is now proudly maintained by <a href='http://www.photocrati.com'>Photocrati Media</a>. Special thanks to Alex Rabe who created and maintained NextGEN from 2007 through 2011.* +**NEXTGEN GALLERY 2.0: MAJOR UPDATE IN JULY 2013.** *We released a major update and overhaul to NextGEN Gallery in July 2013. NextGEN Gallery 2.0 presents a completely reworked interface, both for the central options panel and for adding galleries to pages and posts. It's dramatically more powerful and flexible.* + +**INTRODUCING NEXTGEN GALLERY PRO.** *Along with NextGEN 2.0, we're happy to announce a "Pro" upgrade to NextGEN. NextGEN Pro offers 6 new gallery displays, including Pro Masonry, Pro Filmstrip, Pro Film, Pro Thumbnail Grid, Pro Slideshow, and Pro Blogstyle galleries. It also includes a responsive, fullscreen, mobile-friendly Pro Lightbox with commenting and social sharing for individual images within galleries. And it includes premium one-on-one email support for both NextGEN Gallery and NextGEN Pro.* + +**<a href="http://www.nextgen-gallery.com/nextgen-pro">LEARN MORE ABOUT NEXTGEN PRO</a>** + = NextGEN WordPress Gallery Plugin Features = @@ -37,7 +43,7 @@ It provides a powerful engine for uploading and managing galleries of images, wi *Display Galleries* -* Two Gallery Types. Choose between two main display styles: Slideshow and Thumbnail, and allow visitors to toggle between the two. +* Multiple Gallery Types. Choose between two main display styles: Slideshow and Thumbnail, and allow visitors to toggle between the two. Or display Imagebrowser galleries and Singlepics. * Slideshow Galleries. Choose from a vast array of options for slideshows, including slideshow size, transition style, speed, image order, and optional navigation bar. * Thumbnail Galleries. Choose from a wide range of options to customize thumbnail galleries, including 5 different lightboxes for individual images, optional thumbnail cropping and editing, thumbnail styles, captions, and more. * Single Image Displays. Display and format single images. @@ -50,8 +56,8 @@ NextGEN has been the dominant WordPress gallery plugin for years. As a result, t = NextGEN WordPress Gallery Plugin Resources = *Visit the NextGEN <a href="http://www.nextgen-gallery.com" target="_blank">WordPress Gallery Plugin</a> official homepage<br> -*View <a href="http://www.nextgen-gallery.com/nextgen-gallery-demos/" target="_blank">NextGEN Gallery Demos</a><br> -*See the <a href="http://www.nextgen-gallery.com/nextgen-gallery-extension-plugins/">Complete List of NextGEN Extension Plugins</a><br> +*Visit the <a href="http://www.nextgen-gallery.com/nextgen-pro" target="_blank">NextGEN Pro official landing page</a><br> +*See <a href="http://www.nextgen-gallery.com/help/" target="_blank">NextGEN Gallery Documentation</a><br> *Get <a href="http://wordpress.org/tags/nextgen-gallery?forum_id=10" target="_blank">NextGEN Support</a> via the WordPress.org forums<br> *Get <a href="http://www.nextgen-gallery.com/languages/" target="_blank">Translations</a> for your own language<br> *See <a href="http://www.photocrati.com/photography-wordpress-themes" target="_blank">WordPress Photography Themes</a> by the same author<br> @@ -61,7 +67,7 @@ NextGEN has been the dominant WordPress gallery plugin for years. As a result, t == Credits == Copyright:<br> -Photocrati Media 2012<br> +Photocrati Media 2012-2013<br> Alex Rabe 2007-2011 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. @@ -72,15 +78,15 @@ You should have received a copy of the GNU General Public License along with thi ** Please note ** -NextGEN Gallery's flash slideshow option is powered by the JW Image Rotator from Long Tail Video. The Image Rotator is provided free as part of our plugin package thanks to a special commercial license with Long Tail Video. It is NOT released under GNU General Public License, and cannot be redistributed. A free version of the Image Rotator was previously available under a Creative Commons License, but it has been discontinued. Over time, we will be moving away from reliance on this file. For more information, see the Long Tail Video website: http://www.longtailvideo.com. +NextGEN Gallery's flash slideshow option is powered by the JW Image Rotator from Long Tail Video. The Image Rotator is provided free as part of our plugin package thanks to a special arrangement with Long Tail Video. Over time, we will be moving away from reliance on this file. For more information, see the Long Tail Video website: http://www.longtailvideo.com. == Installation == -1. Download, upload and install .zip under Plugins >> Add New > Upload, and activate the NextGEN Gallery WordPress gallery plugin. +INSTALLATION: The easiest way to enjoy NextGEN Gallery is to login to you WordPress dashboard, go to Plugins >> Add New, search for NextGEN Gallery, and click to install. You can also download the zip file from this page and upload it from the Plugins >> Add New > Upload page. -2. From your Wordpress Dashboard, go to Gallery > Add Gallery/Images > Follow the on-screen cues. +HOW TO USE: Just go to a page or post and click the NextGEN Gallery icon. From our Attach to Post interface, you can create, manage, customize, and display your galleries. You can also manage your galleries and gallery settings from the central options area under the "Gallery" tab on your dashboard menu. -3. Go to a post/page, and select the NextGEN Gallery button from the Kitchen Sink. Follow the on-screen cues to select, adjust, and publish your gallery. +DOCUMENTATION: See <a href="http://www.nextgen-gallery.com/help/" target="_blank">NextGEN Gallery Documentation</a>. That's it ... have fun! For more information, feel free to visit the official website for the NextGEN Gallery <a href="http://www.nextgen-gallery.com" target="_blank">WordPress Gallery Plugin</a>. @@ -88,48 +94,38 @@ http://www.youtube.com/watch?v=Le_ZsNSuIvM == Screenshots == -1. Screenshot Admin Area -2. Screenshot Album Selection -3. Screenshot Shutter Effect -4. Screenshot Watermark function -5. Screenshot Flexible template layout -6. Screenshot Show Exif data +1. NextGEN Thumbnail Gallery +2. NextGEN Slideshow Gallery +3. NextGEN Imagebrowser Gallery +4. NextGEN Central Gallery Settings Page +5. NextGEN Other Options Page - Watermarking +6. NextGEN Manage Gallery Page - Edit Thumbnails +7. NextGEN Manage Gallery Page - Edit Image Tags +8. NextGEN Interface for Adding Galleries to a Page or Post +9. NextGEN NextGEN Placeholder Image When Editing a Page or Post == Shortcode == -= Examples = +NextGEN Gallery 2.0 introduces our new Attach to Post interface, which means you never need to work with shortcodes again if you would prefer not too. -*Use Image Tags to Create Galleries/Albums* - [ nggtags album=WordPress,Cologne,Ireland ] +If you do want to work with shortcodes, we've also introduce a new, more powerful, and more flexible shortcode system with NextGEN Gallery 2.0. -*Display Captions in Thumbnail Galleries* - [ nggallery id=1 template=caption ] +**<a href="http://www.nextgen-gallery.com/nextgen-gallery-shortcodes">Learn About NextGEN Gallery 2.0 Shortcodes</a>** -*Basic Filmstrip Galleries* - [ nggallery id=2 template=carousel images=7 ] +Legacy shortcodes? For reference, we're also maintaining documentation on NextGEN Legacy shortcakes used in NextGEN 1.9.x and earlier. <a href="http://www.nextgen-gallery.com/shortcodes">See more on Legacy shortcakes</a>. -*Display Exif Data* - [ imagebrowser id=28 template=exif ] - -*Sort Images in a Gallery Based on Their Tags* - [ nggtags gallery=cologne,wordpress,.. ] +For more information, feel free to visit the official website for the NextGEN Gallery <a href="http://www.nextgen-gallery.com" target="_blank">WordPress Gallery Plugin</a>. -*Add Tag Clouds* - [ tagcloud] +== Frequently Asked Questions == -*Single Pic Options* - [ singlepic id=x w=width h=height mode=web20|watermark float=left|right ] -*Template Engine for Gallery Types*<br> -[ nggallery id=1 template=sample1 ]<br> -[ nggallery id=1 template=sample2 ]<br> -[ nggallery id=1 template=sample3 ]<br> -[ nggallery id=1 template=sample4 ]<br> -[ nggallery id=1 template=sample5 ]<br> -[ nggallery id=1 template=sample6 ]<br> += Why are my galleries not opening up in a lightbox after I move my site? = -*Integration with Third Party Plugins*<br> -[ monoslideshow id=1 w=450 h=350 ]<br> -[ nggallery id=1 template=galleryview images=0 ]<br> -[ media id=6 width=320 height=240 plugins=revolt-1 ]<br> -[ media id=3 width=320 height=240 plugins=rateit-2 ]<br> +This is often due to the URL paths to the CSS and JavaScript files used by the Lightbox Effects not being changed to relevant addresses based on the new site. This article will help sort out this issue if that is the case: <a href="http://www.nextgen-gallery.com/galleries-opening-lightbox/" target="_blank">Why are my galleries not opening up in a lightbox?</a>. -For more information, feel free to visit the official website for the NextGEN Gallery <a href="http://www.nextgen-gallery.com" target="_blank">WordPress Gallery Plugin</a>. += Do you have documentation or tutorials? = -== Frequently Asked Questions == +Yes. See <a href="http://www.nextgen-gallery.com/help/" target="_blank">NextGEN Gallery Documentation</a>. = Will NextGEN Gallery work with my theme? = @@ -143,7 +139,7 @@ No, NextGEN Gallery uses Javascript (J-Query) based displays to ensure compatibi = Are the galleries mobile friendly? = -Yes, since we use Javascript rather than flash, NextGEN Gallery is compatible with Android, iOS, and Blackberry. +Yes, since we use Javascript rather than flash, NextGEN Gallery is compatible with Android, iOS, and Blackberry. As of July 2013, all galleries are responsive. NextGEN Pro also includes a full screen, responsive Pro Lightbox with mobile gesture support. = What is the difference between a gallery and an album? = @@ -195,6 +191,7 @@ Since the captions are fully HTML capable, you can add external links and any ot Yes, the NextGEN Gallery WordPress gallery plugin has been translated into dozens of languages - <a href="http://www.nextgen-gallery.com/languages/" target="_blank">click here to find out more.</a> + = More Information = For more information, feel free to visit the official website for the NextGEN Gallery <a href="http://www.nextgen-gallery.com" target="_blank">WordPress Gallery Plugin</a>. @@ -202,6 +199,175 @@ For more information, feel free to visit the official website for the NextGEN Ga == Changelog == += V2.0.33 - 10.21.2013 = +* NEW: Requests /ngg_tag/[tagname] will create a displayed gallery +* NEW: Option added to "Import Gallery" tab to use original images +* Fixed: Links are broken on the ngg_tags-sitemap.xml file by WordPress SEO +* Fixed: PHP notice: Attempt to assign property of non-object +* Fixed: Undefined property warnings when using NextGEN Basic Thumbnails +* Fixed: Detect if an applying a transient to a displayed gallery was successful +* Fixed: Compatibility issues with BJ-Lazy-Load and Colorbox +* Fixed: Pagination conflicts for multiple Imagebrowsers on the same page +* Fixed: Ability to display previous exception with debug mode +* Fixed: Tagclouds not working in multisite instances +* Fixed: Load widgets.css when a widget is being used +* Fixed: Installer should remove all instances of the component factory +* Fixed: Widget settings interface not intuitive +* Fixed: Inability to upload images in some Windows host environments +* Fixed: Sorting images/galleries using the Attach To Post interface +* Fixed: Fix detection of HTTPS (pull request by Leonhardt Wille) +* Fixed: Compilation errors of regular expressions +* Fixed: Pro galleries wouldn't display in environments using PHP 5.3.3 or less +* Fixed: Scanning of router slug is now limited to the uri, not the url +* Fixed: Show slideshow link isn't required for thumbnail/imagebrowser integration +* Fixed: WordPress media-upload with 'singlepic' image size +* Fixed: Use target=_blank when the link setting is provided for NextGEN Basic Singlepic +* Fixed: Only display rendering errors if WP_DEBUG is enabled + += V2.0.31 - 10.03.2013 = +* NEW: Restored AJAX pagination for NextGEN Basic ImageBrowser display type +* Fixed: Compatibility with WordPress Local SEO by Yoast +* Fixed: Inability to upload images if image_slug field was missing in database +* Fixed: Integration of NextGEN Basic Thumbnail and NextGEN Basic Slideshow display types +* Fixed: Photocrati Resource Manager further adjusted to be third-party friendly +* Fixed: Added the ability to find legacy templates in both the child/parent theme directories +* Fixed: JavaScript errors in Attach to Post interface +* Fixed: Router can handle port numbers in urls +* Fixed: Carousel template was linking to NextGEN Basic ImageBrowser view +* Fixed: SQL query generated for displayed galleries using tags as source +* Fixed: 3rd party compat: raise & never lower pcre.backtrack_limit + += V2.0.30 - 09.25.2013 = +* NEW: Restored the ability to use imagebrowser display type instead of a lightbox effect +* Changed: Displayed galleries are no longer rendered in RSS feeds +* Changed: Removed "Plugin Check" widget from overview page +* Fixed: Silence PHP warnings/errors in an output buffer for AJAX actions +* Fixed: Compatibility issue with WordPress SEO and broken site maps (and large error_logs) +* Fixed: Compatibility issue with AJAX Event Calendar (and possibly others) +* Fixed: Adjusted Photocrati Resource Manager to be third-party friendly +* Fixed: Fixed empty result set for displayed galleries selecting 'All' tags +* Fixed: URL generation for imagebrowser pagination links +* Fixed: Ensure that image meta is imported on creation +* Fixed: Ensure that transients are removed when an external object cache is used +* Fixed: Don't load pluggable.php. This will fix plugin conflicts +* Fixed: In Attach to Post interface, galleries created in one tab weren't showing in another +* Fixed: Don't output frame events cookie for XML-RPC requests + += V2.0.27 - 09.18.2013 = +* Fixed: Reduce performance impact of purging displayed gallery transients + += V2.0.25 - 09.18.2013 = +* Reverting to the 2.0.21 codebase, due to major performance issues in 2.0.23 and 2.0.24 + += V2.0.23 - 09.16.2013 = +* NEW: WP-Cron job to periodically clean-up displayed gallery transients +* NEW: Added "excluded_container_ids" as parameter for ngg_images shortcode +* Fixed: Lightbox effect is honoured by all display types +* Fixed: Highslide displays images from the correct displayed galleries +* Fixed: Ensure that sub-albums display correctly when the word "album" is part of a slug +* Fixed: Ensure that sub-albums display correctly when numerical slugs are used +* Fixed: Related images heading only added when Related Images functionality is enabled +* Fixed: PHP Warning about undefined index when viewing basic albums +* Fixed: AJAX handling is third-party compatible +* Fixed: Image date is no longer overwritten when an image is modified +* Fixed: Fixed issue with displayed galleries using source='tags' +* Fixed: Problem with transient cache not getting flushed properly from Other Options page +* Fixed: Use correct gallery/transient ID when ajax pagination is used + += V2.0.21 - 09.09.2013 = +* NEW: Multisite support +* Changed: Default image quality set to 100 for generated images +* Changed: Removed dependence on simplehtmldom library +* Fixed: Related images functionality works as it did in 1.9.x +* Fixed: Don't compress inline JavaScript in post/page content +* Fixed: Click-to-advance slideshow behavior for slideshows +* Fixed: Security warnings from VaultPress +* Fixed: View as Slideshow link works with AJAX pagination +* Fixed: Broken links on Overview page +* Fixed: Backup images option +* Fixed: Stylesheet url generated correctly for Windows hosts +* Fixed: Compatibility with NextGen Custom Fields plugin +* Fixed: Compatibility with Adsense Explosion plugin +* Fixed: Suppress wp_footer notices unless WP_DEBUG is set to TRUE + += V2.0.17 - 08.30.2013 = +Fixed: Match legacy behaviour when changing gallery path, i.e. don't move files + += V2.0.14 - 08.27.2013 = +* NEW: Added the ability to override thumbnail settings for NextGEN Basic Albums +* NEW: Shortcode Manager API, which ensures that shortcodes are outputted as intended +* Changed: Re-added the ability to select the original image size for widgets +* Fixed: Ensure that stylesheet url returned is correct for Windows hosts +* Fixed: Broken links and lightbox effects with AJAX pagination +* Fixed: Try to ensure that third party plugins don't add content to our dynamic JS +* Fixed: Improved reliability of iframely.js +* Fixed: Ensure that urls are generated correctly in HTTPs environments +* Fixed: Datamapper works correctly in environments where temporary tables aren't supported +* Fixed: Fixed an issue with thickbox loading animation when home url differs from site url + += V2.0.11 - 08.19.2013 = +* NEW: Added "run_ngg_resource_manager" hook to by-pass our resource manager +* Changed: Removed "Reset & Uninstall" tab, for now +* Fixed: Compatibility with W3 Total Cache. Please flush cache after updating. +* Fixed: Conflicts with Photocrati Theme Galleries +* Fixed: Blank Attach to Post interface window +* Fixed: Fixed ability to change Lightbox Effect settings +* Fixed: Implemented techniques to ensure WP_Query variables aren't overwritten +* Fixed: Enqueuing AJAX JS libraries twice in wp-admin +* Fixed: Encoding issues +* Fixed: PHP warnings caused by accessing unserialized data as array +* Fixed: Fixed installer issues + += V2.0.7 - 08.09.2013 = +* NEW: New resource manager that fixes many plugin and theme incompatibilities +* NEW: Styles (custom stylesheets) should reside in wp-content/ngg_styles +* NEW: Added option to "Other Options -> Misc" to control maximum images returned +* Secured: Removed default connector for jQuery FileTree library +* Changed: Updated the simplehtmldom library to version 1.5 +* Changed: jQuery is now enqueued at the beginning of every request +* Fixed: Incompatibilities with BuddyPress +* Fixed: Incompatibilities with Events+, bbPress, Custom Permalinks, and many other plugins +* Fixed: Incompcatibilities with Member Access, AMember, Magic Fields, and More Fields +* Fixed: Incompatibilities with Elegant Themes, Oxygen, Responsive, and many other themes +* Fixed: Ensure that gallery images don't have a border by default +* Fixed: Conflict between imagebrowser and album urls +* Fixed: Reverted default gallerypath to wp-content/gallery/ +* Fixed: Upgrade-safe way of overriding Styles +* Fixed: Generation of AJAX url is now based on slug +* Fixed: Restore nggShowGallery and nggShowSlideshow as wrappers to new API +* Fixed: Always use domain as specified by WordPress Site URL +* Fixed: Use WordPress Home URL over Site URL when appropriate +* Fixed: Numerous pagination issues +* Fixed: Adjusted our forms to comply with WordPress Firewalls +* Fixed: Correct use of select2 DOM selector for maximum compatibility +* Fixed: Path and URL calculations for Windows and UNIX environments +* Fixed: Ensure that pluggable.php is loaded at the start of every request +* Fixed: Fancybox: adjust CSS for further box-sizing protection from themes +* Fixed: Use PHP 5.2.1 compatible named pattern matching syntax +* Fixed: Remove usage of __DIR__ constant not supported by PHP 5.2.x +* Fixed: Removed dependency on mb_string PHP module +* Fixed: Allow "No Lightbox" as an option for Lightbox Effects +* Fixed: Warning: "Invalid CRT parameters detected" for Windows environments + += V2.0 - 07.30.2013 = +* NEW: Improved user experience throughout the plugin, settings and usage. +* NEW: Plupload queue uploader that allows for bulk and zip uploads within the same interface. +* NEW: Complete redesign of the NextGEN options panel +* NEW: Added new interface for adding galleries from pages and posts. +* NEW: Galleries are now mobile friendly and responsive, which is most noticeable with a responsive theme. +* NEW: Streamlined functionality for displaying galleries based on tags. +* NEW: Architecture based on Pope Framework (http://bitbucket.org/photocrati/pope-framework) +* NEW: New shortcode, “ngg_images”, and corresponding Attach to Post interface +* NEW: Galleries have now global and instance settings +* NEW: Support for FastCGI environments +* Changed: Replaces shortcodes with placeholder images, however still supports legacy shortcodes. +* Changed: Introduced new Growl-like notifications +* Changed: The container and it’s images are centered for slideshows +* Changed: NextGEN styles now override vs replace default styles +* Changed: NextGEN legacy templates have been deprecated (but still function) +* FIXED: The ability to use NextGEN image as a Featured Image. +* FIXED: Many bugs and annoyances, such as PHP warnings, errors, etc. + = V1.9.13 - 06.11.2013 = * NEW: Slideshows are now centered to their content area * Secured: Ensure that only logged in users can upload images @@ -220,7 +386,7 @@ For more information, feel free to visit the official website for the NextGEN Ga * Fixed: Empty drop-down for "Page Link To" * Fixed: Alphabetical image sorting * Fixed: Compatibility with Arjuna X theme -* Fixed: “Creating default object from empty value” on album page +* Fixed: “Creating default object from empty value†on album page * Fixed: Compatibility issues with PHP 5.4 on album page * Fixed: E_DEPRECATED warning when using get_userdatabylogin() function * Fixed: Removed many E_NOTICE errors @@ -247,7 +413,7 @@ For more information, feel free to visit the official website for the NextGEN Ga = V1.9.7 - 11.13.2012 = * Secured: Removed bundled version of swfupload; using WordPress-bundled version instead for WordPress 3.2 instances -* Changed: Using JQuery UI for the image sorting interface (thanks Tomás Soler) +* Changed: Using JQuery UI for the image sorting interface (thanks Tomás Soler) * Bugfix: Image uploads work in WP 3.2 when using Safari * Bugfix: Adjusted TinyMCE window to use built-in JavaScript libraries * Bugfix: Removed Photocrati acquisition announcement diff --git a/wp-content/plugins/nextgen-gallery/screenshot-1.png b/wp-content/plugins/nextgen-gallery/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3657a9d085f142e2156f511fc80d45e3f6053bfa GIT binary patch literal 384137 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∾h_s*|0!Q4SnqaiS( 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%0AAvr^>eo4@TRo%_*PB3B@G`oQMNH*Hq0 za-Mbm^wP|GuUY~{8XljURkG*&Gi8x#2d0@h+r(#`o%dnx>GJm5zkOI71;SF}M2lB* z*;=nUc08kCYj5fUpS#XYDMqGGZPxu<`qV4&=abJ%6Jl?^{kfuH=Z+OcZEH@Qob)m2 zL+yOdD>0EKL0n#(JB!a19b{j;>BO5Ht~!pzfj4`y*10ZMKf35bU~l>?>C~#XR@dE( z9A3)ze@=8e^LQ$&dTLT{f5WW;UPl>=*EWh0+r3^cDwyObqu|VN?quYpP@T%{Mr%8+ zFAg|s{NUf7D{%)Fns@|!UQ)D8-s?<mTTjaz@ujQ*91aGmpB!!GJ$<#fdGF#Bv(WRF zE8eD_waUJF=;4|({>$f{yR`T1Mvg_{ar+D`Dt7GKaU)Mh?ShM3NM+EJqa_7i9T}k# z8$Ryf`LjUGRr|EJ`(e*XVz)BR&HE!4f4aGAN1$K!;;nAaA2nS66Og^$K<(t5QZY$k znWZ9IFT}sl-Tp^6l;`>4#fSIK%`xNb+#O_JnyH<0?fu_B=H>Y{pWgr5zBVlWa?bWy zv)vfZ$9|Z8>%*;3`!`p(IzKpx!PWv?`OZIiZsNpDpT5rz4K-MAf9Ch+e>ROnVCjQY z0S-mW25nL0EBn6fELc1_$8J_n%AI}Netx+X;@_WM-FjDE^>$JKzvJ0e%FBx+rgxXt zCpJE^+V|m5@cRA2|37WsTmNUd|F-<sZqkoROIP`cH7{Lp&qYmwVS(d`9xs;3a}?&U zmTC!~wykN-(w}RJEV;Kl4J$T2^-Q$6YPI++6VLXkj9)Al{rKZ4U)L@)$MW;~>yZ)m zpINVGmCX9O?P5kJ%l9>EQzHdAg0r$ugf8(?7g*^OY_W+&#%z1ozMpf;rE@<XWPcwY z5iK6mQnxlb-sXmV${j;K2?e9$798^pUG8(+#C10vE!!M>WUj%CPoXo_p8mUca>pD= z=W|R(9ZoO4J@THezwP$h_}KqnR>%MS6u$r4yIa35&HXL^@7d=2Hn(bRq$AHAxte}1 zzV=(z3)54F?(VJq{&=?h)#P~Xr45EF{n~afJ)8bAGwjUPWllR)&i732Y4_T>w|R1v zwaV(tchrhaXHSuSey+Hm*UkN!W<iFR)!p@e-(%_zW^b=9+&ue9=&W8@fd;ot4<r-~ z8ap0bm{@$yap|cy<r$Ib4G(146Bv3F(kki}-tGOPHNU_8@*X3(^0{nluDI?$C>FgY zc=B3?EC=qmUgN#ncFdYq6*8-GTFti#j%n3=-b*fB^l^UF@N<vK@dI=Hp6~zhbNx~+ zn|JH>{NnksYula|i_%25T<VOA-D`1U@8qYNO5v+g*d#t&UVQU(@4Xi<mWZ#Np7M9a z#$Rtv&$GPs??-<4p$IEWs~fR#`@%$?9WoA2pFDZ){XZs?E(sO2)jcuvcgvjTe_7|E z`?gs=r4v&Nd!usYuG{MMgeqt28l`NLnDfT^w1lCelc3AFjXJ02>ZxeOs_E#jQA=;I zoWi%YaAASXBQNXZOaslCHJ`3aKWS20StkEt$2xPp1)4|S#Z|qNl)K8RG;7nR6p_}d zCe<RLLqZ{wIa>vzZ-20Ldz`uRuSR{|YTM_ZJKcM4lx8uO8(4=uj+82X)TBPSB+lwl z0*?w`&|@(s`?R)fVb=>8F3Z(}i`L1phOLb9{n6yfsPti3r<(VqkGmFJZTKoKwOB<y z!pd`X+>4_P=Oi{A*io#O|2r{LgyFn|@j1(5-U<#r9W7={nY9#d&)Y7MZ}o!ng`<K< zh^MKA&8d<-+o#)ou8CKY=J)&cwc~ef{IA2ARW&tFwmdxN`gO&lynrWLqYP$GcV}l` zTJ-r)&u1ZlEp?yLHe51V&YK(~eU_2w{O8(dJc`Uy<izWinoi8TmYuy?`)=84L50nm zXU~7z<1g>w70{n1x^By_{C%I<GTyeibG^8jk+0bsVJRy&eb=W)1~D()_cd%-c%c0G z@3r>-^WSAGUo@psc)Hrvf{@7GzBvL+Yc{*4ZhRCJmEv(G;?kWHLN%R7zP$DSvQwLT z<?MS^UyOM+9e8~B;ts)?SG!-&F<(;He0Xk7&85sOwo>c!b<%o!SB6h3F<y6i>2fFD z&)<rUs0!WObZU;4MWLT+ME5b#NG+4Ia`OKU``5>0yS}ga?X~vU+=SN4Q!gh9yx8<% zP0~3-hICnX#v>dS|NrDYH%_lRKL<RYAHFW;p1q8OuT1UY6H}(~XcxaVnQ=<eHH_I} z%S_`|XU4a6Z~Om$$^N_b!D9damXa#@|32=IfBEHg+ys?;**EW(r8;FuOnCl#-gyZL z#R`#Qg%{qNncK>JyA@|VXRFoPmpNIwkzUQ0EEvv3Y`=YH*N(0G_C>0^db>S-ch%dM z8~WtyzBRwzZol{ci;p@RrMthbulsp+`F6eSS+WYxbZow#xi$UXZYyuL)RkK`g}r(L zE2mD?T0iAnmzI8RsF0Fv)gK3ID+`(OQ*9y>QkJgzaBJ#yn||9HdsBTM>dfGI9=!8= zz}Bo@^LrJ=g_h?w-I3saAQ7dM>$x~lK|uDpAF~n5;|9y$`lrR`b2KHhl(y;ehl@!E zN}Rv^<>5z<P%E{lu7$zr-gh^Me{5Kpci@+uo~z@7HK(sWF{m#1a-!1cV%E<?MW3Cf zEP40sIDf<e^;@Y9ZU#kWA~M?QT&_Xu*O-T&`+7L<#UH=q$19&@zdvho@86TnYo}go zdd|OGIdZ)*+pWkF3rW?>lNDbtnk#2=Yjv1l@}7(P9(4XX*z7JX?Jxf(@A|C%DDgO^ zhOgY>Y`5o!JPy_isE{+#e7r3)Qjo9f=8d44(+n)GMm0Y%<0%zcG$n-JcD>qEJyoNn zUL^-6SUzT8=<HZyBsE9*xqtw#Meni3Vh`2gYuZJ#!k1~h4f=mFeBzrso?Dfa9G0J| z)a`P)<8YHBK;pH@aRqsi+vUE?U*6(YT2;-Uw!-ql!Mm@o>Re7dA#vznp&9$t3M-x3 z_lKs>53}Dh`ESt6Gfx?|UHWRFq~m!iIXV5({E$d_%}-0uD@<6ls>kq&w?nKclUnVx zlu$+=k7ZNVwmPl8<i6snvhisZ2bIWmi2)&Z9M7lADKja#2W@bZ==oeTBiynfHA8mU zImQNqb-fP+O&DtmrX`B}s0?gun#CVzF4JDJuiwi5-Q7EtCH31jB^}!2H90Xdi*eh% zHP%I!Z{`?DPIp~7MfUu&-mvr<qdDR`l^?`#y)S<ex&1`z`6VfL+zU=g&ebe>!m#ss z=LG3l*R!`~htJF1E;VUq&W^vI<^TQs_;K&U7Yjt)Pxu6`ICrdy`=nUq-t8A|z1s24 zM4yv$xo7Tk1^z`Fq!X=I9Ll^E^=bFlTeqhlnVOoo;rrqE-v7_sKQD4g+Na*4zvKNv z5rqlayl%~A=M0l;Gg;Pag}%IbF!}4t_5TCEh|EYyP277sR)Y82@yYFpTlU=89kpKf zn)PP+y8r9#_iX?E&3o<)x%-wnYxK?5o18rNntO>(e#xRkX>Q4(s-Y8qUHGJE;I|@X zrpfK7_>+B;O3bpq{NcKM`C;Im9q$A#=WM!?xs}Ot^UP2-nICaSc9b096#M`h)vGNL zyLP_jAnU^E=Y@iu;xsn2v^YfEJQb<*$WK^e(^TVDXTG~npPB#r;XPYiT>fqB{o0cE z=lA`VKeslwfUWS&{y&FKuYT=q{{HUIukHKioMF$<-qa$r<auk{-s_QfU&Q-OKIC-N zbyxj{+_}#dWo=br@@_~JSfjT-eqY5(G1J(?Yw~n@)T{UZ`f}~txy5@QA56(Qzt-&k z7yo^Ag~gj6esB3OB`|fSvWT`fchHW-hv!xqKbaG7<73T(j*y2%Z>Kb^F}b#)GAQGz zA75~&;Y&lKg15K0ySeXH^XG+zt}A)Uqs=vE?y9X*|H;=qU%TVvvXfIhiog9_kj0uX zCs;+L{7lmZvBnDv1@8#YdHnu@P84&_k(#}?du_vfmbJToz9YzVRPKxOo9mI=HP5Yg zk$WNa@xatN&J-?go0(d{LLARI_wCpc5*^p|TYKxZOHZfA>-qclfB)|9w|wo@?(+OQ zntg7)Qt!=Qy^UL4Ubpb_`ro|uQ^L+oUU2H(p{mbouTQ=$UwQ4*sSusSrk$Hij!i7u z{r%m(e{Z+mWxuXn!C<qe<maN`Rgzaj&$YGp&+MxEF#Z3>J6C^SzgN3D_WS($e?Q~@ zzftc|<l;QhBJXN?|9k4q6`?oh$ars7kykwzWTwO*z%xTbP}@JPk$<EAJeGb&iv%7U zO^Zd!4##yovlm=ipp|VJ!JfKu(w#I*AJMDguDgZp3OVy?9KzR`iBI$7sNNEvwPs!= zqiXPi&N;dz=a$^rb3md(<6x4i4M);Tp6J~TC#R&To1K30?w!VjgbLNHLoDmc0$)WZ z@EkoGR%Ek$Nrvg7rtXtDWn5y6HhNCyasr>On&qpN!otyGtSDLJqR@Sy<vF`w<mI>9 z)Hd6kFV5EFSkljNZkh~VQOBbLQ&Ug0Ec6n$G|1G778F>tRZNhX#oggrj>)10AsGuV zuJxa4?H81*<J>X*$1AV>MW4@p-un0Q#~dpsdHY?pTed|?pY_U(kufhTD_?fm<=4Zr zx62n*#bj?e?d3enSWPl%aopoM+Fzfn^*9yAwCDWysYT}+=P38_2u^4yJ~v%lTtDu{ ziq?7kReQdFNdNy~zSO-7!kLqL1VxN(gdXiRzc*(-pIlwp?^n|2_rKnI?dG1dhO%;g zd2grN|DBpVrNrs`Db|X2M(-ysSmV{M=Dpz}r&-nCtA2KO%{dfI7bq8T^l+Z%SD4~> zR(RjWYldH(_n%0QG@8%fol>*r)8nfAg;F6awZx>KzfqY#H|&L<e$LwR@cFe5W6l4} zzyJH6{<ed*H|7Pp1sRq8V=@z;SsHZA#ymK2>e5wbxcqX8tRf@smGD{j&U^kQrF_qh zTXjF*UO!wmFG9a`Wl)=7>S4oE4oXZD1&nx-o?9e0G1$j{t9o|k{p`&f>Yj10)9GHL zVe`zA?_6ZMV<?-9755TdfuxfqnT!i}-}(1$e(l>^($lwnx2xP!`~B7D^YQnr;#XuY z5>YU0czQ2uZ(RMqncDV$Z~Cvh|NB6I)((L?+|A!U9ZIv!n0bn4nR=j0+d-R|tQ)@` zvJ!XVy13^1wO`_4)2<0rM40z~x8GCv{oK2M8AdDAgrobPhTpG!dFa^Auni)WwoYvm z!qyn5oj%1PX&~p59vSo9zn}k7l2}XO#M!Hw3|@)+%$zml!Jdl?Z0w3s<JdM<yj~kV zeOj1&-hCO><F_Q&DxRNvDsuhqFI(5|4|g>4Vq<B2&}P`YV(rxvGJ=hp-5QzwG%UQ1 z?JzsV_~88q`JZ2cCVT!*F}ZnqOZ$~cJMK06y-~LEys+}~zoaYcIL+s8vw6c7=j|1C zF(+guQ@Hu{RDsIGi1^r<u1S52hB15gM4H+7i_G1&=f~6S^LG~2{l9MC9(n9S^scI{ z|L;{V-~Ii@n<cw1+0LB1O#W|D;bSE;@tC-zz-u;!+pje$zZP)RKEckuyxcBsZ_U|L zx0+vX|F-IJ)R9#`b!MM=Z1G{~?y{BEv+vjZxL8tHx_R%04Zp5D-P`_M!o6)pk0Ia8 zFN^)|ufHC;uu7!ixX;o}E|%Uc5mJvFWHeVV2spyf%UI;XvhPCRfmN46Ekjf_xIGz9 zIixxm6!7UVP7lc6T(w%v&41sPJc|YH{b}c~)kaUP<JGsluHx_O?s|Da&xP+3w=cPV z;NfE)EiNgas!7ELda?HVEB4sVoICBfyVS&H`TKkAxxaDg@hL5AZ|auVToT4#$$Ljf z`^$6QQ!cU$Vbe}I9GLU`bkmwm0&Ibk(z^rasO>a8p<=aQ%Yp;U?gpMySYMdgo=a_h zyl?5oB9;qI7a6vkJ9T0H`Ov+da~aa5p0za@h+MNuo)8n=ReaWCs^#a@yt{`hjkfq1 zWn7tYedXChYA2<3tht^1woG{OpL+*27B1FUv+~ltyZe@UCCmC0oBGG5Y?_?O=`&@i z5Ra0-fx|IY{`r3*%%}C7C{SWi6O=V}V4LZ1Zf3#O1Gi(MSF!Gy!N2+E#r6Lm>c9DO z@YvO-$A4$8+u?hmc#Fuj@LSy7uf@O1|LZ?^@Zi<!@qsyyN~$&(*ZyA^z3*1m@lOw) zJt$C%?~w|7d1=%A8lAc?lSA0bcXxk`s($$K<H~KDq;-BMO>z`C{?Tdm<<;Mv1XnKd zy5zIa=*+al?N=sx_J8)g8u9U&bu;^N_FGQ-cNhG8bnWDmihZAMR#fe&``7v`>HXXM zKM(hwulsqD{d@Vk<t*QRUU%Itt@q6}b)vu|BgVPAva+U5w$uN#=UQHNlKs!)@$&L- zCzi$Ckv;EizjD#hFg62AS)J>%yX!=RuHRCyyx-r#@ppmV9*)3yU)Rk4`4`d{uyl76 zXnZX9y;nKe>wa>IWYMZAW~ws|G1b&9`}fXRKYmBy@8;d*_BB=6ueIOrJ$~@)Bt?bi zG8Y@KO)b?D_;WhG$~^Cb|N9!I7gAeWuP)u1c4tNFywZijjmxrT`L=G^8^<ftpVh08 z;o?}k@N)8@D!aS&C4VnV%gf9?<JWh#hHF>T_4t=Ld0$u;i5PK7eNKv7v1!F8r|GGI zQrd?WSXz2+s(EEGf9cVRxD`TkK7Yxyn|a2P<-wB&8|KVsU@!mr>hfE^zt8^qt8HE! zlzMLBDw*P~SGO*mzHXo047u}{90iP(p7xXm7?qrmdCtLbOMp>brR@MKd&0F)hCk(! zYo-04d%k0FaCTU)_se(Vt&g{O*GsbRJO8>+gniDWjcY2Sy=B)0Jxs9i6raVdx_D_= zy~$i2_2r8%#Z)}^o|`^@c7MD1{rdlhyk@@)+T|mA@9V*RA8r-1e=qa<uHHO(@?-hG z2e@6f3;uBYbLCj@=gTKS$2T2r{dzsVzA!oYal(%5&oYh70>Wn^9YW9a$xn~-y<#mb z{r6_c0~23$<{-71=l6R2G~Ky#+qHc=Z07oGcFK#btIB`AQPJhNPiWz?#t9R$7K)qL zB<*8VaPHkybdAw#sn&9BO+k(|mt_P5PcJgM#(9om&q+@=GlrywJ3*%9yEYx@l$i9~ zQ6%}whovbz^Y^eH=3a0wY3sBrQ8T@+I0YtN%PUCtcz)-5z{*3D9q$NaW=Wjdq|(3m ziDT%h9q-PkuUaLuP<2+TqH&7dpD!O)a({SM{%hXqzYp}keY)cq@>%!gnhe*Vr`r?_ z5*i%lP2us)H?*=moBo-lQ?p3yM83=9HC?h-vu7+nFyWP<x|-JU)k|KKr1&;1FZBD8 zV6^{2$7ZG13%)o#tBlKF&^~K1TfEg_iVM>MzrN{9O&Da1a@nq(WngJPdiL9?)Be@j z+_!IAOWiou+Fkzsj>OXf8!vyMFGqZ;;-+OQeQ=o&(kgyEYV9;0CT5GdK9hCa-z^Uf zJ@@R_$$U2E`PPaSN)d}~&ovajj#gutEazNSm%LT1XnMb<^^YI(|C!m=2yA-tp&^yk zeA~R9sVlx*3p<=1XR5Duym@L_h#dQ}y(K0$_U+_9)qH1Sz|lvu!h61IoQ#sauVBoY z#F=pO<KGasXM480tonKC(`#`(`{I8~pI1E(KUC(cbU8BcY**GiS=qUEH}-vh@bT~E znz)5)KKk`mHeWpW=Y(o;!R4%?f|}R={&wr1K70D;1B=`*(`P*JmVSLdLr*^T|MQ0m z8>jZZniv1MMOeo9*oP9ElFgE8BHN?P`}yNPEq;9Was8iv`AZno0xm~vY3iLCHf>7l z*`)_s?*+9NuV1rjr|U6^s!RM!c?2w#m_dX6b@GrkK9RGep4!-}3ICjwviWYFSMbca z?(W-Ef*Az1{OVm_|NXA`y<5Mo9=G3D{Cu+b{K|K;<Nu~<cdfnnbw}e9Yj-|lryu`s z?q08EyXmvvhw~d>#>MAXiUe%nHMzCurpaAjbt%s!8ks6*-#m@WIpgN@=4#Ed-W#2v z8Oh0}3u7nFn&{DY!*`SJu7_N$S_}46{+<2qN4owG-UHg(KK$nTf2OB?o=v4(toHMq zwXdYZ<BR6ao5Lsm`*cs|!zTtpO&?DEyz^_%%?Z36h5{~!BIhif8@5__!Il~Jw{BH! z*jl>5UXp*qjAl(muM=OhXBWCK&2sYJQtTRgttxH`^V-u<kxq|P-szU;+uYjezT<5A zxwZ$q0!^QHhE3)7JIh}6yE{|LJ%9htW76?Ee-`}y`}yHSZZ<)~fDaeHdT-C$`{&c+ zyK4`A(C|_TZJ8*b;>cqraZXZEhe2QgW1|ogk3f^VG}A(p2k$?AtPE&nS#UgYr=z%3 ziX!LR6Gx{QDDYTtwq)FTvSjLqt6@=3qCWZfFaG(_$N%ch$Cv+|QhJyZ!uR2G?nK?2 z4>zoR_-FBXAx2H_H#avXvRqr|@><%$WYwJR6YeL27Vme9y1UtNU){r^@~>Z}=GSSz zGQCpZ&Y=8)Q-O)=TmzGG!l^~_m+w70ddtaBrl_s(+ARNehK5rtX4{)5XGVV4+oz&& zByv;b(^H%8raO5^3OlHH2<9$OSmG1S$#n5l)oMeQLoAPd!gnU9C~%%*TQ8}6c0wSF z*o~lF8ea|`JGRv?JJV*?Q#twm^y1Vxh70Fy3@Cc1>?g@^>-qou1v?p5Pmk&qs}kA8 zbt|IhL`|0Egu<8lrqSE<T-pW19$5&w$h<!*CU&dv(0RV+n>9~r_ZVj^6Jc0)_spYZ z&qb6u@0zM*Zu(gE>vjAYdEQU6z0Xd~6ANAT+DWEKq=$*+LvNbM1?m0<1&&T(Md3n& zfaAsGs?#LfcX&2!ote<s)$BM?#b)9jMTJLvu@*)VzNgHR5^gM#(OPZ0L%@cCIYGo= zf>=^GN0!gE6xRj9YqJ{^65dwj|2_9~*U_S6o7A`WF4^cu+}ZN;%;GyY&!=ilil|!4 zp^)yX(4u5-WxY0QxvYR2Q{%0LhwqpFZ(VTkN|(T)6$*VU?={&DMyPn^CoY`nbx<&O zZ~1@mqbF-KOBeFa?EKnmzUk?ci_Q97KOeqbz5VMRyW4-iJh^%ATmAo=*7vJF-|~;M zoh?3Z4Xe$ayEAM5YIk?Py|%^TT$It<t)3a{^`Cfaez{%iU!iv0VZHg4SHE&<GdGnn zUYmXP>JKmeoyA^L+l9S;upYi9eR}<xyFcDG&#&KRZ&zz&ZzuPx_;^i9_Mb14UuM`C z%6UEQdRg*vk(m4L?RoKg3x2xg=N5i=_pko{&sxt$fkjg%+eF9Tu#unk`QRR_8EX=i zAA8T8COCnof4LiDz6%43gZ=I5u&vVF*Jq{L#=R+3@nGYLdAV1S!HMgjGD8<bkC1#_ zzw^YniiiByx;OnhG<{C-74}=1-!*-AzdiOVir=C3$7=tsjoY{w7Hq%v>s|l-%D=14 z@BRNVUq0`yD985vyE*Bdmra)*lDM6v$8nDRu#tknvDH;Ut7D?~Y$#edaZP#k-^Z8t zI-I>(5&k+-WU-l-*F+cJ_nM57$0MheKAO_MynTM%zoVP?9zIxUDdjLXIJW8Pjl9HJ zM-(lV7G=*VWzJm{6@E=~Y42th<|Bdyf|9=F+rLM;Tv7@2(vGe6og@0VxOCHEp_Bh# z_{Y`1znyPu`zyu9_WCwA78j?c8xgzrRHhb}zdw2KqM54Sg^tb;FE$Sb4c3>;3z(O* zC~!L1C>&p~H%%$2MZin5@*nG3i3MjD&Y#%YQ<jvWsxwLDk&A(V$coJym)Fi*@$gAO z9h1bI)y+aa%?=l%Jlv+TGb${q`d_mB$I+7)8P}$XSACQ?eCXJzlq4?>F7~rKUiw~* zi`w;d>-WCn&#(Q~c$yN?w_RQ>qjciznicJblg!eZf}CVO`V^g7xtVXT{mp7ClP|As z-+vijD?BIh^DX~p3GH*7u62a3&+{w27QLgyE_m<Kcejq7z5JO|o#(*s2M4R0dIA|( z<e4VgbO-0J*=(j@;HSZwn{`t4@x<UMtW%~ODb1MhV{LT#wI{be9{llZ>(=_(KVQyn zzyIUo>h%oDQ!le0Kc2q$;m3dL!dQ7vh5RgbZ*Z9Y`}B)ry%En`_x)e9=T{elKT}uT zedC9k3Kf&LNm&U0zMb}4@WtxSTN<w&ICbmL(bd6Di=L)d?uh4Md%E@9p-V-p!;b!o z`&#kcqGjFd%Z!izw&s}4>=d}Q@dN{>)d2yCaFtcf=7KIPNo>2eU5@EJKF!#PGj+<9 zX+NS89lFc5>be}+>%Ml+R=Y<oY(`%a83LZY@-ohCFt#gjnx?U%p(jw*X|@383CquX z>9@|9S~c`)?+xEqW&3J-+Bv`F$&L>%9eXwTt!%RIHILo8v!CXL-1JPHy|Rauo#9YK zYEMGo6wj^|TQ*-){(JYd>>s=JYpz8dvt;g2QDvE6bdDu;%k`{p)wW(XylM5nH!uDz zzfE(_ldOOr=hmL(Hoq68Y!vdfFmP|(@2ky=FVFw?=lTDS=l|cm$o~HPxnuHw-Y%bh zfA8PDv$wDK`Qo{|yo|lH!{j^rbd&@?U7S+obs_#vMr_osjq~oBJU(_!eDM}BTgl_@ z>;8PWvHL=9=aV4gxSY!lE0k{qp6KN`ZU6J%{@tcKesx#>fBN!gV%*{<-)i3YyFFl- zaOj=z8sCjYarIB7yBC`M_TLtg{O#7-?C*B<RvKAso&_CxOY~+uH0W7&nLT~`y0!iO z>1&@k75sZ}Q*rs3$}9zw>5Kn84SVlo?qVjmHZM7F(hRG|d!5#EvL00OvQT7cP+;TH z|F&lThy06>QovYe(#>P7t*!SSUGfSOIjr9Q{rK~px)T&$t})s7fBO4-`--3b_5b(s z<79n}2SNMy---X?##+E)DU`N``$WnVP2nw{PR%$a61vnfzxY<3%HOlS88)?M`rjt= ztod$~IHf};)2YMu$k{bFGfp*6e!IKBZgaVX1g}r*gu30ktM;zXHk!Y4la=Wy$;X^w zFSuXtG2Hs~pw*RQtmg$ze!SUu>4oe}9_GY-ek;q?t?Jo+<Vi|d9^=vSe?Pu%zrVY( z{(JoCstli}JVJ+9{I7@UtzR2|tM=E6A5RqgZnR$gdNgkJTvH9jQ#Ud#=Re#0fLVym z!&$+BS>RDE!>JYSDf@q4{_^wmFQdjhChgp7U7kt?eiq9eBoe0t9uit&FwgqR(S38L zO<mH%bt|*@!xFP?)jwZ7dgT`T`ryHjFAjdYq+4a^H}9RjwG`{wpNF2kb=$7XaYp_5 z<Ilef3*P3bo80P-eEsL;-=7cpzNWoD`S8)NsVh$1-g_<3@OaQ=GxaH~3R8qmdCZ%= z)Is8h&!mF~FE0IF$D_w|@q@s#-|~iG3Z=(xtl7D$)@h<2+h(`&jhA1aKd$^<c5zG5 zF^y!AR27XKM&XUlb4(tyncu5SpXuYF%OKmZ*r-oXxx2>VXk?|_+u5DBe*fUEHHynv zUjF~*{CE5Q`=1WiUlX^lCh_sFsnPn@f4^S*`S8t~mp@OQD|T;?nr|~JplaX7i?VYg zuQ7PJ%zAb4#G1S%CZC*wIDGu)%$_v&{OX%6%eHU0I?dtXn}jdNq8DBDK9Ihvjla&+ zG|Nm*Q2NW}^q)5^nIq?1PyGA!YOA)nUG4wPj~9P_t+`jXV!nV=X6}oRJLW~W%jRrR zl5&d7%63*((sc`JYA{%P=vB~iJua!5^~&0*r-b&FYc6goe*4Gbhvfm8j`D|HJzI5E z4k$S&Pt}+d7-%6s#c<JWxv5*#d>Z|g{$0urkJgUWUwmZ8rd3n)I?Y#Wd$YS&x15NW z<ku`J<=ubzlz_pUCK0B+-7IcFN=%E=TbPtu9_+Q7_Y1ZbfU$1AtVEDoPhgWm>y~=~ zUJVmeI&aTS`*2Ni=`(kK`I=db^JM4pryG1;w7V+StoqCkKN;P<CCbw-{=Oak|HJ9~ zH@yBIe_#7sD@NK^E&6}O|GWGDUEKfwUHyx#M^2u6p1-$e_Sp%XI%;(V)3U{DKmUFo z6JPiI@c+jre>NMxTbeS3^|kxvN5+rWcujk}<>W+9CCyyUg{|DPGE-dklzjXeX?x?g z?24D2lNTy3Zkc&%G4GWX1sh&}_S{i3v-I}1y9=9tuJE589b0Iy^7P8?*_>7XpG@{Y z!?Rlb`B}^8!nKd*UiJ=;U%jfzLQd$IF5CG9`)|I_-{z549IdzHZQ5pG#nf{WtDCmB z2pm-QYH>d#z^wG(z483Ft>XUz_G-M=uQ_SyY_+zvTRboI?3NSf*_to6f8WNwyiF-~ z@3sHW`0wqjs(!kC{@<eV?~X#Qg(B<Mt}(rQ<W`qKO3Uv6?X#;gGkro=cYfTtDK+w} z_S>4w)k(*aW~DB=W}KkLz@ev6;3afq#-$w-m*{+QPw#)9Tl*{Le~Hc3K$W<CbuZW6 z-o7rjQZnF4@$Ux*pI<xIb?BGG-t}vZZ&|pt^1DPY?_H`hXAaM&J0itK7Hd0}2Obh= z-Wm|TaF(URzrXgiuiuvEzm=&qnI{{yyq3Y`nCG57J9ciVd06njAiusmbK&1_bFb&$ z+i~s0r3Z7jAFHsP+1uym*T??+7_(3l3uA+UmjI_?i-1={z_FK~?X`b#elfb_>0!Op zQ|ofXk&OaPoLxel^Fz06SiD)uzL1Hb@<HH<Fk}Dhjz#ZY&FXucaOT*rRVP;eee1q@ zws_RqV=Cu8S6hA$n?FZCHlqIL((B*7tLtn;mZp9_RrUB;snX)K`may^T}*jDgW;^A zOn$ELa!w<EMv0G1HoVQ8F-0kg-m?YmEi28ce?^q(>Bd%RCO*?)G`{D#*ucgva!*BW z-m_buJq_dbZxK3fz^^4F$n^1EvDZ$9Qw|<#$qTbWnLRg$ExzcW;1+pk#_Hk^3asx< zb_FuJ|E^A1lD1sFCo4JB!rC&&bp4m;vzKN+UR!Ib`=NXJ<wH4fyRXH+SYxtl`@O&K ziro)r-o9zI`)^iqdip!38xd0vdblZ{3$-iWyY0!On>%IayyCfZF6hPj(`%kiZky0F zd(xBOiXEo^u9;u2=GOCFws@tb)STdx%7ROCEj8|bJhL<|$NyBinGA!^>jQK5Uddm= zvMSSZ{b8L0MaO3M9{W%;$#dHUKbNJiPgNzaP<bn&!RpqzHA1AzD==~{r<kYZH-o}P zK_Le94u0*>YguzIvYy-}VHNXCqR6HD#YDCRjY0Aq%rDk&6T2>6A!9r-BVf+QD9!9O z#cH0$CLRZjIVL4NRTOYy;BC4(jj<ws%{D{DZeFdHl6$O&)^dB<{<nNBv4>ZVDPt+8 zl6a5dtvp@VAc@tf7rxv5TwrC%*Q%v^R$Dnb){AAaQbVt1?boNbD`V?R{%=hCVm`m_ zp8hKP-^Z?-o9PL)T%P;)>zhaSYu@Xh>t3yEI7i<8roDw8_s0kSmhAp8^|kpv#We19 zb+2@-HdM}-yKBNnx3-x#*Zy?B#Oi7;r6??7D|+wvEq5;6jZ61#{CDbl+|Ors+5ewC zyyJQ{mvx=h(VeV*mFk|mGCyyQ=asw1{rBjaiKlMJ@+?0lpp!Ps{NtaSEPanp98Hh@ z;FrHRc3Cph*)aE&zka-6U}Rckp0{-Go;w+5PwogSURr$9*^epedCw;a4G*_u7B&w~ z#e3H0;-*X!|EF73cz6E?RrQQXsl6S|Tc5uCd2;gc--n&OHL4%)-d^|Pak=NBx{tH# zZLI9F(oZ_&cQU=*CeC4zEE<u%LNAxq<Mpl{mYLHJM_Mu|9IH%@&0Q53=vUr<d#zf6 z?vg~kt|c9d#TIHNW~wMZ|GeB^PJXU^^{)Dwnn%~eH^1Na`Pgdn_?O$SGis=Ax?Y%_ z9dB=EfA{w7X%nX#YKA8ErpI^*YNobLuFQRtVzbrjT>BOo2U{mK6N4{y72JW7|Np#S z^ZJ&yHvjxugE?<lHymsgcocEWdoOqQ+^z24<yP<7v9I#2_4~TVx0ZS<R>)rvY-W+T z<+oYz^j8%@f4=iQ{44?-jSUVH0-QLW&hb1XQTZ?ZsGIzzmNF?F&kCiP6M76!X^1u% zK0V`8y7=A0CkB(2T+a(gv;FG9T*RSgkuQ9%d(#PRQP(XG9$bjqRcowyO7hi#K#lSb z7w-liN>g9HCV+jujg`IZ)428VyDYAJ-P^8ycT4*6$&>Hb$*j^mcp;+q@zHsHNiHAU z3fs!2Xm_s*`+2ZT=*LC<e|cZ8S>K53zct%@-{x)qPu5G{`EROatG#W}xv$#m_u8&q zcJGznDK`uC3riQhZr*n9bcYbri9Hi08F_LTrsXxAl$yKb<`UD;gPRVxHY`2&>(i%G z4DT|t=d@;DUvDlxy?ye>0<)Jodcm*x=G{53uC{E?yr=Oszgm|*c`N^4uu%H#^Iiqd zhi~T0<Gs-v-QCh|V(M?Fdre<8FvYQPev+t<vfx<}3r_R>lSGzI(oDbfn<41LLxp^` zzb`p@c|({g!mgEAwCV84y<T`|)&utW@?CFotOC0xF1<P}+gzUS-1Np{g8dwkSF1wV zy7Cq|q--n{GvM&#WOfPY5(rx=xc!<K*CmxtN4$kp+9#GV8L+8vur?^WD12iOV%n?W zRB~;xbIKH{mV+wnF6psS6R)oRd+$_`C)2|~5s%Q-Cb<><CAktGOj09dxD945nd&aj zz{%*qCJ?yk;^gaQ)5LG@QEW71YEfM15fORye64s-8?#sB9F;j-PKp-0@5T2euUj?q zNx_EF?+@;^uSh%F+I!XPzU99i-kMsX!7sL0E!$jB`T5o5%b)${+j1LiyJlatiGBIv z>v8+)UZ0(A|NDda(}MI5{fE2r<NEdVbibHy+h6fN|Nr{)$6EiN><{Dr{$`PC&!?s{ zYAZNhjAf389s8`ZZt_C85<h*D{52}m#WJP~FOo9+y0TTu^Wo=%DVz8DnCqQ;_OwWR zw!(8S$(FFqySMH6^6Rwu{hII6_5Ux|*ZrTqKjPKKvdi0lpAB;=?OVq6-2K-_eP8GE zizI8m*Z;egkzVcYzyH(U`68`W7B`ez4BRAA)7jG_nXAKt6IK@3U7BX_XpiB!76*-9 z&cp@>4MvAA^NK#+5#00Pko-FF)W5CzmgkhuRX%<8`Qn$0huy3F{bzLS|KDtW|KBlf zjaR?<?d5#^7jaBz`&lE##CM!GnOAXEV0vk9%DX-MFW47P+;%If_r#(#vRh_}UyfRN z$U0YjuAiIjVn=}v&CH-#M^~<Sb@1K6znecl{+w7@^hP@H)4TBd6;GFjUlUumH0S7I z!*yC$SMn~q`bI}TH}AcjhtWg9DMnuB=kkZHeSPZMEzwp!DYf)~J_gyU_l-;e9@QV? z|D4@EO;7E7-@Cr$#~A{ypNkawoU*X|Wp8wRugj)8H+GbzIv-nj`<#S_mt-o-95?w& zwhWz*H!{tpS3i63MnvN<L(2kzrr?vBsV%`wb8P>IUEEqH<Z9ICp<^jNh1*R-xh272 zZHd>;l|Cwp-oZD|Mg46}xbot~1Pl2IbMIB(c%f5~y*KdMtFrC9EL}-z4PLKLKfe5_ z;?NrRi9FxW3He_z*6M!vvvaQGy~rJZUTLq+_Wt!m!~V|g`VW-`qNzT|GCM4vUdcXT zRhZjd8EMk)o~hHop|rZ0|NqM3pW1a#yL|NY_kU5pUCtlByHK;^-0%4|UAx@1#j94R z3mRs8+M}k>dVB__lrm#ekMkV2b5>q6N>vu{Z<{db^Az_9ZM&B2TqXCO=jy#<LGsnL zw_-BZ#A+BA$fe(P?RYHm;O^PglRoj+|1u7@I(YNe(Yp1QGgH?-?^|${Uy<`J_t&Sl zYnNYna>RD;`bjQZrdzmMRV<s8Jw>SJb^`Zu?F+}gPg7-_^n6#4O4sAd#sBT=cHYjj zp1Jj0|LTip=Jz<SKFQG>D7%cyZJ$`Hm*Bpl+>h<||5v44**o9Y&PsDSXRUGfwUi^4 zSB`a0iBwP*zU#Y`c}AAL<yRI~@i6IwJCqk{Wji$~rG(w+EIaX{Xx0m_NSD4FYATCW zmfca*k{4-WyU-!B@ybHUlTX8PS|ayud7;t$_=+N9)}=Mf6ZqSk!&Xn^nsY5x+1o-} zgR^M?8wZEX0_~S`rMuV1MMu3cRZ(=C-f_Tk{`Azv6AN$FzT=prvpLFoai@b@g-oa4 zZo#I0RaGzBUr(;DvWkw1QM;>pQp)9yatm9!<fD{=eVaBYD1Cgmc<r2kLo4|d`6H@| zivDN19gQyEC#8F7Ge5t({M&2&e#N1A`@X#T|HZt#uJ->$lk)jF_1}tC=b7$UTIt)= z@60-F$E3$Pd_i*ax4k}m^keJOS5ajPdlwY1c^on2anrOT=hD;cB6HKYZ)6y;XKtC2 z*&*cB_`9m8=tAC~oAtl$|0_PT_`Kbpr#m*SQd^X`S!{2C=H9xMiutQQ#{NHkf8Xa{ z=KDYL`<LC@^*K-b<s2FNxgtxMT)6&jJ=eNE*3{E<)v~=7Wvj$aT(C-CTh3_9dZ<aA zg;V*6hVM$Aheyq3fSLz^*W!On+I%hGo<wgu|GWG3+loC_{yAO$fA8$|dFNJ5p8M8a zy?Ob>gvNlyYd`r(%WQGGoOJC}$HuMPaW8LKh+oKD+92@SIrqz!D~oS#S(mGF`J;vV zqQ^71u6>kXKDlU#sO!m}75Tq!?!EXU#bB22@&#TyKL0xORa<<vr~1>q%VO5OSrTwL zO5AIz+~u@eQIYp-Was#t_Ik~fap9JT>&jIRWY%l1QTzIGArq4glXydb$L){t|JvW@ z+<Rer>vx5T-IZ-@3yukV@w^rn6Sq%fLhhQlm>m~mBVWzo|7Ni?W=RW&ii|^Ig2W#6 zYYv_Q(wQ>cky^cTxK3#lcyT;$685rezMtHZIqj22kz#}l=P8b*Qw+Q~6CASVvg^Fw zbkWas&X((89xAIRF48Fq4YfL5QD-&ZibZI0+4AOt$M0QXRmof|ovt*&q^o^#@T7xD zy94JuwF<Xc_ede#{qU!fO_fhyo&4+Gym+tLg`Ym^lUT$%Hp>axe!kLep`|J9U%H)9 zh(}=2^U9U}ua#VyHLEV}Ezx~@$71%wr1d-ZZ8%k{(XPIBnwxE>>P0S>Ig2u?-ZL2< z(>%t(_C=1lu*0K?U+>H^vqe3UcR$?l-JNC?`Z&qP?taAnOZ%&yrtkmvqGHzleZ|YS z@6iz!+;jg{)t>)vc35cZe;1FE%r%{S@#Dp7kK65koj)&m@aXF9w>3NJG|zPhT5gX1 zZsL4MbMvVm4DHnqr;28pJ`8+wN=u<^mtfTzt@l|A99DMx`#JyF;)U_MHKt8_`cmV% z+$NtJ0$X_X1QavWBHaG8x_$a~cJ<w5GtOOMd|b^}X0T;xbX3N<wKGLuh5YP!q0^Zq zzJfcU#<_}f$vRW+c?CkQi!QWrM_x@_7pvl0V7FL>eFFo>1g3&hyv?0P9+5Ab`8*h< znyQ&jS#g%8FTD6}t3#21VbpZf+h_eO=k@Hp=*=BlU^j7Ms)}#2)oIC}cYoO(VTs$n z>BHju{X1_=ODK<gv);?h~DfIybmpex85VL!(%cflcuElnH6K7D$AIZoTwwar=D# zw&!b2qHpa{nijXW`uoEEq~jJ!to`ch?&0fV+>Y7R{<&e~ctP9AjWJE_%$}P!tIFm* zkN<rz`u(1d@2>s*ecf!G?A*Rxi60O3o}HavlU!u;=j;E^>(7_TZ|f1b6yRADRLPQJ zlH}Cr&ven%_Wrz{yA`F|d}gpe(~rA3M^@Iq|M=Q%PfBO1CG6-}dx}XXb?t*Ez0vyf zWn^9z{kzyM|L<k|{T~m%*Z=tPFa7XCP2NLSmSkK%v*dl<*Qc}Jo)j+rwAMWD)xn!j zPtWF_zD`)A`Jqend(FplboKQ0^Y!G<$v;g`_s*7{TPDx6opG)3!S056Y<wpq(?vQD zACPda`8U@?f6s^Z*RGNE554;gg2Jv|Yi|GT&o3@k^?u*)-rloQ4_|&eckl1bH7pM# z8K3X{{z69Kz|Vv&)dd?W69ofV(`{P3&dx37FzGZt6%iXgxn|0AsYZ+T%Rl${CO^K# z;3=bTChdJTZBKboefIN*A78%wxnNFD?A*y=%2hv?uI{y1)^crIT2k1ok1F<apQ(Fk zDppM~5#Qxq8JKH(^WzG^z0U0lr#I!9S?$zazIf*<Sq=^n3+9<e?EkI)t{3;-&h}r8 zjpeG6r#3-e7u+N7M91y<Q1JTT{y(SBuaDjL<+}YZZ%zG-#Txyb0_Q3nv?^N8S*I}+ zGaX`A>2TtR4r>Z@l28x%;8AqaGPz;@b(YII3#TwJs#z>NV7YvXVpRUtPY0iQN!)*} zvo?0u9BtE?XQqoyD|)W&8SJ+@FKS0ome<V*q1~?vw|XpAn?C1cl1W^iNwB7nrteJi z$7haiHCB{AFUqOYw<xIg<M;m>OEgYDy0h@wv8@?TI4f8VF>owD<jpwc`Zc+^5}MMH zLOVWizkQan&-_oxemmPoYq`C<wZnGr|9}7gyGO@<o%Md*FaJmEdd96UXWbS#2)OM~ zSQ;b{s20R=t$OWLH<n`>s#6qxEl}p)bm8^grzWrZgl6s8Qc!1eulmo1og4OCdTDd( z*53!|_Ro9L&Z<;I`xI|kC+rzK)%b1isnWozPk-94MdrFU2Tc2Vc6QA4OE;<>ubLt_ z+n>30!<F=i(|6T>-cp+!WU#o&__O59x$SwopLa}Z;*#6Za`DK*Ip()a7T1`3zLq3Z zc<Sa_ZRyP2rWTfS=lR$$h@RXbGjB>&g9C%z+MMOb_pa<#xD_6CA#X0<=ZF6?VmrF$ zPSfvJ5#ALN=<+BeYk{NjV+KK0_78eXCkU*O4B<0rSYFb$MDMGT)2ZgKiVK%0w=PKu zl6Eh!JXYtPcJ|6q&j*FM+M0_rvJB+>)ix_6cSr{n*z0a`;qXjSDP<7aAbUAm`fr(% z#D)VcJ&!fSuH9I*ilsGbwbFdsa+bAz+i$*;T<uwqDf0Dq>@f$W**)jBmu)LreS5C! z&D(1ti{)C*OPMAGhHbreHf;CBx3Y8R%Jn{*=KXH!q7sgOH?C!e%<(<8{PM@2A3sXx z@2`5@yZ!a1eFcxd*8g1pf5F!1xX4|VZ;#Edc`n_!^x;i|C1qu0LDo9iuNiU$ybPpI z{|h>vWHI;sIeD3wn3rju+x{NB`R|*f-MlYilh(){aay{%tFdd58t1<2@AiJ*y8Yj` zm)m-NT-?0eUq0V`io25HG=q~n((X8=R5q(9)PBzTeC!mfy_{h9{Q2|J#Ldg+zhz~b zBA~HXhrvztYU=K(s-AbA<Z^7>_@K#rVZl7to?<oD-o4*d{^Z^M_1Ry#;$f?OjQ*)# z-0?+TujkIa`}gnR+4^^XT&uqSNbpYWm)Dm!*UFnPmgrgZ@3&595D;LRa?$^Lf2vDz z<GpOX$fZ4DY84y`h6gIl=1*-kycc<4l}?ea>zQA@Wyx!A$G$0zwyypzms4M3CU^E( zmCdKmoEE*=-Fq&-sd(RQ_5Gd6eE%Zb)mJ=jUt-~oW92Uu71(j{&5H~jrDGbOJ3<A! z3hm^kJZ?1PbMet=ceDQYSiZLWu~+r~HwO#K*2FBeW!m&0MQXd*HFNdJA1jLTHtgA6 z8ZPiZy#C+wxo$~3N(n7|ifRr540FpRaz0$Ee7&apnzXd)N`Xn7nym?Q44CG0-(SAQ zI$dyL@jK>A_j{w4t5|&KVD!k$jsEc1NdEns0JYt7*O~qMP?OVhDDF>+-3M)*=r>!! z#l3TVnfuy8LuRdy*`;8})9-g@O^0MU<LR3+&INL%?=sHBSARbC<;9y9FB=(^G?-Eq zI=-D?>1O%b!m!Z6^Mk^p9ZaStC(2KmJ$=#^O~I1=vgXQmR&^Wxzg+&ZHQX{YM18Zm z`}3H7W?2)bOS>;TNZ7n%sb*2UXBun%MvX-cp|Vr1_OS4ruw2M+sCw00TgkU~?0F<| z_k8;GDSQ2npHDtK_P780;qQ*!o2DJ9P7j{->12*jpjhy+nG>c&eh7;`SZF1)e(m>p z_DsPgvr<w`ouzkNh_B60tj{+(-M#3;GA?Q9*w`69hdv1C$NEd@Mold}bm{XUIlnY+ zZKJ-!Pgh@Q4)>^>q+7Ol^Jb^WZ02K}|KEMTzx&Unse99{L+z|SJzW0&zCC;RwQm;N zRUNn==p0Z#eDT<^PqX9q3M;K&yK4Sip5>LMTMt}eYLgRh$q?ie2-39B);iX#+QQW7 z8S!dM55MK(JCVE#YGzCl5SDWGkVwC0#uDkZ=;fM}j)@7}x(h87S$J-#bVl2p`y9FW zs*;b!^C@P3pFVxOdE)nkxw&Z@+4Ot9G6*(5t<(2R5>&mWA;eS_K08YC@fy_@vCyw~ z1T&sLw&>J2o^UB7;6rL$>dGD8UpNL%msmP&d&Oe;rYXJC*pxT}y%rZvH#cjZvVU)R zJgdtBjs#9kiE}c~Sa$Nx?D@Lm-<Rq0<=)L*wl?gNUDf-y-}n9avH0cV<=^@H+pn35 zO}kdT`u@LX()VNkJ&w1p_%VC;celrp>$ZN~mvCoV=&8u&Pcuy0+pV32uUvUj`BL#r z+R-(u(p=}AQ1X)ql3a6D&8Ff<2lvVz)t_%3KA)cw_+(Bq!<m+dE`x28mp?Vpy`K2; z*4xuM*Z2RrK3{vu>(jIOZhqTb%W!I<ijLRZJpyY@l4}jB-q<MlFEb80n^Rw?oT+bM zy7UNhw;+oGqZ0$?()0E%-&)206+q?%-oAV1<G$E>{r+F?%<sL`E!kG~?)}@hHx@`J zPjY8lS$>Q;fNe@37Yp;dH#VOgb@jJjwkR_06`6YNSlh)lI;WJ*7pufbhMbyS+&fQY z_21sB(c0bOQMn%<ykzf}tF@ccyWBX}q<5*wq_ATg=R6mj%PI(tJwKQCTD15UewUR2 z2Ypsoas;m3oAUC(5iUmo!MVj^CARu$=PVxxMKEOw{e2l<^Zu82_V?}ergPp!XZJdP zU^wx3#ojGD4pkbIO-tcfu|Z1ijZH=E|EbZ}*F^}=m|>`DnO`u^BE464u4dNSDPgWl zU#&8`<&kT%TtWGWLn9L}-`dUR_piyG^K?$}IROR%ft6eDWoG9VBp4{}yE^OHHGl6c zuF##kG`6nt&VQbuE}pq%PDh`8+4IH|6}lUJtG1bb-F;hJGj-LXYd026a}xNq`)TzQ z2ByC!C*Pg1$>LGy(-f6d9n<YyQPYluxHSejWfb%k_*ts+>}fuz;<3(reSy%`mW2YF zc57(2?+q&}F*tnb$>o=VV$<WYE=E0BtoYbu8jAtL3pZz>L*Kr$udjbPcW31^r<6~e zEbj#mR=ztp=ltx}{4Spq-)Nu0s$HMHnrFJS&$pGE&-aTdr+d43SX;WX@pXrnS7yeo zznYWs^^H!Jdu1H|v-9^w*58e({gH9s@_37X)B&ZrTViIZoon6PykOPK+xPb=O#1ZT z<BmBij%9gGU7faV>cMxyPgZ7^+?oF;<>TY(&;0M(`rki2eY$GS?MWS(xq9n$WA+p_ zAL~&Ky!2M=$(xr6|9&i=-_emJ9o4kWKt;|(e0$vo*-N>7YR{Wj%_^$W(ondzbl=<) zrIOYfx>MDgV;I*9s4QLUk(DdVqkFQg)$~}9SFHn6gymuep$0ouS+2Dn2Kkb0s*Ie+ zIWBlVV3J6l671+H6qFsi{C4G@*mIwMzIwGZojv`*#SCYQR2~fnh6i)>baYK`*D@Tc z$dR2n{qdqN9cQG1C8MvN-@hhWGh4R6@3!FE6sPOOYo~;jnOMyYvrIg5N#j)1Spj|h zZQ{Gu@*H?MN$T!dsax&++vThojx;z3Tog9qO*`~6Nk((=CWnQ5i<dvYTwyn(zHnRl zpRM`(ChwJffA4qF=KKAVmPq*2T252_|7&;tzMp@~zrU;dc=GP~en0lsOIIq}6c?Lp z<J#iBmV<H9#aTg<lQO4<i#lgpNM9|@`|zNm!NGM(Xl3HpjMv@grv&}X&}uAf7g{N4 zQLA7Ux2tNd&YA6e@9l2I-P%(UvHRGgP5e)89-QdxBrv=8OYiIL*B)(UmAw90Ff4D; zn>R;}+^`GUQ1<nyMKX`*VZ}w?7$u*#7=2m<S{iVv8?->^PL9pa&&OWJS3lQ1IpfKf zL#J+?4$rr*-L`bjt8HQ_kyAsampV#(yr;zGHM6WN{d>Z^=Xdk8CtZn1Uh^;{;3V7S zJ6ZCl&uGf<rfpN3EuCE+_y5<iV@Flg__x_t?fCn!!0J-l7OBAWz1OpKgQvfHBa=Dx z{AsN&jpVS~Tnx5COJx@CSz$6^!gQ-?Z&#U|yL3`>fniI7VFSk$=MM)|Iy$ykzYO2^ z?bp}oV%y8=itX-&?+Vdlap&-Sr183Rm(ztxy8tczdjV39W=Jx{=hSZ8bfb?oD2sDx z%&|Fc2Nz$eT&Xs7*7MLvk)J8^!lzCu)OxJJ!gEjh)j>tabFDS+I37g=c{MUPaJ1}x zu;)8Vjf1=LwF$jUg#qV#S*1=?#_hH`(qrLPbfi-BR@=F$d=Hi@-+otSsk-Axd-~*M zxiR~<r1h~yWU(#zq?L6v#QHh2K)lZ~H;zM+PuH#SiJPs(c7O6;Kkqa{0}eh;^(h9& zc6KP|_7pv=d2-2Z?<Td0yP{qfJ=^WM-_HKl?>~hauXUIT;-+8z{J6$4TfH!txrnc) zK#p^*j>6pQTkhVrnfEO6+RD`%%l%puimh*1mMd?q`RQexD=#<a&2N91NAC_Ff7~3{ zq~a-^@VBO-?(3(c?%&HY&v54RaQKT?d!PQ8<YuP&vUL7`_F(ZTMinJNF*iiK*REK# z+RZy8RCdC(ts8F5vsrtpipNK-_r#Q^8B1Ij$h~;RyR#<KaJ_c(NALCP`KSIo>K^a& zO-6J<g9u~M>T~YOlHFcE7him`<Vsh=rMMdfwL3T7%6jqf%JXIaFNsb!U3MhA$A7J@ z-q*U7Ms5`cCJS7f>Lu`ZPl?Ct2b*V{oDul^V8pS5*G)gq3(TtBz@Vwfne6GnAt#Zk zrle-K=#If5iQFS098z<bdG`9<=8n|5oV9h;s&`v%9kkjqPr<?AJ(J>tHGl7}QD#}t zbXsF!PqhjMqhW<~PjQpbsnkO*F|VKZF-UxVQIjbn$muWGl59Rx2DTPpNy_V!lMg<a z;dEm8<rN!de(XthFM79T%Ay&5LL8c{=f8dTduA-4FwvzaTIj;0LpOv=&h2#dQa;7P z6v)U?cIn;AgD?O8jsJJvdi}m{zoO&k%E)fJta9#9x_qt0%2Tsi*WAz6(c4?}^HBM_ zJ%K*Y-Iu37Kdi_pu!g^}LZGkuam3qKlOO*46t#Nt)=1l+w%*mhQkE1?P)~ncru^~P zl&d**v)ToOx=aKku3h<^EpA@->6Z2Nlb`;v&-X4d&%1YP>$k^$)7SsWTyApJ<~-|S z9?v5`4*uIbck%hS%J)@TQu7{E1bn>E8KIV%Z^HF=YbwiOR^~Ys@xpBlj2~SyD<9rp zB!2xbcYM+Pf6vV0cNhPD^5*5i%X_WY*L_`GzOU@}EA99Hzs0|^`*nuZBgyc*fAGwp zb6KGl`I3%I39%M-a_7@Zw_oNs`18S@^-PzdnhkRzre3}CnrmJB{ttKG|GW6?nOnop z-}C?V|6P3d<{k!x*Q;+nYt`mHyELzO=EWbq;qmwG-MeLP^}NYVN#RGPB|qaFXQm)+ z>v{fjTo)f(rM7BQMB_}Rf&@)Y7H0;f2G5MIm)7sCe!jQ-{hit$-HQ+Qee}BdKu17C z@cgaFcEdT(mDjHJxX_V)OG2JW@z;Y7Hy6+ScPc6P!vWUR9-~9G9LKbmb_I!U-Xp>D z`Qr)(hUB%|C73ManOKg^eA4@1UcG|PH4lwchX$ilsV)MB0YWXJE!I+}E6mQFZb`6L z?FnRx(1>PVuXw$#u5a4Yy{A1h-{w4e{c{RO#EWfKv)8`uKksBP{Wh<rB=-Z$iAH`p z&n{OMT*xqa=6W}4tCwl<L5Y@AjM)Vj&uXMM1wQrpz^K9OwR4K9mWzR$-}#tnAKjXb z<X03QeNj<TwM8N@Ld=L+(6OU|>zc>y#a@;VTc^lfSP>OkWj5=7{r~s>f5iX4{J&_! z?*bcXH<g4BXNqf$%-ug9nQ(FQ=fCdfdrTL*R|oDtThsA~tu??o<4aISqtNzUx1<)% z5qYOGpa1(=?bVU%g{u?&jz2zqUix53$PvL3{S8k={ahWMPI9}GW3v67Z{EFkdG<2( zpAKqdUfRC@`lGieL`(A<U6fXHAFBwvzTx*8y_)Zr^}lT|d$oiyR3UR(u1=cQ>O#A} zSAXw+tN*o`zkj>`vD6C;Efc)8-^%a%+$B)*`r+jE@BU$peW!MAC^4FS<rtrvG3yqG z4IL}LUT@@Z<P6Ada#NECo|-*z!z?3?MqwZ2d#O$5vb$y|ev`;8iqd*-$nt(u+Y&vM zrmF%>ll3aj&A4uw5U`3(i-}R;z>W=DgHoUNY(1CA!1KVSrGfDP;~8!1)6bXP-@<p= zM*s6p(^TWm<(nlJIxyuf>3zPBo2kI9MyR_?Ec~YrN7~%8&x1p!Hhui_V#oY#XYXCs z$}HiCi+sbHt-N5b#}XF#T-%Z!ov)iawqN}Dv0@#U?fTcjPDy$lfm1)%%59%naO^6} zmWy*9y6^w>;>Ejnr+%#}&nr#+y7v3N?Z4kVymoH!y5i5x&Fu4Qm#O`H`tFf;{+@5m z`+sfjI&|0l_U(ST>6@K2b+pXQO}$@uUpJp^Aulh&7r9W^O6b7LMS5$KC0f*NBqTR# z2)*4gbFKc`_3QtB-F`1KtXcoxYya@5y^f)O-~4-=%U-&=dF7lQ_Clq|BbzneZQcF% zYU|>x4+;PC{y$>MdT8qH;32$7<4iXflXHh{w$yS<S2xWG3>ovRo5bUO9R3Qb{Z-3f zUw!RgCSUX8<ocDz-|zk09HMfz^$q*|-w&hXE0axT%FEA}oAahuee&Pt^r_AVXC}-E zKBQC8{xjzKQq>j~ez}7?7x2E4I;|;mDz5hNr}=+>{1!J4n<D%F*W>ti^10_f8TBP@ zyuV{l-P>PFZ~wg(r8N6i#p2UnwuZ~w)z#G4WNzD8c#3Ut?^<qFjWzBI7F`O{oZWx- z-s7D!nFSII9}0d|F=z~N*nGF*_iO$AWzTP&JNUf$WTHdzT7E_b)>f61QjCR0l2PG8 zJSOLqW}aA*IE7ClB(m<`gYKV8r{-Dv2A`B%=)lml%}df$|JB7M5<I6~9$BWF7rWtH z)M`z^7!J22Ppj|m-X7|oZ_IRR#)LVW?$5pD$C-L9qG=vuy2#^*K4znHw_bC1ORv8C zbBWB^XX(jPttUC2NVM8Gt@YNgU2IMhy`uWMl;#zS`fc%Z-m&jS`Z2R8-Nm(rrx!;| ztL*jQn6T?wp^A2{tn2&<@0RlAs?HN|V35CH`G_f1v%r0ZQ=06gO2Kd6&v=_l8Fel4 zXg#C1{zHtT=g}h-Pn+hn>m^km@^hP-eQwfHvFA+9=BsRO+W&jdz1;ri$@%-gUE96? z*Yf?%3nZPh?>;GT(EjuP=I;Jn?@dp9&ZI@}u=zDl`*GI=!I=|R1uZC9$j!hwN#RB} zx6I`3IfWk?f4IC6WRLMJF%LMZwc^rLD`jJ&E4{0q2Cl31eyp(Z2gAh0r*_@fep7ts z|K7XXW^NA%kmI$w>z7_-__F2W+~4I=q4Ry!E^oRSAsc<4;rYj?`+i-4&#d-Js7_6L zHo0WSwl}_CFa2j)e0#0zJ^AB_S|O3Hg$k~#PCxl$v^x2yrL|?r=1cr#pO(JOj`Ln@ zI-&B{k~5pTRK4Zv?!A-UyW_;u)Ma|vFM4*p|NG+Z*TCmbzEqU||M0kdxA$sS0nXH1 zsp1R!CLg)~|J&^C`SJGF*4kTUTKy{d{~-E)-P|6rhSIpHOD`Rf`oQx*;z42HFNR}@ zPaN6jh4wlfS;}Fp=p`3+D`f3wn-mw@hP44}mU*rY;a#9($T+F8DDT45+~j%jVW(~H zebrf$>ky$N#K_N-xTizq@tsQfBMVFI^glVY*{z?e&i{aMO6#V)-p^i{2MswEZSW4; zZp9<+nmKp<>gnrUHXU<e^mdjjQc9nBVDjVU$)7(5-7YHXWIJB?eKWt^l<3>n*TvtD zjAh)kJ^!8zukiIV`sMSNEintbrvLo%^Y-JP*SMW`?qp4$E+e4Kx30h~Lhh7<rJG}m zOyGqxA0|JqzH|BD#mG-jPFug<_iyq0e;U^Il7&D1@$cKeV~)w?nQh<9-~Z3vWO6S; zHebI!-E405>qQR>+<txflF|8FjyG6tMO)6Dfb(hbwVe}mIF_X3T<|n!+dDOG)6R`$ z@4wA0+4Jv5x_#xRpT}$E?CSpH$d&j{wJ^`C%zh*BZtmOdiwv*1Z?wrh_oaK)=9qUn z{EIhKm)*K%{CL5O5~uVndAb$P8Em~hN+!rGP<;OK>HBjrJ3q0%(OMJ#v+ehrkNNgL zpG@ABSO4Q(d0xzY!)2P<xpV!R<96M;9e2Cxc-`wKe_qV5``GVaCU3s2bFs#hiCd4% z(COZ_uJraTrToSNmKoU@SsYFuug$()|8@HP`+K%6Is51O{@*t*|4px4XM3<hCU<@Q z-J6vgtoE3`SyMXcsjJz{+scmLu6=uZe0RUT{xXG{#ac_(7Kg38Wv!P|Q)ro~z1V2y zj(`&k$qfw#p8^?_4*Xm2Tm63R=c(7%y_c&onkgF{bj%`~V-G`D$^@(Q=U30%3gS>x zWiK&$5_2NTv}y5#nr$;I^TWc}{?@5;u_QaBOff56ym`&Mv#ValXfiuG9m~kw`q5E? zNkMMIznhJ}UjF}V_(xuUCyU$#EBR9m#%?YTWQ_{i4hT<Fet#k|Kc;$TL37<K7o$gR zR^cXoKmD$on~KiN_C8S@aLlT~uWRqz4Z1H@tf`vU8pfY;rT4Nz2g3r**?uD7t`B)4 zlPf1>9GNA|*PQ*`Eb>glp6zx8^R|?WSs(80;IH-loR-y7&bI21(V1&uPUj>~IIzB1 zvLb%Ut0hLI-TRhg%SLV$KXLX{?LmPFhDr>_FF4j3{(f2i>*W7W`~R=^UOoHr-gZwR zsn^e!zN#u<;fu6+;dL_Te%Llc!Qf->_7pv?%J)#*_VeeryU|B3o3GxquG{R5WBQ8K zp0BhQem?r->EuVh(pK#0w7Rin>em}@zp1I4&0lpo*rxF3sSWOTjtHiR&zL`B(WOG6 zX<mNkzAWcId-?O`kLR{Ze_v#(UibUu%f~wJm;HTPUH<iv&*YCX*^k8amq|<Ct^S_R z$yoh+^RXX!mp&>*nS86c7sB#;^Ph*C)7R&$^*ML`+4Sk9k<#9MHr^>W-k)2$(`9KC z^H#2jrI$Bo&Q{@h+>ml0JC`9q+xWo=+cjQx6ABh~FnBGseeM@1_34xZ%LRt#yjP!F z&h>Y{*UiwgaiKu(_tJ~U?)oi_c2Z$V?U^9xoVHbsiGKml+<Ec$V&pv&PIR15uDENm zEBBCrQR?G|PxtGu)Ow$w68zHV^o8n0N0X}T=5A}7)g~mD|Nf4pja}Tt!pIbN_TA-q z@&C_N=Q~`j`FBx0_IeJR3D4iH?B!jH&TeXxP!bntS5?vyj=0x+AmG;9HE(s+zMSBC z*W}%?YbL&tx_akdoiv&M{P+K-@~$Fx>L1_xb?e7V_4#Yp^-X^I?(*H|?VDS3r)J*@ z`DEc|%aZ^9=lr{s&(FS%wtn+xQfT+oe^Sboi*xP=u6?66w>MPcTco-l!!gGV75{!b zy7{>DO80rYKVLpxyf=CI_Hr|s=S3TSz4-7cNNr}e+?sWr7I$oGFSecfu8_>#mlOCj zTk~$`wb_&A)m6s%@~*b6etK~0ipOieU+Yp(c_QcB&vZek@|$ViuK1mw+FwJ;f+w5# zdpEAXxAXU}=Ie9Uo?a$u^iY7o@cr7t+`Bq#cYmC(|FXDl|K}Gkg`dQ=EfiVV(9l^q z<%Z4a*HM|S@x6~<@E>hvzrO$b;qBqqc8PD^+i&-`;C({*yw$6krW(e}@lSK}_WnCH zz%4cQ_`**qQ?=%XC#t-=v-9&!=hBLr8#87V=Iz~n%rbjbm0ws0xBdJrl?yAxD_WEo zB^UABtXTQ~*zE6l_oC|yzx+I!a(`l8=;~f|0gr`GCVtPGcedk}0mHdQL%tUwlbN{= zcC?<UerJ=Gx^V5vEK&D`4^q}#I~Bh5+$OWrA&VW_9&mO{FqC6+R5%>K^V#zE%lm(= zcGvvmUUp7W)0v6I&7p&5ud>4PgN80l0p|=CRn4>i`5|zV%>&Pr-j0;>#p)K7cdZN} zpO&zuDE29QRf)cFr*HAKCNu8q8jJm(Z$5Hb&VP^kd&d(ia=iT`rdH}5{Py$N-Gd2t zg11eT3t-k@<86DmV1Lo&+!LRdPJQlQ{{373>}8p@HueUtFWv5*5Io)U<I@%S%-53y zb{U=ansf7D<<D2yx9|SDAkiIDbZ$>MV_?qR&HQ#&6`!8GdmCO?Uzn0}xbdmjn!|Pl z2X|(Ms9g4&Wp>Wy|J(fE*^hS!FI_Wz-I}wtg#`sSq}N{Yy?sqG`xW1o%mYEkI9+yZ z`E|)VAwbZG|CW`%O0M?&ny`0ob<e5acv~b{&NKBy%}#@OyE#$o!?*wL6}OU*IkTyf zx&G(7YL<654_0QL6Fu;-<lk?9xqaI<v*^swlUjQB+qYl+^*^rdjlS(WQTOY-nm;EW z$NzbqfA0Kx{j|%K>vS5ofAHV`_e#k2rfmk@UD@nXZGX?*UVp#h^*__fO1r<0UY3NF z$?&L_N%AD^GxFJyw`SwLYL-{+kJt<ri)t=Td0=^&$F}KlQ1nq7#pjDPG^SV^$DN%O zcx}h7i?^y3_k_l6X9;V0n6okC_O8pmKU*2ZGTM(l4wqfXb5Y#?`?~eLRf6j26Mu39 zWajFK`rgcl57m!v7Ua}Z^(rczSw4Bgi7QI;CHrHRX-n7E7Tt-CGWuP8^Gi|k^MmK^ zN`HTM|FqcU12ZpoGcTKZrK+&%+xvZgw>eoyp4pTs%r=QVXy>x~oR14k5?0SXdF<A! zYu}o~k8d}B-0NuIVe{+d)1Oa1Jb3f*@nU_u`j1ZnGf&Uo_n%R@`2DS8_wI3LUpe>J zdi(u-`y$TF-V_rb`>wS5_iy*=`FsDrj{mcG-PZgs27Tt!!ed^mJ%9fA>Ah38yrkIX zZ2VNS>eQ>BN1uxC|E;=X+pe9Tk1k&Rxl;MjkLyPtdq&T{Qf4T#D{z+S*<;_-+-mIY zx$?^oEu7L3XT9P|fr9Lbzl(1!*5_+ml>GS>C;#;IcO5jhUJDe6dfvIi<sGAhz{Swl z$F%Ev)*bpaHQ(a;q29H#|NmS6Z}-}-rO$l?ROasJR$_Tjy47Ht*|IJBO5OHXJ)g#L z=<(;pi}YB;|Nirsta;jIQ_dEl?X6`j2fZp@U)#F<er0ZLt-(zBx*sRsf8*ERH1o94 z2f6$>|6QI^?F++B-Sl<{o9h!2Egc@Ydh0c#7k74kJyjB9e|s;-;R}`dQ@%2URj1$i zaz@P9T_%Mo@l=yUYRBwo>G%7-&*GTvFaNjruE@RUrE|CTc^LRiWKWG0)YR1MiqP0O zA%;uN<Di5)1Jj3d%w7rGa&zLgxV}3yft@k<lv!`^+VxWTIvk9i4S_PH)pO&v%bzrP zRC~Lm?pOK#s&7w!UZ26n>?l#7C{eeSm%*R!K=HxGfP#fRX2+BiBn`ICJ)_39V4Dmx zqtL;Lm(>z3FisFGOPY90z-arF1GgqDpL5kXdh3}gA-RPHsq+{eQ=|I>STihduuNWB z@%P=OieimfZRUNVrCpomPG7TeT2%U_hih+VrawJ5|DJ`$mC5b=j8C7Q{CM-?#iN0} zLGPx%U0nP+$fLt1;*-GFqrc{UediW$TyTpiOW_d{`^K0)h1<5je*gb$|L6Sw+yA%h zDyw~e^YFH;QXTKhe68=9<LCJL#6@j#)R@pSFLkO&X`s>K-+LX)Dnnkstl7xH{POn6 zM?WVoTe)ko<Lzxm6+eH@yf=~KMAi!x&$&O-`8VG^{;Y_v&|Fi>TKm=4xq<V}${ze8 zWc&WQhVPZR41OE)mWCc!rDQ)>r*HEnwiBB^ssH~|{c~^ltW|bat1k!q`ThTwySdqP zJ^%i5etuo2z4;2NjGoH8yK`eladM=sy|$FS?wNl#pRRs<@7k%ZQ~i5Q?SGuhuKyW+ zpLgfo+K6lF7j0I3n#7SHY?$g$`gV__;E_g+Ue5#Ub8c#^nQE>3TGNqL!B&$^!8v)Y zgV;p*<)4g<Q=fG&=IM6hNezA`S`};VxAmSS(}~YcnymNY&uw0H_10o`B?tE{<w16p zbryUFZ)QDzw#|v5t@qNkLnTo^)?e&eBHY~}_%f<ub@Zx`(t@HinLGPR-+w#y?6>{@ zpPBRKpI5Uqp4;fr_VUzL(`C0dpM3eadHLFlDVB~OUc8*V{a)Qv??2P$*WWtlm3RAX z@5S%&_20KXIGdf9?YZWI!!c>*eRF=q1(YAo*tx%`dinncSEKL$cPuXZxcdJe`Ty_# zzqU8=DQa>*{ycV(+@YHfS9(0XbnR6|Zt5)EPn&XP2US%S)K*u&{q^zl-<Ln1p3BIs zH2AcBk5K8+i~sH&%(t84_slh}?MSkoML_Cb_xJYadM;_43Oc)IZj*NEg2Ov<rM>fV zYi};NH}~z+W+SO%jJr-0ANIXwayj$gi-(zWZ_Dp3{{7|XznqEwr;nBW-nsFN<rW<w zM!|Hs35P=?_J2D565KwREV2LdukFXY?=I6_+OdOYjq`iird*%c)t8!5=d4OwC(HBe zq>1q7J%&aqCX<?ZHrT&W%e=5mSNPzoQ>X4)Zx6ffo<8~Saeq5|+u1tL)}2^*s<H6H zv_iRz)z6P=D!DUcpN!^MtiZEq*V@@huN3dxx>fW4@7~9Mb+{~(FJ-4s$<GddcCDI2 zi6gkjO2XySwY77%-`n|I!QP_s&Z^d}VvHvin#OcQbnM8Kdi_deS|Ec_LSu@ffI*{> zL~;iYqa>$Z%VV7<C-&r?4oYWLShzKXSAzRoGlzng!dv&fb?UyC6$FA*WUBZ7zB>K9 zoLn<=ihevpLkG(P23CXgx$5m54sw#8AFM4u!70Gl!RYnx>Q8HvwI4+b8v@y<A1}PS zHFe=qhJ&0oM`aFZ_RCmi75Nn1PqlN9V0fN!fcbHgx8MSgqnEPk7u#n%-+De#^WAyB zRVh0jNuBXG%9gzx6YsZr*N&gpq`$wv=Xq=P$yaUuRsHq9Z~Om$8a{n`_p&lW_JWR` zW^8PV_x6c>X*V=@rgKtZgO{>UgnWCBW#i2&Z|gt2I2`|H+xAPm0cSQ@dR$UWY4duW zbo_RZYi#6fwRcN=uWowT^z`bxqdA$`wiA=8wpq`NQE_DP`g+;#*30d}rt{CAxVc+@ zH_OeYY2nWAPXvefT>Y8(Rx;{=Z>sptKI@YI=fbX@lVZK3o_bo0^>*Fky3^d2TKwnF z)&DH`{_9sk(6psxVhs$-xW9fB*JmjYef|D!%)JPyg6AIFE6Xg;KZ}g}ZgnyK-^=am z*7nNP{yY+L^_^$k-(R=t|KI;(5fWNxId}Tcr=Mpsb3E?YnPqief0^sjga(ZUAvW2A z5|w&0R3G&uvFY&oabFhlZ`=F%bmha73@#kUlKtjM-xp_^IH5t<ll!gfRloF;JEA9@ zTrRve^ma<nr<*?h%cq}kS#GY=-`{ZHcm3?d_l#m|tA9NC@Xl+Ck=Mn`C3f4d`Kfb1 zt+@K@*q%Q>&gAJZ8Jvl9X=j;ybWw=gvF7Y(^WTrJp8d^l_v^`bu9NBAkN@5c|Fxdu z^~}Wc{C#?>!cMasKUw~7wY~LewMfVHcdBjM?*0E=UccY)&0qfdzvB6^)f;Sf>piax z-MJ_9=+h<Ayv#Efu!M#u>L2yHlXZ1>*<1Gdujaek-S_|adS0i(=`@Ebqe0>n`<k*B z^W}RMmCRV?I?Zy?#UD!d&xB16kE?yZwoW8oZtgkt%ax|{ebsHn7JuElBRK5pmKmYf zZaAcPO?Ob;%KM3JqsziYF3eY##Y&azvMr38vu#_h_S<6hYR73;*OdHSa`<(a#$<-w z*Iw&doS$-buen^i&4j|7H9~T>?))$2rvLcFzeqd$UqNi^SMB=+*4MY?zlq6z-J~eU zxcF9q-?`}Z(Q~z9x8&y5gl?Hx9ALtB!DxxYr)9dfua*c`zCX}jWAkd++^J8WPThL2 zr0Um8art@k&V9P%d2qUW(v63?k6+z+F>TLRS7X<ddx08<-ClZ~ROql27JGBF<dT_E z-z25k;VxIIE<KU0bdyu?30QK#nM3&Bwb|?UeR@z9Cp*vg`>eFIlMEA--^mn+sVAPd zTE6w&l0X?|cP=Nn0?n2QP0UIP3X2}hDK6;aWaHsfNN9R>Nqng>-x_wO35q3FH>6n? z2c{dmIa(;enkd5~Utjd&-+H;(*O(a|$G?_+x%Y9CV1s)92?=F)7KWZgA@|j*m9JXd zje2b(s3;ydWy`56rFT6K#f7g~%d7tU@}dp_$s)gNN}A8-8pmaxmWWajZ|I$&F70A8 zLD0*E&F7Ovr<LcOd2?3plv?x7<8fi4|G96L&l&x9m{;uzxZJs}`>&C|pWlrPmbrQM zZ|~i`C;4Bq_S?nu?sj)k%f2HM65Fp$TRgQ;hU-a>^>dG{*DTL5>=Bh|ljU2Qz3JJD zhm%W^cg)Z`VK`yV(KRX-`DfA;E@pjFIlN=H$+^=#0&A~@#+jAQ{&qP}%Cu$0mg^-2 zWnMZD7=<}rz5c?x<>eEZ83J<-{+w9-<%avoqVmq#e?Jzjd3mjQYxg3{nLo3oA0;K$ zef8X2Q=F@PXHmheO^0`;{{Ly-FSlm--MSRnA{C_vbNJa7f4!=Dz*f=YwHmL>cHy@< zYqp>AeSY@WuNP~>^Pb;Sd6YMyO}3H$UEcn$*P0*wskyFk(bI5V?VqEIrMF+7UhO#3 z^s7@bw|Vu)zU|Eo-zT)FeBztKXYqd7A&<n^+0pA~En`zUXR+XG-6e^~cZ(E0Uu#+T z!HMINrbED%r}yf1&1vh|zBcc)>xsLc5`H9o-?Hj;T>Z-jOEk2Kcx)IH1sd2xT-=LI zJ1S;f$eEVjy=G;|O^vsYE3f)}o*v)SGC5P~n2b>7ZL!dWHu0}`n-wm~t-rr>|L+&V z!YpT2<`}L09JJ|xp<VuqU$g6tWbRw-S~Gu+N&E8PZxx0wShNp6e0J?r&>8ob6P@e$ zH}CUzYj(`{y>UWpRm_~TOZ$?|Id0|M@weG=bJ3NhHzW3Q{+Vwadi)4;n^0rNl%+y5 zl-r|TA7ZRzDXXfOcy`s{hbNDn3)A;hcXz-1`Sj_Wa}2v}UY)GC@z&3G^M_@r5m}*= zLQfPsurAp5>xOs%>%EM<+xE>Xdvfn-<EOCgB9>~N62aeD{5|u&9xJf6ZP@uG%7{f% zgj?#EloRub)(<ZjW~6t>-3dMUYpT6hc;eqv=5sQqJ~(qjYT_DqZJXv}RclLDhV*7k zT_+=%oO^fGvTN5Y+*hpOdmQ1W#Id8?j^j|Am5+7cEVjtfe<v6B`}r+jyY%bUg4)W; z$}RUg*>Yd^o##96uf8`<ebbp{_a_HjZeEL$=D*?19(s4)92ryJ2ac|SR)_a8<jz%2 zU`k<0>{4plBE0YOH|h0z_LbUIn$48krez++Jn`!jU4_Y+H~g*t{;UyW6JTNS=uviV zY*Ku#Fu|CON1{NHMal5wL`H*zpd*|w<u-J$$-H1SL1>Z3w_l#=6MCju{mqj)Wzbdi z-2JBh|EC`xZF24FVc0+G)32Zo#piRB4W0>nSbfuVo<z|x%NM&oZR=br@MLZ26HhL+ z7O`_Y(^4ch#o50rIdt=g_d^LIy+)P_*NqQe%-KGV!9rYa@5eBf7Zw@sRK!mxPFN(Z z8nNx^J)J9u+}6HT@y+zP`eKpP+V#m37PUk;<W8BDGWm4>qPM--POp~T{r~0jg&DJ( z^ETW5c~BWQQSeT`TT!a1*QADqkku6m4h2Q`loc!WR#<af-SRHV=I@uEZxj=!^Sfn+ z1}y!%s7*|R=^A^}p#_D4{h2yVajR?!AFo}vY;vV-dRX>M7nVE5*G$%~Z_ugw{AsC2 zcjoiO=k=ZyZ`-(ZyP2}&>O+V2Y*H`Qimv&;*>ivPy0xcXmxt}Up?gmHt?}1K4_^Gp zsVlM4?r~3#IFSD)Csem~UwK{Buie+f|36#*f6bZAM*C~N{CINty!_uEyVtK>%X@jo z)?J#Xjd*U_|Nr!N)0xj}=A6@h%^{#9sVA|1?fmV#J{1&9`g?r-pHFwgx1HUSs`^gh z?t~q>m0Ek%?`@kkN48I?{e{tGleasB!=_qk&7QVFmC1$M!Z55T&$9fQtf&=7ih}Ed zT=6ZptuNVnYA1JR-0GTKy6c^aq|A>L*jj*~t!E2V^<LkqF6ihxA*5i$e~($m#Ktms z9#`8MaaZ06>iUakm@<4?8qUy?zc$;ZQq#dS%V@6k`$-y47M#=+$@%?kuKQ=t11k*g zNp!fcmaqGEqU8Ac`q#FthnGJUUq1c#=GOJ;PdDbu9nRYxy!U(a_bY+5H5D>*x1~m` zzjxc`QJ~d3R?m=KX5nX_ys**BivKEk^XSdYZ+{;BIr=iFJZ3vLla@`T3ZsV01fz$0 z*x#EbUot+(l5Qi?8UE+dgGU#W)@}VXZ_43yJ&cEsP0~E=xmfC4REcUco6A#Q&XkFn z2Q_(PG<YX|t4c1`e7WiH@piE}=@PAqkzURdnJ&+K-RJ&&+RYhkPjdv-J56_$&8v7K z@%_YwMXE)Njp|Np`u}Bi6+Pv@0cxM~hF?vMoIdf&oake7f_NufSQfaeEUxmyH7ovo zS92HNUX=T4S=qJf{H>Q`6rSf?c<rUR^hwOGlYhQE$oT%`%_NDpIehtf>vPuT^s!yH z^4y*`OZs~Fymxl?x9p>%WR3b_ZY;`>z8aCe<{Nwa^3b^JYai~r9<nyq(`(&<3KlU( z31dk|fzK+U?`waby<KkJ?<en{)_!gKxy<JWB9zWErigr-KHc16L7vt@<;U6wCvb}} zCi^HbDHNWR?6P=akRmsgUD@)nQ^8W{5TQ2-B4u+O9Q0D>wA{_R_3~Jz6kCjo(O0cs z*XP$4e5!F{=#fxvSs$o*ig7~69`}?J4ILdFjFlgroX8S3dQtYsM*m=Sibu-qP2c!@ zy3cJg;aw(vc~8cgCI_Yoh39&H%{39YnbO81!SUF(D2YeVQmIMZg@;Lw-SHJuxt)Km zg5#6To7Q?}=S#WIGwprow9D<I$r&$E?t8))H~BnG%Da6uYlWWL@<yNc@$t9!l|G)l z_wSi&h4WiCK5?4FuAsvH<?6p?9n1DPDTj7(Zs=L|`Oj7R%IEF%zs=)q>VNI7|Fv@2 zC4>D8HX*k>S-2A)^Uas<$?N&N?AhIW1<97P^#iIyMPfMKAIOq!H>_Y*IDfu)b-dm3 znm-r6yg5|=X{rDG-SYo3H`OG+eqUb{Be{vO?DyTnu6Fqk?!CTk{8q|GEme=}>!Y9l zZk7~U=I&{~{yy$^_x@k=R&V}#^UEKZIilOw^O_ys>+ct*BevN!?VQ@>sZ&*h&+E-T zl_^_LR#Nrz;^N}=c{UtL(%LI?SLyHn^XOB~r=0g+QtqXQMX}F+8@J{2o4!)(JNKW} zoV-0XFGTm1>$_cwy8Me3CPYStug&IV)qH<UQM1*^AwT=Q?L?*y$=BBRCpxa4b!q0t z2NNI6F)TGQOgVHtuq4@JZPslEgM1Uo;IqYdC0q*T*)*~UJh2qw;;{JaGJX2ikhfc( zK6rDeiN&DK=z8SmPrsLLi>tUSbo|nd&)t#xPF$PLwtZWeo2Gc7gWa8--%mX}xNdHI z#NA0f{-56*etteI|87=l{r@#l89k5Uwr_sY<<yZ;SGi-?EH)wiZ+dC-!~ZUN_O0gs zm&_`IJHOuj{dc$YV!xZ``N$d1Z$3S!STy~-e){wF<LUYi3(_wYE<ZStnNwws`f`ax zZjlOY#+LFX)@^2cROkMVx$bhHfmI+%VCO}TCnly0Q@2WHF|Xj%na)?kd*m_0<r_sC zPH88v%U!?p?t>2{@sZ-+Srvk}a!GYn94UGADq*SdBBnT>`To+2V@pbks&e;S3-O)p z(rn^#eobj#<uQrhQeP{=*Zq08i|cjxzK1CS+kCYzSZ#U|{n}<yh+AdRF%6~rufi;M zYjkhQ+q`Dgt8G`U+FJGq1ugMZVA525erJw<KR-YJvd?FP*Xk`d-yRmX`}4C6n{RoW z^#tCVb8=qA=Yy|z|NeV<bFc`*qyv*ThlJ>P?hdWAjNEe0Al&@3@nWr(3z5$ki=^~8 zvM4>foA>9`>hk=1(RMp4DhdlP&0^c*+IDSWxr~O#ql*i6i?J65o=s(NV!3Cn)?s{3 zLj6xx9tYPsRsQhlc`ZhBpXkd>y|$%+MaSjfoTWPs?_qXPOqp;bagxhI5l4kX2C2(_ zUu3WLx3gAMVsT(fm$|vVaML?kMMciG7YD01^%yecWF5WuWmoKdlT~?31VkE&7fdOf zr}=iz=MzUtqRe^&Z&eA+o0D>{`te-m1SK9rhow9bNgYkb{^x{L9VJ?Vie`QgSiaTr z^c^2<NtV5d!7r`Whennz+A(9go_^{Xrj|w9bOhI}`rCbYqVC~|Z;$Qxb?w{9%A1{R zf48o^oqt!8_0PA>{cFRgZ81`NQ6g)2_mzW@_cY@#4vAU|^v@nz^X1q5-`~o2EuMNi z@Xzn~Kia|!LQ==h^=`gaeQ;Xm!969XW#5*}D&eTif88dtc8>i|C#m4Ln5Ivm>$ZN+ z+<#tT!-J>t*Q?pL8CjH@Xy4Gc)7w`5Woz~8O722dcJ<4io{`PF#V@RX^3e6Jy!V4Y zKYk=_)A%K5(VD-%==ZN{*FGOl4GsM}rT+Qc-RAi@?`;3)7+PLz-NtvX_P4A<-WvT= zRaWPpyGDmp1qCNJD*oxO|8}c?-`|9Z&v(by{d?%{KTq!2((<W{OdK+2)U#wBuMWHu ztflh4M|*0fO_>G5gu(?f+C8QkN_uOq%P25huUg;1!N4eX?2E0q%C07B{z)HwR?f+o ztFfW7cXv_s%>|PA>!Q1bY|Q(nludOy*Q4AhqWFcCFL>L&GuMtY`^8mohbdpkcp~lo zxobvw{PWt(*LSQJJ71Kjx0)&HTbNy1@Hxu9BPN;K{b51n%joy}zW=lT+uUOn)pg(g zPr~PaZsnzmH=JRNj+6>z^z)yWdH0%c=ENNw-^=^Y%ll7%mVJ5~*V+log-%b7wA?%K z?)y8Dsdo+htUZ;~yVq!_6&~{4f0fzv{A`^N#bm~=TT%}lCh#*_GJa-hk=u}ZW0%#_ z6OPmFnVd0x!l_i08R?O*<+^F49`n<grAs6<pPNqP-Pyw=T*Q4VA|%SVbMeKF!m^UG zS2isNYF#_0EDH(EKBkvw*Lm1+F`ulm*y$UrPfQ}3Q%*{+tvtcVVI!ctV^@6D)Belg zI=Z}~qN=d6bG2gP<2T{#$uZf=hXZbI%bXSV+HHI9w#z>kY299RY3-&t$r5~zmWZ=$ zoY3QKVQqcS{>JR*t8_AJO>f4;-i^F3d2IFLb6=M(eH&R8H$|AQO(thuzTk=HyU%xR zOW|2lc&|7;B=Fa&4=FBX_nu7OHQ8<6OoNsk$_5(}54kUXw|f2EyEh}PZ7L%|gdb-u zUHjy~o(-prc@`Dyu!-=W6gSU5H@Y-Qrgz%)FgKTNVObMXQzNCBQZ!hn_e}oYTzCIh z+(oUnzQPBS78$5~xL4T5G?Rz<<W7&p4TVo^9<BTR;`8MAKYxm|ZQNZF9vrY1dh}GA zp`*dZ@FWMrL{7P)BdhdY>&UAa-g2Ab#W15m`|;GmTNc^>)@tp{^SK-0^h_rBmV(oy zBEKomzb3hb-QKlSV^U9}`eR8>Hb!wLj+3tK9~G{@%4lqT#^WlX8fbDgHFfH@xUF8= z=UKg)Q*TF{`#qP>Y3h07gSVF|`0YNKQW$16QC8MZto3zy+~0rI_0`|=?SH-auC89q zRwJ|gSk|YExvC1Q_p*z97gEpWS$M8{vi?4k=EN;Ki*k#ziwfTC$-nrMVW#S{Jr7I@ z46J7^e{DNERJ`EUO)giF-gUX3mYsb5St8=}90!IaJEmWWUz}FE<=R5FM~fowOD;Ej z(zpNfsqFUUlTSZCKC@7`_psjkHTQZ|XPo?eDotE{vx=9z%?>%&hl`i*cE~fDnOd3G zdp{!b=ehZNB1Jb(KKyxC#-kbTj10=JeF8%m?o?jXGKs4y(cKZqv3_4s_JvNrzW6h0 zleb+wb>k2-!xx6C9^Gntg^e;tw}t#&>az8eP+67ZdSRu_-L8?E@#YM&eo8xZygD!N z|0vS>eyS|7lOd|1M`25y<`kI~nIR$tO6#SB=6ujuzl!ac_u7*YxAmkG&vl>NnYz}G z(IIKQ@-NwartjAAPmbf66Y1t-5NE#Ds4P=PGHLDM!`*vU#O-TbnWuG3(sEtT-Wlhm zpSn(9`n2i{@8@ef8(5>IU%vUZ_2iR1m&L<O-tYOF$Lk$A(_miN;t$R7w%c+$n<})F zCEv@-eD%rFsWN4M7A&}i->o^(>cug$^RqRTRW}7i^dDKdT}1fm$*uzn)eRI4Ur%NG zvFe^HlVyJ7<6OoSs_K0*HlJ9tZKkQY$Q3@Ed)Ps8-qv|@ww{aHv|uf3#zZaudBz@0 z;tJl%{d}A(3yafi;+Qt6FF)SB=8c+d^zVk&)qnk-)vj6mFo89t%4)9er&Gex`nqS; zT-61(t(8o6V*Bv_en5GjVN(2J#q(3O>vw>s#CEtYjFXY=O6cTty{E{$dhaGP&*1le z)|`-9I%U&l*SIOYd77uUn(BEfD>9utq|lLahL10P&yD-qMN`w|7_Nm+TemiEoo=o! zZ~3%c(Z07sLf35-o7BGPb<S2hIrHA1ci-D(m1;9z(|Y}8Pw2HP3%KUST1>gq;P&t_ zUz=uYp+TJNo%*kSx1RRT`+sTXHHpPrpEJm`7|PWuq~w=ovNP=a^J%lilI?PL>RzAy z-JJL4L`C{q)7;xKar55F%3VLEz<ew=Tdljx@_ti!P?5s~7M7lc3=cY*6!{l3oGd<R z!+88h%KATF&+j{<C-S_5A>m-;@tr;Uk1Z&5IL6}6lDy}u3d`!(X@+x;G$hL%OJxqe zETtW8y|ggQ`uX0_BP{LfqpmR+rX1U`>RaKVHLea5!`H2yQ+z<u!XQ&g()pMrzr|!G zNw#SzVUM?b-5eH?(8OF^Y4)C{%I4mU`m(5LcCX63V%e`5f5<N1-eW$IC-U8l>C1O_ zr<iz6XE%5-d9(Q1wC(Y=6LeQy`B{Fy^7&^E8+)sOTQjzOx+h?naz}aD-+y~-zBU;g zaJl*Te(i>;@8=?;_kMaM-Ea4E(Yoa?JdBnp*_F<d-sH36(v8JA2OclEz1qL8xz7A$ zsm$?*$DSqq?`RiL|GOt7=!6Mxd==}qckB6kS1dZcDtBt4Q`uG-7u)!))t8;Fx~#sN z^7`4|qi;es8<<}Z`uF4b{hyP!zn?dEo{aCZ|9?*3-{$)|<d{Hw_2aEipI$ZTi+l4< z|J1gOlgctObN18~FI{!Yb=vjbQ{Bt*9IBld9_=w)w#Jlg;>Ib@O`ki+B{irXF+5<z zu<e+Jw@d0;W<IxxS-yum4pb)`t2)-;UbCvi^Fs2DLm4LuD`(V9d~KW>b!5`U1`W23 zo?Z#@APx7mSJ!>BWsERm?=Q=CbTJT!s4x$#l4*~=?Re$r)T@Q+oCjWOOo_@aNLag3 zE_$ip#TUmcm`@zz{QBgyy6fW}mdu{BVv$qLIRevPx~)6ZeVJMB+^){(xZ69nR@U$S z-(3IW=KcFSuJW=Od0ct&XwCF{9256j%%4B^&9tvfC(ONcpA~!l{B*l~)y{KjPkFq0 z9S^uJp0e_67rUuui?1f1i9l=41~aW$i<adio|~MytFZXYE;Xr>1u|}#cS2e<Pk%aM z^DoxeHb5qT;|-sy!7GcC@Ale7MS3!+1(e$T-(hiAxAvY_^32==8tn@vXg{2)Flj=G z({TY?c9!%l#%am9na_`vP4nH$$ar!$|GgdM>A~Bd%iEo<(0#O(@yNxa4_&9YXs^yz zkIb8O>t$PvaKSOl^d>{K14;}PpYFxVu8sehTq1gHea&IRci+GFA3D(1`TT#_wKHql zE90`(zFxMKZ+6t#?x5`fp?2{WiXH}<l@ruF1-cerKHPkGvC;L^ceACeG~cT^3aJNm z=<L_|wCQT;ZLw?NF)a=AR_LC}x$(N(`tV-=`JS4B`(G_NH>;^@W+96slTMSx(H+{8 z{5EW|+f)93*}`Wx-z76WU2}PD@w^E;E*;8vv1IStv(_??&fER<;P{?i|8aS~%?@b~ z7X^iE-|UqKPvq*YXPNX?cCKc21Lxz{pHIpq^BrKH#N9ZD-9^J-lG4vr6Kr@`CbBy< z{dlzC*Hiy}HdRLHOsdn*RospeaTIV5G_QQAs=)BtL;AMH^ryXnzU{9IC3+{QM!r6O zdc{!-A+O}P=uhiZ1;l)^JDH!~soLPuS2K&t#pIM@Lz94I5!)Q$=LsiSf)=FsaH+XC z#7wz1-+W?HhUH_OmnyRyxFo(zmU#FfWmR_Z?{{<eHt$`gGs&Xo_u<8V)2~}UOxS5| zJ5S?7cjWG`$Na+EroNvuUvJmry8Kd`-4-+7onIG!TO{z$qaPQnj!P<vpQsQynj0w) zbb)&ow=~0zmv5T?f8w8gzc&Bvy}8-Zx4Um1l1}dskaSBrxOV$B;o#oY<^IR6^}o+s zw6Xh*&4WF+UyC{|`r^bUk?~2dC(cgu)5Wla!Znj`ZoYf?bIzo*eXlc01+Gkexja*3 z_r(qMC54I-+m&=hgeTqKQLOy(o1fj!Cn;9e`$GPI_<aBVjgG3!n#ae!n!J4S^9+Oa zt_Yd<6)^|j+x`3W?c5G&R`Jija)M0RvfZyuWY@^vUS097#CWdGw?4hkx1{+E9att9 z*}282zhZu=B=3IdI&YiJM2D6$7E_caG-Y$laMerSe2MwUoL@Y<JOUMNUzjG9<}&@7 zghN2xlf=!^65cz_5)~{qs%3BaEbDZ)$%SK=z}Lh7EPBnaUw%5zEL6gisn@3}y=Q`N z?qLO!YsWWkI3~5)lEGcYtwTS4^Sia%6HYdt>go&PVv5qq5$K!j80+`?)uO4}-X-Oi zzC2$4S0QrIL9bU2cmlaIbT@Qg=3jl3`(5I+=bvqi-O5$#_mxYUG9Eost<twS=aNU{ z%b$^jcWz6lY5y&;;n}6>ZfL!l$4uV-r$z+tVO6_b7kB@A<+Z1$b@p^$Q_JVE#<zBv zmwfuM!qQ7=-<F%TAFjRnn}65Wt*CS-^Rh2pDzW|RUFHA0swlEpxXR$_qFJ#wwq1H4 zQYj#0DW#OYrCg*n@McCq-RE1kK2?;|%(}n7aQf2b^0?pE7VFzp{W+R{sO#5+FV?Y& zsaKy(-n{tTr6O;;e65AAo+?ZVs#0=!X5-1gP{g-n50`HEKZ)4C@7C8Gw)9t5pT1V} zS{Pg5p_Bub!iAHbv}V2X%FdU)HdWIo{`$UCD>5@GbzgjCJN>xu4yT^J{<pX{dSazB z14Esn4{lJNtis8%O>6ZXC+*WaFZgZOGUq-Wc|zs<shdjWck`B?bH1x_jKSu+=(JWx zK1cDxQx35lZu#DRa_icuug%v_{rcp^la*hmotWtSzCp)IKcqA8O6}Kk+uNEyKA&&9 zYh&@>gLhx^zq{{yxWn+I#rJ6qT>O&7Zd@<aFP_RMC@S<^BKf$7QNgf{L8VooN10{L za?eYfZ&}1MfA;8@5n}xFpT4|p)qjrtyR2Rw%w#{%tdZoXFnPLuvt!$}Uwf{lPwze% zqW}G{_3Y-v>_@J*RUhVBym6iGx@>vs{Nz(DtV=x1rfGS%Ub@%h%+%&&#B!-`2BTz> zfZ?$T#!r|m+Z99-HCmq(3Y6(=UoLKObt_xGf=>&N)AK38%Vx!?oNj(-U}1A+{+qYa zY&$=mNSQYKrR&A*S}(t|PPciKcuCuT`NMP9{_g+tdFx|gO@;ZgrI$jqCndbQzq8Zn zoxF|U8KLJfUWzTN7GCz>s&u`)?%uIEu{A$qCdZ0&o5xkZeR<g3%kud_>rHpI3py)B z|DKqf>^i-A`Mif8Zf&|;ni{)wN@i5-)sG1R!FNJ@KbWq&wsEO>iCON#-m2ulV7s~h zPrsj6^S*cO``YJ>m7gEIc=Ge$qxb(VpTD+!`?JcO8E;=1r1ETCTzOOLxNY;*t4pUA z-g@s6_4@S5)M=u**<zxpVp0wI{b~O{9h^LO>%Y&<KX0yyG>K#OYP>g5?Z?yK@$=Sx zRd&0a`BK7*fz#uha-evjWTNjU#f0fUJ-7sXm^k|w(}Nn!qKrC{!?qpM6j%CU!KJcR zSE$$NjcHC=4c~&sIqWJ?rDCZw!nM@ilpnrfyoy&#oJ*!e$uQ|<^V^K<sa7kMri<>= zC~|pK_Sm7|V2I4pb5Y5$0!yz|<o0}@A-+~QcDsK4n$s-KEX%jfJGZDtaG}Qh+Ic2F zGi>7e%qs3&oxJ?~tNT6qYrmVh=@_mpa8YrYrz`i{jCK3|jas+VEbZ;DM^(P(di~x1 zQ|KGdd}TF>eyhOr32ollf6o<}OQ>B`Sje$<?W-_Z8NYe)Hr5v>&;6cv|L?=U36jsw z{_`v~n=8MybzO1&zWpCWzwN&J{_pn3XR8mMt+sY5N?tzISe*OrnY7E@X&?S?ESEn$ zE9Lmy2Y3I@5q@>~{#4DptiVVnjVTHq4H=6%pOx^htv+)s%{a@rd*;<WKKjoL)10L* z-7u4B+Qi^A^_<t-%FnNUpS)1G<UCVN(~(u&-@mgZ<|TgY=dgeGH}BdW)4jjn&F$ZI z`e{|!k3Vld9=>|>^}3VHks<<~Z?;TyIFryT?j&^R>+0!~EOr-vepfG_TL1TQ{g3_s zKG(nV*<D^~Fm><k%c~z-th`>Vcqk)zg{X|qw5SdN*99UIU(D*OSzuvc)Zp;#jsCHN zF+XZc1h47WoL<S|*|n?4z06i7HE81$3#r7=tG;X3a=R6WzFc-t>-nk=flRk|Pkw!U z{WrFoH{ZN?xp{hb=+!9;voC}sL>I8_<v&(Z8vP@or%<tB+pUV%bB)zl<j<vLA9Caf zlybCX-<BYK{+Kh%BKAW5%ZyyA%Vtmho&WZ2jNG-ekN*4-UBrLyH$%?N>MvGVTpo)K z{=I$w_lLjs(^THQvE8x9I!x<D-ddMcA;%UlwJ{j|NLZnKA*ds6S%`{tE^nEWYZrqc zqhgDIfk$VMz$WGmj4}}pZ#Mhx`!W6b{Q6H!vIPv=9KE?+w0d1-PI^r0y0?R6QcK6e z<9jw6?%CoQy|*N3OO#2?J>PHZZY)$277AD*@;%unSz2O|#1a85OIypz+70V+4zw(B z=$7F=D#4OCrAtLDP=zB<qw_?Nhtez6jWJQ%zim`cV&FLT;;Yg0&WxUwxwjK<%=lua zcU66}rB_x@IGdbZ<x-Q9rLi+YXRTN=f1cbPzg?kGI#tJy`>nb(yW+z6#ItMGYW~_* z{rlL}Mk981{XJ9om^MrIvTd6f)LwQ)iYe2=Ifu_LE%fhS`~TmiA0PBwUCZz~(#TTL zs%1jNZMOG?F9iI<eM7rLs=ftz3UNJ7*%)!_fYOI!*QE6gSa~--RC(E-c{gf})PAYn zN%sFf_P>jrXIJ~>Y0}2J+Mp>?`)<xp@7%HN>UkxL8}>8wr=9<PKJE3g`D*ol{(d(u z`dRh!=X3t`_xHuEIX!vu*Hxc-*|{4S>i>7U@0PaBi(<NSQ;NrZCg<JPj~C?}dRXbW zulD`9duwM~yQYSnUZwdqU-|=k(7Psyz<`6tyfm2<5=D102;JBrFrmjdh$Grunln?n zN=W#~180$7ACUtM4&NR$%s#-@7|5c~yx~>O^EY2z`Y!EwZ`D=s{8z}^-pjkMYqc(L z$tY1dQenfCpm~5@SUr=&&fthw+qtUqjT^K6?lKB;NsZlG$hl_Y#E=KM)7Q6Ni);J) z_wUWDy*oD+mZoRl5r6#f%b$viQ_f%Ml!%k>+x9DJcFnc5>HoeM%#oS3t4qG_bIrCK zCIv?2;<tC6oZGVG=IO(STfMh0`ZqPhVv|<kM~TogRU0krqu2I#9bKJvt?$p?`p@tF z+V67@t`4!8zn<@O%{2W_+diB<^@`7Id-eN$duyK_+s1j<#$Gdg?t2%h?{j$C{rz(1 z)s_AVwYpRD{;>SLUEgE**1Z0D`MiDYm#53m%hgWRKYt+1%RotE!Gndlrq$LxA8&oL zU`tps|L@uR_CLRPuXK+0eEH<uv1{e;_vyNngso4VG;zt_=IfuAJ-BBg`{f|3qkw|M zVqqo+1{Mac{fBvOa*O|aT?)?Syll*D=Qb@=DpGq=>38US+S<+cUNGqNaF)J&tyE&= zV)!;zdjIdc)h`|PSXFGRuLxMPdlgrdvw_4)3Feu4I@7Nn%XqTKc-v=1hTyB$<{h+J zZXJ9*c4MBB>Z+L6Ry)}Cu(=3Go?ui_KGkM2CnbE{yE{9JZKV&Lyt%ow?pZUZnS;Xz zfjJx2W^m1PxxD?|-RVmIp6c80E`9rJ?`-p5ne|(3gq#e#8C+!y7b!Sw>hR@A{lLJ} z<surjjghr-ic<s2!4@YMmP3`fx7iLTbGaT~=TrCj<mdW7r}b-i|69d3cPyFUx#*J1 zSD}>}UH5I)u;+Uu*ta>#Fgu^0Q4qH6cj&U03b`ptA#t7!d+%ni{ZMr2`MnLAS!IcL z<iCYQo!qtLguvCcf{PuS*KzB%GaOVl5SlEY#3e98bAiM1(unX=RXk3&8#=sP<s7(t z*bDEx7oTdDB4=~MtLkZY^QKP$^Yn$EL?7OvS#qiU;F9?%6PHYzbxiJ!c>3~_3(mJZ zy7ctpu_Mjp*KS;mWZxj_o@ZedqtjEaz{%On&)4|tjARt^q=2mK^Uw9|{{FeUT~6oo z{PMN!2QC>(KcBGHVKP_tLW6}TXUDGmH8IIW^r(?vYSyexW~I;9t`7exJ^jJU$;+KM zzeSk-O1Y<#y~FU`<Pg`(vS+(Dr=AY-{IXK$dwzUvLGkYoFP_N%dl}E;+MfP-S)siB zj!mX-cJ7MMT^(Qdv*g2{E%Jp|tz3kj<T~`nuvVC^*5`d>|NG$I=;_<Ho3Z=P-~Vg* zvx{}tr^zk5Z7u)*Ap5eD-@o_EziwW2fuVsxuVT^+trv?q-sCFe_I%B;ZIMV)4fM#( znQ~yo@}{)q3W82Tl|?#7)|h3BM=ANwF;d~_6zFq_yXv#(!@fd;uNxe9%wCzCe?DjT z_TSeI6;BXRJeqk)I*n=N)n3E7i*{&vKUdsPbZz?9%g5RrD(^m7`+Dibp8J2EyIsEW zvS7*Vb*G9|IoKz+Wrmv0E#5a{?yqw<^Rj3CeZYP{GW_`G>Fx(z8Gn8){{O*v^Zxki z+vd|&@0upT&?+$D$i=053peS0I_ErLYa&N(`m9e^b6%Uw;(Jms>*Wc#Yrdu(<@?H$ z-?x{$mv2&<bH@Ms^`oBq&b<x|pCdWfIrj0p(w`UkxBYUCy1xE%X!IJN;G(@^+cuwF z^(<<x?2d%D-_HGf`Qx?ce)Cy*ed>$(>;D|?tk#9C1$aE0|6b*%uhZAd)t3HwH9N0X z%~{-M^;XBXjSqjldva<={;NwC+ScXi<?o;IZas7T&<*XscYFVBcr$BV_B7YP$nsq} zik+5yE+WECV(wfPN<5CnI~*D<4B~t8_I&vLLTOF>k7>7W?_Iw3-PhnL7eam(?aj!N zWs(%$leqd~)CE~%=WC1iMoY{8y%>GCu%_V8rzcNRw!V2~RnXAuxu>*v%jU|+#7!}J zU8$9G*19d8aZoaSFMsZ3LAPVS&h1!MSjxOQFLuuFq_@q^SDAY(-X-2SzQg}<@4>&n zx98v8m*QMl@MX=a>DQ!^ZH+6>ALP8h^yw+zW7hBYes`GtY;ydc<hxTQUwrYm{N6u) z`=5nsouL<E6WD|pEk5z>aescn;@uYGYefZNyBDx%@;fjr@$l+Wy6CLflP96m&~b(1 z&x_OZZGS&mzdtWrj-^4tg+*!RF{4hGMJ*zk(~f0+I;QHt_QZj4?RyOavy^jD>zaHg z=ku+W{=SZ9W%pLa<znr}g_9pmEKh&>%H+IcY3Qz7-<HpO!`t`#dAa-@t=iSCv&Em6 z&X#6y5tCG6nbb6)<3yA+^NENyF&zfuFTW!5?-Z|LzH!iP|8g_G=bLpp*S*b^owNP* zF;>UvNf#~GSO<tay2Z2I?VROWUoI`rl-c2n*Y+;_e)V5tPpgogi|DuG4kf9tCl&vD z`mr&XDb%GwX<5mXZOWIYm?if}9@ny}`u1tJ`TDy%ihn=6-rvlh;mOF}>BAwosD-a4 zwPLSU+1}f8cv?0JxH@u8RSDuU*p}68u6Izs{`1eRtEc;h&p98SzB-6`N^W&kotgCs z|MbnL!^`y*<>u;kALC=MoyxOljdk?gxnido1ca9bU3nUH{p(33`<N}CFaPa-7yEB= zzdg^RhnKG}-+ZmQ&0^AvJI5@3|C6uTW9qYKrOGB36$btdI?`|7<ZP_^S5+2QHml|P zJ=Xn3`;vTq*%rm#{i)&PlEUZkAi&~r@Fb_k!~{j=a>azF7F{fyTFmn$;u*^3sW!1l zD12L*(Ub4AL1nE#?1xz?t7BX4^uLriyk_OLb$3GcPHD;5-PWASz~HF#>0IX9SIaKy z37ndISv1*W6A#DKDaY6azuw!y;>3~e6Ft@LN6wDIue;^@A0K>uU4KPfV`S{yzUixz z7P*;kejREhHszgteUjt({y*L6SF3adtUWLI7tG)gJbLTaLxFpB`ROJS3+^1-Ytoh@ zpc=%kwQE(x{PoZ8zMScQ=vwu4`9D7%XWy^C-+SiYoAl>LH*bm&Ilao}{jAp4MH)pf z{9jyK8`qF#`u^6f_2+8q@?NK&m~LQydiwJPvsXmj)ZtzI^zhA>Yb@$YAK&|1{k~@X z{>sYg^5R_|^WW_+egAdy@$>TkR$0~GT;sPoN$`7HcVylBYrUCf3mRB1Zm_TV@gh{> z=r+^oM_$}}_jcR0)oSNg?=k#UvoWtk+O^Ydq4ipoG|!~jQXK+J%<T^ve<q#z)q3Aw zJn`?L?RU!W|4xiM^Equ}giPtSz)q*!T4@D`f&?9Q_8_NO7niP{{J!?jwWZpZ!`tKK z=gxWN8ZN@f9JBLMeL?>FUsLza?Ui-yy!P$ElN2-iSUsspJOZayZBi3pV>_s`N=am? ztMvM5u?31JS-x7nn)qg+SH&j79p>ee?TY@@><abGOaR&qcmo%gVqJx2x@%@%F8i zKkwb%K51UXr$?QSjov!16yIO>WA#asp9kCJZ*4P;)3~mAQ@Lwy>DrUl!P{f6XD+tB zD|Njzs;DKXk;~(Sq$<a8g}v@9ib*`0JN_Nk_pAT5y?@nIMkW`LjZP{GlRR}EMYsui zKAp+D|L3gt0y4&oET06bJ4|1QS+#w>Hm9U-`qjG{o6q#mlgqk%q;pN$>Ytgxb6$2R z^euf?^ZN5#M}0<1F~i8+)ur#3is<+6-jyR5prt6v#3WFWzNc(&gk#Rc*4I%=XWX2h zM~eziF1nW}b9AEC^`|#4Rcuqyc%|yGVU^TL4c^Z|$(#C=zsWqZFw{$GONv~V-o0(z z@56B>FWrMf=geEyJkfolu~c|!-HtiQLJmiGJT~^2KhAnrdRFl8vx+_E!q3m&x1;d+ zvzs@6{=9jJ?N~z-Cxb+Dc#3TVi+D}+)SVlxC;z)<!h6p0Ta$xJP=|RwL&cXr3ry{V z>dc}w1!Luc4ZeLeKfg`w;_dgf(^=Mpe?G9S#`6E4)zjP6xnJ*mGsi(9<>S=Epy!_t zCtof5RuU<}#xh~zEB>n6vnMxio|*Hf<j(F*mgmAhKgfv-`x~JnzWU~-716>>8l9VO z{+c}h|E{%PAOBtY)rWyga0X|ClBeKC?qdyI2Gg4M`ajlS*m6zD*<nrZ_BO{A=XOU` zH<nE~*6sKFoHPRin?st1pi$$w2=^O`6J0L<ycMClK;K}Zfv1q`jng77N(@R9`CrU6 z)?-QUTJ$1HHe!o!`1a7y+iT_v9lK|h61jcf*8Di8%QtVeZd+5Ua8cfG-8~=o-C289 z`o|yq?60~qu>Qll=I=SrSx-9Fe}D7z@YcKuo96aziP+AOcIP$kufHly>x@rd>S_D< z?%9{a{rm0Za$J)HPRFfDay^wDt|xY0uI^*E|NoslPv8Fk*1x{~f1~%`i?2>re%zCJ z?sV!_JJYXc+NExZsz}D{l=AfS4J>V4d3}e?$5_W@UR}w%ZJsJUUso77#bc(LSKx~{ z+n+k~Wy3yi&i;OXXVv3($KFjX{Qv9Rxo=D7e!Td3KJTR6&(qnT?)vw7|F7pd?*vc# zZGM#+eS7yjyXsG`TDcy*TKckLld1JR`$+xguWeY~z3P%sR&)qjqQb<XI{QF^k4SsH zuF(Q+@mvG(I{Da^uiW>Grt9A~J9h1@k@wWECUbdIlh&HBtk80vBxu-`Y4djP-+N!B z&9|SM?!LaiughtA=mx%Z@h@w?{CgXHJ@1Xry6=|_g-UW~r@owe_w@NVo4ISxt=a7R zdQEBUZI78Qnfq7eOtpR&V#lxLyfosAf@FZm;R2%__3ytu^D8U*wj;AheopzlDtVg- zc7YS+Nwx3v-^T6!{*70p?0>@ktEWGzd^%{&zASsbO?}D#YjHxXMsXb)VKb-9+_-IX z>Rr88YWXFhTVtbNF1vQgSU{0OQ)0=7#)GBvCQO)E#pQNhZr#6!>+Ry_O=nPGStOw0 zso|=UBI8;plfE)tLFi$5g&UhRgROy@+@x#Wmnz>zFIeiX>w0{V!c^5CzbfW^ed1TY zTHnd=zBtQ0=0zM&CKtMS-CT9||C>aH?DTY_#k;M;<MsTyc1_r*{%|o1<KFT&xd|a3 z7xcgJlu-2yUz&MZLo`rIbnUV;>%vpBWvW#tvPXuLF5_XeDQ6H_adInPoyi0hg)Y`e zf1#%Ao^>7^;upeWZF)slS8bH)ao_v#*w(q)pO5-%zvU|Az@m9oV`=Bxs9rh4^(%|r z&&P)xjNM&W8yj*iLjFPg{U(7%4welJ{fo->z5DV;<<6GGTmG!USI)QX-M2B{?n(8< z8Am5Cj&s>P`>%a%wSG|1{|6s#Zf>3{UsLe=Uh^ugX|I=F+m~@?*S7Y`R*gBItrtJ} z{r>KqH}0Q5-~8OX`0~=VTfD3O@~WN)`~BP9eRFB#?>d$GPwn?5Rk!TdpSQ>6-|YQ= zZ?eC?n|1rwk3B1_B>daVmj}jPzh6_lM$+r><iu;jheCKG-FYSoZJflQp;8v>QMH7H z`_Z+<j+^G@?-o!EOfI?VIK?Gww`(?Q;^PYyevC>=vQ11Ljmjw<S7L4(RX7L=X1<o? zEJ>W;6>F~iB}UY@Tgk7{k|ln-s*!nYxOr)$>6uNrR_RQFFU{6;g@(?Ka=zGF`t@14 z<5F4aaIsW|l&Mi6d{;6)7umd#owLv8toWT*CsPjJFjL4&6V6lTmtSXQcDKOb#_pDb zU5;v(SthPk+P`=2?|0w#eSiP|&-wN5?{=gJo!l3q$-uy+z_@JR$A9;x%HO#WFQ0#Z z-@Bmt9e-X`{Hu&Sdu!3UbEW3|hlB!Od@ZbU<vV`p>a8j3X5Id}lcjf=M<4&+)zA0k zMJn+8)>Kg1u+dH0<^9e1W>;VRxH|c)cli6g-!EFfueXuyeKJ?uI@<j561K{>M<<8x z|Mw+4(*E^#^Zx0dEk2}_SKl>}TOpqwcrCv4?7v5EzTPZM=B-X?OVt1D`R1~tes80T zLxG|O<Gsi<eij{p4`=sF#q9VHzrK4z-NR_V1u}f>OUzOdQ+W33%wDSg`RAGHX<dgo zrUdP+t9tqB-Q4ZpPGx<2^z^aP`&nJPrOM2%mfzc1_xsk@y=$XyU;gcR>2!DH%;`rG ztz>L>d_VUg<;T&(>%+JouX(>E`9si-O<PJCe?}&kbQn+4?3gln%C>U#>-q0_*)E=Z z`FYjs&HTsMo*!UsQD}0$y>Mk^aq{zf&C+wV`}yKSuFkr_%%v12q;TwN)xWEk^YdbF zs}y;4c^sV-^m=Yt==G_k!6v)bzFMa-d)byttP2-KFm4vmXgKJs;I_o#(8-gIzx)3` z?cV%XREfjWqovD(Q<HUqh}T3B9tBlTP1e0XO(fErQ^GtpCT_eI(3H9JlLh}AWu7HG zf7h(sz4+R<=KCxD>^9fuJ$AZi;cKfC4>rl&t@?iM^x@?9u{&eFCapZ^DgXXW9&g^= z-+#U)uU*?^!IAL(M#J@WZx<ZDR1&*H#p1G<s^DVgEpMD>yz{v|>H6uU9mW&0FN<vZ z9LG?>pxZG)Kq2j_1gF5E$f;jkg^E>}H@x}!`|?XSaT~^OkI!tg3dy}H^VN8#v^)Fi zJ1mW!O-hgENyl_e(@xGhw(X_yZH2yh@7~|pwW&Jub;AD}yBu1Y9JH8HB!d&u8V^op z-x)JwL)My}-+?_cJ2!1Ux2KTPq+^|NrqPd&{dEPI8lRs|dRwwHCYyh5>ZDZ~Uv1WN zpOrdLnec(-!@axN_p4t=g|FMKc2WKGqHB|T5AOdvncw`^r?02O_y0V5ojp5PqW=G@ zFNe$D&raGHcZRtu-p<A*{%NygO+|puvcvL!KRkAH(~sNt@9BDZNp)r^Aq~~YG{u%; zIYH*24Gu1f2FwQB96GFJdKNDF8eLOf<~%*ju~A(6a>e6{2}^3Fw|tHBDk+nx5IVgt z=$7RNMK%!*!S;;@I0O|`&KzDRy!`Z?msY|zUMGrJ%Rk#(tngyjvE38apWbHbD;=_i zX>xkRdMp0U!VT+gt@@f@CthK2Aoez=g4$Ebu-B@K??|b*rGEbPrOHf#r>#%P<L<Sq zZ~N_jJdFQy_x0t^WmX$+PqtgkmzK%fd+eor&5wKKcK;q*=htr7T&>-ge0K{67X#zO zna&w=Uw8!`G}&4D+g5v5^UuZCm(QR6wQhF!-9sg>7X<LBty<kH^Qgc>WR70VZ1($Z zg(t$YxBuT$S$iN?xFbMGkd4jYR_lY_zG}}Vfmd4jpRV5gc<|%HhZk2*-!8Xje{tm3 z<FY4Qjb!2$zVZM6_%HA5BYXG7>%Cg_lAo<{PuC)i*U#_GyY@73U(EE<X<x%iU$%${ zEz*#D^R7kUl7*Ot3TJ}s9^MzS#y{@AbKh0)@cTK}i2WaQm!F+Ag*QyOZSGlZl?8d- zjrp+#&51rvCp^AZ|CKghSCael$4&Fqd$OeSq#W4G^YZWB*li;FHpe$Fk1yYJF6Tm? z#w~e`0tfPamh->ccYA98Jh^?}8s}_nd13PGb3k~Um%~Xd!N8{J>vHbb7Z^KK7Ja(& z!z^OG?*_R&%xQvqGQ78_=DmM+Z%=XQJo!0i_^j`G2zoFwa62wpB9OAS^4Ft{6LR%C zFSk6>P*SYnI9BGiy*F>wveTcd_P$$nOPwcEDn_kI+^#`Dfq~V<(0AJLcgyR)uKv6H z`GGSm3pggY$Z(1-R8Z4gqNF*IqoHMz#{HTT+cz_=RX-dMxoR%g%5Q5YTHLx>S7WjL z^wYnmrDHE=XwE)Y_wB4*RCR4~@`UnR)9(FVb6tCS_qtQ5YO0#5OV#Ci*;fC|`TgzQ zU+a8ZyPMZzeV+(ezBtfpy0uU(>AA14Qp!XRF~tQsTE3nkQ?C}7)cmZf-M41*$AD?C zFZ^P7pjzqTeTeP;6sxOl74NoMY;9TW!K)<ga`o4Wi(0*(ZdO{%4!(2x(!oDZjYWU1 z{F1vUZac4nkmnQ;e&wwbZ>&2laokDCVeQ*TAGT~amGf`Uy(>^9@ZmOZm=ouFCWi?V zFS#shS$uBJemnW2NsF#*E!2Nx?%y>xnd!#uxqC{VUwic=HE_+;E)Uo9aqsT$DC2C> z?B4WdPniIN3WGAk;bSFEPA0k0*G<{vmObjfxBsjBzqiMqFK@qEbuB7b`Z>d#_N1+w zawD($-raeuHT}4y;6`rye;;?hx7l%d+UuuDrgGmFaGrL19;$7msl36ef<Y)LHf-+! zh8wS4=dH*&8_*T8YTlR647!~6%cM>$F2Ck8>4xeh!}OpWFRi(!=iX)8A$K{Xz%3+l zK4Xl3h*qc0H|Gum7cT+!DCfUFcFfV-JaJ2>!Nd;@m7&T(>Ao^c4;eF7$=_g{bb|YC zSxjbZl*u&ZpU-43n-v_nm*wo`CCc2C@P1Ej_LRS#l8b(Ce|K}6<h`4*uaDZC-~apF z@AviJXYc?0Wb;$6-QJ0}n)mANDoZW+elGg{@5S=(@BIuoI=iLIR>9NZnSg}AlI;tv zwEN@d?LDJ5d)4*(_P_o-y{P{B>+5YAUoSZ{Ph7r5ePV>>d>0|z>em;Uu0PoQ;>iWu z`fJyGPb9S-6kOyamcY<4Va-Lw4coS5ZDE*yBrxPvXyAFj^ZfJP@Be%7UG)8EXS3|x zYqtD6%YL!#X3`;(v(KL9Bv;$Wd^_(y?c}u^8m8-|nU^dwi8!%(o3g+>_9ip-$a}4U zQoomdTPK|1Si#ZAC~^3x$qerO^Ysq>YR$L4y5;E}jq@Qo#~&A7T@%{$*pq94%F!T? zpdtf_tZ3W1e<?eow)dLzzG~aP{mIn3YYX)QJ?=%WUA;%AXKm}F1+k&)*0R5@6*>8v z|K7h}s}~>bR6N-eyJ5xa29ChCLY+x*C0~DiYc9{*R#j+M&$*zvIBN6P2Raq~=eWX? zHy*1l&x^Tt+cNge{PTR0YbI%kdO9h#iZo5wlgb=0<>%_=#cN-#xZZu)MUk=i!?~>F zSIe|lo9XYeDZkYe@P@gWogt;=Kx5OCtQ%7=-v9UX{QR1_Gj<akR2*G2S|&8Hu!?wT zNqTCka%pnRygAGKeyMy<`?<utx2wE8uEk#8dExfWJ^v@m*M0o|XUc_clc0?f{%q>$ zrz3CHe*IGL<=WJ<XEiJLpPH?(F(ph|c)ir*>!HtugJxUrUV8QPvDn`qnCIoye0{0D z>s82_rqUc6>j_RSlbjx1h|Kp{Z|=ipyFF^z<drjglqYf)R(z<ce7<=5`<4Il<@PoS zNHi%5HgO9`otN!qER=UVx{)_A^opWFM4q9%Py6i0ogu5TZ$7bFxFT{+u>LJM|Nd1w zc{vU&2>ANw?(K^!<8JKqWOA7+&z*Gs-p6};t6%@znEyGVO{Gm^k%rKLH+!9hN_p2r z2_Gml(0j7>W5=D+{FtT=W=)^V8VnI^J)4!{%g)K~w|L1fm*+PrG;;PijYB?(vpmu? zyf&ZdZhmZF9XTbn_UorF$4Y;Gn|pU%l)S9mT>b3sFSogEZKD4_UcYa~w?~IBtFqja zRgYX0_4w7TBY`RcYc`)zJbCHU8=I+Hc3bY+b(7mST6W#RorhZIDE0~q&PhLSR&hWt z;ey@NO<JYz9^O*eW%cg8e(~`OjN7kC%Ny;NQ;L~rz_mei<ysGwa~Z396_nm6FB4D+ z^jc!TFsaxs<GnBUTCusk?5B<_O62F+`cW-nwgUr`Sj!vPDY=(3*@B#${3i%}*qw9U zr6D2qgWu82d>f88)t+KUGgT@--~B$@<z4KpRo$C(gLKbK|NrH*{J-7*f7JiU|DS#N zrvCn4X>)#+=kea(yT9=5t*5WI@84YgmaUV6vB|h6$blihc7sCGx4V^voAz6Ds!uLi z{Qu3><?*(^kC*;jvs!Ai$s$1|50>+7*4axKcoJSKH1$NZUYh0|tsipaQe*dKjcHB- zZbAk-9yr`)=*!`_#-2S>!0NSTOT@};S)Yy;?Q1ys^t8o{iEjnH*S{&S30(YT_5R<x zGP~D&&y)GulCi18LN52pv1_wLPc4clKX%Jw(t))vE#B=~IK6gKY3Qc!9_Mx)<MNhh zxETLsP5h6&kooV*Ialwl46y2(I^kUL?4?uEYFh*X*M#si<rw(SvyEN5dQ;J^rR&lz zA9_|{BKJ*Thw;%xH{zc@uZ%R5a!6jY?U;LDR&)H+;>C;Ku08vBeV>7tQF4mQ0gL7m zg|^H0zRsSWe|Pts>&HLe)OO)#xV3598<{HhoX2Tr@16KvzCM2M&cBboPJa3-!c9id zqcw<Avn7aW0t1sG(}KdhjZy3mdJVFAMNiy|e!b>hPVCD~S1J>`CwVe7GblI+Ose^y zqU7oveRTi7<;&yif8DAUYiM9$@n}(*At<oKLDJQULuiu6gah}hJ_||6XX&nTFm*n1 zu5wz@>sQ-et+Y1Z_PW&Y#q!*lGj@4#*dE?xq<;Ko7|&jlOK+ZB`|_*5Zp($Y-Sz*{ zubCwsJt({1M(Y0F()Ww`A4hM`y>q+%PsU!GFZVQr7$+o2@<c5ct=4q#&}`MYp31=x zSoQLt^|E)r9_LRgE&uc=;r+j}&%IK-(t<V^p8H|Zba2D|otAPpjJDprb}lV0Y%j|s zM}4{e>cx!A%RO&}=5E)!b-5<HJnKu;#x=LA1ip7OC<Q)YKH1P^p0~6z+gDO)5s$#7 zoSN_N&XwQ$`{lW7^f~3Hf`XnJNeUuNYxtcyO(vJV4G?57eKG%9>Gi#pK9%pkE!~wD zcKWmad>h60+03txZR@+uVE_Bi#jmGlPoAQmo9}ykgJIxf$2r%ZZC>9O_fB44JShC^ z?(g6JeewSnz*S#Y_UH2d_xW;mwsxoA?qOv=z%c9Q_4|8XsSCD#ICy*d_cFG}b?;Nc z{#;%^Pkx`>j;c(lH5-qWnMIs`9QbW<zg&-y#`D+Vt8Yb?$COGs$*jKdE3u13M>%Gz zBHy<8tK>M}&rK2MoYeC9)-^i~l|~=Mp3N(cD=JjJU7D=0$zf+{>;pUY4UCdDEP|Ty z2X-l_eq+6*WRd-6&EvS7r5eqpOqvt7Zc}g(U$AQKw`q%37;iI<J>U`jTH?|D#FE8t ztv>PD3NQ3|#E>`PXp@Up!S_q=o_&*uv$L8r|Lytszc=f@PkwpqTvgq#gYNdf?EioN z|5E?oqyK()UVnezd#^G(e@CI^?OWUun~OV55|}qIaU3}EgeR<h^<?qSn_n)?-uv*_ zzn9PF+x<KJ`6l<}ki4gt6sGik4t+gyVg#4SMi#a71*;cs3{#B1{i^;$!g8HA`THzv z?cTe%c&$`<6gNlVaaQh%r%}HXE^cPk4D?{z((q*Mm#yYyrjM6d%<AyY++;W-PR^$+ zJoe+u^!;5^ca(nr_U+lz@a3Y>FTPgAUY``yeRF1>l#;68<~o_p-=9C9{PHQsg|aZ$ zLzc{O##Zlb7w!15q3+@L%iy+mdBv~N$hB^V_jNT*G3#SK^<w+o34v372y|K1mwu?4 zDIWSZ$9<XOZI*Ne->M+3=X<7CZM52;m+^Q4gW#-fm*;+t*|IHKM||U~FYKB5+&51j zxFe;U<l+AD*trky_U_HzzAdf$`sS<IZpZI!R?ogr`BKM1*+=u1)c()+=B~b8E@%6{ zXro=9u%c@~Q;Nz|6;&24g~lEYB~8`IsdsN(-IZ`ar&Dsz=3^Q6O_#084c)OU`L*In z2Mx_up(FP!RYS#mb5-kq_V?TUoV|VyW9JEmjt&nGm!O~}4HKp)HL9ozu&1~r@a^|r zp0UVz%}gorN~HzMK1c7K-0}A1WOe&LAO6PweHQGLF?-UDua8!k`c>_Zc(T_q=tfyZ zZuaAAUwgf8PhTdzTHK%Sx%N>5&&^Lyu5n9zBoeoG-kZFbeI=Vu6<-!pQWSMJbcth^ zpEISSp{c?&{#fLxH|P8M4lT|%GuvKPw*6D+?x^Q)A6{H*cW3Wr;Th9cuZs~|`C<C{ z{5$)q7h6=Y`tG%T8GrkB?%J;ni_iM9AIw<I9X&^{X6?l`@%8(~x}t8E{&jiRr?TNY zkINDkF8f_JJX6olzcTZ)?aD`vY>aZYl^gf3I9Yf|X#@AY+X}26&m3I53ihw>DGcI# zKk@N}tb&WP_v`=F|9`kY&ZhqBZ2f(Iex9#4lZt2Kd0iS9I*VaXb93`e|9{8rckeRZ zdQaU;WcAI@*Oz-eI+$4}=GgzDzwSr#TkqM+^ri(_@gGaP+UDiV;J_s5y>_kMm-hVl zpZRs47GF4XdsoC-L+`8N{qxcnA2jIYKOesS{4}|bua=&?R*~>ZRiRXFYdh-)wSseH z)?$h*jV>+sBHaRxOjqyX%CikQJ!cVz)a@G=#5c@5CAX`t=dZ)9AEzpvzAVvt9`#sB z(@d!I+6I1>2TkSIgbyYNREtDOw`N^^c}wCt+tLGqFIc8Y<#dTANvGuParA9C(^T_< z|Iy2mil3K0^m;2S+2G5};pEnQ(V}xQ&!IGX$>S4GO+OTpy}174i<ga>b${m9eY$vD zo-LnG?*Fsq-{sr?J^ycF{bSMmEt6k{8Qn+-F)Mgt@@ocj!}kMknx1;hpTcin|5fGo z4r$)We>dyz|MBd-|M_|BcW1S}-oD5B#eTapv)c@rL<Nm3*%r^uoyprHbVKH0Mas7J zuV>%>yLWDC`ueW*^19ud6xBQzi7!7KSHJbz@z19$Uo*43Rt!=wV5ly*7Pk20f~&2| z4XkJ7=Y3ljBYRxA;>Q<rKhsO@t{eC5+FET9)3Pk^$?bJ{x7V$b{$%GV;<eDhuIk5+ zs$2JO>`_xr<(z3LA*{`zSi#ZoaQp6wdNDt0i@^(AB(1%xwK`Qd=I)v)qLZRy;PpsE zBJAj+Ctnh#uAhBtwp7XKU3~YLDmGl(-do5Vy1n=NzRgxFd<S<Qh|Om1-jx;ZdUfkL zjhW%uQ?6t_Un4H~<=B?m%wN~4x9i19&N&~icfI|<vE2`3B!t(br(f7|W!j0ke;zbf zS8w0GzwXP+no1e<B`R)RQ-r*<6qgD$9P#MjXy^&zaPQcbdnReGo@>vUYZi-lX4YJn z6que4TMJON_F!cI=Mm1MUap=hDw7VFNL9}L^J~6*{in<8OSoH3bbPse@ktP;s*8x{ z(gp|5g;Nw<<ZYBDgg6Oxn%BF1v-Y<-aUh5@-!po%wcqTof8IR(TrFQy^7dDp+78W6 z9s(L#(es%mq^BR0>i9i*?p*EFe-Hnws{MXVw|JkxQb9)Lo;Nj1<M)2ryTitA&%clD zjXy8f|72&BQ(|#h9y`b7P$Zwi6eWJoNz;0zH7>r{f1!J)*YD};dW;{I?%ZcR;r{NO zg(mSa_jU%YcYAs<an}5j^QW#<^SxPhC&GBfyRh8gIeJ^RMe4`Sn-i8^Jh%K{mD0<T ztLtuA3Rjs1JXzby(b(d%lsB!WI7#dD^0X<bvD5y&nw@VK{VcmXy7tA_kS3KGYq{6V zuoY(0Ox2(K+Eih~1V=`;qx(<G^c3pfnziJ5nfm;?;xA7^4JE!WU%8{K^7hYyeL4y= z<o`YVe$g~F^m^($#%r#3EzKAXKHmFU`f~5Yu1iYs>$}$F<h~B5PGMkE6KOfrG?}S< zyLtQHEgw(5d>OekH@6~gSA5O4oa`BEP8;Rd%B+;G4mV$ZdGb2D__^n|b~CO~XiH$W zejh2oyqJG-OORmO;f&??zwf9rx~~1ao!OPewk^};@r+}U{0`+))mbzJT25?zIm6hq z%aY0dmFD@n*a!g?Mu$xustT%-neT;#W;b{hP1vyI-<G8J6&DLt3*N@|Nwi3OUwrrM z$$MMMpC5a1@9pW?lg;^G%SbpWu%xiPHJ|k6)wPP{*Wdg3Wz_ZDo6@lVmVJlX&6;ge z@0P9pe7#@ZUQg`!^}PE#f3n+aoVMA}ZlNp`w_T~T$u!8JK<9+;i>-G5o?iZ6{_@b- zA8!|bem=kMZ#-Y$zN~QBt#+D;;Sbk!tX{G`Cag)&af2(n9osF5Bh$BCz1H%pbIPPm z9GtiBp8eMx9sd5lhu!a_uWwRUN^93lKXx%ig41$R_pUcJtDTo;H#!NtT=4h`PupRQ zi5*3yS*IooFFk(FO)cwP-S<gvl0@6z_8u(HyMHEpXWSW|)w6dol^u3WlaQz^GumA0 zeOS|F(xMyIY#-jtb!QG_;5Zk%Wlj7KTgdXYqmx`zSX%`mI21x$BpbglzEZQdv$u<1 z^Xgcs?rT1u({aq!1yW+qLj$)=?%na4E8*Q5XO?ddY{Pp6l`?g&Z_SjNz5dhFP1#ZJ znN?~#gm%@GzFzzOo|Mnk(}(kCm2tl5DLmJ>@qtdY_AQ~=r2$1BK7PNytG4|8(T9hx zR;j73>X_1^5fsFs>ZvtFrNe^b-`j0U41za=89CQzO`m=(+CZv@ZS_IRA8#Em#kDop zP5HLiBXH8UUnj4aeN5k9^Xa7jeiL2~rZfj9ktUXjOYYCpW_40JsUo3}Fk#7(AP<$P z3O}ED8s;%=XJirxyv@4wz;^G<TKgZ@`{fMVGj7QHyRS38#x+HRY4e2D*BbawFJ}Fm zz98eS|0TyQ+czhM3a)<hB<E(ZN$AU`(%WBr%6tFqZ{3o8|CambWLiEx#QbW4$4QT% zqjR?g1%-<5?e(4N5^Hez?r8%F-)&~+j9-3QrV)1f^Jfe1!YjMW{{CWQE3R9##hK$8 z`}LVOUnZ4qdXc`kXlL1*b8}>mcSc@IIQVM8+-Dr++uin_nA)eQplHC!&{d_Wko8{O z-2HXhQ<bmFgX5;(+#t`dmNRSWx~hp2ghVQwK1nb&1u2!eFflMOc__}|7rVD7dDrWx zyQK$<r!8qI+o@&0<NH19{MhW$&)xC%R(3P3S8q2vmOA%&Xl2<xJFECoJ(h;KXD`av ze7Re*^;p8S*EKuy=DpWHR}^fS=8{%&FuYfs!NF$s`R32(isMYz_or1ZRi7!Pp0N7R z72kw{#_Op!C8kfm`tWB`;v2DsCk7KtI;U)2w#7i9Pe@ac)jB=)Zdv7H9tU=Y(96jZ z?j}>5Eao4rz01mZ=FQ{|tFn95N)x$!W*q#nMZWlejfJSDa87Pa>`sML)}pIh0}~GJ zFg?+8#AwUCVDFq(j!9<fCB?;7GW_e__P)Qfrzo{td8*C<mhaYc?r_LBF&sPbTk&`G z<AW^=EGi2BJei%FAL)9&`_+cR>e&~6{#;{WvvZH}jl1(+?Xsx)SyNnH{rr^Zw8G>q zB0<vH9EKKY{5)}N{y!i8JufG3v*hHm2%D%iVdvv(mUf4ln=8A|7Fw=gmhz^&t$)5v zsnnt~{>yh525n!jK3jTmVEq)8y(Z@x7VDheli9ra;LMlh>+as0TlcB^@BII1TVu+! zCkBZe&&)THU3qPt_T5rFgC7ZvIqUlag-(U?UYb31`V_v0r*2*@7OMF?H}+s*aA^4U z?Z2I-EpHar|F$yk;?9#LRvwd61LvKee(SYPXS?)lwj0a_6Y{iQT6NhZB|Ll3yxZfo zc%43EHd`ym$wO_Llc0vDWYLyW+K+SN&iDEGMIZJRE#Y0py!>J$+Yyh8HTUM6{j@{; zkxNwe+Rq2x*lccJb&ZkPVr!IXZ1Q#O$?JPdFL)ciy7=wglY6_jN0|A~+gq?NY!XxP z>Vr~zj7{nWtD<(qZTi`6U-A9c*|Vv2GC8JiG#Mrday167St26jDd43U$Ph5Wiz8*p zgB!{Wo<c%gUs45Sn)x3{GAQ~fyndLWEa^L`&c5rCMfdW9De-?!pRWJ;JAc<CPX-1h z0U;qp0m07u+txBOFc>;KP-sk1X`RrMz}!>aY_9Jpog=QGppcmx(!y2Cvao+fqyMtx zU~z{DUnZ?R7<T$|)y8cu*KTzbRvN5M+x&0Ke4oi>Gq~P6?ml@noBPOR@!zjkY2EpM z{@!fe$TGRes(1hRt8Iek2nV~lotw#E#M!`LAu{`FR;lRf=t(E9EX$64shX;`GCQeI z?F18NlcmD)8U9CRp1=9ney83hFa8NTlxE)7*4dn!{ri3P&bM34vUylG&reUk?8>}h zqu$0Csoi&9rxtFT;nz`{ZgFB8+w;qvUCQl26PQ}J-`idI@6CzUW$Vr~_uH+VB)9O^ zt^IcQr=)KDw#@hQ9<AAd%cIYUZJw;j5-{<M%C*;GJ_UWw4GkHxYfj%{5^eP@Gjdni z!lWb;wLGC$IC_TMjmMKWSy@@mJM+qBci{&6*|Bo-b%Ql0aVRG(F+V!dg+;~Fi({VP ziDZt0?Ek-UU*5d>>FIFwhF{m#S__;N|9mxJf+y4cE%&y$rq+G^DSrR|z2oAKPj)Z9 zym<1<l1!P!%=?OeAIsSC_v>fz$W?2<tBZd=9l6<1MnIx*rl5o1x1g!6MTT?#ycUml z`r!V&yE}4f+Dm@>owe_OUHg*s=l1dS%cg!lx3{Kp%k|#y)0KfCdIpSNCZ$LOvLz<p zkX){O=m4K0TTaw#=1|@i2E#+s!Xh`!T);9Tc1FCeYGc@`*$ONR+C#c885EsRIw<gJ z+gHUG5<I)jCWV*YI1}yh_fWET(E<bY9^ob%zQ74qw@&Y7pQ|ICVtu>n|E+HYSNerm zWh`bqxOHpGwzc=8nvO{v<>9$&@$1dGhx?8k-~aRJ#~)iFb>G?4Y$^I@u0KyaXmQu; zO)~RsqT^iq?fzAif1lMgY4PLm&p)5sJM2GeQ`xjFevOPbs`*-&Zfvjnd;9+XqCJs2 zPtA}0w<RLSY%*)8Uw(r1!o3#ve6PG)Fx^@F^?GOT?eD+r`z^p<<}&T5#-%m8CqHG6 z;*|_iakyNux#;X9-<x~IUcX<&_Uoy<n1BE4%E;A6j&5XNV(EUdbVADvjh)*U-<VzY zG)Y%kIZyuH@ALBi^X-5By#N2z_WvTeD=&WC>#?*`y)~Ep?z9fEug4<qzy5k^ndJFr zYfCeie72Zml@|1-xqO|Lnc>w50>--^*cLp<7x+|r-1=WiW%{-IAJh9nye2TIIZiy% zmw)8r$r}Zl#x{2Ly3yexF`*Ys1bB)X^3-qNd#B>rCXjRZbftEw^aaKZ<@dH+tIXrQ z7MdEZ!FBt}zNq5R4SkB|zJ8ruz5U%=>!|p7@{-X)8;c*vMzG&Y-teS1q1l{2-?paY z|E;fUckP`La(ADd&7JeH8EZDDUY>DHQBa9_;e<&l9<DA5oE<lsl$A2)h-kC~pPJ^H zk-dS9Wl>k^wZP`ODbE70o!tKG_nl|)e_vhIum7_nrpl8+&QVEdQh-LQ0Mil&Ar6Hl zQ?w=pajLcoX|M<jDRFg`e7Yu-AbY_v;fs(5r`vjt8MR6m&*-^D&wZI@Joh|%VS2jB ztn;g~HeJ}6wQ7P&<dqPomYnVWb9ZbL>*6whnzCch*T3%{6<El}@3XO9diwIixwmgy zH`gth=JGuId{6Cp&Mv=urRSOy${GcxU*4JRd++6y)4ryWOw-#J&r1@O(wXIJs{b<~ zV%xS2e#asW<GU7gg~|$q#tUukJ0YF$K;Xjd2lrWuI1L;U=A92u)txT8Px7b=qk{sM zn~P%VnmM1d>`PZad%61Ktq+q<zj|8yz~Sb%Lu<A%wzw$X`*N2%d1vO@DK9t~C&+R; z{bJkMxccPLs$jW$zY@NG&~x!$we0W9d^!8qDxOZKLsOameV4E2v$C_d{rBo*_sdOs zuN736@+f_H`s3Bl&C_R}Qp+^jJ*RhD`yM^>t(kkvJ5JPO@BjYcou5vn)x1Bi%>8*g zLj%up|Nq;c|L^?&r}o!ZcWR!txisre#_r#L{qNtu-Idg%9;<sR?D|2DO+mS@ni_ZS z4CCnAm=P17taLGY^JK2woY7G|Nt|{W4FWQPLW{oV9Aqj?5D=ImlEI`HQRWxC^oBu; z%T^8VrDhWC9U7NccK!0ab2>%+THqqftLBz5r-N^v-n`cDmgmh`0#R;{UtO|#zBl*P zwc5%1RT*A86~wX0drn$c`RVHWy1!4wrv|*gU#-97W!k<Uzy5Sh-B(y)>%Dkqxw`sf zhbqJP{P#JX39m~_e|^%Nz$5bM-L$aCNnaeZ<aHdQ!=AlXU%ou|wbJoK*0zl%osEB8 zWS;%JJNMxR;ir|iCjPqEYw>oe{jYv=_q}RDey4O^%w1C*uYNtngvq06vr6`bslulh zOv_mneZBgC<;B$={&gRB?3^Pe(s*fsC{vJHX7vP~-BtP4H&0#Z&EC1z`|e4hGp8?G znk{jyuiQ8*PWJtqo)ms}8Dk^s`0H+}FDtgr^j{a1Y`oUpvm`k`oI`a=+<LLr^3vF2 zGu@v&sO5Om^jq!v&3hmF>|^iE{968JrgF=qB??C-%G`*m{kXng^3A=sf1bX)>>DVa z9iMaK%7Z8d{_EeW?*Bcv*j@h4+b5RF=h7~JKE1g6BWD-Gfot2YSt{kqt_%B`c5}n@ z(1WjAn;GWT{kg|pE^o8PR^R{p@$-^4$`R}gDLDmv7rn!iGoGG396i7GTj$2vzJ+xg zu1oW6+w3xt<J`<$Yr|%L`the|Ukn?cPsgOG)1tgPoj4d@s7k0_%v!m%Ys=+ROFQ#@ zIr^qd30#t@l;m1DjlYULW7qy4?Z@~3y;&U0l9b@2<l-U{<l))m;i=^6<gs>YS8Lal zFfUi5N%x}N6b`9)T1S5SCS~Em-^eWdbZ$!Q`db1`=}a2>#|zgVR`_&JLD|sKI?8|9 z%wucc)&+<D)p@w|`-5%o@1NjXU)?kB@AvwgYn%Ck|9|VPslRPm{O@&q1OLUdw+}mR zx3qn=q;<~qLb;j8tk_GF7n$^ZUNcW8EPQo}iNx1mp^@K8!_J4fTJDaRDv%Pp?cfdd z{eO+L4`-OfoPQP|(lPP-y3Dzv39pSb)-g}vk&)=>mlP7>kZG7Xp)>3J<y8;gZeh&m zb$-oMAu{91#48goUsJW&bM^HUN1v!i4rVp)+wFfmnVkRs+x-9UtN!T-Oi)o35m?)u z6>1iw{iTsvh)Yr7<h?rKlQYX!+k0%fR~0-Z^s3eWUq!tQ^6~pcm&bnp^!4P?NB@8Q zo<A+rI(`aY!Ua#h?bXL-OnyB5^2rLLSY58kS~fRc)_i*S_xkbY>(4L0yo&Yx$;0>m zTy>YXyJ2l_nYa2?zy3KfwtFIn-t+GEI`#PFr$<HiBIG$g#{a)u{_pnvzX^qvf1bX- zemhptD=Ok&Rq(f-U6Ow^E^O8L>bqAXM$#cek#*;?m&*cg@32_L5hc6&8f)_2OP8wN z8*XWd+o-<q(-eVA4GTn)45VE2`GZbay!>7@cg^P6$0oQfD7_G*#>En#!sO`iPN*X7 zv6TF+U3V(7nKpl3Xv%9*XM9a{<p=3GY@cQBEs4E;^qKnpUq6?uP<StUud1Np`@Nc) zPfssqzGULIl=$+==H>U_On<tc>-YD^_io#Dov-Zu{c4A8H>`IgHq94*U9?%uD0D?j zNQYyAT}S@>bLnq)eah|3y_~pl_NB#d*Zywby|~W2-*mEg*Z<r7e5ESi+ymF7iacFW zuCYsU5p$5UVpY$in_NXYQLfe!YcGanMrG_(4fK`_{r5_Je{@ynl7>#@lYjGS-aq^I zw)x@QX!ibl_91nTX9;Om{d#)y=;rB17fqOxn;yMvYg*Q`*NbBPT^CC$C|^n0eDBKA z&vUd&)9b(AzFw9ev-{uiZf)7)_olJDn04!TW26Pgo4v*J9?p%dKOV32{>(4ye`f>* z1eZ*zn$7y>PkQ{Bw9Eg$nBTXWzb|TyS?J5xU27X39H`#0ZSvo@_iMkrZ0~2gt2mL1 z$9nO_42wJW_x-!NSv@r}$16FfBT2`5chsy^DP{|!ey`%0oA>9#!^7_L@9dmmw|hqo z=L3cY<_h+M8$UDXIO~e4e7CPDcz^Hh$Ez!IpUtoRb#Slr@4_A)ftuHQ1A~ruaV0Sr z$F5-vP!KX;^jKQ`az*LVkJ%?RE>>S@ir^4;eWN4frRkB$(&+VK?K`^}@AB)ved&(h zlVje<z%fyBW&lTuQ^GgJ4c~*Z6sJ~9P7n3+Vr5ZeadAmf35as>{Blj`hIzUsqa};v zWbGXqO=%yP8eJ|&O<%%Z{{F}3#b1vqG0p#O73DQoeOZL-gH3h2?ycc-lUFx?cW(av znvY*s8k&VXeLC6RC8u?LxqR)7zYps}_s!k&C)s3fD$`a4zm(kuSC@5tGCB9@R}tfj z-E;F~=j7gfloNB#tIw9}C6ij^wRNYnHfjF-Tv{}zDKb{qN=q|3+$tma){Ur=FD{=< z96spS-V>>C5HT!Dczr`a_oi4BPg^B-PE<P!<DAUfd*-tWsc@zQaNgfD(fov`cC_cr zpt~lozqP6BpEc;4%A%5RJT-aEV~xI+&F7368I5b3zyHs^&Uapade4TK^{-d0$})cQ z<p0zB`ikGbzIBJ|>+9*COaFTE>7mGP3@jVWU)BG3@a*W*pPQ$@-W>ThRwDJ|*}La5 zW}H=j{`u#k6+8w;%AW7ORRtXheXOtk`c$*f4ev!h9j8A}p8q$f|G4<`^v@>`Es3iC z^N_tzMnC-N)u%P4`8f*56AwOoeJr9OWMZj~=e2FRtW&odD}}{z9AD|wJ5OTEwAAR$ z4&85x51DM+xTNpeUK3d!h2F^Qo+LF6iGXakm5W?bIXxmbf3@47B7flIfrFLVYd70j zoY%8Bez5%kV}qkXGe4ir|J$EE7*am^uJV|}-Q}DRaqaD|CpiU=?>%g8-(A?(oyz=U z_T<N6u6M)s|G)d*&Za}s;`A1gzrGvSy?*rP%#Ce(3m?Br*l}6@-H9Fcv1hujPEt^* z)PJ24_2U2I`v3O*)8B4>d^!C5e38qW<xJU`E1y3r$iL#Pd{m(2gV&Dcx3bT@&MFDX zuKm5hov*m1!-4I2g8&1g=^}=umI_*|3X594mz{YlefFe{P32x4$xnH6)K1RL-YviH z|37zmyFJA_rgx<k{d@G}>E*cfzkj^c+;Xz)%>g4O^`N67k_T?Hx3B;Aa{9V&;k_2~ zV*O?bsi=0CyDxr!Z})zE)h%MJN}3)W7M|v(EjO{d$gla_*ZB8#JX`f~>whiKX88j~ z>)M(<KTqzjF^tx!|8Si@{q^d}A6+AVFXGANzPDiOoTaaR->?5LH{bq6x%I|VjVm*w zZiiJ)OM5vtF8xN-@5}Lj{(PJ)ZWnRiA(l1y!nA$4PPh8^eZBaX-)>K(VRfNV-8*Md ziMj0WXE3wy3#1fmn%-yk_s8bH&39jZ$tpDc_vZ5VcXxNpJKj0Ph@r9MT$q5slJlD@ z(pSe{OHI`gVq|&dz~hy@@<ym=@dPgcK@KscFewXz1qTE?CSEIa=f9aU|Nobl@9RD; zinBa;prxmSL8YU!K~aE9u_d5~si9?p%G3!;EecB+Sk{UN7+B~Y{kG!&HK82`WEf_y z-F)b(M}+AC!K0qP{;~I0T+m-!QGTJ?(3blkpU~d=T<c3(OrcjxMNVs+Y~ftJd1HCf zj;r=>kEVvY%A~ok|5G#T4UgjMEn2JQyp7qfJ8w@<PNJ7E?*+~X@u$;nu(C{bUAJ-D z%2^5J>)xLA)0@5ORjHM4?v$=eDq`2Jntl0HV`Jwl+&WKu-Q3*<uG5$!mnc2?Rq=9p zU(Ul_vx-ziEj}``hBtCQ@jY_UZ%&Vu*3~-=Ti1R+7@^JTuw>5VAi==hdsStho8+lq ztNXb+{@=sz@i}4I8}q(xpQPgCdv9?;pR9wHYlFiBK?$Z^`5V^Wew#nnuj~H*k275@ zqw`|2-`%&b`2WtA>3#40khQ#T{?%rjWH_SOHRX~Z*TpDx!MYD`+2_~2{#Il8|I^E2 zhrGGD%&Z)J4^MUrzd!r&=&wJko;0vq-}S$@f8o-KUvGZi|Nr^9j>e^rw+@8yC#hcR z{#mpu#^?0cTkQ;N3=Gd0Y#T}++?pZb;C;#IOw??P`|Jkiv{?C?Sq)ZYvQH{{yH!Re zZ>e>($qUD65}t0H+Dlx&1hFZ(eVE6{;9*eAk$O4ojjjS~jqsg<gIg3W<Yf#P_MhZo zQ8{@)pkaofqd*nEj)B9058u-6-Vk#R@G6q(e)w%GzkOg}xVU!U`t>!{F=o7*H~*`# zxhtY-v3t+1oSy#V-UTctf7Vo*{(Mxl%W_BQ?#r@#ZO+dMDhs1>ubtSPdetgm{+-Gn zADjDU$^Sc^Rd?;2eo(6Q&I?f%@;<K>wlH!XTRKJbrAa_it$GXNDZ8Y1O$;t6EJ1n< zO%4JIH4L9rnneov%h&Dv-TLpvDpM`19s7R&`zzi5?#|2SKOa6kyD4J+{;FT6>wg|M zndExY@A>S+ONSTa9A;8sOB27ATU}?kQmjwbx9e-l#*EI;36aZxKlt@^-IA)kAA=TN zlFQs1Gj)3SHM6WKN*nmkoKaNR&pl(`WBp0xX@6zwpZzHN@S|V9?vMZe*xXm|YyMxm zckqFE{g24N?V*ylX2o(JG^pB9y7=?W<@}E<E*f3lq#t_cmgn8L$au^1T49Bg>I?q= z?Y?|=^8LAm%-5Q}3(S}t_vfMe_WQrD9sGDTeDhIF=hHpsHf<DO5>VK{BL8*LLH>Qe zo7>;ppL)Dx^<{tgeb-+*tZ5P0IZ1O8pQ6XAJ>uso8&hY!h?^F<|Diy{1eMIWvFr2~ zyBM`I<iE>XJZ+*%fgMZ2x5kM}I;>BIt=JU*|McYh|DG&e{dab!j**g)W@moUs;G$p zPFk9xnypNY9-fXJauHfTpJi!j204{oN?HB;8)LAvgd`)w-0Ay#jrVRlH|qeSzTffp z@84v&=I-42buItxOIMeFK3ih7qqMl#^y4&7_0K1*vJNGE(q4OH>)*Sx`Sa$OiZ;G4 z-PZ57y#4ySwcN$Vp4^vR4$s|Veq~QoXzmT~8Yb85<(E$$+-iIK^tG~`GtVz})PMg} zVn?L-Im@gKnY!D}B#t)(F5&yWUe~{G4Y%=!^{oZwpZ`@e3wCe*_-F;kQMMJ&JU%FK zH8!dBP028IZds9P)3d~hCr-;qt%5H%+lfJ>Wzv+c){NE<i|6HK&31|k`1Rzgpiy$d zb3wttAe|B!_tm?UltPRc6a=ajez7rLKDunv!;hygm+~IY`*g7R@NIVI%hN8O{Brc= z(W{F}86^|~7hOKtP`O!eUtQ@gomak(B^*5W)V_X@P`_Lwyop6Y$>D*yYs-(-`f}%= zy}nwsb={$@f$!b#|9+6L+kB?Zs<!jbw+i1ly^{07l|R33a$gp`TJuVK@x-jxFYhxq zb3BlgII+`gQb6Q&WrpMw9o>q#T&uT8xFvd*Z)3mcCvQFTdQtNwj<<&2TKFaeR&po` zFc~N@2r&E>Xli}Xc#u_1aKg#<YcsVfw3jL{sH6zw^YJqn8x>bPzM{y&-NAG+`uYBY zuiZZMaj;b{es?Xbtit_S<<>PTw1PkRpZ9<6pv#i5p-=tt&$)q8w_>K0Chz&WaBE-7 zs_2MN|9SiEUX@hy-~0dI-rw(Si(j8BUSc%y<mc|qtJl{bcJW+P<hZvk+)JQPs?@#m zmh+W!+xA6Xea)T!OlNK)!^9&WOG9cWNH)9uTqYl~;lqo$#-i*@9udbKmpLul-G2AH zmAU=Td;e#Ab$g?=;dGkqYPH83<8A7{<rJ09Q+s*t+lm#o6WOjfT$-Wa!Z*+7HcQ5Q zoBv+xPj!4U=`AnYw(PVj%eg5kA11#HeR8pL#aYqa8}wFRi(cEJ@Zn%}+WCCF9eZCR zHMM`X|9>98|Hq@k(Al@YyMMRa@$J)-o2yntAI?3ytu^7GrH9bZhwaxt#}p+vMonU4 z$c}#f+IOpikndxqnOv>q`SSB@=Ectq(Q#C{@p5^;-R{cgf9GC*ULP|xneDx;HT$*Z za)yQ$L6)1Z`|SRGNOq{N`}gbb_j~m}J}~~+wst)W!y*AA<u1;XyLU`wb8XZSH0V=~ zT083)Q^WK)t&H1Sler$Az5Hjkj*_7fn_7cHVDKcD+Jc|r`z!t(^^XrP7I)`5$ZV|8 zEa0VeoUw($K}cn(is~W@C&i^9Dk=h6lY%@Qn>tuD6<(D74vpNml|_w#LAiOmf^34G z)Bz2l%>Bi6Rrhw4{ogzLXU1+;s~y$<_xw2gCdX>N&SsP7X<N${q|_Auce^Zh`Q?vK zpSIN3F3&%D_2kEgcXywkzxU7I=lg&EsDE*5^J0@p3<B1DF&tu2{Wrs&9Q3`ux=z16 zBLD4szy9-@lb&V?x_i!1-<tW^kKHn%?;czHbR!|pIsS}Zs?U!6^85dR{kxO6SNihx z=fza@)9a#xt^~_C_U>yHP`VkRZF(Xk!NrAv<zR(kstV@;VF8XQQSCZ`rOa<Q5`($_ z?_*$4VDNNt3`t*bE0r^dCupZ$w$rnOrC!Optpb(m^Kzq9m>kL;FjYUx7g}q~_-u7j zoW%2w=idIV|9$<wwSCpUS5IGe-+Xj)_2x}qTNX_DaqaJGdHb3RCReY=@Bi`Z=f`6X zZ}+elG{*0-Iwe$7TC-2@_R&>a<OCchPhdIi`+N6tcNvR`uk34nJ$QD|Z)=p!^{1=0 zh#jbm%Ri;}dBaw5`+qlI+}pQ*N6_l1Fh^Do295*{1C|$pi?&MzdR%N`f280vv-O<8 z(Yx=y{hN00T&|C|+4Ft(LSC<$qEWnXmy2VEN2cQo0Z%TDYf8}zg#;$DKeuEkW>Bj7 z9Pl(JI(&9(-<D~d0!oX%%Q0BCFgS9x3R$ouID9+Mp~0~)@M^8dn|JR%+~$9O%H{37 zUB<Cf*RB^e^Sd;8@@CV;{0tq}ejmH>u)ta=z0GFs8JhzI1{$ZTO0BYewnpiTeLk6H z`ulNs{N4W#7F(CU3q86jGi>p?s-K^3KE2v1vdaF&^SO;*Bd(PF{xw&+T<%CGTZcpc zB1f(~j&(c>ojO8I1YUBu9_sm!#;aj*J>=XL8HpCJ$umSO^Us{RdUZ*R?t9xE`}M+} zACEsCQ5G!gzA$!<XU49~M>Ss_ef@d#sZm#Z=xwc~pW=4qo&LHgXVxjT(n||Z?cTN0 z;O?()huza3PfptD$1z!hNqW^Pqb}Prt;<#pY*V7x&Y#;UV8hPfB!6$~!99=lCqioH zKcCX$**+bf`(v;B?#)l1zC7A#cwx#NGXWVEcA13L>+|p5O1;mLe|uX|*|ix-yKJKK z)Lv(0Hk;?ZSQ5SY>!pH=@~PAHwL>-(U-<vv@@#AKPm4c>yKZ(#kv||&*4WIfI3Z$U z_jdQ{`@cRstg-uj_x=B=9Q}TFe-4)K+iopkai7E8p|>H*ZC1-SM<$JgmouC>6f4rU z9b*z`amu{;a#>44lV}jv6qh4s4n|A!Fit!%<<)Pqx_|AD@BjN#X=wi8n5y!J{iVAm z@cTGTbP#n7(o&lg#Jw<O$x@MXkt<C-9bGt%oRP8dy7~6IpP%3TC?;kfjS0=)W2{en zIv2KIdq<{^too@L+vey=gqYljy~6v<v*XI=$Cv%>e-{*6&Xnn|E}T-j?$_ZysV8<# zz6MbjE{50tc(J?w?oG+Q{WYK7{Qvv==GBu2-)2wmmlt1tyzs*z=fI!u*7Yp;5?sD> zmb>S#2k-t~tqHtdYBG0g(6?Wa=2D`|PEIP>8uPuKIrxOdv~+d#*5}@goBRCSESIPV zH~G$99=PbuB_q!U2EB$WEN^-fl4q(kP4khNv9|D<r4l3Kn$6c1_bo{|eowvfRLsKG zHQL*oc1E4Ao|wyh@7?RSYi&APyI2^H28w8Zx~Is=e&Yv2gV*cr(-Jmm$k*2<$+*m_ znrqYd_2tbUNxR~t&7)^C2ypM%djJ3I{lA|4`giW-(VIVXR_RJhvm`QXm}me0?{zCN z_vO=1pPI^N)1cC$s<b&VV@-HVq08dBIMJg=bH2Vx+Lh(YpwOVwa+{%E^d!HQ_I{gp zAzyj**L;_D;k?1PPw_=VrGGF}oY%n@n_XITrdelhk<Y)oQ!IDs<|N~J^F*JgUc9nE zMJ@Bv-HT416DCbjad<DX<AKcLj)T)?b3Wg_Y4c%)Kl|4%K6${5rT<>5z?5r&a||Yx zvoUcy%2-(FFV-kX_;y0ZDZ#-dsUkS+=eM+4_5SzwZ*0#CKDXMYU9mJk!RvcctbcT} zq%F(Y#ufv!IdkH|Uf;}$eJ39iy*@2;<GyXXZ@(|^@AF$*S~<^X*Xr)e*Vp%NFE5j; zE!aQ#)V8}N?A6=z?;9?A`L*ru!+k*?PyU>_e%-R;r5~O|F6x*P!qmI+`L-ygm#@nw z<(aIw-K!h6ZynR^WqQ*#d$T|K)|~I|xqMTuwPpVG@Y6S^W@k&D3E%&7`t;-Kvnukf z`FnF-y~^6RbCymI=jPPVEgnYYy3eBmnC_XB8n?5wHJ9XhUB1OTd)2qsAD@=`-rrSy zd&=3gt!kR5H+@|;L9mqlE^Cue6UW5L&=4L+E(eA$^ZxEOol*Wr_0zdE`yZc|3EFh~ z@^<;2ON~|E9_`$CM<m8vMyFx%17^lI@1I*aC3Eu}in>1Q^R=m`&n_~&TC{gvv~bfN zDgA4!cdc}KtfOXe<9*#9`FG{ppMLxic~_5d&(@6C0zL@`flR?{pYMF@@9(Ot-Zsas z?jO6rG|NA~y63N-Hu?Wo_xkCn0jAd?@|9QTUI=`))^J&-Pxh^ChSzpKh+Uy2UHL$O zsX{9vt5<_lrKuu#U+&&Sexp||Sr1mdxGCSa|IZ&+L*o~Xj0}RDk`gSFCb+nGO%Mq3 zniQ3>bg@KW#?o32uk5ACDhv)n9vT5jGB5L%e_k*Cc>A=5r93B?mKur$=9F&Qn&0&` zX}|pf4-KJx8d{1j_x^v_J-_ZB|7x?q*S)s)MZyxZceeg|^yKT73t8pA@3qT|pI&|T z=nb*2M@#lpzdrWpb@<z&otAY^gC{(-ay4N&alvHahp@5`og-OsM|Fc_%Jc5bm_Jv{ zbzy6d)yxYo4<1}wwfUxy(xi{Obi}%k9?jb6QqTHuRmsDj6T5HS+p3pQ`1_jUR=e9i z-Pa0IV|+wzc&7y1@jAD?%BsI7cMZSF%#In%Ov0S+Wfvt0XteZ9$!OvC(|WT+Nx@rm zIZJ!>-MedbdOZc0izltfQ;*G)VoOm`;$sxJU&s6G^l^Rt=b;Q6?B?|A&$D?eGdF&p zMPxOTid2fy<PRUKw<|F<?uc9Wyn9h$qrfATtXzX*Ci9-JJ{A=x?tAlxN9SC}bu6N; z$uXC^kNz|07mVLibNBUEef85HYu-w-7M&^Z?|RSm$4@S|`rZ{^xucx|OTREk7?&%2 z=`2$zQSMUGXnF29<xMI3^=+H~uHE`!z1ZZB;{M%P&Sz!@ELy6d+5gE-?TVD1c;J+( z^c&R<dg7-OoQz)VSlz8XZ`Hr7l4N)7vU^n@mR#7yAj9G*naYr{);Wzqo{33;TTr68 z{J=cJ26rJQ&YR3am9OtbG4(7u_Bm^tKt_Ds-_o?Bhu>C*9i6|wF4Q<V;pH3^F^wMn z^YQZ=Zo5SNc~|cLIVOf}b3|Uuf<3pt&%Ro;Rj${~dUx~BP4oQL*Ztc3QNj0e-lbdN ze;=NEc+hldbd1mDHO0RRzJGaAx_J%*muUHCo0Fe>Uh9@MZ;J~H&AydZTUli}TkqKO zd!dUj8hDqgS$g;=S=;@}vYWZ&(9u);R$WFpQhaUv-`kvo7G}q8UiqrK`(sXA*{;6~ zA|BpTd)JG7&$G#JvW)dLd#e^!m70}cF6SS9ZB5UNoSw@L7wl~IROW6tdZcvio;BOp zoEKlb?&q;~iN>m<-HX+?=f9PE!#A<fW?y!5<?(nm$awe7UDxj3eJ^uQdQZjIoM4H| z1+m2&1ei8(3p9v)Wxu;?-QLftQ_dV>y>;d4E)6r+Sdrf16s`SH;oF{`J)~#$_HO^W zz5h=p3d|N?e*D-~j)Rs4Y8L!1E2h3FXOF&nH?ck==JS)E`TFUX<IGKkECal2O1}O1 z_&NLgds&Z%9b%jOwnS-8O>9^eEBbbgM)#&Q=BdHcmTBdD@NjX`dd?cDIF(Jnu0^1y zSdZnRXZyxGJ8g9L|M|nOzt8S_?{NkhhI@BZLRXaL%w$%WprGl=6(TitnwHa~ATL?> z-pr|eQ?Gb=PC6npWs+6bx3cZ47iFBiJ-_*7Ub*k>Wtn>-)<2F5*SZ<k$LbV$<!Q>< zYq9$`x1W1jSyNQ^YVwz3?()Z{cYmy^dw=jO?|whusaa(%9}B9VKXgCa|6eldzVDZ( zM{gdt{}uo0>8mIG{pQCEPTgu|O;T~q$-2KKAgf_rNa2-pXD?rVzWcZN_v*^RvWru^ zgYy_%&F*C0UUqBE`c)@$Hs>szF)5bc!1t>!ug(d7@zZI-Z%e-C-|_grYO?Bc{eJ~J zwQO!pP;`+B_1_$@VQy*r;-5cvWW6%~?aXk3QQ+jQ28GrsXS`HBMHCWFz9?c)T{!tb zU4N49rx}kztkY*&dOy0TvE>@ulmx{J{{wH{M0;=0h>~w$v^a3J;#c+kb75N<J(T{+ z+wHsG`?IK~@c*+qb$|8CFF%VPcYmBJ>hS;eHAd#7w}(nLc1{)v=WRZpRGPfseE#(5 zrPb-{|KHrs_x|pUeY@uTdt>f@Jbtc*YT5Sc+qVyYyc(modcWV*?@Qj8t(_vWy5jA^ zby=z{Mqvi(3?g&RvF1*+dy#kl*7Cn=CjI$TQ}y%rdb8QAEfYMwY>o?+@9y0G==A;d zuVQcRe(Jg+Y%{OARp-}_9~a&3-CKHNTWi;@PCL836?-cxzu(@zYxm8R&9C0}<<-4* zOr5<<k5#ey!@0r-0uOu_Y6>KB+>7L6RAAU7a6-l+z#&m*uieh7Y|eRe&ig+<-N?3f z#mZIEfmQlD%Nn08$r5mVr7NVp$WQ%k?%RaBS<CsqZ`a#YnJU%T{Pyo$dz-qgSz?uo zE^WC!BVcXV<e$54cUt~<x-8B-SE07(<Cmk?&sYD=+kgA!{kwjbPe{)GUR8LD-}h;5 z^g6M^YwnJU3=Ow*(pSYjXStboDvn{>6XwRdXV&ersGp{?(;;$ZRiyZ}Exy5Pr>$On za|*NBHPdA;zb2_>Zd$Q;#p6iEwu9HsC8aLgoV3GSC+6$#<L7JjrmmZvRJ>ucar_O> z%T+VidI!&oJty}0YtF|P*Vev$`!;X=;$3@d)T=_L$r+`wOK@4+&z+wuTjDMtviM_M zP4l-i<$E6cPlvS5OV~DSovt@+^V3}hx?6bJ`QJ1$|M}h1wwHhQs-R0klQ!<llHEK* zzw7I=bzIp}8QRfe%W|E94`!5qco4liPUpP(@pD%j1ehXDUt?rEW_9zP6mPqAl<VfF zS4+w+UU3!DUMtDOv>;&D+B2&!Kd%fgF>XDixiPRv*_FrV*woV9TC0+RuN_^cXO??= z!xWi6v%4oU1u(6AaI@8n<-CtqiO^1CJ3YJqFCRY^pMI@krAKDbT6PA_3=^5M-G7f( z8Aq>e6;fFe;Kk9}#30aFBEzlNDZ{DMR4;u%SbM3`TKB_iA1@a7+W&X^BCRa;eY2n1 z-W6oj(_eS%*pi7FueXYwP<j==Uvk$@#=FwI=HaWCZ7ZDj=Kk+*bF;1E{g)L)S|3}r z@$1JQFYW&=val4t_CkkEz~j@q{(t96tk0%#{+;{gfL@yZt8FZ7Wd|b@EhS2(c&R?! zGOOKthuMvnvhNNW>ApU7<?ZX`=VvX`nZ3#-FEnGy=S~kJ&y_-5Axk_?w>f89I^DVb zI=%9i^o!GvTkl@cu(;dB#vXfNk<RMRtGlxz-=<Cc{_lRb>j8GNwTWpWO%a+536B_9 zcsGc4+%jI!_ejN8S=3YLgx!Xg#uI`oH&&Dx^4t9o;5ZuXec^1fCIeH6@ZT5z6kEP! zy_uMpe&heWborY_aiXg?Z!TOPKR?#bfBm%C$Cw*<Wu#6Y5NcqKJ1h3rFD^W9!i&9* zuU=(sj4{`<se1pceE(m@+ppfdS(R5AxwHB1yYKtI8}59ydi|TM;N91@pYb}W*3y08 z@ut|D0s`eKp>_ce{!Kf<U;6*z)^iX2mQH$n^3BtaKi|}(ot|)XgMEil&}Gk=DmPwp z&0M-^?)CKUsq0NFvwg~Z-3}h-$-6x3RQ~fBf-VjVk9oX&EdKbJsQIG5_ulbU_$|62 z@i_PGE1^zLPX&i13=H=ag%l3YX4F$QHWFrt4Ab|UX8-%@&uH%i33J!U9wC+Kn+w|% zSnBNT=I5Aw-SvuzTjBk~55K<7{k!+(#VzZmt@fRr5_vaDCBSN5@$U(et9CiH%)J=! zYRUb0>EPUJ*=v(!U+%e_E1jPExOexSJvpxz%|2Qh{JknV$aU+-AT7<*N#7=$2z#+! zH+y=ERlmhYX`)MzyGrXEzw~P}7DY^*x|Ofdk>geQ=3`fU?@pVl-4&(9sxsAQ_OdOy z3?ElTTo3zVee&bW&TCW39-U3IoNXHL{G7?Yt%l88laifgxywE~nq<2A&g9R9$+!5O zs~<<LpU%Jjn(M_hU5%Bk)0efDUJ2ZqYvy{hvp9|MkFQ?v-p8`_tM(Ybe*eQbeaGt7 zP0N=jU*51efro|vKu1p_vk?pb>(t0K#zDMFTh?l7JI^?`{Af|^?5@{VH>|E~ea>)u z@!Y?&m4%;uetKlrEXJFTA7o@48g#tN%D?}*yLOqO_~XrI)AS5gI6YZ8)?VXr(okru zG2L79FX-L--bpP=x*}6Om>Sk(O9ihpJDL@$JMC=N%QftxtnUq2m?k(F8MG&?-7I6^ z{Y$Xt*!olPe=f`S&+ENu?8U;EY0k7EH?=)F+MI8_d2i^dsa{NilN5rSv>hk0?9~kW z&f~<P$vV-2$wjEigF`jN{QU9h;Tro7TF%&Yu;W+s-tO+zNf(!NzDwWfvV03i=>d&t zTCd;UkI@N#{W7bj<Xwb}e%k-b>i7MA?F?VEd-vSlwk?sYB1b=JR(UL{DYDde3jXuA zpWp89lMnaU_h~NCtZoi8opbf^))l&}38xhs(hCml)^ioqT`p{$xv8e3a##85XTRS3 z`SVnpeVfQa&yBq->R#!ySYNwLUZ&CKvHC_E+YMc=6bW9okIT1TD|cIc^H`+x(hKq_ zZ{}F86@M&grm<`1_aAC2Uobj-2o0=$Z`*R<fKP);OVWmWrsvpeE=y>18d|(}PT-JX zSaQHo-!QI6|G6Sd3fG5k7p>mgRx>nQ413;w|L=!akN&*)!L%@yL3JtT1*soD*U#r` z*YsF1i%oFCMP}pTRYwn&ZJ+FRbk~kKq7I+_?rvw_z4vL2+7mX$O)j2|$Demk{#bL_ zg8jnl@9*yJum1IBwa;nZ&RwNbFNt2d)jqv6*|t1st8UB3XI+Z2uI2V}_x6}K1pfM3 z^!L}(i$yl2t({Vjn5=7W-0Tw)vkNevxKn`V*|WYB!SL=|2Af+vmivaLO6?JUz4c%W zhiI(ctVL;(kAE(jxqaVuU6qwZR+6%BZffK<mnv3#Q|M4MU{EwLPWtixwVME^#LSZm z>uR_CJo$Y6|B8@3ds!GwR`|_vS)%f4&-LaI-P56wBDbuLie$>B-aY)f{kZz`*{g3F zT)upA(;D4`jM-*C6hdT{uF9SLH0fs8+i!mJJ05w=^bko6oEqiD*mJO2Ws1w^pNsA= zFl|}O8jyOofWs>2@4v8m1DP+|U+uE7x7{`8Ow{A4ViTwR^|N_V{(765N_K9fB^#?! z(g&5?4|TgDOsCmSPEhnz$i5zSH|{>G-i<{b)3VD8x9+G;?!LJ8bkxc_x2{~jbDHh+ zO6mA(d?o^K-}jikp33~ivn*`NyPMY|zwbSe7`jO~VNNQ?iq{HKSGKJPUwc33oM85W z?f!Xt9?RD6f@Iz0x38Z*TCz8*m+`%Ug`1noC$l{>*KBS+{W0x-l>hN-&AGF-<<=yh zsR^5sovwRh+NncaQ+~7GW^ZR^KUz|mxR+b5sa@a(`?H3*Hj;U{M+3J+oLfG*^W)NK zGDnSq91d|aDL61H8ffRNv6P>`JHah_uS!^ukf6cljk$NtUWe|CGVOMa7Ew^KIDD<` z!9nAyZwDh^OYvRt+%9~_vU1zcyZ-y@e*QSL-68+fMAnx+j0)A&e;-IqwApX7evk6X z00jlbNt0%^I0!j;D7NtHEWHvW=*hyAlJ;fZW}WhL($7m}_HSj0TxG+aSXsK0EAEcX z9p?KcvzsQg2JDT?|M!c-hN0`a|NPj#<<e7oy3c-IKW|3h_OB(sch4_-ch|D+*A8LV z)gMy|tJ*4~By4uinH&43s<LKV{f6nw1$Up?&bsDW)P^ZX-t6T+*vNly^9G5ObsQPn zw3c_fou2ZkB6pS3hRy@(6EF8{ys$A%Q^H2magql|8XKQf%2thM&%+NlXYZPvpa0c8 z`tP+_Ki{m<TdO;(D2U_m-#yBnM*AXr*xcSX<<CAAncmFGA=9*V+tzDQ*QK7XWldA+ zcWONll##|KW5L4m#g1hH$AJSsmNEa%y}4yyqC<m8=kMslPm2^;6c1Kxt12y7qnQ&` zZg<n5&7J>!(u9NO^~`(|T%Ng?udn^~LTpp@w?`>fw!NGF+`B6s{dbQ}m&bvxf!92r z)R<LPmVEk@vdQEPqts<N`FNTAcJboJ4AmxnX;klB+tV*mrfhg+5^Im`JNXj1n*9F{ z+?IcOck}Y(&x=|0eEBZ)f2qjYcvLSaN22+3vZP?CP^`}DyrvaTlHSNJX1B1+Rmw8b zedObqeVgH_noMkEJCpN=z8lr|9ZaLYELm757I-FTx5l=EMheUf`&Uj#;XmV~prFKL zU|e}6J^ZS_UH#Xq7nA;e(|(=c>>;qF%R2K+$Ktzhd-ZQzV`eyi<=WeSYxh1pc(0<y za;MeAvak2z?PXqkTWv2Vo!!>Fj{n_@j5{ygn)9UGtAb6x6>W>zdVM`F``>xxWjhmJ zpSgO~OKYRGl-sOTmoijay3AWQUOQf>que(|;Dv8+&b23drdz2AO78y1xO$aoTWmm~ z(#>kcMgRNvmjB+U>V59_zK#fO<L_(VJr60J?_KWi|2@W1#9f9jHE0RL!M21SOi^s| zJj``QDb63d|1&e!eQutwd!S8~yUC@YfrDcM>uj~uERW(gnR6zVwKFf@UH<#ds&gw} z?@NCcCHS!Y&Q)iwX{mG6Zra-Ztkzgi_V(0V>+7fX?(g{Ox@OfHk5jjH<lVlxO3sB@ z@tA=GPfVc5#<OP8TQ+v&*~s;8<BR)wt^D2cCAXuQgV#>xJ8qrJcQGfw`u)AX{NmZV zZqC8GckciEqc9@vaZ!VTRc_e(IWe+*r;}`olFds$&$)i;brOT?<{a^rU)NrYNcr$5 z`NHMT$=>?cs_h<c@vSX1Jlp%6$G4%mRd=W5j@R$z{QVR8`NhAd=Ny-2guR}s7PqEk z=Y?$xw_V%zRpRvYIJ;XnS6{2LjE%XXxl>6sqpV!S_0FxCGIwn}Ea%71yS`d9&{~d# zGt5nkOYE7z&AVr1-wEy2*qJ$N`SRzQFH?-Pn44pCx90ASxqkU{m7V|RnO9G)X1sGG z_KHVwUUX~qgQDshkIdh5-_PCqargK6d;a@KA6WP#X2RBpbJ=Wep{0+H9o+ky|M}Nj zsvbOw9GxCLEN#LLX~%q4MOrYiD3vF(80((Ss;_^4a<aPOkwq2%WPOg_jk2wMZ@AW1 zWzBN!bJ=R==G`nQwVZqI`SJJmH*ekCd~@oVX}x+k|2{0=|K9rX)uhTg)Be?0bGF`) z;y?d<dZN*!w|6(#%3s|!Z@s>~MdaOj3!!^bM<q6E>df4g>O4DEG;0wXtLYPyC829A zmnPhk**|-hTK?vKZ*As@UL71P=1FG8js?rFte7dh^W5yCmrs9n6?SWWcy5PG|E)Rm z<>qgD?c;lHwaEhu9#NTPFE-6iTej}(uH0+A8xQF&zj7^iRdlH8fh&v_fmxfaQ_URi zT)8Vd@0M7{8J6~0td;-zUoRK$eiD$dZO#4a0-M?9Yd2XHUH<nm`hDN3A3t&u4flLI zdVT+oTiUmqS7qMr4$Ybz7W(68e%;%z*6i~4_Q$)pEm*Q^#q3VMXREhfd%6Dqq44<M zcjhivKfbxL*fM{1i=*JWb!q#*M&I|m?CoWDYM1evTcx=!>&nUl_>OK?mp`ii_e*y4 z{M(ar|3CP6x&8gT^XJm_-|~LX<4c;Yt>r(PyIjB1=4om2>7{0x_ivo`&23mRrzdmk zhkyr9PQH1!aEfzT?rFif@h{h`OXp1uEndYm-RpF#UG4vrN!zY(Zhd#(qUPy2D|J89 zjfbPQvXqOxOj6xY!h5~<)Z@)p-~Tz-Y<_R=3{`*m#nL@#*(c6D|J=NH?e6Ny&CMr| z{#1@Sr<NP1@<v`(R!(+a%)I^ee^#t<vi0{rm&UH|`|s8D{h!{vOfJ`EKm3tTB_Qss zgq_rTo@0|QmhCpyb6RjxufMG8?_S2^g3N~<Ph^IMHa|@1er(XUBrZMe(v}@_;%usF zqIgeBo9C~(l(Wsp%P{O|f`tzI<BJ6*k{s2s>m@^Ym0P(^UFDeftox?11#kP}oWhN> ziVaSCDQ%RP7k@5p$LCE-Hdb|FE_wHEC`L?Psl(<c)_yp3b6r{COxe($tW2YIar<h& z9Q>#$VI;v@re>_Q@mh1@&5W`gv#+dv`ZUYzmS%BQpZ|QHQ;Q!)^vwI;ykhzD<J05T ze6Kk+(=U8=>bbT#39l44NQcZl>6ozLU|4bOhj&-AEI(bC6@6-3TxRfYwfrpo)t|0j z&wnpFCH(X9)m76bKfAU$=-h=ThZBE3;&%VN+xpCm`8KiZuLWv^O^kGYV&ui)*fR6x z!aO~u!~?#YO-pObsv_4HM{=CFHRamtw5_MQE92JhS*OSt(ijoZ;_z-+XII2q-*?MO ze>Uga|GKyR-fo+j%8&iOdMwzoEp6$-1&8<EJ-8s|sy1t@ga^}c1s#UWZ4t-Tz27oh zu(6eKg_^)dLC)~zqU`EF&t~6e-}w0F+C`OfPv+RhiaM<R`R3%$ln0al-aVMGrLL^9 z@MliR<Al``c02zk1hnk+n3xf>{9%rr)RBt?KdzPUEB^UrBFnz4OE)iH7LTu6soOPo zvAEmfk2fc$tM{j^-Ko6L^RS?xcbH16k;n<ZRe63{0y_@gZitz<d3TD)6Ga6NvtomV zpJ#8_%{|fj+Ut}o7nY38IV#@88{^{FKKEaqkh%G+cy_pmOY<rY!%5CponBnpR4^eu zJ~MXxtBB4_KVL83OF0Ea2Hqy+<|}3?TN^sxy?f<MOtIN#r4E6oQ~oAbTwDJ77z5M1 zSfBq--`DH2Sk8WaalxL?k9sG6UVYWd_xj47k1swf&`R!E*yAdGhL`z$ZodBW)#~cY zpHDxn=3M;w+}_`xSKmDPGd1D&ow>6^BTd(?&sr<Yba_Wt#%y+ZyPHb8JZn-UEN1NJ zF|3T;bbZMU{kVTWujl>$^W0xw|6a}Gdz0nu7H_S6`R?FbTM^&9^rF(4-@mo3jrQ^s z6<NJ&X0Gec4~JKWdW*C^NIjXe#aQoFDX%fhJiXaJxze9sb2=Vcx^>e{tF33Auq=Me ze%bMw=+cX?Kb`XbTQYaE)S?41F*C1tc*s0U;AAmcw7L6Bb^VtI{P*k1?(JZdUtXHL z{p_Tvu5ay%a<8qfvYUVUlZ+H>Er5c^;)(L_@?>RgZEAl#yPYpOIZ<e)?xpSfzc*g_ z9sl<b_wU_{moK0G`Dd2JtSL)lO!vfHe`UPfV8yC6b%k4Ns_e=S<leU3%u;N8_~y|& zdbc8cr<pFFv${!r>Fy~Vi$vyh6$OOG^>hRU>x+L*owa+ZK*rXnEt>pniv^rcb%#D% zq@(3#)^_~mn%J$Cd$Zgguj08ev&VR9_tsfG`~Rzd4}ZPKm}`3<-<``zS5=Ay6pu~5 z{5kUSvUle$g)Nw0|MXpnS@un5&8I0E%}HD1*75j;8JI-R{rqLmGA$mqqe)wv)<(BJ z*(dFD-d|~N#QUE;n`4&bZ4WGOIl+?^m8|5k{U5KugC&+{&R;e%cRiZBdSzj#N%oY` zA9u31Z~MM#^UKM*=FN`s%E&(T%J9g^Z!gYu>))}s;dd)$?%btY`g)WExLqvVxME+6 zsu?^`@yYQ^Fzr)i%y|9nQIVGjgNbim*4k|UY=16w7e}3?8mb~pZQ8u2*S`J8{W<v8 zWBVQ7ugTlZnY*6h)*3;98xNn&ddPEHqJJAhi-Zfykuy#T#>#0EC7d6=aTV<B?3^j- zlb4XBE<WvH!UD^+*RweT4}I1?`hYFTbjM<i#|j<_x#6onCS)k4JbXKM?cC<(pHDMc zu6<5>@T9S;=ftO{`G4L-zu!~&?Z?Hni)X*=+IC#IrJ}6v=P&Q_^mVTr!irC6Xk|$% zZWO+DGpb$aK#oFbN~^?~n-9G*7M@cKW@?`4xTrv2rljSKhdcp3C#RndjgAg%RSL_U z+}gtXhGn^$>gl*u9L9GdJh_Vg2c}yVXKdOQnw~p*TJl26<x}p;@Rc)hbJ}Pd?mT>k zG5o;UO{+BTc${5y<Uq!Ujb^S~&q4*20{wn{`+Z#T!=AkVr>4jKyyLyS{`>d+*3l-s z4pZ(|eP{Omdi3ell1TNhlLTz;*T3I4q3*+rKVPzL&RG5X@nqvItLG+K-spT=Radkq zefs6cn=7*mobrTsa|$?A8{P?MmQuOmV(hx@+k>ln!~d_<-}mF{ZhpV{d%n)y-gn<d z{>raIeqWbL?>>FA&@0o<`!s9)+vWE4Ri(eq@t@ni{ZNHEpIS)n$DgTnMejsX(#?Ce zA4)MV@)p;QiHnkW8tS~-W%Ay&u6JW%Op6z-Oq#cKHqU1<e*f31U$o=(RF7OtxMG%F z%<9U=6Q-mTFhN7+Oo3^1-S=Mi{68Q5tSU1&(qZR!-=UdP{%+;V*2T@8PZKvhJU4f? zC~sSJqQ%arwXZK<)_*5gp_sjOiH&va-e|?5s*lemNM1hOeYGld>O#+|x{X{*b*0x& z&hu|GoZ^^bHd`-z&y2ao?Q7S5e0T0zueAAXv6+vu=B|p!%jef}yd=VIBsDEM`f=74 zTeFj2nRZ6@uDWxLq07lfJLzm!X>761OqJD|f-5*S>PS4z*s|4BviI=QmnVxh=Gfk= zdHC(7>)&_m>N8cQ)O=1jAM#pFkaME;;=odY2cpVLubg|fJ+9_sM)~uPd&Ha)jI(7U zREt>(+p8TUl6LHxGu?2KNAlY}aod0W*}eJemp?x)b$^|A-r}oO>C)2Jk14lz%=T6( zKfoYhII$rzNGVs<Qumpsu!-ZTitkSsU(Bni`nMtPS;483MUNbJvL62T@7}|+&6{{W zh%AhLys2w)>E>0pXU$CJk#0Ssz-YMRHiIl*fTU7rLSXsY@RjR|XJ5SL(feF%S%RZZ zKyQXcPpYPipGtF9dG?P(S3Q4y`~UUZUwOOO^Fl8ci&hIb9PwjQ;&kdUa`WBUF_BqV zP;jU4jHI589f~XhNjf_d!qWMils4XeHgT2GJD+X(dip$KE;Hu;-@GU#$Z77LQl6G> zqmC@=_31C0Y+H?<+*$ML=EKw5m!(hNmRGiYdrsKm%v)<Be;l3uZr8TgN38;-Pfz0U zy=znZWrv;Jx1&WtZKkVvyg%Prk-Bwi67O}Us@k1*A0`N_p4}|a)My=<%W!bAr7^?1 zSx>lwgSV%(_<YrRx@IMd%K-y_9>GUi0VyiJhZIvq7e;UxpV_o(^}#u}=7<VB`nrp6 zX@uF?tXF(S><-U-Sdw;3UMZ|8xU#IX%&6Te>4n?*v-9IM`&!D}Qy1EOuDSYT*~bGG zH|}#k*^>E*Gx+z1gOAfJv#-5;lU2B3f9>yQc}t!>Jna6tvbxG}_O+F>)0!QBzVhB4 ze`mGV#m(vJuW!Ade`dblYqpLjjw()DGL;Ne#BLZx^R5ql{la`-(U;)**RP}X<z?p2 zt$Y8yZo{t!i}q}iW__ztTlPLADVXo{&yw6IhPBmd5vP{DEA%+LcGV3jyFE7bMbq>* z*S>8ns+L&iH(PCIxZ&joFH5`vx0N}~{**d<xnFqS(%p;!<<p*;RGxgj?d;cC3(icL z>c~3r@YER*Ox^|0U*>#l-Y)<DVzj#d^PQW|xT^h=a87W^y>@x^%OxEerzSi;_@LnV z(Y+Td4&D5|{PW`Vb-Dju{mR<9D{8&m`*(IW*841Mci&j8wm4u~(eHQNzMHPDk`p_c zk{!*cTJ@n~*Z$_++aLEfU%Xd#=dNUUs>jV48)mHSQtES`T(o8He(5<oI*umQmHzp0 z^X1R1^7Pj)Htd^YZ>YcB%|`OXw~T<dehz0EX05#ya-B=ly?No0MVZ&Te}4J%Md#R# z-MjVI+*@|@YSzYx;x&BV`*z&=J^lW^?Gcv3{ccxNZ1&B#9%(4i^Zaz{s=}Vo&`&|C z>0$YL&!2Kv6xRR0`G-;GV8m4B)-`PBWt!5a`utwJ_w*f|^Ro|TTzX~`t@|=LN9p$E z&yOJ;(<eC$P6_3w)*g&uvN*8ouI<Bf1<tpn9FIpcTj=}Twwj*$@zZK^wckfy{+yg@ ztX>}eO~(CdO8Wa}5C1VLdV4g_DBE`WV#aE33Ek<ZKfiqX^XZufE_ap&xV9AR6;#Sj z5Hw0sIu%e9-u(KMV?l$2;Q|dqiH{jd%@bQrDDv=?<@a_q^S__F|Kr>5@_T;kn4eR4 zUv<W?V)IF*T`Ied9AII3b##?Zm%z?$>5j;zlIkhPA{qjYI4x4~bBs7Ek@N0M%(Scb z-o3m1{?CCqD#!XaEAz8<ZFI<+xF`3P>*O-Fpw=BxYgRelu)6Wgqjc}Ih@*j~8S0bw z-c7B3wx;ptzxjU-oOFJ?D=WR!c-P-U=kED(HQPk{=!fq*Gubh)=Tx-*{e2ZxoA%Aw zelyG6dx3-Bv`#KD4(o|pGC2xNjWd~y51;6;bO|yRY@9fIc~0crE0Io?It(+iG`c1n z^l_YVlbKt_M=VK$Tkzqc4o8VMd>am&QBcuQ47mGjmFZc@hM6-R*JfA0J7Tc;-KS@7 zT=Jg1OUb(DTApTTbn*DjS8@zCv#ZM51vfGFr9YqkwrcL#nFTwHE1sUa_|9XVoppVU zRp|5he?Rr>KNfFKd#?U|Z}tD1ACF!uo6~blefsIrQ~LLA{QdKKzI<VF=HDMrUhd`B zmyciOYLsMUHRDZgzVG>UDL3D6^3DiLTX|b)-va%bzvs^XtB$|FYxn;TKYp;^|99}q zzoQ9R=I&SfW~}=ZT3!0Nby4iX%mA^U|El@ty!^J-(NaYHl%x#X1p$fDZ&$DU(OBXZ zp1Y3qx4HXtUi�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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-2.png b/wp-content/plugins/nextgen-gallery/screenshot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..05574998012a36bcb4c82d876015696430fa12e2 GIT binary patch literal 375877 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ঌ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 NJYD@<);T3K0RTJ^IFtYY literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-3.png b/wp-content/plugins/nextgen-gallery/screenshot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ef64950aac61ef29f1944a2df44e3db557c85dba GIT binary patch literal 444008 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%0D7!8U1wO0YN#FZTzN(`|hNd95j3>&B;|@ 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�uD@+U&)p6fU&#z=-8AdQ1Wr>` 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�{e*VMnze_vV%AL<V_hr?i@Q?|y z^Bn8_4h78mv+B(!o{!3^dt3k1ZT-J#S9Ix5n_8*Ru1k+TKRD^E%Kc@TTJi+dRsYnU zicI|R*ZH{R89&LB3Wbs(-zxU)U;lY`_2g4>=V$WoF%8)tFBuRXI!om7kz;{>eY+fg z=dY1Jk+3)Y$Lv4N?U!Y@A1_`t*YJ(&1>x$_??S2fJ@2m8s&h3>ng0Gq-+~{1o1V** zh&XZltv>Wd^6%{6uFH>#t*_O6E&H~T{iqUX?Ez!o9S09fj)w2&L0k=+ino$~cV}m< nxEh<B>}NiW1w0bO@Xx+|&EuSc`D_vl3=9mOu6{1-oD!M<!~Qzc literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-4.png b/wp-content/plugins/nextgen-gallery/screenshot-4.png new file mode 100644 index 0000000000000000000000000000000000000000..130699d15bb9eb5c3c45b4954774a838d0dc8ffe GIT binary patch literal 55501 zcmeAS@N?(olHy`uVBq!ia0y~yVD4dHU~1%GVqjpH?6_$@0|NtRfk$L91A|Zr2s7SG zldoW4U|=ut^mS#w%OWAf&-#k<@qVz7Yeb1-X-P(Y5yQ%LXFM1f7<futBT8ISi<65o z3raHc^B9CV6_ptn7`Q;<&iMtEMVaXtB@Ao$&sZ@qFz|szi&7IoN)<{nb5j{izw>i4 zFfed}WP<b4O3D+9QW;_k{)3crg9KeNi<5H_Gjmgm7`7kS($B!azyT5tPb|vI%u8oD zApNWz=Ct7a(xT*4hOhsdU&E9+=jZ08=9MsfJ2MUB12&M>kj#>tRE8DrE~zsxC@^@s zIEGZrd2_egVe<FA_8<HeVq9BPVlQg7XobYAT;zCio7~pR4dUknUr+fF{d&)~yIrYE zMRU(LHb<}Cv8i(Qyxy>Do97Cx?b0rdDT&I8E?5%OCfpU;6y-Xrg+oZ7=;z;$PwLz+ zD(s1`zwo4T-}&#qE9Gwe`dD2Zp{uK_9lq|$>#sUur+3@`{`E_){?EtN;p?kxh5pEJ z?Vp(V^SyI@{r|`P_H}P>nXY$ln*XD7{*Rvwb#_1gPv$>uZ|(NRKg`?v^p3*E9Bl?` z!&YC-`u+R2sg!Sh{r<4kx%v6?4U^lpKL$nfj`$lcSFT=t`qtopXz--0UoYQwFfcGM zywjJ@X9qDD61Y9JKnxyBk03?{28M(aj*~zshQXO{QV2*wqG-YrkVyw77;jMddRl+~ zpHHXt-v?`e<QRCiJ$KbL4tb-(58{6BU+$?jd12noO|2c<a&I4#N%YITvEkrF(Y35U zpQ}t`Pg-_euU9Ie0?d`EyZMV{p8Ik3iL17J_!6f2-r?KjkKb2=QUpW6nZ*z5g4?1Z zBP$;r>C}zhW+16GdGjtI<Gp6qYt5|JmdVCfe2jT?@mh7i1jynx+wY#MG@We=AGLU> z%(AbqOHEz+`^yzJ^Tb-7i$|9Q9gSrJ`$@Td_QSf<Jf;8s{4~$Mr=m2`<H(bhXLjsw ze>DHeMc2yBO#R^0xvZq2O%HH-AvBCY8?%5Pj;QcS1Z-)FkNMRU%)Y12fr*KPil zaq?QX*>PPh#qNVu$90V^vo*DPm6`_M2+?Vq|M=%#P(U77P;_;2mgOn?`hPVmLw;R! zm#_VD(LHG8l_|?79eonwzeOw5Wi9LbQ>%E58J8`eT=n{*mF2`e&)$ToE?vHK>RCRu zrEmVGJvQ~4wZBi(bJ8lSoh$WHt<U<cK09yrVMR|**Og5jQQV(qb}l(n_;c1DV_uhY zQCrsie_63iqCI}v+%W6eej2v>bwQyc;o~<sWOm>`@9BDTEsNdsrk{TL$vFL7%&wA? zQ<n49#IIVh=FOH{OOw60y@h5T4Lx<+yyv;f^XN*?lUr|!*)E&&o^z**iQ2T}&`T9I zI;Cd)9(UI$WbIQ@6gt<}uYS3(GO_nmY4@?Jp6SQkKX-IU+s-$hPz_2k4F?~W?1*1~ zUHIb7&FRn2&%b}=%8{gvVtO$dR;w>&%$haJMF}M1+iEL#l+#%EkNCNH(X&fVZ{cLn z&kXZB{Bo`MdDUn0m3L39-5xbn%W`F}?~QpSHx}{kyma#^$X_2EEPaDmnHUA<T9s;< znSDDq*V^UF_Wgg)mXtj_)LON7-{QrOudEEdyxc#XYxlK+I6o1Y)21a6QpFddU0mi& z*y!StxbpSopw1OPeUdt3iuRQ{cxH*H_qZQ)c@?&_>x9+Cl3R;J<&K|(SeCGJ*5oWN z+v7cw#%X6Hl%oDkp0D%&q`yvogjlg_V0gtujkF@I>je%)`=)k0G4)+`@O#^0)y|)) ztY=;B2q;c0xFca+D)nsbDzDW~Tx<e$0&`NV0!u@knP>K|_vb3Uwn+Ecr#3N5K~wV_ zS<T|0+je!TH;-w{Z@-(H`*ru^$&)9SU%y@VP3^b!p6N4g+0`9=RyAAMr}+B^9!3U+ z1DntOaqpMQHC`YuBy=cg<DK|SnceD}Zk)0I_LA99HJfL7h2`eV?5R=97F=0cT+HR4 zud6vxK(IZ2nn>D<uO)4V`)%VVML4-knRjf>qyAH;<b<Ous(kA>1!snTx6U-2mmQoO za?L9B_3llqKaIK`J}-E3*w#Py_m8Qe)w5*gWZc@URmrb=D{y1sD`x(z30L3y-7C5C z?!`ynlgHn``}eAR{jJL`-7#{E3=9p`&jKgCdjCGZSVcjhp<_$b+RxpKHf>tGY0jMP z_*r4uA5Bd=e=aZFalcS?TDtFX;WekN*Bo)}E^{mrE=yOJ*ncD3Zq5wjD<>u2zmJkh zEIc*ghV1<*KK$kLZhiZxJ-cu6U0JETzdx4U-TeOeTUVWXp&KhMWV13bNJQSre|A1; zBNG$Tj5SwO3_#$+K3CT7vX}q5Z^>|XZ7pr{atSsM3)wT@aArrJe8mj*wYQh3zA z^Ki$}-ED{8GBPmmr2AC|MMp*5x^?T<uU~cFci+$K{r2|0zstUT`z$Rj_kn?(o!$J} zZ#R?sZN+3||1unItG@j0Bcn6>;>&$UI*w+Gy}eno=Vi;5+>N1K>E`YS)+t|$y&ZP_ zcJI#XpirwRI`(_Fnv4<emGi!{Yj!O;dGLqL<>#++?)-c9R81+$<o3ax90&iLymIAA z$xpS3p>OmKZMG<_3I0^L$aS`{Uha0gO^cHrhb)`(a^s9-mF|`7ee-4=z0%@ptz~AH z72BUHc)XvVfgxc=!K@{2?jXS3dWc<;*GA%)+%Z$V;?paowYAKm<clm0Zq7Wv>dEPO zPrdlm4$9r1Qgg>~S?SLU+SO-%-Z?+*Lhqzy%N~b*m0lhtwr0JRpWmhcrA6-Y^L<k4 zMFlP8CV#it)403j!PF;e-Mez<&+@%}+*~z2D#iHx)r%sJ9J@hI==hl7r^TaxOy+82 z-gBS7dF;YAGxvP`(bzwI_glZMGm;W~R?XORx~?eW^2f*5-flTN-^bT?`nqiwLyEQY zib9ghSGKQSa;HsvV@3GUq}%&$?<{kd$<EsJg44|Jm+8{;x$^n9FT04H-&R-tY1!kj zdU*qpjdfZ+HS=t07#JGbdwyH4G<ajM_`ziP`jUj{hMEtb^yr5Dyl~~I<mAp3FF*O3 zPnTXM5usju?B>F6lbv&KbqbuB?{lTZDJ$?yY@e6N#)|8F&gD-&`mQs-A(c?UoNl>2 z>6M$>8t?F#S#Q<P``tZpW|pb(nb-}l{`N)eS-t4c!6iu`d*vrx5zKzXvir=jgMBN- zH1A&N-NqUC_uZ2xDaU6=+)Vtm;iTm0++Z*Fm+BXv{A}VdKYHi+ie)R-3h!HHyZVip zw`@X1`N3b6_P=(xX1(9=vEyj=nzr9Fwfpj=n0}vQVqmagka#D*F{kaE?URbzf>k z8?0=Sx3`>ZOMG*0%Y@ULWv&*itz=qtl=nvd#!~)=J0GulJnN;(*5A?0#!IjLI9u@l zm}-<ugefZn!(pkaAa{k;aW>v<7n7B5Gd|zeAHVTrfcV=D`cGLVcT}Env|nF3|CvKk zh__FDfh()=y}Fvo3*(C#9#%RZc@!&Zy~Zk>H(27rRxSpH!-BIrcJ11=N0x2Jp*R1R z8eYoUYG?QT({}F1RZ8uv@69z@_jcpkebN^UelToby(#VHbgyvziL+&<zBDeq_UKBl zwV3Svk~_Pcf6hC!JA7VA?(DLd4R0>m?Rz=(_+ANf28IK*2h|o8K0a1y%~R0o8HCyl z+CQDEH}X|OSgZ83=$mJ6ec8Z2NpknT?SaL`)3g={`@Z`Xcz0`t=`1^mhj&e17uE`g z`(K-}*68)`x8<8z85k;VEL8uhnBW!UYyW<$+hf1K)nRYvJt&D<oOp7l^qCF2f7dxY z@7(xW&fk6N9E*~UJI_`;<6R-M|Id|z>b6SOW}$m`jZF4E5BQtZ?a=FgO+at6=c-)$ zZJEoo7#I#1G+VAzo>JJo`0;ERpRAOypVHIbN~gC=rEPj=8Im7*?r~~J+tpXT)nSo& zjHxo)%04GC2CJUgbLH{zyU$lV`}*;?`OUjYfAgMwJ0p9Tnfv^X@+qs8nGf6%lf9pk zbvv(dR;{4YXBi&$;0i_t2D!Y5yY@+-;?VHmhLw9V_wF!V{m$9>{p#F@Cnc?)&A+kb z_~eO2k4*x8n||potJvjr_fGMPle1Q?l)is{$CfPr$&;hE+?aml@duvIOyAac-Ak^p zD|5HmE&Td+)E?ExM^@STPRsR=+tSe|pI;Pu#Ic5ff#EPqRgk+$+RER3u4U?CZwoef z{<+d?=KWLr?TQsQwpP4q>2#S_s_J()W4rW$Cq3V_*)~m_w9x(H<<h@r+E~Ap@5pd( zt=&AYMSNpL_t`SGZ|?8f&ffa#YOPgvcH7M5QX4C#-;Lv9t_9h|&kbq_zqq(~uPob+ zBzyJHwPELH7#_Y|Sjlc|S*(&H`0D2GFh&N3HuWz{4jpcdd~fpMZ(zI8;o19go}V>Z zzfktY?QD=VyUNNB0W0mdEI)biwzqti;F%WA%d=TKI$o9MTlw+D@pCgU7&s+76tNNE zu{IE#c-)%N#$}n_`584e{*&*1T6a=1y6yH_CI*Izj02vp!sBbdempL3JU=)%csbvL zsjdv=x=Dvz()Ry8DfyoNu;whm?($F$olgayKHXl=z`(HQ+}T4bfBpJ(=~B?M;;gJ! z!u~cJi=UrMpRV^dK<n_K!}eObXHT5q;NU2@>vs6!BvbK9_D%Eq<j<Ul&DK3(um14E z>1*mA<YE?o=N9t=H3vK%uTuYdZmzYu|Gb*Amq9<v?-yFk+0@nb`uckRc{Y__UR<op zDRW48@VMVTE<WDA_}Ljp4wt~~8@o1FXI@bVVFfj=_$|Y^m!F$&Z(sYXL|#l=LBYXa zL{>I7K3-l>(6I2*k^(+;3kwT1wP*AH|9P(9vJl*Ct`g7!H~bzR2=#wue!s>z{oEYQ z;ALOFd?_g_+f-AtB<SS~!{lGTel;~W|NpbxKGS5@x!c=It>*UkKi|!=MeND^$p-Sg zhd-{mw0KjN(yj_U!~drm-<&x0r&x$jf9?|@Rl&fjsHiX<!JAJu9khHsDR^hu@#JOK zqsot)$>>HFUtA;va=OH)Icn2uYio^W>ZqwLd-CC-zx_{_yLZn%EvmGUo4llG$DQTN ze3chnm@pw&-M{M2oWfNZWl_1`zLYG@aZH>$=TOk}PpvK@#(S@s<cDf5znQu9W^u8F zisnj<P=UbggS$7qn(=b$nXOCiRc-O}yLS9?MajoI$E2q2baah<=qhw>UN?^@0|UbY z#YZNddyAf)I?^e8Gv}MRxc<D!UhB7P`}OPBy12c+uC0yk?d_H7O)H9#3I6oS{Qe3n zE1RsfKf78yB;?O3D|JPgTF;pB_9~aVs^y>1jV>b7tY*6}$qN$*3<)cXdV9%mX{&0d zPyCus-*}VfzVvq!6g+AdJA3XnYt1ter{8|>KeZ}(S+ooz1E}6<xcu<n>+9>?U0q}U ze~a#Qb9TwvI;-Q~pXc`N?d|rT&lpFoop$;$D;w*_iajS*tne1sKldTw=aiV0YKva2 zy4)H1tobaL(z@B)(Nnb+MW3-@eE4SPR?qD|#cVUIWP?wsx-8jq$sv%xAQ@yE!;Wyj z$sw&yhPA)GY?C&hvEFBrl(_iyn>QszM3!95x|vf}QBiScil(uUu>FtE^VhBqn<_T% z-l~*sbAwLy)GoF0Gng1<QN1qr`m)34LbwCx7-Z#5nDKo1Jtd__Ej^~!UOut9*Ju(I ztfaptaG^0goI_WJ$nZUX%`Lv{{0zfj4V!-#-Ca}!IGC83uV!sk^n6;d#p>?Y{QYlV zzTCLa%11)pC-l>)w66ZWSJ$X?b@r$)x^bdplDAaU6HiW?(=O9acPhQU`q%5`@3Wkd z8&_S@vJ~_e@xJ2YqGEY}mZ-Gq`b;C<@1JK_t$r1DRPDp8^D5I$v~GU>&QD26$?wFC z8!ey~_o{Q#j!A?^GER(JAFeg^%=?SCH!?6V9Qg43^=oMvnKKUyB6Oy;Pq*+5s;;VX za&o$o^;P-)?|Jj*-+z01d*_Q!Pfxe=$qIG46hA+wy6C}!2f^xo0u%S|-+%V$o+VG1 zuX|scGR32#<FLN*njQV8PN|);->wjUY>Lsl5Av#Amg+kz^bGfFrr%9bQsT4!R^yq( zDaiVKO|{j$j->f^0>PV}J=%HXPqE9MIXAa#_0kOvurb%lp1bL5?97FJhk33<FY|bm z{<&2=HF|Ya@J3E;LBW?_e`Q}^xAEqi0|yQ?=9~s)v4ZI(R<ZH%_qS$WKh`h*K5^cw zFTKJ0|Gv%No^vxOFzni$D=seo{{8Fz_t;)9cGs7W$L0O!T9sZ~6M6UU-A$*bixySx zj@eiD_t(XR3!6*C55GzcY)&e;Z?QB$<JYfWZ~n)Dl2Spup(Mxj*B4)GyFBlTb@{tF zcC}S^etf(rtlrkzTKoI$c3oXv^Za{n-oCZ1{+8qH+`NB(eL=y8V1L`GdkP*tNL^8I zf92Iz3l=EkyMv5V=9_&sZ1vUevzF}p@u=I^*H^y&&&H^=*Fd8%-JYI1W7hdCPu_g9 zuC7i|QStM$v(kG`JaoK}wRN69J4m~Pj-8#|y!GvcvzD~Aw{y21GEP6YAwtLA-agpN zD)-hFZgIVu?{~}lZNEk2y!m@W$zDs_TI;pl6>d;)@pFf-cU4_vntkoYk|j2B@9+P6 zdtc5Y2P9?Sw9_+a;v`V9d7!yn7Cbrw9)mG>F=cALn)?38m0!wa_`@FmdjbZ3d(SX? z$Tgm4U|?YDpZ&0|fiWm-pQhdfqxr0nNAo)^`ucg}v|U`bq@*A9F1)hC-tzN|*oUgt z+F>zYZM4{@@|e8n%MM!f<>cdzDqF4m+bYH8&T}?>I?HrwQ-xlW?xjyFB{eG<9Zm9X z+P(bqSW;8ek?|gnAOnM3T8`4ISFb*mNj%`%JahjskJVTC9-6yKUY?v5xK2m^efiX; z_)d$*)80<*`X8$BBRS{iJlEu1)>gLOcX_0~tEW$Ly|!#kO>oSE*}-~$<)7v9e+p7F zR4SfzM1NA+QRAi3Tr5u=nY&JHo7Bd1@D<ZDA%Ew(SD`Dvl;*B?y88C!TUqZ@y3?0^ z@+rT3ZQYU`)#skP?|qxRed(J2K3cZbO9Hpti&zxBltW71b&2|`w{KpAW`E_^3S(f9 z=)2*vBxoh5@ww<~R;kroP0y<@OA-?k@9~|QdGB1`y#-TBAF0KjvMRh6rM7!<U)&=f zA-7)sppp{4EyorxC>iaoT~N4xhl7^huj5S$txgB$_}>h@5_7>l#cy&+?Xk%slQrjF zS|7lxpmp0T=~?H>9Y3PjCmzpC-tP6#vFg+vzh{O*;&1&7@A(CsTDRy~@AN(Q88iRh zcxxh;*(rAU=A-k{*N@Nqd?QX)D42mkLM2D(QNf-&>CEeHeqUnO;1=wn`HlUw_G#Ol z+qMTUR(@5ZwAmvj=T!?&ch9BQKCvsFG3Fh<u<c`m!s;JuIoT&0_X~1v>e{@bL2^>P z;!lN(lje#R+u6IR%oD$S@n&w`T4lA*p+Sasr%lV8w5e!+$cITAnXfdj@Cl6y3;J|C zNl1L}FOikI*0Mc2Tg<SAUn<$G|7Nt0&W4#57c$DN_s*3yoVi>5ds)f1sPi5MA?X%d zQl9&r+ESZfwpotFd)kGK$wA@^XE|-`3{a@O{A=UwuglHq-f368-Fb5D(aNJ!y|-Jv zPu}<A;OzZ&I$JZ&2^^R-S5)6NE2HG(xvuGtY<B81Fh~T}ba=4y&u0ISf9${L|M|C- z^Ga4H8Fe4|(%+=qn=<u>={x^(Ij41}do8`B^l{@EbM2`vO}asu6K7;xdQzz3A==%& z<WlYFW4+Pa{G(LVgv33U2E7z(-1Jv#Vu8^5+uKxMH-2r_S5a42SMTP&_2#*YRqv^3 z8z-Hgbb9Gb!&P}oL1AL@!q298FTM0BX5o~TjZ)vG^WCCU(%4xglGD-@41UVb)(n_; z+AQWsL5=lYt>QMTl^$BAcFUjq?R9xP?X9+uu<YqSHd8J2bOqF<?JsXUFWotF!vt-W z%;-PseNw-fTXo-eY}wX-_uEAcZTtCqUU6PsF{L!gD!bI(EGz19o$A&u#|=wu!cW-9 ztY&|DvX+tIK!;Jva<iuCg*#(Tule%7>;L(~=5M2nR9f1Nzehil=$$XG{PEWmg;uA9 z9W&L{UZ#KbdKIQAVmQ+^>Ey5bZ|j%W#HIB(UA%bn_U)SsUtE@KyC=Hp9fQ2mrPsc( zCy%i{Jr??u&8J9J_x#gpxv8?ws+ay>d&-fP8m85mac7h5rC3czu2!eDSA~DF2@1L% z=g$6A)TOT_(lz7E-R>QG=gM-OQ(3rBEcI`CP-325@%HJnvtC5)t~^-Xz%S_PYBgu~ z#fl{kT4!qQ+!h9Ch;+?(UesFh=Cj+Yw{IT!2u<4YVyn6cS8J28r^lf?SC^d+zdhCE zu2yT*YW0N~VH=zd+Jvc{Etc5d%(4EqP1)`X>z3-sT=m^M*Z+*Lux!~pM=586;}_O) zNy#6bWAd-4H~!8&aR!DSjTw`F34FLVCq&KvZ~deH<>iuEf|A0A9$lUJ`}v=P7gny! z+3yvyIV>VaYswM64H`DtTi@-y9&(pYy|ifY50^>ZxnI7xC?)-hkJmZtadPpUPqy67 zJwK-;T4e^D(ii`_Qby-;k-${j$8)YcaMkaq-@EOB$Ks6InCDCTXDGg!xp`90(?eqK zw0@;M%PK5ttmKGYZC-YvY|EUbD@qT}-MjaQ&Wfb3v#)0uZV!&!UN!e_#I{X;r3CB$ ztjJ4iZg>~?cyUL{Td%Ii8DFa|eKp*^>gsFH^>5!U3v6?%J@b9>^{-zi$p>y<<?mjy zHP&<Q6NS3zf>xJ){CwCfFK3rw_hI2>#rk9pF~cK;b4uf?tKu0L42(8(W}KR$d5@1d zCh^&lZ{NRXo6P$6uWoJF?R)qBCCqwOv{UY!bLpum0{a}a|7~dNIOh7fbJ5w??>kGD zt?}6PHve<ik?ipFzVbcKgY)my7<zX3o3EQGaXe(*i?HmkE`L5cezUFHJ9kx_Qr4aQ z^W!$nyp$n6wfIa-*fRDn3dVZ#PF=pb-}v*Idj<QH)q=IoCVgYvaF^}C^o|tW>zb3C zzj3eP+5Wlm@h*$gAEdtTul)K`{D+vhP;CB0!H<h=?_E8`XI~{_`tO|MA3fzQ%h&v= zDcTuw%2+l-LtxFnHF27=Ue{&)-g|_ffkByf+kz^N8IwXT`{%nq@q2u-nSFgveA0_p zW3`sHb(in$_?Z;7``7i&JlTm--_`4lj&G=V_4$hK`Xd1oE2jBwx_)bwid}ohu9>C& zGf)1#=AF4F+<s=4@a8(Z2mJawyH9m(+B&s^XR3xazl@4dSDk_1Pgm*5eA*(tPlXnV zx`f?sJ!Ugq`_8JZ?>_zhw<_l0p*{CQj~SOIZ{E40`F3E~zDSw>tLNUiD7*7eYo)tX z`ucw5MaPu$uX7X^KdL%;IG4F&#jy*I@9g;B+N@Hizb^czIr~TJ?hD^6rA*|0=6pK; z@9vgLCd1wGYwp%9DSTJ;d#SIf`oD!WReHyj*qr~g&64()GihUFU`Xh_dg+o;)t8L? zcE)u#)K_M0tvc2tSsp&yM{W1|{e`D{U!LVY;ochi|L>YlmZI4|TuiijstcDNm?8J? ziS5g5{}`JontBt2{-&fKwW>0={OtVs>Ed;NU%F>^>+WkWWY!nq(Aji)$(>KJpCec0 zsn7m7`NRHyyB0mPzvKG!1zV5klWFh0IA6W^y#JfMliHN|d%};z?cOzG+8di+OHy90 z&*otb-}AlyjOTQ|bjfL_^lwIf406i&@${~7@5OU}&Trb=-K6V&*}b(e|G%!X>iStZ zUMy{G->2mJoLp^q@A11S3;NEzURL_UyG+dgPxr&k3fa%!tUAN=+2~h;@y=%}JYrPN z_5`ljvXJjlx!A(>XOp+r86A82Ei6Cu$M&0FGN-;Qc{1}3zy8PWZq+cu65-xUbsv8@ zJ*%tV<n-s^!KByKg_ZF)I#?JUBwoLI_2~1@wwj$PUll(TsIFXmXh-9|w)0lqH+vT! z+EMp+nPO#k(5<-ERn`V3HB;vEe{Su0&NID#)6cxi9Y+gaAD;I7ca2-6z|_0E7P$_$ zZ+ka3?pyNq?X{o%pN#b!w(Jr=9KKqrwC`E<Ed33diG_zMZfq(lzP#&S+}ivFAB)S~ zmp}4(cWJ-+^!JJP1QM#&H#Gm4>z48VMs9s(*}~T+K1}1xUGKD%mzV#`#oxbf#Uz$a z3|sy6>({OO#HW96-O0qjz;CUx^6;s{Q<oeHxKOKB{_<p{`{#LbPv3%OX>}^+ElJ|m zYIwM;u>RAf`0D{@*H2g5AKAHfHUq<hhey7ZF)$dMV2NIG>3@n{QjZJ+gIt(L5M!J4 z_un3%G4IN9<2&(@k&$tA`PJ#5Mk<4a`2&@$n>HEg>E)f8qFMj@_WgJ64xpAS1GC(_ z_b*<|Fw2z^+!(Q@-|p9o`~UympDU6B8l>20B{XNVp5@nfaqGZSe99*qs)I_cWIwlQ z@wHE$Fd-l)=+P<@@YL1pxnZ+yZRcKzzQ0x@bcfcvhDCXgFJ5b81MB18+W2)zSa^7Q zYwO?7^Z)bk@XRqxcJue|cTljX`SD>>>ghYNQd_giCNJ^2yGG&D9^=r!?H^+!OL^`Y z8K3x|6vM#4Ao0k?D@a>g`!^UI?~(lcWU~LNtFP9rTetuJ-}l1memeU4-#_l`z8b#j z(xJ=Iyw(<<_)_d;^NS}O){mBttqlqDbpg#y#am90)!%G2`+#)C>H{ANgkwS7?Srb5 zPul3bwA;UC&6+PCKUV(x`Fy&5{JaSh4kT@i&<P6;4z8^HDgW;SyIA+uqNiT`Qdzb8 zy?l=d9~BDBcKr8pt=GNAH(PGK*=Z>Qnb!L>YjgC}Df6a<nOV=6vg!Nm!?58Av)?Z_ zZcDe_;|L1;iXS`Pd*)_lR{r^Tyz|Akx3{bI&g<Cs?^pIzudS7z)4pHTPUZfTdQAVI z<?DHU>WiLf3n@K(^P@s((S|EG_pDX@bVw?cPf*bF-1anG-*vu9N=myq*My~mIz9<A zitbPTb%<Nv#MJcf`~Uym-`JR3YIXPR?d|%pySCK*t?FN8u0O|X^;t8Wx6`$+x`-U* z+^l)pd)Cy$iEQ7!g+6<8&0;SQ1G%wH_`7FTef|FyPT_sOUadZK=+KQDH$Xkhh&9!j zla6z$EeczD>YY!-t6y7gz1echL=NO0z9%{$y*%>oCSTc{e*WIB((F@HG{e`&-Q8WD zA02&Lx!<P9Klhm1GU3p0QxgHfm7w{xJzqT&dEI+smq2IU9u+O>5x2Ae_r(rRnQggp zx?b$Al9!i`bP7L^pLrFw79joHoR{z4@2~!zr#JoeO)pLHMVmGqKO#0SZu0pz8?$2W z?k~ynd-!s#s;ZFEqYtMi9qKsbV)$GIloHIJu9-c1@ditX4Z^FJE=~RN;v(Pql_9IT zy1FEd(|l%`yku-=owg-vZP@C!@86sM4OxBFIPJ`i-M3PVB)2U9Wv%reZ1@XrO}=&i zetdZN^f_~6#M<n<L7uNzFh^}=(axCFSItaJHr&jyx3@Q&Eh`}K;Q90PpOY=0zJC2% zL75Gd_!7@&PO>U{b7N!jak~=%AiWF{<saRGL9B+~gs1uuiv`k*>w7`v%ty&r^}986 zbZiPAxx~lIf4+MEe*M2cKVM&8|2;26d5%}<YUis5Kb1)^Fz~(X+!2$vVzM~TL5?Hv zLHVO!j%oI~9o|#8YVY2=w;e4*<KzE-yPbc2j%D%THs0i8J&H<V-AjX3zIy#Sd`-m1 zW77FPbFHr4Htchem0e|BUZvh6e?Dz@rKAx<LwJUX)Xtc7S2GSD{wSuX;N<_x`QX2; zEAI8301ck*t^N+`*xTCL#@GFPx;6WHRdsc9bF+N)n~m!8Yl?n-d0GAaUG2}O(<d&s ztJt2m@|dzSYlC9X*|g6Udsbgxr|8Mb_U}m3!7taM^Y{LGwVIcgx3{;~YHr@qE>Zhm z7yHff?o@n!c6PRTzTZ5X%D1<+=I{M_ZJ~4fnd>LKje|a|($x|a_uTx*clj)HiT#yN z^z<YJg8$AlFWK+>Nx~?EVaNJD8OtL5>Gr?hY|b&04xV&?r9R`}0!<yAm@OHB!NHfG zo}S*^)MO&XYg}%o00Ipidhz?-Jb%7D<Km)2hn!yjT={Izlobmd6f_d{eGdBWA^)eA zXWPR<aRvst8Rq%-?#5PpdUEn$FH2kF!hQeP<doF?=5%y)WMpP?a&Ub34g&U7UtX+U zzwg!i_wS!SfBycxynw)kOP7QM1q&Y?;e3AeNcz<0r~XA~sVh}xwk=rDXn7|<!N5Rn zVH=a9V`gTXgMt8uk=N5Q)04c<eXg5`Na#<So^~THF-KwXf&(Sz*0HJk9F+7v>1}Mp z#bw08<mlM^H1@{ylA7#w?+*P{WnhR~v_JYDpG=#Q%1VO_6DePJclOEsn{MWab$>l) z{r=Cl?fbue{Fu1;W{%nHlVR3YRwh!ttGg;{>Pl0$hH~8u*f6VWNzlrWsCnAaxqfH5 zK5Mx?4O+RSWB&A{$?Hr-mKZ!gbNxv75u=%NI$pRLcedEPW=q-mG-zeWuEws_bFV#^ z@G@$3(AA?`9JRK}JuMHpbaU;_j)PxSL30(1lR_j+bi`IKU#_m8aNzv;e$UYTKOS)_ zefs(}b@R<L2OAn1=FO86JN<RZ;*A@femA#$nKXUZaifpI`5sRN1OKdwS-7wvux46` zzt-gTPd{o78w&2<6y<j%Ky&lSK<#c`Q?QcHQZgAUbi|Cdehf12=+^GFTpW>N&3!e} z^Z52>Mr`8K85k;ftAY{*6g^uHE(u#b^Iedd_SdgpRh2G>s}+Z?zWQ#}&Wka*#VU5I zV?t&sZIHexeylIm?!%8iubxS76P0v78ZIu)*VDW7RMyVeKCS5|eN1<*Jh<@H9+6<f z*)cbBJ=3>8Q)2r*y<(N`q;pBR>o-~^l^(eJRID|7+h!l1_S-5ib);WTGCMzO+wN<R zPuT32W&gPGl4>q<72mrnIs4mp`Ap==@?hXUwtD?Os|Al4rcGFKXhGuUn^tqrnJ`~H zf4)D`BK6m)nhP&W@}|w4Z7rkwA?Ulu(x9{y`}1~&oBfTYxmcRKCME{lxnX=-xNF7F z+S@W$UAwZwo1K%=KE!HG_41XSKW}<TX|`Wd!Dkb;wC)0fp!u`j>L`Xv|8mI_saN%x zzD4qU?&@u?3@0veuei76=vK3>RZ2>+i|)^PvW_MACs%OvGlq7C@7oy+T5f#r2URa- z>@#^pZC5^+He021`^Dx?Hn}WLPR{G=<I~%I&-7ezW`kY#(WGTdjSm04zCPaH!=oV1 z*ZE-9<qNxi&X_EB_|=~8Gb3lce?Bqx`HHIzy9;Y#G$x7OezwBpqf(*a=7?^od*(SE zPnWP+PrGi_eYw)}`gDt)gTC6#Ti5QIHRnm!vUP!nU(R~#qpxv!<@a~rHa=?J;(Fp% zoOAA^xzXD~XBVyP_%ios$s6JFpG&%z$#%}zoYMMnvn%_GolM2y>psp1eZTnSmgO_w zshfSzkDUFpc(#gdtkTWAb-U7bH>dTK&RlI2pHj&E?fcUW%vb;UF}AU_uS^dMoA%Np zENoi$B!+2o)K<Fp%cT}w-m}MM(}^(OJ~`W0o1R^3`ZMVW2pRMG_3v1!rE4;E`yU?X zi>Ib)&z?QIy1Kf#sfme+sqRCwJO>MtQq|wD*Jp+XJ32b<-Mjbf*|XZ=>$dFMQnB?w zim9mOjG2)~%zGyXPu#gVNMo5j7YozDtjN4|rE#ad&z_wsx$128Gwxp7r8WyaPCUO| zS~e?sMUUy12&>fx`+i3KHn=mbq$>MdazX9MSdUw848qsk)cdpQN83X7;%eUDf>}TO zO+!Abf86rw>}xaWDtUADt+hpO9&EFmcDGjWrI7zG<+&zrBW|l7&p0`ULuu7byKgrp zNiTaBx~yr|+hgluJ{xv-tG+yT`Re5(Gv_T?8NKh({R^+Z{(6-gUA9ZFK0s&oVH2N6 z8`t>z%>N&f96UWWh5hL9oY&<Q@!w+ZYc`nQTrzL}&$Ib69<Sf~ZC2d+`nOxJ&sYx< znXsfO+Rr_9eeCXO)2Cm*d9(7>70t`{t9_iDor{Z$ZL^&~L+R5!7UnEXP;`%7yQjS( zk)yk(N2L2`JHPzDkNx#FRbO5lJ9g~Xud2Cz&mTV)mXUe${Q32(SHHeoKELbeqZ21Q zKBw-vVtXm%xM|cI1F89{Q*Zst_HYr|oz;J}u-ki$wwc(Z@bFKr)iPI7avbAkO+0k} zKyg^}#=6ya{ogLyZ1Z~8lF!k_h2rb<cXE5qUTyC=eM{uhsiyODA~!y9V-a*+lAf1b z8?@O{vvX2i*q&mY?9*M3q-W=@ig=imds9p?yW92TBWW>S%dA^hw_4Ba{vvdEBF8_I zNs|8cs@aQ|aCCW0zwxj0`nQuCn{OMbrW9}WzHKyf!H++p?5Reamgjedi~QH=?0ES) zcH@x`Gwpl(3_s3zZDi}U@9?j=cc<GvFXws?`t9YjK3QwC+*>X#>-YcL^^#*#(1(`U z5C84kXZLJ*(8@m_4)b$!aoPR(;JozGW0T2;y`Qg`E$ZU3WJl~-&c0p00}cmWUw$>s zzIW;w=b0WVQQLANBO`BKkFP(Qw9!I_Z~Ez{1r|DDuV1g<ucxgYy)9>^hsvk0icgn# z9KDuiO#QpxMQrxOWg%Us+#fXkTrywRGVS`_iU6BwlEGqm3)iRQy0j^N7xk%MRvJ08 z=VyZ41~cCB=<}Xi&$`Q+<tA0G4Sl|(@JMvVnZ(Iv_almO)_i8H4bS}Y*Q{aN+jpnu z?Y3t9AU9X}_V#>p(Hr|}cON#2>yd2JG0&f~tN1ye;McETr%s)Ec9v=O+gn?opPOr4 z_veRx-A8VvTYIa`yN_Oa{Z-mLuO!IPLnpk>X{8d^WbLa*{>H62RHPM~?fB2qc|T)& z{5HFT23ae?6Rop4l73h|I|S~YOx?rmGcQZa*+m4@!J2A)AiDjxf{96pijb?jdw57l z&6kVrfB*hHQ)q9$KlAdky+5DLHZ(L`xNu?fm8hC&R|2Q6C_ZPM8(Z?cPekyg_4Fm_ zUO&8b`f^uqi{2Cr%7wYNkJPX7+-@Umn0~TrqfflH>k{uTFNId!Ja?;--`83%<4vr| z+Dl4Vlb7^QovAhH#bwnqKYdQh%+9&toByIVHEXx;H_?kS=||_>nQnW%oXg-#&i#G0 zpP!wbc2lb%I<G2drpngs+rRIAzi+l(t(Bnfe7n7S_s+H4UHJG|PY=&^(+|g4!{hh6 zx|pw9-TK%<EIo?*(|J#eKbt_Eq?a$fZZ;jVvMl}+8);fxV>Y+oPUh{X59`)grB&$` z>#p1`w^n*jsY-#rle2UBnHe81&;M6)dYbP4%q^*>r_KNOWjSam-yR-Owpf>6=Twik zJZf%R?^&#~%xjjI&)Yw%ex%Q?5BoFqtjgJrFK2S2b*A6DUh`;=@`c>X=dRRjN@bmY zKBa0}aKipcTO(Os?r6324$Jv@<Y<se|Dh-T#@{ry*A|_L-4e!=d)xos)+ZnKz1g`h zm|^`T>+QL>&BW99%3AQa%Bij_e|LwIpa1`x&F4E_Y(8)IxPWKpGIj3%$BUXg7fzY% zwQPaLIf>7mpblGNjY)rpM%L9g2|?S!wb%3)FMeJub4_aM)VX21OMEgDJ(Vttuio=E z#h1InJtZZ@$>|W!;+7Vc)s-s@Ok9_|*D+f=KYf~KZ|cSformE^tuHID@SUVNZ`w>b zN5PjfFCUpXX<LV-cbLKI-<^}pUY||Apfhd4s<V%OMYrT_x89m}tLf=hr&ZIIxEr+Y zH<CF&#W%VzKy5S6^_UB*7(Go5ulLw)dvfe<?yD(ZHYX+BI<Z9cHe1nCvtLJQFY~=W z?I^PDy~u&tF-sP%tF$hV=mIT)UhLk#&3<F`_jh~t?Af(zS6^S>hYtl?qy9df9=~nt zR#z7npZRuw-R*w`=H<OBK5r{7An@T{^?S=#{-$M9^p>uDe=lynY~;*(*D134#(X#X z*RG5RNZq}%x+?0HR_f6vty1txfk^(3(RF5Lgayvc+im?a%<-Qkr{r=*9(PbT?CQ7g z-)GmYy824eIPFesuF=e%_eXbDK2ZI!m-)covL`1d%Kv%5US9rIJig}Ro6YBi{-v8T zRs7Q~GgdcMRD5`4W$>AG)9n8|<j+0V*4{pO@zR>G9Tz`arl*>QtIU}Yni9A6)MFOm zmEgHyuFYEaWqg+8g|6y2l(X7s`c5T9BehN2J31^B`QpV{7#JA%d49Ph3RwCEEnc+9 zXSPphXsD&mgGk}TnsrsaQ)eY9tt~6=>Ge_Hxn!a1yeS7Zzfs+4bMMZEt3TbCCVgHT zxiRq5EVau8|M$KV1CNq8H(yo(t#U5cF{lpw`TI9J3(KFU`t?75p0Ae^5O|O%oqU}2 zvg_7@I})!C2S(m>`T1Pz$?1-cGmpOpM!uf1_WdcbC#N;q<{zGDeIht{KKi8bsU6bV z3=9kvo~5N*e>*YEE3{I-8ke2@dS&qPjuop{XFopHYZm`Le}=O3vn7Z2W@l!0c6ELF zShzV%h~YrDiPYJvtHT#BUc6V9<Bt2h=ZeffgkP_(|NDB9s`oUV$VVTv8F*4-^w#g) z8@u>og|z?!!*LU--Wa{-MTX`4Ja=^FY)bsBF7xjIb45f;Ti>;;t>NqAQa482>tkg& zz_>T={L@cP&bCr_TPG$kc)mK+%KiQQeSa5F+vPtOgL6zpMMTAp&%VYC3=C~T{?C^f zT~?YY{w8Z{6sWoX^&=R31%bW)7xu->m<(Dre)#Z$x0AD)d_+LKXgLX;ub>4o4T|ir zh4akOcljCkHTTBdzj$$B*y@d%$2S~F+uYpTeE9I;jn&KyJkm&Wrv+ZgORi>ZRQ;`> z1@2U{eD*U{`t<$#eEa%;zrMcSD}D9BrPp8Y*Zs~-NJz-Y&`_JsuX(@r`(4mD$NR4t zTW?vHzpMHEc6-0=H;GRn3=(oTTuk!rSbzq9XM}yvHjzpzt*@@$y}enA@73$q_v?PY zooSq&cVk21nHh#IN0K&%Xoc3+{_PUgzE|<McV+PMD(hnhFJ8PTC?O#sBJ$*|!-Kky zU%&G5@uh8ykd>8{;X8i&Ap-*s)0ZW7EN`|i_*CX{*s-?u@4da%@iiZh&YL$6v>)Ks z*6h7|_Z~cWu;2FEjmiFYmbJgWfV$&<KAk?S>>s-Ns*f1o;o1B5*QckePXf8wAd5%& zN_76-tz~a-<?s9X?8(W==6QD_HYT|yCN7LyzrXVHv-|)5eb3+bGY!(yo_199(<Pq9 zwLL*U6^^OspA`@>xpOyix``C;vW^~>ef##!DCS`}%qHe{&?6)wVn@csMaz~gJ3U>W zot1TF(T)ZXU{Kms^K;Yu`S%yOc5`ua_kIqpTv@$jrHhLGS&z(n3TL~%Ka=H|5x4$( z8OH;OI#UJ)zJ<lCZi|G~{ajpJwrttL!ou<cJYXnqTlM8?c>LGz-@kwU{Q3KLeh!X| z%*@V?4vWG^E$m-SMI@@id~N4`y42Hi=@L_MeYSIB>HTcy#sv$mTrhvV!v5N#``Z>Y zc1UpreOk4$V(UWA-(sK@Xrd}B4TLgHX7%;)smZ5qzNsVjdT#l>pKtT)Uq60)I1SV> zp1iiKq@=>A;#R<hsA<u9Q@u_Xr>;KhnOqvT*+UD&)6{nj$o%zZ-$s|hxTPy%w5E!E z{2Y{1bhfQY<k_5+mwv4I6r<SLy(IFZUv!Bpzw@O9|FdlVuV-LL=y0CIr7YNe^wrCk zpy7hgpOb^G>hJr})KODgdo#zZ*g!#H!SdzDoA1_0X?3?MDfV|%tdu@-bn3A=fire% z&Fkn;7vc1s|FdS&$)3N<9`UZUQR<4Hs%;{#qO|CT&dYfra+3NVHymy6+EjD-&R+37 zvaAdYJdradb16@WTKnz$_v^2}TFv!af8BU@`>&rrH{Q&7X54)=X!X^3p<#2UE1fW| z5j%EDbKdilp@(j4Ji{(GKR&jyIb+S$m!QQ0NzWEXl$_V)+i7POtiEVF^G7QiW(J0K z8{Z)N9}k-Q`uN(HTgdc9=*aDv!0^u6Z1&pAFaP}gJCkQ>$BfospY>XwZyrDHzWCyX zoAdsdCrPyKk1m>dX37R5DK3`PD?PN%8m+l3^+v4o#i94}D}Qnb20mJL_@}1KY31|p zY`=DEy11PB^rmK(^v>ktg3dcnBrWUsIE#CK{j)Dee8bD$tk}Au-6L||-W+$`$g8P$ zAFc8}U3Nw2s-5$*&ks)YKmT{*--G-9|NkCzXJYu!P&sQ!SxL#0Cr>PFwwAuWcCefM zfuo0q$Bw$cRX#pFZi_FzEU}u~CwVP>W5k&)A!6M}(>AY<**R&#ga_+3RZOh-D(@Zs z*7IqgbK`^ljZcp?R+X>%d@tYQY}fL(@1H$F&M6!9{y3d#B$RKUzR+mq9G##`yE6lq zUyiH^4$G;F-2eN@Nlh2=Z)b1Esoj`&XWRRy*RJ!=^?7!owf3{wRM}he&M3}}i~l`4 zf1Y*aC)J>^oVa~&W-i^`JKx?y|JP5EOD|uZ=nGyiZ?&_xIPw0T)av8&|NIo$wIToJ zO3QY?yvG8X+GhIqtN%SYzx>9w8&xkZyk2`+-?skK(v#OF_ByPSZ+J36rM7a{*@=Sx z&oCso6ii)m>&v`XCA(IwTD4)rhWGn^uiL+We#f6bf1aJ4{rt(RYfXQOg;py=RsepN zF*;xyy|V~Zy`AP1R_l?ojaq!s;PsQv7hkW(|357M@4%X6uU@^%%FFwA_kG>-ZQFjV zQQFraSu6f*T6*QQg+dbpeCkCwR>{U3^*(#{tcM`SjG&~%($Bn$Di(Uo*dFEJdTGt> z+>0KO)ls{?{Cw-;V)FF4`gY-qtS2unJwN}6fS~Wp%^|<`Z$0%Sg-?((&VRm>%Ms5x z+5%@xYvu`fE?=*e$<^MG@$&OY8Kqg1{_RRQ9;)j5P$J7@+MXvnTvLxaES8(OBW7Ld zJS|I=heaRv2Qo+q#;C5Gws(2-_PndFzXk>dx|pP$kr3-%dj0jx`Ri6a2e0<*m@%jH z^={D?8_~9g6DK@2M%4WH@KFB$kK>Eo`}1;g)~sKD{bh-ro!!BM2kYwUVq;_H*Zo=< zq0`sXvt{p$>AT#siZ$%Kwa#wR-E#cm^B+1ZUm71>cPqJcrt8^bzLAoVWyjw{mmGd& zAG&uQOTT?qrAOscu9v;7a<wrI&$d2VRzJgj^1TgebHAv}$XKCKbBN{TOS8Qib2?TO z-v869>T@--c*Y_#-B({z@(NvwfAd(#_<cN>^pUIZ<H01p_U3dp2IZF759`*3MaPAS zNr<?(Sk3iQn|ya?vATkSf|AmrwQGAjK+DP^odZ{=nR~9fa+V7;YRJ;zqNMceK{Nj{ zzqwY0k6fOeuM_LOdiU<%uh-+RU%w8@4VuO_5$Y>lE_vrx)$Vxd@uP*a<m8N|ZLyOs zxm>PuJEn5=V*2UkQ`+II!uywBe=YsJJ8og@)T#P{n%eh0_NQoMTwe5asq$>~^9_d| zhRj*<VS@p~fe#PVK#PVJCLf#e?LlXExAELv%lBW<er2{#d$n23#u;o0R_7irogB01 ziR_6wt9d7~J~iwt4-1W|s9JsLnL>lRle4p{Qea6*iL2{Tclp{QXA%^Z(0gLv*VeAq zyUO0HJVUwS`Q&5MA3fr!d{R7B|Ey>A)ALic?}-(z_&8bUpiJlT_4U*D6>kXq5+q|P zSJVE?!@}j%>Tu1smY@G?t&0l{np4|7sq_2ud*EFjlb0A(&&%E#rF7}_*RyBOx|r1c z`H_8nonh=Mx$}KUvrf<@t=@}yE;IC9<Gil^Va8*hT{mmgHXf<Tb^K@9smPnFd%}ME zf(fUtsRx|Bxz@|e-#dEgnuq|^>iw3A+TZfznR`4IE?j7wcBbOVM0YWrh=i!lM~@#L zep)2k^NC+u=Hl($-=wX&Sl4^r>r-Adz06l&Y4<(FMO$L0D)|?O2raod-&IL-;seu@ z-ZDy$I^wF|_Lex`&CFzaxpcOR%x*EuQ<hETae^1uotpkA#*Bf1L3#4;hjo5CDjV`% zU0HdC-M=_^X^!K*Ge1-<(q%8}N==<AJJog7r9(o__A5Sp<5i0LEXq02z;2ei%f^qE zGRgWYpB5h8()cZlm9w+MqiCOLc4krTB=?65H@bUzWZr3NPHawmbW%SoWKTxvrAHkL zOMd*>e$S|G;~$%!N4vKBJpL;@eSd0w<k6a7XML*`^S@N>-FT%#{(#&^eg=jEhUT7G z_3`sB?Km+1Xwu);@&8}FeXF{tp@G3}e*NcXXP3{bI(7AHpZi1J<nM=W7H3b+n|bWx zQ!i6N*TO?NUdG2)ul7?9o5^pctznA12X4`qEhb;U+c0_f-%SeXZ98q)^Lt~&8cE}{ zh<Q&xR><u!x#ag*w9|6=9#@wmoRZ#0KwXdMsai^_L2Huc*p`=1^8F_@ZI_+y)DG~H zRn_Owo0Ar^$?!1T*}G%9*1b<<JPZs5Ha~aR-MxQ*eSp^O{lEJ<B6PxH!5}?7JvKJB zw6ruf_U>Jkl`f#QuwE{oW~p&Xw*A&LGn%_%*Fsl6m$STW8|!92UZSO|<9WvZvcr{v zEh>ilmn@jsA+4k$)F)kBK9PZ^`dxW<bK=1-QCtiSi3ei+v+DP+RKI%sc>1+9k)Rf8 z#h&U2Px;?p8fQ#0ZA+|*JC}1SYUwmhjd{{jr<S<}DMe4vUo26_=bm>ac=4u9ouAH2 zF5fOS{g3|K*})Z6*`A#(9TtC#Zr6n|7;tcMzI^@q^Y`!H%M=RgGfieqm>`hv&d6Y3 zacAwj_wU2Crn($?SWx$Mb-bm{;fEG6>}S^W73tJvMy)-1J>>GH<u{gRZ=UJD>XOsU z-M4xU|7Ca})P8tp(NiwLjW=`T<;@?fe=xZ8vP7zP+4}YRN=k=7YkYb5zT2*xtmdn< z=);E(>uztauB!U=>sN`@-Ite_hp&wim5`8-k&%&*u&~%DVdj}?<&|%$-I=8H_-;HK zL*9mnH78DZEDfss{VliWH@|6YZ0z?q&hDdJoSdB<9R~{R8F-}EO}g^o!v}tT`Lc>v zE0@pPbmvBWL4j~l+IIaFlh&V1-{$dDHlnLFfT6khXj0+Mm_6TQ85rcm)=j!{v|D`j z)vT>icW>Xmef_#SXnC&B`^<uZ4}Uw_rnkuYgXVe<q)w8OlB%+g=LYv8A4p6C&mkU| z(5wPlYt7Imqp}jz2{L%1;0fsjwfi=2@s_`15AIKA^=ygK{g%wmz|iop*VpCovEI+1 z^`eu}79hQQy8vX!J7rL(!pC#f%jMgZLGzzG_8VmJfMk%j9`{+;+1XjmJ$E}0w1B!} z@x=_A_&>cWrAIh<dEdTy^Q8>bD>Ha>XJ4(giOH42hdhGZ=WN)p;T#C~^}0QN8v)wX z>~bN)L~H7*&6|yNbj}?1zVY2uL1LDYvT~@_)vvFw8@>Z=U*>P<@AuEh$Vf?9@_hOZ z{~%GWqtoN-DxaR3`tDuc>Bo!RdZp~^YLb$ark|EASn?n@F)?x8|4`7h>jTE($xGsP zm8{&eCq_j`H*QbGmlqeOE#I|k*T1jp>pfK_O_?&KQ&|1pc?D1)C!`ckU7|Jh)TT|F zrfP@#&9V4+Zm#v*xpS-b&a*t4wDCsHw=*-1cgDP9m#^7S^wf*5{qcgXXU3hXMUTbr zHNIK?nBBZ)hc<Y3>*DR(x36D+9+d7tYs=rimzR)`kdr%?w9#hIk<dxM`s@EZo|!(c zv#&2NKi_=m@@ZDq){7S}o?rP)a%G5?P-o7$Q`uT#AuBImzO*T+(*smz`PR9f+x6s% zqJ^~sbVJCL?T;%2zEu6)e!osyLPA1F=+W!fuiqAcLiNYxtgYqm?)?0AJ72!~jUoT% zkZ{i|Z|~EOj&@J=diwVE_PJ9(e*9SZYUT1(t5&@^w`E`a(q%JVMs7TFeZ!TnnJeeH ze0iV=u1EU{uL#@7l$MmRu(7eRvQ~n6{R|SCHMO<P&CQWIVeanjj~|v>ubXsb-n@Ae zCQMizzW&?y@7CIvZ{L;{7r%b_a&q;epIt2)e?8M{Cqo8B&!j&#VQ}7b;(XwV8Nn|z zFRy$ur)9?Z%*c)NrYb6B>7Fo`QQ_O4Q_FO|WWwR|4^M52GnpD57Z%M5TMIB%ZfdCT z#iPZYKg0P_j-U2voT)Dpb|vfU48vq__l2Ry;@`i2db{j$cid8+y7I*N^XpGr+S~8H zy*>Z;@87p$w8K};4ZjmLp}uPMq;du8wPw|MeD3?y{`)k)d~)>mpRbu)U;l7Y^7IUT zW3`OO)5}Ib*~9JhrpsBImoL{&<>q?rBb@Ac({D3aK-hEDt0yAUc1_V&Sv2G2)|>wQ zYb|$&dcMreOx@h<sad`M=HcT%3?wg{mILJ;w(j-o*FS%q7^A8^apJ_%($dGr``^EN z_pW5g?%maYetaw~EoHv-wd-YyC}{t-5|{Vfv&xgiudU!oPgZ)|*>Sp4N$K487C!Y2 zyYvoUkw@8#@;K7@r{P8!rKfMD`&Lb#lmApz^?KUuU#XyE{h+bP^bV-Gy<x?Q7aNbu z{XWQF7Z4Y>?rN6r@;`t79`BX@{`Y<T|6gBUi;9Y_4qv}*=d|OTYDITuo+{boR`~9^ z+FYN%S3{Qz>#ChH)9$c|*l^T)*3`=dRj)yD@ccy9Kak%TY%JDI3elUsJLBS_@As<p zb#;AJgla#ZHSg@~T(<e{-Mc|6x2#!{^YPJ9zHguVLE~jlYO=%DyxkI_R-YTXs^gva zyi-^7LDk`<*em%l53Yh5IfZ{fMi=bgdGn0Do?hSKhceb>IoH-if`%aYWv#v(6^}Pq z&cw_N$~yJ`e!9!oUb(mw(lR|KYT`a~+k#uGc+N#mpL6QT`cPh8PygeSS8eg~I}$x# z#Er}S>K)c)|JuYVgP6`=Sa(`CYUdn{Nuk1mf#8i?nzp*S-O@@bmc7#RxO-&sG(g3P zLCKDK-B*kI?W#UM^W7Tt_oBP}#)vilf35%jX+u_AP?7F)pCr%DBNYc`Xu74Q_IK*q z>{Z);<kydcPS{?MXOVvc7tJW1)csuO^X#H)XU_)Cxp(TwnTONw`o`-tY^u3@>Ft)E zFZ!k^?%FsL%=@pfDD}5pW#y>^F|!>T%FmtWH=e#`&!HH*Vh($L1_p^H(15Mkd+V*= zK})(ogPvcj_Wter`+*^2Yt-7X+xPG1|5_QgI{nOy!t$*rQ;gUz8?*Ips=2)R=hidN zkGxT~4zhr5O!)HVz5jljR=qcKe|IaFwa)+h_vO@ZoBmUds?5B*e%3$RS77k>?)kVG zFG@a}Ezg~q_pI&{Hy39}?VO2|#3L(y9rgSk7ZJHH(>ixsg<Ipn#rc1Gcd97Q+qtLc zUi|$!wGxB(ObiTiPF$@`=bu*xU0S@h<4e_Ezva$tTyhmAx%0Q!gnK-?6O)+xudit7 z!x>vVd=A|ydb!V}eY11Sjt%AS?(7vmbARg7+0X2vw=Rgu3Ye#@lJr|x(D(k48ewrs zf3NN%N507iglwBC(s{C?bNRfgP_3!|KK;%!3JGWAf6{oT_20bPv5LYrbMoHq+wkf1 zs#~{eI$eGCW?feOYrB2-yBF{5K)Vta#_)dE7U5bNv@%4CnTcuN?{~X5Z8GY+`1eg$ z^Y3$?Emzvl`~BFtouBu~^}Ea8z2c7C5O-%u^oF=O+tupbBOh%O@e7y#sK&Wit)--F z=M9JJhW2KHKP8j*efXXJIs2&VR&Hl2YwOMqjg*7$7CkHf^|i|OYe{*VPlwW_uhRaP zglAsTymjs!qf2V^N#V~&LSl3#zyA7gUfZ3^cQe0Nai_D+Wx4bECG*bgS}R+@m$s{q zr#|GK<XvNURV4iH>!mw1*XbQh$zWjkFlYAFzdmI~+1J*vi}LeWo}R8NpD@p>HmkSK z!`5=MN6en8<N2r3^SmDhRD?{4OTV@MJ7^4LrsVUwviB?FeGKJ2?vz;AZ~8HFdcS~b zp4A-RpP<o^i*4zALbkiVU%BJoFVOki_TtiarrWQ5b$Pb>%GoESK3PWsrv3jXZ(N@! z)BH_AD|qU(sWQKl4LiHzdY8Y8JH11*@bbf&WqGfgkImpUcXK)QDd(A<j(*XNX|4z4 z>;z7yr`sfCyuax?d)=EGf!UW=xo&XTa_Gy+cjk{)ZJ5eE|5wMRd9&|C&H4WP)6?5? z{JS&$d4F4Pw`OYvSKF=mcdK8C3%0p`d2=s#|BR%b`uA~FH@`_nw6ZfW9G>~RHQ3<K zixOt(+Sq+LJD*HQS#bBcRq1tMAE$~BdtS6^?zP&x@hSK3XSsXkMeF&3hG`PME<4Vj z>pyRwr&er?Ld4qs+7R>9g%Nu!v|oGr`s=@)eC%%+XwggL$0cuf|G607(K318@@@N= zOT(v!US>D9DW1^LG3npy8E4O0^@DaYESXdEa#29&^jRK}AD=59y7S3)rA=j~o7cUA zpBITQyU<#zUw`@zkEuvXOq%_!j?T#E>o33Tm?AoR`u}77nhN@7JrebbE=_YiFwa&X zbo!NliT{3Is&x$)4i~SN3Q(JBmn5had&4~cabV#@6YY5`7CLO$b)(>OU!Af{dh1$E zZM)i}(6s9>-me#bzV>EfeYw@#J`aDFt7|8pUUJEO#;$2^W$QmZZ}NS*^Lp^78~?2C zF80=yyS2FONBqApwku1xga6HZy6pV?dG(n_n?e{G9`dh0&eFd`-+zDi>KQE)?C$J1 zU&Qsa^?cu?io;ETT2sBg9<ed>Jby*g^X}3h+li4X)7JdHyRTg9S*qQ_pu4+jpPzdh zy{b-j;=1^yK`VD%`Ddr2q;xr3RqxI0^t8Mq21hsBOn+Y)Qr7d?rTD95Q>3)^6c>|k zH}_t;%k8!@WL2E3;7=AILD%~Dh{@B7KWy?^TBTI{UFqH2+uK9-cse=jp4w#`l$gg? zynWNMtX)-?555UwXRQ9_AY*sNdVBsyHBQexiGdwnOQlSU_gxTp1#-5*_nqn?$1bg_ zQ$EKPz5Bz%sZU%NUoCn5?MY?QB7XbgUp}pimIy3ccSgxj_U{{}mAl;}m+z8#fBHwO zxu?gYMQbdkdM$nAD>TXAd-}5T;WD<43=9%w7baT?-938cz@z4)%sajEbC&KlHUnq7 z$M2v2IXK^P*`CVQ6=}Xf8&{T0T0h_QVdU!4_o=02t94%+`Q<)waTD~MmH*;@Z)B>S za<tanfLRkKx$k^hE!Ow$MablN9VNB0va&7*HTTEdxL^6ZPd)JF@%$AnZn`y&e^zhZ zZ&~8_#VO|c)BSmoAN!_cJX@oZ9Fh##|M2SR=Q?MVinkB8rSMI3TW>xmG-lnx6<ZhY zs(LRF_-A#H=IZ#`(=wAvqqi~cu2(oGx6Ez5dTf38`gtq1`=@ibRet6YtgrFd{*O<v zG`l3F@Xj`&*2#yi@vr*0nV(<o*M|i^4=ntzUH|R+NtxLeU#o0ime%gAs#kjT?#*Sv z*qtjc9537=_Bl-Vz4zkllh>`^eEUb_`n{LeemAy>xVG2-1S><sLVnLz9wry;AK6c+ zIq<N6t!nDRn(w;KPCuB|{x}@9cb?LZnnf9DA~P4hejiqPS5awFp8o7`mAKu%rgBc& z?ke;9R@L$|;**#B_|m#n`0<QWQ}1T2o!4P+=TW)(_Ogon>uaHVBC0gcm4=*qzhJxf zV&z5I=Au=94~o9uP<(pnN}Jff*2d>wd9J@6oIhR5475Mu*hX$Gmi=OdUzWYD?eI|B zy{`X}#G%r!Ti!62eRr5+>$BHY^73;IyZIjLUvJ$N`?&D7SJgRdy&TErO`kTapIRC; z@1=utW5U;&R;@22`@X6!6F4*d^H0I5zp}rxa+B0vcgu#bFfbezY5RS!mtRGmr^2}X z*nWANiUpS}G)}9uESp@u?2LHu$5-3!(!ccu)cw15MmFAX`rH3Ch1Z_kIHR=j%iQ~6 zQGGAB#TnMTo;N2_WtsE(j&J5sTUT7aTNpB@L+bnfphxmA%(S#mX|H|eHDxM0pAe_( zp^c}$N&8r>2?-0AxF5K1P0i!pNn)TX@0i_m?Jt~L?%BUO8M^b(tnEJKi$RiJzb|GT zXRQ9<Fvs3!^R{kNpP$yj&$?ee;BIrj{-ZpZeZ^s~IilMxRQxz2yt!$LSkm*(mv6ou z?){e9ndSG#IdjKqalT0v|3n_=pDEDio89pL{Jp#GuBCH-Gymty=QH5o`7ul5hLQ&7 z&QQmhPnLB#vh==W-Fsq-wz=!#YsbWu*e-n$tDB%EIMqbz;IhthuTJevGzgq^p<326 zINL`|ZBCZdpM^*Nq#Rh$c_=YqM&gX=#dY;_W+uiZ27LJX^UuW6wE27I|9#_p{ncZ; z^m77EC;ob0xpu8=cd^1@fw*V++crk%)Ya9Qe>VF6@$vBwb6-9GmY%bAvz&VV_P76A z+v4wSci6fj@huO-!iSfxnNRw>wtRXqzd`HfeU<gu_wv|I+`ark=ibR1RT%{pFI0~v zXJ^aUwR<1m8gi?h*+Vz<?a2?XFIt{`>+o%M|EF_yrZHjj#1gmzR^6H`xyFz!_Saq? z57qAthw5|dcsG5Qsa&D<eEae>vf=VSHYvP&^zhK0yF3gj?=x@wSiGU5yZZU<O>_Ux zcmJ--zww=P^_<hQK3w}(bYIWo8_#-i;S={3|9QBZ@1#n5F)!=P)Lw=OyQAt>Y&(`M zu#G*=D&1qQ@%ej~Hx!yNY<sBsI)p(???|Wcx67C9bSwY=KYHy-gm(4LCe4oY>Jo<) zKR>@cJ!g5rxyla~mA~h?*5A&uF1s6{)*?_e{l(k2Uq7b)TeNN4ww1xl`wH!zEW1%( zcq+$?d%s2L+gn>_YX-Id?cF$AP)bns+jhBPwb=6Y2k*&cyt?$_PE{mNtkm3!nv{$M z^FJ_dE57z{q2ByhwZe?@yfT~oFWg@hwYRfY%sr4~;GpxZ{pf<nO-{_Y<tlToCH;LN za<TB8qVPNS4d=y=+&<b8T;*iM_gqJ;zP^6FBSXdeH~-j6Uhy_Oe(*fqK37s+^V{RU ze`D1@n6wt3Yd${bWWq=B+kJEOloeYh>~0TRE$cYZYMCnc&dSCAHm~?1uHGWxbRzd* z^+d1pON5*_6k8@(^NFr(5pd#AeA4Ias-*~G?tC0D(TfAbd}k4|<X*XplHgvhxga&$ z<&GCJGVc2~NknwzciB#tB%_&m<ziqx?`NES_TWK+ymhs1+SRPD%jefsJv}vb;c@@D zR$q_X|J&HVUPz&wX=TW*ix(LcKnq;^|4juu!0>qCoSQjjQoWPa{l67<Tvz&fV`K8p zojVH)3!VG_KbxJ;Cu_AO@o<~q63;yCi5@1kze=X1{{H>@Y})6ye(fMvec#v6(D2~F zgOiihyIqvx+bgUu-n}a;B~|tH)zyW^+uPd8%FC;*F2_X{M!mc<W%}G$iTBA#a+$C0 z+r^!8lh>)U@$As=wcVBH_obIzW~xHD{6r5CQPI-fn-xGl`<S&NJ^c0S*ZF3D{)Yb- z1iN{*dC0_FNk_Tjo%a0u^?LCXo}I20^WMLEXC}epw)kV&bFiZ7_<(>3;JFT&*4uxX zsu_3X-ZpD>dU#LK-oD;Nlc}Ie=s@P`tKQYuXX?IRA<cNEN4K#1YQ>Uuf0!Qp&}rOj z&(Jc(W_O9}l<41QcKTWx_7%?Rzp{3x0*j!WR)PO}xr3koJUu=AXwpU(rH|jg@4x#J z6c$hJrEiR2V`I~c-}mPLGyji><$S?Q@@{WCTPGtXwypAW+VRbxneG#lOKNzw?A`RJ z<l5~G^3{3u?sqk|l+V5Ssjt}Jn^e)J*+nK_^X2u|TZ{dFb4fJt?bP=xq}Q5eRHq(& z`AIoF<(q|5_3M*Uc3qD4Yklv#_2^5h&)-;2h%FO6w)pcE@uxbUHf^4t*q=H#;Qz+b zb7yVctB=2Y_fD+)=)V07O<-55{rvsAy``nYWzoBLc`HL+ofe3{zg$bAF!a=_&01Hk zB`>^?^EQBK(-O&x3<96e9Qu4p_`1~Y4U0~<e_J8xz2ueKHN|};i*&dgj&!wNd|Enp zZLC9xPhz2uqRH3%>yhQoH}|b>Fv!1m*pNZse?{;{gMI7_7rq}?p4)5u+-#}a4QB20 z+r*#g<a!<5>%RVadwcu+cRHZ-UUZ+6i|f_v*Pl0j=IFW-x;m`aLVWw}r*qfHIXv!s ztf|f>9lg6Pvwx!70rt0R*j@<ElboRIlkN3(qrJVtk&iuZLzoh*X9-SbaapdXk!crK z_prq4XlBnLY0h^RX`5%p^@B3igy{44@8AFa{_u}qKCeLQO<ujq`p&0Zt7aM{#q=VT z`|`JCR@djQb>6ytvsA(lD^oYA#%pO$6H;$7GX$L!xxMG!B&!*{rloW9=U;l`+smL7 zw&rvk<ASd#Ua`wR<y0ru^h|FArCP-lAD+-9Z0zj+e_h|dt^UgopI067xjpmewfm(O zN2kA<lX3j}ykD2@-HJJ9<(}M{?q>Q`-Kz0LPsIXJfxK(SkC)7|THo@vY`?(sBQw(< zJ$KnY&u8W9DY`zJ?IvqY_34~nT#$BmmT>%)^D$D@hraQy(&*%wJHxB|7$>OM$lGdI zr*^e@#-XGIkG8yx41IX^kMlPB)7$nhKDR0$IW4Di%jK1RQ;!{+zt(#tbHkoD$0su! zv9BvgyDRnj?5`J-S~ct!hL<a9o>Js%m|6UNncIzdo~#W^S~qUue)UQCt*>RKDkyEP z4rZEgOwRY~OHXD{eiJb2a>>mF4Tru{FMD(2;f`LbmhiaBr$@!(W!@e+q0oIaX=8+s z+T_3ctM=C2+f!*S=DRk`-Ti*@`m0KyQt|G>&6|zQ%&twJ7q{O*SW@!m-SYdL?Vs<K z-*<I$>x+8Sa)&!2^x`5{SFN%i^PDqoZqK;5$hBMSZMNjnHESw$cm2G=CT_vz2`W_? z+IHOCU-I&jvU^`ic{#tWosm(|%S%fa&lQ!7wmIJ)nG+VeWz!;03qMV}J;uSWcIJLb zV`Nyf#%iCYpziNW^Q_-ot4zK6aemp4c~jdJlzo3y-Jb3ccgJO(d2fcOU-7@^|BY6) zo25_t$=-MCe)gmNp@!Z6_E>IKyzu{7(k<~H7q}PCQ&DUYU`psvGBq&?Sz*V^cKE=7 zhJy(P5<G`A6ZuQ;>?lmy81bSqyGXUX+4JUApIh_I)3>EfS#|nU*{WynPfYPUwJz=7 z-<;G>@{dCE?IaUlyq4coQharj{#(ls+51y6{+?OY6&Chm`idEU4>@zs{W{zDG*c5p zLZ0B_s*2*Y$TdxxK0;OI;cBa!+@?&;p789{lRsRE9qTpiH}xjQZJ4p8>hOfSOifG- zI}Lo(_nw}THPKUhrWkWi(%bY`?~Qp277Jt)G%lVG^F-;P7EWO`pB+<IPKZAC-FLnE zrFj-#4lZ1=LSufi^w+4xD%o@Y*i7H*7q@L$(({W`t{W|lQeN~p#qhGq-l+HbYrZNO zFf`OIUbi$W)pc^r#VtOUZr|o+n2_=|bjv%lk2d{vvFlT!cn-|WQJ)xaKqacGRQbdy zQxB(IGNz`l{N{cCxpP`wZ2tay+oxSkE%)xlB{Vc2p2E87(*0V#dnZ0J{MdM7$)24v z`nY8dt8gl|+&TYZ>AMt(ovVv>@7m>Na%6>h@q;g$xkQR;HWp9+z>t#S!*l-T{rk6r zw%%B^>gdXa5l3(Jb%*M#){5J+Pi#eO{@YuhUM4!so44SqG<*7GHIba^8{aym*G!EF zo%*V4U3mHjQ|$__Ps{DEIIO!d?a8F?kCJ{j&pp?>X4Q?tM1~w)zh(v(-TToK7JS}t zJL`hyrg`yszo$Fy&fQVEp>)@(X$Mb)>NZ~v*;=t<THi~CjKAxXp10&Ahw2qqMs51d z#9q0_4wMskC2nf3II*|!v0K?`^YYMjpC%Nk{9eg$;N@0MR<26lf9Gy(mXsFamC2vI zbE#GB>8U}Yo0X)_PCfb4)!t%D^2<9)ZIzphEa&&nKccEP`Sg4pothhW@*PZ#e}8>a zqcP)<N<@#i{V#n7G4sIpdzkiyy*4R*`|IddhK4Km|C~(ScyDu2D)*$QMM=~8uV;K^ zsD5+z@TQ=vv$Yplzcx>wc6Hv_8xuOFz4D#jdUV0gqR&SgJWsdI*{RU?nBm)v?wz}t zTKPc9vDJ}*!8yKvuhZ7BquWAwYQKqItuuP3ao9&<PGR1}RbRZ)A{_*d`<^PCksai> z^-+*l-PvXS{03*%Ux=AGXMa}Vy1zdzZ<bD1<q|gCcHZigfpE)nuCTY&AN2RnNtXS+ z@^s9+X*TM|GaDt&-1!>R^QArm6mAN)JXP&Zo<6&~G0@4e<NNjy>%3iCYsy$YeT`fw z)$2BSf*yPECm!y-VT(OA0!~al|8HH@_l;kgSbCQ&&reve-aYvd!?`6FGfbjtC(P$y z(D@c{^<^`g`b2GswnT~0%r);LcWz`$^!hpJ32SuUMuuf;?i_z}mg{PU2^(L-d<lj$ z8x`x&u%PO|#TQjX-o(n8Ubw!vvu|?b;tlD3Mw>1PC2oE7xp&8xzZ~WgPhU^>Hj(mu z@kiAtaYLN6)!ARl8QWeb{}zx{Z;lDHh+cd#W6|T32~+>wsk>unu~A1kbkW6(7VSRe z`CD%sw>qP`=G@^)bH!hr_!`ucv#>?LsYCge=U(}{2Oc+@ZZ%bwJbF9r;@4y18c$4r zMz0dvE2^?(<Nb1m<=2*6yHUM7YQMBzN!*0<vKnu$zLZVADOWkgub*+s+VG$9#~B%( zi5j2z_3P}+RE^NRJ9XCV4(FF+NPqM09h;NU{P?t2Z>2w|YJdN;)=^+rPV=9qTX*wq zP05+DcJGge>%-osHT>ib%8hK*zrFZJT3ub<FFl3I>bKe6OB-fBUz@&LZ=TbcTLEhm z85}N|wF%DrV%x0Ad+tPa)uzep2WD<zlQWR8loMe6WW(Qlbm8X5UkyLoSR}7MS9T_v zt)ymwseGc&`Ogn57dP@VEqHBO<Z%3Z?4O*KGoR0W{-|<Z`@zeTWW`_1Xjty;$f4MB zX9fd9)b#45PxzGgoVlNqyfNa>pS&#YnkBBUs!x4i67<r;J@WVKsx_<++1Au$>z+?8 z%F!`M{_y)dL;9u6EzArD-dN09H(~wR`&Pa`v)ZoM&QdJwlsPr)v2J#~MKs5`S6{^B zI%*AOyuG-y#5|*#hvD4Y`~AJr>HKr2eixP4lE!yn`~C8dHE&<tWn8M2=4$f2|L*7g z0$O&>VZ!kT3|bGJ{d_9<<o>f0K7IRG$8hD9c1_QfS?jj1emZ5|a+^1XmCwuiYh!*{ z%j|A<%z2YCPyU02*z<4I5t}}{G;>z$5{bL!&7s)Bqs(yN%F5vUa;X%JZ}D@CW}iKz z?-#qf?CrF(|K@$#JJGJUt9bsEYuo%!*F|as=CCd-eO;nZ*eR3!Io>l@fa`eiZ{vU4 zRwO>od2r|7`S~@4*)}4dSbwfJw+OR%E31>{!T2Ig6r6sHeX6B$O4S)Y%z6B5$zJP* z;@{h^vF_bkxMR(n4YF?;);Qj1Yu?(R<80QNyGLuvVV&xCGlU{|8FCJL@80<LDvzeX z|B{t!?g%{*dG#>eEA{lLxO@+xu*VmEr$vfazMCACt+vnl>&NMD`o+B)i+`J6ajH`& zWH@*9bGf+R!oQqi#sy~&PueT_EC|$SRetz2J@Dk*<SX@JrGI{WTs(W>;^N=N+pb0S zPu_mp%*FYz{`=?!QCBvUu{B&M$b2n*a@!|^?+n2fuV;VX{_Jg9!yQ}R^N;5CtZip& zZ;uPI*|zQ2!{Qw!G2W@0oJ(g$t-3Y&;q}GEvu-!OF_(Wjw>E3X8XMgMVhcjHsvAcn z^X&RkJ#&KBJI2=kxBf__ytn)m;Cn9LKhk=g-G@}iJ4X+<R_>N$IC1athL7%vg5uxL zZBMoSZ{PneS}y6X`8SKl31!V^Z&pvSuemN|T)F$x)t<~}=eO%?XR|cix%$a@tLeGg zIltdWe%ZdZIa%H|`qRJv-D_6{a$P<t>f>m0yLjb8RsQ77-{)vd+M$1Q<6*g+t?Do9 zG-Jd-?b$EizWw^Kc}2*Qd#rAIJ!CKMugGwja^rs0nVBVb_p()2FIeflxcGIdVM%7m zqmL68Hr5?tzi}?Iy?s|r*~}vg@9w<$anD8lEA4CUh&?D}>ORP@@rJxub00Ss?-twI zhg-y6yD#tPE3Te*@v@R^y5KqMGl?62{QhnIz3^TBh9BMR$EBK;j@IqjzyI-7cA4U` zp2r`qf7p@|J^S^6g9ktblknOwZ`W6QAHUNI0=G=}eBA4?G&}&(izCqWjjJzwb!%(3 z?*Hwn2P_iIX1gj)oIhXw{AZ<!91Ta4IC*%sMCiyI|M~MLYj?A-yw@Cy!biG3v+r0; z^ho(13~C0p+%b|l&dT!RSMl<=-&_COpZ1gcng0xf#2W(F*TrW4+SJ)~Wp}HKlA%<u zqvMxFrJzRaouIVMmKGK_j-QL`zEbB5+N19C?DgTc85V_$5)XVm+aI=8J@}PXuKXf? zG5dK>cFON8T@sY(?#>QcT0HwtWhlrHf%pQMbhFvLZjYawoLnpOXsd^49((bge_w9e zUf=iF=G#n*oB8h!M>EbioA!P4+~s|#b1ytkO&34LeBsLe+8W=Z8z-etUnlX<KZnWT z`b=H*CDp}Ad3O&~PxnxnWmju;deh&(f93ucfO{E>wG|W;EG$5Ke)riISoloLdidq~ zzQ=Wwz8*W+%zk}M<l{@v4=-k&=3>iWZ~y)0t^XBH{WFWXAGh`kYF|rT|G`jGJT`sX zp2c}{EI-9t?|<0%-3rwCE@l272JU?CbloGiQmmVm;rPpTx%XS0v)hGERNuHQwrttI zw~wE$DafhkS+IB0qb)&F(Lzi0_A@Y4-n`lRan>*8S8fdAe#=8jWI)|}4coPaPHfxL zWN)XR%RR+eE^F}xlyn80PRJ(jm>UvjU%2UhyF2%yWe*N7X4R`z^ZT~>Llwg}d8X~J zQ`%SL-PYFj(_XuE<p+raCl4x3+S@kg&9XV)PIX;AC7eF5bN*%}^>2^MuYmfNPmeIX zo!WO?bouH2ITP2;7Jhr<UX{_(cVDIjXI9T;o8)M7zP!9#nul%i#fsg<pq|o+z4{s& z9y(&~Zf<>t-qtamf0=$h#;W>RfNahA^Q*QxbFQ2pDhOK(a6(K?l@ZqE1^54089dZa zEn;Xn?#;OEy_UdR6N_aVES3q(`nCP_8tIKr^2d8`|2RIoi;*E#+3#)L0mOho;s5Kb zVEb2Wj?iIdW}dDeU-zJqy=F~t`+d*7>;9y>=kGsmclkKG{|WDg<@$cE-p&l?zpmbJ zQcAh^gQ~sxAw8WG?#r`+s#}tIHWzx&DJd`SKALnto&i+<2^3BK^Y^c_laq^5V0roW zkXM(#x3<-*ZC$+G{xQ3-fK=avf|fq^^T~NqQukWdZGZS^tA^i>yYI!+>#F3erl#NK zejJ;>mHTV9^=d}9xaC~d%dVNTePL(_F-ko#YsQWXufINg_;9;5Hz=v!DQ{|O`t|Eq z&6_u0O=ljGHfeSDV^nyY`R8@;jLjUym)FQMR<rjN*Sm+FG3ItIcvzCU`a@vw|FT%G zqZ@zeEv$2W-1#hR;a?YZfxUWHs}D-4maZ(Gntq!R-2MGpwqGE)@{x~v!?nqpqNUM( znRnQQ7%+SC6?Z*FU(GnE|K5C0_FYfbe#^{^itr3Es|uZ}MZwd}JpGqlxvH7VyDi`S zsEAnm@%^<mzOHkNcbgkZ8vASO&+%Jn5&!AUrDo&T*J3Q@1{F$m=tXvX60Ry0pR_26 zYkunO`+@19D;N`=-PyZR(4pn=0qIJ6ZBXQK?39J~ctOW#u8-UM>-M?pzh1dG+f3Fv z`Aoj&-_?hQ+l`Hlk6T>*4H_wm&{3Ow@?ZSkIQ#s2d!)OUg{`jrxiuOTkP`yS|Ni=V z<3>b$Rn=Wj(S6@@AAUXfzl~-6;ZiZV4YjAcKs8{?gusVeJ$S{~>wmx9ZpgpSCa2@{ zbp3vADf3m46E`0H{O7G-BS>9}MqKxmBke-}KVG$$l9vAa_pfE2aHmV(RNnKS>+0&# zHoK~P;^yV_tI_y4EyeppY-6bC(>DjY-OJMMUC95m?M?KT)BFr;R{guZ%;o&Wh|s`u zefsRb?>Iz&M=76e^_Xi>_~=NdaDJ-RlWCHt=Z28oovzT;Ufq{p-xz4S#d7l*`w7o0 z&tFvg7cIK^#rfvi8pGq3I*Kg<Med8k1t(rK)!aQRaOx=qech?1p>IMqUNdu3Y+n;{ zG$h?$D)Gp)+RV(~QEc{`S1sByRee)P&(u{RY%DB{2kt06oE(#AeNy8I2ZvN(*g8j% zq8n{LUQNv9Ic)QPLci#$THS3^CB8(R+;Z^x^2)BXSMQ5oJ?5Ui0o0+8&7CpdRrR~d zee+B6JgOgEU~gZvsHVPldf<9fuT9rZo-dAk{UkM8t4z+fQa5;&sgjkSn6dAr)v_P+ z^;p;#Hst@?8nSjx#w6`o(>$xHs~H(4t=Zdk?XKFq=NH$%p6b)hXfgS%iV)Wf7w`3X zERj3eJUyl_Ugmc9<mZX|mfczZ`I8fm`P^4(k;ndTTz524)vb^Hz-OEHwzHDu<?kK< zMe~zy3+9Fx_1p>F85<j`ER}R+wq?PuNLDV(eK&S`-)QOS>3nGU`*(HpDzWI$trn&t zt0Qg~ZtO}8J=%T!I@8wIYh$DBY<W&x7T!|z_(9ICmZn_(+jfP`U&U9i3W~k>^%c*) zG**Ade_z_APKe%~6!R%ACg*-kX<ka`(LQeGgzQ2ol^Ig{**fw6c8l?A7s^>n<Q8oE zy0y>tuHMS&IgMq}c745ko?MI()8lkQ&%F)h+kG1prYjcDz4CkF@^}tuuXn3ro+>`| z_!i9Aa5-C;OXSn6KXbRH8=I*}S==)#_AdQ3O&i>Ro~1qcb9Y@q#_>x#U3osIq!!u9 z+jn}$s7<$zjQFu(=lzDPv~RCZ{tPf^_1qw#U-u=xK__p~y-L=qwbwFV-TK<y`b+n# zd3{mjn(u33ZZ<8MwqnN9$EH!X2jr^1Z&(xZ^;y@8bD%B{*y=?~t1hP|8fL7!Q)8HL zsYo$huj8>rgYCDZck3J$I;a1A=94(V_sFM7m-eSj&5f#&a5#5w{~x1^nW{48n#VPx zK#o=}Vhx_bViK<Q{CdRZ?<Jo5i#^Y5J9Eqbm~83{PCjpeNj<>^zb7jki9Pe)HZo)_ z*S$$MCj`zj?tHzw>doE5KMwtWb1bsBXqD*nIQK-yrnD!wAAwp@>zNobV*km{yOY>5 z{pajl9kJ7E|Hoe5b7xP#{m+Uei*r~XPJ4Cy|0nN_Yqvh#tUN*f45(*%Xz!QF={J@J zWqjde<@(w5=e}ey(=>7M3=>-h1A~M|3^PomcpDV#1sNjVEL?SYyUfPg6E}ZPkLP+i ze{0w4HTVDSJP+#g9{kE*KXXq*^}`E&OD}0^e>dDYt*+NC`2oX^PR4{|&YOZ$Rk!l* z-4!w`U_<$~jmy`kD_HrlJ!EgZX{;_8`7#jF@!c}Rb<tn%2<F;JYxbVu3QYg|?93+R z=u7=7`wKFT2erS?;I(kg{`rO@WvRb<hKbbcVvafAy??EUPGUZE=$iiY43k+GetM^5 z{FvvuXv@>Tu{~?H#Bg-CEcZ?|O`SjYXX>LlKfO~@kK4Vi_`^BpWki(L|3z;$Py5>0 z+3UXZ3)89qPQ{j<wG0f0{u@uUo^~|pp~bnlB}Fpgf`Wy{jQI~H9+`D(*2JDixtm{9 zJ#KB<kaaQI(MkGuEqg(hZ&vT#@>O4dKXZD{`twfXp}4vC45z&{^m_S4!r^As)c=Jt z3<+_Dhu5sXKPR#+=<4j#hjvweeZW|7?A^OO1(nY~Q<ueMXPWthz55y6tWa{3?dR$2 za@nktHw>byKOT->d+#j6XYnPsHgUyobN_hu&!0PAVjVtxyLEk<7o+j{=<{W<Hmx(Z zE{r<N(6A(zN7?9QHCr$fPgE}>$H_Z~*L=uc=W|Y6tte`%t<>*Yc7fjuT#oZIT$pKT zv1NB`kbmb#28+qp4luJRA7@_VFz@}Zf0LXeUa0UNV|ev`cg5i;KfP0)9zR#|mqYxq zymrUb>1+S4NtLw|PR+UcF=Vlj6Nh9lBg2wQv+I-vB)#8RuQZn|Sc0zyeR!8IC&L3D ztKKpOh8eQ%mqkBq{TaPnGyd#^UGByzdJ~-^i}$3y<xl567&-UeA?A(zY@2PZroUs$ z?Pol&^Y8DCg^%AX-27=DQ}eYmj6c5p)|<CJcCYn<kfUolp8eZc{ZHJcVqUxB>Q4QH z8BP!FDxYqAazD+Z@^^(jL)KSOJGU&~>zQoTSxzgZ=Igop-u@o@M`vX++qaC#$;piK zj4hsKXP56^A}91&?%F(+0@t-{Ny+M;_bBH46N>z~@%#P$xqm<V<fiPB$+lnJ_TuDP zt9zB88vaDaXXXPFcb{GRXa0%mQ{UZwnP{D>4T`SbaPZqwnS}~l=F51*D7pLo)1JS% z>3sam{hzfHZ~QwyUuTYJ{DKL_yW{f<{<H;Fw|||S7uM+1=NxVPZGQ2riO<<=O4$qY z{$Jar@Nq+=Wuo;h_T~+|?AeTwZ8==kZ&wBIZO(aYxO8p)VQ>AbTQ};Q-t^Ib`l&xh z9Q_u`)h!DtdnNii>qgu3xT1)e7AwvbYM$9Bb>h0M<<a7>Yu@3z4_ZCAqrSE8?YikD zGmgwT^v`|en=9J#5uYu-AJkr+vh@E%3x))RoPR<$#pP?H_bcQu?23F@B(q95^~@r! zsRB+XW(aTHy7lfmnG*&!c9X4O?UdvF^7gwVt*o}&Cuh(7YEij6*V)A6&!>H?t6X`r z(-}B;r*GRgaZdhT%emDJnsdIM{T=<e%-G@Gyted@e#fpkHy?J^*OZHne*D2Q#%kTt zOLj62Su3;r+v5ArW#+MOx?eM;{M*Whn?7w}h;9hFI`2$Eui=YJ?^B($cCw57%l@1_ zVej)3&Zd_8ZByUw_;p}9YoR#5__McZ3<}l$hmXm(y2jkGzCZ2lpZ_+y@+&(^?@MG@ zPuO_yqxP@WqGz^MY-``Re8OJ$pNGq37pbC7S-VB}f8*KieJe2j#iWSG=UU|sspW_7 z+ohzoD1NKz<~LK`R=qpRvrWzN+>e{x|7Ab_(qERz-f+RY>-fJ(|0@5PtOE6F@65P& z?;g12)^+RFtrs(|SkF109+bb#gO{6I`Yw-btD8&b-?hi*cwWDoy<t21tX(En+vCKX zr@N`k$xBMTP_JotJEyc_#p(3vo-()Q&Xzqd{nx4X#Hn1yIQ0z@JObT+6AfSNSa8AN z_V*jG`RP3V;+?z&J^FJ>I`TmM@!j!i+f8zG=N*n}w=OC73$n2b%6YjhPKp0|w}2Ce zB;(pJ>n5erS65ah&*9&xdB|_o$rPj6XVoU3OxhT;yX<YBF32AOPSD=@UDh|QtN!la zZmkS%nQnC5Z{f-T$_}9EXmH0Gb=LY-t-FfQ-2?i5;BNgLmA=PJOiVRzd|Y4Ex+_hb z;j`@aTySUSoi(g;4Vu+n614JShKW?~_8-$%gG?{F|H#5m!+uH7%MW`QIo2=uv|{hx zzxnmQZ(m&<-Y#dKdTNSmx7g7mM|u=|i=sPS7QMW@e6tQ{#i`ls{BkQ$Z+Pc-Ru&c( zc6R@HHjyeqKdp}3?)>%Z*ZjY4(&2O2|9<cPUwwI*ud>JFJ9$bIHMF!|m8FCGOpm5s zSK7LMy}pS_$&I;JE?l^<Z=c=!=cb@p*!0Gk#j}etwoe5$x>|mutk91D-Qjg;+M37H z55CoXx7_AM*6$guK2nz|7A}@F^jtj2XlEv&t|o(}rRBR`z0j2&DphZ{Uf<*TVo$+Z z!HewTi#GbLf9E80H*p{H2b=nzpFrm{O!WBk_b=R+kvh{F8ying*SG(0fZ6WaN@vlP zV%<+49Bls9-*5LTBRP4o_xwM9YTmc@E!!B`KXdb>M-$sG%g0|>)6vDiuq8ZfPMFu? z&lgsvFe>O<?>4CGD7&rsFhHuh<nEk|hdW-MnO1&f+Z-pad9k~cPRXge9D5}#Si9lJ z$0ZAQ9i8T~^0dB%|MMI59~@crE$`&++P(W|(#H4t4Uo|S&wu~^DJm)|O<b{i_wD2Q zKls0LY4trmbm&lA)yt*R<Ek`ubbNHgs^2^=-BYl>KFdNtPTw`TIC}Zx$Zf*hn`d`j z_F58fO?LHrsYQ3AeC2e{<!Q~EeSFpCdv=#O8NhSk>F08VZY|WeFG?%m67!ySHczY0 zCUZvK^$h_T?VnnrZ@kHfvDo``%CTy`a{0Y+_IY=9z|)?iqa$1M!Q<x+@Bi}utoeNr zz80mg;roA0{d+~g{8!@M>+(TH#!L-5nk?$;Ov@5m|Mu-S`8KnHK~P)FZTj`nZDovs zakq9`O=-}{bTeT%Vzc?fo=Z|%@b3PpNCt-6<)Rz%3cS=$tttL_N!KPWD?9&f08=IZ zaR!G!kA06aG+ay5x8$k*3!06-dA|Q%KWHR(LiAb4d^At+l4Z-6-_MYmbu7(RKvtTS z;o>EM1(zT8?O$CM_IT}H;VOn+^}gkEBy#fKGA&y3{eCKV0D$fN(cMQsteqXIzWV#M z7n<#g$>3Z#LE0!};;Z-X<HN(#|7%P?ZTsz`&5qS?lf@jK&+0nJ(R(&`?#g-cPkSc1 zG1$u8UMvWk`WD}DXxj3xj+f*ZCU`B|(f(oMY~L*=ECp+WTiy6A!Rdd3p~02h`1<<# z<LN=Rb|+q}^?19dU~S-yJv!&|w6@tLbA5|?{9yC)SN7YOE?k-af@P8MqrKaY`=4+A zJ2A}n@9k1eQT5rmcM+ZZy1njpWz1_XN6z=pwVfFhxc%vrv==g<62a-j3#l}9QNHs_ zK$}5cKX%)3U4B!_vfBHGPSZr1gn#wxXN29DXWMHZJw1qBVab!5$Jyf-zFKIzY=guK zi@Bi-*%%&j|7Lh3Z*Q?V?`-R3P0{6z;K}WWFI~g!%A`etf9Tx)*LTb6?wOs{!O9IB z=PmEdZL8d^3o7bPyj9D}&gSOkF1Fv8e7tYcB%$e9%T}#Awe<Ef-`S^5pN_Bjcyyvq z*6(F|UPsT_v-SRa9kK4CNrp3hzWsmo^;hNRXLln^wnoXy`ifWhY+SWyj%>xp6X$&9 z-`fZ(Z0?v_Sz9M3C)d7wS*jkYG%;pZ$xC+oAC1Y6KcBaMf9dU`quoNCDNiIP-Oki0 z4~h)Ec&bb7p~cc4AI|x#e7^1CY*vO1n_m4`=Cb9DclEms(a)!b9<RUkusTexsmJ8y z>)d#z%0l7FdnP6B%XhYz_UsLeP*7|UFnYE}Y-MC*<oo^q>*C|@UwEu4<QW!rEhF9a zUEJhNt7mSp&p(%QRwH!!)VCpL?@!d6J0<q)pWio6J+VKs`d*FEp$pgTeO^9WlNx`k zxM0Qoh|r6txc&=?ZjQgf|8C9wIgw%lEDXin5?2q;Ha?vs>a*}`X3w)zDWMlSHWl$+ zikUelUXkac=~MS@hG)3NCWqPIS^eOdnBkdSRj*Sz?RX@37jJNI;!sREQ>h!|?Bq1B z=9A~*ixvh32_{m!Y|RG~3}&BYWMl-LoGQl7%GxV!?)T$8hq`E7%&Tf^$<%%Cm)K4G zc4Q$xpR4Q7f2(vC$7N4RSvz_D^G(-Ip1v0H#%9*1sAVD9E+unx(q=6QfBld*-kF<+ zK_KJwPVy$D`@fhz1x-qymu0u$nEbMaw|=r)B52*mi5Z`xmiWyyI+8u>M6F7B=sS+r zArfEH_%58+3OJGdsr+5g*?QgJt`jpP=55};fBVv`k7^I6eLhuNU#nNRL2>De=B}5f z-R81vL0xtlZbw(m^<}uGzm7HR-S6yM%i9?%tC|kaTO7FFSK|iT+;a>JZh0FR(nCYz z&()vXX8*!D?AwGscz=C?vBk6ADU0~ET5g={-8N?}H}ip2U9F)Oe4ozTDt)@I_QsPc zTN$S+pTirkKJ2-@R4%E}>Hd^Oi(Xon%WZQnI1%5Gm@hHsQN=9h-=}KpeXZZkTR7c* z*Xt5cJ^SFazTd>^^8xm0uRS4s_>Na040GaUD~Pm!JJD3`zh^Tttla-|^68|#=}%9I zscdyQsw2Pt;w#2)H+HwDE?s3F?oxg&|D4Wh+u0ix1$D2^*5mGWEPnc|n{o0qZp&gv znd6LaHi{RQvvSE=y*5whYL<yO?W)-6X?eBFTl1&sY&+Wn2K$|gQ;YtsI=b`QWB>Dc zbEdwq<o$M|dp6%`QJ=&hP+zr;=jv>Kw=dsoep-L`*8RHgz)sgym$YZ5THmf$v=O{; z?__D+$E0`bELb<+|CVwfsqX#BMOmRArk!c)`83Bf=Kj^>_j1R?|D~Isn>9Ij?T#;2 zT--kE^$K>W$sDizw|KYj@r&IZoQf?RFP<BA`hP0=oR=^qK;Y3|-K)BMYjx+#HrCXJ zt#Dg>QDw>LgL7;SJFUN(A;cw8^mOz7)%R+3_9{3oe)&>b;>GKWGb|d6Gfkv=!{nc+ zGck1AhLrwVaM1G!S6iZlTd36Q>ae^ujx&PxsZ<`EmaNkN>dRMeb~2UfZDf9+&ekBw zf6{O2)GKjUGE6vGtEap3e)$TTh`y%rX6EFcHCtRF*8Zwd)~h|wXZX?~-oIoHPm$}x zoL)E3G`C~euj1c@$G^v2POz3Z@o15$l<$iz5+?J)v#Wlw*~Gn46kBn<&9A$0&6k-s zXI)scmuK_aiPOH98*aMv-{S(P8L0N~WsqcFP1&;b>Lve#A|G$`w`Myq57d)CzVLjM z!G-G;Q@s5zWGvqiBfP%8<oe6DU(Ete96R@4@O$<51>3&6@xjr?lLGhTipA#FG&;pi z-oF&16JNi;`8m7~FIJIQMtmRs-af|oO-1MLOR+3GZFV9)Zujc|?_+H@Z*|N6%lewf zHe<iS)oGzWHraONKYRXs*?Xo*+pq827Q!{7@?O=p*N-%htl_;X#m1nLn=CQW^S<$n zNxI6nnG}1T_UyH~R|TEnUZyeOd1do*lV!(F2i*Rp`~UF{?cA&r(|n#*-uu1u+cpOY zoo|w+Yz=?^2|@e$4St^zcozKI*KO`IbH7Vi-5a0l{RM{qHa106-n?}_>e@r&z++*u z>&thmeVEjF8kBQ8WJOngUp!H4<$KNhlf9NI%cj0v|9YcXi}Z$HYq#3;pWL|dK+nPV z_nGH-F2Bgfz_9so#xAFQX7#U4p01V*`kv8tM72mGyKnoNzYlX1EmmKSu2A@PFkzef z^GkOZyftL7*j{gMmN&<?B<x;z!i8Cu4EO8qAN{;_bvgT#RWn2{-mxz`|G$a-{AYs< z(~qn?!5VjX*4s?`bDKvqU;aJ2!`gj^j(e<qx$FF+DKp+~-deI%_H*Cy=ijP54o8XW ztz@0B{6|sb4mWFqD@(uaI1m|RafXAVUZ?us0nx2e9ldkUd~VwS9?rN|Z(sK9yz$nF zFN@avT_d$fefz75xxY<sPBjQo`{VI{yDNv{6FUJ0hu5DR<aZwC(En_HJ3>dyet-1$ zImeKC__ytJf2S@yw?(w&TI`m_BdSGf&ep4Lb<~hK|MvWk+l$(IH#Zjlwy*zmbnVB0 z6XH+y-<$B~_Cceqdz+8)Xfn+Guy^@d$z`^@+ja>vRGcd;zI0Faz|OzXubb}OvWN-u zyU|z1a7`iS@WCjDX^OKCnZ=2oN}Og}?!&o;jbYovrFU=q%W4zpsNWS5mRI;Maa;R* z&8fQD)q52^BYK_ROCO8-Jb{gEUybhkU;`f^hSLoJ8>{zTi4)`C*>T2n!VmeSn^IHd z=S1(QGixZ8-&5oj7B$I&L6+^%GyREEr`ON^_<RH7i?pSuH*Rw)N!ZP2#ee<CZ+Xz- z;*UO8u3a-LeRbvbTsFzBzv9c!q;3At9ejOV?CzQIbENF+{=7(g@#4<Ep0%ad9zS`z zjrZb(52t^Ntq?O^GnY}pB<9vHw@qtp&e$FhIrr<?-?f#yB^Ap34{xqePkz1d;KPN} zMf%sSE&L&)Cwo0;=9_@nWz$xDOZoBj#hhnl3ct^~SEkRG($n_m-oUC6`t~HxHHl`u zzj10yCRIB;+;6s@?PhhKO~~ZWw}Y?st>&+Z6e#~#ka#bTjbYPwlbk<+5l4>h{hWLA z-2d~7e@|<_v0Y&9vs0i2=s}0Qzim7vzc1U?@7})ji}$zP>g(TQ`MY+ziIkbzY<vBf zu(Z=DACh*)WqrGnm(P8rF7^EJx{1eHUB9f}mJ-FheA=pSX>8G-<<tMXIr_h^@~`;i zEzAy}mG||Y|844L@xA!H<;c@n8Cw{g(~N$YgQhC-UxOB{i!a~vPe*HKanG;wi~3&1 z+n6YMy~($I=CkWvT=QPr3s;t2-1&8r#4Z!7k3UXaaIk;Kob!CmVdq%8-9C>lyu0(J z;@%7KSI%L1+#jqOk0vxkyy5S5JkHw6cFSzr+-pgHK?~ILuJ6=o)9XE&_$DFcT*`(Y z-MPni<#pfC?d5LgdU8K6CGLl~Vp#g$WoH)mU)?iDv2^zpXWfDiQ<4`oa~GYAhYk<e zwtK%cI8Z0};Gg?<BU#0k3Dq;hR`0zz-&OU=u@@$>a`(N~UoPRjc>2O^+lWOw=6n{o zcv|J&Gd6~1{zzWwBQNKit6EX4xo*xiqY{_z#(v3jm8{E5b}YU4SC@Il?p<q6@2vPI zQn#T@E1_V1atCXb-P3If{pvD$OQ$m`p9IYW)b@9UIK5--&j~&u{zQN6*4ntW3G?Q^ z+~exQq1bZAcZG-Qleh(!&xq{v%Qvl<3`(LqwF4)5o!Hy>ZmzHs$Ij&!pd$_wtj}?D zU0EHze$~~ihd-X2oIG{v)Z~c*lG#cVJL2a0fmYc^_dnjzz!0DR`1h^%cXk%b*ZojD z|M}(1mu$@sPwVeLbMoZQi##Xas!a6gaZ3&exbPtsyjsDn|7H#!AK$l)oBds1fwlpk zxBLA@eE*N5KR!ObnpGMb8|&wHu1C_iP2TgJP0-3Mix)FHI5-?w`{$_^XyoM1c8fma z*=OAr7k+wj(vDAZpNDPLmyGP}*T25LmaqA6u;2dQj~^c&-@JKq?%cUf6Myah|9d~^ ze(Y_zvv2PJ&2M`xpEd!s7NCP^!OHsI6_(PVez?l^#KSvhZe(F_QM&l$<>km}Z{NQ+ zpM7?_wJg}q-%LzQP0h{f{_}K%I%{N&zPx<)>{<Pv$MXAs9M#{od-wUd*6JZEK7RZd z8XC&5E`ERAyE{8?Zr=N!VY|t<7rQJkHUw;*w!fI?n$^@hexL!8u75l&po+Gbw|M*a z`Tzec_fP?ye-IRO>Eq+$#YIIyK|zNOAD&<RZs&>>8Vj9bx8=;_7d~pU*?{H3_FaGX zo#${}6EXd+%k32)Qxv~%Nh}KjozOFTcJ+e;jlI(5`+mJzefI2Gr{C)HYYrLs`1$#z zr$0ZddI7XsAoFfP>AtD=OVdtUzj9-^^une@Ywg><+BM1Ei>^EsX8;dh$Zd0HVz9`2 zN?>yT+}nTe_x;Yhv!ih0#EFH4g}=YQzrUj}IVkAT_4xX~XU*^b`TM?pzIAz?k55m~ z%ASsn8J5M*3WT@*|JWkeajxUL;l^*LmOUsofvp87ztZc}d9%uB>A7lm$b$V_pj8U~ zb1K#9`21=E&nf9!|Cam~agFn<eDrgXUsf+`8=wC?Jzc;1Xi}%kqxbLYcV7ngGxwfP z+Q`Gh6SJ@8XCu4ZhmC%+t3b)*g>t`*kcfy$`Z*Z}r@6mQDEDhjJ*64EY)#bGRcqJ! zstECZ)nW{r8@g~?Er(|1wdc3Ltd;e0m}a6Z<xmsUd1agND?h71F;)eeIIaz~;f<OM z3{P)<J2Yph?@GIK<?@7f158-h6|y$WI{Vt1!pFxtU6hVnh3<G?|MZk-tJB9T!Tz>C z9yG@}-+6KOn_n2ef}51#r-dDUu>qHA_WU{Ya!S`_i5j+sh?ie~efaPJdHAKaw$`pp z?p1d%Cnx9sKhN!%!JzeT$isdAzrMb%Ds=LF{r}(Y^0g+0hJ_|YWum&gj2F&j<z;O7 z@O0IiWp6SVPHld>c-F1h^EqahUk8G+XwmDRzkmP!S36^2*VJdvp3R##@4Wqgn-gj0 z=2*Ub`BGF=G&D5y<HwJhnwsWw-#*B#D%o0_vwyj~y)A!6PTp&l3%A~UjoW{GOaGOn zAy-1TF$D@qD$MrU-3Csp<&x`NU%k7#d-9}7b-ymp|Mu-$-M^pDtM>kTy?+0?l`B`S zUftc_U;k?5@=cpIxhXexh;lD(JZCCes;Ryq<%3}Bj6-iSHoRKXwQI`eNka4GVmEl5 z^3<N_6d6AKQ{S#Yspv^n%IA3?BPzE&u3Wn&CMNdm(yxQ;@*XOaKx3Bg_kNEnF8+L& z-~P^}OG1*8J9BPs@|>)8_mj%|@9{G?MSunzQjBi?Uw!@c^Ru(dlP_M$`r5)N>}Ku^ zDhCAOWA@kCLYLE9q^=Lxo`0WD!PvNX%cRepUsYE+CEmJxiphBS{rRG=A|6!!D_iaW z8gelbIlujP_}Zwi*P`=F%gWMHQs&rJe*@j^+R80{CF|?<`*pwXmftTeEzLBUwQrx@ z!`u&I-Kk$bcg+gkWN_q{gu~HH)kXZzj`aM~Y3bn%3*C|tI5A75Kd9fUWm;{wm~PaT zjEnoGMO$cs1|-z>yj!v^YU``8XAkwPrrs;E3OiP$J~dQy?V1dszThtY_h+V5<w@_2 zWMBZT67X_4y>H8NzTKs9k)?l@%kE2ms(8X<^1gfDR40g=PkipH9M`>JlA!B`*`Jvf zS7j8Z&8%N=-G1Zkshj;R4{hO8Y?-jpb-j|(;_RR@)5Tg-9pj?3vRB<$nY1>y$B8d; zW!K7caxb0F>i)iTNoG4+WN6^6Q^Jv2$Gk$dn87RSCw}l;w_$FIND&K5uZH$@1un}R z=bEo4%-Ry?)t@-db#<Ru`_vzD2PZnNpXww1Yg+SLFAKf*ABqpL?%U`IvfR+{%IQBR z_n!Jb_X;V?=l^<a=H+2XxG$BnGAi<-O1O#c<S*a8F)^q_R*SCP?Q3&>ar|}A()|Lp z+ny>S2A$L5?s9A@;+-@>&)v6o*W~BQwZ1#!uit(jecrEhvd-iG5!WB>5t3KlVNhhl zaPRf}8!N6$v0GT^ynh)K>3j33cI=;=m%V<VwOKuOw>(u3pNO4$`|4HGMT%~FXEHCJ zAG%<|<L<e;TYOI-1~4{;hIR)#Z|vGCE514+EObvrt!}{Xd$+bey?nUA#@2DQIp4Wu zz8W{aZFnne9x-?0Dy^%cvFp!0$PW7;^2EP>MPtlH-IJ>Cj~@MYHuSk$Sm>J_1`ON8 zmOD1B{J81Zr>Fa~3!^%NSzfnmP1Wsi=4kJ<W&K_<_pXGG48z3u`yQ9nS_GVq$-G^1 zuiv6iI`IFU(4D88PfdKYoQYxibu|%<C#FBGv(KmHc$gII$$d8M)fe4xuh27H8KB8| z@xKo)^erv!mUwpZ)RP*!I-%)1eDvx!ZTOH_yr1#vnK#!be_oitH95gB?$3+;43T$S z_I~F261Dd7m94MEuQM?O)qhr>ezfZRsj0diS)E;xc5#cZGQZha&VSk~G=E(OcuXv; z+AP^wDQcB@te9Byvr}iqnbmZ~i=H)E^fBK^)_?YnOT?<=TK+i^wwo?G`kH^e!)`7+ z+Rpgo&EM1d!dnk4k!k0c3|a>e^eNj;wtPyWn#GyZa@B>G6L&Ug`n+0mf6mPb3#&e# z?D#j&ZsDva7Uw>fPGi~-_Tbu=xXPV^pPElU7M}mfHrEL>tai~)>!W8}-aXzPAugvq z`<LD-lwJ>7Cb0fIXqmvQmJ-VulhY$!Y?bnLYIIsx^R4{q?*66XDj6oWwam=5wo=0E z1!}!+i!Z)v{^P=sP(R<r8$7VE=6v)jujJbEr+VKmJWJ`Y!uuVXmKW4d-pa0)`Fdj7 zmoMV|8w<J&E?gIuRd25OTh!^cm~-xam$bRl-zF$@cVEjeS$H|=LPgx#moKFYVj7OW z&I#XbXA1)5)9Y7uY0kL1T;B5*sG&K7n_)re%{HZSiHE8G(xkhOK6+jr{D0Su#{BQs zuUzX%5y_wJdR;nx!G!Bi@>fQE37c@?SlxZbIZ>0NlHbqG`fIl9LZzc!`GO7M%gcLG zt4{=3*|G&}i+frx!_F`x{EWeC(7uR;Azz<u+VC#Uwt`{K#@)N6IZoEp&0JZ&p-5Uw z`#W_O%=;Z(;<(z7L2+jF4ADB!c8^0Ye1a_*b3C&jFg8!zyw$&V`oe8rqyHT*48L_{ zg6>SMl5O#N@2}5%Ug@wdfon2DgYnDV)ujw>Q_Mhx?=dC@pSf0F%a%K~CH+6Dx%sBf zpGQ}=W?#=!d*IQ1<@=QPo=Y!H?A!G1`qv2VL%b1xuSLx}{^UkPLfcvwCWdoME@!Ya zG~6sSiB*iBy}xwUr>i_Gt4*9A30Y1tJsy4SU%@tkIagom+6eqkFu1+A_+{ROZxRf1 zZts_uHa{n4rTt#pAmgk|L;n8vkAB{|x|<oCDc{NOeqMjD`FW+pmRUcT+B8`}>wdKR zRsWkgpSpegH)Fu+^&bp_vUm9z-v}1=y85HUGV9j9_m9#oT{hgES8lsa?6`Lp;}gw& zF=Bap+qUuDTW`$IFlS<Fthsxw?`+UCX!VxKRpJHzBd<hT{>I+d*WF8MU;pkJrq(@b z_1SHi{>^LOu`tXlzVmc*Ib?Q!!FDsg=~IQbEtYLC<+xq2L2N?miDesl!&{4Hq@I@z zW?IeIkXw;yzHR?3Mb=02^`=gZZkpp{`^RTxPUOwkyq<@$WU81OELP+>v%T?7?7Qkv z_u!=Fg{r%o|GYb-xyAlqQd`M`)7L*)vL04p+`wZo^~K?sba|e+;Mn~JU6{Dtn%79= zyHe=->*r^izdyEU<<(aoA0O|}YwJ7r_WX^gbX&iBdA9|4dH3(hZ_Eljd`ptS>G0CE z`6{<h9lpct^Kec6z5BDa&t@$8Zer72ZnRBKN=B~A^W%+MQtjs-UMkd`dXn#ID(xon zYtL_f>u{_ss=YHzdq(cZobyZDroRyct)hQic=%Y#=jW}bPvrzFgBH|hZryfg^LLXR zpR)bua-!$zZh73wz;G?`QX;sD$P3BO&(FzOqi?&?V=s44)kLdh^&c;EXl&g7b%ycF zUDdqbzBvR>cYA*Abkd7UFOED`c4q$D!oOkeW<LJXpKpvhop%>+eq6aYeg%KzPTd2q zS;U$dlQ!Dxu*r&xNM%&J+{o0u*6$}M`}~{1^wNgpmV-ae9T(>lJ+c4pi9H|m51lyo z%Xg-`{O=FGKbimaO^jK;**W8SirWNGOcgEO61BG9RcmikSC7%$Wv3rA_gMK}7ud_Q z_inT4gwvM%f_r@)<>oOM{FrccgX5fYFW0nNO@DPZQ`g!3OVKgQrgM)Azi;PB*tY-B zw?{vNe;mBU(R*4u_pVxj_d7SR*N@4Gu57t8Rqp1p3Hm4Ev+5%fwl-DPE&Dvr05o19 zzF2AMgx!<;jDstdH%$F1XA2VSUjPymx!b4SB2c6+9XT<}Y_|RXKcCm{|0i`ox!>l~ zjpTk-mVlX{=}Q48x0?p4Y1P%gKR!OrxMb<lqeqU+v8nv@>+9?6Yik%k*#G}*ukJt3 z$J=|iXy&Ag%0itL^Taz{wp)W|DeuHv^nI?aFP;&9{m+ZV{dJ!v&;Rp8-Tvo`#r+I5 zf4^S0w6qLbX`-d2rLOLNBk1d*y_**4J@wfAcJZ=*Z+A`Untayond`A07bU})KJW#} zXVQub3O4l5ZP!fu{p;7GM~_;V8LIZ)OWOG5+c&QCuT_5onor7lYE3OGDPiE?;P~)a z`dPdtxWRAU|JY*l%^VXcb^m#99#2T@3h8ty`uC^up+m;Yw{JziJ!E2L&Q}U8y4^uw z^})^W?0oH7L0hBNhG^yH<UFa2)0&#K_0|M1@Sd*6IKwPA%ERLX@6(mwemytCgky5C z=IT-m;7;Vjm4Q-9$zOXr>>}nY`DQSoXNHGLS6A1ryOH4TLdDasdHLbt)14O1FwG7N z3%j-{^>o_VSxW;n($3AfdEvr`6QDRcq0Gz6>*?ufZjkzXrT(eNC#mW3u@X#Se~*XV z=(>1g@zI;UM~gp4lwP}?ZuOQqLZ{Mf_sSn1HRaeK3p}bPT%UWz-~R8Hi|+DsZL7Bx z6xV-yb5pE)>CT-y_wWDT%y0Lg^53VYr}^!EEV!AoZ{zj=&GV2w-K-2-$}|`wFZE<F zbX2B2tbE#;-5VRBnDfn3{nVm8JSyfb&wsvqm)CqS!9*&*Tn`lTJHNBCvUY;5zBv)N z<L>=y*R~}c?E>{Kw1br<uGqQLQb#A}=clLqc0Uvv^7sG!cG=%PH!tts_xk_eH*7Gt zzqtpw^U3gO)8_e!Um2wQW&AA-Z>-(Q-655hkhtglWg+c{@)AiKBa|lo`2G9-yAn`` zr|3QU0{p#VD?2+ozkdA+I%&-+`<hPo(ND*u^Z%UQ|L621Rqr>lpw4CSvornn|8{KK z_U*a-|DDhOUeVhoY?$ZY=e8zd`d%gn(B6DMP=~wSnPG2E;;nmEIutjTN=wK;KCRTb z_}#m_jS+8tb1Q%x;FLFM|NeRpj}8x&SMT0U^IE!(=i@J*thBVWnwmXcORIi9oesLl z?!<``?((%;?w?)UZ>KfUW8be=+S?fnC5;V#Jjn>ZeO$+&xJu|k%@Vz(i`H!t?U;0e z;pUZsBmU=^rDor@YE-<p;#H!8q~%`hD<T$c+h*2p{`&Xt-_=!BR@T<lRaJU%dwv`d z_IGiw{%7=eYxea%dHa7~F8lAEpJf-c{aMr7!=Mup4jp@5aQ~hAmxGUvPkz(eTx-L( z=X)fmTbg7v^UeROufKkNc6Rs1jI6Cyhgvun&sGGDcXa5li{CFNE&bZtf4%Ff#dEF8 z_kB3TZEI^QbA0EVPoF<?^Yh=|njIb(c(M1XSDULV_(Y6%y!*sg+Wmbn!AI@)kH`J$ z{_|wS#EuotDOf!J@s14}Hk_QSUjOIgaif`UmVHtMB`C!sjsC8$9{1bJ$;tgYCY@jN z^=kOSg$u#gI(%HXaAADy*Q?U`dkpLT{5UROU$aISqU(GA!nndLqnRaEvHAJ>r#Gc- zu6%W6W&PjR@l(B)x-DiD5EL{_JvBxC?+f>&jXM@EPX6-)WZIYLmF2ASp68cyf$esd zT;;*b!_(6N0yFGtcU|~&CD{M&q%|BnSEDQiFl>wZru*wDJ40CL|J>k5z3qviu9nvO z_WZN}E%-g3_vHAZ6L<3{Spl#p^v;<%4b`u-S4(wETy>speEJV_{;PhwkM~#2aIN15 zwWy{_ZK}Y0-&5<-LY5kx@b*si6}1jsv$Z$ygrat+;nkay-6S@q#z)=SH|^m0HLEmo zpLXhqCNI^R%E;)*V6ffehf4SjKO-(nCh%r+fmWGqiu<Zkqz@aMw>L>?<x)`4IAGWN zddi`bf*CibPy2S~Y0%Wip*w57cExGWEc<L<nfU6x^i+tKGt|G<J^7t>Lpal4=GTLO zkdP}MV%PRmtqq*C)vs>e=_qym=-`c?GfrjC3|cFAv2fFj%t>);>z3SP1Fg1y@b~|> zcXsPee!eIFLtWrdFaztPuB}cBgH~3Au`J&bwtV^4pu+tN*G>If7o3?{y~{Y;JoDDq zGev7|Tbe$)c_sI4RM?Tr#s!x*`N~`?Gt%W-8@Nrm<M77?i?(nooM)>1^|w%6aRR## ztMJFqbsry<K0j3&|J{5`ea)VAulE)Id%k+x+;ch>f2V9&y_%ar!S{A(!1U#&QoTDa z-d5eKFJ+K%HviGV@DTo&yQ}W5$a<o{Z#S=V(V}HxiwifcR=xk??XHJW=g%~S%e{H^ ziiwS9!>%XV?Zx#)hvrJY|7`#NI`avg8*|hCZT7faCVFM>9R)Kfc3wAzW6|>%Wmgw= zbaccVni(Q>^z!QYdD+>;ucsWeo6Fd?Z{~WDlt)vFb{lY7T3X%8kT5B?{Qp^1&EDRA z&BLvS-#&YMop1Yg`MTVb+`k)Y^=IswXJ5x~qUO)Rcl!=5TwQAa<J5QIv+H@BC0G6Z zaGpQ@_1jl(%eQLXkbYABUQ}`OgWsFouk3wddiu$$568Y8ULRR+!0>EZqB>(o#J<;4 z*{k2yd~~Z{Z}PVKw6aXhxm{Pk^u3**x?%nAgW+Ym+y7o~4K-B$_s!nk{>!_7kIv%N ziSu)py12MJcI8>Hd-v_jsS}J39sX0AR<-xu@#oY2l_vgP%5%<k@2{7S?u+a;p3lY5 zw(lK#yygj=Q$g=m$NhTb{FiO<&r{FqKmIs<y@-Exn9HL(eN%K?-{jw`E9!Gv>UDqO zq|~1M$3I*Mo;ma7Y%|qYd0!rjuWI@4b<(LZ>vGNucIkf~6es*@*pvT5{e|?${U7#; zPvdCJ`uFU9?~e_AtEEobocLqTzj|7GS;=?CxAOnLH(t4Ocz3wVHn}?+a!&7iwN&4( z<@5d@??N9QesHIcm-kWiG;ULA6}D!^jQ>BrF5mu}Q#Oh}FG6h&3&V@|FSn?K1Z$a1 zzjXid+XqE&<@f))%RG~HmG9<g{=A5?l$Q_hzMMR({(IM4d++%2<zLyii+pxyd^Ptb z!@0K}C!><?e0^CSB+_2IUiY@rGzp&XYh=Ry{EWBx_sJb>Nb5V-cmK~jySS7TA7NPL zH}};`qZ5*+&HY}MSUr?pekJQ`?z+UYm$U7DURHlMFO{!F|No<n{`-X!@@(Tj3L4pa zaKC%;Lg3mZ`_)<XMl!Os{QH6?Sn9u4Z`M9~I=*`8;>E%YY;0TD7@{5?Oc#<DWO$+L z{P)qv>GnqZBX+*N{GQ|Ed6Cso{LkhV?9`H8=D6VJ-}0bml5u~}-u7>EU;At3tIWT> zeSLj(%nb7x7<SZ$y*jCz|8DkIdH**1AE(x}96UGgT;mD$pg?wpjP<{Krp}61tGTs| zd+Lr&OJw<XmN`$kdwOepn4+ofrp1euf9%T$iOYCZ@rLn7N5hL3o(CE(GoJrnwp+{e z`&#x^`)AGf&-v=!3M%|(&2KAG6TfA`WcDhnR{I?n_CHcy@~kfU#s3G7XKExls46YG z-D<qDoZ<F**S$v>^OK?zFYZ$+KW8*+{iWNY`Yea$*T0=Ev~ca;)29!dOn)vOS#{q0 zuCZRpyy>Ywt}a`5&+hfcGtr8Nm%B3`E!92N%Fn<sDL!~*oW+jBn_^Go?)?op@pYY@ z1fvAo`uP2PEV{q%1>agXk1>4JrnUD?IGW~H85X}TzFl8j_p+PwF7N*T2aPMW9<2WS zZ1!rd>a6sG_WNdi{qp#B<CHnI|9_@fEHIYxeZS3gj?0(ggLnTjGo;nWFBQuCZB?DK zc}c+G53=+Be$z8IwG;jQYF00|{EllkTCS)slj?PQc)n=KtDVn<W&Rv*xR_zGt-g}A zW2V|$Q$7ZV^(9dz7rvy<HdKtsFD+gDZ~EF_-(T^Vi3$k{_DbKgC^auKPye&)$MuH~ zAHJKH`s)7eOs*FFM>FH?(oK@Qe0U1>XU-C0NVxE=tc0JT;nmws$GMH>pT1QQ|FK?& zcf0J`{|nWP0%Jnz{_WhslKA1<J-fYv9W%vl+`DPLsJgy9-M-;g`MrbQ`l=S|PkmH> z@&1}5gGv3(G?RDLYW{PoBep7C`mlY^`gul&GE5fj->v*lbZXY*4GQ}nKb|75%WEEW z?mOd!D<x+oWb?GHUyRR=sBF4b{wC(!l+O7#*b{sYKKE}eE#aT>Pe=6m=JcrLS8kQx z+wtj4z0TGi8&$Pqt0W#o1q%xZ8z0S(*|2xl&ixlJ*uOb{c!HOU%XaqsIg0{8-hTJa z&Gqg4Z*PA;==kX-uP6|8Pp0BUr;kYL-ybf!9~|l5zv|EGf?L+=m(0)h)Gt*Cp87rB zea-xzB`-I<41IqloXhCr>|XEtD`m@E7bhNwD`(jHK1XLFOHb5QgSXT5d3i6@J!!6W zcy;N@in7vff%e<Cwe9uHzT18}Cav2076d-tKj-_Ea{`aFR$*-3tCRB4cD}zSn%}c{ z^yu=MH*tK-^Z%z$JNRYAs`p1{AKE+D-uw4N^SZe^N<*hyZD8hKd)C+X=i|T2?6&@{ zuQ4($f9w2g|D2c1*Z*bCU;1Bo=8f-*GS4h5Q&L)V+u_QM8=zCYLB+-Gr~mft+xO(j zliAX1SFY4FF)7K>-V*lv+@)UCWsj%Gd~V4oxN&v<S?fPrmCxVhSFq68^KQ9j<g%~- zme()6W%5~m|J@yG{;W28KYN&cnx6OP?1h&H!@1;Y*PVD(8nNU5PuXdg8PA-z-BY~M zKmGlN>}b!sf7(s2#>=nOs+K=s<M8g`+|x|fY^ve+d_}z~e}%K|JD)15nEc#*b642E z7fV(?Hs1g1&s26PzMQDZ%b6N_=DNpKS)>FVUblYM>c6k}PuFd;IU%C^Hm-1m)qer& z>DHfuy51dGwtU+hnVa?&I(vTiOHa#Pd1Qlj?Z4p9H<l&k$<$TOeEH_*&h~O$?l&*w z7@A7ei{=TPtNk_e%>6goLcf-`NcQd7lvD9LpwY#}CGYjCS6!W*g-g|)U&$t%aelSq zpE&<K5y1!9R%RL1>&w4J-}<{HS9Y)2-Y<W1W%n{JoZS4krbXOff4Y@z#gW&7;v2K% z@8$gcx4?e`cj(O;hIa7_-@hv>91#EYFRoeT#`!%;hHo~{h~tyK`0LiU^%jeEO`N{_ z$Lw&U+3`Vpe~B)1e|_-1o_6(?jMtY67@WnoeLik1o_zJ>ub?p3*I)PT+xP6>wzp;W zOoD<Fvv=*@9m})w&SbCTHQN`TeYfxQy*@Mby}x#^<9|9&@cm86iw9k0Vx<{=#jeP@ z;@GzLdbX9!&n1@==cjHFoVzdodC~RRp$+FgJ-OA!tuFZcPRN4$_gdff=B}UoIIaCH zsIKl&ochA=lmC7F6LY42U6NY;!kBf{`?C^uqCPGzCW1R;gI2EsfqAvxA{ng9-Y{&) zyu57V`tFW5FW=5kwDCG{WJ`y?i;Kxc3+|Q8&COa<U!9t&y?5_khChG)^te5?{eDMz zPxZe&FS~_TuU;)IEG*mS<dU4Z<t(#{i;Hm6;R#k27C+kU|14a+`g9=s$`CD^nJ3<@ zee~Q;tMc0--`72s%fsDvM<yOW`2F<#to}a_wjNLGzc&-qBv)f<R}5Vm#LCKgcDDKZ zdDZWJemKm}%*>pAZqCdpQ%b(Qxw$%gJrk(m{z3QN<>mg{ZEL@s>bcyYnWVJr&Cew# zKK|l(A~(?^#YD<gY2tEjMJ1(0ySoo22z1BZ&3?6E{{H>{H>IAgsqx|8vh)AH->t6y zEsLL>nQ82vvFGdi=Syz;Yfa_j<MUFPbaA(kprBx{>|8%_35gd;>FtW8N0Ke7tE+RB zU!JXVT(qG{UnY9}W9zK#<w+Ll>G?qw6+fPyp3c~DH0iXx6UZmW`VS^tcv;fi+#I~j zr|_dlczO&oGc)Mc>f5h(2F^XXRQC2cvDro$pg@>^_uEbO^|ofW6Ms**HhKBItmCtK zdP?8QFPF{MTH}37<o&;|@2iw1X8ii{^6lHV=6QE6yeyfg*WS_5p=P%+0(4bH>M4=y z<}$maf|dql=D*)i-Sz*|^!*&V^*>L?%T+!R49{M(JBDY8-Yi>b2DP;jB0s}CU;kFO zE^D>Um~UUy@aUEI>@d5^Tg&Fgs0($r%)STmz@EvgSMLp48M69n)b^0DFuk}v6(1iR zojP@D-?>d!Z{1^8u&SBV{q~yD^YhilGCL~D-ff$-^R`#nm7R5wN=iyfyC(0D3VK_2 z`?qqx&7)&7S_}$CHXH|*e&Z9r-9CHEqn|yO*Qd@o*TE7HQ+sl)x3Hj~;KjLzdS`~* zKGp~VjNkPn>}z=gD&O3(WO!jwu|~9`rtY6g``fT{wJGx)dM7MnS{Z!!&TbPyK|#U0 zig#{I&bnRk_!#f^^%8p%S8oo5tp#|wb;FPEr{~`dV><9kug?9gbK3ftKhJ(Y&7V3& zgqfpXbN2h3d<L)?JMZk+eSh1<)(KXbM?Xty$7Gc(-Mm=16LdklQ=#dSU%!9fHv9JV z>&NbHQ0Qcw*(ntSI>u^?$I?sh-sM@`;B;_tad9cR{H8r*ZP@CoS-*e(ZjE02rRuMA z{vJU=!NONpG&h1KhMAd|($3EMy8Hg$bLY?N>*~HW6ZZw_6rR0e<Hn2c9xpvn{o-rY z-njKwvvl|W{`JePCSMm6IxdIS=c$82c0ITfba9D0epPyT#-SH)q;LE@c~jZc_qtV; zZS=`2o(ES4KZ=h$Rm<(-;$kA?{3`bO^7(Ua#uvZccVnheb-(EDxom7~bxT*h-(xu8 zcm18;MX^dsO0zy3VQ5kJoOoR*Z_cHeFTYmF&!2sNd7(pTpqcW+tm^gWE*Q7D-ecL= z?_rkvOWpJ<&q|Q#O%kA^Zfs-OER%Qcj$eM6v;6z&tFLCutxb36URO8wphcVLJ(;zP zYh(Y~&bwC%3Zb|TaC6Q*;O?UatG$UnT)RuH_CDWiBq%6Ysrb%wue2oZcBx`eupbk3 zeieK2#7}P}C8bYUJS)qU&n*!W6r4Cc*<-JEuia#;-~H?FNoQNV)4Un?vAJ*^C|XWP zIlsD_v1R6!dadfWagT5EKel6P_<G)UZ{^`TpRN7h?bY21itI+kuX;~w)J#=1gyznd znW-|3=|H=D+}~@@s^$I7-i0!1u3RqP&%w%IGDq9@x6#)xOmF^WK8<78QU6~1<BA^@ zYhP)nuD>tN&0s6P_iwu2K_NlGi@pUCLH561EPnPZP27E^S?;Y<Q?-w;P?0KMd}c{q z-P1pd`PWya{%iej707Ymd;R=Bj;c;gwG%?VRh;;F$@ab#qs^{2>tA;N`<(Fir@MTW zO=Nt9)QoEXrj51Npa1$_^KjpZw)4sN?dN~}v)wHH|K->3L+>v0cLf!<9fv2}x^rhw z>S-}?_mgMO$}X;YQ6_Nk=e#S+^8dR}RZI^3EB*iZeFlf>SCgHy{iPc>pRT*mJ;Ae1 z@xcFk7nZOy`p&QWc;WQNjf*aS&3^3s(e-S-@=Bee1!1LU^;0gj|F3--z4O!d#3w0Q zf`WoOv!^`$mwddBlih7`po-8<+kdyN?|W9!;BCEauCAG^d)<dy$(!?+o#<<RKYjnz zy35Nid$a}0Khx*@Z29H*@9t{GgoB^<*Zy6(x9!sZ@0J20KfZC_j}X-?dG%}cy?}_@ z|2{p^ynjtvZu;Yz%EgZIc`g6<q~8DW+i2nWgzQZRKm4?)69c8x33F;$_r$FSUG4b! zvvuvSFOAIX@AiI=dk7ki+gbnr-{0Tg>pvb9|M%~o)!cIj8D!b-+ei1D;Ey|P@%Ppo z(~R10e^-S)f4U`f@1KjR*2hhjxfodd{`u>%c>FBorW^VyXY^Ihyw7*H5A;@AF5xnx zxZ?Av_Vs(@S6A47<G;QuLFAx<Rq<DwL-T(8y27%hzUr7lli-UR>nrT9eF^?jZ(m-e zTXDKPUQkeQVtAogP^nd{0|*@0l6je-!$qkc1paq*b=}=v{{G(H-HR4EDNVHaH|^ZH zU1bT!zT9LG*!yy8&*k&#u2wtaqOYF*={t4X@fqL(bB>#=wcFl<H~l-8*%>X%X<e%N zHSuS|vZD!eq*a`c$Jfh0lNNcV{gIXF{oHJWSFi0e4bT1V;?X_ZTGbr*|7ZNw$<yl8 zkD6<o`5t}VWY5%X_kM2O^Nc&Hv!mn0YK!Q1*I$1X>OAu4QijQ|-@mz!&z(EhZLwg( z{{8<o;#KQEezJ7A{lt59F2h5^)br}Diyl94_npe1H*fClwGVH8;QRdXDSzDTyCz%i z)Mp;ww)yBo!+bZBy`_Q-*HTh)y4Vw@W*=6*zF_N(EAcn95^5Eh+-^=@6*X(I^`!4# zj<&Z>Z&t7W|M34>u5SmATc_J>{&|0X9P5JpoBy?`6m<z6xOeMY@5YDEvtPH~TmSyo z@5A<9yMDa)Jn-OT^M3u7BNtOa8DB<HbxBmvN{0&2{KUTx?e-#kbK0)F@Rgk2?Hx7$ zZkUmc!mOsWo1Z-=?%0xi`{tJKf!}H_bxk##|HM4>+>GL?RFhk)vUHEX$dEED*e#`P z?6-aoNZq64(ASS9D-~wC*99*%NV}U}?Cm2P?LV(-wQRPL(Y3AhbIR7N+@N=IO2+%V z#dVLTXuLQheE<LC%1M{cyGy-c-YdATb-&i1(EVZzM;z^5I3G}vXIO6c@6`M)N|_rn zqwXCqTKDqE$6pelqO{O5`knYPzrTO~>TdVs)R(V(GSOYWR^)*BzK^{1_4UmMKX&E* zNnRd*`bPrWg?m%BtxZ|C;rNz!MTQfse*g1e=!n~{!SVLhDYNobeAAb^F>rMAv)`(Y za_f<_|9$pD;@$4m`mX2dKYhuT^jV?i_IQQ8-ND49%l;Gkm)<o$aplGP=a1#n^1grG z`p&rI-3GUIdr*~R=C*Tpywb!!KhM|O6+U8VFit<G6Sd{Uuh@wmDib|)1g}lJscr1X zefpiazD!QHU+#P6fXX#B?=~*9E6sH{a<-O*AtU!avw*B!rc3pcKb86OwCi6#y1DcA zxkFX?2kz!xnHd7A&(0T#1-0^2Jv!2PcXv7SjSY#1h5c<3E4?iWRF^O@s4YFmcWC3j zU1n=I_?dnMiR<1ot*=;Cl5JGF<HQGr1@D8Z*$tGI`$c`MImX3MI{&P0rtZ3ZTQu!{ zJ<~T%EciF6qoZTb?9ET>;^X5V9$N{za_XEPgOIVee5cE!*RQkx|Jil^S=6*27XvHT z@pr^X@gMPzXAYT{ox|DyD#Xs*{dUumLGYpT&x^lqh+a#+HrM#BChMHvD^lKVn<QK6 z&|)I$F<0u@wH3mXuEghDc-_Oc*Zhyfms=|n56=5HSwK*5;`Kta$**36Kz8lyDf8#g z|8Q-pc6bZ3cem`v{;9gZEZ)w@Tq(;@W&GRl^Wzl_x#^d;nKEvuI#K`Sl4N?f{=B)n z-yWKM(?3e~eDT9(4)aXYrMcOMdS;j(j&7Y}RsHml`F;KR)k~I0I8^xD{4?=4<2$EF z?zHKDxBgqS?DFyJH|+!Sn49kzC_BwEYqvH4HD*)-larG@JUZS=?=E{=_4%xMtjyE3 z+wXxUGmdZB5N&vI-$JkT*I$3FS{s)A^X~QQ)91{oxy=0R-?tYN_y2u->+3v2olj~$ zb9Mec`*Y;|a{EU&jXF9yPH^`cO|H8AYDeg@_9a{gul(|6Ink$kKW5X@+1@s>tf0cs zna??^q@*M-Z(a9d7x(I4c}qH$n2WEx+_%+kw{L|@))RJZ+gMPmTkx(<`{}=+R&Lf- zW@hH*=4NJQX7J@@uS%>Kk~ZEr4+i(|$Ac$}e*gT*%Eor@+oShl$@}j3ySTVKc`9>m z2^$-mQ8~!CiS89Y{^fxZno=~l(c<!?R3Zq}z&P>R0MwumoOoT3`Ng|;-%2E(^c0lu zKj*Xl`tKhf;>AI^a$+ZANl8h?E}kN{_1C3&*t|VVC3q&Qef%BU+0l`qB+Sgg&;K2y z@vYCQ<=P-yq~enp*qRT5#!1<vW8SGNDJ|;kjRZB;JNEE>UviIehx*ixj*fR`Neuh{ z|9uZ`JMG?=Zz45$@?_gkeo#}dLYUb=s&}4V^BhB|-fjPT|NS^_Z};^|u-r<JF&TRb z{a?vCpIGU(`MmxAJC{X4Et+2Ob4%_q_P8xRm>|&UawvcCMGcwy4+q)L+x=d%e6_NY zl9E*Q9M8SR5$VA*{>NUta^=axO`vk~7<+oqdxmK<L-xk$F9|&zZU5_Hf8CG6@>Ltm zl$4YfeLOJpigla8<gA-BwM_VUcx0?fPAo13TWDMN_=>DU1<O<cpS9)7xZa0_h3Uob zyR(=T6zIK%8yB1J+h+9oqh;Ybo{ukY{<5zRF(^}=Xguv_$m{z*fBw9A^X5FgUQmKO zV{vEluOD-E)L-@~OYM+9zca4xz`=Fb8dtBf58oac=cZDp`!udTy_r+p<$QI~vn7eg z%S{(w)Oh38devvu*Y|C0Z2s3hKyfu~&Rb8@7cT4mSlH};eCT+fG~bFfZ|(~$-DUM) z&Aj7r_6vemmeo~1`55av!*Hw2?Z10dPm7%w1#3Mv=kDEni4qxy_RZ!_$6HgaL$s6f zOs4Fc_+Ol%LZ!O6>eI6Odn0#+R=iD6`P^_U@p$=G!SXM+O$`h_wA=rA_&WaoueX|@ zG?fu!d1o?Lxzj3H+13BEU3sehe^mEY`s@8K>~(=v!Phezr9S&LbVPPfn){xa!Aei& z=buj}-pPvh)zn#nZ&l^}eoww|>&Dz);nUB}NvS*j=MkUUooi{k`LBM8evxJ(rLC<k z2}-;fNd;x)`}f_y${upF&tQV3GTV#2QPGL@AI|OfudUp#WqIVwrr&3*|NnZpbmc#T z^WsuGZHdR{*8l&qa{h`s!Q^-QlE0pNwq)hMAK&z@>Mtw({-w>M`QqKH(n3;qO1>;D z?{8UH{Iz~%onZ0X&)3UqpFC>+5Hv0Q$L+tiNo`-J@Bj0(TYuk+l^}<79P8RFvFg3} z&QHnT@3c;w%ovkz&B!3JBkb$S$g5i!8E)>sGeu_6znZs`H8nNaXA4aF^IxRjLUZZo z+4g~JJ6`@heh{?C`>Sz$n@awz{hBv7?KE|{QuG0IFYw2W)8Z7=zRjNN@Z3B(x#8YE z{k#9VD-?JC4sf?I4*hY~dIc!?Bo%B^53N6Zb!NzI!J1lE2A*4Wi!aJY%=x{0{t;HL z_g}6|%eh<p>92Tj+@7X0@v_0SsuBzWMwzoNuGnO~=;Dp}KOJ~3)IR(kZTDB?M@ZSS zn&6^0hgTjePH$1vpTF8bs<G>{uD4tT$Q`nOAF(Gj+?)1UwER!qHNpDm*YDl8{=OYt z3QqBg>D588@$a^mE?WKjHOD-eX+{mj|13V<+drS-Loe^`pyiAVR`dULzPc;%!0oSm zT($qU#OPNhKYm!r<({0v!Jv3@cE~E<X>OG|1!+e@&)0wa!CYv_Z)5xWSIUCzPyckz z{>Kn^xGMGjyEiMpzMnBe!vC5VD9yXgdFNSLsdn`o$M1D3f|s307Jm2p_ecG-7DkDT zpV6z&-Koy4;ki)qrFH)FR^BZ(3z;w6y_aDiksx*4;?IxG=hm%P-tjyC|KEK1f9vhp zqW*oG&i(fCGo5*YY4^5g8H9egx!bgO`}w&tzt2y0zEHjK+2+oVu~CQ2{SJPdV}8bX zjsD&*mvYyDI>Z@!elQ5!WG?@<<d*b<?Uh=lPLs_4mbg}e!I$rRYdRPoXnz#$R1sn@ z+^Bu(^y$U>zi03?Ot`SZ@#2N7tr<T)=C5DXIN?V7B46c|A*;T}N!*Ox@#d<&fRM0o z)4lAi>Tl{cSx>r{QDWDgWg;bC`{m;8&-T3F!cuzu?%#|HB4!5v=~2pW_1b#q(lWcf zKj%JXn6iBN^RvBz_kylp|9#}>$#=0y1~s7evBF1V37!phdSTBbL@SHWzW)2_vgN5- zh6m~(C(5o`uw$WR>M4^iX7las44(zAO$(B}dpF-i>hIsb`#<*PSL_M`m5dt|vvP9& z+&o{G_S-Ek?%u8M@5@s=_MSI?_T))VX`=bs*DK%e+pfZ<yS%vU&F2!`WEYN=W!HbX zKHIyhva)jfeglvhg+_JvEuM15{<jF5`uDC4L%f-IwWn`#!jUNZoOd6e{|y4g@Ii|` zyZ;9~{mK9T>eBW+xm7myWnb^i62BLGb}##Z>C2}cowqJEruRngue<N-u0tyW)xhNB z$LHo+gDV#UiJID4-Q$ZM@;leQ*?2r`UChhQUEs3+^jUk(sd>hU_d+~YT>I{AxDeEl zJ@PomU#pUH@x_c<_x*9}zkmEF*mu9~cdmc9JIFcTEGAc_3q;mFp0a-Z`Va5Be!nk& z`4KeI;8HFFs)F3kERo`2duV_2Sg*8gtQ07Qb`(^U+gD1zw*KX+bn((sZ`)W<1#+?C zq0cMX1E1!EWS^d{|J}n7)Z*OUC~;t2>~5P_Hp|7=Uw^II8@5_jM&`{+FnIm?b4egb z)#DCxzq_6_H8o7&T?)3b93X3cBzf%p{NwlU>Rl|L!2Ni1Le=w+A0O76g8GaPB+5Zv zMpXHU9;!-8N=op-ly*f>t=zGP&l%Lw6|9uq7`@l@>Cw-ps#+ee*?M!f@bN_~rAL45 zIoEsYsb{jG1jq}%40$afzLg(su5JlF#cIT`;`XW&@$;u`OfNjLcA7%`2KUO<$pRp! zxjgz+RDXAOsv>)wsE}5}kF%D>fn}S#VmH=Rw;sE4V_SXo$2!v%4(Zh=`a@+_3Ec|} zUvs}M<Mp>c5l7dD_q~XZ-gxg)?vu{k-`k((uQlsmAi&1HivK7duM;RVgnLgbZvB<i zsFO3RwA)58_FB*?KM(iMhKkm!vb_y+C(4Aj9)Eq=NNUQ><(GDai(Z@gD?4h!w7Uyx zK1D14iuOHvYmUT54cDmknam4TX4>`5i!x=%FuBVeER>=E3dhcqbETI*`Sft7fs!Ae zLQ)`?SGJF(kS3?mm8sV}E~mRPOwgS-Ikfnqjkna)c^TXHx6Tz#-Mq{(bT#8Fedn2C zp#{tMGOU+1T>#bf9cn7y^X5pcTN}sAVYz8T*k+4|Gq_&9R%$R?;68EsdV|u*YAX_J zgQxh`XPc>?dRjQE`|JwswVa;*+|dzb8@X0oZCP?Ue_;VA;y&f+wO=_R8Ck6#rdX$u zw<_D)G*DWYQDw>F$;nqWj&6Co?2SZe!jZebvQ{Vm{P6Eu{>^zEKfXjB_db32Rr*<v zN$yKd+pW~!A7PMvEG_)C8px;C{jX2|{rG><wY{f)@h#uO?J;{k3y1cPuD#-CvcG?P zxjCwA+IGgicLh=x>t6_!`TKbFX=&_kcqzC{_;l2!NssUTUjmAblH&!*JL9)i_%^=@ zSfdnQF>|X~b^lMxm75|ji%m0){?@6sHd<o2MyD>bLg+J{?RyVry3}+3RzG!EY|-s4 z;h|zoElc`OevSk+CQd|mN=Zv6CnX{0hpR73qSl73ziw`BuCA_Ly-N?|^pA(uyAnvx zZQ#z<Co5cSV1gN<+&SxRnCr*7t#`NI`j&tGe$-np<$zj^u!;G<G}jcDIhG!+I=WEn zb#wHkZS}iD|0Wx&f$~VNp}BL`SJyLKnrkz6FU<~<@4DN~eCiEbYFV?9^GdsY`~F;G zE1A1%o5*Fcllhmgf->ogXB~H6-r2T)jdkK(8IfyQV)_$iO1<8u)hEs{!8Mil>z3OY zl1o&xbIT^ZOg-|d)Yw~>d6o9H=dl)i3@4&y@3p)bsQT=qV5!4S8&8Xk8;tpMS!b>I zKj&)D^f`Mi12c|%3)fxB^y=K>Pm)H~%-i1H|Hm2RB$BGjAhs;^&BVDqceCx{WEk7G zM%G_?*HW4tcKYp9cEwrS6I_%*-nsesoX@IEDI>esx`(l!x#~h6e*Cqihb^_tS&GZ# zoK!p8MVF<~%l&^g*)Efb+-|zw(pG)9<IKAgj5pV<Kipbz`UfZvMwW4BfU{uCKcAwI zy~}tRuFUoD+|aiqG#!+XWP5Hc-eKds!{n4#()ox!|1isSXMY~wuC+dIb>*juh_j$n zmeMb+7#e(8CuQG~Co7tam%Ry%65bj(Bg1FTdXuM)yL-b@5--1rSFGC{G^3N{$tR2U zR<!IoC-v-2^Fp^dtHPK==Drl$HFN9L)k`_~uK!wkYD)#f1ob7Sb&h|sD7n5`_Uf}2 zk8kVxOR#S`nk{wBlIs-6ewH1Z@7yo*xmp|(EEJtq72EnlW$UiG70xbmWVSNAF^jrf zV#a(}{QJ^VGQlisw9dqbDu3zrDv$8#SJID9w3?>2!m#G6jS^#e|H{`{S1<oNYBdR5 zSpC+`@sN$29Tl5zUvPVhdjI`7i{tXMWPWV`*_kr^v|?y%bl1$~Q<nXm8`}DF=~WM} zDaRLHzO&eOhGxs1xW%nDim_oqQN2rC9QGyj7cmBG4=ogH*f3Q%d$aU4&YxR_`EKUC zmMNRs;i_4&{Y_HssXvLAckr1n*>xx`x2ST?vqhQ(*82R@__;&myL8t?r0flz21<}^ z#icvrgD=ZWH=DBhjP^fpQNZ>6S@`^r8D^=sa<_Cu%oPjWaQ&5Kz*TYX7Ur$H<gVQg z-R;g6bEB_bqpbSq32lZ=k(Xa(yRG?ZeSd<L)bFjmzdoLQYPn)E$n-Zwg=$;h&d^f% z8@jp;RHB`K7k+$w-1Le2_Nr{-nc$i_(>Q0+Ubof7)6JiRtdWlr=(k!BGns{fd)so+ z^TAJ;4|UpZ%{p*zQ^loSt%Y2Pj~hc~ZoYGF$`VjjAZh+4=DBo`yYlw<+X1SZ)3j3W z@}2gMse9n_&*muW=jTsNK(*aO<3-1g9RoEgryE|oBKrFDlj^+Ze?4DyeXX1;ef;^& zAkcKg_3W)tbN!ZI&H7qZTU=aRRP@OrrVG^d*WU4U&K2wCWqT^(B&S$%ANwDa`+NKJ z8R0*do|<D?^Gg#{0nV7Qz<8xFcRHxY@FMT=v+IjMZDzq<dx}dXm;rk2A*DyFT<dZY z=Pq5i%D_IXa79+ksv_U73nN_jy*$3k!1{{l>((G$_Qgee)j>JA*L0)x+@;(LuPMZ_ zF_bRNdU@#M%9E;B+mpUOYA~|qWVrP$Uq3Ql4pf=X=+%$k;BJ}L4AM6-`VQAh#lj4` zWyi8C7lb*>G4=kG1+@&gk25kvW^XoEXL{B3wbf&Ke880m(_3#j8A_u?k8?AeShVTF z+zokWvv!6mFXGdfuFku9Np5|l_qAI&#mV4ej62)3Tl|Df+@Wb_e}IgbTbQAF!A152 z=k1x-cU~-st)3bp-*xvk)9<GscU;sh%=gc#D)Lw>#b9DOm-A%evuC^3R-S!nd6W0l zo3=SKzgC}J{bUyR(#ytDQ*QERFXlR>Wztt2CMvhy|8zz`n)#B22V`n=dqD+KZ^YT~ z>(jCpU0Qp2dCkFj;o>Leh$J8W_hXjWl2mgZ{<+_(uH}M??Hs7pYYRUg)2xj6JJV{x z+ZkMiMc&ze(v}*0=REPW(0T7-Gp^U~KW%88buO*l_O(~`8C&7!+NsmrGJmb%VAyoD zcvF^M-<esPHe`PDE(tlq(RWOKUhUkkZ`Oq~H{^Vr)mHkEZ@n`pyT2>W-YGvpeaYf5 z<}0Vt*R<XGHFwpaKcS|F5<_-fHgx+IvikK~^>cErar+LH==cUGd**#zwrsPc#J(N+ zq0eSKTA6+HM$h{y|H?nlWWH7fKfX{3s!}t2c1Q*Z3bsE>emeK-<>$#7ORnXH${fG- zrmfT|<xNS=uD$ah1wkR-<BIjm;pNFgzU8bAcf*cGns;xMjDK6?AF&QrNZiT+&1<<N zA9(wGiJEG=#;IMcPxFPh?y9??wKG%p4&QIv$CuN$zR}5NZg@4B>+-yi*T<YU-qtob z%+>`iH?~*of9iBqocoUUv7bK{f0cPE0&3svQhj%B3Dc(ytqybUWZetgmrxz`(Z<yd zl#Eh9`TgCe?alK%UyB{n^h!G25NSMhQ{KY&0m@5G&3UT)TvHfYR<uIPigjYfr+%EP zR@1XDP^+K!sOjgWIc}i#f|NHr=O->(7h(V9fx6K}P`f*B_0?A;R%^pnUw=J&_H5A5 zRIE5CBUcpGtChal`u2WYQry$&TE*84K%EA`yHEEhE^%8^XIi~=c{ixpsPz8fx87h- zG`c+QMQ>We@+_%Mkv>rQzcFs2d~`&5<_fJdpvJP)^i?q-+d~8Q#OKy6T^EtRZuu&M z`s}U8Pk{n)QS_5*KC4O;uSi`kj9nSEt3ZaU$Qjxg`J5vPa-PYvBkxN1I-NfonueWb z+$!}+V1}^v717t9^<>x?Qr4cmH-}?|_BC;(*gD6+<f|Fm)fukjhRWzOD0H84DnGQ# zboJA)-VUn;G4o6|&Di!g^)Bb@XA3rjZLVlMv+ag)d(!u9Jge2$7cVwAccJk1zqj)h zR9ynEF(o8M9h1B1`EX5Zrew94JA=d4Od0l6a980*F~MA2&0r$#wLINKW3%)%H_<7f z88YA3XxYTgpLTJ<nLH2YM#~>jQvORz*KfL&mau4@?$Ir-pMI45Y%PDg_Ko<8!+yOh zj_;E@`c%@%RzthfHrdiHQdMM+IQx{Fe5XM%x2W*Jv)<rO8-5v=I@~rCee`77wI64_ z65k0=IQ_V-$~{*^P5Egex9QxoeAU;cUYk*^b}sysPVc2Jk%9~<-Op35#>fbon3|sT z@SMQtc`}eS{Y}d8HCtGX7(TH|r*EBNb$h;6=(3~C4K|9gX_nKDFWh}^%k8Tr3ekI( zCC2W#yq^zLwDt0CpZ1%v(#a~z)M0JSv8)wq@2>>6A!OW^TFWM<_;1}6CuVlm?>Hj! zXKILTmks_ZbA8H@X)}+z{Q1yYk=Z1ZtjKr8zlniCJiyb%F{G}zuWIi~o|Q(&=WGC% z1vWczl?BV*&g=8vemz*P|8h(YTh6zsR`-}!t<ybvCfMt8*p*d>{#?p>&B483c^K~r z#w}M@zwLcs^|Q(L6e~kOt;V(uNf%dt`?eoc!(E(F^xJZ!=Sjt`O?iom_gvPla}TLn z^t5#Q;h2p5={3LBOq=^Omm#1wDDl?hth*H&W!0_6vLt+ci(_sDL~PmpC_gI@TrLZ@ zuYHi6HLHL3kIY;>Ur@T;-niR%WrIzQqJaALSsqjMZ_Ep`@t?@guxW+P%v7<<-(r5- zPQIqw6FlX}G)8c}?{t5mo5xhk(`%pU-|k!KbSZwTlv$zMwR@X?@3+c1?I5OiOskJO z`->-oz<>SB^yg2XYB#iI8gG7(vg>-)lc((Go}3SkVPJ5P4JeWV^^{+f37DFh9XoQQ zVi%9`Yj)R(Gvh$B22pFnmS4`?8nrj>{+&B>=FEBX5;D}#{o8nD^7`EW--JGE?N5CK zZuq>5yC)E&9JYVf-dmSlL5Y9j_k!QYG{G77<1x@mKNpucjD9((g~#!y>s>>`*PP#7 zP;>22Tj@t9=g`D|t7ffWKK0b|ap-JiP-8{I<nZkjWB<Lo9LjcUD}p*yg%687SQ%bA ztuXDF&gcLxJ8H6|e2=^e-yH6I;_O^$+X<7vX{ctWXpr-x3pGBySBo6hw%M>ud+C!n zPn2Q8R<r72r3LFE;yX%yvby$$F1|aD0n{Gd!_c6k#eJ9a^|dwAqD>Dy{TX$geZ8H? z?(M93ynf)A?XIp4x;)uA>ng*7l`nlf_>9f3=bp{>JAX1SAkF;AnKk#TS9oPyi_w@n z50v2}q(cM378c&wyy`<mZIoNH(QZXv)@Kj0Gi|0`+q-JRxz<-P@_X`L$H@ew?KZXm zWv{z-dG{<-`B&Qqvu}|NR`kou?7hE6<e44gPMf?H<yVd!6+9G)FN3d<+G}y0o&7@W zdNziek4&e<ZUZ^{iRzuGckE9%U#_^yu=SJV>V@0tKt*wAZ-K<rcO^X&ZLhwnio9WB zEn6*8`IGDNMia+gm7R0_%uOr674+o?L8*O~w?LU@VtIk_5+x<Rv&T<azg~X+c!0;+ z+p8@4w%+7@?PG3iX?Hiyf2WOK@kYrFJI(Lky}Rfgk6!!+_niz3tN4$Kh3Pz+%m`{$ z@9DgK-qY8MFK|jJH}^-itWw)WmxOiK`)a=|yYXIfzTN87^h#-lkohL|(WiEO40!X6 ztM_e&x$TZ_X0RLDcUVv6I&oNxsjz5uXUNZ{x0y#ji~Ix?`;)$2S;e@U`vqSWyeFS_ zHssW<)_u;s6SRt__1j&3`RhUFY5qAU=P%#Ez|di};0dIeT`maEGMfu)zr2+F9TU12 zlx?;~t@T@eIcsax-hDfFT3TA(ybPIR5&xbZbbQ`da}Up{mf6QlT>4%=00p&)-kuz_ zsc#<ofEw?2bMNdc1U1AvGWHlk=d%d*<uNmn?U@Vr-@g<Bha8{ts^eeGO=D|bE;aW2 zvnULdAtv78TDg|pd`ZL`i|0EY@04A}H?7&QFt6P^TwH7Gmkl!gxrW;pJU(B)?&JxJ z(*J+2->VI`$((c{W6PtPpFoD%oclWAR#m~_O}Zy+*95H$S=HntlA3FA!>VuU&7E~& zfm!bor@ku4)9TtZXUW-O>uI?wx7g0x>$x;2cb4tHrB>gL&a+LQH0j^Aio)0L>(saW zU}2HqVcRPTI)73^BDAxk<3--HA`jc}9ZQW&&C6X?7=rKJ*4?vVUVQ1a==NWcRda7o zoHS`u;^DR_Q>IK2-@Y%S^7$RUbZ6IfH*%+%x%1twDsT=HY*@5r3a_iH^KtfQU1P9! zm*m{on0)v{)){3^)|pNlzAoSWGBP68{rJ=E_t*7w{i+TNJ0Jf)>+iIS88R|5G6vEz zGFM)f@PO7vl}s--T{6!)h~>x;ms@)-Ruyzt)@@Y~o*K>dmfdo7<&CB@r*u!R`4pFW zhFfc@*Voh2F9ioiUVro=X`-Q_!_#T0hYziuo2VTAM(+g6gvbTA=FYS%*^}h*cB=2k zovRM-T={HPG=JXBpqaC(BbHVvE-T8YDSqthC&w-Auf2GYRQ-qMgZle6ynUcO`R<Ow z#oM=UU%q_#_U+sE?~gyRGUhvIQgZiA-#ZqjTZ~JNTP8*ofA5+mtEs6O>B=x`)|;a{ zuANez>Jd9jiZkKcC7%T^I#idY>4`pbQ4XHIY|)DomRrnBdAIV--21X1Pb*+&>dgx# z%O@wgPu^u>8sxE0xqa4Nli~<}#iLRFa=Q;zJzhCE`Um^1TUXrsR`knc{(l|6d-v|@ z>S}g2wi2tkaqH7TBe9EiPrLCqI4wVDrP<uuiYY;fdYgr2vTBK*$>j^li=4LU=$}O^ zSBfepWu&~i6p~|El&7gR@n_TAy^AMmm#q%l0@~~09T?^n{O;l1mFsw3?_2TX%0g|i zD@#*EQ<rkc>uf&I>bv%@udk`3r1G?{vM+V@-|Omc|2-|`)RYA?jT1}#r$*?BA3rA5 zd+gx4b<0+0ytdnx4lXKp#_+D(JUwmEiWet#`fhGdH%VkN`u<_r%>$MPws_r7D(|^+ z=df~`lKU6opjXxJmnxNJPFd`w6#gdc=o^odTC1`hS9u@awRY(`p$@~nGxmBey~PqN zwf(dB22law$pIl(el*KRyzAR#*&JV!Sl-_7VAAQwK9T$X9c*ffUfI&o(ec8pxN>Lx zw_SHaME0t`IhkYoW8T*(E3f(mv7i1saiw=~VC9laCFzqF-(J*GyL{@@Wui6Nhj@Js z8P#V83r~=efBI^}x(!lZKNJ|wl$Xiom|lOjYQaq7^r=(+T)w#YVEoUn&-2)J##m=x zd*IA3`Q+2=)ioh@3l|>x$9VcO^NxuP9UUEe=Da@rccONg{IRxFXYbcDS!bs)Z!RwG z*SS4uY7k3GTH2x&E6%;MS(bVCPDxo><Eeko{1Ojc^K&!hPlzk`KWn>3NvPp&Vr$^0 zpe`fsklAg0bN$ua)}1(OyD8`NrYX8JXU=RWn0a${2<wKP{8@%&kvA5(@~;lj{r}m1 zx+vG&sNC)T-xv39TN}aXpd-f4#^$y3(uNHND?_9tBwj2IlU^4q-09-9=F01@&C~Vy z<M!p4NL5!=z1#U*ZlcGMy+y9oPrJT0+|mwb(~sYlXUM{OcSoVKiqOv=KRR5L;^X7x z<>enns0i)+SP3ej^29+aBYLchTOPl;(>G;}()6;rzG6XNv)LSX)X&85@$h^pEvfmq zd4B1>&wU$rSG&yD-}iOxH&*VNnwpjgQZh0!LPA0^GH>3$fB*dX^VhGnTSA%-Dx7KK z;$QLW(`kKSVPVFIre&p%wrq*G)!L#JbM*Xq{~x+r?%Z-$QBqQp5;re=e5JzhZd2;4 zg<o$xW#sX_a*rv|Gxo&vs`&c{p3jqx*|z5Ub9-@Fi-fzr&mSx69Q^&`#|uy&&Dy{~ zL8!CDYHoy%*fZ<g`QPqezkdDd)u%~LtO=egggTET7;xw+O+1ldQe*^by6u@D-g@PP z=<ZN$wR2C`CNG-6QS0RV@$UO?c3-FbxLf|$e|}lXq5|dp2BohaKTiG|G{e(Ws@G}S z)_oT`UiVpuh5h{d=TC{1EJOTe!#{gK^-=PPZl_mAl#c`}%6h3xYG`1X>$kkW@7>>r z{MF~@aQ>VB|Ks}g=03BYBtLuoT3f8Ub!)}xDEl+F*;*J|4`}t+Jo=~paOu*EzhWP{ z$ji&uJqOonf)YW;C#o*-Qkk@1fda#{Gq<ek>)s#c{~i|7q3-+X`*-#P&P@jo9&BuE z6zX)*5sL<|x;5tJ;Nalm+H`L5HO{NQmM-m2{T4Fg+SeoZn?VCrp*$-edqlhz?>@RA zs$jZ@%D;dA7#SJ&?%iwt@8^78^Sq8NQHw8X+_4Z90fCgAg<dllMf0W!?b8draQU*Z zkdRW$(Wxz52a2vw`KlY~vl_J2WUfTe@##-J{SWCZD|kIgAc&cX=@%HVv9W!r+Pi-J zdV^jm85y0aUd&8PEz-+d+Wk4dhrBG=b?~5L^T7*OuZl`ZaaB*eVz!Wr{m_<m1=;%} zbhf=wRRFDdb>dn1_}s6HOPu_+&hzKx;CS)=z4*2{pw)SbrUnK9Gv04$3E3N`e`ZP7 z(WJd``a0hazqAXvJt0eWx@9kDa`;}4;#V`lOA9~Twp#w{_iuh49**yCe*gT*xiM5} zqKAsm>6GOH8m-4&Irq0pM)LSC-KH-adZ-1YGp<kZ>o%b@H}^YV?JX=;Tz}oV`+cjJ zy762k?G2UxL_h-pM-EJ=+8tTXI%UHry@?(z?q9frmmCVwz6=^$yL(n5$o6oRQ;3dO z^t@QDoY<#DHlStNPbGqEJ#Q@1()ki?-t_thXt{LxXUV<YqP~@dYn0-D+>FZ23k_cr zF0*Qr-451o`ia+P#9eQ0Sz6ESw;0qY+i5s?m8Sl@<+IAXb~><u#?^klzHIbOr%&Q= zR^BI}Pps8bk|RKijRY%ayjI-$?(U`u%*%doD1bVCwf9c0I%@0%>elyZ^U0pzWDba$ zv40gC!=`I#`F<vIcZU}4VPF6c%rORpuhD<g<Lupd?9QV%LZ>H#n(c;)Yoi0NF?&q4 z%nm#KdRtU%d3xM)x62k~>sw2HvL5YNwTl1fyWGZ7e<e`V@#*P*50BTG(CWK6Z=(8= z(@|clADcfv6Js&ubJQ#3t~&z*`s|$F^(_jzyAN8)TJ351u*h}ctTL~ecQ=^1Oe|l) zrMxaXX=m8ss5Q6pv>0Y_FI8T>>h>;B*Ijuv$XX@+2j}L6?2IvcQ|dD3&bHtyZi%IF za@ztf-{fH^U21v>(MLDQm+STNFL^H%naQ2PAoN^2_3qcK-KwAtJ-5f4iAyu>mX(Ew zGF(;wkNF?9{&fMA&r5#aJ$3hQF5jd@YvDcb!%w%CzV`MI_GvU#^1BzjiY-TZQ&g<| z7bPXfw9APd8>Ty~@Va6DAPd}SHMtkVx3bfC)3>-aPJaUSg@F3DW@=1}-9u;l&M)&X zEb2_W_3G-h16Ffl<l6nbw@2{`%@I*WZroRuHg5Lu203Q?MA&Ry)(cPn(&*263c35Z zix+`M=cjFFbojb3;<R1hcKwTsHCBU%-h84{>K|SH6(!D{(zmNOiW5}9S5A^X{TJlP zl=dXipNCGb*?P0O#nP|RY1f*RsXyP<MZ<>J7(jjJxjqqAdsrAeHW!$M71m@3RA1k^ zD{RWuW~Lk!=*SwAK@>Oz?0W0c+uLhsXgE(VIixgNG+p@JwYiJ2j-zi{{u&f{Qu^;| zAA_=%;Kkem?eg#U{XWi~TH^&0xp=q97}TW1vT_ZxrT_I@vVnw6EE6b`f~Um4eE*I# zC9ZBL!BbmX3vQyCJnUpNF*U6Ot#11f6*6}wXuAL5em&5#8YN-o8CIpMmY-HgZ<(;_ zYF4S$+_2SGUw_Todh4<)DCByT4IAFQ%k!V^crL<e)zj^;)o(GTpvhD`6YH3Lk4{kO z{JO*a?ZV41ckSBs>-TSVcJ@}WP8T5o0Rbr~EwTPOE0C2Fce{DceEasTt*!0%JH_X( ztPE~$YHB&QZ{NOi=gwtcU+1~>(uWTpKI%^bRp;;Y&N;o>nti>gxmmvIg<|5dD+vZ1 zZyCWrP*5;@ecax%w^I8<K{aB>v1x~GSH6Aw*3r@N@-koHPM4}`7p03^GA}nZHQl;> zJ3sv>D9M>TygA?V>dO*aTicHxKe{cx`15D*GM|;JR~K)y|2pYaM(y;M5la416D)3C zjJUp9d)2S^(UXL7EeoCsgGM(lwj|p}mX(&awzqQ^uTZ|1m7BY_=I5t5mc=d8l_qM~ z*u=cZw?6mvRhL$&!<|X0PIvY!v5E=}e5<n@RQ3s4a;^OP_wU1p50#e%R##U`OG#N- zSsh8*_%%9c<(FGqv%j_N3|Zf1lbPXUVx_ur_o7w*gn||&njV#sdY*FWOI4}s)ToLz z4Lk3vUJdkZ*b~22PR7jK+9WmGcERM;G3(c@IJksi>n`p?4vJr$;;Wly`OBA0+Ih9= z)%42;KwjT|=HI+42M;>h+uNW1cKP4Gf4g?=+MIsAtfYiPc8&S+Uq63F&hs-pqv|_7 z<<j26X};>}dIm?gd$0OcS9xiYs`s=b3->Mhwd?OEy_Ku1)KqmNH>I4Mq*7VG_tm78 zd%bl{j<c><-Ez!(Rn?K3C0k-rZ`=%%54o!^e6DfVs};wJV(L$xeA)b}k741b3+uG| zv_RWn7R`SC;h1Lg&9ASo`_H%g`*eDI)V)hDOWGdF@W~52N=W@bX_@vHyTolqQDRm% z3a{2(>-LLGns<4Qj8MYYwwF&{SnOP~|8~i`mkAmi(MO-0?EKzZmYEZ@%0*6`mtpez zxhflF+F53_6_xDT`RM|~$%OjrCk#Q!^hKCu4a?M2^Hm{QwLc!VuaDci>S9KVSbTi^ z?Y*nYTG%|+mBh2Zd2;3T-M@!_SxO&!b#8UQ%$2@E0$MUYe4G+jN*E`%u4QrWXFB}; zyi~|+DMk;bH{p+4&b|Z%vdO<U?IE2mm+s$x|NedcD-|(!clXmzKWT@rD=95y+;DHQ zm4Si6#2ei+Cp$B-t&iE;chY(1g-waZDh$(R+`4Mt!C?K|nPWvq^d^;~C98bfU*G-v z?0}VJ;X$F#o~Bo?`x;(-*>?Tn%{k}hfa-XYe{b}^v$L>#`Sz`^!eEt)QfGJf?*IRO z|NZ-S?d|I7YG$T4ZD(FsSe~hNV|*}al^1Vfplwvz&GVV*uUFmt`mV0!RGZVH)YSS5 zTe80d?UkDRZZ1zuknGmY8?XM-DzmnD{^_N&HA}(YtoFTscY-|kgzdNS%7qIThOdv~ z<>UMI^{ed1um}*Ck*XHD{`&VXU+z@D-&=Nk=A0b~CsnUrT<re3^?KOr4;M8HXDvPy zRF!c@h@F4wtT`6mae=CH^f-A%%NqRH6gZDgUF`mvvC~E~_0xxkYuLABnSC#5KfT=j z_{sGlp|ZAI9#1|6+&K3Gl!qotg9>FuMa6CTTeffK=i~F6WpeW8&+F^szkmO}{r7|` zg~gtwU%U?7{jw!A@mSRAt5J2|zkXFktg?9Y;oZLv9}1ceUbuL1;pLY--(HmL`u44C z@x_X2VNk18(6@%~{X2Gp(pOi$efxIp+O-1*96DVdJ%6sgC41|wg9i^vo9DH(wN)uC zbX%_TaPlWmic&L5R}^)qsHn)u$OsR=-YX5dfTYz8Quql9DvI?NfeXKjz7n>nT}PAj zUVt~ty?s*P54LjRa@Z<n%(?(vwjq`@;VOAaHsHVftU$w=MLV_!GcYhPc)I$ztaD0e F0sz)kIQako literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-5.png b/wp-content/plugins/nextgen-gallery/screenshot-5.png new file mode 100644 index 0000000000000000000000000000000000000000..6f72d378ee9e9393f5b2ee69e89e200597dcf773 GIT binary patch literal 192744 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 HP6<r_RJ1y? literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-6.png b/wp-content/plugins/nextgen-gallery/screenshot-6.png new file mode 100644 index 0000000000000000000000000000000000000000..b309b7971fe41fddc76e089bc21404f0fb0367d2 GIT binary patch literal 100579 zcmeAS@N?(olHy`uVBq!ia0y~yU=m|sV5;L_VqjoMXu7wVfq{Xuz$3DlfkCJQgc<Lp z$yYEiFtC?+`ns~;Wsww?l6$xOpeR_#HKN3^v?L?Hh+*ZrGad{K3_K;S5hX6E#mPmP z1tppJc?`mwipmTO3|t^_=lp`oqRjM+5{5PWXRH_)82G@VMX8A(r3xjPxv31M-}yNi z7#KJ~GQs(2CFO}lsSL3N|3S*RL4q!s#mPB|nYpP&4BHQE>1SYI-~b7SCl=*p=A|<n zkbc$<b6RkIX;E@2!`J`KuVKoZ^K)}k^GX=Lotd_ufq{Vyq%|b7Bqx<&#k))D3=9ek zo-U3d6?5L)t(*~Zbtc1~?{~I-+gr6%d>3P;gG=Dcuo$K$PCY|KVTEQt6RG`y#!b;N z?S^iOC(kUn_~dt*&_M~I**$7%jxhp@j+{u^t$2aM<crh#t?SF}pZ{K5^?p(2D#uyh z{>-bYS>-pk`dl^t+uGN6qD%ReS{PgdMO^3FJo90905R5Pa4pp6T2$l`%;6d+GF5q& zlSbE~6*3n^oB~B$pLQ%0=vt(q<!;g%AmSQm`RH5;gUD6)%UhJ)`$|enHM@$IB{MPz zxNcmrV#TISo3^K{ajn?JE87?mRhf3$J^yWXPWQ5N2?^<~O4Gkai~B`xEciB)?}>?% z@}JB^6RB<&<rgLG&b6EZ4C}AI-f+8pU+IGbjVVTvp`oc}v-kfv&^AeB<-UFQ(l-0f zwK5Ghx~61vx2^BM<NCV)Piu2kMW-&(n0NEWF+115s6LaL?5c~a*2fnuOSX)4GvV%Z zS=6O8-Dk#u!jfxFz0=mcKA3Rf0`K<QrZ3ih`}WPU_*u`~#hZ^N%{0rs)h=ImqnbfB zTX0^Uv-^XoyPW@>3|;$hO5fykvuzvulPA<Wy_{Cd8~;s2sM}Tj!XL-EN;1cP*6f>> ze7tR$z+nTIz#|g#Cmz@&<ht>{<!VEThcC@CSSEF`6-FNaa?C@0St7@=r%!g+JvP6z z#^E#j)z?$Q<0Q{M>lW94X7R2<-BnQP^>XjybuG(h=hbu?z0i1h%;Nl36T^U=J6^3? zU3B}y+wJ$|_8q#h|NZkD{U1t{Z&+Mb3`l16RSeO4k@&^C_uuPa+YGLS$EIzZKj&Co z%W~<ttpR&q_;as}nGiE~(ZBEO*2aB|dhujC_ug%bs@~oU7CG|qZEW=2>?3!3)wbQs z-9JNC<%vtb<m~sme>r@AeCewCx_YDj^>I}Twtw8Mw@Wj);-Kqp|4R4euMF4qDz%ne z(Q{>9bJMcs>6zcMTfL`WD|>P;H$J#FHz@sv?e{yyK~E1$1S<V{le=Y2&FOOwJkt$Y z1QbkmZ7DzW;9A)Iu4~s*_iSAC^V)9nUX2TLlBD;%&5*L(cTl;ZH&Onw`TckwyITQ2 zU$mWaH@7Ja`EiV2Z`Vhb**#whA5Z$po;D#|?rq+msY{+e^m%-QL1Fol?%;nGH~+Jq z(_3saacdQO<p!(ITNamPKD>16+pVRni~F-uxTam}`^;ir#%sIgPVsr$|6k+(U)}%Y zUiJI4QN>rB*4y4UNxho;;m5iQi(KOv8ut2M-(∓xYOE72*fxxSQM7_I|Huz5C5B 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 Kb6Mw<&;$UJhG~cZ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-7.png b/wp-content/plugins/nextgen-gallery/screenshot-7.png new file mode 100644 index 0000000000000000000000000000000000000000..b9745474686e11b45e28853e882c03f793f132b2 GIT binary patch literal 73737 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%0A`? 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 O7(8A5T-G@yGywq6?r?Yj literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-8.png b/wp-content/plugins/nextgen-gallery/screenshot-8.png new file mode 100644 index 0000000000000000000000000000000000000000..e32f6457dccc68ca51803adba9d3c946e38177fa GIT binary patch literal 75244 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/nextgen-gallery/screenshot-9.png b/wp-content/plugins/nextgen-gallery/screenshot-9.png new file mode 100644 index 0000000000000000000000000000000000000000..debf5f411a8223fd52b8b198ad41e1826b0676b6 GIT binary patch literal 70604 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 literal 0 HcmV?d00001 -- GitLab